@ebrains/components 1.0.0 → 1.1.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 (378) hide show
  1. package/dist/cjs/components-section.cjs.entry.js +1 -1
  2. package/dist/cjs/components.cjs.js +1 -1
  3. package/dist/cjs/eds-accordion.cjs.entry.js +2 -2
  4. package/dist/cjs/eds-alert.cjs.entry.js +2 -2
  5. package/dist/cjs/{eds-avatar_34.cjs.entry.js → eds-avatar_28.cjs.entry.js} +481 -501
  6. package/dist/cjs/eds-breadcrumb.cjs.entry.js +145 -0
  7. package/dist/cjs/eds-card-desc_2.cjs.entry.js +77 -0
  8. package/dist/cjs/eds-card-generic.cjs.entry.js +92 -0
  9. package/dist/cjs/eds-card-project.cjs.entry.js +1 -1
  10. package/dist/cjs/eds-card-tags.cjs.entry.js +1 -1
  11. package/dist/cjs/eds-card-tool.cjs.entry.js +1 -1
  12. package/dist/cjs/eds-code-block.cjs.entry.js +1 -1
  13. package/dist/cjs/eds-gauge.cjs.entry.js +60 -0
  14. package/dist/cjs/eds-icon-arrow-diagonal.cjs.entry.js +1 -1
  15. package/dist/cjs/eds-icon-arrow-right.cjs.entry.js +1 -1
  16. package/dist/cjs/eds-icon-bluesky.cjs.entry.js +1 -1
  17. package/dist/cjs/eds-icon-bookmark.cjs.entry.js +1 -1
  18. package/dist/cjs/eds-icon-chevron-down.cjs.entry.js +1 -1
  19. package/dist/cjs/eds-icon-chevron-left.cjs.entry.js +1 -1
  20. package/dist/cjs/eds-icon-chevron-right.cjs.entry.js +1 -1
  21. package/dist/cjs/eds-icon-chevron-up.cjs.entry.js +1 -1
  22. package/dist/cjs/eds-icon-close.cjs.entry.js +1 -1
  23. package/dist/cjs/eds-icon-copy.cjs.entry.js +1 -1
  24. package/dist/cjs/eds-icon-eu.cjs.entry.js +1 -1
  25. package/dist/cjs/eds-icon-external.cjs.entry.js +1 -1
  26. package/dist/cjs/eds-icon-facebook.cjs.entry.js +1 -1
  27. package/dist/cjs/eds-icon-gitlab.cjs.entry.js +1 -1
  28. package/dist/cjs/eds-icon-linkedin.cjs.entry.js +1 -1
  29. package/dist/cjs/eds-icon-loader.cjs.entry.js +1 -1
  30. package/dist/cjs/eds-icon-mastodon.cjs.entry.js +1 -1
  31. package/dist/cjs/eds-icon-menu.cjs.entry.js +1 -1
  32. package/dist/cjs/eds-icon-minus.cjs.entry.js +1 -1
  33. package/dist/cjs/eds-icon-more.cjs.entry.js +1 -1
  34. package/dist/cjs/eds-icon-paper.cjs.entry.js +1 -1
  35. package/dist/cjs/eds-icon-plus.cjs.entry.js +1 -1
  36. package/dist/cjs/eds-icon-portal.cjs.entry.js +1 -1
  37. package/dist/cjs/eds-icon-private.cjs.entry.js +1 -1
  38. package/dist/cjs/eds-icon-public.cjs.entry.js +1 -1
  39. package/dist/cjs/eds-icon-search.cjs.entry.js +1 -1
  40. package/dist/cjs/eds-icon-star.cjs.entry.js +1 -1
  41. package/dist/cjs/eds-icon-success.cjs.entry.js +1 -1
  42. package/dist/cjs/eds-icon-thumbs-down.cjs.entry.js +1 -1
  43. package/dist/cjs/eds-icon-thumbs-up.cjs.entry.js +1 -1
  44. package/dist/cjs/eds-icon-tutorial.cjs.entry.js +1 -1
  45. package/dist/cjs/eds-icon-twitter.cjs.entry.js +1 -1
  46. package/dist/cjs/eds-icon-unknown.cjs.entry.js +1 -1
  47. package/dist/cjs/eds-icon-updown.cjs.entry.js +1 -1
  48. package/dist/cjs/eds-icon-user.cjs.entry.js +1 -1
  49. package/dist/cjs/eds-icon-youtube.cjs.entry.js +1 -1
  50. package/dist/cjs/eds-pie.cjs.entry.js +106 -0
  51. package/dist/cjs/eds-progress-bar.cjs.entry.js +1 -1
  52. package/dist/cjs/eds-rating.cjs.entry.js +1 -1
  53. package/dist/cjs/eds-section-core_2.cjs.entry.js +3 -3
  54. package/dist/cjs/eds-spinner.cjs.entry.js +1 -1
  55. package/dist/cjs/eds-switch.cjs.entry.js +2 -2
  56. package/dist/cjs/eds-tooltip.cjs.entry.js +32 -0
  57. package/dist/cjs/index-88c8039f.js +28 -4
  58. package/dist/cjs/loader.cjs.js +1 -1
  59. package/dist/cjs/token-spacing.cjs.entry.js +16 -0
  60. package/dist/collection/collection-manifest.json +1 -1
  61. package/dist/collection/components/eds-accordion/eds-accordion.js +2 -2
  62. package/dist/collection/components/eds-alert/eds-alert.js +2 -2
  63. package/dist/collection/components/eds-avatar/eds-avatar.js +1 -1
  64. package/dist/collection/components/eds-block-break/eds-block-break.js +1 -1
  65. package/dist/collection/components/eds-breadcrump/eds-breadcrump.js +1 -1
  66. package/dist/collection/components/eds-button/eds-button.js +1 -1
  67. package/dist/collection/components/eds-cards/eds-card-composer/eds-card-desc/eds-card-desc.js +1 -1
  68. package/dist/collection/components/eds-cards/eds-card-composer/eds-card-tags/eds-card-tags.js +1 -1
  69. package/dist/collection/components/eds-cards/eds-card-composer/eds-card-title/eds-card-title.js +1 -1
  70. package/dist/collection/components/eds-cards/eds-card-project/eds-card-project.js +1 -1
  71. package/dist/collection/components/eds-cards/eds-card-tool/eds-card-tool.js +1 -1
  72. package/dist/collection/components/eds-charts/eds-gauge/eds-gauge.js +1 -1
  73. package/dist/collection/components/eds-code-block/eds-code-block.js +1 -1
  74. package/dist/collection/components/eds-dropdown/eds-dropdown.js +2 -2
  75. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-down/eds-icon-chevron-down.js +1 -1
  76. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-left/eds-icon-chevron-left.js +1 -1
  77. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-right/eds-icon-chevron-right.js +1 -1
  78. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-up/eds-icon-chevron-up.js +1 -1
  79. package/dist/collection/components/eds-icons/eds-icon-arrow-diagonal/eds-icon-arrow-diagonal.js +1 -1
  80. package/dist/collection/components/eds-icons/eds-icon-arrow-right/eds-icon-arrow-right.js +1 -1
  81. package/dist/collection/components/eds-icons/eds-icon-bookmark/eds-icon-bookmark.js +1 -1
  82. package/dist/collection/components/eds-icons/eds-icon-close/eds-icon-close.js +1 -1
  83. package/dist/collection/components/eds-icons/eds-icon-copy/eds-icon-copy.js +1 -1
  84. package/dist/collection/components/eds-icons/eds-icon-eu/eds-icon-eu.js +1 -1
  85. package/dist/collection/components/eds-icons/eds-icon-external/eds-icon-external.js +1 -1
  86. package/dist/collection/components/eds-icons/eds-icon-gitlab/eds-icon-gitlab.js +1 -1
  87. package/dist/collection/components/eds-icons/eds-icon-loader/eds-icon-loader.js +1 -1
  88. package/dist/collection/components/eds-icons/eds-icon-menu/eds-icon-menu.js +1 -1
  89. package/dist/collection/components/eds-icons/eds-icon-minus/eds-icon-minus.js +1 -1
  90. package/dist/collection/components/eds-icons/eds-icon-more/eds-icon-more.js +1 -1
  91. package/dist/collection/components/eds-icons/eds-icon-paper/eds-icon-paper.js +1 -1
  92. package/dist/collection/components/eds-icons/eds-icon-plus/eds-icon-plus.js +1 -1
  93. package/dist/collection/components/eds-icons/eds-icon-portal/eds-icon-portal.js +1 -1
  94. package/dist/collection/components/eds-icons/eds-icon-private/eds-icon-private.js +1 -1
  95. package/dist/collection/components/eds-icons/eds-icon-public/eds-icon-public.js +1 -1
  96. package/dist/collection/components/eds-icons/eds-icon-search/eds-icon-search.js +1 -1
  97. package/dist/collection/components/eds-icons/eds-icon-star/eds-icon-star.js +1 -1
  98. package/dist/collection/components/eds-icons/eds-icon-success/eds-icon-success.js +1 -1
  99. package/dist/collection/components/eds-icons/eds-icon-thumbs-down/eds-icon-thumbs-down.js +1 -1
  100. package/dist/collection/components/eds-icons/eds-icon-thumbs-up/eds-icon-thumbs-up.js +1 -1
  101. package/dist/collection/components/eds-icons/eds-icon-tutorial/eds-icon-tutorial.js +1 -1
  102. package/dist/collection/components/eds-icons/eds-icon-unknown/eds-icon-unknown.js +1 -1
  103. package/dist/collection/components/eds-icons/eds-icon-updown/eds-icon-updown.js +1 -1
  104. package/dist/collection/components/eds-icons/eds-icon-user/eds-icon-user.js +1 -1
  105. package/dist/collection/components/eds-icons/social/eds-icon-bluesky/eds-icon-bluesky.js +1 -1
  106. package/dist/collection/components/eds-icons/social/eds-icon-facebook/eds-icon-facebook.js +1 -1
  107. package/dist/collection/components/eds-icons/social/eds-icon-linkedin/eds-icon-linkedin.js +1 -1
  108. package/dist/collection/components/eds-icons/social/eds-icon-mastodon/eds-icon-mastodon.js +1 -1
  109. package/dist/collection/components/eds-icons/social/eds-icon-twitter/eds-icon-twitter.js +1 -1
  110. package/dist/collection/components/eds-icons/social/eds-icon-youtube/eds-icon-youtube.js +1 -1
  111. package/dist/collection/components/eds-img/eds-img.js +2 -2
  112. package/dist/collection/components/eds-input-elements/eds-input/eds-input.js +2 -2
  113. package/dist/collection/components/eds-input-elements/eds-input-footer/eds-input-footer.js +1 -1
  114. package/dist/collection/components/eds-input-elements/eds-input-label/eds-input-label.js +1 -1
  115. package/dist/collection/components/eds-input-elements/eds-input-range/eds-input-range.js +1 -1
  116. package/dist/collection/components/eds-input-elements/eds-input-search/eds-input-search.js +1 -1
  117. package/dist/collection/components/eds-input-elements/eds-input-select/eds-input-select.js +2 -2
  118. package/dist/collection/components/eds-input-field/eds-input-field.js +2 -2
  119. package/dist/collection/components/eds-link/eds-link.js +1 -1
  120. package/dist/collection/components/eds-logo/eds-logo.js +1 -1
  121. package/dist/collection/components/eds-modal/eds-modal.js +2 -2
  122. package/dist/collection/components/eds-pagination/eds-pagination.js +1 -1
  123. package/dist/collection/components/eds-progress-bar/eds-progress-bar.js +1 -1
  124. package/dist/collection/components/eds-rating/eds-rating.js +1 -1
  125. package/dist/collection/components/eds-section/eds-section-core/eds-section-core.js +1 -1
  126. package/dist/collection/components/eds-section/eds-section-heading/eds-section-heading.js +2 -2
  127. package/dist/collection/components/eds-spinner/eds-spinner.js +1 -1
  128. package/dist/collection/components/eds-switch/eds-switch.js +2 -2
  129. package/dist/collection/components/eds-table/eds-table.css +5 -0
  130. package/dist/collection/components/eds-table/eds-table.js +171 -22
  131. package/dist/collection/eds-docs-ui/components-section/functional/react.js +1 -1
  132. package/dist/collection/shared-ui/eds-footer/eds-footer.js +2 -2
  133. package/dist/collection/shared-ui/eds-form/eds-form.js +34 -2
  134. package/dist/collection/shared-ui/eds-steps/eds-steps.js +2 -2
  135. package/dist/collection/shared-ui/eds-steps-v2/eds-steps-v2.css +17 -0
  136. package/dist/collection/shared-ui/eds-steps-v2/eds-steps-v2.js +20 -2
  137. package/dist/collection/shared-ui/eds-user/eds-user.js +1 -1
  138. package/dist/components/components-section.js +1 -1
  139. package/dist/components/components.css +3 -0
  140. package/dist/components/components.esm.js +1 -1
  141. package/dist/components/eds-accordion2.js +2 -2
  142. package/dist/components/eds-alert2.js +2 -2
  143. package/dist/components/eds-avatar2.js +1 -1
  144. package/dist/components/eds-block-break2.js +1 -1
  145. package/dist/components/eds-breadcrumb.js +1 -1
  146. package/dist/components/eds-button2.js +1 -1
  147. package/dist/components/eds-card-desc2.js +1 -1
  148. package/dist/components/eds-card-project.js +1 -1
  149. package/dist/components/eds-card-tags.js +1 -1
  150. package/dist/components/eds-card-title2.js +1 -1
  151. package/dist/components/eds-card-tool.js +1 -1
  152. package/dist/components/eds-code-block2.js +1 -1
  153. package/dist/components/eds-dropdown2.js +2 -2
  154. package/dist/components/eds-footer2.js +2 -2
  155. package/dist/components/eds-form.js +14 -2
  156. package/dist/components/eds-gauge.js +1 -1
  157. package/dist/components/eds-icon-arrow-diagonal.js +1 -1
  158. package/dist/components/eds-icon-arrow-right.js +1 -1
  159. package/dist/components/eds-icon-bluesky.js +1 -1
  160. package/dist/components/eds-icon-bookmark.js +1 -1
  161. package/dist/components/eds-icon-chevron-down.js +1 -1
  162. package/dist/components/eds-icon-chevron-left.js +1 -1
  163. package/dist/components/eds-icon-chevron-right.js +1 -1
  164. package/dist/components/eds-icon-chevron-up.js +1 -1
  165. package/dist/components/eds-icon-close.js +1 -1
  166. package/dist/components/eds-icon-copy.js +1 -1
  167. package/dist/components/eds-icon-eu.js +1 -1
  168. package/dist/components/eds-icon-external.js +1 -1
  169. package/dist/components/eds-icon-facebook.js +1 -1
  170. package/dist/components/eds-icon-gitlab.js +1 -1
  171. package/dist/components/eds-icon-linkedin.js +1 -1
  172. package/dist/components/eds-icon-loader.js +1 -1
  173. package/dist/components/eds-icon-mastodon.js +1 -1
  174. package/dist/components/eds-icon-menu.js +1 -1
  175. package/dist/components/eds-icon-minus.js +1 -1
  176. package/dist/components/eds-icon-more.js +1 -1
  177. package/dist/components/eds-icon-paper.js +1 -1
  178. package/dist/components/eds-icon-plus.js +1 -1
  179. package/dist/components/eds-icon-portal.js +1 -1
  180. package/dist/components/eds-icon-private.js +1 -1
  181. package/dist/components/eds-icon-public.js +1 -1
  182. package/dist/components/eds-icon-search.js +1 -1
  183. package/dist/components/eds-icon-star.js +1 -1
  184. package/dist/components/eds-icon-success.js +1 -1
  185. package/dist/components/eds-icon-thumbs-down.js +1 -1
  186. package/dist/components/eds-icon-thumbs-up.js +1 -1
  187. package/dist/components/eds-icon-tutorial.js +1 -1
  188. package/dist/components/eds-icon-twitter.js +1 -1
  189. package/dist/components/eds-icon-unknown.js +1 -1
  190. package/dist/components/eds-icon-updown.js +1 -1
  191. package/dist/components/eds-icon-user.js +1 -1
  192. package/dist/components/eds-icon-youtube.js +1 -1
  193. package/dist/components/eds-img2.js +2 -2
  194. package/dist/components/eds-input-field2.js +2 -2
  195. package/dist/components/eds-input-footer2.js +1 -1
  196. package/dist/components/eds-input-label2.js +1 -1
  197. package/dist/components/eds-input-range2.js +1 -1
  198. package/dist/components/eds-input-search2.js +1 -1
  199. package/dist/components/eds-input-select2.js +2 -2
  200. package/dist/components/eds-input2.js +2 -2
  201. package/dist/components/eds-link2.js +1 -1
  202. package/dist/components/eds-logo2.js +1 -1
  203. package/dist/components/eds-modal.js +2 -2
  204. package/dist/components/eds-pagination2.js +1 -1
  205. package/dist/components/eds-progress-bar2.js +1 -1
  206. package/dist/components/eds-rating2.js +1 -1
  207. package/dist/components/eds-section-core2.js +1 -1
  208. package/dist/components/eds-section-heading2.js +2 -2
  209. package/dist/components/eds-spinner2.js +1 -1
  210. package/dist/components/eds-steps-v2.js +5 -3
  211. package/dist/components/eds-steps2.js +2 -2
  212. package/dist/components/eds-switch.js +2 -2
  213. package/dist/components/eds-table2.js +85 -25
  214. package/dist/components/eds-user.js +1 -1
  215. package/dist/components/p-023bc47c.entry.js +1 -0
  216. package/dist/components/p-11efb1d1.entry.js +1 -0
  217. package/dist/components/p-14679a86.entry.js +1 -0
  218. package/dist/components/p-158c95bc.entry.js +1 -0
  219. package/dist/components/p-177103fd.entry.js +1 -0
  220. package/dist/components/{p-bfc62d3e.entry.js → p-17d39d66.entry.js} +1 -1
  221. package/dist/components/p-19d586e6.entry.js +1 -0
  222. package/dist/components/p-1de8401b.entry.js +1 -0
  223. package/dist/components/{p-8ad05566.entry.js → p-1f5c19b9.entry.js} +1 -1
  224. package/dist/components/p-321a950b.entry.js +1 -0
  225. package/dist/components/p-38c9aee7.entry.js +1 -0
  226. package/dist/components/p-42295abe.entry.js +1 -0
  227. package/dist/components/p-424e91b3.entry.js +1 -0
  228. package/dist/components/p-43cff423.entry.js +1 -0
  229. package/dist/components/p-45f21238.entry.js +1 -0
  230. package/dist/components/p-4bdf1589.entry.js +1 -0
  231. package/dist/components/p-4dcdd4d9.entry.js +1 -0
  232. package/dist/components/p-4fad9296.entry.js +1 -0
  233. package/dist/components/p-50f43dfd.entry.js +1 -0
  234. package/dist/components/p-563d56c0.entry.js +1 -0
  235. package/dist/components/p-5827fd52.entry.js +1 -0
  236. package/dist/components/{p-7af6b832.entry.js → p-590fb0e7.entry.js} +1 -1
  237. package/dist/components/p-5c5dfc4a.entry.js +1 -0
  238. package/dist/components/p-66f4cdd9.entry.js +1 -0
  239. package/dist/components/p-6dc6f729.entry.js +1 -0
  240. package/dist/components/p-6f9ab63c.entry.js +1 -0
  241. package/dist/components/p-7502b8b4.entry.js +1 -0
  242. package/dist/components/p-750e3ec8.entry.js +1 -0
  243. package/dist/components/p-8c0b0121.entry.js +1 -0
  244. package/dist/components/p-95518776.entry.js +1 -0
  245. package/dist/components/p-99d9bb29.entry.js +1 -0
  246. package/dist/components/p-9a4b5746.entry.js +1 -0
  247. package/dist/components/p-9c823b5e.entry.js +1 -0
  248. package/dist/components/p-9d64d1fd.entry.js +1 -0
  249. package/dist/components/p-ab4447f6.entry.js +1 -0
  250. package/dist/components/p-b073d78f.entry.js +1 -0
  251. package/dist/components/{p-8b016d76.entry.js → p-b5e64725.entry.js} +1 -1
  252. package/dist/components/p-b630e51a.entry.js +1 -0
  253. package/dist/components/p-c91b4eec.entry.js +1 -0
  254. package/dist/components/{p-0eeddc13.entry.js → p-d05a09df.entry.js} +1 -1
  255. package/dist/components/{p-84fd3e40.entry.js → p-d0b1e963.entry.js} +1 -1
  256. package/dist/components/p-d25364db.entry.js +1 -0
  257. package/dist/components/p-d3bb444a.entry.js +1 -0
  258. package/dist/components/p-d4f239d7.entry.js +1 -0
  259. package/dist/components/{p-a81cba86.entry.js → p-deb9bbed.entry.js} +1 -1
  260. package/dist/components/p-df772a35.entry.js +1 -0
  261. package/dist/components/p-e5113509.entry.js +1 -0
  262. package/dist/components/p-e6a0b8c2.entry.js +1 -0
  263. package/dist/components/p-e8f0d7fc.entry.js +1 -0
  264. package/dist/components/{p-abb2ad00.entry.js → p-f189be4f.entry.js} +1 -1
  265. package/dist/components/p-f221eca2.entry.js +1 -0
  266. package/dist/components/p-f2416727.entry.js +1 -0
  267. package/dist/components/{p-50ea5b07.entry.js → p-f7716080.entry.js} +1 -1
  268. package/dist/components/p-fd85675b.entry.js +1 -0
  269. package/dist/components/{p-ea97a94e.entry.js → p-fe167c78.entry.js} +2 -2
  270. package/dist/components/p-ffccfeb6.entry.js +1 -0
  271. package/dist/esm/components-section.entry.js +1 -1
  272. package/dist/esm/components.js +1 -1
  273. package/dist/esm/eds-accordion.entry.js +2 -2
  274. package/dist/esm/eds-alert.entry.js +2 -2
  275. package/dist/esm/{eds-avatar_34.entry.js → eds-avatar_28.entry.js} +481 -495
  276. package/dist/esm/eds-breadcrumb.entry.js +141 -0
  277. package/dist/esm/eds-card-desc_2.entry.js +72 -0
  278. package/dist/esm/eds-card-generic.entry.js +88 -0
  279. package/dist/esm/eds-card-project.entry.js +1 -1
  280. package/dist/esm/eds-card-tags.entry.js +1 -1
  281. package/dist/esm/eds-card-tool.entry.js +1 -1
  282. package/dist/esm/eds-code-block.entry.js +1 -1
  283. package/dist/esm/eds-gauge.entry.js +56 -0
  284. package/dist/esm/eds-icon-arrow-diagonal.entry.js +1 -1
  285. package/dist/esm/eds-icon-arrow-right.entry.js +1 -1
  286. package/dist/esm/eds-icon-bluesky.entry.js +1 -1
  287. package/dist/esm/eds-icon-bookmark.entry.js +1 -1
  288. package/dist/esm/eds-icon-chevron-down.entry.js +1 -1
  289. package/dist/esm/eds-icon-chevron-left.entry.js +1 -1
  290. package/dist/esm/eds-icon-chevron-right.entry.js +1 -1
  291. package/dist/esm/eds-icon-chevron-up.entry.js +1 -1
  292. package/dist/esm/eds-icon-close.entry.js +1 -1
  293. package/dist/esm/eds-icon-copy.entry.js +1 -1
  294. package/dist/esm/eds-icon-eu.entry.js +1 -1
  295. package/dist/esm/eds-icon-external.entry.js +1 -1
  296. package/dist/esm/eds-icon-facebook.entry.js +1 -1
  297. package/dist/esm/eds-icon-gitlab.entry.js +1 -1
  298. package/dist/esm/eds-icon-linkedin.entry.js +1 -1
  299. package/dist/esm/eds-icon-loader.entry.js +1 -1
  300. package/dist/esm/eds-icon-mastodon.entry.js +1 -1
  301. package/dist/esm/eds-icon-menu.entry.js +1 -1
  302. package/dist/esm/eds-icon-minus.entry.js +1 -1
  303. package/dist/esm/eds-icon-more.entry.js +1 -1
  304. package/dist/esm/eds-icon-paper.entry.js +1 -1
  305. package/dist/esm/eds-icon-plus.entry.js +1 -1
  306. package/dist/esm/eds-icon-portal.entry.js +1 -1
  307. package/dist/esm/eds-icon-private.entry.js +1 -1
  308. package/dist/esm/eds-icon-public.entry.js +1 -1
  309. package/dist/esm/eds-icon-search.entry.js +1 -1
  310. package/dist/esm/eds-icon-star.entry.js +1 -1
  311. package/dist/esm/eds-icon-success.entry.js +1 -1
  312. package/dist/esm/eds-icon-thumbs-down.entry.js +1 -1
  313. package/dist/esm/eds-icon-thumbs-up.entry.js +1 -1
  314. package/dist/esm/eds-icon-tutorial.entry.js +1 -1
  315. package/dist/esm/eds-icon-twitter.entry.js +1 -1
  316. package/dist/esm/eds-icon-unknown.entry.js +1 -1
  317. package/dist/esm/eds-icon-updown.entry.js +1 -1
  318. package/dist/esm/eds-icon-user.entry.js +1 -1
  319. package/dist/esm/eds-icon-youtube.entry.js +1 -1
  320. package/dist/esm/eds-pie.entry.js +102 -0
  321. package/dist/esm/eds-progress-bar.entry.js +1 -1
  322. package/dist/esm/eds-rating.entry.js +1 -1
  323. package/dist/esm/eds-section-core_2.entry.js +3 -3
  324. package/dist/esm/eds-spinner.entry.js +1 -1
  325. package/dist/esm/eds-switch.entry.js +2 -2
  326. package/dist/esm/eds-tooltip.entry.js +28 -0
  327. package/dist/esm/index-fdb33359.js +28 -4
  328. package/dist/esm/loader.js +1 -1
  329. package/dist/esm/token-spacing.entry.js +12 -0
  330. package/dist/hydrate/index.js +185 -112
  331. package/dist/hydrate/index.mjs +185 -112
  332. package/dist/types/components/eds-table/eds-table.d.ts +69 -0
  333. package/dist/types/components.d.ts +48 -0
  334. package/dist/types/shared-ui/eds-form/eds-form.d.ts +3 -0
  335. package/dist/types/shared-ui/eds-steps-v2/eds-steps-v2.d.ts +2 -0
  336. package/package.json +1 -1
  337. package/dist/cjs/eds-pagination_2.cjs.entry.js +0 -403
  338. package/dist/components/p-04b4e9d0.entry.js +0 -1
  339. package/dist/components/p-0863352c.entry.js +0 -1
  340. package/dist/components/p-0d6434e1.entry.js +0 -1
  341. package/dist/components/p-0e94a89f.entry.js +0 -1
  342. package/dist/components/p-100909ce.entry.js +0 -1
  343. package/dist/components/p-124b8747.entry.js +0 -1
  344. package/dist/components/p-14a223fe.entry.js +0 -1
  345. package/dist/components/p-18ceadd2.entry.js +0 -1
  346. package/dist/components/p-26d6679b.entry.js +0 -1
  347. package/dist/components/p-2b1b2026.entry.js +0 -1
  348. package/dist/components/p-3c642a30.entry.js +0 -1
  349. package/dist/components/p-46619042.entry.js +0 -1
  350. package/dist/components/p-511b23ec.entry.js +0 -1
  351. package/dist/components/p-5462923d.entry.js +0 -1
  352. package/dist/components/p-6199b8c0.entry.js +0 -1
  353. package/dist/components/p-624e653e.entry.js +0 -1
  354. package/dist/components/p-6ba42d02.entry.js +0 -1
  355. package/dist/components/p-6e929acb.entry.js +0 -1
  356. package/dist/components/p-6ede7101.entry.js +0 -1
  357. package/dist/components/p-70bac015.entry.js +0 -1
  358. package/dist/components/p-822ac246.entry.js +0 -1
  359. package/dist/components/p-848506b8.entry.js +0 -1
  360. package/dist/components/p-85634ad2.entry.js +0 -1
  361. package/dist/components/p-8bdf5841.entry.js +0 -1
  362. package/dist/components/p-8ff39cef.entry.js +0 -1
  363. package/dist/components/p-affe2b55.entry.js +0 -1
  364. package/dist/components/p-b31591db.entry.js +0 -1
  365. package/dist/components/p-b7efd666.entry.js +0 -1
  366. package/dist/components/p-ba784274.entry.js +0 -1
  367. package/dist/components/p-c0b22803.entry.js +0 -1
  368. package/dist/components/p-cdd491f5.entry.js +0 -1
  369. package/dist/components/p-d268c96b.entry.js +0 -1
  370. package/dist/components/p-d437bae2.entry.js +0 -1
  371. package/dist/components/p-d456e649.entry.js +0 -1
  372. package/dist/components/p-dae8f66a.entry.js +0 -1
  373. package/dist/components/p-e1791844.entry.js +0 -1
  374. package/dist/components/p-e82edd4a.entry.js +0 -1
  375. package/dist/components/p-e9f608a8.entry.js +0 -1
  376. package/dist/components/p-f26fd186.entry.js +0 -1
  377. package/dist/components/p-fe1cba17.entry.js +0 -1
  378. package/dist/esm/eds-pagination_2.entry.js +0 -398
