@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,68 @@
1
+ ### Option
2
+ - **Element:** `<wm-option>`
3
+ - **Status:** stable
4
+
5
+ **Purpose:** Individual selectable item used inside wm-select, wm-nested-select (via wm-optgroup), and
6
+ wm-optgroup. Renders as a listbox option with optional secondary text.
7
+
8
+ **Variants / types:**
9
+
10
+ - Text content is supplied as the element's text node (slot content). Do not nest other
11
+ elements inside wm-option.
12
+ - Set the `selected` attribute/prop to pre-select an option on load.
13
+ - In single-select mode, exactly one wm-option should be pre-selected (typically a
14
+ placeholder). In multi-select mode, zero or more options may be pre-selected.
15
+ - The `value` prop is a pass-through convenience for application code to attach an
16
+ identifier; the component itself never reads or mutates it.
17
+
18
+ **Props:**
19
+ - `disabled` -- Prevents the option from being selected.
20
+ - `selected` -- Marks this option as currently selected.
21
+ - `subinfo` -- Secondary text displayed beneath the option label.
22
+ - `value` -- Application-defined identifier for this option. The component never reads
23
+ or modifies this value -- it is purely a pass-through for application code to attach an ID
24
+ or key.
25
+
26
+ **Events:**
27
+ - `wmOptionDeselected`
28
+ - `wmOptionSelected`
29
+
30
+ **Code example:**
31
+
32
+ _Basic option usage_
33
+
34
+ ```html
35
+ <wm-select label="Status">
36
+ <wm-option selected>Select a status</wm-option>
37
+ <wm-option value="active">Active</wm-option>
38
+ <wm-option value="inactive">Inactive</wm-option>
39
+ </wm-select>
40
+ ```
41
+
42
+ _Basic option usage_
43
+
44
+ ```react
45
+ <WmSelect label="Status">
46
+ <WmOption selected={true}>Select a status</WmOption>
47
+ <WmOption value="active">Active</WmOption>
48
+ <WmOption value="inactive">Inactive</WmOption>
49
+ </WmSelect>
50
+ ```
51
+
52
+ _Option with subinfo_
53
+
54
+ ```html
55
+ <wm-select label="User" multiple>
56
+ <wm-option subinfo="Biology dept">Alice</wm-option>
57
+ <wm-option subinfo="Chemistry dept">Bob</wm-option>
58
+ </wm-select>
59
+ ```
60
+
61
+ _Option with subinfo_
62
+
63
+ ```react
64
+ <WmSelect label="User" multiple={true}>
65
+ <WmOption subinfo="Biology dept">Alice</WmOption>
66
+ <WmOption subinfo="Chemistry dept">Bob</WmOption>
67
+ </WmSelect>
68
+ ```
@@ -0,0 +1,95 @@
1
+ ### Pagination
2
+ - **Element:** `<wm-pagination>`
3
+ - **Status:** stable
4
+
5
+ **Purpose:** Pagination controls for navigating large data sets. Renders a full page-number strip on
6
+ wider viewports and a minimal prev/next/first/last layout on narrow viewports. Does not
7
+ render at all when the total item count fits on a single page.
8
+
9
+ **When to use:**
10
+
11
+ - **Breaking a large dataset into discrete pages** -- when a table, list, or grid contains too many items to display at once and the application loads them in chunks, use Pagination to give users explicit control over which page they're viewing.
12
+ - **Displaying multiple independent paginated datasets on the same page** -- when a page contains more than one paginated section, use the label property on each Pagination instance to give each a distinct accessible name (e.g., "Students pagination" vs. "Courses pagination").
13
+
14
+ **Do not use for:**
15
+
16
+ - **In-page section or tab switching** -- Pagination is for moving through chunks of a dataset, not for switching between views or content sections; use wm-tabs for tab-style content switching within a page.
17
+ - **Small datasets that can be displayed in full** -- if all items can be reasonably displayed at once without performance or usability concerns, Pagination adds unnecessary navigation overhead; only paginate when the volume genuinely warrants it.
18
+ - **Sequential multi-step workflows** -- if the user is progressing through ordered steps that must be completed in sequence, use a stepper pattern instead; Pagination implies unrestricted movement between any page in any order.
19
+
20
+ **Variants / types:**
21
+
22
+ - `is-large-size="true"` -- larger display with more prominent page numbers
23
+ - `is-large-size="false" (default)` -- compact display
24
+
25
+ **Props:**
26
+ - `current-page` -- The currently active page number. Update this prop in response to
27
+ `wmPaginationPageClicked` to keep the component in sync with your data.
28
+ - `items-per-page` -- Number of items displayed per page. Used with `total-items` to calculate
29
+ the total page count.
30
+ - `label` -- Accessible label for the `<nav>` element. Defaults to `"Pagination navigation"`.
31
+ Override when multiple pagination instances appear on the same page (e.g. `"Search results"`).
32
+ - `total-items` -- Total number of items across all pages. Used with `items-per-page` to
33
+ calculate the total page count.
34
+ - `value` -- The page number selected by the most recent user interaction. Read
35
+ `event.target.value` in the `wmPaginationPageClicked` handler to get the selected page.
36
+
37
+ **Events:**
38
+ - `wmPaginationPageClicked`
39
+
40
+ **Accessibility:**
41
+
42
+ - Rendered as a `<nav>` element with an `aria-label` that includes the current page and
43
+ visible item range, announced to screen readers on load.
44
+ - An `aria-live` region announces the new current page when navigation occurs.
45
+ - Disabled previous/next buttons shift focus to the nearest enabled button automatically.
46
+ - Current page button carries `aria-current="page"`.
47
+
48
+ **Related components:**
49
+
50
+ - `<wm-tabs>` -- if the goal is switching between distinct content views or sections within a page rather than moving through pages of a dataset, use Tabs; Pagination is specifically for dataset paging, not view switching.
51
+ - `<wm-search>` -- if the goal is reducing a large dataset by filtering rather than paging through it, use Search or other filter inputs; filtering reduces the set, paging navigates it.
52
+ - Stepper pattern -- if users are progressing through ordered steps that must be completed sequentially, use a stepper rather than Pagination; Pagination implies unrestricted movement between any page in any order.
53
+
54
+ **Code example:**
55
+
56
+ _Basic pagination_
57
+
58
+ ```html
59
+ <wm-pagination current-page="1" total-items="150" items-per-page="25"></wm-pagination>
60
+ ```
61
+
62
+ _Basic pagination_
63
+
64
+ ```react
65
+ // event.target.value is a string -- use Number() when storing as a number.
66
+ const [currentPage, setCurrentPage] = useState(1);
67
+
68
+ <WmPagination
69
+ currentPage={currentPage}
70
+ totalItems={150}
71
+ itemsPerPage={25}
72
+ onWmPaginationPageClicked={(e) => setCurrentPage(Number(e.target.value))} />
73
+ ```
74
+
75
+ _With accessible label_
76
+
77
+ ```html
78
+ <wm-pagination label="Search results" current-page="1" total-items="80" items-per-page="10">
79
+ </wm-pagination>
80
+ ```
81
+
82
+ _Multiple instances with independent state_
83
+
84
+ ```react
85
+ // Give each instance a unique label to disambiguate the nav landmark for screen readers.
86
+ // Drive each from its own state variable so they page independently.
87
+ const [page1, setPage1] = useState(1);
88
+ const [page2, setPage2] = useState(1);
89
+
90
+ <WmPagination currentPage={page1} totalItems={150} itemsPerPage={10}
91
+ onWmPaginationPageClicked={(e) => setPage1(Number(e.target.value))} />
92
+
93
+ <WmPagination label="Search results" currentPage={page2} totalItems={80} itemsPerPage={10}
94
+ onWmPaginationPageClicked={(e) => setPage2(Number(e.target.value))} />
95
+ ```
@@ -0,0 +1,49 @@
1
+ ### Progress Indicator
2
+ - **Element:** `<wm-progress-indicator>`
3
+ - **Status:** stable
4
+
5
+ **Purpose:** Single progress indicator used inside a wm-progress-monitor. Renders the binary completion
6
+ data for one category as either a doughnut chart (wide layout) or a horizontal bar (narrow
7
+ layout), switching automatically based on the parent monitor's breakpoint.
8
+
9
+ Must contain EXACTLY TWO wm-progress-slice children -- one for the "complete" state and one
10
+ for the "incomplete" state.
11
+
12
+ **Variants / types:**
13
+
14
+ - Always used as a direct child of wm-progress-monitor.
15
+ - `label` is required for accessibility.
16
+ - The optional `completion-message` is displayed inside the doughnut when the first slice
17
+ reaches 100%.
18
+
19
+ **Props:**
20
+ - `completion-message` -- Text displayed inside the doughnut ring when the completion slice reaches
21
+ 100%.
22
+ - `label` -- Accessible label for this indicator. Required for accessibility -- used as the
23
+ `aria-label` on the chart container and as the visual chart label.
24
+ - `print-mode` -- When true, slice values are included in the legend and keyboard interaction
25
+ instructions are removed from the DOM -- suitable for printed output.
26
+ - `print-mode-format` -- Format for legend values when `print-mode` is enabled.
27
+ - `show-legend` -- Show or hide the legend. The legend is still read by screen readers
28
+ regardless of this setting.
29
+ - `subinfo` -- Optional secondary text displayed beneath the label.
30
+
31
+ **Code example:**
32
+
33
+ _Progress indicator_
34
+
35
+ ```html
36
+ <wm-progress-indicator label="Biology completion">
37
+ <wm-progress-slice legend="Completed" amount="200"></wm-progress-slice>
38
+ <wm-progress-slice legend="Not Completed" amount="100"></wm-progress-slice>
39
+ </wm-progress-indicator>
40
+ ```
41
+
42
+ _Progress indicator_
43
+
44
+ ```react
45
+ <WmProgressIndicator label="Biology completion">
46
+ <WmProgressSlice legend="Completed" amount="200" />
47
+ <WmProgressSlice legend="Not Completed" amount="100" />
48
+ </WmProgressIndicator>
49
+ ```
@@ -0,0 +1,93 @@
1
+ ### Progress Monitor
2
+ - **Element:** `<wm-progress-monitor>`
3
+ - **Status:** stable
4
+
5
+ **Purpose:** Container for one or more wm-progress-indicator elements, each showing binary completion
6
+ progress (e.g. "Completed" vs "Not Completed"). Above the layout breakpoint, indicators
7
+ render as doughnuts in a horizontal row; below it, they collapse into horizontal bars in a
8
+ vertical stack.
9
+
10
+ **Strict constraints:**
11
+ 1. Each wm-progress-indicator must have EXACTLY TWO wm-progress-slice children -- one for
12
+ the "complete" state and one for the "incomplete" state.
13
+ 2. This component is ONLY suitable for binary completion tracking. For more than two states,
14
+ general comparisons, composition breakdowns, or distributions, use wm-chart,
15
+ wm-chart-bar, or wm-chart-column.
16
+
17
+ **Variants / types:**
18
+
19
+ - The `wmProgressMonitorModeChange` event fires once on load and again whenever the layout
20
+ switches between `"doughnut"` and `"bar"`. Listen to it to synchronize any external UI
21
+ that depends on the current layout mode.
22
+ - `group-legend` is only shown in bar mode. Provide two comma-separated keys in
23
+ complete/incomplete order (e.g. `"Completed,Not Completed"`). Keys cannot contain commas.
24
+
25
+ **Props:**
26
+ - `bar-labels-width` -- CSS width of the indicator labels when in bar layout mode (e.g. `"180px"`).
27
+ - `breakpoint` -- Controls when indicators switch between doughnut (horizontal row) and bar
28
+ (vertical stack) layouts. Accepts a unit-less number (minimum number of indicators to
29
+ show side-by-side -- e.g. `4` -> 1200 px) or an exact pixel value (e.g. `"900px"`).
30
+ Defaults to the sum of all indicator widths -- the component tries to fit all on one row
31
+ and collapses to bars when it cannot.
32
+ - `group-legend` -- Two comma-separated legend keys in complete/incomplete order, displayed only
33
+ in bar layout mode (e.g. `"Completed,Not Completed"`). Keys cannot contain commas.
34
+
35
+ **Events:**
36
+ - `wmProgressMonitorModeChange`
37
+
38
+ **Code example:**
39
+
40
+ _Progress monitor_
41
+
42
+ ```html
43
+ <wm-progress-monitor group-legend="Completed,Not Completed">
44
+ <wm-progress-indicator label="Biology">
45
+ <wm-progress-slice legend="Completed" amount="200"
46
+ popover-title="200 students" popover-text="Completed all requirements"></wm-progress-slice>
47
+ <wm-progress-slice legend="Not Completed" amount="100"
48
+ popover-title="100 students" popover-text="Have not completed all requirements"></wm-progress-slice>
49
+ </wm-progress-indicator>
50
+ </wm-progress-monitor>
51
+ ```
52
+
53
+ _Progress monitor_
54
+
55
+ ```react
56
+ // wmProgressMonitorModeChange fires on load and whenever the layout switches.
57
+ // event.detail is "doughnut" | "bar".
58
+ const [layoutMode, setLayoutMode] = useState("");
59
+
60
+ <WmProgressMonitor
61
+ groupLegend="Completed,Not Completed"
62
+ onWmProgressMonitorModeChange={(e) => setLayoutMode(e.detail)}
63
+ >
64
+ <WmProgressIndicator label="Biology">
65
+ <WmProgressSlice legend="Completed" amount="200"
66
+ popoverTitle="200 students" popoverText="Completed all requirements" />
67
+ <WmProgressSlice legend="Not Completed" amount="100"
68
+ popoverTitle="100 students" popoverText="Have not completed all requirements" />
69
+ </WmProgressIndicator>
70
+ <WmProgressIndicator label="English">
71
+ <WmProgressSlice legend="Completed" amount="160"
72
+ popoverTitle="160 students" popoverText="Completed all requirements" />
73
+ <WmProgressSlice legend="Not Completed" amount="40"
74
+ popoverTitle="40 students" popoverText="Have not completed all requirements" />
75
+ </WmProgressIndicator>
76
+ </WmProgressMonitor>
77
+ ```
78
+
79
+ _Custom breakpoint_
80
+
81
+ ```html
82
+ <wm-progress-monitor breakpoint="600px" group-legend="Done,Pending">
83
+ <!-- indicators -->
84
+ </wm-progress-monitor>
85
+ ```
86
+
87
+ _Custom breakpoint_
88
+
89
+ ```react
90
+ <WmProgressMonitor breakpoint="600px" groupLegend="Done,Pending">
91
+ {/* indicators *\/}
92
+ </WmProgressMonitor>
93
+ ```
@@ -0,0 +1,41 @@
1
+ ### Progress Slice
2
+ - **Element:** `<wm-progress-slice>`
3
+ - **Status:** stable
4
+
5
+ **Purpose:** Data slice for a wm-progress-indicator. Represents one state (complete or incomplete) in
6
+ a binary progress chart. Always used as a direct child of wm-progress-indicator.
7
+
8
+ Each wm-progress-indicator must contain EXACTLY TWO wm-progress-slice elements.
9
+
10
+ **Variants / types:**
11
+
12
+ - The first slice is treated as the "complete" state and the second as the "incomplete"
13
+ state for color and layout purposes.
14
+ - Use `popover-title`, `popover-text`, and `popover-button-text` to surface additional
15
+ context when the segment is focused or clicked.
16
+
17
+ **Props:**
18
+ - `amount` -- Numeric value for this slice as a string.
19
+ - `legend` -- Label for this slice in the legend and popovers.
20
+ - `popover-button-text` -- Label for the action button in the data popover. When set, fires
21
+ `wmProgressIndicatorButtonTriggered` when clicked.
22
+ - `popover-text` -- Body text shown in the data popover when this segment is focused or clicked.
23
+ - `popover-title` -- Title text shown in the data popover when this segment is focused or clicked.
24
+
25
+ **Code example:**
26
+
27
+ _Complete/incomplete pair_
28
+
29
+ ```html
30
+ <wm-progress-slice legend="Completed" amount="200"
31
+ popover-title="200 students" popover-text="Completed all requirements"></wm-progress-slice>
32
+ <wm-progress-slice legend="Not Completed" amount="100"></wm-progress-slice>
33
+ ```
34
+
35
+ _Complete/incomplete pair_
36
+
37
+ ```react
38
+ <WmProgressSlice legend="Completed" amount="200"
39
+ popoverTitle="200 students" popoverText="Completed all requirements" />
40
+ <WmProgressSlice legend="Not Completed" amount="100" />
41
+ ```
@@ -0,0 +1,157 @@
1
+ ### Search
2
+ - **Element:** `<wm-search>`
3
+ - **Status:** stable
4
+
5
+ **Purpose:** Search input for filtering data by query. Two variants: `'basic'` for simple text
6
+ filtering, and `'find'` which adds prev/next result navigation buttons, a result count
7
+ ("x of y results"), and a keyboard-accessible "jump to result" link. The component does
8
+ not filter data itself -- it exposes the user's query and result position via events and
9
+ properties for the application to handle.
10
+
11
+ **When to use:**
12
+
13
+ - **Instantly filtering a visible dataset as the user types** -- use the basic variant when the user is narrowing down a list, table, or set of cards and expects the content to respond immediately to their query. Ideal for smaller datasets where results update without performance concerns.
14
+ - **Locating and stepping through matches within a page or document** -- when the user needs to jump between individual matches (like a browser's find function), use the find variant, which provides previous/next navigation and an "x of y results" count.
15
+ - **Including search as part of a filter toolbar** -- Search is a valid data input for toolbar and side panel filter patterns when users have a clear idea of what they're looking for and the dataset is large enough that browsing alone is not practical.
16
+ - **Combining search with other filter inputs** -- Search pairs naturally with dropdowns, date pickers, and tag inputs in a toolbar or side panel; it narrows by text while other inputs narrow by category, date, or attribute simultaneously.
17
+
18
+ **Do not use for:**
19
+
20
+ - **Collecting a stored form value** -- Search is not a form input; it filters or locates content dynamically. If the user is typing a value to be saved as data (a name, identifier, or description), use wm-input instead.
21
+ - **Very large datasets with the basic variant without considering performance** -- instant filtering for large datasets may cause performance issues; consider a batch-apply approach with an explicit apply action instead.
22
+ - **Exploratory filtering where users do not have a specific target** -- Search is best when the user has a clear idea of what they want; for browsing by category or attribute, dropdowns and selects are more appropriate.
23
+
24
+ **Variants / types:**
25
+
26
+ - `search-type="basic"` -- simple filter that updates results in real time as the user types
27
+ - `search-type="find"` -- search-and-find with previous/next result navigation and a result count display; requires num-results, highlighted-id, and highlighted-name to be kept in sync
28
+
29
+ **Props:**
30
+ - `disabled` -- Disables the input, preventing all interaction.
31
+ - `highlighted-id` -- `id` of the currently highlighted result element. Used as the `href` of the
32
+ jump-to-result skip-link. Required for the `find` variant for full accessibility. _(conditionally required: Required when `search-type="find"`.)_
33
+ - `highlighted-name` -- Visible text of the currently highlighted result. Appended to the screen
34
+ reader announcement after `wmSearchBrowseResults` fires. Required for the `find` variant
35
+ for full accessibility. _(conditionally required: Required when `search-type="find"`.)_
36
+ - `label` -- Accessible label for the `<input>` element. Required even when not visually
37
+ displayed. May match the placeholder text.
38
+ - `num-results` -- Number of results matching the current query. Update this prop after
39
+ filtering to display "x of y results" (find variant) and announce the count to screen
40
+ readers.
41
+ - `placeholder` -- Placeholder text displayed inside the empty input.
42
+ - `search-type` -- Selects the search variant. `'basic'` renders a simple text input with a
43
+ result count. `'find'` adds prev/next navigation buttons and a jump-to-result skip-link.
44
+ - `value` -- The current text typed by the user. Readable by the application at any time.
45
+
46
+ **Events:**
47
+ - `wmSearchBrowseResults`
48
+ - `wmSearchValueChanged`
49
+
50
+ **Methods:**
51
+ - `updateValue(value: string) => Promise<void>`
52
+
53
+ **Accessibility:**
54
+
55
+ - `label` sets the `aria-label` on the underlying `<input>` -- it is required even when
56
+ the label text is not visually displayed.
57
+ - An `aria-live` region announces the result count after each input change and after
58
+ prev/next navigation in the `find` variant.
59
+ - In the `find` variant, `highlighted-id` is used as the `href` of the jump-to-result
60
+ skip-link that appears while the user is tabbing.
61
+ - **Keyboard:** - **Tab**: Advances focus through the input and, in the `find` variant, the prev/next
62
+ buttons and the jump-to-result skip-link (visible only when tabbing with results present).
63
+ - **Shift+Tab**: Moves focus backward through the same elements.
64
+ - **Enter / Space**: Activates the focused prev/next buttons in the `find` variant.
65
+
66
+ **Related components:**
67
+
68
+ - `<wm-input>` -- if the user is typing a value to store as form data rather than to filter visible content, use Input; Search has no form submission semantics.
69
+ - `<wm-select>` with search property -- if the user is searching within a bounded dropdown list of options to make a selection, use Select's built-in search; `<wm-search>` is for filtering page-level content, not for narrowing selectable options.
70
+ - `<wm-tag-input>` -- if the user needs to search and then commit multiple selected values as discrete tags, Tag Input combines search-style filtering with multi-value selection; `<wm-search>` alone has no concept of committed selected values.
71
+
72
+ **Code example:**
73
+
74
+ _Basic search_
75
+
76
+ ```html
77
+ <wm-search label="Filter courses" placeholder="Search courses..."></wm-search>
78
+ ```
79
+
80
+ _Basic search_
81
+
82
+ ```react
83
+ // wmSearchValueChanged fires on blur only -- use a native input event listener via ref
84
+ // for per-keystroke filtering. el.value reflects the current typed string.
85
+ const basicRef = useRef(null);
86
+ const [query, setQuery] = useState("");
87
+
88
+ useEffect(() => {
89
+ const el = basicRef.current;
90
+ const handler = () => setQuery(el.value);
91
+ el.addEventListener("input", handler);
92
+ return () => el.removeEventListener("input", handler);
93
+ }, []);
94
+
95
+ const filtered = items.filter((c) => c.toLowerCase().includes(query.toLowerCase()));
96
+
97
+ <WmSearch ref={basicRef} label="Filter courses" placeholder="Search courses..."
98
+ numResults={filtered.length} />
99
+ ```
100
+
101
+ _Search and find variant_
102
+
103
+ ```html
104
+ <wm-search
105
+ search-type="find"
106
+ label="Find in page"
107
+ placeholder="Find..."
108
+ num-results="5"
109
+ highlighted-id="result-1"
110
+ highlighted-name="First result">
111
+ </wm-search>
112
+ ```
113
+
114
+ _Search and find variant_
115
+
116
+ ```react
117
+ // The find variant navigates through matched results only.
118
+ // On input: filter items, set numResults, and highlight the first match.
119
+ // On wmSearchBrowseResults: use e.detail.position (1-based) to index into the filtered list.
120
+ // highlightedId must match the id of the corresponding DOM element.
121
+ // The component does not filter -- filtering logic is entirely the application's responsibility.
122
+ const findRef = useRef(null);
123
+ const [highlightedId, setHighlightedId] = useState("");
124
+ const [highlightedName, setHighlightedName] = useState("");
125
+ const [numFindResults, setNumFindResults] = useState(0);
126
+ const toId = (name) => name.toLowerCase().replace(/\s+/g, "-");
127
+ const filterItems = (value) =>
128
+ !value ? [] : items.filter((c) => c.toLowerCase().includes(value.toLowerCase()));
129
+
130
+ useEffect(() => {
131
+ const el = findRef.current;
132
+ const handler = () => {
133
+ const results = filterItems(el.value);
134
+ setNumFindResults(results.length);
135
+ if (results.length) { setHighlightedId(toId(results[0])); setHighlightedName(results[0]); }
136
+ else { setHighlightedId(""); setHighlightedName(""); }
137
+ };
138
+ el.addEventListener("input", handler);
139
+ return () => el.removeEventListener("input", handler);
140
+ }, []);
141
+
142
+ const handleBrowseResults = (e) => {
143
+ const results = filterItems(findRef.current.value);
144
+ const item = results[e.detail.position - 1];
145
+ if (item) { setHighlightedId(toId(item)); setHighlightedName(item); }
146
+ };
147
+
148
+ <WmSearch ref={findRef} searchType="find" label="Find result" placeholder="Find..."
149
+ numResults={numFindResults} highlightedId={highlightedId} highlightedName={highlightedName}
150
+ onWmSearchBrowseResults={handleBrowseResults} />
151
+ {items.map((c) => (
152
+ <li key={c} id={toId(c)}
153
+ style={{ background: highlightedId === toId(c) ? "lightyellow" : "transparent" }}>
154
+ {c}
155
+ </li>
156
+ ))}
157
+ ```
@@ -0,0 +1,148 @@
1
+ ### Select
2
+ - **Element:** `<wm-select>`
3
+ - **Status:** stable
4
+
5
+ **Purpose:** Dropdown list of options that allows single or multi-select. Functionally similar to the
6
+ native HTML `<select>` element but with Ripple styling and richer features including
7
+ multiselect, search filtering, and a Select All control. Composed of a parent wm-select
8
+ element and wm-option children.
9
+
10
+ **When to use:**
11
+
12
+ - **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.
13
+ - **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.
14
+ - **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.
15
+ - **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.
16
+
17
+ **Do not use for:**
18
+
19
+ - **Categorized options** -- if the option set has a meaningful group structure, use wm-nested-select instead; Select only supports a single flat list.
20
+ - **Selecting an option that triggers an action** -- if selecting an item should immediately execute something, use wm-action-menu's selector variant, not Select.
21
+ - **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.
22
+ - **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 "--").
23
+
24
+ **Variants / types:**
25
+
26
+ _None documented_
27
+
28
+ **Props:**
29
+ - `all-selected-message` -- Text displayed in the trigger button in multiselect mode when every option
30
+ is selected.
31
+ - `disabled` -- Disables the entire select component, preventing all interaction.
32
+ - `error-message` -- Puts the component in an error state and displays this message beneath the
33
+ trigger button. Use for form validation feedback.
34
+ - `info` -- Informational hint text rendered beneath the dropdown button. Use for
35
+ supporting instructions or constraints.
36
+ - `label` -- Accessible label for the dropdown. Required even when `label-position` is
37
+ `"none"` -- used as the ARIA accessible name.
38
+ - `label-position` -- Position of the label relative to the dropdown button. `"none"` hides the
39
+ label visually but keeps it accessible via ARIA.
40
+ - `max-height` -- Overrides the maximum height of the options list. Accepts any valid CSS
41
+ length value (e.g. `"20rem"`, `"300px"`).
42
+ - `multiple` -- Enables multiselect mode, allowing more than one option to be selected
43
+ simultaneously.
44
+ - `placeholder` -- Text displayed in the trigger button in multiselect mode when no options are
45
+ selected. Not applicable in single-select mode -- use a null-value first option instead.
46
+ - `required-field` -- Displays a required-field asterisk (*) next to the label.
47
+ - `search` -- Adds a search input inside the dropdown that filters visible options by label
48
+ text. Compatible with both single and multiselect modes. Best with 50 or fewer options.
49
+ - `search-placeholder` -- Placeholder text displayed inside the search input when `search` is enabled.
50
+ - `select-all` -- Adds a "Select All" / "Deselect All" toggle at the top of the dropdown.
51
+ Has no effect unless `multiple` is also set.
52
+
53
+ **Events:**
54
+ - `wmSelectAllDeselected`
55
+ - `wmSelectAllSelected`
56
+ - `wmSelectBlurred`
57
+ - `wmSelectDidLoad`
58
+
59
+ **Accessibility:**
60
+
61
+ - `label` is required even when `label-position` is `"none"` -- it is used as the dropdown's
62
+ ARIA accessible name.
63
+ - The dropdown renders with `role="listbox"`. Each wm-option renders with `role="option"`.
64
+ - `required-field` renders a visible asterisk; the ARIA required constraint is communicated
65
+ via the label rather than `aria-required` because the listbox is in a sub-component.
66
+ - Validation errors are announced via an `aria-live` region when `error-message` changes.
67
+ - **Keyboard:** - **Closed button**: Space / Enter / Arrow Down opens the dropdown and focuses the first
68
+ option; Arrow Up opens and focuses the last option.
69
+ - **Open dropdown**: Arrow Up / Down navigate options; Home / End jump to first / last;
70
+ typing a letter jumps to the first matching option.
71
+ - **Single-select**: Enter / Space / click selects and closes.
72
+ - **Multi-select**: Enter / Space / click toggles selection; Tab or Escape closes.
73
+ - **Shift+Tab** (from options): Closes and returns focus to the trigger button.
74
+
75
+ **Related components:**
76
+
77
+ - `<wm-nested-select>` -- if the options have a two-level category structure, use Nested Select; if they are a single flat list, use Select.
78
+ - `<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.
79
+ - `<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.
80
+
81
+ **Code example:**
82
+
83
+ _Single-select_
84
+
85
+ ```html
86
+ <wm-select label="Program">
87
+ <wm-option selected>Select a program</wm-option>
88
+ <wm-option>Biology</wm-option>
89
+ <wm-option>English</wm-option>
90
+ </wm-select>
91
+ ```
92
+
93
+ _Single-select_
94
+
95
+ ```react
96
+ const [program, setProgram] = useState('');
97
+
98
+ // event.detail is the selected HTMLWmOptionElement
99
+ const handleSelect = (event) => {
100
+ setProgram(event.detail.value ?? event.detail.textContent);
101
+ };
102
+
103
+ <WmSelect label="Program" onWmOptionSelected={handleSelect}>
104
+ <WmOption selected>Select a program</WmOption>
105
+ <WmOption value="bio">Biology</WmOption>
106
+ <WmOption value="eng">English</WmOption>
107
+ </WmSelect>
108
+ ```
109
+
110
+ _Multi-select with search and Select All_
111
+
112
+ ```html
113
+ <wm-select label="Programs" multiple search select-all
114
+ placeholder="Select programs">
115
+ <wm-option value="bio">Biology</wm-option>
116
+ <wm-option value="eng">English</wm-option>
117
+ </wm-select>
118
+ ```
119
+
120
+ _Multi-select with search and Select All_
121
+
122
+ ```react
123
+ const [selected, setSelected] = useState([]);
124
+
125
+ // event.detail is the HTMLWmOptionElement that was selected or deselected
126
+ const handleSelect = (event) => {
127
+ const value = event.detail.value ?? event.detail.textContent;
128
+ setSelected((prev) => [...prev, value]);
129
+ };
130
+
131
+ const handleDeselect = (event) => {
132
+ const value = event.detail.value ?? event.detail.textContent;
133
+ setSelected((prev) => prev.filter((v) => v !== value));
134
+ };
135
+
136
+ <WmSelect
137
+ label="Programs"
138
+ multiple={true}
139
+ search={true}
140
+ selectAll={true}
141
+ placeholder="Select programs"
142
+ onWmOptionSelected={handleSelect}
143
+ onWmOptionDeselected={handleDeselect}
144
+ >
145
+ <WmOption value="bio">Biology</WmOption>
146
+ <WmOption value="eng">English</WmOption>
147
+ </WmSelect>
148
+ ```