@watermarkinsights/ripple 0.0.1 → 0.1.0-alpha.1

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 (460) hide show
  1. package/dist/cjs/app-globals-3db2fdd3.js +103 -0
  2. package/dist/cjs/chartFunctions-0d47b1f4.js +906 -0
  3. package/dist/cjs/functions-761cb9f2.js +10694 -0
  4. package/dist/cjs/index-bb947bd5.js +1843 -0
  5. package/dist/cjs/index.cjs.js +2 -0
  6. package/dist/cjs/interfaces-33cd6161.js +82 -0
  7. package/dist/cjs/intl-9e9388a7.js +291 -0
  8. package/dist/cjs/loader.cjs.js +15 -0
  9. package/dist/cjs/priv-calendar.cjs.entry.js +580 -0
  10. package/dist/cjs/priv-chart-popover-old.cjs.entry.js +146 -0
  11. package/dist/cjs/priv-chart-popover_2.cjs.entry.js +204 -0
  12. package/dist/cjs/priv-navigator-button.cjs.entry.js +29 -0
  13. package/dist/cjs/priv-navigator-item.cjs.entry.js +35 -0
  14. package/dist/cjs/priv-option-list.cjs.entry.js +391 -0
  15. package/dist/cjs/ripple.cjs.js +25 -0
  16. package/dist/cjs/wm-action-menu_2.cjs.entry.js +525 -0
  17. package/dist/cjs/wm-button.cjs.entry.js +280 -0
  18. package/dist/cjs/wm-chart-bar.cjs.entry.js +444 -0
  19. package/dist/cjs/wm-chart-column.cjs.entry.js +629 -0
  20. package/dist/cjs/wm-chart-slice.cjs.entry.js +27 -0
  21. package/dist/cjs/wm-chart-stack.cjs.entry.js +447 -0
  22. package/dist/cjs/wm-chart.cjs.entry.js +163 -0
  23. package/dist/cjs/wm-date-range.cjs.entry.js +591 -0
  24. package/dist/cjs/wm-datepicker.cjs.entry.js +399 -0
  25. package/dist/{ripple/wm-tab-panel.entry.js → cjs/wm-file-list.cjs.entry.js} +15 -24
  26. package/dist/cjs/wm-file.cjs.entry.js +210 -0
  27. package/dist/cjs/wm-flyout.cjs.entry.js +178 -0
  28. package/dist/{ripple/wm-modal.entry.js → cjs/wm-input.cjs.entry.js} +108 -110
  29. package/dist/cjs/wm-line-chart.cjs.entry.js +541 -0
  30. package/dist/cjs/wm-modal-pss_3.cjs.entry.js +220 -0
  31. package/dist/cjs/wm-modal_3.cjs.entry.js +238 -0
  32. package/dist/cjs/wm-navigation_3.cjs.entry.js +188 -0
  33. package/dist/cjs/wm-navigator.cjs.entry.js +334 -0
  34. package/dist/cjs/wm-nested-select.cjs.entry.js +322 -0
  35. package/dist/{ripple/wm-textarea.entry.js → cjs/wm-optgroup.cjs.entry.js} +62 -57
  36. package/dist/cjs/wm-option_2.cjs.entry.js +536 -0
  37. package/dist/{ripple/wm-navigation.entry.js → cjs/wm-pagination.cjs.entry.js} +204 -91
  38. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +204 -0
  39. package/dist/{ripple/wm-flyout.entry.js → cjs/wm-search.cjs.entry.js} +168 -139
  40. package/dist/{ripple/wm-datepicker.entry.js → cjs/wm-snackbar.cjs.entry.js} +152 -223
  41. package/dist/cjs/wm-tab-item_3.cjs.entry.js +357 -0
  42. package/dist/cjs/wm-tag-input.cjs.entry.js +985 -0
  43. package/dist/cjs/wm-tag-option.cjs.entry.js +51 -0
  44. package/dist/{ripple/wm-modal-pss.entry.js → cjs/wm-textarea.cjs.entry.js} +70 -111
  45. package/dist/{ripple/wm-progress-indicator.entry.js → cjs/wm-timepicker.cjs.entry.js} +296 -78
  46. package/dist/cjs/wm-toggletip.cjs.entry.js +252 -0
  47. package/dist/cjs/wm-uploader.cjs.entry.js +341 -0
  48. package/dist/cjs/wm-wrapper.cjs.entry.js +21 -0
  49. package/dist/collection/collection-manifest.json +207 -0
  50. package/dist/collection/components/charts/chartFunctions.js +831 -0
  51. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.css +995 -0
  52. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +345 -0
  53. package/dist/collection/components/charts/priv-chart-popover-old/priv-chart-popover-old.css +990 -0
  54. package/dist/collection/components/charts/priv-chart-popover-old/priv-chart-popover-old.js +268 -0
  55. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +177 -0
  56. package/dist/collection/components/charts/wm-chart/wm-chart.css +1326 -0
  57. package/dist/collection/components/charts/wm-chart/wm-chart.js +549 -0
  58. package/dist/collection/components/charts/wm-chart-bar/wm-chart-bar.css +1236 -0
  59. package/dist/collection/components/charts/wm-chart-bar/wm-chart-bar.js +725 -0
  60. package/dist/collection/components/charts/wm-chart-column/wm-chart-column.css +1335 -0
  61. package/dist/collection/components/charts/wm-chart-column/wm-chart-column.js +914 -0
  62. package/dist/collection/components/charts/wm-chart-legend/wm-chart-legend.css +1006 -0
  63. package/dist/collection/components/charts/wm-chart-legend/wm-chart-legend.js +310 -0
  64. package/dist/collection/components/charts/wm-chart-stack/wm-chart-stack.css +1466 -0
  65. package/dist/collection/components/charts/wm-chart-stack/wm-chart-stack.js +709 -0
  66. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.css +1208 -0
  67. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.js +999 -0
  68. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.css +1326 -0
  69. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +320 -0
  70. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.css +967 -0
  71. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +232 -0
  72. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +167 -0
  73. package/dist/collection/components/datepickers/datepicker.css +1147 -0
  74. package/dist/collection/components/datepickers/priv-calendar/priv-calendar.css +1415 -0
  75. package/dist/collection/components/datepickers/priv-calendar/priv-calendar.js +857 -0
  76. package/dist/collection/components/datepickers/wm-date-range.js +1158 -0
  77. package/dist/collection/components/datepickers/wm-datepicker.js +875 -0
  78. package/dist/collection/components/selects/priv-option-list/priv-option-list.css +999 -0
  79. package/dist/collection/components/selects/priv-option-list/priv-option-list.js +784 -0
  80. package/dist/collection/components/selects/wm-nested-select/wm-nested-select.css +1259 -0
  81. package/dist/collection/components/selects/wm-nested-select/wm-nested-select.js +805 -0
  82. package/dist/collection/components/selects/wm-optgroup/wm-optgroup.css +909 -0
  83. package/dist/collection/components/selects/wm-optgroup/wm-optgroup.js +363 -0
  84. package/dist/collection/components/selects/wm-option/wm-option.css +1033 -0
  85. package/dist/collection/components/selects/wm-option/wm-option.js +665 -0
  86. package/dist/collection/components/selects/wm-select/wm-select.css +1174 -0
  87. package/dist/collection/components/selects/wm-select/wm-select.js +878 -0
  88. package/dist/collection/components/wm-action-menu/wm-action-menu.css +1690 -0
  89. package/dist/collection/components/wm-action-menu/wm-action-menu.js +932 -0
  90. package/dist/collection/components/wm-button/wm-button.css +1630 -0
  91. package/dist/collection/components/wm-button/wm-button.js +794 -0
  92. package/dist/collection/components/wm-file/wm-file.css +1086 -0
  93. package/dist/collection/components/wm-file/wm-file.js +536 -0
  94. package/dist/collection/components/wm-file-list/wm-file-list.css +899 -0
  95. package/dist/collection/components/wm-file-list/wm-file-list.js +118 -0
  96. package/dist/collection/components/wm-flyout/wm-flyout.css +1091 -0
  97. package/dist/collection/components/wm-flyout/wm-flyout.js +651 -0
  98. package/dist/collection/components/wm-input/wm-input.css +1095 -0
  99. package/dist/collection/components/wm-input/wm-input.js +653 -0
  100. package/dist/collection/components/wm-menuitem/wm-menuitem.css +982 -0
  101. package/dist/collection/components/wm-menuitem/wm-menuitem.js +515 -0
  102. package/dist/collection/components/wm-modal/wm-modal-footer.css +927 -0
  103. package/dist/collection/components/wm-modal/wm-modal-footer.js +199 -0
  104. package/dist/collection/components/wm-modal/wm-modal-header.css +926 -0
  105. package/dist/collection/components/wm-modal/wm-modal-header.js +110 -0
  106. package/dist/collection/components/wm-modal/wm-modal.css +983 -0
  107. package/dist/collection/components/wm-modal/wm-modal.js +534 -0
  108. package/dist/collection/components/wm-modal-pss/wm-modal-pss-footer.css +931 -0
  109. package/dist/collection/components/wm-modal-pss/wm-modal-pss-footer.js +142 -0
  110. package/dist/collection/components/wm-modal-pss/wm-modal-pss-header.css +925 -0
  111. package/dist/collection/components/wm-modal-pss/wm-modal-pss-header.js +86 -0
  112. package/dist/collection/components/wm-modal-pss/wm-modal-pss.css +1007 -0
  113. package/dist/collection/components/wm-modal-pss/wm-modal-pss.js +369 -0
  114. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.css +926 -0
  115. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +153 -0
  116. package/dist/collection/components/wm-navigation/wm-navigation-item.css +935 -0
  117. package/dist/collection/components/wm-navigation/wm-navigation-item.js +140 -0
  118. package/dist/collection/components/wm-navigation/wm-navigation.css +977 -0
  119. package/dist/collection/components/wm-navigation/wm-navigation.js +246 -0
  120. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.css +929 -0
  121. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +90 -0
  122. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.css +918 -0
  123. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +128 -0
  124. package/dist/collection/components/wm-navigator/wm-navigator.css +990 -0
  125. package/dist/collection/components/wm-navigator/wm-navigator.js +597 -0
  126. package/dist/collection/components/wm-pagination/wm-pagination.css +1044 -0
  127. package/dist/collection/components/wm-pagination/wm-pagination.js +487 -0
  128. package/dist/collection/components/wm-search/wm-search.css +983 -0
  129. package/dist/collection/components/wm-search/wm-search.js +604 -0
  130. package/dist/collection/components/wm-snackbar/wm-snackbar.css +1150 -0
  131. package/dist/collection/components/wm-snackbar/wm-snackbar.js +363 -0
  132. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.css +958 -0
  133. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +233 -0
  134. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.css +966 -0
  135. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +461 -0
  136. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.css +906 -0
  137. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +132 -0
  138. package/dist/collection/components/wm-tag-input/wm-tag-input.css +1423 -0
  139. package/dist/collection/components/wm-tag-input/wm-tag-input.js +1511 -0
  140. package/dist/collection/components/wm-tag-input/wm-tag-option/wm-tag-option.js +328 -0
  141. package/dist/collection/components/wm-textarea/wm-textarea.css +1065 -0
  142. package/dist/collection/components/wm-textarea/wm-textarea.js +423 -0
  143. package/dist/collection/components/wm-timepicker/wm-timepicker.css +1174 -0
  144. package/dist/collection/components/wm-timepicker/wm-timepicker.js +728 -0
  145. package/dist/collection/components/wm-toggletip/wm-toggletip.css +1296 -0
  146. package/dist/collection/components/wm-toggletip/wm-toggletip.js +455 -0
  147. package/dist/collection/components/wm-uploader/wm-uploader.css +1987 -0
  148. package/dist/collection/components/wm-uploader/wm-uploader.js +760 -0
  149. package/dist/collection/components/wm-wrapper/wm-wrapper.js +31 -0
  150. package/dist/collection/dev/action-menu.js +18 -0
  151. package/dist/collection/dev/button.js +12 -0
  152. package/dist/collection/dev/chart-bar.js +430 -0
  153. package/dist/collection/dev/chart-column.js +459 -0
  154. package/dist/collection/dev/chart-small.js +56 -0
  155. package/dist/collection/dev/chart-stack.js +205 -0
  156. package/dist/collection/dev/chart.js +18 -0
  157. package/dist/collection/dev/date-range.js +14 -0
  158. package/dist/collection/dev/datepicker.js +46 -0
  159. package/dist/collection/dev/file-list.js +16 -0
  160. package/dist/collection/dev/file.js +0 -0
  161. package/dist/collection/dev/flyout.js +194 -0
  162. package/dist/collection/dev/input.js +6 -0
  163. package/dist/collection/dev/line-chart.js +45 -0
  164. package/dist/collection/dev/modal.js +48 -0
  165. package/dist/collection/dev/navigation.js +13 -0
  166. package/dist/collection/dev/navigator.js +34 -0
  167. package/dist/collection/dev/nested-select.js +36 -0
  168. package/dist/collection/dev/pagination.js +7 -0
  169. package/dist/collection/dev/progress-monitor.js +0 -0
  170. package/dist/collection/dev/pss-modal.js +8 -0
  171. package/dist/collection/dev/scripts.js +49 -0
  172. package/dist/collection/dev/search.js +72 -0
  173. package/dist/collection/dev/select.js +57 -0
  174. package/dist/collection/dev/snackbar.js +68 -0
  175. package/dist/collection/dev/tabs.js +44 -0
  176. package/dist/collection/dev/tag-input.js +32 -0
  177. package/dist/collection/dev/textarea.js +28 -0
  178. package/dist/collection/dev/timepicker.js +32 -0
  179. package/dist/collection/dev/toggletip.js +9 -0
  180. package/dist/collection/dev/uploader.js +139 -0
  181. package/dist/collection/global/__mocks__/functions.js +6 -0
  182. package/dist/collection/global/functions.js +907 -0
  183. package/dist/{ripple/app-globals-B7cOtGhY.js → collection/global/global.js} +16 -87
  184. package/dist/collection/global/interfaces.js +94 -0
  185. package/dist/collection/global/intl.js +281 -0
  186. package/dist/collection/global/services/__mocks__/http-service.js +130 -0
  187. package/dist/collection/global/services/http-service.js +50 -0
  188. package/dist/collection/lang/lang.js +5 -0
  189. package/dist/collection/lang/missing.js +43 -0
  190. package/dist/collection/lang/piglatin.js +101 -0
  191. package/dist/docs/docs.d.ts +435 -0
  192. package/dist/docs/docs.json +14178 -0
  193. package/dist/docs/props-reference.json +2079 -0
  194. package/dist/docs/skill/index.md +33 -0
  195. package/dist/docs/skill/wm-action-menu.md +116 -0
  196. package/dist/docs/skill/wm-button.md +121 -0
  197. package/dist/docs/skill/wm-chart-bar.md +156 -0
  198. package/dist/docs/skill/wm-chart-column.md +122 -0
  199. package/dist/docs/skill/wm-chart-legend.md +91 -0
  200. package/dist/docs/skill/wm-chart-slice.md +101 -0
  201. package/dist/docs/skill/wm-chart-stack.md +147 -0
  202. package/dist/docs/skill/wm-chart.md +139 -0
  203. package/dist/docs/skill/wm-date-range.md +176 -0
  204. package/dist/docs/skill/wm-datepicker.md +153 -0
  205. package/dist/docs/skill/wm-file-list.md +105 -0
  206. package/dist/docs/skill/wm-file.md +91 -0
  207. package/dist/docs/skill/wm-flyout.md +209 -0
  208. package/dist/docs/skill/wm-input.md +134 -0
  209. package/dist/docs/skill/wm-line-chart.md +135 -0
  210. package/dist/docs/skill/wm-menuitem.md +64 -0
  211. package/dist/docs/skill/wm-modal-footer.md +81 -0
  212. package/dist/docs/skill/wm-modal-header.md +71 -0
  213. package/dist/docs/skill/wm-modal.md +172 -0
  214. package/dist/docs/skill/wm-navigation-hamburger.md +61 -0
  215. package/dist/docs/skill/wm-navigation-item.md +78 -0
  216. package/dist/docs/skill/wm-navigation.md +82 -0
  217. package/dist/docs/skill/wm-navigator.md +106 -0
  218. package/dist/docs/skill/wm-nested-select.md +160 -0
  219. package/dist/docs/skill/wm-optgroup.md +72 -0
  220. package/dist/docs/skill/wm-option.md +67 -0
  221. package/dist/docs/skill/wm-pagination.md +114 -0
  222. package/dist/docs/skill/wm-progress-indicator.md +75 -0
  223. package/dist/docs/skill/wm-progress-monitor.md +120 -0
  224. package/dist/docs/skill/wm-progress-slice.md +67 -0
  225. package/dist/docs/skill/wm-search.md +180 -0
  226. package/dist/docs/skill/wm-select.md +169 -0
  227. package/dist/docs/skill/wm-snackbar.md +130 -0
  228. package/dist/docs/skill/wm-tab-item.md +45 -0
  229. package/dist/docs/skill/wm-tab-list.md +139 -0
  230. package/dist/docs/skill/wm-tab-panel.md +39 -0
  231. package/dist/docs/skill/wm-tag-input.md +187 -0
  232. package/dist/docs/skill/wm-tag-option.md +60 -0
  233. package/dist/docs/skill/wm-textarea.md +102 -0
  234. package/dist/docs/skill/wm-timepicker.md +156 -0
  235. package/dist/docs/skill/wm-toggletip.md +98 -0
  236. package/dist/docs/skill/wm-uploader.md +154 -0
  237. package/dist/docs/skill/wm-wrapper.md +5 -0
  238. package/dist/esm/app-globals-a1092590.js +101 -0
  239. package/dist/{ripple/chartFunctions-CmeM8Tyx.js → esm/chartFunctions-58637dc9.js} +159 -3
  240. package/dist/{ripple/functions-DVLl0rH_.js → esm/functions-65f1594c.js} +374 -7830
  241. package/dist/esm/index-3425d80d.js +1813 -0
  242. package/dist/esm/index.js +1 -0
  243. package/dist/esm/interfaces-8778346d.js +77 -0
  244. package/dist/{ripple/intl-7p27BJSM.js → esm/intl-d518f362.js} +11 -4
  245. package/dist/esm/loader.js +11 -0
  246. package/dist/{ripple → esm}/priv-calendar.entry.js +143 -133
  247. package/dist/esm/priv-chart-popover-old.entry.js +142 -0
  248. package/dist/esm/priv-chart-popover_2.entry.js +199 -0
  249. package/dist/{ripple → esm}/priv-navigator-button.entry.js +5 -4
  250. package/dist/{ripple → esm}/priv-navigator-item.entry.js +5 -4
  251. package/dist/{ripple → esm}/priv-option-list.entry.js +18 -16
  252. package/dist/esm/ripple.js +20 -0
  253. package/dist/esm/wm-action-menu_2.entry.js +520 -0
  254. package/dist/{ripple/wm-modal-header.entry.js → esm/wm-button.entry.js} +264 -24
  255. package/dist/esm/wm-chart-bar.entry.js +440 -0
  256. package/dist/esm/wm-chart-column.entry.js +625 -0
  257. package/dist/{ripple → esm}/wm-chart-slice.entry.js +6 -1
  258. package/dist/esm/wm-chart-stack.entry.js +443 -0
  259. package/dist/esm/wm-chart.entry.js +159 -0
  260. package/dist/{ripple → esm}/wm-date-range.entry.js +224 -114
  261. package/dist/esm/wm-datepicker.entry.js +395 -0
  262. package/dist/{ripple → esm}/wm-file-list.entry.js +5 -4
  263. package/dist/{ripple → esm}/wm-file.entry.js +48 -24
  264. package/dist/esm/wm-flyout.entry.js +174 -0
  265. package/dist/{ripple → esm}/wm-input.entry.js +23 -7
  266. package/dist/{ripple → esm}/wm-line-chart.entry.js +182 -94
  267. package/dist/esm/wm-modal-pss_3.entry.js +214 -0
  268. package/dist/esm/wm-modal_3.entry.js +232 -0
  269. package/dist/esm/wm-navigation_3.entry.js +182 -0
  270. package/dist/{ripple → esm}/wm-navigator.entry.js +26 -64
  271. package/dist/{ripple → esm}/wm-nested-select.entry.js +35 -25
  272. package/dist/{ripple → esm}/wm-optgroup.entry.js +17 -5
  273. package/dist/esm/wm-option_2.entry.js +531 -0
  274. package/dist/{ripple → esm}/wm-pagination.entry.js +16 -14
  275. package/dist/esm/wm-progress-indicator_3.entry.js +198 -0
  276. package/dist/{ripple → esm}/wm-search.entry.js +15 -31
  277. package/dist/{ripple → esm}/wm-snackbar.entry.js +32 -45
  278. package/dist/esm/wm-tab-item_3.entry.js +351 -0
  279. package/dist/{ripple → esm}/wm-tag-input.entry.js +169 -65
  280. package/dist/{ripple → esm}/wm-tag-option.entry.js +14 -2
  281. package/dist/{ripple/wm-menuitem.entry.js → esm/wm-textarea.entry.js} +65 -100
  282. package/dist/{ripple → esm}/wm-timepicker.entry.js +33 -12
  283. package/dist/{ripple → esm}/wm-toggletip.entry.js +105 -33
  284. package/dist/esm/wm-uploader.entry.js +337 -0
  285. package/dist/{ripple → esm}/wm-wrapper.entry.js +1 -1
  286. package/dist/index.cjs.js +1 -0
  287. package/dist/index.js +1 -0
  288. package/dist/loader/cdn.js +1 -0
  289. package/dist/loader/index.cjs.js +1 -0
  290. package/dist/loader/index.d.ts +24 -0
  291. package/dist/loader/index.es2017.js +1 -0
  292. package/dist/loader/index.js +2 -0
  293. package/dist/loader/package.json +11 -0
  294. package/dist/ripple/index.esm.js +0 -1
  295. package/dist/ripple/p-0d364411.entry.js +1 -0
  296. package/dist/ripple/p-156c4d1d.entry.js +1 -0
  297. package/dist/ripple/{wm-modal-footer.entry.js → p-26d8c356.entry.js} +1 -44
  298. package/dist/ripple/p-2b23ce49.entry.js +1 -0
  299. package/dist/ripple/p-2b7cc2c1.entry.js +1 -0
  300. package/dist/ripple/p-34bde06a.entry.js +1 -0
  301. package/dist/ripple/p-35db9386.entry.js +1 -0
  302. package/dist/ripple/p-38a987ac.entry.js +1 -0
  303. package/dist/ripple/p-38b05894.entry.js +1 -0
  304. package/dist/ripple/p-38dee4ab.entry.js +1 -0
  305. package/dist/ripple/p-3a19d019.entry.js +1 -0
  306. package/dist/ripple/p-451d4de2.js +1 -0
  307. package/dist/ripple/p-507f2cf4.entry.js +1 -0
  308. package/dist/ripple/p-59f74ead.entry.js +1 -0
  309. package/dist/ripple/p-5c2fc42a.entry.js +1 -0
  310. package/dist/ripple/p-680d7606.entry.js +1 -0
  311. package/dist/ripple/p-683264db.js +1 -0
  312. package/dist/ripple/p-6db681c8.entry.js +1 -0
  313. package/dist/ripple/p-6e3c2bbc.js +1 -0
  314. package/dist/ripple/p-6f1cabab.entry.js +1 -0
  315. package/dist/ripple/p-72d135ee.entry.js +1 -0
  316. package/dist/ripple/p-7799953c.entry.js +1 -0
  317. package/dist/ripple/p-83c3db60.js +2 -0
  318. package/dist/ripple/{wm-progress-monitor.entry.js → p-83cdad78.entry.js} +1 -71
  319. package/dist/ripple/p-87ef0cfa.entry.js +1 -0
  320. package/dist/ripple/p-88e44511.entry.js +1 -0
  321. package/dist/ripple/p-8f8e4eb8.entry.js +1 -0
  322. package/dist/ripple/p-936adffb.entry.js +1 -0
  323. package/dist/ripple/p-9755192c.entry.js +1 -0
  324. package/dist/ripple/p-9c5c591b.js +1 -0
  325. package/dist/ripple/p-9ea38d96.entry.js +1 -0
  326. package/dist/ripple/p-be3e4e7c.entry.js +1 -0
  327. package/dist/ripple/p-c9c7df12.entry.js +1 -0
  328. package/dist/ripple/p-d7a1be0b.entry.js +1 -0
  329. package/dist/ripple/p-dab86523.entry.js +1 -0
  330. package/dist/ripple/{wm-tab-list.entry.js → p-e4aa6e27.entry.js} +1 -175
  331. package/dist/ripple/p-ebe9f38c.js +1 -0
  332. package/dist/ripple/p-ed053612.entry.js +1 -0
  333. package/dist/ripple/p-f43f621b.entry.js +1 -0
  334. package/dist/ripple/p-f48d30d6.entry.js +1 -0
  335. package/dist/ripple/{wm-action-menu.entry.js → p-f6aad57c.entry.js} +1 -201
  336. package/dist/ripple/p-f6e1beb5.entry.js +1 -0
  337. package/dist/ripple/p-fc843bb8.entry.js +1 -0
  338. package/dist/ripple/{priv-chart-popover.entry.js → p-fd997764.entry.js} +1 -134
  339. package/dist/ripple/p-fffb46ad.entry.js +1 -0
  340. package/dist/ripple/ripple.esm.js +1 -48
  341. package/dist/types/components/charts/chartFunctions.d.ts +15 -2
  342. package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +25 -11
  343. package/dist/types/components/charts/priv-chart-popover-old/priv-chart-popover-old.d.ts +31 -0
  344. package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +52 -0
  345. package/dist/types/components/charts/wm-chart/wm-chart.d.ts +113 -1
  346. package/dist/types/components/charts/wm-chart-bar/wm-chart-bar.d.ts +195 -0
  347. package/dist/types/components/charts/wm-chart-column/wm-chart-column.d.ts +184 -0
  348. package/dist/types/components/charts/wm-chart-legend/wm-chart-legend.d.ts +110 -0
  349. package/dist/types/components/charts/wm-chart-stack/wm-chart-stack.d.ts +194 -0
  350. package/dist/types/components/charts/wm-line-chart/wm-line-chart.d.ts +156 -11
  351. package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +53 -1
  352. package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +85 -0
  353. package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +44 -0
  354. package/dist/types/components/datepickers/priv-calendar/priv-calendar.d.ts +19 -3
  355. package/dist/types/components/datepickers/wm-date-range.d.ts +205 -14
  356. package/dist/types/components/datepickers/wm-datepicker.d.ts +189 -11
  357. package/dist/types/components/selects/priv-option-list/priv-option-list.d.ts +6 -0
  358. package/dist/types/components/selects/wm-nested-select/wm-nested-select.d.ts +165 -1
  359. package/dist/types/components/selects/wm-optgroup/wm-optgroup.d.ts +87 -0
  360. package/dist/types/components/selects/wm-option/wm-option.d.ts +117 -0
  361. package/dist/types/components/selects/wm-select/wm-select.d.ts +193 -12
  362. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +207 -2
  363. package/dist/types/components/wm-button/wm-button.d.ts +191 -0
  364. package/dist/types/components/wm-file/wm-file.d.ts +110 -1
  365. package/dist/types/components/wm-file-list/wm-file-list.d.ts +72 -0
  366. package/dist/types/components/wm-flyout/wm-flyout.d.ts +205 -0
  367. package/dist/types/components/wm-input/wm-input.d.ts +161 -1
  368. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +79 -0
  369. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +54 -0
  370. package/dist/types/components/wm-modal/wm-modal-header.d.ts +30 -0
  371. package/dist/types/components/wm-modal/wm-modal.d.ts +160 -0
  372. package/dist/types/components/wm-modal-pss/wm-modal-pss-footer.d.ts +4 -0
  373. package/dist/types/components/wm-modal-pss/wm-modal-pss-header.d.ts +4 -0
  374. package/dist/types/components/wm-modal-pss/wm-modal-pss.d.ts +6 -0
  375. package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +34 -0
  376. package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +41 -0
  377. package/dist/types/components/wm-navigation/wm-navigation.d.ts +57 -0
  378. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +4 -0
  379. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +4 -0
  380. package/dist/types/components/wm-navigator/wm-navigator.d.ts +93 -4
  381. package/dist/types/components/wm-pagination/wm-pagination.d.ts +100 -1
  382. package/dist/types/components/wm-search/wm-search.d.ts +158 -6
  383. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +103 -1
  384. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +55 -3
  385. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +119 -20
  386. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +35 -2
  387. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +199 -5
  388. package/dist/types/components/wm-tag-input/wm-tag-option/wm-tag-option.d.ts +68 -0
  389. package/dist/types/components/wm-textarea/wm-textarea.d.ts +99 -0
  390. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +147 -0
  391. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +88 -2
  392. package/dist/types/components/wm-uploader/wm-uploader.d.ts +145 -3
  393. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +3 -0
  394. package/dist/types/components.d.ts +11523 -95
  395. package/dist/types/global/functions.d.ts +7 -2
  396. package/dist/types/global/interfaces.d.ts +92 -2
  397. package/dist/types/global/intl.d.ts +3 -0
  398. package/dist/types/stencil-public-runtime.d.ts +0 -28
  399. package/package.json +4 -33
  400. package/dist/components/index.d.ts +0 -33
  401. package/dist/components/priv-calendar.d.ts +0 -11
  402. package/dist/components/priv-chart-popover.d.ts +0 -11
  403. package/dist/components/priv-navigator-button.d.ts +0 -11
  404. package/dist/components/priv-navigator-item.d.ts +0 -11
  405. package/dist/components/priv-option-list.d.ts +0 -11
  406. package/dist/components/wm-action-menu.d.ts +0 -11
  407. package/dist/components/wm-button.d.ts +0 -11
  408. package/dist/components/wm-chart-slice.d.ts +0 -11
  409. package/dist/components/wm-chart.d.ts +0 -11
  410. package/dist/components/wm-date-range.d.ts +0 -11
  411. package/dist/components/wm-datepicker.d.ts +0 -11
  412. package/dist/components/wm-file-list.d.ts +0 -11
  413. package/dist/components/wm-file.d.ts +0 -11
  414. package/dist/components/wm-flyout.d.ts +0 -11
  415. package/dist/components/wm-input.d.ts +0 -11
  416. package/dist/components/wm-line-chart.d.ts +0 -11
  417. package/dist/components/wm-menuitem.d.ts +0 -11
  418. package/dist/components/wm-modal-footer.d.ts +0 -11
  419. package/dist/components/wm-modal-header.d.ts +0 -11
  420. package/dist/components/wm-modal-pss-footer.d.ts +0 -11
  421. package/dist/components/wm-modal-pss-header.d.ts +0 -11
  422. package/dist/components/wm-modal-pss.d.ts +0 -11
  423. package/dist/components/wm-modal.d.ts +0 -11
  424. package/dist/components/wm-navigation-hamburger.d.ts +0 -11
  425. package/dist/components/wm-navigation-item.d.ts +0 -11
  426. package/dist/components/wm-navigation.d.ts +0 -11
  427. package/dist/components/wm-navigator.d.ts +0 -11
  428. package/dist/components/wm-nested-select.d.ts +0 -11
  429. package/dist/components/wm-optgroup.d.ts +0 -11
  430. package/dist/components/wm-option.d.ts +0 -11
  431. package/dist/components/wm-pagination.d.ts +0 -11
  432. package/dist/components/wm-progress-indicator.d.ts +0 -11
  433. package/dist/components/wm-progress-monitor.d.ts +0 -11
  434. package/dist/components/wm-progress-slice.d.ts +0 -11
  435. package/dist/components/wm-search.d.ts +0 -11
  436. package/dist/components/wm-select.d.ts +0 -11
  437. package/dist/components/wm-snackbar.d.ts +0 -11
  438. package/dist/components/wm-tab-item.d.ts +0 -11
  439. package/dist/components/wm-tab-list.d.ts +0 -11
  440. package/dist/components/wm-tab-panel.d.ts +0 -11
  441. package/dist/components/wm-tag-input.d.ts +0 -11
  442. package/dist/components/wm-tag-option.d.ts +0 -11
  443. package/dist/components/wm-textarea.d.ts +0 -11
  444. package/dist/components/wm-timepicker.d.ts +0 -11
  445. package/dist/components/wm-toggletip.d.ts +0 -11
  446. package/dist/components/wm-uploader.d.ts +0 -11
  447. package/dist/components/wm-wrapper.d.ts +0 -11
  448. package/dist/ripple/index-CU5QNCKv.js +0 -4167
  449. package/dist/ripple/interfaces-CrANcZM9.js +0 -53
  450. package/dist/ripple/wm-button.entry.js +0 -197
  451. package/dist/ripple/wm-chart.entry.js +0 -157
  452. package/dist/ripple/wm-modal-pss-footer.entry.js +0 -40
  453. package/dist/ripple/wm-modal-pss-header.entry.js +0 -39
  454. package/dist/ripple/wm-navigation-hamburger.entry.js +0 -48
  455. package/dist/ripple/wm-navigation-item.entry.js +0 -18
  456. package/dist/ripple/wm-option.entry.js +0 -171
  457. package/dist/ripple/wm-progress-slice.entry.js +0 -13
  458. package/dist/ripple/wm-select.entry.js +0 -249
  459. package/dist/ripple/wm-tab-item.entry.js +0 -63
  460. package/dist/ripple/wm-uploader.entry.js +0 -313
