@ukic/web-components 3.12.0 → 3.14.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 (561) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-478d1107.js → helpers-15fae358.js} +5 -1
  3. package/dist/cjs/helpers-15fae358.js.map +1 -0
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
  6. package/dist/cjs/ic-action-chip.cjs.entry.js +1 -1
  7. package/dist/cjs/ic-alert.cjs.entry.js +6 -4
  8. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-back-to-top.cjs.entry.js +6 -5
  10. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-badge.cjs.entry.js +3 -3
  12. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +3 -3
  13. package/dist/cjs/ic-breadcrumb.cjs.entry.js +5 -4
  14. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-button_3.cjs.entry.js +43 -19
  16. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-card-vertical.cjs.entry.js +5 -5
  18. package/dist/cjs/ic-checkbox-group.cjs.entry.js +9 -5
  19. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-checkbox.cjs.entry.js +5 -5
  21. package/dist/cjs/ic-chip.cjs.entry.js +4 -4
  22. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  23. package/dist/cjs/ic-data-row.cjs.entry.js +3 -3
  24. package/dist/cjs/ic-dialog.cjs.entry.js +39 -13
  25. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-divider.cjs.entry.js +3 -2
  27. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-empty-state.cjs.entry.js +3 -3
  29. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-footer-link.cjs.entry.js +3 -3
  31. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-hero.cjs.entry.js +8 -7
  33. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +6 -6
  35. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +18 -15
  36. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-input-label_2.cjs.entry.js +6 -6
  38. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +2 -2
  39. package/dist/cjs/ic-layout-grid.cjs.entry.js +2 -2
  40. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  41. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  42. package/dist/cjs/ic-menu-item.cjs.entry.js +3 -2
  43. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-navigation-button.cjs.entry.js +3 -3
  45. package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -2
  46. package/dist/cjs/ic-navigation-item.cjs.entry.js +4 -4
  47. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
  49. package/dist/cjs/ic-page-header.cjs.entry.js +8 -8
  50. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
  52. package/dist/cjs/ic-pagination.cjs.entry.js +5 -5
  53. package/dist/cjs/ic-popover-menu.cjs.entry.js +5 -5
  54. package/dist/cjs/ic-radio-group.cjs.entry.js +5 -5
  55. package/dist/cjs/ic-radio-option.cjs.entry.js +5 -5
  56. package/dist/cjs/ic-search-bar.cjs.entry.js +10 -10
  57. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  58. package/dist/cjs/ic-select.cjs.entry.js +20 -12
  59. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-side-navigation.cjs.entry.js +6 -6
  61. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  63. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  64. package/dist/cjs/ic-status-tag.cjs.entry.js +4 -4
  65. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-step.cjs.entry.js +15 -14
  67. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-stepper.cjs.entry.js +4 -3
  69. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-switch.cjs.entry.js +5 -5
  71. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  72. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  73. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  74. package/dist/cjs/ic-tab.cjs.entry.js +3 -3
  75. package/dist/cjs/ic-text-field.cjs.entry.js +12 -7
  76. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  78. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  79. package/dist/cjs/ic-toast.cjs.entry.js +8 -5
  80. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +8 -4
  82. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-toggle-button.cjs.entry.js +58 -45
  84. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-top-navigation.cjs.entry.js +6 -6
  86. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-typography.cjs.entry.js +3 -3
  88. package/dist/cjs/loader.cjs.js +1 -1
  89. package/dist/collection/collection-manifest.json +1 -1
  90. package/dist/collection/components/ic-alert/ic-alert.css +19 -29
  91. package/dist/collection/components/ic-alert/ic-alert.js +4 -2
  92. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  93. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +1 -1
  94. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +4 -3
  95. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  96. package/dist/collection/components/ic-badge/ic-badge.js +2 -2
  97. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +5 -4
  98. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +3 -2
  99. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  100. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +2 -2
  101. package/dist/collection/components/ic-button/ic-button.js +36 -11
  102. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  103. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +4 -4
  104. package/dist/collection/components/ic-checkbox/ic-checkbox.js +4 -4
  105. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +34 -4
  106. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  107. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +163 -0
  108. package/dist/collection/components/ic-chip/ic-chip.js +3 -3
  109. package/dist/collection/components/ic-data-list/ic-data-list.js +2 -2
  110. package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
  111. package/dist/collection/components/ic-dialog/ic-dialog.css +1 -1
  112. package/dist/collection/components/ic-dialog/ic-dialog.js +38 -12
  113. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  114. package/dist/collection/components/ic-divider/ic-divider.css +89 -89
  115. package/dist/collection/components/ic-divider/ic-divider.js +2 -1
  116. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  117. package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
  118. package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
  119. package/dist/collection/components/ic-hero/ic-hero.css +4 -4
  120. package/dist/collection/components/ic-hero/ic-hero.js +6 -5
  121. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  122. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
  123. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
  124. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  125. package/dist/collection/components/ic-input-label/ic-input-label.js +2 -2
  126. package/dist/collection/components/ic-input-validation/ic-input-validation.js +3 -3
  127. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js +2 -2
  128. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js +2 -2
  129. package/dist/collection/components/ic-link/ic-link.js +1 -1
  130. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +4 -4
  131. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +6 -5
  132. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  133. package/dist/collection/components/ic-menu/ic-menu.js +12 -9
  134. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  135. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  136. package/dist/collection/components/ic-menu-item/ic-menu-item.css +6 -6
  137. package/dist/collection/components/ic-menu-item/ic-menu-item.js +1 -0
  138. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  139. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +2 -2
  140. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
  141. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +9 -0
  142. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +2 -2
  143. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  144. package/dist/collection/components/ic-page-header/ic-page-header.css +4 -0
  145. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  146. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  147. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  148. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -4
  149. package/dist/collection/components/ic-radio-group/ic-radio-group.js +4 -4
  150. package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -4
  151. package/dist/collection/components/ic-search-bar/ic-search-bar.js +9 -9
  152. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  153. package/dist/collection/components/ic-select/ic-select.js +20 -12
  154. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  155. package/dist/collection/components/ic-select/ic-select_(single).stories.js +74 -1
  156. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +2 -0
  157. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +4 -4
  158. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  159. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  160. package/dist/collection/components/ic-status-tag/ic-status-tag.css +1 -4
  161. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  162. package/dist/collection/components/ic-step/ic-step.js +16 -15
  163. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  164. package/dist/collection/components/ic-step/ic-step.types.js.map +1 -1
  165. package/dist/collection/components/ic-stepper/ic-stepper.js +5 -4
  166. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  167. package/dist/collection/components/ic-stepper/ic-stepper.stories.js +2 -1
  168. package/dist/collection/components/ic-switch/ic-switch.js +4 -4
  169. package/dist/collection/components/ic-tab/ic-tab.js +2 -2
  170. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
  171. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  172. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  173. package/dist/collection/components/ic-text-field/ic-text-field.js +17 -11
  174. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  175. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +22 -0
  176. package/dist/collection/components/ic-text-field/ic-text-field.types.js.map +1 -1
  177. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  178. package/dist/collection/components/ic-toast/ic-toast.css +6 -6
  179. package/dist/collection/components/ic-toast/ic-toast.js +6 -3
  180. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  181. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  182. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +57 -44
  183. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  184. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +7 -3
  185. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  186. package/dist/collection/components/ic-tooltip/ic-tooltip.js +3 -3
  187. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  188. package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +37 -109
  189. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +13 -10
  190. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +4 -4
  191. package/dist/collection/components/ic-typography/ic-typography.js +2 -2
  192. package/dist/collection/icds-table-style.css +66 -0
  193. package/dist/collection/utils/helpers.js +3 -0
  194. package/dist/collection/utils/helpers.js.map +1 -1
  195. package/dist/collection/utils/types.js.map +1 -1
  196. package/dist/components/helpers.js +4 -1
  197. package/dist/components/helpers.js.map +1 -1
  198. package/dist/components/ic-action-chip.js +1 -1
  199. package/dist/components/ic-alert.js +6 -4
  200. package/dist/components/ic-alert.js.map +1 -1
  201. package/dist/components/ic-back-to-top.js +6 -5
  202. package/dist/components/ic-back-to-top.js.map +1 -1
  203. package/dist/components/ic-badge.js +3 -3
  204. package/dist/components/ic-breadcrumb-group.js +3 -3
  205. package/dist/components/ic-breadcrumb2.js +5 -4
  206. package/dist/components/ic-breadcrumb2.js.map +1 -1
  207. package/dist/components/ic-button2.js +35 -11
  208. package/dist/components/ic-button2.js.map +1 -1
  209. package/dist/components/ic-card-vertical.js +5 -5
  210. package/dist/components/ic-checkbox-group.js +10 -5
  211. package/dist/components/ic-checkbox-group.js.map +1 -1
  212. package/dist/components/ic-checkbox.js +5 -5
  213. package/dist/components/ic-chip.js +4 -4
  214. package/dist/components/ic-data-list.js +2 -2
  215. package/dist/components/ic-data-row.js +3 -3
  216. package/dist/components/ic-dialog.js +39 -13
  217. package/dist/components/ic-dialog.js.map +1 -1
  218. package/dist/components/ic-divider2.js +3 -2
  219. package/dist/components/ic-divider2.js.map +1 -1
  220. package/dist/components/ic-empty-state.js +3 -3
  221. package/dist/components/ic-footer-link-group.js +1 -1
  222. package/dist/components/ic-footer-link.js +3 -3
  223. package/dist/components/ic-footer.js +1 -1
  224. package/dist/components/ic-hero.js +8 -7
  225. package/dist/components/ic-hero.js.map +1 -1
  226. package/dist/components/ic-horizontal-scroll2.js +6 -6
  227. package/dist/components/ic-input-component-container2.js +4 -4
  228. package/dist/components/ic-input-container2.js +2 -2
  229. package/dist/components/ic-input-label2.js +3 -3
  230. package/dist/components/ic-input-validation2.js +4 -4
  231. package/dist/components/ic-layout-grid-item.js +2 -2
  232. package/dist/components/ic-layout-grid.js +2 -2
  233. package/dist/components/ic-link2.js +1 -1
  234. package/dist/components/ic-loading-indicator2.js +7 -6
  235. package/dist/components/ic-loading-indicator2.js.map +1 -1
  236. package/dist/components/ic-menu-group.js +2 -2
  237. package/dist/components/ic-menu-item2.js +3 -2
  238. package/dist/components/ic-menu-item2.js.map +1 -1
  239. package/dist/components/ic-menu2.js +13 -10
  240. package/dist/components/ic-menu2.js.map +1 -1
  241. package/dist/components/ic-navigation-button.js +3 -3
  242. package/dist/components/ic-navigation-group.js +2 -2
  243. package/dist/components/ic-navigation-item.js +4 -4
  244. package/dist/components/ic-navigation-item.js.map +1 -1
  245. package/dist/components/ic-navigation-menu2.js +5 -5
  246. package/dist/components/ic-page-header.js +8 -8
  247. package/dist/components/ic-page-header.js.map +1 -1
  248. package/dist/components/ic-pagination-item2.js +2 -2
  249. package/dist/components/ic-pagination.js +4 -4
  250. package/dist/components/ic-popover-menu.js +5 -5
  251. package/dist/components/ic-radio-group.js +5 -5
  252. package/dist/components/ic-radio-group.js.map +1 -1
  253. package/dist/components/ic-radio-option.js +5 -5
  254. package/dist/components/ic-search-bar.js +10 -10
  255. package/dist/components/ic-section-container2.js +2 -2
  256. package/dist/components/ic-select.js +20 -12
  257. package/dist/components/ic-select.js.map +1 -1
  258. package/dist/components/ic-side-navigation.js +6 -6
  259. package/dist/components/ic-side-navigation.js.map +1 -1
  260. package/dist/components/ic-skeleton.js +2 -2
  261. package/dist/components/ic-skip-link.js +2 -2
  262. package/dist/components/ic-status-tag.js +3 -3
  263. package/dist/components/ic-status-tag.js.map +1 -1
  264. package/dist/components/ic-step.js +15 -14
  265. package/dist/components/ic-step.js.map +1 -1
  266. package/dist/components/ic-stepper.js +3 -2
  267. package/dist/components/ic-stepper.js.map +1 -1
  268. package/dist/components/ic-switch.js +5 -5
  269. package/dist/components/ic-tab-context.js +1 -1
  270. package/dist/components/ic-tab-group.js +2 -2
  271. package/dist/components/ic-tab-panel.js +2 -2
  272. package/dist/components/ic-tab.js +2 -2
  273. package/dist/components/ic-text-field.js +12 -7
  274. package/dist/components/ic-text-field.js.map +1 -1
  275. package/dist/components/ic-theme.js +2 -2
  276. package/dist/components/ic-toast-region.js +1 -1
  277. package/dist/components/ic-toast.js +8 -5
  278. package/dist/components/ic-toast.js.map +1 -1
  279. package/dist/components/ic-toggle-button-group.js +7 -3
  280. package/dist/components/ic-toggle-button-group.js.map +1 -1
  281. package/dist/components/ic-toggle-button.js +58 -45
  282. package/dist/components/ic-toggle-button.js.map +1 -1
  283. package/dist/components/ic-tooltip2.js +3 -3
  284. package/dist/components/ic-tooltip2.js.map +1 -1
  285. package/dist/components/ic-top-navigation.js +6 -6
  286. package/dist/components/ic-top-navigation.js.map +1 -1
  287. package/dist/components/ic-typography2.js +2 -2
  288. package/dist/core/core.css +11 -8
  289. package/dist/core/core.esm.js +1 -1
  290. package/dist/core/core.esm.js.map +1 -1
  291. package/dist/core/icds-table-style.css +66 -0
  292. package/dist/core/p-0257d59e.entry.js +2 -0
  293. package/dist/core/p-0257d59e.entry.js.map +1 -0
  294. package/dist/core/p-042cfc35.entry.js +2 -0
  295. package/dist/core/p-042cfc35.entry.js.map +1 -0
  296. package/dist/core/{p-514daffe.entry.js → p-053ed367.entry.js} +2 -2
  297. package/dist/core/{p-54803e3b.entry.js → p-06b3ae40.entry.js} +2 -2
  298. package/dist/core/{p-95d3d1a7.entry.js → p-091a7fbf.entry.js} +2 -2
  299. package/dist/core/{p-4747c39f.entry.js → p-09c31ac6.entry.js} +2 -2
  300. package/dist/core/{p-01e018cb.entry.js → p-0b1ea961.entry.js} +2 -2
  301. package/dist/core/{p-cf868a24.entry.js → p-0cbd0967.entry.js} +2 -2
  302. package/dist/core/p-0cbd0967.entry.js.map +1 -0
  303. package/dist/core/{p-33582352.entry.js → p-109e7fce.entry.js} +2 -2
  304. package/dist/core/{p-99793b64.entry.js → p-199c5ff6.entry.js} +2 -2
  305. package/dist/core/p-2026f4fa.entry.js +2 -0
  306. package/dist/core/p-2026f4fa.entry.js.map +1 -0
  307. package/dist/core/p-24d46cab.entry.js +2 -0
  308. package/dist/core/p-24d46cab.entry.js.map +1 -0
  309. package/dist/core/{p-228bc12d.entry.js → p-2969b5c9.entry.js} +2 -2
  310. package/dist/core/{p-c975cced.entry.js → p-296a41ce.entry.js} +2 -2
  311. package/dist/core/p-30312243.entry.js +2 -0
  312. package/dist/core/p-30312243.entry.js.map +1 -0
  313. package/dist/core/p-355d0914.entry.js +2 -0
  314. package/dist/core/p-355d0914.entry.js.map +1 -0
  315. package/dist/core/{p-1423bd4a.entry.js → p-3785c740.entry.js} +2 -2
  316. package/dist/core/{p-8684efeb.entry.js → p-3a94849e.entry.js} +2 -2
  317. package/dist/core/{p-a06c1e4e.entry.js → p-3b13d191.entry.js} +2 -2
  318. package/dist/core/{p-13e093d0.entry.js → p-411527a1.entry.js} +2 -2
  319. package/dist/core/{p-de32a223.entry.js → p-44fbe8c2.entry.js} +2 -2
  320. package/dist/core/{p-93479c36.entry.js → p-4637c326.entry.js} +2 -2
  321. package/dist/core/{p-fb734a59.entry.js → p-48eb7299.entry.js} +2 -2
  322. package/dist/core/{p-b0376079.entry.js → p-4a358f09.entry.js} +2 -2
  323. package/dist/core/{p-e6dacbe2.entry.js → p-4bdeb62d.entry.js} +2 -2
  324. package/dist/core/{p-9cf6ccfd.entry.js → p-5cf704e3.entry.js} +2 -2
  325. package/dist/core/p-614953c5.entry.js +2 -0
  326. package/dist/core/p-614953c5.entry.js.map +1 -0
  327. package/dist/core/p-62b9e7bf.entry.js +2 -0
  328. package/dist/core/p-62b9e7bf.entry.js.map +1 -0
  329. package/dist/core/{p-05036675.entry.js → p-6996e94f.entry.js} +2 -2
  330. package/dist/core/p-6996e94f.entry.js.map +1 -0
  331. package/dist/core/{p-cc00cbce.entry.js → p-6e61c48a.entry.js} +2 -2
  332. package/dist/core/{p-33789b23.entry.js → p-6f60262e.entry.js} +3 -3
  333. package/dist/core/p-6f60262e.entry.js.map +1 -0
  334. package/dist/core/{p-d58ad080.entry.js → p-6fb29846.entry.js} +2 -2
  335. package/dist/core/p-6fb29846.entry.js.map +1 -0
  336. package/dist/core/p-77a6c3f7.entry.js +2 -0
  337. package/dist/core/p-77a6c3f7.entry.js.map +1 -0
  338. package/dist/core/p-7970cbed.entry.js +2 -0
  339. package/dist/core/p-7970cbed.entry.js.map +1 -0
  340. package/dist/core/{p-37d217b5.entry.js → p-889bb8db.entry.js} +2 -2
  341. package/dist/core/{p-c04e1fab.entry.js → p-8c7d6a85.entry.js} +2 -2
  342. package/dist/core/{p-6dbe70f1.entry.js → p-911b4aa4.entry.js} +2 -2
  343. package/dist/core/{p-57721431.entry.js → p-93e1ba0a.entry.js} +2 -2
  344. package/dist/core/{p-37daa8fe.entry.js → p-9c2e9189.entry.js} +2 -2
  345. package/dist/core/{p-8558b9b7.entry.js → p-a45de09d.entry.js} +2 -2
  346. package/dist/core/{p-b57e59b7.js → p-a5658054.js} +2 -2
  347. package/dist/core/p-a5658054.js.map +1 -0
  348. package/dist/core/{p-ea06792a.entry.js → p-a7f21494.entry.js} +2 -2
  349. package/dist/core/p-a8dc3162.entry.js +2 -0
  350. package/dist/core/p-a8dc3162.entry.js.map +1 -0
  351. package/dist/core/p-ab26beed.entry.js +2 -0
  352. package/dist/core/p-ab26beed.entry.js.map +1 -0
  353. package/dist/core/{p-2126d37b.entry.js → p-ad6632a9.entry.js} +2 -2
  354. package/dist/core/p-ae7dcbd5.entry.js +2 -0
  355. package/dist/core/p-ae7dcbd5.entry.js.map +1 -0
  356. package/dist/core/{p-9a8bcb78.entry.js → p-b00efb15.entry.js} +2 -2
  357. package/dist/core/p-b29e325f.entry.js +2 -0
  358. package/dist/core/{p-b9bdd9a9.entry.js → p-bba25812.entry.js} +2 -2
  359. package/dist/core/{p-27e67d45.entry.js → p-c397b33f.entry.js} +2 -2
  360. package/dist/core/{p-45097448.entry.js → p-c4ffcc64.entry.js} +2 -2
  361. package/dist/core/{p-675bb3e4.entry.js → p-d1cce122.entry.js} +2 -2
  362. package/dist/core/p-d20a61a7.entry.js +2 -0
  363. package/dist/core/p-d20a61a7.entry.js.map +1 -0
  364. package/dist/core/{p-492fcb51.entry.js → p-d8200098.entry.js} +2 -2
  365. package/dist/core/{p-80317cd1.entry.js → p-e0423c7e.entry.js} +2 -2
  366. package/dist/core/p-eb1823b3.entry.js +2 -0
  367. package/dist/core/p-eb1823b3.entry.js.map +1 -0
  368. package/dist/core/{p-b1838ad8.entry.js → p-ef397b6f.entry.js} +2 -2
  369. package/dist/core/p-ef397b6f.entry.js.map +1 -0
  370. package/dist/core/p-efc97f21.entry.js +2 -0
  371. package/dist/core/p-efc97f21.entry.js.map +1 -0
  372. package/dist/core/{p-b4a2f6fa.entry.js → p-f098e531.entry.js} +2 -2
  373. package/dist/core/{p-0ec76cff.entry.js → p-f247db14.entry.js} +2 -2
  374. package/dist/core/{p-813ad03c.entry.js → p-f4e2e41f.entry.js} +2 -2
  375. package/dist/core/{p-abd88929.entry.js → p-f7706ff7.entry.js} +2 -2
  376. package/dist/core/p-f7706ff7.entry.js.map +1 -0
  377. package/dist/core/{p-5fcfcfb6.entry.js → p-fb43abd6.entry.js} +2 -2
  378. package/dist/esm/core.js +1 -1
  379. package/dist/esm/{helpers-4ddac6ed.js → helpers-dcedb279.js} +5 -2
  380. package/dist/esm/helpers-dcedb279.js.map +1 -0
  381. package/dist/esm/ic-accordion-group.entry.js +1 -1
  382. package/dist/esm/ic-accordion.entry.js +1 -1
  383. package/dist/esm/ic-action-chip.entry.js +1 -1
  384. package/dist/esm/ic-alert.entry.js +6 -4
  385. package/dist/esm/ic-alert.entry.js.map +1 -1
  386. package/dist/esm/ic-back-to-top.entry.js +6 -5
  387. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  388. package/dist/esm/ic-badge.entry.js +3 -3
  389. package/dist/esm/ic-breadcrumb-group.entry.js +3 -3
  390. package/dist/esm/ic-breadcrumb.entry.js +5 -4
  391. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  392. package/dist/esm/ic-button_3.entry.js +43 -19
  393. package/dist/esm/ic-button_3.entry.js.map +1 -1
  394. package/dist/esm/ic-card-vertical.entry.js +5 -5
  395. package/dist/esm/ic-checkbox-group.entry.js +9 -5
  396. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  397. package/dist/esm/ic-checkbox.entry.js +5 -5
  398. package/dist/esm/ic-chip.entry.js +4 -4
  399. package/dist/esm/ic-data-list.entry.js +2 -2
  400. package/dist/esm/ic-data-row.entry.js +3 -3
  401. package/dist/esm/ic-dialog.entry.js +39 -13
  402. package/dist/esm/ic-dialog.entry.js.map +1 -1
  403. package/dist/esm/ic-divider.entry.js +3 -2
  404. package/dist/esm/ic-divider.entry.js.map +1 -1
  405. package/dist/esm/ic-empty-state.entry.js +3 -3
  406. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  407. package/dist/esm/ic-footer-link.entry.js +3 -3
  408. package/dist/esm/ic-footer.entry.js +1 -1
  409. package/dist/esm/ic-hero.entry.js +8 -7
  410. package/dist/esm/ic-hero.entry.js.map +1 -1
  411. package/dist/esm/ic-horizontal-scroll.entry.js +6 -6
  412. package/dist/esm/ic-input-component-container_3.entry.js +18 -15
  413. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  414. package/dist/esm/ic-input-label_2.entry.js +6 -6
  415. package/dist/esm/ic-layout-grid-item.entry.js +2 -2
  416. package/dist/esm/ic-layout-grid.entry.js +2 -2
  417. package/dist/esm/ic-link.entry.js +2 -2
  418. package/dist/esm/ic-menu-group.entry.js +2 -2
  419. package/dist/esm/ic-menu-item.entry.js +3 -2
  420. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  421. package/dist/esm/ic-navigation-button.entry.js +3 -3
  422. package/dist/esm/ic-navigation-group.entry.js +2 -2
  423. package/dist/esm/ic-navigation-item.entry.js +4 -4
  424. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  425. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  426. package/dist/esm/ic-page-header.entry.js +8 -8
  427. package/dist/esm/ic-page-header.entry.js.map +1 -1
  428. package/dist/esm/ic-pagination-item.entry.js +2 -2
  429. package/dist/esm/ic-pagination.entry.js +5 -5
  430. package/dist/esm/ic-popover-menu.entry.js +5 -5
  431. package/dist/esm/ic-radio-group.entry.js +5 -5
  432. package/dist/esm/ic-radio-option.entry.js +5 -5
  433. package/dist/esm/ic-search-bar.entry.js +10 -10
  434. package/dist/esm/ic-section-container.entry.js +2 -2
  435. package/dist/esm/ic-select.entry.js +20 -12
  436. package/dist/esm/ic-select.entry.js.map +1 -1
  437. package/dist/esm/ic-side-navigation.entry.js +6 -6
  438. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  439. package/dist/esm/ic-skeleton.entry.js +2 -2
  440. package/dist/esm/ic-skip-link.entry.js +2 -2
  441. package/dist/esm/ic-status-tag.entry.js +4 -4
  442. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  443. package/dist/esm/ic-step.entry.js +15 -14
  444. package/dist/esm/ic-step.entry.js.map +1 -1
  445. package/dist/esm/ic-stepper.entry.js +4 -3
  446. package/dist/esm/ic-stepper.entry.js.map +1 -1
  447. package/dist/esm/ic-switch.entry.js +5 -5
  448. package/dist/esm/ic-tab-context.entry.js +1 -1
  449. package/dist/esm/ic-tab-group.entry.js +3 -3
  450. package/dist/esm/ic-tab-panel.entry.js +2 -2
  451. package/dist/esm/ic-tab.entry.js +3 -3
  452. package/dist/esm/ic-text-field.entry.js +12 -7
  453. package/dist/esm/ic-text-field.entry.js.map +1 -1
  454. package/dist/esm/ic-theme.entry.js +2 -2
  455. package/dist/esm/ic-toast-region.entry.js +1 -1
  456. package/dist/esm/ic-toast.entry.js +8 -5
  457. package/dist/esm/ic-toast.entry.js.map +1 -1
  458. package/dist/esm/ic-toggle-button-group.entry.js +8 -4
  459. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  460. package/dist/esm/ic-toggle-button.entry.js +58 -45
  461. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  462. package/dist/esm/ic-top-navigation.entry.js +6 -6
  463. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  464. package/dist/esm/ic-typography.entry.js +3 -3
  465. package/dist/esm/loader.js +1 -1
  466. package/dist/types/components/ic-button/ic-button.d.ts +8 -2
  467. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +5 -1
  468. package/dist/types/components/ic-dialog/ic-dialog.d.ts +2 -1
  469. package/dist/types/components/ic-step/ic-step.types.d.ts +1 -0
  470. package/dist/types/components/ic-text-field/ic-text-field.d.ts +2 -4
  471. package/dist/types/components/ic-text-field/ic-text-field.types.d.ts +5 -0
  472. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +1 -0
  473. package/dist/types/components.d.ts +13 -5
  474. package/dist/types/utils/helpers.d.ts +1 -0
  475. package/dist/types/utils/types.d.ts +6 -2
  476. package/hydrate/index.js +369 -266
  477. package/hydrate/index.mjs +369 -266
  478. package/package.json +2 -2
  479. package/vscode-data.json +15 -0
  480. package/dist/cjs/helpers-478d1107.js.map +0 -1
  481. package/dist/core/p-0123dde7.entry.js +0 -2
  482. package/dist/core/p-0123dde7.entry.js.map +0 -1
  483. package/dist/core/p-02af2b59.entry.js +0 -2
  484. package/dist/core/p-02af2b59.entry.js.map +0 -1
  485. package/dist/core/p-05036675.entry.js.map +0 -1
  486. package/dist/core/p-0c36ce84.entry.js +0 -2
  487. package/dist/core/p-0c36ce84.entry.js.map +0 -1
  488. package/dist/core/p-25bef09d.entry.js +0 -2
  489. package/dist/core/p-2800fc30.entry.js +0 -2
  490. package/dist/core/p-2800fc30.entry.js.map +0 -1
  491. package/dist/core/p-33789b23.entry.js.map +0 -1
  492. package/dist/core/p-3e36f281.entry.js +0 -2
  493. package/dist/core/p-3e36f281.entry.js.map +0 -1
  494. package/dist/core/p-6058d4c9.entry.js +0 -2
  495. package/dist/core/p-6058d4c9.entry.js.map +0 -1
  496. package/dist/core/p-6e139e6e.entry.js +0 -2
  497. package/dist/core/p-6e139e6e.entry.js.map +0 -1
  498. package/dist/core/p-80e0f66e.entry.js +0 -2
  499. package/dist/core/p-80e0f66e.entry.js.map +0 -1
  500. package/dist/core/p-8b99a806.entry.js +0 -2
  501. package/dist/core/p-8b99a806.entry.js.map +0 -1
  502. package/dist/core/p-a1857d24.entry.js +0 -2
  503. package/dist/core/p-a1857d24.entry.js.map +0 -1
  504. package/dist/core/p-a1e2e029.entry.js +0 -2
  505. package/dist/core/p-a1e2e029.entry.js.map +0 -1
  506. package/dist/core/p-abd88929.entry.js.map +0 -1
  507. package/dist/core/p-b1838ad8.entry.js.map +0 -1
  508. package/dist/core/p-b57e59b7.js.map +0 -1
  509. package/dist/core/p-c2d5e301.entry.js +0 -2
  510. package/dist/core/p-c2d5e301.entry.js.map +0 -1
  511. package/dist/core/p-cf868a24.entry.js.map +0 -1
  512. package/dist/core/p-d58ad080.entry.js.map +0 -1
  513. package/dist/core/p-e9d28e02.entry.js +0 -2
  514. package/dist/core/p-e9d28e02.entry.js.map +0 -1
  515. package/dist/core/p-eb0e7153.entry.js +0 -2
  516. package/dist/core/p-eb0e7153.entry.js.map +0 -1
  517. package/dist/core/p-f609ca37.entry.js +0 -2
  518. package/dist/core/p-f609ca37.entry.js.map +0 -1
  519. package/dist/core/p-fb69fbc0.entry.js +0 -2
  520. package/dist/core/p-fb69fbc0.entry.js.map +0 -1
  521. package/dist/esm/helpers-4ddac6ed.js.map +0 -1
  522. /package/dist/core/{p-514daffe.entry.js.map → p-053ed367.entry.js.map} +0 -0
  523. /package/dist/core/{p-54803e3b.entry.js.map → p-06b3ae40.entry.js.map} +0 -0
  524. /package/dist/core/{p-95d3d1a7.entry.js.map → p-091a7fbf.entry.js.map} +0 -0
  525. /package/dist/core/{p-4747c39f.entry.js.map → p-09c31ac6.entry.js.map} +0 -0
  526. /package/dist/core/{p-01e018cb.entry.js.map → p-0b1ea961.entry.js.map} +0 -0
  527. /package/dist/core/{p-33582352.entry.js.map → p-109e7fce.entry.js.map} +0 -0
  528. /package/dist/core/{p-99793b64.entry.js.map → p-199c5ff6.entry.js.map} +0 -0
  529. /package/dist/core/{p-228bc12d.entry.js.map → p-2969b5c9.entry.js.map} +0 -0
  530. /package/dist/core/{p-c975cced.entry.js.map → p-296a41ce.entry.js.map} +0 -0
  531. /package/dist/core/{p-1423bd4a.entry.js.map → p-3785c740.entry.js.map} +0 -0
  532. /package/dist/core/{p-8684efeb.entry.js.map → p-3a94849e.entry.js.map} +0 -0
  533. /package/dist/core/{p-a06c1e4e.entry.js.map → p-3b13d191.entry.js.map} +0 -0
  534. /package/dist/core/{p-13e093d0.entry.js.map → p-411527a1.entry.js.map} +0 -0
  535. /package/dist/core/{p-de32a223.entry.js.map → p-44fbe8c2.entry.js.map} +0 -0
  536. /package/dist/core/{p-93479c36.entry.js.map → p-4637c326.entry.js.map} +0 -0
  537. /package/dist/core/{p-fb734a59.entry.js.map → p-48eb7299.entry.js.map} +0 -0
  538. /package/dist/core/{p-b0376079.entry.js.map → p-4a358f09.entry.js.map} +0 -0
  539. /package/dist/core/{p-e6dacbe2.entry.js.map → p-4bdeb62d.entry.js.map} +0 -0
  540. /package/dist/core/{p-9cf6ccfd.entry.js.map → p-5cf704e3.entry.js.map} +0 -0
  541. /package/dist/core/{p-cc00cbce.entry.js.map → p-6e61c48a.entry.js.map} +0 -0
  542. /package/dist/core/{p-37d217b5.entry.js.map → p-889bb8db.entry.js.map} +0 -0
  543. /package/dist/core/{p-c04e1fab.entry.js.map → p-8c7d6a85.entry.js.map} +0 -0
  544. /package/dist/core/{p-6dbe70f1.entry.js.map → p-911b4aa4.entry.js.map} +0 -0
  545. /package/dist/core/{p-57721431.entry.js.map → p-93e1ba0a.entry.js.map} +0 -0
  546. /package/dist/core/{p-37daa8fe.entry.js.map → p-9c2e9189.entry.js.map} +0 -0
  547. /package/dist/core/{p-8558b9b7.entry.js.map → p-a45de09d.entry.js.map} +0 -0
  548. /package/dist/core/{p-ea06792a.entry.js.map → p-a7f21494.entry.js.map} +0 -0
  549. /package/dist/core/{p-2126d37b.entry.js.map → p-ad6632a9.entry.js.map} +0 -0
  550. /package/dist/core/{p-9a8bcb78.entry.js.map → p-b00efb15.entry.js.map} +0 -0
  551. /package/dist/core/{p-25bef09d.entry.js.map → p-b29e325f.entry.js.map} +0 -0
  552. /package/dist/core/{p-b9bdd9a9.entry.js.map → p-bba25812.entry.js.map} +0 -0
  553. /package/dist/core/{p-27e67d45.entry.js.map → p-c397b33f.entry.js.map} +0 -0
  554. /package/dist/core/{p-45097448.entry.js.map → p-c4ffcc64.entry.js.map} +0 -0
  555. /package/dist/core/{p-675bb3e4.entry.js.map → p-d1cce122.entry.js.map} +0 -0
  556. /package/dist/core/{p-492fcb51.entry.js.map → p-d8200098.entry.js.map} +0 -0
  557. /package/dist/core/{p-80317cd1.entry.js.map → p-e0423c7e.entry.js.map} +0 -0
  558. /package/dist/core/{p-b4a2f6fa.entry.js.map → p-f098e531.entry.js.map} +0 -0
  559. /package/dist/core/{p-0ec76cff.entry.js.map → p-f247db14.entry.js.map} +0 -0
  560. /package/dist/core/{p-813ad03c.entry.js.map → p-f4e2e41f.entry.js.map} +0 -0
  561. /package/dist/core/{p-5fcfcfb6.entry.js.map → p-fb43abd6.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ic-checkbox-group.js","sourceRoot":"","sources":["../../../src/components/ic-checkbox-group/ic-checkbox-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Listen,\n Element,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\nimport {\n getInputDescribedByText,\n hasValidationStatus,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport {\n IcInformationStatusOrEmpty,\n IcSizes,\n IcThemeMode,\n} from \"../../utils/types\";\nimport { IcChangeEventDetail } from \"./ic-checkbox-group.types\";\n\nconst CHECKBOX_SELECTOR = \"ic-checkbox\";\n\n/**\n * @slot helper-text - Content is set as the helper text for the checkbox group.\n */\n@Component({\n tag: \"ic-checkbox-group\",\n styleUrl: \"ic-checkbox-group.css\",\n shadow: true,\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class CheckboxGroup {\n @Element() el: HTMLIcCheckboxGroupElement;\n\n /**\n * If `true`, the checkbox group will be set to the disabled state.\n */\n @Prop() disabled: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText: string = \"\";\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * The label for the checkbox group to be displayed.\n */\n @Prop() label!: string;\n\n /**\n * The name for the checkbox group to differentiate from other groups.\n */\n @Prop() name!: string;\n\n @Watch(\"label\")\n @Watch(\"name\")\n labelNameHandler(\n newValue: string,\n oldValue: string,\n propName: \"label\" | \"name\"\n ): void {\n Array.from(this.el.querySelectorAll(CHECKBOX_SELECTOR)).forEach(\n (checkbox) => {\n if (propName === \"label\") checkbox.groupLabel = newValue;\n else if (checkbox.name === oldValue) {\n // If the checkbox name has been set by the parent, then override it\n checkbox.name = newValue;\n }\n }\n );\n }\n\n /**\n * If `true`, the checkbox group will require a value.\n */\n @Prop() required: boolean = false;\n\n /**\n * The size of the checkboxes to be displayed. This does not affect the font size of the label.\n */\n @Prop() size: IcSizes = \"medium\";\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 @Watch(\"theme\")\n watchThemeHandler(newValue: IcThemeMode): void {\n Array.from(this.el.querySelectorAll(CHECKBOX_SELECTOR)).forEach(\n (checkbox) => {\n checkbox.theme = newValue;\n }\n );\n }\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message.\n */\n @Prop() validationText: string = \"\";\n\n /**\n * Emitted when a checkbox is checked.\n */\n @Event() icChange: EventEmitter<IcChangeEventDetail>;\n\n @Listen(\"icChange\")\n handleChange(ev: CustomEvent): void {\n //don't pass on the event if it has come from slotted text field\n //otherwise any icChange handler bound to the checkbox group will also run\n if ((ev.target as HTMLElement).tagName === \"IC-TEXT-FIELD\") {\n ev.stopImmediatePropagation();\n }\n }\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n this.watchThemeHandler(this.theme);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.name, propName: \"name\" },\n ],\n \"Checkbox Group\"\n );\n }\n\n @Listen(\"icCheck\")\n selectHandler({ target }: CustomEvent): void {\n const checkedOptions = Array.from(\n this.el.querySelectorAll(CHECKBOX_SELECTOR)\n ).filter(({ checked, disabled }) => checked && !disabled);\n this.icChange.emit({\n value: checkedOptions.map(({ value }) => value),\n checkedOptions: checkedOptions.map((opt) => ({\n checkbox: opt,\n textFieldValue: opt.querySelector(\"ic-text-field\")?.value,\n })),\n selectedOption: target as HTMLIcCheckboxElement,\n });\n }\n\n render() {\n const {\n disabled,\n helperText,\n hideLabel,\n label,\n name,\n required,\n size,\n theme,\n validationStatus,\n validationText,\n } = this;\n\n const describedBy = getInputDescribedByText(\n this.el,\n name,\n helperText !== \"\",\n validationStatus !== \"\"\n );\n\n const renderSRText = validationStatus === \"error\" || required || hideLabel;\n\n const showValidation = hasValidationStatus(validationStatus, disabled);\n\n return (\n <Host\n class={{\n \"ic-checkbox-group-disabled\": !!disabled,\n [`ic-checkbox-group-${size}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n {renderSRText && (\n <span\n id=\"screenReaderOnlyText\"\n class=\"screen-reader-only-text\"\n aria-hidden=\"true\"\n >\n {label} {validationStatus === \"error\" ? \"invalid data \" : null}{\" \"}\n {required ? \"required\" : null}\n </span>\n )}\n <fieldset\n id={name}\n aria-labelledby={`${\n renderSRText ? \"screenReaderOnlyText\" : \"\"\n } ${describedBy}`.trim()}\n disabled={disabled}\n >\n {!hideLabel && (\n <legend>\n <ic-input-label\n class={{ [`${validationStatus}`]: true }}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabled}\n useLabelTag={false}\n >\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\n </ic-input-label>\n </legend>\n )}\n <div class=\"checkboxes-container\">\n <slot></slot>\n </div>\n </fieldset>\n {showValidation && (\n <ic-input-validation\n class={{\n \"show-validation\": showValidation,\n }}\n for={name}\n ariaLiveMode=\"polite\"\n status={validationStatus}\n message={validationText}\n ></ic-input-validation>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-checkbox-group.js","sourceRoot":"","sources":["../../../src/components/ic-checkbox-group/ic-checkbox-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Listen,\n Element,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\nimport {\n getInputDescribedByText,\n hasValidationStatus,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport {\n IcAriaLive,\n IcInformationStatusOrEmpty,\n IcSizes,\n IcThemeMode,\n} from \"../../utils/types\";\nimport { IcChangeEventDetail } from \"./ic-checkbox-group.types\";\n\nconst CHECKBOX_SELECTOR = \"ic-checkbox\";\n\n/**\n * @slot helper-text - Content is set as the helper text for the checkbox group.\n */\n@Component({\n tag: \"ic-checkbox-group\",\n styleUrl: \"ic-checkbox-group.css\",\n shadow: true,\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class CheckboxGroup {\n @Element() el: HTMLIcCheckboxGroupElement;\n\n /**\n * If `true`, the checkbox group will be set to the disabled state.\n */\n @Prop() disabled: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText: string = \"\";\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * The label for the checkbox group to be displayed.\n */\n @Prop() label!: string;\n\n /**\n * The name for the checkbox group to differentiate from other groups.\n */\n @Prop() name!: string;\n\n @Watch(\"label\")\n @Watch(\"name\")\n labelNameHandler(\n newValue: string,\n oldValue: string,\n propName: \"label\" | \"name\"\n ): void {\n Array.from(this.el.querySelectorAll(CHECKBOX_SELECTOR)).forEach(\n (checkbox) => {\n if (propName === \"label\") checkbox.groupLabel = newValue;\n else if (checkbox.name === oldValue) {\n // If the checkbox name has been set by the parent, then override it\n checkbox.name = newValue;\n }\n }\n );\n }\n\n /**\n * If `true`, the checkbox group will require a value.\n */\n @Prop() required: boolean = false;\n\n /**\n * The size of the checkboxes to be displayed. This does not affect the font size of the label.\n */\n @Prop() size: IcSizes = \"medium\";\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 @Watch(\"theme\")\n watchThemeHandler(newValue: IcThemeMode): void {\n Array.from(this.el.querySelectorAll(CHECKBOX_SELECTOR)).forEach(\n (checkbox) => {\n checkbox.theme = newValue;\n }\n );\n }\n\n /**\n * The value of the `aria-live` attribute on the validation message.\n */\n @Prop() validationAriaLive: IcAriaLive = \"polite\";\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message.\n */\n @Prop() validationText: string = \"\";\n\n /**\n * Emitted when a checkbox is checked.\n */\n @Event() icChange: EventEmitter<IcChangeEventDetail>;\n\n @Listen(\"icChange\")\n handleChange(ev: CustomEvent): void {\n //don't pass on the event if it has come from slotted text field\n //otherwise any icChange handler bound to the checkbox group will also run\n if ((ev.target as HTMLElement).tagName === \"IC-TEXT-FIELD\") {\n ev.stopImmediatePropagation();\n }\n }\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n this.watchThemeHandler(this.theme);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.name, propName: \"name\" },\n ],\n \"Checkbox Group\"\n );\n }\n\n @Listen(\"icCheck\")\n selectHandler({ target }: CustomEvent): void {\n const checkedOptions = Array.from(\n this.el.querySelectorAll(CHECKBOX_SELECTOR)\n ).filter(({ checked, disabled }) => checked && !disabled);\n this.icChange.emit({\n value: checkedOptions.map(({ value }) => value),\n checkedOptions: checkedOptions.map((opt) => ({\n checkbox: opt,\n textFieldValue: opt.querySelector(\"ic-text-field\")?.value,\n })),\n selectedOption: target as HTMLIcCheckboxElement,\n });\n }\n\n render() {\n const {\n disabled,\n helperText,\n hideLabel,\n label,\n name,\n required,\n size,\n theme,\n validationAriaLive,\n validationStatus,\n validationText,\n } = this;\n\n const describedBy = getInputDescribedByText(\n this.el,\n name,\n helperText !== \"\",\n validationStatus !== \"\"\n );\n\n const renderSRText = validationStatus === \"error\" || required || hideLabel;\n\n const showValidation = hasValidationStatus(validationStatus, disabled);\n\n return (\n <Host\n class={{\n \"ic-checkbox-group-disabled\": !!disabled,\n [`ic-checkbox-group-${size}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n {renderSRText && (\n <span\n id=\"screenReaderOnlyText\"\n class=\"screen-reader-only-text\"\n aria-hidden=\"true\"\n >\n {label} {validationStatus === \"error\" ? \"invalid data \" : null}{\" \"}\n {required ? \"required\" : null}\n </span>\n )}\n <fieldset\n id={name}\n aria-labelledby={`${\n renderSRText ? \"screenReaderOnlyText\" : \"\"\n } ${describedBy}`.trim()}\n disabled={disabled}\n >\n {!hideLabel && (\n <legend>\n <ic-input-label\n class={{ [`${validationStatus}`]: true }}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabled}\n useLabelTag={false}\n >\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\n </ic-input-label>\n </legend>\n )}\n <div class=\"checkboxes-container\">\n <slot></slot>\n </div>\n </fieldset>\n <ic-input-validation\n class={{\n \"show-validation\": showValidation,\n }}\n for={name}\n ariaLiveMode={validationAriaLive}\n status={showValidation ? validationStatus : \"\"}\n message={showValidation ? validationText : \"\"}\n ></ic-input-validation>\n </Host>\n );\n }\n}\n"]}
@@ -16,6 +16,7 @@ const defaultArgs = {
16
16
  nativeIndeterminateBehaviour: false,
17
17
  required: false,
18
18
  size: "medium",
19
+ validationAriaLive: "polite",
19
20
  validationStatus: "no status",
20
21
  validationText: "",
21
22
  value: "checkbox-value",
@@ -374,6 +375,159 @@ export const Validation = {
374
375
  name: "Validation",
375
376
  };
376
377
 
378
+ export const AriaLiveBehaviour = {
379
+ render: (args) =>
380
+ html`<ic-checkbox-group
381
+ id="field-1"
382
+ label="This is a label"
383
+ name="1"
384
+ helper-text="Error already set on page load and aria-live overridden as 'assertive'"
385
+ validation-status="error"
386
+ validation-text="First error message"
387
+ validation-aria-live="assertive"
388
+ >
389
+ <ic-checkbox
390
+ value="valueName1"
391
+ label="Unselected / Default"
392
+ ></ic-checkbox>
393
+ <ic-checkbox
394
+ value="valueName2"
395
+ label="Selected / Default"
396
+ selected
397
+ ></ic-checkbox>
398
+ <ic-checkbox
399
+ value="valueName3"
400
+ label="Unselected / Disabled"
401
+ disabled
402
+ ></ic-checkbox>
403
+ </ic-checkbox-group>
404
+ <br />
405
+ <ic-checkbox-group
406
+ id="field-2"
407
+ label="This is a label"
408
+ name="2"
409
+ helper-text="Error set after page load and aria-live overridden as 'assertive'"
410
+ validation-aria-live="assertive"
411
+ >
412
+ <ic-checkbox
413
+ value="valueName1"
414
+ label="Unselected / Default"
415
+ ></ic-checkbox>
416
+ <ic-checkbox
417
+ value="valueName2"
418
+ label="Selected / Default"
419
+ selected
420
+ ></ic-checkbox>
421
+ <ic-checkbox
422
+ value="valueName3"
423
+ label="Unselected / Disabled"
424
+ disabled
425
+ ></ic-checkbox>
426
+ </ic-checkbox-group>
427
+ <br />
428
+ <ic-button id="toggle-btn-1">Toggle errors</ic-button>
429
+ <script>
430
+ let showErrors1 = false;
431
+ const btn1 = document.getElementById("toggle-btn-1");
432
+ const field1 = document.getElementById("field-1");
433
+ const field2 = document.getElementById("field-2");
434
+
435
+ btn1.addEventListener("click", () => {
436
+ showErrors1 = !showErrors1;
437
+
438
+ field1.setAttribute("validation-status", showErrors1 ? "" : "error");
439
+ field1.setAttribute(
440
+ "validation-text",
441
+ showErrors1 ? "" : "First error message"
442
+ );
443
+
444
+ field2.setAttribute("validation-status", showErrors1 ? "error" : "");
445
+ field2.setAttribute(
446
+ "validation-text",
447
+ showErrors1 ? "Second error message" : ""
448
+ );
449
+ });
450
+ </script>
451
+ <br />
452
+ <br />
453
+ <br />
454
+ <br />
455
+ <ic-checkbox-group
456
+ id="field-3"
457
+ label="This is a label"
458
+ name="3"
459
+ helper-text="Default aria-live behaviour (i.e. 'polite')"
460
+ >
461
+ <ic-checkbox
462
+ value="valueName1"
463
+ label="Unselected / Default"
464
+ ></ic-checkbox>
465
+ <ic-checkbox
466
+ value="valueName2"
467
+ label="Selected / Default"
468
+ selected
469
+ ></ic-checkbox>
470
+ <ic-checkbox
471
+ value="valueName3"
472
+ label="Unselected / Disabled"
473
+ disabled
474
+ ></ic-checkbox>
475
+ </ic-checkbox-group>
476
+ <br />
477
+ <ic-checkbox-group
478
+ id="field-4"
479
+ label="This is a label"
480
+ name="4"
481
+ helper-text="Default aria-live behaviour (i.e. 'polite')"
482
+ >
483
+ <ic-checkbox
484
+ value="valueName1"
485
+ label="Unselected / Default"
486
+ ></ic-checkbox>
487
+ <ic-checkbox
488
+ value="valueName2"
489
+ label="Selected / Default"
490
+ selected
491
+ ></ic-checkbox>
492
+ <ic-checkbox
493
+ value="valueName3"
494
+ label="Unselected / Disabled"
495
+ disabled
496
+ ></ic-checkbox>
497
+ </ic-checkbox-group>
498
+ <br />
499
+ <ic-button id="toggle-btn-2">Toggle errors</ic-button>
500
+ <br />
501
+ <br />
502
+ <br />
503
+ <br />
504
+ <br />
505
+ <script>
506
+ let showErrors2 = false;
507
+ const btn2 = document.getElementById("toggle-btn-2");
508
+ const field3 = document.getElementById("field-3");
509
+ const field4 = document.getElementById("field-4");
510
+
511
+ btn2.addEventListener("click", () => {
512
+ showErrors2 = !showErrors2;
513
+
514
+ field3.setAttribute("validation-status", showErrors2 ? "error" : "");
515
+ field3.setAttribute(
516
+ "validation-text",
517
+ showErrors2 ? "Third error message" : ""
518
+ );
519
+
520
+ field4.setAttribute("validation-status", showErrors2 ? "error" : "");
521
+ field4.setAttribute(
522
+ "validation-text",
523
+ showErrors2 ? "Fourth error message" : ""
524
+ );
525
+ });
526
+ </script>`,
527
+
528
+ name: "Aria-live behaviour",
529
+ };
530
+
377
531
  export const Form = {
378
532
  render: (args) => html`
379
533
  <form>
@@ -658,6 +812,7 @@ export const Playground = {
658
812
  helper-text=${args.helperText}
659
813
  hide-label=${args.hideGroupLabel}
660
814
  required=${args.required}
815
+ validation-aria-live=${args.validationAriaLive}
661
816
  validation-status=${args.validationStatus === "no status"
662
817
  ? ""
663
818
  : args.validationStatus}
@@ -712,6 +867,14 @@ export const Playground = {
712
867
  },
713
868
  },
714
869
 
870
+ validationAriaLive: {
871
+ options: ["polite", "assertive", "off"],
872
+
873
+ control: {
874
+ type: inlineRadioSelector,
875
+ },
876
+ },
877
+
715
878
  validationStatus: {
716
879
  options: ["no status", "warning", "error", "success"],
717
880
 
@@ -90,11 +90,11 @@ export class Chip {
90
90
  render() {
91
91
  const { label, variant, size, dismissible, visible, disabled, hovered, theme, foregroundColor, dismissLabel, transparentBackground, } = this;
92
92
  const ariaLabel = `${label} chip`;
93
- return (h(Host, { key: 'c7b88d4999b6de5004edc4bd27e185b9232fdaf9', class: {
93
+ return (h(Host, { key: '91df6058439a8c6dbd74de3d46153e4d0c54d623', class: {
94
94
  "ic-chip-dismissed": !visible,
95
95
  [`ic-theme-${theme}`]: theme !== "inherit",
96
96
  [`ic-chip-${foregroundColor}-text`]: variant === "filled" && !!foregroundColor,
97
- } }, visible && (h("div", { key: 'dbbb2bd77adea5e65d61e11b6c4b2b06fadbb9b1', class: {
97
+ } }, visible && (h("div", { key: 'e7fe4dfe8ebedf808512a29aceef28a6700cd233', class: {
98
98
  chip: true,
99
99
  [`${variant}`]: true,
100
100
  [`${size}`]: true,
@@ -102,7 +102,7 @@ export class Chip {
102
102
  dismissible,
103
103
  hovered,
104
104
  "non-transparent": variant === "outlined" && !transparentBackground,
105
- } }, isSlotUsed(this.el, "icon") && (h("div", { key: '443ef9dc619483da883171e367ac9541aaf61a38', class: "icon" }, h("slot", { key: '3d5f5e0db37a1d2c0b8d2f25e0af2801cc52598e', name: "icon" }))), h("ic-typography", { key: '23603177321e0a67c86da4720574592e3db8db80', variant: "label", "apply-vertical-margins": false, class: { label: true, "in-ag-grid": isElInAGGrid(this.el) } }, h("span", { key: '2d55524b494e17a0ee3c8a7441ffbc1a5d47f6a4' }, label)), dismissible && (h("ic-tooltip", { key: '2def11f340b2b51518caebdf0e87b61e87d9baeb', label: dismissLabel, target: "dismiss-icon", class: { "tooltip-disabled": disabled } }, h("button", { key: 'c437a1dc096b14ba3bb2fa5723fa0044e83a9b3a', id: "dismiss-icon", class: "dismiss-icon", ref: (el) => (this.buttonEl = el), "aria-label": `${dismissLabel} ${ariaLabel}`, disabled: disabled, tabindex: disabled ? -1 : 0, onClick: this.dismissAction, onMouseEnter: this.mouseEnterHandler, onMouseLeave: this.mouseLeaveHandler, innerHTML: dismissIcon }))), isSlotUsed(this.el, "badge") && h("slot", { key: '9b3fec37d1d44def4248cf53ae2916d9f62e1a08', name: "badge" }))), dismissible && (h("div", { key: 'bc8d8601488092dde7dae7db5f0f36b802f6df9f', class: "sr-only", "aria-live": "polite" }, !visible ? `Dismissed ${ariaLabel}` : ""))));
105
+ } }, isSlotUsed(this.el, "icon") && (h("div", { key: '81b38c990e638413596f6e5e8041f68eef20e064', class: "icon" }, h("slot", { key: '3a1fda2665ac0aea65df3bfaa94552f5e6fa2e1e', name: "icon" }))), h("ic-typography", { key: 'a496fa5e7be6ec073cb1b2225b7a1e1f79f94f3f', variant: "label", "apply-vertical-margins": false, class: { label: true, "in-ag-grid": isElInAGGrid(this.el) } }, h("span", { key: '942471f0fd86b350166c14433c40d6d912a52b17' }, label)), dismissible && (h("ic-tooltip", { key: 'c9ea0b5045a625a7b42ae71b22bc9737b05501ee', label: dismissLabel, target: "dismiss-icon", class: { "tooltip-disabled": disabled } }, h("button", { key: '7fb04f03ac698a002fea17de94980623b33502dd', id: "dismiss-icon", class: "dismiss-icon", ref: (el) => (this.buttonEl = el), "aria-label": `${dismissLabel} ${ariaLabel}`, disabled: disabled, tabindex: disabled ? -1 : 0, onClick: this.dismissAction, onMouseEnter: this.mouseEnterHandler, onMouseLeave: this.mouseLeaveHandler, innerHTML: dismissIcon }))), isSlotUsed(this.el, "badge") && h("slot", { key: '99b017ad25c78367d25411312b47aa1f73d8f682', name: "badge" }))), dismissible && (h("div", { key: 'b847f0255a3aaca7f1f24e2de1e939e0a6518c2f', class: "sr-only", "aria-live": "polite" }, !visible ? `Dismissed ${ariaLabel}` : ""))));
106
106
  }
107
107
  static get is() { return "ic-chip"; }
108
108
  static get encapsulation() { return "shadow"; }
@@ -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: 'a050ac5764ea9496f33d53abdd27f1a193185cbb', class: {
21
+ return (h(Host, { key: 'c66609f65612dca067e70b5762d7eeb797dd2121', class: {
22
22
  "ic-data-list-small": size === "small",
23
23
  [`ic-theme-${theme}`]: theme !== "inherit",
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' }))));
24
+ } }, h("div", { key: '685663251c565cb665c03e9bd39e1d5b2f7ef73b', class: "heading", id: "data-list-heading" }, h("slot", { key: 'e81970054a2053f05f6c0ef378e2509bb602da65', name: "heading" }, h("ic-typography", { key: '860b07bd25a11f7f6a938aab5cbae0c5802bea3e', variant: "h3" }, heading))), h("div", { key: 'c004429938c7c71ac70ee106486f75193cffc2ca', class: "divider" }), h("ul", { key: 'b9e010a5703ecaf75ce3b1cf396901b26618a34a', "aria-labelledby": "data-list-heading", class: "rows" }, h("slot", { key: '684b99425193c3a5e306b67e235b7d85e1802fce' }))));
25
25
  }
26
26
  static get is() { return "ic-data-list"; }
27
27
  static get encapsulation() { return "shadow"; }
@@ -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: '8a70c9ceda7aebc616eb335f08e626952c87ddf3', class: {
71
+ return (h(Host, { key: '3cfe27bfa3e8e0a563450e3842c31e50a78fcb28', 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: '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" })));
76
+ }, role: "listitem" }, h("div", { key: '348b7ebe1cec0baab24213e9cc468a7e2274ae31', class: "data" }, h("div", { key: 'a2d9d409a312f20b259a40a85ce37b8928e8da06', class: "text-cells" }, (isSlotUsed(el, "label") || label) && renderCellContent("label"), (isSlotUsed(el, "value") || value) && renderCellContent("value")), hasEndComponent && (h("div", { key: 'c7f9583403acf4041eebe4b26ff417b453fe07db', class: "end-component" }, h("slot", { key: '837641d249f27635ece7e1eb6505d3e4dbf5492b', name: "end-component" })))), h("div", { key: '9f39724a36e05428a979a589bbed4a09fa2043e0', class: "divider" })));
77
77
  }
78
78
  static get is() { return "ic-data-row"; }
79
79
  static get encapsulation() { return "shadow"; }
@@ -603,7 +603,7 @@ video {
603
603
  }
604
604
 
605
605
  @media (min-width: 800px) {
606
- :host([size="large"]) .dialog:not(.disable-width-constraint) > .content-area {
606
+ .large:not(.disable-width-constraint) > .content-area {
607
607
  width: 75%;
608
608
  }
609
609
  }
@@ -20,7 +20,9 @@ export class Dialog {
20
20
  this.IC_CHECKBOX = "IC-CHECKBOX";
21
21
  this.IC_SEARCH_BAR = "IC-SEARCH-BAR";
22
22
  this.IC_TAB_CONTEXT = "IC-TAB-CONTEXT";
23
+ this.interactiveElementList = [];
23
24
  this.resizeObserver = null;
25
+ this.focusAttemptCount = 0;
24
26
  this.dialogRendered = false;
25
27
  this.fadeIn = false;
26
28
  /**
@@ -89,6 +91,7 @@ export class Dialog {
89
91
  }
90
92
  }, 10);
91
93
  setTimeout(() => {
94
+ this.getInteractiveElements();
92
95
  this.setInitialFocus();
93
96
  checkResizeObserver(this.runResizeObserver);
94
97
  }, 75);
@@ -139,10 +142,24 @@ export class Dialog {
139
142
  };
140
143
  this.setInitialFocus = () => {
141
144
  this.sourceElement = document.activeElement;
142
- this.focusedElementIndex = this.interactiveElementList
143
- ? this.interactiveElementList.findIndex((element) => element.hasAttribute(this.DATA_GETS_FOCUS))
144
- : 0;
145
- this.focusElement(this.interactiveElementList[this.focusedElementIndex]);
145
+ if (!this.interactiveElementList.length) {
146
+ // No interactive elements yet, retry shortly
147
+ setTimeout(() => {
148
+ this.getInteractiveElements();
149
+ if (this.interactiveElementList.length) {
150
+ this.setInitialFocus();
151
+ }
152
+ }, 10);
153
+ return;
154
+ }
155
+ this.focusedElementIndex = this.interactiveElementList.findIndex((element) => element.hasAttribute(this.DATA_GETS_FOCUS));
156
+ if (this.focusedElementIndex === -1) {
157
+ this.focusedElementIndex = 0;
158
+ }
159
+ const elToFocus = this.interactiveElementList[this.focusedElementIndex];
160
+ if (elToFocus) {
161
+ this.focusElement(elToFocus);
162
+ }
146
163
  };
147
164
  this.getFocusedElementIndex = () => {
148
165
  var _a;
@@ -177,17 +194,22 @@ export class Dialog {
177
194
  };
178
195
  this.getNextFocusEl = (focusedElementIndex) => this.interactiveElementList[focusedElementIndex];
179
196
  this.onTabKeyPress = (shiftKey) => {
197
+ var _a;
180
198
  this.getFocusedElementIndex();
181
- if (this.interactiveElementList[this.focusedElementIndex].tagName ===
199
+ if (((_a = this.interactiveElementList[this.focusedElementIndex]) === null || _a === void 0 ? void 0 : _a.tagName) ===
182
200
  this.IC_SEARCH_BAR) {
183
201
  return false;
184
202
  }
185
203
  this.setFocusIndexBasedOnShiftKey(shiftKey);
186
204
  this.loopNextFocusIndexIfLastElement();
205
+ this.focusAttemptCount = 0;
187
206
  this.focusElement(this.getNextFocusEl(this.focusedElementIndex), shiftKey);
188
207
  return true;
189
208
  };
190
209
  this.shouldSkipElement = (element) => {
210
+ if (!element) {
211
+ return true;
212
+ }
191
213
  const isHidden = getComputedStyle(element).visibility === "hidden" ||
192
214
  element.offsetHeight === 0 ||
193
215
  element.hasAttribute("disabled") ||
@@ -200,12 +222,16 @@ export class Dialog {
200
222
  !(radioEl.hasAttribute("selected") || element.tabIndex === 0)));
201
223
  };
202
224
  this.focusElement = (element, shiftKey = false) => {
203
- let nextFocusEl = element;
225
+ if (!element) {
226
+ return;
227
+ }
228
+ if (this.focusAttemptCount++ > this.interactiveElementList.length) {
229
+ return;
230
+ }
204
231
  if (this.shouldSkipElement(element)) {
205
232
  this.setFocusIndexBasedOnShiftKey(shiftKey);
206
233
  this.loopNextFocusIndexIfLastElement();
207
- nextFocusEl = this.getNextFocusEl(this.focusedElementIndex);
208
- this.focusElement(nextFocusEl, shiftKey);
234
+ this.focusElement(this.getNextFocusEl(this.focusedElementIndex), shiftKey);
209
235
  }
210
236
  else {
211
237
  switch (element.tagName) {
@@ -260,7 +286,6 @@ export class Dialog {
260
286
  this.removeSlotChangeListener();
261
287
  }
262
288
  componentDidLoad() {
263
- this.getInteractiveElements();
264
289
  this.refreshInteractiveElementsOnSlotChange();
265
290
  if (this.open) {
266
291
  this.dialogOpened();
@@ -335,12 +360,13 @@ export class Dialog {
335
360
  }
336
361
  }
337
362
  render() {
338
- const { dialogRendered, disableHeightConstraint, fadeIn, theme } = this;
339
- return (h(Host, { key: '6de63d3d94afa349dc9bb5b30296837bbf89f810', class: {
363
+ const { dialogRendered, disableHeightConstraint, fadeIn, theme, size } = this;
364
+ return (h(Host, { key: 'fca8d5ed62295efef6630d45e8174331c4d99e48', class: {
340
365
  "ic-dialog-hidden": !dialogRendered,
341
366
  "ic-dialog-fade-in": fadeIn,
342
367
  "disable-height-constraint": !!disableHeightConstraint,
343
368
  [`ic-theme-${theme}`]: theme !== "inherit",
369
+ [`ic-dialog-size-${size}`]: size != undefined,
344
370
  } }, disableHeightConstraint ? (h("div", { class: "backdrop", ref: (el) => (this.backdropEl = el) }, this.renderDialog())) : (this.renderDialog())));
345
371
  }
346
372
  static get is() { return "ic-dialog"; }
@@ -618,7 +644,7 @@ export class Dialog {
618
644
  "composed": true,
619
645
  "docs": {
620
646
  "tags": [],
621
- "text": "Cancelation event emitted when default 'Cancel' button clicked or 'cancelDialog' method is called."
647
+ "text": "Cancellation event emitted when default 'Cancel' button clicked or 'cancelDialog' method is called."
622
648
  },
623
649
  "complexType": {
624
650
  "original": "void",
@@ -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 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"]}
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 private focusAttemptCount = 0;\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 * Cancellation 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.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.getInteractiveElements();\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\n if (!this.interactiveElementList.length) {\n // No interactive elements yet, retry shortly\n setTimeout(() => {\n this.getInteractiveElements();\n if (this.interactiveElementList.length) {\n this.setInitialFocus();\n }\n }, 10);\n return;\n }\n\n this.focusedElementIndex = this.interactiveElementList.findIndex(\n (element) => element.hasAttribute(this.DATA_GETS_FOCUS)\n );\n\n if (this.focusedElementIndex === -1) {\n this.focusedElementIndex = 0;\n }\n\n const elToFocus = this.interactiveElementList[this.focusedElementIndex];\n if (elToFocus) {\n this.focusElement(elToFocus);\n }\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\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\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\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.focusAttemptCount = 0;\n this.focusElement(this.getNextFocusEl(this.focusedElementIndex), shiftKey);\n return true;\n };\n\n private shouldSkipElement = (element: HTMLElement): boolean => {\n if (!element) {\n return true;\n }\n\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 = (\n element: HTMLElement | undefined,\n shiftKey = false\n ) => {\n if (!element) {\n return;\n }\n\n if (this.focusAttemptCount++ > this.interactiveElementList.length) {\n return;\n }\n\n if (this.shouldSkipElement(element)) {\n this.setFocusIndexBasedOnShiftKey(shiftKey);\n this.loopNextFocusIndexIfLastElement();\n this.focusElement(\n this.getNextFocusEl(this.focusedElementIndex),\n shiftKey\n );\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.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, size } =\n 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 [`ic-dialog-size-${size}`]: size != undefined,\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"]}