@watermarkinsights/ripple 3.25.0-2 → 3.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (605) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/{chartFunctions-9dce0ea3.js → chartFunctions-2f04ab6a.js} +591 -591
  3. package/dist/cjs/chartFunctions-2f04ab6a.js.map +1 -0
  4. package/dist/cjs/{functions-53aff314.js → functions-d2d99997.js} +478 -478
  5. package/dist/cjs/{functions-53aff314.js.map → functions-d2d99997.js.map} +1 -1
  6. package/dist/cjs/{global-c22b1249.js → global-d0584d18.js} +63 -63
  7. package/dist/cjs/global-d0584d18.js.map +1 -0
  8. package/dist/cjs/{http-service-494d81de.js → http-service-9e8c4dd5.js} +50 -50
  9. package/dist/cjs/http-service-9e8c4dd5.js.map +1 -0
  10. package/dist/cjs/{interfaces-a3338581.js → interfaces-30a74c1f.js} +30 -30
  11. package/dist/cjs/interfaces-30a74c1f.js.map +1 -0
  12. package/dist/cjs/intl-a1ccf587.js +140 -0
  13. package/dist/cjs/intl-a1ccf587.js.map +1 -0
  14. package/dist/cjs/loader.cjs.js +2 -2
  15. package/dist/cjs/priv-chart-popover.cjs.entry.js +91 -91
  16. package/dist/cjs/priv-chart-popover.cjs.entry.js.map +1 -1
  17. package/dist/cjs/priv-datepicker.cjs.entry.js +657 -657
  18. package/dist/cjs/priv-datepicker.cjs.entry.js.map +1 -1
  19. package/dist/cjs/priv-navigator-button.cjs.entry.js +19 -19
  20. package/dist/cjs/priv-navigator-button.cjs.entry.js.map +1 -1
  21. package/dist/cjs/priv-navigator-item.cjs.entry.js +23 -23
  22. package/dist/cjs/priv-navigator-item.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ripple.cjs.js +2 -2
  24. package/dist/cjs/wm-action-menu_2.cjs.entry.js +334 -334
  25. package/dist/cjs/wm-action-menu_2.cjs.entry.js.map +1 -1
  26. package/dist/cjs/wm-button.cjs.entry.js +260 -260
  27. package/dist/cjs/wm-button.cjs.entry.js.map +1 -1
  28. package/dist/cjs/wm-chart-slice.cjs.entry.js +18 -18
  29. package/dist/cjs/wm-chart-slice.cjs.entry.js.map +1 -1
  30. package/dist/cjs/wm-chart.cjs.entry.js +179 -179
  31. package/dist/cjs/wm-chart.cjs.entry.js.map +1 -1
  32. package/dist/cjs/wm-datepicker.cjs.entry.js +264 -264
  33. package/dist/cjs/wm-datepicker.cjs.entry.js.map +1 -1
  34. package/dist/cjs/wm-file-list.cjs.entry.js +35 -35
  35. package/dist/cjs/wm-file-list.cjs.entry.js.map +1 -1
  36. package/dist/cjs/wm-file.cjs.entry.js +201 -201
  37. package/dist/cjs/wm-file.cjs.entry.js.map +1 -1
  38. package/dist/cjs/wm-input.cjs.entry.js +124 -140
  39. package/dist/cjs/wm-input.cjs.entry.js.map +1 -1
  40. package/dist/cjs/wm-modal-footer.cjs.entry.js +33 -33
  41. package/dist/cjs/wm-modal-footer.cjs.entry.js.map +1 -1
  42. package/dist/cjs/wm-modal-header.cjs.entry.js +32 -32
  43. package/dist/cjs/wm-modal-header.cjs.entry.js.map +1 -1
  44. package/dist/cjs/wm-modal.cjs.entry.js +152 -152
  45. package/dist/cjs/wm-modal.cjs.entry.js.map +1 -1
  46. package/dist/cjs/wm-navigation_3.cjs.entry.js +225 -230
  47. package/dist/cjs/wm-navigation_3.cjs.entry.js.map +1 -1
  48. package/dist/cjs/wm-navigator.cjs.entry.js +264 -264
  49. package/dist/cjs/wm-navigator.cjs.entry.js.map +1 -1
  50. package/dist/cjs/wm-network-uploader.cjs.entry.js +465 -467
  51. package/dist/cjs/wm-network-uploader.cjs.entry.js.map +1 -1
  52. package/dist/cjs/wm-option_2.cjs.entry.js +769 -772
  53. package/dist/cjs/wm-option_2.cjs.entry.js.map +1 -1
  54. package/dist/cjs/wm-pagination.cjs.entry.js +179 -179
  55. package/dist/cjs/wm-pagination.cjs.entry.js.map +1 -1
  56. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +155 -155
  57. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js.map +1 -1
  58. package/dist/cjs/wm-search.cjs.entry.js +185 -192
  59. package/dist/cjs/wm-search.cjs.entry.js.map +1 -1
  60. package/dist/cjs/wm-snackbar.cjs.entry.js +155 -159
  61. package/dist/cjs/wm-snackbar.cjs.entry.js.map +1 -1
  62. package/dist/cjs/wm-tab-item_3.cjs.entry.js +264 -264
  63. package/dist/cjs/wm-tab-item_3.cjs.entry.js.map +1 -1
  64. package/dist/cjs/wm-tag-input-row.cjs.entry.js +14 -14
  65. package/dist/cjs/wm-tag-input-row.cjs.entry.js.map +1 -1
  66. package/dist/cjs/wm-tag-input.cjs.entry.js +912 -924
  67. package/dist/cjs/wm-tag-input.cjs.entry.js.map +1 -1
  68. package/dist/cjs/wm-timepicker.cjs.entry.js +386 -386
  69. package/dist/cjs/wm-timepicker.cjs.entry.js.map +1 -1
  70. package/dist/cjs/wm-toggletip.cjs.entry.js +130 -130
  71. package/dist/cjs/wm-toggletip.cjs.entry.js.map +1 -1
  72. package/dist/cjs/wm-uploader.cjs.entry.js +441 -510
  73. package/dist/cjs/wm-uploader.cjs.entry.js.map +1 -1
  74. package/dist/cjs/wm-wrapper.cjs.entry.js +12 -12
  75. package/dist/cjs/wm-wrapper.cjs.entry.js.map +1 -1
  76. package/dist/collection/components/charts/chartFunctions.js +557 -557
  77. package/dist/collection/components/charts/chartFunctions.js.map +1 -1
  78. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +268 -270
  79. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js.map +1 -1
  80. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +126 -126
  81. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js.map +1 -1
  82. package/dist/collection/components/charts/wm-chart/wm-chart.js +447 -447
  83. package/dist/collection/components/charts/wm-chart/wm-chart.js.map +1 -1
  84. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +208 -208
  85. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js.map +1 -1
  86. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +144 -144
  87. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js.map +1 -1
  88. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +122 -122
  89. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js.map +1 -1
  90. package/dist/collection/components/wm-action-menu/wm-action-menu.js +473 -473
  91. package/dist/collection/components/wm-action-menu/wm-action-menu.js.map +1 -1
  92. package/dist/collection/components/wm-button/wm-button.js +576 -576
  93. package/dist/collection/components/wm-button/wm-button.js.map +1 -1
  94. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +984 -984
  95. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js.map +1 -1
  96. package/dist/collection/components/wm-datepicker/wm-datepicker.css +4 -4
  97. package/dist/collection/components/wm-datepicker/wm-datepicker.js +492 -492
  98. package/dist/collection/components/wm-datepicker/wm-datepicker.js.map +1 -1
  99. package/dist/collection/components/wm-file/wm-file.js +334 -334
  100. package/dist/collection/components/wm-file/wm-file.js.map +1 -1
  101. package/dist/collection/components/wm-file-list/wm-file-list.js +153 -153
  102. package/dist/collection/components/wm-file-list/wm-file-list.js.map +1 -1
  103. package/dist/collection/components/wm-input/wm-input.css +4 -4
  104. package/dist/collection/components/wm-input/wm-input.js +428 -444
  105. package/dist/collection/components/wm-input/wm-input.js.map +1 -1
  106. package/dist/collection/components/wm-menuitem/wm-menuitem.js +455 -455
  107. package/dist/collection/components/wm-menuitem/wm-menuitem.js.map +1 -1
  108. package/dist/collection/components/wm-modal/wm-modal-footer.js +139 -139
  109. package/dist/collection/components/wm-modal/wm-modal-footer.js.map +1 -1
  110. package/dist/collection/components/wm-modal/wm-modal-header.js +83 -83
  111. package/dist/collection/components/wm-modal/wm-modal-header.js.map +1 -1
  112. package/dist/collection/components/wm-modal/wm-modal.js +463 -463
  113. package/dist/collection/components/wm-modal/wm-modal.js.map +1 -1
  114. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +177 -177
  115. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js.map +1 -1
  116. package/dist/collection/components/wm-navigation/wm-navigation-item.js +131 -131
  117. package/dist/collection/components/wm-navigation/wm-navigation-item.js.map +1 -1
  118. package/dist/collection/components/wm-navigation/wm-navigation.js +218 -223
  119. package/dist/collection/components/wm-navigation/wm-navigation.js.map +1 -1
  120. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +107 -107
  121. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js.map +1 -1
  122. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +124 -124
  123. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js.map +1 -1
  124. package/dist/collection/components/wm-navigator/wm-navigator.js +468 -468
  125. package/dist/collection/components/wm-navigator/wm-navigator.js.map +1 -1
  126. package/dist/collection/components/wm-option/wm-option.js +436 -436
  127. package/dist/collection/components/wm-option/wm-option.js.map +1 -1
  128. package/dist/collection/components/wm-pagination/wm-pagination.js +371 -371
  129. package/dist/collection/components/wm-pagination/wm-pagination.js.map +1 -1
  130. package/dist/collection/components/wm-search/wm-search.css +5 -3
  131. package/dist/collection/components/wm-search/wm-search.js +440 -447
  132. package/dist/collection/components/wm-search/wm-search.js.map +1 -1
  133. package/dist/collection/components/wm-select/wm-select.css +4 -4
  134. package/dist/collection/components/wm-select/wm-select.js +1055 -1058
  135. package/dist/collection/components/wm-select/wm-select.js.map +1 -1
  136. package/dist/collection/components/wm-snackbar/wm-snackbar.js +283 -287
  137. package/dist/collection/components/wm-snackbar/wm-snackbar.js.map +1 -1
  138. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +212 -212
  139. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js.map +1 -1
  140. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +328 -328
  141. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js.map +1 -1
  142. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +109 -109
  143. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js.map +1 -1
  144. package/dist/collection/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.js +123 -123
  145. package/dist/collection/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.js.map +1 -1
  146. package/dist/collection/components/wm-tag-input/wm-tag-input.css +4 -4
  147. package/dist/collection/components/wm-tag-input/wm-tag-input.js +1267 -1279
  148. package/dist/collection/components/wm-tag-input/wm-tag-input.js.map +1 -1
  149. package/dist/collection/components/wm-timepicker/wm-timepicker.css +4 -4
  150. package/dist/collection/components/wm-timepicker/wm-timepicker.js +606 -606
  151. package/dist/collection/components/wm-timepicker/wm-timepicker.js.map +1 -1
  152. package/dist/collection/components/wm-toggletip/wm-toggletip.js +254 -254
  153. package/dist/collection/components/wm-toggletip/wm-toggletip.js.map +1 -1
  154. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js +773 -775
  155. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js.map +1 -1
  156. package/dist/collection/components/wm-uploader/wm-uploader.js +965 -1034
  157. package/dist/collection/components/wm-uploader/wm-uploader.js.map +1 -1
  158. package/dist/collection/components/wm-wrapper/wm-wrapper.js +29 -29
  159. package/dist/collection/components/wm-wrapper/wm-wrapper.js.map +1 -1
  160. package/dist/collection/dev/scripts.js +20 -20
  161. package/dist/collection/global/__mocks__/functions.js +7 -7
  162. package/dist/collection/global/__mocks__/functions.js.map +1 -1
  163. package/dist/collection/global/functions.js +521 -521
  164. package/dist/collection/global/functions.js.map +1 -1
  165. package/dist/collection/global/global.js +70 -70
  166. package/dist/collection/global/global.js.map +1 -1
  167. package/dist/collection/global/interfaces.js +50 -50
  168. package/dist/collection/global/interfaces.js.map +1 -1
  169. package/dist/collection/global/intl.js +133 -7
  170. package/dist/collection/global/intl.js.map +1 -1
  171. package/dist/collection/global/services/__mocks__/http-service.js +131 -131
  172. package/dist/collection/global/services/__mocks__/http-service.js.map +1 -1
  173. package/dist/collection/global/services/http-service.js +51 -51
  174. package/dist/collection/global/services/http-service.js.map +1 -1
  175. package/dist/collection/lang/lang.js +6 -6
  176. package/dist/collection/lang/lang.js.map +1 -1
  177. package/dist/collection/lang/missing.js +43 -43
  178. package/dist/collection/lang/piglatin.js +93 -93
  179. package/dist/esm/{chartFunctions-1df8043a.js → chartFunctions-a72f5835.js} +591 -591
  180. package/dist/esm/chartFunctions-a72f5835.js.map +1 -0
  181. package/dist/esm/{functions-bb1309d0.js → functions-dc9964aa.js} +478 -478
  182. package/dist/esm/{functions-bb1309d0.js.map → functions-dc9964aa.js.map} +1 -1
  183. package/dist/esm/{global-2c5c2727.js → global-3d0ef32b.js} +63 -63
  184. package/dist/esm/global-3d0ef32b.js.map +1 -0
  185. package/dist/esm/{http-service-3dc3b3e7.js → http-service-5d037e16.js} +50 -50
  186. package/dist/esm/http-service-5d037e16.js.map +1 -0
  187. package/dist/esm/{interfaces-2b97fab2.js → interfaces-61c6305b.js} +30 -30
  188. package/dist/esm/interfaces-61c6305b.js.map +1 -0
  189. package/dist/esm/intl-4d4826dd.js +137 -0
  190. package/dist/esm/intl-4d4826dd.js.map +1 -0
  191. package/dist/esm/loader.js +2 -2
  192. package/dist/esm/polyfills/core-js.js +0 -0
  193. package/dist/esm/polyfills/dom.js +0 -0
  194. package/dist/esm/polyfills/es5-html-element.js +0 -0
  195. package/dist/esm/polyfills/index.js +0 -0
  196. package/dist/esm/polyfills/system.js +0 -0
  197. package/dist/esm/priv-chart-popover.entry.js +91 -91
  198. package/dist/esm/priv-chart-popover.entry.js.map +1 -1
  199. package/dist/esm/priv-datepicker.entry.js +657 -657
  200. package/dist/esm/priv-datepicker.entry.js.map +1 -1
  201. package/dist/esm/priv-navigator-button.entry.js +19 -19
  202. package/dist/esm/priv-navigator-button.entry.js.map +1 -1
  203. package/dist/esm/priv-navigator-item.entry.js +23 -23
  204. package/dist/esm/priv-navigator-item.entry.js.map +1 -1
  205. package/dist/esm/ripple.js +2 -2
  206. package/dist/esm/wm-action-menu_2.entry.js +334 -334
  207. package/dist/esm/wm-action-menu_2.entry.js.map +1 -1
  208. package/dist/esm/wm-button.entry.js +260 -260
  209. package/dist/esm/wm-button.entry.js.map +1 -1
  210. package/dist/esm/wm-chart-slice.entry.js +18 -18
  211. package/dist/esm/wm-chart-slice.entry.js.map +1 -1
  212. package/dist/esm/wm-chart.entry.js +179 -179
  213. package/dist/esm/wm-chart.entry.js.map +1 -1
  214. package/dist/esm/wm-datepicker.entry.js +264 -264
  215. package/dist/esm/wm-datepicker.entry.js.map +1 -1
  216. package/dist/esm/wm-file-list.entry.js +35 -35
  217. package/dist/esm/wm-file-list.entry.js.map +1 -1
  218. package/dist/esm/wm-file.entry.js +201 -201
  219. package/dist/esm/wm-file.entry.js.map +1 -1
  220. package/dist/esm/wm-input.entry.js +124 -140
  221. package/dist/esm/wm-input.entry.js.map +1 -1
  222. package/dist/esm/wm-modal-footer.entry.js +33 -33
  223. package/dist/esm/wm-modal-footer.entry.js.map +1 -1
  224. package/dist/esm/wm-modal-header.entry.js +32 -32
  225. package/dist/esm/wm-modal-header.entry.js.map +1 -1
  226. package/dist/esm/wm-modal.entry.js +152 -152
  227. package/dist/esm/wm-modal.entry.js.map +1 -1
  228. package/dist/esm/wm-navigation_3.entry.js +225 -230
  229. package/dist/esm/wm-navigation_3.entry.js.map +1 -1
  230. package/dist/esm/wm-navigator.entry.js +264 -264
  231. package/dist/esm/wm-navigator.entry.js.map +1 -1
  232. package/dist/esm/wm-network-uploader.entry.js +465 -467
  233. package/dist/esm/wm-network-uploader.entry.js.map +1 -1
  234. package/dist/esm/wm-option_2.entry.js +769 -772
  235. package/dist/esm/wm-option_2.entry.js.map +1 -1
  236. package/dist/esm/wm-pagination.entry.js +179 -179
  237. package/dist/esm/wm-pagination.entry.js.map +1 -1
  238. package/dist/esm/wm-progress-indicator_3.entry.js +155 -155
  239. package/dist/esm/wm-progress-indicator_3.entry.js.map +1 -1
  240. package/dist/esm/wm-search.entry.js +185 -192
  241. package/dist/esm/wm-search.entry.js.map +1 -1
  242. package/dist/esm/wm-snackbar.entry.js +155 -159
  243. package/dist/esm/wm-snackbar.entry.js.map +1 -1
  244. package/dist/esm/wm-tab-item_3.entry.js +264 -264
  245. package/dist/esm/wm-tab-item_3.entry.js.map +1 -1
  246. package/dist/esm/wm-tag-input-row.entry.js +14 -14
  247. package/dist/esm/wm-tag-input-row.entry.js.map +1 -1
  248. package/dist/esm/wm-tag-input.entry.js +912 -924
  249. package/dist/esm/wm-tag-input.entry.js.map +1 -1
  250. package/dist/esm/wm-timepicker.entry.js +386 -386
  251. package/dist/esm/wm-timepicker.entry.js.map +1 -1
  252. package/dist/esm/wm-toggletip.entry.js +130 -130
  253. package/dist/esm/wm-toggletip.entry.js.map +1 -1
  254. package/dist/esm/wm-uploader.entry.js +441 -510
  255. package/dist/esm/wm-uploader.entry.js.map +1 -1
  256. package/dist/esm/wm-wrapper.entry.js +12 -12
  257. package/dist/esm/wm-wrapper.entry.js.map +1 -1
  258. package/dist/esm-es5/{chartFunctions-1df8043a.js → chartFunctions-a72f5835.js} +2 -2
  259. package/dist/esm-es5/chartFunctions-a72f5835.js.map +1 -0
  260. package/dist/esm-es5/{functions-bb1309d0.js → functions-dc9964aa.js} +1 -1
  261. package/dist/esm-es5/{functions-bb1309d0.js.map → functions-dc9964aa.js.map} +1 -1
  262. package/dist/esm-es5/global-3d0ef32b.js +2 -0
  263. package/dist/esm-es5/global-3d0ef32b.js.map +1 -0
  264. package/dist/esm-es5/{http-service-3dc3b3e7.js → http-service-5d037e16.js} +1 -1
  265. package/dist/esm-es5/http-service-5d037e16.js.map +1 -0
  266. package/dist/esm-es5/{interfaces-2b97fab2.js → interfaces-61c6305b.js} +1 -1
  267. package/dist/esm-es5/interfaces-61c6305b.js.map +1 -0
  268. package/dist/esm-es5/intl-4d4826dd.js +2 -0
  269. package/dist/esm-es5/intl-4d4826dd.js.map +1 -0
  270. package/dist/esm-es5/loader.js +1 -1
  271. package/dist/esm-es5/loader.js.map +1 -1
  272. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  273. package/dist/esm-es5/priv-chart-popover.entry.js.map +1 -1
  274. package/dist/esm-es5/priv-datepicker.entry.js +1 -1
  275. package/dist/esm-es5/priv-datepicker.entry.js.map +1 -1
  276. package/dist/esm-es5/priv-navigator-button.entry.js.map +1 -1
  277. package/dist/esm-es5/priv-navigator-item.entry.js.map +1 -1
  278. package/dist/esm-es5/ripple.js +1 -1
  279. package/dist/esm-es5/ripple.js.map +1 -1
  280. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  281. package/dist/esm-es5/wm-action-menu_2.entry.js.map +1 -1
  282. package/dist/esm-es5/wm-button.entry.js +1 -1
  283. package/dist/esm-es5/wm-button.entry.js.map +1 -1
  284. package/dist/esm-es5/wm-chart-slice.entry.js.map +1 -1
  285. package/dist/esm-es5/wm-chart.entry.js +1 -1
  286. package/dist/esm-es5/wm-chart.entry.js.map +1 -1
  287. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  288. package/dist/esm-es5/wm-datepicker.entry.js.map +1 -1
  289. package/dist/esm-es5/wm-file-list.entry.js.map +1 -1
  290. package/dist/esm-es5/wm-file.entry.js +1 -1
  291. package/dist/esm-es5/wm-file.entry.js.map +1 -1
  292. package/dist/esm-es5/wm-input.entry.js +1 -1
  293. package/dist/esm-es5/wm-input.entry.js.map +1 -1
  294. package/dist/esm-es5/wm-modal-footer.entry.js.map +1 -1
  295. package/dist/esm-es5/wm-modal-header.entry.js +1 -1
  296. package/dist/esm-es5/wm-modal-header.entry.js.map +1 -1
  297. package/dist/esm-es5/wm-modal.entry.js +1 -1
  298. package/dist/esm-es5/wm-modal.entry.js.map +1 -1
  299. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  300. package/dist/esm-es5/wm-navigation_3.entry.js.map +1 -1
  301. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  302. package/dist/esm-es5/wm-navigator.entry.js.map +1 -1
  303. package/dist/esm-es5/wm-network-uploader.entry.js +1 -1
  304. package/dist/esm-es5/wm-network-uploader.entry.js.map +1 -1
  305. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  306. package/dist/esm-es5/wm-option_2.entry.js.map +1 -1
  307. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  308. package/dist/esm-es5/wm-pagination.entry.js.map +1 -1
  309. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  310. package/dist/esm-es5/wm-progress-indicator_3.entry.js.map +1 -1
  311. package/dist/esm-es5/wm-search.entry.js +1 -1
  312. package/dist/esm-es5/wm-search.entry.js.map +1 -1
  313. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  314. package/dist/esm-es5/wm-snackbar.entry.js.map +1 -1
  315. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  316. package/dist/esm-es5/wm-tab-item_3.entry.js.map +1 -1
  317. package/dist/esm-es5/wm-tag-input-row.entry.js.map +1 -1
  318. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  319. package/dist/esm-es5/wm-tag-input.entry.js.map +1 -1
  320. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  321. package/dist/esm-es5/wm-timepicker.entry.js.map +1 -1
  322. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  323. package/dist/esm-es5/wm-toggletip.entry.js.map +1 -1
  324. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  325. package/dist/esm-es5/wm-uploader.entry.js.map +1 -1
  326. package/dist/esm-es5/wm-wrapper.entry.js.map +1 -1
  327. package/dist/ripple/{p-3f6c7e6c.entry.js → p-002d067e.entry.js} +2 -2
  328. package/dist/ripple/p-002d067e.entry.js.map +1 -0
  329. package/dist/ripple/p-02a1000a.entry.js +2 -0
  330. package/dist/ripple/p-02a1000a.entry.js.map +1 -0
  331. package/dist/ripple/{p-21bb563a.system.entry.js → p-04ae66fd.system.entry.js} +2 -2
  332. package/dist/ripple/p-04ae66fd.system.entry.js.map +1 -0
  333. package/dist/ripple/{p-c38f6103.system.js → p-0826dc64.system.js} +2 -2
  334. package/dist/ripple/{p-c38f6103.system.js.map → p-0826dc64.system.js.map} +1 -1
  335. package/dist/ripple/{p-f5df5903.system.js → p-08b7ec08.system.js} +1 -1
  336. package/dist/ripple/p-08b7ec08.system.js.map +1 -0
  337. package/dist/ripple/{p-d5b0809e.entry.js → p-0ad3a708.entry.js} +2 -2
  338. package/dist/ripple/p-0ad3a708.entry.js.map +1 -0
  339. package/dist/ripple/p-0cd13c7d.system.entry.js +2 -0
  340. package/dist/ripple/p-0cd13c7d.system.entry.js.map +1 -0
  341. package/dist/ripple/p-0d7bccf7.entry.js.map +1 -1
  342. package/dist/ripple/p-0eb7b1b7.system.entry.js +2 -0
  343. package/dist/ripple/p-0eb7b1b7.system.entry.js.map +1 -0
  344. package/dist/ripple/{p-70768add.entry.js → p-11124a23.entry.js} +2 -2
  345. package/dist/ripple/p-11124a23.entry.js.map +1 -0
  346. package/dist/ripple/p-1808b90a.entry.js +2 -0
  347. package/dist/ripple/p-1808b90a.entry.js.map +1 -0
  348. package/dist/ripple/p-1fd20e05.system.entry.js +2 -0
  349. package/dist/ripple/p-1fd20e05.system.entry.js.map +1 -0
  350. package/dist/ripple/{p-f36b1c58.system.entry.js → p-23fa1ff6.system.entry.js} +2 -2
  351. package/dist/ripple/p-23fa1ff6.system.entry.js.map +1 -0
  352. package/dist/ripple/p-24a4cb11.system.entry.js.map +1 -1
  353. package/dist/ripple/p-2c2a7092.system.entry.js.map +1 -1
  354. package/dist/ripple/{p-9d02957d.system.js → p-313b6073.system.js} +1 -1
  355. package/dist/ripple/p-313b6073.system.js.map +1 -0
  356. package/dist/ripple/p-33558ec4.system.entry.js.map +1 -1
  357. package/dist/ripple/{p-28c12986.system.entry.js → p-33ec18d4.system.entry.js} +2 -2
  358. package/dist/ripple/p-33ec18d4.system.entry.js.map +1 -0
  359. package/dist/ripple/{p-7d0f3abe.entry.js → p-341aa131.entry.js} +2 -2
  360. package/dist/ripple/p-341aa131.entry.js.map +1 -0
  361. package/dist/ripple/p-3759b7af.system.entry.js.map +1 -1
  362. package/dist/ripple/p-38449dff.system.entry.js +2 -0
  363. package/dist/ripple/p-38449dff.system.entry.js.map +1 -0
  364. package/dist/ripple/{p-ee97c3f6.entry.js → p-384c4981.entry.js} +2 -2
  365. package/dist/ripple/p-384c4981.entry.js.map +1 -0
  366. package/dist/ripple/{p-b81ce905.system.entry.js → p-3869a69e.system.entry.js} +2 -2
  367. package/dist/ripple/p-3869a69e.system.entry.js.map +1 -0
  368. package/dist/ripple/p-4391166c.entry.js.map +1 -1
  369. package/dist/ripple/{p-e6e7cb2d.entry.js → p-43be123d.entry.js} +2 -2
  370. package/dist/ripple/p-43be123d.entry.js.map +1 -0
  371. package/dist/ripple/p-4a014591.entry.js.map +1 -1
  372. package/dist/ripple/p-4a06d0a9.system.entry.js +2 -0
  373. package/dist/ripple/p-4a06d0a9.system.entry.js.map +1 -0
  374. package/dist/ripple/p-4e02e2ae.entry.js +2 -0
  375. package/dist/ripple/p-4e02e2ae.entry.js.map +1 -0
  376. package/dist/ripple/p-56cd4d5e.entry.js +2 -0
  377. package/dist/ripple/p-56cd4d5e.entry.js.map +1 -0
  378. package/dist/ripple/p-59654f8e.entry.js.map +1 -1
  379. package/dist/ripple/p-5cc287d2.entry.js +2 -0
  380. package/dist/ripple/p-5cc287d2.entry.js.map +1 -0
  381. package/dist/ripple/{p-8eebf787.entry.js → p-7e0e6b00.entry.js} +2 -2
  382. package/dist/ripple/p-7e0e6b00.entry.js.map +1 -0
  383. package/dist/ripple/{p-0400599e.system.entry.js → p-833c622f.system.entry.js} +2 -2
  384. package/dist/ripple/p-833c622f.system.entry.js.map +1 -0
  385. package/dist/ripple/{p-b00991d9.system.entry.js → p-8613600d.system.entry.js} +2 -2
  386. package/dist/ripple/p-8613600d.system.entry.js.map +1 -0
  387. package/dist/ripple/{p-43f1298b.js → p-888bec42.js} +1 -1
  388. package/dist/ripple/p-888bec42.js.map +1 -0
  389. package/dist/ripple/p-889579fc.entry.js +2 -0
  390. package/dist/ripple/p-889579fc.entry.js.map +1 -0
  391. package/dist/ripple/p-8c51e9f8.system.entry.js.map +1 -1
  392. package/dist/ripple/{p-42158d44.entry.js → p-8db604d2.entry.js} +2 -2
  393. package/dist/ripple/p-8db604d2.entry.js.map +1 -0
  394. package/dist/ripple/{p-24ef6556.system.entry.js → p-91deb45f.system.entry.js} +2 -2
  395. package/dist/ripple/p-91deb45f.system.entry.js.map +1 -0
  396. package/dist/ripple/p-9338011f.system.entry.js +2 -0
  397. package/dist/ripple/p-9338011f.system.entry.js.map +1 -0
  398. package/dist/ripple/p-976b2789.system.entry.js.map +1 -1
  399. package/dist/ripple/{p-1aa16d42.js → p-994303f2.js} +2 -2
  400. package/dist/ripple/p-994303f2.js.map +1 -0
  401. package/dist/ripple/p-9b2dfb54.js +2 -0
  402. package/dist/ripple/p-9b2dfb54.js.map +1 -0
  403. package/dist/ripple/p-9b9eb944.entry.js.map +1 -1
  404. package/dist/ripple/{p-980afed1.system.entry.js → p-a6d64d8a.system.entry.js} +2 -2
  405. package/dist/ripple/p-a6d64d8a.system.entry.js.map +1 -0
  406. package/dist/ripple/{p-fd8070fb.js → p-a6d6eae7.js} +1 -1
  407. package/dist/ripple/p-a6d6eae7.js.map +1 -0
  408. package/dist/ripple/{p-219fbe2b.system.entry.js → p-a73cf968.system.entry.js} +2 -2
  409. package/dist/ripple/p-a73cf968.system.entry.js.map +1 -0
  410. package/dist/ripple/{p-76aafb99.system.entry.js → p-aed625c1.system.entry.js} +2 -2
  411. package/dist/ripple/p-aed625c1.system.entry.js.map +1 -0
  412. package/dist/ripple/{p-0d36ceba.system.entry.js → p-b5b521e4.system.entry.js} +2 -2
  413. package/dist/ripple/p-b5b521e4.system.entry.js.map +1 -0
  414. package/dist/ripple/{p-47d223f1.system.entry.js → p-b7451e73.system.entry.js} +2 -2
  415. package/dist/ripple/p-b7451e73.system.entry.js.map +1 -0
  416. package/dist/ripple/p-bafdcb4e.system.entry.js +2 -0
  417. package/dist/ripple/p-bafdcb4e.system.entry.js.map +1 -0
  418. package/dist/ripple/{p-262713b9.entry.js → p-bb45e122.entry.js} +2 -2
  419. package/dist/ripple/p-bb45e122.entry.js.map +1 -0
  420. package/dist/ripple/p-bd84628c.system.entry.js +2 -0
  421. package/dist/ripple/p-bd84628c.system.entry.js.map +1 -0
  422. package/dist/ripple/p-bf569af0.entry.js.map +1 -1
  423. package/dist/ripple/p-c094f6a8.entry.js +2 -0
  424. package/dist/ripple/p-c094f6a8.entry.js.map +1 -0
  425. package/dist/ripple/p-c36002b6.system.js +2 -0
  426. package/dist/ripple/p-c36002b6.system.js.map +1 -0
  427. package/dist/ripple/p-c5bf7db8.entry.js +2 -0
  428. package/dist/ripple/p-c5bf7db8.entry.js.map +1 -0
  429. package/dist/ripple/p-c68b3798.system.js +2 -0
  430. package/dist/ripple/p-c68b3798.system.js.map +1 -0
  431. package/dist/ripple/{p-05e0f901.js → p-c6a0f7e5.js} +1 -1
  432. package/dist/ripple/{p-05e0f901.js.map → p-c6a0f7e5.js.map} +1 -1
  433. package/dist/ripple/{p-bcba3ce8.entry.js → p-d46f5794.entry.js} +2 -2
  434. package/dist/ripple/p-d46f5794.entry.js.map +1 -0
  435. package/dist/ripple/{p-d7ffac2f.entry.js → p-d48313e0.entry.js} +2 -2
  436. package/dist/ripple/p-d48313e0.entry.js.map +1 -0
  437. package/dist/ripple/p-d939cb54.entry.js.map +1 -1
  438. package/dist/ripple/p-dbfd1640.system.entry.js.map +1 -1
  439. package/dist/ripple/{p-d7c55ce1.entry.js → p-e22854c1.entry.js} +2 -2
  440. package/dist/ripple/p-e22854c1.entry.js.map +1 -0
  441. package/dist/ripple/p-e70bb79f.js +2 -0
  442. package/dist/ripple/p-e70bb79f.js.map +1 -0
  443. package/dist/ripple/{p-e99a7f36.entry.js → p-ed82573a.entry.js} +2 -2
  444. package/dist/ripple/p-ed82573a.entry.js.map +1 -0
  445. package/dist/ripple/{p-bc28c815.system.js → p-f0fd8695.system.js} +1 -1
  446. package/dist/ripple/{p-bc28c815.system.js.map → p-f0fd8695.system.js.map} +1 -1
  447. package/dist/ripple/{p-e5f84104.system.entry.js → p-f312d59a.system.entry.js} +2 -2
  448. package/dist/ripple/p-f312d59a.system.entry.js.map +1 -0
  449. package/dist/ripple/{p-c19ddc00.system.entry.js → p-f59a495a.system.entry.js} +2 -2
  450. package/dist/ripple/p-f59a495a.system.entry.js.map +1 -0
  451. package/dist/ripple/{p-cc8ca6bd.system.js → p-f80eb8a5.system.js} +2 -2
  452. package/dist/ripple/p-f80eb8a5.system.js.map +1 -0
  453. package/dist/ripple/{p-1be55579.system.entry.js → p-fb67c39e.system.entry.js} +2 -2
  454. package/dist/ripple/p-fb67c39e.system.entry.js.map +1 -0
  455. package/dist/ripple/{p-20d0d019.entry.js → p-fc08d5e1.entry.js} +2 -2
  456. package/dist/ripple/p-fc08d5e1.entry.js.map +1 -0
  457. package/dist/ripple/{p-d7b946ed.entry.js → p-fe7da854.entry.js} +2 -2
  458. package/dist/ripple/p-fe7da854.entry.js.map +1 -0
  459. package/dist/ripple/ripple.esm.js +1 -1
  460. package/dist/ripple/ripple.esm.js.map +1 -1
  461. package/dist/ripple/ripple.js +1 -1
  462. package/dist/types/components/charts/chartFunctions.d.ts +37 -37
  463. package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +27 -0
  464. package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +11 -11
  465. package/dist/types/components/charts/wm-chart/wm-chart.d.ts +47 -0
  466. package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +29 -0
  467. package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +20 -0
  468. package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +10 -10
  469. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +49 -0
  470. package/dist/types/components/wm-button/wm-button.d.ts +49 -0
  471. package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +80 -0
  472. package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +42 -0
  473. package/dist/types/components/wm-file/wm-file.d.ts +42 -0
  474. package/dist/types/components/wm-file-list/wm-file-list.d.ts +16 -0
  475. package/dist/types/components/wm-input/wm-input.d.ts +45 -0
  476. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +34 -0
  477. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +14 -14
  478. package/dist/types/components/wm-modal/wm-modal-header.d.ts +10 -10
  479. package/dist/types/components/wm-modal/wm-modal.d.ts +40 -0
  480. package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +21 -0
  481. package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +13 -0
  482. package/dist/types/components/wm-navigation/wm-navigation.d.ts +26 -0
  483. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +10 -10
  484. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +13 -0
  485. package/dist/types/components/wm-navigator/wm-navigator.d.ts +61 -0
  486. package/dist/types/components/wm-option/wm-option.d.ts +34 -0
  487. package/dist/types/components/wm-pagination/wm-pagination.d.ts +32 -32
  488. package/dist/types/components/wm-search/wm-search.d.ts +77 -0
  489. package/dist/types/components/wm-select/wm-select.d.ts +101 -0
  490. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +31 -32
  491. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +37 -0
  492. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +52 -0
  493. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +20 -0
  494. package/dist/types/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.d.ts +11 -0
  495. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +135 -0
  496. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +62 -0
  497. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +28 -0
  498. package/dist/types/components/wm-uploader/wm-network-uploader/wm-network-uploader.d.ts +85 -0
  499. package/dist/types/components/wm-uploader/wm-uploader.d.ts +99 -0
  500. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +7 -7
  501. package/dist/types/components.d.ts +27 -27
  502. package/dist/types/global/__mocks__/functions.d.ts +6 -6
  503. package/dist/types/global/functions.d.ts +48 -48
  504. package/dist/types/global/global.d.ts +1 -1
  505. package/dist/types/global/interfaces.d.ts +74 -74
  506. package/dist/types/global/intl.d.ts +29 -1
  507. package/dist/types/global/services/__mocks__/http-service.d.ts +6 -6
  508. package/dist/types/global/services/http-service.d.ts +4 -4
  509. package/dist/types/lang/lang.d.ts +5 -5
  510. package/package.json +46 -46
  511. package/dist/cjs/chartFunctions-9dce0ea3.js.map +0 -1
  512. package/dist/cjs/global-c22b1249.js.map +0 -1
  513. package/dist/cjs/http-service-494d81de.js.map +0 -1
  514. package/dist/cjs/interfaces-a3338581.js.map +0 -1
  515. package/dist/cjs/intl-e14dc0a1.js +0 -13
  516. package/dist/cjs/intl-e14dc0a1.js.map +0 -1
  517. package/dist/esm/chartFunctions-1df8043a.js.map +0 -1
  518. package/dist/esm/global-2c5c2727.js.map +0 -1
  519. package/dist/esm/http-service-3dc3b3e7.js.map +0 -1
  520. package/dist/esm/interfaces-2b97fab2.js.map +0 -1
  521. package/dist/esm/intl-4153b9ef.js +0 -11
  522. package/dist/esm/intl-4153b9ef.js.map +0 -1
  523. package/dist/esm-es5/chartFunctions-1df8043a.js.map +0 -1
  524. package/dist/esm-es5/global-2c5c2727.js +0 -2
  525. package/dist/esm-es5/global-2c5c2727.js.map +0 -1
  526. package/dist/esm-es5/http-service-3dc3b3e7.js.map +0 -1
  527. package/dist/esm-es5/interfaces-2b97fab2.js.map +0 -1
  528. package/dist/esm-es5/intl-4153b9ef.js +0 -2
  529. package/dist/esm-es5/intl-4153b9ef.js.map +0 -1
  530. package/dist/ripple/p-0400599e.system.entry.js.map +0 -1
  531. package/dist/ripple/p-075607ac.entry.js +0 -2
  532. package/dist/ripple/p-075607ac.entry.js.map +0 -1
  533. package/dist/ripple/p-08d17d5a.entry.js +0 -2
  534. package/dist/ripple/p-08d17d5a.entry.js.map +0 -1
  535. package/dist/ripple/p-0d36ceba.system.entry.js.map +0 -1
  536. package/dist/ripple/p-124da634.entry.js +0 -2
  537. package/dist/ripple/p-124da634.entry.js.map +0 -1
  538. package/dist/ripple/p-1aa16d42.js.map +0 -1
  539. package/dist/ripple/p-1be55579.system.entry.js.map +0 -1
  540. package/dist/ripple/p-20d0d019.entry.js.map +0 -1
  541. package/dist/ripple/p-219fbe2b.system.entry.js.map +0 -1
  542. package/dist/ripple/p-21bb563a.system.entry.js.map +0 -1
  543. package/dist/ripple/p-241d4d41.system.entry.js +0 -2
  544. package/dist/ripple/p-241d4d41.system.entry.js.map +0 -1
  545. package/dist/ripple/p-24ef6556.system.entry.js.map +0 -1
  546. package/dist/ripple/p-262713b9.entry.js.map +0 -1
  547. package/dist/ripple/p-28c12986.system.entry.js.map +0 -1
  548. package/dist/ripple/p-3f6c7e6c.entry.js.map +0 -1
  549. package/dist/ripple/p-42158d44.entry.js.map +0 -1
  550. package/dist/ripple/p-43f1298b.js.map +0 -1
  551. package/dist/ripple/p-47d223f1.system.entry.js.map +0 -1
  552. package/dist/ripple/p-4d30004f.entry.js +0 -2
  553. package/dist/ripple/p-4d30004f.entry.js.map +0 -1
  554. package/dist/ripple/p-58b1415e.system.js +0 -2
  555. package/dist/ripple/p-58b1415e.system.js.map +0 -1
  556. package/dist/ripple/p-5cda4e9c.system.entry.js +0 -2
  557. package/dist/ripple/p-5cda4e9c.system.entry.js.map +0 -1
  558. package/dist/ripple/p-64f15a9e.system.entry.js +0 -2
  559. package/dist/ripple/p-64f15a9e.system.entry.js.map +0 -1
  560. package/dist/ripple/p-6e6b5b2c.system.entry.js +0 -2
  561. package/dist/ripple/p-6e6b5b2c.system.entry.js.map +0 -1
  562. package/dist/ripple/p-70768add.entry.js.map +0 -1
  563. package/dist/ripple/p-76aafb99.system.entry.js.map +0 -1
  564. package/dist/ripple/p-7d0f3abe.entry.js.map +0 -1
  565. package/dist/ripple/p-8aa85021.system.entry.js +0 -2
  566. package/dist/ripple/p-8aa85021.system.entry.js.map +0 -1
  567. package/dist/ripple/p-8eebf787.entry.js.map +0 -1
  568. package/dist/ripple/p-96b0ca93.system.js +0 -2
  569. package/dist/ripple/p-96b0ca93.system.js.map +0 -1
  570. package/dist/ripple/p-980afed1.system.entry.js.map +0 -1
  571. package/dist/ripple/p-9d02957d.system.js.map +0 -1
  572. package/dist/ripple/p-adbeb6a8.system.entry.js +0 -2
  573. package/dist/ripple/p-adbeb6a8.system.entry.js.map +0 -1
  574. package/dist/ripple/p-b00991d9.system.entry.js.map +0 -1
  575. package/dist/ripple/p-b81ce905.system.entry.js.map +0 -1
  576. package/dist/ripple/p-bcba3ce8.entry.js.map +0 -1
  577. package/dist/ripple/p-bf808ec4.entry.js +0 -2
  578. package/dist/ripple/p-bf808ec4.entry.js.map +0 -1
  579. package/dist/ripple/p-c19ddc00.system.entry.js.map +0 -1
  580. package/dist/ripple/p-cc8ca6bd.system.js.map +0 -1
  581. package/dist/ripple/p-ce52357e.js +0 -2
  582. package/dist/ripple/p-ce52357e.js.map +0 -1
  583. package/dist/ripple/p-d0f5773a.entry.js +0 -2
  584. package/dist/ripple/p-d0f5773a.entry.js.map +0 -1
  585. package/dist/ripple/p-d5b0809e.entry.js.map +0 -1
  586. package/dist/ripple/p-d7b946ed.entry.js.map +0 -1
  587. package/dist/ripple/p-d7c55ce1.entry.js.map +0 -1
  588. package/dist/ripple/p-d7ffac2f.entry.js.map +0 -1
  589. package/dist/ripple/p-dbf657c5.js +0 -2
  590. package/dist/ripple/p-dbf657c5.js.map +0 -1
  591. package/dist/ripple/p-e1b812ed.entry.js +0 -2
  592. package/dist/ripple/p-e1b812ed.entry.js.map +0 -1
  593. package/dist/ripple/p-e5f84104.system.entry.js.map +0 -1
  594. package/dist/ripple/p-e6e7cb2d.entry.js.map +0 -1
  595. package/dist/ripple/p-e99a7f36.entry.js.map +0 -1
  596. package/dist/ripple/p-ed14d37c.system.entry.js +0 -2
  597. package/dist/ripple/p-ed14d37c.system.entry.js.map +0 -1
  598. package/dist/ripple/p-ee97c3f6.entry.js.map +0 -1
  599. package/dist/ripple/p-f3130941.entry.js +0 -2
  600. package/dist/ripple/p-f3130941.entry.js.map +0 -1
  601. package/dist/ripple/p-f36b1c58.system.entry.js.map +0 -1
  602. package/dist/ripple/p-f4a622a9.system.entry.js +0 -2
  603. package/dist/ripple/p-f4a622a9.system.entry.js.map +0 -1
  604. package/dist/ripple/p-f5df5903.system.js.map +0 -1
  605. package/dist/ripple/p-fd8070fb.js.map +0 -1
