@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
@@ -0,0 +1,225 @@
1
+ import { h, } from "@stencil/core";
2
+ export class PaginationItem {
3
+ constructor() {
4
+ this.handleClick = () => {
5
+ this.paginationItemClick.emit({ page: this.page });
6
+ };
7
+ this.page = undefined;
8
+ this.selected = false;
9
+ this.type = undefined;
10
+ this.disabled = false;
11
+ this.appearance = undefined;
12
+ this.label = "Page ";
13
+ this.ariaOverride = false;
14
+ this.pages = undefined;
15
+ }
16
+ render() {
17
+ const { page, selected, type, disabled, appearance, label, ariaOverride, pages, } = this;
18
+ return (h("a", null, type === "ellipsis" ? (h("div", { class: {
19
+ ["item-container"]: true,
20
+ ["ellipsis"]: true,
21
+ ["disabled"]: disabled,
22
+ } }, h("ic-typography", { class: {
23
+ [`${appearance}`]: true,
24
+ }, variant: "label" }, "..."))) : type === "page" ? (h("button", { disabled: disabled, onClick: this.handleClick, tabindex: selected ? "-1" : "0", role: "button", "aria-current": selected && "Current page", "aria-label": selected ? `${label}: ${page}` : `Go to page ${page}`, class: {
25
+ ["selected"]: !disabled && selected,
26
+ ["disabled"]: disabled,
27
+ ["item-container"]: true,
28
+ [`${appearance}`]: true,
29
+ ["page"]: type === "page",
30
+ } }, h("ic-typography", { variant: "label", class: {
31
+ ["page-selected"]: selected,
32
+ ["disabled"]: disabled,
33
+ [`${appearance}`]: true,
34
+ } }, page))) : (h("ic-typography", { "aria-live": "polite", "aria-label": ariaOverride ? `Page ${page} of ${pages}` : `${label} ${page}`, class: `simple-current ${appearance}`, variant: "label" }, label, " ", page))));
35
+ }
36
+ static get is() { return "ic-pagination-item"; }
37
+ static get encapsulation() { return "shadow"; }
38
+ static get originalStyleUrls() {
39
+ return {
40
+ "$": ["ic-pagination-item.css"]
41
+ };
42
+ }
43
+ static get styleUrls() {
44
+ return {
45
+ "$": ["ic-pagination-item.css"]
46
+ };
47
+ }
48
+ static get properties() {
49
+ return {
50
+ "page": {
51
+ "type": "number",
52
+ "mutable": false,
53
+ "complexType": {
54
+ "original": "number | null",
55
+ "resolved": "number",
56
+ "references": {}
57
+ },
58
+ "required": false,
59
+ "optional": false,
60
+ "docs": {
61
+ "tags": [],
62
+ "text": "The current page number."
63
+ },
64
+ "attribute": "page",
65
+ "reflect": false
66
+ },
67
+ "selected": {
68
+ "type": "boolean",
69
+ "mutable": false,
70
+ "complexType": {
71
+ "original": "boolean",
72
+ "resolved": "boolean",
73
+ "references": {}
74
+ },
75
+ "required": false,
76
+ "optional": false,
77
+ "docs": {
78
+ "tags": [],
79
+ "text": "If `true`, the pagination item will be selected."
80
+ },
81
+ "attribute": "selected",
82
+ "reflect": false,
83
+ "defaultValue": "false"
84
+ },
85
+ "type": {
86
+ "type": "string",
87
+ "mutable": false,
88
+ "complexType": {
89
+ "original": "IcPaginationItemType",
90
+ "resolved": "\"ellipsis\" | \"page\" | \"simple-current\"",
91
+ "references": {
92
+ "IcPaginationItemType": {
93
+ "location": "import",
94
+ "path": "./ic-pagination-item.types"
95
+ }
96
+ }
97
+ },
98
+ "required": false,
99
+ "optional": false,
100
+ "docs": {
101
+ "tags": [],
102
+ "text": "The type of pagination item - 'page' or 'ellipsis'."
103
+ },
104
+ "attribute": "type",
105
+ "reflect": false
106
+ },
107
+ "disabled": {
108
+ "type": "boolean",
109
+ "mutable": false,
110
+ "complexType": {
111
+ "original": "boolean",
112
+ "resolved": "boolean",
113
+ "references": {}
114
+ },
115
+ "required": false,
116
+ "optional": false,
117
+ "docs": {
118
+ "tags": [],
119
+ "text": "If `true`, the pagination item will be disabled."
120
+ },
121
+ "attribute": "disabled",
122
+ "reflect": false,
123
+ "defaultValue": "false"
124
+ },
125
+ "appearance": {
126
+ "type": "string",
127
+ "mutable": false,
128
+ "complexType": {
129
+ "original": "IcThemeForeground",
130
+ "resolved": "\"dark\" | \"default\" | \"light\"",
131
+ "references": {
132
+ "IcThemeForeground": {
133
+ "location": "import",
134
+ "path": "../../interface"
135
+ }
136
+ }
137
+ },
138
+ "required": false,
139
+ "optional": false,
140
+ "docs": {
141
+ "tags": [],
142
+ "text": "The appearance of the pagination, e.g. dark, light or the default."
143
+ },
144
+ "attribute": "appearance",
145
+ "reflect": false
146
+ },
147
+ "label": {
148
+ "type": "string",
149
+ "mutable": false,
150
+ "complexType": {
151
+ "original": "string",
152
+ "resolved": "string",
153
+ "references": {}
154
+ },
155
+ "required": false,
156
+ "optional": false,
157
+ "docs": {
158
+ "tags": [],
159
+ "text": "The label for the pagination item (applicable when simple pagination is being used)."
160
+ },
161
+ "attribute": "label",
162
+ "reflect": false,
163
+ "defaultValue": "\"Page \""
164
+ },
165
+ "ariaOverride": {
166
+ "type": "boolean",
167
+ "mutable": false,
168
+ "complexType": {
169
+ "original": "boolean",
170
+ "resolved": "boolean",
171
+ "references": {}
172
+ },
173
+ "required": false,
174
+ "optional": false,
175
+ "docs": {
176
+ "tags": [],
177
+ "text": "If true the aria-label will be set to `Page X of Y`, where X is the current page and Y is the page count."
178
+ },
179
+ "attribute": "aria-override",
180
+ "reflect": false,
181
+ "defaultValue": "false"
182
+ },
183
+ "pages": {
184
+ "type": "number",
185
+ "mutable": false,
186
+ "complexType": {
187
+ "original": "number",
188
+ "resolved": "number",
189
+ "references": {}
190
+ },
191
+ "required": false,
192
+ "optional": false,
193
+ "docs": {
194
+ "tags": [],
195
+ "text": "The total number of pages."
196
+ },
197
+ "attribute": "pages",
198
+ "reflect": false
199
+ }
200
+ };
201
+ }
202
+ static get events() {
203
+ return [{
204
+ "method": "paginationItemClick",
205
+ "name": "paginationItemClick",
206
+ "bubbles": true,
207
+ "cancelable": true,
208
+ "composed": true,
209
+ "docs": {
210
+ "tags": [{
211
+ "name": "internal",
212
+ "text": "- Emitted when a pagination item is clicked."
213
+ }],
214
+ "text": ""
215
+ },
216
+ "complexType": {
217
+ "original": "{ page: number }",
218
+ "resolved": "{ page: number; }",
219
+ "references": {}
220
+ }
221
+ }];
222
+ }
223
+ static get elementRef() { return "el"; }
224
+ }
225
+ //# sourceMappingURL=ic-pagination-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ic-pagination-item.js","sourceRoot":"","sources":["../../../src/components/ic-pagination-item/ic-pagination-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,OAAO,EACP,CAAC,EACD,KAAK,GAEN,MAAM,eAAe,CAAC;AASvB,MAAM,OAAO,cAAc;;IAyCjB,gBAAW,GAAG,GAAG,EAAE;MACzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC;;oBAjC0B,KAAK;;oBAQL,KAAK;;iBAQT,OAAO;wBAIC,KAAK;;;EAerC,MAAM;IACJ,MAAM,EACJ,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,KAAK,EACL,YAAY,EACZ,KAAK,GACN,GAAG,IAAI,CAAC;IAET,OAAO,CACL,aACG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CACrB,WACE,KAAK,EAAE;QACL,CAAC,gBAAgB,CAAC,EAAE,IAAI;QACxB,CAAC,UAAU,CAAC,EAAE,IAAI;QAClB,CAAC,UAAU,CAAC,EAAE,QAAQ;OACvB;MAED,qBACE,KAAK,EAAE;UACL,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,IAAI;SACxB,EACD,OAAO,EAAC,OAAO,UAGD,CACZ,CACP,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CACpB,cACE,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAC/B,IAAI,EAAC,QAAQ,kBACC,QAAQ,IAAI,cAAc,gBAC5B,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,EACjE,KAAK,EAAE;QACL,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,IAAI,QAAQ;QACnC,CAAC,UAAU,CAAC,EAAE,QAAQ;QACtB,CAAC,gBAAgB,CAAC,EAAE,IAAI;QACxB,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,IAAI;QACvB,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,MAAM;OAC1B;MAED,qBACE,OAAO,EAAC,OAAO,EACf,KAAK,EAAE;UACL,CAAC,eAAe,CAAC,EAAE,QAAQ;UAC3B,CAAC,UAAU,CAAC,EAAE,QAAQ;UACtB,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,IAAI;SACxB,IAEA,IAAI,CACS,CACT,CACV,CAAC,CAAC,CAAC,CACF,kCACY,QAAQ,gBAEhB,YAAY,CAAC,CAAC,CAAC,QAAQ,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,EAEhE,KAAK,EAAE,kBAAkB,UAAU,EAAE,EACrC,OAAO,EAAC,OAAO;MAEd,KAAK;;MAAG,IAAI,CACC,CACjB,CACC,CACL,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Prop,\n Element,\n h,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\nimport { IcPaginationItemType } from \"./ic-pagination-item.types\";\nimport { IcThemeForeground } from \"../../interface\";\n\n@Component({\n tag: \"ic-pagination-item\",\n styleUrl: \"ic-pagination-item.css\",\n shadow: true,\n})\nexport class PaginationItem {\n @Element() el: HTMLIcPaginationItemElement;\n\n /**\n * The current page number.\n */\n @Prop() page: number | null;\n /**\n * If `true`, the pagination item will be selected.\n */\n @Prop() selected: boolean = false;\n /**\n * The type of pagination item - 'page' or 'ellipsis'.\n */\n @Prop() type: IcPaginationItemType;\n /**\n * If `true`, the pagination item will be disabled.\n */\n @Prop() disabled: boolean = false;\n /**\n * The appearance of the pagination, e.g. dark, light or the default.\n */\n @Prop() appearance: IcThemeForeground;\n /**\n * The label for the pagination item (applicable when simple pagination is being used).\n */\n @Prop() label: string = \"Page \";\n /**\n * If true the aria-label will be set to `Page X of Y`, where X is the current page and Y is the page count.\n */\n @Prop() ariaOverride: boolean = false;\n /**\n * The total number of pages.\n */\n @Prop() pages: number;\n\n /**\n * @internal - Emitted when a pagination item is clicked.\n */\n @Event() paginationItemClick: EventEmitter<{ page: number }>;\n\n private handleClick = () => {\n this.paginationItemClick.emit({ page: this.page });\n };\n\n render() {\n const {\n page,\n selected,\n type,\n disabled,\n appearance,\n label,\n ariaOverride,\n pages,\n } = this;\n\n return (\n <a>\n {type === \"ellipsis\" ? (\n <div\n class={{\n [\"item-container\"]: true,\n [\"ellipsis\"]: true,\n [\"disabled\"]: disabled,\n }}\n >\n <ic-typography\n class={{\n [`${appearance}`]: true,\n }}\n variant=\"label\"\n >\n ...\n </ic-typography>\n </div>\n ) : type === \"page\" ? (\n <button\n disabled={disabled}\n onClick={this.handleClick}\n tabindex={selected ? \"-1\" : \"0\"}\n role=\"button\"\n aria-current={selected && \"Current page\"}\n aria-label={selected ? `${label}: ${page}` : `Go to page ${page}`}\n class={{\n [\"selected\"]: !disabled && selected,\n [\"disabled\"]: disabled,\n [\"item-container\"]: true,\n [`${appearance}`]: true,\n [\"page\"]: type === \"page\",\n }}\n >\n <ic-typography\n variant=\"label\"\n class={{\n [\"page-selected\"]: selected,\n [\"disabled\"]: disabled,\n [`${appearance}`]: true,\n }}\n >\n {page}\n </ic-typography>\n </button>\n ) : (\n <ic-typography\n aria-live=\"polite\"\n aria-label={\n ariaOverride ? `Page ${page} of ${pages}` : `${label} ${page}`\n }\n class={`simple-current ${appearance}`}\n variant=\"label\"\n >\n {label} {page}\n </ic-typography>\n )}\n </a>\n );\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ic-pagination-item.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ic-pagination-item.types.js","sourceRoot":"","sources":["../../../src/components/ic-pagination-item/ic-pagination-item.types.ts"],"names":[],"mappings":"","sourcesContent":["export type IcPaginationItemType = \"page\" | \"ellipsis\" | \"simple-current\";\n"]}
@@ -440,7 +440,8 @@ video {
440
440
  vertical-align: baseline;
441
441
  }
