@ng-nest/ui 16.0.9 → 16.0.11

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 (510) hide show
  1. package/drag/drag.directive.d.ts +14 -0
  2. package/drag/drag.module.d.ts +8 -0
  3. package/drag/drag.property.d.ts +26 -0
  4. package/drag/index.d.ts +5 -0
  5. package/drag/public-api.d.ts +3 -0
  6. package/esm2022/affix/affix.component.mjs +4 -4
  7. package/esm2022/affix/affix.module.mjs +5 -5
  8. package/esm2022/affix/affix.property.mjs +4 -4
  9. package/esm2022/alert/alert.component.mjs +4 -4
  10. package/esm2022/alert/alert.module.mjs +5 -5
  11. package/esm2022/alert/alert.property.mjs +4 -4
  12. package/esm2022/anchor/anchor-inner.component.mjs +4 -4
  13. package/esm2022/anchor/anchor.component.mjs +4 -4
  14. package/esm2022/anchor/anchor.module.mjs +5 -5
  15. package/esm2022/anchor/anchor.property.mjs +7 -7
  16. package/esm2022/api/api.component.mjs +4 -4
  17. package/esm2022/api/api.module.mjs +5 -5
  18. package/esm2022/auto-complete/auto-complete-portal.component.mjs +5 -5
  19. package/esm2022/auto-complete/auto-complete.component.mjs +5 -5
  20. package/esm2022/auto-complete/auto-complete.module.mjs +5 -5
  21. package/esm2022/auto-complete/auto-complete.property.mjs +4 -4
  22. package/esm2022/avatar/avatar-group.component.mjs +4 -4
  23. package/esm2022/avatar/avatar.component.mjs +4 -4
  24. package/esm2022/avatar/avatar.module.mjs +5 -5
  25. package/esm2022/avatar/avatar.property.mjs +7 -7
  26. package/esm2022/back-top/back-top.component.mjs +4 -4
  27. package/esm2022/back-top/back-top.module.mjs +5 -5
  28. package/esm2022/back-top/back-top.property.mjs +4 -4
  29. package/esm2022/badge/badge.component.mjs +4 -4
  30. package/esm2022/badge/badge.module.mjs +5 -5
  31. package/esm2022/badge/badge.property.mjs +4 -4
  32. package/esm2022/base-form/base-form.component.mjs +4 -4
  33. package/esm2022/base-form/base-form.module.mjs +5 -5
  34. package/esm2022/base-form/base-form.property.mjs +4 -4
  35. package/esm2022/border/border.component.mjs +4 -4
  36. package/esm2022/border/border.module.mjs +5 -5
  37. package/esm2022/button/button.component.mjs +4 -4
  38. package/esm2022/button/button.module.mjs +5 -5
  39. package/esm2022/button/button.property.mjs +7 -7
  40. package/esm2022/button/buttons.component.mjs +4 -4
  41. package/esm2022/calendar/calendar.component.mjs +4 -4
  42. package/esm2022/calendar/calendar.module.mjs +5 -5
  43. package/esm2022/calendar/calendar.property.mjs +4 -4
  44. package/esm2022/card/card.component.mjs +4 -4
  45. package/esm2022/card/card.module.mjs +5 -5
  46. package/esm2022/card/card.property.mjs +4 -4
  47. package/esm2022/carousel/carousel-panel.component.mjs +4 -4
  48. package/esm2022/carousel/carousel.component.mjs +4 -4
  49. package/esm2022/carousel/carousel.module.mjs +5 -5
  50. package/esm2022/carousel/carousel.property.mjs +7 -7
  51. package/esm2022/cascade/cascade-portal.component.mjs +4 -4
  52. package/esm2022/cascade/cascade.component.mjs +4 -4
  53. package/esm2022/cascade/cascade.module.mjs +5 -5
  54. package/esm2022/cascade/cascade.property.mjs +4 -4
  55. package/esm2022/checkbox/checkbox.component.mjs +4 -4
  56. package/esm2022/checkbox/checkbox.module.mjs +5 -5
  57. package/esm2022/checkbox/checkbox.property.mjs +4 -4
  58. package/esm2022/collapse/collapse-panel.component.mjs +4 -4
  59. package/esm2022/collapse/collapse.component.mjs +4 -4
  60. package/esm2022/collapse/collapse.module.mjs +5 -5
  61. package/esm2022/collapse/collapse.property.mjs +7 -7
  62. package/esm2022/color/color.component.mjs +4 -4
  63. package/esm2022/color/color.module.mjs +5 -5
  64. package/esm2022/color/color.property.mjs +4 -4
  65. package/esm2022/color-picker/color-picker-portal.component.mjs +4 -4
  66. package/esm2022/color-picker/color-picker.component.mjs +4 -4
  67. package/esm2022/color-picker/color-picker.module.mjs +5 -5
  68. package/esm2022/color-picker/color-picker.property.mjs +4 -4
  69. package/esm2022/comment/comment-reply.component.mjs +4 -4
  70. package/esm2022/comment/comment.component.mjs +4 -4
  71. package/esm2022/comment/comment.module.mjs +5 -5
  72. package/esm2022/comment/comment.property.mjs +7 -7
  73. package/esm2022/container/aside.component.mjs +4 -4
  74. package/esm2022/container/container.component.mjs +4 -4
  75. package/esm2022/container/container.module.mjs +5 -5
  76. package/esm2022/container/container.property.mjs +13 -13
  77. package/esm2022/container/footer.component.mjs +4 -4
  78. package/esm2022/container/header.component.mjs +4 -4
  79. package/esm2022/container/main.component.mjs +4 -4
  80. package/esm2022/core/config/config.service.mjs +4 -4
  81. package/esm2022/core/services/http.service.mjs +4 -4
  82. package/esm2022/core/services/preloading-strategy.service.mjs +4 -4
  83. package/esm2022/core/services/storage.service.mjs +4 -4
  84. package/esm2022/core/theme/theme.service.mjs +4 -4
  85. package/esm2022/crumb/crumb.component.mjs +4 -4
  86. package/esm2022/crumb/crumb.module.mjs +5 -5
  87. package/esm2022/crumb/crumb.property.mjs +4 -4
  88. package/esm2022/date-picker/date-picker-portal.component.mjs +4 -4
  89. package/esm2022/date-picker/date-picker.component.mjs +4 -4
  90. package/esm2022/date-picker/date-picker.module.mjs +5 -5
  91. package/esm2022/date-picker/date-picker.property.mjs +19 -19
  92. package/esm2022/date-picker/date-quarter.pipe.mjs +4 -4
  93. package/esm2022/date-picker/date-range-portal.component.mjs +4 -4
  94. package/esm2022/date-picker/date-range.component.mjs +4 -4
  95. package/esm2022/date-picker/picker-date.component.mjs +4 -4
  96. package/esm2022/date-picker/picker-month.component.mjs +4 -4
  97. package/esm2022/date-picker/picker-quarter.component.mjs +4 -4
  98. package/esm2022/date-picker/picker-year.component.mjs +4 -4
  99. package/esm2022/description/description-item.component.mjs +4 -4
  100. package/esm2022/description/description.component.mjs +4 -4
  101. package/esm2022/description/description.module.mjs +5 -5
  102. package/esm2022/description/description.property.mjs +7 -7
  103. package/esm2022/dialog/dialog-container.component.mjs +4 -4
  104. package/esm2022/dialog/dialog-portal.component.mjs +4 -4
  105. package/esm2022/dialog/dialog-portal.directives.mjs +19 -19
  106. package/esm2022/dialog/dialog.component.mjs +4 -4
  107. package/esm2022/dialog/dialog.module.mjs +5 -5
  108. package/esm2022/dialog/dialog.property.mjs +7 -7
  109. package/esm2022/dialog/dialog.service.mjs +4 -4
  110. package/esm2022/doc/doc.component.mjs +5 -5
  111. package/esm2022/doc/doc.module.mjs +5 -5
  112. package/esm2022/drag/drag.directive.mjs +71 -0
  113. package/esm2022/drag/drag.module.mjs +19 -0
  114. package/esm2022/drag/drag.property.mjs +32 -0
  115. package/esm2022/drag/ng-nest-ui-drag.mjs +5 -0
  116. package/esm2022/drag/public-api.mjs +4 -0
  117. package/esm2022/drawer/drawer-container.component.mjs +4 -4
  118. package/esm2022/drawer/drawer-portal.component.mjs +4 -4
  119. package/esm2022/drawer/drawer-portal.directives.mjs +10 -10
  120. package/esm2022/drawer/drawer.component.mjs +4 -4
  121. package/esm2022/drawer/drawer.module.mjs +5 -5
  122. package/esm2022/drawer/drawer.property.mjs +7 -7
  123. package/esm2022/drawer/drawer.service.mjs +4 -4
  124. package/esm2022/dropdown/dropdown-portal.component.mjs +4 -4
  125. package/esm2022/dropdown/dropdown.component.mjs +4 -4
  126. package/esm2022/dropdown/dropdown.module.mjs +5 -5
  127. package/esm2022/dropdown/dropdown.property.mjs +4 -4
  128. package/esm2022/empty/empty.component.mjs +4 -4
  129. package/esm2022/empty/empty.module.mjs +5 -5
  130. package/esm2022/empty/empty.property.mjs +4 -4
  131. package/esm2022/examples/examples.component.mjs +4 -4
  132. package/esm2022/examples/examples.module.mjs +5 -5
  133. package/esm2022/find/find.component.mjs +4 -4
  134. package/esm2022/find/find.module.mjs +5 -5
  135. package/esm2022/find/find.property.mjs +4 -4
  136. package/esm2022/form/control.component.mjs +4 -4
  137. package/esm2022/form/form.component.mjs +4 -4
  138. package/esm2022/form/form.module.mjs +5 -5
  139. package/esm2022/form/form.property.mjs +7 -7
  140. package/esm2022/highlight/highlight.component.mjs +4 -4
  141. package/esm2022/highlight/highlight.module.mjs +5 -5
  142. package/esm2022/highlight/highlight.property.mjs +4 -4
  143. package/esm2022/i18n/i18n.directive.mjs +4 -4
  144. package/esm2022/i18n/i18n.module.mjs +5 -5
  145. package/esm2022/i18n/i18n.pipe.mjs +4 -4
  146. package/esm2022/i18n/i18n.service.mjs +4 -4
  147. package/esm2022/icon/icon.component.mjs +4 -4
  148. package/esm2022/icon/icon.module.mjs +5 -5
  149. package/esm2022/icon/icon.property.mjs +4 -4
  150. package/esm2022/icon/icon.service.mjs +4 -4
  151. package/esm2022/image/image-group.component.mjs +4 -4
  152. package/esm2022/image/image-preview.component.mjs +4 -4
  153. package/esm2022/image/image.component.mjs +4 -4
  154. package/esm2022/image/image.module.mjs +5 -5
  155. package/esm2022/image/image.property.mjs +7 -7
  156. package/esm2022/index.mjs +2 -1
  157. package/esm2022/inner/inner.component.mjs +4 -4
  158. package/esm2022/inner/inner.module.mjs +5 -5
  159. package/esm2022/inner/inner.property.mjs +4 -4
  160. package/esm2022/input/input-group.component.mjs +4 -4
  161. package/esm2022/input/input.component.mjs +5 -5
  162. package/esm2022/input/input.module.mjs +5 -5
  163. package/esm2022/input/input.property.mjs +17 -7
  164. package/esm2022/input-number/input-number.component.mjs +42 -17
  165. package/esm2022/input-number/input-number.module.mjs +5 -5
  166. package/esm2022/input-number/input-number.property.mjs +4 -4
  167. package/esm2022/keyword/keyword.directive.mjs +4 -4
  168. package/esm2022/keyword/keyword.module.mjs +5 -5
  169. package/esm2022/keyword/keyword.property.mjs +4 -4
  170. package/esm2022/layout/col.component.mjs +4 -4
  171. package/esm2022/layout/layout.module.mjs +5 -5
  172. package/esm2022/layout/layout.property.mjs +7 -7
  173. package/esm2022/layout/row.component.mjs +4 -4
  174. package/esm2022/link/link.component.mjs +4 -4
  175. package/esm2022/link/link.module.mjs +5 -5
  176. package/esm2022/link/link.property.mjs +4 -4
  177. package/esm2022/list/list-drop-group.directive.mjs +4 -4
  178. package/esm2022/list/list-option.component.mjs +4 -4
  179. package/esm2022/list/list.component.mjs +4 -4
  180. package/esm2022/list/list.module.mjs +5 -5
  181. package/esm2022/list/list.property.mjs +7 -7
  182. package/esm2022/loading/loading.component.mjs +4 -4
  183. package/esm2022/loading/loading.module.mjs +5 -5
  184. package/esm2022/loading/loading.property.mjs +4 -4
  185. package/esm2022/menu/menu-node.component.mjs +4 -4
  186. package/esm2022/menu/menu.component.mjs +4 -4
  187. package/esm2022/menu/menu.module.mjs +5 -5
  188. package/esm2022/menu/menu.property.mjs +7 -7
  189. package/esm2022/message/message.component.mjs +4 -4
  190. package/esm2022/message/message.module.mjs +5 -5
  191. package/esm2022/message/message.service.mjs +4 -4
  192. package/esm2022/message-box/message-box.component.mjs +4 -4
  193. package/esm2022/message-box/message-box.module.mjs +5 -5
  194. package/esm2022/message-box/message-box.service.mjs +4 -4
  195. package/esm2022/notification/notification.component.mjs +4 -4
  196. package/esm2022/notification/notification.module.mjs +5 -5
  197. package/esm2022/notification/notification.service.mjs +4 -4
  198. package/esm2022/outlet/outlet.directive.mjs +4 -4
  199. package/esm2022/outlet/outlet.module.mjs +5 -5
  200. package/esm2022/page-header/page-header.component.mjs +4 -4
  201. package/esm2022/page-header/page-header.module.mjs +5 -5
  202. package/esm2022/page-header/page-header.property.mjs +4 -4
  203. package/esm2022/pagination/pagination.component.mjs +4 -4
  204. package/esm2022/pagination/pagination.module.mjs +5 -5
  205. package/esm2022/pagination/pagination.property.mjs +4 -4
  206. package/esm2022/pattern/pattern.component.mjs +4 -4
  207. package/esm2022/pattern/pattern.module.mjs +5 -5
  208. package/esm2022/popconfirm/popconfirm.component.mjs +4 -4
  209. package/esm2022/popconfirm/popconfirm.module.mjs +5 -5
  210. package/esm2022/popconfirm/popconfirm.property.mjs +4 -4
  211. package/esm2022/popover/popover-portal.component.mjs +4 -4
  212. package/esm2022/popover/popover.directive.mjs +4 -4
  213. package/esm2022/popover/popover.module.mjs +5 -5
  214. package/esm2022/popover/popover.property.mjs +4 -4
  215. package/esm2022/portal/portal.module.mjs +5 -5
  216. package/esm2022/portal/portal.service.mjs +4 -4
  217. package/esm2022/progress/progress.component.mjs +4 -4
  218. package/esm2022/progress/progress.module.mjs +5 -5
  219. package/esm2022/progress/progress.property.mjs +4 -4
  220. package/esm2022/radio/radio.component.mjs +4 -4
  221. package/esm2022/radio/radio.module.mjs +5 -5
  222. package/esm2022/radio/radio.property.mjs +4 -4
  223. package/esm2022/rate/rate.component.mjs +4 -4
  224. package/esm2022/rate/rate.module.mjs +5 -5
  225. package/esm2022/rate/rate.property.mjs +4 -4
  226. package/esm2022/resizable/resizable.directive.mjs +4 -4
  227. package/esm2022/resizable/resizable.module.mjs +5 -5
  228. package/esm2022/resizable/resizable.property.mjs +4 -4
  229. package/esm2022/result/result.component.mjs +4 -4
  230. package/esm2022/result/result.module.mjs +5 -5
  231. package/esm2022/result/result.property.mjs +4 -4
  232. package/esm2022/ripple/ripple.directive.mjs +4 -4
  233. package/esm2022/ripple/ripple.module.mjs +5 -5
  234. package/esm2022/ripple/ripple.property.mjs +4 -4
  235. package/esm2022/select/select-portal.component.mjs +5 -5
  236. package/esm2022/select/select.component.mjs +5 -6
  237. package/esm2022/select/select.module.mjs +5 -5
  238. package/esm2022/select/select.property.mjs +4 -4
  239. package/esm2022/skeleton/skeleton.component.mjs +4 -4
  240. package/esm2022/skeleton/skeleton.module.mjs +5 -5
  241. package/esm2022/skeleton/skeleton.property.mjs +4 -4
  242. package/esm2022/slider/slider.component.mjs +4 -4
  243. package/esm2022/slider/slider.module.mjs +5 -5
  244. package/esm2022/slider/slider.property.mjs +4 -4
  245. package/esm2022/slider-select/slider-select.component.mjs +249 -50
  246. package/esm2022/slider-select/slider-select.module.mjs +31 -6
  247. package/esm2022/slider-select/slider-select.property.mjs +25 -4
  248. package/esm2022/statistic/countdown.component.mjs +4 -4
  249. package/esm2022/statistic/statistic.component.mjs +4 -4
  250. package/esm2022/statistic/statistic.module.mjs +5 -5
  251. package/esm2022/statistic/statistic.property.mjs +7 -7
  252. package/esm2022/steps/steps.component.mjs +4 -4
  253. package/esm2022/steps/steps.module.mjs +5 -5
  254. package/esm2022/steps/steps.property.mjs +4 -4
  255. package/esm2022/switch/switch.component.mjs +4 -4
  256. package/esm2022/switch/switch.module.mjs +5 -5
  257. package/esm2022/switch/switch.property.mjs +4 -4
  258. package/esm2022/table/public-api.mjs +1 -2
  259. package/esm2022/table/table-body.component.mjs +4 -4
  260. package/esm2022/table/table-foot.component.mjs +4 -4
  261. package/esm2022/table/table-head.component.mjs +6 -6
  262. package/esm2022/table/table.component.mjs +4 -4
  263. package/esm2022/table/table.module.mjs +12 -11
  264. package/esm2022/table/table.property.mjs +13 -13
  265. package/esm2022/tabs/tab-content.component.mjs +4 -4
  266. package/esm2022/tabs/tab-link.directive.mjs +7 -7
  267. package/esm2022/tabs/tab.component.mjs +4 -4
  268. package/esm2022/tabs/tabs.component.mjs +4 -4
  269. package/esm2022/tabs/tabs.module.mjs +5 -5
  270. package/esm2022/tabs/tabs.property.mjs +7 -7
  271. package/esm2022/tag/tag.component.mjs +4 -4
  272. package/esm2022/tag/tag.module.mjs +5 -5
  273. package/esm2022/tag/tag.property.mjs +4 -4
  274. package/esm2022/text-retract/text-retract.component.mjs +4 -4
  275. package/esm2022/text-retract/text-retract.module.mjs +5 -5
  276. package/esm2022/text-retract/text-retract.property.mjs +4 -4
  277. package/esm2022/textarea/textarea.component.mjs +4 -4
  278. package/esm2022/textarea/textarea.module.mjs +5 -5
  279. package/esm2022/textarea/textarea.property.mjs +4 -4
  280. package/esm2022/theme/theme.component.mjs +4 -4
  281. package/esm2022/theme/theme.module.mjs +5 -5
  282. package/esm2022/theme/theme.property.mjs +4 -4
  283. package/esm2022/time-ago/time-ago.module.mjs +5 -5
  284. package/esm2022/time-ago/time-ago.pipe.mjs +4 -4
  285. package/esm2022/time-picker/time-picker-frame.component.mjs +4 -4
  286. package/esm2022/time-picker/time-picker-portal.component.mjs +4 -4
  287. package/esm2022/time-picker/time-picker.component.mjs +4 -4
  288. package/esm2022/time-picker/time-picker.module.mjs +5 -5
  289. package/esm2022/time-picker/time-picker.property.mjs +4 -4
  290. package/esm2022/time-range/time-range.module.mjs +5 -5
  291. package/esm2022/time-range/time-range.pipe.mjs +4 -4
  292. package/esm2022/timeline/timeline.component.mjs +5 -5
  293. package/esm2022/timeline/timeline.module.mjs +5 -5
  294. package/esm2022/timeline/timeline.property.mjs +4 -4
  295. package/esm2022/tooltip/tooltip-portal.component.mjs +6 -5
  296. package/esm2022/tooltip/tooltip.directive.mjs +8 -6
  297. package/esm2022/tooltip/tooltip.module.mjs +7 -6
  298. package/esm2022/tooltip/tooltip.property.mjs +4 -4
  299. package/esm2022/transfer/transfer.component.mjs +4 -4
  300. package/esm2022/transfer/transfer.module.mjs +5 -5
  301. package/esm2022/transfer/transfer.property.mjs +4 -4
  302. package/esm2022/tree/tree-node.component.mjs +4 -4
  303. package/esm2022/tree/tree.component.mjs +6 -4
  304. package/esm2022/tree/tree.module.mjs +5 -5
  305. package/esm2022/tree/tree.property.mjs +7 -7
  306. package/esm2022/tree/tree.service.mjs +4 -4
  307. package/esm2022/tree-file/tree-file.component.mjs +4 -4
  308. package/esm2022/tree-file/tree-file.module.mjs +5 -5
  309. package/esm2022/tree-file/tree-file.property.mjs +4 -4
  310. package/esm2022/tree-select/tree-select-portal.component.mjs +5 -5
  311. package/esm2022/tree-select/tree-select.component.mjs +5 -5
  312. package/esm2022/tree-select/tree-select.module.mjs +5 -5
  313. package/esm2022/tree-select/tree-select.property.mjs +4 -4
  314. package/esm2022/typography/typography.component.mjs +4 -4
  315. package/esm2022/typography/typography.module.mjs +5 -5
  316. package/esm2022/typography/typography.property.mjs +4 -4
  317. package/esm2022/upload/upload-portal.component.mjs +4 -4
  318. package/esm2022/upload/upload.component.mjs +4 -4
  319. package/esm2022/upload/upload.module.mjs +5 -5
  320. package/esm2022/upload/upload.property.mjs +4 -4
  321. package/fesm2022/ng-nest-ui-affix.mjs +10 -10
  322. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  323. package/fesm2022/ng-nest-ui-alert.mjs +10 -10
  324. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  325. package/fesm2022/ng-nest-ui-anchor.mjs +16 -16
  326. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  327. package/fesm2022/ng-nest-ui-api.mjs +7 -7
  328. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  329. package/fesm2022/ng-nest-ui-auto-complete.mjs +15 -15
  330. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  331. package/fesm2022/ng-nest-ui-avatar.mjs +16 -16
  332. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  333. package/fesm2022/ng-nest-ui-back-top.mjs +10 -10
  334. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  335. package/fesm2022/ng-nest-ui-badge.mjs +10 -10
  336. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  337. package/fesm2022/ng-nest-ui-base-form.mjs +10 -10
  338. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  339. package/fesm2022/ng-nest-ui-border.mjs +7 -7
  340. package/fesm2022/ng-nest-ui-border.mjs.map +1 -1
  341. package/fesm2022/ng-nest-ui-button.mjs +16 -16
  342. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  343. package/fesm2022/ng-nest-ui-calendar.mjs +10 -10
  344. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  345. package/fesm2022/ng-nest-ui-card.mjs +10 -10
  346. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  347. package/fesm2022/ng-nest-ui-carousel.mjs +16 -16
  348. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  349. package/fesm2022/ng-nest-ui-cascade.mjs +13 -13
  350. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  351. package/fesm2022/ng-nest-ui-checkbox.mjs +10 -10
  352. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  353. package/fesm2022/ng-nest-ui-collapse.mjs +16 -16
  354. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  355. package/fesm2022/ng-nest-ui-color-picker.mjs +13 -13
  356. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  357. package/fesm2022/ng-nest-ui-color.mjs +10 -10
  358. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  359. package/fesm2022/ng-nest-ui-comment.mjs +16 -16
  360. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  361. package/fesm2022/ng-nest-ui-container.mjs +31 -31
  362. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  363. package/fesm2022/ng-nest-ui-core.mjs +15 -15
  364. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  365. package/fesm2022/ng-nest-ui-crumb.mjs +10 -10
  366. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  367. package/fesm2022/ng-nest-ui-date-picker.mjs +49 -49
  368. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  369. package/fesm2022/ng-nest-ui-description.mjs +16 -16
  370. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  371. package/fesm2022/ng-nest-ui-dialog.mjs +40 -40
  372. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  373. package/fesm2022/ng-nest-ui-doc.mjs +8 -8
  374. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  375. package/fesm2022/ng-nest-ui-drag.mjs +119 -0
  376. package/fesm2022/ng-nest-ui-drag.mjs.map +1 -0
  377. package/fesm2022/ng-nest-ui-drawer.mjs +31 -31
  378. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  379. package/fesm2022/ng-nest-ui-dropdown.mjs +13 -13
  380. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  381. package/fesm2022/ng-nest-ui-empty.mjs +10 -10
  382. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  383. package/fesm2022/ng-nest-ui-examples.mjs +7 -7
  384. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  385. package/fesm2022/ng-nest-ui-find.mjs +10 -10
  386. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  387. package/fesm2022/ng-nest-ui-form.mjs +16 -16
  388. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  389. package/fesm2022/ng-nest-ui-highlight.mjs +10 -10
  390. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  391. package/fesm2022/ng-nest-ui-i18n.mjs +13 -13
  392. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  393. package/fesm2022/ng-nest-ui-icon.mjs +13 -13
  394. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  395. package/fesm2022/ng-nest-ui-image.mjs +19 -19
  396. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  397. package/fesm2022/ng-nest-ui-inner.mjs +10 -10
  398. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  399. package/fesm2022/ng-nest-ui-input-number.mjs +49 -25
  400. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  401. package/fesm2022/ng-nest-ui-input.mjs +27 -17
  402. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  403. package/fesm2022/ng-nest-ui-keyword.mjs +10 -10
  404. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  405. package/fesm2022/ng-nest-ui-layout.mjs +16 -16
  406. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  407. package/fesm2022/ng-nest-ui-link.mjs +10 -10
  408. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  409. package/fesm2022/ng-nest-ui-list.mjs +19 -19
  410. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  411. package/fesm2022/ng-nest-ui-loading.mjs +10 -10
  412. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  413. package/fesm2022/ng-nest-ui-menu.mjs +16 -16
  414. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  415. package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
  416. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  417. package/fesm2022/ng-nest-ui-message.mjs +10 -10
  418. package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
  419. package/fesm2022/ng-nest-ui-notification.mjs +10 -10
  420. package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
  421. package/fesm2022/ng-nest-ui-outlet.mjs +7 -7
  422. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  423. package/fesm2022/ng-nest-ui-page-header.mjs +10 -10
  424. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  425. package/fesm2022/ng-nest-ui-pagination.mjs +10 -10
  426. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  427. package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
  428. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  429. package/fesm2022/ng-nest-ui-popconfirm.mjs +10 -10
  430. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  431. package/fesm2022/ng-nest-ui-popover.mjs +13 -13
  432. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  433. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  434. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  435. package/fesm2022/ng-nest-ui-progress.mjs +10 -10
  436. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  437. package/fesm2022/ng-nest-ui-radio.mjs +10 -10
  438. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  439. package/fesm2022/ng-nest-ui-rate.mjs +10 -10
  440. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  441. package/fesm2022/ng-nest-ui-resizable.mjs +10 -10
  442. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  443. package/fesm2022/ng-nest-ui-result.mjs +10 -10
  444. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  445. package/fesm2022/ng-nest-ui-ripple.mjs +10 -10
  446. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  447. package/fesm2022/ng-nest-ui-select.mjs +15 -16
  448. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  449. package/fesm2022/ng-nest-ui-skeleton.mjs +10 -10
  450. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  451. package/fesm2022/ng-nest-ui-slider-select.mjs +303 -59
  452. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  453. package/fesm2022/ng-nest-ui-slider.mjs +10 -10
  454. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  455. package/fesm2022/ng-nest-ui-statistic.mjs +16 -16
  456. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  457. package/fesm2022/ng-nest-ui-steps.mjs +10 -10
  458. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  459. package/fesm2022/ng-nest-ui-switch.mjs +10 -10
  460. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  461. package/fesm2022/ng-nest-ui-table.mjs +40 -109
  462. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  463. package/fesm2022/ng-nest-ui-tabs.mjs +25 -25
  464. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  465. package/fesm2022/ng-nest-ui-tag.mjs +10 -10
  466. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  467. package/fesm2022/ng-nest-ui-text-retract.mjs +10 -10
  468. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  469. package/fesm2022/ng-nest-ui-textarea.mjs +10 -10
  470. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  471. package/fesm2022/ng-nest-ui-theme.mjs +10 -10
  472. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  473. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  474. package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
  475. package/fesm2022/ng-nest-ui-time-picker.mjs +16 -16
  476. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  477. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  478. package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
  479. package/fesm2022/ng-nest-ui-timeline.mjs +11 -11
  480. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  481. package/fesm2022/ng-nest-ui-tooltip.mjs +23 -19
  482. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  483. package/fesm2022/ng-nest-ui-transfer.mjs +10 -10
  484. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  485. package/fesm2022/ng-nest-ui-tree-file.mjs +10 -10
  486. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  487. package/fesm2022/ng-nest-ui-tree-select.mjs +15 -15
  488. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  489. package/fesm2022/ng-nest-ui-tree.mjs +21 -19
  490. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  491. package/fesm2022/ng-nest-ui-typography.mjs +10 -10
  492. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  493. package/fesm2022/ng-nest-ui-upload.mjs +13 -13
  494. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  495. package/fesm2022/ng-nest-ui.mjs +1 -0
  496. package/fesm2022/ng-nest-ui.mjs.map +1 -1
  497. package/index.d.ts +1 -0
  498. package/input/input.property.d.ts +11 -1
  499. package/input-number/input-number.component.d.ts +6 -1
  500. package/package.json +81 -75
  501. package/slider-select/slider-select.component.d.ts +33 -16
  502. package/slider-select/slider-select.module.d.ts +3 -1
  503. package/slider-select/slider-select.property.d.ts +56 -3
  504. package/table/public-api.d.ts +0 -1
  505. package/table/table.module.d.ts +18 -18
  506. package/tooltip/tooltip-portal.component.d.ts +2 -2
  507. package/tooltip/tooltip.module.d.ts +2 -1
  508. package/tooltip/tooltip.property.d.ts +2 -2
  509. package/esm2022/table/drag.directive.mjs +0 -78
  510. package/table/drag.directive.d.ts +0 -27
