@ukic/web-components 3.7.0 → 3.9.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 (533) 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 +116 -0
  7. package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -0
  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 +4 -4
  11. package/dist/cjs/ic-badge.cjs.entry.js +4 -4
  12. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +3 -3
  14. package/dist/cjs/ic-breadcrumb.cjs.entry.js +3 -3
  15. package/dist/cjs/ic-button_3.cjs.entry.js +56 -96
  16. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-card-vertical.cjs.entry.js +5 -5
  18. package/dist/cjs/ic-checkbox-group.cjs.entry.js +3 -3
  19. package/dist/cjs/ic-checkbox.cjs.entry.js +6 -6
  20. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-chip.cjs.entry.js +13 -5
  22. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-classification-banner.cjs.entry.js +2 -2
  24. package/dist/cjs/ic-data-list.cjs.entry.js +3 -3
  25. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-data-row.cjs.entry.js +4 -4
  27. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-dialog.cjs.entry.js +2 -2
  29. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-empty-state.cjs.entry.js +3 -3
  31. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-footer-link.cjs.entry.js +3 -3
  33. package/dist/cjs/ic-footer.cjs.entry.js +4 -4
  34. package/dist/cjs/ic-hero.cjs.entry.js +5 -5
  35. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +6 -6
  36. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +9 -9
  37. package/dist/cjs/ic-input-label_2.cjs.entry.js +6 -6
  38. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +70 -0
  39. package/dist/cjs/ic-layout-grid-item.cjs.entry.js.map +1 -0
  40. package/dist/cjs/ic-layout-grid.cjs.entry.js +156 -0
  41. package/dist/cjs/ic-layout-grid.cjs.entry.js.map +1 -0
  42. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  43. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  44. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  45. package/dist/cjs/ic-navigation-button.cjs.entry.js +3 -3
  46. package/dist/cjs/ic-navigation-group.cjs.entry.js +3 -3
  47. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-navigation-item.cjs.entry.js +3 -3
  49. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
  50. package/dist/cjs/ic-page-header.cjs.entry.js +7 -7
  51. package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
  52. package/dist/cjs/ic-pagination.cjs.entry.js +5 -5
  53. package/dist/cjs/ic-popover-menu.cjs.entry.js +10 -6
  54. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-radio-group.cjs.entry.js +5 -5
  56. package/dist/cjs/ic-radio-option.cjs.entry.js +5 -5
  57. package/dist/cjs/ic-search-bar.cjs.entry.js +10 -10
  58. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  59. package/dist/cjs/ic-select.cjs.entry.js +7 -7
  60. package/dist/cjs/ic-side-navigation.cjs.entry.js +5 -5
  61. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  62. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  63. package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
  64. package/dist/cjs/ic-step.cjs.entry.js +14 -14
  65. package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
  66. package/dist/cjs/ic-switch.cjs.entry.js +5 -5
  67. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  68. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  69. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  70. package/dist/cjs/ic-tab.cjs.entry.js +3 -3
  71. package/dist/cjs/ic-text-field.cjs.entry.js +7 -7
  72. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  73. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  74. package/dist/cjs/ic-toast.cjs.entry.js +5 -5
  75. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +3 -3
  77. package/dist/cjs/ic-toggle-button.cjs.entry.js +3 -3
  78. package/dist/cjs/ic-top-navigation.cjs.entry.js +5 -5
  79. package/dist/cjs/ic-typography.cjs.entry.js +3 -3
  80. package/dist/cjs/index-d337cd8a.js +12 -0
  81. package/dist/cjs/loader.cjs.js +1 -1
  82. package/dist/collection/assets/ai-icon.svg +11 -0
  83. package/dist/collection/collection-manifest.json +3 -0
  84. package/dist/collection/components/ic-action-chip/ic-action-chip.css +644 -0
  85. package/dist/collection/components/ic-action-chip/ic-action-chip.js +564 -0
  86. package/dist/collection/components/ic-action-chip/ic-action-chip.js.map +1 -0
  87. package/dist/collection/components/ic-action-chip/ic-action-chip.stories.js +386 -0
  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.js +3 -3
  92. package/dist/collection/components/ic-badge/ic-badge.css +4 -0
  93. package/dist/collection/components/ic-badge/ic-badge.js +3 -3
  94. package/dist/collection/components/ic-badge/ic-badge.stories.js +98 -0
  95. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +2 -2
  96. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +2 -2
  97. package/dist/collection/components/ic-button/ic-button.css +3 -11
  98. package/dist/collection/components/ic-button/ic-button.js +33 -12
  99. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  100. package/dist/collection/components/ic-button/ic-button.stories.js +181 -2
  101. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +4 -4
  102. package/dist/collection/components/ic-checkbox/ic-checkbox.css +1 -0
  103. package/dist/collection/components/ic-checkbox/ic-checkbox.js +4 -4
  104. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +2 -2
  105. package/dist/collection/components/ic-chip/ic-chip.css +3 -3
  106. package/dist/collection/components/ic-chip/ic-chip.js +12 -4
  107. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  108. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +2 -2
  109. package/dist/collection/components/ic-data-list/ic-data-list.css +5 -0
  110. package/dist/collection/components/ic-data-list/ic-data-list.js +2 -2
  111. package/dist/collection/components/ic-data-list/ic-data-list.stories.js +50 -0
  112. package/dist/collection/components/ic-data-row/ic-data-row.css +3 -1
  113. package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
  114. package/dist/collection/components/ic-dialog/ic-dialog.js +1 -1
  115. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +31 -4
  116. package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
  117. package/dist/collection/components/ic-footer/ic-footer.js +3 -3
  118. package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
  119. package/dist/collection/components/ic-hero/ic-hero.js +4 -4
  120. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
  121. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
  122. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  123. package/dist/collection/components/ic-input-label/ic-input-label.js +2 -2
  124. package/dist/collection/components/ic-input-validation/ic-input-validation.js +3 -3
  125. package/dist/collection/components/ic-layout-grid/ic-layout-grid.css +540 -0
  126. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js +377 -0
  127. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js.map +1 -0
  128. package/dist/collection/components/ic-layout-grid/ic-layout-grid.stories.js +429 -0
  129. package/dist/collection/components/ic-layout-grid/ic-layout-grid.types.js +2 -0
  130. package/dist/collection/components/ic-layout-grid/ic-layout-grid.types.js.map +1 -0
  131. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.css +12 -0
  132. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js +182 -0
  133. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js.map +1 -0
  134. package/dist/collection/components/ic-link/ic-link.js +1 -1
  135. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +5 -5
  136. package/dist/collection/components/ic-menu/ic-menu.js +3 -3
  137. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  138. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +2 -2
  139. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +2 -0
  140. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
  141. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +2 -2
  142. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  143. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  144. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  145. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  146. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +29 -5
  147. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  148. package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +94 -0
  149. package/dist/collection/components/ic-radio-group/ic-radio-group.js +4 -4
  150. package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -4
  151. package/dist/collection/components/ic-search-bar/ic-search-bar.js +9 -9
  152. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  153. package/dist/collection/components/ic-select/ic-select.js +6 -6
  154. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +4 -4
  155. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  156. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  157. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  158. package/dist/collection/components/ic-step/ic-step.js +13 -13
  159. package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
  160. package/dist/collection/components/ic-switch/ic-switch.js +4 -4
  161. package/dist/collection/components/ic-tab/ic-tab.js +2 -2
  162. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
  163. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  164. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  165. package/dist/collection/components/ic-text-field/ic-text-field.js +6 -6
  166. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  167. package/dist/collection/components/ic-toast/ic-toast.css +8 -0
  168. package/dist/collection/components/ic-toast/ic-toast.js +4 -4
  169. package/dist/collection/components/ic-toast/ic-toast.stories.js +2 -2
  170. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  171. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
  172. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
  173. package/dist/collection/components/ic-tooltip/ic-tooltip.css +2 -5
  174. package/dist/collection/components/ic-tooltip/ic-tooltip.js +57 -78
  175. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  176. package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +38 -0
  177. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +4 -4
  178. package/dist/collection/components/ic-typography/ic-typography.js +2 -2
  179. package/dist/collection/utils/constants.js +5 -0
  180. package/dist/collection/utils/constants.js.map +1 -1
  181. package/dist/collection/utils/helpers.js +14 -6
  182. package/dist/collection/utils/helpers.js.map +1 -1
  183. package/dist/collection/utils/types.js.map +1 -1
  184. package/dist/components/helpers.js +31 -7
  185. package/dist/components/helpers.js.map +1 -1
  186. package/dist/components/ic-action-chip.d.ts +11 -0
  187. package/dist/components/ic-action-chip.js +160 -0
  188. package/dist/components/ic-action-chip.js.map +1 -0
  189. package/dist/components/ic-alert.js +1 -1
  190. package/dist/components/ic-alert.js.map +1 -1
  191. package/dist/components/ic-back-to-top.js +4 -4
  192. package/dist/components/ic-back-to-top.js.map +1 -1
  193. package/dist/components/ic-badge.js +4 -4
  194. package/dist/components/ic-badge.js.map +1 -1
  195. package/dist/components/ic-breadcrumb-group.js +3 -3
  196. package/dist/components/ic-breadcrumb2.js +3 -3
  197. package/dist/components/ic-button2.js +15 -13
  198. package/dist/components/ic-button2.js.map +1 -1
  199. package/dist/components/ic-card-vertical.js +4 -4
  200. package/dist/components/ic-checkbox-group.js +3 -3
  201. package/dist/components/ic-checkbox.js +6 -6
  202. package/dist/components/ic-checkbox.js.map +1 -1
  203. package/dist/components/ic-chip.js +13 -5
  204. package/dist/components/ic-chip.js.map +1 -1
  205. package/dist/components/ic-classification-banner.js +2 -2
  206. package/dist/components/ic-data-list.js +3 -3
  207. package/dist/components/ic-data-list.js.map +1 -1
  208. package/dist/components/ic-data-row.js +4 -4
  209. package/dist/components/ic-data-row.js.map +1 -1
  210. package/dist/components/ic-dialog.js +2 -2
  211. package/dist/components/ic-divider2.js +1 -1
  212. package/dist/components/ic-empty-state.js +2 -2
  213. package/dist/components/ic-footer-link-group.js +1 -1
  214. package/dist/components/ic-footer-link.js +3 -3
  215. package/dist/components/ic-footer.js +4 -4
  216. package/dist/components/ic-hero.js +5 -5
  217. package/dist/components/ic-horizontal-scroll2.js +6 -6
  218. package/dist/components/ic-input-component-container2.js +4 -4
  219. package/dist/components/ic-input-container2.js +2 -2
  220. package/dist/components/ic-input-label2.js +3 -3
  221. package/dist/components/ic-input-validation2.js +4 -4
  222. package/dist/components/ic-layout-grid-item.d.ts +11 -0
  223. package/dist/components/ic-layout-grid-item.js +95 -0
  224. package/dist/components/ic-layout-grid-item.js.map +1 -0
  225. package/dist/components/ic-layout-grid.d.ts +11 -0
  226. package/dist/components/ic-layout-grid.js +188 -0
  227. package/dist/components/ic-layout-grid.js.map +1 -0
  228. package/dist/components/ic-link2.js +1 -1
  229. package/dist/components/ic-loading-indicator2.js +5 -5
  230. package/dist/components/ic-menu-group.js +2 -2
  231. package/dist/components/ic-menu-item2.js +1 -1
  232. package/dist/components/ic-menu2.js +4 -4
  233. package/dist/components/ic-navigation-button.js +3 -3
  234. package/dist/components/ic-navigation-group.js +3 -3
  235. package/dist/components/ic-navigation-group.js.map +1 -1
  236. package/dist/components/ic-navigation-item.js +3 -3
  237. package/dist/components/ic-navigation-menu2.js +5 -5
  238. package/dist/components/ic-page-header.js +7 -7
  239. package/dist/components/ic-pagination-item2.js +2 -2
  240. package/dist/components/ic-pagination.js +4 -4
  241. package/dist/components/ic-pagination.js.map +1 -1
  242. package/dist/components/ic-popover-menu.js +11 -6
  243. package/dist/components/ic-popover-menu.js.map +1 -1
  244. package/dist/components/ic-radio-group.js +5 -5
  245. package/dist/components/ic-radio-group.js.map +1 -1
  246. package/dist/components/ic-radio-option.js +5 -5
  247. package/dist/components/ic-radio-option.js.map +1 -1
  248. package/dist/components/ic-search-bar.js +10 -10
  249. package/dist/components/ic-section-container2.js +2 -2
  250. package/dist/components/ic-select.js +7 -7
  251. package/dist/components/ic-side-navigation.js +5 -5
  252. package/dist/components/ic-skeleton.js +2 -2
  253. package/dist/components/ic-skip-link.js +2 -2
  254. package/dist/components/ic-status-tag.js +2 -2
  255. package/dist/components/ic-status-tag.js.map +1 -1
  256. package/dist/components/ic-step.js +14 -14
  257. package/dist/components/ic-stepper.js +2 -2
  258. package/dist/components/ic-switch.js +5 -5
  259. package/dist/components/ic-tab-context.js +1 -1
  260. package/dist/components/ic-tab-group.js +2 -2
  261. package/dist/components/ic-tab-panel.js +2 -2
  262. package/dist/components/ic-tab.js +2 -2
  263. package/dist/components/ic-tab.js.map +1 -1
  264. package/dist/components/ic-text-field.js +7 -7
  265. package/dist/components/ic-theme.js +2 -2
  266. package/dist/components/ic-toast-region.js +1 -1
  267. package/dist/components/ic-toast.js +5 -5
  268. package/dist/components/ic-toast.js.map +1 -1
  269. package/dist/components/ic-toggle-button-group.js +2 -2
  270. package/dist/components/ic-toggle-button.js +2 -2
  271. package/dist/components/ic-tooltip2.js +39 -79
  272. package/dist/components/ic-tooltip2.js.map +1 -1
  273. package/dist/components/ic-top-navigation.js +5 -5
  274. package/dist/components/ic-typography2.js +2 -2
  275. package/dist/core/core.css +236 -16
  276. package/dist/core/core.esm.js +1 -1
  277. package/dist/core/core.esm.js.map +1 -1
  278. package/dist/core/p-0d680d19.entry.js +2 -0
  279. package/dist/core/p-0d680d19.entry.js.map +1 -0
  280. package/dist/core/{p-06e80441.entry.js → p-15dbccc2.entry.js} +2 -2
  281. package/dist/core/{p-91f6884a.entry.js → p-19cf2327.entry.js} +2 -2
  282. package/dist/core/{p-4b6818d9.entry.js → p-1cc402b8.entry.js} +2 -2
  283. package/dist/core/p-1d37ac1c.entry.js +2 -0
  284. package/dist/core/p-1d37ac1c.entry.js.map +1 -0
  285. package/dist/core/{p-182b7037.entry.js → p-1e2f40b0.entry.js} +2 -2
  286. package/dist/core/{p-9d5e4b62.entry.js → p-21cf2beb.entry.js} +2 -2
  287. package/dist/core/p-25007ec9.js +2 -0
  288. package/dist/core/p-25007ec9.js.map +1 -0
  289. package/dist/core/{p-fc5661ac.entry.js → p-287e5c17.entry.js} +2 -2
  290. package/dist/core/{p-543b90c5.entry.js → p-28efe829.entry.js} +2 -2
  291. package/dist/core/{p-fb6e6ac4.entry.js → p-2f4f392f.entry.js} +2 -2
  292. package/dist/core/{p-4301e11e.entry.js → p-313a8a2f.entry.js} +2 -2
  293. package/dist/core/p-317e005f.entry.js +2 -0
  294. package/dist/core/{p-ff47772c.entry.js.map → p-317e005f.entry.js.map} +1 -1
  295. package/dist/core/{p-f4ee5fbb.entry.js → p-3dc54847.entry.js} +2 -2
  296. package/dist/core/{p-0549305b.entry.js → p-3e5d7a3d.entry.js} +2 -2
  297. package/dist/core/p-41ef74a7.entry.js +2 -0
  298. package/dist/core/p-41ef74a7.entry.js.map +1 -0
  299. package/dist/core/{p-ae2ea264.entry.js → p-41f92698.entry.js} +2 -2
  300. package/dist/core/p-43324339.entry.js +2 -0
  301. package/dist/core/p-43324339.entry.js.map +1 -0
  302. package/dist/core/{p-9e051db4.entry.js → p-45dd12ee.entry.js} +2 -2
  303. package/dist/core/{p-018eaee0.entry.js → p-493eaabb.entry.js} +2 -2
  304. package/dist/core/{p-a591ef38.entry.js → p-4ca782eb.entry.js} +2 -2
  305. package/dist/core/{p-056be0df.entry.js → p-4d1a3036.entry.js} +2 -2
  306. package/dist/core/p-52748d5c.entry.js +2 -0
  307. package/dist/core/p-52748d5c.entry.js.map +1 -0
  308. package/dist/core/p-595a4d06.entry.js +2 -0
  309. package/dist/core/p-595a4d06.entry.js.map +1 -0
  310. package/dist/core/p-5daa7915.entry.js +2 -0
  311. package/dist/core/{p-02132a4c.entry.js.map → p-5daa7915.entry.js.map} +1 -1
  312. package/dist/core/{p-421b5f2d.entry.js → p-5f68f62b.entry.js} +2 -2
  313. package/dist/core/{p-d281c3cf.entry.js → p-5fbc8e62.entry.js} +2 -2
  314. package/dist/core/{p-06b0d0f6.entry.js → p-6014ab64.entry.js} +2 -2
  315. package/dist/core/{p-afde0edc.entry.js → p-661ae402.entry.js} +2 -2
  316. package/dist/core/{p-a2ae5d9e.entry.js → p-6a576a8b.entry.js} +2 -2
  317. package/dist/core/{p-b1b27b7e.entry.js → p-6e8ef73c.entry.js} +2 -2
  318. package/dist/core/p-6ed0ac48.entry.js +2 -0
  319. package/dist/core/{p-3194e46c.entry.js.map → p-6ed0ac48.entry.js.map} +1 -1
  320. package/dist/core/p-711bfeed.entry.js +2 -0
  321. package/dist/core/p-711bfeed.entry.js.map +1 -0
  322. package/dist/core/{p-2ec0d11c.entry.js → p-72a9909c.entry.js} +2 -2
  323. package/dist/core/{p-f9491692.entry.js → p-742a9181.entry.js} +2 -2
  324. package/dist/core/p-7cd4f6a6.entry.js +2 -0
  325. package/dist/core/{p-773ded36.entry.js.map → p-7cd4f6a6.entry.js.map} +1 -1
  326. package/dist/core/{p-152ddde9.entry.js → p-8a4b12e4.entry.js} +2 -2
  327. package/dist/core/{p-3448c713.entry.js → p-8b5022bc.entry.js} +2 -2
  328. package/dist/core/{p-ce916f35.entry.js → p-9323c234.entry.js} +2 -2
  329. package/dist/core/{p-50d13439.entry.js → p-948f89a0.entry.js} +2 -2
  330. package/dist/core/p-97b93ddf.entry.js +2 -0
  331. package/dist/core/p-97b93ddf.entry.js.map +1 -0
  332. package/dist/core/{p-0f86ea09.entry.js → p-999f0a5d.entry.js} +2 -2
  333. package/dist/core/p-999f0a5d.entry.js.map +1 -0
  334. package/dist/core/{p-ba89fa16.entry.js → p-9c013333.entry.js} +2 -2
  335. package/dist/core/{p-b83cca09.entry.js → p-9eeb5e85.entry.js} +2 -2
  336. package/dist/core/{p-0179fbd3.entry.js → p-9f36791b.entry.js} +2 -2
  337. package/dist/core/{p-8a5b0fb0.entry.js → p-a602a8e1.entry.js} +2 -2
  338. package/dist/core/{p-98869fe7.entry.js → p-a77364f5.entry.js} +2 -2
  339. package/dist/core/{p-6b52e47f.entry.js → p-af9c391d.entry.js} +2 -2
  340. package/dist/core/{p-77750efc.entry.js → p-b0d488d0.entry.js} +2 -2
  341. package/dist/core/p-b25d33d8.entry.js +2 -0
  342. package/dist/core/{p-627f7172.entry.js.map → p-b25d33d8.entry.js.map} +1 -1
  343. package/dist/core/{p-cd8dab55.entry.js → p-b52000d9.entry.js} +2 -2
  344. package/dist/core/p-cbe0d1bb.entry.js +2 -0
  345. package/dist/core/{p-ec1657fc.entry.js.map → p-cbe0d1bb.entry.js.map} +1 -1
  346. package/dist/core/p-ceea1712.entry.js +2 -0
  347. package/dist/core/p-ceea1712.entry.js.map +1 -0
  348. package/dist/core/p-cf631191.entry.js +2 -0
  349. package/dist/core/{p-6dd73165.entry.js → p-df88ff5b.entry.js} +2 -2
  350. package/dist/core/{p-bb21268f.entry.js → p-e652ab09.entry.js} +2 -2
  351. package/dist/core/{p-29468171.entry.js → p-e876e47c.entry.js} +2 -2
  352. package/dist/core/p-ea061ccf.entry.js +2 -0
  353. package/dist/core/p-ea061ccf.entry.js.map +1 -0
  354. package/dist/core/{p-ab1103e1.entry.js → p-ea778379.entry.js} +2 -2
  355. package/dist/core/{p-948086f4.entry.js → p-ef4b5469.entry.js} +2 -2
  356. package/dist/core/p-f309d3af.entry.js +2 -0
  357. package/dist/core/{p-554c555f.entry.js.map → p-f309d3af.entry.js.map} +1 -1
  358. package/dist/core/{p-9ed5f11d.entry.js → p-f6a02202.entry.js} +2 -2
  359. package/dist/core/p-fc3b1155.entry.js +2 -0
  360. package/dist/core/p-fc3b1155.entry.js.map +1 -0
  361. package/dist/core/p-ffac41d6.entry.js +2 -0
  362. package/dist/core/p-ffac41d6.entry.js.map +1 -0
  363. package/dist/esm/core.js +1 -1
  364. package/dist/esm/{helpers-f5ff3b42.js → helpers-56631aa0.js} +32 -8
  365. package/dist/esm/helpers-56631aa0.js.map +1 -0
  366. package/dist/esm/ic-accordion-group.entry.js +1 -1
  367. package/dist/esm/ic-accordion.entry.js +1 -1
  368. package/dist/esm/ic-action-chip.entry.js +112 -0
  369. package/dist/esm/ic-action-chip.entry.js.map +1 -0
  370. package/dist/esm/ic-alert.entry.js +2 -2
  371. package/dist/esm/ic-alert.entry.js.map +1 -1
  372. package/dist/esm/ic-back-to-top.entry.js +4 -4
  373. package/dist/esm/ic-badge.entry.js +4 -4
  374. package/dist/esm/ic-badge.entry.js.map +1 -1
  375. package/dist/esm/ic-breadcrumb-group.entry.js +3 -3
  376. package/dist/esm/ic-breadcrumb.entry.js +3 -3
  377. package/dist/esm/ic-button_3.entry.js +56 -96
  378. package/dist/esm/ic-button_3.entry.js.map +1 -1
  379. package/dist/esm/ic-card-vertical.entry.js +5 -5
  380. package/dist/esm/ic-checkbox-group.entry.js +3 -3
  381. package/dist/esm/ic-checkbox.entry.js +6 -6
  382. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  383. package/dist/esm/ic-chip.entry.js +13 -5
  384. package/dist/esm/ic-chip.entry.js.map +1 -1
  385. package/dist/esm/ic-classification-banner.entry.js +2 -2
  386. package/dist/esm/ic-data-list.entry.js +3 -3
  387. package/dist/esm/ic-data-list.entry.js.map +1 -1
  388. package/dist/esm/ic-data-row.entry.js +4 -4
  389. package/dist/esm/ic-data-row.entry.js.map +1 -1
  390. package/dist/esm/ic-dialog.entry.js +2 -2
  391. package/dist/esm/ic-divider.entry.js +1 -1
  392. package/dist/esm/ic-empty-state.entry.js +3 -3
  393. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  394. package/dist/esm/ic-footer-link.entry.js +3 -3
  395. package/dist/esm/ic-footer.entry.js +4 -4
  396. package/dist/esm/ic-hero.entry.js +5 -5
  397. package/dist/esm/ic-horizontal-scroll.entry.js +6 -6
  398. package/dist/esm/ic-input-component-container_3.entry.js +9 -9
  399. package/dist/esm/ic-input-label_2.entry.js +6 -6
  400. package/dist/esm/ic-layout-grid-item.entry.js +66 -0
  401. package/dist/esm/ic-layout-grid-item.entry.js.map +1 -0
  402. package/dist/esm/ic-layout-grid.entry.js +152 -0
  403. package/dist/esm/ic-layout-grid.entry.js.map +1 -0
  404. package/dist/esm/ic-link.entry.js +2 -2
  405. package/dist/esm/ic-menu-group.entry.js +2 -2
  406. package/dist/esm/ic-menu-item.entry.js +1 -1
  407. package/dist/esm/ic-navigation-button.entry.js +3 -3
  408. package/dist/esm/ic-navigation-group.entry.js +3 -3
  409. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  410. package/dist/esm/ic-navigation-item.entry.js +3 -3
  411. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  412. package/dist/esm/ic-page-header.entry.js +7 -7
  413. package/dist/esm/ic-pagination-item.entry.js +2 -2
  414. package/dist/esm/ic-pagination.entry.js +5 -5
  415. package/dist/esm/ic-popover-menu.entry.js +10 -6
  416. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  417. package/dist/esm/ic-radio-group.entry.js +5 -5
  418. package/dist/esm/ic-radio-option.entry.js +5 -5
  419. package/dist/esm/ic-search-bar.entry.js +10 -10
  420. package/dist/esm/ic-section-container.entry.js +2 -2
  421. package/dist/esm/ic-select.entry.js +7 -7
  422. package/dist/esm/ic-side-navigation.entry.js +5 -5
  423. package/dist/esm/ic-skeleton.entry.js +2 -2
  424. package/dist/esm/ic-skip-link.entry.js +2 -2
  425. package/dist/esm/ic-status-tag.entry.js +3 -3
  426. package/dist/esm/ic-step.entry.js +14 -14
  427. package/dist/esm/ic-stepper.entry.js +3 -3
  428. package/dist/esm/ic-switch.entry.js +5 -5
  429. package/dist/esm/ic-tab-context.entry.js +1 -1
  430. package/dist/esm/ic-tab-group.entry.js +3 -3
  431. package/dist/esm/ic-tab-panel.entry.js +2 -2
  432. package/dist/esm/ic-tab.entry.js +3 -3
  433. package/dist/esm/ic-text-field.entry.js +7 -7
  434. package/dist/esm/ic-theme.entry.js +2 -2
  435. package/dist/esm/ic-toast-region.entry.js +1 -1
  436. package/dist/esm/ic-toast.entry.js +5 -5
  437. package/dist/esm/ic-toast.entry.js.map +1 -1
  438. package/dist/esm/ic-toggle-button-group.entry.js +3 -3
  439. package/dist/esm/ic-toggle-button.entry.js +3 -3
  440. package/dist/esm/ic-top-navigation.entry.js +5 -5
  441. package/dist/esm/ic-typography.entry.js +3 -3
  442. package/dist/esm/index-a7a720e7.js +12 -0
  443. package/dist/esm/loader.js +1 -1
  444. package/dist/types/components/ic-action-chip/ic-action-chip.d.ts +100 -0
  445. package/dist/types/components/ic-button/ic-button.d.ts +4 -0
  446. package/dist/types/components/ic-chip/ic-chip.d.ts +2 -0
  447. package/dist/types/components/ic-layout-grid/ic-layout-grid.d.ts +56 -0
  448. package/dist/types/components/ic-layout-grid/ic-layout-grid.types.d.ts +8 -0
  449. package/dist/types/components/ic-layout-grid-item/ic-layout-grid-item.d.ts +29 -0
  450. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +4 -0
  451. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +5 -4
  452. package/dist/types/components.d.ts +343 -2
  453. package/dist/types/utils/constants.d.ts +4 -0
  454. package/dist/types/utils/helpers.d.ts +3 -3
  455. package/dist/types/utils/types.d.ts +1 -1
  456. package/hydrate/index.js +659 -278
  457. package/hydrate/index.mjs +659 -278
  458. package/package.json +2 -2
  459. package/vscode-data.json +270 -0
  460. package/dist/cjs/helpers-8217daf4.js.map +0 -1
  461. package/dist/core/p-02132a4c.entry.js +0 -2
  462. package/dist/core/p-08567369.entry.js +0 -2
  463. package/dist/core/p-08567369.entry.js.map +0 -1
  464. package/dist/core/p-0f86ea09.entry.js.map +0 -1
  465. package/dist/core/p-3194e46c.entry.js +0 -2
  466. package/dist/core/p-43b98687.entry.js +0 -2
  467. package/dist/core/p-43b98687.entry.js.map +0 -1
  468. package/dist/core/p-4b8bfb59.entry.js +0 -2
  469. package/dist/core/p-4b8bfb59.entry.js.map +0 -1
  470. package/dist/core/p-4cd83bfe.entry.js +0 -2
  471. package/dist/core/p-4cd83bfe.entry.js.map +0 -1
  472. package/dist/core/p-554c555f.entry.js +0 -2
  473. package/dist/core/p-5fb58cc8.entry.js +0 -2
  474. package/dist/core/p-5fb58cc8.entry.js.map +0 -1
  475. package/dist/core/p-627f7172.entry.js +0 -2
  476. package/dist/core/p-70abcb2b.js +0 -2
  477. package/dist/core/p-70abcb2b.js.map +0 -1
  478. package/dist/core/p-773ded36.entry.js +0 -2
  479. package/dist/core/p-7cada631.entry.js +0 -2
  480. package/dist/core/p-7cada631.entry.js.map +0 -1
  481. package/dist/core/p-939adcae.entry.js +0 -2
  482. package/dist/core/p-939adcae.entry.js.map +0 -1
  483. package/dist/core/p-97f67617.entry.js +0 -2
  484. package/dist/core/p-97f67617.entry.js.map +0 -1
  485. package/dist/core/p-c100724d.entry.js +0 -2
  486. package/dist/core/p-d85b438a.entry.js +0 -2
  487. package/dist/core/p-d85b438a.entry.js.map +0 -1
  488. package/dist/core/p-ec1657fc.entry.js +0 -2
  489. package/dist/core/p-ff47772c.entry.js +0 -2
  490. package/dist/esm/helpers-f5ff3b42.js.map +0 -1
  491. /package/dist/core/{p-06e80441.entry.js.map → p-15dbccc2.entry.js.map} +0 -0
  492. /package/dist/core/{p-91f6884a.entry.js.map → p-19cf2327.entry.js.map} +0 -0
  493. /package/dist/core/{p-4b6818d9.entry.js.map → p-1cc402b8.entry.js.map} +0 -0
  494. /package/dist/core/{p-182b7037.entry.js.map → p-1e2f40b0.entry.js.map} +0 -0
  495. /package/dist/core/{p-9d5e4b62.entry.js.map → p-21cf2beb.entry.js.map} +0 -0
  496. /package/dist/core/{p-fc5661ac.entry.js.map → p-287e5c17.entry.js.map} +0 -0
  497. /package/dist/core/{p-543b90c5.entry.js.map → p-28efe829.entry.js.map} +0 -0
  498. /package/dist/core/{p-fb6e6ac4.entry.js.map → p-2f4f392f.entry.js.map} +0 -0
  499. /package/dist/core/{p-4301e11e.entry.js.map → p-313a8a2f.entry.js.map} +0 -0
  500. /package/dist/core/{p-f4ee5fbb.entry.js.map → p-3dc54847.entry.js.map} +0 -0
  501. /package/dist/core/{p-0549305b.entry.js.map → p-3e5d7a3d.entry.js.map} +0 -0
  502. /package/dist/core/{p-ae2ea264.entry.js.map → p-41f92698.entry.js.map} +0 -0
  503. /package/dist/core/{p-9e051db4.entry.js.map → p-45dd12ee.entry.js.map} +0 -0
  504. /package/dist/core/{p-018eaee0.entry.js.map → p-493eaabb.entry.js.map} +0 -0
  505. /package/dist/core/{p-a591ef38.entry.js.map → p-4ca782eb.entry.js.map} +0 -0
  506. /package/dist/core/{p-056be0df.entry.js.map → p-4d1a3036.entry.js.map} +0 -0
  507. /package/dist/core/{p-421b5f2d.entry.js.map → p-5f68f62b.entry.js.map} +0 -0
  508. /package/dist/core/{p-d281c3cf.entry.js.map → p-5fbc8e62.entry.js.map} +0 -0
  509. /package/dist/core/{p-06b0d0f6.entry.js.map → p-6014ab64.entry.js.map} +0 -0
  510. /package/dist/core/{p-afde0edc.entry.js.map → p-661ae402.entry.js.map} +0 -0
  511. /package/dist/core/{p-a2ae5d9e.entry.js.map → p-6a576a8b.entry.js.map} +0 -0
  512. /package/dist/core/{p-b1b27b7e.entry.js.map → p-6e8ef73c.entry.js.map} +0 -0
  513. /package/dist/core/{p-2ec0d11c.entry.js.map → p-72a9909c.entry.js.map} +0 -0
  514. /package/dist/core/{p-f9491692.entry.js.map → p-742a9181.entry.js.map} +0 -0
  515. /package/dist/core/{p-152ddde9.entry.js.map → p-8a4b12e4.entry.js.map} +0 -0
  516. /package/dist/core/{p-3448c713.entry.js.map → p-8b5022bc.entry.js.map} +0 -0
  517. /package/dist/core/{p-ce916f35.entry.js.map → p-9323c234.entry.js.map} +0 -0
  518. /package/dist/core/{p-50d13439.entry.js.map → p-948f89a0.entry.js.map} +0 -0
  519. /package/dist/core/{p-ba89fa16.entry.js.map → p-9c013333.entry.js.map} +0 -0
  520. /package/dist/core/{p-b83cca09.entry.js.map → p-9eeb5e85.entry.js.map} +0 -0
  521. /package/dist/core/{p-0179fbd3.entry.js.map → p-9f36791b.entry.js.map} +0 -0
  522. /package/dist/core/{p-8a5b0fb0.entry.js.map → p-a602a8e1.entry.js.map} +0 -0
  523. /package/dist/core/{p-98869fe7.entry.js.map → p-a77364f5.entry.js.map} +0 -0
  524. /package/dist/core/{p-6b52e47f.entry.js.map → p-af9c391d.entry.js.map} +0 -0
  525. /package/dist/core/{p-77750efc.entry.js.map → p-b0d488d0.entry.js.map} +0 -0
  526. /package/dist/core/{p-cd8dab55.entry.js.map → p-b52000d9.entry.js.map} +0 -0
  527. /package/dist/core/{p-c100724d.entry.js.map → p-cf631191.entry.js.map} +0 -0
  528. /package/dist/core/{p-6dd73165.entry.js.map → p-df88ff5b.entry.js.map} +0 -0
  529. /package/dist/core/{p-bb21268f.entry.js.map → p-e652ab09.entry.js.map} +0 -0
  530. /package/dist/core/{p-29468171.entry.js.map → p-e876e47c.entry.js.map} +0 -0
  531. /package/dist/core/{p-ab1103e1.entry.js.map → p-ea778379.entry.js.map} +0 -0
  532. /package/dist/core/{p-948086f4.entry.js.map → p-ef4b5469.entry.js.map} +0 -0
  533. /package/dist/core/{p-9ed5f11d.entry.js.map → p-f6a02202.entry.js.map} +0 -0
