@ukic/canary-web-components 2.0.0-canary.22 → 2.0.0-canary.23

Sign up to get free protection for your applications and to get access to all the features.
Files changed (609) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/helpers-85c5ca15.js.map +1 -1
  3. package/dist/cjs/ic-accordion-group.cjs.entry.js +7 -7
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ic-accordion.cjs.entry.js +3 -3
  6. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-alert.cjs.entry.js +0 -2
  8. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-back-to-top.cjs.entry.js +11 -14
  10. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-badge.cjs.entry.js +14 -26
  12. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +3 -3
  14. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  16. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-button_3.cjs.entry.js +16 -16
  18. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  19. package/dist/cjs/{ic-card.cjs.entry.js → ic-card-vertical.cjs.entry.js} +5 -5
  20. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -0
  21. package/dist/cjs/ic-checkbox-group.cjs.entry.js +5 -4
  22. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-checkbox.cjs.entry.js +5 -14
  24. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-chip.cjs.entry.js +2 -9
  26. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-classification-banner.cjs.entry.js +2 -2
  28. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-data-list.cjs.entry.js +28 -0
  30. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -0
  31. package/dist/cjs/ic-data-row.cjs.entry.js +8 -9
  32. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +1 -1
  34. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-date-picker.cjs.entry.js +2 -2
  36. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-dialog.cjs.entry.js +11 -96
  38. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-empty-state_2.cjs.entry.js +6 -6
  40. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-footer-link-group.cjs.entry.js +8 -8
  42. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-footer-link.cjs.entry.js +5 -6
  44. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-footer.cjs.entry.js +7 -7
  46. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-hero.cjs.entry.js +7 -8
  48. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +4 -4
  50. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +20 -24
  52. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-link.cjs.entry.js +5 -6
  54. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-menu-item.cjs.entry.js +2 -2
  56. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-menu-with-multi.cjs.entry.js +8 -10
  58. package/dist/cjs/ic-menu-with-multi.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-menu.cjs.entry.js +7 -9
  60. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-navigation-group.cjs.entry.js +8 -8
  62. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-navigation-item.cjs.entry.js +4 -4
  64. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  66. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-page-header.cjs.entry.js +6 -7
  68. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-pagination_4.cjs.entry.js +94 -100
  70. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-popover-menu.cjs.entry.js +2 -2
  72. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-radio-group.cjs.entry.js +21 -25
  74. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-radio-option.cjs.entry.js +4 -17
  76. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-search-bar.cjs.entry.js +17 -23
  78. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-select-with-multi.cjs.entry.js +12 -20
  80. package/dist/cjs/ic-select-with-multi.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-side-navigation.cjs.entry.js +6 -6
  82. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-skeleton.cjs.entry.js +4 -5
  84. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-status-tag.cjs.entry.js +1 -10
  86. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-step.cjs.entry.js +39 -42
  88. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-stepper.cjs.entry.js +15 -15
  90. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-switch.cjs.entry.js +4 -5
  92. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-tab-context.cjs.entry.js +0 -11
  94. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -4
  96. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-tab-panel.cjs.entry.js +0 -7
  98. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-tab.cjs.entry.js +3 -3
  100. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ic-toast-region.cjs.entry.js +0 -7
  102. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  103. package/dist/cjs/ic-toast.cjs.entry.js +82 -34
  104. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  105. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +16 -16
  106. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-toggle-button.cjs.entry.js +12 -12
  108. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-top-navigation.cjs.entry.js +3 -3
  110. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ic-typography.cjs.entry.js +5 -5
  112. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  113. package/dist/cjs/index-4cf27b16.js +10 -10
  114. package/dist/cjs/loader.cjs.js +1 -1
  115. package/dist/collection/collection-manifest.json +2 -2
  116. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +1 -1
  117. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js.map +1 -1
  118. package/dist/collection/components/ic-date-picker/ic-date-picker.css +24 -24
  119. package/dist/collection/components/ic-date-picker/ic-date-picker.js +1 -1
  120. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  121. package/dist/collection/components/ic-menu-with-multi/ic-menu.css +11 -11
  122. package/dist/collection/components/ic-menu-with-multi/ic-menu.js +7 -30
  123. package/dist/collection/components/ic-menu-with-multi/ic-menu.js.map +1 -1
  124. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js +1 -1
  125. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js.map +1 -1
  126. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +1 -1
  127. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  128. package/dist/collection/components/ic-select-with-multi/ic-select.css +14 -12
  129. package/dist/collection/components/ic-select-with-multi/ic-select.js +13 -142
  130. package/dist/collection/components/ic-select-with-multi/ic-select.js.map +1 -1
  131. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.e2e.js +1 -1
  132. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.e2e.js.map +1 -1
  133. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js +6 -6
  134. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js.map +1 -1
  135. package/dist/collection/utils/types.js.map +1 -1
  136. package/dist/components/helpers2.js.map +1 -1
  137. package/dist/components/ic-accordion-group.js +8 -8
  138. package/dist/components/ic-accordion-group.js.map +1 -1
  139. package/dist/components/ic-accordion.js +3 -3
  140. package/dist/components/ic-accordion.js.map +1 -1
  141. package/dist/components/ic-alert.js +127 -1
  142. package/dist/components/ic-alert.js.map +1 -1
  143. package/dist/components/ic-back-to-top.js +24 -15
  144. package/dist/components/ic-back-to-top.js.map +1 -1
  145. package/dist/components/ic-badge.js +16 -30
  146. package/dist/components/ic-badge.js.map +1 -1
  147. package/dist/components/ic-breadcrumb-group.js +3 -3
  148. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  149. package/dist/components/ic-breadcrumb2.js +2 -2
  150. package/dist/components/ic-breadcrumb2.js.map +1 -1
  151. package/dist/components/ic-button2.js +9 -9
  152. package/dist/components/ic-button2.js.map +1 -1
  153. package/dist/components/{ic-card.js → ic-card-vertical.js} +10 -10
  154. package/dist/components/ic-card-vertical.js.map +1 -0
  155. package/dist/components/ic-checkbox-group.js +5 -5
  156. package/dist/components/ic-checkbox-group.js.map +1 -1
  157. package/dist/components/ic-checkbox.js +5 -20
  158. package/dist/components/ic-checkbox.js.map +1 -1
  159. package/dist/components/ic-chip.js +2 -10
  160. package/dist/components/ic-chip.js.map +1 -1
  161. package/dist/components/ic-classification-banner.js +2 -2
  162. package/dist/components/ic-classification-banner.js.map +1 -1
  163. package/dist/components/ic-data-list.js +51 -0
  164. package/dist/components/ic-data-list.js.map +1 -0
  165. package/dist/components/ic-data-row.js +9 -11
  166. package/dist/components/ic-data-row.js.map +1 -1
  167. package/dist/components/ic-data-table-title-bar.js +1 -1
  168. package/dist/components/ic-data-table-title-bar.js.map +1 -1
  169. package/dist/components/ic-date-picker.js +2 -2
  170. package/dist/components/ic-date-picker.js.map +1 -1
  171. package/dist/components/ic-dialog.js +14 -112
  172. package/dist/components/ic-dialog.js.map +1 -1
  173. package/dist/components/ic-empty-state2.js +6 -6
  174. package/dist/components/ic-empty-state2.js.map +1 -1
  175. package/dist/components/ic-footer-link-group.js +9 -9
  176. package/dist/components/ic-footer-link-group.js.map +1 -1
  177. package/dist/components/ic-footer-link.js +12 -7
  178. package/dist/components/ic-footer-link.js.map +1 -1
  179. package/dist/components/ic-footer.js +7 -7
  180. package/dist/components/ic-footer.js.map +1 -1
  181. package/dist/components/ic-hero.js +7 -9
  182. package/dist/components/ic-hero.js.map +1 -1
  183. package/dist/components/ic-horizontal-scroll2.js +4 -4
  184. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  185. package/dist/components/ic-input-component-container2.js +10 -15
  186. package/dist/components/ic-input-component-container2.js.map +1 -1
  187. package/dist/components/ic-input-label2.js +9 -11
  188. package/dist/components/ic-input-label2.js.map +1 -1
  189. package/dist/components/ic-input-validation2.js +3 -3
  190. package/dist/components/ic-input-validation2.js.map +1 -1
  191. package/dist/components/ic-link2.js +5 -7
  192. package/dist/components/ic-link2.js.map +1 -1
  193. package/dist/components/ic-loading-indicator2.js +8 -8
  194. package/dist/components/ic-loading-indicator2.js.map +1 -1
  195. package/dist/components/ic-menu-item2.js +2 -2
  196. package/dist/components/ic-menu-item2.js.map +1 -1
  197. package/dist/components/ic-menu2.js +7 -10
  198. package/dist/components/ic-menu2.js.map +1 -1
  199. package/dist/components/ic-menu3.js +8 -11
  200. package/dist/components/ic-menu3.js.map +1 -1
  201. package/dist/components/ic-navigation-group.js +8 -8
  202. package/dist/components/ic-navigation-group.js.map +1 -1
  203. package/dist/components/ic-navigation-item.js +4 -4
  204. package/dist/components/ic-navigation-item.js.map +1 -1
  205. package/dist/components/ic-navigation-menu2.js +1 -1
  206. package/dist/components/ic-navigation-menu2.js.map +1 -1
  207. package/dist/components/ic-page-header.js +6 -8
  208. package/dist/components/ic-page-header.js.map +1 -1
  209. package/dist/components/ic-pagination-bar2.js +1 -1
  210. package/dist/components/ic-pagination-bar2.js.map +1 -1
  211. package/dist/components/ic-pagination2.js +38 -36
  212. package/dist/components/ic-pagination2.js.map +1 -1
  213. package/dist/components/ic-popover-menu.js +2 -2
  214. package/dist/components/ic-popover-menu.js.map +1 -1
  215. package/dist/components/ic-radio-group.js +23 -27
  216. package/dist/components/ic-radio-group.js.map +1 -1
  217. package/dist/components/ic-radio-option.js +6 -25
  218. package/dist/components/ic-radio-option.js.map +1 -1
  219. package/dist/components/ic-search-bar.js +19 -26
  220. package/dist/components/ic-search-bar.js.map +1 -1
  221. package/dist/components/ic-select-with-multi.js +13 -28
  222. package/dist/components/ic-select-with-multi.js.map +1 -1
  223. package/dist/components/ic-select2.js +13 -28
  224. package/dist/components/ic-select2.js.map +1 -1
  225. package/dist/components/ic-side-navigation.js +6 -6
  226. package/dist/components/ic-side-navigation.js.map +1 -1
  227. package/dist/components/ic-skeleton.js +4 -6
  228. package/dist/components/ic-skeleton.js.map +1 -1
  229. package/dist/components/ic-status-tag.js +1 -12
  230. package/dist/components/ic-status-tag.js.map +1 -1
  231. package/dist/components/ic-step.js +45 -48
  232. package/dist/components/ic-step.js.map +1 -1
  233. package/dist/components/ic-stepper.js +15 -15
  234. package/dist/components/ic-stepper.js.map +1 -1
  235. package/dist/components/ic-switch.js +4 -6
  236. package/dist/components/ic-switch.js.map +1 -1
  237. package/dist/components/ic-tab-context.js +0 -11
  238. package/dist/components/ic-tab-context.js.map +1 -1
  239. package/dist/components/ic-tab-group.js +3 -5
  240. package/dist/components/ic-tab-group.js.map +1 -1
  241. package/dist/components/ic-tab-panel.js +0 -8
  242. package/dist/components/ic-tab-panel.js.map +1 -1
  243. package/dist/components/ic-tab.js +3 -3
  244. package/dist/components/ic-tab.js.map +1 -1
  245. package/dist/components/ic-text-field2.js +50 -52
  246. package/dist/components/ic-text-field2.js.map +1 -1
  247. package/dist/components/ic-toast-region.js +1 -9
  248. package/dist/components/ic-toast-region.js.map +1 -1
  249. package/dist/components/ic-toast.js +85 -35
  250. package/dist/components/ic-toast.js.map +1 -1
  251. package/dist/components/ic-toggle-button-group.js +16 -16
  252. package/dist/components/ic-toggle-button-group.js.map +1 -1
  253. package/dist/components/ic-toggle-button.js +13 -13
  254. package/dist/components/ic-toggle-button.js.map +1 -1
  255. package/dist/components/ic-top-navigation.js +3 -3
  256. package/dist/components/ic-top-navigation.js.map +1 -1
  257. package/dist/components/ic-typography2.js +5 -5
  258. package/dist/components/ic-typography2.js.map +1 -1
  259. package/dist/core/core.css +1 -1
  260. package/dist/core/core.esm.js +1 -1
  261. package/dist/core/core.esm.js.map +1 -1
  262. package/dist/core/{p-0ec04c16.entry.js → p-00b29b5c.entry.js} +2 -2
  263. package/dist/core/p-00b29b5c.entry.js.map +1 -0
  264. package/dist/core/p-01937eb0.entry.js +2 -0
  265. package/dist/core/p-01937eb0.entry.js.map +1 -0
  266. package/dist/core/p-06db67a5.entry.js +2 -0
  267. package/dist/core/p-06db67a5.entry.js.map +1 -0
  268. package/dist/core/{p-0180e00a.entry.js → p-0896531a.entry.js} +2 -2
  269. package/dist/core/p-0896531a.entry.js.map +1 -0
  270. package/dist/core/{p-d86cdbc8.entry.js → p-125bc120.entry.js} +2 -2
  271. package/dist/core/p-155054f4.entry.js +2 -0
  272. package/dist/core/p-155054f4.entry.js.map +1 -0
  273. package/dist/core/p-19be677b.entry.js +2 -0
  274. package/dist/core/p-19be677b.entry.js.map +1 -0
  275. package/dist/core/p-20aae323.entry.js +2 -0
  276. package/dist/core/p-20aae323.entry.js.map +1 -0
  277. package/dist/core/{p-5348af01.entry.js → p-21ecca00.entry.js} +2 -2
  278. package/dist/core/p-21ecca00.entry.js.map +1 -0
  279. package/dist/core/{p-6fb3d61e.entry.js → p-22260ed4.entry.js} +2 -2
  280. package/dist/core/{p-bfc5f3f4.entry.js → p-2533d147.entry.js} +2 -2
  281. package/dist/core/p-2533d147.entry.js.map +1 -0
  282. package/dist/core/p-2ec4ced3.entry.js +2 -0
  283. package/dist/core/p-2ec4ced3.entry.js.map +1 -0
  284. package/dist/core/{p-8128572e.js → p-2fb52051.js} +2 -2
  285. package/dist/core/{p-06732eaf.entry.js → p-30d385c6.entry.js} +2 -2
  286. package/dist/core/p-30d385c6.entry.js.map +1 -0
  287. package/dist/core/p-3bd8a4fa.entry.js +2 -0
  288. package/dist/core/p-3bd8a4fa.entry.js.map +1 -0
  289. package/dist/core/{p-648fb902.entry.js → p-3f2ae26e.entry.js} +2 -2
  290. package/dist/core/p-3f2ae26e.entry.js.map +1 -0
  291. package/dist/core/{p-452985d9.entry.js → p-4188b38a.entry.js} +2 -2
  292. package/dist/core/p-4188b38a.entry.js.map +1 -0
  293. package/dist/core/{p-97f141a6.entry.js → p-41a53070.entry.js} +2 -2
  294. package/dist/core/p-41a53070.entry.js.map +1 -0
  295. package/dist/core/p-436d179b.entry.js +2 -0
  296. package/dist/core/p-436d179b.entry.js.map +1 -0
  297. package/dist/core/p-439d1a97.entry.js +2 -0
  298. package/dist/core/p-439d1a97.entry.js.map +1 -0
  299. package/dist/core/p-4974da93.entry.js +2 -0
  300. package/dist/core/p-4974da93.entry.js.map +1 -0
  301. package/dist/core/p-4d316a43.entry.js +2 -0
  302. package/dist/core/p-4d316a43.entry.js.map +1 -0
  303. package/dist/core/{p-5fea8f1c.entry.js → p-54306250.entry.js} +2 -2
  304. package/dist/core/{p-5fea8f1c.entry.js.map → p-54306250.entry.js.map} +1 -1
  305. package/dist/core/p-57527684.entry.js +2 -0
  306. package/dist/core/p-57527684.entry.js.map +1 -0
  307. package/dist/core/p-5a95dd44.entry.js +2 -0
  308. package/dist/core/p-5a95dd44.entry.js.map +1 -0
  309. package/dist/core/p-5cecbd1f.entry.js +2 -0
  310. package/dist/core/p-5cecbd1f.entry.js.map +1 -0
  311. package/dist/core/p-5e41f96d.entry.js +2 -0
  312. package/dist/core/p-5e41f96d.entry.js.map +1 -0
  313. package/dist/core/p-64826d54.entry.js +2 -0
  314. package/dist/core/p-64826d54.entry.js.map +1 -0
  315. package/dist/core/{p-216fbd5e.entry.js → p-64b1e4a8.entry.js} +2 -2
  316. package/dist/core/p-64b1e4a8.entry.js.map +1 -0
  317. package/dist/core/p-65cf6a11.entry.js +2 -0
  318. package/dist/core/p-65cf6a11.entry.js.map +1 -0
  319. package/dist/core/{p-b29e96b5.entry.js → p-6a5ffe7d.entry.js} +2 -2
  320. package/dist/core/p-6a5ffe7d.entry.js.map +1 -0
  321. package/dist/core/p-6c6c71ba.entry.js +2 -0
  322. package/dist/core/p-6c6c71ba.entry.js.map +1 -0
  323. package/dist/core/p-6f0e9434.entry.js +2 -0
  324. package/dist/core/p-6f0e9434.entry.js.map +1 -0
  325. package/dist/core/p-85cb6bb7.entry.js +2 -0
  326. package/dist/core/p-85cb6bb7.entry.js.map +1 -0
  327. package/dist/core/{p-67ae9d37.entry.js → p-88ba5a88.entry.js} +2 -2
  328. package/dist/core/{p-59993f36.entry.js → p-8c5b63c6.entry.js} +2 -2
  329. package/dist/core/p-8c5b63c6.entry.js.map +1 -0
  330. package/dist/core/p-8da08c05.entry.js +2 -0
  331. package/dist/core/p-8da08c05.entry.js.map +1 -0
  332. package/dist/core/p-98981fa7.entry.js +2 -0
  333. package/dist/core/p-98981fa7.entry.js.map +1 -0
  334. package/dist/core/p-9d3e0e60.entry.js +2 -0
  335. package/dist/core/p-9d3e0e60.entry.js.map +1 -0
  336. package/dist/core/p-a2194364.entry.js +2 -0
  337. package/dist/core/p-a2194364.entry.js.map +1 -0
  338. package/dist/core/{p-da8255b8.entry.js → p-a4d0f166.entry.js} +2 -2
  339. package/dist/core/p-a4d0f166.entry.js.map +1 -0
  340. package/dist/core/p-aaa6f849.entry.js +2 -0
  341. package/dist/core/p-aaa6f849.entry.js.map +1 -0
  342. package/dist/core/p-adbe0d89.js.map +1 -1
  343. package/dist/core/p-b4ab627a.entry.js +2 -0
  344. package/dist/core/p-b4ab627a.entry.js.map +1 -0
  345. package/dist/core/{p-a72af8db.entry.js → p-b6e208e3.entry.js} +2 -2
  346. package/dist/core/p-b7abaec8.entry.js +2 -0
  347. package/dist/core/p-b7abaec8.entry.js.map +1 -0
  348. package/dist/core/p-bc4aec3a.entry.js +2 -0
  349. package/dist/core/p-bc4aec3a.entry.js.map +1 -0
  350. package/dist/core/{p-6b01e096.entry.js → p-bcf04b18.entry.js} +2 -2
  351. package/dist/core/p-bcf04b18.entry.js.map +1 -0
  352. package/dist/core/{p-f09b2041.entry.js → p-be70c278.entry.js} +2 -2
  353. package/dist/core/{p-f09b2041.entry.js.map → p-be70c278.entry.js.map} +1 -1
  354. package/dist/core/p-bf009b9a.entry.js +2 -0
  355. package/dist/core/p-bf009b9a.entry.js.map +1 -0
  356. package/dist/core/{p-6b1fcf87.entry.js → p-cbd730aa.entry.js} +2 -2
  357. package/dist/core/p-cbd730aa.entry.js.map +1 -0
  358. package/dist/core/p-d76e24e4.entry.js +2 -0
  359. package/dist/core/p-d76e24e4.entry.js.map +1 -0
  360. package/dist/core/p-d7bf1057.entry.js +2 -0
  361. package/dist/core/p-d7bf1057.entry.js.map +1 -0
  362. package/dist/core/p-d9254b14.entry.js +2 -0
  363. package/dist/core/p-d9254b14.entry.js.map +1 -0
  364. package/dist/core/p-e20f8772.entry.js +2 -0
  365. package/dist/core/p-e20f8772.entry.js.map +1 -0
  366. package/dist/core/p-e26769b0.entry.js +2 -0
  367. package/dist/core/p-e26769b0.entry.js.map +1 -0
  368. package/dist/core/p-e2dba05a.entry.js +2 -0
  369. package/dist/core/p-e2dba05a.entry.js.map +1 -0
  370. package/dist/core/p-ec862c7e.entry.js +2 -0
  371. package/dist/core/p-ec862c7e.entry.js.map +1 -0
  372. package/dist/core/p-ef9175d8.entry.js +2 -0
  373. package/dist/core/p-ef9175d8.entry.js.map +1 -0
  374. package/dist/core/{p-787ffd96.entry.js → p-f1072c28.entry.js} +2 -2
  375. package/dist/core/{p-452985d9.entry.js.map → p-f1072c28.entry.js.map} +1 -1
  376. package/dist/core/p-f4db39eb.entry.js +2 -0
  377. package/dist/core/p-f4db39eb.entry.js.map +1 -0
  378. package/dist/esm/core.js +1 -1
  379. package/dist/esm/{helpers-886489d5.js → helpers-0f5fe29b.js} +2 -2
  380. package/dist/esm/{helpers-886489d5.js.map → helpers-0f5fe29b.js.map} +1 -1
  381. package/dist/esm/helpers-f543bc77.js.map +1 -1
  382. package/dist/esm/ic-accordion-group.entry.js +8 -8
  383. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  384. package/dist/esm/ic-accordion.entry.js +4 -4
  385. package/dist/esm/ic-accordion.entry.js.map +1 -1
  386. package/dist/esm/ic-alert.entry.js +1 -3
  387. package/dist/esm/ic-alert.entry.js.map +1 -1
  388. package/dist/esm/ic-back-to-top.entry.js +12 -15
  389. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  390. package/dist/esm/ic-badge.entry.js +15 -27
  391. package/dist/esm/ic-badge.entry.js.map +1 -1
  392. package/dist/esm/ic-breadcrumb-group.entry.js +4 -4
  393. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  394. package/dist/esm/ic-breadcrumb.entry.js +3 -3
  395. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  396. package/dist/esm/ic-button_3.entry.js +17 -17
  397. package/dist/esm/ic-button_3.entry.js.map +1 -1
  398. package/dist/esm/{ic-card.entry.js → ic-card-vertical.entry.js} +6 -6
  399. package/dist/esm/ic-card-vertical.entry.js.map +1 -0
  400. package/dist/esm/ic-checkbox-group.entry.js +6 -5
  401. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  402. package/dist/esm/ic-checkbox.entry.js +6 -15
  403. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  404. package/dist/esm/ic-chip.entry.js +3 -10
  405. package/dist/esm/ic-chip.entry.js.map +1 -1
  406. package/dist/esm/ic-classification-banner.entry.js +2 -2
  407. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  408. package/dist/esm/ic-data-list.entry.js +24 -0
  409. package/dist/esm/ic-data-list.entry.js.map +1 -0
  410. package/dist/esm/ic-data-row.entry.js +9 -10
  411. package/dist/esm/ic-data-row.entry.js.map +1 -1
  412. package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
  413. package/dist/esm/ic-data-table-title-bar.entry.js.map +1 -1
  414. package/dist/esm/ic-date-picker.entry.js +2 -2
  415. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  416. package/dist/esm/ic-dialog.entry.js +12 -97
  417. package/dist/esm/ic-dialog.entry.js.map +1 -1
  418. package/dist/esm/ic-divider.entry.js +1 -1
  419. package/dist/esm/ic-empty-state_2.entry.js +7 -7
  420. package/dist/esm/ic-empty-state_2.entry.js.map +1 -1
  421. package/dist/esm/ic-footer-link-group.entry.js +9 -9
  422. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  423. package/dist/esm/ic-footer-link.entry.js +6 -7
  424. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  425. package/dist/esm/ic-footer.entry.js +8 -8
  426. package/dist/esm/ic-footer.entry.js.map +1 -1
  427. package/dist/esm/ic-hero.entry.js +8 -9
  428. package/dist/esm/ic-hero.entry.js.map +1 -1
  429. package/dist/esm/ic-horizontal-scroll.entry.js +5 -5
  430. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  431. package/dist/esm/ic-input-component-container_4.entry.js +21 -25
  432. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
  433. package/dist/esm/ic-link.entry.js +6 -7
  434. package/dist/esm/ic-link.entry.js.map +1 -1
  435. package/dist/esm/ic-menu-group.entry.js +1 -1
  436. package/dist/esm/ic-menu-item.entry.js +3 -3
  437. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  438. package/dist/esm/ic-menu-with-multi.entry.js +8 -10
  439. package/dist/esm/ic-menu-with-multi.entry.js.map +1 -1
  440. package/dist/esm/ic-menu.entry.js +8 -10
  441. package/dist/esm/ic-menu.entry.js.map +1 -1
  442. package/dist/esm/ic-navigation-button.entry.js +1 -1
  443. package/dist/esm/ic-navigation-group.entry.js +9 -9
  444. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  445. package/dist/esm/ic-navigation-item.entry.js +5 -5
  446. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  447. package/dist/esm/ic-navigation-menu.entry.js +2 -2
  448. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  449. package/dist/esm/ic-page-header.entry.js +7 -8
  450. package/dist/esm/ic-page-header.entry.js.map +1 -1
  451. package/dist/esm/ic-pagination_4.entry.js +95 -101
  452. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  453. package/dist/esm/ic-popover-menu.entry.js +3 -3
  454. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  455. package/dist/esm/ic-radio-group.entry.js +22 -26
  456. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  457. package/dist/esm/ic-radio-option.entry.js +5 -18
  458. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  459. package/dist/esm/ic-search-bar.entry.js +18 -24
  460. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  461. package/dist/esm/ic-select-with-multi.entry.js +12 -20
  462. package/dist/esm/ic-select-with-multi.entry.js.map +1 -1
  463. package/dist/esm/ic-side-navigation.entry.js +7 -7
  464. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  465. package/dist/esm/ic-skeleton.entry.js +4 -5
  466. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  467. package/dist/esm/ic-status-tag.entry.js +2 -11
  468. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  469. package/dist/esm/ic-step.entry.js +40 -43
  470. package/dist/esm/ic-step.entry.js.map +1 -1
  471. package/dist/esm/ic-stepper.entry.js +16 -16
  472. package/dist/esm/ic-stepper.entry.js.map +1 -1
  473. package/dist/esm/ic-switch.entry.js +5 -6
  474. package/dist/esm/ic-switch.entry.js.map +1 -1
  475. package/dist/esm/ic-tab-context.entry.js +0 -11
  476. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  477. package/dist/esm/ic-tab-group.entry.js +4 -5
  478. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  479. package/dist/esm/ic-tab-panel.entry.js +1 -8
  480. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  481. package/dist/esm/ic-tab.entry.js +4 -4
  482. package/dist/esm/ic-tab.entry.js.map +1 -1
  483. package/dist/esm/ic-theme.entry.js +1 -1
  484. package/dist/esm/ic-toast-region.entry.js +0 -7
  485. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  486. package/dist/esm/ic-toast.entry.js +83 -35
  487. package/dist/esm/ic-toast.entry.js.map +1 -1
  488. package/dist/esm/ic-toggle-button-group.entry.js +16 -16
  489. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  490. package/dist/esm/ic-toggle-button.entry.js +13 -13
  491. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  492. package/dist/esm/ic-top-navigation.entry.js +4 -4
  493. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  494. package/dist/esm/ic-typography.entry.js +6 -6
  495. package/dist/esm/ic-typography.entry.js.map +1 -1
  496. package/dist/esm/index-93509377.js +10 -10
  497. package/dist/esm/loader.js +1 -1
  498. package/dist/types/components/ic-menu-with-multi/ic-menu.d.ts +0 -4
  499. package/dist/types/components/ic-select-with-multi/ic-select.d.ts +1 -31
  500. package/dist/types/components.d.ts +2 -66
  501. package/dist/types/utils/types.d.ts +1 -1
  502. package/hydrate/index.js +756 -971
  503. package/package.json +3 -3
  504. package/dist/cjs/ic-card.cjs.entry.js.map +0 -1
  505. package/dist/cjs/ic-data-entity.cjs.entry.js +0 -29
  506. package/dist/cjs/ic-data-entity.cjs.entry.js.map +0 -1
  507. package/dist/components/ic-alert2.js +0 -133
  508. package/dist/components/ic-alert2.js.map +0 -1
  509. package/dist/components/ic-card.js.map +0 -1
  510. package/dist/components/ic-data-entity.js +0 -53
  511. package/dist/components/ic-data-entity.js.map +0 -1
  512. package/dist/core/p-0180e00a.entry.js.map +0 -1
  513. package/dist/core/p-046f4de6.entry.js +0 -2
  514. package/dist/core/p-046f4de6.entry.js.map +0 -1
  515. package/dist/core/p-06732eaf.entry.js.map +0 -1
  516. package/dist/core/p-0ec04c16.entry.js.map +0 -1
  517. package/dist/core/p-13993bf3.entry.js +0 -2
  518. package/dist/core/p-13993bf3.entry.js.map +0 -1
  519. package/dist/core/p-16a48a63.entry.js +0 -2
  520. package/dist/core/p-16a48a63.entry.js.map +0 -1
  521. package/dist/core/p-216fbd5e.entry.js.map +0 -1
  522. package/dist/core/p-2d063032.entry.js +0 -2
  523. package/dist/core/p-2d063032.entry.js.map +0 -1
  524. package/dist/core/p-2ee5d3fb.entry.js +0 -2
  525. package/dist/core/p-2ee5d3fb.entry.js.map +0 -1
  526. package/dist/core/p-355c8532.entry.js +0 -2
  527. package/dist/core/p-355c8532.entry.js.map +0 -1
  528. package/dist/core/p-3a59391f.entry.js +0 -2
  529. package/dist/core/p-3a59391f.entry.js.map +0 -1
  530. package/dist/core/p-3ba4335c.entry.js +0 -2
  531. package/dist/core/p-3ba4335c.entry.js.map +0 -1
  532. package/dist/core/p-3f2723aa.entry.js +0 -2
  533. package/dist/core/p-3f2723aa.entry.js.map +0 -1
  534. package/dist/core/p-413e68be.entry.js +0 -2
  535. package/dist/core/p-413e68be.entry.js.map +0 -1
  536. package/dist/core/p-418a84d4.entry.js +0 -2
  537. package/dist/core/p-418a84d4.entry.js.map +0 -1
  538. package/dist/core/p-41916ef7.entry.js +0 -2
  539. package/dist/core/p-41916ef7.entry.js.map +0 -1
  540. package/dist/core/p-486a6957.entry.js +0 -2
  541. package/dist/core/p-486a6957.entry.js.map +0 -1
  542. package/dist/core/p-5348af01.entry.js.map +0 -1
  543. package/dist/core/p-57043b1e.entry.js +0 -2
  544. package/dist/core/p-57043b1e.entry.js.map +0 -1
  545. package/dist/core/p-59993f36.entry.js.map +0 -1
  546. package/dist/core/p-6358925c.entry.js +0 -2
  547. package/dist/core/p-6358925c.entry.js.map +0 -1
  548. package/dist/core/p-6398a726.entry.js +0 -2
  549. package/dist/core/p-6398a726.entry.js.map +0 -1
  550. package/dist/core/p-648fb902.entry.js.map +0 -1
  551. package/dist/core/p-673a4a62.entry.js +0 -2
  552. package/dist/core/p-673a4a62.entry.js.map +0 -1
  553. package/dist/core/p-6b01e096.entry.js.map +0 -1
  554. package/dist/core/p-6b1fcf87.entry.js.map +0 -1
  555. package/dist/core/p-787ffd96.entry.js.map +0 -1
  556. package/dist/core/p-789ae7f5.entry.js +0 -2
  557. package/dist/core/p-789ae7f5.entry.js.map +0 -1
  558. package/dist/core/p-89c7ea3e.entry.js +0 -2
  559. package/dist/core/p-89c7ea3e.entry.js.map +0 -1
  560. package/dist/core/p-8d276e8f.entry.js +0 -2
  561. package/dist/core/p-8d276e8f.entry.js.map +0 -1
  562. package/dist/core/p-969cadfa.entry.js +0 -2
  563. package/dist/core/p-969cadfa.entry.js.map +0 -1
  564. package/dist/core/p-9777ebb1.entry.js +0 -2
  565. package/dist/core/p-9777ebb1.entry.js.map +0 -1
  566. package/dist/core/p-97f141a6.entry.js.map +0 -1
  567. package/dist/core/p-99185fd5.entry.js +0 -2
  568. package/dist/core/p-99185fd5.entry.js.map +0 -1
  569. package/dist/core/p-99f96c33.entry.js +0 -2
  570. package/dist/core/p-99f96c33.entry.js.map +0 -1
  571. package/dist/core/p-a052bb95.entry.js +0 -2
  572. package/dist/core/p-a052bb95.entry.js.map +0 -1
  573. package/dist/core/p-a787bba7.entry.js +0 -2
  574. package/dist/core/p-a787bba7.entry.js.map +0 -1
  575. package/dist/core/p-aa72f551.entry.js +0 -2
  576. package/dist/core/p-aa72f551.entry.js.map +0 -1
  577. package/dist/core/p-aaaa9261.entry.js +0 -2
  578. package/dist/core/p-aaaa9261.entry.js.map +0 -1
  579. package/dist/core/p-b29e96b5.entry.js.map +0 -1
  580. package/dist/core/p-b97eba08.entry.js +0 -2
  581. package/dist/core/p-b97eba08.entry.js.map +0 -1
  582. package/dist/core/p-bfc5f3f4.entry.js.map +0 -1
  583. package/dist/core/p-cb3afdbf.entry.js +0 -2
  584. package/dist/core/p-cb3afdbf.entry.js.map +0 -1
  585. package/dist/core/p-ccf72538.entry.js +0 -2
  586. package/dist/core/p-ccf72538.entry.js.map +0 -1
  587. package/dist/core/p-ce0999f1.entry.js +0 -2
  588. package/dist/core/p-ce0999f1.entry.js.map +0 -1
  589. package/dist/core/p-d02a4d1b.entry.js +0 -2
  590. package/dist/core/p-d02a4d1b.entry.js.map +0 -1
  591. package/dist/core/p-d8322108.entry.js +0 -2
  592. package/dist/core/p-d8322108.entry.js.map +0 -1
  593. package/dist/core/p-da8255b8.entry.js.map +0 -1
  594. package/dist/core/p-e9f5ebb3.entry.js +0 -2
  595. package/dist/core/p-e9f5ebb3.entry.js.map +0 -1
  596. package/dist/core/p-f1044e4d.entry.js +0 -2
  597. package/dist/core/p-f1044e4d.entry.js.map +0 -1
  598. package/dist/core/p-f10f7f37.entry.js +0 -2
  599. package/dist/core/p-f10f7f37.entry.js.map +0 -1
  600. package/dist/core/p-fa77211d.entry.js +0 -2
  601. package/dist/core/p-fa77211d.entry.js.map +0 -1
  602. package/dist/esm/ic-card.entry.js.map +0 -1
  603. package/dist/esm/ic-data-entity.entry.js +0 -25
  604. package/dist/esm/ic-data-entity.entry.js.map +0 -1
  605. /package/dist/core/{p-d86cdbc8.entry.js.map → p-125bc120.entry.js.map} +0 -0
  606. /package/dist/core/{p-6fb3d61e.entry.js.map → p-22260ed4.entry.js.map} +0 -0
  607. /package/dist/core/{p-8128572e.js.map → p-2fb52051.js.map} +0 -0
  608. /package/dist/core/{p-67ae9d37.entry.js.map → p-88ba5a88.entry.js.map} +0 -0
  609. /package/dist/core/{p-a72af8db.entry.js.map → p-b6e208e3.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ic-menu.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-menu-with-multi/test/basic/ic-menu.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { Menu } from \"../../ic-menu\";\nimport { IcInputComponentContainer } from \"@ukic/web-components/dist/components/ic-input-component-container\";\nimport { testKeyboardEvent as keyboardEvent } from \"@ukic/web-components/dist/types/testspec.setup\";\nimport { h } from \"@stencil/core\";\nimport * as helpers from \"@ukic/web-components/dist/types/utils/helpers\";\n\n// These tests still use 'ic-select' and not 'ic-select-with-multi'\n// It does not matter as unit tests in the canary branch do not run anyway\n// And it saves converting them back when the multi-select is merged into the main branch\n// (Check the original multi-select branch, i.e. where the changes were added straight to the web-components folder, to see the tests working)\n\nconst menuOptions = [\n { label: \"Espresso\", value: \"espresso\" },\n { label: \"Double Espresso\", value: \"doubleespresso\" },\n { label: \"Flat White\", value: \"flatwhite\" },\n {\n label: \"Cappuccino\",\n value: \"cappuccino\",\n description: \"with chocolate is best!\",\n },\n { label: \"Americano\", value: \"americano\" },\n { label: \"Ameno\", value: \"ameno\" },\n {\n label: \"Tea\",\n value: \"tea\",\n children: [{ label: \"green\", value: \"green\" }],\n },\n {\n label: \"Aicano\",\n value: \"acano\",\n icon: `<svg aria-labelledby=\"warning-title\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"#000000\"><g id=\"warning\"><path id=\"Vector\" d=\"M4.47 20.5037H19.53C21.07 20.5037 22.03 18.8337 21.26 17.5037L13.73 4.49375C12.96 3.16375 11.04 3.16375 10.27 4.49375L2.74 17.5037C1.97 18.8337 2.93 20.5037 4.47 20.5037ZM12 13.5037C11.45 13.5037 11 13.0537 11 12.5037V10.5037C11 9.95375 11.45 9.50375 12 9.50375C12.55 9.50375 13 9.95375 13 10.5037V12.5037C13 13.0537 12.55 13.5037 12 13.5037ZM13 17.5037H11V15.5037H13V17.5037Z\" /></g></svg>`,\n },\n {\n label: \"Mocha\",\n value: \"mocha\",\n element: {\n component: `<ic-status-tag label=\"Neutral status\"></ic-status-tag>`,\n ariaLabel: \"Neutral status tag\",\n },\n },\n];\n\nconst menuIdEspresso = \"menu-id-espresso\";\nconst menuIdMocha = \"menu-id-mocha\";\nconst IcSearchBar = \"IC-SEARCH-BAR\";\n\nconst createMenu = () => {\n // create necessary elements before the page is created\n const div = window.document.createElement(\"div\");\n const input = window.document.createElement(\"input\");\n\n return newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={div}\n value={menuOptions[0].value}\n parentEl={div}\n ></ic-menu>\n ),\n });\n};\n\nbeforeAll(() => {\n jest.spyOn(console, \"warn\").mockImplementation(jest.fn());\n});\n\ndescribe(\"ic-menu in isolation\", () => {\n it(\"should render\", async () => {\n const page = await createMenu();\n\n expect(page).toMatchSnapshot();\n });\n it(\"should set open prop to true by default\", async () => {\n const page = await createMenu();\n\n expect(page.root.open).toBe(true);\n });\n it(\"should test ungroupedOptionsSet emitter\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"ungroupedOptionsSet\", eventSpy);\n\n page.root.options = [];\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n options: [],\n }),\n })\n );\n });\n it(\"should test menuOptionSelect emitter\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n\n await page.waitForChanges();\n\n page.rootInstance.setInputValue(2);\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n value: \"flatwhite\",\n }),\n })\n );\n });\n it(\"should test menuStateChange emitter\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuStateChange\", eventSpy);\n\n await page.waitForChanges();\n\n const click = new MouseEvent(\"click\", {\n bubbles: true,\n cancelable: true,\n });\n\n page.rootInstance.arrowBehaviour(click);\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n open: true,\n }),\n })\n );\n });\n it(\"should test menuOptionId emitter\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionId\", eventSpy);\n\n await page.waitForChanges();\n\n page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"ArrowDown\")\n );\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n optionId: menuIdEspresso,\n }),\n })\n );\n });\n it(\"should test menuKeyPress emitter\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuKeyPress\", eventSpy);\n\n await page.waitForChanges();\n\n page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent(\"Home\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n isNavKey: true,\n key: \"Home\",\n }),\n })\n );\n });\n it(\"should test setNextOptionValue function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n\n page.rootInstance.setNextOptionValue(15);\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n value: \"espresso\",\n }),\n })\n );\n });\n it(\"should test setPreviousOptionValue function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n\n await page.waitForChanges();\n\n page.rootInstance.setPreviousOptionValue(4);\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n value: \"cappuccino\",\n }),\n })\n );\n });\n it(\"should test handleClickOpen function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuStateChange\", eventSpy);\n\n page.root.open = false;\n\n await page.waitForChanges();\n\n await page.rootInstance.handleClickOpen();\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n open: true,\n }),\n })\n );\n });\n it(\"should test handleKeyboardOpen function\", async () => {\n const page = await createMenu();\n\n page.root.open = false;\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuStateChange\", eventSpy);\n page.root.addEventListener(\"menuOptionId\", eventSpy);\n\n await page.waitForChanges();\n\n await page.rootInstance.handleKeyboardOpen(keyboardEvent(\"ArrowDown\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n open: true,\n }),\n })\n );\n\n page.root.open = false;\n\n page.root.activationType = \"manual\";\n\n await page.waitForChanges();\n\n await page.rootInstance.handleKeyboardOpen(keyboardEvent(\"ArrowDown\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n optionId: menuIdEspresso,\n }),\n })\n );\n });\n it(\"should test autoSetInputValueKeyboardOpen function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n const inputEl = page.rootInstance.inputEl;\n\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n page.root.addEventListener(\"menuStateChange\", eventSpy);\n inputEl.addEventListener(\"focus\", eventSpy);\n\n page.root.open = false;\n\n await page.waitForChanges();\n\n await page.rootInstance.autoSetInputValueKeyboardOpen(\n keyboardEvent(\"ArrowUp\")\n );\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n optionId: menuIdMocha,\n }),\n })\n );\n\n page.rootInstance.open = false;\n\n await page.waitForChanges();\n\n await page.rootInstance.autoSetInputValueKeyboardOpen(\n keyboardEvent(\"Enter\")\n );\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n open: true,\n focusInput: undefined,\n }),\n })\n );\n\n page.rootInstance.open = false;\n\n await page.waitForChanges();\n\n await page.rootInstance.autoSetInputValueKeyboardOpen(keyboardEvent(\" \"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n open: true,\n focusInput: undefined,\n }),\n })\n );\n });\n it(\"should test autoSetInputValueKeyboardOpen function with character keys\", async () => {\n const page = await createMenu();\n\n page.root.options = menuOptions;\n\n await page.waitForChanges();\n\n page.rootInstance.autoSetInputValueKeyboardOpen(keyboardEvent(\"e\"));\n page.rootInstance.autoSetInputValueKeyboardOpen(keyboardEvent(\"s\"));\n\n await page.waitForChanges();\n\n expect(page.root.value).toBe(\"espresso\");\n });\n it(\"should test manualSetInputValueKeyboardOpen function\", async () => {\n const searchBar = window.document.createElement(\n IcSearchBar\n ) as HTMLIcSearchBarElement;\n const input = window.document.createElement(\"input\");\n\n const searchMenuOptions = JSON.parse(JSON.stringify(menuOptions));\n searchMenuOptions[3].disabled = true;\n\n searchBar.setFocus = jest.fn();\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={searchMenuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={searchBar}\n value={searchMenuOptions[0].value}\n parentEl={searchBar}\n ></ic-menu>\n ),\n });\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionId\", eventSpy);\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"ArrowUp\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n optionId: menuIdMocha,\n }),\n })\n );\n\n page.rootInstance.setHighlightedOption(3);\n\n await page.waitForChanges();\n\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"ArrowUp\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n optionId: \"menu-id-flatwhite\",\n }),\n })\n );\n\n page.rootInstance.setHighlightedOption(0);\n\n await page.waitForChanges();\n\n page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"ArrowDown\")\n );\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n optionId: \"menu-id-doubleespresso\",\n }),\n })\n );\n\n page.rootInstance.setHighlightedOption(8);\n\n await page.waitForChanges();\n\n page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"ArrowDown\")\n );\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n optionId: menuIdEspresso,\n }),\n })\n );\n\n page.rootInstance.setHighlightedOption(2);\n\n await page.waitForChanges();\n\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"Enter\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n value: \"flatwhite\",\n }),\n })\n );\n\n page.rootInstance.setHighlightedOption(2);\n\n await page.waitForChanges();\n\n const eventSpy2 = jest.fn();\n page.root.addEventListener(\"menuOptionId\", eventSpy2);\n\n page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"ArrowDown\")\n );\n\n await page.waitForChanges();\n\n expect(eventSpy2).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n optionId: \"menu-id-cappuccino\",\n }),\n })\n );\n\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"Enter\"));\n\n await page.waitForChanges();\n\n expect(page.rootInstance.disabledOptionSelected).toBe(true);\n\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"Escape\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n optionId: undefined,\n }),\n })\n );\n\n page.rootInstance.preventIncorrectTabOrder = false;\n\n await page.waitForChanges();\n\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"Shift\"));\n\n await page.waitForChanges();\n\n expect(page.rootInstance.preventIncorrectTabOrder).toBe(true);\n\n page.rootInstance.preventIncorrectTabOrder = false;\n\n await page.waitForChanges();\n\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"Tab\"));\n\n await page.waitForChanges();\n\n expect(page.rootInstance.preventIncorrectTabOrder).toBe(true);\n\n page.rootInstance.preventIncorrectTabOrder = false;\n\n page.rootInstance.isSearchBar = true;\n\n page.rootInstance.setHighlightedOption(4);\n\n page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"Backspace\")\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.optionHighlighted).toBe(\"espresso\");\n\n page.rootInstance.setHighlightedOption(6);\n\n await page.waitForChanges();\n\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"KeyF\"));\n\n await page.waitForChanges();\n\n expect(page.rootInstance.optionHighlighted).toBe(\"espresso\");\n\n page.rootInstance.setHighlightedOption(2);\n\n await page.waitForChanges();\n\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"Home\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n optionId: menuIdEspresso,\n }),\n })\n );\n\n await page.waitForChanges();\n\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"End\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n optionId: menuIdMocha,\n }),\n })\n );\n });\n it(\"should test manualSetInputValueKeyboardOpen function when searchable select\", async () => {\n const searchableSelect = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n\n searchableSelect.setFocus = jest.fn();\n searchableSelect.searchable = true;\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={searchableSelect}\n value={menuOptions[0].value}\n parentEl={searchableSelect}\n ></ic-menu>\n ),\n });\n\n page.rootInstance.isSearchableSelect = true;\n\n page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"Backspace\")\n );\n\n await page.waitForChanges();\n\n expect(searchableSelect.setFocus).toHaveBeenCalled();\n });\n it(\"should test manualSetInputValueKeyboardOpen function when searchbar\", async () => {\n const select = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n\n select.setFocus = jest.fn();\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={select}\n value={menuOptions[0].value}\n parentEl={select}\n ></ic-menu>\n ),\n });\n\n page.rootInstance.isSearchBar = true;\n\n page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"Backspace\")\n );\n\n await page.waitForChanges();\n\n expect(select.setFocus).toHaveBeenCalled();\n });\n it(\"should test manualSetInputValueKeyboardOpen function when default parameter passed\", async () => {\n const select = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n\n select.setFocus = jest.fn();\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={select}\n value={menuOptions[0].value}\n parentEl={select}\n ></ic-menu>\n ),\n });\n\n page.rootInstance.isSearchBar = false;\n page.rootInstance.isSearchableSelect = true;\n\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"KeyR\"));\n\n await page.waitForChanges();\n\n expect(page.rootInstance.value).toBe(menuOptions[0].value);\n });\n it(\"should test manualSetInputValueKeyboardOpen function when multi-select\", async () => {\n const multiSelect = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={multiSelect}\n value={menuOptions[0].value}\n parentEl={multiSelect}\n ></ic-menu>\n ),\n });\n\n jest\n .spyOn(page.rootInstance, \"selectHighlightedOption\")\n .mockImplementation();\n jest\n .spyOn(page.rootInstance, \"getMenuOptions\")\n .mockImplementation(() => menuOptions);\n\n page.rootInstance.isMultiSelect = true;\n\n await page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\" \"));\n\n await page.waitForChanges();\n\n expect(page.rootInstance.selectHighlightedOption).toHaveBeenCalledWith(\n {\n id: \"key-id\",\n },\n menuOptions,\n -1\n );\n\n jest.spyOn(page.rootInstance, \"setHighlightedOption\").mockImplementation();\n\n page.rootInstance.multiOptionClicked = menuOptions[0].value;\n\n await page.waitForChanges();\n\n await page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"ArrowDown\")\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.setHighlightedOption).toHaveBeenCalledWith(0);\n expect(page.rootInstance.multiOptionClicked).toBe(null);\n\n page.rootInstance.multiOptionClicked = menuOptions[0].value;\n\n await page.waitForChanges();\n\n await page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"ArrowUp\")\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.setHighlightedOption).toHaveBeenCalledWith(0);\n expect(page.rootInstance.multiOptionClicked).toBe(null);\n\n jest.spyOn(page.rootInstance, \"emitSelectAll\").mockImplementation();\n jest.spyOn(helpers, \"isMacDevice\").mockImplementation(() => true);\n\n await page.rootInstance.manualSetInputValueKeyboardOpen({\n key: \"a\",\n preventDefault: (): void => null,\n stopImmediatePropagation: (): void => null,\n metaKey: true,\n target: {\n id: \"key-id\",\n },\n });\n\n await page.waitForChanges();\n\n expect(page.rootInstance.emitSelectAll).toHaveBeenCalled();\n\n jest.spyOn(helpers, \"isMacDevice\").mockImplementation(() => false);\n\n await page.rootInstance.manualSetInputValueKeyboardOpen({\n key: \"a\",\n preventDefault: (): void => null,\n stopImmediatePropagation: (): void => null,\n ctrlKey: true,\n target: {\n id: \"key-id\",\n },\n });\n\n await page.waitForChanges();\n\n expect(page.rootInstance.emitSelectAll).toHaveBeenCalledTimes(2);\n\n page.rootInstance.optionHighlighted = \"doubleespresso\";\n page.rootInstance.multiOptionClicked = null;\n await page.rootInstance.manualSetInputValueKeyboardOpen({\n key: \"ArrowDown\",\n preventDefault: (): void => null,\n stopImmediatePropagation: (): void => null,\n shiftKey: true,\n target: {\n id: \"key-id\",\n },\n });\n\n await page.waitForChanges();\n\n expect(page.rootInstance.selectHighlightedOption).toHaveBeenCalledWith(\n {\n id: \"key-id\",\n },\n menuOptions,\n 1\n );\n\n const eventSpy = jest.fn();\n\n page.rootInstance.selectAllButton.addEventListener(\"focus\", eventSpy);\n\n await page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"Tab\")\n );\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalled();\n expect(page.rootInstance.menu.tabIndex).toBe(-1);\n expect(page.rootInstance.preventClickOpen).toBe(true);\n expect(page.rootInstance.optionHighlighted).toBe(undefined);\n });\n it(\"should test manualSetInputValueKeyboardOpen function when select on enter\", async () => {\n const select = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n select.selectOnEnter = true;\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={select}\n value={menuOptions[0].value}\n parentEl={select}\n ></ic-menu>\n ),\n });\n const eventSpy = jest.fn();\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"ArrowDown\")\n );\n await page.waitForChanges();\n expect(eventSpy).not.toHaveBeenCalled();\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"Enter\"));\n await page.waitForChanges();\n expect(eventSpy).toHaveBeenCalled();\n });\n it(\"should test setInputValue function when default parameter passed\", async () => {\n const select = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n\n select.setFocus = jest.fn();\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={select}\n value={menuOptions[0].value}\n parentEl={select}\n ></ic-menu>\n ),\n });\n\n page.rootInstance.hasTimedOut = true;\n\n page.rootInstance.setInputValue(35);\n\n await page.waitForChanges();\n\n expect(select.setFocus).toHaveBeenCalled();\n });\n it(\"should test handleSubmitSearch function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n\n page.rootInstance.optionHighlighted = \"americano\";\n\n await page.waitForChanges();\n\n const event = new CustomEvent(\"icSubmitSearch\", {\n detail: {\n value: \"americano\",\n },\n });\n\n page.root.parentEl.dispatchEvent(event);\n\n await page.waitForChanges();\n\n page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent(\"Enter\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalled();\n });\n it(\"should test handleSetFirstOption function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n\n page.root.options = menuOptions;\n\n await page.waitForChanges();\n\n page.rootInstance.optionHighlighted = \"americano\";\n\n await page.waitForChanges();\n\n await page.rootInstance.handleSetFirstOption();\n\n await page.waitForChanges();\n\n page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent(\"Enter\"));\n\n await page.waitForChanges();\n\n expect(page.rootInstance.optionHighlighted).toBe(\"espresso\");\n });\n it(\"should test handleClearListener function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n\n page.rootInstance.optionHighlighted = \"americano\";\n\n await page.waitForChanges();\n\n await page.rootInstance.handleClearListener();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.optionHighlighted).toBe(\"\");\n });\n it(\"should test handleOptionClick function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n\n const el = page.rootInstance.menu.childNodes[1];\n\n const event = { target: el, shiftKey: false };\n\n await page.waitForChanges();\n\n page.rootInstance.handleOptionClick(event);\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: {\n value: \"doubleespresso\",\n label: \"Double Espresso\",\n },\n })\n );\n\n page.rootInstance.isMultiSelect = true;\n\n await page.waitForChanges();\n\n await page.rootInstance.handleOptionClick(event);\n\n expect(page.rootInstance.multiOptionClicked).toBe(\"doubleespresso\");\n\n page.rootInstance.value = [\"espresso\", \"flatwhite\", \"cappuccino\"];\n page.rootInstance.isMultiSelect = true;\n page.rootInstance.multiOptionClicked = null;\n event.shiftKey = true;\n\n await page.waitForChanges();\n\n await page.rootInstance.handleOptionClick(event);\n\n expect(page.rootInstance.multiOptionClicked).toBe(\"doubleespresso\");\n });\n it(\"should test handleBlur function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n const event = new FocusEvent(\"blur\");\n\n page.root.addEventListener(\"menuStateChange\", eventSpy);\n\n page.rootInstance.handleBlur(event);\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: {\n open: false,\n focusInput: false,\n },\n })\n );\n\n const inputEl = page.root.inputEl;\n\n const eventTwo = new FocusEvent(\"blur\", { relatedTarget: inputEl });\n\n page.rootInstance.handleBlur(eventTwo);\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: {\n open: false,\n focusInput: undefined,\n },\n })\n );\n });\n it(\"should test handleMouseDown function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"preventDefault\", eventSpy);\n\n const event = new Event(\"click\");\n\n event.preventDefault = eventSpy;\n\n await page.waitForChanges();\n\n page.rootInstance.handleMouseDown(event);\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalled();\n });\n it(\"should test handleMenuKeyDown function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n\n page.rootInstance.handleMenuKeyDown(keyboardEvent(\"ArrowDown\"));\n\n await page.waitForChanges();\n\n page.rootInstance.handleMenuKeyDown(keyboardEvent(\"ArrowDown\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n value: \"doubleespresso\",\n }),\n })\n );\n });\n it(\"should test searchMode=`query\", async () => {\n const page = await createMenu();\n\n page.rootInstance.searchMode = \"query\";\n\n await page.waitForChanges();\n\n page.rootInstance.handleMenuKeyDown(keyboardEvent(\"F\"));\n\n expect(page.rootInstance.optionHighlighted).toBeUndefined;\n });\n it(\"should test handleMenuKeyDown function as searchableSelect\", async () => {\n const page = await createMenu();\n\n page.rootInstance.activationType = \"manual\";\n page.rootInstance.isSearchableSelect = true;\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionId\", eventSpy);\n\n page.rootInstance.handleMenuKeyDown(keyboardEvent(\"ArrowDown\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalled();\n });\n it(\"should test handleRetry function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"retryButtonClicked\", eventSpy);\n\n page.rootInstance.handleRetry();\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n value: \"espresso\",\n }),\n })\n );\n });\n it(\"should test handleRetryKeyDown function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"retryButtonClicked\", eventSpy);\n\n page.rootInstance.handleRetryKeyDown(keyboardEvent(\"Enter\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n value: \"espresso\",\n keyPressed: \"Enter\",\n }),\n })\n );\n });\n it(\"should test autoSetValueOnMenuKeyDown - Shift - function\", async () => {\n const page = await createMenu();\n\n const inputEl = page.rootInstance.inputEl;\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n inputEl.addEventListener(\"focus\", eventSpy);\n\n await page.waitForChanges();\n\n await page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent(\"Shift\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).not.toHaveBeenCalled();\n });\n it(\"should test autoSetValueOnMenuKeyDown function\", async () => {\n const page = await createMenu();\n\n const inputEl = page.rootInstance.inputEl;\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n inputEl.addEventListener(\"focus\", eventSpy);\n page.root.addEventListener(\"menuStateChange\", eventSpy);\n\n page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent(\"ArrowUp\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n value: \"mocha\",\n }),\n })\n );\n\n page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent(\"End\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n value: \"mocha\",\n }),\n })\n );\n\n page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent(\"Backspace\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalled();\n\n page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent(\"d\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledTimes(4);\n\n const preDef = jest.fn();\n\n const spaceKey = {\n key: ` `,\n preventDefault: preDef,\n shiftKey: false,\n target: {\n id: \"key-id\",\n },\n };\n\n await page.rootInstance.autoSetValueOnMenuKeyDown(spaceKey);\n\n await page.waitForChanges();\n\n expect(spaceKey.preventDefault).toHaveBeenCalled();\n\n page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent(\"Escape\"));\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n open: false,\n focusInput: undefined,\n }),\n })\n );\n });\n it(\"should test handleMenukeyUp function\", async () => {\n const page = await createMenu();\n\n page.rootInstance.preventClickOpen = true;\n\n let key = keyboardEvent(\"Tab\");\n\n key.shiftKey = true;\n\n await page.waitForChanges();\n\n page.rootInstance.handleMenuKeyUp(key);\n\n await page.waitForChanges();\n\n expect(page.rootInstance.preventClickOpen).toBe(false);\n\n page.rootInstance.disabledOptionSelected = true;\n key = keyboardEvent(\"Enter\");\n await page.waitForChanges();\n\n page.rootInstance.handleMenuKeyUp(key);\n\n await page.waitForChanges();\n\n expect(page.rootInstance.disabledOptionSelected).toBe(false);\n\n key = keyboardEvent(\"Shift\");\n await page.waitForChanges();\n\n page.rootInstance.handleMenuKeyUp(key);\n\n await page.waitForChanges();\n\n expect(page.rootInstance.shiftPressed).toBe(false);\n });\n it(\"should test connectedCallback function\", async () => {\n const searchBar = window.document.createElement(IcSearchBar);\n const input = window.document.createElement(\"input\");\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={searchBar}\n value={menuOptions[0].value}\n parentEl={searchBar as HTMLIcSearchBarElement}\n ></ic-menu>\n ),\n });\n\n expect(page.rootInstance.optionHighlighted).toBe(\"espresso\");\n });\n it(\"should test disconnectedCallback function\", async () => {\n const page = await createMenu();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.parentEl.__listeners[1].type).toBe(\n \"icSubmitSearch\"\n );\n\n page.rootInstance.disconnectedCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.parentEl.__listeners.length).toBe(0);\n });\n it(\"should test componentDidLoad function\", async () => {\n const searchBar = window.document.createElement(\n IcSearchBar\n ) as HTMLIcSearchBarElement;\n const input = window.document.createElement(\"input\");\n searchBar.disableFilter = true;\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={searchBar}\n value={menuOptions[0].value}\n parentEl={searchBar}\n ></ic-menu>\n ),\n });\n\n page.rootInstance.focusFromSearchKeypress = false;\n\n page.rootInstance.componentDidLoad();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.focusFromSearchKeypress).toBe(true);\n });\n it(\"should test getParentEl function\", async () => {\n const select = window.document.createElement(\n \"ic-select\"\n ) as HTMLIcSelectElement;\n select.searchable = true;\n select.setAttribute(\"searchable\", \"true\");\n\n const page = await createMenu();\n\n page.rootInstance.getParentEl(select);\n\n await page.waitForChanges();\n\n expect(page.rootInstance.isSearchableSelect).toBe(true);\n });\n it(\"should test handleTimeoutBlur function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"timeoutBlur\", eventSpy);\n\n const event = new FocusEvent(\"blur\");\n\n page.rootInstance.handleTimeoutBlur(event);\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n ev: expect.objectContaining({\n type: \"blur\",\n }),\n }),\n })\n );\n });\n it(\"should test handleMenuChange function when multi-select\", async () => {\n const page = await createMenu();\n\n page.rootInstance.optionHighlighted = \"espresso\";\n page.rootInstance.isMultiSelect = true;\n\n await page.waitForChanges();\n\n expect(page.rootInstance.optionHighlighted).toBe(\"espresso\");\n\n await page.rootInstance.handleMenuChange(false);\n\n await page.waitForChanges();\n\n expect(page.rootInstance.optionHighlighted).toBe(undefined);\n });\n it(\"should test selectHighlightedOption function when multi-select\", async () => {\n const page = await createMenu();\n\n page.rootInstance.open = false;\n page.rootInstance.isMultiSelect = true;\n\n jest.spyOn(page.rootInstance, \"handleMenuChange\").mockImplementation();\n\n await page.waitForChanges();\n\n await page.rootInstance.selectHighlightedOption(\n { target: \"test-id\" },\n menuOptions,\n 0\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.handleMenuChange).toHaveBeenCalledWith(true);\n });\n it(\"should test selectHighlightedOption function when multi-select\", async () => {\n const page = await createMenu();\n\n page.rootInstance.open = false;\n page.rootInstance.isMultiSelect = true;\n\n jest.spyOn(page.rootInstance, \"handleMenuChange\").mockImplementation();\n\n await page.waitForChanges();\n\n await page.rootInstance.selectHighlightedOption(\n { target: \"test-id\" },\n menuOptions,\n 0\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.handleMenuChange).toHaveBeenCalledWith(true);\n });\n it(\"should test handleSelectAllClick function\", async () => {\n const page = await createMenu();\n\n page.rootInstance.menu.tabIndex = -1;\n\n const eventSpy = jest.fn();\n\n page.rootInstance.menu.addEventListener(\"focus\", eventSpy);\n\n jest.spyOn(page.rootInstance, \"emitSelectAll\").mockImplementation();\n\n await page.rootInstance.handleSelectAllClick();\n\n expect(eventSpy).toHaveBeenCalled();\n expect(page.rootInstance.emitSelectAll).toHaveBeenCalled();\n });\n it(\"should test handleSelectAllBlur function\", async () => {\n const multiSelect = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={multiSelect}\n value={menuOptions[0].value}\n parentEl={multiSelect}\n ></ic-menu>\n ),\n });\n\n jest.spyOn(page.rootInstance, \"handleMenuChange\").mockImplementation();\n\n const option = await page.root.querySelector(\"li\");\n\n await page.rootInstance.handleSelectAllBlur({ relatedTarget: option });\n\n await page.waitForChanges();\n\n expect(page.rootInstance.handleMenuChange).not.toHaveBeenCalled();\n\n await page.rootInstance.handleSelectAllBlur({ relatedTarget: input });\n\n await page.waitForChanges();\n\n expect(page.rootInstance.handleMenuChange).toHaveBeenCalledWith(\n false,\n false\n );\n });\n it(\"should test handleSelectAllFocus function\", async () => {\n const page = await createMenu();\n\n await page.rootInstance.handleSelectAllFocus();\n\n expect(page.root).toMatchSnapshot();\n });\n it(\"should test emitSelectAll function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionSelectAll\", eventSpy);\n\n await page.rootInstance.emitSelectAll();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n select: true,\n }),\n })\n );\n\n page.rootInstance.value = [\"espresso\"];\n\n await page.waitForChanges();\n\n await page.rootInstance.emitSelectAll();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n select: true,\n }),\n })\n );\n\n page.rootInstance.value = [\n \"espresso\",\n \"doubleespresso\",\n \"flatwhite\",\n \"cappuccino\",\n \"americano\",\n \"ameno\",\n \"green\",\n \"acano\",\n \"mocha\",\n ];\n\n await page.waitForChanges();\n\n await page.rootInstance.emitSelectAll();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n select: false,\n }),\n })\n );\n });\n it(\"should test handleSelectAllMouseDown\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"preventDefault\", eventSpy);\n\n const event = new Event(\"click\");\n\n event.preventDefault = eventSpy;\n\n await page.rootInstance.handleSelectAllMouseDown(event);\n\n expect(eventSpy).toHaveBeenCalled();\n });\n it(\"tests deselection of options when pressing ArrowDown after Shift\", async () => {\n const multiSelect = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={multiSelect}\n value={menuOptions[0].value}\n parentEl={multiSelect}\n ></ic-menu>\n ),\n });\n\n page.rootInstance.isMultiSelect = true;\n\n jest\n .spyOn(page.rootInstance, \"deselectSelectedOptions\")\n .mockImplementation();\n\n page.rootInstance.value = [\n \"espresso\",\n \"doubleespresso\",\n \"flatwhite\",\n \"cappuccino\",\n \"americano\",\n \"ameno\",\n \"green\",\n \"acano\",\n \"mocha\",\n ];\n\n await page.waitForChanges();\n\n await page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"Shift\")\n );\n\n await page.waitForChanges();\n\n await page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"ArrowDown\")\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.deselectSelectedOptions).toHaveBeenCalledWith([\n -1, 0,\n ]);\n });\n it(\"tests deselection of options when pressing ArrowUp after Shift\", async () => {\n const multiSelect = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={multiSelect}\n value={menuOptions[0].value}\n parentEl={multiSelect}\n ></ic-menu>\n ),\n });\n\n page.rootInstance.isMultiSelect = true;\n\n jest\n .spyOn(page.rootInstance, \"deselectSelectedOptions\")\n .mockImplementation();\n\n page.rootInstance.value = [\n \"espresso\",\n \"doubleespresso\",\n \"flatwhite\",\n \"cappuccino\",\n \"americano\",\n \"ameno\",\n \"green\",\n \"acano\",\n \"mocha\",\n ];\n\n await page.waitForChanges();\n\n await page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"Shift\")\n );\n\n await page.waitForChanges();\n\n await page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"ArrowUp\")\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.deselectSelectedOptions).toHaveBeenCalledWith([\n -1, 8,\n ]);\n });\n it(\"tests selection of options when pressing Home or End with Shift & Ctrl\", async () => {\n const multiSelect = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={multiSelect}\n value={menuOptions[0].value}\n parentEl={multiSelect}\n ></ic-menu>\n ),\n });\n\n page.rootInstance.isMultiSelect = true;\n\n jest\n .spyOn(page.rootInstance, \"handleMultipleShiftSelect\")\n .mockImplementation();\n\n page.rootInstance.value = [\n \"espresso\",\n \"doubleespresso\",\n \"flatwhite\",\n \"cappuccino\",\n \"americano\",\n \"ameno\",\n \"green\",\n \"acano\",\n \"mocha\",\n ];\n\n await page.waitForChanges();\n\n await page.rootInstance.manualSetInputValueKeyboardOpen({\n key: \"End\",\n preventDefault: (): void => null,\n stopImmediatePropagation: (): void => null,\n ctrlKey: true,\n shiftKey: true,\n target: {\n id: \"key-id\",\n },\n });\n\n expect(page.rootInstance.handleMultipleShiftSelect).toHaveBeenCalledWith(8);\n\n await page.rootInstance.manualSetInputValueKeyboardOpen({\n key: \"Home\",\n preventDefault: (): void => null,\n stopImmediatePropagation: (): void => null,\n ctrlKey: true,\n shiftKey: true,\n target: {\n id: \"key-id\",\n },\n });\n\n expect(page.rootInstance.handleMultipleShiftSelect).toHaveBeenCalledWith(0);\n });\n it(\"tests isOptionSelected\", async () => {\n const multiSelect = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={multiSelect}\n value={menuOptions[0].value}\n parentEl={multiSelect}\n ></ic-menu>\n ),\n });\n\n page.rootInstance.value = [\"espresso\", \"doubleespresso\"];\n\n await page.waitForChanges();\n\n let isSelected = await page.rootInstance.isOptionSelected([1]);\n expect(isSelected).toBe(true);\n\n isSelected = await page.rootInstance.isOptionSelected([3]);\n expect(isSelected).toBe(false);\n\n page.rootInstance.value = \"\";\n await page.waitForChanges();\n\n isSelected = await page.rootInstance.isOptionSelected([0]);\n expect(isSelected).toBe(false);\n });\n it(\"tests handleMultipleShiftSelect with optional params using default values\", async () => {\n const multiSelect = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={multiSelect}\n value={menuOptions[0].value}\n parentEl={multiSelect}\n ></ic-menu>\n ),\n });\n\n page.rootInstance.value = [\"espresso\", \"doubleespresso\", \"flatwhite\"];\n\n jest\n .spyOn(page.rootInstance, \"deselectSelectedOptions\")\n .mockImplementation();\n page.rootInstance.lastOptionSelected = 1;\n await page.waitForChanges();\n page.rootInstance.handleMultipleShiftSelect(3);\n\n await page.waitForChanges();\n\n expect(page.rootInstance.deselectSelectedOptions).toHaveBeenCalledWith([\n 1, 2, 3,\n ]);\n });\n});\n"]}
1
+ {"version":3,"file":"ic-menu.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-menu-with-multi/test/basic/ic-menu.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { Menu } from \"../../ic-menu\";\nimport { IcInputComponentContainer } from \"@ukic/web-components/dist/components/ic-input-component-container\";\nimport { testKeyboardEvent as keyboardEvent } from \"@ukic/web-components/dist/types/testspec.setup\";\nimport { h } from \"@stencil/core\";\nimport * as helpers from \"@ukic/web-components/dist/types/utils/helpers\";\n\n// These tests still use 'ic-select' and not 'ic-select-with-multi'\n// It does not matter as unit tests in the canary branch do not run anyway\n// And it saves converting them back when the multi-select is merged into the main branch\n// (Check the original multi-select branch, i.e. where the changes were added straight to the web-components folder, to see the tests working)\n\nconst menuOptions = [\n { label: \"Espresso\", value: \"espresso\" },\n { label: \"Double Espresso\", value: \"doubleespresso\" },\n { label: \"Flat White\", value: \"flatwhite\" },\n {\n label: \"Cappuccino\",\n value: \"cappuccino\",\n description: \"with chocolate is best!\",\n },\n { label: \"Americano\", value: \"americano\" },\n { label: \"Ameno\", value: \"ameno\" },\n {\n label: \"Tea\",\n value: \"tea\",\n children: [{ label: \"green\", value: \"green\" }],\n },\n {\n label: \"Aicano\",\n value: \"acano\",\n icon: `<svg aria-labelledby=\"warning-title\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"#000000\"><g id=\"warning\"><path id=\"Vector\" d=\"M4.47 20.5037H19.53C21.07 20.5037 22.03 18.8337 21.26 17.5037L13.73 4.49375C12.96 3.16375 11.04 3.16375 10.27 4.49375L2.74 17.5037C1.97 18.8337 2.93 20.5037 4.47 20.5037ZM12 13.5037C11.45 13.5037 11 13.0537 11 12.5037V10.5037C11 9.95375 11.45 9.50375 12 9.50375C12.55 9.50375 13 9.95375 13 10.5037V12.5037C13 13.0537 12.55 13.5037 12 13.5037ZM13 17.5037H11V15.5037H13V17.5037Z\" /></g></svg>`,\n },\n {\n label: \"Mocha\",\n value: \"mocha\",\n element: {\n component: `<ic-status-tag label=\"Neutral status\"></ic-status-tag>`,\n ariaLabel: \"Neutral status tag\",\n },\n },\n];\n\nconst menuIdEspresso = \"menu-id-espresso\";\nconst menuIdMocha = \"menu-id-mocha\";\nconst IcSearchBar = \"IC-SEARCH-BAR\";\n\nconst createMenu = () => {\n // create necessary elements before the page is created\n const div = window.document.createElement(\"div\");\n const input = window.document.createElement(\"input\");\n\n return newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={div}\n value={menuOptions[0].value}\n parentEl={div}\n ></ic-menu>\n ),\n });\n};\n\nbeforeAll(() => {\n jest.spyOn(console, \"warn\").mockImplementation(jest.fn());\n});\n\ndescribe(\"ic-menu in isolation\", () => {\n it(\"should render\", async () => {\n const page = await createMenu();\n\n expect(page).toMatchSnapshot();\n });\n it(\"should set open prop to true by default\", async () => {\n const page = await createMenu();\n\n expect(page.root.open).toBe(true);\n });\n it(\"should test ungroupedOptionsSet emitter\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"ungroupedOptionsSet\", eventSpy);\n\n page.root.options = [];\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n options: [],\n }),\n })\n );\n });\n it(\"should test menuOptionSelect emitter\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n\n await page.waitForChanges();\n\n page.rootInstance.setInputValue(2);\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n value: \"flatwhite\",\n }),\n })\n );\n });\n it(\"should test menuStateChange emitter\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuStateChange\", eventSpy);\n\n await page.waitForChanges();\n\n const click = new MouseEvent(\"click\", {\n bubbles: true,\n cancelable: true,\n });\n\n page.rootInstance.arrowBehaviour(click);\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n open: true,\n }),\n })\n );\n });\n it(\"should test menuOptionId emitter\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionId\", eventSpy);\n\n await page.waitForChanges();\n\n page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"ArrowDown\")\n );\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n optionId: menuIdEspresso,\n }),\n })\n );\n });\n it(\"should test menuKeyPress emitter\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuKeyPress\", eventSpy);\n\n await page.waitForChanges();\n\n page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent(\"Home\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n isNavKey: true,\n key: \"Home\",\n }),\n })\n );\n });\n it(\"should test setNextOptionValue function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n\n page.rootInstance.setNextOptionValue(15);\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n value: \"espresso\",\n }),\n })\n );\n });\n it(\"should test setPreviousOptionValue function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n\n await page.waitForChanges();\n\n page.rootInstance.setPreviousOptionValue(4);\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n value: \"cappuccino\",\n }),\n })\n );\n });\n it(\"should test handleClickOpen function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuStateChange\", eventSpy);\n\n page.root.open = false;\n\n await page.waitForChanges();\n\n await page.rootInstance.handleClickOpen();\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n open: true,\n }),\n })\n );\n });\n it(\"should test handleKeyboardOpen function\", async () => {\n const page = await createMenu();\n\n page.root.open = false;\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuStateChange\", eventSpy);\n page.root.addEventListener(\"menuOptionId\", eventSpy);\n\n await page.waitForChanges();\n\n await page.rootInstance.handleKeyboardOpen(keyboardEvent(\"ArrowDown\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n open: true,\n }),\n })\n );\n\n page.root.open = false;\n\n page.root.activationType = \"manual\";\n\n await page.waitForChanges();\n\n await page.rootInstance.handleKeyboardOpen(keyboardEvent(\"ArrowDown\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n optionId: menuIdEspresso,\n }),\n })\n );\n });\n it(\"should test autoSetInputValueKeyboardOpen function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n const inputEl = page.rootInstance.inputEl;\n\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n page.root.addEventListener(\"menuStateChange\", eventSpy);\n inputEl.addEventListener(\"focus\", eventSpy);\n\n page.root.open = false;\n\n await page.waitForChanges();\n\n await page.rootInstance.autoSetInputValueKeyboardOpen(\n keyboardEvent(\"ArrowUp\")\n );\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n optionId: menuIdMocha,\n }),\n })\n );\n\n page.rootInstance.open = false;\n\n await page.waitForChanges();\n\n await page.rootInstance.autoSetInputValueKeyboardOpen(\n keyboardEvent(\"Enter\")\n );\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n open: true,\n focusInput: undefined,\n }),\n })\n );\n\n page.rootInstance.open = false;\n\n await page.waitForChanges();\n\n await page.rootInstance.autoSetInputValueKeyboardOpen(keyboardEvent(\" \"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n open: true,\n focusInput: undefined,\n }),\n })\n );\n });\n it(\"should test autoSetInputValueKeyboardOpen function with character keys\", async () => {\n const page = await createMenu();\n\n page.root.options = menuOptions;\n\n await page.waitForChanges();\n\n page.rootInstance.autoSetInputValueKeyboardOpen(keyboardEvent(\"e\"));\n page.rootInstance.autoSetInputValueKeyboardOpen(keyboardEvent(\"s\"));\n\n await page.waitForChanges();\n\n expect(page.root.value).toBe(\"espresso\");\n });\n it(\"should test manualSetInputValueKeyboardOpen function\", async () => {\n const searchBar = window.document.createElement(\n IcSearchBar\n ) as HTMLIcSearchBarElement;\n const input = window.document.createElement(\"input\");\n\n const searchMenuOptions = JSON.parse(JSON.stringify(menuOptions));\n searchMenuOptions[3].disabled = true;\n\n searchBar.setFocus = jest.fn();\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={searchMenuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={searchBar}\n value={searchMenuOptions[0].value}\n parentEl={searchBar}\n ></ic-menu>\n ),\n });\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionId\", eventSpy);\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"ArrowUp\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n optionId: menuIdMocha,\n }),\n })\n );\n\n page.rootInstance.setHighlightedOption(3);\n\n await page.waitForChanges();\n\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"ArrowUp\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n optionId: \"menu-id-flatwhite\",\n }),\n })\n );\n\n page.rootInstance.setHighlightedOption(0);\n\n await page.waitForChanges();\n\n page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"ArrowDown\")\n );\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n optionId: \"menu-id-doubleespresso\",\n }),\n })\n );\n\n page.rootInstance.setHighlightedOption(8);\n\n await page.waitForChanges();\n\n page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"ArrowDown\")\n );\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n optionId: menuIdEspresso,\n }),\n })\n );\n\n page.rootInstance.setHighlightedOption(2);\n\n await page.waitForChanges();\n\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"Enter\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n value: \"flatwhite\",\n }),\n })\n );\n\n page.rootInstance.setHighlightedOption(2);\n\n await page.waitForChanges();\n\n const eventSpy2 = jest.fn();\n page.root.addEventListener(\"menuOptionId\", eventSpy2);\n\n page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"ArrowDown\")\n );\n\n await page.waitForChanges();\n\n expect(eventSpy2).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n optionId: \"menu-id-cappuccino\",\n }),\n })\n );\n\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"Enter\"));\n\n await page.waitForChanges();\n\n expect(page.rootInstance.disabledOptionSelected).toBe(true);\n\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"Escape\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n optionId: undefined,\n }),\n })\n );\n\n page.rootInstance.preventIncorrectTabOrder = false;\n\n await page.waitForChanges();\n\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"Shift\"));\n\n await page.waitForChanges();\n\n expect(page.rootInstance.preventIncorrectTabOrder).toBe(true);\n\n page.rootInstance.preventIncorrectTabOrder = false;\n\n await page.waitForChanges();\n\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"Tab\"));\n\n await page.waitForChanges();\n\n expect(page.rootInstance.preventIncorrectTabOrder).toBe(true);\n\n page.rootInstance.preventIncorrectTabOrder = false;\n\n page.rootInstance.isSearchBar = true;\n\n page.rootInstance.setHighlightedOption(4);\n\n page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"Backspace\")\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.optionHighlighted).toBe(\"espresso\");\n\n page.rootInstance.setHighlightedOption(6);\n\n await page.waitForChanges();\n\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"KeyF\"));\n\n await page.waitForChanges();\n\n expect(page.rootInstance.optionHighlighted).toBe(\"espresso\");\n\n page.rootInstance.setHighlightedOption(2);\n\n await page.waitForChanges();\n\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"Home\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n optionId: menuIdEspresso,\n }),\n })\n );\n\n await page.waitForChanges();\n\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"End\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n optionId: menuIdMocha,\n }),\n })\n );\n });\n it(\"should test manualSetInputValueKeyboardOpen function when searchable select\", async () => {\n const searchableSelect = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n\n searchableSelect.setFocus = jest.fn();\n searchableSelect.searchable = true;\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={searchableSelect}\n value={menuOptions[0].value}\n parentEl={searchableSelect}\n ></ic-menu>\n ),\n });\n\n page.rootInstance.isSearchableSelect = true;\n\n page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"Backspace\")\n );\n\n await page.waitForChanges();\n\n expect(searchableSelect.setFocus).toHaveBeenCalled();\n });\n it(\"should test manualSetInputValueKeyboardOpen function when searchbar\", async () => {\n const select = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n\n select.setFocus = jest.fn();\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={select}\n value={menuOptions[0].value}\n parentEl={select}\n ></ic-menu>\n ),\n });\n\n page.rootInstance.isSearchBar = true;\n\n page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"Backspace\")\n );\n\n await page.waitForChanges();\n\n expect(select.setFocus).toHaveBeenCalled();\n });\n it(\"should test manualSetInputValueKeyboardOpen function when default parameter passed\", async () => {\n const select = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n\n select.setFocus = jest.fn();\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={select}\n value={menuOptions[0].value}\n parentEl={select}\n ></ic-menu>\n ),\n });\n\n page.rootInstance.isSearchBar = false;\n page.rootInstance.isSearchableSelect = true;\n\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"KeyR\"));\n\n await page.waitForChanges();\n\n expect(page.rootInstance.value).toBe(menuOptions[0].value);\n });\n it(\"should test manualSetInputValueKeyboardOpen function when multi-select\", async () => {\n const multiSelect = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={multiSelect}\n value={menuOptions[0].value}\n parentEl={multiSelect}\n ></ic-menu>\n ),\n });\n\n jest\n .spyOn(page.rootInstance, \"selectHighlightedOption\")\n .mockImplementation();\n jest\n .spyOn(page.rootInstance, \"getMenuOptions\")\n .mockImplementation(() => menuOptions);\n\n page.rootInstance.isMultiSelect = true;\n\n await page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\" \"));\n\n await page.waitForChanges();\n\n expect(page.rootInstance.selectHighlightedOption).toHaveBeenCalledWith(\n {\n id: \"key-id\",\n },\n menuOptions,\n -1\n );\n\n jest.spyOn(page.rootInstance, \"setHighlightedOption\").mockImplementation();\n\n page.rootInstance.multiOptionClicked = menuOptions[0].value;\n\n await page.waitForChanges();\n\n await page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"ArrowDown\")\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.setHighlightedOption).toHaveBeenCalledWith(0);\n expect(page.rootInstance.multiOptionClicked).toBe(null);\n\n page.rootInstance.multiOptionClicked = menuOptions[0].value;\n\n await page.waitForChanges();\n\n await page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"ArrowUp\")\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.setHighlightedOption).toHaveBeenCalledWith(0);\n expect(page.rootInstance.multiOptionClicked).toBe(null);\n\n jest.spyOn(page.rootInstance, \"emitSelectAll\").mockImplementation();\n jest.spyOn(helpers, \"isMacDevice\").mockImplementation(() => true);\n\n await page.rootInstance.manualSetInputValueKeyboardOpen({\n key: \"a\",\n preventDefault: (): void => null,\n stopImmediatePropagation: (): void => null,\n metaKey: true,\n target: {\n id: \"key-id\",\n },\n });\n\n await page.waitForChanges();\n\n expect(page.rootInstance.emitSelectAll).toHaveBeenCalled();\n\n jest.spyOn(helpers, \"isMacDevice\").mockImplementation(() => false);\n\n await page.rootInstance.manualSetInputValueKeyboardOpen({\n key: \"a\",\n preventDefault: (): void => null,\n stopImmediatePropagation: (): void => null,\n ctrlKey: true,\n target: {\n id: \"key-id\",\n },\n });\n\n await page.waitForChanges();\n\n expect(page.rootInstance.emitSelectAll).toHaveBeenCalledTimes(2);\n\n page.rootInstance.optionHighlighted = \"doubleespresso\";\n page.rootInstance.multiOptionClicked = null;\n await page.rootInstance.manualSetInputValueKeyboardOpen({\n key: \"ArrowDown\",\n preventDefault: (): void => null,\n stopImmediatePropagation: (): void => null,\n shiftKey: true,\n target: {\n id: \"key-id\",\n },\n });\n\n await page.waitForChanges();\n\n expect(page.rootInstance.selectHighlightedOption).toHaveBeenCalledWith(\n {\n id: \"key-id\",\n },\n menuOptions,\n 1\n );\n\n const eventSpy = jest.fn();\n\n page.rootInstance.selectAllButton.addEventListener(\"focus\", eventSpy);\n\n await page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"Tab\")\n );\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalled();\n expect(page.rootInstance.menu.tabIndex).toBe(-1);\n expect(page.rootInstance.preventClickOpen).toBe(true);\n expect(page.rootInstance.optionHighlighted).toBe(undefined);\n });\n it(\"should test manualSetInputValueKeyboardOpen function when select on enter\", async () => {\n const select = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n select.selectOnEnter = true;\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={select}\n value={menuOptions[0].value}\n parentEl={select}\n ></ic-menu>\n ),\n });\n const eventSpy = jest.fn();\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"ArrowDown\")\n );\n await page.waitForChanges();\n expect(eventSpy).not.toHaveBeenCalled();\n page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(\"Enter\"));\n await page.waitForChanges();\n expect(eventSpy).toHaveBeenCalled();\n });\n it(\"should test setInputValue function when default parameter passed\", async () => {\n const select = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n\n select.setFocus = jest.fn();\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={select}\n value={menuOptions[0].value}\n parentEl={select}\n ></ic-menu>\n ),\n });\n\n page.rootInstance.hasTimedOut = true;\n\n page.rootInstance.setInputValue(35);\n\n await page.waitForChanges();\n\n expect(select.setFocus).toHaveBeenCalled();\n });\n it(\"should test handleSubmitSearch function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n\n page.rootInstance.optionHighlighted = \"americano\";\n\n await page.waitForChanges();\n\n const event = new CustomEvent(\"icSubmitSearch\", {\n detail: {\n value: \"americano\",\n },\n });\n\n page.root.parentEl.dispatchEvent(event);\n\n await page.waitForChanges();\n\n page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent(\"Enter\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalled();\n });\n it(\"should test handleSetFirstOption function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n\n page.root.options = menuOptions;\n\n await page.waitForChanges();\n\n page.rootInstance.optionHighlighted = \"americano\";\n\n await page.waitForChanges();\n\n await page.rootInstance.handleSetFirstOption();\n\n await page.waitForChanges();\n\n page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent(\"Enter\"));\n\n await page.waitForChanges();\n\n expect(page.rootInstance.optionHighlighted).toBe(\"espresso\");\n });\n it(\"should test handleClearListener function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n\n page.rootInstance.optionHighlighted = \"americano\";\n\n await page.waitForChanges();\n\n await page.rootInstance.handleClearListener();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.optionHighlighted).toBe(\"\");\n });\n it(\"should test handleOptionClick function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n\n const el = page.rootInstance.menu.childNodes[1];\n\n const event = { target: el, shiftKey: false };\n\n await page.waitForChanges();\n\n page.rootInstance.handleOptionClick(event);\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: {\n value: \"doubleespresso\",\n label: \"Double Espresso\",\n },\n })\n );\n\n page.rootInstance.isMultiSelect = true;\n\n await page.waitForChanges();\n\n await page.rootInstance.handleOptionClick(event);\n\n expect(page.rootInstance.multiOptionClicked).toBe(\"doubleespresso\");\n\n page.rootInstance.value = [\"espresso\", \"flatwhite\", \"cappuccino\"];\n page.rootInstance.isMultiSelect = true;\n page.rootInstance.multiOptionClicked = null;\n event.shiftKey = true;\n\n await page.waitForChanges();\n\n await page.rootInstance.handleOptionClick(event);\n\n expect(page.rootInstance.multiOptionClicked).toBe(\"doubleespresso\");\n });\n it(\"should test handleBlur function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n const event = new FocusEvent(\"blur\");\n\n page.root.addEventListener(\"menuStateChange\", eventSpy);\n\n page.rootInstance.handleBlur(event);\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: {\n open: false,\n focusInput: false,\n },\n })\n );\n\n const inputEl = page.root.inputEl;\n\n const eventTwo = new FocusEvent(\"blur\", { relatedTarget: inputEl });\n\n page.rootInstance.handleBlur(eventTwo);\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: {\n open: false,\n focusInput: undefined,\n },\n })\n );\n });\n it(\"should test handleMouseDown function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"preventDefault\", eventSpy);\n\n const event = new Event(\"click\");\n\n event.preventDefault = eventSpy;\n\n await page.waitForChanges();\n\n page.rootInstance.handleMouseDown(event);\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalled();\n });\n it(\"should test handleMenuKeyDown function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n\n page.rootInstance.handleMenuKeyDown(keyboardEvent(\"ArrowDown\"));\n\n await page.waitForChanges();\n\n page.rootInstance.handleMenuKeyDown(keyboardEvent(\"ArrowDown\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n value: \"doubleespresso\",\n }),\n })\n );\n });\n it(\"should test searchMode=`query\", async () => {\n const page = await createMenu();\n\n page.rootInstance.searchMode = \"query\";\n\n await page.waitForChanges();\n\n page.rootInstance.handleMenuKeyDown(keyboardEvent(\"F\"));\n\n expect(page.rootInstance.optionHighlighted).toBeUndefined;\n });\n it(\"should test handleMenuKeyDown function as searchableSelect\", async () => {\n const page = await createMenu();\n\n page.rootInstance.activationType = \"manual\";\n page.rootInstance.isSearchableSelect = true;\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionId\", eventSpy);\n\n page.rootInstance.handleMenuKeyDown(keyboardEvent(\"ArrowDown\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalled();\n });\n it(\"should test handleRetry function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"retryButtonClicked\", eventSpy);\n\n page.rootInstance.handleRetry();\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n value: \"espresso\",\n }),\n })\n );\n });\n it(\"should test handleRetryKeyDown function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"retryButtonClicked\", eventSpy);\n\n page.rootInstance.handleRetryKeyDown(keyboardEvent(\"Enter\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n value: \"espresso\",\n keyPressed: \"Enter\",\n }),\n })\n );\n });\n it(\"should test autoSetValueOnMenuKeyDown - Shift - function\", async () => {\n const page = await createMenu();\n\n const inputEl = page.rootInstance.inputEl;\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n inputEl.addEventListener(\"focus\", eventSpy);\n\n await page.waitForChanges();\n\n await page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent(\"Shift\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).not.toHaveBeenCalled();\n });\n it(\"should test autoSetValueOnMenuKeyDown function\", async () => {\n const page = await createMenu();\n\n const inputEl = page.rootInstance.inputEl;\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionSelect\", eventSpy);\n inputEl.addEventListener(\"focus\", eventSpy);\n page.root.addEventListener(\"menuStateChange\", eventSpy);\n\n page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent(\"ArrowUp\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n value: \"mocha\",\n }),\n })\n );\n\n page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent(\"End\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n value: \"mocha\",\n }),\n })\n );\n\n page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent(\"Backspace\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalled();\n\n page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent(\"d\"));\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledTimes(4);\n\n const preDef = jest.fn();\n\n const spaceKey = {\n key: ` `,\n preventDefault: preDef,\n shiftKey: false,\n target: {\n id: \"key-id\",\n },\n };\n\n await page.rootInstance.autoSetValueOnMenuKeyDown(spaceKey);\n\n await page.waitForChanges();\n\n expect(spaceKey.preventDefault).toHaveBeenCalled();\n\n page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent(\"Escape\"));\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n open: false,\n focusInput: undefined,\n }),\n })\n );\n });\n it(\"should test handleMenukeyUp function\", async () => {\n const page = await createMenu();\n\n page.rootInstance.preventClickOpen = true;\n\n let key = keyboardEvent(\"Tab\");\n\n key.shiftKey = true;\n\n await page.waitForChanges();\n\n page.rootInstance.handleMenuKeyUp(key);\n\n await page.waitForChanges();\n\n expect(page.rootInstance.preventClickOpen).toBe(false);\n\n page.rootInstance.disabledOptionSelected = true;\n key = keyboardEvent(\"Enter\");\n await page.waitForChanges();\n\n page.rootInstance.handleMenuKeyUp(key);\n\n await page.waitForChanges();\n\n expect(page.rootInstance.disabledOptionSelected).toBe(false);\n\n key = keyboardEvent(\"Shift\");\n await page.waitForChanges();\n\n page.rootInstance.handleMenuKeyUp(key);\n\n await page.waitForChanges();\n\n expect(page.rootInstance.shiftPressed).toBe(false);\n });\n it(\"should test connectedCallback function\", async () => {\n const searchBar = window.document.createElement(IcSearchBar);\n const input = window.document.createElement(\"input\");\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={searchBar}\n value={menuOptions[0].value}\n parentEl={searchBar as HTMLIcSearchBarElement}\n ></ic-menu>\n ),\n });\n\n expect(page.rootInstance.optionHighlighted).toBe(\"espresso\");\n });\n it(\"should test disconnectedCallback function\", async () => {\n const page = await createMenu();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.parentEl.__listeners[1].type).toBe(\n \"icSubmitSearch\"\n );\n\n page.rootInstance.disconnectedCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.parentEl.__listeners.length).toBe(0);\n });\n it(\"should test componentDidLoad function\", async () => {\n const searchBar = window.document.createElement(\n IcSearchBar\n ) as HTMLIcSearchBarElement;\n const input = window.document.createElement(\"input\");\n searchBar.disableAutoFiltering = true;\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={searchBar}\n value={menuOptions[0].value}\n parentEl={searchBar}\n ></ic-menu>\n ),\n });\n\n page.rootInstance.focusFromSearchKeypress = false;\n\n page.rootInstance.componentDidLoad();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.focusFromSearchKeypress).toBe(true);\n });\n it(\"should test getParentEl function\", async () => {\n const select = window.document.createElement(\n \"ic-select\"\n ) as HTMLIcSelectElement;\n select.searchable = true;\n select.setAttribute(\"searchable\", \"true\");\n\n const page = await createMenu();\n\n page.rootInstance.getParentEl(select);\n\n await page.waitForChanges();\n\n expect(page.rootInstance.isSearchableSelect).toBe(true);\n });\n it(\"should test handleTimeoutBlur function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"timeoutBlur\", eventSpy);\n\n const event = new FocusEvent(\"blur\");\n\n page.rootInstance.handleTimeoutBlur(event);\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n ev: expect.objectContaining({\n type: \"blur\",\n }),\n }),\n })\n );\n });\n it(\"should test handleMenuChange function when multi-select\", async () => {\n const page = await createMenu();\n\n page.rootInstance.optionHighlighted = \"espresso\";\n page.rootInstance.isMultiSelect = true;\n\n await page.waitForChanges();\n\n expect(page.rootInstance.optionHighlighted).toBe(\"espresso\");\n\n await page.rootInstance.handleMenuChange(false);\n\n await page.waitForChanges();\n\n expect(page.rootInstance.optionHighlighted).toBe(undefined);\n });\n it(\"should test selectHighlightedOption function when multi-select\", async () => {\n const page = await createMenu();\n\n page.rootInstance.open = false;\n page.rootInstance.isMultiSelect = true;\n\n jest.spyOn(page.rootInstance, \"handleMenuChange\").mockImplementation();\n\n await page.waitForChanges();\n\n await page.rootInstance.selectHighlightedOption(\n { target: \"test-id\" },\n menuOptions,\n 0\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.handleMenuChange).toHaveBeenCalledWith(true);\n });\n it(\"should test selectHighlightedOption function when multi-select\", async () => {\n const page = await createMenu();\n\n page.rootInstance.open = false;\n page.rootInstance.isMultiSelect = true;\n\n jest.spyOn(page.rootInstance, \"handleMenuChange\").mockImplementation();\n\n await page.waitForChanges();\n\n await page.rootInstance.selectHighlightedOption(\n { target: \"test-id\" },\n menuOptions,\n 0\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.handleMenuChange).toHaveBeenCalledWith(true);\n });\n it(\"should test handleSelectAllClick function\", async () => {\n const page = await createMenu();\n\n page.rootInstance.menu.tabIndex = -1;\n\n const eventSpy = jest.fn();\n\n page.rootInstance.menu.addEventListener(\"focus\", eventSpy);\n\n jest.spyOn(page.rootInstance, \"emitSelectAll\").mockImplementation();\n\n await page.rootInstance.handleSelectAllClick();\n\n expect(eventSpy).toHaveBeenCalled();\n expect(page.rootInstance.emitSelectAll).toHaveBeenCalled();\n });\n it(\"should test handleSelectAllBlur function\", async () => {\n const multiSelect = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={multiSelect}\n value={menuOptions[0].value}\n parentEl={multiSelect}\n ></ic-menu>\n ),\n });\n\n jest.spyOn(page.rootInstance, \"handleMenuChange\").mockImplementation();\n\n const option = await page.root.querySelector(\"li\");\n\n await page.rootInstance.handleSelectAllBlur({ relatedTarget: option });\n\n await page.waitForChanges();\n\n expect(page.rootInstance.handleMenuChange).not.toHaveBeenCalled();\n\n await page.rootInstance.handleSelectAllBlur({ relatedTarget: input });\n\n await page.waitForChanges();\n\n expect(page.rootInstance.handleMenuChange).toHaveBeenCalledWith(\n false,\n false\n );\n });\n it(\"should test handleSelectAllFocus function\", async () => {\n const page = await createMenu();\n\n await page.rootInstance.handleSelectAllFocus();\n\n expect(page.root).toMatchSnapshot();\n });\n it(\"should test emitSelectAll function\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"menuOptionSelectAll\", eventSpy);\n\n await page.rootInstance.emitSelectAll();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n select: true,\n }),\n })\n );\n\n page.rootInstance.value = [\"espresso\"];\n\n await page.waitForChanges();\n\n await page.rootInstance.emitSelectAll();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n select: true,\n }),\n })\n );\n\n page.rootInstance.value = [\n \"espresso\",\n \"doubleespresso\",\n \"flatwhite\",\n \"cappuccino\",\n \"americano\",\n \"ameno\",\n \"green\",\n \"acano\",\n \"mocha\",\n ];\n\n await page.waitForChanges();\n\n await page.rootInstance.emitSelectAll();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n select: false,\n }),\n })\n );\n });\n it(\"should test handleSelectAllMouseDown\", async () => {\n const page = await createMenu();\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"preventDefault\", eventSpy);\n\n const event = new Event(\"click\");\n\n event.preventDefault = eventSpy;\n\n await page.rootInstance.handleSelectAllMouseDown(event);\n\n expect(eventSpy).toHaveBeenCalled();\n });\n it(\"tests deselection of options when pressing ArrowDown after Shift\", async () => {\n const multiSelect = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={multiSelect}\n value={menuOptions[0].value}\n parentEl={multiSelect}\n ></ic-menu>\n ),\n });\n\n page.rootInstance.isMultiSelect = true;\n\n jest\n .spyOn(page.rootInstance, \"deselectSelectedOptions\")\n .mockImplementation();\n\n page.rootInstance.value = [\n \"espresso\",\n \"doubleespresso\",\n \"flatwhite\",\n \"cappuccino\",\n \"americano\",\n \"ameno\",\n \"green\",\n \"acano\",\n \"mocha\",\n ];\n\n await page.waitForChanges();\n\n await page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"Shift\")\n );\n\n await page.waitForChanges();\n\n await page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"ArrowDown\")\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.deselectSelectedOptions).toHaveBeenCalledWith([\n -1, 0,\n ]);\n });\n it(\"tests deselection of options when pressing ArrowUp after Shift\", async () => {\n const multiSelect = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={multiSelect}\n value={menuOptions[0].value}\n parentEl={multiSelect}\n ></ic-menu>\n ),\n });\n\n page.rootInstance.isMultiSelect = true;\n\n jest\n .spyOn(page.rootInstance, \"deselectSelectedOptions\")\n .mockImplementation();\n\n page.rootInstance.value = [\n \"espresso\",\n \"doubleespresso\",\n \"flatwhite\",\n \"cappuccino\",\n \"americano\",\n \"ameno\",\n \"green\",\n \"acano\",\n \"mocha\",\n ];\n\n await page.waitForChanges();\n\n await page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"Shift\")\n );\n\n await page.waitForChanges();\n\n await page.rootInstance.manualSetInputValueKeyboardOpen(\n keyboardEvent(\"ArrowUp\")\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.deselectSelectedOptions).toHaveBeenCalledWith([\n -1, 8,\n ]);\n });\n it(\"tests selection of options when pressing Home or End with Shift & Ctrl\", async () => {\n const multiSelect = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={multiSelect}\n value={menuOptions[0].value}\n parentEl={multiSelect}\n ></ic-menu>\n ),\n });\n\n page.rootInstance.isMultiSelect = true;\n\n jest\n .spyOn(page.rootInstance, \"handleMultipleShiftSelect\")\n .mockImplementation();\n\n page.rootInstance.value = [\n \"espresso\",\n \"doubleespresso\",\n \"flatwhite\",\n \"cappuccino\",\n \"americano\",\n \"ameno\",\n \"green\",\n \"acano\",\n \"mocha\",\n ];\n\n await page.waitForChanges();\n\n await page.rootInstance.manualSetInputValueKeyboardOpen({\n key: \"End\",\n preventDefault: (): void => null,\n stopImmediatePropagation: (): void => null,\n ctrlKey: true,\n shiftKey: true,\n target: {\n id: \"key-id\",\n },\n });\n\n expect(page.rootInstance.handleMultipleShiftSelect).toHaveBeenCalledWith(8);\n\n await page.rootInstance.manualSetInputValueKeyboardOpen({\n key: \"Home\",\n preventDefault: (): void => null,\n stopImmediatePropagation: (): void => null,\n ctrlKey: true,\n shiftKey: true,\n target: {\n id: \"key-id\",\n },\n });\n\n expect(page.rootInstance.handleMultipleShiftSelect).toHaveBeenCalledWith(0);\n });\n it(\"tests isOptionSelected\", async () => {\n const multiSelect = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={multiSelect}\n value={menuOptions[0].value}\n parentEl={multiSelect}\n ></ic-menu>\n ),\n });\n\n page.rootInstance.value = [\"espresso\", \"doubleespresso\"];\n\n await page.waitForChanges();\n\n let isSelected = await page.rootInstance.isOptionSelected([1]);\n expect(isSelected).toBe(true);\n\n isSelected = await page.rootInstance.isOptionSelected([3]);\n expect(isSelected).toBe(false);\n\n page.rootInstance.value = \"\";\n await page.waitForChanges();\n\n isSelected = await page.rootInstance.isOptionSelected([0]);\n expect(isSelected).toBe(false);\n });\n it(\"tests handleMultipleShiftSelect with optional params using default values\", async () => {\n const multiSelect = window.document.createElement(\n \"IC-SELECT\"\n ) as HTMLIcSelectElement;\n const input = window.document.createElement(\"input\");\n\n const page = await newSpecPage({\n components: [Menu, IcInputComponentContainer],\n template: () => (\n <ic-menu\n open\n activationType=\"automatic\"\n options={menuOptions}\n menuId=\"menu-id\"\n inputLabel=\"input-label\"\n inputEl={input}\n anchorEl={multiSelect}\n value={menuOptions[0].value}\n parentEl={multiSelect}\n ></ic-menu>\n ),\n });\n\n page.rootInstance.value = [\"espresso\", \"doubleespresso\", \"flatwhite\"];\n\n jest\n .spyOn(page.rootInstance, \"deselectSelectedOptions\")\n .mockImplementation();\n page.rootInstance.lastOptionSelected = 1;\n await page.waitForChanges();\n page.rootInstance.handleMultipleShiftSelect(3);\n\n await page.waitForChanges();\n\n expect(page.rootInstance.deselectSelectedOptions).toHaveBeenCalledWith([\n 1, 2, 3,\n ]);\n });\n});\n"]}
@@ -231,7 +231,7 @@ export class PaginationBar {
231
231
  }, ref: (el) => (this.paginationBarEl = el) }, (!hideRangeLabel || showItemsPerPageControl) && (h("div", { class: "item-controls" }, showItemsPerPageControl && (h("div", { class: "items-per-page-holder" }, h("ic-typography", { class: {
232
232
  [`pagination-text-${appearance}`]: true,
233
233
  ["items-per-page-control-label"]: true,
234
- }, variant: "label", onClick: this.itemsPerPageLabelClickHandler }, capitalizedItemLabel, "s per ", lowerCasePageLabel), h("ic-select", { small: true, label: "items-per-page-input", class: "items-per-page-input", hideLabel: true, options: displayedItemsPerPageOptions, value: itemsPerPageString, onIcChange: this.changeItemsPerPage, ref: (el) => (this.pageDropdownEl = el) }))), !hideRangeLabel &&
234
+ }, variant: "label", onClick: this.itemsPerPageLabelClickHandler }, capitalizedItemLabel, "s per ", lowerCasePageLabel), h("ic-select", { size: "small", label: "items-per-page-input", class: "items-per-page-input", hideLabel: true, options: displayedItemsPerPageOptions, value: itemsPerPageString, onIcChange: this.changeItemsPerPage, ref: (el) => (this.pageDropdownEl = el) }))), !hideRangeLabel &&
235
235
  (rangeLabelType === "data" ? (h("ic-typography", { class: {
236
236
  [`pagination-text-${appearance}`]: true,
237
237
  ["item-pagination-label"]: true,