@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,1057 +0,0 @@
1
- import { newSpecPage } from "@stencil/core/testing";
2
- import { Menu } from "../../ic-menu";
3
- import { IcInputComponentContainer } from "@ukic/web-components/dist/components/ic-input-component-container";
4
- import { testKeyboardEvent as keyboardEvent } from "@ukic/web-components/dist/types/testspec.setup";
5
- import { h } from "@stencil/core";
6
- import * as helpers from "@ukic/web-components/dist/types/utils/helpers";
7
- // These tests still use 'ic-select' and not 'ic-select-with-multi'
8
- // It does not matter as unit tests in the canary branch do not run anyway
9
- // And it saves converting them back when the multi-select is merged into the main branch
10
- // (Check the original multi-select branch, i.e. where the changes were added straight to the web-components folder, to see the tests working)
11
- const menuOptions = [
12
- { label: "Espresso", value: "espresso" },
13
- { label: "Double Espresso", value: "doubleespresso" },
14
- { label: "Flat White", value: "flatwhite" },
15
- {
16
- label: "Cappuccino",
17
- value: "cappuccino",
18
- description: "with chocolate is best!",
19
- },
20
- { label: "Americano", value: "americano" },
21
- { label: "Ameno", value: "ameno" },
22
- {
23
- label: "Tea",
24
- value: "tea",
25
- children: [{ label: "green", value: "green" }],
26
- },
27
- {
28
- label: "Aicano",
29
- value: "acano",
30
- 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>`,
31
- },
32
- {
33
- label: "Mocha",
34
- value: "mocha",
35
- element: {
36
- component: `<ic-status-tag label="Neutral status"></ic-status-tag>`,
37
- ariaLabel: "Neutral status tag",
38
- },
39
- },
40
- ];
41
- const menuIdEspresso = "menu-id-espresso";
42
- const menuIdMocha = "menu-id-mocha";
43
- const IcSearchBar = "IC-SEARCH-BAR";
44
- const createMenu = () => {
45
- // create necessary elements before the page is created
46
- const div = window.document.createElement("div");
47
- const input = window.document.createElement("input");
48
- return newSpecPage({
49
- components: [Menu, IcInputComponentContainer],
50
- template: () => (h("ic-menu", { open: true, activationType: "automatic", options: menuOptions, menuId: "menu-id", inputLabel: "input-label", inputEl: input, anchorEl: div, value: menuOptions[0].value, parentEl: div })),
51
- });
52
- };
53
- beforeAll(() => {
54
- jest.spyOn(console, "warn").mockImplementation(jest.fn());
55
- });
56
- describe("ic-menu in isolation", () => {
57
- it("should render", async () => {
58
- const page = await createMenu();
59
- expect(page).toMatchSnapshot();
60
- });
61
- it("should set open prop to true by default", async () => {
62
- const page = await createMenu();
63
- expect(page.root.open).toBe(true);
64
- });
65
- it("should test ungroupedOptionsSet emitter", async () => {
66
- const page = await createMenu();
67
- const eventSpy = jest.fn();
68
- page.root.addEventListener("ungroupedOptionsSet", eventSpy);
69
- page.root.options = [];
70
- await page.waitForChanges();
71
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
72
- detail: expect.objectContaining({
73
- options: [],
74
- }),
75
- }));
76
- });
77
- it("should test menuOptionSelect emitter", async () => {
78
- const page = await createMenu();
79
- const eventSpy = jest.fn();
80
- page.root.addEventListener("menuOptionSelect", eventSpy);
81
- await page.waitForChanges();
82
- page.rootInstance.setInputValue(2);
83
- await page.waitForChanges();
84
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
85
- detail: expect.objectContaining({
86
- value: "flatwhite",
87
- }),
88
- }));
89
- });
90
- it("should test menuStateChange emitter", async () => {
91
- const page = await createMenu();
92
- const eventSpy = jest.fn();
93
- page.root.addEventListener("menuStateChange", eventSpy);
94
- await page.waitForChanges();
95
- const click = new MouseEvent("click", {
96
- bubbles: true,
97
- cancelable: true,
98
- });
99
- page.rootInstance.arrowBehaviour(click);
100
- await page.waitForChanges();
101
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
102
- detail: expect.objectContaining({
103
- open: true,
104
- }),
105
- }));
106
- });
107
- it("should test menuOptionId emitter", async () => {
108
- const page = await createMenu();
109
- const eventSpy = jest.fn();
110
- page.root.addEventListener("menuOptionId", eventSpy);
111
- await page.waitForChanges();
112
- page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("ArrowDown"));
113
- await page.waitForChanges();
114
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
115
- detail: expect.objectContaining({
116
- optionId: menuIdEspresso,
117
- }),
118
- }));
119
- });
120
- it("should test menuKeyPress emitter", async () => {
121
- const page = await createMenu();
122
- const eventSpy = jest.fn();
123
- page.root.addEventListener("menuKeyPress", eventSpy);
124
- await page.waitForChanges();
125
- page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent("Home"));
126
- await page.waitForChanges();
127
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
128
- detail: expect.objectContaining({
129
- isNavKey: true,
130
- key: "Home",
131
- }),
132
- }));
133
- });
134
- it("should test setNextOptionValue function", async () => {
135
- const page = await createMenu();
136
- const eventSpy = jest.fn();
137
- page.root.addEventListener("menuOptionSelect", eventSpy);
138
- page.rootInstance.setNextOptionValue(15);
139
- await page.waitForChanges();
140
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
141
- detail: expect.objectContaining({
142
- value: "espresso",
143
- }),
144
- }));
145
- });
146
- it("should test setPreviousOptionValue function", async () => {
147
- const page = await createMenu();
148
- const eventSpy = jest.fn();
149
- page.root.addEventListener("menuOptionSelect", eventSpy);
150
- await page.waitForChanges();
151
- page.rootInstance.setPreviousOptionValue(4);
152
- await page.waitForChanges();
153
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
154
- detail: expect.objectContaining({
155
- value: "cappuccino",
156
- }),
157
- }));
158
- });
159
- it("should test handleClickOpen function", async () => {
160
- const page = await createMenu();
161
- const eventSpy = jest.fn();
162
- page.root.addEventListener("menuStateChange", eventSpy);
163
- page.root.open = false;
164
- await page.waitForChanges();
165
- await page.rootInstance.handleClickOpen();
166
- await page.waitForChanges();
167
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
168
- detail: expect.objectContaining({
169
- open: true,
170
- }),
171
- }));
172
- });
173
- it("should test handleKeyboardOpen function", async () => {
174
- const page = await createMenu();
175
- page.root.open = false;
176
- const eventSpy = jest.fn();
177
- page.root.addEventListener("menuStateChange", eventSpy);
178
- page.root.addEventListener("menuOptionId", eventSpy);
179
- await page.waitForChanges();
180
- await page.rootInstance.handleKeyboardOpen(keyboardEvent("ArrowDown"));
181
- await page.waitForChanges();
182
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
183
- detail: expect.objectContaining({
184
- open: true,
185
- }),
186
- }));
187
- page.root.open = false;
188
- page.root.activationType = "manual";
189
- await page.waitForChanges();
190
- await page.rootInstance.handleKeyboardOpen(keyboardEvent("ArrowDown"));
191
- await page.waitForChanges();
192
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
193
- detail: expect.objectContaining({
194
- optionId: menuIdEspresso,
195
- }),
196
- }));
197
- });
198
- it("should test autoSetInputValueKeyboardOpen function", async () => {
199
- const page = await createMenu();
200
- const eventSpy = jest.fn();
201
- const inputEl = page.rootInstance.inputEl;
202
- page.root.addEventListener("menuOptionSelect", eventSpy);
203
- page.root.addEventListener("menuStateChange", eventSpy);
204
- inputEl.addEventListener("focus", eventSpy);
205
- page.root.open = false;
206
- await page.waitForChanges();
207
- await page.rootInstance.autoSetInputValueKeyboardOpen(keyboardEvent("ArrowUp"));
208
- await page.waitForChanges();
209
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
210
- detail: expect.objectContaining({
211
- optionId: menuIdMocha,
212
- }),
213
- }));
214
- page.rootInstance.open = false;
215
- await page.waitForChanges();
216
- await page.rootInstance.autoSetInputValueKeyboardOpen(keyboardEvent("Enter"));
217
- await page.waitForChanges();
218
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
219
- detail: expect.objectContaining({
220
- open: true,
221
- focusInput: undefined,
222
- }),
223
- }));
224
- page.rootInstance.open = false;
225
- await page.waitForChanges();
226
- await page.rootInstance.autoSetInputValueKeyboardOpen(keyboardEvent(" "));
227
- await page.waitForChanges();
228
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
229
- detail: expect.objectContaining({
230
- open: true,
231
- focusInput: undefined,
232
- }),
233
- }));
234
- });
235
- it("should test autoSetInputValueKeyboardOpen function with character keys", async () => {
236
- const page = await createMenu();
237
- page.root.options = menuOptions;
238
- await page.waitForChanges();
239
- page.rootInstance.autoSetInputValueKeyboardOpen(keyboardEvent("e"));
240
- page.rootInstance.autoSetInputValueKeyboardOpen(keyboardEvent("s"));
241
- await page.waitForChanges();
242
- expect(page.root.value).toBe("espresso");
243
- });
244
- it("should test manualSetInputValueKeyboardOpen function", async () => {
245
- const searchBar = window.document.createElement(IcSearchBar);
246
- const input = window.document.createElement("input");
247
- const searchMenuOptions = JSON.parse(JSON.stringify(menuOptions));
248
- searchMenuOptions[3].disabled = true;
249
- searchBar.setFocus = jest.fn();
250
- const page = await newSpecPage({
251
- components: [Menu, IcInputComponentContainer],
252
- template: () => (h("ic-menu", { open: true, activationType: "automatic", options: searchMenuOptions, menuId: "menu-id", inputLabel: "input-label", inputEl: input, anchorEl: searchBar, value: searchMenuOptions[0].value, parentEl: searchBar })),
253
- });
254
- const eventSpy = jest.fn();
255
- page.root.addEventListener("menuOptionId", eventSpy);
256
- page.root.addEventListener("menuOptionSelect", eventSpy);
257
- page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("ArrowUp"));
258
- await page.waitForChanges();
259
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
260
- detail: expect.objectContaining({
261
- optionId: menuIdMocha,
262
- }),
263
- }));
264
- page.rootInstance.setHighlightedOption(3);
265
- await page.waitForChanges();
266
- page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("ArrowUp"));
267
- await page.waitForChanges();
268
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
269
- detail: expect.objectContaining({
270
- optionId: "menu-id-flatwhite",
271
- }),
272
- }));
273
- page.rootInstance.setHighlightedOption(0);
274
- await page.waitForChanges();
275
- page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("ArrowDown"));
276
- await page.waitForChanges();
277
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
278
- detail: expect.objectContaining({
279
- optionId: "menu-id-doubleespresso",
280
- }),
281
- }));
282
- page.rootInstance.setHighlightedOption(8);
283
- await page.waitForChanges();
284
- page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("ArrowDown"));
285
- await page.waitForChanges();
286
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
287
- detail: expect.objectContaining({
288
- optionId: menuIdEspresso,
289
- }),
290
- }));
291
- page.rootInstance.setHighlightedOption(2);
292
- await page.waitForChanges();
293
- page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("Enter"));
294
- await page.waitForChanges();
295
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
296
- detail: expect.objectContaining({
297
- value: "flatwhite",
298
- }),
299
- }));
300
- page.rootInstance.setHighlightedOption(2);
301
- await page.waitForChanges();
302
- const eventSpy2 = jest.fn();
303
- page.root.addEventListener("menuOptionId", eventSpy2);
304
- page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("ArrowDown"));
305
- await page.waitForChanges();
306
- expect(eventSpy2).toHaveBeenCalledWith(expect.objectContaining({
307
- detail: expect.objectContaining({
308
- optionId: "menu-id-cappuccino",
309
- }),
310
- }));
311
- page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("Enter"));
312
- await page.waitForChanges();
313
- expect(page.rootInstance.disabledOptionSelected).toBe(true);
314
- page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("Escape"));
315
- await page.waitForChanges();
316
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
317
- detail: expect.objectContaining({
318
- optionId: undefined,
319
- }),
320
- }));
321
- page.rootInstance.preventIncorrectTabOrder = false;
322
- await page.waitForChanges();
323
- page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("Shift"));
324
- await page.waitForChanges();
325
- expect(page.rootInstance.preventIncorrectTabOrder).toBe(true);
326
- page.rootInstance.preventIncorrectTabOrder = false;
327
- await page.waitForChanges();
328
- page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("Tab"));
329
- await page.waitForChanges();
330
- expect(page.rootInstance.preventIncorrectTabOrder).toBe(true);
331
- page.rootInstance.preventIncorrectTabOrder = false;
332
- page.rootInstance.isSearchBar = true;
333
- page.rootInstance.setHighlightedOption(4);
334
- page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("Backspace"));
335
- await page.waitForChanges();
336
- expect(page.rootInstance.optionHighlighted).toBe("espresso");
337
- page.rootInstance.setHighlightedOption(6);
338
- await page.waitForChanges();
339
- page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("KeyF"));
340
- await page.waitForChanges();
341
- expect(page.rootInstance.optionHighlighted).toBe("espresso");
342
- page.rootInstance.setHighlightedOption(2);
343
- await page.waitForChanges();
344
- page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("Home"));
345
- await page.waitForChanges();
346
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
347
- detail: expect.objectContaining({
348
- optionId: menuIdEspresso,
349
- }),
350
- }));
351
- await page.waitForChanges();
352
- page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("End"));
353
- await page.waitForChanges();
354
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
355
- detail: expect.objectContaining({
356
- optionId: menuIdMocha,
357
- }),
358
- }));
359
- });
360
- it("should test manualSetInputValueKeyboardOpen function when searchable select", async () => {
361
- const searchableSelect = window.document.createElement("IC-SELECT");
362
- const input = window.document.createElement("input");
363
- searchableSelect.setFocus = jest.fn();
364
- searchableSelect.searchable = true;
365
- const page = await newSpecPage({
366
- components: [Menu, IcInputComponentContainer],
367
- template: () => (h("ic-menu", { open: true, activationType: "automatic", options: menuOptions, menuId: "menu-id", inputLabel: "input-label", inputEl: input, anchorEl: searchableSelect, value: menuOptions[0].value, parentEl: searchableSelect })),
368
- });
369
- page.rootInstance.isSearchableSelect = true;
370
- page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("Backspace"));
371
- await page.waitForChanges();
372
- expect(searchableSelect.setFocus).toHaveBeenCalled();
373
- });
374
- it("should test manualSetInputValueKeyboardOpen function when searchbar", async () => {
375
- const select = window.document.createElement("IC-SELECT");
376
- const input = window.document.createElement("input");
377
- select.setFocus = jest.fn();
378
- const page = await newSpecPage({
379
- components: [Menu, IcInputComponentContainer],
380
- template: () => (h("ic-menu", { open: true, activationType: "automatic", options: menuOptions, menuId: "menu-id", inputLabel: "input-label", inputEl: input, anchorEl: select, value: menuOptions[0].value, parentEl: select })),
381
- });
382
- page.rootInstance.isSearchBar = true;
383
- page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("Backspace"));
384
- await page.waitForChanges();
385
- expect(select.setFocus).toHaveBeenCalled();
386
- });
387
- it("should test manualSetInputValueKeyboardOpen function when default parameter passed", async () => {
388
- const select = window.document.createElement("IC-SELECT");
389
- const input = window.document.createElement("input");
390
- select.setFocus = jest.fn();
391
- const page = await newSpecPage({
392
- components: [Menu, IcInputComponentContainer],
393
- template: () => (h("ic-menu", { open: true, activationType: "automatic", options: menuOptions, menuId: "menu-id", inputLabel: "input-label", inputEl: input, anchorEl: select, value: menuOptions[0].value, parentEl: select })),
394
- });
395
- page.rootInstance.isSearchBar = false;
396
- page.rootInstance.isSearchableSelect = true;
397
- page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("KeyR"));
398
- await page.waitForChanges();
399
- expect(page.rootInstance.value).toBe(menuOptions[0].value);
400
- });
401
- it("should test manualSetInputValueKeyboardOpen function when multi-select", async () => {
402
- const multiSelect = window.document.createElement("IC-SELECT");
403
- const input = window.document.createElement("input");
404
- const page = await newSpecPage({
405
- components: [Menu, IcInputComponentContainer],
406
- template: () => (h("ic-menu", { open: true, activationType: "automatic", options: menuOptions, menuId: "menu-id", inputLabel: "input-label", inputEl: input, anchorEl: multiSelect, value: menuOptions[0].value, parentEl: multiSelect })),
407
- });
408
- jest
409
- .spyOn(page.rootInstance, "selectHighlightedOption")
410
- .mockImplementation();
411
- jest
412
- .spyOn(page.rootInstance, "getMenuOptions")
413
- .mockImplementation(() => menuOptions);
414
- page.rootInstance.isMultiSelect = true;
415
- await page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent(" "));
416
- await page.waitForChanges();
417
- expect(page.rootInstance.selectHighlightedOption).toHaveBeenCalledWith({
418
- id: "key-id",
419
- }, menuOptions, -1);
420
- jest.spyOn(page.rootInstance, "setHighlightedOption").mockImplementation();
421
- page.rootInstance.multiOptionClicked = menuOptions[0].value;
422
- await page.waitForChanges();
423
- await page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("ArrowDown"));
424
- await page.waitForChanges();
425
- expect(page.rootInstance.setHighlightedOption).toHaveBeenCalledWith(0);
426
- expect(page.rootInstance.multiOptionClicked).toBe(null);
427
- page.rootInstance.multiOptionClicked = menuOptions[0].value;
428
- await page.waitForChanges();
429
- await page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("ArrowUp"));
430
- await page.waitForChanges();
431
- expect(page.rootInstance.setHighlightedOption).toHaveBeenCalledWith(0);
432
- expect(page.rootInstance.multiOptionClicked).toBe(null);
433
- jest.spyOn(page.rootInstance, "emitSelectAll").mockImplementation();
434
- jest.spyOn(helpers, "isMacDevice").mockImplementation(() => true);
435
- await page.rootInstance.manualSetInputValueKeyboardOpen({
436
- key: "a",
437
- preventDefault: () => null,
438
- stopImmediatePropagation: () => null,
439
- metaKey: true,
440
- target: {
441
- id: "key-id",
442
- },
443
- });
444
- await page.waitForChanges();
445
- expect(page.rootInstance.emitSelectAll).toHaveBeenCalled();
446
- jest.spyOn(helpers, "isMacDevice").mockImplementation(() => false);
447
- await page.rootInstance.manualSetInputValueKeyboardOpen({
448
- key: "a",
449
- preventDefault: () => null,
450
- stopImmediatePropagation: () => null,
451
- ctrlKey: true,
452
- target: {
453
- id: "key-id",
454
- },
455
- });
456
- await page.waitForChanges();
457
- expect(page.rootInstance.emitSelectAll).toHaveBeenCalledTimes(2);
458
- page.rootInstance.optionHighlighted = "doubleespresso";
459
- page.rootInstance.multiOptionClicked = null;
460
- await page.rootInstance.manualSetInputValueKeyboardOpen({
461
- key: "ArrowDown",
462
- preventDefault: () => null,
463
- stopImmediatePropagation: () => null,
464
- shiftKey: true,
465
- target: {
466
- id: "key-id",
467
- },
468
- });
469
- await page.waitForChanges();
470
- expect(page.rootInstance.selectHighlightedOption).toHaveBeenCalledWith({
471
- id: "key-id",
472
- }, menuOptions, 1);
473
- const eventSpy = jest.fn();
474
- page.rootInstance.selectAllButton.addEventListener("focus", eventSpy);
475
- await page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("Tab"));
476
- await page.waitForChanges();
477
- expect(eventSpy).toHaveBeenCalled();
478
- expect(page.rootInstance.menu.tabIndex).toBe(-1);
479
- expect(page.rootInstance.preventClickOpen).toBe(true);
480
- expect(page.rootInstance.optionHighlighted).toBe(undefined);
481
- });
482
- it("should test manualSetInputValueKeyboardOpen function when select on enter", async () => {
483
- const select = window.document.createElement("IC-SELECT");
484
- const input = window.document.createElement("input");
485
- select.selectOnEnter = true;
486
- const page = await newSpecPage({
487
- components: [Menu, IcInputComponentContainer],
488
- template: () => (h("ic-menu", { open: true, activationType: "automatic", options: menuOptions, menuId: "menu-id", inputLabel: "input-label", inputEl: input, anchorEl: select, value: menuOptions[0].value, parentEl: select })),
489
- });
490
- const eventSpy = jest.fn();
491
- page.root.addEventListener("menuOptionSelect", eventSpy);
492
- page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("ArrowDown"));
493
- await page.waitForChanges();
494
- expect(eventSpy).not.toHaveBeenCalled();
495
- page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("Enter"));
496
- await page.waitForChanges();
497
- expect(eventSpy).toHaveBeenCalled();
498
- });
499
- it("should test setInputValue function when default parameter passed", async () => {
500
- const select = window.document.createElement("IC-SELECT");
501
- const input = window.document.createElement("input");
502
- select.setFocus = jest.fn();
503
- const page = await newSpecPage({
504
- components: [Menu, IcInputComponentContainer],
505
- template: () => (h("ic-menu", { open: true, activationType: "automatic", options: menuOptions, menuId: "menu-id", inputLabel: "input-label", inputEl: input, anchorEl: select, value: menuOptions[0].value, parentEl: select })),
506
- });
507
- page.rootInstance.hasTimedOut = true;
508
- page.rootInstance.setInputValue(35);
509
- await page.waitForChanges();
510
- expect(select.setFocus).toHaveBeenCalled();
511
- });
512
- it("should test handleSubmitSearch function", async () => {
513
- const page = await createMenu();
514
- const eventSpy = jest.fn();
515
- page.root.addEventListener("menuOptionSelect", eventSpy);
516
- page.rootInstance.optionHighlighted = "americano";
517
- await page.waitForChanges();
518
- const event = new CustomEvent("icSubmitSearch", {
519
- detail: {
520
- value: "americano",
521
- },
522
- });
523
- page.root.parentEl.dispatchEvent(event);
524
- await page.waitForChanges();
525
- page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent("Enter"));
526
- await page.waitForChanges();
527
- expect(eventSpy).toHaveBeenCalled();
528
- });
529
- it("should test handleSetFirstOption function", async () => {
530
- const page = await createMenu();
531
- const eventSpy = jest.fn();
532
- page.root.addEventListener("menuOptionSelect", eventSpy);
533
- page.root.options = menuOptions;
534
- await page.waitForChanges();
535
- page.rootInstance.optionHighlighted = "americano";
536
- await page.waitForChanges();
537
- await page.rootInstance.handleSetFirstOption();
538
- await page.waitForChanges();
539
- page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent("Enter"));
540
- await page.waitForChanges();
541
- expect(page.rootInstance.optionHighlighted).toBe("espresso");
542
- });
543
- it("should test handleClearListener function", async () => {
544
- const page = await createMenu();
545
- const eventSpy = jest.fn();
546
- page.root.addEventListener("menuOptionSelect", eventSpy);
547
- page.rootInstance.optionHighlighted = "americano";
548
- await page.waitForChanges();
549
- await page.rootInstance.handleClearListener();
550
- await page.waitForChanges();
551
- expect(page.rootInstance.optionHighlighted).toBe("");
552
- });
553
- it("should test handleOptionClick function", async () => {
554
- const page = await createMenu();
555
- const eventSpy = jest.fn();
556
- page.root.addEventListener("menuOptionSelect", eventSpy);
557
- const el = page.rootInstance.menu.childNodes[1];
558
- const event = { target: el, shiftKey: false };
559
- await page.waitForChanges();
560
- page.rootInstance.handleOptionClick(event);
561
- await page.waitForChanges();
562
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
563
- detail: {
564
- value: "doubleespresso",
565
- label: "Double Espresso",
566
- },
567
- }));
568
- page.rootInstance.isMultiSelect = true;
569
- await page.waitForChanges();
570
- await page.rootInstance.handleOptionClick(event);
571
- expect(page.rootInstance.multiOptionClicked).toBe("doubleespresso");
572
- page.rootInstance.value = ["espresso", "flatwhite", "cappuccino"];
573
- page.rootInstance.isMultiSelect = true;
574
- page.rootInstance.multiOptionClicked = null;
575
- event.shiftKey = true;
576
- await page.waitForChanges();
577
- await page.rootInstance.handleOptionClick(event);
578
- expect(page.rootInstance.multiOptionClicked).toBe("doubleespresso");
579
- });
580
- it("should test handleBlur function", async () => {
581
- const page = await createMenu();
582
- const eventSpy = jest.fn();
583
- const event = new FocusEvent("blur");
584
- page.root.addEventListener("menuStateChange", eventSpy);
585
- page.rootInstance.handleBlur(event);
586
- await page.waitForChanges();
587
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
588
- detail: {
589
- open: false,
590
- focusInput: false,
591
- },
592
- }));
593
- const inputEl = page.root.inputEl;
594
- const eventTwo = new FocusEvent("blur", { relatedTarget: inputEl });
595
- page.rootInstance.handleBlur(eventTwo);
596
- await page.waitForChanges();
597
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
598
- detail: {
599
- open: false,
600
- focusInput: undefined,
601
- },
602
- }));
603
- });
604
- it("should test handleMouseDown function", async () => {
605
- const page = await createMenu();
606
- const eventSpy = jest.fn();
607
- page.root.addEventListener("preventDefault", eventSpy);
608
- const event = new Event("click");
609
- event.preventDefault = eventSpy;
610
- await page.waitForChanges();
611
- page.rootInstance.handleMouseDown(event);
612
- await page.waitForChanges();
613
- expect(eventSpy).toHaveBeenCalled();
614
- });
615
- it("should test handleMenuKeyDown function", async () => {
616
- const page = await createMenu();
617
- const eventSpy = jest.fn();
618
- page.root.addEventListener("menuOptionSelect", eventSpy);
619
- page.rootInstance.handleMenuKeyDown(keyboardEvent("ArrowDown"));
620
- await page.waitForChanges();
621
- page.rootInstance.handleMenuKeyDown(keyboardEvent("ArrowDown"));
622
- await page.waitForChanges();
623
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
624
- detail: expect.objectContaining({
625
- value: "doubleespresso",
626
- }),
627
- }));
628
- });
629
- it("should test searchMode=`query", async () => {
630
- const page = await createMenu();
631
- page.rootInstance.searchMode = "query";
632
- await page.waitForChanges();
633
- page.rootInstance.handleMenuKeyDown(keyboardEvent("F"));
634
- expect(page.rootInstance.optionHighlighted).toBeUndefined;
635
- });
636
- it("should test handleMenuKeyDown function as searchableSelect", async () => {
637
- const page = await createMenu();
638
- page.rootInstance.activationType = "manual";
639
- page.rootInstance.isSearchableSelect = true;
640
- const eventSpy = jest.fn();
641
- page.root.addEventListener("menuOptionId", eventSpy);
642
- page.rootInstance.handleMenuKeyDown(keyboardEvent("ArrowDown"));
643
- await page.waitForChanges();
644
- expect(eventSpy).toHaveBeenCalled();
645
- });
646
- it("should test handleRetry function", async () => {
647
- const page = await createMenu();
648
- const eventSpy = jest.fn();
649
- page.root.addEventListener("retryButtonClicked", eventSpy);
650
- page.rootInstance.handleRetry();
651
- await page.waitForChanges();
652
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
653
- detail: expect.objectContaining({
654
- value: "espresso",
655
- }),
656
- }));
657
- });
658
- it("should test handleRetryKeyDown function", async () => {
659
- const page = await createMenu();
660
- const eventSpy = jest.fn();
661
- page.root.addEventListener("retryButtonClicked", eventSpy);
662
- page.rootInstance.handleRetryKeyDown(keyboardEvent("Enter"));
663
- await page.waitForChanges();
664
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
665
- detail: expect.objectContaining({
666
- value: "espresso",
667
- keyPressed: "Enter",
668
- }),
669
- }));
670
- });
671
- it("should test autoSetValueOnMenuKeyDown - Shift - function", async () => {
672
- const page = await createMenu();
673
- const inputEl = page.rootInstance.inputEl;
674
- const eventSpy = jest.fn();
675
- page.root.addEventListener("menuOptionSelect", eventSpy);
676
- inputEl.addEventListener("focus", eventSpy);
677
- await page.waitForChanges();
678
- await page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent("Shift"));
679
- await page.waitForChanges();
680
- expect(eventSpy).not.toHaveBeenCalled();
681
- });
682
- it("should test autoSetValueOnMenuKeyDown function", async () => {
683
- const page = await createMenu();
684
- const inputEl = page.rootInstance.inputEl;
685
- const eventSpy = jest.fn();
686
- page.root.addEventListener("menuOptionSelect", eventSpy);
687
- inputEl.addEventListener("focus", eventSpy);
688
- page.root.addEventListener("menuStateChange", eventSpy);
689
- page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent("ArrowUp"));
690
- await page.waitForChanges();
691
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
692
- detail: expect.objectContaining({
693
- value: "mocha",
694
- }),
695
- }));
696
- page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent("End"));
697
- await page.waitForChanges();
698
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
699
- detail: expect.objectContaining({
700
- value: "mocha",
701
- }),
702
- }));
703
- page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent("Backspace"));
704
- await page.waitForChanges();
705
- expect(eventSpy).toHaveBeenCalled();
706
- page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent("d"));
707
- await page.waitForChanges();
708
- expect(eventSpy).toHaveBeenCalledTimes(4);
709
- const preDef = jest.fn();
710
- const spaceKey = {
711
- key: ` `,
712
- preventDefault: preDef,
713
- shiftKey: false,
714
- target: {
715
- id: "key-id",
716
- },
717
- };
718
- await page.rootInstance.autoSetValueOnMenuKeyDown(spaceKey);
719
- await page.waitForChanges();
720
- expect(spaceKey.preventDefault).toHaveBeenCalled();
721
- page.rootInstance.autoSetValueOnMenuKeyDown(keyboardEvent("Escape"));
722
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
723
- detail: expect.objectContaining({
724
- open: false,
725
- focusInput: undefined,
726
- }),
727
- }));
728
- });
729
- it("should test handleMenukeyUp function", async () => {
730
- const page = await createMenu();
731
- page.rootInstance.preventClickOpen = true;
732
- let key = keyboardEvent("Tab");
733
- key.shiftKey = true;
734
- await page.waitForChanges();
735
- page.rootInstance.handleMenuKeyUp(key);
736
- await page.waitForChanges();
737
- expect(page.rootInstance.preventClickOpen).toBe(false);
738
- page.rootInstance.disabledOptionSelected = true;
739
- key = keyboardEvent("Enter");
740
- await page.waitForChanges();
741
- page.rootInstance.handleMenuKeyUp(key);
742
- await page.waitForChanges();
743
- expect(page.rootInstance.disabledOptionSelected).toBe(false);
744
- key = keyboardEvent("Shift");
745
- await page.waitForChanges();
746
- page.rootInstance.handleMenuKeyUp(key);
747
- await page.waitForChanges();
748
- expect(page.rootInstance.shiftPressed).toBe(false);
749
- });
750
- it("should test connectedCallback function", async () => {
751
- const searchBar = window.document.createElement(IcSearchBar);
752
- const input = window.document.createElement("input");
753
- const page = await newSpecPage({
754
- components: [Menu, IcInputComponentContainer],
755
- template: () => (h("ic-menu", { open: true, activationType: "automatic", options: menuOptions, menuId: "menu-id", inputLabel: "input-label", inputEl: input, anchorEl: searchBar, value: menuOptions[0].value, parentEl: searchBar })),
756
- });
757
- expect(page.rootInstance.optionHighlighted).toBe("espresso");
758
- });
759
- it("should test disconnectedCallback function", async () => {
760
- const page = await createMenu();
761
- await page.waitForChanges();
762
- expect(page.rootInstance.parentEl.__listeners[1].type).toBe("icSubmitSearch");
763
- page.rootInstance.disconnectedCallback();
764
- await page.waitForChanges();
765
- expect(page.rootInstance.parentEl.__listeners.length).toBe(0);
766
- });
767
- it("should test componentDidLoad function", async () => {
768
- const searchBar = window.document.createElement(IcSearchBar);
769
- const input = window.document.createElement("input");
770
- searchBar.disableAutoFiltering = true;
771
- const page = await newSpecPage({
772
- components: [Menu, IcInputComponentContainer],
773
- template: () => (h("ic-menu", { open: true, activationType: "automatic", options: menuOptions, menuId: "menu-id", inputLabel: "input-label", inputEl: input, anchorEl: searchBar, value: menuOptions[0].value, parentEl: searchBar })),
774
- });
775
- page.rootInstance.focusFromSearchKeypress = false;
776
- page.rootInstance.componentDidLoad();
777
- await page.waitForChanges();
778
- expect(page.rootInstance.focusFromSearchKeypress).toBe(true);
779
- });
780
- it("should test getParentEl function", async () => {
781
- const select = window.document.createElement("ic-select");
782
- select.searchable = true;
783
- select.setAttribute("searchable", "true");
784
- const page = await createMenu();
785
- page.rootInstance.getParentEl(select);
786
- await page.waitForChanges();
787
- expect(page.rootInstance.isSearchableSelect).toBe(true);
788
- });
789
- it("should test handleTimeoutBlur function", async () => {
790
- const page = await createMenu();
791
- const eventSpy = jest.fn();
792
- page.root.addEventListener("timeoutBlur", eventSpy);
793
- const event = new FocusEvent("blur");
794
- page.rootInstance.handleTimeoutBlur(event);
795
- await page.waitForChanges();
796
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
797
- detail: expect.objectContaining({
798
- ev: expect.objectContaining({
799
- type: "blur",
800
- }),
801
- }),
802
- }));
803
- });
804
- it("should test handleMenuChange function when multi-select", async () => {
805
- const page = await createMenu();
806
- page.rootInstance.optionHighlighted = "espresso";
807
- page.rootInstance.isMultiSelect = true;
808
- await page.waitForChanges();
809
- expect(page.rootInstance.optionHighlighted).toBe("espresso");
810
- await page.rootInstance.handleMenuChange(false);
811
- await page.waitForChanges();
812
- expect(page.rootInstance.optionHighlighted).toBe(undefined);
813
- });
814
- it("should test selectHighlightedOption function when multi-select", async () => {
815
- const page = await createMenu();
816
- page.rootInstance.open = false;
817
- page.rootInstance.isMultiSelect = true;
818
- jest.spyOn(page.rootInstance, "handleMenuChange").mockImplementation();
819
- await page.waitForChanges();
820
- await page.rootInstance.selectHighlightedOption({ target: "test-id" }, menuOptions, 0);
821
- await page.waitForChanges();
822
- expect(page.rootInstance.handleMenuChange).toHaveBeenCalledWith(true);
823
- });
824
- it("should test selectHighlightedOption function when multi-select", async () => {
825
- const page = await createMenu();
826
- page.rootInstance.open = false;
827
- page.rootInstance.isMultiSelect = true;
828
- jest.spyOn(page.rootInstance, "handleMenuChange").mockImplementation();
829
- await page.waitForChanges();
830
- await page.rootInstance.selectHighlightedOption({ target: "test-id" }, menuOptions, 0);
831
- await page.waitForChanges();
832
- expect(page.rootInstance.handleMenuChange).toHaveBeenCalledWith(true);
833
- });
834
- it("should test handleSelectAllClick function", async () => {
835
- const page = await createMenu();
836
- page.rootInstance.menu.tabIndex = -1;
837
- const eventSpy = jest.fn();
838
- page.rootInstance.menu.addEventListener("focus", eventSpy);
839
- jest.spyOn(page.rootInstance, "emitSelectAll").mockImplementation();
840
- await page.rootInstance.handleSelectAllClick();
841
- expect(eventSpy).toHaveBeenCalled();
842
- expect(page.rootInstance.emitSelectAll).toHaveBeenCalled();
843
- });
844
- it("should test handleSelectAllBlur function", async () => {
845
- const multiSelect = window.document.createElement("IC-SELECT");
846
- const input = window.document.createElement("input");
847
- const page = await newSpecPage({
848
- components: [Menu, IcInputComponentContainer],
849
- template: () => (h("ic-menu", { open: true, activationType: "automatic", options: menuOptions, menuId: "menu-id", inputLabel: "input-label", inputEl: input, anchorEl: multiSelect, value: menuOptions[0].value, parentEl: multiSelect })),
850
- });
851
- jest.spyOn(page.rootInstance, "handleMenuChange").mockImplementation();
852
- const option = await page.root.querySelector("li");
853
- await page.rootInstance.handleSelectAllBlur({ relatedTarget: option });
854
- await page.waitForChanges();
855
- expect(page.rootInstance.handleMenuChange).not.toHaveBeenCalled();
856
- await page.rootInstance.handleSelectAllBlur({ relatedTarget: input });
857
- await page.waitForChanges();
858
- expect(page.rootInstance.handleMenuChange).toHaveBeenCalledWith(false, false);
859
- });
860
- it("should test handleSelectAllFocus function", async () => {
861
- const page = await createMenu();
862
- await page.rootInstance.handleSelectAllFocus();
863
- expect(page.root).toMatchSnapshot();
864
- });
865
- it("should test emitSelectAll function", async () => {
866
- const page = await createMenu();
867
- const eventSpy = jest.fn();
868
- page.root.addEventListener("menuOptionSelectAll", eventSpy);
869
- await page.rootInstance.emitSelectAll();
870
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
871
- detail: expect.objectContaining({
872
- select: true,
873
- }),
874
- }));
875
- page.rootInstance.value = ["espresso"];
876
- await page.waitForChanges();
877
- await page.rootInstance.emitSelectAll();
878
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
879
- detail: expect.objectContaining({
880
- select: true,
881
- }),
882
- }));
883
- page.rootInstance.value = [
884
- "espresso",
885
- "doubleespresso",
886
- "flatwhite",
887
- "cappuccino",
888
- "americano",
889
- "ameno",
890
- "green",
891
- "acano",
892
- "mocha",
893
- ];
894
- await page.waitForChanges();
895
- await page.rootInstance.emitSelectAll();
896
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
897
- detail: expect.objectContaining({
898
- select: false,
899
- }),
900
- }));
901
- });
902
- it("should test handleSelectAllMouseDown", async () => {
903
- const page = await createMenu();
904
- const eventSpy = jest.fn();
905
- page.root.addEventListener("preventDefault", eventSpy);
906
- const event = new Event("click");
907
- event.preventDefault = eventSpy;
908
- await page.rootInstance.handleSelectAllMouseDown(event);
909
- expect(eventSpy).toHaveBeenCalled();
910
- });
911
- it("tests deselection of options when pressing ArrowDown after Shift", async () => {
912
- const multiSelect = window.document.createElement("IC-SELECT");
913
- const input = window.document.createElement("input");
914
- const page = await newSpecPage({
915
- components: [Menu, IcInputComponentContainer],
916
- template: () => (h("ic-menu", { open: true, activationType: "automatic", options: menuOptions, menuId: "menu-id", inputLabel: "input-label", inputEl: input, anchorEl: multiSelect, value: menuOptions[0].value, parentEl: multiSelect })),
917
- });
918
- page.rootInstance.isMultiSelect = true;
919
- jest
920
- .spyOn(page.rootInstance, "deselectSelectedOptions")
921
- .mockImplementation();
922
- page.rootInstance.value = [
923
- "espresso",
924
- "doubleespresso",
925
- "flatwhite",
926
- "cappuccino",
927
- "americano",
928
- "ameno",
929
- "green",
930
- "acano",
931
- "mocha",
932
- ];
933
- await page.waitForChanges();
934
- await page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("Shift"));
935
- await page.waitForChanges();
936
- await page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("ArrowDown"));
937
- await page.waitForChanges();
938
- expect(page.rootInstance.deselectSelectedOptions).toHaveBeenCalledWith([
939
- -1, 0,
940
- ]);
941
- });
942
- it("tests deselection of options when pressing ArrowUp after Shift", async () => {
943
- const multiSelect = window.document.createElement("IC-SELECT");
944
- const input = window.document.createElement("input");
945
- const page = await newSpecPage({
946
- components: [Menu, IcInputComponentContainer],
947
- template: () => (h("ic-menu", { open: true, activationType: "automatic", options: menuOptions, menuId: "menu-id", inputLabel: "input-label", inputEl: input, anchorEl: multiSelect, value: menuOptions[0].value, parentEl: multiSelect })),
948
- });
949
- page.rootInstance.isMultiSelect = true;
950
- jest
951
- .spyOn(page.rootInstance, "deselectSelectedOptions")
952
- .mockImplementation();
953
- page.rootInstance.value = [
954
- "espresso",
955
- "doubleespresso",
956
- "flatwhite",
957
- "cappuccino",
958
- "americano",
959
- "ameno",
960
- "green",
961
- "acano",
962
- "mocha",
963
- ];
964
- await page.waitForChanges();
965
- await page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("Shift"));
966
- await page.waitForChanges();
967
- await page.rootInstance.manualSetInputValueKeyboardOpen(keyboardEvent("ArrowUp"));
968
- await page.waitForChanges();
969
- expect(page.rootInstance.deselectSelectedOptions).toHaveBeenCalledWith([
970
- -1, 8,
971
- ]);
972
- });
973
- it("tests selection of options when pressing Home or End with Shift & Ctrl", async () => {
974
- const multiSelect = window.document.createElement("IC-SELECT");
975
- const input = window.document.createElement("input");
976
- const page = await newSpecPage({
977
- components: [Menu, IcInputComponentContainer],
978
- template: () => (h("ic-menu", { open: true, activationType: "automatic", options: menuOptions, menuId: "menu-id", inputLabel: "input-label", inputEl: input, anchorEl: multiSelect, value: menuOptions[0].value, parentEl: multiSelect })),
979
- });
980
- page.rootInstance.isMultiSelect = true;
981
- jest
982
- .spyOn(page.rootInstance, "handleMultipleShiftSelect")
983
- .mockImplementation();
984
- page.rootInstance.value = [
985
- "espresso",
986
- "doubleespresso",
987
- "flatwhite",
988
- "cappuccino",
989
- "americano",
990
- "ameno",
991
- "green",
992
- "acano",
993
- "mocha",
994
- ];
995
- await page.waitForChanges();
996
- await page.rootInstance.manualSetInputValueKeyboardOpen({
997
- key: "End",
998
- preventDefault: () => null,
999
- stopImmediatePropagation: () => null,
1000
- ctrlKey: true,
1001
- shiftKey: true,
1002
- target: {
1003
- id: "key-id",
1004
- },
1005
- });
1006
- expect(page.rootInstance.handleMultipleShiftSelect).toHaveBeenCalledWith(8);
1007
- await page.rootInstance.manualSetInputValueKeyboardOpen({
1008
- key: "Home",
1009
- preventDefault: () => null,
1010
- stopImmediatePropagation: () => null,
1011
- ctrlKey: true,
1012
- shiftKey: true,
1013
- target: {
1014
- id: "key-id",
1015
- },
1016
- });
1017
- expect(page.rootInstance.handleMultipleShiftSelect).toHaveBeenCalledWith(0);
1018
- });
1019
- it("tests isOptionSelected", async () => {
1020
- const multiSelect = window.document.createElement("IC-SELECT");
1021
- const input = window.document.createElement("input");
1022
- const page = await newSpecPage({
1023
- components: [Menu, IcInputComponentContainer],
1024
- template: () => (h("ic-menu", { open: true, activationType: "automatic", options: menuOptions, menuId: "menu-id", inputLabel: "input-label", inputEl: input, anchorEl: multiSelect, value: menuOptions[0].value, parentEl: multiSelect })),
1025
- });
1026
- page.rootInstance.value = ["espresso", "doubleespresso"];
1027
- await page.waitForChanges();
1028
- let isSelected = await page.rootInstance.isOptionSelected([1]);
1029
- expect(isSelected).toBe(true);
1030
- isSelected = await page.rootInstance.isOptionSelected([3]);
1031
- expect(isSelected).toBe(false);
1032
- page.rootInstance.value = "";
1033
- await page.waitForChanges();
1034
- isSelected = await page.rootInstance.isOptionSelected([0]);
1035
- expect(isSelected).toBe(false);
1036
- });
1037
- it("tests handleMultipleShiftSelect with optional params using default values", async () => {
1038
- const multiSelect = window.document.createElement("IC-SELECT");
1039
- const input = window.document.createElement("input");
1040
- const page = await newSpecPage({
1041
- components: [Menu, IcInputComponentContainer],
1042
- template: () => (h("ic-menu", { open: true, activationType: "automatic", options: menuOptions, menuId: "menu-id", inputLabel: "input-label", inputEl: input, anchorEl: multiSelect, value: menuOptions[0].value, parentEl: multiSelect })),
1043
- });
1044
- page.rootInstance.value = ["espresso", "doubleespresso", "flatwhite"];
1045
- jest
1046
- .spyOn(page.rootInstance, "deselectSelectedOptions")
1047
- .mockImplementation();
1048
- page.rootInstance.lastOptionSelected = 1;
1049
- await page.waitForChanges();
1050
- page.rootInstance.handleMultipleShiftSelect(3);
1051
- await page.waitForChanges();
1052
- expect(page.rootInstance.deselectSelectedOptions).toHaveBeenCalledWith([
1053
- 1, 2, 3,
1054
- ]);
1055
- });
1056
- });
1057
- //# sourceMappingURL=ic-menu.spec.js.map