@ebrains/components 2.3.0 → 2.4.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 (626) hide show
  1. package/dist/cjs/color-primary-palette_6.cjs.entry.js +14 -14
  2. package/dist/cjs/components-section.cjs.entry.js +33 -24
  3. package/dist/cjs/components.cjs.js +1 -1
  4. package/dist/cjs/correct-use-of-colors.cjs.entry.js +1 -1
  5. package/dist/cjs/docs-palettes.cjs.entry.js +1 -1
  6. package/dist/cjs/docs-tokens.cjs.entry.js +1 -1
  7. package/dist/cjs/{eds-accordion_36.cjs.entry.js → eds-accordion_37.cjs.entry.js} +671 -224
  8. package/dist/cjs/eds-app-root.cjs.entry.js +1 -1
  9. package/dist/cjs/eds-card-desc_2.cjs.entry.js +2 -2
  10. package/dist/cjs/eds-card-generic.cjs.entry.js +1 -1
  11. package/dist/cjs/eds-card-project.cjs.entry.js +1 -1
  12. package/dist/cjs/eds-card-section.cjs.entry.js +1 -1
  13. package/dist/cjs/eds-card-tags.cjs.entry.js +1 -1
  14. package/dist/cjs/eds-card-tool.cjs.entry.js +1 -1
  15. package/dist/cjs/eds-cookies-preference.cjs.entry.js +1 -1
  16. package/dist/cjs/eds-feedback.cjs.entry.js +1 -1
  17. package/dist/cjs/eds-footer.cjs.entry.js +4 -2
  18. package/dist/cjs/eds-frame.cjs.entry.js +1 -1
  19. package/dist/cjs/eds-fullscreen-menu.cjs.entry.js +12 -1
  20. package/dist/cjs/eds-gauge.cjs.entry.js +1 -1
  21. package/dist/cjs/eds-icon-arrow-diagonal.cjs.entry.js +1 -1
  22. package/dist/cjs/eds-icon-arrow-right.cjs.entry.js +1 -1
  23. package/dist/cjs/eds-icon-bin.cjs.entry.js +1 -1
  24. package/dist/cjs/eds-icon-bluesky.cjs.entry.js +1 -1
  25. package/dist/cjs/eds-icon-bookmark.cjs.entry.js +1 -1
  26. package/dist/cjs/eds-icon-chevron-down.cjs.entry.js +1 -1
  27. package/dist/cjs/eds-icon-chevron-left.cjs.entry.js +1 -1
  28. package/dist/cjs/eds-icon-chevron-right.cjs.entry.js +1 -1
  29. package/dist/cjs/eds-icon-chevron-up.cjs.entry.js +1 -1
  30. package/dist/cjs/eds-icon-clone.cjs.entry.js +1 -1
  31. package/dist/cjs/eds-icon-close.cjs.entry.js +1 -1
  32. package/dist/cjs/eds-icon-copy.cjs.entry.js +1 -1
  33. package/dist/cjs/eds-icon-download.cjs.entry.js +1 -1
  34. package/dist/cjs/eds-icon-draft.cjs.entry.js +1 -1
  35. package/dist/cjs/eds-icon-edit.cjs.entry.js +1 -1
  36. package/dist/cjs/eds-icon-eu.cjs.entry.js +1 -1
  37. package/dist/cjs/eds-icon-external.cjs.entry.js +1 -1
  38. package/dist/cjs/eds-icon-facebook.cjs.entry.js +1 -1
  39. package/dist/cjs/eds-icon-gitlab.cjs.entry.js +1 -1
  40. package/dist/cjs/eds-icon-linkedin.cjs.entry.js +1 -1
  41. package/dist/cjs/eds-icon-loader.cjs.entry.js +1 -1
  42. package/dist/cjs/eds-icon-mastodon.cjs.entry.js +1 -1
  43. package/dist/cjs/eds-icon-menu.cjs.entry.js +1 -1
  44. package/dist/cjs/eds-icon-minus.cjs.entry.js +1 -1
  45. package/dist/cjs/eds-icon-more.cjs.entry.js +1 -1
  46. package/dist/cjs/eds-icon-paper.cjs.entry.js +1 -1
  47. package/dist/cjs/eds-icon-plus.cjs.entry.js +1 -1
  48. package/dist/cjs/eds-icon-portal.cjs.entry.js +1 -1
  49. package/dist/cjs/eds-icon-private.cjs.entry.js +1 -1
  50. package/dist/cjs/eds-icon-public.cjs.entry.js +1 -1
  51. package/dist/cjs/eds-icon-search.cjs.entry.js +1 -1
  52. package/dist/cjs/eds-icon-star.cjs.entry.js +1 -1
  53. package/dist/cjs/eds-icon-start.cjs.entry.js +1 -1
  54. package/dist/cjs/eds-icon-success.cjs.entry.js +1 -1
  55. package/dist/cjs/eds-icon-thumbs-down.cjs.entry.js +1 -1
  56. package/dist/cjs/eds-icon-thumbs-up.cjs.entry.js +1 -1
  57. package/dist/cjs/eds-icon-tutorial.cjs.entry.js +1 -1
  58. package/dist/cjs/eds-icon-twitter.cjs.entry.js +1 -1
  59. package/dist/cjs/eds-icon-unknown.cjs.entry.js +1 -1
  60. package/dist/cjs/eds-icon-updown.cjs.entry.js +2 -2
  61. package/dist/cjs/eds-icon-user.cjs.entry.js +1 -1
  62. package/dist/cjs/eds-icon-view.cjs.entry.js +1 -1
  63. package/dist/cjs/eds-icon-youtube.cjs.entry.js +1 -1
  64. package/dist/cjs/eds-modal.cjs.entry.js +2 -2
  65. package/dist/cjs/eds-progress-bar.cjs.entry.js +1 -1
  66. package/dist/cjs/eds-section-core_2.cjs.entry.js +3 -3
  67. package/dist/cjs/eds-social-networks.cjs.entry.js +1 -1
  68. package/dist/cjs/eds-timeline.cjs.entry.js +1 -1
  69. package/dist/cjs/eds-toast-manager.cjs.entry.js +1 -1
  70. package/dist/cjs/eds-trl.cjs.entry.js +1 -1
  71. package/dist/cjs/incorrect-use-of-colors.cjs.entry.js +1 -1
  72. package/dist/cjs/index-50bc1aa4.js +2 -2
  73. package/dist/cjs/loader.cjs.js +1 -1
  74. package/dist/cjs/logo-space.cjs.entry.js +1 -1
  75. package/dist/cjs/logo-variations-horizontal_2.cjs.entry.js +2 -2
  76. package/dist/cjs/logo-variations-tabs.cjs.entry.js +1 -1
  77. package/dist/cjs/logo-wrong-usage.cjs.entry.js +1 -1
  78. package/dist/cjs/svg-repository.cjs.entry.js +3 -3
  79. package/dist/cjs/token-list_3.cjs.entry.js +3 -3
  80. package/dist/cjs/token-ratios.cjs.entry.js +1 -1
  81. package/dist/cjs/token-spacing.cjs.entry.js +1 -1
  82. package/dist/cjs/token-typography.cjs.entry.js +1 -1
  83. package/dist/cjs/{up-and-down-d71df67d.js → up-and-down-6f179dd8.js} +2 -2
  84. package/dist/collection/collection-manifest.json +15 -14
  85. package/dist/collection/components/eds-accordion/eds-accordion.js +2 -2
  86. package/dist/collection/components/eds-alert/eds-alert.js +2 -2
  87. package/dist/collection/components/eds-avatar/eds-avatar.js +1 -1
  88. package/dist/collection/components/eds-block-break/eds-block-break.js +1 -1
  89. package/dist/collection/components/eds-breadcrump/eds-breadcrump.js +1 -1
  90. package/dist/collection/components/eds-button/eds-button.js +1 -19
  91. package/dist/collection/components/eds-cards/eds-card-composer/eds-card-desc/eds-card-desc.js +1 -1
  92. package/dist/collection/components/eds-cards/eds-card-composer/eds-card-tags/eds-card-tags.js +1 -1
  93. package/dist/collection/components/eds-cards/eds-card-composer/eds-card-title/eds-card-title.js +1 -1
  94. package/dist/collection/components/eds-cards/eds-card-generic/eds-card-generic.js +1 -1
  95. package/dist/collection/components/eds-cards/eds-card-project/eds-card-project.js +1 -1
  96. package/dist/collection/{shared-ui → components/eds-cards}/eds-card-section/eds-card-section.js +4 -4
  97. package/dist/collection/{shared-ui → components/eds-cards}/eds-card-section/eds-card-section.stories.js +1 -1
  98. package/dist/collection/components/eds-cards/eds-card-tool/eds-card-tool.js +1 -1
  99. package/dist/collection/components/eds-charts/eds-gauge/eds-gauge.js +1 -1
  100. package/dist/collection/components/eds-code-block/eds-code-block.js +1 -1
  101. package/dist/collection/components/eds-dropdown/eds-dropdown.js +2 -2
  102. package/dist/collection/{shared-ui → components}/eds-feedback/eds-feedback.js +1 -1
  103. package/dist/collection/{shared-ui → components}/eds-feedback/eds-feedback.stories.js +1 -1
  104. package/dist/collection/{shared-ui → components}/eds-footer/eds-footer.js +4 -2
  105. package/dist/collection/{shared-ui → components}/eds-footer/eds-footer.stories.js +1 -1
  106. package/dist/collection/{shared-ui → components}/eds-form/eds-form.js +63 -24
  107. package/dist/collection/{shared-ui → components}/eds-form/eds-form.stories.js +1 -1
  108. package/dist/collection/{shared-ui → components}/eds-frame/eds-frame.js +1 -1
  109. package/dist/collection/{shared-ui → components}/eds-frame/eds-frame.stories.js +1 -1
  110. package/dist/collection/{shared-ui → components}/eds-fullscreen-menu/eds-fullscreen-menu.js +56 -1
  111. package/dist/collection/{shared-ui → components}/eds-fullscreen-menu/eds-fullscreen-menu.stories.js +1 -1
  112. package/dist/collection/{shared-ui → components}/eds-header/eds-header.css +5 -0
  113. package/dist/collection/{shared-ui → components}/eds-header/eds-header.js +4 -18
  114. package/dist/collection/{shared-ui → components}/eds-header/eds-header.stories.js +1 -1
  115. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-down/eds-icon-chevron-down.js +1 -1
  116. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-left/eds-icon-chevron-left.js +1 -1
  117. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-right/eds-icon-chevron-right.js +1 -1
  118. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-up/eds-icon-chevron-up.js +1 -1
  119. package/dist/collection/components/eds-icons/eds-icon-arrow-diagonal/eds-icon-arrow-diagonal.js +1 -1
  120. package/dist/collection/components/eds-icons/eds-icon-arrow-right/eds-icon-arrow-right.js +1 -1
  121. package/dist/collection/components/eds-icons/eds-icon-bin/eds-icon-bin.js +1 -1
  122. package/dist/collection/components/eds-icons/eds-icon-bookmark/eds-icon-bookmark.js +1 -1
  123. package/dist/collection/components/eds-icons/eds-icon-clone/eds-icon-clone.js +1 -1
  124. package/dist/collection/components/eds-icons/eds-icon-close/eds-icon-close.js +1 -1
  125. package/dist/collection/components/eds-icons/eds-icon-copy/eds-icon-copy.js +1 -1
  126. package/dist/collection/components/eds-icons/eds-icon-download/eds-icon-download.js +1 -1
  127. package/dist/collection/components/eds-icons/eds-icon-draft/eds-icon-draft.js +1 -1
  128. package/dist/collection/components/eds-icons/eds-icon-edit/eds-icon-edit.js +1 -1
  129. package/dist/collection/components/eds-icons/eds-icon-eu/eds-icon-eu.js +1 -1
  130. package/dist/collection/components/eds-icons/eds-icon-external/eds-icon-external.js +1 -1
  131. package/dist/collection/components/eds-icons/eds-icon-gitlab/eds-icon-gitlab.js +1 -1
  132. package/dist/collection/components/eds-icons/eds-icon-loader/eds-icon-loader.js +1 -1
  133. package/dist/collection/components/eds-icons/eds-icon-menu/eds-icon-menu.js +1 -1
  134. package/dist/collection/components/eds-icons/eds-icon-minus/eds-icon-minus.js +1 -1
  135. package/dist/collection/components/eds-icons/eds-icon-more/eds-icon-more.js +1 -1
  136. package/dist/collection/components/eds-icons/eds-icon-paper/eds-icon-paper.js +1 -1
  137. package/dist/collection/components/eds-icons/eds-icon-plus/eds-icon-plus.js +1 -1
  138. package/dist/collection/components/eds-icons/eds-icon-portal/eds-icon-portal.js +1 -1
  139. package/dist/collection/components/eds-icons/eds-icon-private/eds-icon-private.js +1 -1
  140. package/dist/collection/components/eds-icons/eds-icon-public/eds-icon-public.js +1 -1
  141. package/dist/collection/components/eds-icons/eds-icon-search/eds-icon-search.js +1 -1
  142. package/dist/collection/components/eds-icons/eds-icon-star/eds-icon-star.js +1 -1
  143. package/dist/collection/components/eds-icons/eds-icon-start/eds-icon-start.js +1 -1
  144. package/dist/collection/components/eds-icons/eds-icon-success/eds-icon-success.js +1 -1
  145. package/dist/collection/components/eds-icons/eds-icon-thumbs-down/eds-icon-thumbs-down.js +1 -1
  146. package/dist/collection/components/eds-icons/eds-icon-thumbs-up/eds-icon-thumbs-up.js +1 -1
  147. package/dist/collection/components/eds-icons/eds-icon-tutorial/eds-icon-tutorial.js +1 -1
  148. package/dist/collection/components/eds-icons/eds-icon-unknown/eds-icon-unknown.js +1 -1
  149. package/dist/collection/components/eds-icons/eds-icon-updown/eds-icon-updown.js +2 -2
  150. package/dist/collection/components/eds-icons/eds-icon-user/eds-icon-user.js +1 -1
  151. package/dist/collection/components/eds-icons/eds-icon-view/eds-icon-view.js +1 -1
  152. package/dist/collection/components/eds-icons/social/eds-icon-bluesky/eds-icon-bluesky.js +1 -1
  153. package/dist/collection/components/eds-icons/social/eds-icon-facebook/eds-icon-facebook.js +1 -1
  154. package/dist/collection/components/eds-icons/social/eds-icon-linkedin/eds-icon-linkedin.js +1 -1
  155. package/dist/collection/components/eds-icons/social/eds-icon-mastodon/eds-icon-mastodon.js +1 -1
  156. package/dist/collection/components/eds-icons/social/eds-icon-twitter/eds-icon-twitter.js +1 -1
  157. package/dist/collection/components/eds-icons/social/eds-icon-youtube/eds-icon-youtube.js +1 -1
  158. package/dist/collection/components/eds-img/eds-img.js +2 -2
  159. package/dist/collection/components/eds-input-elements/eds-input/eds-input.js +2 -2
  160. package/dist/collection/components/eds-input-elements/eds-input-footer/eds-input-footer.js +1 -1
  161. package/dist/collection/components/eds-input-elements/eds-input-label/eds-input-label.js +1 -1
  162. package/dist/collection/components/eds-input-elements/eds-input-range/eds-input-range.js +1 -1
  163. package/dist/collection/components/eds-input-elements/eds-input-search/eds-input-search.js +1 -1
  164. package/dist/collection/components/eds-input-elements/eds-input-select/eds-input-select.js +2 -2
  165. package/dist/collection/components/eds-input-field/eds-input-field.js +2 -2
  166. package/dist/collection/components/eds-link/eds-link.js +15 -25
  167. package/dist/collection/components/eds-logo/eds-logo.js +1 -1
  168. package/dist/collection/components/eds-modal/eds-modal.js +2 -2
  169. package/dist/collection/components/eds-nps/eds-npm.stories.js +1 -1
  170. package/dist/collection/components/eds-nps/eds-nps.js +66 -53
  171. package/dist/collection/components/eds-pagination/eds-pagination.js +1 -1
  172. package/dist/collection/components/eds-progress-bar/eds-progress-bar.js +1 -1
  173. package/dist/collection/components/eds-rating/eds-rating.js +1 -1
  174. package/dist/collection/components/eds-section/eds-section-core/eds-section-core.js +1 -1
  175. package/dist/collection/components/eds-section/eds-section-heading/eds-section-heading.js +2 -2
  176. package/dist/collection/components/eds-sidebar/eds-sidebar.css +458 -0
  177. package/dist/collection/components/eds-sidebar/eds-sidebar.js +299 -0
  178. package/dist/collection/components/eds-sidebar/eds-sidebar.stories.js +141 -0
  179. package/dist/collection/{shared-ui → components}/eds-social-networks/eds-social-networks.js +1 -1
  180. package/dist/collection/{shared-ui → components}/eds-social-networks/eds-social-networks.stories.js +1 -1
  181. package/dist/collection/components/eds-spinner/eds-spinner.js +1 -1
  182. package/dist/collection/{shared-ui → components}/eds-splash-screen/eds-splash-screen.stories.js +1 -1
  183. package/dist/collection/components/eds-steps/eds-steps.css +463 -0
  184. package/dist/collection/components/eds-steps/eds-steps.js +481 -0
  185. package/dist/collection/{shared-ui → components}/eds-steps/eds-steps.stories.js +22 -4
  186. package/dist/collection/{shared-ui → components}/eds-steps-v2/eds-steps-v2.css +167 -3
  187. package/dist/collection/{shared-ui → components}/eds-steps-v2/eds-steps-v2.js +179 -115
  188. package/dist/collection/{shared-ui → components}/eds-steps-v2/eds-steps-v2.stories.js +9 -2
  189. package/dist/collection/components/eds-switch/eds-switch.js +2 -2
  190. package/dist/collection/components/eds-table/eds-table.css +14 -0
  191. package/dist/collection/components/eds-table/eds-table.js +99 -9
  192. package/dist/collection/{shared-ui → components}/eds-tabs/eds-tabs.js +2 -2
  193. package/dist/collection/{shared-ui → components}/eds-tabs/eds-tabs.stories.js +1 -1
  194. package/dist/collection/components/eds-tag/eds-tag.js +1 -1
  195. package/dist/collection/components/eds-timeline/eds-timeline.js +1 -1
  196. package/dist/collection/{shared-ui → components}/eds-toast-manager/eds-toast-manager.js +1 -1
  197. package/dist/collection/components/eds-tooltip/eds-tooltip.js +1 -1
  198. package/dist/collection/components/eds-trl/eds-trl.js +1 -1
  199. package/dist/collection/{shared-ui → components}/eds-user/eds-user.js +1 -1
  200. package/dist/collection/{shared-ui → components}/eds-user/eds-user.stories.js +1 -1
  201. package/dist/collection/eds-docs-ui/colors/color-palette/primary.js +1 -1
  202. package/dist/collection/eds-docs-ui/colors/color-palette/secondary.js +1 -1
  203. package/dist/collection/eds-docs-ui/colors/color-palette/support.js +1 -1
  204. package/dist/collection/eds-docs-ui/colors/gradient-palette/primary.js +1 -1
  205. package/dist/collection/eds-docs-ui/colors/gradient-palette/secondary.js +7 -7
  206. package/dist/collection/eds-docs-ui/colors/gradient-palette/support.js +3 -3
  207. package/dist/collection/eds-docs-ui/colors/use-of-colors/correct-use-of-colors.js +1 -1
  208. package/dist/collection/eds-docs-ui/colors/use-of-colors/incorrect-use-of-colors.js +1 -1
  209. package/dist/collection/eds-docs-ui/components-section/components-section.js +1 -1
  210. package/dist/collection/eds-docs-ui/components-section/functional/overview.js +2 -2
  211. package/dist/collection/eds-docs-ui/components-section/functional/vue.js +1 -1
  212. package/dist/collection/eds-docs-ui/design-tokens/docs-tokens/docs-tokens.js +1 -1
  213. package/dist/collection/eds-docs-ui/design-tokens/token-list/token-list.js +1 -1
  214. package/dist/collection/eds-docs-ui/design-tokens/token-radii/token-radii.js +1 -1
  215. package/dist/collection/eds-docs-ui/design-tokens/token-ratios/token-ratios.js +1 -1
  216. package/dist/collection/eds-docs-ui/design-tokens/token-shadows/token-shadows.js +1 -1
  217. package/dist/collection/eds-docs-ui/design-tokens/token-spacing/token-spacing.js +1 -1
  218. package/dist/collection/eds-docs-ui/design-tokens/token-typography/token-typography.js +1 -1
  219. package/dist/collection/eds-docs-ui/docs-palettes/docs-palettes.js +1 -1
  220. package/dist/collection/eds-docs-ui/logo/logo-space/logo-space.js +1 -1
  221. package/dist/collection/eds-docs-ui/logo/logo-variations/horizontal/logo-variations-horizontal.js +1 -1
  222. package/dist/collection/eds-docs-ui/logo/logo-variations/vertical/logo-variations-vertical.js +1 -1
  223. package/dist/collection/eds-docs-ui/logo/logo-variations-tabs/logo-variations.js +1 -1
  224. package/dist/collection/eds-docs-ui/logo/logo-wrong-usage/logo-wrong-usage.js +1 -1
  225. package/dist/collection/eds-docs-ui/svg-repository/svg-repository.js +1 -1
  226. package/dist/collection/shared-ui/eds-cookies-preference/eds-cookies-preference.js +1 -1
  227. package/dist/collection/shared-ui/eds-global-search/eds-global-search.js +10 -12
  228. package/dist/collection/shared-ui/eds-global-search/eds-global-search.stories.js +3 -2
  229. package/dist/collection/shared-ui/examples/eds-app-root/eds-app-root.js +1 -1
  230. package/dist/components/components-section.js +33 -24
  231. package/dist/components/components.css +619 -0
  232. package/dist/components/components.esm.js +1 -1
  233. package/dist/components/correct-use-of-colors.js +1 -1
  234. package/dist/components/docs-palettes.js +1 -1
  235. package/dist/components/docs-tokens.js +1 -1
  236. package/dist/components/eds-accordion2.js +2 -2
  237. package/dist/components/eds-alert2.js +2 -2
  238. package/dist/components/eds-app-root.js +1 -1
  239. package/dist/components/eds-avatar2.js +1 -1
  240. package/dist/components/eds-block-break2.js +1 -1
  241. package/dist/components/eds-breadcrumb.js +1 -1
  242. package/dist/components/eds-button2.js +1 -3
  243. package/dist/components/eds-card-desc2.js +1 -1
  244. package/dist/components/eds-card-generic2.js +1 -1
  245. package/dist/components/eds-card-project.js +1 -1
  246. package/dist/components/eds-card-section.js +1 -1
  247. package/dist/components/eds-card-tags.js +1 -1
  248. package/dist/components/eds-card-title2.js +1 -1
  249. package/dist/components/eds-card-tool.js +1 -1
  250. package/dist/components/eds-code-block2.js +1 -1
  251. package/dist/components/eds-cookies-preference.js +1 -1
  252. package/dist/components/eds-dropdown2.js +2 -2
  253. package/dist/components/eds-feedback.js +1 -1
  254. package/dist/components/eds-footer2.js +4 -2
  255. package/dist/components/eds-form.js +87 -42
  256. package/dist/components/eds-frame.js +1 -1
  257. package/dist/components/eds-fullscreen-menu.js +16 -3
  258. package/dist/components/eds-gauge.js +1 -1
  259. package/dist/components/eds-global-search.js +31 -27
  260. package/dist/components/eds-header.js +6 -11
  261. package/dist/components/eds-icon-arrow-diagonal.js +1 -1
  262. package/dist/components/eds-icon-arrow-right.js +1 -1
  263. package/dist/components/eds-icon-bin.js +1 -1
  264. package/dist/components/eds-icon-bluesky.js +1 -1
  265. package/dist/components/eds-icon-bookmark.js +1 -1
  266. package/dist/components/eds-icon-chevron-down.js +1 -1
  267. package/dist/components/eds-icon-chevron-left.js +1 -1
  268. package/dist/components/eds-icon-chevron-right.js +1 -1
  269. package/dist/components/eds-icon-chevron-up.js +1 -1
  270. package/dist/components/eds-icon-clone.js +1 -1
  271. package/dist/components/eds-icon-close.js +1 -1
  272. package/dist/components/eds-icon-copy.js +1 -1
  273. package/dist/components/eds-icon-download.js +1 -1
  274. package/dist/components/eds-icon-draft.js +1 -1
  275. package/dist/components/eds-icon-edit.js +1 -1
  276. package/dist/components/eds-icon-eu.js +1 -1
  277. package/dist/components/eds-icon-external.js +1 -1
  278. package/dist/components/eds-icon-facebook.js +1 -1
  279. package/dist/components/eds-icon-gitlab.js +1 -1
  280. package/dist/components/eds-icon-linkedin.js +1 -1
  281. package/dist/components/eds-icon-loader.js +1 -1
  282. package/dist/components/eds-icon-mastodon.js +1 -1
  283. package/dist/components/eds-icon-menu.js +1 -1
  284. package/dist/components/eds-icon-minus.js +1 -1
  285. package/dist/components/eds-icon-more.js +1 -1
  286. package/dist/components/eds-icon-paper.js +1 -1
  287. package/dist/components/eds-icon-plus.js +1 -1
  288. package/dist/components/eds-icon-portal.js +1 -1
  289. package/dist/components/eds-icon-private.js +1 -1
  290. package/dist/components/eds-icon-public.js +1 -1
  291. package/dist/components/eds-icon-search.js +1 -1
  292. package/dist/components/eds-icon-star.js +1 -1
  293. package/dist/components/eds-icon-start.js +1 -1
  294. package/dist/components/eds-icon-success.js +1 -1
  295. package/dist/components/eds-icon-thumbs-down.js +1 -1
  296. package/dist/components/eds-icon-thumbs-up.js +1 -1
  297. package/dist/components/eds-icon-tutorial.js +1 -1
  298. package/dist/components/eds-icon-twitter.js +1 -1
  299. package/dist/components/eds-icon-unknown.js +1 -1
  300. package/dist/components/eds-icon-updown.js +2 -2
  301. package/dist/components/eds-icon-user.js +1 -1
  302. package/dist/components/eds-icon-view.js +1 -1
  303. package/dist/components/eds-icon-youtube.js +1 -1
  304. package/dist/components/eds-img2.js +2 -2
  305. package/dist/components/eds-input-field2.js +22 -16
  306. package/dist/components/eds-input-footer2.js +9 -3
  307. package/dist/components/eds-input-label2.js +1 -1
  308. package/dist/components/eds-input-range2.js +1 -1
  309. package/dist/components/eds-input-search2.js +1 -1
  310. package/dist/components/eds-input-select2.js +2 -2
  311. package/dist/components/eds-input2.js +2 -2
  312. package/dist/components/eds-link2.js +14 -9
  313. package/dist/components/eds-logo2.js +1 -1
  314. package/dist/components/eds-modal.js +2 -2
  315. package/dist/components/eds-nps2.js +66 -53
  316. package/dist/components/eds-pagination2.js +1 -1
  317. package/dist/components/eds-progress-bar2.js +1 -1
  318. package/dist/components/eds-rating2.js +1 -1
  319. package/dist/components/eds-section-core2.js +1 -1
  320. package/dist/components/eds-section-heading2.js +2 -2
  321. package/dist/components/eds-sidebar.d.ts +11 -0
  322. package/dist/components/eds-sidebar.js +208 -0
  323. package/dist/components/eds-social-networks2.js +1 -1
  324. package/dist/components/eds-spinner2.js +1 -1
  325. package/dist/components/eds-steps-v2.js +133 -46
  326. package/dist/components/eds-steps2.js +131 -35
  327. package/dist/components/eds-switch.js +2 -2
  328. package/dist/components/eds-table2.js +65 -9
  329. package/dist/components/eds-tabs.js +2 -2
  330. package/dist/components/eds-tag2.js +1 -1
  331. package/dist/components/eds-timeline.js +1 -1
  332. package/dist/components/eds-toast-manager.js +1 -1
  333. package/dist/components/eds-tooltip2.js +1 -1
  334. package/dist/components/eds-trl.js +1 -1
  335. package/dist/components/eds-user.js +1 -1
  336. package/dist/components/incorrect-use-of-colors.js +1 -1
  337. package/dist/components/logo-space.js +1 -1
  338. package/dist/components/logo-variations-horizontal2.js +1 -1
  339. package/dist/components/logo-variations-tabs.js +1 -1
  340. package/dist/components/logo-variations-vertical2.js +1 -1
  341. package/dist/components/logo-wrong-usage.js +1 -1
  342. package/dist/components/p-062d2f91.entry.js +1 -0
  343. package/dist/components/p-0725a684.entry.js +1 -0
  344. package/dist/components/{p-84a04d37.entry.js → p-07d5560c.entry.js} +1 -1
  345. package/dist/components/p-13f74e41.entry.js +1 -0
  346. package/dist/components/p-15dc5ecf.entry.js +1 -0
  347. package/dist/components/{p-ca91952b.entry.js → p-15df046d.entry.js} +1 -1
  348. package/dist/components/p-15f94425.entry.js +1 -0
  349. package/dist/components/{p-37a3d3ba.entry.js → p-1f0819cf.entry.js} +1 -1
  350. package/dist/components/p-1f74c192.entry.js +1 -0
  351. package/dist/components/p-20e711e6.entry.js +1 -0
  352. package/dist/components/{p-e7b7179f.entry.js → p-21510f7a.entry.js} +1 -1
  353. package/dist/components/{p-219842c0.entry.js → p-277d0045.entry.js} +1 -1
  354. package/dist/components/p-28ce55ae.entry.js +1 -0
  355. package/dist/components/p-30e88fc2.entry.js +1 -0
  356. package/dist/components/{p-1297d926.entry.js → p-314aa952.entry.js} +1 -1
  357. package/dist/components/p-355df495.entry.js +1 -0
  358. package/dist/components/p-366c5c03.entry.js +1 -0
  359. package/dist/components/p-38113b9c.entry.js +1 -0
  360. package/dist/components/{p-c5d6c2a5.entry.js → p-3a1e54bd.entry.js} +1 -1
  361. package/dist/components/{p-c8cba3a9.entry.js → p-3ad7a15b.entry.js} +1 -1
  362. package/dist/components/p-3b838def.entry.js +1 -0
  363. package/dist/components/p-48825534.entry.js +1 -0
  364. package/dist/components/{p-b9bd1209.entry.js → p-4cebd89e.entry.js} +1 -1
  365. package/dist/components/p-51d0e443.entry.js +1 -0
  366. package/dist/components/p-53f6527b.entry.js +1 -0
  367. package/dist/components/{p-9385c5fd.entry.js → p-5ba1c4b4.entry.js} +1 -1
  368. package/dist/components/{p-7a34b267.entry.js → p-5e6f5588.entry.js} +1 -1
  369. package/dist/components/p-6197c589.entry.js +1 -0
  370. package/dist/components/p-632bd36e.entry.js +1 -0
  371. package/dist/components/p-65948a6e.entry.js +1 -0
  372. package/dist/components/{p-06428b6c.entry.js → p-67c3bedc.entry.js} +1 -1
  373. package/dist/components/{p-a258d382.entry.js → p-721431b8.entry.js} +1 -1
  374. package/dist/components/p-7737d5c7.entry.js +1 -0
  375. package/dist/components/p-78e85217.entry.js +1 -0
  376. package/dist/components/p-7a62ae0d.entry.js +1 -0
  377. package/dist/components/p-7aa97ad6.entry.js +1 -0
  378. package/dist/components/{p-067a184b.entry.js → p-7f820989.entry.js} +1 -1
  379. package/dist/components/{p-b9b6ac74.entry.js → p-801f67a1.entry.js} +1 -1
  380. package/dist/components/{p-9c68934f.entry.js → p-80ced58a.entry.js} +1 -1
  381. package/dist/components/p-87481169.entry.js +1 -0
  382. package/dist/components/p-87df6442.entry.js +1 -0
  383. package/dist/components/p-8bd954b5.entry.js +1 -0
  384. package/dist/components/{p-bce8a58d.entry.js → p-8c520685.entry.js} +1 -1
  385. package/dist/components/p-941dc156.entry.js +1 -0
  386. package/dist/components/p-9afd31cb.entry.js +1 -0
  387. package/dist/components/p-9cd1cc1e.entry.js +1 -0
  388. package/dist/components/{p-4beb1e06.entry.js → p-9d57b51f.entry.js} +1 -1
  389. package/dist/components/{p-df18ffd1.entry.js → p-a61dbad5.entry.js} +1 -1
  390. package/dist/components/p-a7323642.entry.js +1 -0
  391. package/dist/components/p-a83c336c.entry.js +1 -0
  392. package/dist/components/{p-71f4afdf.entry.js → p-ab4acc26.entry.js} +1 -1
  393. package/dist/components/{p-71e9b1e9.entry.js → p-ac501eb6.entry.js} +1 -1
  394. package/dist/components/p-ad036475.entry.js +1 -0
  395. package/dist/components/p-ad295d47.entry.js +1 -0
  396. package/dist/components/p-ad6e7daf.entry.js +1 -0
  397. package/dist/components/{p-dd34feaa.entry.js → p-ae471b33.entry.js} +1 -1
  398. package/dist/components/p-b64f8ffc.entry.js +1 -0
  399. package/dist/components/p-bb800eec.entry.js +1 -0
  400. package/dist/components/p-bfb00131.entry.js +1 -0
  401. package/dist/components/p-c07e3269.entry.js +1 -0
  402. package/dist/components/p-c286e9d3.entry.js +1 -0
  403. package/dist/components/p-c38c527e.entry.js +1 -0
  404. package/dist/components/p-c404226a.entry.js +1 -0
  405. package/dist/components/p-c9d60f21.entry.js +1 -0
  406. package/dist/components/p-d29676a0.entry.js +1 -0
  407. package/dist/components/p-df5fc158.entry.js +1 -0
  408. package/dist/components/p-e311fe9e.entry.js +1 -0
  409. package/dist/components/p-e4f0f24a.entry.js +1 -0
  410. package/dist/components/{p-1fad228f.entry.js → p-eda55db0.entry.js} +1 -1
  411. package/dist/components/p-ee93afac.entry.js +1 -0
  412. package/dist/components/{p-c12b0af1.entry.js → p-f0993844.entry.js} +1 -1
  413. package/dist/components/p-f1c8f841.entry.js +1 -0
  414. package/dist/components/p-f227bac5.entry.js +1 -0
  415. package/dist/components/{p-7ada2015.entry.js → p-f24bfc6a.entry.js} +1 -1
  416. package/dist/components/p-f3754a20.entry.js +1 -0
  417. package/dist/components/{p-d650c6c3.entry.js → p-f4c954ec.entry.js} +1 -1
  418. package/dist/components/p-f6baca73.entry.js +9 -0
  419. package/dist/components/p-f7b88ef5.entry.js +1 -0
  420. package/dist/components/{p-c51b90c2.entry.js → p-fda3df86.entry.js} +1 -1
  421. package/dist/components/primary.js +1 -1
  422. package/dist/components/primary2.js +1 -1
  423. package/dist/components/secondary.js +1 -1
  424. package/dist/components/secondary2.js +7 -7
  425. package/dist/components/support.js +1 -1
  426. package/dist/components/support2.js +3 -3
  427. package/dist/components/svg-repository.js +3 -3
  428. package/dist/components/token-list2.js +1 -1
  429. package/dist/components/token-radii2.js +1 -1
  430. package/dist/components/token-ratios.js +1 -1
  431. package/dist/components/token-shadows2.js +1 -1
  432. package/dist/components/token-spacing.js +1 -1
  433. package/dist/components/token-typography.js +1 -1
  434. package/dist/components/up-and-down.js +2 -2
  435. package/dist/esm/color-primary-palette_6.entry.js +14 -14
  436. package/dist/esm/components-section.entry.js +33 -24
  437. package/dist/esm/components.js +1 -1
  438. package/dist/esm/correct-use-of-colors.entry.js +1 -1
  439. package/dist/esm/docs-palettes.entry.js +1 -1
  440. package/dist/esm/docs-tokens.entry.js +1 -1
  441. package/dist/esm/{eds-accordion_36.entry.js → eds-accordion_37.entry.js} +671 -225
  442. package/dist/esm/eds-app-root.entry.js +1 -1
  443. package/dist/esm/eds-card-desc_2.entry.js +2 -2
  444. package/dist/esm/eds-card-generic.entry.js +1 -1
  445. package/dist/esm/eds-card-project.entry.js +1 -1
  446. package/dist/esm/eds-card-section.entry.js +1 -1
  447. package/dist/esm/eds-card-tags.entry.js +1 -1
  448. package/dist/esm/eds-card-tool.entry.js +1 -1
  449. package/dist/esm/eds-cookies-preference.entry.js +1 -1
  450. package/dist/esm/eds-feedback.entry.js +1 -1
  451. package/dist/esm/eds-footer.entry.js +4 -2
  452. package/dist/esm/eds-frame.entry.js +1 -1
  453. package/dist/esm/eds-fullscreen-menu.entry.js +12 -1
  454. package/dist/esm/eds-gauge.entry.js +1 -1
  455. package/dist/esm/eds-icon-arrow-diagonal.entry.js +1 -1
  456. package/dist/esm/eds-icon-arrow-right.entry.js +1 -1
  457. package/dist/esm/eds-icon-bin.entry.js +1 -1
  458. package/dist/esm/eds-icon-bluesky.entry.js +1 -1
  459. package/dist/esm/eds-icon-bookmark.entry.js +1 -1
  460. package/dist/esm/eds-icon-chevron-down.entry.js +1 -1
  461. package/dist/esm/eds-icon-chevron-left.entry.js +1 -1
  462. package/dist/esm/eds-icon-chevron-right.entry.js +1 -1
  463. package/dist/esm/eds-icon-chevron-up.entry.js +1 -1
  464. package/dist/esm/eds-icon-clone.entry.js +1 -1
  465. package/dist/esm/eds-icon-close.entry.js +1 -1
  466. package/dist/esm/eds-icon-copy.entry.js +1 -1
  467. package/dist/esm/eds-icon-download.entry.js +1 -1
  468. package/dist/esm/eds-icon-draft.entry.js +1 -1
  469. package/dist/esm/eds-icon-edit.entry.js +1 -1
  470. package/dist/esm/eds-icon-eu.entry.js +1 -1
  471. package/dist/esm/eds-icon-external.entry.js +1 -1
  472. package/dist/esm/eds-icon-facebook.entry.js +1 -1
  473. package/dist/esm/eds-icon-gitlab.entry.js +1 -1
  474. package/dist/esm/eds-icon-linkedin.entry.js +1 -1
  475. package/dist/esm/eds-icon-loader.entry.js +1 -1
  476. package/dist/esm/eds-icon-mastodon.entry.js +1 -1
  477. package/dist/esm/eds-icon-menu.entry.js +1 -1
  478. package/dist/esm/eds-icon-minus.entry.js +1 -1
  479. package/dist/esm/eds-icon-more.entry.js +1 -1
  480. package/dist/esm/eds-icon-paper.entry.js +1 -1
  481. package/dist/esm/eds-icon-plus.entry.js +1 -1
  482. package/dist/esm/eds-icon-portal.entry.js +1 -1
  483. package/dist/esm/eds-icon-private.entry.js +1 -1
  484. package/dist/esm/eds-icon-public.entry.js +1 -1
  485. package/dist/esm/eds-icon-search.entry.js +1 -1
  486. package/dist/esm/eds-icon-star.entry.js +1 -1
  487. package/dist/esm/eds-icon-start.entry.js +1 -1
  488. package/dist/esm/eds-icon-success.entry.js +1 -1
  489. package/dist/esm/eds-icon-thumbs-down.entry.js +1 -1
  490. package/dist/esm/eds-icon-thumbs-up.entry.js +1 -1
  491. package/dist/esm/eds-icon-tutorial.entry.js +1 -1
  492. package/dist/esm/eds-icon-twitter.entry.js +1 -1
  493. package/dist/esm/eds-icon-unknown.entry.js +1 -1
  494. package/dist/esm/eds-icon-updown.entry.js +2 -2
  495. package/dist/esm/eds-icon-user.entry.js +1 -1
  496. package/dist/esm/eds-icon-view.entry.js +1 -1
  497. package/dist/esm/eds-icon-youtube.entry.js +1 -1
  498. package/dist/esm/eds-modal.entry.js +2 -2
  499. package/dist/esm/eds-progress-bar.entry.js +1 -1
  500. package/dist/esm/eds-section-core_2.entry.js +3 -3
  501. package/dist/esm/eds-social-networks.entry.js +1 -1
  502. package/dist/esm/eds-timeline.entry.js +1 -1
  503. package/dist/esm/eds-toast-manager.entry.js +1 -1
  504. package/dist/esm/eds-trl.entry.js +1 -1
  505. package/dist/esm/incorrect-use-of-colors.entry.js +1 -1
  506. package/dist/esm/index-870ab08f.js +2 -2
  507. package/dist/esm/loader.js +1 -1
  508. package/dist/esm/logo-space.entry.js +1 -1
  509. package/dist/esm/logo-variations-horizontal_2.entry.js +2 -2
  510. package/dist/esm/logo-variations-tabs.entry.js +1 -1
  511. package/dist/esm/logo-wrong-usage.entry.js +1 -1
  512. package/dist/esm/svg-repository.entry.js +3 -3
  513. package/dist/esm/token-list_3.entry.js +3 -3
  514. package/dist/esm/token-ratios.entry.js +1 -1
  515. package/dist/esm/token-spacing.entry.js +1 -1
  516. package/dist/esm/token-typography.entry.js +1 -1
  517. package/dist/esm/{up-and-down-d747abee.js → up-and-down-8b69ca97.js} +2 -2
  518. package/dist/hydrate/index.js +850 -360
  519. package/dist/hydrate/index.mjs +850 -360
  520. package/dist/types/Users/nigeor/Documents/Projects/EBRAINS/ebrains-ui-ecosystem/packages/components/.stencil/packages/svgs/src/lib/svgs.d.ts +2 -2
  521. package/dist/types/components/eds-button/eds-button.d.ts +0 -1
  522. package/dist/types/{shared-ui → components}/eds-form/eds-form.d.ts +1 -0
  523. package/dist/types/{shared-ui → components}/eds-fullscreen-menu/eds-fullscreen-menu.d.ts +3 -0
  524. package/dist/types/{shared-ui → components}/eds-header/eds-header.d.ts +0 -2
  525. package/dist/types/components/eds-link/eds-link.d.ts +0 -1
  526. package/dist/types/components/eds-nps/eds-nps.d.ts +5 -3
  527. package/dist/types/components/eds-sidebar/eds-sidebar.d.ts +50 -0
  528. package/dist/types/components/eds-sidebar/eds-sidebar.stories.d.ts +98 -0
  529. package/dist/types/components/eds-steps/eds-steps.d.ts +53 -0
  530. package/dist/types/{shared-ui → components}/eds-steps/eds-steps.stories.d.ts +18 -0
  531. package/dist/types/components/eds-steps-v2/eds-steps-v2.d.ts +56 -0
  532. package/dist/types/{shared-ui → components}/eds-steps-v2/eds-steps-v2.stories.d.ts +8 -0
  533. package/dist/types/components/eds-table/eds-table.d.ts +8 -0
  534. package/dist/types/components.d.ts +151 -130
  535. package/package.json +1 -1
  536. package/dist/collection/shared-ui/eds-steps/eds-steps.css +0 -139
  537. package/dist/collection/shared-ui/eds-steps/eds-steps.js +0 -395
  538. package/dist/components/p-03714413.entry.js +0 -1
  539. package/dist/components/p-097665cb.entry.js +0 -1
  540. package/dist/components/p-09f1b358.entry.js +0 -1
  541. package/dist/components/p-1928711b.entry.js +0 -1
  542. package/dist/components/p-204f97de.entry.js +0 -1
  543. package/dist/components/p-20e385b8.entry.js +0 -1
  544. package/dist/components/p-21b5ca1f.entry.js +0 -1
  545. package/dist/components/p-290b3d61.entry.js +0 -1
  546. package/dist/components/p-2db9f80a.entry.js +0 -1
  547. package/dist/components/p-354857a8.entry.js +0 -1
  548. package/dist/components/p-3a295312.entry.js +0 -1
  549. package/dist/components/p-3ff1f198.entry.js +0 -1
  550. package/dist/components/p-404b4dec.entry.js +0 -1
  551. package/dist/components/p-422c08a9.entry.js +0 -1
  552. package/dist/components/p-44cc0966.entry.js +0 -1
  553. package/dist/components/p-473aeaa0.entry.js +0 -1
  554. package/dist/components/p-4b2d40d4.entry.js +0 -1
  555. package/dist/components/p-4faa0047.entry.js +0 -1
  556. package/dist/components/p-552125e3.entry.js +0 -1
  557. package/dist/components/p-5db8003b.entry.js +0 -1
  558. package/dist/components/p-5ea2afdf.entry.js +0 -1
  559. package/dist/components/p-5f2bb217.entry.js +0 -1
  560. package/dist/components/p-65d1c8e9.entry.js +0 -1
  561. package/dist/components/p-67823a16.entry.js +0 -1
  562. package/dist/components/p-69db1210.entry.js +0 -1
  563. package/dist/components/p-701dc6d8.entry.js +0 -1
  564. package/dist/components/p-73daee37.entry.js +0 -1
  565. package/dist/components/p-77143afc.entry.js +0 -1
  566. package/dist/components/p-7a137d91.entry.js +0 -1
  567. package/dist/components/p-81cce4f8.entry.js +0 -1
  568. package/dist/components/p-8d66718e.entry.js +0 -1
  569. package/dist/components/p-9154e892.entry.js +0 -1
  570. package/dist/components/p-98501e25.entry.js +0 -1
  571. package/dist/components/p-98d79948.entry.js +0 -1
  572. package/dist/components/p-9992fbdb.entry.js +0 -1
  573. package/dist/components/p-a82fc224.entry.js +0 -1
  574. package/dist/components/p-ad0519b7.entry.js +0 -1
  575. package/dist/components/p-b15b11de.entry.js +0 -9
  576. package/dist/components/p-b56a3fc9.entry.js +0 -1
  577. package/dist/components/p-c6f5d9df.entry.js +0 -1
  578. package/dist/components/p-c770c97b.entry.js +0 -1
  579. package/dist/components/p-cba7d276.entry.js +0 -1
  580. package/dist/components/p-cffb13fa.entry.js +0 -1
  581. package/dist/components/p-d3cbc8f9.entry.js +0 -1
  582. package/dist/components/p-d6a6879c.entry.js +0 -1
  583. package/dist/components/p-d9e02227.entry.js +0 -1
  584. package/dist/components/p-e3b89fab.entry.js +0 -1
  585. package/dist/components/p-e696531f.entry.js +0 -1
  586. package/dist/components/p-e8bc4649.entry.js +0 -1
  587. package/dist/components/p-ef86f330.entry.js +0 -1
  588. package/dist/components/p-f5470900.entry.js +0 -1
  589. package/dist/components/p-ff433e09.entry.js +0 -1
  590. package/dist/types/shared-ui/eds-steps/eds-steps.d.ts +0 -104
  591. package/dist/types/shared-ui/eds-steps-v2/eds-steps-v2.d.ts +0 -84
  592. /package/dist/collection/{shared-ui → components/eds-cards}/eds-card-section/eds-card-section.css +0 -0
  593. /package/dist/collection/{shared-ui → components}/eds-feedback/eds-feedback.css +0 -0
  594. /package/dist/collection/{shared-ui → components}/eds-footer/eds-footer.css +0 -0
  595. /package/dist/collection/{shared-ui → components}/eds-form/eds-form.css +0 -0
  596. /package/dist/collection/{shared-ui → components}/eds-frame/eds-frame.css +0 -0
  597. /package/dist/collection/{shared-ui → components}/eds-fullscreen-menu/eds-fullscreen-menu.css +0 -0
  598. /package/dist/collection/{shared-ui → components}/eds-social-networks/eds-social-networks.css +0 -0
  599. /package/dist/collection/{shared-ui → components}/eds-splash-screen/eds-splash-screen.css +0 -0
  600. /package/dist/collection/{shared-ui → components}/eds-splash-screen/eds-splash-screen.js +0 -0
  601. /package/dist/collection/{shared-ui → components}/eds-tabs/eds-tabs.css +0 -0
  602. /package/dist/collection/{shared-ui → components}/eds-toast-manager/eds-toast-manager.css +0 -0
  603. /package/dist/collection/{shared-ui → components}/eds-toast-manager/eds-toast-manager.st.js +0 -0
  604. /package/dist/collection/{shared-ui → components}/eds-user/eds-user.css +0 -0
  605. /package/dist/components/{p-1b2913c8.js → p-553ca350.js} +0 -0
  606. /package/dist/types/{shared-ui → components/eds-cards}/eds-card-section/eds-card-section.d.ts +0 -0
  607. /package/dist/types/{shared-ui → components/eds-cards}/eds-card-section/eds-card-section.stories.d.ts +0 -0
  608. /package/dist/types/{shared-ui → components}/eds-feedback/eds-feedback.d.ts +0 -0
  609. /package/dist/types/{shared-ui → components}/eds-feedback/eds-feedback.stories.d.ts +0 -0
  610. /package/dist/types/{shared-ui → components}/eds-footer/eds-footer.d.ts +0 -0
  611. /package/dist/types/{shared-ui → components}/eds-footer/eds-footer.stories.d.ts +0 -0
  612. /package/dist/types/{shared-ui → components}/eds-form/eds-form.stories.d.ts +0 -0
  613. /package/dist/types/{shared-ui → components}/eds-frame/eds-frame.d.ts +0 -0
  614. /package/dist/types/{shared-ui → components}/eds-frame/eds-frame.stories.d.ts +0 -0
  615. /package/dist/types/{shared-ui → components}/eds-fullscreen-menu/eds-fullscreen-menu.stories.d.ts +0 -0
  616. /package/dist/types/{shared-ui → components}/eds-header/eds-header.stories.d.ts +0 -0
  617. /package/dist/types/{shared-ui → components}/eds-social-networks/eds-social-networks.d.ts +0 -0
  618. /package/dist/types/{shared-ui → components}/eds-social-networks/eds-social-networks.stories.d.ts +0 -0
  619. /package/dist/types/{shared-ui → components}/eds-splash-screen/eds-splash-screen.d.ts +0 -0
  620. /package/dist/types/{shared-ui → components}/eds-splash-screen/eds-splash-screen.stories.d.ts +0 -0
  621. /package/dist/types/{shared-ui → components}/eds-tabs/eds-tabs.d.ts +0 -0
  622. /package/dist/types/{shared-ui → components}/eds-tabs/eds-tabs.stories.d.ts +0 -0
  623. /package/dist/types/{shared-ui → components}/eds-toast-manager/eds-toast-manager.d.ts +0 -0
  624. /package/dist/types/{shared-ui → components}/eds-toast-manager/eds-toast-manager.st.d.ts +0 -0
  625. /package/dist/types/{shared-ui → components}/eds-user/eds-user.d.ts +0 -0
  626. /package/dist/types/{shared-ui → components}/eds-user/eds-user.stories.d.ts +0 -0
