@ukic/web-components 3.10.0 → 3.12.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 (676) hide show
  1. package/dist/cjs/constants-3a9ba64a.js +191 -0
  2. package/dist/cjs/constants-3a9ba64a.js.map +1 -0
  3. package/dist/cjs/core.cjs.js +1 -1
  4. package/dist/cjs/{helpers-a0e78e2e.js → helpers-478d1107.js} +6 -187
  5. package/dist/cjs/helpers-478d1107.js.map +1 -0
  6. package/dist/cjs/ic-accordion-group.cjs.entry.js +2 -1
  7. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-accordion.cjs.entry.js +2 -1
  9. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-action-chip.cjs.entry.js +2 -1
  11. package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-alert.cjs.entry.js +4 -3
  13. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -1
  15. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-badge.cjs.entry.js +2 -1
  17. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -1
  19. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -1
  21. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-button_3.cjs.entry.js +27 -20
  23. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-card-vertical.cjs.entry.js +2 -1
  25. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-checkbox-group.cjs.entry.js +8 -4
  27. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-checkbox.cjs.entry.js +5 -4
  29. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-chip.cjs.entry.js +7 -5
  31. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  33. package/dist/cjs/ic-data-row.cjs.entry.js +4 -3
  34. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-dialog.cjs.entry.js +7 -4
  36. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-divider.cjs.entry.js +2 -1
  38. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-empty-state.cjs.entry.js +4 -3
  40. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -1
  42. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-footer-link.cjs.entry.js +4 -3
  44. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-footer.cjs.entry.js +10 -9
  46. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-hero.cjs.entry.js +6 -5
  48. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +7 -6
  50. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +1388 -12
  52. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-input-label_2.cjs.entry.js +27 -12
  54. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +2 -2
  56. package/dist/cjs/ic-layout-grid.cjs.entry.js +2 -2
  57. package/dist/cjs/ic-link.cjs.entry.js +5 -4
  58. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-menu-group.cjs.entry.js +3 -2
  60. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-menu-item.cjs.entry.js +2 -1
  62. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-navigation-button.cjs.entry.js +3 -2
  64. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-navigation-group.cjs.entry.js +3 -2
  66. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -1
  68. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-navigation-menu.cjs.entry.js +6 -5
  70. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-page-header.cjs.entry.js +8 -7
  72. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-pagination-item.cjs.entry.js +3 -2
  74. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-pagination.cjs.entry.js +6 -5
  76. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-popover-menu.cjs.entry.js +6 -5
  78. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-radio-group.cjs.entry.js +15 -7
  80. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-radio-option.cjs.entry.js +7 -6
  82. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-search-bar.cjs.entry.js +11 -10
  84. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  86. package/dist/cjs/ic-select.cjs.entry.js +21 -13
  87. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-side-navigation.cjs.entry.js +6 -5
  89. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  91. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  92. package/dist/cjs/ic-status-tag.cjs.entry.js +4 -3
  93. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-step.cjs.entry.js +67 -54
  95. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-stepper.cjs.entry.js +21 -3
  97. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-switch.cjs.entry.js +6 -5
  99. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-tab-context.cjs.entry.js +10 -2
  101. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-tab-group.cjs.entry.js +4 -3
  103. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  105. package/dist/cjs/ic-tab.cjs.entry.js +2 -1
  106. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-text-field.cjs.entry.js +32 -23
  108. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-theme.cjs.entry.js +5 -4
  110. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  112. package/dist/cjs/ic-toast.cjs.entry.js +7 -6
  113. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  114. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +4 -3
  115. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  116. package/dist/cjs/ic-toggle-button.cjs.entry.js +4 -3
  117. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  118. package/dist/cjs/ic-top-navigation.cjs.entry.js +2 -1
  119. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  120. package/dist/cjs/ic-typography.cjs.entry.js +4 -3
  121. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  122. package/dist/cjs/index.cjs.js +16 -0
  123. package/dist/cjs/index.cjs.js.map +1 -1
  124. package/dist/cjs/loader.cjs.js +1 -1
  125. package/dist/collection/assets/ai-icon.svg +1 -1
  126. package/dist/collection/assets/error-icon.svg +4 -4
  127. package/dist/collection/assets/info-icon.svg +4 -4
  128. package/dist/collection/assets/neutral-icon.svg +4 -4
  129. package/dist/collection/assets/success-icon.svg +4 -4
  130. package/dist/collection/assets/warning-icon.svg +4 -4
  131. package/dist/collection/components/ic-alert/ic-alert.js +1 -1
  132. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  133. package/dist/collection/components/ic-button/ic-button.js +14 -8
  134. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  135. package/dist/collection/components/ic-button/ic-button.stories.js +191 -0
  136. package/dist/collection/components/ic-card-vertical/ic-card-vertical.stories.js +10 -10
  137. package/dist/collection/components/ic-checkbox/ic-checkbox.css +5 -0
  138. package/dist/collection/components/ic-checkbox/ic-checkbox.js +2 -2
  139. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  140. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +3 -3
  141. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +5 -2
  142. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  143. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +11 -28
  144. package/dist/collection/components/ic-chip/ic-chip.css +4 -0
  145. package/dist/collection/components/ic-chip/ic-chip.js +4 -3
  146. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  147. package/dist/collection/components/ic-data-list/ic-data-list.js +2 -2
  148. package/dist/collection/components/ic-data-list/ic-data-list.stories.js +30 -6
  149. package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
  150. package/dist/collection/components/ic-dialog/ic-dialog.js +5 -3
  151. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  152. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +40 -1
  153. package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
  154. package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
  155. package/dist/collection/components/ic-hero/ic-hero.js +4 -4
  156. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
  157. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
  158. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  159. package/dist/collection/components/ic-input-label/ic-input-label.js +2 -2
  160. package/dist/collection/components/ic-input-validation/ic-input-validation.css +9 -1
  161. package/dist/collection/components/ic-input-validation/ic-input-validation.js +27 -10
  162. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  163. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js +2 -2
  164. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js +2 -2
  165. package/dist/collection/components/ic-link/ic-link.js +1 -1
  166. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +5 -5
  167. package/dist/collection/components/ic-menu/ic-menu.css +2 -2
  168. package/dist/collection/components/ic-menu/ic-menu.js +6 -5
  169. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  170. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  171. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
  172. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  173. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  174. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  175. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  176. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  177. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -4
  178. package/dist/collection/components/ic-radio-group/ic-radio-group.css +2 -2
  179. package/dist/collection/components/ic-radio-group/ic-radio-group.js +40 -7
  180. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  181. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +178 -15
  182. package/dist/collection/components/ic-radio-option/ic-radio-option.css +37 -1
  183. package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -4
  184. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  185. package/dist/collection/components/ic-search-bar/ic-search-bar.js +9 -9
  186. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  187. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  188. package/dist/collection/components/ic-select/ic-select.js +44 -11
  189. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  190. package/dist/collection/components/ic-select/ic-select_(multi).stories.js +22 -8
  191. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +16 -3
  192. package/dist/collection/components/ic-select/ic-select_(single).stories.js +119 -10
  193. package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js +60 -0
  194. package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js.map +1 -0
  195. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +4 -4
  196. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  197. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  198. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  199. package/dist/collection/components/ic-step/ic-step.js +89 -53
  200. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  201. package/dist/collection/components/ic-step/ic-step.types.js.map +1 -1
  202. package/dist/collection/components/ic-stepper/ic-stepper.js +43 -2
  203. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  204. package/dist/collection/components/ic-stepper/ic-stepper.stories.js +75 -0
  205. package/dist/collection/components/ic-switch/ic-switch.js +4 -4
  206. package/dist/collection/components/ic-tab-context/ic-tab-context.js +27 -2
  207. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  208. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  209. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  210. package/dist/collection/components/ic-text-field/ic-text-field.css +4 -0
  211. package/dist/collection/components/ic-text-field/ic-text-field.js +53 -19
  212. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  213. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +102 -4
  214. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  215. package/dist/collection/components/ic-toast/ic-toast.js +3 -3
  216. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  217. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  218. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
  219. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  220. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
  221. package/dist/collection/components/ic-tooltip/ic-tooltip.js +6 -4
  222. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  223. package/dist/collection/components/ic-typography/ic-typography.js +2 -2
  224. package/dist/collection/index.js +1 -1
  225. package/dist/collection/index.js.map +1 -1
  226. package/dist/collection/utils/common-helpers.js +17 -0
  227. package/dist/collection/utils/common-helpers.js.map +1 -0
  228. package/dist/collection/utils/constants.js +1 -0
  229. package/dist/collection/utils/constants.js.map +1 -1
  230. package/dist/collection/utils/types.js.map +1 -1
  231. package/dist/components/constants.js +177 -0
  232. package/dist/components/constants.js.map +1 -0
  233. package/dist/components/helpers.js +2 -174
  234. package/dist/components/helpers.js.map +1 -1
  235. package/dist/components/ic-action-chip.js +1 -1
  236. package/dist/components/ic-alert.js +3 -2
  237. package/dist/components/ic-alert.js.map +1 -1
  238. package/dist/components/ic-back-to-top.js +1 -1
  239. package/dist/components/ic-badge.js +1 -1
  240. package/dist/components/ic-breadcrumb-group.js +1 -1
  241. package/dist/components/ic-breadcrumb2.js +1 -1
  242. package/dist/components/ic-button2.js +17 -11
  243. package/dist/components/ic-button2.js.map +1 -1
  244. package/dist/components/ic-card-vertical.js +1 -1
  245. package/dist/components/ic-checkbox-group.js +7 -4
  246. package/dist/components/ic-checkbox-group.js.map +1 -1
  247. package/dist/components/ic-checkbox.js +4 -4
  248. package/dist/components/ic-checkbox.js.map +1 -1
  249. package/dist/components/ic-chip.js +6 -5
  250. package/dist/components/ic-chip.js.map +1 -1
  251. package/dist/components/ic-data-list.js +2 -2
  252. package/dist/components/ic-data-row.js +3 -3
  253. package/dist/components/ic-dialog.js +6 -4
  254. package/dist/components/ic-dialog.js.map +1 -1
  255. package/dist/components/ic-divider2.js +1 -1
  256. package/dist/components/ic-empty-state.js +3 -3
  257. package/dist/components/ic-footer-link-group.js +1 -1
  258. package/dist/components/ic-footer-link.js +3 -3
  259. package/dist/components/ic-footer.js +2 -1
  260. package/dist/components/ic-footer.js.map +1 -1
  261. package/dist/components/ic-hero.js +5 -5
  262. package/dist/components/ic-horizontal-scroll2.js +6 -6
  263. package/dist/components/ic-input-component-container2.js +5 -4
  264. package/dist/components/ic-input-component-container2.js.map +1 -1
  265. package/dist/components/ic-input-container2.js +2 -2
  266. package/dist/components/ic-input-label2.js +3 -3
  267. package/dist/components/ic-input-validation2.js +24 -7
  268. package/dist/components/ic-input-validation2.js.map +1 -1
  269. package/dist/components/ic-layout-grid-item.js +2 -2
  270. package/dist/components/ic-layout-grid.js +2 -2
  271. package/dist/components/ic-link2.js +3 -2
  272. package/dist/components/ic-link2.js.map +1 -1
  273. package/dist/components/ic-loading-indicator2.js +5 -5
  274. package/dist/components/ic-menu-group.js +2 -2
  275. package/dist/components/ic-menu-item2.js +1 -1
  276. package/dist/components/ic-menu2.js +1383 -7
  277. package/dist/components/ic-menu2.js.map +1 -1
  278. package/dist/components/ic-navigation-button.js +2 -1
  279. package/dist/components/ic-navigation-button.js.map +1 -1
  280. package/dist/components/ic-navigation-group.js +2 -2
  281. package/dist/components/ic-navigation-item.js +1 -1
  282. package/dist/components/ic-navigation-menu2.js +5 -5
  283. package/dist/components/ic-navigation-menu2.js.map +1 -1
  284. package/dist/components/ic-page-header.js +7 -7
  285. package/dist/components/ic-pagination-item2.js +2 -2
  286. package/dist/components/ic-pagination.js +4 -4
  287. package/dist/components/ic-popover-menu.js +5 -5
  288. package/dist/components/ic-popover-menu.js.map +1 -1
  289. package/dist/components/ic-radio-group.js +15 -7
  290. package/dist/components/ic-radio-group.js.map +1 -1
  291. package/dist/components/ic-radio-option.js +6 -6
  292. package/dist/components/ic-radio-option.js.map +1 -1
  293. package/dist/components/ic-search-bar.js +10 -10
  294. package/dist/components/ic-search-bar.js.map +1 -1
  295. package/dist/components/ic-section-container2.js +2 -2
  296. package/dist/components/ic-select.js +21 -12
  297. package/dist/components/ic-select.js.map +1 -1
  298. package/dist/components/ic-side-navigation.js +5 -5
  299. package/dist/components/ic-skeleton.js +2 -2
  300. package/dist/components/ic-skip-link.js +2 -2
  301. package/dist/components/ic-status-tag.js +2 -2
  302. package/dist/components/ic-step.js +67 -54
  303. package/dist/components/ic-step.js.map +1 -1
  304. package/dist/components/ic-stepper.js +20 -2
  305. package/dist/components/ic-stepper.js.map +1 -1
  306. package/dist/components/ic-switch.js +5 -5
  307. package/dist/components/ic-tab-context.js +11 -2
  308. package/dist/components/ic-tab-context.js.map +1 -1
  309. package/dist/components/ic-tab-group.js +2 -2
  310. package/dist/components/ic-tab-panel.js +2 -2
  311. package/dist/components/ic-text-field.js +31 -21
  312. package/dist/components/ic-text-field.js.map +1 -1
  313. package/dist/components/ic-theme.js +3 -2
  314. package/dist/components/ic-theme.js.map +1 -1
  315. package/dist/components/ic-toast-region.js +1 -1
  316. package/dist/components/ic-toast.js +5 -4
  317. package/dist/components/ic-toast.js.map +1 -1
  318. package/dist/components/ic-toggle-button-group.js +2 -2
  319. package/dist/components/ic-toggle-button.js +3 -3
  320. package/dist/components/ic-toggle-button.js.map +1 -1
  321. package/dist/components/ic-tooltip2.js +6 -4
  322. package/dist/components/ic-tooltip2.js.map +1 -1
  323. package/dist/components/ic-top-navigation.js +1 -1
  324. package/dist/components/ic-typography2.js +2 -2
  325. package/dist/components/index.js +1 -0
  326. package/dist/components/index.js.map +1 -1
  327. package/dist/core/core.css +32 -4
  328. package/dist/core/core.esm.js +1 -1
  329. package/dist/core/core.esm.js.map +1 -1
  330. package/dist/core/index.esm.js +1 -1
  331. package/dist/core/p-0123dde7.entry.js +2 -0
  332. package/dist/core/p-0123dde7.entry.js.map +1 -0
  333. package/dist/core/p-01e018cb.entry.js +2 -0
  334. package/dist/core/{p-f309d3af.entry.js.map → p-01e018cb.entry.js.map} +1 -1
  335. package/dist/core/p-02af2b59.entry.js +2 -0
  336. package/dist/core/{p-ef4b5469.entry.js.map → p-02af2b59.entry.js.map} +1 -1
  337. package/dist/core/p-05036675.entry.js +2 -0
  338. package/dist/core/p-05036675.entry.js.map +1 -0
  339. package/dist/core/p-0c36ce84.entry.js +2 -0
  340. package/dist/core/{p-661ae402.entry.js.map → p-0c36ce84.entry.js.map} +1 -1
  341. package/dist/core/p-0ec76cff.entry.js +2 -0
  342. package/dist/core/{p-1d37ac1c.entry.js.map → p-0ec76cff.entry.js.map} +1 -1
  343. package/dist/core/p-13e093d0.entry.js +2 -0
  344. package/dist/core/{p-9eeb5e85.entry.js.map → p-13e093d0.entry.js.map} +1 -1
  345. package/dist/core/p-1423bd4a.entry.js +2 -0
  346. package/dist/core/{p-9f36791b.entry.js.map → p-1423bd4a.entry.js.map} +1 -1
  347. package/dist/core/p-2126d37b.entry.js +2 -0
  348. package/dist/core/{p-0c0c6a9e.entry.js.map → p-2126d37b.entry.js.map} +1 -1
  349. package/dist/core/p-228bc12d.entry.js +2 -0
  350. package/dist/core/{p-41f92698.entry.js.map → p-228bc12d.entry.js.map} +1 -1
  351. package/dist/core/p-25bef09d.entry.js +2 -0
  352. package/dist/core/{p-cf631191.entry.js.map → p-25bef09d.entry.js.map} +1 -1
  353. package/dist/core/p-27e67d45.entry.js +2 -0
  354. package/dist/core/{p-313a8a2f.entry.js.map → p-27e67d45.entry.js.map} +1 -1
  355. package/dist/core/p-2800fc30.entry.js +2 -0
  356. package/dist/core/{p-6ed0ac48.entry.js.map → p-2800fc30.entry.js.map} +1 -1
  357. package/dist/core/p-33582352.entry.js +2 -0
  358. package/dist/core/{p-317e005f.entry.js.map → p-33582352.entry.js.map} +1 -1
  359. package/dist/core/p-33789b23.entry.js +3 -0
  360. package/dist/core/p-33789b23.entry.js.map +1 -0
  361. package/dist/core/{p-287e5c17.entry.js → p-37d217b5.entry.js} +2 -2
  362. package/dist/core/{p-df88ff5b.entry.js → p-37daa8fe.entry.js} +2 -2
  363. package/dist/core/p-3e36f281.entry.js +2 -0
  364. package/dist/core/{p-711bfeed.entry.js.map → p-3e36f281.entry.js.map} +1 -1
  365. package/dist/core/p-45097448.entry.js +2 -0
  366. package/dist/core/{p-cbe0d1bb.entry.js.map → p-45097448.entry.js.map} +1 -1
  367. package/dist/core/{p-45dd12ee.entry.js → p-4747c39f.entry.js} +2 -2
  368. package/dist/core/p-4747c39f.entry.js.map +1 -0
  369. package/dist/core/{p-ffac41d6.entry.js → p-492fcb51.entry.js} +2 -2
  370. package/dist/core/p-514daffe.entry.js +2 -0
  371. package/dist/core/p-514daffe.entry.js.map +1 -0
  372. package/dist/core/p-54803e3b.entry.js +2 -0
  373. package/dist/core/{p-2f4f392f.entry.js.map → p-54803e3b.entry.js.map} +1 -1
  374. package/dist/core/{p-6e8ef73c.entry.js → p-57721431.entry.js} +2 -2
  375. package/dist/core/{p-5fbc8e62.entry.js → p-5fcfcfb6.entry.js} +2 -2
  376. package/dist/core/p-6058d4c9.entry.js +2 -0
  377. package/dist/core/{p-ea778379.entry.js.map → p-6058d4c9.entry.js.map} +1 -1
  378. package/dist/core/p-675bb3e4.entry.js +2 -0
  379. package/dist/core/{p-52748d5c.entry.js.map → p-675bb3e4.entry.js.map} +1 -1
  380. package/dist/core/p-6dbe70f1.entry.js +2 -0
  381. package/dist/core/{p-4ca782eb.entry.js.map → p-6dbe70f1.entry.js.map} +1 -1
  382. package/dist/core/p-6e139e6e.entry.js +2 -0
  383. package/dist/core/{p-0d680d19.entry.js.map → p-6e139e6e.entry.js.map} +1 -1
  384. package/dist/core/p-80317cd1.entry.js +2 -0
  385. package/dist/core/{p-9c013333.entry.js.map → p-80317cd1.entry.js.map} +1 -1
  386. package/dist/core/p-80e0f66e.entry.js +2 -0
  387. package/dist/core/{p-493eaabb.entry.js.map → p-80e0f66e.entry.js.map} +1 -1
  388. package/dist/core/p-813ad03c.entry.js +2 -0
  389. package/dist/core/{p-6a576a8b.entry.js.map → p-813ad03c.entry.js.map} +1 -1
  390. package/dist/core/p-8558b9b7.entry.js +2 -0
  391. package/dist/core/{p-21cf2beb.entry.js.map → p-8558b9b7.entry.js.map} +1 -1
  392. package/dist/core/p-8684efeb.entry.js +2 -0
  393. package/dist/core/{p-fc3b1155.entry.js.map → p-8684efeb.entry.js.map} +1 -1
  394. package/dist/core/p-8b99a806.entry.js +2 -0
  395. package/dist/core/{p-8a4b12e4.entry.js.map → p-8b99a806.entry.js.map} +1 -1
  396. package/dist/core/p-93479c36.entry.js +2 -0
  397. package/dist/core/{p-19cf2327.entry.js.map → p-93479c36.entry.js.map} +1 -1
  398. package/dist/core/p-95d3d1a7.entry.js +2 -0
  399. package/dist/core/{p-6014ab64.entry.js.map → p-95d3d1a7.entry.js.map} +1 -1
  400. package/dist/core/p-99793b64.entry.js +2 -0
  401. package/dist/core/p-99793b64.entry.js.map +1 -0
  402. package/dist/core/{p-ea061ccf.entry.js → p-9a8bcb78.entry.js} +2 -2
  403. package/dist/core/{p-8b5022bc.entry.js → p-9cf6ccfd.entry.js} +2 -2
  404. package/dist/core/p-a06c1e4e.entry.js +2 -0
  405. package/dist/core/{p-f6a02202.entry.js.map → p-a06c1e4e.entry.js.map} +1 -1
  406. package/dist/core/p-a1857d24.entry.js +2 -0
  407. package/dist/core/p-a1857d24.entry.js.map +1 -0
  408. package/dist/core/p-a1e2e029.entry.js +2 -0
  409. package/dist/core/{p-a77364f5.entry.js.map → p-a1e2e029.entry.js.map} +1 -1
  410. package/dist/core/p-abd88929.entry.js +2 -0
  411. package/dist/core/{p-af9c391d.entry.js.map → p-abd88929.entry.js.map} +1 -1
  412. package/dist/core/p-b0376079.entry.js +2 -0
  413. package/dist/core/{p-41ef74a7.entry.js.map → p-b0376079.entry.js.map} +1 -1
  414. package/dist/core/p-b1838ad8.entry.js +2 -0
  415. package/dist/core/p-b1838ad8.entry.js.map +1 -0
  416. package/dist/core/{p-999f0a5d.entry.js → p-b4a2f6fa.entry.js} +2 -2
  417. package/dist/core/p-b57e59b7.js +2 -0
  418. package/dist/core/p-b57e59b7.js.map +1 -0
  419. package/dist/core/p-b9bdd9a9.entry.js +2 -0
  420. package/dist/core/p-b9bdd9a9.entry.js.map +1 -0
  421. package/dist/core/p-bddf799a.js +2 -0
  422. package/dist/core/p-bddf799a.js.map +1 -0
  423. package/dist/core/p-c04e1fab.entry.js +2 -0
  424. package/dist/core/{p-1e2f40b0.entry.js.map → p-c04e1fab.entry.js.map} +1 -1
  425. package/dist/core/p-c2d5e301.entry.js +2 -0
  426. package/dist/core/p-c2d5e301.entry.js.map +1 -0
  427. package/dist/core/p-c975cced.entry.js +2 -0
  428. package/dist/core/{p-15dbccc2.entry.js.map → p-c975cced.entry.js.map} +1 -1
  429. package/dist/core/p-cc00cbce.entry.js +2 -0
  430. package/dist/core/p-cc00cbce.entry.js.map +1 -0
  431. package/dist/core/p-cf868a24.entry.js +2 -0
  432. package/dist/core/p-cf868a24.entry.js.map +1 -0
  433. package/dist/core/p-d58ad080.entry.js +2 -0
  434. package/dist/core/{p-b52000d9.entry.js.map → p-d58ad080.entry.js.map} +1 -1
  435. package/dist/core/p-de32a223.entry.js +2 -0
  436. package/dist/core/{p-43324339.entry.js.map → p-de32a223.entry.js.map} +1 -1
  437. package/dist/core/p-e6dacbe2.entry.js +2 -0
  438. package/dist/core/{p-b0d488d0.entry.js.map → p-e6dacbe2.entry.js.map} +1 -1
  439. package/dist/core/p-e9d28e02.entry.js +2 -0
  440. package/dist/core/p-e9d28e02.entry.js.map +1 -0
  441. package/dist/core/p-ea06792a.entry.js +2 -0
  442. package/dist/core/{p-72a9909c.entry.js.map → p-ea06792a.entry.js.map} +1 -1
  443. package/dist/core/p-eb0e7153.entry.js +2 -0
  444. package/dist/core/{p-3dc54847.entry.js.map → p-eb0e7153.entry.js.map} +1 -1
  445. package/dist/core/p-f609ca37.entry.js +2 -0
  446. package/dist/core/{p-9323c234.entry.js.map → p-f609ca37.entry.js.map} +1 -1
  447. package/dist/core/p-fb69fbc0.entry.js +2 -0
  448. package/dist/core/{p-7cd4f6a6.entry.js.map → p-fb69fbc0.entry.js.map} +1 -1
  449. package/dist/core/p-fb734a59.entry.js +2 -0
  450. package/dist/core/p-fb734a59.entry.js.map +1 -0
  451. package/dist/esm/constants-7960cba4.js +177 -0
  452. package/dist/esm/constants-7960cba4.js.map +1 -0
  453. package/dist/esm/core.js +1 -1
  454. package/dist/esm/{helpers-56631aa0.js → helpers-4ddac6ed.js} +3 -175
  455. package/dist/esm/helpers-4ddac6ed.js.map +1 -0
  456. package/dist/esm/ic-accordion-group.entry.js +2 -1
  457. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  458. package/dist/esm/ic-accordion.entry.js +2 -1
  459. package/dist/esm/ic-accordion.entry.js.map +1 -1
  460. package/dist/esm/ic-action-chip.entry.js +2 -1
  461. package/dist/esm/ic-action-chip.entry.js.map +1 -1
  462. package/dist/esm/ic-alert.entry.js +3 -2
  463. package/dist/esm/ic-alert.entry.js.map +1 -1
  464. package/dist/esm/ic-back-to-top.entry.js +2 -1
  465. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  466. package/dist/esm/ic-badge.entry.js +2 -1
  467. package/dist/esm/ic-badge.entry.js.map +1 -1
  468. package/dist/esm/ic-breadcrumb-group.entry.js +2 -1
  469. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  470. package/dist/esm/ic-breadcrumb.entry.js +2 -1
  471. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  472. package/dist/esm/ic-button_3.entry.js +25 -18
  473. package/dist/esm/ic-button_3.entry.js.map +1 -1
  474. package/dist/esm/ic-card-vertical.entry.js +2 -1
  475. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  476. package/dist/esm/ic-checkbox-group.entry.js +8 -4
  477. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  478. package/dist/esm/ic-checkbox.entry.js +5 -4
  479. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  480. package/dist/esm/ic-chip.entry.js +7 -5
  481. package/dist/esm/ic-chip.entry.js.map +1 -1
  482. package/dist/esm/ic-data-list.entry.js +2 -2
  483. package/dist/esm/ic-data-row.entry.js +4 -3
  484. package/dist/esm/ic-data-row.entry.js.map +1 -1
  485. package/dist/esm/ic-dialog.entry.js +7 -4
  486. package/dist/esm/ic-dialog.entry.js.map +1 -1
  487. package/dist/esm/ic-divider.entry.js +2 -1
  488. package/dist/esm/ic-divider.entry.js.map +1 -1
  489. package/dist/esm/ic-empty-state.entry.js +4 -3
  490. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  491. package/dist/esm/ic-footer-link-group.entry.js +2 -1
  492. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  493. package/dist/esm/ic-footer-link.entry.js +4 -3
  494. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  495. package/dist/esm/ic-footer.entry.js +2 -1
  496. package/dist/esm/ic-footer.entry.js.map +1 -1
  497. package/dist/esm/ic-hero.entry.js +6 -5
  498. package/dist/esm/ic-hero.entry.js.map +1 -1
  499. package/dist/esm/ic-horizontal-scroll.entry.js +7 -6
  500. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  501. package/dist/esm/ic-input-component-container_3.entry.js +1388 -12
  502. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  503. package/dist/esm/ic-input-label_2.entry.js +24 -9
  504. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  505. package/dist/esm/ic-layout-grid-item.entry.js +2 -2
  506. package/dist/esm/ic-layout-grid.entry.js +2 -2
  507. package/dist/esm/ic-link.entry.js +3 -2
  508. package/dist/esm/ic-link.entry.js.map +1 -1
  509. package/dist/esm/ic-menu-group.entry.js +3 -2
  510. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  511. package/dist/esm/ic-menu-item.entry.js +2 -1
  512. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  513. package/dist/esm/ic-navigation-button.entry.js +2 -1
  514. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  515. package/dist/esm/ic-navigation-group.entry.js +3 -2
  516. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  517. package/dist/esm/ic-navigation-item.entry.js +2 -1
  518. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  519. package/dist/esm/ic-navigation-menu.entry.js +6 -5
  520. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  521. package/dist/esm/ic-page-header.entry.js +8 -7
  522. package/dist/esm/ic-page-header.entry.js.map +1 -1
  523. package/dist/esm/ic-pagination-item.entry.js +3 -2
  524. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  525. package/dist/esm/ic-pagination.entry.js +6 -5
  526. package/dist/esm/ic-pagination.entry.js.map +1 -1
  527. package/dist/esm/ic-popover-menu.entry.js +6 -5
  528. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  529. package/dist/esm/ic-radio-group.entry.js +15 -7
  530. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  531. package/dist/esm/ic-radio-option.entry.js +7 -6
  532. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  533. package/dist/esm/ic-search-bar.entry.js +11 -10
  534. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  535. package/dist/esm/ic-section-container.entry.js +2 -2
  536. package/dist/esm/ic-select.entry.js +20 -12
  537. package/dist/esm/ic-select.entry.js.map +1 -1
  538. package/dist/esm/ic-side-navigation.entry.js +6 -5
  539. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  540. package/dist/esm/ic-skeleton.entry.js +2 -2
  541. package/dist/esm/ic-skip-link.entry.js +2 -2
  542. package/dist/esm/ic-status-tag.entry.js +4 -3
  543. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  544. package/dist/esm/ic-step.entry.js +67 -54
  545. package/dist/esm/ic-step.entry.js.map +1 -1
  546. package/dist/esm/ic-stepper.entry.js +21 -3
  547. package/dist/esm/ic-stepper.entry.js.map +1 -1
  548. package/dist/esm/ic-switch.entry.js +6 -5
  549. package/dist/esm/ic-switch.entry.js.map +1 -1
  550. package/dist/esm/ic-tab-context.entry.js +10 -2
  551. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  552. package/dist/esm/ic-tab-group.entry.js +4 -3
  553. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  554. package/dist/esm/ic-tab-panel.entry.js +2 -2
  555. package/dist/esm/ic-tab.entry.js +2 -1
  556. package/dist/esm/ic-tab.entry.js.map +1 -1
  557. package/dist/esm/ic-text-field.entry.js +30 -21
  558. package/dist/esm/ic-text-field.entry.js.map +1 -1
  559. package/dist/esm/ic-theme.entry.js +3 -2
  560. package/dist/esm/ic-theme.entry.js.map +1 -1
  561. package/dist/esm/ic-toast-region.entry.js +1 -1
  562. package/dist/esm/ic-toast.entry.js +5 -4
  563. package/dist/esm/ic-toast.entry.js.map +1 -1
  564. package/dist/esm/ic-toggle-button-group.entry.js +4 -3
  565. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  566. package/dist/esm/ic-toggle-button.entry.js +4 -3
  567. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  568. package/dist/esm/ic-top-navigation.entry.js +2 -1
  569. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  570. package/dist/esm/ic-typography.entry.js +4 -3
  571. package/dist/esm/ic-typography.entry.js.map +1 -1
  572. package/dist/esm/index.js +1 -1
  573. package/dist/esm/loader.js +1 -1
  574. package/dist/types/components/ic-button/ic-button.d.ts +1 -0
  575. package/dist/types/components/ic-dialog/ic-dialog.d.ts +1 -0
  576. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +4 -3
  577. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +6 -2
  578. package/dist/types/components/ic-select/ic-select.d.ts +5 -1
  579. package/dist/types/components/ic-select/test/a11y/ic-select.test.a11y.d.ts +1 -0
  580. package/dist/types/components/ic-step/ic-step.d.ts +5 -1
  581. package/dist/types/components/ic-step/ic-step.types.d.ts +10 -0
  582. package/dist/types/components/ic-stepper/ic-stepper.d.ts +5 -1
  583. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +4 -0
  584. package/dist/types/components/ic-text-field/ic-text-field.d.ts +6 -1
  585. package/dist/types/components.d.ts +51 -9
  586. package/dist/types/index.d.ts +1 -0
  587. package/dist/types/interface.d.ts +0 -1
  588. package/dist/types/utils/common-helpers.d.ts +2 -0
  589. package/dist/types/utils/constants.d.ts +1 -0
  590. package/dist/types/utils/types.d.ts +2 -0
  591. package/hydrate/index.js +1721 -254
  592. package/hydrate/index.mjs +1721 -254
  593. package/package.json +5 -4
  594. package/vscode-data.json +51 -0
  595. package/dist/cjs/helpers-a0e78e2e.js.map +0 -1
  596. package/dist/collection/components/ic-input-validation/ic-input-validation.types.js +0 -2
  597. package/dist/collection/components/ic-input-validation/ic-input-validation.types.js.map +0 -1
  598. package/dist/core/p-0c0c6a9e.entry.js +0 -2
  599. package/dist/core/p-0d680d19.entry.js +0 -2
  600. package/dist/core/p-15dbccc2.entry.js +0 -2
  601. package/dist/core/p-19cf2327.entry.js +0 -2
  602. package/dist/core/p-1d37ac1c.entry.js +0 -2
  603. package/dist/core/p-1e2f40b0.entry.js +0 -2
  604. package/dist/core/p-21cf2beb.entry.js +0 -2
  605. package/dist/core/p-25007ec9.js +0 -2
  606. package/dist/core/p-25007ec9.js.map +0 -1
  607. package/dist/core/p-28efe829.entry.js +0 -2
  608. package/dist/core/p-28efe829.entry.js.map +0 -1
  609. package/dist/core/p-2f4f392f.entry.js +0 -2
  610. package/dist/core/p-313a8a2f.entry.js +0 -2
  611. package/dist/core/p-317e005f.entry.js +0 -2
  612. package/dist/core/p-3dc54847.entry.js +0 -2
  613. package/dist/core/p-3e5d7a3d.entry.js +0 -2
  614. package/dist/core/p-3e5d7a3d.entry.js.map +0 -1
  615. package/dist/core/p-41ef74a7.entry.js +0 -2
  616. package/dist/core/p-41f92698.entry.js +0 -2
  617. package/dist/core/p-43324339.entry.js +0 -2
  618. package/dist/core/p-45dd12ee.entry.js.map +0 -1
  619. package/dist/core/p-47f6dac2.entry.js +0 -2
  620. package/dist/core/p-47f6dac2.entry.js.map +0 -1
  621. package/dist/core/p-493eaabb.entry.js +0 -2
  622. package/dist/core/p-4ca782eb.entry.js +0 -2
  623. package/dist/core/p-4d1a3036.entry.js +0 -2
  624. package/dist/core/p-4d1a3036.entry.js.map +0 -1
  625. package/dist/core/p-52748d5c.entry.js +0 -2
  626. package/dist/core/p-595a4d06.entry.js +0 -2
  627. package/dist/core/p-595a4d06.entry.js.map +0 -1
  628. package/dist/core/p-5f68f62b.entry.js +0 -2
  629. package/dist/core/p-5f68f62b.entry.js.map +0 -1
  630. package/dist/core/p-6014ab64.entry.js +0 -2
  631. package/dist/core/p-661ae402.entry.js +0 -2
  632. package/dist/core/p-6a576a8b.entry.js +0 -2
  633. package/dist/core/p-6ed0ac48.entry.js +0 -2
  634. package/dist/core/p-711bfeed.entry.js +0 -2
  635. package/dist/core/p-72a9909c.entry.js +0 -2
  636. package/dist/core/p-742a9181.entry.js +0 -2
  637. package/dist/core/p-742a9181.entry.js.map +0 -1
  638. package/dist/core/p-7cd4f6a6.entry.js +0 -2
  639. package/dist/core/p-8a4b12e4.entry.js +0 -2
  640. package/dist/core/p-9323c234.entry.js +0 -2
  641. package/dist/core/p-97b93ddf.entry.js +0 -2
  642. package/dist/core/p-97b93ddf.entry.js.map +0 -1
  643. package/dist/core/p-9c013333.entry.js +0 -2
  644. package/dist/core/p-9eeb5e85.entry.js +0 -2
  645. package/dist/core/p-9f36791b.entry.js +0 -2
  646. package/dist/core/p-a602a8e1.entry.js +0 -2
  647. package/dist/core/p-a602a8e1.entry.js.map +0 -1
  648. package/dist/core/p-a77364f5.entry.js +0 -2
  649. package/dist/core/p-af9c391d.entry.js +0 -2
  650. package/dist/core/p-b0d488d0.entry.js +0 -2
  651. package/dist/core/p-b52000d9.entry.js +0 -2
  652. package/dist/core/p-bb4ce810.entry.js +0 -2
  653. package/dist/core/p-bb4ce810.entry.js.map +0 -1
  654. package/dist/core/p-cbe0d1bb.entry.js +0 -2
  655. package/dist/core/p-ceea1712.entry.js +0 -2
  656. package/dist/core/p-ceea1712.entry.js.map +0 -1
  657. package/dist/core/p-cf631191.entry.js +0 -2
  658. package/dist/core/p-e652ab09.entry.js +0 -2
  659. package/dist/core/p-e652ab09.entry.js.map +0 -1
  660. package/dist/core/p-e876e47c.entry.js +0 -2
  661. package/dist/core/p-e876e47c.entry.js.map +0 -1
  662. package/dist/core/p-ea778379.entry.js +0 -2
  663. package/dist/core/p-ef4b5469.entry.js +0 -2
  664. package/dist/core/p-f309d3af.entry.js +0 -2
  665. package/dist/core/p-f6a02202.entry.js +0 -2
  666. package/dist/core/p-fc3b1155.entry.js +0 -2
  667. package/dist/esm/helpers-56631aa0.js.map +0 -1
  668. package/dist/types/components/ic-input-validation/ic-input-validation.types.d.ts +0 -1
  669. /package/dist/core/{p-287e5c17.entry.js.map → p-37d217b5.entry.js.map} +0 -0
  670. /package/dist/core/{p-df88ff5b.entry.js.map → p-37daa8fe.entry.js.map} +0 -0
  671. /package/dist/core/{p-ffac41d6.entry.js.map → p-492fcb51.entry.js.map} +0 -0
  672. /package/dist/core/{p-6e8ef73c.entry.js.map → p-57721431.entry.js.map} +0 -0
  673. /package/dist/core/{p-5fbc8e62.entry.js.map → p-5fcfcfb6.entry.js.map} +0 -0
  674. /package/dist/core/{p-ea061ccf.entry.js.map → p-9a8bcb78.entry.js.map} +0 -0
  675. /package/dist/core/{p-8b5022bc.entry.js.map → p-9cf6ccfd.entry.js.map} +0 -0
  676. /package/dist/core/{p-999f0a5d.entry.js.map → p-b4a2f6fa.entry.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,f as e,h as s,H as l,g as a}from"./p-8e4e97b4.js";import{H as o,E as n,C as r,J as h,r as c,l as d,x as u,k as p,o as b,m as f,q as v,s as m,i as g,K as x,z as w,L as y}from"./p-25007ec9.js";const k=`<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">\n<path d="M7 9.5L12 14.5L17 9.5H7Z" fill="currentColor" />\n</svg>\n`;const L=`<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">\n<path d="M12.6666 4.27334L11.7266 3.33334L7.99998 7.06001L4.27331 3.33334L3.33331 4.27334L7.05998 8.00001L3.33331 11.7267L4.27331 12.6667L7.99998 8.94001L11.7266 12.6667L12.6666 11.7267L8.93998 8.00001L12.6666 4.27334Z" fill="currentColor" />\n</svg>\n`;const z='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;position:relative;--ic-input-label-helpertext-padding:var(--ic-space-xs);--menu-max-height:100px;--border-color:var(--ic-select-field-border);--border-color-hover:var(--ic-select-field-border-hover);--border-color-pressed:var(--ic-select-field-border-pressed);--border-color-disabled:var(--ic-select-field-border-disabled);--border-color-error:var(--ic-select-field-border-error);--border-color-error-hover:var(--ic-select-field-border-error-hover);--border-color-error-pressed:var(--ic-select-field-border-error-pressed);--border-color-success:var(--ic-select-field-border-success);--border-color-success-hover:var(--ic-select-field-border-success-hover);--border-color-success-pressed:var(--ic-select-field-border-success-pressed);--border-color-warning:var(--ic-select-field-border-warning);--border-color-warning-hover:var(--ic-select-field-border-warning-hover);--border-color-warning-pressed:var(--ic-select-field-border-warning-pressed);--ic-input-label-text-color:var(--ic-select-field-labe);--ic-input-label-helper-text-color:var(\n --ic-select-input-field-label-subtitle\n );--ic-input-validation-status-text-color:var(--ic-select-state-text);--ic-input-validation-error:var(--ic-select-state-icon-error);--ic-input-validation-warning-icon-color:var(--ic-select-state-icon-warning);--ic-input-validation-success-icon-color:var(--ic-select-state-icon-success);--menu-item-text-color:var(--ic-select-list-option-text);--menu-bg-color:var(--ic-select-list-option-background);--menu-border-color:var(--ic-select-dropdown-list-border)}:host(.ic-select-disabled){--ic-input-label-text-color:var(--ic-select-field-label-disabled);--ic-input-label-helper-text-color:var(\n --ic-select-input-field-label-subtitle-disabled\n )}:host(.ic-select-full-width){width:100%}ic-input-component-container.menu-open{--border-color:var(--ic-select-field-border-pressed)}ic-input-validation .status-icon,ic-input-validation .statustext{visibility:visible}ic-input-validation.menu-open .status-icon,ic-input-validation.menu-open .statustext{visibility:hidden;transition:visibility 0s}ic-input-label{margin-bottom:var(--ic-space-xs)}select{border:0;border-radius:var(--ic-border-radius);background-color:var(--ic-select-field-background);color:var(--ic-select-content-text);line-height:1.5rem;letter-spacing:0.005rem;width:100%;height:100%;padding-left:0.375rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right 0.375rem center;background-image:var(--ic-select-mobile-dropdown-icon);caret-color:var(--ic-select-input-field-text-cursor)}select option,.select-option-selected{color:var(--ic-select-list-option-text)}select:disabled{color:var(--ic-select-content-text-disabled);background-image:var(--ic-select-mobile-dropdown-icon-disabled)}select:focus{border:0;outline:0}select:not([disabled]){cursor:pointer}.select-container{width:100%;display:flex;align-items:center;position:relative}.select-input{width:100%;height:100%;padding:0 0.375rem;display:flex;cursor:pointer;align-items:center;justify-content:space-between;background:none;border:none;background-color:var(--ic-select-field-background);color:var(--ic-select-content-text)}.select-input:focus{outline:none}.select-input[disabled]{pointer-events:none}:host(.ic-select-searchable) .select-input{cursor:auto}.select-input.with-clear-button{padding-right:0}.value-text{max-width:calc(100% - (var(--ic-space-lg) + var(--ic-space-xxs)));box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-bottom:0 !important}.value-text.with-clear-button{padding-right:calc(var(--ic-space-xl) + var(--ic-space-xs))}.searchable-select-container{align-items:center;display:flex;width:100%;position:relative}.expand-icon{height:var(--ic-space-lg);padding-left:var(--ic-space-xxs);color:var(--ic-select-expand-icon-color)}.expand-icon>svg{display:inline-block;width:var(--ic-space-lg);height:var(--ic-space-lg)}:host(.ic-select-disabled) .expand-icon,:host(.ic-select-disabled) .expand-icon>svg>path{color:var(--ic-select-disabled-expand-icon-color)}:host(.ic-select-searchable) .expand-icon{padding-left:0;height:2.25rem}:host(.ic-select-searchable) .expand-icon>svg{height:2.25rem;padding:0 calc(var(--ic-space-xxxs) + var(--ic-space-xxs)) 0\n var(--ic-space-xxs)}:host(.ic-select-searchable:not(.ic-select-disabled)) .expand-icon>svg{cursor:pointer}.expand-icon-open{color:var(--ic-select-expand-icon-color)}.expand-icon-open,:host(.ic-select-searchable) .expand-icon-open{transform:rotateX(180deg)}.placeholder{color:var(--ic-select-content-placeholder-text)}:host(.ic-select-disabled.ic-select-searchable) .select-input::-moz-placeholder{color:var(--ic-select-content-text-disabled)}:host(.ic-select-disabled) .value-text,:host(.ic-select-disabled) .select-input,:host(.ic-select-disabled) .placeholder,:host(.ic-select-disabled.ic-select-searchable) .select-input::placeholder{color:var(--ic-select-content-text-disabled)}.select-input-end{display:flex;align-items:center}.clear-button-container{display:flex;align-items:center}.divider{width:var(--ic-space-1px);background-color:var(--ic-select-content-divider);margin:var(--ic-space-xxs) 0;border-radius:var(--ic-space-1px);height:var(--ic-space-lg)}:host(.ic-select-small) .divider{height:var(--ic-space-md)}:host(.ic-select-large) .divider{height:var(--ic-space-xl)}.clear-button{color:var(--ic-select-clear-button);position:absolute;right:calc(var(--ic-space-xl) + var(--ic-space-xxs) - var(--ic-space-1px));border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition)}.clear-button:focus,.clear-button:active{background-color:var(--ic-color-focus-inner);box-shadow:inset 0 0 0 0.125rem var(--ic-color-focus-outer);border-radius:0.25rem}.clear-button:focus,.clear-button:active *{fill:var(--ic-atoms-input-clear-button-focus)}.clear-button.searchable{position:static}.searchable-select-results-status,.multi-select-selected-count{border:0;clip:rect(0, 0, 0, 0, 0);height:var(--ic-space-1px);overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:var(--ic-space-1px)}::slotted([slot="icon"]){fill:var(--ic-select-content-placeholder-text)}.has-value ::slotted([slot="icon"]){fill:var(--ic-select-content-text)}.readonly ::slotted([slot="icon"]){padding:0.375rem;margin-bottom:0.75rem}@media (forced-colors: active){.has-value ::slotted([slot="icon"]){fill:currentcolor}}';const C=z;let O=0;const T=[...w,"tabindex","title"];const $=class{constructor(l){t(this,l);this.icBlur=i(this,"icBlur",7);this.icChange=i(this,"icChange",7);this.icClear=i(this,"icClear",7);this.icClose=i(this,"icClose",7);this.icFocus=i(this,"icFocus",7);this.icInput=i(this,"icInput",7);this.icOpen=i(this,"icOpen",7);this.icOptionSelect=i(this,"icOptionSelect",7);this.icOptionDeselect=i(this,"icOptionDeselect",7);this.icRetryLoad=i(this,"icRetryLoad",7);this.blurredBecauseButtonPressed=false;this.hasSetDefaultValue=false;this.hasTimedOut=false;this.inheritedAttributes={};this.initialOptionsEmpty=false;this.inputId=`ic-select-input-${O++}`;this.menuId=`${this.inputId}-menu`;this.retryButtonClick=false;this.searchableMenuItemSelected=false;this.ungroupedOptions=[];this.hostMutationObserver=null;this.clearButtonFocused=false;this.noOptions=null;this.open=false;this.pressedCharacters="";this.searchableSelectInputValue=null;this.disabled=false;this.disableAutoFiltering=false;this.emptyOptionListText="No results found";this.fullWidth=false;this.helperText="";this.hideLabel=false;this.includeDescriptionsInSearch=false;this.includeGroupTitlesInSearch=false;this.loadingErrorLabel="Loading Error";this.loadingLabel="Loading...";this.multiple=false;this.name=this.inputId;this.placeholder="Select an option";this.readonly=false;this.required=false;this.searchable=false;this.searchMatchPosition="anywhere";this.selectOnEnter=false;this.showClearButton=false;this.size="medium";this.theme="inherit";this.validationStatus="";this.validationText="";this.loading=false;this.options=[];this.filteredOptions=this.options;this.uniqueOptions=this.options;this.debounce=0;this.currDebounce=this.debounce;this.value=null;this.initialValue=this.value;this.inputValueToFilter=this.value;this.hostMutationCallback=t=>{let i=false;t.forEach((({attributeName:t,type:e,addedNodes:s,removedNodes:l})=>{if(t){const e=this.el.getAttribute(t);if(e&&T.includes(t)){this.inheritedAttributes[t]=e;i=true}}else if(e==="childList"){i=o(s,l,"icon")}}));if(i){e(this)}};this.handleRetry=t=>{var i;if(t.detail.keyPressed)(i=this.searchableSelectElement)===null||i===void 0?void 0:i.focus();this.blurredBecauseButtonPressed=true;this.retryButtonClick=true;this.hasSetDefaultValue=true;this.icRetryLoad.emit({value:this.searchable?this.searchableSelectInputValue:this.hiddenInputValue})};this.emitIcChange=t=>{if(this.multiple&&!Array.isArray(t)&&t!==null){if(this.value){let i=this.value.slice();if(this.value.includes(t)){i.splice(i.indexOf(t),1)}else{i.push(t);i=this.getValueSortedByOptions(i)}this.value=i.length===0?null:i}else{this.value=[t]}}else{this.value=t}this.icChange.emit({value:this.multiple?this.value:t})};this.emitIcInput=t=>{clearTimeout(this.debounceIcInput);this.debounceIcInput=window.setTimeout((()=>this.icInput.emit({value:t})),this.currDebounce)};this.setOptions=()=>{if(!this.hasTimedOut&&this.options!==this.noOptions){this.loading=false;clearTimeout(this.timeoutTimer);if(this.options.length>0){this.setOptionsValuesFromLabels();this.uniqueOptions=this.deduplicateOptions(this.options)}else{this.noOptions=[{label:this.emptyOptionListText,value:""}];this.uniqueOptions=this.noOptions}this.filteredOptions=this.uniqueOptions;if(this.isExternalFiltering()){this.noOptions=null;this.updateSearchableSelectResultAriaLive();this.setDefaultValue()}else if(this.initialOptionsEmpty){this.setDefaultValue();this.initialOptionsEmpty=false}}else if(!this.searchable){this.options=this.noOptions||[]}};this.deduplicateOptions=t=>{const i=[];const e=[];t.forEach((t=>{if(t.children){const s=[];t.children.forEach((t=>{if(i.includes(t.value)){console.warn(`ic-select with label ${this.label} was populated with duplicate option (value: ${t.value}) which has been removed.`)}else{i.push(t.value);s.push(t)}}));e.push(Object.assign(Object.assign({},t),{children:s}))}else{if(i.includes(t.value)){console.warn(`ic-select with label ${this.label} was populated with duplicate option (value: ${t.value}) which has been removed.`)}else{i.push(t.value);e.push(t)}}}));return e};this.setOptionsValuesFromLabels=()=>{if(this.options.length>0){this.options.map((t=>{if(!t.value){t.value=t.label}}))}};this.setUngroupedOptions=t=>{this.ungroupedOptions=t.detail.options};this.setTextColor=()=>{if(this.nativeSelectElement){this.nativeSelectElement.className=this.nativeSelectElement.selectedIndex===0?"placeholder":"select-option-selected"}};this.setMenuChange=t=>{if(this.open!==t){this.open=t}};this.getLabelFromValue=t=>n(t,this.uniqueOptions);this.getMultipleOptionsString=t=>t===null||t===void 0?void 0:t.map((t=>this.getLabelFromValue(t))).filter((t=>!!t)).join(", ");this.getFilteredChildMenuOptions=t=>Object.assign(Object.assign({},t),{children:t.children&&r(t.children,this.searchable&&!!this.includeDescriptionsInSearch,this.searchable?this.searchableSelectInputValue||"":this.pressedCharacters,this.searchable?this.searchMatchPosition:"start")});this.getValueSortedByOptions=t=>{const i=t;const e=this.ungroupedOptions.map((t=>t.value));i.sort(((t,i)=>e.indexOf(t)-e.indexOf(i)));return i};this.handleNativeSelectChange=()=>{if(this.nativeSelectElement){this.icOptionSelect.emit({value:this.nativeSelectElement.value});this.emitIcChange(this.nativeSelectElement.value)}this.setTextColor()};this.handleCustomSelectChange=t=>{var i,e;const{value:s,label:l,optionId:a}=t.detail;if(l===this.emptyOptionListText){(i=this.searchableSelectElement)===null||i===void 0?void 0:i.focus();return}if(this.searchable){this.value=s||null;this.searchableMenuItemSelected=true;if(this.value===this.currValue){this.searchableSelectInputValue=this.getLabelFromValue(this.value)||null}this.inputValueToFilter=null;this.hiddenInputValue=this.getValueFromLabel(this.searchableSelectInputValue)||null}if(s){if(this.multiple&&((e=this.value)===null||e===void 0?void 0:e.includes(s))){this.icOptionDeselect.emit({value:s})}else{this.icOptionSelect.emit({value:s})}}this.ariaActiveDescendant=a;this.emitIcChange(s||null)};this.handleSelectAllChange=({detail:t})=>{const i=this.ungroupedOptions.filter((t=>!t.disabled)).map((t=>t.value));if(t.select){const t=this.value?i.filter((t=>this.value&&!this.value.includes(t))):i;t.forEach((t=>this.icOptionSelect.emit({value:t})))}else{this.value.forEach((t=>this.icOptionDeselect.emit({value:t})))}this.emitIcChange(t.select?i:null)};this.handleMenuChange=t=>{this.open=t.detail.open;this.pressedCharacters="";if(this.searchable)this.handleFocusIndicatorDisplay()};this.handleMenuKeyPress=t=>{t.cancelBubble=true;if(!this.multiple){this.handleCharacterKeyDown(t.detail.key)}};this.handleFocusIndicatorDisplay=()=>{var t;const i=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(".focus-indicator");if(i){if(this.open){i.classList.add("focus-indicator-enabled")}else{i.classList.remove("focus-indicator-enabled")}}};this.handleMouseDown=t=>{if(!this.open){t.preventDefault()}};this.isExternalFiltering=()=>this.searchable&&!!this.disableAutoFiltering;this.handleClick=t=>{var i,e;if(!this.open&&this.menu){if(this.isExternalFiltering()){this.menu.options=this.filteredOptions}else if(!this.hasTimedOut&&!this.loading&&!((i=this.noOptions)===null||i===void 0?void 0:i.length)&&(!this.searchable||this.searchableMenuItemSelected)){this.noOptions=null;this.menu.options=this.uniqueOptions}}if(t.detail!==0){(e=this.menu)===null||e===void 0?void 0:e.handleClickOpen()}};this.handleExpandIconMouseDown=t=>{var i;if(!this.disabled){t.preventDefault();(i=this.searchableSelectElement)===null||i===void 0?void 0:i.focus();this.handleClick(t)}};this.handleClear=t=>{var i,e;t.stopPropagation();this.hasTimedOut=false;clearTimeout(this.timeoutTimer);this.clearInput();this.emitIcChange(null);this.icClear.emit();if(this.searchable){this.hiddenInputValue=null;(i=this.searchableSelectElement)===null||i===void 0?void 0:i.focus()}else{(e=this.customSelectElement)===null||e===void 0?void 0:e.focus()}};this.handleCharacterKeyDown=t=>{if(this.open&&t===" "&&this.pressedCharacters.length===0){this.setMenuChange(false)}if(t.length!==1||this.searchable){this.pressedCharacters="";return}window.clearTimeout(this.characterKeyPressTimer);this.characterKeyPressTimer=window.setTimeout((()=>this.pressedCharacters=""),1e3);if(t!==" "||!!this.pressedCharacters){this.pressedCharacters+=t;this.handleFilter();if(!this.noOptions){this.emitIcChange(this.filteredOptions[0].value)}}};this.handleNativeSelectKeyDown=t=>{if(t.key!=="Escape"&&t.key!=="Tab"||this.open){t.cancelBubble=true}this.handleCharacterKeyDown(t.key)};this.handleKeyDown=t=>{var i;if(t.key!=="Escape"&&t.key!=="Tab"||this.open){t.cancelBubble=true}const e=t.key==="ArrowDown"||t.key==="ArrowUp";if(this.menu&&!this.open){if(this.isExternalFiltering()&&(t.key==="Enter"||e)){this.menu.options=this.filteredOptions}else if(!this.hasTimedOut){this.noOptions=null;this.menu.options=this.uniqueOptions}}if(this.open&&t.key==="Enter"){this.setMenuChange(false)}else{if(!e||this.noOptions===null){if(t.key!==" "||this.pressedCharacters.length<=0){(i=this.menu)===null||i===void 0?void 0:i.handleKeyboardOpen(t)}if(!this.multiple){this.handleCharacterKeyDown(t.key)}}}};this.handleClearButtonFocus=()=>{this.clearButtonFocused=true};this.handleClearButtonBlur=t=>{var i;const e=(i=this.menu)===null||i===void 0?void 0:i.querySelector("#retry-button");if((!this.searchableSelectElement||t.relatedTarget!==this.searchableSelectElement)&&(!e||t.relatedTarget!==e)){this.setMenuChange(false);this.handleFocusIndicatorDisplay()}this.clearButtonFocused=false};this.handleFilter=()=>{var t;const i=this.deduplicateOptions(this.searchable?[...this.uniqueOptions]:this.ungroupedOptions);const e=i.some((t=>!!t.children));let s=[];let l;if(this.searchable){l=r(i,!!this.includeDescriptionsInSearch,this.inputValueToFilter||"",this.searchMatchPosition);this.searchableMenuItemSelected=false}else{l=r(i,false,this.pressedCharacters,"start")}if(!e&&((t=l[0])===null||t===void 0?void 0:t.label)!==this.emptyOptionListText){s=l}else if(e){s=i.map((t=>this.includeGroupTitlesInSearch&&l.indexOf(t)!==-1?t:this.getFilteredChildMenuOptions(t)))}if(s.length>0&&(!e||s.some((({children:t})=>t&&t.length>0)))){this.noOptions=null;this.filteredOptions=s}else{this.noOptions=[{label:this.emptyOptionListText,value:""}];this.filteredOptions=this.noOptions}};this.triggerLoading=()=>{this.hasTimedOut=false;this.noOptions=[{label:this.loadingLabel,value:"",loading:true}];if(this.filteredOptions!==this.noOptions&&this.searchable){this.filteredOptions=this.noOptions}else if(this.uniqueOptions!==this.noOptions&&!this.searchable){this.uniqueOptions=this.noOptions}if(this.timeout){this.timeoutTimer=window.setTimeout((()=>{this.loading=false;this.hasTimedOut=true;this.noOptions=[{label:this.loadingErrorLabel,value:"",timedOut:true}];this.filteredOptions=this.noOptions;if(!this.searchable)this.uniqueOptions=this.noOptions}),this.timeout)}};this.getValueFromLabel=t=>{var i;return t&&((i=this.uniqueOptions.find((i=>i.label===t)))===null||i===void 0?void 0:i.value)};this.handleSearchableSelectInput=t=>{this.searchableSelectInputValue=t.target.value;this.emitIcInput(this.searchableSelectInputValue);if(this.value!=null){this.emitIcChange(null)}this.hiddenInputValue=null;this.inputValueToFilter=this.searchableSelectInputValue;this.setMenuChange(true);if(!this.disableAutoFiltering){this.handleFilter();clearTimeout(this.debounceAria);window.setTimeout((()=>{this.updateSearchableSelectResultAriaLive()}),800)}};this.updateSearchableSelectResultAriaLive=()=>{var t;const i=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(".searchable-select-results-status");if(i){i.innerText=this.noOptions!==null?this.emptyOptionListText:""}};this.updateMultiSelectedCountAriaLive=()=>{var t,i;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(".multi-select-selected-count");const s=`${(i=this.currValue)===null||i===void 0?void 0:i.length} of ${h(this.options)} selected`;if(e&&e.innerText!==s){e.innerText=s}};this.getDefaultValue=t=>this.getLabelFromValue(t)||null;this.setDefaultValue=()=>{if(!this.hasSetDefaultValue&&this.currValue){this.searchableSelectInputValue=this.searchable?this.getDefaultValue(this.currValue):null;this.initialValue=this.currValue;this.hasSetDefaultValue=true}};this.onFocus=()=>{this.icFocus.emit()};this.onBlur=({relatedTarget:t})=>{var i;const e=t;if(e!==null&&(e.tagName==="UL"&&e.className.includes("menu")||e.tagName==="LI"&&e.className.includes("option"))){return}const s=(i=this.menu)===null||i===void 0?void 0:i.querySelector("#retry-button");if(this.searchable&&!!this.menu&&e!==this.menu&&!Array.from(this.menu.querySelectorAll("[role='option']")).includes(e)&&(!this.clearButton||e!==this.clearButton)&&(!s||e!==s)){if(!this.retryButtonClick){this.setMenuChange(false);if(!this.value){this.clearInput()}}this.handleFocusIndicatorDisplay()}this.retryButtonClick=false;this.icBlur.emit()};this.onTimeoutBlur=t=>{if(t.detail.ev.relatedTarget!==this.searchableSelectElement&&!this.blurredBecauseButtonPressed){this.setMenuChange(false);this.handleFocusIndicatorDisplay();this.icBlur.emit()}this.blurredBecauseButtonPressed=false};this.handleFormReset=()=>{this.value=this.initialValue;if(this.searchable){this.searchableSelectInputValue=this.getDefaultValue(this.value);this.hiddenInputValue=this.value}};this.clearInput=()=>{var t;this.noOptions=null;if(this.searchable){(t=this.searchableSelectElement)===null||t===void 0?void 0:t.setAttribute("value","");this.searchableSelectInputValue=null;this.filteredOptions=this.uniqueOptions}};this.renderNativeOption=t=>s("option",{value:t.value,disabled:t.disabled,selected:t.value===this.currValue},t.label)}watchDisabledHandler(){c(this.disabled,this.el)}loadingHandler(t){t?this.triggerLoading():this.setOptions()}watchOptionsHandler(){this.setOptions()}debounceChangedHandler(t){if(this.currDebounce!==t){this.currDebounce=t}}valueChangedHandler(){if(this.value!==this.currValue){if(this.value&&this.multiple){this.currValue=this.getMultipleOptionsString(this.value)?this.getValueSortedByOptions(this.value):null;this.updateMultiSelectedCountAriaLive()}else{this.currValue=this.getLabelFromValue(this.value)?this.value:null}}if(this.searchable&&this.value){this.searchableSelectInputValue=this.getLabelFromValue(String(this.currValue))||null}}openChangedHandler(){this.open?this.icOpen.emit():this.icClose.emit()}disconnectedCallback(){var t;d(this.el,this.handleFormReset);(t=this.hostMutationObserver)===null||t===void 0?void 0:t.disconnect()}componentWillLoad(){const t=this.multiple?this.getMultipleOptionsString(this.value):this.getLabelFromValue(this.value);this.currValue=t?this.value:null;this.inheritedAttributes=u(this.el,T);c(this.disabled,this.el);this.setOptionsValuesFromLabels();p(this.el,this.handleFormReset);if(!this.options.length){this.initialOptionsEmpty=true;this.noOptions=[{label:this.emptyOptionListText,value:""}];this.uniqueOptions=this.noOptions;this.filteredOptions=this.noOptions}else{this.setDefaultValue();this.uniqueOptions=this.deduplicateOptions(this.options)}}componentDidLoad(){b([{prop:this.label,propName:"label"}],"Select");if(this.loading){this.triggerLoading()}if(this.searchable){this.hiddenInputValue=this.currValue}this.hostMutationObserver=new MutationObserver(this.hostMutationCallback);this.hostMutationObserver.observe(this.el,{attributes:true,childList:true})}componentDidRender(){if(this.nativeSelectElement&&!this.disabled){this.setTextColor()}}async setFocus(){if(this.nativeSelectElement){this.nativeSelectElement.focus()}else if(this.customSelectElement){this.customSelectElement.focus()}else if(this.searchableSelectElement){this.searchableSelectElement.focus()}}render(){var t;const{size:i,disabled:e,fullWidth:a,helperText:o,hideLabel:n,label:r,menuId:c,multiple:d,name:u,options:p,placeholder:b,readonly:w,required:z,searchable:C,showClearButton:O,validationStatus:T,validationText:$,currValue:H,theme:M,hiddenInputValue:B,open:S,inputId:D,searchableSelectInputValue:E,loading:j,value:I,emptyOptionListText:q,uniqueOptions:F,selectOnEnter:A,form:K,inheritedAttributes:N,ariaActiveDescendant:W,hasTimedOut:R,noOptions:U,filteredOptions:V,clearButtonFocused:Z}=this;f(this.el,C?B:H,u||D,e);const J=`${T===y.Error}`;const P=v(this.el,D,o!=="",m(T,!!e)).trim();const X=d?this.getMultipleOptionsString(H):this.getLabelFromValue(H);const _=!e&&(C?!!E:!!H&&!j&&O);return s(l,{key:"7b99a667632c04cccbe465f90c4f5a9436ed04e2",class:{"ic-select-disabled":e,"ic-select-searchable":C,[`ic-select-${i}`]:i!=="medium","ic-select-full-width":a,[`ic-theme-${M}`]:M!=="inherit"},onBlur:this.onBlur},s("ic-input-container",{key:"be3746b8ac59d37562999157b5b70fbc5fb6cc18",readonly:w},!n&&s("ic-input-label",{key:"ccb2417565197ba5d71ce4ed25c2951a042bdcab",for:D,label:r,helperText:o,required:z,disabled:e,readonly:w},s("slot",{key:"eec64f5e410f4bbdfbea7afd23f8fd3bc4592429",name:"helper-text",slot:"helper-text"})),s("ic-input-component-container",{key:"1b059596836c96987edadd6b0ec5a46c057e5fb6",ref:t=>this.anchorEl=t,class:{"menu-open":S},size:i,fullWidth:a,disabled:e,readonly:w,validationStatus:T},g(this.el,"icon")&&!e&&(!w||!!I)&&s("span",{key:"594527db6666a07c89038b173b1abd7e4191efc5",slot:"left-icon",class:{readonly:w,"has-value":!!I}},s("slot",{key:"5b982f545b7a35f2a2b16ca15278de2c6decfd00",name:"icon"})),w?s("ic-typography",null,s("p",null,X)):x()&&!d?s("select",Object.assign({ref:t=>this.nativeSelectElement=t,disabled:e,onChange:this.handleNativeSelectChange,required:z,id:D,"aria-label":r,"aria-describedby":P,"aria-invalid":J,onBlur:this.onBlur,onFocus:this.onFocus,onKeyDown:this.handleNativeSelectKeyDown,form:K},N),s("option",{value:"",selected:true,disabled:!O},b),p.map((t=>t.children?s("optgroup",{label:t.label},t.children.map((t=>this.renderNativeOption(t)))):this.renderNativeOption(t)))):C?s("div",{class:"searchable-select-container"},s("input",{class:{"value-text":true,"select-input":true,"with-clear-button":!!E},role:"combobox",autocomplete:"off","aria-label":r,"aria-describedby":P,"aria-activedescendant":W,"aria-autocomplete":"list","aria-expanded":`${S}`,"aria-invalid":J,"aria-required":`${z}`,"aria-controls":c,ref:t=>this.searchableSelectElement=t,id:D,value:E||undefined,placeholder:b,disabled:e,onInput:this.handleSearchableSelectInput,onClick:this.handleClick,onKeyDown:this.handleKeyDown,onFocus:this.onFocus,onBlur:this.onBlur,form:K}),_&&s("div",{class:"clear-button-container"},s("ic-button",{id:"clear-button",ref:t=>this.clearButton=t,"aria-label":E&&(H===null||j)?"Clear input":"Clear selection",class:"clear-button",innerHTML:L,onClick:this.handleClear,onFocus:this.handleClearButtonFocus,onBlur:this.handleClearButtonBlur,size:i,variant:"icon",theme:Z?"light":"dark"}),s("div",{class:"divider"})),s("span",{onMouseDown:this.handleExpandIconMouseDown,class:{"expand-icon":true,"expand-icon-open":S},innerHTML:k,"aria-hidden":"true"}),s("div",{"aria-live":"polite",role:"status",class:"searchable-select-results-status"})):s("div",{class:"select-container"},s("button",{class:"select-input",ref:t=>this.customSelectElement=t,id:D,"aria-label":`${r}, ${(d&&H?`${H.length} of ${h(p)} selected, ${X}`:X)||b}${z?", required":""}`,"aria-describedby":P,"aria-invalid":J,"aria-haspopup":"listbox","aria-expanded":`${S}`,"aria-owns":c,"aria-controls":c,disabled:e,onBlur:this.onBlur,onFocus:this.onFocus,onClick:this.handleClick,onMouseDown:this.handleMouseDown,onKeyDown:this.handleKeyDown},s("ic-typography",{variant:"body",class:{"value-text":true,"with-clear-button":_,placeholder:!j&&d?!I||I.length<1:!this.getLabelFromValue(H)}},X||b),s("div",{class:"select-input-end"},_&&s("div",{class:"divider"}),s("span",{class:{"expand-icon":true,"expand-icon-open":S},innerHTML:k,"aria-hidden":"true"}))),_&&s("ic-button",{id:"clear-button","aria-label":"Clear selection",class:"clear-button",innerHTML:L,onClick:this.handleClear,onFocus:this.handleClearButtonFocus,onBlur:this.handleClearButtonBlur,size:i,variant:"icon",theme:Z?"light":"dark"}))),(!x()||d)&&s("ic-menu",{key:"1fc149003752e654e7509577e4e501bb53185c5f",class:{"no-results":j||R||((t=U===null||U===void 0?void 0:U[0])===null||t===void 0?void 0:t.label)===q},ref:t=>this.menu=t,inputEl:C?this.searchableSelectElement:this.customSelectElement,inputLabel:r,anchorEl:this.anchorEl,size:i,menuId:c,open:S,options:C?V:F,value:d?H:H,fullWidth:a,selectOnEnter:A,onMenuStateChange:this.handleMenuChange,onMenuOptionSelect:this.handleCustomSelectChange,onMenuOptionSelectAll:this.handleSelectAllChange,onMenuKeyPress:this.handleMenuKeyPress,onUngroupedOptionsSet:this.setUngroupedOptions,onRetryButtonClicked:this.handleRetry,parentEl:this.el,onTimeoutBlur:this.onTimeoutBlur,activationType:C||d||A?"manual":"automatic",closeOnSelect:!d,multiSelect:d?true:false,searchableSelect:C?true:false}),d&&s("div",{key:"a48405db489c3ef668ed0d8df77220d212577a6a","aria-live":"polite",role:"status",class:"multi-select-selected-count"}),m(T,e)&&s("ic-input-validation",{key:"fbdc0a3dcecda44c020ed309d87472b67020292f",class:{"menu-open":S},ariaLiveMode:"polite",status:T,message:$,for:D})))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{disabled:["watchDisabledHandler"],loading:["loadingHandler"],options:["watchOptionsHandler"],debounce:["debounceChangedHandler"],value:["valueChangedHandler"],open:["openChangedHandler"]}}};$.style=C;export{$ as ic_select};
