@ebrains/components 2.3.1 → 2.4.1

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 (568) 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} +661 -209
  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-tags.cjs.entry.js +1 -1
  13. package/dist/cjs/eds-card-tool.cjs.entry.js +1 -1
  14. package/dist/cjs/eds-cookies-preference.cjs.entry.js +1 -1
  15. package/dist/cjs/eds-feedback.cjs.entry.js +1 -1
  16. package/dist/cjs/eds-footer.cjs.entry.js +2 -2
  17. package/dist/cjs/eds-frame.cjs.entry.js +1 -1
  18. package/dist/cjs/eds-fullscreen-menu.cjs.entry.js +8 -3
  19. package/dist/cjs/eds-gauge.cjs.entry.js +1 -1
  20. package/dist/cjs/eds-icon-arrow-diagonal.cjs.entry.js +1 -1
  21. package/dist/cjs/eds-icon-arrow-right.cjs.entry.js +1 -1
  22. package/dist/cjs/eds-icon-bin.cjs.entry.js +1 -1
  23. package/dist/cjs/eds-icon-bluesky.cjs.entry.js +1 -1
  24. package/dist/cjs/eds-icon-bookmark.cjs.entry.js +1 -1
  25. package/dist/cjs/eds-icon-chevron-down.cjs.entry.js +1 -1
  26. package/dist/cjs/eds-icon-chevron-left.cjs.entry.js +1 -1
  27. package/dist/cjs/eds-icon-chevron-right.cjs.entry.js +1 -1
  28. package/dist/cjs/eds-icon-chevron-up.cjs.entry.js +1 -1
  29. package/dist/cjs/eds-icon-clone.cjs.entry.js +1 -1
  30. package/dist/cjs/eds-icon-close.cjs.entry.js +1 -1
  31. package/dist/cjs/eds-icon-copy.cjs.entry.js +1 -1
  32. package/dist/cjs/eds-icon-download.cjs.entry.js +1 -1
  33. package/dist/cjs/eds-icon-draft.cjs.entry.js +1 -1
  34. package/dist/cjs/eds-icon-edit.cjs.entry.js +1 -1
  35. package/dist/cjs/eds-icon-eu.cjs.entry.js +1 -1
  36. package/dist/cjs/eds-icon-external.cjs.entry.js +1 -1
  37. package/dist/cjs/eds-icon-facebook.cjs.entry.js +1 -1
  38. package/dist/cjs/eds-icon-gitlab.cjs.entry.js +1 -1
  39. package/dist/cjs/eds-icon-linkedin.cjs.entry.js +1 -1
  40. package/dist/cjs/eds-icon-loader.cjs.entry.js +1 -1
  41. package/dist/cjs/eds-icon-mastodon.cjs.entry.js +1 -1
  42. package/dist/cjs/eds-icon-menu.cjs.entry.js +1 -1
  43. package/dist/cjs/eds-icon-minus.cjs.entry.js +1 -1
  44. package/dist/cjs/eds-icon-more.cjs.entry.js +1 -1
  45. package/dist/cjs/eds-icon-paper.cjs.entry.js +1 -1
  46. package/dist/cjs/eds-icon-plus.cjs.entry.js +1 -1
  47. package/dist/cjs/eds-icon-portal.cjs.entry.js +1 -1
  48. package/dist/cjs/eds-icon-private.cjs.entry.js +1 -1
  49. package/dist/cjs/eds-icon-public.cjs.entry.js +1 -1
  50. package/dist/cjs/eds-icon-search.cjs.entry.js +1 -1
  51. package/dist/cjs/eds-icon-star.cjs.entry.js +1 -1
  52. package/dist/cjs/eds-icon-start.cjs.entry.js +1 -1
  53. package/dist/cjs/eds-icon-success.cjs.entry.js +1 -1
  54. package/dist/cjs/eds-icon-thumbs-down.cjs.entry.js +1 -1
  55. package/dist/cjs/eds-icon-thumbs-up.cjs.entry.js +1 -1
  56. package/dist/cjs/eds-icon-tutorial.cjs.entry.js +1 -1
  57. package/dist/cjs/eds-icon-twitter.cjs.entry.js +1 -1
  58. package/dist/cjs/eds-icon-unknown.cjs.entry.js +1 -1
  59. package/dist/cjs/eds-icon-updown.cjs.entry.js +2 -2
  60. package/dist/cjs/eds-icon-user.cjs.entry.js +1 -1
  61. package/dist/cjs/eds-icon-view.cjs.entry.js +1 -1
  62. package/dist/cjs/eds-icon-youtube.cjs.entry.js +1 -1
  63. package/dist/cjs/eds-modal.cjs.entry.js +2 -2
  64. package/dist/cjs/eds-progress-bar.cjs.entry.js +1 -1
  65. package/dist/cjs/eds-section-core_2.cjs.entry.js +3 -3
  66. package/dist/cjs/eds-social-networks.cjs.entry.js +1 -1
  67. package/dist/cjs/eds-timeline.cjs.entry.js +1 -1
  68. package/dist/cjs/eds-toast-manager.cjs.entry.js +1 -1
  69. package/dist/cjs/eds-trl.cjs.entry.js +1 -1
  70. package/dist/cjs/incorrect-use-of-colors.cjs.entry.js +1 -1
  71. package/dist/cjs/index-50bc1aa4.js +2 -2
  72. package/dist/cjs/loader.cjs.js +1 -1
  73. package/dist/cjs/logo-space.cjs.entry.js +1 -1
  74. package/dist/cjs/logo-variations-horizontal_2.cjs.entry.js +2 -2
  75. package/dist/cjs/logo-variations-tabs.cjs.entry.js +1 -1
  76. package/dist/cjs/logo-wrong-usage.cjs.entry.js +1 -1
  77. package/dist/cjs/svg-repository.cjs.entry.js +3 -3
  78. package/dist/cjs/token-list_3.cjs.entry.js +3 -3
  79. package/dist/cjs/token-ratios.cjs.entry.js +1 -1
  80. package/dist/cjs/token-spacing.cjs.entry.js +1 -1
  81. package/dist/cjs/token-typography.cjs.entry.js +1 -1
  82. package/dist/cjs/{up-and-down-d71df67d.js → up-and-down-6f179dd8.js} +2 -2
  83. package/dist/collection/collection-manifest.json +1 -0
  84. package/dist/collection/components/eds-accordion/eds-accordion.js +2 -2
  85. package/dist/collection/components/eds-alert/eds-alert.js +2 -2
  86. package/dist/collection/components/eds-avatar/eds-avatar.js +1 -1
  87. package/dist/collection/components/eds-block-break/eds-block-break.js +1 -1
  88. package/dist/collection/components/eds-breadcrump/eds-breadcrump.js +1 -1
  89. package/dist/collection/components/eds-button/eds-button.js +1 -19
  90. package/dist/collection/components/eds-cards/eds-card-composer/eds-card-desc/eds-card-desc.js +1 -1
  91. package/dist/collection/components/eds-cards/eds-card-composer/eds-card-tags/eds-card-tags.js +1 -1
  92. package/dist/collection/components/eds-cards/eds-card-composer/eds-card-title/eds-card-title.js +1 -1
  93. package/dist/collection/components/eds-cards/eds-card-generic/eds-card-generic.js +1 -1
  94. package/dist/collection/components/eds-cards/eds-card-project/eds-card-project.js +1 -1
  95. package/dist/collection/components/eds-cards/eds-card-tool/eds-card-tool.js +1 -1
  96. package/dist/collection/components/eds-charts/eds-gauge/eds-gauge.js +1 -1
  97. package/dist/collection/components/eds-code-block/eds-code-block.js +1 -1
  98. package/dist/collection/components/eds-dropdown/eds-dropdown.js +2 -2
  99. package/dist/collection/components/eds-feedback/eds-feedback.js +1 -1
  100. package/dist/collection/components/eds-footer/eds-footer.js +2 -2
  101. package/dist/collection/components/eds-form/eds-form.js +56 -16
  102. package/dist/collection/components/eds-frame/eds-frame.js +1 -1
  103. package/dist/collection/components/eds-fullscreen-menu/eds-fullscreen-menu.js +8 -3
  104. package/dist/collection/components/eds-header/eds-header.css +5 -0
  105. package/dist/collection/components/eds-header/eds-header.js +1 -1
  106. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-down/eds-icon-chevron-down.js +1 -1
  107. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-left/eds-icon-chevron-left.js +1 -1
  108. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-right/eds-icon-chevron-right.js +1 -1
  109. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-up/eds-icon-chevron-up.js +1 -1
  110. package/dist/collection/components/eds-icons/eds-icon-arrow-diagonal/eds-icon-arrow-diagonal.js +1 -1
  111. package/dist/collection/components/eds-icons/eds-icon-arrow-right/eds-icon-arrow-right.js +1 -1
  112. package/dist/collection/components/eds-icons/eds-icon-bin/eds-icon-bin.js +1 -1
  113. package/dist/collection/components/eds-icons/eds-icon-bookmark/eds-icon-bookmark.js +1 -1
  114. package/dist/collection/components/eds-icons/eds-icon-clone/eds-icon-clone.js +1 -1
  115. package/dist/collection/components/eds-icons/eds-icon-close/eds-icon-close.js +1 -1
  116. package/dist/collection/components/eds-icons/eds-icon-copy/eds-icon-copy.js +1 -1
  117. package/dist/collection/components/eds-icons/eds-icon-download/eds-icon-download.js +1 -1
  118. package/dist/collection/components/eds-icons/eds-icon-draft/eds-icon-draft.js +1 -1
  119. package/dist/collection/components/eds-icons/eds-icon-edit/eds-icon-edit.js +1 -1
  120. package/dist/collection/components/eds-icons/eds-icon-eu/eds-icon-eu.js +1 -1
  121. package/dist/collection/components/eds-icons/eds-icon-external/eds-icon-external.js +1 -1
  122. package/dist/collection/components/eds-icons/eds-icon-gitlab/eds-icon-gitlab.js +1 -1
  123. package/dist/collection/components/eds-icons/eds-icon-loader/eds-icon-loader.js +1 -1
  124. package/dist/collection/components/eds-icons/eds-icon-menu/eds-icon-menu.js +1 -1
  125. package/dist/collection/components/eds-icons/eds-icon-minus/eds-icon-minus.js +1 -1
  126. package/dist/collection/components/eds-icons/eds-icon-more/eds-icon-more.js +1 -1
  127. package/dist/collection/components/eds-icons/eds-icon-paper/eds-icon-paper.js +1 -1
  128. package/dist/collection/components/eds-icons/eds-icon-plus/eds-icon-plus.js +1 -1
  129. package/dist/collection/components/eds-icons/eds-icon-portal/eds-icon-portal.js +1 -1
  130. package/dist/collection/components/eds-icons/eds-icon-private/eds-icon-private.js +1 -1
  131. package/dist/collection/components/eds-icons/eds-icon-public/eds-icon-public.js +1 -1
  132. package/dist/collection/components/eds-icons/eds-icon-search/eds-icon-search.js +1 -1
  133. package/dist/collection/components/eds-icons/eds-icon-star/eds-icon-star.js +1 -1
  134. package/dist/collection/components/eds-icons/eds-icon-start/eds-icon-start.js +1 -1
  135. package/dist/collection/components/eds-icons/eds-icon-success/eds-icon-success.js +1 -1
  136. package/dist/collection/components/eds-icons/eds-icon-thumbs-down/eds-icon-thumbs-down.js +1 -1
  137. package/dist/collection/components/eds-icons/eds-icon-thumbs-up/eds-icon-thumbs-up.js +1 -1
  138. package/dist/collection/components/eds-icons/eds-icon-tutorial/eds-icon-tutorial.js +1 -1
  139. package/dist/collection/components/eds-icons/eds-icon-unknown/eds-icon-unknown.js +1 -1
  140. package/dist/collection/components/eds-icons/eds-icon-updown/eds-icon-updown.js +2 -2
  141. package/dist/collection/components/eds-icons/eds-icon-user/eds-icon-user.js +1 -1
  142. package/dist/collection/components/eds-icons/eds-icon-view/eds-icon-view.js +1 -1
  143. package/dist/collection/components/eds-icons/social/eds-icon-bluesky/eds-icon-bluesky.js +1 -1
  144. package/dist/collection/components/eds-icons/social/eds-icon-facebook/eds-icon-facebook.js +1 -1
  145. package/dist/collection/components/eds-icons/social/eds-icon-linkedin/eds-icon-linkedin.js +1 -1
  146. package/dist/collection/components/eds-icons/social/eds-icon-mastodon/eds-icon-mastodon.js +1 -1
  147. package/dist/collection/components/eds-icons/social/eds-icon-twitter/eds-icon-twitter.js +1 -1
  148. package/dist/collection/components/eds-icons/social/eds-icon-youtube/eds-icon-youtube.js +1 -1
  149. package/dist/collection/components/eds-img/eds-img.js +2 -2
  150. package/dist/collection/components/eds-input-elements/eds-input/eds-input.js +2 -2
  151. package/dist/collection/components/eds-input-elements/eds-input-footer/eds-input-footer.js +1 -1
  152. package/dist/collection/components/eds-input-elements/eds-input-label/eds-input-label.js +1 -1
  153. package/dist/collection/components/eds-input-elements/eds-input-range/eds-input-range.js +1 -1
  154. package/dist/collection/components/eds-input-elements/eds-input-search/eds-input-search.js +1 -1
  155. package/dist/collection/components/eds-input-elements/eds-input-select/eds-input-select.js +2 -2
  156. package/dist/collection/components/eds-input-field/eds-input-field.js +2 -2
  157. package/dist/collection/components/eds-link/eds-link.js +15 -25
  158. package/dist/collection/components/eds-logo/eds-logo.js +1 -1
  159. package/dist/collection/components/eds-modal/eds-modal.js +2 -2
  160. package/dist/collection/components/eds-nps/eds-nps.js +66 -53
  161. package/dist/collection/components/eds-pagination/eds-pagination.js +1 -1
  162. package/dist/collection/components/eds-progress-bar/eds-progress-bar.js +1 -1
  163. package/dist/collection/components/eds-rating/eds-rating.js +1 -1
  164. package/dist/collection/components/eds-section/eds-section-core/eds-section-core.js +1 -1
  165. package/dist/collection/components/eds-section/eds-section-heading/eds-section-heading.js +2 -2
  166. package/dist/collection/components/eds-sidebar/eds-sidebar.css +458 -0
  167. package/dist/collection/components/eds-sidebar/eds-sidebar.js +299 -0
  168. package/dist/collection/components/eds-sidebar/eds-sidebar.stories.js +141 -0
  169. package/dist/collection/components/eds-social-networks/eds-social-networks.js +1 -1
  170. package/dist/collection/components/eds-spinner/eds-spinner.js +1 -1
  171. package/dist/collection/components/eds-steps/eds-steps.css +334 -10
  172. package/dist/collection/components/eds-steps/eds-steps.js +187 -101
  173. package/dist/collection/components/eds-steps/eds-steps.stories.js +21 -3
  174. package/dist/collection/components/eds-steps-v2/eds-steps-v2.css +167 -3
  175. package/dist/collection/components/eds-steps-v2/eds-steps-v2.js +177 -113
  176. package/dist/collection/components/eds-steps-v2/eds-steps-v2.stories.js +8 -1
  177. package/dist/collection/components/eds-switch/eds-switch.js +2 -2
  178. package/dist/collection/components/eds-table/eds-table.css +14 -0
  179. package/dist/collection/components/eds-table/eds-table.js +99 -9
  180. package/dist/collection/components/eds-tabs/eds-tabs.js +2 -2
  181. package/dist/collection/components/eds-tag/eds-tag.js +1 -1
  182. package/dist/collection/components/eds-timeline/eds-timeline.js +1 -1
  183. package/dist/collection/components/eds-toast-manager/eds-toast-manager.js +1 -1
  184. package/dist/collection/components/eds-tooltip/eds-tooltip.js +1 -1
  185. package/dist/collection/components/eds-trl/eds-trl.js +1 -1
  186. package/dist/collection/components/eds-user/eds-user.js +1 -1
  187. package/dist/collection/eds-docs-ui/colors/color-palette/primary.js +1 -1
  188. package/dist/collection/eds-docs-ui/colors/color-palette/secondary.js +1 -1
  189. package/dist/collection/eds-docs-ui/colors/color-palette/support.js +1 -1
  190. package/dist/collection/eds-docs-ui/colors/gradient-palette/primary.js +1 -1
  191. package/dist/collection/eds-docs-ui/colors/gradient-palette/secondary.js +7 -7
  192. package/dist/collection/eds-docs-ui/colors/gradient-palette/support.js +3 -3
  193. package/dist/collection/eds-docs-ui/colors/use-of-colors/correct-use-of-colors.js +1 -1
  194. package/dist/collection/eds-docs-ui/colors/use-of-colors/incorrect-use-of-colors.js +1 -1
  195. package/dist/collection/eds-docs-ui/components-section/components-section.js +1 -1
  196. package/dist/collection/eds-docs-ui/components-section/functional/overview.js +2 -2
  197. package/dist/collection/eds-docs-ui/components-section/functional/vue.js +1 -1
  198. package/dist/collection/eds-docs-ui/design-tokens/docs-tokens/docs-tokens.js +1 -1
  199. package/dist/collection/eds-docs-ui/design-tokens/token-list/token-list.js +1 -1
  200. package/dist/collection/eds-docs-ui/design-tokens/token-radii/token-radii.js +1 -1
  201. package/dist/collection/eds-docs-ui/design-tokens/token-ratios/token-ratios.js +1 -1
  202. package/dist/collection/eds-docs-ui/design-tokens/token-shadows/token-shadows.js +1 -1
  203. package/dist/collection/eds-docs-ui/design-tokens/token-spacing/token-spacing.js +1 -1
  204. package/dist/collection/eds-docs-ui/design-tokens/token-typography/token-typography.js +1 -1
  205. package/dist/collection/eds-docs-ui/docs-palettes/docs-palettes.js +1 -1
  206. package/dist/collection/eds-docs-ui/logo/logo-space/logo-space.js +1 -1
  207. package/dist/collection/eds-docs-ui/logo/logo-variations/horizontal/logo-variations-horizontal.js +1 -1
  208. package/dist/collection/eds-docs-ui/logo/logo-variations/vertical/logo-variations-vertical.js +1 -1
  209. package/dist/collection/eds-docs-ui/logo/logo-variations-tabs/logo-variations.js +1 -1
  210. package/dist/collection/eds-docs-ui/logo/logo-wrong-usage/logo-wrong-usage.js +1 -1
  211. package/dist/collection/eds-docs-ui/svg-repository/svg-repository.js +1 -1
  212. package/dist/collection/shared-ui/eds-cookies-preference/eds-cookies-preference.js +1 -1
  213. package/dist/collection/shared-ui/eds-global-search/eds-global-search.js +10 -12
  214. package/dist/collection/shared-ui/eds-global-search/eds-global-search.stories.js +2 -1
  215. package/dist/collection/shared-ui/examples/eds-app-root/eds-app-root.js +1 -1
  216. package/dist/components/components-section.js +33 -24
  217. package/dist/components/components.css +315 -0
  218. package/dist/components/components.esm.js +1 -1
  219. package/dist/components/correct-use-of-colors.js +1 -1
  220. package/dist/components/docs-palettes.js +1 -1
  221. package/dist/components/docs-tokens.js +1 -1
  222. package/dist/components/eds-accordion2.js +2 -2
  223. package/dist/components/eds-alert2.js +2 -2
  224. package/dist/components/eds-app-root.js +1 -1
  225. package/dist/components/eds-avatar2.js +1 -1
  226. package/dist/components/eds-block-break2.js +1 -1
  227. package/dist/components/eds-breadcrumb.js +1 -1
  228. package/dist/components/eds-button2.js +1 -3
  229. package/dist/components/eds-card-desc2.js +1 -1
  230. package/dist/components/eds-card-generic2.js +1 -1
  231. package/dist/components/eds-card-project.js +1 -1
  232. package/dist/components/eds-card-tags.js +1 -1
  233. package/dist/components/eds-card-title2.js +1 -1
  234. package/dist/components/eds-card-tool.js +1 -1
  235. package/dist/components/eds-code-block2.js +1 -1
  236. package/dist/components/eds-cookies-preference.js +1 -1
  237. package/dist/components/eds-dropdown2.js +2 -2
  238. package/dist/components/eds-feedback.js +1 -1
  239. package/dist/components/eds-footer2.js +6 -12
  240. package/dist/components/eds-form.js +80 -34
  241. package/dist/components/eds-frame.js +1 -1
  242. package/dist/components/eds-fullscreen-menu.js +16 -17
  243. package/dist/components/eds-gauge.js +1 -1
  244. package/dist/components/eds-global-search.js +31 -27
  245. package/dist/components/eds-header.js +2 -2
  246. package/dist/components/eds-icon-arrow-diagonal.js +1 -1
  247. package/dist/components/eds-icon-arrow-right.js +1 -1
  248. package/dist/components/eds-icon-bin.js +1 -1
  249. package/dist/components/eds-icon-bluesky.js +1 -1
  250. package/dist/components/eds-icon-bookmark.js +1 -1
  251. package/dist/components/eds-icon-chevron-down.js +1 -1
  252. package/dist/components/eds-icon-chevron-left.js +1 -1
  253. package/dist/components/eds-icon-chevron-right.js +1 -1
  254. package/dist/components/eds-icon-chevron-up.js +1 -1
  255. package/dist/components/eds-icon-clone.js +1 -1
  256. package/dist/components/eds-icon-close.js +1 -1
  257. package/dist/components/eds-icon-copy.js +1 -1
  258. package/dist/components/eds-icon-download.js +1 -1
  259. package/dist/components/eds-icon-draft.js +1 -1
  260. package/dist/components/eds-icon-edit.js +1 -1
  261. package/dist/components/eds-icon-eu.js +1 -1
  262. package/dist/components/eds-icon-external.js +1 -1
  263. package/dist/components/eds-icon-facebook.js +1 -1
  264. package/dist/components/eds-icon-gitlab.js +1 -1
  265. package/dist/components/eds-icon-linkedin.js +1 -1
  266. package/dist/components/eds-icon-loader.js +1 -1
  267. package/dist/components/eds-icon-mastodon.js +1 -1
  268. package/dist/components/eds-icon-menu.js +1 -1
  269. package/dist/components/eds-icon-minus.js +1 -1
  270. package/dist/components/eds-icon-more.js +1 -1
  271. package/dist/components/eds-icon-paper.js +1 -1
  272. package/dist/components/eds-icon-plus.js +1 -1
  273. package/dist/components/eds-icon-portal.js +1 -1
  274. package/dist/components/eds-icon-private.js +1 -1
  275. package/dist/components/eds-icon-public.js +1 -1
  276. package/dist/components/eds-icon-search.js +1 -1
  277. package/dist/components/eds-icon-star.js +1 -1
  278. package/dist/components/eds-icon-start.js +1 -1
  279. package/dist/components/eds-icon-success.js +1 -1
  280. package/dist/components/eds-icon-thumbs-down.js +1 -1
  281. package/dist/components/eds-icon-thumbs-up.js +1 -1
  282. package/dist/components/eds-icon-tutorial.js +1 -1
  283. package/dist/components/eds-icon-twitter.js +1 -1
  284. package/dist/components/eds-icon-unknown.js +1 -1
  285. package/dist/components/eds-icon-updown.js +2 -2
  286. package/dist/components/eds-icon-user.js +1 -1
  287. package/dist/components/eds-icon-view.js +1 -1
  288. package/dist/components/eds-icon-youtube.js +1 -1
  289. package/dist/components/eds-img2.js +2 -2
  290. package/dist/components/eds-input-field2.js +22 -16
  291. package/dist/components/eds-input-footer2.js +9 -3
  292. package/dist/components/eds-input-label2.js +1 -1
  293. package/dist/components/eds-input-range2.js +1 -1
  294. package/dist/components/eds-input-search2.js +1 -1
  295. package/dist/components/eds-input-select2.js +2 -2
  296. package/dist/components/eds-input2.js +2 -2
  297. package/dist/components/eds-link2.js +14 -9
  298. package/dist/components/eds-logo2.js +1 -1
  299. package/dist/components/eds-modal.js +2 -2
  300. package/dist/components/eds-nps2.js +66 -53
  301. package/dist/components/eds-pagination2.js +1 -1
  302. package/dist/components/eds-progress-bar2.js +1 -1
  303. package/dist/components/eds-rating2.js +1 -1
  304. package/dist/components/eds-section-core2.js +1 -1
  305. package/dist/components/eds-section-heading2.js +2 -2
  306. package/dist/components/eds-sidebar.d.ts +11 -0
  307. package/dist/components/eds-sidebar.js +208 -0
  308. package/dist/components/eds-social-networks2.js +1 -1
  309. package/dist/components/eds-spinner2.js +1 -1
  310. package/dist/components/eds-steps-v2.js +133 -46
  311. package/dist/components/eds-steps2.js +130 -34
  312. package/dist/components/eds-switch.js +2 -2
  313. package/dist/components/eds-table2.js +65 -9
  314. package/dist/components/eds-tabs.js +2 -2
  315. package/dist/components/eds-tag2.js +1 -1
  316. package/dist/components/eds-timeline.js +1 -1
  317. package/dist/components/eds-toast-manager.js +1 -1
  318. package/dist/components/eds-tooltip2.js +1 -1
  319. package/dist/components/eds-trl.js +1 -1
  320. package/dist/components/eds-user.js +1 -1
  321. package/dist/components/incorrect-use-of-colors.js +1 -1
  322. package/dist/components/logo-space.js +1 -1
  323. package/dist/components/logo-variations-horizontal2.js +1 -1
  324. package/dist/components/logo-variations-tabs.js +1 -1
  325. package/dist/components/logo-variations-vertical2.js +1 -1
  326. package/dist/components/logo-wrong-usage.js +1 -1
  327. package/dist/components/{p-838d6773.entry.js → p-0e504247.entry.js} +1 -1
  328. package/dist/components/{p-b8b4c01e.entry.js → p-0f319eac.entry.js} +1 -1
  329. package/dist/components/{p-7b0496b1.entry.js → p-11bf02db.entry.js} +1 -1
  330. package/dist/components/{p-ca91952b.entry.js → p-15df046d.entry.js} +1 -1
  331. package/dist/components/p-15e5229b.entry.js +1 -0
  332. package/dist/components/{p-75b40e57.entry.js → p-1804a119.entry.js} +1 -1
  333. package/dist/components/p-19c628e6.entry.js +1 -0
  334. package/dist/components/p-19e241e9.entry.js +1 -0
  335. package/dist/components/p-1a674723.entry.js +9 -0
  336. package/dist/components/p-1dd6faeb.entry.js +1 -0
  337. package/dist/components/{p-e614c8e8.entry.js → p-21ed7e2e.entry.js} +1 -1
  338. package/dist/components/{p-2d6ca1c5.entry.js → p-2bd9605b.entry.js} +1 -1
  339. package/dist/components/{p-44d33938.entry.js → p-2d4f6e90.entry.js} +1 -1
  340. package/dist/components/p-2e3bd154.entry.js +1 -0
  341. package/dist/components/p-3004d956.entry.js +1 -0
  342. package/dist/components/p-313b04c9.entry.js +1 -0
  343. package/dist/components/p-31a3c6a2.entry.js +1 -0
  344. package/dist/components/p-3778e162.entry.js +1 -0
  345. package/dist/components/p-39548acc.entry.js +1 -0
  346. package/dist/components/p-3aac5c73.entry.js +1 -0
  347. package/dist/components/p-3d313fb5.entry.js +1 -0
  348. package/dist/components/p-43bc9224.entry.js +1 -0
  349. package/dist/components/p-48eaf544.entry.js +1 -0
  350. package/dist/components/{p-b522fa70.entry.js → p-4c2a8bf1.entry.js} +1 -1
  351. package/dist/components/{p-fe2bb83e.entry.js → p-4eaa7ba2.entry.js} +1 -1
  352. package/dist/components/p-5157eb25.entry.js +1 -0
  353. package/dist/components/{p-0798d50d.entry.js → p-59d2b2a9.entry.js} +1 -1
  354. package/dist/components/p-5c28d2d3.entry.js +1 -0
  355. package/dist/components/p-63d9ab86.entry.js +1 -0
  356. package/dist/components/p-640c4463.entry.js +1 -0
  357. package/dist/components/p-643eee62.entry.js +1 -0
  358. package/dist/components/p-64be8ed5.entry.js +1 -0
  359. package/dist/components/{p-e9a6f693.entry.js → p-67c3bedc.entry.js} +1 -1
  360. package/dist/components/{p-f2b12631.entry.js → p-70cbe02d.entry.js} +1 -1
  361. package/dist/components/p-7aa97ad6.entry.js +1 -0
  362. package/dist/components/{p-24683124.entry.js → p-7b160270.entry.js} +1 -1
  363. package/dist/components/p-83b26d8c.entry.js +1 -0
  364. package/dist/components/{p-e2bc6329.entry.js → p-85f866f0.entry.js} +1 -1
  365. package/dist/components/p-8779905b.entry.js +1 -0
  366. package/dist/components/p-88814860.entry.js +1 -0
  367. package/dist/components/{p-b471922f.entry.js → p-8998eec7.entry.js} +1 -1
  368. package/dist/components/p-8c42cefe.entry.js +1 -0
  369. package/dist/components/{p-bce8a58d.entry.js → p-8c520685.entry.js} +1 -1
  370. package/dist/components/p-8cba26bd.entry.js +1 -0
  371. package/dist/components/p-8ef830f5.entry.js +1 -0
  372. package/dist/components/p-942f4a95.entry.js +1 -0
  373. package/dist/components/p-9b05145b.entry.js +1 -0
  374. package/dist/components/{p-4beb1e06.entry.js → p-9d57b51f.entry.js} +1 -1
  375. package/dist/components/p-9e46df74.entry.js +1 -0
  376. package/dist/components/{p-76330532.entry.js → p-9fe2c4ba.entry.js} +1 -1
  377. package/dist/components/p-a38bb645.entry.js +1 -0
  378. package/dist/components/{p-df18ffd1.entry.js → p-a61dbad5.entry.js} +1 -1
  379. package/dist/components/{p-398255ff.entry.js → p-a78079b7.entry.js} +1 -1
  380. package/dist/components/p-a8e5591c.entry.js +1 -0
  381. package/dist/components/p-afceabd6.entry.js +1 -0
  382. package/dist/components/p-b00352ff.entry.js +1 -0
  383. package/dist/components/p-b93f983c.entry.js +1 -0
  384. package/dist/components/p-bb6a6de2.entry.js +1 -0
  385. package/dist/components/p-bc2204f3.entry.js +1 -0
  386. package/dist/components/p-be54a6c8.entry.js +1 -0
  387. package/dist/components/p-bef9bf37.entry.js +1 -0
  388. package/dist/components/p-c1ad7132.entry.js +1 -0
  389. package/dist/components/p-cb5e39d1.entry.js +1 -0
  390. package/dist/components/p-ccb6ad15.entry.js +1 -0
  391. package/dist/components/p-d090b9fa.entry.js +1 -0
  392. package/dist/components/p-d11f2808.entry.js +1 -0
  393. package/dist/components/p-d6e5a9fb.entry.js +1 -0
  394. package/dist/components/{p-ce3b6043.entry.js → p-d958e1f3.entry.js} +1 -1
  395. package/dist/components/{p-963feadd.entry.js → p-da7b4b6a.entry.js} +1 -1
  396. package/dist/components/p-dea41137.entry.js +1 -0
  397. package/dist/components/p-e01cf4f8.entry.js +1 -0
  398. package/dist/components/{p-54e29971.entry.js → p-e5a1118d.entry.js} +1 -1
  399. package/dist/components/p-eb818455.entry.js +1 -0
  400. package/dist/components/p-f061ff11.entry.js +1 -0
  401. package/dist/components/p-f0a330ef.entry.js +1 -0
  402. package/dist/components/p-f11e3f42.entry.js +1 -0
  403. package/dist/components/{p-7ada2015.entry.js → p-f24bfc6a.entry.js} +1 -1
  404. package/dist/components/primary.js +1 -1
  405. package/dist/components/primary2.js +1 -1
  406. package/dist/components/secondary.js +1 -1
  407. package/dist/components/secondary2.js +7 -7
  408. package/dist/components/support.js +1 -1
  409. package/dist/components/support2.js +3 -3
  410. package/dist/components/svg-repository.js +3 -3
  411. package/dist/components/token-list2.js +1 -1
  412. package/dist/components/token-radii2.js +1 -1
  413. package/dist/components/token-ratios.js +1 -1
  414. package/dist/components/token-shadows2.js +1 -1
  415. package/dist/components/token-spacing.js +1 -1
  416. package/dist/components/token-typography.js +1 -1
  417. package/dist/components/up-and-down.js +2 -2
  418. package/dist/esm/color-primary-palette_6.entry.js +14 -14
  419. package/dist/esm/components-section.entry.js +33 -24
  420. package/dist/esm/components.js +1 -1
  421. package/dist/esm/correct-use-of-colors.entry.js +1 -1
  422. package/dist/esm/docs-palettes.entry.js +1 -1
  423. package/dist/esm/docs-tokens.entry.js +1 -1
  424. package/dist/esm/{eds-accordion_36.entry.js → eds-accordion_37.entry.js} +661 -210
  425. package/dist/esm/eds-app-root.entry.js +1 -1
  426. package/dist/esm/eds-card-desc_2.entry.js +2 -2
  427. package/dist/esm/eds-card-generic.entry.js +1 -1
  428. package/dist/esm/eds-card-project.entry.js +1 -1
  429. package/dist/esm/eds-card-tags.entry.js +1 -1
  430. package/dist/esm/eds-card-tool.entry.js +1 -1
  431. package/dist/esm/eds-cookies-preference.entry.js +1 -1
  432. package/dist/esm/eds-feedback.entry.js +1 -1
  433. package/dist/esm/eds-footer.entry.js +2 -2
  434. package/dist/esm/eds-frame.entry.js +1 -1
  435. package/dist/esm/eds-fullscreen-menu.entry.js +8 -3
  436. package/dist/esm/eds-gauge.entry.js +1 -1
  437. package/dist/esm/eds-icon-arrow-diagonal.entry.js +1 -1
  438. package/dist/esm/eds-icon-arrow-right.entry.js +1 -1
  439. package/dist/esm/eds-icon-bin.entry.js +1 -1
  440. package/dist/esm/eds-icon-bluesky.entry.js +1 -1
  441. package/dist/esm/eds-icon-bookmark.entry.js +1 -1
  442. package/dist/esm/eds-icon-chevron-down.entry.js +1 -1
  443. package/dist/esm/eds-icon-chevron-left.entry.js +1 -1
  444. package/dist/esm/eds-icon-chevron-right.entry.js +1 -1
  445. package/dist/esm/eds-icon-chevron-up.entry.js +1 -1
  446. package/dist/esm/eds-icon-clone.entry.js +1 -1
  447. package/dist/esm/eds-icon-close.entry.js +1 -1
  448. package/dist/esm/eds-icon-copy.entry.js +1 -1
  449. package/dist/esm/eds-icon-download.entry.js +1 -1
  450. package/dist/esm/eds-icon-draft.entry.js +1 -1
  451. package/dist/esm/eds-icon-edit.entry.js +1 -1
  452. package/dist/esm/eds-icon-eu.entry.js +1 -1
  453. package/dist/esm/eds-icon-external.entry.js +1 -1
  454. package/dist/esm/eds-icon-facebook.entry.js +1 -1
  455. package/dist/esm/eds-icon-gitlab.entry.js +1 -1
  456. package/dist/esm/eds-icon-linkedin.entry.js +1 -1
  457. package/dist/esm/eds-icon-loader.entry.js +1 -1
  458. package/dist/esm/eds-icon-mastodon.entry.js +1 -1
  459. package/dist/esm/eds-icon-menu.entry.js +1 -1
  460. package/dist/esm/eds-icon-minus.entry.js +1 -1
  461. package/dist/esm/eds-icon-more.entry.js +1 -1
  462. package/dist/esm/eds-icon-paper.entry.js +1 -1
  463. package/dist/esm/eds-icon-plus.entry.js +1 -1
  464. package/dist/esm/eds-icon-portal.entry.js +1 -1
  465. package/dist/esm/eds-icon-private.entry.js +1 -1
  466. package/dist/esm/eds-icon-public.entry.js +1 -1
  467. package/dist/esm/eds-icon-search.entry.js +1 -1
  468. package/dist/esm/eds-icon-star.entry.js +1 -1
  469. package/dist/esm/eds-icon-start.entry.js +1 -1
  470. package/dist/esm/eds-icon-success.entry.js +1 -1
  471. package/dist/esm/eds-icon-thumbs-down.entry.js +1 -1
  472. package/dist/esm/eds-icon-thumbs-up.entry.js +1 -1
  473. package/dist/esm/eds-icon-tutorial.entry.js +1 -1
  474. package/dist/esm/eds-icon-twitter.entry.js +1 -1
  475. package/dist/esm/eds-icon-unknown.entry.js +1 -1
  476. package/dist/esm/eds-icon-updown.entry.js +2 -2
  477. package/dist/esm/eds-icon-user.entry.js +1 -1
  478. package/dist/esm/eds-icon-view.entry.js +1 -1
  479. package/dist/esm/eds-icon-youtube.entry.js +1 -1
  480. package/dist/esm/eds-modal.entry.js +2 -2
  481. package/dist/esm/eds-progress-bar.entry.js +1 -1
  482. package/dist/esm/eds-section-core_2.entry.js +3 -3
  483. package/dist/esm/eds-social-networks.entry.js +1 -1
  484. package/dist/esm/eds-timeline.entry.js +1 -1
  485. package/dist/esm/eds-toast-manager.entry.js +1 -1
  486. package/dist/esm/eds-trl.entry.js +1 -1
  487. package/dist/esm/incorrect-use-of-colors.entry.js +1 -1
  488. package/dist/esm/index-870ab08f.js +2 -2
  489. package/dist/esm/loader.js +1 -1
  490. package/dist/esm/logo-space.entry.js +1 -1
  491. package/dist/esm/logo-variations-horizontal_2.entry.js +2 -2
  492. package/dist/esm/logo-variations-tabs.entry.js +1 -1
  493. package/dist/esm/logo-wrong-usage.entry.js +1 -1
  494. package/dist/esm/svg-repository.entry.js +3 -3
  495. package/dist/esm/token-list_3.entry.js +3 -3
  496. package/dist/esm/token-ratios.entry.js +1 -1
  497. package/dist/esm/token-spacing.entry.js +1 -1
  498. package/dist/esm/token-typography.entry.js +1 -1
  499. package/dist/esm/{up-and-down-d747abee.js → up-and-down-8b69ca97.js} +2 -2
  500. package/dist/hydrate/index.js +827 -341
  501. package/dist/hydrate/index.mjs +827 -341
  502. package/dist/types/Users/nigeor/Documents/Projects/EBRAINS/ebrains-ui-ecosystem/packages/components/.stencil/packages/svgs/src/lib/svgs.d.ts +2 -2
  503. package/dist/types/components/eds-button/eds-button.d.ts +0 -1
  504. package/dist/types/components/eds-form/eds-form.d.ts +1 -0
  505. package/dist/types/components/eds-link/eds-link.d.ts +0 -1
  506. package/dist/types/components/eds-nps/eds-nps.d.ts +5 -3
  507. package/dist/types/components/eds-sidebar/eds-sidebar.d.ts +50 -0
  508. package/dist/types/components/eds-sidebar/eds-sidebar.stories.d.ts +98 -0
  509. package/dist/types/components/eds-steps/eds-steps.d.ts +18 -69
  510. package/dist/types/components/eds-steps/eds-steps.stories.d.ts +18 -0
  511. package/dist/types/components/eds-steps-v2/eds-steps-v2.d.ts +24 -52
  512. package/dist/types/components/eds-steps-v2/eds-steps-v2.stories.d.ts +8 -0
  513. package/dist/types/components/eds-table/eds-table.d.ts +8 -0
  514. package/dist/types/components.d.ts +143 -124
  515. package/package.json +1 -1
  516. package/dist/components/p-004801b2.entry.js +0 -1
  517. package/dist/components/p-02648f82.entry.js +0 -1
  518. package/dist/components/p-09f1b358.entry.js +0 -1
  519. package/dist/components/p-0ec9dcf5.entry.js +0 -1
  520. package/dist/components/p-0fb8511d.entry.js +0 -1
  521. package/dist/components/p-127870d7.entry.js +0 -1
  522. package/dist/components/p-12e153fb.entry.js +0 -1
  523. package/dist/components/p-1f80e708.entry.js +0 -1
  524. package/dist/components/p-21b5ca1f.entry.js +0 -1
  525. package/dist/components/p-2bfcb3cf.entry.js +0 -1
  526. package/dist/components/p-2efa0ba6.entry.js +0 -1
  527. package/dist/components/p-33a639b5.entry.js +0 -1
  528. package/dist/components/p-36b17bf2.entry.js +0 -1
  529. package/dist/components/p-3c478e74.entry.js +0 -1
  530. package/dist/components/p-447e436c.entry.js +0 -1
  531. package/dist/components/p-4995b8b2.entry.js +0 -1
  532. package/dist/components/p-53343ea1.entry.js +0 -1
  533. package/dist/components/p-56447243.entry.js +0 -1
  534. package/dist/components/p-56cc4a15.entry.js +0 -1
  535. package/dist/components/p-5ddcec77.entry.js +0 -1
  536. package/dist/components/p-5e8142ed.entry.js +0 -1
  537. package/dist/components/p-70f5e9f5.entry.js +0 -1
  538. package/dist/components/p-714445de.entry.js +0 -1
  539. package/dist/components/p-7436a99a.entry.js +0 -1
  540. package/dist/components/p-772d6ca9.entry.js +0 -1
  541. package/dist/components/p-79044ab6.entry.js +0 -1
  542. package/dist/components/p-7c7aaa95.entry.js +0 -1
  543. package/dist/components/p-81ba0feb.entry.js +0 -1
  544. package/dist/components/p-82b357f7.entry.js +0 -1
  545. package/dist/components/p-84239973.entry.js +0 -1
  546. package/dist/components/p-85dfbfd3.entry.js +0 -1
  547. package/dist/components/p-a155c283.entry.js +0 -1
  548. package/dist/components/p-a4080044.entry.js +0 -1
  549. package/dist/components/p-abd40167.entry.js +0 -1
  550. package/dist/components/p-ae41414e.entry.js +0 -1
  551. package/dist/components/p-afb55d52.entry.js +0 -1
  552. package/dist/components/p-b4c2c58d.entry.js +0 -9
  553. package/dist/components/p-b6fc1a7d.entry.js +0 -1
  554. package/dist/components/p-b8a36d0f.entry.js +0 -1
  555. package/dist/components/p-bb4633ec.entry.js +0 -1
  556. package/dist/components/p-bc59e5ff.entry.js +0 -1
  557. package/dist/components/p-cdabb63e.entry.js +0 -1
  558. package/dist/components/p-d3fa440f.entry.js +0 -1
  559. package/dist/components/p-dacd8c26.entry.js +0 -1
  560. package/dist/components/p-ddec1f12.entry.js +0 -1
  561. package/dist/components/p-e6819f4d.entry.js +0 -1
  562. package/dist/components/p-e8d0a2db.entry.js +0 -1
  563. package/dist/components/p-eaf5d057.entry.js +0 -1
  564. package/dist/components/p-eb57d477.entry.js +0 -1
  565. package/dist/components/p-efdc6fd7.entry.js +0 -1
  566. package/dist/components/p-f013c0ac.entry.js +0 -1
  567. package/dist/components/p-f1ead3b3.entry.js +0 -1
  568. /package/dist/components/{p-1b2913c8.js → p-553ca350.js} +0 -0