442
442
 
443
- /** 
443
+
444
+ /**
444
445
  * @prop --ic-z-index-popover: z-index of popover menu. 
445
446
  * @prop --max-height: Maximum height of the popover menu.
446
447
  * @prop --popover-width: Default width of the popover menu.
@@ -542,10 +542,6 @@ video {
542
542
  width: 100%;
543
543
  }
544
544
 
545
- ic-menu {
546
- transition: var(--ic-easing-transition-slow);
547
- }
548
-
549
545
  .no-results {
550
546
  cursor: not-allowed;
551
547
  }
@@ -4,6 +4,7 @@ import { getInputDescribedByText, renderHiddenInput, handleHiddenFormButtonClick
4
4
  import clearIcon from "../../assets/clear-icon.svg";
5
5
  import searchIcon from "../../assets/search-icon.svg";
6
6
  let inputIds = 0;
7
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
7
8
  export class SearchBar {
8
9
  constructor() {
9
10
  this.inputId = `ic-search-bar-input-${inputIds++}`;
@@ -12,6 +13,10 @@ export class SearchBar {
12
13
  this.truncateValue = false;
13
14
  this.assistiveHintEl = null;
14
15
  this.preventSubmit = false;
16
+ this.prevNoOption = false;
17
+ this.hasTimedOut = false;
18
+ this.preLoad = true;
19
+ this.retryButtonClick = false;
15
20
  this.handleSubmitSearch = () => {
16
21
  this.highlightedValue && (this.value = this.highlightedValue);
17
22
  this.highlightedValue = undefined;
@@ -27,6 +32,26 @@ export class SearchBar {
27
32
  this.handleSubmitSearch();
28
33
  }
29
34
  };
35
+ this.handleRetry = (ev) => {
36
+ this.retryViaKeyPress = ev.detail.keyPressed === "Enter";
37
+ this.icRetryLoad.emit({ value: ev.detail.value });
38
+ this.triggerLoading();
39
+ this.retryButtonClick = true;
40
+ };
41
+ this.triggerLoading = () => {
42
+ const loadingOption = [
43
+ { label: this.loadingLabel, value: "", loading: true },
44
+ ];
45
+ if (this.filteredOptions !== loadingOption)
46
+ this.filteredOptions = loadingOption;
47
+ if (this.timeout) {
48
+ this.timeoutTimer = window.setTimeout(() => {
49
+ this.filteredOptions = [
50
+ { label: this.loadingErrorLabel, value: "", timedOut: true },
51
+ ];
52
+ }, this.timeout);
53
+ }
54
+ };
30
55
  this.onInput = (ev) => {
31
56
  this.value = ev.target.value;
32
57
  const noOptions = [{ label: this.emptyOptionListText, value: "" }];
@@ -127,13 +152,22 @@ export class SearchBar {
127
152
  };
128
153
  this.handleHostBlur = (ev) => {
129
154
  const nextFocus = ev.relatedTarget;
130
- if (this.open && this.options && nextFocus !== this.menu) {
155
+ if (this.open &&
156
+ this.options &&
157
+ nextFocus !== this.menu &&
158
+ !this.retryViaKeyPress &&
159
+ !this.retryButtonClick) {
131
160
  this.setMenuChange(false);
132
161
  }
162
+ if (this.retryButtonClick || this.retryViaKeyPress) {
163
+ this.inputEl.setFocus();
164
+ }
133
165
  this.handleShowClearButton(false);
134
166
  this.handleMenuCloseFromMenuChange(false);
135
167
  this.handleTruncateValue(true);
136
168
  this.icSearchBarBlur.emit({ relatedTarget: nextFocus, value: this.value });
169
+ this.retryViaKeyPress = false;
170
+ this.retryButtonClick = false;
137
171
  };
138
172
  this.handleShowClearButton = (visible) => {
139
173
  this.showClearButton = visible;
@@ -173,7 +207,8 @@ export class SearchBar {
173
207
  else if (this.hasOptionsOrFilterDisabled() &&
174
208
  this.filteredOptions.length > 0 &&
175
209
  this.open &&
176
- searchResultsStatusEl) {
210
+ searchResultsStatusEl &&
211
+ !this.filteredOptions[0].loading) {
177
212
  if (this.hadNoOptions()) {
178
213
  searchResultsStatusEl.innerText = this.emptyOptionListText;
179
214
  }
@@ -188,14 +223,21 @@ export class SearchBar {
188
223
  this.isSubmitDisabled = () => {
189
224
  const valueNotSet = this.value === undefined || this.value === null || this.value === "";
190
225
  const valueLengthLess = this.value.length < this.charactersUntilSuggestion;
191
- return (valueNotSet || valueLengthLess || this.disabled || this.hadNoOptions());
226
+ return (valueNotSet ||
227
+ valueLengthLess ||
228
+ this.disabled ||
229
+ this.hadNoOptions() ||
230
+ this.hasTimedOut ||
231
+ this.loading);
192
232
  };
193
233
  this.highlightFirstOptionAfterNoResults = () => {
194
- if (this.prevNoOption && this.menu) {
234
+ if (this.prevNoOption && this.menu && !this.hasTimedOut) {
195
235
  this.menu.handleSetFirstOption();
196
236
  this.prevNoOption = false;
197
237
  }
198
- const prevNoOptionsList = this.filteredOptions.find((filteredOption) => filteredOption.label === this.emptyOptionListText);
238
+ const prevNoOptionsList = this.filteredOptions.find((filteredOption) => filteredOption.label === this.emptyOptionListText ||
239
+ filteredOption.label === this.loadingErrorLabel ||
240
+ filteredOption.label === this.loadingLabel);
199
241
  if (prevNoOptionsList) {
200
242
  this.prevNoOption = true;
201
243
  }
@@ -219,6 +261,10 @@ export class SearchBar {
219
261
  this.name = this.inputId;
220
262
  this.spellcheck = false;
221
263
  this.options = [];
264
+ this.timeout = undefined;
265
+ this.loadingLabel = "Loading...";
266
+ this.loadingErrorLabel = "Loading Error";
267
+ this.loading = false;
222
268
  this.focusOnLoad = false;
223
269
  this.hintText = "When autocomplete results are available use the up and down arrows to choose and press enter to select";
224
270
  this.emptyOptionListText = "No results found";
@@ -229,11 +275,21 @@ export class SearchBar {
229
275
  this.showClearButton = false;
230
276
  this.clearButtonFocused = false;
231
277
  this.searchSubmitFocused = false;
232
- this.prevNoOption = false;
233
278
  this.highlightedValue = undefined;
234
279
  }
280
+ loadingHandler(newValue) {
281
+ if (newValue && !this.hasTimedOut) {
282
+ this.preLoad = false;
283
+ this.triggerLoading();
284
+ }
285
+ }
286
+ filteredOptionsHandler(newOptions) {
287
+ this.hasTimedOut = newOptions.some((opt) => opt.timedOut);
288
+ }
235
289
  watchOptionsHandler(newOptions) {
236
- if (this.disableFilter) {
290
+ if (this.disableFilter && !this.hasTimedOut) {
291
+ this.loading = false;
292
+ clearTimeout(this.timeoutTimer);
237
293
  if (newOptions.length > 0) {
238
294
  this.filteredOptions = newOptions;
239
295
  }
@@ -242,7 +298,11 @@ export class SearchBar {
242
298
  return;
243
299
  }
244
300
  this.setMenuChange(true);
245
- this.filteredOptions = [{ label: this.emptyOptionListText, value: "" }];
301
+ !this.preLoad &&
302
+ (this.filteredOptions = [
303
+ { label: this.emptyOptionListText, value: "" },
304
+ ]);
305
+ this.preLoad = true;
246
306
  }
247
307
  }
248
308
  this.debounceAriaLiveUpdate();
@@ -261,6 +321,8 @@ export class SearchBar {
261
321
  * Sets focus on the native `input`.
262
322
  */