@@ -75,10 +75,10 @@ const EdsAccordion = class {
75
75
  * Adjusts styles based on `switchBg`, `tiny`, `clampText`, and other props.
76
76
  */
77
77
  render() {
78
- return (h("div", { key: 'd162692cb9a99b6a1b9b736b828214c9d425046e', ref: (el) => (this.wrapperRef = el), class: `flex effect-color border-softer relative grid overflow-hidden rounded-lg border-2 p-16
78
+ return (h("div", { key: '095474500f7c60f20e4d737188001d2f3084dbcc', ref: (el) => (this.wrapperRef = el), class: `flex effect-color border-softer relative grid overflow-hidden rounded-lg border-2 p-16
79
79
  ${this.switchBg && this.isExpanded ? 'bg-inverse' : 'bg-default'}
80
80
  ${this.switchBg ? 'hover:bg-inverse' : ''}
81
- ${this.description ? 'min-h-56' : ''}` }, h("h3", { key: '3770e241daa7e4696c5481c97965fb2ebe0b17f9', ref: (el) => (this.headerRef = el), class: "mr-auto f-heading-06 text-left absolute inset-x-16 break-words top-16 pr-40" }, this.heading), h("div", { key: '56b7b70d16cf3f944bf3cec878bd15c3e18b399b', class: "ml-auto" }, h("eds-button", { key: '4b770831f155f7e77a424b9dd3ec0a8708a0859f', id: "toggleAccordion", intent: this.buttonIntent, "aria-expanded": this.isExpanded || this.shortContent, "aria-label": "Toggle accordion", "aria-controls": "accordionSection", class: `effect-color flex w-full items-center justify-between rounded-md`, onClick: this.handleClick, icon: "chevron-down" })), h("div", { key: 'c75c4d840bc8be25ee7590d90e3290faf090fdf0', class: `w-full`, style: Number.isFinite(this.headerHeight) ? { marginTop: `${this.headerHeight}px` } : {} }, this.description ? (h("span", { class: `text-light ${!this.isExpanded && this.clampText ? 'line-clamp-1' : ''}` }, this.description)) : null, h("section", { key: 'b78b8f7fa93a85c886136cac8119d7b94de2a129', id: "accordionSection", "aria-labelledby": "accordionHeader", "aria-hidden": !this.isExpanded, class: `z-1 effect-height relative h-0 w-full ${!this.isExpanded && this.clampText ? 'overflow-hidden' : ''}`, style: { height: this.isExpanded ? 'auto' : '0' } }, h("div", { key: '75ba9a9a7082b4ded3dacd6cbaa9ceb3688c5045', ref: (el) => (this.childContentRef = el), class: `accordion-content effect-color pt-4`, "aria-hidden": !this.isExpanded }, h("span", { key: 'e08cefc1d6fe7f3d162de86a17646d88a8686d83', class: `${!this.isExpanded && this.clampText ? 'line-clamp-2' : ''}` }, h("slot", { key: '77d3a7fb997a9f313e3013a17f87c28f7ff8adad' })))))));
81
+ ${this.description ? 'min-h-56' : ''}` }, h("h3", { key: 'f090fbe3632df8302046f1178e82b8affc4cc821', ref: (el) => (this.headerRef = el), class: "mr-auto f-heading-06 text-left absolute inset-x-16 break-words top-16 pr-40" }, this.heading), h("div", { key: '0a30ab8c27cadbb342fc57f6393111c84f10a664', class: "ml-auto" }, h("eds-button", { key: '01f4658df8181b63b71a2e0d2a67e8f8b58efbb7', id: "toggleAccordion", intent: this.buttonIntent, "aria-expanded": this.isExpanded || this.shortContent, "aria-label": "Toggle accordion", "aria-controls": "accordionSection", class: `effect-color flex w-full items-center justify-between rounded-md`, onClick: this.handleClick, icon: "chevron-down" })), h("div", { key: '9f3b5a0e425c2dffe3b6fe40fa33b020d64256d8', class: `w-full`, style: Number.isFinite(this.headerHeight) ? { marginTop: `${this.headerHeight}px` } : {} }, this.description ? (h("span", { class: `text-light ${!this.isExpanded && this.clampText ? 'line-clamp-1' : ''}` }, this.description)) : null, h("section", { key: '414735d7d982de76d8a1b8db24aa9a569eba37c7', id: "accordionSection", "aria-labelledby": "accordionHeader", "aria-hidden": !this.isExpanded, class: `z-1 effect-height relative h-0 w-full ${!this.isExpanded ? 'overflow-hidden' : ''}`, style: { height: this.isExpanded ? 'auto' : '0' } }, h("div", { key: '11097a0646b18f728af494c14aa4cc0e5335defe', ref: (el) => (this.childContentRef = el), class: `accordion-content effect-color pt-4`, "aria-hidden": !this.isExpanded }, h("span", { key: '88414c40490aa77166d23868f16556b9356279a7', class: `${!this.isExpanded && this.clampText ? 'line-clamp-2' : ''}` }, h("slot", { key: '8070a7676ca8fba065f813852a2e0cf4146f3374' })))))));
82
82
  }
83
83
  get el() { return getElement(this); }
84
84
  };
@@ -179,12 +179,12 @@ const EdsAlert = class {
179
179
  }
