@ukic/web-components 2.1.0-beta.12 → 2.1.0-beta.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (376) hide show
  1. package/dist/cjs/core.cjs.js +2 -2
  2. package/dist/cjs/ic-alert.cjs.entry.js +1 -1
  3. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  4. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  6. package/dist/cjs/ic-button_3.cjs.entry.js +16 -5
  7. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-card.cjs.entry.js +2 -2
  9. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-checkbox-group.cjs.entry.js +14 -16
  11. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-checkbox.cjs.entry.js +9 -3
  13. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-chip.cjs.entry.js +1 -1
  15. package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
  16. package/dist/cjs/ic-data-entity.cjs.entry.js +1 -1
  17. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  18. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  19. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  20. package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
  21. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  22. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  23. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +145 -64
  25. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
  27. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-menu-item.cjs.entry.js +2 -2
  30. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
  33. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  34. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  35. package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
  36. package/dist/cjs/ic-pagination-item.cjs.entry.js +51 -0
  37. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -0
  38. package/dist/cjs/ic-pagination.cjs.entry.js +206 -0
  39. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -0
  40. package/dist/cjs/ic-popover-menu.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
  43. package/dist/cjs/ic-radio-option.cjs.entry.js +1 -1
  44. package/dist/cjs/ic-search-bar.cjs.entry.js +79 -12
  45. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-section-container.cjs.entry.js +1 -1
  47. package/dist/cjs/ic-select.cjs.entry.js +152 -44
  48. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-side-navigation.cjs.entry.js +11 -3
  50. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-skeleton.cjs.entry.js +1 -1
  52. package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
  53. package/dist/cjs/ic-step.cjs.entry.js +1 -1
  54. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  55. package/dist/cjs/ic-switch.cjs.entry.js +1 -1
  56. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  57. package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
  58. package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
  59. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  60. package/dist/cjs/ic-text-field.cjs.entry.js +18 -7
  61. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  63. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  64. package/dist/cjs/ic-toast.cjs.entry.js +1 -1
  65. package/dist/cjs/ic-top-navigation.cjs.entry.js +3 -5
  66. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  68. package/dist/cjs/{index-f79a4e53.js → index-a62312a7.js} +11 -1
  69. package/dist/cjs/index-a62312a7.js.map +1 -0
  70. package/dist/cjs/loader.cjs.js +2 -2
  71. package/dist/cjs/types-3eb02246.js.map +1 -1
  72. package/dist/collection/assets/pagination-first-last.svg +3 -0
  73. package/dist/collection/assets/pagination-next-previous.svg +3 -0
  74. package/dist/collection/collection-manifest.json +2 -0
  75. package/dist/collection/components/ic-button/ic-button.css +5 -1
  76. package/dist/collection/components/ic-card/ic-card.css +3 -0
  77. package/dist/collection/components/ic-checkbox/ic-checkbox.css +4 -1
  78. package/dist/collection/components/ic-checkbox/ic-checkbox.js +8 -1
  79. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  80. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +14 -20
  81. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  82. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.types.js.map +1 -1
  83. package/dist/collection/components/ic-menu/ic-menu.css +30 -1
  84. package/dist/collection/components/ic-menu/ic-menu.js +188 -63
  85. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  86. package/dist/collection/components/ic-menu-item/ic-menu-item.css +1 -6
  87. package/dist/collection/components/ic-pagination/ic-pagination.css +490 -0
  88. package/dist/collection/components/ic-pagination/ic-pagination.js +435 -0
  89. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -0
  90. package/dist/collection/components/ic-pagination/ic-pagination.test.a11y.js +11 -0
  91. package/dist/collection/components/ic-pagination/ic-pagination.test.a11y.js.map +1 -0
  92. package/dist/collection/components/ic-pagination/ic-pagination.types.js +2 -0
  93. package/dist/collection/components/ic-pagination/ic-pagination.types.js.map +1 -0
  94. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +581 -0
  95. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +225 -0
  96. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -0
  97. package/dist/collection/components/ic-pagination-item/ic-pagination-item.types.js +2 -0
  98. package/dist/collection/components/ic-pagination-item/ic-pagination-item.types.js.map +1 -0
  99. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +2 -1
  100. package/dist/collection/components/ic-search-bar/ic-search-bar.css +0 -4
  101. package/dist/collection/components/ic-search-bar/ic-search-bar.js +172 -11
  102. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  103. package/dist/collection/components/ic-select/ic-select.js +247 -44
  104. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  105. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +36 -16
  106. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +9 -1
  107. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  108. package/dist/collection/components/ic-text-field/ic-text-field.js +66 -12
  109. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  110. package/dist/collection/components/ic-tooltip/ic-tooltip.js +53 -4
  111. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  112. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +9 -0
  113. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +1 -3
  114. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  115. package/dist/collection/utils/types.js.map +1 -1
  116. package/dist/components/ic-button2.js +1 -1
  117. package/dist/components/ic-button2.js.map +1 -1
  118. package/dist/components/ic-card.js +1 -1
  119. package/dist/components/ic-card.js.map +1 -1
  120. package/dist/components/ic-checkbox-group.js +14 -17
  121. package/dist/components/ic-checkbox-group.js.map +1 -1
  122. package/dist/components/ic-checkbox.js +8 -2
  123. package/dist/components/ic-checkbox.js.map +1 -1
  124. package/dist/components/ic-menu-item2.js +1 -1
  125. package/dist/components/ic-menu-item2.js.map +1 -1
  126. package/dist/components/ic-menu2.js +164 -66
  127. package/dist/components/ic-menu2.js.map +1 -1
  128. package/dist/components/ic-pagination-item.d.ts +11 -0
  129. package/dist/components/ic-pagination-item.js +8 -0
  130. package/dist/components/ic-pagination-item.js.map +1 -0
  131. package/dist/components/ic-pagination-item2.js +77 -0
  132. package/dist/components/ic-pagination-item2.js.map +1 -0
  133. package/dist/components/ic-pagination.d.ts +11 -0
  134. package/dist/components/ic-pagination.js +266 -0
  135. package/dist/components/ic-pagination.js.map +1 -0
  136. package/dist/components/ic-popover-menu.js +1 -2
  137. package/dist/components/ic-popover-menu.js.map +1 -1
  138. package/dist/components/ic-search-bar.js +82 -12
  139. package/dist/components/ic-search-bar.js.map +1 -1
  140. package/dist/components/ic-select.js +157 -43
  141. package/dist/components/ic-select.js.map +1 -1
  142. package/dist/components/ic-side-navigation.js +10 -2
  143. package/dist/components/ic-side-navigation.js.map +1 -1
  144. package/dist/components/ic-text-field2.js +20 -8
  145. package/dist/components/ic-text-field2.js.map +1 -1
  146. package/dist/components/ic-tooltip2.js +1817 -8
  147. package/dist/components/ic-tooltip2.js.map +1 -1
  148. package/dist/components/ic-top-navigation.js +2 -4
  149. package/dist/components/ic-top-navigation.js.map +1 -1
  150. package/dist/components/index.d.ts +2 -0
  151. package/dist/components/index.js +2 -0
  152. package/dist/components/index.js.map +1 -1
  153. package/dist/components/types.js.map +1 -1
  154. package/dist/core/core.esm.js +1 -1
  155. package/dist/core/core.esm.js.map +1 -1
  156. package/dist/core/{p-0f0dfa16.entry.js → p-002a63e9.entry.js} +2 -2
  157. package/dist/core/{p-759c80a3.entry.js → p-0575a77f.entry.js} +2 -2
  158. package/dist/core/{p-3453aa9c.entry.js → p-0a41c3cb.entry.js} +2 -2
  159. package/dist/core/{p-b7fc1f35.entry.js → p-100dbcec.entry.js} +2 -2
  160. package/dist/core/{p-1bd4d07e.entry.js → p-14835d6f.entry.js} +2 -2
  161. package/dist/core/{p-28b2158b.entry.js → p-1eb0992b.entry.js} +2 -2
  162. package/dist/core/{p-62b3516e.entry.js → p-223a214f.entry.js} +2 -2
  163. package/dist/core/{p-dd71a986.entry.js → p-276f7ecb.entry.js} +2 -2
  164. package/dist/core/{p-3d84a743.entry.js → p-28bc3bf0.entry.js} +2 -2
  165. package/dist/core/{p-8ffa00c9.entry.js → p-312c10b0.entry.js} +2 -2
  166. package/dist/core/p-3845b769.entry.js +2 -0
  167. package/dist/core/p-3845b769.entry.js.map +1 -0
  168. package/dist/core/{p-cc62d065.entry.js → p-3a67718c.entry.js} +2 -2
  169. package/dist/core/p-3c23f963.entry.js +2 -0
  170. package/dist/core/p-3c23f963.entry.js.map +1 -0
  171. package/dist/core/{p-74a768bc.entry.js → p-3dc2ff7b.entry.js} +2 -2
  172. package/dist/core/p-3e5eb873.entry.js +2 -0
  173. package/dist/core/p-3e5eb873.entry.js.map +1 -0
  174. package/dist/core/{p-58ff516f.entry.js → p-3fb307e6.entry.js} +2 -2
  175. package/dist/core/{p-d2508752.entry.js → p-454b1ecd.entry.js} +2 -2
  176. package/dist/core/{p-7e309c50.entry.js → p-47b0ed42.entry.js} +2 -2
  177. package/dist/core/{p-68c84039.entry.js → p-4b87445b.entry.js} +2 -2
  178. package/dist/core/p-4c8fcfe6.entry.js +2 -0
  179. package/dist/core/p-4c8fcfe6.entry.js.map +1 -0
  180. package/dist/core/p-52fd3533.entry.js +2 -0
  181. package/dist/core/p-52fd3533.entry.js.map +1 -0
  182. package/dist/core/{p-0a463a65.entry.js → p-546b620e.entry.js} +2 -2
  183. package/dist/core/p-56fe91ad.entry.js +2 -0
  184. package/dist/core/p-56fe91ad.entry.js.map +1 -0
  185. package/dist/core/{p-5450cebf.js → p-589f6dd3.js} +3 -3
  186. package/dist/core/p-589f6dd3.js.map +1 -0
  187. package/dist/core/{p-dc4ba6a0.entry.js → p-5d077cf7.entry.js} +2 -2
  188. package/dist/core/{p-8c9cc4d5.entry.js → p-6a77992e.entry.js} +2 -2
  189. package/dist/core/{p-d27dbb63.entry.js → p-6b39f8b4.entry.js} +2 -2
  190. package/dist/core/p-6f57b13c.js.map +1 -1
  191. package/dist/core/p-80eff050.entry.js +2 -0
  192. package/dist/core/p-80eff050.entry.js.map +1 -0
  193. package/dist/core/p-864b46bf.entry.js +2 -0
  194. package/dist/core/p-864b46bf.entry.js.map +1 -0
  195. package/dist/core/{p-9e578e82.entry.js → p-8780890e.entry.js} +2 -2
  196. package/dist/core/{p-ff15c756.entry.js → p-895bda21.entry.js} +2 -2
  197. package/dist/core/{p-08535d97.entry.js → p-92c4fa7f.entry.js} +2 -2
  198. package/dist/core/{p-41459307.entry.js → p-9413d639.entry.js} +2 -2
  199. package/dist/core/{p-e17eea34.entry.js → p-a0f4e641.entry.js} +2 -2
  200. package/dist/core/{p-4d8392fe.entry.js → p-a33a04b2.entry.js} +2 -2
  201. package/dist/core/{p-65b94ddb.entry.js → p-a5bee11f.entry.js} +2 -2
  202. package/dist/core/{p-eeefddb5.entry.js → p-b61e76e2.entry.js} +2 -2
  203. package/dist/core/p-b61e76e2.entry.js.map +1 -0
  204. package/dist/core/p-c0813424.entry.js +2 -0
  205. package/dist/core/p-c0813424.entry.js.map +1 -0
  206. package/dist/core/{p-b5b03f86.entry.js → p-cb437317.entry.js} +2 -2
  207. package/dist/core/p-d5d9923a.entry.js +2 -0
  208. package/dist/core/p-d5d9923a.entry.js.map +1 -0
  209. package/dist/core/{p-f777679c.entry.js → p-db7131b6.entry.js} +2 -2
  210. package/dist/core/{p-6c9ce0ec.entry.js → p-dc0b9e80.entry.js} +2 -2
  211. package/dist/core/{p-1e0174dc.entry.js → p-de45134c.entry.js} +2 -2
  212. package/dist/core/{p-9daae2ae.entry.js → p-de891d3d.entry.js} +2 -2
  213. package/dist/core/p-e0f24ccd.entry.js +2 -0
  214. package/dist/core/p-e0f24ccd.entry.js.map +1 -0
  215. package/dist/core/{p-741b4ea3.entry.js → p-e384aaee.entry.js} +2 -2
  216. package/dist/core/{p-977af213.entry.js → p-e41e701a.entry.js} +2 -2
  217. package/dist/core/{p-deada16f.entry.js → p-e839e5dc.entry.js} +2 -2
  218. package/dist/core/{p-186ecccd.entry.js → p-ea526b54.entry.js} +2 -2
  219. package/dist/core/{p-eb7599cc.entry.js → p-ec8b228c.entry.js} +2 -2
  220. package/dist/core/{p-eb7599cc.entry.js.map → p-ec8b228c.entry.js.map} +1 -1
  221. package/dist/core/{p-4269584a.entry.js → p-f3e10149.entry.js} +2 -2
  222. package/dist/core/{p-ad2477d8.entry.js → p-fc7dce3d.entry.js} +2 -2
  223. package/dist/core/p-ff6583e6.entry.js +2 -0
  224. package/dist/core/p-ff6583e6.entry.js.map +1 -0
  225. package/dist/esm/core.js +2 -2
  226. package/dist/esm/ic-alert.entry.js +1 -1
  227. package/dist/esm/ic-back-to-top.entry.js +1 -1
  228. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  229. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  230. package/dist/esm/ic-button_3.entry.js +16 -5
  231. package/dist/esm/ic-button_3.entry.js.map +1 -1
  232. package/dist/esm/ic-card.entry.js +2 -2
  233. package/dist/esm/ic-card.entry.js.map +1 -1
  234. package/dist/esm/ic-checkbox-group.entry.js +14 -16
  235. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  236. package/dist/esm/ic-checkbox.entry.js +9 -3
  237. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  238. package/dist/esm/ic-chip.entry.js +1 -1
  239. package/dist/esm/ic-classification-banner.entry.js +1 -1
  240. package/dist/esm/ic-data-entity.entry.js +1 -1
  241. package/dist/esm/ic-data-row.entry.js +1 -1
  242. package/dist/esm/ic-divider.entry.js +1 -1
  243. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  244. package/dist/esm/ic-footer-link.entry.js +1 -1
  245. package/dist/esm/ic-footer.entry.js +1 -1
  246. package/dist/esm/ic-hero.entry.js +1 -1
  247. package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
  248. package/dist/esm/ic-input-component-container_3.entry.js +145 -64
  249. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  250. package/dist/esm/ic-input-label_2.entry.js +1 -1
  251. package/dist/esm/ic-link.entry.js +1 -1
  252. package/dist/esm/ic-menu-group.entry.js +1 -1
  253. package/dist/esm/ic-menu-item.entry.js +2 -2
  254. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  255. package/dist/esm/ic-navigation-button.entry.js +1 -1
  256. package/dist/esm/ic-navigation-group.entry.js +1 -1
  257. package/dist/esm/ic-navigation-item.entry.js +1 -1
  258. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  259. package/dist/esm/ic-page-header.entry.js +1 -1
  260. package/dist/esm/ic-pagination-item.entry.js +47 -0
  261. package/dist/esm/ic-pagination-item.entry.js.map +1 -0
  262. package/dist/esm/ic-pagination.entry.js +202 -0
  263. package/dist/esm/ic-pagination.entry.js.map +1 -0
  264. package/dist/esm/ic-popover-menu.entry.js +1 -1
  265. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  266. package/dist/esm/ic-radio-group.entry.js +1 -1
  267. package/dist/esm/ic-radio-option.entry.js +1 -1
  268. package/dist/esm/ic-search-bar.entry.js +79 -12
  269. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  270. package/dist/esm/ic-section-container.entry.js +1 -1
  271. package/dist/esm/ic-select.entry.js +152 -44
  272. package/dist/esm/ic-select.entry.js.map +1 -1
  273. package/dist/esm/ic-side-navigation.entry.js +11 -3
  274. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  275. package/dist/esm/ic-skeleton.entry.js +1 -1
  276. package/dist/esm/ic-status-tag.entry.js +1 -1
  277. package/dist/esm/ic-step.entry.js +1 -1
  278. package/dist/esm/ic-stepper.entry.js +1 -1
  279. package/dist/esm/ic-switch.entry.js +1 -1
  280. package/dist/esm/ic-tab-context.entry.js +1 -1
  281. package/dist/esm/ic-tab-group.entry.js +1 -1
  282. package/dist/esm/ic-tab-panel.entry.js +1 -1
  283. package/dist/esm/ic-tab.entry.js +1 -1
  284. package/dist/esm/ic-text-field.entry.js +18 -7
  285. package/dist/esm/ic-text-field.entry.js.map +1 -1
  286. package/dist/esm/ic-theme.entry.js +1 -1
  287. package/dist/esm/ic-toast-region.entry.js +1 -1
  288. package/dist/esm/ic-toast.entry.js +1 -1
  289. package/dist/esm/ic-top-navigation.entry.js +3 -5
  290. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  291. package/dist/esm/ic-typography.entry.js +1 -1
  292. package/dist/esm/{index-90721b3c.js → index-3b144b17.js} +11 -2
  293. package/dist/esm/index-3b144b17.js.map +1 -0
  294. package/dist/esm/loader.js +2 -2
  295. package/dist/esm/types-dd515332.js.map +1 -1
  296. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +1 -3
  297. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.types.d.ts +5 -0
  298. package/dist/types/components/ic-menu/ic-menu.d.ts +26 -7
  299. package/dist/types/components/ic-pagination/ic-pagination.d.ts +74 -0
  300. package/dist/types/components/ic-pagination/ic-pagination.test.a11y.d.ts +1 -0
  301. package/dist/types/components/ic-pagination/ic-pagination.types.d.ts +4 -0
  302. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +46 -0
  303. package/dist/types/components/ic-pagination-item/ic-pagination-item.types.d.ts +1 -0
  304. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +30 -1
  305. package/dist/types/components/ic-select/ic-select.d.ts +31 -1
  306. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +2 -1
  307. package/dist/types/components/ic-text-field/ic-text-field.d.ts +11 -2
  308. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +7 -0
  309. package/dist/types/components.d.ts +282 -19
  310. package/dist/types/utils/types.d.ts +3 -0
  311. package/hydrate/index.js +743 -159
  312. package/package.json +3 -3
  313. package/dist/cjs/index-f79a4e53.js.map +0 -1
  314. package/dist/components/popper.js +0 -1801
  315. package/dist/components/popper.js.map +0 -1
  316. package/dist/core/p-0d4ccf6a.entry.js +0 -2
  317. package/dist/core/p-0d4ccf6a.entry.js.map +0 -1
  318. package/dist/core/p-5450cebf.js.map +0 -1
  319. package/dist/core/p-6e1f5022.entry.js +0 -2
  320. package/dist/core/p-6e1f5022.entry.js.map +0 -1
  321. package/dist/core/p-7c2b09c8.entry.js +0 -2
  322. package/dist/core/p-7c2b09c8.entry.js.map +0 -1
  323. package/dist/core/p-8959dd7d.entry.js +0 -2
  324. package/dist/core/p-8959dd7d.entry.js.map +0 -1
  325. package/dist/core/p-90d6dbd6.entry.js +0 -2
  326. package/dist/core/p-90d6dbd6.entry.js.map +0 -1
  327. package/dist/core/p-a8e969ea.entry.js +0 -2
  328. package/dist/core/p-a8e969ea.entry.js.map +0 -1
  329. package/dist/core/p-bb505d2a.entry.js +0 -2
  330. package/dist/core/p-bb505d2a.entry.js.map +0 -1
  331. package/dist/core/p-ce96a494.entry.js +0 -2
  332. package/dist/core/p-ce96a494.entry.js.map +0 -1
  333. package/dist/core/p-e4390415.entry.js +0 -2
  334. package/dist/core/p-e4390415.entry.js.map +0 -1
  335. package/dist/core/p-eeefddb5.entry.js.map +0 -1
  336. package/dist/core/p-f0244b5a.entry.js +0 -2
  337. package/dist/core/p-f0244b5a.entry.js.map +0 -1
  338. package/dist/esm/index-90721b3c.js.map +0 -1
  339. /package/dist/core/{p-0f0dfa16.entry.js.map → p-002a63e9.entry.js.map} +0 -0
  340. /package/dist/core/{p-759c80a3.entry.js.map → p-0575a77f.entry.js.map} +0 -0
  341. /package/dist/core/{p-3453aa9c.entry.js.map → p-0a41c3cb.entry.js.map} +0 -0
  342. /package/dist/core/{p-b7fc1f35.entry.js.map → p-100dbcec.entry.js.map} +0 -0
  343. /package/dist/core/{p-1bd4d07e.entry.js.map → p-14835d6f.entry.js.map} +0 -0
  344. /package/dist/core/{p-28b2158b.entry.js.map → p-1eb0992b.entry.js.map} +0 -0
  345. /package/dist/core/{p-62b3516e.entry.js.map → p-223a214f.entry.js.map} +0 -0
  346. /package/dist/core/{p-dd71a986.entry.js.map → p-276f7ecb.entry.js.map} +0 -0
  347. /package/dist/core/{p-3d84a743.entry.js.map → p-28bc3bf0.entry.js.map} +0 -0
  348. /package/dist/core/{p-8ffa00c9.entry.js.map → p-312c10b0.entry.js.map} +0 -0
  349. /package/dist/core/{p-cc62d065.entry.js.map → p-3a67718c.entry.js.map} +0 -0
  350. /package/dist/core/{p-74a768bc.entry.js.map → p-3dc2ff7b.entry.js.map} +0 -0
  351. /package/dist/core/{p-58ff516f.entry.js.map → p-3fb307e6.entry.js.map} +0 -0
  352. /package/dist/core/{p-d2508752.entry.js.map → p-454b1ecd.entry.js.map} +0 -0
  353. /package/dist/core/{p-7e309c50.entry.js.map → p-47b0ed42.entry.js.map} +0 -0
  354. /package/dist/core/{p-68c84039.entry.js.map → p-4b87445b.entry.js.map} +0 -0
  355. /package/dist/core/{p-0a463a65.entry.js.map → p-546b620e.entry.js.map} +0 -0
  356. /package/dist/core/{p-dc4ba6a0.entry.js.map → p-5d077cf7.entry.js.map} +0 -0
  357. /package/dist/core/{p-8c9cc4d5.entry.js.map → p-6a77992e.entry.js.map} +0 -0
  358. /package/dist/core/{p-d27dbb63.entry.js.map → p-6b39f8b4.entry.js.map} +0 -0
  359. /package/dist/core/{p-9e578e82.entry.js.map → p-8780890e.entry.js.map} +0 -0
  360. /package/dist/core/{p-ff15c756.entry.js.map → p-895bda21.entry.js.map} +0 -0
  361. /package/dist/core/{p-08535d97.entry.js.map → p-92c4fa7f.entry.js.map} +0 -0
  362. /package/dist/core/{p-41459307.entry.js.map → p-9413d639.entry.js.map} +0 -0
  363. /package/dist/core/{p-e17eea34.entry.js.map → p-a0f4e641.entry.js.map} +0 -0
  364. /package/dist/core/{p-4d8392fe.entry.js.map → p-a33a04b2.entry.js.map} +0 -0
  365. /package/dist/core/{p-65b94ddb.entry.js.map → p-a5bee11f.entry.js.map} +0 -0
  366. /package/dist/core/{p-b5b03f86.entry.js.map → p-cb437317.entry.js.map} +0 -0
  367. /package/dist/core/{p-f777679c.entry.js.map → p-db7131b6.entry.js.map} +0 -0
  368. /package/dist/core/{p-6c9ce0ec.entry.js.map → p-dc0b9e80.entry.js.map} +0 -0
  369. /package/dist/core/{p-1e0174dc.entry.js.map → p-de45134c.entry.js.map} +0 -0
  370. /package/dist/core/{p-9daae2ae.entry.js.map → p-de891d3d.entry.js.map} +0 -0
  371. /package/dist/core/{p-741b4ea3.entry.js.map → p-e384aaee.entry.js.map} +0 -0
  372. /package/dist/core/{p-977af213.entry.js.map → p-e41e701a.entry.js.map} +0 -0
  373. /package/dist/core/{p-deada16f.entry.js.map → p-e839e5dc.entry.js.map} +0 -0
  374. /package/dist/core/{p-186ecccd.entry.js.map → p-ea526b54.entry.js.map} +0 -0
  375. /package/dist/core/{p-4269584a.entry.js.map → p-f3e10149.entry.js.map} +0 -0
  376. /package/dist/core/{p-ad2477d8.entry.js.map → p-fc7dce3d.entry.js.map} +0 -0
