@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
@@ -67,8 +67,8 @@ class XListProperty extends XControlValueAccessor {
67
67
  this.keyManagerChange = new EventEmitter();
68
68
  }
69
69
  }
70
- /** @nocollapse */ /** @nocollapse */ XListProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XListProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
71
- /** @nocollapse */ /** @nocollapse */ XListProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XListProperty, selector: "ng-component", inputs: { data: "data", multiple: "multiple", checked: "checked", drag: "drag", objectArray: "objectArray", nodeTpl: "nodeTpl", scrollElement: "scrollElement" }, outputs: { nodeMouseenter: "nodeMouseenter", nodeMouseleave: "nodeMouseleave", nodeClick: "nodeClick", keyManagerTabOut: "keyManagerTabOut", keyManagerChange: "keyManagerChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
70
+ /** @nocollapse */ /** @nocollapse */ XListProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XListProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
71
+ /** @nocollapse */ /** @nocollapse */ XListProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XListProperty, selector: "ng-component", inputs: { data: "data", multiple: "multiple", checked: "checked", drag: "drag", objectArray: "objectArray", nodeTpl: "nodeTpl", scrollElement: "scrollElement" }, outputs: { nodeMouseenter: "nodeMouseenter", nodeMouseleave: "nodeMouseleave", nodeClick: "nodeClick", keyManagerTabOut: "keyManagerTabOut", keyManagerChange: "keyManagerChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
72
72
  __decorate([
73
73
  XDataConvert()
74
74
  ], XListProperty.prototype, "data", void 0);
@@ -84,7 +84,7 @@ __decorate([
84
84
  __decorate([
85
85
  XInputBoolean()
86
86
  ], XListProperty.prototype, "objectArray", void 0);
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XListProperty, decorators: [{
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XListProperty, decorators: [{
88
88
  type: Component,
89
89
  args: [{ template: '' }]
90
90
  }], propDecorators: { data: [{
@@ -130,8 +130,8 @@ class XListOptionProperty {
130
130
  this.activeChange = new EventEmitter();
131
131
  }
132
132
  }
133
- /** @nocollapse */ /** @nocollapse */ XListOptionProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XListOptionProperty, deps: [], target: i0.ɵɵFactoryTarget.Component });
134
- /** @nocollapse */ /** @nocollapse */ XListOptionProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XListOptionProperty, selector: "ng-component", inputs: { node: "node", checked: "checked", nodeTpl: "nodeTpl", selected: "selected", disabled: "disabled", active: "active", icon: "icon", divided: "divided", label: "label", leaf: "leaf" }, outputs: { activeChange: "activeChange" }, ngImport: i0, template: '', isInline: true });
133
+ /** @nocollapse */ /** @nocollapse */ XListOptionProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XListOptionProperty, deps: [], target: i0.ɵɵFactoryTarget.Component });
134
+ /** @nocollapse */ /** @nocollapse */ XListOptionProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XListOptionProperty, selector: "ng-component", inputs: { node: "node", checked: "checked", nodeTpl: "nodeTpl", selected: "selected", disabled: "disabled", active: "active", icon: "icon", divided: "divided", label: "label", leaf: "leaf" }, outputs: { activeChange: "activeChange" }, ngImport: i0, template: '', isInline: true });
135
135
  __decorate([
136
136
  XInputBoolean()
137
137
  ], XListOptionProperty.prototype, "checked", void 0);
