@ng-nest/ui 12.0.6 → 12.0.11

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