@watermarkinsights/ripple 5.31.1 → 5.32.0-alpha.10

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 (323) hide show
  1. package/dist/cjs/{app-globals-18338066.js → app-globals-69004520.js} +1 -1
  2. package/dist/cjs/loader.cjs.js +2 -2
  3. package/dist/cjs/priv-calendar.cjs.entry.js +1 -1
  4. package/dist/cjs/priv-chart-popover-old.cjs.entry.js +1 -1
  5. package/dist/cjs/priv-chart-popover_2.cjs.entry.js +2 -2
  6. package/dist/cjs/priv-navigator-button.cjs.entry.js +2 -2
  7. package/dist/cjs/priv-navigator-item.cjs.entry.js +2 -2
  8. package/dist/cjs/priv-option-list.cjs.entry.js +1 -1
  9. package/dist/cjs/ripple.cjs.js +2 -2
  10. package/dist/cjs/wm-action-menu_2.cjs.entry.js +58 -21
  11. package/dist/cjs/wm-button.cjs.entry.js +2 -2
  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-stack.cjs.entry.js +1 -1
  15. package/dist/cjs/wm-chart.cjs.entry.js +1 -1
  16. package/dist/cjs/wm-date-range.cjs.entry.js +1 -1
  17. package/dist/cjs/wm-datepicker.cjs.entry.js +1 -1
  18. package/dist/cjs/wm-file-list.cjs.entry.js +2 -2
  19. package/dist/cjs/wm-file.cjs.entry.js +2 -2
  20. package/dist/cjs/wm-flyout.cjs.entry.js +2 -2
  21. package/dist/cjs/wm-input.cjs.entry.js +2 -2
  22. package/dist/cjs/wm-line-chart.cjs.entry.js +1 -1
  23. package/dist/cjs/wm-modal-pss_3.cjs.entry.js +7 -7
  24. package/dist/cjs/wm-modal_3.cjs.entry.js +7 -7
  25. package/dist/cjs/wm-navigation_3.cjs.entry.js +7 -7
  26. package/dist/cjs/wm-navigator.cjs.entry.js +1 -1
  27. package/dist/cjs/wm-nested-select.cjs.entry.js +8 -6
  28. package/dist/cjs/wm-optgroup.cjs.entry.js +1 -1
  29. package/dist/cjs/wm-option_2.cjs.entry.js +9 -8
  30. package/dist/cjs/wm-pagination.cjs.entry.js +2 -2
  31. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +2 -2
  32. package/dist/cjs/wm-search.cjs.entry.js +3 -3
  33. package/dist/cjs/wm-snackbar.cjs.entry.js +3 -3
  34. package/dist/cjs/wm-tab-item_3.cjs.entry.js +9 -9
  35. package/dist/cjs/wm-tag-input.cjs.entry.js +47 -22
  36. package/dist/cjs/wm-textarea.cjs.entry.js +2 -2
  37. package/dist/cjs/wm-timepicker.cjs.entry.js +3 -3
  38. package/dist/cjs/wm-toggletip.cjs.entry.js +4 -4
  39. package/dist/cjs/wm-uploader.cjs.entry.js +3 -3
  40. package/dist/collection/components/selects/wm-nested-select/wm-nested-select.js +7 -5
  41. package/dist/collection/components/selects/wm-select/wm-select.css +0 -13
  42. package/dist/collection/components/selects/wm-select/wm-select.js +7 -6
  43. package/dist/collection/components/wm-action-menu/wm-action-menu.css +13 -6
  44. package/dist/collection/components/wm-action-menu/wm-action-menu.js +221 -36
  45. package/dist/collection/components/wm-button/wm-button.css +8 -2
  46. package/dist/collection/components/wm-button/wm-button.js +2 -2
  47. package/dist/collection/components/wm-file/wm-file.js +15 -1
  48. package/dist/collection/components/wm-file-list/wm-file-list.js +1 -1
  49. package/dist/collection/components/wm-flyout/wm-flyout.js +14 -4
  50. package/dist/collection/components/wm-input/wm-input.js +1 -1
  51. package/dist/collection/components/wm-menuitem/wm-menuitem.js +26 -11
  52. package/dist/collection/components/wm-modal/wm-modal-footer.js +1 -1
  53. package/dist/collection/components/wm-modal/wm-modal-header.js +1 -1
  54. package/dist/collection/components/wm-modal/wm-modal.js +14 -4
  55. package/dist/collection/components/wm-modal-pss/wm-modal-pss-footer.js +1 -1
  56. package/dist/collection/components/wm-modal-pss/wm-modal-pss-header.js +1 -1
  57. package/dist/collection/components/wm-modal-pss/wm-modal-pss.js +2 -2
  58. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +1 -1
  59. package/dist/collection/components/wm-navigation/wm-navigation-item.js +1 -1
  60. package/dist/collection/components/wm-navigation/wm-navigation.js +2 -2
  61. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +1 -1
  62. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +1 -1
  63. package/dist/collection/components/wm-pagination/wm-pagination.js +8 -1
  64. package/dist/collection/components/wm-search/wm-search.js +10 -2
  65. package/dist/collection/components/wm-snackbar/wm-snackbar.js +10 -2
  66. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +14 -3
  67. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +10 -3
  68. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +11 -2
  69. package/dist/collection/components/wm-tag-input/wm-tag-input.js +47 -22
  70. package/dist/collection/components/wm-textarea/wm-textarea.js +1 -1
  71. package/dist/collection/components/wm-timepicker/wm-timepicker.js +2 -2
  72. package/dist/collection/components/wm-toggletip/wm-toggletip.js +3 -3
  73. package/dist/collection/components/wm-uploader/wm-uploader.css +8 -2
  74. package/dist/collection/components/wm-uploader/wm-uploader.js +14 -2
  75. package/dist/docs/docs.json +260 -111
  76. package/dist/docs/props-reference.json +55 -38
  77. package/dist/docs/skill/wm-action-menu.md +26 -12
  78. package/dist/docs/skill/wm-button.md +2 -1
  79. package/dist/docs/skill/wm-chart-legend.md +1 -1
  80. package/dist/docs/skill/wm-chart-slice.md +1 -1
  81. package/dist/docs/skill/wm-chart.md +1 -1
  82. package/dist/docs/skill/wm-date-range.md +2 -2
  83. package/dist/docs/skill/wm-datepicker.md +1 -1
  84. package/dist/docs/skill/wm-file.md +14 -0
  85. package/dist/docs/skill/wm-flyout.md +14 -3
  86. package/dist/docs/skill/wm-menuitem.md +12 -10
  87. package/dist/docs/skill/wm-modal-footer.md +1 -1
  88. package/dist/docs/skill/wm-modal-header.md +1 -1
  89. package/dist/docs/skill/wm-modal.md +13 -2
  90. package/dist/docs/skill/wm-navigation-hamburger.md +1 -1
  91. package/dist/docs/skill/wm-navigator.md +1 -1
  92. package/dist/docs/skill/wm-nested-select.md +1 -1
  93. package/dist/docs/skill/wm-pagination.md +11 -3
  94. package/dist/docs/skill/wm-progress-indicator.md +1 -1
  95. package/dist/docs/skill/wm-progress-slice.md +1 -1
  96. package/dist/docs/skill/wm-search.md +11 -2
  97. package/dist/docs/skill/wm-select.md +1 -1
  98. package/dist/docs/skill/wm-snackbar.md +10 -1
  99. package/dist/docs/skill/wm-tab-item.md +9 -3
  100. package/dist/docs/skill/wm-tab-list.md +8 -0
  101. package/dist/docs/skill/wm-tab-panel.md +7 -3
  102. package/dist/docs/skill/wm-timepicker.md +1 -1
  103. package/dist/docs/skill/wm-toggletip.md +1 -1
  104. package/dist/docs/skill/wm-uploader.md +12 -0
  105. package/dist/esm/{app-globals-404ba075.js → app-globals-d76c191d.js} +1 -1
  106. package/dist/esm/loader.js +2 -2
  107. package/dist/esm/priv-calendar.entry.js +1 -1
  108. package/dist/esm/priv-chart-popover-old.entry.js +1 -1
  109. package/dist/esm/priv-chart-popover_2.entry.js +2 -2
  110. package/dist/esm/priv-navigator-button.entry.js +2 -2
  111. package/dist/esm/priv-navigator-item.entry.js +2 -2
  112. package/dist/esm/priv-option-list.entry.js +1 -1
  113. package/dist/esm/ripple.js +2 -2
  114. package/dist/esm/wm-action-menu_2.entry.js +58 -21
  115. package/dist/esm/wm-button.entry.js +2 -2
  116. package/dist/esm/wm-chart-bar.entry.js +1 -1
  117. package/dist/esm/wm-chart-column.entry.js +1 -1
  118. package/dist/esm/wm-chart-stack.entry.js +1 -1
  119. package/dist/esm/wm-chart.entry.js +1 -1
  120. package/dist/esm/wm-date-range.entry.js +1 -1
  121. package/dist/esm/wm-datepicker.entry.js +1 -1
  122. package/dist/esm/wm-file-list.entry.js +2 -2
  123. package/dist/esm/wm-file.entry.js +2 -2
  124. package/dist/esm/wm-flyout.entry.js +2 -2
  125. package/dist/esm/wm-input.entry.js +2 -2
  126. package/dist/esm/wm-line-chart.entry.js +1 -1
  127. package/dist/esm/wm-modal-pss_3.entry.js +7 -7
  128. package/dist/esm/wm-modal_3.entry.js +7 -7
  129. package/dist/esm/wm-navigation_3.entry.js +7 -7
  130. package/dist/esm/wm-navigator.entry.js +1 -1
  131. package/dist/esm/wm-nested-select.entry.js +8 -6
  132. package/dist/esm/wm-optgroup.entry.js +1 -1
  133. package/dist/esm/wm-option_2.entry.js +9 -8
  134. package/dist/esm/wm-pagination.entry.js +2 -2
  135. package/dist/esm/wm-progress-indicator_3.entry.js +2 -2
  136. package/dist/esm/wm-search.entry.js +3 -3
  137. package/dist/esm/wm-snackbar.entry.js +3 -3
  138. package/dist/esm/wm-tab-item_3.entry.js +9 -9
  139. package/dist/esm/wm-tag-input.entry.js +48 -23
  140. package/dist/esm/wm-textarea.entry.js +2 -2
  141. package/dist/esm/wm-timepicker.entry.js +3 -3
  142. package/dist/esm/wm-toggletip.entry.js +4 -4
  143. package/dist/esm/wm-uploader.entry.js +3 -3
  144. package/dist/index.js +1 -1
  145. package/dist/loader/cdn.js +1 -2
  146. package/dist/loader/index.cjs.js +1 -2
  147. package/dist/loader/index.es2017.js +0 -1
  148. package/dist/loader/index.js +1 -2
  149. package/dist/ripple/p-0d364411.entry.js +1 -0
  150. package/dist/ripple/{p-e38cfdb1.entry.js → p-156c4d1d.entry.js} +1 -1
  151. package/dist/ripple/{p-1065318f.entry.js → p-26d8c356.entry.js} +1 -1
  152. package/dist/ripple/p-27b90777.entry.js +1 -0
  153. package/dist/ripple/p-2b23ce49.entry.js +1 -0
  154. package/dist/ripple/p-2b7cc2c1.entry.js +1 -0
  155. package/dist/ripple/p-35db9386.entry.js +1 -0
  156. package/dist/ripple/p-38a987ac.entry.js +1 -0
  157. package/dist/{esm-es5/wm-datepicker.entry.js → ripple/p-38b05894.entry.js} +1 -1
  158. package/dist/ripple/p-38dee4ab.entry.js +1 -0
  159. package/dist/{esm-es5/wm-pagination.entry.js → ripple/p-3a19d019.entry.js} +1 -1
  160. package/dist/ripple/p-507f2cf4.entry.js +1 -0
  161. package/dist/{esm-es5/priv-chart-popover_2.entry.js → ripple/p-54ff1220.entry.js} +1 -1
  162. package/dist/ripple/{p-3ca113f7.system.entry.js → p-59f74ead.entry.js} +1 -1
  163. package/dist/{esm-es5/wm-chart.entry.js → ripple/p-680d7606.entry.js} +1 -1
  164. package/dist/ripple/{p-d8afebd1.system.entry.js → p-6db681c8.entry.js} +1 -1
  165. package/dist/ripple/{p-3cb61d2e.entry.js → p-6f1cabab.entry.js} +1 -1
  166. package/dist/ripple/p-72d135ee.entry.js +1 -0
  167. package/dist/ripple/{p-5f907857.entry.js → p-83cdad78.entry.js} +1 -1
  168. package/dist/ripple/p-88e44511.entry.js +1 -0
  169. package/dist/ripple/{p-5c827b9a.system.entry.js → p-936adffb.entry.js} +1 -1
  170. package/dist/ripple/p-9ea38d96.entry.js +1 -0
  171. package/dist/ripple/p-a82ad01f.entry.js +1 -0
  172. package/dist/ripple/p-b97209cd.js +1 -0
  173. package/dist/ripple/p-be3e4e7c.entry.js +1 -0
  174. package/dist/ripple/p-c9c7df12.entry.js +1 -0
  175. package/dist/ripple/p-dab86523.entry.js +1 -0
  176. package/dist/{esm-es5/wm-file-list.entry.js → ripple/p-e4aa6e27.entry.js} +1 -1
  177. package/dist/{esm-es5/wm-nested-select.entry.js → ripple/p-ea02567a.entry.js} +1 -1
  178. package/dist/ripple/{p-36fa4099.entry.js → p-ed053612.entry.js} +1 -1
  179. package/dist/ripple/p-f43f621b.entry.js +1 -0
  180. package/dist/ripple/p-f48d30d6.entry.js +1 -0
  181. package/dist/ripple/{p-0c2c2c34.system.entry.js → p-f6aad57c.entry.js} +1 -1
  182. package/dist/ripple/p-f6e1beb5.entry.js +1 -0
  183. package/dist/ripple/{p-cb519e85.entry.js → p-fc843bb8.entry.js} +1 -1
  184. package/dist/ripple/{p-ca3630fb.system.entry.js → p-fd997764.entry.js} +1 -1
  185. package/dist/ripple/p-fffb46ad.entry.js +1 -0
  186. package/dist/ripple/ripple.esm.js +1 -1
  187. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +86 -18
  188. package/dist/types/components/wm-button/wm-button.d.ts +2 -1
  189. package/dist/types/components/wm-file/wm-file.d.ts +14 -0
  190. package/dist/types/components/wm-flyout/wm-flyout.d.ts +13 -3
  191. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +25 -11
  192. package/dist/types/components/wm-modal/wm-modal.d.ts +12 -2
  193. package/dist/types/components/wm-pagination/wm-pagination.d.ts +7 -0
  194. package/dist/types/components/wm-search/wm-search.d.ts +8 -0
  195. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +8 -0
  196. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +11 -2
  197. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +7 -0
  198. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +9 -2
  199. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +5 -2
  200. package/dist/types/components/wm-uploader/wm-uploader.d.ts +12 -0
  201. package/dist/types/components.d.ts +600 -146
  202. package/package.json +2 -4
  203. package/dist/esm/polyfills/core-js.js +0 -11
  204. package/dist/esm/polyfills/dom.js +0 -79
  205. package/dist/esm/polyfills/es5-html-element.js +0 -1
  206. package/dist/esm/polyfills/index.js +0 -34
  207. package/dist/esm/polyfills/system.js +0 -6
  208. package/dist/esm-es5/app-globals-404ba075.js +0 -1
  209. package/dist/esm-es5/chartFunctions-58637dc9.js +0 -1
  210. package/dist/esm-es5/functions-65f1594c.js +0 -1
  211. package/dist/esm-es5/index-3425d80d.js +0 -1
  212. package/dist/esm-es5/index.js +0 -0
  213. package/dist/esm-es5/interfaces-8778346d.js +0 -1
  214. package/dist/esm-es5/intl-d518f362.js +0 -1
  215. package/dist/esm-es5/loader.js +0 -1
  216. package/dist/esm-es5/priv-calendar.entry.js +0 -1
  217. package/dist/esm-es5/priv-chart-popover-old.entry.js +0 -1
  218. package/dist/esm-es5/priv-navigator-button.entry.js +0 -1
  219. package/dist/esm-es5/priv-navigator-item.entry.js +0 -1
  220. package/dist/esm-es5/priv-option-list.entry.js +0 -1
  221. package/dist/esm-es5/ripple.js +0 -1
  222. package/dist/esm-es5/wm-action-menu_2.entry.js +0 -1
  223. package/dist/esm-es5/wm-button.entry.js +0 -1
  224. package/dist/esm-es5/wm-chart-bar.entry.js +0 -1
  225. package/dist/esm-es5/wm-chart-column.entry.js +0 -1
  226. package/dist/esm-es5/wm-chart-slice.entry.js +0 -1
  227. package/dist/esm-es5/wm-chart-stack.entry.js +0 -1
  228. package/dist/esm-es5/wm-date-range.entry.js +0 -1
  229. package/dist/esm-es5/wm-file.entry.js +0 -1
  230. package/dist/esm-es5/wm-flyout.entry.js +0 -1
  231. package/dist/esm-es5/wm-input.entry.js +0 -1
  232. package/dist/esm-es5/wm-line-chart.entry.js +0 -1
  233. package/dist/esm-es5/wm-modal-pss_3.entry.js +0 -1
  234. package/dist/esm-es5/wm-modal_3.entry.js +0 -1
  235. package/dist/esm-es5/wm-navigation_3.entry.js +0 -1
  236. package/dist/esm-es5/wm-navigator.entry.js +0 -1
  237. package/dist/esm-es5/wm-optgroup.entry.js +0 -1
  238. package/dist/esm-es5/wm-option_2.entry.js +0 -1
  239. package/dist/esm-es5/wm-progress-indicator_3.entry.js +0 -1
  240. package/dist/esm-es5/wm-search.entry.js +0 -1
  241. package/dist/esm-es5/wm-snackbar.entry.js +0 -1
  242. package/dist/esm-es5/wm-tab-item_3.entry.js +0 -1
  243. package/dist/esm-es5/wm-tag-input.entry.js +0 -1
  244. package/dist/esm-es5/wm-tag-option.entry.js +0 -1
  245. package/dist/esm-es5/wm-textarea.entry.js +0 -1
  246. package/dist/esm-es5/wm-timepicker.entry.js +0 -1
  247. package/dist/esm-es5/wm-toggletip.entry.js +0 -1
  248. package/dist/esm-es5/wm-uploader.entry.js +0 -1
  249. package/dist/esm-es5/wm-wrapper.entry.js +0 -1
  250. package/dist/ripple/p-00e385ef.system.js +0 -1
  251. package/dist/ripple/p-018bf4f9.entry.js +0 -1
  252. package/dist/ripple/p-096d5a3c.entry.js +0 -1
  253. package/dist/ripple/p-0a9acd91.system.entry.js +0 -1
  254. package/dist/ripple/p-113926eb.entry.js +0 -1
  255. package/dist/ripple/p-129750da.entry.js +0 -1
  256. package/dist/ripple/p-22d07460.system.entry.js +0 -1
  257. package/dist/ripple/p-2591f07f.entry.js +0 -1
  258. package/dist/ripple/p-330068df.system.js +0 -1
  259. package/dist/ripple/p-3574c533.system.js +0 -2
  260. package/dist/ripple/p-4a562d4e.entry.js +0 -1
  261. package/dist/ripple/p-4bc07b48.system.entry.js +0 -1
  262. package/dist/ripple/p-4c8b6b15.entry.js +0 -1
  263. package/dist/ripple/p-50ea2036.system.js +0 -1
  264. package/dist/ripple/p-5400030d.system.entry.js +0 -1
  265. package/dist/ripple/p-59db03c4.system.entry.js +0 -1
  266. package/dist/ripple/p-5a274707.entry.js +0 -1
  267. package/dist/ripple/p-5eb2115a.system.entry.js +0 -1
  268. package/dist/ripple/p-62911dec.system.entry.js +0 -1
  269. package/dist/ripple/p-6c0e98ec.entry.js +0 -1
  270. package/dist/ripple/p-72ca642e.system.js +0 -1
  271. package/dist/ripple/p-7911d421.system.entry.js +0 -1
  272. package/dist/ripple/p-79175cd4.entry.js +0 -1
  273. package/dist/ripple/p-8011a8f9.entry.js +0 -1
  274. package/dist/ripple/p-8255fd04.system.js +0 -1
  275. package/dist/ripple/p-86cbb41a.system.entry.js +0 -1
  276. package/dist/ripple/p-8fa5551f.js +0 -1
  277. package/dist/ripple/p-94aa7628.entry.js +0 -1
  278. package/dist/ripple/p-9a287dfd.entry.js +0 -1
  279. package/dist/ripple/p-9bbe78c8.system.entry.js +0 -1
  280. package/dist/ripple/p-9d985e27.system.entry.js +0 -1
  281. package/dist/ripple/p-9deec7b8.system.entry.js +0 -1
  282. package/dist/ripple/p-9e48d58b.system.entry.js +0 -1
  283. package/dist/ripple/p-a1fa8314.system.entry.js +0 -1
  284. package/dist/ripple/p-a27f305f.entry.js +0 -1
  285. package/dist/ripple/p-a4fe94cc.system.entry.js +0 -1
  286. package/dist/ripple/p-a59d6e71.system.js +0 -1
  287. package/dist/ripple/p-a785cf00.system.entry.js +0 -1
  288. package/dist/ripple/p-a83561fb.system.entry.js +0 -1
  289. package/dist/ripple/p-af2df599.system.entry.js +0 -1
  290. package/dist/ripple/p-b1595002.entry.js +0 -1
  291. package/dist/ripple/p-b269d181.entry.js +0 -1
  292. package/dist/ripple/p-b3c68d4a.system.entry.js +0 -1
  293. package/dist/ripple/p-b5e189f9.entry.js +0 -1
  294. package/dist/ripple/p-b737f97a.entry.js +0 -1
  295. package/dist/ripple/p-bac27269.system.entry.js +0 -1
  296. package/dist/ripple/p-bc4ffa23.entry.js +0 -1
  297. package/dist/ripple/p-be591f75.entry.js +0 -1
  298. package/dist/ripple/p-c4285af5.system.entry.js +0 -1
  299. package/dist/ripple/p-c75d5af1.system.entry.js +0 -1
  300. package/dist/ripple/p-c895a1f9.entry.js +0 -1
  301. package/dist/ripple/p-d3ad1fa9.system.entry.js +0 -1
  302. package/dist/ripple/p-d4c18268.entry.js +0 -1
  303. package/dist/ripple/p-d4ee4a88.system.entry.js +0 -1
  304. package/dist/ripple/p-d6ee031f.entry.js +0 -1
  305. package/dist/ripple/p-da7d77db.system.entry.js +0 -1
  306. package/dist/ripple/p-db74df09.entry.js +0 -1
  307. package/dist/ripple/p-dbebf84f.entry.js +0 -1
  308. package/dist/ripple/p-e157ce5d.entry.js +0 -1
  309. package/dist/ripple/p-e4670975.entry.js +0 -1
  310. package/dist/ripple/p-e7a28ae6.system.entry.js +0 -1
  311. package/dist/ripple/p-e7e4e532.entry.js +0 -1
  312. package/dist/ripple/p-e97166ce.system.entry.js +0 -1
  313. package/dist/ripple/p-e986f5b9.system.js +0 -1
  314. package/dist/ripple/p-ed77beab.system.entry.js +0 -1
  315. package/dist/ripple/p-f1e08a71.system.entry.js +0 -1
  316. package/dist/ripple/p-f57d13cb.system.entry.js +0 -1
  317. package/dist/ripple/p-f73d50ee.system.entry.js +0 -1
  318. package/dist/ripple/p-f9cdeb07.system.entry.js +0 -1
  319. package/dist/ripple/p-fa6c377a.system.entry.js +0 -1
  320. package/dist/ripple/p-facd927d.system.entry.js +0 -1
  321. package/dist/ripple/p-fb2607cb.entry.js +0 -1
  322. package/dist/ripple/p-fea2bb1a.entry.js +0 -1
  323. package/dist/ripple/ripple.js +0 -127
