@ng-nest/ui 12.0.7 → 12.1.0

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 (810) hide show
  1. package/auto-complete/auto-complete-portal.component.d.ts +3 -3
  2. package/auto-complete/auto-complete.component.d.ts +5 -1
  3. package/auto-complete/auto-complete.property.d.ts +6 -1
  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 +22 -2
  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 +52 -29
  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 +50 -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 +35 -30
  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 +44 -39
  34. package/bundles/ng-nest-ui-carousel.umd.js.map +1 -1
  35. package/bundles/ng-nest-ui-cascade.umd.js +78 -31
  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 +39 -32
  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 +387 -242
  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 +305 -48
  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 +266 -30
  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 +31 -26
  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 +537 -138
  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 +25 -21
  82. package/bundles/ng-nest-ui-input-number.umd.js.map +1 -1
  83. package/bundles/ng-nest-ui-input.umd.js +64 -32
  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 +37 -33
  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 +29 -25
  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 +28 -24
  114. package/bundles/ng-nest-ui-portal.umd.js.map +1 -1
  115. package/bundles/ng-nest-ui-progress.umd.js +259 -39
  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 +53 -33
  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 +27 -22
  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-panel.component.d.ts +2 -3
  176. package/carousel/carousel.component.d.ts +1 -1
  177. package/cascade/cascade-portal.component.d.ts +13 -7
  178. package/cascade/cascade.component.d.ts +7 -1
  179. package/cascade/cascade.property.d.ts +23 -3
  180. package/checkbox/checkbox.component.d.ts +1 -1
  181. package/color/color.component.d.ts +2 -2
  182. package/color-picker/color-picker-portal.component.d.ts +3 -3
  183. package/color-picker/color-picker.component.d.ts +2 -3
  184. package/comment/comment.component.d.ts +1 -1
  185. package/core/config/config.d.ts +18 -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 +4 -11
  196. package/date-picker/date-picker.component.d.ts +3 -4
  197. package/date-picker/date-picker.property.d.ts +55 -20
  198. package/date-picker/date-range-portal.component.d.ts +10 -6
  199. package/date-picker/date-range.component.d.ts +15 -11
  200. package/date-picker/picker-date.component.d.ts +13 -4
  201. package/date-picker/picker-month.component.d.ts +6 -3
  202. package/date-picker/picker-year.component.d.ts +4 -2
  203. package/description/description.component.d.ts +2 -4
  204. package/dialog/dialog-container.component.d.ts +18 -0
  205. package/dialog/dialog-container.directives.d.ts +24 -0
  206. package/dialog/dialog-ref.d.ts +9 -0
  207. package/dialog/dialog.module.d.ts +13 -11
  208. package/dialog/dialog.property.d.ts +84 -6
  209. package/dialog/dialog.service.d.ts +19 -0
  210. package/dialog/public-api.d.ts +4 -0
  211. package/drawer/drawer-container.component.d.ts +18 -0
  212. package/drawer/drawer-container.directives.d.ts +19 -0
  213. package/drawer/drawer-ref.d.ts +9 -0
  214. package/drawer/drawer.module.d.ts +8 -6
  215. package/drawer/drawer.property.d.ts +83 -2
  216. package/drawer/drawer.service.d.ts +19 -0
  217. package/drawer/public-api.d.ts +5 -0
  218. package/dropdown/dropdown-portal.component.d.ts +1 -3
  219. package/dropdown/dropdown.component.d.ts +2 -2
  220. package/esm2015/affix/affix.component.js +3 -3
  221. package/esm2015/affix/affix.module.js +4 -4
  222. package/esm2015/affix/affix.property.js +3 -3
  223. package/esm2015/alert/alert.component.js +4 -4
  224. package/esm2015/alert/alert.module.js +4 -4
  225. package/esm2015/alert/alert.property.js +3 -3
  226. package/esm2015/anchor/anchor.component.js +5 -5
  227. package/esm2015/anchor/anchor.module.js +4 -4
  228. package/esm2015/anchor/anchor.property.js +4 -4
  229. package/esm2015/api/api.component.js +3 -3
  230. package/esm2015/api/api.module.js +4 -4
  231. package/esm2015/auto-complete/auto-complete-portal.component.js +6 -6
  232. package/esm2015/auto-complete/auto-complete.component.js +20 -7
  233. package/esm2015/auto-complete/auto-complete.module.js +4 -4
  234. package/esm2015/auto-complete/auto-complete.property.js +10 -4
  235. package/esm2015/avatar/avatar.component.js +3 -3
  236. package/esm2015/avatar/avatar.module.js +4 -4
  237. package/esm2015/avatar/avatar.property.js +3 -3
  238. package/esm2015/back-top/back-top.component.js +6 -6
  239. package/esm2015/back-top/back-top.module.js +4 -4
  240. package/esm2015/back-top/back-top.property.js +3 -3
  241. package/esm2015/badge/badge.component.js +6 -5
  242. package/esm2015/badge/badge.module.js +4 -4
  243. package/esm2015/badge/badge.property.js +3 -3
  244. package/esm2015/base-form/base-form.component.js +5 -5
  245. package/esm2015/base-form/base-form.module.js +4 -4
  246. package/esm2015/base-form/base-form.property.js +29 -5
  247. package/esm2015/border/border.component.js +3 -3
  248. package/esm2015/border/border.module.js +4 -4
  249. package/esm2015/button/button.component.js +8 -7
  250. package/esm2015/button/button.module.js +4 -4
  251. package/esm2015/button/button.property.js +6 -6
  252. package/esm2015/button/buttons.component.js +4 -4
  253. package/esm2015/calendar/calendar.component.js +8 -7
  254. package/esm2015/calendar/calendar.module.js +4 -4
  255. package/esm2015/calendar/calendar.property.js +3 -3
  256. package/esm2015/card/card.component.js +3 -3
  257. package/esm2015/card/card.module.js +4 -4
  258. package/esm2015/card/card.property.js +3 -3
  259. package/esm2015/carousel/carousel-panel.component.js +15 -14
  260. package/esm2015/carousel/carousel.component.js +7 -6
  261. package/esm2015/carousel/carousel.module.js +4 -4
  262. package/esm2015/carousel/carousel.property.js +6 -6
  263. package/esm2015/cascade/cascade-portal.component.js +23 -11
  264. package/esm2015/cascade/cascade.component.js +23 -6
  265. package/esm2015/cascade/cascade.module.js +4 -4
  266. package/esm2015/cascade/cascade.property.js +16 -4
  267. package/esm2015/checkbox/checkbox.component.js +7 -6
  268. package/esm2015/checkbox/checkbox.module.js +4 -4
  269. package/esm2015/checkbox/checkbox.property.js +4 -4
  270. package/esm2015/collapse/collapse-panel.component.js +4 -4
  271. package/esm2015/collapse/collapse.component.js +3 -3
  272. package/esm2015/collapse/collapse.module.js +4 -4
  273. package/esm2015/collapse/collapse.property.js +6 -6
  274. package/esm2015/color/color.component.js +5 -5
  275. package/esm2015/color/color.module.js +4 -4
  276. package/esm2015/color/color.property.js +3 -3
  277. package/esm2015/color-picker/color-picker-portal.component.js +5 -5
  278. package/esm2015/color-picker/color-picker.component.js +14 -11
  279. package/esm2015/color-picker/color-picker.module.js +4 -4
  280. package/esm2015/color-picker/color-picker.property.js +3 -3
  281. package/esm2015/comment/comment-reply.component.js +3 -3
  282. package/esm2015/comment/comment.component.js +7 -6
  283. package/esm2015/comment/comment.module.js +4 -4
  284. package/esm2015/comment/comment.property.js +6 -6
  285. package/esm2015/container/aside.component.js +3 -3
  286. package/esm2015/container/container.component.js +5 -5
  287. package/esm2015/container/container.module.js +4 -4
  288. package/esm2015/container/container.property.js +12 -12
  289. package/esm2015/container/footer.component.js +3 -3
  290. package/esm2015/container/header.component.js +3 -3
  291. package/esm2015/container/main.component.js +3 -3
  292. package/esm2015/core/animation/fade.js +1 -1
  293. package/esm2015/core/config/config.js +1 -1
  294. package/esm2015/core/config/config.service.js +3 -3
  295. package/esm2015/core/functions/clone-deep.js +12 -0
  296. package/esm2015/core/functions/drop.js +8 -0
  297. package/esm2015/core/functions/flex.js +18 -7
  298. package/esm2015/core/functions/has-in.js +4 -0
  299. package/esm2015/core/functions/order-by.js +31 -0
  300. package/esm2015/core/functions/public-api.js +6 -1
  301. package/esm2015/core/functions/remove.js +15 -0
  302. package/esm2015/core/services/http.service.js +5 -5
  303. package/esm2015/core/services/preloading-strategy.service.js +5 -5
  304. package/esm2015/core/services/reuse-strategy.service.js +2 -2
  305. package/esm2015/core/services/storage.service.js +3 -3
  306. package/esm2015/core/theme/theme.service.js +3 -3
  307. package/esm2015/crumb/crumb.component.js +7 -6
  308. package/esm2015/crumb/crumb.module.js +4 -4
  309. package/esm2015/crumb/crumb.property.js +3 -3
  310. package/esm2015/date-picker/date-picker-portal.component.js +11 -43
  311. package/esm2015/date-picker/date-picker.component.js +13 -14
  312. package/esm2015/date-picker/date-picker.module.js +4 -4
  313. package/esm2015/date-picker/date-picker.property.js +102 -34
  314. package/esm2015/date-picker/date-range-portal.component.js +41 -20
  315. package/esm2015/date-picker/date-range.component.js +66 -47
  316. package/esm2015/date-picker/picker-date.component.js +50 -15
  317. package/esm2015/date-picker/picker-month.component.js +25 -9
  318. package/esm2015/date-picker/picker-year.component.js +21 -9
  319. package/esm2015/description/description-item.component.js +4 -4
  320. package/esm2015/description/description.component.js +8 -9
  321. package/esm2015/description/description.module.js +4 -4
  322. package/esm2015/description/description.property.js +6 -6
  323. package/esm2015/dialog/dialog-container.component.js +59 -0
  324. package/esm2015/dialog/dialog-container.directives.js +73 -0
  325. package/esm2015/dialog/dialog-ref.js +17 -0
  326. package/esm2015/dialog/dialog.component.js +6 -5
  327. package/esm2015/dialog/dialog.module.js +39 -9
  328. package/esm2015/dialog/dialog.property.js +20 -19
  329. package/esm2015/dialog/dialog.service.js +67 -0
  330. package/esm2015/dialog/public-api.js +5 -1
  331. package/esm2015/doc/doc.component.js +3 -3
  332. package/esm2015/doc/doc.module.js +4 -4
  333. package/esm2015/drawer/drawer-container.component.js +59 -0
  334. package/esm2015/drawer/drawer-container.directives.js +57 -0
  335. package/esm2015/drawer/drawer-ref.js +17 -0
  336. package/esm2015/drawer/drawer.component.js +6 -5
  337. package/esm2015/drawer/drawer.module.js +24 -8
  338. package/esm2015/drawer/drawer.property.js +24 -8
  339. package/esm2015/drawer/drawer.service.js +65 -0
  340. package/esm2015/drawer/public-api.js +6 -1
  341. package/esm2015/dropdown/dropdown-portal.component.js +5 -5
  342. package/esm2015/dropdown/dropdown.component.js +7 -6
  343. package/esm2015/dropdown/dropdown.module.js +4 -4
  344. package/esm2015/dropdown/dropdown.property.js +3 -3
  345. package/esm2015/empty/empty.component.js +3 -3
  346. package/esm2015/empty/empty.module.js +4 -4
  347. package/esm2015/empty/empty.property.js +3 -3
  348. package/esm2015/examples/examples.component.js +3 -3
  349. package/esm2015/examples/examples.module.js +4 -4
  350. package/esm2015/find/find.component.js +10 -9
  351. package/esm2015/find/find.module.js +4 -4
  352. package/esm2015/find/find.property.js +3 -3
  353. package/esm2015/form/control.component.js +4 -4
  354. package/esm2015/form/form.component.js +9 -8
  355. package/esm2015/form/form.module.js +4 -4
  356. package/esm2015/form/form.property.js +8 -13
  357. package/esm2015/highlight/highlight.component.js +6 -5
  358. package/esm2015/highlight/highlight.module.js +4 -4
  359. package/esm2015/highlight/highlight.property.js +4 -4
  360. package/esm2015/i18n/i18n.directive.js +6 -5
  361. package/esm2015/i18n/i18n.module.js +4 -4
  362. package/esm2015/i18n/i18n.pipe.js +3 -3
  363. package/esm2015/i18n/i18n.service.js +3 -3
  364. package/esm2015/i18n/languages/ar_EG.js +11 -3
  365. package/esm2015/i18n/languages/bg_BG.js +11 -3
  366. package/esm2015/i18n/languages/ca_ES.js +11 -3
  367. package/esm2015/i18n/languages/cs_CZ.js +11 -3
  368. package/esm2015/i18n/languages/da_DK.js +11 -3
  369. package/esm2015/i18n/languages/de_DE.js +11 -3
  370. package/esm2015/i18n/languages/el_GR.js +11 -3
  371. package/esm2015/i18n/languages/en_GB.js +11 -3
  372. package/esm2015/i18n/languages/en_US.js +7 -2
  373. package/esm2015/i18n/languages/es_ES.js +11 -3
  374. package/esm2015/i18n/languages/et_EE.js +11 -3
  375. package/esm2015/i18n/languages/fa_IR.js +11 -3
  376. package/esm2015/i18n/languages/fi_FI.js +11 -3
  377. package/esm2015/i18n/languages/fr_BE.js +10 -2
  378. package/esm2015/i18n/languages/fr_FR.js +11 -3
  379. package/esm2015/i18n/languages/he_IL.js +11 -3
  380. package/esm2015/i18n/languages/hi_IN.js +11 -3
  381. package/esm2015/i18n/languages/hr_HR.js +11 -3
  382. package/esm2015/i18n/languages/hu_HU.js +11 -3
  383. package/esm2015/i18n/languages/hy_AM.js +11 -3
  384. package/esm2015/i18n/languages/id_ID.js +11 -3
  385. package/esm2015/i18n/languages/is_IS.js +11 -3
  386. package/esm2015/i18n/languages/it_IT.js +11 -3
  387. package/esm2015/i18n/languages/ja_JP.js +11 -3
  388. package/esm2015/i18n/languages/ka_GE.js +11 -3
  389. package/esm2015/i18n/languages/kn_IN.js +11 -3
  390. package/esm2015/i18n/languages/ko_KR.js +11 -3
  391. package/esm2015/i18n/languages/ku_IQ.js +11 -3
  392. package/esm2015/i18n/languages/lv_LV.js +11 -3
  393. package/esm2015/i18n/languages/mn_MN.js +11 -3
  394. package/esm2015/i18n/languages/ms_MY.js +11 -3
  395. package/esm2015/i18n/languages/nb_NO.js +11 -3
  396. package/esm2015/i18n/languages/ne_NP.js +11 -3
  397. package/esm2015/i18n/languages/nl_BE.js +11 -3
  398. package/esm2015/i18n/languages/nl_NL.js +11 -3
  399. package/esm2015/i18n/languages/pl_PL.js +11 -3
  400. package/esm2015/i18n/languages/pt_BR.js +11 -3
  401. package/esm2015/i18n/languages/pt_PT.js +11 -3
  402. package/esm2015/i18n/languages/ro_RO.js +11 -3
  403. package/esm2015/i18n/languages/ru_RU.js +11 -3
  404. package/esm2015/i18n/languages/sk_SK.js +11 -3
  405. package/esm2015/i18n/languages/sl_SI.js +11 -3
  406. package/esm2015/i18n/languages/sr_RS.js +11 -3
  407. package/esm2015/i18n/languages/sv_SE.js +11 -3
  408. package/esm2015/i18n/languages/ta_IN.js +11 -3
  409. package/esm2015/i18n/languages/th_TH.js +29 -21
  410. package/esm2015/i18n/languages/tr_TR.js +11 -3
  411. package/esm2015/i18n/languages/uk_UA.js +11 -3
  412. package/esm2015/i18n/languages/vi_VN.js +11 -3
  413. package/esm2015/i18n/languages/zh_CN.js +6 -2
  414. package/esm2015/i18n/languages/zh_TW.js +10 -3
  415. package/esm2015/icon/icon.component.js +7 -6
  416. package/esm2015/icon/icon.module.js +4 -4
  417. package/esm2015/icon/icon.property.js +3 -3
  418. package/esm2015/icon/icon.service.js +6 -6
  419. package/esm2015/inner/inner.component.js +5 -5
  420. package/esm2015/inner/inner.module.js +4 -4
  421. package/esm2015/inner/inner.property.js +3 -3
  422. package/esm2015/input/input-group.component.js +4 -6
  423. package/esm2015/input/input.component.js +21 -7
  424. package/esm2015/input/input.module.js +4 -4
  425. package/esm2015/input/input.property.js +12 -7
  426. package/esm2015/input-number/input-number.component.js +3 -3
  427. package/esm2015/input-number/input-number.module.js +4 -4
  428. package/esm2015/input-number/input-number.property.js +3 -3
  429. package/esm2015/layout/col.component.js +3 -3
  430. package/esm2015/layout/layout.module.js +4 -4
  431. package/esm2015/layout/layout.property.js +6 -6
  432. package/esm2015/layout/row.component.js +3 -3
  433. package/esm2015/link/link.component.js +3 -3
  434. package/esm2015/link/link.module.js +4 -4
  435. package/esm2015/link/link.property.js +3 -3
  436. package/esm2015/list/list-option.component.js +3 -3
  437. package/esm2015/list/list.component.js +8 -7
  438. package/esm2015/list/list.module.js +4 -4
  439. package/esm2015/list/list.property.js +7 -7
  440. package/esm2015/loading/loading.component.js +6 -5
  441. package/esm2015/loading/loading.module.js +4 -4
  442. package/esm2015/loading/loading.property.js +3 -3
  443. package/esm2015/menu/menu-node.component.js +4 -4
  444. package/esm2015/menu/menu.component.js +10 -10
  445. package/esm2015/menu/menu.module.js +4 -4
  446. package/esm2015/menu/menu.property.js +6 -6
  447. package/esm2015/message/message.component.js +5 -5
  448. package/esm2015/message/message.module.js +4 -4
  449. package/esm2015/message/message.property.js +2 -2
  450. package/esm2015/message/message.service.js +6 -6
  451. package/esm2015/message-box/message-box.component.js +20 -24
  452. package/esm2015/message-box/message-box.module.js +4 -4
  453. package/esm2015/message-box/message-box.service.js +10 -8
  454. package/esm2015/notification/notification.component.js +5 -5
  455. package/esm2015/notification/notification.module.js +4 -4
  456. package/esm2015/notification/notification.property.js +1 -1
  457. package/esm2015/notification/notification.service.js +3 -3
  458. package/esm2015/outlet/outlet.directive.js +3 -3
  459. package/esm2015/outlet/outlet.module.js +4 -4
  460. package/esm2015/page-header/page-header.component.js +3 -3
  461. package/esm2015/page-header/page-header.module.js +4 -4
  462. package/esm2015/page-header/page-header.property.js +3 -3
  463. package/esm2015/pagination/pagination.component.js +45 -7
  464. package/esm2015/pagination/pagination.module.js +10 -6
  465. package/esm2015/pagination/pagination.property.js +52 -4
  466. package/esm2015/pattern/pattern.component.js +3 -3
  467. package/esm2015/pattern/pattern.module.js +4 -4
  468. package/esm2015/popconfirm/popconfirm.component.js +3 -3
  469. package/esm2015/popconfirm/popconfirm.module.js +4 -4
  470. package/esm2015/popconfirm/popconfirm.property.js +3 -3
  471. package/esm2015/popover/popover-portal.component.js +4 -4
  472. package/esm2015/popover/popover.directive.js +7 -6
  473. package/esm2015/popover/popover.module.js +4 -4
  474. package/esm2015/popover/popover.property.js +3 -3
  475. package/esm2015/portal/portal.module.js +6 -5
  476. package/esm2015/portal/portal.service.js +11 -12
  477. package/esm2015/progress/progress.component.js +180 -17
  478. package/esm2015/progress/progress.module.js +4 -4
  479. package/esm2015/progress/progress.property.js +52 -5
  480. package/esm2015/radio/radio.component.js +7 -6
  481. package/esm2015/radio/radio.module.js +4 -4
  482. package/esm2015/radio/radio.property.js +4 -4
  483. package/esm2015/rate/rate.component.js +9 -9
  484. package/esm2015/rate/rate.module.js +4 -4
  485. package/esm2015/rate/rate.property.js +3 -3
  486. package/esm2015/result/result.component.js +3 -3
  487. package/esm2015/result/result.module.js +4 -4
  488. package/esm2015/result/result.property.js +3 -3
  489. package/esm2015/ripple/ripple.directive.js +4 -4
  490. package/esm2015/ripple/ripple.module.js +4 -4
  491. package/esm2015/ripple/ripple.property.js +4 -4
  492. package/esm2015/select/select-portal.component.js +6 -6
  493. package/esm2015/select/select.component.js +15 -11
  494. package/esm2015/select/select.module.js +4 -4
  495. package/esm2015/select/select.property.js +15 -4
  496. package/esm2015/skeleton/skeleton.component.js +6 -5
  497. package/esm2015/skeleton/skeleton.module.js +4 -4
  498. package/esm2015/skeleton/skeleton.property.js +3 -3
  499. package/esm2015/slider/slider.component.js +11 -12
  500. package/esm2015/slider/slider.module.js +4 -4
  501. package/esm2015/slider/slider.property.js +3 -3
  502. package/esm2015/slider-select/slider-select.component.js +3 -3
  503. package/esm2015/slider-select/slider-select.module.js +4 -4
  504. package/esm2015/slider-select/slider-select.property.js +3 -3
  505. package/esm2015/statistic/countdown.component.js +8 -7
  506. package/esm2015/statistic/statistic.component.js +6 -5
  507. package/esm2015/statistic/statistic.module.js +4 -4
  508. package/esm2015/statistic/statistic.property.js +6 -6
  509. package/esm2015/steps/steps.component.js +22 -13
  510. package/esm2015/steps/steps.module.js +7 -6
  511. package/esm2015/steps/steps.property.js +12 -5
  512. package/esm2015/switch/switch.component.js +3 -3
  513. package/esm2015/switch/switch.module.js +4 -4
  514. package/esm2015/switch/switch.property.js +3 -3
  515. package/esm2015/table/drag.directive.js +5 -5
  516. package/esm2015/table/table-body.component.js +7 -6
  517. package/esm2015/table/table-foot.component.js +4 -4
  518. package/esm2015/table/table-head.component.js +7 -6
  519. package/esm2015/table/table.component.js +9 -8
  520. package/esm2015/table/table.module.js +4 -4
  521. package/esm2015/table/table.property.js +13 -13
  522. package/esm2015/tabs/tab-content.component.js +3 -3
  523. package/esm2015/tabs/tab.component.js +4 -4
  524. package/esm2015/tabs/tabs.component.js +9 -8
  525. package/esm2015/tabs/tabs.module.js +4 -4
  526. package/esm2015/tabs/tabs.property.js +6 -6
  527. package/esm2015/tag/tag.component.js +6 -5
  528. package/esm2015/tag/tag.module.js +4 -4
  529. package/esm2015/tag/tag.property.js +3 -3
  530. package/esm2015/text-retract/text-retract.component.js +6 -5
  531. package/esm2015/text-retract/text-retract.module.js +4 -4
  532. package/esm2015/text-retract/text-retract.property.js +3 -3
  533. package/esm2015/textarea/textarea.component.js +6 -5
  534. package/esm2015/textarea/textarea.module.js +4 -4
  535. package/esm2015/textarea/textarea.property.js +4 -14
  536. package/esm2015/theme/theme.component.js +5 -5
  537. package/esm2015/theme/theme.module.js +4 -4
  538. package/esm2015/theme/theme.property.js +4 -4
  539. package/esm2015/time-ago/time-ago.module.js +4 -4
  540. package/esm2015/time-ago/time-ago.pipe.js +3 -3
  541. package/esm2015/time-picker/time-picker-frame.component.js +22 -12
  542. package/esm2015/time-picker/time-picker-portal.component.js +5 -5
  543. package/esm2015/time-picker/time-picker.component.js +31 -15
  544. package/esm2015/time-picker/time-picker.module.js +4 -4
  545. package/esm2015/time-picker/time-picker.property.js +16 -5
  546. package/esm2015/time-range/time-range.module.js +4 -4
  547. package/esm2015/time-range/time-range.pipe.js +3 -3
  548. package/esm2015/timeline/timeline.component.js +7 -6
  549. package/esm2015/timeline/timeline.module.js +4 -4
  550. package/esm2015/timeline/timeline.property.js +3 -3
  551. package/esm2015/tooltip/tooltip-portal.component.js +4 -4
  552. package/esm2015/tooltip/tooltip.directive.js +7 -6
  553. package/esm2015/tooltip/tooltip.module.js +4 -4
  554. package/esm2015/tooltip/tooltip.property.js +4 -4
  555. package/esm2015/transfer/transfer.component.js +7 -6
  556. package/esm2015/transfer/transfer.module.js +4 -4
  557. package/esm2015/transfer/transfer.property.js +3 -3
  558. package/esm2015/tree/tree-node.component.js +5 -5
  559. package/esm2015/tree/tree.component.js +11 -10
  560. package/esm2015/tree/tree.module.js +4 -4
  561. package/esm2015/tree/tree.property.js +7 -7
  562. package/esm2015/tree-file/tree-file.component.js +3 -3
  563. package/esm2015/tree-file/tree-file.module.js +4 -4
  564. package/esm2015/tree-file/tree-file.property.js +3 -3
  565. package/esm2015/typography/typography.component.js +3 -3
  566. package/esm2015/typography/typography.module.js +4 -4
  567. package/esm2015/typography/typography.property.js +3 -3
  568. package/esm2015/upload/upload-portal.component.js +5 -5
  569. package/esm2015/upload/upload.component.js +7 -6
  570. package/esm2015/upload/upload.module.js +4 -4
  571. package/esm2015/upload/upload.property.js +3 -3
  572. package/fesm2015/ng-nest-ui-affix.js +10 -10
  573. package/fesm2015/ng-nest-ui-alert.js +10 -10
  574. package/fesm2015/ng-nest-ui-alert.js.map +1 -1
  575. package/fesm2015/ng-nest-ui-anchor.js +11 -11
  576. package/fesm2015/ng-nest-ui-anchor.js.map +1 -1
  577. package/fesm2015/ng-nest-ui-api.js +7 -7
  578. package/fesm2015/ng-nest-ui-auto-complete.js +37 -18
  579. package/fesm2015/ng-nest-ui-auto-complete.js.map +1 -1
  580. package/fesm2015/ng-nest-ui-avatar.js +10 -10
  581. package/fesm2015/ng-nest-ui-back-top.js +12 -12
  582. package/fesm2015/ng-nest-ui-back-top.js.map +1 -1
  583. package/fesm2015/ng-nest-ui-badge.js +12 -11
  584. package/fesm2015/ng-nest-ui-badge.js.map +1 -1
  585. package/fesm2015/ng-nest-ui-base-form.js +36 -12
  586. package/fesm2015/ng-nest-ui-base-form.js.map +1 -1
  587. package/fesm2015/ng-nest-ui-border.js +7 -7
  588. package/fesm2015/ng-nest-ui-button.js +20 -19
  589. package/fesm2015/ng-nest-ui-button.js.map +1 -1
  590. package/fesm2015/ng-nest-ui-calendar.js +14 -13
  591. package/fesm2015/ng-nest-ui-calendar.js.map +1 -1
  592. package/fesm2015/ng-nest-ui-card.js +10 -10
  593. package/fesm2015/ng-nest-ui-carousel.js +28 -27
  594. package/fesm2015/ng-nest-ui-carousel.js.map +1 -1
  595. package/fesm2015/ng-nest-ui-cascade.js +63 -22
  596. package/fesm2015/ng-nest-ui-cascade.js.map +1 -1
  597. package/fesm2015/ng-nest-ui-checkbox.js +13 -12
  598. package/fesm2015/ng-nest-ui-checkbox.js.map +1 -1
  599. package/fesm2015/ng-nest-ui-collapse.js +16 -16
  600. package/fesm2015/ng-nest-ui-collapse.js.map +1 -1
  601. package/fesm2015/ng-nest-ui-color-picker.js +24 -21
  602. package/fesm2015/ng-nest-ui-color-picker.js.map +1 -1
  603. package/fesm2015/ng-nest-ui-color.js +11 -11
  604. package/fesm2015/ng-nest-ui-color.js.map +1 -1
  605. package/fesm2015/ng-nest-ui-comment.js +19 -18
  606. package/fesm2015/ng-nest-ui-comment.js.map +1 -1
  607. package/fesm2015/ng-nest-ui-container.js +32 -32
  608. package/fesm2015/ng-nest-ui-container.js.map +1 -1
  609. package/fesm2015/ng-nest-ui-core.js +106 -25
  610. package/fesm2015/ng-nest-ui-core.js.map +1 -1
  611. package/fesm2015/ng-nest-ui-crumb.js +13 -12
  612. package/fesm2015/ng-nest-ui-crumb.js.map +1 -1
  613. package/fesm2015/ng-nest-ui-date-picker.js +325 -186
  614. package/fesm2015/ng-nest-ui-date-picker.js.map +1 -1
  615. package/fesm2015/ng-nest-ui-description.js +21 -22
  616. package/fesm2015/ng-nest-ui-description.js.map +1 -1
  617. package/fesm2015/ng-nest-ui-dialog.js +263 -33
  618. package/fesm2015/ng-nest-ui-dialog.js.map +1 -1
  619. package/fesm2015/ng-nest-ui-doc.js +7 -7
  620. package/fesm2015/ng-nest-ui-drawer.js +232 -20
  621. package/fesm2015/ng-nest-ui-drawer.js.map +1 -1
  622. package/fesm2015/ng-nest-ui-dropdown.js +17 -16
  623. package/fesm2015/ng-nest-ui-dropdown.js.map +1 -1
  624. package/fesm2015/ng-nest-ui-empty.js +10 -10
  625. package/fesm2015/ng-nest-ui-examples.js +7 -7
  626. package/fesm2015/ng-nest-ui-find.js +16 -15
  627. package/fesm2015/ng-nest-ui-find.js.map +1 -1
  628. package/fesm2015/ng-nest-ui-form.js +22 -26
  629. package/fesm2015/ng-nest-ui-form.js.map +1 -1
  630. package/fesm2015/ng-nest-ui-highlight.js +12 -11
  631. package/fesm2015/ng-nest-ui-highlight.js.map +1 -1
  632. package/fesm2015/ng-nest-ui-i18n.js +532 -131
  633. package/fesm2015/ng-nest-ui-i18n.js.map +1 -1
  634. package/fesm2015/ng-nest-ui-icon.js +18 -18
  635. package/fesm2015/ng-nest-ui-icon.js.map +1 -1
  636. package/fesm2015/ng-nest-ui-inner.js +11 -11
  637. package/fesm2015/ng-nest-ui-inner.js.map +1 -1
  638. package/fesm2015/ng-nest-ui-input-number.js +10 -10
  639. package/fesm2015/ng-nest-ui-input.js +38 -21
  640. package/fesm2015/ng-nest-ui-input.js.map +1 -1
  641. package/fesm2015/ng-nest-ui-layout.js +16 -16
  642. package/fesm2015/ng-nest-ui-link.js +10 -10
  643. package/fesm2015/ng-nest-ui-list.js +20 -19
  644. package/fesm2015/ng-nest-ui-list.js.map +1 -1
  645. package/fesm2015/ng-nest-ui-loading.js +12 -11
  646. package/fesm2015/ng-nest-ui-loading.js.map +1 -1
  647. package/fesm2015/ng-nest-ui-menu.js +22 -22
  648. package/fesm2015/ng-nest-ui-menu.js.map +1 -1
  649. package/fesm2015/ng-nest-ui-message-box.js +32 -34
  650. package/fesm2015/ng-nest-ui-message-box.js.map +1 -1
  651. package/fesm2015/ng-nest-ui-message.js +14 -14
  652. package/fesm2015/ng-nest-ui-message.js.map +1 -1
  653. package/fesm2015/ng-nest-ui-notification.js +11 -11
  654. package/fesm2015/ng-nest-ui-notification.js.map +1 -1
  655. package/fesm2015/ng-nest-ui-outlet.js +7 -7
  656. package/fesm2015/ng-nest-ui-page-header.js +10 -10
  657. package/fesm2015/ng-nest-ui-pagination.js +104 -14
  658. package/fesm2015/ng-nest-ui-pagination.js.map +1 -1
  659. package/fesm2015/ng-nest-ui-pattern.js +7 -7
  660. package/fesm2015/ng-nest-ui-popconfirm.js +10 -10
  661. package/fesm2015/ng-nest-ui-popover.js +16 -15
  662. package/fesm2015/ng-nest-ui-popover.js.map +1 -1
  663. package/fesm2015/ng-nest-ui-portal.js +15 -15
  664. package/fesm2015/ng-nest-ui-portal.js.map +1 -1
  665. package/fesm2015/ng-nest-ui-progress.js +234 -25
  666. package/fesm2015/ng-nest-ui-progress.js.map +1 -1
  667. package/fesm2015/ng-nest-ui-radio.js +13 -12
  668. package/fesm2015/ng-nest-ui-radio.js.map +1 -1
  669. package/fesm2015/ng-nest-ui-rate.js +15 -15
  670. package/fesm2015/ng-nest-ui-rate.js.map +1 -1
  671. package/fesm2015/ng-nest-ui-result.js +10 -10
  672. package/fesm2015/ng-nest-ui-ripple.js +10 -10
  673. package/fesm2015/ng-nest-ui-ripple.js.map +1 -1
  674. package/fesm2015/ng-nest-ui-select.js +37 -22
  675. package/fesm2015/ng-nest-ui-select.js.map +1 -1
  676. package/fesm2015/ng-nest-ui-skeleton.js +12 -11
  677. package/fesm2015/ng-nest-ui-skeleton.js.map +1 -1
  678. package/fesm2015/ng-nest-ui-slider-select.js +10 -10
  679. package/fesm2015/ng-nest-ui-slider.js +17 -18
  680. package/fesm2015/ng-nest-ui-slider.js.map +1 -1
  681. package/fesm2015/ng-nest-ui-statistic.js +22 -20
  682. package/fesm2015/ng-nest-ui-statistic.js.map +1 -1
  683. package/fesm2015/ng-nest-ui-steps.js +38 -21
  684. package/fesm2015/ng-nest-ui-steps.js.map +1 -1
  685. package/fesm2015/ng-nest-ui-switch.js +10 -10
  686. package/fesm2015/ng-nest-ui-table.js +43 -40
  687. package/fesm2015/ng-nest-ui-table.js.map +1 -1
  688. package/fesm2015/ng-nest-ui-tabs.js +24 -23
  689. package/fesm2015/ng-nest-ui-tabs.js.map +1 -1
  690. package/fesm2015/ng-nest-ui-tag.js +12 -11
  691. package/fesm2015/ng-nest-ui-tag.js.map +1 -1
  692. package/fesm2015/ng-nest-ui-text-retract.js +12 -11
  693. package/fesm2015/ng-nest-ui-text-retract.js.map +1 -1
  694. package/fesm2015/ng-nest-ui-textarea.js +12 -21
  695. package/fesm2015/ng-nest-ui-textarea.js.map +1 -1
  696. package/fesm2015/ng-nest-ui-theme.js +11 -11
  697. package/fesm2015/ng-nest-ui-theme.js.map +1 -1
  698. package/fesm2015/ng-nest-ui-time-ago.js +7 -7
  699. package/fesm2015/ng-nest-ui-time-picker.js +73 -36
  700. package/fesm2015/ng-nest-ui-time-picker.js.map +1 -1
  701. package/fesm2015/ng-nest-ui-time-range.js +7 -7
  702. package/fesm2015/ng-nest-ui-timeline.js +13 -12
  703. package/fesm2015/ng-nest-ui-timeline.js.map +1 -1
  704. package/fesm2015/ng-nest-ui-tooltip.js +16 -15
  705. package/fesm2015/ng-nest-ui-tooltip.js.map +1 -1
  706. package/fesm2015/ng-nest-ui-transfer.js +13 -12
  707. package/fesm2015/ng-nest-ui-transfer.js.map +1 -1
  708. package/fesm2015/ng-nest-ui-tree-file.js +10 -10
  709. package/fesm2015/ng-nest-ui-tree.js +24 -23
  710. package/fesm2015/ng-nest-ui-tree.js.map +1 -1
  711. package/fesm2015/ng-nest-ui-typography.js +10 -10
  712. package/fesm2015/ng-nest-ui-upload.js +17 -16
  713. package/fesm2015/ng-nest-ui-upload.js.map +1 -1
  714. package/find/find.component.d.ts +1 -1
  715. package/form/control.component.d.ts +1 -1
  716. package/form/form.component.d.ts +1 -1
  717. package/form/form.property.d.ts +6 -6
  718. package/i18n/languages/ar_EG.d.ts +8 -0
  719. package/i18n/languages/bg_BG.d.ts +8 -0
  720. package/i18n/languages/ca_ES.d.ts +8 -0
  721. package/i18n/languages/cs_CZ.d.ts +8 -0
  722. package/i18n/languages/da_DK.d.ts +8 -0
  723. package/i18n/languages/de_DE.d.ts +8 -0
  724. package/i18n/languages/el_GR.d.ts +8 -0
  725. package/i18n/languages/en_GB.d.ts +8 -0
  726. package/i18n/languages/en_US.d.ts +5 -0
  727. package/i18n/languages/es_ES.d.ts +8 -0
  728. package/i18n/languages/et_EE.d.ts +8 -0
  729. package/i18n/languages/fa_IR.d.ts +8 -0
  730. package/i18n/languages/fi_FI.d.ts +8 -0
  731. package/i18n/languages/fr_BE.d.ts +8 -0
  732. package/i18n/languages/fr_FR.d.ts +8 -0
  733. package/i18n/languages/he_IL.d.ts +8 -0
  734. package/i18n/languages/hi_IN.d.ts +8 -0
  735. package/i18n/languages/hr_HR.d.ts +8 -0
  736. package/i18n/languages/hu_HU.d.ts +8 -0
  737. package/i18n/languages/hy_AM.d.ts +8 -0
  738. package/i18n/languages/id_ID.d.ts +8 -0
  739. package/i18n/languages/is_IS.d.ts +8 -0
  740. package/i18n/languages/it_IT.d.ts +8 -0
  741. package/i18n/languages/ja_JP.d.ts +8 -0
  742. package/i18n/languages/ka_GE.d.ts +8 -0
  743. package/i18n/languages/kn_IN.d.ts +8 -0
  744. package/i18n/languages/ko_KR.d.ts +8 -0
  745. package/i18n/languages/ku_IQ.d.ts +8 -0
  746. package/i18n/languages/lv_LV.d.ts +8 -0
  747. package/i18n/languages/mn_MN.d.ts +8 -0
  748. package/i18n/languages/ms_MY.d.ts +8 -0
  749. package/i18n/languages/nb_NO.d.ts +8 -0
  750. package/i18n/languages/ne_NP.d.ts +8 -0
  751. package/i18n/languages/nl_BE.d.ts +8 -0
  752. package/i18n/languages/nl_NL.d.ts +8 -0
  753. package/i18n/languages/pl_PL.d.ts +8 -0
  754. package/i18n/languages/pt_BR.d.ts +8 -0
  755. package/i18n/languages/pt_PT.d.ts +8 -0
  756. package/i18n/languages/ro_RO.d.ts +8 -0
  757. package/i18n/languages/ru_RU.d.ts +8 -0
  758. package/i18n/languages/sk_SK.d.ts +8 -0
  759. package/i18n/languages/sl_SI.d.ts +8 -0
  760. package/i18n/languages/sr_RS.d.ts +8 -0
  761. package/i18n/languages/sv_SE.d.ts +8 -0
  762. package/i18n/languages/ta_IN.d.ts +8 -0
  763. package/i18n/languages/th_TH.d.ts +8 -0
  764. package/i18n/languages/tr_TR.d.ts +8 -0
  765. package/i18n/languages/uk_UA.d.ts +8 -0
  766. package/i18n/languages/vi_VN.d.ts +8 -0
  767. package/i18n/languages/zh_CN.d.ts +4 -0
  768. package/i18n/languages/zh_TW.d.ts +7 -0
  769. package/inner/inner.component.d.ts +1 -1
  770. package/input/input-group.component.d.ts +2 -4
  771. package/input/input.component.d.ts +3 -1
  772. package/input/input.property.d.ts +6 -1
  773. package/list/list.component.d.ts +2 -2
  774. package/menu/menu.component.d.ts +1 -1
  775. package/message/message.component.d.ts +1 -1
  776. package/message/message.property.d.ts +1 -1
  777. package/message-box/message-box.component.d.ts +2 -1
  778. package/notification/notification.component.d.ts +1 -1
  779. package/package.json +1 -1
  780. package/pagination/pagination.component.d.ts +5 -1
  781. package/pagination/pagination.module.d.ts +7 -3
  782. package/pagination/pagination.property.d.ts +49 -3
  783. package/portal/portal.module.d.ts +1 -1
  784. package/portal/portal.service.d.ts +2 -3
  785. package/progress/progress.component.d.ts +31 -3
  786. package/progress/progress.property.d.ts +80 -5
  787. package/radio/radio.component.d.ts +1 -1
  788. package/rate/rate.component.d.ts +5 -5
  789. package/select/select-portal.component.d.ts +3 -3
  790. package/select/select.component.d.ts +1 -1
  791. package/select/select.property.d.ts +12 -2
  792. package/slider/slider.component.d.ts +1 -1
  793. package/steps/steps.component.d.ts +1 -1
  794. package/steps/steps.module.d.ts +2 -1
  795. package/steps/steps.property.d.ts +12 -2
  796. package/table/table-body.component.d.ts +1 -1
  797. package/table/table-head.component.d.ts +1 -1
  798. package/table/table.component.d.ts +1 -1
  799. package/table/table.property.d.ts +11 -1
  800. package/textarea/textarea.property.d.ts +1 -6
  801. package/theme/theme.component.d.ts +1 -1
  802. package/time-picker/time-picker-frame.component.d.ts +4 -0
  803. package/time-picker/time-picker-portal.component.d.ts +3 -3
  804. package/time-picker/time-picker.component.d.ts +5 -3
  805. package/time-picker/time-picker.property.d.ts +12 -2
  806. package/timeline/timeline.component.d.ts +1 -1
  807. package/transfer/transfer.component.d.ts +1 -1
  808. package/tree/tree-node.component.d.ts +1 -1
  809. package/tree/tree.component.d.ts +1 -1
  810. package/upload/upload.component.d.ts +3 -3
