@watermarkinsights/ripple 3.24.0 → 3.24.1

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 (554) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/{chartFunctions-5309f8ed.js → chartFunctions-da36e4cb.js} +591 -586
  3. package/dist/cjs/chartFunctions-da36e4cb.js.map +1 -0
  4. package/dist/cjs/{functions-6d2a5824.js → functions-9ddaeb33.js} +468 -468
  5. package/dist/cjs/{functions-6d2a5824.js.map → functions-9ddaeb33.js.map} +1 -1
  6. package/dist/cjs/{global-d20d5267.js → global-a563c2d1.js} +63 -63
  7. package/dist/cjs/global-a563c2d1.js.map +1 -0
  8. package/dist/cjs/{http-service-9e8c4dd5.js → http-service-494d81de.js} +50 -50
  9. package/dist/cjs/http-service-494d81de.js.map +1 -0
  10. package/dist/cjs/{interfaces-30a74c1f.js → interfaces-a3338581.js} +30 -30
  11. package/dist/cjs/interfaces-a3338581.js.map +1 -0
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/cjs/priv-chart-popover.cjs.entry.js +91 -91
  14. package/dist/cjs/priv-chart-popover.cjs.entry.js.map +1 -1
  15. package/dist/cjs/priv-datepicker.cjs.entry.js +657 -657
  16. package/dist/cjs/priv-datepicker.cjs.entry.js.map +1 -1
  17. package/dist/cjs/priv-navigator-button.cjs.entry.js +19 -19
  18. package/dist/cjs/priv-navigator-button.cjs.entry.js.map +1 -1
  19. package/dist/cjs/priv-navigator-item.cjs.entry.js +23 -23
  20. package/dist/cjs/priv-navigator-item.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ripple.cjs.js +1 -1
  22. package/dist/cjs/wm-action-menu_2.cjs.entry.js +334 -334
  23. package/dist/cjs/wm-action-menu_2.cjs.entry.js.map +1 -1
  24. package/dist/cjs/wm-button.cjs.entry.js +260 -260
  25. package/dist/cjs/wm-button.cjs.entry.js.map +1 -1
  26. package/dist/cjs/wm-chart-slice.cjs.entry.js +18 -18
  27. package/dist/cjs/wm-chart-slice.cjs.entry.js.map +1 -1
  28. package/dist/cjs/wm-chart.cjs.entry.js +179 -179
  29. package/dist/cjs/wm-chart.cjs.entry.js.map +1 -1
  30. package/dist/cjs/wm-datepicker.cjs.entry.js +263 -263
  31. package/dist/cjs/wm-datepicker.cjs.entry.js.map +1 -1
  32. package/dist/cjs/wm-file-list.cjs.entry.js +35 -35
  33. package/dist/cjs/wm-file-list.cjs.entry.js.map +1 -1
  34. package/dist/cjs/wm-file.cjs.entry.js +201 -201
  35. package/dist/cjs/wm-file.cjs.entry.js.map +1 -1
  36. package/dist/cjs/wm-input.cjs.entry.js +139 -139
  37. package/dist/cjs/wm-input.cjs.entry.js.map +1 -1
  38. package/dist/cjs/wm-modal-footer.cjs.entry.js +33 -33
  39. package/dist/cjs/wm-modal-footer.cjs.entry.js.map +1 -1
  40. package/dist/cjs/wm-modal-header.cjs.entry.js +36 -36
  41. package/dist/cjs/wm-modal-header.cjs.entry.js.map +1 -1
  42. package/dist/cjs/wm-modal.cjs.entry.js +152 -152
  43. package/dist/cjs/wm-modal.cjs.entry.js.map +1 -1
  44. package/dist/cjs/wm-navigation_3.cjs.entry.js +234 -234
  45. package/dist/cjs/wm-navigation_3.cjs.entry.js.map +1 -1
  46. package/dist/cjs/wm-navigator.cjs.entry.js +264 -264
  47. package/dist/cjs/wm-navigator.cjs.entry.js.map +1 -1
  48. package/dist/cjs/wm-network-uploader.cjs.entry.js +467 -467
  49. package/dist/cjs/wm-network-uploader.cjs.entry.js.map +1 -1
  50. package/dist/cjs/wm-option_2.cjs.entry.js +771 -771
  51. package/dist/cjs/wm-option_2.cjs.entry.js.map +1 -1
  52. package/dist/cjs/wm-pagination.cjs.entry.js +179 -179
  53. package/dist/cjs/wm-pagination.cjs.entry.js.map +1 -1
  54. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +155 -155
  55. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js.map +1 -1
  56. package/dist/cjs/wm-search.cjs.entry.js +191 -191
  57. package/dist/cjs/wm-search.cjs.entry.js.map +1 -1
  58. package/dist/cjs/wm-snackbar.cjs.entry.js +169 -169
  59. package/dist/cjs/wm-snackbar.cjs.entry.js.map +1 -1
  60. package/dist/cjs/wm-tab-item_3.cjs.entry.js +264 -264
  61. package/dist/cjs/wm-tab-item_3.cjs.entry.js.map +1 -1
  62. package/dist/cjs/wm-tag-input-row.cjs.entry.js +14 -14
  63. package/dist/cjs/wm-tag-input-row.cjs.entry.js.map +1 -1
  64. package/dist/cjs/wm-tag-input.cjs.entry.js +908 -908
  65. package/dist/cjs/wm-tag-input.cjs.entry.js.map +1 -1
  66. package/dist/cjs/wm-timepicker.cjs.entry.js +385 -385
  67. package/dist/cjs/wm-timepicker.cjs.entry.js.map +1 -1
  68. package/dist/cjs/wm-toggletip.cjs.entry.js +130 -130
  69. package/dist/cjs/wm-toggletip.cjs.entry.js.map +1 -1
  70. package/dist/cjs/wm-uploader.cjs.entry.js +510 -510
  71. package/dist/cjs/wm-uploader.cjs.entry.js.map +1 -1
  72. package/dist/cjs/wm-wrapper.cjs.entry.js +12 -12
  73. package/dist/cjs/wm-wrapper.cjs.entry.js.map +1 -1
  74. package/dist/collection/components/charts/chartFunctions.js +557 -552
  75. package/dist/collection/components/charts/chartFunctions.js.map +1 -1
  76. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +268 -268
  77. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js.map +1 -1
  78. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +126 -126
  79. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js.map +1 -1
  80. package/dist/collection/components/charts/wm-chart/wm-chart.js +447 -447
  81. package/dist/collection/components/charts/wm-chart/wm-chart.js.map +1 -1
  82. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +208 -208
  83. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js.map +1 -1
  84. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +144 -144
  85. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js.map +1 -1
  86. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +122 -122
  87. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js.map +1 -1
  88. package/dist/collection/components/wm-action-menu/wm-action-menu.js +473 -473
  89. package/dist/collection/components/wm-action-menu/wm-action-menu.js.map +1 -1
  90. package/dist/collection/components/wm-button/wm-button.js +576 -576
  91. package/dist/collection/components/wm-button/wm-button.js.map +1 -1
  92. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +984 -984
  93. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js.map +1 -1
  94. package/dist/collection/components/wm-datepicker/wm-datepicker.js +492 -492
  95. package/dist/collection/components/wm-datepicker/wm-datepicker.js.map +1 -1
  96. package/dist/collection/components/wm-file/wm-file.js +334 -334
  97. package/dist/collection/components/wm-file/wm-file.js.map +1 -1
  98. package/dist/collection/components/wm-file-list/wm-file-list.js +153 -153
  99. package/dist/collection/components/wm-file-list/wm-file-list.js.map +1 -1
  100. package/dist/collection/components/wm-input/wm-input.js +444 -444
  101. package/dist/collection/components/wm-input/wm-input.js.map +1 -1
  102. package/dist/collection/components/wm-menuitem/wm-menuitem.js +455 -455
  103. package/dist/collection/components/wm-menuitem/wm-menuitem.js.map +1 -1
  104. package/dist/collection/components/wm-modal/wm-modal-footer.js +139 -139
  105. package/dist/collection/components/wm-modal/wm-modal-footer.js.map +1 -1
  106. package/dist/collection/components/wm-modal/wm-modal-header.js +88 -88
  107. package/dist/collection/components/wm-modal/wm-modal-header.js.map +1 -1
  108. package/dist/collection/components/wm-modal/wm-modal.js +463 -463
  109. package/dist/collection/components/wm-modal/wm-modal.js.map +1 -1
  110. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +177 -177
  111. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js.map +1 -1
  112. package/dist/collection/components/wm-navigation/wm-navigation-item.js +131 -131
  113. package/dist/collection/components/wm-navigation/wm-navigation-item.js.map +1 -1
  114. package/dist/collection/components/wm-navigation/wm-navigation.js +227 -227
  115. package/dist/collection/components/wm-navigation/wm-navigation.js.map +1 -1
  116. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +107 -107
  117. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js.map +1 -1
  118. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +124 -124
  119. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js.map +1 -1
  120. package/dist/collection/components/wm-navigator/wm-navigator.js +468 -468
  121. package/dist/collection/components/wm-navigator/wm-navigator.js.map +1 -1
  122. package/dist/collection/components/wm-option/wm-option.js +436 -436
  123. package/dist/collection/components/wm-option/wm-option.js.map +1 -1
  124. package/dist/collection/components/wm-pagination/wm-pagination.js +371 -371
  125. package/dist/collection/components/wm-pagination/wm-pagination.js.map +1 -1
  126. package/dist/collection/components/wm-search/wm-search.js +447 -447
  127. package/dist/collection/components/wm-search/wm-search.js.map +1 -1
  128. package/dist/collection/components/wm-select/wm-select.js +1058 -1058
  129. package/dist/collection/components/wm-select/wm-select.js.map +1 -1
  130. package/dist/collection/components/wm-snackbar/wm-snackbar.js +297 -297
  131. package/dist/collection/components/wm-snackbar/wm-snackbar.js.map +1 -1
  132. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +212 -212
  133. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js.map +1 -1
  134. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +328 -328
  135. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js.map +1 -1
  136. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +109 -109
  137. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js.map +1 -1
  138. package/dist/collection/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.js +123 -123
  139. package/dist/collection/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.js.map +1 -1
  140. package/dist/collection/components/wm-tag-input/wm-tag-input.js +1209 -1209
  141. package/dist/collection/components/wm-tag-input/wm-tag-input.js.map +1 -1
  142. package/dist/collection/components/wm-timepicker/wm-timepicker.js +606 -606
  143. package/dist/collection/components/wm-timepicker/wm-timepicker.js.map +1 -1
  144. package/dist/collection/components/wm-toggletip/wm-toggletip.js +254 -254
  145. package/dist/collection/components/wm-toggletip/wm-toggletip.js.map +1 -1
  146. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js +775 -775
  147. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js.map +1 -1
  148. package/dist/collection/components/wm-uploader/wm-uploader.js +1034 -1034
  149. package/dist/collection/components/wm-uploader/wm-uploader.js.map +1 -1
  150. package/dist/collection/components/wm-wrapper/wm-wrapper.js +29 -29
  151. package/dist/collection/components/wm-wrapper/wm-wrapper.js.map +1 -1
  152. package/dist/collection/dev/scripts.js +20 -20
  153. package/dist/collection/global/__mocks__/functions.js +7 -7
  154. package/dist/collection/global/__mocks__/functions.js.map +1 -1
  155. package/dist/collection/global/functions.js +511 -511
  156. package/dist/collection/global/functions.js.map +1 -1
  157. package/dist/collection/global/global.js +70 -70
  158. package/dist/collection/global/global.js.map +1 -1
  159. package/dist/collection/global/interfaces.js +50 -50
  160. package/dist/collection/global/interfaces.js.map +1 -1
  161. package/dist/collection/global/services/__mocks__/http-service.js +131 -131
  162. package/dist/collection/global/services/__mocks__/http-service.js.map +1 -1
  163. package/dist/collection/global/services/http-service.js +51 -51
  164. package/dist/collection/global/services/http-service.js.map +1 -1
  165. package/dist/collection/lang/lang.js +6 -6
  166. package/dist/collection/lang/lang.js.map +1 -1
  167. package/dist/collection/lang/missing.js +43 -43
  168. package/dist/collection/lang/piglatin.js +93 -93
  169. package/dist/esm/{chartFunctions-e22110b8.js → chartFunctions-b0a9e440.js} +591 -586
  170. package/dist/esm/chartFunctions-b0a9e440.js.map +1 -0
  171. package/dist/esm/{functions-c58046f2.js → functions-1c41e984.js} +468 -468
  172. package/dist/esm/{functions-c58046f2.js.map → functions-1c41e984.js.map} +1 -1
  173. package/dist/esm/{global-fee3549b.js → global-65156bcf.js} +63 -63
  174. package/dist/esm/global-65156bcf.js.map +1 -0
  175. package/dist/esm/{http-service-5d037e16.js → http-service-3dc3b3e7.js} +50 -50
  176. package/dist/esm/http-service-3dc3b3e7.js.map +1 -0
  177. package/dist/esm/{interfaces-61c6305b.js → interfaces-2b97fab2.js} +30 -30
  178. package/dist/esm/interfaces-2b97fab2.js.map +1 -0
  179. package/dist/esm/loader.js +1 -1
  180. package/dist/esm/polyfills/core-js.js +0 -0
  181. package/dist/esm/polyfills/dom.js +0 -0
  182. package/dist/esm/polyfills/es5-html-element.js +0 -0
  183. package/dist/esm/polyfills/index.js +0 -0
  184. package/dist/esm/polyfills/system.js +0 -0
  185. package/dist/esm/priv-chart-popover.entry.js +91 -91
  186. package/dist/esm/priv-chart-popover.entry.js.map +1 -1
  187. package/dist/esm/priv-datepicker.entry.js +657 -657
  188. package/dist/esm/priv-datepicker.entry.js.map +1 -1
  189. package/dist/esm/priv-navigator-button.entry.js +19 -19
  190. package/dist/esm/priv-navigator-button.entry.js.map +1 -1
  191. package/dist/esm/priv-navigator-item.entry.js +23 -23
  192. package/dist/esm/priv-navigator-item.entry.js.map +1 -1
  193. package/dist/esm/ripple.js +1 -1
  194. package/dist/esm/wm-action-menu_2.entry.js +334 -334
  195. package/dist/esm/wm-action-menu_2.entry.js.map +1 -1
  196. package/dist/esm/wm-button.entry.js +260 -260
  197. package/dist/esm/wm-button.entry.js.map +1 -1
  198. package/dist/esm/wm-chart-slice.entry.js +18 -18
  199. package/dist/esm/wm-chart-slice.entry.js.map +1 -1
  200. package/dist/esm/wm-chart.entry.js +179 -179
  201. package/dist/esm/wm-chart.entry.js.map +1 -1
  202. package/dist/esm/wm-datepicker.entry.js +263 -263
  203. package/dist/esm/wm-datepicker.entry.js.map +1 -1
  204. package/dist/esm/wm-file-list.entry.js +35 -35
  205. package/dist/esm/wm-file-list.entry.js.map +1 -1
  206. package/dist/esm/wm-file.entry.js +201 -201
  207. package/dist/esm/wm-file.entry.js.map +1 -1
  208. package/dist/esm/wm-input.entry.js +139 -139
  209. package/dist/esm/wm-input.entry.js.map +1 -1
  210. package/dist/esm/wm-modal-footer.entry.js +33 -33
  211. package/dist/esm/wm-modal-footer.entry.js.map +1 -1
  212. package/dist/esm/wm-modal-header.entry.js +36 -36
  213. package/dist/esm/wm-modal-header.entry.js.map +1 -1
  214. package/dist/esm/wm-modal.entry.js +152 -152
  215. package/dist/esm/wm-modal.entry.js.map +1 -1
  216. package/dist/esm/wm-navigation_3.entry.js +234 -234
  217. package/dist/esm/wm-navigation_3.entry.js.map +1 -1
  218. package/dist/esm/wm-navigator.entry.js +264 -264
  219. package/dist/esm/wm-navigator.entry.js.map +1 -1
  220. package/dist/esm/wm-network-uploader.entry.js +467 -467
  221. package/dist/esm/wm-network-uploader.entry.js.map +1 -1
  222. package/dist/esm/wm-option_2.entry.js +771 -771
  223. package/dist/esm/wm-option_2.entry.js.map +1 -1
  224. package/dist/esm/wm-pagination.entry.js +179 -179
  225. package/dist/esm/wm-pagination.entry.js.map +1 -1
  226. package/dist/esm/wm-progress-indicator_3.entry.js +155 -155
  227. package/dist/esm/wm-progress-indicator_3.entry.js.map +1 -1
  228. package/dist/esm/wm-search.entry.js +191 -191
  229. package/dist/esm/wm-search.entry.js.map +1 -1
  230. package/dist/esm/wm-snackbar.entry.js +169 -169
  231. package/dist/esm/wm-snackbar.entry.js.map +1 -1
  232. package/dist/esm/wm-tab-item_3.entry.js +264 -264
  233. package/dist/esm/wm-tab-item_3.entry.js.map +1 -1
  234. package/dist/esm/wm-tag-input-row.entry.js +14 -14
  235. package/dist/esm/wm-tag-input-row.entry.js.map +1 -1
  236. package/dist/esm/wm-tag-input.entry.js +908 -908
  237. package/dist/esm/wm-tag-input.entry.js.map +1 -1
  238. package/dist/esm/wm-timepicker.entry.js +385 -385
  239. package/dist/esm/wm-timepicker.entry.js.map +1 -1
  240. package/dist/esm/wm-toggletip.entry.js +130 -130
  241. package/dist/esm/wm-toggletip.entry.js.map +1 -1
  242. package/dist/esm/wm-uploader.entry.js +510 -510
  243. package/dist/esm/wm-uploader.entry.js.map +1 -1
  244. package/dist/esm/wm-wrapper.entry.js +12 -12
  245. package/dist/esm/wm-wrapper.entry.js.map +1 -1
  246. package/dist/esm-es5/{chartFunctions-e22110b8.js → chartFunctions-b0a9e440.js} +2 -2
  247. package/dist/esm-es5/chartFunctions-b0a9e440.js.map +1 -0
  248. package/dist/esm-es5/{functions-c58046f2.js → functions-1c41e984.js} +1 -1
  249. package/dist/esm-es5/{functions-c58046f2.js.map → functions-1c41e984.js.map} +1 -1
  250. package/dist/esm-es5/{global-fee3549b.js → global-65156bcf.js} +2 -2
  251. package/dist/esm-es5/global-65156bcf.js.map +1 -0
  252. package/dist/esm-es5/{http-service-5d037e16.js → http-service-3dc3b3e7.js} +1 -1
  253. package/dist/esm-es5/http-service-3dc3b3e7.js.map +1 -0
  254. package/dist/esm-es5/{interfaces-61c6305b.js → interfaces-2b97fab2.js} +1 -1
  255. package/dist/esm-es5/interfaces-2b97fab2.js.map +1 -0
  256. package/dist/esm-es5/loader.js +1 -1
  257. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  258. package/dist/esm-es5/priv-chart-popover.entry.js.map +1 -1
  259. package/dist/esm-es5/priv-datepicker.entry.js +1 -1
  260. package/dist/esm-es5/priv-datepicker.entry.js.map +1 -1
  261. package/dist/esm-es5/priv-navigator-button.entry.js.map +1 -1
  262. package/dist/esm-es5/priv-navigator-item.entry.js.map +1 -1
  263. package/dist/esm-es5/ripple.js +1 -1
  264. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  265. package/dist/esm-es5/wm-action-menu_2.entry.js.map +1 -1
  266. package/dist/esm-es5/wm-button.entry.js +1 -1
  267. package/dist/esm-es5/wm-button.entry.js.map +1 -1
  268. package/dist/esm-es5/wm-chart-slice.entry.js.map +1 -1
  269. package/dist/esm-es5/wm-chart.entry.js +1 -1
  270. package/dist/esm-es5/wm-chart.entry.js.map +1 -1
  271. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  272. package/dist/esm-es5/wm-datepicker.entry.js.map +1 -1
  273. package/dist/esm-es5/wm-file-list.entry.js.map +1 -1
  274. package/dist/esm-es5/wm-file.entry.js +1 -1
  275. package/dist/esm-es5/wm-file.entry.js.map +1 -1
  276. package/dist/esm-es5/wm-input.entry.js +1 -1
  277. package/dist/esm-es5/wm-input.entry.js.map +1 -1
  278. package/dist/esm-es5/wm-modal-footer.entry.js.map +1 -1
  279. package/dist/esm-es5/wm-modal-header.entry.js +1 -1
  280. package/dist/esm-es5/wm-modal-header.entry.js.map +1 -1
  281. package/dist/esm-es5/wm-modal.entry.js +1 -1
  282. package/dist/esm-es5/wm-modal.entry.js.map +1 -1
  283. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  284. package/dist/esm-es5/wm-navigation_3.entry.js.map +1 -1
  285. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  286. package/dist/esm-es5/wm-navigator.entry.js.map +1 -1
  287. package/dist/esm-es5/wm-network-uploader.entry.js +1 -1
  288. package/dist/esm-es5/wm-network-uploader.entry.js.map +1 -1
  289. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  290. package/dist/esm-es5/wm-option_2.entry.js.map +1 -1
  291. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  292. package/dist/esm-es5/wm-pagination.entry.js.map +1 -1
  293. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  294. package/dist/esm-es5/wm-progress-indicator_3.entry.js.map +1 -1
  295. package/dist/esm-es5/wm-search.entry.js +1 -1
  296. package/dist/esm-es5/wm-search.entry.js.map +1 -1
  297. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  298. package/dist/esm-es5/wm-snackbar.entry.js.map +1 -1
  299. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  300. package/dist/esm-es5/wm-tab-item_3.entry.js.map +1 -1
  301. package/dist/esm-es5/wm-tag-input-row.entry.js.map +1 -1
  302. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  303. package/dist/esm-es5/wm-tag-input.entry.js.map +1 -1
  304. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  305. package/dist/esm-es5/wm-timepicker.entry.js.map +1 -1
  306. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  307. package/dist/esm-es5/wm-toggletip.entry.js.map +1 -1
  308. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  309. package/dist/esm-es5/wm-uploader.entry.js.map +1 -1
  310. package/dist/esm-es5/wm-wrapper.entry.js.map +1 -1
  311. package/dist/ripple/{p-8e6bd600.system.entry.js → p-010b2cac.system.entry.js} +2 -2
  312. package/dist/ripple/p-010b2cac.system.entry.js.map +1 -0
  313. package/dist/ripple/{p-b22ba3a2.system.js → p-08950379.system.js} +2 -2
  314. package/dist/ripple/{p-c25abcc5.system.js → p-0b21e936.system.js} +2 -2
  315. package/dist/ripple/p-0b21e936.system.js.map +1 -0
  316. package/dist/ripple/p-0d7bccf7.entry.js.map +1 -1
  317. package/dist/ripple/{p-98a9eb8c.entry.js → p-136460c0.entry.js} +2 -2
  318. package/dist/ripple/p-136460c0.entry.js.map +1 -0
  319. package/dist/ripple/{p-695286e7.entry.js → p-1da75922.entry.js} +2 -2
  320. package/dist/ripple/p-1da75922.entry.js.map +1 -0
  321. package/dist/ripple/{p-0a23f0fa.entry.js → p-22d9c36e.entry.js} +2 -2
  322. package/dist/ripple/p-22d9c36e.entry.js.map +1 -0
  323. package/dist/ripple/p-24a4cb11.system.entry.js.map +1 -1
  324. package/dist/ripple/{p-c5a50724.entry.js → p-24f7d6eb.entry.js} +2 -2
  325. package/dist/ripple/p-24f7d6eb.entry.js.map +1 -0
  326. package/dist/ripple/{p-4c383e9e.system.entry.js → p-27d3e1ab.system.entry.js} +2 -2
  327. package/dist/ripple/p-27d3e1ab.system.entry.js.map +1 -0
  328. package/dist/ripple/p-2c2a7092.system.entry.js.map +1 -1
  329. package/dist/ripple/{p-fe63519a.system.entry.js → p-2f4b4e3a.system.entry.js} +2 -2
  330. package/dist/ripple/p-2f4b4e3a.system.entry.js.map +1 -0
  331. package/dist/ripple/{p-e8fd25c8.js → p-3303b568.js} +2 -2
  332. package/dist/ripple/p-3303b568.js.map +1 -0
  333. package/dist/ripple/p-33558ec4.system.entry.js.map +1 -1
  334. package/dist/ripple/{p-1a2d8112.system.entry.js → p-337f2c82.system.entry.js} +2 -2
  335. package/dist/ripple/p-337f2c82.system.entry.js.map +1 -0
  336. package/dist/ripple/{p-bfc8d2bb.entry.js → p-34567f7e.entry.js} +2 -2
  337. package/dist/ripple/p-34567f7e.entry.js.map +1 -0
  338. package/dist/ripple/{p-67373e6f.system.entry.js → p-3655a421.system.entry.js} +2 -2
  339. package/dist/ripple/p-3655a421.system.entry.js.map +1 -0
  340. package/dist/ripple/p-3759b7af.system.entry.js.map +1 -1
  341. package/dist/ripple/{p-0b31c210.entry.js → p-40cc5375.entry.js} +2 -2
  342. package/dist/ripple/p-40cc5375.entry.js.map +1 -0
  343. package/dist/ripple/{p-76830e28.entry.js → p-4370bb17.entry.js} +2 -2
  344. package/dist/ripple/p-4370bb17.entry.js.map +1 -0
  345. package/dist/ripple/p-4391166c.entry.js.map +1 -1
  346. package/dist/ripple/{p-888bec42.js → p-43f1298b.js} +1 -1
  347. package/dist/ripple/p-43f1298b.js.map +1 -0
  348. package/dist/ripple/{p-18e58141.system.entry.js → p-48c8619f.system.entry.js} +2 -2
  349. package/dist/ripple/p-48c8619f.system.entry.js.map +1 -0
  350. package/dist/ripple/p-4a014591.entry.js.map +1 -1
  351. package/dist/ripple/{p-ccd0d43b.system.entry.js → p-4acc9e8d.system.entry.js} +2 -2
  352. package/dist/ripple/p-4acc9e8d.system.entry.js.map +1 -0
  353. package/dist/ripple/{p-a3b9c87d.system.entry.js → p-52655351.system.entry.js} +2 -2
  354. package/dist/ripple/p-52655351.system.entry.js.map +1 -0
  355. package/dist/ripple/{p-2a9fa9b5.entry.js → p-54df11c8.entry.js} +2 -2
  356. package/dist/ripple/p-54df11c8.entry.js.map +1 -0
  357. package/dist/ripple/p-59654f8e.entry.js.map +1 -1
  358. package/dist/ripple/{p-535e33d7.entry.js → p-5bf24119.entry.js} +2 -2
  359. package/dist/ripple/p-5bf24119.entry.js.map +1 -0
  360. package/dist/ripple/{p-e746fe88.system.entry.js → p-60e941cc.system.entry.js} +2 -2
  361. package/dist/ripple/p-60e941cc.system.entry.js.map +1 -0
  362. package/dist/ripple/{p-f38332ed.system.entry.js → p-684f2c1e.system.entry.js} +2 -2
  363. package/dist/ripple/p-684f2c1e.system.entry.js.map +1 -0
  364. package/dist/ripple/{p-e61d2c52.entry.js → p-75c9cad6.entry.js} +2 -2
  365. package/dist/ripple/p-75c9cad6.entry.js.map +1 -0
  366. package/dist/ripple/{p-e252738e.entry.js → p-78a7278d.entry.js} +2 -2
  367. package/dist/ripple/p-78a7278d.entry.js.map +1 -0
  368. package/dist/ripple/{p-45e7b944.entry.js → p-81c698e2.entry.js} +2 -2
  369. package/dist/ripple/p-81c698e2.entry.js.map +1 -0
  370. package/dist/ripple/{p-87da5d8e.entry.js → p-82323561.entry.js} +2 -2
  371. package/dist/ripple/p-82323561.entry.js.map +1 -0
  372. package/dist/ripple/{p-2b577e99.entry.js → p-873a5f0f.entry.js} +2 -2
  373. package/dist/ripple/p-873a5f0f.entry.js.map +1 -0
  374. package/dist/ripple/p-8c51e9f8.system.entry.js.map +1 -1
  375. package/dist/ripple/{p-be954fba.system.entry.js → p-8e11777d.system.entry.js} +2 -2
  376. package/dist/ripple/p-8e11777d.system.entry.js.map +1 -0
  377. package/dist/ripple/{p-63166c83.system.entry.js → p-90d67afa.system.entry.js} +2 -2
  378. package/dist/ripple/p-90d67afa.system.entry.js.map +1 -0
  379. package/dist/ripple/p-976b2789.system.entry.js.map +1 -1
  380. package/dist/ripple/{p-3e9da0fb.system.entry.js → p-97f0722e.system.entry.js} +2 -2
  381. package/dist/ripple/p-97f0722e.system.entry.js.map +1 -0
  382. package/dist/ripple/p-9b9eb944.entry.js.map +1 -1
  383. package/dist/ripple/{p-4a45a473.entry.js → p-9c9cf5e7.entry.js} +2 -2
  384. package/dist/ripple/p-9c9cf5e7.entry.js.map +1 -0
  385. package/dist/ripple/{p-313b6073.system.js → p-9d02957d.system.js} +1 -1
  386. package/dist/ripple/p-9d02957d.system.js.map +1 -0
  387. package/dist/ripple/{p-7b85f5a8.entry.js → p-a1c4d1d2.entry.js} +2 -2
  388. package/dist/ripple/p-a1c4d1d2.entry.js.map +1 -0
  389. package/dist/ripple/{p-9727c8f5.entry.js → p-a6cd8eb1.entry.js} +2 -2
  390. package/dist/ripple/p-a6cd8eb1.entry.js.map +1 -0
  391. package/dist/ripple/{p-dfeb2a0f.system.entry.js → p-ab792e0d.system.entry.js} +2 -2
  392. package/dist/ripple/p-ab792e0d.system.entry.js.map +1 -0
  393. package/dist/ripple/{p-5e2be836.entry.js → p-ab996399.entry.js} +2 -2
  394. package/dist/ripple/p-ab996399.entry.js.map +1 -0
  395. package/dist/ripple/{p-85b47217.system.entry.js → p-ac27d425.system.entry.js} +2 -2
  396. package/dist/ripple/p-ac27d425.system.entry.js.map +1 -0
  397. package/dist/ripple/{p-4091aa36.system.js → p-b8783b39.system.js} +2 -2
  398. package/dist/ripple/p-b8783b39.system.js.map +1 -0
  399. package/dist/ripple/{p-525fbd6b.system.entry.js → p-be2aab24.system.entry.js} +2 -2
  400. package/dist/ripple/p-be2aab24.system.entry.js.map +1 -0
  401. package/dist/ripple/p-bf569af0.entry.js.map +1 -1
  402. package/dist/ripple/{p-d6478e67.system.entry.js → p-c63b63ee.system.entry.js} +2 -2
  403. package/dist/ripple/p-c63b63ee.system.entry.js.map +1 -0
  404. package/dist/ripple/{p-90f42d65.system.entry.js → p-ce0002d4.system.entry.js} +2 -2
  405. package/dist/ripple/p-ce0002d4.system.entry.js.map +1 -0
  406. package/dist/ripple/{p-54f29e18.entry.js → p-d23db6e2.entry.js} +2 -2
  407. package/dist/ripple/p-d23db6e2.entry.js.map +1 -0
  408. package/dist/ripple/p-d939cb54.entry.js.map +1 -1
  409. package/dist/ripple/p-dbfd1640.system.entry.js.map +1 -1
  410. package/dist/ripple/{p-bc883afc.entry.js → p-e29c4789.entry.js} +2 -2
  411. package/dist/ripple/p-e29c4789.entry.js.map +1 -0
  412. package/dist/ripple/{p-0cd88c74.entry.js → p-e6b9766e.entry.js} +2 -2
  413. package/dist/ripple/p-e6b9766e.entry.js.map +1 -0
  414. package/dist/ripple/{p-2abe8404.system.entry.js → p-e8dab7c0.system.entry.js} +2 -2
  415. package/dist/ripple/p-e8dab7c0.system.entry.js.map +1 -0
  416. package/dist/ripple/{p-dcd38073.system.entry.js → p-eb64d16a.system.entry.js} +2 -2
  417. package/dist/ripple/p-eb64d16a.system.entry.js.map +1 -0
  418. package/dist/ripple/{p-a31a30ac.system.entry.js → p-eccbad16.system.entry.js} +2 -2
  419. package/dist/ripple/p-eccbad16.system.entry.js.map +1 -0
  420. package/dist/ripple/{p-054e206a.entry.js → p-edae6ef2.entry.js} +2 -2
  421. package/dist/ripple/p-edae6ef2.entry.js.map +1 -0
  422. package/dist/ripple/{p-9fd3badc.js → p-edfba0e1.js} +1 -1
  423. package/dist/ripple/{p-9fd3badc.js.map → p-edfba0e1.js.map} +1 -1
  424. package/dist/ripple/{p-d0c3d25a.entry.js → p-efc36352.entry.js} +2 -2
  425. package/dist/ripple/p-efc36352.entry.js.map +1 -0
  426. package/dist/ripple/{p-e782194d.system.js → p-f08e6a5a.system.js} +1 -1
  427. package/dist/ripple/{p-e782194d.system.js.map → p-f08e6a5a.system.js.map} +1 -1
  428. package/dist/ripple/{p-29cd07d5.system.entry.js → p-f09541fc.system.entry.js} +2 -2
  429. package/dist/ripple/p-f09541fc.system.entry.js.map +1 -0
  430. package/dist/ripple/{p-4aa0ee75.system.entry.js → p-f4487f66.system.entry.js} +2 -2
  431. package/dist/ripple/p-f4487f66.system.entry.js.map +1 -0
  432. package/dist/ripple/{p-08b7ec08.system.js → p-f5df5903.system.js} +1 -1
  433. package/dist/ripple/p-f5df5903.system.js.map +1 -0
  434. package/dist/ripple/{p-23e54ad4.js → p-f8d1e5a0.js} +2 -2
  435. package/dist/ripple/p-f8d1e5a0.js.map +1 -0
  436. package/dist/ripple/{p-a6d6eae7.js → p-fd8070fb.js} +1 -1
  437. package/dist/ripple/p-fd8070fb.js.map +1 -0
  438. package/dist/ripple/ripple.esm.js +1 -1
  439. package/dist/ripple/ripple.js +1 -1
  440. package/dist/types/components/charts/chartFunctions.d.ts +37 -37
  441. package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +27 -27
  442. package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +11 -11
  443. package/dist/types/components/charts/wm-chart/wm-chart.d.ts +47 -47
  444. package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +29 -29
  445. package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +20 -20
  446. package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +10 -10
  447. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +49 -49
  448. package/dist/types/components/wm-button/wm-button.d.ts +49 -49
  449. package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +80 -80
  450. package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +42 -42
  451. package/dist/types/components/wm-file/wm-file.d.ts +42 -42
  452. package/dist/types/components/wm-file-list/wm-file-list.d.ts +16 -16
  453. package/dist/types/components/wm-input/wm-input.d.ts +46 -46
  454. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +34 -34
  455. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +14 -14
  456. package/dist/types/components/wm-modal/wm-modal-header.d.ts +11 -11
  457. package/dist/types/components/wm-modal/wm-modal.d.ts +40 -40
  458. package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +21 -21
  459. package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +13 -13
  460. package/dist/types/components/wm-navigation/wm-navigation.d.ts +28 -28
  461. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +10 -10
  462. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +13 -13
  463. package/dist/types/components/wm-navigator/wm-navigator.d.ts +61 -61
  464. package/dist/types/components/wm-option/wm-option.d.ts +34 -34
  465. package/dist/types/components/wm-pagination/wm-pagination.d.ts +32 -32
  466. package/dist/types/components/wm-search/wm-search.d.ts +77 -77
  467. package/dist/types/components/wm-select/wm-select.d.ts +102 -102
  468. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +35 -35
  469. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +37 -37
  470. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +52 -52
  471. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +20 -20
  472. package/dist/types/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.d.ts +11 -11
  473. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +127 -127
  474. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +62 -62
  475. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +28 -28
  476. package/dist/types/components/wm-uploader/wm-network-uploader/wm-network-uploader.d.ts +85 -85
  477. package/dist/types/components/wm-uploader/wm-uploader.d.ts +104 -104
  478. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +7 -7
  479. package/dist/types/components.d.ts +27 -27
  480. package/dist/types/global/__mocks__/functions.d.ts +6 -6
  481. package/dist/types/global/functions.d.ts +47 -47
  482. package/dist/types/global/global.d.ts +1 -1
  483. package/dist/types/global/interfaces.d.ts +74 -74
  484. package/dist/types/global/services/__mocks__/http-service.d.ts +6 -6
  485. package/dist/types/global/services/http-service.d.ts +4 -4
  486. package/dist/types/lang/lang.d.ts +5 -5
  487. package/package.json +46 -46
  488. package/dist/cjs/chartFunctions-5309f8ed.js.map +0 -1
  489. package/dist/cjs/global-d20d5267.js.map +0 -1
  490. package/dist/cjs/http-service-9e8c4dd5.js.map +0 -1
  491. package/dist/cjs/interfaces-30a74c1f.js.map +0 -1
  492. package/dist/esm/chartFunctions-e22110b8.js.map +0 -1
  493. package/dist/esm/global-fee3549b.js.map +0 -1
  494. package/dist/esm/http-service-5d037e16.js.map +0 -1
  495. package/dist/esm/interfaces-61c6305b.js.map +0 -1
  496. package/dist/esm-es5/chartFunctions-e22110b8.js.map +0 -1
  497. package/dist/esm-es5/global-fee3549b.js.map +0 -1
  498. package/dist/esm-es5/http-service-5d037e16.js.map +0 -1
  499. package/dist/esm-es5/interfaces-61c6305b.js.map +0 -1
  500. package/dist/ripple/p-054e206a.entry.js.map +0 -1
  501. package/dist/ripple/p-08b7ec08.system.js.map +0 -1
  502. package/dist/ripple/p-0a23f0fa.entry.js.map +0 -1
  503. package/dist/ripple/p-0b31c210.entry.js.map +0 -1
  504. package/dist/ripple/p-0cd88c74.entry.js.map +0 -1
  505. package/dist/ripple/p-18e58141.system.entry.js.map +0 -1
  506. package/dist/ripple/p-1a2d8112.system.entry.js.map +0 -1
  507. package/dist/ripple/p-23e54ad4.js.map +0 -1
  508. package/dist/ripple/p-29cd07d5.system.entry.js.map +0 -1
  509. package/dist/ripple/p-2a9fa9b5.entry.js.map +0 -1
  510. package/dist/ripple/p-2abe8404.system.entry.js.map +0 -1
  511. package/dist/ripple/p-2b577e99.entry.js.map +0 -1
  512. package/dist/ripple/p-313b6073.system.js.map +0 -1
  513. package/dist/ripple/p-3e9da0fb.system.entry.js.map +0 -1
  514. package/dist/ripple/p-4091aa36.system.js.map +0 -1
  515. package/dist/ripple/p-45e7b944.entry.js.map +0 -1
  516. package/dist/ripple/p-4a45a473.entry.js.map +0 -1
  517. package/dist/ripple/p-4aa0ee75.system.entry.js.map +0 -1
  518. package/dist/ripple/p-4c383e9e.system.entry.js.map +0 -1
  519. package/dist/ripple/p-525fbd6b.system.entry.js.map +0 -1
  520. package/dist/ripple/p-535e33d7.entry.js.map +0 -1
  521. package/dist/ripple/p-54f29e18.entry.js.map +0 -1
  522. package/dist/ripple/p-5e2be836.entry.js.map +0 -1
  523. package/dist/ripple/p-63166c83.system.entry.js.map +0 -1
  524. package/dist/ripple/p-67373e6f.system.entry.js.map +0 -1
  525. package/dist/ripple/p-695286e7.entry.js.map +0 -1
  526. package/dist/ripple/p-76830e28.entry.js.map +0 -1
  527. package/dist/ripple/p-7b85f5a8.entry.js.map +0 -1
  528. package/dist/ripple/p-85b47217.system.entry.js.map +0 -1
  529. package/dist/ripple/p-87da5d8e.entry.js.map +0 -1
  530. package/dist/ripple/p-888bec42.js.map +0 -1
  531. package/dist/ripple/p-8e6bd600.system.entry.js.map +0 -1
  532. package/dist/ripple/p-90f42d65.system.entry.js.map +0 -1
  533. package/dist/ripple/p-9727c8f5.entry.js.map +0 -1
  534. package/dist/ripple/p-98a9eb8c.entry.js.map +0 -1
  535. package/dist/ripple/p-a31a30ac.system.entry.js.map +0 -1
  536. package/dist/ripple/p-a3b9c87d.system.entry.js.map +0 -1
  537. package/dist/ripple/p-a6d6eae7.js.map +0 -1
  538. package/dist/ripple/p-bc883afc.entry.js.map +0 -1
  539. package/dist/ripple/p-be954fba.system.entry.js.map +0 -1
  540. package/dist/ripple/p-bfc8d2bb.entry.js.map +0 -1
  541. package/dist/ripple/p-c25abcc5.system.js.map +0 -1
  542. package/dist/ripple/p-c5a50724.entry.js.map +0 -1
  543. package/dist/ripple/p-ccd0d43b.system.entry.js.map +0 -1
  544. package/dist/ripple/p-d0c3d25a.entry.js.map +0 -1
  545. package/dist/ripple/p-d6478e67.system.entry.js.map +0 -1
  546. package/dist/ripple/p-dcd38073.system.entry.js.map +0 -1
  547. package/dist/ripple/p-dfeb2a0f.system.entry.js.map +0 -1
  548. package/dist/ripple/p-e252738e.entry.js.map +0 -1
  549. package/dist/ripple/p-e61d2c52.entry.js.map +0 -1
  550. package/dist/ripple/p-e746fe88.system.entry.js.map +0 -1
  551. package/dist/ripple/p-e8fd25c8.js.map +0 -1
  552. package/dist/ripple/p-f38332ed.system.entry.js.map +0 -1
  553. package/dist/ripple/p-fe63519a.system.entry.js.map +0 -1
  554. /package/dist/ripple/{p-b22ba3a2.system.js.map → p-08950379.system.js.map} +0 -0
