@ukic/web-components 3.8.0 → 3.10.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 (503) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-8217daf4.js → helpers-a0e78e2e.js} +31 -7
  3. package/dist/cjs/helpers-a0e78e2e.js.map +1 -0
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
  6. package/dist/cjs/ic-action-chip.cjs.entry.js +2 -2
  7. package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  9. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-badge.cjs.entry.js +2 -2
  12. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  14. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  15. package/dist/cjs/ic-button_3.cjs.entry.js +25 -20
  16. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-card-vertical.cjs.entry.js +1 -1
  18. package/dist/cjs/ic-checkbox-group.cjs.entry.js +1 -1
  19. package/dist/cjs/ic-checkbox.cjs.entry.js +2 -2
  20. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-chip.cjs.entry.js +2 -2
  22. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-data-list.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  26. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-empty-state.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  31. package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  33. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  34. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +2 -2
  35. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +4 -4
  37. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
  39. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +70 -0
  40. package/dist/cjs/ic-layout-grid-item.cjs.entry.js.map +1 -0
  41. package/dist/cjs/ic-layout-grid.cjs.entry.js +156 -0
  42. package/dist/cjs/ic-layout-grid.cjs.entry.js.map +1 -0
  43. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  44. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  45. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  46. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  47. package/dist/cjs/ic-navigation-group.cjs.entry.js +3 -3
  48. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  50. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
  51. package/dist/cjs/ic-page-header.cjs.entry.js +7 -7
  52. package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
  53. package/dist/cjs/ic-pagination.cjs.entry.js +5 -5
  54. package/dist/cjs/ic-popover-menu.cjs.entry.js +10 -6
  55. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
  57. package/dist/cjs/ic-radio-option.cjs.entry.js +1 -1
  58. package/dist/cjs/ic-search-bar.cjs.entry.js +1 -1
  59. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  60. package/dist/cjs/ic-select.cjs.entry.js +8 -7
  61. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-side-navigation.cjs.entry.js +5 -5
  63. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  64. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  65. package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
  66. package/dist/cjs/ic-step.cjs.entry.js +14 -14
  67. package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
  68. package/dist/cjs/ic-switch.cjs.entry.js +5 -5
  69. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  70. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  71. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  72. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  73. package/dist/cjs/ic-text-field.cjs.entry.js +4 -4
  74. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  76. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  77. package/dist/cjs/ic-toast.cjs.entry.js +5 -5
  78. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +3 -3
  80. package/dist/cjs/ic-toggle-button.cjs.entry.js +3 -3
  81. package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
  82. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  83. package/dist/cjs/index-d337cd8a.js +8 -0
  84. package/dist/cjs/loader.cjs.js +1 -1
  85. package/dist/collection/assets/ai-icon.svg +11 -0
  86. package/dist/collection/collection-manifest.json +2 -0
  87. package/dist/collection/components/ic-action-chip/ic-action-chip.css +3 -3
  88. package/dist/collection/components/ic-alert/ic-alert.css +13 -0
  89. package/dist/collection/components/ic-alert/ic-alert.js +1 -1
  90. package/dist/collection/components/ic-alert/ic-alert.stories.js +7 -2
  91. package/dist/collection/components/ic-back-to-top/ic-back-to-top.stories.js +179 -0
  92. package/dist/collection/components/ic-badge/ic-badge.css +4 -0
  93. package/dist/collection/components/ic-badge/ic-badge.js +1 -1
  94. package/dist/collection/components/ic-badge/ic-badge.stories.js +98 -0
  95. package/dist/collection/components/ic-button/ic-button.js +33 -12
  96. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  97. package/dist/collection/components/ic-button/ic-button.stories.js +181 -2
  98. package/dist/collection/components/ic-checkbox/ic-checkbox.css +1 -0
  99. package/dist/collection/components/ic-chip/ic-chip.css +3 -3
  100. package/dist/collection/components/ic-data-list/ic-data-list.css +5 -0
  101. package/dist/collection/components/ic-data-list/ic-data-list.stories.js +50 -0
  102. package/dist/collection/components/ic-data-row/ic-data-row.css +3 -1
  103. package/dist/collection/components/ic-footer/ic-footer.stories.js +72 -0
  104. package/dist/collection/components/ic-hero/ic-hero.stories.js +72 -0
  105. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +8 -0
  106. package/dist/collection/components/ic-layout-grid/ic-layout-grid.css +540 -0
  107. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js +377 -0
  108. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js.map +1 -0
  109. package/dist/collection/components/ic-layout-grid/ic-layout-grid.stories.js +429 -0
  110. package/dist/collection/components/ic-layout-grid/ic-layout-grid.types.js +2 -0
  111. package/dist/collection/components/ic-layout-grid/ic-layout-grid.types.js.map +1 -0
  112. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.css +12 -0
  113. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js +182 -0
  114. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js.map +1 -0
  115. package/dist/collection/components/ic-link/ic-link.js +1 -1
  116. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +5 -5
  117. package/dist/collection/components/ic-menu/ic-menu.js +3 -3
  118. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  119. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +2 -0
  120. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
  121. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  122. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  123. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  124. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  125. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +29 -5
  126. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  127. package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +94 -0
  128. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  129. package/dist/collection/components/ic-section-container/ic-section-container.stories.js +39 -0
  130. package/dist/collection/components/ic-select/ic-select.js +7 -6
  131. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  132. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +4 -4
  133. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  134. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  135. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  136. package/dist/collection/components/ic-step/ic-step.js +13 -13
  137. package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
  138. package/dist/collection/components/ic-switch/ic-switch.js +4 -4
  139. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
  140. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  141. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  142. package/dist/collection/components/ic-text-field/ic-text-field.js +3 -3
  143. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  144. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  145. package/dist/collection/components/ic-toast/ic-toast.css +8 -0
  146. package/dist/collection/components/ic-toast/ic-toast.js +4 -4
  147. package/dist/collection/components/ic-toast/ic-toast.stories.js +2 -2
  148. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  149. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
  150. package/dist/collection/components/ic-toggle-button/ic-toggle-button.stories.js +236 -0
  151. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
  152. package/dist/collection/components/ic-tooltip/ic-tooltip.js +27 -3
  153. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  154. package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +38 -0
  155. package/dist/collection/utils/constants.js +5 -0
  156. package/dist/collection/utils/constants.js.map +1 -1
  157. package/dist/collection/utils/helpers.js +14 -6
  158. package/dist/collection/utils/helpers.js.map +1 -1
  159. package/dist/collection/utils/types.js.map +1 -1
  160. package/dist/components/helpers.js +31 -7
  161. package/dist/components/helpers.js.map +1 -1
  162. package/dist/components/ic-action-chip.js +1 -1
  163. package/dist/components/ic-action-chip.js.map +1 -1
  164. package/dist/components/ic-alert.js +1 -1
  165. package/dist/components/ic-alert.js.map +1 -1
  166. package/dist/components/ic-back-to-top.js +1 -1
  167. package/dist/components/ic-badge.js +2 -2
  168. package/dist/components/ic-badge.js.map +1 -1
  169. package/dist/components/ic-breadcrumb-group.js +1 -1
  170. package/dist/components/ic-breadcrumb2.js +1 -1
  171. package/dist/components/ic-button2.js +14 -12
  172. package/dist/components/ic-button2.js.map +1 -1
  173. package/dist/components/ic-checkbox-group.js +1 -1
  174. package/dist/components/ic-checkbox.js +2 -2
  175. package/dist/components/ic-checkbox.js.map +1 -1
  176. package/dist/components/ic-chip.js +2 -2
  177. package/dist/components/ic-chip.js.map +1 -1
  178. package/dist/components/ic-data-list.js +1 -1
  179. package/dist/components/ic-data-list.js.map +1 -1
  180. package/dist/components/ic-data-row.js +2 -2
  181. package/dist/components/ic-data-row.js.map +1 -1
  182. package/dist/components/ic-dialog.js +1 -1
  183. package/dist/components/ic-divider2.js +1 -1
  184. package/dist/components/ic-footer-link-group.js +1 -1
  185. package/dist/components/ic-footer-link.js +1 -1
  186. package/dist/components/ic-footer.js +1 -1
  187. package/dist/components/ic-hero.js +1 -1
  188. package/dist/components/ic-horizontal-scroll2.js +2 -2
  189. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  190. package/dist/components/ic-input-component-container2.js +1 -1
  191. package/dist/components/ic-input-label2.js +1 -1
  192. package/dist/components/ic-input-validation2.js +1 -1
  193. package/dist/components/ic-layout-grid-item.d.ts +11 -0
  194. package/dist/components/ic-layout-grid-item.js +95 -0
  195. package/dist/components/ic-layout-grid-item.js.map +1 -0
  196. package/dist/components/ic-layout-grid.d.ts +11 -0
  197. package/dist/components/ic-layout-grid.js +188 -0
  198. package/dist/components/ic-layout-grid.js.map +1 -0
  199. package/dist/components/ic-link2.js +1 -1
  200. package/dist/components/ic-loading-indicator2.js +5 -5
  201. package/dist/components/ic-menu-group.js +2 -2
  202. package/dist/components/ic-menu-item2.js +1 -1
  203. package/dist/components/ic-menu2.js +4 -4
  204. package/dist/components/ic-navigation-button.js +1 -1
  205. package/dist/components/ic-navigation-group.js +3 -3
  206. package/dist/components/ic-navigation-group.js.map +1 -1
  207. package/dist/components/ic-navigation-item.js +1 -1
  208. package/dist/components/ic-navigation-menu2.js +5 -5
  209. package/dist/components/ic-page-header.js +7 -7
  210. package/dist/components/ic-pagination-item2.js +2 -2
  211. package/dist/components/ic-pagination.js +4 -4
  212. package/dist/components/ic-popover-menu.js +11 -6
  213. package/dist/components/ic-popover-menu.js.map +1 -1
  214. package/dist/components/ic-radio-group.js +1 -1
  215. package/dist/components/ic-radio-group.js.map +1 -1
  216. package/dist/components/ic-radio-option.js +1 -1
  217. package/dist/components/ic-radio-option.js.map +1 -1
  218. package/dist/components/ic-search-bar.js +1 -1
  219. package/dist/components/ic-search-bar.js.map +1 -1
  220. package/dist/components/ic-section-container2.js +2 -2
  221. package/dist/components/ic-select.js +8 -7
  222. package/dist/components/ic-select.js.map +1 -1
  223. package/dist/components/ic-side-navigation.js +5 -5
  224. package/dist/components/ic-skeleton.js +2 -2
  225. package/dist/components/ic-skip-link.js +2 -2
  226. package/dist/components/ic-status-tag.js +2 -2
  227. package/dist/components/ic-step.js +14 -14
  228. package/dist/components/ic-step.js.map +1 -1
  229. package/dist/components/ic-stepper.js +2 -2
  230. package/dist/components/ic-switch.js +5 -5
  231. package/dist/components/ic-tab-context.js +1 -1
  232. package/dist/components/ic-tab-group.js +2 -2
  233. package/dist/components/ic-tab-panel.js +2 -2
  234. package/dist/components/ic-tab-panel.js.map +1 -1
  235. package/dist/components/ic-tab.js.map +1 -1
  236. package/dist/components/ic-text-field.js +4 -4
  237. package/dist/components/ic-text-field.js.map +1 -1
  238. package/dist/components/ic-theme.js +2 -2
  239. package/dist/components/ic-toast-region.js +1 -1
  240. package/dist/components/ic-toast.js +5 -5
  241. package/dist/components/ic-toast.js.map +1 -1
  242. package/dist/components/ic-toggle-button-group.js +2 -2
  243. package/dist/components/ic-toggle-button.js +2 -2
  244. package/dist/components/ic-tooltip2.js +8 -3
  245. package/dist/components/ic-tooltip2.js.map +1 -1
  246. package/dist/components/ic-top-navigation.js +1 -1
  247. package/dist/core/core.css +12 -12
  248. package/dist/core/core.esm.js +1 -1
  249. package/dist/core/core.esm.js.map +1 -1
  250. package/dist/core/p-0c0c6a9e.entry.js +2 -0
  251. package/dist/core/p-0c0c6a9e.entry.js.map +1 -0
  252. package/dist/core/p-0d680d19.entry.js +2 -0
  253. package/dist/core/p-0d680d19.entry.js.map +1 -0
  254. package/dist/core/{p-ef357622.entry.js → p-15dbccc2.entry.js} +2 -2
  255. package/dist/core/{p-bf5653c0.entry.js → p-19cf2327.entry.js} +2 -2
  256. package/dist/core/p-1d37ac1c.entry.js +2 -0
  257. package/dist/core/p-1d37ac1c.entry.js.map +1 -0
  258. package/dist/core/{p-19680887.entry.js → p-1e2f40b0.entry.js} +2 -2
  259. package/dist/core/{p-fc933fc3.entry.js → p-21cf2beb.entry.js} +2 -2
  260. package/dist/core/p-25007ec9.js +2 -0
  261. package/dist/core/p-25007ec9.js.map +1 -0
  262. package/dist/core/{p-de43d375.entry.js → p-287e5c17.entry.js} +2 -2
  263. package/dist/core/{p-3f9ff1cb.entry.js → p-28efe829.entry.js} +2 -2
  264. package/dist/core/p-28efe829.entry.js.map +1 -0
  265. package/dist/core/{p-c63ae7d0.entry.js → p-2f4f392f.entry.js} +2 -2
  266. package/dist/core/{p-d2f1beb6.entry.js → p-313a8a2f.entry.js} +2 -2
  267. package/dist/core/{p-7cd6487e.entry.js → p-317e005f.entry.js} +2 -2
  268. package/dist/core/{p-0c095f5b.entry.js → p-3dc54847.entry.js} +2 -2
  269. package/dist/core/{p-2394346c.entry.js → p-3e5d7a3d.entry.js} +2 -2
  270. package/dist/core/p-41ef74a7.entry.js +2 -0
  271. package/dist/core/p-41ef74a7.entry.js.map +1 -0
  272. package/dist/core/{p-9e177686.entry.js → p-41f92698.entry.js} +2 -2
  273. package/dist/core/p-43324339.entry.js +2 -0
  274. package/dist/core/p-43324339.entry.js.map +1 -0
  275. package/dist/core/{p-f34eee68.entry.js → p-45dd12ee.entry.js} +2 -2
  276. package/dist/core/{p-1f913ba3.entry.js → p-47f6dac2.entry.js} +2 -2
  277. package/dist/core/{p-1f913ba3.entry.js.map → p-47f6dac2.entry.js.map} +1 -1
  278. package/dist/core/{p-0a8140ef.entry.js → p-493eaabb.entry.js} +2 -2
  279. package/dist/core/{p-c9c6d63b.entry.js → p-4ca782eb.entry.js} +2 -2
  280. package/dist/core/{p-8557fa1e.entry.js → p-4d1a3036.entry.js} +2 -2
  281. package/dist/core/p-52748d5c.entry.js +2 -0
  282. package/dist/core/p-52748d5c.entry.js.map +1 -0
  283. package/dist/core/p-595a4d06.entry.js +2 -0
  284. package/dist/core/p-595a4d06.entry.js.map +1 -0
  285. package/dist/core/{p-88b516d6.entry.js → p-5f68f62b.entry.js} +2 -2
  286. package/dist/core/{p-d47acbd4.entry.js → p-5fbc8e62.entry.js} +2 -2
  287. package/dist/core/p-6014ab64.entry.js +2 -0
  288. package/dist/core/{p-3aa7f724.entry.js → p-661ae402.entry.js} +2 -2
  289. package/dist/core/{p-998dfae0.entry.js → p-6a576a8b.entry.js} +2 -2
  290. package/dist/core/{p-b3ac38c5.entry.js → p-6e8ef73c.entry.js} +2 -2
  291. package/dist/core/{p-fbaf0301.entry.js → p-6ed0ac48.entry.js} +2 -2
  292. package/dist/core/p-711bfeed.entry.js +2 -0
  293. package/dist/core/p-711bfeed.entry.js.map +1 -0
  294. package/dist/core/{p-60ff225d.entry.js → p-72a9909c.entry.js} +2 -2
  295. package/dist/core/{p-f643ae2b.entry.js → p-742a9181.entry.js} +2 -2
  296. package/dist/core/{p-b94d404b.entry.js → p-7cd4f6a6.entry.js} +2 -2
  297. package/dist/core/{p-a082d978.entry.js → p-8a4b12e4.entry.js} +2 -2
  298. package/dist/core/{p-48db785a.entry.js → p-8b5022bc.entry.js} +2 -2
  299. package/dist/core/{p-d1b7b839.entry.js → p-9323c234.entry.js} +2 -2
  300. package/dist/core/p-97b93ddf.entry.js +2 -0
  301. package/dist/core/p-97b93ddf.entry.js.map +1 -0
  302. package/dist/core/{p-9f792a31.entry.js → p-999f0a5d.entry.js} +2 -2
  303. package/dist/core/p-999f0a5d.entry.js.map +1 -0
  304. package/dist/core/{p-04c36b23.entry.js → p-9c013333.entry.js} +2 -2
  305. package/dist/core/{p-3eef02dd.entry.js → p-9eeb5e85.entry.js} +2 -2
  306. package/dist/core/{p-682a9365.entry.js → p-9f36791b.entry.js} +2 -2
  307. package/dist/core/{p-9d78ef89.entry.js → p-a602a8e1.entry.js} +2 -2
  308. package/dist/core/{p-51bff253.entry.js → p-a77364f5.entry.js} +2 -2
  309. package/dist/core/{p-1829c1a9.entry.js → p-af9c391d.entry.js} +2 -2
  310. package/dist/core/{p-2c2c752d.entry.js → p-b0d488d0.entry.js} +2 -2
  311. package/dist/core/{p-fee854f5.entry.js → p-b52000d9.entry.js} +2 -2
  312. package/dist/core/{p-57644340.entry.js → p-bb4ce810.entry.js} +2 -2
  313. package/dist/core/{p-57644340.entry.js.map → p-bb4ce810.entry.js.map} +1 -1
  314. package/dist/core/{p-4345907a.entry.js → p-cbe0d1bb.entry.js} +2 -2
  315. package/dist/core/p-ceea1712.entry.js +2 -0
  316. package/dist/core/p-ceea1712.entry.js.map +1 -0
  317. package/dist/core/p-cf631191.entry.js +2 -0
  318. package/dist/core/{p-ee6caf27.entry.js → p-df88ff5b.entry.js} +2 -2
  319. package/dist/core/{p-918af357.entry.js → p-e652ab09.entry.js} +2 -2
  320. package/dist/core/{p-4c336217.entry.js → p-e876e47c.entry.js} +2 -2
  321. package/dist/core/p-ea061ccf.entry.js +2 -0
  322. package/dist/core/p-ea061ccf.entry.js.map +1 -0
  323. package/dist/core/{p-b3d3ee50.entry.js → p-ea778379.entry.js} +2 -2
  324. package/dist/core/{p-f46fd0e7.entry.js → p-ef4b5469.entry.js} +2 -2
  325. package/dist/core/{p-fd421f11.entry.js → p-f309d3af.entry.js} +2 -2
  326. package/dist/core/{p-32c030b1.entry.js → p-f6a02202.entry.js} +2 -2
  327. package/dist/core/p-fc3b1155.entry.js +2 -0
  328. package/dist/core/p-fc3b1155.entry.js.map +1 -0
  329. package/dist/core/p-ffac41d6.entry.js +2 -0
  330. package/dist/core/p-ffac41d6.entry.js.map +1 -0
  331. package/dist/esm/core.js +1 -1
  332. package/dist/esm/{helpers-2e75abf4.js → helpers-56631aa0.js} +31 -7
  333. package/dist/esm/helpers-56631aa0.js.map +1 -0
  334. package/dist/esm/ic-accordion-group.entry.js +1 -1
  335. package/dist/esm/ic-accordion.entry.js +1 -1
  336. package/dist/esm/ic-action-chip.entry.js +2 -2
  337. package/dist/esm/ic-action-chip.entry.js.map +1 -1
  338. package/dist/esm/ic-alert.entry.js +2 -2
  339. package/dist/esm/ic-alert.entry.js.map +1 -1
  340. package/dist/esm/ic-back-to-top.entry.js +1 -1
  341. package/dist/esm/ic-badge.entry.js +2 -2
  342. package/dist/esm/ic-badge.entry.js.map +1 -1
  343. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  344. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  345. package/dist/esm/ic-button_3.entry.js +25 -20
  346. package/dist/esm/ic-button_3.entry.js.map +1 -1
  347. package/dist/esm/ic-card-vertical.entry.js +1 -1
  348. package/dist/esm/ic-checkbox-group.entry.js +1 -1
  349. package/dist/esm/ic-checkbox.entry.js +2 -2
  350. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  351. package/dist/esm/ic-chip.entry.js +2 -2
  352. package/dist/esm/ic-chip.entry.js.map +1 -1
  353. package/dist/esm/ic-data-list.entry.js +1 -1
  354. package/dist/esm/ic-data-list.entry.js.map +1 -1
  355. package/dist/esm/ic-data-row.entry.js +2 -2
  356. package/dist/esm/ic-data-row.entry.js.map +1 -1
  357. package/dist/esm/ic-dialog.entry.js +1 -1
  358. package/dist/esm/ic-divider.entry.js +1 -1
  359. package/dist/esm/ic-empty-state.entry.js +1 -1
  360. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  361. package/dist/esm/ic-footer-link.entry.js +1 -1
  362. package/dist/esm/ic-footer.entry.js +1 -1
  363. package/dist/esm/ic-hero.entry.js +1 -1
  364. package/dist/esm/ic-horizontal-scroll.entry.js +2 -2
  365. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  366. package/dist/esm/ic-input-component-container_3.entry.js +4 -4
  367. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  368. package/dist/esm/ic-input-label_2.entry.js +1 -1
  369. package/dist/esm/ic-layout-grid-item.entry.js +66 -0
  370. package/dist/esm/ic-layout-grid-item.entry.js.map +1 -0
  371. package/dist/esm/ic-layout-grid.entry.js +152 -0
  372. package/dist/esm/ic-layout-grid.entry.js.map +1 -0
  373. package/dist/esm/ic-link.entry.js +2 -2
  374. package/dist/esm/ic-menu-group.entry.js +2 -2
  375. package/dist/esm/ic-menu-item.entry.js +1 -1
  376. package/dist/esm/ic-navigation-button.entry.js +1 -1
  377. package/dist/esm/ic-navigation-group.entry.js +3 -3
  378. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  379. package/dist/esm/ic-navigation-item.entry.js +1 -1
  380. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  381. package/dist/esm/ic-page-header.entry.js +7 -7
  382. package/dist/esm/ic-pagination-item.entry.js +2 -2
  383. package/dist/esm/ic-pagination.entry.js +5 -5
  384. package/dist/esm/ic-popover-menu.entry.js +10 -6
  385. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  386. package/dist/esm/ic-radio-group.entry.js +1 -1
  387. package/dist/esm/ic-radio-option.entry.js +1 -1
  388. package/dist/esm/ic-search-bar.entry.js +1 -1
  389. package/dist/esm/ic-section-container.entry.js +2 -2
  390. package/dist/esm/ic-select.entry.js +8 -7
  391. package/dist/esm/ic-select.entry.js.map +1 -1
  392. package/dist/esm/ic-side-navigation.entry.js +5 -5
  393. package/dist/esm/ic-skeleton.entry.js +2 -2
  394. package/dist/esm/ic-skip-link.entry.js +2 -2
  395. package/dist/esm/ic-status-tag.entry.js +3 -3
  396. package/dist/esm/ic-step.entry.js +14 -14
  397. package/dist/esm/ic-stepper.entry.js +3 -3
  398. package/dist/esm/ic-switch.entry.js +5 -5
  399. package/dist/esm/ic-tab-context.entry.js +1 -1
  400. package/dist/esm/ic-tab-group.entry.js +3 -3
  401. package/dist/esm/ic-tab-panel.entry.js +2 -2
  402. package/dist/esm/ic-tab.entry.js +1 -1
  403. package/dist/esm/ic-text-field.entry.js +4 -4
  404. package/dist/esm/ic-text-field.entry.js.map +1 -1
  405. package/dist/esm/ic-theme.entry.js +2 -2
  406. package/dist/esm/ic-toast-region.entry.js +1 -1
  407. package/dist/esm/ic-toast.entry.js +5 -5
  408. package/dist/esm/ic-toast.entry.js.map +1 -1
  409. package/dist/esm/ic-toggle-button-group.entry.js +3 -3
  410. package/dist/esm/ic-toggle-button.entry.js +3 -3
  411. package/dist/esm/ic-top-navigation.entry.js +1 -1
  412. package/dist/esm/ic-typography.entry.js +1 -1
  413. package/dist/esm/index-a7a720e7.js +8 -0
  414. package/dist/esm/loader.js +1 -1
  415. package/dist/types/components/ic-button/ic-button.d.ts +4 -0
  416. package/dist/types/components/ic-layout-grid/ic-layout-grid.d.ts +56 -0
  417. package/dist/types/components/ic-layout-grid/ic-layout-grid.types.d.ts +8 -0
  418. package/dist/types/components/ic-layout-grid-item/ic-layout-grid-item.d.ts +29 -0
  419. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +4 -0
  420. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +4 -0
  421. package/dist/types/components.d.ts +164 -0
  422. package/dist/types/utils/constants.d.ts +4 -0
  423. package/dist/types/utils/helpers.d.ts +3 -3
  424. package/dist/types/utils/types.d.ts +1 -1
  425. package/hydrate/index.js +394 -115
  426. package/hydrate/index.mjs +394 -115
  427. package/package.json +2 -2
  428. package/vscode-data.json +114 -0
  429. package/dist/cjs/helpers-8217daf4.js.map +0 -1
  430. package/dist/core/p-03a2fa83.entry.js +0 -2
  431. package/dist/core/p-03a2fa83.entry.js.map +0 -1
  432. package/dist/core/p-0eaa2904.entry.js +0 -2
  433. package/dist/core/p-0eaa2904.entry.js.map +0 -1
  434. package/dist/core/p-280e7874.entry.js +0 -2
  435. package/dist/core/p-280e7874.entry.js.map +0 -1
  436. package/dist/core/p-3f9ff1cb.entry.js.map +0 -1
  437. package/dist/core/p-46a0a40b.entry.js +0 -2
  438. package/dist/core/p-46a0a40b.entry.js.map +0 -1
  439. package/dist/core/p-68f55187.entry.js +0 -2
  440. package/dist/core/p-68f55187.entry.js.map +0 -1
  441. package/dist/core/p-69aad690.entry.js +0 -2
  442. package/dist/core/p-69aad690.entry.js.map +0 -1
  443. package/dist/core/p-750d5536.entry.js +0 -2
  444. package/dist/core/p-750d5536.entry.js.map +0 -1
  445. package/dist/core/p-7ac5a271.entry.js +0 -2
  446. package/dist/core/p-7ac5a271.entry.js.map +0 -1
  447. package/dist/core/p-874f7e8d.entry.js +0 -2
  448. package/dist/core/p-874f7e8d.entry.js.map +0 -1
  449. package/dist/core/p-903f9c7f.entry.js +0 -2
  450. package/dist/core/p-903f9c7f.entry.js.map +0 -1
  451. package/dist/core/p-9f792a31.entry.js.map +0 -1
  452. package/dist/core/p-9f8acb5f.js +0 -2
  453. package/dist/core/p-9f8acb5f.js.map +0 -1
  454. package/dist/core/p-b5c72b06.entry.js +0 -2
  455. package/dist/core/p-b5c72b06.entry.js.map +0 -1
  456. package/dist/core/p-e0485462.entry.js +0 -2
  457. package/dist/core/p-e9b6b600.entry.js +0 -2
  458. package/dist/esm/helpers-2e75abf4.js.map +0 -1
  459. /package/dist/core/{p-ef357622.entry.js.map → p-15dbccc2.entry.js.map} +0 -0
  460. /package/dist/core/{p-bf5653c0.entry.js.map → p-19cf2327.entry.js.map} +0 -0
  461. /package/dist/core/{p-19680887.entry.js.map → p-1e2f40b0.entry.js.map} +0 -0
  462. /package/dist/core/{p-fc933fc3.entry.js.map → p-21cf2beb.entry.js.map} +0 -0
  463. /package/dist/core/{p-de43d375.entry.js.map → p-287e5c17.entry.js.map} +0 -0
  464. /package/dist/core/{p-c63ae7d0.entry.js.map → p-2f4f392f.entry.js.map} +0 -0
  465. /package/dist/core/{p-d2f1beb6.entry.js.map → p-313a8a2f.entry.js.map} +0 -0
  466. /package/dist/core/{p-7cd6487e.entry.js.map → p-317e005f.entry.js.map} +0 -0
  467. /package/dist/core/{p-0c095f5b.entry.js.map → p-3dc54847.entry.js.map} +0 -0
  468. /package/dist/core/{p-2394346c.entry.js.map → p-3e5d7a3d.entry.js.map} +0 -0
  469. /package/dist/core/{p-9e177686.entry.js.map → p-41f92698.entry.js.map} +0 -0
  470. /package/dist/core/{p-f34eee68.entry.js.map → p-45dd12ee.entry.js.map} +0 -0
  471. /package/dist/core/{p-0a8140ef.entry.js.map → p-493eaabb.entry.js.map} +0 -0
  472. /package/dist/core/{p-c9c6d63b.entry.js.map → p-4ca782eb.entry.js.map} +0 -0
  473. /package/dist/core/{p-8557fa1e.entry.js.map → p-4d1a3036.entry.js.map} +0 -0
  474. /package/dist/core/{p-88b516d6.entry.js.map → p-5f68f62b.entry.js.map} +0 -0
  475. /package/dist/core/{p-d47acbd4.entry.js.map → p-5fbc8e62.entry.js.map} +0 -0
  476. /package/dist/core/{p-e9b6b600.entry.js.map → p-6014ab64.entry.js.map} +0 -0
  477. /package/dist/core/{p-3aa7f724.entry.js.map → p-661ae402.entry.js.map} +0 -0
  478. /package/dist/core/{p-998dfae0.entry.js.map → p-6a576a8b.entry.js.map} +0 -0
  479. /package/dist/core/{p-b3ac38c5.entry.js.map → p-6e8ef73c.entry.js.map} +0 -0
  480. /package/dist/core/{p-fbaf0301.entry.js.map → p-6ed0ac48.entry.js.map} +0 -0
  481. /package/dist/core/{p-60ff225d.entry.js.map → p-72a9909c.entry.js.map} +0 -0
  482. /package/dist/core/{p-f643ae2b.entry.js.map → p-742a9181.entry.js.map} +0 -0
  483. /package/dist/core/{p-b94d404b.entry.js.map → p-7cd4f6a6.entry.js.map} +0 -0
  484. /package/dist/core/{p-a082d978.entry.js.map → p-8a4b12e4.entry.js.map} +0 -0
  485. /package/dist/core/{p-48db785a.entry.js.map → p-8b5022bc.entry.js.map} +0 -0
  486. /package/dist/core/{p-d1b7b839.entry.js.map → p-9323c234.entry.js.map} +0 -0
  487. /package/dist/core/{p-04c36b23.entry.js.map → p-9c013333.entry.js.map} +0 -0
  488. /package/dist/core/{p-3eef02dd.entry.js.map → p-9eeb5e85.entry.js.map} +0 -0
  489. /package/dist/core/{p-682a9365.entry.js.map → p-9f36791b.entry.js.map} +0 -0
  490. /package/dist/core/{p-9d78ef89.entry.js.map → p-a602a8e1.entry.js.map} +0 -0
  491. /package/dist/core/{p-51bff253.entry.js.map → p-a77364f5.entry.js.map} +0 -0
  492. /package/dist/core/{p-1829c1a9.entry.js.map → p-af9c391d.entry.js.map} +0 -0
  493. /package/dist/core/{p-2c2c752d.entry.js.map → p-b0d488d0.entry.js.map} +0 -0
  494. /package/dist/core/{p-fee854f5.entry.js.map → p-b52000d9.entry.js.map} +0 -0
  495. /package/dist/core/{p-4345907a.entry.js.map → p-cbe0d1bb.entry.js.map} +0 -0
  496. /package/dist/core/{p-e0485462.entry.js.map → p-cf631191.entry.js.map} +0 -0
  497. /package/dist/core/{p-ee6caf27.entry.js.map → p-df88ff5b.entry.js.map} +0 -0
  498. /package/dist/core/{p-918af357.entry.js.map → p-e652ab09.entry.js.map} +0 -0
  499. /package/dist/core/{p-4c336217.entry.js.map → p-e876e47c.entry.js.map} +0 -0
  500. /package/dist/core/{p-b3d3ee50.entry.js.map → p-ea778379.entry.js.map} +0 -0
  501. /package/dist/core/{p-f46fd0e7.entry.js.map → p-ef4b5469.entry.js.map} +0 -0
  502. /package/dist/core/{p-fd421f11.entry.js.map → p-f309d3af.entry.js.map} +0 -0
  503. /package/dist/core/{p-32c030b1.entry.js.map → p-f6a02202.entry.js.map} +0 -0
