@watermarkinsights/ripple 5.30.0 → 5.31.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 (444) hide show
  1. package/dist/cjs/app-globals-df7ca137.js +103 -0
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/priv-calendar.cjs.entry.js +27 -27
  4. package/dist/cjs/priv-chart-popover-old.cjs.entry.js +2 -2
  5. package/dist/cjs/priv-chart-popover_2.cjs.entry.js +3 -3
  6. package/dist/cjs/priv-navigator-button.cjs.entry.js +1 -1
  7. package/dist/cjs/priv-navigator-item.cjs.entry.js +1 -1
  8. package/dist/cjs/priv-option-list.cjs.entry.js +1 -1
  9. package/dist/cjs/ripple.cjs.js +1 -1
  10. package/dist/cjs/wm-action-menu_2.cjs.entry.js +5 -4
  11. package/dist/cjs/wm-button.cjs.entry.js +1 -1
  12. package/dist/cjs/wm-chart-bar.cjs.entry.js +1 -1
  13. package/dist/cjs/wm-chart-column.cjs.entry.js +1 -1
  14. package/dist/cjs/wm-chart.cjs.entry.js +1 -1
  15. package/dist/cjs/wm-date-range.cjs.entry.js +25 -9
  16. package/dist/cjs/wm-datepicker.cjs.entry.js +37 -11
  17. package/dist/cjs/wm-file-list.cjs.entry.js +1 -1
  18. package/dist/cjs/wm-file.cjs.entry.js +1 -1
  19. package/dist/cjs/wm-flyout.cjs.entry.js +6 -1
  20. package/dist/cjs/wm-input.cjs.entry.js +1 -1
  21. package/dist/cjs/wm-line-chart.cjs.entry.js +1 -1
  22. package/dist/cjs/wm-modal-pss_3.cjs.entry.js +4 -4
  23. package/dist/cjs/wm-modal_3.cjs.entry.js +19 -4
  24. package/dist/cjs/wm-navigation_3.cjs.entry.js +4 -4
  25. package/dist/cjs/wm-navigator.cjs.entry.js +1 -1
  26. package/dist/cjs/wm-nested-select.cjs.entry.js +3 -3
  27. package/dist/cjs/wm-optgroup.cjs.entry.js +11 -1
  28. package/dist/cjs/wm-option_2.cjs.entry.js +5 -5
  29. package/dist/cjs/wm-pagination.cjs.entry.js +1 -1
  30. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +2 -2
  31. package/dist/cjs/wm-search.cjs.entry.js +2 -2
  32. package/dist/cjs/wm-snackbar.cjs.entry.js +2 -2
  33. package/dist/cjs/wm-tab-item_3.cjs.entry.js +6 -6
  34. package/dist/cjs/wm-tag-input.cjs.entry.js +2 -2
  35. package/dist/cjs/wm-tag-option.cjs.entry.js +8 -0
  36. package/dist/cjs/wm-textarea.cjs.entry.js +1 -1
  37. package/dist/cjs/wm-timepicker.cjs.entry.js +14 -2
  38. package/dist/cjs/wm-toggletip.cjs.entry.js +3 -3
  39. package/dist/cjs/wm-uploader.cjs.entry.js +2 -2
  40. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +7 -2
  41. package/dist/collection/components/charts/priv-chart-popover-old/priv-chart-popover-old.js +7 -2
  42. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +58 -6
  43. package/dist/collection/components/charts/wm-chart/wm-chart.js +139 -13
  44. package/dist/collection/components/charts/wm-chart-bar/wm-chart-bar.js +134 -7
  45. package/dist/collection/components/charts/wm-chart-column/wm-chart-column.js +102 -8
  46. package/dist/collection/components/charts/wm-chart-legend/wm-chart-legend.js +90 -8
  47. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.js +153 -17
  48. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +63 -7
  49. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +85 -5
  50. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +52 -6
  51. package/dist/collection/components/datepickers/priv-calendar/priv-calendar.css +47 -47
  52. package/dist/collection/components/datepickers/priv-calendar/priv-calendar.js +33 -29
  53. package/dist/collection/components/datepickers/wm-date-range.js +246 -29
  54. package/dist/collection/components/datepickers/wm-datepicker.js +254 -30
  55. package/dist/collection/components/selects/priv-option-list/priv-option-list.js +7 -1
  56. package/dist/collection/components/selects/wm-nested-select/wm-nested-select.js +193 -17
  57. package/dist/collection/components/selects/wm-optgroup/wm-optgroup.js +116 -11
  58. package/dist/collection/components/selects/wm-option/wm-option.js +153 -18
  59. package/dist/collection/components/selects/wm-select/wm-select.js +187 -21
  60. package/dist/collection/components/wm-action-menu/wm-action-menu.js +148 -12
  61. package/dist/collection/components/wm-button/wm-button.js +212 -18
  62. package/dist/collection/components/wm-file/wm-file.js +108 -14
  63. package/dist/collection/components/wm-file-list/wm-file-list.js +74 -2
  64. package/dist/collection/components/wm-flyout/wm-flyout.js +215 -16
  65. package/dist/collection/components/wm-input/wm-input.js +195 -20
  66. package/dist/collection/components/wm-menuitem/wm-menuitem.js +62 -5
  67. package/dist/collection/components/wm-modal/wm-modal-footer.js +63 -6
  68. package/dist/collection/components/wm-modal/wm-modal-header.js +34 -3
  69. package/dist/collection/components/wm-modal/wm-modal.js +181 -14
  70. package/dist/collection/components/wm-modal-pss/wm-modal-pss-footer.js +5 -1
  71. package/dist/collection/components/wm-modal-pss/wm-modal-pss-header.js +5 -1
  72. package/dist/collection/components/wm-modal-pss/wm-modal-pss.js +6 -2
  73. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +37 -3
  74. package/dist/collection/components/wm-navigation/wm-navigation-item.js +47 -5
  75. package/dist/collection/components/wm-navigation/wm-navigation.js +54 -4
  76. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +5 -1
  77. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +5 -1
  78. package/dist/collection/components/wm-navigator/wm-navigator.js +102 -9
  79. package/dist/collection/components/wm-pagination/wm-pagination.js +106 -9
  80. package/dist/collection/components/wm-search/wm-search.js +182 -16
  81. package/dist/collection/components/wm-snackbar/wm-snackbar.js +96 -5
  82. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +66 -10
  83. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +96 -5
  84. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +42 -6
  85. package/dist/collection/components/wm-tag-input/wm-tag-input.js +205 -17
  86. package/dist/collection/components/wm-tag-input/wm-tag-option/wm-tag-option.js +97 -12
  87. package/dist/collection/components/wm-textarea/wm-textarea.js +116 -13
  88. package/dist/collection/components/wm-timepicker/wm-timepicker.js +190 -16
  89. package/dist/collection/components/wm-toggletip/wm-toggletip.js +87 -8
  90. package/dist/collection/components/wm-uploader/wm-uploader.js +142 -14
  91. package/dist/collection/components/wm-wrapper/wm-wrapper.js +3 -0
  92. package/dist/collection/global/services/__mocks__/http-service.js +1 -1
  93. package/dist/docs/docs.d.ts +435 -0
  94. package/dist/docs/docs.json +13915 -0
  95. package/dist/docs/props-reference.json +2028 -0
  96. package/dist/docs/skill/index.md +32 -0
  97. package/dist/docs/skill/wm-action-menu.md +93 -0
  98. package/dist/docs/skill/wm-button.md +103 -0
  99. package/dist/docs/skill/wm-chart-bar.md +129 -0
  100. package/dist/docs/skill/wm-chart-column.md +96 -0
  101. package/dist/docs/skill/wm-chart-legend.md +67 -0
  102. package/dist/docs/skill/wm-chart-slice.md +55 -0
  103. package/dist/docs/skill/wm-chart.md +92 -0
  104. package/dist/docs/skill/wm-date-range.md +153 -0
  105. package/dist/docs/skill/wm-datepicker.md +134 -0
  106. package/dist/docs/skill/wm-file-list.md +97 -0
  107. package/dist/docs/skill/wm-file.md +78 -0
  108. package/dist/docs/skill/wm-flyout.md +174 -0
  109. package/dist/docs/skill/wm-input.md +126 -0
  110. package/dist/docs/skill/wm-line-chart.md +108 -0
  111. package/dist/docs/skill/wm-menuitem.md +72 -0
  112. package/dist/docs/skill/wm-modal-footer.md +73 -0
  113. package/dist/docs/skill/wm-modal-header.md +65 -0
  114. package/dist/docs/skill/wm-modal.md +137 -0
  115. package/dist/docs/skill/wm-navigation-hamburger.md +56 -0
  116. package/dist/docs/skill/wm-navigation-item.md +69 -0
  117. package/dist/docs/skill/wm-navigation.md +66 -0
  118. package/dist/docs/skill/wm-navigator.md +91 -0
  119. package/dist/docs/skill/wm-nested-select.md +149 -0
  120. package/dist/docs/skill/wm-optgroup.md +71 -0
  121. package/dist/docs/skill/wm-option.md +68 -0
  122. package/dist/docs/skill/wm-pagination.md +95 -0
  123. package/dist/docs/skill/wm-progress-indicator.md +49 -0
  124. package/dist/docs/skill/wm-progress-monitor.md +93 -0
  125. package/dist/docs/skill/wm-progress-slice.md +41 -0
  126. package/dist/docs/skill/wm-search.md +157 -0
  127. package/dist/docs/skill/wm-select.md +148 -0
  128. package/dist/docs/skill/wm-snackbar.md +101 -0
  129. package/dist/docs/skill/wm-tab-item.md +35 -0
  130. package/dist/docs/skill/wm-tab-list.md +112 -0
  131. package/dist/docs/skill/wm-tab-panel.md +33 -0
  132. package/dist/docs/skill/wm-tag-input.md +165 -0
  133. package/dist/docs/skill/wm-tag-option.md +59 -0
  134. package/dist/docs/skill/wm-textarea.md +94 -0
  135. package/dist/docs/skill/wm-timepicker.md +139 -0
  136. package/dist/docs/skill/wm-toggletip.md +92 -0
  137. package/dist/docs/skill/wm-uploader.md +129 -0
  138. package/dist/docs/skill/wm-wrapper.md +6 -0
  139. package/dist/docs/wm-action-menu.md +111 -0
  140. package/dist/docs/wm-button.md +137 -0
  141. package/dist/docs/wm-chart-bar.md +23 -0
  142. package/dist/docs/wm-chart-column.md +26 -0
  143. package/dist/docs/wm-chart-legend.md +31 -0
  144. package/dist/docs/wm-chart-slice.md +14 -0
  145. package/dist/docs/wm-chart.md +30 -0
  146. package/dist/docs/wm-date-range.md +215 -0
  147. package/dist/docs/wm-datepicker.md +210 -0
  148. package/dist/docs/wm-file-list.md +95 -0
  149. package/dist/docs/wm-file.md +34 -0
  150. package/dist/docs/wm-flyout.md +123 -0
  151. package/dist/docs/wm-input.md +120 -0
  152. package/dist/docs/wm-line-chart.md +32 -0
  153. package/dist/docs/wm-menuitem.md +38 -0
  154. package/dist/docs/wm-modal-footer.md +106 -0
  155. package/dist/docs/wm-modal-header.md +100 -0
  156. package/dist/docs/wm-modal.md +127 -0
  157. package/dist/docs/wm-navigation-hamburger.md +91 -0
  158. package/dist/docs/wm-navigation-item.md +98 -0
  159. package/dist/docs/wm-navigation.md +101 -0
  160. package/dist/docs/wm-navigator.md +99 -0
  161. package/dist/docs/wm-nested-select.md +107 -0
  162. package/dist/docs/wm-optgroup.md +28 -0
  163. package/dist/docs/wm-option.md +24 -0
  164. package/dist/docs/wm-pagination.md +94 -0
  165. package/dist/docs/wm-progress-indicator.md +23 -0
  166. package/dist/docs/wm-progress-monitor.md +27 -0
  167. package/dist/docs/wm-progress-slice.md +16 -0
  168. package/dist/docs/wm-search.md +119 -0
  169. package/dist/docs/wm-select.md +120 -0
  170. package/dist/docs/wm-snackbar.md +87 -0
  171. package/dist/docs/wm-tab-item.md +23 -0
  172. package/dist/docs/wm-tab-list.md +98 -0
  173. package/dist/docs/wm-tab-panel.md +18 -0
  174. package/dist/docs/wm-tag-input.md +123 -0
  175. package/dist/docs/wm-tag-option.md +33 -0
  176. package/dist/docs/wm-textarea.md +101 -0
  177. package/dist/docs/wm-timepicker.md +122 -0
  178. package/dist/docs/wm-toggletip.md +86 -0
  179. package/dist/docs/wm-uploader.md +114 -0
  180. package/dist/docs/wm-wrapper.md +7 -0
  181. package/dist/esm/app-globals-466ed44b.js +101 -0
  182. package/dist/esm/loader.js +1 -1
  183. package/dist/esm/priv-calendar.entry.js +27 -27
  184. package/dist/esm/priv-chart-popover-old.entry.js +2 -2
  185. package/dist/esm/priv-chart-popover_2.entry.js +3 -3
  186. package/dist/esm/priv-navigator-button.entry.js +1 -1
  187. package/dist/esm/priv-navigator-item.entry.js +1 -1
  188. package/dist/esm/priv-option-list.entry.js +1 -1
  189. package/dist/esm/ripple.js +1 -1
  190. package/dist/esm/wm-action-menu_2.entry.js +5 -4
  191. package/dist/esm/wm-button.entry.js +1 -1
  192. package/dist/esm/wm-chart-bar.entry.js +1 -1
  193. package/dist/esm/wm-chart-column.entry.js +1 -1
  194. package/dist/esm/wm-chart.entry.js +1 -1
  195. package/dist/esm/wm-date-range.entry.js +25 -9
  196. package/dist/esm/wm-datepicker.entry.js +37 -11
  197. package/dist/esm/wm-file-list.entry.js +1 -1
  198. package/dist/esm/wm-file.entry.js +1 -1
  199. package/dist/esm/wm-flyout.entry.js +6 -1
  200. package/dist/esm/wm-input.entry.js +1 -1
  201. package/dist/esm/wm-line-chart.entry.js +1 -1
  202. package/dist/esm/wm-modal-pss_3.entry.js +4 -4
  203. package/dist/esm/wm-modal_3.entry.js +19 -4
  204. package/dist/esm/wm-navigation_3.entry.js +4 -4
  205. package/dist/esm/wm-navigator.entry.js +1 -1
  206. package/dist/esm/wm-nested-select.entry.js +3 -3
  207. package/dist/esm/wm-optgroup.entry.js +11 -1
  208. package/dist/esm/wm-option_2.entry.js +5 -5
  209. package/dist/esm/wm-pagination.entry.js +1 -1
  210. package/dist/esm/wm-progress-indicator_3.entry.js +2 -2
  211. package/dist/esm/wm-search.entry.js +2 -2
  212. package/dist/esm/wm-snackbar.entry.js +2 -2
  213. package/dist/esm/wm-tab-item_3.entry.js +6 -6
  214. package/dist/esm/wm-tag-input.entry.js +2 -2
  215. package/dist/esm/wm-tag-option.entry.js +8 -0
  216. package/dist/esm/wm-textarea.entry.js +1 -1
  217. package/dist/esm/wm-timepicker.entry.js +14 -2
  218. package/dist/esm/wm-toggletip.entry.js +3 -3
  219. package/dist/esm/wm-uploader.entry.js +2 -2
  220. package/dist/esm-es5/app-globals-466ed44b.js +1 -0
  221. package/dist/esm-es5/loader.js +1 -1
  222. package/dist/esm-es5/priv-calendar.entry.js +1 -1
  223. package/dist/esm-es5/priv-chart-popover-old.entry.js +1 -1
  224. package/dist/esm-es5/priv-chart-popover_2.entry.js +1 -1
  225. package/dist/esm-es5/priv-navigator-button.entry.js +1 -1
  226. package/dist/esm-es5/priv-navigator-item.entry.js +1 -1
  227. package/dist/esm-es5/priv-option-list.entry.js +1 -1
  228. package/dist/esm-es5/ripple.js +1 -1
  229. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  230. package/dist/esm-es5/wm-button.entry.js +1 -1
  231. package/dist/esm-es5/wm-chart-bar.entry.js +1 -1
  232. package/dist/esm-es5/wm-chart-column.entry.js +1 -1
  233. package/dist/esm-es5/wm-chart.entry.js +1 -1
  234. package/dist/esm-es5/wm-date-range.entry.js +1 -1
  235. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  236. package/dist/esm-es5/wm-file-list.entry.js +1 -1
  237. package/dist/esm-es5/wm-file.entry.js +1 -1
  238. package/dist/esm-es5/wm-flyout.entry.js +1 -1
  239. package/dist/esm-es5/wm-input.entry.js +1 -1
  240. package/dist/esm-es5/wm-line-chart.entry.js +1 -1
  241. package/dist/esm-es5/wm-modal-pss_3.entry.js +1 -1
  242. package/dist/esm-es5/wm-modal_3.entry.js +1 -1
  243. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  244. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  245. package/dist/esm-es5/wm-nested-select.entry.js +1 -1
  246. package/dist/esm-es5/wm-optgroup.entry.js +1 -1
  247. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  248. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  249. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  250. package/dist/esm-es5/wm-search.entry.js +1 -1
  251. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  252. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  253. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  254. package/dist/esm-es5/wm-textarea.entry.js +1 -1
  255. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  256. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  257. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  258. package/dist/ripple/{p-1fc894ac.system.entry.js → p-012bd307.system.entry.js} +1 -1
  259. package/dist/ripple/p-03f352dc.entry.js +1 -0
  260. package/dist/ripple/{p-4f53544d.entry.js → p-03ff4f41.entry.js} +1 -1
  261. package/dist/ripple/{p-2a03f658.entry.js → p-045aa27f.entry.js} +1 -1
  262. package/dist/ripple/{p-709d1765.entry.js → p-057ffccb.entry.js} +1 -1
  263. package/dist/ripple/p-06c3dc14.system.entry.js +1 -0
  264. package/dist/ripple/{p-ff6fd274.system.entry.js → p-09a80f59.system.entry.js} +1 -1
  265. package/dist/ripple/{p-3bd8537c.entry.js → p-09fb0a09.entry.js} +1 -1
  266. package/dist/ripple/p-0a05d3a3.js +1 -0
  267. package/dist/ripple/{p-3f69041f.entry.js → p-0ab9bac7.entry.js} +1 -1
  268. package/dist/ripple/{p-332a3e3d.system.entry.js → p-1059cdb9.system.entry.js} +1 -1
  269. package/dist/ripple/{p-dbdae848.system.entry.js → p-106a9459.system.entry.js} +1 -1
  270. package/dist/ripple/{p-e1a6ee77.entry.js → p-16381033.entry.js} +1 -1
  271. package/dist/ripple/{p-b11abb0d.system.entry.js → p-181109f0.system.entry.js} +1 -1
  272. package/dist/ripple/{p-bb9f54cf.system.entry.js → p-1855c3b1.system.entry.js} +1 -1
  273. package/dist/ripple/{p-4533241f.entry.js → p-1c25838e.entry.js} +1 -1
  274. package/dist/ripple/{p-fb6aee09.entry.js → p-1f67b172.entry.js} +1 -1
  275. package/dist/ripple/{p-a3dd5204.system.entry.js → p-22703bcd.system.entry.js} +1 -1
  276. package/dist/ripple/{p-a6aef87d.system.entry.js → p-237388c5.system.entry.js} +1 -1
  277. package/dist/ripple/p-237f5977.system.entry.js +1 -0
  278. package/dist/ripple/p-25d6cc45.system.js +1 -0
  279. package/dist/ripple/{p-09d5381c.entry.js → p-299d2d8b.entry.js} +1 -1
  280. package/dist/ripple/{p-e78f9572.system.entry.js → p-2c1d219f.system.entry.js} +1 -1
  281. package/dist/ripple/{p-84e04896.entry.js → p-2dbf9636.entry.js} +1 -1
  282. package/dist/ripple/{p-05dae6a0.entry.js → p-2dc1071a.entry.js} +1 -1
  283. package/dist/ripple/{p-39bac42a.entry.js → p-3216e2e7.entry.js} +1 -1
  284. package/dist/ripple/p-3252c04b.system.entry.js +1 -0
  285. package/dist/ripple/{p-7ca0bb68.system.entry.js → p-32bac954.system.entry.js} +1 -1
  286. package/dist/ripple/p-33eeaa18.entry.js +1 -0
  287. package/dist/ripple/p-3441da90.entry.js +1 -0
  288. package/dist/ripple/p-3502fd33.system.entry.js +1 -0
  289. package/dist/ripple/{p-f51404f5.entry.js → p-351000b9.entry.js} +1 -1
  290. package/dist/ripple/{p-bf3eef42.entry.js → p-3c0062c5.entry.js} +1 -1
  291. package/dist/ripple/{p-c1abc58e.entry.js → p-3d3836ad.entry.js} +1 -1
  292. package/dist/ripple/p-3e8bfc68.system.entry.js +1 -0
  293. package/dist/ripple/p-3f403a64.system.entry.js +1 -0
  294. package/dist/ripple/{p-b974a535.system.entry.js → p-43e8d384.system.entry.js} +1 -1
  295. package/dist/ripple/p-49dc64ba.entry.js +1 -0
  296. package/dist/ripple/{p-9d345fc7.system.entry.js → p-4a942d74.system.entry.js} +1 -1
  297. package/dist/ripple/p-4cc09fa3.system.entry.js +1 -0
  298. package/dist/ripple/p-5177d4fa.entry.js +1 -0
  299. package/dist/ripple/p-51fff3a7.system.entry.js +1 -0
  300. package/dist/ripple/p-54ba0eae.entry.js +1 -0
  301. package/dist/ripple/{p-c04d0eeb.system.entry.js → p-5609bde2.system.entry.js} +1 -1
  302. package/dist/ripple/{p-86148143.system.entry.js → p-56e1a71d.system.entry.js} +1 -1
  303. package/dist/ripple/{p-f94af31c.entry.js → p-578b5443.entry.js} +1 -1
  304. package/dist/ripple/p-57901fc3.entry.js +1 -0
  305. package/dist/ripple/{p-463be5be.entry.js → p-57a0cb5f.entry.js} +1 -1
  306. package/dist/ripple/{p-0db033c3.system.entry.js → p-59b3f92b.system.entry.js} +1 -1
  307. package/dist/ripple/p-5a533e7c.entry.js +1 -0
  308. package/dist/ripple/{p-5f092b39.system.entry.js → p-61a0ba92.system.entry.js} +1 -1
  309. package/dist/ripple/{p-6de83c6f.entry.js → p-623b89e0.entry.js} +1 -1
  310. package/dist/ripple/{p-6479b06b.entry.js → p-668c0758.entry.js} +1 -1
  311. package/dist/ripple/p-6a6e98c7.entry.js +1 -0
  312. package/dist/ripple/{p-b654743f.system.entry.js → p-6c46dd9a.system.entry.js} +1 -1
  313. package/dist/ripple/{p-4e7ae2c5.system.entry.js → p-6ea254d2.system.entry.js} +1 -1
  314. package/dist/ripple/p-6f875608.system.entry.js +1 -0
  315. package/dist/ripple/{p-d05b7cd3.entry.js → p-71a38bd2.entry.js} +1 -1
  316. package/dist/ripple/{p-dab54a9d.entry.js → p-73a2389d.entry.js} +1 -1
  317. package/dist/ripple/p-759d87de.entry.js +1 -0
  318. package/dist/ripple/{p-227b0af9.entry.js → p-75c5ec39.entry.js} +1 -1
  319. package/dist/ripple/{p-ee729037.system.entry.js → p-7bc3b4ee.system.entry.js} +1 -1
  320. package/dist/ripple/p-7c7988a3.entry.js +1 -0
  321. package/dist/ripple/p-81735196.entry.js +1 -0
  322. package/dist/ripple/{p-a0aba3e0.system.entry.js → p-8376699e.system.entry.js} +1 -1
  323. package/dist/ripple/{p-503330c1.system.entry.js → p-865208b7.system.entry.js} +1 -1
  324. package/dist/ripple/{p-28b8a12e.system.entry.js → p-8715d758.system.entry.js} +1 -1
  325. package/dist/ripple/p-8bfb7664.entry.js +1 -0
  326. package/dist/ripple/{p-680f5703.entry.js → p-8deb22bc.entry.js} +1 -1
  327. package/dist/ripple/p-8e32e9de.system.entry.js +1 -0
  328. package/dist/ripple/{p-bdb10d37.entry.js → p-92e3bf68.entry.js} +1 -1
  329. package/dist/ripple/{p-0feaaae9.system.entry.js → p-942b323c.system.entry.js} +1 -1
  330. package/dist/ripple/{p-5173359e.entry.js → p-94fd1dcc.entry.js} +1 -1
  331. package/dist/ripple/p-991455a2.system.entry.js +1 -0
  332. package/dist/ripple/p-99a112c8.system.entry.js +1 -0
  333. package/dist/ripple/p-9a8d91d6.entry.js +1 -0
  334. package/dist/ripple/{p-e0c0e8b0.system.entry.js → p-9afb642d.system.entry.js} +1 -1
  335. package/dist/ripple/p-9c850273.system.js +1 -0
  336. package/dist/ripple/p-a3f9e257.entry.js +1 -0
  337. package/dist/ripple/p-a5b07241.entry.js +1 -0
  338. package/dist/ripple/{p-d55bd2b9.entry.js → p-a7a6cf55.system.entry.js} +1 -1
  339. package/dist/ripple/{p-6f2d3297.system.entry.js → p-a917ea86.system.entry.js} +1 -1
  340. package/dist/ripple/p-ab5664cd.entry.js +1 -0
  341. package/dist/ripple/{p-cc028323.entry.js → p-acb04e6e.entry.js} +1 -1
  342. package/dist/ripple/p-b2624d8f.system.entry.js +1 -0
  343. package/dist/ripple/p-b5b37960.entry.js +1 -0
  344. package/dist/ripple/p-b713b6de.system.entry.js +1 -0
  345. package/dist/ripple/p-b75e9e5f.entry.js +1 -0
  346. package/dist/ripple/{p-b1924539.system.entry.js → p-b7969fd7.system.entry.js} +1 -1
  347. package/dist/ripple/{p-a7e637a5.system.entry.js → p-b9596bfc.system.entry.js} +1 -1
  348. package/dist/ripple/p-b9d3d967.system.entry.js +1 -0
  349. package/dist/ripple/{p-aafced54.system.entry.js → p-bd365c44.system.entry.js} +1 -1
  350. package/dist/ripple/p-bd9ab5ae.system.entry.js +1 -0
  351. package/dist/ripple/p-c0028f4d.system.entry.js +1 -0
  352. package/dist/ripple/p-c7d3ee52.entry.js +1 -0
  353. package/dist/ripple/p-c8e4e95b.entry.js +1 -0
  354. package/dist/ripple/p-c996ade8.entry.js +1 -0
  355. package/dist/ripple/p-ca8378b0.entry.js +1 -0
  356. package/dist/ripple/{p-bd37dd6f.entry.js → p-cc2176ad.entry.js} +1 -1
  357. package/dist/ripple/p-cd496e63.entry.js +1 -0
  358. package/dist/ripple/p-d0653c32.entry.js +1 -0
  359. package/dist/ripple/{p-9a5d11cb.entry.js → p-d11e5029.entry.js} +1 -1
  360. package/dist/ripple/p-d3d0b626.entry.js +1 -0
  361. package/dist/ripple/p-d4899263.entry.js +1 -0
  362. package/dist/ripple/p-dc82f194.entry.js +1 -0
  363. package/dist/ripple/{p-a6ef995c.system.entry.js → p-ddfb976f.system.entry.js} +1 -1
  364. package/dist/ripple/{p-ee26ba53.entry.js → p-e1899945.entry.js} +1 -1
  365. package/dist/ripple/p-e26b9711.system.entry.js +1 -0
  366. package/dist/ripple/{p-10aea5ee.system.entry.js → p-e31f597a.system.entry.js} +1 -1
  367. package/dist/ripple/p-e35de3cd.system.entry.js +1 -0
  368. package/dist/ripple/p-e3effa1a.system.entry.js +1 -0
  369. package/dist/ripple/p-e674e6a7.system.entry.js +1 -0
  370. package/dist/ripple/{p-8e6e868a.entry.js → p-e7ffd796.entry.js} +1 -1
  371. package/dist/ripple/p-e800717d.entry.js +1 -0
  372. package/dist/ripple/p-eab35bea.entry.js +1 -0
  373. package/dist/ripple/{p-df9d5b14.system.entry.js → p-ebdf16fa.system.entry.js} +1 -1
  374. package/dist/ripple/p-ed9fc1c1.system.entry.js +1 -0
  375. package/dist/ripple/p-eda49f0e.entry.js +1 -0
  376. package/dist/ripple/p-ee33fd7f.system.entry.js +1 -0
  377. package/dist/ripple/p-ee5f43fe.system.entry.js +1 -0
  378. package/dist/ripple/{p-928b3e5e.entry.js → p-f0ee3616.entry.js} +1 -1
  379. package/dist/ripple/{p-02c8bf15.system.entry.js → p-f1215c25.system.entry.js} +1 -1
  380. package/dist/ripple/p-f148ae9d.system.entry.js +1 -0
  381. package/dist/ripple/p-f307aabe.entry.js +1 -0
  382. package/dist/ripple/p-f4f6c904.system.entry.js +1 -0
  383. package/dist/ripple/p-f58833ae.system.entry.js +1 -0
  384. package/dist/ripple/p-f7fc6350.system.js +1 -1
  385. package/dist/ripple/p-f881cdc8.system.entry.js +1 -0
  386. package/dist/ripple/{p-444feb7d.system.entry.js → p-fbb37b4b.system.entry.js} +1 -1
  387. package/dist/ripple/{p-40e8071c.system.entry.js → p-fc905b2f.system.entry.js} +1 -1
  388. package/dist/ripple/ripple.esm.js +1 -1
  389. package/dist/ripple/ripple.js +1 -1
  390. package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +5 -0
  391. package/dist/types/components/charts/priv-chart-popover-old/priv-chart-popover-old.d.ts +5 -0
  392. package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +52 -0
  393. package/dist/types/components/charts/wm-chart/wm-chart.d.ts +111 -0
  394. package/dist/types/components/charts/wm-chart-bar/wm-chart-bar.d.ts +131 -0
  395. package/dist/types/components/charts/wm-chart-column/wm-chart-column.d.ts +100 -0
  396. package/dist/types/components/charts/wm-chart-legend/wm-chart-legend.d.ts +77 -0
  397. package/dist/types/components/charts/wm-line-chart/wm-line-chart.d.ts +134 -0
  398. package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +52 -0
  399. package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +84 -0
  400. package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +44 -0
  401. package/dist/types/components/datepickers/priv-calendar/priv-calendar.d.ts +6 -2
  402. package/dist/types/components/datepickers/wm-date-range.d.ts +186 -0
  403. package/dist/types/components/datepickers/wm-datepicker.d.ts +170 -2
  404. package/dist/types/components/selects/priv-option-list/priv-option-list.d.ts +6 -0
  405. package/dist/types/components/selects/wm-nested-select/wm-nested-select.d.ts +162 -0
  406. package/dist/types/components/selects/wm-optgroup/wm-optgroup.d.ts +87 -0
  407. package/dist/types/components/selects/wm-option/wm-option.d.ts +117 -0
  408. package/dist/types/components/selects/wm-select/wm-select.d.ts +164 -0
  409. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +122 -0
  410. package/dist/types/components/wm-button/wm-button.d.ts +170 -2
  411. package/dist/types/components/wm-file/wm-file.d.ts +92 -0
  412. package/dist/types/components/wm-file-list/wm-file-list.d.ts +71 -0
  413. package/dist/types/components/wm-flyout/wm-flyout.d.ts +193 -0
  414. package/dist/types/components/wm-input/wm-input.d.ts +158 -0
  415. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +58 -0
  416. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +54 -0
  417. package/dist/types/components/wm-modal/wm-modal-header.d.ts +30 -0
  418. package/dist/types/components/wm-modal/wm-modal.d.ts +148 -0
  419. package/dist/types/components/wm-modal-pss/wm-modal-pss-footer.d.ts +4 -0
  420. package/dist/types/components/wm-modal-pss/wm-modal-pss-header.d.ts +4 -0
  421. package/dist/types/components/wm-modal-pss/wm-modal-pss.d.ts +4 -0
  422. package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +34 -0
  423. package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +41 -0
  424. package/dist/types/components/wm-navigation/wm-navigation.d.ts +50 -0
  425. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +4 -0
  426. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +4 -0
  427. package/dist/types/components/wm-navigator/wm-navigator.d.ts +91 -3
  428. package/dist/types/components/wm-pagination/wm-pagination.d.ts +90 -0
  429. package/dist/types/components/wm-search/wm-search.d.ts +148 -5
  430. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +94 -0
  431. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +43 -2
  432. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +93 -0
  433. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +28 -2
  434. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +185 -0
  435. package/dist/types/components/wm-tag-input/wm-tag-option/wm-tag-option.d.ts +68 -0
  436. package/dist/types/components/wm-textarea/wm-textarea.d.ts +97 -0
  437. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +145 -0
  438. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +74 -0
  439. package/dist/types/components/wm-uploader/wm-uploader.d.ts +128 -0
  440. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +3 -0
  441. package/dist/types/components.d.ts +10513 -57
  442. package/package.json +2 -2
  443. package/dist/ripple/p-065b0134.entry.js +0 -1
  444. package/dist/ripple/p-210773eb.entry.js +0 -1