@@ -1,16 +1,16 @@
1
- import { interval, fromEvent } from 'rxjs';
1
+ import { Subject, distinctUntilChanged, interval, fromEvent } from 'rxjs';
2
2
  import * as i0 from '@angular/core';
3
3
  import { Component, Input, inject, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, NgModule } from '@angular/core';
4
4
  import * as i1 from '@ng-nest/ui/core';
5
- import { XInputNumber, XWithConfig, XInputBoolean, XClearClass, XIsEmpty, isNotNil } from '@ng-nest/ui/core';
5
+ import { XInputNumber, XWithConfig, XInputBoolean, XClearClass, XIsEmpty, isNotNil, XIsFunction } from '@ng-nest/ui/core';
6
6
  import { __decorate } from 'tslib';
7
7
  import { XControlValueAccessor, XValueAccessor, XBaseFormModule } from '@ng-nest/ui/base-form';
8
8
  import * as i2 from '@angular/common';
9
9
  import { DOCUMENT, CommonModule } from '@angular/common';
10
+ import * as i4 from '@ng-nest/ui/input';
11
+ import { XInputComponent, XInputModule } from '@ng-nest/ui/input';
10
12
  import * as i3 from '@angular/forms';
11
13
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
12
- import * as i4 from '@ng-nest/ui/input';
13
- import { XInputModule } from '@ng-nest/ui/input';
14
14
  import * as i5 from '@ng-nest/ui/button';
