@watermarkinsights/ripple 5.6.0-0 → 5.6.0-2

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 (250) hide show
  1. package/dist/cjs/{app-globals-89d660d0.js → app-globals-2eb5411e.js} +1 -1
  2. package/dist/cjs/{chartFunctions-878f8139.js → chartFunctions-800ea87d.js} +1 -1
  3. package/dist/cjs/{functions-05e7ad5a.js → functions-c6e27c75.js} +6 -0
  4. package/dist/cjs/index-788526f5.js +12 -0
  5. package/dist/cjs/{intl-2b550151.js → intl-9f836d29.js} +1 -1
  6. package/dist/cjs/loader.cjs.js +2 -2
  7. package/dist/cjs/priv-calendar.cjs.entry.js +1 -1
  8. package/dist/cjs/priv-chart-popover.cjs.entry.js +1 -1
  9. package/dist/cjs/priv-navigator-button.cjs.entry.js +1 -1
  10. package/dist/cjs/priv-navigator-item.cjs.entry.js +1 -1
  11. package/dist/cjs/priv-option-list.cjs.entry.js +385 -0
  12. package/dist/cjs/ripple.cjs.js +2 -2
  13. package/dist/cjs/wm-action-menu_2.cjs.entry.js +3 -3
  14. package/dist/cjs/wm-button.cjs.entry.js +2 -2
  15. package/dist/cjs/wm-chart.cjs.entry.js +3 -3
  16. package/dist/cjs/wm-date-range.cjs.entry.js +1 -1
  17. package/dist/cjs/wm-datepicker.cjs.entry.js +10 -12
  18. package/dist/cjs/wm-file-list.cjs.entry.js +1 -1
  19. package/dist/cjs/wm-file.cjs.entry.js +2 -2
  20. package/dist/cjs/wm-input.cjs.entry.js +3 -3
  21. package/dist/cjs/wm-line-chart.cjs.entry.js +3 -3
  22. package/dist/cjs/wm-modal-footer.cjs.entry.js +1 -1
  23. package/dist/cjs/wm-modal-header.cjs.entry.js +3 -3
  24. package/dist/cjs/wm-modal.cjs.entry.js +3 -3
  25. package/dist/cjs/wm-navigation_3.cjs.entry.js +6 -6
  26. package/dist/cjs/wm-navigator.cjs.entry.js +1 -1
  27. package/dist/cjs/wm-nested-select.cjs.entry.js +296 -0
  28. package/dist/cjs/wm-optgroup.cjs.entry.js +57 -0
  29. package/dist/cjs/wm-option_2.cjs.entry.js +34 -339
  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 +4 -4
  33. package/dist/cjs/wm-snackbar.cjs.entry.js +4 -4
  34. package/dist/cjs/wm-tab-item_3.cjs.entry.js +4 -4
  35. package/dist/cjs/wm-tag-input.cjs.entry.js +5 -5
  36. package/dist/cjs/wm-tag-option.cjs.entry.js +1 -1
  37. package/dist/cjs/wm-textarea.cjs.entry.js +3 -3
  38. package/dist/cjs/wm-timepicker.cjs.entry.js +3 -3
  39. package/dist/cjs/wm-toggletip.cjs.entry.js +3 -3
  40. package/dist/cjs/wm-uploader.cjs.entry.js +4 -4
  41. package/dist/collection/collection-manifest.json +5 -2
  42. package/dist/collection/components/datepickers/wm-datepicker.js +9 -11
  43. package/dist/collection/components/selects/priv-option-list/priv-option-list.css +104 -0
  44. package/dist/collection/components/selects/priv-option-list/priv-option-list.js +717 -0
  45. package/dist/collection/components/selects/wm-nested-select/wm-nested-select.css +378 -0
  46. package/dist/collection/components/selects/wm-nested-select/wm-nested-select.js +581 -0
  47. package/dist/collection/components/selects/wm-optgroup/wm-optgroup.css +77 -0
  48. package/dist/collection/components/selects/wm-optgroup/wm-optgroup.js +197 -0
  49. package/dist/collection/components/{wm-select → selects/wm-select}/wm-select.css +0 -74
  50. package/dist/collection/components/{wm-select → selects/wm-select}/wm-select.js +17 -384
  51. package/dist/collection/components/wm-action-menu/wm-action-menu.js +1 -1
  52. package/dist/collection/components/wm-button/wm-button.js +1 -1
  53. package/dist/collection/components/wm-file/wm-file.js +1 -1
  54. package/dist/collection/components/wm-file-list/wm-file-list.js +1 -1
  55. package/dist/collection/components/wm-input/wm-input.js +1 -1
  56. package/dist/collection/components/wm-menuitem/wm-menuitem.js +1 -1
  57. package/dist/collection/components/wm-modal/wm-modal-footer.js +1 -1
  58. package/dist/collection/components/wm-modal/wm-modal-header.js +1 -1
  59. package/dist/collection/components/wm-modal/wm-modal.js +2 -2
  60. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +1 -1
  61. package/dist/collection/components/wm-navigation/wm-navigation-item.js +1 -1
  62. package/dist/collection/components/wm-navigation/wm-navigation.js +2 -2
  63. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +1 -1
  64. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +1 -1
  65. package/dist/collection/components/wm-option/wm-option.js +35 -9
  66. package/dist/collection/components/wm-pagination/wm-pagination.js +1 -1
  67. package/dist/collection/components/wm-search/wm-search.js +2 -2
  68. package/dist/collection/components/wm-snackbar/wm-snackbar.js +2 -2
  69. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +1 -1
  70. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +1 -1
  71. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +1 -1
  72. package/dist/collection/components/wm-tag-input/wm-tag-input.js +3 -3
  73. package/dist/collection/components/wm-textarea/wm-textarea.js +1 -1
  74. package/dist/collection/components/wm-timepicker/wm-timepicker.js +2 -2
  75. package/dist/collection/components/wm-toggletip/wm-toggletip.js +2 -2
  76. package/dist/collection/components/wm-uploader/wm-uploader.js +2 -2
  77. package/dist/collection/dev/nested-select.js +62 -0
  78. package/dist/collection/global/functions.js +5 -0
  79. package/dist/esm/{app-globals-9946ecbe.js → app-globals-bbc3f842.js} +1 -1
  80. package/dist/esm/{chartFunctions-00fd6f23.js → chartFunctions-7e5619f6.js} +1 -1
  81. package/dist/esm/{functions-25781571.js → functions-046fc5a3.js} +6 -1
  82. package/dist/esm/index-130e07bb.js +12 -0
  83. package/dist/esm/{intl-df3d34d1.js → intl-0822738a.js} +1 -1
  84. package/dist/esm/loader.js +2 -2
  85. package/dist/esm/priv-calendar.entry.js +1 -1
  86. package/dist/esm/priv-chart-popover.entry.js +1 -1
  87. package/dist/esm/priv-navigator-button.entry.js +1 -1
  88. package/dist/esm/priv-navigator-item.entry.js +1 -1
  89. package/dist/esm/priv-option-list.entry.js +381 -0
  90. package/dist/esm/ripple.js +2 -2
  91. package/dist/esm/wm-action-menu_2.entry.js +3 -3
  92. package/dist/esm/wm-button.entry.js +2 -2
  93. package/dist/esm/wm-chart.entry.js +3 -3
  94. package/dist/esm/wm-date-range.entry.js +1 -1
  95. package/dist/esm/wm-datepicker.entry.js +10 -12
  96. package/dist/esm/wm-file-list.entry.js +1 -1
  97. package/dist/esm/wm-file.entry.js +2 -2
  98. package/dist/esm/wm-input.entry.js +3 -3
  99. package/dist/esm/wm-line-chart.entry.js +3 -3
  100. package/dist/esm/wm-modal-footer.entry.js +1 -1
  101. package/dist/esm/wm-modal-header.entry.js +3 -3
  102. package/dist/esm/wm-modal.entry.js +3 -3
  103. package/dist/esm/wm-navigation_3.entry.js +6 -6
  104. package/dist/esm/wm-navigator.entry.js +1 -1
  105. package/dist/esm/wm-nested-select.entry.js +292 -0
  106. package/dist/esm/wm-optgroup.entry.js +53 -0
  107. package/dist/esm/wm-option_2.entry.js +34 -339
  108. package/dist/esm/wm-pagination.entry.js +2 -2
  109. package/dist/esm/wm-progress-indicator_3.entry.js +2 -2
  110. package/dist/esm/wm-search.entry.js +4 -4
  111. package/dist/esm/wm-snackbar.entry.js +4 -4
  112. package/dist/esm/wm-tab-item_3.entry.js +4 -4
  113. package/dist/esm/wm-tag-input.entry.js +5 -5
  114. package/dist/esm/wm-tag-option.entry.js +1 -1
  115. package/dist/esm/wm-textarea.entry.js +3 -3
  116. package/dist/esm/wm-timepicker.entry.js +3 -3
  117. package/dist/esm/wm-toggletip.entry.js +3 -3
  118. package/dist/esm/wm-uploader.entry.js +4 -4
  119. package/dist/esm-es5/{app-globals-9946ecbe.js → app-globals-bbc3f842.js} +1 -1
  120. package/dist/esm-es5/{chartFunctions-00fd6f23.js → chartFunctions-7e5619f6.js} +1 -1
  121. package/dist/esm-es5/{functions-25781571.js → functions-046fc5a3.js} +1 -1
  122. package/dist/esm-es5/index-130e07bb.js +1 -1
  123. package/dist/esm-es5/{intl-df3d34d1.js → intl-0822738a.js} +1 -1
  124. package/dist/esm-es5/loader.js +1 -1
  125. package/dist/esm-es5/priv-calendar.entry.js +1 -1
  126. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  127. package/dist/esm-es5/priv-navigator-button.entry.js +1 -1
  128. package/dist/esm-es5/priv-navigator-item.entry.js +1 -1
  129. package/dist/esm-es5/priv-option-list.entry.js +1 -0
  130. package/dist/esm-es5/ripple.js +1 -1
  131. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  132. package/dist/esm-es5/wm-button.entry.js +1 -1
  133. package/dist/esm-es5/wm-chart.entry.js +1 -1
  134. package/dist/esm-es5/wm-date-range.entry.js +1 -1
  135. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  136. package/dist/esm-es5/wm-file-list.entry.js +1 -1
  137. package/dist/esm-es5/wm-file.entry.js +1 -1
  138. package/dist/esm-es5/wm-input.entry.js +1 -1
  139. package/dist/esm-es5/wm-line-chart.entry.js +1 -1
  140. package/dist/esm-es5/wm-modal-footer.entry.js +1 -1
  141. package/dist/esm-es5/wm-modal-header.entry.js +1 -1
  142. package/dist/esm-es5/wm-modal.entry.js +1 -1
  143. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  144. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  145. package/dist/esm-es5/wm-nested-select.entry.js +1 -0
  146. package/dist/esm-es5/wm-optgroup.entry.js +1 -0
  147. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  148. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  149. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  150. package/dist/esm-es5/wm-search.entry.js +1 -1
  151. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  152. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  153. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  154. package/dist/esm-es5/wm-tag-option.entry.js +1 -1
  155. package/dist/esm-es5/wm-textarea.entry.js +1 -1
  156. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  157. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  158. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  159. package/dist/ripple/{p-041e579b.entry.js → p-05f0f2e9.entry.js} +1 -1
  160. package/dist/ripple/{p-a1a2f8c9.system.entry.js → p-06792553.system.entry.js} +1 -1
  161. package/dist/ripple/{p-b80d9402.system.entry.js → p-0b7a64cd.system.entry.js} +1 -1
  162. package/dist/ripple/{p-d5ba9de1.system.entry.js → p-0db47768.system.entry.js} +1 -1
  163. package/dist/ripple/{p-67a7f0b0.entry.js → p-1123b0fd.entry.js} +1 -1
  164. package/dist/ripple/{p-3423a9b6.system.entry.js → p-140d2dad.system.entry.js} +1 -1
  165. package/dist/ripple/{p-56766bb2.entry.js → p-1727c66e.entry.js} +1 -1
  166. package/dist/ripple/{p-2d619f83.entry.js → p-179e4aee.entry.js} +1 -1
  167. package/dist/ripple/{p-6e60631a.entry.js → p-18d3ad51.entry.js} +1 -1
  168. package/dist/ripple/{p-bcff8b3a.entry.js → p-1a474fb3.entry.js} +1 -1
  169. package/dist/ripple/p-1ed0a315.system.entry.js +1 -0
  170. package/dist/ripple/{p-376efca9.entry.js → p-200298b3.entry.js} +1 -1
  171. package/dist/ripple/{p-3b4045f8.system.entry.js → p-22704516.system.entry.js} +1 -1
  172. package/dist/ripple/{p-f54e9ed0.js → p-28169294.js} +1 -1
  173. package/dist/ripple/p-28a88d69.entry.js +1 -0
  174. package/dist/ripple/{p-13fc2164.entry.js → p-28a89430.entry.js} +1 -1
  175. package/dist/ripple/{p-298c2675.entry.js → p-29388a85.entry.js} +1 -1
  176. package/dist/ripple/{p-1f09134c.entry.js → p-2952dc73.entry.js} +1 -1
  177. package/dist/ripple/p-2ec551cc.entry.js +1 -0
  178. package/dist/ripple/{p-e85b1f40.entry.js → p-30aa965a.entry.js} +1 -1
  179. package/dist/ripple/{p-155224a2.system.entry.js → p-341d27c6.system.entry.js} +1 -1
  180. package/dist/ripple/p-354a97f2.entry.js +1 -0
  181. package/dist/ripple/{p-3b5f4364.system.entry.js → p-35f78ec6.system.entry.js} +1 -1
  182. package/dist/ripple/{p-417c8e46.system.entry.js → p-381d004e.system.entry.js} +1 -1
  183. package/dist/ripple/{p-b41ef3db.entry.js → p-39de670a.entry.js} +1 -1
  184. package/dist/ripple/{p-b7307be6.system.entry.js → p-3ad563c4.system.entry.js} +1 -1
  185. package/dist/ripple/{p-0ff41567.system.entry.js → p-3ea3db64.system.entry.js} +1 -1
  186. package/dist/ripple/p-42925871.entry.js +1 -0
  187. package/dist/ripple/p-46f449d2.system.js +1 -0
  188. package/dist/ripple/{p-e2fe86a7.system.entry.js → p-540f74b1.system.entry.js} +1 -1
  189. package/dist/ripple/{p-a88bf1c5.js → p-58a073f2.js} +1 -1
  190. package/dist/ripple/{p-7fb95b89.entry.js → p-61666258.entry.js} +1 -1
  191. package/dist/ripple/p-64449b64.entry.js +1 -0
  192. package/dist/ripple/p-68fc8da3.system.entry.js +1 -0
  193. package/dist/ripple/p-6e95e98c.system.js +1 -0
  194. package/dist/ripple/{p-aab56a37.system.entry.js → p-7135f074.system.entry.js} +1 -1
  195. package/dist/ripple/{p-eca8daaf.system.js → p-71ddeb97.system.js} +1 -1
  196. package/dist/ripple/{p-d93c51dd.system.entry.js → p-772c4fd2.system.entry.js} +1 -1
  197. package/dist/ripple/{p-17ac5779.js → p-7b5be38a.js} +1 -1
  198. package/dist/ripple/{p-eb14b354.entry.js → p-833c05ca.entry.js} +1 -1
  199. package/dist/ripple/{p-88cfd58d.js → p-8789b4c9.js} +1 -1
  200. package/dist/ripple/{p-fc529ba1.system.entry.js → p-8dd54304.system.entry.js} +1 -1
  201. package/dist/ripple/p-9420679d.entry.js +1 -0
  202. package/dist/ripple/{p-8b56f9d8.system.entry.js → p-96697a65.system.entry.js} +1 -1
  203. package/dist/ripple/p-974ca7a4.system.entry.js +1 -0
  204. package/dist/ripple/{p-b8168f35.system.entry.js → p-97e62c9d.system.entry.js} +1 -1
  205. package/dist/ripple/{p-a9d89ac8.system.js → p-98bf2ccb.system.js} +1 -1
  206. package/dist/ripple/{p-6fe35d1e.system.entry.js → p-ac47e6f5.system.entry.js} +1 -1
  207. package/dist/ripple/{p-5051034b.entry.js → p-b116fb2d.entry.js} +1 -1
  208. package/dist/ripple/{p-03708b88.system.js → p-b6df0519.system.js} +1 -1
  209. package/dist/ripple/{p-6d0e5159.system.entry.js → p-bb28c2c7.system.entry.js} +1 -1
  210. package/dist/ripple/{p-672ae2cb.entry.js → p-c171f37b.entry.js} +1 -1
  211. package/dist/ripple/{p-41eb6a2e.system.entry.js → p-c2fc7204.system.entry.js} +1 -1
  212. package/dist/ripple/{p-4ea1e503.entry.js → p-c9dc5cfa.entry.js} +1 -1
  213. package/dist/ripple/{p-17bb1157.system.entry.js → p-ca6bbd68.system.entry.js} +1 -1
  214. package/dist/ripple/{p-f17fd62b.entry.js → p-cb85c4a7.entry.js} +1 -1
  215. package/dist/ripple/{p-6d56676e.system.entry.js → p-cc5b07b1.system.entry.js} +1 -1
  216. package/dist/ripple/{p-f09e2c22.entry.js → p-d6502e2e.entry.js} +1 -1
  217. package/dist/ripple/{p-c2181de0.entry.js → p-d78dad3d.entry.js} +1 -1
  218. package/dist/ripple/{p-a62e7532.entry.js → p-d7b7c350.entry.js} +1 -1
  219. package/dist/ripple/{p-2fd12dd9.entry.js → p-dde32280.entry.js} +1 -1
  220. package/dist/ripple/{p-7eab6bea.system.entry.js → p-dfaa6a61.system.entry.js} +1 -1
  221. package/dist/ripple/{p-5ece78e5.system.entry.js → p-e25e8ed7.system.entry.js} +1 -1
  222. package/dist/ripple/{p-b0c566b5.system.entry.js → p-e2c9204d.system.entry.js} +1 -1
  223. package/dist/ripple/p-e2de8541.system.entry.js +1 -0
  224. package/dist/ripple/{p-ac40417b.system.entry.js → p-e562e32d.system.entry.js} +1 -1
  225. package/dist/ripple/{p-ecb6c756.entry.js → p-ea407923.entry.js} +1 -1
  226. package/dist/ripple/p-ea9c152f.entry.js +1 -0
  227. package/dist/ripple/{p-748f8a97.system.entry.js → p-f02dce0f.system.entry.js} +1 -1
  228. package/dist/ripple/{p-ea0dfadf.system.entry.js → p-f38622dc.system.entry.js} +1 -1
  229. package/dist/ripple/{p-5caaf651.system.entry.js → p-f8c7adab.system.entry.js} +1 -1
  230. package/dist/ripple/{p-298bde1b.entry.js → p-fb3cfb8b.entry.js} +1 -1
  231. package/dist/ripple/{p-48d0ef98.system.entry.js → p-fdb4cf9e.system.entry.js} +1 -1
  232. package/dist/ripple/{p-0af94825.entry.js → p-feb80dd1.entry.js} +1 -1
  233. package/dist/ripple/{p-2ef49c84.entry.js → p-ff0e05e4.entry.js} +1 -1
  234. package/dist/ripple/ripple.esm.js +1 -1
  235. package/dist/ripple/ripple.js +1 -1
  236. package/dist/types/components/{wm-select/wm-select.d.ts → selects/priv-option-list/priv-option-list.d.ts} +37 -65
  237. package/dist/types/components/selects/wm-nested-select/wm-nested-select.d.ts +55 -0
  238. package/dist/types/components/selects/wm-optgroup/wm-optgroup.d.ts +16 -0
  239. package/dist/types/components/selects/wm-select/wm-select.d.ts +53 -0
  240. package/dist/types/components/wm-option/wm-option.d.ts +2 -1
  241. package/dist/types/components.d.ts +148 -2
  242. package/dist/types/global/functions.d.ts +1 -0
  243. package/package.json +3 -3
  244. package/dist/ripple/p-050f17c4.system.js +0 -1
  245. package/dist/ripple/p-418ed08c.system.entry.js +0 -1
  246. package/dist/ripple/p-4670ccb4.system.js +0 -1
  247. package/dist/ripple/p-4baaf026.entry.js +0 -1
  248. package/dist/ripple/p-6e2cd09a.entry.js +0 -1
  249. package/dist/ripple/p-8e72de50.entry.js +0 -1
  250. package/dist/ripple/p-fabe4ca4.entry.js +0 -1
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement, f as forceUpdate } from './index-130e07bb.js';
2
- import { i as intl, d as debounce, t as toBool, a as handleDisabledAttribute, k as shouldOpenUp, y as getTextDir } from './functions-25781571.js';
3
- import { g as globalMessages } from './intl-df3d34d1.js';
2
+ import { i as intl, t as toBool, z as isElOrChild, a as handleDisabledAttribute, k as shouldOpenUp, y as getTextDir } from './functions-046fc5a3.js';
3
+ import { g as globalMessages } from './intl-0822738a.js';
4
4
 