@@ -147,7 +147,7 @@ __decorate([
147
147
  __decorate([
148
148
  XInputBoolean()
149
149
  ], XListOptionProperty.prototype, "leaf", void 0);
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XListOptionProperty, decorators: [{
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XListOptionProperty, decorators: [{
151
151
  type: Component,
152
152
  args: [{ template: '' }]
153
153
  }], propDecorators: { node: [{
@@ -195,9 +195,9 @@ class XListOptionComponent extends XListOptionProperty {
195
195
  return this.label;
196
196
  }
197
197
  }
198
- /** @nocollapse */ /** @nocollapse */ XListOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XListOptionComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
199
- /** @nocollapse */ /** @nocollapse */ XListOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XListOptionComponent, selector: "x-list-option", host: { properties: { "attr.role": "this.role" } }, usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"x-list-option\"\r\n [class.x-selected]=\"selected\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-active]=\"active\"\r\n [class.x-list-icon]=\"icon\"\r\n [class.x-list-divided]=\"divided\"\r\n>\r\n <span>\r\n <ng-container *ngIf=\"!nodeTpl\"\r\n ><x-icon [type]=\"icon\" *ngIf=\"icon\"></x-icon> {{ label }}</ng-container\r\n >\r\n <ng-container *ngIf=\"nodeTpl\">\r\n <ng-template *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-template>\r\n </ng-container>\r\n </span>\r\n <x-icon class=\"x-list-leaf\" type=\"fto-chevron-right\" *ngIf=\"leaf\"></x-icon>\r\n <x-icon class=\"x-list-checked\" type=\"fto-check\" *ngIf=\"checked && !leaf && selected\"></x-icon>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-list-option{display:block}.x-list-option{padding:0 .4rem;height:calc(var(--x-font-size) + 1rem);line-height:calc(var(--x-font-size) + 1rem);border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;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-list-option>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:none;user-select:none}.x-list-option:not(:first-child){margin-top:var(--x-border-width)}.x-list-option:hover,.x-list-option.x-active{background-color:var(--x-background-a300)}.x-list-option.x-list-divided{margin-top:.8125rem}.x-list-option.x-list-divided:before{content:\" \";position:absolute;top:0;left:0;width:100%;margin-top:-.5rem;border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-list-option.x-selected{background-color:var(--x-background-a300);color:var(--x-primary)}.x-list-option.x-selected>x-icon{color:var(--x-primary)}.x-list-option.x-disabled{color:var(--x-text-500);cursor:not-allowed}.x-list-option.x-disabled:hover{background-color:inherit}.x-list-option.x-disabled>span x-icon{color:var(--x-text-500)}body>x-list-option{display:block}body>x-list-option.cdk-drag-preview .x-list-option{padding:0 .4rem;height:calc(var(--x-font-size) + 1rem);line-height:calc(var(--x-font-size) + 1rem);border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}body>x-list-option.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"], components: [{ type: i1.XIconComponent, selector: "x-icon" }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
200
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XListOptionComponent, decorators: [{
198
+ /** @nocollapse */ /** @nocollapse */ XListOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XListOptionComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
199
+ /** @nocollapse */ /** @nocollapse */ XListOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XListOptionComponent, selector: "x-list-option", host: { properties: { "attr.role": "this.role" } }, usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"x-list-option\"\r\n [class.x-selected]=\"selected\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-active]=\"active\"\r\n [class.x-list-icon]=\"icon\"\r\n [class.x-list-divided]=\"divided\"\r\n>\r\n <span>\r\n <ng-container *ngIf=\"!nodeTpl\"\r\n ><x-icon [type]=\"icon\" *ngIf=\"icon\"></x-icon> {{ label }}</ng-container\r\n >\r\n <ng-container *ngIf=\"nodeTpl\">\r\n <ng-template *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-template>\r\n </ng-container>\r\n </span>\r\n <x-icon class=\"x-list-leaf\" type=\"fto-chevron-right\" *ngIf=\"leaf\"></x-icon>\r\n <x-icon class=\"x-list-checked\" type=\"fto-check\" *ngIf=\"checked && !leaf && selected\"></x-icon>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-list-option{display:block}.x-list-option{padding:0 .4rem;height:calc(var(--x-font-size) + 1rem);line-height:calc(var(--x-font-size) + 1rem);border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;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-list-option>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:none;user-select:none}.x-list-option:not(:first-child){margin-top:var(--x-border-width)}.x-list-option:hover,.x-list-option.x-active{background-color:var(--x-background-a300)}.x-list-option.x-list-divided{margin-top:.8125rem}.x-list-option.x-list-divided:before{content:\" \";position:absolute;top:0;left:0;width:100%;margin-top:-.5rem;border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-list-option.x-selected{background-color:var(--x-background-a300);color:var(--x-primary)}.x-list-option.x-selected>x-icon{color:var(--x-primary)}.x-list-option.x-disabled{color:var(--x-text-500);cursor:not-allowed}.x-list-option.x-disabled:hover{background-color:inherit}.x-list-option.x-disabled>span x-icon{color:var(--x-text-500)}body>x-list-option{display:block}body>x-list-option.cdk-drag-preview .x-list-option{padding:0 .4rem;height:calc(var(--x-font-size) + 1rem);line-height:calc(var(--x-font-size) + 1rem);border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}body>x-list-option.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"], components: [{ type: i1.XIconComponent, selector: "x-icon" }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XListOptionComponent, decorators: [{
201
201
  type: Component,
202
202
  args: [{ selector: `${XListOptionPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"x-list-option\"\r\n [class.x-selected]=\"selected\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-active]=\"active\"\r\n [class.x-list-icon]=\"icon\"\r\n [class.x-list-divided]=\"divided\"\r\n>\r\n <span>\r\n <ng-container *ngIf=\"!nodeTpl\"\r\n ><x-icon [type]=\"icon\" *ngIf=\"icon\"></x-icon> {{ label }}</ng-container\r\n >\r\n <ng-container *ngIf=\"nodeTpl\">\r\n <ng-template *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-template>\r\n </ng-container>\r\n </span>\r\n <x-icon class=\"x-list-leaf\" type=\"fto-chevron-right\" *ngIf=\"leaf\"></x-icon>\r\n <x-icon class=\"x-list-checked\" type=\"fto-check\" *ngIf=\"checked && !leaf && selected\"></x-icon>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-list-option{display:block}.x-list-option{padding:0 .4rem;height:calc(var(--x-font-size) + 1rem);line-height:calc(var(--x-font-size) + 1rem);border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;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-list-option>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:none;user-select:none}.x-list-option:not(:first-child){margin-top:var(--x-border-width)}.x-list-option:hover,.x-list-option.x-active{background-color:var(--x-background-a300)}.x-list-option.x-list-divided{margin-top:.8125rem}.x-list-option.x-list-divided:before{content:\" \";position:absolute;top:0;left:0;width:100%;margin-top:-.5rem;border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-list-option.x-selected{background-color:var(--x-background-a300);color:var(--x-primary)}.x-list-option.x-selected>x-icon{color:var(--x-primary)}.x-list-option.x-disabled{color:var(--x-text-500);cursor:not-allowed}.x-list-option.x-disabled:hover{background-color:inherit}.x-list-option.x-disabled>span x-icon{color:var(--x-text-500)}body>x-list-option{display:block}body>x-list-option.cdk-drag-preview .x-list-option{padding:0 .4rem;height:calc(var(--x-font-size) + 1rem);line-height:calc(var(--x-font-size) + 1rem);border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}body>x-list-option.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"] }]
203
203
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { role: [{
@@ -407,9 +407,9 @@ class XListComponent extends XListProperty {
407
407
  this.nodes[num].active = false;
408
408
  }
409
409
  }
410
- /** @nocollapse */ /** @nocollapse */ XListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XListComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1$1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
411
- /** @nocollapse */ /** @nocollapse */ XListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XListComponent, selector: "x-list", host: { listeners: { "keydown": "keydown($event)" }, properties: { "attr.role": "this.role", "attr.tabindex": "this.tabindex" } }, providers: [XValueAccessor(XListComponent)], viewQueries: [{ propertyName: "listItems", first: true, predicate: ["listItems"], descendants: true }, { propertyName: "options", predicate: XListOptionComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"x-list\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListDisabled]=\"!drag\"\r\n [hidden]=\"isEmpty\"\r\n>\r\n <x-list-option\r\n cdkDrag\r\n *ngFor=\"let node of nodes; trackBy: trackByNode\"\r\n [node]=\"node\"\r\n [checked]=\"checked\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [selected]=\"node.selected\"\r\n [disabled]=\"node.disabled\"\r\n [(active)]=\"node.active\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n</div>\r\n<x-empty *ngIf=\"isEmpty\"></x-empty>\r\n", styles: ["@charset \"UTF-8\";x-list{width:100%}x-list:focus{outline:none}x-list>x-empty{margin:1rem}.x-list{margin:0;padding:0;width:100%;cursor:pointer}.x-list:focus{outline:none}.x-list.cdk-drop-list-dragging>x-list-option:hover{background-color:transparent}.x-list.cdk-drop-list-dragging>x-list-option.cdk-drag-placeholder{border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}.x-list.cdk-drop-list-dragging>x-list-option:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-list-leaf,.x-list-checked{right:0;margin-left:.4rem;color:var(--x-text-400)}.x-list-icon>span x-icon{color:var(--x-text-300);margin-right:.25rem}\n"], components: [{ type: XListOptionComponent, selector: "x-list-option" }, { type: i3.XEmptyComponent, selector: "x-empty" }], directives: [{ 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: i2.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: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
412
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XListComponent, decorators: [{
410
+ /** @nocollapse */ /** @nocollapse */ XListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XListComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1$1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
411
+ /** @nocollapse */ /** @nocollapse */ XListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XListComponent, selector: "x-list", host: { listeners: { "keydown": "keydown($event)" }, properties: { "attr.role": "this.role", "attr.tabindex": "this.tabindex" } }, providers: [XValueAccessor(XListComponent)], viewQueries: [{ propertyName: "listItems", first: true, predicate: ["listItems"], descendants: true }, { propertyName: "options", predicate: XListOptionComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"x-list\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListDisabled]=\"!drag\"\r\n [hidden]=\"isEmpty\"\r\n>\r\n <x-list-option\r\n cdkDrag\r\n *ngFor=\"let node of nodes; trackBy: trackByNode\"\r\n [node]=\"node\"\r\n [checked]=\"checked\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [selected]=\"node.selected\"\r\n [disabled]=\"node.disabled\"\r\n [(active)]=\"node.active\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n</div>\r\n<x-empty *ngIf=\"isEmpty\"></x-empty>\r\n", styles: ["@charset \"UTF-8\";x-list{width:100%}x-list:focus{outline:none}x-list>x-empty{margin:1rem}.x-list{margin:0;padding:0;width:100%;cursor:pointer}.x-list:focus{outline:none}.x-list.cdk-drop-list-dragging>x-list-option:hover{background-color:transparent}.x-list.cdk-drop-list-dragging>x-list-option.cdk-drag-placeholder{border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}.x-list.cdk-drop-list-dragging>x-list-option:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-list-leaf,.x-list-checked{right:0;margin-left:.4rem;color:var(--x-text-400)}.x-list-icon>span x-icon{color:var(--x-text-300);margin-right:.25rem}\n"], components: [{ type: XListOptionComponent, selector: "x-list-option" }, { type: i3.XEmptyComponent, selector: "x-empty" }], directives: [{ 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: i2.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: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
412
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XListComponent, decorators: [{
413
413
  type: Component,
414
414
  args: [{ selector: `${XListPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XListComponent)], template: "<div\r\n class=\"x-list\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListDisabled]=\"!drag\"\r\n [hidden]=\"isEmpty\"\r\n>\r\n <x-list-option\r\n cdkDrag\r\n *ngFor=\"let node of nodes; trackBy: trackByNode\"\r\n [node]=\"node\"\r\n [checked]=\"checked\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [selected]=\"node.selected\"\r\n [disabled]=\"node.disabled\"\r\n [(active)]=\"node.active\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n</div>\r\n<x-empty *ngIf=\"isEmpty\"></x-empty>\r\n", styles: ["@charset \"UTF-8\";x-list{width:100%}x-list:focus{outline:none}x-list>x-empty{margin:1rem}.x-list{margin:0;padding:0;width:100%;cursor:pointer}.x-list:focus{outline:none}.x-list.cdk-drop-list-dragging>x-list-option:hover{background-color:transparent}.x-list.cdk-drop-list-dragging>x-list-option.cdk-drag-placeholder{border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}.x-list.cdk-drop-list-dragging>x-list-option:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-list-leaf,.x-list-checked{right:0;margin-left:.4rem;color:var(--x-text-400)}.x-list-icon>span x-icon{color:var(--x-text-300);margin-right:.25rem}\n"] }]
415
415
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1$1.XConfigService }]; }, propDecorators: { listItems: [{
@@ -431,8 +431,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
431
431
 
432
432
  class XListModule {
433
433
  }
434
- /** @nocollapse */ /** @nocollapse */ XListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
435
- /** @nocollapse */ /** @nocollapse */ XListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XListModule, declarations: [XListComponent, XListOptionComponent, XListProperty, XListOptionProperty], imports: [CommonModule,
434
+ /** @nocollapse */ /** @nocollapse */ XListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
435
+ /** @nocollapse */ /** @nocollapse */ XListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XListModule, declarations: [XListComponent, XListOptionComponent, XListProperty, XListOptionProperty], imports: [CommonModule,
436
436
  FormsModule,
437
437
  ReactiveFormsModule,
438
438
  DragDropModule,
@@ -440,7 +440,7 @@ class XListModule {
440
440
  XIconModule,
441
441
  XEmptyModule,
442
442
  XBaseFormModule], exports: [XListComponent, XListOptionComponent] });
443
- /** @nocollapse */ /** @nocollapse */ XListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XListModule, imports: [[
443
+ /** @nocollapse */ /** @nocollapse */ XListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XListModule, imports: [[
444
444
  CommonModule,
445
445
  FormsModule,
446
446
  ReactiveFormsModule,
@@ -450,7 +450,7 @@ class XListModule {
450
450
  XEmptyModule,
451
451
  XBaseFormModule
452
452
  ]] });
453
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XListModule, decorators: [{
453
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XListModule, decorators: [{
454
454
  type: NgModule,
455
455
  args: [{
456
456
  declarations: [XListComponent, XListOptionComponent, XListProperty, XListOptionProperty],
@@ -32,8 +32,8 @@ class XLoadingProperty extends XProperty {
32
32
  this.loading = false;
33
33
  }
34
34
  }
35
- /** @nocollapse */ /** @nocollapse */ XLoadingProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XLoadingProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
36
- /** @nocollapse */ /** @nocollapse */ XLoadingProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XLoadingProperty, selector: "ng-component", inputs: { loading: ["x-loading", "loading"], size: "size", text: "text", icon: "icon", color: "color", fullScreen: "fullScreen", background: "background" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
35
+ /** @nocollapse */ /** @nocollapse */ XLoadingProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XLoadingProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
36
+ /** @nocollapse */ /** @nocollapse */ XLoadingProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XLoadingProperty, selector: "ng-component", inputs: { loading: ["x-loading", "loading"], size: "size", text: "text", icon: "icon", color: "color", fullScreen: "fullScreen", background: "background" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
37
37
  __decorate([
38
38
  XInputBoolean()
39
39
  ], XLoadingProperty.prototype, "loading", void 0);
@@ -55,7 +55,7 @@ __decorate([
55
55
  __decorate([
56
56
  XWithConfig(X_CONFIG_NAME)
57
57
  ], XLoadingProperty.prototype, "background", void 0);
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XLoadingProperty, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XLoadingProperty, decorators: [{
59
59
  type: Component,
60
60
  args: [{ template: '' }]
61
61
  }], propDecorators: { loading: [{
@@ -128,9 +128,9 @@ class XLoadingComponent extends XLoadingProperty {
128
128
  }
129
129
  }
130
130
  }
131
- /** @nocollapse */ /** @nocollapse */ XLoadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XLoadingComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XPortalService }, { token: i0.ViewContainerRef }, { token: i2.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
132
- /** @nocollapse */ /** @nocollapse */ XLoadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XLoadingComponent, selector: "x-loading, [x-loading]", host: { properties: { "class.x-loading-parent": "this.getLoading" } }, viewQueries: [{ propertyName: "loadingTpl", first: true, predicate: ["loadingTpl"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\r\n\r\n<ng-container *ngIf=\"!fullScreen\">\r\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\r\n</ng-container>\r\n\r\n<ng-template #loadingTpl>\r\n <div #loading class=\"x-loading\" [ngClass]=\"classMap\" [style.background]=\"background\" *ngIf=\"loading\">\r\n <div class=\"x-loading-spinner\" [style.color]=\"color\">\r\n <ng-container *ngIf=\"icon; else circularTpl\">\r\n <div class=\"x-loading-icon\">\r\n <x-icon [type]=\"icon\"></x-icon>\r\n </div>\r\n </ng-container>\r\n <div class=\"x-loading-text\">\r\n <ng-container *xOutlet=\"text\">{{ text }}</ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #circularTpl>\r\n <svg class=\"x-loading-circular\" viewBox=\"25 25 50 50\">\r\n <circle class=\"x-loading-path\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" />\r\n </svg>\r\n</ng-template>\r\n", styles: ["@keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-2.5rem}to{stroke-dasharray:90,150;stroke-dashoffset:-7.5rem}}.x-loading-parent{position:relative}.x-loading{padding:0;position:absolute;background-color:var(--x-background);opacity:.85;margin:0;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;z-index:10}.x-loading-spinner{color:var(--x-primary);text-align:center}.x-loading-circular{animation:loading-rotate 2s linear infinite}.x-loading-icon{animation:loading-rotate 2s linear infinite;display:inline-flex}.x-loading-path{animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--x-primary);stroke-linecap:round}.x-loading-big .x-loading-circular{height:2.175rem;width:2.175rem}.x-loading-big .x-loading-icon{font-size:2.175rem}.x-loading-large .x-loading-circular{height:1.875rem;width:1.875rem}.x-loading-large .x-loading-icon{font-size:1.875rem}.x-loading-medium .x-loading-circular{height:1.675rem;width:1.675rem}.x-loading-medium .x-loading-icon{font-size:1.675rem}.x-loading-small .x-loading-circular{height:1.5rem;width:1.5rem}.x-loading-small .x-loading-icon{font-size:1.5rem}.x-loading-mini .x-loading-circular{height:1.375rem;width:1.375rem}.x-loading-mini .x-loading-icon{font-size:1.375rem}\n"], components: [{ type: i3.XIconComponent, selector: "x-icon" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XLoadingComponent, decorators: [{
131
+ /** @nocollapse */ /** @nocollapse */ XLoadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XLoadingComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XPortalService }, { token: i0.ViewContainerRef }, { token: i2.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
132
+ /** @nocollapse */ /** @nocollapse */ XLoadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XLoadingComponent, selector: "x-loading, [x-loading]", host: { properties: { "class.x-loading-parent": "this.getLoading" } }, viewQueries: [{ propertyName: "loadingTpl", first: true, predicate: ["loadingTpl"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\r\n\r\n<ng-container *ngIf=\"!fullScreen\">\r\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\r\n</ng-container>\r\n\r\n<ng-template #loadingTpl>\r\n <div #loading class=\"x-loading\" [ngClass]=\"classMap\" [style.background]=\"background\" *ngIf=\"loading\">\r\n <div class=\"x-loading-spinner\" [style.color]=\"color\">\r\n <ng-container *ngIf=\"icon; else circularTpl\">\r\n <div class=\"x-loading-icon\">\r\n <x-icon [type]=\"icon\"></x-icon>\r\n </div>\r\n </ng-container>\r\n <div class=\"x-loading-text\">\r\n <ng-container *xOutlet=\"text\">{{ text }}</ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #circularTpl>\r\n <svg class=\"x-loading-circular\" viewBox=\"25 25 50 50\">\r\n <circle class=\"x-loading-path\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" />\r\n </svg>\r\n</ng-template>\r\n", styles: ["@keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-2.5rem}to{stroke-dasharray:90,150;stroke-dashoffset:-7.5rem}}.x-loading-parent{position:relative}.x-loading{padding:0;position:absolute;background-color:var(--x-background);opacity:.85;margin:0;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;z-index:10}.x-loading-spinner{color:var(--x-primary);text-align:center}.x-loading-circular{animation:loading-rotate 2s linear infinite}.x-loading-icon{animation:loading-rotate 2s linear infinite;display:inline-flex}.x-loading-path{animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--x-primary);stroke-linecap:round}.x-loading-big .x-loading-circular{height:2.175rem;width:2.175rem}.x-loading-big .x-loading-icon{font-size:2.175rem}.x-loading-large .x-loading-circular{height:1.875rem;width:1.875rem}.x-loading-large .x-loading-icon{font-size:1.875rem}.x-loading-medium .x-loading-circular{height:1.675rem;width:1.675rem}.x-loading-medium .x-loading-icon{font-size:1.675rem}.x-loading-small .x-loading-circular{height:1.5rem;width:1.5rem}.x-loading-small .x-loading-icon{font-size:1.5rem}.x-loading-mini .x-loading-circular{height:1.375rem;width:1.375rem}.x-loading-mini .x-loading-icon{font-size:1.375rem}\n"], components: [{ type: i3.XIconComponent, selector: "x-icon" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XLoadingComponent, decorators: [{
134
134
  type: Component,
135
135
  args: [{ selector: `${XLoadingPrefix}, [${XLoadingPrefix}]`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\r\n\r\n<ng-container *ngIf=\"!fullScreen\">\r\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\r\n</ng-container>\r\n\r\n<ng-template #loadingTpl>\r\n <div #loading class=\"x-loading\" [ngClass]=\"classMap\" [style.background]=\"background\" *ngIf=\"loading\">\r\n <div class=\"x-loading-spinner\" [style.color]=\"color\">\r\n <ng-container *ngIf=\"icon; else circularTpl\">\r\n <div class=\"x-loading-icon\">\r\n <x-icon [type]=\"icon\"></x-icon>\r\n </div>\r\n </ng-container>\r\n <div class=\"x-loading-text\">\r\n <ng-container *xOutlet=\"text\">{{ text }}</ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #circularTpl>\r\n <svg class=\"x-loading-circular\" viewBox=\"25 25 50 50\">\r\n <circle class=\"x-loading-path\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" />\r\n </svg>\r\n</ng-template>\r\n", styles: ["@keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-2.5rem}to{stroke-dasharray:90,150;stroke-dashoffset:-7.5rem}}.x-loading-parent{position:relative}.x-loading{padding:0;position:absolute;background-color:var(--x-background);opacity:.85;margin:0;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;z-index:10}.x-loading-spinner{color:var(--x-primary);text-align:center}.x-loading-circular{animation:loading-rotate 2s linear infinite}.x-loading-icon{animation:loading-rotate 2s linear infinite;display:inline-flex}.x-loading-path{animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--x-primary);stroke-linecap:round}.x-loading-big .x-loading-circular{height:2.175rem;width:2.175rem}.x-loading-big .x-loading-icon{font-size:2.175rem}.x-loading-large .x-loading-circular{height:1.875rem;width:1.875rem}.x-loading-large .x-loading-icon{font-size:1.875rem}.x-loading-medium .x-loading-circular{height:1.675rem;width:1.675rem}.x-loading-medium .x-loading-icon{font-size:1.675rem}.x-loading-small .x-loading-circular{height:1.5rem;width:1.5rem}.x-loading-small .x-loading-icon{font-size:1.5rem}.x-loading-mini .x-loading-circular{height:1.375rem;width:1.375rem}.x-loading-mini .x-loading-icon{font-size:1.375rem}\n"] }]
136
136
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XPortalService }, { type: i0.ViewContainerRef }, { type: i2.XConfigService }]; }, propDecorators: { getLoading: [{
@@ -143,10 +143,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
143
143
 
144
144
  class XLoadingModule {
145
145
  }
146
- /** @nocollapse */ /** @nocollapse */ XLoadingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
147
- /** @nocollapse */ /** @nocollapse */ XLoadingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XLoadingModule, declarations: [XLoadingComponent, XLoadingProperty], imports: [CommonModule, XIconModule, XOutletModule, XPortalModule], exports: [XLoadingComponent] });
148
- /** @nocollapse */ /** @nocollapse */ XLoadingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XLoadingModule, imports: [[CommonModule, XIconModule, XOutletModule, XPortalModule]] });
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XLoadingModule, decorators: [{
146
+ /** @nocollapse */ /** @nocollapse */ XLoadingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
147
+ /** @nocollapse */ /** @nocollapse */ XLoadingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XLoadingModule, declarations: [XLoadingComponent, XLoadingProperty], imports: [CommonModule, XIconModule, XOutletModule, XPortalModule], exports: [XLoadingComponent] });
148
+ /** @nocollapse */ /** @nocollapse */ XLoadingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XLoadingModule, imports: [[CommonModule, XIconModule, XOutletModule, XPortalModule]] });
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XLoadingModule, decorators: [{
150
150
  type: NgModule,
151
151
  args: [{
152
152
  declarations: [XLoadingComponent, XLoadingProperty],
@@ -60,14 +60,17 @@ class XMenuProperty extends XProperty {
60
60
  this.activatedIdChange = new EventEmitter();
61
61
  }
62
62
  }
63
- /** @nocollapse */ /** @nocollapse */ XMenuProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XMenuProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
64
- /** @nocollapse */ /** @nocollapse */ XMenuProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XMenuProperty, selector: "ng-component", inputs: { data: "data", layout: "layout", size: "size", collapsed: "collapsed", trigger: "trigger", nodeTpl: "nodeTpl", expandedAll: "expandedAll", expandedLevel: "expandedLevel", activatedId: "activatedId", target: "target", portalMinWidth: "portalMinWidth" }, outputs: { nodeClick: "nodeClick", activatedIdChange: "activatedIdChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
63
+ /** @nocollapse */ /** @nocollapse */ XMenuProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XMenuProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
64
+ /** @nocollapse */ /** @nocollapse */ XMenuProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XMenuProperty, selector: "ng-component", inputs: { data: "data", layout: "layout", size: "size", width: "width", collapsed: "collapsed", trigger: "trigger", nodeTpl: "nodeTpl", expandedAll: "expandedAll", expandedLevel: "expandedLevel", activatedId: "activatedId", target: "target", portalMinWidth: "portalMinWidth" }, outputs: { nodeClick: "nodeClick", activatedIdChange: "activatedIdChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
65
65
  __decorate([
66
66
  XDataConvert()
67
67
  ], XMenuProperty.prototype, "data", void 0);
68
68
  __decorate([
69
69
  XWithConfig(X_CONFIG_NAME, 'medium')
70
70
  ], XMenuProperty.prototype, "size", void 0);
71
+ __decorate([
72
+ XWithConfig(X_CONFIG_NAME, '12rem')
73
+ ], XMenuProperty.prototype, "width", void 0);
71
74
  __decorate([
72
75
  XInputBoolean()
73
76
  ], XMenuProperty.prototype, "collapsed", void 0);
@@ -80,7 +83,7 @@ __decorate([
80
83
  __decorate([
81
84
  XInputNumber()
82
85
  ], XMenuProperty.prototype, "expandedLevel", void 0);
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XMenuProperty, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XMenuProperty, decorators: [{
84
87
  type: Component,
85
88
  args: [{ template: '' }]
86
89
  }], propDecorators: { data: [{
@@ -89,6 +92,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
89
92
  type: Input
90
93
  }], size: [{
91
94
  type: Input
95
+ }], width: [{
96
+ type: Input
92
97
  }], collapsed: [{
93
98
  type: Input
94
99
  }], trigger: [{
@@ -121,9 +126,9 @@ const XMenuNodePrefix = 'x-menu-node';
121
126
  */
122
127
  class XMenuNodeProperty extends XProperty {
123
128
  }
124
- /** @nocollapse */ /** @nocollapse */ XMenuNodeProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XMenuNodeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
125
- /** @nocollapse */ /** @nocollapse */ XMenuNodeProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XMenuNodeProperty, selector: "ng-component", inputs: { node: "node" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XMenuNodeProperty, decorators: [{
129
+ /** @nocollapse */ /** @nocollapse */ XMenuNodeProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XMenuNodeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
130
+ /** @nocollapse */ /** @nocollapse */ XMenuNodeProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XMenuNodeProperty, selector: "ng-component", inputs: { node: "node" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XMenuNodeProperty, decorators: [{
127
132
  type: Component,
128
133
  args: [{ template: '' }]
129
134
  }], propDecorators: { node: [{
@@ -149,9 +154,9 @@ class XMenuNodeComponent extends XMenuNodeProperty {
149
154
  };
150
155
  }
151
156
  }
152
- /** @nocollapse */ /** @nocollapse */ XMenuNodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XMenuNodeComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
153
- /** @nocollapse */ /** @nocollapse */ XMenuNodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XMenuNodeComponent, selector: "x-menu-node", inputs: { menu: "menu" }, usesInheritance: true, ngImport: i0, template: "<a *ngIf=\"node.routerLink && !node.leaf; else menuTpl\" [routerLink]=\"node.routerLink\">\r\n <ng-container *ngTemplateOutlet=\"menuTpl\"></ng-container>\r\n</a>\r\n\r\n<ng-template #menuTpl>\r\n <x-icon class=\"x-menu-icon\" *ngIf=\"node.icon\" [type]=\"node.icon\"></x-icon>\r\n <span class=\"x-menu-text\" *ngIf=\"node.label\">{{ node.label }}</span>\r\n <x-icon class=\"x-menu-arrow\" *ngIf=\"node.leaf\" [class.is-open]=\"node.open\" type=\"fto-chevron-down\"></x-icon>\r\n</ng-template>\r\n", components: [{ type: i2.XIconComponent, selector: "x-icon" }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XMenuNodeComponent, decorators: [{
157
+ /** @nocollapse */ /** @nocollapse */ XMenuNodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XMenuNodeComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
158
+ /** @nocollapse */ /** @nocollapse */ XMenuNodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XMenuNodeComponent, selector: "x-menu-node", inputs: { menu: "menu" }, usesInheritance: true, ngImport: i0, template: "<a *ngIf=\"node.routerLink && !node.leaf; else menuTpl\" [routerLink]=\"node.routerLink\">\r\n <ng-container *ngTemplateOutlet=\"menuTpl\"></ng-container>\r\n</a>\r\n\r\n<ng-template #menuTpl>\r\n <x-icon class=\"x-menu-icon\" *ngIf=\"node.icon\" [type]=\"node.icon\"></x-icon>\r\n <span class=\"x-menu-text\" *ngIf=\"node.label\">{{ node.label }}</span>\r\n <x-icon class=\"x-menu-arrow\" *ngIf=\"node.leaf\" [class.is-open]=\"node.open\" type=\"fto-chevron-down\"></x-icon>\r\n</ng-template>\r\n", components: [{ type: i2.XIconComponent, selector: "x-icon" }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XMenuNodeComponent, decorators: [{
155
160
  type: Component,
156
161
  args: [{ selector: `${XMenuNodePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<a *ngIf=\"node.routerLink && !node.leaf; else menuTpl\" [routerLink]=\"node.routerLink\">\r\n <ng-container *ngTemplateOutlet=\"menuTpl\"></ng-container>\r\n</a>\r\n\r\n<ng-template #menuTpl>\r\n <x-icon class=\"x-menu-icon\" *ngIf=\"node.icon\" [type]=\"node.icon\"></x-icon>\r\n <span class=\"x-menu-text\" *ngIf=\"node.label\">{{ node.label }}</span>\r\n <x-icon class=\"x-menu-arrow\" *ngIf=\"node.leaf\" [class.is-open]=\"node.open\" type=\"fto-chevron-down\"></x-icon>\r\n</ng-template>\r\n" }]
157
162
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.XConfigService }]; }, propDecorators: { menu: [{
@@ -334,11 +339,11 @@ class XMenuComponent extends XMenuProperty {
334
339
  return item.id;
335
340
  }
336
341
  }
337
- /** @nocollapse */ /** @nocollapse */ XMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XMenuComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
338
- /** @nocollapse */ /** @nocollapse */ XMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XMenuComponent, selector: "x-menu", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #menu class=\"x-menu\" [ngClass]=\"classMap\">\r\n <div class=\"x-menu-nodes\" *ngIf=\"layout === 'column'\">\r\n <ng-container *ngFor=\"let node of nodes; trackBy: trackByNode\">\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: node, $children: true }\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <x-slider\r\n *ngIf=\"layout === 'row'\"\r\n [data]=\"nodes\"\r\n [size]=\"size\"\r\n [nodeTpl]=\"nodeRowTpl\"\r\n [nodeJustify]=\"'center'\"\r\n [activatedIndex]=\"rootIndex\"\r\n (indexChange)=\"rootIndexChange($event)\"\r\n ></x-slider>\r\n</div>\r\n\r\n<ng-template #nodeTpl let-node=\"$node\">\r\n <x-dropdown\r\n *ngIf=\"node.level === 0 && collapsed\"\r\n [disabled]=\"!node.leaf\"\r\n [data]=\"node.children\"\r\n [trigger]=\"trigger\"\r\n placement=\"right-start\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n [portalMinWidth]=\"portalMinWidth\"\r\n children\r\n >\r\n <x-menu-node [node]=\"node\" [menu]=\"this\"></x-menu-node>\r\n </x-dropdown>\r\n <x-menu-node *ngIf=\"!collapsed\" [node]=\"node\" [menu]=\"this\"></x-menu-node>\r\n</ng-template>\r\n\r\n<ng-template #nodeRowTpl let-node=\"$node\">\r\n <x-dropdown\r\n [disabled]=\"!node.leaf\"\r\n [data]=\"node.children\"\r\n [trigger]=\"trigger\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n [portalMinWidth]=\"portalMinWidth\"\r\n children\r\n >\r\n <div class=\"x-menu-node\" [ngClass]=\"nodeClassMap\">\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n </div>\r\n </x-dropdown>\r\n</ng-template>\r\n\r\n<ng-template #nodeColumnTpl let-node=\"$node\">\r\n <div\r\n class=\"x-menu-node\"\r\n [class.x-activated]=\"activated?.id === node.id\"\r\n [class.x-menu-category]=\"node.categoryNode\"\r\n [ngClass]=\"nodeClassMap\"\r\n (click)=\"onToggle($event, node)\"\r\n [style.padding-left.rem]=\"(node.level + 1) * 0.875\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n </div>\r\n <div class=\"x-menu-nodes\" *ngIf=\"node.childrenLoaded || (node.leaf && node.open)\" [hidden]=\"!node.open\">\r\n <ng-container *ngFor=\"let child of node.children; trackBy: trackByNode\">\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: child }\"></ng-container>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: ["x-menu{display:block}.x-menu{margin:0;padding:0}.x-menu-icon.x-icon{font-size:1rem;transition:opacity var(--x-animation-duration-base)}.x-menu-arrow.x-icon{transition:opacity var(--x-animation-duration-base)}.x-menu-arrow.x-icon.is-open{transform:rotate(180deg)}.x-menu-node.x-size-big{padding:0 calc(var(--x-padding-big) + .25rem);height:calc(var(--x-height-big) + .75rem);line-height:calc(var(--x-height-big) + .75rem)}.x-menu-node.x-size-big.x-menu-category{height:calc(calc(var(--x-height-big) + .75rem) * 1.5)}.x-menu-node.x-size-large{padding:0 calc(var(--x-padding-large) + .25rem);height:calc(var(--x-height-large) + .75rem);line-height:calc(var(--x-height-large) + .75rem)}.x-menu-node.x-size-large.x-menu-category{height:calc(calc(var(--x-height-large) + .75rem) * 1.5)}.x-menu-node.x-size-medium{padding:0 calc(var(--x-padding-medium) + .25rem);height:calc(var(--x-height-medium) + .75rem);line-height:calc(var(--x-height-medium) + .75rem)}.x-menu-node.x-size-medium.x-menu-category{height:calc(calc(var(--x-height-medium) + .75rem) * 1.5)}.x-menu-node.x-size-small{padding:0 var(--x-padding-small);height:calc(var(--x-height-small) + .5rem);line-height:calc(var(--x-height-small) + .5rem)}.x-menu-node.x-size-small.x-menu-category{height:calc(calc(var(--x-height-small) + .5rem) * 1.5)}.x-menu-node.x-size-mini{padding:0 var(--x-padding-mini);height:calc(var(--x-height-mini) + .5rem);line-height:calc(var(--x-height-mini) + .5rem)}.x-menu-node.x-size-mini.x-menu-category{height:calc(calc(var(--x-height-mini) + .5rem) * 1.5)}.x-menu x-slider .x-slider-scroll>ul>li.x-slider-highlight{background-color:inherit;border-radius:0;border:none;border-bottom:.125rem solid var(--x-primary)}.x-menu x-slider .x-slider-scroll>ul>li>x-link{padding:0!important;height:inherit!important;line-height:inherit!important}.x-menu-column{width:12rem;transition:var(--x-animation-duration-base)}.x-menu-row .x-menu-text{margin-left:.25rem}.x-menu-nodes .x-menu-node{cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:width var(--x-animation-duration-base),background-color var(--x-animation-duration-base);border-right:.125rem solid var(--x-border);position:relative;-webkit-user-select:none;user-select:none;padding-right:.875rem}.x-menu-nodes .x-menu-node .x-menu-text{flex:1;margin:0 .25rem;transition:background-color var(--x-animation-duration-base),opacity var(--x-animation-duration-base);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.x-menu-nodes .x-menu-node:hover{color:var(--x-primary);background-color:var(--x-background-a100)}.x-menu-nodes .x-menu-node x-menu-node{flex:1;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.x-menu-nodes .x-menu-node x-menu-node>a{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-decoration:none}.x-menu-nodes .x-menu-node.x-activated{color:var(--x-primary);background-color:var(--x-background-a100)}.x-menu-nodes .x-menu-node.x-activated:after{content:\"\";position:absolute;height:100%;right:-.125rem;top:0;border-right:.125rem solid var(--x-primary)}.x-menu-nodes .x-menu-node.x-menu-category{cursor:inherit;color:var(--x-text-400)}.x-menu-nodes .x-menu-node.x-menu-category:hover{background-color:transparent}.x-menu-nodes .x-menu-node.x-menu-category>x-menu-node{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border-300)}.x-menu-collapsed.x-menu-column{width:3rem}.x-menu-collapsed .x-menu-nodes x-dropdown,.x-menu-collapsed .x-menu-nodes .x-dropdown{display:flex;flex:1}.x-menu-collapsed .x-menu-nodes .x-menu-node{padding-left:0!important;padding-right:0}.x-menu-collapsed .x-menu-nodes .x-menu-node x-menu-node{padding-left:.875rem}.x-menu-collapsed .x-menu-nodes .x-menu-node .x-menu-text{opacity:0;width:0}.x-menu-collapsed .x-menu-nodes .x-menu-nodes{display:none}.x-menu-collapsed .x-menu-arrow.x-icon{opacity:0;width:0}\n"], components: [{ type: i2$1.XSliderComponent, selector: "x-slider" }, { type: i3.XDropdownComponent, selector: "x-dropdown" }, { type: XMenuNodeComponent, selector: "x-menu-node", inputs: ["menu"] }], directives: [{ type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
339
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XMenuComponent, decorators: [{
342
+ /** @nocollapse */ /** @nocollapse */ XMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XMenuComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
343
+ /** @nocollapse */ /** @nocollapse */ XMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XMenuComponent, selector: "x-menu", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #menu class=\"x-menu\" [ngClass]=\"classMap\" [style.width]=\"layout === 'column' ? width : ''\">\r\n <div class=\"x-menu-nodes\" *ngIf=\"layout === 'column'\">\r\n <ng-container *ngFor=\"let node of nodes; trackBy: trackByNode\">\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: node, $children: true }\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <x-slider\r\n *ngIf=\"layout === 'row'\"\r\n [data]=\"nodes\"\r\n [size]=\"size\"\r\n [nodeTpl]=\"nodeRowTpl\"\r\n [nodeJustify]=\"'center'\"\r\n [activatedIndex]=\"rootIndex\"\r\n (indexChange)=\"rootIndexChange($event)\"\r\n ></x-slider>\r\n</div>\r\n\r\n<ng-template #nodeTpl let-node=\"$node\">\r\n <x-dropdown\r\n *ngIf=\"node.level === 0 && collapsed\"\r\n [disabled]=\"!node.leaf\"\r\n [data]=\"node.children\"\r\n [trigger]=\"trigger\"\r\n placement=\"right-start\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n [portalMinWidth]=\"portalMinWidth\"\r\n children\r\n >\r\n <x-menu-node [node]=\"node\" [menu]=\"this\"></x-menu-node>\r\n </x-dropdown>\r\n <x-menu-node *ngIf=\"!collapsed\" [node]=\"node\" [menu]=\"this\"></x-menu-node>\r\n</ng-template>\r\n\r\n<ng-template #nodeRowTpl let-node=\"$node\">\r\n <x-dropdown\r\n [disabled]=\"!node.leaf\"\r\n [data]=\"node.children\"\r\n [trigger]=\"trigger\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n [portalMinWidth]=\"portalMinWidth\"\r\n children\r\n >\r\n <div class=\"x-menu-node\" [ngClass]=\"nodeClassMap\">\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n </div>\r\n </x-dropdown>\r\n</ng-template>\r\n\r\n<ng-template #nodeColumnTpl let-node=\"$node\">\r\n <div\r\n class=\"x-menu-node\"\r\n [class.x-activated]=\"activated?.id === node.id\"\r\n [class.x-menu-category]=\"node.categoryNode\"\r\n [ngClass]=\"nodeClassMap\"\r\n (click)=\"onToggle($event, node)\"\r\n [style.padding-left.rem]=\"(node.level + 1) * 0.875\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n </div>\r\n <div class=\"x-menu-nodes\" *ngIf=\"node.childrenLoaded || (node.leaf && node.open)\" [hidden]=\"!node.open\">\r\n <ng-container *ngFor=\"let child of node.children; trackBy: trackByNode\">\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: child }\"></ng-container>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: ["x-menu{display:block}.x-menu{margin:0;padding:0}.x-menu-icon.x-icon{font-size:1rem;transition:opacity var(--x-animation-duration-base)}.x-menu-arrow.x-icon{transition:opacity var(--x-animation-duration-base)}.x-menu-arrow.x-icon.is-open{transform:rotate(180deg)}.x-menu-node.x-size-big{padding:0 calc(var(--x-padding-big) + .25rem);height:calc(var(--x-height-big) + .75rem);line-height:calc(var(--x-height-big) + .75rem)}.x-menu-node.x-size-big.x-menu-category{height:calc(calc(var(--x-height-big) + .75rem) * 1.5)}.x-menu-node.x-size-large{padding:0 calc(var(--x-padding-large) + .25rem);height:calc(var(--x-height-large) + .75rem);line-height:calc(var(--x-height-large) + .75rem)}.x-menu-node.x-size-large.x-menu-category{height:calc(calc(var(--x-height-large) + .75rem) * 1.5)}.x-menu-node.x-size-medium{padding:0 calc(var(--x-padding-medium) + .25rem);height:calc(var(--x-height-medium) + .75rem);line-height:calc(var(--x-height-medium) + .75rem)}.x-menu-node.x-size-medium.x-menu-category{height:calc(calc(var(--x-height-medium) + .75rem) * 1.5)}.x-menu-node.x-size-small{padding:0 var(--x-padding-small);height:calc(var(--x-height-small) + .5rem);line-height:calc(var(--x-height-small) + .5rem)}.x-menu-node.x-size-small.x-menu-category{height:calc(calc(var(--x-height-small) + .5rem) * 1.5)}.x-menu-node.x-size-mini{padding:0 var(--x-padding-mini);height:calc(var(--x-height-mini) + .5rem);line-height:calc(var(--x-height-mini) + .5rem)}.x-menu-node.x-size-mini.x-menu-category{height:calc(calc(var(--x-height-mini) + .5rem) * 1.5)}.x-menu x-slider .x-slider-scroll>ul>li.x-slider-highlight{background-color:inherit;border-radius:0;border:none;border-bottom:.125rem solid var(--x-primary)}.x-menu x-slider .x-slider-scroll>ul>li>x-link{padding:0!important;height:inherit!important;line-height:inherit!important}.x-menu-column{width:16rem;transition:var(--x-animation-duration-base)}.x-menu-row .x-menu-text{margin-left:.25rem}.x-menu-nodes .x-menu-node{cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:width var(--x-animation-duration-base),background-color var(--x-animation-duration-base);border-right:.125rem solid var(--x-border);position:relative;-webkit-user-select:none;user-select:none;padding-right:.875rem}.x-menu-nodes .x-menu-node .x-menu-text{flex:1;margin:0 .25rem;transition:background-color var(--x-animation-duration-base),opacity var(--x-animation-duration-base);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.x-menu-nodes .x-menu-node:hover{color:var(--x-primary);background-color:var(--x-background-a100)}.x-menu-nodes .x-menu-node x-menu-node{flex:1;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.x-menu-nodes .x-menu-node x-menu-node>a{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-decoration:none}.x-menu-nodes .x-menu-node.x-activated{color:var(--x-primary);background-color:var(--x-background-a100)}.x-menu-nodes .x-menu-node.x-activated:after{content:\"\";position:absolute;height:100%;right:-.125rem;top:0;border-right:.125rem solid var(--x-primary)}.x-menu-nodes .x-menu-node.x-menu-category{cursor:inherit;color:var(--x-text-400)}.x-menu-nodes .x-menu-node.x-menu-category:hover{background-color:transparent}.x-menu-nodes .x-menu-node.x-menu-category>x-menu-node{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border-300)}.x-menu-collapsed.x-menu-column{width:3rem}.x-menu-collapsed .x-menu-nodes x-dropdown,.x-menu-collapsed .x-menu-nodes .x-dropdown{display:flex;flex:1}.x-menu-collapsed .x-menu-nodes .x-menu-node{padding-left:0!important;padding-right:0}.x-menu-collapsed .x-menu-nodes .x-menu-node x-menu-node{padding-left:.875rem}.x-menu-collapsed .x-menu-nodes .x-menu-node .x-menu-text{opacity:0;width:0}.x-menu-collapsed .x-menu-nodes .x-menu-nodes{display:none}.x-menu-collapsed .x-menu-arrow.x-icon{opacity:0;width:0}\n"], components: [{ type: i2$1.XSliderComponent, selector: "x-slider" }, { type: i3.XDropdownComponent, selector: "x-dropdown" }, { type: XMenuNodeComponent, selector: "x-menu-node", inputs: ["menu"] }], directives: [{ type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
344
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XMenuComponent, decorators: [{
340
345
  type: Component,
341
- args: [{ selector: `${XMenuPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #menu class=\"x-menu\" [ngClass]=\"classMap\">\r\n <div class=\"x-menu-nodes\" *ngIf=\"layout === 'column'\">\r\n <ng-container *ngFor=\"let node of nodes; trackBy: trackByNode\">\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: node, $children: true }\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <x-slider\r\n *ngIf=\"layout === 'row'\"\r\n [data]=\"nodes\"\r\n [size]=\"size\"\r\n [nodeTpl]=\"nodeRowTpl\"\r\n [nodeJustify]=\"'center'\"\r\n [activatedIndex]=\"rootIndex\"\r\n (indexChange)=\"rootIndexChange($event)\"\r\n ></x-slider>\r\n</div>\r\n\r\n<ng-template #nodeTpl let-node=\"$node\">\r\n <x-dropdown\r\n *ngIf=\"node.level === 0 && collapsed\"\r\n [disabled]=\"!node.leaf\"\r\n [data]=\"node.children\"\r\n [trigger]=\"trigger\"\r\n placement=\"right-start\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n [portalMinWidth]=\"portalMinWidth\"\r\n children\r\n >\r\n <x-menu-node [node]=\"node\" [menu]=\"this\"></x-menu-node>\r\n </x-dropdown>\r\n <x-menu-node *ngIf=\"!collapsed\" [node]=\"node\" [menu]=\"this\"></x-menu-node>\r\n</ng-template>\r\n\r\n<ng-template #nodeRowTpl let-node=\"$node\">\r\n <x-dropdown\r\n [disabled]=\"!node.leaf\"\r\n [data]=\"node.children\"\r\n [trigger]=\"trigger\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n [portalMinWidth]=\"portalMinWidth\"\r\n children\r\n >\r\n <div class=\"x-menu-node\" [ngClass]=\"nodeClassMap\">\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n </div>\r\n </x-dropdown>\r\n</ng-template>\r\n\r\n<ng-template #nodeColumnTpl let-node=\"$node\">\r\n <div\r\n class=\"x-menu-node\"\r\n [class.x-activated]=\"activated?.id === node.id\"\r\n [class.x-menu-category]=\"node.categoryNode\"\r\n [ngClass]=\"nodeClassMap\"\r\n (click)=\"onToggle($event, node)\"\r\n [style.padding-left.rem]=\"(node.level + 1) * 0.875\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n </div>\r\n <div class=\"x-menu-nodes\" *ngIf=\"node.childrenLoaded || (node.leaf && node.open)\" [hidden]=\"!node.open\">\r\n <ng-container *ngFor=\"let child of node.children; trackBy: trackByNode\">\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: child }\"></ng-container>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: ["x-menu{display:block}.x-menu{margin:0;padding:0}.x-menu-icon.x-icon{font-size:1rem;transition:opacity var(--x-animation-duration-base)}.x-menu-arrow.x-icon{transition:opacity var(--x-animation-duration-base)}.x-menu-arrow.x-icon.is-open{transform:rotate(180deg)}.x-menu-node.x-size-big{padding:0 calc(var(--x-padding-big) + .25rem);height:calc(var(--x-height-big) + .75rem);line-height:calc(var(--x-height-big) + .75rem)}.x-menu-node.x-size-big.x-menu-category{height:calc(calc(var(--x-height-big) + .75rem) * 1.5)}.x-menu-node.x-size-large{padding:0 calc(var(--x-padding-large) + .25rem);height:calc(var(--x-height-large) + .75rem);line-height:calc(var(--x-height-large) + .75rem)}.x-menu-node.x-size-large.x-menu-category{height:calc(calc(var(--x-height-large) + .75rem) * 1.5)}.x-menu-node.x-size-medium{padding:0 calc(var(--x-padding-medium) + .25rem);height:calc(var(--x-height-medium) + .75rem);line-height:calc(var(--x-height-medium) + .75rem)}.x-menu-node.x-size-medium.x-menu-category{height:calc(calc(var(--x-height-medium) + .75rem) * 1.5)}.x-menu-node.x-size-small{padding:0 var(--x-padding-small);height:calc(var(--x-height-small) + .5rem);line-height:calc(var(--x-height-small) + .5rem)}.x-menu-node.x-size-small.x-menu-category{height:calc(calc(var(--x-height-small) + .5rem) * 1.5)}.x-menu-node.x-size-mini{padding:0 var(--x-padding-mini);height:calc(var(--x-height-mini) + .5rem);line-height:calc(var(--x-height-mini) + .5rem)}.x-menu-node.x-size-mini.x-menu-category{height:calc(calc(var(--x-height-mini) + .5rem) * 1.5)}.x-menu x-slider .x-slider-scroll>ul>li.x-slider-highlight{background-color:inherit;border-radius:0;border:none;border-bottom:.125rem solid var(--x-primary)}.x-menu x-slider .x-slider-scroll>ul>li>x-link{padding:0!important;height:inherit!important;line-height:inherit!important}.x-menu-column{width:12rem;transition:var(--x-animation-duration-base)}.x-menu-row .x-menu-text{margin-left:.25rem}.x-menu-nodes .x-menu-node{cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:width var(--x-animation-duration-base),background-color var(--x-animation-duration-base);border-right:.125rem solid var(--x-border);position:relative;-webkit-user-select:none;user-select:none;padding-right:.875rem}.x-menu-nodes .x-menu-node .x-menu-text{flex:1;margin:0 .25rem;transition:background-color var(--x-animation-duration-base),opacity var(--x-animation-duration-base);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.x-menu-nodes .x-menu-node:hover{color:var(--x-primary);background-color:var(--x-background-a100)}.x-menu-nodes .x-menu-node x-menu-node{flex:1;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.x-menu-nodes .x-menu-node x-menu-node>a{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-decoration:none}.x-menu-nodes .x-menu-node.x-activated{color:var(--x-primary);background-color:var(--x-background-a100)}.x-menu-nodes .x-menu-node.x-activated:after{content:\"\";position:absolute;height:100%;right:-.125rem;top:0;border-right:.125rem solid var(--x-primary)}.x-menu-nodes .x-menu-node.x-menu-category{cursor:inherit;color:var(--x-text-400)}.x-menu-nodes .x-menu-node.x-menu-category:hover{background-color:transparent}.x-menu-nodes .x-menu-node.x-menu-category>x-menu-node{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border-300)}.x-menu-collapsed.x-menu-column{width:3rem}.x-menu-collapsed .x-menu-nodes x-dropdown,.x-menu-collapsed .x-menu-nodes .x-dropdown{display:flex;flex:1}.x-menu-collapsed .x-menu-nodes .x-menu-node{padding-left:0!important;padding-right:0}.x-menu-collapsed .x-menu-nodes .x-menu-node x-menu-node{padding-left:.875rem}.x-menu-collapsed .x-menu-nodes .x-menu-node .x-menu-text{opacity:0;width:0}.x-menu-collapsed .x-menu-nodes .x-menu-nodes{display:none}.x-menu-collapsed .x-menu-arrow.x-icon{opacity:0;width:0}\n"] }]
346
+ args: [{ selector: `${XMenuPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #menu class=\"x-menu\" [ngClass]=\"classMap\" [style.width]=\"layout === 'column' ? width : ''\">\r\n <div class=\"x-menu-nodes\" *ngIf=\"layout === 'column'\">\r\n <ng-container *ngFor=\"let node of nodes; trackBy: trackByNode\">\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: node, $children: true }\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <x-slider\r\n *ngIf=\"layout === 'row'\"\r\n [data]=\"nodes\"\r\n [size]=\"size\"\r\n [nodeTpl]=\"nodeRowTpl\"\r\n [nodeJustify]=\"'center'\"\r\n [activatedIndex]=\"rootIndex\"\r\n (indexChange)=\"rootIndexChange($event)\"\r\n ></x-slider>\r\n</div>\r\n\r\n<ng-template #nodeTpl let-node=\"$node\">\r\n <x-dropdown\r\n *ngIf=\"node.level === 0 && collapsed\"\r\n [disabled]=\"!node.leaf\"\r\n [data]=\"node.children\"\r\n [trigger]=\"trigger\"\r\n placement=\"right-start\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n [portalMinWidth]=\"portalMinWidth\"\r\n children\r\n >\r\n <x-menu-node [node]=\"node\" [menu]=\"this\"></x-menu-node>\r\n </x-dropdown>\r\n <x-menu-node *ngIf=\"!collapsed\" [node]=\"node\" [menu]=\"this\"></x-menu-node>\r\n</ng-template>\r\n\r\n<ng-template #nodeRowTpl let-node=\"$node\">\r\n <x-dropdown\r\n [disabled]=\"!node.leaf\"\r\n [data]=\"node.children\"\r\n [trigger]=\"trigger\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n [portalMinWidth]=\"portalMinWidth\"\r\n children\r\n >\r\n <div class=\"x-menu-node\" [ngClass]=\"nodeClassMap\">\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n </div>\r\n </x-dropdown>\r\n</ng-template>\r\n\r\n<ng-template #nodeColumnTpl let-node=\"$node\">\r\n <div\r\n class=\"x-menu-node\"\r\n [class.x-activated]=\"activated?.id === node.id\"\r\n [class.x-menu-category]=\"node.categoryNode\"\r\n [ngClass]=\"nodeClassMap\"\r\n (click)=\"onToggle($event, node)\"\r\n [style.padding-left.rem]=\"(node.level + 1) * 0.875\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n </div>\r\n <div class=\"x-menu-nodes\" *ngIf=\"node.childrenLoaded || (node.leaf && node.open)\" [hidden]=\"!node.open\">\r\n <ng-container *ngFor=\"let child of node.children; trackBy: trackByNode\">\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: child }\"></ng-container>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: ["x-menu{display:block}.x-menu{margin:0;padding:0}.x-menu-icon.x-icon{font-size:1rem;transition:opacity var(--x-animation-duration-base)}.x-menu-arrow.x-icon{transition:opacity var(--x-animation-duration-base)}.x-menu-arrow.x-icon.is-open{transform:rotate(180deg)}.x-menu-node.x-size-big{padding:0 calc(var(--x-padding-big) + .25rem);height:calc(var(--x-height-big) + .75rem);line-height:calc(var(--x-height-big) + .75rem)}.x-menu-node.x-size-big.x-menu-category{height:calc(calc(var(--x-height-big) + .75rem) * 1.5)}.x-menu-node.x-size-large{padding:0 calc(var(--x-padding-large) + .25rem);height:calc(var(--x-height-large) + .75rem);line-height:calc(var(--x-height-large) + .75rem)}.x-menu-node.x-size-large.x-menu-category{height:calc(calc(var(--x-height-large) + .75rem) * 1.5)}.x-menu-node.x-size-medium{padding:0 calc(var(--x-padding-medium) + .25rem);height:calc(var(--x-height-medium) + .75rem);line-height:calc(var(--x-height-medium) + .75rem)}.x-menu-node.x-size-medium.x-menu-category{height:calc(calc(var(--x-height-medium) + .75rem) * 1.5)}.x-menu-node.x-size-small{padding:0 var(--x-padding-small);height:calc(var(--x-height-small) + .5rem);line-height:calc(var(--x-height-small) + .5rem)}.x-menu-node.x-size-small.x-menu-category{height:calc(calc(var(--x-height-small) + .5rem) * 1.5)}.x-menu-node.x-size-mini{padding:0 var(--x-padding-mini);height:calc(var(--x-height-mini) + .5rem);line-height:calc(var(--x-height-mini) + .5rem)}.x-menu-node.x-size-mini.x-menu-category{height:calc(calc(var(--x-height-mini) + .5rem) * 1.5)}.x-menu x-slider .x-slider-scroll>ul>li.x-slider-highlight{background-color:inherit;border-radius:0;border:none;border-bottom:.125rem solid var(--x-primary)}.x-menu x-slider .x-slider-scroll>ul>li>x-link{padding:0!important;height:inherit!important;line-height:inherit!important}.x-menu-column{width:16rem;transition:var(--x-animation-duration-base)}.x-menu-row .x-menu-text{margin-left:.25rem}.x-menu-nodes .x-menu-node{cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:width var(--x-animation-duration-base),background-color var(--x-animation-duration-base);border-right:.125rem solid var(--x-border);position:relative;-webkit-user-select:none;user-select:none;padding-right:.875rem}.x-menu-nodes .x-menu-node .x-menu-text{flex:1;margin:0 .25rem;transition:background-color var(--x-animation-duration-base),opacity var(--x-animation-duration-base);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.x-menu-nodes .x-menu-node:hover{color:var(--x-primary);background-color:var(--x-background-a100)}.x-menu-nodes .x-menu-node x-menu-node{flex:1;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.x-menu-nodes .x-menu-node x-menu-node>a{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-decoration:none}.x-menu-nodes .x-menu-node.x-activated{color:var(--x-primary);background-color:var(--x-background-a100)}.x-menu-nodes .x-menu-node.x-activated:after{content:\"\";position:absolute;height:100%;right:-.125rem;top:0;border-right:.125rem solid var(--x-primary)}.x-menu-nodes .x-menu-node.x-menu-category{cursor:inherit;color:var(--x-text-400)}.x-menu-nodes .x-menu-node.x-menu-category:hover{background-color:transparent}.x-menu-nodes .x-menu-node.x-menu-category>x-menu-node{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border-300)}.x-menu-collapsed.x-menu-column{width:3rem}.x-menu-collapsed .x-menu-nodes x-dropdown,.x-menu-collapsed .x-menu-nodes .x-dropdown{display:flex;flex:1}.x-menu-collapsed .x-menu-nodes .x-menu-node{padding-left:0!important;padding-right:0}.x-menu-collapsed .x-menu-nodes .x-menu-node x-menu-node{padding-left:.875rem}.x-menu-collapsed .x-menu-nodes .x-menu-node .x-menu-text{opacity:0;width:0}.x-menu-collapsed .x-menu-nodes .x-menu-nodes{display:none}.x-menu-collapsed .x-menu-arrow.x-icon{opacity:0;width:0}\n"] }]
342
347
  }], ctorParameters: function () {
343
348
  return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
344
349
  type: Inject,
@@ -348,10 +353,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
348
353
 
349
354
  class XMenuModule {
350
355
  }
351
- /** @nocollapse */ /** @nocollapse */ XMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
352
- /** @nocollapse */ /** @nocollapse */ XMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XMenuModule, declarations: [XMenuComponent, XMenuNodeComponent, XMenuProperty, XMenuNodeProperty], imports: [CommonModule, RouterModule, XDropdownModule, XSliderModule, XIconModule], exports: [XMenuComponent, XMenuNodeComponent] });
353
- /** @nocollapse */ /** @nocollapse */ XMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XMenuModule, imports: [[CommonModule, RouterModule, XDropdownModule, XSliderModule, XIconModule]] });
354
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XMenuModule, decorators: [{
356
+ /** @nocollapse */ /** @nocollapse */ XMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
357
+ /** @nocollapse */ /** @nocollapse */ XMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XMenuModule, declarations: [XMenuComponent, XMenuNodeComponent, XMenuProperty, XMenuNodeProperty], imports: [CommonModule, RouterModule, XDropdownModule, XSliderModule, XIconModule], exports: [XMenuComponent, XMenuNodeComponent] });
358
+ /** @nocollapse */ /** @nocollapse */ XMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XMenuModule, imports: [[CommonModule, RouterModule, XDropdownModule, XSliderModule, XIconModule]] });
359
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XMenuModule, decorators: [{
355
360
  type: NgModule,
356
361
  args: [{
357
362
  declarations: [XMenuComponent, XMenuNodeComponent, XMenuProperty, XMenuNodeProperty],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-menu.mjs","sources":["../../../../lib/ng-nest/ui/menu/menu.property.ts","../../../../lib/ng-nest/ui/menu/menu-node.component.ts","../../../../lib/ng-nest/ui/menu/menu-node.component.html","../../../../lib/ng-nest/ui/menu/menu.component.ts","../../../../lib/ng-nest/ui/menu/menu.component.html","../../../../lib/ng-nest/ui/menu/menu.module.ts","../../../../lib/ng-nest/ui/menu/ng-nest-ui-menu.ts"],"sourcesContent":["import {\r\n XParentIdentityProperty,\r\n XData,\r\n XSize,\r\n XProperty,\r\n XDataConvert,\r\n XInputNumber,\r\n XNumber,\r\n XInputBoolean,\r\n XBoolean,\r\n XWithConfig,\r\n XTrigger\r\n} from '@ng-nest/ui/core';\r\nimport { TemplateRef, Input, Output, EventEmitter, Component } from '@angular/core';\r\n\r\n/**\r\n * Menu\r\n * @selector x-menu\r\n * @decorator component\r\n */\r\nexport const XMenuPrefix = 'x-menu';\r\nconst X_CONFIG_NAME = 'menu';\r\n\r\n/**\r\n * Menu Property\r\n */\r\n@Component({ template: '' })\r\nexport class XMenuProperty extends XProperty {\r\n /**\r\n * @zh_CN 节点数据\r\n * @en_US Node data\r\n */\r\n @Input() @XDataConvert() data: XData<XMenuNode> = [];\r\n /**\r\n * @zh_CN 布局方向\r\n * @en_US Layout direction\r\n */\r\n @Input() layout: XMenuLayout = 'row';\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') size?: XSize;\r\n /**\r\n * @zh_CN 缩起菜单\r\n * @en_US Shrink menu\r\n */\r\n @Input() @XInputBoolean() collapsed: XBoolean = false;\r\n /**\r\n * @zh_CN 触发方式,只针对横向布局\r\n * @en_US Trigger mode, only for horizontal layout\r\n */\r\n @Input() @XWithConfig<XMenuTrigger>(X_CONFIG_NAME, 'hover') trigger?: XMenuTrigger;\r\n /**\r\n * @zh_CN 节点模板\r\n * @en_US Node template\r\n */\r\n @Input() nodeTpl?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 展开的所有层级,只对 layout 布局为 'column' 的生效\r\n * @en_US All expanded levels are only effective for the layout of'column'\r\n */\r\n @Input() @XInputBoolean() expandedAll?: XBoolean;\r\n /**\r\n * @zh_CN 默认展开的层级,只对 layout 布局为 'column' 的生效\r\n * @en_US The level expanded by default is only valid for the layout of'column'\r\n */\r\n @Input() @XInputNumber() expandedLevel: XNumber = -1;\r\n /**\r\n * @zh_CN 当前激活的节点 id\r\n * @en_US Currently active node id\r\n */\r\n @Input() activatedId: any;\r\n /**\r\n * @zh_CN 滚动容器\r\n * @en_US Rolling container\r\n */\r\n @Input() target?: string | HTMLElement;\r\n /**\r\n * @zh_CN 弹框的最小宽度\r\n * @en_US Portal min-width\r\n */\r\n @Input() portalMinWidth?: string | number;\r\n /**\r\n * @zh_CN 节点点击的事件\r\n * @en_US Node click event\r\n */\r\n @Output() nodeClick = new EventEmitter<XMenuNode>();\r\n /**\r\n * @zh_CN 节点点击的事件\r\n * @en_US Node click event\r\n */\r\n @Output() activatedIdChange = new EventEmitter<any>();\r\n}\r\n\r\n/**\r\n * @zh_CN MenuNode 节点数据\r\n * @en_US MenuNode node data\r\n */\r\nexport interface XMenuNode extends XParentIdentityProperty<XMenuNode> {\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n icon?: string;\r\n /**\r\n * @zh_CN 展开\r\n * @en_US Unfold\r\n */\r\n open?: boolean;\r\n /**\r\n * @zh_CN 子节点已加载过\r\n * @en_US Child node has been loaded\r\n */\r\n childrenLoaded?: boolean;\r\n /**\r\n * @zh_CN 分类显示,设置值后节点显示成分类样式\r\n * @en_US Category display, after setting the value, the node is displayed in a category style\r\n */\r\n category?: string;\r\n /**\r\n * @zh_CN 分类节点,通过内部计算\r\n * @en_US Classification node, through internal calculation\r\n */\r\n categoryNode?: boolean;\r\n /**\r\n * @zh_CN 检查更新\r\n * @en_US Check for updates\r\n */\r\n change?: Function;\r\n /**\r\n * @zh_CN 路由\r\n * @en_US Router\r\n */\r\n routerLink?: string | any[];\r\n}\r\n\r\n/**\r\n * @zh_CN 布局方式\r\n * @en_US Layout\r\n */\r\nexport type XMenuLayout = 'row' | 'column';\r\n\r\n/**\r\n * @zh_CN 触发方式\r\n * @en_US Trigger method\r\n */\r\nexport type XMenuTrigger = XTrigger;\r\n\r\n/**\r\n * Menu Node\r\n * @selector x-menu-node\r\n * @decorator component\r\n */\r\nexport const XMenuNodePrefix = 'x-menu-node';\r\n\r\n/**\r\n * Menu Node Property\r\n */\r\n@Component({ template: '' })\r\nexport class XMenuNodeProperty extends XProperty {\r\n /**\r\n * @zh_CN 节点数据\r\n * @en_US Node data\r\n */\r\n @Input() node!: XMenuNode;\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, ElementRef, Input } from '@angular/core';\r\nimport { XMenuNodeProperty, XMenuNodePrefix } from './menu.property';\r\nimport { XConfigService } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XMenuNodePrefix}`,\r\n templateUrl: './menu-node.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XMenuNodeComponent extends XMenuNodeProperty {\r\n @Input() menu: any;\r\n constructor(\r\n // @Host() @Optional() public menu: XMenuComponent,\r\n public cdr: ChangeDetectorRef,\r\n public elementRef: ElementRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n ngOnInit() {\r\n if (this.menu?.activatedId == this.node.id) {\r\n this.menu.activatedElementRef = this.elementRef;\r\n }\r\n this.node.change = () => {\r\n this.cdr.detectChanges();\r\n };\r\n }\r\n}\r\n","<a *ngIf=\"node.routerLink && !node.leaf; else menuTpl\" [routerLink]=\"node.routerLink\">\r\n <ng-container *ngTemplateOutlet=\"menuTpl\"></ng-container>\r\n</a>\r\n\r\n<ng-template #menuTpl>\r\n <x-icon class=\"x-menu-icon\" *ngIf=\"node.icon\" [type]=\"node.icon\"></x-icon>\r\n <span class=\"x-menu-text\" *ngIf=\"node.label\">{{ node.label }}</span>\r\n <x-icon class=\"x-menu-arrow\" *ngIf=\"node.leaf\" [class.is-open]=\"node.open\" type=\"fto-chevron-down\"></x-icon>\r\n</ng-template>\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges,\r\n OnDestroy,\r\n AfterViewInit,\r\n Inject\r\n} from '@angular/core';\r\nimport { XMenuPrefix, XMenuNode, XMenuProperty } from './menu.property';\r\nimport { XClassMap, XIsChange, XIsEmpty, XSetData, groupBy, XConfigService } from '@ng-nest/ui/core';\r\nimport { Subject } from 'rxjs';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Component({\r\n selector: `${XMenuPrefix}`,\r\n templateUrl: './menu.component.html',\r\n styleUrls: ['./menu.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XMenuComponent extends XMenuProperty implements OnInit, OnChanges, OnDestroy, AfterViewInit {\r\n showCategory = false;\r\n get scroll(): HTMLElement {\r\n return this._target;\r\n }\r\n nodeClassMap: XClassMap = {};\r\n datas: XMenuNode[] = [];\r\n nodes: XMenuNode[] = [];\r\n rootIndex: number = 0;\r\n activated!: XMenuNode;\r\n activatedElementRef!: ElementRef;\r\n expanded: any[] = [];\r\n private _unSubject = new Subject<void>();\r\n private _target!: HTMLElement;\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n @Inject(DOCUMENT) public doc: any,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { data, activatedId, collapsed, target } = changes;\r\n XIsChange(data) && this.setData();\r\n XIsChange(activatedId) && this.setActivatedNode(this.datas);\r\n XIsChange(collapsed) && this.setClassMap();\r\n if (XIsChange(target)) {\r\n this._target = typeof this.target === 'string' ? this.doc.querySelector(this.target) : this.target;\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.activatedElementRef && this.scroll) {\r\n const nodeRect: DOMRect = this.activatedElementRef.nativeElement.getBoundingClientRect();\r\n const scrollRect: DOMRect = this.scroll.getBoundingClientRect();\r\n let scrollTop = nodeRect.top - scrollRect.top - scrollRect.height;\r\n if (scrollTop > 0) {\r\n let offset = 0;\r\n while (offset < scrollRect.height / 2) {\r\n offset = offset + nodeRect.height;\r\n }\r\n this.scroll.scrollTop = scrollTop + offset;\r\n }\r\n }\r\n }\r\n\r\n onNodeClick(node: XMenuNode) {\r\n if (!this.collapsed) {\r\n this.rootIndex = this.nodes.indexOf(this.getRoot(node));\r\n this.activatedId = node.id;\r\n this.activated = node;\r\n this.nodeClick.emit(node);\r\n this.activatedIdChange.emit(node.id);\r\n this.cdr.detectChanges();\r\n } else {\r\n this.onToggle(null, node, true);\r\n }\r\n }\r\n\r\n rootIndexChange(index: number) {\r\n this.rootIndex = index;\r\n let node = this.nodes[index];\r\n this.activatedId = node.id;\r\n this.activated = node;\r\n this.nodeClick.emit(node);\r\n this.activatedIdChange.emit(node.id);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onToggle(event: Event | null, node: XMenuNode, isDropdown = false) {\r\n if ((this.collapsed && !isDropdown) || node.categoryNode) return;\r\n if (!node.leaf) {\r\n this.activated = node;\r\n } else {\r\n event?.stopPropagation();\r\n node.open = !node.open;\r\n if (node.open && !node.childrenLoaded) {\r\n node.childrenLoaded = true;\r\n }\r\n }\r\n this.nodeClick.emit(node);\r\n node.change && node.change();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n setClassMap() {\r\n this.classMap[`${XMenuPrefix}-${this.layout}`] = this.layout ? true : false;\r\n this.classMap[`${XMenuPrefix}-collapsed`] = Boolean(this.collapsed);\r\n this.nodeClassMap[`x-size-${this.size}`] = this.size ? true : false;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private setData() {\r\n XSetData<XMenuNode>(this.data, this._unSubject).subscribe((x) => {\r\n this.setDataChange(x);\r\n });\r\n }\r\n\r\n private setDataChange(value: XMenuNode[]) {\r\n !XIsEmpty(this.activatedId) && this.setActivatedNode(value);\r\n let handlerDatas: XMenuNode[] = [];\r\n const getChildren = (node: XMenuNode, level: number) => {\r\n node.level = level;\r\n node.children = value.filter((y) => y.pid === node.id);\r\n node.leaf = node.children?.length > 0;\r\n if (node.leaf) {\r\n node.open = Boolean(this.expandedAll) || level <= this.expandedLevel || this.expanded.indexOf(node.id) >= 0;\r\n node.childrenLoaded = node.open;\r\n node.children.map((y) => getChildren(y, level + 1));\r\n node.children = this.setCategory(node.children);\r\n }\r\n handlerDatas = [...handlerDatas, node];\r\n return node;\r\n };\r\n\r\n this.nodes = this.setCategory(value.filter((x) => XIsEmpty(x.pid))).map((x) => getChildren(x, 0));\r\n this.datas = handlerDatas;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private getRoot(value: XMenuNode) {\r\n let root = value;\r\n const getParent = (node: XMenuNode) => {\r\n const parent = this.datas.find((x) => node.pid === x.id) as XMenuNode;\r\n if (XIsEmpty(parent?.pid)) root = parent;\r\n else getParent(parent);\r\n };\r\n if (!XIsEmpty(value.pid)) getParent(value);\r\n return root;\r\n }\r\n\r\n setCategory(nodes: XMenuNode[]) {\r\n const group = groupBy(nodes as XMenuNode[], 'category');\r\n for (let list of group) {\r\n const first = list[0];\r\n if (first.category) {\r\n list.unshift({\r\n id: `${first.pid}__${first.category}`,\r\n pid: first.pid,\r\n label: first.category,\r\n level: first.level,\r\n categoryNode: true\r\n });\r\n }\r\n }\r\n let con: XMenuNode[] = [];\r\n group.map((x) => {\r\n con = con.concat(x);\r\n });\r\n return con;\r\n }\r\n\r\n setActivatedNode(nodes: XMenuNode[]) {\r\n this.activated = nodes.find((x) => x.id == this.activatedId) as XMenuNode;\r\n this.rootIndex = nodes.findIndex((x) => x.id == this.activatedId && !x.pid);\r\n if (this.activated) {\r\n this.setParentOpen(nodes, this.activated);\r\n }\r\n }\r\n\r\n setParentOpen(nodes: XMenuNode[], node: XMenuNode) {\r\n const getParent = (child: XMenuNode) => {\r\n if (XIsEmpty(child.pid)) return;\r\n const parent = nodes.find((x) => x.id === child.pid) as XMenuNode;\r\n if (!XIsEmpty(parent)) {\r\n this.expanded = [...this.expanded, parent.id];\r\n getParent(parent);\r\n }\r\n };\r\n getParent(node);\r\n }\r\n\r\n trackByNode(_index: number, item: XMenuNode) {\r\n return item.id;\r\n }\r\n}\r\n","<div #menu class=\"x-menu\" [ngClass]=\"classMap\">\r\n <div class=\"x-menu-nodes\" *ngIf=\"layout === 'column'\">\r\n <ng-container *ngFor=\"let node of nodes; trackBy: trackByNode\">\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: node, $children: true }\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <x-slider\r\n *ngIf=\"layout === 'row'\"\r\n [data]=\"nodes\"\r\n [size]=\"size\"\r\n [nodeTpl]=\"nodeRowTpl\"\r\n [nodeJustify]=\"'center'\"\r\n [activatedIndex]=\"rootIndex\"\r\n (indexChange)=\"rootIndexChange($event)\"\r\n ></x-slider>\r\n</div>\r\n\r\n<ng-template #nodeTpl let-node=\"$node\">\r\n <x-dropdown\r\n *ngIf=\"node.level === 0 && collapsed\"\r\n [disabled]=\"!node.leaf\"\r\n [data]=\"node.children\"\r\n [trigger]=\"trigger\"\r\n placement=\"right-start\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n [portalMinWidth]=\"portalMinWidth\"\r\n children\r\n >\r\n <x-menu-node [node]=\"node\" [menu]=\"this\"></x-menu-node>\r\n </x-dropdown>\r\n <x-menu-node *ngIf=\"!collapsed\" [node]=\"node\" [menu]=\"this\"></x-menu-node>\r\n</ng-template>\r\n\r\n<ng-template #nodeRowTpl let-node=\"$node\">\r\n <x-dropdown\r\n [disabled]=\"!node.leaf\"\r\n [data]=\"node.children\"\r\n [trigger]=\"trigger\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n [portalMinWidth]=\"portalMinWidth\"\r\n children\r\n >\r\n <div class=\"x-menu-node\" [ngClass]=\"nodeClassMap\">\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n </div>\r\n </x-dropdown>\r\n</ng-template>\r\n\r\n<ng-template #nodeColumnTpl let-node=\"$node\">\r\n <div\r\n class=\"x-menu-node\"\r\n [class.x-activated]=\"activated?.id === node.id\"\r\n [class.x-menu-category]=\"node.categoryNode\"\r\n [ngClass]=\"nodeClassMap\"\r\n (click)=\"onToggle($event, node)\"\r\n [style.padding-left.rem]=\"(node.level + 1) * 0.875\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n </div>\r\n <div class=\"x-menu-nodes\" *ngIf=\"node.childrenLoaded || (node.leaf && node.open)\" [hidden]=\"!node.open\">\r\n <ng-container *ngFor=\"let child of node.children; trackBy: trackByNode\">\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: child }\"></ng-container>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XMenuComponent } from './menu.component';\r\nimport { XMenuNodeComponent } from './menu-node.component';\r\nimport { XDropdownModule } from '@ng-nest/ui/dropdown';\r\nimport { XSliderModule } from '@ng-nest/ui/slider';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XMenuProperty, XMenuNodeProperty } from './menu.property';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@NgModule({\r\n declarations: [XMenuComponent, XMenuNodeComponent, XMenuProperty, XMenuNodeProperty],\r\n exports: [XMenuComponent, XMenuNodeComponent],\r\n imports: [CommonModule, RouterModule, XDropdownModule, XSliderModule, XIconModule]\r\n})\r\nexport class XMenuModule {}\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-menu.mjs","sources":["../../../../lib/ng-nest/ui/menu/menu.property.ts","../../../../lib/ng-nest/ui/menu/menu-node.component.ts","../../../../lib/ng-nest/ui/menu/menu-node.component.html","../../../../lib/ng-nest/ui/menu/menu.component.ts","../../../../lib/ng-nest/ui/menu/menu.component.html","../../../../lib/ng-nest/ui/menu/menu.module.ts","../../../../lib/ng-nest/ui/menu/ng-nest-ui-menu.ts"],"sourcesContent":["import {\r\n XParentIdentityProperty,\r\n XData,\r\n XSize,\r\n XProperty,\r\n XDataConvert,\r\n XInputNumber,\r\n XNumber,\r\n XInputBoolean,\r\n XBoolean,\r\n XWithConfig,\r\n XTrigger\r\n} from '@ng-nest/ui/core';\r\nimport { TemplateRef, Input, Output, EventEmitter, Component } from '@angular/core';\r\n\r\n/**\r\n * Menu\r\n * @selector x-menu\r\n * @decorator component\r\n */\r\nexport const XMenuPrefix = 'x-menu';\r\nconst X_CONFIG_NAME = 'menu';\r\n\r\n/**\r\n * Menu Property\r\n */\r\n@Component({ template: '' })\r\nexport class XMenuProperty extends XProperty {\r\n /**\r\n * @zh_CN 节点数据\r\n * @en_US Node data\r\n */\r\n @Input() @XDataConvert() data: XData<XMenuNode> = [];\r\n /**\r\n * @zh_CN 布局方向\r\n * @en_US Layout direction\r\n */\r\n @Input() layout: XMenuLayout = 'row';\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') size!: XSize;\r\n /**\r\n * @zh_CN 宽度,只有布局 layout 为 'column' 生效\r\n * @en_US Width, only layout layout is the 'column'\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '12rem') width!: string;\r\n /**\r\n * @zh_CN 缩起菜单\r\n * @en_US Shrink menu\r\n */\r\n @Input() @XInputBoolean() collapsed: XBoolean = false;\r\n /**\r\n * @zh_CN 触发方式,只针对横向布局\r\n * @en_US Trigger mode, only for horizontal layout\r\n */\r\n @Input() @XWithConfig<XMenuTrigger>(X_CONFIG_NAME, 'hover') trigger!: XMenuTrigger;\r\n /**\r\n * @zh_CN 节点模板\r\n * @en_US Node template\r\n */\r\n @Input() nodeTpl?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 展开的所有层级,只对 layout 布局为 'column' 的生效\r\n * @en_US All expanded levels are only effective for the layout of'column'\r\n */\r\n @Input() @XInputBoolean() expandedAll?: XBoolean;\r\n /**\r\n * @zh_CN 默认展开的层级,只对 layout 布局为 'column' 的生效\r\n * @en_US The level expanded by default is only valid for the layout of'column'\r\n */\r\n @Input() @XInputNumber() expandedLevel: XNumber = -1;\r\n /**\r\n * @zh_CN 当前激活的节点 id\r\n * @en_US Currently active node id\r\n */\r\n @Input() activatedId: any;\r\n /**\r\n * @zh_CN 滚动容器\r\n * @en_US Rolling container\r\n */\r\n @Input() target?: string | HTMLElement;\r\n /**\r\n * @zh_CN 弹框的最小宽度\r\n * @en_US Portal min-width\r\n */\r\n @Input() portalMinWidth?: string | number;\r\n /**\r\n * @zh_CN 节点点击的事件\r\n * @en_US Node click event\r\n */\r\n @Output() nodeClick = new EventEmitter<XMenuNode>();\r\n /**\r\n * @zh_CN 节点点击的事件\r\n * @en_US Node click event\r\n */\r\n @Output() activatedIdChange = new EventEmitter<any>();\r\n}\r\n\r\n/**\r\n * @zh_CN MenuNode 节点数据\r\n * @en_US MenuNode node data\r\n */\r\nexport interface XMenuNode extends XParentIdentityProperty<XMenuNode> {\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n icon?: string;\r\n /**\r\n * @zh_CN 展开\r\n * @en_US Unfold\r\n */\r\n open?: boolean;\r\n /**\r\n * @zh_CN 子节点已加载过\r\n * @en_US Child node has been loaded\r\n */\r\n childrenLoaded?: boolean;\r\n /**\r\n * @zh_CN 分类显示,设置值后节点显示成分类样式\r\n * @en_US Category display, after setting the value, the node is displayed in a category style\r\n */\r\n category?: string;\r\n /**\r\n * @zh_CN 分类节点,通过内部计算\r\n * @en_US Classification node, through internal calculation\r\n */\r\n categoryNode?: boolean;\r\n /**\r\n * @zh_CN 检查更新\r\n * @en_US Check for updates\r\n */\r\n change?: Function;\r\n /**\r\n * @zh_CN 路由\r\n * @en_US Router\r\n */\r\n routerLink?: string | any[];\r\n}\r\n\r\n/**\r\n * @zh_CN 布局方式\r\n * @en_US Layout\r\n */\r\nexport type XMenuLayout = 'row' | 'column';\r\n\r\n/**\r\n * @zh_CN 触发方式\r\n * @en_US Trigger method\r\n */\r\nexport type XMenuTrigger = XTrigger;\r\n\r\n/**\r\n * Menu Node\r\n * @selector x-menu-node\r\n * @decorator component\r\n */\r\nexport const XMenuNodePrefix = 'x-menu-node';\r\n\r\n/**\r\n * Menu Node Property\r\n */\r\n@Component({ template: '' })\r\nexport class XMenuNodeProperty extends XProperty {\r\n /**\r\n * @zh_CN 节点数据\r\n * @en_US Node data\r\n */\r\n @Input() node!: XMenuNode;\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, ElementRef, Input } from '@angular/core';\r\nimport { XMenuNodeProperty, XMenuNodePrefix } from './menu.property';\r\nimport { XConfigService } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XMenuNodePrefix}`,\r\n templateUrl: './menu-node.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XMenuNodeComponent extends XMenuNodeProperty {\r\n @Input() menu: any;\r\n constructor(\r\n // @Host() @Optional() public menu: XMenuComponent,\r\n public cdr: ChangeDetectorRef,\r\n public elementRef: ElementRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n ngOnInit() {\r\n if (this.menu?.activatedId == this.node.id) {\r\n this.menu.activatedElementRef = this.elementRef;\r\n }\r\n this.node.change = () => {\r\n this.cdr.detectChanges();\r\n };\r\n }\r\n}\r\n","<a *ngIf=\"node.routerLink && !node.leaf; else menuTpl\" [routerLink]=\"node.routerLink\">\r\n <ng-container *ngTemplateOutlet=\"menuTpl\"></ng-container>\r\n</a>\r\n\r\n<ng-template #menuTpl>\r\n <x-icon class=\"x-menu-icon\" *ngIf=\"node.icon\" [type]=\"node.icon\"></x-icon>\r\n <span class=\"x-menu-text\" *ngIf=\"node.label\">{{ node.label }}</span>\r\n <x-icon class=\"x-menu-arrow\" *ngIf=\"node.leaf\" [class.is-open]=\"node.open\" type=\"fto-chevron-down\"></x-icon>\r\n</ng-template>\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges,\r\n OnDestroy,\r\n AfterViewInit,\r\n Inject\r\n} from '@angular/core';\r\nimport { XMenuPrefix, XMenuNode, XMenuProperty } from './menu.property';\r\nimport { XClassMap, XIsChange, XIsEmpty, XSetData, groupBy, XConfigService } from '@ng-nest/ui/core';\r\nimport { Subject } from 'rxjs';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Component({\r\n selector: `${XMenuPrefix}`,\r\n templateUrl: './menu.component.html',\r\n styleUrls: ['./menu.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XMenuComponent extends XMenuProperty implements OnInit, OnChanges, OnDestroy, AfterViewInit {\r\n showCategory = false;\r\n get scroll(): HTMLElement {\r\n return this._target;\r\n }\r\n nodeClassMap: XClassMap = {};\r\n datas: XMenuNode[] = [];\r\n nodes: XMenuNode[] = [];\r\n rootIndex: number = 0;\r\n activated!: XMenuNode;\r\n activatedElementRef!: ElementRef;\r\n expanded: any[] = [];\r\n private _unSubject = new Subject<void>();\r\n private _target!: HTMLElement;\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n @Inject(DOCUMENT) public doc: any,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { data, activatedId, collapsed, target } = changes;\r\n XIsChange(data) && this.setData();\r\n XIsChange(activatedId) && this.setActivatedNode(this.datas);\r\n XIsChange(collapsed) && this.setClassMap();\r\n if (XIsChange(target)) {\r\n this._target = typeof this.target === 'string' ? this.doc.querySelector(this.target) : this.target;\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.activatedElementRef && this.scroll) {\r\n const nodeRect: DOMRect = this.activatedElementRef.nativeElement.getBoundingClientRect();\r\n const scrollRect: DOMRect = this.scroll.getBoundingClientRect();\r\n let scrollTop = nodeRect.top - scrollRect.top - scrollRect.height;\r\n if (scrollTop > 0) {\r\n let offset = 0;\r\n while (offset < scrollRect.height / 2) {\r\n offset = offset + nodeRect.height;\r\n }\r\n this.scroll.scrollTop = scrollTop + offset;\r\n }\r\n }\r\n }\r\n\r\n onNodeClick(node: XMenuNode) {\r\n if (!this.collapsed) {\r\n this.rootIndex = this.nodes.indexOf(this.getRoot(node));\r\n this.activatedId = node.id;\r\n this.activated = node;\r\n this.nodeClick.emit(node);\r\n this.activatedIdChange.emit(node.id);\r\n this.cdr.detectChanges();\r\n } else {\r\n this.onToggle(null, node, true);\r\n }\r\n }\r\n\r\n rootIndexChange(index: number) {\r\n this.rootIndex = index;\r\n let node = this.nodes[index];\r\n this.activatedId = node.id;\r\n this.activated = node;\r\n this.nodeClick.emit(node);\r\n this.activatedIdChange.emit(node.id);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onToggle(event: Event | null, node: XMenuNode, isDropdown = false) {\r\n if ((this.collapsed && !isDropdown) || node.categoryNode) return;\r\n if (!node.leaf) {\r\n this.activated = node;\r\n } else {\r\n event?.stopPropagation();\r\n node.open = !node.open;\r\n if (node.open && !node.childrenLoaded) {\r\n node.childrenLoaded = true;\r\n }\r\n }\r\n this.nodeClick.emit(node);\r\n node.change && node.change();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n setClassMap() {\r\n this.classMap[`${XMenuPrefix}-${this.layout}`] = this.layout ? true : false;\r\n this.classMap[`${XMenuPrefix}-collapsed`] = Boolean(this.collapsed);\r\n this.nodeClassMap[`x-size-${this.size}`] = this.size ? true : false;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private setData() {\r\n XSetData<XMenuNode>(this.data, this._unSubject).subscribe((x) => {\r\n this.setDataChange(x);\r\n });\r\n }\r\n\r\n private setDataChange(value: XMenuNode[]) {\r\n !XIsEmpty(this.activatedId) && this.setActivatedNode(value);\r\n let handlerDatas: XMenuNode[] = [];\r\n const getChildren = (node: XMenuNode, level: number) => {\r\n node.level = level;\r\n node.children = value.filter((y) => y.pid === node.id);\r\n node.leaf = node.children?.length > 0;\r\n if (node.leaf) {\r\n node.open = Boolean(this.expandedAll) || level <= this.expandedLevel || this.expanded.indexOf(node.id) >= 0;\r\n node.childrenLoaded = node.open;\r\n node.children.map((y) => getChildren(y, level + 1));\r\n node.children = this.setCategory(node.children);\r\n }\r\n handlerDatas = [...handlerDatas, node];\r\n return node;\r\n };\r\n\r\n this.nodes = this.setCategory(value.filter((x) => XIsEmpty(x.pid))).map((x) => getChildren(x, 0));\r\n this.datas = handlerDatas;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private getRoot(value: XMenuNode) {\r\n let root = value;\r\n const getParent = (node: XMenuNode) => {\r\n const parent = this.datas.find((x) => node.pid === x.id) as XMenuNode;\r\n if (XIsEmpty(parent?.pid)) root = parent;\r\n else getParent(parent);\r\n };\r\n if (!XIsEmpty(value.pid)) getParent(value);\r\n return root;\r\n }\r\n\r\n setCategory(nodes: XMenuNode[]) {\r\n const group = groupBy(nodes as XMenuNode[], 'category');\r\n for (let list of group) {\r\n const first = list[0];\r\n if (first.category) {\r\n list.unshift({\r\n id: `${first.pid}__${first.category}`,\r\n pid: first.pid,\r\n label: first.category,\r\n level: first.level,\r\n categoryNode: true\r\n });\r\n }\r\n }\r\n let con: XMenuNode[] = [];\r\n group.map((x) => {\r\n con = con.concat(x);\r\n });\r\n return con;\r\n }\r\n\r\n setActivatedNode(nodes: XMenuNode[]) {\r\n this.activated = nodes.find((x) => x.id == this.activatedId) as XMenuNode;\r\n this.rootIndex = nodes.findIndex((x) => x.id == this.activatedId && !x.pid);\r\n if (this.activated) {\r\n this.setParentOpen(nodes, this.activated);\r\n }\r\n }\r\n\r\n setParentOpen(nodes: XMenuNode[], node: XMenuNode) {\r\n const getParent = (child: XMenuNode) => {\r\n if (XIsEmpty(child.pid)) return;\r\n const parent = nodes.find((x) => x.id === child.pid) as XMenuNode;\r\n if (!XIsEmpty(parent)) {\r\n this.expanded = [...this.expanded, parent.id];\r\n getParent(parent);\r\n }\r\n };\r\n getParent(node);\r\n }\r\n\r\n trackByNode(_index: number, item: XMenuNode) {\r\n return item.id;\r\n }\r\n}\r\n","<div #menu class=\"x-menu\" [ngClass]=\"classMap\" [style.width]=\"layout === 'column' ? width : ''\">\r\n <div class=\"x-menu-nodes\" *ngIf=\"layout === 'column'\">\r\n <ng-container *ngFor=\"let node of nodes; trackBy: trackByNode\">\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: node, $children: true }\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <x-slider\r\n *ngIf=\"layout === 'row'\"\r\n [data]=\"nodes\"\r\n [size]=\"size\"\r\n [nodeTpl]=\"nodeRowTpl\"\r\n [nodeJustify]=\"'center'\"\r\n [activatedIndex]=\"rootIndex\"\r\n (indexChange)=\"rootIndexChange($event)\"\r\n ></x-slider>\r\n</div>\r\n\r\n<ng-template #nodeTpl let-node=\"$node\">\r\n <x-dropdown\r\n *ngIf=\"node.level === 0 && collapsed\"\r\n [disabled]=\"!node.leaf\"\r\n [data]=\"node.children\"\r\n [trigger]=\"trigger\"\r\n placement=\"right-start\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n [portalMinWidth]=\"portalMinWidth\"\r\n children\r\n >\r\n <x-menu-node [node]=\"node\" [menu]=\"this\"></x-menu-node>\r\n </x-dropdown>\r\n <x-menu-node *ngIf=\"!collapsed\" [node]=\"node\" [menu]=\"this\"></x-menu-node>\r\n</ng-template>\r\n\r\n<ng-template #nodeRowTpl let-node=\"$node\">\r\n <x-dropdown\r\n [disabled]=\"!node.leaf\"\r\n [data]=\"node.children\"\r\n [trigger]=\"trigger\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n [portalMinWidth]=\"portalMinWidth\"\r\n children\r\n >\r\n <div class=\"x-menu-node\" [ngClass]=\"nodeClassMap\">\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n </div>\r\n </x-dropdown>\r\n</ng-template>\r\n\r\n<ng-template #nodeColumnTpl let-node=\"$node\">\r\n <div\r\n class=\"x-menu-node\"\r\n [class.x-activated]=\"activated?.id === node.id\"\r\n [class.x-menu-category]=\"node.categoryNode\"\r\n [ngClass]=\"nodeClassMap\"\r\n (click)=\"onToggle($event, node)\"\r\n [style.padding-left.rem]=\"(node.level + 1) * 0.875\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n </div>\r\n <div class=\"x-menu-nodes\" *ngIf=\"node.childrenLoaded || (node.leaf && node.open)\" [hidden]=\"!node.open\">\r\n <ng-container *ngFor=\"let child of node.children; trackBy: trackByNode\">\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: child }\"></ng-container>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XMenuComponent } from './menu.component';\r\nimport { XMenuNodeComponent } from './menu-node.component';\r\nimport { XDropdownModule } from '@ng-nest/ui/dropdown';\r\nimport { XSliderModule } from '@ng-nest/ui/slider';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XMenuProperty, XMenuNodeProperty } from './menu.property';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@NgModule({\r\n declarations: [XMenuComponent, XMenuNodeComponent, XMenuProperty, XMenuNodeProperty],\r\n exports: [XMenuComponent, XMenuNodeComponent],\r\n imports: [CommonModule, RouterModule, XDropdownModule, XSliderModule, XIconModule]\r\n})\r\nexport class XMenuModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}