@watermarkinsights/ripple 0.0.1 → 0.1.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. package/dist/cjs/app-globals-3db2fdd3.js +103 -0
  2. package/dist/cjs/chartFunctions-0d47b1f4.js +906 -0
  3. package/dist/cjs/functions-761cb9f2.js +10694 -0
  4. package/dist/cjs/index-bb947bd5.js +1843 -0
  5. package/dist/cjs/index.cjs.js +2 -0
  6. package/dist/cjs/interfaces-33cd6161.js +82 -0
  7. package/dist/cjs/intl-9e9388a7.js +291 -0
  8. package/dist/cjs/loader.cjs.js +15 -0
  9. package/dist/cjs/priv-calendar.cjs.entry.js +580 -0
  10. package/dist/cjs/priv-chart-popover-old.cjs.entry.js +146 -0
  11. package/dist/cjs/priv-chart-popover_2.cjs.entry.js +204 -0
  12. package/dist/cjs/priv-navigator-button.cjs.entry.js +29 -0
  13. package/dist/cjs/priv-navigator-item.cjs.entry.js +35 -0
  14. package/dist/cjs/priv-option-list.cjs.entry.js +391 -0
  15. package/dist/cjs/ripple.cjs.js +25 -0
  16. package/dist/cjs/wm-action-menu_2.cjs.entry.js +525 -0
  17. package/dist/cjs/wm-button.cjs.entry.js +280 -0
  18. package/dist/cjs/wm-chart-bar.cjs.entry.js +444 -0
  19. package/dist/cjs/wm-chart-column.cjs.entry.js +629 -0
  20. package/dist/cjs/wm-chart-slice.cjs.entry.js +27 -0
  21. package/dist/cjs/wm-chart-stack.cjs.entry.js +447 -0
  22. package/dist/cjs/wm-chart.cjs.entry.js +163 -0
  23. package/dist/cjs/wm-date-range.cjs.entry.js +591 -0
  24. package/dist/cjs/wm-datepicker.cjs.entry.js +399 -0
  25. package/dist/{ripple/wm-tab-panel.entry.js → cjs/wm-file-list.cjs.entry.js} +15 -24
  26. package/dist/cjs/wm-file.cjs.entry.js +210 -0
  27. package/dist/cjs/wm-flyout.cjs.entry.js +178 -0
  28. package/dist/{ripple/wm-modal.entry.js → cjs/wm-input.cjs.entry.js} +108 -110
  29. package/dist/cjs/wm-line-chart.cjs.entry.js +541 -0
  30. package/dist/cjs/wm-modal-pss_3.cjs.entry.js +220 -0
  31. package/dist/cjs/wm-modal_3.cjs.entry.js +238 -0
  32. package/dist/cjs/wm-navigation_3.cjs.entry.js +188 -0
  33. package/dist/cjs/wm-navigator.cjs.entry.js +334 -0
  34. package/dist/cjs/wm-nested-select.cjs.entry.js +322 -0
  35. package/dist/{ripple/wm-textarea.entry.js → cjs/wm-optgroup.cjs.entry.js} +62 -57
  36. package/dist/cjs/wm-option_2.cjs.entry.js +536 -0
  37. package/dist/{ripple/wm-navigation.entry.js → cjs/wm-pagination.cjs.entry.js} +204 -91
  38. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +204 -0
  39. package/dist/{ripple/wm-flyout.entry.js → cjs/wm-search.cjs.entry.js} +168 -139
  40. package/dist/{ripple/wm-datepicker.entry.js → cjs/wm-snackbar.cjs.entry.js} +152 -223
  41. package/dist/cjs/wm-tab-item_3.cjs.entry.js +357 -0
  42. package/dist/cjs/wm-tag-input.cjs.entry.js +985 -0
  43. package/dist/cjs/wm-tag-option.cjs.entry.js +51 -0
  44. package/dist/{ripple/wm-modal-pss.entry.js → cjs/wm-textarea.cjs.entry.js} +70 -111
  45. package/dist/{ripple/wm-progress-indicator.entry.js → cjs/wm-timepicker.cjs.entry.js} +296 -78
  46. package/dist/cjs/wm-toggletip.cjs.entry.js +252 -0
  47. package/dist/cjs/wm-uploader.cjs.entry.js +341 -0
  48. package/dist/cjs/wm-wrapper.cjs.entry.js +21 -0
  49. package/dist/collection/collection-manifest.json +207 -0
  50. package/dist/collection/components/charts/chartFunctions.js +831 -0
  51. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.css +995 -0
  52. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +345 -0
  53. package/dist/collection/components/charts/priv-chart-popover-old/priv-chart-popover-old.css +990 -0
  54. package/dist/collection/components/charts/priv-chart-popover-old/priv-chart-popover-old.js +268 -0
  55. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +177 -0
  56. package/dist/collection/components/charts/wm-chart/wm-chart.css +1326 -0
  57. package/dist/collection/components/charts/wm-chart/wm-chart.js +549 -0
  58. package/dist/collection/components/charts/wm-chart-bar/wm-chart-bar.css +1236 -0
  59. package/dist/collection/components/charts/wm-chart-bar/wm-chart-bar.js +725 -0
  60. package/dist/collection/components/charts/wm-chart-column/wm-chart-column.css +1335 -0
  61. package/dist/collection/components/charts/wm-chart-column/wm-chart-column.js +914 -0
  62. package/dist/collection/components/charts/wm-chart-legend/wm-chart-legend.css +1006 -0
  63. package/dist/collection/components/charts/wm-chart-legend/wm-chart-legend.js +310 -0
  64. package/dist/collection/components/charts/wm-chart-stack/wm-chart-stack.css +1466 -0
  65. package/dist/collection/components/charts/wm-chart-stack/wm-chart-stack.js +709 -0
  66. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.css +1208 -0
  67. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.js +999 -0
  68. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.css +1326 -0
  69. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +320 -0
  70. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.css +967 -0
  71. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +232 -0
  72. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +167 -0
  73. package/dist/collection/components/datepickers/datepicker.css +1147 -0
  74. package/dist/collection/components/datepickers/priv-calendar/priv-calendar.css +1415 -0
  75. package/dist/collection/components/datepickers/priv-calendar/priv-calendar.js +857 -0
  76. package/dist/collection/components/datepickers/wm-date-range.js +1158 -0
  77. package/dist/collection/components/datepickers/wm-datepicker.js +875 -0
  78. package/dist/collection/components/selects/priv-option-list/priv-option-list.css +999 -0
  79. package/dist/collection/components/selects/priv-option-list/priv-option-list.js +784 -0
  80. package/dist/collection/components/selects/wm-nested-select/wm-nested-select.css +1259 -0
  81. package/dist/collection/components/selects/wm-nested-select/wm-nested-select.js +805 -0
  82. package/dist/collection/components/selects/wm-optgroup/wm-optgroup.css +909 -0
  83. package/dist/collection/components/selects/wm-optgroup/wm-optgroup.js +363 -0
  84. package/dist/collection/components/selects/wm-option/wm-option.css +1033 -0
  85. package/dist/collection/components/selects/wm-option/wm-option.js +665 -0
  86. package/dist/collection/components/selects/wm-select/wm-select.css +1174 -0
  87. package/dist/collection/components/selects/wm-select/wm-select.js +878 -0
  88. package/dist/collection/components/wm-action-menu/wm-action-menu.css +1690 -0
  89. package/dist/collection/components/wm-action-menu/wm-action-menu.js +932 -0
  90. package/dist/collection/components/wm-button/wm-button.css +1630 -0
  91. package/dist/collection/components/wm-button/wm-button.js +794 -0
  92. package/dist/collection/components/wm-file/wm-file.css +1086 -0
  93. package/dist/collection/components/wm-file/wm-file.js +536 -0
  94. package/dist/collection/components/wm-file-list/wm-file-list.css +899 -0
  95. package/dist/collection/components/wm-file-list/wm-file-list.js +118 -0
  96. package/dist/collection/components/wm-flyout/wm-flyout.css +1091 -0
  97. package/dist/collection/components/wm-flyout/wm-flyout.js +651 -0
  98. package/dist/collection/components/wm-input/wm-input.css +1095 -0
  99. package/dist/collection/components/wm-input/wm-input.js +653 -0
  100. package/dist/collection/components/wm-menuitem/wm-menuitem.css +982 -0
  101. package/dist/collection/components/wm-menuitem/wm-menuitem.js +515 -0
  102. package/dist/collection/components/wm-modal/wm-modal-footer.css +927 -0
  103. package/dist/collection/components/wm-modal/wm-modal-footer.js +199 -0
  104. package/dist/collection/components/wm-modal/wm-modal-header.css +926 -0
  105. package/dist/collection/components/wm-modal/wm-modal-header.js +110 -0
  106. package/dist/collection/components/wm-modal/wm-modal.css +983 -0
  107. package/dist/collection/components/wm-modal/wm-modal.js +534 -0
  108. package/dist/collection/components/wm-modal-pss/wm-modal-pss-footer.css +931 -0
  109. package/dist/collection/components/wm-modal-pss/wm-modal-pss-footer.js +142 -0
  110. package/dist/collection/components/wm-modal-pss/wm-modal-pss-header.css +925 -0
  111. package/dist/collection/components/wm-modal-pss/wm-modal-pss-header.js +86 -0
  112. package/dist/collection/components/wm-modal-pss/wm-modal-pss.css +1007 -0
  113. package/dist/collection/components/wm-modal-pss/wm-modal-pss.js +369 -0
  114. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.css +926 -0
  115. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +153 -0
  116. package/dist/collection/components/wm-navigation/wm-navigation-item.css +935 -0
  117. package/dist/collection/components/wm-navigation/wm-navigation-item.js +140 -0
  118. package/dist/collection/components/wm-navigation/wm-navigation.css +977 -0
  119. package/dist/collection/components/wm-navigation/wm-navigation.js +246 -0
  120. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.css +929 -0
  121. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +90 -0
  122. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.css +918 -0
  123. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +128 -0
  124. package/dist/collection/components/wm-navigator/wm-navigator.css +990 -0
  125. package/dist/collection/components/wm-navigator/wm-navigator.js +597 -0
  126. package/dist/collection/components/wm-pagination/wm-pagination.css +1044 -0
  127. package/dist/collection/components/wm-pagination/wm-pagination.js +487 -0
  128. package/dist/collection/components/wm-search/wm-search.css +983 -0
  129. package/dist/collection/components/wm-search/wm-search.js +604 -0
  130. package/dist/collection/components/wm-snackbar/wm-snackbar.css +1150 -0
  131. package/dist/collection/components/wm-snackbar/wm-snackbar.js +363 -0
  132. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.css +958 -0
  133. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +233 -0
  134. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.css +966 -0
  135. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +461 -0
  136. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.css +906 -0
  137. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +132 -0
  138. package/dist/collection/components/wm-tag-input/wm-tag-input.css +1423 -0
  139. package/dist/collection/components/wm-tag-input/wm-tag-input.js +1511 -0
  140. package/dist/collection/components/wm-tag-input/wm-tag-option/wm-tag-option.js +328 -0
  141. package/dist/collection/components/wm-textarea/wm-textarea.css +1065 -0
  142. package/dist/collection/components/wm-textarea/wm-textarea.js +423 -0
  143. package/dist/collection/components/wm-timepicker/wm-timepicker.css +1174 -0
  144. package/dist/collection/components/wm-timepicker/wm-timepicker.js +728 -0
  145. package/dist/collection/components/wm-toggletip/wm-toggletip.css +1296 -0
  146. package/dist/collection/components/wm-toggletip/wm-toggletip.js +455 -0
  147. package/dist/collection/components/wm-uploader/wm-uploader.css +1987 -0
  148. package/dist/collection/components/wm-uploader/wm-uploader.js +760 -0
  149. package/dist/collection/components/wm-wrapper/wm-wrapper.js +31 -0
  150. package/dist/collection/dev/action-menu.js +18 -0
  151. package/dist/collection/dev/button.js +12 -0
  152. package/dist/collection/dev/chart-bar.js +430 -0
  153. package/dist/collection/dev/chart-column.js +459 -0
  154. package/dist/collection/dev/chart-small.js +56 -0
  155. package/dist/collection/dev/chart-stack.js +205 -0
  156. package/dist/collection/dev/chart.js +18 -0
  157. package/dist/collection/dev/date-range.js +14 -0
  158. package/dist/collection/dev/datepicker.js +46 -0
  159. package/dist/collection/dev/file-list.js +16 -0
  160. package/dist/collection/dev/file.js +0 -0
  161. package/dist/collection/dev/flyout.js +194 -0
  162. package/dist/collection/dev/input.js +6 -0
  163. package/dist/collection/dev/line-chart.js +45 -0
  164. package/dist/collection/dev/modal.js +48 -0
  165. package/dist/collection/dev/navigation.js +13 -0
  166. package/dist/collection/dev/navigator.js +34 -0
  167. package/dist/collection/dev/nested-select.js +36 -0
  168. package/dist/collection/dev/pagination.js +7 -0
  169. package/dist/collection/dev/progress-monitor.js +0 -0
  170. package/dist/collection/dev/pss-modal.js +8 -0
  171. package/dist/collection/dev/scripts.js +49 -0
  172. package/dist/collection/dev/search.js +72 -0
  173. package/dist/collection/dev/select.js +57 -0
  174. package/dist/collection/dev/snackbar.js +68 -0
  175. package/dist/collection/dev/tabs.js +44 -0
  176. package/dist/collection/dev/tag-input.js +32 -0
  177. package/dist/collection/dev/textarea.js +28 -0
  178. package/dist/collection/dev/timepicker.js +32 -0
  179. package/dist/collection/dev/toggletip.js +9 -0
  180. package/dist/collection/dev/uploader.js +139 -0
  181. package/dist/collection/global/__mocks__/functions.js +6 -0
  182. package/dist/collection/global/functions.js +907 -0
  183. package/dist/{ripple/app-globals-B7cOtGhY.js → collection/global/global.js} +16 -87
  184. package/dist/collection/global/interfaces.js +94 -0
  185. package/dist/collection/global/intl.js +281 -0
  186. package/dist/collection/global/services/__mocks__/http-service.js +130 -0
  187. package/dist/collection/global/services/http-service.js +50 -0
  188. package/dist/collection/lang/lang.js +5 -0
  189. package/dist/collection/lang/missing.js +43 -0
  190. package/dist/collection/lang/piglatin.js +101 -0
  191. package/dist/docs/docs.d.ts +435 -0
  192. package/dist/docs/docs.json +14178 -0
  193. package/dist/docs/props-reference.json +2079 -0
  194. package/dist/docs/skill/index.md +33 -0
  195. package/dist/docs/skill/wm-action-menu.md +116 -0
  196. package/dist/docs/skill/wm-button.md +121 -0
  197. package/dist/docs/skill/wm-chart-bar.md +156 -0
  198. package/dist/docs/skill/wm-chart-column.md +122 -0
  199. package/dist/docs/skill/wm-chart-legend.md +91 -0
  200. package/dist/docs/skill/wm-chart-slice.md +101 -0
  201. package/dist/docs/skill/wm-chart-stack.md +147 -0
  202. package/dist/docs/skill/wm-chart.md +139 -0
  203. package/dist/docs/skill/wm-date-range.md +176 -0
  204. package/dist/docs/skill/wm-datepicker.md +153 -0
  205. package/dist/docs/skill/wm-file-list.md +105 -0
  206. package/dist/docs/skill/wm-file.md +91 -0
  207. package/dist/docs/skill/wm-flyout.md +209 -0
  208. package/dist/docs/skill/wm-input.md +134 -0
  209. package/dist/docs/skill/wm-line-chart.md +135 -0
  210. package/dist/docs/skill/wm-menuitem.md +64 -0
  211. package/dist/docs/skill/wm-modal-footer.md +81 -0
  212. package/dist/docs/skill/wm-modal-header.md +71 -0
  213. package/dist/docs/skill/wm-modal.md +172 -0
  214. package/dist/docs/skill/wm-navigation-hamburger.md +61 -0
  215. package/dist/docs/skill/wm-navigation-item.md +78 -0
  216. package/dist/docs/skill/wm-navigation.md +82 -0
  217. package/dist/docs/skill/wm-navigator.md +106 -0
  218. package/dist/docs/skill/wm-nested-select.md +160 -0
  219. package/dist/docs/skill/wm-optgroup.md +72 -0
  220. package/dist/docs/skill/wm-option.md +67 -0
  221. package/dist/docs/skill/wm-pagination.md +114 -0
  222. package/dist/docs/skill/wm-progress-indicator.md +75 -0
  223. package/dist/docs/skill/wm-progress-monitor.md +120 -0
  224. package/dist/docs/skill/wm-progress-slice.md +67 -0
  225. package/dist/docs/skill/wm-search.md +180 -0
  226. package/dist/docs/skill/wm-select.md +169 -0
  227. package/dist/docs/skill/wm-snackbar.md +130 -0
  228. package/dist/docs/skill/wm-tab-item.md +45 -0
  229. package/dist/docs/skill/wm-tab-list.md +139 -0
  230. package/dist/docs/skill/wm-tab-panel.md +39 -0
  231. package/dist/docs/skill/wm-tag-input.md +187 -0
  232. package/dist/docs/skill/wm-tag-option.md +60 -0
  233. package/dist/docs/skill/wm-textarea.md +102 -0
  234. package/dist/docs/skill/wm-timepicker.md +156 -0
  235. package/dist/docs/skill/wm-toggletip.md +98 -0
  236. package/dist/docs/skill/wm-uploader.md +154 -0
  237. package/dist/docs/skill/wm-wrapper.md +5 -0
  238. package/dist/esm/app-globals-a1092590.js +101 -0
  239. package/dist/{ripple/chartFunctions-CmeM8Tyx.js → esm/chartFunctions-58637dc9.js} +159 -3
  240. package/dist/{ripple/functions-DVLl0rH_.js → esm/functions-65f1594c.js} +374 -7830
  241. package/dist/esm/index-3425d80d.js +1813 -0
  242. package/dist/esm/index.js +1 -0
  243. package/dist/esm/interfaces-8778346d.js +77 -0
  244. package/dist/{ripple/intl-7p27BJSM.js → esm/intl-d518f362.js} +11 -4
  245. package/dist/esm/loader.js +11 -0
  246. package/dist/{ripple → esm}/priv-calendar.entry.js +143 -133
  247. package/dist/esm/priv-chart-popover-old.entry.js +142 -0
  248. package/dist/esm/priv-chart-popover_2.entry.js +199 -0
  249. package/dist/{ripple → esm}/priv-navigator-button.entry.js +5 -4
  250. package/dist/{ripple → esm}/priv-navigator-item.entry.js +5 -4
  251. package/dist/{ripple → esm}/priv-option-list.entry.js +18 -16
  252. package/dist/esm/ripple.js +20 -0
  253. package/dist/esm/wm-action-menu_2.entry.js +520 -0
  254. package/dist/{ripple/wm-modal-header.entry.js → esm/wm-button.entry.js} +264 -24
  255. package/dist/esm/wm-chart-bar.entry.js +440 -0
  256. package/dist/esm/wm-chart-column.entry.js +625 -0
  257. package/dist/{ripple → esm}/wm-chart-slice.entry.js +6 -1
  258. package/dist/esm/wm-chart-stack.entry.js +443 -0
  259. package/dist/esm/wm-chart.entry.js +159 -0
  260. package/dist/{ripple → esm}/wm-date-range.entry.js +224 -114
  261. package/dist/esm/wm-datepicker.entry.js +395 -0
  262. package/dist/{ripple → esm}/wm-file-list.entry.js +5 -4
  263. package/dist/{ripple → esm}/wm-file.entry.js +48 -24
  264. package/dist/esm/wm-flyout.entry.js +174 -0
  265. package/dist/{ripple → esm}/wm-input.entry.js +23 -7
  266. package/dist/{ripple → esm}/wm-line-chart.entry.js +182 -94
  267. package/dist/esm/wm-modal-pss_3.entry.js +214 -0
  268. package/dist/esm/wm-modal_3.entry.js +232 -0
  269. package/dist/esm/wm-navigation_3.entry.js +182 -0
  270. package/dist/{ripple → esm}/wm-navigator.entry.js +26 -64
  271. package/dist/{ripple → esm}/wm-nested-select.entry.js +35 -25
  272. package/dist/{ripple → esm}/wm-optgroup.entry.js +17 -5
  273. package/dist/esm/wm-option_2.entry.js +531 -0
  274. package/dist/{ripple → esm}/wm-pagination.entry.js +16 -14
  275. package/dist/esm/wm-progress-indicator_3.entry.js +198 -0
  276. package/dist/{ripple → esm}/wm-search.entry.js +15 -31
  277. package/dist/{ripple → esm}/wm-snackbar.entry.js +32 -45
  278. package/dist/esm/wm-tab-item_3.entry.js +351 -0
  279. package/dist/{ripple → esm}/wm-tag-input.entry.js +169 -65
  280. package/dist/{ripple → esm}/wm-tag-option.entry.js +14 -2
  281. package/dist/{ripple/wm-menuitem.entry.js → esm/wm-textarea.entry.js} +65 -100
  282. package/dist/{ripple → esm}/wm-timepicker.entry.js +33 -12
  283. package/dist/{ripple → esm}/wm-toggletip.entry.js +105 -33
  284. package/dist/esm/wm-uploader.entry.js +337 -0
  285. package/dist/{ripple → esm}/wm-wrapper.entry.js +1 -1
  286. package/dist/index.cjs.js +1 -0
  287. package/dist/index.js +1 -0
  288. package/dist/loader/cdn.js +1 -0
  289. package/dist/loader/index.cjs.js +1 -0
  290. package/dist/loader/index.d.ts +24 -0
  291. package/dist/loader/index.es2017.js +1 -0
  292. package/dist/loader/index.js +2 -0
  293. package/dist/loader/package.json +11 -0
  294. package/dist/ripple/index.esm.js +0 -1
  295. package/dist/ripple/p-0d364411.entry.js +1 -0
  296. package/dist/ripple/p-156c4d1d.entry.js +1 -0
  297. package/dist/ripple/{wm-modal-footer.entry.js → p-26d8c356.entry.js} +1 -44
  298. package/dist/ripple/p-2b23ce49.entry.js +1 -0
  299. package/dist/ripple/p-2b7cc2c1.entry.js +1 -0
  300. package/dist/ripple/p-34bde06a.entry.js +1 -0
  301. package/dist/ripple/p-35db9386.entry.js +1 -0
  302. package/dist/ripple/p-38a987ac.entry.js +1 -0
  303. package/dist/ripple/p-38b05894.entry.js +1 -0
  304. package/dist/ripple/p-38dee4ab.entry.js +1 -0
  305. package/dist/ripple/p-3a19d019.entry.js +1 -0
  306. package/dist/ripple/p-451d4de2.js +1 -0
  307. package/dist/ripple/p-507f2cf4.entry.js +1 -0
  308. package/dist/ripple/p-59f74ead.entry.js +1 -0
  309. package/dist/ripple/p-5c2fc42a.entry.js +1 -0
  310. package/dist/ripple/p-680d7606.entry.js +1 -0
  311. package/dist/ripple/p-683264db.js +1 -0
  312. package/dist/ripple/p-6db681c8.entry.js +1 -0
  313. package/dist/ripple/p-6e3c2bbc.js +1 -0
  314. package/dist/ripple/p-6f1cabab.entry.js +1 -0
  315. package/dist/ripple/p-72d135ee.entry.js +1 -0
  316. package/dist/ripple/p-7799953c.entry.js +1 -0
  317. package/dist/ripple/p-83c3db60.js +2 -0
  318. package/dist/ripple/{wm-progress-monitor.entry.js → p-83cdad78.entry.js} +1 -71
  319. package/dist/ripple/p-87ef0cfa.entry.js +1 -0
  320. package/dist/ripple/p-88e44511.entry.js +1 -0
  321. package/dist/ripple/p-8f8e4eb8.entry.js +1 -0
  322. package/dist/ripple/p-936adffb.entry.js +1 -0
  323. package/dist/ripple/p-9755192c.entry.js +1 -0
  324. package/dist/ripple/p-9c5c591b.js +1 -0
  325. package/dist/ripple/p-9ea38d96.entry.js +1 -0
  326. package/dist/ripple/p-be3e4e7c.entry.js +1 -0
  327. package/dist/ripple/p-c9c7df12.entry.js +1 -0
  328. package/dist/ripple/p-d7a1be0b.entry.js +1 -0
  329. package/dist/ripple/p-dab86523.entry.js +1 -0
  330. package/dist/ripple/{wm-tab-list.entry.js → p-e4aa6e27.entry.js} +1 -175
  331. package/dist/ripple/p-ebe9f38c.js +1 -0
  332. package/dist/ripple/p-ed053612.entry.js +1 -0
  333. package/dist/ripple/p-f43f621b.entry.js +1 -0
  334. package/dist/ripple/p-f48d30d6.entry.js +1 -0
  335. package/dist/ripple/{wm-action-menu.entry.js → p-f6aad57c.entry.js} +1 -201
  336. package/dist/ripple/p-f6e1beb5.entry.js +1 -0
  337. package/dist/ripple/p-fc843bb8.entry.js +1 -0
  338. package/dist/ripple/{priv-chart-popover.entry.js → p-fd997764.entry.js} +1 -134
  339. package/dist/ripple/p-fffb46ad.entry.js +1 -0
  340. package/dist/ripple/ripple.esm.js +1 -48
  341. package/dist/types/components/charts/chartFunctions.d.ts +15 -2
  342. package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +25 -11
  343. package/dist/types/components/charts/priv-chart-popover-old/priv-chart-popover-old.d.ts +31 -0
  344. package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +52 -0
  345. package/dist/types/components/charts/wm-chart/wm-chart.d.ts +113 -1
  346. package/dist/types/components/charts/wm-chart-bar/wm-chart-bar.d.ts +195 -0
  347. package/dist/types/components/charts/wm-chart-column/wm-chart-column.d.ts +184 -0
  348. package/dist/types/components/charts/wm-chart-legend/wm-chart-legend.d.ts +110 -0
  349. package/dist/types/components/charts/wm-chart-stack/wm-chart-stack.d.ts +194 -0
  350. package/dist/types/components/charts/wm-line-chart/wm-line-chart.d.ts +156 -11
  351. package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +53 -1
  352. package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +85 -0
  353. package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +44 -0
  354. package/dist/types/components/datepickers/priv-calendar/priv-calendar.d.ts +19 -3
  355. package/dist/types/components/datepickers/wm-date-range.d.ts +205 -14
  356. package/dist/types/components/datepickers/wm-datepicker.d.ts +189 -11
  357. package/dist/types/components/selects/priv-option-list/priv-option-list.d.ts +6 -0
  358. package/dist/types/components/selects/wm-nested-select/wm-nested-select.d.ts +165 -1
  359. package/dist/types/components/selects/wm-optgroup/wm-optgroup.d.ts +87 -0
  360. package/dist/types/components/selects/wm-option/wm-option.d.ts +117 -0
  361. package/dist/types/components/selects/wm-select/wm-select.d.ts +193 -12
  362. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +207 -2
  363. package/dist/types/components/wm-button/wm-button.d.ts +191 -0
  364. package/dist/types/components/wm-file/wm-file.d.ts +110 -1
  365. package/dist/types/components/wm-file-list/wm-file-list.d.ts +72 -0
  366. package/dist/types/components/wm-flyout/wm-flyout.d.ts +205 -0
  367. package/dist/types/components/wm-input/wm-input.d.ts +161 -1
  368. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +79 -0
  369. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +54 -0
  370. package/dist/types/components/wm-modal/wm-modal-header.d.ts +30 -0
  371. package/dist/types/components/wm-modal/wm-modal.d.ts +160 -0
  372. package/dist/types/components/wm-modal-pss/wm-modal-pss-footer.d.ts +4 -0
  373. package/dist/types/components/wm-modal-pss/wm-modal-pss-header.d.ts +4 -0
  374. package/dist/types/components/wm-modal-pss/wm-modal-pss.d.ts +6 -0
  375. package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +34 -0
  376. package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +41 -0
  377. package/dist/types/components/wm-navigation/wm-navigation.d.ts +57 -0
  378. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +4 -0
  379. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +4 -0
  380. package/dist/types/components/wm-navigator/wm-navigator.d.ts +93 -4
  381. package/dist/types/components/wm-pagination/wm-pagination.d.ts +100 -1
  382. package/dist/types/components/wm-search/wm-search.d.ts +158 -6
  383. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +103 -1
  384. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +55 -3
  385. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +119 -20
  386. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +35 -2
  387. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +199 -5
  388. package/dist/types/components/wm-tag-input/wm-tag-option/wm-tag-option.d.ts +68 -0
  389. package/dist/types/components/wm-textarea/wm-textarea.d.ts +99 -0
  390. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +147 -0
  391. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +88 -2
  392. package/dist/types/components/wm-uploader/wm-uploader.d.ts +145 -3
  393. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +3 -0
  394. package/dist/types/components.d.ts +11523 -95
  395. package/dist/types/global/functions.d.ts +7 -2
  396. package/dist/types/global/interfaces.d.ts +92 -2
  397. package/dist/types/global/intl.d.ts +3 -0
  398. package/dist/types/stencil-public-runtime.d.ts +0 -28
  399. package/package.json +4 -33
  400. package/dist/components/index.d.ts +0 -33
  401. package/dist/components/priv-calendar.d.ts +0 -11
  402. package/dist/components/priv-chart-popover.d.ts +0 -11
  403. package/dist/components/priv-navigator-button.d.ts +0 -11
  404. package/dist/components/priv-navigator-item.d.ts +0 -11
  405. package/dist/components/priv-option-list.d.ts +0 -11
  406. package/dist/components/wm-action-menu.d.ts +0 -11
  407. package/dist/components/wm-button.d.ts +0 -11
  408. package/dist/components/wm-chart-slice.d.ts +0 -11
  409. package/dist/components/wm-chart.d.ts +0 -11
  410. package/dist/components/wm-date-range.d.ts +0 -11
  411. package/dist/components/wm-datepicker.d.ts +0 -11
  412. package/dist/components/wm-file-list.d.ts +0 -11
  413. package/dist/components/wm-file.d.ts +0 -11
  414. package/dist/components/wm-flyout.d.ts +0 -11
  415. package/dist/components/wm-input.d.ts +0 -11
  416. package/dist/components/wm-line-chart.d.ts +0 -11
  417. package/dist/components/wm-menuitem.d.ts +0 -11
  418. package/dist/components/wm-modal-footer.d.ts +0 -11
  419. package/dist/components/wm-modal-header.d.ts +0 -11
  420. package/dist/components/wm-modal-pss-footer.d.ts +0 -11
  421. package/dist/components/wm-modal-pss-header.d.ts +0 -11
  422. package/dist/components/wm-modal-pss.d.ts +0 -11
  423. package/dist/components/wm-modal.d.ts +0 -11
  424. package/dist/components/wm-navigation-hamburger.d.ts +0 -11
  425. package/dist/components/wm-navigation-item.d.ts +0 -11
  426. package/dist/components/wm-navigation.d.ts +0 -11
  427. package/dist/components/wm-navigator.d.ts +0 -11
  428. package/dist/components/wm-nested-select.d.ts +0 -11
  429. package/dist/components/wm-optgroup.d.ts +0 -11
  430. package/dist/components/wm-option.d.ts +0 -11
  431. package/dist/components/wm-pagination.d.ts +0 -11
  432. package/dist/components/wm-progress-indicator.d.ts +0 -11
  433. package/dist/components/wm-progress-monitor.d.ts +0 -11
  434. package/dist/components/wm-progress-slice.d.ts +0 -11
  435. package/dist/components/wm-search.d.ts +0 -11
  436. package/dist/components/wm-select.d.ts +0 -11
  437. package/dist/components/wm-snackbar.d.ts +0 -11
  438. package/dist/components/wm-tab-item.d.ts +0 -11
  439. package/dist/components/wm-tab-list.d.ts +0 -11
  440. package/dist/components/wm-tab-panel.d.ts +0 -11
  441. package/dist/components/wm-tag-input.d.ts +0 -11
  442. package/dist/components/wm-tag-option.d.ts +0 -11
  443. package/dist/components/wm-textarea.d.ts +0 -11
  444. package/dist/components/wm-timepicker.d.ts +0 -11
  445. package/dist/components/wm-toggletip.d.ts +0 -11
  446. package/dist/components/wm-uploader.d.ts +0 -11
  447. package/dist/components/wm-wrapper.d.ts +0 -11
  448. package/dist/ripple/index-CU5QNCKv.js +0 -4167
  449. package/dist/ripple/interfaces-CrANcZM9.js +0 -53
  450. package/dist/ripple/wm-button.entry.js +0 -197
  451. package/dist/ripple/wm-chart.entry.js +0 -157
  452. package/dist/ripple/wm-modal-pss-footer.entry.js +0 -40
  453. package/dist/ripple/wm-modal-pss-header.entry.js +0 -39
  454. package/dist/ripple/wm-navigation-hamburger.entry.js +0 -48
  455. package/dist/ripple/wm-navigation-item.entry.js +0 -18
  456. package/dist/ripple/wm-option.entry.js +0 -171
  457. package/dist/ripple/wm-progress-slice.entry.js +0 -13
  458. package/dist/ripple/wm-select.entry.js +0 -249
  459. package/dist/ripple/wm-tab-item.entry.js +0 -63
  460. package/dist/ripple/wm-uploader.entry.js +0 -313
