@ukic/canary-web-components 3.0.0-canary.2 → 3.0.0-canary.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (592) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-33b42cd6.js → helpers-36cdc6cb.js} +24 -1
  3. package/dist/cjs/helpers-36cdc6cb.js.map +1 -0
  4. package/dist/cjs/{helpers-6817cfbb.js → helpers-a67ad3a4.js} +15 -129
  5. package/dist/cjs/helpers-a67ad3a4.js.map +1 -0
  6. package/dist/cjs/ic-accordion-group.cjs.entry.js +10 -10
  7. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-accordion.cjs.entry.js +5 -5
  9. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-alert.cjs.entry.js +7 -5
  11. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  13. package/dist/cjs/ic-badge.cjs.entry.js +1 -1
  14. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  15. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  16. package/dist/cjs/ic-button_3.cjs.entry.js +2 -2
  17. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-card-horizontal.cjs.entry.js +21 -26
  19. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-card-vertical.cjs.entry.js +22 -24
  21. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-checkbox-group.cjs.entry.js +17 -6
  23. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-checkbox.cjs.entry.js +6 -4
  25. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-chip.cjs.entry.js +1 -1
  27. package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +1 -1
  31. package/dist/cjs/ic-data-table.cjs.entry.js +86 -10
  32. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-date-input.cjs.entry.js +13 -11
  34. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-date-picker.cjs.entry.js +4 -2
  36. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-dialog.cjs.entry.js +4 -2
  38. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-divider.cjs.entry.js +71 -7
  40. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-empty-state_2.cjs.entry.js +31 -16
  42. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
  44. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  46. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-footer.cjs.entry.js +2 -2
  48. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-hero.cjs.entry.js +2 -2
  50. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +4 -3
  52. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +1013 -0
  54. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -0
  55. package/dist/cjs/ic-input-label_2.cjs.entry.js +86 -0
  56. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -0
  57. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  58. package/dist/cjs/ic-menu-group.cjs.entry.js +3 -3
  59. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-menu-item.cjs.entry.js +11 -11
  61. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  63. package/dist/cjs/ic-navigation-group.cjs.entry.js +5 -4
  64. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-navigation-item.cjs.entry.js +29 -2
  66. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  68. package/dist/cjs/ic-page-header.cjs.entry.js +5 -5
  69. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-pagination_4.cjs.entry.js +191 -62
  71. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-popover-menu.cjs.entry.js +11 -11
  73. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-radio-group.cjs.entry.js +15 -6
  75. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-radio-option.cjs.entry.js +31 -22
  77. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-search-bar.cjs.entry.js +12 -9
  79. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-side-navigation.cjs.entry.js +4 -3
  81. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
  83. package/dist/cjs/ic-step.cjs.entry.js +1 -1
  84. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  85. package/dist/cjs/ic-switch.cjs.entry.js +7 -4
  86. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-tab-context.cjs.entry.js +2 -1
  88. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
  90. package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
  91. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  92. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  93. package/dist/cjs/ic-toast.cjs.entry.js +3 -3
  94. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +1 -1
  96. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-toggle-button.cjs.entry.js +1 -1
  98. package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
  99. package/dist/cjs/ic-tree-item.cjs.entry.js +10 -6
  100. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ic-tree-view.cjs.entry.js +19 -11
  102. package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -1
  103. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  104. package/dist/cjs/index-4cf27b16.js +4 -12
  105. package/dist/cjs/loader.cjs.js +1 -1
  106. package/dist/collection/collection-manifest.json +0 -2
  107. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +18 -21
  108. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +44 -25
  109. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -1
  110. package/dist/collection/components/ic-data-table/ic-data-table.css +20 -0
  111. package/dist/collection/components/ic-data-table/ic-data-table.js +106 -10
  112. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  113. package/dist/collection/components/ic-data-table/story-data.js +7 -0
  114. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  115. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +17 -0
  116. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
  117. package/dist/collection/components/ic-date-input/ic-date-input.css +8 -0
  118. package/dist/collection/components/ic-date-input/ic-date-input.js +29 -9
  119. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  120. package/dist/collection/components/ic-date-picker/ic-date-picker.css +1 -0
  121. package/dist/collection/components/ic-date-picker/ic-date-picker.js +20 -0
  122. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  123. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.css +8 -7
  124. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +87 -36
  125. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  126. package/dist/collection/components/ic-tree-item/ic-tree-item.css +25 -21
  127. package/dist/collection/components/ic-tree-item/ic-tree-item.js +51 -32
  128. package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -1
  129. package/dist/collection/components/ic-tree-view/ic-tree-view.css +8 -9
  130. package/dist/collection/components/ic-tree-view/ic-tree-view.js +51 -23
  131. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
  132. package/dist/collection/utils/helpers.js +1 -1
  133. package/dist/collection/utils/helpers.js.map +1 -1
  134. package/dist/collection/utils/types.js.map +1 -1
  135. package/dist/components/helpers.js +22 -1
  136. package/dist/components/helpers.js.map +1 -1
  137. package/dist/components/helpers2.js +14 -121
  138. package/dist/components/helpers2.js.map +1 -1
  139. package/dist/components/ic-accordion-group.js +11 -11
  140. package/dist/components/ic-accordion-group.js.map +1 -1
  141. package/dist/components/ic-accordion.js +5 -5
  142. package/dist/components/ic-accordion.js.map +1 -1
  143. package/dist/components/ic-alert.js +8 -5
  144. package/dist/components/ic-alert.js.map +1 -1
  145. package/dist/components/ic-card-horizontal.js +22 -26
  146. package/dist/components/ic-card-horizontal.js.map +1 -1
  147. package/dist/components/ic-card-vertical.js +23 -24
  148. package/dist/components/ic-card-vertical.js.map +1 -1
  149. package/dist/components/ic-checkbox-group.js +19 -6
  150. package/dist/components/ic-checkbox-group.js.map +1 -1
  151. package/dist/components/ic-checkbox.js +6 -3
  152. package/dist/components/ic-checkbox.js.map +1 -1
  153. package/dist/components/ic-classification-banner.js +1 -1
  154. package/dist/components/ic-classification-banner.js.map +1 -1
  155. package/dist/components/ic-data-table.js +88 -10
  156. package/dist/components/ic-data-table.js.map +1 -1
  157. package/dist/components/ic-date-input2.js +14 -11
  158. package/dist/components/ic-date-input2.js.map +1 -1
  159. package/dist/components/ic-date-picker.js +5 -2
  160. package/dist/components/ic-date-picker.js.map +1 -1
  161. package/dist/components/ic-dialog.js +4 -1
  162. package/dist/components/ic-dialog.js.map +1 -1
  163. package/dist/components/ic-divider2.js +86 -9
  164. package/dist/components/ic-divider2.js.map +1 -1
  165. package/dist/components/ic-footer-link-group.js +1 -1
  166. package/dist/components/ic-footer-link-group.js.map +1 -1
  167. package/dist/components/ic-footer-link.js +1 -1
  168. package/dist/components/ic-footer-link.js.map +1 -1
  169. package/dist/components/ic-footer.js +2 -2
  170. package/dist/components/ic-footer.js.map +1 -1
  171. package/dist/components/ic-hero.js +1 -1
  172. package/dist/components/ic-hero.js.map +1 -1
  173. package/dist/components/ic-horizontal-scroll2.js +4 -3
  174. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  175. package/dist/components/ic-input-component-container2.js +1 -1
  176. package/dist/components/ic-input-component-container2.js.map +1 -1
  177. package/dist/components/ic-input-label2.js +10 -6
  178. package/dist/components/ic-input-label2.js.map +1 -1
  179. package/dist/components/ic-input-validation2.js +1 -1
  180. package/dist/components/ic-input-validation2.js.map +1 -1
  181. package/dist/components/ic-loading-indicator2.js +1 -1
  182. package/dist/components/ic-loading-indicator2.js.map +1 -1
  183. package/dist/components/ic-menu-group.js +2 -2
  184. package/dist/components/ic-menu-group.js.map +1 -1
  185. package/dist/components/ic-menu-item2.js +11 -11
  186. package/dist/components/ic-menu-item2.js.map +1 -1
  187. package/dist/components/ic-menu2.js +453 -169
  188. package/dist/components/ic-menu2.js.map +1 -1
  189. package/dist/components/ic-navigation-group.js +5 -4
  190. package/dist/components/ic-navigation-group.js.map +1 -1
  191. package/dist/components/ic-navigation-item.js +31 -3
  192. package/dist/components/ic-navigation-item.js.map +1 -1
  193. package/dist/components/ic-navigation-menu2.js +1 -1
  194. package/dist/components/ic-page-header.js +4 -4
  195. package/dist/components/ic-page-header.js.map +1 -1
  196. package/dist/components/ic-pagination-bar2.js +34 -17
  197. package/dist/components/ic-pagination-bar2.js.map +1 -1
  198. package/dist/components/ic-pagination-item2.js +10 -12
  199. package/dist/components/ic-pagination-item2.js.map +1 -1
  200. package/dist/components/ic-pagination2.js +38 -15
  201. package/dist/components/ic-pagination2.js.map +1 -1
  202. package/dist/components/ic-popover-menu.js +12 -11
  203. package/dist/components/ic-popover-menu.js.map +1 -1
  204. package/dist/components/ic-radio-group.js +17 -6
  205. package/dist/components/ic-radio-group.js.map +1 -1
  206. package/dist/components/ic-radio-option.js +32 -22
  207. package/dist/components/ic-radio-option.js.map +1 -1
  208. package/dist/components/ic-search-bar.js +13 -9
  209. package/dist/components/ic-search-bar.js.map +1 -1
  210. package/dist/components/ic-select2.js +148 -37
  211. package/dist/components/ic-select2.js.map +1 -1
  212. package/dist/components/ic-side-navigation.js +4 -3
  213. package/dist/components/ic-side-navigation.js.map +1 -1
  214. package/dist/components/ic-stepper.js +1 -1
  215. package/dist/components/ic-switch.js +7 -3
  216. package/dist/components/ic-switch.js.map +1 -1
  217. package/dist/components/ic-tab-context.js +2 -1
  218. package/dist/components/ic-tab-context.js.map +1 -1
  219. package/dist/components/ic-text-field2.js +2 -2
  220. package/dist/components/ic-text-field2.js.map +1 -1
  221. package/dist/components/ic-theme.js +1 -1
  222. package/dist/components/ic-toast.js +3 -3
  223. package/dist/components/ic-toast.js.map +1 -1
  224. package/dist/components/ic-toggle-button-group.js +1 -1
  225. package/dist/components/ic-toggle-button-group.js.map +1 -1
  226. package/dist/components/ic-top-navigation.js +1 -1
  227. package/dist/components/ic-tree-item.js +11 -6
  228. package/dist/components/ic-tree-item.js.map +1 -1
  229. package/dist/components/ic-tree-view.js +24 -14
  230. package/dist/components/ic-tree-view.js.map +1 -1
  231. package/dist/core/core.css +692 -10
  232. package/dist/core/core.esm.js +1 -1
  233. package/dist/core/core.esm.js.map +1 -1
  234. package/dist/core/p-00ff3a06.entry.js +2 -0
  235. package/dist/core/p-00ff3a06.entry.js.map +1 -0
  236. package/dist/core/{p-7e1603cc.entry.js → p-01ab3a15.entry.js} +2 -2
  237. package/dist/core/p-01ab3a15.entry.js.map +1 -0
  238. package/dist/core/{p-c033e7d6.entry.js → p-036d251b.entry.js} +2 -2
  239. package/dist/core/{p-9397b15b.js → p-043cf5de.js} +2 -2
  240. package/dist/core/p-043cf5de.js.map +1 -0
  241. package/dist/core/{p-d2e7a256.entry.js → p-13d2db9b.entry.js} +2 -2
  242. package/dist/core/p-1d24a02a.entry.js +2 -0
  243. package/dist/core/{p-7c80d79c.entry.js.map → p-1d24a02a.entry.js.map} +1 -1
  244. package/dist/core/p-235b461f.entry.js +2 -0
  245. package/dist/core/p-235b461f.entry.js.map +1 -0
  246. package/dist/core/{p-897b8d16.entry.js → p-24d03bbd.entry.js} +2 -2
  247. package/dist/core/{p-bb1252fa.entry.js → p-26613dbd.entry.js} +2 -2
  248. package/dist/core/p-2873f871.entry.js +2 -0
  249. package/dist/core/p-2873f871.entry.js.map +1 -0
  250. package/dist/core/{p-77a32de5.entry.js → p-2a3bd99a.entry.js} +2 -2
  251. package/dist/core/p-2f4bec06.entry.js +2 -0
  252. package/dist/core/p-2f4bec06.entry.js.map +1 -0
  253. package/dist/core/p-350074d4.entry.js +2 -0
  254. package/dist/core/p-350074d4.entry.js.map +1 -0
  255. package/dist/core/{p-5cfb5821.entry.js → p-39101ffc.entry.js} +2 -2
  256. package/dist/core/{p-5cfb5821.entry.js.map → p-39101ffc.entry.js.map} +1 -1
  257. package/dist/core/p-3b0fae40.entry.js +2 -0
  258. package/dist/core/p-3b0fae40.entry.js.map +1 -0
  259. package/dist/core/p-42f1b9cc.entry.js +2 -0
  260. package/dist/core/p-42f1b9cc.entry.js.map +1 -0
  261. package/dist/core/p-50dd2744.entry.js +2 -0
  262. package/dist/core/p-50dd2744.entry.js.map +1 -0
  263. package/dist/core/p-53228014.entry.js +2 -0
  264. package/dist/core/p-53228014.entry.js.map +1 -0
  265. package/dist/core/p-574355c9.entry.js +2 -0
  266. package/dist/core/p-574355c9.entry.js.map +1 -0
  267. package/dist/core/p-5af1273f.entry.js +2 -0
  268. package/dist/core/p-5af1273f.entry.js.map +1 -0
  269. package/dist/core/p-5eecd3fc.entry.js +2 -0
  270. package/dist/core/p-5eecd3fc.entry.js.map +1 -0
  271. package/dist/core/{p-4e28ef60.entry.js → p-606ad46f.entry.js} +2 -2
  272. package/dist/core/p-606ad46f.entry.js.map +1 -0
  273. package/dist/core/{p-4dcc37e7.entry.js → p-620b758c.entry.js} +2 -2
  274. package/dist/core/p-637035c3.entry.js +2 -0
  275. package/dist/core/p-637035c3.entry.js.map +1 -0
  276. package/dist/core/{p-6beffd0e.entry.js → p-6727166b.entry.js} +2 -2
  277. package/dist/core/{p-8ca2e329.entry.js → p-6dc00a8f.entry.js} +2 -2
  278. package/dist/core/{p-aeb6016c.entry.js → p-6dffaac0.entry.js} +2 -2
  279. package/dist/core/{p-aeb6016c.entry.js.map → p-6dffaac0.entry.js.map} +1 -1
  280. package/dist/core/p-72210cd4.entry.js +2 -0
  281. package/dist/core/p-72210cd4.entry.js.map +1 -0
  282. package/dist/core/{p-d5ca3bcb.entry.js → p-7aa6b76e.entry.js} +2 -2
  283. package/dist/core/{p-e5d99316.entry.js → p-7b90f0ae.entry.js} +2 -2
  284. package/dist/core/p-7c3c080a.entry.js +2 -0
  285. package/dist/core/p-7c3c080a.entry.js.map +1 -0
  286. package/dist/core/p-7c663d4a.entry.js +2 -0
  287. package/dist/core/p-7c663d4a.entry.js.map +1 -0
  288. package/dist/core/p-7c6710f8.entry.js +2 -0
  289. package/dist/core/p-7c6710f8.entry.js.map +1 -0
  290. package/dist/core/{p-50019ede.entry.js → p-80b296cd.entry.js} +2 -2
  291. package/dist/core/{p-b0751bd9.entry.js → p-80dee118.entry.js} +2 -2
  292. package/dist/core/p-80dee118.entry.js.map +1 -0
  293. package/dist/core/{p-eb65e556.entry.js → p-82aa8136.entry.js} +2 -2
  294. package/dist/core/{p-2e49fb22.entry.js → p-83b4efe2.entry.js} +2 -2
  295. package/dist/core/p-83e4d955.entry.js +2 -0
  296. package/dist/core/p-83e4d955.entry.js.map +1 -0
  297. package/dist/core/p-85d51975.entry.js +2 -0
  298. package/dist/core/p-85d51975.entry.js.map +1 -0
  299. package/dist/core/{p-5accf0bb.entry.js → p-878df16f.entry.js} +2 -2
  300. package/dist/core/{p-1fe35de1.entry.js → p-8bec76d1.entry.js} +2 -2
  301. package/dist/core/p-8ffdd236.entry.js +2 -0
  302. package/dist/core/p-8ffdd236.entry.js.map +1 -0
  303. package/dist/core/p-97953d8b.entry.js +2 -0
  304. package/dist/core/p-97953d8b.entry.js.map +1 -0
  305. package/dist/core/p-9a62c3b8.entry.js +2 -0
  306. package/dist/core/p-9a62c3b8.entry.js.map +1 -0
  307. package/dist/core/p-a22d335b.entry.js +2 -0
  308. package/dist/core/p-a22d335b.entry.js.map +1 -0
  309. package/dist/core/p-a22e5356.entry.js +2 -0
  310. package/dist/core/p-a22e5356.entry.js.map +1 -0
  311. package/dist/core/p-b03218df.entry.js +2 -0
  312. package/dist/core/p-b03218df.entry.js.map +1 -0
  313. package/dist/core/{p-486d8d43.entry.js → p-b3d93bc1.entry.js} +2 -2
  314. package/dist/core/p-c1feb2b2.entry.js +2 -0
  315. package/dist/core/p-c1feb2b2.entry.js.map +1 -0
  316. package/dist/core/{p-ed4cde5a.entry.js → p-c40c57ee.entry.js} +2 -2
  317. package/dist/core/p-c883b5c1.entry.js +2 -0
  318. package/dist/core/p-c883b5c1.entry.js.map +1 -0
  319. package/dist/core/{p-0ab10600.entry.js → p-cc22644d.entry.js} +2 -2
  320. package/dist/core/{p-505250cf.entry.js → p-d7632baf.entry.js} +2 -2
  321. package/dist/core/p-dcbfc485.entry.js +2 -0
  322. package/dist/core/p-dcbfc485.entry.js.map +1 -0
  323. package/dist/core/{p-44ee5375.entry.js → p-e3e0cf46.entry.js} +2 -2
  324. package/dist/core/p-e3e0cf46.entry.js.map +1 -0
  325. package/dist/core/p-e6a330e4.js +2 -0
  326. package/dist/core/p-e6a330e4.js.map +1 -0
  327. package/dist/core/{p-1109636a.entry.js → p-e7b6d9c5.entry.js} +2 -2
  328. package/dist/core/{p-1109636a.entry.js.map → p-e7b6d9c5.entry.js.map} +1 -1
  329. package/dist/core/p-ea3e2419.entry.js +2 -0
  330. package/dist/core/p-ea3e2419.entry.js.map +1 -0
  331. package/dist/core/p-f32ab3de.entry.js +2 -0
  332. package/dist/core/p-f32ab3de.entry.js.map +1 -0
  333. package/dist/core/p-f3f9acbb.entry.js +2 -0
  334. package/dist/core/p-f3f9acbb.entry.js.map +1 -0
  335. package/dist/core/{p-d03374fc.entry.js → p-fbb5c8f2.entry.js} +2 -2
  336. package/dist/esm/core.js +1 -1
  337. package/dist/esm/{helpers-5bd2012a.js → helpers-1e2516ae.js} +15 -122
  338. package/dist/esm/helpers-1e2516ae.js.map +1 -0
  339. package/dist/esm/{helpers-dab8ddfe.js → helpers-c326255f.js} +23 -2
  340. package/dist/esm/helpers-c326255f.js.map +1 -0
  341. package/dist/esm/ic-accordion-group.entry.js +10 -10
  342. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  343. package/dist/esm/ic-accordion.entry.js +5 -5
  344. package/dist/esm/ic-accordion.entry.js.map +1 -1
  345. package/dist/esm/ic-alert.entry.js +7 -5
  346. package/dist/esm/ic-alert.entry.js.map +1 -1
  347. package/dist/esm/ic-back-to-top.entry.js +1 -1
  348. package/dist/esm/ic-badge.entry.js +1 -1
  349. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  350. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  351. package/dist/esm/ic-button_3.entry.js +2 -2
  352. package/dist/esm/ic-button_3.entry.js.map +1 -1
  353. package/dist/esm/ic-card-horizontal.entry.js +22 -27
  354. package/dist/esm/ic-card-horizontal.entry.js.map +1 -1
  355. package/dist/esm/ic-card-vertical.entry.js +23 -25
  356. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  357. package/dist/esm/ic-checkbox-group.entry.js +17 -6
  358. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  359. package/dist/esm/ic-checkbox.entry.js +6 -4
  360. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  361. package/dist/esm/ic-chip.entry.js +1 -1
  362. package/dist/esm/ic-classification-banner.entry.js +1 -1
  363. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  364. package/dist/esm/ic-data-row.entry.js +1 -1
  365. package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
  366. package/dist/esm/ic-data-table.entry.js +86 -10
  367. package/dist/esm/ic-data-table.entry.js.map +1 -1
  368. package/dist/esm/ic-date-input.entry.js +13 -11
  369. package/dist/esm/ic-date-input.entry.js.map +1 -1
  370. package/dist/esm/ic-date-picker.entry.js +4 -2
  371. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  372. package/dist/esm/ic-dialog.entry.js +4 -2
  373. package/dist/esm/ic-dialog.entry.js.map +1 -1
  374. package/dist/esm/ic-divider.entry.js +72 -8
  375. package/dist/esm/ic-divider.entry.js.map +1 -1
  376. package/dist/esm/ic-empty-state_2.entry.js +31 -16
  377. package/dist/esm/ic-empty-state_2.entry.js.map +1 -1
  378. package/dist/esm/ic-footer-link-group.entry.js +2 -2
  379. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  380. package/dist/esm/ic-footer-link.entry.js +2 -2
  381. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  382. package/dist/esm/ic-footer.entry.js +2 -2
  383. package/dist/esm/ic-footer.entry.js.map +1 -1
  384. package/dist/esm/ic-hero.entry.js +2 -2
  385. package/dist/esm/ic-hero.entry.js.map +1 -1
  386. package/dist/esm/ic-horizontal-scroll.entry.js +4 -3
  387. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  388. package/dist/{collection/components/ic-menu-with-multi/ic-menu.js → esm/ic-input-component-container_3.entry.js} +160 -729
  389. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -0
  390. package/dist/esm/ic-input-label_2.entry.js +81 -0
  391. package/dist/esm/ic-input-label_2.entry.js.map +1 -0
  392. package/dist/esm/ic-link.entry.js +1 -1
  393. package/dist/esm/ic-menu-group.entry.js +3 -3
  394. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  395. package/dist/esm/ic-menu-item.entry.js +11 -11
  396. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  397. package/dist/esm/ic-navigation-button.entry.js +1 -1
  398. package/dist/esm/ic-navigation-group.entry.js +5 -4
  399. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  400. package/dist/esm/ic-navigation-item.entry.js +30 -3
  401. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  402. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  403. package/dist/esm/ic-page-header.entry.js +5 -5
  404. package/dist/esm/ic-page-header.entry.js.map +1 -1
  405. package/dist/esm/ic-pagination_4.entry.js +191 -62
  406. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  407. package/dist/esm/ic-popover-menu.entry.js +11 -11
  408. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  409. package/dist/esm/ic-radio-group.entry.js +15 -6
  410. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  411. package/dist/esm/ic-radio-option.entry.js +31 -22
  412. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  413. package/dist/esm/ic-search-bar.entry.js +12 -9
  414. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  415. package/dist/esm/ic-side-navigation.entry.js +4 -3
  416. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  417. package/dist/esm/ic-status-tag.entry.js +1 -1
  418. package/dist/esm/ic-step.entry.js +1 -1
  419. package/dist/esm/ic-stepper.entry.js +1 -1
  420. package/dist/esm/ic-switch.entry.js +7 -4
  421. package/dist/esm/ic-switch.entry.js.map +1 -1
  422. package/dist/esm/ic-tab-context.entry.js +2 -1
  423. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  424. package/dist/esm/ic-tab-group.entry.js +1 -1
  425. package/dist/esm/ic-tab-panel.entry.js +1 -1
  426. package/dist/esm/ic-tab.entry.js +1 -1
  427. package/dist/esm/ic-theme.entry.js +1 -1
  428. package/dist/esm/ic-toast.entry.js +3 -3
  429. package/dist/esm/ic-toast.entry.js.map +1 -1
  430. package/dist/esm/ic-toggle-button-group.entry.js +1 -1
  431. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  432. package/dist/esm/ic-toggle-button.entry.js +1 -1
  433. package/dist/esm/ic-top-navigation.entry.js +1 -1
  434. package/dist/esm/ic-tree-item.entry.js +10 -6
  435. package/dist/esm/ic-tree-item.entry.js.map +1 -1
  436. package/dist/esm/ic-tree-view.entry.js +19 -11
  437. package/dist/esm/ic-tree-view.entry.js.map +1 -1
  438. package/dist/esm/ic-typography.entry.js +1 -1
  439. package/dist/esm/index-93509377.js +4 -12
  440. package/dist/esm/loader.js +1 -1
  441. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +6 -2
  442. package/dist/types/components/ic-data-table/ic-data-table.d.ts +13 -0
  443. package/dist/types/components/ic-data-table/story-data.d.ts +1 -0
  444. package/dist/types/components/ic-date-input/ic-date-input.d.ts +4 -0
  445. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +4 -0
  446. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +15 -6
  447. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +11 -6
  448. package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +10 -4
  449. package/dist/types/components.d.ts +94 -484
  450. package/dist/types/utils/helpers.d.ts +1 -1
  451. package/dist/types/utils/types.d.ts +4 -1
  452. package/hydrate/index.js +3373 -6380
  453. package/package.json +3 -3
  454. package/dist/cjs/helpers-33b42cd6.js.map +0 -1
  455. package/dist/cjs/helpers-6817cfbb.js.map +0 -1
  456. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +0 -156
  457. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +0 -1
  458. package/dist/cjs/ic-menu-with-multi.cjs.entry.js +0 -2738
  459. package/dist/cjs/ic-menu-with-multi.cjs.entry.js.map +0 -1
  460. package/dist/cjs/ic-menu.cjs.entry.js +0 -658
  461. package/dist/cjs/ic-menu.cjs.entry.js.map +0 -1
  462. package/dist/cjs/ic-select-with-multi.cjs.entry.js +0 -788
  463. package/dist/cjs/ic-select-with-multi.cjs.entry.js.map +0 -1
  464. package/dist/collection/components/ic-menu-with-multi/ic-menu.css +0 -712
  465. package/dist/collection/components/ic-menu-with-multi/ic-menu.js.map +0 -1
  466. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js +0 -1057
  467. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js.map +0 -1
  468. package/dist/collection/components/ic-select-with-multi/assets/Check.svg +0 -3
  469. package/dist/collection/components/ic-select-with-multi/assets/Clear.svg +0 -3
  470. package/dist/collection/components/ic-select-with-multi/assets/Expand.svg +0 -3
  471. package/dist/collection/components/ic-select-with-multi/ic-select.css +0 -695
  472. package/dist/collection/components/ic-select-with-multi/ic-select.js +0 -1520
  473. package/dist/collection/components/ic-select-with-multi/ic-select.js.map +0 -1
  474. package/dist/collection/components/ic-select-with-multi/story-data.js +0 -216
  475. package/dist/collection/components/ic-select-with-multi/story-data.js.map +0 -1
  476. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js +0 -1518
  477. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js.map +0 -1
  478. package/dist/components/ic-menu-with-multi.d.ts +0 -11
  479. package/dist/components/ic-menu-with-multi.js +0 -8
  480. package/dist/components/ic-menu-with-multi.js.map +0 -1
  481. package/dist/components/ic-menu3.js +0 -2803
  482. package/dist/components/ic-menu3.js.map +0 -1
  483. package/dist/components/ic-select-with-multi.d.ts +0 -11
  484. package/dist/components/ic-select-with-multi.js +0 -906
  485. package/dist/components/ic-select-with-multi.js.map +0 -1
  486. package/dist/core/p-0894cab1.entry.js +0 -2
  487. package/dist/core/p-0894cab1.entry.js.map +0 -1
  488. package/dist/core/p-130a05cf.entry.js +0 -2
  489. package/dist/core/p-130a05cf.entry.js.map +0 -1
  490. package/dist/core/p-1e2aa8a6.entry.js +0 -2
  491. package/dist/core/p-1e2aa8a6.entry.js.map +0 -1
  492. package/dist/core/p-202bc922.entry.js +0 -2
  493. package/dist/core/p-202bc922.entry.js.map +0 -1
  494. package/dist/core/p-28323849.entry.js +0 -2
  495. package/dist/core/p-28323849.entry.js.map +0 -1
  496. package/dist/core/p-297e99cf.js +0 -2
  497. package/dist/core/p-297e99cf.js.map +0 -1
  498. package/dist/core/p-2ff4e283.entry.js +0 -2
  499. package/dist/core/p-2ff4e283.entry.js.map +0 -1
  500. package/dist/core/p-30b046b2.entry.js +0 -2
  501. package/dist/core/p-30b046b2.entry.js.map +0 -1
  502. package/dist/core/p-3db785f0.entry.js +0 -2
  503. package/dist/core/p-3db785f0.entry.js.map +0 -1
  504. package/dist/core/p-42883e4c.entry.js +0 -2
  505. package/dist/core/p-42883e4c.entry.js.map +0 -1
  506. package/dist/core/p-42e0f3bd.entry.js +0 -2
  507. package/dist/core/p-42e0f3bd.entry.js.map +0 -1
  508. package/dist/core/p-44ee5375.entry.js.map +0 -1
  509. package/dist/core/p-4e28ef60.entry.js.map +0 -1
  510. package/dist/core/p-53e00a8a.entry.js +0 -2
  511. package/dist/core/p-53e00a8a.entry.js.map +0 -1
  512. package/dist/core/p-59028160.entry.js +0 -2
  513. package/dist/core/p-59028160.entry.js.map +0 -1
  514. package/dist/core/p-5b7dfe57.entry.js +0 -2
  515. package/dist/core/p-5b7dfe57.entry.js.map +0 -1
  516. package/dist/core/p-603fea14.entry.js +0 -2
  517. package/dist/core/p-603fea14.entry.js.map +0 -1
  518. package/dist/core/p-64933069.entry.js +0 -2
  519. package/dist/core/p-64933069.entry.js.map +0 -1
  520. package/dist/core/p-7c268030.entry.js +0 -2
  521. package/dist/core/p-7c268030.entry.js.map +0 -1
  522. package/dist/core/p-7c78f6c6.entry.js +0 -2
  523. package/dist/core/p-7c78f6c6.entry.js.map +0 -1
  524. package/dist/core/p-7c80d79c.entry.js +0 -2
  525. package/dist/core/p-7e1603cc.entry.js.map +0 -1
  526. package/dist/core/p-8df49808.entry.js +0 -2
  527. package/dist/core/p-8df49808.entry.js.map +0 -1
  528. package/dist/core/p-8f12659d.entry.js +0 -2
  529. package/dist/core/p-8f12659d.entry.js.map +0 -1
  530. package/dist/core/p-903ee57e.entry.js +0 -2
  531. package/dist/core/p-903ee57e.entry.js.map +0 -1
  532. package/dist/core/p-92e3ccb9.entry.js +0 -2
  533. package/dist/core/p-92e3ccb9.entry.js.map +0 -1
  534. package/dist/core/p-9397b15b.js.map +0 -1
  535. package/dist/core/p-9b54feca.entry.js +0 -2
  536. package/dist/core/p-9b54feca.entry.js.map +0 -1
  537. package/dist/core/p-a78cf2cb.entry.js +0 -2
  538. package/dist/core/p-a78cf2cb.entry.js.map +0 -1
  539. package/dist/core/p-a9151d0b.entry.js +0 -2
  540. package/dist/core/p-a9151d0b.entry.js.map +0 -1
  541. package/dist/core/p-acc76b80.entry.js +0 -2
  542. package/dist/core/p-acc76b80.entry.js.map +0 -1
  543. package/dist/core/p-b0751bd9.entry.js.map +0 -1
  544. package/dist/core/p-c1698936.entry.js +0 -2
  545. package/dist/core/p-c1698936.entry.js.map +0 -1
  546. package/dist/core/p-c1e90c85.entry.js +0 -2
  547. package/dist/core/p-c1e90c85.entry.js.map +0 -1
  548. package/dist/core/p-cb63e656.entry.js +0 -2
  549. package/dist/core/p-cb63e656.entry.js.map +0 -1
  550. package/dist/core/p-d3c0bffb.entry.js +0 -2
  551. package/dist/core/p-d3c0bffb.entry.js.map +0 -1
  552. package/dist/core/p-da3e8c54.entry.js +0 -2
  553. package/dist/core/p-da3e8c54.entry.js.map +0 -1
  554. package/dist/core/p-ec53b435.entry.js +0 -2
  555. package/dist/core/p-ec53b435.entry.js.map +0 -1
  556. package/dist/core/p-f9810621.entry.js +0 -2
  557. package/dist/core/p-f9810621.entry.js.map +0 -1
  558. package/dist/core/p-fb7b99dd.entry.js +0 -2
  559. package/dist/core/p-fb7b99dd.entry.js.map +0 -1
  560. package/dist/esm/helpers-5bd2012a.js.map +0 -1
  561. package/dist/esm/helpers-dab8ddfe.js.map +0 -1
  562. package/dist/esm/ic-input-component-container_4.entry.js +0 -149
  563. package/dist/esm/ic-input-component-container_4.entry.js.map +0 -1
  564. package/dist/esm/ic-menu-with-multi.entry.js +0 -2734
  565. package/dist/esm/ic-menu-with-multi.entry.js.map +0 -1
  566. package/dist/esm/ic-menu.entry.js +0 -654
  567. package/dist/esm/ic-menu.entry.js.map +0 -1
  568. package/dist/esm/ic-select-with-multi.entry.js +0 -784
  569. package/dist/esm/ic-select-with-multi.entry.js.map +0 -1
  570. package/dist/types/components/ic-menu-with-multi/ic-menu.d.ts +0 -214
  571. package/dist/types/components/ic-select-with-multi/ic-select.d.ts +0 -259
  572. package/dist/types/components/ic-select-with-multi/story-data.d.ts +0 -32
  573. /package/dist/core/{p-c033e7d6.entry.js.map → p-036d251b.entry.js.map} +0 -0
  574. /package/dist/core/{p-d2e7a256.entry.js.map → p-13d2db9b.entry.js.map} +0 -0
  575. /package/dist/core/{p-897b8d16.entry.js.map → p-24d03bbd.entry.js.map} +0 -0
  576. /package/dist/core/{p-bb1252fa.entry.js.map → p-26613dbd.entry.js.map} +0 -0
  577. /package/dist/core/{p-77a32de5.entry.js.map → p-2a3bd99a.entry.js.map} +0 -0
  578. /package/dist/core/{p-4dcc37e7.entry.js.map → p-620b758c.entry.js.map} +0 -0
  579. /package/dist/core/{p-6beffd0e.entry.js.map → p-6727166b.entry.js.map} +0 -0
  580. /package/dist/core/{p-8ca2e329.entry.js.map → p-6dc00a8f.entry.js.map} +0 -0
  581. /package/dist/core/{p-d5ca3bcb.entry.js.map → p-7aa6b76e.entry.js.map} +0 -0
  582. /package/dist/core/{p-e5d99316.entry.js.map → p-7b90f0ae.entry.js.map} +0 -0
  583. /package/dist/core/{p-50019ede.entry.js.map → p-80b296cd.entry.js.map} +0 -0
  584. /package/dist/core/{p-eb65e556.entry.js.map → p-82aa8136.entry.js.map} +0 -0
  585. /package/dist/core/{p-2e49fb22.entry.js.map → p-83b4efe2.entry.js.map} +0 -0
  586. /package/dist/core/{p-5accf0bb.entry.js.map → p-878df16f.entry.js.map} +0 -0
  587. /package/dist/core/{p-1fe35de1.entry.js.map → p-8bec76d1.entry.js.map} +0 -0
  588. /package/dist/core/{p-486d8d43.entry.js.map → p-b3d93bc1.entry.js.map} +0 -0
  589. /package/dist/core/{p-ed4cde5a.entry.js.map → p-c40c57ee.entry.js.map} +0 -0
  590. /package/dist/core/{p-0ab10600.entry.js.map → p-cc22644d.entry.js.map} +0 -0
  591. /package/dist/core/{p-505250cf.entry.js.map → p-d7632baf.entry.js.map} +0 -0
  592. /package/dist/core/{p-d03374fc.entry.js.map → p-fbb5c8f2.entry.js.map} +0 -0
@@ -1 +0,0 @@
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"]}
@@ -1,3 +0,0 @@
1
- <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M8.79502 15.875L4.62502 11.705L3.20502 13.115L8.79502 18.705L20.795 6.70501L19.385 5.29501L8.79502 15.875Z" fill="#0B0C0C"/>
3
- </svg>
@@ -1,3 +0,0 @@
1
- <svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M12.6666 4.27334L11.7266 3.33334L7.99998 7.06001L4.27331 3.33334L3.33331 4.27334L7.05998 8.00001L3.33331 11.7267L4.27331 12.6667L7.99998 8.94001L11.7266 12.6667L12.6666 11.7267L8.93998 8.00001L12.6666 4.27334Z" fill="currentColor" />
3
- </svg>
@@ -1,3 +0,0 @@
1
- <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M7 9.5L12 14.5L17 9.5H7Z" fill="currentColor" />
3
- </svg>