@ukic/web-components 3.10.0 → 3.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (645) hide show
  1. package/dist/cjs/constants-8354f6e6.js +189 -0
  2. package/dist/cjs/constants-8354f6e6.js.map +1 -0
  3. package/dist/cjs/core.cjs.js +1 -1
  4. package/dist/cjs/{helpers-a0e78e2e.js → helpers-ffe1c2d9.js} +6 -187
  5. package/dist/cjs/helpers-ffe1c2d9.js.map +1 -0
  6. package/dist/cjs/ic-accordion-group.cjs.entry.js +2 -1
  7. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-accordion.cjs.entry.js +2 -1
  9. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-action-chip.cjs.entry.js +2 -1
  11. package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-alert.cjs.entry.js +4 -3
  13. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -1
  15. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-badge.cjs.entry.js +2 -1
  17. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -1
  19. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -1
  21. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-button_3.cjs.entry.js +27 -20
  23. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-card-vertical.cjs.entry.js +2 -1
  25. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-checkbox-group.cjs.entry.js +4 -3
  27. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-checkbox.cjs.entry.js +5 -4
  29. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-chip.cjs.entry.js +2 -1
  31. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  33. package/dist/cjs/ic-data-row.cjs.entry.js +4 -3
  34. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-dialog.cjs.entry.js +7 -4
  36. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-divider.cjs.entry.js +2 -1
  38. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-empty-state.cjs.entry.js +4 -3
  40. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -1
  42. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-footer-link.cjs.entry.js +4 -3
  44. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-footer.cjs.entry.js +10 -9
  46. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-hero.cjs.entry.js +6 -5
  48. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +7 -6
  50. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +12 -11
  52. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-input-label_2.cjs.entry.js +26 -12
  54. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +2 -2
  56. package/dist/cjs/ic-layout-grid.cjs.entry.js +2 -2
  57. package/dist/cjs/ic-link.cjs.entry.js +5 -4
  58. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-menu-group.cjs.entry.js +3 -2
  60. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-menu-item.cjs.entry.js +2 -1
  62. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-navigation-button.cjs.entry.js +3 -2
  64. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-navigation-group.cjs.entry.js +3 -2
  66. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -1
  68. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-navigation-menu.cjs.entry.js +6 -5
  70. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-page-header.cjs.entry.js +8 -7
  72. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-pagination-item.cjs.entry.js +3 -2
  74. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-pagination.cjs.entry.js +6 -5
  76. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-popover-menu.cjs.entry.js +6 -5
  78. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-radio-group.cjs.entry.js +6 -5
  80. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-radio-option.cjs.entry.js +6 -5
  82. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-search-bar.cjs.entry.js +11 -10
  84. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  86. package/dist/cjs/ic-select.cjs.entry.js +12 -11
  87. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-side-navigation.cjs.entry.js +6 -5
  89. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  91. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  92. package/dist/cjs/ic-status-tag.cjs.entry.js +4 -3
  93. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-step.cjs.entry.js +15 -14
  95. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-stepper.cjs.entry.js +4 -3
  97. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-switch.cjs.entry.js +6 -5
  99. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-tab-context.cjs.entry.js +10 -2
  101. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-tab-group.cjs.entry.js +4 -3
  103. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  105. package/dist/cjs/ic-tab.cjs.entry.js +2 -1
  106. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-text-field.cjs.entry.js +32 -23
  108. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-theme.cjs.entry.js +5 -4
  110. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  112. package/dist/cjs/ic-toast.cjs.entry.js +7 -6
  113. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  114. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +4 -3
  115. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  116. package/dist/cjs/ic-toggle-button.cjs.entry.js +4 -3
  117. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  118. package/dist/cjs/ic-top-navigation.cjs.entry.js +2 -1
  119. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  120. package/dist/cjs/ic-typography.cjs.entry.js +4 -3
  121. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  122. package/dist/cjs/index.cjs.js +15 -0
  123. package/dist/cjs/index.cjs.js.map +1 -1
  124. package/dist/cjs/loader.cjs.js +1 -1
  125. package/dist/collection/assets/ai-icon.svg +1 -1
  126. package/dist/collection/assets/error-icon.svg +4 -4
  127. package/dist/collection/assets/info-icon.svg +4 -4
  128. package/dist/collection/assets/neutral-icon.svg +4 -4
  129. package/dist/collection/assets/success-icon.svg +4 -4
  130. package/dist/collection/assets/warning-icon.svg +4 -4
  131. package/dist/collection/components/ic-alert/ic-alert.js +1 -1
  132. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  133. package/dist/collection/components/ic-button/ic-button.js +14 -8
  134. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  135. package/dist/collection/components/ic-button/ic-button.stories.js +191 -0
  136. package/dist/collection/components/ic-card-vertical/ic-card-vertical.stories.js +10 -10
  137. package/dist/collection/components/ic-checkbox/ic-checkbox.css +5 -0
  138. package/dist/collection/components/ic-checkbox/ic-checkbox.js +2 -2
  139. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  140. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +2 -2
  141. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +11 -28
  142. package/dist/collection/components/ic-data-list/ic-data-list.js +2 -2
  143. package/dist/collection/components/ic-data-list/ic-data-list.stories.js +30 -6
  144. package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
  145. package/dist/collection/components/ic-dialog/ic-dialog.js +5 -3
  146. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  147. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +40 -1
  148. package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
  149. package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
  150. package/dist/collection/components/ic-hero/ic-hero.js +4 -4
  151. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
  152. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
  153. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  154. package/dist/collection/components/ic-input-label/ic-input-label.js +2 -2
  155. package/dist/collection/components/ic-input-validation/ic-input-validation.css +5 -0
  156. package/dist/collection/components/ic-input-validation/ic-input-validation.js +22 -6
  157. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  158. package/dist/collection/components/ic-input-validation/ic-input-validation.types.js.map +1 -1
  159. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js +2 -2
  160. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js +2 -2
  161. package/dist/collection/components/ic-link/ic-link.js +1 -1
  162. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +5 -5
  163. package/dist/collection/components/ic-menu/ic-menu.css +2 -2
  164. package/dist/collection/components/ic-menu/ic-menu.js +4 -4
  165. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  166. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  167. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
  168. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  169. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  170. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  171. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  172. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  173. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -4
  174. package/dist/collection/components/ic-radio-group/ic-radio-group.js +4 -4
  175. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  176. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +14 -15
  177. package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -4
  178. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  179. package/dist/collection/components/ic-search-bar/ic-search-bar.js +9 -9
  180. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  181. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  182. package/dist/collection/components/ic-select/ic-select.js +9 -9
  183. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  184. package/dist/collection/components/ic-select/ic-select_(multi).stories.js +8 -6
  185. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +6 -3
  186. package/dist/collection/components/ic-select/ic-select_(single).stories.js +8 -6
  187. package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js +60 -0
  188. package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js.map +1 -0
  189. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +4 -4
  190. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  191. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  192. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  193. package/dist/collection/components/ic-step/ic-step.js +13 -13
  194. package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
  195. package/dist/collection/components/ic-switch/ic-switch.js +4 -4
  196. package/dist/collection/components/ic-tab-context/ic-tab-context.js +27 -2
  197. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  198. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  199. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  200. package/dist/collection/components/ic-text-field/ic-text-field.css +4 -0
  201. package/dist/collection/components/ic-text-field/ic-text-field.js +53 -19
  202. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  203. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +102 -4
  204. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  205. package/dist/collection/components/ic-toast/ic-toast.js +3 -3
  206. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  207. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  208. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
  209. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  210. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
  211. package/dist/collection/components/ic-tooltip/ic-tooltip.js +6 -4
  212. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  213. package/dist/collection/components/ic-typography/ic-typography.js +2 -2
  214. package/dist/collection/index.js +1 -1
  215. package/dist/collection/index.js.map +1 -1
  216. package/dist/collection/utils/types.js.map +1 -1
  217. package/dist/components/constants.js +176 -0
  218. package/dist/components/constants.js.map +1 -0
  219. package/dist/components/helpers.js +2 -174
  220. package/dist/components/helpers.js.map +1 -1
  221. package/dist/components/ic-action-chip.js +1 -1
  222. package/dist/components/ic-alert.js +3 -2
  223. package/dist/components/ic-alert.js.map +1 -1
  224. package/dist/components/ic-back-to-top.js +1 -1
  225. package/dist/components/ic-badge.js +1 -1
  226. package/dist/components/ic-breadcrumb-group.js +1 -1
  227. package/dist/components/ic-breadcrumb2.js +1 -1
  228. package/dist/components/ic-button2.js +17 -11
  229. package/dist/components/ic-button2.js.map +1 -1
  230. package/dist/components/ic-card-vertical.js +1 -1
  231. package/dist/components/ic-checkbox-group.js +3 -3
  232. package/dist/components/ic-checkbox.js +4 -4
  233. package/dist/components/ic-checkbox.js.map +1 -1
  234. package/dist/components/ic-chip.js +1 -1
  235. package/dist/components/ic-data-list.js +2 -2
  236. package/dist/components/ic-data-row.js +3 -3
  237. package/dist/components/ic-dialog.js +6 -4
  238. package/dist/components/ic-dialog.js.map +1 -1
  239. package/dist/components/ic-divider2.js +1 -1
  240. package/dist/components/ic-empty-state.js +3 -3
  241. package/dist/components/ic-footer-link-group.js +1 -1
  242. package/dist/components/ic-footer-link.js +3 -3
  243. package/dist/components/ic-footer.js +2 -1
  244. package/dist/components/ic-footer.js.map +1 -1
  245. package/dist/components/ic-hero.js +5 -5
  246. package/dist/components/ic-horizontal-scroll2.js +6 -6
  247. package/dist/components/ic-input-component-container2.js +5 -4
  248. package/dist/components/ic-input-component-container2.js.map +1 -1
  249. package/dist/components/ic-input-container2.js +2 -2
  250. package/dist/components/ic-input-label2.js +3 -3
  251. package/dist/components/ic-input-validation2.js +23 -7
  252. package/dist/components/ic-input-validation2.js.map +1 -1
  253. package/dist/components/ic-layout-grid-item.js +2 -2
  254. package/dist/components/ic-layout-grid.js +2 -2
  255. package/dist/components/ic-link2.js +3 -2
  256. package/dist/components/ic-link2.js.map +1 -1
  257. package/dist/components/ic-loading-indicator2.js +5 -5
  258. package/dist/components/ic-menu-group.js +2 -2
  259. package/dist/components/ic-menu-item2.js +1 -1
  260. package/dist/components/ic-menu2.js +6 -6
  261. package/dist/components/ic-menu2.js.map +1 -1
  262. package/dist/components/ic-navigation-button.js +2 -1
  263. package/dist/components/ic-navigation-button.js.map +1 -1
  264. package/dist/components/ic-navigation-group.js +2 -2
  265. package/dist/components/ic-navigation-item.js +1 -1
  266. package/dist/components/ic-navigation-menu2.js +5 -5
  267. package/dist/components/ic-navigation-menu2.js.map +1 -1
  268. package/dist/components/ic-page-header.js +7 -7
  269. package/dist/components/ic-pagination-item2.js +2 -2
  270. package/dist/components/ic-pagination.js +4 -4
  271. package/dist/components/ic-popover-menu.js +5 -5
  272. package/dist/components/ic-popover-menu.js.map +1 -1
  273. package/dist/components/ic-radio-group.js +5 -5
  274. package/dist/components/ic-radio-group.js.map +1 -1
  275. package/dist/components/ic-radio-option.js +5 -5
  276. package/dist/components/ic-radio-option.js.map +1 -1
  277. package/dist/components/ic-search-bar.js +10 -10
  278. package/dist/components/ic-search-bar.js.map +1 -1
  279. package/dist/components/ic-section-container2.js +2 -2
  280. package/dist/components/ic-select.js +11 -10
  281. package/dist/components/ic-select.js.map +1 -1
  282. package/dist/components/ic-side-navigation.js +5 -5
  283. package/dist/components/ic-side-navigation.js.map +1 -1
  284. package/dist/components/ic-skeleton.js +2 -2
  285. package/dist/components/ic-skip-link.js +2 -2
  286. package/dist/components/ic-status-tag.js +2 -2
  287. package/dist/components/ic-step.js +14 -14
  288. package/dist/components/ic-step.js.map +1 -1
  289. package/dist/components/ic-stepper.js +2 -2
  290. package/dist/components/ic-switch.js +5 -5
  291. package/dist/components/ic-tab-context.js +11 -2
  292. package/dist/components/ic-tab-context.js.map +1 -1
  293. package/dist/components/ic-tab-group.js +2 -2
  294. package/dist/components/ic-tab-panel.js +2 -2
  295. package/dist/components/ic-text-field.js +31 -21
  296. package/dist/components/ic-text-field.js.map +1 -1
  297. package/dist/components/ic-theme.js +3 -2
  298. package/dist/components/ic-theme.js.map +1 -1
  299. package/dist/components/ic-toast-region.js +1 -1
  300. package/dist/components/ic-toast.js +5 -4
  301. package/dist/components/ic-toast.js.map +1 -1
  302. package/dist/components/ic-toggle-button-group.js +2 -2
  303. package/dist/components/ic-toggle-button.js +3 -3
  304. package/dist/components/ic-toggle-button.js.map +1 -1
  305. package/dist/components/ic-tooltip2.js +6 -4
  306. package/dist/components/ic-tooltip2.js.map +1 -1
  307. package/dist/components/ic-top-navigation.js +1 -1
  308. package/dist/components/ic-typography2.js +2 -2
  309. package/dist/components/index.js +1 -0
  310. package/dist/components/index.js.map +1 -1
  311. package/dist/core/core.css +32 -4
  312. package/dist/core/core.esm.js +1 -1
  313. package/dist/core/core.esm.js.map +1 -1
  314. package/dist/core/index.esm.js +1 -1
  315. package/dist/core/p-01aeffca.entry.js +2 -0
  316. package/dist/core/{p-b52000d9.entry.js.map → p-01aeffca.entry.js.map} +1 -1
  317. package/dist/core/p-0201abbf.entry.js +2 -0
  318. package/dist/core/{p-ea778379.entry.js.map → p-0201abbf.entry.js.map} +1 -1
  319. package/dist/core/p-02c2c31f.entry.js +2 -0
  320. package/dist/core/{p-6a576a8b.entry.js.map → p-02c2c31f.entry.js.map} +1 -1
  321. package/dist/core/p-0809aff4.entry.js +2 -0
  322. package/dist/core/{p-1e2f40b0.entry.js.map → p-0809aff4.entry.js.map} +1 -1
  323. package/dist/core/p-19366be6.entry.js +2 -0
  324. package/dist/core/{p-19cf2327.entry.js.map → p-19366be6.entry.js.map} +1 -1
  325. package/dist/core/p-1ab63899.entry.js +2 -0
  326. package/dist/core/{p-ef4b5469.entry.js.map → p-1ab63899.entry.js.map} +1 -1
  327. package/dist/core/p-1d4dfef1.entry.js +2 -0
  328. package/dist/core/{p-661ae402.entry.js.map → p-1d4dfef1.entry.js.map} +1 -1
  329. package/dist/core/p-1dab47b1.entry.js +2 -0
  330. package/dist/core/{p-72a9909c.entry.js.map → p-1dab47b1.entry.js.map} +1 -1
  331. package/dist/core/p-23b223bf.entry.js +2 -0
  332. package/dist/core/{p-f309d3af.entry.js.map → p-23b223bf.entry.js.map} +1 -1
  333. package/dist/core/p-35ee7c53.entry.js +2 -0
  334. package/dist/core/{p-9eeb5e85.entry.js.map → p-35ee7c53.entry.js.map} +1 -1
  335. package/dist/core/{p-287e5c17.entry.js → p-37d217b5.entry.js} +2 -2
  336. package/dist/core/{p-df88ff5b.entry.js → p-37daa8fe.entry.js} +2 -2
  337. package/dist/core/p-3a78bf6e.entry.js +2 -0
  338. package/dist/core/{p-2f4f392f.entry.js.map → p-3a78bf6e.entry.js.map} +1 -1
  339. package/dist/core/p-3f55bb5b.entry.js +2 -0
  340. package/dist/core/{p-0c0c6a9e.entry.js.map → p-3f55bb5b.entry.js.map} +1 -1
  341. package/dist/core/p-402813c9.entry.js +2 -0
  342. package/dist/core/{p-9323c234.entry.js.map → p-402813c9.entry.js.map} +1 -1
  343. package/dist/core/p-402c2455.entry.js +2 -0
  344. package/dist/core/{p-bb4ce810.entry.js.map → p-402c2455.entry.js.map} +1 -1
  345. package/dist/core/p-46423f42.entry.js +2 -0
  346. package/dist/core/{p-b0d488d0.entry.js.map → p-46423f42.entry.js.map} +1 -1
  347. package/dist/core/{p-45dd12ee.entry.js → p-4747c39f.entry.js} +2 -2
  348. package/dist/core/p-4747c39f.entry.js.map +1 -0
  349. package/dist/core/{p-ffac41d6.entry.js → p-492fcb51.entry.js} +2 -2
  350. package/dist/core/p-4a2c02b2.entry.js +2 -0
  351. package/dist/core/{p-711bfeed.entry.js.map → p-4a2c02b2.entry.js.map} +1 -1
  352. package/dist/core/p-4dd8add9.entry.js +2 -0
  353. package/dist/core/{p-6ed0ac48.entry.js.map → p-4dd8add9.entry.js.map} +1 -1
  354. package/dist/core/p-515ded3f.entry.js +2 -0
  355. package/dist/core/{p-41f92698.entry.js.map → p-515ded3f.entry.js.map} +1 -1
  356. package/dist/core/p-52a2f800.entry.js +2 -0
  357. package/dist/core/p-52a2f800.entry.js.map +1 -0
  358. package/dist/core/{p-6e8ef73c.entry.js → p-57721431.entry.js} +2 -2
  359. package/dist/core/p-57803949.entry.js +2 -0
  360. package/dist/core/{p-f6a02202.entry.js.map → p-57803949.entry.js.map} +1 -1
  361. package/dist/core/p-58b8d154.entry.js +2 -0
  362. package/dist/core/{p-cbe0d1bb.entry.js.map → p-58b8d154.entry.js.map} +1 -1
  363. package/dist/core/p-5c6efed3.entry.js +2 -0
  364. package/dist/core/{p-3dc54847.entry.js.map → p-5c6efed3.entry.js.map} +1 -1
  365. package/dist/core/{p-5fbc8e62.entry.js → p-5fcfcfb6.entry.js} +2 -2
  366. package/dist/core/p-641c26c4.js +2 -0
  367. package/dist/core/p-641c26c4.js.map +1 -0
  368. package/dist/core/p-65a3c216.entry.js +2 -0
  369. package/dist/core/{p-15dbccc2.entry.js.map → p-65a3c216.entry.js.map} +1 -1
  370. package/dist/core/p-69412f61.entry.js +2 -0
  371. package/dist/core/{p-21cf2beb.entry.js.map → p-69412f61.entry.js.map} +1 -1
  372. package/dist/core/p-69cc0f7d.entry.js +2 -0
  373. package/dist/core/{p-6014ab64.entry.js.map → p-69cc0f7d.entry.js.map} +1 -1
  374. package/dist/core/p-6ceedfa8.js +2 -0
  375. package/dist/core/p-6ceedfa8.js.map +1 -0
  376. package/dist/core/p-75a9b2e4.entry.js +2 -0
  377. package/dist/core/p-75a9b2e4.entry.js.map +1 -0
  378. package/dist/core/p-75e0278a.entry.js +2 -0
  379. package/dist/core/{p-4ca782eb.entry.js.map → p-75e0278a.entry.js.map} +1 -1
  380. package/dist/core/p-8326db29.entry.js +2 -0
  381. package/dist/core/{p-3e5d7a3d.entry.js.map → p-8326db29.entry.js.map} +1 -1
  382. package/dist/core/p-8af9413c.entry.js +2 -0
  383. package/dist/core/p-8af9413c.entry.js.map +1 -0
  384. package/dist/core/p-8d1fbbeb.entry.js +2 -0
  385. package/dist/core/{p-7cd4f6a6.entry.js.map → p-8d1fbbeb.entry.js.map} +1 -1
  386. package/dist/core/p-8d29c0fa.entry.js +2 -0
  387. package/dist/core/{p-52748d5c.entry.js.map → p-8d29c0fa.entry.js.map} +1 -1
  388. package/dist/core/{p-ea061ccf.entry.js → p-9a8bcb78.entry.js} +2 -2
  389. package/dist/core/{p-8b5022bc.entry.js → p-9cf6ccfd.entry.js} +2 -2
  390. package/dist/core/p-a468df37.entry.js +2 -0
  391. package/dist/core/{p-fc3b1155.entry.js.map → p-a468df37.entry.js.map} +1 -1
  392. package/dist/core/p-a48b581a.entry.js +2 -0
  393. package/dist/core/{p-9f36791b.entry.js.map → p-a48b581a.entry.js.map} +1 -1
  394. package/dist/core/p-a4e67ab8.entry.js +2 -0
  395. package/dist/core/{p-4d1a3036.entry.js.map → p-a4e67ab8.entry.js.map} +1 -1
  396. package/dist/core/p-aab838e5.entry.js +2 -0
  397. package/dist/core/{p-9c013333.entry.js.map → p-aab838e5.entry.js.map} +1 -1
  398. package/dist/core/p-abb9dccb.entry.js +2 -0
  399. package/dist/core/{p-af9c391d.entry.js.map → p-abb9dccb.entry.js.map} +1 -1
  400. package/dist/core/{p-999f0a5d.entry.js → p-b4a2f6fa.entry.js} +2 -2
  401. package/dist/core/p-b80d408f.entry.js +2 -0
  402. package/dist/core/p-b80d408f.entry.js.map +1 -0
  403. package/dist/core/p-b9018261.entry.js +2 -0
  404. package/dist/core/{p-0d680d19.entry.js.map → p-b9018261.entry.js.map} +1 -1
  405. package/dist/core/p-c81ffadd.entry.js +2 -0
  406. package/dist/core/{p-595a4d06.entry.js.map → p-c81ffadd.entry.js.map} +1 -1
  407. package/dist/core/p-cd63bcf2.entry.js +2 -0
  408. package/dist/core/p-cd63bcf2.entry.js.map +1 -0
  409. package/dist/core/p-cdd04ec2.entry.js +2 -0
  410. package/dist/core/{p-41ef74a7.entry.js.map → p-cdd04ec2.entry.js.map} +1 -1
  411. package/dist/core/p-d27e46ac.entry.js +2 -0
  412. package/dist/core/{p-cf631191.entry.js.map → p-d27e46ac.entry.js.map} +1 -1
  413. package/dist/core/p-d35f8bd4.entry.js +2 -0
  414. package/dist/core/{p-493eaabb.entry.js.map → p-d35f8bd4.entry.js.map} +1 -1
  415. package/dist/core/p-d6b3e02f.entry.js +2 -0
  416. package/dist/core/p-d6b3e02f.entry.js.map +1 -0
  417. package/dist/core/p-d7bd5aa0.entry.js +2 -0
  418. package/dist/core/p-d7bd5aa0.entry.js.map +1 -0
  419. package/dist/core/p-ed69f110.entry.js +2 -0
  420. package/dist/core/p-ed69f110.entry.js.map +1 -0
  421. package/dist/core/p-eddc5517.entry.js +2 -0
  422. package/dist/core/{p-313a8a2f.entry.js.map → p-eddc5517.entry.js.map} +1 -1
  423. package/dist/core/p-f045f59d.entry.js +2 -0
  424. package/dist/core/{p-317e005f.entry.js.map → p-f045f59d.entry.js.map} +1 -1
  425. package/dist/core/p-f086d6df.entry.js +2 -0
  426. package/dist/core/{p-43324339.entry.js.map → p-f086d6df.entry.js.map} +1 -1
  427. package/dist/core/p-f17e1525.entry.js +2 -0
  428. package/dist/core/{p-a77364f5.entry.js.map → p-f17e1525.entry.js.map} +1 -1
  429. package/dist/core/p-f78f34ce.entry.js +2 -0
  430. package/dist/core/{p-1d37ac1c.entry.js.map → p-f78f34ce.entry.js.map} +1 -1
  431. package/dist/core/p-fd488ed7.entry.js +2 -0
  432. package/dist/core/{p-a602a8e1.entry.js.map → p-fd488ed7.entry.js.map} +1 -1
  433. package/dist/core/p-ffc608a1.entry.js +2 -0
  434. package/dist/core/{p-8a4b12e4.entry.js.map → p-ffc608a1.entry.js.map} +1 -1
  435. package/dist/esm/constants-48759bda.js +176 -0
  436. package/dist/esm/constants-48759bda.js.map +1 -0
  437. package/dist/esm/core.js +1 -1
  438. package/dist/esm/{helpers-56631aa0.js → helpers-d8189e9d.js} +3 -175
  439. package/dist/esm/helpers-d8189e9d.js.map +1 -0
  440. package/dist/esm/ic-accordion-group.entry.js +2 -1
  441. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  442. package/dist/esm/ic-accordion.entry.js +2 -1
  443. package/dist/esm/ic-accordion.entry.js.map +1 -1
  444. package/dist/esm/ic-action-chip.entry.js +2 -1
  445. package/dist/esm/ic-action-chip.entry.js.map +1 -1
  446. package/dist/esm/ic-alert.entry.js +3 -2
  447. package/dist/esm/ic-alert.entry.js.map +1 -1
  448. package/dist/esm/ic-back-to-top.entry.js +2 -1
  449. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  450. package/dist/esm/ic-badge.entry.js +2 -1
  451. package/dist/esm/ic-badge.entry.js.map +1 -1
  452. package/dist/esm/ic-breadcrumb-group.entry.js +2 -1
  453. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  454. package/dist/esm/ic-breadcrumb.entry.js +2 -1
  455. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  456. package/dist/esm/ic-button_3.entry.js +25 -18
  457. package/dist/esm/ic-button_3.entry.js.map +1 -1
  458. package/dist/esm/ic-card-vertical.entry.js +2 -1
  459. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  460. package/dist/esm/ic-checkbox-group.entry.js +4 -3
  461. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  462. package/dist/esm/ic-checkbox.entry.js +5 -4
  463. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  464. package/dist/esm/ic-chip.entry.js +2 -1
  465. package/dist/esm/ic-chip.entry.js.map +1 -1
  466. package/dist/esm/ic-data-list.entry.js +2 -2
  467. package/dist/esm/ic-data-row.entry.js +4 -3
  468. package/dist/esm/ic-data-row.entry.js.map +1 -1
  469. package/dist/esm/ic-dialog.entry.js +7 -4
  470. package/dist/esm/ic-dialog.entry.js.map +1 -1
  471. package/dist/esm/ic-divider.entry.js +2 -1
  472. package/dist/esm/ic-divider.entry.js.map +1 -1
  473. package/dist/esm/ic-empty-state.entry.js +4 -3
  474. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  475. package/dist/esm/ic-footer-link-group.entry.js +2 -1
  476. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  477. package/dist/esm/ic-footer-link.entry.js +4 -3
  478. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  479. package/dist/esm/ic-footer.entry.js +2 -1
  480. package/dist/esm/ic-footer.entry.js.map +1 -1
  481. package/dist/esm/ic-hero.entry.js +6 -5
  482. package/dist/esm/ic-hero.entry.js.map +1 -1
  483. package/dist/esm/ic-horizontal-scroll.entry.js +7 -6
  484. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  485. package/dist/esm/ic-input-component-container_3.entry.js +12 -11
  486. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  487. package/dist/esm/ic-input-label_2.entry.js +23 -9
  488. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  489. package/dist/esm/ic-layout-grid-item.entry.js +2 -2
  490. package/dist/esm/ic-layout-grid.entry.js +2 -2
  491. package/dist/esm/ic-link.entry.js +3 -2
  492. package/dist/esm/ic-link.entry.js.map +1 -1
  493. package/dist/esm/ic-menu-group.entry.js +3 -2
  494. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  495. package/dist/esm/ic-menu-item.entry.js +2 -1
  496. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  497. package/dist/esm/ic-navigation-button.entry.js +2 -1
  498. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  499. package/dist/esm/ic-navigation-group.entry.js +3 -2
  500. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  501. package/dist/esm/ic-navigation-item.entry.js +2 -1
  502. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  503. package/dist/esm/ic-navigation-menu.entry.js +6 -5
  504. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  505. package/dist/esm/ic-page-header.entry.js +8 -7
  506. package/dist/esm/ic-page-header.entry.js.map +1 -1
  507. package/dist/esm/ic-pagination-item.entry.js +3 -2
  508. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  509. package/dist/esm/ic-pagination.entry.js +6 -5
  510. package/dist/esm/ic-pagination.entry.js.map +1 -1
  511. package/dist/esm/ic-popover-menu.entry.js +6 -5
  512. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  513. package/dist/esm/ic-radio-group.entry.js +6 -5
  514. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  515. package/dist/esm/ic-radio-option.entry.js +6 -5
  516. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  517. package/dist/esm/ic-search-bar.entry.js +11 -10
  518. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  519. package/dist/esm/ic-section-container.entry.js +2 -2
  520. package/dist/esm/ic-select.entry.js +11 -10
  521. package/dist/esm/ic-select.entry.js.map +1 -1
  522. package/dist/esm/ic-side-navigation.entry.js +6 -5
  523. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  524. package/dist/esm/ic-skeleton.entry.js +2 -2
  525. package/dist/esm/ic-skip-link.entry.js +2 -2
  526. package/dist/esm/ic-status-tag.entry.js +4 -3
  527. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  528. package/dist/esm/ic-step.entry.js +15 -14
  529. package/dist/esm/ic-step.entry.js.map +1 -1
  530. package/dist/esm/ic-stepper.entry.js +4 -3
  531. package/dist/esm/ic-stepper.entry.js.map +1 -1
  532. package/dist/esm/ic-switch.entry.js +6 -5
  533. package/dist/esm/ic-switch.entry.js.map +1 -1
  534. package/dist/esm/ic-tab-context.entry.js +10 -2
  535. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  536. package/dist/esm/ic-tab-group.entry.js +4 -3
  537. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  538. package/dist/esm/ic-tab-panel.entry.js +2 -2
  539. package/dist/esm/ic-tab.entry.js +2 -1
  540. package/dist/esm/ic-tab.entry.js.map +1 -1
  541. package/dist/esm/ic-text-field.entry.js +30 -21
  542. package/dist/esm/ic-text-field.entry.js.map +1 -1
  543. package/dist/esm/ic-theme.entry.js +3 -2
  544. package/dist/esm/ic-theme.entry.js.map +1 -1
  545. package/dist/esm/ic-toast-region.entry.js +1 -1
  546. package/dist/esm/ic-toast.entry.js +5 -4
  547. package/dist/esm/ic-toast.entry.js.map +1 -1
  548. package/dist/esm/ic-toggle-button-group.entry.js +4 -3
  549. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  550. package/dist/esm/ic-toggle-button.entry.js +4 -3
  551. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  552. package/dist/esm/ic-top-navigation.entry.js +2 -1
  553. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  554. package/dist/esm/ic-typography.entry.js +4 -3
  555. package/dist/esm/ic-typography.entry.js.map +1 -1
  556. package/dist/esm/index.js +1 -1
  557. package/dist/esm/loader.js +1 -1
  558. package/dist/types/components/ic-button/ic-button.d.ts +1 -0
  559. package/dist/types/components/ic-dialog/ic-dialog.d.ts +1 -0
  560. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +2 -0
  561. package/dist/types/components/ic-input-validation/ic-input-validation.types.d.ts +1 -1
  562. package/dist/types/components/ic-select/test/a11y/ic-select.test.a11y.d.ts +1 -0
  563. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +4 -0
  564. package/dist/types/components/ic-text-field/ic-text-field.d.ts +6 -1
  565. package/dist/types/components.d.ts +14 -2
  566. package/dist/types/index.d.ts +1 -0
  567. package/dist/types/utils/types.d.ts +1 -0
  568. package/hydrate/index.js +242 -203
  569. package/hydrate/index.mjs +242 -203
  570. package/package.json +3 -3
  571. package/vscode-data.json +21 -0
  572. package/dist/cjs/helpers-a0e78e2e.js.map +0 -1
  573. package/dist/core/p-0c0c6a9e.entry.js +0 -2
  574. package/dist/core/p-0d680d19.entry.js +0 -2
  575. package/dist/core/p-15dbccc2.entry.js +0 -2
  576. package/dist/core/p-19cf2327.entry.js +0 -2
  577. package/dist/core/p-1d37ac1c.entry.js +0 -2
  578. package/dist/core/p-1e2f40b0.entry.js +0 -2
  579. package/dist/core/p-21cf2beb.entry.js +0 -2
  580. package/dist/core/p-25007ec9.js +0 -2
  581. package/dist/core/p-25007ec9.js.map +0 -1
  582. package/dist/core/p-28efe829.entry.js +0 -2
  583. package/dist/core/p-28efe829.entry.js.map +0 -1
  584. package/dist/core/p-2f4f392f.entry.js +0 -2
  585. package/dist/core/p-313a8a2f.entry.js +0 -2
  586. package/dist/core/p-317e005f.entry.js +0 -2
  587. package/dist/core/p-3dc54847.entry.js +0 -2
  588. package/dist/core/p-3e5d7a3d.entry.js +0 -2
  589. package/dist/core/p-41ef74a7.entry.js +0 -2
  590. package/dist/core/p-41f92698.entry.js +0 -2
  591. package/dist/core/p-43324339.entry.js +0 -2
  592. package/dist/core/p-45dd12ee.entry.js.map +0 -1
  593. package/dist/core/p-47f6dac2.entry.js +0 -2
  594. package/dist/core/p-47f6dac2.entry.js.map +0 -1
  595. package/dist/core/p-493eaabb.entry.js +0 -2
  596. package/dist/core/p-4ca782eb.entry.js +0 -2
  597. package/dist/core/p-4d1a3036.entry.js +0 -2
  598. package/dist/core/p-52748d5c.entry.js +0 -2
  599. package/dist/core/p-595a4d06.entry.js +0 -2
  600. package/dist/core/p-5f68f62b.entry.js +0 -2
  601. package/dist/core/p-5f68f62b.entry.js.map +0 -1
  602. package/dist/core/p-6014ab64.entry.js +0 -2
  603. package/dist/core/p-661ae402.entry.js +0 -2
  604. package/dist/core/p-6a576a8b.entry.js +0 -2
  605. package/dist/core/p-6ed0ac48.entry.js +0 -2
  606. package/dist/core/p-711bfeed.entry.js +0 -2
  607. package/dist/core/p-72a9909c.entry.js +0 -2
  608. package/dist/core/p-742a9181.entry.js +0 -2
  609. package/dist/core/p-742a9181.entry.js.map +0 -1
  610. package/dist/core/p-7cd4f6a6.entry.js +0 -2
  611. package/dist/core/p-8a4b12e4.entry.js +0 -2
  612. package/dist/core/p-9323c234.entry.js +0 -2
  613. package/dist/core/p-97b93ddf.entry.js +0 -2
  614. package/dist/core/p-97b93ddf.entry.js.map +0 -1
  615. package/dist/core/p-9c013333.entry.js +0 -2
  616. package/dist/core/p-9eeb5e85.entry.js +0 -2
  617. package/dist/core/p-9f36791b.entry.js +0 -2
  618. package/dist/core/p-a602a8e1.entry.js +0 -2
  619. package/dist/core/p-a77364f5.entry.js +0 -2
  620. package/dist/core/p-af9c391d.entry.js +0 -2
  621. package/dist/core/p-b0d488d0.entry.js +0 -2
  622. package/dist/core/p-b52000d9.entry.js +0 -2
  623. package/dist/core/p-bb4ce810.entry.js +0 -2
  624. package/dist/core/p-cbe0d1bb.entry.js +0 -2
  625. package/dist/core/p-ceea1712.entry.js +0 -2
  626. package/dist/core/p-ceea1712.entry.js.map +0 -1
  627. package/dist/core/p-cf631191.entry.js +0 -2
  628. package/dist/core/p-e652ab09.entry.js +0 -2
  629. package/dist/core/p-e652ab09.entry.js.map +0 -1
  630. package/dist/core/p-e876e47c.entry.js +0 -2
  631. package/dist/core/p-e876e47c.entry.js.map +0 -1
  632. package/dist/core/p-ea778379.entry.js +0 -2
  633. package/dist/core/p-ef4b5469.entry.js +0 -2
  634. package/dist/core/p-f309d3af.entry.js +0 -2
  635. package/dist/core/p-f6a02202.entry.js +0 -2
  636. package/dist/core/p-fc3b1155.entry.js +0 -2
  637. package/dist/esm/helpers-56631aa0.js.map +0 -1
  638. /package/dist/core/{p-287e5c17.entry.js.map → p-37d217b5.entry.js.map} +0 -0
  639. /package/dist/core/{p-df88ff5b.entry.js.map → p-37daa8fe.entry.js.map} +0 -0
  640. /package/dist/core/{p-ffac41d6.entry.js.map → p-492fcb51.entry.js.map} +0 -0
  641. /package/dist/core/{p-6e8ef73c.entry.js.map → p-57721431.entry.js.map} +0 -0
  642. /package/dist/core/{p-5fbc8e62.entry.js.map → p-5fcfcfb6.entry.js.map} +0 -0
  643. /package/dist/core/{p-ea061ccf.entry.js.map → p-9a8bcb78.entry.js.map} +0 -0
  644. /package/dist/core/{p-8b5022bc.entry.js.map → p-9cf6ccfd.entry.js.map} +0 -0
  645. /package/dist/core/{p-999f0a5d.entry.js.map → p-b4a2f6fa.entry.js.map} +0 -0