@@ -3,210 +3,210 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-1f84c034.js');
6
- const functions = require('./functions-53aff314.js');
6
+ const functions = require('./functions-d2d99997.js');
7
7
 
8
8
  const wmFileCss = ":host,wm-file{display:block;width:100%}.file-wrapper{font-size:0.875rem;position:relative;list-style:none}.file-wrapper .file{min-width:300px;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;height:3.5rem;padding:0 1.25rem;position:relative;background:#f4f4f4;border:1px solid #6b6b6b;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}.file-wrapper .file .filename{white-space:nowrap}.file-wrapper .file .left-group{overflow:hidden}.file-wrapper .file .right-group{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding-left:5rem;gap:1rem}.file-wrapper .file .right-group.condensed{padding-left:2.5rem}.file-wrapper .file .right-group .file-controls{display:-ms-flexbox;display:flex;gap:1rem}.file-wrapper .file .right-group .file-info{white-space:nowrap}.file-wrapper .file.--error{border:1px solid #c0392b;background-color:#f5ebea;height:3.75rem}.file-wrapper.checked .file: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:\"\\f133\";position:absolute;right:-44px;color:#088000;font-size:28px;line-height:1}.name-wrapper{overflow:hidden}.progress{position:absolute;left:0;top:0;right:0;height:8px}.error-message{display:block;font-style:italic;color:#c0392b;font-size:0.875rem;margin-top:0.25rem}.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}.ch-measure{width:1ch !important;visibility:hidden}";