15
15
  import { XButtonModule } from '@ng-nest/ui/button';
16
16
 
@@ -53,8 +53,8 @@ class XInputNumberProperty extends XControlValueAccessor {
53
53
  */
54
54
  this.precision = 0;
55
55
  }
56
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XInputNumberProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
57
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: XInputNumberProperty, selector: "x-input-number-property", inputs: { min: "min", max: "max", step: "step", debounce: "debounce", precision: "precision", size: "size", bordered: "bordered", formatter: "formatter" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
56
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XInputNumberProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
57
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: XInputNumberProperty, selector: "x-input-number-property", inputs: { min: "min", max: "max", step: "step", debounce: "debounce", precision: "precision", size: "size", bordered: "bordered", formatter: "formatter" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
58
58
  }
59
59
  __decorate([
60
60
  XInputNumber()
@@ -78,7 +78,7 @@ __decorate([
78
78
  XInputBoolean(),
79
79
  XWithConfig(X_CONFIG_NAME, true)
80
80
  ], XInputNumberProperty.prototype, "bordered", void 0);
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XInputNumberProperty, decorators: [{
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XInputNumberProperty, decorators: [{
82
82
  type: Component,
83
83
  args: [{ selector: `${XInputNumberPrefix}-property`, template: '' }]
84
84
  }], propDecorators: { min: [{
@@ -117,30 +117,40 @@ class XInputNumberComponent extends XInputNumberProperty {
117
117
  this.iconSpin = false;
118
118
  this.clearable = false;
119
119
  this.isDown = false;
120
+ this.valueChange = new Subject();
120
121
  this.document = inject(DOCUMENT);
121
122
  }
122
123
  ngOnInit() {
123
124
  this.setFlex(this.inputNumber.nativeElement, this.renderer, this.justify, this.align, this.direction);
124
125
  this.setClassMap();
126
+ this.valueChange.pipe(distinctUntilChanged()).subscribe((x) => {
127
+ this.onChange && this.onChange(x);
128
+ });
125
129
  }
126
130
  setClassMap() {
127
131
  XClearClass(this.labelMap);
128
132
  this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;
129
133
  }
130
134
  setDisplayValue() {
131
- if (!XIsEmpty(this.value))
135
+ if (!XIsEmpty(this.value) && !this.formatter) {
132
136
  this.displayValue = Number(this.value).toFixed(Number(this.precision));
133
- if (!this.formatter)
134
- return;
135
- const displayValue = isNotNil(this.formatter(Number(this.value))) ? this.formatter(Number(this.value)) : '';
136
- if (isNotNil(displayValue)) {
137
- this.displayValue = displayValue;
137
+ }
138
+ else if (this.formatter) {
139
+ const displayValue = isNotNil(this.formatter(Number(this.value)))
140
+ ? this.formatter(Number(this.value))
141
+ : '';
142
+ if (isNotNil(displayValue)) {
143
+ this.displayValue = displayValue;
144
+ }
138
145
  }
139
146
  }
140
147
  change(value) {
141
148
  this.verify(value);
142
- if (this.onChange)
143
- this.onChange(this.value);
149
+ this.valueChange.next(this.value);
150
+ this.cdr.detectChanges();
151
+ }
152
+ onBlur() {
153
+ this.displayValue = this.displayValue;
144
154
  this.cdr.detectChanges();
145
155
  }
146
156
  down(event, limit, increase = true) {
@@ -184,14 +194,14 @@ class XInputNumberComponent extends XInputNumberProperty {
184
194
  let value = Number(this.value) + limit;
185
195
  this.verify(value);
186
196
  this.cdr.detectChanges();
187
- if (this.onChange)
188
- this.onChange(this.value);
197
+ this.valueChange.next(this.value);
189
198
  }
190
199
  verify(value) {
191
200
  const oldValue = this.value;
192
201
  this.value = value;
193
202
  if (Number.isNaN(+this.value)) {
194
203
  this.value = oldValue;
204
+ this.setDisplayValue();
195
205
  return;
196
206
  }
197
207
  this.maxDisabled = value >= this.max;
@@ -199,27 +209,41 @@ class XInputNumberComponent extends XInputNumberProperty {
199
209
  this.value = this.maxDisabled ? this.max : this.minDisabled ? this.min : value;
200
210
  this.setDisplayValue();
201
211
  }
212
+ onInput(x) {
213
+ const input = x.target;
214
+ let value = input.value;
215
+ if (XIsFunction(this.formatter)) {
216
+ value = value.replace(/[^0-9]/g, '');
217
+ }
218
+ this.verify(value);
219
+ this.inputEleRef.inputRef.nativeElement.value = this.displayValue;
220
+ this.cdr.detectChanges();
221
+ this.valueChange.next(this.value);
222
+ }
202
223
  formControlChanges() {
203
224
  this.ngOnInit();
204
225
  this.cdr.detectChanges();
205
226
  }
206
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XInputNumberComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
207
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: XInputNumberComponent, selector: "x-input-number", providers: [XValueAccessor(XInputNumberComponent)], viewQueries: [{ propertyName: "inputNumber", first: true, predicate: ["inputNumber"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div #inputNumber class=\"x-input-number\">\r\n <div class=\"x-input-number-row\">\r\n <ng-template #beforeButtonTpl>\r\n <x-button\r\n class=\"x-input-number-reduce\"\r\n icon=\"fto-minus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || minDisabled\"\r\n (click)=\"!minDisabled && plus($event, step, false); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!minDisabled && down($event, step, false)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <x-input\r\n #inputEleRef\r\n class=\"x-input-number-input\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [validator]=\"validator\"\r\n [icon]=\"icon\"\r\n [iconSpin]=\"iconSpin\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [(ngModel)]=\"displayValue\"\r\n (ngModelChange)=\"change($event)\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"beforeButtonTpl\"\r\n [after]=\"afterButtonTpl\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n (xInput)=\"formControlValidator()\"\r\n ></x-input>\r\n <ng-template #afterButtonTpl>\r\n <x-button\r\n class=\"x-input-number-plus\"\r\n icon=\"fto-plus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || maxDisabled\"\r\n (click)=\"!maxDisabled && plus($event, step); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!maxDisabled && down($event, step)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <ng-container *ngIf=\"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>\r\n", styles: ["@charset \"UTF-8\";x-input-number{display:inline-block;width:12rem}.x-input-number{margin:0;padding:0;width:100%}.x-input-number-input{width:100%}.x-input-number-input input{text-align:center}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.XInputComponent, selector: "x-input" }, { kind: "component", type: i5.XButtonComponent, selector: "x-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
227
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XInputNumberComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
228
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: XInputNumberComponent, selector: "x-input-number", providers: [XValueAccessor(XInputNumberComponent)], viewQueries: [{ propertyName: "inputNumber", first: true, predicate: ["inputNumber"], descendants: true, static: true }, { propertyName: "inputEleRef", first: true, predicate: XInputComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div #inputNumber class=\"x-input-number\">\r\n <div class=\"x-input-number-row\">\r\n <ng-template #beforeButtonTpl>\r\n <x-button\r\n class=\"x-input-number-reduce\"\r\n icon=\"fto-minus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || minDisabled\"\r\n (click)=\"!minDisabled && plus($event, step, false); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!minDisabled && down($event, step, false)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <x-input\r\n #inputEleRef\r\n class=\"x-input-number-input\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [validator]=\"validator\"\r\n [icon]=\"icon\"\r\n [iconSpin]=\"iconSpin\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [(ngModel)]=\"displayValue\"\r\n (ngModelChange)=\"change($event)\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"beforeButtonTpl\"\r\n [after]=\"afterButtonTpl\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n (xInput)=\"onInput($event); formControlValidator()\"\r\n ></x-input>\r\n <ng-template #afterButtonTpl>\r\n <x-button\r\n class=\"x-input-number-plus\"\r\n icon=\"fto-plus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || maxDisabled\"\r\n (click)=\"!maxDisabled && plus($event, step); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!maxDisabled && down($event, step)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <ng-container *ngIf=\"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>\r\n", styles: ["@charset \"UTF-8\";x-input-number{display:inline-block;width:12rem}.x-input-number{margin:0;padding:0;width:100%}.x-input-number-input{width:100%}.x-input-number-input input{text-align:center}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.XInputComponent, selector: "x-input" }, { kind: "component", type: i5.XButtonComponent, selector: "x-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
208
229
  }
209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XInputNumberComponent, decorators: [{
230
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XInputNumberComponent, decorators: [{
210
231
  type: Component,
211
- args: [{ selector: `${XInputNumberPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XInputNumberComponent)], template: "<div #inputNumber class=\"x-input-number\">\r\n <div class=\"x-input-number-row\">\r\n <ng-template #beforeButtonTpl>\r\n <x-button\r\n class=\"x-input-number-reduce\"\r\n icon=\"fto-minus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || minDisabled\"\r\n (click)=\"!minDisabled && plus($event, step, false); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!minDisabled && down($event, step, false)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <x-input\r\n #inputEleRef\r\n class=\"x-input-number-input\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [validator]=\"validator\"\r\n [icon]=\"icon\"\r\n [iconSpin]=\"iconSpin\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [(ngModel)]=\"displayValue\"\r\n (ngModelChange)=\"change($event)\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"beforeButtonTpl\"\r\n [after]=\"afterButtonTpl\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n (xInput)=\"formControlValidator()\"\r\n ></x-input>\r\n <ng-template #afterButtonTpl>\r\n <x-button\r\n class=\"x-input-number-plus\"\r\n icon=\"fto-plus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || maxDisabled\"\r\n (click)=\"!maxDisabled && plus($event, step); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!maxDisabled && down($event, step)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <ng-container *ngIf=\"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>\r\n", styles: ["@charset \"UTF-8\";x-input-number{display:inline-block;width:12rem}.x-input-number{margin:0;padding:0;width:100%}.x-input-number-input{width:100%}.x-input-number-input input{text-align:center}\n"] }]
232
+ args: [{ selector: `${XInputNumberPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XInputNumberComponent)], template: "<div #inputNumber class=\"x-input-number\">\r\n <div class=\"x-input-number-row\">\r\n <ng-template #beforeButtonTpl>\r\n <x-button\r\n class=\"x-input-number-reduce\"\r\n icon=\"fto-minus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || minDisabled\"\r\n (click)=\"!minDisabled && plus($event, step, false); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!minDisabled && down($event, step, false)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <x-input\r\n #inputEleRef\r\n class=\"x-input-number-input\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [validator]=\"validator\"\r\n [icon]=\"icon\"\r\n [iconSpin]=\"iconSpin\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [(ngModel)]=\"displayValue\"\r\n (ngModelChange)=\"change($event)\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"beforeButtonTpl\"\r\n [after]=\"afterButtonTpl\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n (xInput)=\"onInput($event); formControlValidator()\"\r\n ></x-input>\r\n <ng-template #afterButtonTpl>\r\n <x-button\r\n class=\"x-input-number-plus\"\r\n icon=\"fto-plus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || maxDisabled\"\r\n (click)=\"!maxDisabled && plus($event, step); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!maxDisabled && down($event, step)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <ng-container *ngIf=\"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>\r\n", styles: ["@charset \"UTF-8\";x-input-number{display:inline-block;width:12rem}.x-input-number{margin:0;padding:0;width:100%}.x-input-number-input{width:100%}.x-input-number-input input{text-align:center}\n"] }]
212
233
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; }, propDecorators: { inputNumber: [{
213
234
  type: ViewChild,
214
235
  args: ['inputNumber', { static: true }]
236
+ }], inputEleRef: [{
237
+ type: ViewChild,
238
+ args: [XInputComponent, { static: true }]
215
239
  }] } });
216
240
 
217
241
  class XInputNumberModule {
218
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XInputNumberModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
219
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.5", ngImport: i0, type: XInputNumberModule, declarations: [XInputNumberComponent, XInputNumberProperty], imports: [CommonModule, FormsModule, ReactiveFormsModule, XInputModule, XButtonModule, XBaseFormModule], exports: [XInputNumberComponent] }); }
220
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XInputNumberModule, imports: [CommonModule, FormsModule, ReactiveFormsModule, XInputModule, XButtonModule, XBaseFormModule] }); }
242
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XInputNumberModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
243
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: XInputNumberModule, declarations: [XInputNumberComponent, XInputNumberProperty], imports: [CommonModule, FormsModule, ReactiveFormsModule, XInputModule, XButtonModule, XBaseFormModule], exports: [XInputNumberComponent] }); }
244
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XInputNumberModule, imports: [CommonModule, FormsModule, ReactiveFormsModule, XInputModule, XButtonModule, XBaseFormModule] }); }
221
245
  }
222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XInputNumberModule, decorators: [{
246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XInputNumberModule, decorators: [{
223
247
  type: NgModule,
224
248
  args: [{
225
249
  declarations: [XInputNumberComponent, XInputNumberProperty],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-input-number.mjs","sources":["../../../../lib/ng-nest/ui/input-number/input-number.property.ts","../../../../lib/ng-nest/ui/input-number/input-number.component.ts","../../../../lib/ng-nest/ui/input-number/input-number.component.html","../../../../lib/ng-nest/ui/input-number/input-number.module.ts","../../../../lib/ng-nest/ui/input-number/ng-nest-ui-input-number.ts"],"sourcesContent":["import { XBoolean, XInputBoolean, XInputNumber, XNumber, XSize, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * InputNumber\r\n * @selector x-input-number\r\n * @decorator component\r\n */\r\nexport const XInputNumberPrefix = 'x-input-number';\r\n\r\nconst X_CONFIG_NAME = 'inputNumber';\r\n\r\n/**\r\n * InputNumber Property\r\n */\r\n@Component({ selector: `${XInputNumberPrefix}-property`, template: '' })\r\nexport class XInputNumberProperty extends XControlValueAccessor<any> implements XInputNumberOption {\r\n /**\r\n * @zh_CN 最小值\r\n * @en_US Minimum\r\n */\r\n @Input() @XInputNumber() min: XNumber = Number.MIN_SAFE_INTEGER;\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n */\r\n @Input() @XInputNumber() max: XNumber = Number.MAX_SAFE_INTEGER;\r\n /**\r\n * @zh_CN 步数\r\n * @en_US Step count\r\n */\r\n @Input() @XInputNumber() step: XNumber = 1;\r\n /**\r\n * @zh_CN 按住后步进速度\r\n * @en_US Stepping speed after pressing\r\n */\r\n @Input() @XInputNumber() debounce: XNumber = 40;\r\n /**\r\n * @zh_CN 精度\r\n * @en_US Precision\r\n */\r\n @Input() @XInputNumber() precision: XNumber = 0;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') override 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 /**\r\n * @zh_CN 数字格式化\r\n * @en_US Display Formatter\r\n */\r\n @Input() formatter!: (value: number) => XNumber;\r\n}\r\n\r\n/**\r\n * InputNumber Option\r\n * @undocument true\r\n */\r\nexport interface XInputNumberOption extends XFormOption {\r\n /**\r\n * @zh_CN 最小值\r\n * @en_US Minimum\r\n */\r\n min?: XNumber;\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n */\r\n max?: XNumber;\r\n /**\r\n * @zh_CN 步数\r\n * @en_US Step count\r\n */\r\n step?: XNumber;\r\n /**\r\n * @zh_CN 按住后步进速度\r\n * @en_US Stepping speed after pressing\r\n */\r\n debounce?: XNumber;\r\n /**\r\n * @zh_CN 精度\r\n * @en_US Precision\r\n */\r\n precision?: XNumber;\r\n\r\n /**\r\n *\r\n * @zh_CN 数字格式化\r\n * @en_US Display Formate\r\n */\r\n xFormatter?: (value: number) => XNumber;\r\n}\r\n","import { Subscription, fromEvent, interval } from 'rxjs';\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n ViewChild,\r\n inject\r\n} from '@angular/core';\r\nimport { XIsEmpty, XNumber, XClearClass, XConfigService, isNotNil } from '@ng-nest/ui/core';\r\nimport { XInputNumberPrefix, XInputNumberProperty } from './input-number.property';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Component({\r\n selector: `${XInputNumberPrefix}`,\r\n templateUrl: './input-number.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XInputNumberComponent)]\r\n})\r\nexport class XInputNumberComponent extends XInputNumberProperty implements OnInit {\r\n @ViewChild('inputNumber', { static: true }) inputNumber!: ElementRef<HTMLElement>;\r\n\r\n override writeValue(value: any) {\r\n this.value = value;\r\n this.setDisplayValue();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n displayValue: any = '';\r\n minDisabled: boolean = false;\r\n maxDisabled: boolean = false;\r\n mousedown$!: Subscription;\r\n mouseup$!: Subscription;\r\n timer: any;\r\n icon: string = '';\r\n iconSpin = false;\r\n clearable = false;\r\n isDown = false;\r\n\r\n document = inject(DOCUMENT);\r\n\r\n constructor(public renderer: Renderer2, public override cdr: ChangeDetectorRef, public configService: XConfigService) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setFlex(this.inputNumber.nativeElement, this.renderer, this.justify, this.align, this.direction);\r\n this.setClassMap();\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.labelMap);\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n }\r\n\r\n setDisplayValue() {\r\n if (!XIsEmpty(this.value)) this.displayValue = Number(this.value).toFixed(Number(this.precision));\r\n if (!this.formatter) return;\r\n const displayValue = isNotNil(this.formatter(Number(this.value))) ? this.formatter(Number(this.value)) : '';\r\n if (isNotNil(displayValue)) {\r\n this.displayValue = displayValue;\r\n }\r\n }\r\n\r\n change(value: any) {\r\n this.verify(value);\r\n if (this.onChange) this.onChange(this.value);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n down(event: Event, limit: XNumber, increase: boolean = true): void {\r\n if (this.disabled) return;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.isDown = true;\r\n this.timer = setTimeout(() => {\r\n this.mousedown$ = interval(Number(this.debounce)).subscribe(() => {\r\n this.plus(event, limit, increase);\r\n });\r\n this.mouseup$ = fromEvent(this.document.documentElement, 'mouseup').subscribe((event: Event) => {\r\n this.up(event);\r\n });\r\n }, 150);\r\n }\r\n\r\n up(event: Event) {\r\n if (this.disabled) return;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.isDown = false;\r\n if (this.mousedown$) this.mousedown$.unsubscribe();\r\n if (this.mouseup$) this.mouseup$.unsubscribe();\r\n }\r\n\r\n plus(event: Event, limit: XNumber, increase: boolean = true) {\r\n if (this.disabled) return;\r\n limit = Number(limit);\r\n if (!increase) limit = -limit;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (this.timer) clearTimeout(this.timer);\r\n if (Number.isNaN(+this.value)) this.value = 0;\r\n let value = Number(this.value) + limit;\r\n this.verify(value);\r\n this.cdr.detectChanges();\r\n if (this.onChange) this.onChange(this.value);\r\n }\r\n\r\n verify(value: any) {\r\n const oldValue: number = this.value;\r\n this.value = value;\r\n if (Number.isNaN(+this.value)) {\r\n this.value = oldValue;\r\n return;\r\n }\r\n this.maxDisabled = value >= this.max;\r\n this.minDisabled = value <= this.min;\r\n this.value = this.maxDisabled ? this.max : this.minDisabled ? this.min : value;\r\n this.setDisplayValue();\r\n }\r\n\r\n formControlChanges() {\r\n this.ngOnInit();\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div #inputNumber class=\"x-input-number\">\r\n <div class=\"x-input-number-row\">\r\n <ng-template #beforeButtonTpl>\r\n <x-button\r\n class=\"x-input-number-reduce\"\r\n icon=\"fto-minus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || minDisabled\"\r\n (click)=\"!minDisabled && plus($event, step, false); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!minDisabled && down($event, step, false)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <x-input\r\n #inputEleRef\r\n class=\"x-input-number-input\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [validator]=\"validator\"\r\n [icon]=\"icon\"\r\n [iconSpin]=\"iconSpin\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [(ngModel)]=\"displayValue\"\r\n (ngModelChange)=\"change($event)\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"beforeButtonTpl\"\r\n [after]=\"afterButtonTpl\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n (xInput)=\"formControlValidator()\"\r\n ></x-input>\r\n <ng-template #afterButtonTpl>\r\n <x-button\r\n class=\"x-input-number-plus\"\r\n icon=\"fto-plus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || maxDisabled\"\r\n (click)=\"!maxDisabled && plus($event, step); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!maxDisabled && down($event, step)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <ng-container *ngIf=\"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>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XInputNumberComponent } from './input-number.component';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XInputNumberProperty } from './input-number.property';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\nimport { XInputModule } from '@ng-nest/ui/input';\r\n\r\n@NgModule({\r\n declarations: [XInputNumberComponent, XInputNumberProperty],\r\n exports: [XInputNumberComponent],\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule, XInputModule, XButtonModule, XBaseFormModule]\r\n})\r\nexport class XInputNumberModule {}\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-input-number.mjs","sources":["../../../../lib/ng-nest/ui/input-number/input-number.property.ts","../../../../lib/ng-nest/ui/input-number/input-number.component.ts","../../../../lib/ng-nest/ui/input-number/input-number.component.html","../../../../lib/ng-nest/ui/input-number/input-number.module.ts","../../../../lib/ng-nest/ui/input-number/ng-nest-ui-input-number.ts"],"sourcesContent":["import { XBoolean, XInputBoolean, XInputNumber, XNumber, XSize, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * InputNumber\r\n * @selector x-input-number\r\n * @decorator component\r\n */\r\nexport const XInputNumberPrefix = 'x-input-number';\r\n\r\nconst X_CONFIG_NAME = 'inputNumber';\r\n\r\n/**\r\n * InputNumber Property\r\n */\r\n@Component({ selector: `${XInputNumberPrefix}-property`, template: '' })\r\nexport class XInputNumberProperty extends XControlValueAccessor<any> implements XInputNumberOption {\r\n /**\r\n * @zh_CN 最小值\r\n * @en_US Minimum\r\n */\r\n @Input() @XInputNumber() min: XNumber = Number.MIN_SAFE_INTEGER;\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n */\r\n @Input() @XInputNumber() max: XNumber = Number.MAX_SAFE_INTEGER;\r\n /**\r\n * @zh_CN 步数\r\n * @en_US Step count\r\n */\r\n @Input() @XInputNumber() step: XNumber = 1;\r\n /**\r\n * @zh_CN 按住后步进速度\r\n * @en_US Stepping speed after pressing\r\n */\r\n @Input() @XInputNumber() debounce: XNumber = 40;\r\n /**\r\n * @zh_CN 精度\r\n * @en_US Precision\r\n */\r\n @Input() @XInputNumber() precision: XNumber = 0;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') override 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 /**\r\n * @zh_CN 数字格式化\r\n * @en_US Display Formatter\r\n */\r\n @Input() formatter!: (value: number) => XNumber;\r\n}\r\n\r\n/**\r\n * InputNumber Option\r\n * @undocument true\r\n */\r\nexport interface XInputNumberOption extends XFormOption {\r\n /**\r\n * @zh_CN 最小值\r\n * @en_US Minimum\r\n */\r\n min?: XNumber;\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n */\r\n max?: XNumber;\r\n /**\r\n * @zh_CN 步数\r\n * @en_US Step count\r\n */\r\n step?: XNumber;\r\n /**\r\n * @zh_CN 按住后步进速度\r\n * @en_US Stepping speed after pressing\r\n */\r\n debounce?: XNumber;\r\n /**\r\n * @zh_CN 精度\r\n * @en_US Precision\r\n */\r\n precision?: XNumber;\r\n\r\n /**\r\n *\r\n * @zh_CN 数字格式化\r\n * @en_US Display Formate\r\n */\r\n xFormatter?: (value: number) => XNumber;\r\n}\r\n","import { Subject, Subscription, distinctUntilChanged, fromEvent, interval } from 'rxjs';\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n ViewChild,\r\n inject\r\n} from '@angular/core';\r\nimport {\r\n XIsEmpty,\r\n XNumber,\r\n XClearClass,\r\n XConfigService,\r\n isNotNil,\r\n XIsFunction\r\n} from '@ng-nest/ui/core';\r\nimport { XInputNumberPrefix, XInputNumberProperty } from './input-number.property';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\n\r\n@Component({\r\n selector: `${XInputNumberPrefix}`,\r\n templateUrl: './input-number.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XInputNumberComponent)]\r\n})\r\nexport class XInputNumberComponent extends XInputNumberProperty implements OnInit {\r\n @ViewChild('inputNumber', { static: true }) inputNumber!: ElementRef<HTMLElement>;\r\n\r\n @ViewChild(XInputComponent, { static: true }) inputEleRef!: XInputComponent;\r\n\r\n override writeValue(value: any) {\r\n this.value = value;\r\n this.setDisplayValue();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n displayValue: any = '';\r\n minDisabled: boolean = false;\r\n maxDisabled: boolean = false;\r\n mousedown$!: Subscription;\r\n mouseup$!: Subscription;\r\n timer: any;\r\n icon: string = '';\r\n iconSpin = false;\r\n clearable = false;\r\n isDown = false;\r\n valueChange = new Subject<any>();\r\n\r\n document = inject(DOCUMENT);\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public override cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setFlex(\r\n this.inputNumber.nativeElement,\r\n this.renderer,\r\n this.justify,\r\n this.align,\r\n this.direction\r\n );\r\n this.setClassMap();\r\n this.valueChange.pipe(distinctUntilChanged()).subscribe((x) => {\r\n this.onChange && this.onChange(x);\r\n });\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.labelMap);\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n }\r\n\r\n setDisplayValue() {\r\n if (!XIsEmpty(this.value) && !this.formatter) {\r\n this.displayValue = Number(this.value).toFixed(Number(this.precision));\r\n } else if (this.formatter) {\r\n const displayValue = isNotNil(this.formatter(Number(this.value)))\r\n ? this.formatter(Number(this.value))\r\n : '';\r\n if (isNotNil(displayValue)) {\r\n this.displayValue = displayValue;\r\n }\r\n }\r\n }\r\n\r\n change(value: any) {\r\n this.verify(value);\r\n this.valueChange.next(this.value);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onBlur() {\r\n this.displayValue = this.displayValue;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n down(event: Event, limit: XNumber, increase: boolean = true): void {\r\n if (this.disabled) return;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.isDown = true;\r\n this.timer = setTimeout(() => {\r\n this.mousedown$ = interval(Number(this.debounce)).subscribe(() => {\r\n this.plus(event, limit, increase);\r\n });\r\n this.mouseup$ = fromEvent(this.document.documentElement, 'mouseup').subscribe(\r\n (event: Event) => {\r\n this.up(event);\r\n }\r\n );\r\n }, 150);\r\n }\r\n\r\n up(event: Event) {\r\n if (this.disabled) return;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.isDown = false;\r\n if (this.mousedown$) this.mousedown$.unsubscribe();\r\n if (this.mouseup$) this.mouseup$.unsubscribe();\r\n }\r\n\r\n plus(event: Event, limit: XNumber, increase: boolean = true) {\r\n if (this.disabled) return;\r\n limit = Number(limit);\r\n if (!increase) limit = -limit;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (this.timer) clearTimeout(this.timer);\r\n if (Number.isNaN(+this.value)) this.value = 0;\r\n let value = Number(this.value) + limit;\r\n this.verify(value);\r\n this.cdr.detectChanges();\r\n this.valueChange.next(this.value);\r\n }\r\n\r\n verify(value: any) {\r\n const oldValue: number = this.value;\r\n this.value = value;\r\n if (Number.isNaN(+this.value)) {\r\n this.value = oldValue;\r\n this.setDisplayValue();\r\n return;\r\n }\r\n this.maxDisabled = value >= this.max;\r\n this.minDisabled = value <= this.min;\r\n this.value = this.maxDisabled ? this.max : this.minDisabled ? this.min : value;\r\n this.setDisplayValue();\r\n }\r\n\r\n onInput(x: Event) {\r\n const input = x.target as HTMLInputElement;\r\n let value = input.value;\r\n if (XIsFunction(this.formatter)) {\r\n value = value.replace(/[^0-9]/g, '');\r\n }\r\n this.verify(value);\r\n this.inputEleRef.inputRef.nativeElement.value = this.displayValue;\r\n this.cdr.detectChanges();\r\n this.valueChange.next(this.value);\r\n }\r\n\r\n formControlChanges() {\r\n this.ngOnInit();\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div #inputNumber class=\"x-input-number\">\r\n <div class=\"x-input-number-row\">\r\n <ng-template #beforeButtonTpl>\r\n <x-button\r\n class=\"x-input-number-reduce\"\r\n icon=\"fto-minus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || minDisabled\"\r\n (click)=\"!minDisabled && plus($event, step, false); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!minDisabled && down($event, step, false)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <x-input\r\n #inputEleRef\r\n class=\"x-input-number-input\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [validator]=\"validator\"\r\n [icon]=\"icon\"\r\n [iconSpin]=\"iconSpin\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [(ngModel)]=\"displayValue\"\r\n (ngModelChange)=\"change($event)\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"beforeButtonTpl\"\r\n [after]=\"afterButtonTpl\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n (xInput)=\"onInput($event); formControlValidator()\"\r\n ></x-input>\r\n <ng-template #afterButtonTpl>\r\n <x-button\r\n class=\"x-input-number-plus\"\r\n icon=\"fto-plus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || maxDisabled\"\r\n (click)=\"!maxDisabled && plus($event, step); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!maxDisabled && down($event, step)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <ng-container *ngIf=\"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>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XInputNumberComponent } from './input-number.component';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XInputNumberProperty } from './input-number.property';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\nimport { XInputModule } from '@ng-nest/ui/input';\r\n\r\n@NgModule({\r\n declarations: [XInputNumberComponent, XInputNumberProperty],\r\n exports: [XInputNumberComponent],\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule, XInputModule, XButtonModule, XBaseFormModule]\r\n})\r\nexport class XInputNumberModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}