@zanichelli/albe-web-components 5.2.0 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/dist/cjs/{index-69339d64.js → index-a8bdcb9c.js} +5 -0
  2. package/dist/cjs/index.cjs.js +2 -2
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/{utils-bfd07a33.js → utils-21d41d92.js} +17 -2
  5. package/dist/cjs/{utils-98ed20af.js → utils-eca6932d.js} +1 -1
  6. package/dist/cjs/web-components-library.cjs.js +1 -1
  7. package/dist/cjs/z-app-switcher_9.cjs.entry.js +216 -190
  8. package/dist/cjs/z-aria-alert.cjs.entry.js +1 -1
  9. package/dist/cjs/z-avatar.cjs.entry.js +1 -1
  10. package/dist/cjs/z-button-deprecated.cjs.entry.js +1 -1
  11. package/dist/cjs/z-button.cjs.entry.js +1 -1
  12. package/dist/cjs/z-card.cjs.entry.js +1 -1
  13. package/dist/cjs/z-chip.cjs.entry.js +3 -3
  14. package/dist/cjs/z-combobox.cjs.entry.js +2 -2
  15. package/dist/cjs/z-contextual-menu.cjs.entry.js +1 -1
  16. package/dist/cjs/z-cookiebar.cjs.entry.js +1 -1
  17. package/dist/cjs/z-date-picker.cjs.entry.js +95 -26
  18. package/dist/cjs/z-file-upload.cjs.entry.js +2 -2
  19. package/dist/cjs/z-file.cjs.entry.js +1 -1
  20. package/dist/cjs/z-footer.cjs.entry.js +1 -1
  21. package/dist/cjs/z-info-reveal.cjs.entry.js +1 -1
  22. package/dist/cjs/z-input-deprecated.cjs.entry.js +2 -2
  23. package/dist/cjs/z-input-label_2.cjs.entry.js +2 -2
  24. package/dist/cjs/z-list-group.cjs.entry.js +1 -1
  25. package/dist/cjs/z-list_2.cjs.entry.js +1 -1
  26. package/dist/cjs/z-menu-dropdown_2.cjs.entry.js +2 -2
  27. package/dist/cjs/z-messages-pocket.cjs.entry.js +1 -1
  28. package/dist/cjs/z-modal-login.cjs.entry.js +1 -1
  29. package/dist/cjs/z-myz-card-alert.cjs.entry.js +1 -1
  30. package/dist/cjs/z-myz-card-dictionary.cjs.entry.js +1 -1
  31. package/dist/cjs/z-myz-card-footer.cjs.entry.js +1 -1
  32. package/dist/cjs/z-myz-card-info.cjs.entry.js +2 -2
  33. package/dist/cjs/z-myz-card_4.cjs.entry.js +1 -1
  34. package/dist/cjs/z-myz-list-item.cjs.entry.js +2 -2
  35. package/dist/cjs/z-myz-topbar.cjs.entry.js +1 -1
  36. package/dist/cjs/z-navigation-tab-link.cjs.entry.js +1 -1
  37. package/dist/cjs/z-navigation-tab.cjs.entry.js +1 -1
  38. package/dist/cjs/z-navigation-tabs.cjs.entry.js +1 -1
  39. package/dist/cjs/z-offcanvas.cjs.entry.js +1 -1
  40. package/dist/cjs/z-otp.cjs.entry.js +1 -1
  41. package/dist/cjs/z-pagination-bar.cjs.entry.js +2 -2
  42. package/dist/cjs/z-pocket_3.cjs.entry.js +2 -2
  43. package/dist/cjs/z-popover-deprecated.cjs.entry.js +2 -2
  44. package/dist/cjs/z-popover.cjs.entry.js +1 -1
  45. package/dist/cjs/z-section-title.cjs.entry.js +1 -1
  46. package/dist/cjs/z-skip-to-content.cjs.entry.js +2 -2
  47. package/dist/cjs/z-slideshow.cjs.entry.js +2 -2
  48. package/dist/cjs/z-status-tag.cjs.entry.js +1 -1
  49. package/dist/cjs/z-table-cell.cjs.entry.js +1 -1
  50. package/dist/cjs/z-table-header.cjs.entry.js +2 -2
  51. package/dist/cjs/z-table-row.cjs.entry.js +1 -1
  52. package/dist/cjs/z-table.cjs.entry.js +1 -1
  53. package/dist/cjs/z-toast-notification-list.cjs.entry.js +1 -1
  54. package/dist/cjs/z-toast-notification.cjs.entry.js +1 -1
  55. package/dist/cjs/z-toggle-switch.cjs.entry.js +2 -2
  56. package/dist/cjs/z-tooltip-deprecated.cjs.entry.js +1 -1
  57. package/dist/cjs/z-tooltip.cjs.entry.js +1 -1
  58. package/dist/collection/beans/index.js +5 -0
  59. package/dist/collection/components/buttons/z-chip/styles.css +2 -9
  60. package/dist/collection/components/date-picker/styles.css +32 -26
  61. package/dist/collection/components/date-picker/utils.js +15 -1
  62. package/dist/collection/components/date-picker/z-date-picker/index.js +102 -27
  63. package/dist/collection/components/date-picker/z-range-picker/index.js +230 -207
  64. package/dist/esm/{index-0944317b.js → index-e5e2b27f.js} +6 -1
  65. package/dist/esm/index.js +2 -2
  66. package/dist/esm/loader.js +1 -1
  67. package/dist/esm/{utils-20383a26.js → utils-34c0d609.js} +17 -3
  68. package/dist/esm/{utils-0d95f520.js → utils-9fa9c37c.js} +1 -1
  69. package/dist/esm/web-components-library.js +1 -1
  70. package/dist/esm/z-app-switcher_9.entry.js +216 -190
  71. package/dist/esm/z-aria-alert.entry.js +1 -1
  72. package/dist/esm/z-avatar.entry.js +1 -1
  73. package/dist/esm/z-button-deprecated.entry.js +1 -1
  74. package/dist/esm/z-button.entry.js +1 -1
  75. package/dist/esm/z-card.entry.js +1 -1
  76. package/dist/esm/z-chip.entry.js +3 -3
  77. package/dist/esm/z-combobox.entry.js +2 -2
  78. package/dist/esm/z-contextual-menu.entry.js +1 -1
  79. package/dist/esm/z-cookiebar.entry.js +1 -1
  80. package/dist/esm/z-date-picker.entry.js +95 -26
  81. package/dist/esm/z-file-upload.entry.js +2 -2
  82. package/dist/esm/z-file.entry.js +1 -1
  83. package/dist/esm/z-footer.entry.js +1 -1
  84. package/dist/esm/z-info-reveal.entry.js +1 -1
  85. package/dist/esm/z-input-deprecated.entry.js +2 -2
  86. package/dist/esm/z-input-label_2.entry.js +2 -2
  87. package/dist/esm/z-list-group.entry.js +1 -1
  88. package/dist/esm/z-list_2.entry.js +1 -1
  89. package/dist/esm/z-menu-dropdown_2.entry.js +2 -2
  90. package/dist/esm/z-messages-pocket.entry.js +1 -1
  91. package/dist/esm/z-modal-login.entry.js +1 -1
  92. package/dist/esm/z-myz-card-alert.entry.js +1 -1
  93. package/dist/esm/z-myz-card-dictionary.entry.js +1 -1
  94. package/dist/esm/z-myz-card-footer.entry.js +1 -1
  95. package/dist/esm/z-myz-card-info.entry.js +2 -2
  96. package/dist/esm/z-myz-card_4.entry.js +1 -1
  97. package/dist/esm/z-myz-list-item.entry.js +2 -2
  98. package/dist/esm/z-myz-topbar.entry.js +1 -1
  99. package/dist/esm/z-navigation-tab-link.entry.js +1 -1
  100. package/dist/esm/z-navigation-tab.entry.js +1 -1
  101. package/dist/esm/z-navigation-tabs.entry.js +1 -1
  102. package/dist/esm/z-offcanvas.entry.js +1 -1
  103. package/dist/esm/z-otp.entry.js +1 -1
  104. package/dist/esm/z-pagination-bar.entry.js +2 -2
  105. package/dist/esm/z-pocket_3.entry.js +2 -2
  106. package/dist/esm/z-popover-deprecated.entry.js +2 -2
  107. package/dist/esm/z-popover.entry.js +1 -1
  108. package/dist/esm/z-section-title.entry.js +1 -1
  109. package/dist/esm/z-skip-to-content.entry.js +2 -2
  110. package/dist/esm/z-slideshow.entry.js +2 -2
  111. package/dist/esm/z-status-tag.entry.js +1 -1
  112. package/dist/esm/z-table-cell.entry.js +1 -1
  113. package/dist/esm/z-table-header.entry.js +2 -2
  114. package/dist/esm/z-table-row.entry.js +1 -1
  115. package/dist/esm/z-table.entry.js +1 -1
  116. package/dist/esm/z-toast-notification-list.entry.js +1 -1
  117. package/dist/esm/z-toast-notification.entry.js +1 -1
  118. package/dist/esm/z-toggle-switch.entry.js +2 -2
  119. package/dist/esm/z-tooltip-deprecated.entry.js +1 -1
  120. package/dist/esm/z-tooltip.entry.js +1 -1
  121. package/dist/types/beans/index.d.ts +4 -0
  122. package/dist/types/components/date-picker/utils.d.ts +4 -3
  123. package/dist/types/components/date-picker/z-date-picker/index.d.ts +6 -1
  124. package/dist/types/components/date-picker/z-range-picker/index.d.ts +16 -15
  125. package/dist/types/components.d.ts +5 -5
  126. package/dist/web-components-library/index.esm.js +1 -1
  127. package/dist/web-components-library/p-0146081c.entry.js +16 -0
  128. package/{www/build/p-c36ad471.entry.js → dist/web-components-library/p-040ea013.entry.js} +1 -1
  129. package/dist/web-components-library/{p-bfccbf81.entry.js → p-07ae4f7d.entry.js} +1 -1
  130. package/dist/web-components-library/p-0c3e7bc3.js +1 -0
  131. package/dist/web-components-library/{p-ac4f1a90.entry.js → p-1356eb90.entry.js} +1 -1
  132. package/dist/web-components-library/{p-84d7a0ed.entry.js → p-1c790896.entry.js} +1 -1
  133. package/dist/web-components-library/{p-ea4a063a.entry.js → p-215adfd1.entry.js} +1 -1
  134. package/dist/web-components-library/{p-0818a02f.entry.js → p-27666111.entry.js} +1 -1
  135. package/dist/web-components-library/{p-bfa1813d.entry.js → p-2ed37f62.entry.js} +1 -1
  136. package/{www/build/p-adb293aa.entry.js → dist/web-components-library/p-35573e0e.entry.js} +1 -1
  137. package/dist/web-components-library/{p-2275728f.entry.js → p-3700ad63.entry.js} +1 -1
  138. package/dist/web-components-library/{p-275bebf2.entry.js → p-39dbb042.entry.js} +1 -1
  139. package/dist/web-components-library/{p-0a7ebd31.entry.js → p-3a991f9c.entry.js} +1 -1
  140. package/dist/web-components-library/{p-0be8daa3.entry.js → p-3ade68ff.entry.js} +1 -1
  141. package/dist/web-components-library/{p-f24e569d.entry.js → p-3d748f0d.entry.js} +1 -1
  142. package/dist/web-components-library/p-47a55354.entry.js +1 -0
  143. package/dist/web-components-library/{p-ac41dd18.entry.js → p-4965b6db.entry.js} +1 -1
  144. package/dist/web-components-library/p-4b9b6487.entry.js +1 -0
  145. package/dist/web-components-library/{p-122f0f28.js → p-5aa819f8.js} +1 -1
  146. package/dist/web-components-library/p-5e3b8207.entry.js +1 -0
  147. package/dist/web-components-library/{p-854f5b2e.entry.js → p-766eb9cf.entry.js} +1 -1
  148. package/{www/build/p-fb7d64f2.js → dist/web-components-library/p-7a5ecafb.js} +1 -1
  149. package/dist/web-components-library/{p-269a9ec5.entry.js → p-7e691a4e.entry.js} +1 -1
  150. package/dist/web-components-library/{p-cd6ec70f.entry.js → p-7f48b622.entry.js} +1 -1
  151. package/dist/web-components-library/{p-6f18a0fc.entry.js → p-80f26a20.entry.js} +1 -1
  152. package/{www/build/p-3a57ff32.entry.js → dist/web-components-library/p-818c073b.entry.js} +1 -1
  153. package/dist/web-components-library/{p-cdabcb55.entry.js → p-846f16e8.entry.js} +1 -1
  154. package/dist/web-components-library/{p-721d1645.entry.js → p-8712d63f.entry.js} +1 -1
  155. package/{www/build/p-546616a7.entry.js → dist/web-components-library/p-878e62e2.entry.js} +1 -1
  156. package/dist/web-components-library/{p-6aa8b260.entry.js → p-91cbf793.entry.js} +1 -1
  157. package/dist/web-components-library/{p-9b873fe5.entry.js → p-9504d075.entry.js} +1 -1
  158. package/dist/web-components-library/{p-6ff49230.entry.js → p-96bf5b15.entry.js} +1 -1
  159. package/dist/web-components-library/{p-e150820d.entry.js → p-977c81d3.entry.js} +1 -1
  160. package/dist/web-components-library/{p-251fce3e.entry.js → p-97d62d2a.entry.js} +1 -1
  161. package/dist/web-components-library/{p-687ba257.entry.js → p-a73195b6.entry.js} +1 -1
  162. package/dist/web-components-library/{p-37e06523.entry.js → p-aba00527.entry.js} +1 -1
  163. package/dist/web-components-library/{p-939662fa.entry.js → p-ac52264c.entry.js} +1 -1
  164. package/dist/web-components-library/{p-9ac122ea.entry.js → p-afed0692.entry.js} +1 -1
  165. package/{www/build/p-de2b2858.entry.js → dist/web-components-library/p-b369bf2f.entry.js} +1 -1
  166. package/dist/web-components-library/{p-db7dbb44.entry.js → p-b621a765.entry.js} +1 -1
  167. package/dist/web-components-library/{p-8d50bfa9.entry.js → p-b6794d0f.entry.js} +1 -1
  168. package/dist/web-components-library/{p-095a0982.entry.js → p-ba76f52b.entry.js} +1 -1
  169. package/dist/web-components-library/{p-919cdfbf.entry.js → p-cb3663e6.entry.js} +1 -1
  170. package/dist/web-components-library/{p-98350ea9.entry.js → p-cb4a854e.entry.js} +1 -1
  171. package/dist/web-components-library/{p-b5b5e5e3.entry.js → p-d4c5085b.entry.js} +1 -1
  172. package/dist/web-components-library/{p-a72503d2.entry.js → p-d5e67db8.entry.js} +1 -1
  173. package/dist/web-components-library/p-e4a2811a.entry.js +1 -0
  174. package/{www/build/p-f1eee91e.entry.js → dist/web-components-library/p-e5eb1fa4.entry.js} +1 -1
  175. package/dist/web-components-library/{p-1fae466d.entry.js → p-e6fb8b76.entry.js} +1 -1
  176. package/dist/web-components-library/p-e82cee27.entry.js +1 -0
  177. package/dist/web-components-library/{p-ebcda09e.entry.js → p-eddde828.entry.js} +1 -1
  178. package/{www/build/p-d3ce433b.entry.js → dist/web-components-library/p-f2962121.entry.js} +1 -1
  179. package/dist/web-components-library/{p-bdf5ab5b.entry.js → p-f5f15b8e.entry.js} +1 -1
  180. package/dist/web-components-library/{p-5cbe4445.entry.js → p-faeb0c6e.entry.js} +1 -1
  181. package/dist/web-components-library/web-components-library.css +1 -1
  182. package/dist/web-components-library/web-components-library.esm.js +1 -1
  183. package/package.json +1 -1
  184. package/www/build/index.esm.js +1 -1
  185. package/www/build/p-0146081c.entry.js +16 -0
  186. package/{dist/web-components-library/p-c36ad471.entry.js → www/build/p-040ea013.entry.js} +1 -1
  187. package/www/build/{p-bfccbf81.entry.js → p-07ae4f7d.entry.js} +1 -1
  188. package/www/build/p-0c3e7bc3.js +1 -0
  189. package/www/build/{p-ac4f1a90.entry.js → p-1356eb90.entry.js} +1 -1
  190. package/www/build/{p-84d7a0ed.entry.js → p-1c790896.entry.js} +1 -1
  191. package/www/build/{p-ea4a063a.entry.js → p-215adfd1.entry.js} +1 -1
  192. package/www/build/{p-0818a02f.entry.js → p-27666111.entry.js} +1 -1
  193. package/www/build/{p-bfa1813d.entry.js → p-2ed37f62.entry.js} +1 -1
  194. package/{dist/web-components-library/p-adb293aa.entry.js → www/build/p-35573e0e.entry.js} +1 -1
  195. package/www/build/{p-2275728f.entry.js → p-3700ad63.entry.js} +1 -1
  196. package/www/build/{p-275bebf2.entry.js → p-39dbb042.entry.js} +1 -1
  197. package/www/build/{p-0a7ebd31.entry.js → p-3a991f9c.entry.js} +1 -1
  198. package/www/build/{p-0be8daa3.entry.js → p-3ade68ff.entry.js} +1 -1
  199. package/www/build/{p-f24e569d.entry.js → p-3d748f0d.entry.js} +1 -1
  200. package/www/build/p-47a55354.entry.js +1 -0
  201. package/www/build/{p-ac41dd18.entry.js → p-4965b6db.entry.js} +1 -1
  202. package/www/build/p-4b9b6487.entry.js +1 -0
  203. package/www/build/{p-88b56b6e.css → p-4c9c83c0.css} +1 -1
  204. package/www/build/{p-122f0f28.js → p-5aa819f8.js} +1 -1
  205. package/www/build/p-5e3b8207.entry.js +1 -0
  206. package/www/build/{p-854f5b2e.entry.js → p-766eb9cf.entry.js} +1 -1
  207. package/{dist/web-components-library/p-fb7d64f2.js → www/build/p-7a5ecafb.js} +1 -1
  208. package/www/build/{p-269a9ec5.entry.js → p-7e691a4e.entry.js} +1 -1
  209. package/www/build/{p-cd6ec70f.entry.js → p-7f48b622.entry.js} +1 -1
  210. package/www/build/{p-6f18a0fc.entry.js → p-80f26a20.entry.js} +1 -1
  211. package/{dist/web-components-library/p-3a57ff32.entry.js → www/build/p-818c073b.entry.js} +1 -1
  212. package/www/build/{p-cdabcb55.entry.js → p-846f16e8.entry.js} +1 -1
  213. package/www/build/{p-721d1645.entry.js → p-8712d63f.entry.js} +1 -1
  214. package/{dist/web-components-library/p-546616a7.entry.js → www/build/p-878e62e2.entry.js} +1 -1
  215. package/www/build/p-8b26a19e.js +1 -0
  216. package/www/build/{p-6aa8b260.entry.js → p-91cbf793.entry.js} +1 -1
  217. package/www/build/{p-9b873fe5.entry.js → p-9504d075.entry.js} +1 -1
  218. package/www/build/{p-6ff49230.entry.js → p-96bf5b15.entry.js} +1 -1
  219. package/www/build/{p-e150820d.entry.js → p-977c81d3.entry.js} +1 -1
  220. package/www/build/{p-251fce3e.entry.js → p-97d62d2a.entry.js} +1 -1
  221. package/www/build/{p-687ba257.entry.js → p-a73195b6.entry.js} +1 -1
  222. package/www/build/{p-37e06523.entry.js → p-aba00527.entry.js} +1 -1
  223. package/www/build/{p-939662fa.entry.js → p-ac52264c.entry.js} +1 -1
  224. package/www/build/{p-9ac122ea.entry.js → p-afed0692.entry.js} +1 -1
  225. package/{dist/web-components-library/p-de2b2858.entry.js → www/build/p-b369bf2f.entry.js} +1 -1
  226. package/www/build/{p-db7dbb44.entry.js → p-b621a765.entry.js} +1 -1
  227. package/www/build/{p-8d50bfa9.entry.js → p-b6794d0f.entry.js} +1 -1
  228. package/www/build/{p-095a0982.entry.js → p-ba76f52b.entry.js} +1 -1
  229. package/www/build/{p-919cdfbf.entry.js → p-cb3663e6.entry.js} +1 -1
  230. package/www/build/{p-98350ea9.entry.js → p-cb4a854e.entry.js} +1 -1
  231. package/www/build/{p-b5b5e5e3.entry.js → p-d4c5085b.entry.js} +1 -1
  232. package/www/build/{p-a72503d2.entry.js → p-d5e67db8.entry.js} +1 -1
  233. package/www/build/p-e4a2811a.entry.js +1 -0
  234. package/{dist/web-components-library/p-f1eee91e.entry.js → www/build/p-e5eb1fa4.entry.js} +1 -1
  235. package/www/build/{p-1fae466d.entry.js → p-e6fb8b76.entry.js} +1 -1
  236. package/www/build/p-e82cee27.entry.js +1 -0
  237. package/www/build/{p-ebcda09e.entry.js → p-eddde828.entry.js} +1 -1
  238. package/{dist/web-components-library/p-d3ce433b.entry.js → www/build/p-f2962121.entry.js} +1 -1
  239. package/www/build/{p-bdf5ab5b.entry.js → p-f5f15b8e.entry.js} +1 -1
  240. package/www/build/{p-5cbe4445.entry.js → p-faeb0c6e.entry.js} +1 -1
  241. package/www/build/web-components-library.css +1 -1
  242. package/www/build/web-components-library.esm.js +1 -1
  243. package/www/index.html +1 -1
  244. package/CHANGELOG.md +0 -1850
  245. package/dist/web-components-library/p-717c5e20.entry.js +0 -1
  246. package/dist/web-components-library/p-9247f214.js +0 -1
  247. package/dist/web-components-library/p-955942fc.entry.js +0 -16
  248. package/dist/web-components-library/p-af353020.entry.js +0 -1
  249. package/dist/web-components-library/p-b40d8313.entry.js +0 -1
  250. package/dist/web-components-library/p-ce351931.entry.js +0 -1
  251. package/dist/web-components-library/p-ed40ca4d.entry.js +0 -1
  252. package/src-react/index.ts +0 -1
  253. package/www/build/p-717c5e20.entry.js +0 -1
  254. package/www/build/p-7ed835e0.js +0 -1
  255. package/www/build/p-9247f214.js +0 -1
  256. package/www/build/p-955942fc.entry.js +0 -16
  257. package/www/build/p-af353020.entry.js +0 -1
  258. package/www/build/p-b40d8313.entry.js +0 -1
  259. package/www/build/p-ce351931.entry.js +0 -1
  260. package/www/build/p-ed40ca4d.entry.js +0 -1
