@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
@@ -1,3 +1,42 @@
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
+ */
29
+ import { VNode, EventEmitter } from '../../stencil-public-runtime';
30
+ export interface TableAction {
31
+ /** unique action key */
32
+ name: string;
33
+ /** button label or checkbox aria-label */
34
+ label: string;
35
+ /** 'button' (default) or 'checkbox' */
36
+ type?: 'button' | 'checkbox';
37
+ /** optional: field in row to bind checkbox state */
38
+ field?: string;
39
+ }
1
40
  /**
2
41
  * `EdsTable` is a customizable data table component with support for dynamic data fetching, column configuration, pagination, and search functionality.
3
42
  *
@@ -37,6 +76,22 @@ export declare class EdsTable {
37
76
  * - 'large' divides that result by 4.
38
77
  */
39
78
  columnSize?: 'default' | 'medium' | 'large';
79
+ /**
80
+ * Array of actions to render in each row.
81
+ * Each action should have:
82
+ * - `name`: a unique key (e.g. "view", "delete")
83
+ * - `label`: what shows in the button (or you could pass an icon name here)
84
+ */
85
+ actions: string | TableAction[];
86
+ /**
87
+ * Optional: allow the consumer to supply a full JSX render‐prop
88
+ * instead of simple name/label pairs. If provided, this takes priority.
89
+ */
90
+ actionTemplate?: (row: any) => VNode;
91
+ /** Parsed actions as array */
92
+ parsedActions: TableAction[];
93
+ /** Just the original data keys (no action columns) */
94
+ dataColumns: string[];
40
95
  /** Internal state for pagination and data */