@@ -174,7 +174,7 @@ export const WithInteractionButton = {
174
174
  />
175
175
  </svg>
176
176
  <ic-button
177
- variant="icon"
177
+ variant="icon-tertiary"
178
178
  title="More information"
179
179
  slot="interaction-button"
180
180
  >
@@ -209,7 +209,7 @@ export const Adornment = {
209
209
  size="small"
210
210
  ></ic-status-tag>
211
211
  <ic-button
212
- variant="icon"
212
+ variant="icon-tertiary"
213
213
  title="More information"
214
214
  slot="interaction-button"
215
215
  >
@@ -258,7 +258,7 @@ export const TopImage = {
258
258
  size="small"
259
259
  ></ic-status-tag>
260
260
  <ic-button
261
- variant="icon"
261
+ variant="icon-tertiary"
262
262
  title="More information"
263
263
  slot="interaction-button"
264
264
  >
@@ -327,7 +327,7 @@ export const MiddleImage = {
327
327
  size="small"
328
328
  ></ic-status-tag>
329
329
  <ic-button
330
- variant="icon"
330
+ variant="icon-tertiary"
331
331
  title="More information"
332
332
  slot="interaction-button"
333
333
  >
@@ -396,7 +396,7 @@ export const InteractionControls = {
396
396
  size="small"
397
397
  ></ic-status-tag>
398
398
  <ic-button
399
- variant="icon"
399
+ variant="icon-tertiary"
400
400
  title="More information"
401
401
  slot="interaction-button"
402
402
  >
@@ -473,7 +473,7 @@ export const CustomWidth = {
473
473
  size="small"
474
474
  ></ic-status-tag>
475
475
  <ic-button
476
- variant="icon"
476
+ variant="icon-tertiary"
477
477
  title="More information"
478
478
  slot="interaction-button"
479
479
  >
@@ -555,7 +555,7 @@ export const CustomWidth = {
555
555
  size="small"
556
556
  ></ic-status-tag>
557
557
  <ic-button
558
- variant="icon"
558
+ variant="icon-tertiary"
559
559
  title="More information"
560
560
  slot="interaction-button"
561
561
  >
@@ -643,7 +643,7 @@ export const AdditionalHeight = {
643
643
  size="small"
644
644
  ></ic-status-tag>
645
645
  <ic-button
646
- variant="icon"
646
+ variant="icon-tertiary"
647
647
  title="More information"
648
648
  slot="interaction-button"
649
649
  >
@@ -719,7 +719,7 @@ export const Expandable = {
719
719
  size="small"
720
720
  ></ic-status-tag>
721
721
  <ic-button
722
- variant="icon"
722
+ variant="icon-tertiary"
723
723
  title="More information"
724
724
  slot="interaction-button"
725
725
  >
@@ -945,7 +945,7 @@ export const Playground = {
945
945
  ${args.showInteractionButton &&
946
946
  html`
947
947
  <ic-button
948
- variant="icon"
948
+ variant="icon-tertiary"
949
949
  title="More information"
950
950
  slot="interaction-button"
951
951
  >
@@ -664,6 +664,11 @@ video {
664
664
  flex: 100%;
665
665
  }
666
666
 
667
+ .sr-only {
668
+ position: absolute;
669
+ left: -9999px;
670
+ }
671
+
667
672
  @media (max-width: 576px) {
668
673
  ::slotted(*) {
669
674
  --input-width: 100%;
@@ -114,9 +114,9 @@ export class Checkbox {
114
114
  checkbox: true,
115
115
  checked,
116
116
  indeterminate: displayIndeterminate,
117
- }, ref: (el) => (this.checkboxEl = el), type: "checkbox", name: name, id: id, value: value, disabled: disabled, checked: checked, indeterminate: displayIndeterminate, onClick: handleClick, form: form, "aria-label": hideLabel ? label : undefined }), !hideLabel && (h("ic-typography", { key: '2ba4862a349e6b3f34c050c434ce247687f0dfd8', class: "checkbox-label", variant: "body" }, h("label", { key: 'a3f3c733b5dc0a0acdf89d3b7db603e965102618', htmlFor: id }, label)))), isSlotUsed(el, "additional-field") && (h("div", { key: 'ad38f0547dda8ce82cd107fec3f3ff9d555cc1e8', class: "dynamic-container", ref: (el) => (this.additionalFieldContainer = el) }, isDynamicAdditionalField && h("div", { key: 'd2c8566cada65dbd60546873ccbfedb33ec0e093', class: "branch-corner" }), h("div", { key: '05489504f66d7f6e79bbbf18302dd63348f2f4a7', class: "dynamic-field-container" }, isDynamicAdditionalField && (h("ic-typography", { key: 'eb397dc91080f791a4fd13e3c1815fad70c7cb87', variant: "caption" }, h("p", { key: '49633d6c0806655957055fbef51688bfdeb11411', class: "dynamic-text", "aria-live": "polite" }, dynamicText))), h("div", { key: '916e20f79f80cd7ff0fb5c4b030caf07f146ffcc', class: {
117
+ }, ref: (el) => (this.checkboxEl = el), type: "checkbox", name: name, id: id, value: value, disabled: disabled, checked: checked, indeterminate: displayIndeterminate, onClick: handleClick, form: form, "aria-label": hideLabel ? label : undefined }), !hideLabel && (h("ic-typography", { key: '2ba4862a349e6b3f34c050c434ce247687f0dfd8', class: "checkbox-label", variant: "body" }, h("label", { key: 'a3f3c733b5dc0a0acdf89d3b7db603e965102618', htmlFor: id }, label)))), h("span", { key: 'e671e1532bdfea4a1c5d85cbb8cde2cc41044757', id: `${id}-additional-field-description`, role: "alert", class: "sr-only" }, isDynamicAdditionalField && checked ? dynamicText : ""), isSlotUsed(el, "additional-field") && (h("div", { key: 'b562e4d2bf3cb6651c6a95aedb8a8e4991d1d1e7', class: "dynamic-container", ref: (el) => (this.additionalFieldContainer = el) }, isDynamicAdditionalField && h("div", { key: '9c6d8a88882fe32f1f272c3df42eeca896459284', class: "branch-corner" }), h("div", { key: '7a88d8ae6fc193a3b2e08e82eb47a6b0228ce40b', class: "dynamic-field-container" }, isDynamicAdditionalField && (h("ic-typography", { key: '64fdfe413653b6583789de3ee56c91c18522764e', variant: "caption" }, h("p", { key: '0075205b0805a37b362658d70152bb180c290f0c', class: "dynamic-text" }, isDynamicAdditionalField && checked ? dynamicText : ""))), h("div", { key: 'd6494d984bd1de5b08265fe1f8b2deb0a45e7d3a', class: {
118
118
  "additional-field-wrapper": !isDynamicAdditionalField,
119
- } }, h("slot", { key: '5783108ca7c6edb7c55dad2cc9469549e31d7cd3', name: "additional-field" })))))));
119
+ } }, h("slot", { key: '905f210aaf41f4ba5d7c24e92bd19dbb17b81355', name: "additional-field" })))))));
120
120
  }
121
121
  static get is() { return "ic-checkbox"; }
122
122
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"ic-checkbox.js","sourceRoot":"","sources":["../../../src/components/ic-checkbox/ic-checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport {\n IcAdditionalFieldTypes,\n IcSizes,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n removeHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\n\n/**\n * @slot additional-field - Content to be displayed alongside a checkbox.\n */\n@Component({\n tag: \"ic-checkbox\",\n styleUrl: \"ic-checkbox.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Checkbox {\n private additionalFieldContainer?: HTMLDivElement;\n private checkboxEl?: HTMLInputElement;\n\n @Element() el: HTMLIcCheckboxElement;\n\n /**\n * The style of additionalField that will be displayed if used.\n */\n @Prop({ reflect: true }) additionalFieldDisplay: IcAdditionalFieldTypes =\n \"static\";\n\n /**\n * If `true`, the checkbox will be set to the checked state. This is only the initial state and will be updated to unchecked if the checkbox is clicked.\n */\n @Prop({ reflect: true, mutable: true }) checked = false;\n @State() initiallyChecked = this.checked;\n\n /**\n * If `true`, the checkbox will be set to the disabled state.\n */\n @Prop() disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The text to be displayed when dynamic.\n */\n\n @Prop() dynamicText = \"This selection requires additional answers\";\n\n /**\n * The <form> element to associate the checkbox with.\n */\n @Prop() form?: string;\n\n /**\n * The group label for the checkbox.\n */\n @Prop({ mutable: true }) groupLabel?: 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 = false;\n\n /**\n * If `true`, the indeterminate state will be displayed when checked.\n */\n @Prop() indeterminate = false;\n @State() displayIndeterminate = this.indeterminate;\n @Watch(\"indeterminate\")\n watchIndeterminateHandler(): void {\n this.displayIndeterminate =\n this.indeterminate && (this.nativeIndeterminateBehaviour || this.checked);\n }\n\n /**\n * The label for the checkbox.\n */\n @Prop() label!: string;\n\n /**\n * The name for the checkbox. If not set when used in a checkbox group, the name will be based on the group name.\n */\n @Prop({ mutable: true }) name?: string;\n\n /**\n * If `true`, the checkbox will behave like a native checkbox where the `indeterminate` prop sets the indeterminate visual styling, independent of the `checked` state.\n */\n @Prop() nativeIndeterminateBehaviour = false;\n\n /**\n * The size of the checkbox to be displayed. This does not affect the font size of the label. If a checkbox is contained in a checkbox group, this will override the size set on checkbox group.\n */\n @Prop({ mutable: true }) size?: IcSizes;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * The value for the checkbox.\n */\n @Prop() value = \"\";\n\n /**\n * Emitted when a checkbox has been checked.\n */\n @Event() icCheck: EventEmitter<void>;\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n\n addFormResetListener(this.el, this.handleFormReset);\n\n const { parentElement } = this.el;\n if (parentElement?.tagName === \"IC-CHECKBOX-GROUP\") {\n const { name, label, size } = parentElement as HTMLIcCheckboxGroupElement;\n\n if (!this.name) this.name = name;\n if (!this.size) this.size = size;\n this.groupLabel = label;\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Checkbox\"\n );\n }\n\n componentDidRender(): void {\n if (this.additionalFieldDisplay === \"static\") {\n this.el\n .querySelectorAll(\"ic-text-field\")\n .forEach((textfield) =>\n textfield.setAttribute(\"disabled\", `${!this.checked}`)\n );\n } else if (this.additionalFieldContainer) {\n this.additionalFieldContainer.style.display = !this.checked\n ? \"none\"\n : \"flex\";\n }\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n /**\n * Sets focus on the checkbox.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.checkboxEl?.focus();\n }\n\n private handleClick = () => {\n this.checked = !this.checked;\n this.displayIndeterminate =\n !this.nativeIndeterminateBehaviour && this.indeterminate && this.checked;\n this.icCheck.emit();\n };\n\n private handleFormReset = (): void => {\n this.checked = this.initiallyChecked;\n };\n\n render() {\n const {\n additionalFieldDisplay,\n checked,\n disabled,\n displayIndeterminate,\n dynamicText,\n el,\n form,\n groupLabel,\n handleClick,\n hideLabel,\n label,\n name,\n size,\n theme,\n value,\n } = this;\n\n const id = `ic-checkbox-${label}-${groupLabel}`.replace(/ /g, \"-\");\n\n const isDynamicAdditionalField = additionalFieldDisplay === \"dynamic\";\n\n checked\n ? renderHiddenInput(el, value, name, disabled)\n : removeHiddenInput(el);\n\n return (\n <Host\n class={{\n \"ic-checkbox-disabled\": disabled,\n [`ic-checkbox-${size}`]: !!size,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div class=\"container\">\n {displayIndeterminate ? (\n <div class=\"indeterminate-symbol\" />\n ) : (\n checked && (\n <svg\n class=\"checkmark\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n >\n <title>checkmark icon</title>\n <path d=\"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z\" />\n </svg>\n )\n )}\n <input\n role=\"checkbox\"\n class={{\n checkbox: true,\n checked,\n indeterminate: displayIndeterminate,\n }}\n ref={(el) => (this.checkboxEl = el)}\n type=\"checkbox\"\n name={name}\n id={id}\n value={value}\n disabled={disabled}\n checked={checked}\n indeterminate={displayIndeterminate}\n onClick={handleClick}\n form={form}\n aria-label={hideLabel ? label : undefined}\n ></input>\n {!hideLabel && (\n <ic-typography class=\"checkbox-label\" variant=\"body\">\n <label htmlFor={id}>{label}</label>\n </ic-typography>\n )}\n </div>\n {isSlotUsed(el, \"additional-field\") && (\n <div\n class=\"dynamic-container\"\n ref={(el) => (this.additionalFieldContainer = el)}\n >\n {isDynamicAdditionalField && <div class=\"branch-corner\"></div>}\n <div class=\"dynamic-field-container\">\n {isDynamicAdditionalField && (\n <ic-typography variant=\"caption\">\n <p class=\"dynamic-text\" aria-live=\"polite\">\n {dynamicText}\n </p>\n </ic-typography>\n )}\n <div\n class={{\n \"additional-field-wrapper\": !isDynamicAdditionalField,\n }}\n >\n <slot name=\"additional-field\"></slot>\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-checkbox.js","sourceRoot":"","sources":["../../../src/components/ic-checkbox/ic-checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport {\n IcAdditionalFieldTypes,\n IcSizes,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n removeHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\n\n/**\n * @slot additional-field - Content to be displayed alongside a checkbox.\n */\n@Component({\n tag: \"ic-checkbox\",\n styleUrl: \"ic-checkbox.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Checkbox {\n private additionalFieldContainer?: HTMLDivElement;\n private checkboxEl?: HTMLInputElement;\n\n @Element() el: HTMLIcCheckboxElement;\n\n /**\n * The style of additionalField that will be displayed if used.\n */\n @Prop({ reflect: true }) additionalFieldDisplay: IcAdditionalFieldTypes =\n \"static\";\n\n /**\n * If `true`, the checkbox will be set to the checked state. This is only the initial state and will be updated to unchecked if the checkbox is clicked.\n */\n @Prop({ reflect: true, mutable: true }) checked = false;\n @State() initiallyChecked = this.checked;\n\n /**\n * If `true`, the checkbox will be set to the disabled state.\n */\n @Prop() disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The text to be displayed when dynamic.\n */\n\n @Prop() dynamicText = \"This selection requires additional answers\";\n\n /**\n * The <form> element to associate the checkbox with.\n */\n @Prop() form?: string;\n\n /**\n * The group label for the checkbox.\n */\n @Prop({ mutable: true }) groupLabel?: 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 = false;\n\n /**\n * If `true`, the indeterminate state will be displayed when checked.\n */\n @Prop() indeterminate = false;\n @State() displayIndeterminate = this.indeterminate;\n @Watch(\"indeterminate\")\n watchIndeterminateHandler(): void {\n this.displayIndeterminate =\n this.indeterminate && (this.nativeIndeterminateBehaviour || this.checked);\n }\n\n /**\n * The label for the checkbox.\n */\n @Prop() label!: string;\n\n /**\n * The name for the checkbox. If not set when used in a checkbox group, the name will be based on the group name.\n */\n @Prop({ mutable: true }) name?: string;\n\n /**\n * If `true`, the checkbox will behave like a native checkbox where the `indeterminate` prop sets the indeterminate visual styling, independent of the `checked` state.\n */\n @Prop() nativeIndeterminateBehaviour = false;\n\n /**\n * The size of the checkbox to be displayed. This does not affect the font size of the label. If a checkbox is contained in a checkbox group, this will override the size set on checkbox group.\n */\n @Prop({ mutable: true }) size?: IcSizes;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * The value for the checkbox.\n */\n @Prop() value = \"\";\n\n /**\n * Emitted when a checkbox has been checked.\n */\n @Event() icCheck: EventEmitter<void>;\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n\n addFormResetListener(this.el, this.handleFormReset);\n\n const { parentElement } = this.el;\n if (parentElement?.tagName === \"IC-CHECKBOX-GROUP\") {\n const { name, label, size } = parentElement as HTMLIcCheckboxGroupElement;\n\n if (!this.name) this.name = name;\n if (!this.size) this.size = size;\n this.groupLabel = label;\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Checkbox\"\n );\n }\n\n componentDidRender(): void {\n if (this.additionalFieldDisplay === \"static\") {\n this.el\n .querySelectorAll(\"ic-text-field\")\n .forEach((textfield) =>\n textfield.setAttribute(\"disabled\", `${!this.checked}`)\n );\n } else if (this.additionalFieldContainer) {\n this.additionalFieldContainer.style.display = !this.checked\n ? \"none\"\n : \"flex\";\n }\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n /**\n * Sets focus on the checkbox.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.checkboxEl?.focus();\n }\n\n private handleClick = () => {\n this.checked = !this.checked;\n this.displayIndeterminate =\n !this.nativeIndeterminateBehaviour && this.indeterminate && this.checked;\n this.icCheck.emit();\n };\n\n private handleFormReset = (): void => {\n this.checked = this.initiallyChecked;\n };\n\n render() {\n const {\n additionalFieldDisplay,\n checked,\n disabled,\n displayIndeterminate,\n dynamicText,\n el,\n form,\n groupLabel,\n handleClick,\n hideLabel,\n label,\n name,\n size,\n theme,\n value,\n } = this;\n\n const id = `ic-checkbox-${label}-${groupLabel}`.replace(/ /g, \"-\");\n\n const isDynamicAdditionalField = additionalFieldDisplay === \"dynamic\";\n\n checked\n ? renderHiddenInput(el, value, name, disabled)\n : removeHiddenInput(el);\n\n return (\n <Host\n class={{\n \"ic-checkbox-disabled\": disabled,\n [`ic-checkbox-${size}`]: !!size,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div class=\"container\">\n {displayIndeterminate ? (\n <div class=\"indeterminate-symbol\" />\n ) : (\n checked && (\n <svg\n class=\"checkmark\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n >\n <title>checkmark icon</title>\n <path d=\"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z\" />\n </svg>\n )\n )}\n <input\n role=\"checkbox\"\n class={{\n checkbox: true,\n checked,\n indeterminate: displayIndeterminate,\n }}\n ref={(el) => (this.checkboxEl = el)}\n type=\"checkbox\"\n name={name}\n id={id}\n value={value}\n disabled={disabled}\n checked={checked}\n indeterminate={displayIndeterminate}\n onClick={handleClick}\n form={form}\n aria-label={hideLabel ? label : undefined}\n ></input>\n {!hideLabel && (\n <ic-typography class=\"checkbox-label\" variant=\"body\">\n <label htmlFor={id}>{label}</label>\n </ic-typography>\n )}\n </div>\n <span\n id={`${id}-additional-field-description`}\n role=\"alert\"\n class=\"sr-only\"\n >\n {isDynamicAdditionalField && checked ? dynamicText : \"\"}\n </span>\n {isSlotUsed(el, \"additional-field\") && (\n <div\n class=\"dynamic-container\"\n ref={(el) => (this.additionalFieldContainer = el)}\n >\n {isDynamicAdditionalField && <div class=\"branch-corner\"></div>}\n <div class=\"dynamic-field-container\">\n {isDynamicAdditionalField && (\n <ic-typography variant=\"caption\">\n <p class=\"dynamic-text\">\n {isDynamicAdditionalField && checked ? dynamicText : \"\"}\n </p>\n </ic-typography>\n )}\n <div\n class={{\n \"additional-field-wrapper\": !isDynamicAdditionalField,\n }}\n >\n <slot name=\"additional-field\"></slot>\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -93,11 +93,11 @@ export class CheckboxGroup {
93
93
  const { disabled, helperText, hideLabel, label, name, required, size, theme, validationStatus, validationText, } = this;
94
94
  const describedBy = getInputDescribedByText(this.el, name, helperText !== "", validationStatus !== "");
95
95
  const renderSRText = validationStatus === "error" || required || hideLabel;
96
- return (h(Host, { key: '977492f0ca432ab5dc9d7435c66cf6aafa8c44f1', class: {
96
+ return (h(Host, { key: '0fb0440f1e5b5801cc5eadfd589ac04a63eb9f99', class: {
97
97
  "ic-checkbox-group-disabled": !!disabled,
98
98
  [`ic-checkbox-group-${size}`]: true,
99
99
  [`ic-theme-${theme}`]: theme !== "inherit",
100
- } }, renderSRText && (h("span", { key: '5a9d1c9fcf5f1b837e4f6ff3ae516db0b105e1ac', id: "screenReaderOnlyText", class: "screen-reader-only-text", "aria-hidden": "true" }, label, " ", validationStatus === "error" ? "invalid data " : null, " ", required ? "required" : null)), h("fieldset", { key: 'c3afb98a671db4dba8229d461c33d4b5a69d5e31', id: name, "aria-labelledby": `${renderSRText ? "screenReaderOnlyText" : ""} ${describedBy}`.trim(), disabled: disabled }, !hideLabel && (h("legend", { key: 'bc4e450767c3fb6f7deb01370d9d1599d4515417' }, h("ic-input-label", { key: '7c0c76b80d4b89673495b56a79cf8a05f0a224f3', class: { [`${validationStatus}`]: true }, label: label, helperText: helperText, required: required, disabled: disabled, useLabelTag: false }, h("slot", { key: '348730e9c8ffbd0701a00e9380a11e403957604b', name: "helper-text", slot: "helper-text" })))), h("div", { key: 'c4065c98766a8447ed51c0a84f953cc70c529d2c', class: "checkboxes-container" }, h("slot", { key: 'cadbff332d84cf70bbbb42f1c40f4cb0bc705e38' }))), hasValidationStatus(validationStatus, disabled) && (h("ic-input-validation", { key: '0259abfb51282b2dfc8ed9aed0a2b97ccb769ac2', for: name, ariaLiveMode: "polite", status: validationStatus, message: validationText }))));
100
+ } }, renderSRText && (h("span", { key: 'c0bb18f0b0c32cece059ec3121fa85b829096bde', id: "screenReaderOnlyText", class: "screen-reader-only-text", "aria-hidden": "true" }, label, " ", validationStatus === "error" ? "invalid data " : null, " ", required ? "required" : null)), h("fieldset", { key: '34617958bbc17c41bbe4ee00958e2a00077e53ed', id: name, "aria-labelledby": `${renderSRText ? "screenReaderOnlyText" : ""} ${describedBy}`.trim(), disabled: disabled }, !hideLabel && (h("legend", { key: '0b8ddb361a14f5c0cbca1d27da58428f13ccec9a' }, h("ic-input-label", { key: '06dc432363a51aba3540b1bf5e72e514b8cd9393', class: { [`${validationStatus}`]: true }, label: label, helperText: helperText, required: required, disabled: disabled, useLabelTag: false }, h("slot", { key: '7617aeae70bf582bc28ad3e38e63c7bb2d33e704', name: "helper-text", slot: "helper-text" })))), h("div", { key: 'fcfc716f0dbddacdd97f2bf253882b19e9c7be9f', class: "checkboxes-container" }, h("slot", { key: '6698eb710655c4dae00ed4597bb2221042e3b0c2' }))), hasValidationStatus(validationStatus, disabled) && (h("ic-input-validation", { key: '8f7ff310f825d7af04eb37a97aca30f3791b5a38', for: name, ariaLiveMode: "polite", status: validationStatus, message: validationText }))));
101
101
  }
102
102
  static get is() { return "ic-checkbox-group"; }
103
103
  static get encapsulation() { return "shadow"; }
@@ -317,44 +317,27 @@ export const ConditionalStatic = {
317
317
  export const HelperText = {
318
318
  render: (args) => html`
319
319
  <ic-checkbox-group
320
- label="This is a label"
320
+ label="Coffee extras"
321
321
  name="group1"
322
- helper-text="Helper text"
322
+ helper-text="Helper text provided by prop"
323
323
  >
324
- <ic-checkbox
325
- value="valueName1"
326
- label="Unselected / Default"
327
- ></ic-checkbox>
328
- <ic-checkbox
329
- value="valueName2"
330
- label="Selected / Default"
331
- checked
332
- ></ic-checkbox>
333
- <ic-checkbox
334
- value="valueName3"
335
- label="Unselected / Disabled"
336
- Disabled
337
- ></ic-checkbox>
324
+ <ic-checkbox value="valueName1" label="Sugar"></ic-checkbox>
325
+ <ic-checkbox value="valueName2" label="Milk" checked></ic-checkbox>
326
+ <ic-checkbox value="valueName3" label="salt" Disabled></ic-checkbox>
338
327
  </ic-checkbox-group>
339
328
  <br />
340
- <ic-checkbox-group label="This is a label" name="group2">
329
+ <ic-checkbox-group label="More coffee extras" name="group2">
341
330
  <ic-typography variant="caption" slot="helper-text">
342
331
  <span>
343
- Slotted helper text with a <ic-link href="#">link</ic-link>
332
+ Slotted helper text with a
333
+ <ic-link href="#">helpful link to guidance</ic-link>
344
334
  </span>
345
335
  </ic-typography>
346
- <ic-checkbox
347
- value="valueName1"
348
- label="Unselected / Default"
349
- ></ic-checkbox>
350
- <ic-checkbox
351
- value="valueName2"
352
- label="Selected / Default"
353
- checked
354
- ></ic-checkbox>
336
+ <ic-checkbox value="valueName1" label="Shortbread"></ic-checkbox>
337
+ <ic-checkbox value="valueName2" label="Scone" checked></ic-checkbox>
355
338
  <ic-checkbox
356
339
  value="valueName3"
357
- label="Unselected / Disabled"
340
+ label="Ham Sandwich"
358
341
  Disabled
359
342
  ></ic-checkbox>
360
343
  </ic-checkbox-group>
@@ -18,10 +18,10 @@ export class DataList {
18
18
  if (size === "small") {
19
19
  Array.from(el.children).forEach((child) => child.setAttribute("size", "small"));
20
20
  }
21
- return (h(Host, { key: '5e7af483f24335b47442b4aa768c7b04bc14bb64', class: {
21
+ return (h(Host, { key: 'a050ac5764ea9496f33d53abdd27f1a193185cbb', class: {
22
22
  "ic-data-list-small": size === "small",
23
23
  [`ic-theme-${theme}`]: theme !== "inherit",
24
- } }, h("div", { key: 'a74f7d4a87b21b053a500cab89ca978ada43263e', class: "heading", id: "data-list-heading" }, h("slot", { key: 'c4896992d8558dfbe2a1d8dd689cabae2581ce89', name: "heading" }, h("ic-typography", { key: 'b05016df276422f769464a73d6ae71533d3c028f', variant: "h3" }, heading))), h("div", { key: 'a984729dc0849a27d09cd6403efd230cfc927007', class: "divider" }), h("ul", { key: '916c5b5c74f16f3fab74e2a157c2216b570420f5', "aria-labelledby": "data-list-heading", class: "rows" }, h("slot", { key: 'e5e05b0957b4cf986139795f31771556fd5f6150' }))));
24
+ } }, h("div", { key: '41836f9dce80428fe7f266601c779255195f2a1a', class: "heading", id: "data-list-heading" }, h("slot", { key: '0bd2c17f6dc9767364dc021695ac5839acb3040f', name: "heading" }, h("ic-typography", { key: '65c4dd118e264af61e6494a81b60e573361ea9d3', variant: "h3" }, heading))), h("div", { key: '5be1cea50a4d8beef81c14da5e13a74a75347244', class: "divider" }), h("ul", { key: '9b71c57f882aec9aecb018e4a1fb98ff66c6aaf1', "aria-labelledby": "data-list-heading", class: "rows" }, h("slot", { key: '729e8422e911d6dc7a64e568af78f9e7e1ba32c7' }))));
25
25
  }
26
26
  static get is() { return "ic-data-list"; }
27
27
  static get encapsulation() { return "shadow"; }
@@ -151,7 +151,11 @@ export const IconButton = {
151
151
  render: () =>
152
152
  html`<ic-data-list heading="Personal details">
153
153
  <ic-data-row label="Name" value="Michael Johnson">
154
- <ic-button variant="icon" aria-label="Edit" slot="end-component">
154
+ <ic-button
155
+ variant="icon-tertiary"
156
+ aria-label="Edit"
157
+ slot="end-component"
158
+ >
155
159
  <svg
156
160
  xmlns="http://www.w3.org/2000/svg"
157
161
  width="24"
@@ -165,7 +169,11 @@ export const IconButton = {
165
169
  </ic-button>
166
170
  </ic-data-row>
167
171
  <ic-data-row label="Date of birth" value="16 October 1995">
168
- <ic-button variant="icon" aria-label="Edit" slot="end-component">
172
+ <ic-button
173
+ variant="icon-tertiary"
174
+ aria-label="Edit"
175
+ slot="end-component"
176
+ >
169
177
  <svg
170
178
  xmlns="http://www.w3.org/2000/svg"
171
179
  width="24"
@@ -179,7 +187,11 @@ export const IconButton = {
179
187
  </ic-button>
180
188
  </ic-data-row>
181
189
  <ic-data-row label="Telephone" value="07449 7654873">
182
- <ic-button variant="icon" aria-label="Edit" slot="end-component">
190
+ <ic-button
191
+ variant="icon-tertiary"
192
+ aria-label="Edit"
193
+ slot="end-component"
194
+ >
183
195
  <svg
184
196
  xmlns="http://www.w3.org/2000/svg"
185
197
  width="24"
@@ -193,7 +205,11 @@ export const IconButton = {
193
205
  </ic-button>
194
206
  </ic-data-row>
195
207
  <ic-data-row label="Email" value="mjohnson@coffee.gov">
196
- <ic-button variant="icon" aria-label="Edit" slot="end-component">
208
+ <ic-button
209
+ variant="icon-tertiary"
210
+ aria-label="Edit"
211
+ slot="end-component"
212
+ >
197
213
  <svg
198
214
  xmlns="http://www.w3.org/2000/svg"
199
215
  width="24"
@@ -216,7 +232,11 @@ export const IconButton = {
216
232
  <br />
217
233
  United Kingdom
218
234
  </ic-typography>
219
- <ic-button variant="icon" aria-label="Edit" slot="end-component">
235
+ <ic-button
236
+ variant="icon-tertiary"
237
+ aria-label="Edit"
238
+ slot="end-component"
239
+ >
220
240
  <svg
221
241
  xmlns="http://www.w3.org/2000/svg"
222
242
  width="24"
@@ -478,7 +498,11 @@ export const Playground = {
478
498
  size=${args.rowSize}
479
499
  theme=${args.rowTheme}
480
500
  >
481
- <ic-button variant="icon" aria-label="Edit" slot=${args.endCompSlot}>
501
+ <ic-button
502
+ variant="icon-tertiary"
503
+ aria-label="Edit"
504
+ slot=${args.endCompSlot}
505
+ >
482
506
  <svg
483
507
  xmlns="http://www.w3.org/2000/svg"
484
508
  width="24"
@@ -68,12 +68,12 @@ export class DataRow {
68
68
  }
69
69
  render() {
70
70
  const { el, listSize, hasEndComponent, label, renderCellContent, size, theme, value, } = this;
71
- return (h(Host, { key: '9a94132a8884960a5ec1c2f2772e89f46dbcc995', class: {
71
+ return (h(Host, { key: '8a70c9ceda7aebc616eb335f08e626952c87ddf3', class: {
72
72
  ["ic-data-row-small"]: size === "small",
73
73
  ["breakpoint-medium"]: listSize === "m",
74
74
  ["breakpoint-xs"]: listSize === "xs",
75
75
  [`ic-theme-${theme}`]: theme !== "inherit",
76
- }, role: "listitem" }, h("div", { key: '8a354952861f100d66f454998c5b6a40eff226bd', class: "data" }, h("div", { key: '55359f425068a3a2b16cf194bc562ea8a2f865be', class: "text-cells" }, (isSlotUsed(el, "label") || label) && renderCellContent("label"), (isSlotUsed(el, "value") || value) && renderCellContent("value")), hasEndComponent && (h("div", { key: '1bb95d477f8d30759480a304c5214c9530a118d2', class: "end-component" }, h("slot", { key: '11284607c2c69d5b231d41ae307ca3044b49b8d1', name: "end-component" })))), h("div", { key: 'c4289c8446de02edbf8491e6d1d3cdb66561483e', class: "divider" })));
76
+ }, role: "listitem" }, h("div", { key: 'b2f75779fb6392023c42d9c1f8bf58a98b431797', class: "data" }, h("div", { key: '059aa84f8a91c9a7cdaea4e118287ea460f1bcdd', class: "text-cells" }, (isSlotUsed(el, "label") || label) && renderCellContent("label"), (isSlotUsed(el, "value") || value) && renderCellContent("value")), hasEndComponent && (h("div", { key: '3bcb9b239d836434ceae03ecd35c1bdc42d73699', class: "end-component" }, h("slot", { key: '453e0c7e4d6b875ddfc319a12dc173913057b8bd', name: "end-component" })))), h("div", { key: 'f16fd733c8ffd0e8ed8e7461099a3b9b81809cb3', class: "divider" })));
77
77
  }
78
78
  static get is() { return "ic-data-row"; }
79
79
  static get encapsulation() { return "shadow"; }
@@ -19,6 +19,7 @@ export class Dialog {
19
19
  this.IC_ACCORDION_GROUP = "IC-ACCORDION-GROUP";
20
20
  this.IC_CHECKBOX = "IC-CHECKBOX";
21
21
  this.IC_SEARCH_BAR = "IC-SEARCH-BAR";
22
+ this.IC_TAB_CONTEXT = "IC-TAB-CONTEXT";
22
23
  this.resizeObserver = null;
23
24
  this.dialogRendered = false;
24
25
  this.fadeIn = false;
@@ -159,7 +160,7 @@ export class Dialog {
159
160
  var _a;
160
161
  this.interactiveElementList = Array.from(((_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll("ic-button")) || []);
161
162
  const slottedInteractiveElements = Array.from(this.el.querySelectorAll(`a[href], button, input:not(.ic-input), textarea, select, details, [tabindex]:not([tabindex="-1"]),
162
- ic-button, ic-checkbox, ic-select, ic-search-bar, ic-tab-group,
163
+ ic-button, ic-checkbox, ic-select, ic-search-bar, ic-tab-context,
163
164
  ic-back-to-top, ic-breadcrumb, ic-chip[dismissible="true"], ic-footer-link, ic-link, ic-navigation-button,
164
165
  ic-navigation-item, ic-switch, ic-text-field, ic-accordion-group, ic-accordion, ic-date-input, ic-date-picker`));
165
166
  if (slottedInteractiveElements.length > 0) {
@@ -213,6 +214,7 @@ export class Dialog {
213
214
  case this.IC_SEARCH_BAR:
214
215
  case this.IC_TEXT_FIELD:
215
216
  case this.IC_CHECKBOX:
217
+ case this.IC_TAB_CONTEXT:
216
218
  element.setFocus();
217
219
  break;
218
220
  default:
@@ -228,7 +230,7 @@ export class Dialog {
228
230
  [`${size}`]: true,
229
231
  "disable-height-constraint": !!disableHeightConstraint,
230
232
  "disable-width-constraint": !!disableWidthConstraint,
231
- }, "aria-labelledby": "dialog-label dialog-heading", "aria-describedby": "dialog-alert dialog-content", ref: (el) => (this.dialogEl = el) }, h("div", { class: "heading-area" }, h("div", { class: "heading-content" }, h("div", { class: "label" }, h("slot", { name: "label" }, h("ic-typography", { variant: "label", id: "dialog-label" }, label))), h("div", { class: "heading" }, h("slot", { name: "heading" }, h("ic-typography", { variant: "h4", id: "dialog-heading" }, heading)))), !hideCloseButton && (h("ic-button", { class: "close-icon", variant: "icon", innerHTML: closeIcon, "aria-label": dismissLabel, onClick: closeIconClick, "data-gets-focus": destructive || (hideDefaultControls && !controlsSlotUsed)
233
+ }, "aria-labelledby": "dialog-label dialog-heading", "aria-describedby": "dialog-alert dialog-content", ref: (el) => (this.dialogEl = el) }, h("div", { class: "heading-area" }, h("div", { class: "heading-content" }, h("div", { class: "label" }, h("slot", { name: "label" }, h("ic-typography", { variant: "label", id: "dialog-label" }, label))), h("div", { class: "heading" }, h("slot", { name: "heading" }, h("ic-typography", { variant: "h4", id: "dialog-heading" }, heading)))), !hideCloseButton && (h("ic-button", { class: "close-icon", variant: "icon-tertiary", innerHTML: closeIcon, "aria-label": dismissLabel, onClick: closeIconClick, "data-gets-focus": destructive || (hideDefaultControls && !controlsSlotUsed)
232
234
  ? ""
233
235
  : null }))), h("div", { class: "content-area" }, isSlotUsed(this.el, "alert") && h("slot", { name: "alert" }), h("div", { id: "dialog-content" }, h("slot", null))), (controlsSlotUsed || !hideDefaultControls) && (h("div", { class: {
234
236
  [DIALOG_CONTROLS]: true,
@@ -334,7 +336,7 @@ export class Dialog {
334
336
  }
335
337
  render() {
336
338
  const { dialogRendered, disableHeightConstraint, fadeIn, theme } = this;
337
- return (h(Host, { key: 'ff1c220a6687596221a97f380dd78692d1689ca7', class: {
339
+ return (h(Host, { key: '6de63d3d94afa349dc9bb5b30296837bbf89f810', class: {
338
340
  "ic-dialog-hidden": !dialogRendered,
339
341
  "ic-dialog-fade-in": fadeIn,
340
342
  "disable-height-constraint": !!disableHeightConstraint,
@@ -1 +1 @@
1
- {"version":3,"file":"ic-dialog.js","sourceRoot":"","sources":["../../../src/components/ic-dialog/ic-dialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n State,\n Method,\n Listen,\n Watch,\n h,\n Fragment,\n} from \"@stencil/core\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport {\n isSlotUsed,\n checkResizeObserver,\n onComponentRequiredPropUndefined,\n getSlotElements,\n} from \"../../utils/helpers\";\nimport { IcFocusableComponents, IcThemeMode } from \"../../utils/types\";\n\n/**\n * @slot dialog-controls - Content will be place at the bottom of the dialog.\n * @slot heading - Content will be placed at the top of the dialog.\n * @slot label - Content will be placed above the dialog heading.\n * @slot alert - Content will be placed at the top of the content area of the dialog.\n */\n@Component({\n tag: \"ic-dialog\",\n styleUrl: \"ic-dialog.css\",\n shadow: true,\n})\nexport class Dialog {\n private backdropEl?: HTMLDivElement;\n private contentArea: HTMLSlotElement | null;\n private contentAreaMutationObserver: MutationObserver | null = null;\n private DATA_GETS_FOCUS: string = \"data-gets-focus\";\n private DIALOG_CONTROLS: string = \"dialog-controls\";\n private dialogEl?: HTMLDialogElement;\n private dialogHeight: number = 0;\n private focusedElementIndex = 0;\n private IC_TEXT_FIELD: string = \"IC-TEXT-FIELD\";\n private IC_ACCORDION: string = \"IC-ACCORDION\";\n private IC_ACCORDION_GROUP: string = \"IC-ACCORDION-GROUP\";\n private IC_CHECKBOX = \"IC-CHECKBOX\";\n private IC_SEARCH_BAR: string = \"IC-SEARCH-BAR\";\n private interactiveElementList: HTMLElement[];\n private resizeObserver: ResizeObserver | null = null;\n private resizeTimeout: number;\n private sourceElement: HTMLElement;\n\n @Element() el: HTMLIcDialogElement;\n\n @State() dialogRendered: boolean = false;\n @State() fadeIn: boolean = false;\n\n /**\n * If set to `false`, the dialog will not close when the backdrop is clicked.\n */\n @Prop() closeOnBackdropClick?: boolean = true;\n\n /**\n * If 'true', sets the 'primary' or rightmost button to the destructive variant. Stops initial focus being set on the 'primary' or rightmost default or slotted button.\n */\n @Prop() destructive?: boolean = false;\n\n /**\n * Sets the dismiss label tooltip and aria label.\n */\n @Prop() dismissLabel?: string = \"Dismiss\";\n\n /**\n * If set to `true`, the content area max height and overflow properties are removed allowing the dialog to stretch below the fold.\n * This prop also prevents popover elements from being cut off within the content area.\n */\n @Prop() disableHeightConstraint?: boolean = false;\n\n /**\n * If set to `true`, the content area width property is removed, allowing content to take the full width of the dialog when using the large variant.\n */\n @Prop() disableWidthConstraint?: boolean = false;\n\n /**\n * If `true`, the close button will not be displayed.\n */\n @Prop() hideCloseButton?: boolean = false;\n\n /**\n * If set to `true`, default button controls will not be shown, but slotted dialog controls will still be displayed.\n */\n @Prop() hideDefaultControls: boolean = false;\n\n /**\n * Sets the heading for the dialog.\n */\n @Prop() heading?: string;\n\n /**\n * Sets the optional label for the dialog which appears above the heading.\n */\n @Prop() label?: string;\n\n /**\n * If `true`, the dialog will be displayed.\n */\n @Prop({ reflect: true, mutable: true }) open?: boolean = false;\n\n @Watch(\"open\")\n watchOpenHandler(): void {\n if (this.open) {\n this.dialogOpened();\n } else {\n this.fadeIn = false;\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n setTimeout(() => {\n this.dialogRendered = false;\n this.dialogEl?.close();\n this.sourceElement?.focus();\n this.dialogHeight = 0;\n this.icDialogClosed.emit();\n }, 80);\n }\n }\n\n /**\n * Sets the maximum and minimum height and width for the dialog.\n */\n @Prop() size?: \"small\" | \"medium\" | \"large\" = \"small\";\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * Cancelation event emitted when default 'Cancel' button clicked or 'cancelDialog' method is called.\n */\n @Event() icDialogCancelled: EventEmitter<void>;\n\n /**\n * Emitted when dialog has closed.\n */\n @Event() icDialogClosed: EventEmitter<void>;\n\n /**\n * Confirmation event emitted when default 'Confirm' primary button clicked or 'confirmDialog' method is called.\n */\n @Event() icDialogConfirmed: EventEmitter<void>;\n\n /**\n * Emitted when dialog has opened.\n */\n @Event() icDialogOpened: EventEmitter<void>;\n\n disconnectedCallback(): void {\n this.removeSlotChangeListener();\n }\n\n componentDidLoad(): void {\n this.getInteractiveElements();\n\n this.refreshInteractiveElementsOnSlotChange();\n\n if (this.open) {\n this.dialogOpened();\n }\n\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Dialog\"\n );\n }\n\n componentDidRender(): void {\n document.body.style.overflow =\n getComputedStyle(this.el).display !== \"none\" &&\n this.disableHeightConstraint\n ? \"hidden\"\n : \"auto\";\n }\n\n @Listen(\"keydown\", { target: \"document\" })\n handleKeyboard(ev: KeyboardEvent): void {\n if (this.dialogRendered) {\n switch (ev.key) {\n case \"Tab\":\n if (this.onTabKeyPress(ev.shiftKey)) {\n ev.preventDefault();\n }\n break;\n case \"Escape\":\n if (!ev.repeat) {\n this.open = false;\n }\n ev.stopImmediatePropagation();\n break;\n }\n }\n }\n\n @Listen(\"click\", {})\n handleClick(ev: MouseEvent): void {\n if (\n this.dialogEl &&\n this.closeOnBackdropClick &&\n ev.composedPath().indexOf(this.dialogEl) <= 0\n ) {\n const { top, height, left, width } =\n this.dialogEl.getBoundingClientRect();\n const isInDialog =\n top <= ev.clientY &&\n ev.clientY <= top + height &&\n left <= ev.clientX &&\n ev.clientX <= left + width;\n if (!isInDialog) {\n this.open = false;\n }\n }\n }\n\n /**\n * Cancels the dialog. Used by the default 'Cancel' button or can be called manually to trigger cancelling of dialog.\n */\n @Method()\n async cancelDialog(): Promise<void> {\n this.icDialogCancelled.emit();\n this.open = false;\n }\n\n /**\n * Confirms the dialog. Used by the default 'Confirm' button or can be called manually to trigger confirming of dialog.\n */\n @Method()\n async confirmDialog(): Promise<void> {\n this.icDialogConfirmed.emit();\n }\n\n private dialogOpened = () => {\n this.dialogRendered = true;\n\n if (this.disableHeightConstraint) {\n this.dialogEl?.show();\n } else {\n this.dialogEl?.showModal();\n }\n\n setTimeout(() => {\n this.fadeIn = true;\n\n /**\n * This is required to set scroll back to top if:\n * - dialog content goes below the fold\n * - is closed using cancel or confirm and reopened.\n *\n * Without this, the scroll bar will start from the dialog's last scroll-x coordinate.\n */\n if (\n this.backdropEl &&\n this.disableHeightConstraint &&\n this.backdropEl.scrollTop !== 0\n ) {\n this.backdropEl.scrollTop = 0;\n }\n }, 10);\n\n setTimeout(() => {\n this.setInitialFocus();\n checkResizeObserver(this.runResizeObserver);\n }, 75);\n\n setTimeout(() => {\n this.icDialogOpened.emit();\n }, 80);\n };\n\n private runResizeObserver = () => {\n if (this.dialogEl) {\n this.resizeObserver = new ResizeObserver(() => {\n clearTimeout(this.resizeTimeout);\n this.resizeTimeout = window.setTimeout(this.resizeObserverCallback, 80);\n });\n this.resizeObserver.observe(this.dialogEl);\n }\n };\n\n private resizeObserverCallback = () => {\n if (this.dialogEl && this.dialogEl.clientHeight !== this.dialogHeight) {\n this.dialogHeight = this.dialogEl.clientHeight;\n }\n };\n\n private refreshInteractiveElementsOnSlotChange = () => {\n const contentWrapper = this.el.shadowRoot?.querySelector(\"#dialog-content\");\n\n if (contentWrapper) {\n this.contentArea = contentWrapper.querySelector(\"slot\");\n\n // Detect changes to slotted elements\n this.contentArea?.addEventListener(\n \"slotchange\",\n this.getInteractiveElements\n );\n\n this.contentAreaMutationObserver = new MutationObserver(() => {\n this.getInteractiveElements();\n });\n\n // Detect changes to children of slotted elements\n getSlotElements(contentWrapper)?.forEach((el) => {\n this.contentAreaMutationObserver?.observe(el, {\n childList: true,\n subtree: true,\n });\n });\n }\n };\n\n private removeSlotChangeListener = () => {\n if (this.contentArea) {\n this.contentArea.removeEventListener(\n \"slotchange\",\n this.getInteractiveElements\n );\n\n this.contentAreaMutationObserver?.disconnect();\n }\n };\n\n private setInitialFocus = () => {\n this.sourceElement = document.activeElement as HTMLElement;\n this.focusedElementIndex = this.interactiveElementList\n ? this.interactiveElementList.findIndex((element) =>\n element.hasAttribute(this.DATA_GETS_FOCUS)\n )\n : 0;\n this.focusElement(this.interactiveElementList[this.focusedElementIndex]);\n };\n\n private getFocusedElementIndex = () => {\n for (let i = 0; i < this.interactiveElementList.length; i++) {\n if (\n (this.interactiveElementList[i] as HTMLElement) ===\n (this.el.shadowRoot?.activeElement || document.activeElement)\n ) {\n this.focusedElementIndex = i;\n }\n }\n };\n\n private closeIconClick = () => {\n this.open = false;\n };\n\n private getInteractiveElements = () => {\n this.interactiveElementList = Array.from(\n this.el.shadowRoot?.querySelectorAll(\"ic-button\") || []\n );\n const slottedInteractiveElements = Array.from(\n this.el.querySelectorAll(\n `a[href], button, input:not(.ic-input), textarea, select, details, [tabindex]:not([tabindex=\"-1\"]),\n ic-button, ic-checkbox, ic-select, ic-search-bar, ic-tab-group, \n ic-back-to-top, ic-breadcrumb, ic-chip[dismissible=\"true\"], ic-footer-link, ic-link, ic-navigation-button,\n ic-navigation-item, ic-switch, ic-text-field, ic-accordion-group, ic-accordion, ic-date-input, ic-date-picker`\n )\n );\n if (slottedInteractiveElements.length > 0) {\n if (slottedInteractiveElements[0].slot !== this.DIALOG_CONTROLS) {\n slottedInteractiveElements[0].setAttribute(this.DATA_GETS_FOCUS, \"\");\n } else if (!this.destructive) {\n slottedInteractiveElements[\n slottedInteractiveElements.length - 1\n ].setAttribute(this.DATA_GETS_FOCUS, \"\");\n }\n }\n for (let i = 0; i < slottedInteractiveElements.length; i++) {\n this.interactiveElementList.splice(\n 1 + i,\n 0,\n slottedInteractiveElements[i] as HTMLElement\n );\n }\n };\n\n private getNextFocusEl = (focusedElementIndex: number) =>\n this.interactiveElementList[focusedElementIndex];\n\n private onTabKeyPress = (shiftKey: boolean): boolean => {\n this.getFocusedElementIndex();\n\n if (\n this.interactiveElementList[this.focusedElementIndex].tagName ===\n this.IC_SEARCH_BAR\n ) {\n return false;\n }\n\n this.setFocusIndexBasedOnShiftKey(shiftKey);\n this.loopNextFocusIndexIfLastElement();\n\n this.focusElement(this.getNextFocusEl(this.focusedElementIndex), shiftKey);\n return true;\n };\n\n private shouldSkipElement = (element: HTMLElement): boolean => {\n const isHidden =\n getComputedStyle(element).visibility === \"hidden\" ||\n element.offsetHeight === 0 ||\n element.hasAttribute(\"disabled\") ||\n (element.tagName === this.IC_ACCORDION_GROUP &&\n element.hasAttribute(\"single-expansion\"));\n\n const radioEl = element.closest(\"ic-radio-option\");\n\n return (\n isHidden ||\n (element.getAttribute(\"type\") === \"radio\" &&\n !!radioEl &&\n !(radioEl.hasAttribute(\"selected\") || element.tabIndex === 0))\n );\n };\n\n private focusElement = (element: HTMLElement, shiftKey = false) => {\n let nextFocusEl = element;\n\n if (this.shouldSkipElement(element)) {\n this.setFocusIndexBasedOnShiftKey(shiftKey);\n this.loopNextFocusIndexIfLastElement();\n\n nextFocusEl = this.getNextFocusEl(this.focusedElementIndex);\n this.focusElement(nextFocusEl, shiftKey);\n } else {\n switch (element.tagName) {\n case this.IC_ACCORDION_GROUP:\n case this.IC_ACCORDION:\n case this.IC_SEARCH_BAR:\n case this.IC_TEXT_FIELD:\n case this.IC_CHECKBOX:\n (element as IcFocusableComponents).setFocus();\n break;\n default:\n (element as HTMLElement).focus();\n }\n }\n };\n\n private loopNextFocusIndexIfLastElement() {\n if (this.focusedElementIndex > this.interactiveElementList.length - 1)\n this.focusedElementIndex = 0;\n else if (this.focusedElementIndex < 0) {\n this.focusedElementIndex = this.interactiveElementList.length - 1;\n }\n }\n\n private setFocusIndexBasedOnShiftKey(shiftKey: boolean) {\n if (shiftKey) {\n this.focusedElementIndex -= 1;\n } else {\n this.focusedElementIndex += 1;\n }\n }\n\n private renderDialog = () => {\n const {\n hideDefaultControls,\n size,\n heading,\n label,\n destructive,\n dismissLabel,\n hideCloseButton,\n disableHeightConstraint,\n disableWidthConstraint,\n closeIconClick,\n DIALOG_CONTROLS,\n } = this;\n\n const controlsSlotUsed = isSlotUsed(this.el, DIALOG_CONTROLS);\n\n return (\n <dialog\n class={{\n dialog: true,\n [`${size}`]: true,\n \"disable-height-constraint\": !!disableHeightConstraint,\n \"disable-width-constraint\": !!disableWidthConstraint,\n }}\n aria-labelledby=\"dialog-label dialog-heading\"\n aria-describedby=\"dialog-alert dialog-content\"\n ref={(el) => (this.dialogEl = el)}\n >\n <div class=\"heading-area\">\n <div class=\"heading-content\">\n <div class=\"label\">\n <slot name=\"label\">\n <ic-typography variant=\"label\" id=\"dialog-label\">\n {label}\n </ic-typography>\n </slot>\n </div>\n <div class=\"heading\">\n <slot name=\"heading\">\n <ic-typography variant=\"h4\" id=\"dialog-heading\">\n {heading}\n </ic-typography>\n </slot>\n </div>\n </div>\n {!hideCloseButton && (\n <ic-button\n class=\"close-icon\"\n variant=\"icon\"\n innerHTML={closeIcon}\n aria-label={dismissLabel}\n onClick={closeIconClick}\n data-gets-focus={\n destructive || (hideDefaultControls && !controlsSlotUsed)\n ? \"\"\n : null\n }\n ></ic-button>\n )}\n </div>\n <div class=\"content-area\">\n {isSlotUsed(this.el, \"alert\") && <slot name=\"alert\" />}\n <div id=\"dialog-content\">\n <slot />\n </div>\n </div>\n {(controlsSlotUsed || !hideDefaultControls) && (\n <div\n class={{\n [DIALOG_CONTROLS]: true,\n }}\n >\n {controlsSlotUsed ? (\n <slot name={DIALOG_CONTROLS} />\n ) : (\n <Fragment>\n <ic-button\n variant=\"tertiary\"\n onClick={() => this.cancelDialog()}\n class=\"dialog-control-button\"\n data-gets-focus={null}\n >\n Cancel\n </ic-button>\n <ic-button\n variant={destructive ? \"destructive\" : \"primary\"}\n onClick={() => this.confirmDialog()}\n class=\"dialog-control-button\"\n data-gets-focus=\"\"\n >\n Confirm\n </ic-button>\n </Fragment>\n )}\n </div>\n )}\n </dialog>\n );\n };\n\n render() {\n const { dialogRendered, disableHeightConstraint, fadeIn, theme } = this;\n\n return (\n <Host\n class={{\n \"ic-dialog-hidden\": !dialogRendered,\n \"ic-dialog-fade-in\": fadeIn,\n \"disable-height-constraint\": !!disableHeightConstraint,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n {disableHeightConstraint ? (\n <div class=\"backdrop\" ref={(el) => (this.backdropEl = el)}>\n {this.renderDialog()}\n </div>\n ) : (\n this.renderDialog()\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-dialog.js","sourceRoot":"","sources":["../../../src/components/ic-dialog/ic-dialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n State,\n Method,\n Listen,\n Watch,\n h,\n Fragment,\n} from \"@stencil/core\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport {\n isSlotUsed,\n checkResizeObserver,\n onComponentRequiredPropUndefined,\n getSlotElements,\n} from \"../../utils/helpers\";\nimport { IcFocusableComponents, IcThemeMode } from \"../../utils/types\";\n\n/**\n * @slot dialog-controls - Content will be place at the bottom of the dialog.\n * @slot heading - Content will be placed at the top of the dialog.\n * @slot label - Content will be placed above the dialog heading.\n * @slot alert - Content will be placed at the top of the content area of the dialog.\n */\n@Component({\n tag: \"ic-dialog\",\n styleUrl: \"ic-dialog.css\",\n shadow: true,\n})\nexport class Dialog {\n private backdropEl?: HTMLDivElement;\n private contentArea: HTMLSlotElement | null;\n private contentAreaMutationObserver: MutationObserver | null = null;\n private DATA_GETS_FOCUS: string = \"data-gets-focus\";\n private DIALOG_CONTROLS: string = \"dialog-controls\";\n private dialogEl?: HTMLDialogElement;\n private dialogHeight: number = 0;\n private focusedElementIndex = 0;\n private IC_TEXT_FIELD: string = \"IC-TEXT-FIELD\";\n private IC_ACCORDION: string = \"IC-ACCORDION\";\n private IC_ACCORDION_GROUP: string = \"IC-ACCORDION-GROUP\";\n private IC_CHECKBOX = \"IC-CHECKBOX\";\n private IC_SEARCH_BAR: string = \"IC-SEARCH-BAR\";\n private IC_TAB_CONTEXT: string = \"IC-TAB-CONTEXT\";\n private interactiveElementList: HTMLElement[];\n private resizeObserver: ResizeObserver | null = null;\n private resizeTimeout: number;\n private sourceElement: HTMLElement;\n\n @Element() el: HTMLIcDialogElement;\n\n @State() dialogRendered: boolean = false;\n @State() fadeIn: boolean = false;\n\n /**\n * If set to `false`, the dialog will not close when the backdrop is clicked.\n */\n @Prop() closeOnBackdropClick?: boolean = true;\n\n /**\n * If 'true', sets the 'primary' or rightmost button to the destructive variant. Stops initial focus being set on the 'primary' or rightmost default or slotted button.\n */\n @Prop() destructive?: boolean = false;\n\n /**\n * Sets the dismiss label tooltip and aria label.\n */\n @Prop() dismissLabel?: string = \"Dismiss\";\n\n /**\n * If set to `true`, the content area max height and overflow properties are removed allowing the dialog to stretch below the fold.\n * This prop also prevents popover elements from being cut off within the content area.\n */\n @Prop() disableHeightConstraint?: boolean = false;\n\n /**\n * If set to `true`, the content area width property is removed, allowing content to take the full width of the dialog when using the large variant.\n */\n @Prop() disableWidthConstraint?: boolean = false;\n\n /**\n * If `true`, the close button will not be displayed.\n */\n @Prop() hideCloseButton?: boolean = false;\n\n /**\n * If set to `true`, default button controls will not be shown, but slotted dialog controls will still be displayed.\n */\n @Prop() hideDefaultControls: boolean = false;\n\n /**\n * Sets the heading for the dialog.\n */\n @Prop() heading?: string;\n\n /**\n * Sets the optional label for the dialog which appears above the heading.\n */\n @Prop() label?: string;\n\n /**\n * If `true`, the dialog will be displayed.\n */\n @Prop({ reflect: true, mutable: true }) open?: boolean = false;\n\n @Watch(\"open\")\n watchOpenHandler(): void {\n if (this.open) {\n this.dialogOpened();\n } else {\n this.fadeIn = false;\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n setTimeout(() => {\n this.dialogRendered = false;\n this.dialogEl?.close();\n this.sourceElement?.focus();\n this.dialogHeight = 0;\n this.icDialogClosed.emit();\n }, 80);\n }\n }\n\n /**\n * Sets the maximum and minimum height and width for the dialog.\n */\n @Prop() size?: \"small\" | \"medium\" | \"large\" = \"small\";\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * Cancelation event emitted when default 'Cancel' button clicked or 'cancelDialog' method is called.\n */\n @Event() icDialogCancelled: EventEmitter<void>;\n\n /**\n * Emitted when dialog has closed.\n */\n @Event() icDialogClosed: EventEmitter<void>;\n\n /**\n * Confirmation event emitted when default 'Confirm' primary button clicked or 'confirmDialog' method is called.\n */\n @Event() icDialogConfirmed: EventEmitter<void>;\n\n /**\n * Emitted when dialog has opened.\n */\n @Event() icDialogOpened: EventEmitter<void>;\n\n disconnectedCallback(): void {\n this.removeSlotChangeListener();\n }\n\n componentDidLoad(): void {\n this.getInteractiveElements();\n\n this.refreshInteractiveElementsOnSlotChange();\n\n if (this.open) {\n this.dialogOpened();\n }\n\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Dialog\"\n );\n }\n\n componentDidRender(): void {\n document.body.style.overflow =\n getComputedStyle(this.el).display !== \"none\" &&\n this.disableHeightConstraint\n ? \"hidden\"\n : \"auto\";\n }\n\n @Listen(\"keydown\", { target: \"document\" })\n handleKeyboard(ev: KeyboardEvent): void {\n if (this.dialogRendered) {\n switch (ev.key) {\n case \"Tab\":\n if (this.onTabKeyPress(ev.shiftKey)) {\n ev.preventDefault();\n }\n break;\n case \"Escape\":\n if (!ev.repeat) {\n this.open = false;\n }\n ev.stopImmediatePropagation();\n break;\n }\n }\n }\n\n @Listen(\"click\", {})\n handleClick(ev: MouseEvent): void {\n if (\n this.dialogEl &&\n this.closeOnBackdropClick &&\n ev.composedPath().indexOf(this.dialogEl) <= 0\n ) {\n const { top, height, left, width } =\n this.dialogEl.getBoundingClientRect();\n const isInDialog =\n top <= ev.clientY &&\n ev.clientY <= top + height &&\n left <= ev.clientX &&\n ev.clientX <= left + width;\n if (!isInDialog) {\n this.open = false;\n }\n }\n }\n\n /**\n * Cancels the dialog. Used by the default 'Cancel' button or can be called manually to trigger cancelling of dialog.\n */\n @Method()\n async cancelDialog(): Promise<void> {\n this.icDialogCancelled.emit();\n this.open = false;\n }\n\n /**\n * Confirms the dialog. Used by the default 'Confirm' button or can be called manually to trigger confirming of dialog.\n */\n @Method()\n async confirmDialog(): Promise<void> {\n this.icDialogConfirmed.emit();\n }\n\n private dialogOpened = () => {\n this.dialogRendered = true;\n\n if (this.disableHeightConstraint) {\n this.dialogEl?.show();\n } else {\n this.dialogEl?.showModal();\n }\n\n setTimeout(() => {\n this.fadeIn = true;\n\n /**\n * This is required to set scroll back to top if:\n * - dialog content goes below the fold\n * - is closed using cancel or confirm and reopened.\n *\n * Without this, the scroll bar will start from the dialog's last scroll-x coordinate.\n */\n if (\n this.backdropEl &&\n this.disableHeightConstraint &&\n this.backdropEl.scrollTop !== 0\n ) {\n this.backdropEl.scrollTop = 0;\n }\n }, 10);\n\n setTimeout(() => {\n this.setInitialFocus();\n checkResizeObserver(this.runResizeObserver);\n }, 75);\n\n setTimeout(() => {\n this.icDialogOpened.emit();\n }, 80);\n };\n\n private runResizeObserver = () => {\n if (this.dialogEl) {\n this.resizeObserver = new ResizeObserver(() => {\n clearTimeout(this.resizeTimeout);\n this.resizeTimeout = window.setTimeout(this.resizeObserverCallback, 80);\n });\n this.resizeObserver.observe(this.dialogEl);\n }\n };\n\n private resizeObserverCallback = () => {\n if (this.dialogEl && this.dialogEl.clientHeight !== this.dialogHeight) {\n this.dialogHeight = this.dialogEl.clientHeight;\n }\n };\n\n private refreshInteractiveElementsOnSlotChange = () => {\n const contentWrapper = this.el.shadowRoot?.querySelector(\"#dialog-content\");\n\n if (contentWrapper) {\n this.contentArea = contentWrapper.querySelector(\"slot\");\n\n // Detect changes to slotted elements\n this.contentArea?.addEventListener(\n \"slotchange\",\n this.getInteractiveElements\n );\n\n this.contentAreaMutationObserver = new MutationObserver(() => {\n this.getInteractiveElements();\n });\n\n // Detect changes to children of slotted elements\n getSlotElements(contentWrapper)?.forEach((el) => {\n this.contentAreaMutationObserver?.observe(el, {\n childList: true,\n subtree: true,\n });\n });\n }\n };\n\n private removeSlotChangeListener = () => {\n if (this.contentArea) {\n this.contentArea.removeEventListener(\n \"slotchange\",\n this.getInteractiveElements\n );\n\n this.contentAreaMutationObserver?.disconnect();\n }\n };\n\n private setInitialFocus = () => {\n this.sourceElement = document.activeElement as HTMLElement;\n this.focusedElementIndex = this.interactiveElementList\n ? this.interactiveElementList.findIndex((element) =>\n element.hasAttribute(this.DATA_GETS_FOCUS)\n )\n : 0;\n this.focusElement(this.interactiveElementList[this.focusedElementIndex]);\n };\n\n private getFocusedElementIndex = () => {\n for (let i = 0; i < this.interactiveElementList.length; i++) {\n if (\n (this.interactiveElementList[i] as HTMLElement) ===\n (this.el.shadowRoot?.activeElement || document.activeElement)\n ) {\n this.focusedElementIndex = i;\n }\n }\n };\n\n private closeIconClick = () => {\n this.open = false;\n };\n\n private getInteractiveElements = () => {\n this.interactiveElementList = Array.from(\n this.el.shadowRoot?.querySelectorAll(\"ic-button\") || []\n );\n const slottedInteractiveElements = Array.from(\n this.el.querySelectorAll(\n `a[href], button, input:not(.ic-input), textarea, select, details, [tabindex]:not([tabindex=\"-1\"]),\n ic-button, ic-checkbox, ic-select, ic-search-bar, ic-tab-context,\n ic-back-to-top, ic-breadcrumb, ic-chip[dismissible=\"true\"], ic-footer-link, ic-link, ic-navigation-button,\n ic-navigation-item, ic-switch, ic-text-field, ic-accordion-group, ic-accordion, ic-date-input, ic-date-picker`\n )\n );\n if (slottedInteractiveElements.length > 0) {\n if (slottedInteractiveElements[0].slot !== this.DIALOG_CONTROLS) {\n slottedInteractiveElements[0].setAttribute(this.DATA_GETS_FOCUS, \"\");\n } else if (!this.destructive) {\n slottedInteractiveElements[\n slottedInteractiveElements.length - 1\n ].setAttribute(this.DATA_GETS_FOCUS, \"\");\n }\n }\n for (let i = 0; i < slottedInteractiveElements.length; i++) {\n this.interactiveElementList.splice(\n 1 + i,\n 0,\n slottedInteractiveElements[i] as HTMLElement\n );\n }\n };\n\n private getNextFocusEl = (focusedElementIndex: number) =>\n this.interactiveElementList[focusedElementIndex];\n\n private onTabKeyPress = (shiftKey: boolean): boolean => {\n this.getFocusedElementIndex();\n\n if (\n this.interactiveElementList[this.focusedElementIndex].tagName ===\n this.IC_SEARCH_BAR\n ) {\n return false;\n }\n\n this.setFocusIndexBasedOnShiftKey(shiftKey);\n this.loopNextFocusIndexIfLastElement();\n\n this.focusElement(this.getNextFocusEl(this.focusedElementIndex), shiftKey);\n return true;\n };\n\n private shouldSkipElement = (element: HTMLElement): boolean => {\n const isHidden =\n getComputedStyle(element).visibility === \"hidden\" ||\n element.offsetHeight === 0 ||\n element.hasAttribute(\"disabled\") ||\n (element.tagName === this.IC_ACCORDION_GROUP &&\n element.hasAttribute(\"single-expansion\"));\n\n const radioEl = element.closest(\"ic-radio-option\");\n\n return (\n isHidden ||\n (element.getAttribute(\"type\") === \"radio\" &&\n !!radioEl &&\n !(radioEl.hasAttribute(\"selected\") || element.tabIndex === 0))\n );\n };\n\n private focusElement = (element: HTMLElement, shiftKey = false) => {\n let nextFocusEl = element;\n\n if (this.shouldSkipElement(element)) {\n this.setFocusIndexBasedOnShiftKey(shiftKey);\n this.loopNextFocusIndexIfLastElement();\n\n nextFocusEl = this.getNextFocusEl(this.focusedElementIndex);\n this.focusElement(nextFocusEl, shiftKey);\n } else {\n switch (element.tagName) {\n case this.IC_ACCORDION_GROUP:\n case this.IC_ACCORDION:\n case this.IC_SEARCH_BAR:\n case this.IC_TEXT_FIELD:\n case this.IC_CHECKBOX:\n case this.IC_TAB_CONTEXT:\n (element as IcFocusableComponents).setFocus();\n break;\n default:\n (element as HTMLElement).focus();\n }\n }\n };\n\n private loopNextFocusIndexIfLastElement() {\n if (this.focusedElementIndex > this.interactiveElementList.length - 1)\n this.focusedElementIndex = 0;\n else if (this.focusedElementIndex < 0) {\n this.focusedElementIndex = this.interactiveElementList.length - 1;\n }\n }\n\n private setFocusIndexBasedOnShiftKey(shiftKey: boolean) {\n if (shiftKey) {\n this.focusedElementIndex -= 1;\n } else {\n this.focusedElementIndex += 1;\n }\n }\n\n private renderDialog = () => {\n const {\n hideDefaultControls,\n size,\n heading,\n label,\n destructive,\n dismissLabel,\n hideCloseButton,\n disableHeightConstraint,\n disableWidthConstraint,\n closeIconClick,\n DIALOG_CONTROLS,\n } = this;\n\n const controlsSlotUsed = isSlotUsed(this.el, DIALOG_CONTROLS);\n\n return (\n <dialog\n class={{\n dialog: true,\n [`${size}`]: true,\n \"disable-height-constraint\": !!disableHeightConstraint,\n \"disable-width-constraint\": !!disableWidthConstraint,\n }}\n aria-labelledby=\"dialog-label dialog-heading\"\n aria-describedby=\"dialog-alert dialog-content\"\n ref={(el) => (this.dialogEl = el)}\n >\n <div class=\"heading-area\">\n <div class=\"heading-content\">\n <div class=\"label\">\n <slot name=\"label\">\n <ic-typography variant=\"label\" id=\"dialog-label\">\n {label}\n </ic-typography>\n </slot>\n </div>\n <div class=\"heading\">\n <slot name=\"heading\">\n <ic-typography variant=\"h4\" id=\"dialog-heading\">\n {heading}\n </ic-typography>\n </slot>\n </div>\n </div>\n {!hideCloseButton && (\n <ic-button\n class=\"close-icon\"\n variant=\"icon-tertiary\"\n innerHTML={closeIcon}\n aria-label={dismissLabel}\n onClick={closeIconClick}\n data-gets-focus={\n destructive || (hideDefaultControls && !controlsSlotUsed)\n ? \"\"\n : null\n }\n ></ic-button>\n )}\n </div>\n <div class=\"content-area\">\n {isSlotUsed(this.el, \"alert\") && <slot name=\"alert\" />}\n <div id=\"dialog-content\">\n <slot />\n </div>\n </div>\n {(controlsSlotUsed || !hideDefaultControls) && (\n <div\n class={{\n [DIALOG_CONTROLS]: true,\n }}\n >\n {controlsSlotUsed ? (\n <slot name={DIALOG_CONTROLS} />\n ) : (\n <Fragment>\n <ic-button\n variant=\"tertiary\"\n onClick={() => this.cancelDialog()}\n class=\"dialog-control-button\"\n data-gets-focus={null}\n >\n Cancel\n </ic-button>\n <ic-button\n variant={destructive ? \"destructive\" : \"primary\"}\n onClick={() => this.confirmDialog()}\n class=\"dialog-control-button\"\n data-gets-focus=\"\"\n >\n Confirm\n </ic-button>\n </Fragment>\n )}\n </div>\n )}\n </dialog>\n );\n };\n\n render() {\n const { dialogRendered, disableHeightConstraint, fadeIn, theme } = this;\n\n return (\n <Host\n class={{\n \"ic-dialog-hidden\": !dialogRendered,\n \"ic-dialog-fade-in\": fadeIn,\n \"disable-height-constraint\": !!disableHeightConstraint,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n {disableHeightConstraint ? (\n <div class=\"backdrop\" ref={(el) => (this.backdropEl = el)}>\n {this.renderDialog()}\n </div>\n ) : (\n this.renderDialog()\n )}\n </Host>\n );\n }\n}\n"]}