@watermarkinsights/ripple 4.1.0 → 4.2.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 (375) hide show
  1. package/dist/cjs/chartFunctions-cecf8134.js +600 -0
  2. package/dist/cjs/{functions-d50fc2d0.js → functions-4208c444.js} +366 -438
  3. package/dist/cjs/{global-7b06bd7a.js → global-38728020.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 +448 -448
  22. package/dist/cjs/wm-modal-footer.cjs.entry.js +27 -27
  23. package/dist/cjs/wm-modal-header.cjs.entry.js +21 -21
  24. package/dist/cjs/wm-modal.cjs.entry.js +92 -92
  25. package/dist/cjs/wm-navigation_3.cjs.entry.js +179 -179
  26. package/dist/cjs/wm-navigator.cjs.entry.js +251 -251
  27. package/dist/cjs/wm-option_2.cjs.entry.js +710 -710
  28. package/dist/cjs/wm-pagination.cjs.entry.js +169 -169
  29. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +151 -151
  30. package/dist/cjs/wm-search.cjs.entry.js +192 -192
  31. package/dist/cjs/wm-snackbar.cjs.entry.js +114 -114
  32. package/dist/cjs/wm-tab-item_3.cjs.entry.js +247 -247
  33. package/dist/cjs/wm-tag-input.cjs.entry.js +849 -849
  34. package/dist/cjs/wm-tag-option.cjs.entry.js +33 -33
  35. package/dist/cjs/wm-timepicker.cjs.entry.js +270 -270
  36. package/dist/cjs/wm-toggletip.cjs.entry.js +99 -99
  37. package/dist/cjs/wm-uploader.cjs.entry.js +198 -198
  38. package/dist/cjs/wm-wrapper.cjs.entry.js +12 -12
  39. package/dist/collection/collection-manifest.json +41 -41
  40. package/dist/collection/components/charts/chartFunctions.js +456 -456
  41. package/dist/collection/components/charts/chartFunctions.spec.js +13 -13
  42. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.e2e.js +73 -73
  43. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +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 +717 -717
  52. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.spec.js +106 -106
  53. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +202 -202
  54. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.e2e.js +54 -54
  55. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +136 -136
  56. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.spec.js +31 -31
  57. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +119 -119
  58. package/dist/collection/components/wm-action-menu/wm-action-menu.e2e.js +187 -187
  59. package/dist/collection/components/wm-action-menu/wm-action-menu.js +435 -435
  60. package/dist/collection/components/wm-action-menu/wm-action-menu.spec.js +35 -35
  61. package/dist/collection/components/wm-button/wm-button.e2e.js +58 -58
  62. package/dist/collection/components/wm-button/wm-button.js +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 +454 -454
  99. package/dist/collection/components/wm-navigator/wm-navigator.spec.js +153 -153
  100. package/dist/collection/components/wm-option/wm-option.e2e.js +19 -19
  101. package/dist/collection/components/wm-option/wm-option.js +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-37912d9a.js → functions-d0e70094.js} +366 -438
  148. package/dist/esm/{global-dda1229f.js → global-462b022e.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/polyfills/core-js.js +0 -0
  154. package/dist/esm/polyfills/dom.js +0 -0
  155. package/dist/esm/polyfills/es5-html-element.js +0 -0
  156. package/dist/esm/polyfills/index.js +0 -0
  157. package/dist/esm/polyfills/system.js +0 -0
  158. package/dist/esm/priv-chart-popover.entry.js +85 -85
  159. package/dist/esm/priv-datepicker.entry.js +637 -637
  160. package/dist/esm/priv-navigator-button.entry.js +18 -18
  161. package/dist/esm/priv-navigator-item.entry.js +21 -21
  162. package/dist/esm/ripple.js +5 -8
  163. package/dist/esm/wm-action-menu_2.entry.js +314 -314
  164. package/dist/esm/wm-button.entry.js +174 -174
  165. package/dist/esm/wm-chart-slice.entry.js +17 -17
  166. package/dist/esm/wm-chart.entry.js +164 -164
  167. package/dist/esm/wm-datepicker.entry.js +160 -160
  168. package/dist/esm/wm-file-list.entry.js +10 -10
  169. package/dist/esm/wm-file.entry.js +178 -178
  170. package/dist/esm/wm-input.entry.js +102 -102
  171. package/dist/esm/wm-line-chart.entry.js +448 -448
  172. package/dist/esm/wm-modal-footer.entry.js +27 -27
  173. package/dist/esm/wm-modal-header.entry.js +21 -21
  174. package/dist/esm/wm-modal.entry.js +92 -92
  175. package/dist/esm/wm-navigation_3.entry.js +179 -179
  176. package/dist/esm/wm-navigator.entry.js +251 -251
  177. package/dist/esm/wm-option_2.entry.js +710 -710
  178. package/dist/esm/wm-pagination.entry.js +169 -169
  179. package/dist/esm/wm-progress-indicator_3.entry.js +151 -151
  180. package/dist/esm/wm-search.entry.js +192 -192
  181. package/dist/esm/wm-snackbar.entry.js +114 -114
  182. package/dist/esm/wm-tab-item_3.entry.js +247 -247
  183. package/dist/esm/wm-tag-input.entry.js +849 -849
  184. package/dist/esm/wm-tag-option.entry.js +33 -33
  185. package/dist/esm/wm-timepicker.entry.js +270 -270
  186. package/dist/esm/wm-toggletip.entry.js +99 -99
  187. package/dist/esm/wm-uploader.entry.js +198 -198
  188. package/dist/esm/wm-wrapper.entry.js +12 -12
  189. package/dist/esm-es5/chartFunctions-23173fce.js +1 -0
  190. package/dist/esm-es5/functions-d0e70094.js +1 -0
  191. package/dist/esm-es5/global-462b022e.js +1 -0
  192. package/dist/esm-es5/index-f164fbca.js +2 -0
  193. package/dist/esm-es5/{intl-c9ccf883.js → intl-05c9e0c9.js} +1 -1
  194. package/dist/esm-es5/loader.js +1 -1
  195. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  196. package/dist/esm-es5/priv-datepicker.entry.js +1 -1
  197. package/dist/esm-es5/priv-navigator-button.entry.js +1 -1
  198. package/dist/esm-es5/priv-navigator-item.entry.js +1 -1
  199. package/dist/esm-es5/ripple.js +1 -1
  200. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  201. package/dist/esm-es5/wm-button.entry.js +1 -1
  202. package/dist/esm-es5/wm-chart-slice.entry.js +1 -1
  203. package/dist/esm-es5/wm-chart.entry.js +1 -1
  204. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  205. package/dist/esm-es5/wm-file-list.entry.js +1 -1
  206. package/dist/esm-es5/wm-file.entry.js +1 -1
  207. package/dist/esm-es5/wm-input.entry.js +1 -1
  208. package/dist/esm-es5/wm-line-chart.entry.js +1 -1
  209. package/dist/esm-es5/wm-modal-footer.entry.js +1 -1
  210. package/dist/esm-es5/wm-modal-header.entry.js +1 -1
  211. package/dist/esm-es5/wm-modal.entry.js +1 -1
  212. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  213. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  214. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  215. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  216. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  217. package/dist/esm-es5/wm-search.entry.js +1 -1
  218. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  219. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  220. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  221. package/dist/esm-es5/wm-tag-option.entry.js +1 -1
  222. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  223. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  224. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  225. package/dist/esm-es5/wm-wrapper.entry.js +1 -1
  226. package/dist/loader/index.d.ts +1 -1
  227. package/dist/ripple/{p-6f261fe7.js → p-05d4e49b.js} +1 -1
  228. package/dist/ripple/{p-a1e95b05.system.entry.js → p-06776596.system.entry.js} +1 -1
  229. package/dist/ripple/{p-cfcbc874.system.entry.js → p-067d7922.system.entry.js} +1 -1
  230. package/dist/ripple/p-09d62ddd.entry.js +1 -0
  231. package/dist/ripple/{p-8fe6f4fb.system.entry.js → p-0ecbf569.system.entry.js} +1 -1
  232. package/dist/ripple/p-0fe97e85.system.js +2 -0
  233. package/dist/ripple/{p-ca665973.js → p-13ca30d8.js} +1 -1
  234. package/dist/ripple/{p-8f3f903f.system.js → p-1402cfa2.system.js} +1 -1
  235. package/dist/ripple/p-1453ea51.system.entry.js +1 -0
  236. package/dist/ripple/{p-ff9ad862.entry.js → p-153701f9.entry.js} +1 -1
  237. package/dist/ripple/p-1cc91907.system.js +1 -0
  238. package/dist/ripple/{p-c4c51f4e.entry.js → p-1d8b0039.entry.js} +1 -1
  239. package/dist/ripple/{p-a7ed3c09.system.entry.js → p-1fa2a756.system.entry.js} +1 -1
  240. package/dist/ripple/{p-a52c5a1c.entry.js → p-25446670.entry.js} +1 -1
  241. package/dist/ripple/p-26602428.system.js +1 -0
  242. package/dist/ripple/{p-5dd927be.entry.js → p-27f47edc.entry.js} +1 -1
  243. package/dist/ripple/{p-bfd23b35.system.entry.js → p-2c834d27.system.entry.js} +1 -1
  244. package/dist/ripple/p-30b17818.system.entry.js +1 -0
  245. package/dist/ripple/{p-0631be01.system.entry.js → p-3446852f.system.entry.js} +1 -1
  246. package/dist/ripple/{p-6839dccc.entry.js → p-350fe5da.entry.js} +1 -1
  247. package/dist/ripple/{p-16621250.system.entry.js → p-3583d113.system.entry.js} +1 -1
  248. package/dist/ripple/{p-c5a28c1a.system.entry.js → p-361cc8fc.system.entry.js} +1 -1
  249. package/dist/ripple/{p-19773c40.entry.js → p-3a070f35.entry.js} +1 -1
  250. package/dist/ripple/p-3af72848.js +1 -0
  251. package/dist/ripple/p-3deccefa.system.js +1 -0
  252. package/dist/ripple/{p-51cd641d.entry.js → p-42ebfcfa.entry.js} +1 -1
  253. package/dist/ripple/{p-01bbec05.entry.js → p-43e2a49a.entry.js} +1 -1
  254. package/dist/ripple/{p-9c9245fe.system.entry.js → p-473ff44e.system.entry.js} +1 -1
  255. package/dist/ripple/{p-6177c551.entry.js → p-49118468.entry.js} +1 -1
  256. package/dist/ripple/p-4de51706.js +2 -0
  257. package/dist/ripple/{p-3c80bf67.entry.js → p-58174f4e.entry.js} +1 -1
  258. package/dist/ripple/{p-5129be7b.system.entry.js → p-5a4d9897.system.entry.js} +1 -1
  259. package/dist/ripple/{p-74bcedc4.entry.js → p-5a921e55.entry.js} +1 -1
  260. package/dist/ripple/{p-aab1af2b.system.entry.js → p-633cd89a.system.entry.js} +1 -1
  261. package/dist/ripple/{p-355cd806.entry.js → p-63f75d43.entry.js} +1 -1
  262. package/dist/ripple/{p-e8756afa.system.entry.js → p-67d48c33.system.entry.js} +1 -1
  263. package/dist/ripple/{p-da07b171.system.entry.js → p-7a8816d9.system.entry.js} +1 -1
  264. package/dist/ripple/{p-8ea68cb3.system.entry.js → p-7e56da2e.system.entry.js} +1 -1
  265. package/dist/ripple/{p-deb4f5a2.entry.js → p-7e8daaac.entry.js} +1 -1
  266. package/dist/ripple/{p-e37dac07.system.entry.js → p-8133ee44.system.entry.js} +1 -1
  267. package/dist/ripple/p-88406560.system.entry.js +1 -0
  268. package/dist/ripple/{p-e5dfdc72.entry.js → p-8b83de0a.entry.js} +1 -1
  269. package/dist/ripple/{p-e99e75a1.entry.js → p-8cace32f.entry.js} +1 -1
  270. package/dist/ripple/{p-311591fc.entry.js → p-8d4734ad.entry.js} +1 -1
  271. package/dist/ripple/p-8f76a838.system.entry.js +1 -0
  272. package/dist/ripple/{p-c9040294.system.entry.js → p-91ad0233.system.entry.js} +1 -1
  273. package/dist/ripple/{p-1f015ce9.entry.js → p-9e25bfd5.entry.js} +1 -1
  274. package/dist/ripple/{p-3578d8f6.system.js → p-9fecbc8a.system.js} +1 -1
  275. package/dist/ripple/{p-faaa5098.entry.js → p-a69c37e0.entry.js} +1 -1
  276. package/dist/ripple/{p-faa463cf.entry.js → p-a82a8931.entry.js} +1 -1
  277. package/dist/ripple/p-a99b05de.system.entry.js +1 -0
  278. package/dist/ripple/{p-6c0a0ec5.entry.js → p-aadf8c59.entry.js} +1 -1
  279. package/dist/ripple/{p-1c213447.system.entry.js → p-aba5a00e.system.entry.js} +1 -1
  280. package/dist/ripple/{p-98b755a8.entry.js → p-ad6dc751.entry.js} +1 -1
  281. package/dist/ripple/{p-28633a89.entry.js → p-b253d2fc.entry.js} +1 -1
  282. package/dist/ripple/{p-12dbd4cd.system.entry.js → p-b4d862e1.system.entry.js} +1 -1
  283. package/dist/ripple/{p-b67c7a37.entry.js → p-b56e0d1e.entry.js} +1 -1
  284. package/dist/ripple/{p-432a5232.system.entry.js → p-bdd4f919.system.entry.js} +1 -1
  285. package/dist/ripple/p-c18b398c.system.js +1 -0
  286. package/dist/ripple/{p-4e0f0dd3.entry.js → p-c249063c.entry.js} +1 -1
  287. package/dist/ripple/{p-0d9f70ab.entry.js → p-c717d895.entry.js} +1 -1
  288. package/dist/ripple/{p-6efcfc36.system.entry.js → p-c96a5c94.system.entry.js} +1 -1
  289. package/dist/ripple/p-cb674aad.js +1 -0
  290. package/dist/ripple/{p-4ae98602.system.entry.js → p-ceced3d9.system.entry.js} +1 -1
  291. package/dist/ripple/{p-739aa070.system.entry.js → p-d3f9d028.system.entry.js} +1 -1
  292. package/dist/ripple/{p-7962f562.entry.js → p-de349bee.entry.js} +1 -1
  293. package/dist/ripple/{p-dcea4066.entry.js → p-e24ddae1.entry.js} +1 -1
  294. package/dist/ripple/p-e66bbd87.system.entry.js +1 -0
  295. package/dist/ripple/{p-375b5ad7.system.entry.js → p-e8b58666.system.entry.js} +1 -1
  296. package/dist/ripple/{p-eb9be321.system.entry.js → p-f1a92576.system.entry.js} +1 -1
  297. package/dist/ripple/{p-1bc519df.entry.js → p-f711c914.entry.js} +1 -1
  298. package/dist/ripple/{p-03bfc773.entry.js → p-f7aa5a73.entry.js} +1 -1
  299. package/dist/ripple/ripple.esm.js +1 -1
  300. package/dist/ripple/ripple.js +16 -20
  301. package/dist/types/components/charts/chartFunctions.d.ts +13 -13
  302. package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +24 -24
  303. package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +8 -8
  304. package/dist/types/components/charts/wm-chart/wm-chart.d.ts +39 -39
  305. package/dist/types/components/charts/wm-line-chart/wm-line-chart.d.ts +73 -73
  306. package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +26 -26
  307. package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +17 -17
  308. package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +7 -7
  309. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +43 -43
  310. package/dist/types/components/wm-button/wm-button.d.ts +40 -40
  311. package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +76 -76
  312. package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +31 -31
  313. package/dist/types/components/wm-file/wm-file.d.ts +40 -40
  314. package/dist/types/components/wm-file-list/wm-file-list.d.ts +3 -3
  315. package/dist/types/components/wm-input/wm-input.d.ts +46 -46
  316. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +31 -31
  317. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +11 -11
  318. package/dist/types/components/wm-modal/wm-modal-header.d.ts +7 -7
  319. package/dist/types/components/wm-modal/wm-modal.d.ts +24 -24
  320. package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +13 -13
  321. package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +10 -10
  322. package/dist/types/components/wm-navigation/wm-navigation.d.ts +23 -23
  323. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +7 -7
  324. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +10 -10
  325. package/dist/types/components/wm-navigator/wm-navigator.d.ts +57 -57
  326. package/dist/types/components/wm-option/wm-option.d.ts +36 -36
  327. package/dist/types/components/wm-pagination/wm-pagination.d.ts +27 -27
  328. package/dist/types/components/wm-search/wm-search.d.ts +73 -73
  329. package/dist/types/components/wm-select/wm-select.d.ts +99 -99
  330. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +24 -24
  331. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +30 -30
  332. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +41 -41
  333. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +16 -16
  334. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +114 -114
  335. package/dist/types/components/wm-tag-input/wm-tag-option/wm-tag-option.d.ts +15 -15
  336. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +48 -48
  337. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +20 -20
  338. package/dist/types/components/wm-uploader/wm-uploader.d.ts +47 -47
  339. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +4 -4
  340. package/dist/types/components.d.ts +382 -0
  341. package/dist/types/global/__mocks__/functions.d.ts +1 -1
  342. package/dist/types/global/functions.d.ts +4 -4
  343. package/dist/types/global/interfaces.d.ts +49 -49
  344. package/dist/types/global/intl.d.ts +31 -31
  345. package/dist/types/global/services/__mocks__/http-service.d.ts +1 -1
  346. package/dist/types/stencil-public-runtime.d.ts +46 -5
  347. package/package.json +8 -9
  348. package/dist/cjs/chartFunctions-75a17e36.js +0 -600
  349. package/dist/cjs/interfaces-245d7bff.js +0 -38
  350. package/dist/cjs/intl-f2685d0f.js +0 -179
  351. package/dist/esm/chartFunctions-a6f7d624.js +0 -584
  352. package/dist/esm/interfaces-89cad2fc.js +0 -35
  353. package/dist/esm/intl-c9ccf883.js +0 -174
  354. package/dist/esm/polyfills/css-shim.js +0 -1
  355. package/dist/esm-es5/chartFunctions-a6f7d624.js +0 -1
  356. package/dist/esm-es5/functions-37912d9a.js +0 -1
  357. package/dist/esm-es5/global-dda1229f.js +0 -1
  358. package/dist/esm-es5/index-7e11ea42.js +0 -2
  359. package/dist/ripple/p-16363e1c.system.entry.js +0 -1
  360. package/dist/ripple/p-1df5e482.entry.js +0 -1
  361. package/dist/ripple/p-30bf24f8.system.js +0 -2
  362. package/dist/ripple/p-3248c0fa.system.entry.js +0 -1
  363. package/dist/ripple/p-403d2397.js +0 -1
  364. package/dist/ripple/p-56d64283.system.entry.js +0 -1
  365. package/dist/ripple/p-6210d34f.system.entry.js +0 -1
  366. package/dist/ripple/p-7f514768.system.js +0 -1
  367. package/dist/ripple/p-959fd0c1.system.js +0 -1
  368. package/dist/ripple/p-a5cd65c4.system.js +0 -1
  369. package/dist/ripple/p-b5bedd63.js +0 -2
  370. package/dist/ripple/p-ba7764e2.js +0 -1
  371. package/dist/ripple/p-e4cb82d0.system.entry.js +0 -1
  372. package/dist/ripple/p-f8411a8a.system.entry.js +0 -1
  373. package/dist/ripple/p-fd7ae778.system.js +0 -1
  374. /package/dist/esm-es5/{interfaces-89cad2fc.js → interfaces-9b75fb61.js} +0 -0
  375. /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-d50fc2d0.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