41
96
  tbData: {
42
97
  [key: string]: any;
@@ -53,8 +108,15 @@ export declare class EdsTable {
53
108
  searchQuery: string;
54
109
  containerWidth: number;
55
110
  hostEl: HTMLElement;
111
+ /** Define the event with the payload type */
112
+ rowaction: EventEmitter<{
113
+ action: string;
114
+ row: any;
115
+ checked: boolean;
116
+ }>;
56
117
  handleDataChange(): void;
57
118
  handleConfigChange(): void;
119
+ handleActionsChange(): void;
58
120
  componentWillLoad(): void;
59
121
  componentDidLoad(): void;
60
122
  componentDidUpdate(): void;
@@ -70,9 +132,16 @@ export declare class EdsTable {
70
132
  private handlePageChange;
71
133
  private handleSearch;
72
134
  private renderCell;
135
+ /**
136
+ * Renders one action (button or checkbox) for a specific action‐name.
137
+ * Used by the “Actions” column below.
138
+ */
139
+ private renderSingleActionCell;
140
+ private emitAction;
73
141
  private shouldEnablePagination;
74
142
  private updateColumns;
75
143
  private getVisibleColumnsCount;
76
144
  private divisionFactor;
145
+ private capitalize;
77
146
  render(): any;
78
147
  }
@@ -9,10 +9,14 @@ import { Tag } from "./components/eds-cards/eds-card-generic/eds-card-generic";
9
9
  import { Card } from "./shared-ui/eds-card-section/eds-card-section";
10
10
  import { Step } from "./shared-ui/eds-steps/eds-steps";
11
11
  import { Step as Step1 } from "./shared-ui/eds-steps-v2/eds-steps-v2";
12
+ import { TableAction } from "./components/eds-table/eds-table";
13
+ import { VNode } from "./stencil-public-runtime";
12
14
  export { Tag } from "./components/eds-cards/eds-card-generic/eds-card-generic";
13
15
  export { Card } from "./shared-ui/eds-card-section/eds-card-section";
14
16
  export { Step } from "./shared-ui/eds-steps/eds-steps";
15
17
  export { Step as Step1 } from "./shared-ui/eds-steps-v2/eds-steps-v2";
18
+ export { TableAction } from "./components/eds-table/eds-table";
19
+ export { VNode } from "./stencil-public-runtime";
16
20
  export namespace Components {
17
21
  interface ColorPrimaryPalette {
18
22
  }
@@ -659,6 +663,7 @@ export namespace Components {
659
663
  * The name of the form, used for grouping inputs and identifying the form.
660
664
  */
661
665
  "name": string;
666
+ "setData": (newData: { [key: string]: any; }) => Promise<void>;
662
667
  /**
663
668
  * If `true`, includes the current form URL in the submission data.
664
669
  */
@@ -1652,6 +1657,10 @@ export namespace Components {
1652
1657
  * Optional image source to display above the steps.
1653
1658
  */
1654
1659
  "imageSrc"?: string;
1660
+ /**
1661
+ * Optional image width for the eds-img component.
1662
+ */
1663
+ "imageWidth"?: number;
1655
1664
  /**
1656
1665
  * Optional message to display inside the placeholder if no image is provided.
1657
1666
  */
@@ -1693,6 +1702,14 @@ export namespace Components {
1693
1702
  * This component is versatile for displaying data with flexible configuration, and integrates with pagination and search functionalities.
1694
1703
  */
1695
1704
  interface EdsTable {
1705
+ /**
1706
+ * Optional: allow the consumer to supply a full JSX render‐prop instead of simple name/label pairs. If provided, this takes priority.
1707
+ */
1708
+ "actionTemplate"?: (row: any) => VNode;
1709
+ /**
1710
+ * Array of actions to render in each row. Each action should have: - `name`: a unique key (e.g. "view", "delete") - `label`: what shows in the button (or you could pass an icon name here)
1711
+ */
1712
+ "actions": string | TableAction[];
1696
1713
  /**
1697
1714
  * Optional property to control the column sizing mode. - 'default' uses containerWidth / visibleColumns. - 'medium' divides that result by 2. - 'large' divides that result by 4.
1698
1715
  */
@@ -1924,6 +1941,10 @@ export interface EdsSwitchCustomEvent<T> extends CustomEvent<T> {
1924
1941
  detail: T;
1925
1942
  target: HTMLEdsSwitchElement;
1926
1943
  }
1944
+ export interface EdsTableCustomEvent<T> extends CustomEvent<T> {
1945
+ detail: T;
1946
+ target: HTMLEdsTableElement;
1947
+ }
1927
1948
  export interface EdsTabsCustomEvent<T> extends CustomEvent<T> {
1928
1949
  detail: T;
1929
1950
  target: HTMLEdsTabsElement;
@@ -2879,6 +2900,9 @@ declare global {
2879
2900
  prototype: HTMLEdsSwitchElement;
2880
2901
  new (): HTMLEdsSwitchElement;
2881
2902
  };
2903
+ interface HTMLEdsTableElementEventMap {
2904
+ "rowaction": { action: string; row: any; checked: boolean };
2905
+ }
2882
2906
  /**
2883
2907
  * `EdsTable` is a customizable data table component with support for dynamic data fetching, column configuration, pagination, and search functionality.
2884
2908
  * Key Features:
@@ -2889,6 +2913,14 @@ declare global {
2889
2913
  * This component is versatile for displaying data with flexible configuration, and integrates with pagination and search functionalities.
2890
2914
  */
2891
2915
  interface HTMLEdsTableElement extends Components.EdsTable, HTMLStencilElement {
2916
+ addEventListener<K extends keyof HTMLEdsTableElementEventMap>(type: K, listener: (this: HTMLEdsTableElement, ev: EdsTableCustomEvent<HTMLEdsTableElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2917
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2918
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2919
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2920
+ removeEventListener<K extends keyof HTMLEdsTableElementEventMap>(type: K, listener: (this: HTMLEdsTableElement, ev: EdsTableCustomEvent<HTMLEdsTableElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2921
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2922
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2923
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2892
2924
  }
2893
2925
  var HTMLEdsTableElement: {
2894
2926
  prototype: HTMLEdsTableElement;
@@ -4869,6 +4901,10 @@ declare namespace LocalJSX {
4869
4901
  * Optional image source to display above the steps.
4870
4902
  */
4871
4903
  "imageSrc"?: string;
4904
+ /**
4905
+ * Optional image width for the eds-img component.
4906
+ */
4907
+ "imageWidth"?: number;
4872
4908
  /**
4873
4909
  * Optional message to display inside the placeholder if no image is provided.
4874
4910
  */
@@ -4918,6 +4954,14 @@ declare namespace LocalJSX {
4918
4954
  * This component is versatile for displaying data with flexible configuration, and integrates with pagination and search functionalities.
4919
4955
  */
4920
4956
  interface EdsTable {
4957
+ /**
4958
+ * Optional: allow the consumer to supply a full JSX render‐prop instead of simple name/label pairs. If provided, this takes priority.
4959
+ */
4960
+ "actionTemplate"?: (row: any) => VNode;
4961
+ /**
4962
+ * Array of actions to render in each row. Each action should have: - `name`: a unique key (e.g. "view", "delete") - `label`: what shows in the button (or you could pass an icon name here)
4963
+ */
4964
+ "actions"?: string | TableAction[];
4921
4965
  /**
4922
4966
  * Optional property to control the column sizing mode. - 'default' uses containerWidth / visibleColumns. - 'medium' divides that result by 2. - 'large' divides that result by 4.
4923
4967
  */
@@ -4941,6 +4985,10 @@ declare namespace LocalJSX {
4941
4985
  */
4942
4986
  "endpoint"?: string | null;
4943
4987
  "hostWidth"?: string;
4988
+ /**
4989
+ * Define the event with the payload type
4990
+ */
4991
+ "onRowaction"?: (event: EdsTableCustomEvent<{ action: string; row: any; checked: boolean }>) => void;
4944
4992
  /**
4945
4993
  * Enable or disable pagination explicitly
4946
4994
  */
@@ -80,6 +80,9 @@ export declare class EdsForm {
80
80
  */
81
81
  el: HTMLElement;
82
82
  private formEl;
83
+ setData(newData: {
84
+ [key: string]: any;
85
+ }): Promise<void>;
83
86
  componentWillLoad(): void;
84
87
  componentDidLoad(): void;
85
88
  get shouldFormProcessInitData(): boolean;
@@ -22,6 +22,8 @@ export declare class EdsStepsV2 {
22
22
  * Optional image source to display above the steps.
23
23
  */
24
24
  imageSrc?: string;
25
+ /** Optional image width for the eds-img component. */
26
+ imageWidth?: number;
25
27
  /**
26
28
  * If true, apply a background class to the container.
27
29
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ebrains/components",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "main": "./dist/index.cjs.js",
5
5
  "module": "./dist/index.js",
6
6
  "es2015": "./dist/esm/index.mjs",
@@ -1,403 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-88c8039f.js');
6
- const analytics = require('./analytics-28713bf7.js');
7
- const sharedUtils = require('./sharedUtils-8e287250.js');
8
-
9
- const edsPaginationCss = "ul,menu{list-style:none;margin:0;padding:0}.f-ui-03{font-family:var(--f-ui-03-fontFamily);font-weight:var(--f-ui-03-fontWeight);font-size:var(--f-ui-03-fontSize);line-height:var(--f-ui-03-lineHeight);letter-spacing:var(--f-ui-03-letterSpacing)}.f-ui-03-light{font-family:var(--f-ui-03-light-fontFamily);font-weight:var(--f-ui-03-light-fontWeight);font-size:var(--f-ui-03-light-fontSize);line-height:var(--f-ui-03-light-lineHeight);letter-spacing:var(--f-ui-03-light-letterSpacing)}.f-ui-02{font-family:var(--f-ui-02-fontFamily);font-weight:var(--f-ui-02-fontWeight);font-size:var(--f-ui-02-fontSize);line-height:var(--f-ui-02-lineHeight);letter-spacing:var(--f-ui-02-letterSpacing)}.f-ui-02-light{font-family:var(--f-ui-02-light-fontFamily);font-weight:var(--f-ui-02-light-fontWeight);font-size:var(--f-ui-02-light-fontSize);line-height:var(--f-ui-02-light-lineHeight);letter-spacing:var(--f-ui-02-light-letterSpacing)}.text-lightest{color:var(--grey-500)}.mb-28{margin-bottom:1.75rem}.w-full{width:100%}.w-20{width:1.25rem}.h-20{height:1.25rem}.h-28{height:1.75rem}.h-32{height:2rem}.h-36{height:2.25rem}.text-center{text-align:center}.flex{display:flex}.inline-flex{display:inline-flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-x-8{-moz-column-gap:0.5rem;column-gap:0.5rem}.mr-auto{margin-right:auto}.ml-auto{margin-left:auto}.\\!p-8{padding:0.5rem !important}.ml-4{margin-left:0.25rem}.mr-4{margin-right:0.25rem}.hidden{display:none}.gap-1{gap:0.0625rem}.py-4{padding-top:0.25rem;padding-bottom:0.25rem}.transition-colors{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}@media (min-width: 900px){.lg\\:\\!pr-12{padding-right:0.75rem !important}.lg\\:flex{display:flex}}";
10
- const EdsPaginationStyle0 = edsPaginationCss;
11
-
12
- const EdsPagination = class {
13
- constructor(hostRef) {
14
- index.registerInstance(this, hostRef);
15
- this.currentPage = undefined;
16
- this.lastPage = undefined;
17
- this.perPage = 10;
18
- this.total = 0;
19
- this.url = '';
20
- this.mode = 'default';
21
- this.prevLabel = 'Prev';
22
- this.nextLabel = 'Next';
23
- this.prevUrl = '';
24
- this.nextUrl = '';
25
- this.links = [];
26
- }
27
- /** Lifecycle hook to generate pagination links on component load */
28
- componentWillLoad() {
29
- if (this.mode === 'default') {
30
- this.generateLinks();
31
- }
32
- }
33
- componentDidLoad() {
34
- // Emit context for each eds-link element after the component is fully loaded
35
- const links = this.hostEl.shadowRoot.querySelectorAll('eds-link');
36
- links.forEach((lnk) => {
37
- this.emitContext(lnk);
38
- });
39
- /*if (links.length > 0) {
40
- // Emit context for the first link
41
- this.emitContext(links[0]);
42
-
43
- // Emit context for the last link, if it's different from the first
44
- if (links.length > 1) {
45
- this.emitContext(links[links.length - 1]);
46
- }
47
- }*/
48
- }
49
- /**
50
- * Emits a custom event called `parentContext` for a given link element.
51
- * This event provides context information about the breadcrumb component.
52
- *
53
- * @param linkElement - The link element to which the event will be dispatched.
54
- */
55
- emitContext(linkElement) {
56
- const event = new CustomEvent('parentContext', {
57
- detail: {
58
- componentName: this.hostEl.tagName.toLowerCase(),
59
- identifier: null
60
- }
61
- });
62
- linkElement.dispatchEvent(event);
63
- }
64
- onPageOrLastPageChange() {
65
- if (this.mode === 'default') {
66
- this.generateLinks();
67
- }
68
- }
69
- /**
70
- * Checks if the current page is the first page
71
- * @returns {boolean} - true if current page is the first page
72
- */
73
- isFirstPage() {
74
- return this.currentPage === 1;
75
- }
76
- /**
77
- * Checks if the current page is the last page
78
- * @returns {boolean} - true if current page is the last page
79
- */
80
- isLastPage() {
81
- return this.currentPage === this.lastPage;
82
- }
83
- /**
84
- * Generates a pagination link object
85
- * @param {number} page - Page number for the link
86
- * @returns {Link} - Link object with page details
87
- */
88
- generateLink(page) {
89
- const urlHasQuery = this.url.includes('?');
90
- return {
91
- ariaLabel: `Page ${page}`,
92
- url: `${this.url}${urlHasQuery ? '&' : '?'}page=${page}`,
93
- label: page.toString(),
94
- current: this.currentPage === page,
95
- disabled: false
96
- };
97
- }
98
- /** Generates pagination links based on the last page and current page */
99
- generateLinks() {
100
- if (this.lastPage && this.lastPage > 5) {
101
- this.links = this.getPaginationGenerator(this.currentPage || 1, this.lastPage).map((page) => typeof page === 'number' ? this.generateLink(page) : page);
102
- }
103
- else if (this.lastPage) {
104
- this.links = Array.from({ length: this.lastPage }).map((_, i) => this.generateLink(i + 1));
105
- }
106
- }
107
- /**
108
- * Creates a pagination range based on delta, current, and total pages
109
- * @param {number} current - Current page number
110
- * @param {number} total - Total number of pages
111
- * @param {number} delta - Range of pages to display around the current page
112
- * @returns {(number | string)[]} - Range of page numbers or ellipses
113
- */
114
- getPaginationGenerator(current, total) {
115
- const delta = 1; // Show one page before and one after the current page
116
- const range = [];
117
- if (total <= 5) {
118
- // If total pages are 5 or less, show all pages
119
- for (let i = 1; i <= total; i++) {
120
- range.push(i);
121
- }
122
- }
123
- else {
124
- // Always show the first page
125
- range.push(1);
126
- // Add ellipsis if there’s a gap between the first page and the current range start
127
- if (current - delta > 2) {
128
- range.push('...');
129
- }
130
- // Determine range for pages around the current page
131
- for (let i = Math.max(2, current - delta); i <= Math.min(total - 1, current + delta); i++) {
132
- range.push(i);
133
- }
134
- // Add ellipsis if there’s a gap between the current range end and the last page
135
- if (current + delta < total - 1) {
136
- range.push('...');
137
- }
138
- // Always show the last page
139
- range.push(total);
140
- }
141
- return range;
142
- }
143
- /**
144
- * Formats the current page results information for display
145
- * @returns {string} - Formatted page result information
146
- */
147
- pageResults() {
148
- if (this.total > 0) {
149
- return this.total > this.perPage
150
- ? `${this.perPage * ((this.currentPage || 1) - 1) + 1} - ${this.perPage * (this.currentPage || 1) >= this.total ? this.total : this.perPage * (this.currentPage || 1)} of ${this.total}`
151
- : `${this.total}`;
152
- }
153
- return '';
154
- }
155
- /**
156
- * Handles a page click event, updating the current page and dispatching an event
157
- * @param {MouseEvent} event - Click event
158
- * @param {number} newPage - New page number
159
- */
160
- handlePageClick(event, newPage) {
161
- if (this.mode === 'navigator') {
162
- return; // No page clicking logic for navigator mode
163
- }
164
- event.preventDefault(); // Prevent default link navigation
165
- if (newPage !== this.currentPage) {
166
- this.links = this.links.map((link) => typeof link === 'object' ? Object.assign(Object.assign({}, link), { current: parseInt(link.label) === newPage }) : link);
167
- const pageChangeEvent = new CustomEvent('page', {
168
- detail: newPage,
169
- bubbles: true,
170
- composed: true
171
- });
172
- this.hostEl.dispatchEvent(pageChangeEvent);
173
- this.currentPage = newPage;
174
- }
175
- }
176
- render() {
177
- return (index.h("div", { key: '1d53f69179791434224f152503c0b81c4cfc7cd3' }, this.total > 0 && this.mode === 'default' && (index.h("p", { key: '00ae324b49d62a74feee9d1cde21d67cd726ecf0', class: "f-ui-03 text-lightest mb-28 w-full text-center" }, index.h("span", { key: 'dedf2ce2700eae9d1386b305ec1d1904b133f992', class: "sr-only" }, "Results:"), this.pageResults())), this.mode === 'navigator' || (this.lastPage && this.lastPage > 1) ? (index.h("nav", { "aria-label": "Pagination" }, index.h("ul", { class: "flex items-center justify-center gap-x-8" }, index.h("li", { class: "mr-auto" }, index.h("eds-link", { label: this.prevLabel, url: this.mode === 'navigator'
178
- ? this.prevUrl || '#' // Use prevUrl if provided, otherwise disable with '#'
179
- : this.isFirstPage()
180
- ? '#'
181
- : this.generateLink(this.currentPage - 1).url, disabled: this.mode === 'navigator'
182
- ? !this.prevUrl // Disable if prevUrl is not provided
183
- : this.isFirstPage(), "aria-label": "Previous page", icon: "chevron-left", "icon-pos": "left", size: "small", "icon-small": "true", intent: "strong", "hide-label-on-small-screen": true, class: "!p-8 lg:!pr-12", onClick: (event) => {
184
- if (this.mode === 'default') {
185
- if (this.isFirstPage()) {
186
- event.preventDefault(); // Prevent click if disabled
187
- }
188
- else {
189
- this.handlePageClick(event, (this.currentPage || 1) - 1);
190
- }
191
- }
192
- } })), this.mode === 'default' &&
193
- this.links.map((link, index$1) => (index.h("li", { key: index$1, class: "f-ui-02 flex h-36 items-center justify-center" }, typeof link === 'string' ? (index.h("span", { class: "flex items-center justify-center" }, link)) : (index.h("eds-link", { url: link.url, "aria-label": link.ariaLabel, label: link.label, current: link.current, size: "small", class: "!p-8", intent: link.current ? 'secondary' : 'ghost', onClick: (event) => this.handlePageClick(event, parseInt(link.label)) }))))), index.h("li", { class: "ml-auto" }, index.h("eds-link", { label: this.nextLabel, url: this.mode === 'navigator'
194
- ? this.nextUrl || '#' // Use nextUrl if provided, otherwise disable with '#'
195
- : this.isLastPage()
196
- ? '#'
197
- : this.generateLink(this.currentPage + 1).url, disabled: this.mode === 'navigator'
198
- ? !this.nextUrl // Disable if nextUrl is not provided
199
- : this.isLastPage(), "aria-label": "Next page", size: "small", "icon-small": "true", icon: "chevron-right", intent: "strong", "hide-label-on-small-screen": true, class: "!p-8 lg:!pl-12 flex items-center gap-1 py-4 transition-colors", onClick: (event) => {
200
- if (this.mode === 'default') {
201
- if (this.isLastPage()) {
202
- event.preventDefault(); // Prevent click if disabled
203
- }
204
- else {
205
- this.handlePageClick(event, (this.currentPage || 1) + 1);
206
- }
207
- }
208
- } }))))) : null));
209
- }
210
- get hostEl() { return index.getElement(this); }
211
- static get watchers() { return {
212
- "currentPage": ["onPageOrLastPageChange"],
213
- "lastPage": ["onPageOrLastPageChange"]
214
- }; }
215
- };
216
- EdsPagination.style = EdsPaginationStyle0;
217
-
218
- const edsTableCss = "table{text-indent:0;border-color:inherit;border-collapse:collapse;}.container{width:calc(var(--container-width, 100%) - (2 * var(--breakout-container-outer-gutter, var(--container-outer-gutter, var(--outer-gutter, 0)))));margin-right:auto;margin-left:auto}.container>*{--container-outer-gutter:0;--breakout-container-outer-gutter:0}.pt-32{padding-top:2rem}.pt-40{padding-top:2.5rem}.pt-48{padding-top:3rem}.pb-28{padding-bottom:1.75rem}.pb-60{padding-bottom:3.75rem}.mt-20{margin-top:1.25rem}.mt-28{margin-top:1.75rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.overflow-x-auto{overflow-x:auto}.mt-6{margin-top:0.375rem}.p-0{padding:0rem}.m-0{margin:0rem}.border{border-width:1px}.border-softer{border:1px solid rgba(0, 0, 0, .1)}.even\\:bg-inverse-softer:nth-child(even){background-color:rgba(255, 255, 255, .15)}.px-20{padding-left:1.25rem;padding-right:1.25rem}.py-8{padding-top:0.5rem;padding-bottom:0.5rem}.f-ui-01{font-family:var(--f-ui-01-fontFamily);font-weight:var(--f-ui-01-fontWeight);font-size:var(--f-ui-01-fontSize);line-height:var(--f-ui-01-lineHeight);letter-spacing:var(--f-ui-01-letterSpacing)}.f-ui-02{font-family:var(--f-ui-02-fontFamily);font-weight:var(--f-ui-02-fontWeight);font-size:var(--f-ui-02-fontSize);line-height:var(--f-ui-02-lineHeight);letter-spacing:var(--f-ui-02-letterSpacing)}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.text-center{text-align:center}.break-words{overflow-wrap:anywhere}";
219
- const EdsTableStyle0 = edsTableCss;
220
-
221
- const EdsTable = class {
222
- constructor(hostRef) {
223
- index.registerInstance(this, hostRef);
224
- this.handleResize = () => {
225
- this.updateContainerWidth();
226
- };
227
- this.data = null;
228
- this.endpoint = null;
229
- this.config = {};
230
- this.rowsPerPage = 10;
231
- this.paginationEnabled = true;
232
- this.searchEnabled = false;
233
- this.hostWidth = undefined;
234
- this.columnSize = 'default';
235
- this.tbData = [];
236
- this.columns = [];
237
- this.currentPage = 1;
238
- this.parsedConfig = {};
239
- this.totalRows = 0;
240
- this.searchQuery = '';
241
- this.containerWidth = 0;
242
- }
243
- handleDataChange() {
244
- this.parseData();
245
- }
246
- handleConfigChange() {
247
- this.parseConfig();
248
- }
249
- componentWillLoad() {
250
- this.parseConfig();
251
- this.data ? this.parseData() : this.endpoint && this.fetchData();
252
- }
253
- componentDidLoad() {
254
- this.updateContainerWidth();
255
- window.addEventListener('resize', this.handleResize);
256
- this.setupPaginationListener();
257
- }
258
- componentDidUpdate() {
259
- this.setupPaginationListener();
260
- }
261
- disconnectedCallback() {
262
- window.removeEventListener('resize', this.handleResize);
263
- }
264
- updateContainerWidth() {
265
- // Use hostWidth prop if provided; otherwise, measure parent element
266
- if (this.hostWidth && this.hostWidth.trim() !== '') {
267
- this.containerWidth = Number(this.hostWidth);
268
- }
269
- else if (this.hostEl.parentElement instanceof HTMLElement) {
270
- this.containerWidth = this.hostEl.parentElement.getBoundingClientRect().width;
271
- }
272
- else {
273
- this.containerWidth = 400;
274
- }
275
- }
276
- parseData() {
277
- try {
278
- this.tbData = sharedUtils.parseData(this.data);
279
- //this.tbData = typeof this.data === 'string' ? JSON.parse(this.data) : this.data || [];
280
- this.totalRows = this.tbData.length;
281
- this.updateColumns();
282
- this.currentPage = 1;
283
- }
284
- catch (error) {
285
- // eslint-disable-next-line
286
- console.error('Failed to parse data:', error);
287
- this.tbData = [];
288
- }
289
- }
290
- parseConfig() {
291
- try {
292
- //this.parsedConfig = parseData(this.config);
293
- this.parsedConfig = typeof this.config === 'string' ? JSON.parse(this.config) : this.config;
294
- }
295
- catch (error) {
296
- // eslint-disable-next-line
297
- console.error('Failed to parse config:', error);
298
- this.parsedConfig = {};
299
- }
300
- }
301
- async fetchData() {
302
- try {
303
- const response = await fetch(this.endpoint);
304
- const data = await response.json();
305
- this.data = data;
306
- }
307
- catch (error) {
308
- // eslint-disable-next-line
309
- console.error('Failed to fetch data:', error);
310
- }
311
- }
312
- setupPaginationListener() {
313
- if (!this.shouldEnablePagination()) {
314
- return;
315
- }
316
- const paginationEl = this.hostEl.shadowRoot.querySelector('eds-pagination');
317
- if (paginationEl && !paginationEl.hasAttribute('listener-attached')) {
318
- paginationEl.addEventListener('page', (event) => this.handlePageChange(event.detail));
319
- paginationEl.setAttribute('listener-attached', 'true');
320
- }
321
- }
322
- getFilteredRows() {
323
- return this.tbData.filter((row) => Object.values(row).some((value) => value.toString().toLowerCase().includes(this.searchQuery.toLowerCase())));
324
- }
325
- getPaginatedRows() {
326
- const filteredRows = this.getFilteredRows();
327
- this.totalRows = filteredRows.length;
328
- const start = (this.currentPage - 1) * this.rowsPerPage;
329
- return filteredRows.slice(start, start + this.rowsPerPage);
330
- }
331
- handlePageChange(newPage) {
332
- this.currentPage = newPage;
333
- analytics.sendAnalytics({
334
- category: 'ui-component',
335
- parentContext: null,
336
- tag: `${this.hostEl.tagName.toLowerCase()}/eds-pagination`,
337
- name: `${newPage}` || '',
338
- action: 'page'
339
- });
340
- }
341
- handleSearch(event) {
342
- this.searchQuery = event.target.value;
343
- this.currentPage = 1;
344
- /*sendAnalytics({
345
- category: 'ui-component',
346
- parentContext: null,
347
- tag: `${this.hostEl.tagName.toLowerCase()}/eds-input-field/search`,
348
- name: `${this.searchQuery}` || '',
349
- action: 'page'
350
- });*/
351
- }
352
- renderCell(value, column) {
353
- var _a;
354
- const format = (_a = this.parsedConfig[column]) === null || _a === void 0 ? void 0 : _a.format;
355
- return format === 'uppercase' ? (value === null || value === void 0 ? void 0 : value.toString().toUpperCase()) : format === 'svg' ? (index.h("div", { innerHTML: value })) : format === 'bold' ? (index.h("strong", null, value)) : format === 'code' ? (index.h("code", null, value)) : (value);
356
- }
357
- shouldEnablePagination() {
358
- return this.paginationEnabled && this.totalRows > this.rowsPerPage;
359
- }
360
- updateColumns() {
361
- this.columns = this.tbData.length > 0 ? Object.keys(this.tbData[0]) : [];
362
- }
363
- getVisibleColumnsCount() {
364
- return this.columns.filter((column) => { var _a; return !((_a = this.parsedConfig[column]) === null || _a === void 0 ? void 0 : _a.hidden); }).length;
365
- }
366
- divisionFactor() {
367
- let divisionFactor = 1;
368
- if (this.columnSize === 'medium') {
369
- divisionFactor = 2;
370
- }
371
- else if (this.columnSize === 'large') {
372
- divisionFactor = 4;
373
- }
374
- return divisionFactor;
375
- }
376
- render() {
377
- // Use containerWidth state that is updated on resize.
378
- const currentContainerWidth = this.hostWidth && this.hostWidth.trim() !== '' ? Number(this.hostWidth) : this.containerWidth || 400;
379
- // Calculate the number of visible columns and the column width.
380
- const visibleColumnsCount = this.getVisibleColumnsCount();
381
- const columnWidth = visibleColumnsCount > 0 ? Math.floor((currentContainerWidth / visibleColumnsCount) * this.divisionFactor()) : 100;
382
- const paginatedRows = this.getPaginatedRows();
383
- const lastPage = Math.ceil(this.totalRows / this.rowsPerPage);
384
- return (index.h("div", { key: '81735ac374853c8c92b3f50e26263ff9d71b326c' }, this.searchEnabled && (index.h("div", { key: '0b2ab8dbb343033f605e2028890bd963cd650998' }, index.h("eds-input-field", { key: 1, name: "search", "aria-label": "Search", type: "text", placeholder: "Search...",
385
- // @ts-ignore
386
- onInput: (event) => this.handleSearch(event) }))), index.h("div", { key: 'eb3eebe6fb124d4e1983b2fb7e636707817d36bd', class: "mt-20" }, index.h("table", { key: '03b312ac20bdec28843a46907a3cc4fba69f62ae', class: "block overflow-x-auto mt-6 p-0" }, index.h("thead", { key: 'ccab58dc46ae765df28da97ded6b1dd14d45d7f1' }, index.h("tr", { key: '904a125aad610cebe42b0bce46615be38f0ee17a', class: "m-0 p-0 border border-softer even:bg-inverse-softer" }, this.columns.map((column) => {
387
- var _a;
388
- return !((_a = this.parsedConfig[column]) === null || _a === void 0 ? void 0 : _a.hidden) && (index.h("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words", style: { minWidth: `${columnWidth - 4}px` } }, column));
389
- }))), index.h("tbody", { key: 'a4c54c9c89d15546020dbb684e5486decde33f30' }, paginatedRows.map((row) => (index.h("tr", { class: "m-0 p-0 border border-softer even:bg-inverse-softer" }, this.columns.map((column) => {
390
- var _a;
391
- return !((_a = this.parsedConfig[column]) === null || _a === void 0 ? void 0 : _a.hidden) && (index.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)));
392
- }))))))), this.shouldEnablePagination() && (index.h("div", { key: '2a248cbbe81ac8c1ad4dfbb49a9615f15931bac6', class: "mt-20" }, index.h("eds-pagination", { key: '11701d81922ca4c8b36fe82be32316a175eddbcd', currentPage: this.currentPage, lastPage: lastPage, perPage: this.rowsPerPage, total: this.totalRows, mode: "default" })))));
393
- }
394
- get hostEl() { return index.getElement(this); }
395
- static get watchers() { return {
396
- "data": ["handleDataChange", "parseData"],
397
- "config": ["handleConfigChange"]
398
- }; }
399
- };
400
- EdsTable.style = EdsTableStyle0;
401
-
402
- exports.eds_pagination = EdsPagination;
403
- exports.eds_table = EdsTable;
@@ -1 +0,0 @@
1
- import{r as s,h as e}from"./p-28ae3f3a.js";import{s as r}from"./p-b822abb7.js";const a=class{constructor(e){s(this,e),this.class=""}render(){return e("span",{key:"8b5d4cfeedf6d7e9bea48d7ba892527d484c858d",class:this.class,innerHTML:r})}};export{a as eds_icon_success}
@@ -1 +0,0 @@
1
- import{r as s,h as r}from"./p-28ae3f3a.js";import{t}from"./p-7198c024.js";const a=class{constructor(r){s(this,r),this.class=""}render(){return r("span",{key:"0e47e2af80487a28c96e8830dda102c23bff9e5c",class:this.class,innerHTML:t})}};export{a as eds_icon_tutorial}
@@ -1 +0,0 @@
1
- import{r,h as s}from"./p-28ae3f3a.js";import{a as c}from"./p-c8e7c854.js";const a=class{constructor(s){r(this,s),this.class=""}render(){return s("span",{key:"557b38fd6253b4a29c4cf2ec2b9f79355ceca358",class:this.class,innerHTML:c})}};export{a as eds_icon_arrow_right}
@@ -1 +0,0 @@
1
- import{r as s,h as r}from"./p-28ae3f3a.js";import{a}from"./p-32e6c4df.js";const e=class{constructor(r){s(this,r),this.class=""}render(){return r("span",{key:"099d0118c7a4bfa2d8b5c21f45162080b31a2f7c",class:this.class,innerHTML:a})}};export{e as eds_icon_external}