@@ -5,6 +5,50 @@ export default {
5
5
  component: "ic-toggle-button",
6
6
  };
7
7
 
8
+ const CUSTOM_BUTTON = "Custom Button";
9
+ const INLINE_RADIO = "inline-radio";
10
+
11
+ const defaultArgs = {
12
+ label: CUSTOM_BUTTON,
13
+ disabled: false,
14
+ loading: false,
15
+ monochrome: false,
16
+ outline: true,
17
+ size: "medium",
18
+ theme: "inherit",
19
+ variant: "default",
20
+ fullWidth: false,
21
+ checked: false,
22
+ };
23
+
24
+ const defaultWithIconArgs = {
25
+ label: CUSTOM_BUTTON,
26
+ disabled: false,
27
+ loading: false,
28
+ monochrome: false,
29
+ size: "medium",
30
+ variant: "default",
31
+ theme: "inherit",
32
+ fullWidth: false,
33
+ iconPlacement: "left",
34
+ checked: false,
35
+ accessibleLabel: "Custom Button Ally Label",
36
+ };
37
+
38
+ const defaultIconArgs = {
39
+ label: CUSTOM_BUTTON,
40
+ disabled: false,
41
+ loading: false,
42
+ monochrome: false,
43
+ size: "medium",
44
+ theme: "inherit",
45
+ variant: "icon",
46
+ fullWidth: false,
47
+ checked: false,
48
+ accessibleLabel: "Custom Button Ally Label",
49
+ tooltipPlacement: "bottom",
50
+ };
51
+
8
52
  export const Default = {
9
53
  render: (args) =>
10
54
  html`<ic-toggle-button label="Toggle"></ic-toggle-button>
@@ -432,3 +476,195 @@ export const HideOutline = {
432
476
 
433
477
  name: "Hide outline",
434
478
  };
479
+
480
+ export const Playground = {
481
+ render: (args) => html` <ic-toggle-button
482
+ label=${args.label}
483
+ disabled=${args.disabled}
484
+ variant=${args.variant}
485
+ size=${args.size}
486
+ loading=${args.loading}
487
+ monochrome=${args.monochrome}
488
+ outline=${args.outline}
489
+ full-width=${args.fullWidth}
490
+ checked=${args.checked}
491
+ theme=${args.theme}
492
+ />`,
493
+
494
+ args: defaultArgs,
495
+
496
+ argTypes: {
497
+ size: {
498
+ options: ["medium", "large", "small"],
499
+
500
+ control: {
501
+ type: INLINE_RADIO,
502
+ },
503
+ },
504
+
505
+ checked: {
506
+ control: {
507
+ type: "boolean",
508
+ },
509
+ },
510
+
511
+ fullWidth: {
512
+ control: {
513
+ type: "boolean",
514
+ },
515
+ },
516
+
517
+ theme: {
518
+ options: ["inherit", "light", "dark"],
519
+
520
+ control: {
521
+ type: INLINE_RADIO,
522
+ },
523
+ },
524
+ },
525
+
526
+ name: "Playground",
527
+ };
528
+
529
+ export const PlaygroundDefaultWithIcon = {
530
+ render: (args) => html` <ic-toggle-button
531
+ label=${args.label}
532
+ disabled=${args.disabled}
533
+ variant=${args.variant}
534
+ size=${args.size}
535
+ loading=${args.loading}
536
+ monochrome=${args.monochrome}
537
+ full-width=${args.fullWidth}
538
+ checked=${args.checked}
539
+ icon-placement=${args.iconPlacement}
540
+ theme=${args.theme}
541
+ >
542
+ <svg
543
+ xmlns="http://www.w3.org/2000/svg"
544
+ slot="icon"
545
+ height="24px"
546
+ view-box="0 0 24 24"
547
+ width="24px"
548
+ fill="#000000"
549
+ >
550
+ <path d="M0 0h24v24H0V0z" fill="none" />
551
+ <path
552
+ d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"
553
+ />
554
+ </svg>
555
+ </ic-toggle-button>`,
556
+
557
+ args: defaultWithIconArgs,
558
+
559
+ argTypes: {
560
+ size: {
561
+ options: ["medium", "large", "small"],
562
+
563
+ control: {
564
+ type: INLINE_RADIO,
565
+ },
566
+ },
567
+
568
+ checked: {
569
+ control: {
570
+ type: "boolean",
571
+ },
572
+ },
573
+
574
+ iconPlacement: {
575
+ options: ["left", "right", "top"],
576
+
577
+ control: {
578
+ type: INLINE_RADIO,
579
+ },
580
+ },
581
+
582
+ fullWidth: {
583
+ control: {
584
+ type: "boolean",
585
+ },
586
+ },
587
+
588
+ theme: {
589
+ options: ["inherit", "light", "dark"],
590
+
591
+ control: {
592
+ type: INLINE_RADIO,
593
+ },
594
+ },
595
+ },
596
+
597
+ name: "Playground - default with icon",
598
+ };
599
+
600
+ export const PlaygroundIconVariant = {
601
+ render: (args) => html` <ic-toggle-button
602
+ label=${args.label}
603
+ disabled=${args.disabled}
604
+ variant=${args.variant}
605
+ size=${args.size}
606
+ loading=${args.loading}
607
+ monochrome=${args.monochrome}
608
+ full-width=${args.fullWidth}
609
+ checked=${args.checked}
610
+ accessible-label=${args.accessibleLabel}
611
+ theme=${args.theme}
612
+ tooltip-placement=${args.tooltipPlacement}
613
+ >
614
+ <svg
615
+ xmlns="http://www.w3.org/2000/svg"
616
+ slot="icon"
617
+ height="24px"
618
+ view-box="0 0 24 24"
619
+ width="24px"
620
+ fill="#000000"
621
+ >
622
+ <path d="M0 0h24v24H0V0z" fill="none" />
623
+ <path
624
+ d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"
625
+ />
626
+ </svg>
627
+ </ic-toggle-button>`,
628
+
629
+ args: defaultIconArgs,
630
+
631
+ argTypes: {
632
+ size: {
633
+ options: ["medium", "large", "small"],
634
+
635
+ control: {
636
+ type: INLINE_RADIO,
637
+ },
638
+ },
639
+
640
+ checked: {
641
+ control: {
642
+ type: "boolean",
643
+ },
644
+ },
645
+
646
+ fullWidth: {
647
+ control: {
648
+ type: "boolean",
649
+ },
650
+ },
651
+
652
+ theme: {
653
+ options: ["inherit", "light", "dark"],
654
+
655
+ control: {
656
+ type: INLINE_RADIO,
657
+ },
658
+ },
659
+
660
+ tooltipPlacement: {
661
+ options: ["bottom", "top", "left", "right"],
662
+
663
+ control: {
664
+ type: "radio",
665
+ },
666
+ },
667
+ },
668
+
669
+ name: "Playground - icon variant",
670
+ };
@@ -226,14 +226,14 @@ export class ToggleButtonGroup {
226
226
  }
227
227
  render() {
228
228
  const { accessibleLabel, disabled, fullWidth, loading, monochrome, outline, theme, } = this;
229
- return (h(Host, { key: 'bac81c86de7bedb193b11682ba0e845c6fb2e767', role: "group", "aria-label": accessibleLabel, tabindex: 0, class: {
229
+ return (h(Host, { key: '58a777e47ee684831b54f2aa7139f091e7a11b29', role: "group", "aria-label": accessibleLabel, tabindex: 0, class: {
230
230
  "ic-toggle-button-group-disabled": disabled,
231
231
  "ic-toggle-button-group-full-width": fullWidth,
232
232
  "ic-toggle-button-group-loading": loading,
233
233
  "ic-toggle-button-group-monochrome": monochrome,
234
234
  "ic-toggle-button-group-hide-outline": !outline,
235
235
  [`ic-theme-${theme}`]: theme !== "inherit",
236
- }, onFocus: this.handleHostFocus }, h("slot", { key: '66dd0f8c1aff7be57ecc0abf5386cdc43f64eb80' })));
236
+ }, onFocus: this.handleHostFocus }, h("slot", { key: 'c748f41a8d8e69c908a8fb1ca4255dfd2ae5d521' })));
237
237
  }
238
238
  static get is() { return "ic-toggle-button-group"; }
239
239
  static get encapsulation() { return "shadow"; }
@@ -20,6 +20,10 @@ export class Tooltip {
20
20
  * If `true`, the tooltip will not be displayed on hover, it will require a click.
21
21
  */
22
22
  this.disableHover = false;
23
+ /**
24
+ * Setting to `true` can help in situations where tooltip content is clipped by a parent element.
25
+ */
26
+ this.fixedPositioning = false;
23
27
  /**
24
28
  * The position of the tooltip in relation to the parent element.
25
29
  */
@@ -39,7 +43,7 @@ export class Tooltip {
39
43
  if (this.dialogContentArea) {
40
44
  this.el.classList.add("ic-tooltip-on-dialog");
41
45
  }
42
- this.popperInstance = createPopper(this.el, this.toolTip, Object.assign({ placement: this.placement, modifiers: [
46
+ this.popperInstance = createPopper(this.el, this.toolTip, Object.assign({ strategy: this.fixedPositioning ? "fixed" : "absolute", placement: this.placement, modifiers: [
43
47
  {
44
48
  name: "offset",
45
49
  options: {
@@ -207,10 +211,10 @@ export class Tooltip {
207
211
  }
208
212
  render() {
209
213
  const { label, maxLines, silent, theme } = this;
210
- return (h(Host, { key: '45c8808ecc7904b44e269ec6ae844da6f75710f0', class: {
214
+ return (h(Host, { key: '87f3bd48a10c5b2a9238773960171629d6661602', class: {
211
215
  "ic-tooltip": true,
212
216
  [`ic-theme-${theme}`]: theme !== "inherit",
213
- } }, h("div", { key: 'a03ff6ebeb4d0476077838329f7f00cd29c1004d', ref: (el) => (this.toolTip = el), role: "tooltip", class: "ic-tooltip-container", "aria-hidden": `${silent}` }, h("ic-typography", { key: '92b33499dae505e7e09bc92a8c91f1097de03b7b', maxLines: maxLines, variant: "caption" }, label), h("div", { key: '37523617a917645fe37edb4e6d6e250ffc4d7b67', ref: (el) => (this.arrow = el), class: "ic-tooltip-arrow" })), h("slot", { key: '44217d6c93aa8dab3250ebfde59f17bc51596576' })));
217
+ } }, h("div", { key: 'f6469c289d080dcf9159e80f7e0a2a6092aac5f0', ref: (el) => (this.toolTip = el), role: "tooltip", class: "ic-tooltip-container", "aria-hidden": `${silent}` }, h("ic-typography", { key: 'ca39cfc710166a4ade00f2d430632af8211f1991', maxLines: maxLines, variant: "caption" }, label), h("div", { key: 'c7c068079a39a3ad1b09af475519e3ad3590d28c', ref: (el) => (this.arrow = el), class: "ic-tooltip-arrow" })), h("slot", { key: 'ca0c7f33a5809e1571e91bc9bf5033dbf5ddb31f' })));
214
218
  }
215
219
  static get is() { return "ic-tooltip"; }
216
220
  static get encapsulation() { return "shadow"; }
@@ -266,6 +270,26 @@ export class Tooltip {
266
270
  "reflect": false,
267
271
  "defaultValue": "false"
268
272
  },
273
+ "fixedPositioning": {
274
+ "type": "boolean",
275
+ "mutable": false,
276
+ "complexType": {
277
+ "original": "boolean",
278
+ "resolved": "boolean",
279
+ "references": {}
280
+ },
281
+ "required": false,
282
+ "optional": false,
283
+ "docs": {
284
+ "tags": [],
285
+ "text": "Setting to `true` can help in situations where tooltip content is clipped by a parent element."
286
+ },
287
+ "getter": false,
288
+ "setter": false,
289
+ "attribute": "fixed-positioning",
290
+ "reflect": false,
291
+ "defaultValue": "false"
292
+ },
269
293
  "maxLines": {
270
294
  "type": "number",
271
295
  "mutable": false,
@@ -1 +1 @@
1
- {"version":3,"file":"ic-tooltip.js","sourceRoot":"","sources":["../../../src/components/ic-tooltip/ic-tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n h,\n Method,\n State,\n Watch,\n} from \"@stencil/core\";\nimport { Instance, Options, createPopper } from \"@popperjs/core\";\nimport { IcTooltipPlacements } from \"./ic-tooltip.types\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\nimport { IcThemeMode } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-tooltip\",\n styleUrl: \"ic-tooltip.css\",\n shadow: true,\n})\nexport class Tooltip {\n private arrow: HTMLDivElement;\n private delayedHideEvents = [\"mouseleave\"];\n private dialogContentArea: HTMLDivElement | null;\n private instantHideEvents = [\"focusout\"];\n private mouseOverTool: boolean = false;\n private persistTooltip = false;\n private popperInstance: Instance;\n private showEvents = [\n !this.disableHover && \"mouseenter\",\n !this.disableHover && \"focusin\",\n !this.disableClick && \"click\",\n ];\n private toolTip: HTMLDivElement;\n\n @Element() el: HTMLIcTooltipElement;\n\n /**\n * If `true`, the tooltip will not be displayed on click, it will require hover or using the display method.\n */\n @Prop() disableClick?: boolean = false;\n\n @Watch(\"disableClick\")\n watchDisableClickHandler(): void {\n if (this.disableClick) {\n this.hide();\n }\n this.updateTooltipEvents();\n }\n\n /**\n * If `true`, the tooltip will not be displayed on hover, it will require a click.\n */\n @Prop() disableHover?: boolean = false;\n\n @Watch(\"disableHover\")\n watchDisableHoverHandler(): void {\n if (this.disableHover) {\n this.hide();\n }\n this.updateTooltipEvents();\n }\n\n /**\n * The number of lines to display before truncating the text.\n */\n @Prop() maxLines?: number;\n\n /**\n * The position of the tooltip in relation to the parent element.\n */\n @Prop() placement?: IcTooltipPlacements = \"bottom\";\n\n /**\n * @internal Sets the tooltip to aria-hidden, when used as part of components that are already announced.\n */\n @Prop() silent?: boolean = false;\n\n /**\n * The ID of the element the tooltip is describing - for when aria-labelledby or aria-describedby is used.\n */\n @Prop({ reflect: true }) target?: string;\n\n /**\n * Sets the tooltip to the dark or light theme colors. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The text to display on the tooltip.\n */\n @Prop() label!: string;\n @Watch(\"label\")\n watchLabelHandler(): void {\n if (this.toolTip?.hasAttribute(\"data-show\") && this.popperInstance) {\n this.popperInstance.update();\n }\n }\n\n @State() popperProps: Partial<Options> = {};\n\n /**\n * @internal This method allows props to be added to the PopperJS createPopper instance outside of tooltip\n * @param props object - createPopper props set externally\n */\n @Method()\n async setExternalPopperProps<T extends Partial<Options>>(props: T) {\n this.popperProps = props;\n }\n\n disconnectedCallback(): void {\n this.manageEventListeners(\"remove\");\n if (this.popperInstance !== undefined) {\n this.popperInstance.destroy();\n }\n }\n\n componentDidLoad(): void {\n this.manageEventListeners(\"add\");\n\n let dialog: HTMLIcDialogElement | null;\n if ((this.el.getRootNode() as ShadowRoot).host) {\n dialog = (this.el.getRootNode() as ShadowRoot).host.closest(\"ic-dialog\");\n } else {\n dialog = this.el.closest(\"ic-dialog\");\n }\n this.dialogContentArea =\n dialog?.shadowRoot?.querySelector(\".content-area\") ?? null;\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tooltip\"\n );\n }\n\n componentDidRender(): void {\n const typographyEl = this.el.shadowRoot?.querySelector(\n \".ic-tooltip-container > ic-typography\"\n );\n this.maxLines &&\n this.maxLines > 0 &&\n typographyEl?.setAttribute(\n \"style\",\n `--truncation-max-lines: ${this.maxLines}`\n );\n }\n /**\n * Method to programmatically show/hide the tooltip without needing to interact with an anchor element\n * @param show Whether to show or hide the tooltip\n * @param persistTooltip Whether the tooltip should stay on the screen when actions are performed that would previously dismiss the tooltip, such as on hover\n */\n @Method()\n async displayTooltip(show: boolean, persistTooltip?: boolean): Promise<void> {\n this.persistTooltip = !!persistTooltip;\n show ? this.show() : this.hide();\n }\n\n /**\n * @internal Method to return if tooltip is currently visible.\n */\n @Method()\n async isTooltipVisible(): Promise<boolean> {\n return Promise.resolve(this.toolTip.hasAttribute(\"data-show\"));\n }\n\n private show = () => {\n if (this.label) {\n this.toolTip.setAttribute(\"data-show\", \"\");\n\n if (this.dialogContentArea) {\n this.el.classList.add(\"ic-tooltip-on-dialog\");\n }\n\n this.popperInstance = createPopper(this.el, this.toolTip, {\n placement: this.placement,\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 10],\n },\n },\n {\n name: \"arrow\",\n options: {\n element: this.arrow,\n },\n },\n {\n name: \"eventListeners\",\n options: { scroll: false, resize: false },\n },\n ...(this.dialogContentArea\n ? [\n {\n name: \"preventOverflow\",\n options: {\n boundary: this.dialogContentArea,\n padding: 8,\n },\n },\n {\n name: \"flip\",\n options: {\n boundary: this.dialogContentArea,\n },\n },\n ]\n : []),\n ],\n ...this.popperProps,\n });\n } else {\n console.warn(`Tooltip can't display without prop 'label' set`);\n }\n };\n\n private hide = () => {\n this.toolTip.removeAttribute(\"data-show\");\n this.persistTooltip = false;\n if (this.popperInstance !== undefined) {\n this.popperInstance.destroy();\n }\n };\n\n private checkCloseTooltip = () => {\n setTimeout(() => {\n if (!this.mouseOverTool && !this.persistTooltip) {\n this.hide();\n }\n }, 100);\n };\n\n private mouseEnterTooltip = () => {\n this.mouseOverTool = true;\n };\n\n private mouseLeaveTooltip = () => {\n this.mouseOverTool = false;\n this.checkCloseTooltip();\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\" && !this.persistTooltip) {\n this.hide();\n }\n };\n\n private manageEventListeners = (action: \"add\" | \"remove\") => {\n const method =\n action === \"add\" ? \"addEventListener\" : \"removeEventListener\";\n\n this.showEvents.forEach((event) => {\n if (event) {\n this.el[method](event, this.show);\n if (this.toolTip !== undefined) {\n this.toolTip[method](event, this.mouseEnterTooltip);\n }\n }\n });\n\n if (!this.persistTooltip) {\n this.instantHideEvents.forEach((event) => {\n this.el[method](event, this.hide);\n });\n }\n\n this.delayedHideEvents.forEach((event) => {\n this.el[method](event, this.checkCloseTooltip);\n if (this.toolTip !== undefined) {\n this.toolTip[method](event, this.mouseLeaveTooltip);\n }\n });\n\n document[method](\"keydown\", this.handleKeyDown as EventListener);\n };\n\n private updateTooltipEvents = () => {\n this.manageEventListeners(\"remove\");\n this.showEvents = [\n !this.disableHover && \"mouseenter\",\n !this.disableHover && \"focusin\",\n !this.disableClick && \"click\",\n ];\n this.manageEventListeners(\"add\");\n };\n\n render() {\n const { label, maxLines, silent, theme } = this;\n return (\n <Host\n class={{\n \"ic-tooltip\": true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div\n ref={(el) => (this.toolTip = el as HTMLDivElement)}\n role=\"tooltip\"\n class=\"ic-tooltip-container\"\n aria-hidden={`${silent}`}\n >\n <ic-typography maxLines={maxLines} variant=\"caption\">\n {label}\n </ic-typography>\n <div\n ref={(el) => (this.arrow = el as HTMLDivElement)}\n class=\"ic-tooltip-arrow\"\n ></div>\n </div>\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-tooltip.js","sourceRoot":"","sources":["../../../src/components/ic-tooltip/ic-tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,CAAC,EACD,MAAM,EACN,KAAK,EACL,KAAK,GACN,MAAM,eAAe,CAAC;AACvB,OAAO,EAAqB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAQvE,MAAM,OAAO,OAAO;IALpB;QAOU,sBAAiB,GAAG,CAAC,YAAY,CAAC,CAAC;QAEnC,sBAAiB,GAAG,CAAC,UAAU,CAAC,CAAC;QACjC,kBAAa,GAAY,KAAK,CAAC;QAC/B,mBAAc,GAAG,KAAK,CAAC;QAEvB,eAAU,GAAG;YACnB,CAAC,IAAI,CAAC,YAAY,IAAI,YAAY;YAClC,CAAC,IAAI,CAAC,YAAY,IAAI,SAAS;YAC/B,CAAC,IAAI,CAAC,YAAY,IAAI,OAAO;SAC9B,CAAC;QAKF;;WAEG;QACK,iBAAY,GAAa,KAAK,CAAC;QAUvC;;WAEG;QACK,iBAAY,GAAa,KAAK,CAAC;QAUvC;;WAEG;QACK,qBAAgB,GAAY,KAAK,CAAC;QAO1C;;WAEG;QACK,cAAS,GAAyB,QAAQ,CAAC;QAEnD;;WAEG;QACK,WAAM,GAAa,KAAK,CAAC;QAOjC;;WAEG;QACK,UAAK,GAAiB,SAAS,CAAC;QAa/B,gBAAW,GAAqB,EAAE,CAAC;QAkEpC,SAAI,GAAG,GAAG,EAAE;YAClB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBAE3C,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC3B,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBAChD,CAAC;gBAED,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,kBACtD,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EACtD,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE;gCACP,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;6BAChB;yBACF;wBACD;4BACE,IAAI,EAAE,OAAO;4BACb,OAAO,EAAE;gCACP,OAAO,EAAE,IAAI,CAAC,KAAK;6BACpB;yBACF;wBACD;4BACE,IAAI,EAAE,gBAAgB;4BACtB,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;yBAC1C;wBACD,GAAG,CAAC,IAAI,CAAC,iBAAiB;4BACxB,CAAC,CAAC;gCACE;oCACE,IAAI,EAAE,iBAAiB;oCACvB,OAAO,EAAE;wCACP,QAAQ,EAAE,IAAI,CAAC,iBAAiB;wCAChC,OAAO,EAAE,CAAC;qCACX;iCACF;gCACD;oCACE,IAAI,EAAE,MAAM;oCACZ,OAAO,EAAE;wCACP,QAAQ,EAAE,IAAI,CAAC,iBAAiB;qCACjC;iCACF;6BACF;4BACH,CAAC,CAAC,EAAE,CAAC;qBACR,IACE,IAAI,CAAC,WAAW,EACnB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YACjE,CAAC;QACH,CAAC,CAAC;QAEM,SAAI,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;gBACtC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAChC,CAAC;QACH,CAAC,CAAC;QAEM,sBAAiB,GAAG,GAAG,EAAE;YAC/B,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;oBAChD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,CAAC;YACH,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC,CAAC;QAEM,sBAAiB,GAAG,GAAG,EAAE;YAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC,CAAC;QAEM,sBAAiB,GAAG,GAAG,EAAE;YAC/B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC,CAAC;QAEM,kBAAa,GAAG,CAAC,KAAoB,EAAE,EAAE;YAC/C,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACnD,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QAEM,yBAAoB,GAAG,CAAC,MAAwB,EAAE,EAAE;YAC1D,MAAM,MAAM,GACV,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,qBAAqB,CAAC;YAEhE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAChC,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBAClC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;wBAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACvC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAC/C,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,aAA8B,CAAC,CAAC;QACnE,CAAC,CAAC;QAEM,wBAAmB,GAAG,GAAG,EAAE;YACjC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,CAAC,UAAU,GAAG;gBAChB,CAAC,IAAI,CAAC,YAAY,IAAI,YAAY;gBAClC,CAAC,IAAI,CAAC,YAAY,IAAI,SAAS;gBAC/B,CAAC,IAAI,CAAC,YAAY,IAAI,OAAO;aAC9B,CAAC;YACF,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC,CAAC;KA6BH;IArRC,wBAAwB;QACtB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;QACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAQD,wBAAwB;QACtB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;QACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAqCD,iBAAiB;;QACf,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,YAAY,CAAC,WAAW,CAAC,KAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACnE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAID;;;OAGG;IAEH,KAAK,CAAC,sBAAsB,CAA6B,KAAQ;QAC/D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IAED,gBAAgB;;QACd,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAEjC,IAAI,MAAkC,CAAC;QACvC,IAAK,IAAI,CAAC,EAAE,CAAC,WAAW,EAAiB,CAAC,IAAI,EAAE,CAAC;YAC/C,MAAM,GAAI,IAAI,CAAC,EAAE,CAAC,WAAW,EAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,iBAAiB;YACpB,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,0CAAE,aAAa,CAAC,eAAe,CAAC,mCAAI,IAAI,CAAC;QAE7D,gCAAgC,CAC9B,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EACzC,SAAS,CACV,CAAC;IACJ,CAAC;IAED,kBAAkB;;QAChB,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,EAAE,CAAC,UAAU,0CAAE,aAAa,CACpD,uCAAuC,CACxC,CAAC;QACF,IAAI,CAAC,QAAQ;YACX,IAAI,CAAC,QAAQ,GAAG,CAAC;aACjB,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,YAAY,CACxB,OAAO,EACP,2BAA2B,IAAI,CAAC,QAAQ,EAAE,CAC3C,CAAA,CAAC;IACN,CAAC;IACD;;;;OAIG;IAEH,KAAK,CAAC,cAAc,CAAC,IAAa,EAAE,cAAwB;QAC1D,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC;QACvC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,gBAAgB;QACpB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;IACjE,CAAC;IA6HD,MAAM;QACJ,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAChD,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,YAAY,EAAE,IAAI;gBAClB,CAAC,YAAY,KAAK,EAAE,CAAC,EAAE,KAAK,KAAK,SAAS;aAC3C;YAED,4DACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,EAAoB,CAAC,EAClD,IAAI,EAAC,SAAS,EACd,KAAK,EAAC,sBAAsB,iBACf,GAAG,MAAM,EAAE;gBAExB,sEAAe,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAC,SAAS,IACjD,KAAK,CACQ;gBAChB,4DACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,EAAoB,CAAC,EAChD,KAAK,EAAC,kBAAkB,GACnB,CACH;YACN,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n h,\n Method,\n State,\n Watch,\n} from \"@stencil/core\";\nimport { Instance, Options, createPopper } from \"@popperjs/core\";\nimport { IcTooltipPlacements } from \"./ic-tooltip.types\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\nimport { IcThemeMode } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-tooltip\",\n styleUrl: \"ic-tooltip.css\",\n shadow: true,\n})\nexport class Tooltip {\n private arrow: HTMLDivElement;\n private delayedHideEvents = [\"mouseleave\"];\n private dialogContentArea: HTMLDivElement | null;\n private instantHideEvents = [\"focusout\"];\n private mouseOverTool: boolean = false;\n private persistTooltip = false;\n private popperInstance: Instance;\n private showEvents = [\n !this.disableHover && \"mouseenter\",\n !this.disableHover && \"focusin\",\n !this.disableClick && \"click\",\n ];\n private toolTip: HTMLDivElement;\n\n @Element() el: HTMLIcTooltipElement;\n\n /**\n * If `true`, the tooltip will not be displayed on click, it will require hover or using the display method.\n */\n @Prop() disableClick?: boolean = false;\n\n @Watch(\"disableClick\")\n watchDisableClickHandler(): void {\n if (this.disableClick) {\n this.hide();\n }\n this.updateTooltipEvents();\n }\n\n /**\n * If `true`, the tooltip will not be displayed on hover, it will require a click.\n */\n @Prop() disableHover?: boolean = false;\n\n @Watch(\"disableHover\")\n watchDisableHoverHandler(): void {\n if (this.disableHover) {\n this.hide();\n }\n this.updateTooltipEvents();\n }\n\n /**\n * Setting to `true` can help in situations where tooltip content is clipped by a parent element.\n */\n @Prop() fixedPositioning: boolean = false;\n\n /**\n * The number of lines to display before truncating the text.\n */\n @Prop() maxLines?: number;\n\n /**\n * The position of the tooltip in relation to the parent element.\n */\n @Prop() placement?: IcTooltipPlacements = \"bottom\";\n\n /**\n * @internal Sets the tooltip to aria-hidden, when used as part of components that are already announced.\n */\n @Prop() silent?: boolean = false;\n\n /**\n * The ID of the element the tooltip is describing - for when aria-labelledby or aria-describedby is used.\n */\n @Prop({ reflect: true }) target?: string;\n\n /**\n * Sets the tooltip to the dark or light theme colors. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The text to display on the tooltip.\n */\n @Prop() label!: string;\n @Watch(\"label\")\n watchLabelHandler(): void {\n if (this.toolTip?.hasAttribute(\"data-show\") && this.popperInstance) {\n this.popperInstance.update();\n }\n }\n\n @State() popperProps: Partial<Options> = {};\n\n /**\n * @internal This method allows props to be added to the PopperJS createPopper instance outside of tooltip\n * @param props object - createPopper props set externally\n */\n @Method()\n async setExternalPopperProps<T extends Partial<Options>>(props: T) {\n this.popperProps = props;\n }\n\n disconnectedCallback(): void {\n this.manageEventListeners(\"remove\");\n if (this.popperInstance !== undefined) {\n this.popperInstance.destroy();\n }\n }\n\n componentDidLoad(): void {\n this.manageEventListeners(\"add\");\n\n let dialog: HTMLIcDialogElement | null;\n if ((this.el.getRootNode() as ShadowRoot).host) {\n dialog = (this.el.getRootNode() as ShadowRoot).host.closest(\"ic-dialog\");\n } else {\n dialog = this.el.closest(\"ic-dialog\");\n }\n this.dialogContentArea =\n dialog?.shadowRoot?.querySelector(\".content-area\") ?? null;\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tooltip\"\n );\n }\n\n componentDidRender(): void {\n const typographyEl = this.el.shadowRoot?.querySelector(\n \".ic-tooltip-container > ic-typography\"\n );\n this.maxLines &&\n this.maxLines > 0 &&\n typographyEl?.setAttribute(\n \"style\",\n `--truncation-max-lines: ${this.maxLines}`\n );\n }\n /**\n * Method to programmatically show/hide the tooltip without needing to interact with an anchor element\n * @param show Whether to show or hide the tooltip\n * @param persistTooltip Whether the tooltip should stay on the screen when actions are performed that would previously dismiss the tooltip, such as on hover\n */\n @Method()\n async displayTooltip(show: boolean, persistTooltip?: boolean): Promise<void> {\n this.persistTooltip = !!persistTooltip;\n show ? this.show() : this.hide();\n }\n\n /**\n * @internal Method to return if tooltip is currently visible.\n */\n @Method()\n async isTooltipVisible(): Promise<boolean> {\n return Promise.resolve(this.toolTip.hasAttribute(\"data-show\"));\n }\n\n private show = () => {\n if (this.label) {\n this.toolTip.setAttribute(\"data-show\", \"\");\n\n if (this.dialogContentArea) {\n this.el.classList.add(\"ic-tooltip-on-dialog\");\n }\n\n this.popperInstance = createPopper(this.el, this.toolTip, {\n strategy: this.fixedPositioning ? \"fixed\" : \"absolute\",\n placement: this.placement,\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 10],\n },\n },\n {\n name: \"arrow\",\n options: {\n element: this.arrow,\n },\n },\n {\n name: \"eventListeners\",\n options: { scroll: false, resize: false },\n },\n ...(this.dialogContentArea\n ? [\n {\n name: \"preventOverflow\",\n options: {\n boundary: this.dialogContentArea,\n padding: 8,\n },\n },\n {\n name: \"flip\",\n options: {\n boundary: this.dialogContentArea,\n },\n },\n ]\n : []),\n ],\n ...this.popperProps,\n });\n } else {\n console.warn(`Tooltip can't display without prop 'label' set`);\n }\n };\n\n private hide = () => {\n this.toolTip.removeAttribute(\"data-show\");\n this.persistTooltip = false;\n if (this.popperInstance !== undefined) {\n this.popperInstance.destroy();\n }\n };\n\n private checkCloseTooltip = () => {\n setTimeout(() => {\n if (!this.mouseOverTool && !this.persistTooltip) {\n this.hide();\n }\n }, 100);\n };\n\n private mouseEnterTooltip = () => {\n this.mouseOverTool = true;\n };\n\n private mouseLeaveTooltip = () => {\n this.mouseOverTool = false;\n this.checkCloseTooltip();\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\" && !this.persistTooltip) {\n this.hide();\n }\n };\n\n private manageEventListeners = (action: \"add\" | \"remove\") => {\n const method =\n action === \"add\" ? \"addEventListener\" : \"removeEventListener\";\n\n this.showEvents.forEach((event) => {\n if (event) {\n this.el[method](event, this.show);\n if (this.toolTip !== undefined) {\n this.toolTip[method](event, this.mouseEnterTooltip);\n }\n }\n });\n\n if (!this.persistTooltip) {\n this.instantHideEvents.forEach((event) => {\n this.el[method](event, this.hide);\n });\n }\n\n this.delayedHideEvents.forEach((event) => {\n this.el[method](event, this.checkCloseTooltip);\n if (this.toolTip !== undefined) {\n this.toolTip[method](event, this.mouseLeaveTooltip);\n }\n });\n\n document[method](\"keydown\", this.handleKeyDown as EventListener);\n };\n\n private updateTooltipEvents = () => {\n this.manageEventListeners(\"remove\");\n this.showEvents = [\n !this.disableHover && \"mouseenter\",\n !this.disableHover && \"focusin\",\n !this.disableClick && \"click\",\n ];\n this.manageEventListeners(\"add\");\n };\n\n render() {\n const { label, maxLines, silent, theme } = this;\n return (\n <Host\n class={{\n \"ic-tooltip\": true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div\n ref={(el) => (this.toolTip = el as HTMLDivElement)}\n role=\"tooltip\"\n class=\"ic-tooltip-container\"\n aria-hidden={`${silent}`}\n >\n <ic-typography maxLines={maxLines} variant=\"caption\">\n {label}\n </ic-typography>\n <div\n ref={(el) => (this.arrow = el as HTMLDivElement)}\n class=\"ic-tooltip-arrow\"\n ></div>\n </div>\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
@@ -6,6 +6,7 @@ const defaultArgs = {
6
6
  placement: "bottom",
7
7
  label: "This is a description of the button",
8
8
  theme: "inherit",
9
+ fixedPositioning: false,
9
10
  };
10
11
 
11
12
  export default {
@@ -341,6 +342,42 @@ export const ChangingLabel = {
341
342
  name: "Changing label",
342
343
  };
343
344
 
345
+ export const PositioningStrategy = {
346
+ render: (args) =>
347
+ html` <script>
348
+ var switchEl = document.querySelector("ic-switch");
349
+ var tooltipEl = document.querySelector("ic-tooltip");
350
+ switchEl.addEventListener("icChange", (ev) => {
351
+ tooltipEl.fixedPositioning = ev.detail.checked;
352
+ });
353
+ </script>
354
+ <div style="display:flex; flex-direction:column; gap:var(--ic-space-xs)">
355
+ <ic-typography>
356
+ Toggle the fixed positioning switch and hover over the button to see
357
+ it take effect
358
+ </ic-typography>
359
+ <div
360
+ style="display:flex; flex-direction:column; gap:var(--ic-space-xs); padding:var(--ic-space-md); border:1px solid var(--ic-color-text-primary); overflow:hidden; width:100px; position:relative"
361
+ >
362
+ <ic-tooltip
363
+ label="This is a tooltip with a long label"
364
+ id="ic-tooltip-test-button-1"
365
+ target="button-1"
366
+ >
367
+ <ic-button
368
+ aria-describedby="ic-tooltip-test-button-1"
369
+ id="button-1"
370
+ >
371
+ Button
372
+ </ic-button>
373
+ </ic-tooltip>
374
+ </div>
375
+ <ic-switch label="Fixed tooltip positioning"></ic-switch>
376
+ </div>`,
377
+
378
+ name: "Positioning strategy",
379
+ };
380
+
344
381
  export const Playground = {
345
382
  render: (args) =>
346
383
  html`<div style="margin: 250px">
@@ -352,6 +389,7 @@ export const Playground = {
352
389
  id="ic-tooltip-test-button-default"
353
390
  target="button-id"
354
391
  theme=${args.theme}
392
+ fixed-positioning=${args.fixedPositioning}
355
393
  >
356
394
  <button
357
395
  id="button-id"
@@ -3,6 +3,7 @@ import infoIcon from "../assets/info-icon.svg";
3
3
  import neutralIcon from "../assets/neutral-icon.svg";
4
4
  import successIcon from "../assets/success-icon.svg";
5
5
  import warningIcon from "../assets/warning-icon.svg";
6
+ import aiIcon from "../assets/ai-icon.svg";
6
7
  // Global status icons
7
8
  export const VARIANT_ICONS = {
8
9
  neutral: {
@@ -25,6 +26,10 @@ export const VARIANT_ICONS = {
25
26
  icon: successIcon,
26
27
  ariaLabel: "Success",
27
28
  },
29
+ ai: {
30
+ icon: aiIcon,
31
+ ariaLabel: "AI",
32
+ },
28
33
  };
29
34
  // Global ARIA attributes
30
35
  export const IC_INHERITED_ARIA = [
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AAErD,sBAAsB;AACtB,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE;QACP,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,SAAS;KACrB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,sBAAsB;KAClC;IACD,OAAO,EAAE;QACP,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,SAAS;KACrB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,OAAO;KACnB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,SAAS;KACrB;CACF,CAAC;AAEF,yBAAyB;AACzB,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,eAAe;IACf,cAAc;IACd,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,mBAAmB;IACnB,eAAe;IACf,aAAa;IACb,cAAc;IACd,eAAe;IACf,aAAa;IACb,cAAc;IACd,mBAAmB;IACnB,YAAY;IACZ,iBAAiB;IACjB,WAAW;IACX,WAAW;IACX,eAAe;IACf,sBAAsB;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,EAAE,EAAE,GAAG;IACP,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,IAAI;IACP,EAAE,EAAE,KAAK;CACV,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,SAAS;IACT,mBAAmB;IACnB,WAAW;IACX,oBAAoB;IACpB,UAAU;CACX,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,UAAU,CAAC,CAAC;AAMtD,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D,UAAU,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;CACrC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAClD,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C,sFAAsF;AACtF,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,KAAK;IACL,UAAU;IACV,WAAW;IACX,WAAW;IACX,YAAY;IACZ,SAAS;IACT,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,UAAU;IACV,aAAa;IACb,SAAS;IACT,QAAQ;IACR,KAAK;IACL,OAAO;IACP,QAAQ;IACR,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,MAAM;IACN,SAAS;IACT,UAAU;IACV,QAAQ;IACR,OAAO;IACP,KAAK;CACN,CAAC","sourcesContent":["import errorIcon from \"../assets/error-icon.svg\";\nimport infoIcon from \"../assets/info-icon.svg\";\nimport neutralIcon from \"../assets/neutral-icon.svg\";\nimport successIcon from \"../assets/success-icon.svg\";\nimport warningIcon from \"../assets/warning-icon.svg\";\n\n// Global status icons\nexport const VARIANT_ICONS = {\n neutral: {\n icon: neutralIcon,\n ariaLabel: \"Neutral\",\n },\n info: {\n icon: infoIcon,\n ariaLabel: \"For your information\",\n },\n warning: {\n icon: warningIcon,\n ariaLabel: \"Warning\",\n },\n error: {\n icon: errorIcon,\n ariaLabel: \"Error\",\n },\n success: {\n icon: successIcon,\n ariaLabel: \"Success\",\n },\n};\n\n// Global ARIA attributes\nexport const IC_INHERITED_ARIA = [\n \"aria-atomic\",\n \"aria-autocomplete\",\n \"aria-busy\",\n \"aria-controls\",\n \"aria-current\",\n \"aria-describedby\",\n \"aria-description\",\n \"aria-details\",\n \"aria-disabled\",\n \"aria-dropeffect\",\n \"aria-errormessage\",\n \"aria-expanded\",\n \"aria-flowto\",\n \"aria-grabbed\",\n \"aria-haspopup\",\n \"aria-hidden\",\n \"aria-invalid\",\n \"aria-keyshortcuts\",\n \"aria-label\",\n \"aria-labelledby\",\n \"aria-live\",\n \"aria-owns\",\n \"aria-relevant\",\n \"aria-roledescription\",\n];\n\nexport const IC_DEVICE_SIZES = {\n XS: 576,\n S: 768,\n M: 992,\n L: 1200,\n XL: 99999,\n};\n\nexport const IC_BLOCK_COLOR_COMPONENTS = [\n \"ic-hero\",\n \"ic-top-navigation\",\n \"ic-footer\",\n \"ic-side-navigation\",\n \"ic-alert\",\n].join(\",\");\n\nexport const IC_FIXED_COLOR_COMPONENTS = [\"ic-alert\"];\n\nexport interface IcColorExceptions {\n [details: string]: string[];\n}\n\nexport const IC_BLOCK_COLOR_EXCEPTIONS: IcColorExceptions = {\n \"ic-alert\": [\"ic-link\", \"ic-button\"],\n};\n\n/* Range within which the chosen theme colour would not have a sufficient brightness difference with either of the black or white foreground colours\n * The brightness difference must be greater than 125 to provide good colour visibility\n * Calculated by:\n * - Using the brightness formula for both colours: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding 125 to the brightness of the black foreground colour - RGB(11, 12, 12)\n * - Subtracting 125 from the brightness of the white foreground colour - RGB(255, 255, 255)\n */\nexport const BLACK_MIN_COLOR_BRIGHTNESS = 136.701;\nexport const WHITE_MAX_COLOR_BRIGHTNESS = 130;\n\n// Keyboard characters that do not affect the content of an input control when pressed\nexport const IGNORED_KEYBOARD_CHARACTERS = [\n \"Alt\",\n \"AltGraph\",\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"ArrowUp\",\n \"AudioVolumeDown\",\n \"AudioVolumeMute\",\n \"AudioVolumeUp\",\n \"CapsLock\",\n \"ContextMenu\",\n \"Control\",\n \"Delete\",\n \"End\",\n \"Enter\",\n \"Escape\",\n \"F1\",\n \"F10\",\n \"F11\",\n \"F12\",\n \"F2\",\n \"F3\",\n \"F4\",\n \"F5\",\n \"F6\",\n \"F7\",\n \"F8\",\n \"F9\",\n \"Home\",\n \"Insert\",\n \"Meta\",\n \"NumLock\",\n \"PageDown\",\n \"PageUp\",\n \"Shift\",\n \"Tab\",\n];\n"]}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAE3C,sBAAsB;AACtB,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE;QACP,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,SAAS;KACrB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,sBAAsB;KAClC;IACD,OAAO,EAAE;QACP,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,SAAS;KACrB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,OAAO;KACnB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,SAAS;KACrB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,IAAI;KAChB;CACF,CAAC;AAEF,yBAAyB;AACzB,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,eAAe;IACf,cAAc;IACd,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,mBAAmB;IACnB,eAAe;IACf,aAAa;IACb,cAAc;IACd,eAAe;IACf,aAAa;IACb,cAAc;IACd,mBAAmB;IACnB,YAAY;IACZ,iBAAiB;IACjB,WAAW;IACX,WAAW;IACX,eAAe;IACf,sBAAsB;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,EAAE,EAAE,GAAG;IACP,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,IAAI;IACP,EAAE,EAAE,KAAK;CACV,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,SAAS;IACT,mBAAmB;IACnB,WAAW;IACX,oBAAoB;IACpB,UAAU;CACX,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,UAAU,CAAC,CAAC;AAMtD,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D,UAAU,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;CACrC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAClD,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C,sFAAsF;AACtF,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,KAAK;IACL,UAAU;IACV,WAAW;IACX,WAAW;IACX,YAAY;IACZ,SAAS;IACT,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,UAAU;IACV,aAAa;IACb,SAAS;IACT,QAAQ;IACR,KAAK;IACL,OAAO;IACP,QAAQ;IACR,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,MAAM;IACN,SAAS;IACT,UAAU;IACV,QAAQ;IACR,OAAO;IACP,KAAK;CACN,CAAC","sourcesContent":["import errorIcon from \"../assets/error-icon.svg\";\nimport infoIcon from \"../assets/info-icon.svg\";\nimport neutralIcon from \"../assets/neutral-icon.svg\";\nimport successIcon from \"../assets/success-icon.svg\";\nimport warningIcon from \"../assets/warning-icon.svg\";\nimport aiIcon from \"../assets/ai-icon.svg\";\n\n// Global status icons\nexport const VARIANT_ICONS = {\n neutral: {\n icon: neutralIcon,\n ariaLabel: \"Neutral\",\n },\n info: {\n icon: infoIcon,\n ariaLabel: \"For your information\",\n },\n warning: {\n icon: warningIcon,\n ariaLabel: \"Warning\",\n },\n error: {\n icon: errorIcon,\n ariaLabel: \"Error\",\n },\n success: {\n icon: successIcon,\n ariaLabel: \"Success\",\n },\n ai: {\n icon: aiIcon,\n ariaLabel: \"AI\",\n },\n};\n\n// Global ARIA attributes\nexport const IC_INHERITED_ARIA = [\n \"aria-atomic\",\n \"aria-autocomplete\",\n \"aria-busy\",\n \"aria-controls\",\n \"aria-current\",\n \"aria-describedby\",\n \"aria-description\",\n \"aria-details\",\n \"aria-disabled\",\n \"aria-dropeffect\",\n \"aria-errormessage\",\n \"aria-expanded\",\n \"aria-flowto\",\n \"aria-grabbed\",\n \"aria-haspopup\",\n \"aria-hidden\",\n \"aria-invalid\",\n \"aria-keyshortcuts\",\n \"aria-label\",\n \"aria-labelledby\",\n \"aria-live\",\n \"aria-owns\",\n \"aria-relevant\",\n \"aria-roledescription\",\n];\n\nexport const IC_DEVICE_SIZES = {\n XS: 576,\n S: 768,\n M: 992,\n L: 1200,\n XL: 99999,\n};\n\nexport const IC_BLOCK_COLOR_COMPONENTS = [\n \"ic-hero\",\n \"ic-top-navigation\",\n \"ic-footer\",\n \"ic-side-navigation\",\n \"ic-alert\",\n].join(\",\");\n\nexport const IC_FIXED_COLOR_COMPONENTS = [\"ic-alert\"];\n\nexport interface IcColorExceptions {\n [details: string]: string[];\n}\n\nexport const IC_BLOCK_COLOR_EXCEPTIONS: IcColorExceptions = {\n \"ic-alert\": [\"ic-link\", \"ic-button\"],\n};\n\n/* Range within which the chosen theme colour would not have a sufficient brightness difference with either of the black or white foreground colours\n * The brightness difference must be greater than 125 to provide good colour visibility\n * Calculated by:\n * - Using the brightness formula for both colours: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding 125 to the brightness of the black foreground colour - RGB(11, 12, 12)\n * - Subtracting 125 from the brightness of the white foreground colour - RGB(255, 255, 255)\n */\nexport const BLACK_MIN_COLOR_BRIGHTNESS = 136.701;\nexport const WHITE_MAX_COLOR_BRIGHTNESS = 130;\n\n// Keyboard characters that do not affect the content of an input control when pressed\nexport const IGNORED_KEYBOARD_CHARACTERS = [\n \"Alt\",\n \"AltGraph\",\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"ArrowUp\",\n \"AudioVolumeDown\",\n \"AudioVolumeMute\",\n \"AudioVolumeUp\",\n \"CapsLock\",\n \"ContextMenu\",\n \"Control\",\n \"Delete\",\n \"End\",\n \"Enter\",\n \"Escape\",\n \"F1\",\n \"F10\",\n \"F11\",\n \"F12\",\n \"F2\",\n \"F3\",\n \"F4\",\n \"F5\",\n \"F6\",\n \"F7\",\n \"F8\",\n \"F9\",\n \"Home\",\n \"Insert\",\n \"Meta\",\n \"NumLock\",\n \"PageDown\",\n \"PageUp\",\n \"Shift\",\n \"Tab\",\n];\n"]}
@@ -167,19 +167,27 @@ export const isMobileOrTablet = () => "maxTouchPoints" in navigator && "userAgen
167
167
  /iPad|iPhone|iPod|Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)