@@ -1,14 +1,14 @@
1
1
  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
- import * as i1 from '@ng-nest/ui/core';
5
- import { XWithConfig, XInputBoolean, XDataConvert, XProperty, XIsChange, chunk, XIsEmpty, XAddDays, XConnectBaseAnimation, XIsDate, XIsNumber, XIsString, XClearClass } from '@ng-nest/ui/core';
4
+ import * as i2 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';
9
- import * as i1$1 from '@angular/common';
8
+ import { map, takeUntil } from 'rxjs/operators';
9
+ import * as i1 from '@angular/common';
10
10
  import { DatePipe, LowerCasePipe, CommonModule } from '@angular/common';
11
- import * as i2 from '@ng-nest/ui/i18n';
11
+ import * as i3 from '@ng-nest/ui/i18n';
12
12
  import { XI18nModule } from '@ng-nest/ui/i18n';
13
13
  import * as i4 from '@ng-nest/ui/button';
14
14
  import { XButtonModule } from '@ng-nest/ui/button';
@@ -54,8 +54,8 @@ class XDatePickerProperty extends XControlValueAccessor {
54
54
  this.nodeEmit = new EventEmitter();
55
55
  }
56
56
  }
57
- /** @nocollapse */ XDatePickerProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDatePickerProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
58
- /** @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", valueTpl: "valueTpl", valueTplContext: "valueTplContext", size: "size", bordered: "bordered", preset: "preset" }, 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 });
59
59
  __decorate([
60
60
  XWithConfig(X_CONFIG_NAME, 'yyyy-MM-dd')
61
61
  ], XDatePickerProperty.prototype, "format", void 0);
@@ -66,9 +66,6 @@ __decorate([
66
66
  __decorate([
67
67
  XWithConfig(X_CONFIG_NAME, 'bottom-start')
68
68
  ], XDatePickerProperty.prototype, "placement", void 0);
69
- __decorate([
70
- XInputBoolean()
71
- ], XDatePickerProperty.prototype, "readonly", void 0);
72
69
  __decorate([
73
70
  XWithConfig(X_CONFIG_NAME, 'medium')
74
71
  ], XDatePickerProperty.prototype, "size", void 0);
@@ -79,7 +76,7 @@ __decorate([
79
76
  __decorate([
80
77
  XDataConvert()
81
78
  ], XDatePickerProperty.prototype, "preset", void 0);
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDatePickerProperty, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDatePickerProperty, decorators: [{
83
80
  type: Component,
84
81
  args: [{ template: '' }]
85
82
  }], propDecorators: { type: [{
@@ -90,12 +87,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
90
87
  type: Input
91
88
  }], placement: [{
92
89
  type: Input
93
- }], readonly: [{
94
- type: Input
95
- }], valueTpl: [{
96
- type: Input
97
- }], valueTplContext: [{
98
- type: Input
99
90
  }], size: [{
100
91
  type: Input
101
92
  }], bordered: [{
@@ -111,7 +102,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
111
102
  * @decorator component
112
103
  */
