@watermarkinsights/ripple 4.3.0 → 4.4.0-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 (371) hide show
  1. package/dist/cjs/chartFunctions-cecf8134.js +600 -0
  2. package/dist/cjs/{functions-91da05e9.js → functions-4208c444.js} +362 -362
  3. package/dist/cjs/{global-20d48c6c.js → global-bd289a67.js} +24 -24
  4. package/dist/cjs/{index-fae02cd7.js → index-f8ef86de.js} +436 -150
  5. package/dist/cjs/interfaces-ad9e80a6.js +38 -0
  6. package/dist/cjs/intl-3fafc6d1.js +179 -0
  7. package/dist/cjs/loader.cjs.js +4 -13
  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 +4 -7
  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 +462 -462
  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 +255 -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 +257 -254
  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 +382 -381
  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 +1 -2
  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 +731 -731
  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 +454 -452
  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 +943 -939
  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 +1 -2
  67. package/dist/collection/components/wm-datepicker/wm-datepicker.e2e.js +359 -359
  68. package/dist/collection/components/wm-datepicker/wm-datepicker.js +415 -413
  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 +446 -436
  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 +299 -296
  86. package/dist/collection/components/wm-modal/wm-modal.spec.js +22 -22
  87. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.css +0 -1
  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 +0 -2
  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 +119 -118
  97. package/dist/collection/components/wm-navigator/wm-navigator.e2e.js +180 -180
  98. package/dist/collection/components/wm-navigator/wm-navigator.js +458 -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 +474 -463
  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 +415 -414
  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 +967 -966
  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 +209 -207
  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 +190 -188
  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 +2 -4
  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 +236 -234
  124. package/dist/collection/components/wm-timepicker/wm-timepicker.css +1 -2
  125. package/dist/collection/components/wm-timepicker/wm-timepicker.e2e.js +147 -147
  126. package/dist/collection/components/wm-timepicker/wm-timepicker.js +531 -527
  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 +209 -208
  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 +423 -422
  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-23173fce.js +584 -0
  147. package/dist/esm/{functions-5afd09f4.js → functions-d0e70094.js} +362 -362
  148. package/dist/esm/{global-d4a9e80e.js → global-4569c7b8.js} +24 -24
  149. package/dist/esm/{index-7e11ea42.js → index-f164fbca.js} +436 -150
  150. package/dist/esm/interfaces-9b75fb61.js +35 -0
  151. package/dist/esm/intl-05c9e0c9.js +174 -0
  152. package/dist/esm/loader.js +5 -14
  153. package/dist/esm/priv-chart-popover.entry.js +85 -85
  154. package/dist/esm/priv-datepicker.entry.js +637 -637
  155. package/dist/esm/priv-navigator-button.entry.js +18 -18
  156. package/dist/esm/priv-navigator-item.entry.js +21 -21
  157. package/dist/esm/ripple.js +5 -8
  158. package/dist/esm/wm-action-menu_2.entry.js +314 -314
  159. package/dist/esm/wm-button.entry.js +174 -174
  160. package/dist/esm/wm-chart-slice.entry.js +17 -17
  161. package/dist/esm/wm-chart.entry.js +164 -164
  162. package/dist/esm/wm-datepicker.entry.js +160 -160
  163. package/dist/esm/wm-file-list.entry.js +10 -10
  164. package/dist/esm/wm-file.entry.js +178 -178
  165. package/dist/esm/wm-input.entry.js +102 -102
  166. package/dist/esm/wm-line-chart.entry.js +462 -462
  167. package/dist/esm/wm-modal-footer.entry.js +27 -27
  168. package/dist/esm/wm-modal-header.entry.js +21 -21
  169. package/dist/esm/wm-modal.entry.js +92 -92
  170. package/dist/esm/wm-navigation_3.entry.js +179 -179
  171. package/dist/esm/wm-navigator.entry.js +255 -251
  172. package/dist/esm/wm-option_2.entry.js +710 -710
  173. package/dist/esm/wm-pagination.entry.js +169 -169
  174. package/dist/esm/wm-progress-indicator_3.entry.js +151 -151
  175. package/dist/esm/wm-search.entry.js +192 -192
  176. package/dist/esm/wm-snackbar.entry.js +114 -114
  177. package/dist/esm/wm-tab-item_3.entry.js +247 -247
  178. package/dist/esm/wm-tag-input.entry.js +849 -849
  179. package/dist/esm/wm-tag-option.entry.js +33 -33
  180. package/dist/esm/wm-timepicker.entry.js +270 -270
  181. package/dist/esm/wm-toggletip.entry.js +99 -99
  182. package/dist/esm/wm-uploader.entry.js +198 -198
  183. package/dist/esm/wm-wrapper.entry.js +12 -12
  184. package/dist/esm-es5/chartFunctions-23173fce.js +1 -0
  185. package/dist/esm-es5/functions-d0e70094.js +1 -0
  186. package/dist/esm-es5/global-4569c7b8.js +1 -0
  187. package/dist/esm-es5/index-f164fbca.js +2 -0
  188. package/dist/esm-es5/{intl-e2da750a.js → intl-05c9e0c9.js} +1 -1
  189. package/dist/esm-es5/loader.js +1 -1
  190. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  191. package/dist/esm-es5/priv-datepicker.entry.js +1 -1
  192. package/dist/esm-es5/priv-navigator-button.entry.js +1 -1
  193. package/dist/esm-es5/priv-navigator-item.entry.js +1 -1
  194. package/dist/esm-es5/ripple.js +1 -1
  195. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  196. package/dist/esm-es5/wm-button.entry.js +1 -1
  197. package/dist/esm-es5/wm-chart-slice.entry.js +1 -1
  198. package/dist/esm-es5/wm-chart.entry.js +1 -1
  199. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  200. package/dist/esm-es5/wm-file-list.entry.js +1 -1
  201. package/dist/esm-es5/wm-file.entry.js +1 -1
  202. package/dist/esm-es5/wm-input.entry.js +1 -1
  203. package/dist/esm-es5/wm-line-chart.entry.js +1 -1
  204. package/dist/esm-es5/wm-modal-footer.entry.js +1 -1
  205. package/dist/esm-es5/wm-modal-header.entry.js +1 -1
  206. package/dist/esm-es5/wm-modal.entry.js +1 -1
  207. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  208. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  209. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  210. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  211. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  212. package/dist/esm-es5/wm-search.entry.js +1 -1
  213. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  214. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  215. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  216. package/dist/esm-es5/wm-tag-option.entry.js +1 -1
  217. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  218. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  219. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  220. package/dist/esm-es5/wm-wrapper.entry.js +1 -1
  221. package/dist/loader/index.d.ts +1 -1
  222. package/dist/ripple/p-028ef6db.system.entry.js +1 -0
  223. package/dist/ripple/{p-863e737a.js → p-05d4e49b.js} +1 -1
  224. package/dist/ripple/{p-a1e95b05.system.entry.js → p-06776596.system.entry.js} +1 -1
  225. package/dist/ripple/{p-622a7791.system.entry.js → p-067d7922.system.entry.js} +1 -1
  226. package/dist/ripple/p-09d62ddd.entry.js +1 -0
  227. package/dist/ripple/{p-f30839a1.system.entry.js → p-0ecbf569.system.entry.js} +1 -1
  228. package/dist/ripple/p-0fe97e85.system.js +2 -0
  229. package/dist/ripple/{p-24b08e1f.js → p-13ca30d8.js} +1 -1
  230. package/dist/ripple/{p-8f3f903f.system.js → p-1402cfa2.system.js} +1 -1
  231. package/dist/ripple/p-1453ea51.system.entry.js +1 -0
  232. package/dist/ripple/{p-6abb903c.entry.js → p-153701f9.entry.js} +1 -1
  233. package/dist/ripple/p-1cc91907.system.js +1 -0
  234. package/dist/ripple/{p-ad37cdfd.entry.js → p-1d8b0039.entry.js} +1 -1
  235. package/dist/ripple/{p-d0f1b8c4.system.entry.js → p-1fa2a756.system.entry.js} +1 -1
  236. package/dist/ripple/{p-a52c5a1c.entry.js → p-25446670.entry.js} +1 -1
  237. package/dist/ripple/{p-1283e85d.entry.js → p-27f47edc.entry.js} +1 -1
  238. package/dist/ripple/{p-32b1126c.system.entry.js → p-28e4583c.system.entry.js} +1 -1
  239. package/dist/ripple/{p-a5b23781.system.entry.js → p-2c4f312d.system.entry.js} +1 -1
  240. package/dist/ripple/p-30b17818.system.entry.js +1 -0
  241. package/dist/ripple/{p-0631be01.system.entry.js → p-3446852f.system.entry.js} +1 -1
  242. package/dist/ripple/{p-ae674a54.entry.js → p-350fe5da.entry.js} +1 -1
  243. package/dist/ripple/{p-d04ba5f8.system.entry.js → p-3583d113.system.entry.js} +1 -1
  244. package/dist/ripple/{p-cbd8a60b.system.entry.js → p-361cc8fc.system.entry.js} +1 -1
  245. package/dist/ripple/{p-7529706d.entry.js → p-372faf33.entry.js} +1 -1
  246. package/dist/ripple/{p-19773c40.entry.js → p-3a070f35.entry.js} +1 -1
  247. package/dist/ripple/{p-c7b5ac39.js → p-3af72848.js} +1 -1
  248. package/dist/ripple/{p-c41603e6.entry.js → p-42ebfcfa.entry.js} +1 -1
  249. package/dist/ripple/{p-13594c2e.entry.js → p-43e2a49a.entry.js} +1 -1
  250. package/dist/ripple/{p-ed942b42.entry.js → p-49118468.entry.js} +1 -1
  251. package/dist/ripple/p-49c85d1a.system.js +1 -0
  252. package/dist/ripple/p-4de51706.js +2 -0
  253. package/dist/ripple/{p-3c80bf67.entry.js → p-58174f4e.entry.js} +1 -1
  254. package/dist/ripple/{p-c5e8f8a5.system.entry.js → p-5a4d9897.system.entry.js} +1 -1
  255. package/dist/ripple/{p-e3f0b57f.system.entry.js → p-5ac980e2.system.entry.js} +1 -1
  256. package/dist/ripple/{p-3becce62.system.entry.js → p-633cd89a.system.entry.js} +1 -1
  257. package/dist/ripple/{p-1205fdc1.entry.js → p-63f75d43.entry.js} +1 -1
  258. package/dist/ripple/{p-90ea7e3a.system.entry.js → p-67d48c33.system.entry.js} +1 -1
  259. package/dist/ripple/{p-8ef87907.entry.js → p-6caaf85f.entry.js} +1 -1
  260. package/dist/ripple/{p-935513f8.entry.js → p-6cf7a34a.entry.js} +1 -1
  261. package/dist/ripple/p-73289c2c.system.js +1 -0
  262. package/dist/ripple/{p-c76bbedf.system.entry.js → p-7a8816d9.system.entry.js} +1 -1
  263. package/dist/ripple/{p-8ea68cb3.system.entry.js → p-7e56da2e.system.entry.js} +1 -1
  264. package/dist/ripple/{p-deb4f5a2.entry.js → p-7e8daaac.entry.js} +1 -1
  265. package/dist/ripple/p-88406560.system.entry.js +1 -0
  266. package/dist/ripple/{p-84a7e757.entry.js → p-8cace32f.entry.js} +1 -1
  267. package/dist/ripple/{p-80aef387.entry.js → p-8d4734ad.entry.js} +1 -1
  268. package/dist/ripple/p-8f76a838.system.entry.js +1 -0
  269. package/dist/ripple/p-934c1b6b.js +1 -0
  270. package/dist/ripple/{p-85f744ed.system.js → p-9fecbc8a.system.js} +1 -1
  271. package/dist/ripple/{p-b71a83e3.entry.js → p-a69c37e0.entry.js} +1 -1
  272. package/dist/ripple/{p-9288659b.entry.js → p-a82a8931.entry.js} +1 -1
  273. package/dist/ripple/p-a99b05de.system.entry.js +1 -0
  274. package/dist/ripple/{p-36049d2f.entry.js → p-aadf8c59.entry.js} +1 -1
  275. package/dist/ripple/{p-676c1089.system.entry.js → p-aba5a00e.system.entry.js} +1 -1
  276. package/dist/ripple/{p-0aecac86.entry.js → p-ad6dc751.entry.js} +1 -1
  277. package/dist/ripple/{p-0f1ff645.entry.js → p-b253d2fc.entry.js} +1 -1
  278. package/dist/ripple/p-b2ff4723.system.entry.js +1 -0
  279. package/dist/ripple/{p-a0bf5eef.entry.js → p-b452d1d7.entry.js} +1 -1
  280. package/dist/ripple/{p-1cde16a7.system.entry.js → p-b4d862e1.system.entry.js} +1 -1
  281. package/dist/ripple/{p-d496bc44.system.entry.js → p-bdd4f919.system.entry.js} +1 -1
  282. package/dist/ripple/p-c18b398c.system.js +1 -0
  283. package/dist/ripple/{p-8f8c3705.entry.js → p-c249063c.entry.js} +1 -1
  284. package/dist/ripple/p-c344a69c.entry.js +1 -0
  285. package/dist/ripple/{p-0d9f70ab.entry.js → p-c717d895.entry.js} +1 -1
  286. package/dist/ripple/{p-2e773564.system.entry.js → p-c96a5c94.system.entry.js} +1 -1
  287. package/dist/ripple/{p-15497721.system.entry.js → p-ceced3d9.system.entry.js} +1 -1
  288. package/dist/ripple/{p-d428e9bb.system.entry.js → p-d16f91e9.system.entry.js} +1 -1
  289. package/dist/ripple/{p-ff14e4ec.system.entry.js → p-d3f9d028.system.entry.js} +1 -1
  290. package/dist/ripple/{p-7962f562.entry.js → p-de349bee.entry.js} +1 -1
  291. package/dist/ripple/{p-b3c73bc9.entry.js → p-e24ddae1.entry.js} +1 -1
  292. package/dist/ripple/{p-b3e08b14.system.entry.js → p-e8b58666.system.entry.js} +1 -1
  293. package/dist/ripple/{p-a9c096b5.entry.js → p-fa87bce3.entry.js} +1 -1
  294. package/dist/ripple/ripple.esm.js +1 -1
  295. package/dist/ripple/ripple.js +16 -20
  296. package/dist/types/components/charts/chartFunctions.d.ts +13 -13
  297. package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +24 -24
  298. package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +8 -8
  299. package/dist/types/components/charts/wm-chart/wm-chart.d.ts +39 -39
  300. package/dist/types/components/charts/wm-line-chart/wm-line-chart.d.ts +74 -74
  301. package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +26 -26
  302. package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +17 -17
  303. package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +7 -7
  304. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +43 -43
  305. package/dist/types/components/wm-button/wm-button.d.ts +40 -40
  306. package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +76 -76
  307. package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +31 -31
  308. package/dist/types/components/wm-file/wm-file.d.ts +40 -40
  309. package/dist/types/components/wm-file-list/wm-file-list.d.ts +3 -3
  310. package/dist/types/components/wm-input/wm-input.d.ts +46 -46
  311. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +31 -31
  312. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +11 -11
  313. package/dist/types/components/wm-modal/wm-modal-header.d.ts +7 -7
  314. package/dist/types/components/wm-modal/wm-modal.d.ts +24 -24
  315. package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +13 -13
  316. package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +10 -10
  317. package/dist/types/components/wm-navigation/wm-navigation.d.ts +23 -23
  318. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +7 -7
  319. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +10 -10
  320. package/dist/types/components/wm-navigator/wm-navigator.d.ts +57 -57
  321. package/dist/types/components/wm-option/wm-option.d.ts +36 -36
  322. package/dist/types/components/wm-pagination/wm-pagination.d.ts +27 -27
  323. package/dist/types/components/wm-search/wm-search.d.ts +73 -73
  324. package/dist/types/components/wm-select/wm-select.d.ts +99 -99
  325. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +24 -24
  326. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +30 -30
  327. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +41 -41
  328. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +16 -16
  329. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +114 -114
  330. package/dist/types/components/wm-tag-input/wm-tag-option/wm-tag-option.d.ts +15 -15
  331. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +48 -48
  332. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +20 -20
  333. package/dist/types/components/wm-uploader/wm-uploader.d.ts +47 -47
  334. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +4 -4
  335. package/dist/types/components.d.ts +382 -0
  336. package/dist/types/global/__mocks__/functions.d.ts +1 -1
  337. package/dist/types/global/functions.d.ts +4 -4
  338. package/dist/types/global/interfaces.d.ts +49 -49
  339. package/dist/types/global/intl.d.ts +31 -31
  340. package/dist/types/global/services/__mocks__/http-service.d.ts +1 -1
  341. package/dist/types/stencil-public-runtime.d.ts +46 -5
  342. package/package.json +1 -1
  343. package/dist/cjs/chartFunctions-2c3e010e.js +0 -600
  344. package/dist/cjs/interfaces-245d7bff.js +0 -38
  345. package/dist/cjs/intl-fa3bb4ae.js +0 -179
  346. package/dist/esm/chartFunctions-36634c04.js +0 -584
  347. package/dist/esm/interfaces-89cad2fc.js +0 -35
  348. package/dist/esm/intl-e2da750a.js +0 -174
  349. package/dist/esm/polyfills/css-shim.js +0 -1
  350. package/dist/esm-es5/chartFunctions-36634c04.js +0 -1
  351. package/dist/esm-es5/functions-5afd09f4.js +0 -1
  352. package/dist/esm-es5/global-d4a9e80e.js +0 -1
  353. package/dist/esm-es5/index-7e11ea42.js +0 -2
  354. package/dist/ripple/p-00acacbe.system.entry.js +0 -1
  355. package/dist/ripple/p-0f889b84.system.js +0 -1
  356. package/dist/ripple/p-13af8346.entry.js +0 -1
  357. package/dist/ripple/p-16363e1c.system.entry.js +0 -1
  358. package/dist/ripple/p-2a95b63f.system.entry.js +0 -1
  359. package/dist/ripple/p-30bf24f8.system.js +0 -2
  360. package/dist/ripple/p-3248c0fa.system.entry.js +0 -1
  361. package/dist/ripple/p-47c20b05.entry.js +0 -1
  362. package/dist/ripple/p-56d64283.system.entry.js +0 -1
  363. package/dist/ripple/p-5e85967a.system.js +0 -1
  364. package/dist/ripple/p-9b2034f6.js +0 -1
  365. package/dist/ripple/p-a3d07be5.system.js +0 -1
  366. package/dist/ripple/p-a6be3cca.system.entry.js +0 -1
  367. package/dist/ripple/p-aafa111a.system.js +0 -1
  368. package/dist/ripple/p-b5bedd63.js +0 -2
  369. package/dist/ripple/p-bd537299.system.entry.js +0 -1
  370. /package/dist/esm-es5/{interfaces-89cad2fc.js → interfaces-9b75fb61.js} +0 -0
  371. /package/dist/ripple/{p-c0c111fd.js → p-196eb2f3.js} +0 -0
