@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
@@ -1,267 +1,267 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement, f as forceUpdate } from './index-7e11ea42.js';
2
- import { d as debounce, g as generateId } from './functions-5afd09f4.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement, f as forceUpdate } from './index-f164fbca.js';
2
+ import { d as debounce, g as generateId } from './functions-d0e70094.js';
3
3
 
4
4
  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}";
5
5
 
6
6
  const TabItem = class {
7
- constructor(hostRef) {
8
- registerInstance(this, hostRef);
9
- this.wmTabSelected = createEvent(this, "wmTabSelected", 7);
10
- this.keydownOnTabItem = createEvent(this, "keydownOnTabItem", 7);
11
- this.tabItemLoaded = createEvent(this, "tabItemLoaded", 7);
12
- this.tabClicked = (ev) => {
13
- ev.preventDefault();
14
- this.wmTabSelected.emit({ tabId: this.tabId });
15
- };
16
- this.tabPressed = (ev) => {
17
- const key = ev.key;
18
- if (key === "Enter" || key === " ") {
19
- ev.preventDefault();
20
- this.wmTabSelected.emit({ tabId: this.tabId });
21
- }
22
- else if (key.includes("Arrow")) {
23
- ev.preventDefault();
24
- this.keydownOnTabItem.emit({ tabItem: this.el, key: ev.key });
25
- }
26
- };
27
- this.selected = false;
28
- this.show = true;
29
- this.tabId = "";
30
- }
31
- get parentTabList() {
32
- return this.el.parentElement;
33
- }
34
- toggleTabbingOn() {
35
- this.linkEl && this.linkEl.classList.add("user-is-tabbing");
36
- }
37
- toggleTabbingOff() {
38
- this.linkEl && this.linkEl.classList.remove("user-is-tabbing");
39
- }
40
- componentDidLoad() {
41
- this.tabItemLoaded.emit();
42
- }
43
- render() {
44
- let classes = this.show ? "" : "hide ";
45
- classes += this.parentTabList && this.parentTabList.customBackground == "dark" ? "dark" : "";
46
- let styles = {};
47
- const padding = this.parentTabList && this.parentTabList.customPadding;
48
- if (padding) {
49
- const bkgSize = parseInt(padding, 10) * 2 || 0;
50
- const units = padding.split(/([0-9]+)/).pop();
51
- styles = {
52
- "padding-left": this.parentTabList.customPadding,
53
- "padding-right": this.parentTabList.customPadding,
54
- "background-size": `calc(100% - ${bkgSize}${units}) 3px`,
55
- };
56
- }
57
- return (h(Host, { role: "presentation" }, h("li", { class: "tab-item", role: "presentation" }, 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 }, h("slot", null)))));
58
- }
59
- static get delegatesFocus() { return true; }
60
- get el() { return getElement(this); }
7
+ constructor(hostRef) {
8
+ registerInstance(this, hostRef);
9
+ this.wmTabSelected = createEvent(this, "wmTabSelected", 7);
10
+ this.keydownOnTabItem = createEvent(this, "keydownOnTabItem", 7);
11
+ this.tabItemLoaded = createEvent(this, "tabItemLoaded", 7);
12
+ this.tabClicked = (ev) => {
13
+ ev.preventDefault();
14
+ this.wmTabSelected.emit({ tabId: this.tabId });
15
+ };
16
+ this.tabPressed = (ev) => {
17
+ const key = ev.key;
18
+ if (key === "Enter" || key === " ") {
19
+ ev.preventDefault();
20
+ this.wmTabSelected.emit({ tabId: this.tabId });
21
+ }
22
+ else if (key.includes("Arrow")) {
23
+ ev.preventDefault();
24
+ this.keydownOnTabItem.emit({ tabItem: this.el, key: ev.key });
25
+ }
26
+ };
27
+ this.selected = false;
28
+ this.show = true;
29
+ this.tabId = "";
30
+ }
31
+ get parentTabList() {
32
+ return this.el.parentElement;
33
+ }
34
+ toggleTabbingOn() {
35
+ this.linkEl && this.linkEl.classList.add("user-is-tabbing");
36
+ }
37
+ toggleTabbingOff() {
38
+ this.linkEl && this.linkEl.classList.remove("user-is-tabbing");
39
+ }
40
+ componentDidLoad() {
41
+ this.tabItemLoaded.emit();
42
+ }
43
+ render() {
44
+ let classes = this.show ? "" : "hide ";
45
+ classes += this.parentTabList && this.parentTabList.customBackground == "dark" ? "dark" : "";
46
+ let styles = {};
47
+ const padding = this.parentTabList && this.parentTabList.customPadding;
48
+ if (padding) {
49
+ const bkgSize = parseInt(padding, 10) * 2 || 0;
50
+ const units = padding.split(/([0-9]+)/).pop();
51
+ styles = {
52
+ "padding-left": this.parentTabList.customPadding,
53
+ "padding-right": this.parentTabList.customPadding,
54
+ "background-size": `calc(100% - ${bkgSize}${units}) 3px`,
55
+ };
56
+ }
57
+ return (h(Host, { role: "presentation" }, h("li", { class: "tab-item", role: "presentation" }, 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 }, h("slot", null)))));
58
+ }
59
+ static get delegatesFocus() { return true; }
60
+ get el() { return getElement(this); }
61
61
  };