113
104
  const XDateRangePrefix = 'x-date-range';
114
- const X_CONFIG_Range_NAME = 'dateRange';
105
+ const X_CONFIG_RANGE_NAME = 'dateRange';
115
106
  /**
116
107
  * DateRange Property
117
108
  */
@@ -135,29 +126,29 @@ class XDateRangeProperty extends XControlValueAccessor {
135
126
  this.nodeEmit = new EventEmitter();
136
127
  }
137
128
  }
138
- /** @nocollapse */ XDateRangeProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDateRangeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
139
- /** @nocollapse */ XDateRangeProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", 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 });
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 });
140
131
  __decorate([
141
- XWithConfig(X_CONFIG_NAME, 'yyyy-MM-dd')
132
+ XWithConfig(X_CONFIG_RANGE_NAME, 'yyyy-MM-dd')
142
133
  ], XDateRangeProperty.prototype, "format", void 0);
143
134
  __decorate([
144
- XWithConfig(X_CONFIG_NAME, true),
135
+ XWithConfig(X_CONFIG_RANGE_NAME, true),
145
136
  XInputBoolean()
146
137
  ], XDateRangeProperty.prototype, "clearable", void 0);
147
138
  __decorate([
148
- XWithConfig(X_CONFIG_NAME, 'bottom-start')
139
+ XWithConfig(X_CONFIG_RANGE_NAME, 'bottom-start')
149
140
  ], XDateRangeProperty.prototype, "placement", void 0);