@@ -2,270 +2,270 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-fae02cd7.js');
6
- const functions = require('./functions-91da05e9.js');
5
+ const index = require('./index-f8ef86de.js');
6
+ const functions = require('./functions-4208c444.js');
7
7
 
8
8
  const wmTabItemCss = ":host{font-family:inherit;display:inline-block}:host *{-webkit-box-sizing:border-box;box-sizing:border-box}:host .tab-item{list-style-type:none;height:100%;display:inline-block}:host .tab-item .tab{-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;border-radius:0;color:var(--wmcolor-tab-text);text-decoration:none;letter-spacing:0.7px;font-size:0.875rem;font-weight:500;opacity:1;position:relative;text-transform:uppercase;display:inline-block;height:3.3333333333em;line-height:3.3333333333em;padding-right:1.5rem;padding-left:1.5rem}:host .tab-item .tab[aria-selected=true]{font-weight:700;opacity:1;background:-webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)) bottom/0 0 no-repeat;background:linear-gradient(currentColor, currentColor) bottom/0 0 no-repeat;background-size:calc(100% - 50px) 3px}:host .tab-item .tab[aria-selected=true].dark{color:var(--wmcolor-tab-text-ondark)}:host .tab-item .tab,:host .tab-item .tab:hover,:host .tab-item .tab:active{outline:none}:host .tab-item .tab:focus{outline:none}:host .tab-item .tab.dark:not([aria-selected=true]){opacity:0.8;color:var(--wmcolor-tab-text-ondark)}:host .tab-item .tab.user-is-tabbing:focus:not(:active){outline:none;-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px var(--wmcolor-interactive-focus);-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px var(--wmcolor-interactive-focus);box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px var(--wmcolor-interactive-focus)}:host .tab-item .tab.user-is-tabbing:focus:not(:active)::-moz-focus-inner{border:0}:host .tab-item .tab.user-is-tabbing:focus:not(:active).dark{-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px var(--wmcolor-interactive-focus-ondark);-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px var(--wmcolor-interactive-focus-ondark);box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px var(--wmcolor-interactive-focus-ondark);outline:none}:host.hide{display:none}";
