@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
@@ -0,0 +1 @@
1
+ {"version":3,"names":["wmInputCss","Input","exports","this","uid","previousBlurredValue","numberErrorMessage","intl","formatMessage","id","defaultMessage","Object","defineProperty","class_1","prototype","value","length","componentWillLoad","el","generateId","label","console","error","componentDidLoad","inputEl","handleErrorMessage","newValue","displayedErrorMessage","handleKeyDown","ev","isModifierKey","ctrlKey","metaKey","altKey","isCharacter","test","key","hasReachedCharacterLimit","characterLimit","announce","generateCharacterLimitWarning","charCount","handleBlur","wmInputValueChanged","emit","shouldPreventValidation","preventValidation","isRelatedTarget","validate","inputWrapperEl","classList","remove","handleInput","target","handleFocus","add","validationRules","validateNumber","bind","validateRequired","errorMessage","reduce","prev","current","reqMsg","requiredFieldMessage","requiredField","type","validity","badInput","message","liveRegionEl","textContent","announcement","charLimit","charactersEnteredMessage","description","x","y","characterLimitReachedMessage","concat","generateCharacterLimitLabel","limit","renderErrorMessage","render","_this","h","Host","class","labelPosition","ref","htmlFor","disabled","onInput","onKeyDown","onBlur","onFocus","placeholder","autocomplete","maxLength","undefined","step","max","min","info"],"sources":["src/components/wm-input/wm-input.scss?tag=wm-input&encapsulation=shadow","src/components/wm-input/wm-input.tsx"],"sourcesContent":[":host,\r\nwm-input {\r\n font-family: inherit;\r\n width: 100%;\r\n\r\n * {\r\n box-sizing: border-box;\r\n }\r\n\r\n @include label;\r\n\r\n .wrapper {\r\n .inner-wrapper {\r\n width: 100%;\r\n }\r\n\r\n .inputfield-wrapper {\r\n height: rem-calc(40);\r\n border: 1px solid $input-border-color;\r\n @include border-radius(3px);\r\n display: flex;\r\n }\r\n\r\n .character-count {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n min-width: rem-calc(80);\r\n background-color: rgba($charcoal, 0.05);\r\n font-size: rem-calc(14);\r\n font-weight: 500;\r\n align-self: stretch;\r\n }\r\n\r\n input {\r\n @include border-radius(3px);\r\n border: none;\r\n font-family: inherit;\r\n font-size: rem-calc(14);\r\n height: 100%;\r\n flex: 1;\r\n padding: rem-calc(12 16);\r\n width: 100%;\r\n\r\n &:disabled {\r\n background-color: $input-disabled-bg;\r\n color: $input-disabled-color;\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n }\r\n\r\n .info {\r\n font-style: italic;\r\n line-height: 100%;\r\n margin: 4px 0;\r\n }\r\n\r\n &.invalid {\r\n & .inputfield-wrapper {\r\n @include invalid;\r\n }\r\n\r\n .error-message {\r\n color: $firetruck;\r\n margin: 4px 0;\r\n display: block;\r\n font-style: italic;\r\n line-height: 100%;\r\n }\r\n }\r\n\r\n &:focus,\r\n &.focus {\r\n .inputfield-wrapper {\r\n @include field-focus;\r\n }\r\n }\r\n }\r\n\r\n .sr-only {\r\n @include srOnly;\r\n }\r\n}\r\n","import { h, Component, Element, Event, EventEmitter, Host, Prop, State, Watch } from \"@stencil/core\";\r\nimport { intl, generateId, isRelatedTarget } from \"../../global/functions\";\r\n\r\n@Component({\r\n tag: \"wm-input\",\r\n styleUrl: \"wm-input.scss\",\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class Input {\r\n @Element() el!: HTMLWmInputElement;\r\n private inputEl!: HTMLInputElement;\r\n private inputWrapperEl!: HTMLDivElement;\r\n private liveRegionEl!: HTMLDivElement;\r\n\r\n @Prop() label!: string;\r\n @Prop() labelPosition: \"top\" | \"left\" | \"none\" = \"top\";\r\n @Prop({ reflect: true, mutable: true }) value: string = \"\";\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n @Prop() info?: string;\r\n @Prop() placeholder: string = \"\";\r\n @Prop() requiredField: boolean = false;\r\n @Prop() requiredFieldMessage?: string;\r\n @Prop() errorMessage?: string;\r\n @Prop() characterLimit?: number;\r\n @Prop() preventValidation?: string; // id or series of ids, validation will not occur when clicking an element with this id\r\n @Prop() type: \"number\" | \"text\" = \"text\";\r\n @Prop() step?: number = 1;\r\n @Prop() min?: number;\r\n @Prop() max?: number;\r\n\r\n get charCount(): number {\r\n return this.value.length;\r\n }\r\n\r\n @State() announcement: string = \"\";\r\n\r\n @Event() wmInputValueChanged!: EventEmitter<{ value: string }>;\r\n @State() displayedErrorMessage: string = \"\";\r\n\r\n private uid: string = \"\";\r\n private previousBlurredValue: string = \"\";\r\n private numberErrorMessage = intl.formatMessage({\r\n id: \"input.numberError\",\r\n defaultMessage: \"Please enter a valid number.\",\r\n });\r\n\r\n componentWillLoad() {\r\n this.uid = this.el.id ? this.el.id : generateId();\r\n\r\n if (!this.label) {\r\n console.error(\"wm-input requires the label property\");\r\n }\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.value) {\r\n this.inputEl.value = this.value;\r\n this.previousBlurredValue = this.inputEl.value;\r\n }\r\n }\r\n\r\n @Watch(\"errorMessage\")\r\n handleErrorMessage(newValue: string) {\r\n this.displayedErrorMessage = newValue;\r\n }\r\n\r\n handleKeyDown(ev: KeyboardEvent) {\r\n // in most browsers, onInput doesn't fire if the input's maxLength is reached\r\n // to handle the case where a user continues to type after reaching the character limit, the keyDown event must be used\r\n const isModifierKey = ev.ctrlKey || ev.metaKey || ev.altKey;\r\n const isCharacter = /^.$/.test(ev.key) && !isModifierKey;\r\n const hasReachedCharacterLimit =\r\n isCharacter && this.characterLimit && this.inputEl.value.length >= this.characterLimit;\r\n\r\n if (hasReachedCharacterLimit) {\r\n this.announce(this.generateCharacterLimitWarning(this.charCount, this.characterLimit!));\r\n }\r\n }\r\n\r\n handleBlur(ev: FocusEvent) {\r\n if (this.value !== this.previousBlurredValue) {\r\n this.wmInputValueChanged.emit({ value: this.value });\r\n }\r\n this.previousBlurredValue = this.value;\r\n // do not validate if clicking to an element that should prevent validation (e.g. close button on modal)\r\n const shouldPreventValidation = this.preventValidation && isRelatedTarget(ev, this.preventValidation);\r\n if (!shouldPreventValidation) {\r\n this.displayedErrorMessage = this.validate();\r\n }\r\n this.inputWrapperEl.classList.remove(\"focus\");\r\n }\r\n\r\n handleInput(ev: Event) {\r\n this.value = (ev.target as HTMLInputElement).value;\r\n if (this.characterLimit && this.charCount >= this.characterLimit - 5) {\r\n this.announce(this.generateCharacterLimitWarning(this.charCount, this.characterLimit));\r\n }\r\n }\r\n\r\n handleFocus() {\r\n this.inputWrapperEl.classList.add(\"focus\");\r\n }\r\n\r\n validate() {\r\n // These rules are in priority order\r\n // i.e. an input that is triggering both required and number errors will only show the number one but it's first\r\n const validationRules = [this.validateNumber.bind(this), this.validateRequired.bind(this)];\r\n\r\n if (this.errorMessage) {\r\n return this.errorMessage;\r\n } else {\r\n // sets newError to first rule that returns an error\r\n return validationRules.reduce((prev, current) => (prev ? prev : current()), \"\");\r\n }\r\n }\r\n\r\n validateRequired(): string {\r\n const reqMsg =\r\n this.requiredFieldMessage ||\r\n intl.formatMessage({\r\n id: \"global.requiredError\",\r\n defaultMessage: \"This field is required.\",\r\n });\r\n return this.requiredField && this.value === \"\" ? reqMsg : \"\";\r\n }\r\n\r\n validateNumber(): string {\r\n return this.type === \"number\" && this.inputEl.validity.badInput ? this.numberErrorMessage : \"\";\r\n }\r\n\r\n announce(message: string) {\r\n if (this.liveRegionEl.textContent === message) {\r\n message += \"\\u00A0\";\r\n }\r\n this.announcement = message;\r\n }\r\n\r\n generateCharacterLimitWarning(charCount: number, charLimit: number): string {\r\n const charactersEnteredMessage = intl.formatMessage(\r\n {\r\n id: \"global.charactersEntered\",\r\n defaultMessage: \"{x, number} of {y, number} characters entered.\",\r\n description: \"for screen readers\",\r\n },\r\n { x: charCount, y: charLimit }\r\n );\r\n\r\n const characterLimitReachedMessage = intl.formatMessage({\r\n id: \"global.characterLimitReached\",\r\n defaultMessage: \"No additional characters will be entered.\",\r\n description: \"for screen readers\",\r\n });\r\n\r\n return `${charactersEnteredMessage}${charCount >= charLimit ? \" \" + characterLimitReachedMessage : \"\"}`;\r\n }\r\n\r\n generateCharacterLimitLabel(characterLimit: number): string {\r\n return intl.formatMessage(\r\n {\r\n id: \"global.characterLimit\",\r\n defaultMessage: \"{limit, number} characters allowed.\",\r\n description: \"for screen readers\",\r\n },\r\n { limit: characterLimit }\r\n );\r\n }\r\n\r\n renderErrorMessage() {\r\n return this.errorMessage || this.displayedErrorMessage;\r\n }\r\n\r\n render() {\r\n return (\r\n <Host id={this.uid}>\r\n <div\r\n class={`wrapper label-${this.labelPosition} ${\r\n this.errorMessage || this.displayedErrorMessage ? \"invalid\" : \"\"\r\n }`}\r\n ref={(el) => (this.inputWrapperEl = el as HTMLDivElement)}\r\n >\r\n <div class=\"label-wrapper\">\r\n {this.labelPosition !== \"none\" && (\r\n <label htmlFor={`inputfield-${this.uid}`} class=\"label\">\r\n {this.label}\r\n {this.requiredField && (\r\n <span class=\"required\" aria-hidden=\"true\">\r\n *\r\n </span>\r\n )}\r\n </label>\r\n )}\r\n </div>\r\n <div class=\"inner-wrapper\">\r\n <div class=\"inputfield-wrapper\">\r\n <input\r\n ref={(el) => (this.inputEl = el as HTMLInputElement)}\r\n id={`inputfield-${this.uid}`}\r\n disabled={this.disabled}\r\n aria-label={`${this.label}${\r\n this.characterLimit ? \" \" + this.generateCharacterLimitLabel(this.characterLimit) : \"\"\r\n }`}\r\n aria-describedby={`info-${this.uid} error-${this.uid}`}\r\n onInput={(ev) => this.handleInput(ev)}\r\n onKeyDown={(ev) => this.handleKeyDown(ev)}\r\n onBlur={(ev) => this.handleBlur(ev)}\r\n onFocus={this.handleFocus.bind(this)}\r\n placeholder={this.placeholder}\r\n autocomplete=\"off\"\r\n aria-required={this.requiredField ? \"true\" : null}\r\n maxLength={this.characterLimit || undefined}\r\n type={this.type}\r\n step={this.step}\r\n max={this.max}\r\n min={this.min}\r\n />\r\n {this.characterLimit && typeof this.characterLimit === \"number\" ? (\r\n <div class=\"character-count\">\r\n {this.charCount}/{this.characterLimit}\r\n </div>\r\n ) : (\r\n \"\"\r\n )}\r\n </div>\r\n {this.info && (\r\n <div id={`info-${this.uid}`} class=\"info\">\r\n {this.info}\r\n </div>\r\n )}\r\n <div id={`error-${this.uid}`} aria-live=\"assertive\" class=\"error-message\" aria-atomic=\"true\">\r\n {this.renderErrorMessage()}\r\n </div>\r\n <div\r\n class=\"sr-only\"\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n ref={(el) => (this.liveRegionEl = el as HTMLDivElement)}\r\n >\r\n {this.announcement}\r\n </div>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["wmModalFooterCss","ModalFooter","exports","class_1","prototype","componentWillLoad","_this","this","uid","el","parentElement","addEventListener","lastElement","focus","emitParentPrimaryEvent","parentModal","emitPrimaryEvent","emitParentSecondaryEvent","emitSecondaryEvent","render","h","class","concat","infoText","secondaryText","onClick","id","ref","primaryActionDisabled","deleteStyle","disabled","primaryText"],"sources":["src/components/wm-modal/wm-modal-footer.scss?tag=wm-modal-footer","src/components/wm-modal/wm-modal-footer.tsx"],"sourcesContent":["wm-modal-footer {\n @include border-radius(0px 0px 5px 5px);\n //Fix for Chrome sometimes leaving space between footer and content, making the overlay show through\n margin-top: -1px;\n\n .wm-wrapper {\n @include displayFlex();\n @include justifyContent(space-between);\n @include alignItems(center);\n\n &.footer-text {\n @media only screen and (max-width: 650px) {\n flex-direction: column;\n align-items: flex-start;\n }\n }\n\n wm-button + wm-button {\n margin-left: rem-calc(16);\n // @media only screen and (max-width: 768px) {\n // margin-right: 15px;\n // }\n }\n\n .wm-info {\n font-size: rem-calc(14);\n font-style: italic;\n @media only screen and (max-width: 650px) {\n padding-bottom: rem-calc(10);\n }\n\n &:focus {\n outline: none;\n }\n }\n }\n}\n","import { h, Component, Element, Prop } from \"@stencil/core\";\n\n@Component({\n tag: \"wm-modal-footer\",\n styleUrl: \"wm-modal-footer.scss\",\n})\nexport class ModalFooter {\n @Element() el!: HTMLElement;\n\n @Prop() secondaryText?: string = \"\";\n @Prop() primaryText?: string = \"\";\n @Prop() infoText?: string = \"\";\n @Prop() primaryActionDisabled: boolean = false;\n @Prop() deleteStyle: boolean = false;\n private uid!: string;\n private lastElement!: HTMLElement;\n\n componentWillLoad() {\n this.uid = (this.el.parentElement as HTMLWmModalElement).uid;\n\n // Trap focus when user shift+tabs past first element in modal\n // NB @Listen doesn't allow to listen on a specific element (the parent modal)\n // if we listen to the whole doc each modal on the page reacts to every event\n this.el.parentElement!.addEventListener(\"focusLastElement\", () => {\n this.lastElement.focus();\n });\n }\n\n emitParentPrimaryEvent() {\n const parentModal = this.el.parentElement;\n //@ts-ignore\n parentModal.emitPrimaryEvent();\n }\n\n emitParentSecondaryEvent() {\n const parentModal = this.el.parentElement;\n //@ts-ignore\n parentModal.emitSecondaryEvent();\n }\n\n render() {\n return (\n <div class={`wm-wrapper ${this.infoText ? \" footer-text\" : \"\"}`}>\n <div class=\"wm-info\" aria-live=\"polite\">{this.infoText}</div>\n <div class=\"wm-button-collection\">\n {this.secondaryText && (\n <wm-button\n onClick={() => this.emitParentSecondaryEvent()}\n id={`wm-secondary-${this.uid}`}\n ref={(el) => (this.primaryActionDisabled ? (this.lastElement = el as HTMLElement) : null)}\n >\n {this.secondaryText}\n </wm-button>\n )}\n <wm-button\n button-type={this.deleteStyle ? \"secondary\" : \"primary\"}\n permanently-delete={this.deleteStyle}\n onClick={() => this.emitParentPrimaryEvent()}\n disabled={this.primaryActionDisabled}\n id={`wm-primary-${this.uid}`}\n ref={(el) => (!this.primaryActionDisabled ? (this.lastElement = el as HTMLElement) : null)}\n >\n {this.primaryText}\n </wm-button>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"kJAAA,IAAMA,EAAmB,47B,ICMZC,EAAWC,EAAA,6B,2CAGW,G,iBACF,G,cACH,G,2BACa,M,iBACV,K,CAI/BC,EAAAC,UAAAC,kBAAA,eAAAC,EAAAC,KACEA,KAAKC,IAAOD,KAAKE,GAAGC,cAAqCF,IAKzDD,KAAKE,GAAGC,cAAeC,iBAAiB,oBAAoB,WAC1DL,EAAKM,YAAYC,O,KAIrBV,EAAAC,UAAAU,uBAAA,WACE,IAAMC,EAAcR,KAAKE,GAAGC,cAE5BK,EAAYC,kB,EAGdb,EAAAC,UAAAa,yBAAA,WACE,IAAMF,EAAcR,KAAKE,GAAGC,cAE5BK,EAAYG,oB,EAGdf,EAAAC,UAAAe,OAAA,eAAAb,EAAAC,KACE,OACEa,EAAA,OAAKC,MAAO,cAAAC,OAAcf,KAAKgB,SAAW,eAAiB,KACzDH,EAAA,OAAKC,MAAM,UAAS,YAAW,UAAUd,KAAKgB,UAC9CH,EAAA,OAAKC,MAAM,wBACRd,KAAKiB,eACJJ,EAAA,aACEK,QAAS,WAAM,OAAAnB,EAAKW,0BAAL,EACfS,GAAI,gBAAAJ,OAAgBf,KAAKC,KACzBmB,IAAK,SAAClB,GAAE,OAAMH,EAAKsB,sBAAyBtB,EAAKM,YAAcH,EAAqB,IAA5E,GAEPF,KAAKiB,eAGVJ,EAAA,2BACeb,KAAKsB,YAAc,YAAc,UAAS,qBACnCtB,KAAKsB,YACzBJ,QAAS,WAAM,OAAAnB,EAAKQ,wBAAL,EACfgB,SAAUvB,KAAKqB,sBACfF,GAAI,cAAAJ,OAAcf,KAAKC,KACvBmB,IAAK,SAAClB,GAAE,OAAOH,EAAKsB,sBAAyBtB,EAAKM,YAAcH,EAAqB,IAA7E,GAEPF,KAAKwB,c,uHAxDM,I"}
1
+ {"version":3,"names":["wmModalFooterCss","ModalFooter","exports","class_1","prototype","componentWillLoad","_this","this","uid","el","parentElement","addEventListener","lastElement","focus","emitParentPrimaryEvent","parentModal","emitPrimaryEvent","emitParentSecondaryEvent","emitSecondaryEvent","render","h","class","concat","infoText","secondaryText","onClick","id","ref","primaryActionDisabled","deleteStyle","disabled","primaryText"],"sources":["src/components/wm-modal/wm-modal-footer.scss?tag=wm-modal-footer","src/components/wm-modal/wm-modal-footer.tsx"],"sourcesContent":["wm-modal-footer {\r\n @include border-radius(0px 0px 5px 5px);\r\n //Fix for Chrome sometimes leaving space between footer and content, making the overlay show through\r\n margin-top: -1px;\r\n\r\n .wm-wrapper {\r\n @include displayFlex();\r\n @include justifyContent(space-between);\r\n @include alignItems(center);\r\n\r\n &.footer-text {\r\n @media only screen and (max-width: 650px) {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n }\r\n }\r\n\r\n wm-button + wm-button {\r\n margin-left: rem-calc(16);\r\n // @media only screen and (max-width: 768px) {\r\n // margin-right: 15px;\r\n // }\r\n }\r\n\r\n .wm-info {\r\n font-size: rem-calc(14);\r\n font-style: italic;\r\n @media only screen and (max-width: 650px) {\r\n padding-bottom: rem-calc(10);\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n }\r\n }\r\n}\r\n","import { h, Component, Element, Prop } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"wm-modal-footer\",\r\n styleUrl: \"wm-modal-footer.scss\",\r\n})\r\nexport class ModalFooter {\r\n @Element() el!: HTMLElement;\r\n\r\n @Prop() secondaryText?: string = \"\";\r\n @Prop() primaryText?: string = \"\";\r\n @Prop() infoText?: string = \"\";\r\n @Prop() primaryActionDisabled: boolean = false;\r\n @Prop() deleteStyle: boolean = false;\r\n private uid!: string;\r\n private lastElement!: HTMLElement;\r\n\r\n componentWillLoad() {\r\n this.uid = (this.el.parentElement as HTMLWmModalElement).uid;\r\n\r\n // Trap focus when user shift+tabs past first element in modal\r\n // NB @Listen doesn't allow to listen on a specific element (the parent modal)\r\n // if we listen to the whole doc each modal on the page reacts to every event\r\n this.el.parentElement!.addEventListener(\"focusLastElement\", () => {\r\n this.lastElement.focus();\r\n });\r\n }\r\n\r\n emitParentPrimaryEvent() {\r\n const parentModal = this.el.parentElement;\r\n //@ts-ignore\r\n parentModal.emitPrimaryEvent();\r\n }\r\n\r\n emitParentSecondaryEvent() {\r\n const parentModal = this.el.parentElement;\r\n //@ts-ignore\r\n parentModal.emitSecondaryEvent();\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`wm-wrapper ${this.infoText ? \" footer-text\" : \"\"}`}>\r\n <div class=\"wm-info\" aria-live=\"polite\">{this.infoText}</div>\r\n <div class=\"wm-button-collection\">\r\n {this.secondaryText && (\r\n <wm-button\r\n onClick={() => this.emitParentSecondaryEvent()}\r\n id={`wm-secondary-${this.uid}`}\r\n ref={(el) => (this.primaryActionDisabled ? (this.lastElement = el as HTMLElement) : null)}\r\n >\r\n {this.secondaryText}\r\n </wm-button>\r\n )}\r\n <wm-button\r\n button-type={this.deleteStyle ? \"secondary\" : \"primary\"}\r\n permanently-delete={this.deleteStyle}\r\n onClick={() => this.emitParentPrimaryEvent()}\r\n disabled={this.primaryActionDisabled}\r\n id={`wm-primary-${this.uid}`}\r\n ref={(el) => (!this.primaryActionDisabled ? (this.lastElement = el as HTMLElement) : null)}\r\n >\r\n {this.primaryText}\r\n </wm-button>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"kJAAA,IAAMA,EAAmB,47B,ICMZC,EAAWC,EAAA,6B,2CAGW,G,iBACF,G,cACH,G,2BACa,M,iBACV,K,CAI/BC,EAAAC,UAAAC,kBAAA,eAAAC,EAAAC,KACEA,KAAKC,IAAOD,KAAKE,GAAGC,cAAqCF,IAKzDD,KAAKE,GAAGC,cAAeC,iBAAiB,oBAAoB,WAC1DL,EAAKM,YAAYC,O,KAIrBV,EAAAC,UAAAU,uBAAA,WACE,IAAMC,EAAcR,KAAKE,GAAGC,cAE5BK,EAAYC,kB,EAGdb,EAAAC,UAAAa,yBAAA,WACE,IAAMF,EAAcR,KAAKE,GAAGC,cAE5BK,EAAYG,oB,EAGdf,EAAAC,UAAAe,OAAA,eAAAb,EAAAC,KACE,OACEa,EAAA,OAAKC,MAAO,cAAAC,OAAcf,KAAKgB,SAAW,eAAiB,KACzDH,EAAA,OAAKC,MAAM,UAAS,YAAW,UAAUd,KAAKgB,UAC9CH,EAAA,OAAKC,MAAM,wBACRd,KAAKiB,eACJJ,EAAA,aACEK,QAAS,WAAM,OAAAnB,EAAKW,0BAAL,EACfS,GAAI,gBAAAJ,OAAgBf,KAAKC,KACzBmB,IAAK,SAAClB,GAAE,OAAMH,EAAKsB,sBAAyBtB,EAAKM,YAAcH,EAAqB,IAA5E,GAEPF,KAAKiB,eAGVJ,EAAA,2BACeb,KAAKsB,YAAc,YAAc,UAAS,qBACnCtB,KAAKsB,YACzBJ,QAAS,WAAM,OAAAnB,EAAKQ,wBAAL,EACfgB,SAAUvB,KAAKqB,sBACfF,GAAI,cAAAJ,OAAcf,KAAKC,KACvBmB,IAAK,SAAClB,GAAE,OAAOH,EAAKsB,sBAAyBtB,EAAKM,YAAcH,EAAqB,IAA7E,GAEPF,KAAKwB,c,uHAxDM,I"}
@@ -1,2 +1,2 @@
1
- System.register(["./p-7b2fc615.system.js","./p-e782194d.system.js"],(function(e){"use strict";var t,o,r,i,n,a,s,l,d;return{setters:[function(e){t=e.r;o=e.c;r=e.f;i=e.h;n=e.H;a=e.g},function(e){s=e.g;l=e.i;d=e.u}],execute:function(){var p=':host .wm-button,wm-uploader .wm-button{-ms-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);-moz-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;width:inherit;border:2px solid #575195;color:#575195;font-family:inherit;font-size:0.75rem;font-weight:700;height:2.75rem;padding:0 1.3333333333em;cursor:pointer;position:relative;background:#fff;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;text-decoration:none;text-transform:uppercase;letter-spacing:0.01875rem;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}@media screen and (min-width: 48rem){:host .wm-button,wm-uploader .wm-button{height:3.3333333333em}}:host .wm-button.nowrap,wm-uploader .wm-button.nowrap{display:inline-block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host .wm-button:focus,wm-uploader .wm-button:focus{outline:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .wm-button::-moz-focus-inner,wm-uploader .wm-button::-moz-focus-inner{border:0;outline:none}:host .wm-button.user-is-tabbing:focus:not(:disabled):not(.disabled) :host .wm-button.-textonly .button-text,wm-uploader .wm-button.user-is-tabbing:focus:not(:disabled):not(.disabled) :host .wm-button.-textonly .button-text,:host .wm-button.user-is-tabbing:focus:not(:disabled):not(.disabled) wm-uploader .wm-button.-textonly .button-text,wm-uploader .wm-button.user-is-tabbing:focus:not(:disabled):not(.disabled) wm-uploader .wm-button.-textonly .button-text{background:-webkit-gradient(linear, left top, right top, color-stop(66%, #3862e9), color-stop(0, transparent)) repeat-x;background:linear-gradient(90deg, #3862e9 66%, transparent 0) repeat-x;background-size:6px 3px;background-position:0 1em;border-radius:0;line-height:normal}:host .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled),wm-uploader .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled){-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark),wm-uploader .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark){-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e}:host .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark)::-moz-focus-inner,wm-uploader .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark)::-moz-focus-inner{border:0}:host .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled),wm-uploader .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled){background:transparent;border:2px solid #fff;color:#fff}:host .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled):hover,wm-uploader .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled):hover{color:#575195;background:#e6e6e6;border:2px solid #e6e6e6}:host .wm-button.dark.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled).dark,wm-uploader .wm-button.dark.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled).dark{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;outline:none}:host .wm-button:active:not(:disabled):not(.disabled):not(.-textonly):not(.-actionbutton):not(.displayedoption),wm-uploader .wm-button:active:not(:disabled):not(.disabled):not(.-textonly):not(.-actionbutton):not(.displayedoption){-ms-transform:scale(0.9, 0.9);-webkit-transform:scale(0.9, 0.9);-moz-transform:scale(0.9, 0.9);transform:scale(0.9, 0.9)}:host .wm-button .mdi,wm-uploader .wm-button .mdi{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:host .wm-button:not(.-icononly):not(.-navigational) .mdi,wm-uploader .wm-button:not(.-icononly):not(.-navigational) .mdi{margin-right:0.3125rem}:host .wm-button[dir=RTL] :not(.-icononly) .mdi,wm-uploader .wm-button[dir=RTL] :not(.-icononly) .mdi{margin-left:0.3125rem;margin-right:0}:host .wm-button.-primary:not(.-textonly),wm-uploader .wm-button.-primary:not(.-textonly){background:#575195;color:#fff}:host .wm-button.-primary:not(.-textonly):not(:focus),wm-uploader .wm-button.-primary:not(.-textonly):not(:focus){-webkit-box-shadow:0 2px 2px 0 rgba(87, 81, 149, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 2px 0 rgba(87, 81, 149, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.2);box-shadow:0 2px 2px 0 rgba(87, 81, 149, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.2)}:host .wm-button.-primary:not(.-textonly):hover:not(:disabled):not(.disabled),wm-uploader .wm-button.-primary:not(.-textonly):hover:not(:disabled):not(.disabled){background:#464177}:host .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled),wm-uploader .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled){color:#575195;background:#fff;border:2px solid #fff}:host .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled):hover,wm-uploader .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled):hover{color:#575195;background:#e6e6e6;border:2px solid #e6e6e6}:host .wm-button.-secondary:hover:not(:disabled):not(.disabled),wm-uploader .wm-button.-secondary:hover:not(:disabled):not(.disabled),:host .wm-button.-selector:hover:not(:disabled):not(.disabled),wm-uploader .wm-button.-selector:hover:not(:disabled):not(.disabled),:host .wm-button.-icononly:hover:not(:disabled):not(.disabled),wm-uploader .wm-button.-icononly:hover:not(:disabled):not(.disabled){background:#464177;color:#fff}:host .wm-button.-textonly,wm-uploader .wm-button.-textonly{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;display:inline-block;letter-spacing:0;text-transform:none;text-align:initial;font-size:0.875rem;border:none;background:transparent;padding-left:0;padding-right:0;height:auto;border-radius:0;line-height:1}:host .wm-button.-textonly+.-textonly,wm-uploader .wm-button.-textonly+.-textonly{margin-left:0.3125rem}:host .wm-button.-textonly:focus,wm-uploader .wm-button.-textonly:focus{outline:none}:host .wm-button.-textonly::-moz-focus-inner,wm-uploader .wm-button.-textonly::-moz-focus-inner{border:0;outline:none}:host .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled) .button-text,wm-uploader .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled) .button-text{background:-webkit-gradient(linear, left top, right top, color-stop(66%, #3862e9), color-stop(0, transparent)) repeat-x;background:linear-gradient(90deg, #3862e9 66%, transparent 0) repeat-x;background-size:6px 3px;background-position:0 1em;border-radius:0;line-height:normal}:host .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled).dark .button-text,wm-uploader .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled).dark .button-text{background:-webkit-gradient(linear, left top, right top, color-stop(66%, #fff), color-stop(0, transparent)) repeat-x;background:linear-gradient(90deg, #fff 66%, transparent 0) repeat-x;background-size:6px 3px;background-position:0 1em;border-radius:0;line-height:normal}:host .wm-button.-textonly.small,wm-uploader .wm-button.-textonly.small{font-size:0.625rem}:host .wm-button.-textonly:hover:not(:disabled):not(.disabled):not(.-permanentlydelete),wm-uploader .wm-button.-textonly:hover:not(:disabled):not(.disabled):not(.-permanentlydelete){text-decoration:underline}:host .wm-button.-textonly.-permanentlydelete,wm-uploader .wm-button.-textonly.-permanentlydelete{color:#c0392b}:host .wm-button.-textonly.-permanentlydelete:hover:not(:disabled):not(.disabled):not(.dark),wm-uploader .wm-button.-textonly.-permanentlydelete:hover:not(:disabled):not(.disabled):not(.dark){text-decoration:underline;color:#c0392b !important}:host .wm-button.-textonly.dark,wm-uploader .wm-button.-textonly.dark{color:#fff}:host .wm-button.-textonly.dark:hover:not(:disabled):not(.disabled),wm-uploader .wm-button.-textonly.dark:hover:not(:disabled):not(.disabled){text-decoration:underline;color:#fff !important}:host .wm-button.-icononly,wm-uploader .wm-button.-icononly,:host .wm-button.-navigational,wm-uploader .wm-button.-navigational{-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;border-radius:50%;font-size:1rem;padding:0;height:auto;line-height:1;min-width:2.75rem;min-height:2.75rem;text-align:center;letter-spacing:normal}:host .wm-button.-icononly:not(:focus),wm-uploader .wm-button.-icononly:not(:focus),:host .wm-button.-navigational:not(:focus),wm-uploader .wm-button.-navigational:not(:focus){-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}@media screen and (min-width: 48rem){:host .wm-button.-icononly,wm-uploader .wm-button.-icononly,:host .wm-button.-navigational,wm-uploader .wm-button.-navigational{min-width:2.5rem;min-height:2.5rem}}:host .wm-button.-icononly,wm-uploader .wm-button.-icononly{border-width:1px !important}:host .wm-button.-icononly:before,wm-uploader .wm-button.-icononly:before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:host .wm-button.-navigational,wm-uploader .wm-button.-navigational{border:none !important;background-color:transparent}:host .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled),wm-uploader .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled){color:#575195}:host .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled):hover,wm-uploader .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled):hover,:host .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled).selected,wm-uploader .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled).selected{background-color:#d7d6d9}:host .wm-button.-navigational:before,wm-uploader .wm-button.-navigational:before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:host .wm-button.-permanentlydelete:not(.-textonly),wm-uploader .wm-button.-permanentlydelete:not(.-textonly){background:#c0392b;border-color:#c0392b;color:#fff}:host .wm-button.-permanentlydelete:not(.-textonly):hover:not(:disabled):not(.disabled):not(.dark),wm-uploader .wm-button.-permanentlydelete:not(.-textonly):hover:not(:disabled):not(.disabled):not(.dark){background:#9a2e22;border-color:#9a2e22}:host .wm-button.-pairnegative,wm-uploader .wm-button.-pairnegative{background:#cc4c3e;border-color:#cc4c3e;color:#fff}:host .wm-button.-pairnegative:hover:not(:disabled):not(.disabled),wm-uploader .wm-button.-pairnegative:hover:not(:disabled):not(.disabled){background:#a33d32;border-color:#a33d32}:host .wm-button.-pairpositive,wm-uploader .wm-button.-pairpositive{background:#15868d;border-color:#15868d;color:#fff}:host .wm-button.-pairpositive:hover:not(:disabled):not(.disabled),wm-uploader .wm-button.-pairpositive:hover:not(:disabled):not(.disabled){background:#116b71;border-color:#116b71}:host .wm-button.-selector,wm-uploader .wm-button.-selector,:host .wm-button.-selector-primary,wm-uploader .wm-button.-selector-primary{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;display:block;background:transparent;border:2px solid #575195;border-radius:3px;height:2.75rem;min-width:11.4375rem;padding:0 1.875rem 0 0.9375rem;line-height:normal;font-family:inherit;color:#575195;font-weight:700;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.01875rem;text-align:left}@media screen and (min-width: 48rem){:host .wm-button.-selector,wm-uploader .wm-button.-selector,:host .wm-button.-selector-primary,wm-uploader .wm-button.-selector-primary{height:2.5rem}}:host .wm-button.-selector:before,wm-uploader .wm-button.-selector:before,:host .wm-button.-selector-primary:before,wm-uploader .wm-button.-selector-primary:before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\\f140";position:absolute;right:0.5625rem;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:0.875rem;font-weight:700;pointer-events:none}:host .wm-button.-selector:active,wm-uploader .wm-button.-selector:active,:host .wm-button.-selector-primary:active,wm-uploader .wm-button.-selector-primary:active{-ms-transform:scale(1, 1) !important;-webkit-transform:scale(1, 1) !important;transform:scale(1, 1) !important}:host .wm-button.-selector::-moz-focus-inner,wm-uploader .wm-button.-selector::-moz-focus-inner,:host .wm-button.-selector-primary::-moz-focus-inner,wm-uploader .wm-button.-selector-primary::-moz-focus-inner{border:0}:host .wm-button.-selector .overflowcontrol,wm-uploader .wm-button.-selector .overflowcontrol,:host .wm-button.-selector-primary .overflowcontrol,wm-uploader .wm-button.-selector-primary .overflowcontrol{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:visible}:host .wm-button.-selector.dark:not(:disabled):not(.disabled):hover,wm-uploader .wm-button.-selector.dark:not(:disabled):not(.disabled):hover,:host .wm-button.-selector-primary.dark:not(:disabled):not(.disabled):hover,wm-uploader .wm-button.-selector-primary.dark:not(:disabled):not(.disabled):hover{color:#575195;background:#e6e6e6;border:2px solid #e6e6e6}:host .wm-button.-selector-primary,wm-uploader .wm-button.-selector-primary{background:#575195;color:#fff}:host .wm-button.-selector-primary:hover:not(:disabled):not(.disabled),wm-uploader .wm-button.-selector-primary:hover:not(:disabled):not(.disabled){background:#464177}:host .wm-button.-selector-primary.dark:not(:disabled):not(.disabled),wm-uploader .wm-button.-selector-primary.dark:not(:disabled):not(.disabled){color:#575195;background:#fff;border:2px solid #fff}:host .wm-button:disabled,wm-uploader .wm-button:disabled,:host .wm-button.disabled,wm-uploader .wm-button.disabled{background:inherit;border-color:#737373;color:#737373;cursor:default;pointer-events:none}:host .wm-button:disabled.-primary,wm-uploader .wm-button:disabled.-primary,:host .wm-button:disabled.-permanentlydelete,wm-uploader .wm-button:disabled.-permanentlydelete,:host .wm-button:disabled.-pairnegative,wm-uploader .wm-button:disabled.-pairnegative,:host .wm-button:disabled.-pairpositive,wm-uploader .wm-button:disabled.-pairpositive,:host .wm-button.disabled.-primary,wm-uploader .wm-button.disabled.-primary,:host .wm-button.disabled.-permanentlydelete,wm-uploader .wm-button.disabled.-permanentlydelete,:host .wm-button.disabled.-pairnegative,wm-uploader .wm-button.disabled.-pairnegative,:host .wm-button.disabled.-pairpositive,wm-uploader .wm-button.disabled.-pairpositive{background:#737373;color:#fff;border-color:#737373}:host .wm-button:disabled.-secondary,wm-uploader .wm-button:disabled.-secondary,:host .wm-button.disabled.-secondary,wm-uploader .wm-button.disabled.-secondary{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .wm-button:disabled.-selector,wm-uploader .wm-button:disabled.-selector,:host .wm-button.disabled.-selector,wm-uploader .wm-button.disabled.-selector{color:#737373}:host .wm-button:disabled.-selector-primary,wm-uploader .wm-button:disabled.-selector-primary,:host .wm-button.disabled.-selector-primary,wm-uploader .wm-button.disabled.-selector-primary{background:#737373;color:#fff;border-color:#737373}:host .wm-button:disabled.-textonly,wm-uploader .wm-button:disabled.-textonly,:host .wm-button.disabled.-textonly,wm-uploader .wm-button.disabled.-textonly{color:#6b6b6b;background:transparent}:host .wm-button:disabled.dark.-secondary:not(.-permanentlydelete),wm-uploader .wm-button:disabled.dark.-secondary:not(.-permanentlydelete),:host .wm-button:disabled.dark.-selector,wm-uploader .wm-button:disabled.dark.-selector,:host .wm-button:disabled.dark.-textonly,wm-uploader .wm-button:disabled.dark.-textonly,:host .wm-button:disabled.dark.-navigational,wm-uploader .wm-button:disabled.dark.-navigational,:host .wm-button:disabled.dark.-icononly,wm-uploader .wm-button:disabled.dark.-icononly,:host .wm-button.disabled.dark.-secondary:not(.-permanentlydelete),wm-uploader .wm-button.disabled.dark.-secondary:not(.-permanentlydelete),:host .wm-button.disabled.dark.-selector,wm-uploader .wm-button.disabled.dark.-selector,:host .wm-button.disabled.dark.-textonly,wm-uploader .wm-button.disabled.dark.-textonly,:host .wm-button.disabled.dark.-navigational,wm-uploader .wm-button.disabled.dark.-navigational,:host .wm-button.disabled.dark.-icononly,wm-uploader .wm-button.disabled.dark.-icononly{color:#b5b5b5;border-color:#b5b5b5}:host .wm-button:disabled.dark.-primary,wm-uploader .wm-button:disabled.dark.-primary,:host .wm-button:disabled.dark.-selector-primary,wm-uploader .wm-button:disabled.dark.-selector-primary,:host .wm-button:disabled.dark.-permanentlydelete:not(.-textonly),wm-uploader .wm-button:disabled.dark.-permanentlydelete:not(.-textonly),:host .wm-button.disabled.dark.-primary,wm-uploader .wm-button.disabled.dark.-primary,:host .wm-button.disabled.dark.-selector-primary,wm-uploader .wm-button.disabled.dark.-selector-primary,:host .wm-button.disabled.dark.-permanentlydelete:not(.-textonly),wm-uploader .wm-button.disabled.dark.-permanentlydelete:not(.-textonly){background:#a6a6a6;border-color:#a6a6a6;color:#353b48}:host a.wm-button,wm-uploader a.wm-button,:host label.wm-button,wm-uploader label.wm-button{height:auto;padding-top:0.75rem;padding-bottom:0.75rem}:host,wm-uploader{display:block;position:relative;max-width:1140px}:host[dir=RTL] .mdi,wm-uploader[dir=RTL] .mdi{margin-left:0.3125rem;margin-right:0}:host input:focus+.wm-button.user-is-tabbing,wm-uploader input:focus+.wm-button.user-is-tabbing{-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e !important;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e !important;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e !important}:host *,wm-uploader *{-webkit-box-sizing:border-box;box-sizing:border-box}.wm-button.disabled{pointer-events:initial !important}.wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;font-size:0.875rem}.wrapper .label{display:block;line-height:normal;font-weight:600;white-space:nowrap;margin-bottom:0.25rem}.wrapper .label .required{color:#c0392b}.wrapper.label-left{-ms-flex-direction:row;flex-direction:row}.wrapper.label-left .label-wrapper{line-height:2.5rem}.wrapper.label-left .label-wrapper .label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:2.5rem;white-space:normal;margin-bottom:0;margin-right:0.75rem}.wrapper.label-none label{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}.wrapper.invalid .label{color:#c0392b}.wrapper.invalid .label:after{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\\f026";margin-left:0.3125rem}[dir=RTL] .wrapper.invalid .label:after{margin-left:0;margin-right:0.3125rem}.wrapper.rtl.label-left .label{margin-right:0;margin-left:0.75rem}#label{margin-bottom:0.5rem}.header .info-wrapper{-ms-flex-align:center;align-items:center}.header .info-wrapper .info{font-size:0.875rem;margin-left:1rem}.header .accepted-types{font-size:0.875rem}.header .requirements{font-size:0.875rem;margin-left:1rem}.footer{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:end;align-items:flex-end;padding:0.9375rem 1.875rem}.footer .notif-wrapper{-ms-flex-align:end;align-items:flex-end}.footer .filecount-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.footer .filecount-wrapper .filecount{font-size:0.875rem;margin-right:1rem}.notif-wrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;margin-bottom:0.75rem}.notif-wrapper .requirements{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.notif,#error{padding-top:0.25rem;font-size:0.875rem;font-style:italic}.notif#error,#error#error{color:#c0392b}.info-wrapper{position:relative;display:-ms-flexbox;display:flex}.list-container{overflow-y:unset}.list-container.checkmark-spacer{margin-right:2.75rem}.list-container:has(.error-list,.inprogress-list,.file-list){margin-top:2.5rem}.list-container ul{padding:0;width:100%;margin:0}.list-container ul wm-file{margin-bottom:0.5rem}.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}.empty-block{margin:5rem auto;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center}.empty-block .upload-file{margin-bottom:1.875rem}.empty-block .empty-message{font-size:0.875rem;margin-bottom:0.4375rem}.empty-block .empty-message.large{font-size:1.5rem}.empty-block .info-wrapper{-ms-flex-pack:center;justify-content:center;width:100%}.empty-block .info-wrapper .wm-button{width:auto}.header.type1,.header.type2{margin-bottom:1rem}.header .slot-wrapper{display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:start;align-items:flex-start}.notif-wrapper.type1,.notif-wrapper.type2{-ms-flex-direction:column;flex-direction:column;margin-bottom:1rem}.list-container.type1,.list-container.type2{overflow-y:auto}.list-container.type1 ul,.list-container.type2 ul{margin:revert}.list-container.type1 .file-list li,.list-container.type1 .inprogress-list li,.list-container.type2 .file-list li,.list-container.type2 .inprogress-list li{margin-bottom:1.625rem}.list-container.type1 .error-list li,.list-container.type2 .error-list li{margin-bottom:1.25rem}.list-container.type1{padding:0 1.875rem;height:16.25rem}';var m=e("wm_uploader",function(){function e(e){t(this,e);this.wmUploaderFilesSelected=o(this,"wmUploaderFilesSelected",7);this.wmFilesSelected=o(this,"wmFilesSelected",7);this.wmUploaderDeleteFile=o(this,"wmUploaderDeleteFile",7);this.wmDeleteFile=o(this,"wmDeleteFile",7);this.wmUploaderDownloadFile=o(this,"wmUploaderDownloadFile",7);this.wmDownloadFile=o(this,"wmDownloadFile",7);this.wmUploaderPreviewFile=o(this,"wmUploaderPreviewFile",7);this.wmFileDelete=o(this,"wmFileDelete",7);this.wmFileDownload=o(this,"wmFileDownload",7);this.wmFilePreview=o(this,"wmFilePreview",7);this.inputId=s();this.uploaderType=undefined;this.type=undefined;this.label=undefined;this.buttonText=undefined;this.info=undefined;this.emptyStateText=undefined;this.icon=undefined;this.fileTypes="pdf txt log xml doc docx xls xlsx ppt pptx gif jpg jpeg png csv";this.maxSize=undefined;this.maxFiles=undefined;this.sortBy="date";this.showInfo="time";this.errorMessage=undefined;this.requiredField=undefined;this.files=undefined;this.fileList=[];this.filesToUpload=[];this.isTabbing=false;this.rejectedFiles=undefined;this.errorList=[];this.notif=undefined;this.internalErrorMessage=undefined;this.announcement="";this.numFilesInProgress=undefined;this.isCondensed=false}Object.defineProperty(e.prototype,"uploadButtonEl",{get:function(){return this.el.shadowRoot.querySelector("#".concat(this.inputId))},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"tempUploaderType",{get:function(){return this.type||this.uploaderType},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"effectiveMaxSize",{get:function(){var e=100;var t=100;return this.maxSize?Math.min(this.maxSize,t):e},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"fileLimitReached",{get:function(){return this.maxFiles&&this.fileList.length>=this.maxFiles},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"displayedErrorMessage",{get:function(){return this.errorMessage||this.internalErrorMessage||""},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"fileLimitExceededMessage",{get:function(){return l.formatMessage({id:"uploader.fileUploadLimitExceeded",defaultMessage:"Upload unsuccessful because file selection would exceed the maximum number of files",description:"Message displayed when trying to upload too many files"})},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"fileLimitReachedMessage",{get:function(){return l.formatMessage({id:"uploader.fileUploadLimitReached",defaultMessage:"The maximum number of files has been reached",description:"Message displayed when trying to upload additional files, but the limit has been reached"})},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"fileCountMessage",{get:function(){return l.formatMessage({id:"uploader.fileCount",defaultMessage:"{x} of {y} Files",description:"A count of the number of files currently uploaded"},{x:this.fileList.length,y:this.maxFiles})},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"maxSizeMessage",{get:function(){return l.formatMessage({id:"uploader.maxSize",defaultMessage:"Maximum file size {maxSize}MB",description:"An indicator of the maximum file size the uploader allows"},{maxSize:this.effectiveMaxSize})},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"acceptedFileTypesMessage",{get:function(){var e="."+this.fileTypes.split(" ").join(", .");return l.formatMessage({id:"uploader.acceptedFileTypes",defaultMessage:"Accepted file {amount, plural, =1 {type} other {types}}: {fileTypes}"},{fileTypes:e,amount:this.fileTypes.split(" ").length})},enumerable:false,configurable:true});e.prototype.toggleTabbingOn=function(){this.isTabbing=true};e.prototype.toggleTabbingOff=function(){this.isTabbing=false};e.prototype.handleUploadProgress=function(e){var t=this;this.fileList.map((function(o){if(o.id===e.detail.id){o.progress=e.detail.progress;r(t.el)}}));if(e.detail.progress===100){this.numFilesInProgress-=1}if(!this.srProgress&&this.numFilesInProgress){var o=this.numFilesInProgress;this.srProgress=setInterval((function(){var e=t.fileList.reduce((function(e,t){return t.progress?e+t.progress:e}),0);t.announce(l.formatMessage({id:"uploader.uploadProgress",defaultMessage:"Upload progress: {percentage}%"},{percentage:Math.floor(e/o)}))}),5e3)}};e.prototype.handleFileErrorCleared=function(e){var t=e.detail.name;this.errorList=this.errorList.filter((function(e){return e.name!=t}));this.uploadButtonEl.focus()};e.prototype.handleFileDeleted=function(e){this.clearErrors();r(this.el);this.wmUploaderDeleteFile.emit(e.detail);this.wmFileDelete.emit(e.detail);this.wmDeleteFile.emit(e.detail)};e.prototype.handleFilePreviewed=function(e){this.clearErrors();this.wmUploaderPreviewFile.emit(e.detail);this.wmFilePreview.emit(e.detail)};e.prototype.handleFileDownloaded=function(e){this.clearErrors();this.wmUploaderDownloadFile.emit(e.detail);this.wmFileDownload.emit(e.detail);this.wmDownloadFile.emit(e.detail)};e.prototype.parseFiles=function(){var e=this;if(!!this.files){if(typeof this.files==="string"){var t=JSON.parse(this.files);if(typeof t==="object"){t.forEach((function(t){if(t.size&&(typeof t.size==="number"||t.size.match(/^[0-9]+$/))){var o=e.convertBytes(t.size);t.size="".concat(o.size.toFixed(0)," ").concat(o.unit)}}));this.fileList=t}else{throw new Error("could not parse string passed to files attribute")}}else{throw new Error("Attribute 'files' should be a string")}}};e.prototype.focusAfterRemoval=function(e,t){if(this.isTabbing&&e.length<t.length){var o=e.map((function(e){return e.id}));var r=t.map((function(e){return e.id}));var i=r.filter((function(e){return!o.includes(e)}))[0];if(r.indexOf(i)>0){var n=r[r.indexOf(i)-1];var a=this.el.shadowRoot.querySelector("#file-"+n);var s=a===null||a===void 0?void 0:a.shadowRoot.querySelectorAll("wm-button");if(s&&s.length>0){var l=s[s.length-1];l.focus()}else{this.focusAfterRemoval(e.filter((function(e){return e.id!==n})),t)}}else{this.uploadButtonEl.focus()}}};e.prototype.parseRejectedFiles=function(){if(!!this.rejectedFiles){if(typeof this.files==="string"){var e=JSON.parse(this.rejectedFiles);if(typeof e==="object"){this.errorList=e}else{throw new Error("could not parse string passed to errors attribute")}}else{throw new Error("Attribute 'rejected-files' should be a string")}}};e.prototype.uploadNotifications=function(e,t){var o=this;if(t>0&&e===0){setTimeout((function(){o.notif="";o.internalErrorMessage=""}),20*1e3);var i=l.formatMessage({id:"uploader.finishedUploading",defaultMessage:"Finished uploading"});this.notif=i;this.announce(i);this.numFilesInProgress=null;clearInterval(this.srProgress);r(this.el)}else if(e>0&&e!=t){var n=l.formatMessage({id:"uploader.filesUploading",defaultMessage:"{num, plural, one {1 file uploading} other {# files uploading}}"},{num:e});this.notif=n;this.announce(n);r(this.el)}};e.prototype.handleErrorMessageChange=function(){if(this.errorMessage){this.announce(this.errorMessage)}};e.prototype.isValidSize=function(e){return this.convertBytes(e,"MB").size<=this.effectiveMaxSize};e.prototype.convertBytes=function(e,t){var o=["bytes","KB","MB","GB","TB"];var r=0;var i=typeof e==="number"?e:parseInt(e);if(t){while(o.indexOf(t)>r){i/=1024;r++}}else{while(i>1e3){i/=1024;r++}}return{size:i,unit:o[r]}};e.prototype.isDuplicate=function(e){var t=this.filesToUpload.some((function(t){return t.name===e}));var o=this.fileList.some((function(t){var o=t.type?t.name+"."+t.type:t.name;return o===e}));return t||o};e.prototype.isEmpty=function(){return!this.fileList.length&&!this.errorList.length};Object.defineProperty(e.prototype,"isDisabled",{get:function(){return this.fileLimitReached||this.numFilesInProgress>0},enumerable:false,configurable:true});e.prototype.isItemUploading=function(e){return e.hasOwnProperty("progress")&&e.progress<100};e.prototype.announce=function(e){if(this.liveRegion.textContent===e){e+=" "}this.announcement=e};e.prototype.clearErrors=function(){this.errorList=[];this.notif="";this.internalErrorMessage=""};e.prototype.handleFiles=function(e){var t=this;this.filesToUpload=[];var o=this.fileTypes.split(" ").join(", ");var r=Array.from(e.target.files);if(!!this.maxFiles&&this.fileList.length+r.length>this.maxFiles){this.internalErrorMessage=this.fileLimitExceededMessage;this.announce(this.fileLimitExceededMessage)}else{r&&r.map((function(e){if(!d(e,t.fileTypes)){var r={name:e.name,message:l.formatMessage({id:"uploader.invalidFileType",defaultMessage:"The file type is invalid. Accepted types: {validTypes}"},{validTypes:o})};t.errorList.push(r)}else if(e.size===0){var r={name:e.name,message:l.formatMessage({id:"uploader.zeroFileSize",defaultMessage:"The file must be more than 0 bytes",description:"Error message when user attempts to upload a file of no size"})};t.errorList.push(r)}else if(!t.isValidSize(e.size)){var r={name:e.name,message:l.formatMessage({id:"uploader.fileTooLarge",defaultMessage:"The selected file is too large. Maximum file size is {size}Mb"},{size:t.effectiveMaxSize})};t.errorList.push(r)}else if(t.isDuplicate(e.name)){var r={name:e.name,message:l.formatMessage({id:"uploader.duplicateName",defaultMessage:"A file with this name already exists."})};t.errorList.push(r)}else{t.filesToUpload.push(e)}}));if(this.filesToUpload.length>0){this.numFilesInProgress=this.filesToUpload.length;this.wmUploaderFilesSelected.emit(this.filesToUpload);this.wmFilesSelected.emit(this.filesToUpload)}}e.target.value=""};e.prototype.componentWillLoad=function(){if(!this.buttonText){throw new Error("wm-uploader: button-text is a required prop")}if(this.type){console.warn("wm-uploader: type has been deprecated as of v3.1.0. Please use uploader-type instead.")}if(this.tempUploaderType==="1"&&!this.emptyStateText){throw new Error("wm-uploader: empty-state-text is a required prop")}this.parseFiles();this.clearErrors();this.parseRejectedFiles()};e.prototype.componentDidLoad=function(){if(document.body.classList.contains("wmcl-user-is-tabbing")){this.toggleTabbingOn()}};e.prototype.uploadButtonOnClick=function(e){if(this.isDisabled){e.preventDefault();if(this.numFilesInProgress>0){var t=l.formatMessage({id:"uploader.waitToUpload",defaultMessage:"Please wait for current upload to complete before uploading new files.",description:"Message for screen reader users"});this.announce(t)}else if(this.fileLimitReached){this.internalErrorMessage=this.fileLimitReachedMessage;this.announce(this.fileLimitReachedMessage)}}else{this.clearErrors()}};e.prototype.renderUploadSvg=function(){return i("svg",{class:"upload-file",width:"91",height:"84",viewBox:"0 0 91 84"},i("path",{transform:"rotate(-180.000000) translate(-452, -255.5)",fill:"#eae8ec",d:"M361,249.681818 L361,197.318182 C361,194.118182 365.555061,191.5 371.122358,191.5 L391.316463,191.5 L391.286495,200.562515 L369.871211,200.600292 L369.885404,200.622146 L369.886423,246.655947 L443.657038,246.840767 L443.657038,200.622146 L421.683537,200.622146 L421.683537,191.5 L441.978865,191.5 C447.546162,191.5 452,194.118182 452,197.318182 L452,249.681818 C452,252.881818 447.546162,255.5 441.978865,255.5 L371.122358,255.5 C365.504449,255.5 361,252.881818 361,249.681818 Z M391.5,207 L406,221 L420.5,207 L409.625,207 L409.625,172 L402.375,172 L402.375,207 L391.5,207 Z"}))};e.prototype.renderIcon=function(){var e=this.icon&&this.icon==="f066";return this.icon&&i("span",{class:"mdi ".concat(e?"rotate":"")},String.fromCodePoint(parseInt("0x".concat(this.icon))))};e.prototype.renderInfo=function(){return this.info&&this.tempUploaderType==="2"?i("span",{class:"info"},this.info):""};e.prototype.renderNotif=function(){return i("div",{class:"notif"},this.notif)};e.prototype.renderError=function(){return i("div",{id:"error"},this.displayedErrorMessage)};e.prototype.renderUploadButton=function(e){var t=this;var o="".concat(this.label&&this.label!==this.buttonText?"".concat(this.label,", "):"").concat(this.buttonText);return i("div",{class:"info-wrapper"},i("input",{name:this.inputId,id:this.inputId,class:"sr-only","aria-label":o,"aria-required":this.requiredField?"true":null,"aria-describedby":"".concat(this.displayedErrorMessage?"error ":"","file-count max-size accepted-types"),type:"file",multiple:true,onClick:function(e){return t.uploadButtonOnClick(e)},onChange:function(e){return t.handleFiles(e)}}),i("label",{htmlFor:this.inputId,class:"wm-button ".concat(e).concat(this.isTabbing?" user-is-tabbing":"")},this.renderIcon(),this.buttonText),this.renderInfo())};e.prototype.renderEmptyState=function(){return i("div",{class:"empty-block"},this.renderUploadSvg(),i("div",{class:"empty-message"},this.emptyStateText),this.renderUploadButton("-primary empty-button"),this.notif&&this.renderNotif(),this.displayedErrorMessage&&this.renderError())};e.prototype.renderErrorList=function(){var e=this.errorList.reduce((function(e,t){return e+"".concat(t.name,": ").concat(t.message," ")}),"");this.announce(e);return i("ul",{class:"error-list"},this.errorList.map((function(e){return i("wm-file",{file:'{"name": "'.concat(e.name,'"}'),"error-message":e.message})})))};e.prototype.formatTimestamp=function(e){var t=new Date(Date.parse(e));var o=t.getDate();var r=t.getMonth()+1;var i=t.getFullYear();var n=t.toLocaleTimeString("en-us",{hour:"numeric",minute:"2-digit"});var a="".concat(r,"/").concat(o,"/").concat(i," ").concat(n);return a};e.prototype.renderInProgressFileList=function(){var e=this;return i("ul",{class:"inprogress-list"},this.fileList.filter((function(t){return e.isItemUploading(t)})).map((function(t){return i("wm-file",{file:JSON.stringify(t),"show-info":e.showInfo})})))};e.prototype.renderUploadedFileList=function(){var e=this;return i("ul",{class:"file-list"},this.fileList.filter((function(t){return!e.isItemUploading(t)})).map((function(t){t.lastUpdated=e.formatTimestamp(t.lastUpdated);return i("wm-file",{id:"file-".concat(t.id),file:JSON.stringify(t),"show-info":e.showInfo})})))};e.prototype.renderFiles=function(){this.sortBy==="name"?this.fileList.sort((function(e,t){return e.name.localeCompare(t.name)})):this.fileList.sort((function(e,t){return Date.parse(e.lastUpdated)-Date.parse(t.lastUpdated)}));return i("div",null,this.renderInProgressFileList(),this.renderUploadedFileList())};e.prototype.legacyRenderHeader=function(){return i("div",{class:"header ".concat(this.tempUploaderType?"type".concat(this.tempUploaderType):"")},i("div",{class:"slot-wrapper"},i("slot",null),i("div",{class:"notif-wrapper ".concat(this.tempUploaderType?"type".concat(this.tempUploaderType):"")},this.renderUploadButton("-secondary ".concat(this.isDisabled?"disabled":"")),this.notif&&this.renderNotif(),this.displayedErrorMessage&&this.renderError())))};e.prototype.renderHeader=function(){return i("div",{class:"header ".concat(this.tempUploaderType?"type".concat(this.tempUploaderType):"")},i("div",{class:"notif-wrapper ".concat(this.tempUploaderType?"type".concat(this.tempUploaderType):"")},this.renderUploadButton("-secondary ".concat(this.isDisabled?"disabled":"")),this.renderRequirements()),i("div",{id:"accepted-types",class:"accepted-types"},this.acceptedFileTypesMessage),this.notif&&this.renderNotif(),this.displayedErrorMessage&&this.renderError())};e.prototype.renderRequirements=function(){return i("div",{class:"requirements"},this.maxFiles&&i("span",{id:"file-count"},this.fileCountMessage),this.maxSize&&i("span",{id:"max-size"},this.maxSizeMessage))};e.prototype.renderFooter=function(){return i("div",{class:"footer"},i("div",{class:"notif-wrapper ".concat(this.tempUploaderType?"type".concat(this.tempUploaderType):"")},i("div",{class:"filecount-wrapper"},i("div",{class:"filecount"},l.formatMessage({id:"uploader.filesAdded",defaultMessage:"{numFiles, plural, one {1 file added} other {# files added}}"},{numFiles:this.fileList.length})),this.renderUploadButton("-primary ".concat(this.isDisabled?"disabled":""))),this.notif&&this.renderNotif(),this.displayedErrorMessage&&this.renderError()))};e.prototype.renderWithItems=function(){var e=this.fileList.filter((function(e){return e.progress===(typeof e.progress==="number"?100:"100")})).length>0;return i("div",null,!this.tempUploaderType&&this.renderHeader(),this.tempUploaderType==="2"&&this.legacyRenderHeader(),i("div",{class:"list-container type".concat(this.tempUploaderType," ").concat(!this.tempUploaderType&&e?"checkmark-spacer":"")},this.errorList.length>0&&this.renderErrorList(),this.fileList.length>0&&this.renderFiles()),this.tempUploaderType==="1"&&this.renderFooter())};e.prototype.renderLabel=function(){return i("div",{class:"wrapper ".concat(this.displayedErrorMessage?"invalid":"")},i("div",{id:"label",class:"label"},this.label,this.requiredField&&i("span",{class:"required","aria-hidden":"true"},"*")))};e.prototype.render=function(){var e=this;return i(n,null,this.label&&this.renderLabel(),this.isEmpty()&&this.tempUploaderType==="1"?this.renderEmptyState():this.renderWithItems(),i("div",{ref:function(t){return e.liveRegion=t},class:"live-region sr-only","aria-live":"assertive","aria-atomic":"true"},this.announcement))};Object.defineProperty(e,"delegatesFocus",{get:function(){return true},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"el",{get:function(){return a(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{files:["parseFiles"],fileList:["focusAfterRemoval"],rejectedFiles:["parseRejectedFiles"],numFilesInProgress:["uploadNotifications"],errorMessage:["handleErrorMessageChange"]}},enumerable:false,configurable:true});return e}());m.style=p}}}));
2
- //# sourceMappingURL=p-3e9da0fb.system.entry.js.map
1
+ System.register(["./p-7b2fc615.system.js","./p-f08e6a5a.system.js"],(function(e){"use strict";var t,o,r,i,n,a,s,l,d;return{setters:[function(e){t=e.r;o=e.c;r=e.f;i=e.h;n=e.H;a=e.g},function(e){s=e.g;l=e.i;d=e.u}],execute:function(){var p=':host .wm-button,wm-uploader .wm-button{-ms-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);-moz-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;width:inherit;border:2px solid #575195;color:#575195;font-family:inherit;font-size:0.75rem;font-weight:700;height:2.75rem;padding:0 1.3333333333em;cursor:pointer;position:relative;background:#fff;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;text-decoration:none;text-transform:uppercase;letter-spacing:0.01875rem;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}@media screen and (min-width: 48rem){:host .wm-button,wm-uploader .wm-button{height:3.3333333333em}}:host .wm-button.nowrap,wm-uploader .wm-button.nowrap{display:inline-block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host .wm-button:focus,wm-uploader .wm-button:focus{outline:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .wm-button::-moz-focus-inner,wm-uploader .wm-button::-moz-focus-inner{border:0;outline:none}:host .wm-button.user-is-tabbing:focus:not(:disabled):not(.disabled) :host .wm-button.-textonly .button-text,wm-uploader .wm-button.user-is-tabbing:focus:not(:disabled):not(.disabled) :host .wm-button.-textonly .button-text,:host .wm-button.user-is-tabbing:focus:not(:disabled):not(.disabled) wm-uploader .wm-button.-textonly .button-text,wm-uploader .wm-button.user-is-tabbing:focus:not(:disabled):not(.disabled) wm-uploader .wm-button.-textonly .button-text{background:-webkit-gradient(linear, left top, right top, color-stop(66%, #3862e9), color-stop(0, transparent)) repeat-x;background:linear-gradient(90deg, #3862e9 66%, transparent 0) repeat-x;background-size:6px 3px;background-position:0 1em;border-radius:0;line-height:normal}:host .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled),wm-uploader .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled){-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark),wm-uploader .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark){-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e}:host .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark)::-moz-focus-inner,wm-uploader .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark)::-moz-focus-inner{border:0}:host .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled),wm-uploader .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled){background:transparent;border:2px solid #fff;color:#fff}:host .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled):hover,wm-uploader .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled):hover{color:#575195;background:#e6e6e6;border:2px solid #e6e6e6}:host .wm-button.dark.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled).dark,wm-uploader .wm-button.dark.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled).dark{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;outline:none}:host .wm-button:active:not(:disabled):not(.disabled):not(.-textonly):not(.-actionbutton):not(.displayedoption),wm-uploader .wm-button:active:not(:disabled):not(.disabled):not(.-textonly):not(.-actionbutton):not(.displayedoption){-ms-transform:scale(0.9, 0.9);-webkit-transform:scale(0.9, 0.9);-moz-transform:scale(0.9, 0.9);transform:scale(0.9, 0.9)}:host .wm-button .mdi,wm-uploader .wm-button .mdi{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:host .wm-button:not(.-icononly):not(.-navigational) .mdi,wm-uploader .wm-button:not(.-icononly):not(.-navigational) .mdi{margin-right:0.3125rem}:host .wm-button[dir=RTL] :not(.-icononly) .mdi,wm-uploader .wm-button[dir=RTL] :not(.-icononly) .mdi{margin-left:0.3125rem;margin-right:0}:host .wm-button.-primary:not(.-textonly),wm-uploader .wm-button.-primary:not(.-textonly){background:#575195;color:#fff}:host .wm-button.-primary:not(.-textonly):not(:focus),wm-uploader .wm-button.-primary:not(.-textonly):not(:focus){-webkit-box-shadow:0 2px 2px 0 rgba(87, 81, 149, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 2px 0 rgba(87, 81, 149, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.2);box-shadow:0 2px 2px 0 rgba(87, 81, 149, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.2)}:host .wm-button.-primary:not(.-textonly):hover:not(:disabled):not(.disabled),wm-uploader .wm-button.-primary:not(.-textonly):hover:not(:disabled):not(.disabled){background:#464177}:host .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled),wm-uploader .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled){color:#575195;background:#fff;border:2px solid #fff}:host .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled):hover,wm-uploader .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled):hover{color:#575195;background:#e6e6e6;border:2px solid #e6e6e6}:host .wm-button.-secondary:hover:not(:disabled):not(.disabled),wm-uploader .wm-button.-secondary:hover:not(:disabled):not(.disabled),:host .wm-button.-selector:hover:not(:disabled):not(.disabled),wm-uploader .wm-button.-selector:hover:not(:disabled):not(.disabled),:host .wm-button.-icononly:hover:not(:disabled):not(.disabled),wm-uploader .wm-button.-icononly:hover:not(:disabled):not(.disabled){background:#464177;color:#fff}:host .wm-button.-textonly,wm-uploader .wm-button.-textonly{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;display:inline-block;letter-spacing:0;text-transform:none;text-align:initial;font-size:0.875rem;border:none;background:transparent;padding-left:0;padding-right:0;height:auto;border-radius:0;line-height:1}:host .wm-button.-textonly+.-textonly,wm-uploader .wm-button.-textonly+.-textonly{margin-left:0.3125rem}:host .wm-button.-textonly:focus,wm-uploader .wm-button.-textonly:focus{outline:none}:host .wm-button.-textonly::-moz-focus-inner,wm-uploader .wm-button.-textonly::-moz-focus-inner{border:0;outline:none}:host .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled) .button-text,wm-uploader .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled) .button-text{background:-webkit-gradient(linear, left top, right top, color-stop(66%, #3862e9), color-stop(0, transparent)) repeat-x;background:linear-gradient(90deg, #3862e9 66%, transparent 0) repeat-x;background-size:6px 3px;background-position:0 1em;border-radius:0;line-height:normal}:host .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled).dark .button-text,wm-uploader .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled).dark .button-text{background:-webkit-gradient(linear, left top, right top, color-stop(66%, #fff), color-stop(0, transparent)) repeat-x;background:linear-gradient(90deg, #fff 66%, transparent 0) repeat-x;background-size:6px 3px;background-position:0 1em;border-radius:0;line-height:normal}:host .wm-button.-textonly.small,wm-uploader .wm-button.-textonly.small{font-size:0.625rem}:host .wm-button.-textonly:hover:not(:disabled):not(.disabled):not(.-permanentlydelete),wm-uploader .wm-button.-textonly:hover:not(:disabled):not(.disabled):not(.-permanentlydelete){text-decoration:underline}:host .wm-button.-textonly.-permanentlydelete,wm-uploader .wm-button.-textonly.-permanentlydelete{color:#c0392b}:host .wm-button.-textonly.-permanentlydelete:hover:not(:disabled):not(.disabled):not(.dark),wm-uploader .wm-button.-textonly.-permanentlydelete:hover:not(:disabled):not(.disabled):not(.dark){text-decoration:underline;color:#c0392b !important}:host .wm-button.-textonly.dark,wm-uploader .wm-button.-textonly.dark{color:#fff}:host .wm-button.-textonly.dark:hover:not(:disabled):not(.disabled),wm-uploader .wm-button.-textonly.dark:hover:not(:disabled):not(.disabled){text-decoration:underline;color:#fff !important}:host .wm-button.-icononly,wm-uploader .wm-button.-icononly,:host .wm-button.-navigational,wm-uploader .wm-button.-navigational{-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;border-radius:50%;font-size:1rem;padding:0;height:auto;line-height:1;min-width:2.75rem;min-height:2.75rem;text-align:center;letter-spacing:normal}:host .wm-button.-icononly:not(:focus),wm-uploader .wm-button.-icononly:not(:focus),:host .wm-button.-navigational:not(:focus),wm-uploader .wm-button.-navigational:not(:focus){-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}@media screen and (min-width: 48rem){:host .wm-button.-icononly,wm-uploader .wm-button.-icononly,:host .wm-button.-navigational,wm-uploader .wm-button.-navigational{min-width:2.5rem;min-height:2.5rem}}:host .wm-button.-icononly,wm-uploader .wm-button.-icononly{border-width:1px !important}:host .wm-button.-icononly:before,wm-uploader .wm-button.-icononly:before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:host .wm-button.-navigational,wm-uploader .wm-button.-navigational{border:none !important;background-color:transparent}:host .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled),wm-uploader .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled){color:#575195}:host .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled):hover,wm-uploader .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled):hover,:host .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled).selected,wm-uploader .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled).selected{background-color:#d7d6d9}:host .wm-button.-navigational:before,wm-uploader .wm-button.-navigational:before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:host .wm-button.-permanentlydelete:not(.-textonly),wm-uploader .wm-button.-permanentlydelete:not(.-textonly){background:#c0392b;border-color:#c0392b;color:#fff}:host .wm-button.-permanentlydelete:not(.-textonly):hover:not(:disabled):not(.disabled):not(.dark),wm-uploader .wm-button.-permanentlydelete:not(.-textonly):hover:not(:disabled):not(.disabled):not(.dark){background:#9a2e22;border-color:#9a2e22}:host .wm-button.-pairnegative,wm-uploader .wm-button.-pairnegative{background:#cc4c3e;border-color:#cc4c3e;color:#fff}:host .wm-button.-pairnegative:hover:not(:disabled):not(.disabled),wm-uploader .wm-button.-pairnegative:hover:not(:disabled):not(.disabled){background:#a33d32;border-color:#a33d32}:host .wm-button.-pairpositive,wm-uploader .wm-button.-pairpositive{background:#15868d;border-color:#15868d;color:#fff}:host .wm-button.-pairpositive:hover:not(:disabled):not(.disabled),wm-uploader .wm-button.-pairpositive:hover:not(:disabled):not(.disabled){background:#116b71;border-color:#116b71}:host .wm-button.-selector,wm-uploader .wm-button.-selector,:host .wm-button.-selector-primary,wm-uploader .wm-button.-selector-primary{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;display:block;background:transparent;border:2px solid #575195;border-radius:3px;height:2.75rem;min-width:11.4375rem;padding:0 1.875rem 0 0.9375rem;line-height:normal;font-family:inherit;color:#575195;font-weight:700;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.01875rem;text-align:left}@media screen and (min-width: 48rem){:host .wm-button.-selector,wm-uploader .wm-button.-selector,:host .wm-button.-selector-primary,wm-uploader .wm-button.-selector-primary{height:2.5rem}}:host .wm-button.-selector:before,wm-uploader .wm-button.-selector:before,:host .wm-button.-selector-primary:before,wm-uploader .wm-button.-selector-primary:before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\\f140";position:absolute;right:0.5625rem;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:0.875rem;font-weight:700;pointer-events:none}:host .wm-button.-selector:active,wm-uploader .wm-button.-selector:active,:host .wm-button.-selector-primary:active,wm-uploader .wm-button.-selector-primary:active{-ms-transform:scale(1, 1) !important;-webkit-transform:scale(1, 1) !important;transform:scale(1, 1) !important}:host .wm-button.-selector::-moz-focus-inner,wm-uploader .wm-button.-selector::-moz-focus-inner,:host .wm-button.-selector-primary::-moz-focus-inner,wm-uploader .wm-button.-selector-primary::-moz-focus-inner{border:0}:host .wm-button.-selector .overflowcontrol,wm-uploader .wm-button.-selector .overflowcontrol,:host .wm-button.-selector-primary .overflowcontrol,wm-uploader .wm-button.-selector-primary .overflowcontrol{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:visible}:host .wm-button.-selector.dark:not(:disabled):not(.disabled):hover,wm-uploader .wm-button.-selector.dark:not(:disabled):not(.disabled):hover,:host .wm-button.-selector-primary.dark:not(:disabled):not(.disabled):hover,wm-uploader .wm-button.-selector-primary.dark:not(:disabled):not(.disabled):hover{color:#575195;background:#e6e6e6;border:2px solid #e6e6e6}:host .wm-button.-selector-primary,wm-uploader .wm-button.-selector-primary{background:#575195;color:#fff}:host .wm-button.-selector-primary:hover:not(:disabled):not(.disabled),wm-uploader .wm-button.-selector-primary:hover:not(:disabled):not(.disabled){background:#464177}:host .wm-button.-selector-primary.dark:not(:disabled):not(.disabled),wm-uploader .wm-button.-selector-primary.dark:not(:disabled):not(.disabled){color:#575195;background:#fff;border:2px solid #fff}:host .wm-button:disabled,wm-uploader .wm-button:disabled,:host .wm-button.disabled,wm-uploader .wm-button.disabled{background:inherit;border-color:#737373;color:#737373;cursor:default;pointer-events:none}:host .wm-button:disabled.-primary,wm-uploader .wm-button:disabled.-primary,:host .wm-button:disabled.-permanentlydelete,wm-uploader .wm-button:disabled.-permanentlydelete,:host .wm-button:disabled.-pairnegative,wm-uploader .wm-button:disabled.-pairnegative,:host .wm-button:disabled.-pairpositive,wm-uploader .wm-button:disabled.-pairpositive,:host .wm-button.disabled.-primary,wm-uploader .wm-button.disabled.-primary,:host .wm-button.disabled.-permanentlydelete,wm-uploader .wm-button.disabled.-permanentlydelete,:host .wm-button.disabled.-pairnegative,wm-uploader .wm-button.disabled.-pairnegative,:host .wm-button.disabled.-pairpositive,wm-uploader .wm-button.disabled.-pairpositive{background:#737373;color:#fff;border-color:#737373}:host .wm-button:disabled.-secondary,wm-uploader .wm-button:disabled.-secondary,:host .wm-button.disabled.-secondary,wm-uploader .wm-button.disabled.-secondary{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .wm-button:disabled.-selector,wm-uploader .wm-button:disabled.-selector,:host .wm-button.disabled.-selector,wm-uploader .wm-button.disabled.-selector{color:#737373}:host .wm-button:disabled.-selector-primary,wm-uploader .wm-button:disabled.-selector-primary,:host .wm-button.disabled.-selector-primary,wm-uploader .wm-button.disabled.-selector-primary{background:#737373;color:#fff;border-color:#737373}:host .wm-button:disabled.-textonly,wm-uploader .wm-button:disabled.-textonly,:host .wm-button.disabled.-textonly,wm-uploader .wm-button.disabled.-textonly{color:#6b6b6b;background:transparent}:host .wm-button:disabled.dark.-secondary:not(.-permanentlydelete),wm-uploader .wm-button:disabled.dark.-secondary:not(.-permanentlydelete),:host .wm-button:disabled.dark.-selector,wm-uploader .wm-button:disabled.dark.-selector,:host .wm-button:disabled.dark.-textonly,wm-uploader .wm-button:disabled.dark.-textonly,:host .wm-button:disabled.dark.-navigational,wm-uploader .wm-button:disabled.dark.-navigational,:host .wm-button:disabled.dark.-icononly,wm-uploader .wm-button:disabled.dark.-icononly,:host .wm-button.disabled.dark.-secondary:not(.-permanentlydelete),wm-uploader .wm-button.disabled.dark.-secondary:not(.-permanentlydelete),:host .wm-button.disabled.dark.-selector,wm-uploader .wm-button.disabled.dark.-selector,:host .wm-button.disabled.dark.-textonly,wm-uploader .wm-button.disabled.dark.-textonly,:host .wm-button.disabled.dark.-navigational,wm-uploader .wm-button.disabled.dark.-navigational,:host .wm-button.disabled.dark.-icononly,wm-uploader .wm-button.disabled.dark.-icononly{color:#b5b5b5;border-color:#b5b5b5}:host .wm-button:disabled.dark.-primary,wm-uploader .wm-button:disabled.dark.-primary,:host .wm-button:disabled.dark.-selector-primary,wm-uploader .wm-button:disabled.dark.-selector-primary,:host .wm-button:disabled.dark.-permanentlydelete:not(.-textonly),wm-uploader .wm-button:disabled.dark.-permanentlydelete:not(.-textonly),:host .wm-button.disabled.dark.-primary,wm-uploader .wm-button.disabled.dark.-primary,:host .wm-button.disabled.dark.-selector-primary,wm-uploader .wm-button.disabled.dark.-selector-primary,:host .wm-button.disabled.dark.-permanentlydelete:not(.-textonly),wm-uploader .wm-button.disabled.dark.-permanentlydelete:not(.-textonly){background:#a6a6a6;border-color:#a6a6a6;color:#353b48}:host a.wm-button,wm-uploader a.wm-button,:host label.wm-button,wm-uploader label.wm-button{height:auto;padding-top:0.75rem;padding-bottom:0.75rem}:host,wm-uploader{display:block;position:relative;max-width:1140px}:host[dir=RTL] .mdi,wm-uploader[dir=RTL] .mdi{margin-left:0.3125rem;margin-right:0}:host input:focus+.wm-button.user-is-tabbing,wm-uploader input:focus+.wm-button.user-is-tabbing{-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e !important;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e !important;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e !important}:host *,wm-uploader *{-webkit-box-sizing:border-box;box-sizing:border-box}.wm-button.disabled{pointer-events:initial !important}.wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;font-size:0.875rem}.wrapper .label{display:block;line-height:normal;font-weight:600;white-space:nowrap;margin-bottom:0.25rem}.wrapper .label .required{color:#c0392b}.wrapper.label-left{-ms-flex-direction:row;flex-direction:row}.wrapper.label-left .label-wrapper{line-height:2.5rem}.wrapper.label-left .label-wrapper .label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:2.5rem;white-space:normal;margin-bottom:0;margin-right:0.75rem}.wrapper.label-none label{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}.wrapper.invalid .label{color:#c0392b}.wrapper.invalid .label:after{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\\f026";margin-left:0.3125rem}[dir=RTL] .wrapper.invalid .label:after{margin-left:0;margin-right:0.3125rem}.wrapper.rtl.label-left .label{margin-right:0;margin-left:0.75rem}#label{margin-bottom:0.5rem}.header .info-wrapper{-ms-flex-align:center;align-items:center}.header .info-wrapper .info{font-size:0.875rem;margin-left:1rem}.header .accepted-types{font-size:0.875rem}.header .requirements{font-size:0.875rem;margin-left:1rem}.footer{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:end;align-items:flex-end;padding:0.9375rem 1.875rem}.footer .notif-wrapper{-ms-flex-align:end;align-items:flex-end}.footer .filecount-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.footer .filecount-wrapper .filecount{font-size:0.875rem;margin-right:1rem}.notif-wrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;margin-bottom:0.75rem}.notif-wrapper .requirements{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.notif,#error{padding-top:0.25rem;font-size:0.875rem;font-style:italic}.notif#error,#error#error{color:#c0392b}.info-wrapper{position:relative;display:-ms-flexbox;display:flex}.list-container{overflow-y:unset}.list-container.checkmark-spacer{margin-right:2.75rem}.list-container:has(.error-list,.inprogress-list,.file-list){margin-top:2.5rem}.list-container ul{padding:0;width:100%;margin:0}.list-container ul wm-file{margin-bottom:0.5rem}.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}.empty-block{margin:5rem auto;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center}.empty-block .upload-file{margin-bottom:1.875rem}.empty-block .empty-message{font-size:0.875rem;margin-bottom:0.4375rem}.empty-block .empty-message.large{font-size:1.5rem}.empty-block .info-wrapper{-ms-flex-pack:center;justify-content:center;width:100%}.empty-block .info-wrapper .wm-button{width:auto}.header.type1,.header.type2{margin-bottom:1rem}.header .slot-wrapper{display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:start;align-items:flex-start}.notif-wrapper.type1,.notif-wrapper.type2{-ms-flex-direction:column;flex-direction:column;margin-bottom:1rem}.list-container.type1,.list-container.type2{overflow-y:auto}.list-container.type1 ul,.list-container.type2 ul{margin:revert}.list-container.type1 .file-list li,.list-container.type1 .inprogress-list li,.list-container.type2 .file-list li,.list-container.type2 .inprogress-list li{margin-bottom:1.625rem}.list-container.type1 .error-list li,.list-container.type2 .error-list li{margin-bottom:1.25rem}.list-container.type1{padding:0 1.875rem;height:16.25rem}';var m=e("wm_uploader",function(){function e(e){t(this,e);this.wmUploaderFilesSelected=o(this,"wmUploaderFilesSelected",7);this.wmFilesSelected=o(this,"wmFilesSelected",7);this.wmUploaderDeleteFile=o(this,"wmUploaderDeleteFile",7);this.wmDeleteFile=o(this,"wmDeleteFile",7);this.wmUploaderDownloadFile=o(this,"wmUploaderDownloadFile",7);this.wmDownloadFile=o(this,"wmDownloadFile",7);this.wmUploaderPreviewFile=o(this,"wmUploaderPreviewFile",7);this.wmFileDelete=o(this,"wmFileDelete",7);this.wmFileDownload=o(this,"wmFileDownload",7);this.wmFilePreview=o(this,"wmFilePreview",7);this.inputId=s();this.uploaderType=undefined;this.type=undefined;this.label=undefined;this.buttonText=undefined;this.info=undefined;this.emptyStateText=undefined;this.icon=undefined;this.fileTypes="pdf txt log xml doc docx xls xlsx ppt pptx gif jpg jpeg png csv";this.maxSize=undefined;this.maxFiles=undefined;this.sortBy="date";this.showInfo="time";this.errorMessage=undefined;this.requiredField=undefined;this.files=undefined;this.fileList=[];this.filesToUpload=[];this.isTabbing=false;this.rejectedFiles=undefined;this.errorList=[];this.notif=undefined;this.internalErrorMessage=undefined;this.announcement="";this.numFilesInProgress=undefined;this.isCondensed=false}Object.defineProperty(e.prototype,"uploadButtonEl",{get:function(){return this.el.shadowRoot.querySelector("#".concat(this.inputId))},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"tempUploaderType",{get:function(){return this.type||this.uploaderType},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"effectiveMaxSize",{get:function(){var e=100;var t=100;return this.maxSize?Math.min(this.maxSize,t):e},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"fileLimitReached",{get:function(){return this.maxFiles&&this.fileList.length>=this.maxFiles},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"displayedErrorMessage",{get:function(){return this.errorMessage||this.internalErrorMessage||""},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"fileLimitExceededMessage",{get:function(){return l.formatMessage({id:"uploader.fileUploadLimitExceeded",defaultMessage:"Upload unsuccessful because file selection would exceed the maximum number of files",description:"Message displayed when trying to upload too many files"})},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"fileLimitReachedMessage",{get:function(){return l.formatMessage({id:"uploader.fileUploadLimitReached",defaultMessage:"The maximum number of files has been reached",description:"Message displayed when trying to upload additional files, but the limit has been reached"})},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"fileCountMessage",{get:function(){return l.formatMessage({id:"uploader.fileCount",defaultMessage:"{x} of {y} Files",description:"A count of the number of files currently uploaded"},{x:this.fileList.length,y:this.maxFiles})},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"maxSizeMessage",{get:function(){return l.formatMessage({id:"uploader.maxSize",defaultMessage:"Maximum file size {maxSize}MB",description:"An indicator of the maximum file size the uploader allows"},{maxSize:this.effectiveMaxSize})},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"acceptedFileTypesMessage",{get:function(){var e="."+this.fileTypes.split(" ").join(", .");return l.formatMessage({id:"uploader.acceptedFileTypes",defaultMessage:"Accepted file {amount, plural, =1 {type} other {types}}: {fileTypes}"},{fileTypes:e,amount:this.fileTypes.split(" ").length})},enumerable:false,configurable:true});e.prototype.toggleTabbingOn=function(){this.isTabbing=true};e.prototype.toggleTabbingOff=function(){this.isTabbing=false};e.prototype.handleUploadProgress=function(e){var t=this;this.fileList.map((function(o){if(o.id===e.detail.id){o.progress=e.detail.progress;r(t.el)}}));if(e.detail.progress===100){this.numFilesInProgress-=1}if(!this.srProgress&&this.numFilesInProgress){var o=this.numFilesInProgress;this.srProgress=setInterval((function(){var e=t.fileList.reduce((function(e,t){return t.progress?e+t.progress:e}),0);t.announce(l.formatMessage({id:"uploader.uploadProgress",defaultMessage:"Upload progress: {percentage}%"},{percentage:Math.floor(e/o)}))}),5e3)}};e.prototype.handleFileErrorCleared=function(e){var t=e.detail.name;this.errorList=this.errorList.filter((function(e){return e.name!=t}));this.uploadButtonEl.focus()};e.prototype.handleFileDeleted=function(e){this.clearErrors();r(this.el);this.wmUploaderDeleteFile.emit(e.detail);this.wmFileDelete.emit(e.detail);this.wmDeleteFile.emit(e.detail)};e.prototype.handleFilePreviewed=function(e){this.clearErrors();this.wmUploaderPreviewFile.emit(e.detail);this.wmFilePreview.emit(e.detail)};e.prototype.handleFileDownloaded=function(e){this.clearErrors();this.wmUploaderDownloadFile.emit(e.detail);this.wmFileDownload.emit(e.detail);this.wmDownloadFile.emit(e.detail)};e.prototype.parseFiles=function(){var e=this;if(!!this.files){if(typeof this.files==="string"){var t=JSON.parse(this.files);if(typeof t==="object"){t.forEach((function(t){if(t.size&&(typeof t.size==="number"||t.size.match(/^[0-9]+$/))){var o=e.convertBytes(t.size);t.size="".concat(o.size.toFixed(0)," ").concat(o.unit)}}));this.fileList=t}else{throw new Error("could not parse string passed to files attribute")}}else{throw new Error("Attribute 'files' should be a string")}}};e.prototype.focusAfterRemoval=function(e,t){if(this.isTabbing&&e.length<t.length){var o=e.map((function(e){return e.id}));var r=t.map((function(e){return e.id}));var i=r.filter((function(e){return!o.includes(e)}))[0];if(r.indexOf(i)>0){var n=r[r.indexOf(i)-1];var a=this.el.shadowRoot.querySelector("#file-"+n);var s=a===null||a===void 0?void 0:a.shadowRoot.querySelectorAll("wm-button");if(s&&s.length>0){var l=s[s.length-1];l.focus()}else{this.focusAfterRemoval(e.filter((function(e){return e.id!==n})),t)}}else{this.uploadButtonEl.focus()}}};e.prototype.parseRejectedFiles=function(){if(!!this.rejectedFiles){if(typeof this.files==="string"){var e=JSON.parse(this.rejectedFiles);if(typeof e==="object"){this.errorList=e}else{throw new Error("could not parse string passed to errors attribute")}}else{throw new Error("Attribute 'rejected-files' should be a string")}}};e.prototype.uploadNotifications=function(e,t){var o=this;if(t>0&&e===0){setTimeout((function(){o.notif="";o.internalErrorMessage=""}),20*1e3);var i=l.formatMessage({id:"uploader.finishedUploading",defaultMessage:"Finished uploading"});this.notif=i;this.announce(i);this.numFilesInProgress=null;clearInterval(this.srProgress);r(this.el)}else if(e>0&&e!=t){var n=l.formatMessage({id:"uploader.filesUploading",defaultMessage:"{num, plural, one {1 file uploading} other {# files uploading}}"},{num:e});this.notif=n;this.announce(n);r(this.el)}};e.prototype.handleErrorMessageChange=function(){if(this.errorMessage){this.announce(this.errorMessage)}};e.prototype.isValidSize=function(e){return this.convertBytes(e,"MB").size<=this.effectiveMaxSize};e.prototype.convertBytes=function(e,t){var o=["bytes","KB","MB","GB","TB"];var r=0;var i=typeof e==="number"?e:parseInt(e);if(t){while(o.indexOf(t)>r){i/=1024;r++}}else{while(i>1e3){i/=1024;r++}}return{size:i,unit:o[r]}};e.prototype.isDuplicate=function(e){var t=this.filesToUpload.some((function(t){return t.name===e}));var o=this.fileList.some((function(t){var o=t.type?t.name+"."+t.type:t.name;return o===e}));return t||o};e.prototype.isEmpty=function(){return!this.fileList.length&&!this.errorList.length};Object.defineProperty(e.prototype,"isDisabled",{get:function(){return this.fileLimitReached||this.numFilesInProgress>0},enumerable:false,configurable:true});e.prototype.isItemUploading=function(e){return e.hasOwnProperty("progress")&&e.progress<100};e.prototype.announce=function(e){if(this.liveRegion.textContent===e){e+=" "}this.announcement=e};e.prototype.clearErrors=function(){this.errorList=[];this.notif="";this.internalErrorMessage=""};e.prototype.handleFiles=function(e){var t=this;this.filesToUpload=[];var o=this.fileTypes.split(" ").join(", ");var r=Array.from(e.target.files);if(!!this.maxFiles&&this.fileList.length+r.length>this.maxFiles){this.internalErrorMessage=this.fileLimitExceededMessage;this.announce(this.fileLimitExceededMessage)}else{r&&r.map((function(e){if(!d(e,t.fileTypes)){var r={name:e.name,message:l.formatMessage({id:"uploader.invalidFileType",defaultMessage:"The file type is invalid. Accepted types: {validTypes}"},{validTypes:o})};t.errorList.push(r)}else if(e.size===0){var r={name:e.name,message:l.formatMessage({id:"uploader.zeroFileSize",defaultMessage:"The file must be more than 0 bytes",description:"Error message when user attempts to upload a file of no size"})};t.errorList.push(r)}else if(!t.isValidSize(e.size)){var r={name:e.name,message:l.formatMessage({id:"uploader.fileTooLarge",defaultMessage:"The selected file is too large. Maximum file size is {size}Mb"},{size:t.effectiveMaxSize})};t.errorList.push(r)}else if(t.isDuplicate(e.name)){var r={name:e.name,message:l.formatMessage({id:"uploader.duplicateName",defaultMessage:"A file with this name already exists."})};t.errorList.push(r)}else{t.filesToUpload.push(e)}}));if(this.filesToUpload.length>0){this.numFilesInProgress=this.filesToUpload.length;this.wmUploaderFilesSelected.emit(this.filesToUpload);this.wmFilesSelected.emit(this.filesToUpload)}}e.target.value=""};e.prototype.componentWillLoad=function(){if(!this.buttonText){throw new Error("wm-uploader: button-text is a required prop")}if(this.type){console.warn("wm-uploader: type has been deprecated as of v3.1.0. Please use uploader-type instead.")}if(this.tempUploaderType==="1"&&!this.emptyStateText){throw new Error("wm-uploader: empty-state-text is a required prop")}this.parseFiles();this.clearErrors();this.parseRejectedFiles()};e.prototype.componentDidLoad=function(){if(document.body.classList.contains("wmcl-user-is-tabbing")){this.toggleTabbingOn()}};e.prototype.uploadButtonOnClick=function(e){if(this.isDisabled){e.preventDefault();if(this.numFilesInProgress>0){var t=l.formatMessage({id:"uploader.waitToUpload",defaultMessage:"Please wait for current upload to complete before uploading new files.",description:"Message for screen reader users"});this.announce(t)}else if(this.fileLimitReached){this.internalErrorMessage=this.fileLimitReachedMessage;this.announce(this.fileLimitReachedMessage)}}else{this.clearErrors()}};e.prototype.renderUploadSvg=function(){return i("svg",{class:"upload-file",width:"91",height:"84",viewBox:"0 0 91 84"},i("path",{transform:"rotate(-180.000000) translate(-452, -255.5)",fill:"#eae8ec",d:"M361,249.681818 L361,197.318182 C361,194.118182 365.555061,191.5 371.122358,191.5 L391.316463,191.5 L391.286495,200.562515 L369.871211,200.600292 L369.885404,200.622146 L369.886423,246.655947 L443.657038,246.840767 L443.657038,200.622146 L421.683537,200.622146 L421.683537,191.5 L441.978865,191.5 C447.546162,191.5 452,194.118182 452,197.318182 L452,249.681818 C452,252.881818 447.546162,255.5 441.978865,255.5 L371.122358,255.5 C365.504449,255.5 361,252.881818 361,249.681818 Z M391.5,207 L406,221 L420.5,207 L409.625,207 L409.625,172 L402.375,172 L402.375,207 L391.5,207 Z"}))};e.prototype.renderIcon=function(){var e=this.icon&&this.icon==="f066";return this.icon&&i("span",{class:"mdi ".concat(e?"rotate":"")},String.fromCodePoint(parseInt("0x".concat(this.icon))))};e.prototype.renderInfo=function(){return this.info&&this.tempUploaderType==="2"?i("span",{class:"info"},this.info):""};e.prototype.renderNotif=function(){return i("div",{class:"notif"},this.notif)};e.prototype.renderError=function(){return i("div",{id:"error"},this.displayedErrorMessage)};e.prototype.renderUploadButton=function(e){var t=this;var o="".concat(this.label&&this.label!==this.buttonText?"".concat(this.label,", "):"").concat(this.buttonText);return i("div",{class:"info-wrapper"},i("input",{name:this.inputId,id:this.inputId,class:"sr-only","aria-label":o,"aria-required":this.requiredField?"true":null,"aria-describedby":"".concat(this.displayedErrorMessage?"error ":"","file-count max-size accepted-types"),type:"file",multiple:true,onClick:function(e){return t.uploadButtonOnClick(e)},onChange:function(e){return t.handleFiles(e)}}),i("label",{htmlFor:this.inputId,class:"wm-button ".concat(e).concat(this.isTabbing?" user-is-tabbing":"")},this.renderIcon(),this.buttonText),this.renderInfo())};e.prototype.renderEmptyState=function(){return i("div",{class:"empty-block"},this.renderUploadSvg(),i("div",{class:"empty-message"},this.emptyStateText),this.renderUploadButton("-primary empty-button"),this.notif&&this.renderNotif(),this.displayedErrorMessage&&this.renderError())};e.prototype.renderErrorList=function(){var e=this.errorList.reduce((function(e,t){return e+"".concat(t.name,": ").concat(t.message," ")}),"");this.announce(e);return i("ul",{class:"error-list"},this.errorList.map((function(e){return i("wm-file",{file:'{"name": "'.concat(e.name,'"}'),"error-message":e.message})})))};e.prototype.formatTimestamp=function(e){var t=new Date(Date.parse(e));var o=t.getDate();var r=t.getMonth()+1;var i=t.getFullYear();var n=t.toLocaleTimeString("en-us",{hour:"numeric",minute:"2-digit"});var a="".concat(r,"/").concat(o,"/").concat(i," ").concat(n);return a};e.prototype.renderInProgressFileList=function(){var e=this;return i("ul",{class:"inprogress-list"},this.fileList.filter((function(t){return e.isItemUploading(t)})).map((function(t){return i("wm-file",{file:JSON.stringify(t),"show-info":e.showInfo})})))};e.prototype.renderUploadedFileList=function(){var e=this;return i("ul",{class:"file-list"},this.fileList.filter((function(t){return!e.isItemUploading(t)})).map((function(t){t.lastUpdated=e.formatTimestamp(t.lastUpdated);return i("wm-file",{id:"file-".concat(t.id),file:JSON.stringify(t),"show-info":e.showInfo})})))};e.prototype.renderFiles=function(){this.sortBy==="name"?this.fileList.sort((function(e,t){return e.name.localeCompare(t.name)})):this.fileList.sort((function(e,t){return Date.parse(e.lastUpdated)-Date.parse(t.lastUpdated)}));return i("div",null,this.renderInProgressFileList(),this.renderUploadedFileList())};e.prototype.legacyRenderHeader=function(){return i("div",{class:"header ".concat(this.tempUploaderType?"type".concat(this.tempUploaderType):"")},i("div",{class:"slot-wrapper"},i("slot",null),i("div",{class:"notif-wrapper ".concat(this.tempUploaderType?"type".concat(this.tempUploaderType):"")},this.renderUploadButton("-secondary ".concat(this.isDisabled?"disabled":"")),this.notif&&this.renderNotif(),this.displayedErrorMessage&&this.renderError())))};e.prototype.renderHeader=function(){return i("div",{class:"header ".concat(this.tempUploaderType?"type".concat(this.tempUploaderType):"")},i("div",{class:"notif-wrapper ".concat(this.tempUploaderType?"type".concat(this.tempUploaderType):"")},this.renderUploadButton("-secondary ".concat(this.isDisabled?"disabled":"")),this.renderRequirements()),i("div",{id:"accepted-types",class:"accepted-types"},this.acceptedFileTypesMessage),this.notif&&this.renderNotif(),this.displayedErrorMessage&&this.renderError())};e.prototype.renderRequirements=function(){return i("div",{class:"requirements"},this.maxFiles&&i("span",{id:"file-count"},this.fileCountMessage),this.maxSize&&i("span",{id:"max-size"},this.maxSizeMessage))};e.prototype.renderFooter=function(){return i("div",{class:"footer"},i("div",{class:"notif-wrapper ".concat(this.tempUploaderType?"type".concat(this.tempUploaderType):"")},i("div",{class:"filecount-wrapper"},i("div",{class:"filecount"},l.formatMessage({id:"uploader.filesAdded",defaultMessage:"{numFiles, plural, one {1 file added} other {# files added}}"},{numFiles:this.fileList.length})),this.renderUploadButton("-primary ".concat(this.isDisabled?"disabled":""))),this.notif&&this.renderNotif(),this.displayedErrorMessage&&this.renderError()))};e.prototype.renderWithItems=function(){var e=this.fileList.filter((function(e){return e.progress===(typeof e.progress==="number"?100:"100")})).length>0;return i("div",null,!this.tempUploaderType&&this.renderHeader(),this.tempUploaderType==="2"&&this.legacyRenderHeader(),i("div",{class:"list-container type".concat(this.tempUploaderType," ").concat(!this.tempUploaderType&&e?"checkmark-spacer":"")},this.errorList.length>0&&this.renderErrorList(),this.fileList.length>0&&this.renderFiles()),this.tempUploaderType==="1"&&this.renderFooter())};e.prototype.renderLabel=function(){return i("div",{class:"wrapper ".concat(this.displayedErrorMessage?"invalid":"")},i("div",{id:"label",class:"label"},this.label,this.requiredField&&i("span",{class:"required","aria-hidden":"true"},"*")))};e.prototype.render=function(){var e=this;return i(n,null,this.label&&this.renderLabel(),this.isEmpty()&&this.tempUploaderType==="1"?this.renderEmptyState():this.renderWithItems(),i("div",{ref:function(t){return e.liveRegion=t},class:"live-region sr-only","aria-live":"assertive","aria-atomic":"true"},this.announcement))};Object.defineProperty(e,"delegatesFocus",{get:function(){return true},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"el",{get:function(){return a(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{files:["parseFiles"],fileList:["focusAfterRemoval"],rejectedFiles:["parseRejectedFiles"],numFilesInProgress:["uploadNotifications"],errorMessage:["handleErrorMessageChange"]}},enumerable:false,configurable:true});return e}());m.style=p}}}));
2
+ //# sourceMappingURL=p-97f0722e.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["wmUploaderCss","Uploader","exports","this","inputId","generateId","Object","defineProperty","class_1","prototype","el","shadowRoot","querySelector","concat","type","uploaderType","defaultMaxSize","maxSizeLimit","maxSize","Math","min","maxFiles","fileList","length","errorMessage","internalErrorMessage","intl","formatMessage","id","defaultMessage","description","x","y","effectiveMaxSize","validTypes","fileTypes","split","join","amount","toggleTabbingOn","isTabbing","toggleTabbingOff","handleUploadProgress","ev","_this","map","i","detail","progress","forceUpdate","numFilesInProgress","srProgress","total_1","setInterval","aggregate","reduce","avg","item","announce","percentage","floor","handleFileErrorCleared","filename","name","errorList","filter","error","uploadButtonEl","focus","handleFileDeleted","clearErrors","wmUploaderDeleteFile","emit","wmFileDelete","wmDeleteFile","handleFilePreviewed","wmUploaderPreviewFile","wmFilePreview","handleFileDownloaded","wmUploaderDownloadFile","wmFileDownload","wmDownloadFile","parseFiles","files","list","JSON","parse","forEach","size","match","convertedSize","convertBytes","toFixed","unit","Error","focusAfterRemoval","newFiles","oldFiles","newFileIds_1","file","oldFileIds","removedFileId","includes","indexOf","fileIdPrecedingRemoved_1","fileElPrecedingRemoved","focusedElementsButtons","querySelectorAll","lastButtonInFile","parseRejectedFiles","rejectedFiles","uploadNotifications","newNum","oldNum","setTimeout","notif","finishedMessage","clearInterval","filesUploadingMessage","num","handleErrorMessageChange","isValidSize","bytes","unitOrder","unitIndex","result","parseInt","isDuplicate","hasDuplicateUploadingFile","filesToUpload","some","fileToUpload","hasDuplicateUploadedFile","f","isEmpty","fileLimitReached","isItemUploading","hasOwnProperty","message","liveRegion","textContent","announcement","handleFiles","Array","from","target","fileLimitExceededMessage","hasValidType","push","wmUploaderFilesSelected","wmFilesSelected","value","componentWillLoad","buttonText","console","warn","tempUploaderType","emptyStateText","componentDidLoad","document","body","classList","contains","uploadButtonOnClick","isDisabled","preventDefault","srMsg","fileLimitReachedMessage","renderUploadSvg","h","class","width","height","viewBox","transform","fill","d","renderIcon","rotate","icon","String","fromCodePoint","renderInfo","info","renderNotif","renderError","displayedErrorMessage","renderUploadButton","classes","accessibleLabel","label","requiredField","multiple","onClick","onChange","htmlFor","renderEmptyState","renderErrorList","srMessage","acc","err","formatTimestamp","timestamp","uploadDate","Date","day","getDate","month","getMonth","year","getFullYear","time","toLocaleTimeString","hour","minute","formattedDate","renderInProgressFileList","stringify","showInfo","renderUploadedFileList","lastUpdated","renderFiles","sortBy","sort","a","b","localeCompare","legacyRenderHeader","renderHeader","renderRequirements","acceptedFileTypesMessage","fileCountMessage","maxSizeMessage","renderFooter","numFiles","renderWithItems","hasNewlyUploadedFiles","renderLabel","render","Host","ref"],"sources":["src/components/wm-uploader/wm-uploader.scss?tag=wm-uploader&encapsulation=shadow","src/components/wm-uploader/wm-uploader.tsx"],"sourcesContent":[":host,\r\nwm-uploader {\r\n display: block;\r\n position: relative;\r\n max-width: 1140px;\r\n\r\n &[dir=\"RTL\"] {\r\n .mdi {\r\n margin-left: rem-calc(5);\r\n margin-right: 0;\r\n }\r\n }\r\n @extend %wm-button;\r\n\r\n input:focus + .wm-button.user-is-tabbing {\r\n -webkit-box-shadow: 0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e !important;\r\n -moz-box-shadow: 0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e !important;\r\n box-shadow: 0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e !important;\r\n }\r\n}\r\n\r\n:host *,\r\nwm-uploader * {\r\n box-sizing: border-box;\r\n}\r\n\r\n.wm-button.disabled {\r\n // override the %wm-button rule\r\n // we want a pointer event when disabled,\r\n // to trigger a SR message\r\n pointer-events: initial !important;\r\n}\r\n\r\n@include label;\r\n#label {\r\n margin-bottom: rem-calc(8);\r\n}\r\n\r\n.header {\r\n .info-wrapper {\r\n align-items: center;\r\n .info {\r\n font-size: rem-calc(14);\r\n margin-left: 1rem;\r\n }\r\n }\r\n\r\n .accepted-types {\r\n font-size: rem-calc(14);\r\n }\r\n\r\n .requirements {\r\n font-size: rem-calc(14);\r\n margin-left: rem-calc(16);\r\n }\r\n}\r\n\r\n.footer {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-end;\r\n padding: rem-calc(15 30);\r\n\r\n .notif-wrapper {\r\n align-items: flex-end;\r\n }\r\n\r\n .filecount-wrapper {\r\n display: flex;\r\n align-items: center;\r\n .filecount {\r\n font-size: 0.875rem;\r\n margin-right: 1rem;\r\n }\r\n }\r\n}\r\n\r\n.notif-wrapper {\r\n position: relative;\r\n display: flex;\r\n flex-direction: row;\r\n margin-bottom: rem-calc(12);\r\n\r\n .requirements {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n}\r\n\r\n.notif,\r\n#error {\r\n padding-top: rem-calc(4);\r\n font-size: 0.875rem;\r\n font-style: italic;\r\n\r\n &#error {\r\n color: $error-color;\r\n }\r\n}\r\n\r\n.info-wrapper {\r\n position: relative; // for .info\r\n display: flex;\r\n}\r\n\r\n.list-container {\r\n overflow-y: unset;\r\n\r\n &.checkmark-spacer {\r\n margin-right: rem-calc(44);\r\n }\r\n\r\n &:has(.error-list, .inprogress-list, .file-list) {\r\n margin-top: rem-calc(40);\r\n }\r\n\r\n ul {\r\n padding: 0;\r\n width: 100%;\r\n margin: 0;\r\n\r\n wm-file {\r\n margin-bottom: rem-calc(8);\r\n }\r\n }\r\n}\r\n\r\n.sr-only {\r\n @include srOnly;\r\n}\r\n\r\n/// FOR DEPRECATED TYPES ///////////////////////////////////////\r\n.empty-block {\r\n margin: 5rem auto;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n\r\n .upload-file {\r\n margin-bottom: rem-calc(30);\r\n }\r\n\r\n .empty-message {\r\n font-size: 0.875rem;\r\n &.large {\r\n font-size: 1.5rem;\r\n }\r\n margin-bottom: rem-calc(7);\r\n }\r\n\r\n .info-wrapper {\r\n justify-content: center;\r\n width: 100%; // for .notif\r\n\r\n .wm-button {\r\n // Removing the width inherit here to prevent a 100% width\r\n // from the info-wrapper. Future proofing a day when\r\n // we might want a long notif to wrap.\r\n width: auto;\r\n }\r\n }\r\n}\r\n\r\n.header {\r\n &.type1,\r\n &.type2 {\r\n margin-bottom: 1rem;\r\n }\r\n .slot-wrapper {\r\n display: flex;\r\n justify-content: flex-start;\r\n align-items: flex-start;\r\n }\r\n}\r\n\r\n.notif-wrapper {\r\n &.type1,\r\n &.type2 {\r\n flex-direction: column;\r\n margin-bottom: rem-calc(16);\r\n }\r\n}\r\n\r\n.list-container {\r\n &.type1,\r\n &.type2 {\r\n overflow-y: auto;\r\n ul {\r\n margin: revert;\r\n }\r\n .file-list li,\r\n .inprogress-list li {\r\n // margin-bottom also on the last element, otherwise tooltip on dl and delete btns triggers a scrollbar\r\n margin-bottom: rem-calc(26);\r\n }\r\n .error-list li {\r\n margin-bottom: rem-calc(20);\r\n }\r\n }\r\n\r\n &.type1 {\r\n padding: rem-calc(0 30);\r\n height: rem-calc(260);\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, h, Host, Prop, State, Listen, Watch } from \"@stencil/core\";\r\nimport { forceUpdate } from \"@stencil/core\";\r\nimport { generateId, hasValidType, intl } from \"../../global/functions\";\r\nimport { UploadedFile } from \"../../global/interfaces\";\r\ninterface ErrorFile {\r\n name: string;\r\n message: string;\r\n}\r\n\r\n@Component({\r\n tag: \"wm-uploader\",\r\n styleUrl: \"wm-uploader.scss\",\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class Uploader {\r\n @Element() el!: HTMLWmUploaderElement;\r\n private liveRegion!: HTMLDivElement;\r\n get uploadButtonEl(): HTMLElement {\r\n return this.el.shadowRoot!.querySelector(`#${this.inputId}`) as HTMLElement;\r\n }\r\n\r\n @Prop({ mutable: true }) uploaderType?: \"1\" | \"2\"; // only mutable for the deprecation transition\r\n @Prop() type?: \"1\" | \"2\"; // DEPRECATED in favor of uploaderType\r\n get tempUploaderType() {\r\n // replace instances of this.tempUploaderType with this.uploaderType once type is fully phased out\r\n return this.type || this.uploaderType;\r\n }\r\n @Prop() label?: string;\r\n @Prop() buttonText!: string;\r\n @Prop() info?: string;\r\n @Prop() emptyStateText!: string;\r\n @Prop() icon!: string;\r\n @Prop() fileTypes: string = \"pdf txt log xml doc docx xls xlsx ppt pptx gif jpg jpeg png csv\";\r\n @Prop() maxSize?: number | null; // in Mb\r\n @Prop() maxFiles?: number;\r\n @Prop() sortBy: \"name\" | \"date\" = \"date\"; // name is descending (a -> z), date is ascending (earlier -> later)\r\n @Prop() showInfo: \"time\" | \"size\" | \"none\" = \"time\";\r\n @Prop() errorMessage?: string;\r\n @Prop() requiredField?: boolean;\r\n\r\n @Prop() files?: string; // String representation of an array of files (the files retrieved from the server)\r\n @State() fileList: UploadedFile[] = []; // the string above transformed into the actual array\r\n @Prop({ mutable: true }) filesToUpload: File[] = []; // input.files that passed validation\r\n\r\n @State() isTabbing: boolean = false;\r\n\r\n @Prop() rejectedFiles?: string; // String representation of an array of errors to add to errorList, allows devs to display server-side errors\r\n @State() errorList: ErrorFile[] = []; // for errors on a particular file\r\n @State() notif?: string | null; // for upload notifications\r\n @State() internalErrorMessage?: string;\r\n @State() announcement: string = \"\";\r\n @State() numFilesInProgress?: number | null; // null when not uploading != 0 (when all files are done uploading) != undefined (original state)\r\n @State() isCondensed: boolean = false;\r\n private srProgress?: any; // setInterval for SR to announce the aggregate progress percentage when things take a long time. stored here so it can be stopped when upload is finished.\r\n private inputId = generateId();\r\n\r\n @Event() wmUploaderFilesSelected!: EventEmitter;\r\n @Event() wmFilesSelected!: EventEmitter; // deprecated in favor of wmUploaderFilesSelected\r\n @Event() wmUploaderDeleteFile!: EventEmitter;\r\n @Event() wmDeleteFile!: EventEmitter; // deprecated in favor of wmUploaderDeleteFile\r\n @Event() wmUploaderDownloadFile!: EventEmitter;\r\n @Event() wmDownloadFile!: EventEmitter; // deprecated in favor of wmUploaderDownloadFile\r\n @Event() wmUploaderPreviewFile!: EventEmitter;\r\n\r\n @Event() wmFileDelete!: EventEmitter<string>;\r\n @Event() wmFileDownload!: EventEmitter<string>;\r\n @Event() wmFilePreview!: EventEmitter<string>;\r\n\r\n get effectiveMaxSize() {\r\n const defaultMaxSize = 100;\r\n // maxsize cannot be set to over 100Mb\r\n const maxSizeLimit = 100;\r\n\r\n return this.maxSize ? Math.min(this.maxSize, maxSizeLimit) : defaultMaxSize;\r\n }\r\n\r\n get fileLimitReached() {\r\n return this.maxFiles && this.fileList.length >= this.maxFiles;\r\n }\r\n\r\n get displayedErrorMessage(): string {\r\n return this.errorMessage || this.internalErrorMessage || \"\";\r\n }\r\n\r\n get fileLimitExceededMessage() {\r\n return intl.formatMessage({\r\n id: \"uploader.fileUploadLimitExceeded\",\r\n defaultMessage: \"Upload unsuccessful because file selection would exceed the maximum number of files\",\r\n description: \"Message displayed when trying to upload too many files\",\r\n });\r\n }\r\n\r\n get fileLimitReachedMessage() {\r\n return intl.formatMessage({\r\n id: \"uploader.fileUploadLimitReached\",\r\n defaultMessage: \"The maximum number of files has been reached\",\r\n description: \"Message displayed when trying to upload additional files, but the limit has been reached\",\r\n });\r\n }\r\n\r\n get fileCountMessage() {\r\n return intl.formatMessage(\r\n {\r\n id: \"uploader.fileCount\",\r\n defaultMessage: \"{x} of {y} Files\",\r\n description: \"A count of the number of files currently uploaded\",\r\n },\r\n { x: this.fileList.length, y: this.maxFiles }\r\n );\r\n }\r\n\r\n get maxSizeMessage() {\r\n return intl.formatMessage(\r\n {\r\n id: \"uploader.maxSize\",\r\n defaultMessage: \"Maximum file size {maxSize}MB\",\r\n description: \"An indicator of the maximum file size the uploader allows\",\r\n },\r\n {\r\n maxSize: this.effectiveMaxSize,\r\n }\r\n );\r\n }\r\n\r\n get acceptedFileTypesMessage() {\r\n const validTypes = \".\" + this.fileTypes.split(\" \").join(\", .\");\r\n return intl.formatMessage(\r\n {\r\n id: \"uploader.acceptedFileTypes\",\r\n defaultMessage: \"Accepted file {amount, plural, =1 {type} other {types}}: {fileTypes}\",\r\n },\r\n {\r\n fileTypes: validTypes,\r\n amount: this.fileTypes.split(\" \").length,\r\n }\r\n );\r\n }\r\n\r\n @Listen(\"wmUserIsTabbing\", { target: \"window\" })\r\n toggleTabbingOn() {\r\n this.isTabbing = true;\r\n }\r\n\r\n @Listen(\"wmUserIsNotTabbing\", { target: \"window\" })\r\n toggleTabbingOff() {\r\n this.isTabbing = false;\r\n }\r\n\r\n @Listen(\"wmUploadProgress\")\r\n handleUploadProgress(ev: CustomEvent) {\r\n this.fileList.map((i) => {\r\n if (i.id === ev.detail.id) {\r\n i.progress = ev.detail.progress;\r\n forceUpdate(this.el);\r\n }\r\n });\r\n\r\n if (ev.detail.progress === 100) {\r\n // inProgressList is not a perfect reflection of how many files are uploading\r\n // because even after progress reached 100% the item should remain in the array\r\n // (should only be removed once it appears in fileList)\r\n this.numFilesInProgress! -= 1;\r\n }\r\n\r\n // aggregate the percentages for SR to announce progress\r\n if (!this.srProgress && this.numFilesInProgress) {\r\n const total = this.numFilesInProgress; // if we don't reassign this number changes when a file is done and the percentage becomes wrong\r\n this.srProgress = setInterval(() => {\r\n const aggregate = this.fileList.reduce((avg, item) => (item.progress ? avg + item.progress : avg), 0);\r\n this.announce(\r\n intl.formatMessage(\r\n {\r\n id: \"uploader.uploadProgress\",\r\n defaultMessage: \"Upload progress: {percentage}%\",\r\n },\r\n { percentage: Math.floor(aggregate / total) }\r\n )\r\n );\r\n }, 5000);\r\n }\r\n }\r\n\r\n @Listen(\"wmFileClearErrorClicked\")\r\n handleFileErrorCleared(ev: CustomEvent) {\r\n const filename = ev.detail.name;\r\n this.errorList = this.errorList.filter((error) => error.name != filename);\r\n this.uploadButtonEl.focus();\r\n }\r\n\r\n @Listen(\"wmIntFileDeleted\")\r\n handleFileDeleted(ev: CustomEvent) {\r\n this.clearErrors();\r\n forceUpdate(this.el); // for the button to stop being disabled if num files become < max-files\r\n this.wmUploaderDeleteFile.emit(ev.detail);\r\n this.wmFileDelete.emit(ev.detail);\r\n this.wmDeleteFile.emit(ev.detail); // deprecated\r\n }\r\n\r\n @Listen(\"wmIntFilePreviewed\")\r\n handleFilePreviewed(ev: CustomEvent) {\r\n this.clearErrors();\r\n this.wmUploaderPreviewFile.emit(ev.detail);\r\n this.wmFilePreview.emit(ev.detail);\r\n }\r\n\r\n @Listen(\"wmIntFileDownloaded\")\r\n handleFileDownloaded(ev: CustomEvent) {\r\n this.clearErrors();\r\n this.wmUploaderDownloadFile.emit(ev.detail);\r\n this.wmFileDownload.emit(ev.detail);\r\n this.wmDownloadFile.emit(ev.detail); // deprecated\r\n }\r\n\r\n @Watch(\"files\")\r\n parseFiles() {\r\n if (!!this.files) {\r\n if (typeof this.files === \"string\") {\r\n let list = JSON.parse(this.files);\r\n if (typeof list === \"object\") {\r\n // if size is in byte format, convert to display format\r\n list.forEach((item: any) => {\r\n if (item.size && (typeof item.size === \"number\" || item.size.match(/^[0-9]+$/))) {\r\n const convertedSize = this.convertBytes(item.size);\r\n item.size = `${convertedSize.size.toFixed(0)} ${convertedSize.unit}`;\r\n }\r\n });\r\n this.fileList = list;\r\n } else {\r\n throw new Error(\"could not parse string passed to files attribute\");\r\n }\r\n } else {\r\n throw new Error(\"Attribute 'files' should be a string\");\r\n }\r\n }\r\n }\r\n\r\n @Watch(\"fileList\")\r\n focusAfterRemoval(newFiles: UploadedFile[], oldFiles: UploadedFile[]) {\r\n if (this.isTabbing && newFiles.length < oldFiles.length) {\r\n const newFileIds = newFiles.map((file: UploadedFile) => file.id);\r\n const oldFileIds = oldFiles.map((file: UploadedFile) => file.id);\r\n // even in the case that multiple files have been removed at once, work off of the first in that group\r\n const removedFileId = oldFileIds.filter((id: string) => !newFileIds.includes(id))[0];\r\n\r\n if (oldFileIds.indexOf(removedFileId) > 0) {\r\n const fileIdPrecedingRemoved = oldFileIds[oldFileIds.indexOf(removedFileId) - 1];\r\n const fileElPrecedingRemoved = this.el.shadowRoot!.querySelector(\"#file-\" + fileIdPrecedingRemoved);\r\n const focusedElementsButtons = fileElPrecedingRemoved?.shadowRoot!.querySelectorAll(\"wm-button\");\r\n\r\n if (focusedElementsButtons && focusedElementsButtons.length > 0) {\r\n const lastButtonInFile = focusedElementsButtons[focusedElementsButtons.length - 1];\r\n lastButtonInFile.focus();\r\n } else {\r\n // if preceding file has no file action buttons, rerun function with adjusted params\r\n // by removing the fileElPrecedingRemoved from the newFiles list, it is now considered the removedFile and looks to focus it's preceding file\r\n // if it continues to cannot find an appropriate preceding file and becomes the first file in the list, it focuses the upload button\r\n this.focusAfterRemoval(\r\n newFiles.filter((file: UploadedFile) => file.id !== fileIdPrecedingRemoved),\r\n oldFiles\r\n );\r\n }\r\n } else {\r\n this.uploadButtonEl.focus();\r\n }\r\n }\r\n }\r\n\r\n @Watch(\"rejectedFiles\")\r\n parseRejectedFiles() {\r\n if (!!this.rejectedFiles) {\r\n if (typeof this.files === \"string\") {\r\n const list = JSON.parse(this.rejectedFiles);\r\n if (typeof list === \"object\") {\r\n this.errorList = list;\r\n } else {\r\n throw new Error(\"could not parse string passed to errors attribute\");\r\n }\r\n } else {\r\n throw new Error(\"Attribute 'rejected-files' should be a string\");\r\n }\r\n }\r\n }\r\n\r\n @Watch(\"numFilesInProgress\")\r\n uploadNotifications(newNum: number, oldNum: number) {\r\n if (oldNum > 0 && newNum === 0) {\r\n setTimeout(() => {\r\n this.notif = \"\";\r\n this.internalErrorMessage = \"\";\r\n }, 20 * 1000);\r\n const finishedMessage = intl.formatMessage({\r\n id: \"uploader.finishedUploading\",\r\n defaultMessage: \"Finished uploading\",\r\n });\r\n this.notif = finishedMessage;\r\n this.announce(finishedMessage);\r\n this.numFilesInProgress = null;\r\n clearInterval(this.srProgress);\r\n forceUpdate(this.el);\r\n } else if (newNum > 0 && newNum != oldNum) {\r\n const filesUploadingMessage = intl.formatMessage(\r\n {\r\n id: \"uploader.filesUploading\",\r\n defaultMessage: \"{num, plural, one {1 file uploading} other {# files uploading}}\",\r\n },\r\n { num: newNum }\r\n );\r\n this.notif = filesUploadingMessage;\r\n this.announce(filesUploadingMessage);\r\n forceUpdate(this.el);\r\n }\r\n }\r\n\r\n @Watch(\"errorMessage\")\r\n handleErrorMessageChange() {\r\n if (this.errorMessage) {\r\n this.announce(this.errorMessage);\r\n }\r\n }\r\n\r\n isValidSize(size: number) {\r\n return this.convertBytes(size, \"MB\").size <= this.effectiveMaxSize;\r\n }\r\n\r\n convertBytes(bytes: number, unit?: \"KB\" | \"MB\" | \"GB\" | \"TB\") {\r\n // https://stackoverflow.com/questions/2365100/converting-bytes-to-megabytes\r\n const unitOrder = [\"bytes\", \"KB\", \"MB\", \"GB\", \"TB\"];\r\n let unitIndex = 0;\r\n let result = typeof bytes === \"number\" ? bytes : parseInt(bytes);\r\n\r\n if (unit) {\r\n // convert until result matches desired unit\r\n while (unitOrder.indexOf(unit) > unitIndex) {\r\n result /= 1024;\r\n unitIndex++;\r\n }\r\n } else {\r\n // convert until result is appropriate unit (value is under 1000)\r\n while (result > 1000) {\r\n result /= 1024;\r\n unitIndex++;\r\n }\r\n }\r\n return { size: result, unit: unitOrder[unitIndex] };\r\n }\r\n\r\n isDuplicate(name: string) {\r\n const hasDuplicateUploadingFile = this.filesToUpload.some((fileToUpload: File) => fileToUpload.name === name);\r\n const hasDuplicateUploadedFile = this.fileList.some((f) => {\r\n const filename: string = f.type ? f.name + \".\" + f.type : f.name;\r\n return filename === name;\r\n });\r\n\r\n return hasDuplicateUploadingFile || hasDuplicateUploadedFile;\r\n }\r\n\r\n isEmpty() {\r\n return !this.fileList.length && !this.errorList.length;\r\n }\r\n\r\n get isDisabled() {\r\n // disable if is the uploader is maxed out or if something is uploading\r\n return this.fileLimitReached || this.numFilesInProgress! > 0;\r\n }\r\n\r\n isItemUploading(item: UploadedFile) {\r\n return item.hasOwnProperty(\"progress\") && item.progress! < 100;\r\n }\r\n\r\n announce(message: string) {\r\n if (this.liveRegion.textContent === message) {\r\n message += \"\\u00A0\";\r\n }\r\n this.announcement = message;\r\n }\r\n\r\n clearErrors() {\r\n this.errorList = [];\r\n this.notif = \"\";\r\n this.internalErrorMessage = \"\";\r\n }\r\n\r\n handleFiles(ev: Event) {\r\n this.filesToUpload = [];\r\n const validTypes = this.fileTypes.split(\" \").join(\", \");\r\n const files = Array.from((ev.target! as HTMLInputElement).files!);\r\n\r\n if (!!this.maxFiles && this.fileList.length + files.length > this.maxFiles) {\r\n this.internalErrorMessage = this.fileLimitExceededMessage;\r\n this.announce(this.fileLimitExceededMessage);\r\n } else {\r\n files &&\r\n files.map((file) => {\r\n if (!hasValidType(file, this.fileTypes)) {\r\n const error = {\r\n name: file.name,\r\n message: intl.formatMessage(\r\n {\r\n id: \"uploader.invalidFileType\",\r\n defaultMessage: \"The file type is invalid. Accepted types: {validTypes}\",\r\n },\r\n { validTypes }\r\n ),\r\n };\r\n this.errorList.push(error);\r\n } else if (file.size === 0) {\r\n const error = {\r\n name: file.name,\r\n message: intl.formatMessage({\r\n id: \"uploader.zeroFileSize\",\r\n defaultMessage: \"The file must be more than 0 bytes\",\r\n description: \"Error message when user attempts to upload a file of no size\",\r\n }),\r\n };\r\n this.errorList.push(error);\r\n } else if (!this.isValidSize(file.size)) {\r\n const error = {\r\n name: file.name,\r\n message: intl.formatMessage(\r\n {\r\n id: \"uploader.fileTooLarge\",\r\n defaultMessage: \"The selected file is too large. Maximum file size is {size}Mb\",\r\n },\r\n { size: this.effectiveMaxSize }\r\n ),\r\n };\r\n this.errorList.push(error);\r\n } else if (this.isDuplicate(file.name)) {\r\n const error = {\r\n name: file.name,\r\n message: intl.formatMessage({\r\n id: \"uploader.duplicateName\",\r\n defaultMessage: \"A file with this name already exists.\",\r\n }),\r\n };\r\n this.errorList.push(error);\r\n } else {\r\n this.filesToUpload.push(file);\r\n }\r\n });\r\n\r\n if (this.filesToUpload.length > 0) {\r\n this.numFilesInProgress = this.filesToUpload.length;\r\n this.wmUploaderFilesSelected.emit(this.filesToUpload);\r\n this.wmFilesSelected.emit(this.filesToUpload); // deprecated\r\n }\r\n }\r\n (ev.target! as HTMLInputElement).value = \"\"; // reset to ensure that onChange is triggered when the same file is selected a second time\r\n }\r\n\r\n componentWillLoad() {\r\n if (!this.buttonText) {\r\n throw new Error(\"wm-uploader: button-text is a required prop\");\r\n }\r\n\r\n if (this.type) {\r\n console.warn(\"wm-uploader: type has been deprecated as of v3.1.0. Please use uploader-type instead.\");\r\n }\r\n\r\n if (this.tempUploaderType === \"1\" && !this.emptyStateText) {\r\n throw new Error(\"wm-uploader: empty-state-text is a required prop\");\r\n }\r\n\r\n this.parseFiles();\r\n this.clearErrors();\r\n this.parseRejectedFiles();\r\n }\r\n\r\n componentDidLoad() {\r\n if (document.body.classList.contains(\"wmcl-user-is-tabbing\")) {\r\n this.toggleTabbingOn();\r\n }\r\n }\r\n\r\n uploadButtonOnClick(ev: Event) {\r\n if (this.isDisabled) {\r\n // this is a temporary fix.\r\n // we need the disabled button to be programmatically focusable\r\n // to allow return focus after closing the browser file panel\r\n // since it's focusable the button should respond when activated\r\n // it looks disabled, and announces the reason why the action cannot\r\n // be taken when activated.\r\n ev.preventDefault();\r\n\r\n if (this.numFilesInProgress! > 0) {\r\n const srMsg = intl.formatMessage({\r\n id: \"uploader.waitToUpload\",\r\n defaultMessage: \"Please wait for current upload to complete before uploading new files.\",\r\n description: \"Message for screen reader users\",\r\n });\r\n this.announce(srMsg);\r\n } else if (this.fileLimitReached) {\r\n this.internalErrorMessage = this.fileLimitReachedMessage;\r\n this.announce(this.fileLimitReachedMessage);\r\n }\r\n } else {\r\n this.clearErrors();\r\n }\r\n }\r\n\r\n renderUploadSvg() {\r\n return (\r\n <svg class=\"upload-file\" width=\"91\" height=\"84\" viewBox=\"0 0 91 84\">\r\n <path\r\n transform=\"rotate(-180.000000) translate(-452, -255.5)\"\r\n fill=\"#eae8ec\"\r\n d=\"M361,249.681818 L361,197.318182 C361,194.118182 365.555061,191.5 371.122358,191.5 L391.316463,191.5 L391.286495,200.562515 L369.871211,200.600292 L369.885404,200.622146 L369.886423,246.655947 L443.657038,246.840767 L443.657038,200.622146 L421.683537,200.622146 L421.683537,191.5 L441.978865,191.5 C447.546162,191.5 452,194.118182 452,197.318182 L452,249.681818 C452,252.881818 447.546162,255.5 441.978865,255.5 L371.122358,255.5 C365.504449,255.5 361,252.881818 361,249.681818 Z M391.5,207 L406,221 L420.5,207 L409.625,207 L409.625,172 L402.375,172 L402.375,207 L391.5,207 Z\"\r\n ></path>\r\n </svg>\r\n );\r\n }\r\n\r\n renderIcon() {\r\n // mdi attachment icon (paper clip) is horizontal but we want it vertical\r\n const rotate = this.icon && this.icon === \"f066\";\r\n return (\r\n this.icon && (\r\n <span class={`mdi ${rotate ? \"rotate\" : \"\"}`}>{String.fromCodePoint(parseInt(`0x${this.icon}`))}</span>\r\n )\r\n );\r\n }\r\n\r\n renderInfo() {\r\n return this.info && this.tempUploaderType === \"2\" ? <span class=\"info\">{this.info}</span> : \"\";\r\n }\r\n\r\n renderNotif() {\r\n return <div class=\"notif\">{this.notif}</div>;\r\n }\r\n\r\n renderError() {\r\n return <div id=\"error\">{this.displayedErrorMessage}</div>;\r\n }\r\n\r\n renderUploadButton(classes: string) {\r\n let accessibleLabel = `${this.label && this.label !== this.buttonText ? `${this.label}, ` : \"\"}${this.buttonText}`;\r\n\r\n return (\r\n <div class=\"info-wrapper\">\r\n <input\r\n name={this.inputId}\r\n id={this.inputId}\r\n class=\"sr-only\"\r\n aria-label={accessibleLabel}\r\n aria-required={this.requiredField ? \"true\" : null}\r\n aria-describedby={`${this.displayedErrorMessage ? \"error \" : \"\"}file-count max-size accepted-types`}\r\n type=\"file\"\r\n multiple\r\n onClick={(ev) => this.uploadButtonOnClick(ev)}\r\n onChange={(ev) => this.handleFiles(ev)}\r\n />\r\n <label htmlFor={this.inputId} class={`wm-button ${classes}${this.isTabbing ? \" user-is-tabbing\" : \"\"}`}>\r\n {this.renderIcon()}\r\n {this.buttonText}\r\n </label>\r\n {this.renderInfo()}\r\n </div>\r\n );\r\n }\r\n\r\n renderEmptyState() {\r\n return (\r\n <div class=\"empty-block\">\r\n {this.renderUploadSvg()}\r\n <div class={`empty-message`}>{this.emptyStateText}</div>\r\n {this.renderUploadButton(\"-primary empty-button\")}\r\n {this.notif && this.renderNotif()}\r\n {this.displayedErrorMessage && this.renderError()}\r\n </div>\r\n );\r\n }\r\n\r\n renderErrorList() {\r\n let srMessage = this.errorList.reduce(function (acc, err) {\r\n return acc + `${err.name}: ${err.message} `;\r\n }, \"\");\r\n this.announce(srMessage);\r\n\r\n return (\r\n <ul class=\"error-list\">\r\n {this.errorList.map((err) => (\r\n <wm-file file={`{\"name\": \"${err.name}\"}`} error-message={err.message}></wm-file>\r\n ))}\r\n </ul>\r\n );\r\n }\r\n\r\n formatTimestamp(timestamp: string): string {\r\n const uploadDate = new Date(Date.parse(timestamp));\r\n const day = uploadDate.getDate();\r\n const month = uploadDate.getMonth() + 1;\r\n const year = uploadDate.getFullYear();\r\n const time = uploadDate.toLocaleTimeString(\"en-us\", { hour: \"numeric\", minute: \"2-digit\" });\r\n const formattedDate = `${month}/${day}/${year} ${time}`;\r\n\r\n return formattedDate;\r\n }\r\n\r\n renderInProgressFileList() {\r\n return (\r\n <ul class=\"inprogress-list\">\r\n {this.fileList\r\n .filter((item) => this.isItemUploading(item))\r\n .map((item) => (\r\n <wm-file file={JSON.stringify(item)} show-info={this.showInfo}></wm-file>\r\n ))}\r\n </ul>\r\n );\r\n }\r\n\r\n renderUploadedFileList() {\r\n return (\r\n <ul class=\"file-list\">\r\n {this.fileList\r\n .filter((item) => !this.isItemUploading(item))\r\n .map((item) => {\r\n item.lastUpdated = this.formatTimestamp(item.lastUpdated);\r\n return <wm-file id={`file-${item.id}`} file={JSON.stringify(item)} show-info={this.showInfo}></wm-file>;\r\n })}\r\n </ul>\r\n );\r\n }\r\n\r\n renderFiles() {\r\n // if we switch to accepting display format for the wm-uploader's file lastUpdateds, sorting by date will become impossible\r\n this.sortBy === \"name\"\r\n ? this.fileList.sort((a, b) => a.name.localeCompare(b.name))\r\n : this.fileList.sort((a, b) => Date.parse(a.lastUpdated) - Date.parse(b.lastUpdated));\r\n return (\r\n <div>\r\n {this.renderInProgressFileList()}\r\n {this.renderUploadedFileList()}\r\n </div>\r\n );\r\n }\r\n\r\n legacyRenderHeader() {\r\n return (\r\n <div class={`header ${this.tempUploaderType ? `type${this.tempUploaderType}` : \"\"}`}>\r\n <div class=\"slot-wrapper\">\r\n <slot />\r\n <div class={`notif-wrapper ${this.tempUploaderType ? `type${this.tempUploaderType}` : \"\"}`}>\r\n {this.renderUploadButton(`-secondary ${this.isDisabled ? \"disabled\" : \"\"}`)}\r\n {this.notif && this.renderNotif()}\r\n {this.displayedErrorMessage && this.renderError()}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n renderHeader() {\r\n return (\r\n <div class={`header ${this.tempUploaderType ? `type${this.tempUploaderType}` : \"\"}`}>\r\n <div class={`notif-wrapper ${this.tempUploaderType ? `type${this.tempUploaderType}` : \"\"}`}>\r\n {this.renderUploadButton(`-secondary ${this.isDisabled ? \"disabled\" : \"\"}`)}\r\n {this.renderRequirements()}\r\n </div>\r\n <div id=\"accepted-types\" class=\"accepted-types\">\r\n {this.acceptedFileTypesMessage}\r\n </div>\r\n {this.notif && this.renderNotif()}\r\n {this.displayedErrorMessage && this.renderError()}\r\n </div>\r\n );\r\n }\r\n\r\n renderRequirements() {\r\n return (\r\n <div class=\"requirements\">\r\n {this.maxFiles && <span id=\"file-count\">{this.fileCountMessage}</span>}\r\n {this.maxSize && <span id=\"max-size\">{this.maxSizeMessage}</span>}\r\n </div>\r\n );\r\n }\r\n\r\n renderFooter() {\r\n return (\r\n <div class=\"footer\">\r\n <div class={`notif-wrapper ${this.tempUploaderType ? `type${this.tempUploaderType}` : \"\"}`}>\r\n <div class=\"filecount-wrapper\">\r\n <div class=\"filecount\">\r\n {intl.formatMessage(\r\n {\r\n id: \"uploader.filesAdded\",\r\n defaultMessage: \"{numFiles, plural, one {1 file added} other {# files added}}\",\r\n },\r\n { numFiles: this.fileList.length }\r\n )}\r\n </div>\r\n {this.renderUploadButton(`-primary ${this.isDisabled ? \"disabled\" : \"\"}`)}\r\n </div>\r\n {this.notif && this.renderNotif()}\r\n {this.displayedErrorMessage && this.renderError()}\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n renderWithItems() {\r\n // it's possible progress is passed in as a string, so we need to check for \"100\" as well\r\n const hasNewlyUploadedFiles =\r\n this.fileList.filter((file) => file.progress === (typeof file.progress === \"number\" ? 100 : \"100\")).length > 0;\r\n return (\r\n <div>\r\n {!this.tempUploaderType && this.renderHeader()}\r\n {this.tempUploaderType === \"2\" && this.legacyRenderHeader()}\r\n <div\r\n class={`list-container type${this.tempUploaderType} ${\r\n !this.tempUploaderType && hasNewlyUploadedFiles ? \"checkmark-spacer\" : \"\"\r\n }`}\r\n >\r\n {this.errorList.length > 0 && this.renderErrorList()}\r\n {this.fileList.length > 0 && this.renderFiles()}\r\n </div>\r\n {this.tempUploaderType === \"1\" && this.renderFooter()}\r\n </div>\r\n );\r\n }\r\n\r\n renderLabel() {\r\n return (\r\n <div class={`wrapper ${this.displayedErrorMessage ? \"invalid\" : \"\"}`}>\r\n <div id=\"label\" class={`label`}>\r\n {this.label}\r\n {this.requiredField && (\r\n <span class=\"required\" aria-hidden=\"true\">\r\n *\r\n </span>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n {this.label && this.renderLabel()}\r\n {this.isEmpty() && this.tempUploaderType === \"1\" ? this.renderEmptyState() : this.renderWithItems()}\r\n <div\r\n ref={(el) => (this.liveRegion = el as HTMLDivElement)}\r\n class=\"live-region sr-only\"\r\n 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\r\n aria-atomic=\"true\"\r\n >\r\n {this.announcement}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["ChartSlice","componentDidLoad","parseInt","this","amount","legend","Error","componentDidUpdate","wmChartSliceUpdated","emit"],"sources":["./src/components/charts/wm-chart/wm-chart-slice.tsx"],"sourcesContent":["import { Component, Prop, Event, EventEmitter } from \"@stencil/core\";\n\n@Component({\n tag: \"wm-chart-slice\",\n})\nexport class ChartSlice {\n @Prop() legend?: string;\n @Prop() amount?: string;\n @Prop() popoverTitle?: string;\n @Prop() popoverText?: string;\n @Prop() popoverButtonText?: string;\n\n @Event() wmChartSliceUpdated!: EventEmitter<void>;\n\n componentDidLoad() {\n if (parseInt(this.amount!) > 0 && !this.legend) {\n throw new Error(\n \"wm-chart-slice was provided an amount value without a legend. The legend is required unless the amount is 0 or left empty. For more information see https://components.watermarkinsights.com/chart\"\n );\n }\n }\n\n componentDidUpdate() {\n this.wmChartSliceUpdated.emit();\n }\n}\n"],"mappings":"iDAKaA,EAAU,M,sNASrBC,mBACE,GAAIC,SAASC,KAAKC,QAAW,IAAMD,KAAKE,OAAQ,CAC9C,MAAM,IAAIC,MACR,qM,EAKNC,qBACEJ,KAAKK,oBAAoBC,M"}
1
+ {"version":3,"names":["ChartSlice","componentDidLoad","parseInt","this","amount","legend","Error","componentDidUpdate","wmChartSliceUpdated","emit"],"sources":["./src/components/charts/wm-chart/wm-chart-slice.tsx"],"sourcesContent":["import { Component, Prop, Event, EventEmitter } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"wm-chart-slice\",\r\n})\r\nexport class ChartSlice {\r\n @Prop() legend?: string;\r\n @Prop() amount?: string;\r\n @Prop() popoverTitle?: string;\r\n @Prop() popoverText?: string;\r\n @Prop() popoverButtonText?: string;\r\n\r\n @Event() wmChartSliceUpdated!: EventEmitter<void>;\r\n\r\n componentDidLoad() {\r\n if (parseInt(this.amount!) > 0 && !this.legend) {\r\n throw new Error(\r\n \"wm-chart-slice was provided an amount value without a legend. The legend is required unless the amount is 0 or left empty. For more information see https://components.watermarkinsights.com/chart\"\r\n );\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n this.wmChartSliceUpdated.emit();\r\n }\r\n}\r\n"],"mappings":"iDAKaA,EAAU,M,sNASrBC,mBACE,GAAIC,SAASC,KAAKC,QAAW,IAAMD,KAAKE,OAAQ,CAC9C,MAAM,IAAIC,MACR,qM,EAKNC,qBACEJ,KAAKK,oBAAoBC,M"}
@@ -1,2 +1,2 @@
1
- import{r as e,c as i,h as t,H as r,g as a}from"./p-1c23de4a.js";import{i as s,g as n,e as p}from"./p-9fd3badc.js";const l=':host,wm-input{font-family:inherit;width:100%}:host *,wm-input *{-webkit-box-sizing:border-box;box-sizing:border-box}:host .wrapper,wm-input .wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;font-size:0.875rem}:host .wrapper .label,wm-input .wrapper .label{display:block;line-height:normal;font-weight:600;white-space:nowrap;margin-bottom:0.25rem}:host .wrapper .label .required,wm-input .wrapper .label .required{color:#c0392b}:host .wrapper.label-left,wm-input .wrapper.label-left{-ms-flex-direction:row;flex-direction:row}:host .wrapper.label-left .label-wrapper,wm-input .wrapper.label-left .label-wrapper{line-height:2.5rem}:host .wrapper.label-left .label-wrapper .label,wm-input .wrapper.label-left .label-wrapper .label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:2.5rem;white-space:normal;margin-bottom:0;margin-right:0.75rem}:host .wrapper.label-none label,wm-input .wrapper.label-none label{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}:host .wrapper.invalid .label,wm-input .wrapper.invalid .label{color:#c0392b}:host .wrapper.invalid .label:after,wm-input .wrapper.invalid .label:after{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\\f026";margin-left:0.3125rem}[dir=RTL] :host .wrapper.invalid .label:after,[dir=RTL] wm-input .wrapper.invalid .label:after{margin-left:0;margin-right:0.3125rem}:host .wrapper.rtl.label-left .label,wm-input .wrapper.rtl.label-left .label{margin-right:0;margin-left:0.75rem}:host .wrapper .inner-wrapper,wm-input .wrapper .inner-wrapper{width:100%}:host .wrapper .inputfield-wrapper,wm-input .wrapper .inputfield-wrapper{height:2.5rem;border:1px solid #4a4a4a;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;display:-ms-flexbox;display:flex}:host .wrapper .character-count,wm-input .wrapper .character-count{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:5rem;background-color:rgba(74, 74, 74, 0.05);font-size:0.875rem;font-weight:500;-ms-flex-item-align:stretch;align-self:stretch}:host .wrapper input,wm-input .wrapper input{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;border:none;font-family:inherit;font-size:0.875rem;height:100%;-ms-flex:1;flex:1;padding:0.75rem 1rem;width:100%}:host .wrapper input:disabled,wm-input .wrapper input:disabled{background-color:#f0f0f0;color:#737373}:host .wrapper input:focus,wm-input .wrapper input:focus{outline:none}:host .wrapper .info,wm-input .wrapper .info{font-style:italic;line-height:100%;margin:4px 0}:host .wrapper.invalid .inputfield-wrapper,wm-input .wrapper.invalid .inputfield-wrapper{-webkit-box-shadow:0 0 0 1px #c0392b;-moz-box-shadow:0 0 0 1px #c0392b;box-shadow:0 0 0 1px #c0392b;border-color:#c0392b}:host .wrapper.invalid .error-message,wm-input .wrapper.invalid .error-message{color:#c0392b;margin:4px 0;display:block;font-style:italic;line-height:100%}:host .wrapper:focus .inputfield-wrapper,:host .wrapper.focus .inputfield-wrapper,wm-input .wrapper:focus .inputfield-wrapper,wm-input .wrapper.focus .inputfield-wrapper{-webkit-box-shadow:0 0 0 1px #20cbd4;-moz-box-shadow:0 0 0 1px #20cbd4;box-shadow:0 0 0 1px #20cbd4;outline:none;border-color:#20cbd4}:host .sr-only,wm-input .sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}';const o=class{constructor(t){e(this,t);this.wmInputValueChanged=i(this,"wmInputValueChanged",7);this.uid="";this.previousBlurredValue="";this.numberErrorMessage=s.formatMessage({id:"input.numberError",defaultMessage:"Please enter a valid number."});this.label=undefined;this.labelPosition="top";this.value="";this.disabled=false;this.info=undefined;this.placeholder="";this.requiredField=false;this.requiredFieldMessage=undefined;this.errorMessage=undefined;this.characterLimit=undefined;this.preventValidation=undefined;this.type="text";this.step=1;this.min=undefined;this.max=undefined;this.announcement="";this.displayedErrorMessage=""}get charCount(){return this.value.length}componentWillLoad(){this.uid=this.el.id?this.el.id:n();if(!this.label){console.error("wm-input requires the label property")}}componentDidLoad(){if(this.value){this.inputEl.value=this.value;this.previousBlurredValue=this.inputEl.value}}handleErrorMessage(e){this.displayedErrorMessage=e}handleKeyDown(e){const i=e.ctrlKey||e.metaKey||e.altKey;const t=/^.$/.test(e.key)&&!i;const r=t&&this.characterLimit&&this.inputEl.value.length>=this.characterLimit;if(r){this.announce(this.generateCharacterLimitWarning(this.charCount,this.characterLimit))}}handleBlur(e){if(this.value!==this.previousBlurredValue){this.wmInputValueChanged.emit({value:this.value})}this.previousBlurredValue=this.value;const i=this.preventValidation&&p(e,this.preventValidation);if(!i){this.displayedErrorMessage=this.validate()}this.inputWrapperEl.classList.remove("focus")}handleInput(e){this.value=e.target.value;if(this.characterLimit&&this.charCount>=this.characterLimit-5){this.announce(this.generateCharacterLimitWarning(this.charCount,this.characterLimit))}}handleFocus(){this.inputWrapperEl.classList.add("focus")}validate(){const e=[this.validateNumber.bind(this),this.validateRequired.bind(this)];if(this.errorMessage){return this.errorMessage}else{return e.reduce(((e,i)=>e?e:i()),"")}}validateRequired(){const e=this.requiredFieldMessage||s.formatMessage({id:"global.requiredError",defaultMessage:"This field is required."});return this.requiredField&&this.value===""?e:""}validateNumber(){return this.type==="number"&&this.inputEl.validity.badInput?this.numberErrorMessage:""}announce(e){if(this.liveRegionEl.textContent===e){e+=" "}this.announcement=e}generateCharacterLimitWarning(e,i){const t=s.formatMessage({id:"global.charactersEntered",defaultMessage:"{x, number} of {y, number} characters entered.",description:"for screen readers"},{x:e,y:i});const r=s.formatMessage({id:"global.characterLimitReached",defaultMessage:"No additional characters will be entered.",description:"for screen readers"});return`${t}${e>=i?" "+r:""}`}generateCharacterLimitLabel(e){return s.formatMessage({id:"global.characterLimit",defaultMessage:"{limit, number} characters allowed.",description:"for screen readers"},{limit:e})}renderErrorMessage(){return this.errorMessage||this.displayedErrorMessage}render(){return t(r,{id:this.uid},t("div",{class:`wrapper label-${this.labelPosition} ${this.errorMessage||this.displayedErrorMessage?"invalid":""}`,ref:e=>this.inputWrapperEl=e},t("div",{class:"label-wrapper"},this.labelPosition!=="none"&&t("label",{htmlFor:`inputfield-${this.uid}`,class:"label"},this.label,this.requiredField&&t("span",{class:"required","aria-hidden":"true"},"*"))),t("div",{class:"inner-wrapper"},t("div",{class:"inputfield-wrapper"},t("input",{ref:e=>this.inputEl=e,id:`inputfield-${this.uid}`,disabled:this.disabled,"aria-label":`${this.label}${this.characterLimit?" "+this.generateCharacterLimitLabel(this.characterLimit):""}`,"aria-describedby":`info-${this.uid} error-${this.uid}`,onInput:e=>this.handleInput(e),onKeyDown:e=>this.handleKeyDown(e),onBlur:e=>this.handleBlur(e),onFocus:this.handleFocus.bind(this),placeholder:this.placeholder,autocomplete:"off","aria-required":this.requiredField?"true":null,maxLength:this.characterLimit||undefined,type:this.type,step:this.step,max:this.max,min:this.min}),this.characterLimit&&typeof this.characterLimit==="number"?t("div",{class:"character-count"},this.charCount,"/",this.characterLimit):""),this.info&&t("div",{id:`info-${this.uid}`,class:"info"},this.info),t("div",{id:`error-${this.uid}`,"aria-live":"assertive",class:"error-message","aria-atomic":"true"},this.renderErrorMessage()),t("div",{class:"sr-only","aria-live":"polite","aria-atomic":"true",ref:e=>this.liveRegionEl=e},this.announcement))))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{errorMessage:["handleErrorMessage"]}}};o.style=l;export{o as wm_input};
2
- //# sourceMappingURL=p-4a45a473.entry.js.map
1
+ import{r as e,c as i,h as t,H as r,g as a}from"./p-1c23de4a.js";import{i as s,g as n,e as p}from"./p-edfba0e1.js";const l=':host,wm-input{font-family:inherit;width:100%}:host *,wm-input *{-webkit-box-sizing:border-box;box-sizing:border-box}:host .wrapper,wm-input .wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;font-size:0.875rem}:host .wrapper .label,wm-input .wrapper .label{display:block;line-height:normal;font-weight:600;white-space:nowrap;margin-bottom:0.25rem}:host .wrapper .label .required,wm-input .wrapper .label .required{color:#c0392b}:host .wrapper.label-left,wm-input .wrapper.label-left{-ms-flex-direction:row;flex-direction:row}:host .wrapper.label-left .label-wrapper,wm-input .wrapper.label-left .label-wrapper{line-height:2.5rem}:host .wrapper.label-left .label-wrapper .label,wm-input .wrapper.label-left .label-wrapper .label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:2.5rem;white-space:normal;margin-bottom:0;margin-right:0.75rem}:host .wrapper.label-none label,wm-input .wrapper.label-none label{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}:host .wrapper.invalid .label,wm-input .wrapper.invalid .label{color:#c0392b}:host .wrapper.invalid .label:after,wm-input .wrapper.invalid .label:after{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\\f026";margin-left:0.3125rem}[dir=RTL] :host .wrapper.invalid .label:after,[dir=RTL] wm-input .wrapper.invalid .label:after{margin-left:0;margin-right:0.3125rem}:host .wrapper.rtl.label-left .label,wm-input .wrapper.rtl.label-left .label{margin-right:0;margin-left:0.75rem}:host .wrapper .inner-wrapper,wm-input .wrapper .inner-wrapper{width:100%}:host .wrapper .inputfield-wrapper,wm-input .wrapper .inputfield-wrapper{height:2.5rem;border:1px solid #4a4a4a;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;display:-ms-flexbox;display:flex}:host .wrapper .character-count,wm-input .wrapper .character-count{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:5rem;background-color:rgba(74, 74, 74, 0.05);font-size:0.875rem;font-weight:500;-ms-flex-item-align:stretch;align-self:stretch}:host .wrapper input,wm-input .wrapper input{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;border:none;font-family:inherit;font-size:0.875rem;height:100%;-ms-flex:1;flex:1;padding:0.75rem 1rem;width:100%}:host .wrapper input:disabled,wm-input .wrapper input:disabled{background-color:#f0f0f0;color:#737373}:host .wrapper input:focus,wm-input .wrapper input:focus{outline:none}:host .wrapper .info,wm-input .wrapper .info{font-style:italic;line-height:100%;margin:4px 0}:host .wrapper.invalid .inputfield-wrapper,wm-input .wrapper.invalid .inputfield-wrapper{-webkit-box-shadow:0 0 0 1px #c0392b;-moz-box-shadow:0 0 0 1px #c0392b;box-shadow:0 0 0 1px #c0392b;border-color:#c0392b}:host .wrapper.invalid .error-message,wm-input .wrapper.invalid .error-message{color:#c0392b;margin:4px 0;display:block;font-style:italic;line-height:100%}:host .wrapper:focus .inputfield-wrapper,:host .wrapper.focus .inputfield-wrapper,wm-input .wrapper:focus .inputfield-wrapper,wm-input .wrapper.focus .inputfield-wrapper{-webkit-box-shadow:0 0 0 1px #20cbd4;-moz-box-shadow:0 0 0 1px #20cbd4;box-shadow:0 0 0 1px #20cbd4;outline:none;border-color:#20cbd4}:host .sr-only,wm-input .sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}';const o=class{constructor(t){e(this,t);this.wmInputValueChanged=i(this,"wmInputValueChanged",7);this.uid="";this.previousBlurredValue="";this.numberErrorMessage=s.formatMessage({id:"input.numberError",defaultMessage:"Please enter a valid number."});this.label=undefined;this.labelPosition="top";this.value="";this.disabled=false;this.info=undefined;this.placeholder="";this.requiredField=false;this.requiredFieldMessage=undefined;this.errorMessage=undefined;this.characterLimit=undefined;this.preventValidation=undefined;this.type="text";this.step=1;this.min=undefined;this.max=undefined;this.announcement="";this.displayedErrorMessage=""}get charCount(){return this.value.length}componentWillLoad(){this.uid=this.el.id?this.el.id:n();if(!this.label){console.error("wm-input requires the label property")}}componentDidLoad(){if(this.value){this.inputEl.value=this.value;this.previousBlurredValue=this.inputEl.value}}handleErrorMessage(e){this.displayedErrorMessage=e}handleKeyDown(e){const i=e.ctrlKey||e.metaKey||e.altKey;const t=/^.$/.test(e.key)&&!i;const r=t&&this.characterLimit&&this.inputEl.value.length>=this.characterLimit;if(r){this.announce(this.generateCharacterLimitWarning(this.charCount,this.characterLimit))}}handleBlur(e){if(this.value!==this.previousBlurredValue){this.wmInputValueChanged.emit({value:this.value})}this.previousBlurredValue=this.value;const i=this.preventValidation&&p(e,this.preventValidation);if(!i){this.displayedErrorMessage=this.validate()}this.inputWrapperEl.classList.remove("focus")}handleInput(e){this.value=e.target.value;if(this.characterLimit&&this.charCount>=this.characterLimit-5){this.announce(this.generateCharacterLimitWarning(this.charCount,this.characterLimit))}}handleFocus(){this.inputWrapperEl.classList.add("focus")}validate(){const e=[this.validateNumber.bind(this),this.validateRequired.bind(this)];if(this.errorMessage){return this.errorMessage}else{return e.reduce(((e,i)=>e?e:i()),"")}}validateRequired(){const e=this.requiredFieldMessage||s.formatMessage({id:"global.requiredError",defaultMessage:"This field is required."});return this.requiredField&&this.value===""?e:""}validateNumber(){return this.type==="number"&&this.inputEl.validity.badInput?this.numberErrorMessage:""}announce(e){if(this.liveRegionEl.textContent===e){e+=" "}this.announcement=e}generateCharacterLimitWarning(e,i){const t=s.formatMessage({id:"global.charactersEntered",defaultMessage:"{x, number} of {y, number} characters entered.",description:"for screen readers"},{x:e,y:i});const r=s.formatMessage({id:"global.characterLimitReached",defaultMessage:"No additional characters will be entered.",description:"for screen readers"});return`${t}${e>=i?" "+r:""}`}generateCharacterLimitLabel(e){return s.formatMessage({id:"global.characterLimit",defaultMessage:"{limit, number} characters allowed.",description:"for screen readers"},{limit:e})}renderErrorMessage(){return this.errorMessage||this.displayedErrorMessage}render(){return t(r,{id:this.uid},t("div",{class:`wrapper label-${this.labelPosition} ${this.errorMessage||this.displayedErrorMessage?"invalid":""}`,ref:e=>this.inputWrapperEl=e},t("div",{class:"label-wrapper"},this.labelPosition!=="none"&&t("label",{htmlFor:`inputfield-${this.uid}`,class:"label"},this.label,this.requiredField&&t("span",{class:"required","aria-hidden":"true"},"*"))),t("div",{class:"inner-wrapper"},t("div",{class:"inputfield-wrapper"},t("input",{ref:e=>this.inputEl=e,id:`inputfield-${this.uid}`,disabled:this.disabled,"aria-label":`${this.label}${this.characterLimit?" "+this.generateCharacterLimitLabel(this.characterLimit):""}`,"aria-describedby":`info-${this.uid} error-${this.uid}`,onInput:e=>this.handleInput(e),onKeyDown:e=>this.handleKeyDown(e),onBlur:e=>this.handleBlur(e),onFocus:this.handleFocus.bind(this),placeholder:this.placeholder,autocomplete:"off","aria-required":this.requiredField?"true":null,maxLength:this.characterLimit||undefined,type:this.type,step:this.step,max:this.max,min:this.min}),this.characterLimit&&typeof this.characterLimit==="number"?t("div",{class:"character-count"},this.charCount,"/",this.characterLimit):""),this.info&&t("div",{id:`info-${this.uid}`,class:"info"},this.info),t("div",{id:`error-${this.uid}`,"aria-live":"assertive",class:"error-message","aria-atomic":"true"},this.renderErrorMessage()),t("div",{class:"sr-only","aria-live":"polite","aria-atomic":"true",ref:e=>this.liveRegionEl=e},this.announcement))))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{errorMessage:["handleErrorMessage"]}}};o.style=l;export{o as wm_input};
2
+ //# sourceMappingURL=p-9c9cf5e7.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["wmInputCss","Input","this","uid","previousBlurredValue","numberErrorMessage","intl","formatMessage","id","defaultMessage","charCount","value","length","componentWillLoad","el","generateId","label","console","error","componentDidLoad","inputEl","handleErrorMessage","newValue","displayedErrorMessage","handleKeyDown","ev","isModifierKey","ctrlKey","metaKey","altKey","isCharacter","test","key","hasReachedCharacterLimit","characterLimit","announce","generateCharacterLimitWarning","handleBlur","wmInputValueChanged","emit","shouldPreventValidation","preventValidation","isRelatedTarget","validate","inputWrapperEl","classList","remove","handleInput","target","handleFocus","add","validationRules","validateNumber","bind","validateRequired","errorMessage","reduce","prev","current","reqMsg","requiredFieldMessage","requiredField","type","validity","badInput","message","liveRegionEl","textContent","announcement","charLimit","charactersEnteredMessage","description","x","y","characterLimitReachedMessage","generateCharacterLimitLabel","limit","renderErrorMessage","render","h","Host","class","labelPosition","ref","htmlFor","disabled","onInput","onKeyDown","onBlur","onFocus","placeholder","autocomplete","maxLength","undefined","step","max","min","info"],"sources":["./src/components/wm-input/wm-input.scss?tag=wm-input&encapsulation=shadow","./src/components/wm-input/wm-input.tsx"],"sourcesContent":[":host,\r\nwm-input {\r\n font-family: inherit;\r\n width: 100%;\r\n\r\n * {\r\n box-sizing: border-box;\r\n }\r\n\r\n @include label;\r\n\r\n .wrapper {\r\n .inner-wrapper {\r\n width: 100%;\r\n }\r\n\r\n .inputfield-wrapper {\r\n height: rem-calc(40);\r\n border: 1px solid $input-border-color;\r\n @include border-radius(3px);\r\n display: flex;\r\n }\r\n\r\n .character-count {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n min-width: rem-calc(80);\r\n background-color: rgba($charcoal, 0.05);\r\n font-size: rem-calc(14);\r\n font-weight: 500;\r\n align-self: stretch;\r\n }\r\n\r\n input {\r\n @include border-radius(3px);\r\n border: none;\r\n font-family: inherit;\r\n font-size: rem-calc(14);\r\n height: 100%;\r\n flex: 1;\r\n padding: rem-calc(12 16);\r\n width: 100%;\r\n\r\n &:disabled {\r\n background-color: $input-disabled-bg;\r\n color: $input-disabled-color;\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n }\r\n\r\n .info {\r\n font-style: italic;\r\n line-height: 100%;\r\n margin: 4px 0;\r\n }\r\n\r\n &.invalid {\r\n & .inputfield-wrapper {\r\n @include invalid;\r\n }\r\n\r\n .error-message {\r\n color: $firetruck;\r\n margin: 4px 0;\r\n display: block;\r\n font-style: italic;\r\n line-height: 100%;\r\n }\r\n }\r\n\r\n &:focus,\r\n &.focus {\r\n .inputfield-wrapper {\r\n @include field-focus;\r\n }\r\n }\r\n }\r\n\r\n .sr-only {\r\n @include srOnly;\r\n }\r\n}\r\n","import { h, Component, Element, Event, EventEmitter, Host, Prop, State, Watch } from \"@stencil/core\";\r\nimport { intl, generateId, isRelatedTarget } from \"../../global/functions\";\r\n\r\n@Component({\r\n tag: \"wm-input\",\r\n styleUrl: \"wm-input.scss\",\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class Input {\r\n @Element() el!: HTMLWmInputElement;\r\n private inputEl!: HTMLInputElement;\r\n private inputWrapperEl!: HTMLDivElement;\r\n private liveRegionEl!: HTMLDivElement;\r\n\r\n @Prop() label!: string;\r\n @Prop() labelPosition: \"top\" | \"left\" | \"none\" = \"top\";\r\n @Prop({ reflect: true, mutable: true }) value: string = \"\";\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n @Prop() info?: string;\r\n @Prop() placeholder: string = \"\";\r\n @Prop() requiredField: boolean = false;\r\n @Prop() requiredFieldMessage?: string;\r\n @Prop() errorMessage?: string;\r\n @Prop() characterLimit?: number;\r\n @Prop() preventValidation?: string; // id or series of ids, validation will not occur when clicking an element with this id\r\n @Prop() type: \"number\" | \"text\" = \"text\";\r\n @Prop() step?: number = 1;\r\n @Prop() min?: number;\r\n @Prop() max?: number;\r\n\r\n get charCount(): number {\r\n return this.value.length;\r\n }\r\n\r\n @State() announcement: string = \"\";\r\n\r\n @Event() wmInputValueChanged!: EventEmitter<{ value: string }>;\r\n @State() displayedErrorMessage: string = \"\";\r\n\r\n private uid: string = \"\";\r\n private previousBlurredValue: string = \"\";\r\n private numberErrorMessage = intl.formatMessage({\r\n id: \"input.numberError\",\r\n defaultMessage: \"Please enter a valid number.\",\r\n });\r\n\r\n componentWillLoad() {\r\n this.uid = this.el.id ? this.el.id : generateId();\r\n\r\n if (!this.label) {\r\n console.error(\"wm-input requires the label property\");\r\n }\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.value) {\r\n this.inputEl.value = this.value;\r\n this.previousBlurredValue = this.inputEl.value;\r\n }\r\n }\r\n\r\n @Watch(\"errorMessage\")\r\n handleErrorMessage(newValue: string) {\r\n this.displayedErrorMessage = newValue;\r\n }\r\n\r\n handleKeyDown(ev: KeyboardEvent) {\r\n // in most browsers, onInput doesn't fire if the input's maxLength is reached\r\n // to handle the case where a user continues to type after reaching the character limit, the keyDown event must be used\r\n const isModifierKey = ev.ctrlKey || ev.metaKey || ev.altKey;\r\n const isCharacter = /^.$/.test(ev.key) && !isModifierKey;\r\n const hasReachedCharacterLimit =\r\n isCharacter && this.characterLimit && this.inputEl.value.length >= this.characterLimit;\r\n\r\n if (hasReachedCharacterLimit) {\r\n this.announce(this.generateCharacterLimitWarning(this.charCount, this.characterLimit!));\r\n }\r\n }\r\n\r\n handleBlur(ev: FocusEvent) {\r\n if (this.value !== this.previousBlurredValue) {\r\n this.wmInputValueChanged.emit({ value: this.value });\r\n }\r\n this.previousBlurredValue = this.value;\r\n // do not validate if clicking to an element that should prevent validation (e.g. close button on modal)\r\n const shouldPreventValidation = this.preventValidation && isRelatedTarget(ev, this.preventValidation);\r\n if (!shouldPreventValidation) {\r\n this.displayedErrorMessage = this.validate();\r\n }\r\n this.inputWrapperEl.classList.remove(\"focus\");\r\n }\r\n\r\n handleInput(ev: Event) {\r\n this.value = (ev.target as HTMLInputElement).value;\r\n if (this.characterLimit && this.charCount >= this.characterLimit - 5) {\r\n this.announce(this.generateCharacterLimitWarning(this.charCount, this.characterLimit));\r\n }\r\n }\r\n\r\n handleFocus() {\r\n this.inputWrapperEl.classList.add(\"focus\");\r\n }\r\n\r\n validate() {\r\n // These rules are in priority order\r\n // i.e. an input that is triggering both required and number errors will only show the number one but it's first\r\n const validationRules = [this.validateNumber.bind(this), this.validateRequired.bind(this)];\r\n\r\n if (this.errorMessage) {\r\n return this.errorMessage;\r\n } else {\r\n // sets newError to first rule that returns an error\r\n return validationRules.reduce((prev, current) => (prev ? prev : current()), \"\");\r\n }\r\n }\r\n\r\n validateRequired(): string {\r\n const reqMsg =\r\n this.requiredFieldMessage ||\r\n intl.formatMessage({\r\n id: \"global.requiredError\",\r\n defaultMessage: \"This field is required.\",\r\n });\r\n return this.requiredField && this.value === \"\" ? reqMsg : \"\";\r\n }\r\n\r\n validateNumber(): string {\r\n return this.type === \"number\" && this.inputEl.validity.badInput ? this.numberErrorMessage : \"\";\r\n }\r\n\r\n announce(message: string) {\r\n if (this.liveRegionEl.textContent === message) {\r\n message += \"\\u00A0\";\r\n }\r\n this.announcement = message;\r\n }\r\n\r\n generateCharacterLimitWarning(charCount: number, charLimit: number): string {\r\n const charactersEnteredMessage = intl.formatMessage(\r\n {\r\n id: \"global.charactersEntered\",\r\n defaultMessage: \"{x, number} of {y, number} characters entered.\",\r\n description: \"for screen readers\",\r\n },\r\n { x: charCount, y: charLimit }\r\n );\r\n\r\n const characterLimitReachedMessage = intl.formatMessage({\r\n id: \"global.characterLimitReached\",\r\n defaultMessage: \"No additional characters will be entered.\",\r\n description: \"for screen readers\",\r\n });\r\n\r\n return `${charactersEnteredMessage}${charCount >= charLimit ? \" \" + characterLimitReachedMessage : \"\"}`;\r\n }\r\n\r\n generateCharacterLimitLabel(characterLimit: number): string {\r\n return intl.formatMessage(\r\n {\r\n id: \"global.characterLimit\",\r\n defaultMessage: \"{limit, number} characters allowed.\",\r\n description: \"for screen readers\",\r\n },\r\n { limit: characterLimit }\r\n );\r\n }\r\n\r\n renderErrorMessage() {\r\n return this.errorMessage || this.displayedErrorMessage;\r\n }\r\n\r\n render() {\r\n return (\r\n <Host id={this.uid}>\r\n <div\r\n class={`wrapper label-${this.labelPosition} ${\r\n this.errorMessage || this.displayedErrorMessage ? \"invalid\" : \"\"\r\n }`}\r\n ref={(el) => (this.inputWrapperEl = el as HTMLDivElement)}\r\n >\r\n <div class=\"label-wrapper\">\r\n {this.labelPosition !== \"none\" && (\r\n <label htmlFor={`inputfield-${this.uid}`} class=\"label\">\r\n {this.label}\r\n {this.requiredField && (\r\n <span class=\"required\" aria-hidden=\"true\">\r\n *\r\n </span>\r\n )}\r\n </label>\r\n )}\r\n </div>\r\n <div class=\"inner-wrapper\">\r\n <div class=\"inputfield-wrapper\">\r\n <input\r\n ref={(el) => (this.inputEl = el as HTMLInputElement)}\r\n id={`inputfield-${this.uid}`}\r\n disabled={this.disabled}\r\n aria-label={`${this.label}${\r\n this.characterLimit ? \" \" + this.generateCharacterLimitLabel(this.characterLimit) : \"\"\r\n }`}\r\n aria-describedby={`info-${this.uid} error-${this.uid}`}\r\n onInput={(ev) => this.handleInput(ev)}\r\n onKeyDown={(ev) => this.handleKeyDown(ev)}\r\n onBlur={(ev) => this.handleBlur(ev)}\r\n onFocus={this.handleFocus.bind(this)}\r\n placeholder={this.placeholder}\r\n autocomplete=\"off\"\r\n aria-required={this.requiredField ? \"true\" : null}\r\n maxLength={this.characterLimit || undefined}\r\n type={this.type}\r\n step={this.step}\r\n max={this.max}\r\n min={this.min}\r\n />\r\n {this.characterLimit && typeof this.characterLimit === \"number\" ? (\r\n <div class=\"character-count\">\r\n {this.charCount}/{this.characterLimit}\r\n </div>\r\n ) : (\r\n \"\"\r\n )}\r\n </div>\r\n {this.info && (\r\n <div id={`info-${this.uid}`} class=\"info\">\r\n {this.info}\r\n </div>\r\n )}\r\n <div id={`error-${this.uid}`} aria-live=\"assertive\" class=\"error-message\" aria-atomic=\"true\">\r\n {this.renderErrorMessage()}\r\n </div>\r\n <div\r\n class=\"sr-only\"\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n ref={(el) => (this.liveRegionEl = el as HTMLDivElement)}\r\n >\r\n {this.announcement}\r\n </div>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  var __awaiter=this&&this.__awaiter||function(t,e,n,r){function a(t){return t instanceof n?t:new n((function(e){e(t)}))}return new(n||(n=Promise))((function(n,o){function i(t){try{s(r.next(t))}catch(t){o(t)}}function u(t){try{s(r["throw"](t))}catch(t){o(t)}}function s(t){t.done?n(t.value):a(t.value).then(i,u)}s((r=r.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,a,o,i;return i={next:u(0),throw:u(1),return:u(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function u(t){return function(e){return s([t,e])}}function s(u){if(r)throw new TypeError("Generator is already executing.");while(i&&(i=0,u[0]&&(n=0)),n)try{if(r=1,a&&(o=u[0]&2?a["return"]:u[0]?a["throw"]||((o=a["return"])&&o.call(a),0):a.next)&&!(o=o.call(a,u[1])).done)return o;if(a=0,o)u=[u[0]&2,o.value];switch(u[0]){case 0:case 1:o=u;break;case 4:n.label++;return{value:u[1],done:false};case 5:n.label++;a=u[1];u=[0];continue;case 7:u=n.ops.pop();n.trys.pop();continue;default:if(!(o=n.trys,o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]<o[3])){n.label=u[1];break}if(u[0]===6&&n.label<o[1]){n.label=o[1];o=u;break}if(o&&n.label<o[2]){n.label=o[2];n.ops.push(u);break}if(o[2])n.ops.pop();n.trys.pop();continue}u=e.call(t,n)}catch(t){u=[6,t];a=0}finally{r=o=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:true}}};System.register([],(function(t){"use strict";return{execute:function(){var e=this;var n=t("g",(function(t){return __awaiter(e,void 0,void 0,(function(){var e;return __generator(this,(function(n){switch(n.label){case 0:return[4,fetch(t)];case 1:e=n.sent();if(!(!!e&&!!e.ok))return[3,3];return[4,e.json()];case 2:return[2,n.sent()];case 3:throw new Error(e.statusText)}}))}))}));var r=t("a",(function(t,n){return __awaiter(e,void 0,void 0,(function(){var e;return __generator(this,(function(r){switch(r.label){case 0:return[4,fetch(t,{method:"POST",headers:{"Content-Type":"application/json; charset=utf-8"},body:JSON.stringify(n)})];case 1:e=r.sent();if(!(!!e&&!!e.ok))return[3,3];return[4,e.json()];case 2:return[2,r.sent()];case 3:throw new Error(e.statusText)}}))}))}));var a=t("d",(function(t){return __awaiter(e,void 0,void 0,(function(){var e;return __generator(this,(function(n){switch(n.label){case 0:return[4,fetch(t,{method:"DELETE"})];case 1:e=n.sent();if(!(!!e&&!!e.ok))return[3,3];return[4,e.json()];case 2:return[2,n.sent()];case 3:throw new Error(e.statusText)}}))}))}));var o=t("p",(function(t,e,n){return new Promise((function(r,a){var o=new XMLHttpRequest;o.upload.addEventListener("progress",(function(t){return n(t)}));o.addEventListener("readystatechange",(function(){if(this.readyState===4&&this.status===200){r(this)}else if(this.readyState===4&&this.status!==200){a()}}));o.onerror=function(){return a()};o.open("PUT",t,true);o.setRequestHeader("Content-Disposition",'attachment;filename="'.concat(e.name,'"'));o.send(e)}))}))}}}));
2
- //# sourceMappingURL=p-313b6073.system.js.map
2
+ //# sourceMappingURL=p-9d02957d.system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getRequest","exports","url","__awaiter","_this","fetch","response","_a","sent","ok","json","Error","statusText","postRequest","payload","method","headers","body","JSON","stringify","deleteRequest","putRequest","file","onProgress","Promise","resolve","reject","req","XMLHttpRequest","upload","addEventListener","ev","this","readyState","status","onerror","open","setRequestHeader","concat","name","send"],"sources":["src/global/services/http-service.tsx"],"sourcesContent":["export const getRequest = async (url: string) => {\r\n const response = await fetch(url);\r\n if (!!response && !!response.ok) {\r\n return await response.json();\r\n } else {\r\n throw new Error(response.statusText);\r\n }\r\n};\r\n\r\nexport const postRequest = async (url: string, payload: Object) => {\r\n const response = await fetch(url, {\r\n method: \"POST\",\r\n headers: { \"Content-Type\": \"application/json; charset=utf-8\" },\r\n body: JSON.stringify(payload),\r\n });\r\n if (!!response && !!response.ok) {\r\n return await response.json();\r\n } else {\r\n throw new Error(response.statusText);\r\n }\r\n};\r\n\r\nexport const deleteRequest = async (url: string) => {\r\n const response = await fetch(url, { method: \"DELETE\" });\r\n if (!!response && !!response.ok) {\r\n return await response.json();\r\n } else {\r\n throw new Error(response.statusText);\r\n }\r\n};\r\n\r\nexport const putRequest = (url: string, file: File, onProgress: Function) => {\r\n return new Promise((resolve, reject) => {\r\n // there's no way to track progress with the fetch API, so using XHR\r\n const req = new XMLHttpRequest();\r\n\r\n req.upload.addEventListener(\"progress\", (ev) => onProgress(ev));\r\n\r\n req.addEventListener(\"readystatechange\", function () {\r\n if (this.readyState === 4 && this.status === 200) {\r\n resolve(this);\r\n } else if (this.readyState === 4 && this.status !== 200) {\r\n reject();\r\n }\r\n });\r\n\r\n req.onerror = () => reject();\r\n req.open(\"PUT\", url, true);\r\n req.setRequestHeader(\"Content-Disposition\", `attachment;filename=\"${file.name}\"`);\r\n req.send(file);\r\n });\r\n};\r\n"],"mappings":"oiDAAaA,EAAUC,EAAA,KAAG,SAAOC,GAAW,OAAAC,UAAAC,OAAA,qB,kEACzB,SAAMC,MAAMH,I,OAAvBI,EAAWC,EAAAC,O,OACXF,KAAcA,EAASG,IAAzB,YACK,SAAMH,EAASI,Q,OAAtB,SAAOH,EAAAC,Q,OAEP,MAAM,IAAIG,MAAML,EAASM,Y,cAIhBC,EAAWZ,EAAA,KAAG,SAAOC,EAAaY,GAAe,OAAAX,UAAAC,OAAA,qB,kEAC3C,SAAMC,MAAMH,EAAK,CAChCa,OAAQ,OACRC,QAAS,CAAE,eAAgB,mCAC3BC,KAAMC,KAAKC,UAAUL,M,OAHjBR,EAAWC,EAAAC,O,OAKXF,KAAcA,EAASG,IAAzB,YACK,SAAMH,EAASI,Q,OAAtB,SAAOH,EAAAC,Q,OAEP,MAAM,IAAIG,MAAML,EAASM,Y,cAIhBQ,EAAanB,EAAA,KAAG,SAAOC,GAAW,OAAAC,UAAAC,OAAA,qB,kEAC5B,SAAMC,MAAMH,EAAK,CAAEa,OAAQ,Y,OAAtCT,EAAWC,EAAAC,O,OACXF,KAAcA,EAASG,IAAzB,YACK,SAAMH,EAASI,Q,OAAtB,SAAOH,EAAAC,Q,OAEP,MAAM,IAAIG,MAAML,EAASM,Y,cAIhBS,EAAUpB,EAAA,KAAG,SAACC,EAAaoB,EAAYC,GAClD,OAAO,IAAIC,SAAQ,SAACC,EAASC,GAE3B,IAAMC,EAAM,IAAIC,eAEhBD,EAAIE,OAAOC,iBAAiB,YAAY,SAACC,GAAO,OAAAR,EAAWQ,EAAX,IAEhDJ,EAAIG,iBAAiB,oBAAoB,WACvC,GAAIE,KAAKC,aAAe,GAAKD,KAAKE,SAAW,IAAK,CAChDT,EAAQO,K,MACH,GAAIA,KAAKC,aAAe,GAAKD,KAAKE,SAAW,IAAK,CACvDR,G,KAIJC,EAAIQ,QAAU,WAAM,OAAAT,GAAA,EACpBC,EAAIS,KAAK,MAAOlC,EAAK,MACrByB,EAAIU,iBAAiB,sBAAuB,wBAAAC,OAAwBhB,EAAKiB,KAAI,MAC7EZ,EAAIa,KAAKlB,E,GAEb,G"}