2
- //# sourceMappingURL=p-bb4ce810.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icSelectCss","IcSelectStyle0","inputIds","MUTABLE_ATTRIBUTES","IC_INHERITED_ARIA","Select","constructor","hostRef","this","blurredBecauseButtonPressed","hasSetDefaultValue","hasTimedOut","inheritedAttributes","initialOptionsEmpty","inputId","menuId","retryButtonClick","searchableMenuItemSelected","ungroupedOptions","hostMutationObserver","clearButtonFocused","noOptions","open","pressedCharacters","searchableSelectInputValue","disabled","disableAutoFiltering","emptyOptionListText","fullWidth","helperText","hideLabel","includeDescriptionsInSearch","includeGroupTitlesInSearch","loadingErrorLabel","loadingLabel","multiple","name","placeholder","readonly","required","searchable","searchMatchPosition","selectOnEnter","showClearButton","size","theme","validationStatus","validationText","loading","options","filteredOptions","uniqueOptions","debounce","currDebounce","value","initialValue","inputValueToFilter","hostMutationCallback","mutationList","forceComponentUpdate","forEach","attributeName","type","addedNodes","removedNodes","attribute","el","getAttribute","includes","checkSlotInChildMutations","forceUpdate","handleRetry","ev","detail","keyPressed","_a","searchableSelectElement","focus","icRetryLoad","emit","hiddenInputValue","emitIcChange","Array","isArray","valueArray","slice","splice","indexOf","push","getValueSortedByOptions","length","icChange","emitIcInput","clearTimeout","debounceIcInput","window","setTimeout","icInput","setOptions","timeoutTimer","setOptionsValuesFromLabels","deduplicateOptions","label","isExternalFiltering","updateSearchableSelectResultAriaLive","setDefaultValue","uniqueValues","dedupedOptions","option","children","dedupedChildren","child","console","warn","Object","assign","map","setUngroupedOptions","event","setTextColor","nativeSelectElement","className","selectedIndex","setMenuChange","getLabelFromValue","getMultipleOptionsString","selectedValues","filter","join","getFilteredChildMenuOptions","getFilteredMenuOptions","valuesFromAllOptions","sort","a","b","handleNativeSelectChange","icOptionSelect","handleCustomSelectChange","optionId","currValue","getValueFromLabel","_b","icOptionDeselect","ariaActiveDescendant","handleSelectAllChange","allValues","select","unselectedValues","handleMenuChange","handleFocusIndicatorDisplay","handleMenuKeyPress","cancelBubble","handleCharacterKeyDown","key","focusIndicator","shadowRoot","querySelector","classList","add","remove","handleMouseDown","preventDefault","handleClick","menu","handleClickOpen","handleExpandIconMouseDown","handleClear","stopPropagation","clearInput","icClear","customSelectElement","characterKeyPressTimer","handleFilter","handleNativeSelectKeyDown","handleKeyDown","isArrowKey","handleKeyboardOpen","handleClearButtonFocus","handleClearButtonBlur","retryButton","relatedTarget","isGrouped","some","newFilteredOptions","menuOptionsFiltered","triggerLoading","timeout","timedOut","find","handleSearchableSelectInput","target","debounceAria","searchableSelectResultsStatusEl","innerText","updateMultiSelectedCountAriaLive","multiSelectSelectedCountEl","selectedCount","getOptionsWithoutGroupTitlesCount","getDefaultValue","onFocus","icFocus","onBlur","tagName","from","querySelectorAll","clearButton","icBlur","onTimeoutBlur","handleFormReset","setAttribute","renderNativeOption","h","selected","watchDisabledHandler","removeDisabledFalse","loadingHandler","newValue","watchOptionsHandler","debounceChangedHandler","valueChangedHandler","String","openChangedHandler","icOpen","icClose","disconnectedCallback","removeFormResetListener","disconnect","componentWillLoad","valueInOptions","inheritAttributes","addFormResetListener","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","MutationObserver","observe","attributes","childList","componentDidRender","setFocus","render","form","renderHiddenInput","invalid","IcInformationStatus","Error","describedBy","getInputDescribedByText","hasValidationStatus","trim","valueLabelString","isClearable","Host","class","for","slot","ref","anchorEl","isSlotUsed","isMobileOrTablet","onChange","id","onKeyDown","role","autocomplete","undefined","onInput","onClick","innerHTML","Clear","variant","onMouseDown","Expand","inputEl","inputLabel","onMenuStateChange","onMenuOptionSelect","onMenuOptionSelectAll","onMenuKeyPress","onUngroupedOptionsSet","onRetryButtonClicked","parentEl","activationType","closeOnSelect","multiSelect","searchableSelect","ariaLiveMode","status","message"],"sources":["src/components/ic-select/ic-select.css?tag=ic-select&encapsulation=shadow","src/components/ic-select/ic-select.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --input-width: Width of the input field\n * @prop --menu-width: Width of the dropdown menu\n * @prop --ic-z-index-menu: z-index of select menu\n */\n\n:host {\n display: block;\n position: relative;\n\n --ic-input-label-helpertext-padding: var(--ic-space-xs);\n --menu-max-height: 100px;\n --border-color: var(--ic-select-field-border);\n --border-color-hover: var(--ic-select-field-border-hover);\n --border-color-pressed: var(--ic-select-field-border-pressed);\n --border-color-disabled: var(--ic-select-field-border-disabled);\n --border-color-error: var(--ic-select-field-border-error);\n --border-color-error-hover: var(--ic-select-field-border-error-hover);\n --border-color-error-pressed: var(--ic-select-field-border-error-pressed);\n --border-color-success: var(--ic-select-field-border-success);\n --border-color-success-hover: var(--ic-select-field-border-success-hover);\n --border-color-success-pressed: var(--ic-select-field-border-success-pressed);\n --border-color-warning: var(--ic-select-field-border-warning);\n --border-color-warning-hover: var(--ic-select-field-border-warning-hover);\n --border-color-warning-pressed: var(--ic-select-field-border-warning-pressed);\n --ic-input-label-text-color: var(--ic-select-field-labe);\n --ic-input-label-helper-text-color: var(\n --ic-select-input-field-label-subtitle\n );\n --ic-input-validation-status-text-color: var(--ic-select-state-text);\n --ic-input-validation-error: var(--ic-select-state-icon-error);\n --ic-input-validation-warning-icon-color: var(--ic-select-state-icon-warning);\n --ic-input-validation-success-icon-color: var(--ic-select-state-icon-success);\n --menu-item-text-color: var(--ic-select-list-option-text);\n --menu-bg-color: var(--ic-select-list-option-background);\n --menu-border-color: var(--ic-select-dropdown-list-border);\n}\n\n:host(.ic-select-disabled) {\n --ic-input-label-text-color: var(--ic-select-field-label-disabled);\n --ic-input-label-helper-text-color: var(\n --ic-select-input-field-label-subtitle-disabled\n );\n}\n\n:host(.ic-select-full-width) {\n width: 100%;\n}\n\nic-input-component-container.menu-open {\n --border-color: var(--ic-select-field-border-pressed);\n}\n\nic-input-validation .status-icon,\nic-input-validation .statustext {\n visibility: visible;\n}\n\nic-input-validation.menu-open .status-icon,\nic-input-validation.menu-open .statustext {\n visibility: hidden;\n transition: visibility 0s;\n}\n\nic-input-label {\n margin-bottom: var(--ic-space-xs);\n}\n\nselect {\n border: 0;\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-select-field-background);\n color: var(--ic-select-content-text);\n line-height: 1.5rem;\n letter-spacing: 0.005rem;\n width: 100%;\n height: 100%;\n padding-left: 0.375rem;\n appearance: none;\n background-repeat: no-repeat;\n background-position: right 0.375rem center;\n background-image: var(--ic-select-mobile-dropdown-icon);\n caret-color: var(--ic-select-input-field-text-cursor);\n}\n\nselect option,\n.select-option-selected {\n color: var(--ic-select-list-option-text);\n}\n\nselect:disabled {\n color: var(--ic-select-content-text-disabled);\n background-image: var(--ic-select-mobile-dropdown-icon-disabled);\n}\n\nselect:focus {\n border: 0;\n outline: 0;\n}\n\nselect:not([disabled]) {\n cursor: pointer;\n}\n\n.select-container {\n width: 100%;\n display: flex;\n align-items: center;\n position: relative;\n}\n\n.select-input {\n width: 100%;\n height: 100%;\n padding: 0 0.375rem;\n display: flex;\n cursor: pointer;\n align-items: center;\n justify-content: space-between;\n background: none;\n border: none;\n background-color: var(--ic-select-field-background);\n color: var(--ic-select-content-text);\n}\n\n.select-input:focus {\n outline: none;\n}\n\n.select-input[disabled] {\n pointer-events: none;\n}\n\n:host(.ic-select-searchable) .select-input {\n cursor: auto;\n}\n\n.select-input.with-clear-button {\n padding-right: 0;\n}\n\n.value-text {\n max-width: calc(100% - (var(--ic-space-lg) + var(--ic-space-xxs)));\n box-sizing: border-box;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n margin-bottom: 0 !important;\n}\n\n.value-text.with-clear-button {\n padding-right: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n.searchable-select-container {\n align-items: center;\n display: flex;\n width: 100%;\n position: relative;\n}\n\n.expand-icon {\n height: var(--ic-space-lg);\n padding-left: var(--ic-space-xxs);\n color: var(--ic-select-expand-icon-color);\n}\n\n.expand-icon > svg {\n display: inline-block;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.ic-select-disabled) .expand-icon,\n:host(.ic-select-disabled) .expand-icon > svg > path {\n color: var(--ic-select-disabled-expand-icon-color);\n}\n\n:host(.ic-select-searchable) .expand-icon {\n padding-left: 0;\n height: 2.25rem;\n}\n\n:host(.ic-select-searchable) .expand-icon > svg {\n height: 2.25rem;\n padding: 0 calc(var(--ic-space-xxxs) + var(--ic-space-xxs)) 0\n var(--ic-space-xxs);\n}\n\n:host(.ic-select-searchable:not(.ic-select-disabled)) .expand-icon > svg {\n cursor: pointer;\n}\n\n.expand-icon-open {\n color: var(--ic-select-expand-icon-color);\n}\n\n.expand-icon-open,\n:host(.ic-select-searchable) .expand-icon-open {\n transform: rotateX(180deg);\n}\n\n.placeholder {\n color: var(--ic-select-content-placeholder-text);\n}\n\n:host(.ic-select-disabled) .value-text,\n:host(.ic-select-disabled) .select-input,\n:host(.ic-select-disabled) .placeholder,\n:host(.ic-select-disabled.ic-select-searchable) .select-input::placeholder {\n color: var(--ic-select-content-text-disabled);\n}\n\n.select-input-end {\n display: flex;\n align-items: center;\n}\n\n.clear-button-container {\n display: flex;\n align-items: center;\n}\n\n.divider {\n width: var(--ic-space-1px);\n background-color: var(--ic-select-content-divider);\n margin: var(--ic-space-xxs) 0;\n border-radius: var(--ic-space-1px);\n height: var(--ic-space-lg);\n}\n\n:host(.ic-select-small) .divider {\n height: var(--ic-space-md);\n}\n\n:host(.ic-select-large) .divider {\n height: var(--ic-space-xl);\n}\n\n.clear-button {\n color: var(--ic-select-clear-button);\n position: absolute;\n right: calc(var(--ic-space-xl) + var(--ic-space-xxs) - var(--ic-space-1px));\n border-radius: var(--ic-border-radius);\n transition: box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);\n}\n\n.clear-button:focus,\n.clear-button:active {\n background-color: var(--ic-color-focus-inner);\n box-shadow: inset 0 0 0 0.125rem var(--ic-color-focus-outer);\n border-radius: 0.25rem;\n}\n\n.clear-button:focus,\n.clear-button:active * {\n fill: var(--ic-atoms-input-clear-button-focus);\n}\n\n.clear-button.searchable {\n position: static;\n}\n\n.searchable-select-results-status,\n.multi-select-selected-count {\n border: 0;\n clip: rect(0, 0, 0, 0, 0);\n height: var(--ic-space-1px);\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: var(--ic-space-1px);\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-select-content-placeholder-text);\n}\n\n.has-value ::slotted([slot=\"icon\"]) {\n fill: var(--ic-select-content-text);\n}\n\n.readonly ::slotted([slot=\"icon\"]) {\n padding: 0.375rem;\n margin-bottom: 0.75rem;\n}\n\n@media (forced-colors: active) {\n .has-value ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n h,\n State,\n Watch,\n forceUpdate,\n} from \"@stencil/core\";\n\nimport {\n getInputDescribedByText,\n getLabelFromValue,\n hasValidationStatus,\n inheritAttributes,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n isMobileOrTablet,\n getFilteredMenuOptions,\n getOptionsWithoutGroupTitlesCount,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n checkSlotInChildMutations,\n isSlotUsed,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n IcMenuOption,\n IcSearchMatchPositions,\n IcMultiValueEventDetail,\n IcSizes,\n IcThemeMode,\n} from \"../../utils/types\";\nimport Expand from \"./assets/Expand.svg\";\nimport Clear from \"./assets/Clear.svg\";\nimport {\n IcMenuChangeEventDetail,\n IcOptionSelectEventDetail,\n} from \"../ic-menu/ic-menu.types\";\n\nlet inputIds = 0;\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"tabindex\", \"title\"];\n\n/**\n * @slot helper-text - Content is set as the helper text for the select.\n * @slot icon - Content will be placed to the left of the select text input.\n */\n@Component({\n tag: \"ic-select\",\n styleUrl: \"ic-select.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Select {\n private anchorEl?: HTMLElement;\n private blurredBecauseButtonPressed = false;\n private characterKeyPressTimer?: number;\n private clearButton?: HTMLIcButtonElement;\n private customSelectElement?: HTMLButtonElement;\n private debounceAria?: number;\n private hasSetDefaultValue = false;\n private hasTimedOut = false;\n private inheritedAttributes: { [k: string]: string } = {};\n private initialOptionsEmpty = false;\n private inputId = `ic-select-input-${inputIds++}`;\n private menu?: HTMLIcMenuElement;\n private menuId = `${this.inputId}-menu`;\n private nativeSelectElement?: HTMLSelectElement;\n private retryButtonClick = false;\n private searchableMenuItemSelected = false;\n private searchableSelectElement?: HTMLInputElement;\n private timeoutTimer?: number;\n private ungroupedOptions: IcMenuOption[] = [];\n private hostMutationObserver: MutationObserver | null = null;\n\n @Element() el!: HTMLIcSelectElement;\n\n @State() ariaActiveDescendant?: string;\n @State() clearButtonFocused = false;\n @State() debounceIcInput?: number;\n @State() hiddenInputValue: string | null;\n @State() noOptions: IcMenuOption[] | null = null;\n @State() open = false;\n @State() pressedCharacters = \"\";\n @State() searchableSelectInputValue: string | null = null;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop({ reflect: true }) disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the built in filtering will be disabled for a searchable variant. For example, if options will already be filtered from external source.\n */\n @Prop() disableAutoFiltering = false;\n\n /**\n * The text displayed when there are no options in the option list.\n */\n @Prop() emptyOptionListText = \"No results found\";\n\n /**\n * The <form> element to associate the select with.\n */\n @Prop() form?: string;\n\n /**\n * If `true`, the select will fill the width of the container.\n */\n @Prop() fullWidth = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText = \"\";\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel = false;\n\n /**\n * If `true`, descriptions of options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n @Prop() includeDescriptionsInSearch = false;\n\n /**\n * If `true`, group titles of grouped options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n @Prop() includeGroupTitlesInSearch = false;\n\n /**\n * The label for the select.\n */\n @Prop() label!: string;\n\n /**\n * The message displayed when external loading times out.\n */\n @Prop() loadingErrorLabel = \"Loading Error\";\n\n /**\n * The message displayed whilst the options are being loaded externally.\n */\n @Prop() loadingLabel = \"Loading...\";\n\n /**\n * If `true`, multiple options can be selected.\n */\n @Prop() multiple = false;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name = this.inputId;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder = \"Select an option\";\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly = false;\n\n /**\n * If `true`, the select will require a value.\n */\n @Prop() required = false;\n\n /**\n * If `true`, a searchable variant of the select will be displayed which can be typed in to filter options. This functionality is only available on the single-select variant of the select component.\n */\n @Prop() searchable = false;\n\n /**\n * Whether the search string of the searchable select should match the start of or anywhere in the options. Only applies to built in filtering.\n */\n @Prop() searchMatchPosition: IcSearchMatchPositions = \"anywhere\";\n\n /**\n * If `true`, the icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown on the single select.\n */\n @Prop() selectOnEnter = false;\n\n /**\n * If `true`, a button which clears the select input when clicked will be displayed. The button will always appear on the searchable select.\n */\n @Prop() showClearButton = false;\n\n /**\n * The size of the select.\n */\n @Prop() size: IcSizes = \"medium\";\n\n /**\n * If using external filtering, set a timeout for when loading takes too long.\n */\n @Prop() timeout?: number;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * The 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 = \"\";\n\n /**\n * If `true`, the loading state will be triggered when fetching options asynchronously.\n */\n @Prop({ mutable: true }) loading = false;\n @Watch(\"loading\")\n loadingHandler(newValue: boolean): void {\n newValue ? this.triggerLoading() : this.setOptions();\n }\n\n /**\n * The possible selection options.\n */\n @Prop() options: IcMenuOption[] = [];\n @State() filteredOptions: IcMenuOption[] = this.options;\n @State() uniqueOptions: IcMenuOption[] = this.options;\n @Watch(\"options\")\n watchOptionsHandler(): void {\n this.setOptions();\n }\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icInput` event after each keystroke.\n */\n @Prop() debounce = 0;\n @State() currDebounce = this.debounce;\n @Watch(\"debounce\")\n debounceChangedHandler(newValue: number): void {\n if (this.currDebounce !== newValue) {\n this.currDebounce = newValue;\n }\n }\n\n /**\n * The value of the select, reflected by the value of the currently selected option.\n * For the searchable variant, the value is also reflected by the user input.\n * For the multi-select variant, the value must be an array of option values.\n */\n @Prop({ mutable: true }) value: string | string[] | null = null;\n @State() initialValue = this.value;\n @State() inputValueToFilter: string | null = this.value as string;\n @State() currValue: string | string[] | null;\n @Watch(\"value\")\n valueChangedHandler(): void {\n if (this.value !== this.currValue) {\n if (this.value && this.multiple) {\n this.currValue = this.getMultipleOptionsString(this.value as string[])\n ? this.getValueSortedByOptions(this.value as string[])\n : null;\n this.updateMultiSelectedCountAriaLive();\n } else {\n this.currValue = this.getLabelFromValue(this.value as string)\n ? this.value\n : null;\n }\n }\n\n if (this.searchable && this.value) {\n // Only set if value not null - prevents whole input value being cleared when edited\n this.searchableSelectInputValue =\n this.getLabelFromValue(String(this.currValue)) || null;\n }\n }\n\n @Watch(\"open\")\n openChangedHandler(): void {\n this.open ? this.icOpen.emit() : this.icClose.emit();\n }\n\n /**\n * Emitted when the select loses focus.\n */\n @Event() icBlur: EventEmitter<void>;\n\n /**\n * Emitted when the value changes.\n */\n @Event() icChange: EventEmitter<IcMultiValueEventDetail>;\n\n /**\n * Emitted when the clear or clear all button is clicked.\n */\n @Event() icClear: EventEmitter<void>;\n\n /**\n * Emitted when the select options menu is closed.\n */\n @Event() icClose: EventEmitter<void>;\n\n /**\n * Emitted when the select gains focus.\n */\n @Event() icFocus: EventEmitter<void>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcMultiValueEventDetail>;\n\n /**\n * Emitted when the select options menu is opened.\n */\n @Event() icOpen: EventEmitter<void>;\n\n /**\n * Emitted when an option is selected.\n * Selecting an option will also trigger an `icChange/onIcChange` due to the value being updated.\n */\n @Event() icOptionSelect: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * Emitted when `multiple` is `true` and an option is deselected.\n */\n @Event() icOptionDeselect: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * Emitted when the 'retry loading' button is clicked for a searchable variant.\n */\n @Event() icRetryLoad: EventEmitter<IcMultiValueEventDetail>;\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n const valueInOptions = this.multiple\n ? this.getMultipleOptionsString(this.value as string[])\n : this.getLabelFromValue(this.value as string);\n this.currValue = valueInOptions ? this.value : null;\n this.inheritedAttributes = inheritAttributes(this.el, MUTABLE_ATTRIBUTES);\n\n removeDisabledFalse(this.disabled, this.el);\n\n this.setOptionsValuesFromLabels();\n\n addFormResetListener(this.el, this.handleFormReset);\n\n if (!this.options.length) {\n this.initialOptionsEmpty = true;\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.uniqueOptions = this.noOptions;\n this.filteredOptions = this.noOptions;\n } else {\n this.setDefaultValue();\n this.uniqueOptions = this.deduplicateOptions(this.options);\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Select\"\n );\n\n if (this.loading) {\n this.triggerLoading();\n }\n\n if (this.searchable) {\n this.hiddenInputValue = this.currValue as string;\n }\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n childList: true,\n });\n }\n\n componentDidRender(): void {\n if (this.nativeSelectElement && !this.disabled) {\n this.setTextColor();\n }\n }\n\n /**\n * Sets focus on the input box.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.nativeSelectElement) {\n this.nativeSelectElement.focus();\n } else if (this.customSelectElement) {\n this.customSelectElement.focus();\n } else if (this.searchableSelectElement) {\n this.searchableSelectElement.focus();\n }\n }\n\n // triggered when attributes of host element change\n private hostMutationCallback = (mutationList: MutationRecord[]) => {\n let forceComponentUpdate = false;\n mutationList.forEach(\n ({ attributeName, type, addedNodes, removedNodes }) => {\n if (attributeName) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute && MUTABLE_ATTRIBUTES.includes(attributeName)) {\n this.inheritedAttributes[attributeName] = attribute;\n forceComponentUpdate = true;\n }\n } else if (type === \"childList\") {\n forceComponentUpdate = checkSlotInChildMutations(\n addedNodes,\n removedNodes,\n \"icon\"\n );\n }\n }\n );\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n private handleRetry = (ev: CustomEvent<IcMultiValueEventDetail>) => {\n if (ev.detail.keyPressed) this.searchableSelectElement?.focus();\n this.blurredBecauseButtonPressed = true;\n this.retryButtonClick = true;\n this.hasSetDefaultValue = true;\n this.icRetryLoad.emit({\n value: this.searchable\n ? this.searchableSelectInputValue\n : this.hiddenInputValue,\n });\n };\n\n private emitIcChange = (value: string | string[] | null) => {\n // If \"Select all\" button clicked, replace value with new value (array of all option values)\n if (this.multiple && !Array.isArray(value) && value !== null) {\n // Update selected options - adds / removes them, in order of option list\n // Create new array if value prop is undefined\n if (this.value) {\n let valueArray = (this.value as string[]).slice();\n\n if (this.value.includes(value)) {\n valueArray.splice(valueArray.indexOf(value), 1);\n } else {\n valueArray.push(value);\n valueArray = this.getValueSortedByOptions(valueArray);\n }\n\n this.value = valueArray.length === 0 ? null : valueArray;\n } else {\n this.value = [value];\n }\n } else {\n this.value = value;\n }\n\n this.icChange.emit({ value: this.multiple ? this.value : value });\n };\n\n private emitIcInput = (value: string) => {\n clearTimeout(this.debounceIcInput);\n this.debounceIcInput = window.setTimeout(\n () => this.icInput.emit({ value }),\n this.currDebounce\n );\n };\n\n private setOptions = () => {\n if (!this.hasTimedOut && this.options !== this.noOptions) {\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n\n if (this.options.length > 0) {\n this.setOptionsValuesFromLabels();\n this.uniqueOptions = this.deduplicateOptions(this.options);\n } else {\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.uniqueOptions = this.noOptions;\n }\n\n this.filteredOptions = this.uniqueOptions;\n\n if (this.isExternalFiltering()) {\n // When searchable select\n this.noOptions = null;\n this.updateSearchableSelectResultAriaLive();\n this.setDefaultValue();\n } else if (this.initialOptionsEmpty) {\n this.setDefaultValue();\n this.initialOptionsEmpty = false;\n }\n } else if (!this.searchable) {\n this.options = this.noOptions || [];\n }\n };\n\n /**\n * Processes the provided array of IcMenuOptions, removing duplicates and reporting them with a console.warn\n * @param options array of IcMenuOptions\n * @returns a new options object, with all entries possessing a duplicate 'value' field removed\n */\n private deduplicateOptions = (options: IcMenuOption[]) => {\n const uniqueValues: string[] = [];\n const dedupedOptions: IcMenuOption[] = [];\n\n options.forEach((option) => {\n if (option.children) {\n //If an option has children, we will loop through them\n const dedupedChildren: IcMenuOption[] = [];\n option.children.forEach((child) => {\n if (uniqueValues.includes(child.value)) {\n console.warn(\n `ic-select with label ${this.label} was populated with duplicate option (value: ${child.value}) which has been removed.`\n );\n } else {\n uniqueValues.push(child.value);\n dedupedChildren.push(child);\n }\n });\n // construct a modified option, inserting the deduplicated children alongside the original information\n dedupedOptions.push({\n ...option,\n children: dedupedChildren,\n });\n } else {\n // If an option does not have children, assess to see if it's value has been included already\n if (uniqueValues.includes(option.value)) {\n console.warn(\n `ic-select with label ${this.label} was populated with duplicate option (value: ${option.value}) which has been removed.`\n );\n } else {\n uniqueValues.push(option.value);\n dedupedOptions.push(option);\n }\n }\n });\n return dedupedOptions;\n };\n\n /**\n * Loop through options array and for all options with no value, infer it from the label\n */\n private setOptionsValuesFromLabels = () => {\n if (this.options.length > 0) {\n this.options.map((option) => {\n if (!option.value) {\n option.value = option.label;\n }\n });\n }\n };\n\n private setUngroupedOptions = (event: CustomEvent) => {\n this.ungroupedOptions = event.detail.options;\n };\n\n private setTextColor = () => {\n if (this.nativeSelectElement) {\n this.nativeSelectElement.className =\n this.nativeSelectElement.selectedIndex === 0\n ? \"placeholder\"\n : \"select-option-selected\";\n }\n };\n\n private setMenuChange = (open: boolean) => {\n if (this.open !== open) {\n this.open = open;\n }\n };\n\n private getLabelFromValue = (value: string) =>\n getLabelFromValue(value, this.uniqueOptions);\n\n private getMultipleOptionsString = (selectedValues: string[]) =>\n selectedValues\n ?.map((value) => this.getLabelFromValue(value))\n .filter((label) => !!label)\n .join(\", \");\n\n private getFilteredChildMenuOptions = (\n option: IcMenuOption\n ): IcMenuOption => ({\n ...option,\n children:\n option.children &&\n getFilteredMenuOptions(\n option.children,\n this.searchable && !!this.includeDescriptionsInSearch,\n this.searchable\n ? this.searchableSelectInputValue || \"\"\n : this.pressedCharacters,\n this.searchable ? this.searchMatchPosition : \"start\"\n ),\n });\n\n // (For multi-select) get value array, i.e. selected option values, in order they appear in option list\n private getValueSortedByOptions = (value: string[]) => {\n const valueArray = value;\n const valuesFromAllOptions = this.ungroupedOptions.map(\n (option) => option.value\n );\n\n valueArray.sort(\n (a, b) =>\n valuesFromAllOptions.indexOf(a) - valuesFromAllOptions.indexOf(b)\n );\n\n return valueArray;\n };\n\n private handleNativeSelectChange = () => {\n if (this.nativeSelectElement) {\n this.icOptionSelect.emit({ value: this.nativeSelectElement.value });\n this.emitIcChange(this.nativeSelectElement.value);\n }\n this.setTextColor();\n };\n\n // Handle option select for when a custom input box and menu is rendered\n // (rather than native <select> - rendered when viewed on a mobile / tablet screen)\n private handleCustomSelectChange = (\n event: CustomEvent<IcOptionSelectEventDetail>\n ) => {\n const { value, label, optionId } = event.detail;\n\n if (label === this.emptyOptionListText) {\n this.searchableSelectElement?.focus();\n return;\n }\n\n if (this.searchable) {\n this.value = value || null;\n this.searchableMenuItemSelected = true;\n\n // After editing the input, if selecting the same option as before, set the input value to label again\n if (this.value === this.currValue) {\n this.searchableSelectInputValue =\n this.getLabelFromValue(this.value as string) || null;\n }\n\n this.inputValueToFilter = null;\n this.hiddenInputValue =\n this.getValueFromLabel(this.searchableSelectInputValue) || null;\n }\n\n if (value) {\n if (this.multiple && this.value?.includes(value)) {\n this.icOptionDeselect.emit({ value });\n } else {\n this.icOptionSelect.emit({ value });\n }\n }\n\n this.ariaActiveDescendant = optionId;\n this.emitIcChange(value || null);\n };\n\n private handleSelectAllChange = ({\n detail,\n }: CustomEvent<{ select: boolean }>) => {\n const allValues = this.ungroupedOptions\n .filter((option) => !option.disabled)\n .map((option) => option.value);\n\n if (detail.select) {\n // Only emit icOptionSelect for all values that are newly selected\n const unselectedValues = this.value\n ? allValues.filter(\n (value) => this.value && !(this.value as string[]).includes(value)\n )\n : allValues;\n\n unselectedValues.forEach((value) => this.icOptionSelect.emit({ value }));\n } else {\n // Only emit icOptionDeselect for values that were selected\n (this.value as string[]).forEach((value) =>\n this.icOptionDeselect.emit({ value })\n );\n }\n\n this.emitIcChange(detail.select ? allValues : null);\n };\n\n private handleMenuChange = (event: CustomEvent<IcMenuChangeEventDetail>) => {\n this.open = event.detail.open;\n this.pressedCharacters = \"\";\n\n if (this.searchable) this.handleFocusIndicatorDisplay();\n };\n\n // clears the debounce delay when navigating the menu with arrow keys etc\n // to prevent delay in change event, which should only occur when typing in input\n private handleMenuKeyPress = (ev: CustomEvent): void => {\n ev.cancelBubble = true;\n if (!this.multiple) {\n this.handleCharacterKeyDown(ev.detail.key);\n }\n };\n\n private handleFocusIndicatorDisplay = () => {\n const focusIndicator =\n this.el.shadowRoot?.querySelector(\".focus-indicator\");\n\n if (focusIndicator) {\n if (this.open) {\n focusIndicator.classList.add(\"focus-indicator-enabled\");\n } else {\n focusIndicator.classList.remove(\"focus-indicator-enabled\");\n }\n }\n };\n\n private handleMouseDown = (event: Event) => {\n if (!this.open) {\n event.preventDefault();\n }\n };\n\n private isExternalFiltering = () =>\n this.searchable && !!this.disableAutoFiltering;\n\n private handleClick = (event: MouseEvent) => {\n if (!this.open && this.menu) {\n if (this.isExternalFiltering()) {\n this.menu.options = this.filteredOptions;\n } else if (\n !this.hasTimedOut &&\n !this.loading &&\n !this.noOptions?.length &&\n (!this.searchable || this.searchableMenuItemSelected)\n ) {\n this.noOptions = null;\n this.menu.options = this.uniqueOptions;\n }\n }\n\n if (event.detail !== 0) {\n this.menu?.handleClickOpen();\n }\n };\n\n private handleExpandIconMouseDown = (event: MouseEvent) => {\n if (!this.disabled) {\n event.preventDefault();\n this.searchableSelectElement?.focus();\n this.handleClick(event);\n }\n };\n\n private handleClear = (event: Event) => {\n event.stopPropagation();\n this.hasTimedOut = false;\n clearTimeout(this.timeoutTimer);\n this.clearInput();\n this.emitIcChange(null);\n this.icClear.emit();\n\n if (this.searchable) {\n this.hiddenInputValue = null;\n this.searchableSelectElement?.focus();\n } else {\n this.customSelectElement?.focus();\n }\n };\n\n private handleCharacterKeyDown = (key: string) => {\n // Only close menu when space is pressed if not being used alongside character keys to quickly select options\n if (this.open && key === \" \" && this.pressedCharacters.length === 0) {\n this.setMenuChange(false);\n }\n\n if (key.length !== 1 || this.searchable) {\n this.pressedCharacters = \"\";\n return;\n }\n\n window.clearTimeout(this.characterKeyPressTimer);\n this.characterKeyPressTimer = window.setTimeout(\n () => (this.pressedCharacters = \"\"),\n 1000\n );\n\n if (key !== \" \" || !!this.pressedCharacters) {\n this.pressedCharacters += key;\n this.handleFilter();\n\n if (!this.noOptions) {\n this.emitIcChange(this.filteredOptions[0].value);\n }\n }\n };\n\n private handleNativeSelectKeyDown = (event: KeyboardEvent) => {\n if ((event.key !== \"Escape\" && event.key !== \"Tab\") || this.open) {\n event.cancelBubble = true;\n }\n this.handleCharacterKeyDown(event.key);\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if ((event.key !== \"Escape\" && event.key !== \"Tab\") || this.open) {\n event.cancelBubble = true;\n }\n const isArrowKey = event.key === \"ArrowDown\" || event.key === \"ArrowUp\";\n\n if (this.menu && !this.open) {\n if (this.isExternalFiltering() && (event.key === \"Enter\" || isArrowKey)) {\n this.menu.options = this.filteredOptions;\n } else if (!this.hasTimedOut) {\n this.noOptions = null;\n this.menu.options = this.uniqueOptions;\n }\n }\n\n if (this.open && event.key === \"Enter\") {\n this.setMenuChange(false);\n } else {\n if (!isArrowKey || this.noOptions === null) {\n if (event.key !== \" \" || this.pressedCharacters.length <= 0) {\n // Keyboard events get passed onto ic-menu\n this.menu?.handleKeyboardOpen(event);\n }\n if (!this.multiple) {\n this.handleCharacterKeyDown(event.key);\n }\n }\n }\n };\n\n private handleClearButtonFocus = () => {\n this.clearButtonFocused = true;\n };\n\n private handleClearButtonBlur = (ev: FocusEvent) => {\n const retryButton = this.menu?.querySelector(\"#retry-button\");\n if (\n (!this.searchableSelectElement ||\n ev.relatedTarget !== this.searchableSelectElement) &&\n (!retryButton || ev.relatedTarget !== retryButton)\n ) {\n this.setMenuChange(false);\n this.handleFocusIndicatorDisplay();\n }\n this.clearButtonFocused = false;\n };\n\n private handleFilter = () => {\n const options = this.deduplicateOptions(\n this.searchable ? [...this.uniqueOptions] : this.ungroupedOptions\n );\n\n const isGrouped = options.some((option) => !!option.children);\n let newFilteredOptions: IcMenuOption[] = [];\n\n let menuOptionsFiltered: IcMenuOption[];\n\n if (this.searchable) {\n menuOptionsFiltered = getFilteredMenuOptions(\n options,\n !!this.includeDescriptionsInSearch,\n this.inputValueToFilter || \"\",\n this.searchMatchPosition\n );\n this.searchableMenuItemSelected = false;\n } else {\n menuOptionsFiltered = getFilteredMenuOptions(\n options,\n false,\n this.pressedCharacters,\n \"start\"\n );\n }\n\n if (\n !isGrouped &&\n menuOptionsFiltered[0]?.label !== this.emptyOptionListText\n ) {\n newFilteredOptions = menuOptionsFiltered;\n } else if (isGrouped) {\n newFilteredOptions = options.map((option) =>\n this.includeGroupTitlesInSearch &&\n menuOptionsFiltered.indexOf(option) !== -1\n ? option\n : this.getFilteredChildMenuOptions(option)\n );\n }\n\n if (\n newFilteredOptions.length > 0 &&\n (!isGrouped ||\n newFilteredOptions.some(\n ({ children }) => children && children.length > 0\n ))\n ) {\n this.noOptions = null;\n this.filteredOptions = newFilteredOptions;\n } else {\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.filteredOptions = this.noOptions;\n }\n };\n\n /**\n * Put the select component into loading state.\n * Replace options with the loading message. If timeout is enabled, set the timeout and once passed, replace options with the loading error message\n */\n private triggerLoading = () => {\n this.hasTimedOut = false;\n this.noOptions = [{ label: this.loadingLabel, value: \"\", loading: true }];\n if (this.filteredOptions !== this.noOptions && this.searchable) {\n this.filteredOptions = this.noOptions;\n } else if (this.uniqueOptions !== this.noOptions && !this.searchable) {\n this.uniqueOptions = this.noOptions;\n }\n if (this.timeout) {\n this.timeoutTimer = window.setTimeout(() => {\n this.loading = false;\n this.hasTimedOut = true;\n this.noOptions = [\n { label: this.loadingErrorLabel, value: \"\", timedOut: true },\n ];\n this.filteredOptions = this.noOptions;\n if (!this.searchable) this.uniqueOptions = this.noOptions;\n }, this.timeout);\n }\n };\n\n private getValueFromLabel = (label: string | null): string | undefined =>\n label && this.uniqueOptions.find((option) => option.label === label)?.value;\n\n private handleSearchableSelectInput = (event: Event) => {\n this.searchableSelectInputValue = (event.target as HTMLInputElement).value;\n this.emitIcInput(this.searchableSelectInputValue);\n\n // De-select previous selection when input is edited\n // Only emit icChange once when editing input\n if (this.value != null) {\n this.emitIcChange(null);\n }\n\n this.hiddenInputValue = null;\n this.inputValueToFilter = this.searchableSelectInputValue;\n this.setMenuChange(true);\n\n if (!this.disableAutoFiltering) {\n this.handleFilter();\n clearTimeout(this.debounceAria);\n\n window.setTimeout(() => {\n this.updateSearchableSelectResultAriaLive();\n }, 800);\n }\n };\n\n private updateSearchableSelectResultAriaLive = () => {\n const searchableSelectResultsStatusEl =\n this.el.shadowRoot?.querySelector<HTMLDivElement>(\n \".searchable-select-results-status\"\n );\n\n if (searchableSelectResultsStatusEl) {\n searchableSelectResultsStatusEl.innerText =\n this.noOptions !== null ? this.emptyOptionListText : \"\";\n }\n };\n\n private updateMultiSelectedCountAriaLive = () => {\n const multiSelectSelectedCountEl =\n this.el.shadowRoot?.querySelector<HTMLDivElement>(\n \".multi-select-selected-count\"\n );\n\n const selectedCount = `${\n this.currValue?.length\n } of ${getOptionsWithoutGroupTitlesCount(this.options)} selected`;\n\n if (\n multiSelectSelectedCountEl &&\n multiSelectSelectedCountEl.innerText !== selectedCount\n ) {\n multiSelectSelectedCountEl.innerText = selectedCount;\n }\n };\n\n private getDefaultValue = (value: string) =>\n this.getLabelFromValue(value) || null;\n\n private setDefaultValue = () => {\n if (!this.hasSetDefaultValue && this.currValue) {\n this.searchableSelectInputValue = this.searchable\n ? this.getDefaultValue(this.currValue as string)\n : null;\n\n this.initialValue = this.currValue;\n this.hasSetDefaultValue = true;\n }\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = ({ relatedTarget }: FocusEvent) => {\n const target = relatedTarget as HTMLElement;\n if (\n target !== null &&\n ((target.tagName === \"UL\" && target.className.includes(\"menu\")) ||\n (target.tagName === \"LI\" && target.className.includes(\"option\")))\n ) {\n return;\n }\n\n const retryButton = this.menu?.querySelector(\"#retry-button\");\n\n if (\n this.searchable &&\n !!this.menu &&\n target !== this.menu &&\n !Array.from(this.menu.querySelectorAll(\"[role='option']\")).includes(\n target\n ) &&\n (!this.clearButton || target !== this.clearButton) &&\n (!retryButton || target !== retryButton)\n ) {\n if (!this.retryButtonClick) {\n this.setMenuChange(false);\n // Clear input field on blur when searchable if no option is selected\n if (!this.value) {\n this.clearInput();\n }\n }\n this.handleFocusIndicatorDisplay();\n }\n\n this.retryButtonClick = false;\n this.icBlur.emit();\n };\n\n private onTimeoutBlur = (ev: CustomEvent) => {\n if (\n (ev.detail.ev as FocusEvent).relatedTarget !==\n this.searchableSelectElement &&\n !this.blurredBecauseButtonPressed\n ) {\n this.setMenuChange(false);\n this.handleFocusIndicatorDisplay();\n this.icBlur.emit();\n }\n this.blurredBecauseButtonPressed = false;\n };\n\n private handleFormReset = () => {\n this.value = this.initialValue;\n if (this.searchable) {\n this.searchableSelectInputValue = this.getDefaultValue(\n this.value as string\n );\n this.hiddenInputValue = this.value as string;\n }\n };\n\n private clearInput = () => {\n this.noOptions = null;\n\n if (this.searchable) {\n this.searchableSelectElement?.setAttribute(\"value\", \"\");\n this.searchableSelectInputValue = null;\n this.filteredOptions = this.uniqueOptions;\n }\n };\n\n private renderNativeOption = (option: IcMenuOption) => (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.value === this.currValue}\n >\n {option.label}\n </option>\n );\n\n render() {\n const {\n size,\n disabled,\n fullWidth,\n helperText,\n hideLabel,\n label,\n menuId,\n multiple,\n name,\n options,\n placeholder,\n readonly,\n required,\n searchable,\n showClearButton,\n validationStatus,\n validationText,\n currValue,\n theme,\n hiddenInputValue,\n open,\n inputId,\n searchableSelectInputValue,\n loading,\n value,\n emptyOptionListText,\n uniqueOptions,\n selectOnEnter,\n form,\n inheritedAttributes,\n ariaActiveDescendant,\n hasTimedOut,\n noOptions,\n filteredOptions,\n clearButtonFocused,\n } = this;\n\n // HTML inputs only accept 'string' for their value\n // Does not cause errors when it is a multi-select - sets value correctly, to a comma-separated string\n renderHiddenInput(\n this.el,\n searchable ? hiddenInputValue : (currValue as string),\n name || inputId,\n disabled\n );\n\n const invalid = `${validationStatus === IcInformationStatus.Error}`;\n\n const describedBy = getInputDescribedByText(\n this.el,\n inputId,\n helperText !== \"\",\n hasValidationStatus(validationStatus, !!disabled)\n ).trim();\n\n const valueLabelString = multiple\n ? this.getMultipleOptionsString(currValue as string[])\n : this.getLabelFromValue(currValue as string);\n\n const isClearable =\n !disabled &&\n (searchable\n ? !!searchableSelectInputValue\n : !!currValue && !loading && showClearButton);\n\n return (\n <Host\n class={{\n \"ic-select-disabled\": disabled,\n \"ic-select-searchable\": searchable,\n [`ic-select-${size}`]: size !== \"medium\",\n \"ic-select-full-width\": fullWidth,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n onBlur={this.onBlur}\n >\n <ic-input-container readonly={readonly}>\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabled}\n readonly={readonly}\n >\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\n </ic-input-label>\n )}\n <ic-input-component-container\n ref={(el) => (this.anchorEl = el)}\n class={{ \"menu-open\": open }}\n size={size}\n fullWidth={fullWidth}\n disabled={disabled}\n readonly={readonly}\n validationStatus={validationStatus}\n >\n {isSlotUsed(this.el, \"icon\") &&\n !disabled &&\n (!readonly || !!value) && (\n <span\n slot=\"left-icon\"\n class={{\n readonly,\n \"has-value\": !!value,\n }}\n >\n <slot name=\"icon\" />\n </span>\n )}\n {readonly ? (\n <ic-typography>\n <p>{valueLabelString}</p>\n </ic-typography>\n ) : isMobileOrTablet() && !multiple ? (\n <select\n ref={(el) => (this.nativeSelectElement = el)}\n disabled={disabled}\n onChange={this.handleNativeSelectChange}\n required={required}\n id={inputId}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onKeyDown={this.handleNativeSelectKeyDown}\n form={form}\n {...inheritedAttributes}\n >\n <option value=\"\" selected disabled={!showClearButton}>\n {placeholder}\n </option>\n {options.map((option) =>\n option.children ? (\n <optgroup label={option.label}>\n {option.children.map((child) =>\n this.renderNativeOption(child)\n )}\n </optgroup>\n ) : (\n this.renderNativeOption(option)\n )\n )}\n </select>\n ) : searchable ? (\n <div class=\"searchable-select-container\">\n <input\n class={{\n \"value-text\": true,\n \"select-input\": true,\n \"with-clear-button\": !!searchableSelectInputValue,\n }}\n role=\"combobox\"\n autocomplete=\"off\"\n aria-label={label}\n aria-describedby={describedBy}\n aria-activedescendant={ariaActiveDescendant}\n aria-autocomplete=\"list\"\n aria-expanded={`${open}`}\n aria-invalid={invalid}\n aria-required={`${required}`}\n aria-controls={menuId}\n ref={(el) => (this.searchableSelectElement = el)}\n id={inputId}\n value={searchableSelectInputValue || undefined}\n placeholder={placeholder}\n disabled={disabled}\n onInput={this.handleSearchableSelectInput}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n form={form}\n ></input>\n {isClearable && (\n <div class=\"clear-button-container\">\n <ic-button\n id=\"clear-button\"\n ref={(el) => (this.clearButton = el)}\n aria-label={\n searchableSelectInputValue &&\n (currValue === null || loading)\n ? \"Clear input\"\n : \"Clear selection\"\n }\n class=\"clear-button\"\n innerHTML={Clear}\n onClick={this.handleClear}\n onFocus={this.handleClearButtonFocus}\n onBlur={this.handleClearButtonBlur}\n size={size}\n variant=\"icon\"\n theme={clearButtonFocused ? \"light\" : \"dark\"}\n ></ic-button>\n <div class=\"divider\"></div>\n </div>\n )}\n <span\n onMouseDown={this.handleExpandIconMouseDown}\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": open,\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n <div\n aria-live=\"polite\"\n role=\"status\"\n class=\"searchable-select-results-status\"\n ></div>\n </div>\n ) : (\n <div class=\"select-container\">\n <button\n class=\"select-input\"\n ref={(el) => (this.customSelectElement = el)}\n id={inputId}\n aria-label={`${label}, ${\n (multiple && currValue\n ? `${\n currValue.length\n } of ${getOptionsWithoutGroupTitlesCount(\n options\n )} selected, ${valueLabelString}`\n : valueLabelString) || placeholder\n }${required ? \", required\" : \"\"}`}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n aria-haspopup=\"listbox\"\n aria-expanded={`${open}`}\n aria-owns={menuId}\n aria-controls={menuId}\n disabled={disabled}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onClick={this.handleClick}\n onMouseDown={this.handleMouseDown}\n onKeyDown={this.handleKeyDown}\n >\n <ic-typography\n variant=\"body\"\n class={{\n \"value-text\": true,\n \"with-clear-button\": isClearable,\n placeholder:\n !loading && multiple\n ? !value || value.length < 1\n : !this.getLabelFromValue(currValue as string),\n }}\n >\n {valueLabelString || placeholder}\n </ic-typography>\n <div class=\"select-input-end\">\n {isClearable && <div class=\"divider\"></div>}\n <span\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": open,\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n </div>\n </button>\n {isClearable && (\n <ic-button\n id=\"clear-button\"\n aria-label=\"Clear selection\"\n class=\"clear-button\"\n innerHTML={Clear}\n onClick={this.handleClear}\n onFocus={this.handleClearButtonFocus}\n onBlur={this.handleClearButtonBlur}\n size={size}\n variant=\"icon\"\n theme={clearButtonFocused ? \"light\" : \"dark\"}\n ></ic-button>\n )}\n </div>\n )}\n </ic-input-component-container>\n {(!isMobileOrTablet() || multiple) && (\n <ic-menu\n class={{\n \"no-results\":\n loading ||\n hasTimedOut ||\n noOptions?.[0]?.label === emptyOptionListText,\n }}\n ref={(el) => (this.menu = el)}\n inputEl={\n searchable\n ? this.searchableSelectElement\n : this.customSelectElement\n }\n inputLabel={label}\n anchorEl={this.anchorEl}\n size={size}\n menuId={menuId}\n open={open}\n options={searchable ? filteredOptions : uniqueOptions}\n value={multiple ? (currValue as string[]) : (currValue as string)}\n fullWidth={fullWidth}\n selectOnEnter={selectOnEnter}\n onMenuStateChange={this.handleMenuChange}\n onMenuOptionSelect={this.handleCustomSelectChange}\n onMenuOptionSelectAll={this.handleSelectAllChange}\n onMenuKeyPress={this.handleMenuKeyPress}\n onUngroupedOptionsSet={this.setUngroupedOptions}\n onRetryButtonClicked={this.handleRetry}\n parentEl={this.el}\n onTimeoutBlur={this.onTimeoutBlur}\n activationType={\n searchable || multiple || selectOnEnter ? \"manual\" : \"automatic\"\n }\n closeOnSelect={!multiple}\n multiSelect={multiple ? true : false}\n searchableSelect={searchable ? true : false}\n ></ic-menu>\n )}\n {multiple && (\n <div\n aria-live=\"polite\"\n role=\"status\"\n class=\"multi-select-selected-count\"\n ></div>\n )}\n {hasValidationStatus(validationStatus, disabled) && (\n <ic-input-validation\n class={{ \"menu-open\": open }}\n ariaLiveMode=\"polite\"\n status={validationStatus}\n message={validationText}\n for={inputId}\n ></ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as e,H as o,g as a}from"./p-8e4e97b4.js";import{h as r,b as s}from"./p-25007ec9.js";const n='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;position:relative;color:var(--ic-typography-color, var(--ic-color-text-primary))}:host(.ic-typography-vertical-margins-h1){margin:0 0 var(--ic-space-xl)}:host(.ic-typography-vertical-margins-h2){margin:var(--ic-space-xxl) 0 var(--ic-space-lg)}:host(.ic-typography-vertical-margins-h3){margin:var(--ic-space-xl) 0 var(--ic-space-md)}:host(.ic-typography-vertical-margins-h4){margin:var(--ic-space-lg) 0 var(--ic-space-md)}:host(.ic-typography-vertical-margins-subtitle-large),:host(.ic-typography-vertical-margins-subtitle-small),:host(.ic-typography-vertical-margins-body),:host(.ic-typography-vertical-margins-code-large),:host(.ic-typography-vertical-margins-code-small),:host(.ic-typography-vertical-margins-code-extra-small){margin:0 0 var(--ic-space-md)}:host(.ic-typography-vertical-margins-caption),:host(.ic-typography-vertical-margins-caption-uppercase){margin:0 0 var(--ic-space-xs)}:host(.ic-typography-vertical-margins-h2:first-child),:host(.ic-typography-vertical-margins-h3:first-child),:host(.ic-typography-vertical-margins-h4:first-child){margin-top:0}:host(.ic-typography-h1){font:var(--ic-font-h1) !important}:host(.ic-typography-h2){font:var(--ic-font-h2);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-typography-h3){font:var(--ic-font-h3)}:host(.ic-typography-h4){font:var(--ic-font-h4);letter-spacing:var(--ic-font-letter-spacing-0pt0015)}:host(.ic-typography-subtitle-large){font:var(--ic-font-subtitle-large);letter-spacing:var(--ic-font-letter-spacing-0pt0015)}:host(.ic-typography-subtitle-small){font:var(--ic-font-subtitle-small);letter-spacing:var(--ic-font-letter-spacing-0pt0015)}:host(.ic-typography-body){font:var(--ic-font-body);letter-spacing:var(--ic-font-letter-spacing-0pt005)}:host(.ic-typography-caption){font:var(--ic-font-caption);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-typography-caption-uppercase){font:var(--ic-font-caption);letter-spacing:var(--ic-font-letter-spacing-0pt0025);text-transform:uppercase}:host(.ic-typography-label){font:var(--ic-font-label);letter-spacing:var(--ic-font-letter-spacing-0pt025)}:host(.ic-typography-label-uppercase){font:var(--ic-font-label);letter-spacing:var(--ic-font-letter-spacing-0pt025);text-transform:uppercase}:host(.ic-typography-code-large){font:var(--ic-font-code-large);letter-spacing:var(--ic-font-letter-spacing-0pt025)}:host(.ic-typography-code-small){font:var(--ic-font-code-small);letter-spacing:var(--ic-font-letter-spacing-0pt005)}:host(.ic-typography-code-extra-small){font:var(--ic-font-code-extra-small);letter-spacing:var(--ic-font-letter-spacing-0pt025)}:host(.ic-typography-badge){font:var(--ic-font-badge);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-typography-badge-small){font:var(--ic-font-badge-small);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-typography-no-wrap){white-space:nowrap}:host ::slotted(h1),:host ::slotted(h2),:host ::slotted(h3),:host ::slotted(h4),:host ::slotted(h5),:host ::slotted(h6),:host ::slotted(p),:host ::slotted(label){font:inherit;letter-spacing:inherit}.trunc-wrapper{display:-webkit-box;-webkit-box-orient:vertical;line-clamp:var(--truncation-max-lines, initial);-webkit-line-clamp:var(--truncation-max-lines, initial);overflow:hidden;padding-right:var(--ellipsis-padding-right, 0)}.trunc-btn{border:none;background:none;padding:0;color:var(--ic-color-text-primary);text-decoration:underline;font-weight:var(--ic-font-weight-bold);transition:var(--ic-easing-transition-fast)}.trunc-btn:hover,.trunc-btn.focus{outline:none;border-bottom:0.25rem solid !important;margin-bottom:-0.25rem !important;text-decoration:none;cursor:pointer}:host(.ic-typography-strikethrough){text-decoration:line-through}:host(.ic-typography-underline){text-decoration:underline}:host(.ic-typography-underline.ic-typography-strikethrough){text-decoration:line-through underline}:host(.ic-typography-italic){font-style:italic !important}:host(.ic-typography-bold){font-weight:var(--ic-font-weight-bold)}:host(.ic-theme-dark),:host(.ic-theme-light){--ic-typography-color:var(--ic-color-text-primary)}:host(.in-ag-grid),:host(.in-ag-grid) ::slotted(*){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@supports (text-underline-offset: 25%){.trunc-btn:hover,.trunc-btn.focus{text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%;border-bottom:0 !important;margin-bottom:0 !important}}@media (prefers-color-scheme: dark) and (forced-colors: none){:host,.trunc-btn:not(ic-tooltip){color:var(--ic-typography-color)}}';const c=n;const h=class{constructor(e){t(this,e);this.typographyTruncationExpandToggle=i(this,"typographyTruncationExpandToggle",7);this.focusBtnFromKeyboard=true;this.inAGGrid=false;this.lastMarkerTop=0;this.lastWidth=0;this.resizeObserver=null;this.truncatedHeight=0;this.truncated=false;this.truncButtonFocussed=false;this.applyVerticalMargins=false;this.bold=false;this.italic=false;this.strikethrough=false;this.theme="inherit";this.underline=false;this.variant="body";this.expanded=false;this.toggleExpanded=t=>{t.stopPropagation();this.expanded=!this.expanded;this.typographyTruncationExpandToggle.emit({expanded:this.expanded,typographyEl:this.el})};this.checkMarkerPosition=(t,i)=>{if(i-t<this.truncatedHeight){this.truncated=false;this.expanded=false}else{this.truncated=true}};this.getElementTop=t=>t.getClientRects&&t.getClientRects()[0]?t.getClientRects()[0].top:0;this.runResizeObserver=()=>{if(this.truncWrapperEl){this.resizeObserver=new ResizeObserver((()=>{clearTimeout(this.resizeInterval);this.resizeInterval=window.setTimeout(this.resizeObserverCallback,50)}));this.resizeObserver.observe(this.truncWrapperEl)}};this.resizeObserverCallback=()=>{if(this.lastWidth===this.el.clientWidth){return}if(this.truncatedHeight===0){this.checkMaxLines(this.el.clientHeight);return}const t=this.getElementTop(this.marker);if(t===this.lastMarkerTop){return}this.checkMarkerPosition(this.getElementTop(this.el),t);this.lastMarkerTop=t;this.lastWidth=this.el.clientWidth};this.truncButtonFocus=()=>{if(this.focusBtnFromKeyboard){this.truncButtonFocussed=true}};this.truncButtonBlur=()=>{this.focusBtnFromKeyboard=true;this.truncButtonFocussed=false};this.truncButtonFocusFromMouse=()=>{this.focusBtnFromKeyboard=false}}watchExpandedHandler(){this.el.setAttribute("style",`--truncation-max-lines: ${this.expanded?"initial":this.maxLines}`)}disconnectedCallback(){if(this.resizeObserver!==null){this.resizeObserver.disconnect()}}async resetTruncation(){if(this.truncated){this.truncated=false;this.maxLines=0;this.el.removeAttribute("max-lines");this.expanded=false;this.el.removeAttribute("style")}}componentDidLoad(){var t,i;if((this.variant==="body"||((i=(t=this.el.getRootNode())===null||t===void 0?void 0:t.host)===null||i===void 0?void 0:i.tagName)==="IC-TOOLTIP")&&this.maxLines&&this.maxLines>0){const t=document.createElement("span");t.style.visibility="hidden";this.el.appendChild(t);this.marker=t;this.lastWidth=this.el.clientWidth;this.checkMaxLines(this.el.clientHeight);r(this.runResizeObserver)}}componentWillRender(){if(s(this.el)){this.inAGGrid=true}}async checkMaxLines(t){const i=Math.floor(t/24);if(this.maxLines&&i>this.maxLines){this.el.setAttribute("style",`--truncation-max-lines: ${this.maxLines}`);this.truncatedHeight=this.el.clientHeight;this.truncated=true}}async setShowHideExpanded(t){this.expanded=t}render(){var t,i;const{variant:a,applyVerticalMargins:r,maxLines:s,truncated:n,expanded:c,strikethrough:h,underline:l,italic:p,bold:d,theme:g}=this;return e(o,{key:"0f64ad9e02b32790b2bc269df212468b2f9426f7",class:{[`ic-typography-${a}`]:true,[`ic-typography-vertical-margins-${a}`]:!!r,["ic-typography-bold"]:!!d,["ic-typography-italic"]:!!p,["ic-typography-strikethrough"]:!!h,["ic-typography-underline"]:!!l,["in-ag-grid"]:this.inAGGrid,[`ic-theme-${g}`]:g!=="inherit"}},(a==="body"||((i=(t=this.el.getRootNode())===null||t===void 0?void 0:t.host)===null||i===void 0?void 0:i.tagName)==="IC-TOOLTIP")&&s&&s>0?e("div",{class:"trunc-wrapper",ref:t=>this.truncWrapperEl=t},e("slot",null)):e("slot",null),a==="body"&&s&&s>0&&n&&e("button",{key:"3e5f7e8b549122986d1dc67fe35b5e270233eb71",class:{"trunc-btn":true,focus:this.truncButtonFocussed},onFocus:this.truncButtonFocus,onBlur:this.truncButtonBlur,onMouseDown:this.truncButtonFocusFromMouse,onClick:this.toggleExpanded},c?"See less":"See more"))}get el(){return a(this)}static get watchers(){return{expanded:["watchExpandedHandler"]}}};h.style=c;export{h as ic_typography};
2
- //# sourceMappingURL=p-cbe0d1bb.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as e,c as i,h as c,H as a,g as t}from"./p-8e4e97b4.js";import{r,k as o,o as n,l as d,m as s,n as l,i as b}from"./p-25007ec9.js";const h='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host(.ic-checkbox-disabled){pointer-events:none}.container{display:flex;width:-moz-fit-content;width:fit-content;padding:var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs);margin-bottom:var(--ic-space-xxs);align-items:center}:host(.ic-data-table-checkbox) .container{padding:0;margin-bottom:0}:host(.ic-checkbox-small) .container{margin-bottom:var(--ic-space-xxxs)}.checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;position:relative;top:0;left:0;height:var(--ic-space-lg);width:var(--ic-space-lg);background-color:var(--ic-checkbox-background-unselected);border:var(--ic-border-width) solid var(--ic-checkbox-border-unselected);border-radius:var(--ic-border-radius);outline:none;cursor:pointer;transition:var(--ic-easing-transition-fast);flex-shrink:0}:host .container svg{width:var(--ic-space-lg);height:var(--ic-space-lg)}:host(.ic-checkbox-small) .checkbox,:host(.ic-checkbox-small) .container svg{width:var(--ic-space-md);height:var(--ic-space-md)}:host(.ic-checkbox-large) .checkbox,:host(.ic-checkbox-large) .container svg{width:var(--ic-space-xl);height:var(--ic-space-xl)}.checkbox:checked{background-color:var(--ic-checkbox-background-selected);border:var(--ic-border-width) solid var(--ic-checkbox-background-selected);transition:var(--ic-easing-transition-slow)}.checkbox:checked:disabled{background-color:var(--ic-checkbox-background-selected-disabled);border:var(--ic-border-width) solid\n var(--ic-checkbox-background-selected-disabled)}.checkbox:indeterminate,.checkbox.indeterminate:checked{background-color:var(--ic-checkbox-background-indeterminate);border:0.125rem solid var(--ic-checkbox-background-indeterminate)}.checkbox:indeterminate:disabled,.checkbox.indeterminate:checked:disabled{background-color:var(--ic-checkbox-background-indeterminate-disabled);border:0.125rem solid var(--ic-checkbox-background-indeterminate-disabled)}.checkbox:checked:hover{background-color:var(--ic-checkbox-background-selected-hover)}.checkbox:indeterminate:hover,.checkbox.indeterminate:checked:hover{background-color:var(--ic-checkbox-background-indeterminate-hover);border:0.125rem solid var(--ic-checkbox-background-indeterminate-hover)}.checkbox:checked:active{background-color:var(--ic-checkbox-background-selected-pressed)}.checkbox:indeterminate:active,.checkbox.indeterminate:checked:active{background-color:var(--ic-checkbox-background-indeterminate-pressed);border:0.125rem solid var(--ic-checkbox-background-indeterminate-pressed)}.checkbox:hover{box-shadow:0 0 0 0.25rem var(--ic-checkbox-action-background-hover);border:var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-hover)}.checkbox:active{box-shadow:0 0 0 0.25rem var(--ic-checkbox-action-background-pressed);border:var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-pressed)}.checkbox:focus{box-shadow:var(--ic-border-focus)}.checkbox:disabled{border:var(--ic-border-width) dashed\n var(--ic-checkbox-border-unselected-disabled)}.checkbox-label{color:var(--ic-checkbox-text);--ic-typography-color:var(--ic-checkbox-text)}.checkbox-label>label{padding-left:var(--ic-space-sm);display:inline-block}:host(.ic-checkbox-disabled) .checkbox-label{color:var(--ic-checkbox-text-disabled);--ic-typography-color:var(--ic-checkbox-text-disabled)}.checkbox-label:hover{cursor:pointer}.checkmark{position:relative;right:calc(-1 * var(--ic-space-lg));margin-left:calc(-1 * var(--ic-space-lg));fill:var(--ic-checkbox-icon-pressed);z-index:1;background-color:transparent;pointer-events:none;flex-shrink:0}:host(.ic-checkbox-small) .checkmark{margin-left:calc(-1 * var(--ic-space-md));right:calc(-1 * var(--ic-space-md))}:host(.ic-checkbox-large) .checkmark{margin-left:calc(-1 * var(--ic-space-xl));right:calc(-1 * var(--ic-space-xl))}.indeterminate-symbol{position:relative;width:0.875rem;height:var(--ic-space-xxxs);right:-1.188rem;margin-left:-0.875rem;z-index:1;background-color:var(--ic-checkbox-icon-indeterminate);pointer-events:none;flex-shrink:0}:host(.ic-checkbox-small) .indeterminate-symbol{width:0.6rem;right:-0.8rem;margin-left:-0.6rem}:host(.ic-checkbox-large) .indeterminate-symbol{width:1.25rem;right:-1.625rem;margin-left:-1.25rem}.additional-field-wrapper{margin-left:calc(var(--ic-space-md) + var(--ic-space-lg));margin-top:calc(var(--ic-space-sm) / 2)}.branch-corner{height:var(--ic-space-md);width:var(--ic-space-xl);border-radius:0 0 0 0.188rem;border-bottom:0.125rem solid var(--ic-checkbox-required-bar);border-left:0.125rem solid var(--ic-checkbox-required-bar)}.dynamic-container{display:flex;position:relative;margin:var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);gap:var(--ic-space-xs)}.dynamic-text{color:var(--ic-checkbox-required-text);--ic-typography-color:var(--ic-checkbox-required-text);margin-top:calc(var(--ic-space-sm) / 2);margin-bottom:var(--ic-space-xs);border-radius:2%}.dynamic-field-container{flex:100%}@media (max-width: 576px){::slotted(*){--input-width:100%}.dynamic-field-container{flex:initial}}@media (forced-colors: active){.checkbox{-webkit-appearance:revert;-moz-appearance:revert;appearance:revert;transition:none}.checkbox:checked{transition:none}.checkbox:focus-visible{outline:0.125rem solid highlight}.checkbox:disabled:not(:checked){-webkit-appearance:none;-moz-appearance:none;appearance:none;border-color:GrayText}.checkmark{fill:none}.indeterminate-symbol{display:none}}.checkmark:dir(rtl){right:0}.checkbox-label:dir(rtl){padding-right:var(--ic-space-sm);padding-left:0}.indeterminate-symbol:dir(rtl){right:0.288rem}.branch-corner:dir(rtl){border-radius:0 0 0.188rem;border-right:0.125rem solid var(--ic-action-default);border-left:none}.dynamic-container:dir(rtl){margin:var(--ic-space-xxxs) var(--ic-space-sm) var(--ic-space-xxs) 0}';const m=h;const p=class{constructor(c){e(this,c);this.icCheck=i(this,"icCheck",7);this.additionalFieldDisplay="static";this.checked=false;this.initiallyChecked=this.checked;this.disabled=false;this.dynamicText="This selection requires additional answers";this.hideLabel=false;this.indeterminate=false;this.displayIndeterminate=this.indeterminate;this.nativeIndeterminateBehaviour=false;this.theme="inherit";this.value="";this.handleClick=()=>{this.checked=!this.checked;this.displayIndeterminate=!this.nativeIndeterminateBehaviour&&this.indeterminate&&this.checked;this.icCheck.emit()};this.handleFormReset=()=>{this.checked=this.initiallyChecked}}watchDisabledHandler(){r(this.disabled,this.el)}watchIndeterminateHandler(){this.displayIndeterminate=this.indeterminate&&(this.nativeIndeterminateBehaviour||this.checked)}componentWillLoad(){r(this.disabled,this.el);o(this.el,this.handleFormReset);const{parentElement:e}=this.el;if((e===null||e===void 0?void 0:e.tagName)==="IC-CHECKBOX-GROUP"){const{name:i,label:c,size:a}=e;if(!this.name)this.name=i;if(!this.size)this.size=a;this.groupLabel=c}}componentDidLoad(){n([{prop:this.label,propName:"label"}],"Checkbox")}componentDidRender(){if(this.additionalFieldDisplay==="static"){this.el.querySelectorAll("ic-text-field").forEach((e=>e.setAttribute("disabled",`${!this.checked}`)))}else if(this.additionalFieldContainer){this.additionalFieldContainer.style.display=!this.checked?"none":"flex"}}disconnectedCallback(){d(this.el,this.handleFormReset)}async setFocus(){var e;(e=this.checkboxEl)===null||e===void 0?void 0:e.focus()}render(){const{additionalFieldDisplay:e,checked:i,disabled:t,displayIndeterminate:r,dynamicText:o,el:n,form:d,groupLabel:h,handleClick:m,hideLabel:p,label:k,name:x,size:v,theme:g,value:f}=this;const u=`ic-checkbox-${k}-${h}`.replace(/ /g,"-");const y=e==="dynamic";i?s(n,f,x,t):l(n);return c(a,{key:"153b0b333ca1d0755d4e52dd9119d48cd1c246cc",class:{"ic-checkbox-disabled":t,[`ic-checkbox-${v}`]:!!v,[`ic-theme-${g}`]:g!=="inherit"}},c("div",{key:"c0f56ee4fbbdd38fea208d133cdd1fa91a41d6c7",class:"container"},r?c("div",{class:"indeterminate-symbol"}):i&&c("svg",{class:"checkmark",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","fill-rule":"evenodd","clip-rule":"evenodd"},c("title",null,"checkmark icon"),c("path",{d:"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z"})),c("input",{key:"f8335e54b2f765591b3781d76a01632c34065855",role:"checkbox",class:{checkbox:true,checked:i,indeterminate:r},ref:e=>this.checkboxEl=e,type:"checkbox",name:x,id:u,value:f,disabled:t,checked:i,indeterminate:r,onClick:m,form:d,"aria-label":p?k:undefined}),!p&&c("ic-typography",{key:"2ba4862a349e6b3f34c050c434ce247687f0dfd8",class:"checkbox-label",variant:"body"},c("label",{key:"a3f3c733b5dc0a0acdf89d3b7db603e965102618",htmlFor:u},k))),b(n,"additional-field")&&c("div",{key:"ad38f0547dda8ce82cd107fec3f3ff9d555cc1e8",class:"dynamic-container",ref:e=>this.additionalFieldContainer=e},y&&c("div",{key:"d2c8566cada65dbd60546873ccbfedb33ec0e093",class:"branch-corner"}),c("div",{key:"05489504f66d7f6e79bbbf18302dd63348f2f4a7",class:"dynamic-field-container"},y&&c("ic-typography",{key:"eb397dc91080f791a4fd13e3c1815fad70c7cb87",variant:"caption"},c("p",{key:"49633d6c0806655957055fbef51688bfdeb11411",class:"dynamic-text","aria-live":"polite"},o)),c("div",{key:"916e20f79f80cd7ff0fb5c4b030caf07f146ffcc",class:{"additional-field-wrapper":!y}},c("slot",{key:"5783108ca7c6edb7c55dad2cc9469549e31d7cd3",name:"additional-field"})))))}static get delegatesFocus(){return true}get el(){return t(this)}static get watchers(){return{disabled:["watchDisabledHandler"],indeterminate:["watchIndeterminateHandler"]}}};p.style=m;export{p as ic_checkbox};
2
- //# sourceMappingURL=p-ceea1712.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icCheckboxCss","IcCheckboxStyle0","Checkbox","constructor","hostRef","this","additionalFieldDisplay","checked","initiallyChecked","disabled","dynamicText","hideLabel","indeterminate","displayIndeterminate","nativeIndeterminateBehaviour","theme","value","handleClick","icCheck","emit","handleFormReset","watchDisabledHandler","removeDisabledFalse","el","watchIndeterminateHandler","componentWillLoad","addFormResetListener","parentElement","tagName","name","label","size","groupLabel","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","componentDidRender","querySelectorAll","forEach","textfield","setAttribute","additionalFieldContainer","style","display","disconnectedCallback","removeFormResetListener","setFocus","_a","checkboxEl","focus","render","form","id","replace","isDynamicAdditionalField","renderHiddenInput","removeHiddenInput","h","Host","key","class","viewBox","xmlns","d","role","checkbox","ref","type","onClick","undefined","variant","htmlFor","isSlotUsed"],"sources":["src/components/ic-checkbox/ic-checkbox.css?tag=ic-checkbox&encapsulation=shadow","src/components/ic-checkbox/ic-checkbox.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host(.ic-checkbox-disabled) {\n pointer-events: none;\n}\n\n.container {\n display: flex;\n width: fit-content;\n padding: var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs);\n margin-bottom: var(--ic-space-xxs);\n align-items: center;\n}\n\n:host(.ic-data-table-checkbox) .container {\n padding: 0;\n margin-bottom: 0;\n}\n\n:host(.ic-checkbox-small) .container {\n margin-bottom: var(--ic-space-xxxs);\n}\n\n.checkbox {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n display: block;\n position: relative;\n top: 0;\n left: 0;\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n background-color: var(--ic-checkbox-background-unselected);\n border: var(--ic-border-width) solid var(--ic-checkbox-border-unselected);\n border-radius: var(--ic-border-radius);\n outline: none;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n flex-shrink: 0;\n}\n\n:host .container svg {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.ic-checkbox-small) .checkbox,\n:host(.ic-checkbox-small) .container svg {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n}\n\n:host(.ic-checkbox-large) .checkbox,\n:host(.ic-checkbox-large) .container svg {\n width: var(--ic-space-xl);\n height: var(--ic-space-xl);\n}\n\n.checkbox:checked {\n background-color: var(--ic-checkbox-background-selected);\n border: var(--ic-border-width) solid var(--ic-checkbox-background-selected);\n transition: var(--ic-easing-transition-slow);\n}\n\n.checkbox:checked:disabled {\n background-color: var(--ic-checkbox-background-selected-disabled);\n border: var(--ic-border-width) solid\n var(--ic-checkbox-background-selected-disabled);\n}\n\n.checkbox:indeterminate,\n.checkbox.indeterminate:checked {\n background-color: var(--ic-checkbox-background-indeterminate);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate);\n}\n\n.checkbox:indeterminate:disabled,\n.checkbox.indeterminate:checked:disabled {\n background-color: var(--ic-checkbox-background-indeterminate-disabled);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate-disabled);\n}\n\n.checkbox:checked:hover {\n background-color: var(--ic-checkbox-background-selected-hover);\n}\n\n.checkbox:indeterminate:hover,\n.checkbox.indeterminate:checked:hover {\n background-color: var(--ic-checkbox-background-indeterminate-hover);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate-hover);\n}\n\n.checkbox:checked:active {\n background-color: var(--ic-checkbox-background-selected-pressed);\n}\n\n.checkbox:indeterminate:active,\n.checkbox.indeterminate:checked:active {\n background-color: var(--ic-checkbox-background-indeterminate-pressed);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate-pressed);\n}\n\n.checkbox:hover {\n box-shadow: 0 0 0 0.25rem var(--ic-checkbox-action-background-hover);\n border: var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-hover);\n}\n\n.checkbox:active {\n box-shadow: 0 0 0 0.25rem var(--ic-checkbox-action-background-pressed);\n border: var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-pressed);\n}\n\n.checkbox:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.checkbox:disabled {\n border: var(--ic-border-width) dashed\n var(--ic-checkbox-border-unselected-disabled);\n}\n\n.checkbox-label {\n color: var(--ic-checkbox-text);\n\n --ic-typography-color: var(--ic-checkbox-text);\n}\n\n.checkbox-label > label {\n padding-left: var(--ic-space-sm);\n display: inline-block;\n}\n\n:host(.ic-checkbox-disabled) .checkbox-label {\n color: var(--ic-checkbox-text-disabled);\n\n --ic-typography-color: var(--ic-checkbox-text-disabled);\n}\n\n.checkbox-label:hover {\n cursor: pointer;\n}\n\n.checkmark {\n position: relative;\n right: calc(-1 * var(--ic-space-lg));\n margin-left: calc(-1 * var(--ic-space-lg));\n fill: var(--ic-checkbox-icon-pressed);\n z-index: 1;\n background-color: transparent;\n pointer-events: none;\n flex-shrink: 0;\n}\n\n:host(.ic-checkbox-small) .checkmark {\n margin-left: calc(-1 * var(--ic-space-md));\n right: calc(-1 * var(--ic-space-md));\n}\n\n:host(.ic-checkbox-large) .checkmark {\n margin-left: calc(-1 * var(--ic-space-xl));\n right: calc(-1 * var(--ic-space-xl));\n}\n\n.indeterminate-symbol {\n position: relative;\n width: 0.875rem;\n height: var(--ic-space-xxxs);\n right: -1.188rem;\n margin-left: -0.875rem;\n z-index: 1;\n background-color: var(--ic-checkbox-icon-indeterminate);\n pointer-events: none;\n flex-shrink: 0;\n}\n\n:host(.ic-checkbox-small) .indeterminate-symbol {\n width: 0.6rem;\n right: -0.8rem;\n margin-left: -0.6rem;\n}\n\n:host(.ic-checkbox-large) .indeterminate-symbol {\n width: 1.25rem;\n right: -1.625rem;\n margin-left: -1.25rem;\n}\n\n.additional-field-wrapper {\n margin-left: calc(var(--ic-space-md) + var(--ic-space-lg));\n margin-top: calc(var(--ic-space-sm) / 2);\n}\n\n.branch-corner {\n height: var(--ic-space-md);\n width: var(--ic-space-xl);\n border-radius: 0 0 0 0.188rem;\n border-bottom: 0.125rem solid var(--ic-checkbox-required-bar);\n border-left: 0.125rem solid var(--ic-checkbox-required-bar);\n}\n\n.dynamic-container {\n display: flex;\n position: relative;\n margin: var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);\n gap: var(--ic-space-xs);\n}\n\n.dynamic-text {\n color: var(--ic-checkbox-required-text);\n\n --ic-typography-color: var(--ic-checkbox-required-text);\n\n margin-top: calc(var(--ic-space-sm) / 2);\n margin-bottom: var(--ic-space-xs);\n border-radius: 2%;\n}\n\n.dynamic-field-container {\n flex: 100%;\n}\n\n@media (max-width: 576px) {\n ::slotted(*) {\n --input-width: 100%;\n }\n\n .dynamic-field-container {\n flex: initial;\n }\n}\n\n@media (forced-colors: active) {\n /* Styles here only apply to Forced Colors Mode */\n .checkbox {\n appearance: revert;\n transition: none;\n }\n\n .checkbox:checked {\n transition: none;\n }\n\n .checkbox:focus-visible {\n outline: 0.125rem solid highlight;\n }\n\n .checkbox:disabled:not(:checked) {\n appearance: none;\n border-color: GrayText;\n }\n\n .checkmark {\n fill: none;\n }\n\n .indeterminate-symbol {\n display: none;\n }\n}\n\n/* Right to left */\n.checkmark:dir(rtl) {\n right: 0;\n}\n\n.checkbox-label:dir(rtl) {\n padding-right: var(--ic-space-sm);\n padding-left: 0;\n}\n\n.indeterminate-symbol:dir(rtl) {\n right: 0.288rem;\n}\n\n.branch-corner:dir(rtl) {\n border-radius: 0 0 0.188rem;\n border-right: 0.125rem solid var(--ic-action-default);\n border-left: none;\n}\n\n.dynamic-container:dir(rtl) {\n margin: var(--ic-space-xxxs) var(--ic-space-sm) var(--ic-space-xxs) 0;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport {\n IcAdditionalFieldTypes,\n IcSizes,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n removeHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\n\n/**\n * @slot additional-field - Content to be displayed alongside a checkbox.\n */\n@Component({\n tag: \"ic-checkbox\",\n styleUrl: \"ic-checkbox.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Checkbox {\n private additionalFieldContainer?: HTMLDivElement;\n private checkboxEl?: HTMLInputElement;\n\n @Element() el: HTMLIcCheckboxElement;\n\n /**\n * The style of additionalField that will be displayed if used.\n */\n @Prop({ reflect: true }) additionalFieldDisplay: IcAdditionalFieldTypes =\n \"static\";\n\n /**\n * If `true`, the checkbox will be set to the checked state. This is only the initial state and will be updated to unchecked if the checkbox is clicked.\n */\n @Prop({ reflect: true, mutable: true }) checked = false;\n @State() initiallyChecked = this.checked;\n\n /**\n * If `true`, the checkbox will be set to the disabled state.\n */\n @Prop() disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The text to be displayed when dynamic.\n */\n\n @Prop() dynamicText = \"This selection requires additional answers\";\n\n /**\n * The <form> element to associate the checkbox with.\n */\n @Prop() form?: string;\n\n /**\n * The group label for the checkbox.\n */\n @Prop({ mutable: true }) groupLabel?: string;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel = false;\n\n /**\n * If `true`, the indeterminate state will be displayed when checked.\n */\n @Prop() indeterminate = false;\n @State() displayIndeterminate = this.indeterminate;\n @Watch(\"indeterminate\")\n watchIndeterminateHandler(): void {\n this.displayIndeterminate =\n this.indeterminate && (this.nativeIndeterminateBehaviour || this.checked);\n }\n\n /**\n * The label for the checkbox.\n */\n @Prop() label!: string;\n\n /**\n * The name for the checkbox. If not set when used in a checkbox group, the name will be based on the group name.\n */\n @Prop({ mutable: true }) name?: string;\n\n /**\n * If `true`, the checkbox will behave like a native checkbox where the `indeterminate` prop sets the indeterminate visual styling, independent of the `checked` state.\n */\n @Prop() nativeIndeterminateBehaviour = false;\n\n /**\n * The size of the checkbox to be displayed. This does not affect the font size of the label. If a checkbox is contained in a checkbox group, this will override the size set on checkbox group.\n */\n @Prop({ mutable: true }) size?: IcSizes;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * The value for the checkbox.\n */\n @Prop() value = \"\";\n\n /**\n * Emitted when a checkbox has been checked.\n */\n @Event() icCheck: EventEmitter<void>;\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n\n addFormResetListener(this.el, this.handleFormReset);\n\n const { parentElement } = this.el;\n if (parentElement?.tagName === \"IC-CHECKBOX-GROUP\") {\n const { name, label, size } = parentElement as HTMLIcCheckboxGroupElement;\n\n if (!this.name) this.name = name;\n if (!this.size) this.size = size;\n this.groupLabel = label;\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Checkbox\"\n );\n }\n\n componentDidRender(): void {\n if (this.additionalFieldDisplay === \"static\") {\n this.el\n .querySelectorAll(\"ic-text-field\")\n .forEach((textfield) =>\n textfield.setAttribute(\"disabled\", `${!this.checked}`)\n );\n } else if (this.additionalFieldContainer) {\n this.additionalFieldContainer.style.display = !this.checked\n ? \"none\"\n : \"flex\";\n }\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n /**\n * Sets focus on the checkbox.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.checkboxEl?.focus();\n }\n\n private handleClick = () => {\n this.checked = !this.checked;\n this.displayIndeterminate =\n !this.nativeIndeterminateBehaviour && this.indeterminate && this.checked;\n this.icCheck.emit();\n };\n\n private handleFormReset = (): void => {\n this.checked = this.initiallyChecked;\n };\n\n render() {\n const {\n additionalFieldDisplay,\n checked,\n disabled,\n displayIndeterminate,\n dynamicText,\n el,\n form,\n groupLabel,\n handleClick,\n hideLabel,\n label,\n name,\n size,\n theme,\n value,\n } = this;\n\n const id = `ic-checkbox-${label}-${groupLabel}`.replace(/ /g, \"-\");\n\n const isDynamicAdditionalField = additionalFieldDisplay === \"dynamic\";\n\n checked\n ? renderHiddenInput(el, value, name, disabled)\n : removeHiddenInput(el);\n\n return (\n <Host\n class={{\n \"ic-checkbox-disabled\": disabled,\n [`ic-checkbox-${size}`]: !!size,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div class=\"container\">\n {displayIndeterminate ? (\n <div class=\"indeterminate-symbol\" />\n ) : (\n checked && (\n <svg\n class=\"checkmark\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n >\n <title>checkmark icon</title>\n <path d=\"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z\" />\n </svg>\n )\n )}\n <input\n role=\"checkbox\"\n class={{\n checkbox: true,\n checked,\n indeterminate: displayIndeterminate,\n }}\n ref={(el) => (this.checkboxEl = el)}\n type=\"checkbox\"\n name={name}\n id={id}\n value={value}\n disabled={disabled}\n checked={checked}\n indeterminate={displayIndeterminate}\n onClick={handleClick}\n form={form}\n aria-label={hideLabel ? label : undefined}\n ></input>\n {!hideLabel && (\n <ic-typography class=\"checkbox-label\" variant=\"body\">\n <label htmlFor={id}>{label}</label>\n </ic-typography>\n )}\n </div>\n {isSlotUsed(el, \"additional-field\") && (\n <div\n class=\"dynamic-container\"\n ref={(el) => (this.additionalFieldContainer = el)}\n >\n {isDynamicAdditionalField && <div class=\"branch-corner\"></div>}\n <div class=\"dynamic-field-container\">\n {isDynamicAdditionalField && (\n <ic-typography variant=\"caption\">\n <p class=\"dynamic-text\" aria-live=\"polite\">\n {dynamicText}\n </p>\n </ic-typography>\n )}\n <div\n class={{\n \"additional-field-wrapper\": !isDynamicAdditionalField,\n }}\n >\n <slot name=\"additional-field\"></slot>\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as o,h as t,H as r}from"./p-8e4e97b4.js";import{o as a}from"./p-25007ec9.js";const e=":host{display:block;margin-bottom:var(--ic-space-md);border-bottom:var(--ic-space-1px) solid var(--ic-tab-bottom-border)}:host(.ic-tab-group-monochrome){border-bottom:var(--ic-space-1px) solid\n var(--ic-tab-bottom-border-monochrome)}:host(.ic-tab-group-inline){margin-bottom:0;border-bottom:none}.tabs-container{display:flex;flex-direction:row}.tabs-container::-webkit-scrollbar{display:none}:host ic-horizontal-scroll{--splitter-color:var(--ic-tab-divider)}:host(.ic-tab-group-monochrome) ic-horizontal-scroll{--splitter-color:var(--ic-tab-divider-monochrome)}";const i=e;const c=class{constructor(t){o(this,t);this.inline=false;this.monochrome=false;this.theme="inherit"}componentDidLoad(){a([{prop:this.label,propName:"label"}],"Tab Group")}render(){const{inline:o,theme:a,label:e,monochrome:i}=this;return t(r,{key:"907693650fa274e54826ca116016e8bea75aa29c",role:"tablist","aria-label":e,class:{["ic-tab-group-inline"]:!!o,[`ic-theme-${a}`]:a!=="inherit",["ic-tab-group-monochrome"]:!!i}},t("ic-horizontal-scroll",{key:"94a5fd18b222a07d6119c6bc291522b12aaf91f3",theme:a,"focus-trigger":"tabFocus",monochrome:i},t("div",{key:"a81bf05bd2e9d2d079a9b05899da06c6a27cb231",class:"tabs-container"},t("slot",{key:"434bc2798a1f471d7365a9854254f82bafa3c2d5"}))))}static get delegatesFocus(){return true}};c.style=i;export{c as ic_tab_group};
2
- //# sourceMappingURL=p-cf631191.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as i,c as t,h as e,F as s,H as a,g as o}from"./p-8e4e97b4.js";import{c as n}from"./p-f074ef5b.js";import{h as r,u as l,i as h,o as d}from"./p-25007ec9.js";const c='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;min-height:100% !important;background:rgb(0 0 0 / 60%);z-index:var(--ic-z-index-dialog);opacity:0}:host(.ic-dialog-fade-in){opacity:1}:host(.disable-height-constraint){background:none;justify-content:unset;align-items:unset}.dialog.disable-height-constraint{max-height:none;position:relative}.dialog.disable-height-constraint .content-area{overflow-y:visible}@media (prefers-reduced-motion: no-preference){:host{transition:opacity var(--ic-easing-transition-slow)}.dialog{transform:translateY(-3rem);transition:transform 1000s}:host(.ic-dialog-fade-in) .dialog{transform:translateY(0);transition:transform var(--ic-easing-transition-slow)}}:host(.ic-dialog-hidden){display:none}.dialog{background-color:var(--ic-dialog-background);color:var(--ic-dialog-text-primary);--ic-typography-color:var(--ic-dialog-text-primary);border:var(--ic-space-1px) solid var(--ic-dialog-border);border-radius:var(--ic-border-radius);padding:var(--ic-space-xs) 0 var(--ic-space-md);display:flex;flex-direction:column;box-sizing:border-box;overflow-x:visible}.small{width:50%;max-width:25rem;min-height:11rem;max-height:70vh}.medium{width:70vw;max-width:44rem;min-height:12.5rem;max-height:70vh}.large{width:90vw;max-width:62.5rem;min-height:12.5rem;max-height:90vh}.heading-area{display:flex;margin-bottom:var(--ic-space-xs);padding:0 var(--ic-space-md)}.heading{overflow-wrap:break-word}.close-icon{margin-left:auto}.close-icon>svg{color:var(--ic-dialog-clear-button)}.content-area{padding:0 var(--ic-space-md);margin:0;overflow-y:auto}#dialog-content{margin-bottom:var(--ic-space-sm)}#dialog-content ::slotted(ic-typography){overflow-wrap:break-word}#dialog-content ::slotted(*){position:relative}.dialog-controls{margin-top:auto;padding:var(--ic-space-xs) var(--ic-space-md) 0;display:flex;justify-content:flex-end;gap:var(--ic-space-md)}.dialog-control-button{width:-moz-fit-content;width:fit-content}.backdrop{overflow-y:auto;position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgb(0 0 0 / 60%);z-index:var(--ic-z-index-dialog);padding-top:16px;padding-bottom:16px}.heading ic-typography{--ic-typography-color:var(--ic-dialog-text-primary)}.label ic-typography{--ic-typography-color:var(--ic-dialog-label)}@media (min-width: 800px){:host([size="large"]) .dialog:not(.disable-width-constraint)>.content-area{width:75%}}@media (max-width: 576px){.dialog{width:100vw;height:100vh;max-width:none;max-height:none;box-sizing:border-box}.backdrop{padding:0}.dialog.disable-height-constraint{height:auto;min-height:100vh}}@media (max-width: 364px){.dialog-control-button{width:unset}}';const g=c;const p=class{constructor(a){i(this,a);this.icDialogCancelled=t(this,"icDialogCancelled",7);this.icDialogClosed=t(this,"icDialogClosed",7);this.icDialogConfirmed=t(this,"icDialogConfirmed",7);this.icDialogOpened=t(this,"icDialogOpened",7);this.contentAreaMutationObserver=null;this.DATA_GETS_FOCUS="data-gets-focus";this.DIALOG_CONTROLS="dialog-controls";this.dialogHeight=0;this.focusedElementIndex=0;this.IC_TEXT_FIELD="IC-TEXT-FIELD";this.IC_ACCORDION="IC-ACCORDION";this.IC_ACCORDION_GROUP="IC-ACCORDION-GROUP";this.IC_CHECKBOX="IC-CHECKBOX";this.IC_SEARCH_BAR="IC-SEARCH-BAR";this.resizeObserver=null;this.dialogRendered=false;this.fadeIn=false;this.closeOnBackdropClick=true;this.destructive=false;this.dismissLabel="Dismiss";this.disableHeightConstraint=false;this.disableWidthConstraint=false;this.hideCloseButton=false;this.hideDefaultControls=false;this.open=false;this.size="small";this.theme="inherit";this.dialogOpened=()=>{var i,t;this.dialogRendered=true;if(this.disableHeightConstraint){(i=this.dialogEl)===null||i===void 0?void 0:i.show()}else{(t=this.dialogEl)===null||t===void 0?void 0:t.showModal()}setTimeout((()=>{this.fadeIn=true;if(this.backdropEl&&this.disableHeightConstraint&&this.backdropEl.scrollTop!==0){this.backdropEl.scrollTop=0}}),10);setTimeout((()=>{this.setInitialFocus();r(this.runResizeObserver)}),75);setTimeout((()=>{this.icDialogOpened.emit()}),80)};this.runResizeObserver=()=>{if(this.dialogEl){this.resizeObserver=new ResizeObserver((()=>{clearTimeout(this.resizeTimeout);this.resizeTimeout=window.setTimeout(this.resizeObserverCallback,80)}));this.resizeObserver.observe(this.dialogEl)}};this.resizeObserverCallback=()=>{if(this.dialogEl&&this.dialogEl.clientHeight!==this.dialogHeight){this.dialogHeight=this.dialogEl.clientHeight}};this.refreshInteractiveElementsOnSlotChange=()=>{var i,t,e;const s=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector("#dialog-content");if(s){this.contentArea=s.querySelector("slot");(t=this.contentArea)===null||t===void 0?void 0:t.addEventListener("slotchange",this.getInteractiveElements);this.contentAreaMutationObserver=new MutationObserver((()=>{this.getInteractiveElements()}));(e=l(s))===null||e===void 0?void 0:e.forEach((i=>{var t;(t=this.contentAreaMutationObserver)===null||t===void 0?void 0:t.observe(i,{childList:true,subtree:true})}))}};this.removeSlotChangeListener=()=>{var i;if(this.contentArea){this.contentArea.removeEventListener("slotchange",this.getInteractiveElements);(i=this.contentAreaMutationObserver)===null||i===void 0?void 0:i.disconnect()}};this.setInitialFocus=()=>{this.sourceElement=document.activeElement;this.focusedElementIndex=this.interactiveElementList?this.interactiveElementList.findIndex((i=>i.hasAttribute(this.DATA_GETS_FOCUS))):0;this.focusElement(this.interactiveElementList[this.focusedElementIndex])};this.getFocusedElementIndex=()=>{var i;for(let t=0;t<this.interactiveElementList.length;t++){if(this.interactiveElementList[t]===(((i=this.el.shadowRoot)===null||i===void 0?void 0:i.activeElement)||document.activeElement)){this.focusedElementIndex=t}}};this.closeIconClick=()=>{this.open=false};this.getInteractiveElements=()=>{var i;this.interactiveElementList=Array.from(((i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelectorAll("ic-button"))||[]);const t=Array.from(this.el.querySelectorAll(`a[href], button, input:not(.ic-input), textarea, select, details, [tabindex]:not([tabindex="-1"]),\n ic-button, ic-checkbox, ic-select, ic-search-bar, ic-tab-group, \n ic-back-to-top, ic-breadcrumb, ic-chip[dismissible="true"], ic-footer-link, ic-link, ic-navigation-button,\n ic-navigation-item, ic-switch, ic-text-field, ic-accordion-group, ic-accordion, ic-date-input, ic-date-picker`));if(t.length>0){if(t[0].slot!==this.DIALOG_CONTROLS){t[0].setAttribute(this.DATA_GETS_FOCUS,"")}else if(!this.destructive){t[t.length-1].setAttribute(this.DATA_GETS_FOCUS,"")}}for(let i=0;i<t.length;i++){this.interactiveElementList.splice(1+i,0,t[i])}};this.getNextFocusEl=i=>this.interactiveElementList[i];this.onTabKeyPress=i=>{this.getFocusedElementIndex();if(this.interactiveElementList[this.focusedElementIndex].tagName===this.IC_SEARCH_BAR){return false}this.setFocusIndexBasedOnShiftKey(i);this.loopNextFocusIndexIfLastElement();this.focusElement(this.getNextFocusEl(this.focusedElementIndex),i);return true};this.shouldSkipElement=i=>{const t=getComputedStyle(i).visibility==="hidden"||i.offsetHeight===0||i.hasAttribute("disabled")||i.tagName===this.IC_ACCORDION_GROUP&&i.hasAttribute("single-expansion");const e=i.closest("ic-radio-option");return t||i.getAttribute("type")==="radio"&&!!e&&!(e.hasAttribute("selected")||i.tabIndex===0)};this.focusElement=(i,t=false)=>{let e=i;if(this.shouldSkipElement(i)){this.setFocusIndexBasedOnShiftKey(t);this.loopNextFocusIndexIfLastElement();e=this.getNextFocusEl(this.focusedElementIndex);this.focusElement(e,t)}else{switch(i.tagName){case this.IC_ACCORDION_GROUP:case this.IC_ACCORDION:case this.IC_SEARCH_BAR:case this.IC_TEXT_FIELD:case this.IC_CHECKBOX:i.setFocus();break;default:i.focus()}}};this.renderDialog=()=>{const{hideDefaultControls:i,size:t,heading:a,label:o,destructive:r,dismissLabel:l,hideCloseButton:d,disableHeightConstraint:c,disableWidthConstraint:g,closeIconClick:p,DIALOG_CONTROLS:u}=this;const b=h(this.el,u);return e("dialog",{class:{dialog:true,[`${t}`]:true,"disable-height-constraint":!!c,"disable-width-constraint":!!g},"aria-labelledby":"dialog-label dialog-heading","aria-describedby":"dialog-alert dialog-content",ref:i=>this.dialogEl=i},e("div",{class:"heading-area"},e("div",{class:"heading-content"},e("div",{class:"label"},e("slot",{name:"label"},e("ic-typography",{variant:"label",id:"dialog-label"},o))),e("div",{class:"heading"},e("slot",{name:"heading"},e("ic-typography",{variant:"h4",id:"dialog-heading"},a)))),!d&&e("ic-button",{class:"close-icon",variant:"icon",innerHTML:n,"aria-label":l,onClick:p,"data-gets-focus":r||i&&!b?"":null})),e("div",{class:"content-area"},h(this.el,"alert")&&e("slot",{name:"alert"}),e("div",{id:"dialog-content"},e("slot",null))),(b||!i)&&e("div",{class:{[u]:true}},b?e("slot",{name:u}):e(s,null,e("ic-button",{variant:"tertiary",onClick:()=>this.cancelDialog(),class:"dialog-control-button","data-gets-focus":null},"Cancel"),e("ic-button",{variant:r?"destructive":"primary",onClick:()=>this.confirmDialog(),class:"dialog-control-button","data-gets-focus":""},"Confirm"))))}}watchOpenHandler(){if(this.open){this.dialogOpened()}else{this.fadeIn=false;if(this.resizeObserver!==null){this.resizeObserver.disconnect()}setTimeout((()=>{var i,t;this.dialogRendered=false;(i=this.dialogEl)===null||i===void 0?void 0:i.close();(t=this.sourceElement)===null||t===void 0?void 0:t.focus();this.dialogHeight=0;this.icDialogClosed.emit()}),80)}}disconnectedCallback(){this.removeSlotChangeListener()}componentDidLoad(){this.getInteractiveElements();this.refreshInteractiveElementsOnSlotChange();if(this.open){this.dialogOpened()}!h(this.el,"heading")&&d([{prop:this.heading,propName:"heading"}],"Dialog")}componentDidRender(){document.body.style.overflow=getComputedStyle(this.el).display!=="none"&&this.disableHeightConstraint?"hidden":"auto"}handleKeyboard(i){if(this.dialogRendered){switch(i.key){case"Tab":if(this.onTabKeyPress(i.shiftKey)){i.preventDefault()}break;case"Escape":if(!i.repeat){this.open=false}i.stopImmediatePropagation();break}}}handleClick(i){if(this.dialogEl&&this.closeOnBackdropClick&&i.composedPath().indexOf(this.dialogEl)<=0){const{top:t,height:e,left:s,width:a}=this.dialogEl.getBoundingClientRect();const o=t<=i.clientY&&i.clientY<=t+e&&s<=i.clientX&&i.clientX<=s+a;if(!o){this.open=false}}}async cancelDialog(){this.icDialogCancelled.emit();this.open=false}async confirmDialog(){this.icDialogConfirmed.emit()}loopNextFocusIndexIfLastElement(){if(this.focusedElementIndex>this.interactiveElementList.length-1)this.focusedElementIndex=0;else if(this.focusedElementIndex<0){this.focusedElementIndex=this.interactiveElementList.length-1}}setFocusIndexBasedOnShiftKey(i){if(i){this.focusedElementIndex-=1}else{this.focusedElementIndex+=1}}render(){const{dialogRendered:i,disableHeightConstraint:t,fadeIn:s,theme:o}=this;return e(a,{key:"ff1c220a6687596221a97f380dd78692d1689ca7",class:{"ic-dialog-hidden":!i,"ic-dialog-fade-in":s,"disable-height-constraint":!!t,[`ic-theme-${o}`]:o!=="inherit"}},t?e("div",{class:"backdrop",ref:i=>this.backdropEl=i},this.renderDialog()):this.renderDialog())}get el(){return o(this)}static get watchers(){return{open:["watchOpenHandler"]}}};p.style=g;export{p as ic_dialog};
2
- //# sourceMappingURL=p-e652ab09.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icDialogCss","IcDialogStyle0","Dialog","constructor","hostRef","this","contentAreaMutationObserver","DATA_GETS_FOCUS","DIALOG_CONTROLS","dialogHeight","focusedElementIndex","IC_TEXT_FIELD","IC_ACCORDION","IC_ACCORDION_GROUP","IC_CHECKBOX","IC_SEARCH_BAR","resizeObserver","dialogRendered","fadeIn","closeOnBackdropClick","destructive","dismissLabel","disableHeightConstraint","disableWidthConstraint","hideCloseButton","hideDefaultControls","open","size","theme","dialogOpened","_a","dialogEl","show","_b","showModal","setTimeout","backdropEl","scrollTop","setInitialFocus","checkResizeObserver","runResizeObserver","icDialogOpened","emit","ResizeObserver","clearTimeout","resizeTimeout","window","resizeObserverCallback","observe","clientHeight","refreshInteractiveElementsOnSlotChange","contentWrapper","el","shadowRoot","querySelector","contentArea","addEventListener","getInteractiveElements","MutationObserver","_c","getSlotElements","forEach","childList","subtree","removeSlotChangeListener","removeEventListener","disconnect","sourceElement","document","activeElement","interactiveElementList","findIndex","element","hasAttribute","focusElement","getFocusedElementIndex","i","length","closeIconClick","Array","from","querySelectorAll","slottedInteractiveElements","slot","setAttribute","splice","getNextFocusEl","onTabKeyPress","shiftKey","tagName","setFocusIndexBasedOnShiftKey","loopNextFocusIndexIfLastElement","shouldSkipElement","isHidden","getComputedStyle","visibility","offsetHeight","radioEl","closest","getAttribute","tabIndex","nextFocusEl","setFocus","focus","renderDialog","heading","label","controlsSlotUsed","isSlotUsed","h","class","dialog","ref","name","variant","id","innerHTML","closeIcon","onClick","Fragment","cancelDialog","confirmDialog","watchOpenHandler","close","icDialogClosed","disconnectedCallback","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","componentDidRender","body","style","overflow","display","handleKeyboard","ev","key","preventDefault","repeat","stopImmediatePropagation","handleClick","composedPath","indexOf","top","height","left","width","getBoundingClientRect","isInDialog","clientY","clientX","icDialogCancelled","icDialogConfirmed","render","Host"],"sources":["src/components/ic-dialog/ic-dialog.css?tag=ic-dialog&encapsulation=shadow","src/components/ic-dialog/ic-dialog.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-dialog: z-index of dialog \n */\n\n:host {\n position: fixed;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 100% !important;\n background: rgb(0 0 0 / 60%);\n z-index: var(--ic-z-index-dialog);\n opacity: 0;\n}\n\n:host(.ic-dialog-fade-in) {\n opacity: 1;\n}\n\n:host(.disable-height-constraint) {\n background: none;\n justify-content: unset;\n align-items: unset;\n}\n\n.dialog.disable-height-constraint {\n max-height: none;\n position: relative;\n}\n\n.dialog.disable-height-constraint .content-area {\n overflow-y: visible;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :host {\n transition: opacity var(--ic-easing-transition-slow);\n }\n\n .dialog {\n transform: translateY(-3rem);\n transition: transform 1000s;\n }\n\n :host(.ic-dialog-fade-in) .dialog {\n transform: translateY(0);\n transition: transform var(--ic-easing-transition-slow);\n }\n}\n\n:host(.ic-dialog-hidden) {\n display: none;\n}\n\n.dialog {\n background-color: var(--ic-dialog-background);\n color: var(--ic-dialog-text-primary);\n\n --ic-typography-color: var(--ic-dialog-text-primary);\n\n border: var(--ic-space-1px) solid var(--ic-dialog-border);\n border-radius: var(--ic-border-radius);\n padding: var(--ic-space-xs) 0 var(--ic-space-md);\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n overflow-x: visible;\n}\n\n.small {\n width: 50%;\n max-width: 25rem;\n min-height: 11rem;\n max-height: 70vh;\n}\n\n.medium {\n width: 70vw;\n max-width: 44rem;\n min-height: 12.5rem;\n max-height: 70vh;\n}\n\n.large {\n width: 90vw;\n max-width: 62.5rem;\n min-height: 12.5rem;\n max-height: 90vh;\n}\n\n.heading-area {\n display: flex;\n margin-bottom: var(--ic-space-xs);\n padding: 0 var(--ic-space-md);\n}\n\n.heading {\n overflow-wrap: break-word;\n}\n\n.close-icon {\n margin-left: auto;\n}\n\n.close-icon > svg {\n color: var(--ic-dialog-clear-button);\n}\n\n.content-area {\n padding: 0 var(--ic-space-md);\n margin: 0;\n overflow-y: auto;\n}\n\n#dialog-content {\n margin-bottom: var(--ic-space-sm);\n}\n\n#dialog-content ::slotted(ic-typography) {\n overflow-wrap: break-word;\n}\n\n#dialog-content ::slotted(*) {\n position: relative;\n}\n\n.dialog-controls {\n margin-top: auto;\n padding: var(--ic-space-xs) var(--ic-space-md) 0;\n display: flex;\n justify-content: flex-end;\n gap: var(--ic-space-md);\n}\n\n.dialog-control-button {\n width: fit-content;\n}\n\n.backdrop {\n overflow-y: auto;\n position: fixed;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgb(0 0 0 / 60%);\n z-index: var(--ic-z-index-dialog);\n padding-top: 16px;\n padding-bottom: 16px;\n}\n\n.heading ic-typography {\n --ic-typography-color: var(--ic-dialog-text-primary);\n}\n\n.label ic-typography {\n --ic-typography-color: var(--ic-dialog-label);\n}\n\n@media (min-width: 800px) {\n :host([size=\"large\"]) .dialog:not(.disable-width-constraint) > .content-area {\n width: 75%;\n }\n}\n\n@media (max-width: 576px) {\n .dialog {\n width: 100vw;\n height: 100vh;\n max-width: none;\n max-height: none;\n box-sizing: border-box;\n }\n\n .backdrop {\n padding: 0;\n }\n\n .dialog.disable-height-constraint {\n height: auto;\n min-height: 100vh;\n }\n}\n\n@media (max-width: 364px) {\n .dialog-control-button {\n width: unset;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n State,\n Method,\n Listen,\n Watch,\n h,\n Fragment,\n} from \"@stencil/core\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport {\n isSlotUsed,\n checkResizeObserver,\n onComponentRequiredPropUndefined,\n getSlotElements,\n} from \"../../utils/helpers\";\nimport { IcFocusableComponents, IcThemeMode } from \"../../utils/types\";\n\n/**\n * @slot dialog-controls - Content will be place at the bottom of the dialog.\n * @slot heading - Content will be placed at the top of the dialog.\n * @slot label - Content will be placed above the dialog heading.\n * @slot alert - Content will be placed at the top of the content area of the dialog.\n */\n@Component({\n tag: \"ic-dialog\",\n styleUrl: \"ic-dialog.css\",\n shadow: true,\n})\nexport class Dialog {\n private backdropEl?: HTMLDivElement;\n private contentArea: HTMLSlotElement | null;\n private contentAreaMutationObserver: MutationObserver | null = null;\n private DATA_GETS_FOCUS: string = \"data-gets-focus\";\n private DIALOG_CONTROLS: string = \"dialog-controls\";\n private dialogEl?: HTMLDialogElement;\n private dialogHeight: number = 0;\n private focusedElementIndex = 0;\n private IC_TEXT_FIELD: string = \"IC-TEXT-FIELD\";\n private IC_ACCORDION: string = \"IC-ACCORDION\";\n private IC_ACCORDION_GROUP: string = \"IC-ACCORDION-GROUP\";\n private IC_CHECKBOX = \"IC-CHECKBOX\";\n private IC_SEARCH_BAR: string = \"IC-SEARCH-BAR\";\n private interactiveElementList: HTMLElement[];\n private resizeObserver: ResizeObserver | null = null;\n private resizeTimeout: number;\n private sourceElement: HTMLElement;\n\n @Element() el: HTMLIcDialogElement;\n\n @State() dialogRendered: boolean = false;\n @State() fadeIn: boolean = false;\n\n /**\n * If set to `false`, the dialog will not close when the backdrop is clicked.\n */\n @Prop() closeOnBackdropClick?: boolean = true;\n\n /**\n * If 'true', sets the 'primary' or rightmost button to the destructive variant. Stops initial focus being set on the 'primary' or rightmost default or slotted button.\n */\n @Prop() destructive?: boolean = false;\n\n /**\n * Sets the dismiss label tooltip and aria label.\n */\n @Prop() dismissLabel?: string = \"Dismiss\";\n\n /**\n * If set to `true`, the content area max height and overflow properties are removed allowing the dialog to stretch below the fold.\n * This prop also prevents popover elements from being cut off within the content area.\n */\n @Prop() disableHeightConstraint?: boolean = false;\n\n /**\n * If set to `true`, the content area width property is removed, allowing content to take the full width of the dialog when using the large variant.\n */\n @Prop() disableWidthConstraint?: boolean = false;\n\n /**\n * If `true`, the close button will not be displayed.\n */\n @Prop() hideCloseButton?: boolean = false;\n\n /**\n * If set to `true`, default button controls will not be shown, but slotted dialog controls will still be displayed.\n */\n @Prop() hideDefaultControls: boolean = false;\n\n /**\n * Sets the heading for the dialog.\n */\n @Prop() heading?: string;\n\n /**\n * Sets the optional label for the dialog which appears above the heading.\n */\n @Prop() label?: string;\n\n /**\n * If `true`, the dialog will be displayed.\n */\n @Prop({ reflect: true, mutable: true }) open?: boolean = false;\n\n @Watch(\"open\")\n watchOpenHandler(): void {\n if (this.open) {\n this.dialogOpened();\n } else {\n this.fadeIn = false;\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n setTimeout(() => {\n this.dialogRendered = false;\n this.dialogEl?.close();\n this.sourceElement?.focus();\n this.dialogHeight = 0;\n this.icDialogClosed.emit();\n }, 80);\n }\n }\n\n /**\n * Sets the maximum and minimum height and width for the dialog.\n */\n @Prop() size?: \"small\" | \"medium\" | \"large\" = \"small\";\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * Cancelation event emitted when default 'Cancel' button clicked or 'cancelDialog' method is called.\n */\n @Event() icDialogCancelled: EventEmitter<void>;\n\n /**\n * Emitted when dialog has closed.\n */\n @Event() icDialogClosed: EventEmitter<void>;\n\n /**\n * Confirmation event emitted when default 'Confirm' primary button clicked or 'confirmDialog' method is called.\n */\n @Event() icDialogConfirmed: EventEmitter<void>;\n\n /**\n * Emitted when dialog has opened.\n */\n @Event() icDialogOpened: EventEmitter<void>;\n\n disconnectedCallback(): void {\n this.removeSlotChangeListener();\n }\n\n componentDidLoad(): void {\n this.getInteractiveElements();\n\n this.refreshInteractiveElementsOnSlotChange();\n\n if (this.open) {\n this.dialogOpened();\n }\n\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Dialog\"\n );\n }\n\n componentDidRender(): void {\n document.body.style.overflow =\n getComputedStyle(this.el).display !== \"none\" &&\n this.disableHeightConstraint\n ? \"hidden\"\n : \"auto\";\n }\n\n @Listen(\"keydown\", { target: \"document\" })\n handleKeyboard(ev: KeyboardEvent): void {\n if (this.dialogRendered) {\n switch (ev.key) {\n case \"Tab\":\n if (this.onTabKeyPress(ev.shiftKey)) {\n ev.preventDefault();\n }\n break;\n case \"Escape\":\n if (!ev.repeat) {\n this.open = false;\n }\n ev.stopImmediatePropagation();\n break;\n }\n }\n }\n\n @Listen(\"click\", {})\n handleClick(ev: MouseEvent): void {\n if (\n this.dialogEl &&\n this.closeOnBackdropClick &&\n ev.composedPath().indexOf(this.dialogEl) <= 0\n ) {\n const { top, height, left, width } =\n this.dialogEl.getBoundingClientRect();\n const isInDialog =\n top <= ev.clientY &&\n ev.clientY <= top + height &&\n left <= ev.clientX &&\n ev.clientX <= left + width;\n if (!isInDialog) {\n this.open = false;\n }\n }\n }\n\n /**\n * Cancels the dialog. Used by the default 'Cancel' button or can be called manually to trigger cancelling of dialog.\n */\n @Method()\n async cancelDialog(): Promise<void> {\n this.icDialogCancelled.emit();\n this.open = false;\n }\n\n /**\n * Confirms the dialog. Used by the default 'Confirm' button or can be called manually to trigger confirming of dialog.\n */\n @Method()\n async confirmDialog(): Promise<void> {\n this.icDialogConfirmed.emit();\n }\n\n private dialogOpened = () => {\n this.dialogRendered = true;\n\n if (this.disableHeightConstraint) {\n this.dialogEl?.show();\n } else {\n this.dialogEl?.showModal();\n }\n\n setTimeout(() => {\n this.fadeIn = true;\n\n /**\n * This is required to set scroll back to top if:\n * - dialog content goes below the fold\n * - is closed using cancel or confirm and reopened.\n *\n * Without this, the scroll bar will start from the dialog's last scroll-x coordinate.\n */\n if (\n this.backdropEl &&\n this.disableHeightConstraint &&\n this.backdropEl.scrollTop !== 0\n ) {\n this.backdropEl.scrollTop = 0;\n }\n }, 10);\n\n setTimeout(() => {\n this.setInitialFocus();\n checkResizeObserver(this.runResizeObserver);\n }, 75);\n\n setTimeout(() => {\n this.icDialogOpened.emit();\n }, 80);\n };\n\n private runResizeObserver = () => {\n if (this.dialogEl) {\n this.resizeObserver = new ResizeObserver(() => {\n clearTimeout(this.resizeTimeout);\n this.resizeTimeout = window.setTimeout(this.resizeObserverCallback, 80);\n });\n this.resizeObserver.observe(this.dialogEl);\n }\n };\n\n private resizeObserverCallback = () => {\n if (this.dialogEl && this.dialogEl.clientHeight !== this.dialogHeight) {\n this.dialogHeight = this.dialogEl.clientHeight;\n }\n };\n\n private refreshInteractiveElementsOnSlotChange = () => {\n const contentWrapper = this.el.shadowRoot?.querySelector(\"#dialog-content\");\n\n if (contentWrapper) {\n this.contentArea = contentWrapper.querySelector(\"slot\");\n\n // Detect changes to slotted elements\n this.contentArea?.addEventListener(\n \"slotchange\",\n this.getInteractiveElements\n );\n\n this.contentAreaMutationObserver = new MutationObserver(() => {\n this.getInteractiveElements();\n });\n\n // Detect changes to children of slotted elements\n getSlotElements(contentWrapper)?.forEach((el) => {\n this.contentAreaMutationObserver?.observe(el, {\n childList: true,\n subtree: true,\n });\n });\n }\n };\n\n private removeSlotChangeListener = () => {\n if (this.contentArea) {\n this.contentArea.removeEventListener(\n \"slotchange\",\n this.getInteractiveElements\n );\n\n this.contentAreaMutationObserver?.disconnect();\n }\n };\n\n private setInitialFocus = () => {\n this.sourceElement = document.activeElement as HTMLElement;\n this.focusedElementIndex = this.interactiveElementList\n ? this.interactiveElementList.findIndex((element) =>\n element.hasAttribute(this.DATA_GETS_FOCUS)\n )\n : 0;\n this.focusElement(this.interactiveElementList[this.focusedElementIndex]);\n };\n\n private getFocusedElementIndex = () => {\n for (let i = 0; i < this.interactiveElementList.length; i++) {\n if (\n (this.interactiveElementList[i] as HTMLElement) ===\n (this.el.shadowRoot?.activeElement || document.activeElement)\n ) {\n this.focusedElementIndex = i;\n }\n }\n };\n\n private closeIconClick = () => {\n this.open = false;\n };\n\n private getInteractiveElements = () => {\n this.interactiveElementList = Array.from(\n this.el.shadowRoot?.querySelectorAll(\"ic-button\") || []\n );\n const slottedInteractiveElements = Array.from(\n this.el.querySelectorAll(\n `a[href], button, input:not(.ic-input), textarea, select, details, [tabindex]:not([tabindex=\"-1\"]),\n ic-button, ic-checkbox, ic-select, ic-search-bar, ic-tab-group, \n ic-back-to-top, ic-breadcrumb, ic-chip[dismissible=\"true\"], ic-footer-link, ic-link, ic-navigation-button,\n ic-navigation-item, ic-switch, ic-text-field, ic-accordion-group, ic-accordion, ic-date-input, ic-date-picker`\n )\n );\n if (slottedInteractiveElements.length > 0) {\n if (slottedInteractiveElements[0].slot !== this.DIALOG_CONTROLS) {\n slottedInteractiveElements[0].setAttribute(this.DATA_GETS_FOCUS, \"\");\n } else if (!this.destructive) {\n slottedInteractiveElements[\n slottedInteractiveElements.length - 1\n ].setAttribute(this.DATA_GETS_FOCUS, \"\");\n }\n }\n for (let i = 0; i < slottedInteractiveElements.length; i++) {\n this.interactiveElementList.splice(\n 1 + i,\n 0,\n slottedInteractiveElements[i] as HTMLElement\n );\n }\n };\n\n private getNextFocusEl = (focusedElementIndex: number) =>\n this.interactiveElementList[focusedElementIndex];\n\n private onTabKeyPress = (shiftKey: boolean): boolean => {\n this.getFocusedElementIndex();\n\n if (\n this.interactiveElementList[this.focusedElementIndex].tagName ===\n this.IC_SEARCH_BAR\n ) {\n return false;\n }\n\n this.setFocusIndexBasedOnShiftKey(shiftKey);\n this.loopNextFocusIndexIfLastElement();\n\n this.focusElement(this.getNextFocusEl(this.focusedElementIndex), shiftKey);\n return true;\n };\n\n private shouldSkipElement = (element: HTMLElement): boolean => {\n const isHidden =\n getComputedStyle(element).visibility === \"hidden\" ||\n element.offsetHeight === 0 ||\n element.hasAttribute(\"disabled\") ||\n (element.tagName === this.IC_ACCORDION_GROUP &&\n element.hasAttribute(\"single-expansion\"));\n\n const radioEl = element.closest(\"ic-radio-option\");\n\n return (\n isHidden ||\n (element.getAttribute(\"type\") === \"radio\" &&\n !!radioEl &&\n !(radioEl.hasAttribute(\"selected\") || element.tabIndex === 0))\n );\n };\n\n private focusElement = (element: HTMLElement, shiftKey = false) => {\n let nextFocusEl = element;\n\n if (this.shouldSkipElement(element)) {\n this.setFocusIndexBasedOnShiftKey(shiftKey);\n this.loopNextFocusIndexIfLastElement();\n\n nextFocusEl = this.getNextFocusEl(this.focusedElementIndex);\n this.focusElement(nextFocusEl, shiftKey);\n } else {\n switch (element.tagName) {\n case this.IC_ACCORDION_GROUP:\n case this.IC_ACCORDION:\n case this.IC_SEARCH_BAR:\n case this.IC_TEXT_FIELD:\n case this.IC_CHECKBOX:\n (element as IcFocusableComponents).setFocus();\n break;\n default:\n (element as HTMLElement).focus();\n }\n }\n };\n\n private loopNextFocusIndexIfLastElement() {\n if (this.focusedElementIndex > this.interactiveElementList.length - 1)\n this.focusedElementIndex = 0;\n else if (this.focusedElementIndex < 0) {\n this.focusedElementIndex = this.interactiveElementList.length - 1;\n }\n }\n\n private setFocusIndexBasedOnShiftKey(shiftKey: boolean) {\n if (shiftKey) {\n this.focusedElementIndex -= 1;\n } else {\n this.focusedElementIndex += 1;\n }\n }\n\n private renderDialog = () => {\n const {\n hideDefaultControls,\n size,\n heading,\n label,\n destructive,\n dismissLabel,\n hideCloseButton,\n disableHeightConstraint,\n disableWidthConstraint,\n closeIconClick,\n DIALOG_CONTROLS,\n } = this;\n\n const controlsSlotUsed = isSlotUsed(this.el, DIALOG_CONTROLS);\n\n return (\n <dialog\n class={{\n dialog: true,\n [`${size}`]: true,\n \"disable-height-constraint\": !!disableHeightConstraint,\n \"disable-width-constraint\": !!disableWidthConstraint,\n }}\n aria-labelledby=\"dialog-label dialog-heading\"\n aria-describedby=\"dialog-alert dialog-content\"\n ref={(el) => (this.dialogEl = el)}\n >\n <div class=\"heading-area\">\n <div class=\"heading-content\">\n <div class=\"label\">\n <slot name=\"label\">\n <ic-typography variant=\"label\" id=\"dialog-label\">\n {label}\n </ic-typography>\n </slot>\n </div>\n <div class=\"heading\">\n <slot name=\"heading\">\n <ic-typography variant=\"h4\" id=\"dialog-heading\">\n {heading}\n </ic-typography>\n </slot>\n </div>\n </div>\n {!hideCloseButton && (\n <ic-button\n class=\"close-icon\"\n variant=\"icon\"\n innerHTML={closeIcon}\n aria-label={dismissLabel}\n onClick={closeIconClick}\n data-gets-focus={\n destructive || (hideDefaultControls && !controlsSlotUsed)\n ? \"\"\n : null\n }\n ></ic-button>\n )}\n </div>\n <div class=\"content-area\">\n {isSlotUsed(this.el, \"alert\") && <slot name=\"alert\" />}\n <div id=\"dialog-content\">\n <slot />\n </div>\n </div>\n {(controlsSlotUsed || !hideDefaultControls) && (\n <div\n class={{\n [DIALOG_CONTROLS]: true,\n }}\n >\n {controlsSlotUsed ? (\n <slot name={DIALOG_CONTROLS} />\n ) : (\n <Fragment>\n <ic-button\n variant=\"tertiary\"\n onClick={() => this.cancelDialog()}\n class=\"dialog-control-button\"\n data-gets-focus={null}\n >\n Cancel\n </ic-button>\n <ic-button\n variant={destructive ? \"destructive\" : \"primary\"}\n onClick={() => this.confirmDialog()}\n class=\"dialog-control-button\"\n data-gets-focus=\"\"\n >\n Confirm\n </ic-button>\n </Fragment>\n )}\n </div>\n )}\n </dialog>\n );\n };\n\n render() {\n const { dialogRendered, disableHeightConstraint, fadeIn, theme } = this;\n\n return (\n <Host\n class={{\n \"ic-dialog-hidden\": !dialogRendered,\n \"ic-dialog-fade-in\": fadeIn,\n \"disable-height-constraint\": !!disableHeightConstraint,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n {disableHeightConstraint ? (\n <div class=\"backdrop\" ref={(el) => (this.backdropEl = el)}>\n {this.renderDialog()}\n </div>\n ) : (\n this.renderDialog()\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,c as i,h as a,H as t,g as r}from"./p-8e4e97b4.js";import{r as o,l as c,i as n,k as d,o as s,t as l,e as b}from"./p-25007ec9.js";const h='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}ic-radio-option{display:flex;flex-direction:column;width:-moz-fit-content;width:fit-content}.additional-field-wrapper [slot="additional-field"]{margin-top:calc(var(--ic-space-sm) / 2);margin-left:var(--ic-space-xl)}ic-radio-option.ic-radio-option-disabled,ic-radio-option.ic-radio-option-disabled .radio-label{--ic-typography-color:var(--ic-radio-button-text-option-disabled)}.container input:focus+span.checkmark,.container:hover input:focus+span.checkmark,.container:active input:focus+span.checkmark,:host(:focus) .container input:checked+span.checkmark{box-shadow:var(--ic-border-focus)}.container{display:grid;grid-template-columns:min-content auto;position:relative;cursor:pointer;align-items:center;margin:var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs)}.container.disabled,.container.disabled input:disabled{cursor:default}.container input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-block;position:absolute;cursor:pointer;height:var(--ic-space-lg);width:var(--ic-space-lg);border-radius:50%;border:none}.checkmark{display:block;position:relative;top:0;left:0;height:var(--ic-space-lg);width:var(--ic-space-lg);background-color:var(--ic-radio-button-background-default);border:var(--ic-space-1px) solid var(--ic-radio-button-border-default);border-radius:50%;transition:var(--ic-easing-transition-fast);box-sizing:border-box}.container input:checked~.checkmark::after{display:inline-block}.container:hover input~.checkmark{box-shadow:0 0 0 0.25rem var(--ic-radio-button-active-hover);border:var(--ic-border-width) solid var(--ic-radio-button-default-hover)}.container:hover input:checked~.checkmark{box-shadow:0 0 0 0.25rem var(--ic-radio-button-active-hover);border:0.125rem solid var(--ic-radio-button-default-hover)}.container:hover:not(.disabled) input:checked~.checkmark::after{background-color:var(--ic-radio-button-default-hover)}.container:active input~.checkmark{box-shadow:0 0 0 0.25rem var(--ic-radio-button-active-pressed);border:var(--ic-border-width) solid var(--ic-radio-button-default-pressed)}.container:active input:checked~.checkmark{border:0.125rem solid var(--ic-radio-button-default-pressed);box-shadow:0 0 0 0.25rem var(--ic-radio-button-active-pressed)}.container:active input:checked~.checkmark::after{background-color:var(--ic-radio-button-default-pressed)}.container input:checked~.checkmark{border:0.125rem solid var(--ic-radio-button-default-active)}.container input:checked:disabled~.checkmark{border:0.125rem solid var(--ic-radio-button-border-disabled)}.container input:disabled~.checkmark{border:var(--ic-border-width) dashed var(--ic-radio-button-border-disabled)}.container input:disabled~.checkmark::after{background:var(--ic-radio-button-disabled)}.container:hover input:disabled~.checkmark{box-shadow:none;border:0.125rem solid none}.container:active input:disabled~.checkmark::after{background-color:var(--ic-radio-button-disabled)}.container .checkmark::after{content:"";position:absolute;display:none;top:calc(50% - var(--ic-space-xs));left:calc(50% - var(--ic-space-xs));width:var(--ic-space-md);height:var(--ic-space-md);border-radius:50%;background:var(--ic-radio-button-default-active)}.radio-label{margin-left:var(--ic-space-md);--ic-typography-color:var(--ic-radio-button-text-option)}.additional-field-wrapper{margin-left:var(--ic-space-xs)}.branch-corner{color:var(--ic-radio-button-required-bar);height:var(--ic-space-md);width:var(--ic-space-xl);border-radius:0 0 0 0.188rem;border-bottom:0.125rem solid var(--ic-radio-button-required-bar);border-left:0.125rem solid var(--ic-radio-button-required-bar);margin-left:calc(-1 * var(--ic-space-1px))}.dynamic-container{display:flex;position:relative;margin:var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);gap:var(--ic-space-xs)}.dynamic-container.hidden{display:none}.dynamic-text{color:var(--ic-radio-button-required-text);--ic-typography-color:var(--ic-radio-button-required-text);margin-top:calc(var(--ic-space-sm) / 2);margin-bottom:var(--ic-space-xs);border-radius:2%}@media (max-width: 576px){ic-text-field{--input-width:100%}}@media (forced-colors: active){.container input:checked~.checkmark,.container:active input:checked~.checkmark{border-color:Highlight}.container input:checked~.checkmark::after,.container:active input:checked~.checkmark::after{background-color:Highlight}.container input:disabled~.checkmark,.container input:checked:disabled~.checkmark{border-color:GrayText}.container input:disabled~.checkmark::after,.container:active input:disabled~.checkmark::after{background-color:GrayText}}input[type="radio"]:dir(rtl){right:0}.radio-label:dir(rtl){padding-right:var(--ic-space-sm);padding-left:0}.branch-corner:dir(rtl){border-radius:0 0 0.188rem;border-right:0.125rem solid var(--ic-action-default);border-left:none}.dynamic-container:dir(rtl){margin:var(--ic-space-xxxs) var(--ic-space-sm) var(--ic-space-xxs) 0}';const p=h;const u="additional-field";const m=class{constructor(a){e(this,a);this.icCheck=i(this,"icCheck",7);this.icSelectedChange=i(this,"icSelectedChange",7);this.defaultRadioValue="";this.hasAdditionalField=false;this.skipFocus=false;this.additionalFieldDisplay="static";this.disabled=false;this.dynamicText="This selection requires additional answers";this.theme="inherit";this.selected=false;this.initiallySelected=this.selected;this.handleClick=e=>{var i,a;const t=e.target.matches(".dynamic-container:not(ic-radio-option, .checkmark), .dynamic-container *:not(ic-radio-option, .checkmark)");if(!this.disabled&&(!t||e.target===this.radioElement)){e.stopPropagation();if(this.skipFocus===false){(i=this.radioElement)===null||i===void 0?void 0:i.focus()}this.skipFocus=false;if(this.hasAdditionalField){this.value=((a=this.getAdditionalField())===null||a===void 0?void 0:a.value)||this.defaultRadioValue}this.icCheck.emit({value:this.value})}};this.handleKeyDown=e=>{const i=["IC-DATE-INPUT","IC-DATE-PICKER"];if(this.getAdditionalField()==document.activeElement&&i.includes(this.getAdditionalField().nodeName)){e.stopPropagation()}};this.handleFormReset=()=>{this.skipFocus=true;this.selected=this.initiallySelected}}watchDisabledHandler(){o(this.disabled,this.el)}watchSelectedHandler(){this.icSelectedChange.emit()}handleCheck(e){if(this.additionalFieldDisplay==="static"&&Array.from(this.el.querySelectorAll("ic-radio-option")).includes(e.target))this.icCheck.emit({value:this.value})}disconnectedCallback(){c(this.el,this.handleFormReset)}componentWillLoad(){if(n(this.el,u)){this.hasAdditionalField=true;this.getAdditionalField()}this.defaultRadioValue=this.value;d(this.el,this.handleFormReset);o(this.disabled,this.el)}componentDidLoad(){s([{prop:this.value,propName:"value"}],"Radio Option")}componentWillRender(){const e=l(this.el,u);if(e&&!this.hasAdditionalField){this.hasAdditionalField=true;this.getAdditionalField()}else if(!e&&this.hasAdditionalField){this.hasAdditionalField=false}}componentDidRender(){if(this.additionalFieldDisplay==="static"){const e=this.getAdditionalField();if(!this.selected||this.disabled){e===null||e===void 0?void 0:e.setAttribute("disabled","")}else{e===null||e===void 0?void 0:e.removeAttribute("disabled")}}}additionalFieldValueHandler(e){if(this.selected){this.value=e.detail.value||this.defaultRadioValue;this.icCheck.emit({value:this.value})}e.stopImmediatePropagation()}async setFocus(){var e;(e=this.radioElement)===null||e===void 0?void 0:e.focus()}async setTabIndex(e){var i;(i=this.radioElement)===null||i===void 0?void 0:i.setAttribute("tabIndex",e.toString())}getAdditionalField(){const e=this.el.querySelector('ic-text-field[slot="additional-field"]');if(e)e.hiddenInput=false;return e}render(){const{additionalFieldDisplay:e,disabled:i,dynamicText:r,form:o,groupLabel:c,handleClick:n,handleKeyDown:d,hasAdditionalField:s,label:l,name:h,selected:p,value:m,theme:f}=this;const v=`ic-radio-option-${b(l)||m}-${c}`;return a(t,{key:"ee36e924b1c248c87724903313bc778976c36522",onClick:n,onKeyDown:d,class:{["ic-radio-option-disabled"]:!!i,[`ic-theme-${f}`]:f!=="inherit"}},a("div",{key:"35871b7136c8dd16432e2a0683b13db53f2a1bd0",class:{container:true,disabled:!!i}},a("div",{key:"daead4b95901afb27be2d2640d1210783ec4c14e"},a("input",{key:"69d0c5dec724714118475529e021ed9d30350383",tabindex:p?"0":"-1",type:"radio",name:h,id:v,value:m,disabled:i,checked:p,ref:e=>this.radioElement=e,form:o}),a("span",{key:"7ae687fb075f60e33fb7edd48b1f323c5833b9fb",class:"checkmark"})),a("ic-typography",{key:"a3990ac2ea9a3898a436f2fd05966f920a493fa4",class:"radio-label",variant:"body"},a("label",{key:"0b83a00e2f215d9d051e71650584fb1e0aad55a4",htmlFor:v},l))),s&&a("div",{key:"47b6a141f6956e78d4516985d2e70f00c1bdf1cf",class:{"dynamic-container":true,hidden:e==="dynamic"&&!p}},e==="dynamic"&&a("div",{key:"2c06cbb85ba445972698c02757a07e048a09ce40",class:"branch-corner"}),a("div",{key:"ecc00a96cfb580b9f386ea148106a1dae5a31332"},e==="dynamic"&&a("ic-typography",{key:"eeacd2d66085bd2bdb16698e6050e552d410d11b",variant:"caption"},a("p",{key:"da0327cfe9a9a09405c86e268e7a84ca090b437f",class:"dynamic-text"},r)),a("div",{key:"c9177d6cd8174c92665a3c59a1fe38aeedf6e17b",class:{"additional-field-wrapper":e==="static"}},a("slot",{key:"1f4fdd0f5eeca0900aeaa04d49191e0b65d843ab",name:u})))))}get el(){return r(this)}static get watchers(){return{disabled:["watchDisabledHandler"],selected:["watchSelectedHandler"]}}};m.style=p;export{m as ic_radio_option};
2
- //# sourceMappingURL=p-e876e47c.entry.js.map