@ebrains/components 2.0.0 → 2.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 (603) hide show
  1. package/dist/cjs/clone-846acfdd.js +5 -0
  2. package/dist/cjs/color-primary-palette_6.cjs.entry.js +15 -15
  3. package/dist/cjs/components-section.cjs.entry.js +2 -2
  4. package/dist/cjs/components.cjs.js +2 -2
  5. package/dist/cjs/correct-use-of-colors.cjs.entry.js +2 -2
  6. package/dist/cjs/docs-palettes.cjs.entry.js +2 -2
  7. package/dist/cjs/docs-tokens.cjs.entry.js +2 -2
  8. package/dist/cjs/edit-ff5b84d8.js +5 -0
  9. package/dist/cjs/{eds-avatar_26.cjs.entry.js → eds-accordion_33.cjs.entry.js} +3467 -157
  10. package/dist/cjs/eds-app-root.cjs.entry.js +2 -2
  11. package/dist/cjs/eds-card-desc_2.cjs.entry.js +3 -3
  12. package/dist/cjs/eds-card-generic.cjs.entry.js +1 -1
  13. package/dist/cjs/eds-card-project.cjs.entry.js +2 -2
  14. package/dist/cjs/eds-card-section.cjs.entry.js +1 -1
  15. package/dist/cjs/eds-card-tags.cjs.entry.js +2 -2
  16. package/dist/cjs/eds-card-tool.cjs.entry.js +2 -2
  17. package/dist/cjs/eds-cookies-preference.cjs.entry.js +2 -2
  18. package/dist/cjs/eds-feedback.cjs.entry.js +2 -2
  19. package/dist/cjs/eds-footer.cjs.entry.js +9 -3
  20. package/dist/cjs/eds-frame.cjs.entry.js +2 -2
  21. package/dist/cjs/eds-fullscreen-menu.cjs.entry.js +1 -1
  22. package/dist/cjs/eds-gauge.cjs.entry.js +2 -2
  23. package/dist/cjs/eds-icon-arrow-diagonal.cjs.entry.js +2 -2
  24. package/dist/cjs/eds-icon-arrow-right.cjs.entry.js +2 -2
  25. package/dist/cjs/eds-icon-bin.cjs.entry.js +2 -2
  26. package/dist/cjs/eds-icon-bluesky.cjs.entry.js +2 -2
  27. package/dist/cjs/eds-icon-bookmark.cjs.entry.js +2 -2
  28. package/dist/cjs/eds-icon-chevron-down.cjs.entry.js +2 -2
  29. package/dist/cjs/eds-icon-chevron-left.cjs.entry.js +2 -2
  30. package/dist/cjs/eds-icon-chevron-right.cjs.entry.js +2 -2
  31. package/dist/cjs/eds-icon-chevron-up.cjs.entry.js +2 -2
  32. package/dist/cjs/eds-icon-clone.cjs.entry.js +18 -0
  33. package/dist/cjs/eds-icon-close.cjs.entry.js +2 -2
  34. package/dist/cjs/eds-icon-copy.cjs.entry.js +2 -2
  35. package/dist/cjs/eds-icon-draft.cjs.entry.js +2 -2
  36. package/dist/cjs/eds-icon-edit.cjs.entry.js +3 -3
  37. package/dist/cjs/eds-icon-eu.cjs.entry.js +2 -2
  38. package/dist/cjs/eds-icon-external.cjs.entry.js +2 -2
  39. package/dist/cjs/eds-icon-facebook.cjs.entry.js +2 -2
  40. package/dist/cjs/eds-icon-gitlab.cjs.entry.js +2 -2
  41. package/dist/cjs/eds-icon-linkedin.cjs.entry.js +2 -2
  42. package/dist/cjs/eds-icon-loader.cjs.entry.js +2 -2
  43. package/dist/cjs/eds-icon-mastodon.cjs.entry.js +2 -2
  44. package/dist/cjs/eds-icon-menu.cjs.entry.js +2 -2
  45. package/dist/cjs/eds-icon-minus.cjs.entry.js +2 -2
  46. package/dist/cjs/eds-icon-more.cjs.entry.js +2 -2
  47. package/dist/cjs/eds-icon-paper.cjs.entry.js +2 -2
  48. package/dist/cjs/eds-icon-plus.cjs.entry.js +2 -2
  49. package/dist/cjs/eds-icon-portal.cjs.entry.js +2 -2
  50. package/dist/cjs/eds-icon-private.cjs.entry.js +2 -2
  51. package/dist/cjs/eds-icon-public.cjs.entry.js +2 -2
  52. package/dist/cjs/eds-icon-search.cjs.entry.js +2 -2
  53. package/dist/cjs/eds-icon-star.cjs.entry.js +2 -2
  54. package/dist/cjs/eds-icon-start.cjs.entry.js +2 -2
  55. package/dist/cjs/eds-icon-success.cjs.entry.js +2 -2
  56. package/dist/cjs/eds-icon-thumbs-down.cjs.entry.js +2 -2
  57. package/dist/cjs/eds-icon-thumbs-up.cjs.entry.js +2 -2
  58. package/dist/cjs/eds-icon-tutorial.cjs.entry.js +2 -2
  59. package/dist/cjs/eds-icon-twitter.cjs.entry.js +2 -2
  60. package/dist/cjs/eds-icon-unknown.cjs.entry.js +2 -2
  61. package/dist/cjs/eds-icon-updown.cjs.entry.js +2 -2
  62. package/dist/cjs/eds-icon-user.cjs.entry.js +2 -2
  63. package/dist/cjs/eds-icon-view.cjs.entry.js +18 -0
  64. package/dist/cjs/eds-icon-youtube.cjs.entry.js +2 -2
  65. package/dist/cjs/eds-modal.cjs.entry.js +3 -3
  66. package/dist/cjs/eds-pie.cjs.entry.js +1 -1
  67. package/dist/cjs/eds-progress-bar.cjs.entry.js +2 -2
  68. package/dist/cjs/eds-section-core_2.cjs.entry.js +4 -4
  69. package/dist/cjs/eds-social-networks.cjs.entry.js +2 -2
  70. package/dist/cjs/eds-spinner.cjs.entry.js +2 -2
  71. package/dist/cjs/eds-splash-screen.cjs.entry.js +1 -1
  72. package/dist/cjs/eds-timeline.cjs.entry.js +2 -2
  73. package/dist/cjs/eds-toast-manager.cjs.entry.js +2 -2
  74. package/dist/cjs/eds-tooltip.cjs.entry.js +2 -2
  75. package/dist/cjs/eds-trl.cjs.entry.js +2 -2
  76. package/dist/cjs/incorrect-use-of-colors.cjs.entry.js +2 -2
  77. package/dist/cjs/{index-88c8039f.js → index-0249a32e.js} +15 -28
  78. package/dist/cjs/loader.cjs.js +2 -2
  79. package/dist/cjs/logo-space.cjs.entry.js +2 -2
  80. package/dist/cjs/logo-variations-horizontal_2.cjs.entry.js +3 -3
  81. package/dist/cjs/logo-variations-tabs.cjs.entry.js +2 -2
  82. package/dist/cjs/logo-wrong-usage.cjs.entry.js +2 -2
  83. package/dist/cjs/svg-repository.cjs.entry.js +8 -4
  84. package/dist/cjs/token-list_3.cjs.entry.js +4 -4
  85. package/dist/cjs/token-ratios.cjs.entry.js +2 -2
  86. package/dist/cjs/token-spacing.cjs.entry.js +2 -2
  87. package/dist/cjs/token-typography.cjs.entry.js +2 -2
  88. package/dist/cjs/view-80d5c6c8.js +5 -0
  89. package/dist/collection/collection-manifest.json +3 -0
  90. package/dist/collection/components/eds-accordion/eds-accordion.js +1 -1
  91. package/dist/collection/components/eds-alert/eds-alert.js +30 -3
  92. package/dist/collection/components/eds-avatar/eds-avatar.js +1 -1
  93. package/dist/collection/components/eds-block-break/eds-block-break.js +1 -1
  94. package/dist/collection/components/eds-breadcrump/eds-breadcrump.js +1 -1
  95. package/dist/collection/components/eds-button/eds-button.css +4 -0
  96. package/dist/collection/components/eds-button/eds-button.js +19 -8
  97. package/dist/collection/components/eds-cards/eds-card-composer/eds-card-desc/eds-card-desc.js +1 -1
  98. package/dist/collection/components/eds-cards/eds-card-composer/eds-card-tags/eds-card-tags.js +1 -1
  99. package/dist/collection/components/eds-cards/eds-card-composer/eds-card-title/eds-card-title.js +1 -1
  100. package/dist/collection/components/eds-cards/eds-card-project/eds-card-project.js +1 -1
  101. package/dist/collection/components/eds-cards/eds-card-tool/eds-card-tool.js +1 -1
  102. package/dist/collection/components/eds-charts/eds-gauge/eds-gauge.js +1 -1
  103. package/dist/collection/components/eds-code-block/eds-code-block.js +1 -1
  104. package/dist/collection/components/eds-dropdown/eds-dropdown.js +2 -2
  105. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-down/eds-icon-chevron-down.js +1 -1
  106. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-left/eds-icon-chevron-left.js +1 -1
  107. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-right/eds-icon-chevron-right.js +1 -1
  108. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-up/eds-icon-chevron-up.js +1 -1
  109. package/dist/collection/components/eds-icons/eds-icon-arrow-diagonal/eds-icon-arrow-diagonal.js +1 -1
  110. package/dist/collection/components/eds-icons/eds-icon-arrow-right/eds-icon-arrow-right.js +1 -1
  111. package/dist/collection/components/eds-icons/eds-icon-bin/eds-icon-bin.js +1 -1
  112. package/dist/collection/components/eds-icons/eds-icon-bookmark/eds-icon-bookmark.js +1 -1
  113. package/dist/collection/components/eds-icons/eds-icon-clone/eds-icon-clone.js +36 -0
  114. package/dist/collection/components/eds-icons/eds-icon-close/eds-icon-close.js +1 -1
  115. package/dist/collection/components/eds-icons/eds-icon-copy/eds-icon-copy.js +1 -1
  116. package/dist/collection/components/eds-icons/eds-icon-draft/eds-icon-draft.js +1 -1
  117. package/dist/collection/components/eds-icons/eds-icon-edit/eds-icon-edit.js +1 -1
  118. package/dist/collection/components/eds-icons/eds-icon-eu/eds-icon-eu.js +1 -1
  119. package/dist/collection/components/eds-icons/eds-icon-external/eds-icon-external.js +1 -1
  120. package/dist/collection/components/eds-icons/eds-icon-gitlab/eds-icon-gitlab.js +1 -1
  121. package/dist/collection/components/eds-icons/eds-icon-loader/eds-icon-loader.js +1 -1
  122. package/dist/collection/components/eds-icons/eds-icon-menu/eds-icon-menu.js +1 -1
  123. package/dist/collection/components/eds-icons/eds-icon-minus/eds-icon-minus.js +1 -1
  124. package/dist/collection/components/eds-icons/eds-icon-more/eds-icon-more.js +1 -1
  125. package/dist/collection/components/eds-icons/eds-icon-paper/eds-icon-paper.js +1 -1
  126. package/dist/collection/components/eds-icons/eds-icon-plus/eds-icon-plus.js +1 -1
  127. package/dist/collection/components/eds-icons/eds-icon-portal/eds-icon-portal.js +1 -1
  128. package/dist/collection/components/eds-icons/eds-icon-private/eds-icon-private.js +1 -1
  129. package/dist/collection/components/eds-icons/eds-icon-public/eds-icon-public.js +1 -1
  130. package/dist/collection/components/eds-icons/eds-icon-search/eds-icon-search.js +1 -1
  131. package/dist/collection/components/eds-icons/eds-icon-star/eds-icon-star.js +1 -1
  132. package/dist/collection/components/eds-icons/eds-icon-start/eds-icon-start.js +1 -1
  133. package/dist/collection/components/eds-icons/eds-icon-success/eds-icon-success.js +1 -1
  134. package/dist/collection/components/eds-icons/eds-icon-thumbs-down/eds-icon-thumbs-down.js +1 -1
  135. package/dist/collection/components/eds-icons/eds-icon-thumbs-up/eds-icon-thumbs-up.js +1 -1
  136. package/dist/collection/components/eds-icons/eds-icon-tutorial/eds-icon-tutorial.js +1 -1
  137. package/dist/collection/components/eds-icons/eds-icon-unknown/eds-icon-unknown.js +1 -1
  138. package/dist/collection/components/eds-icons/eds-icon-updown/eds-icon-updown.js +1 -1
  139. package/dist/collection/components/eds-icons/eds-icon-user/eds-icon-user.js +1 -1
  140. package/dist/collection/components/eds-icons/eds-icon-view/eds-icon-view.js +36 -0
  141. package/dist/collection/components/eds-icons/social/eds-icon-bluesky/eds-icon-bluesky.js +1 -1
  142. package/dist/collection/components/eds-icons/social/eds-icon-facebook/eds-icon-facebook.js +1 -1
  143. package/dist/collection/components/eds-icons/social/eds-icon-linkedin/eds-icon-linkedin.js +1 -1
  144. package/dist/collection/components/eds-icons/social/eds-icon-mastodon/eds-icon-mastodon.js +1 -1
  145. package/dist/collection/components/eds-icons/social/eds-icon-twitter/eds-icon-twitter.js +1 -1
  146. package/dist/collection/components/eds-icons/social/eds-icon-youtube/eds-icon-youtube.js +1 -1
  147. package/dist/collection/components/eds-img/eds-img.js +2 -2
  148. package/dist/collection/components/eds-input-elements/eds-input/eds-input.js +2 -2
  149. package/dist/collection/components/eds-input-elements/eds-input-footer/eds-input-footer.js +1 -1
  150. package/dist/collection/components/eds-input-elements/eds-input-label/eds-input-label.js +1 -1
  151. package/dist/collection/components/eds-input-elements/eds-input-range/eds-input-range.js +1 -1
  152. package/dist/collection/components/eds-input-elements/eds-input-search/eds-input-search.js +1 -1
  153. package/dist/collection/components/eds-input-elements/eds-input-select/eds-input-select.js +2 -2
  154. package/dist/collection/components/eds-input-field/eds-input-field.js +3 -2
  155. package/dist/collection/components/eds-link/eds-link.js +27 -7
  156. package/dist/collection/components/eds-link/eds-link.stories.js +3 -1
  157. package/dist/collection/components/eds-logo/eds-logo.js +1 -1
  158. package/dist/collection/components/eds-modal/eds-modal.js +2 -2
  159. package/dist/collection/components/eds-nps/eds-npm.stories.js +36 -0
  160. package/dist/collection/components/eds-nps/eds-nps.css +73 -0
  161. package/dist/collection/components/eds-nps/eds-nps.js +163 -0
  162. package/dist/collection/components/eds-pagination/eds-pagination.css +4 -0
  163. package/dist/collection/components/eds-pagination/eds-pagination.js +130 -50
  164. package/dist/collection/components/eds-progress-bar/eds-progress-bar.js +1 -1
  165. package/dist/collection/components/eds-rating/eds-rating.js +25 -3
  166. package/dist/collection/components/eds-section/eds-section-core/eds-section-core.js +1 -1
  167. package/dist/collection/components/eds-section/eds-section-heading/eds-section-heading.js +2 -2
  168. package/dist/collection/components/eds-spinner/eds-spinner.js +1 -1
  169. package/dist/collection/components/eds-switch/eds-switch.css +15 -5
  170. package/dist/collection/components/eds-switch/eds-switch.js +26 -4
  171. package/dist/collection/components/eds-table/eds-table.js +38 -37
  172. package/dist/collection/components/eds-table/eds-table.stories.js +1 -1
  173. package/dist/collection/components/eds-tag/eds-tag.js +1 -1
  174. package/dist/collection/components/eds-timeline/eds-timeline.js +1 -1
  175. package/dist/collection/components/eds-tooltip/eds-tooltip.js +1 -1
  176. package/dist/collection/components/eds-trl/eds-trl.js +1 -1
  177. package/dist/collection/eds-docs-ui/colors/color-palette/primary.js +1 -1
  178. package/dist/collection/eds-docs-ui/colors/color-palette/secondary.js +1 -1
  179. package/dist/collection/eds-docs-ui/colors/color-palette/support.js +1 -1
  180. package/dist/collection/eds-docs-ui/colors/gradient-palette/primary.js +1 -1
  181. package/dist/collection/eds-docs-ui/colors/gradient-palette/secondary.js +7 -7
  182. package/dist/collection/eds-docs-ui/colors/gradient-palette/support.js +3 -3
  183. package/dist/collection/eds-docs-ui/colors/use-of-colors/correct-use-of-colors.js +1 -1
  184. package/dist/collection/eds-docs-ui/colors/use-of-colors/incorrect-use-of-colors.js +1 -1
  185. package/dist/collection/eds-docs-ui/components-section/components-section.js +1 -1
  186. package/dist/collection/eds-docs-ui/design-tokens/docs-tokens/docs-tokens.js +1 -1
  187. package/dist/collection/eds-docs-ui/design-tokens/token-list/token-list.js +1 -1
  188. package/dist/collection/eds-docs-ui/design-tokens/token-radii/token-radii.js +1 -1
  189. package/dist/collection/eds-docs-ui/design-tokens/token-ratios/token-ratios.js +1 -1
  190. package/dist/collection/eds-docs-ui/design-tokens/token-shadows/token-shadows.js +1 -1
  191. package/dist/collection/eds-docs-ui/design-tokens/token-spacing/token-spacing.js +1 -1
  192. package/dist/collection/eds-docs-ui/design-tokens/token-typography/token-typography.js +1 -1
  193. package/dist/collection/eds-docs-ui/docs-palettes/docs-palettes.js +1 -1
  194. package/dist/collection/eds-docs-ui/logo/logo-space/logo-space.js +1 -1
  195. package/dist/collection/eds-docs-ui/logo/logo-variations/horizontal/logo-variations-horizontal.js +1 -1
  196. package/dist/collection/eds-docs-ui/logo/logo-variations/vertical/logo-variations-vertical.js +1 -1
  197. package/dist/collection/eds-docs-ui/logo/logo-variations-tabs/logo-variations.js +1 -1
  198. package/dist/collection/eds-docs-ui/logo/logo-wrong-usage/logo-wrong-usage.js +1 -1
  199. package/dist/collection/eds-docs-ui/svg-repository/svg-repository.js +1 -1
  200. package/dist/collection/shared-ui/eds-cookies-preference/eds-cookies-preference.js +1 -1
  201. package/dist/collection/shared-ui/eds-feedback/eds-feedback.js +1 -1
  202. package/dist/collection/shared-ui/eds-footer/eds-footer.js +8 -2
  203. package/dist/collection/shared-ui/eds-form/eds-form.js +26 -4
  204. package/dist/collection/shared-ui/eds-form/eds-form.stories.js +1 -1
  205. package/dist/collection/shared-ui/eds-frame/eds-frame.js +1 -1
  206. package/dist/collection/shared-ui/eds-header/eds-header.js +1 -1
  207. package/dist/collection/shared-ui/eds-social-networks/eds-social-networks.js +1 -1
  208. package/dist/collection/shared-ui/eds-tabs/eds-tabs.css +26 -5
  209. package/dist/collection/shared-ui/eds-tabs/eds-tabs.js +89 -31
  210. package/dist/collection/shared-ui/eds-toast-manager/eds-toast-manager.js +1 -1
  211. package/dist/collection/shared-ui/eds-user/eds-user.js +1 -1
  212. package/dist/collection/shared-ui/examples/eds-app-root/eds-app-root.js +1 -1
  213. package/dist/collection/utils/eds-form/formValidators.js +33 -0
  214. package/dist/components/clone.js +3 -0
  215. package/dist/components/components-section.js +1 -1
  216. package/dist/components/components.css +7 -9
  217. package/dist/components/components.esm.js +1 -1
  218. package/dist/components/correct-use-of-colors.js +1 -1
  219. package/dist/components/docs-palettes.js +1 -1
  220. package/dist/components/docs-tokens.js +1 -1
  221. package/dist/components/edit.js +1 -1
  222. package/dist/components/eds-accordion2.js +1 -1
  223. package/dist/components/eds-alert2.js +21 -5
  224. package/dist/components/eds-app-root.js +1 -1
  225. package/dist/components/eds-avatar2.js +1 -1
  226. package/dist/components/eds-block-break2.js +1 -1
  227. package/dist/components/eds-breadcrumb.js +1 -1
  228. package/dist/components/eds-button2.js +21 -10
  229. package/dist/components/eds-card-desc2.js +1 -1
  230. package/dist/components/eds-card-project.js +1 -1
  231. package/dist/components/eds-card-tags.js +1 -1
  232. package/dist/components/eds-card-title2.js +1 -1
  233. package/dist/components/eds-card-tool.js +1 -1
  234. package/dist/components/eds-code-block2.js +1 -1
  235. package/dist/components/eds-cookies-preference.js +1 -1
  236. package/dist/components/eds-dropdown2.js +2 -2
  237. package/dist/components/eds-feedback.js +1 -1
  238. package/dist/components/eds-footer2.js +8 -2
  239. package/dist/components/eds-form.js +80 -22
  240. package/dist/components/eds-frame.js +1 -1
  241. package/dist/components/eds-gauge.js +1 -1
  242. package/dist/components/eds-header.js +1 -1
  243. package/dist/components/eds-icon-arrow-diagonal.js +1 -1
  244. package/dist/components/eds-icon-arrow-right.js +1 -1
  245. package/dist/components/eds-icon-bin.js +1 -1
  246. package/dist/components/eds-icon-bluesky.js +1 -1
  247. package/dist/components/eds-icon-bookmark.js +1 -1
  248. package/dist/components/eds-icon-chevron-down.js +1 -1
  249. package/dist/components/eds-icon-chevron-left.js +1 -1
  250. package/dist/components/eds-icon-chevron-right.js +1 -1
  251. package/dist/components/eds-icon-chevron-up.js +1 -1
  252. package/dist/components/eds-icon-clone.d.ts +11 -0
  253. package/dist/components/eds-icon-clone.js +33 -0
  254. package/dist/components/eds-icon-close.js +1 -1
  255. package/dist/components/eds-icon-copy.js +1 -1
  256. package/dist/components/eds-icon-draft.js +1 -1
  257. package/dist/components/eds-icon-edit.js +1 -1
  258. package/dist/components/eds-icon-eu.js +1 -1
  259. package/dist/components/eds-icon-external.js +1 -1
  260. package/dist/components/eds-icon-facebook.js +1 -1
  261. package/dist/components/eds-icon-gitlab.js +1 -1
  262. package/dist/components/eds-icon-linkedin.js +1 -1
  263. package/dist/components/eds-icon-loader.js +1 -1
  264. package/dist/components/eds-icon-mastodon.js +1 -1
  265. package/dist/components/eds-icon-menu.js +1 -1
  266. package/dist/components/eds-icon-minus.js +1 -1
  267. package/dist/components/eds-icon-more.js +1 -1
  268. package/dist/components/eds-icon-paper.js +1 -1
  269. package/dist/components/eds-icon-plus.js +1 -1
  270. package/dist/components/eds-icon-portal.js +1 -1
  271. package/dist/components/eds-icon-private.js +1 -1
  272. package/dist/components/eds-icon-public.js +1 -1
  273. package/dist/components/eds-icon-search.js +1 -1
  274. package/dist/components/eds-icon-star.js +1 -1
  275. package/dist/components/eds-icon-start.js +1 -1
  276. package/dist/components/eds-icon-success.js +1 -1
  277. package/dist/components/eds-icon-thumbs-down.js +1 -1
  278. package/dist/components/eds-icon-thumbs-up.js +1 -1
  279. package/dist/components/eds-icon-tutorial.js +1 -1
  280. package/dist/components/eds-icon-twitter.js +1 -1
  281. package/dist/components/eds-icon-unknown.js +1 -1
  282. package/dist/components/eds-icon-updown.js +1 -1
  283. package/dist/components/eds-icon-user.js +1 -1
  284. package/dist/components/eds-icon-view.d.ts +11 -0
  285. package/dist/components/eds-icon-view.js +33 -0
  286. package/dist/components/eds-icon-youtube.js +1 -1
  287. package/dist/components/eds-img2.js +2 -2
  288. package/dist/components/eds-input-field2.js +4 -3
  289. package/dist/components/eds-input-footer2.js +1 -1
  290. package/dist/components/eds-input-label2.js +1 -1
  291. package/dist/components/eds-input-range2.js +1 -1
  292. package/dist/components/eds-input-search2.js +1 -1
  293. package/dist/components/eds-input-select2.js +2 -2
  294. package/dist/components/eds-input2.js +2 -2
  295. package/dist/components/eds-link2.js +27 -7
  296. package/dist/components/eds-logo2.js +1 -1
  297. package/dist/components/eds-modal.js +2 -2
  298. package/dist/components/eds-nps.d.ts +11 -0
  299. package/dist/components/eds-nps.js +6 -0
  300. package/dist/components/eds-nps2.js +120 -0
  301. package/dist/components/eds-pagination2.js +119 -52
  302. package/dist/components/eds-progress-bar2.js +1 -1
  303. package/dist/components/eds-rating2.js +25 -3
  304. package/dist/components/eds-section-core2.js +1 -1
  305. package/dist/components/eds-section-heading2.js +2 -2
  306. package/dist/components/eds-social-networks2.js +1 -1
  307. package/dist/components/eds-spinner2.js +1 -1
  308. package/dist/components/eds-switch.js +27 -5
  309. package/dist/components/eds-table2.js +45 -20
  310. package/dist/components/eds-tabs.js +90 -32
  311. package/dist/components/eds-tag2.js +1 -1
  312. package/dist/components/eds-timeline.js +1 -1
  313. package/dist/components/eds-toast-manager.js +1 -1
  314. package/dist/components/eds-tooltip.js +1 -1
  315. package/dist/components/eds-trl.js +8 -2
  316. package/dist/components/eds-user.js +3 -9
  317. package/dist/components/incorrect-use-of-colors.js +9 -3
  318. package/dist/components/logo-space.js +8 -2
  319. package/dist/components/logo-variations-horizontal2.js +1 -1
  320. package/dist/components/logo-variations-tabs.js +1 -1
  321. package/dist/components/logo-variations-vertical2.js +1 -1
  322. package/dist/components/logo-wrong-usage.js +1 -1
  323. package/dist/components/p-05654483.entry.js +1 -0
  324. package/dist/components/{p-9e53eca3.entry.js → p-09079c5c.entry.js} +1 -1
  325. package/dist/components/p-10997947.entry.js +1 -0
  326. package/dist/components/p-19e69c03.entry.js +1 -0
  327. package/dist/components/p-1ab1ea29.entry.js +1 -0
  328. package/dist/components/p-1bcf743d.entry.js +1 -0
  329. package/dist/components/{p-9d18d7b1.entry.js → p-1d18106d.entry.js} +1 -1
  330. package/dist/components/{p-adbd0d7b.entry.js → p-265150a1.entry.js} +1 -1
  331. package/dist/components/p-27c4a06e.js +1 -0
  332. package/dist/components/{p-e35e156d.entry.js → p-2e0c3fc4.entry.js} +1 -1
  333. package/dist/components/{p-6d3b5818.entry.js → p-2ef4dd11.entry.js} +1 -1
  334. package/dist/components/p-3360e1e2.entry.js +1 -0
  335. package/dist/components/{p-93e6ba0f.entry.js → p-38bc21e9.entry.js} +1 -1
  336. package/dist/components/p-3b29e0fd.entry.js +1 -0
  337. package/dist/components/p-42457a0f.entry.js +1 -0
  338. package/dist/components/p-4a6a72db.entry.js +1 -0
  339. package/dist/components/p-4b33909d.entry.js +1 -0
  340. package/dist/components/p-4bf4bc93.entry.js +1 -0
  341. package/dist/components/{p-773a119a.entry.js → p-4c84fcf4.entry.js} +1 -1
  342. package/dist/components/p-4eb2cf7f.js +1 -0
  343. package/dist/components/p-5367bb59.entry.js +1 -0
  344. package/dist/components/p-547a53d6.entry.js +1 -0
  345. package/dist/components/p-560fc3a4.entry.js +1 -0
  346. package/dist/components/p-5a58f1c1.entry.js +1 -0
  347. package/dist/components/p-5b55f951.entry.js +1 -0
  348. package/dist/components/p-5ba49cf2.entry.js +1 -0
  349. package/dist/components/p-5dd85979.entry.js +1 -0
  350. package/dist/components/{p-356846cd.entry.js → p-5f348b0e.entry.js} +1 -1
  351. package/dist/components/p-634b6ca2.entry.js +1 -0
  352. package/dist/components/{p-b073d78f.entry.js → p-64b7a6fc.entry.js} +1 -1
  353. package/dist/components/{p-02d94d2d.entry.js → p-6614881d.entry.js} +1 -1
  354. package/dist/components/{p-2839899a.entry.js → p-67ec46b4.entry.js} +1 -1
  355. package/dist/components/p-6b988c76.entry.js +1 -0
  356. package/dist/components/p-6cd6ff0c.entry.js +1 -0
  357. package/dist/components/{p-f6ca2aa6.entry.js → p-706a106c.entry.js} +1 -1
  358. package/dist/components/p-71ee4af2.entry.js +1 -0
  359. package/dist/components/{p-794f11e7.entry.js → p-743f9f8f.entry.js} +1 -1
  360. package/dist/components/p-789f54cb.entry.js +1 -0
  361. package/dist/components/{p-8c0b0121.entry.js → p-79afd8aa.entry.js} +1 -1
  362. package/dist/components/{p-b3a40663.entry.js → p-7a3f2576.entry.js} +1 -1
  363. package/dist/components/p-7a5623b5.entry.js +1 -0
  364. package/dist/components/p-7ca6db64.entry.js +1 -0
  365. package/dist/components/p-7fa46b01.entry.js +1 -0
  366. package/dist/components/{p-3e183368.entry.js → p-8627afc0.entry.js} +1 -1
  367. package/dist/components/p-86eff0cb.entry.js +1 -0
  368. package/dist/components/p-89048f87.entry.js +1 -0
  369. package/dist/components/p-8cf98230.entry.js +1 -0
  370. package/dist/components/{p-8dee879d.entry.js → p-8d363a3c.entry.js} +1 -1
  371. package/dist/components/p-9261d27c.entry.js +1 -0
  372. package/dist/components/p-97323c46.entry.js +1 -0
  373. package/dist/components/p-9b90296c.entry.js +1 -0
  374. package/dist/components/{p-1f5c19b9.entry.js → p-9c1c5e8d.entry.js} +1 -1
  375. package/dist/components/p-9cb14b1f.entry.js +1 -0
  376. package/dist/components/p-9f0a34b4.entry.js +1 -0
  377. package/dist/components/p-a8ca8346.entry.js +1 -0
  378. package/dist/components/{p-43468b0f.entry.js → p-ab3b0a53.entry.js} +1 -1
  379. package/dist/components/p-b0d38b78.entry.js +1 -0
  380. package/dist/components/{p-66f4cdd9.entry.js → p-b31babda.entry.js} +1 -1
  381. package/dist/components/p-b6ee4250.entry.js +1 -0
  382. package/dist/components/{p-0687532c.entry.js → p-b88a2267.entry.js} +1 -1
  383. package/dist/components/{p-024789cc.entry.js → p-b9a1aba3.entry.js} +1 -1
  384. package/dist/components/p-b9fdcb1b.entry.js +1 -0
  385. package/dist/components/{p-73c74835.entry.js → p-ba9f41de.entry.js} +1 -1
  386. package/dist/components/p-beacaa4f.entry.js +1 -0
  387. package/dist/components/p-bfa23535.entry.js +1 -0
  388. package/dist/components/p-c4ac0528.entry.js +1 -0
  389. package/dist/components/p-cb114bf4.entry.js +1 -0
  390. package/dist/components/p-cd05a97b.entry.js +1 -0
  391. package/dist/components/{p-3a331c68.entry.js → p-cd787744.entry.js} +1 -1
  392. package/dist/components/p-cdc1c8e8.entry.js +1 -0
  393. package/dist/components/{p-4e473b4e.entry.js → p-d1927da7.entry.js} +1 -1
  394. package/dist/components/{p-564431ad.entry.js → p-d1d1943b.entry.js} +1 -1
  395. package/dist/components/{p-543f2347.entry.js → p-d2e485a1.entry.js} +1 -1
  396. package/dist/components/{p-e2e7250a.entry.js → p-d95d7353.entry.js} +1 -1
  397. package/dist/components/{p-76905315.entry.js → p-e0ada7e0.entry.js} +1 -1
  398. package/dist/components/{p-70e8e66f.entry.js → p-e210ddbb.entry.js} +1 -1
  399. package/dist/components/p-e5892379.entry.js +1 -0
  400. package/dist/components/p-e8374410.entry.js +1 -0
  401. package/dist/components/p-e90da4ba.entry.js +1 -0
  402. package/dist/components/p-ec706eed.entry.js +1 -0
  403. package/dist/components/{p-28ae3f3a.js → p-efbc374c.js} +2 -2
  404. package/dist/components/p-f2abe4d8.js +1 -0
  405. package/dist/components/p-f32963ff.entry.js +9 -0
  406. package/dist/components/p-f40dd50d.entry.js +1 -0
  407. package/dist/components/p-f6012c17.entry.js +1 -0
  408. package/dist/components/p-fcba31fa.entry.js +1 -0
  409. package/dist/components/primary.js +1 -1
  410. package/dist/components/primary2.js +1 -1
  411. package/dist/components/secondary.js +1 -1
  412. package/dist/components/secondary2.js +7 -7
  413. package/dist/components/support.js +1 -1
  414. package/dist/components/support2.js +3 -3
  415. package/dist/components/svg-repository.js +13 -3
  416. package/dist/components/token-list2.js +1 -1
  417. package/dist/components/token-radii2.js +1 -1
  418. package/dist/components/token-ratios.js +1 -1
  419. package/dist/components/token-shadows2.js +1 -1
  420. package/dist/components/token-spacing.js +1 -1
  421. package/dist/components/token-typography.js +1 -1
  422. package/dist/components/view.js +3 -0
  423. package/dist/esm/clone-dab56639.js +3 -0
  424. package/dist/esm/color-primary-palette_6.entry.js +15 -15
  425. package/dist/esm/components-section.entry.js +2 -2
  426. package/dist/esm/components.js +3 -3
  427. package/dist/esm/correct-use-of-colors.entry.js +2 -2
  428. package/dist/esm/docs-palettes.entry.js +2 -2
  429. package/dist/esm/docs-tokens.entry.js +2 -2
  430. package/dist/esm/edit-3893a517.js +3 -0
  431. package/dist/esm/{eds-avatar_26.entry.js → eds-accordion_33.entry.js} +3462 -159
  432. package/dist/esm/eds-app-root.entry.js +2 -2
  433. package/dist/esm/eds-card-desc_2.entry.js +3 -3
  434. package/dist/esm/eds-card-generic.entry.js +1 -1
  435. package/dist/esm/eds-card-project.entry.js +2 -2
  436. package/dist/esm/eds-card-section.entry.js +1 -1
  437. package/dist/esm/eds-card-tags.entry.js +2 -2
  438. package/dist/esm/eds-card-tool.entry.js +2 -2
  439. package/dist/esm/eds-cookies-preference.entry.js +2 -2
  440. package/dist/esm/eds-feedback.entry.js +2 -2
  441. package/dist/esm/eds-footer.entry.js +9 -3
  442. package/dist/esm/eds-frame.entry.js +2 -2
  443. package/dist/esm/eds-fullscreen-menu.entry.js +1 -1
  444. package/dist/esm/eds-gauge.entry.js +2 -2
  445. package/dist/esm/eds-icon-arrow-diagonal.entry.js +2 -2
  446. package/dist/esm/eds-icon-arrow-right.entry.js +2 -2
  447. package/dist/esm/eds-icon-bin.entry.js +2 -2
  448. package/dist/esm/eds-icon-bluesky.entry.js +2 -2
  449. package/dist/esm/eds-icon-bookmark.entry.js +2 -2
  450. package/dist/esm/eds-icon-chevron-down.entry.js +2 -2
  451. package/dist/esm/eds-icon-chevron-left.entry.js +2 -2
  452. package/dist/esm/eds-icon-chevron-right.entry.js +2 -2
  453. package/dist/esm/eds-icon-chevron-up.entry.js +2 -2
  454. package/dist/esm/eds-icon-clone.entry.js +14 -0
  455. package/dist/esm/eds-icon-close.entry.js +2 -2
  456. package/dist/esm/eds-icon-copy.entry.js +2 -2
  457. package/dist/esm/eds-icon-draft.entry.js +2 -2
  458. package/dist/esm/eds-icon-edit.entry.js +3 -3
  459. package/dist/esm/eds-icon-eu.entry.js +2 -2
  460. package/dist/esm/eds-icon-external.entry.js +2 -2
  461. package/dist/esm/eds-icon-facebook.entry.js +2 -2
  462. package/dist/esm/eds-icon-gitlab.entry.js +2 -2
  463. package/dist/esm/eds-icon-linkedin.entry.js +2 -2
  464. package/dist/esm/eds-icon-loader.entry.js +2 -2
  465. package/dist/esm/eds-icon-mastodon.entry.js +2 -2
  466. package/dist/esm/eds-icon-menu.entry.js +2 -2
  467. package/dist/esm/eds-icon-minus.entry.js +2 -2
  468. package/dist/esm/eds-icon-more.entry.js +2 -2
  469. package/dist/esm/eds-icon-paper.entry.js +2 -2
  470. package/dist/esm/eds-icon-plus.entry.js +2 -2
  471. package/dist/esm/eds-icon-portal.entry.js +2 -2
  472. package/dist/esm/eds-icon-private.entry.js +2 -2
  473. package/dist/esm/eds-icon-public.entry.js +2 -2
  474. package/dist/esm/eds-icon-search.entry.js +2 -2
  475. package/dist/esm/eds-icon-star.entry.js +2 -2
  476. package/dist/esm/eds-icon-start.entry.js +2 -2
  477. package/dist/esm/eds-icon-success.entry.js +2 -2
  478. package/dist/esm/eds-icon-thumbs-down.entry.js +2 -2
  479. package/dist/esm/eds-icon-thumbs-up.entry.js +2 -2
  480. package/dist/esm/eds-icon-tutorial.entry.js +2 -2
  481. package/dist/esm/eds-icon-twitter.entry.js +2 -2
  482. package/dist/esm/eds-icon-unknown.entry.js +2 -2
  483. package/dist/esm/eds-icon-updown.entry.js +2 -2
  484. package/dist/esm/eds-icon-user.entry.js +2 -2
  485. package/dist/esm/eds-icon-view.entry.js +14 -0
  486. package/dist/esm/eds-icon-youtube.entry.js +2 -2
  487. package/dist/esm/eds-modal.entry.js +3 -3
  488. package/dist/esm/eds-pie.entry.js +1 -1
  489. package/dist/esm/eds-progress-bar.entry.js +2 -2
  490. package/dist/esm/eds-section-core_2.entry.js +4 -4
  491. package/dist/esm/eds-social-networks.entry.js +2 -2
  492. package/dist/esm/eds-spinner.entry.js +2 -2
  493. package/dist/esm/eds-splash-screen.entry.js +1 -1
  494. package/dist/esm/eds-timeline.entry.js +2 -2
  495. package/dist/esm/eds-toast-manager.entry.js +2 -2
  496. package/dist/esm/eds-tooltip.entry.js +2 -2
  497. package/dist/esm/eds-trl.entry.js +2 -2
  498. package/dist/esm/incorrect-use-of-colors.entry.js +2 -2
  499. package/dist/esm/{index-fdb33359.js → index-e84b871c.js} +15 -28
  500. package/dist/esm/loader.js +3 -3
  501. package/dist/esm/logo-space.entry.js +2 -2
  502. package/dist/esm/logo-variations-horizontal_2.entry.js +3 -3
  503. package/dist/esm/logo-variations-tabs.entry.js +2 -2
  504. package/dist/esm/logo-wrong-usage.entry.js +2 -2
  505. package/dist/esm/svg-repository.entry.js +8 -4
  506. package/dist/esm/token-list_3.entry.js +4 -4
  507. package/dist/esm/token-ratios.entry.js +2 -2
  508. package/dist/esm/token-spacing.entry.js +2 -2
  509. package/dist/esm/token-typography.entry.js +2 -2
  510. package/dist/esm/view-e900f2d4.js +3 -0
  511. package/dist/hydrate/index.js +690 -257
  512. package/dist/hydrate/index.mjs +690 -257
  513. package/dist/types/Users/nigeor/Documents/Projects/EBRAINS/ebrains-ui-ecosystem/packages/components/.stencil/packages/svgs/src/lib/svgs.d.ts +3 -1
  514. package/dist/types/components/eds-alert/eds-alert.d.ts +6 -0
  515. package/dist/types/components/eds-button/eds-button.d.ts +1 -0
  516. package/dist/types/components/eds-icons/eds-icon-clone/eds-icon-clone.d.ts +10 -0
  517. package/dist/types/components/eds-icons/eds-icon-view/eds-icon-view.d.ts +10 -0
  518. package/dist/types/components/eds-link/eds-link.d.ts +1 -0
  519. package/dist/types/components/eds-nps/eds-npm.stories.d.ts +28 -0
  520. package/dist/types/components/eds-nps/eds-nps.d.ts +20 -0
  521. package/dist/types/components/eds-pagination/eds-pagination.d.ts +23 -2
  522. package/dist/types/components/eds-rating/eds-rating.d.ts +3 -1
  523. package/dist/types/components/eds-switch/eds-switch.d.ts +1 -0
  524. package/dist/types/components/eds-table/eds-table.d.ts +3 -4
  525. package/dist/types/components/eds-table/eds-table.stories.d.ts +7 -2
  526. package/dist/types/components.d.ts +133 -12
  527. package/dist/types/shared-ui/eds-form/eds-form.d.ts +1 -0
  528. package/dist/types/shared-ui/eds-tabs/eds-tabs.d.ts +7 -9
  529. package/dist/types/utils/eds-form/formValidators.d.ts +1 -0
  530. package/package.json +1 -1
  531. package/dist/cjs/edit-5714c144.js +0 -5
  532. package/dist/cjs/eds-accordion.cjs.entry.js +0 -87
  533. package/dist/cjs/eds-alert.cjs.entry.js +0 -104
  534. package/dist/cjs/eds-breadcrumb.cjs.entry.js +0 -145
  535. package/dist/cjs/eds-code-block.cjs.entry.js +0 -2489
  536. package/dist/cjs/eds-matomo-notice.cjs.entry.js +0 -125
  537. package/dist/cjs/eds-switch.cjs.entry.js +0 -46
  538. package/dist/components/p-023bc47c.entry.js +0 -1
  539. package/dist/components/p-02df910c.entry.js +0 -1
  540. package/dist/components/p-0be79e08.entry.js +0 -1
  541. package/dist/components/p-0e74d8b4.entry.js +0 -1
  542. package/dist/components/p-11efb1d1.entry.js +0 -1
  543. package/dist/components/p-1791ce82.entry.js +0 -1
  544. package/dist/components/p-19d586e6.entry.js +0 -1
  545. package/dist/components/p-2679926c.entry.js +0 -1
  546. package/dist/components/p-2d1a7471.entry.js +0 -1
  547. package/dist/components/p-2ff16a39.entry.js +0 -1
  548. package/dist/components/p-32e18e48.entry.js +0 -1
  549. package/dist/components/p-38e99d4b.entry.js +0 -1
  550. package/dist/components/p-4088ae0e.entry.js +0 -1
  551. package/dist/components/p-4277fb1a.entry.js +0 -1
  552. package/dist/components/p-42a73db4.entry.js +0 -1
  553. package/dist/components/p-44055e68.entry.js +0 -1
  554. package/dist/components/p-4a5d0dcd.entry.js +0 -1
  555. package/dist/components/p-4a7412ec.entry.js +0 -1
  556. package/dist/components/p-4b88d84c.entry.js +0 -1
  557. package/dist/components/p-50f43dfd.entry.js +0 -1
  558. package/dist/components/p-562afa88.entry.js +0 -1
  559. package/dist/components/p-5aa4065a.entry.js +0 -1
  560. package/dist/components/p-5ae1c931.entry.js +0 -1
  561. package/dist/components/p-634258e6.entry.js +0 -1
  562. package/dist/components/p-68f45098.entry.js +0 -1
  563. package/dist/components/p-73a44c48.entry.js +0 -1
  564. package/dist/components/p-7dbe791f.entry.js +0 -1
  565. package/dist/components/p-7ec52188.entry.js +0 -1
  566. package/dist/components/p-7fc84bb2.js +0 -1
  567. package/dist/components/p-82559816.entry.js +0 -1
  568. package/dist/components/p-85683b18.entry.js +0 -1
  569. package/dist/components/p-8681e5d8.entry.js +0 -1
  570. package/dist/components/p-877d13d9.entry.js +0 -1
  571. package/dist/components/p-911b1c0b.entry.js +0 -1
  572. package/dist/components/p-960aa103.entry.js +0 -1
  573. package/dist/components/p-996005b7.entry.js +0 -1
  574. package/dist/components/p-aa5e75b4.entry.js +0 -1
  575. package/dist/components/p-ae9393b6.entry.js +0 -1
  576. package/dist/components/p-af137162.entry.js +0 -1
  577. package/dist/components/p-b630e51a.entry.js +0 -1
  578. package/dist/components/p-bb9af709.entry.js +0 -1
  579. package/dist/components/p-c2dc3692.entry.js +0 -1
  580. package/dist/components/p-c91b4eec.entry.js +0 -1
  581. package/dist/components/p-caff3355.entry.js +0 -1
  582. package/dist/components/p-ce66ea37.entry.js +0 -1
  583. package/dist/components/p-d4f239d7.entry.js +0 -1
  584. package/dist/components/p-d7251d4d.entry.js +0 -1
  585. package/dist/components/p-deb9bbed.entry.js +0 -1
  586. package/dist/components/p-ed4d9bf5.entry.js +0 -1
  587. package/dist/components/p-ed7696a2.entry.js +0 -1
  588. package/dist/components/p-f2416727.entry.js +0 -1
  589. package/dist/components/p-f28b5da7.entry.js +0 -1
  590. package/dist/components/p-f3839914.entry.js +0 -1
  591. package/dist/components/p-f42b6251.entry.js +0 -1
  592. package/dist/components/p-f7a31196.entry.js +0 -1
  593. package/dist/components/p-f973c83b.entry.js +0 -1
  594. package/dist/components/p-fe167c78.entry.js +0 -9
  595. package/dist/esm/edit-1dc8d11b.js +0 -3
  596. package/dist/esm/eds-accordion.entry.js +0 -83
  597. package/dist/esm/eds-alert.entry.js +0 -100
  598. package/dist/esm/eds-breadcrumb.entry.js +0 -141
  599. package/dist/esm/eds-code-block.entry.js +0 -2485
  600. package/dist/esm/eds-matomo-notice.entry.js +0 -121
  601. package/dist/esm/eds-switch.entry.js +0 -42
  602. /package/dist/collection/shared-ui/eds-toast-manager/{eds-toast-manager.stories.js → eds-toast-manager.st.js} +0 -0
  603. /package/dist/types/shared-ui/eds-toast-manager/{eds-toast-manager.stories.d.ts → eds-toast-manager.st.d.ts} +0 -0