@@ -0,0 +1,169 @@
1
+ ### Select
2
+ - **Element:** `<wm-select>`
3
+
4
+ **Purpose:** Dropdown list of options that allows single or multi-select. Functionally similar to the
5
+ native HTML `<select>` element but with Ripple styling and richer features including
6
+ multiselect, search filtering, and a Select All control. Composed of a parent wm-select
7
+ element and wm-option children.
8
+
9
+ **When to use:**
10
+
11
+ - **Choosing a single value from a known, bounded list** -- when a user needs to pick exactly one option from a fixed set (e.g., selecting a term, role, or status), use the default single-select variant to record that choice as a form value.
12
+ - **Selecting multiple values from a flat list** -- when a user can choose more than one option from an unstructured set, use the multiple property, optionally with select-all for bulk selection convenience.
13
+ - **Filtering a manageable option set by typing** -- when the list has up to 50 options and scanning is impractical, use the search property to let users narrow options by typing rather than scrolling.
14
+ - **Displaying supplementary context alongside options** -- when each option benefits from a short secondary label (e.g., a code, count, or category hint), use the subinfo property on wm-option to show italicized supporting text inline.
15
+
16
+ **Do not use for:**
17
+
18
+ - **Categorized options** -- if the option set has a meaningful group structure, use wm-nested-select instead; Select only supports a single flat list.
19
+ - **Selecting an option that triggers an action** -- if selecting an item should immediately execute something, use wm-action-menu's selector variant, not Select.
20
+ - **More than 50 options in search mode** -- the search variant is intended for 50 or fewer options; beyond that, it creates usability and potential performance problems.
21
+ - **Single Select with no pre-selected option** -- single Select must always have a selected value; if no default exists, the first option must explicitly represent a null state using only approved language ("None", "Select an option", or "--").
22
+
23
+ **Variants / types:**
24
+
25
+ _None documented_
26
+
27
+ **Usage notes:**
28
+
29
+ - Single-select: has no `placeholder` prop -- a selection must always be present, and the
30
+ component warns in the console if no option is initially selected. Since there's no way
31
+ to distinguish "the user selected the first option" from "no selection was made," use a
32
+ null-value first option to represent the unselected state and keep the component
33
+ revertible to "no option chosen." That option must not be disabled, and for
34
+ accessibility/consistency its label should be limited to "None", "Select an option", or
35
+ "--".
36
+ - Multi-select: all options deselected on load is valid; use `placeholder` for that state.
37
+ - `search` is best with 50 or fewer options -- it filters by visible label text only.
38
+ - `select-all` requires `multiple` to be set.
39
+ - Selection state is maintained via the `selected` prop on each wm-option child.
40
+ - To respond to selection changes, listen for `wmOptionSelected` (declared on wm-option but
41
+ bubbles to wm-select). `event.detail` is the `HTMLWmOptionElement`; read `.value` or
42
+ `.textContent` to get the selected value.
43
+
44
+ **Props:**
45
+ - `all-selected-message` -- Text displayed in the trigger button in multiselect mode when every option
46
+ is selected. _(default: `selectMessages.allSelected`)_
47
+ - `disabled` -- Disables the entire select component, preventing all interaction. _(default: `false`)_
48
+ - `error-message` -- Puts the component in an error state and displays this message beneath the
49
+ trigger button. Use for form validation feedback.
50
+ - `info` -- Informational hint text rendered beneath the dropdown button. Use for
51
+ supporting instructions or constraints.
52
+ - `label` -- Accessible label for the dropdown. Required even when `label-position` is
53
+ `"none"` -- used as the ARIA accessible name. _(required)_
54
+ - `label-position` -- Position of the label relative to the dropdown button. `"none"` hides the
55
+ label visually but keeps it accessible via ARIA. _(type: `"left" | "none" | "top"`; default: `"top"`)_
56
+ - `max-height` -- Overrides the maximum height of the options list. Accepts any valid CSS
57
+ length value (e.g. `"20rem"`, `"300px"`). _(default: `"200px"`)_
58
+ - `multiple` -- Enables multiselect mode, allowing more than one option to be selected
59
+ simultaneously. _(default: `false`)_
60
+ - `placeholder` -- Text displayed in the trigger button in multiselect mode when no options are
61
+ selected. Not applicable in single-select mode -- use a null-value first option instead. _(default: `selectMessages.multiPlaceholder`)_
62
+ - `required-field` -- Displays a required-field asterisk (*) next to the label. _(default: `false`)_
63
+ - `search` -- Adds a search input inside the dropdown that filters visible options by label
64
+ text. Compatible with both single and multiselect modes. Best with 50 or fewer options. _(default: `false`)_
65
+ - `search-placeholder` -- Placeholder text displayed inside the search input when `search` is enabled. _(default: `selectMessages.searchPlaceholder`)_
66
+ - `select-all` -- Adds a "Select All" / "Deselect All" toggle at the top of the dropdown.
67
+ Has no effect unless `multiple` is also set. _(default: `false`)_
68
+
69
+ **Events:**
70
+ - `wmSelectAllDeselected` -- Fires when the user clicks "Deselect All" in multiselect mode and all
71
+ options become deselected.
72
+ - `wmSelectAllSelected` -- Fires when the user clicks "Select All" in multiselect mode and all options
73
+ become selected.
74
+ - `wmSelectBlurred` -- Fires when focus leaves the component entirely (not when moving between
75
+ the trigger and an option within the dropdown).
76
+ - `wmSelectDidLoad` -- Fires after the component has finished loading and is ready for interaction.
77
+ Use this to read initial selection state or call methods.
78
+
79
+ **Accessibility:**
80
+
81
+ - `label` is required even when `label-position` is `"none"` -- it is used as the dropdown's
82
+ ARIA accessible name.
83
+ - The dropdown renders with `role="listbox"`. Each wm-option renders with `role="option"`.
84
+ - `required-field` renders a visible asterisk; the ARIA required constraint is communicated
85
+ via the label rather than `aria-required` because the listbox is in a sub-component.
86
+ - Validation errors are announced via an `aria-live` region when `error-message` changes.
87
+ - **Keyboard:**
88
+ - **Closed button**: Space / Enter / Arrow Down opens the dropdown and focuses the first
89
+ option; Arrow Up opens and focuses the last option.
90
+ - **Open dropdown**: Arrow Up / Down navigate options; Home / End jump to first / last;
91
+ typing a letter jumps to the first matching option.
92
+ - **Single-select**: Enter / Space / click selects and closes.
93
+ - **Multi-select**: Enter / Space / click toggles selection; Tab or Escape closes.
94
+ - **Shift+Tab** (from options): Closes and returns focus to the trigger button.
95
+
96
+ **Related components:**
97
+
98
+ - `<wm-nested-select>` -- if the options have a two-level category structure, use Nested Select; if they are a single flat list, use Select.
99
+ - `<wm-action-menu>` (selector type) -- if picking an option should immediately execute an action rather than record a value, use Action Menu's selector type, not Select.
100
+ - `<wm-tag-input>` -- if the user needs to select or create values displayed as removable tags (e.g., adding people or labels), Tag Input is likely the better fit over multi-select Select.
101
+
102
+ **Code example:**
103
+
104
+ _Single-select_
105
+
106
+ ```html
107
+ <wm-select label="Program">
108
+ <wm-option selected>Select a program</wm-option>
109
+ <wm-option>Biology</wm-option>
110
+ <wm-option>English</wm-option>
111
+ </wm-select>
112
+ ```
113
+
114
+ _Single-select_
115
+
116
+ ```react
117
+ const [program, setProgram] = useState('');
118
+
119
+ // event.detail is the selected HTMLWmOptionElement
120
+ const handleSelect = (event) => {
121
+ setProgram(event.detail.value ?? event.detail.textContent);
122
+ };
123
+
124
+ <WmSelect label="Program" onWmOptionSelected={handleSelect}>
125
+ <WmOption selected>Select a program</WmOption>
126
+ <WmOption value="bio">Biology</WmOption>
127
+ <WmOption value="eng">English</WmOption>
128
+ </WmSelect>
129
+ ```
130
+
131
+ _Multi-select with search and Select All_
132
+
133
+ ```html
134
+ <wm-select label="Programs" multiple search select-all
135
+ placeholder="Select programs">
136
+ <wm-option value="bio">Biology</wm-option>
137
+ <wm-option value="eng">English</wm-option>
138
+ </wm-select>
139
+ ```
140
+
141
+ _Multi-select with search and Select All_
142
+
143
+ ```react
144
+ const [selected, setSelected] = useState([]);
145
+
146
+ // event.detail is the HTMLWmOptionElement that was selected or deselected
147
+ const handleSelect = (event) => {
148
+ const value = event.detail.value ?? event.detail.textContent;
149
+ setSelected((prev) => [...prev, value]);
150
+ };
151
+
152
+ const handleDeselect = (event) => {
153
+ const value = event.detail.value ?? event.detail.textContent;
154
+ setSelected((prev) => prev.filter((v) => v !== value));
155
+ };
156
+
157
+ <WmSelect
158
+ label="Programs"
159
+ multiple={true}
160
+ search={true}
161
+ selectAll={true}
162
+ placeholder="Select programs"
163
+ onWmOptionSelected={handleSelect}
164
+ onWmOptionDeselected={handleDeselect}
165
+ >
166
+ <WmOption value="bio">Biology</WmOption>
167
+ <WmOption value="eng">English</WmOption>
168
+ </WmSelect>
169
+ ```
@@ -0,0 +1,130 @@
1
+ ### Snackbar
2
+ - **Element:** `<wm-snackbar>`
3
+
4
+ **Purpose:** Toast notification stack that renders transient messages at the bottom of the page.
5
+ Notifications auto-dismiss after 6 seconds unless they include a `link` or `action`, in
6
+ which case they persist until explicitly dismissed or the user tabs past them.
7
+
8
+ **When to use:**
9
+
10
+ - **Confirming the successful completion of a user action** -- when a user submits a form, uploads a file, adds or removes an item, or saves changes and the result is not immediately visible on screen, use a Snackbar to close the feedback loop with a brief confirmation message.
11
+ - **Providing a link to the result of a completed action** -- when the action produces something the user might want to navigate to immediately (e.g., a newly created record), use a Snackbar with a link to offer that shortcut without forcing navigation.
12
+ - **Offering a quick undo after an action** -- when a reversible action has just been taken, use a Snackbar with an action button (e.g., "Undo") to give the user a brief window to reverse it without a confirmation step.
13
+ - **Consolidating rapid successive notifications** -- when multiple similar actions fire in quick succession (under 6 seconds), use a single Snackbar summarizing them (e.g., "3 items updated") rather than stacking individual notifications per action.
14
+
15
+ **Do not use for:**
16
+
17
+ - **Actions whose result is immediately visible** -- if the outcome is already visible in the interface (an item appears in a list, a field updates inline), a Snackbar adds noise without adding information; skip it.
18
+ - **Every minor or intuitive action** -- routine, low-stakes interactions do not warrant a notification and will overwhelm users over time if over-triggered.
19
+ - **Essential information or links the user must act on** -- because Snackbars auto-dismiss after 6 seconds, any message or action the user genuinely needs to see should be in a Dialog or banner instead; Snackbar content must always be findable elsewhere in the interface.
20
+ - **Triggering other containers or including more than one link** -- Snackbars should not launch other layout containers or inputs, and are limited to a single link; it is a terminal notification, not a launching point.
21
+
22
+ **Variants / types:**
23
+
24
+ _None documented_
25
+
26
+ **Usage notes:**
27
+
28
+ - `notifications` is typed as a string -- always pass `JSON.stringify(array)` in both HTML
29
+ and React. Passing an array directly causes a "[object Object] is not valid JSON" error.
30
+ - Each notification object requires a unique `id` (string) and a `message` (string).
31
+ Optional fields: `link` (string, renders a navigation anchor), `action` (string, renders
32
+ a button), `newWindow` (boolean, adds an "opens in new window" indicator to the link).
33
+ - Use `link` for navigation actions and `action` for in-page triggers such as "Undo" --
34
+ both emit `wmSnackbarActionTriggered` when clicked.
35
+ - Listen to `wmSnackbarSnackFinished` and remove the matching notification from your array
36
+ to keep state in sync. The 6-second auto-dismiss timer is disabled for notifications
37
+ with a `link` or `action` -- remove them manually after the action is handled.
38
+ - `wmSnackbarSnackFinished` detail: `{ id: string }`.
39
+ - `wmSnackbarActionTriggered` detail: `{ id: string, message: string, action?: string, link?: string }`.
40
+
41
+ **Props:**
42
+ - `notifications` -- JSON-encoded array of notification objects to display. Each object must
43
+ include `id` (string) and `message` (string). Optional fields: `link` (string, renders
44
+ a navigation anchor), `action` (string, renders a button), `newWindow` (boolean, adds an
45
+ "opens in new window" indicator to the link). Always pass as `JSON.stringify(array)` --
46
+ passing an array directly causes a "[object Object] is not valid JSON" error. _(required; default: `"[]"`)_
47
+
48
+ **Events:**
49
+ - `wmSnackbarActionTriggered` -- Fires when the user clicks the `link` anchor or `action` button. The host
50
+ application should remove the notification and navigate (for links) or execute the action
51
+ (for buttons). Detail: `{{ id: string, message: string, link?: string, newWindow?: boolean, action?: string }}`
52
+ - `wmSnackbarSnackFinished` -- Fires when a notification should be removed -- after the 6-second
53
+ auto-dismiss timer expires or when the user clicks the close button. The host application
54
+ should remove the matching notification from its array. The timer is disabled for
55
+ notifications with a `link` or `action`. Detail: `{{ id: string, message: string, link?: string, newWindow?: boolean, action?: string }}`
56
+
57
+ **Required setup:**
58
+
59
+ - Show a snack by adding an entry to `notifications`, and pass the stringified array rather than
60
+ the array itself.
61
+ - Handle `wmSnackbarSnackFinished` (`event.detail` is `{ id }`) by removing that entry from the
62
+ array you pass to `notifications`; the component does not remove it for you.
63
+ - Handle `wmSnackbarActionTriggered` for entries carrying `link` or `action`, and remove the entry
64
+ yourself once handled -- the 6-second auto-dismiss does not apply to those.
65
+
66
+ **Accessibility:**
67
+
68
+ - Renders an `aria-live` region that announces new notification messages to screen readers.
69
+ - When a notification includes a `link` or `action` and the user is navigating by keyboard,
70
+ focus moves automatically to the action element when the notification appears.
71
+ - Focus returns to the previously active element when the notification is dismissed.
72
+ - **Keyboard:**
73
+ - **Tab**: Moves focus from the action link/button to the close button; tabbing past the
74
+ close button dismisses the notification and returns focus to the previously active element.
75
+ - **Shift+Tab**: Dismisses the notification from the action link and returns focus; moves
76
+ from the close button back to the action link.
77
+ - **Enter**: Activates the focused close button or action link/button.
78
+
79
+ **Related components:**
80
+
81
+ - Dialog -- if the message requires the user to make a decision or acknowledge something before continuing, use Dialog; Snackbar is for passive confirmations that do not require a response.
82
+ - Banner -- if the message is tied to a persistent system status, an error the user must fix, or information that needs to stay visible until resolved, use a banner; Snackbar is for transient, action-completion feedback only.
83
+ - `<wm-toggletip>` -- if contextual information needs to be available on demand near a specific element rather than as a system notification, use Toggletip; Snackbar is not a help or hint mechanism.
84
+
85
+ **Code example:**
86
+
87
+ _Simple notification_
88
+
89
+ ```html
90
+ <wm-snackbar notifications='[{"id":"1","message":"Changes saved."}]'></wm-snackbar>
91
+ ```
92
+
93
+ _Notification stack with action and link variants_
94
+
95
+ ```react
96
+ // notifications is typed as string -- always pass JSON.stringify(array), never the array directly.
97
+ // wmSnackbarSnackFinished fires when a notification auto-dismisses or is closed.
98
+ // wmSnackbarActionTriggered fires when the action button or link is clicked;
99
+ // remove the notification manually after handling the action.
100
+ let nextId = 1;
101
+ const [notifications, setNotifications] = useState([]);
102
+
103
+ const addNotification = (notification) =>
104
+ setNotifications((prev) => [...prev, { id: String(nextId++), ...notification }]);
105
+
106
+ const removeNotification = (id) =>
107
+ setNotifications((prev) => prev.filter((n) => n.id !== id));
108
+
109
+ const handleActionTriggered = (e) => {
110
+ const { id, action } = e.detail;
111
+ if (action === "Undo") { handleUndo(); }
112
+ removeNotification(id);
113
+ };
114
+
115
+ <WmButton buttonType="secondary" onClick={() => addNotification({ message: "Changes saved." })}>
116
+ Simple notification
117
+ </WmButton>
118
+ <WmButton buttonType="secondary" onClick={() => addNotification({ message: "Item deleted.", action: "Undo" })}>
119
+ With action
120
+ </WmButton>
121
+ <WmButton buttonType="secondary" onClick={() => addNotification({ message: "Report ready.", link: "#report" })}>
122
+ With link
123
+ </WmButton>
124
+
125
+ <WmSnackbar
126
+ notifications={JSON.stringify(notifications)}
127
+ onWmSnackbarSnackFinished={(e) => removeNotification(e.detail.id)}
128
+ onWmSnackbarActionTriggered={handleActionTriggered}
129
+ />
130
+ ```
@@ -0,0 +1,45 @@
1
+ ### Tab Item
2
+ - **Element:** `<wm-tab-item>`
3
+
4
+ **Purpose:** Individual tab button inside a wm-tab-list. Renders as a link with `role="tab"` and
5
+ manages selection state. Always used as a direct child of wm-tab-list.
6
+
7
+ **Usage notes:**
8
+
9
+ - `tab-id` is required and must match the `tab-id` of the corresponding wm-tab-panel.
10
+ - Listen to `wmTabSelected` and update the `selected-tab` prop on the parent wm-tab-list
11
+ to switch the active tab and show the associated panel.
12
+
13
+ **Props:**
14
+ - `tab-id` -- Unique identifier linking this tab to its associated wm-tab-panel. Must
15
+ match the `tab-id` on the corresponding wm-tab-panel. _(required; default: `""`)_
16
+
17
+ **Slots:**
18
+ - _(default)_ -- The visible label text for the tab.
19
+
20
+ **Events:**
21
+ - `wmTabSelected` -- Fires when this tab is clicked or activated by keyboard. Listen to this
22
+ event and update the `selected-tab` prop on the parent wm-tab-list to switch the active
23
+ tab. Detail: `{{ tabId: string }} tabId -- the `tab-id` of the activated tab.`
24
+
25
+ **Required setup:**
26
+
27
+ - Render it as a direct child of wm-tab-list, and slot the tab label into it.
28
+ - Give it a `tab-id` matching the `tab-id` of its wm-tab-panel. A mismatch fails silently: the tab
29
+ highlights and no panel appears.
30
+ - Handle `wmTabSelected` (`event.detail` is `{ tabId }`), which bubbles to wm-tab-list, and write
31
+ the id to the list's `selected-tab`.
32
+
33
+ **Code example:**
34
+
35
+ _Tab item_
36
+
37
+ ```html
38
+ <wm-tab-item tab-id="overview">Overview</wm-tab-item>
39
+ ```
40
+
41
+ _Tab item_
42
+
43
+ ```react
44
+ <WmTabItem tabId="overview">Overview</WmTabItem>
45
+ ```
@@ -0,0 +1,139 @@
1
+ ### Tab List
2
+ - **Element:** `<wm-tab-list>`
3
+
4
+ **Purpose:** Tab list container that manages a group of wm-tab-item children and their associated
5
+ wm-tab-panel elements. Handles keyboard navigation, ARIA wiring between tabs and panels,
6
+ horizontal scroll with arrow buttons on overflow, and optional dark theme.
7
+
8
+ **When to use:**
9
+
10
+ - **Organizing related content into parallel sections within a page** -- when a page or container holds distinct but related content areas that do not all need to be visible at once (e.g., Overview, Details, History on a record page), use Tabs to present them as switchable views with short, clear labels.
11
+ - **Breaking up content within a layout container** -- Tabs are usable inside primary pages, immersive layouts, Flyouts, and side panels; use them whenever a container has enough content variety to warrant sub-sections without adding navigation overhead.
12
+
13
+ **Do not use for:**
14
+
15
+ - **Primary navigation between pages** -- Tabs should not be used as primary navigation; they are for switching sections within a single page or container. Cross-page navigation belongs in wm-navigation.
16
+ - **More tabs than fit in a single row** -- all tabs should be visible on one row; if there are too many, the content should be simplified or a different pattern considered.
17
+ - **Sequential steps that must be completed in order** -- Tabs imply free switching between any section at any time; if the user must complete steps in sequence, a stepper pattern is more appropriate.
18
+
19
+ **Variants / types:**
20
+
21
+ - `customBackground="dark" (on wm-tab-list)` -- applies a dark background variant to the tab bar
22
+
23
+ **Usage notes:**
24
+
25
+ - Set the container's width to 100% in most cases.
26
+ - Two usage patterns:
27
+ 1. **Discrete panels** -- each wm-tab-item has a paired wm-tab-panel with the same `tab-id`.
28
+ 2. **Single panel** -- one wm-tab-panel; content is rendered conditionally based on the
29
+ selected tab; ARIA attributes are updated automatically.
30
+ - At least one wm-tab-panel is required -- wm-tab-list only renders the tab strip, not the
31
+ content area. A wm-tab-item's `tab-id` must exactly match its wm-tab-panel's `tab-id`
32
+ (or the shared panel's `tab-id`, for the single-panel pattern). A missing or mismatched
33
+ `tab-id` fails silently: no console warning, the tab's `aria-controls`/`href` never get
34
+ set, and its panel never activates.
35
+ - Listen to `wmTabSelected` on wm-tab-item (or on the wm-tab-list, as the event bubbles) and
36
+ update `selected-tab` to switch the active tab.
37
+ - Use `selected-tab` to control which tab is initially active by its `tab-id`.
38
+
39
+ **Props:**
40
+ - `custom-background` -- Sets the visual theme. Pass `"dark"` for the dark theme; omit for the
41
+ default light theme. _(type: `"" | "dark"`)_
42
+ - `selected-tab` -- The `tab-id` of the currently active tab. Update this prop in response to
43
+ `wmTabSelected` to switch tabs. Defaults to the first tab if not set.
44
+
45
+ **Slots:**
46
+ - _(default)_ -- One or more wm-tab-item elements.
47
+
48
+ **Required setup:**
49
+
50
+ - Handle `wmTabSelected` on the list -- it is declared on wm-tab-item and bubbles -- and write
51
+ `event.detail.tabId` to `selected-tab`.
52
+ - Slot a wm-tab-item per tab, and render a wm-tab-panel for each one as its content container.
53
+ - Give each wm-tab-item `tab-id` the same value as its wm-tab-panel `tab-id`. A mismatch fails
54
+ silently: the tab highlights and no panel appears.
55
+
56
+ **Accessibility:**
57
+
58
+ - Sets `aria-controls` on each wm-tab-item link pointing to its associated wm-tab-panel.
59
+ - Sets `aria-labelledby` on each wm-tab-panel pointing back to its wm-tab-item link.
60
+ - ARIA attributes are updated dynamically when tab content is conditionally rendered in a
61
+ single shared panel.
62
+ - **Keyboard:**
63
+ - **Arrow Left / Arrow Right**: Cycles focus to the previous/next tab item; wraps at both ends.
64
+ - **Arrow Down**: Moves focus to the content area of the active tab panel.
65
+ - **Enter / Space**: Activates the focused tab and shows its panel.
66
+ - **Tab**: Moves focus from the selected tab to the first focusable element inside the
67
+ active panel.
68
+ - **Shift+Tab**: Moves focus back to the selected tab item from within the panel.
69
+
70
+ **Related components:**
71
+
72
+ - `<wm-navigation>` -- if the purpose is navigating between separate pages or top-level product areas, use Navigation; Tabs are strictly for switching views within a single page or container context.
73
+ - `<wm-pagination>` -- if the user is moving through pages of a dataset rather than switching between content sections, use Pagination; Tabs are not a data paging mechanism.
74
+ - Stepper pattern -- if the content sections represent sequential steps that must be completed in order, use a stepper; Tabs allow unrestricted movement between sections and carry no sense of progress or completion state.
75
+
76
+ **Code example:**
77
+
78
+ _Basic tabs (discrete panels)_
79
+
80
+ ```html
81
+ <wm-tab-list>
82
+ <wm-tab-item tab-id="overview">Overview</wm-tab-item>
83
+ <wm-tab-item tab-id="details">Details</wm-tab-item>
84
+ <wm-tab-item tab-id="history">History</wm-tab-item>
85
+ </wm-tab-list>
86
+ <wm-tab-panel tab-id="overview"><p>Overview content</p></wm-tab-panel>
87
+ <wm-tab-panel tab-id="details"><p>Details content</p></wm-tab-panel>
88
+ <wm-tab-panel tab-id="history"><p>History content</p></wm-tab-panel>
89
+ ```
90
+
91
+ _Basic tabs (discrete panels)_
92
+
93
+ ```react
94
+ // wmTabSelected fires when a tab is clicked or activated via keyboard.
95
+ // event.detail is { tabId: string } -- the tab-id of the newly selected tab.
96
+ const [selectedTab, setSelectedTab] = useState("overview");
97
+
98
+ <WmTabList selectedTab={selectedTab} onWmTabSelected={(e) => setSelectedTab(e.detail.tabId)}>
99
+ <WmTabItem tabId="overview">Overview</WmTabItem>
100
+ <WmTabItem tabId="details">Details</WmTabItem>
101
+ <WmTabItem tabId="history">History</WmTabItem>
102
+ </WmTabList>
103
+ <WmTabPanel tabId="overview"><p>Overview content</p></WmTabPanel>
104
+ <WmTabPanel tabId="details"><p>Details content</p></WmTabPanel>
105
+ <WmTabPanel tabId="history"><p>History content</p></WmTabPanel>
106
+ ```
107
+
108
+ _Single shared panel (content rendered conditionally)_
109
+
110
+ ```html
111
+ <wm-tab-list custom-background="dark">
112
+ <wm-tab-item tab-id="summary">Summary</wm-tab-item>
113
+ <wm-tab-item tab-id="activity">Activity</wm-tab-item>
114
+ </wm-tab-list>
115
+ <wm-tab-panel tab-id="summary">
116
+ <!-- app renders content here based on the active tab -->
117
+ </wm-tab-panel>
118
+ ```
119
+
120
+ _Single shared panel (content rendered conditionally)_
121
+
122
+ ```react
123
+ // One wm-tab-panel shared by all tabs -- ARIA attributes update automatically.
124
+ // Render content conditionally based on selectedTab.
125
+ const [selectedTab, setSelectedTab] = useState("summary");
126
+
127
+ <WmTabList
128
+ customBackground="dark"
129
+ selectedTab={selectedTab}
130
+ onWmTabSelected={(e) => setSelectedTab(e.detail.tabId)}
131
+ >
132
+ <WmTabItem tabId="summary">Summary</WmTabItem>
133
+ <WmTabItem tabId="activity">Activity</WmTabItem>
134
+ </WmTabList>
135
+ <WmTabPanel tabId="summary">
136
+ {selectedTab === "summary" && <p>Summary content</p>}
137
+ {selectedTab === "activity" && <p>Activity content</p>}
138
+ </WmTabPanel>
139
+ ```
@@ -0,0 +1,39 @@
1
+ ### Tab Panel
2
+ - **Element:** `<wm-tab-panel>`
3
+
4
+ **Purpose:** Content panel associated with a wm-tab-item. Shows or hides based on whether its
5
+ `tab-id` matches the selected tab in the parent wm-tab-list. Rendered with
6
+ `role="tabpanel"`. Always used alongside a wm-tab-list.
7
+
8
+ **Usage notes:**
9
+
10
+ - `tab-id` is required and must match the `tab-id` of the corresponding wm-tab-item.
11
+ - For the single-panel conditional-content pattern, use one wm-tab-panel without a
12
+ `tab-id` -- the parent wm-tab-list updates its ARIA attributes automatically.
13
+
14
+ **Props:**
15
+ - `tab-id` -- Unique identifier linking this panel to its associated wm-tab-item. Must
16
+ match the `tab-id` on the corresponding wm-tab-item. _(required; default: `""`)_
17
+
18
+ **Slots:**
19
+ - _(default)_ -- The panel content to display when this tab is active.
20
+
21
+ **Required setup:**
22
+
23
+ - Render one panel per wm-tab-item alongside the wm-tab-list, and slot the panel content into it.
24
+ - Give it a `tab-id` matching its wm-tab-item's `tab-id`. A mismatch fails silently: the tab
25
+ highlights and no panel appears.
26
+
27
+ **Code example:**
28
+
29
+ _Tab panel_
30
+
31
+ ```html
32
+ <wm-tab-panel tab-id="overview">Overview content here.</wm-tab-panel>
33
+ ```
34
+
35
+ _Tab panel_
36
+
37
+ ```react
38
+ <WmTabPanel tabId="overview">Overview content here.</WmTabPanel>
39
+ ```