@watermarkinsights/ripple 4.2.0-1 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (367) hide show
  1. package/dist/cjs/chartFunctions-2c3e010e.js +600 -0
  2. package/dist/cjs/{functions-4208c444.js → functions-91da05e9.js} +362 -362
  3. package/dist/cjs/{global-2806c327.js → global-b85941b0.js} +24 -24
  4. package/dist/cjs/{index-f8ef86de.js → index-fae02cd7.js} +150 -436
  5. package/dist/cjs/interfaces-245d7bff.js +38 -0
  6. package/dist/cjs/intl-fa3bb4ae.js +179 -0
  7. package/dist/cjs/loader.cjs.js +13 -4
  8. package/dist/cjs/priv-chart-popover.cjs.entry.js +85 -85
  9. package/dist/cjs/priv-datepicker.cjs.entry.js +637 -637
  10. package/dist/cjs/priv-navigator-button.cjs.entry.js +18 -18
  11. package/dist/cjs/priv-navigator-item.cjs.entry.js +21 -21
  12. package/dist/cjs/ripple.cjs.js +7 -4
  13. package/dist/cjs/wm-action-menu_2.cjs.entry.js +314 -314
  14. package/dist/cjs/wm-button.cjs.entry.js +174 -174
  15. package/dist/cjs/wm-chart-slice.cjs.entry.js +17 -17
  16. package/dist/cjs/wm-chart.cjs.entry.js +164 -164
  17. package/dist/cjs/wm-datepicker.cjs.entry.js +160 -160
  18. package/dist/cjs/wm-file-list.cjs.entry.js +10 -10
  19. package/dist/cjs/wm-file.cjs.entry.js +178 -178
  20. package/dist/cjs/wm-input.cjs.entry.js +102 -102
  21. package/dist/cjs/wm-line-chart.cjs.entry.js +448 -448
  22. package/dist/cjs/wm-modal-footer.cjs.entry.js +27 -27
  23. package/dist/cjs/wm-modal-header.cjs.entry.js +21 -21
  24. package/dist/cjs/wm-modal.cjs.entry.js +92 -92
  25. package/dist/cjs/wm-navigation_3.cjs.entry.js +179 -179
  26. package/dist/cjs/wm-navigator.cjs.entry.js +251 -251
  27. package/dist/cjs/wm-option_2.cjs.entry.js +710 -710
  28. package/dist/cjs/wm-pagination.cjs.entry.js +169 -169
  29. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +151 -151
  30. package/dist/cjs/wm-search.cjs.entry.js +192 -192
  31. package/dist/cjs/wm-snackbar.cjs.entry.js +114 -114
  32. package/dist/cjs/wm-tab-item_3.cjs.entry.js +247 -247
  33. package/dist/cjs/wm-tag-input.cjs.entry.js +849 -849
  34. package/dist/cjs/wm-tag-option.cjs.entry.js +33 -33
  35. package/dist/cjs/wm-timepicker.cjs.entry.js +270 -270
  36. package/dist/cjs/wm-toggletip.cjs.entry.js +99 -99
  37. package/dist/cjs/wm-uploader.cjs.entry.js +198 -198
  38. package/dist/cjs/wm-wrapper.cjs.entry.js +12 -12
  39. package/dist/collection/collection-manifest.json +41 -41
  40. package/dist/collection/components/charts/chartFunctions.js +456 -456
  41. package/dist/collection/components/charts/chartFunctions.spec.js +13 -13
  42. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.e2e.js +73 -73
  43. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +254 -257
  44. package/dist/collection/components/charts/screenshots.e2e.js +30 -30
  45. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +121 -121
  46. package/dist/collection/components/charts/wm-chart/wm-chart.e2e.js +160 -160
  47. package/dist/collection/components/charts/wm-chart/wm-chart.js +381 -382
  48. package/dist/collection/components/charts/wm-chart/wm-chart.spec.js +26 -26
  49. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.css +2 -1
  50. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.e2e.js +138 -138
  51. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.js +717 -717
  52. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.spec.js +106 -106
  53. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +202 -202
  54. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.e2e.js +54 -54
  55. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +136 -136
  56. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.spec.js +31 -31
  57. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +119 -119
  58. package/dist/collection/components/wm-action-menu/wm-action-menu.e2e.js +187 -187
  59. package/dist/collection/components/wm-action-menu/wm-action-menu.js +435 -435
  60. package/dist/collection/components/wm-action-menu/wm-action-menu.spec.js +35 -35
  61. package/dist/collection/components/wm-button/wm-button.e2e.js +58 -58
  62. package/dist/collection/components/wm-button/wm-button.js +452 -454
  63. package/dist/collection/components/wm-button/wm-button.spec.js +63 -63
  64. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +939 -943
  65. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.spec.js +71 -71
  66. package/dist/collection/components/wm-datepicker/wm-datepicker.css +2 -1
  67. package/dist/collection/components/wm-datepicker/wm-datepicker.e2e.js +359 -359
  68. package/dist/collection/components/wm-datepicker/wm-datepicker.js +413 -415
  69. package/dist/collection/components/wm-datepicker/wm-datepicker.spec.js +13 -13
  70. package/dist/collection/components/wm-file/wm-file.js +380 -380
  71. package/dist/collection/components/wm-file/wm-file.spec.js +107 -107
  72. package/dist/collection/components/wm-file-list/wm-file-list.js +42 -42
  73. package/dist/collection/components/wm-file-list/wm-file-list.spec.js +47 -47
  74. package/dist/collection/components/wm-input/wm-input.e2e.js +26 -26
  75. package/dist/collection/components/wm-input/wm-input.js +453 -453
  76. package/dist/collection/components/wm-input/wm-input.spec.js +168 -168
  77. package/dist/collection/components/wm-menuitem/wm-menuitem.e2e.js +18 -18
  78. package/dist/collection/components/wm-menuitem/wm-menuitem.js +436 -446
  79. package/dist/collection/components/wm-menuitem/wm-menuitem.spec.js +46 -46
  80. package/dist/collection/components/wm-modal/wm-modal-footer.js +130 -130
  81. package/dist/collection/components/wm-modal/wm-modal-footer.spec.js +8 -8
  82. package/dist/collection/components/wm-modal/wm-modal-header.js +68 -68
  83. package/dist/collection/components/wm-modal/wm-modal-header.spec.js +5 -5
  84. package/dist/collection/components/wm-modal/wm-modal.e2e.js +65 -65
  85. package/dist/collection/components/wm-modal/wm-modal.js +296 -299
  86. package/dist/collection/components/wm-modal/wm-modal.spec.js +22 -22
  87. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.css +1 -0
  88. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +112 -112
  89. package/dist/collection/components/wm-navigation/wm-navigation-item.js +125 -125
  90. package/dist/collection/components/wm-navigation/wm-navigation.css +2 -0
  91. package/dist/collection/components/wm-navigation/wm-navigation.e2e.js +86 -86
  92. package/dist/collection/components/wm-navigation/wm-navigation.js +209 -209
  93. package/dist/collection/components/wm-navigation/wm-navigation.spec.js +79 -79
  94. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.e2e.js +30 -30
  95. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +103 -103
  96. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +118 -119
  97. package/dist/collection/components/wm-navigator/wm-navigator.e2e.js +180 -180
  98. package/dist/collection/components/wm-navigator/wm-navigator.js +454 -454
  99. package/dist/collection/components/wm-navigator/wm-navigator.spec.js +153 -153
  100. package/dist/collection/components/wm-option/wm-option.e2e.js +19 -19
  101. package/dist/collection/components/wm-option/wm-option.js +463 -474
  102. package/dist/collection/components/wm-option/wm-option.spec.js +39 -39
  103. package/dist/collection/components/wm-pagination/wm-pagination.e2e.js +301 -301
  104. package/dist/collection/components/wm-pagination/wm-pagination.js +327 -327
  105. package/dist/collection/components/wm-search/wm-search.e2e.js +69 -69
  106. package/dist/collection/components/wm-search/wm-search.js +414 -415
  107. package/dist/collection/components/wm-search/wm-search.spec.js +64 -64
  108. package/dist/collection/components/wm-select/wm-select.e2e.js +443 -443
  109. package/dist/collection/components/wm-select/wm-select.js +966 -967
  110. package/dist/collection/components/wm-select/wm-select.spec.js +250 -250
  111. package/dist/collection/components/wm-snackbar/wm-snackbar.e2e.js +114 -114
  112. package/dist/collection/components/wm-snackbar/wm-snackbar.js +207 -209
  113. package/dist/collection/components/wm-snackbar/wm-snackbar.spec.js +4 -4
  114. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +188 -190
  115. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +261 -261
  116. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +104 -104
  117. package/dist/collection/components/wm-tabs/wm-tabs.e2e.js +79 -79
  118. package/dist/collection/components/wm-tabs/wm-tabs.spec.js +6 -6
  119. package/dist/collection/components/wm-tag-input/wm-tag-input.css +4 -2
  120. package/dist/collection/components/wm-tag-input/wm-tag-input.e2e.js +168 -168
  121. package/dist/collection/components/wm-tag-input/wm-tag-input.js +1159 -1159
  122. package/dist/collection/components/wm-tag-input/wm-tag-input.spec.js +147 -147
  123. package/dist/collection/components/wm-tag-input/wm-tag-option/wm-tag-option.js +234 -236
  124. package/dist/collection/components/wm-timepicker/wm-timepicker.css +2 -1
  125. package/dist/collection/components/wm-timepicker/wm-timepicker.e2e.js +147 -147
  126. package/dist/collection/components/wm-timepicker/wm-timepicker.js +527 -531
  127. package/dist/collection/components/wm-timepicker/wm-timepicker.spec.js +151 -151
  128. package/dist/collection/components/wm-toggletip/wm-toggletip.e2e.js +61 -61
  129. package/dist/collection/components/wm-toggletip/wm-toggletip.js +208 -209
  130. package/dist/collection/components/wm-toggletip/wm-toggletip.spec.js +16 -16
  131. package/dist/collection/components/wm-uploader/wm-uploader.e2e.js +56 -56
  132. package/dist/collection/components/wm-uploader/wm-uploader.js +422 -423
  133. package/dist/collection/components/wm-uploader/wm-uploader.spec.js +149 -149
  134. package/dist/collection/components/wm-wrapper/wm-wrapper.js +26 -26
  135. package/dist/collection/global/__mocks__/functions.js +1 -1
  136. package/dist/collection/global/functions.js +510 -510
  137. package/dist/collection/global/functions.spec.js +123 -123
  138. package/dist/collection/global/global.js +16 -16
  139. package/dist/collection/global/interfaces.js +39 -39
  140. package/dist/collection/global/intl.js +162 -162
  141. package/dist/collection/global/services/__mocks__/http-service.js +112 -112
  142. package/dist/collection/global/services/http-service.js +41 -41
  143. package/dist/collection/global/themes/default.js +4 -4
  144. package/dist/collection/global/themes/neutral.js +4 -4
  145. package/dist/collection/lang/lang.spec.js +13 -13
  146. package/dist/esm/chartFunctions-36634c04.js +584 -0
  147. package/dist/esm/{functions-d0e70094.js → functions-5afd09f4.js} +362 -362
  148. package/dist/esm/{global-08dce155.js → global-91088105.js} +24 -24
  149. package/dist/esm/{index-f164fbca.js → index-7e11ea42.js} +150 -436
  150. package/dist/esm/interfaces-89cad2fc.js +35 -0
  151. package/dist/esm/intl-e2da750a.js +174 -0
  152. package/dist/esm/loader.js +14 -5
  153. package/dist/esm/polyfills/css-shim.js +1 -0
  154. package/dist/esm/priv-chart-popover.entry.js +85 -85
  155. package/dist/esm/priv-datepicker.entry.js +637 -637
  156. package/dist/esm/priv-navigator-button.entry.js +18 -18
  157. package/dist/esm/priv-navigator-item.entry.js +21 -21
  158. package/dist/esm/ripple.js +8 -5
  159. package/dist/esm/wm-action-menu_2.entry.js +314 -314
  160. package/dist/esm/wm-button.entry.js +174 -174
  161. package/dist/esm/wm-chart-slice.entry.js +17 -17
  162. package/dist/esm/wm-chart.entry.js +164 -164
  163. package/dist/esm/wm-datepicker.entry.js +160 -160
  164. package/dist/esm/wm-file-list.entry.js +10 -10
  165. package/dist/esm/wm-file.entry.js +178 -178
  166. package/dist/esm/wm-input.entry.js +102 -102
  167. package/dist/esm/wm-line-chart.entry.js +448 -448
  168. package/dist/esm/wm-modal-footer.entry.js +27 -27
  169. package/dist/esm/wm-modal-header.entry.js +21 -21
  170. package/dist/esm/wm-modal.entry.js +92 -92
  171. package/dist/esm/wm-navigation_3.entry.js +179 -179
  172. package/dist/esm/wm-navigator.entry.js +251 -251
  173. package/dist/esm/wm-option_2.entry.js +710 -710
  174. package/dist/esm/wm-pagination.entry.js +169 -169
  175. package/dist/esm/wm-progress-indicator_3.entry.js +151 -151
  176. package/dist/esm/wm-search.entry.js +192 -192
  177. package/dist/esm/wm-snackbar.entry.js +114 -114
  178. package/dist/esm/wm-tab-item_3.entry.js +247 -247
  179. package/dist/esm/wm-tag-input.entry.js +849 -849
  180. package/dist/esm/wm-tag-option.entry.js +33 -33
  181. package/dist/esm/wm-timepicker.entry.js +270 -270
  182. package/dist/esm/wm-toggletip.entry.js +99 -99
  183. package/dist/esm/wm-uploader.entry.js +198 -198
  184. package/dist/esm/wm-wrapper.entry.js +12 -12
  185. package/dist/esm-es5/chartFunctions-36634c04.js +1 -0
  186. package/dist/esm-es5/functions-5afd09f4.js +1 -0
  187. package/dist/esm-es5/global-91088105.js +1 -0
  188. package/dist/esm-es5/index-7e11ea42.js +2 -0
  189. package/dist/esm-es5/{intl-05c9e0c9.js → intl-e2da750a.js} +1 -1
  190. package/dist/esm-es5/loader.js +1 -1
  191. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  192. package/dist/esm-es5/priv-datepicker.entry.js +1 -1
  193. package/dist/esm-es5/priv-navigator-button.entry.js +1 -1
  194. package/dist/esm-es5/priv-navigator-item.entry.js +1 -1
  195. package/dist/esm-es5/ripple.js +1 -1
  196. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  197. package/dist/esm-es5/wm-button.entry.js +1 -1
  198. package/dist/esm-es5/wm-chart-slice.entry.js +1 -1
  199. package/dist/esm-es5/wm-chart.entry.js +1 -1
  200. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  201. package/dist/esm-es5/wm-file-list.entry.js +1 -1
  202. package/dist/esm-es5/wm-file.entry.js +1 -1
  203. package/dist/esm-es5/wm-input.entry.js +1 -1
  204. package/dist/esm-es5/wm-line-chart.entry.js +1 -1
  205. package/dist/esm-es5/wm-modal-footer.entry.js +1 -1
  206. package/dist/esm-es5/wm-modal-header.entry.js +1 -1
  207. package/dist/esm-es5/wm-modal.entry.js +1 -1
  208. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  209. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  210. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  211. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  212. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  213. package/dist/esm-es5/wm-search.entry.js +1 -1
  214. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  215. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  216. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  217. package/dist/esm-es5/wm-tag-option.entry.js +1 -1
  218. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  219. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  220. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  221. package/dist/esm-es5/wm-wrapper.entry.js +1 -1
  222. package/dist/loader/index.d.ts +1 -1
  223. package/dist/ripple/p-00acacbe.system.entry.js +1 -0
  224. package/dist/ripple/{p-3446852f.system.entry.js → p-0631be01.system.entry.js} +1 -1
  225. package/dist/ripple/{p-ad6dc751.entry.js → p-0aecac86.entry.js} +1 -1
  226. package/dist/ripple/{p-c717d895.entry.js → p-0d9f70ab.entry.js} +1 -1
  227. package/dist/ripple/{p-b253d2fc.entry.js → p-0f1ff645.entry.js} +1 -1
  228. package/dist/ripple/{p-63f75d43.entry.js → p-1205fdc1.entry.js} +1 -1
  229. package/dist/ripple/{p-27f47edc.entry.js → p-1283e85d.entry.js} +1 -1
  230. package/dist/ripple/{p-43e2a49a.entry.js → p-13594c2e.entry.js} +1 -1
  231. package/dist/ripple/{p-5a921e55.entry.js → p-13af8346.entry.js} +1 -1
  232. package/dist/ripple/{p-ceced3d9.system.entry.js → p-15497721.system.entry.js} +1 -1
  233. package/dist/ripple/p-16363e1c.system.entry.js +1 -0
  234. package/dist/ripple/{p-3a070f35.entry.js → p-19773c40.entry.js} +1 -1
  235. package/dist/ripple/{p-b4d862e1.system.entry.js → p-1cde16a7.system.entry.js} +1 -1
  236. package/dist/ripple/{p-f711c914.entry.js → p-20f5c695.entry.js} +1 -1
  237. package/dist/ripple/{p-13ca30d8.js → p-24b08e1f.js} +1 -1
  238. package/dist/ripple/{p-2c834d27.system.entry.js → p-2a95b63f.system.entry.js} +1 -1
  239. package/dist/ripple/{p-c96a5c94.system.entry.js → p-2e773564.system.entry.js} +1 -1
  240. package/dist/ripple/p-30bf24f8.system.js +2 -0
  241. package/dist/ripple/p-3248c0fa.system.entry.js +1 -0
  242. package/dist/ripple/{p-28e4583c.system.entry.js → p-32b1126c.system.entry.js} +1 -1
  243. package/dist/ripple/{p-aadf8c59.entry.js → p-36049d2f.entry.js} +1 -1
  244. package/dist/ripple/p-3aca2871.js +1 -0
  245. package/dist/ripple/{p-633cd89a.system.entry.js → p-3becce62.system.entry.js} +1 -1
  246. package/dist/ripple/{p-58174f4e.entry.js → p-3c80bf67.entry.js} +1 -1
  247. package/dist/ripple/p-40fcae38.system.js +1 -0
  248. package/dist/ripple/p-47c20b05.entry.js +1 -0
  249. package/dist/ripple/p-4825101c.system.js +1 -0
  250. package/dist/ripple/p-56d64283.system.entry.js +1 -0
  251. package/dist/ripple/p-5e85967a.system.js +1 -0
  252. package/dist/ripple/{p-067d7922.system.entry.js → p-622a7791.system.entry.js} +1 -1
  253. package/dist/ripple/{p-aba5a00e.system.entry.js → p-676c1089.system.entry.js} +1 -1
  254. package/dist/ripple/{p-153701f9.entry.js → p-6abb903c.entry.js} +1 -1
  255. package/dist/ripple/{p-372faf33.entry.js → p-7529706d.entry.js} +1 -1
  256. package/dist/ripple/{p-de349bee.entry.js → p-7962f562.entry.js} +1 -1
  257. package/dist/ripple/{p-8d4734ad.entry.js → p-80aef387.entry.js} +1 -1
  258. package/dist/ripple/{p-8cace32f.entry.js → p-84a7e757.entry.js} +1 -1
  259. package/dist/ripple/{p-9fecbc8a.system.js → p-85f744ed.system.js} +1 -1
  260. package/dist/ripple/{p-05d4e49b.js → p-863e737a.js} +1 -1
  261. package/dist/ripple/{p-7e56da2e.system.entry.js → p-8ea68cb3.system.entry.js} +1 -1
  262. package/dist/ripple/{p-1402cfa2.system.js → p-8f3f903f.system.js} +1 -1
  263. package/dist/ripple/{p-c249063c.entry.js → p-8f8c3705.entry.js} +1 -1
  264. package/dist/ripple/{p-67d48c33.system.entry.js → p-90ea7e3a.system.entry.js} +1 -1
  265. package/dist/ripple/{p-a82a8931.entry.js → p-9288659b.entry.js} +1 -1
  266. package/dist/ripple/{p-6cf7a34a.entry.js → p-935513f8.entry.js} +1 -1
  267. package/dist/ripple/{p-b452d1d7.entry.js → p-a0bf5eef.entry.js} +1 -1
  268. package/dist/ripple/{p-06776596.system.entry.js → p-a1e95b05.system.entry.js} +1 -1
  269. package/dist/ripple/{p-25446670.entry.js → p-a52c5a1c.entry.js} +1 -1
  270. package/dist/ripple/{p-2c4f312d.system.entry.js → p-a5b23781.system.entry.js} +1 -1
  271. package/dist/ripple/p-a6be3cca.system.entry.js +1 -0
  272. package/dist/ripple/{p-fa87bce3.entry.js → p-a9c096b5.entry.js} +1 -1
  273. package/dist/ripple/p-aafa111a.system.js +1 -0
  274. package/dist/ripple/{p-1d8b0039.entry.js → p-ad37cdfd.entry.js} +1 -1
  275. package/dist/ripple/{p-350fe5da.entry.js → p-ae674a54.entry.js} +1 -1
  276. package/dist/ripple/{p-e24ddae1.entry.js → p-b3c73bc9.entry.js} +1 -1
  277. package/dist/ripple/{p-e8b58666.system.entry.js → p-b3e08b14.system.entry.js} +1 -1
  278. package/dist/ripple/p-b5bedd63.js +2 -0
  279. package/dist/ripple/{p-a69c37e0.entry.js → p-b71a83e3.entry.js} +1 -1
  280. package/dist/ripple/p-bd537299.system.entry.js +1 -0
  281. package/dist/ripple/{p-42ebfcfa.entry.js → p-c41603e6.entry.js} +1 -1
  282. package/dist/ripple/{p-5a4d9897.system.entry.js → p-c5e8f8a5.system.entry.js} +1 -1
  283. package/dist/ripple/{p-7a8816d9.system.entry.js → p-c76bbedf.system.entry.js} +1 -1
  284. package/dist/ripple/{p-3af72848.js → p-c7b5ac39.js} +1 -1
  285. package/dist/ripple/{p-361cc8fc.system.entry.js → p-cbd8a60b.system.entry.js} +1 -1
  286. package/dist/ripple/{p-3583d113.system.entry.js → p-d04ba5f8.system.entry.js} +1 -1
  287. package/dist/ripple/{p-1fa2a756.system.entry.js → p-d0f1b8c4.system.entry.js} +1 -1
  288. package/dist/ripple/{p-bdd4f919.system.entry.js → p-d496bc44.system.entry.js} +1 -1
  289. package/dist/ripple/{p-7e8daaac.entry.js → p-deb4f5a2.entry.js} +1 -1
  290. package/dist/ripple/{p-5ac980e2.system.entry.js → p-e3f0b57f.system.entry.js} +1 -1
  291. package/dist/ripple/{p-f1a92576.system.entry.js → p-e4919f95.system.entry.js} +1 -1
  292. package/dist/ripple/{p-49118468.entry.js → p-ed942b42.entry.js} +1 -1
  293. package/dist/ripple/{p-0ecbf569.system.entry.js → p-f30839a1.system.entry.js} +1 -1
  294. package/dist/ripple/{p-d3f9d028.system.entry.js → p-ff14e4ec.system.entry.js} +1 -1
  295. package/dist/ripple/ripple.esm.js +1 -1
  296. package/dist/ripple/ripple.js +20 -16
  297. package/dist/types/components/charts/chartFunctions.d.ts +13 -13
  298. package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +24 -24
  299. package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +8 -8
  300. package/dist/types/components/charts/wm-chart/wm-chart.d.ts +39 -39
  301. package/dist/types/components/charts/wm-line-chart/wm-line-chart.d.ts +73 -73
  302. package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +26 -26
  303. package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +17 -17
  304. package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +7 -7
  305. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +43 -43
  306. package/dist/types/components/wm-button/wm-button.d.ts +40 -40
  307. package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +76 -76
  308. package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +31 -31
  309. package/dist/types/components/wm-file/wm-file.d.ts +40 -40
  310. package/dist/types/components/wm-file-list/wm-file-list.d.ts +3 -3
  311. package/dist/types/components/wm-input/wm-input.d.ts +46 -46
  312. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +31 -31
  313. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +11 -11
  314. package/dist/types/components/wm-modal/wm-modal-header.d.ts +7 -7
  315. package/dist/types/components/wm-modal/wm-modal.d.ts +24 -24
  316. package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +13 -13
  317. package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +10 -10
  318. package/dist/types/components/wm-navigation/wm-navigation.d.ts +23 -23
  319. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +7 -7
  320. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +10 -10
  321. package/dist/types/components/wm-navigator/wm-navigator.d.ts +57 -57
  322. package/dist/types/components/wm-option/wm-option.d.ts +36 -36
  323. package/dist/types/components/wm-pagination/wm-pagination.d.ts +27 -27
  324. package/dist/types/components/wm-search/wm-search.d.ts +73 -73
  325. package/dist/types/components/wm-select/wm-select.d.ts +99 -99
  326. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +24 -24
  327. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +30 -30
  328. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +41 -41
  329. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +16 -16
  330. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +48 -48
  331. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +20 -20
  332. package/dist/types/components/wm-uploader/wm-uploader.d.ts +47 -47
  333. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +4 -4
  334. package/dist/types/components.d.ts +0 -382
  335. package/dist/types/global/__mocks__/functions.d.ts +1 -1
  336. package/dist/types/global/functions.d.ts +4 -4
  337. package/dist/types/global/interfaces.d.ts +49 -49
  338. package/dist/types/global/intl.d.ts +31 -31
  339. package/dist/types/global/services/__mocks__/http-service.d.ts +1 -1
  340. package/dist/types/stencil-public-runtime.d.ts +5 -46
  341. package/package.json +1 -1
  342. package/dist/cjs/chartFunctions-cecf8134.js +0 -600
  343. package/dist/cjs/interfaces-ad9e80a6.js +0 -38
  344. package/dist/cjs/intl-3fafc6d1.js +0 -179
  345. package/dist/esm/chartFunctions-23173fce.js +0 -584
  346. package/dist/esm/interfaces-9b75fb61.js +0 -35
  347. package/dist/esm/intl-05c9e0c9.js +0 -174
  348. package/dist/esm-es5/chartFunctions-23173fce.js +0 -1
  349. package/dist/esm-es5/functions-d0e70094.js +0 -1
  350. package/dist/esm-es5/global-08dce155.js +0 -1
  351. package/dist/esm-es5/index-f164fbca.js +0 -2
  352. package/dist/ripple/p-028ef6db.system.entry.js +0 -1
  353. package/dist/ripple/p-09d62ddd.entry.js +0 -1
  354. package/dist/ripple/p-0fe97e85.system.js +0 -2
  355. package/dist/ripple/p-1453ea51.system.entry.js +0 -1
  356. package/dist/ripple/p-17d3440b.system.js +0 -1
  357. package/dist/ripple/p-1cc91907.system.js +0 -1
  358. package/dist/ripple/p-30b17818.system.entry.js +0 -1
  359. package/dist/ripple/p-4de51706.js +0 -2
  360. package/dist/ripple/p-88406560.system.entry.js +0 -1
  361. package/dist/ripple/p-8f76a838.system.entry.js +0 -1
  362. package/dist/ripple/p-a99b05de.system.entry.js +0 -1
  363. package/dist/ripple/p-c18b398c.system.js +0 -1
  364. package/dist/ripple/p-c235754b.js +0 -1
  365. package/dist/ripple/p-d03095e7.system.js +0 -1
  366. /package/dist/esm-es5/{interfaces-9b75fb61.js → interfaces-89cad2fc.js} +0 -0
  367. /package/dist/ripple/{p-196eb2f3.js → p-c0c111fd.js} +0 -0
