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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (384) 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 +4 -2
  22. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
  25. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +145 -64
  26. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-menu-item.cjs.entry.js +2 -2
  31. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  33. package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
  34. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  35. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  36. package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
  37. package/dist/cjs/ic-pagination-item.cjs.entry.js +51 -0
  38. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -0
  39. package/dist/cjs/ic-pagination.cjs.entry.js +206 -0
  40. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -0
  41. package/dist/cjs/ic-popover-menu.cjs.entry.js +1 -1
  42. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
  44. package/dist/cjs/ic-radio-option.cjs.entry.js +1 -1
  45. package/dist/cjs/ic-search-bar.cjs.entry.js +79 -12
  46. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-section-container.cjs.entry.js +1 -1
  48. package/dist/cjs/ic-select.cjs.entry.js +152 -44
  49. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-side-navigation.cjs.entry.js +11 -3
  51. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-skeleton.cjs.entry.js +1 -1
  53. package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
  54. package/dist/cjs/ic-step.cjs.entry.js +1 -1
  55. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  56. package/dist/cjs/ic-switch.cjs.entry.js +1 -1
  57. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  58. package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
  59. package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
  60. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  61. package/dist/cjs/ic-text-field.cjs.entry.js +18 -7
  62. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  64. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  65. package/dist/cjs/ic-toast.cjs.entry.js +1 -1
  66. package/dist/cjs/ic-top-navigation.cjs.entry.js +3 -5
  67. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  69. package/dist/cjs/{index-f79a4e53.js → index-a62312a7.js} +11 -1
  70. package/dist/cjs/index-a62312a7.js.map +1 -0
  71. package/dist/cjs/loader.cjs.js +2 -2
  72. package/dist/cjs/types-3eb02246.js.map +1 -1
  73. package/dist/collection/assets/pagination-first-last.svg +3 -0
  74. package/dist/collection/assets/pagination-next-previous.svg +3 -0
  75. package/dist/collection/collection-manifest.json +2 -0
  76. package/dist/collection/components/ic-button/ic-button.css +11 -1
  77. package/dist/collection/components/ic-card/ic-card.css +3 -0
  78. package/dist/collection/components/ic-checkbox/ic-checkbox.css +4 -1
  79. package/dist/collection/components/ic-checkbox/ic-checkbox.js +8 -1
  80. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  81. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +14 -20
  82. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  83. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.types.js.map +1 -1
  84. package/dist/collection/components/ic-footer/ic-footer.js +4 -2
  85. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  86. package/dist/collection/components/ic-menu/ic-menu.css +30 -1
  87. package/dist/collection/components/ic-menu/ic-menu.js +188 -63
  88. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  89. package/dist/collection/components/ic-menu-item/ic-menu-item.css +1 -6
  90. package/dist/collection/components/ic-pagination/ic-pagination.css +486 -0
  91. package/dist/collection/components/ic-pagination/ic-pagination.js +435 -0
  92. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -0
  93. package/dist/collection/components/ic-pagination/ic-pagination.test.a11y.js +11 -0
  94. package/dist/collection/components/ic-pagination/ic-pagination.test.a11y.js.map +1 -0
  95. package/dist/collection/components/ic-pagination/ic-pagination.types.js +2 -0
  96. package/dist/collection/components/ic-pagination/ic-pagination.types.js.map +1 -0
  97. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +581 -0
  98. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +225 -0
  99. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -0
  100. package/dist/collection/components/ic-pagination-item/ic-pagination-item.types.js +2 -0
  101. package/dist/collection/components/ic-pagination-item/ic-pagination-item.types.js.map +1 -0
  102. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +2 -1
  103. package/dist/collection/components/ic-search-bar/ic-search-bar.css +0 -4
  104. package/dist/collection/components/ic-search-bar/ic-search-bar.js +172 -11
  105. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  106. package/dist/collection/components/ic-select/ic-select.js +247 -44
  107. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  108. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +36 -16
  109. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +9 -1
  110. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  111. package/dist/collection/components/ic-text-field/ic-text-field.js +66 -12
  112. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  113. package/dist/collection/components/ic-tooltip/ic-tooltip.js +53 -4
  114. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  115. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +9 -0
  116. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +1 -3
  117. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  118. package/dist/collection/utils/types.js.map +1 -1
  119. package/dist/components/ic-button2.js +1 -1
  120. package/dist/components/ic-button2.js.map +1 -1
  121. package/dist/components/ic-card.js +1 -1
  122. package/dist/components/ic-card.js.map +1 -1
  123. package/dist/components/ic-checkbox-group.js +14 -17
  124. package/dist/components/ic-checkbox-group.js.map +1 -1
  125. package/dist/components/ic-checkbox.js +8 -2
  126. package/dist/components/ic-checkbox.js.map +1 -1
  127. package/dist/components/ic-footer.js +4 -2
  128. package/dist/components/ic-footer.js.map +1 -1
  129. package/dist/components/ic-menu-item2.js +1 -1
  130. package/dist/components/ic-menu-item2.js.map +1 -1
  131. package/dist/components/ic-menu2.js +164 -66
  132. package/dist/components/ic-menu2.js.map +1 -1
  133. package/dist/components/ic-pagination-item.d.ts +11 -0
  134. package/dist/components/ic-pagination-item.js +8 -0
  135. package/dist/components/ic-pagination-item.js.map +1 -0
  136. package/dist/components/ic-pagination-item2.js +77 -0
  137. package/dist/components/ic-pagination-item2.js.map +1 -0
  138. package/dist/components/ic-pagination.d.ts +11 -0
  139. package/dist/components/ic-pagination.js +266 -0
  140. package/dist/components/ic-pagination.js.map +1 -0
  141. package/dist/components/ic-popover-menu.js +1 -2
  142. package/dist/components/ic-popover-menu.js.map +1 -1
  143. package/dist/components/ic-search-bar.js +82 -12
  144. package/dist/components/ic-search-bar.js.map +1 -1
  145. package/dist/components/ic-select.js +157 -43
  146. package/dist/components/ic-select.js.map +1 -1
  147. package/dist/components/ic-side-navigation.js +10 -2
  148. package/dist/components/ic-side-navigation.js.map +1 -1
  149. package/dist/components/ic-text-field2.js +20 -8
  150. package/dist/components/ic-text-field2.js.map +1 -1
  151. package/dist/components/ic-tooltip2.js +1817 -8
  152. package/dist/components/ic-tooltip2.js.map +1 -1
  153. package/dist/components/ic-top-navigation.js +2 -4
  154. package/dist/components/ic-top-navigation.js.map +1 -1
  155. package/dist/components/index.d.ts +2 -0
  156. package/dist/components/index.js +2 -0
  157. package/dist/components/index.js.map +1 -1
  158. package/dist/components/types.js.map +1 -1
  159. package/dist/core/core.esm.js +1 -1
  160. package/dist/core/core.esm.js.map +1 -1
  161. package/dist/core/{p-0f0dfa16.entry.js → p-002a63e9.entry.js} +2 -2
  162. package/dist/core/{p-759c80a3.entry.js → p-0575a77f.entry.js} +2 -2
  163. package/dist/core/{p-3453aa9c.entry.js → p-0a41c3cb.entry.js} +2 -2
  164. package/dist/core/{p-b7fc1f35.entry.js → p-100dbcec.entry.js} +2 -2
  165. package/dist/core/{p-1bd4d07e.entry.js → p-14835d6f.entry.js} +2 -2
  166. package/dist/core/{p-28b2158b.entry.js → p-1eb0992b.entry.js} +2 -2
  167. package/dist/core/{p-62b3516e.entry.js → p-223a214f.entry.js} +2 -2
  168. package/dist/core/{p-dd71a986.entry.js → p-276f7ecb.entry.js} +2 -2
  169. package/dist/core/{p-3d84a743.entry.js → p-28bc3bf0.entry.js} +2 -2
  170. package/dist/core/p-2e949135.entry.js +2 -0
  171. package/dist/core/p-2e949135.entry.js.map +1 -0
  172. package/dist/core/{p-8ffa00c9.entry.js → p-312c10b0.entry.js} +2 -2
  173. package/dist/core/p-3845b769.entry.js +2 -0
  174. package/dist/core/p-3845b769.entry.js.map +1 -0
  175. package/dist/core/{p-cc62d065.entry.js → p-3a67718c.entry.js} +2 -2
  176. package/dist/core/p-3c23f963.entry.js +2 -0
  177. package/dist/core/p-3c23f963.entry.js.map +1 -0
  178. package/dist/core/{p-74a768bc.entry.js → p-3dc2ff7b.entry.js} +2 -2
  179. package/dist/core/p-3e5eb873.entry.js +2 -0
  180. package/dist/core/p-3e5eb873.entry.js.map +1 -0
  181. package/dist/core/{p-58ff516f.entry.js → p-3fb307e6.entry.js} +2 -2
  182. package/dist/core/{p-d2508752.entry.js → p-454b1ecd.entry.js} +2 -2
  183. package/dist/core/p-4595f48f.entry.js +2 -0
  184. package/dist/core/p-4595f48f.entry.js.map +1 -0
  185. package/dist/core/{p-7e309c50.entry.js → p-47b0ed42.entry.js} +2 -2
  186. package/dist/core/{p-68c84039.entry.js → p-4b87445b.entry.js} +2 -2
  187. package/dist/core/p-4c8fcfe6.entry.js +2 -0
  188. package/dist/core/p-4c8fcfe6.entry.js.map +1 -0
  189. package/dist/core/p-52fd3533.entry.js +2 -0
  190. package/dist/core/p-52fd3533.entry.js.map +1 -0
  191. package/dist/core/{p-0a463a65.entry.js → p-546b620e.entry.js} +2 -2
  192. package/dist/core/p-56fe91ad.entry.js +2 -0
  193. package/dist/core/p-56fe91ad.entry.js.map +1 -0
  194. package/dist/core/{p-5450cebf.js → p-589f6dd3.js} +3 -3
  195. package/dist/core/p-589f6dd3.js.map +1 -0
  196. package/dist/core/{p-dc4ba6a0.entry.js → p-5d077cf7.entry.js} +2 -2
  197. package/dist/core/{p-8c9cc4d5.entry.js → p-6a77992e.entry.js} +2 -2
  198. package/dist/core/{p-d27dbb63.entry.js → p-6b39f8b4.entry.js} +2 -2
  199. package/dist/core/p-6f57b13c.js.map +1 -1
  200. package/dist/core/p-80eff050.entry.js +2 -0
  201. package/dist/core/p-80eff050.entry.js.map +1 -0
  202. package/dist/core/{p-9e578e82.entry.js → p-8780890e.entry.js} +2 -2
  203. package/dist/core/{p-ff15c756.entry.js → p-895bda21.entry.js} +2 -2
  204. package/dist/core/{p-08535d97.entry.js → p-92c4fa7f.entry.js} +2 -2
  205. package/dist/core/{p-41459307.entry.js → p-9413d639.entry.js} +2 -2
  206. package/dist/core/{p-e17eea34.entry.js → p-a0f4e641.entry.js} +2 -2
  207. package/dist/core/{p-4d8392fe.entry.js → p-a33a04b2.entry.js} +2 -2
  208. package/dist/core/{p-65b94ddb.entry.js → p-a5bee11f.entry.js} +2 -2
  209. package/dist/core/p-a7fdb9a8.entry.js +2 -0
  210. package/dist/core/p-a7fdb9a8.entry.js.map +1 -0
  211. package/dist/core/{p-eeefddb5.entry.js → p-b61e76e2.entry.js} +2 -2
  212. package/dist/core/p-b61e76e2.entry.js.map +1 -0
  213. package/dist/core/p-c0813424.entry.js +2 -0
  214. package/dist/core/p-c0813424.entry.js.map +1 -0
  215. package/dist/core/{p-b5b03f86.entry.js → p-cb437317.entry.js} +2 -2
  216. package/dist/core/p-d5d9923a.entry.js +2 -0
  217. package/dist/core/p-d5d9923a.entry.js.map +1 -0
  218. package/dist/core/{p-6c9ce0ec.entry.js → p-dc0b9e80.entry.js} +2 -2
  219. package/dist/core/{p-1e0174dc.entry.js → p-de45134c.entry.js} +2 -2
  220. package/dist/core/{p-9daae2ae.entry.js → p-de891d3d.entry.js} +2 -2
  221. package/dist/core/p-e0f24ccd.entry.js +2 -0
  222. package/dist/core/p-e0f24ccd.entry.js.map +1 -0
  223. package/dist/core/{p-741b4ea3.entry.js → p-e384aaee.entry.js} +2 -2
  224. package/dist/core/{p-977af213.entry.js → p-e41e701a.entry.js} +2 -2
  225. package/dist/core/{p-deada16f.entry.js → p-e839e5dc.entry.js} +2 -2
  226. package/dist/core/{p-186ecccd.entry.js → p-ea526b54.entry.js} +2 -2
  227. package/dist/core/{p-eb7599cc.entry.js → p-ec8b228c.entry.js} +2 -2
  228. package/dist/core/{p-eb7599cc.entry.js.map → p-ec8b228c.entry.js.map} +1 -1
  229. package/dist/core/{p-4269584a.entry.js → p-f3e10149.entry.js} +2 -2
  230. package/dist/core/{p-ad2477d8.entry.js → p-fc7dce3d.entry.js} +2 -2
  231. package/dist/esm/core.js +2 -2
  232. package/dist/esm/ic-alert.entry.js +1 -1
  233. package/dist/esm/ic-back-to-top.entry.js +1 -1
  234. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  235. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  236. package/dist/esm/ic-button_3.entry.js +16 -5
  237. package/dist/esm/ic-button_3.entry.js.map +1 -1
  238. package/dist/esm/ic-card.entry.js +2 -2
  239. package/dist/esm/ic-card.entry.js.map +1 -1
  240. package/dist/esm/ic-checkbox-group.entry.js +14 -16
  241. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  242. package/dist/esm/ic-checkbox.entry.js +9 -3
  243. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  244. package/dist/esm/ic-chip.entry.js +1 -1
  245. package/dist/esm/ic-classification-banner.entry.js +1 -1
  246. package/dist/esm/ic-data-entity.entry.js +1 -1
  247. package/dist/esm/ic-data-row.entry.js +1 -1
  248. package/dist/esm/ic-divider.entry.js +1 -1
  249. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  250. package/dist/esm/ic-footer-link.entry.js +1 -1
  251. package/dist/esm/ic-footer.entry.js +5 -3
  252. package/dist/esm/ic-footer.entry.js.map +1 -1
  253. package/dist/esm/ic-hero.entry.js +1 -1
  254. package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
  255. package/dist/esm/ic-input-component-container_3.entry.js +145 -64
  256. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  257. package/dist/esm/ic-input-label_2.entry.js +1 -1
  258. package/dist/esm/ic-link.entry.js +1 -1
  259. package/dist/esm/ic-menu-group.entry.js +1 -1
  260. package/dist/esm/ic-menu-item.entry.js +2 -2
  261. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  262. package/dist/esm/ic-navigation-button.entry.js +1 -1
  263. package/dist/esm/ic-navigation-group.entry.js +1 -1
  264. package/dist/esm/ic-navigation-item.entry.js +1 -1
  265. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  266. package/dist/esm/ic-page-header.entry.js +1 -1
  267. package/dist/esm/ic-pagination-item.entry.js +47 -0
  268. package/dist/esm/ic-pagination-item.entry.js.map +1 -0
  269. package/dist/esm/ic-pagination.entry.js +202 -0
  270. package/dist/esm/ic-pagination.entry.js.map +1 -0
  271. package/dist/esm/ic-popover-menu.entry.js +1 -1
  272. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  273. package/dist/esm/ic-radio-group.entry.js +1 -1
  274. package/dist/esm/ic-radio-option.entry.js +1 -1
  275. package/dist/esm/ic-search-bar.entry.js +79 -12
  276. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  277. package/dist/esm/ic-section-container.entry.js +1 -1
  278. package/dist/esm/ic-select.entry.js +152 -44
  279. package/dist/esm/ic-select.entry.js.map +1 -1
  280. package/dist/esm/ic-side-navigation.entry.js +11 -3
  281. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  282. package/dist/esm/ic-skeleton.entry.js +1 -1
  283. package/dist/esm/ic-status-tag.entry.js +1 -1
  284. package/dist/esm/ic-step.entry.js +1 -1
  285. package/dist/esm/ic-stepper.entry.js +1 -1
  286. package/dist/esm/ic-switch.entry.js +1 -1
  287. package/dist/esm/ic-tab-context.entry.js +1 -1
  288. package/dist/esm/ic-tab-group.entry.js +1 -1
  289. package/dist/esm/ic-tab-panel.entry.js +1 -1
  290. package/dist/esm/ic-tab.entry.js +1 -1
  291. package/dist/esm/ic-text-field.entry.js +18 -7
  292. package/dist/esm/ic-text-field.entry.js.map +1 -1
  293. package/dist/esm/ic-theme.entry.js +1 -1
  294. package/dist/esm/ic-toast-region.entry.js +1 -1
  295. package/dist/esm/ic-toast.entry.js +1 -1
  296. package/dist/esm/ic-top-navigation.entry.js +3 -5
  297. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  298. package/dist/esm/ic-typography.entry.js +1 -1
  299. package/dist/esm/{index-90721b3c.js → index-3b144b17.js} +11 -2
  300. package/dist/esm/index-3b144b17.js.map +1 -0
  301. package/dist/esm/loader.js +2 -2
  302. package/dist/esm/types-dd515332.js.map +1 -1
  303. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +1 -3
  304. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.types.d.ts +5 -0
  305. package/dist/types/components/ic-menu/ic-menu.d.ts +26 -7
  306. package/dist/types/components/ic-pagination/ic-pagination.d.ts +74 -0
  307. package/dist/types/components/ic-pagination/ic-pagination.test.a11y.d.ts +1 -0
  308. package/dist/types/components/ic-pagination/ic-pagination.types.d.ts +4 -0
  309. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +46 -0
  310. package/dist/types/components/ic-pagination-item/ic-pagination-item.types.d.ts +1 -0
  311. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +30 -1
  312. package/dist/types/components/ic-select/ic-select.d.ts +31 -1
  313. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +2 -1
  314. package/dist/types/components/ic-text-field/ic-text-field.d.ts +11 -2
  315. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +7 -0
  316. package/dist/types/components.d.ts +282 -19
  317. package/dist/types/utils/types.d.ts +3 -0
  318. package/hydrate/index.js +746 -160
  319. package/package.json +3 -3
  320. package/dist/cjs/index-f79a4e53.js.map +0 -1
  321. package/dist/components/popper.js +0 -1801
  322. package/dist/components/popper.js.map +0 -1
  323. package/dist/core/p-0d4ccf6a.entry.js +0 -2
  324. package/dist/core/p-0d4ccf6a.entry.js.map +0 -1
  325. package/dist/core/p-5450cebf.js.map +0 -1
  326. package/dist/core/p-6e1f5022.entry.js +0 -2
  327. package/dist/core/p-6e1f5022.entry.js.map +0 -1
  328. package/dist/core/p-7c2b09c8.entry.js +0 -2
  329. package/dist/core/p-7c2b09c8.entry.js.map +0 -1
  330. package/dist/core/p-8959dd7d.entry.js +0 -2
  331. package/dist/core/p-8959dd7d.entry.js.map +0 -1
  332. package/dist/core/p-90d6dbd6.entry.js +0 -2
  333. package/dist/core/p-90d6dbd6.entry.js.map +0 -1
  334. package/dist/core/p-a8e969ea.entry.js +0 -2
  335. package/dist/core/p-a8e969ea.entry.js.map +0 -1
  336. package/dist/core/p-bb505d2a.entry.js +0 -2
  337. package/dist/core/p-bb505d2a.entry.js.map +0 -1
  338. package/dist/core/p-ce96a494.entry.js +0 -2
  339. package/dist/core/p-ce96a494.entry.js.map +0 -1
  340. package/dist/core/p-e4390415.entry.js +0 -2
  341. package/dist/core/p-e4390415.entry.js.map +0 -1
  342. package/dist/core/p-eeefddb5.entry.js.map +0 -1
  343. package/dist/core/p-f0244b5a.entry.js +0 -2
  344. package/dist/core/p-f0244b5a.entry.js.map +0 -1
  345. package/dist/core/p-f777679c.entry.js +0 -2
  346. package/dist/core/p-f777679c.entry.js.map +0 -1
  347. package/dist/esm/index-90721b3c.js.map +0 -1
  348. /package/dist/core/{p-0f0dfa16.entry.js.map → p-002a63e9.entry.js.map} +0 -0
  349. /package/dist/core/{p-759c80a3.entry.js.map → p-0575a77f.entry.js.map} +0 -0
  350. /package/dist/core/{p-3453aa9c.entry.js.map → p-0a41c3cb.entry.js.map} +0 -0
  351. /package/dist/core/{p-b7fc1f35.entry.js.map → p-100dbcec.entry.js.map} +0 -0
  352. /package/dist/core/{p-1bd4d07e.entry.js.map → p-14835d6f.entry.js.map} +0 -0
  353. /package/dist/core/{p-28b2158b.entry.js.map → p-1eb0992b.entry.js.map} +0 -0
  354. /package/dist/core/{p-62b3516e.entry.js.map → p-223a214f.entry.js.map} +0 -0
  355. /package/dist/core/{p-dd71a986.entry.js.map → p-276f7ecb.entry.js.map} +0 -0
  356. /package/dist/core/{p-3d84a743.entry.js.map → p-28bc3bf0.entry.js.map} +0 -0
  357. /package/dist/core/{p-8ffa00c9.entry.js.map → p-312c10b0.entry.js.map} +0 -0
  358. /package/dist/core/{p-cc62d065.entry.js.map → p-3a67718c.entry.js.map} +0 -0
  359. /package/dist/core/{p-74a768bc.entry.js.map → p-3dc2ff7b.entry.js.map} +0 -0
  360. /package/dist/core/{p-58ff516f.entry.js.map → p-3fb307e6.entry.js.map} +0 -0
  361. /package/dist/core/{p-d2508752.entry.js.map → p-454b1ecd.entry.js.map} +0 -0
  362. /package/dist/core/{p-7e309c50.entry.js.map → p-47b0ed42.entry.js.map} +0 -0
  363. /package/dist/core/{p-68c84039.entry.js.map → p-4b87445b.entry.js.map} +0 -0
  364. /package/dist/core/{p-0a463a65.entry.js.map → p-546b620e.entry.js.map} +0 -0
  365. /package/dist/core/{p-dc4ba6a0.entry.js.map → p-5d077cf7.entry.js.map} +0 -0
  366. /package/dist/core/{p-8c9cc4d5.entry.js.map → p-6a77992e.entry.js.map} +0 -0
  367. /package/dist/core/{p-d27dbb63.entry.js.map → p-6b39f8b4.entry.js.map} +0 -0
  368. /package/dist/core/{p-9e578e82.entry.js.map → p-8780890e.entry.js.map} +0 -0
  369. /package/dist/core/{p-ff15c756.entry.js.map → p-895bda21.entry.js.map} +0 -0
  370. /package/dist/core/{p-08535d97.entry.js.map → p-92c4fa7f.entry.js.map} +0 -0
  371. /package/dist/core/{p-41459307.entry.js.map → p-9413d639.entry.js.map} +0 -0
  372. /package/dist/core/{p-e17eea34.entry.js.map → p-a0f4e641.entry.js.map} +0 -0
  373. /package/dist/core/{p-4d8392fe.entry.js.map → p-a33a04b2.entry.js.map} +0 -0
  374. /package/dist/core/{p-65b94ddb.entry.js.map → p-a5bee11f.entry.js.map} +0 -0
  375. /package/dist/core/{p-b5b03f86.entry.js.map → p-cb437317.entry.js.map} +0 -0
  376. /package/dist/core/{p-6c9ce0ec.entry.js.map → p-dc0b9e80.entry.js.map} +0 -0
  377. /package/dist/core/{p-1e0174dc.entry.js.map → p-de45134c.entry.js.map} +0 -0
  378. /package/dist/core/{p-9daae2ae.entry.js.map → p-de891d3d.entry.js.map} +0 -0
  379. /package/dist/core/{p-741b4ea3.entry.js.map → p-e384aaee.entry.js.map} +0 -0
  380. /package/dist/core/{p-977af213.entry.js.map → p-e41e701a.entry.js.map} +0 -0
  381. /package/dist/core/{p-deada16f.entry.js.map → p-e839e5dc.entry.js.map} +0 -0
  382. /package/dist/core/{p-186ecccd.entry.js.map → p-ea526b54.entry.js.map} +0 -0
  383. /package/dist/core/{p-4269584a.entry.js.map → p-f3e10149.entry.js.map} +0 -0
  384. /package/dist/core/{p-ad2477d8.entry.js.map → p-fc7dce3d.entry.js.map} +0 -0
