@watermarkinsights/ripple 4.2.0-1 → 4.2.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 (367) hide show
  1. package/dist/cjs/chartFunctions-2c3e010e.js +600 -0
  2. package/dist/cjs/{functions-4208c444.js → functions-91da05e9.js} +362 -362
  3. package/dist/cjs/{global-2806c327.js → global-b85941b0.js} +24 -24
  4. package/dist/cjs/{index-f8ef86de.js → index-fae02cd7.js} +150 -436
  5. package/dist/cjs/interfaces-245d7bff.js +38 -0
  6. package/dist/cjs/intl-fa3bb4ae.js +179 -0
  7. package/dist/cjs/loader.cjs.js +13 -4
  8. package/dist/cjs/priv-chart-popover.cjs.entry.js +85 -85
  9. package/dist/cjs/priv-datepicker.cjs.entry.js +637 -637
  10. package/dist/cjs/priv-navigator-button.cjs.entry.js +18 -18
  11. package/dist/cjs/priv-navigator-item.cjs.entry.js +21 -21
  12. package/dist/cjs/ripple.cjs.js +7 -4
  13. package/dist/cjs/wm-action-menu_2.cjs.entry.js +314 -314
  14. package/dist/cjs/wm-button.cjs.entry.js +174 -174
  15. package/dist/cjs/wm-chart-slice.cjs.entry.js +17 -17
  16. package/dist/cjs/wm-chart.cjs.entry.js +164 -164
  17. package/dist/cjs/wm-datepicker.cjs.entry.js +160 -160
  18. package/dist/cjs/wm-file-list.cjs.entry.js +10 -10
  19. package/dist/cjs/wm-file.cjs.entry.js +178 -178
  20. package/dist/cjs/wm-input.cjs.entry.js +102 -102
  21. package/dist/cjs/wm-line-chart.cjs.entry.js +448 -448
  22. package/dist/cjs/wm-modal-footer.cjs.entry.js +27 -27
  23. package/dist/cjs/wm-modal-header.cjs.entry.js +21 -21
  24. package/dist/cjs/wm-modal.cjs.entry.js +92 -92
  25. package/dist/cjs/wm-navigation_3.cjs.entry.js +179 -179
  26. package/dist/cjs/wm-navigator.cjs.entry.js +251 -251
  27. package/dist/cjs/wm-option_2.cjs.entry.js +710 -710
  28. package/dist/cjs/wm-pagination.cjs.entry.js +169 -169
  29. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +151 -151
  30. package/dist/cjs/wm-search.cjs.entry.js +192 -192
  31. package/dist/cjs/wm-snackbar.cjs.entry.js +114 -114
  32. package/dist/cjs/wm-tab-item_3.cjs.entry.js +247 -247
  33. package/dist/cjs/wm-tag-input.cjs.entry.js +849 -849
  34. package/dist/cjs/wm-tag-option.cjs.entry.js +33 -33
  35. package/dist/cjs/wm-timepicker.cjs.entry.js +270 -270
  36. package/dist/cjs/wm-toggletip.cjs.entry.js +99 -99
  37. package/dist/cjs/wm-uploader.cjs.entry.js +198 -198
  38. package/dist/cjs/wm-wrapper.cjs.entry.js +12 -12
  39. package/dist/collection/collection-manifest.json +41 -41
  40. package/dist/collection/components/charts/chartFunctions.js +456 -456
  41. package/dist/collection/components/charts/chartFunctions.spec.js +13 -13
  42. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.e2e.js +73 -73
  43. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +254 -257
  44. package/dist/collection/components/charts/screenshots.e2e.js +30 -30
  45. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +121 -121
  46. package/dist/collection/components/charts/wm-chart/wm-chart.e2e.js +160 -160
  47. package/dist/collection/components/charts/wm-chart/wm-chart.js +381 -382
  48. package/dist/collection/components/charts/wm-chart/wm-chart.spec.js +26 -26
  49. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.css +2 -1
  50. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.e2e.js +138 -138
  51. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.js +717 -717
  52. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.spec.js +106 -106
  53. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +202 -202
  54. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.e2e.js +54 -54
  55. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +136 -136
  56. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.spec.js +31 -31
  57. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +119 -119
  58. package/dist/collection/components/wm-action-menu/wm-action-menu.e2e.js +187 -187
  59. package/dist/collection/components/wm-action-menu/wm-action-menu.js +435 -435
  60. package/dist/collection/components/wm-action-menu/wm-action-menu.spec.js +35 -35
  61. package/dist/collection/components/wm-button/wm-button.e2e.js +58 -58
  62. package/dist/collection/components/wm-button/wm-button.js +452 -454
  63. package/dist/collection/components/wm-button/wm-button.spec.js +63 -63
  64. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +939 -943
  65. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.spec.js +71 -71
  66. package/dist/collection/components/wm-datepicker/wm-datepicker.css +2 -1
  67. package/dist/collection/components/wm-datepicker/wm-datepicker.e2e.js +359 -359
  68. package/dist/collection/components/wm-datepicker/wm-datepicker.js +413 -415
  69. package/dist/collection/components/wm-datepicker/wm-datepicker.spec.js +13 -13
  70. package/dist/collection/components/wm-file/wm-file.js +380 -380
  71. package/dist/collection/components/wm-file/wm-file.spec.js +107 -107
  72. package/dist/collection/components/wm-file-list/wm-file-list.js +42 -42
  73. package/dist/collection/components/wm-file-list/wm-file-list.spec.js +47 -47
  74. package/dist/collection/components/wm-input/wm-input.e2e.js +26 -26
  75. package/dist/collection/components/wm-input/wm-input.js +453 -453
  76. package/dist/collection/components/wm-input/wm-input.spec.js +168 -168
  77. package/dist/collection/components/wm-menuitem/wm-menuitem.e2e.js +18 -18
  78. package/dist/collection/components/wm-menuitem/wm-menuitem.js +436 -446
  79. package/dist/collection/components/wm-menuitem/wm-menuitem.spec.js +46 -46
  80. package/dist/collection/components/wm-modal/wm-modal-footer.js +130 -130
  81. package/dist/collection/components/wm-modal/wm-modal-footer.spec.js +8 -8
  82. package/dist/collection/components/wm-modal/wm-modal-header.js +68 -68
  83. package/dist/collection/components/wm-modal/wm-modal-header.spec.js +5 -5
  84. package/dist/collection/components/wm-modal/wm-modal.e2e.js +65 -65
  85. package/dist/collection/components/wm-modal/wm-modal.js +296 -299
  86. package/dist/collection/components/wm-modal/wm-modal.spec.js +22 -22
  87. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.css +1 -0
  88. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +112 -112
  89. package/dist/collection/components/wm-navigation/wm-navigation-item.js +125 -125
  90. package/dist/collection/components/wm-navigation/wm-navigation.css +2 -0
  91. package/dist/collection/components/wm-navigation/wm-navigation.e2e.js +86 -86
  92. package/dist/collection/components/wm-navigation/wm-navigation.js +209 -209
  93. package/dist/collection/components/wm-navigation/wm-navigation.spec.js +79 -79
  94. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.e2e.js +30 -30
  95. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +103 -103
  96. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +118 -119
  97. package/dist/collection/components/wm-navigator/wm-navigator.e2e.js +180 -180
  98. package/dist/collection/components/wm-navigator/wm-navigator.js +454 -454
  99. package/dist/collection/components/wm-navigator/wm-navigator.spec.js +153 -153
  100. package/dist/collection/components/wm-option/wm-option.e2e.js +19 -19
  101. package/dist/collection/components/wm-option/wm-option.js +463 -474
  102. package/dist/collection/components/wm-option/wm-option.spec.js +39 -39
  103. package/dist/collection/components/wm-pagination/wm-pagination.e2e.js +301 -301
  104. package/dist/collection/components/wm-pagination/wm-pagination.js +327 -327
  105. package/dist/collection/components/wm-search/wm-search.e2e.js +69 -69
  106. package/dist/collection/components/wm-search/wm-search.js +414 -415
  107. package/dist/collection/components/wm-search/wm-search.spec.js +64 -64
  108. package/dist/collection/components/wm-select/wm-select.e2e.js +443 -443
  109. package/dist/collection/components/wm-select/wm-select.js +966 -967
  110. package/dist/collection/components/wm-select/wm-select.spec.js +250 -250
  111. package/dist/collection/components/wm-snackbar/wm-snackbar.e2e.js +114 -114
  112. package/dist/collection/components/wm-snackbar/wm-snackbar.js +207 -209
  113. package/dist/collection/components/wm-snackbar/wm-snackbar.spec.js +4 -4
  114. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +188 -190
  115. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +261 -261
  116. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +104 -104
  117. package/dist/collection/components/wm-tabs/wm-tabs.e2e.js +79 -79
  118. package/dist/collection/components/wm-tabs/wm-tabs.spec.js +6 -6
  119. package/dist/collection/components/wm-tag-input/wm-tag-input.css +4 -2
  120. package/dist/collection/components/wm-tag-input/wm-tag-input.e2e.js +168 -168
  121. package/dist/collection/components/wm-tag-input/wm-tag-input.js +1159 -1159
  122. package/dist/collection/components/wm-tag-input/wm-tag-input.spec.js +147 -147
  123. package/dist/collection/components/wm-tag-input/wm-tag-option/wm-tag-option.js +234 -236
  124. package/dist/collection/components/wm-timepicker/wm-timepicker.css +2 -1
  125. package/dist/collection/components/wm-timepicker/wm-timepicker.e2e.js +147 -147
  126. package/dist/collection/components/wm-timepicker/wm-timepicker.js +527 -531
  127. package/dist/collection/components/wm-timepicker/wm-timepicker.spec.js +151 -151
  128. package/dist/collection/components/wm-toggletip/wm-toggletip.e2e.js +61 -61
  129. package/dist/collection/components/wm-toggletip/wm-toggletip.js +208 -209
  130. package/dist/collection/components/wm-toggletip/wm-toggletip.spec.js +16 -16
  131. package/dist/collection/components/wm-uploader/wm-uploader.e2e.js +56 -56
  132. package/dist/collection/components/wm-uploader/wm-uploader.js +422 -423
  133. package/dist/collection/components/wm-uploader/wm-uploader.spec.js +149 -149
  134. package/dist/collection/components/wm-wrapper/wm-wrapper.js +26 -26
  135. package/dist/collection/global/__mocks__/functions.js +1 -1
  136. package/dist/collection/global/functions.js +510 -510
  137. package/dist/collection/global/functions.spec.js +123 -123
  138. package/dist/collection/global/global.js +16 -16
  139. package/dist/collection/global/interfaces.js +39 -39
  140. package/dist/collection/global/intl.js +162 -162
  141. package/dist/collection/global/services/__mocks__/http-service.js +112 -112
  142. package/dist/collection/global/services/http-service.js +41 -41
  143. package/dist/collection/global/themes/default.js +4 -4
  144. package/dist/collection/global/themes/neutral.js +4 -4
  145. package/dist/collection/lang/lang.spec.js +13 -13
  146. package/dist/esm/chartFunctions-36634c04.js +584 -0
  147. package/dist/esm/{functions-d0e70094.js → functions-5afd09f4.js} +362 -362
  148. package/dist/esm/{global-08dce155.js → global-91088105.js} +24 -24
  149. package/dist/esm/{index-f164fbca.js → index-7e11ea42.js} +150 -436
  150. package/dist/esm/interfaces-89cad2fc.js +35 -0
  151. package/dist/esm/intl-e2da750a.js +174 -0
  152. package/dist/esm/loader.js +14 -5
  153. package/dist/esm/polyfills/css-shim.js +1 -0
  154. package/dist/esm/priv-chart-popover.entry.js +85 -85
  155. package/dist/esm/priv-datepicker.entry.js +637 -637
  156. package/dist/esm/priv-navigator-button.entry.js +18 -18
  157. package/dist/esm/priv-navigator-item.entry.js +21 -21
  158. package/dist/esm/ripple.js +8 -5
  159. package/dist/esm/wm-action-menu_2.entry.js +314 -314
  160. package/dist/esm/wm-button.entry.js +174 -174
  161. package/dist/esm/wm-chart-slice.entry.js +17 -17
  162. package/dist/esm/wm-chart.entry.js +164 -164
  163. package/dist/esm/wm-datepicker.entry.js +160 -160
  164. package/dist/esm/wm-file-list.entry.js +10 -10
  165. package/dist/esm/wm-file.entry.js +178 -178
  166. package/dist/esm/wm-input.entry.js +102 -102
  167. package/dist/esm/wm-line-chart.entry.js +448 -448
  168. package/dist/esm/wm-modal-footer.entry.js +27 -27
  169. package/dist/esm/wm-modal-header.entry.js +21 -21
  170. package/dist/esm/wm-modal.entry.js +92 -92
  171. package/dist/esm/wm-navigation_3.entry.js +179 -179
  172. package/dist/esm/wm-navigator.entry.js +251 -251
  173. package/dist/esm/wm-option_2.entry.js +710 -710
  174. package/dist/esm/wm-pagination.entry.js +169 -169
  175. package/dist/esm/wm-progress-indicator_3.entry.js +151 -151
  176. package/dist/esm/wm-search.entry.js +192 -192
  177. package/dist/esm/wm-snackbar.entry.js +114 -114
  178. package/dist/esm/wm-tab-item_3.entry.js +247 -247
  179. package/dist/esm/wm-tag-input.entry.js +849 -849
  180. package/dist/esm/wm-tag-option.entry.js +33 -33
  181. package/dist/esm/wm-timepicker.entry.js +270 -270
  182. package/dist/esm/wm-toggletip.entry.js +99 -99
  183. package/dist/esm/wm-uploader.entry.js +198 -198
  184. package/dist/esm/wm-wrapper.entry.js +12 -12
  185. package/dist/esm-es5/chartFunctions-36634c04.js +1 -0
  186. package/dist/esm-es5/functions-5afd09f4.js +1 -0
  187. package/dist/esm-es5/global-91088105.js +1 -0
  188. package/dist/esm-es5/index-7e11ea42.js +2 -0
  189. package/dist/esm-es5/{intl-05c9e0c9.js → intl-e2da750a.js} +1 -1
  190. package/dist/esm-es5/loader.js +1 -1
  191. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  192. package/dist/esm-es5/priv-datepicker.entry.js +1 -1
  193. package/dist/esm-es5/priv-navigator-button.entry.js +1 -1
  194. package/dist/esm-es5/priv-navigator-item.entry.js +1 -1
  195. package/dist/esm-es5/ripple.js +1 -1
  196. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  197. package/dist/esm-es5/wm-button.entry.js +1 -1
  198. package/dist/esm-es5/wm-chart-slice.entry.js +1 -1
  199. package/dist/esm-es5/wm-chart.entry.js +1 -1
  200. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  201. package/dist/esm-es5/wm-file-list.entry.js +1 -1
  202. package/dist/esm-es5/wm-file.entry.js +1 -1
  203. package/dist/esm-es5/wm-input.entry.js +1 -1
  204. package/dist/esm-es5/wm-line-chart.entry.js +1 -1
  205. package/dist/esm-es5/wm-modal-footer.entry.js +1 -1
  206. package/dist/esm-es5/wm-modal-header.entry.js +1 -1
  207. package/dist/esm-es5/wm-modal.entry.js +1 -1
  208. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  209. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  210. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  211. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  212. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  213. package/dist/esm-es5/wm-search.entry.js +1 -1
  214. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  215. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  216. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  217. package/dist/esm-es5/wm-tag-option.entry.js +1 -1
  218. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  219. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  220. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  221. package/dist/esm-es5/wm-wrapper.entry.js +1 -1
  222. package/dist/loader/index.d.ts +1 -1
  223. package/dist/ripple/p-00acacbe.system.entry.js +1 -0
  224. package/dist/ripple/{p-3446852f.system.entry.js → p-0631be01.system.entry.js} +1 -1
  225. package/dist/ripple/{p-ad6dc751.entry.js → p-0aecac86.entry.js} +1 -1
  226. package/dist/ripple/{p-c717d895.entry.js → p-0d9f70ab.entry.js} +1 -1
  227. package/dist/ripple/{p-b253d2fc.entry.js → p-0f1ff645.entry.js} +1 -1
  228. package/dist/ripple/{p-63f75d43.entry.js → p-1205fdc1.entry.js} +1 -1
  229. package/dist/ripple/{p-27f47edc.entry.js → p-1283e85d.entry.js} +1 -1
  230. package/dist/ripple/{p-43e2a49a.entry.js → p-13594c2e.entry.js} +1 -1
  231. package/dist/ripple/{p-5a921e55.entry.js → p-13af8346.entry.js} +1 -1
  232. package/dist/ripple/{p-ceced3d9.system.entry.js → p-15497721.system.entry.js} +1 -1
  233. package/dist/ripple/p-16363e1c.system.entry.js +1 -0
  234. package/dist/ripple/{p-3a070f35.entry.js → p-19773c40.entry.js} +1 -1
  235. package/dist/ripple/{p-b4d862e1.system.entry.js → p-1cde16a7.system.entry.js} +1 -1
  236. package/dist/ripple/{p-f711c914.entry.js → p-20f5c695.entry.js} +1 -1
  237. package/dist/ripple/{p-13ca30d8.js → p-24b08e1f.js} +1 -1
  238. package/dist/ripple/{p-2c834d27.system.entry.js → p-2a95b63f.system.entry.js} +1 -1
  239. package/dist/ripple/{p-c96a5c94.system.entry.js → p-2e773564.system.entry.js} +1 -1
  240. package/dist/ripple/p-30bf24f8.system.js +2 -0
  241. package/dist/ripple/p-3248c0fa.system.entry.js +1 -0
  242. package/dist/ripple/{p-28e4583c.system.entry.js → p-32b1126c.system.entry.js} +1 -1
  243. package/dist/ripple/{p-aadf8c59.entry.js → p-36049d2f.entry.js} +1 -1
  244. package/dist/ripple/p-3aca2871.js +1 -0
  245. package/dist/ripple/{p-633cd89a.system.entry.js → p-3becce62.system.entry.js} +1 -1
  246. package/dist/ripple/{p-58174f4e.entry.js → p-3c80bf67.entry.js} +1 -1
  247. package/dist/ripple/p-40fcae38.system.js +1 -0
  248. package/dist/ripple/p-47c20b05.entry.js +1 -0
  249. package/dist/ripple/p-4825101c.system.js +1 -0
  250. package/dist/ripple/p-56d64283.system.entry.js +1 -0
  251. package/dist/ripple/p-5e85967a.system.js +1 -0
  252. package/dist/ripple/{p-067d7922.system.entry.js → p-622a7791.system.entry.js} +1 -1
  253. package/dist/ripple/{p-aba5a00e.system.entry.js → p-676c1089.system.entry.js} +1 -1
  254. package/dist/ripple/{p-153701f9.entry.js → p-6abb903c.entry.js} +1 -1
  255. package/dist/ripple/{p-372faf33.entry.js → p-7529706d.entry.js} +1 -1
  256. package/dist/ripple/{p-de349bee.entry.js → p-7962f562.entry.js} +1 -1
  257. package/dist/ripple/{p-8d4734ad.entry.js → p-80aef387.entry.js} +1 -1
  258. package/dist/ripple/{p-8cace32f.entry.js → p-84a7e757.entry.js} +1 -1
  259. package/dist/ripple/{p-9fecbc8a.system.js → p-85f744ed.system.js} +1 -1
  260. package/dist/ripple/{p-05d4e49b.js → p-863e737a.js} +1 -1
  261. package/dist/ripple/{p-7e56da2e.system.entry.js → p-8ea68cb3.system.entry.js} +1 -1
  262. package/dist/ripple/{p-1402cfa2.system.js → p-8f3f903f.system.js} +1 -1
  263. package/dist/ripple/{p-c249063c.entry.js → p-8f8c3705.entry.js} +1 -1
  264. package/dist/ripple/{p-67d48c33.system.entry.js → p-90ea7e3a.system.entry.js} +1 -1
  265. package/dist/ripple/{p-a82a8931.entry.js → p-9288659b.entry.js} +1 -1
  266. package/dist/ripple/{p-6cf7a34a.entry.js → p-935513f8.entry.js} +1 -1
  267. package/dist/ripple/{p-b452d1d7.entry.js → p-a0bf5eef.entry.js} +1 -1
  268. package/dist/ripple/{p-06776596.system.entry.js → p-a1e95b05.system.entry.js} +1 -1
  269. package/dist/ripple/{p-25446670.entry.js → p-a52c5a1c.entry.js} +1 -1
  270. package/dist/ripple/{p-2c4f312d.system.entry.js → p-a5b23781.system.entry.js} +1 -1
  271. package/dist/ripple/p-a6be3cca.system.entry.js +1 -0
  272. package/dist/ripple/{p-fa87bce3.entry.js → p-a9c096b5.entry.js} +1 -1
  273. package/dist/ripple/p-aafa111a.system.js +1 -0
  274. package/dist/ripple/{p-1d8b0039.entry.js → p-ad37cdfd.entry.js} +1 -1
  275. package/dist/ripple/{p-350fe5da.entry.js → p-ae674a54.entry.js} +1 -1
  276. package/dist/ripple/{p-e24ddae1.entry.js → p-b3c73bc9.entry.js} +1 -1
  277. package/dist/ripple/{p-e8b58666.system.entry.js → p-b3e08b14.system.entry.js} +1 -1
  278. package/dist/ripple/p-b5bedd63.js +2 -0
  279. package/dist/ripple/{p-a69c37e0.entry.js → p-b71a83e3.entry.js} +1 -1
  280. package/dist/ripple/p-bd537299.system.entry.js +1 -0
  281. package/dist/ripple/{p-42ebfcfa.entry.js → p-c41603e6.entry.js} +1 -1
  282. package/dist/ripple/{p-5a4d9897.system.entry.js → p-c5e8f8a5.system.entry.js} +1 -1
  283. package/dist/ripple/{p-7a8816d9.system.entry.js → p-c76bbedf.system.entry.js} +1 -1
  284. package/dist/ripple/{p-3af72848.js → p-c7b5ac39.js} +1 -1
  285. package/dist/ripple/{p-361cc8fc.system.entry.js → p-cbd8a60b.system.entry.js} +1 -1
  286. package/dist/ripple/{p-3583d113.system.entry.js → p-d04ba5f8.system.entry.js} +1 -1
  287. package/dist/ripple/{p-1fa2a756.system.entry.js → p-d0f1b8c4.system.entry.js} +1 -1
  288. package/dist/ripple/{p-bdd4f919.system.entry.js → p-d496bc44.system.entry.js} +1 -1
  289. package/dist/ripple/{p-7e8daaac.entry.js → p-deb4f5a2.entry.js} +1 -1
  290. package/dist/ripple/{p-5ac980e2.system.entry.js → p-e3f0b57f.system.entry.js} +1 -1
  291. package/dist/ripple/{p-f1a92576.system.entry.js → p-e4919f95.system.entry.js} +1 -1
  292. package/dist/ripple/{p-49118468.entry.js → p-ed942b42.entry.js} +1 -1
  293. package/dist/ripple/{p-0ecbf569.system.entry.js → p-f30839a1.system.entry.js} +1 -1
  294. package/dist/ripple/{p-d3f9d028.system.entry.js → p-ff14e4ec.system.entry.js} +1 -1
  295. package/dist/ripple/ripple.esm.js +1 -1
  296. package/dist/ripple/ripple.js +20 -16
  297. package/dist/types/components/charts/chartFunctions.d.ts +13 -13
  298. package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +24 -24
  299. package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +8 -8
  300. package/dist/types/components/charts/wm-chart/wm-chart.d.ts +39 -39
  301. package/dist/types/components/charts/wm-line-chart/wm-line-chart.d.ts +73 -73
  302. package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +26 -26
  303. package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +17 -17
  304. package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +7 -7
  305. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +43 -43
  306. package/dist/types/components/wm-button/wm-button.d.ts +40 -40
  307. package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +76 -76
  308. package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +31 -31
  309. package/dist/types/components/wm-file/wm-file.d.ts +40 -40
  310. package/dist/types/components/wm-file-list/wm-file-list.d.ts +3 -3
  311. package/dist/types/components/wm-input/wm-input.d.ts +46 -46
  312. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +31 -31
  313. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +11 -11
  314. package/dist/types/components/wm-modal/wm-modal-header.d.ts +7 -7
  315. package/dist/types/components/wm-modal/wm-modal.d.ts +24 -24
  316. package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +13 -13
  317. package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +10 -10
  318. package/dist/types/components/wm-navigation/wm-navigation.d.ts +23 -23
  319. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +7 -7
  320. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +10 -10
  321. package/dist/types/components/wm-navigator/wm-navigator.d.ts +57 -57
  322. package/dist/types/components/wm-option/wm-option.d.ts +36 -36
  323. package/dist/types/components/wm-pagination/wm-pagination.d.ts +27 -27
  324. package/dist/types/components/wm-search/wm-search.d.ts +73 -73
  325. package/dist/types/components/wm-select/wm-select.d.ts +99 -99
  326. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +24 -24
  327. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +30 -30
  328. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +41 -41
  329. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +16 -16
  330. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +48 -48
  331. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +20 -20
  332. package/dist/types/components/wm-uploader/wm-uploader.d.ts +47 -47
  333. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +4 -4
  334. package/dist/types/components.d.ts +0 -382
  335. package/dist/types/global/__mocks__/functions.d.ts +1 -1
  336. package/dist/types/global/functions.d.ts +4 -4
  337. package/dist/types/global/interfaces.d.ts +49 -49
  338. package/dist/types/global/intl.d.ts +31 -31
  339. package/dist/types/global/services/__mocks__/http-service.d.ts +1 -1
  340. package/dist/types/stencil-public-runtime.d.ts +5 -46
  341. package/package.json +1 -1
  342. package/dist/cjs/chartFunctions-cecf8134.js +0 -600
  343. package/dist/cjs/interfaces-ad9e80a6.js +0 -38
  344. package/dist/cjs/intl-3fafc6d1.js +0 -179
  345. package/dist/esm/chartFunctions-23173fce.js +0 -584
  346. package/dist/esm/interfaces-9b75fb61.js +0 -35
  347. package/dist/esm/intl-05c9e0c9.js +0 -174
  348. package/dist/esm-es5/chartFunctions-23173fce.js +0 -1
  349. package/dist/esm-es5/functions-d0e70094.js +0 -1
  350. package/dist/esm-es5/global-08dce155.js +0 -1
  351. package/dist/esm-es5/index-f164fbca.js +0 -2
  352. package/dist/ripple/p-028ef6db.system.entry.js +0 -1
  353. package/dist/ripple/p-09d62ddd.entry.js +0 -1
  354. package/dist/ripple/p-0fe97e85.system.js +0 -2
  355. package/dist/ripple/p-1453ea51.system.entry.js +0 -1
  356. package/dist/ripple/p-17d3440b.system.js +0 -1
  357. package/dist/ripple/p-1cc91907.system.js +0 -1
  358. package/dist/ripple/p-30b17818.system.entry.js +0 -1
  359. package/dist/ripple/p-4de51706.js +0 -2
  360. package/dist/ripple/p-88406560.system.entry.js +0 -1
  361. package/dist/ripple/p-8f76a838.system.entry.js +0 -1
  362. package/dist/ripple/p-a99b05de.system.entry.js +0 -1
  363. package/dist/ripple/p-c18b398c.system.js +0 -1
  364. package/dist/ripple/p-c235754b.js +0 -1
  365. package/dist/ripple/p-d03095e7.system.js +0 -1
  366. /package/dist/esm-es5/{interfaces-9b75fb61.js → interfaces-89cad2fc.js} +0 -0
  367. /package/dist/ripple/{p-196eb2f3.js → p-c0c111fd.js} +0 -0