180
180
  render() {
181
181
  const ariaLabel = this.intent !== 'default' ? `${this.intent} alert` : 'alert';
182
- return (h("div", { key: '33781ae5fb8504158e8fe780a76d89566a39e914', class: alertStyles({
182
+ return (h("div", { key: 'd8f0a45ddbaf3d3eb284751e33ddfdce2e13b67a', class: alertStyles({
183
183
  intent: this.intent,
184
184
  brd: this.brd,
185
185
  direction: this.direction,
186
186
  withBtn: this.withBtn
187
- }), role: "alert", "aria-label": ariaLabel, "aria-live": this.intent === 'error' ? 'assertive' : 'polite', "aria-labelledby": "alert-message", "aria-describedby": this.withBtn ? 'alert-action' : undefined }, h("p", { key: 'fb3a1d216279b4076b09ef9544d37c5229b4d706', id: "alert-message", class: "f-ui-01 py-8", innerHTML: this.message }), this.withBtn && (h("div", { key: 'a5edd833ae3924f41edb17068090eeeb4e9f9cfd', id: "alert-action" }, this.pressableUrl ? (h("eds-link", { class: "eds-alert-link", label: this.pressableLabel, url: this.pressableUrl, intent: "secondary", external: true })) : (h("eds-button", { class: "eds-alert-button", label: this.pressableLabel, intent: "secondary", onClick: () => this.handleAction() }))))));
187
+ }), role: "alert", "aria-label": ariaLabel, "aria-live": this.intent === 'error' ? 'assertive' : 'polite', "aria-labelledby": "alert-message", "aria-describedby": this.withBtn ? 'alert-action' : undefined }, h("p", { key: '179862c141a2ce05fa9f8562be7e64196baa3922', id: "alert-message", class: "f-ui-01 py-8", innerHTML: this.message }), this.withBtn && (h("div", { key: '3677358bd563a3e2ee1b74309dc4fb6c84ac475f', id: "alert-action" }, this.pressableUrl ? (h("eds-link", { class: "eds-alert-link", label: this.pressableLabel, url: this.pressableUrl, intent: "secondary", external: true })) : (h("eds-button", { class: "eds-alert-button", label: this.pressableLabel, intent: "secondary", onClick: () => this.handleAction() }))))));
188
188
  }
189
189
  get el() { return getElement(this); }
190
190
  };
@@ -247,7 +247,7 @@ const EdsAvatar = class {
247
247
  * @returns {JSX.Element} The rendered avatar component.
248
248
  */
249
249
  render() {
250
- return (h("div", { key: 'd29c110e340567236716e77c4f003bec5c70ee63', class: this.containerClasses }, this.picture ? (h("eds-img", { src: this.picture, width: 54, height: 54, sizes: "120px", alt: `${this.firstName} ${this.lastName}`, lazyload: true, withBg: true })) : (h("abbr", { title: this.computedInitials || `${this.firstName} ${this.lastName}`, class: "!no-underline f-ui-01" }, this.computedInitials))));
250
+ return (h("div", { key: '7b5bf31c794c9bbddd2976fdd5a273842a75603a', class: this.containerClasses }, this.picture ? (h("eds-img", { src: this.picture, width: 54, height: 54, sizes: "120px", alt: `${this.firstName} ${this.lastName}`, lazyload: true, withBg: true })) : (h("abbr", { title: this.computedInitials || `${this.firstName} ${this.lastName}`, class: "!no-underline f-ui-01" }, this.computedInitials))));
251
251
  }
252
252
  };
253
253
  EdsAvatar.style = EdsAvatarStyle0;
@@ -261,7 +261,7 @@ const EdsBlockBreak = class {
261
261
  this.inverse = false;
262
262
  }
263
263
  render() {
264
- return h("hr", { key: '0e2ec4b9c8b70ff9b65e6c4f2af42f198b1eb7d0', class: `${this.inverse ? 'border-default' : 'border-softer'} my-16 inline-block w-full border-t-2` });
264
+ return h("hr", { key: 'dd9b98d66f195135ff2fb1374a56d4c670e43d3e', class: `${this.inverse ? 'border-default' : 'border-softer'} my-16 inline-block w-full border-t-2` });
265
265
  }
266
266
  };
267
267
  EdsBlockBreak.style = EdsBlockBreakStyle0;