@@ -5,6 +5,7 @@ import { IcInformationStatus, IcThemeForegroundEnum, } from "../../utils/types";
5
5
  import Expand from "./assets/Expand.svg";
6
6
  import Clear from "./assets/Clear.svg";
7
7
  let inputIds = 0;
8
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
8
9
  export class Select {
9
10
  constructor() {
10
11
  this.inputId = `ic-select-input-${inputIds++}`;
@@ -13,8 +14,19 @@ export class Select {
13
14
  this.inheritedAttributes = {};
14
15
  this.hasSetDefaultValue = false;
15
16
  this.initialOptionsEmpty = false;
17
+ this.handleRetry = (ev) => {
18
+ var _a;
19
+ if (ev.detail.keyPressed)
20
+ (_a = this.searchableSelectElement) === null || _a === void 0 ? void 0 : _a.focus();
21
+ this.blurredBecauseButtonPressed = true;
22
+ this.retryButtonClick = true;
23
+ this.hasSetDefaultValue = true;
24
+ this.icRetryLoad.emit({ value: this.hiddenInputValue });
25
+ };
16
26
  this.emitIcChange = (value) => {
17
- this.value = value;
27
+ if (!this.searchable) {
28
+ this.value = value;
29
+ }
18
30
  clearTimeout(this.debounceIcChange);
19
31
  this.debounceIcChange = window.setTimeout(() => {
20
32
  this.icChange.emit({ value: value });
@@ -57,11 +69,6 @@ export class Select {
57
69
  this.getLabelFromValue = (value) => {
58
70
  return getLabelFromValue(value, this.options);
59
71
  };
60
- this.getValueFromLabel = (label) => {
61
- var _a;
62
- const value = (_a = this.options.find((option) => option.label === label)) === null || _a === void 0 ? void 0 : _a.value;
63
- return value;
64
- };
65
72
  this.getFilteredChildMenuOptions = (option) => {
66
73
  let children = option.children;
67
74
  if (this.searchable) {
@@ -85,7 +92,13 @@ export class Select {
85
92
  return;
86
93
  }
87
94
  if (this.searchable) {
88
- this.searchableSelectInputValue = this.getLabelFromValue(event.detail.value);
95
+ this.value = event.detail.value;
96
+ // After editing the input, if selecting the same option as before, set the input value to label again
97
+ if (this.value === this.currValue) {
98
+ this.searchableSelectInputValue = this.getLabelFromValue(this.value);
99
+ }
100
+ this.inputValueToFilter = null;
101
+ this.hiddenInputValue = this.getValueFromLabel(this.searchableSelectInputValue);
89
102
  }
90
103
  this.ariaActiveDescendant = event.detail.optionId;
91
104
  this.icOptionSelect.emit({ value: event.detail.value });
@@ -122,8 +135,10 @@ export class Select {
122
135
  this.menu.options = this.filteredOptions;
123
136
  }
124
137
  else {
125
- this.noOptions = null;
126
- this.menu.options = this.options;
138
+ if (!this.hasTimedOut && !this.loading) {
139
+ this.noOptions = null;
140
+ this.menu.options = this.options;
141
+ }
127
142
  }
128
143
  if (event.detail !== 0 && this.isMenuEnabled()) {
129
144
  this.menu.handleClickOpen();
@@ -138,13 +153,15 @@ export class Select {
138
153
  };
139
154
  this.handleClear = (event) => {
140
155
  event.stopPropagation();
156
+ this.hasTimedOut = false;
141
157
  this.noOptions = null;
142
158
  this.emitImmediateIcChange(null);
143
159
  this.icClear.emit();
144
160
  if (this.searchable) {
145
161
  this.searchableSelectElement.value = null;
146
162
  this.searchableSelectInputValue = null;
147
- this.menu.options = this.options;
163
+ this.filteredOptions = this.options;
164
+ this.hiddenInputValue = null;
148
165
  this.searchableSelectElement.focus();
149
166
  if (!this.isMenuEnabled()) {
150
167
  this.setMenuChange(false);
@@ -156,7 +173,11 @@ export class Select {
156
173
  };
157
174
  this.handleCharacterKeyDown = (key) => {
158
175
  // Only close menu when space is pressed if not being used alongside character keys to quickly select options
159
- if (this.open && key === " " && this.pressedCharacters.length === 0) {
176
+ if (this.open &&
177
+ key === " " &&
178
+ this.pressedCharacters.length === 0 &&
179
+ !this.hasTimedOut &&
180
+ !this.loading) {
160
181
  this.setMenuChange(false);
161
182
  }
162
183
  if (key.length === 1 && !this.searchable) {
@@ -184,8 +205,10 @@ export class Select {
184
205
  this.menu.options = this.filteredOptions;
185
206
  }
186
207
  else {
187
- this.noOptions = null;
188
- this.menu.options = this.options;
208
+ if (!this.hasTimedOut) {
209
+ this.noOptions = null;
210
+ this.menu.options = this.options;
211
+ }
189
212
  }
190
213
  }
191
214
  if (this.open && event.key === "Enter") {
@@ -194,6 +217,7 @@ export class Select {
194
217
  else {
195
218
  if (!(isArrowKey && this.noOptions !== null) && this.isMenuEnabled()) {
196
219
  if (!(event.key === " " && this.pressedCharacters.length > 0)) {
220
+ // Keyboard events get passed onto ic-menu
197
221
  this.menu.handleKeyboardOpen(event);
198
222
  }
199
223
  this.handleCharacterKeyDown(event.key);
@@ -203,7 +227,15 @@ export class Select {
203
227
  this.handleClearButtonFocus = () => {
204
228
  this.clearButtonFocused = true;
205
229
  };
206
- this.handleClearButtonBlur = () => {
230
+ this.handleClearButtonBlur = (ev) => {
231
+ var _a;
232
+ const retryButton = (_a = this.menu) === null || _a === void 0 ? void 0 : _a.querySelector("#retry-button");
233
+ if (!(this.searchableSelectElement &&
234
+ ev.relatedTarget === this.searchableSelectElement) &&
235
+ !(retryButton && ev.relatedTarget === retryButton)) {
236
+ this.setMenuChange(false);
237
+ this.handleFocusIndicatorDisplay();
238
+ }
207
239
  this.clearButtonFocused = false;
208
240
  };
209
241
  this.handleFilter = () => {
@@ -216,7 +248,7 @@ export class Select {
216
248
  });
217
249
  let menuOptionsFiltered;
218
250
  if (this.searchable) {
219
- menuOptionsFiltered = getFilteredMenuOptions(options, this.includeDescriptionsInSearch, this.searchableSelectInputValue, this.searchMatchPosition);
251
+ menuOptionsFiltered = getFilteredMenuOptions(options, this.includeDescriptionsInSearch, this.inputValueToFilter, this.searchMatchPosition);
220
252
  }
221
253
  else {
222
254
  menuOptionsFiltered = getFilteredMenuOptions(options, false, this.pressedCharacters, "start");
@@ -258,15 +290,37 @@ export class Select {
258
290
  this.filteredOptions = this.noOptions;
259
291
  }
260
292
  };
293
+ this.triggerLoading = () => {
294
+ this.hasTimedOut = false;
295
+ this.noOptions = [{ label: this.loadingLabel, value: "", loading: true }];
296
+ if (this.filteredOptions !== this.noOptions && this.searchable)
297
+ this.filteredOptions = this.noOptions;
298
+ else if (!this.searchable && this.options !== this.noOptions)
299
+ this.options = this.noOptions;
300
+ if (this.timeout) {
301
+ this.timeoutTimer = window.setTimeout(() => {
302
+ this.loading = false;
303
+ this.hasTimedOut = true;
304
+ this.noOptions = [
305
+ { label: this.loadingErrorLabel, value: "", timedOut: true },
306
+ ];
307
+ this.filteredOptions = this.noOptions;
308
+ if (!this.searchable)
309
+ this.options = this.noOptions;
310
+ }, this.timeout);
311
+ }
312
+ };
313
+ this.getValueFromLabel = (label) => {
314
+ var _a;
315
+ const value = (_a = this.options.find((option) => option.label === label)) === null || _a === void 0 ? void 0 : _a.value;
316
+ return value;
317
+ };
261
318
  this.handleSearchableSelectInput = (event) => {
262
319
  this.searchableSelectInputValue = event.target.value;
263
320
  this.icInput.emit({ value: this.searchableSelectInputValue });
264
- if (this.disableFilter) {
265
- this.emitIcChange(this.searchableSelectInputValue);
266
- }
267
- else if (this.getValueFromLabel(this.searchableSelectInputValue) === undefined) {
268
- this.emitIcChange(null);
269
- }
321
+ this.emitIcChange(this.searchableSelectInputValue);
322
+ this.hiddenInputValue = this.searchableSelectInputValue;
323
+ this.inputValueToFilter = this.searchableSelectInputValue;
270
324
  if (this.isMenuEnabled()) {
271
325
  this.setMenuChange(true);
272
326
  }
@@ -294,20 +348,43 @@ export class Select {
294
348
  this.icFocus.emit();
295
349
  };
296
350
  this.onBlur = (event) => {
351
+ var _a;
352
+ const target = event.relatedTarget;
353
+ if (target !== null &&
354
+ target.tagName === "UL" &&
355
+ target.className.includes("menu")) {
356
+ return;
357
+ }
358
+ const retryButton = (_a = this.menu) === null || _a === void 0 ? void 0 : _a.querySelector("#retry-button");
297
359
  const isSearchableAndNoFocusedInternalElements = this.searchable &&
298
360
  event.relatedTarget !== this.menu &&
299
361
  !Array.from(this.menu.querySelectorAll("[role='option']")).includes(event.relatedTarget) &&
300
- !(this.clearButton && event.relatedTarget === this.clearButton);
362
+ !(this.clearButton && event.relatedTarget === this.clearButton) &&
363
+ !(retryButton && event.relatedTarget === retryButton);
301
364
  if (isSearchableAndNoFocusedInternalElements) {
302
- this.setMenuChange(false);
365
+ if (!this.retryButtonClick) {
366
+ this.setMenuChange(false);
367
+ }
303
368
  this.handleFocusIndicatorDisplay();
304
369
  }
370
+ this.retryButtonClick = false;
305
371
  this.icBlur.emit();
306
372
  };
373
+ this.onTimeoutBlur = (ev) => {
374
+ if (ev.detail.ev.relatedTarget !==
375
+ this.searchableSelectElement &&
376
+ !this.blurredBecauseButtonPressed) {
377
+ this.setMenuChange(false);
378
+ this.handleFocusIndicatorDisplay();
379
+ this.icBlur.emit();
380
+ }
381
+ this.blurredBecauseButtonPressed = false;
382
+ };
307
383
  this.handleFormReset = () => {
308
384
  this.value = this.initialValue;
309
385
  if (this.searchable) {
310
386
  this.searchableSelectInputValue = this.getDefaultValue(this.value);
387
+ this.hiddenInputValue = this.value;
311
388
  }
312
389
  };
313
390
  this.label = undefined;
@@ -333,6 +410,10 @@ export class Select {
333
410
  this.charactersUntilSuggestions = 0;
334
411
  this.emptyOptionListText = "No results found";
335
412
  this.disableFilter = false;
413
+ this.timeout = undefined;
414
+ this.loadingLabel = "Loading...";
415
+ this.loadingErrorLabel = "Loading Error";
416
+ this.loading = false;
336
417
  this.open = false;
337
418
  this.clearButtonFocused = false;
338
419
  this.searchableSelectInputValue = null;
@@ -344,28 +425,41 @@ export class Select {
344
425
  this.currValue = this.value;
345
426
  this.debounceIcChange = undefined;
346
427
  this.pressedCharacters = "";
428
+ this.hiddenInputValue = undefined;
429
+ this.inputValueToFilter = this.value;
430
+ }
431
+ loadingHandler(newValue) {
432
+ newValue && this.triggerLoading();
347
433
  }
348
434
  watchOptionsHandler() {
349
- if (this.isExternalFiltering()) {
350
- if (this.options.length > 0) {
435
+ if (!this.hasTimedOut) {
436
+ this.loading = false;
437
+ clearTimeout(this.timeoutTimer);
438
+ if (this.isExternalFiltering()) {
439
+ if (this.options.length > 0) {
440
+ this.setOptionsValuesFromLabels();
441
+ this.noOptions = null;
442
+ this.filteredOptions = this.options;
443
+ }
444
+ else if (this.isMenuEnabled()) {
445
+ this.noOptions = [{ label: this.emptyOptionListText, value: "" }];
446
+ this.filteredOptions = this.noOptions;
447
+ }
448
+ this.updateSearchableSelectResultAriaLive();
449
+ this.setDefaultValue();
450
+ }
451
+ else {
351
452
  this.setOptionsValuesFromLabels();
352
- this.noOptions = null;
353
453
  this.filteredOptions = this.options;
454
+ if (this.initialOptionsEmpty) {
455
+ this.setDefaultValue();
456
+ this.initialOptionsEmpty = false;
457
+ }
354
458
  }
355
- else if (this.isMenuEnabled()) {
356
- this.noOptions = [{ label: this.emptyOptionListText, value: "" }];
357
- this.filteredOptions = this.noOptions;
358
- }
359
- this.updateSearchableSelectResultAriaLive();
360
- this.setDefaultValue();
361
459
  }
362
460
  else {
363
- this.setOptionsValuesFromLabels();
364
- this.filteredOptions = this.options;
365
- if (this.initialOptionsEmpty) {
366
- this.setDefaultValue();
367
- this.initialOptionsEmpty = false;
368
- }
461
+ if (!this.searchable)
462
+ this.options = this.noOptions;
369
463
  }
370
464
  }
371
465
  debounceChangedHandler(newValue) {
@@ -375,6 +469,10 @@ export class Select {
375
469
  if (this.value !== this.currValue) {
376
470
  this.currValue = this.value;
377
471
  }
472
+ if (this.searchable && !!this.currValue) {
473
+ this.searchableSelectInputValue =
474
+ this.getLabelFromValue(this.currValue) || this.currValue;
475
+ }
378
476
  }
379
477
  /**
380
478
  * Sets focus on the input box.
@@ -419,7 +517,7 @@ export class Select {
419
517
  if (!this.options.length) {
420
518
  this.initialOptionsEmpty = true;
421
519
  }
422
- else if (!this.disableFilter) {
520
+ else {
423
521
  this.setDefaultValue();
424
522
  }
425
523
  }
@@ -430,13 +528,22 @@ export class Select {
430
528
  }
431
529
  componentDidLoad() {
432
530
  onComponentRequiredPropUndefined([{ prop: this.label, propName: "label" }], "Select");
531
+ if (this.loading)
532
+ this.triggerLoading();
533
+ this.hiddenInputValue = this.searchable && this.currValue;
433
534
  }
434
535
  disconnectedCallback() {
435
536
  removeFormResetListener(this.host, this.handleFormReset);
436
537
  }
437
538
  render() {
539
+ var _a, _b;
438
540
  const { small, disabled, fullWidth, helperText, hideLabel, label, menuId, name, options, placeholder, readonly, required, searchable, showClearButton, validationStatus, validationText, currValue, } = this;
439
- renderHiddenInput(true, this.host, name, currValue, disabled);
541
+ const isOrHasLoaded = ((_a = (searchable ? this.filteredOptions : options)[0]) === null || _a === void 0 ? void 0 : _a.label) ===
542
+ this.loadingLabel ||
543
+ ((_b = (searchable ? this.filteredOptions : options)[0]) === null || _b === void 0 ? void 0 : _b.label) ===
544
+ this.loadingErrorLabel;
545
+ const inputValue = this.searchable ? this.hiddenInputValue : currValue;
546
+ renderHiddenInput(true, this.host, name, inputValue, disabled);
440
547
  const invalid = validationStatus === IcInformationStatus.Error ? "true" : "false";
441
548
  const describedBy = getInputDescribedByText(this.inputId, helperText !== "", hasValidationStatus(this.validationStatus, this.disabled)).trim();
442
549
  return (h(Host, { class: {
@@ -444,7 +551,7 @@ export class Select {
444
551
  searchable: searchable,
445
552
  small: small,
446
553
  "full-width": fullWidth,
447
- } }, h("ic-input-container", { readonly: readonly }, !hideLabel && (h("ic-input-label", { for: this.inputId, label: label, helperText: helperText, required: required, disabled: disabled, readonly: readonly })), h("ic-input-component-container", { ref: (el) => (this.anchorEl = el), class: { "menu-open": this.open }, small: small, fullWidth: fullWidth, disabled: disabled, readonly: readonly, validationStatus: validationStatus }, readonly ? (h("ic-typography", null, h("p", null, this.getLabelFromValue(currValue)))) : isMobileOrTablet() ? (h("select", Object.assign({ ref: (el) => (this.nativeSelectElement = el), disabled: disabled, onChange: this.handleNativeSelectChange, required: required, id: this.inputId, "aria-label": label, "aria-describedby": describedBy, "aria-invalid": invalid, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.handleNativeSelectKeyDown }, this.inheritedAttributes), h("option", { value: "", selected: true, disabled: !showClearButton }, placeholder), options.map((option) => {
554
+ }, onBlur: this.onBlur }, h("ic-input-container", { readonly: readonly }, !hideLabel && (h("ic-input-label", { for: this.inputId, label: label, helperText: helperText, required: required, disabled: disabled, readonly: readonly })), h("ic-input-component-container", { ref: (el) => (this.anchorEl = el), class: { "menu-open": this.open }, small: small, fullWidth: fullWidth, disabled: disabled, readonly: readonly, validationStatus: validationStatus }, readonly ? (h("ic-typography", null, h("p", null, this.getLabelFromValue(currValue)))) : isMobileOrTablet() ? (h("select", Object.assign({ ref: (el) => (this.nativeSelectElement = el), disabled: disabled, onChange: this.handleNativeSelectChange, required: required, id: this.inputId, "aria-label": label, "aria-describedby": describedBy, "aria-invalid": invalid, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.handleNativeSelectKeyDown }, this.inheritedAttributes), h("option", { value: "", selected: true, disabled: !showClearButton }, placeholder), options.map((option) => {
448
555
  if (option.children) {
449
556
  return (h("optgroup", { label: option.label }, option.children.map((option) => (h("option", { value: option.value, disabled: option.disabled, selected: option.value === currValue }, option.label)))));
450
557
  }
@@ -470,10 +577,10 @@ export class Select {
470
577
  }, innerHTML: Expand, "aria-hidden": "true" }))), currValue && showClearButton && (h("ic-button", { id: "clear-button", "aria-label": "Clear selection", class: "clear-button", innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: small ? "small" : "default", variant: "icon", appearance: this.clearButtonFocused
471
578
  ? IcThemeForegroundEnum.Light
472
579
  : IcThemeForegroundEnum.Dark }))))), !isMobileOrTablet() && (h("ic-menu", { class: {
473
- "no-results": this.noOptions !== null && this.searchable,
580
+ "no-results": this.noOptions !== null || isOrHasLoaded,
474
581
  }, ref: (el) => (this.menu = el), inputEl: searchable
475
582
  ? this.searchableSelectElement
476
- : this.customSelectElement, inputLabel: label, anchorEl: this.anchorEl, small: small, menuId: menuId, open: this.open, options: searchable ? this.filteredOptions : options, value: currValue, fullWidth: fullWidth, onMenuStateChange: this.handleMenuChange, onMenuOptionSelect: this.handleCustomSelectChange, onMenuKeyPress: this.handleMenuKeyPress, onUngroupedOptionsSet: this.setUngroupedOptions, parentEl: this.host })), hasValidationStatus(this.validationStatus, this.disabled) && (h("ic-input-validation", { class: { "menu-open": this.open }, ariaLiveMode: "polite", status: validationStatus, message: validationText, for: this.inputId })))));
583
+ : this.customSelectElement, inputLabel: label, anchorEl: this.anchorEl, small: small, menuId: menuId, open: this.open, options: searchable ? this.filteredOptions : options, value: currValue, fullWidth: fullWidth, onMenuStateChange: this.handleMenuChange, onMenuOptionSelect: this.handleCustomSelectChange, onMenuKeyPress: this.handleMenuKeyPress, onUngroupedOptionsSet: this.setUngroupedOptions, onRetryButtonClicked: this.handleRetry, parentEl: this.host, onTimeoutBlur: this.onTimeoutBlur, activationType: this.searchable ? "manual" : "automatic" })), hasValidationStatus(this.validationStatus, this.disabled) && (h("ic-input-validation", { class: { "menu-open": this.open }, ariaLiveMode: "polite", status: validationStatus, message: validationText, for: this.inputId })))));
477
584
  }
478
585
  static get is() { return "ic-select"; }
479
586
  static get encapsulation() { return "shadow"; }
@@ -917,6 +1024,77 @@ export class Select {
917
1024
  "attribute": "disable-filter",
918
1025
  "reflect": false,
919
1026
  "defaultValue": "false"
1027
+ },
1028
+ "timeout": {
1029
+ "type": "number",
1030
+ "mutable": false,
1031
+ "complexType": {
1032
+ "original": "number",
1033
+ "resolved": "number",
1034
+ "references": {}
1035
+ },
1036
+ "required": false,
1037
+ "optional": true,
1038
+ "docs": {
1039
+ "tags": [],
1040
+ "text": "If using external filtering, set a timeout for when loading takes too long."
1041
+ },
1042
+ "attribute": "timeout",
1043
+ "reflect": false
1044
+ },
1045
+ "loadingLabel": {
1046
+ "type": "string",
1047
+ "mutable": false,
1048
+ "complexType": {
1049
+ "original": "string",
1050
+ "resolved": "string",
1051
+ "references": {}
1052
+ },
1053
+ "required": false,
1054
+ "optional": true,
1055
+ "docs": {
1056
+ "tags": [],
1057
+ "text": "Change the message displayed whilst the options are being loaded externally."
1058
+ },
1059
+ "attribute": "loading-label",
1060
+ "reflect": false,
1061
+ "defaultValue": "\"Loading...\""
1062
+ },
1063
+ "loadingErrorLabel": {
1064
+ "type": "string",
1065
+ "mutable": false,
1066
+ "complexType": {
1067
+ "original": "string",
1068
+ "resolved": "string",
1069
+ "references": {}
1070
+ },
1071
+ "required": false,
1072
+ "optional": true,
1073
+ "docs": {
1074
+ "tags": [],
1075
+ "text": "Change the message displayed when external loading times out."
1076
+ },
1077
+ "attribute": "loading-error-label",
1078
+ "reflect": false,
1079
+ "defaultValue": "\"Loading Error\""
1080
+ },
1081
+ "loading": {
1082
+ "type": "boolean",
1083
+ "mutable": true,
1084
+ "complexType": {
1085
+ "original": "boolean",
1086
+ "resolved": "boolean",
1087
+ "references": {}
1088
+ },
1089
+ "required": false,
1090
+ "optional": true,
1091
+ "docs": {
1092
+ "tags": [],
1093
+ "text": "Trigger loading state when fetching options asyncronously"
1094
+ },
1095
+ "attribute": "loading",
1096
+ "reflect": false,
1097
+ "defaultValue": "false"
920
1098
  }
921
1099
  };
922
1100
  }
@@ -932,7 +1110,9 @@ export class Select {
932
1110
  "currDebounce": {},
933
1111
  "currValue": {},
934
1112
  "debounceIcChange": {},
935
- "pressedCharacters": {}
1113
+ "pressedCharacters": {},
1114
+ "hiddenInputValue": {},
1115
+ "inputValueToFilter": {}
936
1116
  };
937
1117
  }
938
1118
  static get events() {
@@ -1041,6 +1221,26 @@ export class Select {
1041
1221
  }
1042
1222
  }
1043
1223
  }
1224
+ }, {
1225
+ "method": "icRetryLoad",
1226
+ "name": "icRetryLoad",
1227
+ "bubbles": true,
1228
+ "cancelable": true,
1229
+ "composed": true,
1230
+ "docs": {
1231
+ "tags": [],
1232
+ "text": "Emitted when the 'retry loading' button is clicked"
1233
+ },
1234
+ "complexType": {
1235
+ "original": "IcValueEventDetail",
1236
+ "resolved": "IcValueEventDetail",
1237
+ "references": {
1238
+ "IcValueEventDetail": {
1239
+ "location": "import",
1240
+ "path": "../../interface"
1241
+ }
1242
+ }
1243
+ }
1044
1244
  }];
1045
1245
  }
1046
1246
  static get methods() {
@@ -1066,6 +1266,9 @@ export class Select {
1066
1266
  static get elementRef() { return "host"; }
1067
1267
  static get watchers() {
1068
1268
  return [{
1269
+ "propName": "loading",
1270
+ "methodName": "loadingHandler"
1271
+ }, {
1069
1272
  "propName": "options",
1070
1273
  "methodName": "watchOptionsHandler"
1071
1274
  }, {