@ng-nest/ui 12.0.8 → 12.0.10

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 (386) hide show
  1. package/auto-complete/auto-complete-portal.component.d.ts +1 -3
  2. package/auto-complete/auto-complete.component.d.ts +1 -1
  3. package/back-top/back-top.component.d.ts +1 -2
  4. package/bundles/ng-nest-ui-alert.umd.js.map +1 -1
  5. package/bundles/ng-nest-ui-anchor.umd.js +1 -1
  6. package/bundles/ng-nest-ui-anchor.umd.js.map +1 -1
  7. package/bundles/ng-nest-ui-auto-complete.umd.js +7 -6
  8. package/bundles/ng-nest-ui-auto-complete.umd.js.map +1 -1
  9. package/bundles/ng-nest-ui-back-top.umd.js +2 -2
  10. package/bundles/ng-nest-ui-back-top.umd.js.map +1 -1
  11. package/bundles/ng-nest-ui-badge.umd.js +2 -1
  12. package/bundles/ng-nest-ui-badge.umd.js.map +1 -1
  13. package/bundles/ng-nest-ui-button.umd.js +4 -3
  14. package/bundles/ng-nest-ui-button.umd.js.map +1 -1
  15. package/bundles/ng-nest-ui-calendar.umd.js +4 -3
  16. package/bundles/ng-nest-ui-calendar.umd.js.map +1 -1
  17. package/bundles/ng-nest-ui-carousel.umd.js +3 -2
  18. package/bundles/ng-nest-ui-carousel.umd.js.map +1 -1
  19. package/bundles/ng-nest-ui-cascade.umd.js +9 -9
  20. package/bundles/ng-nest-ui-cascade.umd.js.map +1 -1
  21. package/bundles/ng-nest-ui-checkbox.umd.js +3 -2
  22. package/bundles/ng-nest-ui-checkbox.umd.js.map +1 -1
  23. package/bundles/ng-nest-ui-color-picker.umd.js +9 -10
  24. package/bundles/ng-nest-ui-color-picker.umd.js.map +1 -1
  25. package/bundles/ng-nest-ui-color.umd.js +1 -1
  26. package/bundles/ng-nest-ui-color.umd.js.map +1 -1
  27. package/bundles/ng-nest-ui-comment.umd.js +3 -2
  28. package/bundles/ng-nest-ui-comment.umd.js.map +1 -1
  29. package/bundles/ng-nest-ui-container.umd.js.map +1 -1
  30. package/bundles/ng-nest-ui-core.umd.js +3 -3
  31. package/bundles/ng-nest-ui-core.umd.js.map +1 -1
  32. package/bundles/ng-nest-ui-crumb.umd.js +3 -2
  33. package/bundles/ng-nest-ui-crumb.umd.js.map +1 -1
  34. package/bundles/ng-nest-ui-date-picker.umd.js +34 -44
  35. package/bundles/ng-nest-ui-date-picker.umd.js.map +1 -1
  36. package/bundles/ng-nest-ui-description.umd.js +5 -6
  37. package/bundles/ng-nest-ui-description.umd.js.map +1 -1
  38. package/bundles/ng-nest-ui-dialog.umd.js +2 -1
  39. package/bundles/ng-nest-ui-dialog.umd.js.map +1 -1
  40. package/bundles/ng-nest-ui-drawer.umd.js +2 -1
  41. package/bundles/ng-nest-ui-drawer.umd.js.map +1 -1
  42. package/bundles/ng-nest-ui-dropdown.umd.js +4 -3
  43. package/bundles/ng-nest-ui-dropdown.umd.js.map +1 -1
  44. package/bundles/ng-nest-ui-find.umd.js +6 -5
  45. package/bundles/ng-nest-ui-find.umd.js.map +1 -1
  46. package/bundles/ng-nest-ui-form.umd.js +6 -10
  47. package/bundles/ng-nest-ui-form.umd.js.map +1 -1
  48. package/bundles/ng-nest-ui-highlight.umd.js +2 -1
  49. package/bundles/ng-nest-ui-highlight.umd.js.map +1 -1
  50. package/bundles/ng-nest-ui-i18n.umd.js +2 -1
  51. package/bundles/ng-nest-ui-i18n.umd.js.map +1 -1
  52. package/bundles/ng-nest-ui-icon.umd.js +3 -2
  53. package/bundles/ng-nest-ui-icon.umd.js.map +1 -1
  54. package/bundles/ng-nest-ui-inner.umd.js +1 -1
  55. package/bundles/ng-nest-ui-inner.umd.js.map +1 -1
  56. package/bundles/ng-nest-ui-input.umd.js +7 -6
  57. package/bundles/ng-nest-ui-input.umd.js.map +1 -1
  58. package/bundles/ng-nest-ui-list.umd.js +4 -3
  59. package/bundles/ng-nest-ui-list.umd.js.map +1 -1
  60. package/bundles/ng-nest-ui-loading.umd.js +2 -1
  61. package/bundles/ng-nest-ui-loading.umd.js.map +1 -1
  62. package/bundles/ng-nest-ui-menu.umd.js +6 -6
  63. package/bundles/ng-nest-ui-menu.umd.js.map +1 -1
  64. package/bundles/ng-nest-ui-message-box.umd.js +28 -26
  65. package/bundles/ng-nest-ui-message-box.umd.js.map +1 -1
  66. package/bundles/ng-nest-ui-message.umd.js +1 -1
  67. package/bundles/ng-nest-ui-message.umd.js.map +1 -1
  68. package/bundles/ng-nest-ui-notification.umd.js +1 -1
  69. package/bundles/ng-nest-ui-notification.umd.js.map +1 -1
  70. package/bundles/ng-nest-ui-pagination.umd.js +3 -2
  71. package/bundles/ng-nest-ui-pagination.umd.js.map +1 -1
  72. package/bundles/ng-nest-ui-popover.umd.js +3 -2
  73. package/bundles/ng-nest-ui-popover.umd.js.map +1 -1
  74. package/bundles/ng-nest-ui-progress.umd.js +3 -2
  75. package/bundles/ng-nest-ui-progress.umd.js.map +1 -1
  76. package/bundles/ng-nest-ui-radio.umd.js +3 -2
  77. package/bundles/ng-nest-ui-radio.umd.js.map +1 -1
  78. package/bundles/ng-nest-ui-rate.umd.js +5 -5
  79. package/bundles/ng-nest-ui-rate.umd.js.map +1 -1
  80. package/bundles/ng-nest-ui-ripple.umd.js.map +1 -1
  81. package/bundles/ng-nest-ui-select.umd.js +6 -5
  82. package/bundles/ng-nest-ui-select.umd.js.map +1 -1
  83. package/bundles/ng-nest-ui-skeleton.umd.js +2 -1
  84. package/bundles/ng-nest-ui-skeleton.umd.js.map +1 -1
  85. package/bundles/ng-nest-ui-slider.umd.js +7 -8
  86. package/bundles/ng-nest-ui-slider.umd.js.map +1 -1
  87. package/bundles/ng-nest-ui-statistic.umd.js +6 -4
  88. package/bundles/ng-nest-ui-statistic.umd.js.map +1 -1
  89. package/bundles/ng-nest-ui-steps.umd.js +4 -3
  90. package/bundles/ng-nest-ui-steps.umd.js.map +1 -1
  91. package/bundles/ng-nest-ui-table.umd.js +13 -10
  92. package/bundles/ng-nest-ui-table.umd.js.map +1 -1
  93. package/bundles/ng-nest-ui-tabs.umd.js +5 -4
  94. package/bundles/ng-nest-ui-tabs.umd.js.map +1 -1
  95. package/bundles/ng-nest-ui-tag.umd.js +2 -1
  96. package/bundles/ng-nest-ui-tag.umd.js.map +1 -1
  97. package/bundles/ng-nest-ui-text-retract.umd.js +2 -1
  98. package/bundles/ng-nest-ui-text-retract.umd.js.map +1 -1
  99. package/bundles/ng-nest-ui-textarea.umd.js +3 -12
  100. package/bundles/ng-nest-ui-textarea.umd.js.map +1 -1
  101. package/bundles/ng-nest-ui-theme.umd.js +2 -2
  102. package/bundles/ng-nest-ui-theme.umd.js.map +1 -1
  103. package/bundles/ng-nest-ui-time-picker.umd.js +32 -15
  104. package/bundles/ng-nest-ui-time-picker.umd.js.map +1 -1
  105. package/bundles/ng-nest-ui-timeline.umd.js +3 -2
  106. package/bundles/ng-nest-ui-timeline.umd.js.map +1 -1
  107. package/bundles/ng-nest-ui-tooltip.umd.js +3 -2
  108. package/bundles/ng-nest-ui-tooltip.umd.js.map +1 -1
  109. package/bundles/ng-nest-ui-transfer.umd.js +3 -2
  110. package/bundles/ng-nest-ui-transfer.umd.js.map +1 -1
  111. package/bundles/ng-nest-ui-tree.umd.js +8 -7
  112. package/bundles/ng-nest-ui-tree.umd.js.map +1 -1
  113. package/bundles/ng-nest-ui-upload.umd.js +5 -4
  114. package/bundles/ng-nest-ui-upload.umd.js.map +1 -1
  115. package/button/buttons.component.d.ts +1 -1
  116. package/calendar/calendar.component.d.ts +2 -2
  117. package/carousel/carousel.component.d.ts +1 -1
  118. package/cascade/cascade-portal.component.d.ts +4 -7
  119. package/cascade/cascade.component.d.ts +1 -1
  120. package/checkbox/checkbox.component.d.ts +1 -1
  121. package/color/color.component.d.ts +2 -2
  122. package/color-picker/color-picker-portal.component.d.ts +1 -3
  123. package/color-picker/color-picker.component.d.ts +2 -3
  124. package/comment/comment.component.d.ts +1 -1
  125. package/core/services/reuse-strategy.service.d.ts +1 -1
  126. package/crumb/crumb.component.d.ts +1 -1
  127. package/date-picker/date-picker-portal.component.d.ts +1 -3
  128. package/date-picker/date-picker.component.d.ts +3 -4
  129. package/date-picker/date-picker.property.d.ts +1 -16
  130. package/date-picker/date-range-portal.component.d.ts +1 -3
  131. package/date-picker/date-range.component.d.ts +2 -3
  132. package/date-picker/picker-date.component.d.ts +1 -1
  133. package/date-picker/picker-month.component.d.ts +1 -1
  134. package/date-picker/picker-year.component.d.ts +1 -1
  135. package/description/description.component.d.ts +2 -4
  136. package/dropdown/dropdown-portal.component.d.ts +1 -3
  137. package/dropdown/dropdown.component.d.ts +2 -2
  138. package/esm2015/alert/alert.component.js +1 -1
  139. package/esm2015/anchor/anchor.component.js +2 -2
  140. package/esm2015/anchor/anchor.property.js +1 -1
  141. package/esm2015/auto-complete/auto-complete-portal.component.js +4 -4
  142. package/esm2015/auto-complete/auto-complete.component.js +5 -4
  143. package/esm2015/auto-complete/auto-complete.property.js +1 -1
  144. package/esm2015/back-top/back-top.component.js +3 -3
  145. package/esm2015/badge/badge.component.js +3 -2
  146. package/esm2015/button/button.component.js +5 -4
  147. package/esm2015/button/buttons.component.js +1 -1
  148. package/esm2015/calendar/calendar.component.js +5 -4
  149. package/esm2015/carousel/carousel.component.js +4 -3
  150. package/esm2015/cascade/cascade-portal.component.js +6 -7
  151. package/esm2015/cascade/cascade.component.js +5 -4
  152. package/esm2015/checkbox/checkbox.component.js +4 -3
  153. package/esm2015/checkbox/checkbox.property.js +1 -1
  154. package/esm2015/color/color.component.js +2 -2
  155. package/esm2015/color-picker/color-picker-portal.component.js +3 -3
  156. package/esm2015/color-picker/color-picker.component.js +8 -9
  157. package/esm2015/comment/comment.component.js +4 -3
  158. package/esm2015/container/container.component.js +2 -2
  159. package/esm2015/core/animation/fade.js +1 -1
  160. package/esm2015/core/services/http.service.js +2 -2
  161. package/esm2015/core/services/preloading-strategy.service.js +2 -2
  162. package/esm2015/core/services/reuse-strategy.service.js +2 -2
  163. package/esm2015/crumb/crumb.component.js +4 -3
  164. package/esm2015/date-picker/date-picker-portal.component.js +4 -4
  165. package/esm2015/date-picker/date-picker.component.js +9 -13
  166. package/esm2015/date-picker/date-picker.property.js +8 -17
  167. package/esm2015/date-picker/date-range-portal.component.js +2 -2
  168. package/esm2015/date-picker/date-range.component.js +7 -7
  169. package/esm2015/date-picker/picker-date.component.js +4 -3
  170. package/esm2015/date-picker/picker-month.component.js +4 -3
  171. package/esm2015/date-picker/picker-year.component.js +4 -3
  172. package/esm2015/description/description.component.js +6 -7
  173. package/esm2015/dialog/dialog.component.js +3 -2
  174. package/esm2015/dialog/dialog.property.js +1 -1
  175. package/esm2015/drawer/drawer.component.js +3 -2
  176. package/esm2015/dropdown/dropdown-portal.component.js +2 -2
  177. package/esm2015/dropdown/dropdown.component.js +4 -3
  178. package/esm2015/find/find.component.js +7 -6
  179. package/esm2015/form/control.component.js +1 -1
  180. package/esm2015/form/form.component.js +6 -5
  181. package/esm2015/form/form.property.js +3 -8
  182. package/esm2015/highlight/highlight.component.js +3 -2
  183. package/esm2015/highlight/highlight.property.js +1 -1
  184. package/esm2015/i18n/i18n.directive.js +3 -2
  185. package/esm2015/icon/icon.component.js +4 -3
  186. package/esm2015/inner/inner.component.js +2 -2
  187. package/esm2015/input/input-group.component.js +2 -4
  188. package/esm2015/input/input.component.js +7 -4
  189. package/esm2015/input/input.property.js +1 -1
  190. package/esm2015/list/list.component.js +5 -4
  191. package/esm2015/list/list.property.js +1 -1
  192. package/esm2015/loading/loading.component.js +3 -2
  193. package/esm2015/menu/menu-node.component.js +1 -1
  194. package/esm2015/menu/menu.component.js +7 -7
  195. package/esm2015/message/message.component.js +2 -2
  196. package/esm2015/message-box/message-box.component.js +17 -21
  197. package/esm2015/message-box/message-box.service.js +7 -5
  198. package/esm2015/notification/notification.component.js +2 -2
  199. package/esm2015/notification/notification.property.js +1 -1
  200. package/esm2015/pagination/pagination.component.js +4 -3
  201. package/esm2015/popover/popover.directive.js +4 -3
  202. package/esm2015/progress/progress.component.js +4 -3
  203. package/esm2015/radio/radio.component.js +4 -3
  204. package/esm2015/radio/radio.property.js +1 -1
  205. package/esm2015/rate/rate.component.js +6 -6
  206. package/esm2015/ripple/ripple.directive.js +1 -1
  207. package/esm2015/ripple/ripple.property.js +1 -1
  208. package/esm2015/select/select-portal.component.js +3 -3
  209. package/esm2015/select/select.component.js +5 -4
  210. package/esm2015/skeleton/skeleton.component.js +3 -2
  211. package/esm2015/slider/slider.component.js +8 -9
  212. package/esm2015/statistic/countdown.component.js +5 -4
  213. package/esm2015/statistic/statistic.component.js +3 -2
  214. package/esm2015/steps/steps.component.js +5 -4
  215. package/esm2015/steps/steps.property.js +1 -1
  216. package/esm2015/table/drag.directive.js +2 -2
  217. package/esm2015/table/table-body.component.js +4 -3
  218. package/esm2015/table/table-foot.component.js +1 -1
  219. package/esm2015/table/table-head.component.js +5 -4
  220. package/esm2015/table/table.component.js +6 -5
  221. package/esm2015/table/table.property.js +1 -1
  222. package/esm2015/tabs/tab.component.js +1 -1
  223. package/esm2015/tabs/tabs.component.js +6 -5
  224. package/esm2015/tag/tag.component.js +3 -2
  225. package/esm2015/text-retract/text-retract.component.js +3 -2
  226. package/esm2015/textarea/textarea.component.js +3 -2
  227. package/esm2015/textarea/textarea.property.js +2 -12
  228. package/esm2015/theme/theme.component.js +3 -3
  229. package/esm2015/theme/theme.property.js +1 -1
  230. package/esm2015/time-picker/time-picker-frame.component.js +9 -5
  231. package/esm2015/time-picker/time-picker-portal.component.js +2 -2
  232. package/esm2015/time-picker/time-picker.component.js +25 -12
  233. package/esm2015/timeline/timeline.component.js +4 -3
  234. package/esm2015/tooltip/tooltip.directive.js +4 -3
  235. package/esm2015/tooltip/tooltip.property.js +1 -1
  236. package/esm2015/transfer/transfer.component.js +4 -3
  237. package/esm2015/tree/tree-node.component.js +2 -2
  238. package/esm2015/tree/tree.component.js +8 -7
  239. package/esm2015/tree/tree.property.js +1 -1
  240. package/esm2015/upload/upload-portal.component.js +2 -2
  241. package/esm2015/upload/upload.component.js +5 -4
  242. package/fesm2015/ng-nest-ui-alert.js.map +1 -1
  243. package/fesm2015/ng-nest-ui-anchor.js +1 -1
  244. package/fesm2015/ng-nest-ui-anchor.js.map +1 -1
  245. package/fesm2015/ng-nest-ui-auto-complete.js +7 -6
  246. package/fesm2015/ng-nest-ui-auto-complete.js.map +1 -1
  247. package/fesm2015/ng-nest-ui-back-top.js +2 -2
  248. package/fesm2015/ng-nest-ui-back-top.js.map +1 -1
  249. package/fesm2015/ng-nest-ui-badge.js +2 -1
  250. package/fesm2015/ng-nest-ui-badge.js.map +1 -1
  251. package/fesm2015/ng-nest-ui-button.js +4 -3
  252. package/fesm2015/ng-nest-ui-button.js.map +1 -1
  253. package/fesm2015/ng-nest-ui-calendar.js +4 -3
  254. package/fesm2015/ng-nest-ui-calendar.js.map +1 -1
  255. package/fesm2015/ng-nest-ui-carousel.js +3 -2
  256. package/fesm2015/ng-nest-ui-carousel.js.map +1 -1
  257. package/fesm2015/ng-nest-ui-cascade.js +9 -9
  258. package/fesm2015/ng-nest-ui-cascade.js.map +1 -1
  259. package/fesm2015/ng-nest-ui-checkbox.js +3 -2
  260. package/fesm2015/ng-nest-ui-checkbox.js.map +1 -1
  261. package/fesm2015/ng-nest-ui-color-picker.js +9 -10
  262. package/fesm2015/ng-nest-ui-color-picker.js.map +1 -1
  263. package/fesm2015/ng-nest-ui-color.js +1 -1
  264. package/fesm2015/ng-nest-ui-color.js.map +1 -1
  265. package/fesm2015/ng-nest-ui-comment.js +3 -2
  266. package/fesm2015/ng-nest-ui-comment.js.map +1 -1
  267. package/fesm2015/ng-nest-ui-container.js +1 -1
  268. package/fesm2015/ng-nest-ui-container.js.map +1 -1
  269. package/fesm2015/ng-nest-ui-core.js +3 -3
  270. package/fesm2015/ng-nest-ui-core.js.map +1 -1
  271. package/fesm2015/ng-nest-ui-crumb.js +3 -2
  272. package/fesm2015/ng-nest-ui-crumb.js.map +1 -1
  273. package/fesm2015/ng-nest-ui-date-picker.js +34 -44
  274. package/fesm2015/ng-nest-ui-date-picker.js.map +1 -1
  275. package/fesm2015/ng-nest-ui-description.js +5 -6
  276. package/fesm2015/ng-nest-ui-description.js.map +1 -1
  277. package/fesm2015/ng-nest-ui-dialog.js +2 -1
  278. package/fesm2015/ng-nest-ui-dialog.js.map +1 -1
  279. package/fesm2015/ng-nest-ui-drawer.js +2 -1
  280. package/fesm2015/ng-nest-ui-drawer.js.map +1 -1
  281. package/fesm2015/ng-nest-ui-dropdown.js +4 -3
  282. package/fesm2015/ng-nest-ui-dropdown.js.map +1 -1
  283. package/fesm2015/ng-nest-ui-find.js +6 -5
  284. package/fesm2015/ng-nest-ui-find.js.map +1 -1
  285. package/fesm2015/ng-nest-ui-form.js +7 -11
  286. package/fesm2015/ng-nest-ui-form.js.map +1 -1
  287. package/fesm2015/ng-nest-ui-highlight.js +2 -1
  288. package/fesm2015/ng-nest-ui-highlight.js.map +1 -1
  289. package/fesm2015/ng-nest-ui-i18n.js +2 -1
  290. package/fesm2015/ng-nest-ui-i18n.js.map +1 -1
  291. package/fesm2015/ng-nest-ui-icon.js +3 -2
  292. package/fesm2015/ng-nest-ui-icon.js.map +1 -1
  293. package/fesm2015/ng-nest-ui-inner.js +1 -1
  294. package/fesm2015/ng-nest-ui-inner.js.map +1 -1
  295. package/fesm2015/ng-nest-ui-input.js +7 -6
  296. package/fesm2015/ng-nest-ui-input.js.map +1 -1
  297. package/fesm2015/ng-nest-ui-list.js +4 -3
  298. package/fesm2015/ng-nest-ui-list.js.map +1 -1
  299. package/fesm2015/ng-nest-ui-loading.js +2 -1
  300. package/fesm2015/ng-nest-ui-loading.js.map +1 -1
  301. package/fesm2015/ng-nest-ui-menu.js +6 -6
  302. package/fesm2015/ng-nest-ui-menu.js.map +1 -1
  303. package/fesm2015/ng-nest-ui-message-box.js +22 -24
  304. package/fesm2015/ng-nest-ui-message-box.js.map +1 -1
  305. package/fesm2015/ng-nest-ui-message.js +1 -1
  306. package/fesm2015/ng-nest-ui-message.js.map +1 -1
  307. package/fesm2015/ng-nest-ui-notification.js +1 -1
  308. package/fesm2015/ng-nest-ui-notification.js.map +1 -1
  309. package/fesm2015/ng-nest-ui-pagination.js +3 -2
  310. package/fesm2015/ng-nest-ui-pagination.js.map +1 -1
  311. package/fesm2015/ng-nest-ui-popover.js +3 -2
  312. package/fesm2015/ng-nest-ui-popover.js.map +1 -1
  313. package/fesm2015/ng-nest-ui-progress.js +3 -2
  314. package/fesm2015/ng-nest-ui-progress.js.map +1 -1
  315. package/fesm2015/ng-nest-ui-radio.js +3 -2
  316. package/fesm2015/ng-nest-ui-radio.js.map +1 -1
  317. package/fesm2015/ng-nest-ui-rate.js +5 -5
  318. package/fesm2015/ng-nest-ui-rate.js.map +1 -1
  319. package/fesm2015/ng-nest-ui-ripple.js.map +1 -1
  320. package/fesm2015/ng-nest-ui-select.js +6 -5
  321. package/fesm2015/ng-nest-ui-select.js.map +1 -1
  322. package/fesm2015/ng-nest-ui-skeleton.js +2 -1
  323. package/fesm2015/ng-nest-ui-skeleton.js.map +1 -1
  324. package/fesm2015/ng-nest-ui-slider.js +7 -8
  325. package/fesm2015/ng-nest-ui-slider.js.map +1 -1
  326. package/fesm2015/ng-nest-ui-statistic.js +6 -4
  327. package/fesm2015/ng-nest-ui-statistic.js.map +1 -1
  328. package/fesm2015/ng-nest-ui-steps.js +4 -3
  329. package/fesm2015/ng-nest-ui-steps.js.map +1 -1
  330. package/fesm2015/ng-nest-ui-table.js +13 -10
  331. package/fesm2015/ng-nest-ui-table.js.map +1 -1
  332. package/fesm2015/ng-nest-ui-tabs.js +5 -4
  333. package/fesm2015/ng-nest-ui-tabs.js.map +1 -1
  334. package/fesm2015/ng-nest-ui-tag.js +2 -1
  335. package/fesm2015/ng-nest-ui-tag.js.map +1 -1
  336. package/fesm2015/ng-nest-ui-text-retract.js +2 -1
  337. package/fesm2015/ng-nest-ui-text-retract.js.map +1 -1
  338. package/fesm2015/ng-nest-ui-textarea.js +3 -12
  339. package/fesm2015/ng-nest-ui-textarea.js.map +1 -1
  340. package/fesm2015/ng-nest-ui-theme.js +2 -2
  341. package/fesm2015/ng-nest-ui-theme.js.map +1 -1
  342. package/fesm2015/ng-nest-ui-time-picker.js +33 -16
  343. package/fesm2015/ng-nest-ui-time-picker.js.map +1 -1
  344. package/fesm2015/ng-nest-ui-timeline.js +3 -2
  345. package/fesm2015/ng-nest-ui-timeline.js.map +1 -1
  346. package/fesm2015/ng-nest-ui-tooltip.js +3 -2
  347. package/fesm2015/ng-nest-ui-tooltip.js.map +1 -1
  348. package/fesm2015/ng-nest-ui-transfer.js +3 -2
  349. package/fesm2015/ng-nest-ui-transfer.js.map +1 -1
  350. package/fesm2015/ng-nest-ui-tree.js +8 -7
  351. package/fesm2015/ng-nest-ui-tree.js.map +1 -1
  352. package/fesm2015/ng-nest-ui-upload.js +5 -4
  353. package/fesm2015/ng-nest-ui-upload.js.map +1 -1
  354. package/find/find.component.d.ts +1 -1
  355. package/form/control.component.d.ts +1 -1
  356. package/form/form.component.d.ts +1 -1
  357. package/form/form.property.d.ts +6 -6
  358. package/inner/inner.component.d.ts +1 -1
  359. package/input/input-group.component.d.ts +2 -4
  360. package/list/list.component.d.ts +2 -2
  361. package/menu/menu.component.d.ts +1 -1
  362. package/message/message.component.d.ts +1 -1
  363. package/message-box/message-box.component.d.ts +2 -1
  364. package/notification/notification.component.d.ts +1 -1
  365. package/package.json +1 -1
  366. package/pagination/pagination.component.d.ts +1 -1
  367. package/radio/radio.component.d.ts +1 -1
  368. package/rate/rate.component.d.ts +5 -5
  369. package/select/select-portal.component.d.ts +1 -3
  370. package/select/select.component.d.ts +1 -1
  371. package/slider/slider.component.d.ts +1 -1
  372. package/steps/steps.component.d.ts +1 -1
  373. package/table/table-body.component.d.ts +1 -1
  374. package/table/table-head.component.d.ts +1 -1
  375. package/table/table.component.d.ts +1 -1
  376. package/table/table.property.d.ts +10 -0
  377. package/textarea/textarea.property.d.ts +1 -6
  378. package/theme/theme.component.d.ts +1 -1
  379. package/time-picker/time-picker-frame.component.d.ts +1 -0
  380. package/time-picker/time-picker-portal.component.d.ts +1 -3
  381. package/time-picker/time-picker.component.d.ts +5 -3
  382. package/timeline/timeline.component.d.ts +1 -1
  383. package/transfer/transfer.component.d.ts +1 -1
  384. package/tree/tree-node.component.d.ts +1 -1
  385. package/tree/tree.component.d.ts +1 -1
  386. package/upload/upload.component.d.ts +3 -3