9
9
 
10
10
  const TabItem = class {
11
- constructor(hostRef) {
12
- index.registerInstance(this, hostRef);
13
- this.wmTabSelected = index.createEvent(this, "wmTabSelected", 7);
14
- this.keydownOnTabItem = index.createEvent(this, "keydownOnTabItem", 7);
15
- this.tabItemLoaded = index.createEvent(this, "tabItemLoaded", 7);
16
- this.tabClicked = (ev) => {
17
- ev.preventDefault();
18
- this.wmTabSelected.emit({ tabId: this.tabId });
19
- };
20
- this.tabPressed = (ev) => {
21
- const key = ev.key;
22
- if (key === "Enter" || key === " ") {
23
- ev.preventDefault();
24
- this.wmTabSelected.emit({ tabId: this.tabId });
25
- }
26
- else if (key.includes("Arrow")) {
27
- ev.preventDefault();
28
- this.keydownOnTabItem.emit({ tabItem: this.el, key: ev.key });
29
- }
30
- };
31
- this.selected = false;
32
- this.show = true;
33
- this.tabId = "";
34
- }
35
- get parentTabList() {
36
- return this.el.parentElement;
37
- }
38
- toggleTabbingOn() {
39
- this.linkEl && this.linkEl.classList.add("user-is-tabbing");
40
- }
41
- toggleTabbingOff() {
42
- this.linkEl && this.linkEl.classList.remove("user-is-tabbing");
43
- }
44
- componentDidLoad() {
45
- this.tabItemLoaded.emit();
46
- }
47
- render() {
48
- let classes = this.show ? "" : "hide ";
49
- classes += this.parentTabList && this.parentTabList.customBackground == "dark" ? "dark" : "";
50
- let styles = {};
51
- const padding = this.parentTabList && this.parentTabList.customPadding;
52
- if (padding) {
53
- const bkgSize = parseInt(padding, 10) * 2 || 0;
54
- const units = padding.split(/([0-9]+)/).pop();
55
- styles = {
56
- "padding-left": this.parentTabList.customPadding,
57
- "padding-right": this.parentTabList.customPadding,
58
- "background-size": `calc(100% - ${bkgSize}${units}) 3px`,
59
- };
60
- }
61
- return (index.h(index.Host, { role: "presentation" }, index.h("li", { class: "tab-item", role: "presentation" }, index.h("a", { class: `tab ${classes}`, style: styles, role: "tab", ref: (el) => (this.linkEl = el), onClick: this.tabClicked, id: `tab-link-${this.tabId}`, onKeyDown: (ev) => this.tabPressed(ev), "aria-selected": this.selected ? "true" : "false", tabindex: this.selected ? 0 : -1 }, index.h("slot", null)))));
62
- }
63
- static get delegatesFocus() { return true; }
64
- get el() { return index.getElement(this); }
11
+ constructor(hostRef) {
12
+ index.registerInstance(this, hostRef);
13
+ this.wmTabSelected = index.createEvent(this, "wmTabSelected", 7);
14
+ this.keydownOnTabItem = index.createEvent(this, "keydownOnTabItem", 7);
15
+ this.tabItemLoaded = index.createEvent(this, "tabItemLoaded", 7);
16
+ this.tabClicked = (ev) => {
17
+ ev.preventDefault();
18
+ this.wmTabSelected.emit({ tabId: this.tabId });
19
+ };
20
+ this.tabPressed = (ev) => {
21
+ const key = ev.key;
22
+ if (key === "Enter" || key === " ") {
23
+ ev.preventDefault();
24
+ this.wmTabSelected.emit({ tabId: this.tabId });
25
+ }
26
+ else if (key.includes("Arrow")) {
27
+ ev.preventDefault();
28
+ this.keydownOnTabItem.emit({ tabItem: this.el, key: ev.key });
29
+ }
30
+ };
31
+ this.selected = false;
32
+ this.show = true;
33
+ this.tabId = "";
34
+ }
35
+ get parentTabList() {
36
+ return this.el.parentElement;
37
+ }
38
+ toggleTabbingOn() {
39
+ this.linkEl && this.linkEl.classList.add("user-is-tabbing");
40
+ }
41
+ toggleTabbingOff() {
42
+ this.linkEl && this.linkEl.classList.remove("user-is-tabbing");
43
+ }
44
+ componentDidLoad() {
45
+ this.tabItemLoaded.emit();
46
+ }
47
+ render() {
48
+ let classes = this.show ? "" : "hide ";
49
+ classes += this.parentTabList && this.parentTabList.customBackground == "dark" ? "dark" : "";
50
+ let styles = {};
51
+ const padding = this.parentTabList && this.parentTabList.customPadding;
52
+ if (padding) {
53
+ const bkgSize = parseInt(padding, 10) * 2 || 0;
54
+ const units = padding.split(/([0-9]+)/).pop();
55
+ styles = {
56
+ "padding-left": this.parentTabList.customPadding,
57
+ "padding-right": this.parentTabList.customPadding,
58
+ "background-size": `calc(100% - ${bkgSize}${units}) 3px`,
59
+ };
60
+ }
61
+ return (index.h(index.Host, { role: "presentation" }, index.h("li", { class: "tab-item", role: "presentation" }, index.h("a", { class: `tab ${classes}`, style: styles, role: "tab", ref: (el) => (this.linkEl = el), onClick: this.tabClicked, id: `tab-link-${this.tabId}`, onKeyDown: (ev) => this.tabPressed(ev), "aria-selected": this.selected ? "true" : "false", tabindex: this.selected ? 0 : -1 }, index.h("slot", null)))));
62
+ }
63
+ static get delegatesFocus() { return true; }
64
+ get el() { return index.getElement(this); }
65
65
  };