@@ -1,9 +1,17 @@
1
- import { h, Host, } from "@stencil/core";
1
+ import { h, Host, Fragment, } from "@stencil/core";
2
2
  import { createPopper } from "@popperjs/core";
3
3
  import Check from "../../assets/check-icon.svg";
4
4
  import { onComponentRequiredPropUndefined } from "../../utils/helpers";
5
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
6
  export class Menu {
6
7
  constructor() {
8
+ this.ungroupedOptions = [];
9
+ this.isSearchBar = false;
10
+ this.isSearchableSelect = false;
11
+ // Prevents menu re-opening immediately after it is closed on blur when clicking input.
12
+ this.preventClickOpen = false;
13
+ this.hasTimedOut = false;
14
+ this.isLoading = false;
7
15
  this.handleClearListener = () => {
8
16
  this.optionHighlighted = "";
9
17
  };
@@ -11,10 +19,6 @@ export class Menu {
11
19
  const highlightedOptionIndex = this.options.findIndex((option) => option.value === this.optionHighlighted);
12
20
  this.setInputValue(highlightedOptionIndex);
13
21
  };
14
- this.ungroupedOptions = [];
15
- // Prevents menu re-opening immediately after it is closed on blur when clicking input
16
- this.preventClickOpen = false;
17
- this.isSearchBar = false;
18
22
  this.handleMenuChange = (open, focusInput) => {
19
23
  if (!open)
20
24
  this.popperInstance.destroy();
@@ -52,18 +56,31 @@ export class Menu {
52
56
  });
53
57
  }
54
58
  };
