@ng-nest/ui 12.0.5 → 12.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (794) hide show
  1. package/auto-complete/auto-complete-portal.component.d.ts +3 -3
  2. package/auto-complete/auto-complete.component.d.ts +6 -2
  3. package/auto-complete/auto-complete.property.d.ts +17 -2
  4. package/back-top/back-top.component.d.ts +1 -2
  5. package/base-form/base-form.component.d.ts +1 -1
  6. package/base-form/base-form.property.d.ts +48 -3
  7. package/bundles/ng-nest-ui-affix.umd.js +25 -21
  8. package/bundles/ng-nest-ui-affix.umd.js.map +1 -1
  9. package/bundles/ng-nest-ui-alert.umd.js +25 -21
  10. package/bundles/ng-nest-ui-alert.umd.js.map +1 -1
  11. package/bundles/ng-nest-ui-anchor.umd.js +26 -22
  12. package/bundles/ng-nest-ui-anchor.umd.js.map +1 -1
  13. package/bundles/ng-nest-ui-api.umd.js +12 -14
  14. package/bundles/ng-nest-ui-api.umd.js.map +1 -1
  15. package/bundles/ng-nest-ui-auto-complete.umd.js +74 -36
  16. package/bundles/ng-nest-ui-auto-complete.umd.js.map +1 -1
  17. package/bundles/ng-nest-ui-avatar.umd.js +25 -21
  18. package/bundles/ng-nest-ui-avatar.umd.js.map +1 -1
  19. package/bundles/ng-nest-ui-back-top.umd.js +27 -23
  20. package/bundles/ng-nest-ui-back-top.umd.js.map +1 -1
  21. package/bundles/ng-nest-ui-badge.umd.js +27 -22
  22. package/bundles/ng-nest-ui-badge.umd.js.map +1 -1
  23. package/bundles/ng-nest-ui-base-form.umd.js +67 -22
  24. package/bundles/ng-nest-ui-base-form.umd.js.map +1 -1
  25. package/bundles/ng-nest-ui-border.umd.js +12 -14
  26. package/bundles/ng-nest-ui-border.umd.js.map +1 -1
  27. package/bundles/ng-nest-ui-button.umd.js +36 -29
  28. package/bundles/ng-nest-ui-button.umd.js.map +1 -1
  29. package/bundles/ng-nest-ui-calendar.umd.js +29 -24
  30. package/bundles/ng-nest-ui-calendar.umd.js.map +1 -1
  31. package/bundles/ng-nest-ui-card.umd.js +25 -21
  32. package/bundles/ng-nest-ui-card.umd.js.map +1 -1
  33. package/bundles/ng-nest-ui-carousel.umd.js +35 -30
  34. package/bundles/ng-nest-ui-carousel.umd.js.map +1 -1
  35. package/bundles/ng-nest-ui-cascade.umd.js +94 -36
  36. package/bundles/ng-nest-ui-cascade.umd.js.map +1 -1
  37. package/bundles/ng-nest-ui-checkbox.umd.js +28 -23
  38. package/bundles/ng-nest-ui-checkbox.umd.js.map +1 -1
  39. package/bundles/ng-nest-ui-collapse.umd.js +31 -27
  40. package/bundles/ng-nest-ui-collapse.umd.js.map +1 -1
  41. package/bundles/ng-nest-ui-color-picker.umd.js +79 -44
  42. package/bundles/ng-nest-ui-color-picker.umd.js.map +1 -1
  43. package/bundles/ng-nest-ui-color.umd.js +26 -22
  44. package/bundles/ng-nest-ui-color.umd.js.map +1 -1
  45. package/bundles/ng-nest-ui-comment.umd.js +34 -29
  46. package/bundles/ng-nest-ui-comment.umd.js.map +1 -1
  47. package/bundles/ng-nest-ui-container.umd.js +46 -42
  48. package/bundles/ng-nest-ui-container.umd.js.map +1 -1
  49. package/bundles/ng-nest-ui-core.umd.js +136 -35
  50. package/bundles/ng-nest-ui-core.umd.js.map +1 -1
  51. package/bundles/ng-nest-ui-crumb.umd.js +28 -23
  52. package/bundles/ng-nest-ui-crumb.umd.js.map +1 -1
  53. package/bundles/ng-nest-ui-date-picker.umd.js +923 -176
  54. package/bundles/ng-nest-ui-date-picker.umd.js.map +1 -1
  55. package/bundles/ng-nest-ui-description.umd.js +35 -32
  56. package/bundles/ng-nest-ui-description.umd.js.map +1 -1
  57. package/bundles/ng-nest-ui-dialog.umd.js +27 -22
  58. package/bundles/ng-nest-ui-dialog.umd.js.map +1 -1
  59. package/bundles/ng-nest-ui-doc.umd.js +12 -14
  60. package/bundles/ng-nest-ui-doc.umd.js.map +1 -1
  61. package/bundles/ng-nest-ui-drawer.umd.js +27 -22
  62. package/bundles/ng-nest-ui-drawer.umd.js.map +1 -1
  63. package/bundles/ng-nest-ui-dropdown.umd.js +32 -27
  64. package/bundles/ng-nest-ui-dropdown.umd.js.map +1 -1
  65. package/bundles/ng-nest-ui-empty.umd.js +25 -21
  66. package/bundles/ng-nest-ui-empty.umd.js.map +1 -1
  67. package/bundles/ng-nest-ui-examples.umd.js +12 -14
  68. package/bundles/ng-nest-ui-examples.umd.js.map +1 -1
  69. package/bundles/ng-nest-ui-find.umd.js +45 -27
  70. package/bundles/ng-nest-ui-find.umd.js.map +1 -1
  71. package/bundles/ng-nest-ui-form.umd.js +36 -36
  72. package/bundles/ng-nest-ui-form.umd.js.map +1 -1
  73. package/bundles/ng-nest-ui-highlight.umd.js +27 -22
  74. package/bundles/ng-nest-ui-highlight.umd.js.map +1 -1
  75. package/bundles/ng-nest-ui-i18n.umd.js +545 -140
  76. package/bundles/ng-nest-ui-i18n.umd.js.map +1 -1
  77. package/bundles/ng-nest-ui-icon.umd.js +34 -29
  78. package/bundles/ng-nest-ui-icon.umd.js.map +1 -1
  79. package/bundles/ng-nest-ui-inner.umd.js +26 -22
  80. package/bundles/ng-nest-ui-inner.umd.js.map +1 -1
  81. package/bundles/ng-nest-ui-input-number.umd.js +44 -24
  82. package/bundles/ng-nest-ui-input-number.umd.js.map +1 -1
  83. package/bundles/ng-nest-ui-input.umd.js +208 -50
  84. package/bundles/ng-nest-ui-input.umd.js.map +1 -1
  85. package/bundles/ng-nest-ui-layout.umd.js +31 -27
  86. package/bundles/ng-nest-ui-layout.umd.js.map +1 -1
  87. package/bundles/ng-nest-ui-link.umd.js +25 -21
  88. package/bundles/ng-nest-ui-link.umd.js.map +1 -1
  89. package/bundles/ng-nest-ui-list.umd.js +35 -30
  90. package/bundles/ng-nest-ui-list.umd.js.map +1 -1
  91. package/bundles/ng-nest-ui-loading.umd.js +27 -22
  92. package/bundles/ng-nest-ui-loading.umd.js.map +1 -1
  93. package/bundles/ng-nest-ui-menu.umd.js +38 -31
  94. package/bundles/ng-nest-ui-menu.umd.js.map +1 -1
  95. package/bundles/ng-nest-ui-message-box.umd.js +53 -47
  96. package/bundles/ng-nest-ui-message-box.umd.js.map +1 -1
  97. package/bundles/ng-nest-ui-message.umd.js +26 -22
  98. package/bundles/ng-nest-ui-message.umd.js.map +1 -1
  99. package/bundles/ng-nest-ui-notification.umd.js +26 -22
  100. package/bundles/ng-nest-ui-notification.umd.js.map +1 -1
  101. package/bundles/ng-nest-ui-outlet.umd.js +22 -18
  102. package/bundles/ng-nest-ui-outlet.umd.js.map +1 -1
  103. package/bundles/ng-nest-ui-page-header.umd.js +25 -21
  104. package/bundles/ng-nest-ui-page-header.umd.js.map +1 -1
  105. package/bundles/ng-nest-ui-pagination.umd.js +115 -26
  106. package/bundles/ng-nest-ui-pagination.umd.js.map +1 -1
  107. package/bundles/ng-nest-ui-pattern.umd.js +12 -14
  108. package/bundles/ng-nest-ui-pattern.umd.js.map +1 -1
  109. package/bundles/ng-nest-ui-popconfirm.umd.js +25 -21
  110. package/bundles/ng-nest-ui-popconfirm.umd.js.map +1 -1
  111. package/bundles/ng-nest-ui-popover.umd.js +31 -26
  112. package/bundles/ng-nest-ui-popover.umd.js.map +1 -1
  113. package/bundles/ng-nest-ui-portal.umd.js +22 -18
  114. package/bundles/ng-nest-ui-portal.umd.js.map +1 -1
  115. package/bundles/ng-nest-ui-progress.umd.js +28 -23
  116. package/bundles/ng-nest-ui-progress.umd.js.map +1 -1
  117. package/bundles/ng-nest-ui-radio.umd.js +28 -23
  118. package/bundles/ng-nest-ui-radio.umd.js.map +1 -1
  119. package/bundles/ng-nest-ui-rate.umd.js +30 -26
  120. package/bundles/ng-nest-ui-rate.umd.js.map +1 -1
  121. package/bundles/ng-nest-ui-result.umd.js +25 -21
  122. package/bundles/ng-nest-ui-result.umd.js.map +1 -1
  123. package/bundles/ng-nest-ui-ripple.umd.js +25 -21
  124. package/bundles/ng-nest-ui-ripple.umd.js.map +1 -1
  125. package/bundles/ng-nest-ui-select.umd.js +53 -34
  126. package/bundles/ng-nest-ui-select.umd.js.map +1 -1
  127. package/bundles/ng-nest-ui-skeleton.umd.js +27 -22
  128. package/bundles/ng-nest-ui-skeleton.umd.js.map +1 -1
  129. package/bundles/ng-nest-ui-slider-select.umd.js +25 -21
  130. package/bundles/ng-nest-ui-slider-select.umd.js.map +1 -1
  131. package/bundles/ng-nest-ui-slider.umd.js +32 -29
  132. package/bundles/ng-nest-ui-slider.umd.js.map +1 -1
  133. package/bundles/ng-nest-ui-statistic.umd.js +37 -31
  134. package/bundles/ng-nest-ui-statistic.umd.js.map +1 -1
  135. package/bundles/ng-nest-ui-steps.umd.js +35 -27
  136. package/bundles/ng-nest-ui-steps.umd.js.map +1 -1
  137. package/bundles/ng-nest-ui-switch.umd.js +25 -21
  138. package/bundles/ng-nest-ui-switch.umd.js.map +1 -1
  139. package/bundles/ng-nest-ui-table.umd.js +58 -51
  140. package/bundles/ng-nest-ui-table.umd.js.map +1 -1
  141. package/bundles/ng-nest-ui-tabs.umd.js +39 -34
  142. package/bundles/ng-nest-ui-tabs.umd.js.map +1 -1
  143. package/bundles/ng-nest-ui-tag.umd.js +36 -21
  144. package/bundles/ng-nest-ui-tag.umd.js.map +1 -1
  145. package/bundles/ng-nest-ui-text-retract.umd.js +27 -22
  146. package/bundles/ng-nest-ui-text-retract.umd.js.map +1 -1
  147. package/bundles/ng-nest-ui-textarea.umd.js +27 -32
  148. package/bundles/ng-nest-ui-textarea.umd.js.map +1 -1
  149. package/bundles/ng-nest-ui-theme.umd.js +26 -22
  150. package/bundles/ng-nest-ui-theme.umd.js.map +1 -1
  151. package/bundles/ng-nest-ui-time-ago.umd.js +12 -14
  152. package/bundles/ng-nest-ui-time-ago.umd.js.map +1 -1
  153. package/bundles/ng-nest-ui-time-picker.umd.js +87 -46
  154. package/bundles/ng-nest-ui-time-picker.umd.js.map +1 -1
  155. package/bundles/ng-nest-ui-time-range.umd.js +22 -18
  156. package/bundles/ng-nest-ui-time-range.umd.js.map +1 -1
  157. package/bundles/ng-nest-ui-timeline.umd.js +28 -23
  158. package/bundles/ng-nest-ui-timeline.umd.js.map +1 -1
  159. package/bundles/ng-nest-ui-tooltip.umd.js +31 -26
  160. package/bundles/ng-nest-ui-tooltip.umd.js.map +1 -1
  161. package/bundles/ng-nest-ui-transfer.umd.js +28 -23
  162. package/bundles/ng-nest-ui-transfer.umd.js.map +1 -1
  163. package/bundles/ng-nest-ui-tree-file.umd.js +25 -21
  164. package/bundles/ng-nest-ui-tree-file.umd.js.map +1 -1
  165. package/bundles/ng-nest-ui-tree.umd.js +39 -34
  166. package/bundles/ng-nest-ui-tree.umd.js.map +1 -1
  167. package/bundles/ng-nest-ui-typography.umd.js +25 -21
  168. package/bundles/ng-nest-ui-typography.umd.js.map +1 -1
  169. package/bundles/ng-nest-ui-upload.umd.js +32 -27
  170. package/bundles/ng-nest-ui-upload.umd.js.map +1 -1
  171. package/bundles/ng-nest-ui.umd.js +83 -243
  172. package/bundles/ng-nest-ui.umd.js.map +1 -1
  173. package/button/buttons.component.d.ts +1 -1
  174. package/calendar/calendar.component.d.ts +2 -2
  175. package/carousel/carousel.component.d.ts +1 -1
  176. package/cascade/cascade-portal.component.d.ts +13 -7
  177. package/cascade/cascade.component.d.ts +7 -1
  178. package/cascade/cascade.property.d.ts +33 -3
  179. package/checkbox/checkbox.component.d.ts +1 -1
  180. package/color/color.component.d.ts +2 -2
  181. package/color-picker/color-picker-portal.component.d.ts +3 -3
  182. package/color-picker/color-picker.component.d.ts +10 -4
  183. package/color-picker/color-picker.property.d.ts +12 -2
  184. package/comment/comment.component.d.ts +1 -1
  185. package/core/config/config.d.ts +39 -0
  186. package/core/functions/clone-deep.d.ts +1 -0
  187. package/core/functions/drop.d.ts +1 -0
  188. package/core/functions/flex.d.ts +1 -1
  189. package/core/functions/has-in.d.ts +1 -0
  190. package/core/functions/order-by.d.ts +1 -0
  191. package/core/functions/public-api.d.ts +5 -0
  192. package/core/functions/remove.d.ts +1 -0
  193. package/core/services/reuse-strategy.service.d.ts +1 -1
  194. package/crumb/crumb.component.d.ts +1 -1
  195. package/date-picker/date-picker-portal.component.d.ts +10 -12
  196. package/date-picker/date-picker.component.d.ts +5 -5
  197. package/date-picker/date-picker.module.d.ts +12 -10
  198. package/date-picker/date-picker.property.d.ts +169 -8
  199. package/date-picker/date-range-portal.component.d.ts +65 -0
  200. package/date-picker/date-range.component.d.ts +74 -0
  201. package/date-picker/picker-date.component.d.ts +13 -4
  202. package/date-picker/picker-month.component.d.ts +6 -3
  203. package/date-picker/picker-year.component.d.ts +4 -2
  204. package/date-picker/public-api.d.ts +2 -0
  205. package/description/description.component.d.ts +2 -4
  206. package/dropdown/dropdown-portal.component.d.ts +1 -3
  207. package/dropdown/dropdown.component.d.ts +2 -2
  208. package/esm2015/affix/affix.component.js +3 -3
  209. package/esm2015/affix/affix.module.js +4 -4
  210. package/esm2015/affix/affix.property.js +3 -3
  211. package/esm2015/alert/alert.component.js +4 -4
  212. package/esm2015/alert/alert.module.js +4 -4
  213. package/esm2015/alert/alert.property.js +3 -3
  214. package/esm2015/anchor/anchor.component.js +5 -5
  215. package/esm2015/anchor/anchor.module.js +4 -4
  216. package/esm2015/anchor/anchor.property.js +4 -4
  217. package/esm2015/api/api.component.js +3 -3
  218. package/esm2015/api/api.module.js +4 -4
  219. package/esm2015/auto-complete/auto-complete-portal.component.js +6 -6
  220. package/esm2015/auto-complete/auto-complete.component.js +29 -12
  221. package/esm2015/auto-complete/auto-complete.module.js +4 -4
  222. package/esm2015/auto-complete/auto-complete.property.js +22 -5
  223. package/esm2015/avatar/avatar.component.js +3 -3
  224. package/esm2015/avatar/avatar.module.js +4 -4
  225. package/esm2015/avatar/avatar.property.js +3 -3
  226. package/esm2015/back-top/back-top.component.js +6 -6
  227. package/esm2015/back-top/back-top.module.js +4 -4
  228. package/esm2015/back-top/back-top.property.js +3 -3
  229. package/esm2015/badge/badge.component.js +6 -5
  230. package/esm2015/badge/badge.module.js +4 -4
  231. package/esm2015/badge/badge.property.js +3 -3
  232. package/esm2015/base-form/base-form.component.js +5 -5
  233. package/esm2015/base-form/base-form.module.js +4 -4
  234. package/esm2015/base-form/base-form.property.js +46 -5
  235. package/esm2015/border/border.component.js +3 -3
  236. package/esm2015/border/border.module.js +4 -4
  237. package/esm2015/button/button.component.js +10 -7
  238. package/esm2015/button/button.module.js +4 -4
  239. package/esm2015/button/button.property.js +6 -6
  240. package/esm2015/button/buttons.component.js +4 -4
  241. package/esm2015/calendar/calendar.component.js +8 -7
  242. package/esm2015/calendar/calendar.module.js +4 -4
  243. package/esm2015/calendar/calendar.property.js +3 -3
  244. package/esm2015/card/card.component.js +3 -3
  245. package/esm2015/card/card.module.js +4 -4
  246. package/esm2015/card/card.property.js +3 -3
  247. package/esm2015/carousel/carousel-panel.component.js +4 -4
  248. package/esm2015/carousel/carousel.component.js +8 -7
  249. package/esm2015/carousel/carousel.module.js +4 -4
  250. package/esm2015/carousel/carousel.property.js +6 -6
  251. package/esm2015/cascade/cascade-portal.component.js +23 -11
  252. package/esm2015/cascade/cascade.component.js +25 -9
  253. package/esm2015/cascade/cascade.module.js +4 -4
  254. package/esm2015/cascade/cascade.property.js +28 -5
  255. package/esm2015/checkbox/checkbox.component.js +7 -6
  256. package/esm2015/checkbox/checkbox.module.js +4 -4
  257. package/esm2015/checkbox/checkbox.property.js +4 -4
  258. package/esm2015/collapse/collapse-panel.component.js +4 -4
  259. package/esm2015/collapse/collapse.component.js +3 -3
  260. package/esm2015/collapse/collapse.module.js +4 -4
  261. package/esm2015/collapse/collapse.property.js +6 -6
  262. package/esm2015/color/color.component.js +5 -5
  263. package/esm2015/color/color.module.js +4 -4
  264. package/esm2015/color/color.property.js +3 -3
  265. package/esm2015/color-picker/color-picker-portal.component.js +5 -5
  266. package/esm2015/color-picker/color-picker.component.js +33 -14
  267. package/esm2015/color-picker/color-picker.module.js +4 -4
  268. package/esm2015/color-picker/color-picker.property.js +16 -5
  269. package/esm2015/comment/comment-reply.component.js +3 -3
  270. package/esm2015/comment/comment.component.js +7 -6
  271. package/esm2015/comment/comment.module.js +4 -4
  272. package/esm2015/comment/comment.property.js +6 -6
  273. package/esm2015/container/aside.component.js +3 -3
  274. package/esm2015/container/container.component.js +5 -5
  275. package/esm2015/container/container.module.js +4 -4
  276. package/esm2015/container/container.property.js +12 -12
  277. package/esm2015/container/footer.component.js +3 -3
  278. package/esm2015/container/header.component.js +3 -3
  279. package/esm2015/container/main.component.js +3 -3
  280. package/esm2015/core/animation/fade.js +1 -1
  281. package/esm2015/core/config/config.js +1 -1
  282. package/esm2015/core/config/config.service.js +3 -3
  283. package/esm2015/core/functions/clone-deep.js +12 -0
  284. package/esm2015/core/functions/drop.js +8 -0
  285. package/esm2015/core/functions/flex.js +18 -7
  286. package/esm2015/core/functions/has-in.js +4 -0
  287. package/esm2015/core/functions/order-by.js +31 -0
  288. package/esm2015/core/functions/public-api.js +6 -1
  289. package/esm2015/core/functions/remove.js +15 -0
  290. package/esm2015/core/services/http.service.js +5 -5
  291. package/esm2015/core/services/preloading-strategy.service.js +5 -5
  292. package/esm2015/core/services/reuse-strategy.service.js +2 -2
  293. package/esm2015/core/services/storage.service.js +3 -3
  294. package/esm2015/core/theme/theme.service.js +3 -3
  295. package/esm2015/crumb/crumb.component.js +7 -6
  296. package/esm2015/crumb/crumb.module.js +4 -4
  297. package/esm2015/crumb/crumb.property.js +3 -3
  298. package/esm2015/date-picker/date-picker-portal.component.js +24 -43
  299. package/esm2015/date-picker/date-picker.component.js +24 -23
  300. package/esm2015/date-picker/date-picker.module.js +31 -11
  301. package/esm2015/date-picker/date-picker.property.js +190 -19
  302. package/esm2015/date-picker/date-range-portal.component.js +208 -0
  303. package/esm2015/date-picker/date-range.component.js +307 -0
  304. package/esm2015/date-picker/picker-date.component.js +50 -15
  305. package/esm2015/date-picker/picker-month.component.js +25 -9
  306. package/esm2015/date-picker/picker-year.component.js +21 -9
  307. package/esm2015/date-picker/public-api.js +3 -1
  308. package/esm2015/description/description-item.component.js +4 -4
  309. package/esm2015/description/description.component.js +8 -9
  310. package/esm2015/description/description.module.js +4 -4
  311. package/esm2015/description/description.property.js +6 -6
  312. package/esm2015/dialog/dialog.component.js +6 -5
  313. package/esm2015/dialog/dialog.module.js +4 -4
  314. package/esm2015/dialog/dialog.property.js +4 -4
  315. package/esm2015/doc/doc.component.js +3 -3
  316. package/esm2015/doc/doc.module.js +4 -4
  317. package/esm2015/drawer/drawer.component.js +6 -5
  318. package/esm2015/drawer/drawer.module.js +4 -4
  319. package/esm2015/drawer/drawer.property.js +3 -3
  320. package/esm2015/dropdown/dropdown-portal.component.js +5 -5
  321. package/esm2015/dropdown/dropdown.component.js +7 -6
  322. package/esm2015/dropdown/dropdown.module.js +4 -4
  323. package/esm2015/dropdown/dropdown.property.js +3 -3
  324. package/esm2015/empty/empty.component.js +3 -3
  325. package/esm2015/empty/empty.module.js +4 -4
  326. package/esm2015/empty/empty.property.js +3 -3
  327. package/esm2015/examples/examples.component.js +3 -3
  328. package/esm2015/examples/examples.module.js +4 -4
  329. package/esm2015/find/find.component.js +13 -10
  330. package/esm2015/find/find.module.js +4 -4
  331. package/esm2015/find/find.property.js +16 -5
  332. package/esm2015/form/control.component.js +4 -4
  333. package/esm2015/form/form.component.js +9 -8
  334. package/esm2015/form/form.module.js +4 -4
  335. package/esm2015/form/form.property.js +8 -13
  336. package/esm2015/highlight/highlight.component.js +6 -5
  337. package/esm2015/highlight/highlight.module.js +4 -4
  338. package/esm2015/highlight/highlight.property.js +4 -4
  339. package/esm2015/i18n/i18n.directive.js +6 -5
  340. package/esm2015/i18n/i18n.module.js +4 -4
  341. package/esm2015/i18n/i18n.pipe.js +3 -3
  342. package/esm2015/i18n/i18n.property.js +1 -1
  343. package/esm2015/i18n/i18n.service.js +3 -3
  344. package/esm2015/i18n/languages/ar_EG.js +11 -3
  345. package/esm2015/i18n/languages/bg_BG.js +11 -3
  346. package/esm2015/i18n/languages/ca_ES.js +11 -3
  347. package/esm2015/i18n/languages/cs_CZ.js +11 -3
  348. package/esm2015/i18n/languages/da_DK.js +11 -3
  349. package/esm2015/i18n/languages/de_DE.js +11 -3
  350. package/esm2015/i18n/languages/el_GR.js +11 -3
  351. package/esm2015/i18n/languages/en_GB.js +11 -3
  352. package/esm2015/i18n/languages/en_US.js +11 -3
  353. package/esm2015/i18n/languages/es_ES.js +11 -3
  354. package/esm2015/i18n/languages/et_EE.js +11 -3
  355. package/esm2015/i18n/languages/fa_IR.js +11 -3
  356. package/esm2015/i18n/languages/fi_FI.js +11 -3
  357. package/esm2015/i18n/languages/fr_BE.js +10 -2
  358. package/esm2015/i18n/languages/fr_FR.js +11 -3
  359. package/esm2015/i18n/languages/he_IL.js +11 -3
  360. package/esm2015/i18n/languages/hi_IN.js +11 -3
  361. package/esm2015/i18n/languages/hr_HR.js +11 -3
  362. package/esm2015/i18n/languages/hu_HU.js +11 -3
  363. package/esm2015/i18n/languages/hy_AM.js +11 -3
  364. package/esm2015/i18n/languages/id_ID.js +11 -3
  365. package/esm2015/i18n/languages/is_IS.js +11 -3
  366. package/esm2015/i18n/languages/it_IT.js +11 -3
  367. package/esm2015/i18n/languages/ja_JP.js +11 -3
  368. package/esm2015/i18n/languages/ka_GE.js +11 -3
  369. package/esm2015/i18n/languages/kn_IN.js +11 -3
  370. package/esm2015/i18n/languages/ko_KR.js +11 -3
  371. package/esm2015/i18n/languages/ku_IQ.js +11 -3
  372. package/esm2015/i18n/languages/lv_LV.js +11 -3
  373. package/esm2015/i18n/languages/mn_MN.js +11 -3
  374. package/esm2015/i18n/languages/ms_MY.js +11 -3
  375. package/esm2015/i18n/languages/nb_NO.js +11 -3
  376. package/esm2015/i18n/languages/ne_NP.js +11 -3
  377. package/esm2015/i18n/languages/nl_BE.js +11 -3
  378. package/esm2015/i18n/languages/nl_NL.js +11 -3
  379. package/esm2015/i18n/languages/pl_PL.js +11 -3
  380. package/esm2015/i18n/languages/pt_BR.js +11 -3
  381. package/esm2015/i18n/languages/pt_PT.js +11 -3
  382. package/esm2015/i18n/languages/ro_RO.js +11 -3
  383. package/esm2015/i18n/languages/ru_RU.js +11 -3
  384. package/esm2015/i18n/languages/sk_SK.js +11 -3
  385. package/esm2015/i18n/languages/sl_SI.js +11 -3
  386. package/esm2015/i18n/languages/sr_RS.js +11 -3
  387. package/esm2015/i18n/languages/sv_SE.js +11 -3
  388. package/esm2015/i18n/languages/ta_IN.js +11 -3
  389. package/esm2015/i18n/languages/th_TH.js +29 -21
  390. package/esm2015/i18n/languages/tr_TR.js +11 -3
  391. package/esm2015/i18n/languages/uk_UA.js +11 -3
  392. package/esm2015/i18n/languages/vi_VN.js +11 -3
  393. package/esm2015/i18n/languages/zh_CN.js +10 -3
  394. package/esm2015/i18n/languages/zh_TW.js +10 -3
  395. package/esm2015/icon/icon.component.js +7 -6
  396. package/esm2015/icon/icon.module.js +4 -4
  397. package/esm2015/icon/icon.property.js +3 -3
  398. package/esm2015/icon/icon.service.js +6 -6
  399. package/esm2015/inner/inner.component.js +5 -5
  400. package/esm2015/inner/inner.module.js +4 -4
  401. package/esm2015/inner/inner.property.js +3 -3
  402. package/esm2015/input/input-group.component.js +26 -0
  403. package/esm2015/input/input.component.js +60 -15
  404. package/esm2015/input/input.module.js +11 -9
  405. package/esm2015/input/input.property.js +77 -22
  406. package/esm2015/input/public-api.js +2 -1
  407. package/esm2015/input-number/input-number.component.js +9 -5
  408. package/esm2015/input-number/input-number.module.js +7 -6
  409. package/esm2015/input-number/input-number.property.js +17 -5
  410. package/esm2015/layout/col.component.js +3 -3
  411. package/esm2015/layout/layout.module.js +4 -4
  412. package/esm2015/layout/layout.property.js +6 -6
  413. package/esm2015/layout/row.component.js +3 -3
  414. package/esm2015/link/link.component.js +3 -3
  415. package/esm2015/link/link.module.js +4 -4
  416. package/esm2015/link/link.property.js +3 -3
  417. package/esm2015/list/list-option.component.js +3 -3
  418. package/esm2015/list/list.component.js +8 -7
  419. package/esm2015/list/list.module.js +4 -4
  420. package/esm2015/list/list.property.js +7 -7
  421. package/esm2015/loading/loading.component.js +6 -5
  422. package/esm2015/loading/loading.module.js +4 -4
  423. package/esm2015/loading/loading.property.js +3 -3
  424. package/esm2015/menu/menu-node.component.js +4 -4
  425. package/esm2015/menu/menu.component.js +11 -8
  426. package/esm2015/menu/menu.module.js +4 -4
  427. package/esm2015/menu/menu.property.js +6 -6
  428. package/esm2015/message/message.component.js +5 -5
  429. package/esm2015/message/message.module.js +4 -4
  430. package/esm2015/message/message.service.js +3 -3
  431. package/esm2015/message-box/message-box.component.js +20 -24
  432. package/esm2015/message-box/message-box.module.js +4 -4
  433. package/esm2015/message-box/message-box.service.js +10 -8
  434. package/esm2015/notification/notification.component.js +5 -5
  435. package/esm2015/notification/notification.module.js +4 -4
  436. package/esm2015/notification/notification.property.js +1 -1
  437. package/esm2015/notification/notification.service.js +3 -3
  438. package/esm2015/outlet/outlet.directive.js +3 -3
  439. package/esm2015/outlet/outlet.module.js +4 -4
  440. package/esm2015/page-header/page-header.component.js +3 -3
  441. package/esm2015/page-header/page-header.module.js +4 -4
  442. package/esm2015/page-header/page-header.property.js +3 -3
  443. package/esm2015/pagination/pagination.component.js +45 -7
  444. package/esm2015/pagination/pagination.module.js +10 -6
  445. package/esm2015/pagination/pagination.property.js +52 -4
  446. package/esm2015/pattern/pattern.component.js +3 -3
  447. package/esm2015/pattern/pattern.module.js +4 -4
  448. package/esm2015/popconfirm/popconfirm.component.js +3 -3
  449. package/esm2015/popconfirm/popconfirm.module.js +4 -4
  450. package/esm2015/popconfirm/popconfirm.property.js +3 -3
  451. package/esm2015/popover/popover-portal.component.js +4 -4
  452. package/esm2015/popover/popover.directive.js +7 -6
  453. package/esm2015/popover/popover.module.js +4 -4
  454. package/esm2015/popover/popover.property.js +3 -3
  455. package/esm2015/portal/portal.module.js +4 -4
  456. package/esm2015/portal/portal.service.js +3 -3
  457. package/esm2015/progress/progress.component.js +7 -6
  458. package/esm2015/progress/progress.module.js +4 -4
  459. package/esm2015/progress/progress.property.js +3 -3
  460. package/esm2015/radio/radio.component.js +7 -6
  461. package/esm2015/radio/radio.module.js +4 -4
  462. package/esm2015/radio/radio.property.js +4 -4
  463. package/esm2015/rate/rate.component.js +9 -9
  464. package/esm2015/rate/rate.module.js +4 -4
  465. package/esm2015/rate/rate.property.js +3 -3
  466. package/esm2015/result/result.component.js +3 -3
  467. package/esm2015/result/result.module.js +4 -4
  468. package/esm2015/result/result.property.js +3 -3
  469. package/esm2015/ripple/ripple.directive.js +4 -4
  470. package/esm2015/ripple/ripple.module.js +4 -4
  471. package/esm2015/ripple/ripple.property.js +4 -4
  472. package/esm2015/select/select-portal.component.js +6 -6
  473. package/esm2015/select/select.component.js +15 -11
  474. package/esm2015/select/select.module.js +4 -4
  475. package/esm2015/select/select.property.js +15 -4
  476. package/esm2015/skeleton/skeleton.component.js +6 -5
  477. package/esm2015/skeleton/skeleton.module.js +4 -4
  478. package/esm2015/skeleton/skeleton.property.js +3 -3
  479. package/esm2015/slider/slider.component.js +11 -12
  480. package/esm2015/slider/slider.module.js +4 -4
  481. package/esm2015/slider/slider.property.js +3 -3
  482. package/esm2015/slider-select/slider-select.component.js +3 -3
  483. package/esm2015/slider-select/slider-select.module.js +4 -4
  484. package/esm2015/slider-select/slider-select.property.js +3 -3
  485. package/esm2015/statistic/countdown.component.js +8 -7
  486. package/esm2015/statistic/statistic.component.js +6 -5
  487. package/esm2015/statistic/statistic.module.js +4 -4
  488. package/esm2015/statistic/statistic.property.js +6 -6
  489. package/esm2015/steps/steps.component.js +9 -7
  490. package/esm2015/steps/steps.module.js +7 -6
  491. package/esm2015/steps/steps.property.js +6 -4
  492. package/esm2015/switch/switch.component.js +3 -3
  493. package/esm2015/switch/switch.module.js +4 -4
  494. package/esm2015/switch/switch.property.js +3 -3
  495. package/esm2015/table/drag.directive.js +5 -5
  496. package/esm2015/table/table-body.component.js +7 -6
  497. package/esm2015/table/table-foot.component.js +4 -4
  498. package/esm2015/table/table-head.component.js +7 -6
  499. package/esm2015/table/table.component.js +9 -8
  500. package/esm2015/table/table.module.js +4 -4
  501. package/esm2015/table/table.property.js +13 -13
  502. package/esm2015/tabs/tab-content.component.js +3 -3
  503. package/esm2015/tabs/tab.component.js +4 -4
  504. package/esm2015/tabs/tabs.component.js +9 -8
  505. package/esm2015/tabs/tabs.module.js +4 -4
  506. package/esm2015/tabs/tabs.property.js +6 -6
  507. package/esm2015/tag/tag.component.js +10 -5
  508. package/esm2015/tag/tag.module.js +4 -4
  509. package/esm2015/tag/tag.property.js +10 -4
  510. package/esm2015/text-retract/text-retract.component.js +6 -5
  511. package/esm2015/text-retract/text-retract.module.js +4 -4
  512. package/esm2015/text-retract/text-retract.property.js +3 -3
  513. package/esm2015/textarea/textarea.component.js +6 -5
  514. package/esm2015/textarea/textarea.module.js +4 -4
  515. package/esm2015/textarea/textarea.property.js +4 -14
  516. package/esm2015/theme/theme.component.js +5 -5
  517. package/esm2015/theme/theme.module.js +4 -4
  518. package/esm2015/theme/theme.property.js +4 -4
  519. package/esm2015/time-ago/time-ago.module.js +4 -4
  520. package/esm2015/time-ago/time-ago.pipe.js +3 -3
  521. package/esm2015/time-picker/time-picker-frame.component.js +22 -12
  522. package/esm2015/time-picker/time-picker-portal.component.js +5 -5
  523. package/esm2015/time-picker/time-picker.component.js +31 -15
  524. package/esm2015/time-picker/time-picker.module.js +4 -4
  525. package/esm2015/time-picker/time-picker.property.js +16 -5
  526. package/esm2015/time-range/time-range.module.js +4 -4
  527. package/esm2015/time-range/time-range.pipe.js +3 -3
  528. package/esm2015/timeline/timeline.component.js +7 -6
  529. package/esm2015/timeline/timeline.module.js +4 -4
  530. package/esm2015/timeline/timeline.property.js +3 -3
  531. package/esm2015/tooltip/tooltip-portal.component.js +4 -4
  532. package/esm2015/tooltip/tooltip.directive.js +7 -6
  533. package/esm2015/tooltip/tooltip.module.js +4 -4
  534. package/esm2015/tooltip/tooltip.property.js +4 -4
  535. package/esm2015/transfer/transfer.component.js +7 -6
  536. package/esm2015/transfer/transfer.module.js +4 -4
  537. package/esm2015/transfer/transfer.property.js +3 -3
  538. package/esm2015/tree/tree-node.component.js +5 -5
  539. package/esm2015/tree/tree.component.js +11 -10
  540. package/esm2015/tree/tree.module.js +4 -4
  541. package/esm2015/tree/tree.property.js +7 -7
  542. package/esm2015/tree-file/tree-file.component.js +3 -3
  543. package/esm2015/tree-file/tree-file.module.js +4 -4
  544. package/esm2015/tree-file/tree-file.property.js +3 -3
  545. package/esm2015/typography/typography.component.js +3 -3
  546. package/esm2015/typography/typography.module.js +4 -4
  547. package/esm2015/typography/typography.property.js +3 -3
  548. package/esm2015/upload/upload-portal.component.js +5 -5
  549. package/esm2015/upload/upload.component.js +7 -6
  550. package/esm2015/upload/upload.module.js +4 -4
  551. package/esm2015/upload/upload.property.js +3 -3
  552. package/fesm2015/ng-nest-ui-affix.js +10 -10
  553. package/fesm2015/ng-nest-ui-alert.js +10 -10
  554. package/fesm2015/ng-nest-ui-alert.js.map +1 -1
  555. package/fesm2015/ng-nest-ui-anchor.js +11 -11
  556. package/fesm2015/ng-nest-ui-anchor.js.map +1 -1
  557. package/fesm2015/ng-nest-ui-api.js +7 -7
  558. package/fesm2015/ng-nest-ui-auto-complete.js +59 -25
  559. package/fesm2015/ng-nest-ui-auto-complete.js.map +1 -1
  560. package/fesm2015/ng-nest-ui-avatar.js +10 -10
  561. package/fesm2015/ng-nest-ui-back-top.js +12 -12
  562. package/fesm2015/ng-nest-ui-back-top.js.map +1 -1
  563. package/fesm2015/ng-nest-ui-badge.js +12 -11
  564. package/fesm2015/ng-nest-ui-badge.js.map +1 -1
  565. package/fesm2015/ng-nest-ui-base-form.js +53 -12
  566. package/fesm2015/ng-nest-ui-base-form.js.map +1 -1
  567. package/fesm2015/ng-nest-ui-border.js +7 -7
  568. package/fesm2015/ng-nest-ui-button.js +22 -19
  569. package/fesm2015/ng-nest-ui-button.js.map +1 -1
  570. package/fesm2015/ng-nest-ui-calendar.js +14 -13
  571. package/fesm2015/ng-nest-ui-calendar.js.map +1 -1
  572. package/fesm2015/ng-nest-ui-card.js +10 -10
  573. package/fesm2015/ng-nest-ui-carousel.js +20 -19
  574. package/fesm2015/ng-nest-ui-carousel.js.map +1 -1
  575. package/fesm2015/ng-nest-ui-cascade.js +80 -28
  576. package/fesm2015/ng-nest-ui-cascade.js.map +1 -1
  577. package/fesm2015/ng-nest-ui-checkbox.js +13 -12
  578. package/fesm2015/ng-nest-ui-checkbox.js.map +1 -1
  579. package/fesm2015/ng-nest-ui-collapse.js +16 -16
  580. package/fesm2015/ng-nest-ui-collapse.js.map +1 -1
  581. package/fesm2015/ng-nest-ui-color-picker.js +55 -24
  582. package/fesm2015/ng-nest-ui-color-picker.js.map +1 -1
  583. package/fesm2015/ng-nest-ui-color.js +11 -11
  584. package/fesm2015/ng-nest-ui-color.js.map +1 -1
  585. package/fesm2015/ng-nest-ui-comment.js +19 -18
  586. package/fesm2015/ng-nest-ui-comment.js.map +1 -1
  587. package/fesm2015/ng-nest-ui-container.js +32 -32
  588. package/fesm2015/ng-nest-ui-container.js.map +1 -1
  589. package/fesm2015/ng-nest-ui-core.js +106 -25
  590. package/fesm2015/ng-nest-ui-core.js.map +1 -1
  591. package/fesm2015/ng-nest-ui-crumb.js +13 -12
  592. package/fesm2015/ng-nest-ui-crumb.js.map +1 -1
  593. package/fesm2015/ng-nest-ui-date-picker.js +876 -156
  594. package/fesm2015/ng-nest-ui-date-picker.js.map +1 -1
  595. package/fesm2015/ng-nest-ui-description.js +21 -22
  596. package/fesm2015/ng-nest-ui-description.js.map +1 -1
  597. package/fesm2015/ng-nest-ui-dialog.js +12 -11
  598. package/fesm2015/ng-nest-ui-dialog.js.map +1 -1
  599. package/fesm2015/ng-nest-ui-doc.js +7 -7
  600. package/fesm2015/ng-nest-ui-drawer.js +12 -11
  601. package/fesm2015/ng-nest-ui-drawer.js.map +1 -1
  602. package/fesm2015/ng-nest-ui-dropdown.js +17 -16
  603. package/fesm2015/ng-nest-ui-dropdown.js.map +1 -1
  604. package/fesm2015/ng-nest-ui-empty.js +10 -10
  605. package/fesm2015/ng-nest-ui-examples.js +7 -7
  606. package/fesm2015/ng-nest-ui-find.js +31 -17
  607. package/fesm2015/ng-nest-ui-find.js.map +1 -1
  608. package/fesm2015/ng-nest-ui-form.js +22 -26
  609. package/fesm2015/ng-nest-ui-form.js.map +1 -1
  610. package/fesm2015/ng-nest-ui-highlight.js +12 -11
  611. package/fesm2015/ng-nest-ui-highlight.js.map +1 -1
  612. package/fesm2015/ng-nest-ui-i18n.js +540 -133
  613. package/fesm2015/ng-nest-ui-i18n.js.map +1 -1
  614. package/fesm2015/ng-nest-ui-icon.js +18 -18
  615. package/fesm2015/ng-nest-ui-icon.js.map +1 -1
  616. package/fesm2015/ng-nest-ui-inner.js +11 -11
  617. package/fesm2015/ng-nest-ui-inner.js.map +1 -1
  618. package/fesm2015/ng-nest-ui-input-number.js +31 -14
  619. package/fesm2015/ng-nest-ui-input-number.js.map +1 -1
  620. package/fesm2015/ng-nest-ui-input.js +164 -42
  621. package/fesm2015/ng-nest-ui-input.js.map +1 -1
  622. package/fesm2015/ng-nest-ui-layout.js +16 -16
  623. package/fesm2015/ng-nest-ui-link.js +10 -10
  624. package/fesm2015/ng-nest-ui-list.js +20 -19
  625. package/fesm2015/ng-nest-ui-list.js.map +1 -1
  626. package/fesm2015/ng-nest-ui-loading.js +12 -11
  627. package/fesm2015/ng-nest-ui-loading.js.map +1 -1
  628. package/fesm2015/ng-nest-ui-menu.js +23 -20
  629. package/fesm2015/ng-nest-ui-menu.js.map +1 -1
  630. package/fesm2015/ng-nest-ui-message-box.js +32 -34
  631. package/fesm2015/ng-nest-ui-message-box.js.map +1 -1
  632. package/fesm2015/ng-nest-ui-message.js +11 -11
  633. package/fesm2015/ng-nest-ui-message.js.map +1 -1
  634. package/fesm2015/ng-nest-ui-notification.js +11 -11
  635. package/fesm2015/ng-nest-ui-notification.js.map +1 -1
  636. package/fesm2015/ng-nest-ui-outlet.js +7 -7
  637. package/fesm2015/ng-nest-ui-page-header.js +10 -10
  638. package/fesm2015/ng-nest-ui-pagination.js +104 -14
  639. package/fesm2015/ng-nest-ui-pagination.js.map +1 -1
  640. package/fesm2015/ng-nest-ui-pattern.js +7 -7
  641. package/fesm2015/ng-nest-ui-popconfirm.js +10 -10
  642. package/fesm2015/ng-nest-ui-popover.js +16 -15
  643. package/fesm2015/ng-nest-ui-popover.js.map +1 -1
  644. package/fesm2015/ng-nest-ui-portal.js +7 -7
  645. package/fesm2015/ng-nest-ui-progress.js +13 -12
  646. package/fesm2015/ng-nest-ui-progress.js.map +1 -1
  647. package/fesm2015/ng-nest-ui-radio.js +13 -12
  648. package/fesm2015/ng-nest-ui-radio.js.map +1 -1
  649. package/fesm2015/ng-nest-ui-rate.js +15 -15
  650. package/fesm2015/ng-nest-ui-rate.js.map +1 -1
  651. package/fesm2015/ng-nest-ui-result.js +10 -10
  652. package/fesm2015/ng-nest-ui-ripple.js +10 -10
  653. package/fesm2015/ng-nest-ui-ripple.js.map +1 -1
  654. package/fesm2015/ng-nest-ui-select.js +37 -22
  655. package/fesm2015/ng-nest-ui-select.js.map +1 -1
  656. package/fesm2015/ng-nest-ui-skeleton.js +12 -11
  657. package/fesm2015/ng-nest-ui-skeleton.js.map +1 -1
  658. package/fesm2015/ng-nest-ui-slider-select.js +10 -10
  659. package/fesm2015/ng-nest-ui-slider.js +17 -18
  660. package/fesm2015/ng-nest-ui-slider.js.map +1 -1
  661. package/fesm2015/ng-nest-ui-statistic.js +22 -20
  662. package/fesm2015/ng-nest-ui-statistic.js.map +1 -1
  663. package/fesm2015/ng-nest-ui-steps.js +19 -14
  664. package/fesm2015/ng-nest-ui-steps.js.map +1 -1
  665. package/fesm2015/ng-nest-ui-switch.js +10 -10
  666. package/fesm2015/ng-nest-ui-table.js +43 -40
  667. package/fesm2015/ng-nest-ui-table.js.map +1 -1
  668. package/fesm2015/ng-nest-ui-tabs.js +24 -23
  669. package/fesm2015/ng-nest-ui-tabs.js.map +1 -1
  670. package/fesm2015/ng-nest-ui-tag.js +22 -11
  671. package/fesm2015/ng-nest-ui-tag.js.map +1 -1
  672. package/fesm2015/ng-nest-ui-text-retract.js +12 -11
  673. package/fesm2015/ng-nest-ui-text-retract.js.map +1 -1
  674. package/fesm2015/ng-nest-ui-textarea.js +12 -21
  675. package/fesm2015/ng-nest-ui-textarea.js.map +1 -1
  676. package/fesm2015/ng-nest-ui-theme.js +11 -11
  677. package/fesm2015/ng-nest-ui-theme.js.map +1 -1
  678. package/fesm2015/ng-nest-ui-time-ago.js +7 -7
  679. package/fesm2015/ng-nest-ui-time-picker.js +73 -36
  680. package/fesm2015/ng-nest-ui-time-picker.js.map +1 -1
  681. package/fesm2015/ng-nest-ui-time-range.js +7 -7
  682. package/fesm2015/ng-nest-ui-timeline.js +13 -12
  683. package/fesm2015/ng-nest-ui-timeline.js.map +1 -1
  684. package/fesm2015/ng-nest-ui-tooltip.js +16 -15
  685. package/fesm2015/ng-nest-ui-tooltip.js.map +1 -1
  686. package/fesm2015/ng-nest-ui-transfer.js +13 -12
  687. package/fesm2015/ng-nest-ui-transfer.js.map +1 -1
  688. package/fesm2015/ng-nest-ui-tree-file.js +10 -10
  689. package/fesm2015/ng-nest-ui-tree.js +24 -23
  690. package/fesm2015/ng-nest-ui-tree.js.map +1 -1
  691. package/fesm2015/ng-nest-ui-typography.js +10 -10
  692. package/fesm2015/ng-nest-ui-upload.js +17 -16
  693. package/fesm2015/ng-nest-ui-upload.js.map +1 -1
  694. package/find/find.component.d.ts +1 -1
  695. package/find/find.property.d.ts +22 -2
  696. package/form/control.component.d.ts +1 -1
  697. package/form/form.component.d.ts +1 -1
  698. package/form/form.property.d.ts +6 -6
  699. package/i18n/i18n.property.d.ts +3 -0
  700. package/i18n/languages/ar_EG.d.ts +8 -0
  701. package/i18n/languages/bg_BG.d.ts +8 -0
  702. package/i18n/languages/ca_ES.d.ts +8 -0
  703. package/i18n/languages/cs_CZ.d.ts +8 -0
  704. package/i18n/languages/da_DK.d.ts +8 -0
  705. package/i18n/languages/de_DE.d.ts +8 -0
  706. package/i18n/languages/el_GR.d.ts +8 -0
  707. package/i18n/languages/en_GB.d.ts +8 -0
  708. package/i18n/languages/en_US.d.ts +8 -0
  709. package/i18n/languages/es_ES.d.ts +8 -0
  710. package/i18n/languages/et_EE.d.ts +8 -0
  711. package/i18n/languages/fa_IR.d.ts +8 -0
  712. package/i18n/languages/fi_FI.d.ts +8 -0
  713. package/i18n/languages/fr_BE.d.ts +8 -0
  714. package/i18n/languages/fr_FR.d.ts +8 -0
  715. package/i18n/languages/he_IL.d.ts +8 -0
  716. package/i18n/languages/hi_IN.d.ts +8 -0
  717. package/i18n/languages/hr_HR.d.ts +8 -0
  718. package/i18n/languages/hu_HU.d.ts +8 -0
  719. package/i18n/languages/hy_AM.d.ts +8 -0
  720. package/i18n/languages/id_ID.d.ts +8 -0
  721. package/i18n/languages/is_IS.d.ts +8 -0
  722. package/i18n/languages/it_IT.d.ts +8 -0
  723. package/i18n/languages/ja_JP.d.ts +8 -0
  724. package/i18n/languages/ka_GE.d.ts +8 -0
  725. package/i18n/languages/kn_IN.d.ts +8 -0
  726. package/i18n/languages/ko_KR.d.ts +8 -0
  727. package/i18n/languages/ku_IQ.d.ts +8 -0
  728. package/i18n/languages/lv_LV.d.ts +8 -0
  729. package/i18n/languages/mn_MN.d.ts +8 -0
  730. package/i18n/languages/ms_MY.d.ts +8 -0
  731. package/i18n/languages/nb_NO.d.ts +8 -0
  732. package/i18n/languages/ne_NP.d.ts +8 -0
  733. package/i18n/languages/nl_BE.d.ts +8 -0
  734. package/i18n/languages/nl_NL.d.ts +8 -0
  735. package/i18n/languages/pl_PL.d.ts +8 -0
  736. package/i18n/languages/pt_BR.d.ts +8 -0
  737. package/i18n/languages/pt_PT.d.ts +8 -0
  738. package/i18n/languages/ro_RO.d.ts +8 -0
  739. package/i18n/languages/ru_RU.d.ts +8 -0
  740. package/i18n/languages/sk_SK.d.ts +8 -0
  741. package/i18n/languages/sl_SI.d.ts +8 -0
  742. package/i18n/languages/sr_RS.d.ts +8 -0
  743. package/i18n/languages/sv_SE.d.ts +8 -0
  744. package/i18n/languages/ta_IN.d.ts +8 -0
  745. package/i18n/languages/th_TH.d.ts +8 -0
  746. package/i18n/languages/tr_TR.d.ts +8 -0
  747. package/i18n/languages/uk_UA.d.ts +8 -0
  748. package/i18n/languages/vi_VN.d.ts +8 -0
  749. package/i18n/languages/zh_CN.d.ts +7 -0
  750. package/i18n/languages/zh_TW.d.ts +7 -0
  751. package/inner/inner.component.d.ts +1 -1
  752. package/input/input-group.component.d.ts +13 -0
  753. package/input/input.component.d.ts +10 -3
  754. package/input/input.module.d.ts +7 -5
  755. package/input/input.property.d.ts +79 -14
  756. package/input/public-api.d.ts +1 -0
  757. package/input-number/input-number.component.d.ts +3 -0
  758. package/input-number/input-number.module.d.ts +4 -3
  759. package/input-number/input-number.property.d.ts +12 -2
  760. package/list/list.component.d.ts +2 -2
  761. package/menu/menu.component.d.ts +1 -1
  762. package/message/message.component.d.ts +1 -1
  763. package/message-box/message-box.component.d.ts +2 -1
  764. package/notification/notification.component.d.ts +1 -1
  765. package/package.json +1 -1
  766. package/pagination/pagination.component.d.ts +5 -1
  767. package/pagination/pagination.module.d.ts +7 -3
  768. package/pagination/pagination.property.d.ts +49 -3
  769. package/radio/radio.component.d.ts +1 -1
  770. package/rate/rate.component.d.ts +5 -5
  771. package/select/select-portal.component.d.ts +3 -3
  772. package/select/select.component.d.ts +1 -1
  773. package/select/select.property.d.ts +12 -2
  774. package/slider/slider.component.d.ts +1 -1
  775. package/steps/steps.component.d.ts +1 -1
  776. package/steps/steps.module.d.ts +2 -1
  777. package/steps/steps.property.d.ts +7 -2
  778. package/table/table-body.component.d.ts +1 -1
  779. package/table/table-head.component.d.ts +1 -1
  780. package/table/table.component.d.ts +1 -1
  781. package/table/table.property.d.ts +10 -0
  782. package/tag/tag.component.d.ts +2 -1
  783. package/tag/tag.property.d.ts +6 -1
  784. package/textarea/textarea.property.d.ts +1 -6
  785. package/theme/theme.component.d.ts +1 -1
  786. package/time-picker/time-picker-frame.component.d.ts +4 -0
  787. package/time-picker/time-picker-portal.component.d.ts +3 -3
  788. package/time-picker/time-picker.component.d.ts +5 -3
  789. package/time-picker/time-picker.property.d.ts +12 -2
  790. package/timeline/timeline.component.d.ts +1 -1
  791. package/transfer/transfer.component.d.ts +1 -1
  792. package/tree/tree-node.component.d.ts +1 -1
  793. package/tree/tree.component.d.ts +1 -1
  794. package/upload/upload.component.d.ts +3 -3