@@ -1,431 +1,430 @@
1
1
  import { h, Host, forceUpdate, } from "@stencil/core";
2
2
  import { uploaderMessages } from "../../global/intl";
3
3
  export class Uploader {
4
- constructor() {
5
- this.batchCount = 0; // used to calculate the aggregate upload progress
6
- this.prevUploadCount = 0; // comparison to determine whether or not to announce updated count
4
+ constructor() {
5
+ this.batchCount = 0; // used to calculate the aggregate upload progress
6
+ this.prevUploadCount = 0; // comparison to determine whether or not to announce updated count
7
+ this.fileIdToDelete = "";
8
+ this.label = undefined;
9
+ this.buttonText = undefined;
10
+ this.icon = undefined;
11
+ this.fileTypes = "pdf txt log xml doc docx xls xlsx ppt pptx gif jpg jpeg png csv";
12
+ this.maxSize = undefined;
13
+ this.maxFiles = undefined;
14
+ this.errorMessage = undefined;
15
+ this.requiredField = undefined;
16
+ this.showInfo = "time";
17
+ this.isTabbing = false;
18
+ this.notif = "";
19
+ this.announcement = "";
20
+ this.isCondensed = false;
21
+ }
22
+ get isDisabled() {
23
+ // disable if is the uploader is maxed out or if something is uploading
24
+ return this.fileLimitReached || this.inProgressFileEls.length > 0;
25
+ }
26
+ get fileEls() {
27
+ return Array.from(this.el.querySelectorAll("wm-file"));
28
+ }
29
+ get inProgressFileEls() {
30
+ return this.fileEls.filter((file) => file.progress !== undefined && file.progress < 100);
31
+ }
32
+ get uploadedFileEls() {
33
+ return this.fileEls.filter((file) => !file.errorMessage);
34
+ }
35
+ get fileLimitReached() {
36
+ return this.maxFiles && this.uploadedFileEls.length >= this.maxFiles;
37
+ }
38
+ get validTypes() {
39
+ return "." + this.fileTypes.split(" ").join(", .");
40
+ }
41
+ toggleTabbingOn() {
42
+ this.isTabbing = true;
43
+ }
44
+ toggleTabbingOff() {
45
+ this.isTabbing = false;
46
+ }
47
+ handleFileErrorCleared() {
48
+ this.uploadButtonEl.focus();
49
+ }
50
+ storeDeletedId(ev) {
51
+ this.fileIdToDelete = ev.target.id;
52
+ }
53
+ handleErrorMessageChange() {
54
+ if (this.errorMessage) {
55
+ this.announce(this.errorMessage);
56
+ }
57
+ }
58
+ componentWillLoad() {
59
+ if (!this.buttonText) {
60
+ console.error("wm-uploader: button-text is a required property");
61
+ }
62
+ }
63
+ componentDidLoad() {
64
+ if (document.body.classList.contains("wmcl-user-is-tabbing")) {
65
+ this.toggleTabbingOn();
66
+ }
67
+ const mutationObserver = new MutationObserver((mutationRecordList) => mutationRecordList.forEach((mutationRecord) => this.handleChildMutation(mutationRecord)));
68
+ mutationObserver.observe(this.el, {
69
+ childList: true,
70
+ subtree: true,
71
+ attributes: true,
72
+ attributeOldValue: true,
73
+ attributeFilter: ["progress"],
74
+ });
75
+ }
76
+ handleChildMutation(mutationRecord) {
77
+ if (mutationRecord.type === "attributes") {
78
+ this.handleProgressUpdate(mutationRecord);
79
+ }
80
+ else if (mutationRecord.type === "childList") {
81
+ // if user prompted the removal of a single file (they hit the delete button)
82
+ if (this.isTabbing &&
83
+ mutationRecord.removedNodes.length === 1 &&
84
+ mutationRecord.removedNodes[0].id === this.fileIdToDelete) {
85
+ this.focusAfterFileRemoval(mutationRecord);
7
86
  this.fileIdToDelete = "";
8
- this.label = undefined;
9
- this.buttonText = undefined;
10
- this.icon = undefined;
11
- this.fileTypes = "pdf txt log xml doc docx xls xlsx ppt pptx gif jpg jpeg png csv";
12
- this.maxSize = undefined;
13
- this.maxFiles = undefined;
14
- this.errorMessage = undefined;
15
- this.requiredField = undefined;
16
- this.showInfo = "time";
17
- this.isTabbing = false;
87
+ }
88
+ forceUpdate(this.el); // forceUpdate to rerender filecount
89
+ }
90
+ }
91
+ handleProgressUpdate(mutationRecord) {
92
+ if (this.inProgressFileEls.length !== 0) {
93
+ const changeInUploadingFiles = this.prevUploadCount !== this.inProgressFileEls.length;
94
+ changeInUploadingFiles && this.announce(uploaderMessages.getFilesUploading(this.inProgressFileEls.length));
95
+ this.notif = uploaderMessages.getFilesUploading(this.inProgressFileEls.length);
96
+ this.prevUploadCount = this.inProgressFileEls.length;
97
+ if (!this.srProgress) {
98
+ this.srProgress = setInterval(() => {
99
+ const aggregate = this.fileEls.reduce((avg, item) => (item.progress ? avg + item.progress : avg), 0);
100
+ this.announce(uploaderMessages.getUploadProgress(Math.floor(aggregate / this.batchCount)));
101
+ }, 5000);
102
+ }
103
+ }
104
+ else if (this.inProgressFileEls.length === 0 &&
105
+ mutationRecord.oldValue &&
106
+ parseInt(mutationRecord.oldValue) < 100) {
107
+ // if final file progress completes
108
+ this.notif = uploaderMessages.finishedUploading;
109
+ this.announce(uploaderMessages.finishedUploading);
110
+ clearInterval(this.srProgress);
111
+ setTimeout(() => {
18
112
  this.notif = "";
19
- this.announcement = "";
20
- this.isCondensed = false;
21
- }
22
- get isDisabled() {
23
- // disable if is the uploader is maxed out or if something is uploading
24
- return this.fileLimitReached || this.inProgressFileEls.length > 0;
25
- }
26
- get fileEls() {
27
- return Array.from(this.el.querySelectorAll("wm-file"));
28
- }
29
- get inProgressFileEls() {
30
- return this.fileEls.filter((file) => file.progress !== undefined && file.progress < 100);
31
- }
32
- get uploadedFileEls() {
33
- return this.fileEls.filter((file) => !file.errorMessage);
34
- }
35
- get fileLimitReached() {
36
- return this.maxFiles && this.uploadedFileEls.length >= this.maxFiles;
37
- }
38
- get validTypes() {
39
- return "." + this.fileTypes.split(" ").join(", .");
40
- }
41
- toggleTabbingOn() {
42
- this.isTabbing = true;
43
- }
44
- toggleTabbingOff() {
45
- this.isTabbing = false;
46
- }
47
- handleFileErrorCleared() {
48
- this.uploadButtonEl.focus();
49
- }
50
- storeDeletedId(ev) {
51
- this.fileIdToDelete = ev.target.id;
52
- }
53
- handleErrorMessageChange() {
54
- if (this.errorMessage) {
55
- this.announce(this.errorMessage);
56
- }
57
- }
58
- componentWillLoad() {
59
- if (!this.buttonText) {
60
- console.error("wm-uploader: button-text is a required property");
61
- }
62
- }
63
- componentDidLoad() {
64
- if (document.body.classList.contains("wmcl-user-is-tabbing")) {
65
- this.toggleTabbingOn();
66
- }
67
- const mutationObserver = new MutationObserver((mutationRecordList) => mutationRecordList.forEach((mutationRecord) => this.handleChildMutation(mutationRecord)));
68
- mutationObserver.observe(this.el, {
69
- childList: true,
70
- subtree: true,
71
- attributes: true,
72
- attributeOldValue: true,
73
- attributeFilter: ["progress"],
74
- });
75
- }
76
- handleChildMutation(mutationRecord) {
77
- if (mutationRecord.type === "attributes") {
78
- this.handleProgressUpdate(mutationRecord);
79
- }
80
- else if (mutationRecord.type === "childList") {
81
- // if user prompted the removal of a single file (they hit the delete button)
82
- if (this.isTabbing &&
83
- mutationRecord.removedNodes.length === 1 &&
84
- mutationRecord.removedNodes[0].id === this.fileIdToDelete) {
85
- this.focusAfterFileRemoval(mutationRecord);
86
- this.fileIdToDelete = "";
113
+ }, 20 * 1000);
114
+ }
115
+ }
116
+ focusAfterFileRemoval(mutationRecord) {
117
+ let previousSibling = mutationRecord.previousSibling;
118
+ // .previousSibling can sometimes grab #text nodes but unfortunately mutationRecord does not hold .previousElementSibling
119
+ // so we need to loop upwards until we find a wm-file with a button to focus, or null
120
+ while (previousSibling &&
121
+ !(previousSibling.nodeName === "WM-FILE" &&
122
+ previousSibling.shadowRoot.querySelector("wm-button"))) {
123
+ previousSibling = previousSibling.previousSibling;
124
+ }
125
+ if (previousSibling) {
126
+ const fileActionButtons = previousSibling.shadowRoot.querySelectorAll("wm-button");
127
+ fileActionButtons[fileActionButtons.length - 1].focus();
128
+ }
129
+ else {
130
+ this.uploadButtonEl.focus();
131
+ }
132
+ }
133
+ handleUploadButtonClick(ev) {
134
+ if (this.isDisabled) {
135
+ // this is a temporary fix.
136
+ // we need the disabled button to be programmatically focusable
137
+ // to allow return focus after closing the browser file panel
138
+ // since it's focusable the button should respond when activated
139
+ // it looks disabled, and announces the reason why the action cannot
140
+ // be taken when activated.
141
+ ev.preventDefault();
142
+ if (this.inProgressFileEls.length > 0) {
143
+ this.announce(uploaderMessages.waitToUpload);
144
+ }
145
+ else if (this.fileLimitReached) {
146
+ this.announce(uploaderMessages.fileLimitReached);
147
+ }
148
+ }
149
+ }
150
+ handleUploadButtonChange(ev) {
151
+ const inputEl = ev.target;
152
+ if (inputEl.files) {
153
+ const files = Array.from(inputEl.files);
154
+ if (files.length > 0) {
155
+ this.batchCount = files.length;
156
+ this.wmUploaderFilesSelected.emit(files);
157
+ }
158
+ ev.target.value = ""; // reset to ensure that onChange is triggered when the same file is selected a second time
159
+ }
160
+ }
161
+ announce(message) {
162
+ if (this.liveRegion.textContent === message) {
163
+ message += "\u00A0";
164
+ }
165
+ this.announcement = message;
166
+ }
167
+ renderIcon() {
168
+ // mdi attachment icon (paper clip) is horizontal but we want it vertical
169
+ const rotate = this.icon && this.icon === "f066";
170
+ return h("span", { class: `mdi ${rotate ? "rotate" : ""}` }, String.fromCodePoint(parseInt(`0x${this.icon}`)));
171
+ }
172
+ renderUploadButton(classes) {
173
+ let accessibleLabel = `${this.label && this.label !== this.buttonText ? `${this.label}, ` : ""}${this.buttonText}`;
174
+ return (h("div", { class: "info-wrapper" }, h("input", { name: "input", id: "input", ref: (el) => (this.uploadButtonEl = el), class: "sr-only", "aria-label": accessibleLabel, "aria-required": this.requiredField ? "true" : null, "aria-describedby": `${this.errorMessage ? "error " : ""}file-count max-size accepted-types`, type: "file", multiple: true, onClick: (ev) => this.handleUploadButtonClick(ev), onChange: (ev) => this.handleUploadButtonChange(ev) }), h("label", { htmlFor: "input", class: `wm-button ${classes}${this.isTabbing ? " user-is-tabbing" : ""}` }, this.icon && this.renderIcon(), this.buttonText)));
175
+ }
176
+ renderHeader() {
177
+ return (h("div", { class: "header" }, h("div", { class: "notif-wrapper" }, this.renderUploadButton(`-secondary ${this.isDisabled ? "disabled" : ""}`), this.renderRequirements()), h("div", { id: "accepted-types", class: "accepted-types" }, uploaderMessages.getAcceptedFileTypes(this.validTypes, this.fileTypes.split(" ").length)), this.notif && h("div", { class: "notif" }, this.notif), this.errorMessage && h("div", { id: "error" }, this.errorMessage)));
178
+ }
179
+ renderRequirements() {
180
+ return (h("div", { class: "requirements" }, this.maxFiles && (h("span", { id: "file-count" }, uploaderMessages.getFileCount(this.uploadedFileEls.length, this.maxFiles))), this.maxSize && h("span", { id: "max-size" }, uploaderMessages.getMaxSize(this.maxSize))));
181
+ }
182
+ renderListContainer() {
183
+ const hasNewlyUploadedFiles = this.fileEls.filter((file) => file.progress && file.progress === 100).length;
184
+ return (h("div", { class: `list-container ${hasNewlyUploadedFiles ? "checkmark-spacer" : ""}` }, h("ul", { class: "file-list" }, h("slot", null))));
185
+ }
186
+ renderLabel() {
187
+ return (h("div", { class: `wrapper ${this.errorMessage ? "invalid" : ""}` }, h("div", { id: "label", class: `label` }, this.label, this.requiredField && (h("span", { class: "required", "aria-hidden": "true" }, "*")))));
188
+ }
189
+ render() {
190
+ return (h(Host, null, this.label && this.renderLabel(), this.renderHeader(), this.renderListContainer(), h("div", { ref: (el) => (this.liveRegion = el), class: "live-region sr-only", "aria-live": "assertive" // since it's directly linked to the action the user took, it should be read in priority. With polite, some messages get dismissed in favor of the page title
191
+ ,
192
+ "aria-atomic": "true" }, this.announcement)));
193
+ }
194
+ static get is() { return "wm-uploader"; }
195
+ static get encapsulation() { return "shadow"; }
196
+ static get delegatesFocus() { return true; }
197
+ static get originalStyleUrls() {
198
+ return {
199
+ "$": ["wm-uploader.scss"]
200
+ };
201
+ }
202
+ static get styleUrls() {
203
+ return {
204
+ "$": ["wm-uploader.css"]
205
+ };
206
+ }
207
+ static get properties() {
208
+ return {
209
+ "label": {
210
+ "type": "string",
211
+ "mutable": false,
212
+ "complexType": {
213
+ "original": "string",
214
+ "resolved": "string | undefined",
215
+ "references": {}
216
+ },
217
+ "required": false,
218
+ "optional": true,
219
+ "docs": {
220
+ "tags": [],
221
+ "text": ""
222
+ },
223
+ "attribute": "label",
224
+ "reflect": false
225
+ },
226
+ "buttonText": {
227
+ "type": "string",
228
+ "mutable": false,
229
+ "complexType": {
230
+ "original": "string",
231
+ "resolved": "string",
232
+ "references": {}
233
+ },
234
+ "required": true,
235
+ "optional": false,
236
+ "docs": {
237
+ "tags": [],
238
+ "text": ""
239
+ },
240
+ "attribute": "button-text",
241
+ "reflect": false
242
+ },
243
+ "icon": {
244
+ "type": "string",
245
+ "mutable": false,
246
+ "complexType": {
247
+ "original": "string",
248
+ "resolved": "string",
249
+ "references": {}
250
+ },
251
+ "required": true,
252
+ "optional": false,
253
+ "docs": {
254
+ "tags": [],
255
+ "text": ""
256
+ },
257
+ "attribute": "icon",
258
+ "reflect": false
259
+ },
260
+ "fileTypes": {
261
+ "type": "string",
262
+ "mutable": false,
263
+ "complexType": {
264
+ "original": "string",
265
+ "resolved": "string",
266
+ "references": {}
267
+ },
268
+ "required": false,
269
+ "optional": false,
270
+ "docs": {
271
+ "tags": [],
272
+ "text": ""
273
+ },
274
+ "attribute": "file-types",
275
+ "reflect": false,
276
+ "defaultValue": "\"pdf txt log xml doc docx xls xlsx ppt pptx gif jpg jpeg png csv\""
277
+ },
278
+ "maxSize": {
279
+ "type": "string",
280
+ "mutable": false,
281
+ "complexType": {
282
+ "original": "string",
283
+ "resolved": "string | undefined",
284
+ "references": {}
285
+ },
286
+ "required": false,
287
+ "optional": true,
288
+ "docs": {
289
+ "tags": [],
290
+ "text": ""
291
+ },
292
+ "attribute": "max-size",
293
+ "reflect": false
294
+ },
295
+ "maxFiles": {
296
+ "type": "number",
297
+ "mutable": false,
298
+ "complexType": {
299
+ "original": "number",
300
+ "resolved": "number | undefined",
301
+ "references": {}
302
+ },
303
+ "required": false,
304
+ "optional": true,
305
+ "docs": {
306
+ "tags": [],
307
+ "text": ""
308
+ },
309
+ "attribute": "max-files",
310
+ "reflect": false
311
+ },
312
+ "errorMessage": {
313
+ "type": "string",
314
+ "mutable": false,
315
+ "complexType": {
316
+ "original": "string",
317
+ "resolved": "string | undefined",
318
+ "references": {}
319
+ },
320
+ "required": false,
321
+ "optional": true,
322
+ "docs": {
323
+ "tags": [],
324
+ "text": ""
325
+ },
326
+ "attribute": "error-message",
327
+ "reflect": false
328
+ },
329
+ "requiredField": {
330
+ "type": "boolean",
331
+ "mutable": false,
332
+ "complexType": {
333
+ "original": "boolean",
334
+ "resolved": "boolean | undefined",
335
+ "references": {}
336
+ },
337
+ "required": false,
338
+ "optional": true,
339
+ "docs": {
340
+ "tags": [],
341
+ "text": ""
342
+ },
343
+ "attribute": "required-field",
344
+ "reflect": false
345
+ },
346
+ "showInfo": {
347
+ "type": "string",
348
+ "mutable": false,
349
+ "complexType": {
350
+ "original": "\"size\" | \"time\" | \"none\"",
351
+ "resolved": "\"none\" | \"size\" | \"time\"",
352
+ "references": {}
353
+ },
354
+ "required": false,
355
+ "optional": false,
356
+ "docs": {
357
+ "tags": [],
358
+ "text": ""
359
+ },
360
+ "attribute": "show-info",
361
+ "reflect": false,
362
+ "defaultValue": "\"time\""
363
+ }
364
+ };
365
+ }
366
+ static get states() {
367
+ return {
368
+ "isTabbing": {},
369
+ "notif": {},
370
+ "announcement": {},
371
+ "isCondensed": {}
372
+ };
373
+ }
374
+ static get events() {
375
+ return [{
376
+ "method": "wmUploaderFilesSelected",
377
+ "name": "wmUploaderFilesSelected",
378
+ "bubbles": true,
379
+ "cancelable": true,
380
+ "composed": true,
381
+ "docs": {
382
+ "tags": [],
383
+ "text": ""
384
+ },
385
+ "complexType": {
386
+ "original": "File[]",
387
+ "resolved": "File[]",
388
+ "references": {
389
+ "File": {
390
+ "location": "global"
87
391
  }
88
- forceUpdate(this.el); // forceUpdate to rerender filecount
89
- }
90
- }
91
- handleProgressUpdate(mutationRecord) {
92
- if (this.inProgressFileEls.length !== 0) {
93
- const changeInUploadingFiles = this.prevUploadCount !== this.inProgressFileEls.length;
94
- changeInUploadingFiles && this.announce(uploaderMessages.getFilesUploading(this.inProgressFileEls.length));
95
- this.notif = uploaderMessages.getFilesUploading(this.inProgressFileEls.length);
96
- this.prevUploadCount = this.inProgressFileEls.length;
97
- if (!this.srProgress) {
98
- this.srProgress = setInterval(() => {
99
- const aggregate = this.fileEls.reduce((avg, item) => (item.progress ? avg + item.progress : avg), 0);
100
- this.announce(uploaderMessages.getUploadProgress(Math.floor(aggregate / this.batchCount)));
101
- }, 5000);
102
- }
103
- }
104
- else if (this.inProgressFileEls.length === 0 &&
105
- mutationRecord.oldValue &&
106
- parseInt(mutationRecord.oldValue) < 100) {
107
- // if final file progress completes
108
- this.notif = uploaderMessages.finishedUploading;
109
- this.announce(uploaderMessages.finishedUploading);
110
- clearInterval(this.srProgress);
111
- setTimeout(() => {
112
- this.notif = "";
113
- }, 20 * 1000);
114
- }
115
- }
116
- focusAfterFileRemoval(mutationRecord) {
117
- let previousSibling = mutationRecord.previousSibling;
118
- // .previousSibling can sometimes grab #text nodes but unfortunately mutationRecord does not hold .previousElementSibling
119
- // so we need to loop upwards until we find a wm-file with a button to focus, or null
120
- while (previousSibling &&
121
- !(previousSibling.nodeName === "WM-FILE" &&
122
- previousSibling.shadowRoot.querySelector("wm-button"))) {
123
- previousSibling = previousSibling.previousSibling;
124
- }
125
- if (previousSibling) {
126
- const fileActionButtons = previousSibling.shadowRoot.querySelectorAll("wm-button");
127
- fileActionButtons[fileActionButtons.length - 1].focus();
128
- }
129
- else {
130
- this.uploadButtonEl.focus();
392
+ }
131
393
  }
132
- }
133
- handleUploadButtonClick(ev) {
134
- if (this.isDisabled) {
135
- // this is a temporary fix.
136
- // we need the disabled button to be programmatically focusable
137
- // to allow return focus after closing the browser file panel
138
- // since it's focusable the button should respond when activated
139
- // it looks disabled, and announces the reason why the action cannot
140
- // be taken when activated.
141
- ev.preventDefault();
142
- if (this.inProgressFileEls.length > 0) {
143
- this.announce(uploaderMessages.waitToUpload);
144
- }
145
- else if (this.fileLimitReached) {
146
- this.announce(uploaderMessages.fileLimitReached);
147
- }
148
- }
149
- }
150
- handleUploadButtonChange(ev) {
151
- const inputEl = ev.target;
152
- if (inputEl.files) {
153
- const files = Array.from(inputEl.files);
154
- if (files.length > 0) {
155
- this.batchCount = files.length;
156
- this.wmUploaderFilesSelected.emit(files);
157
- }
158
- ev.target.value = ""; // reset to ensure that onChange is triggered when the same file is selected a second time
159
- }
160
- }
161
- announce(message) {
162
- if (this.liveRegion.textContent === message) {
163
- message += "\u00A0";
164
- }
165
- this.announcement = message;
166
- }
167
- renderIcon() {
168
- // mdi attachment icon (paper clip) is horizontal but we want it vertical
169
- const rotate = this.icon && this.icon === "f066";
170
- return h("span", { class: `mdi ${rotate ? "rotate" : ""}` }, String.fromCodePoint(parseInt(`0x${this.icon}`)));
171
- }
172
- renderUploadButton(classes) {
173
- let accessibleLabel = `${this.label && this.label !== this.buttonText ? `${this.label}, ` : ""}${this.buttonText}`;
174
- return (h("div", { class: "info-wrapper" }, h("input", { name: "input", id: "input", ref: (el) => (this.uploadButtonEl = el), class: "sr-only", "aria-label": accessibleLabel, "aria-required": this.requiredField ? "true" : null, "aria-describedby": `${this.errorMessage ? "error " : ""}file-count max-size accepted-types`, type: "file", multiple: true, onClick: (ev) => this.handleUploadButtonClick(ev), onChange: (ev) => this.handleUploadButtonChange(ev) }), h("label", { htmlFor: "input", class: `wm-button ${classes}${this.isTabbing ? " user-is-tabbing" : ""}` }, this.icon && this.renderIcon(), this.buttonText)));
175
- }
176
- renderHeader() {
177
- return (h("div", { class: "header" }, h("div", { class: "notif-wrapper" }, this.renderUploadButton(`-secondary ${this.isDisabled ? "disabled" : ""}`), this.renderRequirements()), h("div", { id: "accepted-types", class: "accepted-types" }, uploaderMessages.getAcceptedFileTypes(this.validTypes, this.fileTypes.split(" ").length)), this.notif && h("div", { class: "notif" }, this.notif), this.errorMessage && h("div", { id: "error" }, this.errorMessage)));
178
- }
179
- renderRequirements() {
180
- return (h("div", { class: "requirements" }, this.maxFiles && (h("span", { id: "file-count" }, uploaderMessages.getFileCount(this.uploadedFileEls.length, this.maxFiles))), this.maxSize && h("span", { id: "max-size" }, uploaderMessages.getMaxSize(this.maxSize))));
181
- }
182
- renderListContainer() {
183
- const hasNewlyUploadedFiles = this.fileEls.filter((file) => file.progress && file.progress === 100).length;
184
- return (h("div", { class: `list-container ${hasNewlyUploadedFiles ? "checkmark-spacer" : ""}` }, h("ul", { class: "file-list" }, h("slot", null))));
185
- }
186
- renderLabel() {
187
- return (h("div", { class: `wrapper ${this.errorMessage ? "invalid" : ""}` }, h("div", { id: "label", class: `label` }, this.label, this.requiredField && (h("span", { class: "required", "aria-hidden": "true" }, "*")))));
188
- }
189
- render() {
190
- return (h(Host, null, this.label && this.renderLabel(), this.renderHeader(), this.renderListContainer(), h("div", { ref: (el) => (this.liveRegion = el), class: "live-region sr-only", "aria-live": "assertive" // since it's directly linked to the action the user took, it should be read in priority. With polite, some messages get dismissed in favor of the page title
191
- ,
192
- "aria-atomic": "true" }, this.announcement)));
193
- }
194
- static get is() { return "wm-uploader"; }
195
- static get encapsulation() { return "shadow"; }
196
- static get delegatesFocus() { return true; }
197
- static get originalStyleUrls() {
198
- return {
199
- "$": ["wm-uploader.scss"]
200
- };
201
- }
202
- static get styleUrls() {
203
- return {
204
- "$": ["wm-uploader.css"]
205
- };
206
- }
207
- static get properties() {
208
- return {
209
- "label": {
210
- "type": "string",
211
- "mutable": false,
212
- "complexType": {
213
- "original": "string",
214
- "resolved": "string | undefined",
215
- "references": {}
216
- },
217
- "required": false,
218
- "optional": true,
219
- "docs": {
220
- "tags": [],
221
- "text": ""
222
- },
223
- "attribute": "label",
224
- "reflect": false
225
- },
226
- "buttonText": {
227
- "type": "string",
228
- "mutable": false,
229
- "complexType": {
230
- "original": "string",
231
- "resolved": "string",
232
- "references": {}
233
- },
234
- "required": true,
235
- "optional": false,
236
- "docs": {
237
- "tags": [],
238
- "text": ""
239
- },
240
- "attribute": "button-text",
241
- "reflect": false
242
- },
243
- "icon": {
244
- "type": "string",
245
- "mutable": false,
246
- "complexType": {
247
- "original": "string",
248
- "resolved": "string",
249
- "references": {}
250
- },
251
- "required": true,
252
- "optional": false,
253
- "docs": {
254
- "tags": [],
255
- "text": ""
256
- },
257
- "attribute": "icon",
258
- "reflect": false
259
- },
260
- "fileTypes": {
261
- "type": "string",
262
- "mutable": false,
263
- "complexType": {
264
- "original": "string",
265
- "resolved": "string",
266
- "references": {}
267
- },
268
- "required": false,
269
- "optional": false,
270
- "docs": {
271
- "tags": [],
272
- "text": ""
273
- },
274
- "attribute": "file-types",
275
- "reflect": false,
276
- "defaultValue": "\"pdf txt log xml doc docx xls xlsx ppt pptx gif jpg jpeg png csv\""
277
- },
278
- "maxSize": {
279
- "type": "string",
280
- "mutable": false,
281
- "complexType": {
282
- "original": "string",
283
- "resolved": "string | undefined",
284
- "references": {}
285
- },
286
- "required": false,
287
- "optional": true,
288
- "docs": {
289
- "tags": [],
290
- "text": ""
291
- },
292
- "attribute": "max-size",
293
- "reflect": false
294
- },
295
- "maxFiles": {
296
- "type": "number",
297
- "mutable": false,
298
- "complexType": {
299
- "original": "number",
300
- "resolved": "number | undefined",
301
- "references": {}
302
- },
303
- "required": false,
304
- "optional": true,
305
- "docs": {
306
- "tags": [],
307
- "text": ""
308
- },
309
- "attribute": "max-files",
310
- "reflect": false
311
- },
312
- "errorMessage": {
313
- "type": "string",
314
- "mutable": false,
315
- "complexType": {
316
- "original": "string",
317
- "resolved": "string | undefined",
318
- "references": {}
319
- },
320
- "required": false,
321
- "optional": true,
322
- "docs": {
323
- "tags": [],
324
- "text": ""
325
- },
326
- "attribute": "error-message",
327
- "reflect": false
328
- },
329
- "requiredField": {
330
- "type": "boolean",
331
- "mutable": false,
332
- "complexType": {
333
- "original": "boolean",
334
- "resolved": "boolean | undefined",
335
- "references": {}
336
- },
337
- "required": false,
338
- "optional": true,
339
- "docs": {
340
- "tags": [],
341
- "text": ""
342
- },
343
- "attribute": "required-field",
344
- "reflect": false
345
- },
346
- "showInfo": {
347
- "type": "string",
348
- "mutable": false,
349
- "complexType": {
350
- "original": "\"size\" | \"time\" | \"none\"",
351
- "resolved": "\"none\" | \"size\" | \"time\"",
352
- "references": {}
353
- },
354
- "required": false,
355
- "optional": false,
356
- "docs": {
357
- "tags": [],
358
- "text": ""
359
- },
360
- "attribute": "show-info",
361
- "reflect": false,
362
- "defaultValue": "\"time\""
363
- }
364
- };
365
- }
366
- static get states() {
367
- return {
368
- "isTabbing": {},
369
- "notif": {},
370
- "announcement": {},
371
- "isCondensed": {}
372
- };
373
- }
374
- static get events() {
375
- return [{
376
- "method": "wmUploaderFilesSelected",
377
- "name": "wmUploaderFilesSelected",
378
- "bubbles": true,
379
- "cancelable": true,
380
- "composed": true,
381
- "docs": {
382
- "tags": [],
383
- "text": ""
384
- },
385
- "complexType": {
386
- "original": "File[]",
387
- "resolved": "File[]",
388
- "references": {
389
- "File": {
390
- "location": "global",
391
- "id": "global::File"
392
- }
393
- }
394
- }
395
- }];
396
- }
397
- static get elementRef() { return "el"; }
398
- static get watchers() {
399
- return [{
400
- "propName": "errorMessage",
401
- "methodName": "handleErrorMessageChange"
402
- }];
403
- }
404
- static get listeners() {
405
- return [{
406
- "name": "wmUserIsTabbing",
407
- "method": "toggleTabbingOn",
408
- "target": "window",
409
- "capture": false,
410
- "passive": false
411
- }, {
412
- "name": "wmUserIsNotTabbing",
413
- "method": "toggleTabbingOff",
414
- "target": "window",
415
- "capture": false,
416
- "passive": false
417
- }, {
418
- "name": "wmFileErrorCleared",
419
- "method": "handleFileErrorCleared",
420
- "target": undefined,
421
- "capture": false,
422
- "passive": false
423
- }, {
424
- "name": "wmFileDelete",
425
- "method": "storeDeletedId",
426
- "target": undefined,
427
- "capture": false,
428
- "passive": false
429
- }];
430
- }
394
+ }];
395
+ }
396
+ static get elementRef() { return "el"; }
397
+ static get watchers() {
398
+ return [{
399
+ "propName": "errorMessage",
400
+ "methodName": "handleErrorMessageChange"
401
+ }];
402
+ }
403
+ static get listeners() {
404
+ return [{
405
+ "name": "wmUserIsTabbing",
406
+ "method": "toggleTabbingOn",
407
+ "target": "window",
408
+ "capture": false,
409
+ "passive": false
410
+ }, {
411
+ "name": "wmUserIsNotTabbing",
412
+ "method": "toggleTabbingOff",
413
+ "target": "window",
414
+ "capture": false,
415
+ "passive": false
416
+ }, {
417
+ "name": "wmFileErrorCleared",
418
+ "method": "handleFileErrorCleared",
419
+ "target": undefined,
420
+ "capture": false,
421
+ "passive": false
422
+ }, {
423
+ "name": "wmFileDelete",
424
+ "method": "storeDeletedId",
425
+ "target": undefined,
426
+ "capture": false,
427
+ "passive": false
428
+ }];
429
+ }
431
430
  }