62
62
  TabItem.style = wmTabItemCss;
63
63
 
64
64
  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}";
65
65
 
66
66
  const TabList = class {
67
- constructor(hostRef) {
68
- registerInstance(this, hostRef);
69
- this.wmTabSelected = createEvent(this, "wmTabSelected", 7);
70
- this.debouncedSetLayout = debounce(() => {
71
- if (!this.listWidth) {
72
- this.setListWidth();
73
- }
74
- forceUpdate(this.el);
75
- }, 250);
76
- this.customBackground = undefined;
77
- this.customPadding = undefined;
78
- this.selectedTab = undefined;
79
- }
80
- /**
81
- * Set to true when the tab list exceeds the parent width. Component will render the menu layout.
82
- */
83
- get menuLayout() {
84
- if (this.listWidth) {
85
- return this.el.offsetWidth < this.listWidth - 24; // to take into account the negative margin on the ul
86
- }
87
- else {
88
- return false; // in case listWidth couldn't get computed, we render regular tabs
89
- }
90
- }
91
- get tabItems() {
92
- return Array.from(this.el.querySelectorAll("wm-tab-item"));
93
- }
94
- get selectedTabItem() {
95
- return this.tabItems.filter((t) => t.selected)[0];
96
- }
97
- getLinkEl(tab) {
98
- return tab.shadowRoot.querySelector("a");
99
- }
100
- get panels() {
101
- const allPanels = Array.from(document.querySelectorAll("wm-tab-panel"));
102
- const tabIds = this.tabItems.map((t) => t.tabId);
103
- return allPanels.filter((p) => tabIds.includes(p.tabId));
104
- }
105
- getPanel(tabId) {
106
- return this.panels.find((p) => p.tabId === tabId);
107
- }
108
- setListWidth() {
109
- let newCalc = this.tabItems.reduce((sum, tab) => sum + tab.offsetWidth, 0);
110
- this.listWidth = newCalc && newCalc > 0 ? newCalc : this.listWidth; // the function may return 0. In this case keep the previous value
111
- }
112
- setSelected(id) {
113
- this.tabItems.map((tab) => (tab.selected = tab.tabId === id));
114
- const singlePanel = this.panels.length === 1 && this.tabItems.length > 1;
115
- if (singlePanel) {
116
- /**
117
- * 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.
118
- */
119
- this.setAttributesOnPanel(this.panels[0], this.selectedTabItem);
120
- this.panels[0].active = true;
121
- }
122
- else {
123
- this.panels.map((panel) => (panel.active = panel.tabId === id));
124
- }
125
- }
126
- showItems() {
127
- this.tabItems.map((t) => (t.show = true));
128
- }
129
- hideItems() {
130
- this.tabItems.map((t) => (t.show = false));
131
- }
132
- componentWillLoad() {
133
- this.el.focus = () => {
134
- // in addition to delegatesFocus, we need to highjack the focus method to send focus to the selected tab-item
135
- this.selectedTabItem && this.selectedTabItem.focus();
136
- };
137
- }
138
- componentDidLoad() {
139
- this.setLayout(); // this require measurements of DOM elements so can't be done before first paint
140
- const selectedTab = this.selectedTab || this.tabItems[0].tabId;
141
- this.setSelected(selectedTab);
142
- }
143
- tabItemLoaded(ev) {
144
- this.setAriaOnPanelAndTab(ev.target);
145
- }
146
- setAriaOnPanelAndTab(tab) {
147
- const panel = this.getPanel(tab.tabId);
148
- // 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.
149
- if (!panel) {
150
- if (this.panels.length === 1) {
151
- this.setAttributesOnTab(tab, this.panels[0]);
152
- }
153
- }
154
- else {
155
- // Otherwise, set attributes on each tab item that loads and its associated panel
156
- this.setAttributesOnPanel(panel, tab);
157
- this.setAttributesOnTab(tab, panel);
158
- }
159
- }
160
- setAttributesOnTab(tab, panel) {
161
- const link = this.getLinkEl(tab);
162
- if (link) {
163
- link.setAttribute("aria-controls", panel.id);
164
- link.setAttribute("href", `#${panel.id}`);
165
- }
166
- }
167
- removeAttributesOnTab(tab) {
168
- const link = this.getLinkEl(tab);
169
- if (link) {
170
- link.removeAttribute("aria-controls");
171
- link.removeAttribute("href");
172
- }
173
- }
174
- setAttributesOnPanel(panel, tab) {
175
- const link = this.getLinkEl(tab);
176
- if (link) {
177
- panel.setAttribute("aria-labelledby", link.id);
178
- panel.setAttribute("tab-id", tab.tabId);
179
- }
180
- }
181
- handleKeydown(ev) {
182
- const key = ev.detail.key;
183
- const index = this.tabItems.indexOf(ev.detail.tabItem);
184
- if (key === "ArrowLeft" || key === "ArrowRight") {
185
- this.handleLeftRightArrow(index, key);
186
- }
187
- }
188
- handleLeftRightArrow(index, key) {
189
- if (key) {
190
- index = key === "ArrowLeft" ? index - 1 : index + 1;
191
- }
192
- if (index < 0) {
193
- index = this.tabItems.length - 1;
194
- }
195
- else if (index === this.tabItems.length) {
196
- index = 0;
197
- }
198
- const tabToFocus = this.tabItems[index];
199
- this.getLinkEl(tabToFocus).focus();
200
- }
201
- /**
202
- * Change layout if parent size drops below tab list width
203
- */
204
- setLayout() {
205
- this.debouncedSetLayout();
206
- }
207
- renderMenuOrTabs() {
208
- if (this.menuLayout) {
209
- this.hideItems();
210
- return (h("wm-select", { label: "Tab Selection", "label-position": "none" }, this.renderOptions()));
211
- }
212
- else {
213
- this.showItems();
214
- let margins = {};
215
- if (this.customPadding) {
216
- margins = {
217
- "margin-left": "-" + this.customPadding,
67
+ constructor(hostRef) {
68
+ registerInstance(this, hostRef);
69
+ this.wmTabSelected = createEvent(this, "wmTabSelected", 7);
70
+ this.debouncedSetLayout = debounce(() => {
71
+ if (!this.listWidth) {
72
+ this.setListWidth();
73
+ }
74
+ forceUpdate(this.el);
75
+ }, 250);
76
+ this.customBackground = undefined;
77
+ this.customPadding = undefined;
78
+ this.selectedTab = undefined;
79
+ }
80
+ /**
81
+ * Set to true when the tab list exceeds the parent width. Component will render the menu layout.
82
+ */
83
+ get menuLayout() {
84
+ if (this.listWidth) {
85
+ return this.el.offsetWidth < this.listWidth - 24; // to take into account the negative margin on the ul
86
+ }
87
+ else {
88
+ return false; // in case listWidth couldn't get computed, we render regular tabs
89
+ }
90
+ }
91
+ get tabItems() {
92
+ return Array.from(this.el.querySelectorAll("wm-tab-item"));
93
+ }
94
+ get selectedTabItem() {
95
+ return this.tabItems.filter((t) => t.selected)[0];
96
+ }
97
+ getLinkEl(tab) {
98
+ return tab.shadowRoot.querySelector("a");
99
+ }
100
+ get panels() {
101
+ const allPanels = Array.from(document.querySelectorAll("wm-tab-panel"));
102
+ const tabIds = this.tabItems.map((t) => t.tabId);
103
+ return allPanels.filter((p) => tabIds.includes(p.tabId));
104
+ }
105
+ getPanel(tabId) {
106
+ return this.panels.find((p) => p.tabId === tabId);
107
+ }
108
+ setListWidth() {
109
+ let newCalc = this.tabItems.reduce((sum, tab) => sum + tab.offsetWidth, 0);
110
+ this.listWidth = newCalc && newCalc > 0 ? newCalc : this.listWidth; // the function may return 0. In this case keep the previous value
111
+ }
112
+ setSelected(id) {
113
+ this.tabItems.map((tab) => (tab.selected = tab.tabId === id));
114
+ const singlePanel = this.panels.length === 1 && this.tabItems.length > 1;
115
+ if (singlePanel) {
116
+ /**
117
+ * 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.
118
+ */
119
+ this.setAttributesOnPanel(this.panels[0], this.selectedTabItem);
120
+ this.panels[0].active = true;
121
+ }
122
+ else {
123
+ this.panels.map((panel) => (panel.active = panel.tabId === id));
124
+ }
125
+ }
126
+ showItems() {
127
+ this.tabItems.map((t) => (t.show = true));
128
+ }
129
+ hideItems() {
130
+ this.tabItems.map((t) => (t.show = false));
131
+ }
132
+ componentWillLoad() {
133
+ this.el.focus = () => {
134
+ // in addition to delegatesFocus, we need to highjack the focus method to send focus to the selected tab-item
135
+ this.selectedTabItem && this.selectedTabItem.focus();
218
136
  };
219
- }
220
- return (h("ul", { class: `tabcontainer ${this.customBackground || ""}`, style: margins, role: "tablist" }, h("slot", null)));
221
- }
222
- }
223
- renderOptions() {
224
- return this.tabItems.map((t) => (h("wm-option", { id: `tab-link-${t.tabId}`, selected: t.tabId === this.selectedTab, onClick: (ev) => {
225
- ev.preventDefault();
226
- this.wmTabSelected.emit({ tabId: t.tabId });
227
- } }, t.textContent)));
228
- }
229
- render() {
230
- return h(Host, { class: this.menuLayout ? "menu" : "" }, this.renderMenuOrTabs());
231
- }
232
- static get delegatesFocus() { return true; }
233
- get el() { return getElement(this); }
234
- static get watchers() { return {
235
- "selectedTab": ["setSelected"]
236
- }; }
137
+ }
138
+ componentDidLoad() {
139
+ this.setLayout(); // this require measurements of DOM elements so can't be done before first paint
140
+ const selectedTab = this.selectedTab || this.tabItems[0].tabId;
141
+ this.setSelected(selectedTab);
142
+ }
143
+ tabItemLoaded(ev) {
144
+ this.setAriaOnPanelAndTab(ev.target);
145
+ }
146
+ setAriaOnPanelAndTab(tab) {
147
+ const panel = this.getPanel(tab.tabId);
148
+ // 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.
149
+ if (!panel) {
150
+ if (this.panels.length === 1) {
151
+ this.setAttributesOnTab(tab, this.panels[0]);
152
+ }
153
+ }
154
+ else {
155
+ // Otherwise, set attributes on each tab item that loads and its associated panel
156
+ this.setAttributesOnPanel(panel, tab);
157
+ this.setAttributesOnTab(tab, panel);
158
+ }
159
+ }
160
+ setAttributesOnTab(tab, panel) {
161
+ const link = this.getLinkEl(tab);
162
+ if (link) {
163
+ link.setAttribute("aria-controls", panel.id);
164
+ link.setAttribute("href", `#${panel.id}`);
165
+ }
166
+ }
167
+ removeAttributesOnTab(tab) {
168
+ const link = this.getLinkEl(tab);
169
+ if (link) {
170
+ link.removeAttribute("aria-controls");
171
+ link.removeAttribute("href");
172
+ }
173
+ }
174
+ setAttributesOnPanel(panel, tab) {
175
+ const link = this.getLinkEl(tab);
176
+ if (link) {
177
+ panel.setAttribute("aria-labelledby", link.id);
178
+ panel.setAttribute("tab-id", tab.tabId);
179
+ }
180
+ }
181
+ handleKeydown(ev) {
182
+ const key = ev.detail.key;
183
+ const index = this.tabItems.indexOf(ev.detail.tabItem);
184
+ if (key === "ArrowLeft" || key === "ArrowRight") {
185
+ this.handleLeftRightArrow(index, key);
186
+ }
187
+ }
188
+ handleLeftRightArrow(index, key) {
189
+ if (key) {
190
+ index = key === "ArrowLeft" ? index - 1 : index + 1;
191
+ }
192
+ if (index < 0) {
193
+ index = this.tabItems.length - 1;
194
+ }
195
+ else if (index === this.tabItems.length) {
196
+ index = 0;
197
+ }
198
+ const tabToFocus = this.tabItems[index];
199
+ this.getLinkEl(tabToFocus).focus();
200
+ }
201
+ /**
202
+ * Change layout if parent size drops below tab list width
203
+ */
204
+ setLayout() {
205
+ this.debouncedSetLayout();
206
+ }
207
+ renderMenuOrTabs() {
208
+ if (this.menuLayout) {
209
+ this.hideItems();
210
+ return (h("wm-select", { label: "Tab Selection", "label-position": "none" }, this.renderOptions()));
211
+ }
212
+ else {
213
+ this.showItems();
214
+ let margins = {};
215
+ if (this.customPadding) {
216
+ margins = {
217
+ "margin-left": "-" + this.customPadding,
218
+ };
219
+ }
220
+ return (h("ul", { class: `tabcontainer ${this.customBackground || ""}`, style: margins, role: "tablist" }, h("slot", null)));
221
+ }
222
+ }
223
+ renderOptions() {
224
+ return this.tabItems.map((t) => (h("wm-option", { id: `tab-link-${t.tabId}`, selected: t.tabId === this.selectedTab, onClick: (ev) => {
225
+ ev.preventDefault();
226
+ this.wmTabSelected.emit({ tabId: t.tabId });
227
+ } }, t.textContent)));
228
+ }
229
+ render() {
230
+ return h(Host, { class: this.menuLayout ? "menu" : "" }, this.renderMenuOrTabs());
231
+ }
232
+ static get delegatesFocus() { return true; }
233
+ get el() { return getElement(this); }
234
+ static get watchers() { return {
235
+ "selectedTab": ["setSelected"]
236
+ }; }
237
237
  };
238
238
  TabList.style = wmTabListCss;
239
239
 
240
240
  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}";