@@ -75,10 +75,10 @@ const EdsAccordion = class {
75
75
  * Adjusts styles based on `switchBg`, `tiny`, `clampText`, and other props.
76
76
  */
77
77
  render() {
78
- return (h("div", { key: 'd162692cb9a99b6a1b9b736b828214c9d425046e', ref: (el) => (this.wrapperRef = el), class: `flex effect-color border-softer relative grid overflow-hidden rounded-lg border-2 p-16
78
+ return (h("div", { key: '095474500f7c60f20e4d737188001d2f3084dbcc', ref: (el) => (this.wrapperRef = el), class: `flex effect-color border-softer relative grid overflow-hidden rounded-lg border-2 p-16
79
79
  ${this.switchBg && this.isExpanded ? 'bg-inverse' : 'bg-default'}
80
80
  ${this.switchBg ? 'hover:bg-inverse' : ''}
81
- ${this.description ? 'min-h-56' : ''}` }, h("h3", { key: '3770e241daa7e4696c5481c97965fb2ebe0b17f9', ref: (el) => (this.headerRef = el), class: "mr-auto f-heading-06 text-left absolute inset-x-16 break-words top-16 pr-40" }, this.heading), h("div", { key: '56b7b70d16cf3f944bf3cec878bd15c3e18b399b', class: "ml-auto" }, h("eds-button", { key: '4b770831f155f7e77a424b9dd3ec0a8708a0859f', id: "toggleAccordion", intent: this.buttonIntent, "aria-expanded": this.isExpanded || this.shortContent, "aria-label": "Toggle accordion", "aria-controls": "accordionSection", class: `effect-color flex w-full items-center justify-between rounded-md`, onClick: this.handleClick, icon: "chevron-down" })), h("div", { key: 'c75c4d840bc8be25ee7590d90e3290faf090fdf0', class: `w-full`, style: Number.isFinite(this.headerHeight) ? { marginTop: `${this.headerHeight}px` } : {} }, this.description ? (h("span", { class: `text-light ${!this.isExpanded && this.clampText ? 'line-clamp-1' : ''}` }, this.description)) : null, h("section", { key: 'b78b8f7fa93a85c886136cac8119d7b94de2a129', id: "accordionSection", "aria-labelledby": "accordionHeader", "aria-hidden": !this.isExpanded, class: `z-1 effect-height relative h-0 w-full ${!this.isExpanded && this.clampText ? 'overflow-hidden' : ''}`, style: { height: this.isExpanded ? 'auto' : '0' } }, h("div", { key: '75ba9a9a7082b4ded3dacd6cbaa9ceb3688c5045', ref: (el) => (this.childContentRef = el), class: `accordion-content effect-color pt-4`, "aria-hidden": !this.isExpanded }, h("span", { key: 'e08cefc1d6fe7f3d162de86a17646d88a8686d83', class: `${!this.isExpanded && this.clampText ? 'line-clamp-2' : ''}` }, h("slot", { key: '77d3a7fb997a9f313e3013a17f87c28f7ff8adad' })))))));
81
+ ${this.description ? 'min-h-56' : ''}` }, h("h3", { key: 'f090fbe3632df8302046f1178e82b8affc4cc821', ref: (el) => (this.headerRef = el), class: "mr-auto f-heading-06 text-left absolute inset-x-16 break-words top-16 pr-40" }, this.heading), h("div", { key: '0a30ab8c27cadbb342fc57f6393111c84f10a664', class: "ml-auto" }, h("eds-button", { key: '01f4658df8181b63b71a2e0d2a67e8f8b58efbb7', id: "toggleAccordion", intent: this.buttonIntent, "aria-expanded": this.isExpanded || this.shortContent, "aria-label": "Toggle accordion", "aria-controls": "accordionSection", class: `effect-color flex w-full items-center justify-between rounded-md`, onClick: this.handleClick, icon: "chevron-down" })), h("div", { key: '9f3b5a0e425c2dffe3b6fe40fa33b020d64256d8', class: `w-full`, style: Number.isFinite(this.headerHeight) ? { marginTop: `${this.headerHeight}px` } : {} }, this.description ? (h("span", { class: `text-light ${!this.isExpanded && this.clampText ? 'line-clamp-1' : ''}` }, this.description)) : null, h("section", { key: '414735d7d982de76d8a1b8db24aa9a569eba37c7', id: "accordionSection", "aria-labelledby": "accordionHeader", "aria-hidden": !this.isExpanded, class: `z-1 effect-height relative h-0 w-full ${!this.isExpanded ? 'overflow-hidden' : ''}`, style: { height: this.isExpanded ? 'auto' : '0' } }, h("div", { key: '11097a0646b18f728af494c14aa4cc0e5335defe', ref: (el) => (this.childContentRef = el), class: `accordion-content effect-color pt-4`, "aria-hidden": !this.isExpanded }, h("span", { key: '88414c40490aa77166d23868f16556b9356279a7', class: `${!this.isExpanded && this.clampText ? 'line-clamp-2' : ''}` }, h("slot", { key: '8070a7676ca8fba065f813852a2e0cf4146f3374' })))))));
82
82
  }
83
83
  get el() { return getElement(this); }
84
84
  };
@@ -179,12 +179,12 @@ const EdsAlert = class {
179
179
  }
180
180
  render() {
181
181
  const ariaLabel = this.intent !== 'default' ? `${this.intent} alert` : 'alert';
182
- return (h("div", { key: '33781ae5fb8504158e8fe780a76d89566a39e914', class: alertStyles({
182
+ return (h("div", { key: 'd8f0a45ddbaf3d3eb284751e33ddfdce2e13b67a', class: alertStyles({
183
183
  intent: this.intent,
184
184
  brd: this.brd,
185
185
  direction: this.direction,
186
186
  withBtn: this.withBtn
187
- }), role: "alert", "aria-label": ariaLabel, "aria-live": this.intent === 'error' ? 'assertive' : 'polite', "aria-labelledby": "alert-message", "aria-describedby": this.withBtn ? 'alert-action' : undefined }, h("p", { key: 'fb3a1d216279b4076b09ef9544d37c5229b4d706', id: "alert-message", class: "f-ui-01 py-8", innerHTML: this.message }), this.withBtn && (h("div", { key: 'a5edd833ae3924f41edb17068090eeeb4e9f9cfd', id: "alert-action" }, this.pressableUrl ? (h("eds-link", { class: "eds-alert-link", label: this.pressableLabel, url: this.pressableUrl, intent: "secondary", external: true })) : (h("eds-button", { class: "eds-alert-button", label: this.pressableLabel, intent: "secondary", onClick: () => this.handleAction() }))))));
187
+ }), role: "alert", "aria-label": ariaLabel, "aria-live": this.intent === 'error' ? 'assertive' : 'polite', "aria-labelledby": "alert-message", "aria-describedby": this.withBtn ? 'alert-action' : undefined }, h("p", { key: '179862c141a2ce05fa9f8562be7e64196baa3922', id: "alert-message", class: "f-ui-01 py-8", innerHTML: this.message }), this.withBtn && (h("div", { key: '3677358bd563a3e2ee1b74309dc4fb6c84ac475f', id: "alert-action" }, this.pressableUrl ? (h("eds-link", { class: "eds-alert-link", label: this.pressableLabel, url: this.pressableUrl, intent: "secondary", external: true })) : (h("eds-button", { class: "eds-alert-button", label: this.pressableLabel, intent: "secondary", onClick: () => this.handleAction() }))))));
188
188
  }
189
189
  get el() { return getElement(this); }
190
190
  };
@@ -247,7 +247,7 @@ const EdsAvatar = class {
247
247
  * @returns {JSX.Element} The rendered avatar component.
248
248
  */
249
249
  render() {
250
- return (h("div", { key: 'd29c110e340567236716e77c4f003bec5c70ee63', class: this.containerClasses }, this.picture ? (h("eds-img", { src: this.picture, width: 54, height: 54, sizes: "120px", alt: `${this.firstName} ${this.lastName}`, lazyload: true, withBg: true })) : (h("abbr", { title: this.computedInitials || `${this.firstName} ${this.lastName}`, class: "!no-underline f-ui-01" }, this.computedInitials))));
250
+ return (h("div", { key: '7b5bf31c794c9bbddd2976fdd5a273842a75603a', class: this.containerClasses }, this.picture ? (h("eds-img", { src: this.picture, width: 54, height: 54, sizes: "120px", alt: `${this.firstName} ${this.lastName}`, lazyload: true, withBg: true })) : (h("abbr", { title: this.computedInitials || `${this.firstName} ${this.lastName}`, class: "!no-underline f-ui-01" }, this.computedInitials))));
251
251
  }
252
252
  };
253
253
  EdsAvatar.style = EdsAvatarStyle0;
@@ -261,7 +261,7 @@ const EdsBlockBreak = class {
261
261
  this.inverse = false;
262
262
  }
263
263
  render() {
264
- return h("hr", { key: '0e2ec4b9c8b70ff9b65e6c4f2af42f198b1eb7d0', class: `${this.inverse ? 'border-default' : 'border-softer'} my-16 inline-block w-full border-t-2` });
264
+ return h("hr", { key: 'dd9b98d66f195135ff2fb1374a56d4c670e43d3e', class: `${this.inverse ? 'border-default' : 'border-softer'} my-16 inline-block w-full border-t-2` });
265
265
  }
266
266
  };
267
267
  EdsBlockBreak.style = EdsBlockBreakStyle0;