@@ -0,0 +1,73 @@
1
+ .flex {
2
+ display: flex;
3
+ }
4
+ .justify-between {
5
+ justify-content: space-between;
6
+ }
7
+ .mt-4 {
8
+ margin-top: 0.25rem;
9
+ }
10
+ .mt-8 {
11
+ margin-top: 0.5rem;
12
+ }
13
+ .ml-4 {
14
+ margin-left: 0.25rem;
15
+ }
16
+ .mr-4 {
17
+ margin-right: 0.25rem;
18
+ }
19
+ .grid {
20
+ display: grid;
21
+ }
22
+ .grid-col-span-1 {
23
+ --container-grid-columns: 1;
24
+ grid-column: span 1 / span 1;
25
+ }
26
+ .grid-cols-11 {
27
+ grid-template-columns: repeat(11, minmax(0, 1fr));
28
+ }
29
+
30
+ .grid-cols-11[class*="grid-line-x"][class*="grid-line-x"] > *:nth-child(n)::before {
31
+ border-bottom-width: 1px;
32
+ }
33
+ .grid-cols-11[class*="grid-line-xfull"] > *:nth-child(n)::before {
34
+ inset-inline-start: calc(var(--inner-gutter) / -2);
35
+ inset-inline-end: calc(var(--inner-gutter) / -2);
36
+ }
37
+ .grid-cols-11[class*="grid-line-x"] > *:nth-child(11n+1)::before {
38
+ inset-inline-start: 0;
39
+ }
40
+ .grid-cols-11[class*="grid-line-x"] > *:nth-child(11n+11)::before {
41
+ inset-inline-end: 0;
42
+ }
43
+ .grid-cols-11[class*="grid-line-x"] > *:nth-child(11n+1):nth-last-child(-n+11)::before {
44
+ border-bottom-width: 0;
45
+ }
46
+ .grid-cols-11[class*="grid-line-x"] > *:nth-child(11n+1):nth-last-child(-n+11) ~ *::before {
47
+ border-bottom-width: 0;
48
+ }
49
+ .grid-cols-11[class*="grid-line-y"][class*="grid-line-y"] > *:nth-child(n)::after {
50
+ border-inline-end-width: 1px;
51
+ }
52
+ .grid-cols-11[class*="grid-line-y"][class*="grid-line-y"] > *:nth-child(11n+11)::after {
53
+ border-inline-end-width: 0;
54
+ }
55
+ .grid-cols-11[class*="grid-line-y"][class*="grid-line-y"] > *:nth-child(-n+11)::after {
56
+ top: 0;
57
+ }
58
+ .grid-cols-11[class*="grid-line-y"][class*="grid-line-y"] > *:nth-child(11n+1):nth-last-child(-n+11)::after {
59
+ bottom: 0;
60
+ }
61
+ .grid-cols-11[class*="grid-line-y"][class*="grid-line-y"] > *:nth-child(11n+1):nth-last-child(-n+11) ~ li::after {
62
+ bottom: 0;
63
+ }
64
+ .f-ui-04 {
65
+ font-family: var(--f-ui-04-fontFamily);
66
+ font-weight: var(--f-ui-04-fontWeight);
67
+ font-size: var(--f-ui-04-fontSize);
68
+ line-height: var(--f-ui-04-lineHeight);
69
+ letter-spacing: var(--f-ui-04-letterSpacing);
70
+ }
71
+ .text-light {
72
+ color: var(--grey-700);
73
+ }
@@ -0,0 +1,163 @@
1
+ import { h } from "@stencil/core";
2
+ export class EdsNps {
3
+ constructor() {
4
+ this.min = 0;
5
+ this.max = 10;
6
+ this.question = undefined;
7
+ this.leftLabel = undefined;
8
+ this.rightLabel = undefined;
9
+ this.selectedValue = null;
10
+ }
11
+ handleClick(value) {
12
+ this.selectedValue = value;
13
+ this.nps.emit(value);
14
+ }
15
+ handleKeyNav(e) {
16
+ const radios = Array.from(this.el.shadowRoot.querySelectorAll('eds-button'));
17
+ const currentIndex = radios.findIndex((r) => r.tabIndex === 0);
18
+ switch (e.key) {
19
+ case 'ArrowRight':
20
+ case 'ArrowLeft': {
21
+ e.preventDefault();
22
+ const delta = e.key === 'ArrowRight' ? 1 : -1;
23
+ const nextIndex = Math.min(this.max, Math.max(0, currentIndex + delta));
24
+ this.activateRadio(radios, nextIndex);
25
+ break;
26
+ }
27
+ case 'Home': {
28
+ e.preventDefault();
29
+ this.activateRadio(radios, 0);
30
+ break;
31
+ }
32
+ case 'End': {
33
+ e.preventDefault();
34
+ this.activateRadio(radios, this.max);
35
+ break;
36
+ }
37
+ case 'Enter':
38
+ case ' ': {
39
+ e.preventDefault();
40
+ if (currentIndex >= 0) {
41
+ this.handleClick(this.min + currentIndex);
42
+ }
43
+ break;
44
+ }
45
+ case 'Escape': {
46
+ e.preventDefault();
47
+ if (currentIndex >= 0) {
48
+ radios[currentIndex].blur();
49
+ }
50
+ break;
51
+ }
52
+ default:
53
+ return;
54
+ }
55
+ }
56
+ activateRadio(radios, index) {
57
+ const target = radios[index];
58
+ const value = this.min + index;
59
+ this.handleClick(value);
60
+ target.focus();
61
+ }
62
+ render() {
63
+ const count = this.max - this.min + 1;
64
+ const fallback = 0;
65
+ return (h("div", { key: 'd675e1e4ecc306511c0324d0b76ee66237cb6738', class: "eds-nps" }, h("eds-input-label", { key: '2eede06f6ee166c36b0cf315a35435c89c3c0ba5', id: "nps-question", name: "nps-question", label: this.question }), h("div", { key: '16105649fe6b3b229127c9a741367a6381db774f', role: "group", id: "nps-buttons", "aria-labelledby": "nps-question", class: "grid grid-cols-11", onKeyDown: (e) => this.handleKeyNav(e) }, Array.from({ length: count }, (_, i) => {
66
+ const val = this.min + i;
67
+ const isSelected = val === this.selectedValue;
68
+ const tabIndex = this.selectedValue === null ? (i === fallback ? 0 : -1) : isSelected ? 0 : -1;
69
+ return (h("div", { class: "grid-col-span-1", key: val }, h("eds-button", { tabindex: tabIndex, label: `${val}`, "aria-label": `${val}`, intent: isSelected ? 'primary' : 'ghost', "extra-class": "!block !px-0 w-full", triggerClick: () => this.handleClick(val) })));
70
+ })), h("div", { key: 'e7bd70a4f1a8083d9c3e08fdf8de55999a27d92d', class: "flex justify-between mt-8" }, h("span", { key: 'ea3fbbac20a162e7cf5f2d5e3321c8bc9297014e', class: "f-ui-04 text-light ml-4" }, this.leftLabel), h("span", { key: '3ff59cde0c532587ead8b8a1eaaff6c630e7e7ac', class: "f-ui-04 text-light mr-4" }, this.rightLabel))));
71
+ }
72
+ static get is() { return "eds-nps"; }
73
+ static get encapsulation() { return "shadow"; }
74
+ static get originalStyleUrls() {
75
+ return {
76
+ "$": ["eds-nps.css"]
77
+ };
78
+ }
79
+ static get styleUrls() {
80
+ return {
81
+ "$": ["eds-nps.css"]
82
+ };
83
+ }
84
+ static get properties() {
85
+ return {
86
+ "question": {
87
+ "type": "string",
88
+ "mutable": false,
89
+ "complexType": {
90
+ "original": "string",
91
+ "resolved": "string",
92
+ "references": {}
93
+ },
94
+ "required": false,
95
+ "optional": false,
96
+ "docs": {
97
+ "tags": [],
98
+ "text": "The question prompt for the NPS scale."
99
+ },
100
+ "attribute": "question",
101
+ "reflect": false
102
+ },
103
+ "leftLabel": {
104
+ "type": "string",
105
+ "mutable": false,
106
+ "complexType": {
107
+ "original": "string",
108
+ "resolved": "string",
109
+ "references": {}
110
+ },
111
+ "required": false,
112
+ "optional": false,
113
+ "docs": {
114
+ "tags": [],
115
+ "text": "Label displayed under the min value."
116
+ },
117
+ "attribute": "left-label",
118
+ "reflect": false
119
+ },
120
+ "rightLabel": {
121
+ "type": "string",
122
+ "mutable": false,
123
+ "complexType": {
124
+ "original": "string",
125
+ "resolved": "string",
126
+ "references": {}
127
+ },
128
+ "required": false,
129
+ "optional": false,
130
+ "docs": {
131
+ "tags": [],
132
+ "text": "Label displayed under the max value."
133
+ },
134
+ "attribute": "right-label",
135
+ "reflect": false
136
+ }
137
+ };
138
+ }
139
+ static get states() {
140
+ return {
141
+ "selectedValue": {}
142
+ };
143
+ }
144
+ static get events() {
145
+ return [{
146
+ "method": "nps",
147
+ "name": "nps",
148
+ "bubbles": true,
149
+ "cancelable": true,
150
+ "composed": true,
151
+ "docs": {
152
+ "tags": [],
153
+ "text": "Event emitted when the NPS value changes."
154
+ },
155
+ "complexType": {
156
+ "original": "number",
157
+ "resolved": "number",
158
+ "references": {}
159
+ }
160
+ }];
161
+ }
162
+ static get elementRef() { return "el"; }
163
+ }
@@ -37,6 +37,10 @@ menu {
37
37
  letter-spacing: var(--f-ui-02-light-letterSpacing);
38
38
  }
