@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,139 @@
1
+ ### Timepicker
2
+ - **Element:** `<wm-timepicker>`
3
+ - **Status:** stable
4
+
5
+ **Purpose:** Time input that lets users type a time or pick one from a dropdown list of 15-minute
6
+ intervals. Supports 12-hour and 24-hour display and provides `reformatTime` and
7
+ `isValidTime` utility methods. Use instead of native `<input type="time">`.
8
+
9
+ **When to use:**
10
+
11
+ - **Collecting a specific time of day in a form** -- Timepicker is the standard input, offering both typed entry for precision and a dropdown for browsing.
12
+ - **Pre-focusing the dropdown on a relevant time** -- when a default or suggested time exists (e.g., the start of a business day), use the preselected property in 24hr format to open the dropdown already positioned at that time.
13
+ - **Pairing with Datepicker for a full date-and-time value** -- when a form requires both a date and a time of day, pair Timepicker with wm-datepicker to collect each value with its purpose-built input; Timepicker handles the time portion only.
14
+
15
+ **Do not use for:**
16
+
17
+ - **Collecting a date with no time component** -- if the value is a date only, use wm-datepicker alone; adding Timepicker implies a time dimension that may not exist in the data.
18
+ - **Plain text entry for a time value** -- a plain wm-input offers no time validation, no format guidance, no dropdown for browsing, and no reformatTime or isValidTime utilities; whenever a time of day is being collected, Timepicker is always the correct component.
19
+
20
+ **Variants / types:**
21
+
22
+ _None documented_
23
+
24
+ **Props:**
25
+ - `disabled` -- Disables the timepicker, preventing all interaction.
26
+ - `error-message` -- Puts the component in an error state and displays this message below the
27
+ input.
28
+ - `label` -- Accessible label for the input. Required even when `label-position="none"`.
29
+ - `label-position` -- Controls label placement. `'none'` hides the label visually but keeps it
30
+ accessible.
31
+ - `preselected` -- The time the dropdown scrolls to and focuses when opened, in 24-hour format
32
+ (e.g. `'14:30'`). Falls back to parsing `value`; defaults to `'09:00'` if unparseable.
33
+ - `required-field` -- Displays a required-field asterisk next to the label.
34
+ - `value` -- The time displayed in the input field. Updated as the user types. Can also
35
+ be set programmatically by the application.
36
+
37
+ **Events:**
38
+ - `wmTimepickerInputBlurred`
39
+ - `wmTimepickerTimeSelected`
40
+
41
+ **Methods:**
42
+ - `isValidTime(input: string) => Promise<boolean>`
43
+ - `reformatTime(format: "12" | "24", time: TimeFormat12 | TimeFormat24) => Promise<string>`
44
+
45
+ **Accessibility:**
46
+
47
+ - `label` sets the accessible name on the input; required even when `label-position="none"`.
48
+ - Error messages are announced via an `aria-live` region.
49
+ - **Keyboard:** **Input field:**
50
+ - **Arrow Down / Arrow Up**: Open the dropdown focused on the nearest time interval.
51
+
52
+ **Dropdown button:**
53
+ - **Enter / Space**: Open the dropdown.
54
+
55
+ **Dropdown list:**
56
+ - **Arrow Down / Arrow Up**: Move focus to the next/previous option; wraps at both ends.
57
+ - **Home / End**: Move focus to the first/last option.
58
+ - **Enter / Space**: Select the focused time and close the dropdown.
59
+ - **Tab**: Close the dropdown and advance focus (without selecting).
60
+ - **Escape**: Close the dropdown without selecting.
61
+
62
+ **Related components:**
63
+
64
+ - `<wm-datepicker>` -- if the value is a date rather than a time, use Datepicker; when both are needed, the two should be paired as separate inputs rather than combined into one.
65
+ - `<wm-input>` -- a plain Input has no time-specific behavior; whenever the value being collected is a time of day, Timepicker is always the right choice over a generic text field.
66
+ - `<wm-select>` -- if the user is choosing from a small, fixed list of named time slots or periods (e.g., "Morning", "Afternoon", "Evening") rather than a precise time of day, Select may be more appropriate; Timepicker is for collecting an actual clock time.
67
+
68
+ **Code example:**
69
+
70
+ _Basic timepicker_
71
+
72
+ ```html
73
+ <wm-timepicker label="Start time"></wm-timepicker>
74
+ ```
75
+
76
+ _Basic timepicker_
77
+
78
+ ```react
79
+ // wmTimepickerTimeSelected emits { time } in 24hr format.
80
+ // Call reformatTime and write back to value so the input displays the result.
81
+ // handleInputBlur validates free-form typed input on blur using isValidTime.
82
+ // NOTE: the outer factory function must NOT be async -- only the inner handler should be.
83
+ const startRef = useRef(null);
84
+ const [startValue, setStartValue] = useState("");
85
+ const [startError, setStartError] = useState("");
86
+
87
+ const handleTimeSelected = (ref, setValue, setError) => async (e) => {
88
+ const time12 = await ref.current.reformatTime("12", e.detail.time);
89
+ setError("");
90
+ setValue(time12);
91
+ };
92
+
93
+ const handleInputBlur = (ref, value, setValue, setError) => async () => {
94
+ if (!value) return;
95
+ const valid = await ref.current.isValidTime(value);
96
+ if (valid) {
97
+ const time12 = await ref.current.reformatTime("12", value);
98
+ setError("");
99
+ setValue(time12);
100
+ } else {
101
+ setError("Please enter a valid time.");
102
+ }
103
+ };
104
+
105
+ <WmTimepicker
106
+ ref={startRef}
107
+ label="Start time"
108
+ value={startValue}
109
+ errorMessage={startError}
110
+ onWmTimepickerTimeSelected={handleTimeSelected(startRef, setStartValue, setStartError)}
111
+ onWmTimepickerInputBlurred={handleInputBlur(startRef, startValue, setStartValue, setStartError)}
112
+ />
113
+ ```
114
+
115
+ _With pre-selected time_
116
+
117
+ ```html
118
+ <wm-timepicker label="Meeting time" preselected="14:30" value="2:30 PM"></wm-timepicker>
119
+ ```
120
+
121
+ _With pre-selected time_
122
+
123
+ ```react
124
+ // preselected (24hr) controls where the dropdown focuses on open.
125
+ // value sets the initial display string in the input.
126
+ const meetingRef = useRef(null);
127
+ const [meetingValue, setMeetingValue] = useState("2:30 PM");
128
+ const [meetingError, setMeetingError] = useState("");
129
+
130
+ <WmTimepicker
131
+ ref={meetingRef}
132
+ label="Meeting time"
133
+ preselected="14:30"
134
+ value={meetingValue}
135
+ errorMessage={meetingError}
136
+ onWmTimepickerTimeSelected={handleTimeSelected(meetingRef, setMeetingValue, setMeetingError)}
137
+ onWmTimepickerInputBlurred={handleInputBlur(meetingRef, meetingValue, setMeetingValue, setMeetingError)}
138
+ />
139
+ ```
@@ -0,0 +1,92 @@
1
+ ### Toggletip
2
+ - **Element:** `<wm-toggletip>`
3
+ - **Status:** stable
4
+
5
+ **Purpose:** Toggletip button that shows a small informational panel when clicked. Two visual types:
6
+ `'info'` renders an info icon button; `'ai'` renders an animated AI sparkle icon. The
7
+ panel content is provided via the `tooltip` prop and is announced to screen readers via
8
+ an `aria-live` region.
9
+
10
+ **When to use:**
11
+
12
+ - Use a Toggletip to surface a brief supplementary explanation on demand without cluttering the interface.
13
+ - **Explaining a concept or term inline** -- when a page contains terminology, metrics, or calculated values that users may not recognize, a Toggletip lets curious users get the definition without requiring everyone to read it by default.
14
+ - **Providing AI-related contextual information** -- when content or a control is AI-generated or AI-assisted, use toggletip-type="ai" to visually signal the AI context and explain what it means or how it was produced.
15
+ - **Adding help content to a standalone control** -- when the Toggletip is placed away from tight inline content (e.g., a section header or card), use target-size="large" to meet touch target size requirements and make it easier to tap on mobile.
16
+
17
+ **Do not use for:**
18
+
19
+ - **Describing what a button does when clicked** -- a tooltip on hover/focus describes button behavior; a Toggletip on click provides contextual information about content or a control. Using a Toggletip to describe button behavior is the wrong pattern.
20
+ - **Lengthy or rich content** -- if the explanation requires formatting, links, multiple paragraphs, or interactive content, it belongs in a Flyout or another container, not a Toggletip.
21
+ - **System messages, errors, or alerts** -- Toggletip is strictly a user-initiated help tool and should never be used to surface notifications that users might miss if they do not click the icon.
22
+
23
+ **Variants / types:**
24
+
25
+ - `toggletip-type="info"` -- standard information icon; use for general contextual help
26
+ - `toggletip-type="ai"` -- AI-branded icon; use when the explanation relates to AI-generated or AI-assisted content
27
+ - `target-size="small"` -- compact touch target for inline or dense contexts
28
+ - `target-size="large"` -- larger touch target for standalone placements or mobile contexts
29
+
30
+ **Props:**
31
+ - `label` -- Accessible label for the trigger button. Also shown as a hover/focus tooltip
32
+ while the panel is closed. Required for screen reader users.
33
+ - `target-size` -- Size of the trigger button icon. `'large'` satisfies WCAG 2.5.8 touch
34
+ target requirements.
35
+ - `toggletip-type` -- Visual style of the trigger icon. `'info'` shows an info icon; `'ai'` shows
36
+ an animated sparkle icon.
37
+ - `tooltip` -- Content displayed inside the toggletip panel when opened. Also announced
38
+ via an `aria-live` region when the panel opens. _(required)_
39
+ - `tooltip-position` -- Preferred opening direction for the panel. Auto-corrected if the panel would
40
+ overflow the viewport.
41
+
42
+ **Accessibility:**
43
+
44
+ - `label` sets the `aria-label` on the trigger button -- required even though the button
45
+ has a visual icon.
46
+ - The panel content is announced via `role="status"` / `aria-live="polite"` when opened,
47
+ and re-announced if the button is activated while the panel is already open.
48
+ - A hover/focus tooltip shows `"More information"` (info type) or `"Powered by AI"` (ai
49
+ type) while the panel is closed.
50
+ - **Keyboard:** - **Enter / Space**: Opens or toggles the toggletip panel.
51
+ - **Escape**: Closes the panel without propagating (will not close a parent modal).
52
+ - **Tab**: Closes the panel and advances focus to the next element.
53
+
54
+ **Related components:**
55
+
56
+ _None_
57
+
58
+ **Code example:**
59
+
60
+ _Info toggletip_
61
+
62
+ ```html
63
+ <wm-toggletip
64
+ label="More about this field"
65
+ tooltip="This field accepts ISO 8601 dates.">
66
+ </wm-toggletip>
67
+ ```
68
+
69
+ _Info toggletip_
70
+
71
+ ```react
72
+ <WmToggletip label="More about this field" tooltip="This field accepts ISO 8601 dates." />
73
+ ```
74
+
75
+ _AI toggletip_
76
+
77
+ ```html
78
+ <wm-toggletip
79
+ toggletip-type="ai"
80
+ label="AI-generated content"
81
+ tooltip="This summary was generated by AI and may contain errors.">
82
+ </wm-toggletip>
83
+ ```
84
+
85
+ _AI toggletip_
86
+
87
+ ```react
88
+ <WmToggletip
89
+ toggletipType="ai"
90
+ label="AI-generated content"
91
+ tooltip="This summary was generated by AI and may contain errors." />
92
+ ```
@@ -0,0 +1,129 @@
1
+ ### Uploader
2
+ - **Element:** `<wm-uploader>`
3
+ - **Status:** stable
4
+
5
+ **Purpose:** File upload component for attaching files. Composed of a trigger button and a list of
6
+ wm-file children. Two variants: `'select'` opens the browser file picker; `'drop'` adds a
7
+ drag-and-drop area. The component emits events when files are selected and when file
8
+ actions are triggered -- the application is responsible for validation, upload, and managing
9
+ the file list. Use wm-file-list instead when displaying files without uploading.
10
+
11
+ **When to use:**
12
+
13
+ - **Uploading files that will be stored and accessed later** -- when users need to attach supporting documents, evidence files, or other assets to a record (not to import data), Uploader is the right component; it is explicitly designed for file storage workflows, not data ingestion.
14
+ - **File upload is part of the user's primary workflow** -- use the drop variant when users frequently upload documents and benefit from a prominent drag-and-drop area; use the select variant when uploading is a secondary action and a compact button trigger is more appropriate.
15
+ - **Enforcing file type, size, or count constraints** -- when the upload has restrictions, use file-types, max-size, and max-files to communicate those constraints visibly to users; the component surfaces the constraints in the UI.
16
+ - **Providing per-file actions after upload** -- when users need to preview, download, or delete individual uploaded files, use file-actions on each wm-file child to configure which actions are available per file.
17
+
18
+ **Do not use for:**
19
+
20
+ - **Read-only file display** -- if no new files need to be uploaded and the user only needs to view, download, or delete existing files, use wm-file-list instead; Uploader adds unnecessary upload affordances when no upload action is required.
21
+ - **Full-page drop zone when multiple upload areas or competing page interactions exist** -- drop-area="page" is only appropriate when uploading is the singular primary action on that page.
22
+ - **Not keeping progress up to date on wm-file during upload** -- the progress property must be kept current during upload to ensure the progress bar renders correctly and screen readers receive accurate status announcements. This is mandatory, not optional.
23
+
24
+ **Variants / types:**
25
+
26
+ - `uploader-type="select"` -- a compact button trigger for file selection
27
+ - `uploader-type="drop"` -- a prominent drag-and-drop area
28
+ - `drop-area="component"` -- the drop zone is scoped to the component itself
29
+ - `drop-area="page"` -- the entire page acts as a drop zone; only appropriate when uploading is the singular primary action on the page
30
+
31
+ **Props:**
32
+ - `button-text` -- Label text on the upload trigger button, e.g. `'Attach files'`. Should
33
+ match the action verb used in any surrounding instructions. _(required)_
34
+ - `drop-area` -- Scope of the drop zone when `uploader-type="drop"`. `'component'` limits
35
+ the drop area to the component; `'page'` expands it to cover the full page while dragging.
36
+ - `error-message` -- Puts the uploader in an error state with this message (e.g. `'Please add at
37
+ least one file'`).
38
+ - `file-types` -- Space-separated file extensions displayed to the user as accepted types
39
+ (e.g. `'pdf docx xlsx'`). Actual validation must be handled in the
40
+ `wmUploaderFilesSelected` handler.
41
+ - `icon` -- Icon displayed on the upload button. Accepts the same formats as wm-button:
42
+ `'#icon-name'` for a Ripple icon or `'/path/to/file.svg#symbol-id'` for a local SVG
43
+ sprite. _(required)_
44
+ - `label` -- Optional label displayed above the upload button. Use when the uploader is
45
+ required (pair with `required-field`) or needs a descriptive heading.
46
+ - `max-files` -- Maximum number of files displayed to the user. Disables the upload button
47
+ when reached. Validation must be handled in the application.
48
+ - `max-size` -- Maximum file size displayed to the user (e.g. `'100 MB'`). Validation must
49
+ be handled in the `wmUploaderFilesSelected` handler.
50
+ - `required-field` -- Displays a required-field asterisk next to the label. Must be used together
51
+ with the `label` prop.
52
+ - `show-info` -- Which metadata to show for each wm-file child in the list.
53
+ - `uploader-type` -- File selection method. `'select'` opens the browser file picker; `'drop'`
54
+ adds a drag-and-drop area.
55
+
56
+ **Events:**
57
+ - `wmUploaderFilesSelected`
58
+
59
+ **Accessibility:**
60
+
61
+ - The number of in-progress uploads and aggregate upload percentage are announced via
62
+ `aria-live` regions.
63
+ - Deletion focus is managed automatically: moves to the next file, then the previous file,
64
+ then the upload button.
65
+ - The `progress` prop on wm-file children must be kept up to date for proper screen reader
66
+ accessibility.
67
+
68
+ **Related components:**
69
+
70
+ - `<wm-file-list>` -- if no new files need to be uploaded and the use case is purely displaying and acting on existing files, use File List; Uploader is only warranted when the user needs to add new files. The two are commonly paired: Uploader to add, File List to display files from a different source.
71
+ - `<wm-button>` with a custom file input -- Uploader handles progress tracking, error states, per-file actions, accessibility, and responsive behavior that a bare button cannot; always prefer Uploader for file upload workflows.
72
+
73
+ **Code example:**
74
+
75
+ _Select variant_
76
+
77
+ ```html
78
+ <wm-uploader button-text="Attach files" icon="#attach" label="Project documents">
79
+ <wm-file id="f1" name="proposal" type="pdf" size="1.2 MB"></wm-file>
80
+ </wm-uploader>
81
+ ```
82
+
83
+ _Select variant with file list management_
84
+
85
+ ```react
86
+ // wmUploaderFilesSelected emits a FileList -- use Array.from() to iterate.
87
+ // Extract name (without extension) and type (extension only) for each wm-file child.
88
+ // wmFileDelete fires on the wm-file element; use e.target.id to identify which to remove.
89
+ // showInfo on the uploader propagates automatically to all wm-file children.
90
+ let nextId = 1;
91
+ const [files, setFiles] = useState([]);
92
+
93
+ const handleFilesSelected = (e) => {
94
+ const newFiles = Array.from(e.detail).map((file) => {
95
+ const lastDot = file.name.lastIndexOf(".");
96
+ const name = lastDot > 0 ? file.name.slice(0, lastDot) : file.name;
97
+ const type = lastDot > 0 ? file.name.slice(lastDot + 1) : "file";
98
+ return { id: String(nextId++), name, type, size: `${(file.size / 1024).toFixed(1)} KB` };
99
+ });
100
+ setFiles((prev) => [...prev, ...newFiles]);
101
+ };
102
+
103
+ const handleDelete = (e) => {
104
+ const id = e.target.id;
105
+ setFiles((prev) => prev.filter((f) => f.id !== id));
106
+ };
107
+
108
+ <WmUploader buttonText="Attach files" icon="#attach" label="Project documents" showInfo="size"
109
+ onWmUploaderFilesSelected={handleFilesSelected}>
110
+ {files.map((f) => (
111
+ <WmFile key={f.id} id={f.id} name={f.name} type={f.type} size={f.size}
112
+ onWmFileDelete={handleDelete} />
113
+ ))}
114
+ </WmUploader>
115
+ ```
116
+
117
+ _Drop variant_
118
+
119
+ ```html
120
+ <wm-uploader uploader-type="drop" button-text="Upload files" icon="#upload">
121
+ </wm-uploader>
122
+ ```
123
+
124
+ _Drop variant_
125
+
126
+ ```react
127
+ <WmUploader uploaderType="drop" buttonText="Upload files" icon="#upload"
128
+ onWmUploaderFilesSelected={handleFilesSelected} />
129
+ ```
@@ -0,0 +1,6 @@
1
+ ### Wrapper
2
+ - **Element:** `<wm-wrapper>`
3
+ - **Status:** stable
4
+
5
+ **Events:**
6
+ - `wmWrapperLoaded`
@@ -0,0 +1,111 @@
1
+ # `wm-action-menu`
2
+
3
+ Dropdown interface that displays a list of action items. When closed it shows a text
4
+ button, icon button, or selector box depending on action-menu-type. Selecting an item
5
+ executes an action and closes the menu. Composed of a parent wm-action-menu element and
6
+ one or more wm-menuitem children.
7
+
8
+ ## Props
9
+
10
+ | Name | Attribute | Type | Default | Required | Description |
11
+ | ---- | --------- | ---- | ------- | -------- | ----------- |
12
+ | `actionMenuType` | `action-menu-type` | `"icon" \| "selector" \| "selector-primary" \| "text"` | `"icon"` | | |
13
+ | `buttonText` | `button-text` | `string \| undefined` | | when action-menu-type is 'text', 'selector', or 'selector-primary' | |
14
+ | `darkMode` | `dark-mode` | `boolean \| undefined` | | | |
15
+ | `disabled` | `disabled` | `boolean` | `false` | | |
16
+ | `labelForIdenticalButtons` | `label-for-identical-buttons` | `string \| undefined` | | | |
17
+ | `tooltip` | `tooltip` | `string \| undefined` | | when action-menu-type is 'icon' | |
18
+ | `tooltipPosition` | `tooltip-position` | `"bottom" \| "bottom-left" \| "bottom-right" \| "left" \| "right" \| "top" \| "top-left" \| "top-right" \| undefined` | | | |
19
+
20
+ ## Events
21
+
22
+ | Event | Detail | Bubbles | Description |
23
+ | ----- | ------ | ------- | ----------- |
24
+ | `menuLoaded` | `any` | ✓ | |
25
+ | `wmActionMenuLoaded` | `any` | ✓ | |
26
+
27
+ ## Slots
28
+
29
+ | Name | Description |
30
+ | ---- | ----------- |
31
+ | _(default)_ | One or more wm-menuitem elements. |
32
+
33
+ ## Used By
34
+
35
+ - `wm-file`
36
+
37
+ # wm-action-menu
38
+
39
+ ## Purpose
40
+
41
+ A dropdown component that groups multiple contextual actions behind a single trigger (an icon, text button, or selector) so users can choose and execute one action at a time without cluttering the interface with individual buttons.
42
+
43
+ ---
44
+
45
+ ## When to Use
46
+
47
+ - **Offering several contextual actions on a row or item** -- when a record in a table or list has multiple possible actions (edit, duplicate, archive, delete), use Action Menu to collapse them behind a single icon trigger rather than rendering a row of buttons.
48
+ - When some actions are secondary or infrequent enough that they do not warrant a persistent button, use a text or icon Action Menu to surface them on demand.
49
+ - **Grouping actions in a space-constrained context** -- when screen real estate is tight (toolbars, card footers, dense data tables), use an icon Action Menu to keep the UI clean while still making all actions reachable.
50
+
51
+ ---
52
+
53
+ ## Do Not Use For
54
+
55
+ - **A single action** -- if only one action is available, use wm-button directly; a menu that opens to reveal one item creates unnecessary friction.
56
+ - **Setting a form field value** -- if the purpose is to pick an option that persists as a form value, use wm-select instead; the selector type is for actions, not form inputs.
57
+ - **Binary decisions** -- if the user is choosing between exactly two opposing outcomes (approve/reject, yes/no), use wm-button with pairpositive and pairnegative; a dropdown is the wrong pattern for a binary choice.
58
+ - **Icon menus without a tooltip** -- the tooltip is required for icon triggers and is the only thing that tells users and screen readers what the menu is for; omitting it produces an unlabeled control that fails accessibility.
59
+
60
+ ---
61
+
62
+ ## Related Components
63
+
64
+ - `<wm-button>` -- if there is one specific, known action to take, use Button; if there are multiple actions to choose from, use Action Menu.
65
+ - `<wm-select>` -- if the user is selecting a value to store or filter by, use Select; if selecting an option immediately triggers an action, use Action Menu's selector type.
66
+ - `<wm-nested-select>` -- if the options are hierarchical and the result is a selected value, use Nested Select; Action Menu does not support nested option structures.
67
+
68
+ ---
69
+
70
+ ## Accessibility
71
+
72
+ _Not documented_
73
+
74
+ ---
75
+
76
+ ## Variants / Types
77
+
78
+ - `action-menu-type="icon"` -- a single icon button trigger; requires tooltip for accessibility
79
+ - `action-menu-type="text"` -- a text button trigger; use button-text to set the label
80
+ - `action-menu-type="selector"` -- a selector-style trigger for action-driven option picking
81
+ - `action-menu-type="selector-primary"` -- a primary-weight selector trigger
82
+
83
+ ---
84
+
85
+ ## Props
86
+
87
+ - `buttonText` -- label text for the trigger button when using the text type
88
+ - `darkMode` -- enables dark mode styling
89
+ - `disabled` -- disables the trigger and prevents the menu from opening
90
+ - `labelForIdenticalButtons` -- provides screen readers with a more specific name when multiple Action Menus share the same label or icon
91
+ - `tooltip` -- required for icon triggers; announced by screen readers as the accessible name
92
+ - `tooltipPosition` -- controls where the tooltip appears relative to the trigger
93
+
94
+ ---
95
+
96
+ ## Events
97
+
98
+ - `wmActionMenuLoaded` -- fires when the menu finishes loading
99
+ - `menuLoaded` -- fires when the menu finishes loading
100
+
101
+ ---
102
+
103
+ ## Methods
104
+
105
+ - _None exposed_
106
+
107
+ ---
108
+
109
+ ## Code Example
110
+
111
+ *(to be filled in by developer)*
@@ -0,0 +1,137 @@
1
+ # `wm-button`
2
+
3
+ Interactive button element that triggers actions and workflows. Has seven visual
4
+ types plus AI variants.
5
+
6
+ ## Props
7
+
8
+ | Name | Attribute | Type | Default | Required | Description |
9
+ | ---- | --------- | ---- | ------- | -------- | ----------- |
10
+ | `ariaExpandedPassthrough` | `aria-expanded-passthrough` | `boolean \| undefined` | | | |
11
+ | `ariaLabelPassthrough` | `aria-label-passthrough` | `string \| undefined` | | | |
12
+ | `buttonType` | `button-type` | `"icononly" \| "icononly-ai" \| "navigational" \| "navigational-ai" \| "pairnegative" \| "pairpositive" \| "primary" \| "primary-ai" \| "secondary" \| "secondary-ai" \| "selector" \| "selector-primary" \| "textonly" \| "textonly-ai"` | `"secondary"` | | |
13
+ | `customBackground` | `custom-background` | `string \| undefined` | | | |
14
+ | `disabled` | `disabled` | `boolean` | `false` | | |
15
+ | `icon` | `icon` | `string \| undefined` | | when button-type is 'icononly' or 'navigational' (conditionallyRequired means that the prop is required, but only if the button-type is 'icononly' or 'navigational') | |
16
+ | `iconFlip` | `icon-flip` | `"horizontal" \| "vertical" \| undefined` | | | |
17
+ | `iconRotate` | `icon-rotate` | `number \| undefined` | | | |
18
+ | `iconSize` | `icon-size` | `string \| undefined` | | | |
19
+ | `isSubmit` | `is-submit` | `boolean` | `false` | | |
20
+ | `labelForIdenticalButtons` | `label-for-identical-buttons` | `string \| undefined` | | when multiple buttons on the same page share identical visible text or identical tooltips (conditionallyRequired means that the prop is required, but only if multiple buttons on the same page share identical visible text or identical tooltips) | |
21
+ | `permanentlyDelete` | `permanently-delete` | `boolean \| undefined` | `false` | | |
22
+ | `textWrap` | `text-wrap` | `boolean` | `true` | | |
23
+ | `tooltip` | `tooltip` | `string \| undefined` | | when button-type is 'icononly' or 'navigational' (conditionallyRequired means that the prop is required, but only if the button-type is 'icononly' or 'navigational') | |
24
+ | `tooltipPosition` | `tooltip-position` | `"bottom" \| "bottom-left" \| "bottom-right" \| "left" \| "right" \| "top" \| "top-left" \| "top-right"` | `"bottom-right"` | | |
25
+
26
+ ## Slots
27
+
28
+ | Name | Description |
29
+ | ---- | ----------- |
30
+ | _(default)_ | Button label text. Required for all types. For `icononly` and `navigational`
31
+ buttons, slotted text is not rendered visually but is used as the accessible name
32
+ when no `tooltip` or `label-for-identical-buttons` is provided. |
33
+
34
+ ## Used By
35
+
36
+ - `wm-file`
37
+ - `wm-flyout`
38
+ - `wm-line-chart`
39
+ - `wm-modal-footer`
40
+ - `wm-modal-header`
41
+ - `wm-modal-pss-footer`
42
+ - `wm-modal-pss-header`
43
+ - `wm-navigation`
44
+ - `wm-search`
45
+ - `wm-tab-list`
46
+
47
+ # wm-button
48
+
49
+ ## Purpose
50
+
51
+ Renders a consistently styled, accessible button that allows users to trigger actions or navigate, with seven visual types that signal the relative importance and nature of each action.
52
+
53
+ ---
54
+
55
+ ## When to Use
56
+
57
+ - **Confirming a primary workflow action** -- use button-type="primary" when one clear, preferred action should stand out on a page or form, such as saving settings or submitting a report.
58
+ - **Offering a secondary or cancel option alongside a primary action** -- use button-type="secondary" when pairing a less-preferred action next to a primary one, such as Cancel next to Save.
59
+ - **Approving or rejecting with equal weight** -- use pairpositive and pairnegative together when two opposing actions carry no preference, such as an approve/reject decision.
60
+ - **Triggering a destructive, irreversible action** -- use the permanently-delete prop when the user is about to take an action that cannot be undone.
61
+ - **Performing a compact, recognizable action without a label** -- use button-type="icononly" when space is tight and the icon is universally understood, such as edit or delete in a data table.
62
+ - **Completing an action and moving the user to a new context** -- use button-type="navigational" for buttons that both trigger an action and navigate, such as a back button in a flyout.
63
+
64
+ ---
65
+
66
+ ## Do Not Use For
67
+
68
+ - **Icon-only buttons when the icon is not universally recognized** -- use a primary or secondary button with a text label instead.
69
+ - **Destructive styling (permanently-delete) on routine or reversible deletions** -- reserve it for actions that truly cannot be undone.
70
+ - **Multiple primary buttons in the same section** -- there should ideally be only one per page or section.
71
+ - **Lists of contextual actions (edit, duplicate, archive, delete)** -- use wm-action-menu instead.
72
+
73
+ ---
74
+
75
+ ## Related Components
76
+
77
+ - `<wm-action-menu>` -- if the interaction triggers one of several contextual actions, use Action Menu; if there is one specific, known action, use Button.
78
+
79
+ ---
80
+
81
+ ## Accessibility
82
+
83
+ _Not documented_
84
+
85
+ ---
86
+
87
+ ## Variants / Types
88
+
89
+ - `button-type="primary"` -- the single preferred action on a page or form
90
+ - `button-type="secondary"` -- a supporting or cancel action paired with a primary
91
+ - `button-type="textonly"` -- a low-emphasis action with no button chrome
92
+ - `button-type="icononly"` -- a compact action identified solely by a universally recognized icon
93
+ - `button-type="navigational"` -- an action that also moves the user to a new context
94
+ - `button-type="selector"` -- a toggle-style selection button
95
+ - `button-type="selector-primary"` -- a primary-weight selection button
96
+ - `button-type="pairpositive"` -- the affirmative action in an equal-weight approve/reject pair
97
+ - `button-type="pairnegative"` -- the rejecting action in an equal-weight approve/reject pair
98
+ - `button-type="primary-ai"` -- primary variant for AI-generated or AI-assisted actions
99
+ - `button-type="secondary-ai"` -- secondary variant for AI context
100
+ - `button-type="textonly-ai"` -- text-only variant for AI context
101
+ - `button-type="icononly-ai"` -- icon-only variant for AI context
102
+ - `button-type="navigational-ai"` -- navigational variant for AI context
103
+
104
+ ---
105
+
106
+ ## Props
107
+
108
+ - `customBackground` -- overrides the background color; use only when a specific brand or contextual color is required
109
+ - `disabled` -- disables the button and prevents interaction
110
+ - `icon` -- icon to display; uses Ripple custom #kebab-case names (e.g. #show, #close), not Material Design names
111
+ - `iconFlip` -- flips the icon "horizontal" or "vertical"
112
+ - `iconRotate` -- rotates the icon by a number of degrees
113
+ - `iconSize` -- overrides the default icon size
114
+ - `isSubmit` -- renders the button as a form submit button
115
+ - `labelForIdenticalButtons` -- provides screen readers with a more specific label when multiple buttons share the same visible text
116
+ - `permanentlyDelete` -- applies destructive styling; use only for irreversible actions
117
+ - `textWrap` -- allows the button label to wrap to a second line
118
+ - `tooltip` -- required for icononly and navigational buttons; screen readers announce this as the accessible name
119
+ - `tooltipPosition` -- controls where the tooltip appears relative to the button
120
+
121
+ ---
122
+
123
+ ## Events
124
+
125
+ _None exposed_
126
+
127
+ ---
128
+
129
+ ## Methods
130
+
131
+ - _None exposed_
132
+
133
+ ---
134
+
135
+ ## Code Example
136
+
137
+ *(to be filled in by developer)*
@@ -0,0 +1,23 @@
1
+ # `wm-chart-bar`
2
+
3
+ Renders a horizontal bar chart for comparing values across nominal categories. Data and
4
+ configuration are set via JavaScript properties (`chart.config` and `chart.data`) -- not
5
+ HTML attributes. Supports single-color, discrete palette, semantic palette, and grouped bars.
6
+
7
+ **Preferred** over wm-chart's bar subtypes for all comparison and distribution use cases.
8
+ Use this component (or wm-chart-column) instead of `<wm-chart chart-type="bar*">`.
9
+
10
+ ## Props
11
+
12
+ | Name | Attribute | Type | Default | Required | Description |
13
+ | ---- | --------- | ---- | ------- | -------- | ----------- |
14
+ | `config` | `` | `undefined \| { label: string; showLabel: boolean; valueAxisLabel: string; categoryAxisLabel: string; printMode: boolean; printModeFormat: "amount" \| "percentage"; gridMax: number \| "auto"; sort?: "ascending" \| "descending" \| "none" \| undefined; showLegend?: "top" \| "bottom" \| "left" \| "right" \| "none" \| undefined; showGrid?: boolean \| undefined; subinfo?: string \| undefined; valueFormat?: "amount" \| "percentage" \| "none" \| undefined; colors?: string \| undefined; popoverTitle?: string \| undefined; popoverText?: string \| undefined; popoverButtonText?: string \| undefined; decimalPlaces?: number \| undefined; patternMode?: boolean \| undefined; }` | | | |
15
+ | `data` | `` | `ChartData[] \| undefined` | | | |
16
+ | `patternMode` | `pattern-mode` | `boolean \| undefined` | | | |
17
+ | `printMode` | `print-mode` | `boolean \| undefined` | | | |
18
+ | `subinfo` | `subinfo` | `string \| undefined` | | | |
19
+
20
+ ## Depends On
21
+
22
+ - `wm-chart-legend`
23
+ - `priv-chart-popover`
@@ -0,0 +1,26 @@
1
+ # `wm-chart-column`
2
+
3
+ Renders a vertical column chart for comparing values across nominal categories or showing
4
+ distribution across interval/ratio ranges. Data and configuration are set via JavaScript
5
+ properties (`chart.config` and `chart.data`) -- not HTML attributes. Supports single-color,
6
+ discrete palette, semantic palette, and grouped columns.
7
+
8
+ **Preferred** over wm-chart's bar subtypes for comparison and distribution use cases.
9
+ Use this component (or wm-chart-bar) instead of `<wm-chart chart-type="bar*">`. When
10
+ columns exceed available width, the chart scrolls horizontally.
11
+
12
+ ## Props
13
+
14
+ | Name | Attribute | Type | Default | Required | Description |
15
+ | ---- | --------- | ---- | ------- | -------- | ----------- |
16
+ | `config` | `` | `undefined \| { label: string; showLabel: boolean; valueAxisLabel: string; categoryAxisLabel: string; printMode: boolean; printModeFormat: "amount" \| "percentage"; gridMax: number \| "auto"; sort?: "ascending" \| "descending" \| "none" \| undefined; showLegend?: "top" \| "bottom" \| "left" \| "right" \| "none" \| undefined; showGrid?: boolean \| undefined; subinfo?: string \| undefined; valueFormat?: "amount" \| "percentage" \| "none" \| undefined; colors?: string \| undefined; popoverTitle?: string \| undefined; popoverText?: string \| undefined; popoverButtonText?: string \| undefined; decimalPlaces?: number \| undefined; patternMode?: boolean \| undefined; }` | | | |
17
+ | `data` | `` | `ChartData[] \| undefined` | | | |
18
+ | `patternMode` | `pattern-mode` | `boolean \| undefined` | | | |
19
+ | `printMode` | `print-mode` | `boolean \| undefined` | | | |
20
+ | `printWidth` | `print-width` | `string \| undefined` | | | |
21
+ | `subinfo` | `subinfo` | `string \| undefined` | | | |
22
+
23
+ ## Depends On
24
+
25
+ - `wm-chart-legend`
26
+ - `priv-chart-popover`