@@ -2,25 +2,26 @@ import * as i0 from '@angular/core';
2
2
  import { EventEmitter, Component, Input, Output, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, HostListener, ViewChild, NgModule } from '@angular/core';
3
3
  import { __decorate } from 'tslib';
4
4
  import * as i2 from '@ng-nest/ui/core';
5
- import { XWithConfig, XInputBoolean, XProperty, XIsChange, chunk, XIsEmpty, XConnectBaseAnimation, XIsDate, XIsNumber, XIsString, XClearClass } from '@ng-nest/ui/core';
5
+ import { XWithConfig, XInputBoolean, XDataConvert, XProperty, XIsChange, chunk, XIsEmpty, XAddDays, XConnectBaseAnimation, XIsDate, XIsNumber, XIsString, XClearClass, XAddMonths, XIsUndefined } from '@ng-nest/ui/core';
6
6
  import { XControlValueAccessor, XValueAccessor, XBaseFormModule } from '@ng-nest/ui/base-form';
7
7
  import { Subject } from 'rxjs';
8
- import { takeUntil, map } from 'rxjs/operators';
8
+ import { map, takeUntil } from 'rxjs/operators';
9
9
  import * as i1 from '@angular/common';
10
10
  import { DatePipe, LowerCasePipe, CommonModule } from '@angular/common';