263
323
  async setFocus() {
324
+ this.retryViaKeyPress = false;
325
+ this.retryButtonClick = false;
264
326
  if (this.inputEl) {
265
327
  this.inputEl.setFocus();
266
328
  }
@@ -338,6 +400,9 @@ export class SearchBar {
338
400
  const disabledText = disabledMode && !readonly;
339
401
  const hasSuggestedSearch = value && this.hasOptionsOrFilterDisabled();
340
402
  const menuOpen = hasSuggestedSearch && open && filteredOptions.length > 0;
403
+ const isOrHasLoaded = this.filteredOptions.length === 1 &&
404
+ (this.filteredOptions[0].label === this.loadingLabel ||
405
+ filteredOptions[0].label === this.loadingErrorLabel);
341
406
  let expanded;
342
407
  if (options.length > 0) {
343
408
  if (menuOpen) {
@@ -375,8 +440,8 @@ export class SearchBar {
375
440
  "menu-container": true,
376
441
  fullwidth: fullWidth,
377
442
  }, slot: "menu" }, menuOpen && value.length >= this.charactersUntilSuggestion && (h("ic-menu", { class: {
378
- "no-results": this.hadNoOptions(),
379
- }, activationType: "manual", anchorEl: this.anchorEl, autoFocusOnSelected: false, inputEl: this.inputEl, inputLabel: label, ref: (el) => (this.menu = el), small: small, fullWidth: fullWidth, menuId: menuId, open: true, options: filteredOptions, onMenuOptionSelect: this.handleOptionSelect, onMenuStateChange: this.handleMenuChange, onMenuOptionId: this.handleMenuOptionHighlight, parentEl: this.el, value: value })))), h("div", { "aria-live": "polite", role: "status", class: "search-results-status" })));
443
+ "no-results": this.hadNoOptions() || isOrHasLoaded,
444
+ }, activationType: "manual", anchorEl: this.anchorEl, autoFocusOnSelected: false, inputEl: this.inputEl, inputLabel: label, ref: (el) => (this.menu = el), small: small, fullWidth: fullWidth, menuId: menuId, open: true, options: filteredOptions, onMenuOptionSelect: this.handleOptionSelect, onMenuStateChange: this.handleMenuChange, onMenuOptionId: this.handleMenuOptionHighlight, onRetryButtonClicked: this.handleRetry, parentEl: this.el, value: value })))), h("div", { "aria-live": "polite", role: "status", class: "search-results-status" })));
380
445
  }
