@ng-nest/ui 13.0.4 → 13.0.5

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 (523) hide show
  1. package/alert/alert.component.d.ts +2 -1
  2. package/core/interfaces/layout.type.d.ts +1 -1
  3. package/dialog/{dialog-container.component.d.ts → dialog-portal.component.d.ts} +3 -3
  4. package/dialog/{dialog-container.directives.d.ts → dialog-portal.directives.d.ts} +0 -0
  5. package/dialog/dialog-ref.d.ts +3 -3
  6. package/dialog/dialog.module.d.ts +3 -3
  7. package/dialog/dialog.property.d.ts +3 -3
  8. package/dialog/public-api.d.ts +2 -2
  9. package/drawer/drawer-container.component.d.ts +3 -13
  10. package/drawer/drawer-portal.component.d.ts +18 -0
  11. package/drawer/{drawer-container.directives.d.ts → drawer-portal.directives.d.ts} +0 -0
  12. package/drawer/drawer-ref.d.ts +3 -3
  13. package/drawer/drawer.component.d.ts +10 -3
  14. package/drawer/drawer.module.d.ts +9 -8
  15. package/drawer/drawer.property.d.ts +16 -2
  16. package/drawer/examples/en_US/default/container/README.md +6 -0
  17. package/drawer/examples/zh_CN/default/container/README.md +6 -0
  18. package/drawer/public-api.d.ts +3 -2
  19. package/esm2020/affix/affix.component.mjs +3 -3
  20. package/esm2020/affix/affix.module.mjs +4 -4
  21. package/esm2020/affix/affix.property.mjs +3 -3
  22. package/esm2020/alert/alert.component.mjs +11 -6
  23. package/esm2020/alert/alert.module.mjs +4 -4
  24. package/esm2020/alert/alert.property.mjs +3 -3
  25. package/esm2020/anchor/anchor.component.mjs +3 -3
  26. package/esm2020/anchor/anchor.module.mjs +4 -4
  27. package/esm2020/anchor/anchor.property.mjs +3 -3
  28. package/esm2020/api/api.component.mjs +3 -3
  29. package/esm2020/api/api.module.mjs +4 -4
  30. package/esm2020/auto-complete/auto-complete-portal.component.mjs +3 -3
  31. package/esm2020/auto-complete/auto-complete.component.mjs +3 -3
  32. package/esm2020/auto-complete/auto-complete.module.mjs +6 -7
  33. package/esm2020/auto-complete/auto-complete.property.mjs +3 -3
  34. package/esm2020/avatar/avatar.component.mjs +3 -3
  35. package/esm2020/avatar/avatar.module.mjs +4 -4
  36. package/esm2020/avatar/avatar.property.mjs +3 -3
  37. package/esm2020/back-top/back-top.component.mjs +3 -3
  38. package/esm2020/back-top/back-top.module.mjs +4 -4
  39. package/esm2020/back-top/back-top.property.mjs +3 -3
  40. package/esm2020/badge/badge.component.mjs +3 -3
  41. package/esm2020/badge/badge.module.mjs +4 -4
  42. package/esm2020/badge/badge.property.mjs +3 -3
  43. package/esm2020/base-form/base-form.component.mjs +3 -3
  44. package/esm2020/base-form/base-form.module.mjs +4 -4
  45. package/esm2020/base-form/base-form.property.mjs +3 -3
  46. package/esm2020/border/border.component.mjs +3 -3
  47. package/esm2020/border/border.module.mjs +4 -4
  48. package/esm2020/button/button.component.mjs +3 -3
  49. package/esm2020/button/button.module.mjs +4 -4
  50. package/esm2020/button/button.property.mjs +6 -6
  51. package/esm2020/button/buttons.component.mjs +3 -3
  52. package/esm2020/calendar/calendar.component.mjs +3 -3
  53. package/esm2020/calendar/calendar.module.mjs +4 -4
  54. package/esm2020/calendar/calendar.property.mjs +3 -3
  55. package/esm2020/card/card.component.mjs +3 -3
  56. package/esm2020/card/card.module.mjs +4 -4
  57. package/esm2020/card/card.property.mjs +3 -3
  58. package/esm2020/carousel/carousel-panel.component.mjs +3 -3
  59. package/esm2020/carousel/carousel.component.mjs +3 -3
  60. package/esm2020/carousel/carousel.module.mjs +4 -4
  61. package/esm2020/carousel/carousel.property.mjs +6 -6
  62. package/esm2020/cascade/cascade-portal.component.mjs +3 -3
  63. package/esm2020/cascade/cascade.component.mjs +3 -3
  64. package/esm2020/cascade/cascade.module.mjs +6 -7
  65. package/esm2020/cascade/cascade.property.mjs +3 -3
  66. package/esm2020/checkbox/checkbox.component.mjs +3 -3
  67. package/esm2020/checkbox/checkbox.module.mjs +4 -4
  68. package/esm2020/checkbox/checkbox.property.mjs +3 -3
  69. package/esm2020/collapse/collapse-panel.component.mjs +3 -3
  70. package/esm2020/collapse/collapse.component.mjs +3 -3
  71. package/esm2020/collapse/collapse.module.mjs +4 -4
  72. package/esm2020/collapse/collapse.property.mjs +6 -6
  73. package/esm2020/color/color.component.mjs +3 -3
  74. package/esm2020/color/color.module.mjs +4 -4
  75. package/esm2020/color/color.property.mjs +3 -3
  76. package/esm2020/color-picker/color-picker-portal.component.mjs +3 -3
  77. package/esm2020/color-picker/color-picker.component.mjs +3 -3
  78. package/esm2020/color-picker/color-picker.module.mjs +6 -7
  79. package/esm2020/color-picker/color-picker.property.mjs +3 -3
  80. package/esm2020/comment/comment-reply.component.mjs +3 -3
  81. package/esm2020/comment/comment.component.mjs +3 -3
  82. package/esm2020/comment/comment.module.mjs +4 -4
  83. package/esm2020/comment/comment.property.mjs +6 -6
  84. package/esm2020/container/aside.component.mjs +3 -3
  85. package/esm2020/container/container.component.mjs +3 -3
  86. package/esm2020/container/container.module.mjs +4 -4
  87. package/esm2020/container/container.property.mjs +12 -12
  88. package/esm2020/container/footer.component.mjs +3 -3
  89. package/esm2020/container/header.component.mjs +3 -3
  90. package/esm2020/container/main.component.mjs +3 -3
  91. package/esm2020/core/config/config.service.mjs +3 -3
  92. package/esm2020/core/interfaces/layout.type.mjs +1 -1
  93. package/esm2020/core/services/http.service.mjs +3 -3
  94. package/esm2020/core/services/preloading-strategy.service.mjs +3 -3
  95. package/esm2020/core/services/storage.service.mjs +3 -3
  96. package/esm2020/core/theme/theme.service.mjs +3 -3
  97. package/esm2020/crumb/crumb.component.mjs +3 -3
  98. package/esm2020/crumb/crumb.module.mjs +4 -4
  99. package/esm2020/crumb/crumb.property.mjs +3 -3
  100. package/esm2020/date-picker/date-picker-portal.component.mjs +3 -3
  101. package/esm2020/date-picker/date-picker.component.mjs +3 -3
  102. package/esm2020/date-picker/date-picker.module.mjs +6 -7
  103. package/esm2020/date-picker/date-picker.property.mjs +15 -15
  104. package/esm2020/date-picker/date-range-portal.component.mjs +3 -3
  105. package/esm2020/date-picker/date-range.component.mjs +3 -3
  106. package/esm2020/date-picker/picker-date.component.mjs +3 -3
  107. package/esm2020/date-picker/picker-month.component.mjs +3 -3
  108. package/esm2020/date-picker/picker-year.component.mjs +3 -3
  109. package/esm2020/description/description-item.component.mjs +3 -3
  110. package/esm2020/description/description.component.mjs +3 -3
  111. package/esm2020/description/description.module.mjs +4 -4
  112. package/esm2020/description/description.property.mjs +6 -6
  113. package/esm2020/dialog/dialog-portal.component.mjs +52 -0
  114. package/esm2020/dialog/dialog-portal.directives.mjs +73 -0
  115. package/esm2020/dialog/dialog-ref.mjs +1 -1
  116. package/esm2020/dialog/dialog.component.mjs +7 -7
  117. package/esm2020/dialog/dialog.module.mjs +11 -11
  118. package/esm2020/dialog/dialog.property.mjs +5 -5
  119. package/esm2020/dialog/dialog.service.mjs +6 -6
  120. package/esm2020/dialog/public-api.mjs +3 -3
  121. package/esm2020/doc/doc.component.mjs +3 -3
  122. package/esm2020/doc/doc.module.mjs +4 -4
  123. package/esm2020/drawer/drawer-container.component.mjs +18 -41
  124. package/esm2020/drawer/drawer-portal.component.mjs +52 -0
  125. package/esm2020/drawer/drawer-portal.directives.mjs +57 -0
  126. package/esm2020/drawer/drawer-ref.mjs +1 -1
  127. package/esm2020/drawer/drawer.component.mjs +55 -19
  128. package/esm2020/drawer/drawer.module.mjs +27 -10
  129. package/esm2020/drawer/drawer.property.mjs +22 -4
  130. package/esm2020/drawer/drawer.service.mjs +7 -7
  131. package/esm2020/drawer/public-api.mjs +4 -3
  132. package/esm2020/dropdown/dropdown-portal.component.mjs +3 -3
  133. package/esm2020/dropdown/dropdown.component.mjs +3 -3
  134. package/esm2020/dropdown/dropdown.module.mjs +6 -7
  135. package/esm2020/dropdown/dropdown.property.mjs +3 -3
  136. package/esm2020/empty/empty.component.mjs +3 -3
  137. package/esm2020/empty/empty.module.mjs +4 -4
  138. package/esm2020/empty/empty.property.mjs +3 -3
  139. package/esm2020/examples/examples.component.mjs +3 -3
  140. package/esm2020/examples/examples.module.mjs +4 -4
  141. package/esm2020/find/find.component.mjs +3 -3
  142. package/esm2020/find/find.module.mjs +4 -4
  143. package/esm2020/find/find.property.mjs +3 -3
  144. package/esm2020/form/control.component.mjs +3 -3
  145. package/esm2020/form/form.component.mjs +3 -3
  146. package/esm2020/form/form.module.mjs +4 -4
  147. package/esm2020/form/form.property.mjs +6 -6
  148. package/esm2020/highlight/highlight.component.mjs +3 -3
  149. package/esm2020/highlight/highlight.module.mjs +4 -4
  150. package/esm2020/highlight/highlight.property.mjs +3 -3
  151. package/esm2020/i18n/i18n.directive.mjs +3 -3
  152. package/esm2020/i18n/i18n.module.mjs +4 -4
  153. package/esm2020/i18n/i18n.pipe.mjs +3 -3
  154. package/esm2020/i18n/i18n.service.mjs +3 -3
  155. package/esm2020/icon/icon.component.mjs +3 -3
  156. package/esm2020/icon/icon.module.mjs +4 -4
  157. package/esm2020/icon/icon.property.mjs +3 -3
  158. package/esm2020/icon/icon.service.mjs +3 -3
  159. package/esm2020/inner/inner.component.mjs +3 -3
  160. package/esm2020/inner/inner.module.mjs +4 -4
  161. package/esm2020/inner/inner.property.mjs +3 -3
  162. package/esm2020/input/input-group.component.mjs +3 -3
  163. package/esm2020/input/input.component.mjs +3 -3
  164. package/esm2020/input/input.module.mjs +4 -4
  165. package/esm2020/input/input.property.mjs +6 -6
  166. package/esm2020/input-number/input-number.component.mjs +3 -3
  167. package/esm2020/input-number/input-number.module.mjs +4 -4
  168. package/esm2020/input-number/input-number.property.mjs +3 -3
  169. package/esm2020/layout/col.component.mjs +3 -3
  170. package/esm2020/layout/layout.module.mjs +4 -4
  171. package/esm2020/layout/layout.property.mjs +6 -6
  172. package/esm2020/layout/row.component.mjs +3 -3
  173. package/esm2020/link/link.component.mjs +3 -3
  174. package/esm2020/link/link.module.mjs +4 -4
  175. package/esm2020/link/link.property.mjs +3 -3
  176. package/esm2020/list/list-option.component.mjs +3 -3
  177. package/esm2020/list/list.component.mjs +3 -3
  178. package/esm2020/list/list.module.mjs +4 -4
  179. package/esm2020/list/list.property.mjs +6 -6
  180. package/esm2020/loading/loading.component.mjs +3 -3
  181. package/esm2020/loading/loading.module.mjs +4 -4
  182. package/esm2020/loading/loading.property.mjs +3 -3
  183. package/esm2020/menu/menu-node.component.mjs +3 -3
  184. package/esm2020/menu/menu.component.mjs +3 -3
  185. package/esm2020/menu/menu.module.mjs +4 -4
  186. package/esm2020/menu/menu.property.mjs +6 -6
  187. package/esm2020/message/message-ref.mjs +12 -0
  188. package/esm2020/message/message.component.mjs +6 -6
  189. package/esm2020/message/message.module.mjs +4 -4
  190. package/esm2020/message/message.property.mjs +1 -1
  191. package/esm2020/message/message.service.mjs +37 -16
  192. package/esm2020/message/public-api.mjs +2 -1
  193. package/esm2020/message-box/message-box.component.mjs +3 -3
  194. package/esm2020/message-box/message-box.module.mjs +4 -4
  195. package/esm2020/message-box/message-box.service.mjs +3 -3
  196. package/esm2020/notification/notification.component.mjs +3 -3
  197. package/esm2020/notification/notification.module.mjs +4 -4
  198. package/esm2020/notification/notification.service.mjs +3 -3
  199. package/esm2020/outlet/outlet.directive.mjs +3 -3
  200. package/esm2020/outlet/outlet.module.mjs +4 -4
  201. package/esm2020/page-header/page-header.component.mjs +3 -3
  202. package/esm2020/page-header/page-header.module.mjs +4 -4
  203. package/esm2020/page-header/page-header.property.mjs +3 -3
  204. package/esm2020/pagination/pagination.component.mjs +3 -3
  205. package/esm2020/pagination/pagination.module.mjs +4 -4
  206. package/esm2020/pagination/pagination.property.mjs +3 -3
  207. package/esm2020/pattern/pattern.component.mjs +3 -3
  208. package/esm2020/pattern/pattern.module.mjs +4 -4
  209. package/esm2020/popconfirm/popconfirm.component.mjs +28 -7
  210. package/esm2020/popconfirm/popconfirm.module.mjs +4 -4
  211. package/esm2020/popconfirm/popconfirm.property.mjs +12 -5
  212. package/esm2020/popover/popover-portal.component.mjs +3 -3
  213. package/esm2020/popover/popover.directive.mjs +11 -5
  214. package/esm2020/popover/popover.module.mjs +6 -7
  215. package/esm2020/popover/popover.property.mjs +9 -4
  216. package/esm2020/portal/portal.module.mjs +4 -4
  217. package/esm2020/portal/portal.service.mjs +3 -3
  218. package/esm2020/progress/progress.component.mjs +3 -3
  219. package/esm2020/progress/progress.module.mjs +4 -4
  220. package/esm2020/progress/progress.property.mjs +3 -3
  221. package/esm2020/radio/radio.component.mjs +3 -3
  222. package/esm2020/radio/radio.module.mjs +4 -4
  223. package/esm2020/radio/radio.property.mjs +3 -3
  224. package/esm2020/rate/rate.component.mjs +3 -3
  225. package/esm2020/rate/rate.module.mjs +4 -4
  226. package/esm2020/rate/rate.property.mjs +3 -3
  227. package/esm2020/result/result.component.mjs +3 -3
  228. package/esm2020/result/result.module.mjs +4 -4
  229. package/esm2020/result/result.property.mjs +3 -3
  230. package/esm2020/ripple/ripple.directive.mjs +3 -3
  231. package/esm2020/ripple/ripple.module.mjs +4 -4
  232. package/esm2020/ripple/ripple.property.mjs +3 -3
  233. package/esm2020/select/select-portal.component.mjs +3 -3
  234. package/esm2020/select/select.component.mjs +3 -3
  235. package/esm2020/select/select.module.mjs +6 -7
  236. package/esm2020/select/select.property.mjs +3 -3
  237. package/esm2020/skeleton/skeleton.component.mjs +3 -3
  238. package/esm2020/skeleton/skeleton.module.mjs +4 -4
  239. package/esm2020/skeleton/skeleton.property.mjs +3 -3
  240. package/esm2020/slider/slider.component.mjs +3 -3
  241. package/esm2020/slider/slider.module.mjs +4 -4
  242. package/esm2020/slider/slider.property.mjs +3 -3
  243. package/esm2020/slider-select/slider-select.component.mjs +3 -3
  244. package/esm2020/slider-select/slider-select.module.mjs +4 -4
  245. package/esm2020/slider-select/slider-select.property.mjs +3 -3
  246. package/esm2020/statistic/countdown.component.mjs +3 -3
  247. package/esm2020/statistic/statistic.component.mjs +3 -3
  248. package/esm2020/statistic/statistic.module.mjs +4 -4
  249. package/esm2020/statistic/statistic.property.mjs +6 -6
  250. package/esm2020/steps/steps.component.mjs +3 -3
  251. package/esm2020/steps/steps.module.mjs +4 -4
  252. package/esm2020/steps/steps.property.mjs +3 -3
  253. package/esm2020/switch/switch.component.mjs +3 -3
  254. package/esm2020/switch/switch.module.mjs +4 -4
  255. package/esm2020/switch/switch.property.mjs +3 -3
  256. package/esm2020/table/drag.directive.mjs +3 -3
  257. package/esm2020/table/table-body.component.mjs +3 -3
  258. package/esm2020/table/table-foot.component.mjs +3 -3
  259. package/esm2020/table/table-head.component.mjs +3 -3
  260. package/esm2020/table/table.component.mjs +3 -3
  261. package/esm2020/table/table.module.mjs +4 -4
  262. package/esm2020/table/table.property.mjs +12 -12
  263. package/esm2020/tabs/tab-content.component.mjs +3 -3
  264. package/esm2020/tabs/tab.component.mjs +3 -3
  265. package/esm2020/tabs/tabs.component.mjs +3 -3
  266. package/esm2020/tabs/tabs.module.mjs +4 -4
  267. package/esm2020/tabs/tabs.property.mjs +6 -6
  268. package/esm2020/tag/tag.component.mjs +3 -3
  269. package/esm2020/tag/tag.module.mjs +4 -4
  270. package/esm2020/tag/tag.property.mjs +3 -3
  271. package/esm2020/text-retract/text-retract.component.mjs +3 -3
  272. package/esm2020/text-retract/text-retract.module.mjs +4 -4
  273. package/esm2020/text-retract/text-retract.property.mjs +3 -3
  274. package/esm2020/textarea/textarea.component.mjs +3 -3
  275. package/esm2020/textarea/textarea.module.mjs +4 -4
  276. package/esm2020/textarea/textarea.property.mjs +3 -3
  277. package/esm2020/theme/theme.component.mjs +3 -3
  278. package/esm2020/theme/theme.module.mjs +4 -4
  279. package/esm2020/theme/theme.property.mjs +3 -3
  280. package/esm2020/time-ago/time-ago.module.mjs +4 -4
  281. package/esm2020/time-ago/time-ago.pipe.mjs +3 -3
  282. package/esm2020/time-picker/time-picker-frame.component.mjs +3 -3
  283. package/esm2020/time-picker/time-picker-portal.component.mjs +3 -3
  284. package/esm2020/time-picker/time-picker.component.mjs +3 -3
  285. package/esm2020/time-picker/time-picker.module.mjs +6 -7
  286. package/esm2020/time-picker/time-picker.property.mjs +3 -3
  287. package/esm2020/time-range/time-range.module.mjs +4 -4
  288. package/esm2020/time-range/time-range.pipe.mjs +3 -3
  289. package/esm2020/timeline/timeline.component.mjs +3 -3
  290. package/esm2020/timeline/timeline.module.mjs +4 -4
  291. package/esm2020/timeline/timeline.property.mjs +3 -3
  292. package/esm2020/tooltip/tooltip-portal.component.mjs +3 -3
  293. package/esm2020/tooltip/tooltip.directive.mjs +3 -3
  294. package/esm2020/tooltip/tooltip.module.mjs +6 -7
  295. package/esm2020/tooltip/tooltip.property.mjs +3 -3
  296. package/esm2020/transfer/transfer.component.mjs +3 -3
  297. package/esm2020/transfer/transfer.module.mjs +4 -4
  298. package/esm2020/transfer/transfer.property.mjs +3 -3
  299. package/esm2020/tree/tree-node.component.mjs +3 -3
  300. package/esm2020/tree/tree.component.mjs +3 -3
  301. package/esm2020/tree/tree.module.mjs +4 -4
  302. package/esm2020/tree/tree.property.mjs +6 -6
  303. package/esm2020/tree-file/tree-file.component.mjs +3 -3
  304. package/esm2020/tree-file/tree-file.module.mjs +4 -4
  305. package/esm2020/tree-file/tree-file.property.mjs +3 -3
  306. package/esm2020/typography/typography.component.mjs +3 -3
  307. package/esm2020/typography/typography.module.mjs +4 -4
  308. package/esm2020/typography/typography.property.mjs +3 -3
  309. package/esm2020/upload/upload-portal.component.mjs +3 -3
  310. package/esm2020/upload/upload.component.mjs +3 -3
  311. package/esm2020/upload/upload.module.mjs +4 -4
  312. package/esm2020/upload/upload.property.mjs +3 -3
  313. package/fesm2015/ng-nest-ui-affix.mjs +10 -10
  314. package/fesm2015/ng-nest-ui-alert.mjs +17 -12
  315. package/fesm2015/ng-nest-ui-alert.mjs.map +1 -1
  316. package/fesm2015/ng-nest-ui-anchor.mjs +10 -10
  317. package/fesm2015/ng-nest-ui-api.mjs +7 -7
  318. package/fesm2015/ng-nest-ui-auto-complete.mjs +14 -15
  319. package/fesm2015/ng-nest-ui-auto-complete.mjs.map +1 -1
  320. package/fesm2015/ng-nest-ui-avatar.mjs +10 -10
  321. package/fesm2015/ng-nest-ui-back-top.mjs +10 -10
  322. package/fesm2015/ng-nest-ui-badge.mjs +10 -10
  323. package/fesm2015/ng-nest-ui-base-form.mjs +10 -10
  324. package/fesm2015/ng-nest-ui-border.mjs +7 -7
  325. package/fesm2015/ng-nest-ui-button.mjs +16 -16
  326. package/fesm2015/ng-nest-ui-calendar.mjs +10 -10
  327. package/fesm2015/ng-nest-ui-card.mjs +10 -10
  328. package/fesm2015/ng-nest-ui-carousel.mjs +16 -16
  329. package/fesm2015/ng-nest-ui-cascade.mjs +14 -15
  330. package/fesm2015/ng-nest-ui-cascade.mjs.map +1 -1
  331. package/fesm2015/ng-nest-ui-checkbox.mjs +10 -10
  332. package/fesm2015/ng-nest-ui-collapse.mjs +16 -16
  333. package/fesm2015/ng-nest-ui-color-picker.mjs +14 -15
  334. package/fesm2015/ng-nest-ui-color-picker.mjs.map +1 -1
  335. package/fesm2015/ng-nest-ui-color.mjs +10 -10
  336. package/fesm2015/ng-nest-ui-comment.mjs +16 -16
  337. package/fesm2015/ng-nest-ui-container.mjs +31 -31
  338. package/fesm2015/ng-nest-ui-core.mjs +15 -15
  339. package/fesm2015/ng-nest-ui-crumb.mjs +10 -10
  340. package/fesm2015/ng-nest-ui-date-picker.mjs +41 -42
  341. package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
  342. package/fesm2015/ng-nest-ui-description.mjs +16 -16
  343. package/fesm2015/ng-nest-ui-dialog.mjs +43 -43
  344. package/fesm2015/ng-nest-ui-dialog.mjs.map +1 -1
  345. package/fesm2015/ng-nest-ui-doc.mjs +7 -7
  346. package/fesm2015/ng-nest-ui-drawer.mjs +147 -50
  347. package/fesm2015/ng-nest-ui-drawer.mjs.map +1 -1
  348. package/fesm2015/ng-nest-ui-dropdown.mjs +14 -15
  349. package/fesm2015/ng-nest-ui-dropdown.mjs.map +1 -1
  350. package/fesm2015/ng-nest-ui-empty.mjs +10 -10
  351. package/fesm2015/ng-nest-ui-examples.mjs +7 -7
  352. package/fesm2015/ng-nest-ui-find.mjs +10 -10
  353. package/fesm2015/ng-nest-ui-form.mjs +16 -16
  354. package/fesm2015/ng-nest-ui-highlight.mjs +10 -10
  355. package/fesm2015/ng-nest-ui-i18n.mjs +13 -13
  356. package/fesm2015/ng-nest-ui-icon.mjs +13 -13
  357. package/fesm2015/ng-nest-ui-inner.mjs +10 -10
  358. package/fesm2015/ng-nest-ui-input-number.mjs +10 -10
  359. package/fesm2015/ng-nest-ui-input.mjs +16 -16
  360. package/fesm2015/ng-nest-ui-layout.mjs +16 -16
  361. package/fesm2015/ng-nest-ui-link.mjs +10 -10
  362. package/fesm2015/ng-nest-ui-list.mjs +16 -16
  363. package/fesm2015/ng-nest-ui-loading.mjs +10 -10
  364. package/fesm2015/ng-nest-ui-menu.mjs +16 -16
  365. package/fesm2015/ng-nest-ui-message-box.mjs +10 -10
  366. package/fesm2015/ng-nest-ui-message.mjs +58 -25
  367. package/fesm2015/ng-nest-ui-message.mjs.map +1 -1
  368. package/fesm2015/ng-nest-ui-notification.mjs +10 -10
  369. package/fesm2015/ng-nest-ui-outlet.mjs +7 -7
  370. package/fesm2015/ng-nest-ui-page-header.mjs +10 -10
  371. package/fesm2015/ng-nest-ui-pagination.mjs +10 -10
  372. package/fesm2015/ng-nest-ui-pattern.mjs +7 -7
  373. package/fesm2015/ng-nest-ui-popconfirm.mjs +42 -14
  374. package/fesm2015/ng-nest-ui-popconfirm.mjs.map +1 -1
  375. package/fesm2015/ng-nest-ui-popover.mjs +26 -16
  376. package/fesm2015/ng-nest-ui-popover.mjs.map +1 -1
  377. package/fesm2015/ng-nest-ui-portal.mjs +7 -7
  378. package/fesm2015/ng-nest-ui-progress.mjs +10 -10
  379. package/fesm2015/ng-nest-ui-radio.mjs +10 -10
  380. package/fesm2015/ng-nest-ui-rate.mjs +10 -10
  381. package/fesm2015/ng-nest-ui-result.mjs +10 -10
  382. package/fesm2015/ng-nest-ui-ripple.mjs +10 -10
  383. package/fesm2015/ng-nest-ui-select.mjs +14 -15
  384. package/fesm2015/ng-nest-ui-select.mjs.map +1 -1
  385. package/fesm2015/ng-nest-ui-skeleton.mjs +10 -10
  386. package/fesm2015/ng-nest-ui-slider-select.mjs +10 -10
  387. package/fesm2015/ng-nest-ui-slider.mjs +10 -10
  388. package/fesm2015/ng-nest-ui-statistic.mjs +16 -16
  389. package/fesm2015/ng-nest-ui-steps.mjs +10 -10
  390. package/fesm2015/ng-nest-ui-switch.mjs +10 -10
  391. package/fesm2015/ng-nest-ui-table.mjs +31 -31
  392. package/fesm2015/ng-nest-ui-tabs.mjs +19 -19
  393. package/fesm2015/ng-nest-ui-tag.mjs +10 -10
  394. package/fesm2015/ng-nest-ui-text-retract.mjs +10 -10
  395. package/fesm2015/ng-nest-ui-textarea.mjs +10 -10
  396. package/fesm2015/ng-nest-ui-theme.mjs +10 -10
  397. package/fesm2015/ng-nest-ui-time-ago.mjs +7 -7
  398. package/fesm2015/ng-nest-ui-time-picker.mjs +17 -18
  399. package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
  400. package/fesm2015/ng-nest-ui-time-range.mjs +7 -7
  401. package/fesm2015/ng-nest-ui-timeline.mjs +10 -10
  402. package/fesm2015/ng-nest-ui-tooltip.mjs +14 -15
  403. package/fesm2015/ng-nest-ui-tooltip.mjs.map +1 -1
  404. package/fesm2015/ng-nest-ui-transfer.mjs +10 -10
  405. package/fesm2015/ng-nest-ui-tree-file.mjs +10 -10
  406. package/fesm2015/ng-nest-ui-tree.mjs +16 -16
  407. package/fesm2015/ng-nest-ui-typography.mjs +10 -10
  408. package/fesm2015/ng-nest-ui-upload.mjs +13 -13
  409. package/fesm2020/ng-nest-ui-affix.mjs +10 -10
  410. package/fesm2020/ng-nest-ui-alert.mjs +17 -12
  411. package/fesm2020/ng-nest-ui-alert.mjs.map +1 -1
  412. package/fesm2020/ng-nest-ui-anchor.mjs +10 -10
  413. package/fesm2020/ng-nest-ui-api.mjs +7 -7
  414. package/fesm2020/ng-nest-ui-auto-complete.mjs +14 -15
  415. package/fesm2020/ng-nest-ui-auto-complete.mjs.map +1 -1
  416. package/fesm2020/ng-nest-ui-avatar.mjs +10 -10
  417. package/fesm2020/ng-nest-ui-back-top.mjs +10 -10
  418. package/fesm2020/ng-nest-ui-badge.mjs +10 -10
  419. package/fesm2020/ng-nest-ui-base-form.mjs +10 -10
  420. package/fesm2020/ng-nest-ui-border.mjs +7 -7
  421. package/fesm2020/ng-nest-ui-button.mjs +16 -16
  422. package/fesm2020/ng-nest-ui-calendar.mjs +10 -10
  423. package/fesm2020/ng-nest-ui-card.mjs +10 -10
  424. package/fesm2020/ng-nest-ui-carousel.mjs +16 -16
  425. package/fesm2020/ng-nest-ui-cascade.mjs +14 -15
  426. package/fesm2020/ng-nest-ui-cascade.mjs.map +1 -1
  427. package/fesm2020/ng-nest-ui-checkbox.mjs +10 -10
  428. package/fesm2020/ng-nest-ui-collapse.mjs +16 -16
  429. package/fesm2020/ng-nest-ui-color-picker.mjs +14 -15
  430. package/fesm2020/ng-nest-ui-color-picker.mjs.map +1 -1
  431. package/fesm2020/ng-nest-ui-color.mjs +10 -10
  432. package/fesm2020/ng-nest-ui-comment.mjs +16 -16
  433. package/fesm2020/ng-nest-ui-container.mjs +31 -31
  434. package/fesm2020/ng-nest-ui-core.mjs +15 -15
  435. package/fesm2020/ng-nest-ui-crumb.mjs +10 -10
  436. package/fesm2020/ng-nest-ui-date-picker.mjs +41 -42
  437. package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
  438. package/fesm2020/ng-nest-ui-description.mjs +16 -16
  439. package/fesm2020/ng-nest-ui-dialog.mjs +43 -43
  440. package/fesm2020/ng-nest-ui-dialog.mjs.map +1 -1
  441. package/fesm2020/ng-nest-ui-doc.mjs +7 -7
  442. package/fesm2020/ng-nest-ui-drawer.mjs +145 -50
  443. package/fesm2020/ng-nest-ui-drawer.mjs.map +1 -1
  444. package/fesm2020/ng-nest-ui-dropdown.mjs +14 -15
  445. package/fesm2020/ng-nest-ui-dropdown.mjs.map +1 -1
  446. package/fesm2020/ng-nest-ui-empty.mjs +10 -10
  447. package/fesm2020/ng-nest-ui-examples.mjs +7 -7
  448. package/fesm2020/ng-nest-ui-find.mjs +10 -10
  449. package/fesm2020/ng-nest-ui-form.mjs +16 -16
  450. package/fesm2020/ng-nest-ui-highlight.mjs +10 -10
  451. package/fesm2020/ng-nest-ui-i18n.mjs +13 -13
  452. package/fesm2020/ng-nest-ui-icon.mjs +13 -13
  453. package/fesm2020/ng-nest-ui-inner.mjs +10 -10
  454. package/fesm2020/ng-nest-ui-input-number.mjs +10 -10
  455. package/fesm2020/ng-nest-ui-input.mjs +16 -16
  456. package/fesm2020/ng-nest-ui-layout.mjs +16 -16
  457. package/fesm2020/ng-nest-ui-link.mjs +10 -10
  458. package/fesm2020/ng-nest-ui-list.mjs +16 -16
  459. package/fesm2020/ng-nest-ui-loading.mjs +10 -10
  460. package/fesm2020/ng-nest-ui-menu.mjs +16 -16
  461. package/fesm2020/ng-nest-ui-message-box.mjs +10 -10
  462. package/fesm2020/ng-nest-ui-message.mjs +57 -25
  463. package/fesm2020/ng-nest-ui-message.mjs.map +1 -1
  464. package/fesm2020/ng-nest-ui-notification.mjs +10 -10
  465. package/fesm2020/ng-nest-ui-outlet.mjs +7 -7
  466. package/fesm2020/ng-nest-ui-page-header.mjs +10 -10
  467. package/fesm2020/ng-nest-ui-pagination.mjs +10 -10
  468. package/fesm2020/ng-nest-ui-pattern.mjs +7 -7
  469. package/fesm2020/ng-nest-ui-popconfirm.mjs +42 -14
  470. package/fesm2020/ng-nest-ui-popconfirm.mjs.map +1 -1
  471. package/fesm2020/ng-nest-ui-popover.mjs +26 -16
  472. package/fesm2020/ng-nest-ui-popover.mjs.map +1 -1
  473. package/fesm2020/ng-nest-ui-portal.mjs +7 -7
  474. package/fesm2020/ng-nest-ui-progress.mjs +10 -10
  475. package/fesm2020/ng-nest-ui-radio.mjs +10 -10
  476. package/fesm2020/ng-nest-ui-rate.mjs +10 -10
  477. package/fesm2020/ng-nest-ui-result.mjs +10 -10
  478. package/fesm2020/ng-nest-ui-ripple.mjs +10 -10
  479. package/fesm2020/ng-nest-ui-select.mjs +14 -15
  480. package/fesm2020/ng-nest-ui-select.mjs.map +1 -1
  481. package/fesm2020/ng-nest-ui-skeleton.mjs +10 -10
  482. package/fesm2020/ng-nest-ui-slider-select.mjs +10 -10
  483. package/fesm2020/ng-nest-ui-slider.mjs +10 -10
  484. package/fesm2020/ng-nest-ui-statistic.mjs +16 -16
  485. package/fesm2020/ng-nest-ui-steps.mjs +10 -10
  486. package/fesm2020/ng-nest-ui-switch.mjs +10 -10
  487. package/fesm2020/ng-nest-ui-table.mjs +31 -31
  488. package/fesm2020/ng-nest-ui-tabs.mjs +19 -19
  489. package/fesm2020/ng-nest-ui-tag.mjs +10 -10
  490. package/fesm2020/ng-nest-ui-text-retract.mjs +10 -10
  491. package/fesm2020/ng-nest-ui-textarea.mjs +10 -10
  492. package/fesm2020/ng-nest-ui-theme.mjs +10 -10
  493. package/fesm2020/ng-nest-ui-time-ago.mjs +7 -7
  494. package/fesm2020/ng-nest-ui-time-picker.mjs +17 -18
  495. package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
  496. package/fesm2020/ng-nest-ui-time-range.mjs +7 -7
  497. package/fesm2020/ng-nest-ui-timeline.mjs +10 -10
  498. package/fesm2020/ng-nest-ui-tooltip.mjs +14 -15
  499. package/fesm2020/ng-nest-ui-tooltip.mjs.map +1 -1
  500. package/fesm2020/ng-nest-ui-transfer.mjs +10 -10
  501. package/fesm2020/ng-nest-ui-tree-file.mjs +10 -10
  502. package/fesm2020/ng-nest-ui-tree.mjs +16 -16
  503. package/fesm2020/ng-nest-ui-typography.mjs +10 -10
  504. package/fesm2020/ng-nest-ui-upload.mjs +13 -13
  505. package/message/examples/en_US/default/loading/README.md +6 -0
  506. package/message/examples/zh_CN/default/loading/README.md +6 -0
  507. package/message/message-ref.d.ts +8 -0
  508. package/message/message.component.d.ts +3 -3
  509. package/message/message.property.d.ts +23 -3
  510. package/message/message.service.d.ts +4 -1
  511. package/message/public-api.d.ts +1 -0
  512. package/package.json +7 -7
  513. package/popconfirm/examples/en_US/default/async-close/README.md +6 -0
  514. package/popconfirm/examples/en_US/default/condition/README.md +6 -0
  515. package/popconfirm/examples/zh_CN/default/async-close/README.md +6 -0
  516. package/popconfirm/examples/zh_CN/default/condition/README.md +6 -0
  517. package/popconfirm/popconfirm.component.d.ts +6 -2
  518. package/popconfirm/popconfirm.property.d.ts +13 -2
  519. package/popover/popover.property.d.ts +6 -1
  520. package/steps/examples/zh_CN/default/node-status/README.md +1 -1
  521. package/esm2020/dialog/dialog-container.component.mjs +0 -52
  522. package/esm2020/dialog/dialog-container.directives.mjs +0 -73
  523. package/esm2020/drawer/drawer-container.directives.mjs +0 -57
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-drawer.mjs","sources":["../../../../lib/ng-nest/ui/drawer/drawer.property.ts","../../../../lib/ng-nest/ui/drawer/drawer.component.ts","../../../../lib/ng-nest/ui/drawer/drawer.component.html","../../../../lib/ng-nest/ui/drawer/drawer-container.component.ts","../../../../lib/ng-nest/ui/drawer/drawer-container.component.html","../../../../lib/ng-nest/ui/drawer/drawer-ref.ts","../../../../lib/ng-nest/ui/drawer/drawer-container.directives.ts","../../../../lib/ng-nest/ui/drawer/drawer.service.ts","../../../../lib/ng-nest/ui/drawer/drawer.module.ts","../../../../lib/ng-nest/ui/drawer/ng-nest-ui-drawer.ts"],"sourcesContent":["import { XTemplate, XPosition, XProperty, XInputBoolean, XBoolean, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Output, EventEmitter, Component, InjectionToken, ViewContainerRef } from '@angular/core';\r\nimport { XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { XDrawerContainerComponent } from './drawer-container.component';\r\nimport { XDrawerRef } from './drawer-ref';\r\n\r\n/**\r\n * Drawer\r\n * @selector x-drawer\r\n * @decorator component\r\n */\r\nexport const XDrawerPrefix = 'x-drawer';\r\nexport const X_DRAWER_CONFIG_NAME = 'drawer';\r\nexport const X_DRAWER_DATA = new InjectionToken<any>('XDrawerData');\r\n\r\n/**\r\n * Drawer Property\r\n */\r\n@Component({ template: '' })\r\nexport class XDrawerProperty extends XProperty {\r\n /**\r\n * @zh_CN 标题\r\n * @en_US Title\r\n */\r\n @Input() title?: XTemplate;\r\n /**\r\n * @zh_CN 显示/隐藏\r\n * @en_US Show/hide\r\n */\r\n @Input() @XInputBoolean() visible?: XBoolean;\r\n /**\r\n * @zh_CN 展示方向\r\n * @en_US Display direction\r\n */\r\n @Input() @XWithConfig<XPosition>(X_DRAWER_CONFIG_NAME, 'right') placement?: XPosition;\r\n /**\r\n * @zh_CN 尺寸,支持固定值\r\n * @en_US Size, supports fixed value\r\n */\r\n @Input() @XWithConfig<string>(X_DRAWER_CONFIG_NAME, '30%') size?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DRAWER_CONFIG_NAME, true) backdropClose!: XBoolean;\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DRAWER_CONFIG_NAME, true) hasBackdrop!: XBoolean;\r\n /**\r\n * @zh_CN 自定义样式名\r\n * @en_US Custom style name\r\n */\r\n @Input() @XWithConfig<string>(X_DRAWER_CONFIG_NAME, '') className!: string;\r\n /**\r\n * @zh_CN 关闭的事件\r\n * @en_US Closed event\r\n */\r\n @Output() close = new EventEmitter();\r\n /**\r\n * @zh_CN 显示/隐藏的事件\r\n * @en_US Show/hide event\r\n */\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n}\r\n\r\n/**\r\n * Drawer Option\r\n */\r\nexport interface XDrawerOption {\r\n /**\r\n * @zh_CN 展示方向\r\n * @en_US Display direction\r\n * @default 'right'\r\n * @withConfig true\r\n */\r\n placement?: XPosition;\r\n /**\r\n * @zh_CN 尺寸,支持固定值\r\n * @en_US Size, supports fixed value\r\n * @default '30%'\r\n * @withConfig true\r\n */\r\n size?: string;\r\n /**\r\n * @zh_CN 自定义样式名\r\n * @en_US Custom style name\r\n */\r\n className?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n * @default true\r\n * @withConfig true\r\n */\r\n backdropClose?: boolean;\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n * @default true\r\n * @withConfig true\r\n */\r\n hasBackdrop?: boolean;\r\n /**\r\n * @zh_CN 数据,通过 \"@Inject(X_DRAWER_DATA)\" 来接收数据\r\n * @en_US Data. Receive data by \"@Inject(X_DRAWER_DATA)\"\r\n */\r\n data?: any;\r\n /**\r\n * @en_US 视图容器实例可以包含其他视图容器。\r\n * @en_US A view container instance can contain other view containers.\r\n */\r\n viewContainerRef?: ViewContainerRef;\r\n}\r\n\r\n/**\r\n * @zh_CN 创建的抽屉对象\r\n * @en_US Drawer object created\r\n */\r\nexport interface XDrawerOverlayRef extends XPortalOverlayRef<XDrawerContainerComponent> {\r\n drawerRef?: XDrawerRef<any>;\r\n}\r\n\r\nexport type XDrawerAnimationState = XPosition | 'void';\r\n\r\nexport interface XDrawerAnimationEvent {\r\n state: XDrawerAnimationState;\r\n action: 'start' | 'done';\r\n totalTime: number;\r\n}\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 ViewChild,\r\n SimpleChanges,\r\n OnChanges,\r\n TemplateRef,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { XDrawerPrefix, XDrawerProperty } from './drawer.property';\r\nimport { XIsChange, XIsEmpty, XSlideAnimation, XConfigService } from '@ng-nest/ui/core';\r\nimport { XPortalService, XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { Subscription } from 'rxjs';\r\nimport { Overlay } from '@angular/cdk/overlay';\r\n\r\n@Component({\r\n selector: `${XDrawerPrefix}`,\r\n templateUrl: './drawer.component.html',\r\n styleUrls: ['./drawer.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XSlideAnimation]\r\n})\r\nexport class XDrawerComponent extends XDrawerProperty implements OnInit, OnChanges {\r\n @ViewChild('drawerTpl', { static: true }) drawerTpl!: TemplateRef<void>;\r\n portal!: XPortalOverlayRef<any>;\r\n back$: Subscription | null = null;\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public overlay: Overlay,\r\n public portalService: XPortalService,\r\n public viewContainerRef: ViewContainerRef,\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(simples: SimpleChanges) {\r\n const { visible } = simples;\r\n XIsChange(visible) && this.setVisible();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unsubscribe();\r\n }\r\n\r\n unsubscribe() {\r\n this.back$?.unsubscribe();\r\n }\r\n\r\n setClassMap() {\r\n this.classMap = {\r\n [`${XDrawerPrefix}-${this.placement}`]: !XIsEmpty(this.placement),\r\n [`${XDrawerPrefix}-no-title`]: XIsEmpty(this.title)\r\n };\r\n }\r\n\r\n setVisible() {\r\n if (this.visible) {\r\n this.createPortal();\r\n } else {\r\n this.closePortal();\r\n }\r\n }\r\n\r\n createPortal() {\r\n const width = this.placement === 'left' || this.placement === 'right' ? this.size : '100%';\r\n const height = this.placement === 'top' || this.placement === 'bottom' ? this.size : '100%';\r\n this.portal = this.portalService.attach({\r\n content: this.drawerTpl,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: {\r\n hasBackdrop: true,\r\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\r\n positionStrategy: this.portalService.setPosition(this.placement, width, height)\r\n }\r\n });\r\n if (this.portal.overlayRef) this.back$ = this.portal.overlayRef.backdropClick().subscribe(() => this.closePortal());\r\n }\r\n\r\n portalAttached() {\r\n return this.portal?.overlayRef?.hasAttached();\r\n }\r\n\r\n closePortal() {\r\n if (this.portalAttached()) {\r\n this.portal?.overlayRef?.detach();\r\n this.unsubscribe();\r\n this.visibleChange.emit(this.visible as boolean);\r\n this.close.emit();\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","<ng-template #drawerTpl>\r\n <div class=\"x-drawer\" [ngClass]=\"classMap\" [@x-slide-animation]=\"placement\">\r\n <div class=\"x-drawer-header\" *ngIf=\"title\">\r\n <div class=\"x-drawer-title\">\r\n <ng-container *xOutlet=\"title\">{{ title }}</ng-container>\r\n </div>\r\n <x-button class=\"x-drawer-close\" icon=\"fto-x\" (click)=\"closePortal()\" onlyIcon closable></x-button>\r\n </div>\r\n <div class=\"x-drawer-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-template>\r\n","import { BasePortalOutlet, CdkPortalOutlet, ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ComponentRef,\r\n EmbeddedViewRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { XSlideAnimation } from '@ng-nest/ui/core';\r\nimport { XDrawerAnimationEvent, XDrawerAnimationState } from './drawer.property';\r\nimport { AnimationEvent } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'x-drawer-container',\r\n templateUrl: './drawer-container.component.html',\r\n styleUrls: ['./drawer-container.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XSlideAnimation]\r\n})\r\nexport class XDrawerContainerComponent extends BasePortalOutlet {\r\n @HostBinding('class.x-drawer-container') _has = true;\r\n @HostBinding('@x-slide-animation') public placement?: XDrawerAnimationState;\r\n @HostListener('@x-slide-animation.done', ['$event']) done({ toState, totalTime }: AnimationEvent) {\r\n this.animationChanged.next({ action: 'done', state: toState as XDrawerAnimationState, totalTime });\r\n }\r\n @HostListener('@x-slide-animation.start', ['$event']) start({ toState, totalTime }: AnimationEvent) {\r\n this.animationChanged.next({ action: 'start', state: toState as XDrawerAnimationState, totalTime });\r\n }\r\n @ViewChild(CdkPortalOutlet, { static: true }) portalOutlet!: CdkPortalOutlet;\r\n\r\n animationChanged = new EventEmitter<XDrawerAnimationEvent>();\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\r\n if (this.portalOutlet.hasAttached()) {\r\n throw Error('drawer portal has attached');\r\n }\r\n return this.portalOutlet.attachComponentPortal(portal);\r\n }\r\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\r\n if (this.portalOutlet.hasAttached()) {\r\n throw Error('drawer portal has attached');\r\n }\r\n return this.portalOutlet.attachTemplatePortal(portal);\r\n }\r\n}\r\n","<ng-template cdkPortalOutlet></ng-template>\r\n","import { OverlayRef } from '@angular/cdk/overlay';\r\nimport { filter, take } from 'rxjs';\r\nimport { XDrawerContainerComponent } from './drawer-container.component';\r\n\r\n// TODO: add more function\r\nexport class XDrawerRef<C> {\r\n componentInstance!: C;\r\n constructor(public overlayRef: OverlayRef, public containerInstance: XDrawerContainerComponent) {}\r\n close() {\r\n this.containerInstance.animationChanged\r\n .pipe(\r\n filter((event) => event.state === 'void' && event.action === 'done'),\r\n take(1)\r\n )\r\n .subscribe(() => {\r\n this.overlayRef.detach();\r\n });\r\n this.containerInstance.placement = 'void';\r\n }\r\n}\r\n","import { Directive, HostBinding, HostListener, Optional } from '@angular/core';\r\nimport { XDrawerRef } from './drawer-ref';\r\n\r\n@Directive({\r\n selector: `[x-drawer-close]`\r\n})\r\nexport class XDrawerCloseDirective {\r\n @HostListener('click', ['$event']) onCloseClick() {\r\n this.drawerRef && this.drawerRef.close();\r\n }\r\n constructor(@Optional() public drawerRef: XDrawerRef<any>) {}\r\n}\r\n\r\n@Directive({\r\n selector: `[x-drawer-title]`\r\n})\r\nexport class XDrawerTitleDirective {\r\n @HostBinding('class.x-drawer-container-title') _has = true;\r\n}\r\n\r\n@Directive({\r\n selector: `[x-drawer-content], x-drawer-content`\r\n})\r\nexport class XDrawerContentDirective {\r\n @HostBinding('class.x-drawer-container-content') _has = true;\r\n}\r\n","import { Overlay } from '@angular/cdk/overlay';\r\nimport { ComponentPortal, ComponentType, TemplatePortal } from '@angular/cdk/portal';\r\nimport { Injectable, TemplateRef } from '@angular/core';\r\nimport { fillDefault, XConfigService, XDrawerConfig } from '@ng-nest/ui/core';\r\nimport { XPortalService } from '@ng-nest/ui/portal';\r\nimport { XDrawerContainerComponent } from './drawer-container.component';\r\nimport { XDrawerRef } from './drawer-ref';\r\nimport { XDrawerOption, X_DRAWER_CONFIG_NAME, X_DRAWER_DATA } from './drawer.property';\r\n\r\n@Injectable()\r\nexport class XDrawerService {\r\n default: XDrawerOption = {\r\n placement: 'right',\r\n size: '30%',\r\n hasBackdrop: true,\r\n backdropClose: true\r\n };\r\n configDefault?: XDrawerConfig;\r\n\r\n constructor(public portalService: XPortalService, public configService: XConfigService, public overlay: Overlay) {\r\n this.configDefault = this.configService.getConfigForComponent(X_DRAWER_CONFIG_NAME);\r\n Object.assign(this.default, this.configDefault);\r\n }\r\n\r\n create<T>(content: TemplateRef<any> | ComponentType<T>, option: XDrawerOption = {}): XDrawerRef<T> {\r\n fillDefault(option, this.default);\r\n const width = ['left', 'right'].includes(option.placement as string) ? option.size : '100%';\r\n const height = ['top', 'bottom'].includes(option.placement as string) ? option.size : '100%';\r\n const portal = this.portalService.attach<XDrawerContainerComponent>({\r\n content: XDrawerContainerComponent,\r\n viewContainerRef: option.viewContainerRef,\r\n overlayConfig: {\r\n hasBackdrop: option.hasBackdrop,\r\n panelClass: option.className,\r\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\r\n positionStrategy: this.portalService.setPosition(option.placement, width, height)\r\n }\r\n });\r\n const { overlayRef, componentRef } = portal || {};\r\n const { instance } = componentRef! || {};\r\n instance.placement = option.placement;\r\n const drawerRef = new XDrawerRef<T>(overlayRef!, instance);\r\n if (content instanceof TemplateRef) {\r\n instance.attachTemplatePortal(\r\n new TemplatePortal(content, option.viewContainerRef!, { $implicit: option.data, drawerRef: drawerRef })\r\n );\r\n } else {\r\n const injector = this.portalService.createInjector([\r\n { provide: X_DRAWER_DATA, useValue: option.data },\r\n { provide: XDrawerRef, useValue: drawerRef }\r\n ]);\r\n\r\n instance.attachComponentPortal(new ComponentPortal(content, option.viewContainerRef, injector));\r\n }\r\n if (option.hasBackdrop && option.backdropClose && overlayRef)\r\n overlayRef.backdropClick().subscribe(() => {\r\n drawerRef.close();\r\n });\r\n\r\n return drawerRef;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XDrawerComponent } from './drawer.component';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\nimport { XDrawerProperty } from './drawer.property';\r\nimport { XDrawerService } from './drawer.service';\r\nimport { XDrawerContainerComponent } from './drawer-container.component';\r\nimport { XDrawerCloseDirective, XDrawerContentDirective, XDrawerTitleDirective } from './drawer-container.directives';\r\n\r\n@NgModule({\r\n declarations: [\r\n XDrawerComponent,\r\n XDrawerCloseDirective,\r\n XDrawerTitleDirective,\r\n XDrawerContentDirective,\r\n XDrawerContainerComponent,\r\n XDrawerProperty\r\n ],\r\n exports: [XDrawerComponent, XDrawerCloseDirective, XDrawerTitleDirective, XDrawerContentDirective, XDrawerContainerComponent],\r\n imports: [CommonModule, XOutletModule, XButtonModule, XPortalModule],\r\n providers: [XDrawerService]\r\n})\r\nexport class XDrawerModule {}\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-drawer.mjs","sources":["../../../../lib/ng-nest/ui/drawer/drawer.property.ts","../../../../lib/ng-nest/ui/drawer/drawer-container.component.ts","../../../../lib/ng-nest/ui/drawer/drawer-container.component.html","../../../../lib/ng-nest/ui/drawer/drawer.component.ts","../../../../lib/ng-nest/ui/drawer/drawer.component.html","../../../../lib/ng-nest/ui/drawer/drawer-portal.component.ts","../../../../lib/ng-nest/ui/drawer/drawer-portal.component.html","../../../../lib/ng-nest/ui/drawer/drawer-ref.ts","../../../../lib/ng-nest/ui/drawer/drawer-portal.directives.ts","../../../../lib/ng-nest/ui/drawer/drawer.service.ts","../../../../lib/ng-nest/ui/drawer/drawer.module.ts","../../../../lib/ng-nest/ui/drawer/ng-nest-ui-drawer.ts"],"sourcesContent":["import { XTemplate, XPosition, XProperty, XInputBoolean, XBoolean, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Output, EventEmitter, Component, InjectionToken, ViewContainerRef } from '@angular/core';\r\nimport { XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { XDrawerRef } from './drawer-ref';\r\nimport { XDrawerPortalComponent } from './drawer-portal.component';\r\n\r\n/**\r\n * Drawer\r\n * @selector x-drawer\r\n * @decorator component\r\n */\r\nexport const XDrawerPrefix = 'x-drawer';\r\nexport const X_DRAWER_CONFIG_NAME = 'drawer';\r\nexport const X_DRAWER_DATA = new InjectionToken<any>('XDrawerData');\r\n\r\n/**\r\n * Drawer Property\r\n */\r\n@Component({ template: '' })\r\nexport class XDrawerProperty extends XProperty {\r\n /**\r\n * @zh_CN 标题\r\n * @en_US Title\r\n */\r\n @Input() title?: XTemplate;\r\n /**\r\n * @zh_CN 显示/隐藏\r\n * @en_US Show/hide\r\n */\r\n @Input() @XInputBoolean() visible?: XBoolean;\r\n /**\r\n * @zh_CN 展示方向\r\n * @en_US Display direction\r\n */\r\n @Input() @XWithConfig<XPosition>(X_DRAWER_CONFIG_NAME, 'right') placement?: XPosition;\r\n /**\r\n * @zh_CN 尺寸,支持固定值\r\n * @en_US Size, supports fixed value\r\n */\r\n @Input() @XWithConfig<string>(X_DRAWER_CONFIG_NAME, '30%') size?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DRAWER_CONFIG_NAME, true) backdropClose!: XBoolean;\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DRAWER_CONFIG_NAME, true) hasBackdrop!: XBoolean;\r\n /**\r\n * @zh_CN 自定义样式名\r\n * @en_US Custom style name\r\n */\r\n @Input() @XWithConfig<string>(X_DRAWER_CONFIG_NAME, '') className!: string;\r\n /**\r\n * @zh_CN 关闭的事件\r\n * @en_US Closed event\r\n */\r\n @Output() close = new EventEmitter();\r\n /**\r\n * @zh_CN 显示/隐藏的事件\r\n * @en_US Show/hide event\r\n */\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n}\r\n\r\n/**\r\n * Drawer Option\r\n */\r\nexport interface XDrawerOption {\r\n /**\r\n * @zh_CN 展示方向\r\n * @en_US Display direction\r\n * @default 'right'\r\n * @withConfig true\r\n */\r\n placement?: XPosition;\r\n /**\r\n * @zh_CN 尺寸,支持固定值\r\n * @en_US Size, supports fixed value\r\n * @default '30%'\r\n * @withConfig true\r\n */\r\n size?: string;\r\n /**\r\n * @zh_CN 自定义样式名\r\n * @en_US Custom style name\r\n */\r\n className?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n * @default true\r\n * @withConfig true\r\n */\r\n backdropClose?: boolean;\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n * @default true\r\n * @withConfig true\r\n */\r\n hasBackdrop?: boolean;\r\n /**\r\n * @zh_CN 数据,通过 \"@Inject(X_DRAWER_DATA)\" 来接收数据\r\n * @en_US Data. Receive data by \"@Inject(X_DRAWER_DATA)\"\r\n */\r\n data?: any;\r\n /**\r\n * @en_US 视图容器实例可以包含其他视图容器。\r\n * @en_US A view container instance can contain other view containers.\r\n */\r\n viewContainerRef?: ViewContainerRef;\r\n}\r\n\r\n/**\r\n * Drawer Container\r\n * @selector x-drawer-container\r\n * @decorator component\r\n */\r\n export const XDrawerContainerPrefix = 'x-drawer-container';\r\n export const X_DRAWER_CONTAINER = new InjectionToken('X_DRAWER_CONTAINER');\r\n\r\n/**\r\n * Drawer Container Property\r\n */\r\n@Component({ template: '' })\r\nexport class XDrawerContainerProperty extends XProperty {}\r\n\r\n/**\r\n * @zh_CN 创建的抽屉对象\r\n * @en_US Drawer object created\r\n */\r\nexport interface XDrawerPortalOverlayRef extends XPortalOverlayRef<XDrawerPortalComponent> {\r\n drawerRef?: XDrawerRef<any>;\r\n}\r\n\r\nexport type XDrawerAnimationState = XPosition | 'void';\r\n\r\nexport interface XDrawerAnimationEvent {\r\n state: XDrawerAnimationState;\r\n action: 'start' | 'done';\r\n totalTime: number;\r\n}\r\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\r\nimport { XDrawerContainerProperty, X_DRAWER_CONTAINER } from './drawer.property';\r\n\r\n@Component({\r\n selector: 'x-drawer-container',\r\n templateUrl: './drawer-container.component.html',\r\n styleUrls: ['./drawer-container.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: X_DRAWER_CONTAINER,\r\n useExisting: XDrawerContainerComponent\r\n }\r\n ]\r\n})\r\nexport class XDrawerContainerComponent extends XDrawerContainerProperty {\r\n @HostBinding('class.x-drawer-container') _has = true;\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","<ng-content></ng-content>\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 ViewChild,\r\n SimpleChanges,\r\n OnChanges,\r\n TemplateRef,\r\n ViewContainerRef,\r\n Optional,\r\n Inject,\r\n HostBinding\r\n} from '@angular/core';\r\nimport { XDrawerPrefix, XDrawerProperty, X_DRAWER_CONTAINER } from './drawer.property';\r\nimport { XIsChange, XIsEmpty, XSlideAnimation, XConfigService, XClearClass } from '@ng-nest/ui/core';\r\nimport { XPortalService, XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { Subscription } from 'rxjs';\r\nimport { Overlay } from '@angular/cdk/overlay';\r\nimport { XDrawerContainerComponent } from './drawer-container.component';\r\n\r\n@Component({\r\n selector: `${XDrawerPrefix}`,\r\n templateUrl: './drawer.component.html',\r\n styleUrls: ['./drawer.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XSlideAnimation]\r\n})\r\nexport class XDrawerComponent extends XDrawerProperty implements OnInit, OnChanges {\r\n @HostBinding('class.x-drawer-visible') get getVisible() {\r\n return this.visible;\r\n }\r\n @ViewChild('drawerTpl', { static: true }) drawerTpl!: TemplateRef<void>;\r\n portal!: XPortalOverlayRef<any>;\r\n back$: Subscription | null = null;\r\n width = '100%';\r\n height = '100%';\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public overlay: Overlay,\r\n public portalService: XPortalService,\r\n public viewContainerRef: ViewContainerRef,\r\n public configService: XConfigService,\r\n @Optional() @Inject(X_DRAWER_CONTAINER) public container?: XDrawerContainerComponent\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n this.setSize();\r\n }\r\n\r\n ngOnChanges(simples: SimpleChanges) {\r\n const { visible, placement } = simples;\r\n XIsChange(visible) && this.setVisible();\r\n if (XIsChange(placement)) {\r\n this.setClassMap();\r\n this.setSize();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unsubscribe();\r\n }\r\n\r\n unsubscribe() {\r\n this.back$?.unsubscribe();\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.classMap);\r\n this.classMap = {\r\n [`${XDrawerPrefix}-${this.placement}`]: !XIsEmpty(this.placement),\r\n [`${XDrawerPrefix}-no-title`]: XIsEmpty(this.title)\r\n };\r\n }\r\n\r\n setSize() {\r\n if (this.container) [this.width, this.height] = this.getSize();\r\n }\r\n\r\n getSize(): string[] {\r\n return [\r\n this.placement === 'left' || this.placement === 'right' ? this.size! : '100%',\r\n this.placement === 'top' || this.placement === 'bottom' ? this.size! : '100%'\r\n ];\r\n }\r\n\r\n setVisible() {\r\n if (this.visible) {\r\n this.createPortal();\r\n } else {\r\n this.closePortal();\r\n }\r\n }\r\n\r\n createPortal() {\r\n if (this.container) return;\r\n const [width, height] = this.getSize();\r\n this.portal = this.portalService.attach({\r\n content: this.drawerTpl,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: {\r\n hasBackdrop: true,\r\n scrollStrategy: this.overlay.scrollStrategies.block(),\r\n positionStrategy: this.portalService.setPosition(this.placement, width, height)\r\n }\r\n });\r\n if (this.portal.overlayRef) this.back$ = this.portal.overlayRef.backdropClick().subscribe(() => this.closePortal());\r\n }\r\n\r\n portalAttached() {\r\n return this.portal?.overlayRef?.hasAttached();\r\n }\r\n\r\n closePortal() {\r\n if (this.container) {\r\n this.visibleChange.emit(this.visible as boolean);\r\n this.close.emit();\r\n } else {\r\n if (this.portalAttached()) {\r\n this.portal?.overlayRef?.detach();\r\n this.unsubscribe();\r\n this.visibleChange.emit(this.visible as boolean);\r\n this.close.emit();\r\n }\r\n }\r\n }\r\n}\r\n","<ng-template #drawerTpl>\r\n <div class=\"x-drawer-backdrop\" *ngIf=\"container\" (click)=\"closePortal()\"></div>\r\n <div\r\n class=\"x-drawer\"\r\n [ngClass]=\"classMap\"\r\n [style.width]=\"width\"\r\n [style.height]=\"height\"\r\n [class.x-drawer-visible]=\"visible\"\r\n [@x-slide-animation]=\"placement\"\r\n >\r\n <div class=\"x-drawer-header\" *ngIf=\"title\">\r\n <div class=\"x-drawer-title\">\r\n <ng-container *xOutlet=\"title\">{{ title }}</ng-container>\r\n </div>\r\n <x-button class=\"x-drawer-close\" icon=\"fto-x\" (click)=\"closePortal()\" onlyIcon closable></x-button>\r\n </div>\r\n <div class=\"x-drawer-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-template>\r\n<ng-container *ngIf=\"container\">\r\n <ng-container *ngTemplateOutlet=\"drawerTpl\"></ng-container>\r\n</ng-container>\r\n","import { BasePortalOutlet, CdkPortalOutlet, ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ComponentRef,\r\n EmbeddedViewRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { XSlideAnimation } from '@ng-nest/ui/core';\r\nimport { XDrawerAnimationEvent, XDrawerAnimationState } from './drawer.property';\r\nimport { AnimationEvent } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'x-drawer-portal',\r\n templateUrl: './drawer-portal.component.html',\r\n styleUrls: ['./drawer-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XSlideAnimation]\r\n})\r\nexport class XDrawerPortalComponent extends BasePortalOutlet {\r\n @HostBinding('class.x-drawer-portal') _has = true;\r\n @HostBinding('@x-slide-animation') public placement?: XDrawerAnimationState;\r\n @HostListener('@x-slide-animation.done', ['$event']) done({ toState, totalTime }: AnimationEvent) {\r\n this.animationChanged.next({ action: 'done', state: toState as XDrawerAnimationState, totalTime });\r\n }\r\n @HostListener('@x-slide-animation.start', ['$event']) start({ toState, totalTime }: AnimationEvent) {\r\n this.animationChanged.next({ action: 'start', state: toState as XDrawerAnimationState, totalTime });\r\n }\r\n @ViewChild(CdkPortalOutlet, { static: true }) portalOutlet!: CdkPortalOutlet;\r\n\r\n animationChanged = new EventEmitter<XDrawerAnimationEvent>();\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\r\n if (this.portalOutlet.hasAttached()) {\r\n throw Error('drawer portal has attached');\r\n }\r\n return this.portalOutlet.attachComponentPortal(portal);\r\n }\r\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\r\n if (this.portalOutlet.hasAttached()) {\r\n throw Error('drawer portal has attached');\r\n }\r\n return this.portalOutlet.attachTemplatePortal(portal);\r\n }\r\n}\r\n","<ng-template cdkPortalOutlet></ng-template>\r\n","import { OverlayRef } from '@angular/cdk/overlay';\r\nimport { filter, take } from 'rxjs';\r\nimport { XDrawerPortalComponent } from './drawer-portal.component';\r\n\r\n// TODO: add more function\r\nexport class XDrawerRef<C> {\r\n componentInstance!: C;\r\n constructor(public overlayRef: OverlayRef, public containerInstance: XDrawerPortalComponent) {}\r\n close() {\r\n this.containerInstance.animationChanged\r\n .pipe(\r\n filter((event) => event.state === 'void' && event.action === 'done'),\r\n take(1)\r\n )\r\n .subscribe(() => {\r\n this.overlayRef.detach();\r\n });\r\n this.containerInstance.placement = 'void';\r\n }\r\n}\r\n","import { Directive, HostBinding, HostListener, Optional } from '@angular/core';\r\nimport { XDrawerRef } from './drawer-ref';\r\n\r\n@Directive({\r\n selector: `[x-drawer-close]`\r\n})\r\nexport class XDrawerCloseDirective {\r\n @HostListener('click', ['$event']) onCloseClick() {\r\n this.drawerRef && this.drawerRef.close();\r\n }\r\n constructor(@Optional() public drawerRef: XDrawerRef<any>) {}\r\n}\r\n\r\n@Directive({\r\n selector: `[x-drawer-title]`\r\n})\r\nexport class XDrawerTitleDirective {\r\n @HostBinding('class.x-drawer-portal-title') _has = true;\r\n}\r\n\r\n@Directive({\r\n selector: `[x-drawer-content], x-drawer-content`\r\n})\r\nexport class XDrawerContentDirective {\r\n @HostBinding('class.x-drawer-portal-content') _has = true;\r\n}\r\n","import { Overlay } from '@angular/cdk/overlay';\r\nimport { ComponentPortal, ComponentType, TemplatePortal } from '@angular/cdk/portal';\r\nimport { Injectable, TemplateRef } from '@angular/core';\r\nimport { fillDefault, XConfigService, XDrawerConfig } from '@ng-nest/ui/core';\r\nimport { XPortalService } from '@ng-nest/ui/portal';\r\nimport { XDrawerPortalComponent } from './drawer-portal.component';\r\nimport { XDrawerRef } from './drawer-ref';\r\nimport { XDrawerOption, X_DRAWER_CONFIG_NAME, X_DRAWER_DATA } from './drawer.property';\r\n\r\n@Injectable()\r\nexport class XDrawerService {\r\n default: XDrawerOption = {\r\n placement: 'right',\r\n size: '30%',\r\n hasBackdrop: true,\r\n backdropClose: true\r\n };\r\n configDefault?: XDrawerConfig;\r\n\r\n constructor(public portalService: XPortalService, public configService: XConfigService, public overlay: Overlay) {\r\n this.configDefault = this.configService.getConfigForComponent(X_DRAWER_CONFIG_NAME);\r\n Object.assign(this.default, this.configDefault);\r\n }\r\n\r\n create<T>(content: TemplateRef<any> | ComponentType<T>, option: XDrawerOption = {}): XDrawerRef<T> {\r\n fillDefault(option, this.default);\r\n const width = ['left', 'right'].includes(option.placement as string) ? option.size : '100%';\r\n const height = ['top', 'bottom'].includes(option.placement as string) ? option.size : '100%';\r\n const portal = this.portalService.attach<XDrawerPortalComponent>({\r\n content: XDrawerPortalComponent,\r\n viewContainerRef: option.viewContainerRef,\r\n overlayConfig: {\r\n hasBackdrop: option.hasBackdrop,\r\n panelClass: option.className,\r\n scrollStrategy: this.overlay.scrollStrategies.block(),\r\n positionStrategy: this.portalService.setPosition(option.placement, width, height)\r\n }\r\n });\r\n const { overlayRef, componentRef } = portal || {};\r\n const { instance } = componentRef! || {};\r\n instance.placement = option.placement;\r\n const drawerRef = new XDrawerRef<T>(overlayRef!, instance);\r\n if (content instanceof TemplateRef) {\r\n instance.attachTemplatePortal(\r\n new TemplatePortal(content, option.viewContainerRef!, { $implicit: option.data, drawerRef: drawerRef })\r\n );\r\n } else {\r\n const injector = this.portalService.createInjector([\r\n { provide: X_DRAWER_DATA, useValue: option.data },\r\n { provide: XDrawerRef, useValue: drawerRef }\r\n ]);\r\n\r\n instance.attachComponentPortal(new ComponentPortal(content, option.viewContainerRef, injector));\r\n }\r\n if (option.hasBackdrop && option.backdropClose && overlayRef)\r\n overlayRef.backdropClick().subscribe(() => {\r\n drawerRef.close();\r\n });\r\n\r\n return drawerRef;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XDrawerComponent } from './drawer.component';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\nimport { XDrawerContainerProperty, XDrawerProperty } from './drawer.property';\r\nimport { XDrawerService } from './drawer.service';\r\nimport { XDrawerPortalComponent } from './drawer-portal.component';\r\nimport { XDrawerCloseDirective, XDrawerContentDirective, XDrawerTitleDirective } from './drawer-portal.directives';\r\nimport { XDrawerContainerComponent } from './drawer-container.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n XDrawerComponent,\r\n XDrawerCloseDirective,\r\n XDrawerTitleDirective,\r\n XDrawerContentDirective,\r\n XDrawerPortalComponent,\r\n XDrawerContainerComponent,\r\n XDrawerProperty,\r\n XDrawerContainerProperty\r\n ],\r\n exports: [\r\n XDrawerComponent,\r\n XDrawerCloseDirective,\r\n XDrawerTitleDirective,\r\n XDrawerContentDirective,\r\n XDrawerPortalComponent,\r\n XDrawerContainerComponent\r\n ],\r\n imports: [CommonModule, XOutletModule, XButtonModule, XPortalModule],\r\n providers: [XDrawerService]\r\n})\r\nexport class XDrawerModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -43,8 +43,8 @@ class XDropdownProperty extends XProperty {
43
43
  this.nodeClick = new EventEmitter();