168
168
  : false;
169
169
  /**
170
- * Will create a button within the lightDOM which interacts with the parent form.
170
+ * Will create a button within the lightDOM which interacts with the form.
171
171
  * This is required as buttons within the shadowDOM will not invoke a submit or reset
172
172
  *
173
- * @param form - parent form element which contains shadowDom button
173
+ * @param form - form element to associate button with
174
174
  * @param button - shadowDOM button
175
175
  */
176
176
  export const handleHiddenFormButtonClick = (form, button) => {
177
- var _a, _b;
178
- const hiddenFormButton = (_a = document.querySelector("#hidden-form-button")) !== null && _a !== void 0 ? _a : document.createElement("button");
177
+ var _a, _b, _c, _d, _e, _f, _g;
178
+ const hiddenFormButtonId = button.type === "submit" || button.type === "reset"
179
+ ? `hidden-form-${button.type}-button`
180
+ : "hidden-form-button";
181
+ const hiddenFormButton = (_a = document.querySelector(`#${hiddenFormButtonId}`)) !== null && _a !== void 0 ? _a : document.createElement("button");
179
182
  hiddenFormButton.setAttribute("type", (_b = button.type) !== null && _b !== void 0 ? _b : "button");
180
- hiddenFormButton.id = "hidden-form-button";
183
+ hiddenFormButton.id = hiddenFormButtonId;
181
184
  hiddenFormButton.style.display = "none";
182
- form.appendChild(hiddenFormButton);
185
+ hiddenFormButton.formAction = (_c = button.formaction) !== null && _c !== void 0 ? _c : "";
186
+ hiddenFormButton.formEnctype = (_d = button.formenctype) !== null && _d !== void 0 ? _d : "";
187
+ hiddenFormButton.formMethod = (_e = button.formmethod) !== null && _e !== void 0 ? _e : "";
188
+ hiddenFormButton.formNoValidate = (_f = button.formnovalidate) !== null && _f !== void 0 ? _f : false;
189
+ hiddenFormButton.formTarget = (_g = button.formtarget) !== null && _g !== void 0 ? _g : "";
190
+ form === null || form === void 0 ? void 0 : form.appendChild(hiddenFormButton);
183
191
  hiddenFormButton.click();
184
192
  };
185
193
  export const isEmptyString = (value) => !value || value.trim().length === 0;