39
39
 
40
+ .text-light {
41
+ color: var(--grey-700);
42
+ }
43
+
40
44
  .text-lightest {
41
45
  color: var(--grey-500);
42
46
  }
@@ -6,22 +6,72 @@ import { h } from "@stencil/core";
6
6
  * - Supports two display modes: "default" (shows numbered page links) and "navigator" (shows Previous/Next buttons).
7
7
  * - Emits a `page` event when the page is changed in "default" mode.
8
8
  * - Automatically generates pagination links based on the `currentPage` and `lastPage`.
9
+ * - Full keyboard navigation support with arrow keys, Home, End
10
+ * - Proper ARIA labels and screen reader support
9
11
  *
10
12
  * This component is designed for flexible and accessible pagination controls, suitable for various display needs.
11
13
  */
12
14
  export class EdsPagination {
13
15
  constructor() {
16
+ /**
17
+ * Handles keyboard navigation within the pagination
18
+ */
19
+ this.handleKeyDown = (e) => {
20
+ if (this.mode !== 'default' || !this.useButtons) {
21
+ return;
22
+ }
23
+ const navigableItems = this.getNavigableItems();
24
+ if (e.key === 'ArrowRight' || e.key === 'ArrowLeft') {
25
+ e.preventDefault();
26
+ const increment = e.key === 'ArrowRight' ? 1 : -1;
27
+ let currentIndex = this.focusedIndex;
28
+ // If no item is focused, start from current page or first item
29
+ if (currentIndex === -1) {
30
+ const currentPageIndex = navigableItems.findIndex((item) => item.type === 'page' && item.page === this.currentPage);
31
+ currentIndex = currentPageIndex !== -1 ? currentPageIndex : 0;
32
+ }
33
+ let newIndex = currentIndex + increment;
34
+ // Wrap around navigation
35
+ if (newIndex >= navigableItems.length) {
36
+ newIndex = 0;
37
+ }
38
+ else if (newIndex < 0) {
39
+ newIndex = navigableItems.length - 1;
40
+ }
41
+ this.focusedIndex = newIndex;
42
+ this.focusPaginationItem(newIndex);
43
+ }
44
+ else if (e.key === 'Home') {
45
+ e.preventDefault();
46
+ this.focusedIndex = 0;
47
+ this.focusPaginationItem(0);
48
+ }
49
+ else if (e.key === 'End') {
50
+ e.preventDefault();
51
+ const lastIndex = navigableItems.length - 1;
52
+ this.focusedIndex = lastIndex;
53
+ this.focusPaginationItem(lastIndex);
54
+ }
55
+ };
56
+ /**
57
+ * Handles focus events for pagination items
58
+ */
59
+ this.handleItemFocus = (index) => {
60
+ this.focusedIndex = index;
61
+ };
14
62
  this.currentPage = undefined;
15
63
  this.lastPage = undefined;
16
64
  this.perPage = 10;
17
65
  this.total = 0;
18
66
  this.url = '';
19
67
  this.mode = 'default';
68
+ this.useButtons = true;
20
69
  this.prevLabel = 'Prev';
21
70
  this.nextLabel = 'Next';
22
71
  this.prevUrl = '';
23
72
  this.nextUrl = '';
24
73
  this.links = [];
74
+ this.focusedIndex = -1;
25
75
  }
26
76
  /** Lifecycle hook to generate pagination links on component load */
27
77
  componentWillLoad() {
@@ -30,24 +80,17 @@ export class EdsPagination {
30
80
  }
31
81
  }
32
82
  componentDidLoad() {
33
- // Emit context for each eds-link element after the component is fully loaded
34
- const links = this.hostEl.shadowRoot.querySelectorAll('eds-link');
35
- links.forEach((lnk) => {
36
- this.emitContext(lnk);
37
- });
38
- /*if (links.length > 0) {
39
- // Emit context for the first link
40
- this.emitContext(links[0]);
41
-
42
- // Emit context for the last link, if it's different from the first
43
- if (links.length > 1) {
44
- this.emitContext(links[links.length - 1]);
45
- }
46
- }*/
83
+ // Only emit context for links, not buttons
84
+ if (!this.useButtons) {
85
+ const links = this.hostEl.shadowRoot.querySelectorAll('eds-link');
86
+ links.forEach((lnk) => {
87
+ this.emitContext(lnk);
88
+ });
89
+ }
47
90
  }
48
91
  /**
49
92
  * Emits a custom event called `parentContext` for a given link element.
50
- * This event provides context information about the breadcrumb component.
93
+ * This event provides context information about the pagination component.
51
94
  *
52
95
  * @param linkElement - The link element to which the event will be dispatched.
53
96
  */
@@ -65,6 +108,34 @@ export class EdsPagination {
65
108
  this.generateLinks();
66
109
  }
67
110
  }