44
44
  }
45
45
  }
46
- /** @nocollapse */ /** @nocollapse */ XDropdownProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDropdownProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
47
- /** @nocollapse */ /** @nocollapse */ XDropdownProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XDropdownProperty, selector: "ng-component", inputs: { data: "data", trigger: "trigger", placement: "placement", disabled: "disabled", children: "children", portalMinWidth: "portalMinWidth", hoverDelay: "hoverDelay" }, outputs: { nodeClick: "nodeClick" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
46
+ /** @nocollapse */ /** @nocollapse */ XDropdownProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XDropdownProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
47
+ /** @nocollapse */ /** @nocollapse */ XDropdownProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XDropdownProperty, selector: "ng-component", inputs: { data: "data", trigger: "trigger", placement: "placement", disabled: "disabled", children: "children", portalMinWidth: "portalMinWidth", hoverDelay: "hoverDelay" }, outputs: { nodeClick: "nodeClick" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
48
48
  __decorate([
49
49
  XDataConvert()
50
50
  ], XDropdownProperty.prototype, "data", void 0);
@@ -60,7 +60,7 @@ __decorate([
60
60
  __decorate([
61
61
  XInputBoolean()
62
62
  ], XDropdownProperty.prototype, "children", void 0);
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDropdownProperty, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XDropdownProperty, decorators: [{
64
64
  type: Component,
65
65
  args: [{ template: '' }]
66
66
  }], propDecorators: { data: [{
@@ -216,9 +216,9 @@ class XDropdownPortalComponent {
216
216
  }
217
217
  }
218
218
  }
219
- /** @nocollapse */ /** @nocollapse */ XDropdownPortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDropdownPortalComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XPortalService }, { token: i2.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
220
- /** @nocollapse */ /** @nocollapse */ XDropdownPortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XDropdownPortalComponent, selector: "x-dropdown-portal", host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)", "mouseenter": "mouseenter()", "mouseleave": "mouseleave()" }, properties: { "@x-connect-base-animation": "this.placement" } }, ngImport: i0, template: "<div #dropdownPortal class=\"x-dropdown-portal\">\r\n <x-list [data]=\"data\" (nodeClick)=\"nodeClick($event)\" (nodeMouseenter)=\"onEnter($event)\" (nodeMouseleave)=\"onLeave()\"></x-list>\r\n</div>\r\n", styles: ["x-dropdown-portal{width:100%}.x-dropdown-portal{margin:.0625rem 0;padding:.325rem 0;background-color:var(--x-background);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color)}.x-dropdown-portal-child{margin-top:-.3875rem}\n"], components: [{ type: i3.XListComponent, selector: "x-list" }], animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
221
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDropdownPortalComponent, decorators: [{
219
+ /** @nocollapse */ /** @nocollapse */ XDropdownPortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XDropdownPortalComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XPortalService }, { token: i2.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
220
+ /** @nocollapse */ /** @nocollapse */ XDropdownPortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XDropdownPortalComponent, selector: "x-dropdown-portal", host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)", "mouseenter": "mouseenter()", "mouseleave": "mouseleave()" }, properties: { "@x-connect-base-animation": "this.placement" } }, ngImport: i0, template: "<div #dropdownPortal class=\"x-dropdown-portal\">\r\n <x-list [data]=\"data\" (nodeClick)=\"nodeClick($event)\" (nodeMouseenter)=\"onEnter($event)\" (nodeMouseleave)=\"onLeave()\"></x-list>\r\n</div>\r\n", styles: ["x-dropdown-portal{width:100%}.x-dropdown-portal{margin:.0625rem 0;padding:.325rem 0;background-color:var(--x-background);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color)}.x-dropdown-portal-child{margin-top:-.3875rem}\n"], components: [{ type: i3.XListComponent, selector: "x-list" }], animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
221
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XDropdownPortalComponent, decorators: [{
222
222
  type: Component,
223
223
  args: [{ selector: `${XDropdownPortalPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XConnectBaseAnimation], template: "<div #dropdownPortal class=\"x-dropdown-portal\">\r\n <x-list [data]=\"data\" (nodeClick)=\"nodeClick($event)\" (nodeMouseenter)=\"onEnter($event)\" (nodeMouseleave)=\"onLeave()\"></x-list>\r\n</div>\r\n", styles: ["x-dropdown-portal{width:100%}.x-dropdown-portal{margin:.0625rem 0;padding:.325rem 0;background-color:var(--x-background);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color)}.x-dropdown-portal-child{margin-top:-.3875rem}\n"] }]
224
224
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XPortalService }, { type: i2.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { placement: [{
@@ -402,9 +402,9 @@ class XDropdownComponent extends XDropdownProperty {
402
402
  });
403
403
  }
404
404
  }
405
- /** @nocollapse */ /** @nocollapse */ XDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDropdownComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XPortalService }, { token: i0.ViewContainerRef }, { token: i2.Overlay }, { token: i3$1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
406
- /** @nocollapse */ /** @nocollapse */ XDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XDropdownComponent, selector: "x-dropdown", viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #dropdown\r\n class=\"x-dropdown\"\r\n [ngClass]=\"classMap\"\r\n [class.x-visible]=\"visible\"\r\n (mouseenter)=\"onEnter()\"\r\n (mouseleave)=\"onLeave()\"\r\n (click)=\"showPortal()\"\r\n>\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".x-dropdown{margin:0;padding:0;display:inline-block}.x-dropdown.x-visible{color:var(--x-primary)}\n"], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
407
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDropdownComponent, decorators: [{
405
+ /** @nocollapse */ /** @nocollapse */ XDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XDropdownComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XPortalService }, { token: i0.ViewContainerRef }, { token: i2.Overlay }, { token: i3$1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
406
+ /** @nocollapse */ /** @nocollapse */ XDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XDropdownComponent, selector: "x-dropdown", viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #dropdown\r\n class=\"x-dropdown\"\r\n [ngClass]=\"classMap\"\r\n [class.x-visible]=\"visible\"\r\n (mouseenter)=\"onEnter()\"\r\n (mouseleave)=\"onLeave()\"\r\n (click)=\"showPortal()\"\r\n>\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".x-dropdown{margin:0;padding:0;display:inline-block}.x-dropdown.x-visible{color:var(--x-primary)}\n"], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
407
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XDropdownComponent, decorators: [{
408
408
  type: Component,
409
409
  args: [{ selector: `${XDropdownPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n #dropdown\r\n class=\"x-dropdown\"\r\n [ngClass]=\"classMap\"\r\n [class.x-visible]=\"visible\"\r\n (mouseenter)=\"onEnter()\"\r\n (mouseleave)=\"onLeave()\"\r\n (click)=\"showPortal()\"\r\n>\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".x-dropdown{margin:0;padding:0;display:inline-block}.x-dropdown.x-visible{color:var(--x-primary)}\n"] }]
410
410
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XPortalService }, { type: i0.ViewContainerRef }, { type: i2.Overlay }, { type: i3$1.XConfigService }]; }, propDecorators: { dropdown: [{
@@ -414,16 +414,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
414
414
 
415
415
  class XDropdownModule {
416
416
  }
417
- /** @nocollapse */ /** @nocollapse */ XDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
418
- /** @nocollapse */ /** @nocollapse */ XDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDropdownModule, declarations: [XDropdownComponent, XDropdownPortalComponent, XDropdownProperty], imports: [CommonModule, XPortalModule, XListModule], exports: [XDropdownComponent, XDropdownPortalComponent] });
419
- /** @nocollapse */ /** @nocollapse */ XDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDropdownModule, imports: [[CommonModule, XPortalModule, XListModule]] });
420
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDropdownModule, decorators: [{
417
+ /** @nocollapse */ /** @nocollapse */ XDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
418
+ /** @nocollapse */ /** @nocollapse */ XDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XDropdownModule, declarations: [XDropdownComponent, XDropdownPortalComponent, XDropdownProperty], imports: [CommonModule, XPortalModule, XListModule], exports: [XDropdownComponent, XDropdownPortalComponent] });
419
+ /** @nocollapse */ /** @nocollapse */ XDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XDropdownModule, imports: [[CommonModule, XPortalModule, XListModule]] });
420
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XDropdownModule, decorators: [{
421
421
  type: NgModule,
422
422
  args: [{
423
423
  declarations: [XDropdownComponent, XDropdownPortalComponent, XDropdownProperty],
424
424
  exports: [XDropdownComponent, XDropdownPortalComponent],
425
- imports: [CommonModule, XPortalModule, XListModule],
426
- entryComponents: [XDropdownPortalComponent]
425
+ imports: [CommonModule, XPortalModule, XListModule]
427
426
  }]
428
427
  }] });
429
428
 
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-dropdown.mjs","sources":["../../../../lib/ng-nest/ui/dropdown/dropdown.property.ts","../../../../lib/ng-nest/ui/dropdown/dropdown-portal.component.ts","../../../../lib/ng-nest/ui/dropdown/dropdown-portal.component.html","../../../../lib/ng-nest/ui/dropdown/dropdown.component.ts","../../../../lib/ng-nest/ui/dropdown/dropdown.component.html","../../../../lib/ng-nest/ui/dropdown/dropdown.module.ts","../../../../lib/ng-nest/ui/dropdown/ng-nest-ui-dropdown.ts"],"sourcesContent":["import { XData, XProperty, XDataConvert, XInputBoolean, XBoolean, XPlacement, XWithConfig, XTrigger } from '@ng-nest/ui/core';\r\nimport { XListNode } from '@ng-nest/ui/list';\r\nimport { Input, Output, EventEmitter, Component } from '@angular/core';\r\n\r\n/**\r\n * Dropdown\r\n * @selector x-dropdown\r\n * @decorator component\r\n */\r\nexport const XDropdownPrefix = 'x-dropdown';\r\nconst X_CONFIG_NAME = 'dropdown';\r\n\r\n/**\r\n * Dropdown Property\r\n */\r\n@Component({ template: '' })\r\nexport class XDropdownProperty extends XProperty {\r\n /**\r\n * @zh_CN 节点数据\r\n * @en_US Node data\r\n */\r\n @Input() @XDataConvert() data: XData<XDropdownNode> = [];\r\n /**\r\n * @zh_CN 触发方式\r\n * @en_US Trigger method\r\n */\r\n @Input() @XWithConfig<XDropdownTrigger>(X_CONFIG_NAME, 'hover') trigger?: XDropdownTrigger;\r\n /**\r\n * @zh_CN 展示位置\r\n * @en_US Placement\r\n */\r\n @Input() @XWithConfig<XPlacement>(X_CONFIG_NAME, 'bottom-start') placement?: XPlacement;\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n @Input() @XInputBoolean() disabled?: XBoolean;\r\n /**\r\n * @zh_CN 节点中已经包含子节点数据\r\n * @en_US The node already contains child node data\r\n */\r\n @Input() @XInputBoolean() children?: XBoolean;\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 hover 延迟触发时间,只有 trigger 为 'hover' 生效\r\n * @en_US Hover delay trigger time, only trigger is the 'hover'\r\n */\r\n @Input() hoverDelay: number = 200;\r\n /**\r\n * @zh_CN 节点点击事件\r\n * @en_US Node click event\r\n */\r\n @Output() nodeClick = new EventEmitter<XDropdownNode>();\r\n}\r\n\r\n/**\r\n * @zh_CN Dropdown 数据对象\r\n * @en_US Dropdown data object\r\n */\r\nexport interface XDropdownNode extends XListNode {}\r\n\r\n/**\r\n * @zh_CN 显示方式\r\n * @en_US Display method\r\n */\r\nexport type XDropdownTrigger = XTrigger;\r\n\r\n/**\r\n * Dropdown Portal\r\n * @selector x-dropdown-portal\r\n * @decorator component\r\n */\r\nexport const XDropdownPortalPrefix = 'x-dropdown-portal';\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n OnDestroy,\r\n HostListener,\r\n ViewContainerRef,\r\n HostBinding\r\n} from '@angular/core';\r\nimport { XDropdownPortalPrefix, XDropdownNode, XDropdownTrigger } from './dropdown.property';\r\nimport { XPortalConnectedPosition, XPortalOverlayRef, XPortalService } from '@ng-nest/ui/portal';\r\nimport { XConnectBaseAnimation, XPositionTopBottom } from '@ng-nest/ui/core';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { ConnectedOverlayPositionChange, FlexibleConnectedPositionStrategy, Overlay, OverlayConfig } from '@angular/cdk/overlay';\r\n\r\n@Component({\r\n selector: `${XDropdownPortalPrefix}`,\r\n templateUrl: './dropdown-portal.component.html',\r\n styleUrls: ['./dropdown-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XConnectBaseAnimation]\r\n})\r\nexport class XDropdownPortalComponent implements OnDestroy {\r\n @HostBinding('@x-connect-base-animation') public placement!: XPositionTopBottom;\r\n @HostListener('@x-connect-base-animation.done', ['$event']) done(event: { toState: any }) {\r\n this.animating(false);\r\n event.toState === 'void' && this.destroyPortal();\r\n }\r\n @HostListener('@x-connect-base-animation.start', ['$event']) start() {\r\n this.animating(true);\r\n }\r\n data!: XDropdownNode[];\r\n trigger!: XDropdownTrigger;\r\n close!: Function;\r\n nodeEmit!: Function;\r\n portalHover!: Function;\r\n animating!: Function;\r\n destroyPortal!: Function;\r\n portal!: XPortalOverlayRef<XDropdownPortalComponent>;\r\n positionChange!: Subject<any>;\r\n portalPositionChange: Subject<any> = new Subject();\r\n node!: XDropdownNode;\r\n timeoutHide: any;\r\n timespan = 200;\r\n minWidth!: string | number;\r\n portalPlacement!: XPositionTopBottom;\r\n childAnimating = false;\r\n private _unSubject = new Subject<void>();\r\n\r\n @HostListener('mouseenter') mouseenter() {\r\n this.portalHover(true);\r\n }\r\n\r\n @HostListener('mouseleave') mouseleave() {\r\n !this.portalAttached() && this.portalHover(false);\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n private portalService: XPortalService,\r\n private overlay: Overlay,\r\n private viewContainerRef: ViewContainerRef\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.positionChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n this.placement = x;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {}\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n nodeClick(node: XDropdownNode) {\r\n if (!node.leaf) this.close();\r\n this.nodeEmit(node);\r\n }\r\n\r\n portalAttached() {\r\n return this.portal?.overlayRef?.hasAttached();\r\n }\r\n\r\n closePortal() {\r\n if (this.portalAttached()) {\r\n this.portal?.overlayRef?.dispose();\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n createPortal() {\r\n const config: OverlayConfig = {\r\n backdropClass: '',\r\n panelClass: 'x-dropdown-portal-child',\r\n positionStrategy: this.setPlacement(),\r\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\r\n minWidth: this.minWidth\r\n };\r\n this.setPosition(config);\r\n this.portal = this.portalService.attach({\r\n content: XDropdownPortalComponent,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: config\r\n });\r\n this.setInstance();\r\n }\r\n\r\n setPosition(config: OverlayConfig) {\r\n let position = config.positionStrategy as FlexibleConnectedPositionStrategy;\r\n position.positionChanges.pipe(takeUntil(this._unSubject)).subscribe((pos: ConnectedOverlayPositionChange) => {\r\n const place = XPortalConnectedPosition.get(pos.connectionPair) as XPositionTopBottom;\r\n place !== this.portalPlacement && this.portalPositionChange.next(place);\r\n });\r\n }\r\n\r\n setInstance() {\r\n let componentRef = this.portal?.componentRef;\r\n if (!componentRef) return;\r\n Object.assign(componentRef.instance, {\r\n data: this.node?.children,\r\n minWidth: this.minWidth,\r\n close: () => this.closePortal(),\r\n placement: this.portalPlacement,\r\n positionChange: this.portalPositionChange,\r\n nodeEmit: (node: XDropdownNode) => this.nodeClick(node),\r\n portalHover: (hover: boolean) => this.hover(hover),\r\n animating: (ing: boolean) => (this.childAnimating = ing)\r\n });\r\n componentRef.changeDetectorRef.detectChanges();\r\n }\r\n\r\n hover(hover: boolean) {\r\n if (this.timeoutHide && hover) {\r\n clearTimeout(this.timeoutHide);\r\n } else {\r\n this.portalHover(false);\r\n this.onLeave();\r\n }\r\n }\r\n\r\n setPlacement() {\r\n return this.portalService.setPlacement({\r\n elementRef: new ElementRef(this.node?.event?.target),\r\n placement: ['right-start', 'right-end', 'left-start', 'left-end'],\r\n transformOriginOn: 'x-dropdown-portal'\r\n });\r\n }\r\n\r\n onEnter(node: XDropdownNode) {\r\n if (!node.leaf || node.disabled || this.childAnimating) return;\r\n if (this.timeoutHide) clearTimeout(this.timeoutHide);\r\n if (this.portalAttached() && this.node?.id !== node.id) {\r\n this.portal?.overlayRef?.dispose();\r\n }\r\n this.node = node;\r\n if (!this.portalAttached()) {\r\n this.createPortal();\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onLeave() {\r\n if (this.portalAttached()) {\r\n this.timeoutHide = setTimeout(() => {\r\n this.portal?.overlayRef?.dispose();\r\n });\r\n }\r\n }\r\n}\r\n","<div #dropdownPortal class=\"x-dropdown-portal\">\r\n <x-list [data]=\"data\" (nodeClick)=\"nodeClick($event)\" (nodeMouseenter)=\"onEnter($event)\" (nodeMouseleave)=\"onLeave()\"></x-list>\r\n</div>\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges,\r\n ViewContainerRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { XDropdownPrefix, XDropdownNode, XDropdownProperty } from './dropdown.property';\r\nimport { XIsChange, XIsEmpty, XSetData, XGetChildren, XConfigService, XPositionTopBottom, XPlacement } from '@ng-nest/ui/core';\r\nimport { of, Subject } from 'rxjs';\r\nimport { XPortalConnectedPosition, XPortalOverlayRef, XPortalService } from '@ng-nest/ui/portal';\r\nimport { XDropdownPortalComponent } from './dropdown-portal.component';\r\nimport { debounceTime, delay, takeUntil } from 'rxjs/operators';\r\nimport { ConnectedOverlayPositionChange, FlexibleConnectedPositionStrategy, Overlay, OverlayConfig } from '@angular/cdk/overlay';\r\n\r\n@Component({\r\n selector: `${XDropdownPrefix}`,\r\n templateUrl: './dropdown.component.html',\r\n styleUrls: ['./dropdown.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XDropdownComponent extends XDropdownProperty implements OnChanges {\r\n @ViewChild('dropdown', { static: true }) dropdown!: ElementRef;\r\n datas: XDropdownNode[] = [];\r\n nodes: XDropdownNode[] = [];\r\n portal!: XPortalOverlayRef<XDropdownPortalComponent>;\r\n timeoutHide: any;\r\n visible: boolean = false;\r\n animating = false;\r\n outsideClick = false;\r\n minWidth!: string | number;\r\n hoverDelayUnsub = new Subject<void>();\r\n positionChange: Subject<any> = new Subject();\r\n closeSubject: Subject<void> = new Subject();\r\n private _unSubject = new Subject<void>();\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n private portalService: XPortalService,\r\n private viewContainerRef: ViewContainerRef,\r\n private overlay: Overlay,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setSubject();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { data } = changes;\r\n XIsChange(data) && this.setData();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.complete();\r\n this.hoverDelayUnsub.next();\r\n this.hoverDelayUnsub.complete();\r\n }\r\n\r\n setSubject() {\r\n this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe(() => {\r\n this.closePortal();\r\n });\r\n }\r\n\r\n onEnter() {\r\n of(true)\r\n .pipe(delay(this.hoverDelay), takeUntil(this.hoverDelayUnsub))\r\n .subscribe(() => {\r\n if (this.disabled || this.trigger === 'click') return;\r\n if (this.timeoutHide) clearTimeout(this.timeoutHide);\r\n if (!this.portal || (this.portal && !this.portal?.overlayRef?.hasAttached())) {\r\n this.visible = true;\r\n this.createPortal();\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n onLeave() {\r\n this.hoverDelayUnsub.next();\r\n if (this.disabled || this.trigger === 'click') return;\r\n if (this.portal?.overlayRef?.hasAttached()) {\r\n this.timeoutHide = setTimeout(() => {\r\n this.visible = false;\r\n this.portal?.overlayRef?.dispose();\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n }\r\n\r\n showPortal() {\r\n if (this.disabled || this.trigger === 'hover' || this.animating) return;\r\n if (this.trigger === 'click' && this.portalAttached()) {\r\n this.closeSubject.next();\r\n return;\r\n }\r\n this.createPortal();\r\n }\r\n\r\n portalAttached() {\r\n return this.portal?.overlayRef?.hasAttached();\r\n }\r\n\r\n closePortal() {\r\n if (this.portalAttached()) {\r\n this.portal?.overlayRef?.dispose();\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n destroyPortal() {\r\n this.portal?.overlayRef?.dispose();\r\n }\r\n\r\n createPortal() {\r\n let box = this.dropdown.nativeElement.getBoundingClientRect();\r\n this.minWidth = this.portalMinWidth ? this.portalMinWidth : box.width;\r\n const config: OverlayConfig = {\r\n backdropClass: '',\r\n positionStrategy: this.setPlacement(),\r\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\r\n minWidth: this.minWidth\r\n };\r\n this.setPosition(config);\r\n this.portal = this.portalService.attach({\r\n content: XDropdownPortalComponent,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: config\r\n });\r\n if (this.trigger === 'click') {\r\n this.portal.overlayRef\r\n ?.outsidePointerEvents()\r\n .pipe(debounceTime(30), takeUntil(this._unSubject))\r\n .subscribe(() => {\r\n this.closeSubject.next();\r\n });\r\n }\r\n this.setInstance();\r\n }\r\n\r\n setPosition(config: OverlayConfig) {\r\n let position = config.positionStrategy as FlexibleConnectedPositionStrategy;\r\n position.positionChanges.pipe(takeUntil(this._unSubject)).subscribe((pos: ConnectedOverlayPositionChange) => {\r\n const place = XPortalConnectedPosition.get(pos.connectionPair) as XPositionTopBottom;\r\n place !== this.placement && this.positionChange.next(place);\r\n });\r\n }\r\n\r\n setInstance() {\r\n let componentRef = this.portal?.componentRef;\r\n if (!componentRef) return;\r\n Object.assign(componentRef.instance, {\r\n data: this.nodes,\r\n trigger: this.trigger,\r\n minWidth: this.minWidth,\r\n close: () => this.closeSubject.next(),\r\n positionChange: this.positionChange,\r\n destroyPortal: () => this.destroyPortal(),\r\n nodeEmit: (node: XDropdownNode) => this.nodeClick.emit(node),\r\n portalHover: (hover: boolean) => this.portalHover(hover),\r\n animating: (ing: boolean) => (this.animating = ing)\r\n });\r\n componentRef.changeDetectorRef.detectChanges();\r\n }\r\n\r\n portalHover(hover: boolean) {\r\n if (this.timeoutHide && hover) {\r\n clearTimeout(this.timeoutHide);\r\n } else {\r\n this.onLeave();\r\n }\r\n }\r\n\r\n setPlacement() {\r\n return this.portalService.setPlacement({\r\n elementRef: this.dropdown,\r\n placement: [this.placement as XPlacement, 'bottom-start', 'top-start', 'bottom-end', 'top-end'],\r\n transformOriginOn: 'x-dropdown-portal'\r\n });\r\n }\r\n\r\n private setData() {\r\n XSetData<XDropdownNode>(this.data, this._unSubject).subscribe((x) => {\r\n this.datas = x;\r\n if (!this.children) {\r\n this.nodes = x.filter((y) => XIsEmpty(y.pid)).map((y) => XGetChildren<XDropdownNode>(x, y, 0));\r\n } else {\r\n this.nodes = x;\r\n }\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n}\r\n","<div\r\n #dropdown\r\n class=\"x-dropdown\"\r\n [ngClass]=\"classMap\"\r\n [class.x-visible]=\"visible\"\r\n (mouseenter)=\"onEnter()\"\r\n (mouseleave)=\"onLeave()\"\r\n (click)=\"showPortal()\"\r\n>\r\n <ng-content></ng-content>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XDropdownComponent } from './dropdown.component';\r\nimport { XDropdownPortalComponent } from './dropdown-portal.component';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\nimport { XListModule } from '@ng-nest/ui/list';\r\nimport { XDropdownProperty } from './dropdown.property';\r\n\r\n@NgModule({\r\n declarations: [XDropdownComponent, XDropdownPortalComponent, XDropdownProperty],\r\n exports: [XDropdownComponent, XDropdownPortalComponent],\r\n imports: [CommonModule, XPortalModule, XListModule],\r\n entryComponents: [XDropdownPortalComponent]\r\n})\r\nexport class XDropdownModule {}\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-dropdown.mjs","sources":["../../../../lib/ng-nest/ui/dropdown/dropdown.property.ts","../../../../lib/ng-nest/ui/dropdown/dropdown-portal.component.ts","../../../../lib/ng-nest/ui/dropdown/dropdown-portal.component.html","../../../../lib/ng-nest/ui/dropdown/dropdown.component.ts","../../../../lib/ng-nest/ui/dropdown/dropdown.component.html","../../../../lib/ng-nest/ui/dropdown/dropdown.module.ts","../../../../lib/ng-nest/ui/dropdown/ng-nest-ui-dropdown.ts"],"sourcesContent":["import { XData, XProperty, XDataConvert, XInputBoolean, XBoolean, XPlacement, XWithConfig, XTrigger } from '@ng-nest/ui/core';\r\nimport { XListNode } from '@ng-nest/ui/list';\r\nimport { Input, Output, EventEmitter, Component } from '@angular/core';\r\n\r\n/**\r\n * Dropdown\r\n * @selector x-dropdown\r\n * @decorator component\r\n */\r\nexport const XDropdownPrefix = 'x-dropdown';\r\nconst X_CONFIG_NAME = 'dropdown';\r\n\r\n/**\r\n * Dropdown Property\r\n */\r\n@Component({ template: '' })\r\nexport class XDropdownProperty extends XProperty {\r\n /**\r\n * @zh_CN 节点数据\r\n * @en_US Node data\r\n */\r\n @Input() @XDataConvert() data: XData<XDropdownNode> = [];\r\n /**\r\n * @zh_CN 触发方式\r\n * @en_US Trigger method\r\n */\r\n @Input() @XWithConfig<XDropdownTrigger>(X_CONFIG_NAME, 'hover') trigger?: XDropdownTrigger;\r\n /**\r\n * @zh_CN 展示位置\r\n * @en_US Placement\r\n */\r\n @Input() @XWithConfig<XPlacement>(X_CONFIG_NAME, 'bottom-start') placement?: XPlacement;\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n @Input() @XInputBoolean() disabled?: XBoolean;\r\n /**\r\n * @zh_CN 节点中已经包含子节点数据\r\n * @en_US The node already contains child node data\r\n */\r\n @Input() @XInputBoolean() children?: XBoolean;\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 hover 延迟触发时间,只有 trigger 为 'hover' 生效\r\n * @en_US Hover delay trigger time, only trigger is the 'hover'\r\n */\r\n @Input() hoverDelay: number = 200;\r\n /**\r\n * @zh_CN 节点点击事件\r\n * @en_US Node click event\r\n */\r\n @Output() nodeClick = new EventEmitter<XDropdownNode>();\r\n}\r\n\r\n/**\r\n * @zh_CN Dropdown 数据对象\r\n * @en_US Dropdown data object\r\n */\r\nexport interface XDropdownNode extends XListNode {}\r\n\r\n/**\r\n * @zh_CN 显示方式\r\n * @en_US Display method\r\n */\r\nexport type XDropdownTrigger = XTrigger;\r\n\r\n/**\r\n * Dropdown Portal\r\n * @selector x-dropdown-portal\r\n * @decorator component\r\n */\r\nexport const XDropdownPortalPrefix = 'x-dropdown-portal';\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n OnDestroy,\r\n HostListener,\r\n ViewContainerRef,\r\n HostBinding\r\n} from '@angular/core';\r\nimport { XDropdownPortalPrefix, XDropdownNode, XDropdownTrigger } from './dropdown.property';\r\nimport { XPortalConnectedPosition, XPortalOverlayRef, XPortalService } from '@ng-nest/ui/portal';\r\nimport { XConnectBaseAnimation, XPositionTopBottom } from '@ng-nest/ui/core';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { ConnectedOverlayPositionChange, FlexibleConnectedPositionStrategy, Overlay, OverlayConfig } from '@angular/cdk/overlay';\r\n\r\n@Component({\r\n selector: `${XDropdownPortalPrefix}`,\r\n templateUrl: './dropdown-portal.component.html',\r\n styleUrls: ['./dropdown-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XConnectBaseAnimation]\r\n})\r\nexport class XDropdownPortalComponent implements OnDestroy {\r\n @HostBinding('@x-connect-base-animation') public placement!: XPositionTopBottom;\r\n @HostListener('@x-connect-base-animation.done', ['$event']) done(event: { toState: any }) {\r\n this.animating(false);\r\n event.toState === 'void' && this.destroyPortal();\r\n }\r\n @HostListener('@x-connect-base-animation.start', ['$event']) start() {\r\n this.animating(true);\r\n }\r\n data!: XDropdownNode[];\r\n trigger!: XDropdownTrigger;\r\n close!: Function;\r\n nodeEmit!: Function;\r\n portalHover!: Function;\r\n animating!: Function;\r\n destroyPortal!: Function;\r\n portal!: XPortalOverlayRef<XDropdownPortalComponent>;\r\n positionChange!: Subject<any>;\r\n portalPositionChange: Subject<any> = new Subject();\r\n node!: XDropdownNode;\r\n timeoutHide: any;\r\n timespan = 200;\r\n minWidth!: string | number;\r\n portalPlacement!: XPositionTopBottom;\r\n childAnimating = false;\r\n private _unSubject = new Subject<void>();\r\n\r\n @HostListener('mouseenter') mouseenter() {\r\n this.portalHover(true);\r\n }\r\n\r\n @HostListener('mouseleave') mouseleave() {\r\n !this.portalAttached() && this.portalHover(false);\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n private portalService: XPortalService,\r\n private overlay: Overlay,\r\n private viewContainerRef: ViewContainerRef\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.positionChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n this.placement = x;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {}\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n nodeClick(node: XDropdownNode) {\r\n if (!node.leaf) this.close();\r\n this.nodeEmit(node);\r\n }\r\n\r\n portalAttached() {\r\n return this.portal?.overlayRef?.hasAttached();\r\n }\r\n\r\n closePortal() {\r\n if (this.portalAttached()) {\r\n this.portal?.overlayRef?.dispose();\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n createPortal() {\r\n const config: OverlayConfig = {\r\n backdropClass: '',\r\n panelClass: 'x-dropdown-portal-child',\r\n positionStrategy: this.setPlacement(),\r\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\r\n minWidth: this.minWidth\r\n };\r\n this.setPosition(config);\r\n this.portal = this.portalService.attach({\r\n content: XDropdownPortalComponent,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: config\r\n });\r\n this.setInstance();\r\n }\r\n\r\n setPosition(config: OverlayConfig) {\r\n let position = config.positionStrategy as FlexibleConnectedPositionStrategy;\r\n position.positionChanges.pipe(takeUntil(this._unSubject)).subscribe((pos: ConnectedOverlayPositionChange) => {\r\n const place = XPortalConnectedPosition.get(pos.connectionPair) as XPositionTopBottom;\r\n place !== this.portalPlacement && this.portalPositionChange.next(place);\r\n });\r\n }\r\n\r\n setInstance() {\r\n let componentRef = this.portal?.componentRef;\r\n if (!componentRef) return;\r\n Object.assign(componentRef.instance, {\r\n data: this.node?.children,\r\n minWidth: this.minWidth,\r\n close: () => this.closePortal(),\r\n placement: this.portalPlacement,\r\n positionChange: this.portalPositionChange,\r\n nodeEmit: (node: XDropdownNode) => this.nodeClick(node),\r\n portalHover: (hover: boolean) => this.hover(hover),\r\n animating: (ing: boolean) => (this.childAnimating = ing)\r\n });\r\n componentRef.changeDetectorRef.detectChanges();\r\n }\r\n\r\n hover(hover: boolean) {\r\n if (this.timeoutHide && hover) {\r\n clearTimeout(this.timeoutHide);\r\n } else {\r\n this.portalHover(false);\r\n this.onLeave();\r\n }\r\n }\r\n\r\n setPlacement() {\r\n return this.portalService.setPlacement({\r\n elementRef: new ElementRef(this.node?.event?.target),\r\n placement: ['right-start', 'right-end', 'left-start', 'left-end'],\r\n transformOriginOn: 'x-dropdown-portal'\r\n });\r\n }\r\n\r\n onEnter(node: XDropdownNode) {\r\n if (!node.leaf || node.disabled || this.childAnimating) return;\r\n if (this.timeoutHide) clearTimeout(this.timeoutHide);\r\n if (this.portalAttached() && this.node?.id !== node.id) {\r\n this.portal?.overlayRef?.dispose();\r\n }\r\n this.node = node;\r\n if (!this.portalAttached()) {\r\n this.createPortal();\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onLeave() {\r\n if (this.portalAttached()) {\r\n this.timeoutHide = setTimeout(() => {\r\n this.portal?.overlayRef?.dispose();\r\n });\r\n }\r\n }\r\n}\r\n","<div #dropdownPortal class=\"x-dropdown-portal\">\r\n <x-list [data]=\"data\" (nodeClick)=\"nodeClick($event)\" (nodeMouseenter)=\"onEnter($event)\" (nodeMouseleave)=\"onLeave()\"></x-list>\r\n</div>\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges,\r\n ViewContainerRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { XDropdownPrefix, XDropdownNode, XDropdownProperty } from './dropdown.property';\r\nimport { XIsChange, XIsEmpty, XSetData, XGetChildren, XConfigService, XPositionTopBottom, XPlacement } from '@ng-nest/ui/core';\r\nimport { of, Subject } from 'rxjs';\r\nimport { XPortalConnectedPosition, XPortalOverlayRef, XPortalService } from '@ng-nest/ui/portal';\r\nimport { XDropdownPortalComponent } from './dropdown-portal.component';\r\nimport { debounceTime, delay, takeUntil } from 'rxjs/operators';\r\nimport { ConnectedOverlayPositionChange, FlexibleConnectedPositionStrategy, Overlay, OverlayConfig } from '@angular/cdk/overlay';\r\n\r\n@Component({\r\n selector: `${XDropdownPrefix}`,\r\n templateUrl: './dropdown.component.html',\r\n styleUrls: ['./dropdown.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XDropdownComponent extends XDropdownProperty implements OnChanges {\r\n @ViewChild('dropdown', { static: true }) dropdown!: ElementRef;\r\n datas: XDropdownNode[] = [];\r\n nodes: XDropdownNode[] = [];\r\n portal!: XPortalOverlayRef<XDropdownPortalComponent>;\r\n timeoutHide: any;\r\n visible: boolean = false;\r\n animating = false;\r\n outsideClick = false;\r\n minWidth!: string | number;\r\n hoverDelayUnsub = new Subject<void>();\r\n positionChange: Subject<any> = new Subject();\r\n closeSubject: Subject<void> = new Subject();\r\n private _unSubject = new Subject<void>();\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n private portalService: XPortalService,\r\n private viewContainerRef: ViewContainerRef,\r\n private overlay: Overlay,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setSubject();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { data } = changes;\r\n XIsChange(data) && this.setData();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.complete();\r\n this.hoverDelayUnsub.next();\r\n this.hoverDelayUnsub.complete();\r\n }\r\n\r\n setSubject() {\r\n this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe(() => {\r\n this.closePortal();\r\n });\r\n }\r\n\r\n onEnter() {\r\n of(true)\r\n .pipe(delay(this.hoverDelay), takeUntil(this.hoverDelayUnsub))\r\n .subscribe(() => {\r\n if (this.disabled || this.trigger === 'click') return;\r\n if (this.timeoutHide) clearTimeout(this.timeoutHide);\r\n if (!this.portal || (this.portal && !this.portal?.overlayRef?.hasAttached())) {\r\n this.visible = true;\r\n this.createPortal();\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n onLeave() {\r\n this.hoverDelayUnsub.next();\r\n if (this.disabled || this.trigger === 'click') return;\r\n if (this.portal?.overlayRef?.hasAttached()) {\r\n this.timeoutHide = setTimeout(() => {\r\n this.visible = false;\r\n this.portal?.overlayRef?.dispose();\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n }\r\n\r\n showPortal() {\r\n if (this.disabled || this.trigger === 'hover' || this.animating) return;\r\n if (this.trigger === 'click' && this.portalAttached()) {\r\n this.closeSubject.next();\r\n return;\r\n }\r\n this.createPortal();\r\n }\r\n\r\n portalAttached() {\r\n return this.portal?.overlayRef?.hasAttached();\r\n }\r\n\r\n closePortal() {\r\n if (this.portalAttached()) {\r\n this.portal?.overlayRef?.dispose();\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n destroyPortal() {\r\n this.portal?.overlayRef?.dispose();\r\n }\r\n\r\n createPortal() {\r\n let box = this.dropdown.nativeElement.getBoundingClientRect();\r\n this.minWidth = this.portalMinWidth ? this.portalMinWidth : box.width;\r\n const config: OverlayConfig = {\r\n backdropClass: '',\r\n positionStrategy: this.setPlacement(),\r\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\r\n minWidth: this.minWidth\r\n };\r\n this.setPosition(config);\r\n this.portal = this.portalService.attach({\r\n content: XDropdownPortalComponent,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: config\r\n });\r\n if (this.trigger === 'click') {\r\n this.portal.overlayRef\r\n ?.outsidePointerEvents()\r\n .pipe(debounceTime(30), takeUntil(this._unSubject))\r\n .subscribe(() => {\r\n this.closeSubject.next();\r\n });\r\n }\r\n this.setInstance();\r\n }\r\n\r\n setPosition(config: OverlayConfig) {\r\n let position = config.positionStrategy as FlexibleConnectedPositionStrategy;\r\n position.positionChanges.pipe(takeUntil(this._unSubject)).subscribe((pos: ConnectedOverlayPositionChange) => {\r\n const place = XPortalConnectedPosition.get(pos.connectionPair) as XPositionTopBottom;\r\n place !== this.placement && this.positionChange.next(place);\r\n });\r\n }\r\n\r\n setInstance() {\r\n let componentRef = this.portal?.componentRef;\r\n if (!componentRef) return;\r\n Object.assign(componentRef.instance, {\r\n data: this.nodes,\r\n trigger: this.trigger,\r\n minWidth: this.minWidth,\r\n close: () => this.closeSubject.next(),\r\n positionChange: this.positionChange,\r\n destroyPortal: () => this.destroyPortal(),\r\n nodeEmit: (node: XDropdownNode) => this.nodeClick.emit(node),\r\n portalHover: (hover: boolean) => this.portalHover(hover),\r\n animating: (ing: boolean) => (this.animating = ing)\r\n });\r\n componentRef.changeDetectorRef.detectChanges();\r\n }\r\n\r\n portalHover(hover: boolean) {\r\n if (this.timeoutHide && hover) {\r\n clearTimeout(this.timeoutHide);\r\n } else {\r\n this.onLeave();\r\n }\r\n }\r\n\r\n setPlacement() {\r\n return this.portalService.setPlacement({\r\n elementRef: this.dropdown,\r\n placement: [this.placement as XPlacement, 'bottom-start', 'top-start', 'bottom-end', 'top-end'],\r\n transformOriginOn: 'x-dropdown-portal'\r\n });\r\n }\r\n\r\n private setData() {\r\n XSetData<XDropdownNode>(this.data, this._unSubject).subscribe((x) => {\r\n this.datas = x;\r\n if (!this.children) {\r\n this.nodes = x.filter((y) => XIsEmpty(y.pid)).map((y) => XGetChildren<XDropdownNode>(x, y, 0));\r\n } else {\r\n this.nodes = x;\r\n }\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n}\r\n","<div\r\n #dropdown\r\n class=\"x-dropdown\"\r\n [ngClass]=\"classMap\"\r\n [class.x-visible]=\"visible\"\r\n (mouseenter)=\"onEnter()\"\r\n (mouseleave)=\"onLeave()\"\r\n (click)=\"showPortal()\"\r\n>\r\n <ng-content></ng-content>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XDropdownComponent } from './dropdown.component';\r\nimport { XDropdownPortalComponent } from './dropdown-portal.component';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\nimport { XListModule } from '@ng-nest/ui/list';\r\nimport { XDropdownProperty } from './dropdown.property';\r\n\r\n@NgModule({\r\n declarations: [XDropdownComponent, XDropdownPortalComponent, XDropdownProperty],\r\n exports: [XDropdownComponent, XDropdownPortalComponent],\r\n imports: [CommonModule, XPortalModule, XListModule]\r\n})\r\nexport class XDropdownModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -26,12 +26,12 @@ const X_CONFIG_NAME = 'empty';
26
26
  */
27
27
  class XEmptyProperty {
28
28
  }
29
- /** @nocollapse */ /** @nocollapse */ XEmptyProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XEmptyProperty, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
- /** @nocollapse */ /** @nocollapse */ XEmptyProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XEmptyProperty, selector: "ng-component", inputs: { img: "img", content: "content" }, ngImport: i0, template: '', isInline: true });
29
+ /** @nocollapse */ /** @nocollapse */ XEmptyProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XEmptyProperty, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
+ /** @nocollapse */ /** @nocollapse */ XEmptyProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XEmptyProperty, selector: "ng-component", inputs: { img: "img", content: "content" }, ngImport: i0, template: '', isInline: true });
31
31
  __decorate([
32
32
  XWithConfig(X_CONFIG_NAME)
33
33
  ], XEmptyProperty.prototype, "content", void 0);
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XEmptyProperty, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XEmptyProperty, decorators: [{
35
35
  type: Component,
36
36
  args: [{ template: '' }]
37
37
  }], propDecorators: { img: [{
@@ -56,19 +56,19 @@ class XEmptyComponent extends XEmptyProperty {
56
56
  this._unSubject.unsubscribe();
57
57
  }
58
58
  }
59
- /** @nocollapse */ /** @nocollapse */ XEmptyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XEmptyComponent, deps: [{ token: i1.XConfigService }, { token: i0.ChangeDetectorRef }, { token: i2.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
60
- /** @nocollapse */ /** @nocollapse */ XEmptyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XEmptyComponent, selector: "x-empty", usesInheritance: true, ngImport: i0, template: "<div #empty class=\"x-empty\">\r\n <ng-container *ngIf=\"img; else imgDefaultTemp\">\r\n <ng-container *xOutlet=\"img\">\r\n <img class=\"x-empty-img\" [src]=\"img\" />\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"content; else contentDefaultTemp\">\r\n <ng-container *xOutlet=\"content\">\r\n <span>{{ content }}</span>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #imgDefaultTemp>\r\n <x-icon type=\"fto-inbox\"></x-icon>\r\n</ng-template>\r\n\r\n<ng-template #contentDefaultTemp>\r\n <span>{{ 'empty.noData' | xI18n }}</span>\r\n</ng-template>\r\n", styles: [".x-empty{margin:0;padding:0;display:flex;align-items:center;flex-direction:column;color:var(--x-text-400)}.x-empty>.x-icon{font-size:calc(var(--x-font-size) + 1.125rem)}.x-empty>span{line-height:calc(var(--x-font-size) + 1rem)}.x-empty-img{height:5rem}\n"], components: [{ type: i3.XIconComponent, selector: "x-icon" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], pipes: { "xI18n": i2.XI18nPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XEmptyComponent, decorators: [{
59
+ /** @nocollapse */ /** @nocollapse */ XEmptyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XEmptyComponent, deps: [{ token: i1.XConfigService }, { token: i0.ChangeDetectorRef }, { token: i2.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
60
+ /** @nocollapse */ /** @nocollapse */ XEmptyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XEmptyComponent, selector: "x-empty", usesInheritance: true, ngImport: i0, template: "<div #empty class=\"x-empty\">\r\n <ng-container *ngIf=\"img; else imgDefaultTemp\">\r\n <ng-container *xOutlet=\"img\">\r\n <img class=\"x-empty-img\" [src]=\"img\" />\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"content; else contentDefaultTemp\">\r\n <ng-container *xOutlet=\"content\">\r\n <span>{{ content }}</span>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #imgDefaultTemp>\r\n <x-icon type=\"fto-inbox\"></x-icon>\r\n</ng-template>\r\n\r\n<ng-template #contentDefaultTemp>\r\n <span>{{ 'empty.noData' | xI18n }}</span>\r\n</ng-template>\r\n", styles: [".x-empty{margin:0;padding:0;display:flex;align-items:center;flex-direction:column;color:var(--x-text-400)}.x-empty>.x-icon{font-size:calc(var(--x-font-size) + 1.125rem)}.x-empty>span{line-height:calc(var(--x-font-size) + 1rem)}.x-empty-img{height:5rem}\n"], components: [{ type: i3.XIconComponent, selector: "x-icon" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], pipes: { "xI18n": i2.XI18nPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XEmptyComponent, decorators: [{
62
62
  type: Component,
63
63
  args: [{ selector: `${XEmptyPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #empty class=\"x-empty\">\r\n <ng-container *ngIf=\"img; else imgDefaultTemp\">\r\n <ng-container *xOutlet=\"img\">\r\n <img class=\"x-empty-img\" [src]=\"img\" />\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"content; else contentDefaultTemp\">\r\n <ng-container *xOutlet=\"content\">\r\n <span>{{ content }}</span>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #imgDefaultTemp>\r\n <x-icon type=\"fto-inbox\"></x-icon>\r\n</ng-template>\r\n\r\n<ng-template #contentDefaultTemp>\r\n <span>{{ 'empty.noData' | xI18n }}</span>\r\n</ng-template>\r\n", styles: [".x-empty{margin:0;padding:0;display:flex;align-items:center;flex-direction:column;color:var(--x-text-400)}.x-empty>.x-icon{font-size:calc(var(--x-font-size) + 1.125rem)}.x-empty>span{line-height:calc(var(--x-font-size) + 1rem)}.x-empty-img{height:5rem}\n"] }]
64
64
  }], ctorParameters: function () { return [{ type: i1.XConfigService }, { type: i0.ChangeDetectorRef }, { type: i2.XI18nService }]; } });
65
65
 
66
66
  class XEmptyModule {
67
67
  }
68
- /** @nocollapse */ /** @nocollapse */ XEmptyModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XEmptyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
69
- /** @nocollapse */ /** @nocollapse */ XEmptyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XEmptyModule, declarations: [XEmptyComponent, XEmptyProperty], imports: [CommonModule, XOutletModule, XIconModule, XI18nModule], exports: [XEmptyComponent] });
70
- /** @nocollapse */ /** @nocollapse */ XEmptyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XEmptyModule, imports: [[CommonModule, XOutletModule, XIconModule, XI18nModule]] });
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XEmptyModule, decorators: [{
68
+ /** @nocollapse */ /** @nocollapse */ XEmptyModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XEmptyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
69
+ /** @nocollapse */ /** @nocollapse */ XEmptyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XEmptyModule, declarations: [XEmptyComponent, XEmptyProperty], imports: [CommonModule, XOutletModule, XIconModule, XI18nModule], exports: [XEmptyComponent] });
70
+ /** @nocollapse */ /** @nocollapse */ XEmptyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XEmptyModule, imports: [[CommonModule, XOutletModule, XIconModule, XI18nModule]] });
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XEmptyModule, decorators: [{
72
72
  type: NgModule,
73
73
  args: [{
74
74
  declarations: [XEmptyComponent, XEmptyProperty],
@@ -16,19 +16,19 @@ class XExamplesComponent {
16
16
  this.renderer.addClass(this.elementRef.nativeElement, XExamplesPrefix);
17
17
  }
18
18
  }
19
- /** @nocollapse */ /** @nocollapse */ XExamplesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XExamplesComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
20
- /** @nocollapse */ /** @nocollapse */ XExamplesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XExamplesComponent, selector: "x-examples", ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: [".x-examples{margin:0;padding:0;display:block}.x-examples .x-examples-html{padding:1rem;margin:1rem 0;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:.125rem;position:relative}.x-examples .x-examples-tools{position:absolute;bottom:-.875rem;left:0;display:flex;width:100%;justify-content:center}.x-examples .x-examples-tools .x-buttons{background-color:var(--x-background);padding:0 .25rem}.x-examples .x-examples-code{padding:1rem 0}.x-examples .x-examples-code>x-tabs>.x-tabs{border-radius:.125rem}.x-examples .x-examples-code>x-tabs>.x-tabs>.x-tabs-contents>.x-tab-content>.x-highlight{border-top:0}.x-examples .x-examples-code>x-tabs>.x-tabs>.x-tabs-contents>.x-tab-content>.x-highlight>pre{background-color:transparent}.x-examples .x-examples-info{padding:1rem;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:.125rem;background-color:var(--x-background-a100)}.x-examples .x-examples-info>p{margin:.25rem 0 0}.x-examples .x-examples-info>p:first-of-type{margin-top:0}.x-examples .x-examples-info>ul{margin:.25rem 0}.x-examples .x-examples-info>ul>li{list-style-type:square;margin-left:1.25rem;line-height:1.75rem}.x-examples>x-tabs>.x-tabs{width:100%}.x-examples>x-tabs>.x-tabs>.x-tabs-list{border:none}.x-examples>x-tabs>.x-tabs>.x-tabs-contents>x-tab-content>x-tabs>.x-tabs-top>.x-tabs-list{border:none;background:rgba(0,0,0,.05)}.x-examples>x-tabs>.x-tabs>.x-tabs-contents>x-tab-content>x-tabs>.x-tabs-top>.x-tabs-list>x-slider>.x-slider-row>.x-slider-scroll>ul>li.x-slider-highlight,.x-examples>x-tabs>.x-tabs>.x-tabs-contents>x-tab-content>x-tabs>.x-tabs-top>.x-tabs-list>x-slider>.x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border-radius:var(--x-border-radius);border:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-examples>x-tabs>.x-tabs-left>.x-tabs-list>x-slider>.x-slider-row>.x-slider-scroll>ul>li.x-slider-highlight,.x-examples>x-tabs>.x-tabs-left>.x-tabs-list>x-slider>.x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight,.x-examples>x-tabs>.x-tabs-top>.x-tabs-list>x-slider>.x-slider-row>.x-slider-scroll>ul>li.x-slider-highlight,.x-examples>x-tabs>.x-tabs-top>.x-tabs-list>x-slider>.x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border-radius:var(--x-border-radius);border:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-examples>x-tabs>.x-tabs-left>.x-tabs-list{padding:0}.x-examples>x-tabs>.x-tabs-left>.x-tabs-list>x-slider>.x-slider>.x-slider-scroll>ul{min-width:6rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XExamplesComponent, decorators: [{
19
+ /** @nocollapse */ /** @nocollapse */ XExamplesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XExamplesComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
20
+ /** @nocollapse */ /** @nocollapse */ XExamplesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XExamplesComponent, selector: "x-examples", ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: [".x-examples{margin:0;padding:0;display:block}.x-examples .x-examples-html{padding:1rem;margin:1rem 0;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:.125rem;position:relative}.x-examples .x-examples-tools{position:absolute;bottom:-.875rem;left:0;display:flex;width:100%;justify-content:center}.x-examples .x-examples-tools .x-buttons{background-color:var(--x-background);padding:0 .25rem}.x-examples .x-examples-code{padding:1rem 0}.x-examples .x-examples-code>x-tabs>.x-tabs{border-radius:.125rem}.x-examples .x-examples-code>x-tabs>.x-tabs>.x-tabs-contents>.x-tab-content>.x-highlight{border-top:0}.x-examples .x-examples-code>x-tabs>.x-tabs>.x-tabs-contents>.x-tab-content>.x-highlight>pre{background-color:transparent}.x-examples .x-examples-info{padding:1rem;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:.125rem;background-color:var(--x-background-a100)}.x-examples .x-examples-info>p{margin:.25rem 0 0}.x-examples .x-examples-info>p:first-of-type{margin-top:0}.x-examples .x-examples-info>ul{margin:.25rem 0}.x-examples .x-examples-info>ul>li{list-style-type:square;margin-left:1.25rem;line-height:1.75rem}.x-examples>x-tabs>.x-tabs{width:100%}.x-examples>x-tabs>.x-tabs>.x-tabs-list{border:none}.x-examples>x-tabs>.x-tabs>.x-tabs-contents>x-tab-content>x-tabs>.x-tabs-top>.x-tabs-list{border:none;background:rgba(0,0,0,.05)}.x-examples>x-tabs>.x-tabs>.x-tabs-contents>x-tab-content>x-tabs>.x-tabs-top>.x-tabs-list>x-slider>.x-slider-row>.x-slider-scroll>ul>li.x-slider-highlight,.x-examples>x-tabs>.x-tabs>.x-tabs-contents>x-tab-content>x-tabs>.x-tabs-top>.x-tabs-list>x-slider>.x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border-radius:var(--x-border-radius);border:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-examples>x-tabs>.x-tabs-left>.x-tabs-list>x-slider>.x-slider-row>.x-slider-scroll>ul>li.x-slider-highlight,.x-examples>x-tabs>.x-tabs-left>.x-tabs-list>x-slider>.x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight,.x-examples>x-tabs>.x-tabs-top>.x-tabs-list>x-slider>.x-slider-row>.x-slider-scroll>ul>li.x-slider-highlight,.x-examples>x-tabs>.x-tabs-top>.x-tabs-list>x-slider>.x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border-radius:var(--x-border-radius);border:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-examples>x-tabs>.x-tabs-left>.x-tabs-list{padding:0}.x-examples>x-tabs>.x-tabs-left>.x-tabs-list>x-slider>.x-slider>.x-slider-scroll>ul{min-width:6rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XExamplesComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{ selector: `${XExamplesPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\r\n", styles: [".x-examples{margin:0;padding:0;display:block}.x-examples .x-examples-html{padding:1rem;margin:1rem 0;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:.125rem;position:relative}.x-examples .x-examples-tools{position:absolute;bottom:-.875rem;left:0;display:flex;width:100%;justify-content:center}.x-examples .x-examples-tools .x-buttons{background-color:var(--x-background);padding:0 .25rem}.x-examples .x-examples-code{padding:1rem 0}.x-examples .x-examples-code>x-tabs>.x-tabs{border-radius:.125rem}.x-examples .x-examples-code>x-tabs>.x-tabs>.x-tabs-contents>.x-tab-content>.x-highlight{border-top:0}.x-examples .x-examples-code>x-tabs>.x-tabs>.x-tabs-contents>.x-tab-content>.x-highlight>pre{background-color:transparent}.x-examples .x-examples-info{padding:1rem;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:.125rem;background-color:var(--x-background-a100)}.x-examples .x-examples-info>p{margin:.25rem 0 0}.x-examples .x-examples-info>p:first-of-type{margin-top:0}.x-examples .x-examples-info>ul{margin:.25rem 0}.x-examples .x-examples-info>ul>li{list-style-type:square;margin-left:1.25rem;line-height:1.75rem}.x-examples>x-tabs>.x-tabs{width:100%}.x-examples>x-tabs>.x-tabs>.x-tabs-list{border:none}.x-examples>x-tabs>.x-tabs>.x-tabs-contents>x-tab-content>x-tabs>.x-tabs-top>.x-tabs-list{border:none;background:rgba(0,0,0,.05)}.x-examples>x-tabs>.x-tabs>.x-tabs-contents>x-tab-content>x-tabs>.x-tabs-top>.x-tabs-list>x-slider>.x-slider-row>.x-slider-scroll>ul>li.x-slider-highlight,.x-examples>x-tabs>.x-tabs>.x-tabs-contents>x-tab-content>x-tabs>.x-tabs-top>.x-tabs-list>x-slider>.x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border-radius:var(--x-border-radius);border:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-examples>x-tabs>.x-tabs-left>.x-tabs-list>x-slider>.x-slider-row>.x-slider-scroll>ul>li.x-slider-highlight,.x-examples>x-tabs>.x-tabs-left>.x-tabs-list>x-slider>.x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight,.x-examples>x-tabs>.x-tabs-top>.x-tabs-list>x-slider>.x-slider-row>.x-slider-scroll>ul>li.x-slider-highlight,.x-examples>x-tabs>.x-tabs-top>.x-tabs-list>x-slider>.x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border-radius:var(--x-border-radius);border:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-examples>x-tabs>.x-tabs-left>.x-tabs-list{padding:0}.x-examples>x-tabs>.x-tabs-left>.x-tabs-list>x-slider>.x-slider>.x-slider-scroll>ul{min-width:6rem}\n"] }]
24
24
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; } });
25
25
 
26
26
  class XExamplesModule {
27
27
  }
28
- /** @nocollapse */ /** @nocollapse */ XExamplesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XExamplesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29
- /** @nocollapse */ /** @nocollapse */ XExamplesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XExamplesModule, declarations: [XExamplesComponent], imports: [CommonModule], exports: [XExamplesComponent] });
30
- /** @nocollapse */ /** @nocollapse */ XExamplesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XExamplesModule, imports: [[CommonModule]] });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XExamplesModule, decorators: [{
28
+ /** @nocollapse */ /** @nocollapse */ XExamplesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XExamplesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29
+ /** @nocollapse */ /** @nocollapse */ XExamplesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XExamplesModule, declarations: [XExamplesComponent], imports: [CommonModule], exports: [XExamplesComponent] });
30
+ /** @nocollapse */ /** @nocollapse */ XExamplesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XExamplesModule, imports: [[CommonModule]] });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XExamplesModule, decorators: [{
32
32
  type: NgModule,
33
33
  args: [{
34
34
  declarations: [XExamplesComponent],