5
5
  const wmOptionCss = ":host(:not(:last-child)){border-bottom:2px solid;border-color:var(--wmcolor-select-option-border)}:host{display:block;cursor:pointer;position:relative;padding:1.25rem;background:var(--wmcolor-select-option-background);font-family:inherit;list-style:none;color:var(--wmcolor-select-option-text);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host:focus,:host.focus{outline:none;background:var(--wmcolor-select-option-background-focus)}:host.icon{color:var(--wmcolor-interactive)}:host .sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}.checkbox:before{display:inline-block;font:normal normal normal 24px/1 \"Material Design Icons\";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f131\";display:inline-block;margin-right:0.25rem;color:var(--wmcolor-interactive)}:host([aria-selected=true]){background:var(--wmcolor-select-option-background-selected);font-weight:500}:host([aria-selected=true]) .checkbox:before{content:\"\\f132\"}:host([aria-disabled=true]){color:var(--wmcolor-select-option-text-disabled);background:var(--wmcolor-select-option-background-disabled);cursor:default}:host([aria-disabled=true]) .checkbox:before{color:var(--wmcolor-select-option-text-disabled)}:host([aria-disabled=true]) .subinfo{color:var(--wmcolor-select-option-text-disabled)}:host(.multi-option){background:unset}:host(.clone.last){border-bottom:12px solid;border-color:var(--wmcolor-select-option-border)}:host(.hassubinfo){display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;gap:16px}:host(.hidden),:host(.filtered-out){display:none}.subinfo{font-style:italic}.option-wrapper{display:-ms-flexbox;display:flex}.option-text{display:inline-block}::slotted{font-family:inherit}::slotted(i){font-size:0.875rem}::slotted(i):before{display:inline-block;font:normal normal normal 24px/1 \"Material Design Icons\";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;margin-right:0.625rem;pointer-events:none}:host(:focus){outline:none;background:var(--wmcolor-select-option-background-hover)}:host(:hover){background:var(--wmcolor-select-option-background-hover);outline:none}";
