@watermarkinsights/ripple 5.13.0-alpha.3 → 5.13.0-alpha.5

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 (470) hide show
  1. package/dist/components/wm-flyout.d.ts +11 -0
  2. package/dist/{components/index.js → ripple/app-globals-B7cOtGhY.js} +82 -3
  3. package/dist/{components/chartFunctions.js → ripple/chartFunctions-1XZcmyix.js} +3 -2
  4. package/dist/{components/functions.js → ripple/functions-DVLl0rH_.js} +7844 -146
  5. package/dist/ripple/index-CU5QNCKv.js +4167 -0
  6. package/dist/ripple/index.esm.js +1 -0
  7. package/dist/{collection/global/interfaces.js → ripple/interfaces-CrANcZM9.js} +6 -4
  8. package/dist/{esm/intl-DYVRT1s6.js → ripple/intl-7p27BJSM.js} +1 -1
  9. package/dist/ripple/priv-calendar.entry.js +566 -0
  10. package/dist/ripple/{p-3065bbe5.system.entry.js → priv-chart-popover.entry.js} +134 -1
  11. package/dist/ripple/priv-navigator-button.entry.js +24 -0
  12. package/dist/ripple/{p-568e29d3.entry.js → priv-navigator-item.entry.js} +30 -1
  13. package/dist/ripple/{p-42f9cd3d.entry.js → priv-option-list.entry.js} +385 -1
  14. package/dist/ripple/ripple.css +809 -1
  15. package/dist/ripple/ripple.esm.js +48 -1
  16. package/dist/ripple/wm-action-menu.entry.js +201 -0
  17. package/dist/{esm/wm-progress-monitor.entry.js → ripple/wm-button.entry.js} +175 -49
  18. package/dist/{esm → ripple}/wm-chart-slice.entry.js +1 -1
  19. package/dist/ripple/{p-74b1e110.entry.js → wm-chart.entry.js} +157 -1
  20. package/dist/ripple/wm-date-range.entry.js +477 -0
  21. package/dist/ripple/wm-datepicker.entry.js +247 -0
  22. package/dist/{esm/wm-navigation-item.entry.js → ripple/wm-file-list.entry.js} +7 -7
  23. package/dist/{esm/wm-navigation.entry.js → ripple/wm-file.entry.js} +157 -91
  24. package/dist/{components/wm-nested-select.js → ripple/wm-flyout.entry.js} +128 -312
  25. package/dist/{esm/wm-modal-header.entry.js → ripple/wm-input.entry.js} +99 -24
  26. package/dist/{cjs/wm-chart.cjs.entry.js → ripple/wm-line-chart.entry.js} +403 -113
  27. package/dist/{esm/wm-modal-pss-header.entry.js → ripple/wm-menuitem.entry.js} +114 -28
  28. package/dist/ripple/wm-modal-footer.entry.js +44 -0
  29. package/dist/{components/priv-navigator-button2.js → ripple/wm-modal-header.entry.js} +29 -35
  30. package/dist/ripple/wm-modal-pss-footer.entry.js +40 -0
  31. package/dist/ripple/wm-modal-pss-header.entry.js +39 -0
  32. package/dist/{cjs/priv-chart-popover.cjs.entry.js → ripple/wm-modal-pss.entry.js} +108 -109
  33. package/dist/{esm/wm-modal-footer.entry.js → ripple/wm-modal.entry.js} +117 -28
  34. package/dist/ripple/wm-navigation-hamburger.entry.js +48 -0
  35. package/dist/ripple/wm-navigation-item.entry.js +18 -0
  36. package/dist/{esm-es5/wm-modal-footer.entry.js → ripple/wm-navigation.entry.js} +116 -1
  37. package/dist/{esm/wm-chart.entry.js → ripple/wm-navigator.entry.js} +334 -123
  38. package/dist/ripple/wm-nested-select.entry.js +308 -0
  39. package/dist/{esm/wm-modal-pss-footer.entry.js → ripple/wm-optgroup.entry.js} +56 -28
  40. package/dist/{components/priv-option-list2.js → ripple/wm-option.entry.js} +134 -384
  41. package/dist/ripple/wm-pagination.entry.js +223 -0
  42. package/dist/ripple/{p-735d033a.entry.js → wm-progress-indicator.entry.js} +107 -1
  43. package/dist/ripple/wm-progress-monitor.entry.js +71 -0
  44. package/dist/{esm → ripple}/wm-progress-slice.entry.js +1 -1
  45. package/dist/{cjs/wm-nested-select.cjs.entry.js → ripple/wm-search.entry.js} +171 -273
  46. package/dist/{esm/wm-nested-select.entry.js → ripple/wm-select.entry.js} +134 -193
  47. package/dist/{components/priv-chart-popover2.js → ripple/wm-snackbar.entry.js} +155 -131
  48. package/dist/ripple/{p-b12640bd.entry.js → wm-tab-item.entry.js} +63 -1
  49. package/dist/{esm-es5/wm-file-list.entry.js → ripple/wm-tab-list.entry.js} +175 -1
  50. package/dist/{cjs/wm-navigation-item.cjs.entry.js → ripple/wm-tab-panel.entry.js} +24 -12
  51. package/dist/ripple/wm-tag-input.entry.js +877 -0
  52. package/dist/{esm → ripple}/wm-tag-option.entry.js +2 -2
  53. package/dist/{esm/priv-chart-popover.entry.js → ripple/wm-textarea.entry.js} +53 -108
  54. package/dist/ripple/wm-timepicker.entry.js +300 -0
  55. package/dist/{components/priv-navigator-item2.js → ripple/wm-toggletip.entry.js} +171 -44
  56. package/dist/ripple/{p-5b02ae40.entry.js → wm-uploader.entry.js} +313 -1
  57. package/dist/{esm → ripple}/wm-wrapper.entry.js +1 -1
  58. package/dist/types/components/wm-flyout/wm-flyout.d.ts +46 -0
  59. package/dist/types/components.d.ts +56 -0
  60. package/dist/types/global/functions.d.ts +1 -0
  61. package/package.json +30 -6
  62. package/dist/cjs/app-globals-DztnjEf7.js +0 -92
  63. package/dist/cjs/chartFunctions-CM2Nah_s.js +0 -731
  64. package/dist/cjs/functions-CoXfjC6r.js +0 -10450
  65. package/dist/cjs/index-Cig4P4gJ.js +0 -2082
  66. package/dist/cjs/index.cjs.js +0 -2
  67. package/dist/cjs/interfaces-C7YbtGnk.js +0 -37
  68. package/dist/cjs/intl-DVt1J717.js +0 -283
  69. package/dist/cjs/loader.cjs.js +0 -13
  70. package/dist/cjs/priv-calendar.cjs.entry.js +0 -568
  71. package/dist/cjs/priv-navigator-button_2.cjs.entry.js +0 -54
  72. package/dist/cjs/priv-option-list_2.cjs.entry.js +0 -556
  73. package/dist/cjs/ripple.cjs.js +0 -25
  74. package/dist/cjs/wm-action-menu_4.cjs.entry.js +0 -702
  75. package/dist/cjs/wm-chart-slice.cjs.entry.js +0 -20
  76. package/dist/cjs/wm-date-range.cjs.entry.js +0 -479
  77. package/dist/cjs/wm-datepicker.cjs.entry.js +0 -249
  78. package/dist/cjs/wm-file-list.cjs.entry.js +0 -20
  79. package/dist/cjs/wm-file.cjs.entry.js +0 -184
  80. package/dist/cjs/wm-input.cjs.entry.js +0 -113
  81. package/dist/cjs/wm-line-chart.cjs.entry.js +0 -451
  82. package/dist/cjs/wm-modal-footer.cjs.entry.js +0 -46
  83. package/dist/cjs/wm-modal-header.cjs.entry.js +0 -38
  84. package/dist/cjs/wm-modal-pss-footer.cjs.entry.js +0 -42
  85. package/dist/cjs/wm-modal-pss-header.cjs.entry.js +0 -41
  86. package/dist/cjs/wm-modal-pss.cjs.entry.js +0 -137
  87. package/dist/cjs/wm-modal.cjs.entry.js +0 -135
  88. package/dist/cjs/wm-navigation-hamburger.cjs.entry.js +0 -50
  89. package/dist/cjs/wm-navigation.cjs.entry.js +0 -118
  90. package/dist/cjs/wm-navigator.cjs.entry.js +0 -329
  91. package/dist/cjs/wm-optgroup.cjs.entry.js +0 -70
  92. package/dist/cjs/wm-pagination.cjs.entry.js +0 -225
  93. package/dist/cjs/wm-progress-indicator.cjs.entry.js +0 -109
  94. package/dist/cjs/wm-progress-monitor.cjs.entry.js +0 -73
  95. package/dist/cjs/wm-progress-slice.cjs.entry.js +0 -15
  96. package/dist/cjs/wm-search.cjs.entry.js +0 -210
  97. package/dist/cjs/wm-select.cjs.entry.js +0 -251
  98. package/dist/cjs/wm-tab-item.cjs.entry.js +0 -65
  99. package/dist/cjs/wm-tab-list.cjs.entry.js +0 -177
  100. package/dist/cjs/wm-tab-panel.cjs.entry.js +0 -34
  101. package/dist/cjs/wm-tag-input.cjs.entry.js +0 -879
  102. package/dist/cjs/wm-tag-option.cjs.entry.js +0 -37
  103. package/dist/cjs/wm-textarea.cjs.entry.js +0 -81
  104. package/dist/cjs/wm-timepicker.cjs.entry.js +0 -302
  105. package/dist/cjs/wm-toggletip.cjs.entry.js +0 -178
  106. package/dist/cjs/wm-uploader.cjs.entry.js +0 -315
  107. package/dist/cjs/wm-wrapper.cjs.entry.js +0 -19
  108. package/dist/collection/collection-manifest.json +0 -58
  109. package/dist/collection/components/charts/chartFunctions.js +0 -665
  110. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.css +0 -908
  111. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +0 -261
  112. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +0 -128
  113. package/dist/collection/components/charts/wm-chart/wm-chart.css +0 -1274
  114. package/dist/collection/components/charts/wm-chart/wm-chart.js +0 -445
  115. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.css +0 -1067
  116. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.js +0 -742
  117. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.css +0 -1274
  118. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +0 -271
  119. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.css +0 -909
  120. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +0 -154
  121. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +0 -124
  122. package/dist/collection/components/datepickers/datepicker.css +0 -1044
  123. package/dist/collection/components/datepickers/priv-calendar/priv-calendar.css +0 -1279
  124. package/dist/collection/components/datepickers/priv-calendar/priv-calendar.js +0 -849
  125. package/dist/collection/components/datepickers/wm-date-range.js +0 -869
  126. package/dist/collection/components/datepickers/wm-datepicker.js +0 -538
  127. package/dist/collection/components/selects/priv-option-list/priv-option-list.css +0 -918
  128. package/dist/collection/components/selects/priv-option-list/priv-option-list.js +0 -791
  129. package/dist/collection/components/selects/wm-nested-select/wm-nested-select.css +0 -1181
  130. package/dist/collection/components/selects/wm-nested-select/wm-nested-select.js +0 -644
  131. package/dist/collection/components/selects/wm-optgroup/wm-optgroup.css +0 -830
  132. package/dist/collection/components/selects/wm-optgroup/wm-optgroup.js +0 -265
  133. package/dist/collection/components/selects/wm-option/wm-option.css +0 -931
  134. package/dist/collection/components/selects/wm-option/wm-option.js +0 -539
  135. package/dist/collection/components/selects/wm-select/wm-select.css +0 -1104
  136. package/dist/collection/components/selects/wm-select/wm-select.js +0 -606
  137. package/dist/collection/components/wm-action-menu/wm-action-menu.css +0 -891
  138. package/dist/collection/components/wm-action-menu/wm-action-menu.js +0 -444
  139. package/dist/collection/components/wm-button/wm-button.css +0 -1261
  140. package/dist/collection/components/wm-button/wm-button.js +0 -510
  141. package/dist/collection/components/wm-file/wm-file.css +0 -927
  142. package/dist/collection/components/wm-file/wm-file.js +0 -423
  143. package/dist/collection/components/wm-file-list/wm-file-list.css +0 -820
  144. package/dist/collection/components/wm-file-list/wm-file-list.js +0 -47
  145. package/dist/collection/components/wm-input/wm-input.css +0 -993
  146. package/dist/collection/components/wm-input/wm-input.js +0 -498
  147. package/dist/collection/components/wm-menuitem/wm-menuitem.css +0 -891
  148. package/dist/collection/components/wm-menuitem/wm-menuitem.js +0 -425
  149. package/dist/collection/components/wm-modal/wm-modal-footer.css +0 -845
  150. package/dist/collection/components/wm-modal/wm-modal-footer.js +0 -152
  151. package/dist/collection/components/wm-modal/wm-modal-header.css +0 -844
  152. package/dist/collection/components/wm-modal/wm-modal-header.js +0 -83
  153. package/dist/collection/components/wm-modal/wm-modal.css +0 -892
  154. package/dist/collection/components/wm-modal/wm-modal.js +0 -356
  155. package/dist/collection/components/wm-modal-pss/wm-modal-pss-footer.css +0 -852
  156. package/dist/collection/components/wm-modal-pss/wm-modal-pss-footer.js +0 -148
  157. package/dist/collection/components/wm-modal-pss/wm-modal-pss-header.css +0 -846
  158. package/dist/collection/components/wm-modal-pss/wm-modal-pss-header.js +0 -86
  159. package/dist/collection/components/wm-modal-pss/wm-modal-pss.css +0 -928
  160. package/dist/collection/components/wm-modal-pss/wm-modal-pss.js +0 -369
  161. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.css +0 -847
  162. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +0 -120
  163. package/dist/collection/components/wm-navigation/wm-navigation-item.css +0 -856
  164. package/dist/collection/components/wm-navigation/wm-navigation-item.js +0 -99
  165. package/dist/collection/components/wm-navigation/wm-navigation.css +0 -898
  166. package/dist/collection/components/wm-navigation/wm-navigation.js +0 -192
  167. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.css +0 -850
  168. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +0 -90
  169. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.css +0 -830
  170. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +0 -130
  171. package/dist/collection/components/wm-navigator/wm-navigator.css +0 -903
  172. package/dist/collection/components/wm-navigator/wm-navigator.js +0 -515
  173. package/dist/collection/components/wm-pagination/wm-pagination.css +0 -971
  174. package/dist/collection/components/wm-pagination/wm-pagination.js +0 -373
  175. package/dist/collection/components/wm-search/wm-search.css +0 -896
  176. package/dist/collection/components/wm-search/wm-search.js +0 -462
  177. package/dist/collection/components/wm-snackbar/wm-snackbar.css +0 -1078
  178. package/dist/collection/components/wm-snackbar/wm-snackbar.js +0 -280
  179. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.css +0 -869
  180. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +0 -187
  181. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.css +0 -841
  182. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +0 -276
  183. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.css +0 -825
  184. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +0 -97
  185. package/dist/collection/components/wm-tag-input/wm-tag-input.css +0 -1276
  186. package/dist/collection/components/wm-tag-input/wm-tag-input.js +0 -1245
  187. package/dist/collection/components/wm-tag-input/wm-tag-option/wm-tag-option.js +0 -251
  188. package/dist/collection/components/wm-textarea/wm-textarea.css +0 -980
  189. package/dist/collection/components/wm-textarea/wm-textarea.js +0 -331
  190. package/dist/collection/components/wm-timepicker/wm-timepicker.css +0 -1094
  191. package/dist/collection/components/wm-timepicker/wm-timepicker.js +0 -559
  192. package/dist/collection/components/wm-toggletip/wm-toggletip.css +0 -1152
  193. package/dist/collection/components/wm-toggletip/wm-toggletip.js +0 -295
  194. package/dist/collection/components/wm-uploader/wm-uploader.css +0 -1563
  195. package/dist/collection/components/wm-uploader/wm-uploader.js +0 -618
  196. package/dist/collection/components/wm-wrapper/wm-wrapper.js +0 -28
  197. package/dist/collection/dev/action-menu.js +0 -0
  198. package/dist/collection/dev/button.js +0 -0
  199. package/dist/collection/dev/chart-small.js +0 -56
  200. package/dist/collection/dev/chart.js +0 -18
  201. package/dist/collection/dev/date-range.js +0 -6
  202. package/dist/collection/dev/datepicker.js +0 -46
  203. package/dist/collection/dev/file-list.js +0 -16
  204. package/dist/collection/dev/file.js +0 -0
  205. package/dist/collection/dev/input.js +0 -6
  206. package/dist/collection/dev/line-chart.js +0 -0
  207. package/dist/collection/dev/modal.js +0 -48
  208. package/dist/collection/dev/navigation.js +0 -13
  209. package/dist/collection/dev/navigator.js +0 -34
  210. package/dist/collection/dev/nested-select.js +0 -36
  211. package/dist/collection/dev/pagination.js +0 -7
  212. package/dist/collection/dev/progress-monitor.js +0 -0
  213. package/dist/collection/dev/pss-modal.js +0 -8
  214. package/dist/collection/dev/scripts.js +0 -49
  215. package/dist/collection/dev/search.js +0 -72
  216. package/dist/collection/dev/select.js +0 -57
  217. package/dist/collection/dev/snackbar.js +0 -60
  218. package/dist/collection/dev/tabs.js +0 -44
  219. package/dist/collection/dev/tag-input.js +0 -32
  220. package/dist/collection/dev/textarea.js +0 -28
  221. package/dist/collection/dev/timepicker.js +0 -32
  222. package/dist/collection/dev/toggletip.js +0 -9
  223. package/dist/collection/dev/uploader.js +0 -139
  224. package/dist/collection/global/__mocks__/functions.js +0 -6
  225. package/dist/collection/global/functions.js +0 -825
  226. package/dist/collection/global/global.js +0 -88
  227. package/dist/collection/global/intl.js +0 -274
  228. package/dist/collection/global/services/__mocks__/http-service.js +0 -130
  229. package/dist/collection/global/services/http-service.js +0 -50
  230. package/dist/collection/lang/lang.js +0 -5
  231. package/dist/collection/lang/missing.js +0 -43
  232. package/dist/collection/lang/piglatin.js +0 -101
  233. package/dist/components/interfaces.js +0 -34
  234. package/dist/components/intl.js +0 -277
  235. package/dist/components/priv-calendar.js +0 -6
  236. package/dist/components/priv-calendar2.js +0 -592
  237. package/dist/components/priv-chart-popover.js +0 -6
  238. package/dist/components/priv-navigator-button.js +0 -6
  239. package/dist/components/priv-navigator-item.js +0 -6
  240. package/dist/components/priv-option-list.js +0 -6
  241. package/dist/components/wm-action-menu.js +0 -6
  242. package/dist/components/wm-action-menu2.js +0 -231
  243. package/dist/components/wm-button.js +0 -6
  244. package/dist/components/wm-button2.js +0 -231
  245. package/dist/components/wm-chart-slice.js +0 -41
  246. package/dist/components/wm-chart.js +0 -197
  247. package/dist/components/wm-date-range.js +0 -522
  248. package/dist/components/wm-datepicker.js +0 -287
  249. package/dist/components/wm-file-list.js +0 -38
  250. package/dist/components/wm-file.js +0 -228
  251. package/dist/components/wm-input.js +0 -152
  252. package/dist/components/wm-line-chart.js +0 -497
  253. package/dist/components/wm-menuitem.js +0 -6
  254. package/dist/components/wm-menuitem2.js +0 -146
  255. package/dist/components/wm-modal-footer.js +0 -73
  256. package/dist/components/wm-modal-header.js +0 -61
  257. package/dist/components/wm-modal-pss-footer.js +0 -69
  258. package/dist/components/wm-modal-pss-header.js +0 -64
  259. package/dist/components/wm-modal-pss.js +0 -162
  260. package/dist/components/wm-modal.js +0 -161
  261. package/dist/components/wm-navigation-hamburger.js +0 -70
  262. package/dist/components/wm-navigation-item.js +0 -40
  263. package/dist/components/wm-navigation.js +0 -144
  264. package/dist/components/wm-navigator.js +0 -369
  265. package/dist/components/wm-optgroup.js +0 -107
  266. package/dist/components/wm-option.js +0 -6
  267. package/dist/components/wm-option2.js +0 -196
  268. package/dist/components/wm-pagination.js +0 -251
  269. package/dist/components/wm-progress-indicator.js +0 -144
  270. package/dist/components/wm-progress-monitor.js +0 -93
  271. package/dist/components/wm-progress-slice.js +0 -37
  272. package/dist/components/wm-search.js +0 -250
  273. package/dist/components/wm-select.js +0 -6
  274. package/dist/components/wm-select2.js +0 -294
  275. package/dist/components/wm-snackbar.js +0 -210
  276. package/dist/components/wm-tab-item.js +0 -85
  277. package/dist/components/wm-tab-list.js +0 -217
  278. package/dist/components/wm-tab-panel.js +0 -52
  279. package/dist/components/wm-tag-input.js +0 -919
  280. package/dist/components/wm-tag-option.js +0 -63
  281. package/dist/components/wm-textarea.js +0 -113
  282. package/dist/components/wm-timepicker.js +0 -333
  283. package/dist/components/wm-toggletip.js +0 -200
  284. package/dist/components/wm-uploader.js +0 -348
  285. package/dist/components/wm-wrapper.js +0 -34
  286. package/dist/esm/app-globals-9HoPoE5v.js +0 -90
  287. package/dist/esm/chartFunctions-BFCUD5JX.js +0 -714
  288. package/dist/esm/functions-ZDMCMR3o.js +0 -10410
  289. package/dist/esm/index-EopL5zo4.js +0 -2071
  290. package/dist/esm/index.js +0 -1
  291. package/dist/esm/interfaces-CyJHzEjr.js +0 -34
  292. package/dist/esm/loader.js +0 -11
  293. package/dist/esm/polyfills/core-js.js +0 -11
  294. package/dist/esm/polyfills/dom.js +0 -79
  295. package/dist/esm/polyfills/es5-html-element.js +0 -1
  296. package/dist/esm/polyfills/index.js +0 -34
  297. package/dist/esm/polyfills/system.js +0 -6
  298. package/dist/esm/priv-calendar.entry.js +0 -566
  299. package/dist/esm/priv-navigator-button_2.entry.js +0 -51
  300. package/dist/esm/priv-option-list_2.entry.js +0 -553
  301. package/dist/esm/ripple.js +0 -21
  302. package/dist/esm/wm-action-menu_4.entry.js +0 -697
  303. package/dist/esm/wm-date-range.entry.js +0 -477
  304. package/dist/esm/wm-datepicker.entry.js +0 -247
  305. package/dist/esm/wm-file-list.entry.js +0 -18
  306. package/dist/esm/wm-file.entry.js +0 -182
  307. package/dist/esm/wm-input.entry.js +0 -111
  308. package/dist/esm/wm-line-chart.entry.js +0 -449
  309. package/dist/esm/wm-modal-pss.entry.js +0 -135
  310. package/dist/esm/wm-modal.entry.js +0 -133
  311. package/dist/esm/wm-navigation-hamburger.entry.js +0 -48
  312. package/dist/esm/wm-navigator.entry.js +0 -327
  313. package/dist/esm/wm-optgroup.entry.js +0 -68
  314. package/dist/esm/wm-pagination.entry.js +0 -223
  315. package/dist/esm/wm-progress-indicator.entry.js +0 -107
  316. package/dist/esm/wm-search.entry.js +0 -208
  317. package/dist/esm/wm-select.entry.js +0 -249
  318. package/dist/esm/wm-tab-item.entry.js +0 -63
  319. package/dist/esm/wm-tab-list.entry.js +0 -175
  320. package/dist/esm/wm-tab-panel.entry.js +0 -32
  321. package/dist/esm/wm-tag-input.entry.js +0 -877
  322. package/dist/esm/wm-textarea.entry.js +0 -79
  323. package/dist/esm/wm-timepicker.entry.js +0 -300
  324. package/dist/esm/wm-toggletip.entry.js +0 -176
  325. package/dist/esm/wm-uploader.entry.js +0 -313
  326. package/dist/esm-es5/app-globals-9HoPoE5v.js +0 -1
  327. package/dist/esm-es5/chartFunctions-BFCUD5JX.js +0 -1
  328. package/dist/esm-es5/functions-ZDMCMR3o.js +0 -1
  329. package/dist/esm-es5/index-EopL5zo4.js +0 -1
  330. package/dist/esm-es5/index.js +0 -0
  331. package/dist/esm-es5/interfaces-CyJHzEjr.js +0 -1
  332. package/dist/esm-es5/intl-DYVRT1s6.js +0 -1
  333. package/dist/esm-es5/loader.js +0 -1
  334. package/dist/esm-es5/priv-calendar.entry.js +0 -1
  335. package/dist/esm-es5/priv-chart-popover.entry.js +0 -1
  336. package/dist/esm-es5/priv-navigator-button_2.entry.js +0 -1
  337. package/dist/esm-es5/priv-option-list_2.entry.js +0 -1
  338. package/dist/esm-es5/ripple.js +0 -1
  339. package/dist/esm-es5/wm-action-menu_4.entry.js +0 -1
  340. package/dist/esm-es5/wm-chart-slice.entry.js +0 -1
  341. package/dist/esm-es5/wm-chart.entry.js +0 -1
  342. package/dist/esm-es5/wm-date-range.entry.js +0 -1
  343. package/dist/esm-es5/wm-datepicker.entry.js +0 -1
  344. package/dist/esm-es5/wm-file.entry.js +0 -1
  345. package/dist/esm-es5/wm-input.entry.js +0 -1
  346. package/dist/esm-es5/wm-line-chart.entry.js +0 -1
  347. package/dist/esm-es5/wm-modal-header.entry.js +0 -1
  348. package/dist/esm-es5/wm-modal-pss-footer.entry.js +0 -1
  349. package/dist/esm-es5/wm-modal-pss-header.entry.js +0 -1
  350. package/dist/esm-es5/wm-modal-pss.entry.js +0 -1
  351. package/dist/esm-es5/wm-modal.entry.js +0 -1
  352. package/dist/esm-es5/wm-navigation-hamburger.entry.js +0 -1
  353. package/dist/esm-es5/wm-navigation-item.entry.js +0 -1
  354. package/dist/esm-es5/wm-navigation.entry.js +0 -1
  355. package/dist/esm-es5/wm-navigator.entry.js +0 -1
  356. package/dist/esm-es5/wm-nested-select.entry.js +0 -1
  357. package/dist/esm-es5/wm-optgroup.entry.js +0 -1
  358. package/dist/esm-es5/wm-pagination.entry.js +0 -1
  359. package/dist/esm-es5/wm-progress-indicator.entry.js +0 -1
  360. package/dist/esm-es5/wm-progress-monitor.entry.js +0 -1
  361. package/dist/esm-es5/wm-progress-slice.entry.js +0 -1
  362. package/dist/esm-es5/wm-search.entry.js +0 -1
  363. package/dist/esm-es5/wm-select.entry.js +0 -1
  364. package/dist/esm-es5/wm-tab-item.entry.js +0 -1
  365. package/dist/esm-es5/wm-tab-list.entry.js +0 -1
  366. package/dist/esm-es5/wm-tab-panel.entry.js +0 -1
  367. package/dist/esm-es5/wm-tag-input.entry.js +0 -1
  368. package/dist/esm-es5/wm-tag-option.entry.js +0 -1
  369. package/dist/esm-es5/wm-textarea.entry.js +0 -1
  370. package/dist/esm-es5/wm-timepicker.entry.js +0 -1
  371. package/dist/esm-es5/wm-toggletip.entry.js +0 -1
  372. package/dist/esm-es5/wm-uploader.entry.js +0 -1
  373. package/dist/esm-es5/wm-wrapper.entry.js +0 -1
  374. package/dist/index.cjs.js +0 -1
  375. package/dist/index.js +0 -1
  376. package/dist/loader/cdn.js +0 -2
  377. package/dist/loader/index.cjs.js +0 -2
  378. package/dist/loader/index.d.ts +0 -24
  379. package/dist/loader/index.es2017.js +0 -2
  380. package/dist/loader/index.js +0 -3
  381. package/dist/ripple/p-032f127e.entry.js +0 -1
  382. package/dist/ripple/p-0bd43518.system.entry.js +0 -1
  383. package/dist/ripple/p-0dccd9b4.system.entry.js +0 -1
  384. package/dist/ripple/p-0dffa9ff.system.entry.js +0 -1
  385. package/dist/ripple/p-10d2b86e.entry.js +0 -1
  386. package/dist/ripple/p-1818d7f9.entry.js +0 -1
  387. package/dist/ripple/p-18d22114.system.entry.js +0 -1
  388. package/dist/ripple/p-1a769629.system.entry.js +0 -1
  389. package/dist/ripple/p-271ba485.system.entry.js +0 -1
  390. package/dist/ripple/p-2d41fbed.system.entry.js +0 -1
  391. package/dist/ripple/p-2f26b6ac.entry.js +0 -1
  392. package/dist/ripple/p-306caa10.entry.js +0 -1
  393. package/dist/ripple/p-32f2f3b4.system.entry.js +0 -1
  394. package/dist/ripple/p-340b73a9.system.entry.js +0 -1
  395. package/dist/ripple/p-47b525bd.entry.js +0 -1
  396. package/dist/ripple/p-492a8a9f.entry.js +0 -1
  397. package/dist/ripple/p-4c316652.system.entry.js +0 -1
  398. package/dist/ripple/p-54aeadde.entry.js +0 -1
  399. package/dist/ripple/p-588a86ed.system.entry.js +0 -1
  400. package/dist/ripple/p-591fd100.entry.js +0 -1
  401. package/dist/ripple/p-5a6cbc14.system.entry.js +0 -1
  402. package/dist/ripple/p-5abe1171.system.entry.js +0 -1
  403. package/dist/ripple/p-5ae17300.system.entry.js +0 -1
  404. package/dist/ripple/p-5e438798.system.entry.js +0 -1
  405. package/dist/ripple/p-5ed4177e.entry.js +0 -1
  406. package/dist/ripple/p-6133160d.system.entry.js +0 -1
  407. package/dist/ripple/p-620aff89.entry.js +0 -1
  408. package/dist/ripple/p-65db2c0f.entry.js +0 -1
  409. package/dist/ripple/p-70ed57bf.entry.js +0 -1
  410. package/dist/ripple/p-77a8306c.entry.js +0 -1
  411. package/dist/ripple/p-7886fe5e.system.entry.js +0 -1
  412. package/dist/ripple/p-7ce09692.system.entry.js +0 -1
  413. package/dist/ripple/p-7cf1d9eb.system.entry.js +0 -1
  414. package/dist/ripple/p-7e786c28.system.entry.js +0 -1
  415. package/dist/ripple/p-812615ae.entry.js +0 -1
  416. package/dist/ripple/p-8a33538f.entry.js +0 -1
  417. package/dist/ripple/p-8b9c4e3e.entry.js +0 -1
  418. package/dist/ripple/p-90925ea9.entry.js +0 -1
  419. package/dist/ripple/p-959afdcf.entry.js +0 -1
  420. package/dist/ripple/p-997bdd2e.system.entry.js +0 -1
  421. package/dist/ripple/p-9db5f78e.entry.js +0 -1
  422. package/dist/ripple/p-BexWEx3U.system.js +0 -1
  423. package/dist/ripple/p-BgmAsS86.system.js +0 -1
  424. package/dist/ripple/p-Buh1DT2-.js +0 -1
  425. package/dist/ripple/p-CLZytLAw.system.js +0 -1
  426. package/dist/ripple/p-CTau6pR2.system.js +0 -2
  427. package/dist/ripple/p-CwkTkxrj.system.js +0 -1
  428. package/dist/ripple/p-CyJHzEjr.js +0 -1
  429. package/dist/ripple/p-DXsimRMV.js +0 -1
  430. package/dist/ripple/p-EopL5zo4.js +0 -2
  431. package/dist/ripple/p-GXdCI-yj.system.js +0 -1
  432. package/dist/ripple/p-UJrCrAlw.system.js +0 -1
  433. package/dist/ripple/p-YWpyar7R.system.js +0 -1
  434. package/dist/ripple/p-ZDMCMR3o.js +0 -1
  435. package/dist/ripple/p-b0b94ac4.system.entry.js +0 -1
  436. package/dist/ripple/p-b16431b0.system.entry.js +0 -1
  437. package/dist/ripple/p-b43cc69f.entry.js +0 -1
  438. package/dist/ripple/p-b4917824.entry.js +0 -1
  439. package/dist/ripple/p-b55babe1.system.entry.js +0 -1
  440. package/dist/ripple/p-ba48d47a.entry.js +0 -1
  441. package/dist/ripple/p-ba8ca46b.system.entry.js +0 -1
  442. package/dist/ripple/p-bee35fef.entry.js +0 -1
  443. package/dist/ripple/p-c273bb1c.system.entry.js +0 -1
  444. package/dist/ripple/p-cdebe76b.system.entry.js +0 -1
  445. package/dist/ripple/p-ce9634a2.entry.js +0 -1
  446. package/dist/ripple/p-d20ed498.entry.js +0 -1
  447. package/dist/ripple/p-d3e6498c.system.entry.js +0 -1
  448. package/dist/ripple/p-d40b6ef1.system.entry.js +0 -1
  449. package/dist/ripple/p-d4481342.system.entry.js +0 -1
  450. package/dist/ripple/p-d5bcab58.entry.js +0 -1
  451. package/dist/ripple/p-d7660e7d.entry.js +0 -1
  452. package/dist/ripple/p-d85f017a.system.entry.js +0 -1
  453. package/dist/ripple/p-da5ad94c.system.entry.js +0 -1
  454. package/dist/ripple/p-dcca5771.system.entry.js +0 -1
  455. package/dist/ripple/p-dd236f42.system.entry.js +0 -1
  456. package/dist/ripple/p-de33fd67.entry.js +0 -1
  457. package/dist/ripple/p-e0c9798d.system.entry.js +0 -1
  458. package/dist/ripple/p-e3700f4c.entry.js +0 -1
  459. package/dist/ripple/p-e901154b.entry.js +0 -1
  460. package/dist/ripple/p-e9fc862d.entry.js +0 -1
  461. package/dist/ripple/p-ea885cf3.system.entry.js +0 -1
  462. package/dist/ripple/p-f4c4218c.system.entry.js +0 -1
  463. package/dist/ripple/p-f57eb234.system.entry.js +0 -1
  464. package/dist/ripple/p-f858f5f9.system.entry.js +0 -1
  465. package/dist/ripple/p-f8721463.system.entry.js +0 -1
  466. package/dist/ripple/p-f881be15.entry.js +0 -1
  467. package/dist/ripple/p-f98949ad.entry.js +0 -1
  468. package/dist/ripple/p-fdcbcdf5.entry.js +0 -1
  469. package/dist/ripple/p-sXfORL9J.js +0 -1
  470. package/dist/ripple/ripple.js +0 -127