66
66
  TabItem.style = wmTabItemCss;
67
67
 
68
68
  const wmTabListCss = ":host{--wmcolor-tab-background:var(--wmcolor-background-transparent);--wmcolor-tab-background-dark:var(--wmcolor-background-dark);--wmcolor-tab-text-ondark:var(--wmcolor-interactive-ondark);--wmcolor-tab-text:var(--wmcolor-interactive);position:relative;white-space:nowrap;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;display:block}:host *{-webkit-box-sizing:border-box;box-sizing:border-box}:host .tabcontainer{background:var(--wmcolor-tab-background);margin:0;width:100%;height:4.0625rem;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;padding:0}:host .tabcontainer.dark{background:var(--wmcolor-tab-background-dark);margin:0}:host wm-select{padding:0.375rem 0}";
69
69
 
70
70
  const TabList = class {
71
- constructor(hostRef) {
72
- index.registerInstance(this, hostRef);
73
- this.wmTabSelected = index.createEvent(this, "wmTabSelected", 7);
74
- this.debouncedSetLayout = functions.debounce(() => {
75
- if (!this.listWidth) {
76
- this.setListWidth();
77
- }
78
- index.forceUpdate(this.el);
79
- }, 250);
80
- this.customBackground = undefined;
81
- this.customPadding = undefined;
82
- this.selectedTab = undefined;
83
- }
84
- /**
85
- * Set to true when the tab list exceeds the parent width. Component will render the menu layout.
86
- */
87
- get menuLayout() {
88
- if (this.listWidth) {
89
- return this.el.offsetWidth < this.listWidth - 24; // to take into account the negative margin on the ul
90
- }
91
- else {
92
- return false; // in case listWidth couldn't get computed, we render regular tabs
93
- }
94
- }
95
- get tabItems() {
96
- return Array.from(this.el.querySelectorAll("wm-tab-item"));
97
- }
98
- get selectedTabItem() {
99
- return this.tabItems.filter((t) => t.selected)[0];
100
- }
101
- getLinkEl(tab) {
102
- return tab.shadowRoot.querySelector("a");
103
- }
104
- get panels() {
105
- const allPanels = Array.from(document.querySelectorAll("wm-tab-panel"));
106
- const tabIds = this.tabItems.map((t) => t.tabId);
107
- return allPanels.filter((p) => tabIds.includes(p.tabId));
108
- }
109
- getPanel(tabId) {
110
- return this.panels.find((p) => p.tabId === tabId);
111
- }
112
- setListWidth() {
113
- let newCalc = this.tabItems.reduce((sum, tab) => sum + tab.offsetWidth, 0);
114
- this.listWidth = newCalc && newCalc > 0 ? newCalc : this.listWidth; // the function may return 0. In this case keep the previous value
115
- }
116
- setSelected(id) {
117
- this.tabItems.map((tab) => (tab.selected = tab.tabId === id));
118
- const singlePanel = this.panels.length === 1 && this.tabItems.length > 1;
119
- if (singlePanel) {
120
- /**
121
- * If the app conditionally renders content in one single tab panel rather than allocating the content to discrete panels, then the tab panels aria references needs to update whenever a new tab item is selected.
122
- */
123
- this.setAttributesOnPanel(this.panels[0], this.selectedTabItem);
124
- this.panels[0].active = true;
125
- }
126
- else {
127
- this.panels.map((panel) => (panel.active = panel.tabId === id));
128
- }
129
- }
130
- showItems() {
131
- this.tabItems.map((t) => (t.show = true));
132
- }
133
- hideItems() {
134
- this.tabItems.map((t) => (t.show = false));
135
- }
136
- componentWillLoad() {
137
- this.el.focus = () => {
138
- // in addition to delegatesFocus, we need to highjack the focus method to send focus to the selected tab-item
139
- this.selectedTabItem && this.selectedTabItem.focus();
140
- };
141
- }
142
- componentDidLoad() {
143
- this.setLayout(); // this require measurements of DOM elements so can't be done before first paint
144
- const selectedTab = this.selectedTab || this.tabItems[0].tabId;
145
- this.setSelected(selectedTab);
146
- }
147
- tabItemLoaded(ev) {
148
- this.setAriaOnPanelAndTab(ev.target);
149
- }
150
- setAriaOnPanelAndTab(tab) {
151
- const panel = this.getPanel(tab.tabId);
152
- // If there's no panel, check for case where content is conditionally rendered in one panel, in which case attributes on all tabs should point to this single panel.
153
- if (!panel) {
154
- if (this.panels.length === 1) {
155
- this.setAttributesOnTab(tab, this.panels[0]);
156
- }
157
- }
158
- else {
159
- // Otherwise, set attributes on each tab item that loads and its associated panel
160
- this.setAttributesOnPanel(panel, tab);
161
- this.setAttributesOnTab(tab, panel);
162
- }
163
- }
164
- setAttributesOnTab(tab, panel) {
165
- const link = this.getLinkEl(tab);
166
- if (link) {
167
- link.setAttribute("aria-controls", panel.id);
168
- link.setAttribute("href", `#${panel.id}`);
169
- }
170
- }
171
- removeAttributesOnTab(tab) {
172
- const link = this.getLinkEl(tab);
173
- if (link) {
174
- link.removeAttribute("aria-controls");
175
- link.removeAttribute("href");
176
- }
177
- }
178
- setAttributesOnPanel(panel, tab) {
179
- const link = this.getLinkEl(tab);
180
- if (link) {
181
- panel.setAttribute("aria-labelledby", link.id);
182
- panel.setAttribute("tab-id", tab.tabId);
183
- }
184
- }
185
- handleKeydown(ev) {
186
- const key = ev.detail.key;
187
- const index = this.tabItems.indexOf(ev.detail.tabItem);
188
- if (key === "ArrowLeft" || key === "ArrowRight") {
189
- this.handleLeftRightArrow(index, key);
190
- }
191
- }
192
- handleLeftRightArrow(index, key) {
193
- if (key) {
194
- index = key === "ArrowLeft" ? index - 1 : index + 1;
195
- }
196
- if (index < 0) {
197
- index = this.tabItems.length - 1;
198
- }
199
- else if (index === this.tabItems.length) {
200
- index = 0;
201
- }
202
- const tabToFocus = this.tabItems[index];
203
- this.getLinkEl(tabToFocus).focus();
204
- }
205
- /**
206
- * Change layout if parent size drops below tab list width
207
- */
208
- setLayout() {
209
- this.debouncedSetLayout();
210
- }
211
- renderMenuOrTabs() {
212
- if (this.menuLayout) {
213
- this.hideItems();
214
- return (index.h("wm-select", { label: "Tab Selection", "label-position": "none" }, this.renderOptions()));
215
- }
216
- else {
217
- this.showItems();
218
- let margins = {};
219
- if (this.customPadding) {
220
- margins = {
221
- "margin-left": "-" + this.customPadding,
71
+ constructor(hostRef) {
72
+ index.registerInstance(this, hostRef);
73
+ this.wmTabSelected = index.createEvent(this, "wmTabSelected", 7);
74
+ this.debouncedSetLayout = functions.debounce(() => {
75
+ if (!this.listWidth) {
76
+ this.setListWidth();
77
+ }
78
+ index.forceUpdate(this.el);
79
+ }, 250);
80
+ this.customBackground = undefined;
81
+ this.customPadding = undefined;
82
+ this.selectedTab = undefined;
83
+ }
84
+ /**
85
+ * Set to true when the tab list exceeds the parent width. Component will render the menu layout.
86
+ */
87
+ get menuLayout() {
88
+ if (this.listWidth) {
89
+ return this.el.offsetWidth < this.listWidth - 24; // to take into account the negative margin on the ul
90
+ }
91
+ else {
92
+ return false; // in case listWidth couldn't get computed, we render regular tabs
93
+ }
94
+ }
95
+ get tabItems() {
96
+ return Array.from(this.el.querySelectorAll("wm-tab-item"));
97
+ }
98
+ get selectedTabItem() {
99
+ return this.tabItems.filter((t) => t.selected)[0];
100
+ }
101
+ getLinkEl(tab) {
102
+ return tab.shadowRoot.querySelector("a");
103
+ }
104
+ get panels() {
105
+ const allPanels = Array.from(document.querySelectorAll("wm-tab-panel"));
106
+ const tabIds = this.tabItems.map((t) => t.tabId);
107
+ return allPanels.filter((p) => tabIds.includes(p.tabId));
108
+ }
109
+ getPanel(tabId) {
110
+ return this.panels.find((p) => p.tabId === tabId);
111
+ }
112
+ setListWidth() {
113
+ let newCalc = this.tabItems.reduce((sum, tab) => sum + tab.offsetWidth, 0);
114
+ this.listWidth = newCalc && newCalc > 0 ? newCalc : this.listWidth; // the function may return 0. In this case keep the previous value
115
+ }
116
+ setSelected(id) {
117
+ this.tabItems.map((tab) => (tab.selected = tab.tabId === id));
118
+ const singlePanel = this.panels.length === 1 && this.tabItems.length > 1;
119
+ if (singlePanel) {
120
+ /**
121
+ * If the app conditionally renders content in one single tab panel rather than allocating the content to discrete panels, then the tab panels aria references needs to update whenever a new tab item is selected.
122
+ */
123
+ this.setAttributesOnPanel(this.panels[0], this.selectedTabItem);
124
+ this.panels[0].active = true;
125
+ }
126
+ else {
127
+ this.panels.map((panel) => (panel.active = panel.tabId === id));
128
+ }
129
+ }
130
+ showItems() {
131
+ this.tabItems.map((t) => (t.show = true));
132
+ }
133
+ hideItems() {
134
+ this.tabItems.map((t) => (t.show = false));
135
+ }
136
+ componentWillLoad() {
137
+ this.el.focus = () => {
138
+ // in addition to delegatesFocus, we need to highjack the focus method to send focus to the selected tab-item
139
+ this.selectedTabItem && this.selectedTabItem.focus();
222
140
  };
223
- }
224
- return (index.h("ul", { class: `tabcontainer ${this.customBackground || ""}`, style: margins, role: "tablist" }, index.h("slot", null)));
225
- }
226
- }
227
- renderOptions() {
228
- return this.tabItems.map((t) => (index.h("wm-option", { id: `tab-link-${t.tabId}`, selected: t.tabId === this.selectedTab, onClick: (ev) => {
229
- ev.preventDefault();
230
- this.wmTabSelected.emit({ tabId: t.tabId });
231
- } }, t.textContent)));
232
- }
233
- render() {
234
- return index.h(index.Host, { class: this.menuLayout ? "menu" : "" }, this.renderMenuOrTabs());
235
- }
236
- static get delegatesFocus() { return true; }
237
- get el() { return index.getElement(this); }
238
- static get watchers() { return {
239
- "selectedTab": ["setSelected"]
240
- }; }
141
+ }
142
+ componentDidLoad() {
143
+ this.setLayout(); // this require measurements of DOM elements so can't be done before first paint
144
+ const selectedTab = this.selectedTab || this.tabItems[0].tabId;
145
+ this.setSelected(selectedTab);
146
+ }
147
+ tabItemLoaded(ev) {
148
+ this.setAriaOnPanelAndTab(ev.target);
149
+ }
150
+ setAriaOnPanelAndTab(tab) {
151
+ const panel = this.getPanel(tab.tabId);
152
+ // If there's no panel, check for case where content is conditionally rendered in one panel, in which case attributes on all tabs should point to this single panel.
153
+ if (!panel) {
154
+ if (this.panels.length === 1) {
155
+ this.setAttributesOnTab(tab, this.panels[0]);
156
+ }
157
+ }
158
+ else {
159
+ // Otherwise, set attributes on each tab item that loads and its associated panel
160
+ this.setAttributesOnPanel(panel, tab);
161
+ this.setAttributesOnTab(tab, panel);
162
+ }
163
+ }
164
+ setAttributesOnTab(tab, panel) {
165
+ const link = this.getLinkEl(tab);
166
+ if (link) {
167
+ link.setAttribute("aria-controls", panel.id);
168
+ link.setAttribute("href", `#${panel.id}`);
169
+ }
170
+ }
171
+ removeAttributesOnTab(tab) {
172
+ const link = this.getLinkEl(tab);
173
+ if (link) {
174
+ link.removeAttribute("aria-controls");
175
+ link.removeAttribute("href");
176
+ }
177
+ }
178
+ setAttributesOnPanel(panel, tab) {
179
+ const link = this.getLinkEl(tab);
180
+ if (link) {
181
+ panel.setAttribute("aria-labelledby", link.id);
182
+ panel.setAttribute("tab-id", tab.tabId);
183
+ }
184
+ }
185
+ handleKeydown(ev) {
186
+ const key = ev.detail.key;
187
+ const index = this.tabItems.indexOf(ev.detail.tabItem);
188
+ if (key === "ArrowLeft" || key === "ArrowRight") {
189
+ this.handleLeftRightArrow(index, key);
190
+ }
191
+ }
192
+ handleLeftRightArrow(index, key) {
193
+ if (key) {
194
+ index = key === "ArrowLeft" ? index - 1 : index + 1;
195
+ }
196
+ if (index < 0) {
197
+ index = this.tabItems.length - 1;
198
+ }
199
+ else if (index === this.tabItems.length) {
200
+ index = 0;
201
+ }
202
+ const tabToFocus = this.tabItems[index];
203
+ this.getLinkEl(tabToFocus).focus();
204
+ }
205
+ /**
206
+ * Change layout if parent size drops below tab list width
207
+ */
208
+ setLayout() {
209
+ this.debouncedSetLayout();
210
+ }
211
+ renderMenuOrTabs() {
212
+ if (this.menuLayout) {
213
+ this.hideItems();
214
+ return (index.h("wm-select", { label: "Tab Selection", "label-position": "none" }, this.renderOptions()));
215
+ }
216
+ else {
217
+ this.showItems();
218
+ let margins = {};
219
+ if (this.customPadding) {
220
+ margins = {
221
+ "margin-left": "-" + this.customPadding,
222
+ };
223
+ }
224
+ return (index.h("ul", { class: `tabcontainer ${this.customBackground || ""}`, style: margins, role: "tablist" }, index.h("slot", null)));
225
+ }
226
+ }
227
+ renderOptions() {
228
+ return this.tabItems.map((t) => (index.h("wm-option", { id: `tab-link-${t.tabId}`, selected: t.tabId === this.selectedTab, onClick: (ev) => {
229
+ ev.preventDefault();
230
+ this.wmTabSelected.emit({ tabId: t.tabId });
231
+ } }, t.textContent)));
232
+ }
233
+ render() {
234
+ return index.h(index.Host, { class: this.menuLayout ? "menu" : "" }, this.renderMenuOrTabs());
235
+ }
236
+ static get delegatesFocus() { return true; }
237
+ get el() { return index.getElement(this); }
238
+ static get watchers() { return {
239
+ "selectedTab": ["setSelected"]
240
+ }; }
241
241
  };
242
242
  TabList.style = wmTabListCss;
243
243
 
244
244
  const wmTabPanelCss = "wm-tab-panel{visibility:inherit}wm-tab-panel.tab-hidden{display:none}wm-tab-panel:active{outline:none}wm-tab-panel:focus{outline:none}wm-tab-panel.user-is-tabbing:focus{outline:-webkit-focus-ring-color auto 5px}";
245
245
 
246
246
  const TabPanel = class {
247
- constructor(hostRef) {
248
- index.registerInstance(this, hostRef);
249
- this.tabPanelLoaded = index.createEvent(this, "tabPanelLoaded", 7);
250
- this.active = false;
251
- this.tabId = "";
252
- }
253
- componentWillLoad() {
254
- !this.el.id && this.el.setAttribute("id", functions.generateId());
255
- }
256
- componentDidLoad() {
257
- this.tabPanelLoaded.emit({ tabId: this.tabId });
258
- }
259
- toggleTabbingOn() {
260
- this.el.classList.add("user-is-tabbing");
261
- }
262
- toggleTabbingOff() {
263
- this.el.classList.remove("user-is-tabbing");
264
- }
265
- render() {
266
- return index.h(index.Host, { role: "tabpanel", class: { "tab-hidden": !this.active } });
267
- }
268
- get el() { return index.getElement(this); }
247
+ constructor(hostRef) {
248
+ index.registerInstance(this, hostRef);
249
+ this.tabPanelLoaded = index.createEvent(this, "tabPanelLoaded", 7);
250
+ this.active = false;
251
+ this.tabId = "";
252
+ }
253
+ componentWillLoad() {
254
+ !this.el.id && this.el.setAttribute("id", functions.generateId());
255
+ }
256
+ componentDidLoad() {
257
+ this.tabPanelLoaded.emit({ tabId: this.tabId });
258
+ }
259
+ toggleTabbingOn() {
260
+ this.el.classList.add("user-is-tabbing");
261
+ }
262
+ toggleTabbingOff() {
263
+ this.el.classList.remove("user-is-tabbing");
264
+ }
265
+ render() {
266
+ return index.h(index.Host, { role: "tabpanel", class: { "tab-hidden": !this.active } });
267
+ }
268
+ get el() { return index.getElement(this); }
269
269
  };
270
270
  TabPanel.style = wmTabPanelCss;
271
271