11
- import * as i2$1 from '@ng-nest/ui/i18n';
11
+ import * as i3 from '@ng-nest/ui/i18n';
12
12
  import { XI18nModule } from '@ng-nest/ui/i18n';
13
- import * as i3 from '@ng-nest/ui/button';
13
+ import * as i4 from '@ng-nest/ui/button';
14
14
  import { XButtonModule } from '@ng-nest/ui/button';
15
15
  import * as i7 from '@ng-nest/ui/time-picker';
16
16
  import { XTimePickerModule } from '@ng-nest/ui/time-picker';
17
- import * as i1$1 from '@ng-nest/ui/portal';
17
+ import * as i2$1 from '@ng-nest/ui/portal';
18
18
  import { XPortalConnectedPosition, XPortalModule } from '@ng-nest/ui/portal';
19
- import * as i3$1 from '@angular/cdk/overlay';
20
- import * as i4 from '@ng-nest/ui/input';
19
+ import * as i4$1 from '@angular/cdk/overlay';
20
+ import * as i5 from '@ng-nest/ui/input';
21
21
  import { XInputModule } from '@ng-nest/ui/input';
22
- import * as i5 from '@angular/forms';
22
+ import * as i6 from '@angular/forms';
23
23
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
24
+ import * as i6$1 from '@ng-nest/ui/icon';
24
25
  import { XIconModule } from '@ng-nest/ui/icon';