6
6
  const WmOptionStyle0 = wmOptionCss;
@@ -13,6 +13,7 @@ const Option = class {
13
13
  this.intCloneClicked = createEvent(this, "intCloneClicked", 7);
14
14
  this.wmKeyUpPressed = createEvent(this, "wmKeyUpPressed", 7);
15
15
  this.wmKeyDownPressed = createEvent(this, "wmKeyDownPressed", 7);
16
+ this.wmKeyLeftPressed = createEvent(this, "wmKeyLeftPressed", 7);
16
17
  this.wmEscKeyPressed = createEvent(this, "wmEscKeyPressed", 7);
17
18
  this.wmHomeKeyPressed = createEvent(this, "wmHomeKeyPressed", 7);
18
19
  this.wmEndKeyPressed = createEvent(this, "wmEndKeyPressed", 7);
@@ -31,7 +32,7 @@ const Option = class {
31
32
  if (this.subinfo) {
32
33
  classes.push("hassubinfo");
33
34
  }
34
- if (this.parentSelectEl.multiple) {
35
+ if (this.parentOptionList.multiple) {
35
36
  classes.push("multi-option");
36
37
  }
37
38
  if (!this.el.textContent.toLowerCase().includes(this.searchTerm)) {
@@ -39,11 +40,13 @@ const Option = class {
39
40
  }
40
41
  return classes.join(" ");
41
42
  }
42
- get parentSelectEl() {
43
- var _a;
44
- return ((_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.nodeName) !== "WM-SELECT"
45
- ? this.el.getRootNode().host
46
- : this.el.parentElement;
43
+ get parentOptionList() {
44
+ if (this.el.classList.contains("clone")) {
45
+ return this.el.closest("priv-option-list");
46
+ }
47
+ else {
48
+ return this.el.assignedSlot.closest("priv-option-list");
49
+ }
47
50
  }
48
51
  handleKeydown(ev) {
49
52
  switch (ev.key) {
@@ -75,6 +78,10 @@ const Option = class {
75
78
  ev.preventDefault();
76
79
  this.wmEndKeyPressed.emit();
77
80
  break;
81
+ case "ArrowLeft":
82
+ ev.preventDefault();
83
+ this.wmKeyLeftPressed.emit(this.el);
84
+ break;
78
85
  default:
79
86
  if (ev.key.length === 1) {
80
87
  ev.preventDefault();
@@ -90,7 +97,7 @@ const Option = class {
90
97
  this.intCloneClicked.emit(this.el); // used to then emit wmOptionSelected from the "real" wm-option
91
98
  }
92
99
  else {
93
- if (this.parentSelectEl.multiple) {
100
+ if (this.parentOptionList.multiple) {
94
101
  this.selected
95
102
  ? this.wmOptionDeselected.emit(this.el)
96
103
  : this.wmOptionSelected.emit(this.el);
@@ -152,10 +159,10 @@ const Option = class {
152
159
  this.syncAriaSelected();
153
160
  this.syncAriaDisabled();
154
161
  this.updateDisabledOnClick();
155
- this.parentSelectEl.addEventListener("wmSelectSearchChanged", (ev) => this.handleSearch(ev));
162
+ this.parentOptionList.addEventListener("optionListSearchChanged", (ev) => this.handleSearch(ev));
156
163
  }
157
164
  render() {
158
- return (h(Host, { key: '6d7f92d3b13121ae8ddffb4d8e6028db2171116a', role: "option", tabindex: this.focused ? 0 : -1, class: this.hostClasses }, h("div", { key: 'd0dccae3c763686b420b0bf16d7bf2880b1cdc67', class: `option-wrapper ${this.parentSelectEl.multiple ? "checkbox" : ""}` }, h("span", { key: '6e1fbd0d49be13883048634cd54d19f19256226d', class: "option-text", "aria-hidden": "true", ref: (el) => (this.textEl = el) }, this.el.textContent), h("span", { key: 'f57f7c21e833a1c03f8407eaccb0883ef6b3a79a', class: "sr-only" }, this.el.textContent)), h("div", { key: '1256826e0ddc1e3c48141e8c0f6864b3401cacf7', class: "subinfo" }, this.subinfo)));
165
+ return (h(Host, { key: '94c3cd2783b9675927ad05aa6c4c1f387f95ef18', role: "option", tabindex: this.focused ? 0 : -1, class: this.hostClasses }, h("div", { key: 'd3be5bbb8f5bf1f4e7f87bc5e735f78ce197fc62', class: `option-wrapper ${this.parentOptionList.multiple ? "checkbox" : ""}` }, h("span", { key: '871aa9bd93c515c765cd80713098ada62c48ee73', class: "option-text", "aria-hidden": "true", ref: (el) => (this.textEl = el) }, this.el.textContent), h("span", { key: 'bdb7e37c1febf0b7dd0919f5a8991b6bdd6ad050', class: "sr-only" }, this.el.textContent)), h("div", { key: '2fdcbca45d8e3540a24ba7f45d895bae07ee0c18', class: "subinfo" }, this.subinfo)));
159
166
  }
160
167
  get el() { return getElement(this); }
161
168
  static get watchers() { return {
@@ -165,7 +172,7 @@ const Option = class {
165
172
  };
166
173
  Option.style = WmOptionStyle0;
167
174
 
168
- const wmSelectCss = ":host{--wmcolor-select-background:var(--wmcolor-background);--wmcolor-select-border:var(--wmcolor-input-border);--wmcolor-select-option-background-disabled:var(--wmcolor-option-background-disabled);--wmcolor-select-option-background-focus:var(--wmcolor-option-background-focus);--wmcolor-select-option-background-hover:var(--wmcolor-option-background-hover);--wmcolor-select-option-background-selected:var(--wmcolor-option-background-selected);--wmcolor-select-option-background:var(--wmcolor-option-background);--wmcolor-select-option-border:var(--wmcolor-option-border);--wmcolor-select-option-text-disabled:var(--wmcolor-option-text-disabled);--wmcolor-select-option-text:var(--wmcolor-option-text);--wmcolor-select-search-border:var(--wmcolor-input-border);--wmcolor-select-search-icon:var(--wmcolor-icon-accent);--wmcolor-select-searchresults-text:var(--wmcolor-text);--wmcolor-select-selectall-background:var(--wmcolor-select-option-background);--wmcolor-select-selectall-border:var(--wmcolor-select-option-border);--wmcolor-select-selectall-text:var(--wmcolor-interactive);--wmcolor-select-text:var(--wmcolor-interactive);position:relative;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:inherit}:host .sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}.wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;font-size:0.875rem}.wrapper .label{display:block;line-height:normal;font-weight:600;white-space:nowrap;margin-bottom:0.25rem}.wrapper .label .required{color:var(--wmcolor-text-required)}.wrapper.label-left{-ms-flex-direction:row;flex-direction:row}.wrapper.label-left .label-wrapper{line-height:2.5rem}.wrapper.label-left .label-wrapper .label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:2.5rem;white-space:normal;margin-bottom:0;margin-right:0.75rem}.wrapper.label-none label{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}.wrapper.invalid .label{color:var(--wmcolor-text-error)}.wrapper.invalid .label:after{display:inline-block;font:normal normal normal 24px/1 \"Material Design Icons\";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f026\";margin-left:0.3125rem}[dir=RTL] .wrapper.invalid .label:after{margin-left:0;margin-right:0.3125rem}.wrapper.rtl.label-left .label{margin-right:0;margin-left:0.75rem}.wrapper .button-wrapper{position:relative;-ms-flex:1;flex:1;font-size:1.125rem;color:var(--wmcolor-select-text);min-width:8.75rem}.wrapper .button-wrapper .displayedoption{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-wrap:nowrap;flex-wrap:nowrap;background:var(--wmcolor-select-background);width:100%;border:solid 1px;border-color:var(--wmcolor-select-border);padding:0 1.875rem 0 0.9375rem;cursor:pointer;height:2.5rem;line-height:normal;font-family:inherit;color:var(--wmcolor-select-text);font-weight:400;font-size:0.875rem;text-transform:none;text-align:left}@media only screen and (max-width: 768px){.wrapper .button-wrapper .displayedoption{height:2.75rem}}.wrapper .button-wrapper .displayedoption:before{display:inline-block;font:normal normal normal 24px/1 \"Material Design Icons\";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f140\";position:absolute;right:0.5625rem;pointer-events:none;font-size:1.12rem}.wrapper .button-wrapper .displayedoption:hover:not(:disabled):not(.-disabled):not(.-raised){background:var(--wmcolor-select-background);text-decoration:none}.wrapper .button-wrapper .displayedoption:active{-ms-transform:scale(1, 1) !important;-webkit-transform:scale(1, 1) !important;transform:scale(1, 1) !important}.wrapper .button-wrapper .displayedoption:focus{outline:none}.wrapper .button-wrapper .displayedoption::-moz-focus-inner{border:0}.wrapper .button-wrapper .displayedoption:focus-visible{outline:3px solid var(--wmcolor-interactive-focus);outline-offset:2px}.wrapper .button-wrapper .displayedoption .overflowcontrol{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;-ms-flex:1;flex:1}.wrapper .button-wrapper .displayedoption .overflowcontrol.hassubinfo{display:-ms-flexbox;display:flex}.wrapper .button-wrapper .displayedoption .overflowcontrol.hassubinfo .button-text{-ms-flex:1;flex:1;text-overflow:ellipsis;overflow:hidden;min-width:0}.wrapper .button-wrapper .displayedoption .overflowcontrol.hassubinfo .subinfo{-ms-flex:none;flex:none;font-style:italic}.wrapper .button-wrapper .displayedoption .overflow-counter{font-weight:bold;margin-left:0.5rem}.wrapper .button-wrapper>.displayedoption[disabled]{color:#6b6b6b;border-color:#8a8a8a;background:#f0f0f0;cursor:default}.wrapper .button-wrapper>.dropdown{-webkit-overflow-scrolling:touch;-webkit-box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);-ms-transition:transform 0.25s ease;-webkit-transition:transform 0.25s ease;-moz-transition:transform 0.25s ease;-webkit-transition:-webkit-transform 0.25s ease;transition:-webkit-transform 0.25s ease;transition:transform 0.25s ease;transition:transform 0.25s ease, -webkit-transform 0.25s ease;-ms-transform:scale(1, 0);-webkit-transform:scale(1, 0);-moz-transform:scale(1, 0);transform:scale(1, 0);-ms-transform-origin:center top;-webkit-transform-origin:center top;-moz-transform-origin:center top;transform-origin:center top;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;position:absolute;top:0;right:0;background:var(--wmcolor-select-option-background);z-index:100;width:100%;font-size:0.875rem}.wrapper .button-wrapper>.dropdown.upwards{top:unset;bottom:calc(100% - 2.5rem);-ms-transform-origin:center bottom;-webkit-transform-origin:center bottom;-moz-transform-origin:center bottom;transform-origin:center bottom}.wrapper .button-wrapper>.dropdown.hidden{visibility:hidden}.wrapper .button-wrapper>.dropdown.open{-ms-transform:scale(1, 1);-webkit-transform:scale(1, 1);-moz-transform:scale(1, 1);transform:scale(1, 1)}.wrapper.invalid .button-wrapper .displayedoption{-webkit-box-shadow:0 0 0 1px var(--wmcolor-input-border-error);-moz-box-shadow:0 0 0 1px var(--wmcolor-input-border-error);box-shadow:0 0 0 1px var(--wmcolor-input-border-error);border-color:var(--wmcolor-input-border-error)}.wrapper .error-message{display:block;font-style:italic;color:var(--wmcolor-text-error);font-size:0.875rem;margin-bottom:0.25rem;top:100%;left:0}.wrapper .error-message:not(:empty){margin-top:0.25rem}.options-wrapper{max-height:12.5rem;overflow:auto}.select-all{width:100%;cursor:pointer;padding:1.25rem;border:none;margin:0;border-bottom:2px solid;border-color:var(--wmcolor-select-selectall-border);background:var(--wmcolor-select-selectall-background);font-family:inherit;font-size:inherit;text-align:left;text-align:start;font-weight:500;color:var(--wmcolor-select-selectall-text);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-all:hover,.select-all:focus{outline:none;background:#f4f4f4}.search{-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:2px solid;border-color:var(--wmcolor-select-option-border);padding:1.25rem}.search .searchfield-wrapper{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;height:2.75rem;width:100%;padding:0 0.75rem;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;border:1px solid;border-color:var(--wmcolor-select-search-border)}.search .searchfield-wrapper:focus,.search .searchfield-wrapper.focus{outline:2px solid var(--wmcolor-input-border-focus);border-color:var(--wmcolor-input-border-focus)}.search .searchfield{width:100%;border:none;outline:none;font-family:inherit;font-size:0.875rem;margin-left:0.25rem}.search .icon:before{display:inline-block;font:normal normal normal 24px/1 \"Material Design Icons\";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f349\";color:var(--wmcolor-select-search-icon);font-size:1.12rem}.search-results-message{padding:1.25rem;color:var(--wmcolor-select-searchresults-text);font-size:0.875rem;font-style:italic}.rtl>.dropdown{-ms-transform-origin:left top;-webkit-transform-origin:left top;-moz-transform-origin:left top;transform-origin:left top;left:0;right:auto}.rtl>.dropdown .option{padding-left:3rem;padding-right:1.25rem}.rtl>.displayedoption{padding:0 0.9375rem 0 1.875rem;text-align:right}.rtl>.displayedoption:before{right:auto;left:0.5625rem}";
175
+ const wmSelectCss = ":host{--wmcolor-select-background:var(--wmcolor-background);--wmcolor-select-border:var(--wmcolor-input-border);--wmcolor-select-option-background-disabled:var(--wmcolor-option-background-disabled);--wmcolor-select-option-background-focus:var(--wmcolor-option-background-focus);--wmcolor-select-option-background-hover:var(--wmcolor-option-background-hover);--wmcolor-select-option-background-selected:var(--wmcolor-option-background-selected);--wmcolor-select-option-background:var(--wmcolor-option-background);--wmcolor-select-option-border:var(--wmcolor-option-border);--wmcolor-select-option-text-disabled:var(--wmcolor-option-text-disabled);--wmcolor-select-option-text:var(--wmcolor-option-text);--wmcolor-select-search-border:var(--wmcolor-input-border);--wmcolor-select-search-icon:var(--wmcolor-icon-accent);--wmcolor-select-searchresults-text:var(--wmcolor-text);--wmcolor-select-selectall-background:var(--wmcolor-select-option-background);--wmcolor-select-selectall-border:var(--wmcolor-select-option-border);--wmcolor-select-selectall-text:var(--wmcolor-interactive);--wmcolor-select-text:var(--wmcolor-interactive);position:relative;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:inherit}:host .sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}.wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;font-size:0.875rem}.wrapper .label{display:block;line-height:normal;font-weight:600;white-space:nowrap;margin-bottom:0.25rem}.wrapper .label .required{color:var(--wmcolor-text-required)}.wrapper.label-left{-ms-flex-direction:row;flex-direction:row}.wrapper.label-left .label-wrapper{line-height:2.5rem}.wrapper.label-left .label-wrapper .label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:2.5rem;white-space:normal;margin-bottom:0;margin-right:0.75rem}.wrapper.label-none label{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}.wrapper.invalid .label{color:var(--wmcolor-text-error)}.wrapper.invalid .label:after{display:inline-block;font:normal normal normal 24px/1 \"Material Design Icons\";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f026\";margin-left:0.3125rem}[dir=RTL] .wrapper.invalid .label:after{margin-left:0;margin-right:0.3125rem}.wrapper.rtl.label-left .label{margin-right:0;margin-left:0.75rem}.wrapper .button-wrapper{position:relative;-ms-flex:1;flex:1;font-size:1.125rem;color:var(--wmcolor-select-text);min-width:8.75rem}.wrapper .button-wrapper .displayedoption{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-wrap:nowrap;flex-wrap:nowrap;background:var(--wmcolor-select-background);width:100%;border:solid 1px;border-color:var(--wmcolor-select-border);padding:0 1.875rem 0 0.9375rem;cursor:pointer;height:2.5rem;line-height:normal;font-family:inherit;color:var(--wmcolor-select-text);font-weight:400;font-size:0.875rem;text-transform:none;text-align:left}@media only screen and (max-width: 768px){.wrapper .button-wrapper .displayedoption{height:2.75rem}}.wrapper .button-wrapper .displayedoption:before{display:inline-block;font:normal normal normal 24px/1 \"Material Design Icons\";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:\"\\f140\";position:absolute;right:0.5625rem;pointer-events:none;font-size:1.12rem}.wrapper .button-wrapper .displayedoption:hover:not(:disabled):not(.-disabled):not(.-raised){background:var(--wmcolor-select-background);text-decoration:none}.wrapper .button-wrapper .displayedoption:active{-ms-transform:scale(1, 1) !important;-webkit-transform:scale(1, 1) !important;transform:scale(1, 1) !important}.wrapper .button-wrapper .displayedoption:focus{outline:none}.wrapper .button-wrapper .displayedoption::-moz-focus-inner{border:0}.wrapper .button-wrapper .displayedoption:focus-visible{outline:3px solid var(--wmcolor-interactive-focus);outline-offset:2px}.wrapper .button-wrapper .displayedoption .overflowcontrol{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;-ms-flex:1;flex:1}.wrapper .button-wrapper .displayedoption .overflowcontrol.hassubinfo{display:-ms-flexbox;display:flex}.wrapper .button-wrapper .displayedoption .overflowcontrol.hassubinfo .button-text{-ms-flex:1;flex:1;text-overflow:ellipsis;overflow:hidden;min-width:0}.wrapper .button-wrapper .displayedoption .overflowcontrol.hassubinfo .subinfo{-ms-flex:none;flex:none;font-style:italic}.wrapper .button-wrapper .displayedoption .overflow-counter{font-weight:bold;margin-left:0.5rem}.wrapper .button-wrapper>.displayedoption[disabled]{color:#6b6b6b;border-color:#8a8a8a;background:#f0f0f0;cursor:default}.wrapper .button-wrapper>.dropdown{-webkit-overflow-scrolling:touch;-webkit-box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);-ms-transition:transform 0.25s ease;-webkit-transition:transform 0.25s ease;-moz-transition:transform 0.25s ease;-webkit-transition:-webkit-transform 0.25s ease;transition:-webkit-transform 0.25s ease;transition:transform 0.25s ease;transition:transform 0.25s ease, -webkit-transform 0.25s ease;-ms-transform:scale(1, 0);-webkit-transform:scale(1, 0);-moz-transform:scale(1, 0);transform:scale(1, 0);-ms-transform-origin:center top;-webkit-transform-origin:center top;-moz-transform-origin:center top;transform-origin:center top;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;position:absolute;top:0;right:0;background:var(--wmcolor-select-option-background);z-index:100;width:100%;font-size:0.875rem}.wrapper .button-wrapper>.dropdown.upwards{top:unset;bottom:calc(100% - 2.5rem);-ms-transform-origin:center bottom;-webkit-transform-origin:center bottom;-moz-transform-origin:center bottom;transform-origin:center bottom}.wrapper .button-wrapper>.dropdown.hidden{visibility:hidden}.wrapper .button-wrapper>.dropdown.open{-ms-transform:scale(1, 1);-webkit-transform:scale(1, 1);-moz-transform:scale(1, 1);transform:scale(1, 1)}.wrapper.invalid .button-wrapper .displayedoption{-webkit-box-shadow:0 0 0 1px var(--wmcolor-input-border-error);-moz-box-shadow:0 0 0 1px var(--wmcolor-input-border-error);box-shadow:0 0 0 1px var(--wmcolor-input-border-error);border-color:var(--wmcolor-input-border-error)}.wrapper .error-message{display:block;font-style:italic;color:var(--wmcolor-text-error);font-size:0.875rem;margin-bottom:0.25rem;top:100%;left:0}.wrapper .error-message:not(:empty){margin-top:0.25rem}.options-wrapper{max-height:12.5rem;overflow:auto}.rtl>.dropdown{-ms-transform-origin:left top;-webkit-transform-origin:left top;-moz-transform-origin:left top;transform-origin:left top;left:0;right:auto}.rtl>.dropdown .option{padding-left:3rem;padding-right:1.25rem}.rtl>.displayedoption{padding:0 0.9375rem 0 1.875rem;text-align:right}.rtl>.displayedoption:before{right:auto;left:0.5625rem}";
169
176
  const WmSelectStyle0 = wmSelectCss;
170
177
 
171
178
  const Select = class {
@@ -173,45 +180,13 @@ const Select = class {
173
180
  registerInstance(this, hostRef);
174
181
  this.wmSelectDidLoad = createEvent(this, "wmSelectDidLoad", 7);
175
182
  this.wmSelectBlurred = createEvent(this, "wmSelectBlurred", 7);
176
- this.wmSelectSearchChanged = createEvent(this, "wmSelectSearchChanged", 7);
177
183
  this.wmSelectAllSelected = createEvent(this, "wmSelectAllSelected", 7);
178
184
  this.wmSelectAllDeselected = createEvent(this, "wmSelectAllDeselected", 7);
179
- this.selectAllMessage = intl.formatMessage({
180
- id: "select.selectAll",
181
- defaultMessage: "Select All",
182
- });
183
- this.deselectAllMessage = intl.formatMessage({
184
- id: "select.deselectAll",
185
- defaultMessage: "Deselect All",
186
- });
187
- this.allOptionsSelectedMessage = intl.formatMessage({
188
- id: "select.allOptionsSelected",
189
- defaultMessage: "All options selected",
190
- });
191
- this.allOptionsDeselectedMessage = intl.formatMessage({
192
- id: "select.allOptionsDeselected",
193
- defaultMessage: "All options deselected",
194
- });
195
- this.keysSoFar = "";
196
- this.searchIndex = 0;
197
185
  this.openUp = false;
198
186
  //////////////////////////////////////
199
- //////////////////////////////////////
200
187
  // for multiselect button text
201
188
  this.overflowCount = 0;
202
189
  this.displayedOptions = [];
203
- this.debouncedClearKeysSoFar = debounce(() => {
204
- this.keysSoFar = "";
205
- }, 500);
206
- this.debouncedSearch = debounce(() => {
207
- this.wmSelectSearchChanged.emit({ searchTerm: this.searchTerm });
208
- if (this.filteredOptions.length) {
209
- this.announce(this.resultsFoundMessage);
210
- }
211
- else {
212
- this.announce(this.noResultsFoundMessage);
213
- }
214
- }, 150);
215
190
  this.disabled = false;
216
191
  this.maxHeight = undefined;
217
192
  this.label = undefined;
@@ -242,85 +217,33 @@ const Select = class {
242
217
  get childOptions() {
243
218
  return Array.from(this.el.querySelectorAll("wm-option"));
244
219
  }
245
- get cloneOptions() {
246
- return Array.from(this.el.shadowRoot.querySelectorAll("wm-option"));
247
- }
248
- get allOptionEls() {
249
- // this includes both slotted wm-options and internally created wm-options
250
- return this.cloneOptions.concat(this.childOptions);
251
- }
252
- get visibleOptionEls() {
253
- return this.allOptionEls.filter((option) => !option.classList.contains("hidden") && !option.classList.contains("filtered-out"));
254
- }
255
220
  get isDisabled() {
256
221
  // string "false" needs to be treated as bool False because react wrappers convert bool to string.
257
222
  return toBool(this.disabled);
258
223
  }
259
- //////////////////////////////////////
260
- // for search variants
261
- get searchTerm() {
262
- return this.searchFieldEl ? this.searchFieldEl.value : "";
263
- }
264
- get filteredOptions() {
265
- return this.childOptions.filter((option) => { var _a; return (_a = option.textContent) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(this.searchTerm.toLowerCase()); });
266
- }
267
224
  get selectedOptions() {
268
225
  return Array.from(this.el.querySelectorAll("wm-option")).filter((x) => x.selected);
269
226
  }
270
227
  get allSelected() {
271
228
  return this.childOptions.every((option) => option.selected);
272
229
  }
273
- get visibleSelectAllButton() {
274
- return this.selectAll && this.multiple && this.searchTerm === "";
275
- }
276
230
  //////////////////////////////////////
277
- get resultsFoundMessage() {
278
- return intl.formatMessage({
279
- id: "select.searchResultsFound",
280
- defaultMessage: "{numResults, plural, one {1 option found} other {# options found}}",
281
- description: "The message read by the screen reader, indicating how many results a search returned",
282
- }, { numResults: this.filteredOptions.length });
283
- }
284
- get noResultsFoundMessage() {
285
- return intl.formatMessage({
286
- id: "select.noSearchResults",
287
- defaultMessage: "No results found. Please try your search again.",
288
- description: "The message displayed when no options pass the search filter",
289
- });
290
- }
291
- handleOptionSelection(ev) {
292
- this.focusOption(ev.detail);
231
+ handleOptionSelection() {
293
232
  if (!this.multiple) {
294
233
  this.close();
295
234
  }
296
235
  }
297
- handleOptionCloneSelection(ev) {
298
- const correspondingOption = this.findCorrespondingOption(ev.detail);
299
- correspondingOption.click();
300
- }
301
236
  handleChildEnter() {
302
237
  // only occurs for multiselects. handle the click, then close
303
238
  this.close();
304
239
  }
305
- handleChildUp(ev) {
306
- this.moveUp(ev.detail);
307
- }
308
- handleChildDown(ev) {
309
- this.moveDown(ev.detail);
310
- }
311
- moveToFirstOption() {
312
- this.focusOption(this.visibleOptionEls[0]);
313
- }
314
- moveToLastOption() {
315
- this.focusOption(this.visibleOptionEls[this.visibleOptionEls.length - 1]);
316
- }
317
240
  closePopupOnEscape() {
318
241
  this.close();
319
242
  }
320
243
  handleOptionBlur(ev) {
321
244
  // if the Option is blurred to something other than the component emit a blur event with the appropriate relatedTarget
322
245
  // keeps our component's blur events accurate, and closes when focusing browser address bar
323
- if (!this.isElOrChild(ev.detail.relatedTarget)) {
246
+ if (!isElOrChild(this.el, ev.detail.relatedTarget)) {
324
247
  const event = new CustomEvent("blur");
325
248
  // @ts-ignore
326
249
  event.relatedTarget = ev.detail.relatedTarget;
@@ -328,34 +251,16 @@ const Select = class {
328
251
  }
329
252
  }
330
253
  handleClick(ev) {
331
- if (!this.isElOrChild(ev.target)) {
254
+ if (!isElOrChild(this.el, ev.target)) {
332
255
  this.close();
333
256
  }
334
257
  }
335
- handleSelectAllClick() {
336
- this.allSelected ? this.deselectAllOptions() : this.selectAllOptions();
337
- }
338
- selectAllOptions() {
339
- this.announce(this.allOptionsSelectedMessage);
340
- this.wmSelectAllSelected.emit();
341
- }
342
- deselectAllOptions() {
343
- this.announce(this.allOptionsDeselectedMessage);
344
- this.wmSelectAllDeselected.emit();
345
- }
346
258
  handleButtonBlur(ev) {
347
- if (this.isElOrChild(ev.relatedTarget)) {
259
+ if (isElOrChild(this.el, ev.relatedTarget)) {
348
260
  // do not emit a blur event when opening the dropdown and focusing the Options
349
261
  ev.stopPropagation();
350
262
  }
351
263
  }
352
- handleSearchFieldBlur(ev) {
353
- this.searchFieldWrapperEl.classList.remove("focus");
354
- if (this.isElOrChild(ev.relatedTarget)) {
355
- // do not emit a blur event when moving from searchfield to options
356
- ev.stopPropagation();
357
- }
358
- }
359
264
  handleKey(ev) {
360
265
  switch (ev.key) {
361
266
  case "ArrowDown":
@@ -392,6 +297,7 @@ const Select = class {
392
297
  // on update of children or children selected state, reset button text and rerender
393
298
  this.setButtonText();
394
299
  forceUpdate(this.el);
300
+ this.optionListEl.handleChildChange(_);
395
301
  }
396
302
  componentDidLoad() {
397
303
  this.wmSelectDidLoad.emit();
@@ -399,55 +305,11 @@ const Select = class {
399
305
  forceUpdate(this.el);
400
306
  // Dev can overwrite the max-height rule set in the Sass file
401
307
  if (this.maxHeight) {
402
- this.listboxEl.style.maxHeight = this.maxHeight;
403
- }
404
- if (this.multiple) {
405
- this.updateOptionVisibility();
308
+ // this.listboxEl.style.maxHeight = this.maxHeight;
309
+ this.dropdownEl.style.maxHeight = this.maxHeight;
406
310
  }
407
311
  this.setButtonText();
408
312
  }
409
- componentWillUpdate() {
410
- if (this.multiple) {
411
- // find last visible clone option and apply .last class
412
- const visibleCloneOptions = this.visibleOptionEls.filter((option) => option.classList.contains("clone"));
413
- // if all options are clones, nothing to separate from
414
- const allClones = visibleCloneOptions.length === this.visibleOptionEls.length;
415
- visibleCloneOptions.forEach((option, idx) => {
416
- if (!allClones && idx === visibleCloneOptions.length - 1) {
417
- option.classList.add("last");
418
- }
419
- else {
420
- option.classList.remove("last");
421
- }
422
- });
423
- }
424
- }
425
- moveUp(el) {
426
- const focusableEls = this.visibleOptionEls;
427
- if (this.selectAllEl) {
428
- focusableEls.unshift(this.selectAllEl);
429
- }
430
- if (this.searchFieldEl) {
431
- focusableEls.unshift(this.searchFieldEl);
432
- }
433
- const prevEl = focusableEls[focusableEls.indexOf(el) - 1] || focusableEls[focusableEls.length - 1];
434
- if (prevEl) {
435
- this.focusOption(prevEl);
436
- }
437
- }
438
- moveDown(el) {
439
- const focusableEls = this.visibleOptionEls;
440
- if (this.selectAllEl) {
441
- focusableEls.unshift(this.selectAllEl);
442
- }
443
- if (this.searchFieldEl) {
444
- focusableEls.unshift(this.searchFieldEl);
445
- }
446
- const nextEl = focusableEls[focusableEls.indexOf(el) + 1] || focusableEls[0];
447
- if (nextEl) {
448
- this.focusOption(nextEl);
449
- }
450
- }
451
313
  open(optionToSelect) {
452
314
  if (!this.isDisabled) {
453
315
  const elHeight = this.el.clientHeight;
@@ -460,60 +322,22 @@ const Select = class {
460
322
  this.isExpanded = true;
461
323
  this.dropdownEl.classList.remove("hidden");
462
324
  window.requestAnimationFrame(() => {
463
- switch (optionToSelect) {
464
- case "next":
465
- // search variant focuses search field
466
- // all others focus option "after" last selected option (this can be the first option)
467
- if (this.search) {
468
- this.searchFieldEl.focus();
469
- this.listboxEl.scrollTop = 0;
470
- }
471
- else {
472
- this.moveDown(this.visibleOptionEls.filter((x) => x.selected).slice(-1)[0]);
473
- }
474
- break;
475
- case "previous":
476
- // search variant focuses last option
477
- // all others focus option "above" first selected option (this can be the last option)
478
- if (this.search) {
479
- this.focusOption(this.visibleOptionEls[this.visibleOptionEls.length - 1]);
480
- }
481
- else {
482
- this.moveUp(this.visibleOptionEls.filter((x) => x.selected)[0]);
483
- }
484
- break;
485
- default:
486
- // search variant focuses search field
487
- // all others focus the selected option
488
- // if no option is selected (empty multiselect), focuses first option
489
- if (this.search) {
490
- this.searchFieldEl.focus();
491
- this.listboxEl.scrollTop = 0;
492
- }
493
- else if (this.selectedOptions.length > 0) {
494
- this.focusOption(this.visibleOptionEls.filter((x) => x.selected)[0]);
495
- }
496
- else {
497
- this.focusOption(this.visibleOptionEls[0]);
498
- }
499
- break;
500
- }
325
+ this.optionListEl.handleInitialFocus(optionToSelect);
501
326
  });
502
327
  }
503
328
  }
504
329
  close(returnFocus = true) {
505
330
  if (this.isExpanded) {
506
331
  this.isExpanded = false;
507
- this.allOptionEls.map((i) => (i.focused = false));
332
+ this.optionListEl.unfocusAll();
508
333
  window.setTimeout(() => {
509
334
  this.dropdownEl.classList.add("hidden");
510
- if (this.multiple) {
511
- this.updateOptionVisibility();
335
+ if (this.optionListEl.multiple) {
336
+ this.optionListEl.updateOptionVisibility();
512
337
  }
513
338
  // clear search field, reset filtered / bolded state of wm-options
514
339
  if (this.search) {
515
- this.searchFieldEl.value = "";
516
- this.wmSelectSearchChanged.emit({ searchTerm: this.searchTerm });
340
+ this.optionListEl.clearSearch();
517
341
  }
518
342
  // Returns focus to button after popup closes (no need if user is tabbing)
519
343
  // Delay is necessary for screenreader to get new expanded state before focus
@@ -525,87 +349,6 @@ const Select = class {
525
349
  }, 150);
526
350
  }
527
351
  }
528
- updateOptionVisibility() {
529
- // this runs for search multiselects, where selected options are rendered at the top of the dropdown list
530
- // slotted wm-options are hidden if selected, and clone wm-options are made visible if selected
531
- this.childOptions.forEach((option, idx) => {
532
- const cloneOption = this.cloneOptions[idx];
533
- if (option.selected) {
534
- option.classList.add("hidden");
535
- cloneOption.classList.remove("hidden");
536
- }
537
- else {
538
- option.classList.remove("hidden");
539
- cloneOption.classList.add("hidden");
540
- }
541
- });
542
- }
543
- focusOption(option) {
544
- this.allOptionEls.forEach((i) => (i.focused = i === option));
545
- // option must be scrolledIntoView before focused
546
- // if focus is called first the option might be positioned incorrectly (in the center of the dropdown) and scrollIntoView will do nothing as the option will already be in view
547
- option.scrollIntoView({ block: "nearest" });
548
- // scrollIntoView does not work when the container of the element it's called on is not rendered to the page (in our case the dropdown is still closed and has transform: scaleY(0))
549
- // when opening the dropdown, scrollIntoView must be delayed to a point where the browser recognizes content within it as able to be scrolled to
550
- // in Safari in particular, the soonest this seems to happen is 20ms. The longest we can wait before any jumping in the open dropdown is noticeable is 60ms
551
- window.setTimeout(() => option.scrollIntoView({ block: "nearest" }), 60);
552
- option.focus();
553
- }
554
- findAndFocusOption(ev) {
555
- const letterPressed = ev.detail.letter.toLowerCase();
556
- const optionPressed = ev.detail.optionEl;
557
- if (!this.keysSoFar && letterPressed == " ") {
558
- // if the first key entered is space, treat as a click. Otherwise include in
559
- optionPressed.click();
560
- }
561
- else {
562
- if (!this.keysSoFar) {
563
- // if first character entered, set currently focused option as the starting index for the search
564
- this.visibleOptionEls.forEach((option, idx) => {
565
- if (option.focused) {
566
- this.searchIndex = idx;
567
- }
568
- });
569
- }
570
- this.keysSoFar += letterPressed;
571
- let nextMatch = this.findMatchInRange(this.visibleOptionEls, this.searchIndex + 1, this.visibleOptionEls.length);
572
- if (!nextMatch) {
573
- // if match can't be found from starting option downwards, search from top
574
- nextMatch = this.findMatchInRange(this.visibleOptionEls, 0, this.searchIndex);
575
- }
576
- if (nextMatch) {
577
- // findMatchInRange still might have returned null, only focus if match found
578
- this.focusOption(nextMatch);
579
- }
580
- this.debouncedClearKeysSoFar();
581
- }
582
- }
583
- findMatchInRange(list, startIndex, endIndex) {
584
- let match = null;
585
- let optionsInRange = list.slice(startIndex, endIndex);
586
- // Find the first option starting with the keysSoFar substring, searching in
587
- // the specified range of options
588
- optionsInRange.forEach((option) => {
589
- const label = option.textContent;
590
- if (!match && label && label.toLowerCase().startsWith(this.keysSoFar)) {
591
- match = option;
592
- }
593
- });
594
- return match;
595
- }
596
- findCorrespondingOption(el) {
597
- // if clone, returns the child wm-option
598
- // if child wm-option, returns clone
599
- const isClone = el.classList.contains("clone");
600
- return isClone
601
- ? this.childOptions[this.cloneOptions.indexOf(el)]
602
- : this.cloneOptions[this.childOptions.indexOf(el)];
603
- }
604
- isElOrChild(el) {
605
- var _a;
606
- // determines whether or not the element is the component, a child of the component, or exists within the component's shadowroot
607
- return el === this.el || this.el.contains(el) || ((_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.contains(el));
608
- }
609
352
  announceError() {
610
353
  if (this.errorMessage) {
611
354
  setTimeout(() => this.announce(this.errorMessage), 100);
@@ -621,41 +364,8 @@ const Select = class {
621
364
  this.wmSelectBlurred.emit();
622
365
  }
623
366
  }
624
- // on search field or select all. keydown on options is handled via events.
625
- handleKeyDown(ev) {
626
- const el = ev.target;
627
- switch (ev.key) {
628
- case "ArrowDown":
629
- ev.preventDefault();
630
- this.moveDown(ev.target);
631
- break;
632
- case "ArrowUp":
633
- ev.preventDefault();
634
- this.moveUp(ev.target);
635
- break;
636
- case "Escape":
637
- ev.preventDefault();
638
- this.close();
639
- break;
640
- case "Enter":
641
- if (el === this.selectAllEl) {
642
- ev.preventDefault();
643
- this.handleSelectAllClick();
644
- this.close();
645
- }
646
- break;
647
- case " ":
648
- if (el === this.selectAllEl) {
649
- ev.preventDefault();
650
- this.handleSelectAllClick();
651
- }
652
- break;
653
- }
654
- }
655
367
  setButtonText() {
656
- this.displayedOptions = this.childOptions
657
- .filter((x) => x.selected)
658
- .map((y) => (!y.classList.contains("hidden") ? y : this.findCorrespondingOption(y)));
368
+ this.displayedOptions = this.childOptions.filter((x) => x.selected);
659
369
  // handle overflow + counter for multiselect
660
370
  if (this.multiple) {
661
371
  // this is a fixed measurement accounting for the max width of a 3 character overflow counter
@@ -699,21 +409,6 @@ const Select = class {
699
409
  return (h("span", null, h("span", { class: "overflow-counter" }, "+", this.overflowCount)));
700
410
  }
701
411
  }
702
- renderSearchField() {
703
- return (h("div", { class: "search" }, h("div", { class: "searchfield-wrapper", ref: (el) => (this.searchFieldWrapperEl = el) }, h("div", { class: "icon" }), h("input", { ref: (el) => (this.searchFieldEl = el), class: "searchfield", role: "combobox", "aria-controls": "list", "aria-expanded": this.isExpanded ? "true" : "false", onKeyDown: (ev) => this.handleKeyDown(ev), onFocus: () => this.searchFieldWrapperEl.classList.add("focus"), onBlur: (ev) => this.handleSearchFieldBlur(ev), onInput: () => this.debouncedSearch(), placeholder: this.searchPlaceholder }))));
704
- }
705
- renderSearchFailedMessage() {
706
- return h("div", { class: "search-results-message" }, this.noResultsFoundMessage);
707
- }
708
- renderSelectAllButton() {
709
- return (h("button", { ref: (el) => (this.selectAllEl = el), class: "select-all", onClick: () => this.handleSelectAllClick(), onKeyDown: (ev) => this.handleKeyDown(ev), tabindex: "-1" }, this.allSelected ? this.deselectAllMessage : this.selectAllMessage));
710
- }
711
- renderCloneOptions() {
712
- return Array.from(this.el.children).map((o) => {
713
- const option = o;
714
- return (h("wm-option", { class: "clone", subinfo: option.subinfo, selected: option.selected }, option.textContent));
715
- });
716
- }
717
412
  render() {
718
413
  const showSubinfo = !this.multiple && this.selectedOptions.length > 0 && this.selectedOptions[0].subinfo;
719
414
  const buttonProps = {
@@ -725,9 +420,9 @@ const Select = class {
725
420
  ["aria-expanded"]: this.isExpanded ? "true" : "false",
726
421
  onClick: () => (this.isExpanded ? this.close() : this.open()),
727
422
  };
728
- return (h(Host, { key: 'f099ef79e70921c17419b2ce8a4e917a0579e44f', onBlur: (ev) => this.handleComponentBlur(ev) }, h("div", { key: 'e95c845dd404f5518b69145543113e69a40084a6', class: `wrapper ${getTextDir()} label-${this.labelPosition} ${this.errorMessage ? "invalid" : ""}` }, h("div", { key: '65dfe5aaaa9239efb0553ba1d323f1c5dc93b9fb', class: "label-wrapper" }, h("label", { key: 'ff406b387e0cd09e46e239f1c80477fe2ee80f24', class: "label", id: "label", htmlFor: "selectbtn" }, this.label,
423
+ return (h(Host, { key: '6727670440a80bf148be78994a4267330cf31041', onBlur: (ev) => this.handleComponentBlur(ev) }, h("div", { key: '89e88dc3eebb8bb4f05e7c97f4af145ea3b54833', class: `wrapper ${getTextDir()} label-${this.labelPosition} ${this.errorMessage ? "invalid" : ""}` }, h("div", { key: '4787f0142908caca775c018f77ad46bdd6a67f3f', class: "label-wrapper" }, h("label", { key: 'cd87e40ecf3ea2b5f992e58fedd355ffdc9f874e', class: "label", id: "label", htmlFor: "selectbtn" }, this.label,
729
424
  // we can't use aria-required or required attributes because it's invalid on the elements we're using (button controlling a listbox)
730
- this.requiredField ? (h("span", { class: "required" }, h("span", { class: "sr-only" }, globalMessages.requiredField), h("span", { "aria-hidden": "true" }, "*"))) : (""))), h("div", { key: '5537fb10791108ac2bda53d3456ec048bb4cc5c4', class: "button-wrapper" }, h("button", Object.assign({ key: '7d54c69839a302ead990f41e961cce05be49f83d' }, buttonProps, { class: "displayedoption", ref: (el) => (this.buttonEl = el), onBlur: (ev) => this.handleButtonBlur(ev), onFocus: () => this.close() }), h("span", { key: 'dcb786709b87be95c28bfcd37cc8459607939f2f', class: `overflowcontrol ${showSubinfo ? "hassubinfo" : ""}` }, h("span", { key: 'b04bbeab1666ebd4538c859356f1a3a33658c1c5', class: "button-text" }, this.renderButtonText()), showSubinfo && h("span", { key: 'c5e9911d91f34c9b7c5becaa9e1127e658fd4607', class: "subinfo" }, this.selectedOptions[0].subinfo)), this.renderOverflowCount()), h("div", { key: '24c47d439f6b131880a8bffe94c40539fc13d78f', class: `dropdown ${this.isExpanded ? "open" : ""} ${this.openUp ? "upwards" : ""}`, ref: (el) => (this.dropdownEl = el) }, this.search && this.renderSearchField(), this.visibleSelectAllButton && this.renderSelectAllButton(), h("div", { key: 'acf189fee5add7d0c6150b44ffd9c0c26e05ade7', id: "list", class: "options-wrapper", tabindex: -1, role: "listbox", "aria-multiselectable": this.multiple ? "true" : null, "aria-labelledby": "label", ref: (el) => (this.listboxEl = el) }, this.search && this.filteredOptions.length === 0 && this.renderSearchFailedMessage(), this.multiple && this.renderCloneOptions(), h("slot", { key: 'ff17ced6e94d7b893c407ea00ab7243176973eb5' }))), h("div", { key: 'a09f44fdf4a100f8eab7b5094fced276023812aa', id: "error", class: this.errorMessage ? "error-message" : "" }, this.errorMessage), h("div", { key: '9e55b5fdc2324b77d0a8bcf17650d937760dd941', id: "announcement", "aria-live": "polite", "aria-atomic": "true", class: "sr-only", ref: (el) => (this.liveRegionEl = el) }, this.announcement)))));
425
+ this.requiredField ? (h("span", { class: "required" }, h("span", { class: "sr-only" }, globalMessages.requiredField), h("span", { "aria-hidden": "true" }, "*"))) : (""))), h("div", { key: 'df831930e77365c19757b84c0763a25cba2f84de', class: "button-wrapper" }, h("button", Object.assign({ key: 'aa97c1799c33eddc280daa3ca15cb081e50fa6fb' }, buttonProps, { class: "displayedoption", ref: (el) => (this.buttonEl = el), onBlur: (ev) => this.handleButtonBlur(ev), onFocus: () => this.close() }), h("span", { key: 'd65f25aa5c016de5274f97dd74e21de8a2fd186e', class: `overflowcontrol ${showSubinfo ? "hassubinfo" : ""}` }, h("span", { key: '357bbce813cc3fb53e7aadfd77e74876702bca79', class: "button-text" }, this.renderButtonText()), showSubinfo && h("span", { key: '56c9af814adffc763ae57d9372df278ec3b39514', class: "subinfo" }, this.selectedOptions[0].subinfo)), this.renderOverflowCount()), h("div", { key: '74851e76320c572355e331322ee7b6e0a597168e', class: `dropdown ${this.isExpanded ? "open" : ""} ${this.openUp ? "upwards" : ""}`, ref: (el) => (this.dropdownEl = el) }, h("priv-option-list", { key: '1a8867c17c997f93c392b2e434062c5e26e1e36a', ref: (el) => (this.optionListEl = el), multiple: this.multiple, search: this.search, selectAll: this.selectAll, searchPlaceholder: this.searchPlaceholder, onOptionListCloseRequested: () => this.close(), onOptionListAllSelected: () => this.wmSelectAllSelected.emit(), onOptionListAllDeselected: () => this.wmSelectAllDeselected.emit() }, h("slot", { key: '7b7ff193b01aac95bf3d2a8412633bf8331a398d' }))), h("div", { key: 'f7bb2724484488a25c3ca85a6634f1ea4ec00ba9', id: "error", class: this.errorMessage ? "error-message" : "" }, this.errorMessage), h("div", { key: '6170e8ac8a2c63e842cc35057b2da31ec6206f4e', id: "announcement", "aria-live": "polite", "aria-atomic": "true", class: "sr-only", ref: (el) => (this.liveRegionEl = el) }, this.announcement)))));
731
426
  }
732
427
  static get delegatesFocus() { return true; }
733
428
  get el() { return getElement(this); }
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-130e07bb.js';
2
- import { d as debounce } from './functions-25781571.js';
2
+ import { d as debounce } from './functions-046fc5a3.js';
3
3
 
4
4
  const wmPaginationCss = ":host,wm-pagination{--wmcolor-pagination-arrow-disabled:var(--wmcolor-interactive-disabled);--wmcolor-pagination-arrow:var(--wmcolor-interactive);--wmcolor-pagination-arrow:var(--wmcolor-interactive);--wmcolor-pagination-button-text-disabled:var(--wmcolor-interactive-disabled);--wmcolor-pagination-button-text:var(--wmcolor-interactive);--wmcolor-pagination-current-background-hover:var(--wmcolor-interactive-hover);--wmcolor-pagination-current-background:var(--wmcolor-interactive);--wmcolor-pagination-current-text:var(--wmcolor-interactive-text);--wmcolor-pagination-focus:var(--wmcolor-interactive-focus);display:block}nav .largescreen,nav .smallscreen{margin-bottom:0.625rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:flex-end;-ms-flex-pack:flex-end;-webkit-justify-content:flex-end;justify-content:flex-end;font-size:0.875rem}nav .largescreen .pageview,nav .smallscreen .pageview{font-size:0.875rem;margin:0 0.625rem}nav .largescreen .paginationbtn,nav .smallscreen .paginationbtn{position:relative;-ms-transition:none;-webkit-transition:none;-moz-transition:none;transition:none;border:none;color:var(--wmcolor-pagination-button-text);background-color:transparent;margin:0;padding:0;height:2.5rem;width:2.5rem;font-family:inherit;letter-spacing:0.3px;font-size:0.875rem;font-weight:500;cursor:pointer;text-transform:none;border-radius:50%}nav .largescreen .paginationbtn svg *,nav .smallscreen .paginationbtn svg *{fill:var(--wmcolor-pagination-arrow)}nav .largescreen .paginationbtn:hover:not([aria-current=page]):not([disabled]),nav .smallscreen .paginationbtn:hover:not([aria-current=page]):not([disabled]){text-decoration:underline}nav .largescreen .paginationbtn:focus,nav .smallscreen .paginationbtn:focus{outline:none}nav .largescreen .paginationbtn::-moz-focus-inner,nav .smallscreen .paginationbtn::-moz-focus-inner{border:0;outline:none}nav .largescreen .paginationbtn[disabled],nav .smallscreen .paginationbtn[disabled]{color:var(--wmcolor-pagination-button-text-disabled);pointer-events:none}nav .largescreen .paginationbtn[disabled] svg *,nav .smallscreen .paginationbtn[disabled] svg *{fill:var(--wmcolor-pagination-arrow-disabled)}nav .largescreen .previousbtn,nav .smallscreen .previousbtn{margin-right:0.625rem}nav .largescreen .nextbtn,nav .smallscreen .nextbtn{margin-left:0.625rem;margin-right:0}nav .largescreen .previousbtn,nav .largescreen .nextbtn,nav .smallscreen .previousbtn,nav .smallscreen .nextbtn{width:auto !important;border-radius:unset;-ms-transition:none;-webkit-transition:none;-moz-transition:none;transition:none}nav .largescreen .ellipsis,nav .smallscreen .ellipsis{display:inline-block;width:2.5rem;text-align:center}nav .largescreen .paginationbtn:focus-visible,nav .smallscreen .paginationbtn:focus-visible{outline:3px solid var(--wmcolor-interactive-focus);outline-offset:-2px}nav .largescreen .paginationbtn:focus-visible.previousbtn:before,nav .smallscreen .paginationbtn:focus-visible.previousbtn:before{left:0 !important}nav .largescreen .paginationbtn:focus-visible.nextbtn:before,nav .smallscreen .paginationbtn:focus-visible.nextbtn:before{left:0 !important}nav .largescreen .paginationbtn:focus-visible[aria-current=page],nav .largescreen .paginationbtn:focus-visible.previousbtn,nav .largescreen .paginationbtn:focus-visible.nextbtn,nav .smallscreen .paginationbtn:focus-visible[aria-current=page],nav .smallscreen .paginationbtn:focus-visible.previousbtn,nav .smallscreen .paginationbtn:focus-visible.nextbtn{outline-offset:2px}nav .largescreen :focus-visible:not([aria-current=page]).previousbtn:focus:before{width:56px !important}nav .largescreen :focus-visible:not([aria-current=page]).nextbtn:focus:before{width:32px !important}nav .largescreen .paginationbtn[aria-current=page]{-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;border-radius:50%;-webkit-box-shadow:0 0 4px 0 rgba(0, 0, 0, 0.14), 0 3px 4px 0 rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);box-shadow:0 0 4px 0 rgba(0, 0, 0, 0.14), 0 3px 4px 0 rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);background:var(--wmcolor-pagination-current-background);color:var(--wmcolor-pagination-current-text)}nav .largescreen .paginationbtn[aria-current=page]:hover{background:var(--wmcolor-pagination-current-background-hover)}.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}";
5
5
  const WmPaginationStyle0 = wmPaginationCss;
@@ -158,7 +158,7 @@ const Pagination = class {
158
158
  render() {
159
159
  return (
160
160
  // do not render the component if there's only one page
161
- this.totalItems > this.itemsPerPage && (h("nav", { key: '5c750d2aa90adcbb709fb5007862401e11e8d23d', "aria-label": `Pagination Navigation. ${this.getCurrentPagesInView()}. Current page, ${this.currentPage}.` }, this.isLargeSize ? this.renderLarge() : this.renderSmall(), h("div", { key: 'be58da3d786e0ed7455b762f4273bbad08755196', id: "status", class: "sr-only", "aria-live": "polite", "aria-relevant": "text", "aria-atomic": "true" }, this.srAnnouncement))));
161
+ this.totalItems > this.itemsPerPage && (h("nav", { key: '34a7f7c87435f83b3e7f96a3df9c9b2bc04904e8', "aria-label": `Pagination Navigation. ${this.getCurrentPagesInView()}. Current page, ${this.currentPage}.` }, this.isLargeSize ? this.renderLarge() : this.renderSmall(), h("div", { key: '9a7e0416709be604a8dd4eb9bcab3dd52522d68a', id: "status", class: "sr-only", "aria-live": "polite", "aria-relevant": "text", "aria-atomic": "true" }, this.srAnnouncement))));
162
162
  }
163
163
  static get delegatesFocus() { return true; }
164
164
  get el() { return getElement(this); }