@ng-nest/ui 11.2.9 → 11.2.13

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 (639) hide show
  1. package/affix/affix.property.d.ts +2 -2
  2. package/alert/alert.property.d.ts +22 -12
  3. package/alert/ng-nest-ui-alert.metadata.json +1 -1
  4. package/auto-complete/auto-complete.property.d.ts +3 -3
  5. package/avatar/avatar.property.d.ts +6 -6
  6. package/back-top/back-top.property.d.ts +4 -4
  7. package/badge/badge.property.d.ts +3 -3
  8. package/base-form/base-form.component.d.ts +1 -1
  9. package/base-form/base-form.property.d.ts +10 -10
  10. package/border/ng-nest-ui-border.metadata.json +1 -1
  11. package/bundles/ng-nest-ui-affix.umd.js +10 -4
  12. package/bundles/ng-nest-ui-affix.umd.js.map +1 -1
  13. package/bundles/ng-nest-ui-affix.umd.min.js.map +1 -1
  14. package/bundles/ng-nest-ui-alert.umd.js +26 -12
  15. package/bundles/ng-nest-ui-alert.umd.js.map +1 -1
  16. package/bundles/ng-nest-ui-alert.umd.min.js +2 -2
  17. package/bundles/ng-nest-ui-alert.umd.min.js.map +1 -1
  18. package/bundles/ng-nest-ui-anchor.umd.js +10 -4
  19. package/bundles/ng-nest-ui-anchor.umd.js.map +1 -1
  20. package/bundles/ng-nest-ui-anchor.umd.min.js.map +1 -1
  21. package/bundles/ng-nest-ui-auto-complete.umd.js +15 -8
  22. package/bundles/ng-nest-ui-auto-complete.umd.js.map +1 -1
  23. package/bundles/ng-nest-ui-auto-complete.umd.min.js +2 -2
  24. package/bundles/ng-nest-ui-auto-complete.umd.min.js.map +1 -1
  25. package/bundles/ng-nest-ui-avatar.umd.js +10 -4
  26. package/bundles/ng-nest-ui-avatar.umd.js.map +1 -1
  27. package/bundles/ng-nest-ui-avatar.umd.min.js.map +1 -1
  28. package/bundles/ng-nest-ui-back-top.umd.js +10 -4
  29. package/bundles/ng-nest-ui-back-top.umd.js.map +1 -1
  30. package/bundles/ng-nest-ui-back-top.umd.min.js.map +1 -1
  31. package/bundles/ng-nest-ui-badge.umd.js +10 -4
  32. package/bundles/ng-nest-ui-badge.umd.js.map +1 -1
  33. package/bundles/ng-nest-ui-badge.umd.min.js.map +1 -1
  34. package/bundles/ng-nest-ui-base-form.umd.js +10 -4
  35. package/bundles/ng-nest-ui-base-form.umd.js.map +1 -1
  36. package/bundles/ng-nest-ui-base-form.umd.min.js.map +1 -1
  37. package/bundles/ng-nest-ui-border.umd.js +1 -1
  38. package/bundles/ng-nest-ui-border.umd.js.map +1 -1
  39. package/bundles/ng-nest-ui-border.umd.min.js.map +1 -1
  40. package/bundles/ng-nest-ui-button.umd.js +11 -5
  41. package/bundles/ng-nest-ui-button.umd.js.map +1 -1
  42. package/bundles/ng-nest-ui-button.umd.min.js +1 -1
  43. package/bundles/ng-nest-ui-button.umd.min.js.map +1 -1
  44. package/bundles/ng-nest-ui-calendar.umd.js +16 -6
  45. package/bundles/ng-nest-ui-calendar.umd.js.map +1 -1
  46. package/bundles/ng-nest-ui-calendar.umd.min.js +1 -1
  47. package/bundles/ng-nest-ui-calendar.umd.min.js.map +1 -1
  48. package/bundles/ng-nest-ui-card.umd.js +10 -4
  49. package/bundles/ng-nest-ui-card.umd.js.map +1 -1
  50. package/bundles/ng-nest-ui-card.umd.min.js.map +1 -1
  51. package/bundles/ng-nest-ui-carousel.umd.js +10 -4
  52. package/bundles/ng-nest-ui-carousel.umd.js.map +1 -1
  53. package/bundles/ng-nest-ui-carousel.umd.min.js.map +1 -1
  54. package/bundles/ng-nest-ui-cascade.umd.js +10 -4
  55. package/bundles/ng-nest-ui-cascade.umd.js.map +1 -1
  56. package/bundles/ng-nest-ui-cascade.umd.min.js.map +1 -1
  57. package/bundles/ng-nest-ui-checkbox.umd.js +16 -9
  58. package/bundles/ng-nest-ui-checkbox.umd.js.map +1 -1
  59. package/bundles/ng-nest-ui-checkbox.umd.min.js +2 -2
  60. package/bundles/ng-nest-ui-checkbox.umd.min.js.map +1 -1
  61. package/bundles/ng-nest-ui-collapse.umd.js +10 -4
  62. package/bundles/ng-nest-ui-collapse.umd.js.map +1 -1
  63. package/bundles/ng-nest-ui-collapse.umd.min.js.map +1 -1
  64. package/bundles/ng-nest-ui-color-picker.umd.js +10 -4
  65. package/bundles/ng-nest-ui-color-picker.umd.js.map +1 -1
  66. package/bundles/ng-nest-ui-color-picker.umd.min.js.map +1 -1
  67. package/bundles/ng-nest-ui-color.umd.js +10 -4
  68. package/bundles/ng-nest-ui-color.umd.js.map +1 -1
  69. package/bundles/ng-nest-ui-color.umd.min.js.map +1 -1
  70. package/bundles/ng-nest-ui-comment.umd.js +16 -6
  71. package/bundles/ng-nest-ui-comment.umd.js.map +1 -1
  72. package/bundles/ng-nest-ui-comment.umd.min.js +2 -2
  73. package/bundles/ng-nest-ui-comment.umd.min.js.map +1 -1
  74. package/bundles/ng-nest-ui-container.umd.js +10 -4
  75. package/bundles/ng-nest-ui-container.umd.js.map +1 -1
  76. package/bundles/ng-nest-ui-container.umd.min.js.map +1 -1
  77. package/bundles/ng-nest-ui-core.umd.js +30 -8
  78. package/bundles/ng-nest-ui-core.umd.js.map +1 -1
  79. package/bundles/ng-nest-ui-core.umd.min.js +2 -2
  80. package/bundles/ng-nest-ui-core.umd.min.js.map +1 -1
  81. package/bundles/ng-nest-ui-crumb.umd.js +10 -4
  82. package/bundles/ng-nest-ui-crumb.umd.js.map +1 -1
  83. package/bundles/ng-nest-ui-crumb.umd.min.js.map +1 -1
  84. package/bundles/ng-nest-ui-date-picker.umd.js +16 -7
  85. package/bundles/ng-nest-ui-date-picker.umd.js.map +1 -1
  86. package/bundles/ng-nest-ui-date-picker.umd.min.js +1 -1
  87. package/bundles/ng-nest-ui-date-picker.umd.min.js.map +1 -1
  88. package/bundles/ng-nest-ui-dialog.umd.js +25 -12
  89. package/bundles/ng-nest-ui-dialog.umd.js.map +1 -1
  90. package/bundles/ng-nest-ui-dialog.umd.min.js +2 -2
  91. package/bundles/ng-nest-ui-dialog.umd.min.js.map +1 -1
  92. package/bundles/ng-nest-ui-drawer.umd.js +10 -4
  93. package/bundles/ng-nest-ui-drawer.umd.js.map +1 -1
  94. package/bundles/ng-nest-ui-drawer.umd.min.js.map +1 -1
  95. package/bundles/ng-nest-ui-dropdown.umd.js +10 -4
  96. package/bundles/ng-nest-ui-dropdown.umd.js.map +1 -1
  97. package/bundles/ng-nest-ui-dropdown.umd.min.js.map +1 -1
  98. package/bundles/ng-nest-ui-empty.umd.js +10 -4
  99. package/bundles/ng-nest-ui-empty.umd.js.map +1 -1
  100. package/bundles/ng-nest-ui-empty.umd.min.js.map +1 -1
  101. package/bundles/ng-nest-ui-find.umd.js +79 -12
  102. package/bundles/ng-nest-ui-find.umd.js.map +1 -1
  103. package/bundles/ng-nest-ui-find.umd.min.js +2 -2
  104. package/bundles/ng-nest-ui-find.umd.min.js.map +1 -1
  105. package/bundles/ng-nest-ui-form.umd.js +16 -9
  106. package/bundles/ng-nest-ui-form.umd.js.map +1 -1
  107. package/bundles/ng-nest-ui-form.umd.min.js +1 -1
  108. package/bundles/ng-nest-ui-form.umd.min.js.map +1 -1
  109. package/bundles/ng-nest-ui-highlight.umd.js +10 -4
  110. package/bundles/ng-nest-ui-highlight.umd.js.map +1 -1
  111. package/bundles/ng-nest-ui-highlight.umd.min.js.map +1 -1
  112. package/bundles/ng-nest-ui-i18n.umd.js +1 -1
  113. package/bundles/ng-nest-ui-i18n.umd.js.map +1 -1
  114. package/bundles/ng-nest-ui-i18n.umd.min.js +1 -1
  115. package/bundles/ng-nest-ui-i18n.umd.min.js.map +1 -1
  116. package/bundles/ng-nest-ui-icon.umd.js +10 -4
  117. package/bundles/ng-nest-ui-icon.umd.js.map +1 -1
  118. package/bundles/ng-nest-ui-icon.umd.min.js.map +1 -1
  119. package/bundles/ng-nest-ui-inner.umd.js +10 -4
  120. package/bundles/ng-nest-ui-inner.umd.js.map +1 -1
  121. package/bundles/ng-nest-ui-inner.umd.min.js.map +1 -1
  122. package/bundles/ng-nest-ui-input-number.umd.js +10 -4
  123. package/bundles/ng-nest-ui-input-number.umd.js.map +1 -1
  124. package/bundles/ng-nest-ui-input-number.umd.min.js.map +1 -1
  125. package/bundles/ng-nest-ui-input.umd.js +10 -4
  126. package/bundles/ng-nest-ui-input.umd.js.map +1 -1
  127. package/bundles/ng-nest-ui-input.umd.min.js.map +1 -1
  128. package/bundles/ng-nest-ui-layout.umd.js +10 -4
  129. package/bundles/ng-nest-ui-layout.umd.js.map +1 -1
  130. package/bundles/ng-nest-ui-layout.umd.min.js.map +1 -1
  131. package/bundles/ng-nest-ui-link.umd.js +10 -4
  132. package/bundles/ng-nest-ui-link.umd.js.map +1 -1
  133. package/bundles/ng-nest-ui-link.umd.min.js.map +1 -1
  134. package/bundles/ng-nest-ui-list.umd.js +10 -4
  135. package/bundles/ng-nest-ui-list.umd.js.map +1 -1
  136. package/bundles/ng-nest-ui-list.umd.min.js.map +1 -1
  137. package/bundles/ng-nest-ui-loading.umd.js +10 -4
  138. package/bundles/ng-nest-ui-loading.umd.js.map +1 -1
  139. package/bundles/ng-nest-ui-loading.umd.min.js.map +1 -1
  140. package/bundles/ng-nest-ui-menu.umd.js +22 -11
  141. package/bundles/ng-nest-ui-menu.umd.js.map +1 -1
  142. package/bundles/ng-nest-ui-menu.umd.min.js +2 -2
  143. package/bundles/ng-nest-ui-menu.umd.min.js.map +1 -1
  144. package/bundles/ng-nest-ui-message-box.umd.js +37 -10
  145. package/bundles/ng-nest-ui-message-box.umd.js.map +1 -1
  146. package/bundles/ng-nest-ui-message-box.umd.min.js +1 -1
  147. package/bundles/ng-nest-ui-message-box.umd.min.js.map +1 -1
  148. package/bundles/ng-nest-ui-message.umd.js +10 -4
  149. package/bundles/ng-nest-ui-message.umd.js.map +1 -1
  150. package/bundles/ng-nest-ui-message.umd.min.js.map +1 -1
  151. package/bundles/ng-nest-ui-notification.umd.js +10 -4
  152. package/bundles/ng-nest-ui-notification.umd.js.map +1 -1
  153. package/bundles/ng-nest-ui-notification.umd.min.js.map +1 -1
  154. package/bundles/ng-nest-ui-outlet.umd.js +10 -4
  155. package/bundles/ng-nest-ui-outlet.umd.js.map +1 -1
  156. package/bundles/ng-nest-ui-outlet.umd.min.js.map +1 -1
  157. package/bundles/ng-nest-ui-page-header.umd.js +10 -4
  158. package/bundles/ng-nest-ui-page-header.umd.js.map +1 -1
  159. package/bundles/ng-nest-ui-page-header.umd.min.js.map +1 -1
  160. package/bundles/ng-nest-ui-pagination.umd.js +10 -4
  161. package/bundles/ng-nest-ui-pagination.umd.js.map +1 -1
  162. package/bundles/ng-nest-ui-pagination.umd.min.js.map +1 -1
  163. package/bundles/ng-nest-ui-popconfirm.umd.js +11 -5
  164. package/bundles/ng-nest-ui-popconfirm.umd.js.map +1 -1
  165. package/bundles/ng-nest-ui-popconfirm.umd.min.js +2 -2
  166. package/bundles/ng-nest-ui-popconfirm.umd.min.js.map +1 -1
  167. package/bundles/ng-nest-ui-popover.umd.js +10 -4
  168. package/bundles/ng-nest-ui-popover.umd.js.map +1 -1
  169. package/bundles/ng-nest-ui-popover.umd.min.js.map +1 -1
  170. package/bundles/ng-nest-ui-portal.umd.js +10 -4
  171. package/bundles/ng-nest-ui-portal.umd.js.map +1 -1
  172. package/bundles/ng-nest-ui-portal.umd.min.js.map +1 -1
  173. package/bundles/ng-nest-ui-progress.umd.js +10 -4
  174. package/bundles/ng-nest-ui-progress.umd.js.map +1 -1
  175. package/bundles/ng-nest-ui-progress.umd.min.js.map +1 -1
  176. package/bundles/ng-nest-ui-radio.umd.js +11 -5
  177. package/bundles/ng-nest-ui-radio.umd.js.map +1 -1
  178. package/bundles/ng-nest-ui-radio.umd.min.js +1 -1
  179. package/bundles/ng-nest-ui-radio.umd.min.js.map +1 -1
  180. package/bundles/ng-nest-ui-rate.umd.js +10 -4
  181. package/bundles/ng-nest-ui-rate.umd.js.map +1 -1
  182. package/bundles/ng-nest-ui-rate.umd.min.js.map +1 -1
  183. package/bundles/ng-nest-ui-result.umd.js +18 -5
  184. package/bundles/ng-nest-ui-result.umd.js.map +1 -1
  185. package/bundles/ng-nest-ui-result.umd.min.js +1 -1
  186. package/bundles/ng-nest-ui-result.umd.min.js.map +1 -1
  187. package/bundles/ng-nest-ui-ripple.umd.js +11 -5
  188. package/bundles/ng-nest-ui-ripple.umd.js.map +1 -1
  189. package/bundles/ng-nest-ui-ripple.umd.min.js +2 -2
  190. package/bundles/ng-nest-ui-ripple.umd.min.js.map +1 -1
  191. package/bundles/ng-nest-ui-select.umd.js +12 -6
  192. package/bundles/ng-nest-ui-select.umd.js.map +1 -1
  193. package/bundles/ng-nest-ui-select.umd.min.js +1 -1
  194. package/bundles/ng-nest-ui-select.umd.min.js.map +1 -1
  195. package/bundles/ng-nest-ui-skeleton.umd.js +11 -5
  196. package/bundles/ng-nest-ui-skeleton.umd.js.map +1 -1
  197. package/bundles/ng-nest-ui-skeleton.umd.min.js +1 -1
  198. package/bundles/ng-nest-ui-skeleton.umd.min.js.map +1 -1
  199. package/bundles/ng-nest-ui-slider-select.umd.js +10 -4
  200. package/bundles/ng-nest-ui-slider-select.umd.js.map +1 -1
  201. package/bundles/ng-nest-ui-slider-select.umd.min.js.map +1 -1
  202. package/bundles/ng-nest-ui-slider.umd.js +10 -4
  203. package/bundles/ng-nest-ui-slider.umd.js.map +1 -1
  204. package/bundles/ng-nest-ui-slider.umd.min.js.map +1 -1
  205. package/bundles/ng-nest-ui-statistic.umd.js +10 -4
  206. package/bundles/ng-nest-ui-statistic.umd.js.map +1 -1
  207. package/bundles/ng-nest-ui-statistic.umd.min.js.map +1 -1
  208. package/bundles/ng-nest-ui-steps.umd.js +10 -4
  209. package/bundles/ng-nest-ui-steps.umd.js.map +1 -1
  210. package/bundles/ng-nest-ui-steps.umd.min.js.map +1 -1
  211. package/bundles/ng-nest-ui-switch.umd.js +10 -4
  212. package/bundles/ng-nest-ui-switch.umd.js.map +1 -1
  213. package/bundles/ng-nest-ui-switch.umd.min.js.map +1 -1
  214. package/bundles/ng-nest-ui-table.umd.js +78 -26
  215. package/bundles/ng-nest-ui-table.umd.js.map +1 -1
  216. package/bundles/ng-nest-ui-table.umd.min.js +2 -2
  217. package/bundles/ng-nest-ui-table.umd.min.js.map +1 -1
  218. package/bundles/ng-nest-ui-tabs.umd.js +12 -6
  219. package/bundles/ng-nest-ui-tabs.umd.js.map +1 -1
  220. package/bundles/ng-nest-ui-tabs.umd.min.js +1 -1
  221. package/bundles/ng-nest-ui-tabs.umd.min.js.map +1 -1
  222. package/bundles/ng-nest-ui-tag.umd.js +10 -4
  223. package/bundles/ng-nest-ui-tag.umd.js.map +1 -1
  224. package/bundles/ng-nest-ui-tag.umd.min.js.map +1 -1
  225. package/bundles/ng-nest-ui-text-retract.umd.js +10 -4
  226. package/bundles/ng-nest-ui-text-retract.umd.js.map +1 -1
  227. package/bundles/ng-nest-ui-text-retract.umd.min.js.map +1 -1
  228. package/bundles/ng-nest-ui-textarea.umd.js +10 -4
  229. package/bundles/ng-nest-ui-textarea.umd.js.map +1 -1
  230. package/bundles/ng-nest-ui-textarea.umd.min.js.map +1 -1
  231. package/bundles/ng-nest-ui-theme.umd.js +10 -4
  232. package/bundles/ng-nest-ui-theme.umd.js.map +1 -1
  233. package/bundles/ng-nest-ui-theme.umd.min.js.map +1 -1
  234. package/bundles/ng-nest-ui-time-ago.umd.js +2 -0
  235. package/bundles/ng-nest-ui-time-ago.umd.js.map +1 -1
  236. package/bundles/ng-nest-ui-time-ago.umd.min.js +1 -1
  237. package/bundles/ng-nest-ui-time-ago.umd.min.js.map +1 -1
  238. package/bundles/ng-nest-ui-time-picker.umd.js +10 -4
  239. package/bundles/ng-nest-ui-time-picker.umd.js.map +1 -1
  240. package/bundles/ng-nest-ui-time-picker.umd.min.js.map +1 -1
  241. package/bundles/ng-nest-ui-time-range.umd.js +10 -4
  242. package/bundles/ng-nest-ui-time-range.umd.js.map +1 -1
  243. package/bundles/ng-nest-ui-time-range.umd.min.js.map +1 -1
  244. package/bundles/ng-nest-ui-timeline.umd.js +10 -4
  245. package/bundles/ng-nest-ui-timeline.umd.js.map +1 -1
  246. package/bundles/ng-nest-ui-timeline.umd.min.js.map +1 -1
  247. package/bundles/ng-nest-ui-tooltip.umd.js +10 -4
  248. package/bundles/ng-nest-ui-tooltip.umd.js.map +1 -1
  249. package/bundles/ng-nest-ui-tooltip.umd.min.js.map +1 -1
  250. package/bundles/ng-nest-ui-transfer.umd.js +14 -7
  251. package/bundles/ng-nest-ui-transfer.umd.js.map +1 -1
  252. package/bundles/ng-nest-ui-transfer.umd.min.js +1 -1
  253. package/bundles/ng-nest-ui-transfer.umd.min.js.map +1 -1
  254. package/bundles/ng-nest-ui-tree-file.umd.js +27 -5
  255. package/bundles/ng-nest-ui-tree-file.umd.js.map +1 -1
  256. package/bundles/ng-nest-ui-tree-file.umd.min.js +1 -1
  257. package/bundles/ng-nest-ui-tree-file.umd.min.js.map +1 -1
  258. package/bundles/ng-nest-ui-tree.umd.js +27 -14
  259. package/bundles/ng-nest-ui-tree.umd.js.map +1 -1
  260. package/bundles/ng-nest-ui-tree.umd.min.js +1 -1
  261. package/bundles/ng-nest-ui-tree.umd.min.js.map +1 -1
  262. package/bundles/ng-nest-ui-typography.umd.js +11 -6
  263. package/bundles/ng-nest-ui-typography.umd.js.map +1 -1
  264. package/bundles/ng-nest-ui-typography.umd.min.js +1 -1
  265. package/bundles/ng-nest-ui-typography.umd.min.js.map +1 -1
  266. package/bundles/ng-nest-ui-upload.umd.js +10 -4
  267. package/bundles/ng-nest-ui-upload.umd.js.map +1 -1
  268. package/bundles/ng-nest-ui-upload.umd.min.js.map +1 -1
  269. package/button/button.property.d.ts +14 -14
  270. package/button/buttons.component.d.ts +2 -2
  271. package/button/ng-nest-ui-button.metadata.json +1 -1
  272. package/calendar/calendar.property.d.ts +1 -1
  273. package/card/card.property.d.ts +1 -1
  274. package/carousel/carousel.property.d.ts +7 -7
  275. package/cascade/cascade.property.d.ts +1 -1
  276. package/checkbox/checkbox.component.d.ts +1 -0
  277. package/checkbox/checkbox.property.d.ts +4 -4
  278. package/checkbox/ng-nest-ui-checkbox.metadata.json +1 -1
  279. package/collapse/collapse.property.d.ts +3 -3
  280. package/color/color.property.d.ts +2 -2
  281. package/color-picker/color-picker.property.d.ts +1 -1
  282. package/comment/comment.component.d.ts +1 -0
  283. package/comment/comment.property.d.ts +1 -1
  284. package/comment/ng-nest-ui-comment.metadata.json +1 -1
  285. package/container/aside.component.d.ts +1 -1
  286. package/container/container.property.d.ts +3 -3
  287. package/container/header.component.d.ts +1 -1
  288. package/core/config/config.d.ts +7 -0
  289. package/core/ng-nest-ui-core.metadata.json +1 -1
  290. package/core/util/html.d.ts +4 -0
  291. package/core/util/public-api.d.ts +1 -0
  292. package/core/util/resize.d.ts +1 -1
  293. package/crumb/crumb.property.d.ts +2 -2
  294. package/date-picker/date-picker.property.d.ts +8 -8
  295. package/date-picker/ng-nest-ui-date-picker.metadata.json +1 -1
  296. package/date-picker/picker-date.component.d.ts +3 -2
  297. package/dialog/dialog.property.d.ts +16 -6
  298. package/dialog/ng-nest-ui-dialog.metadata.json +1 -1
  299. package/drawer/drawer.property.d.ts +3 -3
  300. package/dropdown/dropdown.property.d.ts +4 -4
  301. package/esm2015/affix/affix.property.js +1 -1
  302. package/esm2015/alert/alert.component.js +5 -4
  303. package/esm2015/alert/alert.module.js +3 -2
  304. package/esm2015/alert/alert.property.js +8 -1
  305. package/esm2015/anchor/anchor.component.js +1 -1
  306. package/esm2015/anchor/anchor.property.js +1 -1
  307. package/esm2015/auto-complete/auto-complete-portal.component.js +1 -1
  308. package/esm2015/auto-complete/auto-complete.component.js +6 -5
  309. package/esm2015/auto-complete/auto-complete.property.js +1 -1
  310. package/esm2015/avatar/avatar.property.js +1 -1
  311. package/esm2015/back-top/back-top.component.js +1 -1
  312. package/esm2015/back-top/back-top.property.js +1 -1
  313. package/esm2015/badge/badge.property.js +1 -1
  314. package/esm2015/base-form/base-form.component.js +1 -1
  315. package/esm2015/base-form/base-form.property.js +1 -1
  316. package/esm2015/border/border.component.js +2 -2
  317. package/esm2015/button/button.property.js +1 -1
  318. package/esm2015/button/buttons.component.js +1 -1
  319. package/esm2015/calendar/calendar.component.js +7 -3
  320. package/esm2015/calendar/calendar.property.js +1 -1
  321. package/esm2015/card/card.property.js +1 -1
  322. package/esm2015/carousel/carousel-panel.component.js +1 -1
  323. package/esm2015/carousel/carousel.component.js +1 -1
  324. package/esm2015/carousel/carousel.property.js +1 -1
  325. package/esm2015/cascade/cascade-portal.component.js +1 -1
  326. package/esm2015/cascade/cascade.component.js +1 -1
  327. package/esm2015/cascade/cascade.property.js +1 -1
  328. package/esm2015/checkbox/checkbox.component.js +7 -6
  329. package/esm2015/checkbox/checkbox.property.js +1 -1
  330. package/esm2015/collapse/collapse-panel.component.js +1 -1
  331. package/esm2015/collapse/collapse.property.js +1 -1
  332. package/esm2015/color/color.component.js +1 -1
  333. package/esm2015/color/color.property.js +1 -1
  334. package/esm2015/color-picker/color-picker-portal.component.js +1 -1
  335. package/esm2015/color-picker/color-picker.component.js +1 -1
  336. package/esm2015/color-picker/color-picker.property.js +1 -1
  337. package/esm2015/comment/comment-reply.component.js +1 -1
  338. package/esm2015/comment/comment.component.js +6 -2
  339. package/esm2015/comment/comment.property.js +2 -2
  340. package/esm2015/container/container.property.js +1 -1
  341. package/esm2015/core/config/config.js +1 -1
  342. package/esm2015/core/config/config.service.js +1 -1
  343. package/esm2015/core/theme/theme.service.js +1 -1
  344. package/esm2015/core/util/html.js +11 -0
  345. package/esm2015/core/util/public-api.js +2 -1
  346. package/esm2015/core/util/resize.js +2 -2
  347. package/esm2015/crumb/crumb.property.js +1 -1
  348. package/esm2015/date-picker/date-picker-portal.component.js +1 -1
  349. package/esm2015/date-picker/date-picker.component.js +1 -1
  350. package/esm2015/date-picker/date-picker.property.js +1 -1
  351. package/esm2015/date-picker/picker-date.component.js +6 -3
  352. package/esm2015/date-picker/picker-month.component.js +2 -2
  353. package/esm2015/date-picker/picker-year.component.js +1 -1
  354. package/esm2015/dialog/dialog.component.js +3 -3
  355. package/esm2015/dialog/dialog.module.js +3 -1
  356. package/esm2015/dialog/dialog.property.js +8 -2
  357. package/esm2015/drawer/drawer.component.js +1 -1
  358. package/esm2015/drawer/drawer.property.js +1 -1
  359. package/esm2015/dropdown/dropdown-portal.component.js +1 -1
  360. package/esm2015/dropdown/dropdown.component.js +1 -1
  361. package/esm2015/dropdown/dropdown.property.js +1 -1
  362. package/esm2015/find/find.component.js +43 -4
  363. package/esm2015/find/find.module.js +3 -1
  364. package/esm2015/find/find.property.js +19 -2
  365. package/esm2015/form/control.component.js +7 -7
  366. package/esm2015/form/form.component.js +2 -2
  367. package/esm2015/form/form.property.js +1 -1
  368. package/esm2015/highlight/highlight.component.js +1 -1
  369. package/esm2015/highlight/highlight.property.js +1 -1
  370. package/esm2015/i18n/i18n.directive.js +1 -1
  371. package/esm2015/i18n/i18n.service.js +1 -1
  372. package/esm2015/i18n/ng-nest-ui-i18n.js +1 -2
  373. package/esm2015/i18n/public-api.js +2 -1
  374. package/esm2015/icon/icon.component.js +1 -1
  375. package/esm2015/icon/icon.property.js +1 -1
  376. package/esm2015/inner/inner.property.js +1 -1
  377. package/esm2015/input/input.component.js +1 -1
  378. package/esm2015/input/input.property.js +1 -1
  379. package/esm2015/input-number/input-number.component.js +1 -1
  380. package/esm2015/layout/layout.property.js +1 -1
  381. package/esm2015/link/link.property.js +1 -1
  382. package/esm2015/list/list.component.js +1 -1
  383. package/esm2015/list/list.property.js +1 -1
  384. package/esm2015/loading/loading.component.js +1 -1
  385. package/esm2015/loading/loading.property.js +1 -1
  386. package/esm2015/menu/menu-node.component.js +8 -6
  387. package/esm2015/menu/menu.component.js +2 -2
  388. package/esm2015/menu/menu.property.js +2 -2
  389. package/esm2015/message-box/message-box.component.js +20 -7
  390. package/esm2015/message-box/message-box.property.js +1 -1
  391. package/esm2015/outlet/outlet.directive.js +1 -1
  392. package/esm2015/page-header/page-header.property.js +1 -1
  393. package/esm2015/pagination/pagination.component.js +1 -1
  394. package/esm2015/pagination/pagination.property.js +1 -1
  395. package/esm2015/popconfirm/popconfirm.component.js +2 -2
  396. package/esm2015/popconfirm/popconfirm.property.js +1 -1
  397. package/esm2015/popover/popover-portal.component.js +1 -1
  398. package/esm2015/popover/popover.directive.js +1 -1
  399. package/esm2015/popover/popover.property.js +1 -1
  400. package/esm2015/progress/progress.component.js +1 -1
  401. package/esm2015/progress/progress.property.js +1 -1
  402. package/esm2015/radio/radio.component.js +2 -2
  403. package/esm2015/radio/radio.property.js +1 -1
  404. package/esm2015/rate/rate.component.js +1 -1
  405. package/esm2015/rate/rate.property.js +2 -2
  406. package/esm2015/result/result.component.js +5 -2
  407. package/esm2015/result/result.property.js +1 -1
  408. package/esm2015/ripple/ripple.directive.js +2 -2
  409. package/esm2015/ripple/ripple.property.js +1 -1
  410. package/esm2015/select/select-portal.component.js +1 -1
  411. package/esm2015/select/select.component.js +4 -4
  412. package/esm2015/select/select.property.js +1 -1
  413. package/esm2015/skeleton/skeleton.component.js +2 -2
  414. package/esm2015/skeleton/skeleton.property.js +1 -1
  415. package/esm2015/slider/slider.component.js +1 -1
  416. package/esm2015/slider/slider.property.js +1 -1
  417. package/esm2015/slider-select/slider-select.component.js +1 -1
  418. package/esm2015/slider-select/slider-select.property.js +1 -1
  419. package/esm2015/statistic/countdown.component.js +1 -1
  420. package/esm2015/statistic/statistic.property.js +1 -1
  421. package/esm2015/steps/steps.property.js +1 -1
  422. package/esm2015/switch/switch.component.js +1 -1
  423. package/esm2015/table/table-body.component.js +19 -9
  424. package/esm2015/table/table-foot.component.js +7 -7
  425. package/esm2015/table/table-head.component.js +13 -9
  426. package/esm2015/table/table.component.js +10 -3
  427. package/esm2015/table/table.property.js +8 -3
  428. package/esm2015/tabs/tab-content.component.js +1 -1
  429. package/esm2015/tabs/tab.component.js +1 -1
  430. package/esm2015/tabs/tabs.component.js +3 -3
  431. package/esm2015/tabs/tabs.property.js +1 -1
  432. package/esm2015/tag/tag.property.js +1 -1
  433. package/esm2015/text-retract/text-retract.component.js +1 -1
  434. package/esm2015/text-retract/text-retract.property.js +1 -1
  435. package/esm2015/textarea/textarea.component.js +1 -1
  436. package/esm2015/textarea/textarea.property.js +1 -1
  437. package/esm2015/theme/theme.property.js +1 -1
  438. package/esm2015/time-ago/time-ago.pipe.js +3 -1
  439. package/esm2015/time-picker/time-picker-frame.component.js +1 -1
  440. package/esm2015/time-picker/time-picker-portal.component.js +1 -1
  441. package/esm2015/time-picker/time-picker.component.js +2 -2
  442. package/esm2015/time-picker/time-picker.property.js +1 -1
  443. package/esm2015/timeline/timeline.property.js +1 -1
  444. package/esm2015/tooltip/tooltip-portal.component.js +1 -1
  445. package/esm2015/tooltip/tooltip.directive.js +1 -1
  446. package/esm2015/tooltip/tooltip.property.js +1 -1
  447. package/esm2015/transfer/transfer.component.js +5 -4
  448. package/esm2015/transfer/transfer.property.js +1 -1
  449. package/esm2015/tree/tree-node.component.js +10 -7
  450. package/esm2015/tree/tree.component.js +2 -2
  451. package/esm2015/tree/tree.property.js +3 -2
  452. package/esm2015/tree-file/tree-file.component.js +10 -2
  453. package/esm2015/tree-file/tree-file.property.js +1 -1
  454. package/esm2015/typography/typography.component.js +2 -3
  455. package/esm2015/typography/typography.property.js +1 -1
  456. package/esm2015/upload/upload-portal.component.js +1 -1
  457. package/esm2015/upload/upload.component.js +1 -1
  458. package/esm2015/upload/upload.property.js +1 -1
  459. package/fesm2015/ng-nest-ui-affix.js.map +1 -1
  460. package/fesm2015/ng-nest-ui-alert.js +14 -5
  461. package/fesm2015/ng-nest-ui-alert.js.map +1 -1
  462. package/fesm2015/ng-nest-ui-anchor.js.map +1 -1
  463. package/fesm2015/ng-nest-ui-auto-complete.js +5 -4
  464. package/fesm2015/ng-nest-ui-auto-complete.js.map +1 -1
  465. package/fesm2015/ng-nest-ui-avatar.js.map +1 -1
  466. package/fesm2015/ng-nest-ui-back-top.js.map +1 -1
  467. package/fesm2015/ng-nest-ui-badge.js.map +1 -1
  468. package/fesm2015/ng-nest-ui-base-form.js.map +1 -1
  469. package/fesm2015/ng-nest-ui-border.js +1 -1
  470. package/fesm2015/ng-nest-ui-border.js.map +1 -1
  471. package/fesm2015/ng-nest-ui-button.js +1 -1
  472. package/fesm2015/ng-nest-ui-button.js.map +1 -1
  473. package/fesm2015/ng-nest-ui-calendar.js +6 -2
  474. package/fesm2015/ng-nest-ui-calendar.js.map +1 -1
  475. package/fesm2015/ng-nest-ui-card.js.map +1 -1
  476. package/fesm2015/ng-nest-ui-carousel.js.map +1 -1
  477. package/fesm2015/ng-nest-ui-cascade.js.map +1 -1
  478. package/fesm2015/ng-nest-ui-checkbox.js +6 -5
  479. package/fesm2015/ng-nest-ui-checkbox.js.map +1 -1
  480. package/fesm2015/ng-nest-ui-collapse.js.map +1 -1
  481. package/fesm2015/ng-nest-ui-color-picker.js.map +1 -1
  482. package/fesm2015/ng-nest-ui-color.js.map +1 -1
  483. package/fesm2015/ng-nest-ui-comment.js +6 -2
  484. package/fesm2015/ng-nest-ui-comment.js.map +1 -1
  485. package/fesm2015/ng-nest-ui-container.js.map +1 -1
  486. package/fesm2015/ng-nest-ui-core.js +13 -2
  487. package/fesm2015/ng-nest-ui-core.js.map +1 -1
  488. package/fesm2015/ng-nest-ui-crumb.js.map +1 -1
  489. package/fesm2015/ng-nest-ui-date-picker.js +6 -3
  490. package/fesm2015/ng-nest-ui-date-picker.js.map +1 -1
  491. package/fesm2015/ng-nest-ui-dialog.js +12 -4
  492. package/fesm2015/ng-nest-ui-dialog.js.map +1 -1
  493. package/fesm2015/ng-nest-ui-drawer.js.map +1 -1
  494. package/fesm2015/ng-nest-ui-dropdown.js.map +1 -1
  495. package/fesm2015/ng-nest-ui-find.js +62 -4
  496. package/fesm2015/ng-nest-ui-find.js.map +1 -1
  497. package/fesm2015/ng-nest-ui-form.js +7 -6
  498. package/fesm2015/ng-nest-ui-form.js.map +1 -1
  499. package/fesm2015/ng-nest-ui-highlight.js.map +1 -1
  500. package/fesm2015/ng-nest-ui-i18n.js +1 -1
  501. package/fesm2015/ng-nest-ui-i18n.js.map +1 -1
  502. package/fesm2015/ng-nest-ui-icon.js.map +1 -1
  503. package/fesm2015/ng-nest-ui-inner.js.map +1 -1
  504. package/fesm2015/ng-nest-ui-input-number.js.map +1 -1
  505. package/fesm2015/ng-nest-ui-input.js.map +1 -1
  506. package/fesm2015/ng-nest-ui-layout.js.map +1 -1
  507. package/fesm2015/ng-nest-ui-link.js.map +1 -1
  508. package/fesm2015/ng-nest-ui-list.js.map +1 -1
  509. package/fesm2015/ng-nest-ui-loading.js.map +1 -1
  510. package/fesm2015/ng-nest-ui-menu.js +10 -7
  511. package/fesm2015/ng-nest-ui-menu.js.map +1 -1
  512. package/fesm2015/ng-nest-ui-message-box.js +19 -6
  513. package/fesm2015/ng-nest-ui-message-box.js.map +1 -1
  514. package/fesm2015/ng-nest-ui-outlet.js.map +1 -1
  515. package/fesm2015/ng-nest-ui-page-header.js.map +1 -1
  516. package/fesm2015/ng-nest-ui-pagination.js.map +1 -1
  517. package/fesm2015/ng-nest-ui-popconfirm.js +1 -1
  518. package/fesm2015/ng-nest-ui-popconfirm.js.map +1 -1
  519. package/fesm2015/ng-nest-ui-popover.js.map +1 -1
  520. package/fesm2015/ng-nest-ui-progress.js.map +1 -1
  521. package/fesm2015/ng-nest-ui-radio.js +1 -1
  522. package/fesm2015/ng-nest-ui-radio.js.map +1 -1
  523. package/fesm2015/ng-nest-ui-rate.js.map +1 -1
  524. package/fesm2015/ng-nest-ui-result.js +4 -1
  525. package/fesm2015/ng-nest-ui-result.js.map +1 -1
  526. package/fesm2015/ng-nest-ui-ripple.js +1 -1
  527. package/fesm2015/ng-nest-ui-ripple.js.map +1 -1
  528. package/fesm2015/ng-nest-ui-select.js +3 -3
  529. package/fesm2015/ng-nest-ui-select.js.map +1 -1
  530. package/fesm2015/ng-nest-ui-skeleton.js +1 -1
  531. package/fesm2015/ng-nest-ui-skeleton.js.map +1 -1
  532. package/fesm2015/ng-nest-ui-slider-select.js.map +1 -1
  533. package/fesm2015/ng-nest-ui-slider.js.map +1 -1
  534. package/fesm2015/ng-nest-ui-statistic.js.map +1 -1
  535. package/fesm2015/ng-nest-ui-steps.js.map +1 -1
  536. package/fesm2015/ng-nest-ui-switch.js.map +1 -1
  537. package/fesm2015/ng-nest-ui-table.js +50 -21
  538. package/fesm2015/ng-nest-ui-table.js.map +1 -1
  539. package/fesm2015/ng-nest-ui-tabs.js +2 -2
  540. package/fesm2015/ng-nest-ui-tabs.js.map +1 -1
  541. package/fesm2015/ng-nest-ui-tag.js.map +1 -1
  542. package/fesm2015/ng-nest-ui-text-retract.js.map +1 -1
  543. package/fesm2015/ng-nest-ui-textarea.js.map +1 -1
  544. package/fesm2015/ng-nest-ui-theme.js.map +1 -1
  545. package/fesm2015/ng-nest-ui-time-ago.js +2 -0
  546. package/fesm2015/ng-nest-ui-time-ago.js.map +1 -1
  547. package/fesm2015/ng-nest-ui-time-picker.js.map +1 -1
  548. package/fesm2015/ng-nest-ui-timeline.js.map +1 -1
  549. package/fesm2015/ng-nest-ui-tooltip.js.map +1 -1
  550. package/fesm2015/ng-nest-ui-transfer.js +4 -3
  551. package/fesm2015/ng-nest-ui-transfer.js.map +1 -1
  552. package/fesm2015/ng-nest-ui-tree-file.js +9 -1
  553. package/fesm2015/ng-nest-ui-tree-file.js.map +1 -1
  554. package/fesm2015/ng-nest-ui-tree.js +12 -7
  555. package/fesm2015/ng-nest-ui-tree.js.map +1 -1
  556. package/fesm2015/ng-nest-ui-typography.js +1 -2
  557. package/fesm2015/ng-nest-ui-typography.js.map +1 -1
  558. package/fesm2015/ng-nest-ui-upload.js.map +1 -1
  559. package/find/find.component.d.ts +3 -0
  560. package/find/find.property.d.ts +53 -9
  561. package/find/ng-nest-ui-find.metadata.json +1 -1
  562. package/form/control.component.d.ts +2 -3
  563. package/form/form.property.d.ts +5 -5
  564. package/form/ng-nest-ui-form.metadata.json +1 -1
  565. package/highlight/highlight.property.d.ts +2 -2
  566. package/i18n/ng-nest-ui-i18n.d.ts +0 -1
  567. package/i18n/ng-nest-ui-i18n.metadata.json +1 -1
  568. package/i18n/public-api.d.ts +1 -0
  569. package/icon/icon.component.d.ts +2 -2
  570. package/icon/icon.property.d.ts +6 -6
  571. package/inner/inner.property.d.ts +1 -1
  572. package/input/input.property.d.ts +4 -4
  573. package/layout/layout.property.d.ts +11 -11
  574. package/link/link.property.d.ts +3 -3
  575. package/list/list.property.d.ts +8 -8
  576. package/list/ng-nest-ui-list.metadata.json +1 -1
  577. package/loading/loading.property.d.ts +6 -6
  578. package/menu/menu-node.component.d.ts +2 -3
  579. package/menu/menu.property.d.ts +6 -6
  580. package/menu/ng-nest-ui-menu.metadata.json +1 -1
  581. package/message-box/message-box.component.d.ts +3 -0
  582. package/message-box/message-box.property.d.ts +4 -3
  583. package/message-box/ng-nest-ui-message-box.metadata.json +1 -1
  584. package/outlet/outlet.directive.d.ts +1 -1
  585. package/package.json +1 -1
  586. package/page-header/page-header.property.d.ts +4 -4
  587. package/pagination/pagination.property.d.ts +2 -2
  588. package/popconfirm/ng-nest-ui-popconfirm.metadata.json +1 -1
  589. package/popconfirm/popconfirm.component.d.ts +2 -2
  590. package/popconfirm/popconfirm.property.d.ts +7 -7
  591. package/popover/popover.property.d.ts +4 -4
  592. package/progress/progress.property.d.ts +2 -2
  593. package/radio/ng-nest-ui-radio.metadata.json +1 -1
  594. package/radio/radio.property.d.ts +3 -3
  595. package/rate/rate.property.d.ts +3 -2
  596. package/result/ng-nest-ui-result.metadata.json +1 -1
  597. package/result/result.component.d.ts +1 -0
  598. package/result/result.property.d.ts +3 -3
  599. package/ripple/ripple.property.d.ts +2 -2
  600. package/select/ng-nest-ui-select.metadata.json +1 -1
  601. package/select/select.property.d.ts +5 -5
  602. package/skeleton/ng-nest-ui-skeleton.metadata.json +1 -1
  603. package/skeleton/skeleton.property.d.ts +2 -2
  604. package/slider/slider.property.d.ts +6 -6
  605. package/slider-select/slider-select.property.d.ts +1 -1
  606. package/statistic/statistic.property.d.ts +1 -1
  607. package/steps/steps.property.d.ts +1 -1
  608. package/style/core/index.scss +1 -1
  609. package/style/directives/index.scss +2 -0
  610. package/style/directives/ripple/index.scss +6 -0
  611. package/style/directives/ripple/mixin.scss +37 -0
  612. package/style/directives/ripple/param.scss +3 -0
  613. package/table/ng-nest-ui-table.metadata.json +1 -1
  614. package/table/table-body.component.d.ts +6 -4
  615. package/table/table-foot.component.d.ts +2 -3
  616. package/table/table-head.component.d.ts +3 -3
  617. package/table/table.component.d.ts +1 -0
  618. package/table/table.property.d.ts +22 -12
  619. package/tabs/ng-nest-ui-tabs.metadata.json +1 -1
  620. package/tabs/tabs.property.d.ts +5 -5
  621. package/tag/tag.property.d.ts +3 -3
  622. package/text-retract/text-retract.property.d.ts +2 -2
  623. package/textarea/textarea.property.d.ts +2 -2
  624. package/theme/theme.property.d.ts +2 -2
  625. package/time-ago/time-ago.pipe.d.ts +1 -1
  626. package/time-picker/time-picker.property.d.ts +2 -2
  627. package/timeline/timeline.property.d.ts +5 -5
  628. package/tooltip/tooltip.property.d.ts +4 -4
  629. package/transfer/transfer.component.d.ts +1 -1
  630. package/transfer/transfer.property.d.ts +4 -4
  631. package/tree/ng-nest-ui-tree.metadata.json +1 -1
  632. package/tree/tree-node.component.d.ts +3 -3
  633. package/tree/tree.property.d.ts +12 -13
  634. package/tree-file/ng-nest-ui-tree-file.metadata.json +1 -1
  635. package/tree-file/tree-file.component.d.ts +3 -0
  636. package/tree-file/tree-file.property.d.ts +2 -2
  637. package/typography/typography.property.d.ts +1 -1
  638. package/upload/upload.property.d.ts +5 -5
  639. package/style/core/directive.scss +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-affix.js","sources":["../../../../lib/ng-nest/ui/affix/affix.property.ts","../../../../lib/ng-nest/ui/affix/affix.component.ts","../../../../lib/ng-nest/ui/affix/affix.module.ts","../../../../lib/ng-nest/ui/affix/ng-nest-ui-affix.ts"],"sourcesContent":["import { XProperty, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Affix\r\n * @selector x-affix\r\n * @decorator component\r\n */\r\nexport const XAffixPrefix = 'x-affix';\r\nconst X_CONFIG_NAME = 'affix';\r\n\r\n/**\r\n * Affix Property\r\n */\r\n@Component({ template: '' })\r\nexport class XAffixProperty extends XProperty {\r\n /**\r\n * @zh_CN 距离顶部距离\r\n * @en_US Distance from top\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME) top: string;\r\n /**\r\n * @zh_CN 距离左边距离\r\n * @en_US Distance from left\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME) left: string;\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\r\nimport { XAffixPrefix, XAffixProperty } from './affix.property';\r\nimport { XConfigService } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XAffixPrefix}`,\r\n templateUrl: './affix.component.html',\r\n styleUrls: ['./affix.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XAffixComponent extends XAffixProperty {\r\n constructor(public configService: XConfigService) {\r\n super();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XAffixComponent } from './affix.component';\r\nimport { XAffixProperty } from './affix.property';\r\n\r\n@NgModule({\r\n declarations: [XAffixComponent, XAffixProperty],\r\n exports: [XAffixComponent],\r\n imports: [CommonModule]\r\n})\r\nexport class XAffixModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAGA;;;;;MAKa,YAAY,GAAG,UAAU;AACtC,MAAM,aAAa,GAAG,OAAO,CAAC;AAE9B;;;MAIa,cAAe,SAAQ,SAAS;;;YAD5C,SAAS,SAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;;;kBAMxB,KAAK;mBAKL,KAAK;;AALuC;IAAnC,WAAW,CAAS,aAAa,CAAC;;2CAAa;AAKZ;IAAnC,WAAW,CAAS,aAAa,CAAC;;4CAAc;;MCd/C,eAAgB,SAAQ,cAAc;IACjD,YAAmB,aAA6B;QAC9C,KAAK,EAAE,CAAC;QADS,kBAAa,GAAb,aAAa,CAAgB;KAE/C;;;YAVF,SAAS,SAAC;gBACT,QAAQ,EAAE,GAAG,YAAY,EAAE;gBAC3B,iIAAqC;gBAErC,aAAa,EAAE,iBAAiB,CAAC,IAAI;gBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;;YARQ,cAAc;;;MCQV,YAAY;;;YALxB,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC;gBAC/C,OAAO,EAAE,CAAC,eAAe,CAAC;gBAC1B,OAAO,EAAE,CAAC,YAAY,CAAC;aACxB;;;ACTD;;;;;;"}
1
+ {"version":3,"file":"ng-nest-ui-affix.js","sources":["../../../../lib/ng-nest/ui/affix/affix.property.ts","../../../../lib/ng-nest/ui/affix/affix.component.ts","../../../../lib/ng-nest/ui/affix/affix.module.ts","../../../../lib/ng-nest/ui/affix/ng-nest-ui-affix.ts"],"sourcesContent":["import { XProperty, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Affix\r\n * @selector x-affix\r\n * @decorator component\r\n */\r\nexport const XAffixPrefix = 'x-affix';\r\nconst X_CONFIG_NAME = 'affix';\r\n\r\n/**\r\n * Affix Property\r\n */\r\n@Component({ template: '' })\r\nexport class XAffixProperty extends XProperty {\r\n /**\r\n * @zh_CN 距离顶部距离\r\n * @en_US Distance from top\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME) top?: string;\r\n /**\r\n * @zh_CN 距离左边距离\r\n * @en_US Distance from left\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME) left?: string;\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\r\nimport { XAffixPrefix, XAffixProperty } from './affix.property';\r\nimport { XConfigService } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XAffixPrefix}`,\r\n templateUrl: './affix.component.html',\r\n styleUrls: ['./affix.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XAffixComponent extends XAffixProperty {\r\n constructor(public configService: XConfigService) {\r\n super();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XAffixComponent } from './affix.component';\r\nimport { XAffixProperty } from './affix.property';\r\n\r\n@NgModule({\r\n declarations: [XAffixComponent, XAffixProperty],\r\n exports: [XAffixComponent],\r\n imports: [CommonModule]\r\n})\r\nexport class XAffixModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAGA;;;;;MAKa,YAAY,GAAG,UAAU;AACtC,MAAM,aAAa,GAAG,OAAO,CAAC;AAE9B;;;MAIa,cAAe,SAAQ,SAAS;;;YAD5C,SAAS,SAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;;;kBAMxB,KAAK;mBAKL,KAAK;;AALuC;IAAnC,WAAW,CAAS,aAAa,CAAC;;2CAAc;AAKb;IAAnC,WAAW,CAAS,aAAa,CAAC;;4CAAe;;MCdhD,eAAgB,SAAQ,cAAc;IACjD,YAAmB,aAA6B;QAC9C,KAAK,EAAE,CAAC;QADS,kBAAa,GAAb,aAAa,CAAgB;KAE/C;;;YAVF,SAAS,SAAC;gBACT,QAAQ,EAAE,GAAG,YAAY,EAAE;gBAC3B,iIAAqC;gBAErC,aAAa,EAAE,iBAAiB,CAAC,IAAI;gBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;;YARQ,cAAc;;;MCQV,YAAY;;;YALxB,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC;gBAC/C,OAAO,EAAE,CAAC,eAAe,CAAC;gBAC1B,OAAO,EAAE,CAAC,YAAY,CAAC;aACxB;;;ACTD;;;;;;"}
@@ -7,6 +7,7 @@ import { CommonModule } from '@angular/common';
7
7
  import { XIconModule } from '@ng-nest/ui/icon';
8
8
  import { XOutletModule } from '@ng-nest/ui/outlet';
9
9
  import { XButtonModule } from '@ng-nest/ui/button';
10
+ import { DragDropModule } from '@angular/cdk/drag-drop';
10
11
 
11
12
  /**
12
13
  * Alert
@@ -48,6 +49,8 @@ XAlertProperty.propDecorators = {
48
49
  disabledAnimation: [{ type: Input }],
49
50
  duration: [{ type: Input }],
50
51
  manual: [{ type: Input }],
52
+ draggable: [{ type: Input }],
53
+ dragBoundary: [{ type: Input }],
51
54
  close: [{ type: Output }]
52
55
  };
53
56
  __decorate([
@@ -81,7 +84,12 @@ __decorate([
81
84
  __decorate([
82
85
  XInputBoolean(),
83
86
  __metadata("design:type", Object)
84
- ], XAlertProperty.prototype, "manual", void 0);
87
+ ], XAlertProperty.prototype, "manual", void 0);
88
+ __decorate([
89
+ XWithConfig(X_CONFIG_NAME, false),
90
+ XInputBoolean(),
91
+ __metadata("design:type", Object)
92
+ ], XAlertProperty.prototype, "draggable", void 0);
85
93
 
86
94
  class XAlertComponent extends XAlertProperty {
87
95
  constructor(cdr, configService) {
@@ -102,7 +110,8 @@ class XAlertComponent extends XAlertProperty {
102
110
  this.classMap = {
103
111
  [`${XAlertPrefix}-${this.type}`]: !XIsEmpty(this.type),
104
112
  [`x-${this.effect}`]: !XIsEmpty(this.effect),
105
- [`${XAlertPrefix}-icon-medium`]: !XIsEmpty(this.title) && !XIsEmpty(this.content) && !XIsEmpty(this.showIcon)
113
+ [`${XAlertPrefix}-icon-medium`]: !XIsEmpty(this.title) && !XIsEmpty(this.content) && !XIsEmpty(this.showIcon),
114
+ [`${XAlertPrefix}-draggable`]: Boolean(this.draggable)
106
115
  };
107
116
  }
108
117
  setDuration() {
@@ -134,11 +143,11 @@ class XAlertComponent extends XAlertProperty {
134
143
  XAlertComponent.decorators = [
135
144
  { type: Component, args: [{
136
145
  selector: `${XAlertPrefix}`,
137
- template: "<div\r\n #alert\r\n class=\"x-alert\"\r\n [ngClass]=\"classMap\"\r\n *ngIf=\"!hide\"\r\n @x-fade-animation\r\n [@.disabled]=\"disabledAnimation\"\r\n (@x-fade-animation.done)=\"onCloseAnimationDone()\"\r\n>\r\n <ng-container *ngIf=\"showIcon\">\r\n <ng-container *ngTemplateOutlet=\"iconTpl\"></ng-container>\r\n </ng-container>\r\n <ng-template #iconTpl>\r\n <ng-container [ngSwitch]=\"type\">\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'success'\" type=\"adf-check-circle\"></x-icon>\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'info'\" type=\"adf-info-circle\"></x-icon>\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'warning'\" type=\"adf-exclamation-circle\"></x-icon>\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'error'\" type=\"adf-close-circle\"></x-icon>\r\n </ng-container>\r\n </ng-template>\r\n <div class=\"x-alert-inner\">\r\n <span class=\"x-alert-title\" [class.x-bold]=\"title && content\">\r\n <ng-container *xOutlet=\"title; context: { $iconTpl: iconTpl }\">{{ title }}</ng-container>\r\n </span>\r\n <div class=\"x-alert-content\" *ngIf=\"content\">\r\n <ng-container *xOutlet=\"content; context: { $iconTpl: iconTpl }\">{{ content }}</ng-container>\r\n </div>\r\n <x-button\r\n *ngIf=\"!hideClose\"\r\n class=\"x-alert-close\"\r\n size=\"small\"\r\n [icon]=\"!closeText ? 'fto-x' : ''\"\r\n [onlyIcon]=\"!closeText\"\r\n [type]=\"closeText ? 'text' : ''\"\r\n (click)=\"onClose()\"\r\n closable\r\n >{{ closeText }}</x-button\r\n >\r\n </div>\r\n</div>\r\n",
146
+ template: "<div\r\n #alert\r\n class=\"x-alert\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!draggable\"\r\n [cdkDragBoundary]=\"dragBoundary\"\r\n [ngClass]=\"classMap\"\r\n *ngIf=\"!hide\"\r\n @x-fade-animation\r\n [@.disabled]=\"disabledAnimation\"\r\n (@x-fade-animation.done)=\"onCloseAnimationDone()\"\r\n>\r\n <ng-container *ngIf=\"showIcon\">\r\n <ng-container *ngTemplateOutlet=\"iconTpl\"></ng-container>\r\n </ng-container>\r\n <ng-template #iconTpl>\r\n <ng-container [ngSwitch]=\"type\">\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'success'\" type=\"adf-check-circle\"></x-icon>\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'info'\" type=\"adf-info-circle\"></x-icon>\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'warning'\" type=\"adf-exclamation-circle\"></x-icon>\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'error'\" type=\"adf-close-circle\"></x-icon>\r\n </ng-container>\r\n </ng-template>\r\n <div class=\"x-alert-inner\">\r\n <span class=\"x-alert-title\" cdkDragHandle [class.x-bold]=\"title && content\">\r\n <ng-container *xOutlet=\"title; context: { $iconTpl: iconTpl }\">{{ title }}</ng-container>\r\n </span>\r\n <div class=\"x-alert-content\" *ngIf=\"content\">\r\n <ng-container *xOutlet=\"content; context: { $iconTpl: iconTpl }\">{{ content }}</ng-container>\r\n </div>\r\n <x-button\r\n *ngIf=\"!hideClose\"\r\n class=\"x-alert-close\"\r\n size=\"small\"\r\n [icon]=\"!closeText ? 'fto-x' : ''\"\r\n [onlyIcon]=\"!closeText\"\r\n [type]=\"closeText ? 'text' : 'initial'\"\r\n (click)=\"onClose()\"\r\n closable\r\n >{{ closeText }}</x-button\r\n >\r\n </div>\r\n</div>\r\n",
138
147
  encapsulation: ViewEncapsulation.None,
139
148
  changeDetection: ChangeDetectionStrategy.OnPush,
140
149
  animations: [XFadeAnimation],
141
- styles: ["x-alert{display:block}.x-alert{margin:0;background-color:var(--x-background);border:.0625rem solid var(--x-border-300);border-radius:var(--x-border-radius);padding:.5rem 1rem;position:relative;display:flex;align-items:center}.x-alert-close{position:absolute;top:.425rem;right:.25rem}.x-alert-inner{width:100%}.x-alert-title.x-bold{font-weight:600}.x-alert-content{font-size:calc(var(--x-font-size) - .0625rem);line-height:1.325rem;margin:.25rem 0 0}.x-alert-icon.x-icon{font-size:calc(var(--x-font-size) + .25rem);margin-right:.5rem}.x-alert-icon-medium>.x-icon{font-size:1.75rem}.x-alert-success.x-light{color:var(--x-success);background-color:var(--x-success-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-success.x-light x-button.x-alert-close .x-button{color:var(--x-success-400)}.x-alert-success.x-light x-button.x-alert-close .x-button:hover{color:var(--x-success)}.x-alert-success.x-dark{background-color:var(--x-success);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-success.x-dark,.x-alert-success.x-dark x-button.x-alert-close .x-button{color:var(--x-success-900)}.x-alert-success.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-success.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-success.x-white .x-alert-icon.x-icon{color:var(--x-success)}.x-alert-success.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-success.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}.x-alert-info.x-light{color:var(--x-info);background-color:var(--x-info-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-info.x-light x-button.x-alert-close .x-button{color:var(--x-info-400)}.x-alert-info.x-light x-button.x-alert-close .x-button:hover{color:var(--x-info)}.x-alert-info.x-dark{background-color:var(--x-info);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-info.x-dark,.x-alert-info.x-dark x-button.x-alert-close .x-button{color:var(--x-info-900)}.x-alert-info.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-info.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-info.x-white .x-alert-icon.x-icon{color:var(--x-info)}.x-alert-info.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-info.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}.x-alert-warning.x-light{color:var(--x-warning);background-color:var(--x-warning-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-warning.x-light x-button.x-alert-close .x-button{color:var(--x-warning-400)}.x-alert-warning.x-light x-button.x-alert-close .x-button:hover{color:var(--x-warning)}.x-alert-warning.x-dark{background-color:var(--x-warning);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-warning.x-dark,.x-alert-warning.x-dark x-button.x-alert-close .x-button{color:var(--x-warning-900)}.x-alert-warning.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-warning.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-warning.x-white .x-alert-icon.x-icon{color:var(--x-warning)}.x-alert-warning.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-warning.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}.x-alert-error.x-light{color:var(--x-danger);background-color:var(--x-danger-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-error.x-light x-button.x-alert-close .x-button{color:var(--x-danger-400)}.x-alert-error.x-light x-button.x-alert-close .x-button:hover{color:var(--x-danger)}.x-alert-error.x-dark{background-color:var(--x-danger);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-error.x-dark,.x-alert-error.x-dark x-button.x-alert-close .x-button{color:var(--x-danger-900)}.x-alert-error.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-error.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-error.x-white .x-alert-icon.x-icon{color:var(--x-danger)}.x-alert-error.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-error.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}"]
150
+ styles: ["x-alert{display:block}.x-alert{margin:0;background-color:var(--x-background);border:.0625rem solid var(--x-border-300);border-radius:var(--x-border-radius);padding:.5rem 1rem;position:relative;display:flex;align-items:center}.x-alert-close{position:absolute;top:.425rem;right:.25rem}.x-alert-inner{width:100%}.x-alert-title.x-bold{font-weight:600}.x-alert-content{font-size:calc(var(--x-font-size) - .0625rem);line-height:1.325rem;margin:.25rem 0 0}.x-alert-icon.x-icon{font-size:calc(var(--x-font-size) + .25rem);margin-right:.5rem}.x-alert-icon-medium>.x-icon{font-size:1.75rem}.x-alert-draggable .cdk-drag-handle{cursor:move}.x-alert-success.x-light{color:var(--x-success);background-color:var(--x-success-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-success.x-light x-button.x-alert-close .x-button{color:var(--x-success-400)}.x-alert-success.x-light x-button.x-alert-close .x-button:hover{color:var(--x-success)}.x-alert-success.x-dark{background-color:var(--x-success);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-success.x-dark,.x-alert-success.x-dark x-button.x-alert-close .x-button{color:var(--x-success-900)}.x-alert-success.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-success.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-success.x-white .x-alert-icon.x-icon{color:var(--x-success)}.x-alert-success.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-success.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}.x-alert-info.x-light{color:var(--x-info);background-color:var(--x-info-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-info.x-light x-button.x-alert-close .x-button{color:var(--x-info-400)}.x-alert-info.x-light x-button.x-alert-close .x-button:hover{color:var(--x-info)}.x-alert-info.x-dark{background-color:var(--x-info);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-info.x-dark,.x-alert-info.x-dark x-button.x-alert-close .x-button{color:var(--x-info-900)}.x-alert-info.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-info.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-info.x-white .x-alert-icon.x-icon{color:var(--x-info)}.x-alert-info.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-info.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}.x-alert-warning.x-light{color:var(--x-warning);background-color:var(--x-warning-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-warning.x-light x-button.x-alert-close .x-button{color:var(--x-warning-400)}.x-alert-warning.x-light x-button.x-alert-close .x-button:hover{color:var(--x-warning)}.x-alert-warning.x-dark{background-color:var(--x-warning);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-warning.x-dark,.x-alert-warning.x-dark x-button.x-alert-close .x-button{color:var(--x-warning-900)}.x-alert-warning.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-warning.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-warning.x-white .x-alert-icon.x-icon{color:var(--x-warning)}.x-alert-warning.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-warning.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}.x-alert-error.x-light{color:var(--x-danger);background-color:var(--x-danger-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-error.x-light x-button.x-alert-close .x-button{color:var(--x-danger-400)}.x-alert-error.x-light x-button.x-alert-close .x-button:hover{color:var(--x-danger)}.x-alert-error.x-dark{background-color:var(--x-danger);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-error.x-dark,.x-alert-error.x-dark x-button.x-alert-close .x-button{color:var(--x-danger-900)}.x-alert-error.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-error.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-error.x-white .x-alert-icon.x-icon{color:var(--x-danger)}.x-alert-error.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-error.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}"]
142
151
  },] }
143
152
  ];
144
153
  /** @nocollapse */
@@ -153,7 +162,7 @@ XAlertModule.decorators = [
153
162
  { type: NgModule, args: [{
154
163
  declarations: [XAlertComponent, XAlertProperty],
155
164
  exports: [XAlertComponent],
156
- imports: [CommonModule, XIconModule, XButtonModule, XOutletModule]
165
+ imports: [CommonModule, DragDropModule, XIconModule, XButtonModule, XOutletModule]
157
166
  },] }
158
167
  ];
159
168
 
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-alert.js","sources":["../../../../lib/ng-nest/ui/alert/alert.property.ts","../../../../lib/ng-nest/ui/alert/alert.component.ts","../../../../lib/ng-nest/ui/alert/alert.module.ts","../../../../lib/ng-nest/ui/alert/ng-nest-ui-alert.ts"],"sourcesContent":["import { XStatus, XTemplate, XEffect, XProperty, XInputBoolean, XInputNumber, XBoolean, XNumber, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, EventEmitter, Output, Component } from '@angular/core';\r\n\r\n/**\r\n * Alert\r\n * @selector x-alert\r\n * @decorator component\r\n */\r\nexport const XAlertPrefix = 'x-alert';\r\nconst X_CONFIG_NAME = 'alert';\r\n\r\n/**\r\n * Alert Property\r\n */\r\n@Component({ template: '' })\r\nexport class XAlertProperty extends XProperty {\r\n /**\r\n * @zh_CN 隐藏\r\n * @en_US Hide\r\n */\r\n @Input() @XInputBoolean() hide: XBoolean;\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 Content\r\n */\r\n @Input() content: XTemplate;\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Alert type\r\n */\r\n @Input() type: XAlertType = 'info';\r\n /**\r\n * @zh_CN 主题\r\n * @en_US Theme\r\n */\r\n @Input() @XWithConfig<XEffect>(X_CONFIG_NAME, 'light') effect: XEffect;\r\n /**\r\n * @zh_CN 隐藏关闭按钮\r\n * @en_US Hide close button\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME) @XInputBoolean() hideClose: XBoolean;\r\n /**\r\n * @zh_CN 使用文本关闭按钮\r\n * @en_US Use the text to close button\r\n */\r\n @Input() closeText: string;\r\n /**\r\n * @zh_CN 显示图标\r\n * @en_US Show icon\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME) @XInputBoolean() showIcon: XBoolean;\r\n /**\r\n * @zh_CN 禁用动画\r\n * @en_US Disable animation\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME) @XInputBoolean() disabledAnimation: XBoolean;\r\n /**\r\n * @zh_CN 延迟关闭,默认 0 表示不关闭\r\n * @en_US Delay close, the default value of 0 means do not close\r\n */\r\n @Input() @XWithConfig<XNumber>(X_CONFIG_NAME, 0) @XInputNumber() duration: XNumber;\r\n /**\r\n * @zh_CN 手动处理关闭事件\r\n * @en_US Manually handle close events\r\n */\r\n @Input() @XInputBoolean() manual: XBoolean;\r\n /**\r\n * @zh_CN 关闭的事件\r\n * @en_US Closed events\r\n */\r\n @Output() close = new EventEmitter();\r\n}\r\n\r\n/**\r\n * Alert Option\r\n * @undocument true\r\n */\r\nexport interface XAlertOption {\r\n /**\r\n * 隐藏\r\n */\r\n hide?: boolean;\r\n /**\r\n * 标题\r\n */\r\n title?: XTemplate;\r\n /**\r\n * 内容\r\n */\r\n content?: XTemplate;\r\n /**\r\n * 类型\r\n */\r\n type?: XAlertType;\r\n /**\r\n * 主题\r\n */\r\n effect?: XEffect;\r\n /**\r\n * 隐藏关闭按钮\r\n */\r\n hideClose?: boolean;\r\n /**\r\n * 关闭按钮文字替换\r\n */\r\n closeText?: string;\r\n /**\r\n * 显示图标\r\n */\r\n showIcon?: boolean;\r\n /**\r\n * 禁用动画\r\n */\r\n disabledAnimation?: boolean;\r\n /**\r\n * 延迟关闭,默认 0 表示不关闭\r\n */\r\n duration?: number;\r\n /**\r\n * 手动处理关闭事件\r\n */\r\n manual?: boolean;\r\n}\r\n\r\n/**\r\n * @zh_CN 类型\r\n * @en_US Type\r\n * @value \"success\"\r\n * @value \"info\"\r\n * @value \"warning\"\r\n * @value \"error\"\r\n */\r\nexport type XAlertType = XStatus;\r\n","import { Component, OnInit, ViewEncapsulation, ChangeDetectorRef, ChangeDetectionStrategy, OnDestroy } from '@angular/core';\r\nimport { XAlertPrefix, XAlertProperty } from './alert.property';\r\nimport { XFadeAnimation, XIsEmpty, XConfigService } from '@ng-nest/ui/core';\r\nimport { of, Subject } from 'rxjs';\r\nimport { delay, takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: `${XAlertPrefix}`,\r\n templateUrl: './alert.component.html',\r\n styleUrls: ['./alert.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XFadeAnimation]\r\n})\r\nexport class XAlertComponent extends XAlertProperty implements OnInit, OnDestroy {\r\n private _unSubject = new Subject();\r\n\r\n constructor(public cdr: ChangeDetectorRef, public configService: XConfigService) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n this.setDuration();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n setClassMap() {\r\n this.classMap = {\r\n [`${XAlertPrefix}-${this.type}`]: !XIsEmpty(this.type),\r\n [`x-${this.effect}`]: !XIsEmpty(this.effect),\r\n [`${XAlertPrefix}-icon-medium`]: !XIsEmpty(this.title) && !XIsEmpty(this.content) && !XIsEmpty(this.showIcon)\r\n };\r\n }\r\n\r\n setDuration() {\r\n if (this.duration) {\r\n of(true)\r\n .pipe(delay(Number(this.duration)), takeUntil(this._unSubject))\r\n .subscribe(() => {\r\n this.onClose();\r\n });\r\n }\r\n }\r\n\r\n onClose() {\r\n if (this.manual) {\r\n this.close?.emit();\r\n } else {\r\n this.hide = true;\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n onCloseAnimationDone() {\r\n if (this.hide) {\r\n this.close?.emit();\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XAlertComponent } from './alert.component';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XAlertProperty } from './alert.property';\r\n\r\n@NgModule({\r\n declarations: [XAlertComponent, XAlertProperty],\r\n exports: [XAlertComponent],\r\n imports: [CommonModule, XIconModule, XButtonModule, XOutletModule]\r\n})\r\nexport class XAlertModule {}\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-alert.js","sources":["../../../../lib/ng-nest/ui/alert/alert.property.ts","../../../../lib/ng-nest/ui/alert/alert.component.ts","../../../../lib/ng-nest/ui/alert/alert.module.ts","../../../../lib/ng-nest/ui/alert/ng-nest-ui-alert.ts"],"sourcesContent":["import { XStatus, XTemplate, XEffect, XProperty, XInputBoolean, XInputNumber, XBoolean, XNumber, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, EventEmitter, Output, Component, ElementRef } from '@angular/core';\r\n\r\n/**\r\n * Alert\r\n * @selector x-alert\r\n * @decorator component\r\n */\r\nexport const XAlertPrefix = 'x-alert';\r\nconst X_CONFIG_NAME = 'alert';\r\n\r\n/**\r\n * Alert Property\r\n */\r\n@Component({ template: '' })\r\nexport class XAlertProperty extends XProperty {\r\n /**\r\n * @zh_CN 隐藏\r\n * @en_US Hide\r\n */\r\n @Input() @XInputBoolean() hide?: XBoolean;\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 Content\r\n */\r\n @Input() content?: XTemplate;\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Alert type\r\n */\r\n @Input() type?: XAlertType = 'info';\r\n /**\r\n * @zh_CN 主题\r\n * @en_US Theme\r\n */\r\n @Input() @XWithConfig<XEffect>(X_CONFIG_NAME, 'light') effect?: XEffect;\r\n /**\r\n * @zh_CN 隐藏关闭按钮\r\n * @en_US Hide close button\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME) @XInputBoolean() hideClose?: XBoolean;\r\n /**\r\n * @zh_CN 使用文本关闭按钮\r\n * @en_US Use the text to close button\r\n */\r\n @Input() closeText?: string;\r\n /**\r\n * @zh_CN 显示图标\r\n * @en_US Show icon\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME) @XInputBoolean() showIcon?: XBoolean;\r\n /**\r\n * @zh_CN 禁用动画\r\n * @en_US Disable animation\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME) @XInputBoolean() disabledAnimation?: XBoolean;\r\n /**\r\n * @zh_CN 延迟关闭,默认 0 表示不关闭\r\n * @en_US Delay close, the default value of 0 means do not close\r\n */\r\n @Input() @XWithConfig<XNumber>(X_CONFIG_NAME, 0) @XInputNumber() duration?: XNumber;\r\n /**\r\n * @zh_CN 手动处理关闭事件\r\n * @en_US Manually handle close events\r\n */\r\n @Input() @XInputBoolean() manual?: 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 Drag dialog\r\n */\r\n @Input() dragBoundary!: string | ElementRef<HTMLElement> | HTMLElement;\r\n /**\r\n * @zh_CN 关闭的事件\r\n * @en_US Closed events\r\n */\r\n @Output() close = new EventEmitter();\r\n}\r\n\r\n/**\r\n * Alert Option\r\n * @undocument true\r\n */\r\nexport interface XAlertOption {\r\n /**\r\n * 隐藏\r\n */\r\n hide?: boolean;\r\n /**\r\n * 标题\r\n */\r\n title?: XTemplate;\r\n /**\r\n * 内容\r\n */\r\n content?: XTemplate;\r\n /**\r\n * 类型\r\n */\r\n type?: XAlertType;\r\n /**\r\n * 主题\r\n */\r\n effect?: XEffect;\r\n /**\r\n * 隐藏关闭按钮\r\n */\r\n hideClose?: boolean;\r\n /**\r\n * 关闭按钮文字替换\r\n */\r\n closeText?: string;\r\n /**\r\n * 显示图标\r\n */\r\n showIcon?: boolean;\r\n /**\r\n * 禁用动画\r\n */\r\n disabledAnimation?: boolean;\r\n /**\r\n * 延迟关闭,默认 0 表示不关闭\r\n */\r\n duration?: number;\r\n /**\r\n * 手动处理关闭事件\r\n */\r\n manual?: boolean;\r\n}\r\n\r\n/**\r\n * @zh_CN 类型\r\n * @en_US Type\r\n * @value \"success\"\r\n * @value \"info\"\r\n * @value \"warning\"\r\n * @value \"error\"\r\n */\r\nexport type XAlertType = XStatus;\r\n","import { Component, OnInit, ViewEncapsulation, ChangeDetectorRef, ChangeDetectionStrategy, OnDestroy } from '@angular/core';\r\nimport { XAlertPrefix, XAlertProperty } from './alert.property';\r\nimport { XFadeAnimation, XIsEmpty, XConfigService } from '@ng-nest/ui/core';\r\nimport { of, Subject } from 'rxjs';\r\nimport { delay, takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: `${XAlertPrefix}`,\r\n templateUrl: './alert.component.html',\r\n styleUrls: ['./alert.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XFadeAnimation]\r\n})\r\nexport class XAlertComponent extends XAlertProperty implements OnInit, OnDestroy {\r\n private _unSubject = new Subject();\r\n\r\n constructor(public cdr: ChangeDetectorRef, public configService: XConfigService) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n this.setDuration();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n setClassMap() {\r\n this.classMap = {\r\n [`${XAlertPrefix}-${this.type}`]: !XIsEmpty(this.type),\r\n [`x-${this.effect}`]: !XIsEmpty(this.effect),\r\n [`${XAlertPrefix}-icon-medium`]: !XIsEmpty(this.title) && !XIsEmpty(this.content) && !XIsEmpty(this.showIcon),\r\n [`${XAlertPrefix}-draggable`]: Boolean(this.draggable)\r\n };\r\n }\r\n\r\n setDuration() {\r\n if (this.duration) {\r\n of(true)\r\n .pipe(delay(Number(this.duration)), takeUntil(this._unSubject))\r\n .subscribe(() => {\r\n this.onClose();\r\n });\r\n }\r\n }\r\n\r\n onClose() {\r\n if (this.manual) {\r\n this.close?.emit();\r\n } else {\r\n this.hide = true;\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n onCloseAnimationDone() {\r\n if (this.hide) {\r\n this.close?.emit();\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XAlertComponent } from './alert.component';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XAlertProperty } from './alert.property';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\n\r\n@NgModule({\r\n declarations: [XAlertComponent, XAlertProperty],\r\n exports: [XAlertComponent],\r\n imports: [CommonModule, DragDropModule, XIconModule, XButtonModule, XOutletModule]\r\n})\r\nexport class XAlertModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-anchor.js","sources":["../../../../lib/ng-nest/ui/anchor/anchor.property.ts","../../../../lib/ng-nest/ui/anchor/anchor.component.ts","../../../../lib/ng-nest/ui/anchor/anchor.module.ts","../../../../lib/ng-nest/ui/anchor/ng-nest-ui-anchor.ts"],"sourcesContent":["import { XIdentityProperty, XProperty, XJustify, XWithConfig, XPosition, XPositionLeftRight } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Anchor\r\n * @selector x-anchor\r\n * @decorator component\r\n */\r\nexport const XAnchorPrefix = 'x-anchor';\r\nconst X_CONFIG_NAME = 'anchor';\r\n\r\n/**\r\n * Anchor Property\r\n */\r\n@Component({ template: '' })\r\nexport class XAnchorProperty extends XProperty {\r\n /**\r\n * @zh_CN 滚动区域对象\r\n * @en_US Scroll area object\r\n */\r\n @Input() scroll: HTMLElement;\r\n /**\r\n * @zh_CN 顶部距离\r\n * @en_US Top distance\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '0') affixTop: string;\r\n /**\r\n * @zh_CN 导航相对内容位置\r\n * @en_US Navigation relative content position\r\n */\r\n @Input() @XWithConfig<XAnchorLayout>(X_CONFIG_NAME, 'right') layout: XAnchorLayout;\r\n /**\r\n * @zh_CN 对齐方式\r\n * @en_US Alignment\r\n */\r\n @Input() @XWithConfig<XJustify>(X_CONFIG_NAME, 'start') justify: XJustify;\r\n}\r\n\r\n/**\r\n * Anchor Node\r\n */\r\nexport interface XAnchorNode extends XIdentityProperty {\r\n /**\r\n * @zh_CN 左内边距,用来显示层级\r\n * @en_US Left inner margin, used to display hierarchy\r\n */\r\n left?: number;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n icon?: string;\r\n /**\r\n * @zh_CN 锚点的链接\r\n * @en_US Anchor link\r\n */\r\n link?: string;\r\n}\r\n\r\n/**\r\n * @zh_CN 布局方式,相对内容的位置\r\n * @en_US Layout method, relative content position\r\n */\r\nexport type XAnchorLayout = XPositionLeftRight;\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 AfterViewInit,\r\n Inject,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport { XAnchorPrefix, XAnchorNode, XAnchorProperty } from './anchor.property';\r\nimport { computedStyle, XIsEmpty, reqAnimFrame, XIsNumber, XIsUndefined, XConfigService } from '@ng-nest/ui/core';\r\nimport { XSliderNode } from '@ng-nest/ui/slider';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { throttleTime, takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: `${XAnchorPrefix}`,\r\n templateUrl: './anchor.component.html',\r\n styleUrls: ['./anchor.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XAnchorComponent extends XAnchorProperty implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild('anchor', { static: true }) anchor: ElementRef;\r\n @ViewChild('content', { static: true }) content: ElementRef;\r\n hElements: HTMLElement[] = [];\r\n sliderData: XSliderNode[] = [];\r\n activatedIndex: number = 0;\r\n sliderHeight?: number;\r\n document: Document;\r\n private _scrolling = false;\r\n private _fontSize: number;\r\n private _unSubject = new Subject();\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n @Inject(DOCUMENT) doc: any,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n this.document = doc;\r\n this._fontSize = parseFloat(computedStyle(this.document.documentElement, 'font-size'));\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n this.setSliderData();\r\n this.setHeight();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setScroll();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n activatedChange(index: number) {\r\n if (XIsEmpty(this.hElements) || XIsUndefined(this.scroll)) return;\r\n\r\n this._scrolling = true;\r\n const hElement = this.hElements[index];\r\n let scrollTop = hElement.offsetTop - this.anchor.nativeElement.offsetTop - parseFloat(computedStyle(hElement, 'margin-top'));\r\n let maxScrollTop = this.scroll.scrollHeight - this.scroll.clientHeight;\r\n if (scrollTop > maxScrollTop) scrollTop = maxScrollTop;\r\n this.scrollTo(this.scroll, parseInt(`${scrollTop}`), 150);\r\n }\r\n\r\n private setClassMap() {\r\n this.classMap[`${XAnchorPrefix}-${this.layout}`] = !XIsEmpty(this.layout);\r\n }\r\n\r\n private setScroll() {\r\n fromEvent(this.scroll ? this.scroll : window, 'scroll')\r\n .pipe(throttleTime(10), takeUntil(this._unSubject))\r\n .subscribe((x) => {\r\n if (this._scrolling) return;\r\n this.setActivatedByScroll();\r\n });\r\n if (!this.scroll) {\r\n this.scroll = this.document.documentElement;\r\n }\r\n }\r\n\r\n private setActivatedByScroll() {\r\n let now = 0;\r\n this.hElements.forEach((h, index) => {\r\n let distance = this.scroll.scrollTop + this.anchor.nativeElement.offsetTop;\r\n if (distance >= h.offsetTop) {\r\n now = index;\r\n return;\r\n }\r\n });\r\n this.activatedIndex = now;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private setSliderData() {\r\n this.hElements = this.content.nativeElement.querySelectorAll(':scope> h1,:scope> h2,:scope> h3,:scope> h4,:scope> h5');\r\n if (this.hElements.length > 0) {\r\n let list: XAnchorNode[] = [];\r\n this.hElements.forEach((x: HTMLElement, i: number) => {\r\n const link = `x-anchor-${i}`;\r\n const left = this.setLeft(x);\r\n this.renderer.setAttribute(x, 'id', link);\r\n list = [\r\n ...list,\r\n {\r\n id: i,\r\n label: x.innerText,\r\n left: left,\r\n link: link\r\n }\r\n ];\r\n });\r\n this.sliderData = list;\r\n }\r\n }\r\n\r\n private setLeft(element: HTMLElement): number {\r\n const eles = ['H1', 'H2', 'H3', 'H4', 'H5'];\r\n const index = eles.indexOf(element.tagName);\r\n return index + 1;\r\n }\r\n\r\n private setHeight() {\r\n if (this.scroll) {\r\n let height = this.scroll.offsetHeight;\r\n let top = parseFloat(computedStyle(this.scroll, 'padding-top'));\r\n let borderTop = parseFloat(computedStyle(this.scroll, 'border-top'));\r\n let bottom = parseFloat(computedStyle(this.scroll, 'padding-bottom'));\r\n let borderBottom = parseFloat(computedStyle(this.scroll, 'border-bottom'));\r\n this.sliderHeight = height - top - bottom - borderTop - borderBottom - this.getTop();\r\n }\r\n }\r\n\r\n private getTop() {\r\n if (this.affixTop === '0') return 0;\r\n if (XIsNumber(this.affixTop)) return Number(this.affixTop);\r\n else if (this.affixTop.indexOf('rem') !== -1) return Number(this.affixTop.replace(/rem/g, '')) * this._fontSize;\r\n else if (this.affixTop.indexOf('px') !== -1) return Number(this.affixTop.replace(/px/g, ''));\r\n return 0;\r\n }\r\n\r\n private scrollTo(element: HTMLElement, to: number, duration: number) {\r\n const difference = to - element.scrollTop;\r\n const perTick = (difference / duration) * 10;\r\n reqAnimFrame(() => {\r\n element.scrollTop = element.scrollTop + perTick;\r\n if (element.scrollTop === to || duration <= 0) {\r\n setTimeout(() => (this._scrolling = false), 20);\r\n return;\r\n } else {\r\n this.scrollTo(element, to, duration - 10);\r\n }\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XAnchorComponent } from './anchor.component';\r\nimport { XAffixModule } from '@ng-nest/ui/affix';\r\nimport { XSliderModule } from '@ng-nest/ui/slider';\r\nimport { XAnchorProperty } from './anchor.property';\r\n\r\n@NgModule({\r\n declarations: [XAnchorComponent, XAnchorProperty],\r\n exports: [XAnchorComponent],\r\n imports: [CommonModule, XAffixModule, XSliderModule]\r\n})\r\nexport class XAnchorModule {}\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-anchor.js","sources":["../../../../lib/ng-nest/ui/anchor/anchor.property.ts","../../../../lib/ng-nest/ui/anchor/anchor.component.ts","../../../../lib/ng-nest/ui/anchor/anchor.module.ts","../../../../lib/ng-nest/ui/anchor/ng-nest-ui-anchor.ts"],"sourcesContent":["import { XIdentityProperty, XProperty, XJustify, XWithConfig, XPosition, XPositionLeftRight } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Anchor\r\n * @selector x-anchor\r\n * @decorator component\r\n */\r\nexport const XAnchorPrefix = 'x-anchor';\r\nconst X_CONFIG_NAME = 'anchor';\r\n\r\n/**\r\n * Anchor Property\r\n */\r\n@Component({ template: '' })\r\nexport class XAnchorProperty extends XProperty {\r\n /**\r\n * @zh_CN 滚动区域对象\r\n * @en_US Scroll area object\r\n */\r\n @Input() scroll!: HTMLElement;\r\n /**\r\n * @zh_CN 顶部距离\r\n * @en_US Top distance\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '0') affixTop!: string;\r\n /**\r\n * @zh_CN 导航相对内容位置\r\n * @en_US Navigation relative content position\r\n */\r\n @Input() @XWithConfig<XAnchorLayout>(X_CONFIG_NAME, 'right') layout!: XAnchorLayout;\r\n /**\r\n * @zh_CN 对齐方式\r\n * @en_US Alignment\r\n */\r\n @Input() @XWithConfig<XJustify>(X_CONFIG_NAME, 'start') justify!: XJustify;\r\n}\r\n\r\n/**\r\n * Anchor Node\r\n */\r\nexport interface XAnchorNode extends XIdentityProperty {\r\n /**\r\n * @zh_CN 左内边距,用来显示层级\r\n * @en_US Left inner margin, used to display hierarchy\r\n */\r\n left?: number;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n icon?: string;\r\n /**\r\n * @zh_CN 锚点的链接\r\n * @en_US Anchor link\r\n */\r\n link?: string;\r\n}\r\n\r\n/**\r\n * @zh_CN 布局方式,相对内容的位置\r\n * @en_US Layout method, relative content position\r\n */\r\nexport type XAnchorLayout = XPositionLeftRight;\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 AfterViewInit,\r\n Inject,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport { XAnchorPrefix, XAnchorNode, XAnchorProperty } from './anchor.property';\r\nimport { computedStyle, XIsEmpty, reqAnimFrame, XIsNumber, XIsUndefined, XConfigService } from '@ng-nest/ui/core';\r\nimport { XSliderNode } from '@ng-nest/ui/slider';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { throttleTime, takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: `${XAnchorPrefix}`,\r\n templateUrl: './anchor.component.html',\r\n styleUrls: ['./anchor.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XAnchorComponent extends XAnchorProperty implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild('anchor', { static: true }) anchor!: ElementRef;\r\n @ViewChild('content', { static: true }) content!: ElementRef;\r\n hElements: HTMLElement[] = [];\r\n sliderData: XSliderNode[] = [];\r\n activatedIndex: number = 0;\r\n sliderHeight?: number;\r\n document: Document;\r\n private _scrolling = false;\r\n private _fontSize: number;\r\n private _unSubject = new Subject();\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n @Inject(DOCUMENT) doc: any,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n this.document = doc;\r\n this._fontSize = parseFloat(computedStyle(this.document.documentElement, 'font-size'));\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n this.setSliderData();\r\n this.setHeight();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setScroll();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n activatedChange(index: number) {\r\n if (XIsEmpty(this.hElements) || XIsUndefined(this.scroll)) return;\r\n\r\n this._scrolling = true;\r\n const hElement = this.hElements[index];\r\n let scrollTop = hElement.offsetTop - this.anchor.nativeElement.offsetTop - parseFloat(computedStyle(hElement, 'margin-top'));\r\n let maxScrollTop = this.scroll.scrollHeight - this.scroll.clientHeight;\r\n if (scrollTop > maxScrollTop) scrollTop = maxScrollTop;\r\n this.scrollTo(this.scroll, parseInt(`${scrollTop}`), 150);\r\n }\r\n\r\n private setClassMap() {\r\n this.classMap[`${XAnchorPrefix}-${this.layout}`] = !XIsEmpty(this.layout);\r\n }\r\n\r\n private setScroll() {\r\n fromEvent(this.scroll ? this.scroll : window, 'scroll')\r\n .pipe(throttleTime(10), takeUntil(this._unSubject))\r\n .subscribe((x) => {\r\n if (this._scrolling) return;\r\n this.setActivatedByScroll();\r\n });\r\n if (!this.scroll) {\r\n this.scroll = this.document.documentElement;\r\n }\r\n }\r\n\r\n private setActivatedByScroll() {\r\n let now = 0;\r\n this.hElements.forEach((h, index) => {\r\n let distance = this.scroll.scrollTop + this.anchor.nativeElement.offsetTop;\r\n if (distance >= h.offsetTop) {\r\n now = index;\r\n return;\r\n }\r\n });\r\n this.activatedIndex = now;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private setSliderData() {\r\n this.hElements = this.content.nativeElement.querySelectorAll(':scope> h1,:scope> h2,:scope> h3,:scope> h4,:scope> h5');\r\n if (this.hElements.length > 0) {\r\n let list: XAnchorNode[] = [];\r\n this.hElements.forEach((x: HTMLElement, i: number) => {\r\n const link = `x-anchor-${i}`;\r\n const left = this.setLeft(x);\r\n this.renderer.setAttribute(x, 'id', link);\r\n list = [\r\n ...list,\r\n {\r\n id: i,\r\n label: x.innerText,\r\n left: left,\r\n link: link\r\n }\r\n ];\r\n });\r\n this.sliderData = list;\r\n }\r\n }\r\n\r\n private setLeft(element: HTMLElement): number {\r\n const eles = ['H1', 'H2', 'H3', 'H4', 'H5'];\r\n const index = eles.indexOf(element.tagName);\r\n return index + 1;\r\n }\r\n\r\n private setHeight() {\r\n if (this.scroll) {\r\n let height = this.scroll.offsetHeight;\r\n let top = parseFloat(computedStyle(this.scroll, 'padding-top'));\r\n let borderTop = parseFloat(computedStyle(this.scroll, 'border-top'));\r\n let bottom = parseFloat(computedStyle(this.scroll, 'padding-bottom'));\r\n let borderBottom = parseFloat(computedStyle(this.scroll, 'border-bottom'));\r\n this.sliderHeight = height - top - bottom - borderTop - borderBottom - this.getTop();\r\n }\r\n }\r\n\r\n private getTop() {\r\n if (this.affixTop === '0') return 0;\r\n if (XIsNumber(this.affixTop)) return Number(this.affixTop);\r\n else if (this.affixTop.indexOf('rem') !== -1) return Number(this.affixTop.replace(/rem/g, '')) * this._fontSize;\r\n else if (this.affixTop.indexOf('px') !== -1) return Number(this.affixTop.replace(/px/g, ''));\r\n return 0;\r\n }\r\n\r\n private scrollTo(element: HTMLElement, to: number, duration: number) {\r\n const difference = to - element.scrollTop;\r\n const perTick = (difference / duration) * 10;\r\n reqAnimFrame(() => {\r\n element.scrollTop = element.scrollTop + perTick;\r\n if (element.scrollTop === to || duration <= 0) {\r\n setTimeout(() => (this._scrolling = false), 20);\r\n return;\r\n } else {\r\n this.scrollTo(element, to, duration - 10);\r\n }\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XAnchorComponent } from './anchor.component';\r\nimport { XAffixModule } from '@ng-nest/ui/affix';\r\nimport { XSliderModule } from '@ng-nest/ui/slider';\r\nimport { XAnchorProperty } from './anchor.property';\r\n\r\n@NgModule({\r\n declarations: [XAnchorComponent, XAnchorProperty],\r\n exports: [XAnchorComponent],\r\n imports: [CommonModule, XAffixModule, XSliderModule]\r\n})\r\nexport class XAnchorModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -260,7 +260,7 @@ class XAutoCompleteComponent extends XAutoCompleteProperty {
260
260
  var _a;
261
261
  this.nodes.filter((x) => x.selected).map((x) => (x.selected = false));
262
262
  if (!XIsEmpty(this.value)) {
263
- this.searchNodes = this.nodes.filter((x) => x.id.indexOf(this.value) >= 0);
263
+ this.searchNodes = this.nodes.filter((x) => x.label.indexOf(this.value) >= 0);
264
264
  }
265
265
  this.box = this.inputCom.inputElement.nativeElement.getBoundingClientRect();
266
266
  const config = {
@@ -310,10 +310,11 @@ class XAutoCompleteComponent extends XAutoCompleteProperty {
310
310
  onNodeClick(node) {
311
311
  node = node;
312
312
  this.closeSubject.next();
313
- if (this.value === node.id) {
313
+ if (this.value === node.label) {
314
+ this.nodeClick.emit(node);
314
315
  return;
315
316
  }
316
- this.value = node.id;
317
+ this.value = node.label;
317
318
  if (this.onChange)
318
319
  this.onChange(this.value);
319
320
  this.nodeClick.emit(node);
@@ -365,7 +366,7 @@ class XAutoCompleteComponent extends XAutoCompleteProperty {
365
366
  this.closeSubject.next();
366
367
  }
367
368
  else {
368
- this.searchNodes = this.nodes.filter((x) => x.id.indexOf(this.value) >= 0);
369
+ this.searchNodes = this.nodes.filter((x) => x.label.indexOf(this.value) >= 0);
369
370
  this.dataChange.next(this.searchNodes);
370
371
  }
371
372
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-auto-complete.js","sources":["../../../../lib/ng-nest/ui/auto-complete/auto-complete.property.ts","../../../../lib/ng-nest/ui/auto-complete/auto-complete-portal.component.ts","../../../../lib/ng-nest/ui/auto-complete/auto-complete.component.ts","../../../../lib/ng-nest/ui/auto-complete/auto-complete.module.ts","../../../../lib/ng-nest/ui/auto-complete/ng-nest-ui-auto-complete.ts"],"sourcesContent":["import { XParentIdentityProperty, XDataConvert, XData, XWithConfig, XPositionTopBottom } from '@ng-nest/ui/core';\r\nimport { Input, Component, TemplateRef, EventEmitter, Output } from '@angular/core';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * AutoComplete\r\n * @selector x-auto-complete\r\n * @decorator component\r\n */\r\nexport const XAutoCompletePrefix = 'x-auto-complete';\r\nconst X_CONFIG_NAME = 'autoComplete';\r\n\r\n/**\r\n * AutoComplete Property\r\n */\r\n@Component({ template: '' })\r\nexport class XAutoCompleteProperty extends XControlValueAccessor<any> {\r\n /**\r\n * @zh_CN 节点数据\r\n * @en_US Node data\r\n */\r\n @Input() @XDataConvert() data: XData<XAutoCompleteNode> = [];\r\n /**\r\n * @zh_CN 输入延迟执行时间,ms\r\n * @en_US Enter a delay execution time, ms\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 200) debounceTime: number;\r\n /**\r\n * @zh_CN 展示方位\r\n * @en_US Display position\r\n */\r\n @Input() @XWithConfig<XPositionTopBottom>(X_CONFIG_NAME, 'bottom') placement: XPositionTopBottom;\r\n /**\r\n * @zh_CN 节点模板\r\n * @en_US Node template\r\n */\r\n @Input() nodeTpl: TemplateRef<any>;\r\n /**\r\n * @zh_CN 选择节点事件\r\n * @en_US Node click event\r\n */\r\n @Output() nodeClick = new EventEmitter();\r\n}\r\n\r\n/**\r\n * AutoComplete Option\r\n * @undocument true\r\n */\r\nexport interface XAutoCompleteOption extends XFormOption {\r\n /**\r\n * @zh_CN 节点数据\r\n * @en_US Node data\r\n */\r\n data?: XData<XAutoCompleteNode>;\r\n /**\r\n * @zh_CN 输入延迟执行时间,ms\r\n * @en_US Enter a delay execution time, ms\r\n */\r\n debounceTime?: number;\r\n /**\r\n * @zh_CN 展示方位\r\n * @en_US Display position\r\n */\r\n placement?: XPositionTopBottom;\r\n}\r\n\r\n/**\r\n * @zh_CN AutoComplete 数据对象\r\n * @en_US AutoComplete data object\r\n */\r\nexport interface XAutoCompleteNode extends XParentIdentityProperty<XAutoCompleteNode> {}\r\n\r\n/**\r\n * AutoComplete Portal\r\n * @selector x-auto-complete-portal\r\n * @decorator component\r\n */\r\nexport const XAutoCompletePortalPrefix = 'x-auto-complete-portal';\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n OnInit,\r\n OnDestroy,\r\n Renderer2,\r\n HostBinding,\r\n HostListener,\r\n ViewChild,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport { XAutoCompleteNode, XAutoCompletePortalPrefix } from './auto-complete.property';\r\nimport { Subject } from 'rxjs';\r\nimport { XConnectBaseAnimation, XNumber, XPositionTopBottom } from '@ng-nest/ui/core';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { XListComponent } from '@ng-nest/ui/list';\r\n\r\n@Component({\r\n selector: `${XAutoCompletePortalPrefix}`,\r\n templateUrl: './auto-complete-portal.component.html',\r\n styleUrls: ['./auto-complete-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XConnectBaseAnimation]\r\n})\r\nexport class XAutoCompletePortalComponent implements OnInit, 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 @ViewChild('list') list: XListComponent;\r\n\r\n data: XAutoCompleteNode[];\r\n value: any;\r\n valueChange: Subject<any>;\r\n positionChange: Subject<any>;\r\n dataChange: Subject<XAutoCompleteNode[]>;\r\n animating: Function;\r\n destroyPortal: Function;\r\n closeSubject: Subject<void>;\r\n keydownSubject: Subject<KeyboardEvent>;\r\n nodeEmit: Function;\r\n multiple: XNumber = 1;\r\n nodeTpl: TemplateRef<any>;\r\n show: boolean = false;\r\n active: number = -1;\r\n private _unSubject = new Subject<void>();\r\n\r\n constructor(public renderer: Renderer2, public cdr: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n this.valueChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n this.value = x;\r\n this.cdr.detectChanges();\r\n });\r\n this.positionChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n this.placement = x;\r\n this.cdr.detectChanges();\r\n });\r\n this.dataChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n this.data = x;\r\n this.cdr.detectChanges();\r\n });\r\n this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n this.list.setUnActive(this.active);\r\n });\r\n this.keydownSubject.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n this.list.keydown(x);\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n stopPropagation(event: Event): void {\r\n event.stopPropagation();\r\n }\r\n\r\n nodeClick(node: XAutoCompleteNode) {\r\n this.nodeEmit(node);\r\n }\r\n\r\n onActive(num: number) {\r\n this.active = num;\r\n }\r\n\r\n onTabOut() {\r\n this.closeSubject.next();\r\n }\r\n}\r\n","import { Subject } from 'rxjs';\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n SimpleChanges,\r\n OnChanges,\r\n ViewContainerRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { XAutoCompleteNode, XAutoCompleteProperty, XAutoCompletePrefix } from './auto-complete.property';\r\nimport {\r\n XIsEmpty,\r\n XIsObservable,\r\n XIsChange,\r\n XSetData,\r\n XClearClass,\r\n XConfigService,\r\n XPositionTopBottom,\r\n XIsFunction\r\n} from '@ng-nest/ui/core';\r\nimport { XPortalService, XPortalOverlayRef, XPortalConnectedPosition } from '@ng-nest/ui/portal';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { XAutoCompletePortalComponent } from './auto-complete-portal.component';\r\nimport { Overlay, FlexibleConnectedPositionStrategy, ConnectedOverlayPositionChange, OverlayConfig } from '@angular/cdk/overlay';\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\nimport { DOWN_ARROW, UP_ARROW, ENTER, MAC_ENTER, ESCAPE } from '@angular/cdk/keycodes';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\n\r\n@Component({\r\n selector: `${XAutoCompletePrefix}`,\r\n templateUrl: './auto-complete.component.html',\r\n styleUrls: ['./auto-complete.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XAutoCompleteComponent)]\r\n})\r\nexport class XAutoCompleteComponent extends XAutoCompleteProperty implements OnInit, OnChanges {\r\n @ViewChild('inputCom', { static: true }) inputCom!: XInputComponent;\r\n @ViewChild('autoComplete', { static: true }) autoComplete!: ElementRef;\r\n\r\n writeValue(value: any) {\r\n this.value = value;\r\n this.valueChange.next(this.value);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n readonly = true;\r\n clearable: boolean = false;\r\n enter: boolean = false;\r\n displayValue: any = '';\r\n nodes: XAutoCompleteNode[] = [];\r\n searchNodes: XAutoCompleteNode[] = [];\r\n cloneNodes: XAutoCompleteNode[];\r\n portal: XPortalOverlayRef<XAutoCompletePortalComponent>;\r\n icon: string = '';\r\n iconSpin: boolean = false;\r\n box: DOMRect;\r\n protalHeight: number;\r\n maxNodes: number = 6;\r\n protalTobottom: boolean = true;\r\n asyncLoading = false;\r\n animating = false;\r\n\r\n valueChange: Subject<any> = new Subject();\r\n positionChange: Subject<any> = new Subject();\r\n dataChange: Subject<XAutoCompleteNode[]> = new Subject();\r\n inputChange: Subject<any> = new Subject();\r\n closeSubject: Subject<any> = new Subject();\r\n keydownSubject: Subject<KeyboardEvent> = new Subject();\r\n private _unSubject = new Subject<void>();\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n private 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.setFlex(this.autoComplete.nativeElement, this.renderer, this.justify, this.align, this.direction);\r\n this.setClassMap();\r\n this.setSubject();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n XIsChange(changes.data) && this.setData();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setPortal();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.labelMap);\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n }\r\n\r\n setData() {\r\n if (XIsObservable(this.data) || XIsFunction(this.data)) return;\r\n XSetData<XAutoCompleteNode>(this.data, this._unSubject).subscribe((x) => {\r\n this.nodes = x;\r\n this.setPortal();\r\n this.cdr.detectChanges();\r\n });\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 this.inputChange.pipe(debounceTime(this.debounceTime), takeUntil(this._unSubject)).subscribe(() => {\r\n this.modelChange();\r\n });\r\n this.keydownSubject.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n const keyCode = x.keyCode;\r\n if (!this.portalAttached() && [DOWN_ARROW, UP_ARROW, ENTER, MAC_ENTER].includes(keyCode)) {\r\n this.inputChange.next();\r\n }\r\n if (this.portalAttached() && [ESCAPE].includes(keyCode)) {\r\n this.closeSubject.next();\r\n }\r\n });\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.cdr.detectChanges();\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 showPortal() {\r\n if (XIsEmpty(this.value) || this.disabled || this.iconSpin || this.animating) return;\r\n if ((XIsObservable(this.data) && this.nodes.length === 0) || XIsFunction(this.data)) {\r\n this.icon = 'fto-loader';\r\n this.iconSpin = true;\r\n this.cdr.detectChanges();\r\n XSetData<XAutoCompleteNode>(this.data, this._unSubject, true, this.value).subscribe((x) => {\r\n this.nodes = x;\r\n this.createPortal();\r\n this.icon = '';\r\n this.iconSpin = false;\r\n this.cdr.detectChanges();\r\n });\r\n } else {\r\n this.createPortal();\r\n }\r\n }\r\n\r\n createPortal() {\r\n this.nodes.filter((x) => x.selected).map((x) => (x.selected = false));\r\n if (!XIsEmpty(this.value)) {\r\n this.searchNodes = this.nodes.filter((x) => x.id.indexOf(this.value) >= 0);\r\n }\r\n this.box = this.inputCom.inputElement.nativeElement.getBoundingClientRect();\r\n const config: OverlayConfig = {\r\n backdropClass: '',\r\n width: this.box.width,\r\n positionStrategy: this.setPlacement(),\r\n scrollStrategy: this.overlay.scrollStrategies.reposition()\r\n };\r\n this.setPosition(config);\r\n this.portal = this.portalService.attach({\r\n content: XAutoCompletePortalComponent,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: config\r\n });\r\n this.portal.overlayRef\r\n ?.outsidePointerEvents()\r\n .pipe(takeUntil(this._unSubject))\r\n .subscribe(() => {\r\n this.closeSubject.next();\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.searchNodes,\r\n value: this.value,\r\n placement: this.placement,\r\n nodeTpl: this.nodeTpl,\r\n valueChange: this.valueChange,\r\n dataChange: this.dataChange,\r\n positionChange: this.positionChange,\r\n closeSubject: this.closeSubject,\r\n keydownSubject: this.keydownSubject,\r\n destroyPortal: () => this.destroyPortal(),\r\n nodeEmit: (node: XAutoCompleteNode) => this.onNodeClick(node),\r\n animating: (ing: boolean) => (this.animating = ing)\r\n });\r\n componentRef.changeDetectorRef.detectChanges();\r\n }\r\n\r\n onNodeClick(node: XAutoCompleteNode | XAutoCompleteNode[]) {\r\n node = node as XAutoCompleteNode;\r\n this.closeSubject.next();\r\n if (this.value === node.id) {\r\n return;\r\n }\r\n this.value = node.id;\r\n if (this.onChange) this.onChange(this.value);\r\n this.nodeClick.emit(node);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n setPlacement() {\r\n return this.portalService.setPlacement({\r\n elementRef: this.inputCom.inputElement,\r\n placement: [this.placement, 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\r\n transformOriginOn: 'x-auto-complete-portal'\r\n });\r\n }\r\n\r\n setPortal() {\r\n this.portalAttached() && this.portal?.overlayRef?.updatePositionStrategy(this.setPlacement());\r\n }\r\n\r\n modelChange() {\r\n if (this.onChange) this.onChange(this.value);\r\n if (XIsFunction(this.data)) {\r\n if (!this.portalAttached()) {\r\n this.showPortal();\r\n } else {\r\n if (XIsEmpty(this.value)) {\r\n this.closeSubject.next();\r\n } else {\r\n this.icon = 'fto-loader';\r\n this.iconSpin = true;\r\n this.cdr.detectChanges();\r\n XSetData<XAutoCompleteNode>(this.data, this._unSubject, true, this.value).subscribe((x) => {\r\n this.nodes = x;\r\n this.icon = '';\r\n this.iconSpin = false;\r\n this.dataChange.next(this.nodes);\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n }\r\n return;\r\n }\r\n if (this.nodes) {\r\n if (!this.portalAttached()) {\r\n this.showPortal();\r\n } else {\r\n if (XIsEmpty(this.value)) {\r\n this.closeSubject.next();\r\n } else {\r\n this.searchNodes = this.nodes.filter((x) => x.id.indexOf(this.value) >= 0);\r\n this.dataChange.next(this.searchNodes);\r\n }\r\n }\r\n }\r\n }\r\n\r\n formControlChanges() {\r\n this.setData();\r\n this.ngOnInit();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onKeydown($event: KeyboardEvent) {\r\n this.keydownSubject.next($event);\r\n }\r\n\r\n onFocus($event: Event) {}\r\n\r\n onInput($event: Event) {\r\n this.inputChange.next();\r\n }\r\n\r\n onBlur($event: Event) {}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XAutoCompleteComponent } from './auto-complete.component';\r\nimport { XInputModule } from '@ng-nest/ui/input';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\nimport { XListModule } from '@ng-nest/ui/list';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\nimport { XAutoCompletePortalComponent } from './auto-complete-portal.component';\r\nimport { XAutoCompleteProperty } from './auto-complete.property';\r\n\r\n@NgModule({\r\n declarations: [XAutoCompleteComponent, XAutoCompletePortalComponent, XAutoCompleteProperty],\r\n exports: [XAutoCompleteComponent, XAutoCompletePortalComponent],\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule, XPortalModule, XInputModule, XListModule, XBaseFormModule],\r\n entryComponents: [XAutoCompletePortalComponent]\r\n})\r\nexport class XAutoCompleteModule {}\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-auto-complete.js","sources":["../../../../lib/ng-nest/ui/auto-complete/auto-complete.property.ts","../../../../lib/ng-nest/ui/auto-complete/auto-complete-portal.component.ts","../../../../lib/ng-nest/ui/auto-complete/auto-complete.component.ts","../../../../lib/ng-nest/ui/auto-complete/auto-complete.module.ts","../../../../lib/ng-nest/ui/auto-complete/ng-nest-ui-auto-complete.ts"],"sourcesContent":["import { XParentIdentityProperty, XDataConvert, XData, XWithConfig, XPositionTopBottom } from '@ng-nest/ui/core';\r\nimport { Input, Component, TemplateRef, EventEmitter, Output } from '@angular/core';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * AutoComplete\r\n * @selector x-auto-complete\r\n * @decorator component\r\n */\r\nexport const XAutoCompletePrefix = 'x-auto-complete';\r\nconst X_CONFIG_NAME = 'autoComplete';\r\n\r\n/**\r\n * AutoComplete Property\r\n */\r\n@Component({ template: '' })\r\nexport class XAutoCompleteProperty extends XControlValueAccessor<any> {\r\n /**\r\n * @zh_CN 节点数据\r\n * @en_US Node data\r\n */\r\n @Input() @XDataConvert() data: XData<XAutoCompleteNode> = [];\r\n /**\r\n * @zh_CN 输入延迟执行时间,ms\r\n * @en_US Enter a delay execution time, ms\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 200) debounceTime?: number;\r\n /**\r\n * @zh_CN 展示方位\r\n * @en_US Display position\r\n */\r\n @Input() @XWithConfig<XPositionTopBottom>(X_CONFIG_NAME, 'bottom') placement?: XPositionTopBottom;\r\n /**\r\n * @zh_CN 节点模板\r\n * @en_US Node template\r\n */\r\n @Input() nodeTpl?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 选择节点事件\r\n * @en_US Node click event\r\n */\r\n @Output() nodeClick = new EventEmitter();\r\n}\r\n\r\n/**\r\n * AutoComplete Option\r\n * @undocument true\r\n */\r\nexport interface XAutoCompleteOption extends XFormOption {\r\n /**\r\n * @zh_CN 节点数据\r\n * @en_US Node data\r\n */\r\n data?: XData<XAutoCompleteNode>;\r\n /**\r\n * @zh_CN 输入延迟执行时间,ms\r\n * @en_US Enter a delay execution time, ms\r\n */\r\n debounceTime?: number;\r\n /**\r\n * @zh_CN 展示方位\r\n * @en_US Display position\r\n */\r\n placement?: XPositionTopBottom;\r\n}\r\n\r\n/**\r\n * @zh_CN AutoComplete 数据对象\r\n * @en_US AutoComplete data object\r\n */\r\nexport interface XAutoCompleteNode extends XParentIdentityProperty<XAutoCompleteNode> {}\r\n\r\n/**\r\n * AutoComplete Portal\r\n * @selector x-auto-complete-portal\r\n * @decorator component\r\n */\r\nexport const XAutoCompletePortalPrefix = 'x-auto-complete-portal';\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n OnInit,\r\n OnDestroy,\r\n Renderer2,\r\n HostBinding,\r\n HostListener,\r\n ViewChild,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport { XAutoCompleteNode, XAutoCompletePortalPrefix } from './auto-complete.property';\r\nimport { Subject } from 'rxjs';\r\nimport { XConnectBaseAnimation, XNumber, XPositionTopBottom } from '@ng-nest/ui/core';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { XListComponent } from '@ng-nest/ui/list';\r\n\r\n@Component({\r\n selector: `${XAutoCompletePortalPrefix}`,\r\n templateUrl: './auto-complete-portal.component.html',\r\n styleUrls: ['./auto-complete-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XConnectBaseAnimation]\r\n})\r\nexport class XAutoCompletePortalComponent implements OnInit, 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 @ViewChild('list') list!: XListComponent;\r\n\r\n data!: XAutoCompleteNode[];\r\n value: any;\r\n valueChange!: Subject<any>;\r\n positionChange!: Subject<any>;\r\n dataChange!: Subject<XAutoCompleteNode[]>;\r\n animating!: Function;\r\n destroyPortal!: Function;\r\n closeSubject!: Subject<void>;\r\n keydownSubject!: Subject<KeyboardEvent>;\r\n nodeEmit!: Function;\r\n multiple: XNumber = 1;\r\n nodeTpl!: TemplateRef<any>;\r\n show: boolean = false;\r\n active: number = -1;\r\n private _unSubject = new Subject<void>();\r\n\r\n constructor(public renderer: Renderer2, public cdr: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n this.valueChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n this.value = x;\r\n this.cdr.detectChanges();\r\n });\r\n this.positionChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n this.placement = x;\r\n this.cdr.detectChanges();\r\n });\r\n this.dataChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n this.data = x;\r\n this.cdr.detectChanges();\r\n });\r\n this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n this.list.setUnActive(this.active);\r\n });\r\n this.keydownSubject.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n this.list.keydown(x);\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n stopPropagation(event: Event): void {\r\n event.stopPropagation();\r\n }\r\n\r\n nodeClick(node: XAutoCompleteNode) {\r\n this.nodeEmit(node);\r\n }\r\n\r\n onActive(num: number) {\r\n this.active = num;\r\n }\r\n\r\n onTabOut() {\r\n this.closeSubject.next();\r\n }\r\n}\r\n","import { Subject } from 'rxjs';\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n SimpleChanges,\r\n OnChanges,\r\n ViewContainerRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { XAutoCompleteNode, XAutoCompleteProperty, XAutoCompletePrefix } from './auto-complete.property';\r\nimport {\r\n XIsEmpty,\r\n XIsObservable,\r\n XIsChange,\r\n XSetData,\r\n XClearClass,\r\n XConfigService,\r\n XPositionTopBottom,\r\n XIsFunction\r\n} from '@ng-nest/ui/core';\r\nimport { XPortalService, XPortalOverlayRef, XPortalConnectedPosition } from '@ng-nest/ui/portal';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { XAutoCompletePortalComponent } from './auto-complete-portal.component';\r\nimport { Overlay, FlexibleConnectedPositionStrategy, ConnectedOverlayPositionChange, OverlayConfig } from '@angular/cdk/overlay';\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\nimport { DOWN_ARROW, UP_ARROW, ENTER, MAC_ENTER, ESCAPE } from '@angular/cdk/keycodes';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\n\r\n@Component({\r\n selector: `${XAutoCompletePrefix}`,\r\n templateUrl: './auto-complete.component.html',\r\n styleUrls: ['./auto-complete.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XAutoCompleteComponent)]\r\n})\r\nexport class XAutoCompleteComponent extends XAutoCompleteProperty implements OnInit, OnChanges {\r\n @ViewChild('inputCom', { static: true }) inputCom!: XInputComponent;\r\n @ViewChild('autoComplete', { static: true }) autoComplete!: ElementRef;\r\n\r\n writeValue(value: any) {\r\n this.value = value;\r\n this.valueChange.next(this.value);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n readonly = true;\r\n clearable: boolean = false;\r\n enter: boolean = false;\r\n displayValue: any = '';\r\n nodes: XAutoCompleteNode[] = [];\r\n searchNodes: XAutoCompleteNode[] = [];\r\n cloneNodes!: XAutoCompleteNode[];\r\n portal!: XPortalOverlayRef<XAutoCompletePortalComponent>;\r\n icon: string = '';\r\n iconSpin: boolean = false;\r\n box!: DOMRect;\r\n protalHeight!: number;\r\n maxNodes: number = 6;\r\n protalTobottom: boolean = true;\r\n asyncLoading = false;\r\n animating = false;\r\n\r\n valueChange: Subject<any> = new Subject();\r\n positionChange: Subject<any> = new Subject();\r\n dataChange: Subject<XAutoCompleteNode[]> = new Subject();\r\n inputChange: Subject<any> = new Subject();\r\n closeSubject: Subject<any> = new Subject();\r\n keydownSubject: Subject<KeyboardEvent> = new Subject();\r\n private _unSubject = new Subject<void>();\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n private 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.setFlex(this.autoComplete.nativeElement, this.renderer, this.justify, this.align, this.direction);\r\n this.setClassMap();\r\n this.setSubject();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n XIsChange(changes.data) && this.setData();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setPortal();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.labelMap);\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n }\r\n\r\n setData() {\r\n if (XIsObservable(this.data) || XIsFunction(this.data)) return;\r\n XSetData<XAutoCompleteNode>(this.data, this._unSubject).subscribe((x) => {\r\n this.nodes = x;\r\n this.setPortal();\r\n this.cdr.detectChanges();\r\n });\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 this.inputChange.pipe(debounceTime(this.debounceTime as number), takeUntil(this._unSubject)).subscribe(() => {\r\n this.modelChange();\r\n });\r\n this.keydownSubject.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n const keyCode = x.keyCode;\r\n if (!this.portalAttached() && [DOWN_ARROW, UP_ARROW, ENTER, MAC_ENTER].includes(keyCode)) {\r\n this.inputChange.next();\r\n }\r\n if (this.portalAttached() && [ESCAPE].includes(keyCode)) {\r\n this.closeSubject.next();\r\n }\r\n });\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.cdr.detectChanges();\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 showPortal() {\r\n if (XIsEmpty(this.value) || this.disabled || this.iconSpin || this.animating) return;\r\n if ((XIsObservable(this.data) && this.nodes.length === 0) || XIsFunction(this.data)) {\r\n this.icon = 'fto-loader';\r\n this.iconSpin = true;\r\n this.cdr.detectChanges();\r\n XSetData<XAutoCompleteNode>(this.data, this._unSubject, true, this.value).subscribe((x) => {\r\n this.nodes = x;\r\n this.createPortal();\r\n this.icon = '';\r\n this.iconSpin = false;\r\n this.cdr.detectChanges();\r\n });\r\n } else {\r\n this.createPortal();\r\n }\r\n }\r\n\r\n createPortal() {\r\n this.nodes.filter((x) => x.selected).map((x) => (x.selected = false));\r\n if (!XIsEmpty(this.value)) {\r\n this.searchNodes = this.nodes.filter((x) => x.label.indexOf(this.value) >= 0);\r\n }\r\n this.box = this.inputCom.inputElement.nativeElement.getBoundingClientRect();\r\n const config: OverlayConfig = {\r\n backdropClass: '',\r\n width: this.box.width,\r\n positionStrategy: this.setPlacement(),\r\n scrollStrategy: this.overlay.scrollStrategies.reposition()\r\n };\r\n this.setPosition(config);\r\n this.portal = this.portalService.attach({\r\n content: XAutoCompletePortalComponent,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: config\r\n });\r\n this.portal.overlayRef\r\n ?.outsidePointerEvents()\r\n .pipe(takeUntil(this._unSubject))\r\n .subscribe(() => {\r\n this.closeSubject.next();\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.searchNodes,\r\n value: this.value,\r\n placement: this.placement,\r\n nodeTpl: this.nodeTpl,\r\n valueChange: this.valueChange,\r\n dataChange: this.dataChange,\r\n positionChange: this.positionChange,\r\n closeSubject: this.closeSubject,\r\n keydownSubject: this.keydownSubject,\r\n destroyPortal: () => this.destroyPortal(),\r\n nodeEmit: (node: XAutoCompleteNode) => this.onNodeClick(node),\r\n animating: (ing: boolean) => (this.animating = ing)\r\n });\r\n componentRef.changeDetectorRef.detectChanges();\r\n }\r\n\r\n onNodeClick(node: XAutoCompleteNode | XAutoCompleteNode[]) {\r\n node = node as XAutoCompleteNode;\r\n this.closeSubject.next();\r\n if (this.value === node.label) {\r\n this.nodeClick.emit(node);\r\n return;\r\n }\r\n this.value = node.label;\r\n if (this.onChange) this.onChange(this.value);\r\n this.nodeClick.emit(node);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n setPlacement() {\r\n return this.portalService.setPlacement({\r\n elementRef: this.inputCom.inputElement,\r\n placement: [this.placement as XPositionTopBottom, 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\r\n transformOriginOn: 'x-auto-complete-portal'\r\n });\r\n }\r\n\r\n setPortal() {\r\n this.portalAttached() && this.portal?.overlayRef?.updatePositionStrategy(this.setPlacement());\r\n }\r\n\r\n modelChange() {\r\n if (this.onChange) this.onChange(this.value);\r\n if (XIsFunction(this.data)) {\r\n if (!this.portalAttached()) {\r\n this.showPortal();\r\n } else {\r\n if (XIsEmpty(this.value)) {\r\n this.closeSubject.next();\r\n } else {\r\n this.icon = 'fto-loader';\r\n this.iconSpin = true;\r\n this.cdr.detectChanges();\r\n XSetData<XAutoCompleteNode>(this.data, this._unSubject, true, this.value).subscribe((x) => {\r\n this.nodes = x;\r\n this.icon = '';\r\n this.iconSpin = false;\r\n this.dataChange.next(this.nodes);\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n }\r\n return;\r\n }\r\n if (this.nodes) {\r\n if (!this.portalAttached()) {\r\n this.showPortal();\r\n } else {\r\n if (XIsEmpty(this.value)) {\r\n this.closeSubject.next();\r\n } else {\r\n this.searchNodes = this.nodes.filter((x) => x.label.indexOf(this.value) >= 0);\r\n this.dataChange.next(this.searchNodes);\r\n }\r\n }\r\n }\r\n }\r\n\r\n formControlChanges() {\r\n this.setData();\r\n this.ngOnInit();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onKeydown($event: KeyboardEvent) {\r\n this.keydownSubject.next($event);\r\n }\r\n\r\n onFocus($event: Event) {}\r\n\r\n onInput($event: Event) {\r\n this.inputChange.next();\r\n }\r\n\r\n onBlur($event: Event) {}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XAutoCompleteComponent } from './auto-complete.component';\r\nimport { XInputModule } from '@ng-nest/ui/input';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\nimport { XListModule } from '@ng-nest/ui/list';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\nimport { XAutoCompletePortalComponent } from './auto-complete-portal.component';\r\nimport { XAutoCompleteProperty } from './auto-complete.property';\r\n\r\n@NgModule({\r\n declarations: [XAutoCompleteComponent, XAutoCompletePortalComponent, XAutoCompleteProperty],\r\n exports: [XAutoCompleteComponent, XAutoCompletePortalComponent],\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule, XPortalModule, XInputModule, XListModule, XBaseFormModule],\r\n entryComponents: [XAutoCompletePortalComponent]\r\n})\r\nexport class XAutoCompleteModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-avatar.js","sources":["../../../../lib/ng-nest/ui/avatar/avatar.property.ts","../../../../lib/ng-nest/ui/avatar/avatar.component.ts","../../../../lib/ng-nest/ui/avatar/avatar.module.ts","../../../../lib/ng-nest/ui/avatar/ng-nest-ui-avatar.ts"],"sourcesContent":["import { XSize, XTemplate, XProperty, XWithConfig, XShape, XFit } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Avatar\r\n * @selector x-avatar\r\n * @decorator component\r\n */\r\nexport const XAvatarPrefix = 'x-avatar';\r\nconst X_CONFIG_NAME = 'avatar';\r\n\r\n/**\r\n * Avatar Property\r\n */\r\n@Component({ template: '' })\r\nexport class XAvatarProperty extends XProperty {\r\n /**\r\n * @zh_CN 显示字符\r\n * @en_US Display characters\r\n */\r\n @Input() label: XTemplate;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') size: XSize;\r\n /**\r\n * @zh_CN 显示图标\r\n * @en_US Show icon\r\n */\r\n @Input() icon: string;\r\n /**\r\n * @zh_CN 形状\r\n * @en_US Shape\r\n */\r\n @Input() @XWithConfig<XAvatarShape>(X_CONFIG_NAME, 'circle') shape: XAvatarShape;\r\n /**\r\n * @zh_CN 图片地址\r\n * @en_US The map's address\r\n */\r\n @Input() src: string;\r\n /**\r\n * @zh_CN 图片适应方式\r\n * @en_US Image adaptation method\r\n */\r\n @Input() @XWithConfig<XAvatarFit>(X_CONFIG_NAME, 'cover') fit: XAvatarFit;\r\n}\r\n\r\n/**\r\n * @zh_CN 头像形状\r\n * @en_US Avatar shape\r\n */\r\nexport type XAvatarShape = XShape;\r\n\r\n/**\r\n * @zh_CN 当展示类型为图片的时候,设置图片如何适应容器框\r\n * @en_US When the display type is picture, set how the picture fits into the container frame\r\n */\r\nexport type XAvatarFit = XFit;\r\n","import { Component, OnInit, ViewEncapsulation, Renderer2, ElementRef, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\r\nimport { XAvatarPrefix, XAvatarProperty } from './avatar.property';\r\nimport { XIsEmpty, XConfigService } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XAvatarPrefix}`,\r\n templateUrl: './avatar.component.html',\r\n styleUrls: ['./avatar.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XAvatarComponent extends XAvatarProperty implements OnInit {\r\n isImgError: boolean = false;\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\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 setClassMap() {\r\n this.classMap = {\r\n [`${XAvatarPrefix}-${this.shape}`]: !XIsEmpty(this.shape),\r\n [`${XAvatarPrefix}-${this.size}`]: !XIsEmpty(this.size)\r\n };\r\n }\r\n\r\n imgError() {\r\n this.isImgError = true;\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XAvatarComponent } from './avatar.component';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XAvatarProperty } from './avatar.property';\r\n\r\n@NgModule({\r\n declarations: [XAvatarComponent, XAvatarProperty],\r\n exports: [XAvatarComponent],\r\n imports: [CommonModule, XOutletModule, XIconModule]\r\n})\r\nexport class XAvatarModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;AAGA;;;;;MAKa,aAAa,GAAG,WAAW;AACxC,MAAM,aAAa,GAAG,QAAQ,CAAC;AAE/B;;;MAIa,eAAgB,SAAQ,SAAS;;;YAD7C,SAAS,SAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;;;oBAMxB,KAAK;mBAKL,KAAK;mBAKL,KAAK;oBAKL,KAAK;kBAKL,KAAK;kBAKL,KAAK;;AApBgD;IAA5C,WAAW,CAAQ,aAAa,EAAE,QAAQ,CAAC;;6CAAa;AAUL;IAAnD,WAAW,CAAe,aAAa,EAAE,QAAQ,CAAC;;8CAAqB;AAUvB;IAAhD,WAAW,CAAa,aAAa,EAAE,OAAO,CAAC;;4CAAiB;;MClC/D,gBAAiB,SAAQ,eAAe;IAGnD,YACS,QAAmB,EACnB,UAAsB,EACtB,GAAsB,EACtB,aAA6B;QAEpC,KAAK,EAAE,CAAC;QALD,aAAQ,GAAR,QAAQ,CAAW;QACnB,eAAU,GAAV,UAAU,CAAY;QACtB,QAAG,GAAH,GAAG,CAAmB;QACtB,kBAAa,GAAb,aAAa,CAAgB;QANtC,eAAU,GAAY,KAAK,CAAC;KAS3B;IAED,QAAQ;QACN,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAED,WAAW;QACT,IAAI,CAAC,QAAQ,GAAG;YACd,CAAC,GAAG,aAAa,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YACzD,CAAC,GAAG,aAAa,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;SACxD,CAAC;KACH;IAED,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;;;YAjCF,SAAS,SAAC;gBACT,QAAQ,EAAE,GAAG,aAAa,EAAE;gBAC5B,mbAAsC;gBAEtC,aAAa,EAAE,iBAAiB,CAAC,IAAI;gBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;;YAV8C,SAAS;YAAE,UAAU;YAAE,iBAAiB;YAEpE,cAAc;;;MCUpB,aAAa;;;YALzB,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,gBAAgB,EAAE,eAAe,CAAC;gBACjD,OAAO,EAAE,CAAC,gBAAgB,CAAC;gBAC3B,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC;aACpD;;;ACXD;;;;;;"}
1
+ {"version":3,"file":"ng-nest-ui-avatar.js","sources":["../../../../lib/ng-nest/ui/avatar/avatar.property.ts","../../../../lib/ng-nest/ui/avatar/avatar.component.ts","../../../../lib/ng-nest/ui/avatar/avatar.module.ts","../../../../lib/ng-nest/ui/avatar/ng-nest-ui-avatar.ts"],"sourcesContent":["import { XSize, XTemplate, XProperty, XWithConfig, XShape, XFit } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Avatar\r\n * @selector x-avatar\r\n * @decorator component\r\n */\r\nexport const XAvatarPrefix = 'x-avatar';\r\nconst X_CONFIG_NAME = 'avatar';\r\n\r\n/**\r\n * Avatar Property\r\n */\r\n@Component({ template: '' })\r\nexport class XAvatarProperty extends XProperty {\r\n /**\r\n * @zh_CN 显示字符\r\n * @en_US Display characters\r\n */\r\n @Input() label?: XTemplate;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') size?: XSize;\r\n /**\r\n * @zh_CN 显示图标\r\n * @en_US Show icon\r\n */\r\n @Input() icon?: string;\r\n /**\r\n * @zh_CN 形状\r\n * @en_US Shape\r\n */\r\n @Input() @XWithConfig<XAvatarShape>(X_CONFIG_NAME, 'circle') shape?: XAvatarShape;\r\n /**\r\n * @zh_CN 图片地址\r\n * @en_US The map's address\r\n */\r\n @Input() src?: string;\r\n /**\r\n * @zh_CN 图片适应方式\r\n * @en_US Image adaptation method\r\n */\r\n @Input() @XWithConfig<XAvatarFit>(X_CONFIG_NAME, 'cover') fit?: XAvatarFit;\r\n}\r\n\r\n/**\r\n * @zh_CN 头像形状\r\n * @en_US Avatar shape\r\n */\r\nexport type XAvatarShape = XShape;\r\n\r\n/**\r\n * @zh_CN 当展示类型为图片的时候,设置图片如何适应容器框\r\n * @en_US When the display type is picture, set how the picture fits into the container frame\r\n */\r\nexport type XAvatarFit = XFit;\r\n","import { Component, OnInit, ViewEncapsulation, Renderer2, ElementRef, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\r\nimport { XAvatarPrefix, XAvatarProperty } from './avatar.property';\r\nimport { XIsEmpty, XConfigService } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XAvatarPrefix}`,\r\n templateUrl: './avatar.component.html',\r\n styleUrls: ['./avatar.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XAvatarComponent extends XAvatarProperty implements OnInit {\r\n isImgError: boolean = false;\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\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 setClassMap() {\r\n this.classMap = {\r\n [`${XAvatarPrefix}-${this.shape}`]: !XIsEmpty(this.shape),\r\n [`${XAvatarPrefix}-${this.size}`]: !XIsEmpty(this.size)\r\n };\r\n }\r\n\r\n imgError() {\r\n this.isImgError = true;\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XAvatarComponent } from './avatar.component';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XAvatarProperty } from './avatar.property';\r\n\r\n@NgModule({\r\n declarations: [XAvatarComponent, XAvatarProperty],\r\n exports: [XAvatarComponent],\r\n imports: [CommonModule, XOutletModule, XIconModule]\r\n})\r\nexport class XAvatarModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;AAGA;;;;;MAKa,aAAa,GAAG,WAAW;AACxC,MAAM,aAAa,GAAG,QAAQ,CAAC;AAE/B;;;MAIa,eAAgB,SAAQ,SAAS;;;YAD7C,SAAS,SAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;;;oBAMxB,KAAK;mBAKL,KAAK;mBAKL,KAAK;oBAKL,KAAK;kBAKL,KAAK;kBAKL,KAAK;;AApBgD;IAA5C,WAAW,CAAQ,aAAa,EAAE,QAAQ,CAAC;;6CAAc;AAUN;IAAnD,WAAW,CAAe,aAAa,EAAE,QAAQ,CAAC;;8CAAsB;AAUxB;IAAhD,WAAW,CAAa,aAAa,EAAE,OAAO,CAAC;;4CAAkB;;MClChE,gBAAiB,SAAQ,eAAe;IAGnD,YACS,QAAmB,EACnB,UAAsB,EACtB,GAAsB,EACtB,aAA6B;QAEpC,KAAK,EAAE,CAAC;QALD,aAAQ,GAAR,QAAQ,CAAW;QACnB,eAAU,GAAV,UAAU,CAAY;QACtB,QAAG,GAAH,GAAG,CAAmB;QACtB,kBAAa,GAAb,aAAa,CAAgB;QANtC,eAAU,GAAY,KAAK,CAAC;KAS3B;IAED,QAAQ;QACN,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAED,WAAW;QACT,IAAI,CAAC,QAAQ,GAAG;YACd,CAAC,GAAG,aAAa,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YACzD,CAAC,GAAG,aAAa,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;SACxD,CAAC;KACH;IAED,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;;;YAjCF,SAAS,SAAC;gBACT,QAAQ,EAAE,GAAG,aAAa,EAAE;gBAC5B,mbAAsC;gBAEtC,aAAa,EAAE,iBAAiB,CAAC,IAAI;gBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;;YAV8C,SAAS;YAAE,UAAU;YAAE,iBAAiB;YAEpE,cAAc;;;MCUpB,aAAa;;;YALzB,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,gBAAgB,EAAE,eAAe,CAAC;gBACjD,OAAO,EAAE,CAAC,gBAAgB,CAAC;gBAC3B,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC;aACpD;;;ACXD;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-back-top.js","sources":["../../../../lib/ng-nest/ui/back-top/back-top.property.ts","../../../../lib/ng-nest/ui/back-top/back-top.component.ts","../../../../lib/ng-nest/ui/back-top/back-top.module.ts","../../../../lib/ng-nest/ui/back-top/ng-nest-ui-back-top.ts"],"sourcesContent":["import { XProperty, XNumber, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, TemplateRef, Component } from '@angular/core';\r\n\r\n/**\r\n * BackTop\r\n * @selector x-back-top\r\n * @decorator component\r\n */\r\nexport const XBackTopPrefix = 'x-back-top';\r\nconst X_CONFIG_NAME = 'backTop';\r\n\r\n/**\r\n * BackTop Property\r\n */\r\n@Component({ template: '' })\r\nexport class XBackTopProperty extends XProperty {\r\n /**\r\n * @zh_CN 距离右边的距离\r\n * @en_US Distance to the right\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '2.5rem') right: string;\r\n /**\r\n * @zh_CN 距离底部的距离\r\n * @en_US Distance from bottom\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '2.5rem') bottom: string;\r\n /**\r\n * @zh_CN 滚动多少高度后显示\r\n * @en_US Display after scrolling how much height\r\n */\r\n @Input() @XWithConfig<XNumber>(X_CONFIG_NAME, 200) visibilityHeight: XNumber;\r\n /**\r\n * @zh_CN 内容模板\r\n * @en_US Content template\r\n */\r\n @Input() template: TemplateRef<any>;\r\n /**\r\n * @zh_CN 滚动的元素\r\n * @en_US Scroll element\r\n */\r\n @Input() target: string | HTMLElement;\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 Input,\r\n Inject,\r\n OnDestroy,\r\n ViewChild,\r\n TemplateRef,\r\n ViewContainerRef,\r\n OnChanges,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { XBackTopPrefix, XBackTopProperty } from './back-top.property';\r\nimport { XClassMap, reqAnimFrame, XConfigService, XIsChange } from '@ng-nest/ui/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { throttleTime, takeUntil } from 'rxjs/operators';\r\nimport { XPortalService, XPortalOverlayRef } from '@ng-nest/ui/portal';\r\n\r\n@Component({\r\n selector: `${XBackTopPrefix}`,\r\n templateUrl: './back-top.component.html',\r\n styleUrls: ['./back-top.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XBackTopComponent extends XBackTopProperty implements OnInit, OnChanges, OnDestroy {\r\n @ViewChild('backTopTpl') backTopTpl: TemplateRef<void>;\r\n\r\n get scroll(): HTMLElement | Window {\r\n return this._target || window;\r\n }\r\n\r\n get scrollTop(): number {\r\n if (this.scroll === window) {\r\n return this.doc.documentElement!.scrollTop;\r\n } else {\r\n return (this.scroll as HTMLElement).scrollTop;\r\n }\r\n }\r\n\r\n set scrollTop(top: number) {\r\n if (this.scroll === window) {\r\n this.doc.documentElement!.scrollTop = top;\r\n } else {\r\n (this.scroll as HTMLElement).scrollTop = top;\r\n }\r\n }\r\n\r\n classMap: XClassMap = {};\r\n visiable = false;\r\n scrolling = false;\r\n portalRef: XPortalOverlayRef<any>;\r\n private _unSubject = new Subject();\r\n private _target: HTMLElement | 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 portal: XPortalService,\r\n public viewContainerRef: ViewContainerRef,\r\n @Inject(DOCUMENT) private doc: any,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (XIsChange(changes.target)) {\r\n this._target = typeof this.target === 'string' ? this.doc.querySelector(this.target) : this.target;\r\n this.setScrollEvent();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.setScrollEvent();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n onBackTop() {\r\n this.scrolling = true;\r\n this.scrollTo(0, 200);\r\n }\r\n\r\n private setScrollEvent() {\r\n this._unSubject.next();\r\n fromEvent(this.scroll, 'scroll')\r\n .pipe(throttleTime(20), takeUntil(this._unSubject))\r\n .subscribe(() => {\r\n this.setScrolling();\r\n });\r\n }\r\n\r\n private setScrolling() {\r\n const scrollTop = this.scrollTop;\r\n const visible = scrollTop >= this.visibilityHeight;\r\n if (this.visiable !== visible) {\r\n this.visiable = visible;\r\n if (this.visiable) {\r\n this.portalRef = this.portal.attach({\r\n content: this.backTopTpl,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: {\r\n positionStrategy: this.portal.setPlace('bottom-end', '2.5rem', '2.5rem', ...['0', this.right, this.bottom, '0'])\r\n }\r\n });\r\n } else {\r\n this.portalRef?.overlayRef?.hasAttached() && this.portalRef.overlayRef.detach();\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n private scrollTo(to: number, duration: number) {\r\n const difference = to - this.scrollTop;\r\n const perTick = (difference / duration) * 10;\r\n reqAnimFrame(() => {\r\n this.scrollTop = this.scrollTop + perTick;\r\n if (this.scrollTop === to || duration <= 0) {\r\n return;\r\n } else {\r\n this.scrollTo(to, duration - 10);\r\n }\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XBackTopComponent } from './back-top.component';\r\nimport { XLinkModule } from '@ng-nest/ui/link';\r\nimport { XBackTopProperty } from './back-top.property';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\n\r\n@NgModule({\r\n declarations: [XBackTopComponent, XBackTopProperty],\r\n exports: [XBackTopComponent],\r\n imports: [CommonModule, XLinkModule, XPortalModule]\r\n})\r\nexport class XBackTopModule {}\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-back-top.js","sources":["../../../../lib/ng-nest/ui/back-top/back-top.property.ts","../../../../lib/ng-nest/ui/back-top/back-top.component.ts","../../../../lib/ng-nest/ui/back-top/back-top.module.ts","../../../../lib/ng-nest/ui/back-top/ng-nest-ui-back-top.ts"],"sourcesContent":["import { XProperty, XNumber, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, TemplateRef, Component } from '@angular/core';\r\n\r\n/**\r\n * BackTop\r\n * @selector x-back-top\r\n * @decorator component\r\n */\r\nexport const XBackTopPrefix = 'x-back-top';\r\nconst X_CONFIG_NAME = 'backTop';\r\n\r\n/**\r\n * BackTop Property\r\n */\r\n@Component({ template: '' })\r\nexport class XBackTopProperty extends XProperty {\r\n /**\r\n * @zh_CN 距离右边的距离\r\n * @en_US Distance to the right\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '2.5rem') right?: string;\r\n /**\r\n * @zh_CN 距离底部的距离\r\n * @en_US Distance from bottom\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '2.5rem') bottom?: string;\r\n /**\r\n * @zh_CN 滚动多少高度后显示\r\n * @en_US Display after scrolling how much height\r\n */\r\n @Input() @XWithConfig<XNumber>(X_CONFIG_NAME, 200) visibilityHeight?: XNumber;\r\n /**\r\n * @zh_CN 内容模板\r\n * @en_US Content template\r\n */\r\n @Input() template!: TemplateRef<any>;\r\n /**\r\n * @zh_CN 滚动的元素\r\n * @en_US Scroll element\r\n */\r\n @Input() target?: string | HTMLElement;\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 Input,\r\n Inject,\r\n OnDestroy,\r\n ViewChild,\r\n TemplateRef,\r\n ViewContainerRef,\r\n OnChanges,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { XBackTopPrefix, XBackTopProperty } from './back-top.property';\r\nimport { XClassMap, reqAnimFrame, XConfigService, XIsChange } from '@ng-nest/ui/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { throttleTime, takeUntil } from 'rxjs/operators';\r\nimport { XPortalService, XPortalOverlayRef } from '@ng-nest/ui/portal';\r\n\r\n@Component({\r\n selector: `${XBackTopPrefix}`,\r\n templateUrl: './back-top.component.html',\r\n styleUrls: ['./back-top.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XBackTopComponent extends XBackTopProperty implements OnInit, OnChanges, OnDestroy {\r\n @ViewChild('backTopTpl') backTopTpl!: TemplateRef<void>;\r\n\r\n get scroll(): HTMLElement | Window {\r\n return this._target || window;\r\n }\r\n\r\n get scrollTop(): number {\r\n if (this.scroll === window) {\r\n return this.doc.documentElement!.scrollTop;\r\n } else {\r\n return (this.scroll as HTMLElement).scrollTop;\r\n }\r\n }\r\n\r\n set scrollTop(top: number) {\r\n if (this.scroll === window) {\r\n this.doc.documentElement!.scrollTop = top;\r\n } else {\r\n (this.scroll as HTMLElement).scrollTop = top;\r\n }\r\n }\r\n\r\n classMap: XClassMap = {};\r\n visiable = false;\r\n scrolling = false;\r\n portalRef!: XPortalOverlayRef<any>;\r\n private _unSubject = new Subject();\r\n private _target: HTMLElement | 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 portal: XPortalService,\r\n public viewContainerRef: ViewContainerRef,\r\n @Inject(DOCUMENT) private doc: any,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (XIsChange(changes.target)) {\r\n this._target = typeof this.target === 'string' ? this.doc.querySelector(this.target) : this.target;\r\n this.setScrollEvent();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.setScrollEvent();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n onBackTop() {\r\n this.scrolling = true;\r\n this.scrollTo(0, 200);\r\n }\r\n\r\n private setScrollEvent() {\r\n this._unSubject.next();\r\n fromEvent(this.scroll, 'scroll')\r\n .pipe(throttleTime(20), takeUntil(this._unSubject))\r\n .subscribe(() => {\r\n this.setScrolling();\r\n });\r\n }\r\n\r\n private setScrolling() {\r\n const scrollTop = this.scrollTop;\r\n const visible = scrollTop >= (this.visibilityHeight as number);\r\n if (this.visiable !== visible) {\r\n this.visiable = visible;\r\n if (this.visiable) {\r\n this.portalRef = this.portal.attach({\r\n content: this.backTopTpl,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: {\r\n positionStrategy: this.portal.setPlace(\r\n 'bottom-end',\r\n '2.5rem',\r\n '2.5rem',\r\n ...['0', this.right as string, this.bottom as string, '0']\r\n )\r\n }\r\n });\r\n } else {\r\n this.portalRef?.overlayRef?.hasAttached() && this.portalRef.overlayRef.detach();\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n private scrollTo(to: number, duration: number) {\r\n const difference = to - this.scrollTop;\r\n const perTick = (difference / duration) * 10;\r\n reqAnimFrame(() => {\r\n this.scrollTop = this.scrollTop + perTick;\r\n if (this.scrollTop === to || duration <= 0) {\r\n return;\r\n } else {\r\n this.scrollTo(to, duration - 10);\r\n }\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XBackTopComponent } from './back-top.component';\r\nimport { XLinkModule } from '@ng-nest/ui/link';\r\nimport { XBackTopProperty } from './back-top.property';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\n\r\n@NgModule({\r\n declarations: [XBackTopComponent, XBackTopProperty],\r\n exports: [XBackTopComponent],\r\n imports: [CommonModule, XLinkModule, XPortalModule]\r\n})\r\nexport class XBackTopModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;AAGA;;;;;MAKa,cAAc,GAAG,aAAa;AAC3C,MAAM,aAAa,GAAG,SAAS,CAAC;AAEhC;;;MAIa,gBAAiB,SAAQ,SAAS;;;YAD9C,SAAS,SAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;;;oBAMxB,KAAK;qBAKL,KAAK;+BAKL,KAAK;uBAKL,KAAK;qBAKL,KAAK;;AApBiD;IAA7C,WAAW,CAAS,aAAa,EAAE,QAAQ,CAAC;;+CAAgB;AAKf;IAA7C,WAAW,CAAS,aAAa,EAAE,QAAQ,CAAC;;gDAAiB;AAKpB;IAAzC,WAAW,CAAU,aAAa,EAAE,GAAG,CAAC;;0DAA4B;;MCCnE,iBAAkB,SAAQ,gBAAgB;IA8BrD,YACS,QAAmB,EACnB,UAAsB,EACtB,GAAsB,EACtB,MAAsB,EACtB,gBAAkC,EACf,GAAQ,EAC3B,aAA6B;QAEpC,KAAK,EAAE,CAAC;QARD,aAAQ,GAAR,QAAQ,CAAW;QACnB,eAAU,GAAV,UAAU,CAAY;QACtB,QAAG,GAAH,GAAG,CAAmB;QACtB,WAAM,GAAN,MAAM,CAAgB;QACtB,qBAAgB,GAAhB,gBAAgB,CAAkB;QACf,QAAG,GAAH,GAAG,CAAK;QAC3B,kBAAa,GAAb,aAAa,CAAgB;QAdtC,aAAQ,GAAc,EAAE,CAAC;QACzB,aAAQ,GAAG,KAAK,CAAC;QACjB,cAAS,GAAG,KAAK,CAAC;QAEV,eAAU,GAAG,IAAI,OAAO,EAAE,CAAC;QAC3B,YAAO,GAAuB,IAAI,CAAC;KAY1C;IArCD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC;KAC/B;IAED,IAAI,SAAS;QACX,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;YAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,eAAgB,CAAC,SAAS,CAAC;SAC5C;aAAM;YACL,OAAQ,IAAI,CAAC,MAAsB,CAAC,SAAS,CAAC;SAC/C;KACF;IAED,IAAI,SAAS,CAAC,GAAW;QACvB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;YAC1B,IAAI,CAAC,GAAG,CAAC,eAAgB,CAAC,SAAS,GAAG,GAAG,CAAC;SAC3C;aAAM;YACJ,IAAI,CAAC,MAAsB,CAAC,SAAS,GAAG,GAAG,CAAC;SAC9C;KACF;IAoBD,WAAW,CAAC,OAAsB;QAChC,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YACnG,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;KACF;IAED,QAAQ;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,WAAW;QACT,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;KAC/B;IAED,SAAS;QACP,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;KACvB;IAEO,cAAc;QACpB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACvB,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;aAC7B,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAClD,SAAS,CAAC;YACT,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB,CAAC,CAAC;KACN;IAEO,YAAY;;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,OAAO,GAAG,SAAS,IAAK,IAAI,CAAC,gBAA2B,CAAC;QAC/D,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE;YAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;oBAClC,OAAO,EAAE,IAAI,CAAC,UAAU;oBACxB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,aAAa,EAAE;wBACb,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CACpC,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAe,EAAE,IAAI,CAAC,MAAgB,EAAE,GAAG,CAAC,CAC3D;qBACF;iBACF,CAAC,CAAC;aACJ;iBAAM;gBACL,aAAA,IAAI,CAAC,SAAS,0CAAE,UAAU,0CAAE,WAAW,OAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;aACjF;YACD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;SAC1B;KACF;IAEO,QAAQ,CAAC,EAAU,EAAE,QAAgB;QAC3C,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QACvC,MAAM,OAAO,GAAG,CAAC,UAAU,GAAG,QAAQ,IAAI,EAAE,CAAC;QAC7C,YAAY,CAAC;YACX,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;YAC1C,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE,IAAI,QAAQ,IAAI,CAAC,EAAE;gBAC1C,OAAO;aACR;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,GAAG,EAAE,CAAC,CAAC;aAClC;SACF,CAAC,CAAC;KACJ;;;YAlHF,SAAS,SAAC;gBACT,QAAQ,EAAE,GAAG,cAAc,EAAE;gBAC7B,8RAAwC;gBAExC,aAAa,EAAE,iBAAiB,CAAC,IAAI;gBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;;YA1BC,SAAS;YACT,UAAU;YACV,iBAAiB;YAgBV,cAAc;YATrB,gBAAgB;4CAsDb,MAAM,SAAC,QAAQ;YAjDc,cAAc;;;yBAc7C,SAAS,SAAC,YAAY;;;MCpBZ,cAAc;;;YAL1B,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;gBACnD,OAAO,EAAE,CAAC,iBAAiB,CAAC;gBAC5B,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,CAAC;aACpD;;;ACXD;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-badge.js","sources":["../../../../lib/ng-nest/ui/badge/badge.property.ts","../../../../lib/ng-nest/ui/badge/badge.component.ts","../../../../lib/ng-nest/ui/badge/badge.module.ts","../../../../lib/ng-nest/ui/badge/ng-nest-ui-badge.ts"],"sourcesContent":["import { XProperty, XInputNumber, XInputBoolean, XNumber, XBoolean, XType, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Badge\r\n * @selector x-badge\r\n * @decorator component\r\n */\r\nexport const XBadgePrefix = 'x-badge';\r\nconst X_CONFIG_NAME = 'badge';\r\n\r\n/**\r\n * Badge Property\r\n */\r\n@Component({ template: '' })\r\nexport class XBadgeProperty extends XProperty {\r\n /**\r\n * @zh_CN 背景颜色\r\n * @en_US Background color\r\n */\r\n @Input() @XWithConfig<XBadgeType>(X_CONFIG_NAME, 'danger') type: XBadgeType;\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n */\r\n @Input() @XInputNumber() max: XNumber;\r\n /**\r\n * @zh_CN 显示值\r\n * @en_US Display value\r\n */\r\n @Input() value: XNumber = '';\r\n /**\r\n * @zh_CN 是否显示小红点\r\n * @en_US Whether to show the small red dot\r\n */\r\n @Input() @XInputBoolean() dot: XBoolean;\r\n}\r\n\r\n/**\r\n * @zh_CN 标记类型\r\n * @en_US Mark type\r\n */\r\nexport type XBadgeType = XType;\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges\r\n} from '@angular/core';\r\nimport { XBadgePrefix, XBadgeProperty } from './badge.property';\r\nimport { XIsNumber, XIsChange, XIsEmpty, XConfigService } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XBadgePrefix}`,\r\n templateUrl: './badge.component.html',\r\n styleUrls: ['./badge.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XBadgeComponent extends XBadgeProperty implements OnInit, OnChanges {\r\n displayValue: string = '';\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\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.value) && this.setDisplayValue();\r\n }\r\n\r\n setClassMap() {\r\n this.classMap[`${XBadgePrefix}-${this.type}`] = !XIsEmpty(this.type);\r\n }\r\n\r\n setDisplayValue() {\r\n let toNumber = Number(this.value);\r\n if (XIsNumber(toNumber) && this.max && toNumber > this.max) {\r\n this.displayValue = `${this.max}+`;\r\n } else {\r\n this.displayValue = `${this.value}`;\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XBadgeComponent } from './badge.component';\r\nimport { XBadgeProperty } from './badge.property';\r\n\r\n@NgModule({\r\n declarations: [XBadgeComponent, XBadgeProperty],\r\n exports: [XBadgeComponent],\r\n imports: [CommonModule]\r\n})\r\nexport class XBadgeModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAGA;;;;;MAKa,YAAY,GAAG,UAAU;AACtC,MAAM,aAAa,GAAG,OAAO,CAAC;AAE9B;;;MAIa,cAAe,SAAQ,SAAS;IAD7C;;;;;;QAgBW,UAAK,GAAY,EAAE,CAAC;KAM9B;;;YAtBA,SAAS,SAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;;;mBAMxB,KAAK;kBAKL,KAAK;oBAKL,KAAK;kBAKL,KAAK;;AAfqD;IAAjD,WAAW,CAAa,aAAa,EAAE,QAAQ,CAAC;;4CAAkB;AAKnD;IAAf,YAAY,EAAE;;2CAAc;AAUZ;IAAhB,aAAa,EAAE;;2CAAe;;MCd7B,eAAgB,SAAQ,cAAc;IAGjD,YACS,QAAmB,EACnB,UAAsB,EACtB,GAAsB,EACtB,aAA6B;QAEpC,KAAK,EAAE,CAAC;QALD,aAAQ,GAAR,QAAQ,CAAW;QACnB,eAAU,GAAV,UAAU,CAAY;QACtB,QAAG,GAAH,GAAG,CAAmB;QACtB,kBAAa,GAAb,aAAa,CAAgB;QANtC,iBAAY,GAAW,EAAE,CAAC;KASzB;IAED,QAAQ;QACN,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAED,WAAW,CAAC,OAAsB;QAChC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;KACpD;IAED,WAAW;QACT,IAAI,CAAC,QAAQ,CAAC,GAAG,YAAY,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACtE;IAED,eAAe;QACb,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE;YAC1D,IAAI,CAAC,YAAY,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;SACrC;KACF;;;YAtCF,SAAS,SAAC;gBACT,QAAQ,EAAE,GAAG,YAAY,EAAE;gBAC3B,uOAAqC;gBAErC,aAAa,EAAE,iBAAiB,CAAC,IAAI;gBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;;YAhBC,SAAS;YACT,UAAU;YACV,iBAAiB;YAMsB,cAAc;;;MCF1C,YAAY;;;YALxB,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC;gBAC/C,OAAO,EAAE,CAAC,eAAe,CAAC;gBAC1B,OAAO,EAAE,CAAC,YAAY,CAAC;aACxB;;;ACTD;;;;;;"}
1
+ {"version":3,"file":"ng-nest-ui-badge.js","sources":["../../../../lib/ng-nest/ui/badge/badge.property.ts","../../../../lib/ng-nest/ui/badge/badge.component.ts","../../../../lib/ng-nest/ui/badge/badge.module.ts","../../../../lib/ng-nest/ui/badge/ng-nest-ui-badge.ts"],"sourcesContent":["import { XProperty, XInputNumber, XInputBoolean, XNumber, XBoolean, XType, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Badge\r\n * @selector x-badge\r\n * @decorator component\r\n */\r\nexport const XBadgePrefix = 'x-badge';\r\nconst X_CONFIG_NAME = 'badge';\r\n\r\n/**\r\n * Badge Property\r\n */\r\n@Component({ template: '' })\r\nexport class XBadgeProperty extends XProperty {\r\n /**\r\n * @zh_CN 背景颜色\r\n * @en_US Background color\r\n */\r\n @Input() @XWithConfig<XBadgeType>(X_CONFIG_NAME, 'danger') type?: XBadgeType;\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n */\r\n @Input() @XInputNumber() max?: XNumber;\r\n /**\r\n * @zh_CN 显示值\r\n * @en_US Display value\r\n */\r\n @Input() value: XNumber = '';\r\n /**\r\n * @zh_CN 是否显示小红点\r\n * @en_US Whether to show the small red dot\r\n */\r\n @Input() @XInputBoolean() dot?: XBoolean;\r\n}\r\n\r\n/**\r\n * @zh_CN 标记类型\r\n * @en_US Mark type\r\n */\r\nexport type XBadgeType = XType;\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges\r\n} from '@angular/core';\r\nimport { XBadgePrefix, XBadgeProperty } from './badge.property';\r\nimport { XIsNumber, XIsChange, XIsEmpty, XConfigService } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XBadgePrefix}`,\r\n templateUrl: './badge.component.html',\r\n styleUrls: ['./badge.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XBadgeComponent extends XBadgeProperty implements OnInit, OnChanges {\r\n displayValue: string = '';\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\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.value) && this.setDisplayValue();\r\n }\r\n\r\n setClassMap() {\r\n this.classMap[`${XBadgePrefix}-${this.type}`] = !XIsEmpty(this.type);\r\n }\r\n\r\n setDisplayValue() {\r\n let toNumber = Number(this.value);\r\n if (XIsNumber(toNumber) && this.max && toNumber > this.max) {\r\n this.displayValue = `${this.max}+`;\r\n } else {\r\n this.displayValue = `${this.value}`;\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XBadgeComponent } from './badge.component';\r\nimport { XBadgeProperty } from './badge.property';\r\n\r\n@NgModule({\r\n declarations: [XBadgeComponent, XBadgeProperty],\r\n exports: [XBadgeComponent],\r\n imports: [CommonModule]\r\n})\r\nexport class XBadgeModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAGA;;;;;MAKa,YAAY,GAAG,UAAU;AACtC,MAAM,aAAa,GAAG,OAAO,CAAC;AAE9B;;;MAIa,cAAe,SAAQ,SAAS;IAD7C;;;;;;QAgBW,UAAK,GAAY,EAAE,CAAC;KAM9B;;;YAtBA,SAAS,SAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;;;mBAMxB,KAAK;kBAKL,KAAK;oBAKL,KAAK;kBAKL,KAAK;;AAfqD;IAAjD,WAAW,CAAa,aAAa,EAAE,QAAQ,CAAC;;4CAAmB;AAKpD;IAAf,YAAY,EAAE;;2CAAe;AAUb;IAAhB,aAAa,EAAE;;2CAAgB;;MCd9B,eAAgB,SAAQ,cAAc;IAGjD,YACS,QAAmB,EACnB,UAAsB,EACtB,GAAsB,EACtB,aAA6B;QAEpC,KAAK,EAAE,CAAC;QALD,aAAQ,GAAR,QAAQ,CAAW;QACnB,eAAU,GAAV,UAAU,CAAY;QACtB,QAAG,GAAH,GAAG,CAAmB;QACtB,kBAAa,GAAb,aAAa,CAAgB;QANtC,iBAAY,GAAW,EAAE,CAAC;KASzB;IAED,QAAQ;QACN,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAED,WAAW,CAAC,OAAsB;QAChC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;KACpD;IAED,WAAW;QACT,IAAI,CAAC,QAAQ,CAAC,GAAG,YAAY,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACtE;IAED,eAAe;QACb,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE;YAC1D,IAAI,CAAC,YAAY,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;SACrC;KACF;;;YAtCF,SAAS,SAAC;gBACT,QAAQ,EAAE,GAAG,YAAY,EAAE;gBAC3B,uOAAqC;gBAErC,aAAa,EAAE,iBAAiB,CAAC,IAAI;gBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;;YAhBC,SAAS;YACT,UAAU;YACV,iBAAiB;YAMsB,cAAc;;;MCF1C,YAAY;;;YALxB,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC;gBAC/C,OAAO,EAAE,CAAC,eAAe,CAAC;gBAC1B,OAAO,EAAE,CAAC,YAAY,CAAC;aACxB;;;ACTD;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-base-form.js","sources":["../../../../lib/ng-nest/ui/base-form/base-form.property.ts","../../../../lib/ng-nest/ui/base-form/base-form.component.ts","../../../../lib/ng-nest/ui/base-form/base-form.module.ts","../../../../lib/ng-nest/ui/base-form/ng-nest-ui-base-form.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\r\nimport { XAlign, XBoolean, XDirection, XInputBoolean, XJustify, XProperty, XSize } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * 表单对象共有的参数\r\n */\r\n@Component({ template: '' })\r\nexport class XFormProp extends XProperty {\r\n /**\r\n * 标签\r\n */\r\n @Input() label: string = '';\r\n /**\r\n * 标签宽度\r\n */\r\n @Input() labelWidth: string = '';\r\n /**\r\n * 标签文字对齐方式\r\n */\r\n @Input() labelAlign: XAlign = 'start';\r\n /**\r\n * flex 布局下的子元素水平排列方式\r\n */\r\n @Input() justify: XJustify = 'start';\r\n /**\r\n * flex 布局下的子元素垂直排列方式\r\n */\r\n @Input() align: XAlign = 'start';\r\n /**\r\n * flex 布局下的子元素排列方向\r\n */\r\n @Input() direction: XDirection = 'column';\r\n /**\r\n * 尺寸\r\n */\r\n @Input() size: XSize = 'medium';\r\n /**\r\n * 输入提示信息\r\n */\r\n @Input() placeholder: string = '';\r\n /**\r\n * 禁用\r\n */\r\n @Input() @XInputBoolean() disabled: XBoolean = false;\r\n /**\r\n * 必填\r\n */\r\n @Input() @XInputBoolean() required: XBoolean = false;\r\n /**\r\n * 正则验证规则\r\n */\r\n @Input() pattern: RegExp | RegExp[];\r\n /**\r\n * 验证不通过提示文字\r\n */\r\n @Input() message: string | string[];\r\n}\r\n\r\nexport interface XFormOption {\r\n /**\r\n * 标签\r\n */\r\n label?: any;\r\n /**\r\n * 标签宽度\r\n */\r\n labelWidth?: string;\r\n /**\r\n * 标签文字对齐方式\r\n */\r\n labelAlign?: XAlign;\r\n /**\r\n * flex 布局下的子元素水平排列方式\r\n */\r\n justify?: XJustify;\r\n /**\r\n * flex 布局下的子元素垂直排列方式\r\n */\r\n align?: XAlign;\r\n /**\r\n * flex 布局下的子元素排列方向\r\n */\r\n direction?: XDirection;\r\n /**\r\n * 尺寸\r\n */\r\n size?: XSize;\r\n /**\r\n * 输入提示信息\r\n */\r\n placeholder?: string;\r\n /**\r\n * 禁用\r\n */\r\n disabled?: XBoolean;\r\n /**\r\n * 必填\r\n */\r\n required?: XBoolean;\r\n /**\r\n * 正则验证规则\r\n */\r\n pattern?: RegExp | RegExp[];\r\n /**\r\n * 验证不通过提示文字\r\n */\r\n message?: string | string[];\r\n}\r\n","import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { Component, forwardRef, Renderer2, Type } from '@angular/core';\r\nimport { XJustify, XAlign, XDirection, XIsEmpty, XClassMap } from '@ng-nest/ui/core';\r\nimport { XFormProp } from './base-form.property';\r\n\r\n@Component({ template: '' })\r\nexport class XControlValueAccessor<T> extends XFormProp implements ControlValueAccessor {\r\n get invalid() {\r\n return !XIsEmpty(this.value) && this.invalidPattern;\r\n }\r\n get invalidPattern(): boolean {\r\n let result = false;\r\n let index = 0;\r\n if (Array.isArray(this.pattern)) {\r\n for (const pt of this.pattern) {\r\n result = !new RegExp(pt).test(this.value as any);\r\n if (result) {\r\n this.invalidIndex = index;\r\n break;\r\n }\r\n index++;\r\n }\r\n } else {\r\n result = !new RegExp(this.pattern).test(this.value as any);\r\n }\r\n return result;\r\n }\r\n get requiredIsEmpty() {\r\n return this.required && XIsEmpty(this.value);\r\n }\r\n get invalidMessage(): string {\r\n if (Array.isArray(this.message)) {\r\n return this.message.length > this.invalidIndex ? this.message[this.invalidIndex] : '';\r\n } else {\r\n return this.message;\r\n }\r\n }\r\n invalidIndex: number = 0;\r\n labelMap: XClassMap = {};\r\n value: T;\r\n onChange: (value: T) => void;\r\n onTouched: () => void;\r\n writeValue(value: T): void {\r\n this.value = value;\r\n }\r\n registerOnChange(fn: (value: T) => void): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState(disabled: boolean) {\r\n this.disabled = disabled;\r\n }\r\n setFlex(ele: Element, renderer: Renderer2, justify: XJustify, align: XAlign, direction: XDirection) {\r\n if (!XIsEmpty(justify)) renderer.addClass(ele, `x-justify-${this.justify}`);\r\n if (!XIsEmpty(align)) renderer.addClass(ele, `x-align-${this.align}`);\r\n if (!XIsEmpty(direction)) renderer.addClass(ele, `x-direction-${this.direction}`);\r\n }\r\n}\r\n\r\nexport function XValueAccessor<T>(component: Type<T>) {\r\n return { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => component), multi: true };\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { XControlValueAccessor } from './base-form.component';\r\nimport { XFormProp } from './base-form.property';\r\n\r\n@NgModule({\r\n declarations: [XControlValueAccessor, XFormProp],\r\n exports: [XControlValueAccessor, XFormProp]\r\n})\r\nexport class XBaseFormModule {}\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-base-form.js","sources":["../../../../lib/ng-nest/ui/base-form/base-form.property.ts","../../../../lib/ng-nest/ui/base-form/base-form.component.ts","../../../../lib/ng-nest/ui/base-form/base-form.module.ts","../../../../lib/ng-nest/ui/base-form/ng-nest-ui-base-form.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\r\nimport { XAlign, XBoolean, XDirection, XInputBoolean, XJustify, XProperty, XSize } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * 表单对象共有的参数\r\n */\r\n@Component({ template: '' })\r\nexport class XFormProp extends XProperty {\r\n /**\r\n * 标签\r\n */\r\n @Input() label?: string = '';\r\n /**\r\n * 标签宽度\r\n */\r\n @Input() labelWidth?: string = '';\r\n /**\r\n * 标签文字对齐方式\r\n */\r\n @Input() labelAlign?: XAlign = 'start';\r\n /**\r\n * flex 布局下的子元素水平排列方式\r\n */\r\n @Input() justify?: XJustify = 'start';\r\n /**\r\n * flex 布局下的子元素垂直排列方式\r\n */\r\n @Input() align?: XAlign = 'start';\r\n /**\r\n * flex 布局下的子元素排列方向\r\n */\r\n @Input() direction?: XDirection = 'column';\r\n /**\r\n * 尺寸\r\n */\r\n @Input() size?: XSize = 'medium';\r\n /**\r\n * 输入提示信息\r\n */\r\n @Input() placeholder?: string = '';\r\n /**\r\n * 禁用\r\n */\r\n @Input() @XInputBoolean() disabled: XBoolean = false;\r\n /**\r\n * 必填\r\n */\r\n @Input() @XInputBoolean() required: XBoolean = false;\r\n /**\r\n * 正则验证规则\r\n */\r\n @Input() pattern?: RegExp | RegExp[];\r\n /**\r\n * 验证不通过提示文字\r\n */\r\n @Input() message?: string | string[];\r\n}\r\n\r\nexport interface XFormOption {\r\n /**\r\n * 标签\r\n */\r\n label?: any;\r\n /**\r\n * 标签宽度\r\n */\r\n labelWidth?: string;\r\n /**\r\n * 标签文字对齐方式\r\n */\r\n labelAlign?: XAlign;\r\n /**\r\n * flex 布局下的子元素水平排列方式\r\n */\r\n justify?: XJustify;\r\n /**\r\n * flex 布局下的子元素垂直排列方式\r\n */\r\n align?: XAlign;\r\n /**\r\n * flex 布局下的子元素排列方向\r\n */\r\n direction?: XDirection;\r\n /**\r\n * 尺寸\r\n */\r\n size?: XSize;\r\n /**\r\n * 输入提示信息\r\n */\r\n placeholder?: string;\r\n /**\r\n * 禁用\r\n */\r\n disabled?: XBoolean;\r\n /**\r\n * 必填\r\n */\r\n required?: XBoolean;\r\n /**\r\n * 正则验证规则\r\n */\r\n pattern?: RegExp | RegExp[];\r\n /**\r\n * 验证不通过提示文字\r\n */\r\n message?: string | string[];\r\n}\r\n","import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { Component, forwardRef, Renderer2, Type } from '@angular/core';\r\nimport { XJustify, XAlign, XDirection, XIsEmpty, XClassMap } from '@ng-nest/ui/core';\r\nimport { XFormProp } from './base-form.property';\r\n\r\n@Component({ template: '' })\r\nexport class XControlValueAccessor<T> extends XFormProp implements ControlValueAccessor {\r\n get invalid() {\r\n return !XIsEmpty(this.value) && this.invalidPattern;\r\n }\r\n get invalidPattern(): boolean {\r\n let result = false;\r\n let index = 0;\r\n if (Array.isArray(this.pattern)) {\r\n for (const pt of this.pattern) {\r\n result = !new RegExp(pt).test(this.value as any);\r\n if (result) {\r\n this.invalidIndex = index;\r\n break;\r\n }\r\n index++;\r\n }\r\n } else {\r\n result = !new RegExp(this.pattern as RegExp).test(this.value as any);\r\n }\r\n return result;\r\n }\r\n get requiredIsEmpty() {\r\n return this.required && XIsEmpty(this.value);\r\n }\r\n get invalidMessage(): string {\r\n if (Array.isArray(this.message)) {\r\n return this.message.length > this.invalidIndex ? this.message[this.invalidIndex] : '';\r\n } else {\r\n return this.message as string;\r\n }\r\n }\r\n invalidIndex: number = 0;\r\n labelMap: XClassMap = {};\r\n value!: T;\r\n onChange!: (value: T) => void;\r\n onTouched!: () => void;\r\n writeValue(value: T): void {\r\n this.value = value;\r\n }\r\n registerOnChange(fn: (value: T) => void): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState(disabled: boolean) {\r\n this.disabled = disabled;\r\n }\r\n setFlex(ele: Element, renderer: Renderer2, justify?: XJustify, align?: XAlign, direction?: XDirection) {\r\n if (!XIsEmpty(justify)) renderer.addClass(ele, `x-justify-${this.justify}`);\r\n if (!XIsEmpty(align)) renderer.addClass(ele, `x-align-${this.align}`);\r\n if (!XIsEmpty(direction)) renderer.addClass(ele, `x-direction-${this.direction}`);\r\n }\r\n}\r\n\r\nexport function XValueAccessor<T>(component: Type<T>) {\r\n return { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => component), multi: true };\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { XControlValueAccessor } from './base-form.component';\r\nimport { XFormProp } from './base-form.property';\r\n\r\n@NgModule({\r\n declarations: [XControlValueAccessor, XFormProp],\r\n exports: [XControlValueAccessor, XFormProp]\r\n})\r\nexport class XBaseFormModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ class XBorderComponent {
19
19
  XBorderComponent.decorators = [
20
20
  { type: Component, args: [{
21
21
  selector: 'x-border',
22
- template: "",
22
+ template: '',
23
23
  encapsulation: ViewEncapsulation.None,
24
24
  changeDetection: ChangeDetectionStrategy.OnPush,
25
25
  styles: [".x-border{margin:0;padding:0}"]
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-border.js","sources":["../../../../lib/ng-nest/ui/border/border.property.ts","../../../../lib/ng-nest/ui/border/border.component.ts","../../../../lib/ng-nest/ui/border/border.module.ts","../../../../lib/ng-nest/ui/border/ng-nest-ui-border.ts"],"sourcesContent":["/**\r\n * Border\r\n * @selector x-border\r\n * @decorator component\r\n */\r\nexport const XBorderPrefix = 'x-border';\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, Renderer2, ElementRef } from '@angular/core';\r\nimport { XBorderPrefix } from './border.property';\r\nimport { XConfigService } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: 'x-border',\r\n templateUrl: './border.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XBorderComponent {\r\n constructor(private renderer: Renderer2, private elementRef: ElementRef, public configService: XConfigService) {\r\n this.renderer.addClass(this.elementRef.nativeElement, XBorderPrefix);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { XBorderComponent } from './border.component';\r\n\r\n@NgModule({\r\n declarations: [XBorderComponent],\r\n exports: [XBorderComponent]\r\n})\r\nexport class XBorderModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAAA;;;;;MAKa,aAAa,GAAG;;MCMhB,gBAAgB;IAC3B,YAAoB,QAAmB,EAAU,UAAsB,EAAS,aAA6B;QAAzF,aAAQ,GAAR,QAAQ,CAAW;QAAU,eAAU,GAAV,UAAU,CAAY;QAAS,kBAAa,GAAb,aAAa,CAAgB;QAC3G,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;KACtE;;;YAVF,SAAS,SAAC;gBACT,QAAQ,EAAE,UAAU;gBACpB,YAAsC;gBAEtC,aAAa,EAAE,iBAAiB,CAAC,IAAI;gBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;;YAV+D,SAAS;YAAE,UAAU;YAE5E,cAAc;;;MCKV,aAAa;;;YAJzB,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;gBAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;aAC5B;;;ACND;;;;;;"}
1
+ {"version":3,"file":"ng-nest-ui-border.js","sources":["../../../../lib/ng-nest/ui/border/border.property.ts","../../../../lib/ng-nest/ui/border/border.component.ts","../../../../lib/ng-nest/ui/border/border.module.ts","../../../../lib/ng-nest/ui/border/ng-nest-ui-border.ts"],"sourcesContent":["/**\r\n * Border\r\n * @selector x-border\r\n * @decorator component\r\n */\r\nexport const XBorderPrefix = 'x-border';\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, Renderer2, ElementRef } from '@angular/core';\r\nimport { XBorderPrefix } from './border.property';\r\nimport { XConfigService } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: 'x-border',\r\n template: '',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XBorderComponent {\r\n constructor(private renderer: Renderer2, private elementRef: ElementRef, public configService: XConfigService) {\r\n this.renderer.addClass(this.elementRef.nativeElement, XBorderPrefix);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { XBorderComponent } from './border.component';\r\n\r\n@NgModule({\r\n declarations: [XBorderComponent],\r\n exports: [XBorderComponent]\r\n})\r\nexport class XBorderModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAAA;;;;;MAKa,aAAa,GAAG;;MCMhB,gBAAgB;IAC3B,YAAoB,QAAmB,EAAU,UAAsB,EAAS,aAA6B;QAAzF,aAAQ,GAAR,QAAQ,CAAW;QAAU,eAAU,GAAV,UAAU,CAAY;QAAS,kBAAa,GAAb,aAAa,CAAgB;QAC3G,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;KACtE;;;YAVF,SAAS,SAAC;gBACT,QAAQ,EAAE,UAAU;gBACpB,QAAQ,EAAE,EAAE;gBAEZ,aAAa,EAAE,iBAAiB,CAAC,IAAI;gBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;;YAV+D,SAAS;YAAE,UAAU;YAE5E,cAAc;;;MCKV,aAAa;;;YAJzB,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;gBAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;aAC5B;;;ACND;;;;;;"}