@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
@@ -79,10 +79,10 @@ const EdsAccordion = class {
79
79
  * Adjusts styles based on `switchBg`, `tiny`, `clampText`, and other props.
80
80
  */
81
81
  render() {
82
- return (index.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
82
+ return (index.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
83
83
  ${this.switchBg && this.isExpanded ? 'bg-inverse' : 'bg-default'}
84
84
  ${this.switchBg ? 'hover:bg-inverse' : ''}
85
- ${this.description ? 'min-h-56' : ''}` }, index.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), index.h("div", { key: '56b7b70d16cf3f944bf3cec878bd15c3e18b399b', class: "ml-auto" }, index.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" })), index.h("div", { key: 'c75c4d840bc8be25ee7590d90e3290faf090fdf0', class: `w-full`, style: Number.isFinite(this.headerHeight) ? { marginTop: `${this.headerHeight}px` } : {} }, this.description ? (index.h("span", { class: `text-light ${!this.isExpanded && this.clampText ? 'line-clamp-1' : ''}` }, this.description)) : null, index.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' } }, index.h("div", { key: '75ba9a9a7082b4ded3dacd6cbaa9ceb3688c5045', ref: (el) => (this.childContentRef = el), class: `accordion-content effect-color pt-4`, "aria-hidden": !this.isExpanded }, index.h("span", { key: 'e08cefc1d6fe7f3d162de86a17646d88a8686d83', class: `${!this.isExpanded && this.clampText ? 'line-clamp-2' : ''}` }, index.h("slot", { key: '77d3a7fb997a9f313e3013a17f87c28f7ff8adad' })))))));
85
+ ${this.description ? 'min-h-56' : ''}` }, index.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), index.h("div", { key: '0a30ab8c27cadbb342fc57f6393111c84f10a664', class: "ml-auto" }, index.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" })), index.h("div", { key: '9f3b5a0e425c2dffe3b6fe40fa33b020d64256d8', class: `w-full`, style: Number.isFinite(this.headerHeight) ? { marginTop: `${this.headerHeight}px` } : {} }, this.description ? (index.h("span", { class: `text-light ${!this.isExpanded && this.clampText ? 'line-clamp-1' : ''}` }, this.description)) : null, index.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' } }, index.h("div", { key: '11097a0646b18f728af494c14aa4cc0e5335defe', ref: (el) => (this.childContentRef = el), class: `accordion-content effect-color pt-4`, "aria-hidden": !this.isExpanded }, index.h("span", { key: '88414c40490aa77166d23868f16556b9356279a7', class: `${!this.isExpanded && this.clampText ? 'line-clamp-2' : ''}` }, index.h("slot", { key: '8070a7676ca8fba065f813852a2e0cf4146f3374' })))))));
86
86
  }
87
87
  get el() { return index.getElement(this); }
88
88
  };
@@ -183,12 +183,12 @@ const EdsAlert = class {
183
183
  }
184
184
  render() {
185
185
  const ariaLabel = this.intent !== 'default' ? `${this.intent} alert` : 'alert';
186
- return (index.h("div", { key: '33781ae5fb8504158e8fe780a76d89566a39e914', class: alertStyles({
186
+ return (index.h("div", { key: 'd8f0a45ddbaf3d3eb284751e33ddfdce2e13b67a', class: alertStyles({
187
187
  intent: this.intent,
188
188
  brd: this.brd,
189
189
  direction: this.direction,
190
190
  withBtn: this.withBtn
191
- }), role: "alert", "aria-label": ariaLabel, "aria-live": this.intent === 'error' ? 'assertive' : 'polite', "aria-labelledby": "alert-message", "aria-describedby": this.withBtn ? 'alert-action' : undefined }, index.h("p", { key: 'fb3a1d216279b4076b09ef9544d37c5229b4d706', id: "alert-message", class: "f-ui-01 py-8", innerHTML: this.message }), this.withBtn && (index.h("div", { key: 'a5edd833ae3924f41edb17068090eeeb4e9f9cfd', id: "alert-action" }, this.pressableUrl ? (index.h("eds-link", { class: "eds-alert-link", label: this.pressableLabel, url: this.pressableUrl, intent: "secondary", external: true })) : (index.h("eds-button", { class: "eds-alert-button", label: this.pressableLabel, intent: "secondary", onClick: () => this.handleAction() }))))));
191
+ }), role: "alert", "aria-label": ariaLabel, "aria-live": this.intent === 'error' ? 'assertive' : 'polite', "aria-labelledby": "alert-message", "aria-describedby": this.withBtn ? 'alert-action' : undefined }, index.h("p", { key: '179862c141a2ce05fa9f8562be7e64196baa3922', id: "alert-message", class: "f-ui-01 py-8", innerHTML: this.message }), this.withBtn && (index.h("div", { key: '3677358bd563a3e2ee1b74309dc4fb6c84ac475f', id: "alert-action" }, this.pressableUrl ? (index.h("eds-link", { class: "eds-alert-link", label: this.pressableLabel, url: this.pressableUrl, intent: "secondary", external: true })) : (index.h("eds-button", { class: "eds-alert-button", label: this.pressableLabel, intent: "secondary", onClick: () => this.handleAction() }))))));
192
192
  }
193
193
  get el() { return index.getElement(this); }
194
194
  };
@@ -251,7 +251,7 @@ const EdsAvatar = class {
251
251
  * @returns {JSX.Element} The rendered avatar component.
252
252
  */
253
253
  render() {
254
- return (index.h("div", { key: 'd29c110e340567236716e77c4f003bec5c70ee63', class: this.containerClasses }, this.picture ? (index.h("eds-img", { src: this.picture, width: 54, height: 54, sizes: "120px", alt: `${this.firstName} ${this.lastName}`, lazyload: true, withBg: true })) : (index.h("abbr", { title: this.computedInitials || `${this.firstName} ${this.lastName}`, class: "!no-underline f-ui-01" }, this.computedInitials))));
254
+ return (index.h("div", { key: '7b5bf31c794c9bbddd2976fdd5a273842a75603a', class: this.containerClasses }, this.picture ? (index.h("eds-img", { src: this.picture, width: 54, height: 54, sizes: "120px", alt: `${this.firstName} ${this.lastName}`, lazyload: true, withBg: true })) : (index.h("abbr", { title: this.computedInitials || `${this.firstName} ${this.lastName}`, class: "!no-underline f-ui-01" }, this.computedInitials))));
255
255
  }
256
256
  };
257
257
  EdsAvatar.style = EdsAvatarStyle0;
@@ -265,7 +265,7 @@ const EdsBlockBreak = class {
265
265
  this.inverse = false;
266
266
  }
267
267
  render() {
268
- return index.h("hr", { key: '0e2ec4b9c8b70ff9b65e6c4f2af42f198b1eb7d0', class: `${this.inverse ? 'border-default' : 'border-softer'} my-16 inline-block w-full border-t-2` });
268
+ return index.h("hr", { key: 'dd9b98d66f195135ff2fb1374a56d4c670e43d3e', class: `${this.inverse ? 'border-default' : 'border-softer'} my-16 inline-block w-full border-t-2` });
269
269
  }
270
270
  };
271
271
  EdsBlockBreak.style = EdsBlockBreakStyle0;