@@ -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: 'b76a2d77d20894bcbf3bd350945e8953c9c690ef', 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: '755e5420c42800c0d436adf366afe611edd8e529' })));
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"; }
@@ -573,11 +573,8 @@ video {
573
573
  top: calc(-1 * var(--ic-space-1px));
574
574
  }
575
575
 
576
- :host(.on-dialog) .ic-tooltip-container {
577
- transform: translate(
578
- var(--tooltip-translate-x),
579
- var(--tooltip-translate-y)
580
- ) !important;
576
+ :host(.ic-tooltip-on-dialog) {
577
+ display: inline-block;
581
578
  }
582
579
 
583
580
  @media screen and (max-width: 576px) {
@@ -4,11 +4,9 @@ import { onComponentRequiredPropUndefined } from "../../utils/helpers";
4
4
  export class Tooltip {
5
5
  constructor() {
6
6
  this.delayedHideEvents = ["mouseleave"];
7
- this.dialogOverflow = false;
8
7
  this.instantHideEvents = ["focusout"];
9
8
  this.mouseOverTool = false;
10
9
  this.persistTooltip = false;
11
- this.onDialog = false;
12
10
  this.showEvents = [
13
11
  !this.disableHover && "mouseenter",
14
12
  !this.disableHover && "focusin",
@@ -22,6 +20,10 @@ export class Tooltip {
22
20
  * If `true`, the tooltip will not be displayed on hover, it will require a click.
23
21
  */
24
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;
25
27
  /**
26
28
  * The position of the tooltip in relation to the parent element.
27
29
  */
@@ -35,78 +37,13 @@ export class Tooltip {
35
37
  */
36
38
  this.theme = "inherit";
37
39
  this.popperProps = {};
38
- this.getTooltipTranslate = (dialogEl) => {
39
- const child = this.el.children[0].getBoundingClientRect();
40
- let tooltipX;
41
- let tooltipY;
42
- switch (this.placement) {
43
- case "bottom":
44
- tooltipX = child.left - dialogEl.left - 0.5 * child.width;
45
- tooltipY = child.bottom - dialogEl.top;
46
- break;
47
- case "bottom-start":
48
- tooltipX = child.left - dialogEl.left;
49
- tooltipY = child.bottom - dialogEl.top;
50
- break;
51
- case "bottom-end":
52
- tooltipX = child.right - dialogEl.right;
53
- tooltipY = child.bottom - dialogEl.top;
54
- break;
55
- case "top":
56
- tooltipX = child.left - dialogEl.left - 0.5 * child.width;
57
- tooltipY = child.top - dialogEl.bottom;
58
- break;
59
- case "top-start":
60
- tooltipX = child.left - dialogEl.left;
61
- tooltipY = child.top - dialogEl.bottom;
62
- break;
63
- case "top-end":
64
- tooltipX = child.right - dialogEl.right;
65
- tooltipY = child.top - dialogEl.bottom;
66
- break;
67
- case "left":
68
- case "left-start":
69
- tooltipX = child.right - dialogEl.right - child.width;
70
- tooltipY = child.bottom - dialogEl.top - child.height;
71
- break;
72
- case "left-end":
73
- tooltipX = child.right - dialogEl.right - child.width;
74
- tooltipY = child.top - dialogEl.bottom + child.height;
75
- break;
76
- case "right":
77
- case "right-start":
78
- tooltipX = child.left - dialogEl.left + child.width;
79
- tooltipY = child.bottom - dialogEl.top - child.height;
80
- break;
81
- case "right-end":
82
- tooltipX = child.left - dialogEl.left + child.width;
83
- tooltipY = child.top - dialogEl.bottom + child.height;
84
- break;
85
- }
86
- if (this.dialogOverflow && tooltipX && tooltipX < 0) {
87
- if (this.placement.includes("top") ||
88
- this.placement.includes("bottom")) {
89
- this.toolTip.style.setProperty("--tooltip-arrow-translate", `${tooltipX}px`);
90
- tooltipX = child.left - dialogEl.left;
91
- }
92
- if (this.placement.includes("left")) {
93
- this.placement = "right";
94
- tooltipX = child.left - dialogEl.left + child.width;
95
- }
96
- }
97
- this.toolTip.style.setProperty("--tooltip-translate-x", `${tooltipX}px`);
98
- this.toolTip.style.setProperty("--tooltip-translate-y", `${tooltipY}px`);
99
- };
100
40
  this.show = () => {
101
- var _a, _b, _c;
102
41
  if (this.label) {
103
42
  this.toolTip.setAttribute("data-show", "");
104
- if (this.onDialog) {
105
- this.el.classList.add("on-dialog");
106
- const dialogEl = (_c = (_b = (_a = this.icDialogEl) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector("dialog")) === null || _c === void 0 ? void 0 : _c.getBoundingClientRect();
107
- dialogEl && this.getTooltipTranslate(dialogEl);
43
+ if (this.dialogContentArea) {
44
+ this.el.classList.add("ic-tooltip-on-dialog");
108
45
  }
109
- 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: [
110
47
  {
111
48
  name: "offset",
112
49
  options: {
@@ -123,6 +60,23 @@ export class Tooltip {
123
60
  name: "eventListeners",
124
61
  options: { scroll: false, resize: false },
125
62
  },
63
+ ...(this.dialogContentArea
64
+ ? [
65
+ {
66
+ name: "preventOverflow",
67
+ options: {
68
+ boundary: this.dialogContentArea,
69
+ padding: 8,
70
+ },
71
+ },
72
+ {
73
+ name: "flip",
74
+ options: {
75
+ boundary: this.dialogContentArea,
76
+ },
77
+ },
78
+ ]
79
+ : []),
126
80
  ] }, this.popperProps));
127
81
  }
128
82
  else {
@@ -220,12 +174,17 @@ export class Tooltip {
220
174
  }
221
175
  }
222
176
  componentDidLoad() {
223
- var _a;
177
+ var _a, _b;
224
178
  this.manageEventListeners("add");
225
- this.icDialogEl = this.el.closest("ic-dialog");
226
- this.dialogOverflow =
227
- ((_a = this.icDialogEl) === null || _a === void 0 ? void 0 : _a.getAttribute("data-overflow")) === "true";
228
- this.onDialog = this.icDialogEl !== null;
179
+ let dialog;
180
+ if (this.el.getRootNode().host) {
181
+ dialog = this.el.getRootNode().host.closest("ic-dialog");
182
+ }
183
+ else {
184
+ dialog = this.el.closest("ic-dialog");
185
+ }
186
+ this.dialogContentArea =
187
+ (_b = (_a = dialog === null || dialog === void 0 ? void 0 : dialog.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(".content-area")) !== null && _b !== void 0 ? _b : null;
229
188
  onComponentRequiredPropUndefined([{ prop: this.label, propName: "label" }], "Tooltip");
230
189
  }
231
190
  componentDidRender() {
@@ -252,10 +211,10 @@ export class Tooltip {
252
211
  }
253
212
  render() {
254
213
  const { label, maxLines, silent, theme } = this;
255
- return (h(Host, { key: 'b74dcdc9aef3ccb3442da3e59dbc4eedd67b7c34', class: {
214
+ return (h(Host, { key: '87f3bd48a10c5b2a9238773960171629d6661602', class: {
256
215
  "ic-tooltip": true,
257
216
  [`ic-theme-${theme}`]: theme !== "inherit",
258
- } }, h("div", { key: '125643a0b41e40399b337e82b3745d59a630c723', ref: (el) => (this.toolTip = el), role: "tooltip", class: "ic-tooltip-container", "aria-hidden": `${silent}` }, h("ic-typography", { key: '5db777ac8f6a7c414c0f46004827ff54efd5c011', maxLines: maxLines, variant: "caption" }, label), h("div", { key: 'd1d160835da2227e0b15fca3ae66ccdaf77b60fb', ref: (el) => (this.arrow = el), class: "ic-tooltip-arrow" })), h("slot", { key: '5726e244c1e16e66e36dfd7e4fcc73c12d742b02' })));
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' })));
259
218
  }
260
219
  static get is() { return "ic-tooltip"; }
261
220
  static get encapsulation() { return "shadow"; }
@@ -311,6 +270,26 @@ export class Tooltip {
311
270
  "reflect": false,
312
271
  "defaultValue": "false"
313
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
+ },
314
293
  "maxLines": {
315
294
  "type": "number",
316
295
  "mutable": false,
@@ -332,7 +311,7 @@ export class Tooltip {
332
311
  },
333
312
  "placement": {
334
313
  "type": "string",
335
- "mutable": true,
314
+ "mutable": false,
336
315
  "complexType": {
337
316
  "original": "IcTooltipPlacements",
338
317
  "resolved": "\"bottom\" | \"bottom-end\" | \"bottom-start\" | \"left\" | \"left-end\" | \"left-start\" | \"right\" | \"right-end\" | \"right-start\" | \"top\" | \"top-end\" | \"top-start\" | undefined",
@@ -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 dialogOverflow = false;\n private icDialogEl: HTMLIcDialogElement | null;\n private instantHideEvents = [\"focusout\"];\n private mouseOverTool: boolean = false;\n private persistTooltip = false;\n private popperInstance: Instance;\n private onDialog: boolean = false;\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({ mutable: true }) 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 this.icDialogEl = this.el.closest(\"ic-dialog\");\n this.dialogOverflow =\n this.icDialogEl?.getAttribute(\"data-overflow\") === \"true\";\n\n this.onDialog = this.icDialogEl !== 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 getTooltipTranslate = (dialogEl: DOMRect) => {\n const child = this.el.children[0].getBoundingClientRect();\n let tooltipX;\n let tooltipY;\n switch (this.placement) {\n case \"bottom\":\n tooltipX = child.left - dialogEl.left - 0.5 * child.width;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"bottom-start\":\n tooltipX = child.left - dialogEl.left;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"bottom-end\":\n tooltipX = child.right - dialogEl.right;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"top\":\n tooltipX = child.left - dialogEl.left - 0.5 * child.width;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"top-start\":\n tooltipX = child.left - dialogEl.left;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"top-end\":\n tooltipX = child.right - dialogEl.right;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"left\":\n case \"left-start\":\n tooltipX = child.right - dialogEl.right - child.width;\n tooltipY = child.bottom - dialogEl.top - child.height;\n break;\n case \"left-end\":\n tooltipX = child.right - dialogEl.right - child.width;\n tooltipY = child.top - dialogEl.bottom + child.height;\n break;\n case \"right\":\n case \"right-start\":\n tooltipX = child.left - dialogEl.left + child.width;\n tooltipY = child.bottom - dialogEl.top - child.height;\n break;\n case \"right-end\":\n tooltipX = child.left - dialogEl.left + child.width;\n tooltipY = child.top - dialogEl.bottom + child.height;\n break;\n }\n if (this.dialogOverflow && tooltipX && tooltipX < 0) {\n if (\n this.placement!.includes(\"top\") ||\n this.placement!.includes(\"bottom\")\n ) {\n this.toolTip.style.setProperty(\n \"--tooltip-arrow-translate\",\n `${tooltipX}px`\n );\n tooltipX = child.left - dialogEl.left;\n }\n if (this.placement!.includes(\"left\")) {\n this.placement = \"right\";\n tooltipX = child.left - dialogEl.left + child.width;\n }\n }\n\n this.toolTip.style.setProperty(\"--tooltip-translate-x\", `${tooltipX}px`);\n this.toolTip.style.setProperty(\"--tooltip-translate-y\", `${tooltipY}px`);\n };\n\n private show = () => {\n if (this.label) {\n this.toolTip.setAttribute(\"data-show\", \"\");\n\n if (this.onDialog) {\n this.el.classList.add(\"on-dialog\");\n const dialogEl = this.icDialogEl?.shadowRoot\n ?.querySelector(\"dialog\")\n ?.getBoundingClientRect();\n\n dialogEl && this.getTooltipTranslate(dialogEl);\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 ],\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":"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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 * 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"
@@ -211,16 +211,16 @@ export class TopNavigation {
211
211
  const attrs = Component == "a" && {
212
212
  href: href,
213
213
  };
214
- return (h(Host, { key: '04ae428a97e2c58967096b74d112eaff245f8dff', class: {
214
+ return (h(Host, { key: 'b0d2e6aebeb66ddb4ca659cfba83e2cdbd6ec3f4', class: {
215
215
  "fullwidth-searchbar": hasFullWidthSearchBar,
216
216
  "mobile-mode": overMobileBreakpoint,
217
217
  [IcBrandForegroundEnum.Dark]: foregroundColor === IcBrandForegroundEnum.Dark,
218
218
  [`ic-theme-${theme}`]: theme !== "inherit",
219
- } }, h("div", { key: '567b43f0ff4239ec947520f1b3cfdca5f248a273', class: "top-navigation" }, h("ic-section-container", { key: 'de93c750d52edcafbf52b45f35adeb6547a68b7b', aligned: contentAligned, "full-height": true }, h("header", { key: '70f3227f015418d9fa82e64786a0b6c9543b3bee', role: "banner" }, h("div", { key: 'cd42a8c33f9baef9566f2fea19d3e9462f4e067a', class: "top-panel-container" }, h("div", { key: '192dbc95a46ffb8d06a7f55258e791a149003bd4', class: "app-details-container" }, (hasTitle || hasAppTitleSlot) && (h(Component, Object.assign({ key: '434d3d4de2d251752145200352425032692fc1cd', class: "title-link" }, attrs), hasAppIcon && (h("div", { key: '6f3d2089eb16b717946baa082706beb46f04657d', class: "app-icon-container" }, h("slot", { key: '0daa4b46d9e2d72aa1c68e62279e5a3389ec3ab2', name: "app-icon" }))), isSmallDeviceSize &&
219
+ } }, h("div", { key: '4a4576c41289fc356d5cfd4e0414901bd8d21a88', class: "top-navigation" }, h("ic-section-container", { key: 'ec7aa4c1ce015f80c3850c2eba3b1e6b6d00c475', aligned: contentAligned, "full-height": true }, h("header", { key: 'b388f01d5e3084e0530dcc5b460d773b8f51d1f2', role: "banner" }, h("div", { key: 'a733f85700e1abccdf8aeceb97198359c53f9960', class: "top-panel-container" }, h("div", { key: '948679467aee550281cdec8c5e43c6d5b4e7fd29', class: "app-details-container" }, (hasTitle || hasAppTitleSlot) && (h(Component, Object.assign({ key: '4054a371178c53cf2794e7a9a653575b95a9354c', class: "title-link" }, attrs), hasAppIcon && (h("div", { key: '11616acef1f4ff274320f24da803eab7cc52fa1d', class: "app-icon-container" }, h("slot", { key: 'b36a9b7f67c72851dd11fd8f356a6735f4676814', name: "app-icon" }))), isSmallDeviceSize &&
220
220
  (!isEmptyString(shortAppTitle) || shortAppTitleSlot) ? (h("ic-typography", { variant: "subtitle-small", "aria-label": (!hasAppTitleSlot || !shortAppTitleSlot) &&
221
- `${appTitle} (${shortAppTitle})` }, h("h1", null, shortAppTitleSlot ? (h("slot", { name: "short-app-title" })) : (shortAppTitle)))) : (h("ic-typography", { variant: appTitleVariant }, h("h1", { class: "title-wrap" }, hasAppTitleSlot ? (h("slot", { name: "app-title" })) : (appTitle)))))), hasStatus && (h("div", { key: '83a440ebcedf586a87690b57ea9ecfce1495ceb7', class: "app-status" }, h("ic-typography", { key: '0889ee69e31b3665821b286915a43e253fd66c1a', "aria-label": "app tag", variant: "label-uppercase", class: "app-status-text" }, status))), hasVersion && (h("div", { key: '542d3f22383d5bac8eda47fcd47ef694f054929b', class: "app-version" }, h("ic-typography", { key: '0ed2b7209b4f03da9d462ac1406d3530696b702c', variant: "label", class: "app-version-text", "aria-label": "app version" }, version)))), (hasSearchSlotContent || hasMenuContent) && (h("div", { key: 'dbc3439b52e9d9257fc1c98ad50e25e92140ceca', class: "search-menu-container" }, h("div", { key: '3f5b5d05659459daab6d0bcbd69dd0ac70eae0f8', class: "search-actions-container" }, !overMobileBreakpoint ? (h(Fragment, null, h("slot", { name: "search" }), hasIconButtons && (h("div", { class: "icon-buttons-container" }, h("slot", { name: "buttons" }))))) : (h(Fragment, null, hasSearchSlotContent && (h("ic-button", { id: "search-toggle-button", ref: (el) => (this.mobileSearchButtonEl = el), onMouseDown: searchButtonMouseDownHandler, variant: "icon-tertiary", monochrome: true, size: searchButtonSize, "aria-label": mobileSearchButtonTitle, theme: foregroundColor, onClick: searchButtonClickHandler }, h("slot", { name: "toggle-icon" }, h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#ffffff" }, h("path", { d: "M0 0h24v24H0V0z", fill: "none" }), h("path", { d: "M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" }))))), hasMenuContent && (h("div", { class: "menu-button-container" }, h("span", { id: "navigation-landmark-button-text", class: "navigation-landmark-button-text", "aria-hidden": "true" }, "Main navigation button"), h("nav", { "aria-labelledby": "navigation-landmark-button-text", "aria-hidden": `${navMenuVisible}` }, h("ic-button", { id: "menu-button", ref: (el) => (this.menuButtonEl = el), theme: foregroundColor, variant: "secondary", monochrome: true, "aria-expanded": "false", "aria-haspopup": "true", "aria-label": `Open ${hasNavigation ? "navigation" : "app"} menu`, size: menuSize, onClick: menuButtonClick }, "Menu", h("svg", { xmlns: "http://www.w3.org/2000/svg", height: "24px", viewBox: "0 0 24 24", width: "24px", fill: "#ffffff", slot: "left-icon" }, h("path", { d: "M0 0h24v24H0V0z", fill: "none" }), h("path", { d: "M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" })))))))))))), mobileSearchBarVisible && (h("div", { key: 'b3f55a4e18ef3c55503b56447d5fbeb19e569a4f', class: "search-bar-container" }, h("slot", { key: '99ebca2aa04bf76d949384c517dc2012312dbd92', name: "search" }))), hasNavigation && !overMobileBreakpoint && (h("div", { key: '6113dfcd92cf06c1f9a533ec6c2f0af3d26abca7', class: "navigation-tabs" }, h("span", { key: 'fa638d34955dccbdb7a8f149e0a8e083e3df0f72', id: "navigation-landmark-text", class: "navigation-landmark-text", "aria-hidden": "true" }, "Main pages"), h("nav", { key: 'fc6e24c76b720a463e81dbbe00c91a065bb260ea', "aria-labelledby": "navigation-landmark-text", class: "nav-panel-container" }, h("ic-horizontal-scroll", { key: 'da133fd91d91ff172067fc9aad86651a4c3a2f95', monochrome: true, appearance: foregroundColor }, h("ul", { key: 'f48330caa3937f35f2f65a3fbad830bda2b5c342', class: "navigation-item-list", tabindex: "-1" }, h("slot", { key: '74eb909d405109d5387f42e00a633e8ed09ff6f6', name: "navigation" }))))))))), navMenuVisible && (h("ic-navigation-menu", { key: 'c77d988d1af3ac37eebb5d598b5f649f1d47c899', version: version, status: status, class: {
221
+ `${appTitle} (${shortAppTitle})` }, h("h1", null, shortAppTitleSlot ? (h("slot", { name: "short-app-title" })) : (shortAppTitle)))) : (h("ic-typography", { variant: appTitleVariant }, h("h1", { class: "title-wrap" }, hasAppTitleSlot ? (h("slot", { name: "app-title" })) : (appTitle)))))), hasStatus && (h("div", { key: '42f5c01069f02f82abd34b4a540050154bdafec5', class: "app-status" }, h("ic-typography", { key: '6052ad2c828b533ec121ee45d71c0afcdaae0622', "aria-label": "app tag", variant: "label-uppercase", class: "app-status-text" }, status))), hasVersion && (h("div", { key: '173b8c98351d425e843aae093902b91feaa7fd05', class: "app-version" }, h("ic-typography", { key: 'f46ecb51ac2c1f2c01beabf4590ac76681d94733', variant: "label", class: "app-version-text", "aria-label": "app version" }, version)))), (hasSearchSlotContent || hasMenuContent) && (h("div", { key: '8f85b0505a04f7a3affb88ceaa81fe9eccd72ea1', class: "search-menu-container" }, h("div", { key: 'ff332cfc554fef6856becd5fb87b9f315565bc1e', class: "search-actions-container" }, !overMobileBreakpoint ? (h(Fragment, null, h("slot", { name: "search" }), hasIconButtons && (h("div", { class: "icon-buttons-container" }, h("slot", { name: "buttons" }))))) : (h(Fragment, null, hasSearchSlotContent && (h("ic-button", { id: "search-toggle-button", ref: (el) => (this.mobileSearchButtonEl = el), onMouseDown: searchButtonMouseDownHandler, variant: "icon-tertiary", monochrome: true, size: searchButtonSize, "aria-label": mobileSearchButtonTitle, theme: foregroundColor, onClick: searchButtonClickHandler }, h("slot", { name: "toggle-icon" }, h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#ffffff" }, h("path", { d: "M0 0h24v24H0V0z", fill: "none" }), h("path", { d: "M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" }))))), hasMenuContent && (h("div", { class: "menu-button-container" }, h("span", { id: "navigation-landmark-button-text", class: "navigation-landmark-button-text", "aria-hidden": "true" }, "Main navigation button"), h("nav", { "aria-labelledby": "navigation-landmark-button-text", "aria-hidden": `${navMenuVisible}` }, h("ic-button", { id: "menu-button", ref: (el) => (this.menuButtonEl = el), theme: foregroundColor, variant: "secondary", monochrome: true, "aria-expanded": "false", "aria-haspopup": "true", "aria-label": `Open ${hasNavigation ? "navigation" : "app"} menu`, size: menuSize, onClick: menuButtonClick }, "Menu", h("svg", { xmlns: "http://www.w3.org/2000/svg", height: "24px", viewBox: "0 0 24 24", width: "24px", fill: "#ffffff", slot: "left-icon" }, h("path", { d: "M0 0h24v24H0V0z", fill: "none" }), h("path", { d: "M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" })))))))))))), mobileSearchBarVisible && (h("div", { key: 'ef7c477979320e20293484f6594eb89a38973540', class: "search-bar-container" }, h("slot", { key: 'b19e53fc019ff1d16c0da99d7d38bc6428dd7cc8', name: "search" }))), hasNavigation && !overMobileBreakpoint && (h("div", { key: 'bdd8f9b982328135f06fc010828bbf0dc803a788', class: "navigation-tabs" }, h("span", { key: 'e231e5a002a04ff6275aa2d6a39c66d83787367a', id: "navigation-landmark-text", class: "navigation-landmark-text", "aria-hidden": "true" }, "Main pages"), h("nav", { key: '201327e158e97d601a8fb93b8174af6091bd0295', "aria-labelledby": "navigation-landmark-text", class: "nav-panel-container" }, h("ic-horizontal-scroll", { key: 'df8f402d0da993079b7378292cba17e85259c53c', monochrome: true, appearance: foregroundColor }, h("ul", { key: '22aa05880499690dcd43572705234bdb6fd386b0', class: "navigation-item-list", tabindex: "-1" }, h("slot", { key: 'effb669cef379880d7b45ca4e74ef096c10a1afb', name: "navigation" }))))))))), navMenuVisible && (h("ic-navigation-menu", { key: 'a0a45fb9db2ea99414cdc2570f6c9697a96f01ad', version: version, status: status, class: {
222
222
  inline,
223
- } }, hasIconButtons && (h("div", { key: '77d9283a5fdffa724e13f667e9d09ae72f72329e', class: "menu-buttons-slot", slot: "buttons" }, h("slot", { key: '020b485ca53e55926b072738ab7dcb465f1efce5', name: "buttons" }))), h("ul", { key: '16101ca81c95d2de0d55c7a051ccffd5a987f5f8', slot: "navigation" }, h("slot", { key: '02bde8c67591e4c2c15d005252f1f7ae87cff61a', name: "navigation" }))))));
223
+ } }, hasIconButtons && (h("div", { key: '8c74bfd6c807022ccb315bd4718fa8a521fb08ae', class: "menu-buttons-slot", slot: "buttons" }, h("slot", { key: '1720467597b353122e907f7c83e1f9e0ef62c9ad', name: "buttons" }))), h("ul", { key: 'ccdc85df3febad2d603caeccafbd675be4d3d9a2', slot: "navigation" }, h("slot", { key: '1f465185f8937c81b279e8823127e0e8bc7d6841', name: "navigation" }))))));
224
224
  }
225
225
  static get is() { return "ic-top-navigation"; }
226
226
  static get encapsulation() { return "shadow"; }
@@ -163,7 +163,7 @@ export class Typography {
163
163
  render() {
164
164
  var _a, _b;
165
165
  const { variant, applyVerticalMargins, maxLines, truncated, expanded, strikethrough, underline, italic, bold, theme, } = this;
166
- return (h(Host, { key: 'f3ae0024474b949d4cd79a2d626524a08f0a83f9', class: {
166
+ return (h(Host, { key: '0f64ad9e02b32790b2bc269df212468b2f9426f7', class: {
167
167
  [`ic-typography-${variant}`]: true,
168
168
  [`ic-typography-vertical-margins-${variant}`]: !!applyVerticalMargins,
169
169
  ["ic-typography-bold"]: !!bold,
@@ -176,7 +176,7 @@ export class Typography {
176
176
  ((_b = (_a = this.el.getRootNode()) === null || _a === void 0 ? void 0 : _a.host) === null || _b === void 0 ? void 0 : _b.tagName) ===
177
177
  "IC-TOOLTIP") &&
178
178
  maxLines &&
179
- maxLines > 0 ? (h("div", { class: "trunc-wrapper", ref: (el) => (this.truncWrapperEl = el) }, h("slot", null))) : (h("slot", null)), variant === "body" && maxLines && maxLines > 0 && truncated && (h("button", { key: 'ab55fb9e3b5d0ed50a99d8f194fe0e9436de1613', class: { "trunc-btn": true, focus: this.truncButtonFocussed }, onFocus: this.truncButtonFocus, onBlur: this.truncButtonBlur, onMouseDown: this.truncButtonFocusFromMouse, onClick: this.toggleExpanded }, expanded ? "See less" : "See more"))));
179
+ maxLines > 0 ? (h("div", { class: "trunc-wrapper", ref: (el) => (this.truncWrapperEl = el) }, h("slot", null))) : (h("slot", null)), variant === "body" && maxLines && maxLines > 0 && truncated && (h("button", { key: '3e5f7e8b549122986d1dc67fe35b5e270233eb71', class: { "trunc-btn": true, focus: this.truncButtonFocussed }, onFocus: this.truncButtonFocus, onBlur: this.truncButtonBlur, onMouseDown: this.truncButtonFocusFromMouse, onClick: this.toggleExpanded }, expanded ? "See less" : "See more"))));
180
180
  }
181
181
  static get is() { return "ic-typography"; }
182
182
  static get encapsulation() { return "shadow"; }
@@ -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;