@@ -1,492 +1,492 @@
1
- import { h, Host } from "@stencil/core";
2
- import { generateId, checkForFocusableElInShadow, intl, isRelatedTarget } from "../../global/functions";
3
- export class DatePicker {
4
- constructor() {
5
- // we only want to fire the "change" event if the value has actually changed (that's
6
- // how native elements do it), so we need to keep in state the last committed value.
7
- this.lastCommittedValue = this.value;
8
- // 1, 2, or 4 digits, separator, 1 or 2 digits, separator, then 1 or 2 or 4 digits
9
- this.parsableEntry = /^(\d{1}|\d{2}|\d{4})[\-\.\/]\d{1,2}[\-\.\/](\d{1}|\d{2}|\d{4})$/;
10
- this.isoEntry = /^\d\d\d\d[-]\d\d[-]\d\d$/;
11
- this.eightDigitsEntry = /^\d{8}$/;
12
- this.dateFormats = {
13
- US: intl.formatMessage({
14
- id: "date.formatUS",
15
- defaultMessage: "mm/dd/yyyy",
16
- }),
17
- INT: intl.formatMessage({
18
- id: "date.formatINT",
19
- defaultMessage: "dd/mm/yyyy",
20
- }),
21
- ISO: intl.formatMessage({
22
- id: "date.formatISO",
23
- defaultMessage: "yyyy/mm/dd",
24
- }),
25
- };
26
- this.value = "";
27
- this.disabled = false;
28
- this.dateFormat = "US";
29
- this.errorMessage = "";
30
- this.labelPosition = "top";
31
- this.label = "";
32
- this.requiredField = false;
33
- this.requiredFieldMessage = undefined;
34
- this.preventValidation = undefined;
35
- this.displayError = "";
36
- }
37
- handleTabbingOn() {
38
- this.dpWrapper && this.dpWrapper.classList.add("user-is-tabbing");
39
- }
40
- handleTabbingOff() {
41
- this.dpWrapper && this.dpWrapper.classList.remove("user-is-tabbing");
42
- }
43
- handleError() {
44
- if (this.errorMessage) {
45
- this.generateError();
46
- }
47
- else {
48
- this.clearError();
49
- this.processInput();
50
- }
51
- }
52
- handleInput(ev) {
53
- // keep component's value in sync with input's value
54
- // validation only happens on blur and initial load,
55
- // but component's value should reflect user input at any time
56
- this.value = ev.target.value; // same as this.inputEl.value
57
- }
58
- // this is input blur, not component blur
59
- handleBlur(ev) {
60
- // do not validate if clicking to an element that should prevent validation (e.g. close button on modal)
61
- const shouldPreventValidation = this.preventValidation && isRelatedTarget(ev, this.preventValidation);
62
- if (!shouldPreventValidation) {
63
- this.processInput();
64
- }
65
- this.dpWrapper.classList.remove("focus");
66
- }
67
- // this is input focus, not component focus
68
- focusHandler() {
69
- this.dpWrapper.classList.add("focus");
70
- }
71
- handlePopupBlurred(ev) {
72
- // emit blur event when leaving component from priv-datepicker
73
- if (ev.detail.relatedTarget !== this.el) {
74
- const event = new CustomEvent("blur");
75
- // @ts-ignore
76
- event.relatedTarget = ev.detail.relatedTarget;
77
- this.el.dispatchEvent(event);
78
- }
79
- }
80
- getActiveElement() {
81
- return checkForFocusableElInShadow(document.activeElement);
82
- }
83
- handleCellTriggered(ev) {
84
- let dateElement = ev.detail;
85
- let isoDate = dateElement.getAttribute("data-year") +
86
- "-" +
87
- dateElement.getAttribute("data-month") +
88
- "-" +
89
- dateElement.textContent;
90
- this.inputEl.value = this.reformatDate(this.dateFormat, isoDate);
91
- this.processInput();
92
- // Create event to trigger onInput function on host element, to get the updated value
93
- // Because there are more ways to input than just typing, we are firing this event upon cellTriggered
94
- const event = new CustomEvent("input");
95
- this.el.dispatchEvent(event);
96
- }
97
- processInput(isFirstLoad) {
98
- // The required field error should not display on first load
99
- const leftEmpty = !isFirstLoad && this.requiredField;
100
- let isoDate = this.inputEl.value;
101
- //If input is 8 digits, add slashes as a courtesy and process anyway
102
- if (this.eightDigitsEntry.test(this.inputEl.value)) {
103
- this.inputEl.value = this.addSlashes(this.inputEl.value);
104
- }
105
- // if we don't have 2 separators we can't reformat so we'll return what was passed in
106
- if (this.parsableEntry.test(this.inputEl.value)) {
107
- //ISO format for submission
108
- isoDate = this.reformatDate("ISO", this.inputEl.value);
109
- //User-specific format for display
110
- this.inputEl.value = this.reformatDate(this.dateFormat, isoDate);
111
- if (this.isValidDate(isoDate)) {
112
- //If there's no errorMessage on state, all errors can be cleared. If there IS an error message, it will clear any internal validation errors by overriding them.
113
- if (this.errorMessage) {
114
- this.generateError();
115
- }
116
- else {
117
- this.clearError();
118
- }
119
- //Prevents error from appearing if input field is empty
120
- }
121
- else if (this.inputEl.value.length) {
122
- this.generateError();
123
- }
124
- }
125
- else if (this.inputEl.value.length || leftEmpty || this.errorMessage) {
126
- this.generateError();
127
- }
128
- else if (!this.inputEl.value.length && !leftEmpty) {
129
- this.clearError();
130
- }
131
- if (isoDate !== this.lastCommittedValue) {
132
- // value is set to the reformated date or whatever the user passed
133
- this.value = isoDate;
134
- const event = new CustomEvent("change");
135
- this.el.dispatchEvent(event);
136
- this.lastCommittedValue = this.value;
137
- }
138
- // event must fire after we set this.value
139
- // only fire if new valid value is different from the previous one
140
- if (this.isValidDate(isoDate) && isoDate !== this.lastValidValue) {
141
- this.wmDatepickerNewValidValue.emit();
142
- //Update prop passed into calendar to valid date
143
- this.lastValidValue = isoDate;
144
- }
145
- }
146
- // this function reformats date strings to/from the storage format ONLY. US -> INT and vice versa is not supported.
147
- reformatDate(toFormat, date) {
148
- if (!date) {
149
- return "";
150
- }
151
- else if (!this.parsableEntry.test(date)) {
152
- return date;
153
- }
154
- else {
155
- let dateArr = date.replace(/[\-\.]/gi, "/").split("/");
156
- switch (toFormat) {
157
- case "US":
158
- case this.dateFormats["US"]:
159
- return dateArr[1].padStart(2, "0") + "/" + dateArr[2].padStart(2, "0") + "/" + dateArr[0].padStart(4, "20");
160
- case "INT":
161
- case this.dateFormats["INT"]:
162
- return dateArr[2].padStart(2, "0") + "/" + dateArr[1].padStart(2, "0") + "/" + dateArr[0].padStart(4, "20");
163
- case "ISO":
164
- case this.dateFormats["ISO"]:
165
- if (this.dateFormat === "US" || this.dateFormat === this.dateFormats["US"]) {
166
- return dateArr[2].padStart(4, "20") + "-" + dateArr[0].padStart(2, "0") + "-" + dateArr[1].padStart(2, "0");
167
- }
168
- else if (this.dateFormat === "INT" || this.dateFormat === this.dateFormats["INT"]) {
169
- return dateArr[2].padStart(4, "20") + "-" + dateArr[1].padStart(2, "0") + "-" + dateArr[0].padStart(2, "0");
170
- }
171
- else if (this.dateFormat === "ISO" || this.dateFormat === this.dateFormats["ISO"]) {
172
- return dateArr[0].padStart(4, "20") + "-" + dateArr[1].padStart(2, "0") + "-" + dateArr[2].padStart(2, "0");
173
- }
174
- default:
175
- return dateArr.join("/");
176
- }
177
- }
178
- }
179
- isValidDate(input) {
180
- // if it's not ISO it's not valid
181
- if (!input || !this.isoEntry.test(input)) {
182
- return false;
183
- }
184
- else {
185
- // Parse the ISO date parts to integers
186
- let parts = input.split("-");
187
- let day = parseInt(parts[2], 10);
188
- let month = parseInt(parts[1], 10);
189
- let year = parseInt(parts[0], 10);
190
- // Check the ranges of month and year
191
- if (year < 1000 || year > 3000 || month == 0 || month > 12)
192
- return false;
193
- let monthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
194
- // Adjust for leap years
195
- if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0))
196
- monthLength[1] = 29;
197
- // Check the range of the day
198
- return day > 0 && day <= monthLength[month - 1];
199
- }
200
- }
201
- generateError() {
202
- const requiredDateErr = this.requiredFieldMessage ||
203
- intl.formatMessage({
204
- id: "date.requiredDateError",
205
- defaultMessage: "A date is required.",
206
- });
207
- const validDateErr = intl.formatMessage({
208
- id: "date.invalidDate",
209
- defaultMessage: "Please enter a valid date in the format {dateFormat, select, us {mm/dd/yyyy} int {dd/mm/yyyy} other {yyyy/mm/dd}}.",
210
- }, { dateFormat: this.dateFormat.toLowerCase() });
211
- if (this.errorMessage) {
212
- this.displayError = this.errorMessage;
213
- }
214
- else if (this.inputEl.value.length) {
215
- this.displayError = validDateErr;
216
- }
217
- else if (!this.inputEl.value.length && this.requiredField) {
218
- this.displayError = requiredDateErr;
219
- }
220
- }
221
- clearError() {
222
- this.displayError = "";
223
- }
224
- addSlashes(input) {
225
- if (this.dateFormat === "ISO" || this.dateFormat === this.dateFormats["ISO"]) {
226
- return input.substring(0, 4) + "/" + input.substring(4, 6) + "/" + input.substring(6);
227
- }
228
- else {
229
- return input.substring(0, 2) + "/" + input.substring(2, 4) + "/" + input.substring(4);
230
- }
231
- }
232
- componentWillLoad() {
233
- if (this.label === "") {
234
- console.error("You must include a label prop for the datepicker input (for accessibility reasons), even if the label position is none.");
235
- }
236
- if (this.errorMessage) {
237
- this.generateError();
238
- }
239
- this.uid = this.el.id ? this.el.id : generateId();
240
- if (this.value && this.isValidDate(this.value)) {
241
- // update value passed into calendar so that it opens on the specified date
242
- this.lastValidValue = this.value;
243
- }
244
- }
245
- componentDidLoad() {
246
- // convert passed-in starting date from ISO to locale format, update displayed input to proper format
247
- this.inputEl.value = this.reformatDate(this.dateFormat, this.value);
248
- this.processInput(true);
249
- }
250
- render() {
251
- const dateFormat = intl.formatMessage({
252
- id: "date.format",
253
- defaultMessage: "{dateFormat, select, us {mm/dd/yyyy} int {dd/mm/yyyy} other {yyyy/mm/dd}}",
254
- }, { dateFormat: this.dateFormat.toLowerCase() });
255
- return (h(Host, { id: this.uid, "aria-busy": "false", class: `${this.displayError ? "invalid" : ""}`, invalid: this.displayError ? "true" : null }, h("div", { ref: (d) => (this.dpWrapper = d), class: `wrapper label-${this.labelPosition} ${this.displayError ? "invalid" : ""}` }, h("div", { class: "label-wrapper" }, this.labelPosition !== "none" && (h("label", { id: `datepickerLabel-${this.uid}`, htmlFor: `date-input-${this.uid}`, class: "label", title: `${this.label} (${dateFormat})` }, this.label, this.requiredField && (h("span", { "aria-hidden": "true", class: "required" }, "*"))))), h("div", null, h("div", { class: "inner-wrapper" }, h("input", { disabled: this.disabled, type: "text", id: `date-input-${this.uid}`, class: "date-input", name: "date", placeholder: dateFormat, onFocus: this.focusHandler.bind(this), onInput: (ev) => this.handleInput(ev), onBlur: (ev) => this.handleBlur(ev), ref: (input) => (this.inputEl = input), "aria-describedby": `error-${this.uid}`, "aria-controls": `popup-${this.uid}`, "aria-label": this.label, "aria-required": this.requiredField ? "true" : null }), h("priv-datepicker", { disabled: this.disabled, date: this.lastValidValue ? new Date(this.lastValidValue) : new Date(), parentId: this.uid })), h("div", { id: `error-${this.uid}`, class: "error", "aria-live": "assertive", "aria-atomic": "true" }, this.displayError)))));
256
- }
257
- static get is() { return "wm-datepicker"; }
258
- static get encapsulation() { return "shadow"; }
259
- static get delegatesFocus() { return true; }
260
- static get originalStyleUrls() {
261
- return {
262
- "$": ["wm-datepicker.scss"]
263
- };
264
- }
265
- static get styleUrls() {
266
- return {
267
- "$": ["wm-datepicker.css"]
268
- };
269
- }
270
- static get properties() {
271
- return {
272
- "value": {
273
- "type": "string",
274
- "mutable": true,
275
- "complexType": {
276
- "original": "string",
277
- "resolved": "string | undefined",
278
- "references": {}
279
- },
280
- "required": false,
281
- "optional": true,
282
- "docs": {
283
- "tags": [],
284
- "text": ""
285
- },
286
- "attribute": "value",
287
- "reflect": false,
288
- "defaultValue": "\"\""
289
- },
290
- "disabled": {
291
- "type": "boolean",
292
- "mutable": false,
293
- "complexType": {
294
- "original": "boolean",
295
- "resolved": "boolean",
296
- "references": {}
297
- },
298
- "required": false,
299
- "optional": false,
300
- "docs": {
301
- "tags": [],
302
- "text": ""
303
- },
304
- "attribute": "disabled",
305
- "reflect": false,
306
- "defaultValue": "false"
307
- },
308
- "dateFormat": {
309
- "type": "string",
310
- "mutable": true,
311
- "complexType": {
312
- "original": "string",
313
- "resolved": "string",
314
- "references": {}
315
- },
316
- "required": false,
317
- "optional": false,
318
- "docs": {
319
- "tags": [],
320
- "text": ""
321
- },
322
- "attribute": "date-format",
323
- "reflect": false,
324
- "defaultValue": "\"US\""
325
- },
326
- "errorMessage": {
327
- "type": "string",
328
- "mutable": false,
329
- "complexType": {
330
- "original": "string",
331
- "resolved": "string",
332
- "references": {}
333
- },
334
- "required": false,
335
- "optional": false,
336
- "docs": {
337
- "tags": [],
338
- "text": ""
339
- },
340
- "attribute": "error-message",
341
- "reflect": true,
342
- "defaultValue": "\"\""
343
- },
344
- "labelPosition": {
345
- "type": "string",
346
- "mutable": true,
347
- "complexType": {
348
- "original": "\"top\" | \"left\" | \"none\"",
349
- "resolved": "\"left\" | \"none\" | \"top\"",
350
- "references": {}
351
- },
352
- "required": false,
353
- "optional": false,
354
- "docs": {
355
- "tags": [],
356
- "text": ""
357
- },
358
- "attribute": "label-position",
359
- "reflect": false,
360
- "defaultValue": "\"top\""
361
- },
362
- "label": {
363
- "type": "string",
364
- "mutable": true,
365
- "complexType": {
366
- "original": "string",
367
- "resolved": "string",
368
- "references": {}
369
- },
370
- "required": false,
371
- "optional": false,
372
- "docs": {
373
- "tags": [],
374
- "text": ""
375
- },
376
- "attribute": "label",
377
- "reflect": false,
378
- "defaultValue": "\"\""
379
- },
380
- "requiredField": {
381
- "type": "boolean",
382
- "mutable": false,
383
- "complexType": {
384
- "original": "boolean",
385
- "resolved": "boolean",
386
- "references": {}
387
- },
388
- "required": false,
389
- "optional": false,
390
- "docs": {
391
- "tags": [],
392
- "text": ""
393
- },
394
- "attribute": "required-field",
395
- "reflect": false,
396
- "defaultValue": "false"
397
- },
398
- "requiredFieldMessage": {
399
- "type": "string",
400
- "mutable": false,
401
- "complexType": {
402
- "original": "string",
403
- "resolved": "string | undefined",
404
- "references": {}
405
- },
406
- "required": false,
407
- "optional": true,
408
- "docs": {
409
- "tags": [],
410
- "text": ""
411
- },
412
- "attribute": "required-field-message",
413
- "reflect": false
414
- },
415
- "preventValidation": {
416
- "type": "string",
417
- "mutable": false,
418
- "complexType": {
419
- "original": "string",
420
- "resolved": "string | undefined",
421
- "references": {}
422
- },
423
- "required": false,
424
- "optional": true,
425
- "docs": {
426
- "tags": [],
427
- "text": ""
428
- },
429
- "attribute": "prevent-validation",
430
- "reflect": false
431
- }
432
- };
433
- }
434
- static get states() {
435
- return {
436
- "displayError": {}
437
- };
438
- }
439
- static get events() {
440
- return [{
441
- "method": "wmDatepickerNewValidValue",
442
- "name": "wmDatepickerNewValidValue",
443
- "bubbles": true,
444
- "cancelable": true,
445
- "composed": true,
446
- "docs": {
447
- "tags": [],
448
- "text": ""
449
- },
450
- "complexType": {
451
- "original": "any",
452
- "resolved": "any",
453
- "references": {}
454
- }
455
- }];
456
- }
457
- static get elementRef() { return "el"; }
458
- static get watchers() {
459
- return [{
460
- "propName": "errorMessage",
461
- "methodName": "handleError"
462
- }];
463
- }
464
- static get listeners() {
465
- return [{
466
- "name": "keydown",
467
- "method": "handleTabbingOn",
468
- "target": undefined,
469
- "capture": false,
470
- "passive": false
471
- }, {
472
- "name": "click",
473
- "method": "handleTabbingOff",
474
- "target": undefined,
475
- "capture": false,
476
- "passive": false
477
- }, {
478
- "name": "popupBlurred",
479
- "method": "handlePopupBlurred",
480
- "target": undefined,
481
- "capture": false,
482
- "passive": false
483
- }, {
484
- "name": "cellTriggered",
485
- "method": "handleCellTriggered",
486
- "target": undefined,
487
- "capture": false,
488
- "passive": false
489
- }];
490
- }
491
- }
492
- //# sourceMappingURL=wm-datepicker.js.map
1
+ import { h, Host } from "@stencil/core";
2
+ import { generateId, checkForFocusableElInShadow, intl, isRelatedTarget } from "../../global/functions";
3
+ export class DatePicker {
4
+ constructor() {
5
+ // we only want to fire the "change" event if the value has actually changed (that's
6
+ // how native elements do it), so we need to keep in state the last committed value.
7
+ this.lastCommittedValue = this.value;
8
+ // 1, 2, or 4 digits, separator, 1 or 2 digits, separator, then 1 or 2 or 4 digits
9
+ this.parsableEntry = /^(\d{1}|\d{2}|\d{4})[\-\.\/]\d{1,2}[\-\.\/](\d{1}|\d{2}|\d{4})$/;
10
+ this.isoEntry = /^\d\d\d\d[-]\d\d[-]\d\d$/;
11
+ this.eightDigitsEntry = /^\d{8}$/;
12
+ this.dateFormats = {
13
+ US: intl.formatMessage({
14
+ id: "date.formatUS",
15
+ defaultMessage: "mm/dd/yyyy",
16
+ }),
17
+ INT: intl.formatMessage({
18
+ id: "date.formatINT",
19
+ defaultMessage: "dd/mm/yyyy",
20
+ }),
21
+ ISO: intl.formatMessage({
22
+ id: "date.formatISO",
23
+ defaultMessage: "yyyy/mm/dd",
24
+ }),
25
+ };
26
+ this.value = "";
27
+ this.disabled = false;
28
+ this.dateFormat = "US";
29
+ this.errorMessage = "";
30
+ this.labelPosition = "top";
31
+ this.label = "";
32
+ this.requiredField = false;
33
+ this.requiredFieldMessage = undefined;
34
+ this.preventValidation = undefined;
35
+ this.displayError = "";
36
+ }
37
+ handleTabbingOn() {
38
+ this.dpWrapper && this.dpWrapper.classList.add("user-is-tabbing");
39
+ }
40
+ handleTabbingOff() {
41
+ this.dpWrapper && this.dpWrapper.classList.remove("user-is-tabbing");
42
+ }
43
+ handleError() {
44
+ if (this.errorMessage) {
45
+ this.generateError();
46
+ }
47
+ else {
48
+ this.clearError();
49
+ this.processInput();
50
+ }
51
+ }
52
+ handleInput(ev) {
53
+ // keep component's value in sync with input's value
54
+ // validation only happens on blur and initial load,
55
+ // but component's value should reflect user input at any time
56
+ this.value = ev.target.value; // same as this.inputEl.value
57
+ }
58
+ // this is input blur, not component blur
59
+ handleBlur(ev) {
60
+ // do not validate if clicking to an element that should prevent validation (e.g. close button on modal)
61
+ const shouldPreventValidation = this.preventValidation && isRelatedTarget(ev, this.preventValidation);
62
+ if (!shouldPreventValidation) {
63
+ this.processInput();
64
+ }
65
+ this.dpWrapper.classList.remove("focus");
66
+ }
67
+ // this is input focus, not component focus
68
+ focusHandler() {
69
+ this.dpWrapper.classList.add("focus");
70
+ }
71
+ handlePopupBlurred(ev) {
72
+ // emit blur event when leaving component from priv-datepicker
73
+ if (ev.detail.relatedTarget !== this.el) {
74
+ const event = new CustomEvent("blur");
75
+ // @ts-ignore
76
+ event.relatedTarget = ev.detail.relatedTarget;
77
+ this.el.dispatchEvent(event);
78
+ }
79
+ }
80
+ getActiveElement() {
81
+ return checkForFocusableElInShadow(document.activeElement);
82
+ }
83
+ handleCellTriggered(ev) {
84
+ let dateElement = ev.detail;
85
+ let isoDate = dateElement.getAttribute("data-year") +
86
+ "-" +
87
+ dateElement.getAttribute("data-month") +
88
+ "-" +
89
+ dateElement.textContent;
90
+ this.inputEl.value = this.reformatDate(this.dateFormat, isoDate);
91
+ this.processInput();
92
+ // Create event to trigger onInput function on host element, to get the updated value
93
+ // Because there are more ways to input than just typing, we are firing this event upon cellTriggered
94
+ const event = new CustomEvent("input");
95
+ this.el.dispatchEvent(event);
96
+ }
97
+ processInput(isFirstLoad) {
98
+ // The required field error should not display on first load
99
+ const leftEmpty = !isFirstLoad && this.requiredField;
100
+ let isoDate = this.inputEl.value;
101
+ //If input is 8 digits, add slashes as a courtesy and process anyway
102
+ if (this.eightDigitsEntry.test(this.inputEl.value)) {
103
+ this.inputEl.value = this.addSlashes(this.inputEl.value);
104
+ }
105
+ // if we don't have 2 separators we can't reformat so we'll return what was passed in
106
+ if (this.parsableEntry.test(this.inputEl.value)) {
107
+ //ISO format for submission
108
+ isoDate = this.reformatDate("ISO", this.inputEl.value);
109
+ //User-specific format for display
110
+ this.inputEl.value = this.reformatDate(this.dateFormat, isoDate);
111
+ if (this.isValidDate(isoDate)) {
112
+ //If there's no errorMessage on state, all errors can be cleared. If there IS an error message, it will clear any internal validation errors by overriding them.
113
+ if (this.errorMessage) {
114
+ this.generateError();
115
+ }
116
+ else {
117
+ this.clearError();
118
+ }
119
+ //Prevents error from appearing if input field is empty
120
+ }
121
+ else if (this.inputEl.value.length) {
122
+ this.generateError();
123
+ }
124
+ }
125
+ else if (this.inputEl.value.length || leftEmpty || this.errorMessage) {
126
+ this.generateError();
127
+ }
128
+ else if (!this.inputEl.value.length && !leftEmpty) {
129
+ this.clearError();
130
+ }
131
+ // value is set to the reformated date or whatever the user passed
132
+ this.value = isoDate;
133
+ if (isoDate !== this.lastCommittedValue) {
134
+ const event = new CustomEvent("change");
135
+ this.el.dispatchEvent(event);
136
+ this.lastCommittedValue = this.value;
137
+ }
138
+ // event must fire after we set this.value
139
+ // only fire if new valid value is different from the previous one
140
+ if (this.isValidDate(isoDate) && isoDate !== this.lastValidValue) {
141
+ this.wmDatepickerNewValidValue.emit();
142
+ //Update prop passed into calendar to valid date
143
+ this.lastValidValue = isoDate;
144
+ }
145
+ }
146
+ // this function reformats date strings to/from the storage format ONLY. US -> INT and vice versa is not supported.
147
+ reformatDate(toFormat, date) {
148
+ if (!date) {
149
+ return "";
150
+ }
151
+ else if (!this.parsableEntry.test(date)) {
152
+ return date;
153
+ }
154
+ else {
155
+ let dateArr = date.replace(/[\-\.]/gi, "/").split("/");
156
+ switch (toFormat) {
157
+ case "US":
158
+ case this.dateFormats["US"]:
159
+ return dateArr[1].padStart(2, "0") + "/" + dateArr[2].padStart(2, "0") + "/" + dateArr[0].padStart(4, "20");
160
+ case "INT":
161
+ case this.dateFormats["INT"]:
162
+ return dateArr[2].padStart(2, "0") + "/" + dateArr[1].padStart(2, "0") + "/" + dateArr[0].padStart(4, "20");
163
+ case "ISO":
164
+ case this.dateFormats["ISO"]:
165
+ if (this.dateFormat === "US" || this.dateFormat === this.dateFormats["US"]) {
166
+ return dateArr[2].padStart(4, "20") + "-" + dateArr[0].padStart(2, "0") + "-" + dateArr[1].padStart(2, "0");
167
+ }
168
+ else if (this.dateFormat === "INT" || this.dateFormat === this.dateFormats["INT"]) {
169
+ return dateArr[2].padStart(4, "20") + "-" + dateArr[1].padStart(2, "0") + "-" + dateArr[0].padStart(2, "0");
170
+ }
171
+ else if (this.dateFormat === "ISO" || this.dateFormat === this.dateFormats["ISO"]) {
172
+ return dateArr[0].padStart(4, "20") + "-" + dateArr[1].padStart(2, "0") + "-" + dateArr[2].padStart(2, "0");
173
+ }
174
+ default:
175
+ return dateArr.join("/");
176
+ }
177
+ }
178
+ }
179
+ isValidDate(input) {
180
+ // if it's not ISO it's not valid
181
+ if (!input || !this.isoEntry.test(input)) {
182
+ return false;
183
+ }
184
+ else {
185
+ // Parse the ISO date parts to integers
186
+ let parts = input.split("-");
187
+ let day = parseInt(parts[2], 10);
188
+ let month = parseInt(parts[1], 10);
189
+ let year = parseInt(parts[0], 10);
190
+ // Check the ranges of month and year
191
+ if (year < 1000 || year > 3000 || month == 0 || month > 12)
192
+ return false;
193
+ let monthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
194
+ // Adjust for leap years
195
+ if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0))
196
+ monthLength[1] = 29;
197
+ // Check the range of the day
198
+ return day > 0 && day <= monthLength[month - 1];
199
+ }
200
+ }
201
+ generateError() {
202
+ const requiredDateErr = this.requiredFieldMessage ||
203
+ intl.formatMessage({
204
+ id: "date.requiredDateError",
205
+ defaultMessage: "A date is required.",
206
+ });
207
+ const validDateErr = intl.formatMessage({
208
+ id: "date.invalidDate",
209
+ defaultMessage: "Please enter a valid date in the format {dateFormat, select, us {mm/dd/yyyy} int {dd/mm/yyyy} other {yyyy/mm/dd}}.",
210
+ }, { dateFormat: this.dateFormat.toLowerCase() });
211
+ if (this.errorMessage) {
212
+ this.displayError = this.errorMessage;
213
+ }
214
+ else if (this.inputEl.value.length) {
215
+ this.displayError = validDateErr;
216
+ }
217
+ else if (!this.inputEl.value.length && this.requiredField) {
218
+ this.displayError = requiredDateErr;
219
+ }
220
+ }
221
+ clearError() {
222
+ this.displayError = "";
223
+ }
224
+ addSlashes(input) {
225
+ if (this.dateFormat === "ISO" || this.dateFormat === this.dateFormats["ISO"]) {
226
+ return input.substring(0, 4) + "/" + input.substring(4, 6) + "/" + input.substring(6);
227
+ }
228
+ else {
229
+ return input.substring(0, 2) + "/" + input.substring(2, 4) + "/" + input.substring(4);
230
+ }
231
+ }
232
+ componentWillLoad() {
233
+ if (this.label === "") {
234
+ console.error("You must include a label prop for the datepicker input (for accessibility reasons), even if the label position is none.");
235
+ }
236
+ if (this.errorMessage) {
237
+ this.generateError();
238
+ }
239
+ this.uid = this.el.id ? this.el.id : generateId();
240
+ if (this.value && this.isValidDate(this.value)) {
241
+ // update value passed into calendar so that it opens on the specified date
242
+ this.lastValidValue = this.value;
243
+ }
244
+ }
245
+ componentDidLoad() {
246
+ // convert passed-in starting date from ISO to locale format, update displayed input to proper format
247
+ this.inputEl.value = this.reformatDate(this.dateFormat, this.value);
248
+ this.processInput(true);
249
+ }
250
+ render() {
251
+ const dateFormat = intl.formatMessage({
252
+ id: "date.format",
253
+ defaultMessage: "{dateFormat, select, us {mm/dd/yyyy} int {dd/mm/yyyy} other {yyyy/mm/dd}}",
254
+ }, { dateFormat: this.dateFormat.toLowerCase() });
255
+ return (h(Host, { id: this.uid, "aria-busy": "false", class: `${this.displayError ? "invalid" : ""}`, invalid: this.displayError ? "true" : null }, h("div", { ref: (d) => (this.dpWrapper = d), class: `wrapper label-${this.labelPosition} ${this.displayError ? "invalid" : ""}` }, h("div", { class: "label-wrapper" }, this.labelPosition !== "none" && (h("label", { id: `datepickerLabel-${this.uid}`, htmlFor: `date-input-${this.uid}`, class: "label", title: `${this.label} (${dateFormat})` }, this.label, this.requiredField && (h("span", { "aria-hidden": "true", class: "required" }, "*"))))), h("div", null, h("div", { class: "inner-wrapper" }, h("input", { disabled: this.disabled, type: "text", id: `date-input-${this.uid}`, class: "date-input", name: "date", placeholder: dateFormat, onFocus: this.focusHandler.bind(this), onInput: (ev) => this.handleInput(ev), onBlur: (ev) => this.handleBlur(ev), ref: (input) => (this.inputEl = input), "aria-describedby": `error-${this.uid}`, "aria-controls": `popup-${this.uid}`, "aria-label": this.label, "aria-required": this.requiredField ? "true" : null }), h("priv-datepicker", { disabled: this.disabled, date: this.lastValidValue ? new Date(this.lastValidValue) : new Date(), parentId: this.uid })), h("div", { id: `error-${this.uid}`, class: "error", "aria-live": "assertive", "aria-atomic": "true" }, this.displayError)))));
256
+ }
257
+ static get is() { return "wm-datepicker"; }
258
+ static get encapsulation() { return "shadow"; }
259
+ static get delegatesFocus() { return true; }
260
+ static get originalStyleUrls() {
261
+ return {
262
+ "$": ["wm-datepicker.scss"]
263
+ };
264
+ }
265
+ static get styleUrls() {
266
+ return {
267
+ "$": ["wm-datepicker.css"]
268
+ };
269
+ }
270
+ static get properties() {
271
+ return {
272
+ "value": {
273
+ "type": "string",
274
+ "mutable": true,
275
+ "complexType": {
276
+ "original": "string",
277
+ "resolved": "string | undefined",
278
+ "references": {}
279
+ },
280
+ "required": false,
281
+ "optional": true,
282
+ "docs": {
283
+ "tags": [],
284
+ "text": ""
285
+ },
286
+ "attribute": "value",
287
+ "reflect": false,
288
+ "defaultValue": "\"\""
289
+ },
290
+ "disabled": {
291
+ "type": "boolean",
292
+ "mutable": false,
293
+ "complexType": {
294
+ "original": "boolean",
295
+ "resolved": "boolean",
296
+ "references": {}
297
+ },
298
+ "required": false,
299
+ "optional": false,
300
+ "docs": {
301
+ "tags": [],
302
+ "text": ""
303
+ },
304
+ "attribute": "disabled",
305
+ "reflect": false,
306
+ "defaultValue": "false"
307
+ },
308
+ "dateFormat": {
309
+ "type": "string",
310
+ "mutable": true,
311
+ "complexType": {
312
+ "original": "string",
313
+ "resolved": "string",
314
+ "references": {}
315
+ },
316
+ "required": false,
317
+ "optional": false,
318
+ "docs": {
319
+ "tags": [],
320
+ "text": ""
321
+ },
322
+ "attribute": "date-format",
323
+ "reflect": false,
324
+ "defaultValue": "\"US\""
325
+ },
326
+ "errorMessage": {
327
+ "type": "string",
328
+ "mutable": false,
329
+ "complexType": {
330
+ "original": "string",
331
+ "resolved": "string",
332
+ "references": {}
333
+ },
334
+ "required": false,
335
+ "optional": false,
336
+ "docs": {
337
+ "tags": [],
338
+ "text": ""
339
+ },
340
+ "attribute": "error-message",
341
+ "reflect": true,
342
+ "defaultValue": "\"\""
343
+ },
344
+ "labelPosition": {
345
+ "type": "string",
346
+ "mutable": true,
347
+ "complexType": {
348
+ "original": "\"top\" | \"left\" | \"none\"",
349
+ "resolved": "\"left\" | \"none\" | \"top\"",
350
+ "references": {}
351
+ },
352
+ "required": false,
353
+ "optional": false,
354
+ "docs": {
355
+ "tags": [],
356
+ "text": ""
357
+ },
358
+ "attribute": "label-position",
359
+ "reflect": false,
360
+ "defaultValue": "\"top\""
361
+ },
362
+ "label": {
363
+ "type": "string",
364
+ "mutable": true,
365
+ "complexType": {
366
+ "original": "string",
367
+ "resolved": "string",
368
+ "references": {}
369
+ },
370
+ "required": false,
371
+ "optional": false,
372
+ "docs": {
373
+ "tags": [],
374
+ "text": ""
375
+ },
376
+ "attribute": "label",
377
+ "reflect": false,
378
+ "defaultValue": "\"\""
379
+ },
380
+ "requiredField": {
381
+ "type": "boolean",
382
+ "mutable": false,
383
+ "complexType": {
384
+ "original": "boolean",
385
+ "resolved": "boolean",
386
+ "references": {}
387
+ },
388
+ "required": false,
389
+ "optional": false,
390
+ "docs": {
391
+ "tags": [],
392
+ "text": ""
393
+ },
394
+ "attribute": "required-field",
395
+ "reflect": false,
396
+ "defaultValue": "false"
397
+ },
398
+ "requiredFieldMessage": {
399
+ "type": "string",
400
+ "mutable": false,
401
+ "complexType": {
402
+ "original": "string",
403
+ "resolved": "string | undefined",
404
+ "references": {}
405
+ },
406
+ "required": false,
407
+ "optional": true,
408
+ "docs": {
409
+ "tags": [],
410
+ "text": ""
411
+ },
412
+ "attribute": "required-field-message",
413
+ "reflect": false
414
+ },
415
+ "preventValidation": {
416
+ "type": "string",
417
+ "mutable": false,
418
+ "complexType": {
419
+ "original": "string",
420
+ "resolved": "string | undefined",
421
+ "references": {}
422
+ },
423
+ "required": false,
424
+ "optional": true,
425
+ "docs": {
426
+ "tags": [],
427
+ "text": ""
428
+ },
429
+ "attribute": "prevent-validation",
430
+ "reflect": false
431
+ }
432
+ };
433
+ }
434
+ static get states() {
435
+ return {
436
+ "displayError": {}
437
+ };
438
+ }
439
+ static get events() {
440
+ return [{
441
+ "method": "wmDatepickerNewValidValue",
442
+ "name": "wmDatepickerNewValidValue",
443
+ "bubbles": true,
444
+ "cancelable": true,
445
+ "composed": true,
446
+ "docs": {
447
+ "tags": [],
448
+ "text": ""
449
+ },
450
+ "complexType": {
451
+ "original": "any",
452
+ "resolved": "any",
453
+ "references": {}
454
+ }
455
+ }];
456
+ }
457
+ static get elementRef() { return "el"; }
458
+ static get watchers() {
459
+ return [{
460
+ "propName": "errorMessage",
461
+ "methodName": "handleError"
462
+ }];
463
+ }
464
+ static get listeners() {
465
+ return [{
466
+ "name": "keydown",
467
+ "method": "handleTabbingOn",
468
+ "target": undefined,
469
+ "capture": false,
470
+ "passive": false
471
+ }, {
472
+ "name": "click",
473
+ "method": "handleTabbingOff",
474
+ "target": undefined,
475
+ "capture": false,
476
+ "passive": false
477
+ }, {
478
+ "name": "popupBlurred",
479
+ "method": "handlePopupBlurred",
480
+ "target": undefined,
481
+ "capture": false,
482
+ "passive": false
483
+ }, {
484
+ "name": "cellTriggered",
485
+ "method": "handleCellTriggered",
486
+ "target": undefined,
487
+ "capture": false,
488
+ "passive": false
489
+ }];
490
+ }
491
+ }
492
+ //# sourceMappingURL=wm-datepicker.js.map