59
+ this.getParentEl = (parent) => {
60
+ if (parent.tagName === "IC-SEARCH-BAR") {
61
+ this.isSearchBar = true;
62
+ }
63
+ else if (parent.tagName === "IC-SELECT" &&
64
+ parent.getAttribute("searchable") !== null &&
65
+ parent.getAttribute("searchable") !== undefined) {
66
+ this.isSearchableSelect = true;
67
+ }
68
+ };
55
69
  this.arrowBehaviour = (event) => {
56
70
  event.preventDefault();
57
71
  this.handleMenuChange(true);
58
72
  };
73
+ this.setMenuOptions = () => this.isSearchBar ? this.options : this.ungroupedOptions;
59
74
  this.setHighlightedOption = (highlightedIndex) => {
60
- this.optionHighlighted = this.options[highlightedIndex].value || undefined;
75
+ const menuOptions = this.setMenuOptions();
76
+ menuOptions[highlightedIndex] &&
77
+ !menuOptions[highlightedIndex].timedOut &&
78
+ (this.optionHighlighted =
79
+ menuOptions[highlightedIndex].value || undefined);
61
80
  };
62
81
  this.autoSetInputValueKeyboardOpen = (event) => {
63
- var _a;
64
82
  const selectedOptionIndex = this.ungroupedOptions.findIndex((option) => option.value === this.value);
65
83
  this.keyboardNav = false;
66
- const isSearchableSelect = ((_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.tagName) === "INPUT";
67
84
  switch (event.key) {
68
85
  case "ArrowDown":
69
86
  this.keyboardNav = true;
@@ -81,25 +98,19 @@ export class Menu {
81
98
  this.handleMenuChange(true);
82
99
  }
83
100
  break;
84
- case "Backspace":
85
- if (isSearchableSelect) {
86
- this.inputEl.focus();
87
- }
88
- break;
89
- default:
90
- if (isSearchableSelect && event.key !== "Tab") {
91
- this.inputEl.focus();
92
- }
93
- break;
94
101
  }
95
102
  };
96
103
  this.manSetInputValueKeyboardOpen = (event) => {
97
- const highlightedOptionIndex = this.options.findIndex((option) => option.value === this.optionHighlighted);
98
- const getOptionId = (index) => Array.from(this.host.querySelectorAll("li"))[index].id;
104
+ var _a;
105
+ const menuOptions = this.setMenuOptions();
106
+ this.keyboardNav = false;
107
+ const highlightedOptionIndex = menuOptions.findIndex((option) => option.value === this.optionHighlighted);
108
+ const getOptionId = (index) => { var _a; return (_a = Array.from(this.host.querySelectorAll("li"))[index]) === null || _a === void 0 ? void 0 : _a.id; };
99
109
  switch (event.key) {
100
110
  case "ArrowDown":
111
+ this.keyboardNav = true;
101
112
  this.arrowBehaviour(event);
102
- if (highlightedOptionIndex < this.options.length - 1) {
113
+ if (highlightedOptionIndex < menuOptions.length - 1) {
103
114
  this.setHighlightedOption(highlightedOptionIndex + 1);
104
115
  this.menuOptionId.emit({
105
116
  optionId: getOptionId(highlightedOptionIndex + 1),
@@ -115,12 +126,13 @@ export class Menu {
115
126
  this.focusFromSearchKeypress = false;
116
127
  break;
117
128
  case "ArrowUp":
129
+ this.keyboardNav = true;
118
130
  this.arrowBehaviour(event);
119
131
  if (highlightedOptionIndex <= 0 ||
120
- highlightedOptionIndex > this.options.length + 1) {
121
- this.setHighlightedOption(this.options.length - 1);
132
+ highlightedOptionIndex > menuOptions.length + 1) {
133
+ this.setHighlightedOption(menuOptions.length - 1);
122
134
  this.menuOptionId.emit({
123
- optionId: getOptionId(this.options.length - 1),
135
+ optionId: getOptionId(menuOptions.length - 1),
124
136
  });
125
137
  }
126
138
  else {
@@ -132,9 +144,28 @@ export class Menu {
132
144
  this.preventIncorrectTabOrder = false;
133
145
  this.focusFromSearchKeypress = false;
134
146
  break;
147
+ case "Home":
148
+ this.keyboardNav = true;
149
+ event.preventDefault();
150
+ this.arrowBehaviour(event);
151
+ this.setHighlightedOption(0);
152
+ this.menuOptionId.emit({
153
+ optionId: getOptionId(0),
154
+ });
155
+ break;
156
+ case "End":
157
+ this.keyboardNav = true;
158
+ event.preventDefault();
159
+ this.arrowBehaviour(event);
160
+ this.setHighlightedOption(menuOptions.length - 1);
161
+ this.menuOptionId.emit({
162
+ optionId: getOptionId(menuOptions.length - 1),
163
+ });
164
+ break;
135
165
  case "Enter":
136
166
  event.preventDefault();
137
167
  this.setInputValue(highlightedOptionIndex);
168
+ this.value = (_a = menuOptions[highlightedOptionIndex]) === null || _a === void 0 ? void 0 : _a.value;
138
169
  break;
139
170
  case "Escape":
140
171
  this.handleMenuChange(false);
@@ -142,40 +173,66 @@ export class Menu {
142
173
  break;
143
174
  case "Shift":
144
175
  case "Tab":
176
+ if (this.isSearchBar) {
177
+ this.keyboardNav = true;
178
+ }
145
179
  this.preventIncorrectTabOrder = true;
146
180
  break;
147
181
  case "Backspace":
148
182
  if (this.isSearchBar) {
149
183
  this.parentEl.setFocus();
150
- this.focusFromSearchKeypress = true;
151
184
  this.setHighlightedOption(0);
152
185
  }
186
+ else if (this.isSearchableSelect) {
187
+ this.parentEl.setFocus();
188
+ this.value = null;
189
+ }
190
+ this.focusFromSearchKeypress = true;
153
191
  break;
154
192
  default:
155
- if (this.isSearchBar && event.key !== "Tab") {
156
- this.parentEl.setFocus();
193
+ if (event.key !== "Tab") {
194
+ if (this.isSearchBar) {
195
+ this.parentEl.setFocus();
196
+ this.setHighlightedOption(0);
197
+ }
198
+ else if (this.isSearchableSelect) {
199
+ this.parentEl.setFocus();
200
+ this.value = null;
201
+ }
157
202
  this.focusFromSearchKeypress = true;
158
- this.setHighlightedOption(0);
159
203
  }
160
204
  break;
161
205
  }
162
206
  };
163
207
  this.setInputValue = (highlightedOptionIndex) => {
164
208
  var _a;
165
- if (this.options[highlightedOptionIndex]) {
209
+ const menuOptions = this.setMenuOptions();
210
+ if (menuOptions[highlightedOptionIndex]) {
166
211
  this.menuOptionSelect.emit({
167
- value: (_a = this.options[highlightedOptionIndex]) === null || _a === void 0 ? void 0 : _a.value,
212
+ value: (_a = menuOptions[highlightedOptionIndex]) === null || _a === void 0 ? void 0 : _a.value,
168
213
  });
169
214
  this.optionHighlighted = undefined;
170
215
  this.menuOptionId.emit({ optionId: undefined });
171
216
  }
172
- this.handleMenuChange(false);
217
+ if (!this.hasTimedOut)
218
+ this.handleMenuChange(false);
219
+ else
220
+ this.parentEl.setFocus();
173
221
  };
174
222
  this.handleOptionClick = (event) => {
175
223
  const { value, label } = event.target.dataset;
176
224
  this.menuOptionSelect.emit({ value, label });
177
225
  this.handleMenuChange(false);
178
226
  };
227
+ this.handleRetry = () => {
228
+ this.retryButtonClicked.emit({ value: this.value });
229
+ };
230
+ this.handleRetryKeyDown = (ev) => {
231
+ if (ev.key === "Enter" || ev.key === " ") {
232
+ ev.preventDefault();
233
+ this.retryButtonClicked.emit({ value: this.value, keyPressed: ev.key });
234
+ }
235
+ };
179
236
  this.handleBlur = (event) => {
180
237
  if (event.relatedTarget !== this.inputEl) {
181
238
  if (!this.menu.contains(event.relatedTarget)) {
@@ -194,6 +251,9 @@ export class Menu {
194
251
  if (this.activationType === "automatic") {
195
252
  this.autoSetValueOnMenuKeyDown(event);
196
253
  }
254
+ else if (this.activationType === "manual" && this.isSearchableSelect) {
255
+ this.manSetInputValueKeyboardOpen(event);
256
+ }
197
257
  };
198
258
  this.emitMenuKeyPress = (isNavKey, key) => {
199
259
  this.menuKeyPress.emit({ isNavKey: isNavKey, key: key });
@@ -204,15 +264,22 @@ export class Menu {
204
264
  const isSearchableSelect = this.inputEl.tagName === "INPUT";
205
265
  this.keyboardNav = false;
206
266
  switch (event.key) {
207
- case "ArrowUp":
267
+ case " ":
208
268
  event.preventDefault();
209
- this.setPreviousOptionValue(selectedOptionIndex);
210
- this.keyboardNav = true;
269
+ break;
270
+ case "ArrowUp":
271
+ if (!this.hasTimedOut) {
272
+ event.preventDefault();
273
+ this.setPreviousOptionValue(selectedOptionIndex);
274
+ this.keyboardNav = true;
275
+ }
211
276
  break;
212
277
  case "ArrowDown":
213
- event.preventDefault();
214
- this.setNextOptionValue(selectedOptionIndex);
215
- this.keyboardNav = true;
278
+ if (!this.hasTimedOut) {
279
+ event.preventDefault();
280
+ this.setNextOptionValue(selectedOptionIndex);
281
+ this.keyboardNav = true;
282
+ }
216
283
  break;
217
284
  case "Home":
218
285
  this.menuOptionSelect.emit({
@@ -227,6 +294,8 @@ export class Menu {
227
294
  this.keyboardNav = true;
228
295
  break;
229
296
  case "Enter":
297
+ !this.hasTimedOut && this.handleMenuChange(false);
298
+ break;
230
299
  case "Escape":
231
300
  this.handleMenuChange(false);
232
301
  break;
@@ -238,7 +307,7 @@ export class Menu {
238
307
  case "Shift":
239
308
  break;
240
309
  default:
241
- if (isSearchableSelect && event.key !== "Tab") {
310
+ if (isSearchableSelect && event.key !== "Tab" && !this.hasTimedOut) {
242
311
  this.inputEl.focus();
243
312
  }
244
313
  if (event.key.length === 1) {
@@ -310,24 +379,35 @@ export class Menu {
310
379
  this.menu.classList.add("menu-scroll");
311
380
  }
312
381
  };
382
+ this.handleTimeoutBlur = (ev) => {
383
+ this.timeoutBlur.emit({ ev });
384
+ };
385
+ this.optionContent = (option) => {
386
+ var _a;
387
+ return (h(Fragment, null, option.loading && h("ic-loading-indicator", { size: "icon" }), h("div", { class: "option-text-container" }, h("ic-typography", { variant: "body", "aria-hidden": "true" }, h("p", null, option.label)), option.description && (h("ic-typography", { id: `${this.getOptionId(option === null || option === void 0 ? void 0 : option.value)}-description`, class: "option-description", variant: "caption", "aria-hidden": "true" }, h("p", null, option.description)))), !!option.value &&
388
+ !!this.value &&
389
+ (option === null || option === void 0 ? void 0 : option.value.toLowerCase()) === ((_a = this.value) === null || _a === void 0 ? void 0 : _a.toLowerCase()) &&
390
+ this.parentEl.tagName !== "IC-SEARCH-BAR" && (h("span", { class: "check-icon", innerHTML: Check }))));
391
+ };
313
392
  this.displayOption = (option, index, parentOption) => {
314
- const { open, value } = this;
393
+ const { open, value, keyboardNav, isManualMode, initialOptionsListRender, optionHighlighted, options, } = this;
315
394
  return (h("li", { id: this.getOptionId(option.value), class: {
316
395
  option: true,
317
- "focused-option": this.isManualMode
318
- ? (this.keyboardNav || this.initialOptionsListRender) &&
319
- option.value === this.optionHighlighted
320
- : this.keyboardNav && option.value === value,
396
+ "focused-option": isManualMode
397
+ ? (keyboardNav || initialOptionsListRender) &&
398
+ option.value === optionHighlighted
399
+ : keyboardNav && option.value === value,
321
400
  "last-recommended-option": option.recommended &&
322
- this.options[index + 1] &&
323
- !this.options[index + 1].recommended,
401
+ options[index + 1] &&
402
+ !options[index + 1].recommended,
324
403
  "disabled-option": option.disabled,
404
+ "loading-option": option.loading,
405
+ timeout: option.timedOut,
325
406
  }, role: "option", tabindex: open &&
326
- (option.value === value || option.value === this.optionHighlighted) &&
327
- this.keyboardNav
407
+ (option.value === value || option.value === optionHighlighted) &&
408
+ keyboardNav
328
409
  ? "0"
329
- : "-1", "aria-label": this.getOptionAriaLabel(option, parentOption), "aria-selected": option.value === value, "aria-disabled": option.disabled ? "true" : "false", onClick: this.handleOptionClick, onBlur: this.handleBlur, onMouseDown: this.handleMouseDown, "data-value": option.value, "data-label": option.label }, h("div", { class: "option-text-container" }, h("ic-typography", { variant: "body", "aria-hidden": "true" }, h("p", null, option.label)), option.description && (h("ic-typography", { id: `${this.getOptionId(option.value)}-description`, class: "option-description", variant: "caption", "aria-hidden": "true" }, h("p", null, option.description)))), (option === null || option === void 0 ? void 0 : option.value.toLowerCase()) === (value === null || value === void 0 ? void 0 : value.toLowerCase()) &&
330
- this.parentEl.tagName !== "IC-SEARCH-BAR" && (h("span", { class: "check-icon", innerHTML: Check }))));
410
+ : "-1", "aria-label": this.getOptionAriaLabel(option, parentOption), "aria-selected": option.value === value, "aria-disabled": option.disabled ? "true" : "false", onClick: !option.timedOut && !option.loading && this.handleOptionClick, onBlur: this.handleBlur, onMouseDown: this.handleMouseDown, "data-value": option.value, "data-label": option.label }, option.timedOut ? (h(Fragment, null, h("div", { class: "loading-error-info" }, h("svg", { class: "error-icon-svg", "aria-labelledby": "error-title", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#000000" }, h("title", { id: "error-title" }, "Error"), h("path", { d: "M0 0h24v24H0z", fill: "none" }), h("path", { d: "M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z" })), h("ic-typography", { variant: "label" }, option.label)), h("ic-button", { size: "small", variant: "tertiary", onClick: this.handleRetry, onKeyDown: this.handleRetryKeyDown, onBlur: this.handleTimeoutBlur, id: "retry-button" }, "Retry"))) : (this.optionContent(option))));
331
411
  };
332
412
  this.open = undefined;
333
413
  this.options = undefined;
@@ -347,7 +427,9 @@ export class Menu {
347
427
  this.initialOptionsListRender = false;
348
428
  this.preventIncorrectTabOrder = false;
349
429
  }
350
- watchOptionsHandler() {
430
+ watchOptionsHandler(newOptions) {
431
+ this.hasTimedOut = newOptions.some((opt) => opt.timedOut);
432
+ this.isLoading = newOptions.some((opt) => opt.loading);
351
433
  this.ungroupedOptions = [];
352
434
  this.loadUngroupedOptions();
353
435
  }
@@ -372,7 +454,6 @@ export class Menu {
372
454
  this.autoSetInputValueKeyboardOpen(event);
373
455
  }
374
456
  else {
375
- this.keyboardNav = true;
376
457
  this.manSetInputValueKeyboardOpen(event);
377
458
  }
378
459
  }
@@ -383,17 +464,18 @@ export class Menu {
383
464
  this.setHighlightedOption(0);
384
465
  }
385
466
  connectedCallback() {
386
- var _a;
387
- if (((_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.tagName) === "IC-SEARCH-BAR") {
467
+ this.getParentEl(this.parentEl);
468
+ if (this.isSearchBar) {
388
469
  this.setHighlightedOption(0);
389
470
  this.initialOptionsListRender = true;
390
471
  }
391
472
  }
392
473
  componentWillLoad() {
393
474
  this.loadUngroupedOptions();
394
- this.isSearchBar = this.parentEl.tagName === "IC-SEARCH-BAR";
395
475
  this.parentEl.addEventListener("icClear", this.handleClearListener);
396
476
  this.parentEl.addEventListener("icSubmitSearch", this.handleSubmitSearch);
477
+ this.hasTimedOut = this.options.some((opt) => opt.timedOut);
478
+ this.isLoading = this.options.some((opt) => opt.loading);
397
479
  }
398
480
  componentDidLoad() {
399
481
  if (this.isSearchBar &&
@@ -442,7 +524,8 @@ export class Menu {
442
524
  if (this.value &&
443
525
  this.keyboardNav &&
444
526
  inputValueInOptions &&
445
- this.autoFocusOnSelected) {
527
+ this.autoFocusOnSelected &&
528
+ !this.isSearchableSelect) {
446
529
  this.scrollToSelected(this.menu);
447
530
  }
448
531
  else if (this.inputEl.tagName !== "IC-TEXT-FIELD" &&
@@ -464,16 +547,13 @@ export class Menu {
464
547
  this.parentEl.removeEventListener("icSubmitSearch", this.handleSubmitSearch);
465
548
  }
466
549
  render() {
467
- var _a, _b;
468
- const { inputLabel, options, menuId, value, fullWidth } = this;
550
+ const { inputLabel, options, menuId, value, fullWidth, hasTimedOut, isLoading, small, open, inputEl, keyboardNav, } = this;
469
551
  return (h(Host, { class: {
470
552
  "full-width": fullWidth,
471
- "no-focus": ((_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.tagName) === "INPUT",
472
- small: this.small,
473
- open: this.open,
474
- } }, options.length !== 0 && (h("ul", { id: menuId, class: "menu", role: "listbox", "aria-label": inputLabel, "aria-activedescendant": value != null && value !== "" ? this.getOptionId(value) : "", tabindex: open && !this.keyboardNav && ((_b = this.inputEl) === null || _b === void 0 ? void 0 : _b.tagName) !== "INPUT"
475
- ? "0"
476
- : "-1", ref: (el) => (this.menu = el), onKeyDown: this.handleMenuKeyDown, onKeyUp: this.handleMenuKeyUp, onBlur: this.handleBlur }, this.getSortedOptions(options).map((option, index) => {
553
+ "no-focus": (inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) === "INPUT" || hasTimedOut || isLoading,
554
+ small: small,
555
+ open: open,
556
+ } }, options.length !== 0 && (h("ul", { id: menuId, class: "menu", role: "listbox", "aria-label": inputLabel, "aria-activedescendant": value != null && value !== "" ? this.getOptionId(value) : "", tabindex: open && !keyboardNav && (inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) !== "INPUT" ? "0" : "-1", ref: (el) => (this.menu = el), onKeyDown: this.handleMenuKeyDown, onKeyUp: this.handleMenuKeyUp, onBlur: this.handleBlur }, this.getSortedOptions(options).map((option, index) => {
477
557
  if (option.children) {
478
558
  if (option.children.length > 0) {
479
559
  return (h("div", null, h("ic-typography", { class: "option-group-title", role: "presentation", variant: "subtitle-small" }, h("p", null, option.label)), option.children.map((childOption) => this.displayOption(childOption, index, option))));
@@ -851,6 +931,51 @@ export class Menu {
851
931
  }
852
932
  }
853
933
  }
934
+ }, {
935
+ "method": "retryButtonClicked",
936
+ "name": "retryButtonClicked",
937
+ "bubbles": true,
938
+ "cancelable": true,
939
+ "composed": true,
940
+ "docs": {
941
+ "tags": [{
942
+ "name": "internal",
943
+ "text": "Emitted when the retry button is clicked"
944
+ }],
945
+ "text": ""
946
+ },
947
+ "complexType": {
948
+ "original": "IcValueEventDetail",
949
+ "resolved": "IcValueEventDetail",
950
+ "references": {
951
+ "IcValueEventDetail": {
952
+ "location": "import",
953
+ "path": "../../utils/types"
954
+ }
955
+ }
956
+ }
957
+ }, {
958
+ "method": "timeoutBlur",
959
+ "name": "timeoutBlur",
960
+ "bubbles": true,
961
+ "cancelable": true,
962
+ "composed": true,
963
+ "docs": {
964
+ "tags": [{
965
+ "name": "internal",
966
+ "text": "Emitted when the timeout menu loses focus"
967
+ }],
968
+ "text": ""
969
+ },
970
+ "complexType": {
971
+ "original": "{ ev: FocusEvent }",
972
+ "resolved": "{ ev: FocusEvent; }",
973
+ "references": {
974
+ "FocusEvent": {
975
+ "location": "global"
976
+ }
977
+ }
978
+ }
854
979
  }];
855
980
  }
856
981
  static get methods() {