@@ -42,6 +42,20 @@ import { debounce, hideTooltip, intl, showTooltip, truncateText } from "../../gl
42
42
  *
43
43
  * @example {react} File in error state
44
44
  * <WmFile id="file-3" name="report" type="pdf" errorMessage="Upload failed. Please try again." />
45
+ *
46
+ * @requiredSetup
47
+ * - Render it inside wm-file-list or wm-uploader; it is not a standalone control.
48
+ * - Give every wm-file a unique `id`. Its events carry no detail, so `event.target` is the only way
49
+ * to tell which file was acted on.
50
+ * - Handle the events for whichever buttons `file-actions` renders -- `wmFileDelete`,
51
+ * `wmFileDownload`, `wmFilePreview` -- bearing in mind it defaults to download and delete.
52
+ * Deleting is not automatic: wm-uploader listens for `wmFileDelete` only to move focus, so the row
53
+ * stays on screen until you drop the file from your own state.
54
+ * - Handle `wmFileErrorCleared` by clearing the `error-message` you set; the parent only restores
55
+ * focus to the upload button.
56
+ * - Update `progress` as an upload proceeds; it drives the progress bar and the aria-live
57
+ * announcement.
58
+ *
45
59
  */
46
60
  export class File {
47
61
  constructor() {
@@ -230,7 +244,7 @@ export class File {
230
244
  return (h("div", { class: `file-wrapper` }, h("div", { class: `file ${this.errorMessage ? "--error" : ""} ${this.isCondensed ? "condensed" : ""} ${this.isExtraCondensed ? "extra-condensed" : ""}` }, this.renderFileName(), showRightGroup && (h("div", { class: "right-group" }, !this.isExtraCondensed && this.renderFileInfo(), this.fileActions !== "" && this.renderFileControls())), this.errorMessage && (h("div", { class: "right-group" }, h("wm-button", { "permanently-delete": true, "button-type": "textonly", "label-for-identical-buttons": this.generateClearButtonLabel(this.name), onClick: () => this.wmFileErrorCleared.emit() }, this.clearButtonText))), this.progress == 100 && h("span", { class: "svg-icon svg-success" })), this.errorMessage && h("div", { class: "error-message" }, this.errorMessage)));
231
245
  }
232
246
  render() {
233
- return h(Host, { key: 'bfeb57d849f26080b17cce27daa1e917958ae787', role: "listitem" }, this.isUploading ? this.renderFileInProgress() : this.renderFile());
247
+ return h(Host, { key: '3d6dc80e1864ae1e61f767dbf9e46ffa13267d19', role: "listitem" }, this.isUploading ? this.renderFileInProgress() : this.renderFile());
234
248
  }
235
249
  static get is() { return "wm-file"; }
236
250
  static get encapsulation() { return "shadow"; }
@@ -71,7 +71,7 @@ export class FileList {
71
71
  this.showInfo = "last-updated";
72
72
  }
73
73
  render() {
74
- return (h("div", { key: '34e7d152296addfbecd5b011b5878f8432d15c8a', role: "list", class: "list-wrapper" }, h("slot", { key: '4ecf4cae644c132effd2b68e45c26ac8a1367378' })));
74
+ return (h("div", { key: '5e5b063af0d4845668a274a97571f52bfb8482aa', role: "list", class: "list-wrapper" }, h("slot", { key: '5e53878852fd55bdd22c922a4c7cecac79ccbb32' })));
75
75
  }
76
76
  static get is() { return "wm-file-list"; }
77
77
  static get encapsulation() { return "shadow"; }
@@ -25,8 +25,8 @@ import { globalMessages } from "../../global/intl";
25
25
  * visibility. Control visibility with the `open` prop instead.
26
26
  * - The flyout does not close on outside clicks; the host application must handle close events
27
27
  * and set `open` to false.
28
- * - In React, set `open` imperatively via a ref (`ref.current.open = true/false`). Use a native
29
- * `onClick` on the trigger element rather than `onWmButtonClicked` to open the flyout.
28
+ * - In React, set `open` imperatively via a ref (`ref.current.open = true/false`), and open the
29
+ * flyout from a click handler on the trigger element.
30
30
  * - Use `element-to-focus` to shift initial focus away from the default close button, e.g. to
31
31
  * the `primary` footer button or a specific element id for form workflows.
32
32
  * - In a multi-step workflow, drive `heading`, `breadcrumb`, `primaryText`, and `secondaryText`
@@ -55,7 +55,7 @@ import { globalMessages } from "../../global/intl";
55
55
  * </wm-flyout>
56
56
  *
57
57
  * @example {react} Basic flyout
58
- * // Set open imperatively via ref -- use onClick on the trigger, not onWmButtonClicked.
58
+ * // Set open imperatively via ref.
59
59
  * const flyoutRef = useRef(null);
60
60
  *
61
61
  * const openFlyout = () => { flyoutRef.current.open = true; };
@@ -132,6 +132,16 @@ import { globalMessages } from "../../global/intl";
132
132
  * {step === 1 && <div className="flyout-content"><WmInput label="Start date" /></div>}
133
133
  * </WmFlyout>
134
134
  *
135
+ * @requiredSetup
136
+ * - Drive `open` from your own state: true to show the flyout, false to hide it.
137
+ * - Handle `wmFlyoutCloseTriggered` by setting `open = false`. It covers the close button and
138
+ * Escape, which are the only close paths -- there is no outside-click dismissal.
139
+ * - Handle `wmFlyoutPrimaryTriggered` and `wmFlyoutSecondaryTriggered` for whichever footer buttons
140
+ * `primary-text` and `secondary-text` render, setting `open = false` to dismiss.
141
+ * - For multi-step flows, drive `heading`, `breadcrumb`, and the button text from state, call
142
+ * `focusHeading()` after each step change, and handle `wmFlyoutBreadcrumbClicked` (`event.detail`
143
+ * is `{ breadcrumb, index }`) to step backwards.
144
+ *
135
145
  */
136
146
  export class Flyout {
137
147
  constructor() {
@@ -284,7 +294,7 @@ export class Flyout {
284
294
  }
285
295
  }
286
296
  render() {
287
- return (h(Host, { key: '3f7de7dd23923c27f00c2f9141383e8c72eb0f98' }, h("dialog", { key: '9cc04d0317ca8955baf8998a75b2e38075ff052c', ref: (el) => (this.dialogEl = el), class: "flyout", "aria-labelledby": "heading", onClose: () => this.wmFlyoutCloseTriggered.emit(), onKeyDown: (ev) => this.handleKeyDown(ev) }, h("div", { key: '4ff2bb9661c927afc4708b1dcf874a9ce37369ce', tabindex: "0", class: "focus-trap", onFocus: () => this.lastFocusableEl.focus(), "aria-hidden": "true" }), this.renderHeader(), h("div", { key: '5315207d80c67e0c4b66035998b15b71f50bf391', class: "flyout-content" }, h("slot", { key: 'd861d8ff96ce0b769f1e2737d3a6ee0b43ed561c' })), this.renderFooter(), h("div", { key: 'ecc54df1e99de428c795c6494fbf115d9ee92798', tabindex: "0", class: "focus-trap", onFocus: () => this.handleEndBookendFocus(), "aria-hidden": "true" }))));
297
+ return (h(Host, { key: 'de4b5f597cc2e9fa94f0385df1d3b3b8d886f50d' }, h("dialog", { key: 'e89892a086afa301a9939bf1c5c8abda987f910f', ref: (el) => (this.dialogEl = el), class: "flyout", "aria-labelledby": "heading", onClose: () => this.wmFlyoutCloseTriggered.emit(), onKeyDown: (ev) => this.handleKeyDown(ev) }, h("div", { key: 'c0714dbbf4c6365be710b6705f30ca81d009fd53', tabindex: "0", class: "focus-trap", onFocus: () => this.lastFocusableEl.focus(), "aria-hidden": "true" }), this.renderHeader(), h("div", { key: 'ca6b64011bd3993a80db682e8a913c8a0392f3a9', class: "flyout-content" }, h("slot", { key: 'ec4f277c68885adfbe6b5379117ba8b6bfee0891' })), this.renderFooter(), h("div", { key: '27c997321b543179b24bfe6759c29a877685932f', tabindex: "0", class: "focus-trap", onFocus: () => this.handleEndBookendFocus(), "aria-hidden": "true" }))));
288
298
  }
289
299
  static get is() { return "wm-flyout"; }
290
300
  static get encapsulation() { return "shadow"; }
@@ -199,7 +199,7 @@ export class Input {
199
199
  : `info error`;
200
200
  }
201
201
  render() {
202
- return (h("div", { key: 'c931367a155c4eae1bd0d2439db88121b0e3a0cd', class: `wrapper label-${this.labelPosition} ${this.errorMessage ? "invalid" : ""}`, ref: (el) => (this.inputWrapperEl = el) }, h("div", { key: '3490e7036c092caa470ca5e351977ada8e671a84', class: "label-wrapper" }, h("label", { key: 'e9dbae2b803356bb1e478848fbe4b9ccb375ad40', htmlFor: "inputfield", class: "label", onMouseEnter: (ev) => this.handleLabelMouseEnter(ev), onMouseLeave: () => hideTooltip() }, this.label, this.characterLimit && (h("span", { key: '3fecb988224ef8fb83152c0b7064bbb597dab56f', class: "sr-only" }, " ", globalMessages.getCharacterLimit(this.characterLimit)))), this.labelPosition !== "none" && this.requiredField && (h("div", { key: 'a9189aede977f6e11dd073f5a1c60d18af2a1ac5', class: "required", "aria-hidden": "true" }, "*"))), h("div", { key: '33094bd5cef0c9a20951fc3967886b92d0ebab3a', class: "inner-wrapper" }, h("div", { key: '3984b4b8f0d940271c51809c25cfdf01aeb66629', class: "text-after-wrapper" }, h("div", { key: '11f8193e69a9e360bca130ace6cfe96b271378ea', class: `inputfield-wrapper ${this.isDisabled ? "disabled" : ""}`, style: this.getInputWidth() }, this.symbolBefore && (h("span", { key: '35914e1eb9ac4bc78f70fcea0fe1f33ccca46575', class: "symbol", id: "symbol-before" }, this.symbolBefore)), h("input", { key: 'c0ba715d0ea2107da78cbce2cb04a493fd02faeb', ref: (el) => (this.inputEl = el), id: "inputfield", disabled: this.isDisabled, "aria-describedby": this.descriptors(), onInput: (ev) => this.handleInput(ev), onKeyDown: (ev) => this.handleKeyDown(ev), onBlur: () => this.handleBlur(), onFocus: () => this.handleFocus(), placeholder: this.placeholder, autocomplete: "off", "aria-required": this.requiredField ? "true" : null, maxLength: this.characterLimit || undefined, type: this.type, step: this.step, max: this.max, min: this.min, value: this.el.value }), this.symbolAfter && (h("span", { key: '88550206453f0549d023c03478d9afbc70e81f5c', class: "symbol", id: "symbol-after" }, this.symbolAfter)), this.characterLimit && typeof this.characterLimit === "number" ? (h("div", { class: "character-count" }, this.charCount, "/", this.characterLimit)) : ("")), this.textAfter && (h("span", { key: '30e206e3705468e79fd3e0492ed27ad631565d58', class: "text-after", id: "text-after" }, this.textAfter))), this.info && (h("div", { key: '2c723e71a6ae0d74c82292d49989f91920fea1ab', id: "info", class: "info" }, this.info)), h("div", { key: '8e099e1bf7bb4be52dedd07c14bd8359e088e3bb', id: "error", class: "error-message" }, this.errorMessage), h("div", { key: 'ae05153805380b57f130e3265646c1f838228f91', class: "sr-only", "aria-live": "polite", "aria-atomic": "true", ref: (el) => (this.liveRegionEl = el) }, this.announcement))));
202
+ return (h("div", { key: 'c95455fb6668414ec09dbf301323f11fc7270e47', class: `wrapper label-${this.labelPosition} ${this.errorMessage ? "invalid" : ""}`, ref: (el) => (this.inputWrapperEl = el) }, h("div", { key: 'de0ada2ec3c43c411924417df348ebe34a477e8e', class: "label-wrapper" }, h("label", { key: '04884ea505a88026aa311a38e30cbdf049b390c3', htmlFor: "inputfield", class: "label", onMouseEnter: (ev) => this.handleLabelMouseEnter(ev), onMouseLeave: () => hideTooltip() }, this.label, this.characterLimit && (h("span", { key: '1eedd2faffbfcc670ad3b87298465ab16328a1d3', class: "sr-only" }, " ", globalMessages.getCharacterLimit(this.characterLimit)))), this.labelPosition !== "none" && this.requiredField && (h("div", { key: '51224587e46ef0132891dee01536d5cf07ea54f6', class: "required", "aria-hidden": "true" }, "*"))), h("div", { key: 'ed40b31ab7ab588f6165cc0af2ec52bb8d86509b', class: "inner-wrapper" }, h("div", { key: '67a06543806995e8b95db4186a4ea053d4d33b45', class: "text-after-wrapper" }, h("div", { key: '78ad09bd7849f5f7c422d36a6f01e156c9c6db5e', class: `inputfield-wrapper ${this.isDisabled ? "disabled" : ""}`, style: this.getInputWidth() }, this.symbolBefore && (h("span", { key: '19a85ba9d2d9d17d634ac78179dbd90b378b2b7b', class: "symbol", id: "symbol-before" }, this.symbolBefore)), h("input", { key: 'f8a4b6d837abf040d9ca1237297836d066cd3f71', ref: (el) => (this.inputEl = el), id: "inputfield", disabled: this.isDisabled, "aria-describedby": this.descriptors(), onInput: (ev) => this.handleInput(ev), onKeyDown: (ev) => this.handleKeyDown(ev), onBlur: () => this.handleBlur(), onFocus: () => this.handleFocus(), placeholder: this.placeholder, autocomplete: "off", "aria-required": this.requiredField ? "true" : null, maxLength: this.characterLimit || undefined, type: this.type, step: this.step, max: this.max, min: this.min, value: this.el.value }), this.symbolAfter && (h("span", { key: '105dec7aa348f910b25db38b86eec650c943ef40', class: "symbol", id: "symbol-after" }, this.symbolAfter)), this.characterLimit && typeof this.characterLimit === "number" ? (h("div", { class: "character-count" }, this.charCount, "/", this.characterLimit)) : ("")), this.textAfter && (h("span", { key: '2ea643f3a9bc736bb33200d5cf87600e14aa2f18', class: "text-after", id: "text-after" }, this.textAfter))), this.info && (h("div", { key: '07e341cfc2b91a6bcf4880158aa735fd06ea51ea', id: "info", class: "info" }, this.info)), h("div", { key: '41f5fe8184dd6d15e868a9212c61f2a70dcdb9a9', id: "error", class: "error-message" }, this.errorMessage), h("div", { key: '860193d77a6576a5aec0c133f43bffe72a853e57', class: "sr-only", "aria-live": "polite", "aria-atomic": "true", ref: (el) => (this.liveRegionEl = el) }, this.announcement))));
203
203
  }
204
204
  static get is() { return "wm-input"; }
205
205
  static get encapsulation() { return "shadow"; }
@@ -16,27 +16,39 @@ import { getIconCodeFromName } from "../../global/interfaces";
16
16
  *
17
17
  * @example {html} Basic menu items
18
18
  * <wm-action-menu tooltip="Actions">
19
- * <wm-menuitem>Edit</wm-menuitem>
20
- * <wm-menuitem>Delete</wm-menuitem>
19
+ * <wm-menuitem onclick="editRecord()">Edit</wm-menuitem>
20
+ * <wm-menuitem onclick="deleteRecord()">Delete</wm-menuitem>
21
21
  * </wm-action-menu>
22
22
  *
23
23
  * @example {react} Basic menu items
24
24
  * <WmActionMenu tooltip="Actions">
25
- * <WmMenuitem>Edit</WmMenuitem>
26
- * <WmMenuitem>Delete</WmMenuitem>
25
+ * <WmMenuitem onClick={editRecord}>Edit</WmMenuitem>
26
+ * <WmMenuitem onClick={deleteRecord}>Delete</WmMenuitem>
27
27
  * </WmActionMenu>
28
28
  *
29
29
  * @example {html} Menu item with icon
30
- * <wm-menuitem icon="#edit">Edit</wm-menuitem>
30
+ * <wm-menuitem icon="#edit" onclick="editRecord()">Edit</wm-menuitem>
31
+ *
32
+ * @example {react} Menu item with icon
33
+ * <WmMenuitem icon="#edit" onClick={editRecord}>Edit</WmMenuitem>
31
34
  *
32
35
  * @example {html} Menu item with description
33
- * <wm-menuitem description="Permanently removes the record">Delete</wm-menuitem>
36
+ * <wm-menuitem description="Permanently removes the record" onclick="deleteRecord()">Delete</wm-menuitem>
37
+ *
38
+ * @example {react} Menu item with description
39
+ * <WmMenuitem description="Permanently removes the record" onClick={deleteRecord}>Delete</WmMenuitem>
34
40
  *
35
- * @example {html} Disabled menu item
36
- * <wm-menuitem disabled>Export</wm-menuitem>
41
+ * @example {html} Disabled menu item -- the handler is retained and restored when re-enabled
42
+ * <wm-menuitem disabled onclick="exportRecord()">Export</wm-menuitem>
37
43
  *
38
44
  * @example {react} Disabled menu item
39
- * <WmMenuitem disabled={true}>Export</WmMenuitem>
45
+ * <WmMenuitem disabled={true} onClick={exportRecord}>Export</WmMenuitem>
46
+ *
47
+ * @requiredSetup
48
+ * - Render it as a direct child of wm-action-menu.
49
+ * - Wire the action: attach an `onclick` handler to the item. The parent closes the dropdown when
50
+ * an item is activated, so a menu that closes has not necessarily run anything.
51
+ *
40
52
  */
41
53
  export class Menuitem {
42
54
  constructor() {
@@ -134,7 +146,7 @@ export class Menuitem {
134
146
  }
135
147
  }
136
148
  render() {
137
- return (h(Host, { key: '403704be13ca1f9c938e18a76f8442cbbaa4aab9', tabindex: -1, role: "menuitem", "aria-disabled": this.disabled ? "true" : null }, h("div", { key: 'c5818b2f8bd133a846abcd493f70c581b9d7113b', class: "wrapper", "aria-disabled": this.disabled ? "true" : null }, h("div", { key: '05f047e1ffad3376e1aaeffd060ed52a6a3e80bf', class: "main-text" }, this.icon && this.renderIcon(), this.el.textContent), this.description ? h("div", { class: "description" }, this.description) : "")));
149
+ return (h(Host, { key: '17634e9132f3ed4e37b52ea200d46ba15b734d91', tabindex: -1, role: "menuitem", "aria-disabled": this.disabled ? "true" : null }, h("div", { key: 'a5a21c6a0feb8bf58a8a4de9a0cefe620522abe3', class: "wrapper", "aria-disabled": this.disabled ? "true" : null }, h("div", { key: 'd4302f14e6211ef9cad2486834523d43012ec428', class: "main-text" }, this.icon && this.renderIcon(), this.el.textContent), this.description ? h("div", { class: "description" }, this.description) : "")));
138
150
  }
139
151
  static get is() { return "wm-menuitem"; }
140
152
  static get encapsulation() { return "shadow"; }
@@ -227,8 +239,11 @@ export class Menuitem {
227
239
  "composed": true,
228
240
  "docs": {
229
241
  "tags": [{
242
+ "name": "internal",
243
+ "text": undefined
244
+ }, {
230
245
  "name": "description",
231
- "text": "Fires when the menu item is clicked or Enter is pressed while focused.\nConsumed by the parent wm-action-menu to close the dropdown."
246
+ "text": "Signals the parent wm-action-menu to close the dropdown when the item is clicked\nor activated by keyboard. Not for application use \u2014 attach an `onclick` handler to run the\nitem's action."
232
247
  }],
233
248
  "text": ""
234
249
  },
@@ -64,7 +64,7 @@ export class ModalFooter {
64
64
  }
65
65
  }
66
66
  render() {
67
- return (h("div", { key: '87d7243df7bc7f378745e244ec0aa7aff9b39e6e', class: `wm-wrapper ${this.infoText ? " footer-text" : ""}` }, h("div", { key: '2c61acfbb073add2f98429b8b10bf7b3c282fa5a', class: "wm-info", "aria-live": "polite" }, this.infoText), h("div", { key: 'dea38f80193dc130ee3fefc097fd8a3da8a6542a', class: "wm-button-collection" }, this.secondaryText && (h("wm-button", { key: 'ece0847d5a267b49daf8ffe39c9ce30f17b2d83c', onClick: () => this.emitParentSecondaryEvent(), id: `wm-secondary-${this.uid}`, ref: (el) => (this.primaryActionDisabled ? (this.lastElement = el) : undefined) }, this.secondaryText)), h("wm-button", { key: 'a113b1e908ecd8d8b79efa6023fe480073cdfeca', "button-type": this.deleteStyle ? "secondary" : "primary", "permanently-delete": this.deleteStyle, onClick: () => this.emitParentPrimaryEvent(), disabled: this.primaryActionDisabled, id: `wm-primary-${this.uid}`, ref: (el) => (!this.primaryActionDisabled ? (this.lastElement = el) : undefined) }, this.primaryText))));
67
+ return (h("div", { key: '01d9675f5ae7e80960cb1c3d966a7f662f24bd7d', class: `wm-wrapper ${this.infoText ? " footer-text" : ""}` }, h("div", { key: '066e6efe2c39d9873db4a9796e0666985583e99e', class: "wm-info", "aria-live": "polite" }, this.infoText), h("div", { key: '37ca1d537a4871193488abcbd625172db21da0b1', class: "wm-button-collection" }, this.secondaryText && (h("wm-button", { key: '1f8fa5963369b94c7e3dee94339772e155667913', onClick: () => this.emitParentSecondaryEvent(), id: `wm-secondary-${this.uid}`, ref: (el) => (this.primaryActionDisabled ? (this.lastElement = el) : undefined) }, this.secondaryText)), h("wm-button", { key: '2eb0f06c4f1849b6e08eed2fa2a85952ae9cdc5f', "button-type": this.deleteStyle ? "secondary" : "primary", "permanently-delete": this.deleteStyle, onClick: () => this.emitParentPrimaryEvent(), disabled: this.primaryActionDisabled, id: `wm-primary-${this.uid}`, ref: (el) => (!this.primaryActionDisabled ? (this.lastElement = el) : undefined) }, this.primaryText))));
68
68
  }
69
69
  static get is() { return "wm-modal-footer"; }
70
70
  static get originalStyleUrls() {
@@ -44,7 +44,7 @@ export class ModalHeader {
44
44
  parentModal.emitCloseEvent();
45
45
  }
46
46
  render() {
47
- return (h(Host, { key: 'd9d72742f8783ffbd7203e31c5f9f108cb6cf2e1' }, h("div", { key: 'd40949a6e0292e8c5d28a2281a1f4714e2ca71c6', class: "wm-wrapper" }, h("div", { key: '7068a4d59289893a61eab7a4edfedf00d3a492e1' }, h("h2", { key: 'f5a411c46d678c1f2451aaa447a013db7345fc2d', class: "title", id: `wm-modal-heading-text-${this.uid}` }, this.heading, h("span", { key: 'f19829eeb07d5a06b9d167303e8bfbf3d695d447', class: "subtitle" }, this.subheading))), h("wm-button", { key: 'adb8c479ad9bfcd32f69f3db3de60bbeb91a1722', "button-type": "navigational", icon: "#close", tooltip: globalMessages.close, "tooltip-position": "left", id: `wm-modal-close-${this.uid}`, ref: (el) => (this.closeButtonEl = el), onClick: () => this.emitParentCloseEvent() }))));
47
+ return (h(Host, { key: '9aa6f7ffd57907e412fb42f3ecc5fcb65ea37a48' }, h("div", { key: 'a404673f2172d71e1de498265d59abc37ecca16c', class: "wm-wrapper" }, h("div", { key: 'fdfd2a2d4b31effdd4742f520f2d00f6eb028b6b' }, h("h2", { key: 'b748ccfe42ccd233a918578251527fe78b112e41', class: "title", id: `wm-modal-heading-text-${this.uid}` }, this.heading, h("span", { key: 'a09334a14fc61bc8756122e62741ed0d5e445820', class: "subtitle" }, this.subheading))), h("wm-button", { key: 'a89ca51890891a0534e97174fd841e13eb9dec68', "button-type": "navigational", icon: "#close", tooltip: globalMessages.close, "tooltip-position": "left", id: `wm-modal-close-${this.uid}`, ref: (el) => (this.closeButtonEl = el), onClick: () => this.emitParentCloseEvent() }))));
48
48
  }
49
49
  static get is() { return "wm-modal-header"; }
50
50
  static get originalStyleUrls() {
@@ -51,7 +51,7 @@ import { generateId } from "../../global/functions";
51
51
  * const openModal = () => { modalRef.current.open = true; };
52
52
  * const closeModal = () => { modalRef.current.open = false; };
53
53
  *
54
- * <WmButton onWmButtonClicked={openModal}>Open modal</WmButton>
54
+ * <WmButton onClick={openModal}>Open modal</WmButton>
55
55
  *
56
56
  * <WmModal
57
57
  * ref={modalRef}
@@ -78,7 +78,7 @@ import { generateId } from "../../global/functions";
78
78
  * const openDialog = () => { dialogRef.current.open = true; };
79
79
  * const closeDialog = () => { dialogRef.current.open = false; };
80
80
  *
81
- * <WmButton onWmButtonClicked={openDialog}>Open dialog</WmButton>
81
+ * <WmButton onClick={openDialog}>Open dialog</WmButton>
82
82
  *
83
83
  * <WmModal
84
84
  * ref={dialogRef}
@@ -92,6 +92,16 @@ import { generateId } from "../../global/functions";
92
92
  * <WmModalFooter primaryText="Got it" />
93
93
  * </WmModal>
94
94
  *
95
+ * @requiredSetup
96
+ * - Drive `open` from your own state: true to show the modal, false to hide it. In React set it
97
+ * through a ref (`ref.current.open = true`) rather than as a prop, which breaks the native dialog
98
+ * focus-return.
99
+ * - Handle `wmModalCloseTriggered` -- the close button and Escape -- by setting `open = false`. It
100
+ * does not bubble, so attach the listener to the element itself.
101
+ * - Handle `wmModalPrimaryTriggered` and `wmModalSecondaryTriggered` for whichever wm-modal-footer
102
+ * buttons you render, setting `open = false` to dismiss.
103
+ * - Reset the content wrapper's `scrollTop` to 0 when reopening, if the body content scrolls.
104
+ *
95
105
  */
96
106
  export class Modal {
97
107
  constructor() {
@@ -222,11 +232,11 @@ export class Modal {
222
232
  }
223
233
  }
224
234
  render() {
225
- return (h("dialog", { key: 'b12938af955f8e449f1016a0e37e40f74256d146', class: `${"wm-" + this.modalType}`, "aria-labelledby": `wm-modal-heading-text-${this.uid}`, ref: (el) => (this.dialogEl = el), onKeyDown: (ev) => this.handleKeyDown(ev) }, h("div", { key: '09ffe7cf312d3fdd0e1a1201a6a70ebfd811e7ca', class: "tabtrap sr-only", tabindex: "0", onFocus: (ev) => {
235
+ return (h("dialog", { key: '995c3ed868be28431fd16f59f42842676fb866dc', class: `${"wm-" + this.modalType}`, "aria-labelledby": `wm-modal-heading-text-${this.uid}`, ref: (el) => (this.dialogEl = el), onKeyDown: (ev) => this.handleKeyDown(ev) }, h("div", { key: 'b70bd7e83d7b89c7878dc8eccb2f6c3744c354b6', class: "tabtrap sr-only", tabindex: "0", onFocus: (ev) => {
226
236
  const focusedFromCloseButton = ev.relatedTarget && ev.relatedTarget == this.closeButtonEl;
227
237
  // no related target means we're coming from outside the page (browser chrome), and first element should be focused instead
228
238
  focusedFromCloseButton ? this.focusLastElement.emit() : this.focusFirstElement.emit();
229
- } }), !this.hasBrowserPopoverSupport && h("div", { key: '6ba58b80667b11e9444d81f54d7d6cc7218cd6fc', class: "wm-tooltip" }), h("slot", { key: '127d606ae9ec8867e1cb8b8a2e213dd551ba5acf' }), h("div", { key: 'a523ca42ecfac9e4776b0e694efe0c5843169d6f', class: "tabtrap sr-only", tabindex: "0", onFocus: () => {
239
+ } }), !this.hasBrowserPopoverSupport && h("div", { key: '8153ea292a5d2e92c94bc4851a9558d0e4c15dbe', class: "wm-tooltip" }), h("slot", { key: '1056abeca733388eb293562a213221a8d0434b1a' }), h("div", { key: '961af64369b5a2f4645c472dcde9b4b590593972', class: "tabtrap sr-only", tabindex: "0", onFocus: () => {
230
240
  this.focusFirstElement.emit();
231
241
  } })));
232
242
  }
@@ -31,7 +31,7 @@ export class ModalPssFooter {
31
31
  parentModal.emitSecondaryEvent();
32
32
  }
33
33
  render() {
34
- return (h("div", { key: '6428149a4963fd04f4deb0380988b443d871d75c', class: `wm-wrapper ${this.infoText ? " footer-text" : ""}` }, h("div", { key: 'daea7ee16641e4b981fe34941f0d91aff85c6dde', class: "wm-info", "aria-live": "polite" }, this.infoText), h("div", { key: '4bc033fba7210f02fc8cfaf170db5ce196d4393a', class: "wm-button-collection" }, this.secondaryText && (h("wm-button", { key: '8df6a38a5693fc86594764dd865532776dea4f08', onClick: () => this.emitParentSecondaryEvent(), id: `wm-secondary-${this.uid}`, ref: (el) => (this.primaryActionDisabled ? (this.lastElement = el) : null) }, this.secondaryText)), h("wm-button", { key: '40a2e21e749ef5190512413a6fbd29f2b2b0c429', "button-type": this.deleteStyle ? "secondary" : "primary", "permanently-delete": this.deleteStyle, onClick: () => this.emitParentPrimaryEvent(), disabled: this.primaryActionDisabled, id: `wm-primary-${this.uid}`, ref: (el) => (!this.primaryActionDisabled ? (this.lastElement = el) : null) }, this.primaryText))));
34
+ return (h("div", { key: '1fb457cc2cff44efb8abaa10575737b01ce70b20', class: `wm-wrapper ${this.infoText ? " footer-text" : ""}` }, h("div", { key: '62f807be71bdbac9c20569adf0a014de28d9df12', class: "wm-info", "aria-live": "polite" }, this.infoText), h("div", { key: '93437b4c93b2dc035f8d7d9b5533bed6093c6a5f', class: "wm-button-collection" }, this.secondaryText && (h("wm-button", { key: '1887d3cba0c762475837694f18c5804cb855d178', onClick: () => this.emitParentSecondaryEvent(), id: `wm-secondary-${this.uid}`, ref: (el) => (this.primaryActionDisabled ? (this.lastElement = el) : null) }, this.secondaryText)), h("wm-button", { key: 'fe845d00a730f19f5f522b14a36dd397328d57d0', "button-type": this.deleteStyle ? "secondary" : "primary", "permanently-delete": this.deleteStyle, onClick: () => this.emitParentPrimaryEvent(), disabled: this.primaryActionDisabled, id: `wm-primary-${this.uid}`, ref: (el) => (!this.primaryActionDisabled ? (this.lastElement = el) : null) }, this.primaryText))));
35
35
  }
36
36
  static get is() { return "wm-modal-pss-footer"; }
37
37
  static get originalStyleUrls() {
@@ -29,7 +29,7 @@ export class ModalPssHeader {
29
29
  // this.headingElement.focus();
30
30
  // }
31
31
  render() {
32
- return (h(Host, { key: 'b45894c5864c446f35335eb0d31d1c9973982183' }, h("div", { key: '381f7a6174df2cc06bb75e8169eb230b5b608632', class: "wm-wrapper" }, h("div", { key: '2b36c6ca3beafe5caccc07d1b8af4fce10b984a9' }, h("h2", { key: '544df129fe4eac346d6f3a54d2ff0aabcbca89fe', class: "title", id: `wm-modal-heading-text-${this.uid}` }, this.heading, h("span", { key: 'da4038aa35d9690f921da30b8e3f6a141685dddb', class: "subtitle" }, this.subheading))), h("wm-button", { key: '7edc9dcc9158cf8369da12ed00a89a457c904b5c', "button-type": "navigational", icon: "f156", tooltip: globalMessages.close, "tooltip-position": "left", id: `wm-modal-close-${this.uid}`, ref: (el) => (this.closeButtonEl = el), onClick: () => this.emitParentCloseEvent() }))));
32
+ return (h(Host, { key: 'a3498139a3ec2cff1e40daeffaca7634cf5a484b' }, h("div", { key: '2380923b35880883b85ffce8ee58c887d23fe886', class: "wm-wrapper" }, h("div", { key: '7978d304ec86bd8df64c9d1e639216e5ff1edba4' }, h("h2", { key: 'e462040e5af094836cc38ec064faef408402fabf', class: "title", id: `wm-modal-heading-text-${this.uid}` }, this.heading, h("span", { key: '1d5baad88628e7830c20983f40cf8de50b5b5f06', class: "subtitle" }, this.subheading))), h("wm-button", { key: 'e55d981a3e1dc49d3079b8b15661bdde227ff5e8', "button-type": "navigational", icon: "f156", tooltip: globalMessages.close, "tooltip-position": "left", id: `wm-modal-close-${this.uid}`, ref: (el) => (this.closeButtonEl = el), onClick: () => this.emitParentCloseEvent() }))));
33
33
  }
34
34
  static get is() { return "wm-modal-pss-header"; }
35
35
  static get originalStyleUrls() {
@@ -119,9 +119,9 @@ export class ModalPss {
119
119
  }
120
120
  }
121
121
  render() {
122
- return (h(Host, { key: '58b1d2295b177cde87614bd9dba46d816fac2e22', class: `${this.open ? "" : "hide "}${"wm-" + this.modalType}`, role: "dialog", "aria-describedby": `wm-modal-heading-text-${this.uid}`, "aria-modal": "true", tabindex: this.open ? 0 : null, onFocus: () => {
122
+ return (h(Host, { key: '5670d26d529d69cacf36c8755b5d328fb40c8938', class: `${this.open ? "" : "hide "}${"wm-" + this.modalType}`, role: "dialog", "aria-describedby": `wm-modal-heading-text-${this.uid}`, "aria-modal": "true", tabindex: this.open ? 0 : null, onFocus: () => {
123
123
  this.focusLastElement.emit();
124
- } }, h("div", { key: '56198ea82f7be20c80853a93c6d4fed3396c2baf', class: "overlay", ref: (el) => (this.overlayEl = el) }), h("div", { key: '3b31f7ec36f12909b8d2e3462589998ff3119cd1', class: "sr-only", tabIndex: 0, onFocus: () => {
124
+ } }, h("div", { key: 'ca8956c8d821b6d12c501d8867a08d683a4bbb6a', class: "overlay", ref: (el) => (this.overlayEl = el) }), h("div", { key: 'fc2c63dc1264a0a29b3b049f76d363c1b2e6c8dc', class: "sr-only", tabIndex: 0, onFocus: () => {
125
125
  this.focusFirstElement.emit();
126
126
  } })));
127
127
  }
@@ -59,7 +59,7 @@ export class NavigationHamburger {
59
59
  this.wmNavigationHamburgerClicked.emit();
60
60
  }
61
61
  render() {
62
- return (h(Host, { key: '2bb380d47bd0f49fb2611b10893903bb2945123d', class: `hamburger ${this.open ? "nav-open" : "nav-closed"}` }, h("button", { key: '41011c62a4ec97eb84bc6d630f5104973cf04ecb', "aria-expanded": this.open, "aria-label": this.showNavMessage, onMouseEnter: () => showTooltip("right", this.el, this.showNavMessage), onMouseLeave: () => hideTooltip(), onFocus: () => this.isTabbing && showTooltip("right", this.el, this.showNavMessage), onBlur: () => hideTooltip(), onClick: () => this.handleClick() }, h("span", { key: 'df730048a83cc47366e24c7739f074b9f04ce245', class: "svg-icon svg-menu" }))));
62
+ return (h(Host, { key: '966bcd988f8ee460899519969a759ffb16459baa', class: `hamburger ${this.open ? "nav-open" : "nav-closed"}` }, h("button", { key: 'b1e5c3cd46106943102bf5509a9251953b164c56', "aria-expanded": this.open, "aria-label": this.showNavMessage, onMouseEnter: () => showTooltip("right", this.el, this.showNavMessage), onMouseLeave: () => hideTooltip(), onFocus: () => this.isTabbing && showTooltip("right", this.el, this.showNavMessage), onBlur: () => hideTooltip(), onClick: () => this.handleClick() }, h("span", { key: 'a50f398cbdde9271cab48e6bc4eb9013fe8b4ba4', class: "svg-icon svg-menu" }))));
63
63
  }
64
64
  static get is() { return "wm-navigation-hamburger"; }
65
65
  static get encapsulation() { return "shadow"; }
@@ -33,7 +33,7 @@ export class NavigationItem {
33
33
  this.active = undefined;
34
34
  }
35
35
  render() {
36
- return (h(Host, { key: '896eba521c8245df3e4e80188fa5d1cabe86d7f4', role: "listitem" }, h("a", { key: '8d180bbc189fde8666f0fabf2ad141b6c3be6714', class: `link ${this.active ? "active" : ""}`, href: this.href, onClick: () => this.wmNavigationItemClicked.emit() }, h("div", { key: 'd190bffa8959e804dbd6da3a86addb48efa69187', class: "icon", "aria-hidden": "true" }, h("slot", { key: 'a0a06a351f6c2d39fb326b49cc20de6486554e2a' })), h("div", { key: 'ab842b2f46167a0a84807cc1b09e45cce0306c5a', class: "text" }, this.text))));
36
+ return (h(Host, { key: '5c37c39e27b4602bcc53f2a1e118fb427b7a9a1a', role: "listitem" }, h("a", { key: 'ba3e7216ba1a5e7cb8d61dff61b353eeaaddee34', class: `link ${this.active ? "active" : ""}`, href: this.href, onClick: () => this.wmNavigationItemClicked.emit() }, h("div", { key: '9a35a2bd7f3474a182e187f8fe4b35904cb00862', class: "icon", "aria-hidden": "true" }, h("slot", { key: 'fb6858dafb750fcee200e57757dd86bbfc05cd23' })), h("div", { key: '6b2c933f73fd07746c3f3bcb656f9fc9563e88cd', class: "text" }, this.text))));
37
37
  }
38
38
  static get is() { return "wm-navigation-item"; }
39
39
  static get encapsulation() { return "shadow"; }
@@ -143,9 +143,9 @@ export class Navigation {
143
143
  } }));
144
144
  }
145
145
  render() {
146
- return (h(Host, { key: '5b40d806975f417dee23aa78167627fc9a3f9d72', role: "navigation", "aria-expanded": this.ariaExpanded, "aria-label": this.mainNavigationMessage }, this.open ? this.renderOverlay() : "", this.isCollapsible && (h("div", { key: 'bddd615e02d9874de3558210690ca8ac7b6ccf2d', class: "trapfocus", tabindex: this.open ? 0 : undefined, onFocus: () => this.focusLastItem() })), h("div", { key: 'ee1408c8b9c3f5862bdab3dcaeb180fd167b7757', class: "tray" }, h("div", { key: '3a73a566af0da9d1b4f0224dd6952d3bef8fd352', class: "toggle-wrapper" }, h("wm-button", { key: '52b7bc99a664068bb619eb1054c992a2aa0107d3', ref: (el) => (this.toggleEl = el), class: "toggle", "button-type": "navigational", icon: this.open ? "#close" : "#menu", "icon-size": "2rem", tooltip: this.open ? globalMessages.close : globalMessages.open, "tooltip-position": "right", tabIndex: this.open ? undefined : -1, onClick: () => {
146
+ return (h(Host, { key: '38f20313b339a81259115b164fee7a43f1c4efe5', role: "navigation", "aria-expanded": this.ariaExpanded, "aria-label": this.mainNavigationMessage }, this.open ? this.renderOverlay() : "", this.isCollapsible && (h("div", { key: '8630d032614a02068dbcf650d304f6569e00df50', class: "trapfocus", tabindex: this.open ? 0 : undefined, onFocus: () => this.focusLastItem() })), h("div", { key: '1657807eea4bb2687b5d18c4cb96448110cfa740', class: "tray" }, h("div", { key: '92ff3381acb3f959c3f63ca4d20b3e2e51cb81f7', class: "toggle-wrapper" }, h("wm-button", { key: 'e20e007c8d77d69ad529cd6d3cc4fafbdb1fc2f1', ref: (el) => (this.toggleEl = el), class: "toggle", "button-type": "navigational", icon: this.open ? "#close" : "#menu", "icon-size": "2rem", tooltip: this.open ? globalMessages.close : globalMessages.open, "tooltip-position": "right", tabIndex: this.open ? undefined : -1, onClick: () => {
147
147
  this.open = !this.open;
148
- } })), h("ul", { key: '8804fdcf84efd7fcf6036527ab205533ce5f9ebc', class: "navlist" }, h("slot", { key: '276c2f3133776d91e2a05b5f7ec21a491b18363e' }))), this.isCollapsible && (h("div", { key: '492fbb7e7867529027176b8fb1418cf7f8d23cae', class: "trapfocus", tabindex: this.open ? 0 : undefined, onFocus: () => this.toggleEl.focus() }))));
148
+ } })), h("ul", { key: 'e5ec6a2303ff3def1ddd4f3d5199c93a01895793', class: "navlist" }, h("slot", { key: 'b29379969f84e1cea3a3918ba97168420b1c4cbe' }))), this.isCollapsible && (h("div", { key: '176f724b791b7792caa5b5b519e79f48ccee2f6b', class: "trapfocus", tabindex: this.open ? 0 : undefined, onFocus: () => this.toggleEl.focus() }))));
149
149
  }
150
150
  static get is() { return "wm-navigation"; }
151
151
  static get encapsulation() { return "shadow"; }
@@ -13,7 +13,7 @@ export class PrivNavigatorButton {
13
13
  }
14
14
  render() {
15
15
  const { handleClick, altText } = this;
16
- return (h("button", { key: '9434af6f99ad1f5dc15cd11957545cd633a21a35', "aria-expanded": this.expanded.toString(), class: "navigator", onClick: handleClick.bind(this), "aria-label": altText }));
16
+ return (h("button", { key: 'dc162bf12e5dec1ceb7cf071b55d4d9da4deabe7', "aria-expanded": this.expanded.toString(), class: "navigator", onClick: handleClick.bind(this), "aria-label": altText }));
17
17
  }
18
18
  static get is() { return "priv-navigator-button"; }
19
19
  static get encapsulation() { return "shadow"; }
@@ -20,7 +20,7 @@ export class PrivNavigatorItem {
20
20
  render() {
21
21
  const selectedClass = this.selected ? "selected" : "";
22
22
  const focusedClass = this.focused ? "focused" : "";
23
- return (h("div", { key: 'd4faae43c4ae53287bbde45f5221b92744a17b0e', class: `navoption ${selectedClass} ${focusedClass}` }, h("slot", { key: 'f5512064ccfcf3e37638729f2f6e92224ecdc022' })));
23
+ return (h("div", { key: '90260a3dbfafec72c507d40e29a5f1d5e02149be', class: `navoption ${selectedClass} ${focusedClass}` }, h("slot", { key: 'c91b33f6c5fc8e563b69c1661b1c6f41d5c53225' })));
24
24
  }
25
25
  static get is() { return "priv-navigator-item"; }
26
26
  static get encapsulation() { return "shadow"; }
@@ -53,6 +53,13 @@ import { globalMessages } from "../../global/intl";
53
53
  * <WmPagination label="Search results" currentPage={page2} totalItems={80} itemsPerPage={10}
54
54
  * onWmPaginationPageClicked={(e) => setPage2(Number(e.target.value))} />
55
55
  *
56
+ * @requiredSetup
57
+ * - Handle `wmPaginationPageClicked` by reading `event.target.value` -- a string, so convert it to
58
+ * a number -- and writing it to `current-page`.
59
+ * - Set `total-items` and `items-per-page` from the data you are paging; together they determine the
60
+ * page count.
61
+ * - Share one page state between paginations rendered above and below the same table.
62
+ *
56
63
  */
57
64
  export class Pagination {
58
65
  constructor() {
@@ -257,7 +264,7 @@ export class Pagination {
257
264
  render() {
258
265
  return (
259
266
  // do not render the component if there's only one page
260
- this.totalItems > this.itemsPerPage && (h("nav", { key: '8197306b3977ca7f6544aa790088cca8f6709bba', "aria-label": `${this.label || this.defaultLabel}. ${this.getCurrentPagesInView()}. ${this.currentPageAnnouncement(this.currentPage)}` }, this.isLargeSize ? this.renderLarge() : this.renderSmall(), h("div", { key: '9a62b67f0c0f6e2ae1b0d1d08d8c03cd383786d5', id: "status", class: "sr-only", "aria-live": "polite", "aria-relevant": "text", "aria-atomic": "true" }, this.srAnnouncement))));
267
+ this.totalItems > this.itemsPerPage && (h("nav", { key: '7a66d44b8bdc19561fb133b04f1a00d2b4da93de', "aria-label": `${this.label || this.defaultLabel}. ${this.getCurrentPagesInView()}. ${this.currentPageAnnouncement(this.currentPage)}` }, this.isLargeSize ? this.renderLarge() : this.renderSmall(), h("div", { key: 'c7aebaa1cf26089feefa2f90df4b523da3e041d3', id: "status", class: "sr-only", "aria-live": "polite", "aria-relevant": "text", "aria-atomic": "true" }, this.srAnnouncement))));
261
268
  }
262
269
  static get is() { return "wm-pagination"; }
263
270
  static get encapsulation() { return "shadow"; }
@@ -107,6 +107,14 @@ import { globalMessages } from "../../global/intl";
107
107
  * </li>
108
108
  * ))}
109
109
  *
110
+ * @requiredSetup
111
+ * - Filter your own data as the value changes and set `num-results`, which drives the
112
+ * screen-reader result count.
113
+ * - Handle `wmSearchValueChanged` (`event.detail` is `{ value }`) for the committed value; it fires
114
+ * on blur. For filter-as-you-type, listen for the native `input` event as well.
115
+ * - With `search-type="find"`, handle `wmSearchBrowseResults` (`event.detail` is `{ position }`,
116
+ * one-based) and set `highlighted-id` and `highlighted-name` to the matching result.
117
+ *
110
118
  */
111
119
  export class Search {
112
120
  constructor() {
@@ -275,10 +283,10 @@ export class Search {
275
283
  * End search and find render helpers
276
284
  */
277
285
  render() {
278
- return (h(Host, { key: '488f87868b91065f77fe107626494ec67b996c91' }, h("div", { key: '6347f94af6cb45632d68c5161f3308414077f1c0', id: "wm-search-wrapper", class: `wm-search-wrapper ${this.searchType}` }, h("input", { key: '7bdf47b77124ac8d4f3f7b26bc91adf4fb515d6c', disabled: this.isDisabled, id: "wm-search-input", placeholder: this.placeholder, "aria-label": `${this.label ? this.label + ". " : ""}${intl.formatMessage({
286
+ return (h(Host, { key: '17f77ed996d830b331078d35172485ddd1b3815a' }, h("div", { key: 'eaa5da92ed2154b3660fb0c888e43f0853f5bd0d', id: "wm-search-wrapper", class: `wm-search-wrapper ${this.searchType}` }, h("input", { key: '8c25d6adae20a36ce5ae73ae79d114555f608d8a', disabled: this.isDisabled, id: "wm-search-input", placeholder: this.placeholder, "aria-label": `${this.label ? this.label + ". " : ""}${intl.formatMessage({
279
287
  id: "search.typeToFilterResults",
280
288
  defaultMessage: "Type to filter the results",
281
- })}`, onInput: (ev) => this.updateValue(ev.target.value), onBlur: () => this.handleBlur(), "aria-autocomplete": "none", autocomplete: "off", value: this.value }), h("span", { key: '759003335e1ebf23125dfd8ebcde4130b0b64389', class: "svg-icon svg-search" }), this.searchType === "find" && this.renderResultsAndBrowseButtons(), h("div", { key: 'c776f2ea0291221d1dea69a339e6dd6340f70c3e', id: "wm-search-live", class: "sr-only", "aria-live": "polite", "aria-atomic": "true", ref: (el) => (this.resultsLiveRegion = el) }, this.announcement)), this.searchType === "find" && this.renderJumpToLink()));
289
+ })}`, onInput: (ev) => this.updateValue(ev.target.value), onBlur: () => this.handleBlur(), "aria-autocomplete": "none", autocomplete: "off", value: this.value }), h("span", { key: 'bc41a6fe9a84996ebca49f2a6fc87d45703ef89c', class: "svg-icon svg-search" }), this.searchType === "find" && this.renderResultsAndBrowseButtons(), h("div", { key: '0c7f0fb0d7b887b3e9abd6a0eb06076e626aea28', id: "wm-search-live", class: "sr-only", "aria-live": "polite", "aria-atomic": "true", ref: (el) => (this.resultsLiveRegion = el) }, this.announcement)), this.searchType === "find" && this.renderJumpToLink()));
282
290
  }
283
291
  static get is() { return "wm-search"; }
284
292
  static get encapsulation() { return "shadow"; }
@@ -74,6 +74,14 @@ import { globalMessages } from "../../global/intl";
74
74
  * onWmSnackbarActionTriggered={handleActionTriggered}
75
75
  * />
76
76
  *
77
+ * @requiredSetup
78
+ * - Show a snack by adding an entry to `notifications`, and pass the stringified array rather than
79
+ * the array itself.
80
+ * - Handle `wmSnackbarSnackFinished` (`event.detail` is `{ id }`) by removing that entry from the
81
+ * array you pass to `notifications`; the component does not remove it for you.
82
+ * - Handle `wmSnackbarActionTriggered` for entries carrying `link` or `action`, and remove the entry
83
+ * yourself once handled -- the 6-second auto-dismiss does not apply to those.
84
+ *
77
85
  */
78
86
  export class Snackbar {
79
87
  constructor() {
@@ -223,11 +231,11 @@ export class Snackbar {
223
231
  }, onKeyDown: (ev) => ev.key === "Enter" && this.snackLinkClicked(notification) }, h("span", { "aria-hidden": "true" }, notification.link), notification.newWindow && h("div", { class: "svg-icon svg-open-in-new" }))), (!notification.link && notification.action) && (h("button", { id: `action-${notification.id}`, class: "link", onClick: () => this.snackLinkClicked(notification), onKeyDown: (ev) => ev.key === "Enter" && this.snackLinkClicked(notification) }, notification.action))), h("button", { id: `close-button-${notification.id}`, "aria-label": this.closeSnackMessage, class: "closesnack", tabindex: notification.link || notification.action ? 0 : -1, onClick: () => this.snackDismissed(notification), onMouseEnter: (ev) => showTooltip("bottom", ev.target, globalMessages.close), onMouseLeave: () => hideTooltip(), onFocus: (ev) => this.isTabbing && showTooltip("bottom", ev.target, globalMessages.close), onBlur: () => hideTooltip() }, h("div", { class: "svg-icon svg-close" }))), h("div", { class: "sr-only", tabindex: notification.link || notification.action ? 0 : -1, onFocus: () => (notification.link || notification.action) && this.snackDismissed(notification) })))));
224
232
  }
225
233
  render() {
226
- return (h(Host, { key: '01e620368efc9d0fc854a5b539dcfa695b6c5e5d' }, h("div", { key: '156973ac3ea2f3e3034e4517b4852357c81b9af3', ref: (el) => (this.snackAreaEl = el), class: {
234
+ return (h(Host, { key: '0e70d242a282e93aa784082ad24b2d46a7360b8e' }, h("div", { key: 'c18bb81ad201151cd17bf0cbd6a4ed905ed05704', ref: (el) => (this.snackAreaEl = el), class: {
227
235
  "list-wrapper": true,
228
236
  "user-is-tabbing": this.isTabbing,
229
237
  empty: this.parsedNotifications.length == 0,
230
- } }, this.renderSnackbars()), h("div", { key: '3f674c9094ef2a400452ec03c571da42287374d3', class: "sr-only", "aria-live": "polite", "aria-atomic": "false", id: `wm-live-region-${this.uid}`, ref: (el) => (this.liveRegionEl = el) }, this.announcement)));
238
+ } }, this.renderSnackbars()), h("div", { key: '015af84cc94a71126be63ed28f015db03f7bad05', class: "sr-only", "aria-live": "polite", "aria-atomic": "false", id: `wm-live-region-${this.uid}`, ref: (el) => (this.liveRegionEl = el) }, this.announcement)));
231
239
  }
232
240
  static get is() { return "wm-snackbar"; }
233
241
  static get encapsulation() { return "shadow"; }
@@ -15,6 +15,14 @@ import { h, Host } from "@stencil/core";
15
15
  *
16
16
  * @example {react} Tab item
17
17
  * <WmTabItem tabId="overview">Overview</WmTabItem>
18
+ *
19
+ * @requiredSetup
20
+ * - Render it as a direct child of wm-tab-list, and slot the tab label into it.
21
+ * - Give it a `tab-id` matching the `tab-id` of its wm-tab-panel. A mismatch fails silently: the tab
22
+ * highlights and no panel appears.
23
+ * - Handle `wmTabSelected` (`event.detail` is `{ tabId }`), which bubbles to wm-tab-list, and write
24
+ * the id to the list's `selected-tab`.
25
+ *
18
26
  */
19
27
  export class TabItem {
20
28
  constructor() {
@@ -44,9 +52,9 @@ export class TabItem {
44
52
  }
45
53
  render() {
46
54
  const isDark = this.parentTabList && this.parentTabList.customBackground == "dark";
47
- return (h(Host, { key: '6f20f986a33ca8c78166874c6e6150931b293c33', role: "presentation" }, h("li", { key: '39e5f0e8b30e9b6e43757685a973b83260e95d23', class: `tab-item ${isDark ? "dark" : ""}`, role: "presentation" }, h("a", { key: 'bffa53dc07bbdabf6e553c1bd045da3193c8e049', class: `tab`, role: "tab", ref: (el) => (this.linkEl = el), id: `tab-link-${this.tabId}`, onKeyDown: (ev) => this.tabPressed(ev), "aria-selected": this.selected ? "true" : "false", tabindex: this.selected ? 0 : -1, onClick: this.tabClicked, onFocus: () => {
55
+ return (h(Host, { key: 'b3fb78482fbf093366dc42fae941874135f8ac7b', role: "presentation" }, h("li", { key: 'e6e7365fc150d251034c7f95b4f677e0f4bcedef', class: `tab-item ${isDark ? "dark" : ""}`, role: "presentation" }, h("a", { key: 'ec419b64efa55f06b38233d18c565eb593ce56ac', class: `tab`, role: "tab", ref: (el) => (this.linkEl = el), id: `tab-link-${this.tabId}`, onKeyDown: (ev) => this.tabPressed(ev), "aria-selected": this.selected ? "true" : "false", tabindex: this.selected ? 0 : -1, onClick: this.tabClicked, onFocus: () => {
48
56
  this.wmIntTabFocused.emit({ tabItem: this.el });
49
- } }, h("slot", { key: 'cf5d8ed8e74286563f5ecccd04bd8c1f5a3f7ea2' })))));
57
+ } }, h("slot", { key: '921a500882c676545921101197052257e4db3455' })))));
50
58
  }
51
59
  static get is() { return "wm-tab-item"; }
52
60
  static get encapsulation() { return "shadow"; }
@@ -75,8 +83,11 @@ export class TabItem {
75
83
  "optional": false,
76
84
  "docs": {
77
85
  "tags": [{
86
+ "name": "internal",
87
+ "text": undefined
88
+ }, {
78
89
  "name": "description",
79
- "text": "Whether this tab is currently active. Managed by the parent wm-tab-list \u2014\ndo not set manually."
90
+ "text": "Whether this tab is currently active. Set on every item by the parent\nwm-tab-list whenever `selected-tab` changes; not intended for external use."
80
91
  }, {
81
92
  "name": "default",
82
93
  "text": "false"
@@ -90,6 +90,13 @@ import { debounce, intl } from "../../../global/functions";
90
90
  * {selectedTab === "activity" && <p>Activity content</p>}
91
91
  * </WmTabPanel>
92
92
  *
93
+ * @requiredSetup
94
+ * - Handle `wmTabSelected` on the list -- it is declared on wm-tab-item and bubbles -- and write
95
+ * `event.detail.tabId` to `selected-tab`.
96
+ * - Slot a wm-tab-item per tab, and render a wm-tab-panel for each one as its content container.
97
+ * - Give each wm-tab-item `tab-id` the same value as its wm-tab-panel `tab-id`. A mismatch fails
98
+ * silently: the tab highlights and no panel appears.
99
+ *
93
100
  */
94
101
  export class TabList {
95
102
  constructor() {
@@ -348,15 +355,15 @@ export class TabList {
348
355
  this.announcement = message;
349
356
  }
350
357
  render() {
351
- return (h(Host, { key: '6b04fe63825c1f6296240039531cb4825a4073d0' }, h("div", { key: 'd03390499fe7b2da2788dad9f9d2504eb373ab73', class: "component-wrapper" }, h("wm-button", { key: '52b02bf3142d7f2807409f75094a3e49ef85d31b', class: `left-arrow ${this.scrollArrowsVisible ? "visible" : ""}`, "aria-controls": "tablist", customBackground: this.customBackground, buttonType: "navigational", icon: "#previous", tooltip: intl.formatMessage({
358
+ return (h(Host, { key: 'e5e70580b7b292940ae6f78b1a7e11b10c094816' }, h("div", { key: 'd4522bc80583555f1a30c75e75ed83746aaebf52', class: "component-wrapper" }, h("wm-button", { key: '302eefe25f531312166fc63be510e48153620bc7', class: `left-arrow ${this.scrollArrowsVisible ? "visible" : ""}`, "aria-controls": "tablist", customBackground: this.customBackground, buttonType: "navigational", icon: "#previous", tooltip: intl.formatMessage({
352
359
  id: "tabs.showPreviousTabs",
353
360
  defaultMessage: "Show previous tabs",
354
361
  description: "Tooltip for button scrolling tab group.",
355
- }), onClick: (ev) => this.handleLeftArrowClick(ev) }), h("ul", { key: 'c93f0456d5ccb062fbdfabaef4b057caddfc032d', id: "tablist", ref: (el) => (this.tabContainerEl = el), class: `tabcontainer ${this.customBackground || ""} ${this.containerFadeLeft ? "fade-left" : ""} ${this.containerFadeRight ? "fade-right" : ""}`, role: "tablist", tabIndex: -1 }, h("slot", { key: '0c0f64bb1866f4764c9a9e2e6f504a2a1e10d2bf' })), h("wm-button", { key: '6562a34d69b9cf7a90da7759b12d92940c9c081b', class: `right-arrow ${this.scrollArrowsVisible ? "visible" : ""}`, "aria-controls": "tablist", customBackground: this.customBackground, buttonType: "navigational", icon: "#next", tooltip: intl.formatMessage({
362
+ }), onClick: (ev) => this.handleLeftArrowClick(ev) }), h("ul", { key: '0a8a050783bb051d40fa837a4715662b2d1d7455', id: "tablist", ref: (el) => (this.tabContainerEl = el), class: `tabcontainer ${this.customBackground || ""} ${this.containerFadeLeft ? "fade-left" : ""} ${this.containerFadeRight ? "fade-right" : ""}`, role: "tablist", tabIndex: -1 }, h("slot", { key: '02a0d8d6d5674b4512287987944d21a432357ac7' })), h("wm-button", { key: 'c96ff969e596c0ba93f90ab4dacb9bcd95587e36', class: `right-arrow ${this.scrollArrowsVisible ? "visible" : ""}`, "aria-controls": "tablist", customBackground: this.customBackground, buttonType: "navigational", icon: "#next", tooltip: intl.formatMessage({
356
363
  id: "tabs.showNextTabs",
357
364
  defaultMessage: "Show next tabs",
358
365
  description: "Tooltip for button scrolling tab group.",
359
- }), onClick: (ev) => this.handleRightArrowClick(ev) }), h("span", { key: '4839d0fbdd5c5aeb7ba8f918d973af5c54cc01fd', "aria-live": "assertive", class: "sr-only", ref: (el) => (this.liveRegionEl = el) }, this.announcement))));
366
+ }), onClick: (ev) => this.handleRightArrowClick(ev) }), h("span", { key: '4925ff672c42cbe5c69a5ad33ee4812c93cf2f00', "aria-live": "assertive", class: "sr-only", ref: (el) => (this.liveRegionEl = el) }, this.announcement))));
360
367
  }
361
368
  static get is() { return "wm-tab-list"; }
362
369
  static get encapsulation() { return "shadow"; }
@@ -17,6 +17,12 @@ import { generateId } from "../../../global/functions";
17
17
  *
18
18
  * @example {react} Tab panel
19
19
  * <WmTabPanel tabId="overview">Overview content here.</WmTabPanel>
20
+ *
21
+ * @requiredSetup
22
+ * - Render one panel per wm-tab-item alongside the wm-tab-list, and slot the panel content into it.
23
+ * - Give it a `tab-id` matching its wm-tab-item's `tab-id`. A mismatch fails silently: the tab
24
+ * highlights and no panel appears.
25
+ *
20
26
  */
21
27
  export class TabPanel {
22
28
  constructor() {
@@ -30,7 +36,7 @@ export class TabPanel {
30
36
  this.tabPanelLoaded.emit({ tabId: this.tabId });
31
37
  }
32
38
  render() {
33
- return h(Host, { key: 'aa6da7f526aefe3a900afb883c3d2dd2af421a0d', role: "tabpanel", tabIndex: "-1", class: { "tab-hidden": !this.active } });
39
+ return h(Host, { key: '65dbbac2bcf9bec58421c54c67d0fd0510d209b5', role: "tabpanel", tabIndex: "-1", class: { "tab-hidden": !this.active } });
34
40
  }
35
41
  static get is() { return "wm-tab-panel"; }
36
42
  static get originalStyleUrls() {
@@ -57,8 +63,11 @@ export class TabPanel {
57
63
  "optional": false,
58
64
  "docs": {
59
65
  "tags": [{
66
+ "name": "internal",
67
+ "text": undefined
68
+ }, {
60
69
  "name": "description",
61
- "text": "Whether this panel is currently visible. Managed by the parent wm-tab-list \u2014\ndo not set manually."
70
+ "text": "Whether this panel is currently visible. Set on every panel by the parent\nwm-tab-list whenever `selected-tab` changes; not intended for external use."
62
71
  }, {
63
72
  "name": "default",
64
73
  "text": "false"