@@ -1,742 +0,0 @@
1
- import { h, Host, forceUpdate } from "@stencil/core";
2
- import { csvToArray, debounce, transposeMatrix, getSmallestSkipInterval, wrapAround, calcPercentageInRange, } from "../../../global/functions";
3
- import { abbrNumber, getInterval } from "../chartFunctions";
4
- import { chartMessages, globalMessages, lineChartMessages } from "../../../global/intl";
5
- export class LineChart {
6
- constructor() {
7
- this.description = "";
8
- this.units = "null,null";
9
- this.labelWidth = "120px";
10
- this.highlightQualifier = lineChartMessages.highlightQualifier;
11
- this.visibilityToggles = false;
12
- this.showDeltas = false;
13
- this.parsedLineData = {};
14
- this.popoverIndex = -1;
15
- this.focusedLine = -1;
16
- this.hiddenLines = [];
17
- this.isTabbing = false;
18
- this.intervalSkip = 0;
19
- this.announcement = "";
20
- this.minTickWidth = 120;
21
- this.popoverData = [];
22
- this.dataPointMatrix = [];
23
- this.xIntervals = [];
24
- this.displayedXIntervals = [];
25
- this.yIntervals = [];
26
- this.lineStyles = [
27
- { color: "#8b86ca", icon: "triangle" }, // lavender
28
- { color: "#2e1b46", icon: "circle" }, // midnight
29
- { color: "#0089e4", icon: "square" }, // blue
30
- { color: "#088000", icon: "star" }, // forest
31
- { color: "#ea8500", icon: "rhombus" }, // orange
32
- { color: "#d54f41", icon: "triangle-inverted" }, // red
33
- { color: "#146ca9", icon: "pentagon" }, // blue
34
- ];
35
- this.debouncedResize = debounce(async () => {
36
- this.displayedXIntervals = this.determineDisplayedXIntervals();
37
- }, 100);
38
- }
39
- parseData() {
40
- this.parsedLineData = JSON.parse(this.lineData);
41
- this.yIntervals = this.calcYIntervals().reverse(); // needed before building dataPointMatrix
42
- this.xIntervals = Object.keys(Object.values(this.parsedLineData)[0]);
43
- this.displayedXIntervals = this.determineDisplayedXIntervals();
44
- this.dataPointMatrix = Object.entries(this.parsedLineData).map((entry) => this.buildLineDataPointDetails(entry[0], entry[1]));
45
- this.popoverData = transposeMatrix(this.dataPointMatrix);
46
- }
47
- handleIntervalSkip() {
48
- // if intervalSkip ever changes, dataPointMatrix must be regenerated to account for chart spacers
49
- this.parseData();
50
- }
51
- get hasPartialInterval() {
52
- // if chart width is too small, an odd # of intervals like 1,2,3,4,5,6,7 can be shortened to 1,3,5,7 or 1,4,7
53
- // but an even # like 1,2,3,4,5,6,7,8 will be shortened to 1,3,5,7 (can't show first and last interval)
54
- // in these cases, show a partial interval must be shown in order to still provide space to plot the 8th data point
55
- // e.g intervals will be 1-3, 3-5, 5-7, 7-8
56
- return this.intervalSkip > 0 && this.xIntervals.length % 2 === 0;
57
- }
58
- get parsedUnits() {
59
- return csvToArray(this.units).map((unit) => (unit === "null" ? null : unit));
60
- }
61
- get visibilityToggleEls() {
62
- return this.legendEl.querySelectorAll("wm-button");
63
- }
64
- get lineEls() {
65
- return this.plotAreaEl.querySelectorAll(".line");
66
- }
67
- get firstVisibleLineIdx() {
68
- let firstVisibleLineIdx = 0;
69
- while (this.hiddenLines.includes(firstVisibleLineIdx)) {
70
- firstVisibleLineIdx++;
71
- }
72
- return firstVisibleLineIdx < this.dataPointMatrix.length ? firstVisibleLineIdx : -1;
73
- }
74
- get pointEls() {
75
- return this.plotAreaEl.querySelectorAll(".point");
76
- }
77
- toggleTabbingOn() {
78
- this.isTabbing = true;
79
- }
80
- toggleTabbingOff() {
81
- this.isTabbing = false;
82
- }
83
- componentWillLoad() {
84
- this.parseData();
85
- }
86
- componentDidLoad() {
87
- const resizeObserver = new ResizeObserver(() => this.debouncedResize());
88
- resizeObserver.observe(this.el);
89
- }
90
- handleVisibilityToggleKeydown(ev, toggleIdx) {
91
- switch (ev.key) {
92
- case "Tab":
93
- if (!ev.shiftKey && this.firstVisibleLineIdx !== -1) {
94
- ev.preventDefault();
95
- this.announce(this.lineFocusMessage(this.firstVisibleLineIdx));
96
- this.focusDataPointByEl(this.lineEls[this.firstVisibleLineIdx].querySelector(".point"));
97
- }
98
- break;
99
- case "ArrowUp":
100
- case "ArrowLeft":
101
- ev.preventDefault();
102
- const prevToggleIdx = wrapAround(toggleIdx, -1, this.dataPointMatrix.length - 1);
103
- this.visibilityToggleEls[prevToggleIdx].focus();
104
- break;
105
- case "ArrowDown":
106
- case "ArrowRight":
107
- ev.preventDefault();
108
- const nextToggleIdx = wrapAround(toggleIdx, 1, this.dataPointMatrix.length - 1);
109
- this.visibilityToggleEls[nextToggleIdx].focus();
110
- break;
111
- }
112
- }
113
- handleDataPointKeydown(ev) {
114
- const curPointEl = ev.target;
115
- switch (ev.key) {
116
- case "Tab":
117
- if (ev.shiftKey && this.visibilityToggles) {
118
- ev.preventDefault();
119
- this.visibilityToggleEls[0].focus();
120
- }
121
- break;
122
- case "ArrowUp":
123
- ev.preventDefault();
124
- this.navigatePointsVertically(curPointEl, -1);
125
- break;
126
- case "ArrowDown":
127
- ev.preventDefault();
128
- this.navigatePointsVertically(curPointEl, 1);
129
- break;
130
- case "ArrowLeft":
131
- ev.preventDefault();
132
- this.navigatePointsHorizontally(curPointEl, -1);
133
- break;
134
- case "ArrowRight":
135
- ev.preventDefault();
136
- this.navigatePointsHorizontally(curPointEl, 1);
137
- break;
138
- }
139
- }
140
- navigatePointsVertically(originPoint, stepAmount) {
141
- const pointElsInColumn = Array.from(this.pointEls).filter((p) => p.dataset.pointidx == originPoint.dataset.pointidx);
142
- if (pointElsInColumn.length > 1) {
143
- const nextPointIdx = wrapAround(pointElsInColumn.indexOf(originPoint), stepAmount, pointElsInColumn.length - 1);
144
- const nextVerticalPoint = pointElsInColumn[nextPointIdx];
145
- this.announce(this.lineFocusMessage(parseInt(nextVerticalPoint.dataset.lineidx)));
146
- this.focusDataPointByEl(nextVerticalPoint);
147
- }
148
- }
149
- navigatePointsHorizontally(originPoint, stepAmount) {
150
- const linePoints = Array.from(originPoint.parentElement.querySelectorAll(".point"));
151
- if (linePoints.length > 1) {
152
- const nextPointIdxInDirection = wrapAround(linePoints.indexOf(originPoint), stepAmount, linePoints.length - 1);
153
- const nextHorizontalPoint = linePoints[nextPointIdxInDirection];
154
- this.focusDataPointByEl(nextHorizontalPoint);
155
- }
156
- }
157
- announce(message) {
158
- // \u00A0 is a non-breaking space character, which causes the message to be read as a new one
159
- if (this.liveRegionEl.textContent === message) {
160
- message += "\u00A0";
161
- }
162
- this.announcement = message;
163
- }
164
- lineFocusMessage(lineIdx) {
165
- const label = this.dataPointMatrix[lineIdx][0].lineLabel;
166
- const numDataPoints = this.dataPointMatrix[lineIdx].filter((datapoint) => datapoint.yValue !== null).length;
167
- const focusMessage = lineChartMessages.getLineFocusAnnouncement(label, lineIdx + 1, this.dataPointMatrix.length, numDataPoints);
168
- return focusMessage;
169
- }
170
- focusDataPointByEl(pointEl) {
171
- this.pointEls.forEach((point) => (point.tabIndex = -1));
172
- pointEl.tabIndex = 0;
173
- pointEl.focus();
174
- }
175
- calcYIntervals() {
176
- let yIntervals = [];
177
- if (this.yRange) {
178
- yIntervals = csvToArray(this.yRange).map((val) => parseInt(val));
179
- }
180
- else {
181
- // gather all yValues
182
- let allYValues = [];
183
- const lines = Object.values(this.parsedLineData).flat();
184
- lines.forEach((line) => allYValues.push(...Object.values(line)));
185
- const filteredYValues = allYValues.filter((val) => val !== null);
186
- // get max and min yValues in data
187
- let minYValue = Math.min(...filteredYValues);
188
- const maxYValue = Math.max(...filteredYValues);
189
- // calculate neat yInterval
190
- let interval = getInterval(maxYValue - minYValue, 4);
191
- // find new min below smallest yValue that divides cleanly by interval
192
- let counter = interval;
193
- while (minYValue % interval !== 0 && counter > 0) {
194
- minYValue--;
195
- counter--;
196
- }
197
- // calculate new interval using new min
198
- interval = getInterval(maxYValue - minYValue, 4);
199
- let current = minYValue;
200
- // determine top interval, no more than one tick above max yValue
201
- while (current <= maxYValue + interval) {
202
- yIntervals.push(current);
203
- current += interval;
204
- }
205
- }
206
- return yIntervals;
207
- }
208
- determineDisplayedXIntervals() {
209
- // if component has display: none, plotAreaEl is truthy, but it's clientWidth is 0. This caused a crash when component was hidden in a tab
210
- const maxTicks = this.plotAreaEl && this.plotAreaEl.clientWidth > 0
211
- ? Math.round(this.plotAreaEl.clientWidth / this.minTickWidth)
212
- : this.xIntervals.length;
213
- const { skipInterval, skippedList } = getSmallestSkipInterval(this.xIntervals, maxTicks);
214
- this.intervalSkip = skipInterval;
215
- return skippedList;
216
- }
217
- buildLineDataPointDetails(lineLabel, line) {
218
- let dataPointDetailsList = [];
219
- const lineDataPoints = Object.entries(line);
220
- let isHighlighted;
221
- lineDataPoints.forEach((entry, pointIdx) => {
222
- const [xValue, yValue] = entry;
223
- let xPositionPercent = (100 / (lineDataPoints.length - 1)) * pointIdx;
224
- const yPositionPercent = yValue === null
225
- ? null
226
- : 100 - calcPercentageInRange(yValue, this.yIntervals[this.yIntervals.length - 1], this.yIntervals[0]);
227
- // add space between first points and y-axis
228
- if (pointIdx === 0) {
229
- xPositionPercent +=
230
- this.plotAreaEl && this.plotAreaEl.clientWidth > 0 ? (8 / this.plotAreaEl.clientWidth) * 100 : 1;
231
- }
232
- if (xValue === this.highlightStart && !isHighlighted) {
233
- isHighlighted = true;
234
- }
235
- dataPointDetailsList.push({
236
- lineLabel: lineLabel,
237
- xValue: xValue,
238
- yValue: yValue,
239
- xPositionPercent: xPositionPercent,
240
- yPositionPercent: yPositionPercent,
241
- highlighted: isHighlighted,
242
- });
243
- // because highlight range is inclusive, disable after pushing details
244
- if (xValue === this.highlightEnd && isHighlighted) {
245
- isHighlighted = false;
246
- }
247
- });
248
- return dataPointDetailsList;
249
- }
250
- toggleLineVisibility(lineIdx) {
251
- if (this.hiddenLines.includes(lineIdx)) {
252
- this.hiddenLines = this.hiddenLines.filter((num) => num !== lineIdx);
253
- }
254
- else {
255
- this.hiddenLines.push(lineIdx);
256
- }
257
- forceUpdate(this.el);
258
- }
259
- resetDataPointFocus() {
260
- this.popoverIndex = -1;
261
- this.pointEls.forEach((point) => (point.tabIndex = -1));
262
- if (this.firstVisibleLineIdx !== -1) {
263
- const lineEl = this.lineEls[this.firstVisibleLineIdx];
264
- const linePointEl = lineEl.querySelectorAll(".point")[0];
265
- linePointEl.tabIndex = 0;
266
- }
267
- }
268
- calcDelta(dataPoint, prevDataPoint) {
269
- let delta;
270
- if (dataPoint.yValue === null || prevDataPoint.yValue === null) {
271
- // display "No data" when either of the datapoints is missing
272
- delta = lineChartMessages.noData;
273
- }
274
- else if (dataPoint.yValue == prevDataPoint.yValue) {
275
- // display "0%" if datapoints are equal
276
- delta = "0%";
277
- }
278
- else if (prevDataPoint.yValue == 0) {
279
- // display "-" for % increase if prev data point is 0, as the technical number would be infinity
280
- delta = "-";
281
- }
282
- else {
283
- const changePercent = ((dataPoint.yValue - prevDataPoint.yValue) / prevDataPoint.yValue) * 100;
284
- const roundedPercent = Math.round(changePercent * 100) / 100;
285
- delta = `${roundedPercent > 0 ? "+" : ""}${roundedPercent}%`;
286
- }
287
- return delta;
288
- }
289
- renderLegend() {
290
- const lineLabels = Object.keys(this.parsedLineData);
291
- return (h("div", { ref: (el) => (this.legendEl = el), class: "legend" }, lineLabels.map((lineLabel, lineIdx) => {
292
- const isHidden = this.hiddenLines.includes(lineIdx);
293
- const isFaded = this.focusedLine !== -1 && this.focusedLine !== lineIdx;
294
- return (h("div", { id: `legend-label-${lineIdx}`, class: `legend-label ${isFaded ? "faded" : ""}`, onMouseEnter: () => (this.focusedLine = isHidden ? -1 : lineIdx), onMouseLeave: () => (this.focusedLine = -1) }, this.renderIcon(lineIdx), lineLabel, this.visibilityToggles && this.renderVisibilityToggle(lineLabel, lineIdx, isHidden)));
295
- })));
296
- }
297
- renderVisibilityToggle(lineLabel, lineIdx, isHidden) {
298
- return (h("wm-button", { id: `visibility-button-${lineIdx}`, class: "visibility-toggle", "label-for-identical-buttons": `${lineIdx === 0 ? lineChartMessages.getToggleButtonLabel(this.dataPointMatrix.length) : ""} ${isHidden ? globalMessages.show : globalMessages.hide} ${lineLabel} ${lineChartMessages.getToggleButtonState(isHidden)}`, "button-type": "navigational", tooltip: isHidden ? globalMessages.show : globalMessages.hide, tooltipPosition: "bottom", icon: isHidden ? "#hide" : "#show", onClick: () => this.toggleLineVisibility(lineIdx), onKeyDown: (ev) => this.handleVisibilityToggleKeydown(ev, lineIdx), onFocus: () => (this.popoverIndex = -1) }));
299
- }
300
- renderIcon(lineIdx) {
301
- const { color, icon } = this.lineStyles[lineIdx];
302
- return h("div", { style: { color: color }, class: `svg-icon svg-shape-${icon}` });
303
- }
304
- renderXIntervals() {
305
- const gridStyle = {
306
- "--columns": `.5fr repeat(${this.xIntervals.length - 2}, 1fr) .5fr`,
307
- };
308
- return (h("div", { class: "x-intervals", style: gridStyle }, this.xIntervals.map((interval) => (h("span", { class: `x-interval ${this.displayedXIntervals.includes(interval) ? "" : "hidden"}` }, interval)))));
309
- }
310
- renderYIntervals() {
311
- return (h("div", { ref: (el) => (this.yIntervalsEl = el), class: "y-intervals" }, this.yIntervals.map((yInterval) => (h("span", { class: "y-interval" }, abbrNumber(yInterval))))));
312
- }
313
- renderData() {
314
- return this.dataPointMatrix.map((_, lineIdx) => {
315
- let focusState = this.focusedLine === lineIdx ? "focused" : "faded";
316
- const isHidden = this.hiddenLines.includes(lineIdx);
317
- return (h("div", { class: `line ${this.focusedLine !== -1 ? focusState : ""} ${isHidden ? "hidden" : ""}` }, this.renderLines(lineIdx), this.renderPoints(lineIdx)));
318
- });
319
- }
320
- renderPoints(lineIdx) {
321
- const lineDataPoints = this.dataPointMatrix[lineIdx];
322
- return (h("div", { class: "line-icons" }, lineDataPoints.map((dataPoint, pointIdx) => {
323
- const { lineLabel, xValue, yValue, xPositionPercent, yPositionPercent, highlighted } = dataPoint;
324
- if (yValue !== null) {
325
- const { color, icon } = this.lineStyles[lineIdx];
326
- const firstPointTabIndex = lineIdx === 0 && pointIdx === 0 ? 0 : undefined;
327
- const iconStyle = {
328
- color: color,
329
- "--xPosition": xPositionPercent + "%",
330
- "--yPosition": yPositionPercent + "%",
331
- };
332
- let ariaLabel = `${lineLabel} ${highlighted ? this.highlightQualifier : ""} ${this.xAxisLabel} ${xValue + (this.parsedUnits[0] ? this.parsedUnits[0] : "")}, ${this.yAxisLabel}: ${yValue + (this.parsedUnits[1] ? this.parsedUnits[1] : "")}`;
333
- if (this.showDeltas && pointIdx > 0) {
334
- const prevDataPoint = lineDataPoints[pointIdx - 1];
335
- const changeSinceMessage = lineChartMessages.getChangeSince(prevDataPoint.xValue);
336
- ariaLabel += `, ${changeSinceMessage} ${this.calcDelta(dataPoint, prevDataPoint)}`;
337
- }
338
- return (h("span", { id: `${lineLabel}-${pointIdx}`, role: "img", "aria-label": ariaLabel, tabIndex: firstPointTabIndex, class: `point svg-icon svg-shape-${icon}`, style: iconStyle, "data-lineidx": lineIdx, "data-pointidx": pointIdx, "data-xvalue": xValue, onKeyDown: (ev) => this.handleDataPointKeydown(ev), onFocus: () => (this.popoverIndex = pointIdx), onClick: (ev) => this.focusDataPointByEl(ev.target), onMouseEnter: () => (this.popoverIndex = pointIdx) }, h("span", { class: `point-bg svg-icon svg-shape-${icon}` })));
339
- }
340
- })));
341
- }
342
- renderLines(lineIdx) {
343
- const lineDataPoints = this.dataPointMatrix[lineIdx];
344
- return (h("svg", { class: "line-svg" }, lineDataPoints.map((dataPoint, pointIdx) => {
345
- const shouldDraw = dataPoint.yValue !== null &&
346
- pointIdx !== lineDataPoints.length - 1 &&
347
- lineDataPoints[pointIdx + 1].yValue !== null;
348
- if (shouldDraw) {
349
- const { color } = this.lineStyles[lineIdx];
350
- const { xPositionPercent: xStart, yPositionPercent: yStart } = dataPoint;
351
- const { xPositionPercent: xEnd, yPositionPercent: yEnd } = lineDataPoints[pointIdx + 1];
352
- return (h("line", { x1: xStart + "%", y1: yStart + "%", x2: xEnd + "%", y2: yEnd + "%", stroke: color, "stroke-width": "2px" }));
353
- }
354
- })));
355
- }
356
- renderHoverAreas() {
357
- const hoverAreaStyle = { "--columns": `.5fr repeat(${this.xIntervals.length - 2}, 1fr) .5fr` };
358
- return (h("div", { class: "hover-area-wrapper", style: hoverAreaStyle, onMouseLeave: () => (this.popoverIndex = -1) }, this.xIntervals.map((_, idx) => (h("div", { onMouseEnter: () => (this.popoverIndex = idx) })))));
359
- }
360
- renderPopover() {
361
- const hasPopoverData = this.popoverData &&
362
- this.popoverData[this.popoverIndex] &&
363
- this.plotAreaEl.querySelector(`.point[data-xvalue="${this.dataPointMatrix[0][this.popoverIndex].xValue}"]`);
364
- if (!hasPopoverData) {
365
- return "";
366
- }
367
- const displayedPopoverData = this.popoverData[this.popoverIndex];
368
- const xPosition = displayedPopoverData[0].xPositionPercent;
369
- const yPositions = displayedPopoverData
370
- .map((point) => point.yPositionPercent)
371
- .filter((yPosition) => yPosition !== null);
372
- const averageYPosition = yPositions.reduce((acc, cur) => acc + cur, 0) / yPositions.length;
373
- const referencePointEl = this.plotAreaEl.querySelector(`.point[data-xvalue="${this.dataPointMatrix[0][this.popoverIndex].xValue}"]`);
374
- const componentBoundingClientRect = this.el.getBoundingClientRect();
375
- const referencePointBoundingClientRect = referencePointEl.getBoundingClientRect();
376
- const rightSpaceAvailable = componentBoundingClientRect.right - referencePointBoundingClientRect.right;
377
- const leftSpaceAvailable = referencePointBoundingClientRect.left - componentBoundingClientRect.left;
378
- const hasRoomRight = rightSpaceAvailable >= (this.popoverEl ? Math.min(this.popoverEl.clientWidth, 400) : 400);
379
- const hasRoomLeft = leftSpaceAvailable >= (this.popoverEl ? Math.min(this.popoverEl.clientWidth, 400) : 400);
380
- const percentMargin = (8 / this.plotAreaEl.clientWidth) * 100;
381
- let popoverStyle = {
382
- "--leftPosition": hasRoomRight ? xPosition + percentMargin + "%" : "unset",
383
- "--rightPosition": hasRoomLeft ? 100 - xPosition + percentMargin + "%" : "unset",
384
- "--topPosition": averageYPosition + "%",
385
- transform: "translateY(-50%)", // vertically center for averageYPosition
386
- };
387
- if (!hasRoomLeft && !hasRoomRight) {
388
- // if there's not enough room to the left and right, position "detached" from the data points towards the top of the chart
389
- const displaceLeft = `0px - ${this.labelWidth} - 20px - ${this.yIntervalsEl.clientWidth + "px"} + ${this.el.scrollLeft + "px"} + 2px`;
390
- popoverStyle = {
391
- "--leftPosition": `0%`,
392
- "--topPosition": "0%",
393
- maxWidth: Math.min(this.el.clientWidth - 2, 400) + "px", // take up no more max-width than is visually available
394
- transform: `translateX(calc(${displaceLeft}))`, // align with left edge of component
395
- };
396
- }
397
- return (h("div", { ref: (el) => (this.popoverEl = el), class: "popover", style: popoverStyle }, h("div", { class: "title" }, displayedPopoverData[0].xValue, this.parsedUnits[0] && h("span", { class: "unit --x" }, "(", this.parsedUnits[0], ")")), this.showDeltas && this.popoverIndex > 0 && (h("div", { class: "comparison-title" }, lineChartMessages.getChangeSince(this.popoverData[this.popoverIndex - 1][0].xValue))), this.renderPopoverTable()));
398
- }
399
- renderPopoverTable() {
400
- const displayedPopoverData = this.popoverData[this.popoverIndex];
401
- return (h("table", { class: "popover-table" }, displayedPopoverData.map((dataPoint, lineIdx) => {
402
- if (!this.hiddenLines.includes(lineIdx)) {
403
- const { lineLabel, yValue } = dataPoint;
404
- const prevDataPoint = this.popoverIndex > 0 ? this.popoverData[this.popoverIndex - 1][lineIdx] : null;
405
- const localizedYValue = yValue !== null ? new Intl.NumberFormat().format(yValue) : null;
406
- return (h("tr", { class: "popover-row" }, h("td", null, this.renderIcon(lineIdx)), h("td", { class: "row-label" }, lineLabel), h("td", { class: "row-value" }, yValue === null ? lineChartMessages.noData : localizedYValue, yValue !== null && this.parsedUnits[1] && h("span", { class: "unit --y" }, this.parsedUnits[1])), this.showDeltas && prevDataPoint && this.renderDeltas(dataPoint, prevDataPoint)));
407
- }
408
- })));
409
- }
410
- renderDeltas(dataPoint, prevDataPoint) {
411
- const delta = this.calcDelta(dataPoint, prevDataPoint);
412
- const deltaColor = delta.toString()[0] == "+" || delta == "-" ? "positive" : delta.toString()[0] == "-" ? "negative" : "";
413
- return prevDataPoint && h("td", { class: `delta --${deltaColor}` }, delta);
414
- }
415
- renderHoverIndicator() {
416
- const hasIndicatorData = this.dataPointMatrix.length > 0 && this.dataPointMatrix[0][this.popoverIndex];
417
- if (!hasIndicatorData) {
418
- return "";
419
- }
420
- const xPosition = this.dataPointMatrix[0][this.popoverIndex].xPositionPercent;
421
- const indicatorStyle = { "--xPosition": xPosition + "%" };
422
- return h("div", { class: "hover-indicator", style: indicatorStyle });
423
- }
424
- renderHighlight() {
425
- const startPercentage = this.dataPointMatrix[0][this.xIntervals.indexOf(this.highlightStart)].xPositionPercent;
426
- const endPercentage = this.highlightEnd
427
- ? 100 - this.dataPointMatrix[0][this.xIntervals.indexOf(this.highlightEnd)].xPositionPercent
428
- : 0;
429
- const highlightStyle = { "--startPercentage": startPercentage + "%", "--endPercentage": endPercentage + "%" };
430
- return h("div", { class: "highlight", style: highlightStyle });
431
- }
432
- render() {
433
- return (h(Host, { key: 'fb0d9a5d98e31e44e873a45a057151abf8422af2', onBlur: () => this.resetDataPointFocus(), onMouseLeave: () => (this.popoverIndex = -1) }, h("div", { key: '8ad9a77f2ed681fe3e0e12d22e478f578a5f5378', class: "component-wrapper", role: "application", "aria-roledescription": chartMessages.interactiveChart, "aria-label": this.label, "aria-describedby": "chart-description" }, this.renderLegend(), h("div", { key: '8c75ab0d44e8b843bd00ac7c884010f86a7c32ed', class: "chart-wrapper" }, h("div", { key: '733592d351ba71b9e48591ccc87406c90ba6ee1c', class: "chart-label --y-axis", style: { "--labelWidth": this.labelWidth } }, this.yAxisLabel, this.parsedUnits[1] && ` (${this.parsedUnits[1]})`), this.renderYIntervals(), h("div", { key: 'a5d35aca9eb498bf41641978206cda9504d26531', ref: (el) => (this.plotAreaEl = el), class: `plot-area ${this.hasPartialInterval ? "" : "right-border"}`, style: {
434
- "--backgroundSize": `${this.dataPointMatrix[0][this.xIntervals.indexOf(this.displayedXIntervals[1])].xPositionPercent}%`,
435
- } }, this.highlightStart && this.renderHighlight(), this.renderData(), this.renderHoverAreas()), this.popoverIndex !== -1 && this.renderHoverIndicator(), this.popoverIndex !== -1 && this.renderPopover(), this.renderXIntervals(), h("div", { key: '848ec2e4cc1342d06c771dd5043e663c274862d2', class: "chart-label --x-axis" }, this.xAxisLabel, this.parsedUnits[0] && ` (${this.parsedUnits[0]})`)), h("div", { key: 'd9db30e4e1d3eaec8a9fd16a60dc6d15dff0d352', id: "chart-description", class: "sr-only" }, `${lineChartMessages.instructions} ${this.description}`), h("div", { key: '7042ad9fe099a30dde2385a71a4a78d9eb022b73', ref: (el) => (this.liveRegionEl = el), "aria-live": "polite", class: "sr-only" }, this.announcement))));
436
- }
437
- static get is() { return "wm-line-chart"; }
438
- static get encapsulation() { return "shadow"; }
439
- static get originalStyleUrls() {
440
- return {
441
- "$": ["wm-line-chart.scss"]
442
- };
443
- }
444
- static get styleUrls() {
445
- return {
446
- "$": ["wm-line-chart.css"]
447
- };
448
- }
449
- static get properties() {
450
- return {
451
- "label": {
452
- "type": "string",
453
- "attribute": "label",
454
- "mutable": false,
455
- "complexType": {
456
- "original": "string",
457
- "resolved": "string",
458
- "references": {}
459
- },
460
- "required": true,
461
- "optional": false,
462
- "docs": {
463
- "tags": [],
464
- "text": ""
465
- },
466
- "getter": false,
467
- "setter": false,
468
- "reflect": false
469
- },
470
- "description": {
471
- "type": "string",
472
- "attribute": "description",
473
- "mutable": false,
474
- "complexType": {
475
- "original": "string",
476
- "resolved": "string",
477
- "references": {}
478
- },
479
- "required": false,
480
- "optional": false,
481
- "docs": {
482
- "tags": [],
483
- "text": ""
484
- },
485
- "getter": false,
486
- "setter": false,
487
- "reflect": false,
488
- "defaultValue": "\"\""
489
- },
490
- "xAxisLabel": {
491
- "type": "string",
492
- "attribute": "x-axis-label",
493
- "mutable": false,
494
- "complexType": {
495
- "original": "string",
496
- "resolved": "string",
497
- "references": {}
498
- },
499
- "required": true,
500
- "optional": false,
501
- "docs": {
502
- "tags": [],
503
- "text": ""
504
- },
505
- "getter": false,
506
- "setter": false,
507
- "reflect": false
508
- },
509
- "yAxisLabel": {
510
- "type": "string",
511
- "attribute": "y-axis-label",
512
- "mutable": false,
513
- "complexType": {
514
- "original": "string",
515
- "resolved": "string",
516
- "references": {}
517
- },
518
- "required": true,
519
- "optional": false,
520
- "docs": {
521
- "tags": [],
522
- "text": ""
523
- },
524
- "getter": false,
525
- "setter": false,
526
- "reflect": false
527
- },
528
- "lineData": {
529
- "type": "string",
530
- "attribute": "line-data",
531
- "mutable": false,
532
- "complexType": {
533
- "original": "string",
534
- "resolved": "string",
535
- "references": {}
536
- },
537
- "required": true,
538
- "optional": false,
539
- "docs": {
540
- "tags": [],
541
- "text": ""
542
- },
543
- "getter": false,
544
- "setter": false,
545
- "reflect": true
546
- },
547
- "units": {
548
- "type": "string",
549
- "attribute": "units",
550
- "mutable": false,
551
- "complexType": {
552
- "original": "string",
553
- "resolved": "string",
554
- "references": {}
555
- },
556
- "required": false,
557
- "optional": false,
558
- "docs": {
559
- "tags": [],
560
- "text": ""
561
- },
562
- "getter": false,
563
- "setter": false,
564
- "reflect": false,
565
- "defaultValue": "\"null,null\""
566
- },
567
- "labelWidth": {
568
- "type": "string",
569
- "attribute": "label-width",
570
- "mutable": false,
571
- "complexType": {
572
- "original": "string",
573
- "resolved": "string",
574
- "references": {}
575
- },
576
- "required": false,
577
- "optional": false,
578
- "docs": {
579
- "tags": [],
580
- "text": ""
581
- },
582
- "getter": false,
583
- "setter": false,
584
- "reflect": false,
585
- "defaultValue": "\"120px\""
586
- },
587
- "highlightQualifier": {
588
- "type": "string",
589
- "attribute": "highlight-qualifier",
590
- "mutable": false,
591
- "complexType": {
592
- "original": "string",
593
- "resolved": "string",
594
- "references": {}
595
- },
596
- "required": false,
597
- "optional": false,
598
- "docs": {
599
- "tags": [],
600
- "text": ""
601
- },
602
- "getter": false,
603
- "setter": false,
604
- "reflect": false,
605
- "defaultValue": "lineChartMessages.highlightQualifier"
606
- },
607
- "highlightStart": {
608
- "type": "string",
609
- "attribute": "highlight-start",
610
- "mutable": false,
611
- "complexType": {
612
- "original": "string",
613
- "resolved": "string | undefined",
614
- "references": {}
615
- },
616
- "required": false,
617
- "optional": true,
618
- "docs": {
619
- "tags": [],
620
- "text": ""
621
- },
622
- "getter": false,
623
- "setter": false,
624
- "reflect": false
625
- },
626
- "highlightEnd": {
627
- "type": "string",
628
- "attribute": "highlight-end",
629
- "mutable": false,
630
- "complexType": {
631
- "original": "string",
632
- "resolved": "string | undefined",
633
- "references": {}
634
- },
635
- "required": false,
636
- "optional": true,
637
- "docs": {
638
- "tags": [],
639
- "text": ""
640
- },
641
- "getter": false,
642
- "setter": false,
643
- "reflect": false
644
- },
645
- "visibilityToggles": {
646
- "type": "boolean",
647
- "attribute": "visibility-toggles",
648
- "mutable": false,
649
- "complexType": {
650
- "original": "boolean",
651
- "resolved": "boolean",
652
- "references": {}
653
- },
654
- "required": false,
655
- "optional": false,
656
- "docs": {
657
- "tags": [],
658
- "text": ""
659
- },
660
- "getter": false,
661
- "setter": false,
662
- "reflect": false,
663
- "defaultValue": "false"
664
- },
665
- "showDeltas": {
666
- "type": "boolean",
667
- "attribute": "show-deltas",
668
- "mutable": false,
669
- "complexType": {
670
- "original": "boolean",
671
- "resolved": "boolean",
672
- "references": {}
673
- },
674
- "required": false,
675
- "optional": false,
676
- "docs": {
677
- "tags": [],
678
- "text": ""
679
- },
680
- "getter": false,
681
- "setter": false,
682
- "reflect": false,
683
- "defaultValue": "false"
684
- },
685
- "yRange": {
686
- "type": "string",
687
- "attribute": "y-range",
688
- "mutable": false,
689
- "complexType": {
690
- "original": "string",
691
- "resolved": "string | undefined",
692
- "references": {}
693
- },
694
- "required": false,
695
- "optional": true,
696
- "docs": {
697
- "tags": [],
698
- "text": ""
699
- },
700
- "getter": false,
701
- "setter": false,
702
- "reflect": false
703
- }
704
- };
705
- }
706
- static get states() {
707
- return {
708
- "parsedLineData": {},
709
- "popoverIndex": {},
710
- "focusedLine": {},
711
- "hiddenLines": {},
712
- "isTabbing": {},
713
- "intervalSkip": {},
714
- "announcement": {}
715
- };
716
- }
717
- static get elementRef() { return "el"; }
718
- static get watchers() {
719
- return [{
720
- "propName": "lineData",
721
- "methodName": "parseData"
722
- }, {
723
- "propName": "intervalSkip",
724
- "methodName": "handleIntervalSkip"
725
- }];
726
- }
727
- static get listeners() {
728
- return [{
729
- "name": "wmUserIsTabbing",
730
- "method": "toggleTabbingOn",
731
- "target": "window",
732
- "capture": false,
733
- "passive": false
734
- }, {
735
- "name": "wmUserIsNotTabbing",
736
- "method": "toggleTabbingOff",
737
- "target": "window",
738
- "capture": false,
739
- "passive": false
740
- }];
741
- }
742
- }