9
9
 
10
- const File = class {
11
- constructor(hostRef) {
12
- index.registerInstance(this, hostRef);
13
- this.wmIntFilePreviewed = index.createEvent(this, "wmIntFilePreviewed", 7);
14
- this.wmIntFileDownloaded = index.createEvent(this, "wmIntFileDownloaded", 7);
15
- this.wmIntFileDeleted = index.createEvent(this, "wmIntFileDeleted", 7);
16
- this.wmFileClearErrorClicked = index.createEvent(this, "wmFileClearErrorClicked", 7);
17
- // the file component is used within wm-uploader, which still includes legacy types 1 and 2
18
- // some new features are not included in these legacy types, and must use the below in conditions
19
- this.isWithinLegacyUploader = false;
20
- this.debouncedResize = functions.debounce(() => {
21
- this.isCondensed = this.el.clientWidth < 500;
22
- // rerender to show filename truncation changes
23
- index.forceUpdate(this.el);
24
- }, 50);
25
- this.file = undefined;
26
- this.showInfo = "time";
27
- this.errorMessage = undefined;
28
- this.isCondensed = false;
29
- }
30
- get fileData() {
31
- let data = this.file ? JSON.parse(this.file) : null;
32
- // sometimes JSON numbers can be received as strings, make sure progress is always a number
33
- if (data && data.progress && typeof data.progress === "string" && data.progress.match(/^[0-9]+$/)) {
34
- data.progress = parseInt(data.progress.toString());
35
- }
36
- return data;
37
- }
38
- get isUploading() {
39
- return this.fileData && this.fileData.hasOwnProperty("progress") && this.fileData.progress < 100;
40
- }
41
- get singleCharacterWidth() {
42
- return this.el.shadowRoot.querySelector(".ch-measure").clientWidth;
43
- }
44
- get previewButtonTooltip() {
45
- return functions.intl.formatMessage({
46
- id: "file.previewButtonTooltip",
47
- defaultMessage: "Preview",
48
- description: "Tooltip of a button that triggers a file to be previewed",
49
- });
50
- }
51
- get downloadButtonTooltip() {
52
- return functions.intl.formatMessage({
53
- id: "file.downloadButtonTooltip",
54
- defaultMessage: "Download",
55
- description: "Tooltip of a button that triggers a file to be downloaded",
56
- });
57
- }
58
- get deleteButtonTooltip() {
59
- return functions.intl.formatMessage({
60
- id: "file.deleteButtonTooltip",
61
- defaultMessage: "Delete",
62
- description: "Tooltip of a button that triggers a file to be deleted",
63
- });
64
- }
65
- get previewActionMessage() {
66
- return functions.intl.formatMessage({
67
- id: "file.previewAction",
68
- defaultMessage: "Preview File",
69
- description: "Label of a button that triggers a file to be previewed",
70
- });
71
- }
72
- get downloadActionMessage() {
73
- return functions.intl.formatMessage({
74
- id: "file.downloadAction",
75
- defaultMessage: "Download File",
76
- description: "Label of a button that triggers a file to be downloaded",
77
- });
78
- }
79
- get deleteActionMessage() {
80
- return functions.intl.formatMessage({
81
- id: "file.deleteAction",
82
- defaultMessage: "Delete File",
83
- description: "Label of a button that triggers a file to be delete",
84
- });
85
- }
86
- get actionMenuLabel() {
87
- return functions.intl.formatMessage({
88
- id: "file.actionMenuLabel",
89
- defaultMessage: "Actions",
90
- description: "Label of a button that opens a menu of file actions",
91
- });
92
- }
93
- get clearButtonText() {
94
- return functions.intl.formatMessage({
95
- id: "file.clearErrorText",
96
- defaultMessage: "Clear",
97
- description: "Text for a button used to clear an error",
98
- });
99
- }
100
- generateClearButtonLabel(filename) {
101
- return functions.intl.formatMessage({
102
- id: "file.clearErrorLabel",
103
- defaultMessage: "Clear {fileName} error",
104
- description: "Label for a button used to clear an error, including filename",
105
- }, { fileName: filename });
106
- }
107
- componentWillLoad() {
108
- const shadowRootHost = this.el.getRootNode().host;
109
- if (shadowRootHost && shadowRootHost.nodeName === "WM-UPLOADER") {
110
- if (shadowRootHost.type || shadowRootHost.uploaderType) {
111
- this.isWithinLegacyUploader = true;
112
- }
113
- }
114
- // rerender on resize in case layout needs to change
115
- const resizeObserver = new ResizeObserver(() => this.debouncedResize());
116
- resizeObserver.observe(this.el);
117
- }
118
- componentDidRender() {
119
- this.truncateFileName(this.el.shadowRoot.querySelector(".file"));
120
- }
121
- previewFile(file) {
122
- this.wmIntFilePreviewed.emit(file.id);
123
- }
124
- downloadFile(file) {
125
- this.wmIntFileDownloaded.emit(file.id);
126
- }
127
- deleteFile(file) {
128
- this.wmIntFileDeleted.emit(file.id);
129
- }
130
- truncateFileName(file) {
131
- const leftGroup = file.querySelector(".left-group");
132
- const leftBoundary = leftGroup.getBoundingClientRect().left;
133
- const rightGroup = file.querySelector(".right-group");
134
- const rightBoundary = rightGroup
135
- ? rightGroup.getBoundingClientRect().left
136
- : file.getBoundingClientRect().right - 20;
137
- const filenameEl = file.querySelector(".filename");
138
- const availableSpace = rightBoundary - leftBoundary;
139
- let filename = filenameEl.dataset.filename;
140
- const canFitText = availableSpace > filename.length * this.singleCharacterWidth;
141
- if (!canFitText) {
142
- const extension = filename.slice(filename.lastIndexOf("."));
143
- const numFittingCharacters = Math.floor(availableSpace / this.singleCharacterWidth);
144
- // three ellipses, three constant characters, extension
145
- const postEllipsesLength = 3 + 3 + extension.length;
146
- let preEllipsesLength = Math.max(2, numFittingCharacters - postEllipsesLength);
147
- const preEllipsesText = filename.slice(0, preEllipsesLength);
148
- const postEllipsesText = filename.slice(filename.indexOf(extension) - 3, filename.length);
149
- filename = `${preEllipsesText.trim()}...${postEllipsesText.trim()}`;
150
- }
151
- filenameEl.textContent = filename;
152
- }
153
- handleFilenameMouseEnter(ev, filename) {
154
- // only show tooltip if file name is being truncated (has ellipses)
155
- if (ev.target.textContent.includes("...")) {
156
- functions.showTooltip("bottom", ev.target, filename);
157
- }
158
- }
159
- renderFileName(filename, isUploading) {
160
- return (index.h("div", { class: "left-group" }, index.h("div", { class: "name-wrapper" }, index.h("span", { class: "sr-only" }, filename), index.h("span", { "aria-hidden": "true", class: "filename", "data-filename": filename, onMouseEnter: (ev) => this.handleFilenameMouseEnter(ev, filename), onMouseLeave: () => functions.hideTooltip() }), isUploading && index.h("span", { class: "sr-only" }, "uploading"), index.h("div", { class: "ch-measure" }))));
161
- }
162
- renderFileInfo(item, showInfo) {
163
- let displayedInfo = "";
164
- if (showInfo === "time" && item.lastUpdated) {
165
- displayedInfo = item.lastUpdated;
166
- }
167
- else if (showInfo === "size" && item.size) {
168
- displayedInfo = item.size;
169
- }
170
- return index.h("div", { class: "file-info" }, displayedInfo);
171
- }
172
- renderActionMenu(item) {
173
- const defaultFileActions = "download delete";
174
- const availableActions = item.fileActions || defaultFileActions;
175
- const previewItem = (index.h("wm-menuitem", { icon: "f208", onClick: () => this.previewFile(item) }, this.previewActionMessage));
176
- const downloadItem = (index.h("wm-menuitem", { icon: "f1da", onClick: () => this.downloadFile(item) }, this.downloadActionMessage));
177
- const deleteItem = (index.h("wm-menuitem", { icon: "f1c0", onClick: () => this.deleteFile(item) }, this.deleteActionMessage));
178
- return (index.h("wm-action-menu", { "action-menu-type": "icon", tooltip: this.actionMenuLabel, "tooltip-position": "bottom", "label-for-identical-buttons": `${item.name} ${this.actionMenuLabel}` }, availableActions.includes("preview") && previewItem, availableActions.includes("download") && downloadItem, availableActions.includes("delete") && deleteItem));
179
- }
180
- renderFileActionButtons(item) {
181
- const defaultFileActions = "download delete";
182
- const availableActions = item.fileActions || defaultFileActions;
183
- const previewButton = (index.h("wm-button", { class: "preview-button", "button-type": "icononly", tooltip: this.previewButtonTooltip, "tooltip-position": "bottom", "label-for-identical-buttons": `preview ${item.name}`, icon: "f208", onClick: () => this.previewFile(item) }));
184
- const downloadButton = (index.h("wm-button", { class: "download-button", "button-type": "icononly", tooltip: this.downloadButtonTooltip, "tooltip-position": "bottom", "label-for-identical-buttons": `download ${item.name}`, icon: "f1da", onClick: () => this.downloadFile(item) }));
185
- const deleteButton = (index.h("wm-button", { class: "delete-button", "button-type": "icononly", tooltip: this.deleteButtonTooltip, "tooltip-position": "bottom", "label-for-identical-buttons": `delete ${item.name}`, icon: "f1c0", onClick: () => this.deleteFile(item) }));
186
- return (index.h("div", { class: "file-controls" }, availableActions.includes("preview") && previewButton, availableActions.includes("download") && downloadButton, availableActions.includes("delete") && deleteButton));
187
- }
188
- renderFileInProgress(item) {
189
- const filename = item.type ? `${item.name}.${item.type}` : item.name;
190
- return (index.h("div", { class: "file-wrapper" }, index.h("div", { class: "file --progress" }, index.h("div", { class: "progress", style: {
191
- background: `linear-gradient(to right, rgba(67, 126, 142, 1) ${item.progress}%, transparent ${item.progress}%)`,
192
- } }), this.renderFileName(filename, this.isUploading))));
193
- }
194
- renderFileControls(item) {
195
- const hasSingleFileAction = item.fileActions && item.fileActions.split(" ").length === 1;
196
- const showActionMenu = this.isCondensed && !hasSingleFileAction;
197
- return showActionMenu ? this.renderActionMenu(item) : this.renderFileActionButtons(item);
198
- }
199
- renderFile(item) {
200
- const filename = item.type ? `${item.name}.${item.type}` : item.name;
201
- const showCheckmark = !this.isWithinLegacyUploader && item.progress === 100;
202
- return (index.h("div", { class: `file-wrapper ${showCheckmark ? "checked" : ""}` }, index.h("div", { class: `file ${this.errorMessage ? "--error" : ""}` }, this.renderFileName(filename, this.isUploading), !this.errorMessage && (index.h("div", { class: `right-group ${this.isCondensed ? "condensed" : ""}` }, this.showInfo !== "none" && this.renderFileInfo(item, this.showInfo), item.fileActions !== "" && this.renderFileControls(item))), this.errorMessage && (index.h("wm-button", { "permanently-delete": true, "button-type": "textonly", "label-for-identical-buttons": this.generateClearButtonLabel(item.name), onClick: () => this.wmFileClearErrorClicked.emit({ name: item.name }) }, this.clearButtonText))), this.errorMessage && index.h("div", { class: "error-message" }, this.errorMessage)));
203
- }
204
- render() {
205
- return (index.h(index.Host, { role: "listitem" }, this.isUploading ? this.renderFileInProgress(this.fileData) : this.renderFile(this.fileData)));
206
- }
207
- static get delegatesFocus() { return true; }
208
- get el() { return index.getElement(this); }
209
- };
10
+ const File = class {
11
+ constructor(hostRef) {
12
+ index.registerInstance(this, hostRef);
13
+ this.wmIntFilePreviewed = index.createEvent(this, "wmIntFilePreviewed", 7);
14
+ this.wmIntFileDownloaded = index.createEvent(this, "wmIntFileDownloaded", 7);
15
+ this.wmIntFileDeleted = index.createEvent(this, "wmIntFileDeleted", 7);
16
+ this.wmFileClearErrorClicked = index.createEvent(this, "wmFileClearErrorClicked", 7);
17
+ // the file component is used within wm-uploader, which still includes legacy types 1 and 2
18
+ // some new features are not included in these legacy types, and must use the below in conditions
19
+ this.isWithinLegacyUploader = false;
20
+ this.debouncedResize = functions.debounce(() => {
21
+ this.isCondensed = this.el.clientWidth < 500;
22
+ // rerender to show filename truncation changes
23
+ index.forceUpdate(this.el);
24
+ }, 50);
25
+ this.file = undefined;
26
+ this.showInfo = "time";
27
+ this.errorMessage = undefined;
28
+ this.isCondensed = false;
29
+ }
30
+ get fileData() {
31
+ let data = this.file ? JSON.parse(this.file) : null;
32
+ // sometimes JSON numbers can be received as strings, make sure progress is always a number
33
+ if (data && data.progress && typeof data.progress === "string" && data.progress.match(/^[0-9]+$/)) {
34
+ data.progress = parseInt(data.progress.toString());
35
+ }
36
+ return data;
37
+ }
38
+ get isUploading() {
39
+ return this.fileData && this.fileData.hasOwnProperty("progress") && this.fileData.progress < 100;
40
+ }
41
+ get singleCharacterWidth() {
42
+ return this.el.shadowRoot.querySelector(".ch-measure").clientWidth;
43
+ }
44
+ get previewButtonTooltip() {
45
+ return functions.intl.formatMessage({
46
+ id: "file.previewButtonTooltip",
47
+ defaultMessage: "Preview",
48
+ description: "Tooltip of a button that triggers a file to be previewed",
49
+ });
50
+ }
51
+ get downloadButtonTooltip() {
52
+ return functions.intl.formatMessage({
53
+ id: "file.downloadButtonTooltip",
54
+ defaultMessage: "Download",
55
+ description: "Tooltip of a button that triggers a file to be downloaded",
56
+ });
57
+ }
58
+ get deleteButtonTooltip() {
59
+ return functions.intl.formatMessage({
60
+ id: "file.deleteButtonTooltip",
61
+ defaultMessage: "Delete",
62
+ description: "Tooltip of a button that triggers a file to be deleted",
63
+ });
64
+ }
65
+ get previewActionMessage() {
66
+ return functions.intl.formatMessage({
67
+ id: "file.previewAction",
68
+ defaultMessage: "Preview File",
69
+ description: "Label of a button that triggers a file to be previewed",
70
+ });
71
+ }
72
+ get downloadActionMessage() {
73
+ return functions.intl.formatMessage({
74
+ id: "file.downloadAction",
75
+ defaultMessage: "Download File",
76
+ description: "Label of a button that triggers a file to be downloaded",
77
+ });
78
+ }
79
+ get deleteActionMessage() {
80
+ return functions.intl.formatMessage({
81
+ id: "file.deleteAction",
82
+ defaultMessage: "Delete File",
83
+ description: "Label of a button that triggers a file to be delete",
84
+ });
85
+ }
86
+ get actionMenuLabel() {
87
+ return functions.intl.formatMessage({
88
+ id: "file.actionMenuLabel",
89
+ defaultMessage: "Actions",
90
+ description: "Label of a button that opens a menu of file actions",
91
+ });
92
+ }
93
+ get clearButtonText() {
94
+ return functions.intl.formatMessage({
95
+ id: "file.clearErrorText",
96
+ defaultMessage: "Clear",
97
+ description: "Text for a button used to clear an error",
98
+ });
99
+ }
100
+ generateClearButtonLabel(filename) {
101
+ return functions.intl.formatMessage({
102
+ id: "file.clearErrorLabel",
103
+ defaultMessage: "Clear {fileName} error",
104
+ description: "Label for a button used to clear an error, including filename",
105
+ }, { fileName: filename });
106
+ }
107
+ componentWillLoad() {
108
+ const shadowRootHost = this.el.getRootNode().host;
109
+ if (shadowRootHost && shadowRootHost.nodeName === "WM-UPLOADER") {
110
+ if (shadowRootHost.type || shadowRootHost.uploaderType) {
111
+ this.isWithinLegacyUploader = true;
112
+ }
113
+ }
114
+ // rerender on resize in case layout needs to change
115
+ const resizeObserver = new ResizeObserver(() => this.debouncedResize());
116
+ resizeObserver.observe(this.el);
117
+ }
118
+ componentDidRender() {
119
+ this.truncateFileName(this.el.shadowRoot.querySelector(".file"));
120
+ }
121
+ previewFile(file) {
122
+ this.wmIntFilePreviewed.emit(file.id);
123
+ }
124
+ downloadFile(file) {
125
+ this.wmIntFileDownloaded.emit(file.id);
126
+ }
127
+ deleteFile(file) {
128
+ this.wmIntFileDeleted.emit(file.id);
129
+ }
130
+ truncateFileName(file) {
131
+ const leftGroup = file.querySelector(".left-group");
132
+ const leftBoundary = leftGroup.getBoundingClientRect().left;
133
+ const rightGroup = file.querySelector(".right-group");
134
+ const rightBoundary = rightGroup
135
+ ? rightGroup.getBoundingClientRect().left
136
+ : file.getBoundingClientRect().right - 20;
137
+ const filenameEl = file.querySelector(".filename");
138
+ const availableSpace = rightBoundary - leftBoundary;
139
+ let filename = filenameEl.dataset.filename;
140
+ const canFitText = availableSpace > filename.length * this.singleCharacterWidth;
141
+ if (!canFitText) {
142
+ const extension = filename.slice(filename.lastIndexOf("."));
143
+ const numFittingCharacters = Math.floor(availableSpace / this.singleCharacterWidth);
144
+ // three ellipses, three constant characters, extension
145
+ const postEllipsesLength = 3 + 3 + extension.length;
146
+ let preEllipsesLength = Math.max(2, numFittingCharacters - postEllipsesLength);
147
+ const preEllipsesText = filename.slice(0, preEllipsesLength);
148
+ const postEllipsesText = filename.slice(filename.indexOf(extension) - 3, filename.length);
149
+ filename = `${preEllipsesText.trim()}...${postEllipsesText.trim()}`;
150
+ }
151
+ filenameEl.textContent = filename;
152
+ }
153
+ handleFilenameMouseEnter(ev, filename) {
154
+ // only show tooltip if file name is being truncated (has ellipses)
155
+ if (ev.target.textContent.includes("...")) {
156
+ functions.showTooltip("bottom", ev.target, filename);
157
+ }
158
+ }
159
+ renderFileName(filename, isUploading) {
160
+ return (index.h("div", { class: "left-group" }, index.h("div", { class: "name-wrapper" }, index.h("span", { class: "sr-only" }, filename), index.h("span", { "aria-hidden": "true", class: "filename", "data-filename": filename, onMouseEnter: (ev) => this.handleFilenameMouseEnter(ev, filename), onMouseLeave: () => functions.hideTooltip() }), isUploading && index.h("span", { class: "sr-only" }, "uploading"), index.h("div", { class: "ch-measure" }))));
161
+ }
162
+ renderFileInfo(item, showInfo) {
163
+ let displayedInfo = "";
164
+ if (showInfo === "time" && item.lastUpdated) {
165
+ displayedInfo = item.lastUpdated;
166
+ }
167
+ else if (showInfo === "size" && item.size) {
168
+ displayedInfo = item.size;
169
+ }
170
+ return index.h("div", { class: "file-info" }, displayedInfo);
171
+ }
172
+ renderActionMenu(item) {
173
+ const defaultFileActions = "download delete";
174
+ const availableActions = item.fileActions || defaultFileActions;
175
+ const previewItem = (index.h("wm-menuitem", { icon: "f208", onClick: () => this.previewFile(item) }, this.previewActionMessage));
176
+ const downloadItem = (index.h("wm-menuitem", { icon: "f1da", onClick: () => this.downloadFile(item) }, this.downloadActionMessage));
177
+ const deleteItem = (index.h("wm-menuitem", { icon: "f1c0", onClick: () => this.deleteFile(item) }, this.deleteActionMessage));
178
+ return (index.h("wm-action-menu", { "action-menu-type": "icon", tooltip: this.actionMenuLabel, "tooltip-position": "bottom", "label-for-identical-buttons": `${item.name} ${this.actionMenuLabel}` }, availableActions.includes("preview") && previewItem, availableActions.includes("download") && downloadItem, availableActions.includes("delete") && deleteItem));
179
+ }
180
+ renderFileActionButtons(item) {
181
+ const defaultFileActions = "download delete";
182
+ const availableActions = item.fileActions || defaultFileActions;
183
+ const previewButton = (index.h("wm-button", { class: "preview-button", "button-type": "icononly", tooltip: this.previewButtonTooltip, "tooltip-position": "bottom", "label-for-identical-buttons": `preview ${item.name}`, icon: "f208", onClick: () => this.previewFile(item) }));
184
+ const downloadButton = (index.h("wm-button", { class: "download-button", "button-type": "icononly", tooltip: this.downloadButtonTooltip, "tooltip-position": "bottom", "label-for-identical-buttons": `download ${item.name}`, icon: "f1da", onClick: () => this.downloadFile(item) }));
185
+ const deleteButton = (index.h("wm-button", { class: "delete-button", "button-type": "icononly", tooltip: this.deleteButtonTooltip, "tooltip-position": "bottom", "label-for-identical-buttons": `delete ${item.name}`, icon: "f1c0", onClick: () => this.deleteFile(item) }));
186
+ return (index.h("div", { class: "file-controls" }, availableActions.includes("preview") && previewButton, availableActions.includes("download") && downloadButton, availableActions.includes("delete") && deleteButton));
187
+ }
188
+ renderFileInProgress(item) {
189
+ const filename = item.type ? `${item.name}.${item.type}` : item.name;
190
+ return (index.h("div", { class: "file-wrapper" }, index.h("div", { class: "file --progress" }, index.h("div", { class: "progress", style: {
191
+ background: `linear-gradient(to right, rgba(67, 126, 142, 1) ${item.progress}%, transparent ${item.progress}%)`,
192
+ } }), this.renderFileName(filename, this.isUploading))));
193
+ }
194
+ renderFileControls(item) {
195
+ const hasSingleFileAction = item.fileActions && item.fileActions.split(" ").length === 1;
196
+ const showActionMenu = this.isCondensed && !hasSingleFileAction;
197
+ return showActionMenu ? this.renderActionMenu(item) : this.renderFileActionButtons(item);
198
+ }
199
+ renderFile(item) {
200
+ const filename = item.type ? `${item.name}.${item.type}` : item.name;
201
+ const showCheckmark = !this.isWithinLegacyUploader && item.progress === 100;
202
+ return (index.h("div", { class: `file-wrapper ${showCheckmark ? "checked" : ""}` }, index.h("div", { class: `file ${this.errorMessage ? "--error" : ""}` }, this.renderFileName(filename, this.isUploading), !this.errorMessage && (index.h("div", { class: `right-group ${this.isCondensed ? "condensed" : ""}` }, this.showInfo !== "none" && this.renderFileInfo(item, this.showInfo), item.fileActions !== "" && this.renderFileControls(item))), this.errorMessage && (index.h("wm-button", { "permanently-delete": true, "button-type": "textonly", "label-for-identical-buttons": this.generateClearButtonLabel(item.name), onClick: () => this.wmFileClearErrorClicked.emit({ name: item.name }) }, this.clearButtonText))), this.errorMessage && index.h("div", { class: "error-message" }, this.errorMessage)));
203
+ }
204
+ render() {
205
+ return (index.h(index.Host, { role: "listitem" }, this.isUploading ? this.renderFileInProgress(this.fileData) : this.renderFile(this.fileData)));
206
+ }
207
+ static get delegatesFocus() { return true; }
208
+ get el() { return index.getElement(this); }
209
+ };
210
210
  File.style = wmFileCss;