381
446
  static get is() { return "ic-search-bar"; }
382
447
  static get encapsulation() { return "shadow"; }
@@ -747,6 +812,77 @@ export class SearchBar {
747
812
  },
748
813
  "defaultValue": "[]"
749
814
  },
815
+ "timeout": {
816
+ "type": "number",
817
+ "mutable": false,
818
+ "complexType": {
819
+ "original": "number",
820
+ "resolved": "number",
821
+ "references": {}
822
+ },
823
+ "required": false,
824
+ "optional": true,
825
+ "docs": {
826
+ "tags": [],
827
+ "text": "If using external filtering, set a timeout for when loading takes too long."
828
+ },
829
+ "attribute": "timeout",
830
+ "reflect": false
831
+ },
832
+ "loadingLabel": {
833
+ "type": "string",
834
+ "mutable": false,
835
+ "complexType": {
836
+ "original": "string",
837
+ "resolved": "string",
838
+ "references": {}
839
+ },
840
+ "required": false,
841
+ "optional": true,
842
+ "docs": {
843
+ "tags": [],
844
+ "text": "Change the message displayed whilst the options are being loaded externally."
845
+ },
846
+ "attribute": "loading-label",
847
+ "reflect": false,
848
+ "defaultValue": "\"Loading...\""
849
+ },
850
+ "loadingErrorLabel": {
851
+ "type": "string",
852
+ "mutable": false,
853
+ "complexType": {
854
+ "original": "string",
855
+ "resolved": "string",
856
+ "references": {}
857
+ },
858
+ "required": false,
859
+ "optional": true,
860
+ "docs": {
861
+ "tags": [],
862
+ "text": "Change the message displayed when external loading times out."
863
+ },
864
+ "attribute": "loading-error-label",
865
+ "reflect": false,
866
+ "defaultValue": "\"Loading Error\""
867
+ },
868
+ "loading": {
869
+ "type": "boolean",
870
+ "mutable": true,
871
+ "complexType": {
872
+ "original": "boolean",
873
+ "resolved": "boolean",
874
+ "references": {}
875
+ },
876
+ "required": false,
877
+ "optional": true,
878
+ "docs": {
879
+ "tags": [],
880
+ "text": "Trigger loading state when fetching options asyncronously"
881
+ },
882
+ "attribute": "loading",
883
+ "reflect": false,
884
+ "defaultValue": "false"
885
+ },
750
886
  "focusOnLoad": {
751
887
  "type": "boolean",
752
888
  "mutable": false,
@@ -829,7 +965,6 @@ export class SearchBar {
829
965
  "showClearButton": {},
830
966
  "clearButtonFocused": {},
831
967
  "searchSubmitFocused": {},
832
- "prevNoOption": {},
833
968
  "highlightedValue": {}
834
969
  };
835
970
  }