@@ -0,0 +1,600 @@
1
+ 'use strict';
2
+
3
+ const index = require('./index-fae02cd7.js');
4
+ const functions = require('./functions-91da05e9.js');
5
+
6
+ const colors = {
7
+ salmon: "#ff5f4e",
8
+ cyan: "#19a1a9",
9
+ forest: "#088000",
10
+ sleet: "#7f97ad",
11
+ midnight: "#2e1b46",
12
+ lavender: "#8b86ca",
13
+ periwinkle: "#575195",
14
+ gray: "#6b6b6b",
15
+ };
16
+ const allChartsDetails = {
17
+ // for progress monitor
18
+ doughnut: {
19
+ size: 155,
20
+ colors: [colors.forest, colors.gray],
21
+ thickness: 0.73,
22
+ padding: 25,
23
+ category: "doughnut",
24
+ },
25
+ doughnut1: {
26
+ size: 130,
27
+ colors: [colors.lavender, colors.midnight, colors.gray],
28
+ thickness: 0.5,
29
+ padding: 90,
30
+ category: "doughnut",
31
+ },
32
+ doughnut2: {
33
+ size: 130,
34
+ colors: [colors.cyan, colors.salmon, colors.gray],
35
+ thickness: 0.5,
36
+ padding: 90,
37
+ category: "doughnut",
38
+ },
39
+ // an internal type only for use when doughnut 2 is populated with 4 slices
40
+ // in this case, the first slice is colored purple
41
+ doughnut2b: {
42
+ size: 130,
43
+ colors: [colors.periwinkle, colors.cyan, colors.salmon, colors.gray],
44
+ thickness: 0.5,
45
+ padding: 90,
46
+ category: "doughnut",
47
+ },
48
+ doughnut3: {
49
+ size: 130,
50
+ colors: [colors.lavender, colors.midnight, "#0089e4", colors.forest, "#ea8500", "#d54f41", "#146ca9"],
51
+ thickness: 0.5,
52
+ padding: 90,
53
+ category: "doughnut",
54
+ },
55
+ // for progress monitor
56
+ bar: {
57
+ size: 350,
58
+ colors: [colors.forest, colors.gray],
59
+ padding: 0,
60
+ category: "stackedBar",
61
+ },
62
+ bar2: {
63
+ size: 400,
64
+ colors: [colors.gray, colors.periwinkle, colors.cyan, colors.salmon],
65
+ padding: 0,
66
+ category: "stackedBar",
67
+ },
68
+ bar2b: {
69
+ size: 400,
70
+ colors: [colors.gray, colors.periwinkle, colors.midnight, colors.cyan, colors.salmon],
71
+ padding: 0,
72
+ category: "stackedBar",
73
+ },
74
+ bar3: {
75
+ size: 300,
76
+ colors: ["#0d696e", colors.cyan, "#8e4129", colors.salmon],
77
+ padding: 0,
78
+ category: "stackedBar",
79
+ },
80
+ bar4: {
81
+ size: 400,
82
+ colors: [colors.salmon, colors.cyan, colors.periwinkle],
83
+ padding: 0,
84
+ category: "stackedBar",
85
+ },
86
+ bar5: {
87
+ size: 400,
88
+ colors: [
89
+ colors.gray,
90
+ colors.lavender,
91
+ colors.midnight,
92
+ "#0089e4",
93
+ colors.forest,
94
+ "#ea8500",
95
+ "#d54f41",
96
+ "#146ca9",
97
+ ],
98
+ padding: 0,
99
+ category: "stackedBar",
100
+ },
101
+ bar6: {
102
+ size: 400,
103
+ colors: [colors.lavender],
104
+ padding: 0,
105
+ category: "simpleBar",
106
+ },
107
+ bar7: {
108
+ size: 400,
109
+ colors: [colors.periwinkle, colors.cyan, colors.salmon, colors.gray],
110
+ padding: 0,
111
+ category: "simpleBar",
112
+ },
113
+ };
114
+ function showValue(valueFormat) {
115
+ return valueFormat === "percentage" || valueFormat === "amount" ? "show-values" : "";
116
+ }
117
+ const textHiddenMessage = functions.intl.formatMessage({
118
+ id: "chart.hiddenValues",
119
+ defaultMessage: "Values are hidden when too close together.",
120
+ description: "Text displayed when a chart has some values hidden",
121
+ });
122
+ const seeDetailsMessage = functions.intl.formatMessage({
123
+ id: "chart.clickToSeeDetails",
124
+ defaultMessage: "Click or use arrow keys to see details.",
125
+ description: "Text displayed, guiding user to interact to see more details.",
126
+ });
127
+ function abbrNumber(num) {
128
+ return num > 999 || num < -999 ? Math.round(num / 100) / 10 + "K" : num;
129
+ }
130
+ function amountToPercent(val, total, asInt) {
131
+ return asInt ? Math.round((val * 100) / total) : Math.round((val * 10000) / total) / 100; // with 2 decimals
132
+ }
133
+ function amountToDegree(val, total) {
134
+ // In a circle of {total}, determine degrees of slice {val}
135
+ return (val * 360) / total;
136
+ }
137
+ function toFixed(number) {
138
+ return parseFloat((Math.floor(number * 100) / 100).toFixed(2));
139
+ }
140
+ function polarToCartesian(half, radius, startAngle, endAngle) {
141
+ var x = toFixed(half + half * radius * Math.cos((Math.PI * startAngle) / 180));
142
+ var y = toFixed(half + half * radius * Math.sin((Math.PI * startAngle) / 180));
143
+ if (endAngle !== undefined) {
144
+ // if a 2nd angle value was passed, return 2 pairs of coords
145
+ var x2 = toFixed(half + half * radius * Math.cos((Math.PI * endAngle) / 180));
146
+ var y2 = toFixed(half + half * radius * Math.sin((Math.PI * endAngle) / 180));
147
+ return { x1: x, y1: y, x2, y2 };
148
+ }
149
+ return { x, y };
150
+ }
151
+ function getArc(radius, largeArcFlag, x, y, chartSize) {
152
+ var z = toFixed((chartSize / 2) * radius);
153
+ return `A ${z}, ${z} 0 ${largeArcFlag} ${toFixed(x)}, ${toFixed(y)}`;
154
+ }
155
+ function scale(val, inMin, inMax, outMin, outMax) {
156
+ let scaled = ((val - inMin) * (outMax - outMin)) / (inMax - inMin) + outMin;
157
+ // clip the values so that whatever is passed in the output is never smaller than outMin or greater than outMax
158
+ return scaled < outMin ? outMin : scaled > outMax ? outMax : scaled;
159
+ }
160
+ function minSpacing(width) {
161
+ // minimum spacing between 2 ticks, in px
162
+ return scale(width, 300, 900, 70, 150);
163
+ }
164
+ function getMaxTicks(width) {
165
+ return Math.round(width / minSpacing(width));
166
+ }
167
+ function getInterval(largest, maxticks) {
168
+ const minimum = largest / maxticks;
169
+ const magnitude = 10 ** Math.floor(Math.log10(minimum));
170
+ const residual = minimum / magnitude;
171
+ let interval;
172
+ if (residual > 5) {
173
+ interval = 10 * magnitude;
174
+ }
175
+ else if (residual > 3) {
176
+ interval = 5 * magnitude;
177
+ }
178
+ else if (residual > 2) {
179
+ interval = 3 * magnitude;
180
+ }
181
+ else if (residual > 1.5) {
182
+ interval = 2 * magnitude;
183
+ }
184
+ else if (residual > 1) {
185
+ interval = 1.5 * magnitude;
186
+ }
187
+ else {
188
+ interval = magnitude;
189
+ }
190
+ return interval;
191
+ }
192
+ function handleSliceKeyDown(ev) {
193
+ if (this.popoverEl && this.popoverEl.open && ev.key === "Enter") {
194
+ const popoverBtn = this.popoverEl.querySelector("button");
195
+ popoverBtn && popoverBtn.click();
196
+ }
197
+ }
198
+ function handleSliceClick(ev, s) {
199
+ if (this.popoverEl && !this.isTabbing) {
200
+ s.coords = { x: ev.clientX, y: ev.clientY };
201
+ openPopover.call(this, s);
202
+ }
203
+ }
204
+ function handleSliceFocus(ev, s) {
205
+ if (this.popoverEl && this.isTabbing) {
206
+ s.coords = functions.getPosition(ev.target);
207
+ openPopover.call(this, s);
208
+ }
209
+ }
210
+ function handleChartKeydown(ev) {
211
+ switch (ev.key) {
212
+ // arrow up / left
213
+ case "ArrowUp":
214
+ case "ArrowLeft":
215
+ ev.preventDefault();
216
+ this.isTabbing = true; // shd already be true. just in case user clicked on chart then pressed an arrow key
217
+ focusPrevious.call(this);
218
+ break;
219
+ // arrow right / down
220
+ case "ArrowRight":
221
+ case "ArrowDown":
222
+ ev.preventDefault();
223
+ this.isTabbing = true; // shd already be true. just in case user clicked on chart then pressed an arrow key
224
+ focusNext.call(this);
225
+ break;
226
+ // tab
227
+ case "Tab":
228
+ exitChart.call(this);
229
+ break;
230
+ case "Escape":
231
+ this.popoverEl.open = false;
232
+ this.userIsNavigating = false;
233
+ break;
234
+ }
235
+ }
236
+ function openPopover(s) {
237
+ if (!!this.popoverEl && !!s.title && !!s.text) {
238
+ this.popoverEl.popoverTitle = s.title;
239
+ this.popoverEl.popoverText = s.text;
240
+ this.popoverEl.buttonText = s.buttonText;
241
+ this.popoverEl.coords = s.coords;
242
+ this.popoverEl.sliceRef = s.sliceRef;
243
+ window.setTimeout(() => {
244
+ if (this.popoverEl) {
245
+ this.popoverEl.open = true;
246
+ }
247
+ }, 30);
248
+ const debouncedClosePopover = functions.debounce(async () => {
249
+ this.popoverEl.open = false;
250
+ }, 10);
251
+ // set up event listeners for scrolling
252
+ // to close popover on page scroll
253
+ document.addEventListener("scroll", () => {
254
+ debouncedClosePopover();
255
+ });
256
+ // ... and on parent scroll
257
+ const scrollableParent = functions.findParentWithScrollbar(this.el);
258
+ if (!!scrollableParent) {
259
+ scrollableParent.addEventListener("scroll", () => {
260
+ debouncedClosePopover();
261
+ });
262
+ }
263
+ }
264
+ }
265
+ function focusNext() {
266
+ const activeEl = functions.checkForActiveElInShadow(document.activeElement);
267
+ const index =
268
+ // if the active el is not in the array the first element gets focused
269
+ (this.sliceEls.indexOf(activeEl) + 1) % this.sliceEls.length;
270
+ focusSlice.call(this, index);
271
+ }
272
+ function focusPrevious() {
273
+ if (this.sliceEls) {
274
+ const activeEl = functions.checkForActiveElInShadow(document.activeElement);
275
+ let index = this.sliceEls.indexOf(activeEl);
276
+ if (index === -1) {
277
+ // not in the array : focus the first slice
278
+ index = 0;
279
+ }
280
+ else if (index === 0) {
281
+ // first slice : focus the last slice
282
+ index = this.sliceEls.length - 1;
283
+ }
284
+ else {
285
+ // anything else: focus previous
286
+ index -= 1;
287
+ }
288
+ focusSlice.call(this, index);
289
+ }
290
+ }
291
+ function focusSlice(index) {
292
+ if (this.sliceEls && this.el) {
293
+ this.userIsNavigating = true;
294
+ if (this.popoverEl) {
295
+ this.popoverEl.open = false;
296
+ }
297
+ // set tabindex of the wrapper to -1 while slices are being focused, to allow for shft-tabbing out of the component directly
298
+ this.componentWrapperEl.tabIndex = -1;
299
+ // @ts-ignore
300
+ this.el.focusable = false; // for Edge
301
+ this.sliceEls.map((p) => {
302
+ p.tabIndex = -1;
303
+ // @ts-ignore
304
+ p.focusable = false; // for Edge
305
+ });
306
+ this.sliceEls[index].tabIndex = 0;
307
+ // @ts-ignore
308
+ this.sliceEls[index].focusable = true; // for Edge
309
+ this.sliceEls[index].focus();
310
+ window.setTimeout(() => {
311
+ if (this.popoverEl) {
312
+ this.popoverEl.open = true;
313
+ }
314
+ }, 10);
315
+ }
316
+ }
317
+ function exitChart() {
318
+ this.sliceEls &&
319
+ this.sliceEls.map((p) => {
320
+ p.tabIndex = -1;
321
+ // @ts-ignore
322
+ p.focusable = false; // for Edge
323
+ });
324
+ this.userIsNavigating = false;
325
+ // delay so that we can tab out of component before chart becomes focusable again
326
+ // and in case user was still pressing an arrow key when they pressed tab
327
+ window.setTimeout(() => {
328
+ this.componentWrapperEl.tabIndex = 0;
329
+ // @ts-ignore
330
+ this.el.focusable = true; // for Edge
331
+ if (this.popoverEl) {
332
+ this.popoverEl.open = false;
333
+ }
334
+ }, 100);
335
+ }
336
+ async function getDetails(chartType) {
337
+ this.slicesDetails = [];
338
+ let acc = 0;
339
+ const children = Array.from(this.el.children);
340
+ this.total = children.reduce((total, slice) => (total += parseInt(slice.getAttribute("amount") || "0")), 0);
341
+ children.forEach((c, i) => {
342
+ const amount = parseInt(c.getAttribute("amount") || "0");
343
+ const perc = amountToPercent(amount, this.total, true);
344
+ let colorIndex = i;
345
+ // for bar5, first color should be skipped unless notStartedColor is set to true
346
+ if (chartType === "bar5") {
347
+ colorIndex = this.notStartedColor ? i : i + 1;
348
+ }
349
+ // bars in bar6 are all the same color
350
+ if (chartType === "bar6") {
351
+ colorIndex = 0;
352
+ }
353
+ const color = allChartsDetails[chartType].colors[colorIndex];
354
+ const sliceDetails = {
355
+ amount: amount,
356
+ perc: perc,
357
+ legend: c.getAttribute("legend"),
358
+ color: color || colors.gray,
359
+ offset: acc,
360
+ id: `${this.uid}-${i + 1}`,
361
+ title: c.getAttribute("popover-title"),
362
+ text: c.getAttribute("popover-text"),
363
+ buttonText: c.getAttribute("popover-button-text"),
364
+ sliceRef: c,
365
+ inSmallCluster: false,
366
+ };
367
+ acc += amount;
368
+ this.slicesDetails.push(sliceDetails);
369
+ });
370
+ }
371
+ function sortSlicesDetails(slicesDetails, total) {
372
+ // sort slices by decreasing amount
373
+ let sortedSlicesDetails = [...slicesDetails].sort((a, b) => a.amount === b.amount ? 0 : a.amount > b.amount ? -1 : 1);
374
+ let acc = 0;
375
+ sortedSlicesDetails.forEach((s, idx) => {
376
+ const prev = sortedSlicesDetails[idx === 0 ? sortedSlicesDetails.length - 1 : idx - 1];
377
+ const next = sortedSlicesDetails[idx === sortedSlicesDetails.length - 1 ? 0 : idx + 1];
378
+ const prevPerc = amountToPercent(prev.amount, total, true);
379
+ const nextPerc = amountToPercent(next.amount, total, true);
380
+ s.offset = acc;
381
+ acc += s.amount;
382
+ s.inSmallCluster = isInSmallCluster(prevPerc, s.perc, s.amount, nextPerc);
383
+ });
384
+ return sortedSlicesDetails;
385
+ }
386
+ function isInSmallCluster(prevPerc, perc, amount, nextPerc) {
387
+ // determine whether the slice is in a cluster of small values
388
+ // to avoid percentage text overlap for small values
389
+ const isSmall = perc < 4;
390
+ const prevIsSmall = prevPerc < 5;
391
+ const nextIsSmall = nextPerc < 5;
392
+ let inSmallCluster = isSmall && (prevIsSmall || nextIsSmall);
393
+ // because <1% slice percentage text has an additional character
394
+ // the inSmallCluster threshold needs to be widened for that slice only
395
+ const lessThanOnePerc = perc === 0 && amount > 0;
396
+ if (lessThanOnePerc && (nextPerc < 8 || prevPerc < 8)) {
397
+ inSmallCluster = true;
398
+ }
399
+ return inSmallCluster;
400
+ }
401
+ function getPathData(amount, offset, chartType) {
402
+ const startAngle = amountToDegree(offset, this.total) - 90; // start at noon, not at 3 o'clock
403
+ const activeAngle = (amount / this.total) * 360;
404
+ let endAngle = startAngle + activeAngle;
405
+ const largeArcFlagOuter = activeAngle > 180 ? "1 1" : "0 1";
406
+ const largeArcFlagInner = activeAngle > 180 ? "1 0" : "0 0";
407
+ const half = this.chartDetails.size / 2;
408
+ const innerRadius = this.chartDetails.thickness;
409
+ const outerRadius = 1;
410
+ const isHybridDoughnut = chartType === "doughnut";
411
+ const outerSeparatorOffset = 1.5;
412
+ const innerSeparatorOffset = isHybridDoughnut ? 2.25 : 3;
413
+ if (activeAngle === 360) {
414
+ // fix to avoid bad svg shape when the path goes all around (100%)
415
+ endAngle -= 0.01;
416
+ }
417
+ const outerCoords = polarToCartesian(half, outerRadius, startAngle + outerSeparatorOffset, // Addition for slice separator
418
+ endAngle);
419
+ const innerCoords = polarToCartesian(half, innerRadius, startAngle + innerSeparatorOffset, // Addition for slice separator
420
+ endAngle);
421
+ const moveTo = `M ${outerCoords.x1}, ${outerCoords.y1} `;
422
+ const arc1 = getArc(outerRadius, largeArcFlagOuter, outerCoords.x2, outerCoords.y2, this.chartDetails.size);
423
+ const line = ` L ${innerCoords.x2}, ${innerCoords.y2} `;
424
+ const arc2 = getArc(innerRadius, largeArcFlagInner, innerCoords.x1, innerCoords.y1, this.chartDetails.size);
425
+ return moveTo + arc1 + line + arc2 + " z";
426
+ }
427
+ function renderInstructionsText() {
428
+ const chartInstructions = functions.intl.formatMessage({
429
+ id: "chart.instructions",
430
+ defaultMessage: "Use arrow keys to browse elements, press Tab to exit.",
431
+ description: "For screen readers only, instructions on how to interact with the chart component",
432
+ });
433
+ return index.h("div", { id: "chart-instructions" }, chartInstructions);
434
+ }
435
+ function renderFilter() {
436
+ return (index.h("defs", null,
437
+ index.h("filter", { id: "wmHoverDropShadow" },
438
+ index.h("feGaussianBlur", { stdDeviation: "3" }),
439
+ index.h("feOffset", { result: "offsetblur" }),
440
+ index.h("feFlood", { "flood-color": "#333" }),
441
+ index.h("feComposite", { operator: "in", in2: "offsetblur" }),
442
+ index.h("feMerge", null,
443
+ index.h("feMergeNode", null),
444
+ index.h("feMergeNode", { in: "SourceGraphic" })))));
445
+ }
446
+ function renderDoughnut(chartType) {
447
+ const outerSize = this.chartDetails.size + this.chartDetails.padding;
448
+ const isHybridDoughnut = chartType === "doughnut";
449
+ // no sorting in progress indicators
450
+ let slicesDetails = isHybridDoughnut ? this.slicesDetails : sortSlicesDetails(this.slicesDetails, this.total);
451
+ return (index.h("div", { class: "chart-wrapper doughnut-wrapper" },
452
+ index.h("svg", { width: outerSize + "px", height: outerSize + "px", id: `graphic-${this.uid}`, class: "doughnut-svg" },
453
+ renderFilter(),
454
+ slicesDetails.map((s) => renderPath.call(this, s, chartType)),
455
+ isHybridDoughnut ? (index.h("text", { class: "value", x: "50%", y: "50%", "font-size": "1.5rem", "font-weight": "500", "text-anchor": "middle", "dominant-baseline": "middle" }, amountToPercent(slicesDetails[0].amount, this.total, true) + "%")) : (index.h("g", { transform: `translate(${this.chartDetails.padding / 2}, ${this.chartDetails.padding / 2})`, "text-anchor": "middle", "dominant-baseline": "middle" }, slicesDetails.map((s) => s.amount > 0 && !s.inSmallCluster ? renderDoughnutText.call(this, s) : ""))))));
456
+ }
457
+ function renderPath(s, chartType) {
458
+ return (index.h("g", { transform: `translate(${this.chartDetails.padding / 2}, ${this.chartDetails.padding / 2})` },
459
+ index.h("path", { id: s.id, class: "segment doughnut-segment", fill: s.amount ? s.color : "transparent", d: getPathData.call(this, s.amount, s.offset, chartType), onClick: (ev) => handleSliceClick.call(this, ev, s), onFocus: (ev) => handleSliceFocus.call(this, ev, s), onKeyDown: (ev) => handleSliceKeyDown.call(this, ev), role: "img", "aria-label": s.legend })));
460
+ }
461
+ function renderDoughnutText(s) {
462
+ const arcMiddle = amountToDegree(s.offset + s.amount / 2, this.total);
463
+ let { x, y } = polarToCartesian(this.chartDetails.size / 2, 1.4, arcMiddle - 90);
464
+ return (index.h("text", { class: "value", x: x + "px", y: y + "px" }, `${s.perc > 0 ? s.perc : "<1"}%`));
465
+ }
466
+ function renderStackedBar(chartType) {
467
+ const isHybridBar = chartType === "bar";
468
+ return (index.h("div", { class: "chart-wrapper bar-wrapper" },
469
+ isHybridBar ? (index.h("div", { class: "single-perc" }, amountToPercent(this.slicesDetails[0].amount, this.total, true) + "%")) : (""),
470
+ this.chartType === "bar3" && this.drawAxis(),
471
+ index.h("div", { class: `inner-stacked-bar-wrapper ${showValue(this.valueFormat)}` },
472
+ !isHybridBar ? (index.h("div", { class: "values" }, this.slicesDetails.map((s, idx) => this.renderBarText(s, idx)))) : (""),
473
+ index.h("div", { class: "stacked-bar-segments-wrapper" }, this.slicesDetails.map((s, idx) => renderStackedBarSegment.call(this, s, idx))),
474
+ isHybridBar ? renderCompletionMessage.call(this) : "")));
475
+ }
476
+ function renderStackedBarSegment(s, idx) {
477
+ const isLastSlice = idx !== this.slicesDetails.length - 1;
478
+ const width = `calc(${amountToPercent(s.amount, this.total, false)}%${isLastSlice ? " - 2px" : ""})`;
479
+ return (index.h("div", { class: `segment stacked-bar-segment ${amountToPercent(s.amount, this.total, false) === 0 ? "zero" : ""}`, style: {
480
+ backgroundColor: s.color,
481
+ width: width,
482
+ }, onClick: (ev) => handleSliceClick.call(this, ev, s), onFocus: (ev) => handleSliceFocus.call(this, ev, s), onKeyDown: (ev) => handleSliceKeyDown.call(this, ev) },
483
+ index.h("span", { class: "sr-only" }, s.legend)));
484
+ }
485
+ function renderSimpleBar(chartType) {
486
+ // find largest number and get interval, numTicks, chartMaxVal for all.
487
+ const largest = this.slicesDetails
488
+ .map((s) => s.amount)
489
+ .reduce((a, b) => {
490
+ return a > b ? a : b;
491
+ });
492
+ const labelWidth = parseInt(getComputedStyle(this.el).getPropertyValue("--labelWidth"), 10);
493
+ const chartPadding = 48;
494
+ const componentWidth = this.el.getBoundingClientRect().width;
495
+ const chartWidth = componentWidth - labelWidth - chartPadding;
496
+ let numTicks = getMaxTicks(chartWidth);
497
+ let interval = getInterval(largest, numTicks);
498
+ // after the algorithm finds an interval, remove extra ticks so that the greater number is always between the last tick and the one before that
499
+ const lastTickVal = numTicks * interval;
500
+ const extraTicks = Math.floor((lastTickVal - largest) / interval);
501
+ numTicks -= extraTicks;
502
+ this.el.style.setProperty("--backgroundSize", 100 / numTicks + "%");
503
+ this.el.style.setProperty("--labelWidth", this.labelWidth);
504
+ if (chartType === "bar7" && !this.showBarLegend) {
505
+ this.el.style.setProperty("--labelWidth", "0px");
506
+ }
507
+ // we have to prep the data here rather than iterate directly in the return statement
508
+ // because CSS grid needs a flat structure, and return functions must
509
+ // have a single parent element
510
+ const rows = [];
511
+ this.slicesDetails.forEach((s) => {
512
+ s.legend && rows.push(renderSimpleBarLegend(s.legend, this.showBarLegend, chartType));
513
+ rows.push(renderSimpleBarItem.call(this, s, interval, numTicks, largest));
514
+ });
515
+ const ticks = [];
516
+ for (let i = 1; i <= numTicks; i++) {
517
+ const tickVal = abbrNumber(i * interval);
518
+ ticks.push(index.h("div", { class: "tick" },
519
+ index.h("span", null, tickVal)));
520
+ }
521
+ const showGrid = chartType === "bar6" && this.showGrid && this.el.getBoundingClientRect().width > 300;
522
+ return (index.h("div", { class: "chart-wrapper simple-bar-wrapper" },
523
+ index.h("div", { class: `chart ${showValue(this.valueFormat)}` },
524
+ showGrid && index.h("div", { class: "gridlines" }),
525
+ index.h("div", { class: "rows" }, rows)),
526
+ showGrid && (index.h("div", { class: "x-axis", "aria-hidden": "true" },
527
+ index.h("div", { class: "zero" },
528
+ index.h("span", null, "0")),
529
+ ticks))));
530
+ }
531
+ function renderSimpleBarLegend(legend, show, chartType) {
532
+ // not sure how to collapse the left column to 0 width with CSS grid. text should still be available to SR.
533
+ const hidden = chartType === "bar7" && !show ? " hidden" : "";
534
+ return index.h("label", { class: `label${hidden}` }, legend);
535
+ }
536
+ function renderSimpleBarItem(s, interval, ticks, largest) {
537
+ const chartMaxVal = this.currentChartType === "bar6" ? interval * ticks : largest;
538
+ const width = amountToPercent(s.amount, chartMaxVal, false);
539
+ const cssWidth = width ? width + "%" : "1px";
540
+ const amt = abbrNumber(s.amount);
541
+ let displayValue = this.valueFormat === "amount" ? amt : "";
542
+ if (this.currentChartType === "bar6" && this.valueFormat === "percentage") {
543
+ displayValue = s.amount + "%";
544
+ }
545
+ else if (this.currentChartType === "bar7" && this.valueFormat === "percentage") {
546
+ displayValue = (this.total === 0 ? "0" : amountToPercent(s.amount, this.total, true)) + "%";
547
+ }
548
+ return (index.h("div", { class: "bar segment", style: {
549
+ backgroundColor: s.color,
550
+ width: cssWidth,
551
+ }, onClick: (ev) => handleSliceClick.call(this, ev, s), onFocus: (ev) => handleSliceFocus.call(this, ev, s), onKeyDown: (ev) => handleSliceKeyDown.call(this, ev) },
552
+ index.h("div", { class: "value" }, displayValue)));
553
+ }
554
+ function renderLegend(chartType) {
555
+ // legend is hidden for bar1 and bar6 types regardless of showLegend value
556
+ if (this.showLegend) {
557
+ const hasCluster = !this.chartDetails.isBar &&
558
+ this.slicesDetails.reduce((hasCluster, cur) => (hasCluster = cur.inSmallCluster ? true : hasCluster), false);
559
+ return (index.h("div", { class: "legend-wrapper" },
560
+ index.h("div", { class: `legend ${chartType} ${this.mode === "bar" ? "--top" : "--bottom"}`, "aria-hidden": "true" }, this.slicesDetails.map((s) => {
561
+ // when both legend and amount are omitted, the legend is not shown for that particular option (it's been deactivated by the user)
562
+ if (!!s.amount || !!s.legend) {
563
+ return renderLegendItem({ key: s.legend, color: s.color });
564
+ }
565
+ })),
566
+ hasCluster && renderHiddenValuesMessage()));
567
+ }
568
+ }
569
+ function renderLegendItem(legendItem) {
570
+ return (index.h("div", { class: "legend-item" },
571
+ index.h("div", { class: "legend-color", style: { backgroundColor: legendItem.color } }),
572
+ index.h("div", { class: "legend-text" }, legendItem.key)));
573
+ }
574
+ function renderCompletionMessage() {
575
+ if (this.completionMessage) {
576
+ return index.h("div", { class: "completion-message" }, this.completionMessage);
577
+ }
578
+ }
579
+ function renderHiddenValuesMessage() {
580
+ return (index.h("div", { class: "hidden-values-warning" },
581
+ textHiddenMessage,
582
+ index.h("br", null),
583
+ seeDetailsMessage));
584
+ }
585
+
586
+ exports.abbrNumber = abbrNumber;
587
+ exports.allChartsDetails = allChartsDetails;
588
+ exports.amountToPercent = amountToPercent;
589
+ exports.exitChart = exitChart;
590
+ exports.getDetails = getDetails;
591
+ exports.getInterval = getInterval;
592
+ exports.handleChartKeydown = handleChartKeydown;
593
+ exports.renderCompletionMessage = renderCompletionMessage;
594
+ exports.renderDoughnut = renderDoughnut;
595
+ exports.renderHiddenValuesMessage = renderHiddenValuesMessage;
596
+ exports.renderInstructionsText = renderInstructionsText;
597
+ exports.renderLegend = renderLegend;
598
+ exports.renderLegendItem = renderLegendItem;
599
+ exports.renderSimpleBar = renderSimpleBar;
600
+ exports.renderStackedBar = renderStackedBar;