150
141
  __decorate([
151
- XWithConfig(X_CONFIG_NAME, 'medium')
142
+ XWithConfig(X_CONFIG_RANGE_NAME, 'medium')
152
143
  ], XDateRangeProperty.prototype, "size", void 0);
153
144
  __decorate([
154
145
  XInputBoolean(),
155
- XWithConfig(X_CONFIG_NAME, true)
146
+ XWithConfig(X_CONFIG_RANGE_NAME, true)
156
147
  ], XDateRangeProperty.prototype, "bordered", void 0);
157
148
  __decorate([
158
149
  XDataConvert()
159
150
  ], XDateRangeProperty.prototype, "preset", void 0);
160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDateRangeProperty, decorators: [{
151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDateRangeProperty, decorators: [{
161
152
  type: Component,
162
153
  args: [{ template: '' }]
163
154
  }], propDecorators: { type: [{
@@ -201,11 +192,26 @@ const XPickerDatePrefix = 'x-picker-date';
201
192
  class XPickerDateProperty extends XProperty {
202
193
  constructor() {
203
194
  super(...arguments);
195
+ /**
196
+ * @zh_CN 选择类型
197
+ * @en_US Select type
198
+ */
199
+ this.type = 'date';
204
200
  /**
205
201
  * @zh_CN 显示的日期
206
202
  * @en_US Date displayed
207
203
  */
208
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();
209
215
  /**
210
216
  * @zh_CN 选中的事件
211
217
  * @en_US Selected event
@@ -218,17 +224,31 @@ class XPickerDateProperty extends XProperty {
218
224
  this.rangeChange = new EventEmitter();
219
225
  }
220
226
  }
221
- /** @nocollapse */ XPickerDateProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPickerDateProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
222
- /** @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 });
223
- 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: [{
224
236
  type: Component,
225
237
  args: [{ template: '' }]
226
- }], propDecorators: { display: [{
238
+ }], propDecorators: { type: [{
239
+ type: Input
240
+ }], display: [{
227
241
  type: Input
228
242
  }], model: [{
229
243
  type: Input
230
244
  }], dateTemp: [{
231
245
  type: Input
246
+ }], showHeader: [{
247
+ type: Input
248
+ }], rangePicker: [{
249
+ type: Input
250
+ }], typeChange: [{
251
+ type: Output
232
252
  }], modelChange: [{
233
253
  type: Output
234
254
  }], rangeChange: [{
@@ -246,16 +266,31 @@ const XPickerMonthPrefix = 'x-picker-month';
246
266
  class XPickerMonthProperty extends XProperty {
247
267
  constructor() {
248
268
  super(...arguments);
269
+ /**
270
+ * @zh_CN 选择类型
271
+ * @en_US Select type
272
+ */
273
+ this.type = 'date';
249
274
  /**
250
275
  * @zh_CN 显示的日期
251
276
  * @en_US Date displayed
252
277
  */
253
278
  this.display = new Date();
279
+ /**
280
+ * @zh_CN 显示切换按钮
281
+ * @en_US Display switch button
282
+ */
283
+ this.showHeader = true;
254
284
  /**
255
285
  * @zh_CN 选中的事件
256
286
  * @en_US Selected event
257
287
  */
258
288
  this.modelChange = new EventEmitter();
289
+ /**
290
+ * @zh_CN 选择类型
291
+ * @en_US Select type
292
+ */
293
+ this.typeChange = new EventEmitter();
259
294
  /**
260
295
  * @zh_CN 范围变化的事件
261
296
  * @en_US Scope change event
@@ -263,19 +298,28 @@ class XPickerMonthProperty extends XProperty {
263
298
  this.rangeChange = new EventEmitter();
264
299
  }
265
300
  }
266
- /** @nocollapse */ XPickerMonthProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPickerMonthProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
267
- /** @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 });
268
- 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: [{
269
307
  type: Component,
270
308
  args: [{ template: '' }]
271
- }], propDecorators: { display: [{
309
+ }], propDecorators: { type: [{
310
+ type: Input
311
+ }], display: [{
272
312
  type: Input
273
313
  }], model: [{
274
314
  type: Input
275
315
  }], monthTemp: [{
276
316
  type: Input
317
+ }], showHeader: [{
318
+ type: Input
277
319
  }], modelChange: [{
278
320
  type: Output
321
+ }], typeChange: [{
322
+ type: Output
279
323
  }], rangeChange: [{
280
324
  type: Output
281
325
  }] } });
@@ -291,16 +335,31 @@ const XPickerYearPrefix = 'x-picker-year';
291
335
  class XPickerYearProperty extends XProperty {
292
336
  constructor() {
293
337
  super(...arguments);
338
+ /**
339
+ * @zh_CN 选择类型
340
+ * @en_US Select type
341
+ */
342
+ this.type = 'date';
294
343
  /**
295
344
  * @zh_CN 显示的日期
296
345
  * @en_US Date displayed
297
346
  */
298
347
  this.display = new Date();
348
+ /**
349
+ * @zh_CN 显示切换按钮
350
+ * @en_US Display switch button
351
+ */
352
+ this.showHeader = true;
299
353
  /**
300
354
  * @zh_CN 选中的事件
301
355
  * @en_US Selected event
302
356
  */
303
357
  this.modelChange = new EventEmitter();
358
+ /**
359
+ * @zh_CN 选择类型
360
+ * @en_US Select type
361
+ */
362
+ this.typeChange = new EventEmitter();
304
363
  /**
305
364
  * @zh_CN 开始年份变化的事件
306
365
  * @en_US Start year change event
@@ -308,25 +367,36 @@ class XPickerYearProperty extends XProperty {
308
367
  this.startChange = new EventEmitter();
309
368
  }
310
369
  }
311
- /** @nocollapse */ XPickerYearProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPickerYearProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
312
- /** @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 });
313
- 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: [{
314
376
  type: Component,
315
377
  args: [{ template: '' }]
316
- }], propDecorators: { display: [{
378
+ }], propDecorators: { type: [{
379
+ type: Input
380
+ }], display: [{
317
381
  type: Input
318
382
  }], model: [{
319
383
  type: Input
384
+ }], showHeader: [{
385
+ type: Input
320
386
  }], modelChange: [{
321
387
  type: Output
388
+ }], typeChange: [{
389
+ type: Output
322
390
  }], startChange: [{
323
391
  type: Output
324
392
  }] } });
325
393
 
326
394
  class XPickerDateComponent extends XPickerDateProperty {
327
- constructor(renderer, cdr, configService, i18n) {
395
+ constructor(renderer, datePipe, lowerCasePipe, cdr, configService, i18n) {
328
396
  super();
329
397
  this.renderer = renderer;
398
+ this.datePipe = datePipe;
399
+ this.lowerCasePipe = lowerCasePipe;
330
400
  this.cdr = cdr;
331
401
  this.configService = configService;
332
402
  this.i18n = i18n;
@@ -341,13 +411,20 @@ class XPickerDateComponent extends XPickerDateProperty {
341
411
  ];
342
412
  this.now = new Date();
343
413
  this.dates = [];
414
+ this.locale = {};
344
415
  this._unSubject = new Subject();
345
416
  }
346
417
  ngOnInit() {
347
- 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
+ });
348
424
  }
349
425
  ngOnChanges(simples) {
350
- XIsChange(simples.display) && this.init();
426
+ const { display } = simples;
427
+ XIsChange(display) && this.init();
351
428
  }
352
429
  ngOnDestory() {
353
430
  this._unSubject.next();
@@ -397,22 +474,47 @@ class XPickerDateComponent extends XPickerDateProperty {
397
474
  this.modelChange.emit(date);
398
475
  this.cdr.markForCheck();
399
476
  }
400
- 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) {
401
502
  return item;
402
503
  }
403
504
  }
404
- /** @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: i1.XConfigService }, { token: i2.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
405
- /** @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: i4.XButtonComponent, selector: "x-button" }], directives: [{ type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "xI18n": i2.XI18nPipe, "date": i1$1.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
406
- 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: [{
407
508
  type: Component,
408
509
  args: [{
409
510
  selector: `${XPickerDatePrefix}`,
410
511
  templateUrl: './picker-date.component.html',
411
512
  styleUrls: ['./picker-date.component.scss'],
412
513
  encapsulation: ViewEncapsulation.None,
413
- changeDetection: ChangeDetectionStrategy.OnPush
514
+ changeDetection: ChangeDetectionStrategy.OnPush,
515
+ providers: [DatePipe, LowerCasePipe]
414
516
  }]
415
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }, { type: i2.XI18nService }]; } });
517
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i2.XConfigService }, { type: i3.XI18nService }]; } });
416
518
 
417
519
  class XPickerMonthComponent extends XPickerMonthProperty {
418
520
  constructor(renderer, datePipe, lowerCasePipe, cdr, configService, i18n) {
@@ -437,13 +539,14 @@ class XPickerMonthComponent extends XPickerMonthProperty {
437
539
  });
438
540
  }
439
541
  ngOnChanges(simples) {
440
- XIsChange(simples.display) && this.init();
542
+ const { display } = simples;
543
+ XIsChange(display) && this.init();
441
544
  }
442
545
  init() {
443
- this.setMonths();
546
+ this.setMonths(this.display);
444
547
  }
445
- setMonths() {
446
- let year = this.display.getFullYear();
548
+ setMonths(date) {
549
+ let year = date.getFullYear();
447
550
  let dates = [];
448
551
  for (let i = 0; i < 16; i++) {
449
552
  dates = [...dates, new Date(year, i, 1)];
@@ -461,13 +564,28 @@ class XPickerMonthComponent extends XPickerMonthProperty {
461
564
  getLocaleMonth(date) {
462
565
  return this.locale[this.lowerCasePipe.transform(this.datePipe.transform(date, 'LLLL'))];
463
566
  }
464
- 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) {
465
583
  return item;
466
584
  }
467
585
  }
468
- /** @nocollapse */ XPickerMonthComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPickerMonthComponent, deps: [{ token: i0.Renderer2 }, { token: i1$1.DatePipe }, { token: i1$1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }, { token: i2.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
469
- /** @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: i4.XButtonComponent, selector: "x-button" }], directives: [{ type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "date": i1$1.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
470
- 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: [{
471
589
  type: Component,
472
590
  args: [{
473
591
  selector: 'x-picker-month',
@@ -477,7 +595,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
477
595
  changeDetection: ChangeDetectionStrategy.OnPush,
478
596
  providers: [DatePipe, LowerCasePipe]
479
597
  }]
480
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1$1.DatePipe }, { type: i1$1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }, { type: i2.XI18nService }]; } });
598
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i2.XConfigService }, { type: i3.XI18nService }]; } });
481
599
 
482
600
  class XPickerYearComponent extends XPickerYearProperty {
483
601
  constructor(renderer, cdr, datePipe, configService) {
@@ -490,13 +608,14 @@ class XPickerYearComponent extends XPickerYearProperty {
490
608
  this.dates = [];
491
609
  }
492
610
  ngOnChanges(simples) {
493
- XIsChange(simples.display) && this.init();
611
+ const { display } = simples;
612
+ XIsChange(display) && this.init();
494
613
  }
495
614
  init() {
496
- this.setYears();
615
+ this.setYears(this.display);
497
616
  }
498
- setYears() {
499
- let year = this.display.getFullYear();
617
+ setYears(date) {
618
+ let year = date.getFullYear();
500
619
  this.start = Math.floor(year / 10) * 10;
501
620
  this.end = this.start + 9;
502
621
  let dates = [];
@@ -515,16 +634,27 @@ class XPickerYearComponent extends XPickerYearProperty {
515
634
  const yearStr = this.datePipe.transform(year, 'yyyy');
516
635
  return yearStr < `${this.start}` || yearStr > `${this.end}`;
517
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
+ }
518
648
  equalYear(one, two) {
519
649
  return this.datePipe.transform(one, 'yyyy') === this.datePipe.transform(two, 'yyyy');
520
650
  }
521
- trackByYear(index, item) {
651
+ trackByYear(_index, item) {
522
652
  return item;
523
653
  }
524
654
  }
525
- /** @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$1.DatePipe }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
526
- /** @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: i4.XButtonComponent, selector: "x-button" }], directives: [{ type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "date": i1$1.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
527
- 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: [{
528
658
  type: Component,
529
659
  args: [{
530
660
  selector: 'x-picker-year',
@@ -534,7 +664,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
534
664
  changeDetection: ChangeDetectionStrategy.OnPush,
535
665
  providers: [DatePipe]
536
666
  }]
537
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1$1.DatePipe }, { type: i1.XConfigService }]; } });
667
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.DatePipe }, { type: i2.XConfigService }]; } });
538
668
 
539
669
  class XDatePickerPortalComponent {
540
670
  constructor(datePipe, lowerCasePipe, cdr, i18n) {
@@ -545,6 +675,7 @@ class XDatePickerPortalComponent {
545
675
  this.type = 'date';
546
676
  this.display = new Date();
547
677
  this.locale = {};
678
+ this.time = new Date().getTime();
548
679
  this.preset = [];
549
680
  this._unSubject = new Subject();
550
681
  }
@@ -552,7 +683,7 @@ class XDatePickerPortalComponent {
552
683
  this.animating(false);
553
684
  event.toState === 'void' && this.destroyPortal();
554
685
  }
555
- start(event) {
686
+ start() {
556
687
  this.animating(true);
557
688
  }
558
689
  ngOnInit() {
@@ -582,12 +713,7 @@ class XDatePickerPortalComponent {
582
713
  if (!XIsEmpty(this.value)) {
583
714
  this.setDefault();
584
715
  }
585
- else {
586
- this.model = this.display;
587
- }
588
- this.time = this.model.getTime();
589
716
  this._type = this.type;
590
- this.setDisplay(this.model);
591
717
  this.cdr.detectChanges();
592
718
  }
593
719
  stopPropagation(event) {
@@ -596,6 +722,8 @@ class XDatePickerPortalComponent {
596
722
  setDefault() {
597
723
  const date = new Date(this.value);
598
724
  this.model = date;
725
+ this.time = this.model.getTime();
726
+ this.setDisplay(this.model);
599
727
  }
600
728
  setDisplay(date) {
601
729
  this.display = new Date(date.getFullYear(), date.getMonth(), 1);
@@ -603,18 +731,14 @@ class XDatePickerPortalComponent {
603
731
  dateChange(date) {
604
732
  this.setDisplay(date);
605
733
  this.model = date;
606
- this.setModel(this.model, new Date(this.time));
607
734
  if (['date-time', 'date-hour', 'date-minute'].includes(this._type)) {
735
+ this.setModelTime(this.model, new Date(this.time));
608
736
  this.nodeEmit(this.model, false);
609
737
  }
610
738
  else {
611
739
  this.nodeEmit(this.model);
612
740
  }
613
741
  }
614
- typeChange(type) {
615
- this.type = type;
616
- this.cdr.detectChanges();
617
- }
618
742
  monthChange(date) {
619
743
  this.setDisplay(date);
620
744
  if (this._type === 'month') {
@@ -637,32 +761,6 @@ class XDatePickerPortalComponent {
637
761
  }
638
762
  this.cdr.detectChanges();
639
763
  }
640
- yearStartChange(number) {
641
- this.startYear = number;
642
- this.cdr.detectChanges();
643
- }
644
- nextMonth(num) {
645
- let date = new Date(this.display);
646
- date.setMonth(date.getMonth() + num);
647
- this.setDisplay(date);
648
- this.cdr.detectChanges();
649
- }
650
- nextYear(num) {
651
- let date = new Date(this.display);
652
- date.setFullYear(date.getFullYear() + num);
653
- this.setDisplay(date);
654
- this.cdr.detectChanges();
655
- }
656
- nextYears(num) {
657
- this.startYear += num;
658
- let date = new Date(this.display);
659
- date.setFullYear(this.startYear);
660
- this.setDisplay(date);
661
- this.cdr.detectChanges();
662
- }
663
- getLocaleMonth(date) {
664
- return this.locale[this.lowerCasePipe.transform(this.datePipe.transform(date, 'LLLL'))];
665
- }
666
764
  onToday() {
667
765
  this.dateChange(new Date());
668
766
  }
@@ -677,17 +775,17 @@ class XDatePickerPortalComponent {
677
775
  }
678
776
  selectTime(time) {
679
777
  this.time = time.getTime();
680
- this.nodeEmit(this.setModel(this.model, time), false);
778
+ this.nodeEmit(this.setModelTime(this.model, time), false);
681
779
  this.cdr.detectChanges();
682
780
  }
683
- setModel(date, time) {
781
+ setModelTime(date, time) {
684
782
  this.model = new Date(date.getFullYear(), date.getMonth(), date.getDate(), time.getHours(), time.getMinutes(), time.getSeconds());
685
783
  return this.model;
686
784
  }
687
785
  }
688
- /** @nocollapse */ XDatePickerPortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDatePickerPortalComponent, deps: [{ token: i1$1.DatePipe }, { token: i1$1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i2.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
689
- /** @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 <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 <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-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-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: 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$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "date": i1$1.DatePipe }, animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
690
- 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: [{
691
789
  type: Component,
692
790
  args: [{
693
791
  selector: `${XDatePickerPortalPrefix}`,
@@ -698,7 +796,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
698
796
  animations: [XConnectBaseAnimation],
699
797
  providers: [DatePipe, LowerCasePipe]
700
798
  }]
701
- }], ctorParameters: function () { return [{ type: i1$1.DatePipe }, { type: i1$1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i2.XI18nService }]; }, propDecorators: { placement: [{
799
+ }], ctorParameters: function () { return [{ type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i3.XI18nService }]; }, propDecorators: { placement: [{
702
800
  type: HostBinding,
703
801
  args: ['@x-connect-base-animation']
704
802
  }], done: [{
@@ -710,11 +808,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
710
808
  }] } });
711
809
 
712
810
  class XDatePickerComponent extends XDatePickerProperty {
713
- constructor(renderer, configService, elementRef, cdr, portalService, viewContainerRef, datePipe, overlay) {
811
+ constructor(renderer, configService, cdr, portalService, viewContainerRef, datePipe, overlay) {
714
812
  super();
715
813
  this.renderer = renderer;
716
814
  this.configService = configService;
717
- this.elementRef = elementRef;
718
815
  this.cdr = cdr;
719
816
  this.portalService = portalService;
720
817
  this.viewContainerRef = viewContainerRef;
@@ -767,7 +864,8 @@ class XDatePickerComponent extends XDatePickerProperty {
767
864
  this.setPortal();
768
865
  }
769
866
  ngOnChanges(changes) {
770
- if (XIsChange(changes.type)) {
867
+ const { type } = changes;
868
+ if (XIsChange(type)) {
771
869
  this.setFormat();
772
870
  this.setDisplayValue(this.numberValue);
773
871
  }
@@ -777,7 +875,7 @@ class XDatePickerComponent extends XDatePickerProperty {
777
875
  this._unSubject.unsubscribe();
778
876
  }
779
877
  setSubject() {
780
- this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe((x) => {
878
+ this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe(() => {
781
879
  this.closePortal();
782
880
  });
783
881
  }
@@ -837,11 +935,7 @@ class XDatePickerComponent extends XDatePickerProperty {
837
935
  }
838
936
  }
839
937
  getValue() {
840
- return this.modelType === 'date'
841
- ? new Date(this.numberValue)
842
- : this.modelType === 'string'
843
- ? this.datePipe.transform(this.numberValue, this.format)
844
- : this.numberValue;
938
+ return ['date', 'string'].includes(this.modelType) ? new Date(this.numberValue) : this.numberValue;
845
939
  }
846
940
  portalAttached() {
847
941
  var _a, _b;
@@ -851,6 +945,7 @@ class XDatePickerComponent extends XDatePickerProperty {
851
945
  var _a, _b;
852
946
  if (this.portalAttached()) {
853
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;
854
949
  this.cdr.detectChanges();
855
950
  return true;
856
951
  }
@@ -864,6 +959,7 @@ class XDatePickerComponent extends XDatePickerProperty {
864
959
  var _a;
865
960
  if (this.disabled || this.animating)
866
961
  return;
962
+ this.active = true;
867
963
  const config = {
868
964
  backdropClass: '',
869
965
  positionStrategy: this.setPlacement(),
@@ -900,6 +996,7 @@ class XDatePickerComponent extends XDatePickerProperty {
900
996
  preset: this.preset,
901
997
  valueChange: this.valueChange,
902
998
  positionChange: this.positionChange,
999
+ inputCom: this.inputCom,
903
1000
  closePortal: () => this.closeSubject.next(),
904
1001
  destroyPortal: () => this.destroyPortal(),
905
1002
  nodeEmit: (node, sure = true) => this.onNodeClick(node, sure),
@@ -957,9 +1054,9 @@ class XDatePickerComponent extends XDatePickerProperty {
957
1054
  this.cdr.detectChanges();
958
1055
  }
959
1056
  }
960
- /** @nocollapse */ XDatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDatePickerComponent, deps: [{ token: i0.Renderer2 }, { token: i1.XConfigService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i2$1.XPortalService }, { token: i0.ViewContainerRef }, { token: i1$1.DatePipe }, { token: i4$1.Overlay }], target: i0.ɵɵFactoryTarget.Component });
961
- /** @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 #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 (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: ["x-date-picker{display:inline-block}.x-date-picker{margin:0;padding:0;width:100%}"], 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 });
962
- 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: [{
963
1060
  type: Component,
964
1061
  args: [{
965
1062
  selector: `${XDatePickerPrefix}`,
@@ -969,7 +1066,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
969
1066
  changeDetection: ChangeDetectionStrategy.OnPush,
970
1067
  providers: [XValueAccessor(XDatePickerComponent), DatePipe]
971
1068
  }]
972
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.XConfigService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i2$1.XPortalService }, { type: i0.ViewContainerRef }, { type: i1$1.DatePipe }, { type: i4$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: [{
973
1070
  type: ViewChild,
974
1071
  args: ['datePicker', { static: true }]
975
1072
  }], inputCom: [{
@@ -985,6 +1082,9 @@ class XDateRangePortalComponent {
985
1082
  this.i18n = i18n;
986
1083
  this.type = 'date';
987
1084
  this.display = new Date();
1085
+ this.startDisplay = new Date();
1086
+ this.endDisplay = XAddMonths(this.startDisplay, 1);
1087
+ this.value = [];
988
1088
  this.locale = {};
989
1089
  this.preset = [];
990
1090
  this._unSubject = new Subject();
@@ -993,7 +1093,7 @@ class XDateRangePortalComponent {
993
1093
  this.animating(false);
994
1094
  event.toState === 'void' && this.destroyPortal();
995
1095
  }
996
- start(event) {
1096
+ start() {
997
1097
  this.animating(true);
998
1098
  }
999
1099
  ngOnInit() {
@@ -1024,7 +1124,10 @@ class XDateRangePortalComponent {
1024
1124
  this.setDefault();
1025
1125
  }
1026
1126
  else {
1127
+ this.value = [];
1027
1128
  this.model = this.display;
1129
+ this.startModel = this.model;
1130
+ this.endModel = XAddMonths(this.model, 1);
1028
1131
  }
1029
1132
  this.time = this.model.getTime();
1030
1133
  this._type = this.type;
@@ -1035,21 +1138,39 @@ class XDateRangePortalComponent {
1035
1138
  event.stopPropagation();
1036
1139
  }
1037
1140
  setDefault() {
1038
- const date = new Date(this.value);
1141
+ const date = new Date();
1039
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
+ }
1040
1151
  }
1041
1152
  setDisplay(date) {
1042
1153
  this.display = new Date(date.getFullYear(), date.getMonth(), 1);
1154
+ this.startDisplay = this.display;
1155
+ this.endDisplay = XAddMonths(this.display, 1);
1043
1156
  }
1044
1157
  dateChange(date) {
1045
- this.setDisplay(date);
1046
- this.model = date;
1047
- this.setModel(this.model, new Date(this.time));
1048
- if (['date-time', 'date-hour', 'date-minute'].includes(this._type)) {
1049
- this.nodeEmit(this.model, false);
1158
+ let time = date.getTime();
1159
+ if (this.value.length === 0) {
1160
+ this.value.push(time);
1161
+ this.startNodeEmit(date);
1050
1162
  }
1051
- else {
1052
- this.nodeEmit(this.model);
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)));
1053
1174
  }
1054
1175
  }
1055
1176
  typeChange(type) {
@@ -1060,7 +1181,7 @@ class XDateRangePortalComponent {
1060
1181
  this.setDisplay(date);
1061
1182
  if (this._type === 'month') {
1062
1183
  this.model = date;
1063
- this.nodeEmit(date);
1184
+ // this.nodeEmit(date);
1064
1185
  }
1065
1186
  else {
1066
1187
  this.type = this._type;
@@ -1071,7 +1192,7 @@ class XDateRangePortalComponent {
1071
1192
  this.setDisplay(date);
1072
1193
  if (this._type === 'year') {
1073
1194
  this.model = date;
1074
- this.nodeEmit(date);
1195
+ // this.nodeEmit(date);
1075
1196
  }
1076
1197
  else {
1077
1198
  this.type = 'month';
@@ -1118,7 +1239,7 @@ class XDateRangePortalComponent {
1118
1239
  }
1119
1240
  selectTime(time) {
1120
1241
  this.time = time.getTime();
1121
- this.nodeEmit(this.setModel(this.model, time), false);
1242
+ // this.nodeEmit(this.setModel(this.model, time), false);
1122
1243
  this.cdr.detectChanges();
1123
1244
  }
1124
1245
  setModel(date, time) {
@@ -1126,9 +1247,9 @@ class XDateRangePortalComponent {
1126
1247
  return this.model;
1127
1248
  }
1128
1249
  }
1129
- /** @nocollapse */ XDateRangePortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDateRangePortalComponent, deps: [{ token: i1$1.DatePipe }, { token: i1$1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i2.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
1130
- /** @nocollapse */ XDateRangePortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", 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-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 <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 <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-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:16rem;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}.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-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: 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$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "date": i1$1.DatePipe }, animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDateRangePortalComponent, decorators: [{
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: [{
1132
1253
  type: Component,
1133
1254
  args: [{
1134
1255
  selector: `${XDateRangePortalPrefix}`,
@@ -1139,7 +1260,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
1139
1260
  animations: [XConnectBaseAnimation],
1140
1261
  providers: [DatePipe, LowerCasePipe]
1141
1262
  }]
1142
- }], ctorParameters: function () { return [{ type: i1$1.DatePipe }, { type: i1$1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i2.XI18nService }]; }, propDecorators: { placement: [{
1263
+ }], ctorParameters: function () { return [{ type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i3.XI18nService }]; }, propDecorators: { placement: [{
1143
1264
  type: HostBinding,
1144
1265
  args: ['@x-connect-base-animation']
1145
1266
  }], done: [{
@@ -1151,11 +1272,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
1151
1272
  }] } });
1152
1273
 
1153
1274
  class XDateRangeComponent extends XDateRangeProperty {
1154
- constructor(renderer, configService, elementRef, cdr, portalService, viewContainerRef, datePipe, overlay) {
1275
+ constructor(renderer, configService, cdr, portalService, viewContainerRef, datePipe, overlay) {
1155
1276
  super();
1156
1277
  this.renderer = renderer;
1157
1278
  this.configService = configService;
1158
- this.elementRef = elementRef;
1159
1279
  this.cdr = cdr;
1160
1280
  this.portalService = portalService;
1161
1281
  this.viewContainerRef = viewContainerRef;
@@ -1163,11 +1283,10 @@ class XDateRangeComponent extends XDateRangeProperty {
1163
1283
  this.overlay = overlay;
1164
1284
  this.modelType = 'date';
1165
1285
  this.isInput = false;
1166
- this.isFocus = false;
1167
1286
  this.enter = false;
1168
1287
  this.inputClearable = false;
1169
1288
  this.animating = false;
1170
- this.displayValue = '';
1289
+ this.displayValue = [];
1171
1290
  this.icon = 'fto-calendar';
1172
1291
  this.maxNodes = 6;
1173
1292
  this.protalTobottom = true;
@@ -1175,27 +1294,32 @@ class XDateRangeComponent extends XDateRangeProperty {
1175
1294
  this.dataChange = new Subject();
1176
1295
  this.positionChange = new Subject();
1177
1296
  this.closeSubject = new Subject();
1297
+ this.startDisplay = '';
1298
+ this.endDisplay = '';
1299
+ this.startActive = false;
1300
+ this.endActive = false;
1178
1301
  this._unSubject = new Subject();
1179
1302
  }
1180
1303
  get getRequired() {
1181
1304
  return this.required && XIsEmpty(this.value);
1182
1305
  }
1183
1306
  writeValue(value) {
1184
- if (XIsDate(value)) {
1185
- this.modelType = 'date';
1186
- this.numberValue = value.getTime();
1187
- }
1188
- else if (XIsNumber(value)) {
1189
- this.modelType = 'number';
1190
- this.numberValue = value;
1191
- }
1192
- else if (XIsString(value)) {
1193
- this.modelType = 'string';
1194
- const valueTime = new Date(value).getTime();
1195
- this.numberValue = !isNaN(valueTime) ? valueTime : '';
1196
- }
1197
- else if (XIsEmpty(value)) {
1198
- this.numberValue = '';
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
+ }
1199
1323
  }
1200
1324
  this.value = value;
1201
1325
  this.setDisplayValue(this.numberValue);
@@ -1212,7 +1336,8 @@ class XDateRangeComponent extends XDateRangeProperty {
1212
1336
  this.setPortal();
1213
1337
  }
1214
1338
  ngOnChanges(changes) {
1215
- if (XIsChange(changes.type)) {
1339
+ const { type } = changes;
1340
+ if (XIsChange(type)) {
1216
1341
  this.setFormat();
1217
1342
  this.setDisplayValue(this.numberValue);
1218
1343
  }
@@ -1222,7 +1347,7 @@ class XDateRangeComponent extends XDateRangeProperty {
1222
1347
  this._unSubject.unsubscribe();
1223
1348
  }
1224
1349
  setSubject() {
1225
- this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe((x) => {
1350
+ this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe(() => {
1226
1351
  this.closePortal();
1227
1352
  });
1228
1353
  }
@@ -1269,9 +1394,9 @@ class XDateRangeComponent extends XDateRangeProperty {
1269
1394
  }
1270
1395
  }
1271
1396
  clearEmit() {
1272
- this.value = '';
1273
- this.numberValue = '';
1274
- this.displayValue = '';
1397
+ this.value = [];
1398
+ this.numberValue = [];
1399
+ this.displayValue = [];
1275
1400
  this.mleave();
1276
1401
  this.valueChange.next(this.numberValue);
1277
1402
  this.modelChange();
@@ -1283,9 +1408,9 @@ class XDateRangeComponent extends XDateRangeProperty {
1283
1408
  }
1284
1409
  getValue() {
1285
1410
  return this.modelType === 'date'
1286
- ? new Date(this.numberValue)
1411
+ ? this.numberValue.map((x) => new Date(x))
1287
1412
  : this.modelType === 'string'
1288
- ? this.datePipe.transform(this.numberValue, this.format)
1413
+ ? this.numberValue.map((x) => this.datePipe.transform(x, this.format))
1289
1414
  : this.numberValue;
1290
1415
  }
1291
1416
  portalAttached() {
@@ -1296,6 +1421,7 @@ class XDateRangeComponent extends XDateRangeProperty {
1296
1421
  var _a, _b;
1297
1422
  if (this.portalAttached()) {
1298
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;
1299
1425
  this.cdr.detectChanges();
1300
1426
  return true;
1301
1427
  }
@@ -1305,10 +1431,14 @@ class XDateRangeComponent extends XDateRangeProperty {
1305
1431
  var _a, _b;
1306
1432
  (_b = (_a = this.portal) === null || _a === void 0 ? void 0 : _a.overlayRef) === null || _b === void 0 ? void 0 : _b.dispose();
1307
1433
  }
1308
- showPortal() {
1434
+ showPortal($event, type) {
1309
1435
  var _a;
1436
+ $event.stopPropagation();
1310
1437
  if (this.disabled || this.animating)
1311
1438
  return;
1439
+ this.active = true;
1440
+ this.startActive = type === 'start';
1441
+ this.endActive = type === 'end';
1312
1442
  const config = {
1313
1443
  backdropClass: '',
1314
1444
  positionStrategy: this.setPlacement(),
@@ -1347,15 +1477,25 @@ class XDateRangeComponent extends XDateRangeProperty {
1347
1477
  positionChange: this.positionChange,
1348
1478
  closePortal: () => this.closeSubject.next(),
1349
1479
  destroyPortal: () => this.destroyPortal(),
1350
- nodeEmit: (node, sure = true) => this.onNodeClick(node, sure),
1480
+ nodeEmit: (dates, sure = true) => this.onNodeClick(dates, sure),
1481
+ startNodeEmit: (node) => this.startNodeClick(node),
1482
+ endNodeEmit: (node) => this.endNodeClick(node),
1351
1483
  animating: (ing) => (this.animating = ing)
1352
1484
  });
1353
1485
  componentRef.changeDetectorRef.detectChanges();
1354
1486
  }
1355
- onNodeClick(date, sure = true) {
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) {
1356
1496
  this.isInput = false;
1357
1497
  if (sure) {
1358
- this.numberValue = date.getTime();
1498
+ this.numberValue = dates.map((x) => x.getTime());
1359
1499
  this.value = this.getValue();
1360
1500
  this.setDisplayValue(this.numberValue);
1361
1501
  this.closeSubject.next();
@@ -1363,7 +1503,7 @@ class XDateRangeComponent extends XDateRangeProperty {
1363
1503
  this.nodeEmit.emit(this.numberValue);
1364
1504
  }
1365
1505
  else {
1366
- this.setDisplayValue(date.getTime());
1506
+ this.setDisplayValue(dates.map((x) => x.getTime()));
1367
1507
  this.cdr.markForCheck();
1368
1508
  }
1369
1509
  }
@@ -1371,16 +1511,15 @@ class XDateRangeComponent extends XDateRangeProperty {
1371
1511
  this.isInput = true;
1372
1512
  }
1373
1513
  setDisplayValue(dateNumber) {
1374
- if (this.isInput && isNaN(this.displayValue) && !isNaN(Date.parse(this.displayValue))) {
1375
- this.displayValue = this.datePipe.transform(this.displayValue, this.format);
1376
- this.numberValue = new Date(this.displayValue).getTime();
1377
- this.value = this.getValue();
1378
- this.modelChange();
1379
- this.isInput = false;
1380
- }
1381
- else {
1382
- this.displayValue = this.datePipe.transform(dateNumber, this.format);
1383
- }
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
+ // }
1384
1523
  }
1385
1524
  setPlacement() {
1386
1525
  return this.portalService.setPlacement({
@@ -1402,9 +1541,9 @@ class XDateRangeComponent extends XDateRangeProperty {
1402
1541
  this.cdr.detectChanges();
1403
1542
  }
1404
1543
  }
1405
- /** @nocollapse */ XDateRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDateRangeComponent, deps: [{ token: i0.Renderer2 }, { token: i1.XConfigService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i2$1.XPortalService }, { token: i0.ViewContainerRef }, { token: i1$1.DatePipe }, { token: i4$1.Overlay }], target: i0.ɵɵFactoryTarget.Component });
1406
- /** @nocollapse */ XDateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", 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-focus]=\"isFocus\">\r\n <div class=\"x-date-range-row\">\r\n <x-input-group #inputGroup class=\"x-date-range-group\" bordered=\"false\" (click)=\"showPortal()\">\r\n <x-input #inputStartCom type=\"text\" placeholder=\"\u5F00\u59CB\u65E5\u671F\" (xFocus)=\"isFocus = true\" (xBlur)=\"isFocus = false\"></x-input>\r\n <x-icon type=\"fto-arrow-right\"></x-icon>\r\n <x-input #inputEndCom type=\"text\" placeholder=\"\u7ED3\u675F\u65E5\u671F\" (xFocus)=\"isFocus = true\" (xBlur)=\"isFocus = false\"></x-input>\r\n <x-icon [type]=\"icon\"></x-icon>\r\n </x-input-group>\r\n </div>\r\n</div>\r\n", styles: ["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) #0000;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 input{height:inherit!important;line-height:inherit!important}.x-date-range-group:hover{border-color:var(--x-primary-300)}.x-date-range-focus .x-date-range-group{border-color:var(--x-primary)}"], components: [{ type: i5.XInputGroupComponent, selector: "x-input-group" }, { type: i5.XInputComponent, selector: "x-input" }, { type: i6$1.XIconComponent, selector: "x-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1407
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDateRangeComponent, decorators: [{
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: [{
1408
1547
  type: Component,
1409
1548
  args: [{
1410
1549
  selector: `${XDateRangePrefix}`,
@@ -1414,7 +1553,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
1414
1553
  changeDetection: ChangeDetectionStrategy.OnPush,
1415
1554
  providers: [XValueAccessor(XDateRangeComponent), DatePipe]
1416
1555
  }]
1417
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.XConfigService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i2$1.XPortalService }, { type: i0.ViewContainerRef }, { type: i1$1.DatePipe }, { type: i4$1.Overlay }]; }, propDecorators: { dateRange: [{
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: [{
1418
1557
  type: ViewChild,
1419
1558
  args: ['dateRange', { static: true }]
1420
1559
  }], inputGroup: [{
@@ -1424,8 +1563,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
1424
1563
 
1425
1564
  class XDatePickerModule {
1426
1565
  }
1427
- /** @nocollapse */ XDatePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1428
- /** @nocollapse */ XDatePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDatePickerModule, declarations: [XDatePickerComponent,
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,
1429
1568
  XDatePickerPortalComponent,
1430
1569
  XPickerDateComponent,
1431
1570
  XPickerMonthComponent,
@@ -1451,7 +1590,7 @@ class XDatePickerModule {
1451
1590
  XPickerDateComponent,
1452
1591
  XPickerMonthComponent,
1453
1592
  XPickerYearComponent] });
1454
- /** @nocollapse */ XDatePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDatePickerModule, imports: [[
1593
+ /** @nocollapse */ XDatePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDatePickerModule, imports: [[
1455
1594
  CommonModule,
1456
1595
  FormsModule,
1457
1596
  ReactiveFormsModule,
@@ -1463,7 +1602,7 @@ class XDatePickerModule {
1463
1602
  XI18nModule,
1464
1603
  XBaseFormModule
1465
1604
  ]] });
1466
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XDatePickerModule, decorators: [{
1605
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDatePickerModule, decorators: [{
1467
1606
  type: NgModule,
1468
1607
  args: [{
1469
1608
  declarations: [