25
26
 
26
27
  /**
@@ -41,6 +42,11 @@ class XDatePickerProperty extends XControlValueAccessor {
41
42
  * @en_US Select type
42
43
  */
43
44
  this.type = 'date';
45
+ /**
46
+ * @zh_CN 快捷选择按钮,支持今天,昨天,明天
47
+ * @en_US Quick selection button, support today, yesterday, tomorrow
48
+ */
49
+ this.preset = [];
44
50
  /**
45
51
  * @zh_CN 节点点击的事件
46
52
  * @en_US Node click event
@@ -48,8 +54,8 @@ class XDatePickerProperty extends XControlValueAccessor {
48
54
  this.nodeEmit = new EventEmitter();
49
55
  }
50
56
  }
51
- /** @nocollapse */ XDatePickerProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDatePickerProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
52
- /** @nocollapse */ XDatePickerProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", type: XDatePickerProperty, selector: "ng-component", inputs: { type: "type", format: "format", clearable: "clearable", placement: "placement", readonly: "readonly" }, outputs: { nodeEmit: "nodeEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
57
+ /** @nocollapse */ XDatePickerProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDatePickerProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
58
+ /** @nocollapse */ XDatePickerProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XDatePickerProperty, selector: "ng-component", inputs: { type: "type", format: "format", clearable: "clearable", placement: "placement", size: "size", bordered: "bordered", preset: "preset" }, outputs: { nodeEmit: "nodeEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
53
59
  __decorate([
54
60
  XWithConfig(X_CONFIG_NAME, 'yyyy-MM-dd')
55
61
  ], XDatePickerProperty.prototype, "format", void 0);
@@ -61,9 +67,88 @@ __decorate([
61
67
  XWithConfig(X_CONFIG_NAME, 'bottom-start')
62
68
  ], XDatePickerProperty.prototype, "placement", void 0);
63
69
  __decorate([
70
+ XWithConfig(X_CONFIG_NAME, 'medium')
71
+ ], XDatePickerProperty.prototype, "size", void 0);
72
+ __decorate([
73
+ XInputBoolean(),
74
+ XWithConfig(X_CONFIG_NAME, true)
75
+ ], XDatePickerProperty.prototype, "bordered", void 0);
76
+ __decorate([
77
+ XDataConvert()
78
+ ], XDatePickerProperty.prototype, "preset", void 0);
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDatePickerProperty, decorators: [{
80
+ type: Component,
81
+ args: [{ template: '' }]
82
+ }], propDecorators: { type: [{
83
+ type: Input
84
+ }], format: [{
85
+ type: Input
86
+ }], clearable: [{
87
+ type: Input
88
+ }], placement: [{
89
+ type: Input
90
+ }], size: [{
91
+ type: Input
92
+ }], bordered: [{
93
+ type: Input
94
+ }], preset: [{
95
+ type: Input
96
+ }], nodeEmit: [{
97
+ type: Output
98
+ }] } });
99
+ /**
100
+ * DateRange
101
+ * @selector x-date-range
102
+ * @decorator component
103
+ */
104
+ const XDateRangePrefix = 'x-date-range';
105
+ const X_CONFIG_RANGE_NAME = 'dateRange';
106
+ /**
107
+ * DateRange Property
108
+ */
109
+ class XDateRangeProperty extends XControlValueAccessor {
110
+ constructor() {
111
+ super(...arguments);
112
+ /**
113
+ * @zh_CN 选择类型
114
+ * @en_US Select type
115
+ */
116
+ this.type = 'date';
117
+ /**
118
+ * @zh_CN 快捷选择按钮,支持今天,昨天,明天
119
+ * @en_US Quick selection button, support today, yesterday, tomorrow
120
+ */
121
+ this.preset = [];
122
+ /**
123
+ * @zh_CN 节点点击的事件
124
+ * @en_US Node click event
125
+ */
126
+ this.nodeEmit = new EventEmitter();
127
+ }
128
+ }
129
+ /** @nocollapse */ XDateRangeProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDateRangeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
130
+ /** @nocollapse */ XDateRangeProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XDateRangeProperty, selector: "ng-component", inputs: { type: "type", format: "format", clearable: "clearable", placement: "placement", size: "size", bordered: "bordered", preset: "preset" }, outputs: { nodeEmit: "nodeEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
131
+ __decorate([
132
+ XWithConfig(X_CONFIG_RANGE_NAME, 'yyyy-MM-dd')
133
+ ], XDateRangeProperty.prototype, "format", void 0);
134
+ __decorate([
135
+ XWithConfig(X_CONFIG_RANGE_NAME, true),
64
136
  XInputBoolean()
65
- ], XDatePickerProperty.prototype, "readonly", void 0);
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDatePickerProperty, decorators: [{
137
+ ], XDateRangeProperty.prototype, "clearable", void 0);
138
+ __decorate([
139
+ XWithConfig(X_CONFIG_RANGE_NAME, 'bottom-start')
140
+ ], XDateRangeProperty.prototype, "placement", void 0);
141
+ __decorate([
142
+ XWithConfig(X_CONFIG_RANGE_NAME, 'medium')
143
+ ], XDateRangeProperty.prototype, "size", void 0);
144
+ __decorate([
145
+ XInputBoolean(),
146
+ XWithConfig(X_CONFIG_RANGE_NAME, true)
147
+ ], XDateRangeProperty.prototype, "bordered", void 0);
148
+ __decorate([
149
+ XDataConvert()
150
+ ], XDateRangeProperty.prototype, "preset", void 0);
151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDateRangeProperty, decorators: [{
67
152
  type: Component,
68
153
  args: [{ template: '' }]
69
154
  }], propDecorators: { type: [{
@@ -74,7 +159,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
74
159
  type: Input
75
160
  }], placement: [{
76
161
  type: Input
77
- }], readonly: [{
162
+ }], size: [{
163
+ type: Input
164
+ }], bordered: [{
165
+ type: Input
166
+ }], preset: [{
78
167
  type: Input
79
168
  }], nodeEmit: [{
80
169
  type: Output
@@ -85,6 +174,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
85
174
  * @decorator component
86
175
  */
87
176
  const XDatePickerPortalPrefix = 'x-date-picker-portal';
177
+ /**
178
+ * DateRange Portal
179
+ * @selector x-date-range-portal
180
+ * @decorator component
181
+ */
182
+ const XDateRangePortalPrefix = 'x-date-range-portal';
88
183
  /**
89
184
  * PickerDate
90
185
  * @selector x-picker-date
@@ -97,11 +192,26 @@ const XPickerDatePrefix = 'x-picker-date';
97
192
  class XPickerDateProperty extends XProperty {
98
193
  constructor() {
99
194
  super(...arguments);
195
+ /**
196
+ * @zh_CN 选择类型
197
+ * @en_US Select type
198
+ */
199
+ this.type = 'date';
100
200
  /**
101
201
  * @zh_CN 显示的日期
102
202
  * @en_US Date displayed
103
203
  */
104
204
  this.display = new Date();
205
+ /**
206
+ * @zh_CN 显示切换按钮
207
+ * @en_US Display switch button
208
+ */
209
+ this.showHeader = true;
210
+ /**
211
+ * @zh_CN 选择类型
212
+ * @en_US Select type
213
+ */
214
+ this.typeChange = new EventEmitter();
105
215
  /**
106
216
  * @zh_CN 选中的事件
107
217
  * @en_US Selected event
@@ -114,17 +224,31 @@ class XPickerDateProperty extends XProperty {
114
224
  this.rangeChange = new EventEmitter();
115
225
  }
116
226
  }
117
- /** @nocollapse */ XPickerDateProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPickerDateProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
118
- /** @nocollapse */ XPickerDateProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", type: XPickerDateProperty, selector: "ng-component", inputs: { display: "display", model: "model", dateTemp: "dateTemp" }, outputs: { modelChange: "modelChange", rangeChange: "rangeChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPickerDateProperty, decorators: [{
227
+ /** @nocollapse */ XPickerDateProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPickerDateProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
228
+ /** @nocollapse */ XPickerDateProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XPickerDateProperty, selector: "ng-component", inputs: { type: "type", display: "display", model: "model", dateTemp: "dateTemp", showHeader: "showHeader", rangePicker: "rangePicker" }, outputs: { typeChange: "typeChange", modelChange: "modelChange", rangeChange: "rangeChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
229
+ __decorate([
230
+ XInputBoolean()
231
+ ], XPickerDateProperty.prototype, "showHeader", void 0);
232
+ __decorate([
233
+ XInputBoolean()
234
+ ], XPickerDateProperty.prototype, "rangePicker", void 0);
235
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPickerDateProperty, decorators: [{
120
236
  type: Component,
121
237
  args: [{ template: '' }]
122
- }], propDecorators: { display: [{
238
+ }], propDecorators: { type: [{
239
+ type: Input
240
+ }], display: [{
123
241
  type: Input
124
242
  }], model: [{
125
243
  type: Input
126
244
  }], dateTemp: [{
127
245
  type: Input
246
+ }], showHeader: [{
247
+ type: Input
248
+ }], rangePicker: [{
249
+ type: Input
250
+ }], typeChange: [{
251
+ type: Output
128
252
  }], modelChange: [{
129
253
  type: Output
130
254
  }], rangeChange: [{
@@ -142,16 +266,31 @@ const XPickerMonthPrefix = 'x-picker-month';
142
266
  class XPickerMonthProperty extends XProperty {
143
267
  constructor() {
144
268
  super(...arguments);
269
+ /**
270
+ * @zh_CN 选择类型
271
+ * @en_US Select type
272
+ */
273
+ this.type = 'date';
145
274
  /**
146
275
  * @zh_CN 显示的日期
147
276
  * @en_US Date displayed
148
277
  */
149
278
  this.display = new Date();
279
+ /**
280
+ * @zh_CN 显示切换按钮
281
+ * @en_US Display switch button
282
+ */
283
+ this.showHeader = true;
150
284
  /**
151
285
  * @zh_CN 选中的事件
152
286
  * @en_US Selected event
153
287
  */
154
288
  this.modelChange = new EventEmitter();
289
+ /**
290
+ * @zh_CN 选择类型
291
+ * @en_US Select type
292
+ */
293
+ this.typeChange = new EventEmitter();
155
294
  /**
156
295
  * @zh_CN 范围变化的事件
157
296
  * @en_US Scope change event
@@ -159,19 +298,28 @@ class XPickerMonthProperty extends XProperty {
159
298
  this.rangeChange = new EventEmitter();
160
299
  }
161
300
  }
162
- /** @nocollapse */ XPickerMonthProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPickerMonthProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
163
- /** @nocollapse */ XPickerMonthProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", type: XPickerMonthProperty, selector: "ng-component", inputs: { display: "display", model: "model", monthTemp: "monthTemp" }, outputs: { modelChange: "modelChange", rangeChange: "rangeChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPickerMonthProperty, decorators: [{
301
+ /** @nocollapse */ XPickerMonthProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPickerMonthProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
302
+ /** @nocollapse */ XPickerMonthProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XPickerMonthProperty, selector: "ng-component", inputs: { type: "type", display: "display", model: "model", monthTemp: "monthTemp", showHeader: "showHeader" }, outputs: { modelChange: "modelChange", typeChange: "typeChange", rangeChange: "rangeChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
303
+ __decorate([
304
+ XInputBoolean()
305
+ ], XPickerMonthProperty.prototype, "showHeader", void 0);
306
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPickerMonthProperty, decorators: [{
165
307
  type: Component,
166
308
  args: [{ template: '' }]
167
- }], propDecorators: { display: [{
309
+ }], propDecorators: { type: [{
310
+ type: Input
311
+ }], display: [{
168
312
  type: Input
169
313
  }], model: [{
170
314
  type: Input
171
315
  }], monthTemp: [{
172
316
  type: Input
317
+ }], showHeader: [{
318
+ type: Input
173
319
  }], modelChange: [{
174
320
  type: Output
321
+ }], typeChange: [{
322
+ type: Output
175
323
  }], rangeChange: [{
176
324
  type: Output
177
325
  }] } });
@@ -187,16 +335,31 @@ const XPickerYearPrefix = 'x-picker-year';
187
335
  class XPickerYearProperty extends XProperty {
188
336
  constructor() {
189
337
  super(...arguments);
338
+ /**
339
+ * @zh_CN 选择类型
340
+ * @en_US Select type
341
+ */
342
+ this.type = 'date';
190
343
  /**
191
344
  * @zh_CN 显示的日期
192
345
  * @en_US Date displayed
193
346
  */
194
347
  this.display = new Date();
348
+ /**
349
+ * @zh_CN 显示切换按钮
350
+ * @en_US Display switch button
351
+ */
352
+ this.showHeader = true;
195
353
  /**
196
354
  * @zh_CN 选中的事件
197
355
  * @en_US Selected event
198
356
  */
199
357
  this.modelChange = new EventEmitter();
358
+ /**
359
+ * @zh_CN 选择类型
360
+ * @en_US Select type
361
+ */
362
+ this.typeChange = new EventEmitter();
200
363
  /**
201
364
  * @zh_CN 开始年份变化的事件
202
365
  * @en_US Start year change event
@@ -204,25 +367,36 @@ class XPickerYearProperty extends XProperty {
204
367
  this.startChange = new EventEmitter();
205
368
  }
206
369
  }
207
- /** @nocollapse */ XPickerYearProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPickerYearProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
208
- /** @nocollapse */ XPickerYearProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", type: XPickerYearProperty, selector: "ng-component", inputs: { display: "display", model: "model" }, outputs: { modelChange: "modelChange", startChange: "startChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPickerYearProperty, decorators: [{
370
+ /** @nocollapse */ XPickerYearProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPickerYearProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
371
+ /** @nocollapse */ XPickerYearProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XPickerYearProperty, selector: "ng-component", inputs: { type: "type", display: "display", model: "model", showHeader: "showHeader" }, outputs: { modelChange: "modelChange", typeChange: "typeChange", startChange: "startChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
372
+ __decorate([
373
+ XInputBoolean()
374
+ ], XPickerYearProperty.prototype, "showHeader", void 0);
375
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPickerYearProperty, decorators: [{
210
376
  type: Component,
211
377
  args: [{ template: '' }]
212
- }], propDecorators: { display: [{
378
+ }], propDecorators: { type: [{
379
+ type: Input
380
+ }], display: [{
213
381
  type: Input
214
382
  }], model: [{
215
383
  type: Input
384
+ }], showHeader: [{
385
+ type: Input
216
386
  }], modelChange: [{
217
387
  type: Output
388
+ }], typeChange: [{
389
+ type: Output
218
390
  }], startChange: [{
219
391
  type: Output
220
392
  }] } });
221
393
 
222
394
  class XPickerDateComponent extends XPickerDateProperty {
223
- constructor(renderer, cdr, configService, i18n) {
395
+ constructor(renderer, datePipe, lowerCasePipe, cdr, configService, i18n) {
224
396
  super();
225
397
  this.renderer = renderer;
398
+ this.datePipe = datePipe;
399
+ this.lowerCasePipe = lowerCasePipe;
226
400
  this.cdr = cdr;
227
401
  this.configService = configService;
228
402
  this.i18n = i18n;
@@ -237,13 +411,20 @@ class XPickerDateComponent extends XPickerDateProperty {
237
411
  ];
238
412
  this.now = new Date();
239
413
  this.dates = [];
414
+ this.locale = {};
240
415
  this._unSubject = new Subject();
241
416
  }
242
417
  ngOnInit() {
243
- this.i18n.localeChange.pipe(takeUntil(this._unSubject)).subscribe(() => this.cdr.markForCheck());
418
+ this.i18n.localeChange
419
+ .pipe(map((x) => x.datePicker), takeUntil(this._unSubject))
420
+ .subscribe((x) => {
421
+ this.locale = x;
422
+ this.cdr.markForCheck();
423
+ });
244
424
  }
245
425
  ngOnChanges(simples) {
246
- XIsChange(simples.display) && this.init();
426
+ const { display } = simples;
427
+ XIsChange(display) && this.init();
247
428
  }
248
429
  ngOnDestory() {
249
430
  this._unSubject.next();
@@ -293,22 +474,47 @@ class XPickerDateComponent extends XPickerDateProperty {
293
474
  this.modelChange.emit(date);
294
475
  this.cdr.markForCheck();
295
476
  }
296
- trackByNode(index, item) {
477
+ getLocaleMonth(date) {
478
+ return this.locale[this.lowerCasePipe.transform(this.datePipe.transform(date, 'LLLL'))];
479
+ }
480
+ setDisplay(date) {
481
+ this.display = new Date(date.getFullYear(), date.getMonth(), 1);
482
+ this.setDays(this.display);
483
+ }
484
+ nextMonth(num) {
485
+ let date = new Date(this.display);
486
+ date.setMonth(date.getMonth() + num);
487
+ this.setDisplay(date);
488
+ this.cdr.detectChanges();
489
+ }
490
+ nextYear(num) {
491
+ let date = new Date(this.display);
492
+ date.setFullYear(date.getFullYear() + num);
493
+ this.setDisplay(date);
494
+ this.cdr.detectChanges();
495
+ }
496
+ typeOnChange(type) {
497
+ this.type = type;
498
+ this.typeChange.emit(type);
499
+ this.cdr.detectChanges();
500
+ }
501
+ trackByNode(_index, item) {
297
502
  return item;
298
503
  }
299
504
  }
300
- /** @nocollapse */ XPickerDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPickerDateComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i2.XConfigService }, { token: i2$1.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
301
- /** @nocollapse */ XPickerDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", type: XPickerDateComponent, selector: "x-picker-date", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-date\" [class.x-date-picker-datetemp]=\"dateTemp\">\r\n <table class=\"x-picker-date-table\" cellspacing=\"0\" cellpadding=\"0\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let title of titles; trackBy: trackByNode\">{{ title | xI18n }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let weeks of dates\">\r\n <ng-container *ngFor=\"let week of weeks; trackBy: trackByNode\">\r\n <td\r\n [class.x-date-last-or-next]=\"(week | date: 'yyyyMM') !== (display | date: 'yyyyMM')\"\r\n [class.x-date-now]=\"(week | date: 'yyyyMMdd') === (now | date: 'yyyyMMdd')\"\r\n (click)=\"dateTemp && dateClick(week)\"\r\n >\r\n <x-button\r\n *ngIf=\"!dateTemp\"\r\n type=\"text\"\r\n size=\"mini\"\r\n title=\"{{ week | date: 'yyyy-MM-dd' }}\"\r\n [activated]=\"(week | date: 'yyyyMMdd') === (model | date: 'yyyyMMdd')\"\r\n (click)=\"dateClick(week)\"\r\n >{{ week | date: 'd' }}</x-button\r\n >\r\n <ng-container *ngIf=\"dateTemp\">\r\n <ng-container *ngTemplateOutlet=\"dateTemp; context: { date$: week }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n</div>\r\n", styles: [".x-picker-date{margin:0;padding:0}.x-picker-date-table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-date-table th{font-weight:400;height:2rem}.x-picker-date-table td{height:2rem;padding:.125rem 0;text-align:center}.x-picker-date-table td x-button .x-button{width:1.625rem;height:1.5rem;margin:0 auto;border:.0625rem solid #0000}.x-picker-date-table td x-button .x-button:hover{background-color:var(--x-primary-900)}.x-picker-date-table td x-button .x-button-activated,.x-picker-date-table td x-button .x-button-activated:hover{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-date-table td.x-date-last-or-next x-button .x-button{color:var(--x-text-400)}.x-picker-date-table td.x-date-now x-button .x-button{color:var(--x-primary);background-color:initial;border-color:var(--x-primary)}"], components: [{ type: i3.XButtonComponent, selector: "x-button" }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "xI18n": i2$1.XI18nPipe, "date": i1.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
302
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPickerDateComponent, decorators: [{
505
+ /** @nocollapse */ XPickerDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPickerDateComponent, deps: [{ token: i0.Renderer2 }, { token: i1.DatePipe }, { token: i1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i2.XConfigService }, { token: i3.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
506
+ /** @nocollapse */ XPickerDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XPickerDateComponent, selector: "x-picker-date", providers: [DatePipe, LowerCasePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-date\" [class.x-date-picker-datetemp]=\"dateTemp\">\r\n <div class=\"x-picker-date-header\" *ngIf=\"showHeader\">\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\"></x-button>\r\n <div class=\"x-picker-date-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeOnChange('year')\">{{ display | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeOnChange('month')\">{{ getLocaleMonth(display) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextMonth(1)\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\"></x-button>\r\n </div>\r\n <div class=\"x-picker-date-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let title of titles; trackBy: trackByNode\">{{ title | xI18n }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let weeks of dates\">\r\n <ng-container *ngFor=\"let week of weeks; trackBy: trackByNode\">\r\n <td\r\n [class.x-date-last-or-next]=\"(week | date: 'yyyyMM') !== (display | date: 'yyyyMM')\"\r\n [class.x-date-now]=\"(week | date: 'yyyyMMdd') === (now | date: 'yyyyMMdd')\"\r\n (click)=\"dateTemp && dateClick(week)\"\r\n >\r\n <x-button\r\n *ngIf=\"!dateTemp\"\r\n type=\"text\"\r\n size=\"mini\"\r\n title=\"{{ week | date: 'yyyy-MM-dd' }}\"\r\n [activated]=\"!rangePicker && (week | date: 'yyyyMMdd') === (model | date: 'yyyyMMdd')\"\r\n (click)=\"dateClick(week)\"\r\n >{{ week | date: 'd' }}</x-button\r\n >\r\n <ng-container *ngIf=\"dateTemp\">\r\n <ng-container *ngTemplateOutlet=\"dateTemp; context: { date$: week }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-date{margin:0;padding:0}.x-picker-date-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-picker-date-year-month{flex:1;text-align:center}.x-picker-date-body{padding:.5rem}.x-picker-date-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-date-body>table th{font-weight:400;height:2rem;color:var(--x-text-400)}.x-picker-date-body>table td{padding:.25rem 0;text-align:center}.x-picker-date-body>table td x-button .x-button{width:1.625rem;height:1.5rem;margin:0 auto;border:.0625rem solid transparent}.x-picker-date-body>table td x-button .x-button:hover{background-color:var(--x-primary-900)}.x-picker-date-body>table td x-button .x-button-activated{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-date-body>table td x-button .x-button-activated:hover{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-date-body>table td.x-date-last-or-next x-button .x-button{color:var(--x-text-700)}.x-picker-date-body>table td.x-date-now x-button .x-button:not(.x-button-activated){color:var(--x-primary);background-color:transparent;border-color:var(--x-primary)}\n"], components: [{ type: i4.XButtonComponent, selector: "x-button" }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "date": i1.DatePipe, "xI18n": i3.XI18nPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
507
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPickerDateComponent, decorators: [{
303
508
  type: Component,
304
509
  args: [{
305
510
  selector: `${XPickerDatePrefix}`,
306
511
  templateUrl: './picker-date.component.html',
307
512
  styleUrls: ['./picker-date.component.scss'],
308
513
  encapsulation: ViewEncapsulation.None,
309
- changeDetection: ChangeDetectionStrategy.OnPush
514
+ changeDetection: ChangeDetectionStrategy.OnPush,
515
+ providers: [DatePipe, LowerCasePipe]
310
516
  }]
311
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i2.XConfigService }, { type: i2$1.XI18nService }]; } });
517
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i2.XConfigService }, { type: i3.XI18nService }]; } });
312
518
 
313
519
  class XPickerMonthComponent extends XPickerMonthProperty {
314
520
  constructor(renderer, datePipe, lowerCasePipe, cdr, configService, i18n) {
@@ -333,13 +539,14 @@ class XPickerMonthComponent extends XPickerMonthProperty {
333
539
  });
334
540
  }
335
541
  ngOnChanges(simples) {
336
- XIsChange(simples.display) && this.init();
542
+ const { display } = simples;
543
+ XIsChange(display) && this.init();
337
544
  }
338
545
  init() {
339
- this.setMonths();
546
+ this.setMonths(this.display);
340
547
  }
341
- setMonths() {
342
- let year = this.display.getFullYear();
548
+ setMonths(date) {
549
+ let year = date.getFullYear();
343
550
  let dates = [];
344
551
  for (let i = 0; i < 16; i++) {
345
552
  dates = [...dates, new Date(year, i, 1)];
@@ -357,13 +564,28 @@ class XPickerMonthComponent extends XPickerMonthProperty {
357
564
  getLocaleMonth(date) {
358
565
  return this.locale[this.lowerCasePipe.transform(this.datePipe.transform(date, 'LLLL'))];
359
566
  }
360
- trackByMonth(index, item) {
567
+ setDisplay(date) {
568
+ this.display = new Date(date.getFullYear(), date.getMonth(), 1);
569
+ this.setMonths(this.display);
570
+ }
571
+ nextYear(num) {
572
+ let date = new Date(this.display);
573
+ date.setFullYear(date.getFullYear() + num);
574
+ this.setDisplay(date);
575
+ this.cdr.detectChanges();
576
+ }
577
+ typeOnChange(type) {
578
+ this.type = type;
579
+ this.typeChange.emit(type);
580
+ this.cdr.detectChanges();
581
+ }
582
+ trackByMonth(_index, item) {
361
583
  return item;
362
584
  }
363
585
  }
364
- /** @nocollapse */ XPickerMonthComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPickerMonthComponent, deps: [{ token: i0.Renderer2 }, { token: i1.DatePipe }, { token: i1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i2.XConfigService }, { token: i2$1.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
365
- /** @nocollapse */ XPickerMonthComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", type: XPickerMonthComponent, selector: "x-picker-month", providers: [DatePipe, LowerCasePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-month\" [class.x-date-picker-monthtemp]=\"monthTemp\">\r\n <table class=\"x-picker-month-table\" cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let months of dates\">\r\n <ng-container *ngFor=\"let month of months; trackBy: trackByMonth\">\r\n <td\r\n [class.x-date-last-or-next]=\"(month | date: 'yyyy') !== (display | date: 'yyyy')\"\r\n [class.x-date-now]=\"(month | date: 'yyyyMM') === (now | date: 'yyyyMM')\"\r\n (click)=\"monthTemp && monthClick(month)\"\r\n >\r\n <x-button\r\n *ngIf=\"!monthTemp\"\r\n type=\"text\"\r\n title=\"{{ month | date: 'yyyy-MM' }}\"\r\n [activated]=\"(month | date: 'yyyyMM') === (model | date: 'yyyyMM')\"\r\n (click)=\"monthClick(month)\"\r\n >{{ getLocaleMonth(month) }}</x-button\r\n >\r\n <ng-container *ngIf=\"monthTemp\">\r\n <ng-container *ngTemplateOutlet=\"monthTemp; context: { date$: month }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n</div>\r\n", styles: [".x-picker-month{margin:0;padding:0}.x-picker-month-table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-month-table td{height:1.875rem;padding:.125rem 0;text-align:center}.x-picker-month-table td x-button .x-button{width:2.6rem;height:1.6rem;margin:0 auto;border:.0625rem solid #0000}.x-picker-month-table td x-button .x-button:hover{background-color:var(--x-primary-900)}.x-picker-month-table td x-button .x-button-activated,.x-picker-month-table td x-button .x-button-activated:hover{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-month-table td.x-date-last-or-next x-button .x-button{color:var(--x-text-400)}.x-picker-month-table td.x-date-now x-button .x-button{color:var(--x-primary);background-color:initial;border-color:var(--x-primary)}"], components: [{ type: i3.XButtonComponent, selector: "x-button" }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "date": i1.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
366
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPickerMonthComponent, decorators: [{
586
+ /** @nocollapse */ XPickerMonthComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPickerMonthComponent, deps: [{ token: i0.Renderer2 }, { token: i1.DatePipe }, { token: i1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i2.XConfigService }, { token: i3.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
587
+ /** @nocollapse */ XPickerMonthComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XPickerMonthComponent, selector: "x-picker-month", providers: [DatePipe, LowerCasePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-month\" [class.x-date-picker-monthtemp]=\"monthTemp\">\r\n <div class=\"x-picker-month-header\" *ngIf=\"showHeader\">\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\"></x-button>\r\n <div class=\"x-picker-month-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeOnChange('year')\">{{ display | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\"></x-button>\r\n </div>\r\n <div class=\"x-picker-month-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let months of dates\">\r\n <ng-container *ngFor=\"let month of months; trackBy: trackByMonth\">\r\n <td\r\n [class.x-date-last-or-next]=\"(month | date: 'yyyy') !== (display | date: 'yyyy')\"\r\n [class.x-date-now]=\"(month | date: 'yyyyMM') === (now | date: 'yyyyMM')\"\r\n (click)=\"monthTemp && monthClick(month)\"\r\n >\r\n <x-button\r\n *ngIf=\"!monthTemp\"\r\n type=\"text\"\r\n title=\"{{ month | date: 'yyyy-MM' }}\"\r\n [activated]=\"(month | date: 'yyyyMM') === (model | date: 'yyyyMM')\"\r\n (click)=\"monthClick(month)\"\r\n >{{ getLocaleMonth(month) }}</x-button\r\n >\r\n <ng-container *ngIf=\"monthTemp\">\r\n <ng-container *ngTemplateOutlet=\"monthTemp; context: { date$: month }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-month{margin:0;padding:0}.x-picker-month-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-picker-month-year-month{flex:1;text-align:center}.x-picker-month-body{padding:.5rem}.x-picker-month-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-month-body>table td{padding:.125rem 0;text-align:center}.x-picker-month-body>table td x-button .x-button{width:3.5rem;height:3.25rem;margin:0 auto;border:.0625rem solid transparent}.x-picker-month-body>table td x-button .x-button:hover{background-color:var(--x-primary-900)}.x-picker-month-body>table td x-button .x-button-activated{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-month-body>table td x-button .x-button-activated:hover{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-month-body>table td.x-date-last-or-next x-button .x-button{color:var(--x-text-700)}.x-picker-month-body>table td.x-date-now x-button .x-button:not(.x-button-activated){color:var(--x-primary);background-color:transparent;border-color:var(--x-primary)}\n"], components: [{ type: i4.XButtonComponent, selector: "x-button" }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "date": i1.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
588
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPickerMonthComponent, decorators: [{
367
589
  type: Component,
368
590
  args: [{
369
591
  selector: 'x-picker-month',
@@ -373,7 +595,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
373
595
  changeDetection: ChangeDetectionStrategy.OnPush,
374
596
  providers: [DatePipe, LowerCasePipe]
375
597
  }]
376
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i2.XConfigService }, { type: i2$1.XI18nService }]; } });
598
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i2.XConfigService }, { type: i3.XI18nService }]; } });
377
599
 
378
600
  class XPickerYearComponent extends XPickerYearProperty {
379
601
  constructor(renderer, cdr, datePipe, configService) {
@@ -386,13 +608,14 @@ class XPickerYearComponent extends XPickerYearProperty {
386
608
  this.dates = [];
387
609
  }
388
610
  ngOnChanges(simples) {
389
- XIsChange(simples.display) && this.init();
611
+ const { display } = simples;
612
+ XIsChange(display) && this.init();
390
613
  }
391
614
  init() {
392
- this.setYears();
615
+ this.setYears(this.display);
393
616
  }
394
- setYears() {
395
- let year = this.display.getFullYear();
617
+ setYears(date) {
618
+ let year = date.getFullYear();
396
619
  this.start = Math.floor(year / 10) * 10;
397
620
  this.end = this.start + 9;
398
621
  let dates = [];
@@ -411,16 +634,27 @@ class XPickerYearComponent extends XPickerYearProperty {
411
634
  const yearStr = this.datePipe.transform(year, 'yyyy');
412
635
  return yearStr < `${this.start}` || yearStr > `${this.end}`;
413
636
  }
637
+ setDisplay(date) {
638
+ this.display = new Date(date.getFullYear(), date.getMonth(), 1);
639
+ this.setYears(this.display);
640
+ }
641
+ nextYears(num) {
642
+ this.start += num;
643
+ let date = new Date(this.display);
644
+ date.setFullYear(this.start);
645
+ this.setDisplay(date);
646
+ this.cdr.detectChanges();
647
+ }
414
648
  equalYear(one, two) {
415
649
  return this.datePipe.transform(one, 'yyyy') === this.datePipe.transform(two, 'yyyy');
416
650
  }
417
- trackByYear(index, item) {
651
+ trackByYear(_index, item) {
418
652
  return item;
419
653
  }
420
654
  }
421
- /** @nocollapse */ XPickerYearComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPickerYearComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.DatePipe }, { token: i2.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
422
- /** @nocollapse */ XPickerYearComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", type: XPickerYearComponent, selector: "x-picker-year", providers: [DatePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-year\">\r\n <table class=\"x-picker-year-table\" cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let years of dates\">\r\n <ng-container *ngFor=\"let year of years; trackBy: trackByYear\">\r\n <td [class.x-date-last-or-next]=\"lastOrNext(year)\" [class.x-date-now]=\"equalYear(year, now)\">\r\n <x-button type=\"text\" [activated]=\"equalYear(year, now)\" (click)=\"yearClick(year)\">{{ year | date: 'yyyy' }}</x-button>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n</div>\r\n", styles: [".x-picker-year{margin:0;padding:0}.x-picker-year-table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-year-table td{height:1.875rem;padding:.125rem 0;text-align:center}.x-picker-year-table td x-button .x-button{width:2.6rem;height:1.6rem;margin:0 auto;border:.0625rem solid #0000}.x-picker-year-table td x-button .x-button:hover{background-color:var(--x-primary-900)}.x-picker-year-table td x-button .x-button-activated,.x-picker-year-table td x-button .x-button-activated:hover{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-year-table td.x-date-last-or-next x-button .x-button{color:var(--x-text-400)}.x-picker-year-table td.x-date-now x-button .x-button{color:var(--x-primary);background-color:initial;border-color:var(--x-primary)}"], components: [{ type: i3.XButtonComponent, selector: "x-button" }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "date": i1.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
423
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPickerYearComponent, decorators: [{
655
+ /** @nocollapse */ XPickerYearComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPickerYearComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.DatePipe }, { token: i2.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
656
+ /** @nocollapse */ XPickerYearComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XPickerYearComponent, selector: "x-picker-year", providers: [DatePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-year\">\r\n <div class=\"x-picker-year-header\" *ngIf=\"showHeader\">\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextYears(-10)\"></x-button>\r\n <div class=\"x-date-picker-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\">{{ start }}</x-button> -\r\n <x-button type=\"text\" size=\"small\">{{ end }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextYears(10)\"></x-button>\r\n </div>\r\n <div class=\"x-picker-year-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let years of dates\">\r\n <ng-container *ngFor=\"let year of years; trackBy: trackByYear\">\r\n <td [class.x-date-last-or-next]=\"lastOrNext(year)\" [class.x-date-now]=\"equalYear(year, now)\">\r\n <x-button type=\"text\" [activated]=\"equalYear(year, now)\" (click)=\"yearClick(year)\">{{ year | date: 'yyyy' }}</x-button>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-year{margin:0;padding:0}.x-picker-year-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-picker-year-year-month{flex:1;text-align:center}.x-picker-year-body{padding:.5rem}.x-picker-year-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-year-body>table td{padding:.125rem 0;text-align:center}.x-picker-year-body>table td x-button .x-button{width:3.5rem;height:3.25rem;margin:0 auto;border:.0625rem solid transparent}.x-picker-year-body>table td x-button .x-button:hover{background-color:var(--x-primary-900)}.x-picker-year-body>table td x-button .x-button-activated{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-year-body>table td x-button .x-button-activated:hover{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-year-body>table td.x-date-last-or-next x-button .x-button{color:var(--x-text-700)}.x-picker-year-body>table td.x-date-now x-button .x-button:not(.x-button-activated){color:var(--x-primary);background-color:transparent;border-color:var(--x-primary)}\n"], components: [{ type: i4.XButtonComponent, selector: "x-button" }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "date": i1.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
657
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPickerYearComponent, decorators: [{
424
658
  type: Component,
425
659
  args: [{
426
660
  selector: 'x-picker-year',
@@ -441,13 +675,15 @@ class XDatePickerPortalComponent {
441
675
  this.type = 'date';
442
676
  this.display = new Date();
443
677
  this.locale = {};
678
+ this.time = new Date().getTime();
679
+ this.preset = [];
444
680
  this._unSubject = new Subject();
445
681
  }
446
682
  done(event) {
447
683
  this.animating(false);
448
684
  event.toState === 'void' && this.destroyPortal();
449
685
  }
450
- start(event) {
686
+ start() {
451
687
  this.animating(true);
452
688
  }
453
689
  ngOnInit() {
@@ -477,12 +713,7 @@ class XDatePickerPortalComponent {
477
713
  if (!XIsEmpty(this.value)) {
478
714
  this.setDefault();
479
715
  }
480
- else {
481
- this.model = this.display;
482
- }
483
- this.time = this.model.getTime();
484
716
  this._type = this.type;
485
- this.setDisplay(this.model);
486
717
  this.cdr.detectChanges();
487
718
  }
488
719
  stopPropagation(event) {
@@ -491,6 +722,8 @@ class XDatePickerPortalComponent {
491
722
  setDefault() {
492
723
  const date = new Date(this.value);
493
724
  this.model = date;
725
+ this.time = this.model.getTime();
726
+ this.setDisplay(this.model);
494
727
  }
495
728
  setDisplay(date) {
496
729
  this.display = new Date(date.getFullYear(), date.getMonth(), 1);
@@ -498,18 +731,14 @@ class XDatePickerPortalComponent {
498
731
  dateChange(date) {
499
732
  this.setDisplay(date);
500
733
  this.model = date;
501
- this.setModel(this.model, new Date(this.time));
502
734
  if (['date-time', 'date-hour', 'date-minute'].includes(this._type)) {
735
+ this.setModelTime(this.model, new Date(this.time));
503
736
  this.nodeEmit(this.model, false);
504
737
  }
505
738
  else {
506
739
  this.nodeEmit(this.model);
507
740
  }
508
741
  }
509
- typeChange(type) {
510
- this.type = type;
511
- this.cdr.detectChanges();
512
- }
513
742
  monthChange(date) {
514
743
  this.setDisplay(date);
515
744
  if (this._type === 'month') {
@@ -532,45 +761,31 @@ class XDatePickerPortalComponent {
532
761
  }
533
762
  this.cdr.detectChanges();
534
763
  }
535
- yearStartChange(number) {
536
- this.startYear = number;
537
- this.cdr.detectChanges();
538
- }
539
- nextMonth(num) {
540
- let date = new Date(this.display);
541
- date.setMonth(date.getMonth() + num);
542
- this.setDisplay(date);
543
- this.cdr.detectChanges();
764
+ onToday() {
765
+ this.dateChange(new Date());
544
766
  }
545
- nextYear(num) {
546
- let date = new Date(this.display);
547
- date.setFullYear(date.getFullYear() + num);
548
- this.setDisplay(date);
549
- this.cdr.detectChanges();
767
+ onYesterday() {
768
+ this.dateChange(XAddDays(new Date(), -1));
550
769
  }
551
- nextYears(num) {
552
- this.startYear += num;
553
- let date = new Date(this.display);
554
- date.setFullYear(this.startYear);
555
- this.setDisplay(date);
556
- this.cdr.detectChanges();
770
+ onTomorrow() {
771
+ this.dateChange(XAddDays(new Date(), 1));
557
772
  }
558
- getLocaleMonth(date) {
559
- return this.locale[this.lowerCasePipe.transform(this.datePipe.transform(date, 'LLLL'))];
773
+ onPresetFunc(item) {
774
+ this.dateChange(item.func());
560
775
  }
561
776
  selectTime(time) {
562
777
  this.time = time.getTime();
563
- this.nodeEmit(this.setModel(this.model, time), false);
778
+ this.nodeEmit(this.setModelTime(this.model, time), false);
564
779
  this.cdr.detectChanges();
565
780
  }
566
- setModel(date, time) {
781
+ setModelTime(date, time) {
567
782
  this.model = new Date(date.getFullYear(), date.getMonth(), date.getDate(), time.getHours(), time.getMinutes(), time.getSeconds());
568
783
  return this.model;
569
784
  }
570
785
  }
571
- /** @nocollapse */ XDatePickerPortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDatePickerPortalComponent, deps: [{ token: i1.DatePipe }, { token: i1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i2$1.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
572
- /** @nocollapse */ XDatePickerPortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", type: XDatePickerPortalComponent, selector: "x-date-picker-portal", host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.placement" } }, providers: [DatePipe, LowerCasePipe], ngImport: i0, template: "<div class=\"x-date-picker-portal {{ type }}\" [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <div class=\"x-date-picker-portal-header\">\r\n <ng-container *ngTemplateOutlet=\"dateHeaderTpl\"></ng-container>\r\n </div>\r\n <div class=\"x-date-picker-portal-body\">\r\n <x-picker-date [display]=\"display\" [model]=\"model\" (modelChange)=\"dateChange($event)\"></x-picker-date>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'month'\">\r\n <div class=\"x-date-picker-portal-header\">\r\n <ng-container *ngTemplateOutlet=\"monthHeaderTpl\"></ng-container>\r\n </div>\r\n <div class=\"x-date-picker-portal-body\">\r\n <x-picker-month [display]=\"display\" [model]=\"model\" (modelChange)=\"monthChange($event)\"></x-picker-month>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'year'\">\r\n <div class=\"x-date-picker-portal-header\">\r\n <ng-container *ngTemplateOutlet=\"yearHeaderTpl\"></ng-container>\r\n </div>\r\n <div class=\"x-date-picker-portal-body\">\r\n <x-picker-year\r\n [display]=\"display\"\r\n [model]=\"model\"\r\n (modelChange)=\"yearChange($event)\"\r\n (startChange)=\"yearStartChange($event)\"\r\n ></x-picker-year>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-time'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm:ss', timeType: 'time' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-hour'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH', timeType: 'hour' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-minute'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm', timeType: 'minute' }\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #dateHeaderTpl>\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\"></x-button>\r\n <div class=\"x-date-picker-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('year')\">{{ display | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('month')\">{{ getLocaleMonth(display) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextMonth(1)\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\"></x-button>\r\n</ng-template>\r\n\r\n<ng-template #monthHeaderTpl>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\"></x-button>\r\n <div class=\"x-date-picker-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('year')\">{{ display | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\"></x-button>\r\n</ng-template>\r\n\r\n<ng-template #yearHeaderTpl>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextYears(-10)\"></x-button>\r\n <div class=\"x-date-picker-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\">{{ startYear }}</x-button> -\r\n <x-button type=\"text\" size=\"small\">{{ startYear + 9 }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextYears(10)\"></x-button>\r\n</ng-template>\r\n\r\n<ng-template #dateTimeHourMinuteTpl let-timeFormat=\"timeFormat\" let-timeType=\"timeType\">\r\n <div class=\"x-date-picker-portal-content\">\r\n <div class=\"x-date-picker-portal-date\">\r\n <div class=\"x-date-picker-portal-header\">\r\n <ng-container *ngTemplateOutlet=\"dateHeaderTpl\"></ng-container>\r\n </div>\r\n <div class=\"x-date-picker-portal-body\">\r\n <x-picker-date [display]=\"display\" [model]=\"model\" (modelChange)=\"dateChange($event)\"></x-picker-date>\r\n </div>\r\n </div>\r\n <div class=\"x-date-picker-portal-time\">\r\n <div class=\"x-date-picker-portal-time-label\">\r\n <x-button type=\"text\" size=\"small\">{{ time | date: timeFormat }}</x-button>\r\n </div>\r\n <x-time-picker-frame [type]=\"timeType\" [value]=\"time\" (nodeEmit)=\"selectTime($event)\"></x-time-picker-frame>\r\n </div>\r\n </div>\r\n <div class=\"x-date-picker-portal-footer\">\r\n <x-button type=\"primary\" size=\"small\" (click)=\"nodeEmit(model)\">{{ locale.sure }}</x-button>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-date-picker-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);width:16rem;display:flex;flex-direction:column;font-size:var(--x-font-size-small)}.x-date-picker-portal.date-time{width:27rem}.x-date-picker-portal.date-hour{width:19.75rem}.x-date-picker-portal.date-minute{width:23.375rem}.x-date-picker-portal-content{display:flex}.x-date-picker-portal-header{display:flex;align-items:center;justify-content:space-between;padding:.4rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-date-picker-portal-year-month{flex:1;text-align:center}.x-date-picker-portal-body{padding:.4rem}.x-date-picker-portal-footer{display:flex;justify-content:flex-end;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-picker-portal-date{flex:1}.x-date-picker-portal-time{display:flex;flex-direction:column}.x-date-picker-portal-time-label{padding:.4rem;text-align:center;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-picker-portal-time .x-time-picker-frame{border-left-width:var(--x-border-width);border-bottom-width:0;border-right-width:0;border-top-width:var(--x-border-width);box-shadow:none}"], components: [{ type: XPickerDateComponent, selector: "x-picker-date" }, { type: XPickerMonthComponent, selector: "x-picker-month" }, { type: XPickerYearComponent, selector: "x-picker-year" }, { type: i3.XButtonComponent, selector: "x-button" }, { type: i7.XTimePickerFrameComponent, selector: "x-time-picker-frame", inputs: ["type", "value"], outputs: ["nodeEmit"] }], directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "date": i1.DatePipe }, animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
573
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDatePickerPortalComponent, decorators: [{
786
+ /** @nocollapse */ XDatePickerPortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDatePickerPortalComponent, deps: [{ token: i1.DatePipe }, { token: i1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i3.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
787
+ /** @nocollapse */ XDatePickerPortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XDatePickerPortalComponent, selector: "x-date-picker-portal", host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.placement" } }, providers: [DatePipe, LowerCasePipe], ngImport: i0, template: "<div class=\"x-date-picker-portal {{ type }}\" [ngSwitch]=\"type\" (click)=\"inputCom.inputFocus()\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <x-picker-date [display]=\"display\" [model]=\"model\" [(type)]=\"type\" (modelChange)=\"dateChange($event)\"></x-picker-date>\r\n <div *ngIf=\"preset\" class=\"x-date-picker-portal-preset\">\r\n <ng-container *ngFor=\"let item of preset\">\r\n <x-button type=\"text\" *ngIf=\"item.id === 'yesterday'\" (click)=\"onYesterday()\">{{ locale.yesterday }}</x-button>\r\n <x-button type=\"text\" *ngIf=\"item.id === 'today'\" (click)=\"onToday()\">{{ locale.today }}</x-button>\r\n <x-button type=\"text\" *ngIf=\"item.id === 'tomorrow'\" (click)=\"onTomorrow()\">{{ locale.tomorrow }}</x-button>\r\n <x-button type=\"text\" *ngIf=\"item.func\" (click)=\"onPresetFunc(item)\">{{ item.label }}</x-button>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'month'\">\r\n <x-picker-month [display]=\"display\" [model]=\"model\" [(type)]=\"type\" (modelChange)=\"monthChange($event)\"></x-picker-month>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'year'\">\r\n <x-picker-year [display]=\"display\" [model]=\"model\" [(type)]=\"type\" (modelChange)=\"yearChange($event)\"></x-picker-year>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-time'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm:ss', timeType: 'time' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-hour'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH', timeType: 'hour' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-minute'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm', timeType: 'minute' }\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #dateTimeHourMinuteTpl let-timeFormat=\"timeFormat\" let-timeType=\"timeType\">\r\n <div class=\"x-date-picker-portal-content\">\r\n <div class=\"x-date-picker-portal-date\">\r\n <x-picker-date [display]=\"display\" [(type)]=\"type\" [model]=\"model\" (modelChange)=\"dateChange($event)\"></x-picker-date>\r\n </div>\r\n <div class=\"x-date-picker-portal-time\">\r\n <div class=\"x-date-picker-portal-time-label\">\r\n <x-button type=\"text\" size=\"small\">{{ time | date: timeFormat }}</x-button>\r\n </div>\r\n <x-time-picker-frame [type]=\"timeType\" [value]=\"time\" (nodeEmit)=\"selectTime($event)\"></x-time-picker-frame>\r\n </div>\r\n </div>\r\n <div class=\"x-date-picker-portal-footer\">\r\n <x-button type=\"primary\" size=\"small\" (click)=\"nodeEmit(model)\">{{ locale.sure }}</x-button>\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-date-picker-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);width:16rem;display:flex;flex-direction:column;font-size:var(--x-font-size-small)}.x-date-picker-portal.date-time{width:27rem}.x-date-picker-portal.date-hour{width:19.75rem}.x-date-picker-portal.date-minute{width:23.375rem}.x-date-picker-portal-content{display:flex}.x-date-picker-portal-preset{display:flex;align-items:center;justify-content:center;border-top:var(--x-border-width) solid var(--x-border)}.x-date-picker-portal-preset>x-button{flex:1}.x-date-picker-portal-body{padding:.4rem}.x-date-picker-portal-footer{display:flex;justify-content:flex-end;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-picker-portal-date{flex:1}.x-date-picker-portal-time{display:flex;flex-direction:column;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-picker-portal-time-label{padding:.5rem;text-align:center;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-picker-portal-time .x-time-picker-frame{border-width:0;box-shadow:none;margin:0}\n"], components: [{ type: XPickerDateComponent, selector: "x-picker-date" }, { type: i4.XButtonComponent, selector: "x-button" }, { type: XPickerMonthComponent, selector: "x-picker-month" }, { type: XPickerYearComponent, selector: "x-picker-year" }, { type: i7.XTimePickerFrameComponent, selector: "x-time-picker-frame", inputs: ["type", "value"], outputs: ["nodeEmit"] }], directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "date": i1.DatePipe }, animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
788
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDatePickerPortalComponent, decorators: [{
574
789
  type: Component,
575
790
  args: [{
576
791
  selector: `${XDatePickerPortalPrefix}`,
@@ -581,7 +796,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
581
796
  animations: [XConnectBaseAnimation],
582
797
  providers: [DatePipe, LowerCasePipe]
583
798
  }]
584
- }], ctorParameters: function () { return [{ type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i2$1.XI18nService }]; }, propDecorators: { placement: [{
799
+ }], ctorParameters: function () { return [{ type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i3.XI18nService }]; }, propDecorators: { placement: [{
585
800
  type: HostBinding,
586
801
  args: ['@x-connect-base-animation']
587
802
  }], done: [{
@@ -593,10 +808,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
593
808
  }] } });
594
809
 
595
810
  class XDatePickerComponent extends XDatePickerProperty {
596
- constructor(renderer, elementRef, cdr, portalService, viewContainerRef, datePipe, overlay) {
811
+ constructor(renderer, configService, cdr, portalService, viewContainerRef, datePipe, overlay) {
597
812
  super();
598
813
  this.renderer = renderer;
599
- this.elementRef = elementRef;
814
+ this.configService = configService;
600
815
  this.cdr = cdr;
601
816
  this.portalService = portalService;
602
817
  this.viewContainerRef = viewContainerRef;
@@ -617,9 +832,6 @@ class XDatePickerComponent extends XDatePickerProperty {
617
832
  this.closeSubject = new Subject();
618
833
  this._unSubject = new Subject();
619
834
  }
620
- get getRequired() {
621
- return this.required && XIsEmpty(this.value);
622
- }
623
835
  writeValue(value) {
624
836
  if (XIsDate(value)) {
625
837
  this.modelType = 'date';
@@ -652,7 +864,8 @@ class XDatePickerComponent extends XDatePickerProperty {
652
864
  this.setPortal();
653
865
  }
654
866
  ngOnChanges(changes) {
655
- if (XIsChange(changes.type)) {
867
+ const { type } = changes;
868
+ if (XIsChange(type)) {
656
869
  this.setFormat();
657
870
  this.setDisplayValue(this.numberValue);
658
871
  }
@@ -662,11 +875,13 @@ class XDatePickerComponent extends XDatePickerProperty {
662
875
  this._unSubject.unsubscribe();
663
876
  }
664
877
  setSubject() {
665
- this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe((x) => {
878
+ this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe(() => {
666
879
  this.closePortal();
667
880
  });
668
881
  }
669
882
  setFormat() {
883
+ if (this.format !== 'yyyy-MM-dd')
884
+ return;
670
885
  if (this.type === 'date') {
671
886
  this.format = 'yyyy-MM-dd';
672
887
  }
@@ -720,11 +935,7 @@ class XDatePickerComponent extends XDatePickerProperty {
720
935
  }
721
936
  }
722
937
  getValue() {
723
- return this.modelType === 'date'
724
- ? new Date(this.numberValue)
725
- : this.modelType === 'string'
726
- ? this.datePipe.transform(this.numberValue, this.format)
727
- : this.numberValue;
938
+ return ['date', 'string'].includes(this.modelType) ? new Date(this.numberValue) : this.numberValue;
728
939
  }
729
940
  portalAttached() {
730
941
  var _a, _b;
@@ -734,6 +945,7 @@ class XDatePickerComponent extends XDatePickerProperty {
734
945
  var _a, _b;
735
946
  if (this.portalAttached()) {
736
947
  (_b = (_a = this.portal) === null || _a === void 0 ? void 0 : _a.overlayRef) === null || _b === void 0 ? void 0 : _b.detach();
948
+ this.active = false;
737
949
  this.cdr.detectChanges();
738
950
  return true;
739
951
  }
@@ -747,6 +959,7 @@ class XDatePickerComponent extends XDatePickerProperty {
747
959
  var _a;
748
960
  if (this.disabled || this.animating)
749
961
  return;
962
+ this.active = true;
750
963
  const config = {
751
964
  backdropClass: '',
752
965
  positionStrategy: this.setPlacement(),
@@ -780,8 +993,10 @@ class XDatePickerComponent extends XDatePickerProperty {
780
993
  type: this.type,
781
994
  value: this.numberValue,
782
995
  placement: this.placement,
996
+ preset: this.preset,
783
997
  valueChange: this.valueChange,
784
998
  positionChange: this.positionChange,
999
+ inputCom: this.inputCom,
785
1000
  closePortal: () => this.closeSubject.next(),
786
1001
  destroyPortal: () => this.destroyPortal(),
787
1002
  nodeEmit: (node, sure = true) => this.onNodeClick(node, sure),
@@ -821,7 +1036,7 @@ class XDatePickerComponent extends XDatePickerProperty {
821
1036
  }
822
1037
  setPlacement() {
823
1038
  return this.portalService.setPlacement({
824
- elementRef: this.inputCom.inputElement,
1039
+ elementRef: this.inputCom.inputRef,
825
1040
  placement: [this.placement, 'bottom-start', 'bottom-end', 'top-start', 'top-end'],
826
1041
  transformOriginOn: 'x-date-picker-portal'
827
1042
  });
@@ -839,9 +1054,9 @@ class XDatePickerComponent extends XDatePickerProperty {
839
1054
  this.cdr.detectChanges();
840
1055
  }
841
1056
  }
842
- /** @nocollapse */ XDatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDatePickerComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.XPortalService }, { token: i0.ViewContainerRef }, { token: i1.DatePipe }, { token: i3$1.Overlay }], target: i0.ɵɵFactoryTarget.Component });
843
- /** @nocollapse */ XDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", type: XDatePickerComponent, selector: "x-date-picker", providers: [XValueAccessor(XDatePickerComponent), DatePipe], viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["datePicker"], descendants: true, static: true }, { propertyName: "inputCom", first: true, predicate: ["inputCom"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #datePicker\r\n class=\"x-date-picker\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"required\"\r\n [class.x-required-show]=\"getRequired\"\r\n>\r\n <label *ngIf=\"label\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div\r\n class=\"x-date-picker-row\"\r\n (click)=\"showPortal()\"\r\n (mouseenter)=\"menter()\"\r\n (mouseleave)=\"mleave()\"\r\n >\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [icon]=\"icon\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable && inputClearable\"\r\n [(ngModel)]=\"displayValue\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xInput)=\"onInput()\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n", styles: [".x-date-picker{margin:0;padding:0;width:100%}.x-date-picker.x-flex{display:flex}.x-date-picker.x-justify-start{justify-content:flex-start}.x-date-picker.x-justify-center{justify-content:center}.x-date-picker.x-justify-end{justify-content:flex-end}.x-date-picker.x-justify-space-between{justify-content:space-between}.x-date-picker.x-justify-space-around{justify-content:space-around}.x-date-picker.x-align-start{align-items:flex-start}.x-date-picker.x-align-center{align-items:center}.x-date-picker.x-align-end{align-items:flex-end}.x-date-picker.x-direction-column{flex-direction:column}.x-date-picker.x-direction-column-reverse{flex-direction:column-reverse}.x-date-picker.x-direction-row{flex-direction:row}.x-date-picker.x-direction-row-reverse{flex-direction:row-reverse}.x-date-picker>label{display:inline-block;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);color:var(--x-text-300);font-weight:600}.x-date-picker>label.x-text-align-start{text-align:start}.x-date-picker>label.x-text-align-center{text-align:center}.x-date-picker>label.x-text-align-end{text-align:end}.x-date-picker>.x-date-picker-row{flex:1;display:flex;align-items:center;position:relative}.x-date-picker>.x-date-picker-row>x-input>.x-input>.x-input-row>input{cursor:pointer}.x-date-picker.x-required.x-required-show>label{color:var(--x-danger)}.x-date-picker.x-disabled>.x-date-picker-row>x-input>.x-input>.x-input-row>input{cursor:not-allowed}.x-date-picker.x-flex.x-direction-row>label{padding:0 .5rem 0 0}.x-date-picker.x-flex.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-date-picker.x-flex.x-direction-column,.x-date-picker.x-flex.x-direction-column-reverse{align-items:inherit}"], components: [{ type: i4.XInputComponent, selector: "x-input" }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
844
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDatePickerComponent, decorators: [{
1057
+ /** @nocollapse */ XDatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDatePickerComponent, deps: [{ token: i0.Renderer2 }, { token: i2.XConfigService }, { token: i0.ChangeDetectorRef }, { token: i2$1.XPortalService }, { token: i0.ViewContainerRef }, { token: i1.DatePipe }, { token: i4$1.Overlay }], target: i0.ɵɵFactoryTarget.Component });
1058
+ /** @nocollapse */ XDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XDatePickerComponent, selector: "x-date-picker", providers: [XValueAccessor(XDatePickerComponent), DatePipe], viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["datePicker"], descendants: true, static: true }, { propertyName: "inputCom", first: true, predicate: ["inputCom"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #datePicker class=\"x-date-picker\">\r\n <div class=\"x-date-picker-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\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 [icon]=\"icon\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable && inputClearable\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"before\"\r\n [after]=\"after\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n [pointer]=\"pointer\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xInput)=\"onInput()\"\r\n (xClick)=\"showPortal()\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-picker{display:inline-block}.x-date-picker{margin:0;padding:0;width:100%}.x-date-picker x-input{width:100%}\n"], components: [{ type: i5.XInputComponent, selector: "x-input" }], directives: [{ type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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"] }, { type: i6.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1059
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDatePickerComponent, decorators: [{
845
1060
  type: Component,
846
1061
  args: [{
847
1062
  selector: `${XDatePickerPrefix}`,
@@ -851,7 +1066,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
851
1066
  changeDetection: ChangeDetectionStrategy.OnPush,
852
1067
  providers: [XValueAccessor(XDatePickerComponent), DatePipe]
853
1068
  }]
854
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.XPortalService }, { type: i0.ViewContainerRef }, { type: i1.DatePipe }, { type: i3$1.Overlay }]; }, propDecorators: { datePicker: [{
1069
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i2.XConfigService }, { type: i0.ChangeDetectorRef }, { type: i2$1.XPortalService }, { type: i0.ViewContainerRef }, { type: i1.DatePipe }, { type: i4$1.Overlay }]; }, propDecorators: { datePicker: [{
855
1070
  type: ViewChild,
856
1071
  args: ['datePicker', { static: true }]
857
1072
  }], inputCom: [{
@@ -859,54 +1074,559 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
859
1074
  args: ['inputCom', { static: true }]
860
1075
  }] } });
861
1076
 
862
- class XDatePickerModule {
863
- }
864
- /** @nocollapse */ XDatePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
865
- /** @nocollapse */ XDatePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDatePickerModule, declarations: [XDatePickerComponent,
866
- XDatePickerPortalComponent,
867
- XPickerDateComponent,
868
- XPickerMonthComponent,
869
- XPickerYearComponent,
870
- XDatePickerProperty,
871
- XPickerDateProperty,
872
- XPickerMonthProperty,
873
- XPickerYearProperty], imports: [CommonModule,
874
- FormsModule,
875
- ReactiveFormsModule,
876
- XPortalModule,
877
- XTimePickerModule,
878
- XInputModule,
879
- XButtonModule,
880
- XIconModule,
881
- XI18nModule,
882
- XBaseFormModule], exports: [XDatePickerComponent, XDatePickerPortalComponent, XPickerDateComponent, XPickerMonthComponent, XPickerYearComponent] });
883
- /** @nocollapse */ XDatePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDatePickerModule, imports: [[
884
- CommonModule,
885
- FormsModule,
886
- ReactiveFormsModule,
887
- XPortalModule,
888
- XTimePickerModule,
889
- XInputModule,
890
- XButtonModule,
891
- XIconModule,
892
- XI18nModule,
893
- XBaseFormModule
894
- ]] });
895
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDatePickerModule, decorators: [{
896
- type: NgModule,
897
- args: [{
898
- declarations: [
899
- XDatePickerComponent,
900
- XDatePickerPortalComponent,
901
- XPickerDateComponent,
902
- XPickerMonthComponent,
903
- XPickerYearComponent,
904
- XDatePickerProperty,
905
- XPickerDateProperty,
906
- XPickerMonthProperty,
907
- XPickerYearProperty
1077
+ class XDateRangePortalComponent {
1078
+ constructor(datePipe, lowerCasePipe, cdr, i18n) {
1079
+ this.datePipe = datePipe;
1080
+ this.lowerCasePipe = lowerCasePipe;
1081
+ this.cdr = cdr;
1082
+ this.i18n = i18n;
1083
+ this.type = 'date';
1084
+ this.display = new Date();
1085
+ this.startDisplay = new Date();
1086
+ this.endDisplay = XAddMonths(this.startDisplay, 1);
1087
+ this.value = [];
1088
+ this.locale = {};
1089
+ this.preset = [];
1090
+ this._unSubject = new Subject();
1091
+ }
1092
+ done(event) {
1093
+ this.animating(false);
1094
+ event.toState === 'void' && this.destroyPortal();
1095
+ }
1096
+ start() {
1097
+ this.animating(true);
1098
+ }
1099
+ ngOnInit() {
1100
+ this.valueChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {
1101
+ this.value = x;
1102
+ this.init();
1103
+ });
1104
+ this.positionChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {
1105
+ this.placement = x;
1106
+ this.cdr.detectChanges();
1107
+ });
1108
+ this.i18n.localeChange
1109
+ .pipe(map((x) => x.datePicker), takeUntil(this._unSubject))
1110
+ .subscribe((x) => {
1111
+ this.locale = x;
1112
+ this.cdr.markForCheck();
1113
+ });
1114
+ }
1115
+ ngAfterViewInit() {
1116
+ this.init();
1117
+ }
1118
+ ngOnDestroy() {
1119
+ this._unSubject.next();
1120
+ this._unSubject.unsubscribe();
1121
+ }
1122
+ init() {
1123
+ if (!XIsEmpty(this.value)) {
1124
+ this.setDefault();
1125
+ }
1126
+ else {
1127
+ this.value = [];
1128
+ this.model = this.display;
1129
+ this.startModel = this.model;
1130
+ this.endModel = XAddMonths(this.model, 1);
1131
+ }
1132
+ this.time = this.model.getTime();
1133
+ this._type = this.type;
1134
+ this.setDisplay(this.model);
1135
+ this.cdr.detectChanges();
1136
+ }
1137
+ stopPropagation(event) {
1138
+ event.stopPropagation();
1139
+ }
1140
+ setDefault() {
1141
+ const date = new Date();
1142
+ this.model = date;
1143
+ if (this.value.length > 0) {
1144
+ this.startModel = new Date(this.value[0]);
1145
+ this.startDisplay = this.startModel;
1146
+ }
1147
+ if (this.value.length > 1) {
1148
+ this.endModel = new Date(this.value[1]);
1149
+ this.endDisplay = this.endModel;
1150
+ }
1151
+ }
1152
+ setDisplay(date) {
1153
+ this.display = new Date(date.getFullYear(), date.getMonth(), 1);
1154
+ this.startDisplay = this.display;
1155
+ this.endDisplay = XAddMonths(this.display, 1);
1156
+ }
1157
+ dateChange(date) {
1158
+ let time = date.getTime();
1159
+ if (this.value.length === 0) {
1160
+ this.value.push(time);
1161
+ this.startNodeEmit(date);
1162
+ }
1163
+ else if (this.value.length === 1) {
1164
+ if (time > this.value[0]) {
1165
+ this.value.push(time);
1166
+ this.endNodeEmit(date);
1167
+ }
1168
+ else {
1169
+ this.value.unshift(time);
1170
+ this.startNodeEmit(date);
1171
+ this.endNodeEmit(new Date(this.value[1]));
1172
+ }
1173
+ this.nodeEmit(this.value.map((x) => new Date(x)));
1174
+ }
1175
+ }
1176
+ typeChange(type) {
1177
+ this.type = type;
1178
+ this.cdr.detectChanges();
1179
+ }
1180
+ monthChange(date) {
1181
+ this.setDisplay(date);
1182
+ if (this._type === 'month') {
1183
+ this.model = date;
1184
+ // this.nodeEmit(date);
1185
+ }
1186
+ else {
1187
+ this.type = this._type;
1188
+ }
1189
+ this.cdr.detectChanges();
1190
+ }
1191
+ yearChange(date) {
1192
+ this.setDisplay(date);
1193
+ if (this._type === 'year') {
1194
+ this.model = date;
1195
+ // this.nodeEmit(date);
1196
+ }
1197
+ else {
1198
+ this.type = 'month';
1199
+ }
1200
+ this.cdr.detectChanges();
1201
+ }
1202
+ yearStartChange(number) {
1203
+ this.startYear = number;
1204
+ this.cdr.detectChanges();
1205
+ }
1206
+ nextMonth(num) {
1207
+ let date = new Date(this.display);
1208
+ date.setMonth(date.getMonth() + num);
1209
+ this.setDisplay(date);
1210
+ this.cdr.detectChanges();
1211
+ }
1212
+ nextYear(num) {
1213
+ let date = new Date(this.display);
1214
+ date.setFullYear(date.getFullYear() + num);
1215
+ this.setDisplay(date);
1216
+ this.cdr.detectChanges();
1217
+ }
1218
+ nextYears(num) {
1219
+ this.startYear += num;
1220
+ let date = new Date(this.display);
1221
+ date.setFullYear(this.startYear);
1222
+ this.setDisplay(date);
1223
+ this.cdr.detectChanges();
1224
+ }
1225
+ getLocaleMonth(date) {
1226
+ return this.locale[this.lowerCasePipe.transform(this.datePipe.transform(date, 'LLLL'))];
1227
+ }
1228
+ onToday() {
1229
+ this.dateChange(new Date());
1230
+ }
1231
+ onYesterday() {
1232
+ this.dateChange(XAddDays(new Date(), -1));
1233
+ }
1234
+ onTomorrow() {
1235
+ this.dateChange(XAddDays(new Date(), 1));
1236
+ }
1237
+ onPresetFunc(item) {
1238
+ this.dateChange(item.func());
1239
+ }
1240
+ selectTime(time) {
1241
+ this.time = time.getTime();
1242
+ // this.nodeEmit(this.setModel(this.model, time), false);
1243
+ this.cdr.detectChanges();
1244
+ }
1245
+ setModel(date, time) {
1246
+ this.model = new Date(date.getFullYear(), date.getMonth(), date.getDate(), time.getHours(), time.getMinutes(), time.getSeconds());
1247
+ return this.model;
1248
+ }
1249
+ }
1250
+ /** @nocollapse */ XDateRangePortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDateRangePortalComponent, deps: [{ token: i1.DatePipe }, { token: i1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i3.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
1251
+ /** @nocollapse */ XDateRangePortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XDateRangePortalComponent, selector: "x-date-range-portal", host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.placement" } }, providers: [DatePipe, LowerCasePipe], ngImport: i0, template: "<div class=\"x-date-range-portal {{ type }}\" [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <div class=\"x-date-range-portal-header\">\r\n <ng-container *ngTemplateOutlet=\"startDateHeaderTpl\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"endDateHeaderTpl\"></ng-container>\r\n </div>\r\n <div class=\"x-date-range-portal-body\">\r\n <x-picker-date\r\n class=\"x-date-range-portal-start\"\r\n [display]=\"startDisplay\"\r\n [model]=\"startModel\"\r\n (modelChange)=\"dateChange($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n <x-picker-date\r\n class=\"x-date-range-portal-end\"\r\n [display]=\"endDisplay\"\r\n [model]=\"endModel\"\r\n (modelChange)=\"dateChange($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #startDateHeaderTpl>\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\"></x-button>\r\n <div class=\"x-date-range-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('year')\">{{ startDisplay | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('month')\">{{ getLocaleMonth(startDisplay) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon style=\"visibility: hidden\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon style=\"visibility: hidden\"></x-button>\r\n</ng-template>\r\n\r\n<ng-template #endDateHeaderTpl>\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\" style=\"visibility: hidden\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\" style=\"visibility: hidden\"></x-button>\r\n <div class=\"x-date-range-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('year')\">{{ endDisplay | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('month')\">{{ getLocaleMonth(endDisplay) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextMonth(1)\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\"></x-button>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-date-range-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);width:34rem;display:flex;flex-direction:column;font-size:var(--x-font-size-small)}.x-date-range-portal.date-time{width:27rem}.x-date-range-portal.date-hour{width:19.75rem}.x-date-range-portal.date-minute{width:23.375rem}.x-date-range-portal-content{display:flex}.x-date-range-portal-header{display:flex;align-items:center;justify-content:space-between;padding:.4rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset{display:flex;align-items:center;justify-content:center;border-top:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset>x-button{flex:1}.x-date-range-portal-year-month{flex:1;text-align:center}.x-date-range-portal-body{padding:.4rem;display:flex}.x-date-range-portal-start{flex:1;margin-right:.4rem}.x-date-range-portal-end{flex:1;margin-left:.4rem}.x-date-range-portal-footer{display:flex;justify-content:flex-end;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-range-portal-date{flex:1}.x-date-range-portal-time{display:flex;flex-direction:column}.x-date-range-portal-time-label{padding:.4rem;text-align:center;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-range-portal-time .x-time-picker-frame{border-width:var(--x-border-width) 0 0 var(--x-border-width);box-shadow:none}\n"], components: [{ type: XPickerDateComponent, selector: "x-picker-date" }, { type: i4.XButtonComponent, selector: "x-button" }], directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "date": i1.DatePipe }, animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDateRangePortalComponent, decorators: [{
1253
+ type: Component,
1254
+ args: [{
1255
+ selector: `${XDateRangePortalPrefix}`,
1256
+ templateUrl: './date-range-portal.component.html',
1257
+ styleUrls: ['./date-range-portal.component.scss'],
1258
+ encapsulation: ViewEncapsulation.None,
1259
+ changeDetection: ChangeDetectionStrategy.OnPush,
1260
+ animations: [XConnectBaseAnimation],
1261
+ providers: [DatePipe, LowerCasePipe]
1262
+ }]
1263
+ }], ctorParameters: function () { return [{ type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i3.XI18nService }]; }, propDecorators: { placement: [{
1264
+ type: HostBinding,
1265
+ args: ['@x-connect-base-animation']
1266
+ }], done: [{
1267
+ type: HostListener,
1268
+ args: ['@x-connect-base-animation.done', ['$event']]
1269
+ }], start: [{
1270
+ type: HostListener,
1271
+ args: ['@x-connect-base-animation.start', ['$event']]
1272
+ }] } });
1273
+
1274
+ class XDateRangeComponent extends XDateRangeProperty {
1275
+ constructor(renderer, configService, cdr, portalService, viewContainerRef, datePipe, overlay) {
1276
+ super();
1277
+ this.renderer = renderer;
1278
+ this.configService = configService;
1279
+ this.cdr = cdr;
1280
+ this.portalService = portalService;
1281
+ this.viewContainerRef = viewContainerRef;
1282
+ this.datePipe = datePipe;
1283
+ this.overlay = overlay;
1284
+ this.modelType = 'date';
1285
+ this.isInput = false;
1286
+ this.enter = false;
1287
+ this.inputClearable = false;
1288
+ this.animating = false;
1289
+ this.displayValue = [];
1290
+ this.icon = 'fto-calendar';
1291
+ this.maxNodes = 6;
1292
+ this.protalTobottom = true;
1293
+ this.valueChange = new Subject();
1294
+ this.dataChange = new Subject();
1295
+ this.positionChange = new Subject();
1296
+ this.closeSubject = new Subject();
1297
+ this.startDisplay = '';
1298
+ this.endDisplay = '';
1299
+ this.startActive = false;
1300
+ this.endActive = false;
1301
+ this._unSubject = new Subject();
1302
+ }
1303
+ get getRequired() {
1304
+ return this.required && XIsEmpty(this.value);
1305
+ }
1306
+ writeValue(value) {
1307
+ if (XIsUndefined(value))
1308
+ value = [];
1309
+ if (value.length > 0) {
1310
+ if (XIsDate(value[0])) {
1311
+ this.modelType = 'date';
1312
+ this.numberValue = value.getTime();
1313
+ }
1314
+ else if (XIsNumber(value[0])) {
1315
+ this.modelType = 'number';
1316
+ this.numberValue = value;
1317
+ }
1318
+ else if (XIsString(value[0])) {
1319
+ this.modelType = 'string';
1320
+ const valueTime = value.map((x) => new Date(x).getTime());
1321
+ this.numberValue = !isNaN(valueTime[0]) ? valueTime : [];
1322
+ }
1323
+ }
1324
+ this.value = value;
1325
+ this.setDisplayValue(this.numberValue);
1326
+ this.valueChange.next(this.numberValue);
1327
+ this.cdr.detectChanges();
1328
+ }
1329
+ ngOnInit() {
1330
+ this.setFlex(this.dateRange.nativeElement, this.renderer, this.justify, this.align, this.direction);
1331
+ this.setFormat();
1332
+ this.setClassMap();
1333
+ this.setSubject();
1334
+ }
1335
+ ngAfterViewInit() {
1336
+ this.setPortal();
1337
+ }
1338
+ ngOnChanges(changes) {
1339
+ const { type } = changes;
1340
+ if (XIsChange(type)) {
1341
+ this.setFormat();
1342
+ this.setDisplayValue(this.numberValue);
1343
+ }
1344
+ }
1345
+ ngOnDestroy() {
1346
+ this._unSubject.next();
1347
+ this._unSubject.unsubscribe();
1348
+ }
1349
+ setSubject() {
1350
+ this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe(() => {
1351
+ this.closePortal();
1352
+ });
1353
+ }
1354
+ setFormat() {
1355
+ if (this.format !== 'yyyy-MM-dd')
1356
+ return;
1357
+ if (this.type === 'date') {
1358
+ this.format = 'yyyy-MM-dd';
1359
+ }
1360
+ else if (this.type === 'year') {
1361
+ this.format = 'yyyy';
1362
+ }
1363
+ else if (this.type === 'month') {
1364
+ this.format = 'yyyy-MM';
1365
+ }
1366
+ else if (this.type === 'date-time') {
1367
+ this.format = 'yyyy-MM-dd HH:mm:ss';
1368
+ }
1369
+ else if (this.type === 'date-hour') {
1370
+ this.format = 'yyyy-MM-dd HH';
1371
+ }
1372
+ else if (this.type === 'date-minute') {
1373
+ this.format = 'yyyy-MM-dd HH:mm';
1374
+ }
1375
+ }
1376
+ menter() {
1377
+ if (this.disabled)
1378
+ return;
1379
+ this.enter = true;
1380
+ if (!XIsEmpty(this.numberValue)) {
1381
+ this.icon = '';
1382
+ this.inputClearable = true;
1383
+ this.cdr.detectChanges();
1384
+ }
1385
+ }
1386
+ mleave() {
1387
+ if (this.disabled)
1388
+ return;
1389
+ this.enter = false;
1390
+ if (this.inputClearable) {
1391
+ this.icon = 'fto-calendar';
1392
+ this.inputClearable = false;
1393
+ this.cdr.detectChanges();
1394
+ }
1395
+ }
1396
+ clearEmit() {
1397
+ this.value = [];
1398
+ this.numberValue = [];
1399
+ this.displayValue = [];
1400
+ this.mleave();
1401
+ this.valueChange.next(this.numberValue);
1402
+ this.modelChange();
1403
+ }
1404
+ modelChange() {
1405
+ if (this.onChange) {
1406
+ this.onChange(this.getValue());
1407
+ }
1408
+ }
1409
+ getValue() {
1410
+ return this.modelType === 'date'
1411
+ ? this.numberValue.map((x) => new Date(x))
1412
+ : this.modelType === 'string'
1413
+ ? this.numberValue.map((x) => this.datePipe.transform(x, this.format))
1414
+ : this.numberValue;
1415
+ }
1416
+ portalAttached() {
1417
+ var _a, _b;
1418
+ return (_b = (_a = this.portal) === null || _a === void 0 ? void 0 : _a.overlayRef) === null || _b === void 0 ? void 0 : _b.hasAttached();
1419
+ }
1420
+ closePortal() {
1421
+ var _a, _b;
1422
+ if (this.portalAttached()) {
1423
+ (_b = (_a = this.portal) === null || _a === void 0 ? void 0 : _a.overlayRef) === null || _b === void 0 ? void 0 : _b.detach();
1424
+ this.active = false;
1425
+ this.cdr.detectChanges();
1426
+ return true;
1427
+ }
1428
+ return false;
1429
+ }
1430
+ destroyPortal() {
1431
+ var _a, _b;
1432
+ (_b = (_a = this.portal) === null || _a === void 0 ? void 0 : _a.overlayRef) === null || _b === void 0 ? void 0 : _b.dispose();
1433
+ }
1434
+ showPortal($event, type) {
1435
+ var _a;
1436
+ $event.stopPropagation();
1437
+ if (this.disabled || this.animating)
1438
+ return;
1439
+ this.active = true;
1440
+ this.startActive = type === 'start';
1441
+ this.endActive = type === 'end';
1442
+ const config = {
1443
+ backdropClass: '',
1444
+ positionStrategy: this.setPlacement(),
1445
+ scrollStrategy: this.overlay.scrollStrategies.reposition()
1446
+ };
1447
+ this.setPosition(config);
1448
+ this.portal = this.portalService.attach({
1449
+ content: XDateRangePortalComponent,
1450
+ viewContainerRef: this.viewContainerRef,
1451
+ overlayConfig: config
1452
+ });
1453
+ (_a = this.portal.overlayRef) === null || _a === void 0 ? void 0 : _a.outsidePointerEvents().pipe(takeUntil(this._unSubject)).subscribe(() => {
1454
+ this.setDisplayValue(this.numberValue);
1455
+ this.closeSubject.next();
1456
+ });
1457
+ this.setInstance();
1458
+ }
1459
+ setPosition(config) {
1460
+ let position = config.positionStrategy;
1461
+ position.positionChanges.pipe(takeUntil(this._unSubject)).subscribe((pos) => {
1462
+ const place = XPortalConnectedPosition.get(pos.connectionPair);
1463
+ place !== this.placement && this.positionChange.next(place);
1464
+ });
1465
+ }
1466
+ setInstance() {
1467
+ var _a;
1468
+ let componentRef = (_a = this.portal) === null || _a === void 0 ? void 0 : _a.componentRef;
1469
+ if (!componentRef)
1470
+ return;
1471
+ Object.assign(componentRef.instance, {
1472
+ type: this.type,
1473
+ value: this.numberValue,
1474
+ placement: this.placement,
1475
+ preset: this.preset,
1476
+ valueChange: this.valueChange,
1477
+ positionChange: this.positionChange,
1478
+ closePortal: () => this.closeSubject.next(),
1479
+ destroyPortal: () => this.destroyPortal(),
1480
+ nodeEmit: (dates, sure = true) => this.onNodeClick(dates, sure),
1481
+ startNodeEmit: (node) => this.startNodeClick(node),
1482
+ endNodeEmit: (node) => this.endNodeClick(node),
1483
+ animating: (ing) => (this.animating = ing)
1484
+ });
1485
+ componentRef.changeDetectorRef.detectChanges();
1486
+ }
1487
+ startNodeClick(node) {
1488
+ this.startDisplay = this.datePipe.transform(node, this.format);
1489
+ this.cdr.detectChanges();
1490
+ }
1491
+ endNodeClick(node) {
1492
+ this.endDisplay = this.datePipe.transform(node, this.format);
1493
+ this.cdr.detectChanges();
1494
+ }
1495
+ onNodeClick(dates, sure = true) {
1496
+ this.isInput = false;
1497
+ if (sure) {
1498
+ this.numberValue = dates.map((x) => x.getTime());
1499
+ this.value = this.getValue();
1500
+ this.setDisplayValue(this.numberValue);
1501
+ this.closeSubject.next();
1502
+ this.modelChange();
1503
+ this.nodeEmit.emit(this.numberValue);
1504
+ }
1505
+ else {
1506
+ this.setDisplayValue(dates.map((x) => x.getTime()));
1507
+ this.cdr.markForCheck();
1508
+ }
1509
+ }
1510
+ onInput() {
1511
+ this.isInput = true;
1512
+ }
1513
+ setDisplayValue(dateNumber) {
1514
+ // if (this.isInput && isNaN(this.startDisplay) && !isNaN(Date.parse(this.displayValue))) {
1515
+ // this.displayValue = this.datePipe.transform(this.displayValue, this.format);
1516
+ // this.numberValue = new Date(this.displayValue).getTime();
1517
+ // this.value = this.getValue();
1518
+ // this.modelChange();
1519
+ // this.isInput = false;
1520
+ // } else {
1521
+ this.displayValue = dateNumber.map((x) => this.datePipe.transform(x, this.format));
1522
+ // }
1523
+ }
1524
+ setPlacement() {
1525
+ return this.portalService.setPlacement({
1526
+ elementRef: this.inputGroup.elementRef,
1527
+ placement: [this.placement, 'bottom-start', 'bottom-end', 'top-start', 'top-end'],
1528
+ transformOriginOn: 'x-date-range-portal'
1529
+ });
1530
+ }
1531
+ setPortal() {
1532
+ var _a, _b;
1533
+ this.portalAttached() && ((_b = (_a = this.portal) === null || _a === void 0 ? void 0 : _a.overlayRef) === null || _b === void 0 ? void 0 : _b.updatePositionStrategy(this.setPlacement()));
1534
+ }
1535
+ setClassMap() {
1536
+ XClearClass(this.labelMap);
1537
+ this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;
1538
+ }
1539
+ formControlChanges() {
1540
+ this.ngOnInit();
1541
+ this.cdr.detectChanges();
1542
+ }
1543
+ }
1544
+ /** @nocollapse */ XDateRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDateRangeComponent, deps: [{ token: i0.Renderer2 }, { token: i2.XConfigService }, { token: i0.ChangeDetectorRef }, { token: i2$1.XPortalService }, { token: i0.ViewContainerRef }, { token: i1.DatePipe }, { token: i4$1.Overlay }], target: i0.ɵɵFactoryTarget.Component });
1545
+ /** @nocollapse */ XDateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XDateRangeComponent, selector: "x-date-range", providers: [XValueAccessor(XDateRangeComponent), DatePipe], viewQueries: [{ propertyName: "dateRange", first: true, predicate: ["dateRange"], descendants: true, static: true }, { propertyName: "inputGroup", first: true, predicate: ["inputGroup"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #dateRange class=\"x-date-range\" [class.x-date-range-active]=\"active\">\r\n <div class=\"x-date-range-row\">\r\n <x-input-group #inputGroup class=\"x-date-range-group\" bordered=\"false\" (click)=\"showPortal($event)\">\r\n <x-input\r\n #inputStartCom\r\n type=\"text\"\r\n placeholder=\"\u5F00\u59CB\u65E5\u671F\"\r\n [(active)]=\"startActive\"\r\n (click)=\"showPortal($event, 'start')\"\r\n [(ngModel)]=\"startDisplay\"\r\n ></x-input>\r\n <x-icon type=\"fto-arrow-right\"></x-icon>\r\n <x-input\r\n #inputEndCom\r\n type=\"text\"\r\n placeholder=\"\u7ED3\u675F\u65E5\u671F\"\r\n [(active)]=\"endActive\"\r\n (click)=\"showPortal($event, 'end')\"\r\n [(ngModel)]=\"endDisplay\"\r\n ></x-input>\r\n <x-icon [type]=\"icon\"></x-icon>\r\n </x-input-group>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-range{display:inline-block}.x-date-range{margin:0;padding:0;width:100%}.x-date-range-row{flex:1;display:flex;align-items:center}.x-date-range-group{display:inline-flex;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);box-shadow:var(--x-box-shadow) transparent;transition:all var(--x-animation-duration-slow)}.x-date-range-group .x-input-group{display:flex;align-items:center}.x-date-range-group .x-input-group>x-icon{color:var(--x-text-400);transition:all var(--x-animation-duration-base);z-index:2;padding:.4rem}.x-date-range-group .x-input-group>x-input{width:6rem}.x-date-range-group .x-input-group>x-input input{padding-left:0!important;padding-right:0!important;margin-left:.4rem;margin-right:.4rem}.x-date-range-group .x-input-group>x-input.x-input-active input{background-color:gray}.x-date-range-group:hover{border-color:var(--x-primary-300)}.x-date-range-active .x-date-range-group{border-color:var(--x-primary)}\n"], components: [{ type: i5.XInputGroupComponent, selector: "x-input-group" }, { type: i5.XInputComponent, selector: "x-input" }, { type: i6$1.XIconComponent, selector: "x-icon" }], directives: [{ 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 });
1546
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDateRangeComponent, decorators: [{
1547
+ type: Component,
1548
+ args: [{
1549
+ selector: `${XDateRangePrefix}`,
1550
+ templateUrl: './date-range.component.html',
1551
+ styleUrls: ['./date-range.component.scss'],
1552
+ encapsulation: ViewEncapsulation.None,
1553
+ changeDetection: ChangeDetectionStrategy.OnPush,
1554
+ providers: [XValueAccessor(XDateRangeComponent), DatePipe]
1555
+ }]
1556
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i2.XConfigService }, { type: i0.ChangeDetectorRef }, { type: i2$1.XPortalService }, { type: i0.ViewContainerRef }, { type: i1.DatePipe }, { type: i4$1.Overlay }]; }, propDecorators: { dateRange: [{
1557
+ type: ViewChild,
1558
+ args: ['dateRange', { static: true }]
1559
+ }], inputGroup: [{
1560
+ type: ViewChild,
1561
+ args: ['inputGroup', { static: true }]
1562
+ }] } });
1563
+
1564
+ class XDatePickerModule {
1565
+ }
1566
+ /** @nocollapse */ XDatePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1567
+ /** @nocollapse */ XDatePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDatePickerModule, declarations: [XDatePickerComponent,
1568
+ XDatePickerPortalComponent,
1569
+ XPickerDateComponent,
1570
+ XPickerMonthComponent,
1571
+ XPickerYearComponent,
1572
+ XDatePickerProperty,
1573
+ XPickerDateProperty,
1574
+ XPickerMonthProperty,
1575
+ XPickerYearProperty,
1576
+ XDateRangeComponent,
1577
+ XDateRangePortalComponent,
1578
+ XDateRangeProperty], imports: [CommonModule,
1579
+ FormsModule,
1580
+ ReactiveFormsModule,
1581
+ XPortalModule,
1582
+ XTimePickerModule,
1583
+ XInputModule,
1584
+ XButtonModule,
1585
+ XIconModule,
1586
+ XI18nModule,
1587
+ XBaseFormModule], exports: [XDatePickerComponent,
1588
+ XDateRangeComponent,
1589
+ XDatePickerPortalComponent,
1590
+ XPickerDateComponent,
1591
+ XPickerMonthComponent,
1592
+ XPickerYearComponent] });
1593
+ /** @nocollapse */ XDatePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDatePickerModule, imports: [[
1594
+ CommonModule,
1595
+ FormsModule,
1596
+ ReactiveFormsModule,
1597
+ XPortalModule,
1598
+ XTimePickerModule,
1599
+ XInputModule,
1600
+ XButtonModule,
1601
+ XIconModule,
1602
+ XI18nModule,
1603
+ XBaseFormModule
1604
+ ]] });
1605
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDatePickerModule, decorators: [{
1606
+ type: NgModule,
1607
+ args: [{
1608
+ declarations: [
1609
+ XDatePickerComponent,
1610
+ XDatePickerPortalComponent,
1611
+ XPickerDateComponent,
1612
+ XPickerMonthComponent,
1613
+ XPickerYearComponent,
1614
+ XDatePickerProperty,
1615
+ XPickerDateProperty,
1616
+ XPickerMonthProperty,
1617
+ XPickerYearProperty,
1618
+ XDateRangeComponent,
1619
+ XDateRangePortalComponent,
1620
+ XDateRangeProperty
1621
+ ],
1622
+ exports: [
1623
+ XDatePickerComponent,
1624
+ XDateRangeComponent,
1625
+ XDatePickerPortalComponent,
1626
+ XPickerDateComponent,
1627
+ XPickerMonthComponent,
1628
+ XPickerYearComponent
908
1629
  ],
909
- exports: [XDatePickerComponent, XDatePickerPortalComponent, XPickerDateComponent, XPickerMonthComponent, XPickerYearComponent],
910
1630
  imports: [
911
1631
  CommonModule,
912
1632
  FormsModule,
@@ -919,7 +1639,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
919
1639
  XI18nModule,
920
1640
  XBaseFormModule
921
1641
  ],
922
- entryComponents: [XDatePickerPortalComponent]
1642
+ entryComponents: [XDatePickerPortalComponent, XDateRangePortalComponent]
923
1643
  }]
924
1644
  }] });
925
1645
 
@@ -927,5 +1647,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
927
1647
  * Generated bundle index. Do not edit.
928
1648
  */
929
1649
 
930
- export { XDatePickerComponent, XDatePickerModule, XDatePickerPortalComponent, XDatePickerPortalPrefix, XDatePickerPrefix, XDatePickerProperty, XPickerDateComponent, XPickerDatePrefix, XPickerDateProperty, XPickerMonthComponent, XPickerMonthPrefix, XPickerMonthProperty, XPickerYearComponent, XPickerYearPrefix, XPickerYearProperty };
1650
+ export { XDatePickerComponent, XDatePickerModule, XDatePickerPortalComponent, XDatePickerPortalPrefix, XDatePickerPrefix, XDatePickerProperty, XDateRangeComponent, XDateRangePortalComponent, XDateRangePortalPrefix, XDateRangePrefix, XDateRangeProperty, XPickerDateComponent, XPickerDatePrefix, XPickerDateProperty, XPickerMonthComponent, XPickerMonthPrefix, XPickerMonthProperty, XPickerYearComponent, XPickerYearPrefix, XPickerYearProperty };
931
1651
  //# sourceMappingURL=ng-nest-ui-date-picker.js.map