@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
@@ -1 +1 @@
1
- {"version":3,"file":"ic-button.js","sourceRoot":"","sources":["../../../src/components/ic-button/ic-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Method,\n Prop,\n State,\n forceUpdate,\n h,\n Watch,\n Fragment,\n} from \"@stencil/core\";\n\nimport {\n getBrandFromContext,\n inheritAttributes,\n isSlotUsed,\n removeDisabledFalse,\n renderFileHiddenInput,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport { IcButtonTypes, IcButtonVariants } from \"./ic-button.types\";\nimport {\n IcSizes,\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundEnum,\n IcThemeMode,\n IcButtonTooltipPlacement,\n IcIconPlacementOptions,\n} from \"../../utils/types\";\nimport arrowDropdown from \"../../assets/arrow-dropdown.svg\";\n\nlet buttonIds = 0;\n\n/**\n * @slot left-icon - Content will be placed to the left of the button label.\n * @slot right-icon - Content will be placed to the right of the button label.\n * @slot top-icon - Content will be placed above the button label.\n * @slot badge - Badge component overlaying the top right of the button.\n * @slot router-item - Handle routing by nesting your routes in this slot. Setting loading to true will have no impact on this slot.\n */\n@Component({\n tag: \"ic-button\",\n styleUrl: \"ic-button.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Button {\n private buttonEl?: HTMLElement;\n private buttonIdNum = buttonIds++;\n private hasTooltip = false;\n private id: string | null;\n private inheritedAttributes: { [k: string]: string } = {};\n private describedbyEl: HTMLElement | null = null;\n private describedById?: string;\n private mutationObserver: MutationObserver | null = null;\n private hostMutationObserver: MutationObserver | null = null;\n private routerSlot: HTMLElement | null;\n\n @Element() el: HTMLIcButtonElement;\n\n @State() ariaLabel = \"\";\n @State() describedByContent? = \"\";\n @State() title = \"\";\n\n /**\n * If `fileUpload` is set to `true`, this is the accepted list of file types.\n */\n @Prop() accept = \"*\";\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaControlsId?: string | boolean;\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaOwnsId?: string | boolean;\n\n /**\n * If `true`, the button will be in disabled state.\n */\n @Prop() disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the ic-tooltip which is shown for icon variant will be disabled. Title or aria-label must be set if this prop is not applied.\n */\n @Prop() disableTooltip = false;\n\n /**\n * If `true`, the user can save the linked URL instead of navigating to it.\n */\n @Prop() download: string | boolean = false;\n\n /**\n * If `true`, the button will show a dropdown icon.\n */\n @Prop() dropdown = false;\n\n /**\n * If `true`, the aria-expanded value will be set to true. This is only applied if the dropdown prop is also true.\n */\n @Prop({ mutable: true, reflect: true }) dropdownExpanded = false;\n\n /**\n * If `true`, when the button is clicked the native file explorer will be launched.\n */\n @Prop() fileUpload = false;\n\n /**\n * The name of the control for the file input, which is submitted with the form data.\n */\n @Prop() fileInputName = `ic-button-file-upload-input-${buttonIds++}`;\n\n /**\n * The <form> element to associate the button with.\n */\n @Prop() form?: string;\n\n /**\n * The URL that processes the information submitted by the button. It overrides the action attribute of the button's form owner. Does nothing if there is no form owner.\n */\n @Prop() formaction?: string;\n\n /**\n * The way the submitted form data is encoded.\n */\n @Prop() formenctype?: string;\n\n /**\n * The HTTP method used to submit the form.\n */\n @Prop() formmethod?: string;\n\n /**\n * If `true`, the form will not be validated when submitted.\n */\n @Prop() formnovalidate?: boolean;\n\n /**\n * The place to display the response from submitting the form. It overrides the target attribute of the button's form owner.\n */\n @Prop() formtarget?: string;\n\n /**\n * If `true`, the button will fill the width of the container.\n */\n @Prop() fullWidth = false;\n\n /**\n * The URL that the link points to. This will render the button as an \"a\" tag.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n\n /**\n * If `true`, the button will be in loading state.\n */\n @Prop() loading = false;\n\n /**\n * If `true`, the button will display as monochromatic in either `light` or `dark` theme.\n */\n @Prop({ mutable: true }) monochrome = false;\n\n /**\n * If `fileUpload` is set to `true`, this boolean determines whether multiple files are accepted.\n */\n @Prop() multiple = false;\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The list of the files that have been selected by a user.\n */\n @Prop() selectedFiles?: FileList;\n\n /**\n * The size of the button to be displayed.\n */\n @Prop() size: IcSizes = \"medium\";\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop({ mutable: true }) theme: IcThemeMode = \"inherit\";\n\n /**\n * The position of the tooltip in relation to the button.\n */\n @Prop() tooltipPlacement: IcButtonTooltipPlacement = \"bottom\";\n\n /**\n * If `true`, the secondary & tertiary variants of button will have a transparent background when not hovered, pressed or loading.\n */\n @Prop() transparentBackground = true;\n\n /**\n * The type of the button.\n */\n @Prop() type: IcButtonTypes = \"button\";\n\n /**\n * The variant of the button to be displayed.\n */\n @Prop() variant: IcButtonVariants = \"primary\";\n\n /**\n * Emitted when button has blur\n */\n @Event() icBlur!: EventEmitter<void>;\n\n /**\n * If `fileUpload` is set to `true`, this will be emitted when a file is selected in the native explorer.\n */\n @Event() icFileSelection!: EventEmitter<FileList>;\n\n /**\n * Emitted when button has focus\n */\n @Event() icFocus!: EventEmitter<void>;\n\n disconnectedCallback(): void {\n this.mutationObserver?.disconnect();\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillUpdate(): void {\n if (this.loading) {\n this.el.style.setProperty(\n \"--min-width\",\n `${this.el.getBoundingClientRect().width}px`\n );\n }\n this.setHasTooltip();\n }\n\n componentWillLoad(): void {\n const {\n title,\n \"aria-label\": ariaLabel,\n ...restInheritedAttributes\n } = inheritAttributes(this.el, [...IC_INHERITED_ARIA, \"title\"]);\n\n this.title = title;\n this.ariaLabel = ariaLabel;\n this.inheritedAttributes = restInheritedAttributes;\n\n removeDisabledFalse(this.disabled, this.el);\n\n this.el.setAttribute(\"exportparts\", \"button\");\n\n this.id = this.el.id || null;\n this.setHasTooltip();\n\n if (!this.hasTooltip) {\n const describedById = this.inheritedAttributes[\"aria-describedby\"];\n if (describedById) {\n this.describedById = describedById;\n const el = this.el.parentElement?.querySelector<HTMLElement>(\n `#${describedById}`\n );\n if (el) {\n this.describedByContent = el.innerText;\n this.describedbyEl = el;\n }\n }\n }\n }\n\n componentDidLoad(): void {\n this.updateTheme();\n\n if (typeof MutationObserver !== \"undefined\") {\n if (this.describedbyEl && this.describedById) {\n this.mutationObserver = new MutationObserver(this.mutationCallback);\n this.mutationObserver.observe(this.describedbyEl, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n }\n\n this.hostMutationObserver = new MutationObserver(\n this.hostMutationCallback\n );\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n });\n\n if (this.hasRouterSlot()) this.arrangeRouterItem();\n }\n }\n\n componentWillRender(): void {\n const iconEl = this.getSlottedIcon(\"left\") || this.getSlottedIcon(\"right\");\n iconEl?.setAttribute(\"viewBox\", \"0 0 24 24\");\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (!this.hasRouterSlot()) {\n if (this.fileUpload) {\n renderFileHiddenInput(\n this.icFileSelection,\n this.el,\n !!this.multiple,\n !!this.disabled,\n this.accept,\n this.fileInputName,\n this.selectedFiles\n );\n }\n if (this.disabled || this.loading) {\n event.stopImmediatePropagation();\n }\n if (this.dropdown) {\n this.dropdownExpanded = !this.dropdownExpanded;\n }\n }\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler({ detail }: CustomEvent<IcBrand>): void {\n this.updateTheme(detail.mode);\n }\n\n /**\n * Sets focus on the native `button`.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.buttonEl?.focus();\n }\n\n private async closeButtonTooltip(ev: KeyboardEvent) {\n const tooltip = this.el.shadowRoot?.querySelector(\"ic-tooltip\");\n if (tooltip && (await tooltip.isTooltipVisible())) {\n tooltip.displayTooltip(false);\n ev.preventDefault();\n ev.stopImmediatePropagation();\n }\n }\n\n private getSlottedIcon = (position: IcIconPlacementOptions) =>\n this.el.querySelector(`[slot=\"${position}-icon\"]`);\n\n private hasRouterSlot() {\n this.routerSlot = this.el.querySelector('[slot=\"router-item\"]');\n if (this.routerSlot) {\n this.routerSlot.ariaLabel = this.routerSlot.textContent;\n }\n return !!this.routerSlot;\n }\n\n private handleClick = () => {\n if (\n (this.el.type === \"submit\" || this.el.type === \"reset\") &&\n !this.hasRouterSlot() &&\n !!this.el.closest(\"FORM\")\n ) {\n const hiddenFormButton = document.createElement(\"button\");\n\n hiddenFormButton.setAttribute(\"type\", this.el.type);\n hiddenFormButton.style.display = \"none\";\n\n this.el.closest(\"FORM\")?.appendChild(hiddenFormButton);\n\n hiddenFormButton.click();\n hiddenFormButton.remove();\n }\n };\n\n private handleKeyDown = (ev: KeyboardEvent) => {\n if (ev.key === \"Escape\" && this.hasTooltip) {\n this.closeButtonTooltip(ev);\n }\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = () => {\n this.icBlur.emit();\n };\n\n private updateTheme(mode: IcBrandForeground | null = null) {\n const foregroundColor = getBrandFromContext(this.el, mode);\n if (foregroundColor !== IcBrandForegroundEnum.Default) {\n this.theme =\n foregroundColor === IcBrandForegroundEnum.Light\n ? IcBrandForegroundEnum.Dark\n : IcBrandForegroundEnum.Light;\n this.monochrome = true;\n }\n }\n\n /**\n * Triggered when text content of sibling element in light DOM changes\n */\n private mutationCallback = () => {\n this.describedByContent = this.describedbyEl?.innerText;\n };\n\n /**\n * Triggered when attributes of host element change\n * @param mutationList the list of changes made to the host element\n */\n private hostMutationCallback = (mutationList: MutationRecord[]) => {\n let forceComponentUpdate = false;\n mutationList.forEach(({ attributeName }) => {\n if (attributeName) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute) {\n if (attributeName === \"title\") this.title = attribute;\n else if (attributeName === \"aria-label\") this.ariaLabel = attribute;\n\n if (IC_INHERITED_ARIA.includes(attributeName)) {\n this.inheritedAttributes[attributeName] = attribute;\n forceComponentUpdate = true;\n }\n }\n }\n });\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n private setHasTooltip = () => {\n this.hasTooltip =\n !this.disableTooltip && (!!this.title || !!this.isIconVariant());\n };\n\n private isIconVariant = () => this.variant.startsWith(\"icon\");\n\n private arrangeRouterItem = () => {\n const setStyles = (\n element: HTMLElement | SVGElement,\n styles: { [key: string]: string }\n ) => {\n Object.entries(styles).forEach(([key, value]) => {\n element.style.setProperty(key, value);\n });\n };\n\n if (this.routerSlot) {\n const icTypography = document.createElement(\"ic-typography\");\n\n setStyles(icTypography, {\n \"font-family\": \"var(--ic-font-body-family)\",\n \"font-size\": \"0.875rem\",\n \"font-weight\": \"600\",\n });\n setStyles(this.routerSlot, {\n gap: \"0\",\n });\n\n const icon = this.routerSlot.querySelector(\"svg\");\n const iconSlot = icon?.getAttribute(\"slot\");\n const iconWrapper = document.createElement(\"div\");\n\n if (icon) {\n setStyles(icon, {\n fill: \"currentcolor\",\n });\n\n if (iconSlot === \"top-icon\") {\n setStyles(this.routerSlot, {\n display: \"flex\",\n \"flex-direction\": \"column\",\n \"--height\": \"fit-content\",\n });\n } else if (iconSlot) {\n const marginPlacement = iconSlot === \"left-icon\" ? \"right\" : \"left\";\n setStyles(iconWrapper, {\n [`margin-${marginPlacement}`]: \"var(--ic-space-xs)\",\n });\n }\n\n iconWrapper.append(icon);\n }\n\n const badge = this.routerSlot.querySelector(\"ic-badge\");\n const label = this.routerSlot.textContent?.trim();\n\n if (badge) iconWrapper.append(badge);\n if (label) icTypography.textContent = label;\n\n this.routerSlot.textContent = \"\";\n\n if (iconSlot === \"right-icon\") {\n this.routerSlot.append(icTypography);\n this.routerSlot.append(iconWrapper);\n } else {\n this.routerSlot.append(iconWrapper);\n this.routerSlot.append(icTypography);\n }\n }\n };\n\n render() {\n const {\n ariaControlsId,\n ariaLabel,\n ariaOwnsId,\n buttonIdNum,\n describedByContent,\n describedById,\n disabled,\n download,\n dropdown,\n dropdownExpanded,\n form,\n formaction,\n formenctype,\n formmethod,\n formnovalidate,\n formtarget,\n fullWidth,\n handleClick,\n handleKeyDown,\n hasTooltip,\n href,\n hreflang,\n id,\n inheritedAttributes,\n isIconVariant,\n loading,\n monochrome,\n onBlur,\n onFocus,\n referrerpolicy,\n rel,\n size,\n target,\n theme,\n title,\n tooltipPlacement,\n transparentBackground,\n type,\n variant,\n } = this;\n\n const TagType = href ? \"a\" : \"button\";\n const buttonAttrs =\n TagType === \"button\"\n ? {\n type,\n disabled,\n form,\n formaction,\n formenctype,\n formmethod,\n formnovalidate,\n formtarget,\n }\n : {\n download: download !== false ? download : null,\n href,\n rel,\n target,\n referrerpolicy,\n hreflang,\n };\n\n const buttonId = hasTooltip\n ? `ic-button-with-tooltip-${id || buttonIdNum}`\n : undefined;\n\n const describedby = !hasTooltip\n ? describedById\n : variant !== \"icon\" || !ariaLabel\n ? `ic-tooltip-${buttonId}`\n : undefined;\n\n const hasLeftIcon = !!this.getSlottedIcon(\"left\");\n const hasRightIcon = !!this.getSlottedIcon(\"right\");\n\n const ButtonContent = () =>\n this.hasRouterSlot() ? (\n <slot name=\"router-item\"></slot>\n ) : (\n <TagType\n class=\"button\"\n tabindex={0}\n aria-disabled={loading || disabled ? \"true\" : null}\n aria-label={loading ? \"Loading\" : ariaLabel}\n aria-expanded={dropdown && `${dropdownExpanded}`}\n {...buttonAttrs}\n {...inheritedAttributes}\n onFocus={onFocus}\n onBlur={onBlur}\n ref={(el) => (this.buttonEl = el)}\n aria-describedby={describedby}\n part=\"button\"\n >\n {loading ? (\n <div class=\"loading-container\">\n <ic-loading-indicator\n type=\"linear\"\n monochrome={monochrome}\n theme={theme}\n ></ic-loading-indicator>\n </div>\n ) : (\n <Fragment>\n {(hasLeftIcon ||\n (!!this.getSlottedIcon(\"top\") && !hasRightIcon)) && (\n <div class=\"icon-container\">\n <slot name={`${hasLeftIcon ? \"left\" : \"top\"}-icon`} />\n </div>\n )}\n <slot />\n {!dropdown\n ? hasRightIcon && (\n <div class={{ \"icon-container\": true, \"right-icon\": true }}>\n <slot name=\"right-icon\" />\n </div>\n )\n : variant !== \"icon\" &&\n variant !== \"destructive\" && (\n <span\n class={\n dropdownExpanded\n ? \"dropdown-expanded\"\n : \"arrow-dropdown\"\n }\n innerHTML={arrowDropdown}\n />\n )}\n </Fragment>\n )}\n </TagType>\n );\n\n return (\n <Host\n class={{\n \"ic-button-disabled\": disabled && !loading,\n \"ic-button-full-width\": fullWidth,\n \"ic-button-loading\": loading,\n [`ic-button-size-${size}`]: true,\n [`ic-button-variant-${variant}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n background:\n (variant === \"secondary\" || variant === \"tertiary\") &&\n !transparentBackground &&\n !disabled,\n \"dropdown-no-icon\":\n dropdown &&\n !isSlotUsed(this.el, \"icon\") &&\n !isSlotUsed(this.el, \"left-icon\"),\n monochrome,\n \"top-icon\": isSlotUsed(this.el, \"top-icon\"),\n \"with-badge\": isSlotUsed(this.el, \"badge\"),\n }}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n aria-owns={ariaOwnsId}\n aria-controls={ariaControlsId}\n aria-expanded={dropdown && `${dropdownExpanded}`}\n >\n {hasTooltip && (\n <ic-tooltip\n id={describedby}\n label={title || ariaLabel}\n target={buttonId}\n placement={tooltipPlacement}\n silent={isIconVariant() && !!ariaLabel}\n >\n <ButtonContent />\n </ic-tooltip>\n )}\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n {!hasTooltip && <ButtonContent />}\n {describedByContent && (\n <span id={describedby} class=\"ic-button-describedby\">\n {describedByContent}\n </span>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-button.js","sourceRoot":"","sources":["../../../src/components/ic-button/ic-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Method,\n Prop,\n State,\n forceUpdate,\n h,\n Watch,\n Fragment,\n} from \"@stencil/core\";\n\nimport {\n getBrandFromContext,\n handleHiddenFormButtonClick,\n inheritAttributes,\n isSlotUsed,\n removeDisabledFalse,\n renderFileHiddenInput,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport { IcButtonTypes, IcButtonVariants } from \"./ic-button.types\";\nimport {\n IcSizes,\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundEnum,\n IcThemeMode,\n IcButtonTooltipPlacement,\n IcIconPlacementOptions,\n} from \"../../utils/types\";\nimport arrowDropdown from \"../../assets/arrow-dropdown.svg\";\n\nlet buttonIds = 0;\n\n/**\n * @slot left-icon - Content will be placed to the left of the button label.\n * @slot right-icon - Content will be placed to the right of the button label.\n * @slot top-icon - Content will be placed above the button label.\n * @slot badge - Badge component overlaying the top right of the button.\n * @slot router-item - Handle routing by nesting your routes in this slot. Setting loading to true will have no impact on this slot.\n */\n@Component({\n tag: \"ic-button\",\n styleUrl: \"ic-button.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Button {\n private buttonEl?: HTMLElement;\n private buttonIdNum = buttonIds++;\n private hasTooltip = false;\n private id: string | null;\n private inheritedAttributes: { [k: string]: string } = {};\n private describedbyEl: HTMLElement | null = null;\n private describedById?: string;\n private mutationObserver: MutationObserver | null = null;\n private hostMutationObserver: MutationObserver | null = null;\n private routerSlot: HTMLElement | null;\n\n @Element() el: HTMLIcButtonElement;\n\n @State() ariaLabel = \"\";\n @State() describedByContent? = \"\";\n @State() title = \"\";\n\n /**\n * If `fileUpload` is set to `true`, this is the accepted list of file types.\n */\n @Prop() accept = \"*\";\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaControlsId?: string | boolean;\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaOwnsId?: string | boolean;\n\n /**\n * If `true`, the button will be in disabled state.\n */\n @Prop() disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the ic-tooltip which is shown for icon variant will be disabled. Title or aria-label must be set if this prop is not applied.\n */\n @Prop() disableTooltip = false;\n\n /**\n * If `true`, the user can save the linked URL instead of navigating to it.\n */\n @Prop() download: string | boolean = false;\n\n /**\n * If `true`, the button will show a dropdown icon.\n */\n @Prop() dropdown = false;\n\n /**\n * If `true`, the aria-expanded value will be set to true. This is only applied if the dropdown prop is also true.\n */\n @Prop({ mutable: true, reflect: true }) dropdownExpanded = false;\n\n /**\n * If `true`, when the button is clicked the native file explorer will be launched.\n */\n @Prop() fileUpload = false;\n\n /**\n * The name of the control for the file input, which is submitted with the form data.\n */\n @Prop() fileInputName = `ic-button-file-upload-input-${buttonIds++}`;\n\n /**\n * The <form> element to associate the button with.\n */\n @Prop() form?: string;\n\n /**\n * The URL that processes the information submitted by the button. It overrides the action attribute of the button's form owner. Does nothing if there is no form owner.\n */\n @Prop() formaction?: string;\n\n /**\n * The way the submitted form data is encoded.\n */\n @Prop() formenctype?: string;\n\n /**\n * The HTTP method used to submit the form.\n */\n @Prop() formmethod?: string;\n\n /**\n * If `true`, the form will not be validated when submitted.\n */\n @Prop() formnovalidate?: boolean;\n\n /**\n * The place to display the response from submitting the form. It overrides the target attribute of the button's form owner.\n */\n @Prop() formtarget?: string;\n\n /**\n * If `true`, the button will fill the width of the container.\n */\n @Prop() fullWidth = false;\n\n /**\n * The URL that the link points to. This will render the button as an \"a\" tag.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n\n /**\n * If `true`, the button will be in loading state.\n */\n @Prop() loading = false;\n\n /**\n * If `true`, the button will display as monochromatic in either `light` or `dark` theme.\n */\n @Prop({ mutable: true }) monochrome = false;\n\n /**\n * If `fileUpload` is set to `true`, this boolean determines whether multiple files are accepted.\n */\n @Prop() multiple = false;\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The list of the files that have been selected by a user.\n */\n @Prop() selectedFiles?: FileList;\n\n /**\n * The size of the button to be displayed.\n */\n @Prop() size: IcSizes = \"medium\";\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop({ mutable: true }) theme: IcThemeMode = \"inherit\";\n\n /**\n * Setting to `true` can help in situations where tooltip content is clipped by a parent element.\n */\n @Prop() tooltipFixedPositioning: boolean = false;\n\n /**\n * The position of the tooltip in relation to the button.\n */\n @Prop() tooltipPlacement: IcButtonTooltipPlacement = \"bottom\";\n\n /**\n * If `true`, the secondary & tertiary variants of button will have a transparent background when not hovered, pressed or loading.\n */\n @Prop() transparentBackground = true;\n\n /**\n * The type of the button.\n */\n @Prop() type: IcButtonTypes = \"button\";\n\n /**\n * The variant of the button to be displayed.\n */\n @Prop() variant: IcButtonVariants = \"primary\";\n\n /**\n * Emitted when button has blur\n */\n @Event() icBlur!: EventEmitter<void>;\n\n /**\n * If `fileUpload` is set to `true`, this will be emitted when a file is selected in the native explorer.\n */\n @Event() icFileSelection!: EventEmitter<FileList>;\n\n /**\n * Emitted when button has focus\n */\n @Event() icFocus!: EventEmitter<void>;\n\n disconnectedCallback(): void {\n this.mutationObserver?.disconnect();\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillUpdate(): void {\n if (this.loading) {\n this.el.style.setProperty(\n \"--min-width\",\n `${this.el.getBoundingClientRect().width}px`\n );\n }\n this.setHasTooltip();\n }\n\n componentWillLoad(): void {\n const {\n title,\n \"aria-label\": ariaLabel,\n ...restInheritedAttributes\n } = inheritAttributes(this.el, [...IC_INHERITED_ARIA, \"title\"]);\n\n this.title = title;\n this.ariaLabel = ariaLabel;\n this.inheritedAttributes = restInheritedAttributes;\n\n removeDisabledFalse(this.disabled, this.el);\n\n this.el.setAttribute(\"exportparts\", \"button\");\n\n this.id = this.el.id || null;\n this.setHasTooltip();\n\n if (!this.hasTooltip) {\n const describedById = this.inheritedAttributes[\"aria-describedby\"];\n if (describedById) {\n this.describedById = describedById;\n const el = this.el.parentElement?.querySelector<HTMLElement>(\n `#${describedById}`\n );\n if (el) {\n this.describedByContent = el.innerText;\n this.describedbyEl = el;\n }\n }\n }\n }\n\n componentDidLoad(): void {\n this.updateTheme();\n\n if (typeof MutationObserver !== \"undefined\") {\n if (this.describedbyEl && this.describedById) {\n this.mutationObserver = new MutationObserver(this.mutationCallback);\n this.mutationObserver.observe(this.describedbyEl, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n }\n\n this.hostMutationObserver = new MutationObserver(\n this.hostMutationCallback\n );\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n });\n\n if (this.hasRouterSlot()) this.arrangeRouterItem();\n }\n }\n\n componentWillRender(): void {\n const iconEl = this.getSlottedIcon(\"left\") || this.getSlottedIcon(\"right\");\n iconEl?.setAttribute(\"viewBox\", \"0 0 24 24\");\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (!this.hasRouterSlot()) {\n if (this.fileUpload) {\n renderFileHiddenInput(\n this.icFileSelection,\n this.el,\n !!this.multiple,\n !!this.disabled,\n this.accept,\n this.fileInputName,\n this.selectedFiles\n );\n }\n if (this.disabled || this.loading) {\n event.stopImmediatePropagation();\n }\n if (this.dropdown) {\n this.dropdownExpanded = !this.dropdownExpanded;\n }\n }\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler({ detail }: CustomEvent<IcBrand>): void {\n this.updateTheme(detail.mode);\n }\n\n /**\n * Sets focus on the native `button`.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.buttonEl?.focus();\n }\n\n private async closeButtonTooltip(ev: KeyboardEvent) {\n const tooltip = this.el.shadowRoot?.querySelector(\"ic-tooltip\");\n if (tooltip && (await tooltip.isTooltipVisible())) {\n tooltip.displayTooltip(false);\n ev.preventDefault();\n ev.stopImmediatePropagation();\n }\n }\n\n private getSlottedIcon = (position: IcIconPlacementOptions) =>\n this.el.querySelector(`[slot=\"${position}-icon\"]`);\n\n private hasRouterSlot() {\n this.routerSlot = this.el.querySelector('[slot=\"router-item\"]');\n if (this.routerSlot) {\n this.routerSlot.ariaLabel = this.routerSlot.textContent;\n }\n return !!this.routerSlot;\n }\n\n private handleClick = () => {\n if (\n (this.el.type === \"submit\" || this.el.type === \"reset\") &&\n !this.hasRouterSlot() &&\n (this.form || !!this.el.closest(\"FORM\"))\n ) {\n const form = this.form\n ? document.querySelector<HTMLFormElement>(`form[id=${this.form}]`)\n : this.el.closest<HTMLFormElement>(\"FORM\");\n\n handleHiddenFormButtonClick(form, this.el);\n }\n };\n\n private handleKeyDown = (ev: KeyboardEvent) => {\n if (ev.key === \"Escape\" && this.hasTooltip) {\n this.closeButtonTooltip(ev);\n }\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = () => {\n this.icBlur.emit();\n };\n\n private updateTheme(mode: IcBrandForeground | null = null) {\n const foregroundColor = getBrandFromContext(this.el, mode);\n if (foregroundColor !== IcBrandForegroundEnum.Default) {\n this.theme =\n foregroundColor === IcBrandForegroundEnum.Light\n ? IcBrandForegroundEnum.Dark\n : IcBrandForegroundEnum.Light;\n this.monochrome = true;\n }\n }\n\n /**\n * Triggered when text content of sibling element in light DOM changes\n */\n private mutationCallback = () => {\n this.describedByContent = this.describedbyEl?.innerText;\n };\n\n /**\n * Triggered when attributes of host element change\n * @param mutationList the list of changes made to the host element\n */\n private hostMutationCallback = (mutationList: MutationRecord[]) => {\n let forceComponentUpdate = false;\n mutationList.forEach(({ attributeName }) => {\n if (attributeName) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute) {\n if (attributeName === \"title\") this.title = attribute;\n else if (attributeName === \"aria-label\") this.ariaLabel = attribute;\n\n if (IC_INHERITED_ARIA.includes(attributeName)) {\n this.inheritedAttributes[attributeName] = attribute;\n forceComponentUpdate = true;\n }\n }\n }\n });\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n private setHasTooltip = () => {\n this.hasTooltip =\n !this.disableTooltip && (!!this.title || !!this.isIconVariant());\n };\n\n private isIconVariant = () => this.variant.startsWith(\"icon\");\n\n private arrangeRouterItem = () => {\n const setStyles = (\n element: HTMLElement | SVGElement,\n styles: { [key: string]: string }\n ) => {\n Object.entries(styles).forEach(([key, value]) => {\n element.style.setProperty(key, value);\n });\n };\n\n if (this.routerSlot) {\n const icTypography = document.createElement(\"ic-typography\");\n\n setStyles(icTypography, {\n \"font-family\": \"var(--ic-font-body-family)\",\n \"font-size\": \"0.875rem\",\n \"font-weight\": \"600\",\n });\n setStyles(this.routerSlot, {\n gap: \"0\",\n });\n\n const icon = this.routerSlot.querySelector(\"svg\");\n const iconSlot = icon?.getAttribute(\"slot\");\n const iconWrapper = document.createElement(\"div\");\n\n if (icon) {\n setStyles(icon, {\n fill: \"currentcolor\",\n });\n\n if (iconSlot === \"top-icon\") {\n setStyles(this.routerSlot, {\n display: \"flex\",\n \"flex-direction\": \"column\",\n \"--height\": \"fit-content\",\n });\n } else if (iconSlot) {\n const marginPlacement = iconSlot === \"left-icon\" ? \"right\" : \"left\";\n setStyles(iconWrapper, {\n [`margin-${marginPlacement}`]: \"var(--ic-space-xs)\",\n });\n }\n\n iconWrapper.append(icon);\n }\n\n const badge = this.routerSlot.querySelector(\"ic-badge\");\n const label = this.routerSlot.textContent?.trim();\n\n if (badge) iconWrapper.append(badge);\n if (label) icTypography.textContent = label;\n\n this.routerSlot.textContent = \"\";\n\n if (iconSlot === \"right-icon\") {\n this.routerSlot.append(icTypography);\n this.routerSlot.append(iconWrapper);\n } else {\n this.routerSlot.append(iconWrapper);\n this.routerSlot.append(icTypography);\n }\n }\n };\n\n render() {\n const {\n ariaControlsId,\n ariaLabel,\n ariaOwnsId,\n buttonIdNum,\n describedByContent,\n describedById,\n disabled,\n download,\n dropdown,\n dropdownExpanded,\n form,\n formaction,\n formenctype,\n formmethod,\n formnovalidate,\n formtarget,\n fullWidth,\n handleClick,\n handleKeyDown,\n hasTooltip,\n href,\n hreflang,\n id,\n inheritedAttributes,\n isIconVariant,\n loading,\n monochrome,\n onBlur,\n onFocus,\n referrerpolicy,\n rel,\n size,\n target,\n theme,\n title,\n tooltipFixedPositioning,\n tooltipPlacement,\n transparentBackground,\n type,\n variant,\n } = this;\n\n const TagType = href ? \"a\" : \"button\";\n const buttonAttrs =\n TagType === \"button\"\n ? {\n type,\n disabled,\n form,\n formaction,\n formenctype,\n formmethod,\n formnovalidate,\n formtarget,\n }\n : {\n download: download !== false ? download : null,\n href,\n rel,\n target,\n referrerpolicy,\n hreflang,\n };\n\n const buttonId = hasTooltip\n ? `ic-button-with-tooltip-${id || buttonIdNum}`\n : undefined;\n\n const describedby = !hasTooltip\n ? describedById\n : variant !== \"icon\" || !ariaLabel\n ? `ic-tooltip-${buttonId}`\n : undefined;\n\n const hasLeftIcon = !!this.getSlottedIcon(\"left\");\n const hasRightIcon = !!this.getSlottedIcon(\"right\");\n\n const ButtonContent = () =>\n this.hasRouterSlot() ? (\n <slot name=\"router-item\"></slot>\n ) : (\n <TagType\n class=\"button\"\n tabindex={0}\n aria-disabled={loading || disabled ? \"true\" : null}\n aria-label={loading ? \"Loading\" : ariaLabel}\n aria-expanded={dropdown && `${dropdownExpanded}`}\n {...buttonAttrs}\n {...inheritedAttributes}\n onFocus={onFocus}\n onBlur={onBlur}\n ref={(el) => (this.buttonEl = el)}\n aria-describedby={describedby}\n part=\"button\"\n >\n {loading ? (\n <div class=\"loading-container\">\n <ic-loading-indicator\n type=\"linear\"\n monochrome={monochrome}\n theme={theme}\n ></ic-loading-indicator>\n </div>\n ) : (\n <Fragment>\n {(hasLeftIcon ||\n (!!this.getSlottedIcon(\"top\") && !hasRightIcon)) && (\n <div class=\"icon-container\">\n <slot name={`${hasLeftIcon ? \"left\" : \"top\"}-icon`} />\n </div>\n )}\n <slot />\n {!dropdown\n ? hasRightIcon && (\n <div class={{ \"icon-container\": true, \"right-icon\": true }}>\n <slot name=\"right-icon\" />\n </div>\n )\n : variant !== \"icon\" &&\n variant !== \"destructive\" && (\n <span\n class={\n dropdownExpanded\n ? \"dropdown-expanded\"\n : \"arrow-dropdown\"\n }\n innerHTML={arrowDropdown}\n />\n )}\n </Fragment>\n )}\n </TagType>\n );\n\n return (\n <Host\n class={{\n \"ic-button-disabled\": disabled && !loading,\n \"ic-button-full-width\": fullWidth,\n \"ic-button-loading\": loading,\n [`ic-button-size-${size}`]: true,\n [`ic-button-variant-${variant}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n background:\n (variant === \"secondary\" || variant === \"tertiary\") &&\n !transparentBackground &&\n !disabled,\n \"dropdown-no-icon\":\n dropdown &&\n !isSlotUsed(this.el, \"icon\") &&\n !isSlotUsed(this.el, \"left-icon\"),\n monochrome,\n \"top-icon\": isSlotUsed(this.el, \"top-icon\"),\n \"with-badge\": isSlotUsed(this.el, \"badge\"),\n }}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n aria-owns={ariaOwnsId}\n aria-controls={ariaControlsId}\n aria-expanded={dropdown && `${dropdownExpanded}`}\n >\n {hasTooltip && (\n <ic-tooltip\n id={describedby}\n label={title || ariaLabel}\n target={buttonId}\n placement={tooltipPlacement}\n fixedPositioning={tooltipFixedPositioning}\n silent={isIconVariant() && !!ariaLabel}\n >\n <ButtonContent />\n </ic-tooltip>\n )}\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n {!hasTooltip && <ButtonContent />}\n {describedByContent && (\n <span id={describedby} class=\"ic-button-describedby\">\n {describedByContent}\n </span>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -176,7 +176,7 @@ export const Secondary = {
176
176
  </div>
177
177
  </div>
178
178
  <div
179
- style="display: flex; flex-direction: row; margin-top: 1rem; background-color:#474A48; border-radius: 5px; width:fit-content;"
179
+ style="display: flex; flex-direction: row; margin-top: 1rem; background-color:#232629; border-radius: 5px; width:fit-content;"
180
180
  >
181
181
  <div
182
182
  style="padding: 1rem; display: flex; flex-direction: column; gap: 0.5rem"
@@ -208,6 +208,57 @@ export const Secondary = {
208
208
  </ic-button>
209
209
  </div>
210
210
  </div>
211
+ <div
212
+ style="padding: 1rem; display: flex; flex-direction: column; gap: 0.5rem"
213
+ >
214
+ <ic-typography variant="subtitle-large" style="color: white">
215
+ Dark theme - non-transparent
216
+ </ic-typography>
217
+ <div>
218
+ <ic-button
219
+ variant="secondary"
220
+ theme="dark"
221
+ id="mybuttonid"
222
+ transparent-background="false"
223
+ >
224
+ Solid
225
+ </ic-button>
226
+ <ic-button
227
+ variant="secondary"
228
+ theme="dark"
229
+ disabled
230
+ transparent-background="false"
231
+ >
232
+ Disabled
233
+ </ic-button>
234
+ </div>
235
+ </div>
236
+ <div
237
+ style="padding: 1rem; display: flex; flex-direction: column; gap: 0.5rem"
238
+ >
239
+ <ic-typography variant="subtitle-large" style="color: white">
240
+ Dark theme - monochrome, non-transparent
241
+ </ic-typography>
242
+ <div>
243
+ <ic-button
244
+ variant="secondary"
245
+ monochrome
246
+ theme="dark"
247
+ transparent-background="false"
248
+ >
249
+ Mono-solid
250
+ </ic-button>
251
+ <ic-button
252
+ variant="secondary"
253
+ disabled
254
+ monochrome
255
+ theme="dark"
256
+ transparent-background="false"
257
+ >
258
+ Disabled
259
+ </ic-button>
260
+ </div>
261
+ </div>
211
262
  </div>`,
212
263
 
213
264
  name: "Secondary",
@@ -246,9 +297,59 @@ export const Tertiary = {
246
297
  </ic-button>
247
298
  </div>
248
299
  </div>
300
+ <div
301
+ style="padding: 1rem; display: flex; flex-direction: column; gap: 0.5rem"
302
+ >
303
+ <ic-typography variant="subtitle-large">
304
+ Light theme - non-transparent
305
+ </ic-typography>
306
+ <div>
307
+ <ic-button
308
+ variant="tertiary"
309
+ transparent-background="false"
310
+ theme="light"
311
+ >
312
+ Solid
313
+ </ic-button>
314
+ <ic-button
315
+ variant="tertiary"
316
+ disabled
317
+ theme="light"
318
+ transparent-background="false"
319
+ >
320
+ Disabled
321
+ </ic-button>
322
+ </div>
323
+ </div>
324
+ <div
325
+ style="padding: 1rem; display: flex; flex-direction: column; gap: 0.5rem"
326
+ >
327
+ <ic-typography variant="subtitle-large">
328
+ Light theme - monochrome, non-transparent
329
+ </ic-typography>
330
+ <div>
331
+ <ic-button
332
+ variant="tertiary"
333
+ theme="light"
334
+ monochrome
335
+ transparent-background="false"
336
+ >
337
+ Mono-Solid
338
+ </ic-button>
339
+ <ic-button
340
+ variant="tertiary"
341
+ disabled
342
+ monochrome
343
+ theme="light"
344
+ transparent-background="false"
345
+ >
346
+ Disabled
347
+ </ic-button>
348
+ </div>
349
+ </div>
249
350
  </div>
250
351
  <div
251
- style="display: flex; flex-direction: row; margin-top: 1rem; background-color:#474A48; border-radius: 5px; width:fit-content;"
352
+ style="display: flex; flex-direction: row; margin-top: 1rem; background-color:#232629; border-radius: 5px; width:fit-content;"
252
353
  >
253
354
  <div
254
355
  style="padding: 1rem; display: flex; flex-direction: column; gap: 0.5rem"
@@ -280,6 +381,57 @@ export const Tertiary = {
280
381
  </ic-button>
281
382
  </div>
282
383
  </div>
384
+ <div
385
+ style="padding: 1rem; display: flex; flex-direction: column; gap: 0.5rem"
386
+ >
387
+ <ic-typography variant="subtitle-large" style="color: white">
388
+ Dark theme - non-transparent
389
+ </ic-typography>
390
+ <div>
391
+ <ic-button
392
+ variant="tertiary"
393
+ theme="dark"
394
+ id="mybuttonid"
395
+ transparent-background="false"
396
+ >
397
+ Solid
398
+ </ic-button>
399
+ <ic-button
400
+ variant="tertiary"
401
+ theme="dark"
402
+ disabled
403
+ transparent-background="false"
404
+ >
405
+ Disabled
406
+ </ic-button>
407
+ </div>
408
+ </div>
409
+ <div
410
+ style="padding: 1rem; display: flex; flex-direction: column; gap: 0.5rem"
411
+ >
412
+ <ic-typography variant="subtitle-large" style="color: white">
413
+ Dark theme - monochrome, non-transparent
414
+ </ic-typography>
415
+ <div>
416
+ <ic-button
417
+ variant="tertiary"
418
+ monochrome
419
+ theme="dark"
420
+ transparent-background="false"
421
+ >
422
+ Mono-solid
423
+ </ic-button>
424
+ <ic-button
425
+ variant="tertiary"
426
+ disabled
427
+ monochrome
428
+ theme="dark"
429
+ transparent-background="false"
430
+ >
431
+ Disabled
432
+ </ic-button>
433
+ </div>
434
+ </div>
283
435
  </div>`,
284
436
 
285
437
  name: "Tertiary",
@@ -2092,6 +2244,33 @@ export const Tooltips = {
2092
2244
  name: "Tooltips",
2093
2245
  };
2094
2246
 
2247
+ export const PositioningStrategy = {
2248
+ render: (args) =>
2249
+ html` <script>
2250
+ var switchEl = document.querySelector("ic-switch");
2251
+ var buttonEl = document.querySelector("ic-button");
2252
+ switchEl.addEventListener("icChange", (ev) => {
2253
+ buttonEl.tooltipFixedPositioning = ev.detail.checked;
2254
+ });
2255
+ </script>
2256
+ <div style="display:flex; flex-direction:column; gap:var(--ic-space-xs)">
2257
+ <ic-typography>
2258
+ Toggle the fixed positioning switch and hover over the button to see
2259
+ it take effect
2260
+ </ic-typography>
2261
+ <div
2262
+ 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"
2263
+ >
2264
+ <ic-button title="This is a tooltip with a long label" id="button-1">
2265
+ Button
2266
+ </ic-button>
2267
+ </div>
2268
+ <ic-switch label="Fixed tooltip positioning"></ic-switch>
2269
+ </div>`,
2270
+
2271
+ name: "Tooltip positioning strategy",
2272
+ };
2273
+
2095
2274
  const inlineRadioSelector = "inline-radio";
2096
2275
 
2097
2276
  export const Playground = {
@@ -572,6 +572,7 @@ video {
572
572
 
573
573
  .checkbox-label > label {
574
574
  padding-left: var(--ic-space-sm);
575
+ display: inline-block;
575
576
  }
576
577
 
577
578
  :host(.ic-checkbox-disabled) .checkbox-label {
@@ -453,7 +453,7 @@ video {
453
453
  --chip-pressed-bg: var(--ic-chip-action-pressed);
454
454
 
455
455
  display: flex;
456
- padding: var(--ic-space-xxs);
456
+ padding: calc(var(--ic-space-xxs) - var(--ic-space-1px)) var(--ic-space-xxs);
457
457
  font-size: 0.875rem;
458
458
  border-radius: var(--ic-space-md);
459
459
  text-align: left;
@@ -471,12 +471,12 @@ video {
471
471
  }
472
472
 
473
473
  .chip.small {
474
- padding: var(--ic-space-xxxs);
474
+ padding: var(--ic-space-1px) var(--ic-space-xxxs);
475
475
  border-radius: calc(var(--ic-space-md) - var(--ic-space-xxxs));
476
476
  }
477
477
 
478
478
  .chip.large {
479
- padding: var(--ic-space-xs);
479
+ padding: calc(var(--ic-space-xs) - var(--ic-space-1px)) var(--ic-space-xs);
480
480
  border-radius: calc(var(--ic-space-md) + var(--ic-space-xxs));
481
481
  }
482
482
 
@@ -441,12 +441,17 @@ video {
441
441
  }
442
442
 
443
443
 
444
+ /**
445
+ * @prop --data-row-label-width: Width of the label column in the data list.
446
+ */
447
+
444
448
  :host {
445
449
  display: block;
446
450
  }
447
451
 
448
452
  .heading {
449
453
  --ic-typography-color: var(--ic-data-list-text-heading);
454
+ color: var(--ic-data-list-text-heading);
450
455
  }
451
456
 
452
457
  .rows {
@@ -413,6 +413,56 @@ export const EditableExample = {
413
413
  name: "Editable example",
414
414
  };
415
415
 
416
+ export const LabelWidth = {
417
+ render: () =>
418
+ html`<ic-data-list heading="Personal details">
419
+ <ic-data-row label="Name" value="Michael Johnson"></ic-data-row>
420
+ <ic-data-row
421
+ label="Date of birth with extra words to make long heading"
422
+ value="16 October 1995"
423
+ ></ic-data-row>
424
+ <ic-data-row
425
+ label="Telephone with additional words"
426
+ value="07449 7654873"
427
+ ></ic-data-row>
428
+ <ic-data-row label="Email" value="mjohnson@coffee.gov"></ic-data-row>
429
+ <ic-data-row label="Address">
430
+ <ic-typography variant="body" slot="value">
431
+ 383 Coffee Drive
432
+ <br />
433
+ London
434
+ <br />
435
+ SW7 988
436
+ <br />
437
+ United Kingdom
438
+ </ic-typography>
439
+ </ic-data-row>
440
+ </ic-data-list>
441
+ <script>
442
+ const dataList = document.querySelector("ic-data-list");
443
+ dataList.style.setProperty("--data-row-label-width", "30rem");
444
+ </script>`,
445
+
446
+ name: "With label width",
447
+ };
448
+
449
+ export const SlottedHeadingLabelValueNonTypography = {
450
+ render: () =>
451
+ html`<ic-data-list>
452
+ <pre slot="heading">Personal details</pre>
453
+ <ic-data-row>
454
+ <pre slot="label">Name</pre>
455
+ <pre slot="value">Michael Johnson</pre>
456
+ </ic-data-row>
457
+ <ic-data-row>
458
+ <pre slot="label">Date of birth</pre>
459
+ <pre slot="value">16 October 1995</pre>
460
+ </ic-data-row>
461
+ </ic-data-list>`,
462
+
463
+ name: "Slotted heading, label and value - non ic-typography",
464
+ };
465
+
416
466
  const inlineRadioSelector = "inline-radio";
417
467
 
418
468
  export const Playground = {
@@ -457,14 +457,16 @@ video {
457
457
  min-width: 0;
458
458
 
459
459
  --ic-typography-color: var(--ic-data-list-text-cell);
460
+ color: var(--ic-data-list-text-cell);
460
461
  }
461
462
 
462
463
  .label {
463
- width: 12.5rem;
464
+ width: var(--data-row-label-width, 12.5rem);
464
465
  min-width: 12.5rem;
465
466
  margin-right: var(--ic-space-md);
466
467
 
467
468
  --ic-typography-color: var(--ic-data-list-text-label);
469
+ color: var(--ic-data-list-text-label);
468
470
  }
469
471
 
470
472
  .value {
@@ -5,6 +5,78 @@ export default {
5
5
  component: "ic-footer",
6
6
  };
7
7
 
8
+ const defaultArgs = {
9
+ aligned: "left",
10
+ breakpoint: "medium",
11
+ caption:
12
+ "All content is available under the Open Government Licence v3.0, except source code and code examples which are available under the MIT Licence.",
13
+ copyright: true,
14
+ description:
15
+ "The ICDS is maintained by the Design Practice Team. If you've got a question or want to feedback, please get in touch.",
16
+ groupLinks: true,
17
+ };
18
+
19
+ export const Playground = {
20
+ render: (args) => html` <ic-footer
21
+ aligned=${args.aligned}
22
+ breakpoint=${args.breakpoint}
23
+ caption=${args.caption}
24
+ copyright=${args.copyright}
25
+ description=${args.description}
26
+ group-links=${args.groupLinks}
27
+ >
28
+ <ic-footer-link-group slot="link" label="Links 1">
29
+ <ic-footer-link href="/">Get Started</ic-footer-link>
30
+ <ic-footer-link href="/">Accessibility</ic-footer-link>
31
+ <ic-footer-link href="/">Styles</ic-footer-link>
32
+ </ic-footer-link-group>
33
+ <ic-footer-link-group slot="link" label="Links 2">
34
+ <ic-footer-link href="/">Get Started</ic-footer-link>
35
+ <ic-footer-link href="/">Accessibility</ic-footer-link>
36
+ <ic-footer-link href="/">Styles</ic-footer-link>
37
+ </ic-footer-link-group>
38
+ <ic-footer-link-group slot="link" label="Links 3">
39
+ <ic-footer-link href="/">Get Started</ic-footer-link>
40
+ <ic-footer-link href="/">Accessibility</ic-footer-link>
41
+ <ic-footer-link href="/">Styles</ic-footer-link>
42
+ </ic-footer-link-group>
43
+ <div
44
+ slot="logo"
45
+ style="
46
+ width:100px;
47
+ height:100px;
48
+ display:flex;
49
+ align-items:center;
50
+ justify-content:center;
51
+ background-color:var(--ic-brand-color-primary);
52
+ color:var(--ic-brand-text-color);"
53
+ >
54
+ Logo
55
+ </div>
56
+ </ic-footer>`,
57
+
58
+ args: defaultArgs,
59
+ name: "Playground",
60
+
61
+ argTypes: {
62
+ aligned: {
63
+ options: ["center", "full-width", "left"],
64
+
65
+ control: {
66
+ type: "select",
67
+ },
68
+ },
69
+
70
+ breakpoint: {
71
+ options: ["extra large", "extra small", "large", "medium", "small"],
72
+
73
+ control: {
74
+ type: "select",
75
+ },
76
+ },
77
+ },
78
+ };
79
+
8
80
  export const UngroupedLinks = {
9
81
  render: () => html`
10
82
  <ic-footer