@@ -0,0 +1,134 @@
1
+ ### Input
2
+ - **Element:** `<wm-input>`
3
+
4
+ **Purpose:** Accessible single-line text input. Supports text and number types, character limits,
5
+ symbol prefixes/suffixes, and inline info/error messaging. Use instead of a native
6
+ `<input>` in all Watermark UI.
7
+
8
+ **When to use:**
9
+
10
+ - **Collecting a short, free-form text value** -- when a user needs to type a name, title, identifier, URL, or any other brief string that does not fit a more specialized input (date, time, search), Input is the default choice.
11
+ - **Displaying a value with a unit or currency symbol** -- when the field has a fixed prefix or suffix that is part of the value's meaning (e.g., "$" before a dollar amount, "%" after a score), use symbol-before or symbol-after to attach it inline.
12
+ - **Enforcing a character limit with live feedback** -- when a field has a maximum length the user should be aware of while typing (e.g., a short title with a cap), use character-limit to display the running count and prevent overrun.
13
+
14
+ **Do not use for:**
15
+
16
+ - **Multi-line or long-form text** -- if the user needs to write a paragraph or any text that may wrap across multiple lines, use wm-textarea instead; Input is a single-line field and will not expand.
17
+ - **Date or time entry** -- if the value is a date or time, use wm-datepicker or wm-timepicker; plain Input has no calendar, no format enforcement, and no date validation utilities.
18
+ - **Search interactions** -- if the field's purpose is to filter or search a dataset, use wm-search instead, which is purpose-built for that interaction pattern.
19
+
20
+ **Variants / types:**
21
+
22
+ - `type="text"` -- default; accepts any string input
23
+ - `type="number"` -- numeric input with optional min, max, and step constraints
24
+
25
+ **Usage notes:**
26
+
27
+ - `wmInputValueChanged` only fires on blur and only when the value has changed -- use the
28
+ native `input` event if you need every keystroke.
29
+ - When using `symbol-before`, `symbol-after`, or `text-after`, the full field context is
30
+ announced to screen readers by associating those elements via `aria-describedby`.
31
+ - Keep `text-after` to 55 characters or fewer.
32
+
33
+ **Props:**
34
+ - `character-limit` -- Maximum number of characters the user can type. Displays a live character counter and announces warnings via an `aria-live` region. Disabled when unset.
35
+ - `disabled` -- Disables the input, preventing interaction. _(default: `false`)_
36
+ - `error-message` -- Puts the component in an error state and displays this message below the input. Set to a non-empty string to activate; clear to remove.
37
+ - `info` -- Hint text displayed below the input field. Read by screen readers when the field is focused.
38
+ - `input-width` -- CSS width value for the input element itself, independent of the component's overall width (which includes the label, info, and error). Useful when you want the label wider than the input. _(default: `""`)_
39
+ - `is-submit` -- When true, pressing Enter when the input is focused submits the containing form. _(default: `false`)_
40
+ - `label` -- Visible label for the input. Required even when `label-position` is `'none'` -- used as the aria label for screen readers. _(required)_
41
+ - `label-position` -- Position of the label relative to the input. `'none'` hides the label visually but keeps it accessible. _(type: `"left" | "none" | "top"`; default: `"top"`)_
42
+ - `max` -- For use with `type='number'`. The maximum value reachable with the stepper.
43
+ - `min` -- For use with `type='number'`. The minimum value reachable with the stepper.
44
+ - `placeholder` -- Placeholder text shown inside the empty input field. _(default: `""`)_
45
+ - `required-field` -- Displays a required-field asterisk (*) next to the label and sets `aria-required="true"` on the input. _(default: `false`)_
46
+ - `step` -- For use with `type='number'`. The interval between values when stepping. _(default: `1`)_
47
+ - `symbol-after` -- String displayed after the input value (e.g. `'%'` for a percentage field).
48
+ - `symbol-before` -- String displayed before the input value (e.g. `'$'` for a currency field).
49
+ - `text-after` -- Text displayed after the input element (outside it). Keep to 55 characters or fewer.
50
+ - `type` -- The input type. Use `'number'` for numeric fields; pair with `min`, `max`, and `step`. _(type: `"number" | "text"`; default: `"text"`)_
51
+ - `value` -- The initial value of the input field, or its current value when reading from the component. _(default: `""`)_
52
+
53
+ **Events:**
54
+ - `wmInputValueChanged` -- Fires on blur when the input value has changed since the last blur. Use the
55
+ native `input` event if you need to react to every keystroke. Detail: `{{ value: string }} value -- the current value of the input at the time of blur.`
56
+
57
+ **Accessibility:**
58
+
59
+ - `label` is required even when `label-position` is `"none"` -- it becomes the input's aria label.
60
+ - Error messages and character-limit warnings are announced via an `aria-live` region.
61
+ - Info text is associated via `aria-describedby` and read when the field receives focus.
62
+ - `required-field` sets `aria-required="true"` on the underlying input.
63
+ - **Keyboard:** - **Enter**: Submits the containing form when `is-submit` is true.
64
+
65
+ **Related components:**
66
+
67
+ - `<wm-textarea>` -- if the expected value spans multiple lines or requires significant length, use Textarea; Input is single-line only.
68
+ - `<wm-search>` -- if the field drives a search or filter interaction rather than collecting a stored form value, use Search; Input has no search-specific behavior or affordances.
69
+ - `<wm-datepicker>` / `<wm-timepicker>` -- if the value is a date or time, use the dedicated components; Input provides no format guidance, calendar navigation, or date validation.
70
+ - `<wm-tag-input>` -- if the user needs to enter multiple discrete values (tags, names, identifiers) as a list rather than a single string, use Tag Input instead.
71
+
72
+ **Code example:**
73
+
74
+ _Basic input_
75
+
76
+ ```html
77
+ <wm-input label="First name"></wm-input>
78
+ ```
79
+
80
+ _Basic input_
81
+
82
+ ```react
83
+ <WmInput label="First name" />
84
+ ```
85
+
86
+ _Required field with error_
87
+
88
+ ```html
89
+ <wm-input label="Email" required-field error-message="Please enter a valid email address"></wm-input>
90
+ ```
91
+
92
+ _Form with submit validation and blur error clearing_
93
+
94
+ ```react
95
+ // wmInputValueChanged fires on blur only when the value has changed.
96
+ // event.detail.value is the current string value.
97
+ // Validate required fields on submit; clear individual errors on blur once the user provides a value.
98
+ const [name, setName] = useState("");
99
+ const [email, setEmail] = useState("");
100
+ const [errors, setErrors] = useState({ name: "", email: "" });
101
+
102
+ const setError = (field, message) =>
103
+ setErrors((prev) => ({ ...prev, [field]: message }));
104
+
105
+ const handleNameBlur = (e) => {
106
+ const val = e.detail.value;
107
+ setName(val);
108
+ if (val) setError("name", "");
109
+ };
110
+
111
+ const handleEmailBlur = (e) => {
112
+ const val = e.detail.value;
113
+ setEmail(val);
114
+ if (!val) setError("email", "");
115
+ else if (!val.includes("@")) setError("email", "Please enter a valid email address.");
116
+ else setError("email", "");
117
+ };
118
+
119
+ const handleSubmit = () => {
120
+ const newErrors = {
121
+ name: name ? "" : "Full name is required.",
122
+ email: !email ? "Email is required." : !email.includes("@") ? "Please enter a valid email address." : "",
123
+ };
124
+ setErrors(newErrors);
125
+ if (Object.values(newErrors).every((e) => e === "")) { handleFormSubmit(); }
126
+ };
127
+
128
+ <WmInput label="Full name" requiredField={true} value={name}
129
+ errorMessage={errors.name} onWmInputValueChanged={handleNameBlur} />
130
+ <WmInput label="Email" requiredField={true} value={email}
131
+ errorMessage={errors.email} onWmInputValueChanged={handleEmailBlur} />
132
+ <WmButton buttonType="secondary" onClick={handleCancel}>Cancel</WmButton>
133
+ <WmButton buttonType="primary" onClick={handleSubmit}>Submit</WmButton>
134
+ ```
@@ -0,0 +1,135 @@
1
+ ### Line Chart
2
+ - **Element:** `<wm-line-chart>`
3
+
4
+ **Purpose:** Visualizes how data changes over time. Ideal for trend analysis -- tracking one or more
5
+ metrics across chronological intervals such as semesters, academic years, or months.
6
+ Supports up to 7 lines, each differentiated by both color and symbol. Data is set via the
7
+ `line-data` prop (JSON string or object). Minimum width of 562 px; horizontally scrollable
8
+ at smaller viewports.
9
+
10
+ **When to use:**
11
+
12
+ - **Showing a trend over time** -- when the x-axis is a sequence of chronological intervals and the goal is to show how a value rises or falls across them.
13
+ - **Comparing several metrics over the same timeline** -- supports up to seven lines, each differentiated by both color and symbol; enable `visibility-toggles` to let users isolate lines.
14
+ - **Providing a reference point** -- use `spotlight-data` to draw a single reference line (e.g., a target) spanning the chart.
15
+ - **Distinguishing a projected or highlighted range** -- use `highlight-start` / `highlight-end` with a `highlight-qualifier` to mark part of the timeline (e.g., projected values).
16
+
17
+ **Do not use for:**
18
+
19
+ - **Comparing values across nominal categories** -- use `wm-chart-bar` or `wm-chart-column`.
20
+ - **Composition / parts of a whole** -- use `wm-chart` or `wm-chart-stack`.
21
+ - **Unequal or non-chronological x-axis spacing** -- x-axis values are treated as evenly spaced labels; the component does not render a true time-scaled axis, so use it only when the intervals are meant to read as equally spaced.
22
+
23
+ **Variants / types:**
24
+
25
+ - **Single-line** -- one metric over time.
26
+ - **Multi-line** -- up to seven metrics, each with its own color and symbol.
27
+ - **With visibility toggles** -- legend buttons to hide/show individual lines.
28
+ - **With a spotlight/reference line** -- a single spanning reference value.
29
+ - **With a highlighted region** -- a shaded x-axis range, optionally annotated for screen readers via `highlight-qualifier`.
30
+ - **With deltas** -- `show-deltas` adds a "change since previous point" column to each popover.
31
+
32
+ **Usage notes:**
33
+
34
+ - `line-data` expects a JSON object where keys are line labels and values are objects mapping
35
+ x-axis values (strings) to y-axis values (numbers or `null` for missing data points).
36
+ In HTML, set it as a JSON string attribute; in JavaScript/React, set it as an object.
37
+ - Up to 7 lines are supported -- each is automatically assigned a color and symbol from
38
+ the built-in palette.
39
+ - `spotlight-data` adds a single reference line spanning the whole chart. Provide an object
40
+ with a `label` key and one x-value key mapping to the y-value.
41
+
42
+ **Props:**
43
+ - `decimal-places` -- Number of decimal places for data point values and y-axis interval labels.
44
+ If omitted, the component infers an appropriate number from the data.
45
+ - `description` -- Accessible description appended to the keyboard instructions read to screen
46
+ readers. Recommended -- use it to summarize the key takeaway of the chart. _(default: `""`)_
47
+ - `highlight-end` -- x-axis value where the highlighted background area ends.
48
+ - `highlight-qualifier` -- Screen reader qualifier appended to the `aria-label` of data points that fall
49
+ within a highlighted section (e.g. `"projected"`). _(default: `lineChartMessages.highlightQualifier`)_
50
+ - `highlight-start` -- x-axis value where the highlighted background area begins. If used without
51
+ `highlight-end`, the highlight extends to the right edge of the chart.
52
+ - `label` -- Accessible label for the chart, used as the `aria-label` on the chart
53
+ container. Required for accessibility. _(required)_
54
+ - `label-width` -- CSS width of the y-axis interval label column. _(default: `"120px"`)_
55
+ - `line-data` -- Chart data. Each key is a line label (shown in the legend); each value is an
56
+ object mapping x-axis values (strings) to y-axis values (numbers or `null` for missing
57
+ data points). Can be set as a JSON string (HTML attribute) or as an object (JavaScript).
58
+ Example: `{ "Biology": { "2022-23": 310, "2023-24": 420 } }`. _(type: `string | { [lineLabel: string]: Line; }`; required)_
59
+ - `show-deltas` -- When true, a "Change since [previous x-value]" column appears in each data
60
+ point's popover, showing the percentage change from the preceding data point. _(default: `false`)_
61
+ - `show-grid` -- When true, renders horizontal and vertical grid lines. _(default: `true`)_
62
+ - `spotlightData` -- Adds a reference data point and a spanning horizontal line across the chart.
63
+ Must include a `label` key and exactly one x-value key mapping to the y-value.
64
+ Example: `{ label: "Target", "2024-25": 500 }`. _(type: `SpotlightData`)_
65
+ - `units` -- Two comma-separated unit labels for the x and y axes, shown in parentheses
66
+ after axis labels and inside popovers. Use `null` for no unit.
67
+ Example: `"null,students"` or `"semester,percent"`. _(default: `"null,null"`)_
68
+ - `visibility-toggles` -- When true, renders hide/show toggle buttons in the legend, allowing users to
69
+ hide individual lines. _(default: `false`)_
70
+ - `x-axis-label` -- Label for the x-axis (the time dimension, e.g. `"Term"`, `"Academic Year"`).
71
+ Required for accessibility. _(required)_
72
+ - `y-axis-label` -- Label for the y-axis (the measured value, e.g. `"Enrollment"`, `"Score"`).
73
+ Required for accessibility. _(required)_
74
+ - `y-range` -- Comma-separated numbers that explicitly define the y-axis tick values.
75
+ Overrides automatic range and interval calculation.
76
+ Example: `"0,100,200,300"`.
77
+
78
+ **Accessibility:**
79
+
80
+ - `label`, `x-axis-label`, and `y-axis-label` are required for accessibility.
81
+ - Each data point renders as `role="img"` with a detailed `aria-label` including the line
82
+ name, x-value, y-value, units, and (if `show-deltas`) the percentage change from the
83
+ previous point.
84
+ - An `aria-live` region announces the line name and data point count when keyboard focus
85
+ moves to a new line.
86
+ - The `description` prop is appended to the chart instructions read to screen readers --
87
+ use it to summarize the key takeaway.
88
+ - **Keyboard:**
89
+ - **Tab** (into chart): If `visibility-toggles` is enabled, focuses the first toggle button;
90
+ otherwise focuses the first data point.
91
+ - **Tab** (on toggle button): Moves to the first data point of the first visible line.
92
+ - **Shift+Tab** (on first data point, with toggles): Returns focus to the toggle buttons.
93
+ - **Arrow Up / Down** (on data point): Moves focus vertically to the same x-interval on
94
+ the previous/next line.
95
+ - **Arrow Left / Right** (on data point): Moves focus to the previous/next data point on
96
+ the same line.
97
+ - **Arrow Left / Right** (on toggle button): Cycles between toggle buttons.
98
+
99
+ **Related components:**
100
+
101
+ - `<wm-chart-bar>` / `<wm-chart-column>` -- for comparison across categories rather than over time.
102
+ - `<wm-chart>` / `<wm-chart-stack>` -- for composition rather than trend.
103
+
104
+ **Code example:**
105
+
106
+ _Basic line chart_
107
+
108
+ ```html
109
+ <wm-line-chart label="Enrollment trend" x-axis-label="Term" y-axis-label="Students"
110
+ line-data='{"Biology": {"Fall 2022": 310, "Fall 2023": 340}}'></wm-line-chart>
111
+ ```
112
+
113
+ _Basic line chart_
114
+
115
+ ```react
116
+ <WmLineChart label="Enrollment trend" xAxisLabel="Term" yAxisLabel="Students"
117
+ lineData={{ Biology: { "Fall 2022": 310, "Fall 2023": 340 } }} />
118
+ ```
119
+
120
+ _Multi-line with delta comparisons_
121
+
122
+ ```html
123
+ <wm-line-chart label="Retention rates" x-axis-label="Year" y-axis-label="Rate"
124
+ units="null,percent" show-deltas
125
+ line-data='{"Biology": {"2022": 85, "2023": 88}, "English": {"2022": 79, "2023": 82}}'>
126
+ </wm-line-chart>
127
+ ```
128
+
129
+ _Multi-line with delta comparisons_
130
+
131
+ ```react
132
+ <WmLineChart label="Retention rates" xAxisLabel="Year" yAxisLabel="Rate"
133
+ units="null,percent" showDeltas={true}
134
+ lineData={{ Biology: { "2022": 85, "2023": 88 }, English: { "2022": 79, "2023": 82 } }} />
135
+ ```
@@ -0,0 +1,64 @@
1
+ ### Menuitem
2
+ - **Element:** `<wm-menuitem>`
3
+
4
+ **Purpose:** A single item within a wm-action-menu dropdown. Always used as a direct child of
5
+ wm-action-menu -- never rendered in isolation.
6
+
7
+ **Usage notes:**
8
+
9
+ - `description` is limited to 100 characters and is incompatible with `icon`.
10
+ - When disabled, the host element's `onclick` handler is temporarily removed and restored
11
+ when re-enabled, so that click handlers set before the prop change are not lost.
12
+
13
+ **Props:**
14
+ - `description` -- Secondary descriptive text displayed below the label. Maximum 100 characters.
15
+ Incompatible with `icon`.
16
+ - `disabled` -- Disables the menu item, preventing activation. The item remains visible and focusable. _(default: `false`)_
17
+ - `icon` -- Icon to display before the label. Accepts the same formats as wm-button:
18
+ `'#icon-name'` for a Ripple icon, `'/path/to/file.svg#symbol-id'` for a local SVG sprite,
19
+ or an MDI character code (deprecated). Incompatible with `description`.
20
+
21
+ **Slots:**
22
+ - _(default)_ -- The visible label text for the menu item.
23
+
24
+ **Required setup:**
25
+
26
+ - Render it as a direct child of wm-action-menu.
27
+ - Wire the action: attach an `onclick` handler to the item. The parent closes the dropdown when
28
+ an item is activated, so a menu that closes has not necessarily run anything.
29
+
30
+ **Accessibility:**
31
+
32
+ - Rendered with `role="menuitem"` and `aria-disabled` when disabled.
33
+
34
+ **Code example:**
35
+
36
+ _Basic menu items_
37
+
38
+ ```html
39
+ <wm-action-menu tooltip="Actions">
40
+ <wm-menuitem onclick="editRecord()">Edit</wm-menuitem>
41
+ <wm-menuitem onclick="deleteRecord()">Delete</wm-menuitem>
42
+ </wm-action-menu>
43
+ ```
44
+
45
+ _Basic menu items_
46
+
47
+ ```react
48
+ <WmActionMenu tooltip="Actions">
49
+ <WmMenuitem onClick={editRecord}>Edit</WmMenuitem>
50
+ <WmMenuitem onClick={deleteRecord}>Delete</WmMenuitem>
51
+ </WmActionMenu>
52
+ ```
53
+
54
+ _Menu item with icon_
55
+
56
+ ```html
57
+ <wm-menuitem icon="#edit" onclick="editRecord()">Edit</wm-menuitem>
58
+ ```
59
+
60
+ _Menu item with icon_
61
+
62
+ ```react
63
+ <WmMenuitem icon="#edit" onClick={editRecord}>Edit</WmMenuitem>
64
+ ```
@@ -0,0 +1,81 @@
1
+ ### Modal Footer
2
+ - **Element:** `<wm-modal-footer>`
3
+
4
+ **Purpose:** Footer section for a wm-modal. Renders a primary action button, an optional secondary
5
+ button, and optional informational text. Button clicks delegate to the parent modal's
6
+ `emitPrimaryEvent()` and `emitSecondaryEvent()` methods, which fire
7
+ `wmModalPrimaryTriggered` and `wmModalSecondaryTriggered` respectively. Always used as a
8
+ direct child of wm-modal -- never rendered in isolation.
9
+
10
+ **When to use:**
11
+
12
+ - **Collecting or editing a focused set of information** -- when a user needs to fill out a short form or make a confined set of edits that must be completed or explicitly dismissed before anything else can happen, Modal creates the necessary interruption and focus.
13
+ - **Confirming a consequential or destructive action** -- when the user has initiated something that warrants deliberate confirmation (such as permanently deleting a record), use Modal with deleteStyle on the footer to signal danger and require an explicit choice before proceeding.
14
+ - **Running a short sequential workflow** -- when a task can be broken into a small number of steps using a stepper, Modal can host that progression, provided the workflow is compact enough that a full-page view is not warranted.
15
+ - **Triggering a secondary confirmation from a primary action** -- a Modal's primary action can open an additional Modal, so a two-stage confirmation (e.g., submit then confirm submission) is a supported and appropriate use.
16
+
17
+ **Do not use for:**
18
+
19
+ - **Content that is too large for a centered overlay** -- if there is too much content to display comfortably, use a Flyout or light immersive view instead; Modal is not designed to host expansive content.
20
+ - **More than one primary action** -- if more than one distinct action can be taken, break the workflow into separate Modals or reconsider the pattern entirely.
21
+ - **Launching a Flyout or side panel from within a Modal** -- stacking containers at this level breaks user orientation and focus management.
22
+
23
+ **Variants / types:**
24
+
25
+ - `modal-type="modal"` -- full overlay for task completion with forms and richer content
26
+ - `modal-type="dialog"` -- lighter variant for simpler, message-style interactions
27
+
28
+ **Usage notes:**
29
+
30
+ - `info-text` should not be used when the parent `wm-modal` has `modal-type="dialog"`.
31
+ - Use `delete-style` to render the primary button with the wm-button `permanently-delete`
32
+ destructive styling.
33
+ - When `element-to-focus="primary"` or `"secondary"` is set on the parent wm-modal, the
34
+ matching footer button receives focus on open. This requires `id` to be set on the parent
35
+ `<wm-modal>` element.
36
+
37
+ **Props:**
38
+ - `delete-style` -- Renders the primary button in the wm-button `permanently-delete` destructive
39
+ style. Use for irreversible actions. _(default: `false`)_
40
+ - `info-text` -- Additional feedback or status text displayed in the lower-left corner of the
41
+ footer. Should not be used when the parent modal has `modal-type="dialog"`. _(default: `""`)_
42
+ - `primary-action-disabled` -- Disables the primary action button. _(default: `false`)_
43
+ - `primary-text` -- Label for the primary action button. _(required; default: `""`)_
44
+ - `secondary-text` -- Label for the secondary action button. Omit to render the footer with only
45
+ a primary button. _(default: `""`)_
46
+
47
+ **Accessibility:**
48
+
49
+ - Conditional DOM rendering based on open state: Modal must always be present in the DOM; use the open prop to control visibility. Removing it from the DOM can permanently break page scrolling.
50
+
51
+ **Related components:**
52
+
53
+ - Dialog (modal-type="dialog") -- Dialog is the lighter variant of the same component, intended for simpler message-style interactions; Modal is for task completion with forms and richer content.
54
+ - `<wm-flyout>` -- if the task is longer, benefits from more horizontal space, or should coexist alongside the underlying page rather than block it entirely, use Flyout; Modal is for short, blocking, self-contained tasks.
55
+ - Light Immersive Layout -- if the workflow is too complex or content-heavy for a Modal, escalate to a light immersive view; Modal is not suited to multi-faceted or lengthy workflows.
56
+
57
+ **Code example:**
58
+
59
+ _Basic footer_
60
+
61
+ ```html
62
+ <wm-modal-footer primary-text="Save" secondary-text="Cancel"></wm-modal-footer>
63
+ ```
64
+
65
+ _Basic footer_
66
+
67
+ ```react
68
+ <WmModalFooter primaryText="Save" secondaryText="Cancel" />
69
+ ```
70
+
71
+ _Delete-style footer_
72
+
73
+ ```html
74
+ <wm-modal-footer primary-text="Delete" secondary-text="Cancel" delete-style></wm-modal-footer>
75
+ ```
76
+
77
+ _Delete-style footer_
78
+
79
+ ```react
80
+ <WmModalFooter primaryText="Delete" secondaryText="Cancel" deleteStyle={true} />
81
+ ```
@@ -0,0 +1,71 @@
1
+ ### Modal Header
2
+ - **Element:** `<wm-modal-header>`
3
+
4
+ **Purpose:** Header section for a wm-modal. Renders the modal title, an optional subheading, and the
5
+ close button. Always used as a direct child of wm-modal -- never rendered in isolation.
6
+
7
+ **When to use:**
8
+
9
+ - **Collecting or editing a focused set of information** -- when a user needs to fill out a short form or make a confined set of edits that must be completed or explicitly dismissed before anything else can happen, Modal creates the necessary interruption and focus.
10
+ - **Confirming a consequential or destructive action** -- when the user has initiated something that warrants deliberate confirmation (such as permanently deleting a record), use Modal with deleteStyle on the footer to signal danger and require an explicit choice before proceeding.
11
+ - **Running a short sequential workflow** -- when a task can be broken into a small number of steps using a stepper, Modal can host that progression, provided the workflow is compact enough that a full-page view is not warranted.
12
+ - **Triggering a secondary confirmation from a primary action** -- a Modal's primary action can open an additional Modal, so a two-stage confirmation (e.g., submit then confirm submission) is a supported and appropriate use.
13
+
14
+ **Do not use for:**
15
+
16
+ - **Content that is too large for a centered overlay** -- if there is too much content to display comfortably, use a Flyout or light immersive view instead; Modal is not designed to host expansive content.
17
+ - **More than one primary action** -- if more than one distinct action can be taken, break the workflow into separate Modals or reconsider the pattern entirely.
18
+ - **Launching a Flyout or side panel from within a Modal** -- stacking containers at this level breaks user orientation and focus management.
19
+
20
+ **Variants / types:**
21
+
22
+ - `modal-type="modal"` -- full overlay for task completion with forms and richer content
23
+ - `modal-type="dialog"` -- lighter variant for simpler, message-style interactions
24
+
25
+ **Usage notes:**
26
+
27
+ - `subheading` should not be used when the parent `wm-modal` has `modal-type="dialog"`.
28
+ - Clicking the close button delegates to the parent modal's `emitCloseEvent()`, which fires
29
+ `wmModalCloseTriggered`. The host application must set the parent modal's `open` to false
30
+ in response.
31
+
32
+ **Props:**
33
+ - `heading` -- The main title text displayed in the modal header. _(required; default: `""`)_
34
+ - `subheading` -- Optional descriptive text displayed below the heading. Should not be used
35
+ when the parent modal has `modal-type="dialog"`. _(default: `""`)_
36
+
37
+ **Accessibility:**
38
+
39
+ - Conditional DOM rendering based on open state: Modal must always be present in the DOM; use the open prop to control visibility. Removing it from the DOM can permanently break page scrolling.
40
+
41
+ **Related components:**
42
+
43
+ - Dialog (modal-type="dialog") -- Dialog is the lighter variant of the same component, intended for simpler message-style interactions; Modal is for task completion with forms and richer content.
44
+ - `<wm-flyout>` -- if the task is longer, benefits from more horizontal space, or should coexist alongside the underlying page rather than block it entirely, use Flyout; Modal is for short, blocking, self-contained tasks.
45
+ - Light Immersive Layout -- if the workflow is too complex or content-heavy for a Modal, escalate to a light immersive view; Modal is not suited to multi-faceted or lengthy workflows.
46
+
47
+ **Code example:**
48
+
49
+ _Basic header_
50
+
51
+ ```html
52
+ <wm-modal-header heading="Confirm action"></wm-modal-header>
53
+ ```
54
+
55
+ _Basic header_
56
+
57
+ ```react
58
+ <WmModalHeader heading="Confirm action" />
59
+ ```
60
+
61
+ _Header with subheading_
62
+
63
+ ```html
64
+ <wm-modal-header heading="Export data" subheading="This may take a few minutes."></wm-modal-header>
65
+ ```
66
+
67
+ _Header with subheading_
68
+
69
+ ```react
70
+ <WmModalHeader heading="Export data" subheading="This may take a few minutes." />
71
+ ```
@@ -0,0 +1,172 @@
1
+ ### Modal
2
+ - **Element:** `<wm-modal>`
3
+
4
+ **Purpose:** Modal dialog that overlays the page. Renders as a full-bleed `modal` (default) or a
5
+ smaller centered `dialog`. Content is provided through wm-modal-header, wm-modal-footer,
6
+ and arbitrary slotted children.
7
+
8
+ **When to use:**
9
+
10
+ - **Collecting or editing a focused set of information** -- when a user needs to fill out a short form or make a confined set of edits that must be completed or explicitly dismissed before anything else can happen, Modal creates the necessary interruption and focus.
11
+ - **Confirming a consequential or destructive action** -- when the user has initiated something that warrants deliberate confirmation (such as permanently deleting a record), use Modal with deleteStyle on the footer to signal danger and require an explicit choice before proceeding.
12
+ - **Running a short sequential workflow** -- when a task can be broken into a small number of steps using a stepper, Modal can host that progression, provided the workflow is compact enough that a full-page view is not warranted.
13
+ - **Triggering a secondary confirmation from a primary action** -- a Modal's primary action can open an additional Modal, so a two-stage confirmation (e.g., submit then confirm submission) is a supported and appropriate use.
14
+
15
+ **Do not use for:**
16
+
17
+ - **Content that is too large for a centered overlay** -- if there is too much content to display comfortably, use a Flyout or light immersive view instead; Modal is not designed to host expansive content.
18
+ - **More than one primary action** -- if more than one distinct action can be taken, break the workflow into separate Modals or reconsider the pattern entirely.
19
+ - **Launching a Flyout or side panel from within a Modal** -- stacking containers at this level breaks user orientation and focus management.
20
+
21
+ **Variants / types:**
22
+
23
+ - `modal-type="modal"` -- full overlay for task completion with forms and richer content
24
+ - `modal-type="dialog"` -- lighter variant for simpler, message-style interactions
25
+
26
+ **Usage notes:**
27
+
28
+ - Always render the component and toggle `open` -- do not conditionally mount/unmount it.
29
+ Conditional rendering breaks the `aria-live` region detection and can cause body-scroll issues.
30
+ - In React, set `open` imperatively via a ref (`ref.current.open = true/false`) rather than
31
+ passing it as a prop. Using the prop triggers a React re-render that interferes with the
32
+ native `<dialog>` focus-return mechanism and causes `:focus-visible` styles to appear on
33
+ the trigger element after close.
34
+ - For scrollable modal content, set `overflow: auto` on the content wrapper and reset
35
+ `scrollTop` when reopening a previously scrolled modal.
36
+ - On mobile (<768px) with `modal-type="dialog"`, `element-to-focus` targeting a footer button
37
+ is overridden to the close button to avoid disorienting scroll behavior.
38
+
39
+ **Props:**
40
+ - `element-to-focus` -- Element to focus when the modal opens. Pass `"primary"` or `"secondary"` to
41
+ focus the corresponding wm-modal-footer button, or an element `id` to focus a specific
42
+ element in the modal body. Defaults to the close button. Requires `id` to be set on
43
+ `<wm-modal>` when targeting footer buttons. _(default: `""`)_
44
+ - `modal-type` -- Visual presentation style. `'modal'` renders a full-bleed overlay; `'dialog'`
45
+ renders a smaller centered panel. _(type: `"dialog" | "modal"`; default: `"modal"`)_
46
+ - `open` -- Controls the open/closed state of the modal. Always render the component and
47
+ toggle this prop -- do not conditionally mount/unmount. _(default: `false`)_
48
+ - `uid` -- Unique identifier used internally to wire `aria-labelledby` and
49
+ `aria-describedby` relationships. Set automatically from the element's `id` attribute or
50
+ generated if absent -- do not set this prop manually. _(required)_
51
+
52
+ **Slots:**
53
+ - _(default)_ -- Modal content: wm-modal-header, body content, and wm-modal-footer.
54
+
55
+ **Events:**
56
+ - `wmModalCloseTriggered` -- Fires when the close button is clicked or Escape is pressed. Does not bubble,
57
+ preventing nested modals from closing simultaneously. The host application must set `open`
58
+ to false in response.
59
+ - `wmModalPrimaryTriggered` -- Fires when the wm-modal-footer primary button is clicked.
60
+ - `wmModalSecondaryTriggered` -- Fires when the wm-modal-footer secondary button is clicked.
61
+
62
+ **Methods:**
63
+ - `emitCloseEvent() => Promise<void>` -- Programmatically fires `wmModalCloseTriggered`. Use when you need to trigger
64
+ a close from outside the modal without simulating a button click.
65
+ - **Returns:** A promise that resolves once the event has been emitted.
66
+ - `emitPrimaryEvent() => Promise<void>` -- Programmatically fires `wmModalPrimaryTriggered`. Use when you need to trigger
67
+ the primary action from outside the modal.
68
+ - **Returns:** A promise that resolves once the event has been emitted.
69
+ - `emitSecondaryEvent() => Promise<void>` -- Programmatically fires `wmModalSecondaryTriggered`. Use when you need to trigger
70
+ the secondary action from outside the modal.
71
+ - **Returns:** A promise that resolves once the event has been emitted.
72
+
73
+ **Required setup:**
74
+
75
+ - Drive `open` from your own state: true to show the modal, false to hide it. In React set it
76
+ through a ref (`ref.current.open = true`) rather than as a prop, which breaks the native dialog
77
+ focus-return.
78
+ - Handle `wmModalCloseTriggered` -- the close button and Escape -- by setting `open = false`. It
79
+ does not bubble, so attach the listener to the element itself.
80
+ - Handle `wmModalPrimaryTriggered` and `wmModalSecondaryTriggered` for whichever wm-modal-footer
81
+ buttons you render, setting `open = false` to dismiss.
82
+ - Reset the content wrapper's `scrollTop` to 0 when reopening, if the body content scrolls.
83
+
84
+ **Accessibility:**
85
+
86
+ - Rendered as a `<dialog>` element with `aria-labelledby` pointing to the heading.
87
+ - When footer buttons receive initial focus (`element-to-focus="primary"` or `"secondary"`),
88
+ the element `id` on `<wm-modal>` is required -- it is used to construct `aria-describedby`
89
+ relationships between the heading, content, and footer.
90
+ - The content wrapper must have `id="content-[id of wm-modal]"` for the aria-describedby association.
91
+ - Focus returns automatically to the element that was active when the modal opened.
92
+ - **Keyboard:**
93
+ - **Tab**: Advances focus through focusable elements; wraps from the last element back to the first.
94
+ - **Shift+Tab**: Moves focus backward; wraps from the first element to the last.
95
+ - **Escape**: Fires `wmModalCloseTriggered` (the host application must set `open = false` on the element ref in response).
96
+ - **Enter / Space**: Activates the focused button.
97
+
98
+ **Related components:**
99
+
100
+ - Dialog (modal-type="dialog") -- Dialog is the lighter variant of the same component, intended for simpler message-style interactions; Modal is for task completion with forms and richer content.
101
+ - `<wm-flyout>` -- if the task is longer, benefits from more horizontal space, or should coexist alongside the underlying page rather than block it entirely, use Flyout; Modal is for short, blocking, self-contained tasks.
102
+ - Light Immersive Layout -- if the workflow is too complex or content-heavy for a Modal, escalate to a light immersive view; Modal is not suited to multi-faceted or lengthy workflows.
103
+
104
+ **Code example:**
105
+
106
+ _Basic modal_
107
+
108
+ ```html
109
+ <wm-modal id="confirm-modal" open>
110
+ <wm-modal-header heading="Confirm action"></wm-modal-header>
111
+ <div id="content-confirm-modal">Are you sure you want to continue?</div>
112
+ <wm-modal-footer primary-text="Confirm" secondary-text="Cancel"></wm-modal-footer>
113
+ </wm-modal>
114
+ ```
115
+
116
+ _Basic modal_
117
+
118
+ ```react
119
+ // Set open imperatively via ref -- do not use open={} as a React prop.
120
+ // This preserves the native <dialog> focus-return without triggering :focus-visible.
121
+ const modalRef = useRef(null);
122
+
123
+ const openModal = () => { modalRef.current.open = true; };
124
+ const closeModal = () => { modalRef.current.open = false; };
125
+
126
+ <WmButton onClick={openModal}>Open modal</WmButton>
127
+
128
+ <WmModal
129
+ ref={modalRef}
130
+ id="confirm-modal"
131
+ onWmModalCloseTriggered={closeModal}
132
+ onWmModalPrimaryTriggered={closeModal}
133
+ onWmModalSecondaryTriggered={closeModal}
134
+ >
135
+ <WmModalHeader heading="Confirm action" />
136
+ <div id="content-confirm-modal">Are you sure you want to continue?</div>
137
+ <WmModalFooter primaryText="Confirm" secondaryText="Cancel" />
138
+ </WmModal>
139
+ ```
140
+
141
+ _Dialog type (smaller, centered)_
142
+
143
+ ```html
144
+ <wm-modal id="info-dialog" modal-type="dialog" open>
145
+ <wm-modal-header heading="Information"></wm-modal-header>
146
+ <div id="content-info-dialog">This is additional context.</div>
147
+ <wm-modal-footer primary-text="Got it"></wm-modal-footer>
148
+ </wm-modal>
149
+ ```
150
+
151
+ _Dialog type_
152
+
153
+ ```react
154
+ const dialogRef = useRef(null);
155
+
156
+ const openDialog = () => { dialogRef.current.open = true; };
157
+ const closeDialog = () => { dialogRef.current.open = false; };
158
+
159
+ <WmButton onClick={openDialog}>Open dialog</WmButton>
160
+
161
+ <WmModal
162
+ ref={dialogRef}
163
+ id="info-dialog"
164
+ modalType="dialog"
165
+ onWmModalCloseTriggered={closeDialog}
166
+ onWmModalPrimaryTriggered={closeDialog}
167
+ >
168
+ <WmModalHeader heading="Information" />
169
+ <div id="content-info-dialog">This is additional context.</div>
170
+ <WmModalFooter primaryText="Got it" />
171
+ </WmModal>
172
+ ```