@@ -0,0 +1,137 @@
1
+ ### Modal
2
+ - **Element:** `<wm-modal>`
3
+ - **Status:** stable
4
+
5
+ **Purpose:** Modal dialog that overlays the page. Renders as a full-bleed `modal` (default) or a
6
+ smaller centered `dialog`. Content is provided through wm-modal-header, wm-modal-footer,
7
+ and arbitrary slotted children.
8
+
9
+ **When to use:**
10
+
11
+ - **Collecting or editing a focused set of information** -- when a user needs to fill out a short form or make a confined set of edits that must be completed or explicitly dismissed before anything else can happen, Modal creates the necessary interruption and focus.
12
+ - **Confirming a consequential or destructive action** -- when the user has initiated something that warrants deliberate confirmation (such as permanently deleting a record), use Modal with deleteStyle on the footer to signal danger and require an explicit choice before proceeding.
13
+ - **Running a short sequential workflow** -- when a task can be broken into a small number of steps using a stepper, Modal can host that progression, provided the workflow is compact enough that a full-page view is not warranted.
14
+ - **Triggering a secondary confirmation from a primary action** -- a Modal's primary action can open an additional Modal, so a two-stage confirmation (e.g., submit then confirm submission) is a supported and appropriate use.
15
+
16
+ **Do not use for:**
17
+
18
+ - **Content that is too large for a centered overlay** -- if there is too much content to display comfortably, use a Flyout or light immersive view instead; Modal is not designed to host expansive content.
19
+ - **More than one primary action** -- if more than one distinct action can be taken, break the workflow into separate Modals or reconsider the pattern entirely.
20
+ - **Launching a Flyout or side panel from within a Modal** -- stacking containers at this level breaks user orientation and focus management.
21
+
22
+ **Variants / types:**
23
+
24
+ - `modal-type="modal"` -- full overlay for task completion with forms and richer content
25
+ - `modal-type="dialog"` -- lighter variant for simpler, message-style interactions
26
+
27
+ **Props:**
28
+ - `element-to-focus` -- Element to focus when the modal opens. Pass `"primary"` or `"secondary"` to
29
+ focus the corresponding wm-modal-footer button, or an element `id` to focus a specific
30
+ element in the modal body. Defaults to the close button. Requires `id` to be set on
31
+ `<wm-modal>` when targeting footer buttons.
32
+ - `modal-type` -- Visual presentation style. `'modal'` renders a full-bleed overlay; `'dialog'`
33
+ renders a smaller centered panel.
34
+ - `open` -- Controls the open/closed state of the modal. Always render the component and
35
+ toggle this prop -- do not conditionally mount/unmount.
36
+ - `uid` -- Unique identifier used internally to wire `aria-labelledby` and
37
+ `aria-describedby` relationships. Set automatically from the element's `id` attribute or
38
+ generated if absent -- do not set this prop manually. _(required)_
39
+
40
+ **Events:**
41
+ - `wmModalCloseTriggered`
42
+ - `wmModalPrimaryTriggered`
43
+ - `wmModalSecondaryTriggered`
44
+
45
+ **Methods:**
46
+ - `emitCloseEvent() => Promise<void>`
47
+ - `emitPrimaryEvent() => Promise<void>`
48
+ - `emitSecondaryEvent() => Promise<void>`
49
+
50
+ **Accessibility:**
51
+
52
+ - Rendered as a `<dialog>` element with `aria-labelledby` pointing to the heading.
53
+ - When footer buttons receive initial focus (`element-to-focus="primary"` or `"secondary"`),
54
+ the element `id` on `<wm-modal>` is required -- it is used to construct `aria-describedby`
55
+ relationships between the heading, content, and footer.
56
+ - The content wrapper must have `id="content-[id of wm-modal]"` for the aria-describedby association.
57
+ - Focus returns automatically to the element that was active when the modal opened.
58
+ - **Keyboard:** - **Tab**: Advances focus through focusable elements; wraps from the last element back to the first.
59
+ - **Shift+Tab**: Moves focus backward; wraps from the first element to the last.
60
+ - **Escape**: Fires `wmModalCloseTriggered` (the host application must set `open = false` on the element ref in response).
61
+ - **Enter / Space**: Activates the focused button.
62
+
63
+ **Related components:**
64
+
65
+ - Dialog (modal-type="dialog") -- Dialog is the lighter variant of the same component, intended for simpler message-style interactions; Modal is for task completion with forms and richer content.
66
+ - `<wm-flyout>` -- if the task is longer, benefits from more horizontal space, or should coexist alongside the underlying page rather than block it entirely, use Flyout; Modal is for short, blocking, self-contained tasks.
67
+ - Light Immersive Layout -- if the workflow is too complex or content-heavy for a Modal, escalate to a light immersive view; Modal is not suited to multi-faceted or lengthy workflows.
68
+
69
+ **Code example:**
70
+
71
+ _Basic modal_
72
+
73
+ ```html
74
+ <wm-modal id="confirm-modal" open>
75
+ <wm-modal-header heading="Confirm action"></wm-modal-header>
76
+ <div id="content-confirm-modal">Are you sure you want to continue?</div>
77
+ <wm-modal-footer primary-text="Confirm" secondary-text="Cancel"></wm-modal-footer>
78
+ </wm-modal>
79
+ ```
80
+
81
+ _Basic modal_
82
+
83
+ ```react
84
+ // Set open imperatively via ref -- do not use open={} as a React prop.
85
+ // This preserves the native <dialog> focus-return without triggering :focus-visible.
86
+ const modalRef = useRef(null);
87
+
88
+ const openModal = () => { modalRef.current.open = true; };
89
+ const closeModal = () => { modalRef.current.open = false; };
90
+
91
+ <WmButton onWmButtonClicked={openModal}>Open modal</WmButton>
92
+
93
+ <WmModal
94
+ ref={modalRef}
95
+ id="confirm-modal"
96
+ onWmModalCloseTriggered={closeModal}
97
+ onWmModalPrimaryTriggered={closeModal}
98
+ onWmModalSecondaryTriggered={closeModal}
99
+ >
100
+ <WmModalHeader heading="Confirm action" />
101
+ <div id="content-confirm-modal">Are you sure you want to continue?</div>
102
+ <WmModalFooter primaryText="Confirm" secondaryText="Cancel" />
103
+ </WmModal>
104
+ ```
105
+
106
+ _Dialog type (smaller, centered)_
107
+
108
+ ```html
109
+ <wm-modal id="info-dialog" modal-type="dialog" open>
110
+ <wm-modal-header heading="Information"></wm-modal-header>
111
+ <div id="content-info-dialog">This is additional context.</div>
112
+ <wm-modal-footer primary-text="Got it"></wm-modal-footer>
113
+ </wm-modal>
114
+ ```
115
+
116
+ _Dialog type_
117
+
118
+ ```react
119
+ const dialogRef = useRef(null);
120
+
121
+ const openDialog = () => { dialogRef.current.open = true; };
122
+ const closeDialog = () => { dialogRef.current.open = false; };
123
+
124
+ <WmButton onWmButtonClicked={openDialog}>Open dialog</WmButton>
125
+
126
+ <WmModal
127
+ ref={dialogRef}
128
+ id="info-dialog"
129
+ modalType="dialog"
130
+ onWmModalCloseTriggered={closeDialog}
131
+ onWmModalPrimaryTriggered={closeDialog}
132
+ >
133
+ <WmModalHeader heading="Information" />
134
+ <div id="content-info-dialog">This is additional context.</div>
135
+ <WmModalFooter primaryText="Got it" />
136
+ </WmModal>
137
+ ```
@@ -0,0 +1,56 @@
1
+ ### Navigation Hamburger
2
+ - **Element:** `<wm-navigation-hamburger>`
3
+ - **Status:** stable
4
+
5
+ **Purpose:** Toggle button for the collapsible wm-navigation sidebar. Renders a hamburger/menu icon
6
+ button that communicates with wm-navigation via window events. Place immediately before
7
+ the associated wm-navigation element in the DOM.
8
+
9
+ **When to use:**
10
+
11
+ - **Providing the main navigation structure for a product** -- when building the primary layout of a page that follows the Ripple design system's standard page layout, Navigation is the designated component for the top-level navigation links that persist across every page.
12
+ - **Implementing a collapsible nav for responsive layouts** -- when the product needs navigation to collapse below the 1024px breakpoint, include wm-navigation-hamburger alongside wm-navigation to give users a toggle control; the component handles open/close behavior automatically at that breakpoint.
13
+
14
+ **Do not use for:**
15
+
16
+ - **In-page section switching** -- Navigation is for moving between pages or top-level product areas, not for switching between sections within a single page; use wm-tabs for that purpose instead.
17
+
18
+ **Variants / types:**
19
+
20
+ _None documented_
21
+
22
+ **Props:**
23
+ - `nav-id` -- The `id` of the associated wm-navigation element. Required for semantic
24
+ linking and for keeping `aria-expanded` in sync with the navigation's open state.
25
+
26
+ **Events:**
27
+ - `wmNavigationHamburgerClicked`
28
+
29
+ **Accessibility:**
30
+
31
+ - Rendered as a `<button>` with `aria-expanded` reflecting the navigation's open state.
32
+ - Keeps `aria-expanded` in sync by listening to `wmNavigationStateChanged` from the
33
+ associated wm-navigation element.
34
+ - **Keyboard:** - **Enter / Space**: Toggles the navigation open/closed.
35
+
36
+ **Related components:**
37
+
38
+ - `<wm-tabs>` -- if the goal is switching between views or sections within a single page rather than navigating to different pages, use Tabs; Navigation is for top-level cross-page routing only.
39
+ - `<wm-navigator>` -- if the navigation pattern involves the product's app bar or auth-integrated header rather than the side nav, use Navigator; Navigation is the side nav, not the top bar.
40
+ - `<wm-pagination>` -- if the user is moving through pages of a dataset rather than product sections, use Pagination; Navigation is not a data paging mechanism.
41
+
42
+ **Code example:**
43
+
44
+ _Basic hamburger_
45
+
46
+ ```html
47
+ <wm-navigation-hamburger nav-id="main-nav"></wm-navigation-hamburger>
48
+ <wm-navigation id="main-nav">...</wm-navigation>
49
+ ```
50
+
51
+ _Basic hamburger_
52
+
53
+ ```react
54
+ <WmNavigationHamburger navId="main-nav" />
55
+ <WmNavigation id="main-nav">...</WmNavigation>
56
+ ```
@@ -0,0 +1,69 @@
1
+ ### Navigation Item
2
+ - **Element:** `<wm-navigation-item>`
3
+ - **Status:** stable
4
+
5
+ **Purpose:** A single navigation link inside a wm-navigation. Renders as an anchor element with an
6
+ optional icon slot. Always used as a direct child of wm-navigation.
7
+
8
+ **When to use:**
9
+
10
+ - **Providing the main navigation structure for a product** -- when building the primary layout of a page that follows the Ripple design system's standard page layout, Navigation is the designated component for the top-level navigation links that persist across every page.
11
+ - **Implementing a collapsible nav for responsive layouts** -- when the product needs navigation to collapse below the 1024px breakpoint, include wm-navigation-hamburger alongside wm-navigation to give users a toggle control; the component handles open/close behavior automatically at that breakpoint.
12
+
13
+ **Do not use for:**
14
+
15
+ - **In-page section switching** -- Navigation is for moving between pages or top-level product areas, not for switching between sections within a single page; use wm-tabs for that purpose instead.
16
+
17
+ **Variants / types:**
18
+
19
+ _None documented_
20
+
21
+ **Props:**
22
+ - `active` -- Marks this item as the currently active route, applying active styling.
23
+ - `href` -- URL the link navigates to.
24
+ - `text` -- The visible label text for the navigation link.
25
+
26
+ **Events:**
27
+ - `wmNavigationItemClicked`
28
+
29
+ **Accessibility:**
30
+
31
+ - Marking the current active page in the nav: when rendering navigation items, use the active property on the wm-navigation-item matching the current page so the component communicates the user's current location both visually and to screen readers.
32
+ - Placement outside its required markup structure: Navigation only works correctly in a specific page structure (body > header + div > wm-navigation + main); placing it arbitrarily in the markup will break its scroll behavior, z-index stacking, and responsive collapsing.
33
+ - Implementing a skip-navigation link: any skip-navigation link must be implemented separately; Navigation does not handle this itself, and expecting it to is a common accessibility gap.
34
+
35
+ **Related components:**
36
+
37
+ - `<wm-tabs>` -- if the goal is switching between views or sections within a single page rather than navigating to different pages, use Tabs; Navigation is for top-level cross-page routing only.
38
+ - `<wm-navigator>` -- if the navigation pattern involves the product's app bar or auth-integrated header rather than the side nav, use Navigator; Navigation is the side nav, not the top bar.
39
+ - `<wm-pagination>` -- if the user is moving through pages of a dataset rather than product sections, use Pagination; Navigation is not a data paging mechanism.
40
+
41
+ **Code example:**
42
+
43
+ _Basic navigation item_
44
+
45
+ ```html
46
+ <wm-navigation-item href="/dashboard" text="Dashboard" active></wm-navigation-item>
47
+ ```
48
+
49
+ _Basic navigation item_
50
+
51
+ ```react
52
+ <WmNavigationItem href="/dashboard" text="Dashboard" active={true} />
53
+ ```
54
+
55
+ _Navigation item with icon_
56
+
57
+ ```html
58
+ <wm-navigation-item href="/reports" text="Reports">
59
+ <span class="svg-icon svg-chart"></span>
60
+ </wm-navigation-item>
61
+ ```
62
+
63
+ _Navigation item with icon_
64
+
65
+ ```react
66
+ <WmNavigationItem href="/reports" text="Reports">
67
+ <span className="svg-icon svg-chart" />
68
+ </WmNavigationItem>
69
+ ```
@@ -0,0 +1,66 @@
1
+ ### Navigation
2
+ - **Element:** `<wm-navigation>`
3
+ - **Status:** stable
4
+
5
+ **Purpose:** Sidebar navigation that collapses into a hamburger menu on viewports narrower than 1024px.
6
+ Contains wm-navigation-item children and works alongside an external wm-navigation-hamburger
7
+ toggle. Must be placed in the DOM after `<header>` and before `<main>`.
8
+
9
+ **When to use:**
10
+
11
+ - **Providing the main navigation structure for a product** -- when building the primary layout of a page that follows the Ripple design system's standard page layout, Navigation is the designated component for the top-level navigation links that persist across every page.
12
+ - **Implementing a collapsible nav for responsive layouts** -- when the product needs navigation to collapse below the 1024px breakpoint, include wm-navigation-hamburger alongside wm-navigation to give users a toggle control; the component handles open/close behavior automatically at that breakpoint.
13
+
14
+ **Do not use for:**
15
+
16
+ - **In-page section switching** -- Navigation is for moving between pages or top-level product areas, not for switching between sections within a single page; use wm-tabs for that purpose instead.
17
+
18
+ **Variants / types:**
19
+
20
+ _None documented_
21
+
22
+ **Props:**
23
+ - `open` -- Controls the open/closed state of the collapsible navigation. Has no effect
24
+ on viewports wider than 1024px where the navigation is always visible.
25
+
26
+ **Events:**
27
+ - `wmNavigationStateChanged`
28
+
29
+ **Accessibility:**
30
+
31
+ - Rendered with `role="navigation"` and an `aria-label` of "Main".
32
+ - `aria-expanded` is set on the host element in collapsible mode only; omitted on wider viewports.
33
+ - When the collapsible menu is open, focus is trapped and redirected back from the browser
34
+ address bar via a `focus` listener on `document.body`.
35
+ - **Keyboard:** - **Escape**: Collapses the navigation when in collapsible mode.
36
+ - **Tab / Shift+Tab**: Cycles through navigation items; focus is trapped within the component
37
+ while the collapsible menu is open.
38
+ - **Enter / Space**: Activates the close button when focused (collapses the menu).
39
+
40
+ **Related components:**
41
+
42
+ - `<wm-tabs>` -- if the goal is switching between views or sections within a single page rather than navigating to different pages, use Tabs; Navigation is for top-level cross-page routing only.
43
+ - `<wm-navigator>` -- if the navigation pattern involves the product's app bar or auth-integrated header rather than the side nav, use Navigator; Navigation is the side nav, not the top bar.
44
+ - `<wm-pagination>` -- if the user is moving through pages of a dataset rather than product sections, use Pagination; Navigation is not a data paging mechanism.
45
+
46
+ **Code example:**
47
+
48
+ _Basic navigation_
49
+
50
+ ```html
51
+ <wm-navigation-hamburger nav-id="main-nav"></wm-navigation-hamburger>
52
+ <wm-navigation id="main-nav">
53
+ <wm-navigation-item href="/dashboard" text="Dashboard" active></wm-navigation-item>
54
+ <wm-navigation-item href="/reports" text="Reports"></wm-navigation-item>
55
+ </wm-navigation>
56
+ ```
57
+
58
+ _Basic navigation_
59
+
60
+ ```react
61
+ <WmNavigationHamburger navId="main-nav" />
62
+ <WmNavigation id="main-nav">
63
+ <WmNavigationItem href="/dashboard" text="Dashboard" active={true} />
64
+ <WmNavigationItem href="/reports" text="Reports" />
65
+ </WmNavigation>
66
+ ```
@@ -0,0 +1,91 @@
1
+ ### Navigator
2
+ - **Element:** `<wm-navigator>`
3
+ - **Status:** stable
4
+
5
+ **Purpose:** User account menu that displays the logged-in user's name, email, and a product switcher
6
+ for navigating between Watermark applications. Renders as a button that opens a dropdown
7
+ listing available products and a logout option.
8
+
9
+ **When to use:**
10
+
11
+ - **Providing cross-product switching in the product header** -- when building a Watermark product within the broader platform ecosystem, use Navigator to give users access to their other permitted products without navigating back to a separate launcher.
12
+
13
+ **Do not use for:**
14
+
15
+ - **General navigation menus** -- Navigator is purpose-built for Watermark platform product-switching and logout; it is not a general-purpose navigation component. For within-product page navigation, use wm-navigation.
16
+ - **Contexts outside the Watermark platform** -- this component is explicitly designed for Watermark's multi-product platform architecture and should not be used as a general product switcher or user menu in unrelated contexts.
17
+
18
+ **Variants / types:**
19
+
20
+ _None documented_
21
+
22
+ **Props:**
23
+ - `auth-type` -- Authentication method, determining how product link redirects are handled.
24
+ `1` -- no redirect; `2` -- username/password or SSO (uses `link_url`); `3` -- SAML (uses `saml_link_url`). _(conditionally required: when load-from-userinfo is false and products are provided)_
25
+ - `connection-name` -- SAML connection name appended as a query parameter to product redirect URLs.
26
+ Only used when `auth-type` is `3`.
27
+ - `email` -- The email address of the logged-in user, shown in the menu header. _(conditionally required: when load-from-userinfo is false)_
28
+ - `load-from-userinfo` -- When true, fetches user info and products automatically from the
29
+ `/platform/navigator/userinfo` endpoint instead of using props.
30
+ - `logout-url` -- URL to redirect to after logout. If omitted, no redirect occurs -- handle
31
+ navigation entirely in the `wmNavigatorLogout` event handler.
32
+ - `products` -- The user's accessible Watermark products, as a JSON string or array of objects.
33
+ Each object must include `id`, `name`, `icon_url`, and either `link_url` (auth-type 2) or
34
+ `saml_link_url` (auth-type 3). Not needed when `load-from-userinfo` is true.
35
+ - `user-name` -- The display name of the logged-in user, shown in the menu header.
36
+
37
+ **Events:**
38
+ - `wmNavigatorLogout`
39
+
40
+ **Accessibility:**
41
+
42
+ - User info (name and email) is grouped with an `aria-label` for screen readers.
43
+ - Product options are rendered in a `role="listbox"` with `role="option"` items and
44
+ `aria-selected` reflecting the current product.
45
+ - **Keyboard:** - **Down Arrow / Up Arrow**: Opens the menu and navigates between product options.
46
+ - **Enter / Space**: Activates the focused option or opens the menu.
47
+ - **Escape**: Closes the menu.
48
+ - **Tab**: Closes the menu.
49
+
50
+ **Related components:**
51
+
52
+ - `<wm-navigation>` -- if the goal is providing within-product page-level navigation, use Navigation; Navigator is strictly for switching between separate Watermark products and logging out, not for navigating between pages within a single product.
53
+ - `<wm-action-menu>` -- if a general-purpose dropdown menu of actions is needed in a non-platform context, use Action Menu; Navigator's structure and data model are specific to Watermark's platform architecture.
54
+
55
+ **Code example:**
56
+
57
+ _Prop mode_
58
+
59
+ ```html
60
+ <wm-navigator
61
+ user-name="Maria Garcia"
62
+ email="m.garcia@example.com"
63
+ auth-type="2"
64
+ logout-url="https://app.watermarkinsights.com/logout"
65
+ products='[{"id":"app1","name":"Insights","icon_url":"/icons/insights.svg","link_url":"https://insights.watermarkinsights.com"}]'>
66
+ </wm-navigator>
67
+ ```
68
+
69
+ _Prop mode_
70
+
71
+ ```react
72
+ <WmNavigator
73
+ userName="Maria Garcia"
74
+ email="m.garcia@example.com"
75
+ authType={2}
76
+ logoutUrl="https://app.watermarkinsights.com/logout"
77
+ products={JSON.stringify(products)}
78
+ onWmNavigatorLogout={handleLogout} />
79
+ ```
80
+
81
+ _Endpoint mode (fetches user info automatically)_
82
+
83
+ ```html
84
+ <wm-navigator user-name="Maria Garcia" load-from-userinfo="true"></wm-navigator>
85
+ ```
86
+
87
+ _Endpoint mode_
88
+
89
+ ```react
90
+ <WmNavigator userName="Maria Garcia" loadFromUserinfo={true} onWmNavigatorLogout={handleLogout} />
91
+ ```
@@ -0,0 +1,149 @@
1
+ ### Nested Select
2
+ - **Element:** `<wm-nested-select>`
3
+ - **Status:** stable
4
+
5
+ **Purpose:** Dropdown list of grouped options that allows single or multi-select. Like wm-select but
6
+ options are organized into labeled categories via a two-level hierarchy. Composed of a
7
+ parent wm-nested-select, one or more wm-optgroup children, and wm-option elements inside
8
+ each group.
9
+
10
+ **When to use:**
11
+
12
+ - **Selecting from options that naturally belong to categories** -- when the option set has a clear parent-child structure (e.g., selecting a course within a department, or a metric within a reporting area), use Nested Select so users can orient by category before scanning a shorter list of relevant options.
13
+ - **Reducing cognitive load on a large, mixed option set** -- when a flat list of options would be long and hard to scan, use Nested Select to break it into groups that users can navigate one level at a time.
14
+ - **Allowing multi-selection within a categorized set** -- when users need to pick multiple values from a grouped list, use the multiple property, optionally combined with select-all per group to allow bulk selection within a category.
15
+ - **Making a categorized list searchable** -- when the full option set is large enough that browsing groups still is not enough, use the search property to let users filter across all groups by typing.
16
+
17
+ **Do not use for:**
18
+
19
+ - **Options that are not genuinely hierarchical** -- if the options are a single flat list, use wm-select instead; forcing a group wrapper onto non-hierarchical data adds a navigation step with no benefit.
20
+ - **Triggering an action rather than setting a value** -- if selecting an option should immediately execute something rather than record a choice, use wm-action-menu with the selector type instead.
21
+ - **Deeply nested data (more than two levels)** -- the component supports exactly one level of grouping; if the data has sub-groups within groups, Nested Select cannot model it and a different pattern is needed.
22
+
23
+ **Variants / types:**
24
+
25
+ _None documented_
26
+
27
+ **Props:**
28
+ - `all-selected-message` -- Text displayed in the trigger button when all options across all groups are
29
+ selected (multiselect mode).
30
+ - `disabled` -- Disables the entire nested select component, preventing any interaction.
31
+ - `error-message` -- Displays the component in an error state with the provided message shown
32
+ beneath the button.
33
+ - `label` -- Accessible label describing the dropdown's purpose. Required even when
34
+ `label-position` is `"none"` -- it is used as the ARIA accessible name for the button.
35
+ - `label-position` -- Controls where the label is rendered relative to the dropdown button.
36
+ `"none"` hides the label visually but keeps it accessible.
37
+ - `max-height` -- Overrides the maximum height of the options dropdown. Accepts any valid CSS
38
+ length value (e.g. `"300px"`).
39
+ - `multiple` -- Enables multiselect mode, allowing more than one option to be selected at
40
+ a time.
41
+ - `placeholder` -- Text displayed in the trigger button when no options are selected.
42
+ - `required-field` -- Renders a required-field asterisk (*) next to the label.
43
+ - `search` -- Adds a search input that filters visible options within the currently open
44
+ group.
45
+ - `search-placeholder` -- Placeholder text displayed inside the search input when `search` is enabled.
46
+ - `select-all` -- Adds a "Select All / Deselect All" toggle at the top of each group. Requires
47
+ `multiple` to be set.
48
+
49
+ **Events:**
50
+ - `wmNestedSelectBlurred`
51
+
52
+ **Accessibility:**
53
+
54
+ - `label` is required even when `label-position` is `"none"` -- it is used as the dropdown's
55
+ ARIA accessible name.
56
+ - Group buttons render with `role="menuitem"` inside a `role="menu"`. The option level
57
+ renders as a `role="listbox"` with `role="option"` items.
58
+ - Validation errors are announced via an `aria-live` region when `error-message` changes.
59
+ - **Keyboard:** - **Closed button**: Space / Enter / Arrow Down opens the dropdown and focuses the first
60
+ group; Arrow Up opens and focuses the last group.
61
+ - **Group level**: Arrow Up / Down navigate group buttons; Arrow Right / Enter enters the
62
+ group; Escape closes the dropdown.
63
+ - **Option level (inside a group)**: Arrow Up / Down navigate options; Arrow Left returns
64
+ to the group list; Home / End jump to first / last option; typing a letter jumps to the
65
+ first matching option.
66
+ - **Tab** (anywhere in dropdown): Closes the dropdown.
67
+
68
+ **Related components:**
69
+
70
+ - `<wm-select>` -- if the options are a single flat list with no categories, use Select; Nested Select is only warranted when options have a genuine two-level group structure.
71
+ - `<wm-action-menu>` (selector type) -- if picking from the list triggers an action rather than sets a value, use Action Menu's selector type; Nested Select is for value selection only.
72
+
73
+ **Code example:**
74
+
75
+ _Single-select nested select_
76
+
77
+ ```html
78
+ <wm-nested-select label="Department">
79
+ <wm-optgroup label="Sciences">
80
+ <wm-option selected>Select a department</wm-option>
81
+ <wm-option>Biology</wm-option>
82
+ </wm-optgroup>
83
+ <wm-optgroup label="Humanities">
84
+ <wm-option>English</wm-option>
85
+ </wm-optgroup>
86
+ </wm-nested-select>
87
+ ```
88
+
89
+ _Single-select nested select_
90
+
91
+ ```react
92
+ const [department, setDepartment] = useState('');
93
+
94
+ // event.detail is the selected HTMLWmOptionElement
95
+ const handleSelect = (event) => {
96
+ setDepartment(event.detail.value ?? event.detail.textContent);
97
+ };
98
+
99
+ <WmNestedSelect label="Department" onWmOptionSelected={handleSelect}>
100
+ <WmOptgroup label="Sciences">
101
+ <WmOption selected>Select a department</WmOption>
102
+ <WmOption value="bio">Biology</WmOption>
103
+ </WmOptgroup>
104
+ <WmOptgroup label="Humanities">
105
+ <WmOption value="eng">English</WmOption>
106
+ </WmOptgroup>
107
+ </WmNestedSelect>
108
+ ```
109
+
110
+ _Multi-select with Select All_
111
+
112
+ ```html
113
+ <wm-nested-select label="Programs" multiple select-all>
114
+ <wm-optgroup label="Sciences">
115
+ <wm-option value="bio">Biology</wm-option>
116
+ <wm-option value="chem">Chemistry</wm-option>
117
+ </wm-optgroup>
118
+ </wm-nested-select>
119
+ ```
120
+
121
+ _Multi-select with Select All_
122
+
123
+ ```react
124
+ const [selected, setSelected] = useState([]);
125
+
126
+ // event.detail is the HTMLWmOptionElement that was selected or deselected
127
+ const handleSelect = (event) => {
128
+ const value = event.detail.value ?? event.detail.textContent;
129
+ setSelected((prev) => [...prev, value]);
130
+ };
131
+
132
+ const handleDeselect = (event) => {
133
+ const value = event.detail.value ?? event.detail.textContent;
134
+ setSelected((prev) => prev.filter((v) => v !== value));
135
+ };
136
+
137
+ <WmNestedSelect
138
+ label="Programs"
139
+ multiple={true}
140
+ selectAll={true}
141
+ onWmOptionSelected={handleSelect}
142
+ onWmOptionDeselected={handleDeselect}
143
+ >
144
+ <WmOptgroup label="Sciences">
145
+ <WmOption value="bio">Biology</WmOption>
146
+ <WmOption value="chem">Chemistry</WmOption>
147
+ </WmOptgroup>
148
+ </WmNestedSelect>
149
+ ```
@@ -0,0 +1,71 @@
1
+ ### Optgroup
2
+ - **Element:** `<wm-optgroup>`
3
+ - **Status:** stable
4
+
5
+ **Purpose:** Named group of wm-option elements used inside wm-nested-select. Renders as a slide-in
6
+ panel that appears when the user selects the group from the top-level menu.
7
+
8
+ **Variants / types:**
9
+
10
+ - Always used as a direct child of wm-nested-select.
11
+ - `label` is required -- it is shown as the group heading in the dropdown menu.
12
+ - The `disabled` prop prevents the group button from being clicked, hiding all its options.
13
+ - `wmOptgroupAllSelected` and `wmOptgroupAllDeselected` are fired when the "Select All /
14
+ Deselect All" button inside the group is activated; they bubble to wm-nested-select.
15
+
16
+ **Props:**
17
+ - `disabled` -- Disables this group, preventing the user from opening it or selecting any
18
+ of its options.
19
+ - `label` -- Display name for this group, shown as the group button text in the
20
+ dropdown menu. _(required)_
21
+
22
+ **Events:**
23
+ - `wmOptgroupAllDeselected`
24
+ - `wmOptgroupAllSelected`
25
+
26
+ **Methods:**
27
+ - `emitDeselection() => Promise<void>`
28
+
29
+ **Code example:**
30
+
31
+ _Optgroup inside nested select_
32
+
33
+ ```html
34
+ <wm-nested-select label="Department">
35
+ <wm-optgroup label="Sciences">
36
+ <wm-option selected>Select a department</wm-option>
37
+ <wm-option>Biology</wm-option>
38
+ </wm-optgroup>
39
+ </wm-nested-select>
40
+ ```
41
+
42
+ _Optgroup inside nested select_
43
+
44
+ ```react
45
+ <WmNestedSelect label="Department">
46
+ <WmOptgroup label="Sciences">
47
+ <WmOption selected={true}>Select a department</WmOption>
48
+ <WmOption>Biology</WmOption>
49
+ </WmOptgroup>
50
+ </WmNestedSelect>
51
+ ```
52
+
53
+ _Disabled optgroup_
54
+
55
+ ```html
56
+ <wm-nested-select label="Program">
57
+ <wm-optgroup label="Sciences" disabled>
58
+ <wm-option>Biology</wm-option>
59
+ </wm-optgroup>
60
+ </wm-nested-select>
61
+ ```
62
+
63
+ _Disabled optgroup_
64
+
65
+ ```react
66
+ <WmNestedSelect label="Program">
67
+ <WmOptgroup label="Sciences" disabled={true}>
68
+ <WmOption>Biology</WmOption>
69
+ </WmOptgroup>
70
+ </WmNestedSelect>
71
+ ```