@@ -1,125 +1,157 @@
1
- import { Component, Prop, Element, h, Listen, Event, State, } from "@stencil/core";
1
+ import { Component, Prop, Element, h, Listen, Event, State, Watch, } from "@stencil/core";
2
2
  import flatpickr from "flatpickr";
3
3
  import { Italian } from "flatpickr/dist/l10n/it.js";
4
- import { ZDatePickerMode, ZDatePickerPosition, InputTypeEnum, } from "../../../beans";
5
- import { setAriaOptions, setFlatpickrPosition } from "../utils";
4
+ import { ZRangePickerMode, ZDatePickerPosition, InputTypeEnum, InputStatusEnum, } from "../../../beans";
5
+ import { setAriaOptions, setFlatpickrPosition, validateDate } from "../utils";
6
6
  export class ZRangePicker {
7
7
  constructor() {
8
- /** [Optional] datepicker mode: date, datetime, only months */
9
- this.mode = ZDatePickerMode.date;
8
+ /** [Optional] datepicker mode: date or datetime */
9
+ this.mode = ZRangePickerMode.date;
10
10
  this.flatpickrPosition = ZDatePickerPosition.bottom;
11
11
  this.activeInput = "start-input";
12
- this.flatpickrInstance = null;
13
- this.flatpickrInstance2 = null;
12
+ this.firstInputError = false;
13
+ this.lastInputError = false;
14
+ }
15
+ watchMode() {
16
+ this.setupPickers();
14
17
  }
15
18
  handleClick() {
16
19
  this.getFocusedInput();
17
20
  }
18
21
  handleKeyDown(ev) {
19
- let currentInputState = this.activeInput === "start-input"
20
- ? { picker: this.flatpickrInstance, index: 0 }
21
- : { picker: this.flatpickrInstance2, index: 1 };
22
- let isCalendarOpened = document.activeElement.closest(".flatpickr-calendar");
22
+ var _a, _b, _c, _d, _e, _f;
23
+ let currentPicker = this.activeInput === "start-input" ? this.firstPicker : this.lastPicker;
23
24
  this.getFocusedInput();
25
+ if (ev.key === "Escape") {
26
+ document.activeElement.classList.contains(`${this.rangePickerId}-1`) &&
27
+ ((_a = this.firstPicker) === null || _a === void 0 ? void 0 : _a.close());
28
+ document.activeElement.classList.contains(`${this.rangePickerId}-2`) &&
29
+ ((_b = this.lastPicker) === null || _b === void 0 ? void 0 : _b.close());
30
+ }
24
31
  if (ev.key === "Enter" || ev.key === " ") {
25
- if (document.activeElement.classList.contains(`${this.rangePickerId}`) ||
32
+ if (document.activeElement.classList.contains(`${this.rangePickerId}-1`) ||
26
33
  document.activeElement.classList.contains(`${this.rangePickerId}-2`)) {
27
- !isCalendarOpened && currentInputState.picker.open();
34
+ currentPicker === null || currentPicker === void 0 ? void 0 : currentPicker.open();
35
+ }
36
+ let isCrossIconEntered = document.activeElement.classList.contains("resetIcon");
37
+ if (isCrossIconEntered) {
38
+ if (this.activeInput === "start-input") {
39
+ this.firstInputError = false;
40
+ (_c = this.firstPicker) === null || _c === void 0 ? void 0 : _c.clear();
41
+ this.printDate(null, ((_d = this.lastPicker) === null || _d === void 0 ? void 0 : _d.selectedDates[0]) || null);
42
+ }
43
+ if (this.activeInput === "end-input") {
44
+ this.lastInputError = false;
45
+ (_e = this.firstPicker) === null || _e === void 0 ? void 0 : _e.clear();
46
+ this.printDate(((_f = this.firstPicker) === null || _f === void 0 ? void 0 : _f.selectedDates[0]) || null, null);
47
+ }
28
48
  }
29
49
  let isPrevArrowEntered = document.activeElement.classList.contains("flatpickr-prev-month");
30
50
  let isNextArrowEntered = document.activeElement.classList.contains("flatpickr-next-month");
31
51
  let arrowPressed = isPrevArrowEntered || isNextArrowEntered;
32
52
  arrowPressed && ev.key === " " && ev.preventDefault();
33
- isPrevArrowEntered && currentInputState.picker.changeMonth(-1);
34
- isNextArrowEntered && currentInputState.picker.changeMonth(1);
53
+ isPrevArrowEntered && (currentPicker === null || currentPicker === void 0 ? void 0 : currentPicker.changeMonth(-1));
54
+ isNextArrowEntered && (currentPicker === null || currentPicker === void 0 ? void 0 : currentPicker.changeMonth(1));
35
55
  }
36
56
  }
37
- /** Set background color before or after first selected date, before selecting the second one */
38
- onMouseOver(e) {
39
- let currentInputState = this.activeInput === "start-input"
40
- ? { picker: this.flatpickrInstance, index: 0 }
41
- : { picker: this.flatpickrInstance2, index: 1 };
42
- this.setRangeHoverStyle(e, currentInputState.picker, this.element.getElementsByClassName("flatpickr-calendar")[currentInputState.index]);
43
- }
44
57
  componentDidLoad() {
58
+ this.setupPickers();
59
+ }
60
+ setupPickers() {
45
61
  let config = {
46
- enableTime: this.mode === ZDatePickerMode.dateTime,
62
+ enableTime: this.mode === ZRangePickerMode.dateTime,
47
63
  locale: Italian,
48
64
  allowInput: true,
49
- dateFormat: this.mode === ZDatePickerMode.dateTime ? "d-m-Y - H:i" : "d-m-Y",
65
+ wrap: true,
66
+ dateFormat: this.mode === ZRangePickerMode.dateTime ? "d-m-Y - H:i" : "d-m-Y",
50
67
  ariaDateFormat: "d F Y",
51
68
  minuteIncrement: 1,
52
69
  time_24hr: true,
53
- onChange: (selectedDates, _dateStr, instance) => {
54
- this.onDateSelect(selectedDates, instance);
70
+ onValueUpdate: (_selectedDates, _dateStr, _instance) => {
71
+ let firstInputActive = this.activeInput === "start-input";
72
+ let firstDate = this.firstPicker.selectedDates[0];
73
+ let lastDate = this.lastPicker.selectedDates[0];
74
+ if (+firstDate > +lastDate) {
75
+ if (firstInputActive) {
76
+ this.firstInputError = true;
77
+ this.printDate(null, lastDate || null);
78
+ }
79
+ else {
80
+ this.lastInputError = true;
81
+ this.printDate(firstDate || null, null);
82
+ }
83
+ }
84
+ else {
85
+ this.lastInputError = false;
86
+ this.firstInputError = false;
87
+ this.printDate(firstDate || null, lastDate || null);
88
+ }
89
+ this.setRangeStyle(0);
90
+ this.setRangeStyle(1);
91
+ },
92
+ onChange: (_selectedDates, _dateStr, instance) => {
93
+ this.onDateSelect();
94
+ this.setRangeStyle(instance.input.classList.contains("start-input") ? 0 : 1);
55
95
  },
56
- onOpen: () => {
96
+ onOpen: (_selectedDates, _dateStr, instance) => {
57
97
  setAriaOptions(this.element, this.mode);
58
98
  this.flatpickrPosition = setFlatpickrPosition(this.element, this.mode);
59
- this.setRangeStyle();
99
+ this.setRangeStyle(instance.input.classList.contains("start-input") ? 0 : 1);
60
100
  this.getFocusedInput();
61
- this.getCurrentMonth();
62
101
  },
63
- onYearChange: () => {
64
- this.setRangeStyle();
102
+ onYearChange: (_selectedDates, _dateStr, instance) => {
103
+ this.setRangeStyle(instance.input.classList.contains("start-input") ? 0 : 1);
65
104
  },
66
- onMonthChange: () => {
67
- this.setRangeStyle();
105
+ onMonthChange: (_selectedDates, _dateStr, instance) => {
106
+ this.setRangeStyle(instance.input.classList.contains("start-input") ? 0 : 1);
68
107
  },
69
108
  onKeyDown: () => {
70
109
  setAriaOptions(this.element, this.mode);
71
110
  },
72
- wrap: true,
73
111
  };
74
- this.flatpickrInstance = flatpickr(`.${this.rangePickerId}-container`, Object.assign(Object.assign({}, config), { mode: "multiple", appendTo: this.element.querySelector(`.${this.rangePickerId}-container`) }));
75
- this.flatpickrInstance2 = flatpickr(`.${this.rangePickerId}-container-2`, Object.assign(Object.assign({}, config), { mode: "multiple", appendTo: this.element.querySelector(`.${this.rangePickerId}-container-2`) }));
112
+ this.firstPicker = flatpickr(`.${this.rangePickerId}-1-container`, Object.assign(Object.assign({}, config), { mode: "single", appendTo: this.element.querySelector(`.${this.rangePickerId}-1-wrapper`) }));
113
+ this.lastPicker = flatpickr(`.${this.rangePickerId}-2-container`, Object.assign(Object.assign({}, config), { mode: "single", appendTo: this.element.querySelector(`.${this.rangePickerId}-2-wrapper`) }));
76
114
  this.element.querySelectorAll(".flatpickr-weekday").forEach((element) => {
77
115
  element.innerHTML = element.innerHTML.trim().charAt(0);
78
116
  });
79
117
  }
80
- onDateSelect(selectedDates, instance) {
81
- const firstInputElement = this.element.querySelectorAll("z-input")[0];
82
- const secondInputElement = this.element.querySelectorAll("z-input")[1];
118
+ onDateSelect() {
83
119
  let firstInputActive = this.activeInput === "start-input";
84
- /** If range is already set, clicking another date it will update it */
85
- if (selectedDates.length === 3) {
86
- instance.setDate([selectedDates[0], selectedDates[2]]);
87
- }
88
- /** Order the selected dates ASC and update the two flatpickers */
89
- if (instance.selectedDates.length > 1) {
120
+ let firstDate = this.firstPicker.selectedDates[0];
121
+ let lastDate = this.lastPicker.selectedDates[0];
122
+ if (+firstDate > +lastDate) {
90
123
  if (firstInputActive) {
91
- /** First Flatpickr selection */
92
- let orderedDates = instance.selectedDates.sort((a, b) => b - a);
93
- instance.setDate([...orderedDates]);
94
- this.flatpickrInstance2.setDate([
95
- instance.selectedDates[1],
96
- instance.selectedDates[0],
97
- ]);
124
+ this.firstInputError = true;
125
+ this.printDate(null, lastDate || null);
98
126
  }
99
127
  else {
100
- /** Second Flatpickr selection */
101
- let orderedDates = instance.selectedDates.sort((a, b) => a - b);
102
- instance.setDate([...orderedDates]);
103
- this.flatpickrInstance.setDate([
104
- instance.selectedDates[1],
105
- instance.selectedDates[0],
106
- ]);
107
- this.flatpickrInstance.setDate(this.flatpickrInstance.selectedDates.sort((a, b) => b - a));
128
+ this.lastInputError = true;
129
+ this.printDate(firstDate || null, null);
108
130
  }
109
- this.printDate(instance.selectedDates[0], instance.selectedDates[1]);
110
131
  }
111
- let index = instance.selectedDates.length - 1;
112
- /** If exists, set second date value into first input */
113
- if (instance.selectedDates[0]) {
114
- firstInputElement.value = this.getDate(instance.selectedDates[firstInputActive ? index : 0]);
115
- }
116
- /** If exists, set second date value into second input */
117
- if (instance.selectedDates[1]) {
118
- secondInputElement.value = this.getDate(instance.selectedDates[firstInputActive ? 0 : index]);
132
+ else {
133
+ this.lastInputError = false;
134
+ this.firstInputError = false;
135
+ this.printDate(firstDate || null, lastDate || null);
119
136
  }
120
137
  }
121
- getDate(date) {
122
- if (this.mode === ZDatePickerMode.date) {
138
+ disableDates(date, index) {
139
+ let calendar = this.element.getElementsByClassName("flatpickr-calendar")[index];
140
+ Array.from(calendar.getElementsByClassName("flatpickr-day")).forEach((element) => {
141
+ let calendarDate = this.getDateWithoutTime(this.replaceMonths(element.ariaLabel, null));
142
+ let breakpoint = this.getDateWithoutTime(date);
143
+ let inRange = index === 0 ? calendarDate > breakpoint : calendarDate < breakpoint;
144
+ if (inRange) {
145
+ element.classList.toggle("flatpickr-disabled", true);
146
+ }
147
+ else {
148
+ element.classList.toggle("flatpickr-disabled", false);
149
+ }
150
+ });
151
+ setAriaOptions(this.element, this.mode);
152
+ }
153
+ formatDate(date) {
154
+ if (this.mode === ZRangePickerMode.date) {
123
155
  return `${flatpickr.formatDate(date, "d-m-Y")}`;
124
156
  }
125
157
  else {
@@ -127,14 +159,21 @@ export class ZRangePicker {
127
159
  }
128
160
  }
129
161
  printDate(firstDate, lastDate) {
130
- let orderedDates = [firstDate, lastDate].sort((a, b) => a - b);
131
- this.dateSelect.emit([
132
- this.getDate(orderedDates[0]),
133
- this.getDate(orderedDates[1]),
134
- ]);
162
+ let firstDateString = firstDate ? this.formatDate(firstDate) : null;
163
+ let lastDateString = lastDate ? this.formatDate(lastDate) : null;
164
+ this.dateSelect.emit([firstDateString, lastDateString]);
165
+ }
166
+ getTime() {
167
+ let hour = this.element.getElementsByClassName("flatpickr-hour")[0].value;
168
+ let minutes = this.element.getElementsByClassName("flatpickr-minute")[0].value;
169
+ return `${hour}:${minutes}`;
170
+ }
171
+ getDateWithoutTime(date) {
172
+ let newDate = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0);
173
+ return newDate;
135
174
  }
136
175
  /** Replace month word to month number */
137
- parseDate(date) {
176
+ replaceMonths(date, time) {
138
177
  const month = date.split(" ")[1];
139
178
  const months = {
140
179
  Gennaio: "01",
@@ -151,7 +190,7 @@ export class ZRangePicker {
151
190
  Dicembre: "12",
152
191
  };
153
192
  const pieces = date.replace(month, months[month]).split(" ");
154
- return new Date(parseInt(pieces[2]), parseInt(pieces[1]) - 1, parseInt(pieces[0]));
193
+ return new Date(parseInt(pieces[2]), parseInt(pieces[1]) - 1, parseInt(pieces[0]), time ? parseInt(time.split(":")[0]) : 0, time ? parseInt(time.split(":")[1]) : 0);
155
194
  }
156
195
  /** Get the current focused input, first or last */
157
196
  getFocusedInput() {
@@ -166,139 +205,118 @@ export class ZRangePicker {
166
205
  this.activeInput = "end-input";
167
206
  }
168
207
  }
169
- /** Set current month after flatpickr opened */
170
- getCurrentMonth() {
171
- let currentInputState = this.activeInput === "start-input"
172
- ? { picker: this.flatpickrInstance, index: 0 }
173
- : { picker: this.flatpickrInstance2, index: 1 };
174
- let length = currentInputState.picker.selectedDates.length;
175
- if (length > 0) {
176
- let dateMonth = currentInputState.picker.selectedDates[length - 1].getMonth();
177
- let dateYear = currentInputState.picker.selectedDates[length - 1].getFullYear();
178
- currentInputState.picker.changeMonth(dateMonth, false);
179
- currentInputState.picker.changeYear(dateYear, false);
180
- }
181
- }
182
208
  /** Set style of the days between the two selected dates */
183
- setRangeStyle() {
184
- let currentInputState = this.activeInput === "start-input"
185
- ? { picker: this.flatpickrInstance, index: 0 }
186
- : { picker: this.flatpickrInstance2, index: 1 };
187
- let calendar = this.element.getElementsByClassName("flatpickr-calendar")[currentInputState.index];
188
- Array.from(calendar.getElementsByClassName("flatpickr-day")).forEach((element) => {
189
- let selectedDatesCount = this.flatpickrInstance.selectedDates.length;
190
- if (selectedDatesCount === 2) {
191
- let date = this.parseDate(element.ariaLabel);
192
- let firstDate = this.flatpickrInstance.selectedDates[1];
193
- let secondDate = this.flatpickrInstance.selectedDates[0];
194
- let selected = element.className.includes("selected");
195
- if (date > firstDate && date < secondDate && !selected) {
196
- element.classList.toggle("inRange", true);
209
+ setRangeStyle(index) {
210
+ Array.from(this.element.getElementsByClassName("flatpickr-calendar")).forEach((element) => {
211
+ Array.from(element.getElementsByClassName("flatpickr-day")).forEach((element) => {
212
+ let hasFirstDate = this.firstPicker.selectedDates.length === 1;
213
+ let hasLastDate = this.lastPicker.selectedDates.length === 1;
214
+ let firstDate;
215
+ let lastDate;
216
+ let date = this.getDateWithoutTime(this.replaceMonths(element.ariaLabel, null));
217
+ if (hasFirstDate) {
218
+ firstDate = this.getDateWithoutTime(this.firstPicker.selectedDates[0]);
219
+ if (+date === +firstDate) {
220
+ element.classList.toggle("startRange", true);
221
+ }
222
+ else {
223
+ element.classList.toggle("startRange", false);
224
+ }
197
225
  }
198
- }
199
- });
200
- }
201
- /** Set style of the days between first selected date and hovered date */
202
- setRangeHoverStyle(e, flatpickr, calendar) {
203
- const isDay = e.target.classList.contains("flatpickr-day");
204
- if (isDay) {
205
- let calendarDate = e.target.ariaLabel;
206
- let hoveredDate = this.parseDate(calendarDate);
207
- Array.from(calendar.getElementsByClassName("flatpickr-day")).forEach((element) => {
208
- let date = this.parseDate(element.ariaLabel);
209
- let selectedDatesCount = flatpickr.selectedDates.length;
210
- let firstDate = selectedDatesCount === 1 ? flatpickr.selectedDates[0] : null;
211
- let before = firstDate && hoveredDate < firstDate;
212
- let after = firstDate && hoveredDate > firstDate;
213
- let selected = element.className.includes("selected");
214
- if (firstDate &&
215
- ((before && date > hoveredDate && date < firstDate && !selected) ||
216
- (after && date < hoveredDate && date > firstDate && !selected))) {
217
- element.classList.toggle("inRange", true);
226
+ if (hasLastDate) {
227
+ lastDate = this.getDateWithoutTime(this.lastPicker.selectedDates[0]);
228
+ if (+date === +lastDate) {
229
+ element.classList.toggle("endRange", true);
230
+ }
231
+ else {
232
+ element.classList.toggle("endRange", false);
233
+ }
218
234
  }
219
- else {
220
- element.classList.remove("inRange");
235
+ if (hasFirstDate && hasLastDate) {
236
+ if (date > firstDate && date < lastDate) {
237
+ element.classList.toggle("inRange", true);
238
+ }
239
+ else {
240
+ element.classList.toggle("inRange", false);
241
+ }
242
+ }
243
+ if (index === 0 && hasLastDate) {
244
+ this.disableDates(this.lastPicker.selectedDates[0], index);
245
+ }
246
+ if (index === 1 && hasFirstDate) {
247
+ this.disableDates(this.firstPicker.selectedDates[0], index);
221
248
  }
222
- this.setRangeStyle();
223
249
  });
224
- }
250
+ });
225
251
  }
226
252
  onStopTyping(value) {
227
- let text = value.detail.value;
253
+ let text = value.detail.value.replace("/", "-");
228
254
  let englishData = text.split("-");
229
- let time = this.mode === ZDatePickerMode.dateTime ? `${englishData[3]}:00` : "";
230
- let englishParsedData = `${englishData[2]}-${englishData[1]}-${englishData[0]}T${time}`
255
+ let time = this.mode === ZRangePickerMode.dateTime ? `T${englishData[3]}:00` : "";
256
+ let englishParsedData = `${englishData[2]}-${englishData[1]}-${englishData[0]}${time}`
231
257
  .split(" ")
232
258
  .join("");
233
- let isDate = Date.parse(englishParsedData);
259
+ let isValidDate = validateDate(text, this.mode === ZRangePickerMode.dateTime);
260
+ let date = Date.parse(englishParsedData).toString();
234
261
  if (this.activeInput === "start-input") {
235
- /** Remove second value from either the flatpickers if input is cleared */
236
262
  if (text === "") {
237
- if (this.flatpickrInstance.selectedDates.length === 1) {
238
- this.flatpickrInstance.setDate([]);
239
- this.flatpickrInstance2.setDate([]);
240
- }
241
- else {
242
- this.flatpickrInstance.setDate([
243
- this.flatpickrInstance.selectedDates[0],
244
- ]);
245
- this.flatpickrInstance2.setDate([
246
- this.flatpickrInstance2.selectedDates[1],
247
- ]);
248
- }
263
+ this.firstInputError = false;
264
+ this.firstPicker.setDate([]);
265
+ this.printDate(null, this.lastPicker.selectedDates[0] || null);
249
266
  }
250
- else {
251
- /** If the value inserted is a correct date, update the first input value */
252
- if (!Number.isNaN(isDate)) {
253
- this.flatpickrInstance.setDate([
254
- this.flatpickrInstance.selectedDates[0],
255
- text,
256
- ]);
257
- this.flatpickrInstance2.setDate([
258
- text,
259
- this.flatpickrInstance2.selectedDates[1],
260
- ]);
261
- if (this.flatpickrInstance.selectedDates.length > 1) {
262
- this.printDate(new Date(englishParsedData), this.flatpickrInstance.selectedDates[0]);
267
+ else if (!isValidDate) {
268
+ this.firstInputError = true;
269
+ this.printDate(null, this.lastPicker.selectedDates[0] || null);
270
+ }
271
+ else if (isValidDate) {
272
+ if (this.lastPicker.selectedDates.length === 1) {
273
+ if (+date <= +this.lastPicker.selectedDates[0]) {
274
+ this.firstInputError = false;
275
+ this.firstPicker.setDate([text]);
276
+ this.printDate(new Date(englishParsedData), this.lastPicker.selectedDates[0]);
263
277
  }
264
- this.setRangeStyle();
278
+ else {
279
+ this.firstInputError = true;
280
+ this.printDate(null, this.lastPicker.selectedDates[0]);
281
+ }
282
+ }
283
+ else {
284
+ this.firstInputError = false;
285
+ this.firstPicker.setDate([text]);
286
+ this.printDate(new Date(englishParsedData), null);
265
287
  }
266
288
  }
267
289
  }
268
290
  else {
269
- /** Remove second value from either the flatpickers if input is cleared */
270
291
  if (text === "") {
271
- if (this.flatpickrInstance2.selectedDates.length === 1) {
272
- this.flatpickrInstance.setDate([]);
273
- this.flatpickrInstance2.setDate([]);
274
- }
275
- else {
276
- this.flatpickrInstance.setDate([
277
- this.flatpickrInstance.selectedDates[1],
278
- ]);
279
- this.flatpickrInstance2.setDate([
280
- this.flatpickrInstance2.selectedDates[0],
281
- ]);
282
- }
292
+ this.lastInputError = false;
293
+ this.lastPicker.setDate([]);
294
+ this.printDate(this.firstPicker.selectedDates[0] || null, null);
283
295
  }
284
- else {
285
- /** If the value inserted is a correct date, update the second input value */
286
- if (!Number.isNaN(isDate)) {
287
- this.flatpickrInstance.setDate([
288
- text,
289
- this.flatpickrInstance.selectedDates[1],
290
- ]);
291
- this.flatpickrInstance2.setDate([
292
- this.flatpickrInstance2.selectedDates[0],
293
- text,
294
- ]);
295
- if (this.flatpickrInstance2.selectedDates.length > 1) {
296
- this.printDate(new Date(englishParsedData), this.flatpickrInstance2.selectedDates[0]);
296
+ else if (!isValidDate) {
297
+ this.lastInputError = true;
298
+ this.printDate(this.firstPicker.selectedDates[0] || null, null);
299
+ }
300
+ else if (isValidDate) {
301
+ if (this.firstPicker.selectedDates.length === 1) {
302
+ if (+date >= +this.firstPicker.selectedDates[0]) {
303
+ this.lastInputError = false;
304
+ this.lastPicker.setDate([text]);
305
+ this.printDate(this.firstPicker.selectedDates[0], new Date(englishParsedData));
306
+ }
307
+ else {
308
+ this.lastInputError = true;
309
+ this.printDate(this.firstPicker.selectedDates[0], null);
297
310
  }
298
- this.setRangeStyle();
311
+ }
312
+ else {
313
+ this.lastInputError = false;
314
+ this.lastPicker.setDate([text]);
315
+ this.printDate(null, new Date(englishParsedData));
299
316
  }
300
317
  }
301
318
  }
319
+ this.setRangeStyle(this.activeInput === "start-input" ? 0 : 1);
302
320
  }
303
321
  render() {
304
322
  const zInputProps = {
@@ -309,19 +327,24 @@ export class ZRangePicker {
309
327
  onStopTyping: (value) => {
310
328
  this.onStopTyping(value);
311
329
  },
330
+ value: "",
312
331
  };
313
332
  return (h("div", { class: {
314
- ["range-picker-container"]: true,
333
+ ["range-pickers-container"]: true,
315
334
  [this.mode]: true,
316
335
  [this.activeInput]: true,
317
336
  [this.flatpickrPosition]: true,
318
337
  } },
319
- h("div", { class: `${this.rangePickerId}-container` },
320
- h("input", { class: "hidden-input", "data-input": true }),
321
- h("z-input", Object.assign({}, zInputProps, { class: `start-input ${this.rangePickerId}`, ariaLabel: this.firstAriaLabel, label: this.firstLabel, "data-toggle": true }))),
322
- h("div", { class: `${this.rangePickerId}-container-2` },
323
- h("input", { class: "hidden-input", "data-input": true }),
324
- h("z-input", Object.assign({}, zInputProps, { class: `end-input ${this.rangePickerId}-2`, ariaLabel: this.secondAriaLabel, label: this.secondLabel, "data-toggle": true })))));
338
+ h("div", { class: `${this.rangePickerId}-1-wrapper` },
339
+ h("div", { class: `${this.rangePickerId}-1-container` },
340
+ h("z-input", Object.assign({}, zInputProps, { "data-input": "data-input", class: `start-input ${this.rangePickerId}-1`, ariaLabel: this.firstAriaLabel, label: this.firstLabel, status: this.firstInputError && InputStatusEnum.error, onStartTyping: () => {
341
+ this.firstInputError = false;
342
+ } })))),
343
+ h("div", { class: `${this.rangePickerId}-2-wrapper` },
344
+ h("div", { class: `${this.rangePickerId}-2-container` },
345
+ h("z-input", Object.assign({}, zInputProps, { "data-input": "data-input", class: `end-input ${this.rangePickerId}-2`, ariaLabel: this.secondAriaLabel, label: this.secondLabel, status: this.lastInputError && InputStatusEnum.error, onStartTyping: () => {
346
+ this.lastInputError = false;
347
+ } }))))));
325
348
  }
326
349
  static get is() { return "z-range-picker"; }
327
350
  static get originalStyleUrls() { return {
@@ -420,10 +443,10 @@ export class ZRangePicker {
420
443
  "type": "string",
421
444
  "mutable": false,
422
445
  "complexType": {
423
- "original": "ZDatePickerMode",
424
- "resolved": "ZDatePickerMode.date | ZDatePickerMode.dateTime | ZDatePickerMode.months",
446
+ "original": "ZRangePickerMode",
447
+ "resolved": "ZRangePickerMode.date | ZRangePickerMode.dateTime",
425
448
  "references": {
426
- "ZDatePickerMode": {
449
+ "ZRangePickerMode": {
427
450
  "location": "import",
428
451
  "path": "../../../beans"
429
452
  }
@@ -433,16 +456,18 @@ export class ZRangePicker {
433
456
  "optional": false,
434
457
  "docs": {
435
458
  "tags": [],
436
- "text": "[Optional] datepicker mode: date, datetime, only months"
459
+ "text": "[Optional] datepicker mode: date or datetime"
437
460
  },
438
461
  "attribute": "mode",
439
462
  "reflect": false,
440
- "defaultValue": "ZDatePickerMode.date"
463
+ "defaultValue": "ZRangePickerMode.date"
441
464
  }
442
465
  }; }
443
466
  static get states() { return {
444
467
  "flatpickrPosition": {},
445
- "activeInput": {}
468
+ "activeInput": {},
469
+ "firstInputError": {},
470
+ "lastInputError": {}
446
471
  }; }
447
472
  static get events() { return [{
448
473
  "method": "dateSelect",
@@ -461,6 +486,10 @@ export class ZRangePicker {
461
486
  }
462
487
  }]; }
463
488
  static get elementRef() { return "element"; }
489
+ static get watchers() { return [{
490
+ "propName": "mode",
491
+ "methodName": "watchMode"
492
+ }]; }
464
493
  static get listeners() { return [{
465
494
  "name": "click",
466
495
  "method": "handleClick",
@@ -468,16 +497,10 @@ export class ZRangePicker {
468
497
  "capture": true,
469
498
  "passive": false
470
499
  }, {
471
- "name": "keydown",
500
+ "name": "keyup",
472
501
  "method": "handleKeyDown",
473
502
  "target": "body",
474
503
  "capture": true,
475
504
  "passive": false
476
- }, {
477
- "name": "mouseover",
478
- "method": "onMouseOver",
479
- "target": undefined,
480
- "capture": false,
481
- "passive": true
482
505
  }]; }
483
506
  }
@@ -310,6 +310,11 @@ var ZDatePickerPosition;
310
310
  ZDatePickerPosition["top"] = "top";
311
311
  ZDatePickerPosition["bottom"] = "bottom";
312
312
  })(ZDatePickerPosition || (ZDatePickerPosition = {}));
313
+ var ZRangePickerMode;
314
+ (function (ZRangePickerMode) {
315
+ ZRangePickerMode["date"] = "date";
316
+ ZRangePickerMode["dateTime"] = "date-time";
317
+ })(ZRangePickerMode || (ZRangePickerMode = {}));
313
318
  var StatusTagStatus;
314
319
  (function (StatusTagStatus) {
315
320
  StatusTagStatus["warning"] = "warning";
@@ -326,4 +331,4 @@ var InfoRevealPosition;
326
331
  InfoRevealPosition["bottom_left"] = "bottom_left";
327
332
  })(InfoRevealPosition || (InfoRevealPosition = {}));
328
333
 
329
- export { AvatarSize as A, ButtonTypeEnum as B, CardVariants as C, DeviceEnum as D, ListSize as E, Size as F, SortDirectionEnum as G, ExpandableListButtonAlign as H, InputTypeEnum as I, ExpandableListStyle as J, KeyboardCodeEnum as K, LabelPositions as L, NavigationTabsOrientations as N, OffCanvasVariantsEnum as O, PopoverPositions as P, StatusTagStatus as S, ThemeVariant as T, ZDatePickerMode as Z, DividerOrientation as a, DividerSize as b, ZDatePickerPosition as c, ZDatePickerModeValues as d, ZAriaAlertMode as e, ButtonVariantEnum as f, ButtonSizeEnum as g, KeyboardKeyCodeEnum as h, ZChipType as i, ZFileUploadTypeEnum as j, InfoRevealPosition as k, PocketStatusEnum as l, InputStatusEnum as m, AlertTypesEnum as n, LicenseTypeEnum as o, NavigationTabsSizes as p, TransitionDirectionEnum as q, PopoverPosition as r, PopoverBorderRadius as s, PopoverShadow as t, KeyboardKeys as u, ZSectionTitleDividerPositions as v, ZTableRowExpandedType as w, ToastNotificationTransitionsEnum as x, ToastNotificationPositionsEnum as y, ListDividerType as z };
334
+ export { AvatarSize as A, ButtonTypeEnum as B, CardVariants as C, DeviceEnum as D, ListDividerType as E, ListSize as F, Size as G, SortDirectionEnum as H, InputTypeEnum as I, ExpandableListButtonAlign as J, KeyboardCodeEnum as K, LabelPositions as L, ExpandableListStyle as M, NavigationTabsOrientations as N, OffCanvasVariantsEnum as O, PopoverPositions as P, StatusTagStatus as S, ThemeVariant as T, ZRangePickerMode as Z, DividerOrientation as a, DividerSize as b, ZDatePickerPosition as c, InputStatusEnum as d, ZDatePickerMode as e, ZDatePickerModeValues as f, ZAriaAlertMode as g, ButtonVariantEnum as h, ButtonSizeEnum as i, KeyboardKeyCodeEnum as j, ZChipType as k, ZFileUploadTypeEnum as l, InfoRevealPosition as m, PocketStatusEnum as n, AlertTypesEnum as o, LicenseTypeEnum as p, NavigationTabsSizes as q, TransitionDirectionEnum as r, PopoverPosition as s, PopoverBorderRadius as t, PopoverShadow as u, KeyboardKeys as v, ZSectionTitleDividerPositions as w, ZTableRowExpandedType as x, ToastNotificationTransitionsEnum as y, ToastNotificationPositionsEnum as z };
package/dist/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { c as colorFromId } from './utils-0d95f520.js';
2
- import './index-0944317b.js';
1
+ import { c as colorFromId } from './utils-9fa9c37c.js';
2
+ import './index-e5e2b27f.js';
3
3
  import './breakpoints-c386984e.js';
4
4
 
5
5
  const Utils = {