@@ -385,7 +385,7 @@ const EdsBreadcrumb = class {
385
385
  */
386
386
  render() {
387
387
  const itemsToRender = this.getTruncatedItems();
388
- return (index.h("nav", { key: '27ddf744a07f1b697e549cdc6d2a66f65ebe6386', "aria-label": "Breadcrumb" }, index.h("ol", { key: '43ac089290c0a6f9b3c5cd629def8540966637b8', class: "flex items-center space-x-2" }, itemsToRender.map((item, index$1) => {
388
+ return (index.h("nav", { key: '4894fb9e6b37ef84880a62f4dcd3289dcb9cab38', "aria-label": "Breadcrumb" }, index.h("ol", { key: 'd69405fcee024465d645d9cdbb17189998a94b95', class: "flex items-center space-x-2" }, itemsToRender.map((item, index$1) => {
389
389
  const isLast = index$1 === itemsToRender.length - 1;
390
390
  return (index.h("li", { class: "flex items-center" }, !item.isHidden ? ((() => {
391
391
  const { fullLabel } = this.getLabels(item, isLast);
@@ -524,7 +524,6 @@ const EdsButton = class {
524
524
  this.size = 'small';
525
525
  this.iconPos = 'right';
526
526
  this.iconSmall = false;
527
- this.extraClass = undefined;
528
527
  this.triggerClick = undefined;
529
528
  }
530
529
  handleParentContext(event) {
@@ -575,7 +574,7 @@ const EdsButton = class {
575
574
  });
576
575
  const ElementType = this.elementType;
577
576
  const isInteractive = !this.disabled && !this.loading;
578
- return (index.h(index.Host, { key: 'fe91be3eb9c2a3ece800097392462b3bd76f1264' }, index.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 && (index.h("span", { key: '2b55edc1b986950ba03a759cffd7346c8611ac0a', class: this.loading ? 'opacity-0' : '', "aria-hidden": this.loading ? 'true' : undefined }, this.label)), this.loading && (index.h("span", { key: '5b035b8ef848cde63af9a2cc4a3ed72c68e1e03d', class: "absolute inset-0 flex items-center justify-center", "aria-hidden": "true" }, index.h("span", { key: '2746ef996f0835c76c4ef2cbd39103ad4d07c21f', class: "loader", style: {
577
+ return (index.h(index.Host, { key: '25a7b4ffda3df65e91c77a18becd45bc40973f3c' }, index.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 && (index.h("span", { key: '6e45dfefb4805eef0574f7462becca6cde85dbc0', class: this.loading ? 'opacity-0' : '', "aria-hidden": this.loading ? 'true' : undefined }, this.label)), this.loading && (index.h("span", { key: '9909c70db39a039b883854caff816d25f132b866', class: "absolute inset-0 flex items-center justify-center", "aria-hidden": "true" }, index.h("span", { key: '367cd65a13f81cbcb12d93855dc091a4309566bb', class: "loader", style: {
579
578
  border: `3px solid ${this.intent === 'secondary' ? 'rgba(255, 255, 255, .3)' : 'rgba(0, 0, 0, .3)'}`,
580
579
  borderBottomColor: this.intent === 'secondary' ? '#fff' : '#000'
581
580
  } }))), this.icon ? (index.h("eds-icon-wrapper", { class: `
@@ -3064,7 +3063,7 @@ const EdsCodeBlock = class {
3064
3063
  return this.code; // Fallback if language is not provided or unsupported
3065
3064
  }
3066
3065
  render() {
3067
- return (index.h("div", { key: '2c5addd195dc8d930db643e95ecc52410dd94052', class: "relative bg-stronger rounded-sm" }, index.h("div", { key: 'aea2d891f9e5d57d4b8390cff4597cb8edd163a1', class: "text-inverse flex justify-between items-center p-8" }, this.language ? (index.h("span", { class: "f-ui-03" }, this.language.toUpperCase())) : (index.h("pre", { class: "bg-stronger pl-8", role: "region", "aria-label": "Code block without language" }, index.h("code", { innerHTML: this.getHighlightedCode() }))), index.h("span", { key: '41e2d463bde145f901eae42dda68091a9a42e3ef', "aria-hidden": "true", class: "w-20 h-20 mt-8" }, index.h("eds-icon-wrapper", { key: '7285b81dd936c770b09b4a36bed8c8ba2a87da99', icon: this.copied ? 'success' : 'copy', onClick: () => this.copyToClipboard() })), index.h("span", { key: 'a12d74735064478480544cc4b5cf14d7b028b1a8', class: "sr-only" }, "Copy Code")), this.language && (index.h("pre", { key: '2fcde4f271059ac98cb3b1b6bffbf4564ccf795b', class: `language-${this.language} bg-stronger pl-8 pb-8`, role: "region", "aria-label": `Code block in ${this.language}` }, index.h("code", { key: '68a8b83f492e7b0eb2916a063e28a4293e6a988f', innerHTML: this.getHighlightedCode() })))));
3066
+ return (index.h("div", { key: 'bc74b6be37bcb24700d17b48b5398077e485abd7', class: "relative bg-stronger rounded-sm" }, index.h("div", { key: 'db0395bfd55eb3394ab2149c5c436f2a54e8afb0', class: "text-inverse flex justify-between items-center p-8" }, this.language ? (index.h("span", { class: "f-ui-03" }, this.language.toUpperCase())) : (index.h("pre", { class: "bg-stronger pl-8", role: "region", "aria-label": "Code block without language" }, index.h("code", { innerHTML: this.getHighlightedCode() }))), index.h("span", { key: '628ad41f15f3a38abe4b7c382074c8f5a8679a8c', "aria-hidden": "true", class: "w-20 h-20 mt-8" }, index.h("eds-icon-wrapper", { key: '1c95d57a5d8113d6ab7ebf7da713e058c7cc10f1', icon: this.copied ? 'success' : 'copy', onClick: () => this.copyToClipboard() })), index.h("span", { key: 'a64b2450b631835b6fc2c15047b09ceea5a9fc95', class: "sr-only" }, "Copy Code")), this.language && (index.h("pre", { key: '51945cbee1504625b54362505b60f1bd1784bdda', class: `language-${this.language} bg-stronger pl-8 pb-8`, role: "region", "aria-label": `Code block in ${this.language}` }, index.h("code", { key: '55961aa8278177451e13c929ec7f7065afcac93b', innerHTML: this.getHighlightedCode() })))));
3068
3067
  }
3069
3068
  get el() { return index.getElement(this); }
3070
3069
  };
@@ -3218,14 +3217,14 @@ const EdsDropdown = class {
3218
3217
  * @returns {JSX.Element} The rendered dropdown component.
3219
3218
  */
3220
3219
  render() {
3221
- return (index.h("div", { key: 'e31acbda3428f47fe32cfe550cf00c53374da215', class: "z-focus relative", ref: (el) => (this.dropdownContent = el) }, index.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" }), index.h("nav", { key: '59f8533409171401ed73eac8d307e4eafbde9209', ref: (el) => (this.panelEl = el), role: "menu", class: {
3220
+ return (index.h("div", { key: 'ffc4915b2104e3d2dd347900acd897f56910a674', class: "z-focus relative", ref: (el) => (this.dropdownContent = el) }, index.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" }), index.h("nav", { key: 'a29b57598a2ed8fcc9593c928df9443fd4449481', ref: (el) => (this.panelEl = el), role: "menu", class: {
3222
3221
  '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,
3223
3222
  'left-4': this.dropdownPos === 'left' && this.dropdownOffset,
3224
3223
  'left-0': this.dropdownPos === 'left' && !this.dropdownOffset,
3225
3224
  'right-4': this.dropdownPos === 'right' && this.dropdownOffset,
3226
3225
  'right-0': this.dropdownPos === 'right' && !this.dropdownOffset,
3227
3226
  'rounded-lg': this.rounded
3228
- }, style: { display: this.isOpen ? 'block' : 'none' }, "aria-label": "Dropdown", "aria-hidden": !this.isOpen }, index.h("slot", { key: '675839893bf667a7a05a63e552935bb1a5874b73' }))));
3227
+ }, style: { display: this.isOpen ? 'block' : 'none' }, "aria-label": "Dropdown", "aria-hidden": !this.isOpen }, index.h("slot", { key: 'ddf003345ef5181b968b4bfd8962805d09d15e89' }))));
3229
3228
  }
3230
3229
  get host() { return index.getElement(this); }
3231
3230
  };
@@ -3509,17 +3508,41 @@ const EdsForm = class {
3509
3508
  }
3510
3509
  const actual = this.values[field.condition.field];
3511
3510
  const expected = field.condition.value;
3512
- // Handle loose match between booleans and strings
3513
- return String(actual) === String(expected);
3511
+ // Handle undefined/null/empty
3512
+ if (actual == null) {
3513
+ return expected == null || expected === '';
3514
+ }
3515
+ // Handle arrays (multi-select, checkboxes)
3516
+ if (Array.isArray(actual)) {
3517
+ return actual.some((val) => this.normalizeValue(val) === this.normalizeValue(expected));
3518
+ }
3519
+ // Handle comma-separated strings (from checkboxes stored as "val1,val2")
3520
+ if (typeof actual === 'string' && actual.includes(',')) {
3521
+ const values = actual.split(',').map((v) => v.trim());
3522
+ return values.some((val) => this.normalizeValue(val) === this.normalizeValue(expected));
3523
+ }
3524
+ // Standard comparison with normalization
3525
+ return this.normalizeValue(actual) === this.normalizeValue(expected);
3526
+ }
3527
+ normalizeValue(value) {
3528
+ if (value == null) {
3529
+ return '';
3530
+ }
3531
+ if (typeof value === 'boolean') {
3532
+ return value ? 'true' : 'false';
3533
+ }
3534
+ if (typeof value === 'number') {
3535
+ return String(value);
3536
+ }
3537
+ if (typeof value === 'string') {
3538
+ return value.trim().toLowerCase();
3539
+ }
3540
+ return String(value).trim().toLowerCase();
3514
3541
  }
3515
3542
  validateForm() {
3516
- const { errors, hasError } = validateFormFields(this.parsedFields, this.formEl, this.values, (field, values) => {
3517
- if (!field.condition) {
3518
- return true;
3519
- }
3520
- const parentValue = values[field.condition.field];
3521
- return parentValue === field.condition.value;
3522
- });
3543
+ const { errors, hasError } = validateFormFields(this.parsedFields, this.formEl, this.values, (field, _values) =>
3544
+ // Use a temporary object with the condition to reuse isFieldVisible logic
3545
+ this.isFieldVisible(field));
3523
3546
  this.errors = errors;
3524
3547
  this.hasError = hasError;
3525
3548
  }
@@ -3533,8 +3556,22 @@ const EdsForm = class {
3533
3556
  if (!field.condition) {
3534
3557
  return true;
3535
3558
  }
3536
- const parentValue = values[field.condition.field];
3537
- return parentValue === field.condition.value;
3559
+ const actual = values[field.condition.field];
3560
+ const expected = field.condition.value;
3561
+ // Handle undefined/null/empty
3562
+ if (actual == null) {
3563
+ return expected == null || expected === '';
3564
+ }
3565
+ // Handle arrays
3566
+ if (Array.isArray(actual)) {
3567
+ return actual.some((val) => this.normalizeValue(val) === this.normalizeValue(expected));
3568
+ }
3569
+ // Handle comma-separated strings
3570
+ if (typeof actual === 'string' && actual.includes(',')) {
3571
+ const values = actual.split(',').map((v) => v.trim());
3572
+ return values.some((val) => this.normalizeValue(val) === this.normalizeValue(expected));
3573
+ }
3574
+ return this.normalizeValue(actual) === this.normalizeValue(expected);
3538
3575
  }
3539
3576
  });
3540
3577
  this.values = updatedValues;
@@ -3601,8 +3638,9 @@ const EdsForm = class {
3601
3638
  const hosts = Array.from(this.formEl.querySelectorAll('eds-input-field'));
3602
3639
  hosts.forEach((host) => {
3603
3640
  const root = host.shadowRoot;
3604
- if (!root)
3641
+ if (!root) {
3605
3642
  return;
3643
+ }
3606
3644
  const fileInputs = Array.from(root.querySelectorAll('input[type="file"][name]'));
3607
3645
  console.log(fileInputs);
3608
3646
  fileInputs.forEach((fi) => {
@@ -3617,14 +3655,13 @@ const EdsForm = class {
3617
3655
  // (Optional) mark that this payload includes files (handy in logs / policies)
3618
3656
  // formData.set('_has_files', '1');
3619
3657
  }
3620
- formData.forEach((value, key) => {
3621
- if (value instanceof File) {
3622
- console.log(`File field: ${key}, File name: ${value.name}, File size: ${value.size}`);
3623
- }
3624
- else {
3625
- console.log(`Field: ${key}, Value: ${value}`);
3626
- }
3627
- });
3658
+ /*formData.forEach((value, key) => {
3659
+ if (value instanceof File) {
3660
+ console.log(`File field: ${key}, File name: ${value.name}, File size: ${value.size}`);
3661
+ } else {
3662
+ console.log(`Field: ${key}, Value: ${value}`);
3663
+ }
3664
+ });*/
3628
3665
  return formData;
3629
3666
  }
3630
3667
  handleChange(e, field) {
@@ -3738,8 +3775,9 @@ const EdsForm = class {
3738
3775
  handleSubmit(e) {
3739
3776
  var _a, _b;
3740
3777
  e === null || e === void 0 ? void 0 : e.preventDefault();
3741
- if (this.isSubmitting)
3778
+ if (this.isSubmitting) {
3742
3779
  return;
3780
+ }
3743
3781
  this.isSubmitting = true;
3744
3782
  this.validateForm();
3745
3783
  if (this.hasError) {
@@ -3821,7 +3859,7 @@ const EdsForm = class {
3821
3859
  else if (field.type === 'nps') {
3822
3860
  return (index.h("div", { class: "form-group nps-field", key: field.name }, index.h("div", { class: "flex justify-between" }, field && (index.h("eds-input-label", { name: `nps-${field.name}`, label: field.question, disabled: field.disabled, required: field.required }))), index.h("eds-nps", { id: `nps-${field.name}`, "right-label": field.rightLabel, "left-label": field.leftLabel, onNps: (e) => this.handleNPS(e, field) }), index.h("div", { class: "mt-6" }, index.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] }))));
3823
3861
  }
3824
- return (index.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) }));
3862
+ return (index.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) }));
3825
3863
  }
3826
3864
  async getData() {
3827
3865
  return this.makeFormData();
@@ -3834,9 +3872,9 @@ const EdsForm = class {
3834
3872
  const styleClasses = this.formStyle === 'shadow'
3835
3873
  ? 'bg-inverse effect-shadow shadow-hover border-softer relative rounded-lg border-2 p-32'
3836
3874
  : '';
3837
- return (index.h("form", { key: 'a2e7de988c60301b92f6b756702bfcc78e9f3d90', class: styleClasses, ref: (el) => (this.formEl = el), autocomplete: "on", onSubmit: this.handleSubmit }, index.h("div", { key: '22172631522aa6094d8b163b0774c57ef4404d60', class: "flex flex-col gap-y-24" }, this.title && (index.h("span", { key: '0597bbacbaf5f3d9ec1ab938cf755a10baafdf21', role: "heading", class: "f-heading-04" }, this.title)), this.description && index.h("span", { key: '5e636072bc2692071bd0b518af721999cc8b511e', class: "f-body-02 text-light" }, this.description), index.h("slot", { key: '79d21172208eb77ec6460e817d3c7bc3a680c806' })), hiddenFields.map((field, index$1) => (index.h("eds-input", { key: index$1, type: "hidden", name: field.name, value: field.value }))), this.parsedGroups
3875
+ return (index.h("form", { key: 'a4b6cf51242567739fc3ff2da482c41edb4e4e57', class: styleClasses, ref: (el) => (this.formEl = el), autocomplete: "on", onSubmit: this.handleSubmit }, index.h("div", { key: '5f7e1d618f8a10a1cd6aa8d512c04064a484cd93', class: "flex flex-col gap-y-24" }, this.title && (index.h("span", { key: '283d752d3e9f4ede0f50493ba9e5010376ebfb1f', role: "heading", class: "f-heading-04" }, this.title)), this.description && index.h("span", { key: 'bd5866482b87bdc86a59594b884a9b81c676afdb', class: "f-body-02 text-light" }, this.description), index.h("slot", { key: 'b2de746ccf8743fdef545a70ab111dfff0d7912f' })), hiddenFields.map((field, index$1) => (index.h("eds-input", { key: index$1, type: "hidden", name: field.name, value: field.value }))), this.parsedGroups
3838
3876
  .filter((g) => Array.isArray(buckets[g.id]) && buckets[g.id].length > 0)
3839
- .map((g) => (index.h("div", { class: "mt-32", key: g.id }, index.h("span", { class: "f-body-02" }, index.h("b", null, g.title)), index.h("div", { class: "border-group mt-32 mb-32 flex flex-col gap-y-24" }, buckets[g.id].map((f) => this.renderField(f)))))), index.h("div", { key: 'b99941e53dec1c8c4e167d8588d6e86793838d1a', class: "flex flex-col mt-32 gap-y-24" }, buckets['__ungrouped'].map((f) => this.renderField(f))), this.formBtn && (index.h("div", { key: '27365a4d7d8150ff4e94ffb3d27d011400c8c412', class: "mt-32" }, index.h("eds-button", { key: '66f89292b95d9549e3718d7e499b0724762127c6', intent: this.buttonIntent, label: this.formBtnLabel, disabled: this.isSubmitting, loading: this.isSubmitting, onClick: () => this.handleSubmit() })))));
3877
+ .map((g) => (index.h("div", { class: "mt-32", key: g.id }, index.h("span", { class: "f-body-02" }, index.h("b", null, g.title)), index.h("div", { class: "border-group mt-32 mb-32 flex flex-col gap-y-24" }, buckets[g.id].map((f) => this.renderField(f)))))), index.h("div", { key: '917c5bd2e6048a91487f0a66bd0426e529295f9e', class: "flex flex-col mt-32 gap-y-24" }, buckets['__ungrouped'].map((f) => this.renderField(f))), this.formBtn && (index.h("div", { key: '96abbd19ea2869c21146f0b37da7ff6b89fbf66c', class: "mt-32" }, index.h("eds-button", { key: '066348df32cf27fc6e56c94b9d5c455bc51b4adf', intent: this.buttonIntent, label: this.formBtnLabel, disabled: this.isSubmitting, loading: this.isSubmitting, onClick: () => this.handleSubmit() })))));
3840
3878
  }
3841
3879
  get el() { return index.getElement(this); }
3842
3880
  static get watchers() { return {
@@ -3871,9 +3909,8 @@ const EdsGlobalSearch = class {
3871
3909
  category: 'shared-ui',
3872
3910
  parentContext: null,
3873
3911
  tag: this.el.tagName.toLowerCase(),
3874
- name: `search-input: ${(_a = this.query) === null || _a === void 0 ? void 0 : _a.toLowerCase()}` ||
3875
- 'unknow seach input query',
3876
- action: 'click',
3912
+ name: `search-input: ${(_a = this.query) === null || _a === void 0 ? void 0 : _a.toLowerCase()}` || 'unknow seach input query',
3913
+ action: 'click'
3877
3914
  });
3878
3915
  this.debounceTimer = window.setTimeout(() => {
3879
3916
  this.runSearch();
@@ -3929,8 +3966,7 @@ const EdsGlobalSearch = class {
3929
3966
  break;
3930
3967
  case 'Enter':
3931
3968
  event.preventDefault();
3932
- if (this.selectedIndex >= 0 &&
3933
- this.selectedIndex < this.results.length) {
3969
+ if (this.selectedIndex >= 0 && this.selectedIndex < this.results.length) {
3934
3970
  this.selectResult(this.results[this.selectedIndex]);
3935
3971
  }
3936
3972
  break;
@@ -3964,7 +4000,7 @@ const EdsGlobalSearch = class {
3964
4000
  this.selectedIndex = -1;
3965
4001
  }
3966
4002
  catch (err) {
3967
- console.error('Search error:', err);
4003
+ //console.error('Search error:', err);
3968
4004
  this.error = 'Search failed. Please try again.';
3969
4005
  this.results = [];
3970
4006
  this.showDropdown = true;
@@ -3981,7 +4017,7 @@ const EdsGlobalSearch = class {
3981
4017
  parentContext: null,
3982
4018
  tag: this.el.tagName.toLowerCase(),
3983
4019
  name: `search-select: ${result.url}` || 'unknow search result selection',
3984
- action: 'click',
4020
+ action: 'click'
3985
4021
  });
3986
4022
  window.open(result.url, '_blank', 'noopener,noreferrer');
3987
4023
  }
@@ -4002,19 +4038,19 @@ const EdsGlobalSearch = class {
4002
4038
  return this.results.length > 0;
4003
4039
  }
4004
4040
  get showEmpty() {
4005
- return (this.hasSearched && !this.loading && !this.hasResults && this.query.trim());
4041
+ return this.hasSearched && !this.loading && !this.hasResults && this.query.trim();
4006
4042
  }
4007
4043
  render() {
4008
- return (index.h("div", { key: '8fb5d13cbb123d7a6d6a26d0ba59d4c6d1660216', class: "search-wrapper" }, index.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 && (index.h("div", { key: '553cb12c9b2aa9ecfbcf9c1eee9ff9a44549e35a', class: "search-dropdown", ref: (el) => (this.dropdownRef = el) }, this.loading && (index.h("div", { key: '4f40853beecd11f8812fd97cf07d2394e7b73466', class: "flex text-center justify-center p-64" }, index.h("eds-spinner", { key: '307a3ba3ec2d296f31f8e5cf1a696786387ea8fa', variant: "primary", size: "sm" }))), this.error && !this.loading && (index.h("div", { key: '46fc2ed3f48237864c62ce52d5789b72ab007f61', class: "flex text-center justify-center p-16" }, index.h("span", { key: 'b555370d936f99234d9be576d04766bc674bfd24', class: "text-error f-body-02" }, this.error))), this.showEmpty && (index.h("div", { key: '7464c4850872ce8dcee55c189b1e78baa1799f14', class: "dropdown-state" }, index.h("eds-icon-wrapper", { key: '989282ef0fc8fde7018bb80ab172773cc2107942', icon: "search" }), index.h("div", { key: 'efbdbd61312b7de43c4f9944cbd573573ec22f11' }, index.h("p", { key: 'fb8bf8c76f101a182f2f0e0c9beac642a872d4cb', class: "f-body-02" }, "No results found"), index.h("p", { key: '003a1facf39b7efe8f61c58518e7fdef4779f9c3', class: "f-ui-04 text-lightest" }, "Try different keywords")))), this.hasResults && !this.loading && (index.h("ul", { key: '01b48376f9b290218f93eed314bcc71fa15f83ef', class: "dropdown-results" }, this.results.map((result, index$1) => (index.h("li", { key: result.id, "data-index": index$1, class: {
4044
+ return (index.h("div", { key: 'be8f46caa1d12a034401686c9860b87032652322', class: "search-wrapper" }, index.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 && (index.h("div", { key: '57b87393636913be24856bedc805e180171f084e', class: "search-dropdown", ref: (el) => (this.dropdownRef = el) }, this.loading && (index.h("div", { key: '3ddb78e5a734d69b581e64ee825d12574f98574d', class: "flex text-center justify-center p-64" }, index.h("eds-spinner", { key: '178c99535ce61b320fd70ab1f3aeb8408c868fe3', variant: "primary", size: "sm" }))), this.error && !this.loading && (index.h("div", { key: '87feb37ffec93fa12185cd1fffb5c4f8ac54cd55', class: "flex text-center justify-center p-16" }, index.h("span", { key: '07544fe95721c9e0898364f3bdcfc0b1ca79a48d', class: "text-error f-body-02" }, this.error))), this.showEmpty && (index.h("div", { key: '6595178cb14ce5e21cdb15f96e039975a8af0c67', class: "dropdown-state" }, index.h("eds-icon-wrapper", { key: 'f5b614218bb6ef642c3d1f4c7d41f56f28319a9d', icon: "search" }), index.h("div", { key: '857671d7783d8fe854e6b3203a3755d24f337e5d' }, index.h("p", { key: '89bae3bfb4efa63e777121088a59d873652de4e9', class: "f-body-02" }, "No results found"), index.h("p", { key: '1a951b1a6f0daf7506e6e7892a211f92d95b94d4', class: "f-ui-04 text-lightest" }, "Try different keywords")))), this.hasResults && !this.loading && (index.h("ul", { key: '1c1711dc4332d70cefe965dcfeeabc3c6745ce4d', class: "dropdown-results" }, this.results.map((result, index$1) => (index.h("li", { key: result.id, "data-index": index$1, class: {
4009
4045
  'result-item': true,
4010
- 'result-item--selected': index$1 === this.selectedIndex,
4011
- }, onClick: () => this.selectResult(result), onMouseEnter: () => (this.selectedIndex = index$1) }, index.h("div", { class: "result-header" }, index.h("span", { class: "f-body-02" }, result.title)), index.h("div", { class: "inline" }, index.h("eds-tag", { intent: "accent", label: result.source }), result.section && (index.h("span", { class: "result-badge" }, result.section)), index.h("span", { class: "f-ui-03-light text-lighter ml-8" }, result.url)), result.snippet && (index.h("p", { class: "result-snippet" }, this.stripHtml(result.snippet)))))))), this.hasResults && !this.loading && (index.h("div", { key: '3730704ff20781f23403df56a452bf586c06a688', class: "dropdown-footer" }, index.h("span", { key: '981e0fb42c24116a2b7caa1a341db1435fb57298', class: "footer-hint" }, index.h("kbd", { key: 'a3afa1202d694af3f87c736f8384b11497729d2c' }, "\u2191"), " ", index.h("kbd", { key: '4158766047e73eef837b3a7be415b52792473f3e' }, "\u2193"), " navigate \u2022 ", index.h("kbd", { key: '49dc09c928a6f0d69e4c95cee7ba5b655dfcd56c' }, "\u21B5"), " select \u2022", ' ', index.h("kbd", { key: '8da9b6f1bef58c7633a484f63e63920646d6b675' }, "esc"), " close")))))));
4046
+ 'result-item--selected': index$1 === this.selectedIndex
4047
+ }, onClick: () => this.selectResult(result), onMouseEnter: () => (this.selectedIndex = index$1) }, index.h("div", { class: "result-header" }, index.h("span", { class: "f-body-02" }, result.title)), index.h("div", { class: "inline" }, index.h("eds-tag", { intent: "accent", label: result.source }), result.section && index.h("span", { class: "result-badge" }, result.section), index.h("span", { class: "f-ui-03-light text-lighter ml-8" }, result.url)), result.snippet && index.h("p", { class: "result-snippet" }, this.stripHtml(result.snippet))))))), this.hasResults && !this.loading && (index.h("div", { key: '26e172b579f71b7096481994c0a4af80d3e416d3', class: "dropdown-footer" }, index.h("span", { key: '57a6432125472aaed3b7b46c106aeec0d0a5ee50', class: "footer-hint" }, index.h("kbd", { key: 'c8ca5d4b1a2e8f59665290ab78499f8db431a2e9' }, "\u2191"), " ", index.h("kbd", { key: '89a6520e51bed33cfc37b892480af44e5b77a9c3' }, "\u2193"), " navigate \u2022 ", index.h("kbd", { key: '4173b9ec77d52d4570e016c3366e27fef225ccb0' }, "\u21B5"), " select \u2022 ", index.h("kbd", { key: '7f118c184acf52edd545e1f97b4ca991eaa1aa1f' }, "esc"), " close")))))));
4012
4048
  }
4013
4049
  get el() { return index.getElement(this); }
4014
4050
  };
4015
4051
  EdsGlobalSearch.style = EdsGlobalSearchStyle0;
4016
4052
 
4017
- 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}}";
4053
+ 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}}";
4018
4054
  const EdsHeaderStyle0 = edsHeaderCss;
4019
4055
 
4020
4056
  const EdsHeader = class {
@@ -4027,14 +4063,10 @@ const EdsHeader = class {
4027
4063
  this.menuEnabled = false;
4028
4064
  this.isMenuOpen = false;
4029
4065
  this.isUserMenuOpen = false;
4030
- this.isAuthenticated = false;
4031
- }
4032
- onAuthStatusChanged(event) {
4033
- var _a;
4034
- this.isAuthenticated = (_a = event.detail) === null || _a === void 0 ? void 0 : _a.authenticated;
4035
4066
  }
4036
4067
  componentDidLoad() {
4037
- const links = this.hostEl.querySelectorAll('eds-link');
4068
+ var _a, _b;
4069
+ const links = (_b = (_a = this.hostEl.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('eds-link')) !== null && _b !== void 0 ? _b : [];
4038
4070
  links.forEach((link) => this.emitContext(link));
4039
4071
  }
4040
4072
  emitContext(linkElement) {
@@ -4062,7 +4094,7 @@ const EdsHeader = class {
4062
4094
  const classes = variantClasses[this.headerVariant] || variantClasses.default;
4063
4095
  // Logo color variant: default and inverse use 'color', strong uses 'color-white'
4064
4096
  const logoType = this.headerVariant === 'strong' ? 'color-white' : 'color';
4065
- return (index.h("header", { key: '937c78379bb6f3a97705862b2fa3f0f6ddd76d4c', class: `flex items-center justify-between relative z-10 ${classes}` }, index.h("div", { key: 'd94837e8414d558f02039501d7b01ab550275ca7', class: "mr-auto w-[200px] h-[85px]" }, index.h("eds-logo", { key: '02711bc6d80075a215761ce79698555f7b31bffa', type: logoType, href: this.homeUrl })), this.parsedLinks && (index.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" }, index.h("ul", { key: '85008ed8ceb8eca869d8730b38a8aa37aeb757ff', class: "flex gap-x-2" }, this.parsedLinks.map((link) => (index.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" })))))), index.h("slot", { key: '35eb7af751f3da381fada990118fa0a37ce150b1' }), this.menuEnabled && (index.h("div", { key: '121bba2b027fc21e8c77054f3de533e40fad6b96', class: "md:hidden flex overflow-hidden px-16" }, index.h("eds-button", { key: '00774810aabf8fa292ecca2210bcd9542a7cb0c2', "aria-label": "Menu", intent: this.headerVariant === 'default' ? 'ghost' : 'ghostInverse', icon: "menu", size: "small", onClick: () => this.handleToggleMenu() })))));
4097
+ return (index.h("header", { key: 'cf272ed6242b2effa3027081d72b58025c49d055', role: "banner", class: `flex items-center justify-between relative z-10 ${classes}` }, index.h("div", { key: '16f81e55c3aa28beabfead914488ce1fd70b408d', class: "mr-auto w-[200px] h-[85px]" }, index.h("eds-logo", { key: '0961fb91dff26c457833b67ef963d60a9902a916', type: logoType, href: this.homeUrl })), this.parsedLinks && (index.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" }, index.h("ul", { key: '06ebd9012b829a30f7cdc27f417116a21d2bfc2f', class: "flex gap-x-16" }, this.parsedLinks.map((link) => (index.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" })))))), index.h("slot", { key: '68c34af928ee215329d354ca1a5ef7850d1112cf', name: "actions" }), this.menuEnabled && (index.h("div", { key: 'cb4cd94fbf5ebbd770631066f2f69f8ac50a3f5f', class: "md:hidden flex overflow-hidden px-16" }, index.h("eds-button", { key: '8f2aa4d59705e9410a0fa8b10c9f348fcfe73db3', "aria-label": "Menu", intent: this.headerVariant === 'default' ? 'ghost' : 'ghostInverse', icon: "menu", size: "small", onClick: () => this.handleToggleMenu() })))));
4066
4098
  }
4067
4099
  get hostEl() { return index.getElement(this); }
4068
4100
  };
@@ -4144,10 +4176,10 @@ const EdsImg = class {
4144
4176
  imgOpts['loading'] = 'lazy';
4145
4177
  imgOpts['decoding'] = 'async';
4146
4178
  }
4147
- return (index.h("div", { key: '7d704bdd14072d6ce69632d6f2de3270ff393b87', class: {
4179
+ return (index.h("div", { key: '1ff909ca6fe3fe40ca5659cea033b404a45580fb', class: {
4148
4180
  'items-center justify-center': true,
4149
4181
  'effect-bg-pattern': this.lazyload && this.showBg
4150
- } }, index.h("picture", { key: '724f384b7b9f112727d3ab4ecdab5f769e581b26' }, this.formats.map((format) => (index.h("source", { type: format.type, srcSet: format.srcset, media: format.media, sizes: this.sizes }))), index.h("img", Object.assign({ key: '8b12b640a9d66fba117676e6bd81659c72a8e15c', ref: (el) => (this.img = el), class: {
4182
+ } }, index.h("picture", { key: '92c92a5aaebd84d96a7bf8c291542d6a8cf4d896' }, this.formats.map((format) => (index.h("source", { type: format.type, srcSet: format.srcset, media: format.media, sizes: this.sizes }))), index.h("img", Object.assign({ key: 'ac8eb664987b1205d5a96c723840ac3ccd779ac1', ref: (el) => (this.img = el), class: {
4151
4183
  'effect-opacity object-cover object-center': true,
4152
4184
  'opacity-100': this.loaded,
4153
4185
  'opacity-0': !this.loaded
@@ -4206,7 +4238,7 @@ const EdsInput = class {
4206
4238
  render() {
4207
4239
  const withIcon = !!this.icon;
4208
4240
  const describedBy = this.hasMessage || this.error ? `${this.name}-error` : '';
4209
- return (index.h("div", { key: '4c49edfceefe448b6f5bb29284f0b757342a6003', class: "relative flex items-center" }, this.type === 'textarea' ? (index.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' ? (index.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) => (index.h("option", { value: option.value, selected: option.value === this.innerVal, key: option.value }, option.label))))) : (index.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'
4241
+ return (index.h("div", { key: '1800587d54da282566893c538d47aadf9f9bb390', class: "relative flex items-center" }, this.type === 'textarea' ? (index.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' ? (index.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) => (index.h("option", { value: option.value, selected: option.value === this.innerVal, key: option.value }, option.label))))) : (index.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'
4210
4242
  ? {
4211
4243
  min: this.min,
4212
4244
  max: this.max,
@@ -4217,7 +4249,7 @@ const EdsInput = class {
4217
4249
  input ${this.type === 'radio' ? 'input-radio' : this.type === 'checkbox' ? 'input-checkbox' : ''}
4218
4250
  ${withIcon && this.type !== 'radio' && this.type !== 'checkbox' ? 'input-icon pl-36' : ''}
4219
4251
  ${this.error ? 'input-error' : ''}
4220
- `, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput }))), this.maxLength && this.type === 'textarea' && (index.h("span", { key: 'df877332c68d4783d5f0f8d8beb94c1859cd00da', class: `input-counter f-ui-05 absolute bottom-8 right-8 ${this.maxLengthReached ? 'input-counter-error' : ''}` }, this.maxLength)), this.icon && (index.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 }))));
4252
+ `, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput }))), this.maxLength && this.type === 'textarea' && (index.h("span", { key: 'cc6cc50cdebea1d4eaecb78bc6ab2b4b92503893', class: `input-counter f-ui-05 absolute bottom-8 right-8 ${this.maxLengthReached ? 'input-counter-error' : ''}` }, this.maxLength)), this.icon && (index.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 }))));
4221
4253
  }
4222
4254
  get el() { return index.getElement(this); }
4223
4255
  static get watchers() { return {
@@ -4328,7 +4360,7 @@ const EdsInputField = class {
4328
4360
  }
4329
4361
  render() {
4330
4362
  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 } : {}));
4331
- return (index.h("div", { key: '8351609cb76699040d692f3a99746970a1498bea' }, this.type === 'checkbox' || this.type === 'radio' ? (this.parsedOptions.length > 0 ? (index.h("fieldset", { class: "space-y-4" }, index.h("div", { class: "flex justify-between mb-4" }, this.label && (index.h("eds-input-label", { name: this.inputId || this.name, label: this.label, required: this.required })), this.hint && (index.h("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint))), this.parsedOptions.map((option) => (index.h("div", { class: "flex items-center gap-x-4 gap-y-4", key: option.value }, index.h("eds-input", Object.assign({}, inputOpts, { value: option.value, checked: typeof this.value === 'string' && this.value.split(',').includes(String(option.value)) })), index.h("label", { htmlFor: this.name, class: `input-label-options ${this.disabled ? 'text-lighter' : ''}` }, option.label)))))) : (index.h("div", { class: "flex items-center gap-x-8" }, index.h("eds-input", Object.assign({}, inputOpts, { value: this.value, checked: this.value === 'on' || this.checked })), this.label && (index.h("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required }))))) : (index.h("div", null, index.h("div", { class: "flex justify-between mb-4" }, this.label && (index.h("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required })), this.hint && (index.h("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint))), this.type === 'select' ? (index.h("eds-input-select", Object.assign({}, inputOpts, { options: this.parsedOptions }))) : this.type === 'file' ? (index.h("input", { type: "file", id: this.inputId || this.name, name: this.name, onChange: this.onChangeNative, disabled: this.disabled, required: this.required })) : this.type === 'search' ? (index.h("eds-input-search", { name: "search-box" })) : this.type === 'range' ? ((() => {
4363
+ return (index.h("div", { key: 'aca76f43840c0e8344d548610bc832cd75ff7bd9' }, this.type === 'checkbox' || this.type === 'radio' ? (this.parsedOptions.length > 0 ? (index.h("fieldset", { class: "space-y-4" }, index.h("div", { class: "flex justify-between mb-4" }, this.label && (index.h("eds-input-label", { name: this.inputId || this.name, label: this.label, required: this.required })), this.hint && (index.h("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint))), this.parsedOptions.map((option) => (index.h("div", { class: "flex items-center gap-x-4 gap-y-4", key: option.value }, index.h("eds-input", Object.assign({}, inputOpts, { value: option.value, checked: typeof this.value === 'string' && this.value.split(',').includes(String(option.value)) })), index.h("label", { htmlFor: this.name, class: `input-label-options ${this.disabled ? 'text-lighter' : ''}` }, option.label)))))) : (index.h("div", { class: "flex items-center gap-x-8" }, index.h("eds-input", Object.assign({}, inputOpts, { value: this.value, checked: this.value === 'on' || this.checked })), this.label && (index.h("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required }))))) : (index.h("div", null, index.h("div", { class: "flex justify-between mb-4" }, this.label && (index.h("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required })), this.hint && (index.h("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint))), this.type === 'select' ? (index.h("eds-input-select", Object.assign({}, inputOpts, { options: this.parsedOptions }))) : this.type === 'file' ? (index.h("input", { type: "file", id: this.inputId || this.name, name: this.name, onChange: this.onChangeNative, disabled: this.disabled, required: this.required })) : this.type === 'search' ? (index.h("eds-input-search", { name: "search-box" })) : this.type === 'range' ? ((() => {
4332
4364
  var _a, _b, _c;
4333
4365
  const rangeProps = {
4334
4366
  name: inputOpts.name,
@@ -4341,7 +4373,7 @@ const EdsInputField = class {
4341
4373
  const opt = this.parsedOptions;
4342
4374
  const numberValue = typeof this.value === 'string' ? parseFloat(this.value) : this.value || 0;
4343
4375
  return (index.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 })));
4344
- })()) : (index.h("eds-input", Object.assign({}, inputOpts))))), index.h("div", { key: '171ca8dfbf4b30a62a05d00f5296b1aaa3d964bd', class: "mt-6" }, index.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 }))));
4376
+ })()) : (index.h("eds-input", Object.assign({}, inputOpts))))), index.h("div", { key: '27dc5705b9627fb597b04837b488326371fac2e2', class: "mt-6" }, index.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 }))));
4345
4377
  }
4346
4378
  static get delegatesFocus() { return true; }
4347
4379
  get hostEl() { return index.getElement(this); }
@@ -4361,7 +4393,7 @@ const EdsInputFooter = class {
4361
4393
  this.link = undefined;
4362
4394
  }
4363
4395
  render() {
4364
- return (index.h("div", { key: '4c3c1cc26e2b003f49b3cfd1c2388833c305781b' }, this.error && this.errorMessage && (index.h("div", { key: '7e14e3a77c99ee2700fd0cd8cb1e738c11e34823', id: `error_${this.name}`, class: "text-error flex items-center" }, index.h("eds-icon-wrapper", { key: '700bc9b58a15e985903fc91abe4e41847d1cf761', icon: "warning" }), index.h("p", { key: 'a90a0fb49221c15125a54a0413a926174c065319', class: "f-ui-04 ml-4 mb-4", innerHTML: this.errorMessage }))), this.message && index.h("p", { key: '24d7c4fb5de1bb54237282edf6e51a16f0475474', id: `desc_${this.name}`, class: "f-ui-05 text-lighter", innerHTML: this.message }), this.link && (index.h("a", { key: '2f01a63b36409dfddd19416777f88008f358b1cb', href: this.link.url, class: "f-ui-05 effect-color hover:text-lighter underline underline-offset-4" }, this.link.label))));
4396
+ return (index.h("div", { key: '6c045ff40d674a27cf4fe4c1a125251edd7455ab' }, this.error && this.errorMessage && (index.h("div", { key: 'd6edd41359f7efb8f0a3bce487b852c1b26c035a', id: `error_${this.name}`, class: "text-error flex items-center" }, index.h("eds-icon-wrapper", { key: 'cd24f34b58c81f00046cc1d90a5b993928e72be8', icon: "warning" }), index.h("p", { key: 'bf718bcf0e04c5af1924381f567d5921bd43edec', class: "f-ui-04 ml-4 mb-4", innerHTML: this.errorMessage }))), this.message && index.h("p", { key: '4ea38b231e7b7fba679a05c12773a486aa3201bc', id: `desc_${this.name}`, class: "f-ui-05 text-lighter", innerHTML: this.message }), this.link && (index.h("eds-link", { key: 'e2e1255c198b707abb2b2194100b83f7b00de9e7', label: this.link.label, url: this.link.url, intent: "underline", size: "small", external: true }))));
4365
4397
  }
4366
4398
  };
4367
4399
  EdsInputFooter.style = EdsInputFooterStyle0;
@@ -4378,7 +4410,7 @@ const EdsInputLabel = class {
4378
4410
  this.disabled = false;
4379
4411
  }
4380
4412
  render() {
4381
- return (index.h("label", { key: '51cf53579cea9effbf421c4f4ab45ef63f6770bf', htmlFor: this.name, class: `input-label ${this.disabled ? 'text-lighter' : ''}` }, this.label, this.required && (index.h("span", { key: '381c4e1e014d43f726e997767c76565a1979e54a' }, index.h("span", { key: '08102ef7990f262bf56b6f5bcf70e2ef6ecb0670', "aria-hidden": "true" }, "*"), index.h("span", { key: '6d3c6f3af5a06c5a1ee2245240cb3fbbef6cf9a8', class: "sr-only" }, "required")))));
4413
+ return (index.h("label", { key: '5e97f430a0ef1cdc4d0b28618d78402991fda8fe', htmlFor: this.name, class: `input-label ${this.disabled ? 'text-lighter' : ''}` }, this.label, this.required && (index.h("span", { key: 'fedf93c4b037f387c4aad3ffab354de94de564d3' }, index.h("span", { key: '72ae856c25308b676d84d7ee0bf214362218a203', "aria-hidden": "true" }, "*"), index.h("span", { key: '39fcf9a2b39a0207eb0b6f62c16183885c98f145', class: "sr-only" }, "required")))));
4382
4414
  }
4383
4415
  };
4384
4416
  EdsInputLabel.style = EdsInputLabelStyle0;
@@ -4425,7 +4457,7 @@ const EdsInputRange = class {
4425
4457
  return this.inputElement;
4426
4458
  }
4427
4459
  render() {
4428
- return (index.h("div", { key: 'c4ce20af554533837b8fc3f7bf69bd649e26b574', class: "relative flex flex-col items-start" }, index.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 }), index.h("p", { key: 'a3acfa464938748480e259cac4376a2be3512e6e', id: `desc_${this.name}`, class: "block f-ui-05 mt-4 text-lighter" }, "Current value: ", this.sliderVal)));
4460
+ return (index.h("div", { key: 'c8106420cb482123e72c8e5b00079d9921749290', class: "relative flex flex-col items-start" }, index.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 }), index.h("p", { key: 'de123d07b20996d3f0c7c5baff788ab42fa0a386', id: `desc_${this.name}`, class: "block f-ui-05 mt-4 text-lighter" }, "Current value: ", this.sliderVal)));
4429
4461
  }
4430
4462
  get el() { return index.getElement(this); }
4431
4463
  static get watchers() { return {
@@ -4494,7 +4526,7 @@ const EdsInputSearch = class {
4494
4526
  return this.inputElement;
4495
4527
  }
4496
4528
  render() {
4497
- return (index.h("div", { key: 'b1232c04e55c9f0bd7b864271ca855a3de242a73', class: "relative flex items-center" }, index.h("eds-icon-wrapper", { key: '67e51a49b994fc00cb48f2b55f54217097f4d837', icon: "search", class: "absolute top-1/2 left-[4px] -translate-y-1/2 text-lightest", "aria-hidden": "true" }), index.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}`,
4529
+ return (index.h("div", { key: 'f8484e4e4a971db07a75ca91b66d4b3cddd5cee9', class: "relative flex items-center" }, index.h("eds-icon-wrapper", { key: '68782ac168c062564d6378bc1bc62e58efeb3555', icon: "search", class: "absolute top-1/2 left-[4px] -translate-y-1/2 text-lightest", "aria-hidden": "true" }), index.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}`,
4498
4530
  //onInput={this.onInput}
4499
4531
  onChange: this.onChange })));
4500
4532
  }
@@ -4523,12 +4555,12 @@ const EdsInputSelect = class {
4523
4555
  const selectId = this.inputId || this.name;
4524
4556
  const placeholderText = this.placeholder || `Pick from the list`;
4525
4557
  const describedBy = this.hasMessage || this.error ? `${this.name}-error` : undefined;
4526
- return (index.h("div", { key: 'b28b21c38ed5848cf08c0bc626f4ce32eddfb775', class: "relative" }, index.h("select", { key: '727f578d43cf12568d3d3b35548a30972fc46300', id: selectId, name: this.name, class: {
4558
+ return (index.h("div", { key: '7f6a81c0f3d1f998c2bd671722cd06992b382540', class: "relative" }, index.h("select", { key: '3e62519e3973cf1136cda70a3af1cc2a2e093451', id: selectId, name: this.name, class: {
4527
4559
  input: true,
4528
4560
  'input-error': this.error,
4529
4561
  'px-4': true,
4530
4562
  'py-2': true
4531
- }, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, disabled: this.disabled, required: this.required, onChange: this.handleChange }, index.h("option", { key: '9283f69f3c723d65243d8f38b92ee2fcd16d187e', value: "", disabled: true, hidden: true }, placeholderText), this.options.map((opt, index$1) => (index.h("option", { key: index$1, value: opt.value, selected: opt.value === this.value }, opt.label)))), index.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" }, index.h("eds-icon-wrapper", { key: 'aa756ea1d279a03ca7919518a15cd63b368a20a0', class: "w-20 h-20", icon: "chevron-right" }))));
4563
+ }, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, disabled: this.disabled, required: this.required, onChange: this.handleChange }, index.h("option", { key: '4292bd21e8c912f3bb0bc727ed2657051a3e03b8', value: "", disabled: true, hidden: true }, placeholderText), this.options.map((opt, index$1) => (index.h("option", { key: index$1, value: opt.value, selected: opt.value === this.value }, opt.label)))), index.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" }, index.h("eds-icon-wrapper", { key: '0183976264d130c3c12b30c829fae36512607ac4', class: "w-20 h-20", icon: "chevron-right" }))));
4532
4564
  }
4533
4565
  };
4534
4566
 
@@ -4599,7 +4631,6 @@ const linkStyles = index$1.cva([
4599
4631
  false: ''
4600
4632
  },
4601
4633
  size: {
4602
- underline: 'f-body-02 ',
4603
4634
  small: 'min-h-36 f-ui-02 px-12',
4604
4635
  large: 'min-h-44 f-ui-01 px-16'
4605
4636
  }
@@ -4652,6 +4683,16 @@ const linkStyles = index$1.cva([
4652
4683
  intent: 'inverse',
4653
4684
  isActive: true,
4654
4685
  class: 'before:!opacity-100'
4686
+ },
4687
+ {
4688
+ intent: 'underline',
4689
+ size: 'small',
4690
+ class: '!px-0 !py-0 !min-h-0 f-ui-02'
4691
+ },
4692
+ {
4693
+ intent: 'underline',
4694
+ size: 'large',
4695
+ class: '!px-0 !py-0 !min-h-0 f-ui-01'
4655
4696
  }
4656
4697
  ],
4657
4698
  defaultVariants: {
@@ -4667,7 +4708,7 @@ const EdsLink = class {
4667
4708
  index.registerInstance(this, hostRef);
4668
4709
  this.parentContext = null; // Accepts the entire event detail or null
4669
4710
  this.label = undefined;
4670
- this.intent = undefined;
4711
+ this.intent = 'primary';
4671
4712
  this.icon = undefined;
4672
4713
  this.iconPos = 'right';
4673
4714
  this.iconSmall = false;
@@ -4679,7 +4720,6 @@ const EdsLink = class {
4679
4720
  this.ariaLabel = undefined;
4680
4721
  this.disabled = false;
4681
4722
  this.hideLabelOnSmallScreen = false;
4682
- this.extraClass = undefined;
4683
4723
  }
4684
4724
  handleParentContext(event) {
4685
4725
  if (event.target !== this.el) {
@@ -4724,9 +4764,6 @@ const EdsLink = class {
4724
4764
  }
4725
4765
  }
4726
4766
  getLinkSize() {
4727
- if (this.intent === 'underline') {
4728
- return 'underline';
4729
- }
4730
4767
  return this.size;
4731
4768
  }
4732
4769
  renderLeftIcon() {
@@ -4755,12 +4792,13 @@ const EdsLink = class {
4755
4792
  isActive: this.current,
4756
4793
  hasIcon: !!this.icon
4757
4794
  });
4795
+ const safeUrl = typeof this.url === 'string' && this.url.length ? this.url : undefined;
4758
4796
  const isInteractive = !this.disabled;
4759
4797
  const isIconOnly = !this.label || (this.hideLabelOnSmallScreen && this.icon);
4760
4798
  const labelClasses = this.hideLabelOnSmallScreen
4761
4799
  ? 'hidden lg:flex' // Tailwind example: hidden on small screens, visible on larger
4762
4800
  : '';
4763
- return (index.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) }, index.h("span", { key: '5bf88be39965ca8693daa611b4ca9a85cefb30d3', class: "z-1 relative inline-flex items-center justify-center" }, this.renderLeftIcon(), this.label && index.h("span", { key: 'd92b36812200d809cbccfd9da7f2387a7de80699', class: labelClasses }, this.label), this.renderRightIcon())));
4801
+ return (index.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) }, index.h("span", { key: '8a8d9d31456c414d2167db7520978aefd9d955dc', class: "z-1 relative inline-flex items-center justify-center" }, this.renderLeftIcon(), this.label && index.h("span", { key: 'b26b2f5aafa647912ced4b747c8b1e1c7a508050', class: labelClasses }, this.label), this.renderRightIcon())));
4764
4802
  }
4765
4803
  get el() { return index.getElement(this); }
4766
4804
  };
@@ -4828,7 +4866,7 @@ const EdsLogo = class {
4828
4866
  }
4829
4867
  render() {
4830
4868
  const logoContent = this.getLogo();
4831
- return (index.h("a", { key: '550cb4d73702a6a7053adfb5ebe67ff4201e98ad', href: this.href, onClick: () => this.handleClick(), class: "eds-logo-wrapper", "aria-label": this.label }, index.h("div", { key: '141b0faa05a2d51d3ca97242aa910e53e910ad9d', innerHTML: logoContent })));
4869
+ return (index.h("a", { key: '341988e61c1b9f946bd4529f5562af8366704868', href: this.href, onClick: () => this.handleClick(), class: "eds-logo-wrapper", "aria-label": this.label }, index.h("div", { key: '1a1e4516ba223b6132a85889626ca7856ca5a16c', innerHTML: logoContent })));
4832
4870
  }
4833
4871
  get el() { return index.getElement(this); }
4834
4872
  };
@@ -4960,71 +4998,84 @@ const EdsNps = class {
4960
4998
  this.nps = index.createEvent(this, "nps", 7);
4961
4999
  this.min = 0;
4962
5000
  this.max = 10;
5001
+ this.btnRefs = [];
5002
+ this.onSelect = (value) => {
5003
+ this.selectedValue = value;
5004
+ this.nps.emit(value);
5005
+ // Move focus to the selected button (like your rating component)
5006
+ requestAnimationFrame(() => {
5007
+ var _a, _b;
5008
+ const idx = value - this.min;
5009
+ (_b = (_a = this.btnRefs[idx]) === null || _a === void 0 ? void 0 : _a.focus) === null || _b === void 0 ? void 0 : _b.call(_a);
5010
+ });
5011
+ };
5012
+ this.handleKeyNav = (e) => {
5013
+ const { key } = e;
5014
+ const navigational = ['ArrowRight', 'ArrowLeft', 'Home', 'End', ' ', 'Enter'];
5015
+ if (!navigational.includes(key)) {
5016
+ return;
5017
+ }
5018
+ e.preventDefault();
5019
+ const count = this.max - this.min + 1;
5020
+ // Derive current index from selectedValue; if none, use 0 (first)
5021
+ let currentIdx = this.selectedValue == null ? 0 : this.selectedValue - this.min;
5022
+ switch (key) {
5023
+ case 'ArrowRight':
5024
+ currentIdx = Math.min(count - 1, currentIdx + 1);
5025
+ this.setActiveByIndex(currentIdx, /*commit*/ false);
5026
+ break;
5027
+ case 'ArrowLeft':
5028
+ currentIdx = Math.max(0, currentIdx - 1);
5029
+ this.setActiveByIndex(currentIdx, /*commit*/ false);
5030
+ break;
5031
+ case 'Home':
5032
+ this.setActiveByIndex(0, /*commit*/ false);
5033
+ break;
5034
+ case 'End':
5035
+ this.setActiveByIndex(count - 1, /*commit*/ false);
5036
+ break;
5037
+ case ' ':
5038
+ case 'Enter':
5039
+ // Commit current focused item
5040
+ this.onSelect(this.min + currentIdx);
5041
+ break;
5042
+ }
5043
+ };
4963
5044
  this.question = undefined;
4964
5045
  this.leftLabel = undefined;
4965
5046
  this.rightLabel = undefined;
4966
5047
  this.selectedValue = null;
4967
5048
  }
4968
- handleClick(value) {
5049
+ /** Move visual highlight & roving tabindex; optionally commit selection */
5050
+ setActiveByIndex(index, commit = false) {
5051
+ var _a;
5052
+ const value = this.min + index;
5053
+ // Update highlight so focus movement is visible (like your rating)
4969
5054
  this.selectedValue = value;
4970
- this.nps.emit(value);
4971
- }
4972
- handleKeyNav(e) {
4973
- const radios = Array.from(this.el.shadowRoot.querySelectorAll('eds-button'));
4974
- const currentIndex = radios.findIndex((r) => r.tabIndex === 0);
4975
- switch (e.key) {
4976
- case 'ArrowRight':
4977
- case 'ArrowLeft': {
4978
- e.preventDefault();
4979
- const delta = e.key === 'ArrowRight' ? 1 : -1;
4980
- const nextIndex = Math.min(this.max, Math.max(0, currentIndex + delta));
4981
- this.activateRadio(radios, nextIndex);
4982
- break;
4983
- }
4984
- case 'Home': {
4985
- e.preventDefault();
4986
- this.activateRadio(radios, 0);
4987
- break;
4988
- }
4989
- case 'End': {
4990
- e.preventDefault();
4991
- this.activateRadio(radios, this.max);
4992
- break;
4993
- }
4994
- case 'Enter':
4995
- case ' ': {
4996
- e.preventDefault();
4997
- if (currentIndex >= 0) {
4998
- this.handleClick(this.min + currentIndex);
4999
- }
5000
- break;
5001
- }
5002
- case 'Escape': {
5003
- e.preventDefault();
5004
- if (currentIndex >= 0) {
5005
- radios[currentIndex].blur();
5006
- }
5007
- break;
5008
- }
5009
- default:
5010
- return;
5055
+ // Focus the button host (ensure eds-button forwards focus to its inner <button>)
5056
+ const target = this.btnRefs[index];
5057
+ 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);
5058
+ if (commit) {
5059
+ this.onSelect(value);
5011
5060
  }
5012
5061
  }
5013
- activateRadio(radios, index) {
5014
- const target = radios[index];
5015
- const value = this.min + index;
5016
- this.handleClick(value);
5017
- target.focus();
5018
- }
5019
5062
  render() {
5020
5063
  const count = this.max - this.min + 1;
5021
- //onst fallback = 0;
5022
- return (index.h("div", { key: '51e0d272693fd42d1f239f8498d9a5744dead8d7', class: "eds-nps" }, index.h("eds-input-label", { key: 'f9d3b65985e221f9608da3aba22cc1dc4dd54417', id: "nps-question", name: "nps-question", label: this.question }), index.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) => {
5064
+ return (index.h("div", { key: 'ca0a63dd6554e39b78fe1c607af0fede74c692c7', class: "eds-nps" }, index.h("eds-input-label", { key: 'bdf231836d8c6dbd46e852753696c4b7dad577c7', id: "nps-question", name: "nps-question", label: this.question }), index.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) => {
5023
5065
  const val = this.min + i;
5024
5066
  const isSelected = val === this.selectedValue;
5025
- const tabIndex = isSelected ? 0 : -1;
5026
- return (index.h("div", { class: "grid-col-span-1", key: val }, index.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) })));
5027
- })), index.h("div", { key: '7289bd6476a2080be3c02011240e2493b84079e5', class: "flex justify-between mt-8" }, index.h("span", { key: 'ebfcebd9aa3d11cf298e44987debd8edef1f6e40', class: "f-ui-04 text-light ml-4" }, this.leftLabel), index.h("span", { key: '002f9878b267439af9f83f9ffd1b52eaef46b929', class: "f-ui-04 text-light mr-4" }, this.rightLabel))));
5067
+ // Roving tabindex: focusable is the selected; if none selected yet, first is focusable
5068
+ const tabIndex = isSelected || (this.selectedValue == null && i === 0) ? 0 : -1;
5069
+ return (index.h("div", { class: "grid-col-span-1", key: val }, index.h("eds-button", { ref: (el) => (this.btnRefs[i] = el), role: "radio", "aria-checked": isSelected ? 'true' : 'false', "aria-label": `${val}`,
5070
+ // Use onClick so keyboard activation on inner <button> works natively
5071
+ onClick: () => this.onSelect(val), tabIndex: tabIndex, intent: isSelected ? 'primary' : 'ghost', "extra-class": "!block !px-0 w-full", label: `${val}`,
5072
+ // Optional: keep highlight in sync when tabbing into the group
5073
+ onFocus: () => {
5074
+ // Only move highlight on initial focus or when roving; remove if you
5075
+ // want focus without highlight.
5076
+ this.selectedValue = val;
5077
+ } })));
5078
+ })), index.h("div", { key: 'ffd498e00559a76b44e8d98ed060db86e60fbde7', class: "flex justify-between mt-8" }, index.h("span", { key: '80065344c34d88ce3f01aac28d2b87ded60ec524', class: "f-ui-04 text-light ml-4" }, this.leftLabel), index.h("span", { key: '2a67b416e4e7b0bf61aa66cb4546192860bd372f', class: "f-ui-04 text-light mr-4" }, this.rightLabel))));
5028
5079
  }
5029
5080
  get el() { return index.getElement(this); }
5030
5081
  };
@@ -5271,7 +5322,7 @@ const EdsPagination = class {
5271
5322
  }
5272
5323
  render() {
5273
5324
  const navigableIndex = -1; // Track index for keyboard navigation
5274
- return (index.h("div", { key: 'bf34cb68555555ef984592b261929cfb5ef93048' }, this.total > 0 && this.mode === 'default' && (index.h("p", { key: '47b8034e6fd839151cdaff04d4df43fec520ce40', class: "f-ui-03 text-light mb-28 w-full text-center", "aria-live": "polite", id: "pagination-info" }, index.h("span", { key: 'd9d340393777b7b6e808fa21d38f691f1002b363', class: "text-light sr-only" }, "Results:"), this.pageResults())), this.mode === 'navigator' || (this.lastPage && this.lastPage > 1) ? (index.h("nav", { "aria-label": "Pagination Navigation", "aria-describedby": this.mode === 'default' ? 'pagination-info' : undefined, onKeyDown: this.handleKeyDown }, index.h("ul", { class: "flex items-center justify-center gap-x-8", role: "list" }, index.h("li", { class: "mr-auto" }, this.useButtons ? (index.h("div", { class: "pagination-button-wrapper", onFocus: () => this.handleItemFocus(navigableIndex) }, index.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) => {
5325
+ return (index.h("div", { key: '3ca147814cf1e0003bac73502a0ae2bf96412ce2' }, this.total > 0 && this.mode === 'default' && (index.h("p", { key: '85e3fe3224888a4fc9029e91c53c5a753506af55', class: "f-ui-03 text-light mb-28 w-full text-center", "aria-live": "polite", id: "pagination-info" }, index.h("span", { key: '9edeecb5ae0a1c74dcbf11829a4079cdbbfd46e4', class: "text-light sr-only" }, "Results:"), this.pageResults())), this.mode === 'navigator' || (this.lastPage && this.lastPage > 1) ? (index.h("nav", { "aria-label": "Pagination Navigation", "aria-describedby": this.mode === 'default' ? 'pagination-info' : undefined, onKeyDown: this.handleKeyDown }, index.h("ul", { class: "flex items-center justify-center gap-x-8", role: "list" }, index.h("li", { class: "mr-auto" }, this.useButtons ? (index.h("div", { class: "pagination-button-wrapper", onFocus: () => this.handleItemFocus(navigableIndex) }, index.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) => {
5275
5326
  if (this.mode === 'default' && !this.isFirstPage()) {
5276
5327
  this.handlePageClick(event, (this.currentPage || 1) - 1);
5277
5328
  }
@@ -5364,7 +5415,7 @@ const EdsRating = class {
5364
5415
  this.onSelect(next);
5365
5416
  }
5366
5417
  render() {
5367
- return (index.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$1) => {
5418
+ return (index.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$1) => {
5368
5419
  const starRating = index$1 + 1;
5369
5420
  const isSelected = starRating <= this.selectedRating;
5370
5421
  // Use the mapping text if available; otherwise, fall back to a generic label.
@@ -5377,6 +5428,170 @@ const EdsRating = class {
5377
5428
  };
5378
5429
  EdsRating.style = EdsRatingStyle0;
5379
5430
 
5431
+ 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}";
5432
+ const EdsSidebarStyle0 = edsSidebarCss;
5433
+
5434
+ const EdsSidebar = class {
5435
+ constructor(hostRef) {
5436
+ index.registerInstance(this, hostRef);
5437
+ this.sidebar = index.createEvent(this, "sidebar", 7);
5438
+ this.toggleItem = (itemId, ev) => {
5439
+ if (ev) {
5440
+ ev.stopPropagation();
5441
+ }
5442
+ const newOpen = new Set(this.openItems);
5443
+ if (newOpen.has(itemId)) {
5444
+ newOpen.delete(itemId);
5445
+ }
5446
+ else {
5447
+ newOpen.add(itemId);
5448
+ }
5449
+ this.openItems = newOpen;
5450
+ };
5451
+ this.navigate = (url, ev) => {
5452
+ if (!this.enableRouting || !url) {
5453
+ return;
5454
+ }
5455
+ if (ev) {
5456
+ ev.preventDefault();
5457
+ ev.stopPropagation();
5458
+ }
5459
+ // Emit custom event for routing
5460
+ this.sidebar.emit(url);
5461
+ // Update browser history if available
5462
+ if (typeof window !== 'undefined' && window.history) {
5463
+ window.history.pushState({}, '', url);
5464
+ }
5465
+ };
5466
+ this.handleItemClick = (item, ev) => {
5467
+ var _a;
5468
+ // If item has children, ONLY toggle (don't navigate)
5469
+ if ((_a = item.children) === null || _a === void 0 ? void 0 : _a.length) {
5470
+ this.toggleItem(item.id, ev);
5471
+ return;
5472
+ }
5473
+ // Only navigate if no children and has URL
5474
+ if (item.url) {
5475
+ this.navigate(item.url, ev);
5476
+ }
5477
+ };
5478
+ this.items = '[]';
5479
+ this.theme = 'default';
5480
+ this.activeUrl = '';
5481
+ this.enableRouting = true;
5482
+ this.maxLevel = 4;
5483
+ this.openItems = new Set();
5484
+ this.parsedItems = [];
5485
+ }
5486
+ // ---------------------------------------------------------------------------
5487
+ // Lifecycle
5488
+ // ---------------------------------------------------------------------------
5489
+ componentWillLoad() {
5490
+ this.parsedItems = this.parseItems(this.items);
5491
+ this.initializeOpenItems(this.parsedItems);
5492
+ }
5493
+ // ---------------------------------------------------------------------------
5494
+ // Watchers
5495
+ // ---------------------------------------------------------------------------
5496
+ handleItemsChange(newItems) {
5497
+ this.parsedItems = this.parseItems(newItems);
5498
+ this.initializeOpenItems(this.parsedItems);
5499
+ }
5500
+ handleActiveUrlChange() {
5501
+ this.initializeOpenItems(this.parsedItems);
5502
+ }
5503
+ // ---------------------------------------------------------------------------
5504
+ // Utils
5505
+ // ---------------------------------------------------------------------------
5506
+ parseItems(items) {
5507
+ if (Array.isArray(items)) {
5508
+ return items;
5509
+ }
5510
+ if (typeof items === 'string') {
5511
+ if (!items || items.trim() === '') {
5512
+ return [];
5513
+ }
5514
+ try {
5515
+ const parsed = JSON.parse(items);
5516
+ return Array.isArray(parsed) ? parsed : [];
5517
+ }
5518
+ catch (e) {
5519
+ console.error('eds-sidebar: Failed to parse items JSON:', e);
5520
+ console.error('Received string:', items);
5521
+ return [];
5522
+ }
5523
+ }
5524
+ return [];
5525
+ }
5526
+ initializeOpenItems(items, level = 0) {
5527
+ if (level === 0) {
5528
+ // reset before recomputing
5529
+ this.openItems = new Set();
5530
+ }
5531
+ if (level >= this.maxLevel) {
5532
+ return;
5533
+ }
5534
+ items.forEach((item) => {
5535
+ var _a;
5536
+ const isActive = this.activeUrl && item.url === this.activeUrl;
5537
+ const hasActiveChild = this.hasActiveDescendant(item);
5538
+ if (item.open || isActive || hasActiveChild) {
5539
+ this.openItems.add(item.id);
5540
+ }
5541
+ if ((_a = item.children) === null || _a === void 0 ? void 0 : _a.length) {
5542
+ this.initializeOpenItems(item.children, level + 1);
5543
+ }
5544
+ });
5545
+ }
5546
+ hasActiveDescendant(item) {
5547
+ var _a;
5548
+ if (item.url === this.activeUrl) {
5549
+ return true;
5550
+ }
5551
+ if (!((_a = item.children) === null || _a === void 0 ? void 0 : _a.length)) {
5552
+ return false;
5553
+ }
5554
+ return item.children.some((child) => this.hasActiveDescendant(child));
5555
+ }
5556
+ // ---------------------------------------------------------------------------
5557
+ // Render
5558
+ // ---------------------------------------------------------------------------
5559
+ renderItem(item, level = 0) {
5560
+ if (level >= this.maxLevel) {
5561
+ return null;
5562
+ }
5563
+ const isOpen = this.openItems.has(item.id);
5564
+ const isActive = !!item.url && this.activeUrl === item.url;
5565
+ const hasChildren = !!(item.children && item.children.length);
5566
+ const itemId = `eds-sidebar-${item.id}`;
5567
+ const childrenId = `${itemId}-children`;
5568
+ return (index.h("li", { class: {
5569
+ 'sidebar-item': true,
5570
+ open: isOpen,
5571
+ active: isActive,
5572
+ 'has-children': hasChildren,
5573
+ [`level-${level}`]: true
5574
+ } }, index.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) => {
5575
+ if (e.key === 'Enter' || e.key === ' ') {
5576
+ e.preventDefault();
5577
+ this.handleItemClick(item, e);
5578
+ }
5579
+ } }, hasChildren && (index.h("span", { class: "sidebar-toggle mt-2 -ml-4", "aria-hidden": "true" }, index.h("eds-icon-wrapper", { icon: isOpen ? 'chevron-down' : 'chevron-right' }))), index.h("span", { class: "sidebar-link-wrapper" }, index.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 && (index.h("ul", { id: childrenId, class: "sidebar-children" }, item.children.map((child) => this.renderItem(child, level + 1))))));
5580
+ }
5581
+ render() {
5582
+ return (index.h(index.Host, { key: '4334d20e5d72671243633253910ab05b4da013da', class: {
5583
+ 'eds-sidebar': true,
5584
+ [`theme-${this.theme}`]: true
5585
+ } }, index.h("nav", { key: '319f6f42416d4229f1b011bf1216b39c8627302d', class: "sidebar-nav", "aria-label": "Sidebar" }, index.h("ul", { key: '687ceae3eca3e844e8f6a361db4a76d127d27813', class: "sidebar-list" }, this.parsedItems.map((item) => this.renderItem(item, 0))))));
5586
+ }
5587
+ get el() { return index.getElement(this); }
5588
+ static get watchers() { return {
5589
+ "items": ["handleItemsChange"],
5590
+ "activeUrl": ["handleActiveUrlChange"]
5591
+ }; }
5592
+ };
5593
+ EdsSidebar.style = EdsSidebarStyle0;
5594
+
5380
5595
  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)}";
5381
5596
  const EdsSpinnerStyle0 = edsSpinnerCss;
5382
5597
 
@@ -5453,12 +5668,12 @@ const EdsSpinner = class {
5453
5668
  alignItems: 'center',
5454
5669
  justifyContent: 'center'
5455
5670
  };
5456
- return (index.h(index.Host, { key: 'dbf06a1430e3a69314ec016937a9b3ba89229353' }, index.h("div", { key: '12a51b0eed154fd2c6b6ae4ce586630a8f61164a', class: "spinner-overlay", style: overlayStyle }, index.h("span", { key: '0e63b80c45efec7b226b5f4277fe00e4f7bc4f1b', class: "spinner", style: spinnerStyle }), this.message && index.h("p", { key: '8625d4589ec26c9513d1dc7a53fa17b9874fcf3c', class: "f-body-01" }, this.message))));
5671
+ return (index.h(index.Host, { key: 'c50ca410eb23855b3076babb78b4849246722cf7' }, index.h("div", { key: '9b3722b00777a0dd77288c4c3b29419a9b87640b', class: "spinner-overlay", style: overlayStyle }, index.h("span", { key: '5479d0195b6d8991613df8ae03eee34b2a095b6b', class: "spinner", style: spinnerStyle }), this.message && index.h("p", { key: '448c3b0e6ce0aac6c21b53c58b97e423a1739864', class: "f-body-01" }, this.message))));
5457
5672
  }
5458
5673
  };
5459
5674
  EdsSpinner.style = EdsSpinnerStyle0;
5460
5675
 
5461
- 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}";
5676
+ 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}";
5462
5677
  const EdsStepsStyle0 = edsStepsCss;
5463
5678
 
5464
5679
  const EdsSteps = class {
@@ -5469,47 +5684,63 @@ const EdsSteps = class {
5469
5684
  this.next = index.createEvent(this, "next", 7);
5470
5685
  this.back = index.createEvent(this, "back", 7);
5471
5686
  this.handleTitleClick = (index) => {
5472
- // 1) If clicking the current title, keep your existing toggle behavior
5473
- if (index === this.activeStep) {
5474
- this.activeStep = this.activeStep === index ? -1 : index;
5687
+ // In linear mode, do NOT collapse; only navigate if allowed.
5688
+ if (this.type === 'linear') {
5689
+ // prevent jumping forward over disabled steps
5690
+ if (index > this.activeStep) {
5691
+ for (let i = this.activeStep; i < index; i++) {
5692
+ if (this.isStepDisabled(i)) {
5693
+ return;
5694
+ }
5695
+ }
5696
+ }
5697
+ this.activeStep = index;
5475
5698
  this.step.emit(this.activeStep);
5476
5699
  return;
5477
5700
  }
5478
- // 2) In linear mode, block jumping *forward* when current step is gated
5479
- const forwardBlocked = this.type === 'linear' && index > this.activeStep && this.isNextDisabledFor(this.activeStep);
5480
- if (forwardBlocked) {
5701
+ // Non-linear vertical mode: support optional collapse/expand on current title
5702
+ if (this.orientation === 'vertical' && index === this.activeStep && this.collapsibleTitles) {
5703
+ this.activeStep = this.activeStep === index ? -1 : index;
5704
+ this.step.emit(this.activeStep);
5481
5705
  return;
5482
- } // do nothing when Next/Finish would be disabled
5483
- // 3) Allow jumping back or forward when not gated
5706
+ }
5707
+ // Otherwise, just set
5484
5708
  this.activeStep = index;
5485
5709
  this.step.emit(this.activeStep);
5486
5710
  };
5487
5711
  this.handleNext = () => {
5488
5712
  const lastIndex = this.parsedSteps.length - 1;
5713
+ // On last step
5489
5714
  if (this.activeStep >= lastIndex) {
5490
- this.activeStep = -1;
5491
5715
  this.finished.emit();
5716
+ this.activeStep = -1; // collapse the content
5717
+ this.step.emit(this.activeStep); // notify change (-1 sentinel)
5492
5718
  return;
5493
5719
  }
5494
5720
  const target = this.activeStep + 1;
5495
5721
  this.next.emit(target);
5496
- if (this.isNextDisabledFor(this.activeStep)) {
5722
+ if (this.isStepDisabled(this.activeStep)) {
5497
5723
  return;
5498
- } // block advance only if current is disabled
5724
+ }
5499
5725
  this.activeStep = target;
5500
5726
  this.step.emit(this.activeStep);
5501
- // 2) if using the boolean form, clear it when moving away from a step
5502
5727
  if (!Array.isArray(this.disableNext)) {
5503
5728
  this.disableNext = false;
5504
5729
  }
5505
5730
  };
5506
5731
  this.handleBack = () => {
5732
+ const lastIndex = this.parsedSteps.length - 1;
5733
+ // If somehow collapsed, recover to last visible step first
5734
+ if (this.activeStep < 0) {
5735
+ this.activeStep = lastIndex;
5736
+ this.step.emit(this.activeStep);
5737
+ return;
5738
+ }
5507
5739
  if (this.activeStep > 0) {
5508
5740
  const target = this.activeStep - 1;
5509
5741
  this.back.emit(target);
5510
5742
  this.activeStep = target;
5511
5743
  this.step.emit(this.activeStep);
5512
- // also clear boolean form on back
5513
5744
  if (!Array.isArray(this.disableNext)) {
5514
5745
  this.disableNext = false;
5515
5746
  }
@@ -5517,51 +5748,91 @@ const EdsSteps = class {
5517
5748
  };
5518
5749
  this.steps = [];
5519
5750
  this.type = 'static';
5751
+ this.orientation = 'vertical';
5520
5752
  this.nextLabel = 'Next';
5521
5753
  this.backLabel = 'Back';
5522
5754
  this.finishLabel = 'Finish';
5523
5755
  this.disableNext = false;
5524
5756
  this.headingLevel = 'h4';
5757
+ this.collapsibleTitles = false;
5525
5758
  this.activeStep = 0;
5526
5759
  }
5760
+ handleDisableNextChange(newValue) {
5761
+ if (typeof newValue === 'string' && newValue.trim().startsWith('[')) {
5762
+ try {
5763
+ this.disableNext = JSON.parse(newValue);
5764
+ }
5765
+ catch (e) {
5766
+ console.error('Failed to parse disable-next array:', e);
5767
+ }
5768
+ }
5769
+ }
5770
+ componentWillLoad() {
5771
+ this.handleDisableNextChange(this.disableNext);
5772
+ }
5527
5773
  componentDidLoad() {
5528
- var _a;
5529
5774
  if (this.type === 'linear') {
5530
- const btns = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('eds-button');
5775
+ const root = this.el.shadowRoot || this.el;
5776
+ const btns = root.querySelectorAll('eds-button');
5531
5777
  btns === null || btns === void 0 ? void 0 : btns.forEach((btn) => this.emitContext(btn));
5532
5778
  }
5533
5779
  }
5534
5780
  activeStepChanged(newValue) {
5781
+ // Clamp to valid range or collapsed sentinel
5782
+ const max = Math.max(0, this.parsedSteps.length - 1);
5783
+ if (newValue > max) {
5784
+ this.activeStep = max;
5785
+ return;
5786
+ }
5787
+ if (newValue < -1) {
5788
+ this.activeStep = -1;
5789
+ return;
5790
+ }
5791
+ // If collapsed (only possible in non-linear mode), do not emit context
5792
+ if (newValue < 0) {
5793
+ return;
5794
+ }
5535
5795
  setTimeout(() => {
5536
- var _a;
5537
- const activeStepContainer = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.step')[newValue];
5538
- if (activeStepContainer) {
5539
- activeStepContainer.querySelectorAll('eds-button').forEach((btn) => this.emitContext(btn));
5540
- }
5796
+ const root = this.el.shadowRoot || this.el;
5797
+ const all = root.querySelectorAll('.step');
5798
+ const active = all && newValue < all.length ? all[newValue] : undefined;
5799
+ active === null || active === void 0 ? void 0 : active.querySelectorAll('eds-button').forEach((btn) => this.emitContext(btn));
5541
5800
  }, 50);
5542
5801
  }
5543
5802
  emitContext(linkElement) {
5544
5803
  const event = new CustomEvent('parentContext', {
5545
- detail: {
5546
- componentName: this.el.tagName.toLowerCase(),
5547
- identifier: this.activeStep
5548
- }
5804
+ detail: { componentName: this.el.tagName.toLowerCase(), identifier: this.activeStep },
5805
+ bubbles: true,
5806
+ composed: true
5549
5807
  });
5550
5808
  linkElement.dispatchEvent(event);
5551
5809
  }
5552
5810
  get parsedSteps() {
5553
5811
  return sharedUtils.parseData(this.steps);
5554
5812
  }
5813
+ isStepDisabled(index) {
5814
+ if (Array.isArray(this.disableNext)) {
5815
+ return index < this.disableNext.length ? !!this.disableNext[index] : false;
5816
+ }
5817
+ return index === this.activeStep && !!this.disableNext;
5818
+ }
5555
5819
  isNextDisabledFor(index) {
5556
- return Array.isArray(this.disableNext)
5557
- ? !!this.disableNext[index] // per-step
5558
- : index === this.activeStep && !!this.disableNext; // only active step
5820
+ return this.isStepDisabled(index);
5559
5821
  }
5560
5822
  /** Render the semantic heading element as a clickable control only in linear mode */
5561
5823
  renderHeading(title, index$1) {
5562
5824
  const Tag = this.headingLevel;
5825
+ const isOpen = this.activeStep === index$1;
5563
5826
  if (this.type === 'linear') {
5564
- const forwardBlocked = index$1 > this.activeStep && this.isNextDisabledFor(this.activeStep);
5827
+ let forwardBlocked = false;
5828
+ if (index$1 > this.activeStep) {
5829
+ for (let i = this.activeStep; i < index$1; i++) {
5830
+ if (this.isStepDisabled(i)) {
5831
+ forwardBlocked = true;
5832
+ break;
5833
+ }
5834
+ }
5835
+ }
5565
5836
  const onKey = (e) => {
5566
5837
  if (forwardBlocked) {
5567
5838
  return;
@@ -5571,30 +5842,67 @@ const EdsSteps = class {
5571
5842
  this.handleTitleClick(index$1);
5572
5843
  }
5573
5844
  };
5574
- const isOpen = this.activeStep === index$1;
5575
5845
  return (index.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$1}`, onClick: () => !forwardBlocked && this.handleTitleClick(index$1), onKeyDown: onKey }, title));
5576
5846
  }
5577
- return index.h(Tag, { class: "eds-steps__title" }, title);
5847
+ return (index.h(Tag, { class: `eds-steps__title ${this.collapsibleTitles && index$1 !== this.activeStep ? '' : ''}`, onClick: () => this.handleTitleClick(index$1) }, title));
5848
+ }
5849
+ /** Render horizontal step indicator */
5850
+ renderHorizontalIndicator(step, index$1) {
5851
+ const isActive = this.activeStep === index$1;
5852
+ const isCompleted = this.activeStep > index$1;
5853
+ let forwardBlocked = false;
5854
+ if (index$1 > this.activeStep) {
5855
+ for (let i = this.activeStep; i < index$1; i++) {
5856
+ if (this.isStepDisabled(i)) {
5857
+ forwardBlocked = true;
5858
+ break;
5859
+ }
5860
+ }
5861
+ }
5862
+ const onKey = (e) => {
5863
+ if (forwardBlocked) {
5864
+ return;
5865
+ }
5866
+ if (e.key === 'Enter' || e.key === ' ') {
5867
+ e.preventDefault();
5868
+ this.handleTitleClick(index$1);
5869
+ }
5870
+ };
5871
+ return (index.h("div", { class: `horizontal-step ${isActive ? 'is-active' : ''} ${isCompleted ? 'is-completed' : ''}`, onClick: () => !forwardBlocked && this.handleTitleClick(index$1), onKeyDown: onKey, role: "button", tabindex: forwardBlocked ? -1 : 0, "aria-label": `Step ${index$1 + 1}: ${step.title}`, "aria-current": isActive ? 'step' : undefined, "aria-disabled": forwardBlocked ? 'true' : 'false' }, index.h("div", { class: "step-indicator" }, index.h("span", { class: "step-number" }, index$1 + 1)), index.h("span", { class: `text-center text-default f-ui-03 ${forwardBlocked ? 'opacity-50' : ''}` }, step.title)));
5578
5872
  }
5579
5873
  render() {
5580
5874
  const steps = this.parsedSteps;
5875
+ // Horizontal Linear
5876
+ if (this.type === 'linear' && this.orientation === 'horizontal') {
5877
+ return (index.h("div", { class: "steps--horizontal", style: { '--step-count': steps.length.toString() } }, index.h("div", { class: "horizontal-indicators" }, steps.map((step, index) => this.renderHorizontalIndicator(step, index))), steps.map((step, index$1) => {
5878
+ const isLast = index$1 === steps.length - 1;
5879
+ if (this.activeStep !== index$1) {
5880
+ return null;
5881
+ }
5882
+ const marginClass = this.orientation === 'horizontal' ? 'mt-64' : 'mt-32';
5883
+ return (index.h("div", { class: "step-content", key: index$1, id: `eds-step-panel-${index$1}` }, index.h("slot", { name: `step-${index$1}` }, index.h("div", { class: "f-body-02 text-lighter", innerHTML: step.content })), index.h("div", { class: `flex items-center justify-between ${marginClass}` }, index.h("eds-button", { label: this.backLabel, intent: "ghost", icon: "chevron-left", iconPos: "left", iconSmall: true, onClick: this.handleBack, disabled: index$1 === 0, class: index$1 === 0 ? 'hidden' : 'block', size: "small" }), index.h("eds-button", { label: isLast ? this.finishLabel : this.nextLabel, intent: "primary", icon: "chevron-right", iconSmall: true, onClick: this.handleNext, disabled: this.isNextDisabledFor(index$1), size: "small", class: index$1 > 0 ? 'ml-8' : null })), index.h("slot", { name: `actions-${index$1}` })));
5884
+ })));
5885
+ }
5886
+ // Vertical Linear
5581
5887
  if (this.type === 'linear') {
5582
5888
  return (index.h("div", { class: "steps" }, steps.map((step, index$1) => {
5583
5889
  const isLast = index$1 === steps.length - 1;
5584
- return (index.h("div", { class: "step mb-28", key: index$1 }, this.renderHeading(step.title, index$1), this.activeStep === index$1 && (index.h("div", { class: "content grid gap-y-16", id: `eds-step-panel-${index$1}` }, index.h("slot", { name: `step-${index$1}` }, index.h("div", { class: isLast ? 'f-body-02 text-lighter' : 'f-body-02 text-lighter', innerHTML: step.content })), index.h("div", { class: "flex items-center mt-16" }, index.h("eds-button", { label: this.backLabel, intent: "ghost", icon: "chevron-left", iconPos: "left", iconSmall: true, onClick: this.handleBack, disabled: index$1 === 0, class: index$1 === 0 ? 'hidden' : 'block', size: "small" }), index.h("eds-button", { label: isLast ? this.finishLabel : this.nextLabel, intent: "primary", icon: "chevron-right", iconSmall: true, onClick: this.handleNext, disabled: this.isNextDisabledFor(index$1), size: "small", class: "ml-8" })), index.h("slot", { name: `actions-${index$1}` })))));
5890
+ const marginClass = this.orientation === 'horizontal' ? 'mt-64' : 'mt-32';
5891
+ return (index.h("div", { class: "step mb-16", key: index$1 }, this.renderHeading(step.title, index$1), this.activeStep === index$1 && (index.h("div", { class: "content grid gap-y-16", id: `eds-step-panel-${index$1}` }, index.h("slot", { name: `step-${index$1}` }, index.h("div", { class: "my-16 f-body-02 text-lighter", innerHTML: step.content })), index.h("div", { class: `flex items-center justify-between ${marginClass}` }, index.h("eds-button", { label: this.backLabel, intent: "ghost", icon: "chevron-left", iconPos: "left", iconSmall: true, onClick: this.handleBack, disabled: index$1 === 0, class: index$1 === 0 ? 'hidden' : 'block', size: "small" }), index.h("eds-button", { label: isLast ? this.finishLabel : this.nextLabel, intent: "primary", icon: "chevron-right", iconSmall: true, onClick: this.handleNext, disabled: this.isNextDisabledFor(index$1), size: "small", class: index$1 > 0 ? 'ml-8' : null })), index.h("slot", { name: `actions-${index$1}` })))));
5585
5892
  })));
5586
5893
  }
5587
- // Static: no navigation buttons
5588
- return (index.h("div", { class: "steps" }, steps.map((step, index$1) => (index.h("div", { class: "step mb-28", key: index$1 }, this.renderHeading(step.title, index$1), index.h("div", { class: "content", id: `eds-step-panel-${index$1}` }, index.h("slot", { name: `step-${index$1}` }, index.h("div", { class: index$1 === steps.length - 1 ? 'f-body-02 text-lighter mt-16' : 'f-body-02 text-lighter my-16', innerHTML: step.content }))))))));
5894
+ // Static
5895
+ return (index.h("div", { class: "steps" }, steps.map((step, index$1) => (index.h("div", { class: "step mb-16", key: index$1 }, this.renderHeading(step.title, index$1), index.h("div", { class: "content", id: `eds-step-panel-${index$1}` }, index.h("slot", { name: `step-${index$1}` }, index.h("div", { class: "f-body-02 text-lighter my-16", innerHTML: step.content }))))))));
5589
5896
  }
5590
5897
  get el() { return index.getElement(this); }
5591
5898
  static get watchers() { return {
5899
+ "disableNext": ["handleDisableNextChange"],
5592
5900
  "activeStep": ["activeStepChanged"]
5593
5901
  }; }
5594
5902
  };
5595
5903
  EdsSteps.style = EdsStepsStyle0;
5596
5904
 
5597
- 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}";
5905
+ 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}";
5598
5906
  const EdsStepsV2Style0 = edsStepsV2Css;
5599
5907
 
5600
5908
  const EdsStepsV2 = class {
@@ -5605,48 +5913,74 @@ const EdsStepsV2 = class {
5605
5913
  this.next = index.createEvent(this, "next", 7);
5606
5914
  this.back = index.createEvent(this, "back", 7);
5607
5915
  this.handleTitleClick = (index) => {
5608
- // If clicking the same title, keep your existing toggle behavior
5609
- if (index === this.activeStep) {
5610
- this.activeStep = this.activeStep === index ? -1 : index;
5916
+ // In linear mode, do NOT collapse; only navigate if allowed.
5917
+ if (this.type === 'linear') {
5918
+ if (index > this.activeStep) {
5919
+ // Prevent jumping forward over disabled steps
5920
+ for (let i = this.activeStep; i < index; i++) {
5921
+ if (this.isStepDisabled(i)) {
5922
+ return;
5923
+ }
5924
+ }
5925
+ }
5926
+ this.activeStep = index;
5611
5927
  this.step.emit(this.activeStep);
5612
5928
  return;
5613
5929
  }
5614
- // Block *forward* jumps when progression is gated by disableNext (boolean)
5615
- const forwardBlocked = this.type === 'linear' && index > this.activeStep && this.isNextDisabledForCurrent();
5616
- if (forwardBlocked) {
5930
+ // Non-linear vertical mode can toggle collapse of the current title
5931
+ if (this.orientation === 'vertical' && index === this.activeStep) {
5932
+ this.activeStep = this.activeStep === index ? -1 : index;
5933
+ this.step.emit(this.activeStep);
5617
5934
  return;
5618
5935
  }
5619
- // Allow back (or forward when not gated)
5936
+ // Otherwise just set
5620
5937
  this.activeStep = index;
5621
5938
  this.step.emit(this.activeStep);
5622
5939
  };
5623
5940
  this.handleNext = () => {
5624
5941
  const lastIndex = this.parsedSteps.length - 1;
5942
+ // On last step: do NOT collapse; keep content visible, just emit finished
5625
5943
  if (this.activeStep >= lastIndex) {
5626
5944
  this.finished.emit();
5627
- this.activeStep = -1; // collapse last step
5945
+ this.activeStep = -1; // collapse the content
5946
+ this.step.emit(this.activeStep); // notify change (-1 sentinel)
5628
5947
  return;
5629
5948
  }
5630
5949
  const target = this.activeStep + 1;
5631
5950
  this.next.emit(target);
5632
- if (!this.disableNext) {
5633
- this.activeStep = target;
5634
- this.step.emit(this.activeStep);
5951
+ if (this.isStepDisabled(this.activeStep)) {
5952
+ return;
5953
+ }
5954
+ this.activeStep = target;
5955
+ this.step.emit(this.activeStep);
5956
+ // clear boolean form when moving away from a step
5957
+ if (!Array.isArray(this.disableNext)) {
5958
+ this.disableNext = false;
5635
5959
  }
5636
5960
  };
5637
5961
  this.handleBack = () => {
5962
+ const lastIndex = this.parsedSteps.length - 1;
5963
+ // Recover from collapsed sentinel if it ever occurs
5964
+ if (this.activeStep < 0) {
5965
+ this.activeStep = lastIndex;
5966
+ this.step.emit(this.activeStep);
5967
+ return;
5968
+ }
5638
5969
  if (this.activeStep > 0) {
5639
5970
  const target = this.activeStep - 1;
5640
5971
  this.back.emit(target);
5641
5972
  this.activeStep = target;
5642
5973
  this.step.emit(this.activeStep);
5974
+ if (!Array.isArray(this.disableNext)) {
5975
+ this.disableNext = false;
5976
+ }
5643
5977
  }
5644
5978
  };
5645
5979
  this.steps = [];
5646
5980
  this.type = 'static';
5981
+ this.orientation = 'vertical';
5647
5982
  this.imageSrc = undefined;
5648
5983
  this.imageWidth = undefined;
5649
- this.bg = true;
5650
5984
  this.message = undefined;
5651
5985
  this.nextLabel = 'Next';
5652
5986
  this.backLabel = 'Back';
@@ -5655,57 +5989,87 @@ const EdsStepsV2 = class {
5655
5989
  this.headingLevel = 'h4';
5656
5990
  this.activeStep = 0;
5657
5991
  }
5658
- componentDidLoad() {
5659
- var _a;
5660
- if (this.type === 'linear') {
5661
- const btns = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('eds-button');
5662
- btns === null || btns === void 0 ? void 0 : btns.forEach((btn) => {
5663
- this.emitContext(btn);
5664
- });
5992
+ handleDisableNextChange(newValue) {
5993
+ if (typeof newValue === 'string' && newValue.trim().startsWith('[')) {
5994
+ try {
5995
+ this.disableNext = JSON.parse(newValue);
5996
+ }
5997
+ catch (e) {
5998
+ console.error('Failed to parse disable-next array:', e);
5999
+ }
5665
6000
  }
5666
6001
  }
5667
6002
  activeStepChanged(newValue) {
6003
+ // Clamp and ignore collapsed sentinel
6004
+ const max = Math.max(0, this.parsedSteps.length - 1);
6005
+ if (newValue > max) {
6006
+ this.activeStep = max;
6007
+ return;
6008
+ }
6009
+ if (newValue < -1) {
6010
+ this.activeStep = -1;
6011
+ return;
6012
+ }
6013
+ if (newValue < 0) {
6014
+ return;
6015
+ } // ignore collapsed state if ever set elsewhere
6016
+ // Emit parentContext to buttons inside the newly active step
5668
6017
  setTimeout(() => {
5669
- var _a;
5670
- const activeStepContainer = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.step')[newValue];
5671
- if (activeStepContainer) {
5672
- const btns = activeStepContainer.querySelectorAll('eds-button');
5673
- btns.forEach((btn) => {
5674
- this.emitContext(btn);
5675
- });
5676
- }
6018
+ const host = this.el.shadowRoot || this.el;
6019
+ const activeStepContainer = host.querySelectorAll('.step')[newValue];
6020
+ activeStepContainer === null || activeStepContainer === void 0 ? void 0 : activeStepContainer.querySelectorAll('eds-button').forEach((btn) => this.emitContext(btn));
5677
6021
  }, 50);
5678
6022
  }
6023
+ componentWillLoad() {
6024
+ this.handleDisableNextChange(this.disableNext);
6025
+ }
6026
+ componentDidLoad() {
6027
+ if (this.type === 'linear') {
6028
+ const host = this.el.shadowRoot || this.el;
6029
+ const btns = host.querySelectorAll('eds-button');
6030
+ btns === null || btns === void 0 ? void 0 : btns.forEach((btn) => this.emitContext(btn));
6031
+ }
6032
+ }
5679
6033
  emitContext(linkElement) {
5680
6034
  const event = new CustomEvent('parentContext', {
5681
6035
  detail: {
5682
6036
  componentName: this.el.tagName.toLowerCase(),
5683
6037
  identifier: this.activeStep
5684
- }
6038
+ },
6039
+ bubbles: true,
6040
+ composed: true
5685
6041
  });
5686
6042
  linkElement.dispatchEvent(event);
5687
6043
  }
5688
6044
  articleClasses() {
5689
- return [
5690
- this.bg ? 'bg-inverse' : 'bg-default',
5691
- 'border-softer effect-focus-within relative rounded-lg border-2'
5692
- ].join(' ');
6045
+ return ['border-softer effect-focus-within relative rounded-lg border-2'].join(' ');
5693
6046
  }
5694
- /**
5695
- * Parses the steps property into an array of Step objects.
5696
- */
5697
6047
  get parsedSteps() {
5698
6048
  return sharedUtils.parseData(this.steps);
5699
6049
  }
5700
- isNextDisabledForCurrent() {
5701
- return !!this.disableNext;
6050
+ isStepDisabled(index) {
6051
+ if (Array.isArray(this.disableNext)) {
6052
+ return index < this.disableNext.length ? !!this.disableNext[index] : false;
6053
+ }
6054
+ return index === this.activeStep && !!this.disableNext;
6055
+ }
6056
+ isNextDisabledFor(index) {
6057
+ return this.isStepDisabled(index);
5702
6058
  }
5703
- /** Render the semantic heading element */
5704
6059
  renderHeading(title, index$1) {
5705
6060
  const Tag = this.headingLevel;
5706
6061
  if (this.type === 'linear') {
5707
6062
  const isOpen = this.activeStep === index$1;
5708
- const forwardBlocked = index$1 > this.activeStep && this.isNextDisabledForCurrent();
6063
+ // Check if jumping to this step crosses a disabled step
6064
+ let forwardBlocked = false;
6065
+ if (index$1 > this.activeStep) {
6066
+ for (let i = this.activeStep; i < index$1; i++) {
6067
+ if (this.isStepDisabled(i)) {
6068
+ forwardBlocked = true;
6069
+ break;
6070
+ }
6071
+ }
6072
+ }
5709
6073
  const onKey = (e) => {
5710
6074
  if (forwardBlocked) {
5711
6075
  return;
@@ -5717,16 +6081,46 @@ const EdsStepsV2 = class {
5717
6081
  };
5718
6082
  return (index.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$1}`, onClick: () => !forwardBlocked && this.handleTitleClick(index$1), onKeyDown: onKey }, title));
5719
6083
  }
5720
- return index.h(Tag, { class: "eds-steps__title" }, title);
6084
+ return (index.h(Tag, { class: "eds-steps__title", onClick: () => this.handleTitleClick(index$1) }, title));
6085
+ }
6086
+ /** Render horizontal indicator item */
6087
+ renderHorizontalIndicator(step, index$1) {
6088
+ const isActive = this.activeStep === index$1;
6089
+ const isCompleted = this.activeStep > index$1;
6090
+ let forwardBlocked = false;
6091
+ if (index$1 > this.activeStep) {
6092
+ for (let i = this.activeStep; i < index$1; i++) {
6093
+ if (this.isStepDisabled(i)) {
6094
+ forwardBlocked = true;
6095
+ break;
6096
+ }
6097
+ }
6098
+ }
6099
+ const onKey = (e) => {
6100
+ if (forwardBlocked) {
6101
+ return;
6102
+ }
6103
+ if (e.key === 'Enter' || e.key === ' ') {
6104
+ e.preventDefault();
6105
+ this.handleTitleClick(index$1);
6106
+ }
6107
+ };
6108
+ return (index.h("div", { class: `horizontal-step ${isActive ? 'is-active' : ''} ${isCompleted ? 'is-completed' : ''}`, onClick: () => !forwardBlocked && this.handleTitleClick(index$1), onKeyDown: onKey, role: "button", tabindex: forwardBlocked ? -1 : 0, "aria-label": `Step ${index$1 + 1}: ${step.title}`, "aria-current": isActive ? 'step' : undefined, "aria-disabled": forwardBlocked ? 'true' : 'false' }, index.h("div", { class: "step-indicator" }, index.h("span", { class: "step-number" }, index$1 + 1)), index.h("span", { class: `text-center text-default f-ui-03 ${forwardBlocked ? 'opacity-50' : ''}` }, step.title)));
5721
6109
  }
5722
6110
  render() {
5723
6111
  const steps = this.parsedSteps;
5724
- return (index.h("div", { key: 'b486aa34dfab4902cd6569cc2ce228104ca536cd', class: this.articleClasses() }, this.imageSrc ? (index.h("div", { class: "w-full mb-12 rounded-t-lg overflow-hidden border-2" }, index.h("eds-img", { src: this.imageSrc, width: this.imageWidth, "with-bg": "true", "lazy-load": "true", alt: "Step illustration" }))) : (this.message && (index.h("div", { class: "w-full bg-[#00A595] rounded-t-lg border-2" }, index.h("div", { class: "p-24" }, index.h("span", { class: "text-inverse f-heading-04 " }, this.message))))), index.h("div", { key: 'e2a928ecb67caed4885c9e364621b422249610f1', class: "pb-20 px-8" }, this.type === 'linear' ? (index.h("div", { class: "steps" }, steps.map((step, index$1) => (index.h("div", { class: index$1 === 0 ? 'step' : 'step space-y-16', key: index$1 }, this.renderHeading(step.title, index$1), this.activeStep === index$1 && (index.h("div", { class: "content grid gap-y-16", id: `eds-step-panel-${index$1}` }, index.h("slot", { name: `step-${index$1}` }, index.h("div", { class: index$1 === steps.length - 1 ? 'f-body-02 text-lighter' : 'f-body-02 text-lighter', innerHTML: step.content })), index.h("div", { class: "flex items-center" }, index.h("eds-button", { label: this.backLabel, intent: "ghost", icon: "chevron-left", iconPos: "left", iconSmall: true, onClick: this.handleBack, disabled: index$1 === 0, class: index$1 === 0 ? 'hidden' : 'block', size: "small" }), index.h("eds-button", { label: index$1 === 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" }))))))))) : (
5725
- // Static mode: show all steps with their content.
5726
- index.h("div", { class: "steps space-y-8" }, steps.map((step, index$1) => (index.h("div", { class: "step", key: index$1 }, this.renderHeading(step.title, index$1), index.h("div", { class: "content", id: `eds-step-panel-${index$1}` }, index.h("slot", { name: `step-${index$1}` }, index.h("div", { class: index$1 === steps.length - 1 ? 'f-body-02 text-lighter mt-16' : 'f-body-02 text-lighter', innerHTML: step.content })))))))))));
6112
+ const marginClass = this.orientation === 'horizontal' ? 'mt-64' : 'mt-32';
6113
+ return (index.h("div", { key: '0f9dbb87f9cd269057183ee969addd55e85b2149', class: this.articleClasses() }, this.imageSrc ? (index.h("div", { class: "w-full mb-12 rounded-t-lg overflow-hidden border-2" }, index.h("eds-img", { src: this.imageSrc, width: this.imageWidth, "with-bg": "true", "lazy-load": "true", alt: "Step illustration" }))) : (this.message && (index.h("div", { class: "w-full bg-[#00A595] rounded-t-lg border-2" }, index.h("div", { class: "p-24" }, index.h("span", { class: "text-inverse f-heading-04" }, this.message))))), index.h("div", { key: 'd636d36c2e95d73c23c269b1faf67870eca97c16', class: "mt-16 pb-20 px-8" }, this.type === 'linear' && this.orientation === 'horizontal' ? (index.h("div", { class: "steps--horizontal", style: { '--step-count': steps.length.toString() } }, index.h("div", { class: "horizontal-indicators" }, steps.map((step, index) => this.renderHorizontalIndicator(step, index))), steps.map((step, index$1) => {
6114
+ const isLast = index$1 === steps.length - 1;
6115
+ if (this.activeStep !== index$1) {
6116
+ return null;
6117
+ }
6118
+ return (index.h("div", { class: "step-content", key: index$1, id: `eds-step-panel-${index$1}` }, index.h("slot", { name: `step-${index$1}` }, index.h("div", { class: "f-body-02 text-lighter", innerHTML: step.content })), index.h("div", { class: `flex items-center justify-between ${marginClass}` }, index.h("eds-button", { label: this.backLabel, intent: "ghost", icon: "chevron-left", iconPos: "left", iconSmall: true, onClick: this.handleBack, disabled: index$1 === 0, class: index$1 === 0 ? 'hidden' : 'block', size: "small" }), index.h("eds-button", { label: isLast ? this.finishLabel : this.nextLabel, intent: "primary", icon: "chevron-right", iconSmall: true, onClick: this.handleNext, disabled: this.isNextDisabledFor(index$1), size: "small", class: index$1 > 0 ? 'ml-8' : null })), index.h("slot", { name: `actions-${index$1}` })));
6119
+ }))) : this.type === 'linear' ? (index.h("div", { class: "steps" }, steps.map((step, index$1) => (index.h("div", { class: index$1 === 0 ? 'step' : 'step mt-16', key: index$1 }, this.renderHeading(step.title, index$1), this.activeStep === index$1 && (index.h("div", { class: "content grid gap-y-16", id: `eds-step-panel-${index$1}` }, index.h("slot", { name: `step-${index$1}` }, index.h("div", { class: "my-16 f-body-02 text-lighter", innerHTML: step.content })), index.h("div", { class: `flex items-center justify-between ${marginClass}` }, index.h("eds-button", { label: this.backLabel, intent: "ghost", icon: "chevron-left", iconPos: "left", iconSmall: true, onClick: this.handleBack, disabled: index$1 === 0, class: index$1 === 0 ? 'hidden' : 'block', size: "small" }), index.h("eds-button", { label: index$1 === steps.length - 1 ? this.finishLabel : this.nextLabel, intent: "primary", icon: "chevron-right", iconSmall: true, onClick: this.handleNext, disabled: this.isNextDisabledFor(index$1), size: "small", class: index$1 > 0 ? 'ml-8' : null }))))))))) : (index.h("div", { class: "steps space-y-8" }, steps.map((step, index$1) => (index.h("div", { class: "step", key: index$1 }, this.renderHeading(step.title, index$1), index.h("div", { class: "content", id: `eds-step-panel-${index$1}` }, index.h("div", { class: "content-body" }, index.h("slot", { name: `step-${index$1}` }, index.h("div", { class: "my-16 f-body-02 text-lighter", innerHTML: step.content }))))))))))));
5727
6120
  }
5728
6121
  get el() { return index.getElement(this); }
5729
6122
  static get watchers() { return {
6123
+ "disableNext": ["handleDisableNextChange"],
5730
6124
  "activeStep": ["activeStepChanged"]
5731
6125
  }; }
5732
6126
  };
@@ -5782,17 +6176,17 @@ const EdsSwitch = class {
5782
6176
  : this.labelOff
5783
6177
  : 'Toggle switch'
5784
6178
  : undefined;
5785
- return (index.h("div", { key: 'd73bf797be76e256e065ab8b4fbe68a44802d3f1', class: "switch-container" }, this.labelOff && (index.h("span", { key: 'f4897e3d9948358a82bd61ea26c86e0d2eba81b5', id: `${switchId}-off`, class: "switch-label switch-label--off mr-8" }, this.labelOff)), index.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: {
6179
+ return (index.h("div", { key: 'a339677097f16cd2dfe180f0a7de26d4963a9f17', class: "switch-container" }, this.labelOff && (index.h("span", { key: '7db8e71c0f1668fb66f2b1ff049706b80b4683b3', id: `${switchId}-off`, class: "switch-label switch-label--off mr-8" }, this.labelOff)), index.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: {
5786
6180
  switch: true,
5787
6181
  'switch--checked': this.checked,
5788
6182
  'switch--disabled': this.disabled
5789
- }, onClick: this.toggleSwitch, onKeyDown: this.handleKeyDown, disabled: this.disabled }, index.h("span", { key: 'eee315ce803b246cbe73e9d42635cbaa775febdb', class: "switch-handle" })), this.labelOn && (index.h("span", { key: 'f1229ffea8041dea2237a032292a4465fc76e216', id: `${switchId}-on`, class: "switch-label switch-label--on ml-8" }, this.labelOn))));
6183
+ }, onClick: this.toggleSwitch, onKeyDown: this.handleKeyDown, disabled: this.disabled }, index.h("span", { key: 'c7bbace6e78fe2358ee4b91febec51a280305df0', class: "switch-handle" })), this.labelOn && (index.h("span", { key: 'b4fa05fc1296a6d906abb4a7fa609d721d01248f', id: `${switchId}-on`, class: "switch-label switch-label--on ml-8" }, this.labelOn))));
5790
6184
  }
5791
6185
  get el() { return index.getElement(this); }
5792
6186
  };
5793
6187
  EdsSwitch.style = EdsSwitchStyle0;
5794
6188
 
5795
- 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}";
6189
+ 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}";
5796
6190
  const EdsTableStyle0 = edsTableCss;
5797
6191
 
5798
6192
  const EdsTable = class {
@@ -5828,6 +6222,24 @@ const EdsTable = class {
5828
6222
  }
5829
6223
  (_a = actionButtons[nextIndex]) === null || _a === void 0 ? void 0 : _a.focus();
5830
6224
  };
6225
+ this.handleSort = (column) => {
6226
+ if (this.sortColumn === column) {
6227
+ // Toggle direction if same column
6228
+ this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';
6229
+ }
6230
+ else {
6231
+ // New column, default to ascending
6232
+ this.sortColumn = column;
6233
+ this.sortDirection = 'asc';
6234
+ }
6235
+ analytics.sendAnalytics({
6236
+ category: 'ui-component',
6237
+ parentContext: null,
6238
+ tag: `${this.hostEl.tagName.toLowerCase()}/sort`,
6239
+ name: column,
6240
+ action: this.sortDirection
6241
+ });
6242
+ };
5831
6243
  this.data = null;
5832
6244
  this.config = {};
5833
6245
  this.rowsPerPage = 10;
@@ -5837,6 +6249,8 @@ const EdsTable = class {
5837
6249
  this.columnSize = 'default';
5838
6250
  this.actions = [];
5839
6251
  this.actionTemplate = undefined;
6252
+ this.sortingEnabled = false;
6253
+ this.theme = 'color';
5840
6254
  this.parsedActions = [];
5841
6255
  this.dataColumns = [];
5842
6256
  this.tbData = [];
@@ -5846,6 +6260,8 @@ const EdsTable = class {
5846
6260
  this.totalRows = 0;
5847
6261
  this.searchQuery = '';
5848
6262
  this.containerWidth = 0;
6263
+ this.sortColumn = null;
6264
+ this.sortDirection = 'asc';
5849
6265
  }
5850
6266
  handleDataChange() {
5851
6267
  this.parseData();
@@ -5928,10 +6344,10 @@ const EdsTable = class {
5928
6344
  return this.tbData.filter((row) => Object.values(row).some((value) => value.toString().toLowerCase().includes(this.searchQuery.toLowerCase())));
5929
6345
  }
5930
6346
  getPaginatedRows() {
5931
- const filteredRows = this.getFilteredRows();
5932
- this.totalRows = filteredRows.length;
6347
+ const sortedRows = this.getSortedRows();
6348
+ this.totalRows = sortedRows.length;
5933
6349
  const start = (this.currentPage - 1) * this.rowsPerPage;
5934
- return filteredRows.slice(start, start + this.rowsPerPage);
6350
+ return sortedRows.slice(start, start + this.rowsPerPage);
5935
6351
  }
5936
6352
  handlePageChange(newPage) {
5937
6353
  this.currentPage = newPage;
@@ -6011,22 +6427,52 @@ const EdsTable = class {
6011
6427
  capitalize(str) {
6012
6428
  return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
6013
6429
  }
6430
+ getSortedRows() {
6431
+ const filtered = this.getFilteredRows();
6432
+ if (!this.sortColumn) {
6433
+ return filtered;
6434
+ }
6435
+ return [...filtered].sort((a, b) => {
6436
+ const aVal = a[this.sortColumn];
6437
+ const bVal = b[this.sortColumn];
6438
+ // Handle null/undefined
6439
+ if (aVal == null) {
6440
+ return 1;
6441
+ }
6442
+ if (bVal == null) {
6443
+ return -1;
6444
+ }
6445
+ // Compare values
6446
+ let comparison = 0;
6447
+ if (typeof aVal === 'number' && typeof bVal === 'number') {
6448
+ comparison = aVal - bVal;
6449
+ }
6450
+ else {
6451
+ comparison = String(aVal).localeCompare(String(bVal));
6452
+ }
6453
+ return this.sortDirection === 'asc' ? comparison : -comparison;
6454
+ });
6455
+ }
6014
6456
  render() {
6015
6457
  const currentContainerWidth = this.hostWidth && this.hostWidth.trim() !== '' ? Number(this.hostWidth) : this.containerWidth || 400;
6016
6458
  const visibleColumnsCount = this.getVisibleColumnsCount();
6017
6459
  const columnWidth = visibleColumnsCount > 0 ? Math.floor((currentContainerWidth / visibleColumnsCount) * this.divisionFactor()) : 100;
6018
6460
  const paginatedRows = this.getPaginatedRows();
6019
6461
  const lastPage = Math.ceil(this.totalRows / this.rowsPerPage);
6020
- return (index.h("div", { key: '0c986dec22a52676b110fad1f7f82ef792da796e' }, this.searchEnabled && (index.h("div", { key: '855c5c3d6c2b86e75a210c0296524bc8029e37f2' }, index.h("eds-input-field", { key: 1, icon: "search", name: "search", "aria-label": "Search", type: "text", placeholder: "Search...", onInput: (event) => this.handleSearch(event) }))), index.h("div", { key: '62b18340bbf992dba888c2d24ff306ada8a1a985', class: "mt-20" }, index.h("table", { key: '656dd0dd7f99611c2bd9beea4cd1f37f57da1384', class: "block overflow-x-auto mt-6 p-0" }, index.h("thead", { key: '1278ea89f588aa52c215c32bcc03c424e4501fed' }, index.h("tr", { key: '186e6ac48859dd9f7cbf8c4f4fb5f6bfddfd4d34', class: "m-0 p-0 border border-softer even:bg-inverse-softer" }, this.columns.map((col) => {
6462
+ return (index.h("div", { key: '0601cea60a05d044a717219e6ff6385ef915defa' }, this.searchEnabled && (index.h("div", { key: 'de1affaf192dc5e63b16d534d2f518c206ab7010' }, index.h("eds-input-field", { key: 1, icon: "search", name: "search", "aria-label": "Search", type: "text", placeholder: "Search...", onInput: (event) => this.handleSearch(event) }))), index.h("div", { key: '49f71b5a2481d719cb8fe0547f05a5ae83ad5541', class: "mt-20" }, index.h("table", { key: 'b63ca6615ed681c741fb2d3ff2675f9cc061d194', class: "block overflow-x-auto mt-6 p-0" }, index.h("thead", { key: '817b534cca3c2492b69b3816a41b54ec850847ab' }, index.h("tr", { key: '6cb8735ac56c3fe2acc4a257815bc0d07009118c', class: `m-0 p-0 border border-softer table-row-${this.theme}` }, this.columns.map((col) => {
6021
6463
  var _a;
6022
6464
  if (col === 'actions') {
6023
6465
  return (index.h("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words", style: { minWidth: `${columnWidth - 4}px` } }));
6024
6466
  }
6025
6467
  if (!((_a = this.parsedConfig[col]) === null || _a === void 0 ? void 0 : _a.hidden)) {
6026
- return (index.h("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words", style: { minWidth: `${columnWidth - 4}px` } }, this.capitalize(col)));
6468
+ return (index.h("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words", style: { minWidth: `${columnWidth - 4}px` } }, index.h("div", { style: { display: 'flex', alignItems: 'center', justifyContent: 'center', gap: '0.25rem' } }, index.h("span", null, this.capitalize(col)), this.sortingEnabled && (index.h("eds-icon-wrapper", { icon: this.sortColumn === col
6469
+ ? this.sortDirection === 'asc'
6470
+ ? 'chevron-up'
6471
+ : 'chevron-down'
6472
+ : 'chevron-down', "aria-label": `Sort by ${col}`, onClick: () => this.handleSort(col), style: { cursor: 'pointer' } })))));
6027
6473
  }
6028
6474
  return null;
6029
- }))), index.h("tbody", { key: 'b27bd372efe64469d2a5001dc6d5b464eb419217' }, paginatedRows.map((row) => (index.h("tr", { class: "m-0 p-0 border border-softer even:bg-inverse-softer" }, this.columns.map((col) => {
6475
+ }))), index.h("tbody", { key: '3c8630ed1f47720688bfcdb78c5dbfc84cb238cf' }, paginatedRows.map((row) => (index.h("tr", { class: `m-0 p-0 border border-softer table-row-${this.theme}` }, this.columns.map((col) => {
6030
6476
  var _a;
6031
6477
  if (col === 'actions') {
6032
6478
  return (index.h("td", { class: "text-center border border-softer m-0 f-ui-02 break-words actions-cell", style: { minWidth: `${columnWidth - 4}px` } }, index.h("div", { role: "toolbar", "aria-label": "Row actions", onKeyDown: this.onActionKeyDown, style: {
@@ -6041,7 +6487,7 @@ const EdsTable = class {
6041
6487
  return (index.h("td", { class: "text-center border border-softer m-0 py-8 f-ui-2 break-words", style: { minWidth: `${columnWidth - 4}px` } }, this.renderCell(row[col], col)));
6042
6488
  }
6043
6489
  return null;
6044
- }))))))), this.shouldEnablePagination() && (index.h("div", { key: 'd442153f48c85c6de1a0752d1348d8814811faed', class: "mt-20" }, index.h("eds-pagination", { key: '4c48c96eacb112002b0110e85dce0dab94350dfb', currentPage: this.currentPage, lastPage: lastPage, perPage: this.rowsPerPage, total: this.totalRows, mode: "default" })))));
6490
+ }))))))), this.shouldEnablePagination() && (index.h("div", { key: '09faef418edc676bb2b60c2439e0652a92fe023d', class: "mt-20" }, index.h("eds-pagination", { key: '9403d33a37505c73fe3bec652ef93f533bdb4f03', currentPage: this.currentPage, lastPage: lastPage, perPage: this.rowsPerPage, total: this.totalRows, mode: "default" })))));
6045
6491
  }
6046
6492
  get hostEl() { return index.getElement(this); }
6047
6493
  static get watchers() { return {
@@ -6216,12 +6662,12 @@ const EdsTabs = class {
6216
6662
  }
6217
6663
  }
6218
6664
  render() {
6219
- return (index.h("div", { key: 'bab7b3d6a9e6e66ab6476827ecc06a3e3c7244be', id: `${this.identifier}` }, index.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-['']" }, index.h("nav", { key: 'e3f4e385e1bfb1f5abc75697697ab9a6a8124b6b', role: "tablist", ref: (el) => (this.tabContainer = el), class: "inline-flex", "aria-label": this.navAriaLabel }, this.parsedTabs.map((tab, index$1) => {
6665
+ return (index.h("div", { key: '36b4771f5dc68c2b2686ece5957b4a54f70d8c38', id: `${this.identifier}` }, index.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-['']" }, index.h("nav", { key: '6bb2ca84bd9b12e67bb2e6055cb435c66061f547', role: "tablist", ref: (el) => (this.tabContainer = el), class: "inline-flex", "aria-label": this.navAriaLabel }, this.parsedTabs.map((tab, index$1) => {
6220
6666
  const TabComponent = 'button';
6221
6667
  const tabProps = this.getTabOptions(tab.active, index$1);
6222
6668
  const isActive = index$1 === this.activeIndex;
6223
6669
  return (index.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$1}`, id: `tab-${index$1}`, ref: (el) => this.setTabRef(el, index$1), onClick: () => this.handleTabClick(index$1, tab.label, true), onKeyDown: (e) => this.onKeyDown(e, index$1) }), tab.label || tab.ariaLabel));
6224
- }))), index.h("div", { key: 'f958fca5abaeeba0b6fcc900b91fa1309508dc57', class: "tab-panels" }, this.parsedTabs.map((_, index$1) => (index.h("div", { role: "tabpanel", id: `panel-${index$1}`, "aria-labelledby": `tab-${index$1}`, hidden: index$1 !== this.activeIndex, tabIndex: index$1 === this.activeIndex ? 0 : -1, class: "effect-focus" }, index.h("slot", { name: `panel-${index$1}` })))))));
6670
+ }))), index.h("div", { key: '7b17d99c5dda91842171c941228b0a0f82d595d4', class: "tab-panels" }, this.parsedTabs.map((_, index$1) => (index.h("div", { role: "tabpanel", id: `panel-${index$1}`, "aria-labelledby": `tab-${index$1}`, hidden: index$1 !== this.activeIndex, tabIndex: index$1 === this.activeIndex ? 0 : -1, class: "effect-focus" }, index.h("slot", { name: `panel-${index$1}` })))))));
6225
6671
  }
6226
6672
  get el() { return index.getElement(this); }
6227
6673
  static get watchers() { return {
@@ -6266,7 +6712,7 @@ const EdsTag = class {
6266
6712
  }
6267
6713
  render() {
6268
6714
  const classes = tagStyles({ intent: this.intent, size: this.size });
6269
- return index.h("span", { key: 'a00f436391013091c78f15bc53d91b0b01d8f4bb', class: classes }, this.label);
6715
+ return index.h("span", { key: '0b37fdd21a8828a00daba55a7157e164e7057a88', class: classes }, this.label);
6270
6716
  }
6271
6717
  };
6272
6718
  EdsTag.style = EdsTagStyle0;
@@ -6362,7 +6808,7 @@ const EdsTooltip = class {
6362
6808
  }
6363
6809
  render() {
6364
6810
  const positionClass = this.position === 'bottom' ? 'top-full mt-2' : 'bottom-full mb-2';
6365
- return (index.h("div", { key: 'c2ae55fbf9fefb2748db770d98f12f679022a416', class: "relative w-full inline-block group" }, index.h("slot", { key: '5151e3269cb39d3caba960eee7155a3d5171c8cd' }), index.h("div", { key: '8956683d968d77d88133dc231975d258aca3d1d3', class: `absolute ${positionClass}
6811
+ return (index.h("div", { key: '1ba27ac30f67a50e39b2bfdff2b4392b4adc948a', class: "relative w-full inline-block group" }, index.h("slot", { key: 'c84887cde7b92c3684ef61e36039d2e8c96f71f2' }), index.h("div", { key: 'c7e475e74d977b6ab291ba8a315cdb237742a8e6', class: `absolute ${positionClass}
6366
6812
  rounded-xs bg-strongest text-inverse
6367
6813
  f-ui-03-light pointer-events-none
6368
6814
  z-10 px-4 opacity-0 transition-opacity duration-150 ease-in-out
@@ -6417,7 +6863,7 @@ const EdsUser = class {
6417
6863
  render() {
6418
6864
  const user = this.parsedUser;
6419
6865
  const iconName = this.expanded ? 'chevron-down' : 'chevron-right';
6420
- return (index.h("div", { key: '68836f7fc63986d1ef1e5d1775258358db3418c6', class: "block" }, index.h("div", { key: '3b5be3d2d700ce3e1a800c33adde9b55bb07fda0', class: "flex items-center" }, index.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 }, index.h("div", { key: '6a6bccaa4e8b0e68460ac50e3edc8d9fc3612e00', class: "min-w-[280px] p-8" }, index.h("div", { key: '97a9b4d9c0e0873162103461a542cf401be06c2f', class: "flex gap-x-16", "data-dropdown-no-close": true }, index.h("eds-avatar", { key: 'f89cee9f0ad6549e60ebb3ade437d1dd0c2e6eb6', "first-name": user.given_name, "last-name": user.family_name, initials: this.initials, color: "black" }), index.h("div", { key: 'b9fc649a35280ecebe57955b85844f3a78c4db04', class: "max-w-full" }, user.name && index.h("p", { key: 'b2914fca3ddabc4d12fa2c6cee83a98505fd110a', class: "f-ui-01 text-default w-full text-ellipsis" }, user.name), user.preferred_username && index.h("p", { key: '68ec348104e36b6fbf9c5fc47e254f3cfc4ca85b', class: "f-ui-03-light text-light mt-4" }, user.preferred_username), user.email && index.h("p", { key: '3b7720aaa30597a49acf61b6c3ff0c1f1cc3bfd8', class: "f-ui-03-light text-light mt-4" }, user.email))), index.h("div", { key: '28cdba1fb361b84e9cb0a7ce904ec39cf13d022e', class: "text-default flex w-full flex-col gap-y-8" }, index.h("slot", { key: 'c1cddbb24c72749c4ea07e2e0311da61af6e9886' })))))));
6866
+ return (index.h("div", { key: '1c4017bd33c81ad29385e164dc8611cfac58eca0', class: "block" }, index.h("div", { key: 'b692ce5a4b6b424c7e109589bdff5617d4e3b33c', class: "flex items-center" }, index.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 }, index.h("div", { key: 'ef25176f1fc1796dde0b1d56264617d067d06adb', class: "min-w-[280px] p-8" }, index.h("div", { key: '539532b05094ad47281f7d03c7900b93162e175a', class: "flex gap-x-16", "data-dropdown-no-close": true }, index.h("eds-avatar", { key: 'ff51082744e2d32e5bc57069ccc99a3214ac3c03', "first-name": user.given_name, "last-name": user.family_name, initials: this.initials, color: "black" }), index.h("div", { key: '1850d3ad72889a446fb8f5f29cf96d7434bc8c81', class: "max-w-full" }, user.name && index.h("p", { key: '29a458e82be47f3b4ce801e289253158b6f7372b', class: "f-ui-01 text-default w-full text-ellipsis" }, user.name), user.preferred_username && index.h("p", { key: 'fbb49fa957c32bd90b15dd71691b975c920049bb', class: "f-ui-03-light text-light mt-4" }, user.preferred_username), user.email && index.h("p", { key: 'e634ceb7b74062a19f466abb1f50266370a82747', class: "f-ui-03-light text-light mt-4" }, user.email))), index.h("div", { key: '3a8a04862973d0e28d7c62d84a6928953fd08df3', class: "text-default flex w-full flex-col gap-y-8" }, index.h("slot", { key: '50627b6ed0b735079d60b66092181334cd1a954a' })))))));
6421
6867
  }
6422
6868
  get hostEl() { return index.getElement(this); }
6423
6869
  };
@@ -6449,6 +6895,7 @@ exports.eds_matomo_notice = EdsMatomoNotice;
6449
6895
  exports.eds_nps = EdsNps;
6450
6896
  exports.eds_pagination = EdsPagination;
6451
6897
  exports.eds_rating = EdsRating;
6898
+ exports.eds_sidebar = EdsSidebar;
6452
6899
  exports.eds_spinner = EdsSpinner;
6453
6900
  exports.eds_steps = EdsSteps;
6454
6901
  exports.eds_steps_v2 = EdsStepsV2;