@ukic/web-components 2.5.0 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (684) hide show
  1. package/dist/cjs/core.cjs.js +2 -2
  2. package/dist/cjs/{helpers-d166f875.js → helpers-498eb0e2.js} +8 -1
  3. package/dist/cjs/helpers-498eb0e2.js.map +1 -0
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-accordion.cjs.entry.js +2 -2
  7. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  8. package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -2
  9. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-badge.cjs.entry.js +10 -6
  11. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +6 -4
  13. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-breadcrumb.cjs.entry.js +5 -5
  15. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-button_3.cjs.entry.js +70 -71
  17. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-card.cjs.entry.js +4 -4
  19. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-checkbox-group.cjs.entry.js +6 -6
  21. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-checkbox.cjs.entry.js +22 -16
  23. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-chip.cjs.entry.js +11 -6
  25. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
  27. package/dist/cjs/ic-data-entity.cjs.entry.js +6 -5
  28. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-data-row.cjs.entry.js +5 -4
  30. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-dialog.cjs.entry.js +46 -10
  32. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-divider.cjs.entry.js +2 -2
  34. package/dist/cjs/ic-empty-state.cjs.entry.js +5 -4
  35. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
  37. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  38. package/dist/cjs/ic-footer.cjs.entry.js +2 -2
  39. package/dist/cjs/ic-hero.cjs.entry.js +9 -6
  40. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +2 -2
  42. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +42 -23
  43. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-input-label_2.cjs.entry.js +5 -4
  45. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-link.cjs.entry.js +3 -6
  47. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-menu-group.cjs.entry.js +4 -2
  49. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-menu-item.cjs.entry.js +11 -15
  51. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-navigation-button.cjs.entry.js +3 -3
  53. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -2
  55. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-navigation-item.cjs.entry.js +4 -4
  57. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-navigation-menu.cjs.entry.js +2 -2
  59. package/dist/cjs/ic-page-header.cjs.entry.js +8 -4
  60. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
  62. package/dist/cjs/ic-pagination.cjs.entry.js +6 -6
  63. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-popover-menu.cjs.entry.js +21 -21
  65. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-radio-group.cjs.entry.js +9 -8
  67. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-radio-option.cjs.entry.js +21 -15
  69. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-search-bar.cjs.entry.js +27 -22
  71. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-section-container.cjs.entry.js +1 -1
  73. package/dist/cjs/ic-select.cjs.entry.js +24 -17
  74. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-side-navigation.cjs.entry.js +23 -21
  76. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-skeleton.cjs.entry.js +4 -3
  78. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-status-tag.cjs.entry.js +14 -6
  80. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-step.cjs.entry.js +7 -5
  82. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-stepper.cjs.entry.js +2 -2
  84. package/dist/cjs/ic-switch.cjs.entry.js +7 -6
  85. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-tab-context.cjs.entry.js +4 -4
  87. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-tab-group.cjs.entry.js +2 -3
  89. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-tab-panel.cjs.entry.js +5 -4
  91. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-tab.cjs.entry.js +8 -8
  93. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-text-field.cjs.entry.js +5 -6
  95. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  97. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  98. package/dist/cjs/ic-toast.cjs.entry.js +3 -3
  99. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-top-navigation.cjs.entry.js +5 -5
  101. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-typography.cjs.entry.js +12 -4
  103. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  104. package/dist/cjs/{index-afe53465.js → index-4f8c900f.js} +14 -1
  105. package/dist/cjs/index-4f8c900f.js.map +1 -0
  106. package/dist/cjs/loader.cjs.js +2 -2
  107. package/dist/cjs/types-7d67439f.js.map +1 -1
  108. package/dist/collection/collection-manifest.json +3 -3
  109. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +0 -1
  110. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  111. package/dist/collection/components/ic-badge/ic-badge.js +38 -15
  112. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  113. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +92 -0
  114. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +1 -1
  115. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +4 -4
  116. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  117. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +4 -2
  118. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  119. package/dist/collection/components/ic-button/ic-button.css +36 -19
  120. package/dist/collection/components/ic-button/ic-button.js +98 -62
  121. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  122. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +30 -2
  123. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +1 -1
  124. package/dist/collection/components/ic-card/ic-card.css +1 -0
  125. package/dist/collection/components/ic-card/ic-card.js +2 -1
  126. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  127. package/dist/collection/components/ic-checkbox/ic-checkbox.js +126 -15
  128. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  129. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +4 -4
  130. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  131. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +7 -0
  132. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +1 -1
  133. package/dist/collection/components/ic-chip/ic-chip.css +10 -5
  134. package/dist/collection/components/ic-chip/ic-chip.js +38 -7
  135. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  136. package/dist/collection/components/ic-data-entity/ic-data-entity.js +38 -7
  137. package/dist/collection/components/ic-data-entity/ic-data-entity.js.map +1 -1
  138. package/dist/collection/components/ic-data-entity/test/basic/ic-data-entity.spec.js +3 -3
  139. package/dist/collection/components/ic-data-entity/test/basic/ic-data-entity.spec.js.map +1 -1
  140. package/dist/collection/components/ic-data-row/ic-data-row.js +33 -5
  141. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  142. package/dist/collection/components/ic-dialog/ic-dialog.js +91 -19
  143. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  144. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js +4 -4
  145. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js.map +1 -1
  146. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +58 -0
  147. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -1
  148. package/dist/collection/components/ic-empty-state/ic-empty-state.js +8 -4
  149. package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -1
  150. package/dist/collection/components/ic-hero/ic-hero.js +38 -8
  151. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  152. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +61 -11
  153. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  154. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +2 -2
  155. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +1 -1
  156. package/dist/collection/components/ic-input-label/ic-input-label.js +26 -4
  157. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  158. package/dist/collection/components/ic-link/ic-link.js +1 -4
  159. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  160. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +6 -5
  161. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  162. package/dist/collection/components/ic-menu/ic-menu.js +62 -18
  163. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  164. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +19 -2
  165. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
  166. package/dist/collection/components/ic-menu-group/ic-menu-group.js +2 -1
  167. package/dist/collection/components/ic-menu-group/ic-menu-group.js.map +1 -1
  168. package/dist/collection/components/ic-menu-item/ic-menu-item.js +10 -14
  169. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  170. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +3 -2
  171. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  172. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +1 -0
  173. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +1 -0
  174. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +3 -2
  175. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  176. package/dist/collection/components/ic-page-header/ic-page-header.js +35 -4
  177. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  178. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  179. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  180. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +20 -20
  181. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  182. package/dist/collection/components/ic-radio-group/ic-radio-group.js +37 -9
  183. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  184. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +7 -0
  185. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -1
  186. package/dist/collection/components/ic-radio-option/ic-radio-option.js +125 -14
  187. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  188. package/dist/collection/components/ic-search-bar/ic-search-bar.js +54 -22
  189. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  190. package/dist/collection/components/ic-select/ic-select.js +154 -18
  191. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  192. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +7 -0
  193. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
  194. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +226 -224
  195. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +39 -19
  196. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  197. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js +1 -1
  198. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js.map +1 -1
  199. package/dist/collection/components/ic-skeleton/ic-skeleton.js +26 -4
  200. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  201. package/dist/collection/components/ic-status-tag/ic-status-tag.js +71 -10
  202. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  203. package/dist/collection/components/ic-step/ic-step.js +5 -4
  204. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  205. package/dist/collection/components/ic-switch/ic-switch.js +34 -6
  206. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  207. package/dist/collection/components/ic-tab/ic-tab.js +6 -6
  208. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  209. package/dist/collection/components/ic-tab-context/ic-tab-context.js +3 -3
  210. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  211. package/dist/collection/components/ic-tab-group/ic-tab-group.js +0 -1
  212. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  213. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +4 -3
  214. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  215. package/dist/collection/components/ic-text-field/ic-text-field.js +34 -8
  216. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  217. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +1 -1
  218. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -1
  219. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +17 -17
  220. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +1 -1
  221. package/dist/collection/components/ic-toast/ic-toast.js +2 -2
  222. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  223. package/dist/collection/components/ic-tooltip/ic-tooltip.css +7 -1
  224. package/dist/collection/components/ic-tooltip/ic-tooltip.js +25 -29
  225. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  226. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js +0 -8
  227. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js.map +1 -1
  228. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +10 -1
  229. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +1 -1
  230. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +4 -4
  231. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  232. package/dist/collection/components/ic-typography/ic-typography.js +10 -2
  233. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  234. package/dist/collection/utils/constants.js +2 -0
  235. package/dist/collection/utils/constants.js.map +1 -1
  236. package/dist/collection/utils/helpers.js +4 -0
  237. package/dist/collection/utils/helpers.js.map +1 -1
  238. package/dist/collection/utils/types.js.map +1 -1
  239. package/dist/components/helpers.js +7 -1
  240. package/dist/components/helpers.js.map +1 -1
  241. package/dist/components/ic-accordion-group.js.map +1 -1
  242. package/dist/components/ic-back-to-top.js +1 -1
  243. package/dist/components/ic-badge.js +10 -6
  244. package/dist/components/ic-badge.js.map +1 -1
  245. package/dist/components/ic-breadcrumb-group.js +5 -3
  246. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  247. package/dist/components/ic-breadcrumb2.js +4 -4
  248. package/dist/components/ic-breadcrumb2.js.map +1 -1
  249. package/dist/components/ic-button2.js +62 -42
  250. package/dist/components/ic-button2.js.map +1 -1
  251. package/dist/components/ic-card.js +2 -2
  252. package/dist/components/ic-card.js.map +1 -1
  253. package/dist/components/ic-checkbox-group.js +5 -5
  254. package/dist/components/ic-checkbox-group.js.map +1 -1
  255. package/dist/components/ic-checkbox.js +27 -15
  256. package/dist/components/ic-checkbox.js.map +1 -1
  257. package/dist/components/ic-chip.js +10 -4
  258. package/dist/components/ic-chip.js.map +1 -1
  259. package/dist/components/ic-data-entity.js +6 -4
  260. package/dist/components/ic-data-entity.js.map +1 -1
  261. package/dist/components/ic-data-row.js +5 -3
  262. package/dist/components/ic-data-row.js.map +1 -1
  263. package/dist/components/ic-dialog.js +47 -9
  264. package/dist/components/ic-dialog.js.map +1 -1
  265. package/dist/components/ic-divider2.js +1 -1
  266. package/dist/components/ic-empty-state.js +4 -3
  267. package/dist/components/ic-empty-state.js.map +1 -1
  268. package/dist/components/ic-footer-link-group.js +1 -1
  269. package/dist/components/ic-footer-link.js +1 -1
  270. package/dist/components/ic-footer.js +1 -1
  271. package/dist/components/ic-hero.js +9 -5
  272. package/dist/components/ic-hero.js.map +1 -1
  273. package/dist/components/ic-horizontal-scroll2.js +1 -1
  274. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  275. package/dist/components/ic-input-component-container2.js +11 -7
  276. package/dist/components/ic-input-component-container2.js.map +1 -1
  277. package/dist/components/ic-input-label2.js +5 -3
  278. package/dist/components/ic-input-label2.js.map +1 -1
  279. package/dist/components/ic-input-validation2.js +1 -1
  280. package/dist/components/ic-link2.js +1 -4
  281. package/dist/components/ic-link2.js.map +1 -1
  282. package/dist/components/ic-loading-indicator2.js +6 -5
  283. package/dist/components/ic-loading-indicator2.js.map +1 -1
  284. package/dist/components/ic-menu-group.js +2 -1
  285. package/dist/components/ic-menu-group.js.map +1 -1
  286. package/dist/components/ic-menu-item2.js +10 -14
  287. package/dist/components/ic-menu-item2.js.map +1 -1
  288. package/dist/components/ic-menu2.js +34 -16
  289. package/dist/components/ic-menu2.js.map +1 -1
  290. package/dist/components/ic-navigation-button.js +2 -2
  291. package/dist/components/ic-navigation-button.js.map +1 -1
  292. package/dist/components/ic-navigation-group.js +1 -1
  293. package/dist/components/ic-navigation-group.js.map +1 -1
  294. package/dist/components/ic-navigation-item.js +3 -3
  295. package/dist/components/ic-navigation-item.js.map +1 -1
  296. package/dist/components/ic-navigation-menu2.js +1 -1
  297. package/dist/components/ic-page-header.js +8 -3
  298. package/dist/components/ic-page-header.js.map +1 -1
  299. package/dist/components/ic-pagination.js +4 -4
  300. package/dist/components/ic-pagination.js.map +1 -1
  301. package/dist/components/ic-popover-menu.js +20 -20
  302. package/dist/components/ic-popover-menu.js.map +1 -1
  303. package/dist/components/ic-radio-group.js +9 -7
  304. package/dist/components/ic-radio-group.js.map +1 -1
  305. package/dist/components/ic-radio-option.js +26 -14
  306. package/dist/components/ic-radio-option.js.map +1 -1
  307. package/dist/components/ic-search-bar.js +27 -21
  308. package/dist/components/ic-search-bar.js.map +1 -1
  309. package/dist/components/ic-select.js +30 -16
  310. package/dist/components/ic-select.js.map +1 -1
  311. package/dist/components/ic-side-navigation.js +23 -20
  312. package/dist/components/ic-side-navigation.js.map +1 -1
  313. package/dist/components/ic-skeleton.js +4 -2
  314. package/dist/components/ic-skeleton.js.map +1 -1
  315. package/dist/components/ic-status-tag.js +15 -5
  316. package/dist/components/ic-status-tag.js.map +1 -1
  317. package/dist/components/ic-step.js +5 -4
  318. package/dist/components/ic-step.js.map +1 -1
  319. package/dist/components/ic-stepper.js +1 -1
  320. package/dist/components/ic-switch.js +7 -5
  321. package/dist/components/ic-switch.js.map +1 -1
  322. package/dist/components/ic-tab-context.js +3 -3
  323. package/dist/components/ic-tab-context.js.map +1 -1
  324. package/dist/components/ic-tab-group.js +0 -1
  325. package/dist/components/ic-tab-group.js.map +1 -1
  326. package/dist/components/ic-tab-panel.js +4 -3
  327. package/dist/components/ic-tab-panel.js.map +1 -1
  328. package/dist/components/ic-tab.js +6 -6
  329. package/dist/components/ic-tab.js.map +1 -1
  330. package/dist/components/ic-text-field2.js +6 -6
  331. package/dist/components/ic-text-field2.js.map +1 -1
  332. package/dist/components/ic-theme.js +1 -1
  333. package/dist/components/ic-toast.js +2 -2
  334. package/dist/components/ic-toast.js.map +1 -1
  335. package/dist/components/ic-tooltip2.js +9 -28
  336. package/dist/components/ic-tooltip2.js.map +1 -1
  337. package/dist/components/ic-top-navigation.js +4 -4
  338. package/dist/components/ic-top-navigation.js.map +1 -1
  339. package/dist/components/ic-typography2.js +10 -2
  340. package/dist/components/ic-typography2.js.map +1 -1
  341. package/dist/components/types.js.map +1 -1
  342. package/dist/core/core.esm.js +1 -1
  343. package/dist/core/core.esm.js.map +1 -1
  344. package/dist/core/p-027ea4ff.entry.js +2 -0
  345. package/dist/core/{p-9ee852d9.entry.js → p-09022de8.entry.js} +2 -2
  346. package/dist/core/{p-ac82781b.entry.js → p-09eb825d.entry.js} +2 -2
  347. package/dist/core/p-0baa2141.entry.js +2 -0
  348. package/dist/core/p-0baa2141.entry.js.map +1 -0
  349. package/dist/core/p-0dd70d92.entry.js +2 -0
  350. package/dist/core/p-0dd70d92.entry.js.map +1 -0
  351. package/dist/core/p-134b407d.entry.js +2 -0
  352. package/dist/core/p-134b407d.entry.js.map +1 -0
  353. package/dist/core/p-1a5353ed.entry.js +2 -0
  354. package/dist/core/p-1a5353ed.entry.js.map +1 -0
  355. package/dist/core/{p-675fe4db.entry.js → p-27b46a68.entry.js} +2 -2
  356. package/dist/core/p-27b46a68.entry.js.map +1 -0
  357. package/dist/core/{p-64999983.entry.js → p-30f9fabc.entry.js} +2 -2
  358. package/dist/core/p-30f9fabc.entry.js.map +1 -0
  359. package/dist/core/{p-4fbe1dc3.entry.js → p-31236329.entry.js} +2 -2
  360. package/dist/core/p-31236329.entry.js.map +1 -0
  361. package/dist/core/{p-4ef8342f.entry.js → p-3758c2b5.entry.js} +2 -2
  362. package/dist/core/{p-60fef702.entry.js → p-39db6642.entry.js} +2 -2
  363. package/dist/core/p-39db6642.entry.js.map +1 -0
  364. package/dist/core/p-409e437f.js +2 -0
  365. package/dist/core/p-409e437f.js.map +1 -0
  366. package/dist/core/{p-e904d985.entry.js → p-4164e7d5.entry.js} +2 -2
  367. package/dist/core/{p-0e1a4f8d.entry.js → p-46053a32.entry.js} +2 -2
  368. package/dist/core/p-46053a32.entry.js.map +1 -0
  369. package/dist/core/{p-0fdb1e52.entry.js → p-48525498.entry.js} +2 -2
  370. package/dist/core/p-4af7cb4c.entry.js +2 -0
  371. package/dist/core/p-4af7cb4c.entry.js.map +1 -0
  372. package/dist/core/{p-cf95dd66.entry.js → p-500e8584.entry.js} +2 -2
  373. package/dist/core/{p-1650c1c2.entry.js → p-522947f5.entry.js} +2 -2
  374. package/dist/core/p-522947f5.entry.js.map +1 -0
  375. package/dist/core/{p-b42b8ffa.entry.js → p-53533992.entry.js} +2 -2
  376. package/dist/core/p-536b3c97.entry.js +2 -0
  377. package/dist/core/p-536b3c97.entry.js.map +1 -0
  378. package/dist/core/{p-4f070381.entry.js → p-5bb6c79b.entry.js} +2 -2
  379. package/dist/core/p-5bb6c79b.entry.js.map +1 -0
  380. package/dist/core/{p-913da6d0.entry.js → p-5c722379.entry.js} +2 -2
  381. package/dist/core/{p-913da6d0.entry.js.map → p-5c722379.entry.js.map} +1 -1
  382. package/dist/core/p-5c9457e2.entry.js +2 -0
  383. package/dist/core/p-5c9457e2.entry.js.map +1 -0
  384. package/dist/core/p-613aa265.js.map +1 -1
  385. package/dist/core/p-6286ad7b.entry.js +2 -0
  386. package/dist/core/p-6286ad7b.entry.js.map +1 -0
  387. package/dist/core/p-65715458.entry.js +2 -0
  388. package/dist/core/p-65715458.entry.js.map +1 -0
  389. package/dist/core/p-667711a8.entry.js +2 -0
  390. package/dist/core/p-667711a8.entry.js.map +1 -0
  391. package/dist/core/p-6991655b.entry.js +2 -0
  392. package/dist/core/p-6991655b.entry.js.map +1 -0
  393. package/dist/core/{p-038601a3.entry.js → p-69948c3e.entry.js} +2 -2
  394. package/dist/core/{p-038601a3.entry.js.map → p-69948c3e.entry.js.map} +1 -1
  395. package/dist/core/p-6ce0a089.entry.js +2 -0
  396. package/dist/core/p-6ce0a089.entry.js.map +1 -0
  397. package/dist/core/{p-0d71a937.entry.js → p-700559ee.entry.js} +2 -2
  398. package/dist/core/{p-05249867.entry.js → p-72d6619c.entry.js} +2 -2
  399. package/dist/core/{p-2184a72f.entry.js → p-78f0118c.entry.js} +2 -2
  400. package/dist/core/p-78f0118c.entry.js.map +1 -0
  401. package/dist/core/{p-ca6e5474.entry.js → p-7bc6eb83.entry.js} +2 -2
  402. package/dist/core/p-7c913098.entry.js +2 -0
  403. package/dist/core/p-7c913098.entry.js.map +1 -0
  404. package/dist/core/p-8ae11ca6.entry.js +2 -0
  405. package/dist/core/p-8ae11ca6.entry.js.map +1 -0
  406. package/dist/core/p-8fc9b82b.entry.js +2 -0
  407. package/dist/core/p-8fc9b82b.entry.js.map +1 -0
  408. package/dist/core/{p-85903a81.js → p-9d124fc7.js} +3 -3
  409. package/dist/core/p-9d124fc7.js.map +1 -0
  410. package/dist/core/p-9ea62161.entry.js +2 -0
  411. package/dist/core/p-9ea62161.entry.js.map +1 -0
  412. package/dist/core/p-a69c8001.entry.js +2 -0
  413. package/dist/core/p-a69c8001.entry.js.map +1 -0
  414. package/dist/core/p-ae1ed418.entry.js +2 -0
  415. package/dist/core/p-ae1ed418.entry.js.map +1 -0
  416. package/dist/core/{p-a388750d.entry.js → p-af9f1caa.entry.js} +2 -2
  417. package/dist/core/p-af9f1caa.entry.js.map +1 -0
  418. package/dist/core/{p-482397ae.entry.js → p-b80520e9.entry.js} +2 -2
  419. package/dist/core/p-ba25f08a.entry.js +2 -0
  420. package/dist/core/p-ba25f08a.entry.js.map +1 -0
  421. package/dist/core/p-bb085716.entry.js +2 -0
  422. package/dist/core/p-bb085716.entry.js.map +1 -0
  423. package/dist/core/{p-2d21de19.entry.js → p-bb3e7ce5.entry.js} +2 -2
  424. package/dist/core/p-bb3e7ce5.entry.js.map +1 -0
  425. package/dist/core/p-c01d43cf.entry.js +2 -0
  426. package/dist/core/p-c01d43cf.entry.js.map +1 -0
  427. package/dist/core/{p-d9fc7243.entry.js → p-c08b5a9a.entry.js} +2 -2
  428. package/dist/core/p-c08b5a9a.entry.js.map +1 -0
  429. package/dist/core/p-c5b6d645.entry.js +2 -0
  430. package/dist/core/p-c5b6d645.entry.js.map +1 -0
  431. package/dist/core/p-d4522596.entry.js +2 -0
  432. package/dist/core/p-d4522596.entry.js.map +1 -0
  433. package/dist/core/p-d8022cec.entry.js +2 -0
  434. package/dist/core/p-d8022cec.entry.js.map +1 -0
  435. package/dist/core/{p-e59d2d50.entry.js → p-e465a208.entry.js} +2 -2
  436. package/dist/core/{p-1db57a3f.entry.js → p-e71ec1fe.entry.js} +2 -2
  437. package/dist/core/p-e71ec1fe.entry.js.map +1 -0
  438. package/dist/core/{p-c1e8d13e.entry.js → p-ed256f1d.entry.js} +2 -2
  439. package/dist/core/p-f2f8e4aa.entry.js +2 -0
  440. package/dist/core/p-f2f8e4aa.entry.js.map +1 -0
  441. package/dist/core/p-f5947c60.entry.js +2 -0
  442. package/dist/core/p-f5947c60.entry.js.map +1 -0
  443. package/dist/core/p-f5d1a0d7.entry.js +2 -0
  444. package/dist/core/p-f5d1a0d7.entry.js.map +1 -0
  445. package/dist/core/{p-9bd160bb.entry.js → p-f62c902b.entry.js} +2 -2
  446. package/dist/core/p-f62c902b.entry.js.map +1 -0
  447. package/dist/core/p-fee7caf1.entry.js +2 -0
  448. package/dist/core/p-fee7caf1.entry.js.map +1 -0
  449. package/dist/esm/core.js +3 -3
  450. package/dist/esm/{helpers-81a88a11.js → helpers-c325e537.js} +8 -2
  451. package/dist/esm/helpers-c325e537.js.map +1 -0
  452. package/dist/esm/ic-accordion-group.entry.js +1 -1
  453. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  454. package/dist/esm/ic-accordion.entry.js +2 -2
  455. package/dist/esm/ic-alert.entry.js +2 -2
  456. package/dist/esm/ic-back-to-top.entry.js +2 -2
  457. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  458. package/dist/esm/ic-badge.entry.js +10 -6
  459. package/dist/esm/ic-badge.entry.js.map +1 -1
  460. package/dist/esm/ic-breadcrumb-group.entry.js +6 -4
  461. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  462. package/dist/esm/ic-breadcrumb.entry.js +5 -5
  463. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  464. package/dist/esm/ic-button_3.entry.js +70 -71
  465. package/dist/esm/ic-button_3.entry.js.map +1 -1
  466. package/dist/esm/ic-card.entry.js +4 -4
  467. package/dist/esm/ic-card.entry.js.map +1 -1
  468. package/dist/esm/ic-checkbox-group.entry.js +6 -6
  469. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  470. package/dist/esm/ic-checkbox.entry.js +22 -16
  471. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  472. package/dist/esm/ic-chip.entry.js +11 -6
  473. package/dist/esm/ic-chip.entry.js.map +1 -1
  474. package/dist/esm/ic-classification-banner.entry.js +1 -1
  475. package/dist/esm/ic-data-entity.entry.js +6 -5
  476. package/dist/esm/ic-data-entity.entry.js.map +1 -1
  477. package/dist/esm/ic-data-row.entry.js +5 -4
  478. package/dist/esm/ic-data-row.entry.js.map +1 -1
  479. package/dist/esm/ic-dialog.entry.js +46 -10
  480. package/dist/esm/ic-dialog.entry.js.map +1 -1
  481. package/dist/esm/ic-divider.entry.js +2 -2
  482. package/dist/esm/ic-empty-state.entry.js +5 -4
  483. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  484. package/dist/esm/ic-footer-link-group.entry.js +2 -2
  485. package/dist/esm/ic-footer-link.entry.js +2 -2
  486. package/dist/esm/ic-footer.entry.js +2 -2
  487. package/dist/esm/ic-hero.entry.js +9 -6
  488. package/dist/esm/ic-hero.entry.js.map +1 -1
  489. package/dist/esm/ic-horizontal-scroll.entry.js +2 -2
  490. package/dist/esm/ic-input-component-container_3.entry.js +42 -23
  491. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  492. package/dist/esm/ic-input-label_2.entry.js +5 -4
  493. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  494. package/dist/esm/ic-link.entry.js +3 -6
  495. package/dist/esm/ic-link.entry.js.map +1 -1
  496. package/dist/esm/ic-menu-group.entry.js +4 -2
  497. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  498. package/dist/esm/ic-menu-item.entry.js +11 -15
  499. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  500. package/dist/esm/ic-navigation-button.entry.js +3 -3
  501. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  502. package/dist/esm/ic-navigation-group.entry.js +2 -2
  503. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  504. package/dist/esm/ic-navigation-item.entry.js +4 -4
  505. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  506. package/dist/esm/ic-navigation-menu.entry.js +2 -2
  507. package/dist/esm/ic-page-header.entry.js +8 -4
  508. package/dist/esm/ic-page-header.entry.js.map +1 -1
  509. package/dist/esm/ic-pagination-item.entry.js +2 -2
  510. package/dist/esm/ic-pagination.entry.js +6 -6
  511. package/dist/esm/ic-pagination.entry.js.map +1 -1
  512. package/dist/esm/ic-popover-menu.entry.js +21 -21
  513. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  514. package/dist/esm/ic-radio-group.entry.js +9 -8
  515. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  516. package/dist/esm/ic-radio-option.entry.js +21 -15
  517. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  518. package/dist/esm/ic-search-bar.entry.js +27 -22
  519. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  520. package/dist/esm/ic-section-container.entry.js +1 -1
  521. package/dist/esm/ic-select.entry.js +24 -17
  522. package/dist/esm/ic-select.entry.js.map +1 -1
  523. package/dist/esm/ic-side-navigation.entry.js +23 -21
  524. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  525. package/dist/esm/ic-skeleton.entry.js +4 -3
  526. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  527. package/dist/esm/ic-status-tag.entry.js +14 -6
  528. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  529. package/dist/esm/ic-step.entry.js +7 -5
  530. package/dist/esm/ic-step.entry.js.map +1 -1
  531. package/dist/esm/ic-stepper.entry.js +2 -2
  532. package/dist/esm/ic-switch.entry.js +7 -6
  533. package/dist/esm/ic-switch.entry.js.map +1 -1
  534. package/dist/esm/ic-tab-context.entry.js +4 -4
  535. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  536. package/dist/esm/ic-tab-group.entry.js +2 -3
  537. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  538. package/dist/esm/ic-tab-panel.entry.js +5 -4
  539. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  540. package/dist/esm/ic-tab.entry.js +8 -8
  541. package/dist/esm/ic-tab.entry.js.map +1 -1
  542. package/dist/esm/ic-text-field.entry.js +5 -6
  543. package/dist/esm/ic-text-field.entry.js.map +1 -1
  544. package/dist/esm/ic-theme.entry.js +2 -2
  545. package/dist/esm/ic-toast-region.entry.js +1 -1
  546. package/dist/esm/ic-toast.entry.js +3 -3
  547. package/dist/esm/ic-toast.entry.js.map +1 -1
  548. package/dist/esm/ic-top-navigation.entry.js +5 -5
  549. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  550. package/dist/esm/ic-typography.entry.js +12 -4
  551. package/dist/esm/ic-typography.entry.js.map +1 -1
  552. package/dist/esm/{index-b006ae9d.js → index-813020f1.js} +14 -2
  553. package/dist/esm/index-813020f1.js.map +1 -0
  554. package/dist/esm/loader.js +3 -3
  555. package/dist/esm/types-b2398b37.js.map +1 -1
  556. package/dist/types/components/ic-badge/ic-badge.d.ts +7 -3
  557. package/dist/types/components/ic-button/ic-button.d.ts +12 -5
  558. package/dist/types/components/ic-card/ic-card.d.ts +1 -0
  559. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +28 -1
  560. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +1 -1
  561. package/dist/types/components/ic-chip/ic-chip.d.ts +6 -2
  562. package/dist/types/components/ic-data-entity/ic-data-entity.d.ts +10 -2
  563. package/dist/types/components/ic-data-row/ic-data-row.d.ts +7 -2
  564. package/dist/types/components/ic-dialog/ic-dialog.d.ts +11 -5
  565. package/dist/types/components/ic-empty-state/ic-empty-state.d.ts +4 -1
  566. package/dist/types/components/ic-hero/ic-hero.d.ts +7 -3
  567. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +13 -5
  568. package/dist/types/components/ic-input-label/ic-input-label.d.ts +5 -1
  569. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +1 -1
  570. package/dist/types/components/ic-menu/ic-menu.d.ts +8 -3
  571. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +1 -0
  572. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +1 -0
  573. package/dist/types/components/ic-page-header/ic-page-header.d.ts +6 -2
  574. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +1 -1
  575. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +8 -4
  576. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +28 -1
  577. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +6 -2
  578. package/dist/types/components/ic-select/ic-select.d.ts +34 -4
  579. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +5 -0
  580. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +5 -1
  581. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +12 -2
  582. package/dist/types/components/ic-switch/ic-switch.d.ts +6 -1
  583. package/dist/types/components/ic-tab/ic-tab.d.ts +1 -1
  584. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +1 -1
  585. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +0 -1
  586. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +1 -1
  587. package/dist/types/components/ic-text-field/ic-text-field.d.ts +7 -3
  588. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +5 -3
  589. package/dist/types/components.d.ts +370 -57
  590. package/dist/types/utils/helpers.d.ts +1 -0
  591. package/dist/types/utils/types.d.ts +2 -0
  592. package/hydrate/index.js +480 -310
  593. package/package.json +5 -5
  594. package/dist/cjs/helpers-d166f875.js.map +0 -1
  595. package/dist/cjs/index-afe53465.js.map +0 -1
  596. package/dist/core/p-0353a1d8.entry.js +0 -2
  597. package/dist/core/p-0353a1d8.entry.js.map +0 -1
  598. package/dist/core/p-08c6119a.entry.js +0 -2
  599. package/dist/core/p-08c6119a.entry.js.map +0 -1
  600. package/dist/core/p-09004694.entry.js +0 -2
  601. package/dist/core/p-09004694.entry.js.map +0 -1
  602. package/dist/core/p-0e1a4f8d.entry.js.map +0 -1
  603. package/dist/core/p-10bfc292.entry.js +0 -2
  604. package/dist/core/p-10bfc292.entry.js.map +0 -1
  605. package/dist/core/p-1650c1c2.entry.js.map +0 -1
  606. package/dist/core/p-1db57a3f.entry.js.map +0 -1
  607. package/dist/core/p-1ed0a71d.entry.js +0 -2
  608. package/dist/core/p-1ed0a71d.entry.js.map +0 -1
  609. package/dist/core/p-2184a72f.entry.js.map +0 -1
  610. package/dist/core/p-293f4c5f.entry.js +0 -2
  611. package/dist/core/p-293f4c5f.entry.js.map +0 -1
  612. package/dist/core/p-2afa6d29.entry.js +0 -2
  613. package/dist/core/p-2afa6d29.entry.js.map +0 -1
  614. package/dist/core/p-2c09f9e0.entry.js +0 -2
  615. package/dist/core/p-2c09f9e0.entry.js.map +0 -1
  616. package/dist/core/p-2d21de19.entry.js.map +0 -1
  617. package/dist/core/p-32510505.entry.js +0 -2
  618. package/dist/core/p-32510505.entry.js.map +0 -1
  619. package/dist/core/p-4f070381.entry.js.map +0 -1
  620. package/dist/core/p-4fbe1dc3.entry.js.map +0 -1
  621. package/dist/core/p-5401863e.entry.js +0 -2
  622. package/dist/core/p-5401863e.entry.js.map +0 -1
  623. package/dist/core/p-59b24198.entry.js +0 -2
  624. package/dist/core/p-59b24198.entry.js.map +0 -1
  625. package/dist/core/p-5cc070c4.entry.js +0 -2
  626. package/dist/core/p-5cc070c4.entry.js.map +0 -1
  627. package/dist/core/p-5f881644.entry.js +0 -2
  628. package/dist/core/p-5f881644.entry.js.map +0 -1
  629. package/dist/core/p-60fef702.entry.js.map +0 -1
  630. package/dist/core/p-64999983.entry.js.map +0 -1
  631. package/dist/core/p-675fe4db.entry.js.map +0 -1
  632. package/dist/core/p-6aec6bce.entry.js +0 -2
  633. package/dist/core/p-6aec6bce.entry.js.map +0 -1
  634. package/dist/core/p-6ec3cd12.entry.js +0 -2
  635. package/dist/core/p-6ec3cd12.entry.js.map +0 -1
  636. package/dist/core/p-76daa5b0.entry.js +0 -2
  637. package/dist/core/p-777e5556.entry.js +0 -2
  638. package/dist/core/p-777e5556.entry.js.map +0 -1
  639. package/dist/core/p-7a61d94a.entry.js +0 -2
  640. package/dist/core/p-7a61d94a.entry.js.map +0 -1
  641. package/dist/core/p-85903a81.js.map +0 -1
  642. package/dist/core/p-932fe2a0.entry.js +0 -2
  643. package/dist/core/p-932fe2a0.entry.js.map +0 -1
  644. package/dist/core/p-9bd160bb.entry.js.map +0 -1
  645. package/dist/core/p-a388750d.entry.js.map +0 -1
  646. package/dist/core/p-a46c1690.entry.js +0 -2
  647. package/dist/core/p-a46c1690.entry.js.map +0 -1
  648. package/dist/core/p-abf60097.entry.js +0 -2
  649. package/dist/core/p-abf60097.entry.js.map +0 -1
  650. package/dist/core/p-ad520f36.entry.js +0 -2
  651. package/dist/core/p-ad520f36.entry.js.map +0 -1
  652. package/dist/core/p-b96bd8be.entry.js +0 -2
  653. package/dist/core/p-b96bd8be.entry.js.map +0 -1
  654. package/dist/core/p-c30d9b20.js +0 -2
  655. package/dist/core/p-c30d9b20.js.map +0 -1
  656. package/dist/core/p-ceed0fee.entry.js +0 -2
  657. package/dist/core/p-ceed0fee.entry.js.map +0 -1
  658. package/dist/core/p-d005a71a.entry.js +0 -2
  659. package/dist/core/p-d005a71a.entry.js.map +0 -1
  660. package/dist/core/p-d5282ede.entry.js +0 -2
  661. package/dist/core/p-d5282ede.entry.js.map +0 -1
  662. package/dist/core/p-d9fc7243.entry.js.map +0 -1
  663. package/dist/core/p-db4a15bd.entry.js +0 -2
  664. package/dist/core/p-db4a15bd.entry.js.map +0 -1
  665. package/dist/core/p-e75b04af.entry.js +0 -2
  666. package/dist/core/p-e75b04af.entry.js.map +0 -1
  667. package/dist/core/p-ea55f25c.entry.js +0 -2
  668. package/dist/core/p-ea55f25c.entry.js.map +0 -1
  669. package/dist/esm/helpers-81a88a11.js.map +0 -1
  670. package/dist/esm/index-b006ae9d.js.map +0 -1
  671. /package/dist/core/{p-76daa5b0.entry.js.map → p-027ea4ff.entry.js.map} +0 -0
  672. /package/dist/core/{p-9ee852d9.entry.js.map → p-09022de8.entry.js.map} +0 -0
  673. /package/dist/core/{p-ac82781b.entry.js.map → p-09eb825d.entry.js.map} +0 -0
  674. /package/dist/core/{p-4ef8342f.entry.js.map → p-3758c2b5.entry.js.map} +0 -0
  675. /package/dist/core/{p-e904d985.entry.js.map → p-4164e7d5.entry.js.map} +0 -0
  676. /package/dist/core/{p-0fdb1e52.entry.js.map → p-48525498.entry.js.map} +0 -0
  677. /package/dist/core/{p-cf95dd66.entry.js.map → p-500e8584.entry.js.map} +0 -0
  678. /package/dist/core/{p-b42b8ffa.entry.js.map → p-53533992.entry.js.map} +0 -0
  679. /package/dist/core/{p-0d71a937.entry.js.map → p-700559ee.entry.js.map} +0 -0
  680. /package/dist/core/{p-05249867.entry.js.map → p-72d6619c.entry.js.map} +0 -0
  681. /package/dist/core/{p-ca6e5474.entry.js.map → p-7bc6eb83.entry.js.map} +0 -0
  682. /package/dist/core/{p-482397ae.entry.js.map → p-b80520e9.entry.js.map} +0 -0
  683. /package/dist/core/{p-e59d2d50.entry.js.map → p-e465a208.entry.js.map} +0 -0
  684. /package/dist/core/{p-c1e8d13e.entry.js.map → p-ed256f1d.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["icInputComponentContainerCss","InputComponentContainer","render","small","validationStatus","disabled","readonly","multiLine","fullWidth","dark","validationInline","this","hasValidationStatus","h","Host","class","isSlotUsed","host","name","IcInformationStatus","Success","innerHTML","successIcon","icInputContainerCss","InputContainer","icMenuCss","Menu","firstRender","hasPreviouslyBlurred","hasTimedOut","isLoading","isSearchBar","isSearchableSelect","preventClickOpen","ungroupedOptions","handleClearListener","optionHighlighted","handleSubmitSearch","highlightedOptionIndex","options","findIndex","option","valueField","setInputValue","handleMenuChange","open","focusInput","menuStateChange","emit","inputEl","focus","setNextOptionValue","selectedOptionIndex","menuOptionSelect","value","optionId","getOptionId","setPreviousOptionValue","length","getParentEl","parent","tagName","getAttribute","undefined","arrowBehaviour","event","preventDefault","setMenuOptions","setHighlightedOption","highlightedIndex","menuOptions","timedOut","autoSetInputValueKeyboardOpen","keyboardNav","key","target","id","manSetInputValueKeyboardOpen","index","_a","Array","from","querySelectorAll","menuOptionId","preventIncorrectTabOrder","focusFromSearchKeypress","stopImmediatePropagation","parentEl","setFocus","searchMode","handleOptionClick","label","dataset","handleRetry","retryButtonClicked","handleRetryKeyDown","ev","keyPressed","handleBlur","relatedTarget","menu","contains","handleMouseDown","handleMenuKeyDown","activationType","autoSetValueOnMenuKeyDown","emitMenuKeyPress","isNavKey","menuKeyPress","cancelBubble","handleMenuKeyUp","shiftKey","menuId","getOptionAriaLabel","parentOption","ariaLabel","labelField","description","element","getSortedOptions","sorted","sort","optionA","optionB","recommended","isManualMode","scrollToSelected","selectedOption","querySelector","elTop","offsetTop","offsetHeight","scrollTop","loadUngroupedOptions","map","children","push","ungroupedOptionsSet","setMenuScrollbar","optionsHeight","forEach","clientHeight","classList","add","handleTimeoutBlur","timeoutBlur","optionContent","Fragment","loading","size","icon","variant","component","toLowerCase","Check","displayOption","initialOptionsListRender","timeout","role","tabindex","onClick","onBlur","onMouseDown","xmlns","viewBox","fill","d","onKeyDown","watchOptionsHandler","newOptions","some","opt","watchValueHandler","menuValueChange","connectedCallback","disconnectedCallback","popperInstance","destroy","removeEventListener","componentWillLoad","addEventListener","_b","componentDidLoad","disableFilter","onComponentRequiredPropUndefined","prop","propName","inputLabel","componentDidUpdate","inputValueInOptions","optionHighlightedIsSet","autoFocusOnSelected","highlightedEl","componentDidRender","adjust","dialogEl","closest","onDialog","menuTop","getBoundingClientRect","top","menuHeight","height","dialogHeight","bottom","createPopper","anchorEl","placement","modifiers","offset","fallbackPlacements","rootBoundary","update","handleClickOpen","handleKeyboardOpen","handleSetFirstOption","ref","el","onKeyUp","childOption"],"sources":["src/components/ic-input-component-container/ic-input-component-container.css?tag=ic-input-component-container","src/components/ic-input-component-container/ic-input-component-container.tsx","src/components/ic-input-container/ic-input-container.css?tag=ic-input-container","src/components/ic-input-container/ic-input-container.tsx","src/components/ic-menu/ic-menu.css?tag=ic-menu&encapsulation=scoped","src/components/ic-menu/ic-menu.tsx"],"sourcesContent":["ic-input-component-container {\n /**\n * @prop --border-color: Border colour of the input component container\n */\n\n display: flex;\n border: var(--ic-space-1px) solid\n var(--border-color, var(--ic-architectural-400));\n border-radius: var(--ic-border-radius);\n transition: var(--ic-easing-transition-slow);\n height: 2.5rem;\n width: var(--input-width, 20rem);\n padding: var(--ic-space-1px);\n background-color: var(--ic-architectural-white);\n box-sizing: border-box;\n fill: var(--ic-architectural-400);\n outline: none;\n}\n\nic-input-component-container.fullwidth {\n width: 100%;\n}\n\nic-input-component-container.disabled,\nic-input-component-container.disabled:hover {\n border: var(--ic-space-1px) dashed var(--ic-architectural-200);\n}\n\nic-input-component-container.readonly,\nic-input-component-container.readonly:hover {\n border: none;\n padding: 0;\n}\n\nic-input-component-container.error {\n border: var(--ic-error-border-default);\n padding: 0;\n}\n\nic-input-component-container.error:hover {\n border: var(--ic-error-border-hover);\n}\n\nic-input-component-container.error:focus-within {\n border: var(--ic-error-border-pressed);\n}\n\nic-input-component-container.warning {\n border: var(--ic-warning-border-default);\n padding: 0;\n}\n\nic-input-component-container.warning:hover {\n border: var(--ic-warning-border-hover);\n}\n\nic-input-component-container.warning:focus-within {\n border: var(--ic-warning-border-pressed);\n}\n\nic-input-component-container.success {\n border: var(--ic-success-border-default);\n padding: 0;\n}\n\nic-input-component-container.success:hover {\n border: var(--ic-success-border-hover);\n}\n\nic-input-component-container.success:focus-within {\n border: var(--ic-success-border-pressed);\n}\n\nic-input-component-container.small {\n height: var(--ic-space-xl);\n}\n\nic-input-component-container.multiline {\n height: auto;\n}\n\nic-input-component-container .icon-container {\n margin-top: var(--ic-space-xxs);\n margin-left: 0.438rem;\n display: flex;\n align-items: center;\n}\n\nic-input-component-container.multiline .icon-container,\nic-input-component-container.multiline.small .icon-container {\n margin-top: 0.375rem;\n display: block;\n}\n\nic-input-component-container.readonly .icon-container {\n margin-left: -0.313rem;\n}\n\nic-input-component-container.disabled ::placeholder {\n display: none;\n}\n\nic-input-component-container .inline-success {\n margin: var(--ic-space-xs) 0.375rem;\n display: flex;\n align-items: center;\n}\n\nic-input-component-container.dark:hover {\n --border-color: var(--ic-architectural-400);\n}\n\nic-input-component-container .inline-success > svg {\n fill: var(--ic-status-success);\n height: 1.25rem;\n width: 1.25rem;\n}\n\nic-input-component-container:hover {\n border: var(--ic-border-hover);\n color: var(--ic-action-dark-hover);\n}\n\nic-input-component-container:focus {\n border: var(--ic-border-pressed);\n}\n\n.focus-indicator {\n display: flex;\n width: 100%;\n margin: -0.125rem;\n padding: 0.125rem;\n border-radius: var(--ic-border-radius);\n transition: var(--ic-easing-transition-fast);\n}\n\n.focus-indicator:focus-within,\n.focus-indicator-enabled {\n box-shadow: var(--ic-border-focus);\n}\n\n.focus-indicator.dark:focus-within {\n box-shadow: var(--ic-border-focus);\n}\n\n@media (forced-colors: active) {\n /* Styles here only apply to Forced Colors Mode */\n ic-input-component-container,\n .focus-indicator {\n transition: none;\n }\n\n ic-input-component-container:focus-within {\n border: var(--ic-space-1px) solid Highlight;\n outline: 0.125rem solid Highlight;\n }\n\n ic-input-component-container.disabled,\n ic-input-component-container.disabled:hover {\n border: var(--ic-space-1px) dashed GrayText;\n }\n}\n","import { Component, Element, Host, Prop, h } from \"@stencil/core\";\n\nimport {\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n} from \"../../utils/types\";\nimport successIcon from \"../../assets/success-icon.svg\";\nimport { isSlotUsed } from \"../../utils/helpers\";\n\n/**\n * @slot left-icon - Content will be placed to the left of the input.\n */\n@Component({\n tag: \"ic-input-component-container\",\n styleUrl: \"ic-input-component-container.css\",\n})\nexport class InputComponentContainer {\n @Element() host: HTMLIcInputComponentContainerElement;\n\n /**\n * If `true`, the dark variant of the input component container will be displayed.\n */\n @Prop() dark?: boolean = false;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * If `true`, the input component container will fill the width of the container it is in.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * If `true`, the input component container will allow for multiple lines.\n */\n @Prop() multiLine: boolean = false;\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly: boolean = false;\n\n /**\n * If `true`, the small styling will be applied to the input component container.\n */\n @Prop() small: boolean = false;\n\n /**\n * If `true`, the validation will display inline.\n */\n @Prop() validationInline: boolean = false;\n\n /**\n * The validation status of the input component container - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n render() {\n const {\n small,\n validationStatus,\n disabled,\n readonly,\n multiLine,\n fullWidth,\n dark,\n validationInline,\n } = this;\n const hasValidationStatus =\n this.validationStatus !== \"\" && !this.disabled && !this.readonly\n ? true\n : false;\n return (\n <Host\n class={{\n [\"small\"]: small,\n [validationStatus]: hasValidationStatus,\n [\"disabled\"]: disabled,\n [\"readonly\"]: readonly,\n [\"multiline\"]: multiLine,\n [\"fullwidth\"]: fullWidth,\n [\"dark\"]: dark,\n }}\n >\n <div\n class={{\n \"focus-indicator\": true,\n dark: dark,\n }}\n >\n {isSlotUsed(this.host, \"left-icon\") && (\n <div\n class={{\n [\"icon-container\"]: true,\n }}\n >\n <slot name=\"left-icon\" />\n </div>\n )}\n <slot></slot>\n\n {validationInline &&\n validationStatus === IcInformationStatus.Success && (\n <span\n class={{\n [\"inline-success\"]: true,\n }}\n innerHTML={successIcon}\n />\n )}\n </div>\n </Host>\n );\n }\n}\n","ic-input-container .component-container {\n display: flex;\n flex-direction: column;\n}\n","import { Component, Host, Prop, h } from \"@stencil/core\";\n\n@Component({\n tag: \"ic-input-container\",\n styleUrl: \"ic-input-container.css\",\n})\nexport class InputContainer {\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly?: boolean = false;\n\n render() {\n return (\n <Host>\n <div\n class={{\n [\"component-container\"]: true,\n [\"disabled\"]: this.disabled,\n [\"readonly\"]: this.readonly,\n }}\n >\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n","@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-menu: z-index of menu\n */\n\n@media (prefers-reduced-motion: no-preference) {\n :host(.open) .menu {\n transition: max-height var(--ic-transition-duration-slow);\n }\n}\n\n:host {\n border-radius: var(--ic-border-radius);\n max-height: 0;\n width: var(--input-width, 20rem);\n color: var(--ic-color-primary-text);\n background-color: var(--ic-architectural-white);\n position: relative;\n z-index: var(--ic-z-index-menu);\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n}\n\n:host(:not(.no-focus):focus-within) {\n box-shadow: var(--ic-border-focus);\n}\n\n#retry-button::part(button) {\n height: var(--ic-space-lg);\n}\n\n.small #retry-button::part(button) {\n height: var(--ic-space-md);\n}\n\n:host(.on-dialog) {\n inset: auto !important;\n}\n\n:host(.on-dialog-fix-translate) {\n transform: translate(0, 80px) !important;\n}\n\n.menu {\n text-decoration: none;\n list-style-type: none;\n border: var(--ic-space-1px) solid var(--ic-architectural-400);\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-architectural-white);\n visibility: hidden;\n max-height: 0;\n overflow-y: hidden;\n}\n\n.menu-scroll {\n overflow-y: auto;\n}\n\n.menu:focus-visible {\n outline: none;\n}\n\n:host(.open) {\n max-height: none;\n display: block;\n}\n\n:host(.open) .menu {\n visibility: visible;\n max-height: 20.125rem;\n}\n\n:host(.full-width) {\n width: 100%;\n}\n\n.option {\n padding: 0.5rem 0.438rem;\n cursor: pointer;\n display: flex;\n align-items: center;\n}\n\n.option:not(.loading-option) {\n justify-content: space-between;\n}\n\n:host(.small) .option {\n padding: 0.25rem 0.438rem;\n}\n\n.option:last-child {\n border-radius: 0 0 var(--ic-space-1px) var(--ic-space-1px);\n}\n\n.option:first-child {\n border-radius: var(--ic-space-1px) var(--ic-space-1px) 0 0;\n}\n\n.option:not(.disabled-option):hover {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\n.option:not(.disabled-option):active {\n background-color: var(--ic-action-dark-bg-active);\n}\n\n.option:focus-visible {\n outline: var(--ic-hc-focus-outline);\n}\n\n.option:not(.disabled-option) .option-description {\n color: var(--ic-color-secondary-text);\n}\n\n.option .option-label {\n display: flex;\n flex-direction: row;\n align-items: top;\n}\n\n.option .option-element {\n margin-top: var(--ic-space-xxs);\n}\n\n.option .option-icon {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n margin-top: var(--ic-space-xxs);\n margin-right: var(--ic-space-xxxs);\n}\n\n.option-text-container {\n pointer-events: none;\n}\n\n.option.loading-option .option-text-container {\n margin-left: 0.625rem;\n color: var(--ic-color-secondary-text);\n}\n\n.error-icon-svg {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n fill: var(--ic-status-error);\n align-self: center;\n display: flex;\n margin-right: calc(var(--ic-space-xxs) * 1.2);\n}\n\n.loading-error-info {\n display: flex;\n}\n\n.check-icon {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n margin-left: 0.5rem;\n pointer-events: none;\n}\n\n.focused-option .check-icon * {\n fill: currentcolor;\n}\n\n.option-group-title {\n padding: 1.5rem 0.438rem 0.5rem;\n color: var(--ic-color-tertiary-text);\n}\n\n:host(.small) .option-group-title {\n padding: 0.75rem 0.438rem 0.25rem;\n}\n\n.last-recommended-option {\n border-bottom: var(--ic-border-default);\n}\n\n.disabled-option {\n color: var(--ic-architectural-200);\n cursor: default;\n pointer-events: none;\n}\n\n.focused-option,\n.focused-option .option-description {\n background-color: var(--ic-focus-blue) !important;\n color: var(--ic-color-white-text) !important;\n}\n\n:host(.no-results) li {\n cursor: no-drop;\n}\n\n:host(.no-results) li:hover {\n background-color: transparent;\n}\n\n@media (forced-colors: active) {\n .focused-option:focus {\n outline: none;\n border: 0.125rem solid transparent;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n Method,\n State,\n Watch,\n Fragment,\n} from \"@stencil/core\";\nimport { createPopper, Instance as PopperInstance } from \"@popperjs/core\";\n\nimport {\n IcActivationTypes,\n IcMenuOption,\n IcValueEventDetail,\n} from \"../../utils/types\";\nimport Check from \"../../assets/check-icon.svg\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\nimport {\n IcOptionSelectEventDetail,\n IcMenuChangeEventDetail,\n IcMenuOptionIdEventDetail,\n} from \"./ic-menu.types\";\nimport { IcSearchBarSearchModes } from \"../ic-search-bar/ic-search-bar.types\";\n\n@Component({\n tag: \"ic-menu\",\n styleUrl: \"ic-menu.css\",\n scoped: true,\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Menu {\n private firstRender: boolean = true;\n private hasPreviouslyBlurred: boolean = false;\n private hasTimedOut: boolean = false;\n private isLoading: boolean = false;\n private isSearchBar: boolean = false;\n private isSearchableSelect: boolean = false;\n private menu: HTMLUListElement;\n private popperInstance: PopperInstance;\n // Prevents menu re-opening immediately after it is closed on blur when clicking input.\n private preventClickOpen: boolean = false;\n private ungroupedOptions: IcMenuOption[] = [];\n\n @Element() host: HTMLIcMenuElement;\n\n @State() focusFromSearchKeypress: boolean = false;\n @State() initialOptionsListRender: boolean = false;\n @State() keyboardNav: boolean = false;\n @State() optionHighlighted: string;\n @State() preventIncorrectTabOrder: boolean = false;\n\n /**\n * Determines whether options manually set as values (by pressing 'Enter') when they receive focus using keyboard navigation.\n */\n @Prop() activationType?: IcActivationTypes = \"automatic\";\n\n /**\n * The reference to an anchor element the menu will position itself from when rendered.\n */\n @Prop() anchorEl!: HTMLElement;\n\n /**\n * @internal If `true`, autofocus will be applied on selected item when menu is open.\n */\n @Prop() autoFocusOnSelected: boolean = true;\n\n /**\n * If `true`, the menu will fill the width of the container.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * The reference to the input element.\n */\n @Prop() inputEl!: HTMLElement;\n\n /**\n * The label for the input element.\n */\n @Prop() inputLabel!: string;\n\n /**\n * The custom name for the label field for IcMenuOption.\n */\n @Prop() labelField: string = \"label\";\n\n /**\n * The ID of the menu.\n */\n @Prop() menuId!: string;\n\n /**\n * If `true`, the menu will be displayed open.\n */\n @Prop({ reflect: true }) open!: boolean;\n\n /**\n * @internal - The parent element if ic-menu is nested inside another component.\n */\n @Prop() parentEl?: HTMLElement;\n\n /**\n * Specify the mode search bar uses to search. `navigation` allows for quick lookups of a set of values, `query` allows for more general searches.\n */\n @Prop() searchMode?: IcSearchBarSearchModes = \"navigation\";\n\n /**\n * If `true`, the small styling will be applied to the menu.\n */\n @Prop({ reflect: true }) small?: boolean = false;\n\n /**\n * The possible menu selection options.\n */\n @Prop() options!: IcMenuOption[];\n\n @Watch(\"options\")\n watchOptionsHandler(newOptions: IcMenuOption[]): void {\n this.hasTimedOut = newOptions.some((opt) => opt.timedOut);\n this.isLoading = newOptions.some((opt) => opt.loading);\n this.ungroupedOptions = [];\n this.loadUngroupedOptions();\n }\n\n /**\n * The value of the currently selected option.\n */\n @Prop({ mutable: true }) value!: string;\n\n @Watch(\"value\")\n watchValueHandler(): void {\n this.menuValueChange.emit({ value: this.value });\n }\n\n /**\n * The custom name for the value field for IcMenuOption.\n */\n @Prop() valueField: string = \"value\";\n\n /**\n * @internal Emitted when key is pressed while menu is open\n */\n @Event() menuKeyPress: EventEmitter<{ isNavKey: boolean; key: string }>;\n\n /**\n * @internal Emitted when an option has been highlighted\n */\n @Event() menuOptionId: EventEmitter<IcMenuOptionIdEventDetail>;\n\n /**\n * @internal Emitted when an option is selected.\n */\n @Event() menuOptionSelect!: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * @internal Emitted when state of menu changes (i.e. open or close).\n */\n @Event() menuStateChange!: EventEmitter<IcMenuChangeEventDetail>;\n\n /**\n * @internal Emitted when menu value changes.\n */\n @Event() menuValueChange: EventEmitter<IcValueEventDetail>;\n\n /**\n * @internal Emitted when the retry button is clicked\n */\n @Event() retryButtonClicked: EventEmitter<IcValueEventDetail>;\n\n /**\n * @internal Emitted when the timeout menu loses focus\n */\n @Event() timeoutBlur: EventEmitter<{ ev: FocusEvent }>;\n\n /**\n * @internal Emitted when the ungrouped options have been set.\n */\n @Event() ungroupedOptionsSet: EventEmitter<{ options: IcMenuOption[] }>;\n\n connectedCallback(): void {\n this.getParentEl(this.parentEl);\n\n if (this.isSearchBar) {\n if (this.searchMode === \"navigation\") this.setHighlightedOption(0);\n this.initialOptionsListRender = true;\n }\n }\n\n disconnectedCallback(): void {\n if (this.popperInstance !== undefined) {\n this.popperInstance.destroy();\n }\n this.parentEl.removeEventListener(\"icClear\", this.handleClearListener);\n this.parentEl.removeEventListener(\n \"icSubmitSearch\",\n this.handleSubmitSearch\n );\n }\n\n componentWillLoad(): void {\n this.loadUngroupedOptions();\n this.parentEl.addEventListener(\"icClear\", this.handleClearListener);\n this.parentEl.addEventListener(\"icSubmitSearch\", this.handleSubmitSearch);\n this.hasTimedOut = this.options?.some((opt) => opt.timedOut);\n this.isLoading = this.options?.some((opt) => opt.loading);\n }\n\n componentDidLoad(): void {\n if (\n this.isSearchBar &&\n (this.parentEl as HTMLIcSearchBarElement).disableFilter\n ) {\n this.focusFromSearchKeypress = true;\n }\n\n onComponentRequiredPropUndefined(\n [\n { prop: this.open, propName: \"open\" },\n { prop: this.options, propName: \"options\" },\n { prop: this.menuId, propName: \"menu-id\" },\n { prop: this.inputLabel, propName: \"input-label\" },\n //NOTE: no check for value, input-el or anchor-el as otherwise get console errors on first load of select component\n ],\n \"Menu\"\n );\n }\n\n componentDidUpdate(): void {\n const inputValueInOptions: boolean = this.options.some(\n (option) => option[this.valueField] === this.value\n );\n\n const optionHighlightedIsSet =\n this.optionHighlighted !== null &&\n this.optionHighlighted !== undefined &&\n this.optionHighlighted !== \"\";\n\n if (this.open && this.options.length !== 0) {\n if (\n this.value &&\n this.keyboardNav &&\n inputValueInOptions &&\n this.autoFocusOnSelected &&\n !this.isSearchableSelect\n ) {\n this.scrollToSelected(this.menu);\n } else if (\n this.inputEl.tagName !== \"IC-TEXT-FIELD\" &&\n this.inputEl.tagName !== \"INPUT\"\n ) {\n this.menu.focus();\n } else if (\n optionHighlightedIsSet &&\n !this.focusFromSearchKeypress &&\n !this.preventIncorrectTabOrder\n ) {\n const highlightedEl = this.host.querySelector(\n `li[data-value=\"${this.optionHighlighted}\"]`\n ) as HTMLElement;\n\n if (highlightedEl) {\n highlightedEl.focus();\n }\n }\n }\n }\n\n componentDidRender(): void {\n if (this.firstRender && this.open) {\n this.firstRender = false;\n let adjust = false;\n\n const dialogEl = this.parentEl.closest(\"ic-dialog\");\n\n const onDialog = dialogEl !== null;\n if (onDialog) {\n this.host.classList.add(\"on-dialog\");\n if (dialogEl.getAttribute(\"data-overflow\") === \"false\") {\n const menuTop = this.host.getBoundingClientRect().top;\n const menuHeight = this.host.getBoundingClientRect().height;\n const dialogHeight = dialogEl.getBoundingClientRect().bottom;\n if (menuTop + menuHeight > dialogHeight) {\n adjust = true;\n }\n }\n if (adjust === false) {\n this.host.classList.add(\"on-dialog-fix-translate\");\n }\n }\n\n if (adjust) {\n this.popperInstance = createPopper(this.anchorEl, this.host, {\n placement: \"top\",\n });\n } else {\n this.popperInstance = createPopper(this.anchorEl, this.host, {\n placement: \"bottom\",\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 7],\n },\n },\n {\n name: \"flip\",\n options: {\n fallbackPlacements: [\"top\"],\n rootBoundary: \"viewport\",\n },\n },\n ],\n });\n }\n } else if (this.open) {\n this.popperInstance.update();\n }\n\n if (this.open && !!this.options.length) {\n this.setMenuScrollbar();\n }\n }\n\n /**\n * @internal If menu is opened with the mouse, emit menuStateChange custom event.\n */\n @Method()\n async handleClickOpen(): Promise<void> {\n if (!this.preventClickOpen) {\n this.menuStateChange.emit({ open: !this.open });\n this.keyboardNav = false;\n }\n this.preventClickOpen = false;\n }\n\n /**\n * Used alongside activationType\n * If menu is opened via keyboard navigation (i.e. Enter, ArrowUp or ArrowDown), emit optionSelect custom event.\n * @param {KeyboardEvent} event - keyboard event\n */\n @Method()\n async handleKeyboardOpen(event: KeyboardEvent): Promise<void> {\n this.keyboardNav = false;\n\n if (this.activationType === \"automatic\") {\n this.autoSetInputValueKeyboardOpen(event);\n } else {\n this.manSetInputValueKeyboardOpen(event);\n }\n }\n\n /**\n * @internal Used to highlight the first option in the menu.\n */\n @Method()\n async handleSetFirstOption(): Promise<void> {\n this.setHighlightedOption(0);\n }\n\n private handleClearListener = (): void => {\n this.optionHighlighted = \"\";\n };\n\n private handleSubmitSearch = (): void => {\n const highlightedOptionIndex = this.options.findIndex(\n (option) => option[this.valueField] === this.optionHighlighted\n );\n\n this.setInputValue(highlightedOptionIndex);\n };\n\n private handleMenuChange = (open: boolean, focusInput?: boolean): void => {\n this.menuStateChange.emit({ open, focusInput });\n\n if (!open && focusInput !== false) {\n this.inputEl.focus();\n this.preventClickOpen = false;\n }\n };\n\n private setNextOptionValue = (selectedOptionIndex: number): void => {\n if (this.ungroupedOptions[selectedOptionIndex + 1]) {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[selectedOptionIndex + 1][this.valueField],\n optionId: this.getOptionId(\n this.ungroupedOptions[selectedOptionIndex + 1][this.valueField]\n ),\n });\n } else {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[0][this.valueField],\n optionId: this.getOptionId(this.ungroupedOptions[0][this.valueField]),\n });\n }\n };\n\n private setPreviousOptionValue = (selectedOptionIndex: number): void => {\n if (this.ungroupedOptions[selectedOptionIndex - 1]) {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[selectedOptionIndex - 1][this.valueField],\n optionId: this.getOptionId(\n this.ungroupedOptions[selectedOptionIndex - 1][this.valueField]\n ),\n });\n } else {\n this.menuOptionSelect.emit({\n value:\n this.ungroupedOptions[this.ungroupedOptions.length - 1][\n this.valueField\n ],\n optionId: this.getOptionId(\n this.ungroupedOptions[this.ungroupedOptions.length - 1][\n this.valueField\n ]\n ),\n });\n }\n };\n\n private getParentEl = (parent: HTMLElement) => {\n if (parent.tagName === \"IC-SEARCH-BAR\") {\n this.isSearchBar = true;\n } else if (\n parent.tagName === \"IC-SELECT\" &&\n parent.getAttribute(\"searchable\") !== null &&\n parent.getAttribute(\"searchable\") !== undefined\n ) {\n this.isSearchableSelect = true;\n }\n };\n\n private arrowBehaviour = (event: KeyboardEvent): void => {\n event.preventDefault();\n this.handleMenuChange(true);\n };\n\n private setMenuOptions = () =>\n this.isSearchBar ? this.options : this.ungroupedOptions;\n\n private setHighlightedOption = (highlightedIndex: number): void => {\n const menuOptions = this.setMenuOptions();\n\n menuOptions[highlightedIndex] &&\n !menuOptions[highlightedIndex].timedOut &&\n (this.optionHighlighted =\n menuOptions[highlightedIndex][this.valueField] || undefined);\n };\n\n private autoSetInputValueKeyboardOpen = (event: KeyboardEvent) => {\n const selectedOptionIndex = this.ungroupedOptions.findIndex(\n (option) => option[this.valueField] === this.value\n );\n\n this.keyboardNav = false;\n\n switch (event.key) {\n case \"ArrowDown\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n this.setNextOptionValue(selectedOptionIndex);\n break;\n case \"ArrowUp\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n this.setPreviousOptionValue(selectedOptionIndex);\n break;\n case \" \":\n case \"Enter\":\n if ((event.target as HTMLElement).id !== \"clear-button\") {\n this.handleMenuChange(true);\n }\n break;\n }\n };\n\n private manSetInputValueKeyboardOpen = (event: KeyboardEvent) => {\n const menuOptions = this.setMenuOptions();\n\n this.keyboardNav = false;\n\n const highlightedOptionIndex = menuOptions.findIndex(\n (option) => option[this.valueField] === this.optionHighlighted\n );\n\n const getOptionId = (index: number): string =>\n Array.from(this.host.querySelectorAll(\"li\"))[index]?.id;\n\n switch (event.key) {\n case \"ArrowDown\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n if (highlightedOptionIndex < menuOptions.length - 1) {\n this.setHighlightedOption(highlightedOptionIndex + 1);\n this.menuOptionId.emit({\n optionId: getOptionId(highlightedOptionIndex + 1),\n });\n } else {\n this.setHighlightedOption(0);\n this.menuOptionId.emit({\n optionId: getOptionId(0),\n });\n }\n this.preventIncorrectTabOrder = false;\n this.focusFromSearchKeypress = false;\n break;\n case \"ArrowUp\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n if (\n highlightedOptionIndex <= 0 ||\n highlightedOptionIndex > menuOptions.length + 1\n ) {\n this.setHighlightedOption(menuOptions.length - 1);\n this.menuOptionId.emit({\n optionId: getOptionId(menuOptions.length - 1),\n });\n } else {\n this.setHighlightedOption(highlightedOptionIndex - 1);\n this.menuOptionId.emit({\n optionId: getOptionId(highlightedOptionIndex - 1),\n });\n }\n this.preventIncorrectTabOrder = false;\n this.focusFromSearchKeypress = false;\n break;\n case \"Home\":\n this.keyboardNav = true;\n event.preventDefault();\n this.arrowBehaviour(event);\n this.setHighlightedOption(0);\n this.menuOptionId.emit({\n optionId: getOptionId(0),\n });\n break;\n case \"End\":\n this.keyboardNav = true;\n event.preventDefault();\n this.arrowBehaviour(event);\n this.setHighlightedOption(menuOptions.length - 1);\n this.menuOptionId.emit({\n optionId: getOptionId(menuOptions.length - 1),\n });\n break;\n case \"Enter\":\n event.preventDefault();\n this.setInputValue(highlightedOptionIndex);\n if (menuOptions[highlightedOptionIndex] !== undefined) {\n this.value = menuOptions[highlightedOptionIndex][this.valueField];\n }\n break;\n case \"Escape\":\n if (this.open) {\n event.stopImmediatePropagation();\n }\n this.handleMenuChange(false);\n this.menuOptionId.emit({ optionId: undefined });\n break;\n case \"Shift\":\n case \"Tab\":\n if (this.isSearchBar) {\n this.keyboardNav = true;\n }\n this.preventIncorrectTabOrder = true;\n break;\n case \"Backspace\":\n if (this.isSearchBar) {\n (this.parentEl as HTMLIcSearchBarElement).setFocus();\n if (this.searchMode === \"navigation\") this.setHighlightedOption(0);\n } else if (this.isSearchableSelect) {\n (this.parentEl as HTMLIcSelectElement).setFocus();\n }\n this.focusFromSearchKeypress = true;\n break;\n default:\n if (event.key !== \"Tab\") {\n if (this.isSearchBar) {\n (this.parentEl as HTMLIcSearchBarElement).setFocus();\n if (this.searchMode === \"navigation\") this.setHighlightedOption(0);\n } else if (this.isSearchableSelect) {\n (this.parentEl as HTMLIcSelectElement).setFocus();\n }\n this.focusFromSearchKeypress = true;\n }\n break;\n }\n };\n\n private setInputValue = (highlightedOptionIndex: number) => {\n const menuOptions = this.setMenuOptions();\n\n if (menuOptions[highlightedOptionIndex] !== undefined) {\n this.menuOptionSelect.emit({\n value: menuOptions[highlightedOptionIndex][this.valueField],\n });\n this.optionHighlighted = undefined;\n this.menuOptionId.emit({ optionId: undefined });\n }\n if (!this.hasTimedOut) this.handleMenuChange(false);\n else (this.parentEl as HTMLIcSearchBarElement).setFocus();\n };\n\n private handleOptionClick = (event: Event): void => {\n const { value, label } = (event.target as HTMLLIElement).dataset;\n this.menuOptionSelect.emit({ value, label });\n this.handleMenuChange(false);\n };\n\n private handleRetry = (): void => {\n this.retryButtonClicked.emit({ value: this.value });\n };\n\n private handleRetryKeyDown = (ev: KeyboardEvent): void => {\n if (ev.key === \"Enter\" || ev.key === \" \") {\n ev.preventDefault();\n this.retryButtonClicked.emit({ value: this.value, keyPressed: ev.key });\n }\n };\n\n private handleBlur = (event: FocusEvent): void => {\n if (event.relatedTarget !== this.inputEl) {\n if (!this.menu.contains(event.relatedTarget as HTMLElement)) {\n this.handleMenuChange(false, this.hasPreviouslyBlurred);\n }\n } else {\n this.handleMenuChange(false);\n this.preventClickOpen = true;\n }\n if (!this.isSearchBar) this.hasPreviouslyBlurred = !!event.relatedTarget;\n };\n\n private handleMouseDown = (event: Event): void => {\n event.preventDefault();\n };\n\n private handleMenuKeyDown = (event: KeyboardEvent) => {\n if (this.activationType === \"automatic\") {\n this.autoSetValueOnMenuKeyDown(event);\n } else if (this.activationType === \"manual\" && this.isSearchableSelect) {\n this.manSetInputValueKeyboardOpen(event);\n }\n };\n\n private emitMenuKeyPress = (isNavKey: boolean, key: string) => {\n this.menuKeyPress.emit({ isNavKey: isNavKey, key: key });\n };\n\n private autoSetValueOnMenuKeyDown = (event: KeyboardEvent): void => {\n event.cancelBubble = true;\n const selectedOptionIndex = this.ungroupedOptions.findIndex(\n (option) => option[this.valueField] === this.value\n );\n\n const isSearchableSelect = this.inputEl.tagName === \"INPUT\";\n\n this.keyboardNav = false;\n\n switch (event.key) {\n case \" \":\n event.preventDefault();\n break;\n case \"ArrowUp\":\n if (!this.hasTimedOut) {\n event.preventDefault();\n this.setPreviousOptionValue(selectedOptionIndex);\n this.keyboardNav = true;\n }\n break;\n case \"ArrowDown\":\n if (!this.hasTimedOut) {\n event.preventDefault();\n this.setNextOptionValue(selectedOptionIndex);\n this.keyboardNav = true;\n }\n break;\n case \"Home\":\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[0][this.valueField],\n });\n this.keyboardNav = true;\n break;\n case \"End\":\n this.menuOptionSelect.emit({\n value:\n this.ungroupedOptions[this.ungroupedOptions.length - 1][\n this.valueField\n ],\n });\n this.keyboardNav = true;\n break;\n case \"Enter\":\n !this.hasTimedOut && this.handleMenuChange(false);\n break;\n case \"Escape\":\n this.handleMenuChange(false);\n break;\n case \"Backspace\":\n if (isSearchableSelect) {\n this.inputEl.focus();\n }\n break;\n case \"Shift\":\n break;\n default:\n if (isSearchableSelect && event.key !== \"Tab\" && !this.hasTimedOut) {\n this.inputEl.focus();\n }\n if (event.key.length === 1) {\n this.keyboardNav = true;\n }\n break;\n }\n this.emitMenuKeyPress(this.keyboardNav, event.key);\n };\n\n private handleMenuKeyUp = (event: KeyboardEvent): void => {\n if (event.key === \"Tab\" && event.shiftKey) {\n this.preventClickOpen = false;\n }\n };\n\n private getOptionId = (value: string): string => {\n return `${this.menuId}-${value}`;\n };\n\n private getOptionAriaLabel = (\n option: IcMenuOption,\n parentOption: IcMenuOption\n ): string => {\n let ariaLabel = option[this.labelField];\n\n if (option.description) {\n ariaLabel = `${ariaLabel}, ${option.description}`;\n }\n\n if (option.element) {\n ariaLabel = `${ariaLabel}, ${option.element.ariaLabel}`;\n }\n\n if (parentOption) {\n return `${ariaLabel}, ${parentOption[this.labelField]} group`;\n } else {\n return ariaLabel;\n }\n };\n\n private getSortedOptions = (options: IcMenuOption[]): IcMenuOption[] => {\n let sorted: IcMenuOption[] = [];\n if (options.sort) {\n sorted = options.sort((optionA, optionB) =>\n optionA.recommended && !optionB.recommended ? -1 : 0\n );\n }\n return sorted;\n };\n\n private isManualMode = this.activationType === \"manual\";\n\n private scrollToSelected = (menu: HTMLUListElement) => {\n const selectedOption = menu.querySelector(\n \".option[aria-selected]\"\n ) as HTMLElement;\n\n if (selectedOption) {\n const elTop = selectedOption.offsetTop + selectedOption.offsetHeight;\n if (\n elTop > menu.scrollTop + menu.offsetHeight ||\n elTop < menu.scrollTop + menu.offsetHeight\n ) {\n menu.scrollTop = selectedOption.offsetTop;\n }\n selectedOption.focus();\n }\n };\n\n private loadUngroupedOptions = () => {\n if (this.options.length > 0 && this.options.map) {\n this.options.map((option) => {\n if (option.children) {\n option.children.map(\n (option) => !option.disabled && this.ungroupedOptions.push(option)\n );\n } else if (!option.disabled) {\n this.ungroupedOptions.push(option);\n }\n });\n }\n this.ungroupedOptions = this.getSortedOptions(this.ungroupedOptions);\n this.ungroupedOptionsSet.emit({ options: this.ungroupedOptions });\n };\n\n private setMenuScrollbar = () => {\n let optionsHeight = 0;\n this.host\n .querySelectorAll(\".option\")\n .forEach((option) => (optionsHeight += option.clientHeight));\n\n if (optionsHeight >= 320) {\n this.menu.classList.add(\"menu-scroll\");\n }\n };\n\n private handleTimeoutBlur = (ev: FocusEvent) => {\n this.timeoutBlur.emit({ ev });\n };\n\n private optionContent = (option: IcMenuOption) => {\n return (\n <Fragment>\n {option.loading && <ic-loading-indicator size=\"icon\" />}\n <div class=\"option-text-container\">\n <div class=\"option-label\">\n {option.icon && (\n <div\n class=\"option-icon\"\n innerHTML={option.icon}\n aria-hidden=\"true\"\n ></div>\n )}\n <ic-typography variant=\"body\" aria-hidden=\"true\">\n <p>{option[this.labelField]}</p>\n </ic-typography>\n </div>\n {option.description && (\n <ic-typography\n id={`${this.getOptionId(option[this.valueField])}-description`}\n class=\"option-description\"\n variant=\"caption\"\n aria-hidden=\"true\"\n >\n <p>{option.description}</p>\n </ic-typography>\n )}\n {option.element && (\n <div\n class=\"option-element\"\n innerHTML={option.element.component}\n aria-hidden=\"true\"\n ></div>\n )}\n </div>\n {!!option[this.valueField] &&\n !!this.value &&\n option[this.valueField].toLowerCase() === this.value?.toLowerCase() &&\n this.parentEl.tagName !== \"IC-SEARCH-BAR\" && (\n <span class=\"check-icon\" innerHTML={Check} />\n )}\n </Fragment>\n );\n };\n\n private displayOption = (\n option: IcMenuOption,\n index?: number,\n parentOption?: IcMenuOption\n ): HTMLLIElement => {\n const {\n open,\n value,\n keyboardNav,\n isManualMode,\n initialOptionsListRender,\n optionHighlighted,\n options,\n } = this;\n\n return (\n <li\n id={this.getOptionId(option[this.valueField])}\n class={{\n option: true,\n \"focused-option\": isManualMode\n ? (keyboardNav || initialOptionsListRender) &&\n option[this.valueField] === optionHighlighted\n : keyboardNav && option[this.valueField] === value,\n \"last-recommended-option\":\n option.recommended &&\n options[index + 1] &&\n !options[index + 1].recommended,\n \"disabled-option\": option.disabled,\n \"loading-option\": option.loading,\n timeout: option.timedOut,\n }}\n role=\"option\"\n tabindex={\n open &&\n (option[this.valueField] === value ||\n option[this.valueField] === optionHighlighted) &&\n keyboardNav\n ? \"0\"\n : \"-1\"\n }\n aria-label={this.getOptionAriaLabel(option, parentOption)}\n aria-selected={option[this.valueField] === value}\n aria-disabled={option.disabled ? \"true\" : \"false\"}\n onClick={!option.timedOut && !option.loading && this.handleOptionClick}\n onBlur={this.handleBlur}\n onMouseDown={this.handleMouseDown}\n data-value={option[this.valueField]}\n data-label={option[this.labelField]}\n >\n {option.timedOut ? (\n <Fragment>\n <div class=\"loading-error-info\">\n <svg\n class=\"error-icon-svg\"\n aria-labelledby=\"error-title\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"#000000\"\n >\n <title id=\"error-title\">Error</title>\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\" />\n </svg>\n <ic-typography variant=\"label\">\n {option[this.labelField]}\n </ic-typography>\n </div>\n <ic-button\n size=\"small\"\n variant=\"tertiary\"\n onClick={this.handleRetry}\n onKeyDown={this.handleRetryKeyDown}\n onBlur={this.handleTimeoutBlur}\n id=\"retry-button\"\n >\n Retry\n </ic-button>\n </Fragment>\n ) : (\n this.optionContent(option)\n )}\n </li>\n );\n };\n\n render() {\n const {\n inputLabel,\n options,\n menuId,\n value,\n fullWidth,\n hasTimedOut,\n isLoading,\n small,\n open,\n inputEl,\n keyboardNav,\n } = this;\n\n return (\n <Host\n class={{\n \"full-width\": fullWidth,\n \"no-focus\": inputEl?.tagName === \"INPUT\" || hasTimedOut || isLoading,\n small: small,\n open: open,\n }}\n >\n {options.length !== 0 && (\n <ul\n id={menuId}\n class=\"menu\"\n role=\"listbox\"\n aria-label={inputLabel}\n aria-activedescendant={\n value != null && value !== \"\" ? this.getOptionId(value) : \"\"\n }\n tabindex={\n open && !keyboardNav && inputEl?.tagName !== \"INPUT\" ? \"0\" : \"-1\"\n }\n ref={(el) => (this.menu = el)}\n onKeyDown={this.handleMenuKeyDown}\n onKeyUp={this.handleMenuKeyUp}\n onBlur={this.handleBlur}\n >\n {this.getSortedOptions(options).map((option, index) => {\n if (option.children) {\n if (option.children.length > 0) {\n return (\n <div>\n <ic-typography\n class=\"option-group-title\"\n role=\"presentation\"\n variant=\"subtitle-small\"\n >\n <p>{option[this.labelField]}</p>\n </ic-typography>\n {option.children.map((childOption) =>\n this.displayOption(childOption, index, option)\n )}\n </div>\n );\n } else {\n return null;\n }\n } else {\n return this.displayOption(option, index);\n }\n })}\n </ul>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as e,H as s,g as a}from"./p-85903a81.js";import{f as n,a as o}from"./p-c30d9b20.js";import"./p-613aa265.js";const l=`<svg width="8" height="10" viewBox="0 0 8 10" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M2.08748 0L0.912476 1.175L4.72914 5L0.912476 8.825L2.08748 10L7.08748 5L2.08748 0Z" fill="currentColor"/>\n</svg>\n`;const r=`<svg width="12" height="10" viewBox="0 0 12 10" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M11.1709 8.825L7.34589 5L11.1709 1.175L9.99589 0L4.99589 5L9.99589 10L11.1709 8.825ZM0.829224 0H2.49589V10H0.829224V0Z" fill="currentColour"/>\n</svg>`;const h='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{box-sizing:border-box;width:100%;display:flex;justify-content:center}nav{width:100%;display:flex;flex-flow:row wrap;justify-content:flex-start;align-items:center}ic-button{cursor:pointer}ic-button.next-previous{--icon-width:var(--ic-space-xs);--icon-height:calc(var(--ic-space-xs) + var(--ic-space-xxxs));padding:0 var(--ic-space-xxs) 0 var(--ic-space-xxxs)}ic-button.first-last{--icon-width:calc(var(--ic-space-sm) + var(--ic-space-xxxs));--icon-height:calc(var(--ic-space-xs) + var(--ic-space-xxxs))}.disabled{color:var(--ic-architectural-200);pointer-events:none;cursor:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hide-current-page{display:none}';const p=class{constructor(s){t(this,s);this.icPageChange=i(this,"icPageChange",7);this.handleClickFirst=()=>{this.currentPage=1;this.icPageChange.emit({value:this.currentPage})};this.handleClickPrevious=()=>{this.currentPage--;this.icPageChange.emit({value:this.currentPage})};this.handleClickNext=()=>{this.currentPage++;this.icPageChange.emit({value:this.currentPage})};this.handleClickLast=()=>{this.currentPage=this.pages;this.icPageChange.emit({value:this.currentPage})};this.firstButton=()=>e("ic-button",{id:"first-page-button","aria-label":"Go to first page",disableTooltip:true,appearance:this.appearance,onClick:this.handleClickFirst,class:"page-button first-last",disabled:this.currentPage===1||this.disabled,variant:"icon",innerHTML:r});this.previousButton=()=>e("ic-button",{id:"previous-page-button","aria-label":"Go to previous page",disableTooltip:true,appearance:this.appearance,onClick:this.handleClickPrevious,class:"page-button next-previous flip",disabled:this.currentPage===1||this.disabled,variant:"icon",innerHTML:l});this.nextButton=()=>e("ic-button",{id:"next-page-button","aria-label":"Go to next page",disableTooltip:true,appearance:this.appearance,onClick:this.handleClickNext,class:"page-button next-previous",disabled:this.currentPage===this.pages||this.disabled,variant:"icon",innerHTML:l});this.lastButton=()=>e("ic-button",{id:"last-page-button","aria-label":"Go to last page",disableTooltip:true,appearance:this.appearance,onClick:this.handleClickLast,class:"page-button first-last flip",disabled:this.currentPage===this.pages||this.disabled,variant:"icon",innerHTML:r});this.renderStartEllipsis=()=>e("ic-pagination-item",{appearance:this.appearance,type:"ellipsis",id:"start-ellipsis",disabled:this.disabled});this.renderEndEllipsis=()=>e("ic-pagination-item",{appearance:this.appearance,type:"ellipsis",id:"end-ellipsis",disabled:this.disabled});this.renderStartItems=()=>this.startItems.map((t=>e("ic-pagination-item",{appearance:this.appearance,selected:t===this.currentPage,id:`pagination-item-${t}`,type:"page",page:t,disabled:this.disabled})));this.renderEndItems=()=>this.endItems.map((t=>e("ic-pagination-item",{appearance:this.appearance,selected:t===this.currentPage,id:`pagination-item-${t}`,type:"page",page:t,disabled:this.disabled})));this.renderMiddleItems=()=>this.midItems.map((t=>e("ic-pagination-item",{appearance:this.appearance,selected:t===this.currentPage,id:`pagination-item-${t}`,type:"page",page:t,disabled:this.disabled})));this.endEllipsis=false;this.endItems=[];this.midItems=[];this.startEllipsis=false;this.startItems=[];this.adjacentCount=1;this.appearance="default";this.boundaryCount=1;this.defaultPage=1;this.disabled=false;this.hideCurrentPage=false;this.hideFirstAndLastPageButton=false;this.label="Page";this.pages=undefined;this.type="simple";this.currentPage=this.defaultPage}watchNumberPagesHandler(){this.watchPageChangeHandler()}watchPageChangeHandler(){if(this.type==="simple"){return}this.startEllipsis=false;this.endEllipsis=false;this.startItems=[];this.endItems=[];this.midItems=[];const t=[];let i=0;const e=[];let s=this.pages;const a=[];let n;let o;let l=false;let r=false;if(this.pages<=this.boundaryCount*2+this.adjacentCount*2+3){this.startEllipsis=false;this.endEllipsis=false;for(let i=1;i<=this.pages;i++){t.push(i)}this.startItems=t;return}i=this.boundaryCount===0?1:this.boundaryCount;s=this.boundaryCount===0?this.pages:this.pages-this.boundaryCount+1;if(this.currentPage<=this.adjacentCount+this.boundaryCount+2){l=false;r=true;let t=2*this.adjacentCount+1;if(this.boundaryCount===0){t--}n=i+1;o=n+t}else{l=true;if(this.currentPage>this.pages-(this.adjacentCount+this.boundaryCount+2)){let t=2*this.adjacentCount+1;if(this.boundaryCount===0){t--}o=this.boundaryCount===0?this.pages-1:this.pages-this.boundaryCount;n=o-t}else{r=true;n=this.currentPage-this.adjacentCount;o=this.currentPage+this.adjacentCount}}if(this.boundaryCount>0||this.boundaryCount===0&&l===false){for(let e=1;e<=i;e++){t.push(e)}}if(this.boundaryCount>0||this.boundaryCount===0&&r===false){for(let t=s;t<=this.pages;t++){e.push(t)}}for(let t=n;t<=o;t++){a.push(t)}this.startEllipsis=l;this.endEllipsis=r;this.startItems=t;this.endItems=e;this.midItems=a}componentWillLoad(){this.watchPageChangeHandler();if(this.boundaryCount>2){this.boundaryCount=2}if(this.adjacentCount>2){this.adjacentCount=2}n(this.disabled,this.el)}componentDidLoad(){o([{prop:this.pages,propName:"pages"}],"Pagination")}paginationItemClickHandler(t){const i=t.detail.page;this.currentPage=i;this.icPageChange.emit({value:this.currentPage})}async setCurrentPage(t){if(typeof t==="number"&&t>0&&t<=this.pages){this.currentPage=t}else{console.error("Current page must be a number greater than zero but less than or equal to the total number of pages")}}render(){const{type:t,pages:i,currentPage:a,hideCurrentPage:n,disabled:o,hideFirstAndLastPageButton:l,label:r}=this;return e(s,null,t==="simple"&&e("nav",{class:{["disabled"]:o},role:"navigation","aria-label":"Pagination Navigation"},l?null:this.firstButton(),this.previousButton(),e("ic-pagination-item",{pages:i,appearance:this.appearance,type:"simple-current",page:a,label:r,class:{["hide-current-page"]:n}}),this.nextButton(),l?null:this.lastButton()),t==="complex"&&e("nav",{class:{["disabled"]:o},role:"navigation","aria-label":"Pagination Navigation"},l?null:this.firstButton(),this.previousButton(),this.renderStartItems(),this.startEllipsis&&this.renderStartEllipsis(),this.renderMiddleItems(),this.endEllipsis&&this.renderEndEllipsis(),this.renderEndItems(),this.nextButton(),l?null:this.lastButton()))}get el(){return a(this)}static get watchers(){return{pages:["watchNumberPagesHandler"],currentPage:["watchPageChangeHandler"]}}};p.style=h;export{p as ic_pagination};
2
- //# sourceMappingURL=p-6ec3cd12.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icPaginationCss","Pagination","this","handleClickFirst","currentPage","icPageChange","emit","value","handleClickPrevious","handleClickNext","handleClickLast","pages","firstButton","h","id","disableTooltip","appearance","onClick","class","disabled","variant","innerHTML","paginationFirstLast","previousButton","paginationNextPrevious","nextButton","lastButton","renderStartEllipsis","type","renderEndEllipsis","renderStartItems","startItems","map","page","selected","renderEndItems","endItems","renderMiddleItems","midItems","defaultPage","watchNumberPagesHandler","watchPageChangeHandler","startEllipsis","endEllipsis","startItemCount","endStart","midStart","midEnd","boundaryCount","adjacentCount","i","push","numItems","componentWillLoad","removeDisabledFalse","el","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","paginationItemClickHandler","ev","detail","setCurrentPage","console","error","render","hideCurrentPage","hideFirstAndLastPageButton","label","Host","role"],"sources":["src/components/ic-pagination/ic-pagination.css?tag=ic-pagination&encapsulation=shadow","src/components/ic-pagination/ic-pagination.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n justify-content: center;\n}\n\nnav {\n width: 100%;\n display: flex;\n flex-flow: row wrap;\n justify-content: flex-start;\n align-items: center;\n}\n\nic-button {\n cursor: pointer;\n}\n\nic-button.next-previous {\n --icon-width: var(--ic-space-xs);\n --icon-height: calc(var(--ic-space-xs) + var(--ic-space-xxxs));\n\n padding: 0 var(--ic-space-xxs) 0 var(--ic-space-xxxs);\n}\n\nic-button.first-last {\n --icon-width: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n --icon-height: calc(var(--ic-space-xs) + var(--ic-space-xxxs));\n}\n\n.disabled {\n color: var(--ic-architectural-200);\n pointer-events: none;\n cursor: none;\n user-select: none;\n}\n\n.hide-current-page {\n display: none;\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n Listen,\n State,\n Watch,\n Event,\n EventEmitter,\n Method,\n} from \"@stencil/core\";\nimport paginationNextPrevious from \"../../assets/pagination-next-previous.svg\";\nimport paginationFirstLast from \"../../assets/pagination-first-last.svg\";\nimport { IcThemeForeground } from \"../../utils/types\";\nimport { IcPaginationTypes, IcChangeEventDetail } from \"./ic-pagination.types\";\nimport {\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-pagination\",\n styleUrl: \"ic-pagination.css\",\n shadow: true,\n})\nexport class Pagination {\n @Element() el: HTMLIcPaginationElement;\n\n @State() endEllipsis: boolean = false;\n @State() endItems: number[] = [];\n @State() midItems: number[] = [];\n @State() startEllipsis: boolean = false;\n @State() startItems: number[] = [];\n\n /**\n * The number of pages displayed adjacent to the current page when using 'complex' type pagination. Accepted values are 0, 1 & 2.\n */\n @Prop({ mutable: true }) adjacentCount: number = 1;\n\n /**\n * The appearance of the pagination, e.g. dark, light or the default.\n */\n @Prop() appearance: IcThemeForeground = \"default\";\n\n /**\n * The number of pages displayed as boundary items to the current page when using 'complex' type pagination. Accepted values are 0, 1 & 2.\n */\n @Prop({ mutable: true }) boundaryCount: number = 1;\n\n /**\n * The default page to display.\n */\n @Prop() defaultPage: number = 1;\n\n /**\n * If `true`, the pagination will not allow interaction.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * If `true`, the current page of the simple pagination will not be displayed.\n */\n @Prop() hideCurrentPage: boolean = false;\n\n /**\n * If `true`, the first and last page buttons will not be displayed.\n */\n @Prop() hideFirstAndLastPageButton: boolean = false;\n\n /**\n * The label for the pagination item (applicable when simple pagination is being used).\n */\n @Prop() label: string = \"Page\";\n\n /**\n * The total number of pages.\n */\n @Prop() pages!: number;\n\n @Watch(\"pages\")\n watchNumberPagesHandler(): void {\n this.watchPageChangeHandler();\n }\n\n /**\n * The type of pagination to be used.\n */\n @Prop() type: IcPaginationTypes = \"simple\";\n\n /**\n * The current page displayed by the pagination.\n */\n @Prop({ mutable: true }) currentPage: number = this.defaultPage;\n\n @Watch(\"currentPage\")\n watchPageChangeHandler(): void {\n if (this.type === \"simple\") {\n return;\n }\n\n this.startEllipsis = false;\n this.endEllipsis = false;\n this.startItems = [];\n this.endItems = [];\n this.midItems = [];\n\n const startItems = [];\n let startItemCount = 0;\n const endItems = [];\n let endStart = this.pages;\n const midItems = [];\n let midStart;\n let midEnd;\n let startEllipsis = false;\n let endEllipsis = false;\n\n if (this.pages <= this.boundaryCount * 2 + this.adjacentCount * 2 + 3) {\n this.startEllipsis = false;\n this.endEllipsis = false;\n for (let i = 1; i <= this.pages; i++) {\n startItems.push(i);\n }\n this.startItems = startItems;\n return;\n }\n\n startItemCount = this.boundaryCount === 0 ? 1 : this.boundaryCount;\n endStart =\n this.boundaryCount === 0\n ? this.pages\n : this.pages - this.boundaryCount + 1;\n\n if (this.currentPage <= this.adjacentCount + this.boundaryCount + 2) {\n startEllipsis = false;\n endEllipsis = true;\n\n let numItems = 2 * this.adjacentCount + 1;\n if (this.boundaryCount === 0) {\n numItems--;\n }\n midStart = startItemCount + 1;\n midEnd = midStart + numItems;\n } else {\n startEllipsis = true;\n if (\n this.currentPage >\n this.pages - (this.adjacentCount + this.boundaryCount + 2)\n ) {\n let numItems = 2 * this.adjacentCount + 1;\n if (this.boundaryCount === 0) {\n numItems--;\n }\n midEnd =\n this.boundaryCount === 0\n ? this.pages - 1\n : this.pages - this.boundaryCount;\n midStart = midEnd - numItems;\n } else {\n endEllipsis = true;\n midStart = this.currentPage - this.adjacentCount;\n midEnd = this.currentPage + this.adjacentCount;\n }\n }\n\n //create array of start items\n if (\n this.boundaryCount > 0 ||\n (this.boundaryCount === 0 && startEllipsis === false)\n ) {\n for (let i = 1; i <= startItemCount; i++) {\n startItems.push(i);\n }\n }\n\n //create array of end items\n if (\n this.boundaryCount > 0 ||\n (this.boundaryCount === 0 && endEllipsis === false)\n ) {\n for (let i = endStart; i <= this.pages; i++) {\n endItems.push(i);\n }\n }\n\n //create array of mid items\n for (let i = midStart; i <= midEnd; i++) {\n midItems.push(i);\n }\n\n this.startEllipsis = startEllipsis;\n this.endEllipsis = endEllipsis;\n this.startItems = startItems;\n this.endItems = endItems;\n this.midItems = midItems;\n }\n\n /**\n * Emitted when a page is selected.\n */\n @Event() icPageChange: EventEmitter<IcChangeEventDetail>;\n\n componentWillLoad(): void {\n this.watchPageChangeHandler();\n if (this.boundaryCount > 2) {\n this.boundaryCount = 2;\n }\n if (this.adjacentCount > 2) {\n this.adjacentCount = 2;\n }\n\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.pages, propName: \"pages\" }],\n \"Pagination\"\n );\n }\n\n @Listen(\"paginationItemClick\")\n paginationItemClickHandler(ev: CustomEvent): void {\n const page = ev.detail.page;\n this.currentPage = page;\n this.icPageChange.emit({ value: this.currentPage });\n }\n\n /**\n * Sets the currently displayed page.\n */\n @Method()\n async setCurrentPage(page: number): Promise<void> {\n if (typeof page === \"number\" && page > 0 && page <= this.pages) {\n this.currentPage = page;\n } else {\n console.error(\n \"Current page must be a number greater than zero but less than or equal to the total number of pages\"\n );\n }\n }\n\n private handleClickFirst = () => {\n this.currentPage = 1;\n this.icPageChange.emit({ value: this.currentPage });\n };\n\n private handleClickPrevious = (): void => {\n this.currentPage--;\n this.icPageChange.emit({ value: this.currentPage });\n };\n\n private handleClickNext = (): void => {\n this.currentPage++;\n this.icPageChange.emit({ value: this.currentPage });\n };\n\n private handleClickLast = (): void => {\n this.currentPage = this.pages;\n this.icPageChange.emit({ value: this.currentPage });\n };\n\n // button rendering abstracted from component render methods for clarity\n private firstButton = () => {\n return (\n <ic-button\n id=\"first-page-button\"\n aria-label=\"Go to first page\"\n disableTooltip={true}\n appearance={this.appearance}\n onClick={this.handleClickFirst}\n class=\"page-button first-last\"\n disabled={this.currentPage === 1 || this.disabled}\n variant=\"icon\"\n innerHTML={paginationFirstLast}\n />\n );\n };\n\n private previousButton = () => {\n return (\n <ic-button\n id=\"previous-page-button\"\n aria-label=\"Go to previous page\"\n disableTooltip={true}\n appearance={this.appearance}\n onClick={this.handleClickPrevious}\n class=\"page-button next-previous flip\"\n disabled={this.currentPage === 1 || this.disabled}\n variant=\"icon\"\n innerHTML={paginationNextPrevious}\n />\n );\n };\n\n private nextButton = () => {\n return (\n <ic-button\n id=\"next-page-button\"\n aria-label=\"Go to next page\"\n disableTooltip={true}\n appearance={this.appearance}\n onClick={this.handleClickNext}\n class=\"page-button next-previous\"\n disabled={this.currentPage === this.pages || this.disabled}\n variant=\"icon\"\n innerHTML={paginationNextPrevious}\n />\n );\n };\n\n private lastButton = () => {\n return (\n <ic-button\n id=\"last-page-button\"\n aria-label=\"Go to last page\"\n disableTooltip={true}\n appearance={this.appearance}\n onClick={this.handleClickLast}\n class=\"page-button first-last flip\"\n disabled={this.currentPage === this.pages || this.disabled}\n variant=\"icon\"\n innerHTML={paginationFirstLast}\n />\n );\n };\n\n private renderStartEllipsis = () => {\n return (\n <ic-pagination-item\n appearance={this.appearance}\n type=\"ellipsis\"\n id=\"start-ellipsis\"\n disabled={this.disabled}\n />\n );\n };\n\n private renderEndEllipsis = () => {\n return (\n <ic-pagination-item\n appearance={this.appearance}\n type=\"ellipsis\"\n id=\"end-ellipsis\"\n disabled={this.disabled}\n />\n );\n };\n\n private renderStartItems = () => {\n return this.startItems.map((page: number) => {\n return (\n <ic-pagination-item\n appearance={this.appearance}\n selected={page === this.currentPage}\n id={`pagination-item-${page}`}\n type=\"page\"\n page={page}\n disabled={this.disabled}\n />\n );\n });\n };\n\n private renderEndItems = () => {\n return this.endItems.map((page: number) => {\n return (\n <ic-pagination-item\n appearance={this.appearance}\n selected={page === this.currentPage}\n id={`pagination-item-${page}`}\n type=\"page\"\n page={page}\n disabled={this.disabled}\n />\n );\n });\n };\n\n private renderMiddleItems = () => {\n return this.midItems.map((page: number) => {\n return (\n <ic-pagination-item\n appearance={this.appearance}\n selected={page === this.currentPage}\n id={`pagination-item-${page}`}\n type=\"page\"\n page={page}\n disabled={this.disabled}\n />\n );\n });\n };\n\n render() {\n const {\n type,\n pages,\n currentPage,\n hideCurrentPage,\n disabled,\n hideFirstAndLastPageButton,\n label,\n } = this;\n\n return (\n <Host>\n {type === \"simple\" && (\n <nav\n class={{\n [\"disabled\"]: disabled,\n }}\n role=\"navigation\"\n aria-label=\"Pagination Navigation\"\n >\n {hideFirstAndLastPageButton ? null : this.firstButton()}\n {this.previousButton()}\n <ic-pagination-item\n pages={pages}\n appearance={this.appearance}\n type=\"simple-current\"\n page={currentPage}\n label={label}\n class={{ [\"hide-current-page\"]: hideCurrentPage }}\n />\n {this.nextButton()}\n {hideFirstAndLastPageButton ? null : this.lastButton()}\n </nav>\n )}\n {type === \"complex\" && (\n <nav\n class={{\n [\"disabled\"]: disabled,\n }}\n role=\"navigation\"\n aria-label=\"Pagination Navigation\"\n >\n {hideFirstAndLastPageButton ? null : this.firstButton()}\n {this.previousButton()}\n {this.renderStartItems()}\n {this.startEllipsis && this.renderStartEllipsis()}\n {this.renderMiddleItems()}\n {this.endEllipsis && this.renderEndEllipsis()}\n {this.renderEndItems()}\n {this.nextButton()}\n {hideFirstAndLastPageButton ? null : this.lastButton()}\n </nav>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r,h as i,H as a}from"./p-85903a81.js";import{t as e}from"./p-c30d9b20.js";import{I as s}from"./p-613aa265.js";const c="hr.sc-ic-divider{padding:0;margin:0;border:none;height:var(--ic-space-1px);background-color:var(--ic-keyline-darken-rgb)}hr.light.sc-ic-divider{background-color:var(--ic-keyline-lighten-rgb)}";const t=class{constructor(i){r(this,i);this.foregroundColor=e()}themeChangeHandler(r){const i=r.detail;this.foregroundColor=i.mode}render(){return i(a,{"aria-hidden":"true"},i("hr",{class:{["light"]:this.foregroundColor===s.Light}}))}};t.style=c;export{t as ic_divider};
2
- //# sourceMappingURL=p-76daa5b0.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as t,h as i,H as a,g as s}from"./p-85903a81.js";import{a as e,O as r,P as l,Q as n,R as o,M as c}from"./p-c30d9b20.js";import{a as p}from"./p-613aa265.js";const h="ic-input-label{margin-bottom:var(--ic-space-xs)}ic-input-label.with-helper{margin-bottom:var(--ic-space-xxxs)}ic-input-label.readonly{color:var(--ic-color-tertiary-text)}ic-input-label .helpertext{margin-top:var(--ic-space-xxxs)}ic-input-label .helpertext-normal{color:var(--ic-color-secondary-text)}ic-input-label .helpertext-readonly{color:var(--ic-color-tertiary-text)}ic-input-label .readonly-label{color:var(--ic-color-secondary-text)}ic-input-label .error-label{color:var(--ic-status-error)}ic-input-label .dark{color:var(--ic-architectural-white)}";const d=class{constructor(i){t(this,i);this.dark=false;this.disabled=false;this.error=false;this.for=undefined;this.helperText="";this.label=undefined;this.readonly=false;this.required=false}componentDidLoad(){e([{prop:this.label,propName:"label"}],"Input Label")}render(){const{disabled:t,readonly:s,label:e,required:l,helperText:n,error:o,dark:c}=this;const p=l?e+" *":e;const h=s?`${p}`:i("label",{htmlFor:this.for},p);const d=r(this.for);return i(a,{class:{["disabled"]:t,["readonly"]:s,["with-helper"]:n!==""}},i("ic-typography",{variant:"label",class:{["readonly-label"]:s,["error-label"]:o&&!(s||t),["dark"]:c}},h),n!==""&&i("ic-typography",{variant:"caption",class:{["helpertext"]:true,["helpertext-normal"]:!t&&!s,["helpertext-readonly"]:s}},i("span",{id:d},n)))}};d.style=h;const u="ic-input-validation{width:var(--input-width, 20rem);margin-top:var(--ic-space-xs);display:flex}ic-input-validation.fullwidth{width:100%}ic-input-validation span.status-icon{padding-right:var(--ic-space-xxs)}ic-input-validation span.status-icon>svg{height:1.25rem;width:1.25rem}ic-input-validation span.icon-success>svg{fill:var(--ic-status-success)}ic-input-validation span.icon-error>svg{fill:var(--ic-status-error)}ic-input-validation span.icon-warning>svg{fill:var(--ic-status-warning)}ic-input-validation .statustext{flex-grow:1}";const v={[p.Warning]:n,[p.Error]:o,[p.Success]:c};const m=class{constructor(i){t(this,i);this.ariaLiveMode="polite";this.for=undefined;this.fullWidth=false;this.message=undefined;this.status=""}componentDidLoad(){e([{prop:this.message,propName:"message"}],"Input Validation")}render(){const t=this.status!==""?v[this.status]:"";const s=l(this.for);return i(a,{class:{[this.status]:this.status!=="",["fullwidth"]:this.fullWidth}},t!==""&&i("span",{class:{["status-icon"]:true,[`icon-${this.status}`]:true},innerHTML:t}),i("ic-typography",{variant:"caption",class:"statustext"},i("span",{"aria-live":this.ariaLiveMode,id:s},this.message)),i("slot",{name:"validation-message-adornment"}))}get el(){return s(this)}};m.style=u;export{d as ic_input_label,m as ic_input_validation};
2
- //# sourceMappingURL=p-777e5556.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icInputLabelCss","InputLabel","componentDidLoad","onComponentRequiredPropUndefined","prop","this","label","propName","render","disabled","readonly","required","helperText","error","dark","labelText","labelContent","h","htmlFor","for","id","getInputHelperTextID","Host","class","variant","icInputValidationCss","icon","IcInformationStatus","Warning","warningIcon","Error","errorIcon","Success","successIcon","InputValidation","message","displayIcon","status","getInputValidationTextID","fullWidth","innerHTML","ariaLiveMode","name"],"sources":["src/components/ic-input-label/ic-input-label.css?tag=ic-input-label","src/components/ic-input-label/ic-input-label.tsx","src/components/ic-input-validation/ic-input-validation.css?tag=ic-input-validation","src/components/ic-input-validation/ic-input-validation.tsx"],"sourcesContent":["ic-input-label {\n margin-bottom: var(--ic-space-xs);\n}\n\nic-input-label.with-helper {\n margin-bottom: var(--ic-space-xxxs);\n}\n\nic-input-label.readonly {\n color: var(--ic-color-tertiary-text);\n}\n\nic-input-label .helpertext {\n margin-top: var(--ic-space-xxxs);\n}\n\nic-input-label .helpertext-normal {\n color: var(--ic-color-secondary-text);\n}\n\nic-input-label .helpertext-readonly {\n color: var(--ic-color-tertiary-text);\n}\n\nic-input-label .readonly-label {\n color: var(--ic-color-secondary-text);\n}\n\nic-input-label .error-label {\n color: var(--ic-status-error);\n}\n\nic-input-label .dark {\n color: var(--ic-architectural-white);\n}\n","import { Component, Host, Prop, h } from \"@stencil/core\";\n\nimport {\n getInputHelperTextID,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-input-label\",\n styleUrl: \"./ic-input-label.css\",\n})\nexport class InputLabel {\n /**\n * If `true`, the dark variant of the input label will be displayed.\n */\n @Prop() dark?: boolean = false;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * If `true`, the input label will display with error styling.\n */\n @Prop() error?: boolean = false;\n\n /**\n * The ID of the form element the label is bound to.\n */\n @Prop() for: string;\n\n /**\n * The helper text that will be displayed.\n */\n @Prop() helperText: string = \"\";\n\n /**\n * The text content of the label.\n */\n @Prop() label!: string;\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly: boolean = false;\n\n /**\n * If `true`, the input label will require a value.\n */\n @Prop() required: boolean = false;\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Input Label\"\n );\n }\n\n render() {\n const { disabled, readonly, label, required, helperText, error, dark } =\n this;\n const labelText = required ? label + \" *\" : label;\n const labelContent = readonly ? (\n `${labelText}`\n ) : (\n <label htmlFor={this.for}>{labelText}</label>\n );\n\n const id = getInputHelperTextID(this.for);\n\n return (\n <Host\n class={{\n [\"disabled\"]: disabled,\n [\"readonly\"]: readonly,\n [\"with-helper\"]: helperText !== \"\",\n }}\n >\n <ic-typography\n variant=\"label\"\n class={{\n [\"readonly-label\"]: readonly,\n [\"error-label\"]: error && !(readonly || disabled),\n [\"dark\"]: dark,\n }}\n >\n {labelContent}\n </ic-typography>\n\n {helperText !== \"\" && (\n <ic-typography\n variant=\"caption\"\n class={{\n [\"helpertext\"]: true,\n [\"helpertext-normal\"]: !disabled && !readonly,\n [\"helpertext-readonly\"]: readonly,\n }}\n >\n <span id={id}>{helperText}</span>\n </ic-typography>\n )}\n </Host>\n );\n }\n}\n","ic-input-validation {\n width: var(--input-width, 20rem);\n margin-top: var(--ic-space-xs);\n display: flex;\n}\n\nic-input-validation.fullwidth {\n width: 100%;\n}\n\nic-input-validation span.status-icon {\n padding-right: var(--ic-space-xxs);\n}\n\nic-input-validation span.status-icon > svg {\n height: 1.25rem;\n width: 1.25rem;\n}\n\nic-input-validation span.icon-success > svg {\n fill: var(--ic-status-success);\n}\n\nic-input-validation span.icon-error > svg {\n fill: var(--ic-status-error);\n}\n\nic-input-validation span.icon-warning > svg {\n fill: var(--ic-status-warning);\n}\n\nic-input-validation .statustext {\n flex-grow: 1;\n}\n","import { Element, Component, Host, Prop, h } from \"@stencil/core\";\n\nimport {\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n} from \"../../utils/types\";\nimport errorIcon from \"../../assets/error-icon.svg\";\nimport successIcon from \"../../assets/success-icon.svg\";\nimport warningIcon from \"../../assets/warning-icon.svg\";\n\nimport {\n getInputValidationTextID,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcAriaLiveModeVariants } from \"./ic-input-validation.types\";\n\nconst icon = {\n [IcInformationStatus.Warning]: warningIcon,\n [IcInformationStatus.Error]: errorIcon,\n [IcInformationStatus.Success]: successIcon,\n};\n\n/**\n * @slot validation-message-adornment - Content will be placed to the right of the validation message.\n */\n@Component({\n tag: \"ic-input-validation\",\n styleUrl: \"ic-input-validation.css\",\n})\nexport class InputValidation {\n @Element() el: HTMLIcInputValidationElement;\n\n /**\n * The ARIA live mode to apply to the message.\n */\n @Prop() ariaLiveMode: IcAriaLiveModeVariants = \"polite\";\n\n /**\n * The ID of the form element the validation is bound to.\n */\n @Prop() for: string;\n\n /**\n * If `true`, the input validation will fill the width of the container.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * The validation message to display.\n */\n @Prop() message!: string;\n\n /**\n * The status of the validation - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() status: IcInformationStatusOrEmpty = \"\";\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.message, propName: \"message\" }],\n \"Input Validation\"\n );\n }\n\n render() {\n const displayIcon = this.status !== \"\" ? icon[this.status] : \"\";\n const id = getInputValidationTextID(this.for);\n return (\n <Host\n class={{\n [this.status]: this.status !== \"\",\n [\"fullwidth\"]: this.fullWidth,\n }}\n >\n {displayIcon !== \"\" && (\n <span\n class={{\n [\"status-icon\"]: true,\n [`icon-${this.status}`]: true,\n }}\n innerHTML={displayIcon}\n />\n )}\n\n <ic-typography variant=\"caption\" class=\"statustext\">\n <span aria-live={this.ariaLiveMode} id={id}>\n {this.message}\n </span>\n </ic-typography>\n\n <slot name=\"validation-message-adornment\"></slot>\n </Host>\n );\n }\n}\n"],"mappings":"oKAAA,MAAMA,EAAkB,6iB,MCWXC,EAAU,M,mCAII,M,cAKG,M,WAKF,M,mCAUG,G,mCAUD,M,cAKA,K,CAE5B,gBAAAC,GACEC,EACE,CAAC,CAAEC,KAAMC,KAAKC,MAAOC,SAAU,UAC/B,c,CAIJ,MAAAC,GACE,MAAMC,SAAEA,EAAQC,SAAEA,EAAQJ,MAAEA,EAAKK,SAAEA,EAAQC,WAAEA,EAAUC,MAAEA,EAAKC,KAAEA,GAC9DT,KACF,MAAMU,EAAYJ,EAAWL,EAAQ,KAAOA,EAC5C,MAAMU,EAAeN,EAAQ,GACxBK,IAEHE,EAAA,SAAOC,QAASb,KAAKc,KAAMJ,GAG7B,MAAMK,EAAKC,EAAqBhB,KAAKc,KAErC,OACEF,EAACK,EAAI,CACHC,MAAO,CACL,CAAC,YAAad,EACd,CAAC,YAAaC,EACd,CAAC,eAAgBE,IAAe,KAGlCK,EAAA,iBACEO,QAAQ,QACRD,MAAO,CACL,CAAC,kBAAmBb,EACpB,CAAC,eAAgBG,KAAWH,GAAYD,GACxC,CAAC,QAASK,IAGXE,GAGFJ,IAAe,IACdK,EAAA,iBACEO,QAAQ,UACRD,MAAO,CACL,CAAC,cAAe,KAChB,CAAC,sBAAuBd,IAAaC,EACrC,CAAC,uBAAwBA,IAG3BO,EAAA,QAAMG,GAAIA,GAAKR,I,aCnG3B,MAAMa,EAAuB,whBCgB7B,MAAMC,EAAO,CACX,CAACC,EAAoBC,SAAUC,EAC/B,CAACF,EAAoBG,OAAQC,EAC7B,CAACJ,EAAoBK,SAAUC,G,MAUpBC,EAAe,M,2CAMqB,S,kCAUlB,M,mCAUgB,E,CAE7C,gBAAAhC,GACEC,EACE,CAAC,CAAEC,KAAMC,KAAK8B,QAAS5B,SAAU,YACjC,mB,CAIJ,MAAAC,GACE,MAAM4B,EAAc/B,KAAKgC,SAAW,GAAKX,EAAKrB,KAAKgC,QAAU,GAC7D,MAAMjB,EAAKkB,EAAyBjC,KAAKc,KACzC,OACEF,EAACK,EAAI,CACHC,MAAO,CACL,CAAClB,KAAKgC,QAAShC,KAAKgC,SAAW,GAC/B,CAAC,aAAchC,KAAKkC,YAGrBH,IAAgB,IACfnB,EAAA,QACEM,MAAO,CACL,CAAC,eAAgB,KACjB,CAAC,QAAQlB,KAAKgC,UAAW,MAE3BG,UAAWJ,IAIfnB,EAAA,iBAAeO,QAAQ,UAAUD,MAAM,cACrCN,EAAA,oBAAiBZ,KAAKoC,aAAcrB,GAAIA,GACrCf,KAAK8B,UAIVlB,EAAA,QAAMyB,KAAK,iC"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as e,H as s,g as o}from"./p-85903a81.js";import{f as a,i as n,e as r,a as l,m as h,q as c}from"./p-c30d9b20.js";import"./p-613aa265.js";const d='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block}ic-input-label.error{color:var(--ic-status-error)}ic-input-validation{margin-top:var(--ic-space-sm)}:host(.small) ic-input-validation{margin-top:calc(var(--ic-space-sm) / 2)}ic-input-label ic-typography{margin-bottom:var(--ic-space-sm)}:host(.small) ic-input-label ic-typography{margin-bottom:calc(var(--ic-space-sm) / 2)}:host .radio-buttons-container{display:flex;flex-direction:column;gap:var(--ic-space-xxs)}:host(.small) .radio-buttons-container{gap:var(--ic-space-xxxs)}:host .radio-buttons-container.horizontal{display:flex;flex-direction:row;gap:calc(var(--ic-space-xl) + var(--ic-space-xs))}:host(.small) .radio-buttons-container.horizontal{gap:var(--ic-space-xl)}';const p=class{constructor(e){t(this,e);this.icChange=i(this,"icChange",7);this.resizeObserver=null;this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{this.checkOrientation()}));this.resizeObserver.observe(this.host)};this.handleKeyDown=t=>{switch(t.key){case"ArrowDown":case"ArrowRight":this.radioOptions[this.getNextItemToSelect(this.selectedChild,true)].click();t.preventDefault();break;case"ArrowUp":case"ArrowLeft":this.radioOptions[this.getNextItemToSelect(this.selectedChild,false)].click();t.preventDefault()}};this.getNextItemToSelect=(t,i)=>{const e=this.radioOptions.length-1;if(t<1){t=0}let s=i?t+1:t-1;if(s<0){s=e}else if(s>e){s=0}if(this.radioOptions[s].disabled){s=this.getNextItemToSelect(s,i)}return s};this.checkedValue="";this.currentOrientation=undefined;this.initialOrientation=undefined;this.selectedChild=-1;this.disabled=false;this.helperText=undefined;this.hideLabel=false;this.label=undefined;this.name=undefined;this.orientation="vertical";this.required=false;this.small=false;this.validationStatus="";this.validationText=""}orientationChangeHandler(){this.initialOrientation=this.orientation}disconnectedCallback(){if(this.resizeObserver!==null){this.resizeObserver.disconnect()}}componentWillLoad(){a(this.disabled,this.host);this.orientationChangeHandler();this.currentOrientation=this.initialOrientation}componentDidLoad(){this.radioOptions=Array.from(this.host.querySelectorAll("ic-radio-option"));this.radioOptions.forEach(((t,i)=>{if(!t.selected){t.selected=this.checkedValue===t.value}t.name=this.name;t.groupLabel=this.label;if(t.selected){this.selectedChild=i;this.checkedValue=t.value}}));this.radioOptions[0].shadowRoot.querySelector("input").tabIndex=this.selectedChild>0?-1:0;if(this.initialOrientation==="horizontal"&&this.radioOptions!==undefined&&(this.radioOptions.length>2||this.radioOptions.length===2&&(n(this.radioOptions[0],"additional-field")||n(this.radioOptions[1],"additional-field")))){this.currentOrientation="vertical"}r(this.runResizeObserver);l([{prop:this.label,propName:"label"},{prop:this.name,propName:"name"}],"Radio Group")}selectHandler(t){var i;this.checkedValue=t.detail.value;const e=t.target;this.icChange.emit({value:this.checkedValue,selectedOption:{radio:e,textFieldValue:(i=e===null||e===void 0?void 0:e.querySelector("ic-text-field"))===null||i===void 0?void 0:i.value}});if(this.radioOptions!==undefined){this.radioOptions.forEach(((t,i)=>{t.selected=this.checkedValue===t.value;if(t.selected){this.selectedChild=i}}));this.radioOptions[0].shadowRoot.querySelector("input").tabIndex=this.selectedChild>0?-1:0}}changeHandler(){const t=this.radioOptions.findIndex((t=>t.selected));if(t<0){this.radioOptions[0].shadowRoot.querySelector("input").tabIndex=0;this.selectedChild=t}}checkOrientation(){if(this.initialOrientation==="horizontal"){let t=0;const i=40;for(let e=0;e<this.radioOptions.length;e++){t+=this.radioOptions[e].clientWidth;if(e<this.radioOptions.length-1){t+=i}}if(this.currentOrientation==="horizontal"&&t>this.radioContainer.clientWidth){this.currentOrientation="vertical"}else if(this.currentOrientation==="vertical"&&t<this.radioContainer.clientWidth){this.currentOrientation="horizontal"}}}render(){h(true,this.host,this.name,this.checkedValue,this.disabled);return e(s,{onKeyDown:this.handleKeyDown,class:{small:this.small}},e("div",{role:"radiogroup","aria-label":`${this.label}${this.required?", required":""}`},!this.hideLabel&&e("ic-input-label",{class:{[`${this.validationStatus}`]:true},label:this.label,helperText:this.helperText,required:this.required,disabled:this.disabled}),e("div",{class:{"radio-buttons-container":true,horizontal:this.currentOrientation==="horizontal"},ref:t=>this.radioContainer=t},e("slot",null))),c(this.validationStatus,this.disabled)&&e("ic-input-validation",{ariaLiveMode:"polite",status:this.validationStatus,message:this.validationText}))}get host(){return o(this)}static get watchers(){return{orientation:["orientationChangeHandler"]}}};p.style=d;export{p as ic_radio_group};
2
- //# sourceMappingURL=p-7a61d94a.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icRadioGroupCss","RadioGroup","this","resizeObserver","runResizeObserver","ResizeObserver","checkOrientation","observe","host","handleKeyDown","event","key","radioOptions","getNextItemToSelect","selectedChild","click","preventDefault","currentItem","movingDown","numRadios","length","nextItem","disabled","orientationChangeHandler","initialOrientation","orientation","disconnectedCallback","disconnect","componentWillLoad","removeDisabledFalse","currentOrientation","componentDidLoad","Array","from","querySelectorAll","forEach","radioOption","index","selected","checkedValue","value","name","groupLabel","label","shadowRoot","querySelector","tabIndex","undefined","isSlotUsed","checkResizeObserver","onComponentRequiredPropUndefined","prop","propName","selectHandler","detail","selectedOption","target","icChange","emit","radio","textFieldValue","_a","changeHandler","findIndex","totalWidth","radioOptionGap","i","clientWidth","radioContainer","render","renderHiddenInput","h","Host","onKeyDown","class","small","role","required","hideLabel","validationStatus","helperText","horizontal","ref","el","hasValidationStatus","ariaLiveMode","status","message","validationText"],"sources":["src/components/ic-radio-group/ic-radio-group.css?tag=ic-radio-group&encapsulation=shadow","src/components/ic-radio-group/ic-radio-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n}\n\nic-input-label.error {\n color: var(--ic-status-error);\n}\n\nic-input-validation {\n margin-top: var(--ic-space-sm);\n}\n\n:host(.small) ic-input-validation {\n margin-top: calc(var(--ic-space-sm) / 2);\n}\n\nic-input-label ic-typography {\n margin-bottom: var(--ic-space-sm);\n}\n\n:host(.small) ic-input-label ic-typography {\n margin-bottom: calc(var(--ic-space-sm) / 2);\n}\n\n:host .radio-buttons-container {\n display: flex;\n flex-direction: column;\n gap: var(--ic-space-xxs);\n}\n\n:host(.small) .radio-buttons-container {\n gap: var(--ic-space-xxxs);\n}\n\n:host .radio-buttons-container.horizontal {\n display: flex;\n flex-direction: row;\n gap: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n:host(.small) .radio-buttons-container.horizontal {\n gap: var(--ic-space-xl);\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Listen,\n Element,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\nimport {\n hasValidationStatus,\n isSlotUsed,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n renderHiddenInput,\n checkResizeObserver,\n} from \"../../utils/helpers\";\nimport {\n IcInformationStatusOrEmpty,\n IcOrientation,\n IcValueEventDetail,\n} from \"../../utils/types\";\nimport { IcChangeEventDetail } from \"./ic-radio-group.types\";\n\n@Component({\n tag: \"ic-radio-group\",\n styleUrl: \"ic-radio-group.css\",\n shadow: true,\n})\nexport class RadioGroup {\n private radioContainer: HTMLDivElement;\n private radioOptions: HTMLIcRadioOptionElement[];\n private resizeObserver: ResizeObserver = null;\n\n @Element() host: HTMLIcRadioGroupElement;\n\n @State() checkedValue: string = \"\";\n @State() currentOrientation: IcOrientation;\n @State() initialOrientation: IcOrientation;\n @State() selectedChild: number = -1;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText: string;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * The label for the radio group to be displayed.\n */\n @Prop() label!: string;\n\n /**\n * The name for the radio group to differentiate from other groups.\n */\n @Prop() name!: string;\n\n /**\n * The orientation of the radio buttons in the radio group. If there are more than two radio buttons in a radio group or either of the radio buttons use the `additional-field` slot, then the orientation will always be vertical.\n */\n @Prop() orientation: IcOrientation = \"vertical\";\n\n /**\n * If `true`, the radio group will require a value.\n */\n @Prop() required: boolean = false;\n\n /**\n * If `true`, the small styling will be applied to the radio group.\n */\n @Prop() small: boolean = false;\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n /**\n * The validation text - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationText: string = \"\";\n\n @Watch(\"orientation\")\n orientationChangeHandler(): void {\n this.initialOrientation = this.orientation;\n }\n\n /**\n * Emitted when a user selects a radio.\n */\n @Event() icChange: EventEmitter<IcChangeEventDetail>;\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.host);\n\n this.orientationChangeHandler();\n this.currentOrientation = this.initialOrientation;\n }\n\n componentDidLoad(): void {\n this.radioOptions = Array.from(\n this.host.querySelectorAll(\"ic-radio-option\")\n );\n\n this.radioOptions.forEach((radioOption, index) => {\n if (!radioOption.selected) {\n radioOption.selected = this.checkedValue === radioOption.value;\n }\n radioOption.name = this.name;\n radioOption.groupLabel = this.label;\n if (radioOption.selected) {\n this.selectedChild = index;\n this.checkedValue = radioOption.value;\n }\n });\n this.radioOptions[0].shadowRoot.querySelector(\"input\").tabIndex =\n this.selectedChild > 0 ? -1 : 0;\n\n if (\n this.initialOrientation === \"horizontal\" &&\n this.radioOptions !== undefined &&\n (this.radioOptions.length > 2 ||\n (this.radioOptions.length === 2 &&\n (isSlotUsed(this.radioOptions[0], \"additional-field\") ||\n isSlotUsed(this.radioOptions[1], \"additional-field\"))))\n ) {\n this.currentOrientation = \"vertical\";\n }\n\n checkResizeObserver(this.runResizeObserver);\n\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.name, propName: \"name\" },\n ],\n \"Radio Group\"\n );\n }\n\n @Listen(\"icCheck\")\n selectHandler(event: CustomEvent<IcValueEventDetail>): void {\n this.checkedValue = event.detail.value;\n const selectedOption = event.target as HTMLIcRadioOptionElement;\n this.icChange.emit({\n value: this.checkedValue,\n selectedOption: {\n radio: selectedOption,\n textFieldValue: selectedOption?.querySelector(\"ic-text-field\")?.value,\n },\n });\n\n if (this.radioOptions !== undefined) {\n this.radioOptions.forEach((radioOption, index) => {\n radioOption.selected = this.checkedValue === radioOption.value;\n if (radioOption.selected) {\n this.selectedChild = index;\n }\n });\n this.radioOptions[0].shadowRoot.querySelector(\"input\").tabIndex =\n this.selectedChild > 0 ? -1 : 0;\n }\n }\n\n @Listen(\"icSelectedChange\")\n changeHandler(): void {\n const selectedOption = this.radioOptions.findIndex(\n (radioOption) => radioOption.selected\n );\n if (selectedOption < 0) {\n this.radioOptions[0].shadowRoot.querySelector(\"input\").tabIndex = 0;\n this.selectedChild = selectedOption;\n }\n }\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.checkOrientation();\n });\n\n this.resizeObserver.observe(this.host);\n };\n\n private checkOrientation() {\n if (this.initialOrientation === \"horizontal\") {\n let totalWidth = 0;\n const radioOptionGap = 40;\n for (let i = 0; i < this.radioOptions.length; i++) {\n totalWidth += this.radioOptions[i].clientWidth;\n if (i < this.radioOptions.length - 1) {\n totalWidth += radioOptionGap;\n }\n }\n\n if (\n this.currentOrientation === \"horizontal\" &&\n totalWidth > this.radioContainer.clientWidth\n ) {\n this.currentOrientation = \"vertical\";\n } else if (\n this.currentOrientation === \"vertical\" &&\n totalWidth < this.radioContainer.clientWidth\n ) {\n this.currentOrientation = \"horizontal\";\n }\n }\n }\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n switch (event.key) {\n case \"ArrowDown\":\n case \"ArrowRight\":\n this.radioOptions[\n this.getNextItemToSelect(this.selectedChild, true)\n ].click();\n event.preventDefault();\n break;\n case \"ArrowUp\":\n case \"ArrowLeft\":\n this.radioOptions[\n this.getNextItemToSelect(this.selectedChild, false)\n ].click();\n event.preventDefault();\n }\n };\n\n private getNextItemToSelect = (\n currentItem: number,\n movingDown: boolean\n ): number => {\n const numRadios = this.radioOptions.length - 1;\n\n if (currentItem < 1) {\n currentItem = 0;\n }\n\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n\n //check if wrap around necessary\n if (nextItem < 0) {\n nextItem = numRadios;\n } else if (nextItem > numRadios) {\n nextItem = 0;\n }\n\n //if next item is disabled then find next\n if (this.radioOptions[nextItem].disabled) {\n nextItem = this.getNextItemToSelect(nextItem, movingDown);\n }\n\n return nextItem;\n };\n\n render() {\n renderHiddenInput(\n true,\n this.host,\n this.name,\n this.checkedValue,\n this.disabled\n );\n\n return (\n <Host onKeyDown={this.handleKeyDown} class={{ small: this.small }}>\n <div\n role=\"radiogroup\"\n aria-label={`${this.label}${this.required ? \", required\" : \"\"}`}\n >\n {!this.hideLabel && (\n <ic-input-label\n class={{ [`${this.validationStatus}`]: true }}\n label={this.label}\n helperText={this.helperText}\n required={this.required}\n disabled={this.disabled}\n ></ic-input-label>\n )}\n <div\n class={{\n \"radio-buttons-container\": true,\n horizontal: this.currentOrientation === \"horizontal\",\n }}\n ref={(el) => (this.radioContainer = el)}\n >\n <slot></slot>\n </div>\n </div>\n {hasValidationStatus(this.validationStatus, this.disabled) && (\n <ic-input-validation\n ariaLiveMode=\"polite\"\n status={this.validationStatus}\n message={this.validationText}\n ></ic-input-validation>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}