111
+ /**
112
+ * Gets all navigable pagination items for keyboard navigation
113
+ */
114
+ getNavigableItems() {
115
+ const items = [];
116
+ // Previous button
117
+ items.push({ type: 'prev', disabled: this.isFirstPage() });
118
+ // Page numbers
119
+ this.links.forEach((link) => {
120
+ if (typeof link === 'object') {
121
+ items.push({ type: 'page', page: parseInt(link.label), disabled: false });
122
+ }
123
+ });
124
+ // Next button
125
+ items.push({ type: 'next', disabled: this.isLastPage() });
126
+ return items.filter((item) => !item.disabled);
127
+ }
128
+ /**
129
+ * Focuses a specific pagination item by index
130
+ */
131
+ focusPaginationItem(index) {
132
+ var _a;
133
+ const buttons = (_a = this.hostEl.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.pagination-button');
134
+ const targetButton = buttons === null || buttons === void 0 ? void 0 : buttons[index];
135
+ if (targetButton) {
136
+ targetButton.focus();
137
+ }
138
+ }
68
139
  /**
69
140
  * Checks if the current page is the first page
70
141
  * @returns {boolean} - true if current page is the first page
@@ -87,7 +158,7 @@ export class EdsPagination {
87
158
  generateLink(page) {
88
159
  const urlHasQuery = this.url.includes('?');
89
160
  return {
90
- ariaLabel: `Page ${page}`,
161
+ ariaLabel: `Go to page ${page}`,
91
162
  url: `${this.url}${urlHasQuery ? '&' : '?'}page=${page}`,
92
163
  label: page.toString(),
93
164
  current: this.currentPage === page,
@@ -107,7 +178,6 @@ export class EdsPagination {
107
178
  * Creates a pagination range based on delta, current, and total pages
108
179
  * @param {number} current - Current page number
109
180
  * @param {number} total - Total number of pages
110
- * @param {number} delta - Range of pages to display around the current page
111
181
  * @returns {(number | string)[]} - Range of page numbers or ellipses
112
182
  */
113
183
  getPaginationGenerator(current, total) {
@@ -122,7 +192,7 @@ export class EdsPagination {
122
192
  else {
123
193
  // Always show the first page
124
194
  range.push(1);
125
- // Add ellipsis if theres a gap between the first page and the current range start
195
+ // Add ellipsis if there's a gap between the first page and the current range start
126
196
  if (current - delta > 2) {
127
197
  range.push('...');
128
198
  }
@@ -130,7 +200,7 @@ export class EdsPagination {
130
200
  for (let i = Math.max(2, current - delta); i <= Math.min(total - 1, current + delta); i++) {
131
201
  range.push(i);
132
202
  }
133
- // Add ellipsis if theres a gap between the current range end and the last page
203
+ // Add ellipsis if there's a gap between the current range end and the last page
134
204
  if (current + delta < total - 1) {
135
205
  range.push('...');
136
206
  }
@@ -145,9 +215,11 @@ export class EdsPagination {
145
215
  */
146
216
  pageResults() {
147
217
  if (this.total > 0) {
218
+ const start = this.perPage * ((this.currentPage || 1) - 1) + 1;
219
+ const end = Math.min(this.perPage * (this.currentPage || 1), this.total);
148
220
  return this.total > this.perPage
149
- ? `${this.perPage * ((this.currentPage || 1) - 1) + 1} - ${this.perPage * (this.currentPage || 1) >= this.total ? this.total : this.perPage * (this.currentPage || 1)} of ${this.total}`
150
- : `${this.total}`;
221
+ ? `Showing ${start} to ${end} of ${this.total} results`
222
+ : `Showing ${this.total} result${this.total !== 1 ? 's' : ''}`;
151
223
  }
152
224
  return '';
153
225
  }
@@ -160,7 +232,9 @@ export class EdsPagination {
160
232
  if (this.mode === 'navigator') {
161
233
  return; // No page clicking logic for navigator mode
162
234
  }
163
- event.preventDefault(); // Prevent default link navigation
235
+ if (this.useButtons) {
236
+ event.preventDefault(); // Prevent default for buttons
237
+ }
164
238
  if (newPage !== this.currentPage) {
165
239
  this.links = this.links.map((link) => typeof link === 'object' ? Object.assign(Object.assign({}, link), { current: parseInt(link.label) === newPage }) : link);
166
240
  const pageChangeEvent = new CustomEvent('page', {
@@ -173,38 +247,25 @@ export class EdsPagination {
173
247
  }
174
248
  }
175
249
  render() {
176
- return (h("div", { key: '978896bd8c550afdc30281e1a8d9858022857551' }, this.total > 0 && this.mode === 'default' && (h("p", { key: '10781adbf2c4754580c31eecc180fc426b5e09a1', class: "f-ui-03 text-lightest mb-28 w-full text-center" }, h("span", { key: '29765740419772ac83736495c859d2d75097904c', 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
- ? this.prevUrl || '#' // Use prevUrl if provided, otherwise disable with '#'
250
+ const navigableIndex = -1; // Track index for keyboard navigation
251
+ return (h("div", { key: '753a7e573a09e7fcb66eac9e11e00f690c49543d' }, this.total > 0 && this.mode === 'default' && (h("p", { key: '6286d71622614a835d471812a55d5c6bef37a13e', class: "f-ui-03 text-light mb-28 w-full text-center", "aria-live": "polite", id: "pagination-info" }, h("span", { key: 'daa7bfa31e736a40c46641fed88653d51eeabc67', class: "text-light sr-only" }, "Results:"), this.pageResults())), this.mode === 'navigator' || (this.lastPage && this.lastPage > 1) ? (h("nav", { "aria-label": "Pagination Navigation", "aria-describedby": this.mode === 'default' ? 'pagination-info' : undefined, onKeyDown: this.handleKeyDown }, h("ul", { class: "flex items-center justify-center gap-x-8", role: "list" }, h("li", { class: "mr-auto" }, this.useButtons ? (h("div", { class: "pagination-button-wrapper", onFocus: () => this.handleItemFocus(navigableIndex) }, h("eds-button", { label: this.prevLabel, disabled: this.mode === 'navigator' ? !this.prevUrl : this.isFirstPage(), "aria-label": "Go to previous page", icon: "chevron-left", "icon-pos": "left", size: "small", "icon-small": "true", intent: "ghost", "extra-class": "!p-8 lg:!pr-12 pagination-button", onClick: (event) => {
252
+ if (this.mode === 'default' && !this.isFirstPage()) {
253
+ this.handlePageClick(event, (this.currentPage || 1) - 1);
254
+ }
255
+ } }))) : (h("eds-link", { label: this.prevLabel, url: this.mode === 'navigator'
256
+ ? this.prevUrl || '#'
178
257
  : this.isFirstPage()
179
258
  ? '#'
180
- : this.generateLink(this.currentPage - 1).url, disabled: this.mode === 'navigator'
181
- ? !this.prevUrl // Disable if prevUrl is not provided
182
- : 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) => {
183
- if (this.mode === 'default') {
184
- if (this.isFirstPage()) {
185
- event.preventDefault(); // Prevent click if disabled
186
- }
187
- else {
188
- this.handlePageClick(event, (this.currentPage || 1) - 1);
189
- }
259
+ : this.generateLink(this.currentPage - 1).url, disabled: this.mode === 'navigator' ? !this.prevUrl : this.isFirstPage(), "aria-label": "Go to 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" }))), this.mode === 'default' &&
260
+ this.links.map((link, index) => (h("li", { key: index, class: "f-ui-02 flex h-36 items-center justify-center" }, typeof link === 'string' ? (h("span", { class: "flex items-center justify-center", "aria-hidden": "true" }, link)) : this.useButtons ? (h("div", { class: "pagination-button-wrapper", onFocus: () => this.handleItemFocus(navigableIndex) }, h("eds-button", { label: link.label, "aria-label": link.current ? `Current page, page ${link.label}` : `Go to page ${link.label}`, "aria-current": link.current ? 'page' : undefined, size: "small", "extra-class": "!p-8 pagination-button", intent: link.current ? 'secondary' : 'ghost', onClick: (event) => this.handlePageClick(event, parseInt(link.label)) }))) : (h("eds-link", { url: link.url, "aria-label": link.ariaLabel, label: link.label, current: link.current, "aria-current": link.current ? 'page' : undefined, size: "small", class: "!p-8", intent: link.current ? 'secondary' : 'ghost', onClick: (event) => this.handlePageClick(event, parseInt(link.label)) }))))), h("li", { class: "ml-auto" }, this.useButtons ? (h("div", { class: "pagination-button-wrapper", onFocus: () => this.handleItemFocus(navigableIndex) }, h("eds-button", { label: this.nextLabel, disabled: this.mode === 'navigator' ? !this.nextUrl : this.isLastPage(), "aria-label": "Go to next page", size: "small", "icon-small": "true", icon: "chevron-right", intent: "ghost", "extra-class": "!p-8 lg:!pl-12 pagination-button", onClick: (event) => {
261
+ if (this.mode === 'default' && !this.isLastPage()) {
262
+ this.handlePageClick(event, (this.currentPage || 1) + 1);
190
263
  }
191
- } })), this.mode === 'default' &&
192
- this.links.map((link, index) => (h("li", { key: index, class: "f-ui-02 flex h-36 items-center justify-center" }, typeof link === 'string' ? (h("span", { class: "flex items-center justify-center" }, link)) : (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)) }))))), h("li", { class: "ml-auto" }, h("eds-link", { label: this.nextLabel, url: this.mode === 'navigator'
193
- ? this.nextUrl || '#' // Use nextUrl if provided, otherwise disable with '#'
264
+ } }))) : (h("eds-link", { label: this.nextLabel, url: this.mode === 'navigator'
265
+ ? this.nextUrl || '#'
194
266
  : this.isLastPage()
195
267
  ? '#'
196
- : this.generateLink(this.currentPage + 1).url, disabled: this.mode === 'navigator'
197
- ? !this.nextUrl // Disable if nextUrl is not provided
198
- : 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) => {
199
- if (this.mode === 'default') {
200
- if (this.isLastPage()) {
201
- event.preventDefault(); // Prevent click if disabled
202
- }
203
- else {
204
- this.handlePageClick(event, (this.currentPage || 1) + 1);
205
- }
206
- }
207
- } }))))) : null));
268
+ : this.generateLink(this.currentPage + 1).url, disabled: this.mode === 'navigator' ? !this.nextUrl : this.isLastPage(), "aria-label": "Go to 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" })))))) : null));
208
269
  }
209
270
  static get is() { return "eds-pagination"; }
210
271
  static get encapsulation() { return "shadow"; }
@@ -326,6 +387,24 @@ export class EdsPagination {
326
387
  "reflect": false,
327
388
  "defaultValue": "'default'"
328
389
  },
390
+ "useButtons": {
391
+ "type": "boolean",
392
+ "mutable": false,
393
+ "complexType": {
394
+ "original": "boolean",
395
+ "resolved": "boolean",
396
+ "references": {}
397
+ },
398
+ "required": false,
399
+ "optional": false,
400
+ "docs": {
401
+ "tags": [],
402
+ "text": "Whether to use buttons (for JavaScript pagination) or links (for URL navigation)"
403
+ },
404
+ "attribute": "use-buttons",
405
+ "reflect": false,
406
+ "defaultValue": "true"
407
+ },
329
408
  "prevLabel": {
330
409
  "type": "string",
331
410
  "mutable": false,
@@ -402,7 +481,8 @@ export class EdsPagination {
402
481
  }
403
482
  static get states() {
404
483
  return {
405
- "links": {}
484
+ "links": {},
485
+ "focusedIndex": {}
406
486
  };
407
487
  }
408
488
  static get elementRef() { return "hostEl"; }
@@ -39,7 +39,7 @@ export class EdsProgressBar {
39
39
  ]
40
40
  .filter(Boolean)
41
41
  .join(' ');
42
- return (h("div", { key: '8406651d280d0a7f55ac627aa08fed80ff01028e', role: "progressbar", "aria-valuemin": "0", "aria-valuemax": "100", "aria-valuenow": progressValue, "aria-valuetext": `${progressValue}%`, class: outerClasses }, h("div", { key: '0b784248450d7766879be03a2e1f83484090da2c', class: fillClasses, style: { width: `${progressValue}%` } }), h("div", { key: '421253aa1f8dd3ea83936452607c4bcd49f47eb3', class: "absolute inset-0 flex items-center justify-center pointer-events-none z-10" }, h("span", { key: 'ae649fcb7ed22741f3fedd129f0c0cb41254b721', class: "text-default f-body-02" }, progressValue, "%"))));
42
+ return (h("div", { key: '2a620231eaa84ba7e89e05da48175624fdc92d31', role: "progressbar", "aria-valuemin": "0", "aria-valuemax": "100", "aria-valuenow": progressValue, "aria-valuetext": `${progressValue}%`, class: outerClasses }, h("div", { key: '660e2c84ad358c0de1d9548b730308505e79bcd6', class: fillClasses, style: { width: `${progressValue}%` } }), h("div", { key: '4d0fa2a209d315b658f80906b95a0bf255c82c78', class: "absolute inset-0 flex items-center justify-center pointer-events-none z-10" }, h("span", { key: '0d423e16659d84b2d050f7d60ced4aefeeef9022', 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"; }
@@ -1,6 +1,7 @@
1
1
  import { h } from "@stencil/core";
2
2
  export class EdsRating {
3
3
  constructor() {
4
+ this.buttonRefs = [];
4
5
  this.ratingType = 'star';
5
6
  this.ratingCount = 5;
6
7
  this.selectedRating = 0;
@@ -34,16 +35,37 @@ export class EdsRating {
34
35
  * Handles the click event on a star.
35
36
  * @param rating - The selected rating value.
36
37
  */
37
- handleClick(rating) {
38
+ onSelect(rating) {
38
39
  this.selectedRating = rating;
39
40
  this.rating.emit(rating);
41
+ setTimeout(() => {
42
+ const btn = this.buttonRefs[rating - 1];
43
+ btn === null || btn === void 0 ? void 0 : btn.focus();
44
+ }, 0);
45
+ }
46
+ handleKeyNav(e) {
47
+ const { key } = e;
48
+ if (!['ArrowRight', 'ArrowLeft', 'ArrowDown', 'ArrowUp'].includes(key)) {
49
+ return;
50
+ }
51
+ e.preventDefault();
52
+ const increment = key === 'ArrowRight' || key === 'ArrowDown' ? 1 : -1;
53
+ let next = (this.selectedRating || 1) + increment;
54
+ if (next > this.ratingCount) {
55
+ next = 1;
56
+ }
57
+ if (next < 1) {
58
+ next = this.ratingCount;
59
+ }
60
+ this.onSelect(next);
40
61
  }
41
62
  render() {
42
- return (h("div", { key: '7f70d2d6691257ba0658ab9500ab7200af28366a', role: "radiogroup", class: "stars flex space-x-1 my-8" }, Array.from({ length: this.ratingCount }, (_, index) => {
63
+ return (h("div", { key: 'bd72970d86f2dbb21d58671fc85feea3011749b3', id: "rating-buttons", role: "radiogroup", "aria-labelledby": "rating", class: "stars flex space-x-1 my-8", onKeyDown: (e) => this.handleKeyNav(e) }, Array.from({ length: this.ratingCount }, (_, index) => {
43
64
  const starRating = index + 1;
44
65
  const isSelected = starRating <= this.selectedRating;
45
66
  // Use the mapping text if available; otherwise, fall back to a generic label.
46
- return (h("eds-button", { icon: this.ratingType, role: "radio", "aria-checked": isSelected ? 'true' : 'false', "aria-label": this.ratingType, onClick: () => this.handleClick(starRating), tabIndex: this.selectedRating === 0 && index === 0 ? 0 : isSelected ? 0 : -1, intent: isSelected ? 'primary' : 'ghost', size: "large", "extra-class": "p-2" // Optional padding or styling for the star button
67
+ const checked = this.selectedRating === starRating;
68
+ return (h("eds-button", { ref: (el) => (this.buttonRefs[index] = el), icon: this.ratingType, role: "radio", "aria-checked": checked, "aria-label": `${starRating} ${this.ratingType}${starRating > 1 ? 's' : ''}`, onClick: () => this.onSelect(starRating), tabIndex: checked || (this.selectedRating === 0 && index === 0) ? 0 : -1, intent: isSelected ? 'primary' : 'ghost', size: "large", "extra-class": "p-2" // Optional padding or styling for the star button
47
69
  }));
48
70
  })));
49
71
  }
@@ -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: 'b3469cabf7e1a59c7908f5440b76d0c3bed0395d' }, h("eds-section-heading", { key: '38e11acb4b491579573bee449680776d3ec23de3', headingLevel: this.headingLevel, sectionTitle: this.sectionTitle }), h("slot", { key: '133fc1150fb7e300544388adc673c1446b36ac39' })));
23
+ return (h(TagType, { key: 'b77b5af1c6f3acbc2696a9608b55199ed4110d71' }, h("eds-section-heading", { key: '464dd4c67d69d1ef3ed1d932081c3195a2b51503', headingLevel: this.headingLevel, sectionTitle: this.sectionTitle }), h("slot", { key: 'b5dbd4f55aee2df3bcbc44e21a134544ffd733f7' })));
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: '1b819df75c9d61eebe7d11b9116dba7278a34d91', class: {
39
+ return (h(TagType, { key: '4ae69ea354156a0e35a8884a63d7556ead8ada24', 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: '8f99c7c15982f9190117f8eb71725af66afd0741', class: this.getHeadingClass() }, this.sectionTitle)));
44
+ } }, h(HeadingTag, { key: 'a3549fb733687c3ff31f17bdc362275eb0b29e31', class: this.getHeadingClass() }, this.sectionTitle)));
45
45
  }
46
46
  static get is() { return "eds-section-heading"; }
47
47
  static get properties() {
@@ -71,7 +71,7 @@ export class EdsSpinner {
71
71
  alignItems: 'center',
72
72
  justifyContent: 'center'
73
73
  };
74
- return (h(Host, { key: 'b2ba16cd90ebf036143f6ab52b996497464814c1' }, h("div", { key: 'f619fb03d0364ae7032931559d591fab6ad40123', class: "spinner-overlay", style: overlayStyle }, h("span", { key: '7c1e397ab319de1f67320e3836225e3733a483fd', class: "spinner", style: spinnerStyle }), this.message && h("p", { key: 'ddf6e08c8d2d00f114f815bab28b06c19a56cd6d', class: "f-body-01" }, this.message))));
74
+ return (h(Host, { key: 'cbf9cead7c7c6bc5314c074f7249c920eb60d326' }, h("div", { key: 'd22c71a76af3f53c649e547538e0f1627cd9ecd0', class: "spinner-overlay", style: overlayStyle }, h("span", { key: '83b42f7ee9ba4d356bd82097989b8be1db8a8ef9', class: "spinner", style: spinnerStyle }), this.message && h("p", { key: '0a2c4efe46b8f86a037d29de699534441bf7585e', class: "f-body-01" }, this.message))));
75
75
  }
76
76
  static get is() { return "eds-spinner"; }
77
77
  static get encapsulation() { return "shadow"; }