@@ -1076,6 +1211,26 @@ export class SearchBar {
1076
1211
  "resolved": "void",
1077
1212
  "references": {}
1078
1213
  }
1214
+ }, {
1215
+ "method": "icRetryLoad",
1216
+ "name": "icRetryLoad",
1217
+ "bubbles": true,
1218
+ "cancelable": true,
1219
+ "composed": true,
1220
+ "docs": {
1221
+ "tags": [],
1222
+ "text": "Emitted when the 'retry loading' button is clicked"
1223
+ },
1224
+ "complexType": {
1225
+ "original": "IcValueEventDetail",
1226
+ "resolved": "IcValueEventDetail",
1227
+ "references": {
1228
+ "IcValueEventDetail": {
1229
+ "location": "import",
1230
+ "path": "../../interface"
1231
+ }
1232
+ }
1233
+ }
1079
1234
  }];
1080
1235
  }
1081
1236
  static get methods() {
@@ -1101,6 +1256,12 @@ export class SearchBar {
1101
1256
  static get elementRef() { return "el"; }
1102
1257
  static get watchers() {
1103
1258
  return [{
1259
+ "propName": "loading",
1260
+ "methodName": "loadingHandler"
1261
+ }, {
1262
+ "propName": "filteredOptions",
1263
+ "methodName": "filteredOptionsHandler"
1264
+ }, {
1104
1265
  "propName": "options",
1105
1266
  "methodName": "watchOptionsHandler"
1106
1267
  }, {