@@ -381,7 +381,7 @@ const EdsBreadcrumb = class {
381
381
  */
382
382
  render() {
383
383
  const itemsToRender = this.getTruncatedItems();
384
- return (h("nav", { key: '27ddf744a07f1b697e549cdc6d2a66f65ebe6386', "aria-label": "Breadcrumb" }, h("ol", { key: '43ac089290c0a6f9b3c5cd629def8540966637b8', class: "flex items-center space-x-2" }, itemsToRender.map((item, index) => {
384
+ return (h("nav", { key: '4894fb9e6b37ef84880a62f4dcd3289dcb9cab38', "aria-label": "Breadcrumb" }, h("ol", { key: 'd69405fcee024465d645d9cdbb17189998a94b95', class: "flex items-center space-x-2" }, itemsToRender.map((item, index) => {
385
385
  const isLast = index === itemsToRender.length - 1;
386
386
  return (h("li", { class: "flex items-center" }, !item.isHidden ? ((() => {
387
387
  const { fullLabel } = this.getLabels(item, isLast);
@@ -520,7 +520,6 @@ const EdsButton = class {
520
520
  this.size = 'small';
521
521
  this.iconPos = 'right';
522
522
  this.iconSmall = false;
523
- this.extraClass = undefined;
524
523
  this.triggerClick = undefined;
525
524
  }
526
525
  handleParentContext(event) {
@@ -571,7 +570,7 @@ const EdsButton = class {
571
570
  });
572
571
  const ElementType = this.elementType;
573
572
  const isInteractive = !this.disabled && !this.loading;
574
- return (h(Host, { key: 'fe91be3eb9c2a3ece800097392462b3bd76f1264' }, h(ElementType, { key: 'aa1d4e0544beff8759d232d0e897ffdbcd584ea5', tabindex: isInteractive ? '0' : '-1', "aria-label": this.label ? undefined : this.ariaLabel, "aria-disabled": this.disabled || this.loading ? 'true' : undefined, "aria-busy": this.loading ? 'true' : undefined, disabled: this.elementType === 'button' ? this.disabled || this.loading : undefined, role: this.elementType === 'a' ? 'button' : undefined, class: `${classes || ''} ${this.extraClass || ''}`, onClick: (event) => this.handleClick(event), onKeyDown: (event) => this.handleKeyDown(event) }, this.label && (h("span", { key: '2b55edc1b986950ba03a759cffd7346c8611ac0a', class: this.loading ? 'opacity-0' : '', "aria-hidden": this.loading ? 'true' : undefined }, this.label)), this.loading && (h("span", { key: '5b035b8ef848cde63af9a2cc4a3ed72c68e1e03d', class: "absolute inset-0 flex items-center justify-center", "aria-hidden": "true" }, h("span", { key: '2746ef996f0835c76c4ef2cbd39103ad4d07c21f', class: "loader", style: {
573
+ return (h(Host, { key: '25a7b4ffda3df65e91c77a18becd45bc40973f3c' }, h(ElementType, { key: '0f00d82a37f3189b862015eb2d915f2364b6d75d', tabindex: isInteractive ? '0' : '-1', "aria-label": this.label ? undefined : this.ariaLabel, "aria-disabled": this.disabled || this.loading ? 'true' : undefined, "aria-busy": this.loading ? 'true' : undefined, disabled: this.elementType === 'button' ? this.disabled || this.loading : undefined, role: this.elementType === 'a' ? 'button' : undefined, class: `${classes || ''}`, onClick: (event) => this.handleClick(event), onKeyDown: (event) => this.handleKeyDown(event) }, this.label && (h("span", { key: '6e45dfefb4805eef0574f7462becca6cde85dbc0', class: this.loading ? 'opacity-0' : '', "aria-hidden": this.loading ? 'true' : undefined }, this.label)), this.loading && (h("span", { key: '9909c70db39a039b883854caff816d25f132b866', class: "absolute inset-0 flex items-center justify-center", "aria-hidden": "true" }, h("span", { key: '367cd65a13f81cbcb12d93855dc091a4309566bb', class: "loader", style: {
575
574
  border: `3px solid ${this.intent === 'secondary' ? 'rgba(255, 255, 255, .3)' : 'rgba(0, 0, 0, .3)'}`,
576
575
  borderBottomColor: this.intent === 'secondary' ? '#fff' : '#000'
577
576
  } }))), this.icon ? (h("eds-icon-wrapper", { class: `
@@ -3060,7 +3059,7 @@ const EdsCodeBlock = class {
3060
3059
  return this.code; // Fallback if language is not provided or unsupported
3061
3060
  }
3062
3061
  render() {
3063
- return (h("div", { key: '2c5addd195dc8d930db643e95ecc52410dd94052', class: "relative bg-stronger rounded-sm" }, h("div", { key: 'aea2d891f9e5d57d4b8390cff4597cb8edd163a1', class: "text-inverse flex justify-between items-center p-8" }, this.language ? (h("span", { class: "f-ui-03" }, this.language.toUpperCase())) : (h("pre", { class: "bg-stronger pl-8", role: "region", "aria-label": "Code block without language" }, h("code", { innerHTML: this.getHighlightedCode() }))), h("span", { key: '41e2d463bde145f901eae42dda68091a9a42e3ef', "aria-hidden": "true", class: "w-20 h-20 mt-8" }, h("eds-icon-wrapper", { key: '7285b81dd936c770b09b4a36bed8c8ba2a87da99', icon: this.copied ? 'success' : 'copy', onClick: () => this.copyToClipboard() })), h("span", { key: 'a12d74735064478480544cc4b5cf14d7b028b1a8', class: "sr-only" }, "Copy Code")), this.language && (h("pre", { key: '2fcde4f271059ac98cb3b1b6bffbf4564ccf795b', class: `language-${this.language} bg-stronger pl-8 pb-8`, role: "region", "aria-label": `Code block in ${this.language}` }, h("code", { key: '68a8b83f492e7b0eb2916a063e28a4293e6a988f', innerHTML: this.getHighlightedCode() })))));
3062
+ return (h("div", { key: 'bc74b6be37bcb24700d17b48b5398077e485abd7', class: "relative bg-stronger rounded-sm" }, h("div", { key: 'db0395bfd55eb3394ab2149c5c436f2a54e8afb0', class: "text-inverse flex justify-between items-center p-8" }, this.language ? (h("span", { class: "f-ui-03" }, this.language.toUpperCase())) : (h("pre", { class: "bg-stronger pl-8", role: "region", "aria-label": "Code block without language" }, h("code", { innerHTML: this.getHighlightedCode() }))), h("span", { key: '628ad41f15f3a38abe4b7c382074c8f5a8679a8c', "aria-hidden": "true", class: "w-20 h-20 mt-8" }, h("eds-icon-wrapper", { key: '1c95d57a5d8113d6ab7ebf7da713e058c7cc10f1', icon: this.copied ? 'success' : 'copy', onClick: () => this.copyToClipboard() })), h("span", { key: 'a64b2450b631835b6fc2c15047b09ceea5a9fc95', class: "sr-only" }, "Copy Code")), this.language && (h("pre", { key: '51945cbee1504625b54362505b60f1bd1784bdda', class: `language-${this.language} bg-stronger pl-8 pb-8`, role: "region", "aria-label": `Code block in ${this.language}` }, h("code", { key: '55961aa8278177451e13c929ec7f7065afcac93b', innerHTML: this.getHighlightedCode() })))));
3064
3063
  }
3065
3064
  get el() { return getElement(this); }
3066
3065
  };
@@ -3214,14 +3213,14 @@ const EdsDropdown = class {
3214
3213
  * @returns {JSX.Element} The rendered dropdown component.
3215
3214
  */
3216
3215
  render() {
3217
- return (h("div", { key: 'e31acbda3428f47fe32cfe550cf00c53374da215', class: "z-focus relative", ref: (el) => (this.dropdownContent = el) }, h("eds-button", { key: 'ce3e11ecee4f603c3ba0e003fccf3fe81289f4c8', label: this.label, "aria-label": this.ariaLabel, icon: this.icon, intent: this.intent, onClick: this.handleClick, "aria-expanded": this.isOpen.toString(), "aria-haspopup": "menu" }), h("nav", { key: '59f8533409171401ed73eac8d307e4eafbde9209', ref: (el) => (this.panelEl = el), role: "menu", class: {
3216
+ return (h("div", { key: 'ffc4915b2104e3d2dd347900acd897f56910a674', class: "z-focus relative", ref: (el) => (this.dropdownContent = el) }, h("eds-button", { key: 'ba48bdd7b75fd230bdc2dd564bd477f0349f5426', label: this.label, "aria-label": this.ariaLabel, icon: this.icon, intent: this.intent, onClick: this.handleClick, "aria-expanded": this.isOpen.toString(), "aria-haspopup": "menu" }), h("nav", { key: 'a29b57598a2ed8fcc9593c928df9443fd4449481', ref: (el) => (this.panelEl = el), role: "menu", class: {
3218
3217
  'shadow-small bg-inverse border-softest z-10 z-on-top absolute top-full mt-4 flex flex-col gap-y-4 border-2 p-8': true,
3219
3218
  'left-4': this.dropdownPos === 'left' && this.dropdownOffset,
3220
3219
  'left-0': this.dropdownPos === 'left' && !this.dropdownOffset,
3221
3220
  'right-4': this.dropdownPos === 'right' && this.dropdownOffset,
3222
3221
  'right-0': this.dropdownPos === 'right' && !this.dropdownOffset,
3223
3222
  'rounded-lg': this.rounded
3224
- }, style: { display: this.isOpen ? 'block' : 'none' }, "aria-label": "Dropdown", "aria-hidden": !this.isOpen }, h("slot", { key: '675839893bf667a7a05a63e552935bb1a5874b73' }))));
3223
+ }, style: { display: this.isOpen ? 'block' : 'none' }, "aria-label": "Dropdown", "aria-hidden": !this.isOpen }, h("slot", { key: 'ddf003345ef5181b968b4bfd8962805d09d15e89' }))));
3225
3224
  }
3226
3225
  get host() { return getElement(this); }
3227
3226
  };
@@ -3505,17 +3504,41 @@ const EdsForm = class {
3505
3504
  }
3506
3505
  const actual = this.values[field.condition.field];
3507
3506
  const expected = field.condition.value;
3508
- // Handle loose match between booleans and strings
3509
- return String(actual) === String(expected);
3507
+ // Handle undefined/null/empty
3508
+ if (actual == null) {
3509
+ return expected == null || expected === '';
3510
+ }
3511
+ // Handle arrays (multi-select, checkboxes)
3512
+ if (Array.isArray(actual)) {
3513
+ return actual.some((val) => this.normalizeValue(val) === this.normalizeValue(expected));
3514
+ }
3515
+ // Handle comma-separated strings (from checkboxes stored as "val1,val2")
3516
+ if (typeof actual === 'string' && actual.includes(',')) {
3517
+ const values = actual.split(',').map((v) => v.trim());
3518
+ return values.some((val) => this.normalizeValue(val) === this.normalizeValue(expected));
3519
+ }
3520
+ // Standard comparison with normalization
3521
+ return this.normalizeValue(actual) === this.normalizeValue(expected);
3522
+ }
3523
+ normalizeValue(value) {
3524
+ if (value == null) {
3525
+ return '';
3526
+ }
3527
+ if (typeof value === 'boolean') {
3528
+ return value ? 'true' : 'false';
3529
+ }
3530
+ if (typeof value === 'number') {
3531
+ return String(value);
3532
+ }
3533
+ if (typeof value === 'string') {
3534
+ return value.trim().toLowerCase();
3535
+ }
3536
+ return String(value).trim().toLowerCase();
3510
3537
  }
3511
3538
  validateForm() {
3512
- const { errors, hasError } = validateFormFields(this.parsedFields, this.formEl, this.values, (field, values) => {
3513
- if (!field.condition) {
3514
- return true;
3515
- }
3516
- const parentValue = values[field.condition.field];
3517
- return parentValue === field.condition.value;
3518
- });
3539
+ const { errors, hasError } = validateFormFields(this.parsedFields, this.formEl, this.values, (field, _values) =>
3540
+ // Use a temporary object with the condition to reuse isFieldVisible logic
3541
+ this.isFieldVisible(field));
3519
3542
  this.errors = errors;
3520
3543
  this.hasError = hasError;
3521
3544
  }
@@ -3529,8 +3552,22 @@ const EdsForm = class {
3529
3552
  if (!field.condition) {
3530
3553
  return true;
3531
3554
  }
3532
- const parentValue = values[field.condition.field];
3533
- return parentValue === field.condition.value;
3555
+ const actual = values[field.condition.field];
3556
+ const expected = field.condition.value;
3557
+ // Handle undefined/null/empty
3558
+ if (actual == null) {
3559
+ return expected == null || expected === '';
3560
+ }
3561
+ // Handle arrays
3562
+ if (Array.isArray(actual)) {
3563
+ return actual.some((val) => this.normalizeValue(val) === this.normalizeValue(expected));
3564
+ }
3565
+ // Handle comma-separated strings
3566
+ if (typeof actual === 'string' && actual.includes(',')) {
3567
+ const values = actual.split(',').map((v) => v.trim());
3568
+ return values.some((val) => this.normalizeValue(val) === this.normalizeValue(expected));
3569
+ }
3570
+ return this.normalizeValue(actual) === this.normalizeValue(expected);
3534
3571
  }
3535
3572
  });
3536
3573
  this.values = updatedValues;
@@ -3597,8 +3634,9 @@ const EdsForm = class {
3597
3634
  const hosts = Array.from(this.formEl.querySelectorAll('eds-input-field'));
3598
3635
  hosts.forEach((host) => {
3599
3636
  const root = host.shadowRoot;
3600
- if (!root)
3637
+ if (!root) {
3601
3638
  return;
3639
+ }
3602
3640
  const fileInputs = Array.from(root.querySelectorAll('input[type="file"][name]'));
3603
3641
  console.log(fileInputs);
3604
3642
  fileInputs.forEach((fi) => {
@@ -3733,8 +3771,9 @@ const EdsForm = class {
3733
3771
  handleSubmit(e) {
3734
3772
  var _a, _b;
3735
3773
  e === null || e === void 0 ? void 0 : e.preventDefault();
3736
- if (this.isSubmitting)
3774
+ if (this.isSubmitting) {
3737
3775
  return;
3776
+ }
3738
3777
  this.isSubmitting = true;
3739
3778
  this.validateForm();
3740
3779
  if (this.hasError) {
@@ -3816,7 +3855,7 @@ const EdsForm = class {
3816
3855
  else if (field.type === 'nps') {
3817
3856
  return (h("div", { class: "form-group nps-field", key: field.name }, h("div", { class: "flex justify-between" }, field && (h("eds-input-label", { name: `nps-${field.name}`, label: field.question, disabled: field.disabled, required: field.required }))), h("eds-nps", { id: `nps-${field.name}`, "right-label": field.rightLabel, "left-label": field.leftLabel, onNps: (e) => this.handleNPS(e, field) }), h("div", { class: "mt-6" }, h("eds-input-footer", { id: `${field.name}-footer`, name: field.name, "error-message": (_b = this.errors[field.name]) === null || _b === void 0 ? void 0 : _b.join('<br/>'), error: !!this.errors[field.name] }))));
3818
3857
  }
3819
- return (h("eds-input-field", { key: field.name, name: field.name, label: field.label, placeholder: field.placeholder, type: field.type, value: this.values[field.name], required: field.required, hint: field.hint, message: field.message, error: !!this.errors[field.name], errorMessage: (_c = this.errors[field.name]) === null || _c === void 0 ? void 0 : _c.join('<br/>'), options: field.options, onInput: (e) => this.handleInput(e, field), onChangeNative: (e) => this.handleChange(e, field) }));
3858
+ return (h("eds-input-field", { key: field.name, name: field.name, label: field.label, placeholder: field.placeholder, type: field.type, value: this.values[field.name], required: field.required, hint: field.hint, message: field.message, link: field.link, error: !!this.errors[field.name], errorMessage: (_c = this.errors[field.name]) === null || _c === void 0 ? void 0 : _c.join('<br/>'), options: field.options, onInput: (e) => this.handleInput(e, field), onChangeNative: (e) => this.handleChange(e, field) }));
3820
3859
  }
3821
3860
  async getData() {
3822
3861
  return this.makeFormData();
@@ -3829,9 +3868,9 @@ const EdsForm = class {
3829
3868
  const styleClasses = this.formStyle === 'shadow'
3830
3869
  ? 'bg-inverse effect-shadow shadow-hover border-softer relative rounded-lg border-2 p-32'
3831
3870
  : '';
3832
- return (h("form", { key: '0b7014a7e6c641f2abc6217d919583dafce50067', class: styleClasses, ref: (el) => (this.formEl = el), autocomplete: "on", onSubmit: this.handleSubmit }, h("div", { key: '3beaa87c72ac60e37bf5c7093b8a3f5b54c9eb4b', class: "flex flex-col gap-y-24" }, this.title && (h("span", { key: '5d07685b0e31419d442765c230f9cd2373ce2773', role: "heading", class: "f-heading-04" }, this.title)), this.description && h("span", { key: '13fe635ea00fa3c950951f1df37549fa75341666', class: "f-body-02 text-light" }, this.description), h("slot", { key: '5e62b8844536ef127ce2565e4167766bf6d5ba4d' })), hiddenFields.map((field, index) => (h("eds-input", { key: index, type: "hidden", name: field.name, value: field.value }))), this.parsedGroups
3871
+ return (h("form", { key: '8a722f99ea8ad7b063805b3377180d73b16d96e1', class: styleClasses, ref: (el) => (this.formEl = el), autocomplete: "on", onSubmit: this.handleSubmit }, h("div", { key: '6a091913152adad7df2f8581a62d2146d9ea2f1d', class: "flex flex-col gap-y-24" }, this.title && (h("span", { key: '11dc49375a4eef1dfd4994a6ba2b2876262f9f55', role: "heading", class: "f-heading-04" }, this.title)), this.description && h("span", { key: 'dfa8bfa745828e8a57a4909dcbfd9f48497205c0', class: "f-body-02 text-light" }, this.description), h("slot", { key: 'db2c00b99038a6feddbe057de16b1002bbf14f03' })), hiddenFields.map((field, index) => (h("eds-input", { key: index, type: "hidden", name: field.name, value: field.value }))), this.parsedGroups
3833
3872
  .filter((g) => Array.isArray(buckets[g.id]) && buckets[g.id].length > 0)
3834
- .map((g) => (h("div", { class: "mt-32", key: g.id }, h("span", { class: "f-body-02" }, h("b", null, g.title)), h("div", { class: "border-group mt-32 mb-32 flex flex-col gap-y-24" }, buckets[g.id].map((f) => this.renderField(f)))))), h("div", { key: '831b919b0784a671596678392fe5aa0433af35a5', class: "flex flex-col mt-32 gap-y-24" }, buckets['__ungrouped'].map((f) => this.renderField(f))), this.formBtn && (h("div", { key: 'bdddee0aa0899c9cea3ce737f30f1e25ce8d95c5', class: "mt-32" }, h("eds-button", { key: 'f9a61383079b998dc98558d85b93e30aa32a3eeb', intent: this.buttonIntent, label: this.formBtnLabel, disabled: this.isSubmitting, loading: this.isSubmitting, onClick: () => this.handleSubmit() })))));
3873
+ .map((g) => (h("div", { class: "mt-32", key: g.id }, h("span", { class: "f-body-02" }, h("b", null, g.title)), h("div", { class: "border-group mt-32 mb-32 flex flex-col gap-y-24" }, buckets[g.id].map((f) => this.renderField(f)))))), h("div", { key: 'ed2cbf6dada2bf43c8846f5f2af8f3f0767a5b1c', class: "flex flex-col mt-32 gap-y-24" }, buckets['__ungrouped'].map((f) => this.renderField(f))), this.formBtn && (h("div", { key: '1cc4b51279214181f1894a573227cda0cbf385ee', class: "mt-32" }, h("eds-button", { key: '2a004027664d1433cf625c48f3447960de9c5c84', intent: this.buttonIntent, label: this.formBtnLabel, disabled: this.isSubmitting, loading: this.isSubmitting, onClick: () => this.handleSubmit() })))));
3835
3874
  }
3836
3875
  get el() { return getElement(this); }
3837
3876
  static get watchers() { return {
@@ -3866,9 +3905,8 @@ const EdsGlobalSearch = class {
3866
3905
  category: 'shared-ui',
3867
3906
  parentContext: null,
3868
3907
  tag: this.el.tagName.toLowerCase(),
3869
- name: `search-input: ${(_a = this.query) === null || _a === void 0 ? void 0 : _a.toLowerCase()}` ||
3870
- 'unknow seach input query',
3871
- action: 'click',
3908
+ name: `search-input: ${(_a = this.query) === null || _a === void 0 ? void 0 : _a.toLowerCase()}` || 'unknow seach input query',
3909
+ action: 'click'
3872
3910
  });
3873
3911
  this.debounceTimer = window.setTimeout(() => {
3874
3912
  this.runSearch();
@@ -3924,8 +3962,7 @@ const EdsGlobalSearch = class {
3924
3962
  break;
3925
3963
  case 'Enter':
3926
3964
  event.preventDefault();
3927
- if (this.selectedIndex >= 0 &&
3928
- this.selectedIndex < this.results.length) {
3965
+ if (this.selectedIndex >= 0 && this.selectedIndex < this.results.length) {
3929
3966
  this.selectResult(this.results[this.selectedIndex]);
3930
3967
  }
3931
3968
  break;
@@ -3959,7 +3996,7 @@ const EdsGlobalSearch = class {
3959
3996
  this.selectedIndex = -1;
3960
3997
  }
3961
3998
  catch (err) {
3962
- console.error('Search error:', err);
3999
+ //console.error('Search error:', err);
3963
4000
  this.error = 'Search failed. Please try again.';
3964
4001
  this.results = [];
3965
4002
  this.showDropdown = true;
@@ -3976,7 +4013,7 @@ const EdsGlobalSearch = class {
3976
4013
  parentContext: null,
3977
4014
  tag: this.el.tagName.toLowerCase(),
3978
4015
  name: `search-select: ${result.url}` || 'unknow search result selection',
3979
- action: 'click',
4016
+ action: 'click'
3980
4017
  });
3981
4018
  window.open(result.url, '_blank', 'noopener,noreferrer');
3982
4019
  }
@@ -3997,19 +4034,19 @@ const EdsGlobalSearch = class {
3997
4034
  return this.results.length > 0;
3998
4035
  }
3999
4036
  get showEmpty() {
4000
- return (this.hasSearched && !this.loading && !this.hasResults && this.query.trim());
4037
+ return this.hasSearched && !this.loading && !this.hasResults && this.query.trim();
4001
4038
  }
4002
4039
  render() {
4003
- return (h("div", { key: 'e3c15463b46aa6349efb86e4907d6f7bfabf682f', class: "search-wrapper" }, h("eds-input-field", { key: 'f2164163925534652c62541b3e954d4bb66510bc', icon: "search", "input-id": "search-global", type: "text", name: "search-box-global", placeholder: this.placeholder, value: this.query, onInput: this.handleInput }), this.showDropdown && (h("div", { key: 'f592d322fb3d1556743edc39713c8dbaa6449fa6', class: "search-dropdown", ref: (el) => (this.dropdownRef = el) }, this.loading && (h("div", { key: '4d3171271b27f70650bbded9cb7c0b76799dc1a1', class: "flex text-center justify-center p-64" }, h("eds-spinner", { key: '74fed5cf70ba698468dd2ca03dc5ff4eb7aeb7db', variant: "primary", size: "sm" }))), this.error && !this.loading && (h("div", { key: '481fd52e321ff02ca61cc0877a61f577b6a1ebd7', class: "flex text-center justify-center p-16" }, h("span", { key: '073d2a12b960b3309e0ab597c41d36f946615ed6', class: "text-error f-body-02" }, this.error))), this.showEmpty && (h("div", { key: '7b031eec1e6720f4cda6bc107ebc6f64f1c6e35f', class: "dropdown-state" }, h("eds-icon-wrapper", { key: '3ce91c3dcdaf27bd85f7ea4c855bab58b1208355', icon: "search" }), h("div", { key: 'c1a9b0c3f62fc568fa9d34d41730da8960bcdd54' }, h("p", { key: 'd3b87b4a6b06e81e5c62e817b924f762974c589e', class: "f-body-02" }, "No results found"), h("p", { key: '67fde47420811b9eaef805d9e6aa1b3515c74251', class: "f-ui-04 text-lightest" }, "Try different keywords")))), this.hasResults && !this.loading && (h("ul", { key: 'ba3a77467ba5e709bdf95dc793c316a18a135b64', class: "dropdown-results" }, this.results.map((result, index) => (h("li", { key: result.id, "data-index": index, class: {
4040
+ return (h("div", { key: '03beb0a36e20ff5e0c1213584361c9b85ef52684', class: "search-wrapper" }, h("eds-input-field", { key: 'cefbfcc4c32067fc57f4425fde7e646b2ca36bc6', icon: "search", "input-id": "search-global", type: "text", name: "search-box-global", placeholder: this.placeholder, value: this.query, onInput: this.handleInput }), this.showDropdown && (h("div", { key: '60a8f38d2eb06335f97f232a7e810f22ccf379b3', class: "search-dropdown", ref: (el) => (this.dropdownRef = el) }, this.loading && (h("div", { key: '2e8dcab16d8fef0f0ec07bcb78fd568f91156095', class: "flex text-center justify-center p-64" }, h("eds-spinner", { key: 'f512b3508fe5ba35a762346f43fa780a9b0c5c11', variant: "primary", size: "sm" }))), this.error && !this.loading && (h("div", { key: '549a6ec4f84c10d5bb4449cb7aa9a4dc61a4ff05', class: "flex text-center justify-center p-16" }, h("span", { key: '2de6645b976ed3d7958867447c090639b3b613a6', class: "text-error f-body-02" }, this.error))), this.showEmpty && (h("div", { key: '1006b88e3508a51898f305e1a221762f9cbc0204', class: "dropdown-state" }, h("eds-icon-wrapper", { key: 'bc635e10a72aaf715747f8c512ebc3d18d0657c5', icon: "search" }), h("div", { key: 'd267ee5c228ae85031088faf7b44b99bacbb77f4' }, h("p", { key: '526094eab25fcb55d5e5a1529c165a39e80db386', class: "f-body-02" }, "No results found"), h("p", { key: '770ff6f735b09068bcb26eec2552c6e7081348ba', class: "f-ui-04 text-lightest" }, "Try different keywords")))), this.hasResults && !this.loading && (h("ul", { key: '75597ab0dc1c11854e366294a12a9bd448f53877', class: "dropdown-results" }, this.results.map((result, index) => (h("li", { key: result.id, "data-index": index, class: {
4004
4041
  'result-item': true,
4005
- 'result-item--selected': index === this.selectedIndex,
4006
- }, onClick: () => this.selectResult(result), onMouseEnter: () => (this.selectedIndex = index) }, h("div", { class: "result-header" }, h("span", { class: "f-body-02" }, result.title)), h("div", { class: "inline" }, h("eds-tag", { intent: "accent", label: result.source }), result.section && (h("span", { class: "result-badge" }, result.section)), h("span", { class: "f-ui-03-light text-lighter ml-8" }, result.url)), result.snippet && (h("p", { class: "result-snippet" }, this.stripHtml(result.snippet)))))))), this.hasResults && !this.loading && (h("div", { key: 'ccdceeb06f423b28868dbf5ec2a11c5b84c651d7', class: "dropdown-footer" }, h("span", { key: 'e9dfb424b4dd277b11c6a630c673ec6368b09ef2', class: "footer-hint" }, h("kbd", { key: '4d045d4356b035c6efc7e029ea9e1f5bb4828b6b' }, "\u2191"), " ", h("kbd", { key: '5ee2913fe448ad3763ca9a70f474bfa9fcd3aad9' }, "\u2193"), " navigate \u2022 ", h("kbd", { key: 'd745261bb53ecffae5ff41d53e349fd74d37b955' }, "\u21B5"), " select \u2022", ' ', h("kbd", { key: 'baa93b7af9e8ae8994f8e73c1bf7942f659b0491' }, "esc"), " close")))))));
4042
+ 'result-item--selected': index === this.selectedIndex
4043
+ }, onClick: () => this.selectResult(result), onMouseEnter: () => (this.selectedIndex = index) }, h("div", { class: "result-header" }, h("span", { class: "f-body-02" }, result.title)), h("div", { class: "inline" }, h("eds-tag", { intent: "accent", label: result.source }), result.section && h("span", { class: "result-badge" }, result.section), h("span", { class: "f-ui-03-light text-lighter ml-8" }, result.url)), result.snippet && h("p", { class: "result-snippet" }, this.stripHtml(result.snippet))))))), this.hasResults && !this.loading && (h("div", { key: '4af4caf6e6856feaeb91218aa249950ac835e5d8', class: "dropdown-footer" }, h("span", { key: '4634ee9a9a15674cae0eee784b7ee408c7707874', class: "footer-hint" }, h("kbd", { key: 'ea0dd3cbb169f0db034fa3ee9019592d943398f6' }, "\u2191"), " ", h("kbd", { key: 'f1fc8937f965f695b402a78c82661e0ddee8126d' }, "\u2193"), " navigate \u2022 ", h("kbd", { key: '1d7de6abe02b46362c0e7d1998aaa9b78d1c1378' }, "\u21B5"), " select \u2022 ", h("kbd", { key: '50d7d6ab8176e654529fa7e977dc67eadff84c3d' }, "esc"), " close")))))));
4007
4044
  }
4008
4045
  get el() { return getElement(this); }
4009
4046
  };
4010
4047
  EdsGlobalSearch.style = EdsGlobalSearchStyle0;
4011
4048
 
4012
- const edsHeaderCss = ".block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.z-10{z-index:10}.text-default{color:var(--black)}.text-inverse{color:var(--white)}.bg-inverse{background-color:var(--white)}.bg-dark{background-color:var(--grey-300)}.bg-strongest{background-color:var(--black)}.mr-auto{margin-right:auto}.w-\\[200px\\]{width:200px}.h-\\[85px\\]{height:85px}.left-1\\/2{left:50%}.top-1\\/2{top:50%}.grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden{display:none}.gap-x-2{-moz-column-gap:0.125rem;column-gap:0.125rem}.after\\:effect-opacity::after{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms;transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.whitespace-nowrap{white-space:nowrap}.\\!text-current{color:currentColor !important}.overflow-hidden{overflow:hidden}.after\\:\\!border-transparent::after{border-color:var(--transparent) !important}.hover\\:after\\:\\!border-transparent:hover::after{border-color:var(--transparent) !important}.after\\:opacity-0::after{opacity:0}.hover\\:after\\:opacity-100:hover::after{opacity:1}.px-16{padding-left:1rem;padding-right:1rem}@media (min-width: 750px){.md\\:flex{display:flex}.md\\:hidden{display:none}}";
4049
+ const edsHeaderCss = ".block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.z-10{z-index:10}.text-default{color:var(--black)}.text-inverse{color:var(--white)}.bg-inverse{background-color:var(--white)}.bg-dark{background-color:var(--grey-300)}.bg-strongest{background-color:var(--black)}.mr-auto{margin-right:auto}.w-\\[200px\\]{width:200px}.h-\\[85px\\]{height:85px}.left-1\\/2{left:50%}.top-1\\/2{top:50%}.grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden{display:none}.gap-x-2{-moz-column-gap:0.125rem;column-gap:0.125rem}.gap-x-16{-moz-column-gap:1rem;column-gap:1rem}.after\\:effect-opacity::after{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms;transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.whitespace-nowrap{white-space:nowrap}.\\!text-current{color:currentColor !important}.overflow-hidden{overflow:hidden}.after\\:\\!border-transparent::after{border-color:var(--transparent) !important}.hover\\:after\\:\\!border-transparent:hover::after{border-color:var(--transparent) !important}.after\\:opacity-0::after{opacity:0}.hover\\:after\\:opacity-100:hover::after{opacity:1}.px-16{padding-left:1rem;padding-right:1rem}@media (min-width: 750px){.md\\:flex{display:flex}.md\\:hidden{display:none}}";
4013
4050
  const EdsHeaderStyle0 = edsHeaderCss;
4014
4051
 
4015
4052
  const EdsHeader = class {
@@ -4053,7 +4090,7 @@ const EdsHeader = class {
4053
4090
  const classes = variantClasses[this.headerVariant] || variantClasses.default;
4054
4091
  // Logo color variant: default and inverse use 'color', strong uses 'color-white'
4055
4092
  const logoType = this.headerVariant === 'strong' ? 'color-white' : 'color';
4056
- return (h("header", { key: '33f041754210d5fce8b190e63a6f19ac62262cfd', role: "banner", class: `flex items-center justify-between relative z-10 ${classes}` }, h("div", { key: '596d4b9cbb08fa95aa9b715599290ac91aff3f77', class: "mr-auto w-[200px] h-[85px]" }, h("eds-logo", { key: 'd13e83eca926b82f7406d5efb3f16555c25c167c', type: logoType, href: this.homeUrl })), this.parsedLinks && (h("nav", { key: 'e120bef9e976e75d523bd6d1e65e8aecd7c6a694', role: "navigation", "aria-label": "Primary", class: "absolute left-1/2 top-1/2 grow -translate-x-1/2 -translate-y-1/2 justify-center hidden md:flex" }, h("ul", { key: 'ea3db252b028340a007a18b4cb1fb995fefd51b0', class: "flex gap-x-2" }, this.parsedLinks.map((link) => (h("eds-link", { label: link.label, "aria-label": link.label, url: link.url, intent: "ghost", size: "large", icon: link.icon, external: link.external, "extra-class": "after:effect-opacity aria-current-page:bg-darker whitespace-nowrap !text-current after:!border-transparent after:opacity-0 hover:after:!border-transparent hover:after:opacity-100" })))))), h("slot", { key: '47dfb8dcd8e77bd908236aef0cc0c3c5542de11e', name: "actions" }), this.menuEnabled && (h("div", { key: 'a6f4a3fb9834696d39a6831098c12f1a5a519a6b', class: "md:hidden flex overflow-hidden px-16" }, h("eds-button", { key: '2c6586152953caa33911d19fa69d3518cb73fc41', "aria-label": "Menu", intent: this.headerVariant === 'default' ? 'ghost' : 'ghostInverse', icon: "menu", size: "small", onClick: () => this.handleToggleMenu() })))));
4093
+ return (h("header", { key: 'ebfd125d1e27d224e5702f0c7a4b8f46e279f3b7', role: "banner", class: `flex items-center justify-between relative z-10 ${classes}` }, h("div", { key: '64be678f68c5d5590e0a976f46a1939320d5d9c2', class: "mr-auto w-[200px] h-[85px]" }, h("eds-logo", { key: 'a94192d8df3fb22d629d29d58d681e2a2eb0506d', type: logoType, href: this.homeUrl })), this.parsedLinks && (h("nav", { key: 'd7f1055e683b90d91c977ae9fef52a00f90b63a0', role: "navigation", "aria-label": "Primary", class: "absolute left-1/2 top-1/2 grow -translate-x-1/2 -translate-y-1/2 justify-center hidden md:flex" }, h("ul", { key: 'a15b4d203bacbe7f58490b8d34dd57dc31d4f573', class: "flex gap-x-16" }, this.parsedLinks.map((link) => (h("eds-link", { label: link.label, "aria-label": link.label, url: link.url, intent: "strong", size: "large", icon: link.icon, external: link.external, "extra-class": "after:effect-opacity aria-current-page:bg-darker whitespace-nowrap !text-current after:!border-transparent after:opacity-0 hover:after:!border-transparent hover:after:opacity-100" })))))), h("slot", { key: '2d83f5093b34bdc40f574f8d5676e046029c6e5d', name: "actions" }), this.menuEnabled && (h("div", { key: 'd2ad33f5ea9e55a5efb1f4dd598be5d61f1d9ab6', class: "md:hidden flex overflow-hidden px-16" }, h("eds-button", { key: 'da824afdcaa6ce68d837096bff6bdfadec4af17c', "aria-label": "Menu", intent: this.headerVariant === 'default' ? 'ghost' : 'ghostInverse', icon: "menu", size: "small", onClick: () => this.handleToggleMenu() })))));
4057
4094
  }
4058
4095
  get hostEl() { return getElement(this); }
4059
4096
  };
@@ -4135,10 +4172,10 @@ const EdsImg = class {
4135
4172
  imgOpts['loading'] = 'lazy';
4136
4173
  imgOpts['decoding'] = 'async';
4137
4174
  }
4138
- return (h("div", { key: 'c164d1584476f9fb101abb9e1233bed40c782eb9', class: {
4175
+ return (h("div", { key: '20e754d7535484aedde364592c7a08a68e760b7d', class: {
4139
4176
  'items-center justify-center': true,
4140
4177
  'effect-bg-pattern': this.lazyload && this.showBg
4141
- } }, h("picture", { key: '70e20db2fe9bdf1a494313c6896e835ff3222f3c' }, this.formats.map((format) => (h("source", { type: format.type, srcSet: format.srcset, media: format.media, sizes: this.sizes }))), h("img", Object.assign({ key: '164d758ed706139d2d4562775a91c9518c437d28', ref: (el) => (this.img = el), class: {
4178
+ } }, h("picture", { key: 'c6b1561f51587341af50b4129242424961b13788' }, this.formats.map((format) => (h("source", { type: format.type, srcSet: format.srcset, media: format.media, sizes: this.sizes }))), h("img", Object.assign({ key: '136c7a183750f61d237fd0845750e70f38603f48', ref: (el) => (this.img = el), class: {
4142
4179
  'effect-opacity object-cover object-center': true,
4143
4180
  'opacity-100': this.loaded,
4144
4181
  'opacity-0': !this.loaded
@@ -4197,7 +4234,7 @@ const EdsInput = class {
4197
4234
  render() {
4198
4235
  const withIcon = !!this.icon;
4199
4236
  const describedBy = this.hasMessage || this.error ? `${this.name}-error` : '';
4200
- return (h("div", { key: '069d8ed6f23b2d98bbc24b727cad0cbc94d1a956', class: "relative flex items-center" }, this.type === 'textarea' ? (h("textarea", { id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.innerVal.toString(), required: this.required, disabled: this.disabled, class: `min-h-80 input input-textarea ${withIcon ? 'input-with-icon' : ''} ${this.error ? 'input-error' : ''} ${this.extraClass}`, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput })) : this.type === 'select' ? (h("select", { id: this.inputId || this.name, name: this.name, required: this.required, disabled: this.disabled, class: `input input-select ${this.error ? 'input-error' : ''} ${this.extraClass}`, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, onInput: this.handleInput, onChange: this.handleInput }, this.options.map((option) => (h("option", { value: option.value, selected: option.value === this.innerVal, key: option.value }, option.label))))) : (h("input", Object.assign({ id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.innerVal.toString(), required: this.required, disabled: this.disabled, type: this.type, checked: ['radio', 'checkbox'].includes(this.type) ? this.checked : undefined }, (this.type === 'number'
4237
+ return (h("div", { key: '10cacc49f2e61f8b357d1d0dd303822d7b3d7800', class: "relative flex items-center" }, this.type === 'textarea' ? (h("textarea", { id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.innerVal.toString(), required: this.required, disabled: this.disabled, class: `min-h-80 input input-textarea ${withIcon ? 'input-with-icon' : ''} ${this.error ? 'input-error' : ''} ${this.extraClass}`, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput })) : this.type === 'select' ? (h("select", { id: this.inputId || this.name, name: this.name, required: this.required, disabled: this.disabled, class: `input input-select ${this.error ? 'input-error' : ''} ${this.extraClass}`, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, onInput: this.handleInput, onChange: this.handleInput }, this.options.map((option) => (h("option", { value: option.value, selected: option.value === this.innerVal, key: option.value }, option.label))))) : (h("input", Object.assign({ id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.innerVal.toString(), required: this.required, disabled: this.disabled, type: this.type, checked: ['radio', 'checkbox'].includes(this.type) ? this.checked : undefined }, (this.type === 'number'
4201
4238
  ? {
4202
4239
  min: this.min,
4203
4240
  max: this.max,
@@ -4208,7 +4245,7 @@ const EdsInput = class {
4208
4245
  input ${this.type === 'radio' ? 'input-radio' : this.type === 'checkbox' ? 'input-checkbox' : ''}
4209
4246
  ${withIcon && this.type !== 'radio' && this.type !== 'checkbox' ? 'input-icon pl-36' : ''}
4210
4247
  ${this.error ? 'input-error' : ''}
4211
- `, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput }))), this.maxLength && this.type === 'textarea' && (h("span", { key: '2295538938128173047a5c81166cbee3d652cf25', class: `input-counter f-ui-05 absolute bottom-8 right-8 ${this.maxLengthReached ? 'input-counter-error' : ''}` }, this.maxLength)), this.icon && (h("eds-icon-wrapper", { key: '70a5bc0c9019c25499c4c65ece50ddb602eb3345', class: `absolute top-1/2 left-[4px] -translate-y-1/2 ${this.disabled ? 'text-lightest' : 'text-lightest'}`, icon: this.icon }))));
4248
+ `, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput }))), this.maxLength && this.type === 'textarea' && (h("span", { key: '2f17e830e7d5977c06dff45e248ec6d4bcf2885c', class: `input-counter f-ui-05 absolute bottom-8 right-8 ${this.maxLengthReached ? 'input-counter-error' : ''}` }, this.maxLength)), this.icon && (h("eds-icon-wrapper", { key: 'd171f505b869787c01945720489343a6d57e02bf', class: `absolute top-1/2 left-[4px] -translate-y-1/2 ${this.disabled ? 'text-lightest' : 'text-lightest'}`, icon: this.icon }))));
4212
4249
  }
4213
4250
  get el() { return getElement(this); }
4214
4251
  static get watchers() { return {
@@ -4319,7 +4356,7 @@ const EdsInputField = class {
4319
4356
  }
4320
4357
  render() {
4321
4358
  const inputOpts = Object.assign({ name: this.name, id: this.inputId, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleNativeInput, onChange: this.handleNativeChange, type: this.type, required: this.required, value: this.value, error: this.error, icon: this.icon, checked: this.checked }, (this.type === 'number' ? { min: this.min, max: this.max, step: this.step } : {}));
4322
- return (h("div", { key: '75e326788d214bcbdd0b4b5204ac309a3e76f6eb' }, this.type === 'checkbox' || this.type === 'radio' ? (this.parsedOptions.length > 0 ? (h("fieldset", { class: "space-y-4" }, h("div", { class: "flex justify-between mb-4" }, this.label && (h("eds-input-label", { name: this.inputId || this.name, label: this.label, required: this.required })), this.hint && (h("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint))), this.parsedOptions.map((option) => (h("div", { class: "flex items-center gap-x-4 gap-y-4", key: option.value }, h("eds-input", Object.assign({}, inputOpts, { value: option.value, checked: typeof this.value === 'string' && this.value.split(',').includes(String(option.value)) })), h("label", { htmlFor: this.name, class: `input-label-options ${this.disabled ? 'text-lighter' : ''}` }, option.label)))))) : (h("div", { class: "flex items-center gap-x-8" }, h("eds-input", Object.assign({}, inputOpts, { value: this.value, checked: this.value === 'on' || this.checked })), this.label && (h("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required }))))) : (h("div", null, h("div", { class: "flex justify-between mb-4" }, this.label && (h("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required })), this.hint && (h("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint))), this.type === 'select' ? (h("eds-input-select", Object.assign({}, inputOpts, { options: this.parsedOptions }))) : this.type === 'file' ? (h("input", { type: "file", id: this.inputId || this.name, name: this.name, onChange: this.onChangeNative, disabled: this.disabled, required: this.required })) : this.type === 'search' ? (h("eds-input-search", { name: "search-box" })) : this.type === 'range' ? ((() => {
4359
+ return (h("div", { key: '646cf997652c5401115c5f7d96b29cf752feeacf' }, this.type === 'checkbox' || this.type === 'radio' ? (this.parsedOptions.length > 0 ? (h("fieldset", { class: "space-y-4" }, h("div", { class: "flex justify-between mb-4" }, this.label && (h("eds-input-label", { name: this.inputId || this.name, label: this.label, required: this.required })), this.hint && (h("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint))), this.parsedOptions.map((option) => (h("div", { class: "flex items-center gap-x-4 gap-y-4", key: option.value }, h("eds-input", Object.assign({}, inputOpts, { value: option.value, checked: typeof this.value === 'string' && this.value.split(',').includes(String(option.value)) })), h("label", { htmlFor: this.name, class: `input-label-options ${this.disabled ? 'text-lighter' : ''}` }, option.label)))))) : (h("div", { class: "flex items-center gap-x-8" }, h("eds-input", Object.assign({}, inputOpts, { value: this.value, checked: this.value === 'on' || this.checked })), this.label && (h("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required }))))) : (h("div", null, h("div", { class: "flex justify-between mb-4" }, this.label && (h("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required })), this.hint && (h("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint))), this.type === 'select' ? (h("eds-input-select", Object.assign({}, inputOpts, { options: this.parsedOptions }))) : this.type === 'file' ? (h("input", { type: "file", id: this.inputId || this.name, name: this.name, onChange: this.onChangeNative, disabled: this.disabled, required: this.required })) : this.type === 'search' ? (h("eds-input-search", { name: "search-box" })) : this.type === 'range' ? ((() => {
4323
4360
  var _a, _b, _c;
4324
4361
  const rangeProps = {
4325
4362
  name: inputOpts.name,
@@ -4332,7 +4369,7 @@ const EdsInputField = class {
4332
4369
  const opt = this.parsedOptions;
4333
4370
  const numberValue = typeof this.value === 'string' ? parseFloat(this.value) : this.value || 0;
4334
4371
  return (h("eds-input-range", Object.assign({}, rangeProps, { min: (_a = opt[0]) === null || _a === void 0 ? void 0 : _a.value, max: (_b = opt[1]) === null || _b === void 0 ? void 0 : _b.value, step: (_c = opt[2]) === null || _c === void 0 ? void 0 : _c.value, value: numberValue })));
4335
- })()) : (h("eds-input", Object.assign({}, inputOpts))))), h("div", { key: '83d2deb40af000499d6d12e33f33b7435372ff30', class: "mt-6" }, h("eds-input-footer", { key: '21035705fd8ef6dbe8d208d4e0b88467a4d4cb09', id: `${this.name}-footer`, name: this.name, message: this.message, "error-message": this.errorMessage, error: this.error, link: this.link }))));
4372
+ })()) : (h("eds-input", Object.assign({}, inputOpts))))), h("div", { key: 'dd39d14a7bd629d259d9a04cd83530330d05b6fd', class: "mt-6" }, h("eds-input-footer", { key: 'd909871d432841039a82a57d174f71a3733cf51c', id: `${this.name}-footer`, name: this.name, message: this.message, "error-message": this.errorMessage, error: this.error, link: this.link }))));
4336
4373
  }
4337
4374
  static get delegatesFocus() { return true; }
4338
4375
  get hostEl() { return getElement(this); }
@@ -4352,7 +4389,7 @@ const EdsInputFooter = class {
4352
4389
  this.link = undefined;
4353
4390
  }
4354
4391
  render() {
4355
- return (h("div", { key: 'f968c3f3cfa5d419fe2d736b8da4f1dfd5fca88f' }, this.error && this.errorMessage && (h("div", { key: '780480b021c958a4d429b13a190ed630df98f539', id: `error_${this.name}`, class: "text-error flex items-center" }, h("eds-icon-wrapper", { key: '3577ebdde2d337e393d7ae41b0b55d3eac046149', icon: "warning" }), h("p", { key: 'c839fe81dcd8ee0fba4ffa53dd7ba5e65a39fa46', class: "f-ui-04 ml-4 mb-4", innerHTML: this.errorMessage }))), this.message && h("p", { key: '57833b0f0f58d36773401eaa0f37fd820ebe094c', id: `desc_${this.name}`, class: "f-ui-05 text-lighter", innerHTML: this.message }), this.link && (h("a", { key: '2330e747a9274c6b9bcadf5ae4a770cfbab78b27', href: this.link.url, class: "f-ui-05 effect-color hover:text-lighter underline underline-offset-4" }, this.link.label))));
4392
+ return (h("div", { key: 'ac60e5d56a86af64ea34445f9376c942258c9026' }, this.error && this.errorMessage && (h("div", { key: '25ff09f276f7028e1b2877133ab639b35cdebaba', id: `error_${this.name}`, class: "text-error flex items-center" }, h("eds-icon-wrapper", { key: '2add9a34a966428af96598f3e8e07f9535da8728', icon: "warning" }), h("p", { key: 'bcb624339190c0585e960a0c4debc3fec2ada4eb', class: "f-ui-04 ml-4 mb-4", innerHTML: this.errorMessage }))), this.message && h("p", { key: '00944237618f325774f316faaf4620e5eb507289', id: `desc_${this.name}`, class: "f-ui-05 text-lighter", innerHTML: this.message }), this.link && (h("eds-link", { key: '464c5a59e9c36a06f1cdae9be9e09a4f8b05d282', label: this.link.label, url: this.link.url, intent: "underline", size: "small", external: true }))));
4356
4393
  }
4357
4394
  };
4358
4395
  EdsInputFooter.style = EdsInputFooterStyle0;
@@ -4369,7 +4406,7 @@ const EdsInputLabel = class {
4369
4406
  this.disabled = false;
4370
4407
  }
4371
4408
  render() {
4372
- return (h("label", { key: '4760fa1b6a66b4ba30b689e65acc9f66e944210d', htmlFor: this.name, class: `input-label ${this.disabled ? 'text-lighter' : ''}` }, this.label, this.required && (h("span", { key: 'db3f8b321ab41765d9cc1e1d3b67ef2d58c1a53a' }, h("span", { key: '0c6f4ee8daab357ff4da750241c472b126cfbb98', "aria-hidden": "true" }, "*"), h("span", { key: 'ad18af56b0f20be3c9ee7280c0610c958adfdb87', class: "sr-only" }, "required")))));
4409
+ return (h("label", { key: '8a421c62ddec859bd7837454aa664a116001fd31', htmlFor: this.name, class: `input-label ${this.disabled ? 'text-lighter' : ''}` }, this.label, this.required && (h("span", { key: 'ad49202fb172a182822587248c141e0f8d7bcc6f' }, h("span", { key: 'e682ff5f3ac83b8adce37c8c9893c2aa235c97b1', "aria-hidden": "true" }, "*"), h("span", { key: '343d2abb7c452fc2a6a67b04727237fea9519838', class: "sr-only" }, "required")))));
4373
4410
  }
4374
4411
  };
4375
4412
  EdsInputLabel.style = EdsInputLabelStyle0;
@@ -4416,7 +4453,7 @@ const EdsInputRange = class {
4416
4453
  return this.inputElement;
4417
4454
  }
4418
4455
  render() {
4419
- return (h("div", { key: '7592e5f4c1154281fb0577af739451ea0f16dc17', class: "relative flex flex-col items-start" }, h("input", { key: '8d5d0b3b5b51665a340304ba56f6fd6b053d3c5f', id: this.inputId || this.name, name: this.name, min: this.min, max: this.max, step: this.step, value: this.sliderVal, required: this.required, disabled: this.disabled, type: "range", class: "w-full py-6 input", tabindex: "0", role: "slider", "aria-describedby": `desc_${this.name}`, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": this.sliderVal, onInput: this.onInput, onChange: this.onChange }), h("p", { key: 'c040d2a7e6aae8662e33d393bf1e93b0c8c254dc', id: `desc_${this.name}`, class: "block f-ui-05 mt-4 text-lighter" }, "Current value: ", this.sliderVal)));
4456
+ return (h("div", { key: '27c60fe7ad5cf3cf8255129529ef64905c87b609', class: "relative flex flex-col items-start" }, h("input", { key: '8ef115e18b6afd956c57a30cd4b9ee45ecd79334', id: this.inputId || this.name, name: this.name, min: this.min, max: this.max, step: this.step, value: this.sliderVal, required: this.required, disabled: this.disabled, type: "range", class: "w-full py-6 input", tabindex: "0", role: "slider", "aria-describedby": `desc_${this.name}`, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": this.sliderVal, onInput: this.onInput, onChange: this.onChange }), h("p", { key: 'beb95f6aa032db57ec401839cea48ac1d3a1861d', id: `desc_${this.name}`, class: "block f-ui-05 mt-4 text-lighter" }, "Current value: ", this.sliderVal)));
4420
4457
  }
4421
4458
  get el() { return getElement(this); }
4422
4459
  static get watchers() { return {
@@ -4485,7 +4522,7 @@ const EdsInputSearch = class {
4485
4522
  return this.inputElement;
4486
4523
  }
4487
4524
  render() {
4488
- return (h("div", { key: 'e5065d821db5f66b4ddfccb84e911f8c9148d12c', class: "relative flex items-center" }, h("eds-icon-wrapper", { key: 'e661107b6202d7529209c67622a9f27bb15de2fc', icon: "search", class: "absolute top-1/2 left-[4px] -translate-y-1/2 text-lightest", "aria-hidden": "true" }), h("input", { key: '1633e9108da6b675f1bcbddbbcb88e67843dddbf', id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.value || '', required: this.required, disabled: this.disabled, type: "search", "aria-label": this.placeholder, class: `input pl-36 ${this.decorate}`,
4525
+ return (h("div", { key: '4057975b193458daff5cc779e7671f3aa8df82fb', class: "relative flex items-center" }, h("eds-icon-wrapper", { key: '47366d7737c3c044aa97f6e5a5a76301c5f688ae', icon: "search", class: "absolute top-1/2 left-[4px] -translate-y-1/2 text-lightest", "aria-hidden": "true" }), h("input", { key: '70195ba54b9afd1c953735899d6fbfd668f81c71', 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}`,
4489
4526
  //onInput={this.onInput}
4490
4527
  onChange: this.onChange })));
4491
4528
  }
@@ -4514,12 +4551,12 @@ const EdsInputSelect = class {
4514
4551
  const selectId = this.inputId || this.name;
4515
4552
  const placeholderText = this.placeholder || `Pick from the list`;
4516
4553
  const describedBy = this.hasMessage || this.error ? `${this.name}-error` : undefined;
4517
- return (h("div", { key: '640bbcca727ad0c511238335197bc533869f6229', class: "relative" }, h("select", { key: '75efd5a9c7951fce245a7ee8b89c35d712d06c08', id: selectId, name: this.name, class: {
4554
+ return (h("div", { key: '5f73cb76010cac41f433921395aaf779765e298a', class: "relative" }, h("select", { key: '0705adad43076b6048900d5c62b8be2dff090270', id: selectId, name: this.name, class: {
4518
4555
  input: true,
4519
4556
  'input-error': this.error,
4520
4557
  'px-4': true,
4521
4558
  'py-2': true
4522
- }, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, disabled: this.disabled, required: this.required, onChange: this.handleChange }, h("option", { key: 'e8723f0f947dc8e07660a34d49eb769e4bebfd06', value: "", disabled: true, hidden: true }, placeholderText), this.options.map((opt, index) => (h("option", { key: index, value: opt.value, selected: opt.value === this.value }, opt.label)))), h("span", { key: '23531f90fcaa854a8abff796e2879648987a56b9', class: "bg-dark rounded-xs absolute top-1/2 right-[6px] flex h-28 w-28 -translate-y-1/2 items-center justify-center" }, h("eds-icon-wrapper", { key: '6e836b9606c1444d8e97b78ebe1ea4cf092070e3', class: "w-20 h-20", icon: "chevron-right" }))));
4559
+ }, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, disabled: this.disabled, required: this.required, onChange: this.handleChange }, h("option", { key: '6b2d7856821cfe804f63f6f289f78bd3f7a8273c', value: "", disabled: true, hidden: true }, placeholderText), this.options.map((opt, index) => (h("option", { key: index, value: opt.value, selected: opt.value === this.value }, opt.label)))), h("span", { key: '161692e967ed9c094feb171c6d067058dfafa146', class: "bg-dark rounded-xs absolute top-1/2 right-[6px] flex h-28 w-28 -translate-y-1/2 items-center justify-center" }, h("eds-icon-wrapper", { key: '513a74b4753a08280326970dfbb16642b5c6b986', class: "w-20 h-20", icon: "chevron-right" }))));
4523
4560
  }
4524
4561
  };
4525
4562
 
@@ -4590,7 +4627,6 @@ const linkStyles = cva([
4590
4627
  false: ''
4591
4628
  },
4592
4629
  size: {
4593
- underline: 'f-body-02 ',
4594
4630
  small: 'min-h-36 f-ui-02 px-12',
4595
4631
  large: 'min-h-44 f-ui-01 px-16'
4596
4632
  }
@@ -4643,6 +4679,16 @@ const linkStyles = cva([
4643
4679
  intent: 'inverse',
4644
4680
  isActive: true,
4645
4681
  class: 'before:!opacity-100'
4682
+ },
4683
+ {
4684
+ intent: 'underline',
4685
+ size: 'small',
4686
+ class: '!px-0 !py-0 !min-h-0 f-ui-02'
4687
+ },
4688
+ {
4689
+ intent: 'underline',
4690
+ size: 'large',
4691
+ class: '!px-0 !py-0 !min-h-0 f-ui-01'
4646
4692
  }
4647
4693
  ],
4648
4694
  defaultVariants: {
@@ -4658,7 +4704,7 @@ const EdsLink = class {
4658
4704
  registerInstance(this, hostRef);
4659
4705
  this.parentContext = null; // Accepts the entire event detail or null
4660
4706
  this.label = undefined;
4661
- this.intent = undefined;
4707
+ this.intent = 'primary';
4662
4708
  this.icon = undefined;
4663
4709
  this.iconPos = 'right';
4664
4710
  this.iconSmall = false;
@@ -4670,7 +4716,6 @@ const EdsLink = class {
4670
4716
  this.ariaLabel = undefined;
4671
4717
  this.disabled = false;
4672
4718
  this.hideLabelOnSmallScreen = false;
4673
- this.extraClass = undefined;
4674
4719
  }
4675
4720
  handleParentContext(event) {
4676
4721
  if (event.target !== this.el) {
@@ -4715,9 +4760,6 @@ const EdsLink = class {
4715
4760
  }
4716
4761
  }
4717
4762
  getLinkSize() {
4718
- if (this.intent === 'underline') {
4719
- return 'underline';
4720
- }
4721
4763
  return this.size;
4722
4764
  }
4723
4765
  renderLeftIcon() {
@@ -4746,12 +4788,13 @@ const EdsLink = class {
4746
4788
  isActive: this.current,
4747
4789
  hasIcon: !!this.icon
4748
4790
  });
4791
+ const safeUrl = typeof this.url === 'string' && this.url.length ? this.url : undefined;
4749
4792
  const isInteractive = !this.disabled;
4750
4793
  const isIconOnly = !this.label || (this.hideLabelOnSmallScreen && this.icon);
4751
4794
  const labelClasses = this.hideLabelOnSmallScreen
4752
4795
  ? 'hidden lg:flex' // Tailwind example: hidden on small screens, visible on larger
4753
4796
  : '';
4754
- return (h("a", { key: '5c190b2b079dfecb003883a8b25d3c258697c4d6', class: `${classes || ''} ${this.extraClass || ''}`, href: isInteractive ? this.url : undefined, target: this.external && isInteractive ? '_blank' : undefined, rel: this.external && isInteractive ? 'noopener noreferrer' : undefined, tabIndex: isInteractive ? 0 : -1, "aria-label": isIconOnly ? this.ariaLabel || 'Link' : undefined, "aria-disabled": this.disabled ? 'true' : undefined, "aria-current": this.current ? 'page' : undefined, role: this.disabled ? 'link' : undefined, download: this.download ? '' : undefined, onClick: (event) => this.handleClick(event), onKeyDown: (event) => this.handleKeyDown(event) }, h("span", { key: 'f4e89354ea8e252a26c85a560af9e7cfed7f8287', class: "z-1 relative inline-flex items-center justify-center" }, this.renderLeftIcon(), this.label && h("span", { key: 'ca10c283dd14c3e3830baddec7ba193522a02e7c', class: labelClasses }, this.label), this.renderRightIcon())));
4797
+ return (h("a", { key: '1ae7cb8fda0fdc0a4396504a4dfa13afa428d98f', class: `${classes || ''}`, href: isInteractive ? safeUrl : undefined, target: this.external && isInteractive ? '_blank' : undefined, rel: this.external && isInteractive ? 'noopener noreferrer' : undefined, tabIndex: isInteractive ? 0 : -1, "aria-label": isIconOnly ? this.ariaLabel || 'Link' : undefined, "aria-disabled": this.disabled ? 'true' : undefined, "aria-current": this.current ? 'page' : undefined, role: this.disabled ? 'link' : undefined, download: this.download ? '' : undefined, onClick: (event) => this.handleClick(event), onKeyDown: (event) => this.handleKeyDown(event) }, h("span", { key: '7fc137758d974ba4a3a974f7b22587d3ca3b031e', class: "z-1 relative inline-flex items-center justify-center" }, this.renderLeftIcon(), this.label && h("span", { key: '7c79baae49579eef264ab6546aa3ac8e044dcb46', class: labelClasses }, this.label), this.renderRightIcon())));
4755
4798
  }
4756
4799
  get el() { return getElement(this); }
4757
4800
  };
@@ -4819,7 +4862,7 @@ const EdsLogo = class {
4819
4862
  }
4820
4863
  render() {
4821
4864
  const logoContent = this.getLogo();
4822
- return (h("a", { key: '735f3592da7eed337c528731c28c6e708bbfcf82', href: this.href, onClick: () => this.handleClick(), class: "eds-logo-wrapper", "aria-label": this.label }, h("div", { key: '5db166d68cb6e193d3dbc2a8ba4b54eae99aac44', innerHTML: logoContent })));
4865
+ return (h("a", { key: '0a0d4dd69a1af10c1c571a56ed0f698d95652405', href: this.href, onClick: () => this.handleClick(), class: "eds-logo-wrapper", "aria-label": this.label }, h("div", { key: '0d8ca0f9c647b3b12daf944b9c2919a93134bec2', innerHTML: logoContent })));
4823
4866
  }
4824
4867
  get el() { return getElement(this); }
4825
4868
  };
@@ -4951,71 +4994,84 @@ const EdsNps = class {
4951
4994
  this.nps = createEvent(this, "nps", 7);
4952
4995
  this.min = 0;
4953
4996
  this.max = 10;
4997
+ this.btnRefs = [];
4998
+ this.onSelect = (value) => {
4999
+ this.selectedValue = value;
5000
+ this.nps.emit(value);
5001
+ // Move focus to the selected button (like your rating component)
5002
+ requestAnimationFrame(() => {
5003
+ var _a, _b;
5004
+ const idx = value - this.min;
5005
+ (_b = (_a = this.btnRefs[idx]) === null || _a === void 0 ? void 0 : _a.focus) === null || _b === void 0 ? void 0 : _b.call(_a);
5006
+ });
5007
+ };
5008
+ this.handleKeyNav = (e) => {
5009
+ const { key } = e;
5010
+ const navigational = ['ArrowRight', 'ArrowLeft', 'Home', 'End', ' ', 'Enter'];
5011
+ if (!navigational.includes(key)) {
5012
+ return;
5013
+ }
5014
+ e.preventDefault();
5015
+ const count = this.max - this.min + 1;
5016
+ // Derive current index from selectedValue; if none, use 0 (first)
5017
+ let currentIdx = this.selectedValue == null ? 0 : this.selectedValue - this.min;
5018
+ switch (key) {
5019
+ case 'ArrowRight':
5020
+ currentIdx = Math.min(count - 1, currentIdx + 1);
5021
+ this.setActiveByIndex(currentIdx, /*commit*/ false);
5022
+ break;
5023
+ case 'ArrowLeft':
5024
+ currentIdx = Math.max(0, currentIdx - 1);
5025
+ this.setActiveByIndex(currentIdx, /*commit*/ false);
5026
+ break;
5027
+ case 'Home':
5028
+ this.setActiveByIndex(0, /*commit*/ false);
5029
+ break;
5030
+ case 'End':
5031
+ this.setActiveByIndex(count - 1, /*commit*/ false);
5032
+ break;
5033
+ case ' ':
5034
+ case 'Enter':
5035
+ // Commit current focused item
5036
+ this.onSelect(this.min + currentIdx);
5037
+ break;
5038
+ }
5039
+ };
4954
5040
  this.question = undefined;
4955
5041
  this.leftLabel = undefined;
4956
5042
  this.rightLabel = undefined;
4957
5043
  this.selectedValue = null;
4958
5044
  }
4959
- handleClick(value) {
5045
+ /** Move visual highlight & roving tabindex; optionally commit selection */
5046
+ setActiveByIndex(index, commit = false) {
5047
+ var _a;
5048
+ const value = this.min + index;
5049
+ // Update highlight so focus movement is visible (like your rating)
4960
5050
  this.selectedValue = value;
4961
- this.nps.emit(value);
4962
- }
4963
- handleKeyNav(e) {
4964
- const radios = Array.from(this.el.shadowRoot.querySelectorAll('eds-button'));
4965
- const currentIndex = radios.findIndex((r) => r.tabIndex === 0);
4966
- switch (e.key) {
4967
- case 'ArrowRight':
4968
- case 'ArrowLeft': {
4969
- e.preventDefault();
4970
- const delta = e.key === 'ArrowRight' ? 1 : -1;
4971
- const nextIndex = Math.min(this.max, Math.max(0, currentIndex + delta));
4972
- this.activateRadio(radios, nextIndex);
4973
- break;
4974
- }
4975
- case 'Home': {
4976
- e.preventDefault();
4977
- this.activateRadio(radios, 0);
4978
- break;
4979
- }
4980
- case 'End': {
4981
- e.preventDefault();
4982
- this.activateRadio(radios, this.max);
4983
- break;
4984
- }
4985
- case 'Enter':
4986
- case ' ': {
4987
- e.preventDefault();
4988
- if (currentIndex >= 0) {
4989
- this.handleClick(this.min + currentIndex);
4990
- }
4991
- break;
4992
- }
4993
- case 'Escape': {
4994
- e.preventDefault();
4995
- if (currentIndex >= 0) {
4996
- radios[currentIndex].blur();
4997
- }
4998
- break;
4999
- }
5000
- default:
5001
- return;
5051
+ // Focus the button host (ensure eds-button forwards focus to its inner <button>)
5052
+ const target = this.btnRefs[index];
5053
+ typeof (target === null || target === void 0 ? void 0 : target.focusInner) === 'function' ? target.focusInner() : (_a = target === null || target === void 0 ? void 0 : target.focus) === null || _a === void 0 ? void 0 : _a.call(target);
5054
+ if (commit) {
5055
+ this.onSelect(value);
5002
5056
  }
5003
5057
  }
5004
- activateRadio(radios, index) {
5005
- const target = radios[index];
5006
- const value = this.min + index;
5007
- this.handleClick(value);
5008
- target.focus();
5009
- }
5010
5058
  render() {
5011
5059
  const count = this.max - this.min + 1;
5012
- //onst fallback = 0;
5013
- return (h("div", { key: '19326c22d2b5c9f2fbc97bfb3c3d958d14cdfa25', class: "eds-nps" }, h("eds-input-label", { key: '046239977d2dc639eabfc60a67df62011833a983', id: "nps-question", name: "nps-question", label: this.question }), h("div", { key: 'e296b8ff3a081f42263ee0c0a28ef3f304b1e1c0', role: "group", id: "nps-buttons", "aria-labelledby": "nps-question", class: "grid grid-cols-11", onKeyDown: (e) => this.handleKeyNav(e) }, Array.from({ length: count }, (_, i) => {
5060
+ return (h("div", { key: 'f5e19e0f750c0de6da3bae5713dca0e13eba85fc', class: "eds-nps" }, h("eds-input-label", { key: '3ff611a932976956735395fb531d9a800b554974', id: "nps-question", name: "nps-question", label: this.question }), h("div", { key: 'da0c3af26dd24d7dc618675aa7f197f55023230f', id: "nps-buttons", role: "radiogroup", "aria-labelledby": "nps-question", class: "grid grid-cols-11", onKeyDown: this.handleKeyNav }, Array.from({ length: count }, (_, i) => {
5014
5061
  const val = this.min + i;
5015
5062
  const isSelected = val === this.selectedValue;
5016
- const tabIndex = isSelected ? 0 : -1;
5017
- return (h("div", { class: "grid-col-span-1", key: val }, h("eds-button", { tabindex: tabIndex, label: `${val}`, "aria-label": `${val}`, intent: isSelected ? 'primary' : 'ghost', "extra-class": "!block !px-0 w-full", triggerClick: () => this.handleClick(val) })));
5018
- })), h("div", { key: '305bc5b2d162fc40fc56557291d37e29498563a2', class: "flex justify-between mt-8" }, h("span", { key: '7fe2191db8cacabed26f451ac0175f23ede3317e', class: "f-ui-04 text-light ml-4" }, this.leftLabel), h("span", { key: 'a85aca88d4de2897d7ba04578cf57a844c660675', class: "f-ui-04 text-light mr-4" }, this.rightLabel))));
5063
+ // Roving tabindex: focusable is the selected; if none selected yet, first is focusable
5064
+ const tabIndex = isSelected || (this.selectedValue == null && i === 0) ? 0 : -1;
5065
+ return (h("div", { class: "grid-col-span-1", key: val }, h("eds-button", { ref: (el) => (this.btnRefs[i] = el), role: "radio", "aria-checked": isSelected ? 'true' : 'false', "aria-label": `${val}`,
5066
+ // Use onClick so keyboard activation on inner <button> works natively
5067
+ onClick: () => this.onSelect(val), tabIndex: tabIndex, intent: isSelected ? 'primary' : 'ghost', "extra-class": "!block !px-0 w-full", label: `${val}`,
5068
+ // Optional: keep highlight in sync when tabbing into the group
5069
+ onFocus: () => {
5070
+ // Only move highlight on initial focus or when roving; remove if you
5071
+ // want focus without highlight.
5072
+ this.selectedValue = val;
5073
+ } })));
5074
+ })), h("div", { key: '10b2f854cff8192e54ee30feb44ad4143c54ad10', class: "flex justify-between mt-8" }, h("span", { key: '361b421b368219f9d7aa6306d912913e9d401fa0', class: "f-ui-04 text-light ml-4" }, this.leftLabel), h("span", { key: '2969496e1b6f772fcdf49667f66eee6dee6760fa', class: "f-ui-04 text-light mr-4" }, this.rightLabel))));
5019
5075
  }
5020
5076
  get el() { return getElement(this); }
5021
5077
  };
@@ -5262,7 +5318,7 @@ const EdsPagination = class {
5262
5318
  }
5263
5319
  render() {
5264
5320
  const navigableIndex = -1; // Track index for keyboard navigation
5265
- return (h("div", { key: '1ddd5a3ee9c843a06e5f8f446ae8420a6e0df259' }, this.total > 0 && this.mode === 'default' && (h("p", { key: '87b18c6b1fc475e335f829a4f61b7a8883dc7b9e', class: "f-ui-03 text-light mb-28 w-full text-center", "aria-live": "polite", id: "pagination-info" }, h("span", { key: 'd5af6f58fc41d83c7e9519bbaa76fb31e6cbb522', class: "text-light sr-only" }, "Results:"), this.pageResults())), this.mode === 'navigator' || (this.lastPage && this.lastPage > 1) ? (h("nav", { "aria-label": "Pagination Navigation", "aria-describedby": this.mode === 'default' ? 'pagination-info' : undefined, onKeyDown: this.handleKeyDown }, h("ul", { class: "flex items-center justify-center gap-x-8", role: "list" }, h("li", { class: "mr-auto" }, this.useButtons ? (h("div", { class: "pagination-button-wrapper", onFocus: () => this.handleItemFocus(navigableIndex) }, h("eds-button", { label: this.prevLabel, disabled: this.mode === 'navigator' ? !this.prevUrl : this.isFirstPage(), "aria-label": "Go to previous page", icon: "chevron-left", "icon-pos": "left", size: "small", "icon-small": "true", intent: "ghost", "extra-class": "!p-8 lg:!pr-12 pagination-button", onClick: (event) => {
5321
+ return (h("div", { key: '17128145803ac6af5f37d5e7c7f0576961c3e372' }, this.total > 0 && this.mode === 'default' && (h("p", { key: 'e50738bfadd0b115ed2d05b81199f0d4cfadda18', class: "f-ui-03 text-light mb-28 w-full text-center", "aria-live": "polite", id: "pagination-info" }, h("span", { key: '230f2306254d7c5fa2bfd354f308e4fa6b5c2994', class: "text-light sr-only" }, "Results:"), this.pageResults())), this.mode === 'navigator' || (this.lastPage && this.lastPage > 1) ? (h("nav", { "aria-label": "Pagination Navigation", "aria-describedby": this.mode === 'default' ? 'pagination-info' : undefined, onKeyDown: this.handleKeyDown }, h("ul", { class: "flex items-center justify-center gap-x-8", role: "list" }, h("li", { class: "mr-auto" }, this.useButtons ? (h("div", { class: "pagination-button-wrapper", onFocus: () => this.handleItemFocus(navigableIndex) }, h("eds-button", { label: this.prevLabel, disabled: this.mode === 'navigator' ? !this.prevUrl : this.isFirstPage(), "aria-label": "Go to previous page", icon: "chevron-left", "icon-pos": "left", size: "small", "icon-small": "true", intent: "ghost", "extra-class": "!p-8 lg:!pr-12 pagination-button", onClick: (event) => {
5266
5322
  if (this.mode === 'default' && !this.isFirstPage()) {
5267
5323
  this.handlePageClick(event, (this.currentPage || 1) - 1);
5268
5324
  }
@@ -5355,7 +5411,7 @@ const EdsRating = class {
5355
5411
  this.onSelect(next);
5356
5412
  }
5357
5413
  render() {
5358
- return (h("div", { key: '8dcde2afdc0db27d3f6be48f1d58cc7c7f88b0f0', id: "rating-buttons", role: "group", "aria-labelledby": "rating", class: "stars flex space-x-1 my-8", onKeyDown: (e) => this.handleKeyNav(e) }, Array.from({ length: this.ratingCount }, (_, index) => {
5414
+ return (h("div", { key: '5d1cf924d2a59b4141eac1bd4f122c9cf640cf9c', 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) => {
5359
5415
  const starRating = index + 1;
5360
5416
  const isSelected = starRating <= this.selectedRating;
5361
5417
  // Use the mapping text if available; otherwise, fall back to a generic label.
@@ -5368,6 +5424,170 @@ const EdsRating = class {
5368
5424
  };
5369
5425
  EdsRating.style = EdsRatingStyle0;
5370
5426
 
5427
+ const edsSidebarCss = ":host{display:block;width:100%;height:100%;overflow-y:auto;overflow-x:hidden;transition:width 0.3s ease}:host(.collapsed){width:4rem}:host::-webkit-scrollbar{width:8px}:host::-webkit-scrollbar-track{background:transparent}:host::-webkit-scrollbar-thumb{background:rgba(0, 0, 0, 0.2);border-radius:4px}:host::-webkit-scrollbar-thumb:hover{background:rgba(0, 0, 0, 0.3)}.sidebar-nav{padding:0.5rem 0}.sidebar-header{display:flex;justify-content:flex-end;padding:0.5rem 0.75rem;margin-bottom:0.5rem}:host(.collapsed) .sidebar-header{justify-content:center;padding:0.5rem}.collapse-toggle{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:none;border:none;cursor:pointer;padding:0;border-radius:0.375rem;transition:background-color 0.15s ease;color:inherit}.collapse-toggle:hover{background-color:rgba(0, 0, 0, 0.08)}.collapse-toggle:focus-visible{outline:2px solid var(--eds-focus-color, #0066cc);outline-offset:2px}.sidebar-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.125rem}.sidebar-item{display:flex;flex-direction:column}.sidebar-item-content{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 0.75rem;cursor:pointer;user-select:none;word-break:break-word;transition:background-color 0.15s ease;border-radius:0.375rem;margin:0 0.5rem;position:relative}:host(.collapsed) .sidebar-item-content{justify-content:center;padding:0.75rem;margin:0 0.5rem}.sidebar-item-content:hover{background-color:rgba(0, 0, 0, 0.04)}.sidebar-item-content:focus-visible{outline:2px solid var(--eds-focus-color, #0066cc);outline-offset:-2px;z-index:1}.sidebar-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25rem;height:1.25rem}.sidebar-content-wrapper{display:flex;align-items:center;gap:0.5rem;flex:1;min-width:0}.sidebar-toggle{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25rem;height:1.25rem;padding:0;margin:-0.125rem 0;pointer-events:none}.sidebar-link-wrapper{flex:1;min-width:0;pointer-events:none}.sidebar-link{font-weight:400;pointer-events:none}.sidebar-children{list-style:none;margin:0.25rem 0 0 0;padding:0;display:flex;flex-direction:column;gap:0.125rem;overflow:hidden;animation:slideDown 0.2s ease}@keyframes slideDown{from{opacity:0;transform:translateY(-0.25rem)}to{opacity:1;transform:translateY(0)}}.sidebar-item.level-0 .sidebar-item-content{padding-left:0.75rem}:host(.collapsed) .sidebar-item.level-0 .sidebar-item-content{padding-left:0.75rem}.sidebar-item.level-1 .sidebar-item-content{padding-left:2rem}.sidebar-item.level-2 .sidebar-item-content{padding-left:3.25rem}.sidebar-item.level-3 .sidebar-item-content{padding-left:4.5rem}.sidebar-item.level-4 .sidebar-item-content{padding-left:5.75rem}.sidebar-item.level-5 .sidebar-item-content{padding-left:7rem}:host(.theme-default) .sidebar-item-content{border-radius:0.375rem;margin:0 0.5rem;padding:0.5rem 0.75rem}:host(.theme-default.collapsed) .sidebar-item-content{margin:0 0.5rem;border-radius:0.375rem}:host(.theme-default) .sidebar-item-content:hover{background-color:rgba(0, 0, 0, 0.04)}:host(.theme-default) .sidebar-item.active>.sidebar-item-content{background-color:transparent}:host(.theme-default) .sidebar-item.active>.sidebar-item-content .sidebar-link{font-weight:600}:host(.theme-default) .sidebar-item.level-0 .sidebar-item-content{padding-left:0.75rem}:host(.theme-default) .sidebar-item.level-1 .sidebar-item-content{padding-left:2rem}:host(.theme-default) .sidebar-item.level-2 .sidebar-item-content{padding-left:3.25rem}:host(.theme-default) .sidebar-item.level-3 .sidebar-item-content{padding-left:4.5rem}:host(.theme-default) .sidebar-item.level-4 .sidebar-item-content{padding-left:5.75rem}:host(.theme-minimal) .sidebar-item-content{border-radius:0;margin:0;padding-left:1rem;padding-right:1rem}:host(.theme-minimal.collapsed) .sidebar-item-content{margin:0 0.25rem;border-radius:0.375rem}:host(.theme-minimal) .sidebar-item-content:hover{background-color:var(--grey-300)}:host(.theme-minimal) .sidebar-item.active>.sidebar-item-content{background-color:var(--grey-400);border-left:3px solid var(--grey-900);padding-left:calc(1rem - 3px)}:host(.theme-minimal.collapsed) .sidebar-item.active>.sidebar-item-content{border-left:none;border-radius:0.375rem;padding-left:0.75rem}:host(.theme-minimal) .sidebar-item.level-1.active>.sidebar-item-content{padding-left:calc(2rem - 3px)}:host(.theme-minimal) .sidebar-item.level-2.active>.sidebar-item-content{padding-left:calc(3.25rem - 3px)}:host(.theme-minimal) .sidebar-item.level-3.active>.sidebar-item-content{padding-left:calc(4.5rem - 3px)}:host(.theme-minimal) .sidebar-item.level-4.active>.sidebar-item-content{padding-left:calc(5.75rem - 3px)}:host(.theme-minimal) .sidebar-item.level-0 .sidebar-item-content{padding-left:1rem}:host(.theme-minimal) .sidebar-item.level-1 .sidebar-item-content{padding-left:2rem}:host(.theme-minimal) .sidebar-item.level-2 .sidebar-item-content{padding-left:3.25rem}:host(.theme-minimal) .sidebar-item.level-3 .sidebar-item-content{padding-left:4.5rem}:host(.theme-minimal) .sidebar-item.level-4 .sidebar-item-content{padding-left:5.75rem}:host(.theme-minimal) .sidebar-children{position:relative}:host(.theme-ebrains) .sidebar-item-content{padding:0.5rem 1rem;border-radius:0.5rem;margin:0 0.5rem}:host(.theme-ebrains.collapsed) .sidebar-item-content{padding:0.75rem}:host(.theme-ebrains) .sidebar-item-content:hover{background-color:rgba(0, 0, 0, 0.05)}:host(.theme-ebrains) .sidebar-item.active>.sidebar-item-content{background-color:var(--green-600, #22c55e);color:white}:host(.theme-ebrains) .sidebar-item.active>.sidebar-item-content .sidebar-link{--eds-link-color:white;--eds-link-hover-color:white}:host(.theme-ebrains) .sidebar-item.active>.sidebar-item-content .sidebar-toggle{color:white}:host(.theme-ebrains) .sidebar-item.active>.sidebar-item-content .sidebar-icon{color:white}:host(.theme-ebrains) .sidebar-item.level-0 .sidebar-item-content{padding-left:1rem}:host(.theme-ebrains) .sidebar-item.level-1 .sidebar-item-content{padding-left:2.25rem}:host(.theme-ebrains) .sidebar-item.level-2 .sidebar-item-content{padding-left:3.5rem}:host(.theme-ebrains) .sidebar-item.level-3 .sidebar-item-content{padding-left:4.75rem}:host(.theme-ebrains) .sidebar-item.level-4 .sidebar-item-content{padding-left:6rem}@media (prefers-color-scheme: dark){.collapse-toggle:hover{background-color:rgba(255, 255, 255, 0.08)}:host(.theme-default) .sidebar-item-content:hover{background-color:rgba(255, 255, 255, 0.05)}:host(.theme-default) .sidebar-item.active>.sidebar-item-content{background-color:rgba(0, 102, 204, 0.15)}:host(.theme-minimal) .sidebar-item-content:hover{background-color:rgba(255, 255, 255, 0.06)}:host::-webkit-scrollbar-thumb{background:rgba(255, 255, 255, 0.2)}:host::-webkit-scrollbar-thumb:hover{background:rgba(255, 255, 255, 0.3)}}.sidebar-toggle eds-icon-wrapper,.sidebar-icon eds-icon-wrapper,.collapse-toggle eds-icon-wrapper{transition:transform 0.15s ease;display:flex;align-items:center;justify-content:center}.sidebar-item-content:focus-visible .sidebar-link{text-decoration:underline}.sidebar-item.active>.sidebar-item-content .sidebar-link{font-weight:500}:host(.collapsed) .sidebar-item-content::after{content:attr(title);position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:0.5rem;padding:0.5rem 0.75rem;background:rgba(0, 0, 0, 0.9);color:white;border-radius:0.375rem;white-space:nowrap;font-size:0.875rem;opacity:0;pointer-events:none;transition:opacity 0.2s ease;z-index:1000}:host(.collapsed) .sidebar-item-content:hover::after{opacity:1;transition-delay:0.3s}.-ml-4{margin-left:-0.25rem}.mt-2{margin-top:0.125rem}";
5428
+ const EdsSidebarStyle0 = edsSidebarCss;
5429
+
5430
+ const EdsSidebar = class {
5431
+ constructor(hostRef) {
5432
+ registerInstance(this, hostRef);
5433
+ this.sidebar = createEvent(this, "sidebar", 7);
5434
+ this.toggleItem = (itemId, ev) => {
5435
+ if (ev) {
5436
+ ev.stopPropagation();
5437
+ }
5438
+ const newOpen = new Set(this.openItems);
5439
+ if (newOpen.has(itemId)) {
5440
+ newOpen.delete(itemId);
5441
+ }
5442
+ else {
5443
+ newOpen.add(itemId);
5444
+ }
5445
+ this.openItems = newOpen;
5446
+ };
5447
+ this.navigate = (url, ev) => {
5448
+ if (!this.enableRouting || !url) {
5449
+ return;
5450
+ }
5451
+ if (ev) {
5452
+ ev.preventDefault();
5453
+ ev.stopPropagation();
5454
+ }
5455
+ // Emit custom event for routing
5456
+ this.sidebar.emit(url);
5457
+ // Update browser history if available
5458
+ if (typeof window !== 'undefined' && window.history) {
5459
+ window.history.pushState({}, '', url);
5460
+ }
5461
+ };
5462
+ this.handleItemClick = (item, ev) => {
5463
+ var _a;
5464
+ // If item has children, ONLY toggle (don't navigate)
5465
+ if ((_a = item.children) === null || _a === void 0 ? void 0 : _a.length) {
5466
+ this.toggleItem(item.id, ev);
5467
+ return;
5468
+ }
5469
+ // Only navigate if no children and has URL
5470
+ if (item.url) {
5471
+ this.navigate(item.url, ev);
5472
+ }
5473
+ };
5474
+ this.items = '[]';
5475
+ this.theme = 'default';
5476
+ this.activeUrl = '';
5477
+ this.enableRouting = true;
5478
+ this.maxLevel = 4;
5479
+ this.openItems = new Set();
5480
+ this.parsedItems = [];
5481
+ }
5482
+ // ---------------------------------------------------------------------------
5483
+ // Lifecycle
5484
+ // ---------------------------------------------------------------------------
5485
+ componentWillLoad() {
5486
+ this.parsedItems = this.parseItems(this.items);
5487
+ this.initializeOpenItems(this.parsedItems);
5488
+ }
5489
+ // ---------------------------------------------------------------------------
5490
+ // Watchers
5491
+ // ---------------------------------------------------------------------------
5492
+ handleItemsChange(newItems) {
5493
+ this.parsedItems = this.parseItems(newItems);
5494
+ this.initializeOpenItems(this.parsedItems);
5495
+ }
5496
+ handleActiveUrlChange() {
5497
+ this.initializeOpenItems(this.parsedItems);
5498
+ }
5499
+ // ---------------------------------------------------------------------------
5500
+ // Utils
5501
+ // ---------------------------------------------------------------------------
5502
+ parseItems(items) {
5503
+ if (Array.isArray(items)) {
5504
+ return items;
5505
+ }
5506
+ if (typeof items === 'string') {
5507
+ if (!items || items.trim() === '') {
5508
+ return [];
5509
+ }
5510
+ try {
5511
+ const parsed = JSON.parse(items);
5512
+ return Array.isArray(parsed) ? parsed : [];
5513
+ }
5514
+ catch (e) {
5515
+ console.error('eds-sidebar: Failed to parse items JSON:', e);
5516
+ console.error('Received string:', items);
5517
+ return [];
5518
+ }
5519
+ }
5520
+ return [];
5521
+ }
5522
+ initializeOpenItems(items, level = 0) {
5523
+ if (level === 0) {
5524
+ // reset before recomputing
5525
+ this.openItems = new Set();
5526
+ }
5527
+ if (level >= this.maxLevel) {
5528
+ return;
5529
+ }
5530
+ items.forEach((item) => {
5531
+ var _a;
5532
+ const isActive = this.activeUrl && item.url === this.activeUrl;
5533
+ const hasActiveChild = this.hasActiveDescendant(item);
5534
+ if (item.open || isActive || hasActiveChild) {
5535
+ this.openItems.add(item.id);
5536
+ }
5537
+ if ((_a = item.children) === null || _a === void 0 ? void 0 : _a.length) {
5538
+ this.initializeOpenItems(item.children, level + 1);
5539
+ }
5540
+ });
5541
+ }
5542
+ hasActiveDescendant(item) {
5543
+ var _a;
5544
+ if (item.url === this.activeUrl) {
5545
+ return true;
5546
+ }
5547
+ if (!((_a = item.children) === null || _a === void 0 ? void 0 : _a.length)) {
5548
+ return false;
5549
+ }
5550
+ return item.children.some((child) => this.hasActiveDescendant(child));
5551
+ }
5552
+ // ---------------------------------------------------------------------------
5553
+ // Render
5554
+ // ---------------------------------------------------------------------------
5555
+ renderItem(item, level = 0) {
5556
+ if (level >= this.maxLevel) {
5557
+ return null;
5558
+ }
5559
+ const isOpen = this.openItems.has(item.id);
5560
+ const isActive = !!item.url && this.activeUrl === item.url;
5561
+ const hasChildren = !!(item.children && item.children.length);
5562
+ const itemId = `eds-sidebar-${item.id}`;
5563
+ const childrenId = `${itemId}-children`;
5564
+ return (h("li", { class: {
5565
+ 'sidebar-item': true,
5566
+ open: isOpen,
5567
+ active: isActive,
5568
+ 'has-children': hasChildren,
5569
+ [`level-${level}`]: true
5570
+ } }, h("div", { class: "sidebar-item-content", onClick: (e) => this.handleItemClick(item, e), role: hasChildren ? 'button' : item.url ? 'link' : 'button', tabindex: "0", "aria-current": isActive ? 'page' : undefined, "aria-expanded": hasChildren ? (isOpen ? 'true' : 'false') : undefined, "aria-controls": hasChildren ? childrenId : undefined, onKeyDown: (e) => {
5571
+ if (e.key === 'Enter' || e.key === ' ') {
5572
+ e.preventDefault();
5573
+ this.handleItemClick(item, e);
5574
+ }
5575
+ } }, hasChildren && (h("span", { class: "sidebar-toggle mt-2 -ml-4", "aria-hidden": "true" }, h("eds-icon-wrapper", { icon: isOpen ? 'chevron-down' : 'chevron-right' }))), h("span", { class: "sidebar-link-wrapper" }, h("eds-link", { label: item.title, url: item.url || '#', intent: isActive ? 'strong' : 'weak', size: "small", "aria-label": item.title, "extra-class": "sidebar-link", tabindex: "-1" }))), hasChildren && isOpen && (h("ul", { id: childrenId, class: "sidebar-children" }, item.children.map((child) => this.renderItem(child, level + 1))))));
5576
+ }
5577
+ render() {
5578
+ return (h(Host, { key: '4334d20e5d72671243633253910ab05b4da013da', class: {
5579
+ 'eds-sidebar': true,
5580
+ [`theme-${this.theme}`]: true
5581
+ } }, h("nav", { key: '319f6f42416d4229f1b011bf1216b39c8627302d', class: "sidebar-nav", "aria-label": "Sidebar" }, h("ul", { key: '687ceae3eca3e844e8f6a361db4a76d127d27813', class: "sidebar-list" }, this.parsedItems.map((item) => this.renderItem(item, 0))))));
5582
+ }
5583
+ get el() { return getElement(this); }
5584
+ static get watchers() { return {
5585
+ "items": ["handleItemsChange"],
5586
+ "activeUrl": ["handleActiveUrlChange"]
5587
+ }; }
5588
+ };
5589
+ EdsSidebar.style = EdsSidebarStyle0;
5590
+
5371
5591
  const edsSpinnerCss = ":host{display:block}.spinner{box-sizing:border-box;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.f-body-01{font-family:var(--f-body-01-fontFamily);font-weight:var(--f-body-01-fontWeight);font-size:var(--f-body-01-fontSize);line-height:var(--f-body-01-lineHeight);letter-spacing:var(--f-body-01-letterSpacing)}";
5372
5592
  const EdsSpinnerStyle0 = edsSpinnerCss;
5373
5593
 
@@ -5444,12 +5664,12 @@ const EdsSpinner = class {
5444
5664
  alignItems: 'center',
5445
5665
  justifyContent: 'center'
5446
5666
  };
5447
- return (h(Host, { key: 'e4c2f4762d214028c2e97666040e05ad5651debf' }, h("div", { key: 'e12572cb0195a84402847b0fc723ad2198196661', class: "spinner-overlay", style: overlayStyle }, h("span", { key: '6aa3b28a4e79951a5bbb46f6d7d845baf3761d14', class: "spinner", style: spinnerStyle }), this.message && h("p", { key: '5817378b525ecb8d8a211105b73a2db00067fbe3', class: "f-body-01" }, this.message))));
5667
+ return (h(Host, { key: '28271d7eced2bc3d69538aa490d623167affd590' }, h("div", { key: '2a8987cb80c67a42f18ac0db8c0078a90d9fd97a', class: "spinner-overlay", style: overlayStyle }, h("span", { key: 'c6267576391c24c41ceb0141dd897f590033b26f', class: "spinner", style: spinnerStyle }), this.message && h("p", { key: 'ae67369899652f6ecc9c9411fd62a68a437553c5', class: "f-body-01" }, this.message))));
5448
5668
  }
5449
5669
  };
5450
5670
  EdsSpinner.style = EdsSpinnerStyle0;
5451
5671
 
5452
- const edsStepsCss = ".steps{position:sticky;margin-left:16px;margin-bottom:12px;border-left:1px solid var(--soft-color, #ddd);padding-left:23px;counter-reset:step}.steps h3{counter-increment:step;font-size:var(--f-heading-05-fontSize);font-weight:var(--f-heading-05-fontWeight);line-height:var(--f-heading-05-lineHeight);position:relative}.steps h3::before{content:counter(step);position:absolute;left:-40px;top:-2px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:1rem;border:1px solid #ccc;background:var(--grey-900);color:#fff;border-radius:50%}.steps h4,.steps h5{counter-increment:step;font-size:var(--f-heading-06-fontSize);font-weight:var(--f-heading-06-fontWeight);line-height:var(--f-heading-06-lineHeight);position:relative}.steps h4::before,.steps h5::before{content:counter(step);position:absolute;left:-40px;top:-2px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;font-size:0.875rem;border:1px solid #ccc;background:#333;color:#fff;border-radius:50%}.steps blockquote{margin-top:16px;margin-bottom:16px;font-style:italic;color:#aaa;padding-left:6px}.f-body-02{font-family:var(--f-body-02-fontFamily);font-weight:var(--f-body-02-fontWeight);font-size:var(--f-body-02-fontSize);line-height:var(--f-body-02-lineHeight);letter-spacing:var(--f-body-02-letterSpacing)}.text-light{color:var(--grey-700)}.text-lighter{color:var(--grey-600)}.my-16{margin-top:1rem;margin-bottom:1rem}.mt-16{margin-top:1rem}.mb-28{margin-bottom:1.75rem}.ml-8{margin-left:0.5rem}.gap-y-16{row-gap:1rem}.gap-x-16{-moz-column-gap:1rem;column-gap:1rem}.flex{display:flex}.grid{display:grid}.hidden{display:none}.block{display:block}.cursor-pointer{cursor:pointer}.eds-steps__title{cursor:pointer}";
5672
+ const edsStepsCss = "blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}.steps{position:sticky;margin-left:16px;border-left:1px solid var(--soft-color, #ddd);padding-left:23px;counter-reset:step}.steps h3{counter-increment:step;font-size:var(--f-heading-05-fontSize);font-weight:var(--f-heading-05-fontWeight);line-height:var(--f-heading-05-lineHeight);position:relative}.steps h3::before{content:counter(step);position:absolute;left:-40px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:1rem;border:1px solid #ccc;background:var(--grey-900);color:#fff;border-radius:50%}.steps h4,.steps h5{counter-increment:step;font-size:var(--f-heading-06-fontSize);font-weight:var(--f-heading-06-fontWeight);line-height:var(--f-heading-06-lineHeight);position:relative}.steps h4::before,.steps h5::before{content:counter(step);position:absolute;left:-39px;top:-2px;display:flex;align-items:center;justify-content:center;width:31px;height:31px;font-size:0.875rem;border:1px solid #ccc;background:#333;color:#fff;border-radius:50%}.steps blockquote{margin-top:16px;margin-bottom:16px;font-style:italic;color:#aaa;padding-left:6px}.steps-img-placeholder{width:100%;height:200px;background:linear-gradient(to bottom, #9CE142, #00C959, #00A595);}.bg-\\[\\#00A595\\]{--tw-bg-opacity:1;background-color:rgb(0 165 149 / var(--tw-bg-opacity))}.relative{position:relative}.f-heading-04{font-family:var(--f-heading-04-fontFamily);font-weight:var(--f-heading-04-fontWeight);font-size:var(--f-heading-04-fontSize);line-height:var(--f-heading-04-lineHeight);letter-spacing:var(--f-heading-04-letterSpacing)}.f-body-02{font-family:var(--f-body-02-fontFamily);font-weight:var(--f-body-02-fontWeight);font-size:var(--f-body-02-fontSize);line-height:var(--f-body-02-lineHeight);letter-spacing:var(--f-body-02-letterSpacing)}.f-ui-02{font-family:var(--f-ui-02-fontFamily);font-weight:var(--f-ui-02-fontWeight);font-size:var(--f-ui-02-fontSize);line-height:var(--f-ui-02-lineHeight);letter-spacing:var(--f-ui-02-letterSpacing)}.f-ui-03{font-family:var(--f-ui-03-fontFamily);font-weight:var(--f-ui-03-fontWeight);font-size:var(--f-ui-03-fontSize);line-height:var(--f-ui-03-lineHeight);letter-spacing:var(--f-ui-03-letterSpacing)}.text-center{text-align:center}.text-default{color:var(--black)}.text-inverse{color:var(--white)}.text-light{color:var(--grey-700)}.text-lighter{color:var(--grey-600)}.w-full{width:100%}.h-52{height:3.25rem}.h-96{height:6rem}.h-\\[200px\\]{height:200px}.justify-between{justify-content:space-between}.mt-16{margin-top:1rem}.mt-32{margin-top:2rem}.mt-64{margin-top:4rem}.my-16{margin-top:1rem;margin-bottom:1rem}.mb-12{margin-bottom:0.75rem}.mb-16{margin-bottom:1rem}.last\\:mb-0:last-child{margin-bottom:0rem}.last\\:mt-16:last-child{margin-top:1rem}.border-softer{border:2px solid rgba(0, 0, 0, .1)}.relative{position:relative}.flex{display:flex}.inline-flex{display:inline-flex}.grow{flex-grow:1}.rounded{border-radius:0.25rem}.rounded-lg{border-radius:16px}.rounded-t-lg{border-top-left-radius:16px;border-top-right-radius:16px}.border-2{border-width:2px}.p-8{padding:0.5rem}.p-24{padding:1.5rem}.bg-default{background-color:var(--grey-200)}.bg-inverse{background-color:var(--white)}.top-2{top:0.125rem}.bottom-2{bottom:0.125rem}.left-2{left:0.125rem}.right-2{right:0.125rem}.-translate-x-1\\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.overflow-hidden{overflow:hidden}.space-y-8{--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.space-y-16{--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.ml-8{margin-left:0.5rem}.gap-y-16{row-gap:1rem}.gap-x-16{-moz-column-gap:1rem;column-gap:1rem}.flex{display:flex}.grid{display:grid}.hidden{display:none}.block{display:block}.items-center{align-items:center}.px-8{padding-left:0.5rem;padding-right:0.5rem}.pb-20{padding-bottom:1.25rem}.eds-steps__title[role=\"button\"]{cursor:pointer}.eds-steps__title.is-disabled{cursor:not-allowed;color:rgba(0, 0, 0, 0.5);}.eds-steps__title.is-disabled::before{opacity:1;filter:none}.steps--horizontal{display:flex;flex-direction:column;gap:2rem}.horizontal-indicators{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0}.horizontal-step{display:flex;flex-direction:column;align-items:center;gap:0.5rem;cursor:pointer;flex:1;position:relative}.horizontal-step:not(:last-child)::after{content:'';position:absolute;top:1.25rem;left:50%;width:100%;height:2px;background-color:#e0e0e0;z-index:-1}.horizontal-step.is-completed:not(:last-child)::after{background-color:var(--green-500);}.step-indicator{width:2.5rem;height:2.5rem;border-radius:50%;border:2px solid #e0e0e0;display:flex;align-items:center;justify-content:center;background-color:white;transition:all 0.3s ease}.horizontal-step.is-active .step-indicator{border-color:var(--green-500);background-color:var(--green-500);color:var(--white)}.horizontal-step.is-completed .step-indicator{border-color:var(--green-500);background-color:var(--white)}.horizontal-step.is-disabled{opacity:0.5;cursor:not-allowed}.step-number{font-weight:600;font-size:0.875rem}.step-label{font-size:0.875rem;text-align:center;font-weight:500}.horizontal-step.is-active .step-label{color:var(--green-500)}.step-content{padding:2rem 0;margin-left:calc((100% / var(--step-count, 1)) * 0.45 - 1.25rem);margin-right:calc((100% / var(--step-count, 1)) * 0.45 - 1.25rem)}.opacity-50{opacity:0.5}.eds-steps__title[role=\"button\"]{cursor:pointer}";
5453
5673
  const EdsStepsStyle0 = edsStepsCss;
5454
5674
 
5455
5675
  const EdsSteps = class {
@@ -5460,47 +5680,63 @@ const EdsSteps = class {
5460
5680
  this.next = createEvent(this, "next", 7);
5461
5681
  this.back = createEvent(this, "back", 7);
5462
5682
  this.handleTitleClick = (index) => {
5463
- // 1) If clicking the current title, keep your existing toggle behavior
5464
- if (index === this.activeStep) {
5465
- this.activeStep = this.activeStep === index ? -1 : index;
5683
+ // In linear mode, do NOT collapse; only navigate if allowed.
5684
+ if (this.type === 'linear') {
5685
+ // prevent jumping forward over disabled steps
5686
+ if (index > this.activeStep) {
5687
+ for (let i = this.activeStep; i < index; i++) {
5688
+ if (this.isStepDisabled(i)) {
5689
+ return;
5690
+ }
5691
+ }
5692
+ }
5693
+ this.activeStep = index;
5466
5694
  this.step.emit(this.activeStep);
5467
5695
  return;
5468
5696
  }
5469
- // 2) In linear mode, block jumping *forward* when current step is gated
5470
- const forwardBlocked = this.type === 'linear' && index > this.activeStep && this.isNextDisabledFor(this.activeStep);
5471
- if (forwardBlocked) {
5697
+ // Non-linear vertical mode: support optional collapse/expand on current title
5698
+ if (this.orientation === 'vertical' && index === this.activeStep && this.collapsibleTitles) {
5699
+ this.activeStep = this.activeStep === index ? -1 : index;
5700
+ this.step.emit(this.activeStep);
5472
5701
  return;
5473
- } // do nothing when Next/Finish would be disabled
5474
- // 3) Allow jumping back or forward when not gated
5702
+ }
5703
+ // Otherwise, just set
5475
5704
  this.activeStep = index;
5476
5705
  this.step.emit(this.activeStep);
5477
5706
  };
5478
5707
  this.handleNext = () => {
5479
5708
  const lastIndex = this.parsedSteps.length - 1;
5709
+ // On last step
5480
5710
  if (this.activeStep >= lastIndex) {
5481
- this.activeStep = -1;
5482
5711
  this.finished.emit();
5712
+ this.activeStep = -1; // collapse the content
5713
+ this.step.emit(this.activeStep); // notify change (-1 sentinel)
5483
5714
  return;
5484
5715
  }
5485
5716
  const target = this.activeStep + 1;
5486
5717
  this.next.emit(target);
5487
- if (this.isNextDisabledFor(this.activeStep)) {
5718
+ if (this.isStepDisabled(this.activeStep)) {
5488
5719
  return;
5489
- } // block advance only if current is disabled
5720
+ }
5490
5721
  this.activeStep = target;
5491
5722
  this.step.emit(this.activeStep);
5492
- // 2) if using the boolean form, clear it when moving away from a step
5493
5723
  if (!Array.isArray(this.disableNext)) {
5494
5724
  this.disableNext = false;
5495
5725
  }
5496
5726
  };
5497
5727
  this.handleBack = () => {
5728
+ const lastIndex = this.parsedSteps.length - 1;
5729
+ // If somehow collapsed, recover to last visible step first
5730
+ if (this.activeStep < 0) {
5731
+ this.activeStep = lastIndex;
5732
+ this.step.emit(this.activeStep);
5733
+ return;
5734
+ }
5498
5735
  if (this.activeStep > 0) {
5499
5736
  const target = this.activeStep - 1;
5500
5737
  this.back.emit(target);
5501
5738
  this.activeStep = target;
5502
5739
  this.step.emit(this.activeStep);
5503
- // also clear boolean form on back
5504
5740
  if (!Array.isArray(this.disableNext)) {
5505
5741
  this.disableNext = false;
5506
5742
  }
@@ -5508,52 +5744,91 @@ const EdsSteps = class {
5508
5744
  };
5509
5745
  this.steps = [];
5510
5746
  this.type = 'static';
5747
+ this.orientation = 'vertical';
5511
5748
  this.nextLabel = 'Next';
5512
5749
  this.backLabel = 'Back';
5513
5750
  this.finishLabel = 'Finish';
5514
5751
  this.disableNext = false;
5515
5752
  this.headingLevel = 'h4';
5753
+ this.collapsibleTitles = false;
5516
5754
  this.activeStep = 0;
5517
5755
  }
5756
+ handleDisableNextChange(newValue) {
5757
+ if (typeof newValue === 'string' && newValue.trim().startsWith('[')) {
5758
+ try {
5759
+ this.disableNext = JSON.parse(newValue);
5760
+ }
5761
+ catch (e) {
5762
+ console.error('Failed to parse disable-next array:', e);
5763
+ }
5764
+ }
5765
+ }
5766
+ componentWillLoad() {
5767
+ this.handleDisableNextChange(this.disableNext);
5768
+ }
5518
5769
  componentDidLoad() {
5519
- var _a;
5520
5770
  if (this.type === 'linear') {
5521
- const btns = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('eds-button');
5771
+ const root = this.el.shadowRoot || this.el;
5772
+ const btns = root.querySelectorAll('eds-button');
5522
5773
  btns === null || btns === void 0 ? void 0 : btns.forEach((btn) => this.emitContext(btn));
5523
5774
  }
5524
5775
  }
5525
5776
  activeStepChanged(newValue) {
5777
+ // Clamp to valid range or collapsed sentinel
5778
+ const max = Math.max(0, this.parsedSteps.length - 1);
5779
+ if (newValue > max) {
5780
+ this.activeStep = max;
5781
+ return;
5782
+ }
5783
+ if (newValue < -1) {
5784
+ this.activeStep = -1;
5785
+ return;
5786
+ }
5787
+ // If collapsed (only possible in non-linear mode), do not emit context
5788
+ if (newValue < 0) {
5789
+ return;
5790
+ }
5526
5791
  setTimeout(() => {
5527
- var _a;
5528
- const activeStepContainer = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.step')[newValue];
5529
- if (activeStepContainer) {
5530
- activeStepContainer.querySelectorAll('eds-button').forEach((btn) => this.emitContext(btn));
5531
- }
5792
+ const root = this.el.shadowRoot || this.el;
5793
+ const all = root.querySelectorAll('.step');
5794
+ const active = all && newValue < all.length ? all[newValue] : undefined;
5795
+ active === null || active === void 0 ? void 0 : active.querySelectorAll('eds-button').forEach((btn) => this.emitContext(btn));
5532
5796
  }, 50);
5533
5797
  }
5534
5798
  emitContext(linkElement) {
5535
5799
  const event = new CustomEvent('parentContext', {
5536
- detail: {
5537
- componentName: this.el.tagName.toLowerCase(),
5538
- identifier: this.activeStep
5539
- }
5800
+ detail: { componentName: this.el.tagName.toLowerCase(), identifier: this.activeStep },
5801
+ bubbles: true,
5802
+ composed: true
5540
5803
  });
5541
5804
  linkElement.dispatchEvent(event);
5542
5805
  }
5543
5806
  get parsedSteps() {
5544
5807
  return parseData(this.steps);
5545
5808
  }
5809
+ isStepDisabled(index) {
5810
+ if (Array.isArray(this.disableNext)) {
5811
+ return index < this.disableNext.length ? !!this.disableNext[index] : false;
5812
+ }
5813
+ return index === this.activeStep && !!this.disableNext;
5814
+ }
5546
5815
  isNextDisabledFor(index) {
5547
- return Array.isArray(this.disableNext)
5548
- ? !!this.disableNext[index] // per-step
5549
- : index === this.activeStep && !!this.disableNext; // only active step
5816
+ return this.isStepDisabled(index);
5550
5817
  }
5551
5818
  /** Render the semantic heading element as a clickable control only in linear mode */
5552
5819
  renderHeading(title, index) {
5553
5820
  const Tag = this.headingLevel;
5554
5821
  const isOpen = this.activeStep === index;
5555
5822
  if (this.type === 'linear') {
5556
- const forwardBlocked = index > this.activeStep && this.isNextDisabledFor(this.activeStep);
5823
+ let forwardBlocked = false;
5824
+ if (index > this.activeStep) {
5825
+ for (let i = this.activeStep; i < index; i++) {
5826
+ if (this.isStepDisabled(i)) {
5827
+ forwardBlocked = true;
5828
+ break;
5829
+ }
5830
+ }
5831
+ }
5557
5832
  const onKey = (e) => {
5558
5833
  if (forwardBlocked) {
5559
5834
  return;
@@ -5565,27 +5840,65 @@ const EdsSteps = class {
5565
5840
  };
5566
5841
  return (h(Tag, { class: `eds-steps__title ${forwardBlocked ? 'is-disabled' : ''}`, role: "button", tabindex: forwardBlocked ? -1 : 0, "aria-disabled": forwardBlocked ? 'true' : 'false', "aria-expanded": isOpen, "aria-controls": `eds-step-panel-${index}`, onClick: () => !forwardBlocked && this.handleTitleClick(index), onKeyDown: onKey }, title));
5567
5842
  }
5568
- return h(Tag, null, title);
5843
+ return (h(Tag, { class: `eds-steps__title ${this.collapsibleTitles && index !== this.activeStep ? '' : ''}`, onClick: () => this.handleTitleClick(index) }, title));
5844
+ }
5845
+ /** Render horizontal step indicator */
5846
+ renderHorizontalIndicator(step, index) {
5847
+ const isActive = this.activeStep === index;
5848
+ const isCompleted = this.activeStep > index;
5849
+ let forwardBlocked = false;
5850
+ if (index > this.activeStep) {
5851
+ for (let i = this.activeStep; i < index; i++) {
5852
+ if (this.isStepDisabled(i)) {
5853
+ forwardBlocked = true;
5854
+ break;
5855
+ }
5856
+ }
5857
+ }
5858
+ const onKey = (e) => {
5859
+ if (forwardBlocked) {
5860
+ return;
5861
+ }
5862
+ if (e.key === 'Enter' || e.key === ' ') {
5863
+ e.preventDefault();
5864
+ this.handleTitleClick(index);
5865
+ }
5866
+ };
5867
+ return (h("div", { class: `horizontal-step ${isActive ? 'is-active' : ''} ${isCompleted ? 'is-completed' : ''}`, onClick: () => !forwardBlocked && this.handleTitleClick(index), onKeyDown: onKey, role: "button", tabindex: forwardBlocked ? -1 : 0, "aria-label": `Step ${index + 1}: ${step.title}`, "aria-current": isActive ? 'step' : undefined, "aria-disabled": forwardBlocked ? 'true' : 'false' }, h("div", { class: "step-indicator" }, h("span", { class: "step-number" }, index + 1)), h("span", { class: `text-center text-default f-ui-03 ${forwardBlocked ? 'opacity-50' : ''}` }, step.title)));
5569
5868
  }
5570
5869
  render() {
5571
5870
  const steps = this.parsedSteps;
5871
+ // Horizontal Linear
5872
+ if (this.type === 'linear' && this.orientation === 'horizontal') {
5873
+ return (h("div", { class: "steps--horizontal", style: { '--step-count': steps.length.toString() } }, h("div", { class: "horizontal-indicators" }, steps.map((step, index) => this.renderHorizontalIndicator(step, index))), steps.map((step, index) => {
5874
+ const isLast = index === steps.length - 1;
5875
+ if (this.activeStep !== index) {
5876
+ return null;
5877
+ }
5878
+ const marginClass = this.orientation === 'horizontal' ? 'mt-64' : 'mt-32';
5879
+ return (h("div", { class: "step-content", key: index, id: `eds-step-panel-${index}` }, h("slot", { name: `step-${index}` }, h("div", { class: "f-body-02 text-lighter", innerHTML: step.content })), h("div", { class: `flex items-center justify-between ${marginClass}` }, h("eds-button", { label: this.backLabel, intent: "ghost", icon: "chevron-left", iconPos: "left", iconSmall: true, onClick: this.handleBack, disabled: index === 0, class: index === 0 ? 'hidden' : 'block', size: "small" }), h("eds-button", { label: isLast ? this.finishLabel : this.nextLabel, intent: "primary", icon: "chevron-right", iconSmall: true, onClick: this.handleNext, disabled: this.isNextDisabledFor(index), size: "small", class: index > 0 ? 'ml-8' : null })), h("slot", { name: `actions-${index}` })));
5880
+ })));
5881
+ }
5882
+ // Vertical Linear
5572
5883
  if (this.type === 'linear') {
5573
5884
  return (h("div", { class: "steps" }, steps.map((step, index) => {
5574
5885
  const isLast = index === steps.length - 1;
5575
- return (h("div", { class: "step mb-28", key: index }, this.renderHeading(step.title, index), this.activeStep === index && (h("div", { class: "content grid gap-y-16", id: `eds-step-panel-${index}` }, h("slot", { name: `step-${index}` }, h("div", { class: isLast ? 'f-body-02 text-lighter' : 'f-body-02 text-lighter', innerHTML: step.content })), h("div", { class: "flex items-center mt-16" }, h("eds-button", { label: this.backLabel, intent: "ghost", icon: "chevron-left", iconPos: "left", iconSmall: true, onClick: this.handleBack, disabled: index === 0, class: index === 0 ? 'hidden' : 'block', size: "small" }), h("eds-button", { label: isLast ? this.finishLabel : this.nextLabel, intent: "primary", icon: "chevron-right", iconSmall: true, onClick: this.handleNext, disabled: this.isNextDisabledFor(index), size: "small", class: "ml-8" })), h("slot", { name: `actions-${index}` })))));
5886
+ const marginClass = this.orientation === 'horizontal' ? 'mt-64' : 'mt-32';
5887
+ return (h("div", { class: "step mb-16", key: index }, this.renderHeading(step.title, index), this.activeStep === index && (h("div", { class: "content grid gap-y-16", id: `eds-step-panel-${index}` }, h("slot", { name: `step-${index}` }, h("div", { class: "my-16 f-body-02 text-lighter", innerHTML: step.content })), h("div", { class: `flex items-center justify-between ${marginClass}` }, h("eds-button", { label: this.backLabel, intent: "ghost", icon: "chevron-left", iconPos: "left", iconSmall: true, onClick: this.handleBack, disabled: index === 0, class: index === 0 ? 'hidden' : 'block', size: "small" }), h("eds-button", { label: isLast ? this.finishLabel : this.nextLabel, intent: "primary", icon: "chevron-right", iconSmall: true, onClick: this.handleNext, disabled: this.isNextDisabledFor(index), size: "small", class: index > 0 ? 'ml-8' : null })), h("slot", { name: `actions-${index}` })))));
5576
5888
  })));
5577
5889
  }
5578
- // Static: no navigation buttons
5579
- return (h("div", { class: "steps" }, steps.map((step, index) => (h("div", { class: "step mb-28", key: index }, this.renderHeading(step.title, index), h("div", { class: "content", id: `eds-step-panel-${index}` }, h("slot", { name: `step-${index}` }, h("div", { class: index === steps.length - 1 ? 'f-body-02 text-lighter mt-16' : 'f-body-02 text-lighter my-16', innerHTML: step.content }))))))));
5890
+ // Static
5891
+ return (h("div", { class: "steps" }, steps.map((step, index) => (h("div", { class: "step mb-16", key: index }, this.renderHeading(step.title, index), h("div", { class: "content", id: `eds-step-panel-${index}` }, h("slot", { name: `step-${index}` }, h("div", { class: "f-body-02 text-lighter my-16", innerHTML: step.content }))))))));
5580
5892
  }
5581
5893
  get el() { return getElement(this); }
5582
5894
  static get watchers() { return {
5895
+ "disableNext": ["handleDisableNextChange"],
5583
5896
  "activeStep": ["activeStepChanged"]
5584
5897
  }; }
5585
5898
  };
5586
5899
  EdsSteps.style = EdsStepsStyle0;
5587
5900
 
5588
- const edsStepsV2Css = ".steps{position:sticky;margin-left:16px;border-left:1px solid var(--soft-color, #ddd);padding-left:23px;counter-reset:step}.steps h3{counter-increment:step;font-size:var(--f-heading-05-fontSize);font-weight:var(--f-heading-05-fontWeight);line-height:var(--f-heading-05-lineHeight);position:relative}.steps h3::before{content:counter(step);position:absolute;left:-40px;top:-2px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:1rem;border:1px solid #ccc;background:var(--grey-900);color:#fff;border-radius:50%}.steps h4,.steps h5{counter-increment:step;font-size:var(--f-heading-06-fontSize);font-weight:var(--f-heading-06-fontWeight);line-height:var(--f-heading-06-lineHeight);position:relative}.steps h4::before,.steps h5::before{content:counter(step);position:absolute;left:-40px;top:-2px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;font-size:0.875rem;border:1px solid #ccc;background:#333;color:#fff;border-radius:50%}.steps blockquote{margin-top:16px;margin-bottom:16px;font-style:italic;color:#aaa;padding-left:6px}.steps-img-placeholder{width:100%;height:200px;background:linear-gradient(to bottom, #9CE142, #00C959, #00A595);}.bg-\\[\\#00A595\\]{--tw-bg-opacity:1;background-color:rgb(0 165 149 / var(--tw-bg-opacity))}.relative{position:relative}.f-heading-04{font-family:var(--f-heading-04-fontFamily);font-weight:var(--f-heading-04-fontWeight);font-size:var(--f-heading-04-fontSize);line-height:var(--f-heading-04-lineHeight);letter-spacing:var(--f-heading-04-letterSpacing)}.f-body-02{font-family:var(--f-body-02-fontFamily);font-weight:var(--f-body-02-fontWeight);font-size:var(--f-body-02-fontSize);line-height:var(--f-body-02-lineHeight);letter-spacing:var(--f-body-02-letterSpacing)}.text-inverse{color:var(--white)}.text-light{color:var(--grey-700)}.text-lighter{color:var(--grey-600)}.w-full{width:100%}.h-52{height:3.25rem}.h-96{height:6rem}.h-\\[200px\\]{height:200px}.mt-16{margin-top:1rem}.my-16{margin-top:1rem;margin-bottom:1rem}.mb-12{margin-bottom:0.75rem}.last\\:mb-0:last-child{margin-bottom:0rem}.last\\:mt-16:last-child{margin-top:1rem}.border-softer{border:2px solid rgba(0, 0, 0, .1)}.relative{position:relative}.flex{display:flex}.inline-flex{display:inline-flex}.grow{flex-grow:1}.rounded{border-radius:0.25rem}.rounded-lg{border-radius:16px}.rounded-t-lg{border-top-left-radius:16px;border-top-right-radius:16px}.border-2{border-width:2px}.p-8{padding:0.5rem}.p-24{padding:1.5rem}.bg-default{background-color:var(--grey-200)}.bg-inverse{background-color:var(--white)}.top-2{top:0.125rem}.bottom-2{bottom:0.125rem}.left-2{left:0.125rem}.right-2{right:0.125rem}.-translate-x-1\\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.overflow-hidden{overflow:hidden}.space-y-8{--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.space-y-16{--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.ml-8{margin-left:0.5rem}.gap-y-16{row-gap:1rem}.gap-x-16{-moz-column-gap:1rem;column-gap:1rem}.flex{display:flex}.grid{display:grid}.hidden{display:none}.block{display:block}.px-8{padding-left:0.5rem;padding-right:0.5rem}.pb-20{padding-bottom:1.25rem}.eds-steps__title{cursor:pointer}";
5901
+ const edsStepsV2Css = "blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}.steps{position:sticky;margin-left:16px;border-left:1px solid var(--soft-color, #ddd);padding-left:23px;counter-reset:step}.steps h3{counter-increment:step;font-size:var(--f-heading-05-fontSize);font-weight:var(--f-heading-05-fontWeight);line-height:var(--f-heading-05-lineHeight);position:relative}.steps h3::before{content:counter(step);position:absolute;left:-41px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:1rem;border:1px solid #ccc;background:var(--grey-900);color:#fff;border-radius:50%}.steps h4,.steps h5{counter-increment:step;font-size:var(--f-heading-06-fontSize);font-weight:var(--f-heading-06-fontWeight);line-height:var(--f-heading-06-lineHeight);position:relative}.steps h4::before,.steps h5::before{content:counter(step);position:absolute;left:-40px;top:-2px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;font-size:0.875rem;border:1px solid #ccc;background:#333;color:#fff;border-radius:50%}.steps blockquote{margin-top:16px;margin-bottom:16px;font-style:italic;color:#aaa;padding-left:6px}.steps-img-placeholder{width:100%;height:200px;background:linear-gradient(to bottom, #9CE142, #00C959, #00A595);}.bg-\\[\\#00A595\\]{--tw-bg-opacity:1;background-color:rgb(0 165 149 / var(--tw-bg-opacity))}.relative{position:relative}.f-heading-04{font-family:var(--f-heading-04-fontFamily);font-weight:var(--f-heading-04-fontWeight);font-size:var(--f-heading-04-fontSize);line-height:var(--f-heading-04-lineHeight);letter-spacing:var(--f-heading-04-letterSpacing)}.f-body-02{font-family:var(--f-body-02-fontFamily);font-weight:var(--f-body-02-fontWeight);font-size:var(--f-body-02-fontSize);line-height:var(--f-body-02-lineHeight);letter-spacing:var(--f-body-02-letterSpacing)}.f-ui-02{font-family:var(--f-ui-02-fontFamily);font-weight:var(--f-ui-02-fontWeight);font-size:var(--f-ui-02-fontSize);line-height:var(--f-ui-02-lineHeight);letter-spacing:var(--f-ui-02-letterSpacing)}.f-ui-03{font-family:var(--f-ui-03-fontFamily);font-weight:var(--f-ui-03-fontWeight);font-size:var(--f-ui-03-fontSize);line-height:var(--f-ui-03-lineHeight);letter-spacing:var(--f-ui-03-letterSpacing)}.text-center{text-align:center}.text-default{color:var(--black)}.text-inverse{color:var(--white)}.text-light{color:var(--grey-700)}.text-lighter{color:var(--grey-600)}.w-full{width:100%}.h-52{height:3.25rem}.h-96{height:6rem}.h-\\[200px\\]{height:200px}.justify-between{justify-content:space-between}.mt-16{margin-top:1rem}.mt-32{margin-top:2rem}.mt-64{margin-top:4rem}.my-16{margin-top:1rem;margin-bottom:1rem}.mb-12{margin-bottom:0.75rem}.last\\:mb-0:last-child{margin-bottom:0rem}.last\\:mt-16:last-child{margin-top:1rem}.border-softer{border:2px solid rgba(0, 0, 0, .1)}.relative{position:relative}.flex{display:flex}.inline-flex{display:inline-flex}.grow{flex-grow:1}.rounded{border-radius:0.25rem}.rounded-lg{border-radius:16px}.rounded-t-lg{border-top-left-radius:16px;border-top-right-radius:16px}.border-2{border-width:2px}.p-8{padding:0.5rem}.p-24{padding:1.5rem}.bg-default{background-color:var(--grey-200)}.bg-inverse{background-color:var(--white)}.top-2{top:0.125rem}.bottom-2{bottom:0.125rem}.left-2{left:0.125rem}.right-2{right:0.125rem}.-translate-x-1\\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.overflow-hidden{overflow:hidden}.space-y-8{--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.space-y-16{--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.ml-8{margin-left:0.5rem}.gap-y-16{row-gap:1rem}.gap-x-16{-moz-column-gap:1rem;column-gap:1rem}.flex{display:flex}.grid{display:grid}.hidden{display:none}.block{display:block}.items-center{align-items:center}.px-8{padding-left:0.5rem;padding-right:0.5rem}.pb-20{padding-bottom:1.25rem}.eds-steps__title[role=\"button\"]{cursor:pointer}.eds-steps__title.is-disabled{cursor:not-allowed;color:rgba(0, 0, 0, 0.5);}.eds-steps__title.is-disabled::before{opacity:1;filter:none}.steps--horizontal{display:flex;flex-direction:column;gap:2rem}.horizontal-indicators{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0}.horizontal-step{display:flex;flex-direction:column;align-items:center;gap:0.5rem;cursor:pointer;flex:1;position:relative}.horizontal-step:not(:last-child)::after{content:'';position:absolute;top:1.25rem;left:50%;width:100%;height:2px;background-color:#e0e0e0;z-index:-1}.horizontal-step.is-completed:not(:last-child)::after{background-color:var(--green-500);}.step-indicator{width:2.5rem;height:2.5rem;border-radius:50%;border:2px solid #e0e0e0;display:flex;align-items:center;justify-content:center;background-color:white;transition:all 0.3s ease;z-index:2}.horizontal-step.is-active .step-indicator{border-color:var(--green-500);background-color:var(--green-500);color:var(--white)}.horizontal-step.is-completed .step-indicator{border-color:var(--green-500);background-color:var(--white)}.horizontal-step.is-disabled{opacity:0.5;cursor:not-allowed}.step-number{font-weight:600;font-size:0.875rem}.step-label{font-size:0.875rem;text-align:center;font-weight:500}.horizontal-step.is-active .step-label{color:var(--green-500)}.step-content{padding:2rem 0;margin-left:calc((100% / var(--step-count, 1)) * 0.45 - 1.25rem);margin-right:calc((100% / var(--step-count, 1)) * 0.45 - 1.25rem)}.opacity-50{opacity:0.5}";
5589
5902
  const EdsStepsV2Style0 = edsStepsV2Css;
5590
5903
 
5591
5904
  const EdsStepsV2 = class {
@@ -5596,48 +5909,74 @@ const EdsStepsV2 = class {
5596
5909
  this.next = createEvent(this, "next", 7);
5597
5910
  this.back = createEvent(this, "back", 7);
5598
5911
  this.handleTitleClick = (index) => {
5599
- // If clicking the same title, keep your existing toggle behavior
5600
- if (index === this.activeStep) {
5601
- this.activeStep = this.activeStep === index ? -1 : index;
5912
+ // In linear mode, do NOT collapse; only navigate if allowed.
5913
+ if (this.type === 'linear') {
5914
+ if (index > this.activeStep) {
5915
+ // Prevent jumping forward over disabled steps
5916
+ for (let i = this.activeStep; i < index; i++) {
5917
+ if (this.isStepDisabled(i)) {
5918
+ return;
5919
+ }
5920
+ }
5921
+ }
5922
+ this.activeStep = index;
5602
5923
  this.step.emit(this.activeStep);
5603
5924
  return;
5604
5925
  }
5605
- // Block *forward* jumps when progression is gated by disableNext (boolean)
5606
- const forwardBlocked = this.type === 'linear' && index > this.activeStep && this.isNextDisabledForCurrent();
5607
- if (forwardBlocked) {
5926
+ // Non-linear vertical mode can toggle collapse of the current title
5927
+ if (this.orientation === 'vertical' && index === this.activeStep) {
5928
+ this.activeStep = this.activeStep === index ? -1 : index;
5929
+ this.step.emit(this.activeStep);
5608
5930
  return;
5609
5931
  }
5610
- // Allow back (or forward when not gated)
5932
+ // Otherwise just set
5611
5933
  this.activeStep = index;
5612
5934
  this.step.emit(this.activeStep);
5613
5935
  };
5614
5936
  this.handleNext = () => {
5615
5937
  const lastIndex = this.parsedSteps.length - 1;
5938
+ // On last step: do NOT collapse; keep content visible, just emit finished
5616
5939
  if (this.activeStep >= lastIndex) {
5617
5940
  this.finished.emit();
5618
- this.activeStep = -1; // collapse last step
5941
+ this.activeStep = -1; // collapse the content
5942
+ this.step.emit(this.activeStep); // notify change (-1 sentinel)
5619
5943
  return;
5620
5944
  }
5621
5945
  const target = this.activeStep + 1;
5622
5946
  this.next.emit(target);
5623
- if (!this.disableNext) {
5624
- this.activeStep = target;
5625
- this.step.emit(this.activeStep);
5947
+ if (this.isStepDisabled(this.activeStep)) {
5948
+ return;
5949
+ }
5950
+ this.activeStep = target;
5951
+ this.step.emit(this.activeStep);
5952
+ // clear boolean form when moving away from a step
5953
+ if (!Array.isArray(this.disableNext)) {
5954
+ this.disableNext = false;
5626
5955
  }
5627
5956
  };
5628
5957
  this.handleBack = () => {
5958
+ const lastIndex = this.parsedSteps.length - 1;
5959
+ // Recover from collapsed sentinel if it ever occurs
5960
+ if (this.activeStep < 0) {
5961
+ this.activeStep = lastIndex;
5962
+ this.step.emit(this.activeStep);
5963
+ return;
5964
+ }
5629
5965
  if (this.activeStep > 0) {
5630
5966
  const target = this.activeStep - 1;
5631
5967
  this.back.emit(target);
5632
5968
  this.activeStep = target;
5633
5969
  this.step.emit(this.activeStep);
5970
+ if (!Array.isArray(this.disableNext)) {
5971
+ this.disableNext = false;
5972
+ }
5634
5973
  }
5635
5974
  };
5636
5975
  this.steps = [];
5637
5976
  this.type = 'static';
5977
+ this.orientation = 'vertical';
5638
5978
  this.imageSrc = undefined;
5639
5979
  this.imageWidth = undefined;
5640
- this.bg = true;
5641
5980
  this.message = undefined;
5642
5981
  this.nextLabel = 'Next';
5643
5982
  this.backLabel = 'Back';
@@ -5646,57 +5985,87 @@ const EdsStepsV2 = class {
5646
5985
  this.headingLevel = 'h4';
5647
5986
  this.activeStep = 0;
5648
5987
  }
5649
- componentDidLoad() {
5650
- var _a;
5651
- if (this.type === 'linear') {
5652
- const btns = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('eds-button');
5653
- btns === null || btns === void 0 ? void 0 : btns.forEach((btn) => {
5654
- this.emitContext(btn);
5655
- });
5988
+ handleDisableNextChange(newValue) {
5989
+ if (typeof newValue === 'string' && newValue.trim().startsWith('[')) {
5990
+ try {
5991
+ this.disableNext = JSON.parse(newValue);
5992
+ }
5993
+ catch (e) {
5994
+ console.error('Failed to parse disable-next array:', e);
5995
+ }
5656
5996
  }
5657
5997
  }
5658
5998
  activeStepChanged(newValue) {
5999
+ // Clamp and ignore collapsed sentinel
6000
+ const max = Math.max(0, this.parsedSteps.length - 1);
6001
+ if (newValue > max) {
6002
+ this.activeStep = max;
6003
+ return;
6004
+ }
6005
+ if (newValue < -1) {
6006
+ this.activeStep = -1;
6007
+ return;
6008
+ }
6009
+ if (newValue < 0) {
6010
+ return;
6011
+ } // ignore collapsed state if ever set elsewhere
6012
+ // Emit parentContext to buttons inside the newly active step
5659
6013
  setTimeout(() => {
5660
- var _a;
5661
- const activeStepContainer = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.step')[newValue];
5662
- if (activeStepContainer) {
5663
- const btns = activeStepContainer.querySelectorAll('eds-button');
5664
- btns.forEach((btn) => {
5665
- this.emitContext(btn);
5666
- });
5667
- }
6014
+ const host = this.el.shadowRoot || this.el;
6015
+ const activeStepContainer = host.querySelectorAll('.step')[newValue];
6016
+ activeStepContainer === null || activeStepContainer === void 0 ? void 0 : activeStepContainer.querySelectorAll('eds-button').forEach((btn) => this.emitContext(btn));
5668
6017
  }, 50);
5669
6018
  }
6019
+ componentWillLoad() {
6020
+ this.handleDisableNextChange(this.disableNext);
6021
+ }
6022
+ componentDidLoad() {
6023
+ if (this.type === 'linear') {
6024
+ const host = this.el.shadowRoot || this.el;
6025
+ const btns = host.querySelectorAll('eds-button');
6026
+ btns === null || btns === void 0 ? void 0 : btns.forEach((btn) => this.emitContext(btn));
6027
+ }
6028
+ }
5670
6029
  emitContext(linkElement) {
5671
6030
  const event = new CustomEvent('parentContext', {
5672
6031
  detail: {
5673
6032
  componentName: this.el.tagName.toLowerCase(),
5674
6033
  identifier: this.activeStep
5675
- }
6034
+ },
6035
+ bubbles: true,
6036
+ composed: true
5676
6037
  });
5677
6038
  linkElement.dispatchEvent(event);
5678
6039
  }
5679
6040
  articleClasses() {
5680
- return [
5681
- this.bg ? 'bg-inverse' : 'bg-default',
5682
- 'border-softer effect-focus-within relative rounded-lg border-2'
5683
- ].join(' ');
6041
+ return ['border-softer effect-focus-within relative rounded-lg border-2'].join(' ');
5684
6042
  }
5685
- /**
5686
- * Parses the steps property into an array of Step objects.
5687
- */
5688
6043
  get parsedSteps() {
5689
6044
  return parseData(this.steps);
5690
6045
  }
5691
- isNextDisabledForCurrent() {
5692
- return !!this.disableNext;
6046
+ isStepDisabled(index) {
6047
+ if (Array.isArray(this.disableNext)) {
6048
+ return index < this.disableNext.length ? !!this.disableNext[index] : false;
6049
+ }
6050
+ return index === this.activeStep && !!this.disableNext;
6051
+ }
6052
+ isNextDisabledFor(index) {
6053
+ return this.isStepDisabled(index);
5693
6054
  }
5694
- /** Render the semantic heading element */
5695
6055
  renderHeading(title, index) {
5696
6056
  const Tag = this.headingLevel;
5697
6057
  if (this.type === 'linear') {
5698
6058
  const isOpen = this.activeStep === index;
5699
- const forwardBlocked = index > this.activeStep && this.isNextDisabledForCurrent();
6059
+ // Check if jumping to this step crosses a disabled step
6060
+ let forwardBlocked = false;
6061
+ if (index > this.activeStep) {
6062
+ for (let i = this.activeStep; i < index; i++) {
6063
+ if (this.isStepDisabled(i)) {
6064
+ forwardBlocked = true;
6065
+ break;
6066
+ }
6067
+ }
6068
+ }
5700
6069
  const onKey = (e) => {
5701
6070
  if (forwardBlocked) {
5702
6071
  return;
@@ -5708,16 +6077,46 @@ const EdsStepsV2 = class {
5708
6077
  };
5709
6078
  return (h(Tag, { class: `eds-steps__title ${forwardBlocked ? 'is-disabled' : ''}`, role: "button", tabindex: forwardBlocked ? -1 : 0, "aria-disabled": forwardBlocked ? 'true' : 'false', "aria-expanded": isOpen, "aria-controls": `eds-step-panel-${index}`, onClick: () => !forwardBlocked && this.handleTitleClick(index), onKeyDown: onKey }, title));
5710
6079
  }
5711
- return h(Tag, { class: "eds-steps__title" }, title);
6080
+ return (h(Tag, { class: "eds-steps__title", onClick: () => this.handleTitleClick(index) }, title));
6081
+ }
6082
+ /** Render horizontal indicator item */
6083
+ renderHorizontalIndicator(step, index) {
6084
+ const isActive = this.activeStep === index;
6085
+ const isCompleted = this.activeStep > index;
6086
+ let forwardBlocked = false;
6087
+ if (index > this.activeStep) {
6088
+ for (let i = this.activeStep; i < index; i++) {
6089
+ if (this.isStepDisabled(i)) {
6090
+ forwardBlocked = true;
6091
+ break;
6092
+ }
6093
+ }
6094
+ }
6095
+ const onKey = (e) => {
6096
+ if (forwardBlocked) {
6097
+ return;
6098
+ }
6099
+ if (e.key === 'Enter' || e.key === ' ') {
6100
+ e.preventDefault();
6101
+ this.handleTitleClick(index);
6102
+ }
6103
+ };
6104
+ return (h("div", { class: `horizontal-step ${isActive ? 'is-active' : ''} ${isCompleted ? 'is-completed' : ''}`, onClick: () => !forwardBlocked && this.handleTitleClick(index), onKeyDown: onKey, role: "button", tabindex: forwardBlocked ? -1 : 0, "aria-label": `Step ${index + 1}: ${step.title}`, "aria-current": isActive ? 'step' : undefined, "aria-disabled": forwardBlocked ? 'true' : 'false' }, h("div", { class: "step-indicator" }, h("span", { class: "step-number" }, index + 1)), h("span", { class: `text-center text-default f-ui-03 ${forwardBlocked ? 'opacity-50' : ''}` }, step.title)));
5712
6105
  }
5713
6106
  render() {
5714
6107
  const steps = this.parsedSteps;
5715
- return (h("div", { key: 'b486aa34dfab4902cd6569cc2ce228104ca536cd', class: this.articleClasses() }, this.imageSrc ? (h("div", { class: "w-full mb-12 rounded-t-lg overflow-hidden border-2" }, h("eds-img", { src: this.imageSrc, width: this.imageWidth, "with-bg": "true", "lazy-load": "true", alt: "Step illustration" }))) : (this.message && (h("div", { class: "w-full bg-[#00A595] rounded-t-lg border-2" }, h("div", { class: "p-24" }, h("span", { class: "text-inverse f-heading-04 " }, this.message))))), h("div", { key: 'e2a928ecb67caed4885c9e364621b422249610f1', class: "pb-20 px-8" }, this.type === 'linear' ? (h("div", { class: "steps" }, steps.map((step, index) => (h("div", { class: index === 0 ? 'step' : 'step space-y-16', key: index }, this.renderHeading(step.title, index), this.activeStep === index && (h("div", { class: "content grid gap-y-16", id: `eds-step-panel-${index}` }, h("slot", { name: `step-${index}` }, h("div", { class: index === steps.length - 1 ? 'f-body-02 text-lighter' : 'f-body-02 text-lighter', innerHTML: step.content })), h("div", { class: "flex items-center" }, h("eds-button", { label: this.backLabel, intent: "ghost", icon: "chevron-left", iconPos: "left", iconSmall: true, onClick: this.handleBack, disabled: index === 0, class: index === 0 ? 'hidden' : 'block', size: "small" }), h("eds-button", { label: index === steps.length - 1 ? this.finishLabel : this.nextLabel, intent: "primary", icon: "chevron-right", iconSmall: true, onClick: this.handleNext, disabled: this.disableNext, size: "small", class: "ml-8" }))))))))) : (
5716
- // Static mode: show all steps with their content.
5717
- h("div", { class: "steps space-y-8" }, steps.map((step, index) => (h("div", { class: "step", key: index }, this.renderHeading(step.title, index), h("div", { class: "content", id: `eds-step-panel-${index}` }, h("slot", { name: `step-${index}` }, h("div", { class: index === steps.length - 1 ? 'f-body-02 text-lighter mt-16' : 'f-body-02 text-lighter', innerHTML: step.content })))))))))));
6108
+ const marginClass = this.orientation === 'horizontal' ? 'mt-64' : 'mt-32';
6109
+ return (h("div", { key: '0f9dbb87f9cd269057183ee969addd55e85b2149', class: this.articleClasses() }, this.imageSrc ? (h("div", { class: "w-full mb-12 rounded-t-lg overflow-hidden border-2" }, h("eds-img", { src: this.imageSrc, width: this.imageWidth, "with-bg": "true", "lazy-load": "true", alt: "Step illustration" }))) : (this.message && (h("div", { class: "w-full bg-[#00A595] rounded-t-lg border-2" }, h("div", { class: "p-24" }, h("span", { class: "text-inverse f-heading-04" }, this.message))))), h("div", { key: 'd636d36c2e95d73c23c269b1faf67870eca97c16', class: "mt-16 pb-20 px-8" }, this.type === 'linear' && this.orientation === 'horizontal' ? (h("div", { class: "steps--horizontal", style: { '--step-count': steps.length.toString() } }, h("div", { class: "horizontal-indicators" }, steps.map((step, index) => this.renderHorizontalIndicator(step, index))), steps.map((step, index) => {
6110
+ const isLast = index === steps.length - 1;
6111
+ if (this.activeStep !== index) {
6112
+ return null;
6113
+ }
6114
+ return (h("div", { class: "step-content", key: index, id: `eds-step-panel-${index}` }, h("slot", { name: `step-${index}` }, h("div", { class: "f-body-02 text-lighter", innerHTML: step.content })), h("div", { class: `flex items-center justify-between ${marginClass}` }, h("eds-button", { label: this.backLabel, intent: "ghost", icon: "chevron-left", iconPos: "left", iconSmall: true, onClick: this.handleBack, disabled: index === 0, class: index === 0 ? 'hidden' : 'block', size: "small" }), h("eds-button", { label: isLast ? this.finishLabel : this.nextLabel, intent: "primary", icon: "chevron-right", iconSmall: true, onClick: this.handleNext, disabled: this.isNextDisabledFor(index), size: "small", class: index > 0 ? 'ml-8' : null })), h("slot", { name: `actions-${index}` })));
6115
+ }))) : this.type === 'linear' ? (h("div", { class: "steps" }, steps.map((step, index) => (h("div", { class: index === 0 ? 'step' : 'step mt-16', key: index }, this.renderHeading(step.title, index), this.activeStep === index && (h("div", { class: "content grid gap-y-16", id: `eds-step-panel-${index}` }, h("slot", { name: `step-${index}` }, h("div", { class: "my-16 f-body-02 text-lighter", innerHTML: step.content })), h("div", { class: `flex items-center justify-between ${marginClass}` }, h("eds-button", { label: this.backLabel, intent: "ghost", icon: "chevron-left", iconPos: "left", iconSmall: true, onClick: this.handleBack, disabled: index === 0, class: index === 0 ? 'hidden' : 'block', size: "small" }), h("eds-button", { label: index === steps.length - 1 ? this.finishLabel : this.nextLabel, intent: "primary", icon: "chevron-right", iconSmall: true, onClick: this.handleNext, disabled: this.isNextDisabledFor(index), size: "small", class: index > 0 ? 'ml-8' : null }))))))))) : (h("div", { class: "steps space-y-8" }, steps.map((step, index) => (h("div", { class: "step", key: index }, this.renderHeading(step.title, index), h("div", { class: "content", id: `eds-step-panel-${index}` }, h("div", { class: "content-body" }, h("slot", { name: `step-${index}` }, h("div", { class: "my-16 f-body-02 text-lighter", innerHTML: step.content }))))))))))));
5718
6116
  }
5719
6117
  get el() { return getElement(this); }
5720
6118
  static get watchers() { return {
6119
+ "disableNext": ["handleDisableNextChange"],
5721
6120
  "activeStep": ["activeStepChanged"]
5722
6121
  }; }
5723
6122
  };
@@ -5773,17 +6172,17 @@ const EdsSwitch = class {
5773
6172
  : this.labelOff
5774
6173
  : 'Toggle switch'
5775
6174
  : undefined;
5776
- return (h("div", { key: '34573e6f2b377e168039a13afb4d5fe981f575ad', class: "switch-container" }, this.labelOff && (h("span", { key: '1728e1aac88d275cd6bee0aaf50e93e3a421944d', id: `${switchId}-off`, class: "switch-label switch-label--off mr-8" }, this.labelOff)), h("button", { key: '5d35387a9bf808923bd94f5d64528cca1e4055d5', id: switchId, tabindex: this.disabled ? '-1' : '0', type: "button", role: "switch", "aria-checked": this.checked ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-labelledby": labelledBy.length > 0 ? labelledBy.join(' ') : undefined, "aria-label": accessibleLabel, class: {
6175
+ return (h("div", { key: '0ee7bcdc3d6bb78881c310e36e5189e5ef99bab0', class: "switch-container" }, this.labelOff && (h("span", { key: '858c4a43ccc633530d4e13a6bfa8115194ff5082', id: `${switchId}-off`, class: "switch-label switch-label--off mr-8" }, this.labelOff)), h("button", { key: 'faa59b03c46dd814c4125534a88fd7564b02205a', 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: {
5777
6176
  switch: true,
5778
6177
  'switch--checked': this.checked,
5779
6178
  'switch--disabled': this.disabled
5780
- }, onClick: this.toggleSwitch, onKeyDown: this.handleKeyDown, disabled: this.disabled }, h("span", { key: 'd8e0e1e3b562b4ac894998641cb7c813578e1a3f', class: "switch-handle" })), this.labelOn && (h("span", { key: '86b56fbbc537e9f08d11a509a1cb0e19d8dc3c39', id: `${switchId}-on`, class: "switch-label switch-label--on ml-8" }, this.labelOn))));
6179
+ }, onClick: this.toggleSwitch, onKeyDown: this.handleKeyDown, disabled: this.disabled }, h("span", { key: '74db0f827a4f50dd77b88e0d372cbef1adb10f87', class: "switch-handle" })), this.labelOn && (h("span", { key: '2648bb13d533bc9fde1dc04af9cfd7116dadd581', id: `${switchId}-on`, class: "switch-label switch-label--on ml-8" }, this.labelOn))));
5781
6180
  }
5782
6181
  get el() { return getElement(this); }
5783
6182
  };
5784
6183
  EdsSwitch.style = EdsSwitchStyle0;
5785
6184
 
5786
- const edsTableCss = "table{text-indent:0;border-color:inherit;border-collapse:collapse;}.container{width:calc(var(--container-width, 100%) - (2 * var(--breakout-container-outer-gutter, var(--container-outer-gutter, var(--outer-gutter, 0)))));margin-right:auto;margin-left:auto}.container>*{--container-outer-gutter:0;--breakout-container-outer-gutter:0}.pt-32{padding-top:2rem}.pt-40{padding-top:2.5rem}.pt-48{padding-top:3rem}.pb-28{padding-bottom:1.75rem}.pb-60{padding-bottom:3.75rem}.mt-20{margin-top:1.25rem}.mt-28{margin-top:1.75rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.overflow-x-auto{overflow-x:auto}.mt-6{margin-top:0.375rem}.p-0{padding:0rem}.p-4{padding:0.25rem}.m-0{margin:0rem}.border{border-width:1px}.border-softer{border:1px solid rgba(0, 0, 0, .1)}.even\\:bg-inverse-softer:nth-child(even){background-color:rgba(255, 255, 255, .15)}.px-8{padding-left:0.5rem;padding-right:0.5rem}.px-20{padding-left:1.25rem;padding-right:1.25rem}.py-8{padding-top:0.5rem;padding-bottom:0.5rem}.f-ui-01{font-family:var(--f-ui-01-fontFamily);font-weight:var(--f-ui-01-fontWeight);font-size:var(--f-ui-01-fontSize);line-height:var(--f-ui-01-lineHeight);letter-spacing:var(--f-ui-01-letterSpacing)}.f-ui-02{font-family:var(--f-ui-02-fontFamily);font-weight:var(--f-ui-02-fontWeight);font-size:var(--f-ui-02-fontSize);line-height:var(--f-ui-02-lineHeight);letter-spacing:var(--f-ui-02-letterSpacing)}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.text-center{text-align:center}.break-words{overflow-wrap:anywhere}";
6185
+ const edsTableCss = "table{text-indent:0;border-color:inherit;border-collapse:collapse;}tr.table-row-default{background-color:transparent}tr.table-row-color:nth-child(even){background-color:var(--grey-100)}tr.table-row-color:nth-child(odd){background-color:transparent}.container{width:calc(var(--container-width, 100%) - (2 * var(--breakout-container-outer-gutter, var(--container-outer-gutter, var(--outer-gutter, 0)))));margin-right:auto;margin-left:auto}.container>*{--container-outer-gutter:0;--breakout-container-outer-gutter:0}.pt-32{padding-top:2rem}.pt-40{padding-top:2.5rem}.pt-48{padding-top:3rem}.pb-28{padding-bottom:1.75rem}.pb-60{padding-bottom:3.75rem}.mt-20{margin-top:1.25rem}.mt-28{margin-top:1.75rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.overflow-x-auto{overflow-x:auto}.mt-6{margin-top:0.375rem}.p-0{padding:0rem}.p-4{padding:0.25rem}.m-0{margin:0rem}.border{border-width:1px}.border-softer{border:1px solid rgba(0, 0, 0, .1)}.even\\:bg-inverse-softer:nth-child(even){background-color:rgba(255, 255, 255, .15)}.px-8{padding-left:0.5rem;padding-right:0.5rem}.px-20{padding-left:1.25rem;padding-right:1.25rem}.py-8{padding-top:0.5rem;padding-bottom:0.5rem}.f-ui-01{font-family:var(--f-ui-01-fontFamily);font-weight:var(--f-ui-01-fontWeight);font-size:var(--f-ui-01-fontSize);line-height:var(--f-ui-01-lineHeight);letter-spacing:var(--f-ui-01-letterSpacing)}.f-ui-02{font-family:var(--f-ui-02-fontFamily);font-weight:var(--f-ui-02-fontWeight);font-size:var(--f-ui-02-fontSize);line-height:var(--f-ui-02-lineHeight);letter-spacing:var(--f-ui-02-letterSpacing)}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.text-center{text-align:center}.break-words{overflow-wrap:anywhere}";
5787
6186
  const EdsTableStyle0 = edsTableCss;
5788
6187
 
5789
6188
  const EdsTable = class {
@@ -5819,6 +6218,24 @@ const EdsTable = class {
5819
6218
  }
5820
6219
  (_a = actionButtons[nextIndex]) === null || _a === void 0 ? void 0 : _a.focus();
5821
6220
  };
6221
+ this.handleSort = (column) => {
6222
+ if (this.sortColumn === column) {
6223
+ // Toggle direction if same column
6224
+ this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';
6225
+ }
6226
+ else {
6227
+ // New column, default to ascending
6228
+ this.sortColumn = column;
6229
+ this.sortDirection = 'asc';
6230
+ }
6231
+ sendAnalytics({
6232
+ category: 'ui-component',
6233
+ parentContext: null,
6234
+ tag: `${this.hostEl.tagName.toLowerCase()}/sort`,
6235
+ name: column,
6236
+ action: this.sortDirection
6237
+ });
6238
+ };
5822
6239
  this.data = null;
5823
6240
  this.config = {};
5824
6241
  this.rowsPerPage = 10;
@@ -5828,6 +6245,8 @@ const EdsTable = class {
5828
6245
  this.columnSize = 'default';
5829
6246
  this.actions = [];
5830
6247
  this.actionTemplate = undefined;
6248
+ this.sortingEnabled = false;
6249
+ this.theme = 'color';
5831
6250
  this.parsedActions = [];
5832
6251
  this.dataColumns = [];
5833
6252
  this.tbData = [];
@@ -5837,6 +6256,8 @@ const EdsTable = class {
5837
6256
  this.totalRows = 0;
5838
6257
  this.searchQuery = '';
5839
6258
  this.containerWidth = 0;
6259
+ this.sortColumn = null;
6260
+ this.sortDirection = 'asc';
5840
6261
  }
5841
6262
  handleDataChange() {
5842
6263
  this.parseData();
@@ -5919,10 +6340,10 @@ const EdsTable = class {
5919
6340
  return this.tbData.filter((row) => Object.values(row).some((value) => value.toString().toLowerCase().includes(this.searchQuery.toLowerCase())));
5920
6341
  }
5921
6342
  getPaginatedRows() {
5922
- const filteredRows = this.getFilteredRows();
5923
- this.totalRows = filteredRows.length;
6343
+ const sortedRows = this.getSortedRows();
6344
+ this.totalRows = sortedRows.length;
5924
6345
  const start = (this.currentPage - 1) * this.rowsPerPage;
5925
- return filteredRows.slice(start, start + this.rowsPerPage);
6346
+ return sortedRows.slice(start, start + this.rowsPerPage);
5926
6347
  }
5927
6348
  handlePageChange(newPage) {
5928
6349
  this.currentPage = newPage;
@@ -6002,22 +6423,52 @@ const EdsTable = class {
6002
6423
  capitalize(str) {
6003
6424
  return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
6004
6425
  }
6426
+ getSortedRows() {
6427
+ const filtered = this.getFilteredRows();
6428
+ if (!this.sortColumn) {
6429
+ return filtered;
6430
+ }
6431
+ return [...filtered].sort((a, b) => {
6432
+ const aVal = a[this.sortColumn];
6433
+ const bVal = b[this.sortColumn];
6434
+ // Handle null/undefined
6435
+ if (aVal == null) {
6436
+ return 1;
6437
+ }
6438
+ if (bVal == null) {
6439
+ return -1;
6440
+ }
6441
+ // Compare values
6442
+ let comparison = 0;
6443
+ if (typeof aVal === 'number' && typeof bVal === 'number') {
6444
+ comparison = aVal - bVal;
6445
+ }
6446
+ else {
6447
+ comparison = String(aVal).localeCompare(String(bVal));
6448
+ }
6449
+ return this.sortDirection === 'asc' ? comparison : -comparison;
6450
+ });
6451
+ }
6005
6452
  render() {
6006
6453
  const currentContainerWidth = this.hostWidth && this.hostWidth.trim() !== '' ? Number(this.hostWidth) : this.containerWidth || 400;
6007
6454
  const visibleColumnsCount = this.getVisibleColumnsCount();
6008
6455
  const columnWidth = visibleColumnsCount > 0 ? Math.floor((currentContainerWidth / visibleColumnsCount) * this.divisionFactor()) : 100;
6009
6456
  const paginatedRows = this.getPaginatedRows();
6010
6457
  const lastPage = Math.ceil(this.totalRows / this.rowsPerPage);
6011
- return (h("div", { key: '0c986dec22a52676b110fad1f7f82ef792da796e' }, this.searchEnabled && (h("div", { key: '855c5c3d6c2b86e75a210c0296524bc8029e37f2' }, h("eds-input-field", { key: 1, icon: "search", name: "search", "aria-label": "Search", type: "text", placeholder: "Search...", onInput: (event) => this.handleSearch(event) }))), h("div", { key: '62b18340bbf992dba888c2d24ff306ada8a1a985', class: "mt-20" }, h("table", { key: '656dd0dd7f99611c2bd9beea4cd1f37f57da1384', class: "block overflow-x-auto mt-6 p-0" }, h("thead", { key: '1278ea89f588aa52c215c32bcc03c424e4501fed' }, h("tr", { key: '186e6ac48859dd9f7cbf8c4f4fb5f6bfddfd4d34', class: "m-0 p-0 border border-softer even:bg-inverse-softer" }, this.columns.map((col) => {
6458
+ return (h("div", { key: '0601cea60a05d044a717219e6ff6385ef915defa' }, this.searchEnabled && (h("div", { key: 'de1affaf192dc5e63b16d534d2f518c206ab7010' }, h("eds-input-field", { key: 1, icon: "search", name: "search", "aria-label": "Search", type: "text", placeholder: "Search...", onInput: (event) => this.handleSearch(event) }))), h("div", { key: '49f71b5a2481d719cb8fe0547f05a5ae83ad5541', class: "mt-20" }, h("table", { key: 'b63ca6615ed681c741fb2d3ff2675f9cc061d194', class: "block overflow-x-auto mt-6 p-0" }, h("thead", { key: '817b534cca3c2492b69b3816a41b54ec850847ab' }, h("tr", { key: '6cb8735ac56c3fe2acc4a257815bc0d07009118c', class: `m-0 p-0 border border-softer table-row-${this.theme}` }, this.columns.map((col) => {
6012
6459
  var _a;
6013
6460
  if (col === 'actions') {
6014
6461
  return (h("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words", style: { minWidth: `${columnWidth - 4}px` } }));
6015
6462
  }
6016
6463
  if (!((_a = this.parsedConfig[col]) === null || _a === void 0 ? void 0 : _a.hidden)) {
6017
- return (h("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words", style: { minWidth: `${columnWidth - 4}px` } }, this.capitalize(col)));
6464
+ return (h("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words", style: { minWidth: `${columnWidth - 4}px` } }, h("div", { style: { display: 'flex', alignItems: 'center', justifyContent: 'center', gap: '0.25rem' } }, h("span", null, this.capitalize(col)), this.sortingEnabled && (h("eds-icon-wrapper", { icon: this.sortColumn === col
6465
+ ? this.sortDirection === 'asc'
6466
+ ? 'chevron-up'
6467
+ : 'chevron-down'
6468
+ : 'chevron-down', "aria-label": `Sort by ${col}`, onClick: () => this.handleSort(col), style: { cursor: 'pointer' } })))));
6018
6469
  }
6019
6470
  return null;
6020
- }))), h("tbody", { key: 'b27bd372efe64469d2a5001dc6d5b464eb419217' }, paginatedRows.map((row) => (h("tr", { class: "m-0 p-0 border border-softer even:bg-inverse-softer" }, this.columns.map((col) => {
6471
+ }))), h("tbody", { key: '3c8630ed1f47720688bfcdb78c5dbfc84cb238cf' }, paginatedRows.map((row) => (h("tr", { class: `m-0 p-0 border border-softer table-row-${this.theme}` }, this.columns.map((col) => {
6021
6472
  var _a;
6022
6473
  if (col === 'actions') {
6023
6474
  return (h("td", { class: "text-center border border-softer m-0 f-ui-02 break-words actions-cell", style: { minWidth: `${columnWidth - 4}px` } }, h("div", { role: "toolbar", "aria-label": "Row actions", onKeyDown: this.onActionKeyDown, style: {
@@ -6032,7 +6483,7 @@ const EdsTable = class {
6032
6483
  return (h("td", { class: "text-center border border-softer m-0 py-8 f-ui-2 break-words", style: { minWidth: `${columnWidth - 4}px` } }, this.renderCell(row[col], col)));
6033
6484
  }
6034
6485
  return null;
6035
- }))))))), this.shouldEnablePagination() && (h("div", { key: 'd442153f48c85c6de1a0752d1348d8814811faed', class: "mt-20" }, h("eds-pagination", { key: '4c48c96eacb112002b0110e85dce0dab94350dfb', currentPage: this.currentPage, lastPage: lastPage, perPage: this.rowsPerPage, total: this.totalRows, mode: "default" })))));
6486
+ }))))))), this.shouldEnablePagination() && (h("div", { key: '09faef418edc676bb2b60c2439e0652a92fe023d', class: "mt-20" }, h("eds-pagination", { key: '9403d33a37505c73fe3bec652ef93f533bdb4f03', currentPage: this.currentPage, lastPage: lastPage, perPage: this.rowsPerPage, total: this.totalRows, mode: "default" })))));
6036
6487
  }
6037
6488
  get hostEl() { return getElement(this); }
6038
6489
  static get watchers() { return {
@@ -6207,12 +6658,12 @@ const EdsTabs = class {
6207
6658
  }
6208
6659
  }
6209
6660
  render() {
6210
- return (h("div", { key: '29c8adfbd79bae86919e8b72f13d9a8a4d1c1d41', id: `${this.identifier}` }, h("div", { key: '94ec3243a35be9db63846b253133fd323fb3759c', class: "scroller-x overflow-x-auto relative z-[1] mx-auto px-16 pt-8 lg:px-28 after:border-soft before:bg-gradient-y relative overflow-x-hidden before:absolute before:inset-x-0 before:bottom-0 before:h-12 before:opacity-5 before:content-[''] after:absolute after:inset-x-0 after:bottom-0 after:border-b-2 after:content-['']" }, h("nav", { key: '52c337db80f21714a7d3da26b21663c34f5dd836', role: "tablist", ref: (el) => (this.tabContainer = el), class: "inline-flex", "aria-label": this.navAriaLabel }, this.parsedTabs.map((tab, index) => {
6661
+ return (h("div", { key: '94766d744d61eb8d1eef51393621f85b06af822f', id: `${this.identifier}` }, h("div", { key: 'd76f26bd4e70baebab9fed6c61df26b496d899a5', class: "scroller-x overflow-x-auto relative z-[1] mx-auto px-16 pt-8 lg:px-28 after:border-soft before:bg-gradient-y relative overflow-x-hidden before:absolute before:inset-x-0 before:bottom-0 before:h-12 before:opacity-5 before:content-[''] after:absolute after:inset-x-0 after:bottom-0 after:border-b-2 after:content-['']" }, h("nav", { key: '74afc95f82764cedb44b99a482bedc7b5f918196', role: "tablist", ref: (el) => (this.tabContainer = el), class: "inline-flex", "aria-label": this.navAriaLabel }, this.parsedTabs.map((tab, index) => {
6211
6662
  const TabComponent = 'button';
6212
6663
  const tabProps = this.getTabOptions(tab.active, index);
6213
6664
  const isActive = index === this.activeIndex;
6214
6665
  return (h(TabComponent, Object.assign({}, tabProps, { type: "button", role: "tab", "aria-selected": tab.active ? 'true' : 'false', tabIndex: isActive ? 0 : -1, "aria-label": tab.ariaLabel || tab.label, "aria-controls": `panel-${index}`, id: `tab-${index}`, ref: (el) => this.setTabRef(el, index), onClick: () => this.handleTabClick(index, tab.label, true), onKeyDown: (e) => this.onKeyDown(e, index) }), tab.label || tab.ariaLabel));
6215
- }))), h("div", { key: '9462805200c71ebac037ac5933c156eb9c25ed5c', class: "tab-panels" }, this.parsedTabs.map((_, index) => (h("div", { role: "tabpanel", id: `panel-${index}`, "aria-labelledby": `tab-${index}`, hidden: index !== this.activeIndex, tabIndex: index === this.activeIndex ? 0 : -1, class: "effect-focus" }, h("slot", { name: `panel-${index}` })))))));
6666
+ }))), h("div", { key: '4652dc3741f95ccfac7d53e5e49607515f559ce1', class: "tab-panels" }, this.parsedTabs.map((_, index) => (h("div", { role: "tabpanel", id: `panel-${index}`, "aria-labelledby": `tab-${index}`, hidden: index !== this.activeIndex, tabIndex: index === this.activeIndex ? 0 : -1, class: "effect-focus" }, h("slot", { name: `panel-${index}` })))))));
6216
6667
  }
6217
6668
  get el() { return getElement(this); }
6218
6669
  static get watchers() { return {
@@ -6257,7 +6708,7 @@ const EdsTag = class {
6257
6708
  }
6258
6709
  render() {
6259
6710
  const classes = tagStyles({ intent: this.intent, size: this.size });
6260
- return h("span", { key: '6a229183bdaf96687e1f71ca3938a22c1259546e', class: classes }, this.label);
6711
+ return h("span", { key: 'ef36f799cf3226ccf281428929e75326ea6a06e4', class: classes }, this.label);
6261
6712
  }
6262
6713
  };
6263
6714
  EdsTag.style = EdsTagStyle0;
@@ -6353,7 +6804,7 @@ const EdsTooltip = class {
6353
6804
  }
6354
6805
  render() {
6355
6806
  const positionClass = this.position === 'bottom' ? 'top-full mt-2' : 'bottom-full mb-2';
6356
- return (h("div", { key: '67fbc86d5f9ecfde1d5a0a588f4fb8be2050af0b', class: "relative w-full inline-block group" }, h("slot", { key: 'b304174862dd4d5ca93418ecb0d2b4fc2c80427c' }), h("div", { key: 'fcd874d53d0e17b7d3be2c6552571f82fbde6506', class: `absolute ${positionClass}
6807
+ return (h("div", { key: '1c56a6c10a841575d1450750d2aaf55f9f42f6ee', class: "relative w-full inline-block group" }, h("slot", { key: '631775de9a60642ec51de32708e0d6a0c2c27b66' }), h("div", { key: '9def7dbbc301f465b81ff0e77b182be90d0893de', class: `absolute ${positionClass}
6357
6808
  rounded-xs bg-strongest text-inverse
6358
6809
  f-ui-03-light pointer-events-none
6359
6810
  z-10 px-4 opacity-0 transition-opacity duration-150 ease-in-out
@@ -6408,10 +6859,10 @@ const EdsUser = class {
6408
6859
  render() {
6409
6860
  const user = this.parsedUser;
6410
6861
  const iconName = this.expanded ? 'chevron-down' : 'chevron-right';
6411
- return (h("div", { key: '62bb8a684095f97b6105acdb5d9803c66edba913', class: "block" }, h("div", { key: '350ff5d7b4f47686f7b39662b176f24e719d54e3', class: "flex items-center" }, h("eds-dropdown", { key: 'e3b196b127572d038b5ae6bbf00330911ca41e94', ref: (el) => (this.dropdownEl = el), label: this.dropdownLabel, intent: this.intent, "aria-label": "User Menu", "dropdown-pos": "right", "dropdown-offset": "false", icon: iconName, class: "text-default", onDropdown: this.handleDropdown }, h("div", { key: 'a311fd57839b87054afc7aca9c40ce5772b1350b', class: "min-w-[280px] p-8" }, h("div", { key: 'bc8c5b7147718def37bab1adb2715f9ff0074822', class: "flex gap-x-16", "data-dropdown-no-close": true }, h("eds-avatar", { key: 'c9207d4ecab0507981bb047ee6c59ee4400b5121', "first-name": user.given_name, "last-name": user.family_name, initials: this.initials, color: "black" }), h("div", { key: 'c6ec78d935ee851ef5e8080bf30a7ff9c4603bf1', class: "max-w-full" }, user.name && h("p", { key: 'c39af63002f1449b049d4be13927da5d51599aca', class: "f-ui-01 text-default w-full text-ellipsis" }, user.name), user.preferred_username && h("p", { key: 'd8eaa141490abb1ad917e2da03d4a588ef6d6779', class: "f-ui-03-light text-light mt-4" }, user.preferred_username), user.email && h("p", { key: '904aef6596a85ae438b98bd5ab67c7c7e2299d75', class: "f-ui-03-light text-light mt-4" }, user.email))), h("div", { key: '0cd0a2d8cc59d8b054f36188b4c18182e6a7f919', class: "text-default flex w-full flex-col gap-y-8" }, h("slot", { key: 'a41332bcf086d01a458218b74a1812dc55911925' })))))));
6862
+ return (h("div", { key: 'a16f22ec9cc18d2904ea687cbcc56099ea6273ea', class: "block" }, h("div", { key: 'f2f52774b7d5fee5169a0e944f0f9d871421da89', class: "flex items-center" }, h("eds-dropdown", { key: '5232b88c109f2e4957f3582113750d49b1bc025c', ref: (el) => (this.dropdownEl = el), label: this.dropdownLabel, intent: this.intent, "aria-label": "User Menu", "dropdown-pos": "right", "dropdown-offset": "false", icon: iconName, class: "text-default", onDropdown: this.handleDropdown }, h("div", { key: '476d9ae9f4812611ae06d0dd1aecb08f0751742a', class: "min-w-[280px] p-8" }, h("div", { key: 'ad74767750213daf55029741a4ed4c8b32f55a27', class: "flex gap-x-16", "data-dropdown-no-close": true }, h("eds-avatar", { key: '64bcf2b15cc095143919d5e6a255498d77260607', "first-name": user.given_name, "last-name": user.family_name, initials: this.initials, color: "black" }), h("div", { key: 'b3850b7c774b5434fc41dd0fad6a88c9835d4946', class: "max-w-full" }, user.name && h("p", { key: '74027025ccd58fa4f4016699ebb3f4f541cea858', class: "f-ui-01 text-default w-full text-ellipsis" }, user.name), user.preferred_username && h("p", { key: '850f015e7a19a8f711cf22477daa5119d4211e15', class: "f-ui-03-light text-light mt-4" }, user.preferred_username), user.email && h("p", { key: '414e6ec14738be04b9b4e5e1fe99a4f263eb2e3b', class: "f-ui-03-light text-light mt-4" }, user.email))), h("div", { key: '9b12da0776f6d63461c5fd7201bdccb35f430610', class: "text-default flex w-full flex-col gap-y-8" }, h("slot", { key: '867b2ce8149f402ae879bd2fab689b252abed95c' })))))));
6412
6863
  }
6413
6864
  get hostEl() { return getElement(this); }
6414
6865
  };
6415
6866
  EdsUser.style = EdsUserStyle0;
6416
6867
 
6417
- export { EdsAccordion as eds_accordion, EdsAlert as eds_alert, EdsAvatar as eds_avatar, EdsBlockBreak as eds_block_break, EdsBreadcrumb as eds_breadcrumb, EdsButton as eds_button, EdsCodeBlock as eds_code_block, EdsDropdown as eds_dropdown, EdsForm as eds_form, EdsGlobalSearch as eds_global_search, EdsHeader as eds_header, EdsIconWrapper as eds_icon_wrapper, EdsImg as eds_img, EdsInput as eds_input, EdsInputField as eds_input_field, EdsInputFooter as eds_input_footer, EdsInputLabel as eds_input_label, EdsInputRange as eds_input_range, EdsInputSearch as eds_input_search, EdsInputSelect as eds_input_select, EdsLink as eds_link, EdsLogo as eds_logo, EdsMatomoNotice as eds_matomo_notice, EdsNps as eds_nps, EdsPagination as eds_pagination, EdsRating as eds_rating, EdsSpinner as eds_spinner, EdsSteps as eds_steps, EdsStepsV2 as eds_steps_v2, EdsSwitch as eds_switch, EdsTable as eds_table, EdsTabs as eds_tabs, EdsTag as eds_tag, EdsToast as eds_toast, EdsTooltip as eds_tooltip, EdsUser as eds_user };
6868
+ export { EdsAccordion as eds_accordion, EdsAlert as eds_alert, EdsAvatar as eds_avatar, EdsBlockBreak as eds_block_break, EdsBreadcrumb as eds_breadcrumb, EdsButton as eds_button, EdsCodeBlock as eds_code_block, EdsDropdown as eds_dropdown, EdsForm as eds_form, EdsGlobalSearch as eds_global_search, EdsHeader as eds_header, EdsIconWrapper as eds_icon_wrapper, EdsImg as eds_img, EdsInput as eds_input, EdsInputField as eds_input_field, EdsInputFooter as eds_input_footer, EdsInputLabel as eds_input_label, EdsInputRange as eds_input_range, EdsInputSearch as eds_input_search, EdsInputSelect as eds_input_select, EdsLink as eds_link, EdsLogo as eds_logo, EdsMatomoNotice as eds_matomo_notice, EdsNps as eds_nps, EdsPagination as eds_pagination, EdsRating as eds_rating, EdsSidebar as eds_sidebar, EdsSpinner as eds_spinner, EdsSteps as eds_steps, EdsStepsV2 as eds_steps_v2, EdsSwitch as eds_switch, EdsTable as eds_table, EdsTabs as eds_tabs, EdsTag as eds_tag, EdsToast as eds_toast, EdsTooltip as eds_tooltip, EdsUser as eds_user };