@ng-nest/ui 12.0.8 → 12.1.1

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 (454) hide show
  1. package/alert/alert.component.d.ts +2 -1
  2. package/auto-complete/auto-complete-portal.component.d.ts +1 -3
  3. package/auto-complete/auto-complete.component.d.ts +1 -1
  4. package/back-top/back-top.component.d.ts +1 -2
  5. package/bundles/ng-nest-ui-alert.umd.js +6 -1
  6. package/bundles/ng-nest-ui-alert.umd.js.map +1 -1
  7. package/bundles/ng-nest-ui-anchor.umd.js +1 -1
  8. package/bundles/ng-nest-ui-anchor.umd.js.map +1 -1
  9. package/bundles/ng-nest-ui-auto-complete.umd.js +7 -6
  10. package/bundles/ng-nest-ui-auto-complete.umd.js.map +1 -1
  11. package/bundles/ng-nest-ui-back-top.umd.js +2 -2
  12. package/bundles/ng-nest-ui-back-top.umd.js.map +1 -1
  13. package/bundles/ng-nest-ui-badge.umd.js +2 -1
  14. package/bundles/ng-nest-ui-badge.umd.js.map +1 -1
  15. package/bundles/ng-nest-ui-button.umd.js +4 -3
  16. package/bundles/ng-nest-ui-button.umd.js.map +1 -1
  17. package/bundles/ng-nest-ui-calendar.umd.js +4 -3
  18. package/bundles/ng-nest-ui-calendar.umd.js.map +1 -1
  19. package/bundles/ng-nest-ui-carousel.umd.js +13 -12
  20. package/bundles/ng-nest-ui-carousel.umd.js.map +1 -1
  21. package/bundles/ng-nest-ui-cascade.umd.js +9 -9
  22. package/bundles/ng-nest-ui-cascade.umd.js.map +1 -1
  23. package/bundles/ng-nest-ui-checkbox.umd.js +3 -2
  24. package/bundles/ng-nest-ui-checkbox.umd.js.map +1 -1
  25. package/bundles/ng-nest-ui-color-picker.umd.js +9 -10
  26. package/bundles/ng-nest-ui-color-picker.umd.js.map +1 -1
  27. package/bundles/ng-nest-ui-color.umd.js +1 -1
  28. package/bundles/ng-nest-ui-color.umd.js.map +1 -1
  29. package/bundles/ng-nest-ui-comment.umd.js +3 -2
  30. package/bundles/ng-nest-ui-comment.umd.js.map +1 -1
  31. package/bundles/ng-nest-ui-container.umd.js.map +1 -1
  32. package/bundles/ng-nest-ui-core.umd.js +3 -3
  33. package/bundles/ng-nest-ui-core.umd.js.map +1 -1
  34. package/bundles/ng-nest-ui-crumb.umd.js +3 -2
  35. package/bundles/ng-nest-ui-crumb.umd.js.map +1 -1
  36. package/bundles/ng-nest-ui-date-picker.umd.js +34 -44
  37. package/bundles/ng-nest-ui-date-picker.umd.js.map +1 -1
  38. package/bundles/ng-nest-ui-description.umd.js +5 -6
  39. package/bundles/ng-nest-ui-description.umd.js.map +1 -1
  40. package/bundles/ng-nest-ui-dialog.umd.js +285 -32
  41. package/bundles/ng-nest-ui-dialog.umd.js.map +1 -1
  42. package/bundles/ng-nest-ui-drawer.umd.js +247 -15
  43. package/bundles/ng-nest-ui-drawer.umd.js.map +1 -1
  44. package/bundles/ng-nest-ui-dropdown.umd.js +4 -3
  45. package/bundles/ng-nest-ui-dropdown.umd.js.map +1 -1
  46. package/bundles/ng-nest-ui-find.umd.js +33 -8
  47. package/bundles/ng-nest-ui-find.umd.js.map +1 -1
  48. package/bundles/ng-nest-ui-form.umd.js +6 -10
  49. package/bundles/ng-nest-ui-form.umd.js.map +1 -1
  50. package/bundles/ng-nest-ui-highlight.umd.js +2 -1
  51. package/bundles/ng-nest-ui-highlight.umd.js.map +1 -1
  52. package/bundles/ng-nest-ui-i18n.umd.js +2 -1
  53. package/bundles/ng-nest-ui-i18n.umd.js.map +1 -1
  54. package/bundles/ng-nest-ui-icon.umd.js +3 -2
  55. package/bundles/ng-nest-ui-icon.umd.js.map +1 -1
  56. package/bundles/ng-nest-ui-inner.umd.js +1 -1
  57. package/bundles/ng-nest-ui-inner.umd.js.map +1 -1
  58. package/bundles/ng-nest-ui-input.umd.js +9 -7
  59. package/bundles/ng-nest-ui-input.umd.js.map +1 -1
  60. package/bundles/ng-nest-ui-list.umd.js +4 -3
  61. package/bundles/ng-nest-ui-list.umd.js.map +1 -1
  62. package/bundles/ng-nest-ui-loading.umd.js +2 -1
  63. package/bundles/ng-nest-ui-loading.umd.js.map +1 -1
  64. package/bundles/ng-nest-ui-menu.umd.js +6 -6
  65. package/bundles/ng-nest-ui-menu.umd.js.map +1 -1
  66. package/bundles/ng-nest-ui-message-box.umd.js +28 -26
  67. package/bundles/ng-nest-ui-message-box.umd.js.map +1 -1
  68. package/bundles/ng-nest-ui-message.umd.js +53 -17
  69. package/bundles/ng-nest-ui-message.umd.js.map +1 -1
  70. package/bundles/ng-nest-ui-notification.umd.js +1 -1
  71. package/bundles/ng-nest-ui-notification.umd.js.map +1 -1
  72. package/bundles/ng-nest-ui-pagination.umd.js +3 -2
  73. package/bundles/ng-nest-ui-pagination.umd.js.map +1 -1
  74. package/bundles/ng-nest-ui-popconfirm.umd.js +33 -4
  75. package/bundles/ng-nest-ui-popconfirm.umd.js.map +1 -1
  76. package/bundles/ng-nest-ui-popover.umd.js +15 -3
  77. package/bundles/ng-nest-ui-popover.umd.js.map +1 -1
  78. package/bundles/ng-nest-ui-portal.umd.js +8 -8
  79. package/bundles/ng-nest-ui-portal.umd.js.map +1 -1
  80. package/bundles/ng-nest-ui-progress.umd.js +236 -20
  81. package/bundles/ng-nest-ui-progress.umd.js.map +1 -1
  82. package/bundles/ng-nest-ui-radio.umd.js +3 -2
  83. package/bundles/ng-nest-ui-radio.umd.js.map +1 -1
  84. package/bundles/ng-nest-ui-rate.umd.js +5 -5
  85. package/bundles/ng-nest-ui-rate.umd.js.map +1 -1
  86. package/bundles/ng-nest-ui-ripple.umd.js.map +1 -1
  87. package/bundles/ng-nest-ui-select.umd.js +7 -6
  88. package/bundles/ng-nest-ui-select.umd.js.map +1 -1
  89. package/bundles/ng-nest-ui-skeleton.umd.js +2 -1
  90. package/bundles/ng-nest-ui-skeleton.umd.js.map +1 -1
  91. package/bundles/ng-nest-ui-slider.umd.js +7 -8
  92. package/bundles/ng-nest-ui-slider.umd.js.map +1 -1
  93. package/bundles/ng-nest-ui-statistic.umd.js +6 -4
  94. package/bundles/ng-nest-ui-statistic.umd.js.map +1 -1
  95. package/bundles/ng-nest-ui-steps.umd.js +23 -10
  96. package/bundles/ng-nest-ui-steps.umd.js.map +1 -1
  97. package/bundles/ng-nest-ui-table.umd.js +13 -10
  98. package/bundles/ng-nest-ui-table.umd.js.map +1 -1
  99. package/bundles/ng-nest-ui-tabs.umd.js +5 -4
  100. package/bundles/ng-nest-ui-tabs.umd.js.map +1 -1
  101. package/bundles/ng-nest-ui-tag.umd.js +2 -1
  102. package/bundles/ng-nest-ui-tag.umd.js.map +1 -1
  103. package/bundles/ng-nest-ui-text-retract.umd.js +2 -1
  104. package/bundles/ng-nest-ui-text-retract.umd.js.map +1 -1
  105. package/bundles/ng-nest-ui-textarea.umd.js +3 -12
  106. package/bundles/ng-nest-ui-textarea.umd.js.map +1 -1
  107. package/bundles/ng-nest-ui-theme.umd.js +2 -2
  108. package/bundles/ng-nest-ui-theme.umd.js.map +1 -1
  109. package/bundles/ng-nest-ui-time-picker.umd.js +32 -15
  110. package/bundles/ng-nest-ui-time-picker.umd.js.map +1 -1
  111. package/bundles/ng-nest-ui-timeline.umd.js +3 -2
  112. package/bundles/ng-nest-ui-timeline.umd.js.map +1 -1
  113. package/bundles/ng-nest-ui-tooltip.umd.js +3 -2
  114. package/bundles/ng-nest-ui-tooltip.umd.js.map +1 -1
  115. package/bundles/ng-nest-ui-transfer.umd.js +3 -2
  116. package/bundles/ng-nest-ui-transfer.umd.js.map +1 -1
  117. package/bundles/ng-nest-ui-tree.umd.js +8 -7
  118. package/bundles/ng-nest-ui-tree.umd.js.map +1 -1
  119. package/bundles/ng-nest-ui-upload.umd.js +5 -4
  120. package/bundles/ng-nest-ui-upload.umd.js.map +1 -1
  121. package/button/buttons.component.d.ts +1 -1
  122. package/calendar/calendar.component.d.ts +2 -2
  123. package/carousel/carousel-panel.component.d.ts +2 -3
  124. package/carousel/carousel.component.d.ts +1 -1
  125. package/cascade/cascade-portal.component.d.ts +4 -7
  126. package/cascade/cascade.component.d.ts +1 -1
  127. package/checkbox/checkbox.component.d.ts +1 -1
  128. package/color/color.component.d.ts +2 -2
  129. package/color-picker/color-picker-portal.component.d.ts +1 -3
  130. package/color-picker/color-picker.component.d.ts +2 -3
  131. package/comment/comment.component.d.ts +1 -1
  132. package/core/config/config.d.ts +7 -0
  133. package/core/interfaces/layout.type.d.ts +1 -1
  134. package/core/services/reuse-strategy.service.d.ts +1 -1
  135. package/crumb/crumb.component.d.ts +1 -1
  136. package/date-picker/date-picker-portal.component.d.ts +1 -3
  137. package/date-picker/date-picker.component.d.ts +3 -4
  138. package/date-picker/date-picker.property.d.ts +1 -16
  139. package/date-picker/date-range-portal.component.d.ts +1 -3
  140. package/date-picker/date-range.component.d.ts +2 -3
  141. package/date-picker/picker-date.component.d.ts +1 -1
  142. package/date-picker/picker-month.component.d.ts +1 -1
  143. package/date-picker/picker-year.component.d.ts +1 -1
  144. package/description/description.component.d.ts +2 -4
  145. package/dialog/dialog-container.component.d.ts +18 -0
  146. package/dialog/dialog-container.directives.d.ts +24 -0
  147. package/dialog/dialog-ref.d.ts +9 -0
  148. package/dialog/dialog.module.d.ts +13 -11
  149. package/dialog/dialog.property.d.ts +84 -6
  150. package/dialog/dialog.service.d.ts +19 -0
  151. package/dialog/public-api.d.ts +4 -0
  152. package/drawer/drawer-container.component.d.ts +18 -0
  153. package/drawer/drawer-container.directives.d.ts +19 -0
  154. package/drawer/drawer-ref.d.ts +9 -0
  155. package/drawer/drawer.module.d.ts +8 -6
  156. package/drawer/drawer.property.d.ts +83 -2
  157. package/drawer/drawer.service.d.ts +19 -0
  158. package/drawer/public-api.d.ts +5 -0
  159. package/dropdown/dropdown-portal.component.d.ts +1 -3
  160. package/dropdown/dropdown.component.d.ts +2 -2
  161. package/esm2015/alert/alert.component.js +8 -3
  162. package/esm2015/anchor/anchor.component.js +2 -2
  163. package/esm2015/anchor/anchor.property.js +1 -1
  164. package/esm2015/auto-complete/auto-complete-portal.component.js +4 -4
  165. package/esm2015/auto-complete/auto-complete.component.js +5 -4
  166. package/esm2015/auto-complete/auto-complete.property.js +1 -1
  167. package/esm2015/back-top/back-top.component.js +3 -3
  168. package/esm2015/badge/badge.component.js +3 -2
  169. package/esm2015/button/button.component.js +5 -4
  170. package/esm2015/button/buttons.component.js +1 -1
  171. package/esm2015/calendar/calendar.component.js +5 -4
  172. package/esm2015/carousel/carousel-panel.component.js +12 -11
  173. package/esm2015/carousel/carousel.component.js +4 -3
  174. package/esm2015/cascade/cascade-portal.component.js +6 -7
  175. package/esm2015/cascade/cascade.component.js +5 -4
  176. package/esm2015/checkbox/checkbox.component.js +4 -3
  177. package/esm2015/checkbox/checkbox.property.js +1 -1
  178. package/esm2015/color/color.component.js +2 -2
  179. package/esm2015/color-picker/color-picker-portal.component.js +3 -3
  180. package/esm2015/color-picker/color-picker.component.js +8 -9
  181. package/esm2015/comment/comment.component.js +4 -3
  182. package/esm2015/container/container.component.js +2 -2
  183. package/esm2015/core/animation/fade.js +1 -1
  184. package/esm2015/core/config/config.js +1 -1
  185. package/esm2015/core/interfaces/layout.type.js +1 -1
  186. package/esm2015/core/services/http.service.js +2 -2
  187. package/esm2015/core/services/preloading-strategy.service.js +2 -2
  188. package/esm2015/core/services/reuse-strategy.service.js +2 -2
  189. package/esm2015/crumb/crumb.component.js +4 -3
  190. package/esm2015/date-picker/date-picker-portal.component.js +4 -4
  191. package/esm2015/date-picker/date-picker.component.js +9 -13
  192. package/esm2015/date-picker/date-picker.property.js +8 -17
  193. package/esm2015/date-picker/date-range-portal.component.js +2 -2
  194. package/esm2015/date-picker/date-range.component.js +7 -7
  195. package/esm2015/date-picker/picker-date.component.js +4 -3
  196. package/esm2015/date-picker/picker-month.component.js +4 -3
  197. package/esm2015/date-picker/picker-year.component.js +4 -3
  198. package/esm2015/description/description.component.js +6 -7
  199. package/esm2015/dialog/dialog-container.component.js +59 -0
  200. package/esm2015/dialog/dialog-container.directives.js +73 -0
  201. package/esm2015/dialog/dialog-ref.js +17 -0
  202. package/esm2015/dialog/dialog.component.js +4 -3
  203. package/esm2015/dialog/dialog.module.js +37 -7
  204. package/esm2015/dialog/dialog.property.js +17 -16
  205. package/esm2015/dialog/dialog.service.js +67 -0
  206. package/esm2015/dialog/public-api.js +5 -1
  207. package/esm2015/drawer/drawer-container.component.js +59 -0
  208. package/esm2015/drawer/drawer-container.directives.js +57 -0
  209. package/esm2015/drawer/drawer-ref.js +17 -0
  210. package/esm2015/drawer/drawer.component.js +4 -3
  211. package/esm2015/drawer/drawer.module.js +22 -6
  212. package/esm2015/drawer/drawer.property.js +22 -6
  213. package/esm2015/drawer/drawer.service.js +65 -0
  214. package/esm2015/drawer/public-api.js +6 -1
  215. package/esm2015/dropdown/dropdown-portal.component.js +2 -2
  216. package/esm2015/dropdown/dropdown.component.js +4 -3
  217. package/esm2015/find/find.component.js +18 -8
  218. package/esm2015/find/find.property.js +18 -2
  219. package/esm2015/form/control.component.js +1 -1
  220. package/esm2015/form/form.component.js +6 -5
  221. package/esm2015/form/form.property.js +3 -8
  222. package/esm2015/highlight/highlight.component.js +3 -2
  223. package/esm2015/highlight/highlight.property.js +1 -1
  224. package/esm2015/i18n/i18n.directive.js +3 -2
  225. package/esm2015/icon/icon.component.js +4 -3
  226. package/esm2015/inner/inner.component.js +2 -2
  227. package/esm2015/input/input-group.component.js +2 -4
  228. package/esm2015/input/input.component.js +9 -5
  229. package/esm2015/input/input.property.js +1 -1
  230. package/esm2015/list/list.component.js +5 -4
  231. package/esm2015/list/list.property.js +1 -1
  232. package/esm2015/loading/loading.component.js +3 -2
  233. package/esm2015/menu/menu-node.component.js +1 -1
  234. package/esm2015/menu/menu.component.js +7 -7
  235. package/esm2015/message/message-ref.js +12 -0
  236. package/esm2015/message/message.component.js +4 -4
  237. package/esm2015/message/message.property.js +2 -2
  238. package/esm2015/message/message.service.js +37 -15
  239. package/esm2015/message/public-api.js +2 -1
  240. package/esm2015/message-box/message-box.component.js +17 -21
  241. package/esm2015/message-box/message-box.service.js +7 -5
  242. package/esm2015/notification/notification.component.js +2 -2
  243. package/esm2015/notification/notification.property.js +1 -1
  244. package/esm2015/pagination/pagination.component.js +4 -3
  245. package/esm2015/popconfirm/popconfirm.component.js +25 -4
  246. package/esm2015/popconfirm/popconfirm.property.js +10 -3
  247. package/esm2015/popover/popover.directive.js +10 -3
  248. package/esm2015/popover/popover.property.js +7 -2
  249. package/esm2015/portal/portal.module.js +4 -3
  250. package/esm2015/portal/portal.service.js +8 -9
  251. package/esm2015/progress/progress.component.js +178 -15
  252. package/esm2015/progress/progress.property.js +50 -3
  253. package/esm2015/radio/radio.component.js +4 -3
  254. package/esm2015/radio/radio.property.js +1 -1
  255. package/esm2015/rate/rate.component.js +6 -6
  256. package/esm2015/ripple/ripple.directive.js +1 -1
  257. package/esm2015/ripple/ripple.property.js +1 -1
  258. package/esm2015/select/select-portal.component.js +3 -3
  259. package/esm2015/select/select.component.js +6 -5
  260. package/esm2015/skeleton/skeleton.component.js +3 -2
  261. package/esm2015/slider/slider.component.js +8 -9
  262. package/esm2015/statistic/countdown.component.js +5 -4
  263. package/esm2015/statistic/statistic.component.js +3 -2
  264. package/esm2015/steps/steps.component.js +18 -10
  265. package/esm2015/steps/steps.property.js +8 -3
  266. package/esm2015/table/drag.directive.js +2 -2
  267. package/esm2015/table/table-body.component.js +4 -3
  268. package/esm2015/table/table-foot.component.js +1 -1
  269. package/esm2015/table/table-head.component.js +5 -4
  270. package/esm2015/table/table.component.js +6 -5
  271. package/esm2015/table/table.property.js +1 -1
  272. package/esm2015/tabs/tab.component.js +1 -1
  273. package/esm2015/tabs/tabs.component.js +6 -5
  274. package/esm2015/tag/tag.component.js +3 -2
  275. package/esm2015/text-retract/text-retract.component.js +3 -2
  276. package/esm2015/textarea/textarea.component.js +3 -2
  277. package/esm2015/textarea/textarea.property.js +2 -12
  278. package/esm2015/theme/theme.component.js +3 -3
  279. package/esm2015/theme/theme.property.js +1 -1
  280. package/esm2015/time-picker/time-picker-frame.component.js +9 -5
  281. package/esm2015/time-picker/time-picker-portal.component.js +2 -2
  282. package/esm2015/time-picker/time-picker.component.js +25 -12
  283. package/esm2015/timeline/timeline.component.js +4 -3
  284. package/esm2015/tooltip/tooltip.directive.js +4 -3
  285. package/esm2015/tooltip/tooltip.property.js +1 -1
  286. package/esm2015/transfer/transfer.component.js +4 -3
  287. package/esm2015/tree/tree-node.component.js +2 -2
  288. package/esm2015/tree/tree.component.js +8 -7
  289. package/esm2015/tree/tree.property.js +1 -1
  290. package/esm2015/upload/upload-portal.component.js +2 -2
  291. package/esm2015/upload/upload.component.js +5 -4
  292. package/fesm2015/ng-nest-ui-alert.js +7 -2
  293. package/fesm2015/ng-nest-ui-alert.js.map +1 -1
  294. package/fesm2015/ng-nest-ui-anchor.js +1 -1
  295. package/fesm2015/ng-nest-ui-anchor.js.map +1 -1
  296. package/fesm2015/ng-nest-ui-auto-complete.js +7 -6
  297. package/fesm2015/ng-nest-ui-auto-complete.js.map +1 -1
  298. package/fesm2015/ng-nest-ui-back-top.js +2 -2
  299. package/fesm2015/ng-nest-ui-back-top.js.map +1 -1
  300. package/fesm2015/ng-nest-ui-badge.js +2 -1
  301. package/fesm2015/ng-nest-ui-badge.js.map +1 -1
  302. package/fesm2015/ng-nest-ui-button.js +4 -3
  303. package/fesm2015/ng-nest-ui-button.js.map +1 -1
  304. package/fesm2015/ng-nest-ui-calendar.js +4 -3
  305. package/fesm2015/ng-nest-ui-calendar.js.map +1 -1
  306. package/fesm2015/ng-nest-ui-carousel.js +12 -11
  307. package/fesm2015/ng-nest-ui-carousel.js.map +1 -1
  308. package/fesm2015/ng-nest-ui-cascade.js +9 -9
  309. package/fesm2015/ng-nest-ui-cascade.js.map +1 -1
  310. package/fesm2015/ng-nest-ui-checkbox.js +3 -2
  311. package/fesm2015/ng-nest-ui-checkbox.js.map +1 -1
  312. package/fesm2015/ng-nest-ui-color-picker.js +9 -10
  313. package/fesm2015/ng-nest-ui-color-picker.js.map +1 -1
  314. package/fesm2015/ng-nest-ui-color.js +1 -1
  315. package/fesm2015/ng-nest-ui-color.js.map +1 -1
  316. package/fesm2015/ng-nest-ui-comment.js +3 -2
  317. package/fesm2015/ng-nest-ui-comment.js.map +1 -1
  318. package/fesm2015/ng-nest-ui-container.js +1 -1
  319. package/fesm2015/ng-nest-ui-container.js.map +1 -1
  320. package/fesm2015/ng-nest-ui-core.js +3 -3
  321. package/fesm2015/ng-nest-ui-core.js.map +1 -1
  322. package/fesm2015/ng-nest-ui-crumb.js +3 -2
  323. package/fesm2015/ng-nest-ui-crumb.js.map +1 -1
  324. package/fesm2015/ng-nest-ui-date-picker.js +34 -44
  325. package/fesm2015/ng-nest-ui-date-picker.js.map +1 -1
  326. package/fesm2015/ng-nest-ui-description.js +5 -6
  327. package/fesm2015/ng-nest-ui-description.js.map +1 -1
  328. package/fesm2015/ng-nest-ui-dialog.js +256 -26
  329. package/fesm2015/ng-nest-ui-dialog.js.map +1 -1
  330. package/fesm2015/ng-nest-ui-drawer.js +226 -14
  331. package/fesm2015/ng-nest-ui-drawer.js.map +1 -1
  332. package/fesm2015/ng-nest-ui-dropdown.js +4 -3
  333. package/fesm2015/ng-nest-ui-dropdown.js.map +1 -1
  334. package/fesm2015/ng-nest-ui-find.js +34 -8
  335. package/fesm2015/ng-nest-ui-find.js.map +1 -1
  336. package/fesm2015/ng-nest-ui-form.js +7 -11
  337. package/fesm2015/ng-nest-ui-form.js.map +1 -1
  338. package/fesm2015/ng-nest-ui-highlight.js +2 -1
  339. package/fesm2015/ng-nest-ui-highlight.js.map +1 -1
  340. package/fesm2015/ng-nest-ui-i18n.js +2 -1
  341. package/fesm2015/ng-nest-ui-i18n.js.map +1 -1
  342. package/fesm2015/ng-nest-ui-icon.js +3 -2
  343. package/fesm2015/ng-nest-ui-icon.js.map +1 -1
  344. package/fesm2015/ng-nest-ui-inner.js +1 -1
  345. package/fesm2015/ng-nest-ui-inner.js.map +1 -1
  346. package/fesm2015/ng-nest-ui-input.js +9 -7
  347. package/fesm2015/ng-nest-ui-input.js.map +1 -1
  348. package/fesm2015/ng-nest-ui-list.js +4 -3
  349. package/fesm2015/ng-nest-ui-list.js.map +1 -1
  350. package/fesm2015/ng-nest-ui-loading.js +2 -1
  351. package/fesm2015/ng-nest-ui-loading.js.map +1 -1
  352. package/fesm2015/ng-nest-ui-menu.js +6 -6
  353. package/fesm2015/ng-nest-ui-menu.js.map +1 -1
  354. package/fesm2015/ng-nest-ui-message-box.js +22 -24
  355. package/fesm2015/ng-nest-ui-message-box.js.map +1 -1
  356. package/fesm2015/ng-nest-ui-message.js +51 -18
  357. package/fesm2015/ng-nest-ui-message.js.map +1 -1
  358. package/fesm2015/ng-nest-ui-notification.js +1 -1
  359. package/fesm2015/ng-nest-ui-notification.js.map +1 -1
  360. package/fesm2015/ng-nest-ui-pagination.js +3 -2
  361. package/fesm2015/ng-nest-ui-pagination.js.map +1 -1
  362. package/fesm2015/ng-nest-ui-popconfirm.js +33 -5
  363. package/fesm2015/ng-nest-ui-popconfirm.js.map +1 -1
  364. package/fesm2015/ng-nest-ui-popover.js +15 -3
  365. package/fesm2015/ng-nest-ui-popover.js.map +1 -1
  366. package/fesm2015/ng-nest-ui-portal.js +10 -10
  367. package/fesm2015/ng-nest-ui-portal.js.map +1 -1
  368. package/fesm2015/ng-nest-ui-progress.js +226 -17
  369. package/fesm2015/ng-nest-ui-progress.js.map +1 -1
  370. package/fesm2015/ng-nest-ui-radio.js +3 -2
  371. package/fesm2015/ng-nest-ui-radio.js.map +1 -1
  372. package/fesm2015/ng-nest-ui-rate.js +5 -5
  373. package/fesm2015/ng-nest-ui-rate.js.map +1 -1
  374. package/fesm2015/ng-nest-ui-ripple.js.map +1 -1
  375. package/fesm2015/ng-nest-ui-select.js +7 -6
  376. package/fesm2015/ng-nest-ui-select.js.map +1 -1
  377. package/fesm2015/ng-nest-ui-skeleton.js +2 -1
  378. package/fesm2015/ng-nest-ui-skeleton.js.map +1 -1
  379. package/fesm2015/ng-nest-ui-slider.js +7 -8
  380. package/fesm2015/ng-nest-ui-slider.js.map +1 -1
  381. package/fesm2015/ng-nest-ui-statistic.js +6 -4
  382. package/fesm2015/ng-nest-ui-statistic.js.map +1 -1
  383. package/fesm2015/ng-nest-ui-steps.js +24 -11
  384. package/fesm2015/ng-nest-ui-steps.js.map +1 -1
  385. package/fesm2015/ng-nest-ui-table.js +13 -10
  386. package/fesm2015/ng-nest-ui-table.js.map +1 -1
  387. package/fesm2015/ng-nest-ui-tabs.js +5 -4
  388. package/fesm2015/ng-nest-ui-tabs.js.map +1 -1
  389. package/fesm2015/ng-nest-ui-tag.js +2 -1
  390. package/fesm2015/ng-nest-ui-tag.js.map +1 -1
  391. package/fesm2015/ng-nest-ui-text-retract.js +2 -1
  392. package/fesm2015/ng-nest-ui-text-retract.js.map +1 -1
  393. package/fesm2015/ng-nest-ui-textarea.js +3 -12
  394. package/fesm2015/ng-nest-ui-textarea.js.map +1 -1
  395. package/fesm2015/ng-nest-ui-theme.js +2 -2
  396. package/fesm2015/ng-nest-ui-theme.js.map +1 -1
  397. package/fesm2015/ng-nest-ui-time-picker.js +33 -16
  398. package/fesm2015/ng-nest-ui-time-picker.js.map +1 -1
  399. package/fesm2015/ng-nest-ui-timeline.js +3 -2
  400. package/fesm2015/ng-nest-ui-timeline.js.map +1 -1
  401. package/fesm2015/ng-nest-ui-tooltip.js +3 -2
  402. package/fesm2015/ng-nest-ui-tooltip.js.map +1 -1
  403. package/fesm2015/ng-nest-ui-transfer.js +3 -2
  404. package/fesm2015/ng-nest-ui-transfer.js.map +1 -1
  405. package/fesm2015/ng-nest-ui-tree.js +8 -7
  406. package/fesm2015/ng-nest-ui-tree.js.map +1 -1
  407. package/fesm2015/ng-nest-ui-upload.js +5 -4
  408. package/fesm2015/ng-nest-ui-upload.js.map +1 -1
  409. package/find/find.component.d.ts +1 -1
  410. package/find/find.property.d.ts +31 -1
  411. package/form/control.component.d.ts +1 -1
  412. package/form/form.component.d.ts +1 -1
  413. package/form/form.property.d.ts +6 -6
  414. package/inner/inner.component.d.ts +1 -1
  415. package/input/input-group.component.d.ts +2 -4
  416. package/list/list.component.d.ts +2 -2
  417. package/menu/menu.component.d.ts +1 -1
  418. package/message/message-ref.d.ts +8 -0
  419. package/message/message.component.d.ts +3 -3
  420. package/message/message.property.d.ts +24 -4
  421. package/message/message.service.d.ts +4 -1
  422. package/message/public-api.d.ts +1 -0
  423. package/message-box/message-box.component.d.ts +2 -1
  424. package/notification/notification.component.d.ts +1 -1
  425. package/package.json +1 -1
  426. package/pagination/pagination.component.d.ts +1 -1
  427. package/popconfirm/popconfirm.component.d.ts +6 -2
  428. package/popconfirm/popconfirm.property.d.ts +13 -2
  429. package/popover/popover.property.d.ts +6 -1
  430. package/portal/portal.module.d.ts +1 -1
  431. package/portal/portal.service.d.ts +2 -3
  432. package/progress/progress.component.d.ts +31 -3
  433. package/progress/progress.property.d.ts +80 -5
  434. package/radio/radio.component.d.ts +1 -1
  435. package/rate/rate.component.d.ts +5 -5
  436. package/select/select-portal.component.d.ts +1 -3
  437. package/select/select.component.d.ts +1 -1
  438. package/slider/slider.component.d.ts +1 -1
  439. package/steps/steps.component.d.ts +1 -1
  440. package/steps/steps.property.d.ts +7 -2
  441. package/table/table-body.component.d.ts +1 -1
  442. package/table/table-head.component.d.ts +1 -1
  443. package/table/table.component.d.ts +1 -1
  444. package/table/table.property.d.ts +11 -1
  445. package/textarea/textarea.property.d.ts +1 -6
  446. package/theme/theme.component.d.ts +1 -1
  447. package/time-picker/time-picker-frame.component.d.ts +1 -0
  448. package/time-picker/time-picker-portal.component.d.ts +1 -3
  449. package/time-picker/time-picker.component.d.ts +5 -3
  450. package/timeline/timeline.component.d.ts +1 -1
  451. package/transfer/transfer.component.d.ts +1 -1
  452. package/tree/tree-node.component.d.ts +1 -1
  453. package/tree/tree.component.d.ts +1 -1
  454. package/upload/upload.component.d.ts +3 -3