@@ -381,7 +381,7 @@ const EdsBreadcrumb = class {
381
381
  */
382
382
  render() {
383
383
  const itemsToRender = this.getTruncatedItems();
384
- return (h("nav", { key: '27ddf744a07f1b697e549cdc6d2a66f65ebe6386', "aria-label": "Breadcrumb" }, h("ol", { key: '43ac089290c0a6f9b3c5cd629def8540966637b8', class: "flex items-center space-x-2" }, itemsToRender.map((item, index) => {
384
+ return (h("nav", { key: '4894fb9e6b37ef84880a62f4dcd3289dcb9cab38', "aria-label": "Breadcrumb" }, h("ol", { key: 'd69405fcee024465d645d9cdbb17189998a94b95', class: "flex items-center space-x-2" }, itemsToRender.map((item, index) => {
385
385
  const isLast = index === itemsToRender.length - 1;
386
386
  return (h("li", { class: "flex items-center" }, !item.isHidden ? ((() => {
387
387
  const { fullLabel } = this.getLabels(item, isLast);
@@ -520,7 +520,6 @@ const EdsButton = class {
520
520
  this.size = 'small';
521
521
  this.iconPos = 'right';
522
522
  this.iconSmall = false;
523
- this.extraClass = undefined;
524
523
  this.triggerClick = undefined;
525
524
  }
526
525
  handleParentContext(event) {
@@ -571,7 +570,7 @@ const EdsButton = class {
571
570
  });
572
571
  const ElementType = this.elementType;
573
572
  const isInteractive = !this.disabled && !this.loading;
574
- return (h(Host, { key: 'fe91be3eb9c2a3ece800097392462b3bd76f1264' }, h(ElementType, { key: 'aa1d4e0544beff8759d232d0e897ffdbcd584ea5', tabindex: isInteractive ? '0' : '-1', "aria-label": this.label ? undefined : this.ariaLabel, "aria-disabled": this.disabled || this.loading ? 'true' : undefined, "aria-busy": this.loading ? 'true' : undefined, disabled: this.elementType === 'button' ? this.disabled || this.loading : undefined, role: this.elementType === 'a' ? 'button' : undefined, class: `${classes || ''} ${this.extraClass || ''}`, onClick: (event) => this.handleClick(event), onKeyDown: (event) => this.handleKeyDown(event) }, this.label && (h("span", { key: '2b55edc1b986950ba03a759cffd7346c8611ac0a', class: this.loading ? 'opacity-0' : '', "aria-hidden": this.loading ? 'true' : undefined }, this.label)), this.loading && (h("span", { key: '5b035b8ef848cde63af9a2cc4a3ed72c68e1e03d', class: "absolute inset-0 flex items-center justify-center", "aria-hidden": "true" }, h("span", { key: '2746ef996f0835c76c4ef2cbd39103ad4d07c21f', class: "loader", style: {
573
+ return (h(Host, { key: '25a7b4ffda3df65e91c77a18becd45bc40973f3c' }, h(ElementType, { key: '0f00d82a37f3189b862015eb2d915f2364b6d75d', tabindex: isInteractive ? '0' : '-1', "aria-label": this.label ? undefined : this.ariaLabel, "aria-disabled": this.disabled || this.loading ? 'true' : undefined, "aria-busy": this.loading ? 'true' : undefined, disabled: this.elementType === 'button' ? this.disabled || this.loading : undefined, role: this.elementType === 'a' ? 'button' : undefined, class: `${classes || ''}`, onClick: (event) => this.handleClick(event), onKeyDown: (event) => this.handleKeyDown(event) }, this.label && (h("span", { key: '6e45dfefb4805eef0574f7462becca6cde85dbc0', class: this.loading ? 'opacity-0' : '', "aria-hidden": this.loading ? 'true' : undefined }, this.label)), this.loading && (h("span", { key: '9909c70db39a039b883854caff816d25f132b866', class: "absolute inset-0 flex items-center justify-center", "aria-hidden": "true" }, h("span", { key: '367cd65a13f81cbcb12d93855dc091a4309566bb', class: "loader", style: {
575
574
  border: `3px solid ${this.intent === 'secondary' ? 'rgba(255, 255, 255, .3)' : 'rgba(0, 0, 0, .3)'}`,
576
575
  borderBottomColor: this.intent === 'secondary' ? '#fff' : '#000'
577
576
  } }))), this.icon ? (h("eds-icon-wrapper", { class: `
@@ -3060,7 +3059,7 @@ const EdsCodeBlock = class {
3060
3059
  return this.code; // Fallback if language is not provided or unsupported
3061
3060
  }
3062
3061
  render() {
3063
- return (h("div", { key: '2c5addd195dc8d930db643e95ecc52410dd94052', class: "relative bg-stronger rounded-sm" }, h("div", { key: 'aea2d891f9e5d57d4b8390cff4597cb8edd163a1', class: "text-inverse flex justify-between items-center p-8" }, this.language ? (h("span", { class: "f-ui-03" }, this.language.toUpperCase())) : (h("pre", { class: "bg-stronger pl-8", role: "region", "aria-label": "Code block without language" }, h("code", { innerHTML: this.getHighlightedCode() }))), h("span", { key: '41e2d463bde145f901eae42dda68091a9a42e3ef', "aria-hidden": "true", class: "w-20 h-20 mt-8" }, h("eds-icon-wrapper", { key: '7285b81dd936c770b09b4a36bed8c8ba2a87da99', icon: this.copied ? 'success' : 'copy', onClick: () => this.copyToClipboard() })), h("span", { key: 'a12d74735064478480544cc4b5cf14d7b028b1a8', class: "sr-only" }, "Copy Code")), this.language && (h("pre", { key: '2fcde4f271059ac98cb3b1b6bffbf4564ccf795b', class: `language-${this.language} bg-stronger pl-8 pb-8`, role: "region", "aria-label": `Code block in ${this.language}` }, h("code", { key: '68a8b83f492e7b0eb2916a063e28a4293e6a988f', innerHTML: this.getHighlightedCode() })))));
3062
+ return (h("div", { key: 'bc74b6be37bcb24700d17b48b5398077e485abd7', class: "relative bg-stronger rounded-sm" }, h("div", { key: 'db0395bfd55eb3394ab2149c5c436f2a54e8afb0', class: "text-inverse flex justify-between items-center p-8" }, this.language ? (h("span", { class: "f-ui-03" }, this.language.toUpperCase())) : (h("pre", { class: "bg-stronger pl-8", role: "region", "aria-label": "Code block without language" }, h("code", { innerHTML: this.getHighlightedCode() }))), h("span", { key: '628ad41f15f3a38abe4b7c382074c8f5a8679a8c', "aria-hidden": "true", class: "w-20 h-20 mt-8" }, h("eds-icon-wrapper", { key: '1c95d57a5d8113d6ab7ebf7da713e058c7cc10f1', icon: this.copied ? 'success' : 'copy', onClick: () => this.copyToClipboard() })), h("span", { key: 'a64b2450b631835b6fc2c15047b09ceea5a9fc95', class: "sr-only" }, "Copy Code")), this.language && (h("pre", { key: '51945cbee1504625b54362505b60f1bd1784bdda', class: `language-${this.language} bg-stronger pl-8 pb-8`, role: "region", "aria-label": `Code block in ${this.language}` }, h("code", { key: '55961aa8278177451e13c929ec7f7065afcac93b', innerHTML: this.getHighlightedCode() })))));
3064
3063
  }
3065
3064
  get el() { return getElement(this); }
3066
3065
  };
@@ -3214,14 +3213,14 @@ const EdsDropdown = class {
3214
3213
  * @returns {JSX.Element} The rendered dropdown component.
3215
3214
  */
3216
3215
  render() {
3217
- return (h("div", { key: 'e31acbda3428f47fe32cfe550cf00c53374da215', class: "z-focus relative", ref: (el) => (this.dropdownContent = el) }, h("eds-button", { key: 'ce3e11ecee4f603c3ba0e003fccf3fe81289f4c8', label: this.label, "aria-label": this.ariaLabel, icon: this.icon, intent: this.intent, onClick: this.handleClick, "aria-expanded": this.isOpen.toString(), "aria-haspopup": "menu" }), h("nav", { key: '59f8533409171401ed73eac8d307e4eafbde9209', ref: (el) => (this.panelEl = el), role: "menu", class: {
3216
+ return (h("div", { key: 'ffc4915b2104e3d2dd347900acd897f56910a674', class: "z-focus relative", ref: (el) => (this.dropdownContent = el) }, h("eds-button", { key: 'ba48bdd7b75fd230bdc2dd564bd477f0349f5426', label: this.label, "aria-label": this.ariaLabel, icon: this.icon, intent: this.intent, onClick: this.handleClick, "aria-expanded": this.isOpen.toString(), "aria-haspopup": "menu" }), h("nav", { key: 'a29b57598a2ed8fcc9593c928df9443fd4449481', ref: (el) => (this.panelEl = el), role: "menu", class: {
3218
3217
  'shadow-small bg-inverse border-softest z-10 z-on-top absolute top-full mt-4 flex flex-col gap-y-4 border-2 p-8': true,
3219
3218
  'left-4': this.dropdownPos === 'left' && this.dropdownOffset,
3220
3219
  'left-0': this.dropdownPos === 'left' && !this.dropdownOffset,
3221
3220
  'right-4': this.dropdownPos === 'right' && this.dropdownOffset,
3222
3221
  'right-0': this.dropdownPos === 'right' && !this.dropdownOffset,
3223
3222
  'rounded-lg': this.rounded
3224
- }, style: { display: this.isOpen ? 'block' : 'none' }, "aria-label": "Dropdown", "aria-hidden": !this.isOpen }, h("slot", { key: '675839893bf667a7a05a63e552935bb1a5874b73' }))));
3223
+ }, style: { display: this.isOpen ? 'block' : 'none' }, "aria-label": "Dropdown", "aria-hidden": !this.isOpen }, h("slot", { key: 'ddf003345ef5181b968b4bfd8962805d09d15e89' }))));
3225
3224
  }
3226
3225
  get host() { return getElement(this); }
3227
3226
  };
@@ -3505,17 +3504,41 @@ const EdsForm = class {
3505
3504
  }
3506
3505
  const actual = this.values[field.condition.field];
3507
3506
  const expected = field.condition.value;
3508
- // Handle loose match between booleans and strings
3509
- return String(actual) === String(expected);
3507
+ // Handle undefined/null/empty
3508
+ if (actual == null) {
3509
+ return expected == null || expected === '';
3510
+ }
3511
+ // Handle arrays (multi-select, checkboxes)
3512
+ if (Array.isArray(actual)) {
3513
+ return actual.some((val) => this.normalizeValue(val) === this.normalizeValue(expected));
3514
+ }
3515
+ // Handle comma-separated strings (from checkboxes stored as "val1,val2")
3516
+ if (typeof actual === 'string' && actual.includes(',')) {
3517
+ const values = actual.split(',').map((v) => v.trim());
3518
+ return values.some((val) => this.normalizeValue(val) === this.normalizeValue(expected));
3519
+ }
3520
+ // Standard comparison with normalization
3521
+ return this.normalizeValue(actual) === this.normalizeValue(expected);
3522
+ }
3523
+ normalizeValue(value) {
3524
+ if (value == null) {
3525
+ return '';
3526
+ }
3527
+ if (typeof value === 'boolean') {
3528
+ return value ? 'true' : 'false';
3529
+ }
3530
+ if (typeof value === 'number') {
3531
+ return String(value);
3532
+ }
3533
+ if (typeof value === 'string') {
3534
+ return value.trim().toLowerCase();
3535
+ }
3536
+ return String(value).trim().toLowerCase();
3510
3537
  }
3511
3538
  validateForm() {
3512
- const { errors, hasError } = validateFormFields(this.parsedFields, this.formEl, this.values, (field, values) => {
3513
- if (!field.condition) {
3514
- return true;
3515
- }
3516
- const parentValue = values[field.condition.field];
3517
- return parentValue === field.condition.value;
3518
- });
3539
+ const { errors, hasError } = validateFormFields(this.parsedFields, this.formEl, this.values, (field, _values) =>
3540
+ // Use a temporary object with the condition to reuse isFieldVisible logic
3541
+ this.isFieldVisible(field));
3519
3542
  this.errors = errors;
3520
3543
  this.hasError = hasError;
3521
3544
  }
@@ -3529,8 +3552,22 @@ const EdsForm = class {
3529
3552
  if (!field.condition) {
3530
3553
  return true;
3531
3554
  }
3532
- const parentValue = values[field.condition.field];
3533
- return parentValue === field.condition.value;
3555
+ const actual = values[field.condition.field];
3556
+ const expected = field.condition.value;
3557
+ // Handle undefined/null/empty
3558
+ if (actual == null) {
3559
+ return expected == null || expected === '';
3560
+ }
3561
+ // Handle arrays
3562
+ if (Array.isArray(actual)) {
3563
+ return actual.some((val) => this.normalizeValue(val) === this.normalizeValue(expected));
3564
+ }
3565
+ // Handle comma-separated strings
3566
+ if (typeof actual === 'string' && actual.includes(',')) {
3567
+ const values = actual.split(',').map((v) => v.trim());
3568
+ return values.some((val) => this.normalizeValue(val) === this.normalizeValue(expected));
3569
+ }
3570
+ return this.normalizeValue(actual) === this.normalizeValue(expected);
3534
3571
  }
3535
3572
  });
3536
3573
  this.values = updatedValues;
@@ -3597,8 +3634,9 @@ const EdsForm = class {
3597
3634
  const hosts = Array.from(this.formEl.querySelectorAll('eds-input-field'));
3598
3635
  hosts.forEach((host) => {
3599
3636
  const root = host.shadowRoot;
3600
- if (!root)
3637
+ if (!root) {
3601
3638
  return;
3639
+ }
3602
3640
  const fileInputs = Array.from(root.querySelectorAll('input[type="file"][name]'));
3603
3641
  console.log(fileInputs);
3604
3642
  fileInputs.forEach((fi) => {
@@ -3613,14 +3651,13 @@ const EdsForm = class {
3613
3651
  // (Optional) mark that this payload includes files (handy in logs / policies)
3614
3652
  // formData.set('_has_files', '1');
3615
3653
  }
3616
- formData.forEach((value, key) => {
3617
- if (value instanceof File) {
3618
- console.log(`File field: ${key}, File name: ${value.name}, File size: ${value.size}`);
3619
- }
3620
- else {
3621
- console.log(`Field: ${key}, Value: ${value}`);
3622
- }
3623
- });
3654
+ /*formData.forEach((value, key) => {
3655
+ if (value instanceof File) {
3656
+ console.log(`File field: ${key}, File name: ${value.name}, File size: ${value.size}`);
3657
+ } else {
3658
+ console.log(`Field: ${key}, Value: ${value}`);
3659
+ }
3660
+ });*/
3624
3661
  return formData;
3625
3662
  }
3626
3663
  handleChange(e, field) {
@@ -3734,8 +3771,9 @@ const EdsForm = class {
3734
3771
  handleSubmit(e) {
3735
3772
  var _a, _b;
3736
3773
  e === null || e === void 0 ? void 0 : e.preventDefault();
3737
- if (this.isSubmitting)
3774
+ if (this.isSubmitting) {
3738
3775
  return;
3776
+ }
3739
3777
  this.isSubmitting = true;
3740
3778
  this.validateForm();
3741
3779
  if (this.hasError) {
@@ -3817,7 +3855,7 @@ const EdsForm = class {
3817
3855
  else if (field.type === 'nps') {
3818
3856
  return (h("div", { class: "form-group nps-field", key: field.name }, h("div", { class: "flex justify-between" }, field && (h("eds-input-label", { name: `nps-${field.name}`, label: field.question, disabled: field.disabled, required: field.required }))), h("eds-nps", { id: `nps-${field.name}`, "right-label": field.rightLabel, "left-label": field.leftLabel, onNps: (e) => this.handleNPS(e, field) }), h("div", { class: "mt-6" }, h("eds-input-footer", { id: `${field.name}-footer`, name: field.name, "error-message": (_b = this.errors[field.name]) === null || _b === void 0 ? void 0 : _b.join('<br/>'), error: !!this.errors[field.name] }))));
3819
3857
  }
3820
- return (h("eds-input-field", { key: field.name, name: field.name, label: field.label, placeholder: field.placeholder, type: field.type, value: this.values[field.name], required: field.required, hint: field.hint, message: field.message, error: !!this.errors[field.name], errorMessage: (_c = this.errors[field.name]) === null || _c === void 0 ? void 0 : _c.join('<br/>'), options: field.options, onInput: (e) => this.handleInput(e, field), onChangeNative: (e) => this.handleChange(e, field) }));
3858
+ return (h("eds-input-field", { key: field.name, name: field.name, label: field.label, placeholder: field.placeholder, type: field.type, value: this.values[field.name], required: field.required, hint: field.hint, message: field.message, link: field.link, error: !!this.errors[field.name], errorMessage: (_c = this.errors[field.name]) === null || _c === void 0 ? void 0 : _c.join('<br/>'), options: field.options, onInput: (e) => this.handleInput(e, field), onChangeNative: (e) => this.handleChange(e, field) }));
3821
3859
  }
3822
3860
  async getData() {
3823
3861
  return this.makeFormData();
@@ -3830,9 +3868,9 @@ const EdsForm = class {
3830
3868
  const styleClasses = this.formStyle === 'shadow'
3831
3869
  ? 'bg-inverse effect-shadow shadow-hover border-softer relative rounded-lg border-2 p-32'
3832
3870
  : '';
3833
- return (h("form", { key: 'a2e7de988c60301b92f6b756702bfcc78e9f3d90', class: styleClasses, ref: (el) => (this.formEl = el), autocomplete: "on", onSubmit: this.handleSubmit }, h("div", { key: '22172631522aa6094d8b163b0774c57ef4404d60', class: "flex flex-col gap-y-24" }, this.title && (h("span", { key: '0597bbacbaf5f3d9ec1ab938cf755a10baafdf21', role: "heading", class: "f-heading-04" }, this.title)), this.description && h("span", { key: '5e636072bc2692071bd0b518af721999cc8b511e', class: "f-body-02 text-light" }, this.description), h("slot", { key: '79d21172208eb77ec6460e817d3c7bc3a680c806' })), hiddenFields.map((field, index) => (h("eds-input", { key: index, type: "hidden", name: field.name, value: field.value }))), this.parsedGroups
3871
+ return (h("form", { key: 'a4b6cf51242567739fc3ff2da482c41edb4e4e57', class: styleClasses, ref: (el) => (this.formEl = el), autocomplete: "on", onSubmit: this.handleSubmit }, h("div", { key: '5f7e1d618f8a10a1cd6aa8d512c04064a484cd93', class: "flex flex-col gap-y-24" }, this.title && (h("span", { key: '283d752d3e9f4ede0f50493ba9e5010376ebfb1f', role: "heading", class: "f-heading-04" }, this.title)), this.description && h("span", { key: 'bd5866482b87bdc86a59594b884a9b81c676afdb', class: "f-body-02 text-light" }, this.description), h("slot", { key: 'b2de746ccf8743fdef545a70ab111dfff0d7912f' })), hiddenFields.map((field, index) => (h("eds-input", { key: index, type: "hidden", name: field.name, value: field.value }))), this.parsedGroups
3834
3872
  .filter((g) => Array.isArray(buckets[g.id]) && buckets[g.id].length > 0)
3835
- .map((g) => (h("div", { class: "mt-32", key: g.id }, h("span", { class: "f-body-02" }, h("b", null, g.title)), h("div", { class: "border-group mt-32 mb-32 flex flex-col gap-y-24" }, buckets[g.id].map((f) => this.renderField(f)))))), h("div", { key: 'b99941e53dec1c8c4e167d8588d6e86793838d1a', class: "flex flex-col mt-32 gap-y-24" }, buckets['__ungrouped'].map((f) => this.renderField(f))), this.formBtn && (h("div", { key: '27365a4d7d8150ff4e94ffb3d27d011400c8c412', class: "mt-32" }, h("eds-button", { key: '66f89292b95d9549e3718d7e499b0724762127c6', intent: this.buttonIntent, label: this.formBtnLabel, disabled: this.isSubmitting, loading: this.isSubmitting, onClick: () => this.handleSubmit() })))));
3873
+ .map((g) => (h("div", { class: "mt-32", key: g.id }, h("span", { class: "f-body-02" }, h("b", null, g.title)), h("div", { class: "border-group mt-32 mb-32 flex flex-col gap-y-24" }, buckets[g.id].map((f) => this.renderField(f)))))), h("div", { key: '917c5bd2e6048a91487f0a66bd0426e529295f9e', class: "flex flex-col mt-32 gap-y-24" }, buckets['__ungrouped'].map((f) => this.renderField(f))), this.formBtn && (h("div", { key: '96abbd19ea2869c21146f0b37da7ff6b89fbf66c', class: "mt-32" }, h("eds-button", { key: '066348df32cf27fc6e56c94b9d5c455bc51b4adf', intent: this.buttonIntent, label: this.formBtnLabel, disabled: this.isSubmitting, loading: this.isSubmitting, onClick: () => this.handleSubmit() })))));
3836
3874
  }
3837
3875
  get el() { return getElement(this); }
3838
3876
  static get watchers() { return {
@@ -3867,9 +3905,8 @@ const EdsGlobalSearch = class {
3867
3905
  category: 'shared-ui',
3868
3906
  parentContext: null,
3869
3907
  tag: this.el.tagName.toLowerCase(),
3870
- name: `search-input: ${(_a = this.query) === null || _a === void 0 ? void 0 : _a.toLowerCase()}` ||
3871
- 'unknow seach input query',
3872
- action: 'click',
3908
+ name: `search-input: ${(_a = this.query) === null || _a === void 0 ? void 0 : _a.toLowerCase()}` || 'unknow seach input query',
3909
+ action: 'click'
3873
3910
  });
3874
3911
  this.debounceTimer = window.setTimeout(() => {
3875
3912
  this.runSearch();
@@ -3925,8 +3962,7 @@ const EdsGlobalSearch = class {
3925
3962
  break;
3926
3963
  case 'Enter':
3927
3964
  event.preventDefault();
3928
- if (this.selectedIndex >= 0 &&
3929
- this.selectedIndex < this.results.length) {
3965
+ if (this.selectedIndex >= 0 && this.selectedIndex < this.results.length) {
3930
3966
  this.selectResult(this.results[this.selectedIndex]);
3931
3967
  }
3932
3968
  break;
@@ -3960,7 +3996,7 @@ const EdsGlobalSearch = class {
3960
3996
  this.selectedIndex = -1;
3961
3997
  }
3962
3998
  catch (err) {
3963
- console.error('Search error:', err);
3999
+ //console.error('Search error:', err);
3964
4000
  this.error = 'Search failed. Please try again.';
3965
4001
  this.results = [];
3966
4002
  this.showDropdown = true;
@@ -3977,7 +4013,7 @@ const EdsGlobalSearch = class {
3977
4013
  parentContext: null,
3978
4014
  tag: this.el.tagName.toLowerCase(),
3979
4015
  name: `search-select: ${result.url}` || 'unknow search result selection',
3980
- action: 'click',
4016
+ action: 'click'
3981
4017
  });
3982
4018
  window.open(result.url, '_blank', 'noopener,noreferrer');
3983
4019
  }
@@ -3998,19 +4034,19 @@ const EdsGlobalSearch = class {
3998
4034
  return this.results.length > 0;
3999
4035
  }
4000
4036
  get showEmpty() {
4001
- return (this.hasSearched && !this.loading && !this.hasResults && this.query.trim());
4037
+ return this.hasSearched && !this.loading && !this.hasResults && this.query.trim();
4002
4038
  }
4003
4039
  render() {
4004
- return (h("div", { key: '8fb5d13cbb123d7a6d6a26d0ba59d4c6d1660216', class: "search-wrapper" }, h("eds-input-field", { key: 'a8bf5d6f4aa5746e144b82fad60b77697d0fdb99', icon: "search", "input-id": "search-global", type: "text", name: "search-box-global", placeholder: this.placeholder, value: this.query, onInput: this.handleInput }), this.showDropdown && (h("div", { key: '553cb12c9b2aa9ecfbcf9c1eee9ff9a44549e35a', class: "search-dropdown", ref: (el) => (this.dropdownRef = el) }, this.loading && (h("div", { key: '4f40853beecd11f8812fd97cf07d2394e7b73466', class: "flex text-center justify-center p-64" }, h("eds-spinner", { key: '307a3ba3ec2d296f31f8e5cf1a696786387ea8fa', variant: "primary", size: "sm" }))), this.error && !this.loading && (h("div", { key: '46fc2ed3f48237864c62ce52d5789b72ab007f61', class: "flex text-center justify-center p-16" }, h("span", { key: 'b555370d936f99234d9be576d04766bc674bfd24', class: "text-error f-body-02" }, this.error))), this.showEmpty && (h("div", { key: '7464c4850872ce8dcee55c189b1e78baa1799f14', class: "dropdown-state" }, h("eds-icon-wrapper", { key: '989282ef0fc8fde7018bb80ab172773cc2107942', icon: "search" }), h("div", { key: 'efbdbd61312b7de43c4f9944cbd573573ec22f11' }, h("p", { key: 'fb8bf8c76f101a182f2f0e0c9beac642a872d4cb', class: "f-body-02" }, "No results found"), h("p", { key: '003a1facf39b7efe8f61c58518e7fdef4779f9c3', class: "f-ui-04 text-lightest" }, "Try different keywords")))), this.hasResults && !this.loading && (h("ul", { key: '01b48376f9b290218f93eed314bcc71fa15f83ef', class: "dropdown-results" }, this.results.map((result, index) => (h("li", { key: result.id, "data-index": index, class: {
4040
+ return (h("div", { key: 'be8f46caa1d12a034401686c9860b87032652322', class: "search-wrapper" }, h("eds-input-field", { key: 'c31ac27a5e9f97729da8f7168e22ad09205ffce0', icon: "search", "input-id": "search-global", type: "text", name: "search-box-global", placeholder: this.placeholder, value: this.query, onInput: this.handleInput }), this.showDropdown && (h("div", { key: '57b87393636913be24856bedc805e180171f084e', class: "search-dropdown", ref: (el) => (this.dropdownRef = el) }, this.loading && (h("div", { key: '3ddb78e5a734d69b581e64ee825d12574f98574d', class: "flex text-center justify-center p-64" }, h("eds-spinner", { key: '178c99535ce61b320fd70ab1f3aeb8408c868fe3', variant: "primary", size: "sm" }))), this.error && !this.loading && (h("div", { key: '87feb37ffec93fa12185cd1fffb5c4f8ac54cd55', class: "flex text-center justify-center p-16" }, h("span", { key: '07544fe95721c9e0898364f3bdcfc0b1ca79a48d', class: "text-error f-body-02" }, this.error))), this.showEmpty && (h("div", { key: '6595178cb14ce5e21cdb15f96e039975a8af0c67', class: "dropdown-state" }, h("eds-icon-wrapper", { key: 'f5b614218bb6ef642c3d1f4c7d41f56f28319a9d', icon: "search" }), h("div", { key: '857671d7783d8fe854e6b3203a3755d24f337e5d' }, h("p", { key: '89bae3bfb4efa63e777121088a59d873652de4e9', class: "f-body-02" }, "No results found"), h("p", { key: '1a951b1a6f0daf7506e6e7892a211f92d95b94d4', class: "f-ui-04 text-lightest" }, "Try different keywords")))), this.hasResults && !this.loading && (h("ul", { key: '1c1711dc4332d70cefe965dcfeeabc3c6745ce4d', class: "dropdown-results" }, this.results.map((result, index) => (h("li", { key: result.id, "data-index": index, class: {
4005
4041
  'result-item': true,
4006
- 'result-item--selected': index === this.selectedIndex,
4007
- }, onClick: () => this.selectResult(result), onMouseEnter: () => (this.selectedIndex = index) }, h("div", { class: "result-header" }, h("span", { class: "f-body-02" }, result.title)), h("div", { class: "inline" }, h("eds-tag", { intent: "accent", label: result.source }), result.section && (h("span", { class: "result-badge" }, result.section)), h("span", { class: "f-ui-03-light text-lighter ml-8" }, result.url)), result.snippet && (h("p", { class: "result-snippet" }, this.stripHtml(result.snippet)))))))), this.hasResults && !this.loading && (h("div", { key: '3730704ff20781f23403df56a452bf586c06a688', class: "dropdown-footer" }, h("span", { key: '981e0fb42c24116a2b7caa1a341db1435fb57298', class: "footer-hint" }, h("kbd", { key: 'a3afa1202d694af3f87c736f8384b11497729d2c' }, "\u2191"), " ", h("kbd", { key: '4158766047e73eef837b3a7be415b52792473f3e' }, "\u2193"), " navigate \u2022 ", h("kbd", { key: '49dc09c928a6f0d69e4c95cee7ba5b655dfcd56c' }, "\u21B5"), " select \u2022", ' ', h("kbd", { key: '8da9b6f1bef58c7633a484f63e63920646d6b675' }, "esc"), " close")))))));
4042
+ 'result-item--selected': index === this.selectedIndex
4043
+ }, onClick: () => this.selectResult(result), onMouseEnter: () => (this.selectedIndex = index) }, h("div", { class: "result-header" }, h("span", { class: "f-body-02" }, result.title)), h("div", { class: "inline" }, h("eds-tag", { intent: "accent", label: result.source }), result.section && h("span", { class: "result-badge" }, result.section), h("span", { class: "f-ui-03-light text-lighter ml-8" }, result.url)), result.snippet && h("p", { class: "result-snippet" }, this.stripHtml(result.snippet))))))), this.hasResults && !this.loading && (h("div", { key: '26e172b579f71b7096481994c0a4af80d3e416d3', class: "dropdown-footer" }, h("span", { key: '57a6432125472aaed3b7b46c106aeec0d0a5ee50', class: "footer-hint" }, h("kbd", { key: 'c8ca5d4b1a2e8f59665290ab78499f8db431a2e9' }, "\u2191"), " ", h("kbd", { key: '89a6520e51bed33cfc37b892480af44e5b77a9c3' }, "\u2193"), " navigate \u2022 ", h("kbd", { key: '4173b9ec77d52d4570e016c3366e27fef225ccb0' }, "\u21B5"), " select \u2022 ", h("kbd", { key: '7f118c184acf52edd545e1f97b4ca991eaa1aa1f' }, "esc"), " close")))))));
4008
4044
  }
4009
4045
  get el() { return getElement(this); }
4010
4046
  };
4011
4047
  EdsGlobalSearch.style = EdsGlobalSearchStyle0;
4012
4048
 
4013
- const edsHeaderCss = ".block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.z-10{z-index:10}.text-default{color:var(--black)}.text-inverse{color:var(--white)}.bg-inverse{background-color:var(--white)}.bg-dark{background-color:var(--grey-300)}.bg-strongest{background-color:var(--black)}.mr-auto{margin-right:auto}.w-\\[200px\\]{width:200px}.h-\\[85px\\]{height:85px}.left-1\\/2{left:50%}.top-1\\/2{top:50%}.grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden{display:none}.gap-x-2{-moz-column-gap:0.125rem;column-gap:0.125rem}.after\\:effect-opacity::after{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms;transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.whitespace-nowrap{white-space:nowrap}.\\!text-current{color:currentColor !important}.overflow-hidden{overflow:hidden}.after\\:\\!border-transparent::after{border-color:var(--transparent) !important}.hover\\:after\\:\\!border-transparent:hover::after{border-color:var(--transparent) !important}.after\\:opacity-0::after{opacity:0}.hover\\:after\\:opacity-100:hover::after{opacity:1}.px-16{padding-left:1rem;padding-right:1rem}@media (min-width: 750px){.md\\:flex{display:flex}.md\\:hidden{display:none}}";
4049
+ const edsHeaderCss = ".block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.z-10{z-index:10}.text-default{color:var(--black)}.text-inverse{color:var(--white)}.bg-inverse{background-color:var(--white)}.bg-dark{background-color:var(--grey-300)}.bg-strongest{background-color:var(--black)}.mr-auto{margin-right:auto}.w-\\[200px\\]{width:200px}.h-\\[85px\\]{height:85px}.left-1\\/2{left:50%}.top-1\\/2{top:50%}.grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden{display:none}.gap-x-2{-moz-column-gap:0.125rem;column-gap:0.125rem}.gap-x-16{-moz-column-gap:1rem;column-gap:1rem}.after\\:effect-opacity::after{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms;transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.whitespace-nowrap{white-space:nowrap}.\\!text-current{color:currentColor !important}.overflow-hidden{overflow:hidden}.after\\:\\!border-transparent::after{border-color:var(--transparent) !important}.hover\\:after\\:\\!border-transparent:hover::after{border-color:var(--transparent) !important}.after\\:opacity-0::after{opacity:0}.hover\\:after\\:opacity-100:hover::after{opacity:1}.px-16{padding-left:1rem;padding-right:1rem}@media (min-width: 750px){.md\\:flex{display:flex}.md\\:hidden{display:none}}";
4014
4050
  const EdsHeaderStyle0 = edsHeaderCss;
4015
4051
 
4016
4052
  const EdsHeader = class {
@@ -4023,14 +4059,10 @@ const EdsHeader = class {
4023
4059
  this.menuEnabled = false;
4024
4060
  this.isMenuOpen = false;
4025
4061
  this.isUserMenuOpen = false;
4026
- this.isAuthenticated = false;
4027
- }
4028
- onAuthStatusChanged(event) {
4029
- var _a;
4030
- this.isAuthenticated = (_a = event.detail) === null || _a === void 0 ? void 0 : _a.authenticated;
4031
4062
  }
4032
4063
  componentDidLoad() {
4033
- const links = this.hostEl.querySelectorAll('eds-link');
4064
+ var _a, _b;
4065
+ const links = (_b = (_a = this.hostEl.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('eds-link')) !== null && _b !== void 0 ? _b : [];
4034
4066
  links.forEach((link) => this.emitContext(link));
4035
4067
  }
4036
4068
  emitContext(linkElement) {
@@ -4058,7 +4090,7 @@ const EdsHeader = class {
4058
4090
  const classes = variantClasses[this.headerVariant] || variantClasses.default;
4059
4091
  // Logo color variant: default and inverse use 'color', strong uses 'color-white'
4060
4092
  const logoType = this.headerVariant === 'strong' ? 'color-white' : 'color';
4061
- return (h("header", { key: '937c78379bb6f3a97705862b2fa3f0f6ddd76d4c', class: `flex items-center justify-between relative z-10 ${classes}` }, h("div", { key: 'd94837e8414d558f02039501d7b01ab550275ca7', class: "mr-auto w-[200px] h-[85px]" }, h("eds-logo", { key: '02711bc6d80075a215761ce79698555f7b31bffa', type: logoType, href: this.homeUrl })), this.parsedLinks && (h("nav", { key: 'e3f0033cce5a6145a4f457d1c2c7aebb767593f7', class: "absolute left-1/2 top-1/2 grow -translate-x-1/2 -translate-y-1/2 justify-center hidden md:flex" }, h("ul", { key: '85008ed8ceb8eca869d8730b38a8aa37aeb757ff', class: "flex gap-x-2" }, this.parsedLinks.map((link) => (h("eds-link", { label: link.label, "aria-label": link.label, url: link.url, intent: "ghost", size: "large", icon: link.icon, external: link.external, "extra-class": "after:effect-opacity aria-current-page:bg-darker whitespace-nowrap !text-current after:!border-transparent after:opacity-0 hover:after:!border-transparent hover:after:opacity-100" })))))), h("slot", { key: '35eb7af751f3da381fada990118fa0a37ce150b1' }), this.menuEnabled && (h("div", { key: '121bba2b027fc21e8c77054f3de533e40fad6b96', class: "md:hidden flex overflow-hidden px-16" }, h("eds-button", { key: '00774810aabf8fa292ecca2210bcd9542a7cb0c2', "aria-label": "Menu", intent: this.headerVariant === 'default' ? 'ghost' : 'ghostInverse', icon: "menu", size: "small", onClick: () => this.handleToggleMenu() })))));
4093
+ return (h("header", { key: 'cf272ed6242b2effa3027081d72b58025c49d055', role: "banner", class: `flex items-center justify-between relative z-10 ${classes}` }, h("div", { key: '16f81e55c3aa28beabfead914488ce1fd70b408d', class: "mr-auto w-[200px] h-[85px]" }, h("eds-logo", { key: '0961fb91dff26c457833b67ef963d60a9902a916', type: logoType, href: this.homeUrl })), this.parsedLinks && (h("nav", { key: 'a034d1bfc21da2245b3c91a2f91f092476d67f97', role: "navigation", "aria-label": "Primary", class: "absolute left-1/2 top-1/2 grow -translate-x-1/2 -translate-y-1/2 justify-center hidden md:flex" }, h("ul", { key: '06ebd9012b829a30f7cdc27f417116a21d2bfc2f', class: "flex gap-x-16" }, this.parsedLinks.map((link) => (h("eds-link", { label: link.label, "aria-label": link.label, url: link.url, intent: "strong", size: "large", icon: link.icon, external: link.external, "extra-class": "after:effect-opacity aria-current-page:bg-darker whitespace-nowrap !text-current after:!border-transparent after:opacity-0 hover:after:!border-transparent hover:after:opacity-100" })))))), h("slot", { key: '68c34af928ee215329d354ca1a5ef7850d1112cf', name: "actions" }), this.menuEnabled && (h("div", { key: 'cb4cd94fbf5ebbd770631066f2f69f8ac50a3f5f', class: "md:hidden flex overflow-hidden px-16" }, h("eds-button", { key: '8f2aa4d59705e9410a0fa8b10c9f348fcfe73db3', "aria-label": "Menu", intent: this.headerVariant === 'default' ? 'ghost' : 'ghostInverse', icon: "menu", size: "small", onClick: () => this.handleToggleMenu() })))));
4062
4094
  }
4063
4095
  get hostEl() { return getElement(this); }
4064
4096
  };
@@ -4140,10 +4172,10 @@ const EdsImg = class {
4140
4172
  imgOpts['loading'] = 'lazy';
4141
4173
  imgOpts['decoding'] = 'async';
4142
4174
  }
4143
- return (h("div", { key: '7d704bdd14072d6ce69632d6f2de3270ff393b87', class: {
4175
+ return (h("div", { key: '1ff909ca6fe3fe40ca5659cea033b404a45580fb', class: {
4144
4176
  'items-center justify-center': true,
4145
4177
  'effect-bg-pattern': this.lazyload && this.showBg
4146
- } }, h("picture", { key: '724f384b7b9f112727d3ab4ecdab5f769e581b26' }, this.formats.map((format) => (h("source", { type: format.type, srcSet: format.srcset, media: format.media, sizes: this.sizes }))), h("img", Object.assign({ key: '8b12b640a9d66fba117676e6bd81659c72a8e15c', ref: (el) => (this.img = el), class: {
4178
+ } }, h("picture", { key: '92c92a5aaebd84d96a7bf8c291542d6a8cf4d896' }, this.formats.map((format) => (h("source", { type: format.type, srcSet: format.srcset, media: format.media, sizes: this.sizes }))), h("img", Object.assign({ key: 'ac8eb664987b1205d5a96c723840ac3ccd779ac1', ref: (el) => (this.img = el), class: {
4147
4179
  'effect-opacity object-cover object-center': true,
4148
4180
  'opacity-100': this.loaded,
4149
4181
  'opacity-0': !this.loaded
@@ -4202,7 +4234,7 @@ const EdsInput = class {
4202
4234
  render() {
4203
4235
  const withIcon = !!this.icon;
4204
4236
  const describedBy = this.hasMessage || this.error ? `${this.name}-error` : '';
4205
- return (h("div", { key: '4c49edfceefe448b6f5bb29284f0b757342a6003', class: "relative flex items-center" }, this.type === 'textarea' ? (h("textarea", { id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.innerVal.toString(), required: this.required, disabled: this.disabled, class: `min-h-80 input input-textarea ${withIcon ? 'input-with-icon' : ''} ${this.error ? 'input-error' : ''} ${this.extraClass}`, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput })) : this.type === 'select' ? (h("select", { id: this.inputId || this.name, name: this.name, required: this.required, disabled: this.disabled, class: `input input-select ${this.error ? 'input-error' : ''} ${this.extraClass}`, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, onInput: this.handleInput, onChange: this.handleInput }, this.options.map((option) => (h("option", { value: option.value, selected: option.value === this.innerVal, key: option.value }, option.label))))) : (h("input", Object.assign({ id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.innerVal.toString(), required: this.required, disabled: this.disabled, type: this.type, checked: ['radio', 'checkbox'].includes(this.type) ? this.checked : undefined }, (this.type === 'number'
4237
+ return (h("div", { key: '1800587d54da282566893c538d47aadf9f9bb390', class: "relative flex items-center" }, this.type === 'textarea' ? (h("textarea", { id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.innerVal.toString(), required: this.required, disabled: this.disabled, class: `min-h-80 input input-textarea ${withIcon ? 'input-with-icon' : ''} ${this.error ? 'input-error' : ''} ${this.extraClass}`, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput })) : this.type === 'select' ? (h("select", { id: this.inputId || this.name, name: this.name, required: this.required, disabled: this.disabled, class: `input input-select ${this.error ? 'input-error' : ''} ${this.extraClass}`, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, onInput: this.handleInput, onChange: this.handleInput }, this.options.map((option) => (h("option", { value: option.value, selected: option.value === this.innerVal, key: option.value }, option.label))))) : (h("input", Object.assign({ id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.innerVal.toString(), required: this.required, disabled: this.disabled, type: this.type, checked: ['radio', 'checkbox'].includes(this.type) ? this.checked : undefined }, (this.type === 'number'
4206
4238
  ? {
4207
4239
  min: this.min,
4208
4240
  max: this.max,
@@ -4213,7 +4245,7 @@ const EdsInput = class {
4213
4245
  input ${this.type === 'radio' ? 'input-radio' : this.type === 'checkbox' ? 'input-checkbox' : ''}
4214
4246
  ${withIcon && this.type !== 'radio' && this.type !== 'checkbox' ? 'input-icon pl-36' : ''}
4215
4247
  ${this.error ? 'input-error' : ''}
4216
- `, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput }))), this.maxLength && this.type === 'textarea' && (h("span", { key: 'df877332c68d4783d5f0f8d8beb94c1859cd00da', class: `input-counter f-ui-05 absolute bottom-8 right-8 ${this.maxLengthReached ? 'input-counter-error' : ''}` }, this.maxLength)), this.icon && (h("eds-icon-wrapper", { key: '94f7d3d75f5c578c10ab72b6140785b0b5988a13', class: `absolute top-1/2 left-[4px] -translate-y-1/2 ${this.disabled ? 'text-lightest' : 'text-lightest'}`, icon: this.icon }))));
4248
+ `, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput }))), this.maxLength && this.type === 'textarea' && (h("span", { key: 'cc6cc50cdebea1d4eaecb78bc6ab2b4b92503893', class: `input-counter f-ui-05 absolute bottom-8 right-8 ${this.maxLengthReached ? 'input-counter-error' : ''}` }, this.maxLength)), this.icon && (h("eds-icon-wrapper", { key: 'ff4b36e873438f7208eb660c77381f87f0805109', class: `absolute top-1/2 left-[4px] -translate-y-1/2 ${this.disabled ? 'text-lightest' : 'text-lightest'}`, icon: this.icon }))));
4217
4249
  }
4218
4250
  get el() { return getElement(this); }
4219
4251
  static get watchers() { return {
@@ -4324,7 +4356,7 @@ const EdsInputField = class {
4324
4356
  }
4325
4357
  render() {
4326
4358
  const inputOpts = Object.assign({ name: this.name, id: this.inputId, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleNativeInput, onChange: this.handleNativeChange, type: this.type, required: this.required, value: this.value, error: this.error, icon: this.icon, checked: this.checked }, (this.type === 'number' ? { min: this.min, max: this.max, step: this.step } : {}));
4327
- return (h("div", { key: '8351609cb76699040d692f3a99746970a1498bea' }, this.type === 'checkbox' || this.type === 'radio' ? (this.parsedOptions.length > 0 ? (h("fieldset", { class: "space-y-4" }, h("div", { class: "flex justify-between mb-4" }, this.label && (h("eds-input-label", { name: this.inputId || this.name, label: this.label, required: this.required })), this.hint && (h("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint))), this.parsedOptions.map((option) => (h("div", { class: "flex items-center gap-x-4 gap-y-4", key: option.value }, h("eds-input", Object.assign({}, inputOpts, { value: option.value, checked: typeof this.value === 'string' && this.value.split(',').includes(String(option.value)) })), h("label", { htmlFor: this.name, class: `input-label-options ${this.disabled ? 'text-lighter' : ''}` }, option.label)))))) : (h("div", { class: "flex items-center gap-x-8" }, h("eds-input", Object.assign({}, inputOpts, { value: this.value, checked: this.value === 'on' || this.checked })), this.label && (h("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required }))))) : (h("div", null, h("div", { class: "flex justify-between mb-4" }, this.label && (h("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required })), this.hint && (h("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint))), this.type === 'select' ? (h("eds-input-select", Object.assign({}, inputOpts, { options: this.parsedOptions }))) : this.type === 'file' ? (h("input", { type: "file", id: this.inputId || this.name, name: this.name, onChange: this.onChangeNative, disabled: this.disabled, required: this.required })) : this.type === 'search' ? (h("eds-input-search", { name: "search-box" })) : this.type === 'range' ? ((() => {
4359
+ return (h("div", { key: 'aca76f43840c0e8344d548610bc832cd75ff7bd9' }, this.type === 'checkbox' || this.type === 'radio' ? (this.parsedOptions.length > 0 ? (h("fieldset", { class: "space-y-4" }, h("div", { class: "flex justify-between mb-4" }, this.label && (h("eds-input-label", { name: this.inputId || this.name, label: this.label, required: this.required })), this.hint && (h("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint))), this.parsedOptions.map((option) => (h("div", { class: "flex items-center gap-x-4 gap-y-4", key: option.value }, h("eds-input", Object.assign({}, inputOpts, { value: option.value, checked: typeof this.value === 'string' && this.value.split(',').includes(String(option.value)) })), h("label", { htmlFor: this.name, class: `input-label-options ${this.disabled ? 'text-lighter' : ''}` }, option.label)))))) : (h("div", { class: "flex items-center gap-x-8" }, h("eds-input", Object.assign({}, inputOpts, { value: this.value, checked: this.value === 'on' || this.checked })), this.label && (h("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required }))))) : (h("div", null, h("div", { class: "flex justify-between mb-4" }, this.label && (h("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required })), this.hint && (h("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint))), this.type === 'select' ? (h("eds-input-select", Object.assign({}, inputOpts, { options: this.parsedOptions }))) : this.type === 'file' ? (h("input", { type: "file", id: this.inputId || this.name, name: this.name, onChange: this.onChangeNative, disabled: this.disabled, required: this.required })) : this.type === 'search' ? (h("eds-input-search", { name: "search-box" })) : this.type === 'range' ? ((() => {
4328
4360
  var _a, _b, _c;
4329
4361
  const rangeProps = {
4330
4362
  name: inputOpts.name,
@@ -4337,7 +4369,7 @@ const EdsInputField = class {
4337
4369
  const opt = this.parsedOptions;
4338
4370
  const numberValue = typeof this.value === 'string' ? parseFloat(this.value) : this.value || 0;
4339
4371
  return (h("eds-input-range", Object.assign({}, rangeProps, { min: (_a = opt[0]) === null || _a === void 0 ? void 0 : _a.value, max: (_b = opt[1]) === null || _b === void 0 ? void 0 : _b.value, step: (_c = opt[2]) === null || _c === void 0 ? void 0 : _c.value, value: numberValue })));
4340
- })()) : (h("eds-input", Object.assign({}, inputOpts))))), h("div", { key: '171ca8dfbf4b30a62a05d00f5296b1aaa3d964bd', class: "mt-6" }, h("eds-input-footer", { key: 'c6b7d0a9dc574a5e0dba1e62ff77934e96b4dec1', id: `${this.name}-footer`, name: this.name, message: this.message, "error-message": this.errorMessage, error: this.error, link: this.link }))));
4372
+ })()) : (h("eds-input", Object.assign({}, inputOpts))))), h("div", { key: '27dc5705b9627fb597b04837b488326371fac2e2', class: "mt-6" }, h("eds-input-footer", { key: '6e73fb80b91de81ee22cb33b7589916b7eb882fe', id: `${this.name}-footer`, name: this.name, message: this.message, "error-message": this.errorMessage, error: this.error, link: this.link }))));
4341
4373
  }
4342
4374
  static get delegatesFocus() { return true; }
4343
4375
  get hostEl() { return getElement(this); }
@@ -4357,7 +4389,7 @@ const EdsInputFooter = class {
4357
4389
  this.link = undefined;
4358
4390
  }
4359
4391
  render() {
4360
- return (h("div", { key: '4c3c1cc26e2b003f49b3cfd1c2388833c305781b' }, this.error && this.errorMessage && (h("div", { key: '7e14e3a77c99ee2700fd0cd8cb1e738c11e34823', id: `error_${this.name}`, class: "text-error flex items-center" }, h("eds-icon-wrapper", { key: '700bc9b58a15e985903fc91abe4e41847d1cf761', icon: "warning" }), h("p", { key: 'a90a0fb49221c15125a54a0413a926174c065319', class: "f-ui-04 ml-4 mb-4", innerHTML: this.errorMessage }))), this.message && h("p", { key: '24d7c4fb5de1bb54237282edf6e51a16f0475474', id: `desc_${this.name}`, class: "f-ui-05 text-lighter", innerHTML: this.message }), this.link && (h("a", { key: '2f01a63b36409dfddd19416777f88008f358b1cb', href: this.link.url, class: "f-ui-05 effect-color hover:text-lighter underline underline-offset-4" }, this.link.label))));
4392
+ return (h("div", { key: '6c045ff40d674a27cf4fe4c1a125251edd7455ab' }, this.error && this.errorMessage && (h("div", { key: 'd6edd41359f7efb8f0a3bce487b852c1b26c035a', id: `error_${this.name}`, class: "text-error flex items-center" }, h("eds-icon-wrapper", { key: 'cd24f34b58c81f00046cc1d90a5b993928e72be8', icon: "warning" }), h("p", { key: 'bf718bcf0e04c5af1924381f567d5921bd43edec', class: "f-ui-04 ml-4 mb-4", innerHTML: this.errorMessage }))), this.message && h("p", { key: '4ea38b231e7b7fba679a05c12773a486aa3201bc', id: `desc_${this.name}`, class: "f-ui-05 text-lighter", innerHTML: this.message }), this.link && (h("eds-link", { key: 'e2e1255c198b707abb2b2194100b83f7b00de9e7', label: this.link.label, url: this.link.url, intent: "underline", size: "small", external: true }))));
4361
4393
  }
4362
4394
  };
4363
4395
  EdsInputFooter.style = EdsInputFooterStyle0;
@@ -4374,7 +4406,7 @@ const EdsInputLabel = class {
4374
4406
  this.disabled = false;
4375
4407
  }
4376
4408
  render() {
4377
- return (h("label", { key: '51cf53579cea9effbf421c4f4ab45ef63f6770bf', htmlFor: this.name, class: `input-label ${this.disabled ? 'text-lighter' : ''}` }, this.label, this.required && (h("span", { key: '381c4e1e014d43f726e997767c76565a1979e54a' }, h("span", { key: '08102ef7990f262bf56b6f5bcf70e2ef6ecb0670', "aria-hidden": "true" }, "*"), h("span", { key: '6d3c6f3af5a06c5a1ee2245240cb3fbbef6cf9a8', class: "sr-only" }, "required")))));
4409
+ return (h("label", { key: '5e97f430a0ef1cdc4d0b28618d78402991fda8fe', htmlFor: this.name, class: `input-label ${this.disabled ? 'text-lighter' : ''}` }, this.label, this.required && (h("span", { key: 'fedf93c4b037f387c4aad3ffab354de94de564d3' }, h("span", { key: '72ae856c25308b676d84d7ee0bf214362218a203', "aria-hidden": "true" }, "*"), h("span", { key: '39fcf9a2b39a0207eb0b6f62c16183885c98f145', class: "sr-only" }, "required")))));
4378
4410
  }
4379
4411
  };
4380
4412
  EdsInputLabel.style = EdsInputLabelStyle0;
@@ -4421,7 +4453,7 @@ const EdsInputRange = class {
4421
4453
  return this.inputElement;
4422
4454
  }
4423
4455
  render() {
4424
- return (h("div", { key: 'c4ce20af554533837b8fc3f7bf69bd649e26b574', class: "relative flex flex-col items-start" }, h("input", { key: '924b247fd81481e648bbf44fec22185284014254', id: this.inputId || this.name, name: this.name, min: this.min, max: this.max, step: this.step, value: this.sliderVal, required: this.required, disabled: this.disabled, type: "range", class: "w-full py-6 input", tabindex: "0", role: "slider", "aria-describedby": `desc_${this.name}`, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": this.sliderVal, onInput: this.onInput, onChange: this.onChange }), h("p", { key: 'a3acfa464938748480e259cac4376a2be3512e6e', id: `desc_${this.name}`, class: "block f-ui-05 mt-4 text-lighter" }, "Current value: ", this.sliderVal)));
4456
+ return (h("div", { key: 'c8106420cb482123e72c8e5b00079d9921749290', class: "relative flex flex-col items-start" }, h("input", { key: '752dfbeb9fb73c8a4b5ad874461b63e73477ca99', id: this.inputId || this.name, name: this.name, min: this.min, max: this.max, step: this.step, value: this.sliderVal, required: this.required, disabled: this.disabled, type: "range", class: "w-full py-6 input", tabindex: "0", role: "slider", "aria-describedby": `desc_${this.name}`, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": this.sliderVal, onInput: this.onInput, onChange: this.onChange }), h("p", { key: 'de123d07b20996d3f0c7c5baff788ab42fa0a386', id: `desc_${this.name}`, class: "block f-ui-05 mt-4 text-lighter" }, "Current value: ", this.sliderVal)));
4425
4457
  }
4426
4458
  get el() { return getElement(this); }
4427
4459
  static get watchers() { return {
@@ -4490,7 +4522,7 @@ const EdsInputSearch = class {
4490
4522
  return this.inputElement;
4491
4523
  }
4492
4524
  render() {
4493
- return (h("div", { key: 'b1232c04e55c9f0bd7b864271ca855a3de242a73', class: "relative flex items-center" }, h("eds-icon-wrapper", { key: '67e51a49b994fc00cb48f2b55f54217097f4d837', icon: "search", class: "absolute top-1/2 left-[4px] -translate-y-1/2 text-lightest", "aria-hidden": "true" }), h("input", { key: 'a6526f68a35145631254e4a0380a1298242c592e', id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.value || '', required: this.required, disabled: this.disabled, type: "search", "aria-label": this.placeholder, class: `input pl-36 ${this.decorate}`,
4525
+ return (h("div", { key: 'f8484e4e4a971db07a75ca91b66d4b3cddd5cee9', class: "relative flex items-center" }, h("eds-icon-wrapper", { key: '68782ac168c062564d6378bc1bc62e58efeb3555', icon: "search", class: "absolute top-1/2 left-[4px] -translate-y-1/2 text-lightest", "aria-hidden": "true" }), h("input", { key: 'c59e9b91f214fc94fc4fb4c991c3e667ea3c24ae', id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.value || '', required: this.required, disabled: this.disabled, type: "search", "aria-label": this.placeholder, class: `input pl-36 ${this.decorate}`,
4494
4526
  //onInput={this.onInput}
4495
4527
  onChange: this.onChange })));
4496
4528
  }
@@ -4519,12 +4551,12 @@ const EdsInputSelect = class {
4519
4551
  const selectId = this.inputId || this.name;
4520
4552
  const placeholderText = this.placeholder || `Pick from the list`;
4521
4553
  const describedBy = this.hasMessage || this.error ? `${this.name}-error` : undefined;
4522
- return (h("div", { key: 'b28b21c38ed5848cf08c0bc626f4ce32eddfb775', class: "relative" }, h("select", { key: '727f578d43cf12568d3d3b35548a30972fc46300', id: selectId, name: this.name, class: {
4554
+ return (h("div", { key: '7f6a81c0f3d1f998c2bd671722cd06992b382540', class: "relative" }, h("select", { key: '3e62519e3973cf1136cda70a3af1cc2a2e093451', id: selectId, name: this.name, class: {
4523
4555
  input: true,
4524
4556
  'input-error': this.error,
4525
4557
  'px-4': true,
4526
4558
  'py-2': true
4527
- }, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, disabled: this.disabled, required: this.required, onChange: this.handleChange }, h("option", { key: '9283f69f3c723d65243d8f38b92ee2fcd16d187e', value: "", disabled: true, hidden: true }, placeholderText), this.options.map((opt, index) => (h("option", { key: index, value: opt.value, selected: opt.value === this.value }, opt.label)))), h("span", { key: '63a0a9fc049f10141697028195aa28abb8d246f2', class: "bg-dark rounded-xs absolute top-1/2 right-[6px] flex h-28 w-28 -translate-y-1/2 items-center justify-center" }, h("eds-icon-wrapper", { key: 'aa756ea1d279a03ca7919518a15cd63b368a20a0', class: "w-20 h-20", icon: "chevron-right" }))));
4559
+ }, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, disabled: this.disabled, required: this.required, onChange: this.handleChange }, h("option", { key: '4292bd21e8c912f3bb0bc727ed2657051a3e03b8', value: "", disabled: true, hidden: true }, placeholderText), this.options.map((opt, index) => (h("option", { key: index, value: opt.value, selected: opt.value === this.value }, opt.label)))), h("span", { key: 'a03c59be80950fd17a89b0adc693654e99496018', class: "bg-dark rounded-xs absolute top-1/2 right-[6px] flex h-28 w-28 -translate-y-1/2 items-center justify-center" }, h("eds-icon-wrapper", { key: '0183976264d130c3c12b30c829fae36512607ac4', class: "w-20 h-20", icon: "chevron-right" }))));
4528
4560
  }
4529
4561
  };
4530
4562
 
@@ -4595,7 +4627,6 @@ const linkStyles = cva([
4595
4627
  false: ''
4596
4628
  },
4597
4629
  size: {
4598
- underline: 'f-body-02 ',
4599
4630
  small: 'min-h-36 f-ui-02 px-12',
4600
4631
  large: 'min-h-44 f-ui-01 px-16'
4601
4632
  }
@@ -4648,6 +4679,16 @@ const linkStyles = cva([
4648
4679
  intent: 'inverse',
4649
4680
  isActive: true,
4650
4681
  class: 'before:!opacity-100'
4682
+ },
4683
+ {
4684
+ intent: 'underline',
4685
+ size: 'small',
4686
+ class: '!px-0 !py-0 !min-h-0 f-ui-02'
4687
+ },
4688
+ {
4689
+ intent: 'underline',
4690
+ size: 'large',
4691
+ class: '!px-0 !py-0 !min-h-0 f-ui-01'
4651
4692
  }
4652
4693
  ],
4653
4694
  defaultVariants: {
@@ -4663,7 +4704,7 @@ const EdsLink = class {
4663
4704
  registerInstance(this, hostRef);
4664
4705
  this.parentContext = null; // Accepts the entire event detail or null
4665
4706
  this.label = undefined;
4666
- this.intent = undefined;
4707
+ this.intent = 'primary';
4667
4708
  this.icon = undefined;
4668
4709
  this.iconPos = 'right';
4669
4710
  this.iconSmall = false;
@@ -4675,7 +4716,6 @@ const EdsLink = class {
4675
4716
  this.ariaLabel = undefined;
4676
4717
  this.disabled = false;
4677
4718
  this.hideLabelOnSmallScreen = false;
4678
- this.extraClass = undefined;
4679
4719
  }
4680
4720
  handleParentContext(event) {
4681
4721
  if (event.target !== this.el) {
@@ -4720,9 +4760,6 @@ const EdsLink = class {
4720
4760
  }
4721
4761
  }
4722
4762
  getLinkSize() {
4723
- if (this.intent === 'underline') {
4724
- return 'underline';
4725
- }
4726
4763
  return this.size;
4727
4764
  }
4728
4765
  renderLeftIcon() {
@@ -4751,12 +4788,13 @@ const EdsLink = class {
4751
4788
  isActive: this.current,
4752
4789
  hasIcon: !!this.icon
4753
4790
  });
4791
+ const safeUrl = typeof this.url === 'string' && this.url.length ? this.url : undefined;
4754
4792
  const isInteractive = !this.disabled;
4755
4793
  const isIconOnly = !this.label || (this.hideLabelOnSmallScreen && this.icon);
4756
4794
  const labelClasses = this.hideLabelOnSmallScreen
4757
4795
  ? 'hidden lg:flex' // Tailwind example: hidden on small screens, visible on larger
4758
4796
  : '';
4759
- return (h("a", { key: 'c09fd68443e1c98a1bfb679b669f9fecfb349548', class: `${classes || ''} ${this.extraClass || ''}`, href: isInteractive ? this.url : undefined, target: this.external && isInteractive ? '_blank' : undefined, rel: this.external && isInteractive ? 'noopener noreferrer' : undefined, tabIndex: isInteractive ? 0 : -1, "aria-label": isIconOnly ? this.ariaLabel || 'Link' : undefined, "aria-disabled": this.disabled ? 'true' : undefined, "aria-current": this.current ? 'page' : undefined, role: this.disabled ? 'link' : undefined, download: this.download ? '' : undefined, onClick: (event) => this.handleClick(event), onKeyDown: (event) => this.handleKeyDown(event) }, h("span", { key: '5bf88be39965ca8693daa611b4ca9a85cefb30d3', class: "z-1 relative inline-flex items-center justify-center" }, this.renderLeftIcon(), this.label && h("span", { key: 'd92b36812200d809cbccfd9da7f2387a7de80699', class: labelClasses }, this.label), this.renderRightIcon())));
4797
+ return (h("a", { key: '2d72b4f56aad829c674edc920d8b8b9f83a6c9c1', class: `${classes || ''}`, href: isInteractive ? safeUrl : undefined, target: this.external && isInteractive ? '_blank' : undefined, rel: this.external && isInteractive ? 'noopener noreferrer' : undefined, tabIndex: isInteractive ? 0 : -1, "aria-label": isIconOnly ? this.ariaLabel || 'Link' : undefined, "aria-disabled": this.disabled ? 'true' : undefined, "aria-current": this.current ? 'page' : undefined, role: this.disabled ? 'link' : undefined, download: this.download ? '' : undefined, onClick: (event) => this.handleClick(event), onKeyDown: (event) => this.handleKeyDown(event) }, h("span", { key: '8a8d9d31456c414d2167db7520978aefd9d955dc', class: "z-1 relative inline-flex items-center justify-center" }, this.renderLeftIcon(), this.label && h("span", { key: 'b26b2f5aafa647912ced4b747c8b1e1c7a508050', class: labelClasses }, this.label), this.renderRightIcon())));
4760
4798
  }
4761
4799
  get el() { return getElement(this); }
4762
4800
  };
@@ -4824,7 +4862,7 @@ const EdsLogo = class {
4824
4862
  }
4825
4863
  render() {
4826
4864
  const logoContent = this.getLogo();
4827
- return (h("a", { key: '550cb4d73702a6a7053adfb5ebe67ff4201e98ad', href: this.href, onClick: () => this.handleClick(), class: "eds-logo-wrapper", "aria-label": this.label }, h("div", { key: '141b0faa05a2d51d3ca97242aa910e53e910ad9d', innerHTML: logoContent })));
4865
+ return (h("a", { key: '341988e61c1b9f946bd4529f5562af8366704868', href: this.href, onClick: () => this.handleClick(), class: "eds-logo-wrapper", "aria-label": this.label }, h("div", { key: '1a1e4516ba223b6132a85889626ca7856ca5a16c', innerHTML: logoContent })));
4828
4866
  }
4829
4867
  get el() { return getElement(this); }
4830
4868
  };
@@ -4956,71 +4994,84 @@ const EdsNps = class {
4956
4994
  this.nps = createEvent(this, "nps", 7);
4957
4995
  this.min = 0;
4958
4996
  this.max = 10;
4997
+ this.btnRefs = [];
4998
+ this.onSelect = (value) => {
4999
+ this.selectedValue = value;
5000
+ this.nps.emit(value);
5001
+ // Move focus to the selected button (like your rating component)
5002
+ requestAnimationFrame(() => {
5003
+ var _a, _b;
5004
+ const idx = value - this.min;
5005
+ (_b = (_a = this.btnRefs[idx]) === null || _a === void 0 ? void 0 : _a.focus) === null || _b === void 0 ? void 0 : _b.call(_a);
5006
+ });
5007
+ };
5008
+ this.handleKeyNav = (e) => {
5009
+ const { key } = e;
5010
+ const navigational = ['ArrowRight', 'ArrowLeft', 'Home', 'End', ' ', 'Enter'];
5011
+ if (!navigational.includes(key)) {
5012
+ return;
5013
+ }
5014
+ e.preventDefault();
5015
+ const count = this.max - this.min + 1;
5016
+ // Derive current index from selectedValue; if none, use 0 (first)
5017
+ let currentIdx = this.selectedValue == null ? 0 : this.selectedValue - this.min;
5018
+ switch (key) {
5019
+ case 'ArrowRight':
5020
+ currentIdx = Math.min(count - 1, currentIdx + 1);
5021
+ this.setActiveByIndex(currentIdx, /*commit*/ false);
5022
+ break;
5023
+ case 'ArrowLeft':
5024
+ currentIdx = Math.max(0, currentIdx - 1);
5025
+ this.setActiveByIndex(currentIdx, /*commit*/ false);
5026
+ break;
5027
+ case 'Home':
5028
+ this.setActiveByIndex(0, /*commit*/ false);
5029
+ break;
5030
+ case 'End':
5031
+ this.setActiveByIndex(count - 1, /*commit*/ false);
5032
+ break;
5033
+ case ' ':
5034
+ case 'Enter':
5035
+ // Commit current focused item
5036
+ this.onSelect(this.min + currentIdx);
5037
+ break;
5038
+ }
5039
+ };
4959
5040
  this.question = undefined;
4960
5041
  this.leftLabel = undefined;
4961
5042
  this.rightLabel = undefined;
4962
5043
  this.selectedValue = null;
4963
5044
  }
4964
- handleClick(value) {
5045
+ /** Move visual highlight & roving tabindex; optionally commit selection */
5046
+ setActiveByIndex(index, commit = false) {
5047
+ var _a;
5048
+ const value = this.min + index;
5049
+ // Update highlight so focus movement is visible (like your rating)
4965
5050
  this.selectedValue = value;
4966
- this.nps.emit(value);
4967
- }
4968
- handleKeyNav(e) {
4969
- const radios = Array.from(this.el.shadowRoot.querySelectorAll('eds-button'));
4970
- const currentIndex = radios.findIndex((r) => r.tabIndex === 0);
4971
- switch (e.key) {
4972
- case 'ArrowRight':
4973
- case 'ArrowLeft': {
4974
- e.preventDefault();
4975
- const delta = e.key === 'ArrowRight' ? 1 : -1;
4976
- const nextIndex = Math.min(this.max, Math.max(0, currentIndex + delta));
4977
- this.activateRadio(radios, nextIndex);
4978
- break;
4979
- }
4980
- case 'Home': {
4981
- e.preventDefault();
4982
- this.activateRadio(radios, 0);
4983
- break;
4984
- }
4985
- case 'End': {
4986
- e.preventDefault();
4987
- this.activateRadio(radios, this.max);
4988
- break;
4989
- }
4990
- case 'Enter':
4991
- case ' ': {
4992
- e.preventDefault();
4993
- if (currentIndex >= 0) {
4994
- this.handleClick(this.min + currentIndex);
4995
- }
4996
- break;
4997
- }
4998
- case 'Escape': {
4999
- e.preventDefault();
5000
- if (currentIndex >= 0) {
5001
- radios[currentIndex].blur();
5002
- }
5003
- break;
5004
- }
5005
- default:
5006
- return;
5051
+ // Focus the button host (ensure eds-button forwards focus to its inner <button>)
5052
+ const target = this.btnRefs[index];
5053
+ typeof (target === null || target === void 0 ? void 0 : target.focusInner) === 'function' ? target.focusInner() : (_a = target === null || target === void 0 ? void 0 : target.focus) === null || _a === void 0 ? void 0 : _a.call(target);
5054
+ if (commit) {
5055
+ this.onSelect(value);
5007
5056
  }
5008
5057
  }
5009
- activateRadio(radios, index) {
5010
- const target = radios[index];
5011
- const value = this.min + index;
5012
- this.handleClick(value);
5013
- target.focus();
5014
- }
5015
5058
  render() {
5016
5059
  const count = this.max - this.min + 1;
5017
- //onst fallback = 0;
5018
- return (h("div", { key: '51e0d272693fd42d1f239f8498d9a5744dead8d7', class: "eds-nps" }, h("eds-input-label", { key: 'f9d3b65985e221f9608da3aba22cc1dc4dd54417', id: "nps-question", name: "nps-question", label: this.question }), h("div", { key: '00b22eff70fd1dd3d210e17aaef5df2057f99bb7', role: "group", id: "nps-buttons", "aria-labelledby": "nps-question", class: "grid grid-cols-11", onKeyDown: (e) => this.handleKeyNav(e) }, Array.from({ length: count }, (_, i) => {
5060
+ return (h("div", { key: 'ca0a63dd6554e39b78fe1c607af0fede74c692c7', class: "eds-nps" }, h("eds-input-label", { key: 'bdf231836d8c6dbd46e852753696c4b7dad577c7', id: "nps-question", name: "nps-question", label: this.question }), h("div", { key: '004ad431ca02e57c7848a4c3fd0a4ecff40b6573', id: "nps-buttons", role: "radiogroup", "aria-labelledby": "nps-question", class: "grid grid-cols-11", onKeyDown: this.handleKeyNav }, Array.from({ length: count }, (_, i) => {
5019
5061
  const val = this.min + i;
5020
5062
  const isSelected = val === this.selectedValue;
5021
- const tabIndex = isSelected ? 0 : -1;
5022
- 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) })));
5023
- })), h("div", { key: '7289bd6476a2080be3c02011240e2493b84079e5', class: "flex justify-between mt-8" }, h("span", { key: 'ebfcebd9aa3d11cf298e44987debd8edef1f6e40', class: "f-ui-04 text-light ml-4" }, this.leftLabel), h("span", { key: '002f9878b267439af9f83f9ffd1b52eaef46b929', class: "f-ui-04 text-light mr-4" }, this.rightLabel))));
5063
+ // Roving tabindex: focusable is the selected; if none selected yet, first is focusable
5064
+ const tabIndex = isSelected || (this.selectedValue == null && i === 0) ? 0 : -1;
5065
+ return (h("div", { class: "grid-col-span-1", key: val }, h("eds-button", { ref: (el) => (this.btnRefs[i] = el), role: "radio", "aria-checked": isSelected ? 'true' : 'false', "aria-label": `${val}`,
5066
+ // Use onClick so keyboard activation on inner <button> works natively
5067
+ onClick: () => this.onSelect(val), tabIndex: tabIndex, intent: isSelected ? 'primary' : 'ghost', "extra-class": "!block !px-0 w-full", label: `${val}`,
5068
+ // Optional: keep highlight in sync when tabbing into the group
5069
+ onFocus: () => {
5070
+ // Only move highlight on initial focus or when roving; remove if you
5071
+ // want focus without highlight.
5072
+ this.selectedValue = val;
5073
+ } })));
5074
+ })), h("div", { key: 'ffd498e00559a76b44e8d98ed060db86e60fbde7', class: "flex justify-between mt-8" }, h("span", { key: '80065344c34d88ce3f01aac28d2b87ded60ec524', class: "f-ui-04 text-light ml-4" }, this.leftLabel), h("span", { key: '2a67b416e4e7b0bf61aa66cb4546192860bd372f', class: "f-ui-04 text-light mr-4" }, this.rightLabel))));
5024
5075
  }
5025
5076
  get el() { return getElement(this); }
5026
5077
  };
@@ -5267,7 +5318,7 @@ const EdsPagination = class {
5267
5318
  }
5268
5319
  render() {
5269
5320
  const navigableIndex = -1; // Track index for keyboard navigation
5270
- return (h("div", { key: 'bf34cb68555555ef984592b261929cfb5ef93048' }, this.total > 0 && this.mode === 'default' && (h("p", { key: '47b8034e6fd839151cdaff04d4df43fec520ce40', class: "f-ui-03 text-light mb-28 w-full text-center", "aria-live": "polite", id: "pagination-info" }, h("span", { key: 'd9d340393777b7b6e808fa21d38f691f1002b363', 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) => {
5321
+ return (h("div", { key: '3ca147814cf1e0003bac73502a0ae2bf96412ce2' }, this.total > 0 && this.mode === 'default' && (h("p", { key: '85e3fe3224888a4fc9029e91c53c5a753506af55', class: "f-ui-03 text-light mb-28 w-full text-center", "aria-live": "polite", id: "pagination-info" }, h("span", { key: '9edeecb5ae0a1c74dcbf11829a4079cdbbfd46e4', 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) => {
5271
5322
  if (this.mode === 'default' && !this.isFirstPage()) {
5272
5323
  this.handlePageClick(event, (this.currentPage || 1) - 1);
5273
5324
  }
@@ -5360,7 +5411,7 @@ const EdsRating = class {
5360
5411
  this.onSelect(next);
5361
5412
  }
5362
5413
  render() {
5363
- return (h("div", { key: '764b3b37545e97f028423fd5760b882e6151f767', id: "rating-buttons", role: "group", "aria-labelledby": "rating", class: "stars flex space-x-1 my-8", onKeyDown: (e) => this.handleKeyNav(e) }, Array.from({ length: this.ratingCount }, (_, index) => {
5414
+ return (h("div", { key: '52cc87859b174e2eb89392c083031ffde587fb7d', id: "rating-buttons", role: "group", "aria-labelledby": "rating", class: "stars flex space-x-1 my-8", onKeyDown: (e) => this.handleKeyNav(e) }, Array.from({ length: this.ratingCount }, (_, index) => {
5364
5415
  const starRating = index + 1;
5365
5416
  const isSelected = starRating <= this.selectedRating;
5366
5417
  // Use the mapping text if available; otherwise, fall back to a generic label.
@@ -5373,6 +5424,170 @@ const EdsRating = class {
5373
5424
  };
5374
5425
  EdsRating.style = EdsRatingStyle0;
5375
5426
 
5427
+ const edsSidebarCss = ":host{display:block;width:100%;height:100%;overflow-y:auto;overflow-x:hidden;transition:width 0.3s ease}:host(.collapsed){width:4rem}:host::-webkit-scrollbar{width:8px}:host::-webkit-scrollbar-track{background:transparent}:host::-webkit-scrollbar-thumb{background:rgba(0, 0, 0, 0.2);border-radius:4px}:host::-webkit-scrollbar-thumb:hover{background:rgba(0, 0, 0, 0.3)}.sidebar-nav{padding:0.5rem 0}.sidebar-header{display:flex;justify-content:flex-end;padding:0.5rem 0.75rem;margin-bottom:0.5rem}:host(.collapsed) .sidebar-header{justify-content:center;padding:0.5rem}.collapse-toggle{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:none;border:none;cursor:pointer;padding:0;border-radius:0.375rem;transition:background-color 0.15s ease;color:inherit}.collapse-toggle:hover{background-color:rgba(0, 0, 0, 0.08)}.collapse-toggle:focus-visible{outline:2px solid var(--eds-focus-color, #0066cc);outline-offset:2px}.sidebar-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.125rem}.sidebar-item{display:flex;flex-direction:column}.sidebar-item-content{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 0.75rem;cursor:pointer;user-select:none;word-break:break-word;transition:background-color 0.15s ease;border-radius:0.375rem;margin:0 0.5rem;position:relative}:host(.collapsed) .sidebar-item-content{justify-content:center;padding:0.75rem;margin:0 0.5rem}.sidebar-item-content:hover{background-color:rgba(0, 0, 0, 0.04)}.sidebar-item-content:focus-visible{outline:2px solid var(--eds-focus-color, #0066cc);outline-offset:-2px;z-index:1}.sidebar-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25rem;height:1.25rem}.sidebar-content-wrapper{display:flex;align-items:center;gap:0.5rem;flex:1;min-width:0}.sidebar-toggle{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25rem;height:1.25rem;padding:0;margin:-0.125rem 0;pointer-events:none}.sidebar-link-wrapper{flex:1;min-width:0;pointer-events:none}.sidebar-link{font-weight:400;pointer-events:none}.sidebar-children{list-style:none;margin:0.25rem 0 0 0;padding:0;display:flex;flex-direction:column;gap:0.125rem;overflow:hidden;animation:slideDown 0.2s ease}@keyframes slideDown{from{opacity:0;transform:translateY(-0.25rem)}to{opacity:1;transform:translateY(0)}}.sidebar-item.level-0 .sidebar-item-content{padding-left:0.75rem}:host(.collapsed) .sidebar-item.level-0 .sidebar-item-content{padding-left:0.75rem}.sidebar-item.level-1 .sidebar-item-content{padding-left:2rem}.sidebar-item.level-2 .sidebar-item-content{padding-left:3.25rem}.sidebar-item.level-3 .sidebar-item-content{padding-left:4.5rem}.sidebar-item.level-4 .sidebar-item-content{padding-left:5.75rem}.sidebar-item.level-5 .sidebar-item-content{padding-left:7rem}:host(.theme-default) .sidebar-item-content{border-radius:0.375rem;margin:0 0.5rem;padding:0.5rem 0.75rem}:host(.theme-default.collapsed) .sidebar-item-content{margin:0 0.5rem;border-radius:0.375rem}:host(.theme-default) .sidebar-item-content:hover{background-color:rgba(0, 0, 0, 0.04)}:host(.theme-default) .sidebar-item.active>.sidebar-item-content{background-color:transparent}:host(.theme-default) .sidebar-item.active>.sidebar-item-content .sidebar-link{font-weight:600}:host(.theme-default) .sidebar-item.level-0 .sidebar-item-content{padding-left:0.75rem}:host(.theme-default) .sidebar-item.level-1 .sidebar-item-content{padding-left:2rem}:host(.theme-default) .sidebar-item.level-2 .sidebar-item-content{padding-left:3.25rem}:host(.theme-default) .sidebar-item.level-3 .sidebar-item-content{padding-left:4.5rem}:host(.theme-default) .sidebar-item.level-4 .sidebar-item-content{padding-left:5.75rem}:host(.theme-minimal) .sidebar-item-content{border-radius:0;margin:0;padding-left:1rem;padding-right:1rem}:host(.theme-minimal.collapsed) .sidebar-item-content{margin:0 0.25rem;border-radius:0.375rem}:host(.theme-minimal) .sidebar-item-content:hover{background-color:var(--grey-300)}:host(.theme-minimal) .sidebar-item.active>.sidebar-item-content{background-color:var(--grey-400);border-left:3px solid var(--grey-900);padding-left:calc(1rem - 3px)}:host(.theme-minimal.collapsed) .sidebar-item.active>.sidebar-item-content{border-left:none;border-radius:0.375rem;padding-left:0.75rem}:host(.theme-minimal) .sidebar-item.level-1.active>.sidebar-item-content{padding-left:calc(2rem - 3px)}:host(.theme-minimal) .sidebar-item.level-2.active>.sidebar-item-content{padding-left:calc(3.25rem - 3px)}:host(.theme-minimal) .sidebar-item.level-3.active>.sidebar-item-content{padding-left:calc(4.5rem - 3px)}:host(.theme-minimal) .sidebar-item.level-4.active>.sidebar-item-content{padding-left:calc(5.75rem - 3px)}:host(.theme-minimal) .sidebar-item.level-0 .sidebar-item-content{padding-left:1rem}:host(.theme-minimal) .sidebar-item.level-1 .sidebar-item-content{padding-left:2rem}:host(.theme-minimal) .sidebar-item.level-2 .sidebar-item-content{padding-left:3.25rem}:host(.theme-minimal) .sidebar-item.level-3 .sidebar-item-content{padding-left:4.5rem}:host(.theme-minimal) .sidebar-item.level-4 .sidebar-item-content{padding-left:5.75rem}:host(.theme-minimal) .sidebar-children{position:relative}:host(.theme-ebrains) .sidebar-item-content{padding:0.5rem 1rem;border-radius:0.5rem;margin:0 0.5rem}:host(.theme-ebrains.collapsed) .sidebar-item-content{padding:0.75rem}:host(.theme-ebrains) .sidebar-item-content:hover{background-color:rgba(0, 0, 0, 0.05)}:host(.theme-ebrains) .sidebar-item.active>.sidebar-item-content{background-color:var(--green-600, #22c55e);color:white}:host(.theme-ebrains) .sidebar-item.active>.sidebar-item-content .sidebar-link{--eds-link-color:white;--eds-link-hover-color:white}:host(.theme-ebrains) .sidebar-item.active>.sidebar-item-content .sidebar-toggle{color:white}:host(.theme-ebrains) .sidebar-item.active>.sidebar-item-content .sidebar-icon{color:white}:host(.theme-ebrains) .sidebar-item.level-0 .sidebar-item-content{padding-left:1rem}:host(.theme-ebrains) .sidebar-item.level-1 .sidebar-item-content{padding-left:2.25rem}:host(.theme-ebrains) .sidebar-item.level-2 .sidebar-item-content{padding-left:3.5rem}:host(.theme-ebrains) .sidebar-item.level-3 .sidebar-item-content{padding-left:4.75rem}:host(.theme-ebrains) .sidebar-item.level-4 .sidebar-item-content{padding-left:6rem}@media (prefers-color-scheme: dark){.collapse-toggle:hover{background-color:rgba(255, 255, 255, 0.08)}:host(.theme-default) .sidebar-item-content:hover{background-color:rgba(255, 255, 255, 0.05)}:host(.theme-default) .sidebar-item.active>.sidebar-item-content{background-color:rgba(0, 102, 204, 0.15)}:host(.theme-minimal) .sidebar-item-content:hover{background-color:rgba(255, 255, 255, 0.06)}:host::-webkit-scrollbar-thumb{background:rgba(255, 255, 255, 0.2)}:host::-webkit-scrollbar-thumb:hover{background:rgba(255, 255, 255, 0.3)}}.sidebar-toggle eds-icon-wrapper,.sidebar-icon eds-icon-wrapper,.collapse-toggle eds-icon-wrapper{transition:transform 0.15s ease;display:flex;align-items:center;justify-content:center}.sidebar-item-content:focus-visible .sidebar-link{text-decoration:underline}.sidebar-item.active>.sidebar-item-content .sidebar-link{font-weight:500}:host(.collapsed) .sidebar-item-content::after{content:attr(title);position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:0.5rem;padding:0.5rem 0.75rem;background:rgba(0, 0, 0, 0.9);color:white;border-radius:0.375rem;white-space:nowrap;font-size:0.875rem;opacity:0;pointer-events:none;transition:opacity 0.2s ease;z-index:1000}:host(.collapsed) .sidebar-item-content:hover::after{opacity:1;transition-delay:0.3s}.-ml-4{margin-left:-0.25rem}.mt-2{margin-top:0.125rem}";
5428
+ const EdsSidebarStyle0 = edsSidebarCss;
5429
+
5430
+ const EdsSidebar = class {
5431
+ constructor(hostRef) {
5432
+ registerInstance(this, hostRef);
5433
+ this.sidebar = createEvent(this, "sidebar", 7);
5434
+ this.toggleItem = (itemId, ev) => {
5435
+ if (ev) {
5436
+ ev.stopPropagation();
5437
+ }
5438
+ const newOpen = new Set(this.openItems);
5439
+ if (newOpen.has(itemId)) {
5440
+ newOpen.delete(itemId);
5441
+ }
5442
+ else {
5443
+ newOpen.add(itemId);
5444
+ }
5445
+ this.openItems = newOpen;
5446
+ };
5447
+ this.navigate = (url, ev) => {
5448
+ if (!this.enableRouting || !url) {
5449
+ return;
5450
+ }
5451
+ if (ev) {
5452
+ ev.preventDefault();
5453
+ ev.stopPropagation();
5454
+ }
5455
+ // Emit custom event for routing
5456
+ this.sidebar.emit(url);
5457
+ // Update browser history if available
5458
+ if (typeof window !== 'undefined' && window.history) {
5459
+ window.history.pushState({}, '', url);
5460
+ }
5461
+ };
5462
+ this.handleItemClick = (item, ev) => {
5463
+ var _a;
5464
+ // If item has children, ONLY toggle (don't navigate)
5465
+ if ((_a = item.children) === null || _a === void 0 ? void 0 : _a.length) {
5466
+ this.toggleItem(item.id, ev);
5467
+ return;
5468
+ }
5469
+ // Only navigate if no children and has URL
5470
+ if (item.url) {
5471
+ this.navigate(item.url, ev);
5472
+ }
5473
+ };
5474
+ this.items = '[]';
5475
+ this.theme = 'default';
5476
+ this.activeUrl = '';
5477
+ this.enableRouting = true;
5478
+ this.maxLevel = 4;
5479
+ this.openItems = new Set();
5480
+ this.parsedItems = [];
5481
+ }
5482
+ // ---------------------------------------------------------------------------
5483
+ // Lifecycle
5484
+ // ---------------------------------------------------------------------------
5485
+ componentWillLoad() {
5486
+ this.parsedItems = this.parseItems(this.items);
5487
+ this.initializeOpenItems(this.parsedItems);
5488
+ }
5489
+ // ---------------------------------------------------------------------------
5490
+ // Watchers
5491
+ // ---------------------------------------------------------------------------
5492
+ handleItemsChange(newItems) {
5493
+ this.parsedItems = this.parseItems(newItems);
5494
+ this.initializeOpenItems(this.parsedItems);
5495
+ }
5496
+ handleActiveUrlChange() {
5497
+ this.initializeOpenItems(this.parsedItems);
5498
+ }
5499
+ // ---------------------------------------------------------------------------
5500
+ // Utils
5501
+ // ---------------------------------------------------------------------------
5502
+ parseItems(items) {
5503
+ if (Array.isArray(items)) {
5504
+ return items;
5505
+ }
5506
+ if (typeof items === 'string') {
5507
+ if (!items || items.trim() === '') {
5508
+ return [];
5509
+ }
5510
+ try {
5511
+ const parsed = JSON.parse(items);
5512
+ return Array.isArray(parsed) ? parsed : [];
5513
+ }
5514
+ catch (e) {
5515
+ console.error('eds-sidebar: Failed to parse items JSON:', e);
5516
+ console.error('Received string:', items);
5517
+ return [];
5518
+ }
5519
+ }
5520
+ return [];
5521
+ }
5522
+ initializeOpenItems(items, level = 0) {
5523
+ if (level === 0) {
5524
+ // reset before recomputing
5525
+ this.openItems = new Set();
5526
+ }
5527
+ if (level >= this.maxLevel) {
5528
+ return;
5529
+ }
5530
+ items.forEach((item) => {
5531
+ var _a;
5532
+ const isActive = this.activeUrl && item.url === this.activeUrl;
5533
+ const hasActiveChild = this.hasActiveDescendant(item);
5534
+ if (item.open || isActive || hasActiveChild) {
5535
+ this.openItems.add(item.id);
5536
+ }
5537
+ if ((_a = item.children) === null || _a === void 0 ? void 0 : _a.length) {
5538
+ this.initializeOpenItems(item.children, level + 1);
5539
+ }
5540
+ });
5541
+ }
5542
+ hasActiveDescendant(item) {
5543
+ var _a;
5544
+ if (item.url === this.activeUrl) {
5545
+ return true;
5546
+ }
5547
+ if (!((_a = item.children) === null || _a === void 0 ? void 0 : _a.length)) {
5548
+ return false;
5549
+ }
5550
+ return item.children.some((child) => this.hasActiveDescendant(child));
5551
+ }
5552
+ // ---------------------------------------------------------------------------
5553
+ // Render
5554
+ // ---------------------------------------------------------------------------
5555
+ renderItem(item, level = 0) {
5556
+ if (level >= this.maxLevel) {
5557
+ return null;
5558
+ }
5559
+ const isOpen = this.openItems.has(item.id);
5560
+ const isActive = !!item.url && this.activeUrl === item.url;
5561
+ const hasChildren = !!(item.children && item.children.length);
5562
+ const itemId = `eds-sidebar-${item.id}`;
5563
+ const childrenId = `${itemId}-children`;
5564
+ return (h("li", { class: {
5565
+ 'sidebar-item': true,
5566
+ open: isOpen,
5567
+ active: isActive,
5568
+ 'has-children': hasChildren,
5569
+ [`level-${level}`]: true
5570
+ } }, h("div", { class: "sidebar-item-content", onClick: (e) => this.handleItemClick(item, e), role: hasChildren ? 'button' : item.url ? 'link' : 'button', tabindex: "0", "aria-current": isActive ? 'page' : undefined, "aria-expanded": hasChildren ? (isOpen ? 'true' : 'false') : undefined, "aria-controls": hasChildren ? childrenId : undefined, onKeyDown: (e) => {
5571
+ if (e.key === 'Enter' || e.key === ' ') {
5572
+ e.preventDefault();
5573
+ this.handleItemClick(item, e);
5574
+ }
5575
+ } }, hasChildren && (h("span", { class: "sidebar-toggle mt-2 -ml-4", "aria-hidden": "true" }, h("eds-icon-wrapper", { icon: isOpen ? 'chevron-down' : 'chevron-right' }))), h("span", { class: "sidebar-link-wrapper" }, h("eds-link", { label: item.title, url: item.url || '#', intent: isActive ? 'strong' : 'weak', size: "small", "aria-label": item.title, "extra-class": "sidebar-link", tabindex: "-1" }))), hasChildren && isOpen && (h("ul", { id: childrenId, class: "sidebar-children" }, item.children.map((child) => this.renderItem(child, level + 1))))));
5576
+ }
5577
+ render() {
5578
+ return (h(Host, { key: '4334d20e5d72671243633253910ab05b4da013da', class: {
5579
+ 'eds-sidebar': true,
5580
+ [`theme-${this.theme}`]: true
5581
+ } }, h("nav", { key: '319f6f42416d4229f1b011bf1216b39c8627302d', class: "sidebar-nav", "aria-label": "Sidebar" }, h("ul", { key: '687ceae3eca3e844e8f6a361db4a76d127d27813', class: "sidebar-list" }, this.parsedItems.map((item) => this.renderItem(item, 0))))));
5582
+ }
5583
+ get el() { return getElement(this); }
5584
+ static get watchers() { return {
5585
+ "items": ["handleItemsChange"],
5586
+ "activeUrl": ["handleActiveUrlChange"]
5587
+ }; }
5588
+ };
5589
+ EdsSidebar.style = EdsSidebarStyle0;
5590
+
5376
5591
  const edsSpinnerCss = ":host{display:block}.spinner{box-sizing:border-box;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.f-body-01{font-family:var(--f-body-01-fontFamily);font-weight:var(--f-body-01-fontWeight);font-size:var(--f-body-01-fontSize);line-height:var(--f-body-01-lineHeight);letter-spacing:var(--f-body-01-letterSpacing)}";
5377
5592
  const EdsSpinnerStyle0 = edsSpinnerCss;
5378
5593
 
@@ -5449,12 +5664,12 @@ const EdsSpinner = class {
5449
5664
  alignItems: 'center',
5450
5665
  justifyContent: 'center'
5451
5666
  };
5452
- return (h(Host, { key: 'dbf06a1430e3a69314ec016937a9b3ba89229353' }, h("div", { key: '12a51b0eed154fd2c6b6ae4ce586630a8f61164a', class: "spinner-overlay", style: overlayStyle }, h("span", { key: '0e63b80c45efec7b226b5f4277fe00e4f7bc4f1b', class: "spinner", style: spinnerStyle }), this.message && h("p", { key: '8625d4589ec26c9513d1dc7a53fa17b9874fcf3c', class: "f-body-01" }, this.message))));
5667
+ return (h(Host, { key: 'c50ca410eb23855b3076babb78b4849246722cf7' }, h("div", { key: '9b3722b00777a0dd77288c4c3b29419a9b87640b', class: "spinner-overlay", style: overlayStyle }, h("span", { key: '5479d0195b6d8991613df8ae03eee34b2a095b6b', class: "spinner", style: spinnerStyle }), this.message && h("p", { key: '448c3b0e6ce0aac6c21b53c58b97e423a1739864', class: "f-body-01" }, this.message))));
5453
5668
  }
5454
5669
  };
5455
5670
  EdsSpinner.style = EdsSpinnerStyle0;
5456
5671
 
5457
- const edsStepsCss = ".steps{position:sticky;margin-left:16px;margin-bottom:12px;border-left:1px solid var(--soft-color, #ddd);padding-left:23px;counter-reset:step}.steps h3{counter-increment:step;font-size:var(--f-heading-05-fontSize);font-weight:var(--f-heading-05-fontWeight);line-height:var(--f-heading-05-lineHeight);position:relative}.steps h3::before{content:counter(step);position:absolute;left:-40px;top:-2px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:1rem;border:1px solid #ccc;background:var(--grey-900);color:#fff;border-radius:50%}.steps h4,.steps h5{counter-increment:step;font-size:var(--f-heading-06-fontSize);font-weight:var(--f-heading-06-fontWeight);line-height:var(--f-heading-06-lineHeight);position:relative}.steps h4::before,.steps h5::before{content:counter(step);position:absolute;left:-40px;top:-2px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;font-size:0.875rem;border:1px solid #ccc;background:#333;color:#fff;border-radius:50%}.steps blockquote{margin-top:16px;margin-bottom:16px;font-style:italic;color:#aaa;padding-left:6px}.f-body-02{font-family:var(--f-body-02-fontFamily);font-weight:var(--f-body-02-fontWeight);font-size:var(--f-body-02-fontSize);line-height:var(--f-body-02-lineHeight);letter-spacing:var(--f-body-02-letterSpacing)}.text-light{color:var(--grey-700)}.text-lighter{color:var(--grey-600)}.my-16{margin-top:1rem;margin-bottom:1rem}.mt-16{margin-top:1rem}.mb-28{margin-bottom:1.75rem}.ml-8{margin-left:0.5rem}.gap-y-16{row-gap:1rem}.gap-x-16{-moz-column-gap:1rem;column-gap:1rem}.flex{display:flex}.grid{display:grid}.hidden{display:none}.block{display:block}.cursor-pointer{cursor:pointer}.eds-steps__title{cursor:pointer}";
5672
+ const edsStepsCss = "blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}.steps{position:sticky;margin-left:16px;border-left:1px solid var(--soft-color, #ddd);padding-left:23px;counter-reset:step}.steps h3{counter-increment:step;font-size:var(--f-heading-05-fontSize);font-weight:var(--f-heading-05-fontWeight);line-height:var(--f-heading-05-lineHeight);position:relative}.steps h3::before{content:counter(step);position:absolute;left:-40px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:1rem;border:1px solid #ccc;background:var(--grey-900);color:#fff;border-radius:50%}.steps h4,.steps h5{counter-increment:step;font-size:var(--f-heading-06-fontSize);font-weight:var(--f-heading-06-fontWeight);line-height:var(--f-heading-06-lineHeight);position:relative}.steps h4::before,.steps h5::before{content:counter(step);position:absolute;left:-39px;top:-2px;display:flex;align-items:center;justify-content:center;width:31px;height:31px;font-size:0.875rem;border:1px solid #ccc;background:#333;color:#fff;border-radius:50%}.steps blockquote{margin-top:16px;margin-bottom:16px;font-style:italic;color:#aaa;padding-left:6px}.steps-img-placeholder{width:100%;height:200px;background:linear-gradient(to bottom, #9CE142, #00C959, #00A595);}.bg-\\[\\#00A595\\]{--tw-bg-opacity:1;background-color:rgb(0 165 149 / var(--tw-bg-opacity))}.relative{position:relative}.f-heading-04{font-family:var(--f-heading-04-fontFamily);font-weight:var(--f-heading-04-fontWeight);font-size:var(--f-heading-04-fontSize);line-height:var(--f-heading-04-lineHeight);letter-spacing:var(--f-heading-04-letterSpacing)}.f-body-02{font-family:var(--f-body-02-fontFamily);font-weight:var(--f-body-02-fontWeight);font-size:var(--f-body-02-fontSize);line-height:var(--f-body-02-lineHeight);letter-spacing:var(--f-body-02-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-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)}.text-center{text-align:center}.text-default{color:var(--black)}.text-inverse{color:var(--white)}.text-light{color:var(--grey-700)}.text-lighter{color:var(--grey-600)}.w-full{width:100%}.h-52{height:3.25rem}.h-96{height:6rem}.h-\\[200px\\]{height:200px}.justify-between{justify-content:space-between}.mt-16{margin-top:1rem}.mt-32{margin-top:2rem}.mt-64{margin-top:4rem}.my-16{margin-top:1rem;margin-bottom:1rem}.mb-12{margin-bottom:0.75rem}.mb-16{margin-bottom:1rem}.last\\:mb-0:last-child{margin-bottom:0rem}.last\\:mt-16:last-child{margin-top:1rem}.border-softer{border:2px solid rgba(0, 0, 0, .1)}.relative{position:relative}.flex{display:flex}.inline-flex{display:inline-flex}.grow{flex-grow:1}.rounded{border-radius:0.25rem}.rounded-lg{border-radius:16px}.rounded-t-lg{border-top-left-radius:16px;border-top-right-radius:16px}.border-2{border-width:2px}.p-8{padding:0.5rem}.p-24{padding:1.5rem}.bg-default{background-color:var(--grey-200)}.bg-inverse{background-color:var(--white)}.top-2{top:0.125rem}.bottom-2{bottom:0.125rem}.left-2{left:0.125rem}.right-2{right:0.125rem}.-translate-x-1\\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.overflow-hidden{overflow:hidden}.space-y-8{--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.space-y-16{--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.ml-8{margin-left:0.5rem}.gap-y-16{row-gap:1rem}.gap-x-16{-moz-column-gap:1rem;column-gap:1rem}.flex{display:flex}.grid{display:grid}.hidden{display:none}.block{display:block}.items-center{align-items:center}.px-8{padding-left:0.5rem;padding-right:0.5rem}.pb-20{padding-bottom:1.25rem}.eds-steps__title[role=\"button\"]{cursor:pointer}.eds-steps__title.is-disabled{cursor:not-allowed;color:rgba(0, 0, 0, 0.5);}.eds-steps__title.is-disabled::before{opacity:1;filter:none}.steps--horizontal{display:flex;flex-direction:column;gap:2rem}.horizontal-indicators{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0}.horizontal-step{display:flex;flex-direction:column;align-items:center;gap:0.5rem;cursor:pointer;flex:1;position:relative}.horizontal-step:not(:last-child)::after{content:'';position:absolute;top:1.25rem;left:50%;width:100%;height:2px;background-color:#e0e0e0;z-index:-1}.horizontal-step.is-completed:not(:last-child)::after{background-color:var(--green-500);}.step-indicator{width:2.5rem;height:2.5rem;border-radius:50%;border:2px solid #e0e0e0;display:flex;align-items:center;justify-content:center;background-color:white;transition:all 0.3s ease}.horizontal-step.is-active .step-indicator{border-color:var(--green-500);background-color:var(--green-500);color:var(--white)}.horizontal-step.is-completed .step-indicator{border-color:var(--green-500);background-color:var(--white)}.horizontal-step.is-disabled{opacity:0.5;cursor:not-allowed}.step-number{font-weight:600;font-size:0.875rem}.step-label{font-size:0.875rem;text-align:center;font-weight:500}.horizontal-step.is-active .step-label{color:var(--green-500)}.step-content{padding:2rem 0;margin-left:calc((100% / var(--step-count, 1)) * 0.45 - 1.25rem);margin-right:calc((100% / var(--step-count, 1)) * 0.45 - 1.25rem)}.opacity-50{opacity:0.5}.eds-steps__title[role=\"button\"]{cursor:pointer}";
5458
5673
  const EdsStepsStyle0 = edsStepsCss;
5459
5674
 
5460
5675
  const EdsSteps = class {
@@ -5465,47 +5680,63 @@ const EdsSteps = class {
5465
5680
  this.next = createEvent(this, "next", 7);
5466
5681
  this.back = createEvent(this, "back", 7);
5467
5682
  this.handleTitleClick = (index) => {
5468
- // 1) If clicking the current title, keep your existing toggle behavior
5469
- if (index === this.activeStep) {
5470
- this.activeStep = this.activeStep === index ? -1 : index;
5683
+ // In linear mode, do NOT collapse; only navigate if allowed.
5684
+ if (this.type === 'linear') {
5685
+ // prevent jumping forward over disabled steps
5686
+ if (index > this.activeStep) {
5687
+ for (let i = this.activeStep; i < index; i++) {
5688
+ if (this.isStepDisabled(i)) {
5689
+ return;
5690
+ }
5691
+ }
5692
+ }
5693
+ this.activeStep = index;
5471
5694
  this.step.emit(this.activeStep);
5472
5695
  return;
5473
5696
  }
5474
- // 2) In linear mode, block jumping *forward* when current step is gated
5475
- const forwardBlocked = this.type === 'linear' && index > this.activeStep && this.isNextDisabledFor(this.activeStep);
5476
- if (forwardBlocked) {
5697
+ // Non-linear vertical mode: support optional collapse/expand on current title
5698
+ if (this.orientation === 'vertical' && index === this.activeStep && this.collapsibleTitles) {
5699
+ this.activeStep = this.activeStep === index ? -1 : index;
5700
+ this.step.emit(this.activeStep);
5477
5701
  return;
5478
- } // do nothing when Next/Finish would be disabled
5479
- // 3) Allow jumping back or forward when not gated
5702
+ }
5703
+ // Otherwise, just set
5480
5704
  this.activeStep = index;
5481
5705
  this.step.emit(this.activeStep);
5482
5706
  };
5483
5707
  this.handleNext = () => {
5484
5708
  const lastIndex = this.parsedSteps.length - 1;
5709
+ // On last step
5485
5710
  if (this.activeStep >= lastIndex) {
5486
- this.activeStep = -1;
5487
5711
  this.finished.emit();
5712
+ this.activeStep = -1; // collapse the content
5713
+ this.step.emit(this.activeStep); // notify change (-1 sentinel)
5488
5714
  return;
5489
5715
  }
5490
5716
  const target = this.activeStep + 1;
5491
5717
  this.next.emit(target);
5492
- if (this.isNextDisabledFor(this.activeStep)) {
5718
+ if (this.isStepDisabled(this.activeStep)) {
5493
5719
  return;
5494
- } // block advance only if current is disabled
5720
+ }
5495
5721
  this.activeStep = target;
5496
5722
  this.step.emit(this.activeStep);
5497
- // 2) if using the boolean form, clear it when moving away from a step
5498
5723
  if (!Array.isArray(this.disableNext)) {
5499
5724
  this.disableNext = false;
5500
5725
  }
5501
5726
  };
5502
5727
  this.handleBack = () => {
5728
+ const lastIndex = this.parsedSteps.length - 1;
5729
+ // If somehow collapsed, recover to last visible step first
5730
+ if (this.activeStep < 0) {
5731
+ this.activeStep = lastIndex;
5732
+ this.step.emit(this.activeStep);
5733
+ return;
5734
+ }
5503
5735
  if (this.activeStep > 0) {
5504
5736
  const target = this.activeStep - 1;
5505
5737
  this.back.emit(target);
5506
5738
  this.activeStep = target;
5507
5739
  this.step.emit(this.activeStep);
5508
- // also clear boolean form on back
5509
5740
  if (!Array.isArray(this.disableNext)) {
5510
5741
  this.disableNext = false;
5511
5742
  }
@@ -5513,51 +5744,91 @@ const EdsSteps = class {
5513
5744
  };
5514
5745
  this.steps = [];
5515
5746
  this.type = 'static';
5747
+ this.orientation = 'vertical';
5516
5748
  this.nextLabel = 'Next';
5517
5749
  this.backLabel = 'Back';
5518
5750
  this.finishLabel = 'Finish';
5519
5751
  this.disableNext = false;
5520
5752
  this.headingLevel = 'h4';
5753
+ this.collapsibleTitles = false;
5521
5754
  this.activeStep = 0;
5522
5755
  }
5756
+ handleDisableNextChange(newValue) {
5757
+ if (typeof newValue === 'string' && newValue.trim().startsWith('[')) {
5758
+ try {
5759
+ this.disableNext = JSON.parse(newValue);
5760
+ }
5761
+ catch (e) {
5762
+ console.error('Failed to parse disable-next array:', e);
5763
+ }
5764
+ }
5765
+ }
5766
+ componentWillLoad() {
5767
+ this.handleDisableNextChange(this.disableNext);
5768
+ }
5523
5769
  componentDidLoad() {
5524
- var _a;
5525
5770
  if (this.type === 'linear') {
5526
- const btns = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('eds-button');
5771
+ const root = this.el.shadowRoot || this.el;
5772
+ const btns = root.querySelectorAll('eds-button');
5527
5773
  btns === null || btns === void 0 ? void 0 : btns.forEach((btn) => this.emitContext(btn));
5528
5774
  }
5529
5775
  }
5530
5776
  activeStepChanged(newValue) {
5777
+ // Clamp to valid range or collapsed sentinel
5778
+ const max = Math.max(0, this.parsedSteps.length - 1);
5779
+ if (newValue > max) {
5780
+ this.activeStep = max;
5781
+ return;
5782
+ }
5783
+ if (newValue < -1) {
5784
+ this.activeStep = -1;
5785
+ return;
5786
+ }
5787
+ // If collapsed (only possible in non-linear mode), do not emit context
5788
+ if (newValue < 0) {
5789
+ return;
5790
+ }
5531
5791
  setTimeout(() => {
5532
- var _a;
5533
- const activeStepContainer = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.step')[newValue];
5534
- if (activeStepContainer) {
5535
- activeStepContainer.querySelectorAll('eds-button').forEach((btn) => this.emitContext(btn));
5536
- }
5792
+ const root = this.el.shadowRoot || this.el;
5793
+ const all = root.querySelectorAll('.step');
5794
+ const active = all && newValue < all.length ? all[newValue] : undefined;
5795
+ active === null || active === void 0 ? void 0 : active.querySelectorAll('eds-button').forEach((btn) => this.emitContext(btn));
5537
5796
  }, 50);
5538
5797
  }
5539
5798
  emitContext(linkElement) {
5540
5799
  const event = new CustomEvent('parentContext', {
5541
- detail: {
5542
- componentName: this.el.tagName.toLowerCase(),
5543
- identifier: this.activeStep
5544
- }
5800
+ detail: { componentName: this.el.tagName.toLowerCase(), identifier: this.activeStep },
5801
+ bubbles: true,
5802
+ composed: true
5545
5803
  });
5546
5804
  linkElement.dispatchEvent(event);
5547
5805
  }
5548
5806
  get parsedSteps() {
5549
5807
  return parseData(this.steps);
5550
5808
  }
5809
+ isStepDisabled(index) {
5810
+ if (Array.isArray(this.disableNext)) {
5811
+ return index < this.disableNext.length ? !!this.disableNext[index] : false;
5812
+ }
5813
+ return index === this.activeStep && !!this.disableNext;
5814
+ }
5551
5815
  isNextDisabledFor(index) {
5552
- return Array.isArray(this.disableNext)
5553
- ? !!this.disableNext[index] // per-step
5554
- : index === this.activeStep && !!this.disableNext; // only active step
5816
+ return this.isStepDisabled(index);
5555
5817
  }
5556
5818
  /** Render the semantic heading element as a clickable control only in linear mode */
5557
5819
  renderHeading(title, index) {
5558
5820
  const Tag = this.headingLevel;
5821
+ const isOpen = this.activeStep === index;
5559
5822
  if (this.type === 'linear') {
5560
- const forwardBlocked = index > this.activeStep && this.isNextDisabledFor(this.activeStep);
5823
+ let forwardBlocked = false;
5824
+ if (index > this.activeStep) {
5825
+ for (let i = this.activeStep; i < index; i++) {
5826
+ if (this.isStepDisabled(i)) {
5827
+ forwardBlocked = true;
5828
+ break;
5829
+ }
5830
+ }
5831
+ }
5561
5832
  const onKey = (e) => {
5562
5833
  if (forwardBlocked) {
5563
5834
  return;
@@ -5567,30 +5838,67 @@ const EdsSteps = class {
5567
5838
  this.handleTitleClick(index);
5568
5839
  }
5569
5840
  };
5570
- const isOpen = this.activeStep === index;
5571
5841
  return (h(Tag, { class: `eds-steps__title ${forwardBlocked ? 'is-disabled' : ''}`, role: "button", tabindex: forwardBlocked ? -1 : 0, "aria-disabled": forwardBlocked ? 'true' : 'false', "aria-expanded": isOpen, "aria-controls": `eds-step-panel-${index}`, onClick: () => !forwardBlocked && this.handleTitleClick(index), onKeyDown: onKey }, title));
5572
5842
  }
5573
- return h(Tag, { class: "eds-steps__title" }, title);
5843
+ return (h(Tag, { class: `eds-steps__title ${this.collapsibleTitles && index !== this.activeStep ? '' : ''}`, onClick: () => this.handleTitleClick(index) }, title));
5844
+ }
5845
+ /** Render horizontal step indicator */
5846
+ renderHorizontalIndicator(step, index) {
5847
+ const isActive = this.activeStep === index;
5848
+ const isCompleted = this.activeStep > index;
5849
+ let forwardBlocked = false;
5850
+ if (index > this.activeStep) {
5851
+ for (let i = this.activeStep; i < index; i++) {
5852
+ if (this.isStepDisabled(i)) {
5853
+ forwardBlocked = true;
5854
+ break;
5855
+ }
5856
+ }
5857
+ }
5858
+ const onKey = (e) => {
5859
+ if (forwardBlocked) {
5860
+ return;
5861
+ }
5862
+ if (e.key === 'Enter' || e.key === ' ') {
5863
+ e.preventDefault();
5864
+ this.handleTitleClick(index);
5865
+ }
5866
+ };
5867
+ return (h("div", { class: `horizontal-step ${isActive ? 'is-active' : ''} ${isCompleted ? 'is-completed' : ''}`, onClick: () => !forwardBlocked && this.handleTitleClick(index), onKeyDown: onKey, role: "button", tabindex: forwardBlocked ? -1 : 0, "aria-label": `Step ${index + 1}: ${step.title}`, "aria-current": isActive ? 'step' : undefined, "aria-disabled": forwardBlocked ? 'true' : 'false' }, h("div", { class: "step-indicator" }, h("span", { class: "step-number" }, index + 1)), h("span", { class: `text-center text-default f-ui-03 ${forwardBlocked ? 'opacity-50' : ''}` }, step.title)));
5574
5868
  }
5575
5869
  render() {
5576
5870
  const steps = this.parsedSteps;
5871
+ // Horizontal Linear
5872
+ if (this.type === 'linear' && this.orientation === 'horizontal') {
5873
+ return (h("div", { class: "steps--horizontal", style: { '--step-count': steps.length.toString() } }, h("div", { class: "horizontal-indicators" }, steps.map((step, index) => this.renderHorizontalIndicator(step, index))), steps.map((step, index) => {
5874
+ const isLast = index === steps.length - 1;
5875
+ if (this.activeStep !== index) {
5876
+ return null;
5877
+ }
5878
+ const marginClass = this.orientation === 'horizontal' ? 'mt-64' : 'mt-32';
5879
+ return (h("div", { class: "step-content", key: index, id: `eds-step-panel-${index}` }, h("slot", { name: `step-${index}` }, h("div", { class: "f-body-02 text-lighter", innerHTML: step.content })), h("div", { class: `flex items-center justify-between ${marginClass}` }, h("eds-button", { label: this.backLabel, intent: "ghost", icon: "chevron-left", iconPos: "left", iconSmall: true, onClick: this.handleBack, disabled: index === 0, class: index === 0 ? 'hidden' : 'block', size: "small" }), h("eds-button", { label: isLast ? this.finishLabel : this.nextLabel, intent: "primary", icon: "chevron-right", iconSmall: true, onClick: this.handleNext, disabled: this.isNextDisabledFor(index), size: "small", class: index > 0 ? 'ml-8' : null })), h("slot", { name: `actions-${index}` })));
5880
+ })));
5881
+ }
5882
+ // Vertical Linear
5577
5883
  if (this.type === 'linear') {
5578
5884
  return (h("div", { class: "steps" }, steps.map((step, index) => {
5579
5885
  const isLast = index === steps.length - 1;
5580
- return (h("div", { class: "step mb-28", key: index }, this.renderHeading(step.title, index), this.activeStep === index && (h("div", { class: "content grid gap-y-16", id: `eds-step-panel-${index}` }, h("slot", { name: `step-${index}` }, h("div", { class: isLast ? 'f-body-02 text-lighter' : 'f-body-02 text-lighter', innerHTML: step.content })), h("div", { class: "flex items-center mt-16" }, h("eds-button", { label: this.backLabel, intent: "ghost", icon: "chevron-left", iconPos: "left", iconSmall: true, onClick: this.handleBack, disabled: index === 0, class: index === 0 ? 'hidden' : 'block', size: "small" }), h("eds-button", { label: isLast ? this.finishLabel : this.nextLabel, intent: "primary", icon: "chevron-right", iconSmall: true, onClick: this.handleNext, disabled: this.isNextDisabledFor(index), size: "small", class: "ml-8" })), h("slot", { name: `actions-${index}` })))));
5886
+ const marginClass = this.orientation === 'horizontal' ? 'mt-64' : 'mt-32';
5887
+ return (h("div", { class: "step mb-16", key: index }, this.renderHeading(step.title, index), this.activeStep === index && (h("div", { class: "content grid gap-y-16", id: `eds-step-panel-${index}` }, h("slot", { name: `step-${index}` }, h("div", { class: "my-16 f-body-02 text-lighter", innerHTML: step.content })), h("div", { class: `flex items-center justify-between ${marginClass}` }, h("eds-button", { label: this.backLabel, intent: "ghost", icon: "chevron-left", iconPos: "left", iconSmall: true, onClick: this.handleBack, disabled: index === 0, class: index === 0 ? 'hidden' : 'block', size: "small" }), h("eds-button", { label: isLast ? this.finishLabel : this.nextLabel, intent: "primary", icon: "chevron-right", iconSmall: true, onClick: this.handleNext, disabled: this.isNextDisabledFor(index), size: "small", class: index > 0 ? 'ml-8' : null })), h("slot", { name: `actions-${index}` })))));
5581
5888
  })));
5582
5889
  }
5583
- // Static: no navigation buttons
5584
- return (h("div", { class: "steps" }, steps.map((step, index) => (h("div", { class: "step mb-28", key: index }, this.renderHeading(step.title, index), h("div", { class: "content", id: `eds-step-panel-${index}` }, h("slot", { name: `step-${index}` }, h("div", { class: index === steps.length - 1 ? 'f-body-02 text-lighter mt-16' : 'f-body-02 text-lighter my-16', innerHTML: step.content }))))))));
5890
+ // Static
5891
+ return (h("div", { class: "steps" }, steps.map((step, index) => (h("div", { class: "step mb-16", key: index }, this.renderHeading(step.title, index), h("div", { class: "content", id: `eds-step-panel-${index}` }, h("slot", { name: `step-${index}` }, h("div", { class: "f-body-02 text-lighter my-16", innerHTML: step.content }))))))));
5585
5892
  }
5586
5893
  get el() { return getElement(this); }
5587
5894
  static get watchers() { return {
5895
+ "disableNext": ["handleDisableNextChange"],
5588
5896
  "activeStep": ["activeStepChanged"]
5589
5897
  }; }
5590
5898
  };
5591
5899
  EdsSteps.style = EdsStepsStyle0;
5592
5900
 
5593
- const edsStepsV2Css = ".steps{position:sticky;margin-left:16px;border-left:1px solid var(--soft-color, #ddd);padding-left:23px;counter-reset:step}.steps h3{counter-increment:step;font-size:var(--f-heading-05-fontSize);font-weight:var(--f-heading-05-fontWeight);line-height:var(--f-heading-05-lineHeight);position:relative}.steps h3::before{content:counter(step);position:absolute;left:-40px;top:-2px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:1rem;border:1px solid #ccc;background:var(--grey-900);color:#fff;border-radius:50%}.steps h4,.steps h5{counter-increment:step;font-size:var(--f-heading-06-fontSize);font-weight:var(--f-heading-06-fontWeight);line-height:var(--f-heading-06-lineHeight);position:relative}.steps h4::before,.steps h5::before{content:counter(step);position:absolute;left:-40px;top:-2px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;font-size:0.875rem;border:1px solid #ccc;background:#333;color:#fff;border-radius:50%}.steps blockquote{margin-top:16px;margin-bottom:16px;font-style:italic;color:#aaa;padding-left:6px}.steps-img-placeholder{width:100%;height:200px;background:linear-gradient(to bottom, #9CE142, #00C959, #00A595);}.bg-\\[\\#00A595\\]{--tw-bg-opacity:1;background-color:rgb(0 165 149 / var(--tw-bg-opacity))}.relative{position:relative}.f-heading-04{font-family:var(--f-heading-04-fontFamily);font-weight:var(--f-heading-04-fontWeight);font-size:var(--f-heading-04-fontSize);line-height:var(--f-heading-04-lineHeight);letter-spacing:var(--f-heading-04-letterSpacing)}.f-body-02{font-family:var(--f-body-02-fontFamily);font-weight:var(--f-body-02-fontWeight);font-size:var(--f-body-02-fontSize);line-height:var(--f-body-02-lineHeight);letter-spacing:var(--f-body-02-letterSpacing)}.text-inverse{color:var(--white)}.text-light{color:var(--grey-700)}.text-lighter{color:var(--grey-600)}.w-full{width:100%}.h-52{height:3.25rem}.h-96{height:6rem}.h-\\[200px\\]{height:200px}.mt-16{margin-top:1rem}.my-16{margin-top:1rem;margin-bottom:1rem}.mb-12{margin-bottom:0.75rem}.last\\:mb-0:last-child{margin-bottom:0rem}.last\\:mt-16:last-child{margin-top:1rem}.border-softer{border:2px solid rgba(0, 0, 0, .1)}.relative{position:relative}.flex{display:flex}.inline-flex{display:inline-flex}.grow{flex-grow:1}.rounded{border-radius:0.25rem}.rounded-lg{border-radius:16px}.rounded-t-lg{border-top-left-radius:16px;border-top-right-radius:16px}.border-2{border-width:2px}.p-8{padding:0.5rem}.p-24{padding:1.5rem}.bg-default{background-color:var(--grey-200)}.bg-inverse{background-color:var(--white)}.top-2{top:0.125rem}.bottom-2{bottom:0.125rem}.left-2{left:0.125rem}.right-2{right:0.125rem}.-translate-x-1\\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.overflow-hidden{overflow:hidden}.space-y-8{--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.space-y-16{--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.ml-8{margin-left:0.5rem}.gap-y-16{row-gap:1rem}.gap-x-16{-moz-column-gap:1rem;column-gap:1rem}.flex{display:flex}.grid{display:grid}.hidden{display:none}.block{display:block}.px-8{padding-left:0.5rem;padding-right:0.5rem}.pb-20{padding-bottom:1.25rem}.eds-steps__title{cursor:pointer}";
5901
+ const edsStepsV2Css = "blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}.steps{position:sticky;margin-left:16px;border-left:1px solid var(--soft-color, #ddd);padding-left:23px;counter-reset:step}.steps h3{counter-increment:step;font-size:var(--f-heading-05-fontSize);font-weight:var(--f-heading-05-fontWeight);line-height:var(--f-heading-05-lineHeight);position:relative}.steps h3::before{content:counter(step);position:absolute;left:-41px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:1rem;border:1px solid #ccc;background:var(--grey-900);color:#fff;border-radius:50%}.steps h4,.steps h5{counter-increment:step;font-size:var(--f-heading-06-fontSize);font-weight:var(--f-heading-06-fontWeight);line-height:var(--f-heading-06-lineHeight);position:relative}.steps h4::before,.steps h5::before{content:counter(step);position:absolute;left:-40px;top:-2px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;font-size:0.875rem;border:1px solid #ccc;background:#333;color:#fff;border-radius:50%}.steps blockquote{margin-top:16px;margin-bottom:16px;font-style:italic;color:#aaa;padding-left:6px}.steps-img-placeholder{width:100%;height:200px;background:linear-gradient(to bottom, #9CE142, #00C959, #00A595);}.bg-\\[\\#00A595\\]{--tw-bg-opacity:1;background-color:rgb(0 165 149 / var(--tw-bg-opacity))}.relative{position:relative}.f-heading-04{font-family:var(--f-heading-04-fontFamily);font-weight:var(--f-heading-04-fontWeight);font-size:var(--f-heading-04-fontSize);line-height:var(--f-heading-04-lineHeight);letter-spacing:var(--f-heading-04-letterSpacing)}.f-body-02{font-family:var(--f-body-02-fontFamily);font-weight:var(--f-body-02-fontWeight);font-size:var(--f-body-02-fontSize);line-height:var(--f-body-02-lineHeight);letter-spacing:var(--f-body-02-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-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)}.text-center{text-align:center}.text-default{color:var(--black)}.text-inverse{color:var(--white)}.text-light{color:var(--grey-700)}.text-lighter{color:var(--grey-600)}.w-full{width:100%}.h-52{height:3.25rem}.h-96{height:6rem}.h-\\[200px\\]{height:200px}.justify-between{justify-content:space-between}.mt-16{margin-top:1rem}.mt-32{margin-top:2rem}.mt-64{margin-top:4rem}.my-16{margin-top:1rem;margin-bottom:1rem}.mb-12{margin-bottom:0.75rem}.last\\:mb-0:last-child{margin-bottom:0rem}.last\\:mt-16:last-child{margin-top:1rem}.border-softer{border:2px solid rgba(0, 0, 0, .1)}.relative{position:relative}.flex{display:flex}.inline-flex{display:inline-flex}.grow{flex-grow:1}.rounded{border-radius:0.25rem}.rounded-lg{border-radius:16px}.rounded-t-lg{border-top-left-radius:16px;border-top-right-radius:16px}.border-2{border-width:2px}.p-8{padding:0.5rem}.p-24{padding:1.5rem}.bg-default{background-color:var(--grey-200)}.bg-inverse{background-color:var(--white)}.top-2{top:0.125rem}.bottom-2{bottom:0.125rem}.left-2{left:0.125rem}.right-2{right:0.125rem}.-translate-x-1\\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.overflow-hidden{overflow:hidden}.space-y-8{--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.space-y-16{--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.ml-8{margin-left:0.5rem}.gap-y-16{row-gap:1rem}.gap-x-16{-moz-column-gap:1rem;column-gap:1rem}.flex{display:flex}.grid{display:grid}.hidden{display:none}.block{display:block}.items-center{align-items:center}.px-8{padding-left:0.5rem;padding-right:0.5rem}.pb-20{padding-bottom:1.25rem}.eds-steps__title[role=\"button\"]{cursor:pointer}.eds-steps__title.is-disabled{cursor:not-allowed;color:rgba(0, 0, 0, 0.5);}.eds-steps__title.is-disabled::before{opacity:1;filter:none}.steps--horizontal{display:flex;flex-direction:column;gap:2rem}.horizontal-indicators{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0}.horizontal-step{display:flex;flex-direction:column;align-items:center;gap:0.5rem;cursor:pointer;flex:1;position:relative}.horizontal-step:not(:last-child)::after{content:'';position:absolute;top:1.25rem;left:50%;width:100%;height:2px;background-color:#e0e0e0;z-index:-1}.horizontal-step.is-completed:not(:last-child)::after{background-color:var(--green-500);}.step-indicator{width:2.5rem;height:2.5rem;border-radius:50%;border:2px solid #e0e0e0;display:flex;align-items:center;justify-content:center;background-color:white;transition:all 0.3s ease;z-index:2}.horizontal-step.is-active .step-indicator{border-color:var(--green-500);background-color:var(--green-500);color:var(--white)}.horizontal-step.is-completed .step-indicator{border-color:var(--green-500);background-color:var(--white)}.horizontal-step.is-disabled{opacity:0.5;cursor:not-allowed}.step-number{font-weight:600;font-size:0.875rem}.step-label{font-size:0.875rem;text-align:center;font-weight:500}.horizontal-step.is-active .step-label{color:var(--green-500)}.step-content{padding:2rem 0;margin-left:calc((100% / var(--step-count, 1)) * 0.45 - 1.25rem);margin-right:calc((100% / var(--step-count, 1)) * 0.45 - 1.25rem)}.opacity-50{opacity:0.5}";
5594
5902
  const EdsStepsV2Style0 = edsStepsV2Css;
5595
5903
 
5596
5904
  const EdsStepsV2 = class {
@@ -5601,48 +5909,74 @@ const EdsStepsV2 = class {
5601
5909
  this.next = createEvent(this, "next", 7);
5602
5910
  this.back = createEvent(this, "back", 7);
5603
5911
  this.handleTitleClick = (index) => {
5604
- // If clicking the same title, keep your existing toggle behavior
5605
- if (index === this.activeStep) {
5606
- this.activeStep = this.activeStep === index ? -1 : index;
5912
+ // In linear mode, do NOT collapse; only navigate if allowed.
5913
+ if (this.type === 'linear') {
5914
+ if (index > this.activeStep) {
5915
+ // Prevent jumping forward over disabled steps
5916
+ for (let i = this.activeStep; i < index; i++) {
5917
+ if (this.isStepDisabled(i)) {
5918
+ return;
5919
+ }
5920
+ }
5921
+ }
5922
+ this.activeStep = index;
5607
5923
  this.step.emit(this.activeStep);
5608
5924
  return;
5609
5925
  }
5610
- // Block *forward* jumps when progression is gated by disableNext (boolean)
5611
- const forwardBlocked = this.type === 'linear' && index > this.activeStep && this.isNextDisabledForCurrent();
5612
- if (forwardBlocked) {
5926
+ // Non-linear vertical mode can toggle collapse of the current title
5927
+ if (this.orientation === 'vertical' && index === this.activeStep) {
5928
+ this.activeStep = this.activeStep === index ? -1 : index;
5929
+ this.step.emit(this.activeStep);
5613
5930
  return;
5614
5931
  }
5615
- // Allow back (or forward when not gated)
5932
+ // Otherwise just set
5616
5933
  this.activeStep = index;
5617
5934
  this.step.emit(this.activeStep);
5618
5935
  };
5619
5936
  this.handleNext = () => {
5620
5937
  const lastIndex = this.parsedSteps.length - 1;
5938
+ // On last step: do NOT collapse; keep content visible, just emit finished
5621
5939
  if (this.activeStep >= lastIndex) {
5622
5940
  this.finished.emit();
5623
- this.activeStep = -1; // collapse last step
5941
+ this.activeStep = -1; // collapse the content
5942
+ this.step.emit(this.activeStep); // notify change (-1 sentinel)
5624
5943
  return;
5625
5944
  }
5626
5945
  const target = this.activeStep + 1;
5627
5946
  this.next.emit(target);
5628
- if (!this.disableNext) {
5629
- this.activeStep = target;
5630
- this.step.emit(this.activeStep);
5947
+ if (this.isStepDisabled(this.activeStep)) {
5948
+ return;
5949
+ }
5950
+ this.activeStep = target;
5951
+ this.step.emit(this.activeStep);
5952
+ // clear boolean form when moving away from a step
5953
+ if (!Array.isArray(this.disableNext)) {
5954
+ this.disableNext = false;
5631
5955
  }
5632
5956
  };
5633
5957
  this.handleBack = () => {
5958
+ const lastIndex = this.parsedSteps.length - 1;
5959
+ // Recover from collapsed sentinel if it ever occurs
5960
+ if (this.activeStep < 0) {
5961
+ this.activeStep = lastIndex;
5962
+ this.step.emit(this.activeStep);
5963
+ return;
5964
+ }
5634
5965
  if (this.activeStep > 0) {
5635
5966
  const target = this.activeStep - 1;
5636
5967
  this.back.emit(target);
5637
5968
  this.activeStep = target;
5638
5969
  this.step.emit(this.activeStep);
5970
+ if (!Array.isArray(this.disableNext)) {
5971
+ this.disableNext = false;
5972
+ }
5639
5973
  }
5640
5974
  };
5641
5975
  this.steps = [];
5642
5976
  this.type = 'static';
5977
+ this.orientation = 'vertical';
5643
5978
  this.imageSrc = undefined;
5644
5979
  this.imageWidth = undefined;
5645
- this.bg = true;
5646
5980
  this.message = undefined;
5647
5981
  this.nextLabel = 'Next';
5648
5982
  this.backLabel = 'Back';
@@ -5651,57 +5985,87 @@ const EdsStepsV2 = class {
5651
5985
  this.headingLevel = 'h4';
5652
5986
  this.activeStep = 0;
5653
5987
  }
5654
- componentDidLoad() {
5655
- var _a;
5656
- if (this.type === 'linear') {
5657
- const btns = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('eds-button');
5658
- btns === null || btns === void 0 ? void 0 : btns.forEach((btn) => {
5659
- this.emitContext(btn);
5660
- });
5988
+ handleDisableNextChange(newValue) {
5989
+ if (typeof newValue === 'string' && newValue.trim().startsWith('[')) {
5990
+ try {
5991
+ this.disableNext = JSON.parse(newValue);
5992
+ }
5993
+ catch (e) {
5994
+ console.error('Failed to parse disable-next array:', e);
5995
+ }
5661
5996
  }
5662
5997
  }
5663
5998
  activeStepChanged(newValue) {
5999
+ // Clamp and ignore collapsed sentinel
6000
+ const max = Math.max(0, this.parsedSteps.length - 1);
6001
+ if (newValue > max) {
6002
+ this.activeStep = max;
6003
+ return;
6004
+ }
6005
+ if (newValue < -1) {
6006
+ this.activeStep = -1;
6007
+ return;
6008
+ }
6009
+ if (newValue < 0) {
6010
+ return;
6011
+ } // ignore collapsed state if ever set elsewhere
6012
+ // Emit parentContext to buttons inside the newly active step
5664
6013
  setTimeout(() => {
5665
- var _a;
5666
- const activeStepContainer = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.step')[newValue];
5667
- if (activeStepContainer) {
5668
- const btns = activeStepContainer.querySelectorAll('eds-button');
5669
- btns.forEach((btn) => {
5670
- this.emitContext(btn);
5671
- });
5672
- }
6014
+ const host = this.el.shadowRoot || this.el;
6015
+ const activeStepContainer = host.querySelectorAll('.step')[newValue];
6016
+ activeStepContainer === null || activeStepContainer === void 0 ? void 0 : activeStepContainer.querySelectorAll('eds-button').forEach((btn) => this.emitContext(btn));
5673
6017
  }, 50);
5674
6018
  }
6019
+ componentWillLoad() {
6020
+ this.handleDisableNextChange(this.disableNext);
6021
+ }
6022
+ componentDidLoad() {
6023
+ if (this.type === 'linear') {
6024
+ const host = this.el.shadowRoot || this.el;
6025
+ const btns = host.querySelectorAll('eds-button');
6026
+ btns === null || btns === void 0 ? void 0 : btns.forEach((btn) => this.emitContext(btn));
6027
+ }
6028
+ }
5675
6029
  emitContext(linkElement) {
5676
6030
  const event = new CustomEvent('parentContext', {
5677
6031
  detail: {
5678
6032
  componentName: this.el.tagName.toLowerCase(),
5679
6033
  identifier: this.activeStep
5680
- }
6034
+ },
6035
+ bubbles: true,
6036
+ composed: true
5681
6037
  });
5682
6038
  linkElement.dispatchEvent(event);
5683
6039
  }
5684
6040
  articleClasses() {
5685
- return [
5686
- this.bg ? 'bg-inverse' : 'bg-default',
5687
- 'border-softer effect-focus-within relative rounded-lg border-2'
5688
- ].join(' ');
6041
+ return ['border-softer effect-focus-within relative rounded-lg border-2'].join(' ');
5689
6042
  }
5690
- /**
5691
- * Parses the steps property into an array of Step objects.
5692
- */
5693
6043
  get parsedSteps() {
5694
6044
  return parseData(this.steps);
5695
6045
  }
5696
- isNextDisabledForCurrent() {
5697
- return !!this.disableNext;
6046
+ isStepDisabled(index) {
6047
+ if (Array.isArray(this.disableNext)) {
6048
+ return index < this.disableNext.length ? !!this.disableNext[index] : false;
6049
+ }
6050
+ return index === this.activeStep && !!this.disableNext;
6051
+ }
6052
+ isNextDisabledFor(index) {
6053
+ return this.isStepDisabled(index);
5698
6054
  }
5699
- /** Render the semantic heading element */
5700
6055
  renderHeading(title, index) {
5701
6056
  const Tag = this.headingLevel;
5702
6057
  if (this.type === 'linear') {
5703
6058
  const isOpen = this.activeStep === index;
5704
- const forwardBlocked = index > this.activeStep && this.isNextDisabledForCurrent();
6059
+ // Check if jumping to this step crosses a disabled step
6060
+ let forwardBlocked = false;
6061
+ if (index > this.activeStep) {
6062
+ for (let i = this.activeStep; i < index; i++) {
6063
+ if (this.isStepDisabled(i)) {
6064
+ forwardBlocked = true;
6065
+ break;
6066
+ }
6067
+ }
6068
+ }
5705
6069
  const onKey = (e) => {
5706
6070
  if (forwardBlocked) {
5707
6071
  return;
@@ -5713,16 +6077,46 @@ const EdsStepsV2 = class {
5713
6077
  };
5714
6078
  return (h(Tag, { class: `eds-steps__title ${forwardBlocked ? 'is-disabled' : ''}`, role: "button", tabindex: forwardBlocked ? -1 : 0, "aria-disabled": forwardBlocked ? 'true' : 'false', "aria-expanded": isOpen, "aria-controls": `eds-step-panel-${index}`, onClick: () => !forwardBlocked && this.handleTitleClick(index), onKeyDown: onKey }, title));
5715
6079
  }
5716
- return h(Tag, { class: "eds-steps__title" }, title);
6080
+ return (h(Tag, { class: "eds-steps__title", onClick: () => this.handleTitleClick(index) }, title));
6081
+ }
6082
+ /** Render horizontal indicator item */
6083
+ renderHorizontalIndicator(step, index) {
6084
+ const isActive = this.activeStep === index;
6085
+ const isCompleted = this.activeStep > index;
6086
+ let forwardBlocked = false;
6087
+ if (index > this.activeStep) {
6088
+ for (let i = this.activeStep; i < index; i++) {
6089
+ if (this.isStepDisabled(i)) {
6090
+ forwardBlocked = true;
6091
+ break;
6092
+ }
6093
+ }
6094
+ }
6095
+ const onKey = (e) => {
6096
+ if (forwardBlocked) {
6097
+ return;
6098
+ }
6099
+ if (e.key === 'Enter' || e.key === ' ') {
6100
+ e.preventDefault();
6101
+ this.handleTitleClick(index);
6102
+ }
6103
+ };
6104
+ return (h("div", { class: `horizontal-step ${isActive ? 'is-active' : ''} ${isCompleted ? 'is-completed' : ''}`, onClick: () => !forwardBlocked && this.handleTitleClick(index), onKeyDown: onKey, role: "button", tabindex: forwardBlocked ? -1 : 0, "aria-label": `Step ${index + 1}: ${step.title}`, "aria-current": isActive ? 'step' : undefined, "aria-disabled": forwardBlocked ? 'true' : 'false' }, h("div", { class: "step-indicator" }, h("span", { class: "step-number" }, index + 1)), h("span", { class: `text-center text-default f-ui-03 ${forwardBlocked ? 'opacity-50' : ''}` }, step.title)));
5717
6105
  }
5718
6106
  render() {
5719
6107
  const steps = this.parsedSteps;
5720
- return (h("div", { key: 'b486aa34dfab4902cd6569cc2ce228104ca536cd', class: this.articleClasses() }, this.imageSrc ? (h("div", { class: "w-full mb-12 rounded-t-lg overflow-hidden border-2" }, h("eds-img", { src: this.imageSrc, width: this.imageWidth, "with-bg": "true", "lazy-load": "true", alt: "Step illustration" }))) : (this.message && (h("div", { class: "w-full bg-[#00A595] rounded-t-lg border-2" }, h("div", { class: "p-24" }, h("span", { class: "text-inverse f-heading-04 " }, this.message))))), h("div", { key: 'e2a928ecb67caed4885c9e364621b422249610f1', class: "pb-20 px-8" }, this.type === 'linear' ? (h("div", { class: "steps" }, steps.map((step, index) => (h("div", { class: index === 0 ? 'step' : 'step space-y-16', key: index }, this.renderHeading(step.title, index), this.activeStep === index && (h("div", { class: "content grid gap-y-16", id: `eds-step-panel-${index}` }, h("slot", { name: `step-${index}` }, h("div", { class: index === steps.length - 1 ? 'f-body-02 text-lighter' : 'f-body-02 text-lighter', innerHTML: step.content })), h("div", { class: "flex items-center" }, h("eds-button", { label: this.backLabel, intent: "ghost", icon: "chevron-left", iconPos: "left", iconSmall: true, onClick: this.handleBack, disabled: index === 0, class: index === 0 ? 'hidden' : 'block', size: "small" }), h("eds-button", { label: index === steps.length - 1 ? this.finishLabel : this.nextLabel, intent: "primary", icon: "chevron-right", iconSmall: true, onClick: this.handleNext, disabled: this.disableNext, size: "small", class: "ml-8" }))))))))) : (
5721
- // Static mode: show all steps with their content.
5722
- h("div", { class: "steps space-y-8" }, steps.map((step, index) => (h("div", { class: "step", key: index }, this.renderHeading(step.title, index), h("div", { class: "content", id: `eds-step-panel-${index}` }, h("slot", { name: `step-${index}` }, h("div", { class: index === steps.length - 1 ? 'f-body-02 text-lighter mt-16' : 'f-body-02 text-lighter', innerHTML: step.content })))))))))));
6108
+ const marginClass = this.orientation === 'horizontal' ? 'mt-64' : 'mt-32';
6109
+ return (h("div", { key: '0f9dbb87f9cd269057183ee969addd55e85b2149', class: this.articleClasses() }, this.imageSrc ? (h("div", { class: "w-full mb-12 rounded-t-lg overflow-hidden border-2" }, h("eds-img", { src: this.imageSrc, width: this.imageWidth, "with-bg": "true", "lazy-load": "true", alt: "Step illustration" }))) : (this.message && (h("div", { class: "w-full bg-[#00A595] rounded-t-lg border-2" }, h("div", { class: "p-24" }, h("span", { class: "text-inverse f-heading-04" }, this.message))))), h("div", { key: 'd636d36c2e95d73c23c269b1faf67870eca97c16', class: "mt-16 pb-20 px-8" }, this.type === 'linear' && this.orientation === 'horizontal' ? (h("div", { class: "steps--horizontal", style: { '--step-count': steps.length.toString() } }, h("div", { class: "horizontal-indicators" }, steps.map((step, index) => this.renderHorizontalIndicator(step, index))), steps.map((step, index) => {
6110
+ const isLast = index === steps.length - 1;
6111
+ if (this.activeStep !== index) {
6112
+ return null;
6113
+ }
6114
+ return (h("div", { class: "step-content", key: index, id: `eds-step-panel-${index}` }, h("slot", { name: `step-${index}` }, h("div", { class: "f-body-02 text-lighter", innerHTML: step.content })), h("div", { class: `flex items-center justify-between ${marginClass}` }, h("eds-button", { label: this.backLabel, intent: "ghost", icon: "chevron-left", iconPos: "left", iconSmall: true, onClick: this.handleBack, disabled: index === 0, class: index === 0 ? 'hidden' : 'block', size: "small" }), h("eds-button", { label: isLast ? this.finishLabel : this.nextLabel, intent: "primary", icon: "chevron-right", iconSmall: true, onClick: this.handleNext, disabled: this.isNextDisabledFor(index), size: "small", class: index > 0 ? 'ml-8' : null })), h("slot", { name: `actions-${index}` })));
6115
+ }))) : this.type === 'linear' ? (h("div", { class: "steps" }, steps.map((step, index) => (h("div", { class: index === 0 ? 'step' : 'step mt-16', key: index }, this.renderHeading(step.title, index), this.activeStep === index && (h("div", { class: "content grid gap-y-16", id: `eds-step-panel-${index}` }, h("slot", { name: `step-${index}` }, h("div", { class: "my-16 f-body-02 text-lighter", innerHTML: step.content })), h("div", { class: `flex items-center justify-between ${marginClass}` }, h("eds-button", { label: this.backLabel, intent: "ghost", icon: "chevron-left", iconPos: "left", iconSmall: true, onClick: this.handleBack, disabled: index === 0, class: index === 0 ? 'hidden' : 'block', size: "small" }), h("eds-button", { label: index === steps.length - 1 ? this.finishLabel : this.nextLabel, intent: "primary", icon: "chevron-right", iconSmall: true, onClick: this.handleNext, disabled: this.isNextDisabledFor(index), size: "small", class: index > 0 ? 'ml-8' : null }))))))))) : (h("div", { class: "steps space-y-8" }, steps.map((step, index) => (h("div", { class: "step", key: index }, this.renderHeading(step.title, index), h("div", { class: "content", id: `eds-step-panel-${index}` }, h("div", { class: "content-body" }, h("slot", { name: `step-${index}` }, h("div", { class: "my-16 f-body-02 text-lighter", innerHTML: step.content }))))))))))));
5723
6116
  }
5724
6117
  get el() { return getElement(this); }
5725
6118
  static get watchers() { return {
6119
+ "disableNext": ["handleDisableNextChange"],
5726
6120
  "activeStep": ["activeStepChanged"]
5727
6121
  }; }
5728
6122
  };
@@ -5778,17 +6172,17 @@ const EdsSwitch = class {
5778
6172
  : this.labelOff
5779
6173
  : 'Toggle switch'
5780
6174
  : undefined;
5781
- return (h("div", { key: 'd73bf797be76e256e065ab8b4fbe68a44802d3f1', class: "switch-container" }, this.labelOff && (h("span", { key: 'f4897e3d9948358a82bd61ea26c86e0d2eba81b5', id: `${switchId}-off`, class: "switch-label switch-label--off mr-8" }, this.labelOff)), h("button", { key: 'a01753fce0fedbf8a25d2cd64c662da8e69fef95', id: switchId, tabindex: this.disabled ? '-1' : '0', type: "button", role: "switch", "aria-checked": this.checked ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-labelledby": labelledBy.length > 0 ? labelledBy.join(' ') : undefined, "aria-label": accessibleLabel, class: {
6175
+ return (h("div", { key: 'a339677097f16cd2dfe180f0a7de26d4963a9f17', class: "switch-container" }, this.labelOff && (h("span", { key: '7db8e71c0f1668fb66f2b1ff049706b80b4683b3', id: `${switchId}-off`, class: "switch-label switch-label--off mr-8" }, this.labelOff)), h("button", { key: 'ce2a8400bc42612bcb22b47ce46762348a7a7b80', id: switchId, tabindex: this.disabled ? '-1' : '0', type: "button", role: "switch", "aria-checked": this.checked ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-labelledby": labelledBy.length > 0 ? labelledBy.join(' ') : undefined, "aria-label": accessibleLabel, class: {
5782
6176
  switch: true,
5783
6177
  'switch--checked': this.checked,
5784
6178
  'switch--disabled': this.disabled
5785
- }, onClick: this.toggleSwitch, onKeyDown: this.handleKeyDown, disabled: this.disabled }, h("span", { key: 'eee315ce803b246cbe73e9d42635cbaa775febdb', class: "switch-handle" })), this.labelOn && (h("span", { key: 'f1229ffea8041dea2237a032292a4465fc76e216', id: `${switchId}-on`, class: "switch-label switch-label--on ml-8" }, this.labelOn))));
6179
+ }, onClick: this.toggleSwitch, onKeyDown: this.handleKeyDown, disabled: this.disabled }, h("span", { key: 'c7bbace6e78fe2358ee4b91febec51a280305df0', class: "switch-handle" })), this.labelOn && (h("span", { key: 'b4fa05fc1296a6d906abb4a7fa609d721d01248f', id: `${switchId}-on`, class: "switch-label switch-label--on ml-8" }, this.labelOn))));
5786
6180
  }
5787
6181
  get el() { return getElement(this); }
5788
6182
  };
5789
6183
  EdsSwitch.style = EdsSwitchStyle0;
5790
6184
 
5791
- 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}.p-4{padding:0.25rem}.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-8{padding-left:0.5rem;padding-right:0.5rem}.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}";
6185
+ const edsTableCss = "table{text-indent:0;border-color:inherit;border-collapse:collapse;}tr.table-row-default{background-color:transparent}tr.table-row-color:nth-child(even){background-color:var(--grey-100)}tr.table-row-color:nth-child(odd){background-color:transparent}.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}.p-4{padding:0.25rem}.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-8{padding-left:0.5rem;padding-right:0.5rem}.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}";
5792
6186
  const EdsTableStyle0 = edsTableCss;
5793
6187
 
5794
6188
  const EdsTable = class {
@@ -5824,6 +6218,24 @@ const EdsTable = class {
5824
6218
  }
5825
6219
  (_a = actionButtons[nextIndex]) === null || _a === void 0 ? void 0 : _a.focus();
5826
6220
  };
6221
+ this.handleSort = (column) => {
6222
+ if (this.sortColumn === column) {
6223
+ // Toggle direction if same column
6224
+ this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';
6225
+ }
6226
+ else {
6227
+ // New column, default to ascending
6228
+ this.sortColumn = column;
6229
+ this.sortDirection = 'asc';
6230
+ }
6231
+ sendAnalytics({
6232
+ category: 'ui-component',
6233
+ parentContext: null,
6234
+ tag: `${this.hostEl.tagName.toLowerCase()}/sort`,
6235
+ name: column,
6236
+ action: this.sortDirection
6237
+ });
6238
+ };
5827
6239
  this.data = null;
5828
6240
  this.config = {};
5829
6241
  this.rowsPerPage = 10;
@@ -5833,6 +6245,8 @@ const EdsTable = class {
5833
6245
  this.columnSize = 'default';
5834
6246
  this.actions = [];
5835
6247
  this.actionTemplate = undefined;
6248
+ this.sortingEnabled = false;
6249
+ this.theme = 'color';
5836
6250
  this.parsedActions = [];
5837
6251
  this.dataColumns = [];
5838
6252
  this.tbData = [];
@@ -5842,6 +6256,8 @@ const EdsTable = class {
5842
6256
  this.totalRows = 0;
5843
6257
  this.searchQuery = '';
5844
6258
  this.containerWidth = 0;
6259
+ this.sortColumn = null;
6260
+ this.sortDirection = 'asc';
5845
6261
  }
5846
6262
  handleDataChange() {
5847
6263
  this.parseData();
@@ -5924,10 +6340,10 @@ const EdsTable = class {
5924
6340
  return this.tbData.filter((row) => Object.values(row).some((value) => value.toString().toLowerCase().includes(this.searchQuery.toLowerCase())));
5925
6341
  }
5926
6342
  getPaginatedRows() {
5927
- const filteredRows = this.getFilteredRows();
5928
- this.totalRows = filteredRows.length;
6343
+ const sortedRows = this.getSortedRows();
6344
+ this.totalRows = sortedRows.length;
5929
6345
  const start = (this.currentPage - 1) * this.rowsPerPage;
5930
- return filteredRows.slice(start, start + this.rowsPerPage);
6346
+ return sortedRows.slice(start, start + this.rowsPerPage);
5931
6347
  }
5932
6348
  handlePageChange(newPage) {
5933
6349
  this.currentPage = newPage;
@@ -6007,22 +6423,52 @@ const EdsTable = class {
6007
6423
  capitalize(str) {
6008
6424
  return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
6009
6425
  }
6426
+ getSortedRows() {
6427
+ const filtered = this.getFilteredRows();
6428
+ if (!this.sortColumn) {
6429
+ return filtered;
6430
+ }
6431
+ return [...filtered].sort((a, b) => {
6432
+ const aVal = a[this.sortColumn];
6433
+ const bVal = b[this.sortColumn];
6434
+ // Handle null/undefined
6435
+ if (aVal == null) {
6436
+ return 1;
6437
+ }
6438
+ if (bVal == null) {
6439
+ return -1;
6440
+ }
6441
+ // Compare values
6442
+ let comparison = 0;
6443
+ if (typeof aVal === 'number' && typeof bVal === 'number') {
6444
+ comparison = aVal - bVal;
6445
+ }
6446
+ else {
6447
+ comparison = String(aVal).localeCompare(String(bVal));
6448
+ }
6449
+ return this.sortDirection === 'asc' ? comparison : -comparison;
6450
+ });
6451
+ }
6010
6452
  render() {
6011
6453
  const currentContainerWidth = this.hostWidth && this.hostWidth.trim() !== '' ? Number(this.hostWidth) : this.containerWidth || 400;
6012
6454
  const visibleColumnsCount = this.getVisibleColumnsCount();
6013
6455
  const columnWidth = visibleColumnsCount > 0 ? Math.floor((currentContainerWidth / visibleColumnsCount) * this.divisionFactor()) : 100;
6014
6456
  const paginatedRows = this.getPaginatedRows();
6015
6457
  const lastPage = Math.ceil(this.totalRows / this.rowsPerPage);
6016
- return (h("div", { key: '0c986dec22a52676b110fad1f7f82ef792da796e' }, this.searchEnabled && (h("div", { key: '855c5c3d6c2b86e75a210c0296524bc8029e37f2' }, h("eds-input-field", { key: 1, icon: "search", name: "search", "aria-label": "Search", type: "text", placeholder: "Search...", onInput: (event) => this.handleSearch(event) }))), h("div", { key: '62b18340bbf992dba888c2d24ff306ada8a1a985', class: "mt-20" }, h("table", { key: '656dd0dd7f99611c2bd9beea4cd1f37f57da1384', class: "block overflow-x-auto mt-6 p-0" }, h("thead", { key: '1278ea89f588aa52c215c32bcc03c424e4501fed' }, h("tr", { key: '186e6ac48859dd9f7cbf8c4f4fb5f6bfddfd4d34', class: "m-0 p-0 border border-softer even:bg-inverse-softer" }, this.columns.map((col) => {
6458
+ return (h("div", { key: '0601cea60a05d044a717219e6ff6385ef915defa' }, this.searchEnabled && (h("div", { key: 'de1affaf192dc5e63b16d534d2f518c206ab7010' }, h("eds-input-field", { key: 1, icon: "search", name: "search", "aria-label": "Search", type: "text", placeholder: "Search...", onInput: (event) => this.handleSearch(event) }))), h("div", { key: '49f71b5a2481d719cb8fe0547f05a5ae83ad5541', class: "mt-20" }, h("table", { key: 'b63ca6615ed681c741fb2d3ff2675f9cc061d194', class: "block overflow-x-auto mt-6 p-0" }, h("thead", { key: '817b534cca3c2492b69b3816a41b54ec850847ab' }, h("tr", { key: '6cb8735ac56c3fe2acc4a257815bc0d07009118c', class: `m-0 p-0 border border-softer table-row-${this.theme}` }, this.columns.map((col) => {
6017
6459
  var _a;
6018
6460
  if (col === 'actions') {
6019
6461
  return (h("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words", style: { minWidth: `${columnWidth - 4}px` } }));
6020
6462
  }
6021
6463
  if (!((_a = this.parsedConfig[col]) === null || _a === void 0 ? void 0 : _a.hidden)) {
6022
- return (h("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words", style: { minWidth: `${columnWidth - 4}px` } }, this.capitalize(col)));
6464
+ return (h("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words", style: { minWidth: `${columnWidth - 4}px` } }, h("div", { style: { display: 'flex', alignItems: 'center', justifyContent: 'center', gap: '0.25rem' } }, h("span", null, this.capitalize(col)), this.sortingEnabled && (h("eds-icon-wrapper", { icon: this.sortColumn === col
6465
+ ? this.sortDirection === 'asc'
6466
+ ? 'chevron-up'
6467
+ : 'chevron-down'
6468
+ : 'chevron-down', "aria-label": `Sort by ${col}`, onClick: () => this.handleSort(col), style: { cursor: 'pointer' } })))));
6023
6469
  }
6024
6470
  return null;
6025
- }))), h("tbody", { key: 'b27bd372efe64469d2a5001dc6d5b464eb419217' }, paginatedRows.map((row) => (h("tr", { class: "m-0 p-0 border border-softer even:bg-inverse-softer" }, this.columns.map((col) => {
6471
+ }))), h("tbody", { key: '3c8630ed1f47720688bfcdb78c5dbfc84cb238cf' }, paginatedRows.map((row) => (h("tr", { class: `m-0 p-0 border border-softer table-row-${this.theme}` }, this.columns.map((col) => {
6026
6472
  var _a;
6027
6473
  if (col === 'actions') {
6028
6474
  return (h("td", { class: "text-center border border-softer m-0 f-ui-02 break-words actions-cell", style: { minWidth: `${columnWidth - 4}px` } }, h("div", { role: "toolbar", "aria-label": "Row actions", onKeyDown: this.onActionKeyDown, style: {
@@ -6037,7 +6483,7 @@ const EdsTable = class {
6037
6483
  return (h("td", { class: "text-center border border-softer m-0 py-8 f-ui-2 break-words", style: { minWidth: `${columnWidth - 4}px` } }, this.renderCell(row[col], col)));
6038
6484
  }
6039
6485
  return null;
6040
- }))))))), this.shouldEnablePagination() && (h("div", { key: 'd442153f48c85c6de1a0752d1348d8814811faed', class: "mt-20" }, h("eds-pagination", { key: '4c48c96eacb112002b0110e85dce0dab94350dfb', currentPage: this.currentPage, lastPage: lastPage, perPage: this.rowsPerPage, total: this.totalRows, mode: "default" })))));
6486
+ }))))))), this.shouldEnablePagination() && (h("div", { key: '09faef418edc676bb2b60c2439e0652a92fe023d', class: "mt-20" }, h("eds-pagination", { key: '9403d33a37505c73fe3bec652ef93f533bdb4f03', currentPage: this.currentPage, lastPage: lastPage, perPage: this.rowsPerPage, total: this.totalRows, mode: "default" })))));
6041
6487
  }
6042
6488
  get hostEl() { return getElement(this); }
6043
6489
  static get watchers() { return {
@@ -6212,12 +6658,12 @@ const EdsTabs = class {
6212
6658
  }
6213
6659
  }
6214
6660
  render() {
6215
- return (h("div", { key: 'bab7b3d6a9e6e66ab6476827ecc06a3e3c7244be', id: `${this.identifier}` }, h("div", { key: 'e20639e1842936b6c1fe24b19ca7f94ccc09d18f', class: "scroller-x overflow-x-auto relative z-[1] mx-auto px-16 pt-8 lg:px-28 after:border-soft before:bg-gradient-y relative overflow-x-hidden before:absolute before:inset-x-0 before:bottom-0 before:h-12 before:opacity-5 before:content-[''] after:absolute after:inset-x-0 after:bottom-0 after:border-b-2 after:content-['']" }, h("nav", { key: 'e3f4e385e1bfb1f5abc75697697ab9a6a8124b6b', role: "tablist", ref: (el) => (this.tabContainer = el), class: "inline-flex", "aria-label": this.navAriaLabel }, this.parsedTabs.map((tab, index) => {
6661
+ return (h("div", { key: '36b4771f5dc68c2b2686ece5957b4a54f70d8c38', id: `${this.identifier}` }, h("div", { key: '0b9cac117898a5c8d179c69aaa971c63fed5b12c', class: "scroller-x overflow-x-auto relative z-[1] mx-auto px-16 pt-8 lg:px-28 after:border-soft before:bg-gradient-y relative overflow-x-hidden before:absolute before:inset-x-0 before:bottom-0 before:h-12 before:opacity-5 before:content-[''] after:absolute after:inset-x-0 after:bottom-0 after:border-b-2 after:content-['']" }, h("nav", { key: '6bb2ca84bd9b12e67bb2e6055cb435c66061f547', role: "tablist", ref: (el) => (this.tabContainer = el), class: "inline-flex", "aria-label": this.navAriaLabel }, this.parsedTabs.map((tab, index) => {
6216
6662
  const TabComponent = 'button';
6217
6663
  const tabProps = this.getTabOptions(tab.active, index);
6218
6664
  const isActive = index === this.activeIndex;
6219
6665
  return (h(TabComponent, Object.assign({}, tabProps, { type: "button", role: "tab", "aria-selected": tab.active ? 'true' : 'false', tabIndex: isActive ? 0 : -1, "aria-label": tab.ariaLabel || tab.label, "aria-controls": `panel-${index}`, id: `tab-${index}`, ref: (el) => this.setTabRef(el, index), onClick: () => this.handleTabClick(index, tab.label, true), onKeyDown: (e) => this.onKeyDown(e, index) }), tab.label || tab.ariaLabel));
6220
- }))), h("div", { key: 'f958fca5abaeeba0b6fcc900b91fa1309508dc57', class: "tab-panels" }, this.parsedTabs.map((_, index) => (h("div", { role: "tabpanel", id: `panel-${index}`, "aria-labelledby": `tab-${index}`, hidden: index !== this.activeIndex, tabIndex: index === this.activeIndex ? 0 : -1, class: "effect-focus" }, h("slot", { name: `panel-${index}` })))))));
6666
+ }))), h("div", { key: '7b17d99c5dda91842171c941228b0a0f82d595d4', class: "tab-panels" }, this.parsedTabs.map((_, index) => (h("div", { role: "tabpanel", id: `panel-${index}`, "aria-labelledby": `tab-${index}`, hidden: index !== this.activeIndex, tabIndex: index === this.activeIndex ? 0 : -1, class: "effect-focus" }, h("slot", { name: `panel-${index}` })))))));
6221
6667
  }
6222
6668
  get el() { return getElement(this); }
6223
6669
  static get watchers() { return {
@@ -6262,7 +6708,7 @@ const EdsTag = class {
6262
6708
  }
6263
6709
  render() {
6264
6710
  const classes = tagStyles({ intent: this.intent, size: this.size });
6265
- return h("span", { key: 'a00f436391013091c78f15bc53d91b0b01d8f4bb', class: classes }, this.label);
6711
+ return h("span", { key: '0b37fdd21a8828a00daba55a7157e164e7057a88', class: classes }, this.label);
6266
6712
  }
6267
6713
  };
6268
6714
  EdsTag.style = EdsTagStyle0;
@@ -6358,7 +6804,7 @@ const EdsTooltip = class {
6358
6804
  }
6359
6805
  render() {
6360
6806
  const positionClass = this.position === 'bottom' ? 'top-full mt-2' : 'bottom-full mb-2';
6361
- return (h("div", { key: 'c2ae55fbf9fefb2748db770d98f12f679022a416', class: "relative w-full inline-block group" }, h("slot", { key: '5151e3269cb39d3caba960eee7155a3d5171c8cd' }), h("div", { key: '8956683d968d77d88133dc231975d258aca3d1d3', class: `absolute ${positionClass}
6807
+ return (h("div", { key: '1ba27ac30f67a50e39b2bfdff2b4392b4adc948a', class: "relative w-full inline-block group" }, h("slot", { key: 'c84887cde7b92c3684ef61e36039d2e8c96f71f2' }), h("div", { key: 'c7e475e74d977b6ab291ba8a315cdb237742a8e6', class: `absolute ${positionClass}
6362
6808
  rounded-xs bg-strongest text-inverse
6363
6809
  f-ui-03-light pointer-events-none
6364
6810
  z-10 px-4 opacity-0 transition-opacity duration-150 ease-in-out
@@ -6413,10 +6859,10 @@ const EdsUser = class {
6413
6859
  render() {
6414
6860
  const user = this.parsedUser;
6415
6861
  const iconName = this.expanded ? 'chevron-down' : 'chevron-right';
6416
- return (h("div", { key: '68836f7fc63986d1ef1e5d1775258358db3418c6', class: "block" }, h("div", { key: '3b5be3d2d700ce3e1a800c33adde9b55bb07fda0', class: "flex items-center" }, h("eds-dropdown", { key: 'f3f97f19aac315031f428d190f1e143429bcd860', ref: (el) => (this.dropdownEl = el), label: this.dropdownLabel, intent: this.intent, "aria-label": "User Menu", "dropdown-pos": "right", "dropdown-offset": "false", icon: iconName, class: "text-default", onDropdown: this.handleDropdown }, h("div", { key: '6a6bccaa4e8b0e68460ac50e3edc8d9fc3612e00', class: "min-w-[280px] p-8" }, h("div", { key: '97a9b4d9c0e0873162103461a542cf401be06c2f', class: "flex gap-x-16", "data-dropdown-no-close": true }, h("eds-avatar", { key: 'f89cee9f0ad6549e60ebb3ade437d1dd0c2e6eb6', "first-name": user.given_name, "last-name": user.family_name, initials: this.initials, color: "black" }), h("div", { key: 'b9fc649a35280ecebe57955b85844f3a78c4db04', class: "max-w-full" }, user.name && h("p", { key: 'b2914fca3ddabc4d12fa2c6cee83a98505fd110a', class: "f-ui-01 text-default w-full text-ellipsis" }, user.name), user.preferred_username && h("p", { key: '68ec348104e36b6fbf9c5fc47e254f3cfc4ca85b', class: "f-ui-03-light text-light mt-4" }, user.preferred_username), user.email && h("p", { key: '3b7720aaa30597a49acf61b6c3ff0c1f1cc3bfd8', class: "f-ui-03-light text-light mt-4" }, user.email))), h("div", { key: '28cdba1fb361b84e9cb0a7ce904ec39cf13d022e', class: "text-default flex w-full flex-col gap-y-8" }, h("slot", { key: 'c1cddbb24c72749c4ea07e2e0311da61af6e9886' })))))));
6862
+ return (h("div", { key: '1c4017bd33c81ad29385e164dc8611cfac58eca0', class: "block" }, h("div", { key: 'b692ce5a4b6b424c7e109589bdff5617d4e3b33c', class: "flex items-center" }, h("eds-dropdown", { key: '0df9e3b3c5212433ec88da84edd746a1dce8c763', ref: (el) => (this.dropdownEl = el), label: this.dropdownLabel, intent: this.intent, "aria-label": "User Menu", "dropdown-pos": "right", "dropdown-offset": "false", icon: iconName, class: "text-default", onDropdown: this.handleDropdown }, h("div", { key: 'ef25176f1fc1796dde0b1d56264617d067d06adb', class: "min-w-[280px] p-8" }, h("div", { key: '539532b05094ad47281f7d03c7900b93162e175a', class: "flex gap-x-16", "data-dropdown-no-close": true }, h("eds-avatar", { key: 'ff51082744e2d32e5bc57069ccc99a3214ac3c03', "first-name": user.given_name, "last-name": user.family_name, initials: this.initials, color: "black" }), h("div", { key: '1850d3ad72889a446fb8f5f29cf96d7434bc8c81', class: "max-w-full" }, user.name && h("p", { key: '29a458e82be47f3b4ce801e289253158b6f7372b', class: "f-ui-01 text-default w-full text-ellipsis" }, user.name), user.preferred_username && h("p", { key: 'fbb49fa957c32bd90b15dd71691b975c920049bb', class: "f-ui-03-light text-light mt-4" }, user.preferred_username), user.email && h("p", { key: 'e634ceb7b74062a19f466abb1f50266370a82747', class: "f-ui-03-light text-light mt-4" }, user.email))), h("div", { key: '3a8a04862973d0e28d7c62d84a6928953fd08df3', class: "text-default flex w-full flex-col gap-y-8" }, h("slot", { key: '50627b6ed0b735079d60b66092181334cd1a954a' })))))));
6417
6863
  }
6418
6864
  get hostEl() { return getElement(this); }
6419
6865
  };
6420
6866
  EdsUser.style = EdsUserStyle0;
6421
6867
 
6422
- export { EdsAccordion as eds_accordion, EdsAlert as eds_alert, EdsAvatar as eds_avatar, EdsBlockBreak as eds_block_break, EdsBreadcrumb as eds_breadcrumb, EdsButton as eds_button, EdsCodeBlock as eds_code_block, EdsDropdown as eds_dropdown, EdsForm as eds_form, EdsGlobalSearch as eds_global_search, EdsHeader as eds_header, EdsIconWrapper as eds_icon_wrapper, EdsImg as eds_img, EdsInput as eds_input, EdsInputField as eds_input_field, EdsInputFooter as eds_input_footer, EdsInputLabel as eds_input_label, EdsInputRange as eds_input_range, EdsInputSearch as eds_input_search, EdsInputSelect as eds_input_select, EdsLink as eds_link, EdsLogo as eds_logo, EdsMatomoNotice as eds_matomo_notice, EdsNps as eds_nps, EdsPagination as eds_pagination, EdsRating as eds_rating, EdsSpinner as eds_spinner, EdsSteps as eds_steps, EdsStepsV2 as eds_steps_v2, EdsSwitch as eds_switch, EdsTable as eds_table, EdsTabs as eds_tabs, EdsTag as eds_tag, EdsToast as eds_toast, EdsTooltip as eds_tooltip, EdsUser as eds_user };
6868
+ export { EdsAccordion as eds_accordion, EdsAlert as eds_alert, EdsAvatar as eds_avatar, EdsBlockBreak as eds_block_break, EdsBreadcrumb as eds_breadcrumb, EdsButton as eds_button, EdsCodeBlock as eds_code_block, EdsDropdown as eds_dropdown, EdsForm as eds_form, EdsGlobalSearch as eds_global_search, EdsHeader as eds_header, EdsIconWrapper as eds_icon_wrapper, EdsImg as eds_img, EdsInput as eds_input, EdsInputField as eds_input_field, EdsInputFooter as eds_input_footer, EdsInputLabel as eds_input_label, EdsInputRange as eds_input_range, EdsInputSearch as eds_input_search, EdsInputSelect as eds_input_select, EdsLink as eds_link, EdsLogo as eds_logo, EdsMatomoNotice as eds_matomo_notice, EdsNps as eds_nps, EdsPagination as eds_pagination, EdsRating as eds_rating, EdsSidebar as eds_sidebar, EdsSpinner as eds_spinner, EdsSteps as eds_steps, EdsStepsV2 as eds_steps_v2, EdsSwitch as eds_switch, EdsTable as eds_table, EdsTabs as eds_tabs, EdsTag as eds_tag, EdsToast as eds_toast, EdsTooltip as eds_tooltip, EdsUser as eds_user };