211
211
 
212
212
  exports.wm_file = File;
@@ -1 +1 @@
1
- {"file":"wm-file.entry.cjs.js","mappings":";;;;;;;AAAA,MAAM,SAAS,GAAG,i1DAAi1D;;MCSt1D,IAAI;;;;;;;;;IAYP,2BAAsB,GAAY,KAAK,CAAC;IAiHhD,oBAAe,GAAGA,kBAAQ,CAAC;MACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,GAAG,GAAG,CAAC;;MAE7CC,iBAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACtB,EAAE,EAAE,CAAC,CAAC;;oBA9HsC,MAAM;;uBAEnB,KAAK;;EASrC,IAAI,QAAQ;IACV,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;;IAGpD,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;MACjG,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;KACpD;IACD,OAAO,IAAI,CAAC;GACb;EAED,IAAI,WAAW;IACb,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAS,GAAG,GAAG,CAAC;GACnG;EAED,IAAI,oBAAoB;IACtB,OAAO,IAAI,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,aAAa,CAAE,CAAC,WAAW,CAAC;GACtE;EAED,IAAI,oBAAoB;IACtB,OAAOC,cAAI,CAAC,aAAa,CAAC;MACxB,EAAE,EAAE,2BAA2B;MAC/B,cAAc,EAAE,SAAS;MACzB,WAAW,EAAE,0DAA0D;KACxE,CAAC,CAAC;GACJ;EAED,IAAI,qBAAqB;IACvB,OAAOA,cAAI,CAAC,aAAa,CAAC;MACxB,EAAE,EAAE,4BAA4B;MAChC,cAAc,EAAE,UAAU;MAC1B,WAAW,EAAE,2DAA2D;KACzE,CAAC,CAAC;GACJ;EAED,IAAI,mBAAmB;IACrB,OAAOA,cAAI,CAAC,aAAa,CAAC;MACxB,EAAE,EAAE,0BAA0B;MAC9B,cAAc,EAAE,QAAQ;MACxB,WAAW,EAAE,wDAAwD;KACtE,CAAC,CAAC;GACJ;EAED,IAAI,oBAAoB;IACtB,OAAOA,cAAI,CAAC,aAAa,CAAC;MACxB,EAAE,EAAE,oBAAoB;MACxB,cAAc,EAAE,cAAc;MAC9B,WAAW,EAAE,wDAAwD;KACtE,CAAC,CAAC;GACJ;EAED,IAAI,qBAAqB;IACvB,OAAOA,cAAI,CAAC,aAAa,CAAC;MACxB,EAAE,EAAE,qBAAqB;MACzB,cAAc,EAAE,eAAe;MAC/B,WAAW,EAAE,yDAAyD;KACvE,CAAC,CAAC;GACJ;EAED,IAAI,mBAAmB;IACrB,OAAOA,cAAI,CAAC,aAAa,CAAC;MACxB,EAAE,EAAE,mBAAmB;MACvB,cAAc,EAAE,aAAa;MAC7B,WAAW,EAAE,qDAAqD;KACnE,CAAC,CAAC;GACJ;EAED,IAAI,eAAe;IACjB,OAAOA,cAAI,CAAC,aAAa,CAAC;MACxB,EAAE,EAAE,sBAAsB;MAC1B,cAAc,EAAE,SAAS;MACzB,WAAW,EAAE,qDAAqD;KACnE,CAAC,CAAC;GACJ;EAED,IAAI,eAAe;IACjB,OAAOA,cAAI,CAAC,aAAa,CAAC;MACxB,EAAE,EAAE,qBAAqB;MACzB,cAAc,EAAE,OAAO;MACvB,WAAW,EAAE,0CAA0C;KACxD,CAAC,CAAC;GACJ;EAED,wBAAwB,CAAC,QAAgB;IACvC,OAAOA,cAAI,CAAC,aAAa,CACvB;MACE,EAAE,EAAE,sBAAsB;MAC1B,cAAc,EAAE,wBAAwB;MACxC,WAAW,EAAE,+DAA+D;KAC7E,EACD,EAAE,QAAQ,EAAE,QAAQ,EAAE,CACvB,CAAC;GACH;EAED,iBAAiB;IACf,MAAM,cAAc,GAAI,IAAI,CAAC,EAAE,CAAC,WAAW,EAAiB,CAAC,IAAI,CAAC;IAElE,IAAI,cAAc,IAAI,cAAc,CAAC,QAAQ,KAAK,aAAa,EAAE;MAC/D,IAAK,cAAwC,CAAC,IAAI,IAAK,cAAwC,CAAC,YAAY,EAAE;QAC5G,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;OACpC;KACF;;IAGD,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACxE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;GACjC;EAED,kBAAkB;IAChB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,CAAC;GACpE;EAQD,WAAW,CAAC,IAAkB;IAC5B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;GACvC;EAED,YAAY,CAAC,IAAkB;IAC7B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;GACxC;EAED,UAAU,CAAC,IAAkB;IAC3B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;GACrC;EAED,gBAAgB,CAAC,IAAa;IAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,SAAU,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC;IAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,UAAU;QAC5B,UAAU,CAAC,qBAAqB,EAAE,CAAC,IAAI;QACvC,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAgB,CAAC;IAClE,MAAM,cAAc,GAAG,aAAa,GAAG,YAAY,CAAC;IAEpD,IAAI,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,QAAS,CAAC;IAC5C,MAAM,UAAU,GAAG,cAAc,GAAG,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC;IAEhF,IAAI,CAAC,UAAU,EAAE;MACf,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;MAC5D,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC;;MAGpF,MAAM,kBAAkB,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;MACpD,IAAI,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,GAAG,kBAAkB,CAAC,CAAC;MAC/E,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;MAC7D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;MAC1F,QAAQ,GAAG,GAAG,eAAe,CAAC,IAAI,EAAE,MAAM,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;KACrE;IAED,UAAU,CAAC,WAAW,GAAG,QAAQ,CAAC;GACnC;EAED,wBAAwB,CAAC,EAAc,EAAE,QAAgB;;IAEvD,IAAK,EAAE,CAAC,MAAsB,CAAC,WAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;MAC3DC,qBAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAqB,EAAE,QAAQ,CAAC,CAAC;KAC3D;GACF;EAED,cAAc,CAAC,QAAgB,EAAE,WAAoB;IACnD,QACEC,iBAAK,KAAK,EAAC,YAAY,IACrBA,iBAAK,KAAK,EAAC,cAAc,IACvBA,kBAAM,KAAK,EAAC,SAAS,IAAE,QAAQ,CAAQ,EACvCA,iCACc,MAAM,EAClB,KAAK,EAAC,UAAU,mBACD,QAAQ,EACvB,YAAY,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,wBAAwB,CAAC,EAAE,EAAE,QAAQ,CAAC,EACjE,YAAY,EAAE,MAAMC,qBAAW,EAAE,GAC3B,EACP,WAAW,IAAID,kBAAM,KAAK,EAAC,SAAS,gBAAiB,EACtDA,iBAAK,KAAK,EAAC,YAAY,GAAO,CAC1B,CACF,EACN;GACH;EAED,cAAc,CAAC,IAAkB,EAAE,QAAgB;IACjD,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,QAAQ,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE;MAC3C,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC;KAClC;SAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE;MAC3C,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC;KAC3B;IAED,OAAOA,iBAAK,KAAK,EAAC,WAAW,IAAE,aAAa,CAAO,CAAC;GACrD;EAED,gBAAgB,CAAC,IAAkB;IACjC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;IAC7C,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,IAAI,kBAAkB,CAAC;IAChE,MAAM,WAAW,IACfA,yBAAa,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAC3D,IAAI,CAAC,oBAAoB,CACd,CACf,CAAC;IACF,MAAM,YAAY,IAChBA,yBAAa,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAC5D,IAAI,CAAC,qBAAqB,CACf,CACf,CAAC;IACF,MAAM,UAAU,IACdA,yBAAa,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAC1D,IAAI,CAAC,mBAAmB,CACb,CACf,CAAC;IACF,QACEA,gDACmB,MAAM,EACvB,OAAO,EAAE,IAAI,CAAC,eAAe,sBACZ,QAAQ,iCACI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE,IAElE,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,WAAW,EACnD,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,YAAY,EACrD,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CACnC,EACjB;GACH;EAED,uBAAuB,CAAC,IAAkB;IACxC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;IAC7C,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,IAAI,kBAAkB,CAAC;IAEhE,MAAM,aAAa,IACjBA,uBACE,KAAK,EAAC,gBAAgB,iBACV,UAAU,EACtB,OAAO,EAAE,IAAI,CAAC,oBAAoB,sBACjB,QAAQ,iCACI,WAAW,IAAI,CAAC,IAAI,EAAE,EACnD,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAC1B,CACd,CAAC;IACF,MAAM,cAAc,IAClBA,uBACE,KAAK,EAAC,iBAAiB,iBACX,UAAU,EACtB,OAAO,EAAE,IAAI,CAAC,qBAAqB,sBAClB,QAAQ,iCACI,YAAY,IAAI,CAAC,IAAI,EAAE,EACpD,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAC3B,CACd,CAAC;IACF,MAAM,YAAY,IAChBA,uBACE,KAAK,EAAC,eAAe,iBACT,UAAU,EACtB,OAAO,EAAE,IAAI,CAAC,mBAAmB,sBAChB,QAAQ,iCACI,UAAU,IAAI,CAAC,IAAI,EAAE,EAClD,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GACzB,CACd,CAAC;IAEF,QACEA,iBAAK,KAAK,EAAC,eAAe,IACvB,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,aAAa,EACrD,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,cAAc,EACvD,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,YAAY,CAChD,EACN;GACH;EAED,oBAAoB,CAAC,IAAkB;IACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;IACrE,QACEA,iBAAK,KAAK,EAAC,cAAc,IACvBA,iBAAK,KAAK,EAAC,iBAAiB,IAC1BA,iBACE,KAAK,EAAC,UAAU,EAChB,KAAK,EAAE;QACL,UAAU,EAAE,mDAAmD,IAAI,CAAC,QAAQ,kBAAkB,IAAI,CAAC,QAAQ,IAAI;OAChH,GACI,EACN,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAC5C,CACF,EACN;GACH;EAED,kBAAkB,CAAC,IAAkB;IACnC,MAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IACzF,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,mBAAmB,CAAC;IAEhE,OAAO,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;GAC1F;EAED,UAAU,CAAC,IAAkB;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;IACrE,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC;IAE5E,QACEA,iBAAK,KAAK,EAAE,gBAAgB,aAAa,GAAG,SAAS,GAAG,EAAE,EAAE,IAC1DA,iBAAK,KAAK,EAAE,QAAQ,IAAI,CAAC,YAAY,GAAG,SAAS,GAAG,EAAE,EAAE,IACrD,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EAC/C,CAAC,IAAI,CAAC,YAAY,KACjBA,iBAAK,KAAK,EAAE,eAAe,IAAI,CAAC,WAAW,GAAG,WAAW,GAAG,EAAE,EAAE,IAC7D,IAAI,CAAC,QAAQ,KAAK,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EACpE,IAAI,CAAC,WAAW,KAAK,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CACrD,CACP,EACA,IAAI,CAAC,YAAY,KAChBA,kEAEc,UAAU,iCACO,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EACrE,OAAO,EAAE,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,IAEpE,IAAI,CAAC,eAAe,CACX,CACb,CACG,EACL,IAAI,CAAC,YAAY,IAAIA,iBAAK,KAAK,EAAC,eAAe,IAAE,IAAI,CAAC,YAAY,CAAO,CACtE,EACN;GACH;EAED,MAAM;IACJ,QACEA,QAACE,UAAI,IAAC,IAAI,EAAC,UAAU,IAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxF,EACP;GACH;;;;;;;;","names":["debounce","forceUpdate","intl","showTooltip","h","hideTooltip","Host"],"sources":["./src/components/wm-file/wm-file.scss?tag=wm-file&encapsulation=shadow","./src/components/wm-file/wm-file.tsx"],"sourcesContent":[":host,\r\nwm-file {\r\n display: block;\r\n width: 100%;\r\n}\r\n.file-wrapper {\r\n font-size: rem-calc(14);\r\n position: relative;\r\n list-style: none;\r\n\r\n .file {\r\n min-width: 300px;\r\n @include border-radius(3px);\r\n height: rem-calc(56);\r\n padding: 0 rem-calc(20);\r\n position: relative; // for progress bar\r\n background: $background;\r\n border: 1px solid rgb(107, 107, 107);\r\n\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n\r\n .filename {\r\n white-space: nowrap;\r\n }\r\n\r\n .left-group {\r\n overflow: hidden;\r\n }\r\n\r\n .right-group {\r\n display: flex;\r\n align-items: center;\r\n padding-left: rem-calc(80);\r\n gap: rem-calc(16);\r\n\r\n &.condensed {\r\n padding-left: rem-calc(40);\r\n }\r\n\r\n .file-controls {\r\n display: flex;\r\n gap: rem-calc(16);\r\n }\r\n .file-info {\r\n white-space: nowrap;\r\n }\r\n }\r\n\r\n &.--error {\r\n border: 1px solid $error-color;\r\n background-color: #f5ebea;\r\n height: rem-calc(60);\r\n }\r\n }\r\n\r\n &.checked {\r\n .file:after {\r\n @include mdi-icon;\r\n content: \"\\f133\";\r\n position: absolute;\r\n right: calc(-16px + -28px);\r\n color: $uploader-checkmark-background;\r\n font-size: 28px;\r\n line-height: 1;\r\n }\r\n }\r\n}\r\n\r\n.name-wrapper {\r\n overflow: hidden;\r\n}\r\n\r\n.progress {\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n right: 0;\r\n height: 8px;\r\n}\r\n\r\n.error-message {\r\n @include errorMessage;\r\n}\r\n\r\n.sr-only {\r\n @include srOnly;\r\n}\r\n\r\n.ch-measure {\r\n // used to get the measurement of a single character, for truncation calculations\r\n width: 1ch !important;\r\n visibility: hidden;\r\n}\r\n","import { h, Component, Element, Event, EventEmitter, Prop, State, Host, forceUpdate } from \"@stencil/core\";\r\nimport { debounce, hideTooltip, intl, showTooltip } from \"../../global/functions\";\r\nimport { UploadedFile } from \"../../global/interfaces\";\r\n\r\n@Component({\r\n tag: \"wm-file\",\r\n styleUrl: \"wm-file.scss\",\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class File {\r\n @Element() el!: HTMLWmFileElement;\r\n @Prop() file?: string;\r\n @Prop() showInfo: \"time\" | \"size\" | \"none\" = \"time\";\r\n @Prop() errorMessage?: string;\r\n @State() isCondensed: boolean = false;\r\n @Event() wmIntFilePreviewed!: EventEmitter<string>;\r\n @Event() wmIntFileDownloaded!: EventEmitter<string>;\r\n @Event() wmIntFileDeleted!: EventEmitter<string>;\r\n @Event() wmFileClearErrorClicked!: EventEmitter; // undocumented event, for communication with wm-uploader\r\n // the file component is used within wm-uploader, which still includes legacy types 1 and 2\r\n // some new features are not included in these legacy types, and must use the below in conditions\r\n private isWithinLegacyUploader: boolean = false;\r\n\r\n get fileData(): UploadedFile {\r\n let data = this.file ? JSON.parse(this.file) : null;\r\n\r\n // sometimes JSON numbers can be received as strings, make sure progress is always a number\r\n if (data && data.progress && typeof data.progress === \"string\" && data.progress.match(/^[0-9]+$/)) {\r\n data.progress = parseInt(data.progress.toString());\r\n }\r\n return data;\r\n }\r\n\r\n get isUploading(): boolean {\r\n return this.fileData && this.fileData.hasOwnProperty(\"progress\") && this.fileData.progress! < 100;\r\n }\r\n\r\n get singleCharacterWidth() {\r\n return this.el.shadowRoot!.querySelector(\".ch-measure\")!.clientWidth;\r\n }\r\n\r\n get previewButtonTooltip() {\r\n return intl.formatMessage({\r\n id: \"file.previewButtonTooltip\",\r\n defaultMessage: \"Preview\",\r\n description: \"Tooltip of a button that triggers a file to be previewed\",\r\n });\r\n }\r\n\r\n get downloadButtonTooltip() {\r\n return intl.formatMessage({\r\n id: \"file.downloadButtonTooltip\",\r\n defaultMessage: \"Download\",\r\n description: \"Tooltip of a button that triggers a file to be downloaded\",\r\n });\r\n }\r\n\r\n get deleteButtonTooltip() {\r\n return intl.formatMessage({\r\n id: \"file.deleteButtonTooltip\",\r\n defaultMessage: \"Delete\",\r\n description: \"Tooltip of a button that triggers a file to be deleted\",\r\n });\r\n }\r\n\r\n get previewActionMessage() {\r\n return intl.formatMessage({\r\n id: \"file.previewAction\",\r\n defaultMessage: \"Preview File\",\r\n description: \"Label of a button that triggers a file to be previewed\",\r\n });\r\n }\r\n\r\n get downloadActionMessage() {\r\n return intl.formatMessage({\r\n id: \"file.downloadAction\",\r\n defaultMessage: \"Download File\",\r\n description: \"Label of a button that triggers a file to be downloaded\",\r\n });\r\n }\r\n\r\n get deleteActionMessage() {\r\n return intl.formatMessage({\r\n id: \"file.deleteAction\",\r\n defaultMessage: \"Delete File\",\r\n description: \"Label of a button that triggers a file to be delete\",\r\n });\r\n }\r\n\r\n get actionMenuLabel() {\r\n return intl.formatMessage({\r\n id: \"file.actionMenuLabel\",\r\n defaultMessage: \"Actions\",\r\n description: \"Label of a button that opens a menu of file actions\",\r\n });\r\n }\r\n\r\n get clearButtonText() {\r\n return intl.formatMessage({\r\n id: \"file.clearErrorText\",\r\n defaultMessage: \"Clear\",\r\n description: \"Text for a button used to clear an error\",\r\n });\r\n }\r\n\r\n generateClearButtonLabel(filename: string) {\r\n return intl.formatMessage(\r\n {\r\n id: \"file.clearErrorLabel\",\r\n defaultMessage: \"Clear {fileName} error\",\r\n description: \"Label for a button used to clear an error, including filename\",\r\n },\r\n { fileName: filename }\r\n );\r\n }\r\n\r\n componentWillLoad() {\r\n const shadowRootHost = (this.el.getRootNode() as ShadowRoot).host;\r\n\r\n if (shadowRootHost && shadowRootHost.nodeName === \"WM-UPLOADER\") {\r\n if ((shadowRootHost as HTMLWmUploaderElement).type || (shadowRootHost as HTMLWmUploaderElement).uploaderType) {\r\n this.isWithinLegacyUploader = true;\r\n }\r\n }\r\n\r\n // rerender on resize in case layout needs to change\r\n const resizeObserver = new ResizeObserver(() => this.debouncedResize());\r\n resizeObserver.observe(this.el);\r\n }\r\n\r\n componentDidRender() {\r\n this.truncateFileName(this.el.shadowRoot!.querySelector(\".file\")!);\r\n }\r\n\r\n debouncedResize = debounce(() => {\r\n this.isCondensed = this.el.clientWidth < 500;\r\n // rerender to show filename truncation changes\r\n forceUpdate(this.el);\r\n }, 50);\r\n\r\n previewFile(file: UploadedFile) {\r\n this.wmIntFilePreviewed.emit(file.id);\r\n }\r\n\r\n downloadFile(file: UploadedFile) {\r\n this.wmIntFileDownloaded.emit(file.id);\r\n }\r\n\r\n deleteFile(file: UploadedFile) {\r\n this.wmIntFileDeleted.emit(file.id);\r\n }\r\n\r\n truncateFileName(file: Element) {\r\n const leftGroup = file.querySelector(\".left-group\");\r\n const leftBoundary = leftGroup!.getBoundingClientRect().left;\r\n const rightGroup = file.querySelector(\".right-group\");\r\n const rightBoundary = rightGroup\r\n ? rightGroup.getBoundingClientRect().left\r\n : file.getBoundingClientRect().right - 20;\r\n const filenameEl = file.querySelector(\".filename\") as HTMLElement;\r\n const availableSpace = rightBoundary - leftBoundary;\r\n\r\n let filename = filenameEl.dataset.filename!;\r\n const canFitText = availableSpace > filename.length * this.singleCharacterWidth;\r\n\r\n if (!canFitText) {\r\n const extension = filename.slice(filename.lastIndexOf(\".\"));\r\n const numFittingCharacters = Math.floor(availableSpace / this.singleCharacterWidth);\r\n\r\n // three ellipses, three constant characters, extension\r\n const postEllipsesLength = 3 + 3 + extension.length;\r\n let preEllipsesLength = Math.max(2, numFittingCharacters - postEllipsesLength);\r\n const preEllipsesText = filename.slice(0, preEllipsesLength);\r\n const postEllipsesText = filename.slice(filename.indexOf(extension) - 3, filename.length);\r\n filename = `${preEllipsesText.trim()}...${postEllipsesText.trim()}`;\r\n }\r\n\r\n filenameEl.textContent = filename;\r\n }\r\n\r\n handleFilenameMouseEnter(ev: MouseEvent, filename: string) {\r\n // only show tooltip if file name is being truncated (has ellipses)\r\n if ((ev.target as HTMLElement).textContent!.includes(\"...\")) {\r\n showTooltip(\"bottom\", ev.target as HTMLElement, filename);\r\n }\r\n }\r\n\r\n renderFileName(filename: string, isUploading: boolean) {\r\n return (\r\n <div class=\"left-group\">\r\n <div class=\"name-wrapper\">\r\n <span class=\"sr-only\">{filename}</span>\r\n <span\r\n aria-hidden=\"true\"\r\n class=\"filename\"\r\n data-filename={filename}\r\n onMouseEnter={(ev) => this.handleFilenameMouseEnter(ev, filename)}\r\n onMouseLeave={() => hideTooltip()}\r\n ></span>\r\n {isUploading && <span class=\"sr-only\">uploading</span>}\r\n <div class=\"ch-measure\"></div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n renderFileInfo(item: UploadedFile, showInfo: string) {\r\n let displayedInfo = \"\";\r\n if (showInfo === \"time\" && item.lastUpdated) {\r\n displayedInfo = item.lastUpdated;\r\n } else if (showInfo === \"size\" && item.size) {\r\n displayedInfo = item.size;\r\n }\r\n\r\n return <div class=\"file-info\">{displayedInfo}</div>;\r\n }\r\n\r\n renderActionMenu(item: UploadedFile) {\r\n const defaultFileActions = \"download delete\";\r\n const availableActions = item.fileActions || defaultFileActions;\r\n const previewItem = (\r\n <wm-menuitem icon=\"f208\" onClick={() => this.previewFile(item)}>\r\n {this.previewActionMessage}\r\n </wm-menuitem>\r\n );\r\n const downloadItem = (\r\n <wm-menuitem icon=\"f1da\" onClick={() => this.downloadFile(item)}>\r\n {this.downloadActionMessage}\r\n </wm-menuitem>\r\n );\r\n const deleteItem = (\r\n <wm-menuitem icon=\"f1c0\" onClick={() => this.deleteFile(item)}>\r\n {this.deleteActionMessage}\r\n </wm-menuitem>\r\n );\r\n return (\r\n <wm-action-menu\r\n action-menu-type=\"icon\"\r\n tooltip={this.actionMenuLabel}\r\n tooltip-position=\"bottom\"\r\n label-for-identical-buttons={`${item.name} ${this.actionMenuLabel}`}\r\n >\r\n {availableActions.includes(\"preview\") && previewItem}\r\n {availableActions.includes(\"download\") && downloadItem}\r\n {availableActions.includes(\"delete\") && deleteItem}\r\n </wm-action-menu>\r\n );\r\n }\r\n\r\n renderFileActionButtons(item: UploadedFile) {\r\n const defaultFileActions = \"download delete\";\r\n const availableActions = item.fileActions || defaultFileActions;\r\n\r\n const previewButton = (\r\n <wm-button\r\n class=\"preview-button\"\r\n button-type=\"icononly\"\r\n tooltip={this.previewButtonTooltip}\r\n tooltip-position=\"bottom\"\r\n label-for-identical-buttons={`preview ${item.name}`}\r\n icon=\"f208\"\r\n onClick={() => this.previewFile(item)}\r\n ></wm-button>\r\n );\r\n const downloadButton = (\r\n <wm-button\r\n class=\"download-button\"\r\n button-type=\"icononly\"\r\n tooltip={this.downloadButtonTooltip}\r\n tooltip-position=\"bottom\"\r\n label-for-identical-buttons={`download ${item.name}`}\r\n icon=\"f1da\"\r\n onClick={() => this.downloadFile(item)}\r\n ></wm-button>\r\n );\r\n const deleteButton = (\r\n <wm-button\r\n class=\"delete-button\"\r\n button-type=\"icononly\"\r\n tooltip={this.deleteButtonTooltip}\r\n tooltip-position=\"bottom\"\r\n label-for-identical-buttons={`delete ${item.name}`}\r\n icon=\"f1c0\"\r\n onClick={() => this.deleteFile(item)}\r\n ></wm-button>\r\n );\r\n\r\n return (\r\n <div class=\"file-controls\">\r\n {availableActions.includes(\"preview\") && previewButton}\r\n {availableActions.includes(\"download\") && downloadButton}\r\n {availableActions.includes(\"delete\") && deleteButton}\r\n </div>\r\n );\r\n }\r\n\r\n renderFileInProgress(item: UploadedFile) {\r\n const filename = item.type ? `${item.name}.${item.type}` : item.name;\r\n return (\r\n <div class=\"file-wrapper\">\r\n <div class=\"file --progress\">\r\n <div\r\n class=\"progress\"\r\n style={{\r\n background: `linear-gradient(to right, rgba(67, 126, 142, 1) ${item.progress}%, transparent ${item.progress}%)`,\r\n }}\r\n ></div>\r\n {this.renderFileName(filename, this.isUploading)}\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n renderFileControls(item: UploadedFile) {\r\n const hasSingleFileAction = item.fileActions && item.fileActions.split(\" \").length === 1;\r\n const showActionMenu = this.isCondensed && !hasSingleFileAction;\r\n\r\n return showActionMenu ? this.renderActionMenu(item) : this.renderFileActionButtons(item);\r\n }\r\n\r\n renderFile(item: UploadedFile) {\r\n const filename = item.type ? `${item.name}.${item.type}` : item.name;\r\n const showCheckmark = !this.isWithinLegacyUploader && item.progress === 100;\r\n\r\n return (\r\n <div class={`file-wrapper ${showCheckmark ? \"checked\" : \"\"}`}>\r\n <div class={`file ${this.errorMessage ? \"--error\" : \"\"}`}>\r\n {this.renderFileName(filename, this.isUploading)}\r\n {!this.errorMessage && (\r\n <div class={`right-group ${this.isCondensed ? \"condensed\" : \"\"}`}>\r\n {this.showInfo !== \"none\" && this.renderFileInfo(item, this.showInfo)}\r\n {item.fileActions !== \"\" && this.renderFileControls(item)}\r\n </div>\r\n )}\r\n {this.errorMessage && (\r\n <wm-button\r\n permanently-delete\r\n button-type=\"textonly\"\r\n label-for-identical-buttons={this.generateClearButtonLabel(item.name)}\r\n onClick={() => this.wmFileClearErrorClicked.emit({ name: item.name })}\r\n >\r\n {this.clearButtonText}\r\n </wm-button>\r\n )}\r\n </div>\r\n {this.errorMessage && <div class=\"error-message\">{this.errorMessage}</div>}\r\n </div>\r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n <Host role=\"listitem\">\r\n {this.isUploading ? this.renderFileInProgress(this.fileData) : this.renderFile(this.fileData)}\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"wm-file.entry.cjs.js","mappings":"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","names":["debounce","forceUpdate","intl","showTooltip","h","hideTooltip","Host"],"sources":["./src/components/wm-file/wm-file.scss?tag=wm-file&encapsulation=shadow","./src/components/wm-file/wm-file.tsx"],"sourcesContent":[":host,\nwm-file {\n display: block;\n width: 100%;\n}\n.file-wrapper {\n font-size: rem-calc(14);\n position: relative;\n list-style: none;\n\n .file {\n min-width: 300px;\n @include border-radius(3px);\n height: rem-calc(56);\n padding: 0 rem-calc(20);\n position: relative; // for progress bar\n background: $background;\n border: 1px solid rgb(107, 107, 107);\n\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n .filename {\n white-space: nowrap;\n }\n\n .left-group {\n overflow: hidden;\n }\n\n .right-group {\n display: flex;\n align-items: center;\n padding-left: rem-calc(80);\n gap: rem-calc(16);\n\n &.condensed {\n padding-left: rem-calc(40);\n }\n\n .file-controls {\n display: flex;\n gap: rem-calc(16);\n }\n .file-info {\n white-space: nowrap;\n }\n }\n\n &.--error {\n border: 1px solid $error-color;\n background-color: #f5ebea;\n height: rem-calc(60);\n }\n }\n\n &.checked {\n .file:after {\n @include mdi-icon;\n content: \"\\f133\";\n position: absolute;\n right: calc(-16px + -28px);\n color: $uploader-checkmark-background;\n font-size: 28px;\n line-height: 1;\n }\n }\n}\n\n.name-wrapper {\n overflow: hidden;\n}\n\n.progress {\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n height: 8px;\n}\n\n.error-message {\n @include errorMessage;\n}\n\n.sr-only {\n @include srOnly;\n}\n\n.ch-measure {\n // used to get the measurement of a single character, for truncation calculations\n width: 1ch !important;\n visibility: hidden;\n}\n","import { h, Component, Element, Event, EventEmitter, Prop, State, Host, forceUpdate } from \"@stencil/core\";\nimport { debounce, hideTooltip, intl, showTooltip } from \"../../global/functions\";\nimport { UploadedFile } from \"../../global/interfaces\";\n\n@Component({\n tag: \"wm-file\",\n styleUrl: \"wm-file.scss\",\n shadow: { delegatesFocus: true },\n})\nexport class File {\n @Element() el!: HTMLWmFileElement;\n @Prop() file?: string;\n @Prop() showInfo: \"time\" | \"size\" | \"none\" = \"time\";\n @Prop() errorMessage?: string;\n @State() isCondensed: boolean = false;\n @Event() wmIntFilePreviewed!: EventEmitter<string>;\n @Event() wmIntFileDownloaded!: EventEmitter<string>;\n @Event() wmIntFileDeleted!: EventEmitter<string>;\n @Event() wmFileClearErrorClicked!: EventEmitter; // undocumented event, for communication with wm-uploader\n // the file component is used within wm-uploader, which still includes legacy types 1 and 2\n // some new features are not included in these legacy types, and must use the below in conditions\n private isWithinLegacyUploader: boolean = false;\n\n get fileData(): UploadedFile {\n let data = this.file ? JSON.parse(this.file) : null;\n\n // sometimes JSON numbers can be received as strings, make sure progress is always a number\n if (data && data.progress && typeof data.progress === \"string\" && data.progress.match(/^[0-9]+$/)) {\n data.progress = parseInt(data.progress.toString());\n }\n return data;\n }\n\n get isUploading(): boolean {\n return this.fileData && this.fileData.hasOwnProperty(\"progress\") && this.fileData.progress! < 100;\n }\n\n get singleCharacterWidth() {\n return this.el.shadowRoot!.querySelector(\".ch-measure\")!.clientWidth;\n }\n\n get previewButtonTooltip() {\n return intl.formatMessage({\n id: \"file.previewButtonTooltip\",\n defaultMessage: \"Preview\",\n description: \"Tooltip of a button that triggers a file to be previewed\",\n });\n }\n\n get downloadButtonTooltip() {\n return intl.formatMessage({\n id: \"file.downloadButtonTooltip\",\n defaultMessage: \"Download\",\n description: \"Tooltip of a button that triggers a file to be downloaded\",\n });\n }\n\n get deleteButtonTooltip() {\n return intl.formatMessage({\n id: \"file.deleteButtonTooltip\",\n defaultMessage: \"Delete\",\n description: \"Tooltip of a button that triggers a file to be deleted\",\n });\n }\n\n get previewActionMessage() {\n return intl.formatMessage({\n id: \"file.previewAction\",\n defaultMessage: \"Preview File\",\n description: \"Label of a button that triggers a file to be previewed\",\n });\n }\n\n get downloadActionMessage() {\n return intl.formatMessage({\n id: \"file.downloadAction\",\n defaultMessage: \"Download File\",\n description: \"Label of a button that triggers a file to be downloaded\",\n });\n }\n\n get deleteActionMessage() {\n return intl.formatMessage({\n id: \"file.deleteAction\",\n defaultMessage: \"Delete File\",\n description: \"Label of a button that triggers a file to be delete\",\n });\n }\n\n get actionMenuLabel() {\n return intl.formatMessage({\n id: \"file.actionMenuLabel\",\n defaultMessage: \"Actions\",\n description: \"Label of a button that opens a menu of file actions\",\n });\n }\n\n get clearButtonText() {\n return intl.formatMessage({\n id: \"file.clearErrorText\",\n defaultMessage: \"Clear\",\n description: \"Text for a button used to clear an error\",\n });\n }\n\n generateClearButtonLabel(filename: string) {\n return intl.formatMessage(\n {\n id: \"file.clearErrorLabel\",\n defaultMessage: \"Clear {fileName} error\",\n description: \"Label for a button used to clear an error, including filename\",\n },\n { fileName: filename }\n );\n }\n\n componentWillLoad() {\n const shadowRootHost = (this.el.getRootNode() as ShadowRoot).host;\n\n if (shadowRootHost && shadowRootHost.nodeName === \"WM-UPLOADER\") {\n if ((shadowRootHost as HTMLWmUploaderElement).type || (shadowRootHost as HTMLWmUploaderElement).uploaderType) {\n this.isWithinLegacyUploader = true;\n }\n }\n\n // rerender on resize in case layout needs to change\n const resizeObserver = new ResizeObserver(() => this.debouncedResize());\n resizeObserver.observe(this.el);\n }\n\n componentDidRender() {\n this.truncateFileName(this.el.shadowRoot!.querySelector(\".file\")!);\n }\n\n debouncedResize = debounce(() => {\n this.isCondensed = this.el.clientWidth < 500;\n // rerender to show filename truncation changes\n forceUpdate(this.el);\n }, 50);\n\n previewFile(file: UploadedFile) {\n this.wmIntFilePreviewed.emit(file.id);\n }\n\n downloadFile(file: UploadedFile) {\n this.wmIntFileDownloaded.emit(file.id);\n }\n\n deleteFile(file: UploadedFile) {\n this.wmIntFileDeleted.emit(file.id);\n }\n\n truncateFileName(file: Element) {\n const leftGroup = file.querySelector(\".left-group\");\n const leftBoundary = leftGroup!.getBoundingClientRect().left;\n const rightGroup = file.querySelector(\".right-group\");\n const rightBoundary = rightGroup\n ? rightGroup.getBoundingClientRect().left\n : file.getBoundingClientRect().right - 20;\n const filenameEl = file.querySelector(\".filename\") as HTMLElement;\n const availableSpace = rightBoundary - leftBoundary;\n\n let filename = filenameEl.dataset.filename!;\n const canFitText = availableSpace > filename.length * this.singleCharacterWidth;\n\n if (!canFitText) {\n const extension = filename.slice(filename.lastIndexOf(\".\"));\n const numFittingCharacters = Math.floor(availableSpace / this.singleCharacterWidth);\n\n // three ellipses, three constant characters, extension\n const postEllipsesLength = 3 + 3 + extension.length;\n let preEllipsesLength = Math.max(2, numFittingCharacters - postEllipsesLength);\n const preEllipsesText = filename.slice(0, preEllipsesLength);\n const postEllipsesText = filename.slice(filename.indexOf(extension) - 3, filename.length);\n filename = `${preEllipsesText.trim()}...${postEllipsesText.trim()}`;\n }\n\n filenameEl.textContent = filename;\n }\n\n handleFilenameMouseEnter(ev: MouseEvent, filename: string) {\n // only show tooltip if file name is being truncated (has ellipses)\n if ((ev.target as HTMLElement).textContent!.includes(\"...\")) {\n showTooltip(\"bottom\", ev.target as HTMLElement, filename);\n }\n }\n\n renderFileName(filename: string, isUploading: boolean) {\n return (\n <div class=\"left-group\">\n <div class=\"name-wrapper\">\n <span class=\"sr-only\">{filename}</span>\n <span\n aria-hidden=\"true\"\n class=\"filename\"\n data-filename={filename}\n onMouseEnter={(ev) => this.handleFilenameMouseEnter(ev, filename)}\n onMouseLeave={() => hideTooltip()}\n ></span>\n {isUploading && <span class=\"sr-only\">uploading</span>}\n <div class=\"ch-measure\"></div>\n </div>\n </div>\n );\n }\n\n renderFileInfo(item: UploadedFile, showInfo: string) {\n let displayedInfo = \"\";\n if (showInfo === \"time\" && item.lastUpdated) {\n displayedInfo = item.lastUpdated;\n } else if (showInfo === \"size\" && item.size) {\n displayedInfo = item.size;\n }\n\n return <div class=\"file-info\">{displayedInfo}</div>;\n }\n\n renderActionMenu(item: UploadedFile) {\n const defaultFileActions = \"download delete\";\n const availableActions = item.fileActions || defaultFileActions;\n const previewItem = (\n <wm-menuitem icon=\"f208\" onClick={() => this.previewFile(item)}>\n {this.previewActionMessage}\n </wm-menuitem>\n );\n const downloadItem = (\n <wm-menuitem icon=\"f1da\" onClick={() => this.downloadFile(item)}>\n {this.downloadActionMessage}\n </wm-menuitem>\n );\n const deleteItem = (\n <wm-menuitem icon=\"f1c0\" onClick={() => this.deleteFile(item)}>\n {this.deleteActionMessage}\n </wm-menuitem>\n );\n return (\n <wm-action-menu\n action-menu-type=\"icon\"\n tooltip={this.actionMenuLabel}\n tooltip-position=\"bottom\"\n label-for-identical-buttons={`${item.name} ${this.actionMenuLabel}`}\n >\n {availableActions.includes(\"preview\") && previewItem}\n {availableActions.includes(\"download\") && downloadItem}\n {availableActions.includes(\"delete\") && deleteItem}\n </wm-action-menu>\n );\n }\n\n renderFileActionButtons(item: UploadedFile) {\n const defaultFileActions = \"download delete\";\n const availableActions = item.fileActions || defaultFileActions;\n\n const previewButton = (\n <wm-button\n class=\"preview-button\"\n button-type=\"icononly\"\n tooltip={this.previewButtonTooltip}\n tooltip-position=\"bottom\"\n label-for-identical-buttons={`preview ${item.name}`}\n icon=\"f208\"\n onClick={() => this.previewFile(item)}\n ></wm-button>\n );\n const downloadButton = (\n <wm-button\n class=\"download-button\"\n button-type=\"icononly\"\n tooltip={this.downloadButtonTooltip}\n tooltip-position=\"bottom\"\n label-for-identical-buttons={`download ${item.name}`}\n icon=\"f1da\"\n onClick={() => this.downloadFile(item)}\n ></wm-button>\n );\n const deleteButton = (\n <wm-button\n class=\"delete-button\"\n button-type=\"icononly\"\n tooltip={this.deleteButtonTooltip}\n tooltip-position=\"bottom\"\n label-for-identical-buttons={`delete ${item.name}`}\n icon=\"f1c0\"\n onClick={() => this.deleteFile(item)}\n ></wm-button>\n );\n\n return (\n <div class=\"file-controls\">\n {availableActions.includes(\"preview\") && previewButton}\n {availableActions.includes(\"download\") && downloadButton}\n {availableActions.includes(\"delete\") && deleteButton}\n </div>\n );\n }\n\n renderFileInProgress(item: UploadedFile) {\n const filename = item.type ? `${item.name}.${item.type}` : item.name;\n return (\n <div class=\"file-wrapper\">\n <div class=\"file --progress\">\n <div\n class=\"progress\"\n style={{\n background: `linear-gradient(to right, rgba(67, 126, 142, 1) ${item.progress}%, transparent ${item.progress}%)`,\n }}\n ></div>\n {this.renderFileName(filename, this.isUploading)}\n </div>\n </div>\n );\n }\n\n renderFileControls(item: UploadedFile) {\n const hasSingleFileAction = item.fileActions && item.fileActions.split(\" \").length === 1;\n const showActionMenu = this.isCondensed && !hasSingleFileAction;\n\n return showActionMenu ? this.renderActionMenu(item) : this.renderFileActionButtons(item);\n }\n\n renderFile(item: UploadedFile) {\n const filename = item.type ? `${item.name}.${item.type}` : item.name;\n const showCheckmark = !this.isWithinLegacyUploader && item.progress === 100;\n\n return (\n <div class={`file-wrapper ${showCheckmark ? \"checked\" : \"\"}`}>\n <div class={`file ${this.errorMessage ? \"--error\" : \"\"}`}>\n {this.renderFileName(filename, this.isUploading)}\n {!this.errorMessage && (\n <div class={`right-group ${this.isCondensed ? \"condensed\" : \"\"}`}>\n {this.showInfo !== \"none\" && this.renderFileInfo(item, this.showInfo)}\n {item.fileActions !== \"\" && this.renderFileControls(item)}\n </div>\n )}\n {this.errorMessage && (\n <wm-button\n permanently-delete\n button-type=\"textonly\"\n label-for-identical-buttons={this.generateClearButtonLabel(item.name)}\n onClick={() => this.wmFileClearErrorClicked.emit({ name: item.name })}\n >\n {this.clearButtonText}\n </wm-button>\n )}\n </div>\n {this.errorMessage && <div class=\"error-message\">{this.errorMessage}</div>}\n </div>\n );\n }\n\n render() {\n return (\n <Host role=\"listitem\">\n {this.isUploading ? this.renderFileInProgress(this.fileData) : this.renderFile(this.fileData)}\n </Host>\n );\n }\n}\n"],"version":3}