@@ -130,17 +130,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
130
130
  }] } });
131
131
 
132
132
  class XDescriptionComponent extends XDescriptionProperty {
133
- constructor(renderer, elementRef, configService) {
133
+ constructor(configService) {
134
134
  super();
135
- this.renderer = renderer;
136
- this.elementRef = elementRef;
137
135
  this.configService = configService;
138
136
  }
139
137
  ngOnInit() {
140
138
  this.setClassMap();
141
139
  }
142
140
  ngOnChanges(changes) {
143
- XIsChange(changes.size) && this.setClassMap();
141
+ const { size } = changes;
142
+ XIsChange(size) && this.setClassMap();
144
143
  }
145
144
  ngAfterViewInit() {
146
145
  this.setMerge();
@@ -176,7 +175,7 @@ class XDescriptionComponent extends XDescriptionProperty {
176
175
  this.gridTemplateColumns = gridTemplateColumns.join(' ');
177
176
  }
178
177
  }
179
- /** @nocollapse */ XDescriptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDescriptionComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
178
+ /** @nocollapse */ XDescriptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDescriptionComponent, deps: [{ token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
180
179
  /** @nocollapse */ XDescriptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XDescriptionComponent, selector: "x-description", queries: [{ propertyName: "items", predicate: XDescriptionItemComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-description\" [class.x-description-bordered]=\"bordered\" [ngClass]=\"classMap\">\r\n <div class=\"x-description-header\">\r\n <div class=\"x-description-title\" *xOutlet=\"title\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n <div class=\"x-description-grid\" [style.grid-template-columns]=\"gridTemplateColumns\">\r\n <div\r\n *ngFor=\"let item of items; index as i\"\r\n class=\"x-description-item\"\r\n [style.grid-area]=\"item.gridArea ? item.gridArea : '1 / ' + (i + 1)\"\r\n [class.x-description-item-heading]=\"item.heading\"\r\n [ngClass]=\"setFlex(item)\"\r\n >\r\n <div class=\"x-description-item-label\">\r\n <ng-container *xOutlet=\"item.label\">{{ item.label }}</ng-container>\r\n </div>\r\n <div class=\"x-description-item-content\">\r\n <ng-template [ngTemplateOutlet]=\"item.content\"></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".x-description{margin:0;padding:0}.x-description-header{display:flex;align-items:center}.x-description-title{font-weight:700}.x-description-grid{display:grid;grid-auto-flow:row}.x-description-item{display:flex;align-items:baseline}.x-description-item.x-flex{display:flex}.x-description-item.x-justify-start{justify-content:flex-start}.x-description-item.x-justify-center{justify-content:center}.x-description-item.x-justify-end{justify-content:flex-end}.x-description-item.x-justify-space-between{justify-content:space-between}.x-description-item.x-justify-space-around{justify-content:space-around}.x-description-item.x-align-start{align-items:flex-start}.x-description-item.x-align-center{align-items:center}.x-description-item.x-align-end{align-items:flex-end}.x-description-item.x-direction-column{flex-direction:column}.x-description-item.x-direction-column-reverse{flex-direction:column-reverse}.x-description-item.x-direction-row{flex-direction:row}.x-description-item.x-direction-row-reverse{flex-direction:row-reverse}.x-description-item-heading{background-color:var(--x-background-a100)}.x-description-bordered .x-description-item{border:var(--x-border-width) var(--x-border-style) var(--x-border);margin-left:-1px;margin-top:-1px}.x-description-big .x-description-header{padding:var(--x-padding-big) 0}.x-description-big .x-description-item{padding:calc(var(--x-padding-big) / 2) 0}.x-description-big.x-description-bordered .x-description-item{padding:var(--x-padding-big)}.x-description-large .x-description-header{padding:var(--x-padding-large) 0}.x-description-large .x-description-item{padding:calc(var(--x-padding-large) / 2) 0}.x-description-large.x-description-bordered .x-description-item{padding:var(--x-padding-large)}.x-description-medium .x-description-header{padding:var(--x-padding-medium) 0}.x-description-medium .x-description-item{padding:calc(var(--x-padding-medium) / 2) 0}.x-description-medium.x-description-bordered .x-description-item{padding:var(--x-padding-medium)}.x-description-small .x-description-header{padding:var(--x-padding-small) 0}.x-description-small .x-description-item{padding:calc(var(--x-padding-small) / 2) 0}.x-description-small.x-description-bordered .x-description-item{padding:var(--x-padding-small)}.x-description-mini .x-description-header{padding:var(--x-padding-mini) 0}.x-description-mini .x-description-item{padding:calc(var(--x-padding-mini) / 2) 0}.x-description-mini.x-description-bordered .x-description-item{padding:var(--x-padding-mini)}\n"], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
181
180
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDescriptionComponent, decorators: [{
182
181
  type: Component,
@@ -187,7 +186,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
187
186
  encapsulation: ViewEncapsulation.None,
188
187
  changeDetection: ChangeDetectionStrategy.OnPush
189
188
  }]
190
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.XConfigService }]; }, propDecorators: { items: [{
189
+ }], ctorParameters: function () { return [{ type: i1.XConfigService }]; }, propDecorators: { items: [{
191
190
  type: ContentChildren,
192
191
  args: [XDescriptionItemComponent]
193
192
  }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-description.js","sources":["../../../../lib/ng-nest/ui/description/description.property.ts","../../../../lib/ng-nest/ui/description/description-item.component.ts","../../../../lib/ng-nest/ui/description/description.component.ts","../../../../lib/ng-nest/ui/description/description.component.html","../../../../lib/ng-nest/ui/description/description.module.ts","../../../../lib/ng-nest/ui/description/ng-nest-ui-description.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\r\nimport { XAlign, XBoolean, XDirection, XInputBoolean, XJustify, XProperty, XSize, XTemplate, XWithConfig } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Description\r\n * @selector x-description\r\n * @decorator component\r\n */\r\nexport const XDescriptionPrefix = 'x-description';\r\nconst X_CONFIG_NAME = 'description';\r\n\r\n/**\r\n * Description Property\r\n */\r\n@Component({ template: '' })\r\nexport class XDescriptionProperty extends XProperty {\r\n /**\r\n * @zh_CN 描述列表的标题,支持自定义模板\r\n * @en_US Describe the title of the list, support custom template\r\n */\r\n @Input() title?: XTemplate;\r\n /**\r\n * @zh_CN 是否展示边框\r\n * @en_US Whether to show column borders\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() bordered!: XBoolean;\r\n /**\r\n * @zh_CN grid 布局下定义列宽度\r\n * @en_US Define column width under grid layout\r\n */\r\n @Input() gridTemplateColumns?: string;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') size!: XSize;\r\n}\r\n\r\n/**\r\n * Description Item\r\n * @selector x-description-item\r\n * @decorator component\r\n */\r\nexport const XDescriptionItemPrefix = 'x-description-item';\r\n\r\n/**\r\n * Description Item Property\r\n */\r\n@Component({ template: '' })\r\nexport class XDescriptionItemProperty {\r\n /**\r\n * @zh_CN 使用 grid 布局\r\n * @en_US Use grid layout to merge cells\r\n */\r\n @Input() gridArea?: string;\r\n /**\r\n * @zh_CN 内容的描述,支持自定义模板\r\n * @en_US Description of content, support custom templates\r\n */\r\n @Input() label?: XTemplate;\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US Child element under the horizontal arrangement of the layout flex\r\n */\r\n @Input() justify?: XJustify = 'start';\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US Child element under the vertical layout flex arrangement\r\n */\r\n @Input() align?: XAlign = 'start';\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US Child element under the direction of arrangement of the layout flex\r\n */\r\n @Input() direction?: XDirection = 'row';\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n */\r\n @Input() width?: string;\r\n /**\r\n * @zh_CN flex 比重\r\n * @en_US Flex proportion\r\n */\r\n @Input() flex?: number;\r\n /**\r\n * @zh_CN 是否是标题\r\n * @en_US Whether it is heading\r\n */\r\n @Input() @XInputBoolean() heading: XBoolean = false;\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, TemplateRef } from '@angular/core';\r\nimport { XDescriptionItemPrefix, XDescriptionItemProperty } from './description.property';\r\n\r\n@Component({\r\n selector: `${XDescriptionItemPrefix}`,\r\n template: `\r\n <ng-template>\r\n <ng-content></ng-content>\r\n </ng-template>\r\n `,\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XDescriptionItemComponent extends XDescriptionItemProperty {\r\n @ViewChild(TemplateRef, { static: true }) content!: TemplateRef<void>;\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n Renderer2,\r\n ElementRef,\r\n ContentChildren,\r\n QueryList,\r\n ChangeDetectorRef,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { XDescriptionPrefix, XDescriptionProperty } from './description.property';\r\nimport { XClearClass, XConfigService, XIsChange, XIsEmpty } from '@ng-nest/ui/core';\r\nimport { XDescriptionItemComponent } from './description-item.component';\r\n\r\n@Component({\r\n selector: `${XDescriptionPrefix}`,\r\n templateUrl: './description.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XDescriptionComponent extends XDescriptionProperty {\r\n @ContentChildren(XDescriptionItemComponent) items!: QueryList<XDescriptionItemComponent>;\r\n constructor(private renderer: Renderer2, private elementRef: ElementRef, public configService: XConfigService) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n XIsChange(changes.size) && this.setClassMap();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setMerge();\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.classMap);\r\n this.classMap = {\r\n [`${XDescriptionPrefix}-${this.size}`]: !XIsEmpty(this.size)\r\n };\r\n }\r\n\r\n setFlex(item: XDescriptionItemComponent) {\r\n let classes: { [property: string]: boolean } = {};\r\n if (!XIsEmpty(item.justify)) classes[`x-justify-${item.justify}`] = true;\r\n if (!XIsEmpty(item.align)) classes[`x-align-${item.align}`] = true;\r\n if (!XIsEmpty(item.direction)) classes[`x-direction-${item.direction}`] = true;\r\n return classes;\r\n }\r\n\r\n setMerge() {\r\n if (this.gridTemplateColumns) return;\r\n let gridTemplateColumns: string[] = [];\r\n this.items.forEach((x) => {\r\n if (x.width) {\r\n gridTemplateColumns.push(x.width);\r\n } else if (x.flex) {\r\n gridTemplateColumns.push(`${x.flex}fr`);\r\n }\r\n });\r\n this.gridTemplateColumns = gridTemplateColumns.join(' ');\r\n }\r\n}\r\n","<div class=\"x-description\" [class.x-description-bordered]=\"bordered\" [ngClass]=\"classMap\">\r\n <div class=\"x-description-header\">\r\n <div class=\"x-description-title\" *xOutlet=\"title\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n <div class=\"x-description-grid\" [style.grid-template-columns]=\"gridTemplateColumns\">\r\n <div\r\n *ngFor=\"let item of items; index as i\"\r\n class=\"x-description-item\"\r\n [style.grid-area]=\"item.gridArea ? item.gridArea : '1 / ' + (i + 1)\"\r\n [class.x-description-item-heading]=\"item.heading\"\r\n [ngClass]=\"setFlex(item)\"\r\n >\r\n <div class=\"x-description-item-label\">\r\n <ng-container *xOutlet=\"item.label\">{{ item.label }}</ng-container>\r\n </div>\r\n <div class=\"x-description-item-content\">\r\n <ng-template [ngTemplateOutlet]=\"item.content\"></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XDescriptionItemComponent } from './description-item.component';\r\nimport { XDescriptionComponent } from './description.component';\r\nimport { XDescriptionItemProperty, XDescriptionProperty } from './description.property';\r\n\r\n@NgModule({\r\n declarations: [XDescriptionComponent, XDescriptionProperty, XDescriptionItemComponent, XDescriptionItemProperty],\r\n exports: [XDescriptionComponent, XDescriptionItemComponent],\r\n imports: [CommonModule, XOutletModule]\r\n})\r\nexport class XDescriptionModule {}\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-description.js","sources":["../../../../lib/ng-nest/ui/description/description.property.ts","../../../../lib/ng-nest/ui/description/description-item.component.ts","../../../../lib/ng-nest/ui/description/description.component.ts","../../../../lib/ng-nest/ui/description/description.component.html","../../../../lib/ng-nest/ui/description/description.module.ts","../../../../lib/ng-nest/ui/description/ng-nest-ui-description.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\r\nimport { XAlign, XBoolean, XDirection, XInputBoolean, XJustify, XProperty, XSize, XTemplate, XWithConfig } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Description\r\n * @selector x-description\r\n * @decorator component\r\n */\r\nexport const XDescriptionPrefix = 'x-description';\r\nconst X_CONFIG_NAME = 'description';\r\n\r\n/**\r\n * Description Property\r\n */\r\n@Component({ template: '' })\r\nexport class XDescriptionProperty extends XProperty {\r\n /**\r\n * @zh_CN 描述列表的标题,支持自定义模板\r\n * @en_US Describe the title of the list, support custom template\r\n */\r\n @Input() title?: XTemplate;\r\n /**\r\n * @zh_CN 是否展示边框\r\n * @en_US Whether to show column borders\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() bordered!: XBoolean;\r\n /**\r\n * @zh_CN grid 布局下定义列宽度\r\n * @en_US Define column width under grid layout\r\n */\r\n @Input() gridTemplateColumns?: string;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') size!: XSize;\r\n}\r\n\r\n/**\r\n * Description Item\r\n * @selector x-description-item\r\n * @decorator component\r\n */\r\nexport const XDescriptionItemPrefix = 'x-description-item';\r\n\r\n/**\r\n * Description Item Property\r\n */\r\n@Component({ template: '' })\r\nexport class XDescriptionItemProperty {\r\n /**\r\n * @zh_CN 使用 grid 布局\r\n * @en_US Use grid layout to merge cells\r\n */\r\n @Input() gridArea?: string;\r\n /**\r\n * @zh_CN 内容的描述,支持自定义模板\r\n * @en_US Description of content, support custom templates\r\n */\r\n @Input() label?: XTemplate;\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US Child element under the horizontal arrangement of the layout flex\r\n */\r\n @Input() justify?: XJustify = 'start';\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US Child element under the vertical layout flex arrangement\r\n */\r\n @Input() align?: XAlign = 'start';\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US Child element under the direction of arrangement of the layout flex\r\n */\r\n @Input() direction?: XDirection = 'row';\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n */\r\n @Input() width?: string;\r\n /**\r\n * @zh_CN flex 比重\r\n * @en_US Flex proportion\r\n */\r\n @Input() flex?: number;\r\n /**\r\n * @zh_CN 是否是标题\r\n * @en_US Whether it is heading\r\n */\r\n @Input() @XInputBoolean() heading: XBoolean = false;\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, TemplateRef } from '@angular/core';\r\nimport { XDescriptionItemPrefix, XDescriptionItemProperty } from './description.property';\r\n\r\n@Component({\r\n selector: `${XDescriptionItemPrefix}`,\r\n template: `\r\n <ng-template>\r\n <ng-content></ng-content>\r\n </ng-template>\r\n `,\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XDescriptionItemComponent extends XDescriptionItemProperty {\r\n @ViewChild(TemplateRef, { static: true }) content!: TemplateRef<void>;\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, QueryList, SimpleChanges } from '@angular/core';\r\nimport { XDescriptionPrefix, XDescriptionProperty } from './description.property';\r\nimport { XClearClass, XConfigService, XIsChange, XIsEmpty } from '@ng-nest/ui/core';\r\nimport { XDescriptionItemComponent } from './description-item.component';\r\n\r\n@Component({\r\n selector: `${XDescriptionPrefix}`,\r\n templateUrl: './description.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XDescriptionComponent extends XDescriptionProperty {\r\n @ContentChildren(XDescriptionItemComponent) items!: QueryList<XDescriptionItemComponent>;\r\n constructor(public configService: XConfigService) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { size } = changes;\r\n XIsChange(size) && this.setClassMap();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setMerge();\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.classMap);\r\n this.classMap = {\r\n [`${XDescriptionPrefix}-${this.size}`]: !XIsEmpty(this.size)\r\n };\r\n }\r\n\r\n setFlex(item: XDescriptionItemComponent) {\r\n let classes: { [property: string]: boolean } = {};\r\n if (!XIsEmpty(item.justify)) classes[`x-justify-${item.justify}`] = true;\r\n if (!XIsEmpty(item.align)) classes[`x-align-${item.align}`] = true;\r\n if (!XIsEmpty(item.direction)) classes[`x-direction-${item.direction}`] = true;\r\n return classes;\r\n }\r\n\r\n setMerge() {\r\n if (this.gridTemplateColumns) return;\r\n let gridTemplateColumns: string[] = [];\r\n this.items.forEach((x) => {\r\n if (x.width) {\r\n gridTemplateColumns.push(x.width);\r\n } else if (x.flex) {\r\n gridTemplateColumns.push(`${x.flex}fr`);\r\n }\r\n });\r\n this.gridTemplateColumns = gridTemplateColumns.join(' ');\r\n }\r\n}\r\n","<div class=\"x-description\" [class.x-description-bordered]=\"bordered\" [ngClass]=\"classMap\">\r\n <div class=\"x-description-header\">\r\n <div class=\"x-description-title\" *xOutlet=\"title\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n <div class=\"x-description-grid\" [style.grid-template-columns]=\"gridTemplateColumns\">\r\n <div\r\n *ngFor=\"let item of items; index as i\"\r\n class=\"x-description-item\"\r\n [style.grid-area]=\"item.gridArea ? item.gridArea : '1 / ' + (i + 1)\"\r\n [class.x-description-item-heading]=\"item.heading\"\r\n [ngClass]=\"setFlex(item)\"\r\n >\r\n <div class=\"x-description-item-label\">\r\n <ng-container *xOutlet=\"item.label\">{{ item.label }}</ng-container>\r\n </div>\r\n <div class=\"x-description-item-content\">\r\n <ng-template [ngTemplateOutlet]=\"item.content\"></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XDescriptionItemComponent } from './description-item.component';\r\nimport { XDescriptionComponent } from './description.component';\r\nimport { XDescriptionItemProperty, XDescriptionProperty } from './description.property';\r\n\r\n@NgModule({\r\n declarations: [XDescriptionComponent, XDescriptionProperty, XDescriptionItemComponent, XDescriptionItemProperty],\r\n exports: [XDescriptionComponent, XDescriptionItemComponent],\r\n imports: [CommonModule, XOutletModule]\r\n})\r\nexport class XDescriptionModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -192,7 +192,8 @@ class XDialogComponent extends XDialogProperty {
192
192
  });
193
193
  }
194
194
  ngOnChanges(changes) {
195
- XIsChange(changes.visible) && this.setVisible();
195
+ const { visible } = changes;
196
+ XIsChange(visible) && this.setVisible();
196
197
  }
197
198
  ngOnDestroy() {
198
199
  this.unsubscribe();
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-dialog.js","sources":["../../../../lib/ng-nest/ui/dialog/dialog.property.ts","../../../../lib/ng-nest/ui/dialog/dialog.component.ts","../../../../lib/ng-nest/ui/dialog/dialog.component.html","../../../../lib/ng-nest/ui/dialog/dialog.module.ts","../../../../lib/ng-nest/ui/dialog/ng-nest-ui-dialog.ts"],"sourcesContent":["import { Input, Output, EventEmitter, Component } from '@angular/core';\r\nimport { XStatus, XPlace, XInputBoolean, XTemplate, XEffect, XBoolean, XIsBoolean, XWithConfig } from '@ng-nest/ui/core';\r\nimport { XAlertProperty, XAlertOption } from '@ng-nest/ui/alert';\r\nimport { XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { XDialogComponent } from './dialog.component';\r\n\r\n/**\r\n * Dialog\r\n * @selector x-dialog\r\n * @decorator component\r\n */\r\nexport const XDialogPrefix = 'x-dialog';\r\n\r\nconst X_CONFIG_NAME = 'dialog';\r\n\r\nexport const XDialogPortal = 'x-dialog-portal';\r\n\r\n/**\r\n * Dialog Property\r\n */\r\n@Component({ template: '' })\r\nexport class XDialogProperty extends XAlertProperty {\r\n @Input() @XInputBoolean() visible: boolean = false;\r\n /**\r\n * @zh_CN 方位,九宫格\r\n * @en_US Direction, nine grid\r\n */\r\n @Input() @XWithConfig<XPlace>(X_CONFIG_NAME, 'center') placement!: XPlace;\r\n /**\r\n * @zh_CN 偏移距离\r\n * @en_US Offset distance\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '1rem') offset!: string;\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\n @Input() type: XDialogType = 'info';\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '32rem') width?: string;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US Height\r\n */\r\n @Input() height?: string;\r\n /**\r\n * @zh_CN 样式主题\r\n * @en_US Style theme\r\n */\r\n @Input() @XWithConfig<XEffect>(X_CONFIG_NAME, 'white') effect!: XEffect;\r\n /**\r\n * @zh_CN 底部自定义模板\r\n * @en_US Custom template at the bottom\r\n */\r\n @Input() footer?: XTemplate;\r\n /**\r\n * @zh_CN 显示取消按钮\r\n * @en_US Show cancel button\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) showCancel!: XBoolean;\r\n /**\r\n * @zh_CN 取消按钮文字\r\n * @en_US Cancel button text\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME) cancelText?: string;\r\n /**\r\n * @zh_CN 显示确认按钮\r\n * @en_US Show confirmation button\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) showConfirm!: XBoolean;\r\n /**\r\n * @zh_CN 确认按钮文字\r\n * @en_US Confirm button text\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME) confirmText?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_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_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_CONFIG_NAME, '') className!: string;\r\n /**\r\n * @zh_CN 按钮居中\r\n * @en_US Button center\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME) @XInputBoolean() buttonsCenter?: XBoolean;\r\n /**\r\n * @zh_CN 拖动对话框\r\n * @en_US Drag dialog\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() draggable?: XBoolean;\r\n /**\r\n * @zh_CN 关闭前处理函数\r\n * @en_US Processing function before closing\r\n */\r\n @Input() beforeClose!: Function;\r\n /**\r\n * @zh_CN 取消按钮的事件\r\n * @en_US Cancel button event\r\n */\r\n @Output() cancel = new EventEmitter();\r\n /**\r\n * @zh_CN 确认按钮的事件\r\n * @en_US Confirm button event\r\n */\r\n @Output() confirm = new EventEmitter();\r\n /**\r\n * @zh_CN 显示/隐藏改变事件\r\n * @en_US Show/hide change events\r\n */\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n /**\r\n * @zh_CN 弹出完成动画加载\r\n * @en_US Pop up complete animation loading\r\n */\r\n @Output() showDone = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 关闭完成动画\r\n * @en_US Close complete animation\r\n */\r\n @Output() closeDone = new EventEmitter<any>();\r\n}\r\n\r\nexport interface XDialogOption extends XAlertOption {\r\n visible?: boolean;\r\n /**\r\n * @zh_CN 方位,九宫格\r\n * @en_US Direction, nine grid\r\n */\r\n placement?: XPlace;\r\n /**\r\n * @zh_CN 偏移距离\r\n * @en_US Offset distance\r\n */\r\n offset?: string;\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\n type?: XDialogType;\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n */\r\n width?: string;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US Height\r\n */\r\n height?: string;\r\n /**\r\n * @zh_CN 样式主题\r\n * @en_US Style theme\r\n */\r\n effect?: XEffect;\r\n /**\r\n * @zh_CN 底部自定义模板\r\n * @en_US Custom template at the bottom\r\n */\r\n footer?: XTemplate;\r\n /**\r\n * @zh_CN 显示取消按钮\r\n * @en_US Show cancel button\r\n */\r\n showCancel?: XBoolean;\r\n /**\r\n * @zh_CN 取消按钮文字\r\n * @en_US Cancel button text\r\n */\r\n cancelText?: string;\r\n /**\r\n * @zh_CN 显示确认按钮\r\n * @en_US Show confirmation button\r\n */\r\n showConfirm?: XBoolean;\r\n /**\r\n * @zh_CN 确认按钮文字\r\n * @en_US Confirm button text\r\n */\r\n confirmText?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n */\r\n backdropClose?: XBoolean;\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n */\r\n hasBackdrop?: XBoolean;\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 Button center\r\n */\r\n buttonsCenter?: XBoolean;\r\n /**\r\n * @zh_CN 拖动对话框\r\n * @en_US Drag dialog\r\n */\r\n draggable?: XBoolean;\r\n /**\r\n * @zh_CN 关闭前处理函数\r\n * @en_US Processing function before closing\r\n */\r\n beforeClose?: Function;\r\n}\r\n\r\nexport interface XDialogCallback {\r\n (action: XDialogAction, message?: string): void;\r\n}\r\n\r\nexport type XDialogAction = 'confirm' | 'cancel';\r\n\r\n/**\r\n * @zh_CN 创建的消息对象\r\n * @en_US Message object created\r\n */\r\nexport interface XDialogOverlayRef extends XPortalOverlayRef<XDialogComponent> {}\r\n\r\nexport interface XDialogRef {\r\n ref?: XDialogOverlayRef;\r\n input?: XDialogProperty;\r\n}\r\n\r\n/**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\nexport type XDialogType = XStatus;\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n OnChanges,\r\n SimpleChanges,\r\n ViewChild,\r\n TemplateRef,\r\n ViewContainerRef,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport { XMoveBoxAnimation, XIsChange, XIsFunction } from '@ng-nest/ui/core';\r\nimport { XDialogPrefix, XDialogOverlayRef, XDialogPortal, XDialogProperty } from './dialog.property';\r\nimport { XPortalService } from '@ng-nest/ui/portal';\r\nimport { Subscription, Subject } from 'rxjs';\r\nimport { BlockScrollStrategy } from '@angular/cdk/overlay';\r\nimport { XI18nDialog, XI18nService } from '@ng-nest/ui/i18n';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: `${XDialogPrefix}`,\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XMoveBoxAnimation]\r\n})\r\nexport class XDialogComponent extends XDialogProperty implements OnChanges, OnDestroy {\r\n @ViewChild('dialogTpl', { static: false }) dialogTpl!: TemplateRef<void>;\r\n dialogRef!: XDialogOverlayRef;\r\n backdropClick$!: Subscription;\r\n scrollStrategy: BlockScrollStrategy;\r\n locale: XI18nDialog = {};\r\n\r\n private _unSubject = new Subject<void>();\r\n\r\n get getCancelText() {\r\n return this.cancelText || this.locale.cancelText;\r\n }\r\n\r\n get getConfirmText() {\r\n return this.confirmText || this.locale.confirmText;\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public viewContainerRef: ViewContainerRef,\r\n public protalService: XPortalService,\r\n public i18n: XI18nService\r\n ) {\r\n super();\r\n this.scrollStrategy = this.protalService.overlay.scrollStrategies.block();\r\n }\r\n\r\n ngOnInit() {\r\n this.i18n.localeChange\r\n .pipe(\r\n map((x) => x.dialog as XI18nDialog),\r\n takeUntil(this._unSubject)\r\n )\r\n .subscribe((x) => {\r\n this.locale = x;\r\n this.cdr.markForCheck();\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n XIsChange(changes.visible) && this.setVisible();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unsubscribe();\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n unsubscribe() {\r\n this.backdropClick$?.unsubscribe();\r\n }\r\n\r\n setVisible() {\r\n if (this.visible) {\r\n this.create();\r\n } else {\r\n this.detach();\r\n // this.visibleChange.emit(false);\r\n }\r\n }\r\n\r\n create() {\r\n this.dialogRef = this.protalService.attach({\r\n content: this.dialogTpl,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: {\r\n panelClass: [XDialogPortal, this.className],\r\n hasBackdrop: Boolean(this.hasBackdrop),\r\n positionStrategy: this.protalService.setPlace(this.placement, this.width, this.height, this.offset)\r\n }\r\n });\r\n // this.scrollStrategy.enable();\r\n if (this.hasBackdrop && this.backdropClose && this.dialogRef?.overlayRef) {\r\n this.backdropClick$ = this.dialogRef.overlayRef.backdropClick().subscribe(() => this.onClose());\r\n }\r\n }\r\n\r\n detach() {\r\n if (this.portalAttached()) {\r\n this.visible = false;\r\n this.visibleChange.emit(this.visible);\r\n this.dialogRef?.overlayRef?.detach();\r\n // this.scrollStrategy.disable();\r\n this.unsubscribe();\r\n this.close.emit();\r\n }\r\n }\r\n\r\n portalAttached() {\r\n return this.dialogRef?.overlayRef?.hasAttached();\r\n }\r\n\r\n onClose() {\r\n if (XIsFunction(this.beforeClose)) {\r\n this.beforeClose();\r\n } else {\r\n this.detach();\r\n }\r\n }\r\n\r\n onCancel() {\r\n this.onClose();\r\n this.cancel.emit();\r\n }\r\n\r\n onConfirm() {\r\n this.onClose();\r\n this.confirm.emit();\r\n }\r\n\r\n moveDone($event: { toState: string }) {\r\n if ($event.toState === 'void') {\r\n this.closeDone.emit($event);\r\n this.dialogRef?.overlayRef?.dispose();\r\n } else {\r\n this.showDone.emit($event);\r\n }\r\n }\r\n}\r\n","<ng-template #dialogTpl>\r\n <div class=\"x-dialog\" [@x-move-box-animation]=\"placement\" (@x-move-box-animation.done)=\"moveDone($event)\">\r\n <x-alert\r\n [draggable]=\"draggable\"\r\n [dragBoundary]=\"'.cdk-overlay-container'\"\r\n (close)=\"onClose()\"\r\n [title]=\"title\"\r\n [content]=\"contentTpl\"\r\n [type]=\"type\"\r\n [effect]=\"effect\"\r\n [hideClose]=\"hideClose\"\r\n [closeText]=\"closeText\"\r\n showIcon=\"false\"\r\n duration=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #contentTpl>\r\n <div class=\"x-dialog-inner\">\r\n <div class=\"x-dialog-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"x-dialog-buttons\" [class.x-dialog-buttons-center]=\"buttonsCenter\">\r\n <ng-container *xOutlet=\"footer\">\r\n <x-buttons space=\"1\" *ngIf=\"showCancel || showConfirm\">\r\n <x-button *ngIf=\"showCancel\" (click)=\"onCancel()\">{{ getCancelText }}</x-button>\r\n <x-button *ngIf=\"showConfirm\" type=\"primary\" (click)=\"onConfirm()\">{{ getConfirmText }}</x-button>\r\n </x-buttons>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XDialogComponent } from './dialog.component';\r\nimport { XAlertModule } from '@ng-nest/ui/alert';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XInputModule } from '@ng-nest/ui/input';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { XDialogProperty } from './dialog.property';\r\n\r\n@NgModule({\r\n declarations: [XDialogComponent, XDialogProperty],\r\n exports: [XDialogComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n DragDropModule,\r\n XInputModule,\r\n XButtonModule,\r\n XIconModule,\r\n XPortalModule,\r\n XAlertModule,\r\n XOutletModule\r\n ]\r\n})\r\nexport class XDialogModule {}\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-dialog.js","sources":["../../../../lib/ng-nest/ui/dialog/dialog.property.ts","../../../../lib/ng-nest/ui/dialog/dialog.component.ts","../../../../lib/ng-nest/ui/dialog/dialog.component.html","../../../../lib/ng-nest/ui/dialog/dialog.module.ts","../../../../lib/ng-nest/ui/dialog/ng-nest-ui-dialog.ts"],"sourcesContent":["import { Input, Output, EventEmitter, Component } from '@angular/core';\r\nimport { XStatus, XPlace, XInputBoolean, XTemplate, XEffect, XBoolean, XWithConfig } from '@ng-nest/ui/core';\r\nimport { XAlertProperty, XAlertOption } from '@ng-nest/ui/alert';\r\nimport { XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { XDialogComponent } from './dialog.component';\r\n\r\n/**\r\n * Dialog\r\n * @selector x-dialog\r\n * @decorator component\r\n */\r\nexport const XDialogPrefix = 'x-dialog';\r\n\r\nconst X_CONFIG_NAME = 'dialog';\r\n\r\nexport const XDialogPortal = 'x-dialog-portal';\r\n\r\n/**\r\n * Dialog Property\r\n */\r\n@Component({ template: '' })\r\nexport class XDialogProperty extends XAlertProperty {\r\n @Input() @XInputBoolean() visible: boolean = false;\r\n /**\r\n * @zh_CN 方位,九宫格\r\n * @en_US Direction, nine grid\r\n */\r\n @Input() @XWithConfig<XPlace>(X_CONFIG_NAME, 'center') placement!: XPlace;\r\n /**\r\n * @zh_CN 偏移距离\r\n * @en_US Offset distance\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '1rem') offset!: string;\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\n @Input() type: XDialogType = 'info';\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '32rem') width?: string;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US Height\r\n */\r\n @Input() height?: string;\r\n /**\r\n * @zh_CN 样式主题\r\n * @en_US Style theme\r\n */\r\n @Input() @XWithConfig<XEffect>(X_CONFIG_NAME, 'white') effect!: XEffect;\r\n /**\r\n * @zh_CN 底部自定义模板\r\n * @en_US Custom template at the bottom\r\n */\r\n @Input() footer?: XTemplate;\r\n /**\r\n * @zh_CN 显示取消按钮\r\n * @en_US Show cancel button\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) showCancel!: XBoolean;\r\n /**\r\n * @zh_CN 取消按钮文字\r\n * @en_US Cancel button text\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME) cancelText?: string;\r\n /**\r\n * @zh_CN 显示确认按钮\r\n * @en_US Show confirmation button\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) showConfirm!: XBoolean;\r\n /**\r\n * @zh_CN 确认按钮文字\r\n * @en_US Confirm button text\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME) confirmText?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_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_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_CONFIG_NAME, '') className!: string;\r\n /**\r\n * @zh_CN 按钮居中\r\n * @en_US Button center\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME) @XInputBoolean() buttonsCenter?: XBoolean;\r\n /**\r\n * @zh_CN 拖动对话框\r\n * @en_US Drag dialog\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() draggable?: XBoolean;\r\n /**\r\n * @zh_CN 关闭前处理函数\r\n * @en_US Processing function before closing\r\n */\r\n @Input() beforeClose!: Function;\r\n /**\r\n * @zh_CN 取消按钮的事件\r\n * @en_US Cancel button event\r\n */\r\n @Output() cancel = new EventEmitter();\r\n /**\r\n * @zh_CN 确认按钮的事件\r\n * @en_US Confirm button event\r\n */\r\n @Output() confirm = new EventEmitter();\r\n /**\r\n * @zh_CN 显示/隐藏改变事件\r\n * @en_US Show/hide change events\r\n */\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n /**\r\n * @zh_CN 弹出完成动画加载\r\n * @en_US Pop up complete animation loading\r\n */\r\n @Output() showDone = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 关闭完成动画\r\n * @en_US Close complete animation\r\n */\r\n @Output() closeDone = new EventEmitter<any>();\r\n}\r\n\r\nexport interface XDialogOption extends XAlertOption {\r\n visible?: boolean;\r\n /**\r\n * @zh_CN 方位,九宫格\r\n * @en_US Direction, nine grid\r\n */\r\n placement?: XPlace;\r\n /**\r\n * @zh_CN 偏移距离\r\n * @en_US Offset distance\r\n */\r\n offset?: string;\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\n type?: XDialogType;\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n */\r\n width?: string;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US Height\r\n */\r\n height?: string;\r\n /**\r\n * @zh_CN 样式主题\r\n * @en_US Style theme\r\n */\r\n effect?: XEffect;\r\n /**\r\n * @zh_CN 底部自定义模板\r\n * @en_US Custom template at the bottom\r\n */\r\n footer?: XTemplate;\r\n /**\r\n * @zh_CN 显示取消按钮\r\n * @en_US Show cancel button\r\n */\r\n showCancel?: XBoolean;\r\n /**\r\n * @zh_CN 取消按钮文字\r\n * @en_US Cancel button text\r\n */\r\n cancelText?: string;\r\n /**\r\n * @zh_CN 显示确认按钮\r\n * @en_US Show confirmation button\r\n */\r\n showConfirm?: XBoolean;\r\n /**\r\n * @zh_CN 确认按钮文字\r\n * @en_US Confirm button text\r\n */\r\n confirmText?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n */\r\n backdropClose?: XBoolean;\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n */\r\n hasBackdrop?: XBoolean;\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 Button center\r\n */\r\n buttonsCenter?: XBoolean;\r\n /**\r\n * @zh_CN 拖动对话框\r\n * @en_US Drag dialog\r\n */\r\n draggable?: XBoolean;\r\n /**\r\n * @zh_CN 关闭前处理函数\r\n * @en_US Processing function before closing\r\n */\r\n beforeClose?: Function;\r\n}\r\n\r\nexport interface XDialogCallback {\r\n (action: XDialogAction, message?: string): void;\r\n}\r\n\r\nexport type XDialogAction = 'confirm' | 'cancel';\r\n\r\n/**\r\n * @zh_CN 创建的消息对象\r\n * @en_US Message object created\r\n */\r\nexport interface XDialogOverlayRef extends XPortalOverlayRef<XDialogComponent> {}\r\n\r\nexport interface XDialogRef {\r\n ref?: XDialogOverlayRef;\r\n input?: XDialogProperty;\r\n}\r\n\r\n/**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\nexport type XDialogType = XStatus;\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n OnChanges,\r\n SimpleChanges,\r\n ViewChild,\r\n TemplateRef,\r\n ViewContainerRef,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport { XMoveBoxAnimation, XIsChange, XIsFunction } from '@ng-nest/ui/core';\r\nimport { XDialogPrefix, XDialogOverlayRef, XDialogPortal, XDialogProperty } from './dialog.property';\r\nimport { XPortalService } from '@ng-nest/ui/portal';\r\nimport { Subscription, Subject } from 'rxjs';\r\nimport { BlockScrollStrategy } from '@angular/cdk/overlay';\r\nimport { XI18nDialog, XI18nService } from '@ng-nest/ui/i18n';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: `${XDialogPrefix}`,\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XMoveBoxAnimation]\r\n})\r\nexport class XDialogComponent extends XDialogProperty implements OnChanges, OnDestroy {\r\n @ViewChild('dialogTpl', { static: false }) dialogTpl!: TemplateRef<void>;\r\n dialogRef!: XDialogOverlayRef;\r\n backdropClick$!: Subscription;\r\n scrollStrategy: BlockScrollStrategy;\r\n locale: XI18nDialog = {};\r\n\r\n private _unSubject = new Subject<void>();\r\n\r\n get getCancelText() {\r\n return this.cancelText || this.locale.cancelText;\r\n }\r\n\r\n get getConfirmText() {\r\n return this.confirmText || this.locale.confirmText;\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public viewContainerRef: ViewContainerRef,\r\n public protalService: XPortalService,\r\n public i18n: XI18nService\r\n ) {\r\n super();\r\n this.scrollStrategy = this.protalService.overlay.scrollStrategies.block();\r\n }\r\n\r\n ngOnInit() {\r\n this.i18n.localeChange\r\n .pipe(\r\n map((x) => x.dialog as XI18nDialog),\r\n takeUntil(this._unSubject)\r\n )\r\n .subscribe((x) => {\r\n this.locale = x;\r\n this.cdr.markForCheck();\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { visible } = changes;\r\n XIsChange(visible) && this.setVisible();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unsubscribe();\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n unsubscribe() {\r\n this.backdropClick$?.unsubscribe();\r\n }\r\n\r\n setVisible() {\r\n if (this.visible) {\r\n this.create();\r\n } else {\r\n this.detach();\r\n // this.visibleChange.emit(false);\r\n }\r\n }\r\n\r\n create() {\r\n this.dialogRef = this.protalService.attach({\r\n content: this.dialogTpl,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: {\r\n panelClass: [XDialogPortal, this.className],\r\n hasBackdrop: Boolean(this.hasBackdrop),\r\n positionStrategy: this.protalService.setPlace(this.placement, this.width, this.height, this.offset)\r\n }\r\n });\r\n // this.scrollStrategy.enable();\r\n if (this.hasBackdrop && this.backdropClose && this.dialogRef?.overlayRef) {\r\n this.backdropClick$ = this.dialogRef.overlayRef.backdropClick().subscribe(() => this.onClose());\r\n }\r\n }\r\n\r\n detach() {\r\n if (this.portalAttached()) {\r\n this.visible = false;\r\n this.visibleChange.emit(this.visible);\r\n this.dialogRef?.overlayRef?.detach();\r\n // this.scrollStrategy.disable();\r\n this.unsubscribe();\r\n this.close.emit();\r\n }\r\n }\r\n\r\n portalAttached() {\r\n return this.dialogRef?.overlayRef?.hasAttached();\r\n }\r\n\r\n onClose() {\r\n if (XIsFunction(this.beforeClose)) {\r\n this.beforeClose();\r\n } else {\r\n this.detach();\r\n }\r\n }\r\n\r\n onCancel() {\r\n this.onClose();\r\n this.cancel.emit();\r\n }\r\n\r\n onConfirm() {\r\n this.onClose();\r\n this.confirm.emit();\r\n }\r\n\r\n moveDone($event: { toState: string }) {\r\n if ($event.toState === 'void') {\r\n this.closeDone.emit($event);\r\n this.dialogRef?.overlayRef?.dispose();\r\n } else {\r\n this.showDone.emit($event);\r\n }\r\n }\r\n}\r\n","<ng-template #dialogTpl>\r\n <div class=\"x-dialog\" [@x-move-box-animation]=\"placement\" (@x-move-box-animation.done)=\"moveDone($event)\">\r\n <x-alert\r\n [draggable]=\"draggable\"\r\n [dragBoundary]=\"'.cdk-overlay-container'\"\r\n (close)=\"onClose()\"\r\n [title]=\"title\"\r\n [content]=\"contentTpl\"\r\n [type]=\"type\"\r\n [effect]=\"effect\"\r\n [hideClose]=\"hideClose\"\r\n [closeText]=\"closeText\"\r\n showIcon=\"false\"\r\n duration=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #contentTpl>\r\n <div class=\"x-dialog-inner\">\r\n <div class=\"x-dialog-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"x-dialog-buttons\" [class.x-dialog-buttons-center]=\"buttonsCenter\">\r\n <ng-container *xOutlet=\"footer\">\r\n <x-buttons space=\"1\" *ngIf=\"showCancel || showConfirm\">\r\n <x-button *ngIf=\"showCancel\" (click)=\"onCancel()\">{{ getCancelText }}</x-button>\r\n <x-button *ngIf=\"showConfirm\" type=\"primary\" (click)=\"onConfirm()\">{{ getConfirmText }}</x-button>\r\n </x-buttons>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XDialogComponent } from './dialog.component';\r\nimport { XAlertModule } from '@ng-nest/ui/alert';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XInputModule } from '@ng-nest/ui/input';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { XDialogProperty } from './dialog.property';\r\n\r\n@NgModule({\r\n declarations: [XDialogComponent, XDialogProperty],\r\n exports: [XDialogComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n DragDropModule,\r\n XInputModule,\r\n XButtonModule,\r\n XIconModule,\r\n XPortalModule,\r\n XAlertModule,\r\n XOutletModule\r\n ]\r\n})\r\nexport class XDialogModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAMA;;;;;MAKa,aAAa,GAAG,WAAW;AAExC,MAAM,aAAa,GAAG,QAAQ,CAAC;MAElB,aAAa,GAAG,kBAAkB;AAE/C;;;MAIa,eAAgB,SAAQ,cAAc;IADnD;;QAE4B,YAAO,GAAY,KAAK,CAAC;;;;;QAe1C,SAAI,GAAgB,MAAM,CAAC;;;;;QA2E1B,WAAM,GAAG,IAAI,YAAY,EAAE,CAAC;;;;;QAK5B,YAAO,GAAG,IAAI,YAAY,EAAE,CAAC;;;;;QAK7B,kBAAa,GAAG,IAAI,YAAY,EAAW,CAAC;;;;;QAK5C,aAAQ,GAAG,IAAI,YAAY,EAAO,CAAC;;;;;QAKnC,cAAS,GAAG,IAAI,YAAY,EAAO,CAAC;KAC/C;;+HAhHY,eAAe;mHAAf,eAAe,8nBADL,EAAE;AAEG;IAAhB,aAAa,EAAE;gDAA0B;AAKI;IAA7C,WAAW,CAAS,aAAa,EAAE,QAAQ,CAAC;kDAAoB;AAKrB;IAA3C,WAAW,CAAS,aAAa,EAAE,MAAM,CAAC;+CAAiB;AAUf;IAA5C,WAAW,CAAS,aAAa,EAAE,OAAO,CAAC;8CAAgB;AAUd;IAA7C,WAAW,CAAU,aAAa,EAAE,OAAO,CAAC;+CAAkB;AAUnB;IAA3C,WAAW,CAAW,aAAa,EAAE,IAAI,CAAC;mDAAuB;AAK9B;IAAnC,WAAW,CAAS,aAAa,CAAC;mDAAqB;AAKZ;IAA3C,WAAW,CAAW,aAAa,EAAE,IAAI,CAAC;oDAAwB;AAK/B;IAAnC,WAAW,CAAS,aAAa,CAAC;oDAAsB;AAKb;IAA3C,WAAW,CAAW,aAAa,EAAE,IAAI,CAAC;sDAA0B;AAKzB;IAA3C,WAAW,CAAW,aAAa,EAAE,IAAI,CAAC;oDAAwB;AAK3B;IAAvC,WAAW,CAAS,aAAa,EAAE,EAAE,CAAC;kDAAoB;AAKJ;IAAtD,WAAW,CAAW,aAAa,CAAC;IAAE,aAAa,EAAE;sDAA0B;AAKlB;IAA7D,WAAW,CAAW,aAAa,EAAE,KAAK,CAAC;IAAE,aAAa,EAAE;kDAAsB;2FAjFjF,eAAe;kBAD3B,SAAS;mBAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;8BAEC,OAAO;sBAAhC,KAAK;gBAKiD,SAAS;sBAA/D,KAAK;gBAK+C,MAAM;sBAA1D,KAAK;gBAKG,IAAI;sBAAZ,KAAK;gBAKgD,KAAK;sBAA1D,KAAK;gBAKG,MAAM;sBAAd,KAAK;gBAKiD,MAAM;sBAA5D,KAAK;gBAKG,MAAM;sBAAd,KAAK;gBAK+C,UAAU;sBAA9D,KAAK;gBAKuC,UAAU;sBAAtD,KAAK;gBAK+C,WAAW;sBAA/D,KAAK;gBAKuC,WAAW;sBAAvD,KAAK;gBAK+C,aAAa;sBAAjE,KAAK;gBAK+C,WAAW;sBAA/D,KAAK;gBAK2C,SAAS;sBAAzD,KAAK;gBAK0D,aAAa;sBAA5E,KAAK;gBAKiE,SAAS;sBAA/E,KAAK;gBAKG,WAAW;sBAAnB,KAAK;gBAKI,MAAM;sBAAf,MAAM;gBAKG,OAAO;sBAAhB,MAAM;gBAKG,aAAa;sBAAtB,MAAM;gBAKG,QAAQ;sBAAjB,MAAM;gBAKG,SAAS;sBAAlB,MAAM;;;MCtGI,gBAAiB,SAAQ,eAAe;IAiBnD,YACS,QAAmB,EACnB,UAAsB,EACtB,GAAsB,EACtB,gBAAkC,EAClC,aAA6B,EAC7B,IAAkB;QAEzB,KAAK,EAAE,CAAC;QAPD,aAAQ,GAAR,QAAQ,CAAW;QACnB,eAAU,GAAV,UAAU,CAAY;QACtB,QAAG,GAAH,GAAG,CAAmB;QACtB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,kBAAa,GAAb,aAAa,CAAgB;QAC7B,SAAI,GAAJ,IAAI,CAAc;QAlB3B,WAAM,GAAgB,EAAE,CAAC;QAEjB,eAAU,GAAG,IAAI,OAAO,EAAQ,CAAC;QAmBvC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;KAC3E;IAlBD,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;KAClD;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;KACpD;IAcD,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,YAAY;aACnB,IAAI,CACH,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAqB,CAAC,EACnC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAC3B;aACA,SAAS,CAAC,CAAC,CAAC;YACX,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;SACzB,CAAC,CAAC;KACN;IAED,WAAW,CAAC,OAAsB;QAChC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAC5B,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;KACzC;IAED,WAAW;QACT,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;KAC/B;IAED,WAAW;;QACT,MAAA,IAAI,CAAC,cAAc,0CAAE,WAAW,EAAE,CAAC;KACpC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;aAAM;YACL,IAAI,CAAC,MAAM,EAAE,CAAC;;SAEf;KACF;IAED,MAAM;;QACJ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YACzC,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,aAAa,EAAE;gBACb,UAAU,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC3C,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;gBACtC,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;aACpG;SACF,CAAC,CAAC;;QAEH,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,KAAI,MAAA,IAAI,CAAC,SAAS,0CAAE,UAAU,CAAA,EAAE;YACxE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;SACjG;KACF;IAED,MAAM;;QACJ,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtC,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,UAAU,0CAAE,MAAM,EAAE,CAAC;;YAErC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SACnB;KACF;IAED,cAAc;;QACZ,OAAO,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,UAAU,0CAAE,WAAW,EAAE,CAAC;KAClD;IAED,OAAO;QACL,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACjC,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;aAAM;YACL,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;KACF;IAED,QAAQ;QACN,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACpB;IAED,SAAS;QACP,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACrB;IAED,QAAQ,CAAC,MAA2B;;QAClC,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE;YAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,UAAU,0CAAE,OAAO,EAAE,CAAC;SACvC;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC5B;KACF;;gIAzHU,gBAAgB;oHAAhB,gBAAgB,oMC9B7B,owCAmCA,4nCDPc,CAAC,iBAAiB,CAAC;2FAEpB,gBAAgB;kBAR5B,SAAS;mBAAC;oBACT,QAAQ,EAAE,GAAG,aAAa,EAAE;oBAC5B,WAAW,EAAE,yBAAyB;oBACtC,SAAS,EAAE,CAAC,yBAAyB,CAAC;oBACtC,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,UAAU,EAAE,CAAC,iBAAiB,CAAC;iBAChC;gPAE4C,SAAS;sBAAnD,SAAS;uBAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;;;MEF9B,aAAa;;6HAAb,aAAa;8HAAb,aAAa,iBAfT,gBAAgB,EAAE,eAAe,aAG9C,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,cAAc;QACd,YAAY;QACZ,aAAa;QACb,WAAW;QACX,aAAa;QACb,YAAY;QACZ,aAAa,aAXL,gBAAgB;8HAcf,aAAa,YAbf;YACP,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,cAAc;YACd,YAAY;YACZ,aAAa;YACb,WAAW;YACX,aAAa;YACb,YAAY;YACZ,aAAa;SACd;2FAEU,aAAa;kBAhBzB,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,gBAAgB,EAAE,eAAe,CAAC;oBACjD,OAAO,EAAE,CAAC,gBAAgB,CAAC;oBAC3B,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,cAAc;wBACd,YAAY;wBACZ,aAAa;wBACb,WAAW;wBACX,aAAa;wBACb,YAAY;wBACZ,aAAa;qBACd;iBACF;;;AC5BD;;;;;;"}
@@ -82,7 +82,8 @@ class XDrawerComponent extends XDrawerProperty {
82
82
  this.setClassMap();
83
83
  }
84
84
  ngOnChanges(simples) {
85
- XIsChange(simples.visible) && this.setVisible();
85
+ const { visible } = simples;
86
+ XIsChange(visible) && this.setVisible();
86
87
  }
87
88
  ngOnDestroy() {
88
89
  this.unsubscribe();
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-drawer.js","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.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 } from '@angular/core';\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\nconst X_CONFIG_NAME = 'drawer';\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_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_CONFIG_NAME, '30%') size?: 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","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 XIsChange(simples.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 { 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\n\r\n@NgModule({\r\n declarations: [XDrawerComponent, XDrawerProperty],\r\n exports: [XDrawerComponent],\r\n imports: [CommonModule, XOutletModule, XButtonModule, XPortalModule]\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.js","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.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 } from '@angular/core';\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\nconst X_CONFIG_NAME = 'drawer';\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_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_CONFIG_NAME, '30%') size?: 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","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 { 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\n\r\n@NgModule({\r\n declarations: [XDrawerComponent, XDrawerProperty],\r\n exports: [XDrawerComponent],\r\n imports: [CommonModule, XOutletModule, XButtonModule, XPortalModule]\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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"}
@@ -104,7 +104,7 @@ class XDropdownPortalComponent {
104
104
  this.animating(false);
105
105
  event.toState === 'void' && this.destroyPortal();
106
106
  }
107
- start(event) {
107
+ start() {
108
108
  this.animating(true);
109
109
  }
110
110
  mouseenter() {
@@ -275,7 +275,8 @@ class XDropdownComponent extends XDropdownProperty {
275
275
  this.setSubject();
276
276
  }
277
277
  ngOnChanges(changes) {
278
- XIsChange(changes.data) && this.setData();
278
+ const { data } = changes;
279
+ XIsChange(data) && this.setData();
279
280
  }
280
281
  ngOnDestroy() {
281
282
  this._unSubject.next();
@@ -284,7 +285,7 @@ class XDropdownComponent extends XDropdownProperty {
284
285
  this.hoverDelayUnsub.complete();
285
286
  }
286
287
  setSubject() {
287
- this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe((x) => {
288
+ this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe(() => {
288
289
  this.closePortal();
289
290
  });
290
291
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-dropdown.js","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(event: { toState: any }) {\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, throttleTime } 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();\r\n positionChange: Subject<any> = new Subject();\r\n closeSubject: Subject<any> = 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 XIsChange(changes.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((x) => {\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.js","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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"}
@@ -326,8 +326,9 @@ class XFindComponent extends XFindProperty {
326
326
  this.cdr.detectChanges();
327
327
  }
328
328
  ngOnChanges(simples) {
329
- XIsChange(simples.tableData) && this.setTableCheckedRow();
330
- XIsChange(simples.labelAlign, simples.size) && this.setClassMap();
329
+ const { tableData, labelAlign, size } = simples;
330
+ XIsChange(tableData) && this.setTableCheckedRow();
331
+ XIsChange(labelAlign, size) && this.setClassMap();
331
332
  }
332
333
  ngOnInit() {
333
334
  this.setFlex(this.find.nativeElement, this.renderer, this.justify, this.align, this.direction);
@@ -452,7 +453,7 @@ class XFindComponent extends XFindProperty {
452
453
  if (this.hasTable) {
453
454
  let it = (_a = this.tableCom) === null || _a === void 0 ? void 0 : _a.tableData.find((x) => item.id === x.id);
454
455
  if (it) {
455
- it.$checked = false;
456
+ it['$checked'] = false;
456
457
  (_b = this.tableCom) === null || _b === void 0 ? void 0 : _b.bodyChange();
457
458
  }
458
459
  }
@@ -493,7 +494,7 @@ class XFindComponent extends XFindProperty {
493
494
  rowMultiple(data) {
494
495
  if (typeof this.temp === 'undefined')
495
496
  this.temp = [];
496
- if (data.$checked) {
497
+ if (data['$checked']) {
497
498
  this.temp = [...this.temp, data];
498
499
  }
499
500
  else {
@@ -544,7 +545,7 @@ class XFindComponent extends XFindProperty {
544
545
  treeCheckboxChange(node) {
545
546
  this.treeMultiple(node);
546
547
  }
547
- trackByItem(index, item) {
548
+ trackByItem(_index, item) {
548
549
  return item.id;
549
550
  }
550
551
  formControlChanges() {