@@ -162,9 +162,10 @@ class XIconComponent extends XIconProperty {
162
162
  }
163
163
  ngOnInit() { }
164
164
  ngOnChanges(changes) {
165
- if (XIsChange(changes.type)) {
165
+ const { type } = changes;
166
+ if (XIsChange(type)) {
166
167
  this.setSvgElement();
167
- this.renderer.removeClass(this.elementRef.nativeElement, changes.type.previousValue);
168
+ this.renderer.removeClass(this.elementRef.nativeElement, type.previousValue);
168
169
  this.renderer.addClass(this.elementRef.nativeElement, `${this.type}`);
169
170
  }
170
171
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-icon.js","sources":["../../../../lib/ng-nest/ui/icon/icon.property.ts","../../../../lib/ng-nest/ui/icon/icon.service.ts","../../../../lib/ng-nest/ui/icon/icon.component.ts","../../../../lib/ng-nest/ui/icon/icon.component.html","../../../../lib/ng-nest/ui/icon/icon.module.ts","../../../../lib/ng-nest/ui/icon/ng-nest-ui-icon.ts"],"sourcesContent":["import { XProperty, XInputNumber, XInputBoolean, XNumber, XBoolean, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Icon\r\n * @selector x-icon\r\n * @decorator component\r\n */\r\nexport const XIconPrefix = 'x-icon';\r\n\r\nconst X_CONFIG_NAME = 'icon';\r\n\r\nexport const XIconHref = 'https://ngnest.com/static/icons/';\r\n\r\n/**\r\n * Icon Property\r\n */\r\n@Component({ template: '' })\r\nexport class XIconProperty extends XProperty {\r\n /**\r\n * @zh_CN SVG 图标根路劲地址,可以通过全局只配置一次,所有图标资源在 github 上的 ng-nest-icon 中\r\n * @en_US The root address of the SVG icon can be configured only once globally. All icon resources are in ng-nest-icon on github\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, XIconHref) href?: string;\r\n /**\r\n * @zh_CN 图标类型\r\n * @en_US Icon type\r\n */\r\n @Input() type?: string;\r\n /**\r\n * @zh_CN 图标颜色\r\n * @en_US Icon color\r\n */\r\n @Input() color?: string | string[];\r\n /**\r\n * @zh_CN 图标旋转角度\r\n * @en_US Icon rotation angle\r\n */\r\n @Input() @XInputNumber() rotate?: XNumber;\r\n /**\r\n * @zh_CN loading效果(图标一直旋转)\r\n * @en_US Loading effect (icon keeps rotating)\r\n */\r\n @Input() @XInputBoolean() spin?: XBoolean;\r\n /**\r\n * @zh_CN 变化为的图标(未实现)\r\n * @en_US Icon to change to (not implemented)\r\n */\r\n @Input() to?: string;\r\n}\r\n\r\n/**\r\n * @zh_CN 图标来源\r\n * @en_US Icon source\r\n */\r\nexport type XIconSource = 'ant-design' | 'eva' | 'feather' | 'font-awesome' | 'material-design';\r\n","import { Injectable, SecurityContext } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable, Subscriber } from 'rxjs';\r\nimport { XHasIn } from '@ng-nest/ui/core';\r\n\r\ntype Task<T> = {\r\n name: string;\r\n observable: Observable<T>;\r\n callback: Function;\r\n};\r\n\r\n// @dynamic\r\n@Injectable()\r\nexport class XIconService {\r\n rootUrl = `https://ngnest.com/static/icons/`;\r\n caches: { [property: string]: any } = {};\r\n queue: Task<any>[] = [];\r\n activeTaskXm: number = 0;\r\n isRunningTask = false;\r\n limit: number = 10;\r\n\r\n constructor(private sanitizer: DomSanitizer, private http: HttpClient) {}\r\n\r\n public addTask<T>(task: Task<T>) {\r\n this.queue.push(task);\r\n this.runTask();\r\n }\r\n\r\n private execute<T>(task: Task<T>) {\r\n this.isRunningTask = true;\r\n if (XHasIn(this.caches, task.name)) {\r\n task.callback(this.caches[task.name]);\r\n this.activeTaskXm--;\r\n this.isRunningTask = false;\r\n this.runTask();\r\n return;\r\n }\r\n return task.observable.subscribe(\r\n (result) => {\r\n this.caches[task.name] = result;\r\n task.callback(result);\r\n return result;\r\n },\r\n (error) => {\r\n console.error(error);\r\n this.activeTaskXm--;\r\n this.isRunningTask = false;\r\n this.runTask();\r\n },\r\n () => {\r\n this.activeTaskXm--;\r\n this.isRunningTask = false;\r\n this.runTask();\r\n }\r\n );\r\n }\r\n\r\n private runTask() {\r\n if (!this.isRunningTask && this.activeTaskXm < this.limit && this.queue.length > 0) {\r\n const task = this.queue.shift();\r\n this.activeTaskXm++;\r\n this.execute(task!);\r\n }\r\n }\r\n\r\n getSvgs(...icons: string[]): Observable<string[]> {\r\n return Observable.create((subscriber: Subscriber<string[]>) => {\r\n let result: string[] = [];\r\n icons.forEach((icon, index) =>\r\n this.addTask({\r\n name: icon,\r\n observable: this.getSvgElement(icon),\r\n callback: (svg: string) => {\r\n result.push(svg);\r\n if (index === icons.length - 1) {\r\n subscriber.next(result);\r\n subscriber.complete();\r\n }\r\n }\r\n })\r\n );\r\n });\r\n }\r\n\r\n getSvgElement(icon: string): Observable<string> {\r\n const url = `${this.rootUrl}${icon}.svg`;\r\n const safeUrl = this.sanitizer.sanitize(SecurityContext.URL, url);\r\n return this.http.get(safeUrl as string, { responseType: 'text' });\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n Renderer2,\r\n ChangeDetectorRef,\r\n OnChanges,\r\n SimpleChanges,\r\n Inject,\r\n Optional,\r\n HostBinding\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { XIconPrefix, XIconProperty } from './icon.property';\r\nimport { XIconService } from './icon.service';\r\nimport { warnIconTypeNotFound, warnSVGTagNotFound, XIsChange, XIsEmpty, XConfigService } from '@ng-nest/ui/core';\r\n\r\n// 来源路径对应\r\nexport const XSouceUrl: { [property: string]: string } = {\r\n adf: `ant-design/fill/`,\r\n ado: `ant-design/outline/`,\r\n adt: `ant-design/twotone/`,\r\n eaf: `eva/fill/`,\r\n eao: `eva/outline/`,\r\n fto: `feather/`,\r\n fab: `font-awesome/brands/`,\r\n far: `font-awesome/regular/`,\r\n fas: `font-awesome/solid/`,\r\n mdf: `material-design/fill/`,\r\n mdo: `material-design/outline/`\r\n};\r\n\r\nexport const XViewBox = [\r\n // { souces: [\"adf\", \"ado\", \"adt\"], value: \"0 0 1024 1024\" },\r\n // { souces: [\"eaf\", \"eao\"], value: \"0 0 24 24\" },\r\n // { souces: [\"fto\"], value: \"0 0 24 24\" }\r\n];\r\n\r\n@Component({\r\n selector: `${XIconPrefix}`,\r\n templateUrl: './icon.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XIconComponent extends XIconProperty implements OnInit, OnChanges {\r\n private _svgElement!: SVGElement;\r\n private _loaded: boolean = false;\r\n\r\n @HostBinding('class.x-icon-spin') get getSpin() {\r\n return this.spin;\r\n }\r\n\r\n constructor(\r\n public elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n public iconService: XIconService,\r\n private cdr: ChangeDetectorRef,\r\n @Optional() @Inject(DOCUMENT) private document: any,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n this.iconService.rootUrl = this.href as string;\r\n this.renderer.addClass(this.elementRef.nativeElement, XIconPrefix);\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (XIsChange(changes.type)) {\r\n this.setSvgElement();\r\n this.renderer.removeClass(this.elementRef.nativeElement, changes.type.previousValue);\r\n this.renderer.addClass(this.elementRef.nativeElement, `${this.type}`);\r\n }\r\n }\r\n\r\n getSvg() {\r\n if (this._loaded) return;\r\n let height = this.document.documentElement.clientHeight;\r\n let width = this.document.documentElement.clientWidth;\r\n let box = this.elementRef.nativeElement.getBoundingClientRect();\r\n if (box.top <= height && box.left <= width) {\r\n this.setSvgElement();\r\n this.renderer.addClass(this.elementRef.nativeElement, `${this.type}`);\r\n this._loaded = true;\r\n }\r\n }\r\n\r\n setSvgElement() {\r\n const typeIcon = this.setSourceUrl(this.type);\r\n const toIcon = this.setSourceUrl(this.to);\r\n let icons = [typeIcon];\r\n if (XIsEmpty(typeIcon)) return;\r\n if (!XIsEmpty(toIcon)) {\r\n icons = [...icons, toIcon];\r\n }\r\n this.iconService.getSvgs(...icons).subscribe((x) => this.setSvgs(x));\r\n }\r\n\r\n setSvgs(svgs: string[]) {\r\n if (svgs?.length > 0) {\r\n let firstChild = this.elementRef.nativeElement.firstChild;\r\n if (firstChild) {\r\n this.renderer.removeChild(this.elementRef.nativeElement, firstChild);\r\n }\r\n this._svgElement = this.buildSvg(svgs.shift() as string) as SVGAElement;\r\n // this.setAnimates(svgs);\r\n this.setAttributes(this._svgElement);\r\n this.renderer.appendChild(this.elementRef.nativeElement, this._svgElement);\r\n this.cdr.markForCheck();\r\n }\r\n }\r\n\r\n setSourceUrl(type?: string) {\r\n if (typeof type === 'undefined') return '';\r\n const split = type.split('-');\r\n const souce = split.shift();\r\n if (typeof souce === 'undefined') return '';\r\n const souceUrl = XSouceUrl[souce];\r\n const fileName = split.join('-');\r\n if (!souceUrl || !fileName) {\r\n warnIconTypeNotFound();\r\n }\r\n return `${souceUrl}${fileName}`;\r\n }\r\n\r\n setAttributes(svgEle: SVGElement) {\r\n if (svgEle) {\r\n this.renderer.setAttribute(svgEle, 'width', '1em');\r\n this.renderer.setAttribute(svgEle, 'height', '1em');\r\n }\r\n }\r\n\r\n buildSvg(svgStr: string): SVGAElement | undefined {\r\n const result = this.document.createElementNS('http://www.w3.org/2000/svg', 'svg') as SVGAElement;\r\n const svg = this.createSvg(svgStr);\r\n if (!svg) return;\r\n svg.children.forEach((x) => {\r\n x.removeAttribute('class');\r\n if (x.tagName === 'rect') {\r\n x.setAttribute('fill', 'none');\r\n }\r\n result.appendChild(x);\r\n });\r\n this.setAttribute(result, svg.ele, 'viewBox');\r\n this.setAttribute(result, svg.ele, 'fill', 'currentColor');\r\n this.setAttribute(result, svg.ele, 'stroke');\r\n this.setAttribute(result, svg.ele, 'stroke-width');\r\n this.setAttribute(result, svg.ele, 'stroke-linecap');\r\n this.setAttribute(result, svg.ele, 'stroke-linejoin');\r\n if (!result) {\r\n warnSVGTagNotFound();\r\n }\r\n\r\n return result;\r\n }\r\n\r\n createSvg(svgStr: string) {\r\n const div = this.document.createElement('div');\r\n div.innerHTML = svgStr;\r\n let svgEle = div.querySelector('svg') as SVGElement;\r\n if (!svgEle) return null;\r\n return {\r\n ele: svgEle,\r\n children: svgEle.querySelectorAll('path, polyline, polygon, circle, line, rect')\r\n };\r\n }\r\n\r\n setAttribute(svg: SVGElement, svgEle: SVGElement, attribute: string, def?: string) {\r\n let attr = svgEle.getAttribute(attribute);\r\n if (attr) {\r\n svg.setAttribute(attribute, attr);\r\n } else if (def) {\r\n svg.setAttribute(attribute, def);\r\n }\r\n }\r\n\r\n //<animate begin=\"mouseenter\" dur=\"500ms\" repeatCount=\"1\" attributeName=\"d\" from=\"M86.425,13.204l5.648,12.741H0.55 l0.125-12.616L0.55,0.544h91.523L86.425,13.204z\" to=\"M92.725,13.521l0.044,12.887H1.245 l7-12.616l-7-12.785h91.523L92.725,13.521z\" fill=\"freeze\"></animate>\r\n\r\n setAnimates(svgs: string[]) {\r\n if (svgs?.length > 0) {\r\n let svg = this.createSvg(svgs.shift() as string);\r\n for (let i = 0; i < this._svgElement.children.length; i++) {\r\n let child = this._svgElement.children[i];\r\n let toChild = svg?.children[i];\r\n if (child?.nodeName === 'path' && toChild?.nodeName === 'path') {\r\n let toAnimate = document.createElement('animate');\r\n toAnimate.setAttribute('dur', '500ms');\r\n toAnimate.setAttribute('repeatCount', '1');\r\n toAnimate.setAttribute('attributeName', 'd');\r\n toAnimate.setAttribute('fill', 'freeze');\r\n toAnimate.setAttribute('from', child.getAttribute('d') as string);\r\n toAnimate.setAttribute('to', toChild.getAttribute('d') as string);\r\n this.renderer.appendChild(child, toAnimate);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XIconComponent } from './icon.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { XIconService } from './icon.service';\r\nimport { XIconProperty } from './icon.property';\r\n\r\n@NgModule({\r\n declarations: [XIconComponent, XIconProperty],\r\n exports: [XIconComponent],\r\n imports: [CommonModule, HttpClientModule],\r\n providers: [XIconService]\r\n})\r\nexport class XIconModule {}\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-icon.js","sources":["../../../../lib/ng-nest/ui/icon/icon.property.ts","../../../../lib/ng-nest/ui/icon/icon.service.ts","../../../../lib/ng-nest/ui/icon/icon.component.ts","../../../../lib/ng-nest/ui/icon/icon.component.html","../../../../lib/ng-nest/ui/icon/icon.module.ts","../../../../lib/ng-nest/ui/icon/ng-nest-ui-icon.ts"],"sourcesContent":["import { XProperty, XInputNumber, XInputBoolean, XNumber, XBoolean, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Icon\r\n * @selector x-icon\r\n * @decorator component\r\n */\r\nexport const XIconPrefix = 'x-icon';\r\n\r\nconst X_CONFIG_NAME = 'icon';\r\n\r\nexport const XIconHref = 'https://ngnest.com/static/icons/';\r\n\r\n/**\r\n * Icon Property\r\n */\r\n@Component({ template: '' })\r\nexport class XIconProperty extends XProperty {\r\n /**\r\n * @zh_CN SVG 图标根路劲地址,可以通过全局只配置一次,所有图标资源在 github 上的 ng-nest-icon 中\r\n * @en_US The root address of the SVG icon can be configured only once globally. All icon resources are in ng-nest-icon on github\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, XIconHref) href?: string;\r\n /**\r\n * @zh_CN 图标类型\r\n * @en_US Icon type\r\n */\r\n @Input() type?: string;\r\n /**\r\n * @zh_CN 图标颜色\r\n * @en_US Icon color\r\n */\r\n @Input() color?: string | string[];\r\n /**\r\n * @zh_CN 图标旋转角度\r\n * @en_US Icon rotation angle\r\n */\r\n @Input() @XInputNumber() rotate?: XNumber;\r\n /**\r\n * @zh_CN loading效果(图标一直旋转)\r\n * @en_US Loading effect (icon keeps rotating)\r\n */\r\n @Input() @XInputBoolean() spin?: XBoolean;\r\n /**\r\n * @zh_CN 变化为的图标(未实现)\r\n * @en_US Icon to change to (not implemented)\r\n */\r\n @Input() to?: string;\r\n}\r\n\r\n/**\r\n * @zh_CN 图标来源\r\n * @en_US Icon source\r\n */\r\nexport type XIconSource = 'ant-design' | 'eva' | 'feather' | 'font-awesome' | 'material-design';\r\n","import { Injectable, SecurityContext } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable, Subscriber } from 'rxjs';\r\nimport { XHasIn } from '@ng-nest/ui/core';\r\n\r\ntype Task<T> = {\r\n name: string;\r\n observable: Observable<T>;\r\n callback: Function;\r\n};\r\n\r\n// @dynamic\r\n@Injectable()\r\nexport class XIconService {\r\n rootUrl = `https://ngnest.com/static/icons/`;\r\n caches: { [property: string]: any } = {};\r\n queue: Task<any>[] = [];\r\n activeTaskXm: number = 0;\r\n isRunningTask = false;\r\n limit: number = 10;\r\n\r\n constructor(private sanitizer: DomSanitizer, private http: HttpClient) {}\r\n\r\n public addTask<T>(task: Task<T>) {\r\n this.queue.push(task);\r\n this.runTask();\r\n }\r\n\r\n private execute<T>(task: Task<T>) {\r\n this.isRunningTask = true;\r\n if (XHasIn(this.caches, task.name)) {\r\n task.callback(this.caches[task.name]);\r\n this.activeTaskXm--;\r\n this.isRunningTask = false;\r\n this.runTask();\r\n return;\r\n }\r\n return task.observable.subscribe(\r\n (result) => {\r\n this.caches[task.name] = result;\r\n task.callback(result);\r\n return result;\r\n },\r\n (error) => {\r\n console.error(error);\r\n this.activeTaskXm--;\r\n this.isRunningTask = false;\r\n this.runTask();\r\n },\r\n () => {\r\n this.activeTaskXm--;\r\n this.isRunningTask = false;\r\n this.runTask();\r\n }\r\n );\r\n }\r\n\r\n private runTask() {\r\n if (!this.isRunningTask && this.activeTaskXm < this.limit && this.queue.length > 0) {\r\n const task = this.queue.shift();\r\n this.activeTaskXm++;\r\n this.execute(task!);\r\n }\r\n }\r\n\r\n getSvgs(...icons: string[]): Observable<string[]> {\r\n return Observable.create((subscriber: Subscriber<string[]>) => {\r\n let result: string[] = [];\r\n icons.forEach((icon, index) =>\r\n this.addTask({\r\n name: icon,\r\n observable: this.getSvgElement(icon),\r\n callback: (svg: string) => {\r\n result.push(svg);\r\n if (index === icons.length - 1) {\r\n subscriber.next(result);\r\n subscriber.complete();\r\n }\r\n }\r\n })\r\n );\r\n });\r\n }\r\n\r\n getSvgElement(icon: string): Observable<string> {\r\n const url = `${this.rootUrl}${icon}.svg`;\r\n const safeUrl = this.sanitizer.sanitize(SecurityContext.URL, url);\r\n return this.http.get(safeUrl as string, { responseType: 'text' });\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n Renderer2,\r\n ChangeDetectorRef,\r\n OnChanges,\r\n SimpleChanges,\r\n Inject,\r\n Optional,\r\n HostBinding\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { XIconPrefix, XIconProperty } from './icon.property';\r\nimport { XIconService } from './icon.service';\r\nimport { warnIconTypeNotFound, warnSVGTagNotFound, XIsChange, XIsEmpty, XConfigService } from '@ng-nest/ui/core';\r\n\r\n// 来源路径对应\r\nexport const XSouceUrl: { [property: string]: string } = {\r\n adf: `ant-design/fill/`,\r\n ado: `ant-design/outline/`,\r\n adt: `ant-design/twotone/`,\r\n eaf: `eva/fill/`,\r\n eao: `eva/outline/`,\r\n fto: `feather/`,\r\n fab: `font-awesome/brands/`,\r\n far: `font-awesome/regular/`,\r\n fas: `font-awesome/solid/`,\r\n mdf: `material-design/fill/`,\r\n mdo: `material-design/outline/`\r\n};\r\n\r\nexport const XViewBox = [\r\n // { souces: [\"adf\", \"ado\", \"adt\"], value: \"0 0 1024 1024\" },\r\n // { souces: [\"eaf\", \"eao\"], value: \"0 0 24 24\" },\r\n // { souces: [\"fto\"], value: \"0 0 24 24\" }\r\n];\r\n\r\n@Component({\r\n selector: `${XIconPrefix}`,\r\n templateUrl: './icon.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XIconComponent extends XIconProperty implements OnInit, OnChanges {\r\n private _svgElement!: SVGElement;\r\n private _loaded: boolean = false;\r\n\r\n @HostBinding('class.x-icon-spin') get getSpin() {\r\n return this.spin;\r\n }\r\n\r\n constructor(\r\n public elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n public iconService: XIconService,\r\n private cdr: ChangeDetectorRef,\r\n @Optional() @Inject(DOCUMENT) private document: any,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n this.iconService.rootUrl = this.href as string;\r\n this.renderer.addClass(this.elementRef.nativeElement, XIconPrefix);\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { type } = changes;\r\n if (XIsChange(type)) {\r\n this.setSvgElement();\r\n this.renderer.removeClass(this.elementRef.nativeElement, type.previousValue);\r\n this.renderer.addClass(this.elementRef.nativeElement, `${this.type}`);\r\n }\r\n }\r\n\r\n getSvg() {\r\n if (this._loaded) return;\r\n let height = this.document.documentElement.clientHeight;\r\n let width = this.document.documentElement.clientWidth;\r\n let box = this.elementRef.nativeElement.getBoundingClientRect();\r\n if (box.top <= height && box.left <= width) {\r\n this.setSvgElement();\r\n this.renderer.addClass(this.elementRef.nativeElement, `${this.type}`);\r\n this._loaded = true;\r\n }\r\n }\r\n\r\n setSvgElement() {\r\n const typeIcon = this.setSourceUrl(this.type);\r\n const toIcon = this.setSourceUrl(this.to);\r\n let icons = [typeIcon];\r\n if (XIsEmpty(typeIcon)) return;\r\n if (!XIsEmpty(toIcon)) {\r\n icons = [...icons, toIcon];\r\n }\r\n this.iconService.getSvgs(...icons).subscribe((x) => this.setSvgs(x));\r\n }\r\n\r\n setSvgs(svgs: string[]) {\r\n if (svgs?.length > 0) {\r\n let firstChild = this.elementRef.nativeElement.firstChild;\r\n if (firstChild) {\r\n this.renderer.removeChild(this.elementRef.nativeElement, firstChild);\r\n }\r\n this._svgElement = this.buildSvg(svgs.shift() as string) as SVGAElement;\r\n // this.setAnimates(svgs);\r\n this.setAttributes(this._svgElement);\r\n this.renderer.appendChild(this.elementRef.nativeElement, this._svgElement);\r\n this.cdr.markForCheck();\r\n }\r\n }\r\n\r\n setSourceUrl(type?: string) {\r\n if (typeof type === 'undefined') return '';\r\n const split = type.split('-');\r\n const souce = split.shift();\r\n if (typeof souce === 'undefined') return '';\r\n const souceUrl = XSouceUrl[souce];\r\n const fileName = split.join('-');\r\n if (!souceUrl || !fileName) {\r\n warnIconTypeNotFound();\r\n }\r\n return `${souceUrl}${fileName}`;\r\n }\r\n\r\n setAttributes(svgEle: SVGElement) {\r\n if (svgEle) {\r\n this.renderer.setAttribute(svgEle, 'width', '1em');\r\n this.renderer.setAttribute(svgEle, 'height', '1em');\r\n }\r\n }\r\n\r\n buildSvg(svgStr: string): SVGAElement | undefined {\r\n const result = this.document.createElementNS('http://www.w3.org/2000/svg', 'svg') as SVGAElement;\r\n const svg = this.createSvg(svgStr);\r\n if (!svg) return;\r\n svg.children.forEach((x) => {\r\n x.removeAttribute('class');\r\n if (x.tagName === 'rect') {\r\n x.setAttribute('fill', 'none');\r\n }\r\n result.appendChild(x);\r\n });\r\n this.setAttribute(result, svg.ele, 'viewBox');\r\n this.setAttribute(result, svg.ele, 'fill', 'currentColor');\r\n this.setAttribute(result, svg.ele, 'stroke');\r\n this.setAttribute(result, svg.ele, 'stroke-width');\r\n this.setAttribute(result, svg.ele, 'stroke-linecap');\r\n this.setAttribute(result, svg.ele, 'stroke-linejoin');\r\n if (!result) {\r\n warnSVGTagNotFound();\r\n }\r\n\r\n return result;\r\n }\r\n\r\n createSvg(svgStr: string) {\r\n const div = this.document.createElement('div');\r\n div.innerHTML = svgStr;\r\n let svgEle = div.querySelector('svg') as SVGElement;\r\n if (!svgEle) return null;\r\n return {\r\n ele: svgEle,\r\n children: svgEle.querySelectorAll('path, polyline, polygon, circle, line, rect')\r\n };\r\n }\r\n\r\n setAttribute(svg: SVGElement, svgEle: SVGElement, attribute: string, def?: string) {\r\n let attr = svgEle.getAttribute(attribute);\r\n if (attr) {\r\n svg.setAttribute(attribute, attr);\r\n } else if (def) {\r\n svg.setAttribute(attribute, def);\r\n }\r\n }\r\n\r\n //<animate begin=\"mouseenter\" dur=\"500ms\" repeatCount=\"1\" attributeName=\"d\" from=\"M86.425,13.204l5.648,12.741H0.55 l0.125-12.616L0.55,0.544h91.523L86.425,13.204z\" to=\"M92.725,13.521l0.044,12.887H1.245 l7-12.616l-7-12.785h91.523L92.725,13.521z\" fill=\"freeze\"></animate>\r\n\r\n setAnimates(svgs: string[]) {\r\n if (svgs?.length > 0) {\r\n let svg = this.createSvg(svgs.shift() as string);\r\n for (let i = 0; i < this._svgElement.children.length; i++) {\r\n let child = this._svgElement.children[i];\r\n let toChild = svg?.children[i];\r\n if (child?.nodeName === 'path' && toChild?.nodeName === 'path') {\r\n let toAnimate = document.createElement('animate');\r\n toAnimate.setAttribute('dur', '500ms');\r\n toAnimate.setAttribute('repeatCount', '1');\r\n toAnimate.setAttribute('attributeName', 'd');\r\n toAnimate.setAttribute('fill', 'freeze');\r\n toAnimate.setAttribute('from', child.getAttribute('d') as string);\r\n toAnimate.setAttribute('to', toChild.getAttribute('d') as string);\r\n this.renderer.appendChild(child, toAnimate);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XIconComponent } from './icon.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { XIconService } from './icon.service';\r\nimport { XIconProperty } from './icon.property';\r\n\r\n@NgModule({\r\n declarations: [XIconComponent, XIconProperty],\r\n exports: [XIconComponent],\r\n imports: [CommonModule, HttpClientModule],\r\n providers: [XIconService]\r\n})\r\nexport class XIconModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -41,7 +41,7 @@ class XInnerComponent extends XInnerProperty {
41
41
  ngOnInit() {
42
42
  this.setStyle();
43
43
  }
44
- ngOnChanges(changes) {
44
+ ngOnChanges(_changes) {
45
45
  this.setStyle();
46
46
  }
47
47
  setStyle() {
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-inner.js","sources":["../../../../lib/ng-nest/ui/inner/inner.property.ts","../../../../lib/ng-nest/ui/inner/inner.component.ts","../../../../lib/ng-nest/ui/inner/inner.component.html","../../../../lib/ng-nest/ui/inner/inner.module.ts","../../../../lib/ng-nest/ui/inner/ng-nest-ui-inner.ts"],"sourcesContent":["import { XProperty, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Inner\r\n * @selector x-inner\r\n * @decorator component\r\n */\r\nexport const XInnerPrefix = 'x-inner';\r\nconst X_CONFIG_NAME = 'inner';\r\n\r\n/**\r\n * Inner Property\r\n */\r\n@Component({ template: '' })\r\nexport class XInnerProperty extends XProperty {\r\n /**\r\n * @zh_CN 内边距\r\n * @en_US Inner padding\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '1rem') padding?: string;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n Renderer2,\r\n ElementRef,\r\n OnChanges,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { XInnerPrefix, XInnerProperty } from './inner.property';\r\nimport { XConfigService } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XInnerPrefix}`,\r\n templateUrl: './inner.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XInnerComponent extends XInnerProperty implements OnInit, OnChanges {\r\n private _ele: HTMLElement;\r\n\r\n constructor(private renderer: Renderer2, private elementRef: ElementRef, public configService: XConfigService) {\r\n super();\r\n this.renderer.addClass(this.elementRef.nativeElement, XInnerPrefix);\r\n this._ele = this.elementRef.nativeElement;\r\n }\r\n\r\n ngOnInit() {\r\n this.setStyle();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.setStyle();\r\n }\r\n\r\n setStyle() {\r\n this.renderer.setStyle(this._ele, 'padding', this.padding);\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XInnerComponent } from './inner.component';\r\nimport { XInnerProperty } from './inner.property';\r\n\r\n@NgModule({\r\n declarations: [XInnerComponent, XInnerProperty],\r\n exports: [XInnerComponent],\r\n imports: [CommonModule]\r\n})\r\nexport class XInnerModule {}\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;;8HAAhC,cAAc;kHAAd,cAAc,2GADJ,EAAE;AAM8B;IAA3C,WAAW,CAAS,aAAa,EAAE,MAAM,CAAC;+CAAkB;2FAL3D,cAAc;kBAD1B,SAAS;mBAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;8BAM4B,OAAO;sBAA3D,KAAK;;;MCAK,eAAgB,SAAQ,cAAc;IAGjD,YAAoB,QAAmB,EAAU,UAAsB,EAAS,aAA6B;QAC3G,KAAK,EAAE,CAAC;QADU,aAAQ,GAAR,QAAQ,CAAW;QAAU,eAAU,GAAV,UAAU,CAAY;QAAS,kBAAa,GAAb,aAAa,CAAgB;QAE3G,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;KAC3C;IAED,QAAQ;QACN,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;IAED,WAAW,CAAC,OAAsB;QAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;IAED,QAAQ;QACN,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KAC5D;;+HAnBU,eAAe;mHAAf,eAAe,2FCpB5B,+BACA;2FDmBa,eAAe;kBAP3B,SAAS;mBAAC;oBACT,QAAQ,EAAE,GAAG,YAAY,EAAE;oBAC3B,WAAW,EAAE,wBAAwB;oBACrC,SAAS,EAAE,CAAC,oBAAoB,CAAC;oBACjC,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD;;;METY,YAAY;;4HAAZ,YAAY;6HAAZ,YAAY,iBAJR,eAAe,EAAE,cAAc,aAEpC,YAAY,aADZ,eAAe;6HAGd,YAAY,YAFd,CAAC,YAAY,CAAC;2FAEZ,YAAY;kBALxB,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC;oBAC/C,OAAO,EAAE,CAAC,eAAe,CAAC;oBAC1B,OAAO,EAAE,CAAC,YAAY,CAAC;iBACxB;;;ACTD;;;;;;"}
1
+ {"version":3,"file":"ng-nest-ui-inner.js","sources":["../../../../lib/ng-nest/ui/inner/inner.property.ts","../../../../lib/ng-nest/ui/inner/inner.component.ts","../../../../lib/ng-nest/ui/inner/inner.component.html","../../../../lib/ng-nest/ui/inner/inner.module.ts","../../../../lib/ng-nest/ui/inner/ng-nest-ui-inner.ts"],"sourcesContent":["import { XProperty, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Inner\r\n * @selector x-inner\r\n * @decorator component\r\n */\r\nexport const XInnerPrefix = 'x-inner';\r\nconst X_CONFIG_NAME = 'inner';\r\n\r\n/**\r\n * Inner Property\r\n */\r\n@Component({ template: '' })\r\nexport class XInnerProperty extends XProperty {\r\n /**\r\n * @zh_CN 内边距\r\n * @en_US Inner padding\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '1rem') padding?: string;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n Renderer2,\r\n ElementRef,\r\n OnChanges,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { XInnerPrefix, XInnerProperty } from './inner.property';\r\nimport { XConfigService } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XInnerPrefix}`,\r\n templateUrl: './inner.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XInnerComponent extends XInnerProperty implements OnInit, OnChanges {\r\n private _ele: HTMLElement;\r\n\r\n constructor(private renderer: Renderer2, private elementRef: ElementRef, public configService: XConfigService) {\r\n super();\r\n this.renderer.addClass(this.elementRef.nativeElement, XInnerPrefix);\r\n this._ele = this.elementRef.nativeElement;\r\n }\r\n\r\n ngOnInit() {\r\n this.setStyle();\r\n }\r\n\r\n ngOnChanges(_changes: SimpleChanges): void {\r\n this.setStyle();\r\n }\r\n\r\n setStyle() {\r\n this.renderer.setStyle(this._ele, 'padding', this.padding);\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XInnerComponent } from './inner.component';\r\nimport { XInnerProperty } from './inner.property';\r\n\r\n@NgModule({\r\n declarations: [XInnerComponent, XInnerProperty],\r\n exports: [XInnerComponent],\r\n imports: [CommonModule]\r\n})\r\nexport class XInnerModule {}\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;;8HAAhC,cAAc;kHAAd,cAAc,2GADJ,EAAE;AAM8B;IAA3C,WAAW,CAAS,aAAa,EAAE,MAAM,CAAC;+CAAkB;2FAL3D,cAAc;kBAD1B,SAAS;mBAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;8BAM4B,OAAO;sBAA3D,KAAK;;;MCAK,eAAgB,SAAQ,cAAc;IAGjD,YAAoB,QAAmB,EAAU,UAAsB,EAAS,aAA6B;QAC3G,KAAK,EAAE,CAAC;QADU,aAAQ,GAAR,QAAQ,CAAW;QAAU,eAAU,GAAV,UAAU,CAAY;QAAS,kBAAa,GAAb,aAAa,CAAgB;QAE3G,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;KAC3C;IAED,QAAQ;QACN,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;IAED,WAAW,CAAC,QAAuB;QACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;IAED,QAAQ;QACN,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KAC5D;;+HAnBU,eAAe;mHAAf,eAAe,2FCpB5B,+BACA;2FDmBa,eAAe;kBAP3B,SAAS;mBAAC;oBACT,QAAQ,EAAE,GAAG,YAAY,EAAE;oBAC3B,WAAW,EAAE,wBAAwB;oBACrC,SAAS,EAAE,CAAC,oBAAoB,CAAC;oBACjC,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD;;;METY,YAAY;;4HAAZ,YAAY;6HAAZ,YAAY,iBAJR,eAAe,EAAE,cAAc,aAEpC,YAAY,aADZ,eAAe;6HAGd,YAAY,YAFd,CAAC,YAAY,CAAC;2FAEZ,YAAY;kBALxB,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC;oBAC/C,OAAO,EAAE,CAAC,eAAe,CAAC;oBAC1B,OAAO,EAAE,CAAC,YAAY,CAAC;iBACxB;;;ACTD;;;;;;"}
@@ -193,11 +193,9 @@ class XInputGroupComponent extends XInputGroupProperty {
193
193
  this.cdr = cdr;
194
194
  this.configService = configService;
195
195
  }
196
- ngOnInit() { }
197
- ngOnChanges(changes) { }
198
196
  }
199
197
  /** @nocollapse */ XInputGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XInputGroupComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
200
- /** @nocollapse */ XInputGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XInputGroupComponent, selector: "x-input-group", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-input-group\" [class.x-input-group-compact]=\"compact\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-input-group{display:inline-block}.x-input-group{display:flex}.x-input-group-compact>*{display:inline-block}.x-input-group-compact>* input,.x-input-group-compact>* .x-button{border-radius:0!important}.x-input-group-compact>* input:hover,.x-input-group-compact>* input:focus,.x-input-group-compact>* .x-button:hover,.x-input-group-compact>* .x-button:focus{z-index:1}.x-input-group-compact>*:first-child input,.x-input-group-compact>*:first-child .x-button{border-top-left-radius:var(--x-border-radius)!important;border-bottom-left-radius:var(--x-border-radius)!important}.x-input-group-compact>*:last-child input,.x-input-group-compact>*:last-child .x-button{border-top-right-radius:var(--x-border-radius)!important;border-bottom-right-radius:var(--x-border-radius)!important}.x-input-group-compact>*:not(:last-child){margin-right:calc(var(--x-border-width) * -1)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
198
+ /** @nocollapse */ XInputGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XInputGroupComponent, selector: "x-input-group", usesInheritance: true, ngImport: i0, template: "<div class=\"x-input-group\" [class.x-input-group-compact]=\"compact\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-input-group{display:inline-block}.x-input-group{display:flex}.x-input-group-compact>*{display:inline-block}.x-input-group-compact>* input,.x-input-group-compact>* .x-button{border-radius:0!important}.x-input-group-compact>* input:hover,.x-input-group-compact>* input:focus,.x-input-group-compact>* .x-button:hover,.x-input-group-compact>* .x-button:focus{z-index:1}.x-input-group-compact>*:first-child input,.x-input-group-compact>*:first-child .x-button{border-top-left-radius:var(--x-border-radius)!important;border-bottom-left-radius:var(--x-border-radius)!important}.x-input-group-compact>*:last-child input,.x-input-group-compact>*:last-child .x-button{border-top-right-radius:var(--x-border-radius)!important;border-bottom-right-radius:var(--x-border-radius)!important}.x-input-group-compact>*:not(:last-child){margin-right:calc(var(--x-border-width) * -1)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
201
199
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XInputGroupComponent, decorators: [{
202
200
  type: Component,
203
201
  args: [{
@@ -253,9 +251,10 @@ class XInputComponent extends XInputProperty {
253
251
  this.setClassMap();
254
252
  }
255
253
  ngOnChanges(changes) {
256
- XIsChange(changes.clearable) && this.setClearable();
257
- XIsChange(changes.size, changes.labelAlign) && this.setClassMap();
258
- XIsChange(changes.justify, changes.align, changes.direction) && this.setFlexClass();
254
+ const { clearable, size, labelAlign, justify, align, direction } = changes;
255
+ XIsChange(clearable) && this.setClearable();
256
+ XIsChange(size, labelAlign) && this.setClassMap();
257
+ XIsChange(justify, align, direction) && this.setFlexClass();
259
258
  }
260
259
  ngOnDestroy() {
261
260
  this._unSubject.next();
@@ -297,6 +296,7 @@ class XInputComponent extends XInputProperty {
297
296
  else {
298
297
  this.clearShow = false;
299
298
  }
299
+ this.setPadding();
300
300
  }
301
301
  setInheritedValue() {
302
302
  if (!this.inputGroup)
@@ -326,6 +326,8 @@ class XInputComponent extends XInputProperty {
326
326
  }
327
327
  inputFocus(type = 'after') {
328
328
  this.inputRef.nativeElement.focus();
329
+ if (!this.value)
330
+ return;
329
331
  if (type === 'after') {
330
332
  this.inputRef.nativeElement.setSelectionRange(this.value.length, this.value.length);
331
333
  }
@@ -348,7 +350,7 @@ class XInputComponent extends XInputProperty {
348
350
  }
349
351
  }
350
352
  /** @nocollapse */ XInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XInputComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }, { token: XInputGroupComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
351
- /** @nocollapse */ XInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XInputComponent, selector: "x-input", providers: [XValueAccessor(XInputComponent)], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true, static: true }, { propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #inputElement\r\n class=\"x-input\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [class.x-clearable]=\"clearable\"\r\n [class.x-clear-show]=\"clearShow\"\r\n [class.x-input-icon]=\"getIcon\"\r\n [class.x-input-active]=\"active\"\r\n [class.x-input-pointer]=\"pointer\"\r\n [class.x-input-bordered]=\"bordered\"\r\n [class.x-input-icon-left]=\"getIconLayoutLeft\"\r\n [class.x-input-icon-right]=\"getIconLayoutRight\"\r\n [class.x-input-after]=\"after\"\r\n [class.x-input-before]=\"before\"\r\n [class.x-input-after-template]=\"afterIsTemplate\"\r\n [class.x-input-before-template]=\"beforeIsTemplate\"\r\n [class.x-input-value-template]=\"valueTpl\"\r\n [ngClass]=\"classMap\"\r\n>\r\n <label *ngIf=\"label\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-input-row\">\r\n <div class=\"x-input-row-before\" *ngIf=\"before\" [class.x-input-row-before-template]=\"beforeIsTemplate\">\r\n <ng-container *xOutlet=\"before\">{{ before }}</ng-container>\r\n </div>\r\n <div class=\"x-input-input\" (mouseenter)=\"xMouseenter.emit($event)\" (mouseleave)=\"xMouseleave.emit($event)\">\r\n <div\r\n class=\"x-input-value-template-value\"\r\n [style.padding-left.rem]=\"paddingLeft\"\r\n [style.padding-right.rem]=\"paddingRight\"\r\n (click)=\"xClick.emit($event)\"\r\n *ngIf=\"valueTpl\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"valueTpl; context: valueTplContext ? valueTplContext : { $value: value }\"></ng-container>\r\n </div>\r\n <input\r\n #inputRef\r\n [ngStyle]=\"inputStyle\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [maxlength]=\"maxlength\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"change($event)\"\r\n [style.padding-left.rem]=\"paddingLeft\"\r\n [style.padding-right.rem]=\"paddingRight\"\r\n (focus)=\"xFocus.emit($event)\"\r\n (blur)=\"xBlur.emit($event)\"\r\n (input)=\"xInput.emit($event)\"\r\n (keydown)=\"xKeydown.emit($event)\"\r\n (click)=\"xClick.emit($event)\"\r\n />\r\n <x-icon *ngIf=\"clearShow\" class=\"x-input-clear\" type=\"fto-x\" (click)=\"onClear()\"></x-icon>\r\n <x-icon *ngIf=\"icon && ((!clearShow && getIconLayoutRight) || getIconLayoutLeft)\" [type]=\"icon\" [spin]=\"iconSpin\"></x-icon>\r\n <span class=\"x-input-max-length\" *ngIf=\"maxlength\">{{ lengthTotal }}</span>\r\n <span class=\"x-input-error-message\" *ngIf=\"invalid\">{{ invalidMessage }}</span>\r\n <ng-container *ngIf=\"requiredIsEmpty || invalid\">\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n </ng-container>\r\n </div>\r\n <div class=\"x-input-row-after\" *ngIf=\"after\" [class.x-input-row-after-template]=\"afterIsTemplate\">\r\n <ng-container *xOutlet=\"after\">{{ after }}</ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-input{display:inline-block}.x-input{width:100%;margin:0;padding:0}.x-input.x-flex{display:flex}.x-input.x-justify-start{justify-content:flex-start}.x-input.x-justify-center{justify-content:center}.x-input.x-justify-end{justify-content:flex-end}.x-input.x-justify-space-between{justify-content:space-between}.x-input.x-justify-space-around{justify-content:space-around}.x-input.x-align-start{align-items:flex-start}.x-input.x-align-center{align-items:center}.x-input.x-align-end{align-items:flex-end}.x-input.x-direction-column{flex-direction:column}.x-input.x-direction-column-reverse{flex-direction:column-reverse}.x-input.x-direction-row{flex-direction:row}.x-input.x-direction-row-reverse{flex-direction:row-reverse}.x-input>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-input>label.x-text-align-start{text-align:start}.x-input>label.x-text-align-center{text-align:center}.x-input>label.x-text-align-end{text-align:end}.x-input-row{flex:1;display:flex;align-items:center}.x-input-row .x-input-row-before:not(.x-input-row-before-template),.x-input-row .x-input-row-after:not(.x-input-row-after-template){border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);background-color:var(--x-background-a100);border-width:0}.x-input-row .x-input-row-before-template{display:contents}.x-input-row .x-input-row-before-template input,.x-input-row .x-input-row-before-template .x-button{border-top-right-radius:0;border-bottom-right-radius:0}.x-input-row .x-input-row-after-template{display:contents}.x-input-row .x-input-row-after-template input,.x-input-row .x-input-row-after-template .x-button{border-top-left-radius:0;border-bottom-left-radius:0}.x-input-row .x-input-row-before-template:hover,.x-input-row .x-input-row-before-template:focus{z-index:1}.x-input-row .x-input-row-before-template input:hover,.x-input-row .x-input-row-before-template input:focus,.x-input-row .x-input-row-before-template .x-button:hover,.x-input-row .x-input-row-before-template .x-button:focus,.x-input-row .x-input-row-after-template input:hover,.x-input-row .x-input-row-after-template input:focus,.x-input-row .x-input-row-after-template .x-button:hover,.x-input-row .x-input-row-after-template .x-button:focus{z-index:1}.x-input-row>.x-input-input{position:relative;width:100%;display:inline-flex;align-items:center}.x-input-row>.x-input-input>input{flex:1;width:100%;font-size:var(--x-font-size);background-color:var(--x-background);background-image:none;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);border-width:0;box-shadow:var(--x-box-shadow) transparent;transition:all var(--x-animation-duration-slow)}.x-input-row>.x-input-input>input::-moz-placeholder{color:var(--x-text-700);opacity:1}.x-input-row>.x-input-input>input:-ms-input-placeholder{color:var(--x-text-700)}.x-input-row>.x-input-input>input::-webkit-input-placeholder{color:var(--x-text-700)}.x-input-row>.x-input-input>input[disabled]{color:var(--x-text-500)}.x-input-row>.x-input-input>input:focus{border-color:var(--x-primary);outline:0}.x-input-row>.x-input-input>x-icon{color:var(--x-text-400);transition:all var(--x-animation-duration-base);z-index:2}.x-input-row>.x-input-input:hover>input{border-color:var(--x-primary-300)}.x-input-row>.x-input-input:focus>input{border-color:var(--x-primary);outline:0}.x-input-value-template .x-input-input>input{color:transparent}.x-input-value-template-value{position:absolute;display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%;left:0}.x-input-value-template-value:hover+input{border-color:var(--x-primary-300)}.x-input-error-message{position:absolute;bottom:0;left:0;font-size:var(--x-font-size)-.125rem;color:var(--x-danger);margin-bottom:calc(calc(var(--x-font-size) + .45rem) * -1);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-input.x-invalid>label,.x-input.x-required>label{color:var(--x-danger)}.x-input.x-invalid .x-input-input>x-icon,.x-input.x-required .x-input-input>x-icon{color:var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error,.x-input.x-required .x-input-input .x-border-error{position:absolute;height:.5rem;width:.5rem;z-index:10}.x-input.x-invalid .x-input-input .x-border-error.x-top-left,.x-input.x-required .x-input-input .x-border-error.x-top-left{border-top-left-radius:var(--x-border-radius);top:0;left:0;border-top:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-top-right,.x-input.x-required .x-input-input .x-border-error.x-top-right{border-top-right-radius:var(--x-border-radius);top:0;right:0;border-top:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-bottom-left,.x-input.x-required .x-input-input .x-border-error.x-bottom-left{border-bottom-left-radius:var(--x-border-radius);bottom:0;left:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-bottom-right,.x-input.x-required .x-input-input .x-border-error.x-bottom-right{border-bottom-right-radius:var(--x-border-radius);bottom:0;right:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-input.x-disabled>.x-input-row>.x-input-input>x-icon{color:var(--x-text-400)}.x-input.x-disabled>.x-input-row>.x-input-input>input,.x-input.x-disabled>.x-input-row>.x-input-input>.x-input-value-template-value{color:var(--x-text-400);cursor:not-allowed;border-color:var(--x-border-100);background-color:var(--x-background-a100)}.x-input.x-clearable>.x-input-row>.x-input-input>.x-input-clear{position:absolute;color:var(--x-text-400);font-size:var(--x-font-size-medium);padding:.4rem;right:0;left:inherit;opacity:0;cursor:pointer;z-index:2}.x-input.x-clearable>.x-input-row>.x-input-input>.x-input-clear:hover{color:var(--x-text-300)}.x-input.x-clearable>.x-input-row>.x-input-input:hover>input .x-input-clear,.x-input.x-clearable>.x-input-row>.x-input-input:hover>.x-input-value-template-value .x-input-clear{opacity:1}.x-input.x-clearable.x-clear-show>.x-input-row>.x-input-input>.x-input-clear{opacity:1}.x-input.x-clearable.x-clear-show>.x-input-row>.x-input-input>input{padding-right:calc(var(--x-font-size-medium) + .4rem * 2)!important}.x-input-max-length{position:absolute;font-size:var(--x-font-size-small);color:var(--x-text-400);padding:0 .4rem;right:0}.x-input.x-direction-row>label{padding:0 .5rem 0 0}.x-input.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-input.x-direction-column{align-items:inherit}.x-input.x-direction-column-reverse{align-items:inherit}.x-input-icon>.x-input-row>.x-input-input>x-icon{position:absolute;font-size:var(--x-font-size-medium);padding:.4rem}.x-input-icon>.x-input-row>.x-input-input>x-icon.x-icon-spin{padding:0;margin:.4rem}.x-input-icon-left>.x-input-row>.x-input-input>input,.x-input-icon-left>.x-input-row>.x-input-input>.x-input-value-template-value{padding-left:calc($--x-input-icon-font-size + $--x-input-icon-padding * 2)}.x-input-icon-left>.x-input-row>.x-input-input>x-icon{left:0}.x-input-icon-right>.x-input-row>.x-input-input>input,.x-input-icon-right>.x-input-row>.x-input-input>.x-input-value-template-value{padding-right:calc($--x-input-icon-font-size + $--x-input-icon-padding * 2)}.x-input-icon-right>.x-input-row>.x-input-input>x-icon{right:0}.x-input-icon-right>.x-input-row>.x-input-input>.x-input-max-length{right:inherit;left:0}.x-input-bordered>.x-input-row>.x-input-input>input{border-width:var(--x-border-width)}.x-input-bordered .x-input-row .x-input-row-before:not(.x-input-row-before-template){border-width:var(--x-border-width);border-right-width:0}.x-input-bordered .x-input-row .x-input-row-after:not(.x-input-row-after-template){border-width:var(--x-border-width);border-left-width:0}.x-input-before>.x-input-row>.x-input-input>input{border-top-left-radius:0;border-bottom-left-radius:0}.x-input-before-template .x-input-input>input{margin-left:calc(var(--x-border-width) * -1)}.x-input-before-template .x-input-input>input:hover,.x-input-before-template .x-input-input>input:focus{z-index:1}.x-input-after>.x-input-row>.x-input-input>input{border-top-right-radius:0;border-bottom-right-radius:0}.x-input-after-template>.x-input-row>.x-input-input>input{margin-right:calc(var(--x-border-width) * -1)}.x-input-after-template>.x-input-row>.x-input-input>input:hover,.x-input-after-template>.x-input-row>.x-input-input>input:focus{z-index:1}.x-input-active .x-input-row>.x-input-input>input{border-color:var(--x-primary)}.x-input-pointer .x-input-row>.x-input-input>input,.x-input-pointer .x-input-row>.x-input-input>.x-input-value-template-value{cursor:pointer}.x-input-big>.x-input-row>.x-input-input>input,.x-input-big>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-big>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-input-big>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-big);line-height:var(--x-height-big)}.x-input-big>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-big>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-input-large>.x-input-row>.x-input-input>input,.x-input-large>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-large>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-input-large>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-large);line-height:var(--x-height-large)}.x-input-large>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-large>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-input-medium>.x-input-row>.x-input-input>input,.x-input-medium>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-medium>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-input-medium>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-input-medium>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-medium>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-input-small>.x-input-row>.x-input-input>input,.x-input-small>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-small>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-input-small>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-small);line-height:var(--x-height-small)}.x-input-small>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-small>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-input-mini>.x-input-row>.x-input-input>input,.x-input-mini>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-mini>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-input-mini>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-input-mini>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-mini>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}\n"], components: [{ type: i3.XIconComponent, selector: "x-icon" }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i6.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
353
+ /** @nocollapse */ XInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XInputComponent, selector: "x-input", providers: [XValueAccessor(XInputComponent)], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true, static: true }, { propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #inputElement\r\n class=\"x-input\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [class.x-clearable]=\"clearable\"\r\n [class.x-clear-show]=\"clearShow\"\r\n [class.x-input-icon]=\"getIcon\"\r\n [class.x-input-active]=\"active\"\r\n [class.x-input-pointer]=\"pointer\"\r\n [class.x-input-bordered]=\"bordered\"\r\n [class.x-input-icon-left]=\"getIconLayoutLeft\"\r\n [class.x-input-icon-right]=\"getIconLayoutRight\"\r\n [class.x-input-after]=\"after\"\r\n [class.x-input-before]=\"before\"\r\n [class.x-input-after-template]=\"afterIsTemplate\"\r\n [class.x-input-before-template]=\"beforeIsTemplate\"\r\n [class.x-input-value-template]=\"valueTpl\"\r\n [ngClass]=\"classMap\"\r\n>\r\n <label *ngIf=\"label\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-input-row\">\r\n <div class=\"x-input-row-before\" *ngIf=\"before\" [class.x-input-row-before-template]=\"beforeIsTemplate\">\r\n <ng-container *xOutlet=\"before\">{{ before }}</ng-container>\r\n </div>\r\n <div class=\"x-input-input\" (mouseenter)=\"xMouseenter.emit($event)\" (mouseleave)=\"xMouseleave.emit($event)\">\r\n <div\r\n class=\"x-input-value-template-value\"\r\n [style.padding-left.rem]=\"paddingLeft\"\r\n [style.padding-right.rem]=\"paddingRight\"\r\n (click)=\"xClick.emit($event)\"\r\n *ngIf=\"valueTpl\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"valueTpl; context: valueTplContext ? valueTplContext : { $value: value }\"></ng-container>\r\n </div>\r\n <input\r\n #inputRef\r\n [ngStyle]=\"inputStyle\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [maxlength]=\"maxlength\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"change($event)\"\r\n [style.padding-left.rem]=\"paddingLeft\"\r\n [style.padding-right.rem]=\"paddingRight\"\r\n (focus)=\"xFocus.emit($event)\"\r\n (blur)=\"xBlur.emit($event)\"\r\n (input)=\"xInput.emit($event)\"\r\n (keydown)=\"xKeydown.emit($event)\"\r\n (click)=\"xClick.emit($event)\"\r\n />\r\n <x-icon *ngIf=\"clearShow\" class=\"x-input-clear\" type=\"fto-x\" (click)=\"onClear()\"></x-icon>\r\n <x-icon\r\n *ngIf=\"icon && ((!clearShow && getIconLayoutRight) || getIconLayoutLeft)\"\r\n [type]=\"icon\"\r\n [spin]=\"iconSpin\"\r\n (click)=\"xClick.emit($event)\"\r\n ></x-icon>\r\n <span class=\"x-input-max-length\" *ngIf=\"maxlength\">{{ lengthTotal }}</span>\r\n <span class=\"x-input-error-message\" *ngIf=\"invalid\">{{ invalidMessage }}</span>\r\n <ng-container *ngIf=\"requiredIsEmpty || invalid\">\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n </ng-container>\r\n </div>\r\n <div class=\"x-input-row-after\" *ngIf=\"after\" [class.x-input-row-after-template]=\"afterIsTemplate\">\r\n <ng-container *xOutlet=\"after\">{{ after }}</ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-input{display:inline-block}.x-input{width:100%;margin:0;padding:0}.x-input.x-flex{display:flex}.x-input.x-justify-start{justify-content:flex-start}.x-input.x-justify-center{justify-content:center}.x-input.x-justify-end{justify-content:flex-end}.x-input.x-justify-space-between{justify-content:space-between}.x-input.x-justify-space-around{justify-content:space-around}.x-input.x-align-start{align-items:flex-start}.x-input.x-align-center{align-items:center}.x-input.x-align-end{align-items:flex-end}.x-input.x-direction-column{flex-direction:column}.x-input.x-direction-column-reverse{flex-direction:column-reverse}.x-input.x-direction-row{flex-direction:row}.x-input.x-direction-row-reverse{flex-direction:row-reverse}.x-input>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-input>label.x-text-align-start{text-align:start}.x-input>label.x-text-align-center{text-align:center}.x-input>label.x-text-align-end{text-align:end}.x-input-row{flex:1;display:flex;align-items:center}.x-input-row .x-input-row-before:not(.x-input-row-before-template),.x-input-row .x-input-row-after:not(.x-input-row-after-template){border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);background-color:var(--x-background-a100);border-width:0}.x-input-row .x-input-row-before-template{display:contents}.x-input-row .x-input-row-before-template input,.x-input-row .x-input-row-before-template .x-button{border-top-right-radius:0;border-bottom-right-radius:0}.x-input-row .x-input-row-after-template{display:contents}.x-input-row .x-input-row-after-template input,.x-input-row .x-input-row-after-template .x-button{border-top-left-radius:0;border-bottom-left-radius:0}.x-input-row .x-input-row-before-template:hover,.x-input-row .x-input-row-before-template:focus{z-index:1}.x-input-row .x-input-row-before-template input:hover,.x-input-row .x-input-row-before-template input:focus,.x-input-row .x-input-row-before-template .x-button:hover,.x-input-row .x-input-row-before-template .x-button:focus,.x-input-row .x-input-row-after-template input:hover,.x-input-row .x-input-row-after-template input:focus,.x-input-row .x-input-row-after-template .x-button:hover,.x-input-row .x-input-row-after-template .x-button:focus{z-index:1}.x-input-row>.x-input-input{position:relative;width:100%;display:inline-flex;align-items:center}.x-input-row>.x-input-input>input{flex:1;width:100%;font-size:var(--x-font-size);background-color:var(--x-background);background-image:none;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);border-width:0;box-shadow:var(--x-box-shadow) transparent;transition:all var(--x-animation-duration-slow)}.x-input-row>.x-input-input>input::-moz-placeholder{color:var(--x-text-700);opacity:1}.x-input-row>.x-input-input>input:-ms-input-placeholder{color:var(--x-text-700)}.x-input-row>.x-input-input>input::-webkit-input-placeholder{color:var(--x-text-700)}.x-input-row>.x-input-input>input[disabled]{color:var(--x-text-500)}.x-input-row>.x-input-input>input:focus{border-color:var(--x-primary);outline:0}.x-input-row>.x-input-input>x-icon{color:var(--x-text-400);transition:all var(--x-animation-duration-base);z-index:2}.x-input-row>.x-input-input:hover>input{border-color:var(--x-primary-300)}.x-input-row>.x-input-input:focus>input{border-color:var(--x-primary);outline:0}.x-input-value-template .x-input-input>input{color:transparent}.x-input-value-template-value{position:absolute;display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%;left:0}.x-input-value-template-value:hover+input{border-color:var(--x-primary-300)}.x-input-error-message{position:absolute;bottom:0;left:0;font-size:var(--x-font-size)-.125rem;color:var(--x-danger);margin-bottom:calc(calc(var(--x-font-size) + .45rem) * -1);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-input.x-invalid>label,.x-input.x-required>label{color:var(--x-danger)}.x-input.x-invalid .x-input-input>x-icon,.x-input.x-required .x-input-input>x-icon{color:var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error,.x-input.x-required .x-input-input .x-border-error{position:absolute;height:.5rem;width:.5rem;z-index:10}.x-input.x-invalid .x-input-input .x-border-error.x-top-left,.x-input.x-required .x-input-input .x-border-error.x-top-left{border-top-left-radius:var(--x-border-radius);top:0;left:0;border-top:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-top-right,.x-input.x-required .x-input-input .x-border-error.x-top-right{border-top-right-radius:var(--x-border-radius);top:0;right:0;border-top:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-bottom-left,.x-input.x-required .x-input-input .x-border-error.x-bottom-left{border-bottom-left-radius:var(--x-border-radius);bottom:0;left:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-bottom-right,.x-input.x-required .x-input-input .x-border-error.x-bottom-right{border-bottom-right-radius:var(--x-border-radius);bottom:0;right:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-input.x-disabled>.x-input-row>.x-input-input>x-icon{color:var(--x-text-400)}.x-input.x-disabled>.x-input-row>.x-input-input>input,.x-input.x-disabled>.x-input-row>.x-input-input>.x-input-value-template-value{color:var(--x-text-400);cursor:not-allowed;border-color:var(--x-border-100);background-color:var(--x-background-a100)}.x-input.x-clearable>.x-input-row>.x-input-input>.x-input-clear{position:absolute;color:var(--x-text-400);font-size:var(--x-font-size-medium);padding:.4rem;right:0;left:inherit;opacity:0;cursor:pointer;z-index:2}.x-input.x-clearable>.x-input-row>.x-input-input>.x-input-clear:hover{color:var(--x-text-300)}.x-input.x-clearable>.x-input-row>.x-input-input:hover>input .x-input-clear,.x-input.x-clearable>.x-input-row>.x-input-input:hover>.x-input-value-template-value .x-input-clear{opacity:1}.x-input.x-clearable.x-clear-show>.x-input-row>.x-input-input>.x-input-clear{opacity:1}.x-input.x-clearable.x-clear-show>.x-input-row>.x-input-input>input{padding-right:calc(var(--x-font-size-medium) + .4rem * 2)!important}.x-input-max-length{position:absolute;font-size:var(--x-font-size-small);color:var(--x-text-400);padding:0 .4rem;right:0}.x-input.x-direction-row>label{padding:0 .5rem 0 0}.x-input.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-input.x-direction-column{align-items:inherit}.x-input.x-direction-column-reverse{align-items:inherit}.x-input-icon>.x-input-row>.x-input-input>x-icon{position:absolute;font-size:var(--x-font-size-medium);padding:.4rem}.x-input-icon>.x-input-row>.x-input-input>x-icon.x-icon-spin{padding:0;margin:.4rem}.x-input-icon-left>.x-input-row>.x-input-input>input,.x-input-icon-left>.x-input-row>.x-input-input>.x-input-value-template-value{padding-left:calc($--x-input-icon-font-size + $--x-input-icon-padding * 2)}.x-input-icon-left>.x-input-row>.x-input-input>x-icon{left:0}.x-input-icon-right>.x-input-row>.x-input-input>input,.x-input-icon-right>.x-input-row>.x-input-input>.x-input-value-template-value{padding-right:calc($--x-input-icon-font-size + $--x-input-icon-padding * 2)}.x-input-icon-right>.x-input-row>.x-input-input>x-icon{right:0}.x-input-icon-right>.x-input-row>.x-input-input>.x-input-max-length{right:inherit;left:0}.x-input-bordered>.x-input-row>.x-input-input>input{border-width:var(--x-border-width)}.x-input-bordered .x-input-row .x-input-row-before:not(.x-input-row-before-template){border-width:var(--x-border-width);border-right-width:0}.x-input-bordered .x-input-row .x-input-row-after:not(.x-input-row-after-template){border-width:var(--x-border-width);border-left-width:0}.x-input-before>.x-input-row>.x-input-input>input{border-top-left-radius:0;border-bottom-left-radius:0}.x-input-before-template .x-input-input>input{margin-left:calc(var(--x-border-width) * -1)}.x-input-before-template .x-input-input>input:hover,.x-input-before-template .x-input-input>input:focus{z-index:1}.x-input-after>.x-input-row>.x-input-input>input{border-top-right-radius:0;border-bottom-right-radius:0}.x-input-after-template>.x-input-row>.x-input-input>input{margin-right:calc(var(--x-border-width) * -1)}.x-input-after-template>.x-input-row>.x-input-input>input:hover,.x-input-after-template>.x-input-row>.x-input-input>input:focus{z-index:1}.x-input-active .x-input-row>.x-input-input>input{border-color:var(--x-primary)}.x-input-pointer .x-input-row>.x-input-input>input,.x-input-pointer .x-input-row>.x-input-input>x-icon,.x-input-pointer .x-input-row>.x-input-input>.x-input-value-template-value{cursor:pointer}.x-input-big>.x-input-row>.x-input-input>input,.x-input-big>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-big>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-input-big>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-big);line-height:var(--x-height-big)}.x-input-big>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-big>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-input-large>.x-input-row>.x-input-input>input,.x-input-large>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-large>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-input-large>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-large);line-height:var(--x-height-large)}.x-input-large>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-large>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-input-medium>.x-input-row>.x-input-input>input,.x-input-medium>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-medium>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-input-medium>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-input-medium>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-medium>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-input-small>.x-input-row>.x-input-input>input,.x-input-small>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-small>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-input-small>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-small);line-height:var(--x-height-small)}.x-input-small>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-small>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-input-mini>.x-input-row>.x-input-input>input,.x-input-mini>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-mini>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-input-mini>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-input-mini>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-mini>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}\n"], components: [{ type: i3.XIconComponent, selector: "x-icon" }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i6.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
352
354
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XInputComponent, decorators: [{
353
355
  type: Component,
354
356
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-input.js","sources":["../../../../lib/ng-nest/ui/input/input.property.ts","../../../../lib/ng-nest/ui/input/input-group.component.ts","../../../../lib/ng-nest/ui/input/input-group.component.html","../../../../lib/ng-nest/ui/input/input.component.ts","../../../../lib/ng-nest/ui/input/input.component.html","../../../../lib/ng-nest/ui/input/input.module.ts","../../../../lib/ng-nest/ui/input/ng-nest-ui-input.ts"],"sourcesContent":["import {\r\n XInputBoolean,\r\n XInputNumber,\r\n XSize,\r\n XNumber,\r\n XBoolean,\r\n XWithConfig,\r\n XPositionLeftRight,\r\n XProperty,\r\n XTemplate\r\n} from '@ng-nest/ui/core';\r\nimport { Input, Output, EventEmitter, Component, TemplateRef } from '@angular/core';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * Input\r\n * @selector x-input\r\n * @decorator component\r\n */\r\nexport const XInputPrefix = 'x-input';\r\nconst X_CONFIG_NAME = 'input';\r\n\r\n/**\r\n * Input Property\r\n */\r\n@Component({ template: '' })\r\nexport class XInputProperty extends XControlValueAccessor<any> implements XInputOption {\r\n /**\r\n * @zh_CN 输入类型\r\n * @en_US Input type\r\n */\r\n @Input() type?: XInputType = 'text';\r\n /**\r\n * @zh_CN 清除按钮\r\n * @en_US Clear button\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() clearable?: XBoolean;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n @Input() icon?: string;\r\n /**\r\n * @zh_CN 图标布局方式\r\n * @en_US Icon layout\r\n */\r\n @Input() @XWithConfig<XInputIconLayoutType>(X_CONFIG_NAME, 'right') iconLayout: XInputIconLayoutType = 'right';\r\n /**\r\n * @zh_CN 图标动画\r\n * @en_US Icon animation\r\n */\r\n @Input() @XInputBoolean() iconSpin: XBoolean = false;\r\n /**\r\n * @zh_CN 输入最大长度\r\n * @en_US Enter the maximum length\r\n */\r\n @Input() @XInputNumber() maxlength!: XNumber;\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 Display Border\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) bordered!: XBoolean;\r\n /**\r\n * @zh_CN 输入框样式\r\n * @en_US Input Style\r\n */\r\n @Input() inputStyle!: { [style: string]: any };\r\n /**\r\n * @zh_CN 输入框点击样式\r\n * @en_US Input pointer\r\n */\r\n @Input() @XInputBoolean() pointer!: XBoolean;\r\n /**\r\n * @zh_CN 清除按钮的事件\r\n * @en_US Clear button event\r\n */\r\n @Output() clearEmit = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 获取焦点的事件\r\n * @en_US Focus event\r\n */\r\n @Output() xFocus = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 失去焦点的事件\r\n * @en_US Blur event\r\n */\r\n @Output() xBlur = new EventEmitter<any>();\r\n /**\r\n * @zh_CN Input\r\n * @en_US Input event\r\n */\r\n @Output() xInput = new EventEmitter<any>();\r\n /**\r\n * @zh_CN Keydown\r\n * @en_US Keydown event\r\n */\r\n @Output() xKeydown = new EventEmitter<any>();\r\n /**\r\n * @zh_CN Click\r\n * @en_US Click event\r\n */\r\n @Output() xClick = new EventEmitter<any>();\r\n /**\r\n * @zh_CN Mouseenter\r\n * @en_US Mouseenter event\r\n */\r\n @Output() xMouseenter = new EventEmitter<any>();\r\n /**\r\n * @zh_CN Mouseleave\r\n * @en_US Mouseleave event\r\n */\r\n @Output() xMouseleave = new EventEmitter<any>();\r\n}\r\n\r\n/**\r\n * Input Option\r\n * @undocument true\r\n */\r\nexport interface XInputOption extends XFormOption {\r\n /**\r\n * @zh_CN 输入类型\r\n * @en_US Input type\r\n */\r\n type?: XInputType;\r\n /**\r\n * @zh_CN 清除按钮\r\n * @en_US Clear button\r\n */\r\n clearable?: XBoolean;\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Read only\r\n */\r\n readonly?: XBoolean;\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 Icon layout\r\n */\r\n iconLayout?: XInputIconLayoutType;\r\n /**\r\n * @zh_CN 图标动画\r\n * @en_US Icon animation\r\n */\r\n iconSpin?: XBoolean;\r\n /**\r\n * @zh_CN 输入最大长度\r\n * @en_US Enter the maximum length\r\n */\r\n maxlength?: XNumber;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n size?: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n bordered?: XBoolean;\r\n /**\r\n * @zh_CN 前置标签\r\n * @en_US Before label\r\n */\r\n before?: XTemplate;\r\n /**\r\n * @zh_CN 后置标签\r\n * @en_US After label\r\n */\r\n after?: XTemplate;\r\n /**\r\n * @zh_CN 清除按钮的事件\r\n * @en_US Clear button event\r\n */\r\n clearClick?: (value: any) => void;\r\n}\r\n\r\n/**\r\n * @zh_CN 输入框类型\r\n * @en_US Input box type\r\n * @value \"text\" 文本\r\n * @value \"password\" 密码\r\n * @value \"number\" 数字\r\n */\r\nexport type XInputType = 'text' | 'password' | 'number';\r\n\r\n/**\r\n * @zh_CN 图标布局方式,指在输入框中的位置\r\n * @en_US Icon layout, refers to the position in the input box\r\n * @value \"left\" 靠左\r\n * @value \"right\" 靠右\r\n */\r\nexport type XInputIconLayoutType = XPositionLeftRight;\r\n\r\n/**\r\n * Input Group\r\n * @selector x-input-group\r\n * @decorator component\r\n */\r\nexport const XInputGroupPrefix = 'x-input-group';\r\nconst X_CONFIG_GROUP_NAME = 'inputGroup';\r\n\r\n/**\r\n * Input Group Property\r\n */\r\n@Component({ template: '' })\r\nexport class XInputGroupProperty extends XProperty {\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_GROUP_NAME) size!: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_GROUP_NAME) bordered!: XBoolean;\r\n /**\r\n * @zh_CN 是否使用紧凑模式\r\n * @en_US Whether to use a compact mode\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_GROUP_NAME) compact!: XBoolean;\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n OnChanges,\r\n OnInit,\r\n Renderer2,\r\n SimpleChanges,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { XConfigService } from '@ng-nest/ui/core';\r\nimport { XInputGroupPrefix, XInputGroupProperty } from './input.property';\r\n\r\n@Component({\r\n selector: `${XInputGroupPrefix}`,\r\n templateUrl: './input-group.component.html',\r\n styleUrls: ['./input-group.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XInputGroupComponent extends XInputGroupProperty implements OnInit, OnChanges {\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(): void {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {}\r\n}\r\n","<div class=\"x-input-group\" [class.x-input-group-compact]=\"compact\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n ViewChild,\r\n OnChanges,\r\n SimpleChanges,\r\n Input,\r\n Optional,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport { XInputPrefix, XInputProperty } from './input.property';\r\nimport { XIsEmpty, XIsChange, XClearClass, XConfigService, XIsUndefined } from '@ng-nest/ui/core';\r\nimport { Subject } from 'rxjs';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { XInputGroupComponent } from './input-group.component';\r\n\r\n@Component({\r\n selector: `${XInputPrefix}`,\r\n templateUrl: './input.component.html',\r\n styleUrls: ['./input.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XInputComponent)]\r\n})\r\nexport class XInputComponent extends XInputProperty implements OnInit, OnChanges {\r\n @ViewChild('inputElement', { static: true }) inputElement!: ElementRef;\r\n @ViewChild('inputRef', { static: true }) inputRef!: ElementRef;\r\n\r\n writeValue(value: any) {\r\n this.value = value;\r\n this.change(value);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n valueLength: number = 0;\r\n lengthTotal: string = '';\r\n paddingLeft: number = 0.4;\r\n paddingRight: number = 0.4;\r\n clearShow: boolean = false;\r\n flexClass: string[] = [];\r\n private _required: boolean = false;\r\n private _unSubject = new Subject();\r\n\r\n get getIcon() {\r\n return !XIsEmpty(this.icon);\r\n }\r\n\r\n get getIconLayoutLeft() {\r\n return !XIsEmpty(this.icon) && this.iconLayout === 'left';\r\n }\r\n\r\n get getIconLayoutRight() {\r\n return !XIsEmpty(this.icon) && this.iconLayout === 'right';\r\n }\r\n\r\n get beforeIsTemplate() {\r\n return this.before instanceof TemplateRef;\r\n }\r\n\r\n get afterIsTemplate() {\r\n return this.after instanceof TemplateRef;\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService,\r\n @Optional() public inputGroup: XInputGroupComponent\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setPadding();\r\n this.setFlexClass();\r\n this.setInheritedValue();\r\n this.setClassMap();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n XIsChange(changes.clearable) && this.setClearable();\r\n XIsChange(changes.size, changes.labelAlign) && this.setClassMap();\r\n XIsChange(changes.justify, changes.align, changes.direction) && this.setFlexClass();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n change(value: any) {\r\n if (this._required && !this.disabled) {\r\n this.required = XIsEmpty(value);\r\n }\r\n this.setClearable();\r\n if (this.maxlength) {\r\n this.valueLength = XIsEmpty(value) ? 0 : `${value}`.length;\r\n this.lengthTotal = `${this.valueLength}/${this.maxlength}`;\r\n }\r\n this.setPadding();\r\n if (this.onChange) this.onChange(value);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onClear() {\r\n const clearValue = this.value;\r\n this.value = '';\r\n this.change(this.value);\r\n this.clearEmit.emit(clearValue);\r\n this.inputRef.nativeElement.focus();\r\n }\r\n\r\n setFlexClass() {\r\n if (this.flexClass.length > 0) {\r\n for (let cls of this.flexClass) {\r\n this.renderer.removeClass(this.inputElement.nativeElement, cls);\r\n }\r\n }\r\n this.flexClass = this.setFlex(this.inputElement.nativeElement, this.renderer, this.justify, this.align, this.direction);\r\n }\r\n\r\n setClearable() {\r\n if (this.clearable && !this.disabled) {\r\n this.clearShow = !XIsEmpty(this.value);\r\n } else {\r\n this.clearShow = false;\r\n }\r\n }\r\n\r\n setInheritedValue() {\r\n if (!this.inputGroup) return;\r\n if (!XIsUndefined(this.inputGroup.size)) {\r\n this.size = this.inputGroup.size;\r\n }\r\n if (!XIsUndefined(this.inputGroup.bordered)) {\r\n this.bordered = this.inputGroup.bordered;\r\n }\r\n }\r\n\r\n setPadding() {\r\n this.paddingLeft =\r\n this.maxlength && this.icon && this.iconLayout === 'right'\r\n ? (this.lengthTotal.length + 2) * 0.385\r\n : this.icon && this.iconLayout === 'left'\r\n ? 1.8\r\n : 0.4;\r\n this.paddingRight =\r\n this.maxlength && this.icon && this.iconLayout === 'left'\r\n ? (this.lengthTotal.length + 2) * 0.385\r\n : this.icon && this.iconLayout === 'right'\r\n ? 1.8\r\n : this.maxlength && !this.icon\r\n ? (this.lengthTotal.length + 2) * 0.385\r\n : 0.4;\r\n }\r\n\r\n inputFocus(type: 'focus' | 'select' | 'before' | 'after' = 'after') {\r\n this.inputRef.nativeElement.focus();\r\n if (type === 'after') {\r\n this.inputRef.nativeElement.setSelectionRange(this.value.length, this.value.length);\r\n } else if (type === 'before') {\r\n this.inputRef.nativeElement.setSelectionRange(0, 0);\r\n } else if (type === 'select') {\r\n this.inputRef.nativeElement.setSelectionRange(0, this.value.length);\r\n }\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.classMap, this.labelMap);\r\n this.classMap[`${XInputPrefix}-${this.size}`] = this.size ? true : false;\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n }\r\n\r\n formControlChanges() {\r\n this.change(this.value);\r\n this.ngOnInit();\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div\r\n #inputElement\r\n class=\"x-input\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [class.x-clearable]=\"clearable\"\r\n [class.x-clear-show]=\"clearShow\"\r\n [class.x-input-icon]=\"getIcon\"\r\n [class.x-input-active]=\"active\"\r\n [class.x-input-pointer]=\"pointer\"\r\n [class.x-input-bordered]=\"bordered\"\r\n [class.x-input-icon-left]=\"getIconLayoutLeft\"\r\n [class.x-input-icon-right]=\"getIconLayoutRight\"\r\n [class.x-input-after]=\"after\"\r\n [class.x-input-before]=\"before\"\r\n [class.x-input-after-template]=\"afterIsTemplate\"\r\n [class.x-input-before-template]=\"beforeIsTemplate\"\r\n [class.x-input-value-template]=\"valueTpl\"\r\n [ngClass]=\"classMap\"\r\n>\r\n <label *ngIf=\"label\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-input-row\">\r\n <div class=\"x-input-row-before\" *ngIf=\"before\" [class.x-input-row-before-template]=\"beforeIsTemplate\">\r\n <ng-container *xOutlet=\"before\">{{ before }}</ng-container>\r\n </div>\r\n <div class=\"x-input-input\" (mouseenter)=\"xMouseenter.emit($event)\" (mouseleave)=\"xMouseleave.emit($event)\">\r\n <div\r\n class=\"x-input-value-template-value\"\r\n [style.padding-left.rem]=\"paddingLeft\"\r\n [style.padding-right.rem]=\"paddingRight\"\r\n (click)=\"xClick.emit($event)\"\r\n *ngIf=\"valueTpl\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"valueTpl; context: valueTplContext ? valueTplContext : { $value: value }\"></ng-container>\r\n </div>\r\n <input\r\n #inputRef\r\n [ngStyle]=\"inputStyle\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [maxlength]=\"maxlength\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"change($event)\"\r\n [style.padding-left.rem]=\"paddingLeft\"\r\n [style.padding-right.rem]=\"paddingRight\"\r\n (focus)=\"xFocus.emit($event)\"\r\n (blur)=\"xBlur.emit($event)\"\r\n (input)=\"xInput.emit($event)\"\r\n (keydown)=\"xKeydown.emit($event)\"\r\n (click)=\"xClick.emit($event)\"\r\n />\r\n <x-icon *ngIf=\"clearShow\" class=\"x-input-clear\" type=\"fto-x\" (click)=\"onClear()\"></x-icon>\r\n <x-icon *ngIf=\"icon && ((!clearShow && getIconLayoutRight) || getIconLayoutLeft)\" [type]=\"icon\" [spin]=\"iconSpin\"></x-icon>\r\n <span class=\"x-input-max-length\" *ngIf=\"maxlength\">{{ lengthTotal }}</span>\r\n <span class=\"x-input-error-message\" *ngIf=\"invalid\">{{ invalidMessage }}</span>\r\n <ng-container *ngIf=\"requiredIsEmpty || invalid\">\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n </ng-container>\r\n </div>\r\n <div class=\"x-input-row-after\" *ngIf=\"after\" [class.x-input-row-after-template]=\"afterIsTemplate\">\r\n <ng-container *xOutlet=\"after\">{{ after }}</ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XInputComponent } from './input.component';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XInputGroupProperty, XInputProperty } from './input.property';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\nimport { XInputGroupComponent } from './input-group.component';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\n\r\n@NgModule({\r\n declarations: [XInputComponent, XInputProperty, XInputGroupComponent, XInputGroupProperty],\r\n exports: [XInputComponent, XInputGroupComponent],\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule, XIconModule, XBaseFormModule, XOutletModule]\r\n})\r\nexport class XInputModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAcA;;;;;MAKa,YAAY,GAAG,UAAU;AACtC,MAAM,aAAa,GAAG,OAAO,CAAC;AAE9B;;;MAIa,cAAe,SAAQ,qBAA0B;IAD9D;;;;;;QAMW,SAAI,GAAgB,MAAM,CAAC;;;;;QAegC,eAAU,GAAyB,OAAO,CAAC;;;;;QAKrF,aAAQ,GAAa,KAAK,CAAC;;;;;QA8B3C,cAAS,GAAG,IAAI,YAAY,EAAO,CAAC;;;;;QAKpC,WAAM,GAAG,IAAI,YAAY,EAAO,CAAC;;;;;QAKjC,UAAK,GAAG,IAAI,YAAY,EAAO,CAAC;;;;;QAKhC,WAAM,GAAG,IAAI,YAAY,EAAO,CAAC;;;;;QAKjC,aAAQ,GAAG,IAAI,YAAY,EAAO,CAAC;;;;;QAKnC,WAAM,GAAG,IAAI,YAAY,EAAO,CAAC;;;;;QAKjC,gBAAW,GAAG,IAAI,YAAY,EAAO,CAAC;;;;;QAKtC,gBAAW,GAAG,IAAI,YAAY,EAAO,CAAC;KACjD;;8HA3FY,cAAc;kHAAd,cAAc,8dADJ,EAAE;AAWgD;IAA7D,WAAW,CAAW,aAAa,EAAE,KAAK,CAAC;IAAE,aAAa,EAAE;iDAAsB;AAUxB;IAA1D,WAAW,CAAuB,aAAa,EAAE,OAAO,CAAC;kDAA4C;AAKrF;IAAhB,aAAa,EAAE;gDAA4B;AAK5B;IAAf,YAAY,EAAE;iDAAqB;AAKS;IAA5C,WAAW,CAAQ,aAAa,EAAE,QAAQ,CAAC;4CAAc;AAKG;IAA5D,aAAa,EAAE;IAAE,WAAW,CAAW,aAAa,EAAE,IAAI,CAAC;gDAAqB;AAUhE;IAAhB,aAAa,EAAE;+CAAoB;2FAlDlC,cAAc;kBAD1B,SAAS;mBAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;8BAMhB,IAAI;sBAAZ,KAAK;gBAKiE,SAAS;sBAA/E,KAAK;gBAKG,IAAI;sBAAZ,KAAK;gBAK8D,UAAU;sBAA7E,KAAK;gBAKoB,QAAQ;sBAAjC,KAAK;gBAKmB,SAAS;sBAAjC,KAAK;gBAKgD,IAAI;sBAAzD,KAAK;gBAKgE,QAAQ;sBAA7E,KAAK;gBAKG,UAAU;sBAAlB,KAAK;gBAKoB,OAAO;sBAAhC,KAAK;gBAKI,SAAS;sBAAlB,MAAM;gBAKG,MAAM;sBAAf,MAAM;gBAKG,KAAK;sBAAd,MAAM;gBAKG,MAAM;sBAAf,MAAM;gBAKG,QAAQ;sBAAjB,MAAM;gBAKG,MAAM;sBAAf,MAAM;gBAKG,WAAW;sBAApB,MAAM;gBAKG,WAAW;sBAApB,MAAM;;AAuFT;;;;;MAKa,iBAAiB,GAAG,gBAAgB;AACjD,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAEzC;;;MAIa,mBAAoB,SAAQ,SAAS;;mIAArC,mBAAmB;uHAAnB,mBAAmB,+IADT,EAAE;AAM2B;IAAxC,WAAW,CAAQ,mBAAmB,CAAC;iDAAc;AAKO;IAA5D,aAAa,EAAE;IAAE,WAAW,CAAW,mBAAmB,CAAC;qDAAqB;AAKpB;IAA5D,aAAa,EAAE;IAAE,WAAW,CAAW,mBAAmB,CAAC;oDAAoB;2FAf9E,mBAAmB;kBAD/B,SAAS;mBAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;8BAMyB,IAAI;sBAArD,KAAK;gBAKgE,QAAQ;sBAA7E,KAAK;gBAKgE,OAAO;sBAA5E,KAAK;;;MCjNK,oBAAqB,SAAQ,mBAAmB;IAC3D,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;KAGrC;IAED,QAAQ,MAAW;IAEnB,WAAW,CAAC,OAAsB,KAAU;;oIAZjC,oBAAoB;wHAApB,oBAAoB,iGCrBjC,sHAGA;2FDkBa,oBAAoB;kBAPhC,SAAS;mBAAC;oBACT,QAAQ,EAAE,GAAG,iBAAiB,EAAE;oBAChC,WAAW,EAAE,8BAA8B;oBAC3C,SAAS,EAAE,CAAC,8BAA8B,CAAC;oBAC3C,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD;;;MESY,eAAgB,SAAQ,cAAc;IAuCjD,YACS,QAAmB,EACnB,UAAsB,EACtB,GAAsB,EACtB,aAA6B,EACjB,UAAgC;QAEnD,KAAK,EAAE,CAAC;QAND,aAAQ,GAAR,QAAQ,CAAW;QACnB,eAAU,GAAV,UAAU,CAAY;QACtB,QAAG,GAAH,GAAG,CAAmB;QACtB,kBAAa,GAAb,aAAa,CAAgB;QACjB,eAAU,GAAV,UAAU,CAAsB;QAlCrD,gBAAW,GAAW,CAAC,CAAC;QACxB,gBAAW,GAAW,EAAE,CAAC;QACzB,gBAAW,GAAW,GAAG,CAAC;QAC1B,iBAAY,GAAW,GAAG,CAAC;QAC3B,cAAS,GAAY,KAAK,CAAC;QAC3B,cAAS,GAAa,EAAE,CAAC;QACjB,cAAS,GAAY,KAAK,CAAC;QAC3B,eAAU,GAAG,IAAI,OAAO,EAAE,CAAC;KA8BlC;IA3CD,UAAU,CAAC,KAAU;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAWD,IAAI,OAAO;QACT,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC7B;IAED,IAAI,iBAAiB;QACnB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC;KAC3D;IAED,IAAI,kBAAkB;QACpB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,CAAC;KAC5D;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,MAAM,YAAY,WAAW,CAAC;KAC3C;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,KAAK,YAAY,WAAW,CAAC;KAC1C;IAYD,QAAQ;QACN,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAED,WAAW,CAAC,OAAsB;QAChC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACpD,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAClE,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;KACrF;IAED,WAAW;QACT,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;KAC/B;IAED,MAAM,CAAC,KAAU;QACf,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,MAAM,CAAC;YAC3D,IAAI,CAAC,WAAW,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;SAC5D;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAED,OAAO;QACL,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KACrC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;gBAC9B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;aACjE;SACF;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;KACzH;IAED,YAAY;QACV,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACpC,IAAI,CAAC,SAAS,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;KACF;IAED,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;SAClC;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;SAC1C;KACF;IAED,UAAU;QACR,IAAI,CAAC,WAAW;YACd,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO;kBACtD,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK;kBACrC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM;sBACvC,GAAG;sBACH,GAAG,CAAC;QACV,IAAI,CAAC,YAAY;YACf,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM;kBACrD,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK;kBACrC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO;sBACxC,GAAG;sBACH,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI;0BAC5B,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK;0BACrC,GAAG,CAAC;KACX;IAED,UAAU,CAAC,OAAgD,OAAO;QAChE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,IAAI,KAAK,OAAO,EAAE;YACpB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SACrF;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACrD;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SACrE;KACF;IAED,WAAW;QACT,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,GAAG,YAAY,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;QACzE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC;KACnF;IAED,kBAAkB;QAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;;+HA1JU,eAAe;mHAAf,eAAe,kCAFf,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,uSC3B9C,8zGAwEA;2FD3Ca,eAAe;kBAR3B,SAAS;mBAAC;oBACT,QAAQ,EAAE,GAAG,YAAY,EAAE;oBAC3B,WAAW,EAAE,wBAAwB;oBACrC,SAAS,EAAE,CAAC,wBAAwB,CAAC;oBACrC,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,SAAS,EAAE,CAAC,cAAc,iBAAiB,CAAC;iBAC7C;;0BA6CI,QAAQ;4CA3CkC,YAAY;sBAAxD,SAAS;uBAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBACF,QAAQ;sBAAhD,SAAS;uBAAC,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;MEhB5B,YAAY;;4HAAZ,YAAY;6HAAZ,YAAY,iBAJR,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAE,mBAAmB,aAE/E,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,aAD3F,eAAe,EAAE,oBAAoB;6HAGpC,YAAY,YAFd,CAAC,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,CAAC;2FAE3F,YAAY;kBALxB,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAE,mBAAmB,CAAC;oBAC1F,OAAO,EAAE,CAAC,eAAe,EAAE,oBAAoB,CAAC;oBAChD,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,CAAC;iBACvG;;;ACdD;;;;;;"}
1
+ {"version":3,"file":"ng-nest-ui-input.js","sources":["../../../../lib/ng-nest/ui/input/input.property.ts","../../../../lib/ng-nest/ui/input/input-group.component.ts","../../../../lib/ng-nest/ui/input/input-group.component.html","../../../../lib/ng-nest/ui/input/input.component.ts","../../../../lib/ng-nest/ui/input/input.component.html","../../../../lib/ng-nest/ui/input/input.module.ts","../../../../lib/ng-nest/ui/input/ng-nest-ui-input.ts"],"sourcesContent":["import {\r\n XInputBoolean,\r\n XInputNumber,\r\n XSize,\r\n XNumber,\r\n XBoolean,\r\n XWithConfig,\r\n XPositionLeftRight,\r\n XProperty,\r\n XTemplate\r\n} from '@ng-nest/ui/core';\r\nimport { Input, Output, EventEmitter, Component } from '@angular/core';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * Input\r\n * @selector x-input\r\n * @decorator component\r\n */\r\nexport const XInputPrefix = 'x-input';\r\nconst X_CONFIG_NAME = 'input';\r\n\r\n/**\r\n * Input Property\r\n */\r\n@Component({ template: '' })\r\nexport class XInputProperty extends XControlValueAccessor<any> implements XInputOption {\r\n /**\r\n * @zh_CN 输入类型\r\n * @en_US Input type\r\n */\r\n @Input() type?: XInputType = 'text';\r\n /**\r\n * @zh_CN 清除按钮\r\n * @en_US Clear button\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() clearable?: XBoolean;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n @Input() icon?: string;\r\n /**\r\n * @zh_CN 图标布局方式\r\n * @en_US Icon layout\r\n */\r\n @Input() @XWithConfig<XInputIconLayoutType>(X_CONFIG_NAME, 'right') iconLayout: XInputIconLayoutType = 'right';\r\n /**\r\n * @zh_CN 图标动画\r\n * @en_US Icon animation\r\n */\r\n @Input() @XInputBoolean() iconSpin: XBoolean = false;\r\n /**\r\n * @zh_CN 输入最大长度\r\n * @en_US Enter the maximum length\r\n */\r\n @Input() @XInputNumber() maxlength!: XNumber;\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 Display Border\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) bordered!: XBoolean;\r\n /**\r\n * @zh_CN 输入框样式\r\n * @en_US Input Style\r\n */\r\n @Input() inputStyle!: { [style: string]: any };\r\n /**\r\n * @zh_CN 输入框点击样式\r\n * @en_US Input pointer\r\n */\r\n @Input() @XInputBoolean() pointer!: XBoolean;\r\n /**\r\n * @zh_CN 清除按钮的事件\r\n * @en_US Clear button event\r\n */\r\n @Output() clearEmit = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 获取焦点的事件\r\n * @en_US Focus event\r\n */\r\n @Output() xFocus = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 失去焦点的事件\r\n * @en_US Blur event\r\n */\r\n @Output() xBlur = new EventEmitter<any>();\r\n /**\r\n * @zh_CN Input\r\n * @en_US Input event\r\n */\r\n @Output() xInput = new EventEmitter<any>();\r\n /**\r\n * @zh_CN Keydown\r\n * @en_US Keydown event\r\n */\r\n @Output() xKeydown = new EventEmitter<any>();\r\n /**\r\n * @zh_CN Click\r\n * @en_US Click event\r\n */\r\n @Output() xClick = new EventEmitter<any>();\r\n /**\r\n * @zh_CN Mouseenter\r\n * @en_US Mouseenter event\r\n */\r\n @Output() xMouseenter = new EventEmitter<any>();\r\n /**\r\n * @zh_CN Mouseleave\r\n * @en_US Mouseleave event\r\n */\r\n @Output() xMouseleave = new EventEmitter<any>();\r\n}\r\n\r\n/**\r\n * Input Option\r\n * @undocument true\r\n */\r\nexport interface XInputOption extends XFormOption {\r\n /**\r\n * @zh_CN 输入类型\r\n * @en_US Input type\r\n */\r\n type?: XInputType;\r\n /**\r\n * @zh_CN 清除按钮\r\n * @en_US Clear button\r\n */\r\n clearable?: XBoolean;\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Read only\r\n */\r\n readonly?: XBoolean;\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 Icon layout\r\n */\r\n iconLayout?: XInputIconLayoutType;\r\n /**\r\n * @zh_CN 图标动画\r\n * @en_US Icon animation\r\n */\r\n iconSpin?: XBoolean;\r\n /**\r\n * @zh_CN 输入最大长度\r\n * @en_US Enter the maximum length\r\n */\r\n maxlength?: XNumber;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n size?: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n bordered?: XBoolean;\r\n /**\r\n * @zh_CN 前置标签\r\n * @en_US Before label\r\n */\r\n before?: XTemplate;\r\n /**\r\n * @zh_CN 后置标签\r\n * @en_US After label\r\n */\r\n after?: XTemplate;\r\n /**\r\n * @zh_CN 清除按钮的事件\r\n * @en_US Clear button event\r\n */\r\n clearClick?: (value: any) => void;\r\n}\r\n\r\n/**\r\n * @zh_CN 输入框类型\r\n * @en_US Input box type\r\n * @value \"text\" 文本\r\n * @value \"password\" 密码\r\n * @value \"number\" 数字\r\n */\r\nexport type XInputType = 'text' | 'password' | 'number';\r\n\r\n/**\r\n * @zh_CN 图标布局方式,指在输入框中的位置\r\n * @en_US Icon layout, refers to the position in the input box\r\n * @value \"left\" 靠左\r\n * @value \"right\" 靠右\r\n */\r\nexport type XInputIconLayoutType = XPositionLeftRight;\r\n\r\n/**\r\n * Input Group\r\n * @selector x-input-group\r\n * @decorator component\r\n */\r\nexport const XInputGroupPrefix = 'x-input-group';\r\nconst X_CONFIG_GROUP_NAME = 'inputGroup';\r\n\r\n/**\r\n * Input Group Property\r\n */\r\n@Component({ template: '' })\r\nexport class XInputGroupProperty extends XProperty {\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_GROUP_NAME) size!: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_GROUP_NAME) bordered!: XBoolean;\r\n /**\r\n * @zh_CN 是否使用紧凑模式\r\n * @en_US Whether to use a compact mode\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_GROUP_NAME) compact!: XBoolean;\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Renderer2, ViewEncapsulation } from '@angular/core';\r\nimport { XConfigService } from '@ng-nest/ui/core';\r\nimport { XInputGroupPrefix, XInputGroupProperty } from './input.property';\r\n\r\n@Component({\r\n selector: `${XInputGroupPrefix}`,\r\n templateUrl: './input-group.component.html',\r\n styleUrls: ['./input-group.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XInputGroupComponent extends XInputGroupProperty {\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","<div class=\"x-input-group\" [class.x-input-group-compact]=\"compact\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n ViewChild,\r\n OnChanges,\r\n SimpleChanges,\r\n Optional,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport { XInputPrefix, XInputProperty } from './input.property';\r\nimport { XIsEmpty, XIsChange, XClearClass, XConfigService, XIsUndefined } from '@ng-nest/ui/core';\r\nimport { Subject } from 'rxjs';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { XInputGroupComponent } from './input-group.component';\r\n\r\n@Component({\r\n selector: `${XInputPrefix}`,\r\n templateUrl: './input.component.html',\r\n styleUrls: ['./input.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XInputComponent)]\r\n})\r\nexport class XInputComponent extends XInputProperty implements OnInit, OnChanges {\r\n @ViewChild('inputElement', { static: true }) inputElement!: ElementRef;\r\n @ViewChild('inputRef', { static: true }) inputRef!: ElementRef;\r\n\r\n writeValue(value: any) {\r\n this.value = value;\r\n this.change(value);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n valueLength: number = 0;\r\n lengthTotal: string = '';\r\n paddingLeft: number = 0.4;\r\n paddingRight: number = 0.4;\r\n clearShow: boolean = false;\r\n flexClass: string[] = [];\r\n private _required: boolean = false;\r\n private _unSubject = new Subject<void>();\r\n\r\n get getIcon() {\r\n return !XIsEmpty(this.icon);\r\n }\r\n\r\n get getIconLayoutLeft() {\r\n return !XIsEmpty(this.icon) && this.iconLayout === 'left';\r\n }\r\n\r\n get getIconLayoutRight() {\r\n return !XIsEmpty(this.icon) && this.iconLayout === 'right';\r\n }\r\n\r\n get beforeIsTemplate() {\r\n return this.before instanceof TemplateRef;\r\n }\r\n\r\n get afterIsTemplate() {\r\n return this.after instanceof TemplateRef;\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService,\r\n @Optional() public inputGroup: XInputGroupComponent\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setPadding();\r\n this.setFlexClass();\r\n this.setInheritedValue();\r\n this.setClassMap();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { clearable, size, labelAlign, justify, align, direction } = changes;\r\n XIsChange(clearable) && this.setClearable();\r\n XIsChange(size, labelAlign) && this.setClassMap();\r\n XIsChange(justify, align, direction) && this.setFlexClass();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n change(value: any) {\r\n if (this._required && !this.disabled) {\r\n this.required = XIsEmpty(value);\r\n }\r\n this.setClearable();\r\n if (this.maxlength) {\r\n this.valueLength = XIsEmpty(value) ? 0 : `${value}`.length;\r\n this.lengthTotal = `${this.valueLength}/${this.maxlength}`;\r\n }\r\n this.setPadding();\r\n if (this.onChange) this.onChange(value);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onClear() {\r\n const clearValue = this.value;\r\n this.value = '';\r\n this.change(this.value);\r\n this.clearEmit.emit(clearValue);\r\n this.inputRef.nativeElement.focus();\r\n }\r\n\r\n setFlexClass() {\r\n if (this.flexClass.length > 0) {\r\n for (let cls of this.flexClass) {\r\n this.renderer.removeClass(this.inputElement.nativeElement, cls);\r\n }\r\n }\r\n this.flexClass = this.setFlex(this.inputElement.nativeElement, this.renderer, this.justify, this.align, this.direction);\r\n }\r\n\r\n setClearable() {\r\n if (this.clearable && !this.disabled) {\r\n this.clearShow = !XIsEmpty(this.value);\r\n } else {\r\n this.clearShow = false;\r\n }\r\n this.setPadding()\r\n }\r\n\r\n setInheritedValue() {\r\n if (!this.inputGroup) return;\r\n if (!XIsUndefined(this.inputGroup.size)) {\r\n this.size = this.inputGroup.size;\r\n }\r\n if (!XIsUndefined(this.inputGroup.bordered)) {\r\n this.bordered = this.inputGroup.bordered;\r\n }\r\n }\r\n\r\n setPadding() {\r\n this.paddingLeft =\r\n this.maxlength && this.icon && this.iconLayout === 'right'\r\n ? (this.lengthTotal.length + 2) * 0.385\r\n : this.icon && this.iconLayout === 'left'\r\n ? 1.8\r\n : 0.4;\r\n this.paddingRight =\r\n this.maxlength && this.icon && this.iconLayout === 'left'\r\n ? (this.lengthTotal.length + 2) * 0.385\r\n : this.icon && this.iconLayout === 'right'\r\n ? 1.8\r\n : this.maxlength && !this.icon\r\n ? (this.lengthTotal.length + 2) * 0.385\r\n : 0.4;\r\n }\r\n\r\n inputFocus(type: 'focus' | 'select' | 'before' | 'after' = 'after') {\r\n this.inputRef.nativeElement.focus();\r\n if (!this.value) return;\r\n if (type === 'after') {\r\n this.inputRef.nativeElement.setSelectionRange(this.value.length, this.value.length);\r\n } else if (type === 'before') {\r\n this.inputRef.nativeElement.setSelectionRange(0, 0);\r\n } else if (type === 'select') {\r\n this.inputRef.nativeElement.setSelectionRange(0, this.value.length);\r\n }\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.classMap, this.labelMap);\r\n this.classMap[`${XInputPrefix}-${this.size}`] = this.size ? true : false;\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n }\r\n\r\n formControlChanges() {\r\n this.change(this.value);\r\n this.ngOnInit();\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div\r\n #inputElement\r\n class=\"x-input\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [class.x-clearable]=\"clearable\"\r\n [class.x-clear-show]=\"clearShow\"\r\n [class.x-input-icon]=\"getIcon\"\r\n [class.x-input-active]=\"active\"\r\n [class.x-input-pointer]=\"pointer\"\r\n [class.x-input-bordered]=\"bordered\"\r\n [class.x-input-icon-left]=\"getIconLayoutLeft\"\r\n [class.x-input-icon-right]=\"getIconLayoutRight\"\r\n [class.x-input-after]=\"after\"\r\n [class.x-input-before]=\"before\"\r\n [class.x-input-after-template]=\"afterIsTemplate\"\r\n [class.x-input-before-template]=\"beforeIsTemplate\"\r\n [class.x-input-value-template]=\"valueTpl\"\r\n [ngClass]=\"classMap\"\r\n>\r\n <label *ngIf=\"label\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-input-row\">\r\n <div class=\"x-input-row-before\" *ngIf=\"before\" [class.x-input-row-before-template]=\"beforeIsTemplate\">\r\n <ng-container *xOutlet=\"before\">{{ before }}</ng-container>\r\n </div>\r\n <div class=\"x-input-input\" (mouseenter)=\"xMouseenter.emit($event)\" (mouseleave)=\"xMouseleave.emit($event)\">\r\n <div\r\n class=\"x-input-value-template-value\"\r\n [style.padding-left.rem]=\"paddingLeft\"\r\n [style.padding-right.rem]=\"paddingRight\"\r\n (click)=\"xClick.emit($event)\"\r\n *ngIf=\"valueTpl\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"valueTpl; context: valueTplContext ? valueTplContext : { $value: value }\"></ng-container>\r\n </div>\r\n <input\r\n #inputRef\r\n [ngStyle]=\"inputStyle\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [maxlength]=\"maxlength\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"change($event)\"\r\n [style.padding-left.rem]=\"paddingLeft\"\r\n [style.padding-right.rem]=\"paddingRight\"\r\n (focus)=\"xFocus.emit($event)\"\r\n (blur)=\"xBlur.emit($event)\"\r\n (input)=\"xInput.emit($event)\"\r\n (keydown)=\"xKeydown.emit($event)\"\r\n (click)=\"xClick.emit($event)\"\r\n />\r\n <x-icon *ngIf=\"clearShow\" class=\"x-input-clear\" type=\"fto-x\" (click)=\"onClear()\"></x-icon>\r\n <x-icon\r\n *ngIf=\"icon && ((!clearShow && getIconLayoutRight) || getIconLayoutLeft)\"\r\n [type]=\"icon\"\r\n [spin]=\"iconSpin\"\r\n (click)=\"xClick.emit($event)\"\r\n ></x-icon>\r\n <span class=\"x-input-max-length\" *ngIf=\"maxlength\">{{ lengthTotal }}</span>\r\n <span class=\"x-input-error-message\" *ngIf=\"invalid\">{{ invalidMessage }}</span>\r\n <ng-container *ngIf=\"requiredIsEmpty || invalid\">\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n </ng-container>\r\n </div>\r\n <div class=\"x-input-row-after\" *ngIf=\"after\" [class.x-input-row-after-template]=\"afterIsTemplate\">\r\n <ng-container *xOutlet=\"after\">{{ after }}</ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XInputComponent } from './input.component';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XInputGroupProperty, XInputProperty } from './input.property';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\nimport { XInputGroupComponent } from './input-group.component';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\n\r\n@NgModule({\r\n declarations: [XInputComponent, XInputProperty, XInputGroupComponent, XInputGroupProperty],\r\n exports: [XInputComponent, XInputGroupComponent],\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule, XIconModule, XBaseFormModule, XOutletModule]\r\n})\r\nexport class XInputModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -243,7 +243,8 @@ class XListComponent extends XListProperty {
243
243
  }
244
244
  ngOnInit() { }
245
245
  ngOnChanges(changes) {
246
- XIsChange(changes.data) && this.setData();
246
+ const { data } = changes;
247
+ XIsChange(data) && this.setData();
247
248
  }
248
249
  ngAfterViewInit() {
249
250
  this.initKeyManager();
@@ -272,7 +273,7 @@ class XListComponent extends XListProperty {
272
273
  this.keyManagerChange.emit(num);
273
274
  });
274
275
  }
275
- setScorllTop(num) {
276
+ setScorllTop(_num) {
276
277
  if (!this.scrollElement)
277
278
  return;
278
279
  let ele = this.keyManager.activeItem.elementRef.nativeElement;
@@ -404,7 +405,7 @@ class XListComponent extends XListProperty {
404
405
  moveItemInArray(this.nodes, event.previousIndex, event.currentIndex);
405
406
  this.cdr.detectChanges();
406
407
  }
407
- trackByNode(index, item) {
408
+ trackByNode(_index, item) {
408
409
  return item.id;
409
410
  }
410
411
  setUnActive(num) {