241
241
 
242
242
  const TabPanel = class {
243
- constructor(hostRef) {
244
- registerInstance(this, hostRef);
245
- this.tabPanelLoaded = createEvent(this, "tabPanelLoaded", 7);
246
- this.active = false;
247
- this.tabId = "";
248
- }
249
- componentWillLoad() {
250
- !this.el.id && this.el.setAttribute("id", generateId());
251
- }
252
- componentDidLoad() {
253
- this.tabPanelLoaded.emit({ tabId: this.tabId });
254
- }
255
- toggleTabbingOn() {
256
- this.el.classList.add("user-is-tabbing");
257
- }
258
- toggleTabbingOff() {
259
- this.el.classList.remove("user-is-tabbing");
260
- }
261
- render() {
262
- return h(Host, { role: "tabpanel", class: { "tab-hidden": !this.active } });
263
- }
264
- get el() { return getElement(this); }
243
+ constructor(hostRef) {
244
+ registerInstance(this, hostRef);
245
+ this.tabPanelLoaded = createEvent(this, "tabPanelLoaded", 7);
246
+ this.active = false;
247
+ this.tabId = "";
248
+ }
249
+ componentWillLoad() {
250
+ !this.el.id && this.el.setAttribute("id", generateId());
251
+ }
252
+ componentDidLoad() {
253
+ this.tabPanelLoaded.emit({ tabId: this.tabId });
254
+ }
255
+ toggleTabbingOn() {
256
+ this.el.classList.add("user-is-tabbing");
257
+ }
258
+ toggleTabbingOff() {
259
+ this.el.classList.remove("user-is-tabbing");
260
+ }
261
+ render() {
262
+ return h(Host, { role: "tabpanel", class: { "tab-hidden": !this.active } });
263
+ }
264
+ get el() { return getElement(this); }
265
265
  };
266
266
  TabPanel.style = wmTabPanelCss;
267
267