@@ -8,7 +8,7 @@ export class EdsIconTwitter {
8
8
  this.class = '';
9
9
  }
10
10
  render() {
11
- return h("span", { key: '1a7ad8d7cbef70822ebda2f152d8b537df1eaf27', class: this.class, innerHTML: twitter });
11
+ return h("span", { key: 'c2ee643b5da517a53bd97ec6263161927ad229a7', class: this.class, innerHTML: twitter });
12
12
  }
13
13
  static get is() { return "eds-icon-twitter"; }
14
14
  static get properties() {
@@ -8,7 +8,7 @@ export class EdsIconYoutube {
8
8
  this.class = '';
9
9
  }
10
10
  render() {
11
- return h("span", { key: '2236f8f5ede15d7eef54f2fd4fe6ca81c996166f', class: this.class, innerHTML: youtube });
11
+ return h("span", { key: '0a6abd6b62e24c07b4338f0f1f6febbec876791f', class: this.class, innerHTML: youtube });
12
12
  }
13
13
  static get is() { return "eds-icon-youtube"; }
14
14
  static get properties() {
@@ -57,10 +57,10 @@ export class EdsImg {
57
57
  imgOpts['loading'] = 'lazy';
58
58
  imgOpts['decoding'] = 'async';
59
59
  }
60
- return (h("div", { key: 'de3328e21b2b038984e74c08cd757cd85c7a7e01', class: {
60
+ return (h("div", { key: '13ed3aa346c99321c609e49ce045b6361921350f', class: {
61
61
  'items-center justify-center': true,
62
62
  'effect-bg-pattern': this.lazyload && this.showBg
63
- } }, h("picture", { key: '4e623a25c64ce1b2c09adf3519f12bde04280ba3' }, this.formats.map((format) => (h("source", { type: format.type, srcSet: format.srcset, media: format.media, sizes: this.sizes }))), h("img", Object.assign({ key: '6d87af22189017aa1e158c01a8295c98381a1ba1', ref: (el) => (this.img = el), class: {
63
+ } }, h("picture", { key: '56aa0ed8fd1ef8f9faf6ad576dd05edc34139c9b' }, this.formats.map((format) => (h("source", { type: format.type, srcSet: format.srcset, media: format.media, sizes: this.sizes }))), h("img", Object.assign({ key: '78e3ed9adcfe423d48388bf30140f4b70649faf7', ref: (el) => (this.img = el), class: {
64
64
  'effect-opacity object-cover object-center': true,
65
65
  'opacity-100': this.loaded,
66
66
  'opacity-0': !this.loaded
@@ -47,12 +47,12 @@ export class EdsInput {
47
47
  render() {
48
48
  const withIcon = !!this.icon;
49
49
  const describedBy = this.hasMessage || this.error ? `${this.name}-error` : '';
50
- return (h("div", { key: 'bb88b782042a37d2fcbd8a93f03056199d822559', class: "relative flex items-center" }, this.type === 'textarea' ? (h("textarea", { id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.innerVal.toString(), required: this.required, disabled: this.disabled, class: `min-h-80 input input-textarea ${withIcon ? 'input-with-icon' : ''} ${this.error ? 'input-error' : ''} ${this.extraClass}`, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput })) : this.type === 'select' ? (h("select", { id: this.inputId || this.name, name: this.name, required: this.required, disabled: this.disabled, class: `input input-select ${this.error ? 'input-error' : ''} ${this.extraClass}`, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, onInput: this.handleInput, onChange: this.handleInput }, this.options.map((option) => (h("option", { value: option.value, selected: option.value === this.innerVal, key: option.value }, option.label))))) : (h("input", { id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.innerVal.toString(), required: this.required, disabled: this.disabled, type: this.type, checked: ['radio', 'checkbox'].includes(this.type) ? this.checked : undefined, class: `
50
+ return (h("div", { key: '5c66c14b19aa3d5fc37e7a77a2d1194fa0be9b8c', class: "relative flex items-center" }, this.type === 'textarea' ? (h("textarea", { id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.innerVal.toString(), required: this.required, disabled: this.disabled, class: `min-h-80 input input-textarea ${withIcon ? 'input-with-icon' : ''} ${this.error ? 'input-error' : ''} ${this.extraClass}`, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput })) : this.type === 'select' ? (h("select", { id: this.inputId || this.name, name: this.name, required: this.required, disabled: this.disabled, class: `input input-select ${this.error ? 'input-error' : ''} ${this.extraClass}`, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, onInput: this.handleInput, onChange: this.handleInput }, this.options.map((option) => (h("option", { value: option.value, selected: option.value === this.innerVal, key: option.value }, option.label))))) : (h("input", { id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.innerVal.toString(), required: this.required, disabled: this.disabled, type: this.type, checked: ['radio', 'checkbox'].includes(this.type) ? this.checked : undefined, class: `
51
51
  ${this.extraClass || ''}
52
52
  input ${this.type === 'radio' ? 'input-radio' : this.type === 'checkbox' ? 'input-checkbox' : ''}
53
53
  ${withIcon && this.type !== 'radio' && this.type !== 'checkbox' ? 'input-icon pl-36' : ''}
54
54
  ${this.error ? 'input-error' : ''}
55
- `, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput })), this.maxLength && this.type === 'textarea' && (h("span", { key: '7b1cc490731455d00d500308458e6b2cd320fccf', class: `input-counter f-ui-05 absolute bottom-8 right-8 ${this.maxLengthReached ? 'input-counter-error' : ''}` }, this.maxLength)), this.icon && (h("eds-icon-wrapper", { key: 'ce4d5548bc0fa1e681e3b74b03d071d73d8372d5', class: `absolute top-1/2 left-[4px] -translate-y-1/2 ${this.disabled ? 'text-lightest' : 'text-lightest'}`, icon: this.icon }))));
55
+ `, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput })), this.maxLength && this.type === 'textarea' && (h("span", { key: '4326db3729dea8bbddb7a109a90424aa832aded7', class: `input-counter f-ui-05 absolute bottom-8 right-8 ${this.maxLengthReached ? 'input-counter-error' : ''}` }, this.maxLength)), this.icon && (h("eds-icon-wrapper", { key: 'df2f5598aedd36b9cb2ce886fb8ea08da58dc5ff', class: `absolute top-1/2 left-[4px] -translate-y-1/2 ${this.disabled ? 'text-lightest' : 'text-lightest'}`, icon: this.icon }))));
56
56
  }
57
57
  static get is() { return "eds-input"; }
58
58
  static get properties() {
@@ -11,7 +11,7 @@ export class EdsInputFooter {
11
11
  this.link = undefined;
12
12
  }
13
13
  render() {
14
- return (h("div", { key: 'c3dbdb05ce4cc9244a1ebc9f3ce5718742924ea1', class: "space-y-4 mt-4" }, this.error && this.errorMessage && (h("div", { key: 'ccfde4960e1bec5697774de57da1a7948b5112c4', id: `error_${this.name}`, class: "text-error flex items-center" }, h("eds-icon-wrapper", { key: 'cc7171c96a7251c064f7ce527fe715aaac9a74e2', icon: "warning" }), h("p", { key: '99893066c8aeac76793fef4d5cf6d5b34dbbc25f', class: "f-ui-04 ml-4", innerHTML: this.errorMessage }))), this.message && h("p", { key: '55a6881d02d06440e6adac174a43a1cd59adf34b', id: `desc_${this.name}`, class: "f-ui-05 text-lighter", innerHTML: this.message }), this.link && (h("a", { key: 'bb84693685aedbe7ba28551a1d944c0e1d8eda57', href: this.link.url, class: "f-ui-05 effect-color hover:text-lighter underline underline-offset-4" }, this.link.label))));
14
+ return (h("div", { key: 'd5424778da81d6558246efe97917d3e3ccfa9aaa', class: "space-y-4 mt-4" }, this.error && this.errorMessage && (h("div", { key: 'e915fc1f4719f48eca5a831ac72913d2f91f633b', id: `error_${this.name}`, class: "text-error flex items-center" }, h("eds-icon-wrapper", { key: '9cc87cfd4955766947a2581604fe1e072f8d82a9', icon: "warning" }), h("p", { key: '564a2397fb7e8185e43e1c2be216c76060e7498e', class: "f-ui-04 ml-4", innerHTML: this.errorMessage }))), this.message && h("p", { key: '24e0702df7e5c2fe4ef0cc6755159fefe76b70a7', id: `desc_${this.name}`, class: "f-ui-05 text-lighter", innerHTML: this.message }), this.link && (h("a", { key: '9e3720a3ded9d755afd7755104df0942246f1fbe', href: this.link.url, class: "f-ui-05 effect-color hover:text-lighter underline underline-offset-4" }, this.link.label))));
15
15
  }
16
16
  static get is() { return "eds-input-footer"; }
17
17
  static get properties() {
@@ -10,7 +10,7 @@ export class EdsInputLabel {
10
10
  this.disabled = false;
11
11
  }
12
12
  render() {
13
- return (h("label", { key: '815b70d78f4004afb77a0c01772f750478dea1b3', htmlFor: this.name, class: `input-label ${this.disabled ? 'text-lighter' : ''}` }, this.label, this.required && (h("span", { key: 'de2cba1c7e89632b3aac40de573d730cf38a85c6' }, h("span", { key: '58326fb23edd4521b0f1c6e67366e7c589217387', "aria-hidden": "true" }, "*"), h("span", { key: 'e2208159652c9244e49c2c3d476a099a442d28ac', class: "sr-only" }, "required")))));
13
+ return (h("label", { key: 'd700690a67a8348836aec27d2ff4f4d4ee18b9c8', htmlFor: this.name, class: `input-label ${this.disabled ? 'text-lighter' : ''}` }, this.label, this.required && (h("span", { key: '9b52c053652db132a9bdb2d9fc64c569a529c2d9' }, h("span", { key: 'cd17268b6048ebaa70dc7f905fc7f7bf3ed3fa34', "aria-hidden": "true" }, "*"), h("span", { key: '352d7b5ef080336a5c7b53e0b710d5b0d7aa0efe', class: "sr-only" }, "required")))));
14
14
  }
15
15
  static get is() { return "eds-input-label"; }
16
16
  static get properties() {
@@ -45,7 +45,7 @@ export class EdsInputRange {
45
45
  return this.inputElement;
46
46
  }
47
47
  render() {
48
- return (h("div", { key: '9901432821b3dbdbf67e3b905c75acd7095ec8e9', class: "relative flex flex-col items-start space-y-2" }, h("input", { key: '44023ef4a7e3fec22666103ccec3e2346aea885d', id: this.inputId || this.name, name: this.name, min: this.min, max: this.max, step: this.step, value: this.sliderVal, required: this.required, disabled: this.disabled, type: "range", class: "w-full py-6 input", "aria-describedby": `desc_${this.name}`, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": this.sliderVal, onInput: this.onInput, onChange: this.onChange }), h("p", { key: 'b74e14f619acbe7b98966bac8ea2c5206d05ad62', id: `desc_${this.name}`, class: "block f-ui-05 text-lighter" }, "Current value: ", this.sliderVal)));
48
+ return (h("div", { key: '5c55f65e2acd6f4554af7d8ba513c9d9dfd445eb', class: "relative flex flex-col items-start space-y-2" }, h("input", { key: '4fcd0d3d978ddba7929958dd22a283c2ba61ee48', id: this.inputId || this.name, name: this.name, min: this.min, max: this.max, step: this.step, value: this.sliderVal, required: this.required, disabled: this.disabled, type: "range", class: "w-full py-6 input", "aria-describedby": `desc_${this.name}`, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": this.sliderVal, onInput: this.onInput, onChange: this.onChange }), h("p", { key: 'c63b223e6af149efb68cabbe5228e77b09ca2168', id: `desc_${this.name}`, class: "block f-ui-05 text-lighter" }, "Current value: ", this.sliderVal)));
49
49
  }
50
50
  static get is() { return "eds-input-range"; }
51
51
  static get properties() {
@@ -66,7 +66,7 @@ export class EdsInputSearch {
66
66
  return this.inputElement;
67
67
  }
68
68
  render() {
69
- return (h("div", { key: '2d74c44bf05f4ccbe81df14a3af112a763b01b5f', class: "relative flex items-center" }, h("eds-icon-wrapper", { key: 'c7c7c479801a9c5e6da0b616448f7b89ba25b040', icon: "search", class: "absolute top-1/2 left-[4px] -translate-y-1/2 text-lightest", "aria-hidden": "true" }), h("input", { key: '8e4954dc67ae59d46f2e3423325eccda0944363a', id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.value || '', required: this.required, disabled: this.disabled, type: "search", "aria-label": this.placeholder, class: `input pl-36 ${this.decorate}`,
69
+ return (h("div", { key: '27d6871df962e2bd27eac38b1a105142b1b68bab', class: "relative flex items-center" }, h("eds-icon-wrapper", { key: 'b4b497cb435c673a550b169dea93fbc7006d0c5e', icon: "search", class: "absolute top-1/2 left-[4px] -translate-y-1/2 text-lightest", "aria-hidden": "true" }), h("input", { key: '1419cd8f5b8791b5b812c57ba649567e1b6ec0bb', id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.value || '', required: this.required, disabled: this.disabled, type: "search", "aria-label": this.placeholder, class: `input pl-36 ${this.decorate}`,
70
70
  //onInput={this.onInput}
71
71
  onChange: this.onChange })));
72
72
  }
@@ -26,12 +26,12 @@ export class EdsInputSelect {
26
26
  const selectId = this.inputId || this.name;
27
27
  const placeholderText = this.placeholder || `Please select ${this.name}`;
28
28
  const describedBy = this.hasMessage || this.error ? `${this.name}-error` : undefined;
29
- return (h("div", { key: '0e1bf5f1ebf30d675e0b4927e7812a305f58d2b9', class: "relative" }, h("select", { key: 'b92542caca12d77e3160baa84760b37bbbe172c7', id: selectId, name: this.name, class: {
29
+ return (h("div", { key: '80cbdab87f5baa21df5edc857685c3af4dee3a58', class: "relative" }, h("select", { key: '4e8f84fd9dbc63df7981898cadc24450f48aa92a', id: selectId, name: this.name, class: {
30
30
  input: true,
31
31
  'input-error': this.error,
32
32
  'px-4': true,
33
33
  'py-2': true
34
- }, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, disabled: this.disabled, required: this.required, onChange: this.handleChange }, h("option", { key: 'fa911a07fd0053f6c7e5044aac3e6d0846344899', value: "", disabled: true, hidden: true }, placeholderText), this.options.map((opt, index) => (h("option", { key: index, value: opt.value, selected: opt.value === this.value }, opt.label)))), h("span", { key: 'afa3c7ad3c583dec2ffc2fd5087d7695509a2a25', class: "bg-dark rounded-xs absolute top-1/2 right-[6px] flex h-28 w-28 -translate-y-1/2 items-center justify-center" }, h("eds-icon-wrapper", { key: '1bb2a24fc9798a7359b9b45019b1432ff2e50e70', class: "w-20 h-20", icon: "chevron-right" }))));
34
+ }, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, disabled: this.disabled, required: this.required, onChange: this.handleChange }, h("option", { key: '54b90339cae4c5c80711793a8c68c4587e0c2495', value: "", disabled: true, hidden: true }, placeholderText), this.options.map((opt, index) => (h("option", { key: index, value: opt.value, selected: opt.value === this.value }, opt.label)))), h("span", { key: '6c9f0a0606f1d6f282c756f84ace7618584d5fa3', class: "bg-dark rounded-xs absolute top-1/2 right-[6px] flex h-28 w-28 -translate-y-1/2 items-center justify-center" }, h("eds-icon-wrapper", { key: '4524af72468d3b37c01b0252d4b6b2bf7454514e', class: "w-20 h-20", icon: "chevron-right" }))));
35
35
  }
36
36
  static get is() { return "eds-input-select"; }
37
37
  static get properties() {
@@ -94,7 +94,7 @@ export class EdsInputField {
94
94
  icon: this.icon,
95
95
  checked: this.checked
96
96
  };
97
- return (h("div", { key: '5243586c0bf3acc86d42684dbcd0288b3360b00c', class: "space-y-8" }, this.type === 'checkbox' || this.type === 'radio' ? (this.parsedOptions.length > 0 ? (h("fieldset", { class: "space-y-4 mt-8" }, h("div", { class: "flex justify-between" }, this.label && (h("eds-input-label", { name: this.inputId || this.name, label: this.label, required: this.required })), this.hint && (h("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint))), this.parsedOptions.map((option) => (h("div", { class: "flex items-center gap-x-2", key: option.value }, h("eds-input", Object.assign({}, inputOpts, { value: option.value, checked: (typeof this.value === 'string' ? this.value.split(',') : []).includes(String(option.value)) })), h("eds-input-label", { name: `${this.name}-${option.value}`, label: option.label })))))) : (h("div", { class: "flex items-center gap-x-8" }, h("eds-input", Object.assign({}, inputOpts, { value: this.value, checked: this.value === 'on' })), this.label && (h("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required }))))) : (h("div", null, h("div", { class: "flex justify-between" }, this.label && (h("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required })), this.hint && (h("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint))), this.type === 'select' ? (h("eds-input-select", Object.assign({}, inputOpts, { options: this.parsedOptions }))) : this.type === 'file' ? (h("input", { type: "file", id: this.inputId || this.name, name: this.name, onChange: this.onChange, disabled: this.disabled, required: this.required })) : this.type === 'search' ? (h("eds-input-search", { name: "search-box" })) : this.type === 'range' ? ((() => {
97
+ return (h("div", { key: 'e46f1b26212ee915c2fde3fa0c58a152005d2b50', class: "space-y-8" }, this.type === 'checkbox' || this.type === 'radio' ? (this.parsedOptions.length > 0 ? (h("fieldset", { class: "space-y-4 mt-8" }, h("div", { class: "flex justify-between" }, this.label && (h("eds-input-label", { name: this.inputId || this.name, label: this.label, required: this.required })), this.hint && (h("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint))), this.parsedOptions.map((option) => (h("div", { class: "flex items-center gap-x-2", key: option.value }, h("eds-input", Object.assign({}, inputOpts, { value: option.value, checked: (typeof this.value === 'string' ? this.value.split(',') : []).includes(String(option.value)) })), h("eds-input-label", { name: `${this.name}-${option.value}`, label: option.label })))))) : (h("div", { class: "flex items-center gap-x-8" }, h("eds-input", Object.assign({}, inputOpts, { value: this.value, checked: this.value === 'on' })), this.label && (h("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required }))))) : (h("div", null, h("div", { class: "flex justify-between" }, this.label && (h("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required })), this.hint && (h("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint))), this.type === 'select' ? (h("eds-input-select", Object.assign({}, inputOpts, { options: this.parsedOptions }))) : this.type === 'file' ? (h("input", { type: "file", id: this.inputId || this.name, name: this.name, onChange: this.onChange, disabled: this.disabled, required: this.required })) : this.type === 'search' ? (h("eds-input-search", { name: "search-box" })) : this.type === 'range' ? ((() => {
98
98
  var _a, _b, _c;
99
99
  const rangeProps = {
100
100
  name: inputOpts.name,
@@ -107,7 +107,7 @@ export class EdsInputField {
107
107
  const opt = this.parsedOptions;
108
108
  const numberValue = typeof this.value === 'string' ? parseFloat(this.value) : this.value || 0;
109
109
  return (h("eds-input-range", Object.assign({}, rangeProps, { min: (_a = opt[0]) === null || _a === void 0 ? void 0 : _a.value, max: (_b = opt[1]) === null || _b === void 0 ? void 0 : _b.value, step: (_c = opt[2]) === null || _c === void 0 ? void 0 : _c.value, value: numberValue })));
110
- })()) : (h("eds-input", Object.assign({}, inputOpts))))), h("eds-input-footer", { key: 'e4e1f28766471d5451f342aa4d60d58fca2ddd01', id: `${this.name}-footer`, name: this.name, message: this.message, "error-message": this.errorMessage, error: this.error, link: this.link })));
110
+ })()) : (h("eds-input", Object.assign({}, inputOpts))))), h("eds-input-footer", { key: 'ecf3ee5c0400749f1d89b53edfdee6fe62ca2a32', id: `${this.name}-footer`, name: this.name, message: this.message, "error-message": this.errorMessage, error: this.error, link: this.link })));
111
111
  }
112
112
  static get is() { return "eds-input-field"; }
113
113
  static get encapsulation() { return "shadow"; }
@@ -216,7 +216,7 @@ export class EdsLink {
216
216
  const labelClasses = this.hideLabelOnSmallScreen
217
217
  ? 'hidden lg:flex' // Tailwind example: hidden on small screens, visible on larger
218
218
  : '';
219
- return (h(ComponentType, { key: 'ee6e8eeb12df62ee801164877a357c075590ebae', class: `${classes || ''} ${this.extraClass || ''}`, href: !this.disabled ? this.url : undefined, target: this.external && !this.disabled ? '_blank' : undefined, rel: this.external && !this.disabled ? 'noopener noreferrer' : undefined, "aria-label": computedAriaLabel, "aria-disabled": this.disabled ? 'true' : null, "aria-current": this.current ? 'page' : undefined, download: this.download ? '' : undefined, onClick: (event) => this.handleClick(event) }, h("span", { key: '7b35e3ddca346ff09730aa332b9f47b6d6707721', class: "z-1 relative inline-flex items-center justify-center" }, this.renderLeftIcon(), h("span", { key: 'fe4201815e3791e6e3d6da8856d7a7a9e0211cfc', class: labelClasses }, this.label), this.renderRightIcon())));
219
+ return (h(ComponentType, { key: '8c7ab8b80b9765e83e4e57d59ba1b45fe36f15b7', class: `${classes || ''} ${this.extraClass || ''}`, href: !this.disabled ? this.url : undefined, target: this.external && !this.disabled ? '_blank' : undefined, rel: this.external && !this.disabled ? 'noopener noreferrer' : undefined, "aria-label": computedAriaLabel, "aria-disabled": this.disabled ? 'true' : null, "aria-current": this.current ? 'page' : undefined, download: this.download ? '' : undefined, onClick: (event) => this.handleClick(event) }, h("span", { key: '94284b425a331f6a56a3e63db89fed5fa1a207c1', class: "z-1 relative inline-flex items-center justify-center" }, this.renderLeftIcon(), h("span", { key: '7496886c7c975d6795633c36b9cc8d31673d5a4b', class: labelClasses }, this.label), this.renderRightIcon())));
220
220
  }
221
221
  static get is() { return "eds-link"; }
222
222
  static get encapsulation() { return "shadow"; }
@@ -76,7 +76,7 @@ export class EdsLogo {
76
76
  }
77
77
  render() {
78
78
  const logoContent = this.getLogo();
79
- return (h("a", { key: 'a23e44227ebaa3b999c961e1354c268f2c916a6f', href: this.href, onClick: () => this.handleClick(), class: "eds-logo-wrapper", "aria-label": this.label }, h("div", { key: 'cba53a54e6d31aabfa62ddcd8aa53bda56b8b706', innerHTML: logoContent })));
79
+ return (h("a", { key: 'ab11d53e1f417221dcca2de441c7b3efa96f99a5', href: this.href, onClick: () => this.handleClick(), class: "eds-logo-wrapper", "aria-label": this.label }, h("div", { key: '0d4a6b970788534d34d55b28fe83407ce7c4e00e', innerHTML: logoContent })));
80
80
  }
81
81
  static get is() { return "eds-logo"; }
82
82
  static get encapsulation() { return "shadow"; }
@@ -121,9 +121,9 @@ export class EdsModal {
121
121
  render() {
122
122
  // Generate a unique id for the title so we can reference it for aria-labelledby.
123
123
  const titleId = `modal-title-${this.el.tagName.toLowerCase()}`;
124
- return (h("div", { key: '3a2446813eebf215f2c7aafc26d5688f58020c54', id: "eds-modal", class: `${this.isOpen ? 'block' : 'hidden'} fixed inset-0 z-9999999 flex`, role: "dialog", "aria-modal": "true", "aria-labelledby": titleId }, this.isOpen && (h("div", { key: '7081928b01c09e692cac0f61dbc58b4f5578271d', class: "fixed inset-0 bg-dark bg-opacity-90" // Add backdrop-blur utility class here
124
+ return (h("div", { key: 'affa340307adc5bdd637696b56a59e3f73cbf7e9', id: "eds-modal", class: `${this.isOpen ? 'block' : 'hidden'} fixed inset-0 z-9999999 flex`, role: "dialog", "aria-modal": "true", "aria-labelledby": titleId }, this.isOpen && (h("div", { key: 'e4359b32052a155f879070deea34fbca2fb67e3b', class: "fixed inset-0 bg-dark bg-opacity-90" // Add backdrop-blur utility class here
125
125
  ,
126
- onClick: () => this.close() })), h("div", { key: '0fc5f4716022cb01c2da9a28738586710625c70f', class: `container absolute bg-inverse z-10 ${this.getModalPositionClasses()} grow justify-center` }, h("div", { key: '8e4bdffba2f69b18e8846e4c2709c5c423b0a99e', class: `flex justify-between items-center border-b-2 border-softer px-20 py-20 ${this.inverseHeader ? 'bg-strongest text-inverse' : 'bg-dark text-default'}` }, h("span", { key: '6e0d237fc95c1b74b1b0c0456848684578367302', id: titleId, class: `f-heading-04 ${this.getTruncateClass()}` }, this.heading), h("eds-button", { key: '3499de216da4ba38edb66cdcd688872f51b41aaf', intent: "tertiary", icon: "close", "aria-label": "Close modal", onClick: () => this.close(), "extra-class": "ml-8 text-default" })), h("div", { key: 'f723dded796961e925cc2b046c31e7345fd3e159', class: "pt-8 px-20 py-20" }, h("slot", { key: 'ffe1213b65e60dfaf7c220e3c7e3dd8495706dcf' })))));
126
+ onClick: () => this.close() })), h("div", { key: 'ba95f463e8c807e2ac2e900b3167191908ca2f5d', class: `container absolute bg-inverse z-10 ${this.getModalPositionClasses()} grow justify-center` }, h("div", { key: '1fc4649d6ba728745e4f1ed73e8fb8bdac6eda59', class: `flex justify-between items-center border-b-2 border-softer px-20 py-20 ${this.inverseHeader ? 'bg-strongest text-inverse' : 'bg-dark text-default'}` }, h("span", { key: '731e7cb6c7aaa36bcda8d1c32bd1b8da9d85f253', id: titleId, class: `f-heading-04 ${this.getTruncateClass()}` }, this.heading), h("eds-button", { key: '89657ac29b27ce173569353f3101e998cb756eec', intent: "tertiary", icon: "close", "aria-label": "Close modal", onClick: () => this.close(), "extra-class": "ml-8 text-default" })), h("div", { key: '2e39edaa1f5cc5389873e203c3e4294de8b56678', class: "pt-8 px-20 py-20" }, h("slot", { key: '0fb09f52100042fc5f20f5f443a8f5cff381d944' })))));
127
127
  }
128
128
  static get is() { return "eds-modal"; }
129
129
  static get encapsulation() { return "shadow"; }
@@ -173,7 +173,7 @@ export class EdsPagination {
173
173
  }
174
174
  }
175
175
  render() {
176
- return (h("div", { key: '1d53f69179791434224f152503c0b81c4cfc7cd3' }, this.total > 0 && this.mode === 'default' && (h("p", { key: '00ae324b49d62a74feee9d1cde21d67cd726ecf0', class: "f-ui-03 text-lightest mb-28 w-full text-center" }, h("span", { key: 'dedf2ce2700eae9d1386b305ec1d1904b133f992', class: "sr-only" }, "Results:"), this.pageResults())), this.mode === 'navigator' || (this.lastPage && this.lastPage > 1) ? (h("nav", { "aria-label": "Pagination" }, h("ul", { class: "flex items-center justify-center gap-x-8" }, h("li", { class: "mr-auto" }, h("eds-link", { label: this.prevLabel, url: this.mode === 'navigator'
176
+ return (h("div", { key: '6377e0187e461bcbeac835dd7cb83e93ef199865' }, this.total > 0 && this.mode === 'default' && (h("p", { key: 'ec2a6b6a40c76352743d012c51cda5d7fe1137df', class: "f-ui-03 text-lightest mb-28 w-full text-center" }, h("span", { key: '3a23e3d156f87167b0dacb4085870958ce19e793', class: "sr-only" }, "Results:"), this.pageResults())), this.mode === 'navigator' || (this.lastPage && this.lastPage > 1) ? (h("nav", { "aria-label": "Pagination" }, h("ul", { class: "flex items-center justify-center gap-x-8" }, h("li", { class: "mr-auto" }, h("eds-link", { label: this.prevLabel, url: this.mode === 'navigator'
177
177
  ? this.prevUrl || '#' // Use prevUrl if provided, otherwise disable with '#'
178
178
  : this.isFirstPage()
179
179
  ? '#'
@@ -39,7 +39,7 @@ export class EdsProgressBar {
39
39
  ]
40
40
  .filter(Boolean)
41
41
  .join(' ');
42
- return (h("div", { key: '8760afff9f85f05fec52b0a7fb668661e49dc06f', role: "progressbar", "aria-valuemin": "0", "aria-valuemax": "100", "aria-valuenow": progressValue, "aria-valuetext": `${progressValue}%`, class: outerClasses }, h("div", { key: '06165b69fe7e170f4f61d9f95b5a44342d4ee67a', class: fillClasses, style: { width: `${progressValue}%` } }), h("div", { key: '0c48e65c5a6cb0b4dff7a7e3e248052cdc29957d', class: "absolute inset-0 flex items-center justify-center pointer-events-none z-10" }, h("span", { key: 'fc6f7396cf741ba18d1b5d065bdd1b7bfff12abe', class: "text-default f-body-02" }, progressValue, "%"))));
42
+ return (h("div", { key: '3360c1a9e61c83fee5312d007f6d2965a8983eba', role: "progressbar", "aria-valuemin": "0", "aria-valuemax": "100", "aria-valuenow": progressValue, "aria-valuetext": `${progressValue}%`, class: outerClasses }, h("div", { key: '7210dc5931f08626b286c30ae790a3a864533632', class: fillClasses, style: { width: `${progressValue}%` } }), h("div", { key: '7586cd593b4e851f4605ad33b96781841ee0b1aa', class: "absolute inset-0 flex items-center justify-center pointer-events-none z-10" }, h("span", { key: '21fa3de543e5e717ed4fd76c689aa47c3fa6a853', class: "text-default f-body-02" }, progressValue, "%"))));
43
43
  }
44
44
  static get is() { return "eds-progress-bar"; }
45
45
  static get encapsulation() { return "shadow"; }
@@ -39,7 +39,7 @@ export class EdsRating {
39
39
  this.rating.emit(rating);
40
40
  }
41
41
  render() {
42
- return (h("div", { key: '685ac01e4db577b07d00030b0c25e10b9b0defa8', role: "radiogroup", class: "stars flex space-x-1 my-8" }, Array.from({ length: this.ratingCount }, (_, index) => {
42
+ return (h("div", { key: '6686575f0b8b9017bf19b105208f6adbfd46dabd', role: "radiogroup", class: "stars flex space-x-1 my-8" }, Array.from({ length: this.ratingCount }, (_, index) => {
43
43
  const starRating = index + 1;
44
44
  const isSelected = starRating <= this.selectedRating;
45
45
  // Use the mapping text if available; otherwise, fall back to a generic label.
@@ -20,7 +20,7 @@ export class EdsSectionCore {
20
20
  }
21
21
  render() {
22
22
  const TagType = this.tag; // Set dynamic tag type (div or section)
23
- return (h(TagType, { key: 'ff0b28dffb8aca2ad0ac1ee3eea7ebda75078f96' }, h("eds-section-heading", { key: '23e9bb2b084c6b8a534dd310fbe10e0de0211187', headingLevel: this.headingLevel, sectionTitle: this.sectionTitle }), h("slot", { key: '9cae6378bdb5304191d393967025570f94fdcdb2' })));
23
+ return (h(TagType, { key: '43f8d599041ae0c9761988fdec4872ec4a8ca037' }, h("eds-section-heading", { key: 'd120ddd851a0485e2edb43e2a6f508a661f35c07', headingLevel: this.headingLevel, sectionTitle: this.sectionTitle }), h("slot", { key: '9818b82a3eebcb741f5bccc9781e4212f2c5fa3d' })));
24
24
  }
25
25
  static get is() { return "eds-section-core"; }
26
26
  static get encapsulation() { return "shadow"; }
@@ -36,12 +36,12 @@ export class EdsSectionHeading {
36
36
  render() {
37
37
  const TagType = this.tag; // Dynamically set tag type for the container
38
38
  const HeadingTag = this.headingLevel; // Dynamically set heading level
39
- return (h(TagType, { key: 'bb32f87fd944ebf08ebcde3980c18cd4bed18783', class: {
39
+ return (h(TagType, { key: '740ed8b3208e07091a1f4c79888e172dec33773a', class: {
40
40
  'ui-section-header flex flex-wrap items-center justify-between gap-x-12 gap-y-8': true,
41
41
  container: this.withContainer,
42
42
  'pt-48': this.spacingLarge,
43
43
  'pt-28': !this.spacingLarge
44
- } }, h(HeadingTag, { key: '0cd8ea8aada58e30675579c82ba130b40257c7c6', class: this.getHeadingClass() }, this.sectionTitle)));
44
+ } }, h(HeadingTag, { key: '4d4ceef35b7cb06bfbff2fdae47e66dd7ac10c49', class: this.getHeadingClass() }, this.sectionTitle)));
45
45
  }
46
46
  static get is() { return "eds-section-heading"; }
47
47
  static get properties() {
@@ -37,7 +37,7 @@ export class EdsSpinner {
37
37
  alignItems: 'center',
38
38
  justifyContent: 'center'
39
39
  };
40
- return (h(Host, { key: '214876a56949c147e74c1a7072406234c2fb1a02' }, h("div", { key: 'b75b639fa38aafaf13e1eb727e28c5e67f3edafe', class: "spinner-overlay", style: overlayStyle }, h("span", { key: '87ba2ef7e1e9601ac0ae8132e9c891b4149a20b5', class: "spinner", style: spinnerStyle }))));
40
+ return (h(Host, { key: 'f687ccbbb05840b7699202f3758ec4a8d0de1bc4' }, h("div", { key: '4bb5c697f1ccd90d2d65d519fcfb3ec809b106ac', class: "spinner-overlay", style: overlayStyle }, h("span", { key: 'a07722d9ee9c94d03d9766a4b297a498998c00be', class: "spinner", style: spinnerStyle }))));
41
41
  }
42
42
  static get is() { return "eds-spinner"; }
43
43
  static get encapsulation() { return "shadow"; }
@@ -23,11 +23,11 @@ export class EdsSwitch {
23
23
  render() {
24
24
  // Compute an accessible name based on state.
25
25
  const accessibleLabel = this.labelOn || this.labelOff ? (this.checked ? this.labelOn : this.labelOff) : 'Toggle switch';
26
- return (h("div", { key: '442876be1bad7ea8c9e383bc68b192a2744c38f9', class: "switch-container" }, this.labelOff && h("span", { key: 'e4a7b01c0188d26e5b6524741b1c8ef66e357e35', class: "switch-label switch-label--off mr-8" }, this.labelOff), h("button", { key: 'f56b3762622671acf793568a96567193c38999c7', type: "button", role: "switch", "aria-checked": this.checked ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": accessibleLabel, class: {
26
+ return (h("div", { key: '385c1463b11e83ff5b982218e0f28c54299210fd', class: "switch-container" }, this.labelOff && h("span", { key: 'f7e825a34487a1cec466b5172d77c2802029607c', class: "switch-label switch-label--off mr-8" }, this.labelOff), h("button", { key: 'fd1e8ffab675ee79edc6b99de4dfff42545d91af', type: "button", role: "switch", "aria-checked": this.checked ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": accessibleLabel, class: {
27
27
  switch: true,
28
28
  'switch--checked': this.checked,
29
29
  'switch--disabled': this.disabled
30
- }, onClick: this.toggleSwitch, disabled: this.disabled }, h("span", { key: 'b76e89a1e37130542dd86ce3aed8c5690aeeda63', class: "switch-handle" })), this.labelOn && h("span", { key: '4e5d4f8a2f19bb612a17fa73e441e7e718b71508', class: "switch-label switch-label--on ml-8" }, this.labelOn)));
30
+ }, onClick: this.toggleSwitch, disabled: this.disabled }, h("span", { key: '0d185957ffe2577ffc8798c298820c84c838a2a4', class: "switch-handle" })), this.labelOn && h("span", { key: 'f12b752ff94a363bb9593bd00cf43e7110e4399e', class: "switch-label switch-label--on ml-8" }, this.labelOn)));
31
31
  }
32
32
  static get is() { return "eds-switch"; }
33
33
  static get encapsulation() { return "shadow"; }
@@ -95,6 +95,11 @@ table {
95
95
  background-color: rgba(255, 255, 255, .15);
96
96
  }
97
97
 
98
+ .px-8 {
99
+ padding-left: 0.5rem;
100
+ padding-right: 0.5rem;
101
+ }
102
+
98
103
  .px-20 {
99
104
  padding-left: 1.25rem;
100
105
  padding-right: 1.25rem;
@@ -1,3 +1,31 @@
1
+ /**
2
+ * <eds-table
3
+ table-data='[
4
+ { "Property": "username", "Type": "string", "Required": "Yes" },
5
+ { "Property": "password", "Type": "string", "Required": "Yes" },
6
+ { "Property": "email", "Type": "string", "Required": "No" }
7
+ ]'
8
+ config='{
9
+ "Type": { "format": "uppercase" },
10
+ "Property": { "format": "code" },
11
+ "Required": { "hidden": true }
12
+ }'
13
+ actions='[
14
+ { "name": "view", "label": "View" },
15
+ { "name": "edit", "label": "Edit" },
16
+ { "name": "delete", "type": "checkbox" }
17
+ ]'
18
+ ></eds-table>
19
+
20
+ <script>
21
+ const table = document.querySelector('eds-table');
22
+ table.addEventListener('rowaction', e => {
23
+ const { action, row } = e.detail;
24
+ console.log(e.detail)
25
+ // etc.
26
+ });
27
+ </script>
28
+ */
1
29
  import { sendAnalytics } from "../../utils/analytics";
2
30
  import { h } from "@stencil/core";
3
31
  import { parseData } from "../../utils/sharedUtils";
@@ -25,6 +53,10 @@ export class EdsTable {
25
53
  this.searchEnabled = false;
26
54
  this.hostWidth = undefined;
27
55
  this.columnSize = 'default';
56
+ this.actions = [];
57
+ this.actionTemplate = undefined;
58
+ this.parsedActions = [];
59
+ this.dataColumns = [];
28
60
  this.tbData = [];
29
61
  this.columns = [];
30
62
  this.currentPage = 1;
@@ -39,8 +71,18 @@ export class EdsTable {
39
71
  handleConfigChange() {
40
72
  this.parseConfig();
41
73
  }
74
+ handleActionsChange() {
75
+ try {
76
+ this.parsedActions = typeof this.actions === 'string' ? JSON.parse(this.actions) : this.actions;
77
+ }
78
+ catch (_a) {
79
+ console.error('Failed to parse actions JSON');
80
+ this.parsedActions = [];
81
+ }
82
+ }
42
83
  componentWillLoad() {
43
84
  this.parseConfig();
85
+ this.handleActionsChange();
44
86
  this.data ? this.parseData() : this.endpoint && this.fetchData();
45
87
  }
46
88
  componentDidLoad() {
@@ -69,24 +111,20 @@ export class EdsTable {
69
111
  parseData() {
70
112
  try {
71
113
  this.tbData = parseData(this.data);
72
- //this.tbData = typeof this.data === 'string' ? JSON.parse(this.data) : this.data || [];
73
114
  this.totalRows = this.tbData.length;
74
115
  this.updateColumns();
75
116
  this.currentPage = 1;
76
117
  }
77
118
  catch (error) {
78
- // eslint-disable-next-line
79
119
  console.error('Failed to parse data:', error);
80
120
  this.tbData = [];
81
121
  }
82
122
  }
83
123
  parseConfig() {
84
124
  try {
85
- //this.parsedConfig = parseData(this.config);
86
125
  this.parsedConfig = typeof this.config === 'string' ? JSON.parse(this.config) : this.config;
87
126
  }
88
127
  catch (error) {
89
- // eslint-disable-next-line
90
128
  console.error('Failed to parse config:', error);
91
129
  this.parsedConfig = {};
92
130
  }
@@ -98,7 +136,6 @@ export class EdsTable {
98
136
  this.data = data;
99
137
  }
100
138
  catch (error) {
101
- // eslint-disable-next-line
102
139
  console.error('Failed to fetch data:', error);
103
140
  }
104
141
  }
@@ -134,24 +171,52 @@ export class EdsTable {
134
171
  handleSearch(event) {
135
172
  this.searchQuery = event.target.value;
136
173
  this.currentPage = 1;
137
- /*sendAnalytics({
138
- category: 'ui-component',
139
- parentContext: null,
140
- tag: `${this.hostEl.tagName.toLowerCase()}/eds-input-field/search`,
141
- name: `${this.searchQuery}` || '',
142
- action: 'page'
143
- });*/
144
174
  }
145
175
  renderCell(value, column) {
146
176
  var _a;
147
177
  const format = (_a = this.parsedConfig[column]) === null || _a === void 0 ? void 0 : _a.format;
148
178
  return format === 'uppercase' ? (value === null || value === void 0 ? void 0 : value.toString().toUpperCase()) : format === 'svg' ? (h("div", { innerHTML: value })) : format === 'bold' ? (h("strong", null, value)) : format === 'code' ? (h("code", null, value)) : (value);
149
179
  }
180
+ /**
181
+ * Renders one action (button or checkbox) for a specific action‐name.
182
+ * Used by the “Actions” column below.
183
+ */
184
+ renderSingleActionCell(actionName, row) {
185
+ var _a;
186
+ const act = this.parsedActions.find((a) => a.name === actionName);
187
+ if (this.actionTemplate) {
188
+ return this.actionTemplate(row);
189
+ }
190
+ const type = act.type || 'button';
191
+ if (type === 'checkbox') {
192
+ const boundField = (_a = act.field) !== null && _a !== void 0 ? _a : act.name;
193
+ const checked = !!row[boundField];
194
+ return (h("eds-input-field", { name: `chc-${actionName}`, label: act.label, type: "checkbox", checked: checked, onChange: (e) => this.emitAction(act.name, row, e.target.checked) }));
195
+ }
196
+ return h("eds-link", { label: act.label, intent: "weak", onClick: () => this.emitAction(act.name, row) });
197
+ }
198
+ emitAction(actionName, row, checked) {
199
+ sendAnalytics({
200
+ category: 'ui-component',
201
+ parentContext: null,
202
+ tag: `${this.hostEl.tagName.toLowerCase()}/action`,
203
+ name: actionName,
204
+ action: 'click'
205
+ });
206
+ this.rowaction.emit({ action: actionName, row, checked: !!checked });
207
+ }
150
208
  shouldEnablePagination() {
151
209
  return this.paginationEnabled && this.totalRows > this.rowsPerPage;
152
210
  }
153
211
  updateColumns() {
212
+ var _a, _b;
213
+ // 1) Grab all data‐keys from the first row (if any) as before:
154
214
  this.columns = this.tbData.length > 0 ? Object.keys(this.tbData[0]) : [];
215
+ // 2) Instead of pushing each action.name, we add just a single “actions” column
216
+ // (you can call it anything; we’ll detect it in render())
217
+ if (((_b = (_a = this.parsedActions) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0 && this.tbData.length > 0) {
218
+ this.columns.push('actions');
219
+ }
155
220
  }
156
221
  getVisibleColumnsCount() {
157
222
  return this.columns.filter((column) => { var _a; return !((_a = this.parsedConfig[column]) === null || _a === void 0 ? void 0 : _a.hidden); }).length;
@@ -166,23 +231,39 @@ export class EdsTable {
166
231
  }
167
232
  return divisionFactor;
168
233
  }
234
+ capitalize(str) {
235
+ return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
236
+ }
169
237
  render() {
170
- // Use containerWidth state that is updated on resize.
171
238
  const currentContainerWidth = this.hostWidth && this.hostWidth.trim() !== '' ? Number(this.hostWidth) : this.containerWidth || 400;
172
- // Calculate the number of visible columns and the column width.
173
239
  const visibleColumnsCount = this.getVisibleColumnsCount();
174
240
  const columnWidth = visibleColumnsCount > 0 ? Math.floor((currentContainerWidth / visibleColumnsCount) * this.divisionFactor()) : 100;
175
241
  const paginatedRows = this.getPaginatedRows();
176
242
  const lastPage = Math.ceil(this.totalRows / this.rowsPerPage);
177
- return (h("div", { key: '81735ac374853c8c92b3f50e26263ff9d71b326c' }, this.searchEnabled && (h("div", { key: '0b2ab8dbb343033f605e2028890bd963cd650998' }, h("eds-input-field", { key: 1, name: "search", "aria-label": "Search", type: "text", placeholder: "Search...",
178
- // @ts-ignore
179
- onInput: (event) => this.handleSearch(event) }))), h("div", { key: 'eb3eebe6fb124d4e1983b2fb7e636707817d36bd', class: "mt-20" }, h("table", { key: '03b312ac20bdec28843a46907a3cc4fba69f62ae', class: "block overflow-x-auto mt-6 p-0" }, h("thead", { key: 'ccab58dc46ae765df28da97ded6b1dd14d45d7f1' }, h("tr", { key: '904a125aad610cebe42b0bce46615be38f0ee17a', class: "m-0 p-0 border border-softer even:bg-inverse-softer" }, this.columns.map((column) => {
243
+ return (h("div", { key: '5034177431626ab2bfc5fd0118c006d11a4f6e96' }, this.searchEnabled && (h("div", { key: '86e1a6ffc4bed69f290b3a53031341ab276eaf04' }, h("eds-input-field", { key: 1, name: "search", "aria-label": "Search", type: "text", placeholder: "Search...", onInput: (event) => this.handleSearch(event) }))), h("div", { key: 'bc11838d819ecf89c5ba1cc1cfe7ac0af0e82b59', class: "mt-20" }, h("table", { key: '97f16b65eb1d9387e9ca7588184c9e68c1afcc2e', class: "block overflow-x-auto mt-6 p-0" }, h("thead", { key: 'f4d64ada28c225db1b224277513e663a99de1cec' }, h("tr", { key: 'c6a69e159cceada0f7143c0acb787e5c23242ae7', class: "m-0 p-0 border border-softer even:bg-inverse-softer" }, this.columns.map((col) => {
180
244
  var _a;
181
- return !((_a = this.parsedConfig[column]) === null || _a === void 0 ? void 0 : _a.hidden) && (h("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words", style: { minWidth: `${columnWidth - 4}px` } }, column));
182
- }))), h("tbody", { key: 'a4c54c9c89d15546020dbb684e5486decde33f30' }, paginatedRows.map((row) => (h("tr", { class: "m-0 p-0 border border-softer even:bg-inverse-softer" }, this.columns.map((column) => {
245
+ // 3) For the “actions” column, override the header to “Actions”
246
+ if (col === 'actions') {
247
+ // You can choose a smaller min‐width here if you wish:
248
+ return (h("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words", style: { minWidth: `${columnWidth - 4}px` } }, "Actions"));
249
+ }
250
+ // Otherwise, render column name or action label if you do want to override:
251
+ if (!((_a = this.parsedConfig[col]) === null || _a === void 0 ? void 0 : _a.hidden)) {
252
+ return (h("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words", style: { minWidth: `${columnWidth - 4}px` } }, this.capitalize(col)));
253
+ }
254
+ return null;
255
+ }))), h("tbody", { key: '133af82fdd1f820e853734ab48123cb3db527e15' }, paginatedRows.map((row) => (h("tr", { class: "m-0 p-0 border border-softer even:bg-inverse-softer" }, this.columns.map((col) => {
183
256
  var _a;
184
- return !((_a = this.parsedConfig[column]) === null || _a === void 0 ? void 0 : _a.hidden) && (h("td", { class: "text-center border border-softer m-0 py-8 f-ui-2 break-words", style: { minWidth: `${columnWidth - 4}px` } }, this.renderCell(row[column], column)));
185
- }))))))), this.shouldEnablePagination() && (h("div", { key: '2a248cbbe81ac8c1ad4dfbb49a9615f15931bac6', class: "mt-20" }, h("eds-pagination", { key: '11701d81922ca4c8b36fe82be32316a175eddbcd', currentPage: this.currentPage, lastPage: lastPage, perPage: this.rowsPerPage, total: this.totalRows, mode: "default" })))));
257
+ if (col === 'actions') {
258
+ // 4) Render ALL actions inside a single <td> for this row:
259
+ return (h("td", { class: "text-center border border-softer m-0 f-ui-02 break-words actions-cell", style: { minWidth: `${columnWidth - 4}px` } }, h("div", { style: { display: 'flex', gap: '0.5rem', justifyContent: 'center', flexWrap: 'wrap' } }, this.parsedActions.map((act) => (h("span", { style: { whiteSpace: 'nowrap' } }, this.renderSingleActionCell(act.name, row)))))));
260
+ }
261
+ if (!((_a = this.parsedConfig[col]) === null || _a === void 0 ? void 0 : _a.hidden)) {
262
+ // Regular data cell:
263
+ return (h("td", { class: "text-center border border-softer m-0 py-8 f-ui-2 break-words", style: { minWidth: `${columnWidth - 4}px` } }, this.renderCell(row[col], col)));
264
+ }
265
+ return null;
266
+ }))))))), this.shouldEnablePagination() && (h("div", { key: '85032d06cd0ac5dae9b504d423fceba3cd074861', class: "mt-20" }, h("eds-pagination", { key: '8caf6f57960e222c04d45f57a5811cd7bd524f4c', currentPage: this.currentPage, lastPage: lastPage, perPage: this.rowsPerPage, total: this.totalRows, mode: "default" })))));
186
267
  }
187
268
  static get is() { return "eds-table"; }
188
269
  static get encapsulation() { return "shadow"; }
@@ -239,7 +320,7 @@ export class EdsTable {
239
320
  "mutable": false,
240
321
  "complexType": {
241
322
  "original": "| string\n | {\n [key: string]: {\n hidden?: boolean;\n format?: 'uppercase' | 'bold' | 'code';\n };\n }",
242
- "resolved": "string | { [key: string]: { hidden?: boolean; format?: \"code\" | \"bold\" | \"uppercase\"; }; }",
323
+ "resolved": "string | { [key: string]: { hidden?: boolean; format?: \"code\" | \"uppercase\" | \"bold\"; }; }",
243
324
  "references": {}
244
325
  },
245
326
  "required": false,
@@ -340,11 +421,58 @@ export class EdsTable {
340
421
  "attribute": "column-size",
341
422
  "reflect": false,
342
423
  "defaultValue": "'default'"
424
+ },
425
+ "actions": {
426
+ "type": "string",
427
+ "mutable": false,
428
+ "complexType": {
429
+ "original": "string | TableAction[]",
430
+ "resolved": "TableAction[] | string",
431
+ "references": {
432
+ "TableAction": {
433
+ "location": "local",
434
+ "path": "/Users/nigeor/Documents/Projects/EBRAINS/ebrains-ui-ecosystem/packages/components/src/components/eds-table/eds-table.tsx",
435
+ "id": "../../../packages/components/src/components/eds-table/eds-table.tsx::TableAction"
436
+ }
437
+ }
438
+ },
439
+ "required": false,
440
+ "optional": false,
441
+ "docs": {
442
+ "tags": [],
443
+ "text": "Array of actions to render in each row.\nEach action should have:\n - `name`: a unique key (e.g. \"view\", \"delete\")\n - `label`: what shows in the button (or you could pass an icon name here)"
444
+ },
445
+ "attribute": "actions",
446
+ "reflect": false,
447
+ "defaultValue": "[]"
448
+ },
449
+ "actionTemplate": {
450
+ "type": "unknown",
451
+ "mutable": false,
452
+ "complexType": {
453
+ "original": "(row: any) => VNode",
454
+ "resolved": "(row: any) => VNode",
455
+ "references": {
456
+ "VNode": {
457
+ "location": "import",
458
+ "path": "@stencil/core",
459
+ "id": "../../../node_modules/@stencil/core/internal/stencil-core/index.d.ts::VNode"
460
+ }
461
+ }
462
+ },
463
+ "required": false,
464
+ "optional": true,
465
+ "docs": {
466
+ "tags": [],
467
+ "text": "Optional: allow the consumer to supply a full JSX render\u2010prop\ninstead of simple name/label pairs. If provided, this takes priority."
468
+ }
343
469
  }
344
470
  };
345
471
  }
346
472
  static get states() {
347
473
  return {
474
+ "parsedActions": {},
475
+ "dataColumns": {},
348
476
  "tbData": {},
349
477
  "columns": {},
350
478
  "currentPage": {},
@@ -354,6 +482,24 @@ export class EdsTable {
354
482
  "containerWidth": {}
355
483
  };
356
484
  }
485
+ static get events() {
486
+ return [{
487
+ "method": "rowaction",
488
+ "name": "rowaction",
489
+ "bubbles": true,
490
+ "cancelable": true,
491
+ "composed": true,
492
+ "docs": {
493
+ "tags": [],
494
+ "text": "Define the event with the payload type"
495
+ },
496
+ "complexType": {
497
+ "original": "{ action: string; row: any; checked: boolean }",
498
+ "resolved": "{ action: string; row: any; checked: boolean; }",
499
+ "references": {}
500
+ }
501
+ }];
502
+ }
357
503
  static get elementRef() { return "hostEl"; }
358
504
  static get watchers() {
359
505
  return [{
@@ -362,6 +508,9 @@ export class EdsTable {
362
508
  }, {
363
509
  "propName": "config",
364
510
  "methodName": "handleConfigChange"
511
+ }, {
512
+ "propName": "actions",
513
+ "methodName": "handleActionsChange"
365
514
  }, {
366
515
  "propName": "data",
367
516
  "methodName": "parseData"