@ebrains/components 2.1.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (608) hide show
  1. package/dist/cjs/color-primary-palette_6.cjs.entry.js +15 -15
  2. package/dist/cjs/components-section.cjs.entry.js +4 -6
  3. package/dist/cjs/components.cjs.js +2 -2
  4. package/dist/cjs/correct-use-of-colors.cjs.entry.js +2 -2
  5. package/dist/cjs/docs-palettes.cjs.entry.js +2 -2
  6. package/dist/cjs/docs-tokens.cjs.entry.js +2 -2
  7. package/dist/cjs/download-9d17d025.js +20 -0
  8. package/dist/cjs/{eds-accordion_33.cjs.entry.js → eds-accordion_36.cjs.entry.js} +590 -110
  9. package/dist/cjs/eds-app-root.cjs.entry.js +2 -2
  10. package/dist/cjs/eds-card-desc_2.cjs.entry.js +3 -3
  11. package/dist/cjs/eds-card-generic.cjs.entry.js +3 -3
  12. package/dist/cjs/eds-card-project.cjs.entry.js +2 -2
  13. package/dist/cjs/eds-card-section.cjs.entry.js +2 -2
  14. package/dist/cjs/eds-card-tags.cjs.entry.js +2 -2
  15. package/dist/cjs/eds-card-tool.cjs.entry.js +2 -2
  16. package/dist/cjs/eds-cookies-preference.cjs.entry.js +2 -2
  17. package/dist/cjs/eds-feedback.cjs.entry.js +2 -2
  18. package/dist/cjs/eds-footer.cjs.entry.js +3 -5
  19. package/dist/cjs/eds-frame.cjs.entry.js +2 -2
  20. package/dist/cjs/eds-fullscreen-menu.cjs.entry.js +9 -4
  21. package/dist/cjs/eds-gauge.cjs.entry.js +2 -2
  22. package/dist/cjs/eds-icon-arrow-diagonal.cjs.entry.js +2 -2
  23. package/dist/cjs/eds-icon-arrow-right.cjs.entry.js +2 -2
  24. package/dist/cjs/eds-icon-bin.cjs.entry.js +2 -2
  25. package/dist/cjs/eds-icon-bluesky.cjs.entry.js +2 -2
  26. package/dist/cjs/eds-icon-bookmark.cjs.entry.js +2 -2
  27. package/dist/cjs/eds-icon-chevron-down.cjs.entry.js +2 -2
  28. package/dist/cjs/eds-icon-chevron-left.cjs.entry.js +2 -2
  29. package/dist/cjs/eds-icon-chevron-right.cjs.entry.js +2 -2
  30. package/dist/cjs/eds-icon-chevron-up.cjs.entry.js +2 -2
  31. package/dist/cjs/eds-icon-clone.cjs.entry.js +2 -2
  32. package/dist/cjs/eds-icon-close.cjs.entry.js +2 -2
  33. package/dist/cjs/eds-icon-copy.cjs.entry.js +2 -2
  34. package/dist/cjs/eds-icon-download.cjs.entry.js +18 -0
  35. package/dist/cjs/eds-icon-draft.cjs.entry.js +2 -2
  36. package/dist/cjs/eds-icon-edit.cjs.entry.js +2 -2
  37. package/dist/cjs/eds-icon-eu.cjs.entry.js +2 -2
  38. package/dist/cjs/eds-icon-external.cjs.entry.js +2 -2
  39. package/dist/cjs/eds-icon-facebook.cjs.entry.js +2 -2
  40. package/dist/cjs/eds-icon-gitlab.cjs.entry.js +2 -2
  41. package/dist/cjs/eds-icon-linkedin.cjs.entry.js +2 -2
  42. package/dist/cjs/eds-icon-loader.cjs.entry.js +2 -2
  43. package/dist/cjs/eds-icon-mastodon.cjs.entry.js +2 -2
  44. package/dist/cjs/eds-icon-menu.cjs.entry.js +2 -2
  45. package/dist/cjs/eds-icon-minus.cjs.entry.js +2 -2
  46. package/dist/cjs/eds-icon-more.cjs.entry.js +2 -2
  47. package/dist/cjs/eds-icon-paper.cjs.entry.js +2 -2
  48. package/dist/cjs/eds-icon-plus.cjs.entry.js +2 -2
  49. package/dist/cjs/eds-icon-portal.cjs.entry.js +2 -2
  50. package/dist/cjs/eds-icon-private.cjs.entry.js +2 -2
  51. package/dist/cjs/eds-icon-public.cjs.entry.js +2 -2
  52. package/dist/cjs/eds-icon-search.cjs.entry.js +2 -2
  53. package/dist/cjs/eds-icon-star.cjs.entry.js +2 -2
  54. package/dist/cjs/eds-icon-start.cjs.entry.js +2 -2
  55. package/dist/cjs/eds-icon-success.cjs.entry.js +2 -2
  56. package/dist/cjs/eds-icon-thumbs-down.cjs.entry.js +2 -2
  57. package/dist/cjs/eds-icon-thumbs-up.cjs.entry.js +2 -2
  58. package/dist/cjs/eds-icon-tutorial.cjs.entry.js +2 -2
  59. package/dist/cjs/eds-icon-twitter.cjs.entry.js +2 -2
  60. package/dist/cjs/eds-icon-unknown.cjs.entry.js +2 -2
  61. package/dist/cjs/eds-icon-updown.cjs.entry.js +2 -2
  62. package/dist/cjs/eds-icon-user.cjs.entry.js +2 -2
  63. package/dist/cjs/eds-icon-view.cjs.entry.js +2 -2
  64. package/dist/cjs/eds-icon-youtube.cjs.entry.js +2 -2
  65. package/dist/cjs/eds-modal.cjs.entry.js +4 -4
  66. package/dist/cjs/eds-pie.cjs.entry.js +1 -1
  67. package/dist/cjs/eds-progress-bar.cjs.entry.js +2 -2
  68. package/dist/cjs/eds-section-core_2.cjs.entry.js +4 -4
  69. package/dist/cjs/eds-social-networks.cjs.entry.js +3 -5
  70. package/dist/cjs/eds-splash-screen.cjs.entry.js +1 -1
  71. package/dist/cjs/eds-timeline.cjs.entry.js +2 -2
  72. package/dist/cjs/eds-toast-manager.cjs.entry.js +2 -2
  73. package/dist/cjs/eds-trl.cjs.entry.js +2 -2
  74. package/dist/cjs/incorrect-use-of-colors.cjs.entry.js +2 -2
  75. package/dist/cjs/{index-0249a32e.js → index-50bc1aa4.js} +8 -11
  76. package/dist/cjs/loader.cjs.js +2 -2
  77. package/dist/cjs/logo-space.cjs.entry.js +2 -2
  78. package/dist/cjs/logo-variations-horizontal_2.cjs.entry.js +3 -3
  79. package/dist/cjs/logo-variations-tabs.cjs.entry.js +2 -2
  80. package/dist/cjs/logo-wrong-usage.cjs.entry.js +2 -2
  81. package/dist/cjs/svg-repository.cjs.entry.js +4 -20
  82. package/dist/cjs/token-list_3.cjs.entry.js +4 -4
  83. package/dist/cjs/token-ratios.cjs.entry.js +2 -2
  84. package/dist/cjs/token-spacing.cjs.entry.js +2 -2
  85. package/dist/cjs/token-typography.cjs.entry.js +2 -2
  86. package/dist/collection/collection-manifest.json +2 -0
  87. package/dist/collection/components/eds-accordion/eds-accordion.js +2 -2
  88. package/dist/collection/components/eds-alert/eds-alert.js +2 -2
  89. package/dist/collection/components/eds-avatar/eds-avatar.js +1 -1
  90. package/dist/collection/components/eds-block-break/eds-block-break.js +1 -1
  91. package/dist/collection/components/eds-breadcrump/eds-breadcrump.js +1 -1
  92. package/dist/collection/components/eds-button/eds-button.js +1 -1
  93. package/dist/collection/components/eds-cards/eds-card-composer/eds-card-desc/eds-card-desc.js +1 -1
  94. package/dist/collection/components/eds-cards/eds-card-composer/eds-card-tags/eds-card-tags.js +1 -1
  95. package/dist/collection/components/eds-cards/eds-card-composer/eds-card-title/eds-card-title.js +1 -1
  96. package/dist/collection/components/eds-cards/eds-card-generic/eds-card-generic.css +8 -0
  97. package/dist/collection/components/eds-cards/eds-card-generic/eds-card-generic.js +1 -1
  98. package/dist/collection/components/eds-cards/eds-card-project/eds-card-project.js +1 -1
  99. package/dist/collection/components/eds-cards/eds-card-tool/eds-card-tool.js +1 -1
  100. package/dist/collection/components/eds-charts/eds-gauge/eds-gauge.js +1 -1
  101. package/dist/collection/components/eds-code-block/eds-code-block.js +1 -1
  102. package/dist/collection/components/eds-dropdown/eds-dropdown.js +127 -11
  103. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-down/eds-icon-chevron-down.js +1 -1
  104. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-left/eds-icon-chevron-left.js +1 -1
  105. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-right/eds-icon-chevron-right.js +1 -1
  106. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-up/eds-icon-chevron-up.js +1 -1
  107. package/dist/collection/components/eds-icons/eds-icon-arrow-diagonal/eds-icon-arrow-diagonal.js +1 -1
  108. package/dist/collection/components/eds-icons/eds-icon-arrow-right/eds-icon-arrow-right.js +1 -1
  109. package/dist/collection/components/eds-icons/eds-icon-bin/eds-icon-bin.js +1 -1
  110. package/dist/collection/components/eds-icons/eds-icon-bookmark/eds-icon-bookmark.js +1 -1
  111. package/dist/collection/components/eds-icons/eds-icon-clone/eds-icon-clone.js +1 -1
  112. package/dist/collection/components/eds-icons/eds-icon-close/eds-icon-close.js +1 -1
  113. package/dist/collection/components/eds-icons/eds-icon-copy/eds-icon-copy.js +1 -1
  114. package/dist/collection/components/eds-icons/eds-icon-download/eds-icon-download.js +36 -0
  115. package/dist/collection/components/eds-icons/eds-icon-draft/eds-icon-draft.js +1 -1
  116. package/dist/collection/components/eds-icons/eds-icon-edit/eds-icon-edit.js +1 -1
  117. package/dist/collection/components/eds-icons/eds-icon-eu/eds-icon-eu.js +1 -1
  118. package/dist/collection/components/eds-icons/eds-icon-external/eds-icon-external.js +1 -1
  119. package/dist/collection/components/eds-icons/eds-icon-gitlab/eds-icon-gitlab.js +1 -1
  120. package/dist/collection/components/eds-icons/eds-icon-loader/eds-icon-loader.js +1 -1
  121. package/dist/collection/components/eds-icons/eds-icon-menu/eds-icon-menu.js +1 -1
  122. package/dist/collection/components/eds-icons/eds-icon-minus/eds-icon-minus.js +1 -1
  123. package/dist/collection/components/eds-icons/eds-icon-more/eds-icon-more.js +1 -1
  124. package/dist/collection/components/eds-icons/eds-icon-paper/eds-icon-paper.js +1 -1
  125. package/dist/collection/components/eds-icons/eds-icon-plus/eds-icon-plus.js +1 -1
  126. package/dist/collection/components/eds-icons/eds-icon-portal/eds-icon-portal.js +1 -1
  127. package/dist/collection/components/eds-icons/eds-icon-private/eds-icon-private.js +1 -1
  128. package/dist/collection/components/eds-icons/eds-icon-public/eds-icon-public.js +1 -1
  129. package/dist/collection/components/eds-icons/eds-icon-search/eds-icon-search.js +1 -1
  130. package/dist/collection/components/eds-icons/eds-icon-star/eds-icon-star.js +1 -1
  131. package/dist/collection/components/eds-icons/eds-icon-start/eds-icon-start.js +1 -1
  132. package/dist/collection/components/eds-icons/eds-icon-success/eds-icon-success.js +1 -1
  133. package/dist/collection/components/eds-icons/eds-icon-thumbs-down/eds-icon-thumbs-down.js +1 -1
  134. package/dist/collection/components/eds-icons/eds-icon-thumbs-up/eds-icon-thumbs-up.js +1 -1
  135. package/dist/collection/components/eds-icons/eds-icon-tutorial/eds-icon-tutorial.js +1 -1
  136. package/dist/collection/components/eds-icons/eds-icon-unknown/eds-icon-unknown.js +1 -1
  137. package/dist/collection/components/eds-icons/eds-icon-updown/eds-icon-updown.js +1 -1
  138. package/dist/collection/components/eds-icons/eds-icon-user/eds-icon-user.js +1 -1
  139. package/dist/collection/components/eds-icons/eds-icon-view/eds-icon-view.js +1 -1
  140. package/dist/collection/components/eds-icons/social/eds-icon-bluesky/eds-icon-bluesky.js +1 -1
  141. package/dist/collection/components/eds-icons/social/eds-icon-facebook/eds-icon-facebook.js +1 -1
  142. package/dist/collection/components/eds-icons/social/eds-icon-linkedin/eds-icon-linkedin.js +1 -1
  143. package/dist/collection/components/eds-icons/social/eds-icon-mastodon/eds-icon-mastodon.js +1 -1
  144. package/dist/collection/components/eds-icons/social/eds-icon-twitter/eds-icon-twitter.js +1 -1
  145. package/dist/collection/components/eds-icons/social/eds-icon-youtube/eds-icon-youtube.js +1 -1
  146. package/dist/collection/components/eds-img/eds-img.js +2 -2
  147. package/dist/collection/components/eds-input-elements/eds-input/eds-input.js +2 -2
  148. package/dist/collection/components/eds-input-elements/eds-input-footer/eds-input-footer.js +1 -1
  149. package/dist/collection/components/eds-input-elements/eds-input-label/eds-input-label.js +1 -1
  150. package/dist/collection/components/eds-input-elements/eds-input-range/eds-input-range.js +1 -1
  151. package/dist/collection/components/eds-input-elements/eds-input-search/eds-input-search.js +1 -1
  152. package/dist/collection/components/eds-input-elements/eds-input-select/eds-input-select.js +2 -2
  153. package/dist/collection/components/eds-input-field/eds-input-field.js +2 -2
  154. package/dist/collection/components/eds-link/eds-link.js +1 -1
  155. package/dist/collection/components/eds-logo/eds-logo.js +1 -1
  156. package/dist/collection/components/eds-modal/eds-modal.css +41 -22
  157. package/dist/collection/components/eds-modal/eds-modal.js +2 -2
  158. package/dist/collection/components/eds-nps/eds-nps.js +4 -4
  159. package/dist/collection/components/eds-pagination/eds-pagination.css +12 -0
  160. package/dist/collection/components/eds-pagination/eds-pagination.js +2 -2
  161. package/dist/collection/components/eds-progress-bar/eds-progress-bar.js +1 -1
  162. package/dist/collection/components/eds-rating/eds-rating.js +2 -2
  163. package/dist/collection/components/eds-section/eds-section-core/eds-section-core.js +1 -1
  164. package/dist/collection/components/eds-section/eds-section-heading/eds-section-heading.js +2 -2
  165. package/dist/collection/components/eds-spinner/eds-spinner.js +1 -1
  166. package/dist/collection/components/eds-switch/eds-switch.js +2 -2
  167. package/dist/collection/components/eds-table/eds-table.css +4 -0
  168. package/dist/collection/components/eds-table/eds-table.js +8 -6
  169. package/dist/collection/components/eds-tag/eds-tag.js +3 -3
  170. package/dist/collection/components/eds-timeline/eds-timeline.js +1 -1
  171. package/dist/collection/components/eds-tooltip/eds-tooltip.css +5 -0
  172. package/dist/collection/components/eds-tooltip/eds-tooltip.js +2 -2
  173. package/dist/collection/components/eds-trl/eds-trl.js +1 -1
  174. package/dist/collection/eds-docs-ui/colors/color-palette/primary.js +1 -1
  175. package/dist/collection/eds-docs-ui/colors/color-palette/secondary.js +1 -1
  176. package/dist/collection/eds-docs-ui/colors/color-palette/support.js +1 -1
  177. package/dist/collection/eds-docs-ui/colors/gradient-palette/primary.js +1 -1
  178. package/dist/collection/eds-docs-ui/colors/gradient-palette/secondary.js +7 -7
  179. package/dist/collection/eds-docs-ui/colors/gradient-palette/support.js +3 -3
  180. package/dist/collection/eds-docs-ui/colors/use-of-colors/correct-use-of-colors.js +1 -1
  181. package/dist/collection/eds-docs-ui/colors/use-of-colors/incorrect-use-of-colors.js +1 -1
  182. package/dist/collection/eds-docs-ui/components-section/components-section.js +1 -1
  183. package/dist/collection/eds-docs-ui/components-section/functional/overview.js +1 -1
  184. package/dist/collection/eds-docs-ui/design-tokens/docs-tokens/docs-tokens.js +1 -1
  185. package/dist/collection/eds-docs-ui/design-tokens/token-list/token-list.js +1 -1
  186. package/dist/collection/eds-docs-ui/design-tokens/token-radii/token-radii.js +1 -1
  187. package/dist/collection/eds-docs-ui/design-tokens/token-ratios/token-ratios.js +1 -1
  188. package/dist/collection/eds-docs-ui/design-tokens/token-shadows/token-shadows.js +1 -1
  189. package/dist/collection/eds-docs-ui/design-tokens/token-spacing/token-spacing.js +1 -1
  190. package/dist/collection/eds-docs-ui/design-tokens/token-typography/token-typography.js +1 -1
  191. package/dist/collection/eds-docs-ui/docs-palettes/docs-palettes.js +1 -1
  192. package/dist/collection/eds-docs-ui/logo/logo-space/logo-space.js +1 -1
  193. package/dist/collection/eds-docs-ui/logo/logo-variations/horizontal/logo-variations-horizontal.js +1 -1
  194. package/dist/collection/eds-docs-ui/logo/logo-variations/vertical/logo-variations-vertical.js +1 -1
  195. package/dist/collection/eds-docs-ui/logo/logo-variations-tabs/logo-variations.js +1 -1
  196. package/dist/collection/eds-docs-ui/logo/logo-wrong-usage/logo-wrong-usage.js +1 -1
  197. package/dist/collection/eds-docs-ui/svg-repository/svg-repository.js +1 -1
  198. package/dist/collection/shared-ui/eds-card-section/eds-card-section.js +1 -1
  199. package/dist/collection/shared-ui/eds-cookies-preference/eds-cookies-preference.js +1 -1
  200. package/dist/collection/shared-ui/eds-feedback/eds-feedback.js +1 -1
  201. package/dist/collection/shared-ui/eds-footer/eds-footer.js +7 -6
  202. package/dist/collection/shared-ui/eds-form/eds-form.css +72 -0
  203. package/dist/collection/shared-ui/eds-form/eds-form.js +128 -7
  204. package/dist/collection/shared-ui/eds-form/eds-form.stories.js +32 -3
  205. package/dist/collection/shared-ui/eds-frame/eds-frame.js +1 -1
  206. package/dist/collection/shared-ui/eds-fullscreen-menu/eds-fullscreen-menu.js +50 -16
  207. package/dist/collection/shared-ui/eds-global-search/eds-global-search.css +222 -0
  208. package/dist/collection/shared-ui/eds-global-search/eds-global-search.js +309 -0
  209. package/dist/collection/shared-ui/eds-global-search/eds-global-search.stories.js +277 -0
  210. package/dist/collection/shared-ui/eds-header/eds-header.js +1 -1
  211. package/dist/collection/shared-ui/eds-matomo-notice/eds-matomo-notice.js +20 -8
  212. package/dist/collection/shared-ui/eds-social-networks/eds-social-networks.css +0 -20
  213. package/dist/collection/shared-ui/eds-social-networks/eds-social-networks.js +1 -3
  214. package/dist/collection/shared-ui/eds-social-networks/eds-social-networks.stories.js +6 -7
  215. package/dist/collection/shared-ui/eds-steps/eds-steps.css +138 -92
  216. package/dist/collection/shared-ui/eds-steps/eds-steps.js +265 -40
  217. package/dist/collection/shared-ui/eds-steps/eds-steps.stories.js +71 -7
  218. package/dist/collection/shared-ui/eds-steps-v2/eds-steps-v2.css +47 -34
  219. package/dist/collection/shared-ui/eds-steps-v2/eds-steps-v2.js +227 -19
  220. package/dist/collection/shared-ui/eds-steps-v2/eds-steps-v2.stories.js +65 -4
  221. package/dist/collection/shared-ui/eds-tabs/eds-tabs.js +2 -2
  222. package/dist/collection/shared-ui/eds-toast-manager/eds-toast-manager.js +1 -1
  223. package/dist/collection/shared-ui/eds-user/eds-user.js +82 -1
  224. package/dist/collection/shared-ui/examples/eds-app-root/eds-app-root.js +1 -1
  225. package/dist/collection/utils/eds-form/formValidators.js +4 -3
  226. package/dist/components/components-section.js +3 -5
  227. package/dist/components/components.css +3 -3
  228. package/dist/components/components.esm.js +1 -1
  229. package/dist/components/correct-use-of-colors.js +1 -1
  230. package/dist/components/docs-palettes.js +1 -1
  231. package/dist/components/docs-tokens.js +1 -1
  232. package/dist/components/download.js +18 -0
  233. package/dist/components/eds-accordion2.js +2 -2
  234. package/dist/components/eds-alert2.js +2 -2
  235. package/dist/components/eds-app-root.js +1 -1
  236. package/dist/components/eds-avatar2.js +1 -1
  237. package/dist/components/eds-block-break2.js +1 -1
  238. package/dist/components/eds-breadcrumb.js +1 -1
  239. package/dist/components/eds-button2.js +1 -1
  240. package/dist/components/eds-card-desc2.js +1 -1
  241. package/dist/components/eds-card-generic2.js +2 -2
  242. package/dist/components/eds-card-project.js +1 -1
  243. package/dist/components/eds-card-section.js +1 -1
  244. package/dist/components/eds-card-tags.js +1 -1
  245. package/dist/components/eds-card-title2.js +1 -1
  246. package/dist/components/eds-card-tool.js +1 -1
  247. package/dist/components/eds-code-block2.js +1 -1
  248. package/dist/components/eds-cookies-preference.js +1 -1
  249. package/dist/components/eds-dropdown2.js +53 -7
  250. package/dist/components/eds-feedback.js +1 -1
  251. package/dist/components/eds-footer2.js +2 -4
  252. package/dist/components/eds-form.js +61 -11
  253. package/dist/components/eds-frame.js +1 -1
  254. package/dist/components/eds-fullscreen-menu.js +8 -3
  255. package/dist/components/eds-gauge.js +1 -1
  256. package/dist/components/eds-global-search.d.ts +11 -0
  257. package/dist/components/eds-global-search.js +262 -0
  258. package/dist/components/eds-header.js +1 -1
  259. package/dist/components/eds-icon-arrow-diagonal.js +1 -1
  260. package/dist/components/eds-icon-arrow-right.js +1 -1
  261. package/dist/components/eds-icon-bin.js +1 -1
  262. package/dist/components/eds-icon-bluesky.js +1 -1
  263. package/dist/components/eds-icon-bookmark.js +1 -1
  264. package/dist/components/eds-icon-chevron-down.js +1 -1
  265. package/dist/components/eds-icon-chevron-left.js +1 -1
  266. package/dist/components/eds-icon-chevron-right.js +1 -1
  267. package/dist/components/eds-icon-chevron-up.js +1 -1
  268. package/dist/components/eds-icon-clone.js +1 -1
  269. package/dist/components/eds-icon-close.js +1 -1
  270. package/dist/components/eds-icon-copy.js +1 -1
  271. package/dist/components/eds-icon-download.d.ts +11 -0
  272. package/dist/components/eds-icon-download.js +33 -0
  273. package/dist/components/eds-icon-draft.js +1 -1
  274. package/dist/components/eds-icon-edit.js +1 -1
  275. package/dist/components/eds-icon-eu.js +1 -1
  276. package/dist/components/eds-icon-external.js +1 -1
  277. package/dist/components/eds-icon-facebook.js +1 -1
  278. package/dist/components/eds-icon-gitlab.js +1 -1
  279. package/dist/components/eds-icon-linkedin.js +1 -1
  280. package/dist/components/eds-icon-loader.js +1 -1
  281. package/dist/components/eds-icon-mastodon.js +1 -1
  282. package/dist/components/eds-icon-menu.js +1 -1
  283. package/dist/components/eds-icon-minus.js +1 -1
  284. package/dist/components/eds-icon-more.js +1 -1
  285. package/dist/components/eds-icon-paper.js +1 -1
  286. package/dist/components/eds-icon-plus.js +1 -1
  287. package/dist/components/eds-icon-portal.js +1 -1
  288. package/dist/components/eds-icon-private.js +1 -1
  289. package/dist/components/eds-icon-public.js +1 -1
  290. package/dist/components/eds-icon-search.js +1 -1
  291. package/dist/components/eds-icon-star.js +1 -1
  292. package/dist/components/eds-icon-start.js +1 -1
  293. package/dist/components/eds-icon-success.js +1 -1
  294. package/dist/components/eds-icon-thumbs-down.js +1 -1
  295. package/dist/components/eds-icon-thumbs-up.js +1 -1
  296. package/dist/components/eds-icon-tutorial.js +1 -1
  297. package/dist/components/eds-icon-twitter.js +1 -1
  298. package/dist/components/eds-icon-unknown.js +1 -1
  299. package/dist/components/eds-icon-updown.js +1 -1
  300. package/dist/components/eds-icon-user.js +1 -1
  301. package/dist/components/eds-icon-view.js +1 -1
  302. package/dist/components/eds-icon-youtube.js +1 -1
  303. package/dist/components/eds-img2.js +2 -2
  304. package/dist/components/eds-input-field2.js +2 -2
  305. package/dist/components/eds-input-footer2.js +1 -1
  306. package/dist/components/eds-input-label2.js +1 -1
  307. package/dist/components/eds-input-range2.js +1 -1
  308. package/dist/components/eds-input-search2.js +1 -1
  309. package/dist/components/eds-input-select2.js +2 -2
  310. package/dist/components/eds-input2.js +2 -2
  311. package/dist/components/eds-link2.js +1 -1
  312. package/dist/components/eds-logo2.js +1 -1
  313. package/dist/components/eds-modal.js +3 -3
  314. package/dist/components/eds-nps2.js +4 -4
  315. package/dist/components/eds-pagination2.js +3 -3
  316. package/dist/components/eds-progress-bar2.js +1 -1
  317. package/dist/components/eds-rating2.js +2 -2
  318. package/dist/components/eds-section-core2.js +1 -1
  319. package/dist/components/eds-section-heading2.js +2 -2
  320. package/dist/components/eds-social-networks2.js +2 -4
  321. package/dist/components/eds-spinner2.js +1 -1
  322. package/dist/components/eds-steps-v2.js +67 -13
  323. package/dist/components/eds-steps2.js +85 -35
  324. package/dist/components/eds-switch.js +2 -2
  325. package/dist/components/eds-table2.js +36 -28
  326. package/dist/components/eds-tabs.js +2 -2
  327. package/dist/components/eds-tag2.js +1 -1
  328. package/dist/components/eds-timeline.js +1 -1
  329. package/dist/components/eds-toast-manager.js +1 -1
  330. package/dist/components/eds-tooltip.js +1 -50
  331. package/dist/components/eds-tooltip2.js +52 -0
  332. package/dist/components/eds-trl.js +33 -27
  333. package/dist/components/eds-user.js +20 -2
  334. package/dist/components/incorrect-use-of-colors.js +1 -1
  335. package/dist/components/logo-space.js +31 -25
  336. package/dist/components/logo-variations-horizontal2.js +1 -1
  337. package/dist/components/logo-variations-tabs.js +1 -1
  338. package/dist/components/logo-variations-vertical2.js +1 -1
  339. package/dist/components/logo-wrong-usage.js +1 -1
  340. package/dist/components/p-03714413.entry.js +1 -0
  341. package/dist/components/{p-67ec46b4.entry.js → p-06428b6c.entry.js} +1 -1
  342. package/dist/components/{p-7a3f2576.entry.js → p-067a184b.entry.js} +1 -1
  343. package/dist/components/p-097665cb.entry.js +1 -0
  344. package/dist/components/p-09f1b358.entry.js +1 -0
  345. package/dist/components/p-0da7d1c9.js +1 -0
  346. package/dist/components/p-1297d926.entry.js +1 -0
  347. package/dist/components/p-1928711b.entry.js +1 -0
  348. package/dist/components/{p-2ef4dd11.entry.js → p-1fad228f.entry.js} +1 -1
  349. package/dist/components/p-204f97de.entry.js +1 -0
  350. package/dist/components/p-20e385b8.entry.js +1 -0
  351. package/dist/components/{p-8627afc0.entry.js → p-219842c0.entry.js} +1 -1
  352. package/dist/components/p-21b5ca1f.entry.js +1 -0
  353. package/dist/components/{p-efbc374c.js → p-271c61ff.js} +1 -1
  354. package/dist/components/p-290b3d61.entry.js +1 -0
  355. package/dist/components/p-2db9f80a.entry.js +1 -0
  356. package/dist/components/p-354857a8.entry.js +1 -0
  357. package/dist/components/p-37a3d3ba.entry.js +1 -0
  358. package/dist/components/p-3a295312.entry.js +1 -0
  359. package/dist/components/p-3ff1f198.entry.js +1 -0
  360. package/dist/components/p-404b4dec.entry.js +1 -0
  361. package/dist/components/p-422c08a9.entry.js +1 -0
  362. package/dist/components/p-44cc0966.entry.js +1 -0
  363. package/dist/components/p-473aeaa0.entry.js +1 -0
  364. package/dist/components/p-4b2d40d4.entry.js +1 -0
  365. package/dist/components/{p-d1927da7.entry.js → p-4beb1e06.entry.js} +1 -1
  366. package/dist/components/p-4faa0047.entry.js +1 -0
  367. package/dist/components/p-552125e3.entry.js +1 -0
  368. package/dist/components/p-5db8003b.entry.js +1 -0
  369. package/dist/components/p-5ea2afdf.entry.js +1 -0
  370. package/dist/components/p-5f2bb217.entry.js +1 -0
  371. package/dist/components/p-65d1c8e9.entry.js +1 -0
  372. package/dist/components/p-67823a16.entry.js +1 -0
  373. package/dist/components/p-69db1210.entry.js +1 -0
  374. package/dist/components/p-701dc6d8.entry.js +1 -0
  375. package/dist/components/{p-e5892379.entry.js → p-71e9b1e9.entry.js} +1 -1
  376. package/dist/components/p-71f4afdf.entry.js +1 -0
  377. package/dist/components/p-73daee37.entry.js +1 -0
  378. package/dist/components/p-77143afc.entry.js +1 -0
  379. package/dist/components/p-7a137d91.entry.js +1 -0
  380. package/dist/components/p-7a34b267.entry.js +1 -0
  381. package/dist/components/{p-b31babda.entry.js → p-7ada2015.entry.js} +1 -1
  382. package/dist/components/p-81cce4f8.entry.js +1 -0
  383. package/dist/components/{p-d2e485a1.entry.js → p-83dde536.entry.js} +1 -1
  384. package/dist/components/p-84a04d37.entry.js +1 -0
  385. package/dist/components/p-8d66718e.entry.js +1 -0
  386. package/dist/components/p-9154e892.entry.js +1 -0
  387. package/dist/components/{p-5f348b0e.entry.js → p-9385c5fd.entry.js} +1 -1
  388. package/dist/components/p-98501e25.entry.js +1 -0
  389. package/dist/components/p-98d79948.entry.js +1 -0
  390. package/dist/components/p-9992fbdb.entry.js +1 -0
  391. package/dist/components/{p-b88a2267.entry.js → p-9c68934f.entry.js} +1 -1
  392. package/dist/components/{p-b9a1aba3.entry.js → p-a258d382.entry.js} +1 -1
  393. package/dist/components/p-a82fc224.entry.js +1 -0
  394. package/dist/components/p-ad0519b7.entry.js +1 -0
  395. package/dist/components/p-b15b11de.entry.js +9 -0
  396. package/dist/components/p-b56a3fc9.entry.js +1 -0
  397. package/dist/components/{p-09079c5c.entry.js → p-b9b6ac74.entry.js} +1 -1
  398. package/dist/components/p-b9bd1209.entry.js +1 -0
  399. package/dist/components/{p-9c1c5e8d.entry.js → p-bce8a58d.entry.js} +1 -1
  400. package/dist/components/{p-2e0c3fc4.entry.js → p-c12b0af1.entry.js} +1 -1
  401. package/dist/components/{p-265150a1.entry.js → p-c51b90c2.entry.js} +1 -1
  402. package/dist/components/{p-d95d7353.entry.js → p-c5d6c2a5.entry.js} +1 -1
  403. package/dist/components/p-c6f5d9df.entry.js +1 -0
  404. package/dist/components/p-c770c97b.entry.js +1 -0
  405. package/dist/components/{p-706a106c.entry.js → p-c8cba3a9.entry.js} +1 -1
  406. package/dist/components/{p-64b7a6fc.entry.js → p-ca91952b.entry.js} +1 -1
  407. package/dist/components/p-cba7d276.entry.js +1 -0
  408. package/dist/components/p-cffb13fa.entry.js +1 -0
  409. package/dist/components/p-d3cbc8f9.entry.js +1 -0
  410. package/dist/components/{p-743f9f8f.entry.js → p-d650c6c3.entry.js} +1 -1
  411. package/dist/components/p-d6a6879c.entry.js +1 -0
  412. package/dist/components/p-d9e02227.entry.js +1 -0
  413. package/dist/components/{p-79afd8aa.entry.js → p-da96c7cd.entry.js} +1 -1
  414. package/dist/components/{p-e210ddbb.entry.js → p-dd34feaa.entry.js} +1 -1
  415. package/dist/components/p-df18ffd1.entry.js +1 -0
  416. package/dist/components/p-e3b89fab.entry.js +1 -0
  417. package/dist/components/p-e696531f.entry.js +1 -0
  418. package/dist/components/{p-4c84fcf4.entry.js → p-e7b7179f.entry.js} +1 -1
  419. package/dist/components/p-e8bc4649.entry.js +1 -0
  420. package/dist/components/p-ef86f330.entry.js +1 -0
  421. package/dist/components/p-f5470900.entry.js +1 -0
  422. package/dist/components/p-ff433e09.entry.js +1 -0
  423. package/dist/components/primary.js +1 -1
  424. package/dist/components/primary2.js +1 -1
  425. package/dist/components/secondary.js +1 -1
  426. package/dist/components/secondary2.js +7 -7
  427. package/dist/components/support.js +1 -1
  428. package/dist/components/support2.js +3 -3
  429. package/dist/components/svg-repository.js +32 -42
  430. package/dist/components/token-list2.js +1 -1
  431. package/dist/components/token-radii2.js +1 -1
  432. package/dist/components/token-ratios.js +1 -1
  433. package/dist/components/token-shadows2.js +1 -1
  434. package/dist/components/token-spacing.js +1 -1
  435. package/dist/components/token-typography.js +1 -1
  436. package/dist/esm/color-primary-palette_6.entry.js +15 -15
  437. package/dist/esm/components-section.entry.js +4 -6
  438. package/dist/esm/components.js +3 -3
  439. package/dist/esm/correct-use-of-colors.entry.js +2 -2
  440. package/dist/esm/docs-palettes.entry.js +2 -2
  441. package/dist/esm/docs-tokens.entry.js +2 -2
  442. package/dist/esm/download-47746956.js +18 -0
  443. package/dist/esm/{eds-accordion_33.entry.js → eds-accordion_36.entry.js} +588 -111
  444. package/dist/esm/eds-app-root.entry.js +2 -2
  445. package/dist/esm/eds-card-desc_2.entry.js +3 -3
  446. package/dist/esm/eds-card-generic.entry.js +3 -3
  447. package/dist/esm/eds-card-project.entry.js +2 -2
  448. package/dist/esm/eds-card-section.entry.js +2 -2
  449. package/dist/esm/eds-card-tags.entry.js +2 -2
  450. package/dist/esm/eds-card-tool.entry.js +2 -2
  451. package/dist/esm/eds-cookies-preference.entry.js +2 -2
  452. package/dist/esm/eds-feedback.entry.js +2 -2
  453. package/dist/esm/eds-footer.entry.js +3 -5
  454. package/dist/esm/eds-frame.entry.js +2 -2
  455. package/dist/esm/eds-fullscreen-menu.entry.js +9 -4
  456. package/dist/esm/eds-gauge.entry.js +2 -2
  457. package/dist/esm/eds-icon-arrow-diagonal.entry.js +2 -2
  458. package/dist/esm/eds-icon-arrow-right.entry.js +2 -2
  459. package/dist/esm/eds-icon-bin.entry.js +2 -2
  460. package/dist/esm/eds-icon-bluesky.entry.js +2 -2
  461. package/dist/esm/eds-icon-bookmark.entry.js +2 -2
  462. package/dist/esm/eds-icon-chevron-down.entry.js +2 -2
  463. package/dist/esm/eds-icon-chevron-left.entry.js +2 -2
  464. package/dist/esm/eds-icon-chevron-right.entry.js +2 -2
  465. package/dist/esm/eds-icon-chevron-up.entry.js +2 -2
  466. package/dist/esm/eds-icon-clone.entry.js +2 -2
  467. package/dist/esm/eds-icon-close.entry.js +2 -2
  468. package/dist/esm/eds-icon-copy.entry.js +2 -2
  469. package/dist/esm/eds-icon-download.entry.js +14 -0
  470. package/dist/esm/eds-icon-draft.entry.js +2 -2
  471. package/dist/esm/eds-icon-edit.entry.js +2 -2
  472. package/dist/esm/eds-icon-eu.entry.js +2 -2
  473. package/dist/esm/eds-icon-external.entry.js +2 -2
  474. package/dist/esm/eds-icon-facebook.entry.js +2 -2
  475. package/dist/esm/eds-icon-gitlab.entry.js +2 -2
  476. package/dist/esm/eds-icon-linkedin.entry.js +2 -2
  477. package/dist/esm/eds-icon-loader.entry.js +2 -2
  478. package/dist/esm/eds-icon-mastodon.entry.js +2 -2
  479. package/dist/esm/eds-icon-menu.entry.js +2 -2
  480. package/dist/esm/eds-icon-minus.entry.js +2 -2
  481. package/dist/esm/eds-icon-more.entry.js +2 -2
  482. package/dist/esm/eds-icon-paper.entry.js +2 -2
  483. package/dist/esm/eds-icon-plus.entry.js +2 -2
  484. package/dist/esm/eds-icon-portal.entry.js +2 -2
  485. package/dist/esm/eds-icon-private.entry.js +2 -2
  486. package/dist/esm/eds-icon-public.entry.js +2 -2
  487. package/dist/esm/eds-icon-search.entry.js +2 -2
  488. package/dist/esm/eds-icon-star.entry.js +2 -2
  489. package/dist/esm/eds-icon-start.entry.js +2 -2
  490. package/dist/esm/eds-icon-success.entry.js +2 -2
  491. package/dist/esm/eds-icon-thumbs-down.entry.js +2 -2
  492. package/dist/esm/eds-icon-thumbs-up.entry.js +2 -2
  493. package/dist/esm/eds-icon-tutorial.entry.js +2 -2
  494. package/dist/esm/eds-icon-twitter.entry.js +2 -2
  495. package/dist/esm/eds-icon-unknown.entry.js +2 -2
  496. package/dist/esm/eds-icon-updown.entry.js +2 -2
  497. package/dist/esm/eds-icon-user.entry.js +2 -2
  498. package/dist/esm/eds-icon-view.entry.js +2 -2
  499. package/dist/esm/eds-icon-youtube.entry.js +2 -2
  500. package/dist/esm/eds-modal.entry.js +4 -4
  501. package/dist/esm/eds-pie.entry.js +1 -1
  502. package/dist/esm/eds-progress-bar.entry.js +2 -2
  503. package/dist/esm/eds-section-core_2.entry.js +4 -4
  504. package/dist/esm/eds-social-networks.entry.js +3 -5
  505. package/dist/esm/eds-splash-screen.entry.js +1 -1
  506. package/dist/esm/eds-timeline.entry.js +2 -2
  507. package/dist/esm/eds-toast-manager.entry.js +2 -2
  508. package/dist/esm/eds-trl.entry.js +2 -2
  509. package/dist/esm/incorrect-use-of-colors.entry.js +2 -2
  510. package/dist/esm/{index-e84b871c.js → index-870ab08f.js} +8 -11
  511. package/dist/esm/loader.js +3 -3
  512. package/dist/esm/logo-space.entry.js +2 -2
  513. package/dist/esm/logo-variations-horizontal_2.entry.js +3 -3
  514. package/dist/esm/logo-variations-tabs.entry.js +2 -2
  515. package/dist/esm/logo-wrong-usage.entry.js +2 -2
  516. package/dist/esm/svg-repository.entry.js +3 -19
  517. package/dist/esm/token-list_3.entry.js +4 -4
  518. package/dist/esm/token-ratios.entry.js +2 -2
  519. package/dist/esm/token-spacing.entry.js +2 -2
  520. package/dist/esm/token-typography.entry.js +2 -2
  521. package/dist/hydrate/index.js +679 -236
  522. package/dist/hydrate/index.mjs +679 -236
  523. package/dist/types/components/eds-cards/eds-card-generic/eds-card-generic.d.ts +1 -0
  524. package/dist/types/components/eds-dropdown/eds-dropdown.d.ts +27 -6
  525. package/dist/types/components/eds-icons/eds-icon-download/eds-icon-download.d.ts +10 -0
  526. package/dist/types/components/eds-table/eds-table.d.ts +20 -4
  527. package/dist/types/components/eds-tag/eds-tag.d.ts +1 -1
  528. package/dist/types/components.d.ts +455 -55
  529. package/dist/types/shared-ui/eds-footer/eds-footer.d.ts +4 -2
  530. package/dist/types/shared-ui/eds-form/eds-form.d.ts +18 -1
  531. package/dist/types/shared-ui/eds-form/eds-form.stories.d.ts +19 -0
  532. package/dist/types/shared-ui/eds-fullscreen-menu/eds-fullscreen-menu.d.ts +44 -13
  533. package/dist/types/shared-ui/eds-global-search/eds-global-search.d.ts +72 -0
  534. package/dist/types/shared-ui/eds-global-search/eds-global-search.stories.d.ts +40 -0
  535. package/dist/types/shared-ui/eds-matomo-notice/eds-matomo-notice.d.ts +11 -3
  536. package/dist/types/shared-ui/eds-social-networks/eds-social-networks.d.ts +0 -2
  537. package/dist/types/shared-ui/eds-social-networks/eds-social-networks.stories.d.ts +1 -1
  538. package/dist/types/shared-ui/eds-steps/eds-steps.d.ts +73 -24
  539. package/dist/types/shared-ui/eds-steps/eds-steps.stories.d.ts +58 -0
  540. package/dist/types/shared-ui/eds-steps-v2/eds-steps-v2.d.ts +44 -19
  541. package/dist/types/shared-ui/eds-steps-v2/eds-steps-v2.stories.d.ts +33 -0
  542. package/dist/types/shared-ui/eds-user/eds-user.d.ts +9 -0
  543. package/dist/types/types/global.d.ts +11 -0
  544. package/package.json +1 -1
  545. package/dist/cjs/eds-spinner.cjs.entry.js +0 -88
  546. package/dist/cjs/eds-tooltip.cjs.entry.js +0 -38
  547. package/dist/components/p-05654483.entry.js +0 -1
  548. package/dist/components/p-10997947.entry.js +0 -1
  549. package/dist/components/p-19e69c03.entry.js +0 -1
  550. package/dist/components/p-1ab1ea29.entry.js +0 -1
  551. package/dist/components/p-1bcf743d.entry.js +0 -1
  552. package/dist/components/p-1d18106d.entry.js +0 -1
  553. package/dist/components/p-3360e1e2.entry.js +0 -1
  554. package/dist/components/p-38bc21e9.entry.js +0 -1
  555. package/dist/components/p-3b29e0fd.entry.js +0 -1
  556. package/dist/components/p-42457a0f.entry.js +0 -1
  557. package/dist/components/p-4a6a72db.entry.js +0 -1
  558. package/dist/components/p-4b33909d.entry.js +0 -1
  559. package/dist/components/p-4bf4bc93.entry.js +0 -1
  560. package/dist/components/p-5367bb59.entry.js +0 -1
  561. package/dist/components/p-547a53d6.entry.js +0 -1
  562. package/dist/components/p-560fc3a4.entry.js +0 -1
  563. package/dist/components/p-5a58f1c1.entry.js +0 -1
  564. package/dist/components/p-5b55f951.entry.js +0 -1
  565. package/dist/components/p-5ba49cf2.entry.js +0 -1
  566. package/dist/components/p-5dd85979.entry.js +0 -1
  567. package/dist/components/p-634b6ca2.entry.js +0 -1
  568. package/dist/components/p-6614881d.entry.js +0 -1
  569. package/dist/components/p-6b988c76.entry.js +0 -1
  570. package/dist/components/p-6cd6ff0c.entry.js +0 -1
  571. package/dist/components/p-71ee4af2.entry.js +0 -1
  572. package/dist/components/p-789f54cb.entry.js +0 -1
  573. package/dist/components/p-7a5623b5.entry.js +0 -1
  574. package/dist/components/p-7ca6db64.entry.js +0 -1
  575. package/dist/components/p-7fa46b01.entry.js +0 -1
  576. package/dist/components/p-86eff0cb.entry.js +0 -1
  577. package/dist/components/p-89048f87.entry.js +0 -1
  578. package/dist/components/p-8cf98230.entry.js +0 -1
  579. package/dist/components/p-8d363a3c.entry.js +0 -1
  580. package/dist/components/p-9261d27c.entry.js +0 -1
  581. package/dist/components/p-97323c46.entry.js +0 -1
  582. package/dist/components/p-9b90296c.entry.js +0 -1
  583. package/dist/components/p-9cb14b1f.entry.js +0 -1
  584. package/dist/components/p-9f0a34b4.entry.js +0 -1
  585. package/dist/components/p-a8ca8346.entry.js +0 -1
  586. package/dist/components/p-ab3b0a53.entry.js +0 -1
  587. package/dist/components/p-b0d38b78.entry.js +0 -1
  588. package/dist/components/p-b6ee4250.entry.js +0 -1
  589. package/dist/components/p-b9fdcb1b.entry.js +0 -1
  590. package/dist/components/p-ba9f41de.entry.js +0 -1
  591. package/dist/components/p-beacaa4f.entry.js +0 -1
  592. package/dist/components/p-bfa23535.entry.js +0 -1
  593. package/dist/components/p-c4ac0528.entry.js +0 -1
  594. package/dist/components/p-cb114bf4.entry.js +0 -1
  595. package/dist/components/p-cd05a97b.entry.js +0 -1
  596. package/dist/components/p-cd787744.entry.js +0 -1
  597. package/dist/components/p-cdc1c8e8.entry.js +0 -1
  598. package/dist/components/p-d1d1943b.entry.js +0 -1
  599. package/dist/components/p-e0ada7e0.entry.js +0 -1
  600. package/dist/components/p-e8374410.entry.js +0 -1
  601. package/dist/components/p-e90da4ba.entry.js +0 -1
  602. package/dist/components/p-ec706eed.entry.js +0 -1
  603. package/dist/components/p-f32963ff.entry.js +0 -9
  604. package/dist/components/p-f40dd50d.entry.js +0 -1
  605. package/dist/components/p-f6012c17.entry.js +0 -1
  606. package/dist/components/p-fcba31fa.entry.js +0 -1
  607. package/dist/esm/eds-spinner.entry.js +0 -84
  608. package/dist/esm/eds-tooltip.entry.js +0 -34
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-0249a32e.js');
5
+ const index = require('./index-50bc1aa4.js');
6
6
  const analytics = require('./analytics-28713bf7.js');
7
7
  const index$1 = require('./index-ab9fbefe.js');
8
8
  const sharedUtils = require('./sharedUtils-8e287250.js');
@@ -79,10 +79,10 @@ const EdsAccordion = class {
79
79
  * Adjusts styles based on `switchBg`, `tiny`, `clampText`, and other props.
80
80
  */
81
81
  render() {
82
- return (index.h("div", { key: '1abfd8bfea763bc10e6f17148dbc252d0c3ffdea', ref: (el) => (this.wrapperRef = el), class: `flex effect-color border-softer relative grid overflow-hidden rounded-lg border-2 p-16
82
+ return (index.h("div", { key: 'd162692cb9a99b6a1b9b736b828214c9d425046e', ref: (el) => (this.wrapperRef = el), class: `flex effect-color border-softer relative grid overflow-hidden rounded-lg border-2 p-16
83
83
  ${this.switchBg && this.isExpanded ? 'bg-inverse' : 'bg-default'}
84
84
  ${this.switchBg ? 'hover:bg-inverse' : ''}
85
- ${this.description ? 'min-h-56' : ''}` }, index.h("h3", { key: '137a3311195d51f46c6677558219828e5f4d06b5', ref: (el) => (this.headerRef = el), class: "mr-auto f-heading-06 text-left absolute inset-x-16 break-words top-16 pr-40" }, this.heading), index.h("div", { key: '0fc6d493fd61726a53a8c4311bd183eb3ad5b270', class: "ml-auto" }, index.h("eds-button", { key: 'cb8182e05c5c11950c0e624ce6b11e27a4d506ab', id: "toggleAccordion", intent: this.buttonIntent, "aria-expanded": this.isExpanded || this.shortContent, "aria-label": "Toggle accordion", "aria-controls": "accordionSection", class: `effect-color flex w-full items-center justify-between rounded-md`, onClick: this.handleClick, icon: "chevron-down" })), index.h("div", { key: '084bfb116dcccadf7253ca8ac8de6a1e1d4aa41f', class: `w-full`, style: Number.isFinite(this.headerHeight) ? { marginTop: `${this.headerHeight}px` } : {} }, this.description ? (index.h("span", { class: `text-light ${!this.isExpanded && this.clampText ? 'line-clamp-1' : ''}` }, this.description)) : null, index.h("section", { key: 'c332a210fa4ce90f1974098ff790a7600dfb1721', id: "accordionSection", "aria-labelledby": "accordionHeader", "aria-hidden": !this.isExpanded, class: `z-1 effect-height relative h-0 w-full ${!this.isExpanded && this.clampText ? 'overflow-hidden' : ''}`, style: { height: this.isExpanded ? 'auto' : '0' } }, index.h("div", { key: '842bc3bc7a968ef5a428a97327f38253e8a32888', ref: (el) => (this.childContentRef = el), class: `accordion-content effect-color pt-4`, "aria-hidden": !this.isExpanded }, index.h("span", { key: '7c8fa8040da18cc2c128b42cdf9e75bfffe4c439', class: `${!this.isExpanded && this.clampText ? 'line-clamp-2' : ''}` }, index.h("slot", { key: '852837c0c8c9d8a36f6263f7a943f50d82563a3c' })))))));
85
+ ${this.description ? 'min-h-56' : ''}` }, index.h("h3", { key: '3770e241daa7e4696c5481c97965fb2ebe0b17f9', ref: (el) => (this.headerRef = el), class: "mr-auto f-heading-06 text-left absolute inset-x-16 break-words top-16 pr-40" }, this.heading), index.h("div", { key: '56b7b70d16cf3f944bf3cec878bd15c3e18b399b', class: "ml-auto" }, index.h("eds-button", { key: '4b770831f155f7e77a424b9dd3ec0a8708a0859f', id: "toggleAccordion", intent: this.buttonIntent, "aria-expanded": this.isExpanded || this.shortContent, "aria-label": "Toggle accordion", "aria-controls": "accordionSection", class: `effect-color flex w-full items-center justify-between rounded-md`, onClick: this.handleClick, icon: "chevron-down" })), index.h("div", { key: 'c75c4d840bc8be25ee7590d90e3290faf090fdf0', class: `w-full`, style: Number.isFinite(this.headerHeight) ? { marginTop: `${this.headerHeight}px` } : {} }, this.description ? (index.h("span", { class: `text-light ${!this.isExpanded && this.clampText ? 'line-clamp-1' : ''}` }, this.description)) : null, index.h("section", { key: 'b78b8f7fa93a85c886136cac8119d7b94de2a129', id: "accordionSection", "aria-labelledby": "accordionHeader", "aria-hidden": !this.isExpanded, class: `z-1 effect-height relative h-0 w-full ${!this.isExpanded && this.clampText ? 'overflow-hidden' : ''}`, style: { height: this.isExpanded ? 'auto' : '0' } }, index.h("div", { key: '75ba9a9a7082b4ded3dacd6cbaa9ceb3688c5045', ref: (el) => (this.childContentRef = el), class: `accordion-content effect-color pt-4`, "aria-hidden": !this.isExpanded }, index.h("span", { key: 'e08cefc1d6fe7f3d162de86a17646d88a8686d83', class: `${!this.isExpanded && this.clampText ? 'line-clamp-2' : ''}` }, index.h("slot", { key: '77d3a7fb997a9f313e3013a17f87c28f7ff8adad' })))))));
86
86
  }
87
87
  get el() { return index.getElement(this); }
88
88
  };
@@ -183,12 +183,12 @@ const EdsAlert = class {
183
183
  }
184
184
  render() {
185
185
  const ariaLabel = this.intent !== 'default' ? `${this.intent} alert` : 'alert';
186
- return (index.h("div", { key: '2d22944e7ae86cf2523c194e20215a3d986083d9', class: alertStyles({
186
+ return (index.h("div", { key: '33781ae5fb8504158e8fe780a76d89566a39e914', class: alertStyles({
187
187
  intent: this.intent,
188
188
  brd: this.brd,
189
189
  direction: this.direction,
190
190
  withBtn: this.withBtn
191
- }), role: "alert", "aria-label": ariaLabel, "aria-live": this.intent === 'error' ? 'assertive' : 'polite', "aria-labelledby": "alert-message", "aria-describedby": this.withBtn ? 'alert-action' : undefined }, index.h("p", { key: 'b6c22446b0d87fb01a3cb882fe205ef48ea60b05', id: "alert-message", class: "f-ui-01 py-8", innerHTML: this.message }), this.withBtn && (index.h("div", { key: '8414820eb7b65c83459cfb90adef3ea696e42444', id: "alert-action" }, this.pressableUrl ? (index.h("eds-link", { class: "eds-alert-link", label: this.pressableLabel, url: this.pressableUrl, intent: "secondary", external: true })) : (index.h("eds-button", { class: "eds-alert-button", label: this.pressableLabel, intent: "secondary", onClick: () => this.handleAction() }))))));
191
+ }), role: "alert", "aria-label": ariaLabel, "aria-live": this.intent === 'error' ? 'assertive' : 'polite', "aria-labelledby": "alert-message", "aria-describedby": this.withBtn ? 'alert-action' : undefined }, index.h("p", { key: 'fb3a1d216279b4076b09ef9544d37c5229b4d706', id: "alert-message", class: "f-ui-01 py-8", innerHTML: this.message }), this.withBtn && (index.h("div", { key: 'a5edd833ae3924f41edb17068090eeeb4e9f9cfd', id: "alert-action" }, this.pressableUrl ? (index.h("eds-link", { class: "eds-alert-link", label: this.pressableLabel, url: this.pressableUrl, intent: "secondary", external: true })) : (index.h("eds-button", { class: "eds-alert-button", label: this.pressableLabel, intent: "secondary", onClick: () => this.handleAction() }))))));
192
192
  }
193
193
  get el() { return index.getElement(this); }
194
194
  };
@@ -251,7 +251,7 @@ const EdsAvatar = class {
251
251
  * @returns {JSX.Element} The rendered avatar component.
252
252
  */
253
253
  render() {
254
- return (index.h("div", { key: '34e86e50b1176efd8ae0cd9b30cd3823527d7eee', class: this.containerClasses }, this.picture ? (index.h("eds-img", { src: this.picture, width: 54, height: 54, sizes: "120px", alt: `${this.firstName} ${this.lastName}`, lazyload: true, withBg: true })) : (index.h("abbr", { title: this.computedInitials || `${this.firstName} ${this.lastName}`, class: "!no-underline f-ui-01" }, this.computedInitials))));
254
+ return (index.h("div", { key: 'd29c110e340567236716e77c4f003bec5c70ee63', class: this.containerClasses }, this.picture ? (index.h("eds-img", { src: this.picture, width: 54, height: 54, sizes: "120px", alt: `${this.firstName} ${this.lastName}`, lazyload: true, withBg: true })) : (index.h("abbr", { title: this.computedInitials || `${this.firstName} ${this.lastName}`, class: "!no-underline f-ui-01" }, this.computedInitials))));
255
255
  }
256
256
  };
257
257
  EdsAvatar.style = EdsAvatarStyle0;
@@ -265,7 +265,7 @@ const EdsBlockBreak = class {
265
265
  this.inverse = false;
266
266
  }
267
267
  render() {
268
- return index.h("hr", { key: '688e11c730af1193f28db196cd144c6dd2efc3c6', class: `${this.inverse ? 'border-default' : 'border-softer'} my-16 inline-block w-full border-t-2` });
268
+ return index.h("hr", { key: '0e2ec4b9c8b70ff9b65e6c4f2af42f198b1eb7d0', class: `${this.inverse ? 'border-default' : 'border-softer'} my-16 inline-block w-full border-t-2` });
269
269
  }
270
270
  };
271
271
  EdsBlockBreak.style = EdsBlockBreakStyle0;
@@ -385,7 +385,7 @@ const EdsBreadcrumb = class {
385
385
  */
386
386
  render() {
387
387
  const itemsToRender = this.getTruncatedItems();
388
- return (index.h("nav", { key: '0625a234ec9f5095abbeaafa11e56bceb0432764', "aria-label": "Breadcrumb" }, index.h("ol", { key: '3898a4b048eca6c606a6948b26ec25a608cb908e', class: "flex items-center space-x-2" }, itemsToRender.map((item, index$1) => {
388
+ return (index.h("nav", { key: '27ddf744a07f1b697e549cdc6d2a66f65ebe6386', "aria-label": "Breadcrumb" }, index.h("ol", { key: '43ac089290c0a6f9b3c5cd629def8540966637b8', class: "flex items-center space-x-2" }, itemsToRender.map((item, index$1) => {
389
389
  const isLast = index$1 === itemsToRender.length - 1;
390
390
  return (index.h("li", { class: "flex items-center" }, !item.isHidden ? ((() => {
391
391
  const { fullLabel } = this.getLabels(item, isLast);
@@ -575,7 +575,7 @@ const EdsButton = class {
575
575
  });
576
576
  const ElementType = this.elementType;
577
577
  const isInteractive = !this.disabled && !this.loading;
578
- return (index.h(index.Host, { key: '835cc81d3563abf1b5cb4c21165de1ef726d1e43' }, index.h(ElementType, { key: 'df05b2b2152e707e5fdd6028c5f557097d7e2b04', tabindex: isInteractive ? '0' : '-1', "aria-label": this.label ? undefined : this.ariaLabel, "aria-disabled": this.disabled || this.loading ? 'true' : undefined, "aria-busy": this.loading ? 'true' : undefined, disabled: this.elementType === 'button' ? this.disabled || this.loading : undefined, role: this.elementType === 'a' ? 'button' : undefined, class: `${classes || ''} ${this.extraClass || ''}`, onClick: (event) => this.handleClick(event), onKeyDown: (event) => this.handleKeyDown(event) }, this.label && (index.h("span", { key: '27c7473403e7c1bfd3dfc270151d44dbb639ceb3', class: this.loading ? 'opacity-0' : '', "aria-hidden": this.loading ? 'true' : undefined }, this.label)), this.loading && (index.h("span", { key: 'f52496884816bc299fb76c1afae5e4798bf642d2', class: "absolute inset-0 flex items-center justify-center", "aria-hidden": "true" }, index.h("span", { key: 'd42bf2c229f6956a1e0dbe64aa6c79ad5608ca5c', class: "loader", style: {
578
+ return (index.h(index.Host, { key: 'fe91be3eb9c2a3ece800097392462b3bd76f1264' }, index.h(ElementType, { key: 'aa1d4e0544beff8759d232d0e897ffdbcd584ea5', tabindex: isInteractive ? '0' : '-1', "aria-label": this.label ? undefined : this.ariaLabel, "aria-disabled": this.disabled || this.loading ? 'true' : undefined, "aria-busy": this.loading ? 'true' : undefined, disabled: this.elementType === 'button' ? this.disabled || this.loading : undefined, role: this.elementType === 'a' ? 'button' : undefined, class: `${classes || ''} ${this.extraClass || ''}`, onClick: (event) => this.handleClick(event), onKeyDown: (event) => this.handleKeyDown(event) }, this.label && (index.h("span", { key: '2b55edc1b986950ba03a759cffd7346c8611ac0a', class: this.loading ? 'opacity-0' : '', "aria-hidden": this.loading ? 'true' : undefined }, this.label)), this.loading && (index.h("span", { key: '5b035b8ef848cde63af9a2cc4a3ed72c68e1e03d', class: "absolute inset-0 flex items-center justify-center", "aria-hidden": "true" }, index.h("span", { key: '2746ef996f0835c76c4ef2cbd39103ad4d07c21f', class: "loader", style: {
579
579
  border: `3px solid ${this.intent === 'secondary' ? 'rgba(255, 255, 255, .3)' : 'rgba(0, 0, 0, .3)'}`,
580
580
  borderBottomColor: this.intent === 'secondary' ? '#fff' : '#000'
581
581
  } }))), this.icon ? (index.h("eds-icon-wrapper", { class: `
@@ -3064,7 +3064,7 @@ const EdsCodeBlock = class {
3064
3064
  return this.code; // Fallback if language is not provided or unsupported
3065
3065
  }
3066
3066
  render() {
3067
- return (index.h("div", { key: '3cfaec27c58d05868313150f1a358ff64c8eafbd', class: "relative bg-stronger rounded-sm" }, index.h("div", { key: 'ed91821385f30305348750dbfffec5fdd7b4dbb8', class: "text-inverse flex justify-between items-center p-8" }, this.language ? (index.h("span", { class: "f-ui-03" }, this.language.toUpperCase())) : (index.h("pre", { class: "bg-stronger pl-8", role: "region", "aria-label": "Code block without language" }, index.h("code", { innerHTML: this.getHighlightedCode() }))), index.h("span", { key: '3e419585214883c878a8e84c440dbd29d590002d', "aria-hidden": "true", class: "w-20 h-20 mt-8" }, index.h("eds-icon-wrapper", { key: '051fa9c714d5c077d5d96ec9b92f8a744ec123bc', icon: this.copied ? 'success' : 'copy', onClick: () => this.copyToClipboard() })), index.h("span", { key: '707950ce89cb0c24b1afac42a8801d13659b6bab', class: "sr-only" }, "Copy Code")), this.language && (index.h("pre", { key: '59923dd4c16cfecafffa2edaaac5ef7579c3f128', class: `language-${this.language} bg-stronger pl-8 pb-8`, role: "region", "aria-label": `Code block in ${this.language}` }, index.h("code", { key: '8c708992c04029d71685ad8922383ecdda05ac3c', innerHTML: this.getHighlightedCode() })))));
3067
+ return (index.h("div", { key: '2c5addd195dc8d930db643e95ecc52410dd94052', class: "relative bg-stronger rounded-sm" }, index.h("div", { key: 'aea2d891f9e5d57d4b8390cff4597cb8edd163a1', class: "text-inverse flex justify-between items-center p-8" }, this.language ? (index.h("span", { class: "f-ui-03" }, this.language.toUpperCase())) : (index.h("pre", { class: "bg-stronger pl-8", role: "region", "aria-label": "Code block without language" }, index.h("code", { innerHTML: this.getHighlightedCode() }))), index.h("span", { key: '41e2d463bde145f901eae42dda68091a9a42e3ef', "aria-hidden": "true", class: "w-20 h-20 mt-8" }, index.h("eds-icon-wrapper", { key: '7285b81dd936c770b09b4a36bed8c8ba2a87da99', icon: this.copied ? 'success' : 'copy', onClick: () => this.copyToClipboard() })), index.h("span", { key: 'a12d74735064478480544cc4b5cf14d7b028b1a8', class: "sr-only" }, "Copy Code")), this.language && (index.h("pre", { key: '2fcde4f271059ac98cb3b1b6bffbf4564ccf795b', class: `language-${this.language} bg-stronger pl-8 pb-8`, role: "region", "aria-label": `Code block in ${this.language}` }, index.h("code", { key: '68a8b83f492e7b0eb2916a063e28a4293e6a988f', innerHTML: this.getHighlightedCode() })))));
3068
3068
  }
3069
3069
  get el() { return index.getElement(this); }
3070
3070
  };
@@ -3082,10 +3082,12 @@ const EdsDropdown = class {
3082
3082
  * Toggles the visibility of the dropdown and manages focus.
3083
3083
  */
3084
3084
  this.handleClick = () => {
3085
- var _a;
3085
+ var _a, _b;
3086
3086
  this.isOpen = !this.isOpen;
3087
3087
  if (this.isOpen) {
3088
- this.focusIndex = 0;
3088
+ // refresh focusables each open in case slot changed
3089
+ this.focusableItems = Array.from(((_a = this.panelEl) === null || _a === void 0 ? void 0 : _a.querySelectorAll('a, button, [role="menuitem"]')) || []);
3090
+ this.focusIndex = this.focusableItems.length ? 0 : -1;
3089
3091
  this.focusItem();
3090
3092
  }
3091
3093
  else {
@@ -3096,7 +3098,7 @@ const EdsDropdown = class {
3096
3098
  category: 'ui-component',
3097
3099
  parentContext: null,
3098
3100
  tag: this.host.tagName.toLowerCase(),
3099
- name: ((_a = this.label) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || '',
3101
+ name: ((_b = this.label) === null || _b === void 0 ? void 0 : _b.toLowerCase()) || '',
3100
3102
  action: this.isOpen ? 'expanded' : 'collapsed'
3101
3103
  });
3102
3104
  };
@@ -3108,9 +3110,14 @@ const EdsDropdown = class {
3108
3110
  this.dropdownPos = 'left';
3109
3111
  this.dropdownOffset = true;
3110
3112
  this.intent = 'tertiary';
3113
+ this.autoClose = true;
3114
+ this.noCloseSelector = '[data-dropdown-no-close]';
3111
3115
  this.isOpen = false;
3112
3116
  this.focusIndex = -1;
3113
3117
  }
3118
+ async close() {
3119
+ this.closeDropdown();
3120
+ }
3114
3121
  /**
3115
3122
  * Closes the dropdown when a click occurs outside of it.
3116
3123
  * @param {Event} e - The click event.
@@ -3170,19 +3177,55 @@ const EdsDropdown = class {
3170
3177
  var _a;
3171
3178
  this.focusableItems = Array.from(((_a = this.dropdownContent) === null || _a === void 0 ? void 0 : _a.querySelectorAll('a, button')) || []);
3172
3179
  }
3180
+ handleHostInternalClick(ev) {
3181
+ var _a;
3182
+ if (!this.isOpen || !this.panelEl) {
3183
+ return;
3184
+ }
3185
+ const path = (((_a = ev.composedPath) === null || _a === void 0 ? void 0 : _a.call(ev)) || []);
3186
+ const clickedInsidePanel = path.includes(this.panelEl);
3187
+ if (!clickedInsidePanel) {
3188
+ return;
3189
+ }
3190
+ // Check if element has explicit close attribute
3191
+ const hasCloseAttribute = path.some((t) => {
3192
+ var _a;
3193
+ const n = t;
3194
+ return (_a = n === null || n === void 0 ? void 0 : n.closest) === null || _a === void 0 ? void 0 : _a.call(n, '[data-dropdown-close]');
3195
+ });
3196
+ // If element has data-dropdown-close, always close regardless of autoClose setting
3197
+ if (hasCloseAttribute) {
3198
+ setTimeout(() => this.closeDropdown(), 0);
3199
+ return;
3200
+ }
3201
+ // If autoClose is disabled and no explicit close attribute, don't close
3202
+ if (!this.autoClose) {
3203
+ return;
3204
+ }
3205
+ // Auto-close mode: close unless clicked element opts out
3206
+ const shouldNotClose = path.some((t) => {
3207
+ var _a;
3208
+ const n = t;
3209
+ return (_a = n === null || n === void 0 ? void 0 : n.closest) === null || _a === void 0 ? void 0 : _a.call(n, this.noCloseSelector);
3210
+ });
3211
+ if (!shouldNotClose) {
3212
+ // Defer to allow the item's own click (e.g., router navigation) to run first
3213
+ setTimeout(() => this.closeDropdown(), 0);
3214
+ }
3215
+ }
3173
3216
  /**
3174
3217
  * Renders the dropdown component and displays its content when open.
3175
3218
  * @returns {JSX.Element} The rendered dropdown component.
3176
3219
  */
3177
3220
  render() {
3178
- return (index.h("div", { key: '31e8b1fd4e146cbcad4d74bd78dff1cd1e1950bd', class: "z-focus relative", ref: (el) => (this.dropdownContent = el) }, index.h("eds-button", { key: '7021a0b0ff66780a324d7d9d1f6cff250ab64178', label: this.label, "aria-label": this.ariaLabel, icon: this.icon, intent: this.intent, onClick: this.handleClick, "aria-expanded": this.isOpen.toString(), "aria-haspopup": "menu" }), index.h("nav", { key: '904fd2a7f727a8b3966eab6cf9ebdb0efa474ae0', role: "menu", class: {
3221
+ return (index.h("div", { key: 'e31acbda3428f47fe32cfe550cf00c53374da215', class: "z-focus relative", ref: (el) => (this.dropdownContent = el) }, index.h("eds-button", { key: 'ce3e11ecee4f603c3ba0e003fccf3fe81289f4c8', label: this.label, "aria-label": this.ariaLabel, icon: this.icon, intent: this.intent, onClick: this.handleClick, "aria-expanded": this.isOpen.toString(), "aria-haspopup": "menu" }), index.h("nav", { key: '59f8533409171401ed73eac8d307e4eafbde9209', ref: (el) => (this.panelEl = el), role: "menu", class: {
3179
3222
  '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,
3180
3223
  'left-4': this.dropdownPos === 'left' && this.dropdownOffset,
3181
3224
  'left-0': this.dropdownPos === 'left' && !this.dropdownOffset,
3182
3225
  'right-4': this.dropdownPos === 'right' && this.dropdownOffset,
3183
3226
  'right-0': this.dropdownPos === 'right' && !this.dropdownOffset,
3184
3227
  'rounded-lg': this.rounded
3185
- }, style: { display: this.isOpen ? 'block' : 'none' }, "aria-label": "Dropdown", "aria-hidden": !this.isOpen }, index.h("slot", { key: 'b416621930c7117775fef2ee91bdca0f660302f5' }))));
3228
+ }, style: { display: this.isOpen ? 'block' : 'none' }, "aria-label": "Dropdown", "aria-hidden": !this.isOpen }, index.h("slot", { key: '675839893bf667a7a05a63e552935bb1a5874b73' }))));
3186
3229
  }
3187
3230
  get host() { return index.getElement(this); }
3188
3231
  };
@@ -3330,9 +3373,10 @@ isFieldVisible) {
3330
3373
  const npsEl = findNpsElement(formEl);
3331
3374
  if (npsEl && npsEl.shadowRoot) {
3332
3375
  const raw = (_a = npsEl.shadowRoot
3333
- .querySelector('div[role="radio"][aria-checked="true"] eds-button')) === null || _a === void 0 ? void 0 : _a.getAttribute('aria-label');
3334
- const value = raw !== null ? parseInt(raw, 10) : null;
3335
- if (value === null) {
3376
+ .querySelector('eds-button[tabindex="0"]')) === null || _a === void 0 ? void 0 : _a.getAttribute('aria-label');
3377
+ const parsed = raw !== null ? parseInt(raw, 10) : NaN;
3378
+ const value = Number.isInteger(parsed) && parsed >= 0 && parsed <= 10 ? parsed : NaN;
3379
+ if (isNaN(value)) {
3336
3380
  // eslint-disable-next-line
3337
3381
  if (field.required) {
3338
3382
  errors[field.name] = ['This field is required.'];
@@ -3398,7 +3442,7 @@ function getFormInitData({ initData, parsedFields, currentValues
3398
3442
  return { updatedValues };
3399
3443
  }
3400
3444
 
3401
- const edsFormCss = ".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}.flex{display:flex}.flex-col{flex-direction:column}.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)}.f-body-01 b,.f-body-01 strong{font-weight:var(--f-body-01---bold-weight, bold)}.f-body-02 b,.f-body-02 strong{font-weight:var(--f-body-02---bold-weight, bold)}.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)}.rounded-sm{border-radius:8px}.border-softer{border-color:rgba(0, 0, 0, .1)}.border-2{border-width:2px}.mt-20{margin-top:1.25rem}.mt-32{margin-top:2rem}.mb-32{margin-bottom:2rem}.pt-28{padding-top:1.75rem}.pl-8{padding-left:0.5rem}.pl-16{padding-left:1rem}.border-l-2{border-left-width:2px}.gap-y-8{row-gap:0.5rem}.gap-y-16{row-gap:1rem}.gap-y-24{row-gap:1.5rem}.border-group{border-left:1px solid var(--soft-color, #ddd);padding-left:1rem}";
3445
+ const edsFormCss = ".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}.flex{display:flex}.flex-col{flex-direction:column}.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)}.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-body-01 b,.f-body-01 strong{font-weight:var(--f-body-01---bold-weight, bold)}.f-body-02 b,.f-body-02 strong{font-weight:var(--f-body-02---bold-weight, bold)}.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-heading-05{font-family:var(--f-heading-05-fontFamily);font-weight:var(--f-heading-05-fontWeight);font-size:var(--f-heading-05-fontSize);line-height:var(--f-heading-05-lineHeight);letter-spacing:var(--f-heading-05-letterSpacing)}.text-light{color:var(--grey-700)}.rounded-sm{border-radius:8px}.border-softer{border-color:rgba(0, 0, 0, .1)}.border-2{border-width:2px}.mt-20{margin-top:1.25rem}.mt-32{margin-top:2rem}.mb-32{margin-bottom:2rem}.pt-28{padding-top:1.75rem}.pl-8{padding-left:0.5rem}.pl-16{padding-left:1rem}.border-l-2{border-left-width:2px}.gap-y-8{row-gap:0.5rem}.gap-y-16{row-gap:1rem}.gap-y-24{row-gap:1.5rem}.border-group{border-left:1px solid var(--soft-color, #ddd);padding-left:1rem}.bg-inverse{background-color:var(--white)}.effect-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms;transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.shadow-hover{--tw-shadow:0px 0px 16px rgba(0, 0, 0, 0.2);--tw-shadow-colored:0px 0px 16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.cursor-pointer{cursor:pointer}.effect-focus-within{outline-width:3px;outline-offset:2px;outline-color:var(--green-500)}.effect-focus-within:focus-within{outline-style:solid}.relative{position:relative}.rounded-lg{border-radius:16px}.px-16{padding-left:1rem;padding-right:1rem}.pb-16{padding-bottom:1rem}.p-32{padding:2rem}";
3402
3446
  const EdsFormStyle0 = edsFormCss;
3403
3447
 
3404
3448
  const EdsForm = class {
@@ -3406,13 +3450,17 @@ const EdsForm = class {
3406
3450
  index.registerInstance(this, hostRef);
3407
3451
  this.form = index.createEvent(this, "form", 7);
3408
3452
  this.name = 'eds-form';
3453
+ this.title = 'Form Title';
3454
+ this.description = 'Form Description';
3409
3455
  this.setFormUrl = true;
3410
3456
  this.formBtn = true;
3411
3457
  this.formBtnLabel = 'Submit';
3458
+ this.buttonIntent = 'primary';
3412
3459
  this.errorMessage = 'Some fields in your form are incorrect.';
3413
3460
  this.fields = [];
3414
3461
  this.groups = [];
3415
3462
  this.initData = {};
3463
+ this.formStyle = 'default';
3416
3464
  this.values = {};
3417
3465
  this.isSubmitting = false;
3418
3466
  this.hasError = false;
@@ -3534,6 +3582,7 @@ const EdsForm = class {
3534
3582
  return formData;
3535
3583
  }
3536
3584
  makeFormData() {
3585
+ var _a;
3537
3586
  const formData = new FormData();
3538
3587
  // Add the form name
3539
3588
  formData.append('form_name', this.name);
@@ -3545,6 +3594,37 @@ const EdsForm = class {
3545
3594
  // Append each key-value pair to the FormData object.
3546
3595
  formData.append(key, this.values[key]);
3547
3596
  });
3597
+ // 2) Only do the (slower) DOM scan if we actually have file fields in the config
3598
+ const hasFileField = (_a = this.parsedFields) === null || _a === void 0 ? void 0 : _a.some((f) => (f === null || f === void 0 ? void 0 : f.type) === 'file');
3599
+ if (hasFileField && this.formEl) {
3600
+ // Find file inputs inside each eds-input-field's shadowRoot
3601
+ const hosts = Array.from(this.formEl.querySelectorAll('eds-input-field'));
3602
+ hosts.forEach((host) => {
3603
+ const root = host.shadowRoot;
3604
+ if (!root)
3605
+ return;
3606
+ const fileInputs = Array.from(root.querySelectorAll('input[type="file"][name]'));
3607
+ console.log(fileInputs);
3608
+ fileInputs.forEach((fi) => {
3609
+ const name = fi.name;
3610
+ const files = fi.files ? Array.from(fi.files) : [];
3611
+ if (files.length > 0) {
3612
+ // Append each file under the same field name (backend can use request.files.getlist(name))
3613
+ files.forEach((file) => formData.append(name, file));
3614
+ }
3615
+ });
3616
+ });
3617
+ // (Optional) mark that this payload includes files (handy in logs / policies)
3618
+ // formData.set('_has_files', '1');
3619
+ }
3620
+ formData.forEach((value, key) => {
3621
+ if (value instanceof File) {
3622
+ console.log(`File field: ${key}, File name: ${value.name}, File size: ${value.size}`);
3623
+ }
3624
+ else {
3625
+ console.log(`Field: ${key}, Value: ${value}`);
3626
+ }
3627
+ });
3548
3628
  return formData;
3549
3629
  }
3550
3630
  handleChange(e, field) {
@@ -3655,11 +3735,11 @@ const EdsForm = class {
3655
3735
  message: `${field.name} updated`
3656
3736
  });
3657
3737
  }
3658
- handleSubmit() {
3738
+ handleSubmit(e) {
3659
3739
  var _a, _b;
3660
- if (this.isSubmitting) {
3740
+ e === null || e === void 0 ? void 0 : e.preventDefault();
3741
+ if (this.isSubmitting)
3661
3742
  return;
3662
- }
3663
3743
  this.isSubmitting = true;
3664
3744
  this.validateForm();
3665
3745
  if (this.hasError) {
@@ -3710,10 +3790,15 @@ const EdsForm = class {
3710
3790
  }
3711
3791
  get groupedFields() {
3712
3792
  const map = {};
3713
- // initialize buckets for each group
3793
+ // initialize buckets for each declared group
3714
3794
  this.parsedGroups.forEach((g) => (map[g.id] = []));
3795
+ // always keep an ungrouped bucket
3715
3796
  map['__ungrouped'] = [];
3797
+ // only bucket fields that are currently visible
3716
3798
  this.parsedFields.forEach((f) => {
3799
+ if (!this.isFieldVisible(f)) {
3800
+ return;
3801
+ }
3717
3802
  const gid = f.groupId || '__ungrouped';
3718
3803
  if (!map[gid]) {
3719
3804
  map[gid] = [];
@@ -3734,7 +3819,7 @@ const EdsForm = class {
3734
3819
  return (index.h("div", { class: "form-group rating-field", key: field.name }, index.h("div", { class: "flex justify-between" }, field && (index.h("eds-input-label", { name: `rating-${field.name}`, label: field.label, disabled: field.disabled, required: field.required }))), index.h("eds-rating", { id: `rating-${field.name}`, "rating-type": field.ratingType, "rating-count": field.ratingCount, "selected-rating": val, onRating: (e) => this.handleRating(e, field) }), index.h("div", { class: "mt-6" }, index.h("eds-input-footer", { id: `${field.name}-footer`, name: field.name, message: field.message, "error-message": (_a = this.errors[field.name]) === null || _a === void 0 ? void 0 : _a.join('<br/>'), error: !!this.errors[field.name], link: field.link }))));
3735
3820
  }
3736
3821
  else if (field.type === 'nps') {
3737
- return (index.h("div", { class: "form-group nps-field", key: field.name }, index.h("div", { class: "flex justify-between" }, field && (index.h("eds-input-label", { name: `nps-${field.name}`, label: field.question, disabled: field.disabled, required: field.required }))), index.h("eds-nps", { id: `nps-${field.name}`, "right-label": field.rightLabel, "left-label": field.leftLabel, onNps: (e) => this.handleNPS(e, field) }), index.h("div", { class: "mt-6" }, index.h("eds-input-footer", { id: `${field.name}-footer`, name: field.name, message: field.message, "error-message": (_b = this.errors[field.name]) === null || _b === void 0 ? void 0 : _b.join('<br/>'), error: !!this.errors[field.name], link: field.link }))));
3822
+ return (index.h("div", { class: "form-group nps-field", key: field.name }, index.h("div", { class: "flex justify-between" }, field && (index.h("eds-input-label", { name: `nps-${field.name}`, label: field.question, disabled: field.disabled, required: field.required }))), index.h("eds-nps", { id: `nps-${field.name}`, "right-label": field.rightLabel, "left-label": field.leftLabel, onNps: (e) => this.handleNPS(e, field) }), index.h("div", { class: "mt-6" }, index.h("eds-input-footer", { id: `${field.name}-footer`, name: field.name, "error-message": (_b = this.errors[field.name]) === null || _b === void 0 ? void 0 : _b.join('<br/>'), error: !!this.errors[field.name] }))));
3738
3823
  }
3739
3824
  return (index.h("eds-input-field", { key: field.name, name: field.name, label: field.label, placeholder: field.placeholder, type: field.type, value: this.values[field.name], required: field.required, hint: field.hint, message: field.message, error: !!this.errors[field.name], errorMessage: (_c = this.errors[field.name]) === null || _c === void 0 ? void 0 : _c.join('<br/>'), options: field.options, onInput: (e) => this.handleInput(e, field), onChangeNative: (e) => this.handleChange(e, field) }));
3740
3825
  }
@@ -3745,9 +3830,13 @@ const EdsForm = class {
3745
3830
  const hiddenFields = this.parsedFields.filter((field) => field.type === 'hidden');
3746
3831
  //const otherFields = this.parsedFields.filter((field) => field.type !== 'hidden');
3747
3832
  const buckets = this.groupedFields;
3748
- return (index.h("form", { key: 'a66997f39b5be347a4d502f77bcd1da9d1a274ac', ref: (el) => (this.formEl = el), autocomplete: "on", onSubmit: this.handleSubmit }, index.h("div", { key: 'f8800d2ebe64b3279234ab8ebe20e535dc822872' }, index.h("slot", { key: 'b4194073b281dec35a79a6cc974fdf7476a67807' }), hiddenFields.map((field, index$1) => (index.h("eds-input", { key: index$1, type: "hidden", name: field.name, value: field.value }))), this.parsedGroups
3833
+ // build the shadow/bg classes if formStyle="shadow"
3834
+ const styleClasses = this.formStyle === 'shadow'
3835
+ ? 'bg-inverse effect-shadow shadow-hover border-softer relative rounded-lg border-2 p-32'
3836
+ : '';
3837
+ return (index.h("form", { key: 'a2e7de988c60301b92f6b756702bfcc78e9f3d90', class: styleClasses, ref: (el) => (this.formEl = el), autocomplete: "on", onSubmit: this.handleSubmit }, index.h("div", { key: '22172631522aa6094d8b163b0774c57ef4404d60', class: "flex flex-col gap-y-24" }, this.title && (index.h("span", { key: '0597bbacbaf5f3d9ec1ab938cf755a10baafdf21', role: "heading", class: "f-heading-04" }, this.title)), this.description && index.h("span", { key: '5e636072bc2692071bd0b518af721999cc8b511e', class: "f-body-02 text-light" }, this.description), index.h("slot", { key: '79d21172208eb77ec6460e817d3c7bc3a680c806' })), hiddenFields.map((field, index$1) => (index.h("eds-input", { key: index$1, type: "hidden", name: field.name, value: field.value }))), this.parsedGroups
3749
3838
  .filter((g) => Array.isArray(buckets[g.id]) && buckets[g.id].length > 0)
3750
- .map((g) => (index.h("div", { class: "container mt-20", key: g.id }, index.h("span", { class: "f-body-02" }, index.h("b", null, g.title)), index.h("div", { class: "border-group mt-32 mb-32 flex flex-col gap-y-24" }, buckets[g.id].map((f) => this.renderField(f)))))), index.h("div", { key: '2fc83ebb6b0a472f6853618602c37ee83adae9ff', class: "flex flex-col mt-20 gap-y-24" }, buckets['__ungrouped'].map((f) => this.renderField(f)))), this.formBtn && (index.h("div", { key: '91b569b1a4513945f3228c374ae45b52ea17f91d', class: "mt-32" }, index.h("eds-button", { key: '1a8feaecd5a7f292f8aeae3db900700b4f7fb8d4', intent: "primary", label: this.formBtnLabel, disabled: this.isSubmitting, loading: this.isSubmitting, onClick: () => this.handleSubmit() })))));
3839
+ .map((g) => (index.h("div", { class: "mt-32", key: g.id }, index.h("span", { class: "f-body-02" }, index.h("b", null, g.title)), index.h("div", { class: "border-group mt-32 mb-32 flex flex-col gap-y-24" }, buckets[g.id].map((f) => this.renderField(f)))))), index.h("div", { key: 'b99941e53dec1c8c4e167d8588d6e86793838d1a', class: "flex flex-col mt-32 gap-y-24" }, buckets['__ungrouped'].map((f) => this.renderField(f))), this.formBtn && (index.h("div", { key: '27365a4d7d8150ff4e94ffb3d27d011400c8c412', class: "mt-32" }, index.h("eds-button", { key: '66f89292b95d9549e3718d7e499b0724762127c6', intent: this.buttonIntent, label: this.formBtnLabel, disabled: this.isSubmitting, loading: this.isSubmitting, onClick: () => this.handleSubmit() })))));
3751
3840
  }
3752
3841
  get el() { return index.getElement(this); }
3753
3842
  static get watchers() { return {
@@ -3757,6 +3846,174 @@ const EdsForm = class {
3757
3846
  };
3758
3847
  EdsForm.style = EdsFormStyle0;
3759
3848
 
3849
+ const edsGlobalSearchCss = ":host{display:block;width:100%}p{margin:0}ol,ul,menu{list-style:none;margin:0;padding:0}.search-wrapper{position:relative;width:100%}.search-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:white;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.05);max-height:500px;overflow:hidden;z-index:9999;display:flex;flex-direction:column}.dropdown-state{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;color:#616161;font-size:14px}.dropdown-results{list-style:none;margin:0;overflow-y:auto;overflow-x:hidden;max-height:440px}.result-item{padding:10px 14px;cursor:pointer;transition:background-color 0.15s ease;border-left:3px solid transparent;overflow:hidden;word-wrap:break-word;word-break:break-word}.result-item:hover,.result-item--selected{background-color:var(--grey-200);border-left-color:var(--green-600)}.result-header{display:flex;align-items:center;justify-content:space-between}.result-snippet{font-size:13px;color:#616161;line-height:1.4;margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.dropdown-footer{border-top:1px solid #e0e0e0;padding:8px 16px;background:#fafafa;flex-shrink:0}.footer-hint{font-size:11px;color:#757575;display:flex;align-items:center;gap:4px;flex-wrap:wrap}kbd{display:inline-block;padding:2px 5px;font-size:10px;font-family:monospace;line-height:1;color:#424242;background-color:#f5f5f5;border:1px solid #bdbdbd;border-radius:3px;box-shadow:0 1px 0 rgba(0, 0, 0, 0.1)}.dropdown-results::-webkit-scrollbar{width:8px}.dropdown-results::-webkit-scrollbar-track{background:#f5f5f5}.dropdown-results::-webkit-scrollbar-thumb{background:#bdbdbd;border-radius:4px}.dropdown-results::-webkit-scrollbar-thumb:hover{background:#9e9e9e}.flex{display:flex}.inline-flex{display:inline-flex}.text-center{text-align:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.text-error{color:var(--red-700)}.text-lighter{color:var(--grey-600)}.text-lightest{color:var(--grey-500)}.ml-4{margin-left:0.25rem}.ml-8{margin-left:0.5rem}.ml-16{margin-left:1rem}.p-16{padding:1rem}.p-64{padding:4rem}.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-03{font-family:var(--f-ui-03-fontFamily);font-weight:var(--f-ui-03-fontWeight);font-size:var(--f-ui-03-fontSize);line-height:var(--f-ui-03-lineHeight);letter-spacing:var(--f-ui-03-letterSpacing)}.f-ui-03-light{font-family:var(--f-ui-03-light-fontFamily);font-weight:var(--f-ui-03-light-fontWeight);font-size:var(--f-ui-03-light-fontSize);line-height:var(--f-ui-03-light-lineHeight);letter-spacing:var(--f-ui-03-light-letterSpacing)}.f-ui-04{font-family:var(--f-ui-04-fontFamily);font-weight:var(--f-ui-04-fontWeight);font-size:var(--f-ui-04-fontSize);line-height:var(--f-ui-04-lineHeight);letter-spacing:var(--f-ui-04-letterSpacing)}";
3850
+ const EdsGlobalSearchStyle0 = edsGlobalSearchCss;
3851
+
3852
+ const EdsGlobalSearch = class {
3853
+ constructor(hostRef) {
3854
+ index.registerInstance(this, hostRef);
3855
+ this.resultSelected = index.createEvent(this, "resultSelected", 7);
3856
+ this.searchClosed = index.createEvent(this, "searchClosed", 7);
3857
+ this.handleInput = (event) => {
3858
+ var _a;
3859
+ const target = event.target;
3860
+ this.query = target.value;
3861
+ if (this.debounceTimer) {
3862
+ clearTimeout(this.debounceTimer);
3863
+ }
3864
+ if (!this.query.trim()) {
3865
+ this.results = [];
3866
+ this.hasSearched = false;
3867
+ this.showDropdown = false;
3868
+ return;
3869
+ }
3870
+ analytics.sendAnalytics({
3871
+ category: 'shared-ui',
3872
+ parentContext: null,
3873
+ tag: this.el.tagName.toLowerCase(),
3874
+ name: `search-input: ${(_a = this.query) === null || _a === void 0 ? void 0 : _a.toLowerCase()}` ||
3875
+ 'unknow seach input query',
3876
+ action: 'click',
3877
+ });
3878
+ this.debounceTimer = window.setTimeout(() => {
3879
+ this.runSearch();
3880
+ }, this.debounceDelay);
3881
+ };
3882
+ this.apiEndpoint = '/api/v1/global-search';
3883
+ this.placeholder = 'Search Handbook + Design...';
3884
+ this.limit = 20;
3885
+ this.debounceDelay = 300;
3886
+ this.query = '';
3887
+ this.results = [];
3888
+ this.loading = false;
3889
+ this.error = '';
3890
+ this.hasSearched = false;
3891
+ this.showDropdown = false;
3892
+ this.selectedIndex = -1;
3893
+ }
3894
+ componentDidLoad() {
3895
+ // Focus input if needed
3896
+ if (this.inputRef) {
3897
+ this.inputRef.focus();
3898
+ }
3899
+ }
3900
+ disconnectedCallback() {
3901
+ if (this.debounceTimer) {
3902
+ clearTimeout(this.debounceTimer);
3903
+ }
3904
+ }
3905
+ handleDocumentClick(event) {
3906
+ const path = event.composedPath();
3907
+ if (!path.includes(this.el)) {
3908
+ this.showDropdown = false;
3909
+ this.selectedIndex = -1;
3910
+ }
3911
+ }
3912
+ handleKeydown(event) {
3913
+ if (!this.showDropdown || this.results.length === 0) {
3914
+ if (event.key === 'Escape') {
3915
+ this.searchClosed.emit();
3916
+ }
3917
+ return;
3918
+ }
3919
+ switch (event.key) {
3920
+ case 'ArrowDown':
3921
+ event.preventDefault();
3922
+ this.selectedIndex = Math.min(this.selectedIndex + 1, this.results.length - 1);
3923
+ this.scrollToSelected();
3924
+ break;
3925
+ case 'ArrowUp':
3926
+ event.preventDefault();
3927
+ this.selectedIndex = Math.max(this.selectedIndex - 1, -1);
3928
+ this.scrollToSelected();
3929
+ break;
3930
+ case 'Enter':
3931
+ event.preventDefault();
3932
+ if (this.selectedIndex >= 0 &&
3933
+ this.selectedIndex < this.results.length) {
3934
+ this.selectResult(this.results[this.selectedIndex]);
3935
+ }
3936
+ break;
3937
+ case 'Escape':
3938
+ this.showDropdown = false;
3939
+ this.selectedIndex = -1;
3940
+ this.searchClosed.emit();
3941
+ break;
3942
+ }
3943
+ }
3944
+ async runSearch() {
3945
+ var _a;
3946
+ const query = this.query.trim();
3947
+ if (!query) {
3948
+ this.results = [];
3949
+ this.hasSearched = false;
3950
+ this.showDropdown = false;
3951
+ return;
3952
+ }
3953
+ this.loading = true;
3954
+ this.error = '';
3955
+ try {
3956
+ const response = await fetch(`${this.apiEndpoint}?q=${encodeURIComponent(query)}&limit=${this.limit}`);
3957
+ if (!response.ok) {
3958
+ throw new Error('Search failed');
3959
+ }
3960
+ const data = await response.json();
3961
+ this.results = (_a = data.items) !== null && _a !== void 0 ? _a : [];
3962
+ this.hasSearched = true;
3963
+ this.showDropdown = true;
3964
+ this.selectedIndex = -1;
3965
+ }
3966
+ catch (err) {
3967
+ console.error('Search error:', err);
3968
+ this.error = 'Search failed. Please try again.';
3969
+ this.results = [];
3970
+ this.showDropdown = true;
3971
+ }
3972
+ finally {
3973
+ this.loading = false;
3974
+ }
3975
+ }
3976
+ selectResult(result) {
3977
+ this.resultSelected.emit(result);
3978
+ this.searchClosed.emit();
3979
+ analytics.sendAnalytics({
3980
+ category: 'shared-ui',
3981
+ parentContext: null,
3982
+ tag: this.el.tagName.toLowerCase(),
3983
+ name: `search-select: ${result.url}` || 'unknow search result selection',
3984
+ action: 'click',
3985
+ });
3986
+ window.open(result.url, '_blank', 'noopener,noreferrer');
3987
+ }
3988
+ scrollToSelected() {
3989
+ if (this.selectedIndex >= 0 && this.dropdownRef) {
3990
+ const selectedItem = this.dropdownRef.querySelector(`[data-index="${this.selectedIndex}"]`);
3991
+ if (selectedItem) {
3992
+ selectedItem.scrollIntoView({ block: 'nearest', behavior: 'smooth' });
3993
+ }
3994
+ }
3995
+ }
3996
+ stripHtml(html) {
3997
+ const div = document.createElement('div');
3998
+ div.innerHTML = html;
3999
+ return div.textContent || div.innerText || '';
4000
+ }
4001
+ get hasResults() {
4002
+ return this.results.length > 0;
4003
+ }
4004
+ get showEmpty() {
4005
+ return (this.hasSearched && !this.loading && !this.hasResults && this.query.trim());
4006
+ }
4007
+ render() {
4008
+ return (index.h("div", { key: '8fb5d13cbb123d7a6d6a26d0ba59d4c6d1660216', class: "search-wrapper" }, index.h("eds-input-field", { key: 'a8bf5d6f4aa5746e144b82fad60b77697d0fdb99', icon: "search", "input-id": "search-global", type: "text", name: "search-box-global", placeholder: this.placeholder, value: this.query, onInput: this.handleInput }), this.showDropdown && (index.h("div", { key: '553cb12c9b2aa9ecfbcf9c1eee9ff9a44549e35a', class: "search-dropdown", ref: (el) => (this.dropdownRef = el) }, this.loading && (index.h("div", { key: '4f40853beecd11f8812fd97cf07d2394e7b73466', class: "flex text-center justify-center p-64" }, index.h("eds-spinner", { key: '307a3ba3ec2d296f31f8e5cf1a696786387ea8fa', variant: "primary", size: "sm" }))), this.error && !this.loading && (index.h("div", { key: '46fc2ed3f48237864c62ce52d5789b72ab007f61', class: "flex text-center justify-center p-16" }, index.h("span", { key: 'b555370d936f99234d9be576d04766bc674bfd24', class: "text-error f-body-02" }, this.error))), this.showEmpty && (index.h("div", { key: '7464c4850872ce8dcee55c189b1e78baa1799f14', class: "dropdown-state" }, index.h("eds-icon-wrapper", { key: '989282ef0fc8fde7018bb80ab172773cc2107942', icon: "search" }), index.h("div", { key: 'efbdbd61312b7de43c4f9944cbd573573ec22f11' }, index.h("p", { key: 'fb8bf8c76f101a182f2f0e0c9beac642a872d4cb', class: "f-body-02" }, "No results found"), index.h("p", { key: '003a1facf39b7efe8f61c58518e7fdef4779f9c3', class: "f-ui-04 text-lightest" }, "Try different keywords")))), this.hasResults && !this.loading && (index.h("ul", { key: '01b48376f9b290218f93eed314bcc71fa15f83ef', class: "dropdown-results" }, this.results.map((result, index$1) => (index.h("li", { key: result.id, "data-index": index$1, class: {
4009
+ 'result-item': true,
4010
+ 'result-item--selected': index$1 === this.selectedIndex,
4011
+ }, onClick: () => this.selectResult(result), onMouseEnter: () => (this.selectedIndex = index$1) }, index.h("div", { class: "result-header" }, index.h("span", { class: "f-body-02" }, result.title)), index.h("div", { class: "inline" }, index.h("eds-tag", { intent: "accent", label: result.source }), result.section && (index.h("span", { class: "result-badge" }, result.section)), index.h("span", { class: "f-ui-03-light text-lighter ml-8" }, result.url)), result.snippet && (index.h("p", { class: "result-snippet" }, this.stripHtml(result.snippet)))))))), this.hasResults && !this.loading && (index.h("div", { key: '3730704ff20781f23403df56a452bf586c06a688', class: "dropdown-footer" }, index.h("span", { key: '981e0fb42c24116a2b7caa1a341db1435fb57298', class: "footer-hint" }, index.h("kbd", { key: 'a3afa1202d694af3f87c736f8384b11497729d2c' }, "\u2191"), " ", index.h("kbd", { key: '4158766047e73eef837b3a7be415b52792473f3e' }, "\u2193"), " navigate \u2022 ", index.h("kbd", { key: '49dc09c928a6f0d69e4c95cee7ba5b655dfcd56c' }, "\u21B5"), " select \u2022", ' ', index.h("kbd", { key: '8da9b6f1bef58c7633a484f63e63920646d6b675' }, "esc"), " close")))))));
4012
+ }
4013
+ get el() { return index.getElement(this); }
4014
+ };
4015
+ EdsGlobalSearch.style = EdsGlobalSearchStyle0;
4016
+
3760
4017
  const edsHeaderCss = ".block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.z-10{z-index:10}.text-default{color:var(--black)}.text-inverse{color:var(--white)}.bg-inverse{background-color:var(--white)}.bg-dark{background-color:var(--grey-300)}.bg-strongest{background-color:var(--black)}.mr-auto{margin-right:auto}.w-\\[200px\\]{width:200px}.h-\\[85px\\]{height:85px}.left-1\\/2{left:50%}.top-1\\/2{top:50%}.grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hidden{display:none}.gap-x-2{-moz-column-gap:0.125rem;column-gap:0.125rem}.after\\:effect-opacity::after{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms;transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.whitespace-nowrap{white-space:nowrap}.\\!text-current{color:currentColor !important}.overflow-hidden{overflow:hidden}.after\\:\\!border-transparent::after{border-color:var(--transparent) !important}.hover\\:after\\:\\!border-transparent:hover::after{border-color:var(--transparent) !important}.after\\:opacity-0::after{opacity:0}.hover\\:after\\:opacity-100:hover::after{opacity:1}.px-16{padding-left:1rem;padding-right:1rem}@media (min-width: 750px){.md\\:flex{display:flex}.md\\:hidden{display:none}}";
3761
4018
  const EdsHeaderStyle0 = edsHeaderCss;
3762
4019
 
@@ -3805,7 +4062,7 @@ const EdsHeader = class {
3805
4062
  const classes = variantClasses[this.headerVariant] || variantClasses.default;
3806
4063
  // Logo color variant: default and inverse use 'color', strong uses 'color-white'
3807
4064
  const logoType = this.headerVariant === 'strong' ? 'color-white' : 'color';
3808
- return (index.h("header", { key: '812ad4427cbb3f4b0ca9e305870c35d63487dc59', class: `flex items-center justify-between relative z-10 ${classes}` }, index.h("div", { key: '531acdceb12ca45fea125091dee4d8a0ff39a10b', class: "mr-auto w-[200px] h-[85px]" }, index.h("eds-logo", { key: 'bb2708b3c8eacc575117bfed404b7c9db4fd05e2', type: logoType, href: this.homeUrl })), this.parsedLinks && (index.h("nav", { key: 'a80192d7666416c29025a1ac5812946f14feec3f', class: "absolute left-1/2 top-1/2 grow -translate-x-1/2 -translate-y-1/2 justify-center hidden md:flex" }, index.h("ul", { key: 'fae258c468367837a9738bcbe2442709fdc601a0', class: "flex gap-x-2" }, this.parsedLinks.map((link) => (index.h("eds-link", { label: link.label, "aria-label": link.label, url: link.url, intent: "ghost", size: "large", icon: link.icon, external: link.external, "extra-class": "after:effect-opacity aria-current-page:bg-darker whitespace-nowrap !text-current after:!border-transparent after:opacity-0 hover:after:!border-transparent hover:after:opacity-100" })))))), index.h("slot", { key: '9588ef20e19fda76115074c39d902eebead3c845' }), this.menuEnabled && (index.h("div", { key: 'ce2e43645a1c33ca7d6495acd820ad0a93cefdf9', class: "md:hidden flex overflow-hidden px-16" }, index.h("eds-button", { key: 'ed73c7e7a6544f60eea9dbf43379ffe4967c0dbd', "aria-label": "Menu", intent: this.headerVariant === 'default' ? 'ghost' : 'ghostInverse', icon: "menu", size: "small", onClick: () => this.handleToggleMenu() })))));
4065
+ return (index.h("header", { key: '937c78379bb6f3a97705862b2fa3f0f6ddd76d4c', class: `flex items-center justify-between relative z-10 ${classes}` }, index.h("div", { key: 'd94837e8414d558f02039501d7b01ab550275ca7', class: "mr-auto w-[200px] h-[85px]" }, index.h("eds-logo", { key: '02711bc6d80075a215761ce79698555f7b31bffa', type: logoType, href: this.homeUrl })), this.parsedLinks && (index.h("nav", { key: 'e3f0033cce5a6145a4f457d1c2c7aebb767593f7', class: "absolute left-1/2 top-1/2 grow -translate-x-1/2 -translate-y-1/2 justify-center hidden md:flex" }, index.h("ul", { key: '85008ed8ceb8eca869d8730b38a8aa37aeb757ff', class: "flex gap-x-2" }, this.parsedLinks.map((link) => (index.h("eds-link", { label: link.label, "aria-label": link.label, url: link.url, intent: "ghost", size: "large", icon: link.icon, external: link.external, "extra-class": "after:effect-opacity aria-current-page:bg-darker whitespace-nowrap !text-current after:!border-transparent after:opacity-0 hover:after:!border-transparent hover:after:opacity-100" })))))), index.h("slot", { key: '35eb7af751f3da381fada990118fa0a37ce150b1' }), this.menuEnabled && (index.h("div", { key: '121bba2b027fc21e8c77054f3de533e40fad6b96', class: "md:hidden flex overflow-hidden px-16" }, index.h("eds-button", { key: '00774810aabf8fa292ecca2210bcd9542a7cb0c2', "aria-label": "Menu", intent: this.headerVariant === 'default' ? 'ghost' : 'ghostInverse', icon: "menu", size: "small", onClick: () => this.handleToggleMenu() })))));
3809
4066
  }
3810
4067
  get hostEl() { return index.getElement(this); }
3811
4068
  };
@@ -3887,10 +4144,10 @@ const EdsImg = class {
3887
4144
  imgOpts['loading'] = 'lazy';
3888
4145
  imgOpts['decoding'] = 'async';
3889
4146
  }
3890
- return (index.h("div", { key: '605bff5657ca79678517527a9462b31608e5af7a', class: {
4147
+ return (index.h("div", { key: '7d704bdd14072d6ce69632d6f2de3270ff393b87', class: {
3891
4148
  'items-center justify-center': true,
3892
4149
  'effect-bg-pattern': this.lazyload && this.showBg
3893
- } }, index.h("picture", { key: '0d0def26688c1ec7214211d02875160965e2ce48' }, this.formats.map((format) => (index.h("source", { type: format.type, srcSet: format.srcset, media: format.media, sizes: this.sizes }))), index.h("img", Object.assign({ key: 'c9c307a5fdf25d9792db2a76f4d08fcd27b50401', ref: (el) => (this.img = el), class: {
4150
+ } }, index.h("picture", { key: '724f384b7b9f112727d3ab4ecdab5f769e581b26' }, this.formats.map((format) => (index.h("source", { type: format.type, srcSet: format.srcset, media: format.media, sizes: this.sizes }))), index.h("img", Object.assign({ key: '8b12b640a9d66fba117676e6bd81659c72a8e15c', ref: (el) => (this.img = el), class: {
3894
4151
  'effect-opacity object-cover object-center': true,
3895
4152
  'opacity-100': this.loaded,
3896
4153
  'opacity-0': !this.loaded
@@ -3949,7 +4206,7 @@ const EdsInput = class {
3949
4206
  render() {
3950
4207
  const withIcon = !!this.icon;
3951
4208
  const describedBy = this.hasMessage || this.error ? `${this.name}-error` : '';
3952
- return (index.h("div", { key: 'a26224d6345099df6bc5110d42b701980603f7f7', class: "relative flex items-center" }, this.type === 'textarea' ? (index.h("textarea", { id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.innerVal.toString(), required: this.required, disabled: this.disabled, class: `min-h-80 input input-textarea ${withIcon ? 'input-with-icon' : ''} ${this.error ? 'input-error' : ''} ${this.extraClass}`, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput })) : this.type === 'select' ? (index.h("select", { id: this.inputId || this.name, name: this.name, required: this.required, disabled: this.disabled, class: `input input-select ${this.error ? 'input-error' : ''} ${this.extraClass}`, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, onInput: this.handleInput, onChange: this.handleInput }, this.options.map((option) => (index.h("option", { value: option.value, selected: option.value === this.innerVal, key: option.value }, option.label))))) : (index.h("input", Object.assign({ id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.innerVal.toString(), required: this.required, disabled: this.disabled, type: this.type, checked: ['radio', 'checkbox'].includes(this.type) ? this.checked : undefined }, (this.type === 'number'
4209
+ return (index.h("div", { key: '4c49edfceefe448b6f5bb29284f0b757342a6003', class: "relative flex items-center" }, this.type === 'textarea' ? (index.h("textarea", { id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.innerVal.toString(), required: this.required, disabled: this.disabled, class: `min-h-80 input input-textarea ${withIcon ? 'input-with-icon' : ''} ${this.error ? 'input-error' : ''} ${this.extraClass}`, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput })) : this.type === 'select' ? (index.h("select", { id: this.inputId || this.name, name: this.name, required: this.required, disabled: this.disabled, class: `input input-select ${this.error ? 'input-error' : ''} ${this.extraClass}`, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, onInput: this.handleInput, onChange: this.handleInput }, this.options.map((option) => (index.h("option", { value: option.value, selected: option.value === this.innerVal, key: option.value }, option.label))))) : (index.h("input", Object.assign({ id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.innerVal.toString(), required: this.required, disabled: this.disabled, type: this.type, checked: ['radio', 'checkbox'].includes(this.type) ? this.checked : undefined }, (this.type === 'number'
3953
4210
  ? {
3954
4211
  min: this.min,
3955
4212
  max: this.max,
@@ -3960,7 +4217,7 @@ const EdsInput = class {
3960
4217
  input ${this.type === 'radio' ? 'input-radio' : this.type === 'checkbox' ? 'input-checkbox' : ''}
3961
4218
  ${withIcon && this.type !== 'radio' && this.type !== 'checkbox' ? 'input-icon pl-36' : ''}
3962
4219
  ${this.error ? 'input-error' : ''}
3963
- `, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput }))), this.maxLength && this.type === 'textarea' && (index.h("span", { key: 'beb48d08d18b5ca5b054b1b579e2f9527af222e9', class: `input-counter f-ui-05 absolute bottom-8 right-8 ${this.maxLengthReached ? 'input-counter-error' : ''}` }, this.maxLength)), this.icon && (index.h("eds-icon-wrapper", { key: '06948fe33c35c5830edd50a37411281865ef6d12', class: `absolute top-1/2 left-[4px] -translate-y-1/2 ${this.disabled ? 'text-lightest' : 'text-lightest'}`, icon: this.icon }))));
4220
+ `, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput }))), this.maxLength && this.type === 'textarea' && (index.h("span", { key: 'df877332c68d4783d5f0f8d8beb94c1859cd00da', class: `input-counter f-ui-05 absolute bottom-8 right-8 ${this.maxLengthReached ? 'input-counter-error' : ''}` }, this.maxLength)), this.icon && (index.h("eds-icon-wrapper", { key: '94f7d3d75f5c578c10ab72b6140785b0b5988a13', class: `absolute top-1/2 left-[4px] -translate-y-1/2 ${this.disabled ? 'text-lightest' : 'text-lightest'}`, icon: this.icon }))));
3964
4221
  }
3965
4222
  get el() { return index.getElement(this); }
3966
4223
  static get watchers() { return {
@@ -4071,7 +4328,7 @@ const EdsInputField = class {
4071
4328
  }
4072
4329
  render() {
4073
4330
  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 } : {}));
4074
- return (index.h("div", { key: '615165ebb5980d2da414ad4028e053b46358eb4e' }, this.type === 'checkbox' || this.type === 'radio' ? (this.parsedOptions.length > 0 ? (index.h("fieldset", { class: "space-y-4 mt-8" }, index.h("div", { class: "flex justify-between" }, this.label && (index.h("eds-input-label", { name: this.inputId || this.name, label: this.label, required: this.required })), this.hint && (index.h("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint))), this.parsedOptions.map((option) => (index.h("div", { class: "flex items-center gap-x-4 gap-y-4", key: option.value }, index.h("eds-input", Object.assign({}, inputOpts, { value: option.value, checked: typeof this.value === 'string' && this.value.split(',').includes(String(option.value)) })), index.h("label", { htmlFor: this.name, class: `input-label-options ${this.disabled ? 'text-lighter' : ''}` }, option.label)))))) : (index.h("div", { class: "flex items-center gap-x-8" }, index.h("eds-input", Object.assign({}, inputOpts, { value: this.value, checked: this.value === 'on' || this.checked })), this.label && (index.h("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required }))))) : (index.h("div", null, index.h("div", { class: "flex justify-between" }, this.label && (index.h("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required })), this.hint && (index.h("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint))), this.type === 'select' ? (index.h("eds-input-select", Object.assign({}, inputOpts, { options: this.parsedOptions }))) : this.type === 'file' ? (index.h("input", { type: "file", id: this.inputId || this.name, name: this.name, onChange: this.onChangeNative, disabled: this.disabled, required: this.required })) : this.type === 'search' ? (index.h("eds-input-search", { name: "search-box" })) : this.type === 'range' ? ((() => {
4331
+ return (index.h("div", { key: '8351609cb76699040d692f3a99746970a1498bea' }, this.type === 'checkbox' || this.type === 'radio' ? (this.parsedOptions.length > 0 ? (index.h("fieldset", { class: "space-y-4" }, index.h("div", { class: "flex justify-between mb-4" }, this.label && (index.h("eds-input-label", { name: this.inputId || this.name, label: this.label, required: this.required })), this.hint && (index.h("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint))), this.parsedOptions.map((option) => (index.h("div", { class: "flex items-center gap-x-4 gap-y-4", key: option.value }, index.h("eds-input", Object.assign({}, inputOpts, { value: option.value, checked: typeof this.value === 'string' && this.value.split(',').includes(String(option.value)) })), index.h("label", { htmlFor: this.name, class: `input-label-options ${this.disabled ? 'text-lighter' : ''}` }, option.label)))))) : (index.h("div", { class: "flex items-center gap-x-8" }, index.h("eds-input", Object.assign({}, inputOpts, { value: this.value, checked: this.value === 'on' || this.checked })), this.label && (index.h("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required }))))) : (index.h("div", null, index.h("div", { class: "flex justify-between mb-4" }, this.label && (index.h("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required })), this.hint && (index.h("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint))), this.type === 'select' ? (index.h("eds-input-select", Object.assign({}, inputOpts, { options: this.parsedOptions }))) : this.type === 'file' ? (index.h("input", { type: "file", id: this.inputId || this.name, name: this.name, onChange: this.onChangeNative, disabled: this.disabled, required: this.required })) : this.type === 'search' ? (index.h("eds-input-search", { name: "search-box" })) : this.type === 'range' ? ((() => {
4075
4332
  var _a, _b, _c;
4076
4333
  const rangeProps = {
4077
4334
  name: inputOpts.name,
@@ -4084,7 +4341,7 @@ const EdsInputField = class {
4084
4341
  const opt = this.parsedOptions;
4085
4342
  const numberValue = typeof this.value === 'string' ? parseFloat(this.value) : this.value || 0;
4086
4343
  return (index.h("eds-input-range", Object.assign({}, rangeProps, { min: (_a = opt[0]) === null || _a === void 0 ? void 0 : _a.value, max: (_b = opt[1]) === null || _b === void 0 ? void 0 : _b.value, step: (_c = opt[2]) === null || _c === void 0 ? void 0 : _c.value, value: numberValue })));
4087
- })()) : (index.h("eds-input", Object.assign({}, inputOpts))))), index.h("div", { key: '4ca8edfb4538caab53e89f16008683aea28adfbc', class: "mt-6" }, index.h("eds-input-footer", { key: '68053a16f607a277a5c806f3c830b24acf3b1f50', id: `${this.name}-footer`, name: this.name, message: this.message, "error-message": this.errorMessage, error: this.error, link: this.link }))));
4344
+ })()) : (index.h("eds-input", Object.assign({}, inputOpts))))), index.h("div", { key: '171ca8dfbf4b30a62a05d00f5296b1aaa3d964bd', class: "mt-6" }, index.h("eds-input-footer", { key: 'c6b7d0a9dc574a5e0dba1e62ff77934e96b4dec1', id: `${this.name}-footer`, name: this.name, message: this.message, "error-message": this.errorMessage, error: this.error, link: this.link }))));
4088
4345
  }
4089
4346
  static get delegatesFocus() { return true; }
4090
4347
  get hostEl() { return index.getElement(this); }
@@ -4104,7 +4361,7 @@ const EdsInputFooter = class {
4104
4361
  this.link = undefined;
4105
4362
  }
4106
4363
  render() {
4107
- return (index.h("div", { key: '58bce34f2ec417696ba03d6c8c0c77fa1d900f9a' }, this.error && this.errorMessage && (index.h("div", { key: 'be14dc0f6e9494c1ee436fd8f822112eab6d2ce2', id: `error_${this.name}`, class: "text-error flex items-center" }, index.h("eds-icon-wrapper", { key: 'aaa2010441b0bfe9445e4b6401115b29606ac507', icon: "warning" }), index.h("p", { key: '277ac1de538e873c7da9b592e60dfd276738025d', class: "f-ui-04 ml-4 mb-4", innerHTML: this.errorMessage }))), this.message && index.h("p", { key: '4f07c6efe398bb002322a35279e68b237eac860e', id: `desc_${this.name}`, class: "f-ui-05 text-lighter", innerHTML: this.message }), this.link && (index.h("a", { key: '50d042530985eeafd7334b0bb38fd2c14aed0e3f', href: this.link.url, class: "f-ui-05 effect-color hover:text-lighter underline underline-offset-4" }, this.link.label))));
4364
+ return (index.h("div", { key: '4c3c1cc26e2b003f49b3cfd1c2388833c305781b' }, this.error && this.errorMessage && (index.h("div", { key: '7e14e3a77c99ee2700fd0cd8cb1e738c11e34823', id: `error_${this.name}`, class: "text-error flex items-center" }, index.h("eds-icon-wrapper", { key: '700bc9b58a15e985903fc91abe4e41847d1cf761', icon: "warning" }), index.h("p", { key: 'a90a0fb49221c15125a54a0413a926174c065319', class: "f-ui-04 ml-4 mb-4", innerHTML: this.errorMessage }))), this.message && index.h("p", { key: '24d7c4fb5de1bb54237282edf6e51a16f0475474', id: `desc_${this.name}`, class: "f-ui-05 text-lighter", innerHTML: this.message }), this.link && (index.h("a", { key: '2f01a63b36409dfddd19416777f88008f358b1cb', href: this.link.url, class: "f-ui-05 effect-color hover:text-lighter underline underline-offset-4" }, this.link.label))));
4108
4365
  }
4109
4366
  };
4110
4367
  EdsInputFooter.style = EdsInputFooterStyle0;
@@ -4121,7 +4378,7 @@ const EdsInputLabel = class {
4121
4378
  this.disabled = false;
4122
4379
  }
4123
4380
  render() {
4124
- return (index.h("label", { key: '622cd7e26774448ca86c1168d0a287d7b61d3e29', htmlFor: this.name, class: `input-label ${this.disabled ? 'text-lighter' : ''}` }, this.label, this.required && (index.h("span", { key: 'c3162e765af70dd972e3cd0ca360cd3f52003f76' }, index.h("span", { key: '5bca5243c95399fefff4fa21b6c1477a287a3cb4', "aria-hidden": "true" }, "*"), index.h("span", { key: 'bc1c229ac387161e4aa314498dbbc77fbab62955', class: "sr-only" }, "required")))));
4381
+ return (index.h("label", { key: '51cf53579cea9effbf421c4f4ab45ef63f6770bf', htmlFor: this.name, class: `input-label ${this.disabled ? 'text-lighter' : ''}` }, this.label, this.required && (index.h("span", { key: '381c4e1e014d43f726e997767c76565a1979e54a' }, index.h("span", { key: '08102ef7990f262bf56b6f5bcf70e2ef6ecb0670', "aria-hidden": "true" }, "*"), index.h("span", { key: '6d3c6f3af5a06c5a1ee2245240cb3fbbef6cf9a8', class: "sr-only" }, "required")))));
4125
4382
  }
4126
4383
  };
4127
4384
  EdsInputLabel.style = EdsInputLabelStyle0;
@@ -4168,7 +4425,7 @@ const EdsInputRange = class {
4168
4425
  return this.inputElement;
4169
4426
  }
4170
4427
  render() {
4171
- return (index.h("div", { key: '51c9adb300d50eecb48de1547c0a0475692aa97b', class: "relative flex flex-col items-start" }, index.h("input", { key: '65ac18497d2a4307d7f5161951b87bb38cdad892', id: this.inputId || this.name, name: this.name, min: this.min, max: this.max, step: this.step, value: this.sliderVal, required: this.required, disabled: this.disabled, type: "range", class: "w-full py-6 input", tabindex: "0", role: "slider", "aria-describedby": `desc_${this.name}`, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": this.sliderVal, onInput: this.onInput, onChange: this.onChange }), index.h("p", { key: '9b717fce31d2340f3b4bc4b5583e6b1e7764314f', id: `desc_${this.name}`, class: "block f-ui-05 mt-4 text-lighter" }, "Current value: ", this.sliderVal)));
4428
+ return (index.h("div", { key: 'c4ce20af554533837b8fc3f7bf69bd649e26b574', class: "relative flex flex-col items-start" }, index.h("input", { key: '924b247fd81481e648bbf44fec22185284014254', id: this.inputId || this.name, name: this.name, min: this.min, max: this.max, step: this.step, value: this.sliderVal, required: this.required, disabled: this.disabled, type: "range", class: "w-full py-6 input", tabindex: "0", role: "slider", "aria-describedby": `desc_${this.name}`, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": this.sliderVal, onInput: this.onInput, onChange: this.onChange }), index.h("p", { key: 'a3acfa464938748480e259cac4376a2be3512e6e', id: `desc_${this.name}`, class: "block f-ui-05 mt-4 text-lighter" }, "Current value: ", this.sliderVal)));
4172
4429
  }
4173
4430
  get el() { return index.getElement(this); }
4174
4431
  static get watchers() { return {
@@ -4237,7 +4494,7 @@ const EdsInputSearch = class {
4237
4494
  return this.inputElement;
4238
4495
  }
4239
4496
  render() {
4240
- return (index.h("div", { key: '40f0faa26610671e0a89055e5a51fb17ab17c470', class: "relative flex items-center" }, index.h("eds-icon-wrapper", { key: '910f6681ae719608c6f2787de4b3871742dd290a', icon: "search", class: "absolute top-1/2 left-[4px] -translate-y-1/2 text-lightest", "aria-hidden": "true" }), index.h("input", { key: '77534918bd9f2bcd4014e5b201a4f7eb2c0753b4', 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}`,
4497
+ return (index.h("div", { key: 'b1232c04e55c9f0bd7b864271ca855a3de242a73', class: "relative flex items-center" }, index.h("eds-icon-wrapper", { key: '67e51a49b994fc00cb48f2b55f54217097f4d837', icon: "search", class: "absolute top-1/2 left-[4px] -translate-y-1/2 text-lightest", "aria-hidden": "true" }), index.h("input", { key: 'a6526f68a35145631254e4a0380a1298242c592e', id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.value || '', required: this.required, disabled: this.disabled, type: "search", "aria-label": this.placeholder, class: `input pl-36 ${this.decorate}`,
4241
4498
  //onInput={this.onInput}
4242
4499
  onChange: this.onChange })));
4243
4500
  }
@@ -4266,12 +4523,12 @@ const EdsInputSelect = class {
4266
4523
  const selectId = this.inputId || this.name;
4267
4524
  const placeholderText = this.placeholder || `Pick from the list`;
4268
4525
  const describedBy = this.hasMessage || this.error ? `${this.name}-error` : undefined;
4269
- return (index.h("div", { key: 'f154a5f34a0d09cf6a02e24f13ed9af46532c76c', class: "relative" }, index.h("select", { key: '0982936337bcbec3e2b81f7edc1436506841c782', id: selectId, name: this.name, class: {
4526
+ return (index.h("div", { key: 'b28b21c38ed5848cf08c0bc626f4ce32eddfb775', class: "relative" }, index.h("select", { key: '727f578d43cf12568d3d3b35548a30972fc46300', id: selectId, name: this.name, class: {
4270
4527
  input: true,
4271
4528
  'input-error': this.error,
4272
4529
  'px-4': true,
4273
4530
  'py-2': true
4274
- }, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, disabled: this.disabled, required: this.required, onChange: this.handleChange }, index.h("option", { key: '7656fa514dec6b8b05bbb8d02636bf5e2ee8d213', value: "", disabled: true, hidden: true }, placeholderText), this.options.map((opt, index$1) => (index.h("option", { key: index$1, value: opt.value, selected: opt.value === this.value }, opt.label)))), index.h("span", { key: '8464aa5ef3eab675f493b582736c25a7edd88224', class: "bg-dark rounded-xs absolute top-1/2 right-[6px] flex h-28 w-28 -translate-y-1/2 items-center justify-center" }, index.h("eds-icon-wrapper", { key: '092271b13e4d496a85c55fbb5f1756805cd5d3de', class: "w-20 h-20", icon: "chevron-right" }))));
4531
+ }, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, disabled: this.disabled, required: this.required, onChange: this.handleChange }, index.h("option", { key: '9283f69f3c723d65243d8f38b92ee2fcd16d187e', value: "", disabled: true, hidden: true }, placeholderText), this.options.map((opt, index$1) => (index.h("option", { key: index$1, value: opt.value, selected: opt.value === this.value }, opt.label)))), index.h("span", { key: '63a0a9fc049f10141697028195aa28abb8d246f2', class: "bg-dark rounded-xs absolute top-1/2 right-[6px] flex h-28 w-28 -translate-y-1/2 items-center justify-center" }, index.h("eds-icon-wrapper", { key: 'aa756ea1d279a03ca7919518a15cd63b368a20a0', class: "w-20 h-20", icon: "chevron-right" }))));
4275
4532
  }
4276
4533
  };
4277
4534
 
@@ -4503,7 +4760,7 @@ const EdsLink = class {
4503
4760
  const labelClasses = this.hideLabelOnSmallScreen
4504
4761
  ? 'hidden lg:flex' // Tailwind example: hidden on small screens, visible on larger
4505
4762
  : '';
4506
- return (index.h("a", { key: '929b7318ec6475113125e40d789476df76e59e38', class: `${classes || ''} ${this.extraClass || ''}`, href: isInteractive ? this.url : undefined, target: this.external && isInteractive ? '_blank' : undefined, rel: this.external && isInteractive ? 'noopener noreferrer' : undefined, tabIndex: isInteractive ? 0 : -1, "aria-label": isIconOnly ? this.ariaLabel || 'Link' : undefined, "aria-disabled": this.disabled ? 'true' : undefined, "aria-current": this.current ? 'page' : undefined, role: this.disabled ? 'link' : undefined, download: this.download ? '' : undefined, onClick: (event) => this.handleClick(event), onKeyDown: (event) => this.handleKeyDown(event) }, index.h("span", { key: '4b965dcb07ebca43577b0dcd9f2d11495caa761a', class: "z-1 relative inline-flex items-center justify-center" }, this.renderLeftIcon(), this.label && index.h("span", { key: 'a4327fe130fb8c3962096eff3415ad62e19230f4', class: labelClasses }, this.label), this.renderRightIcon())));
4763
+ return (index.h("a", { key: 'c09fd68443e1c98a1bfb679b669f9fecfb349548', class: `${classes || ''} ${this.extraClass || ''}`, href: isInteractive ? this.url : undefined, target: this.external && isInteractive ? '_blank' : undefined, rel: this.external && isInteractive ? 'noopener noreferrer' : undefined, tabIndex: isInteractive ? 0 : -1, "aria-label": isIconOnly ? this.ariaLabel || 'Link' : undefined, "aria-disabled": this.disabled ? 'true' : undefined, "aria-current": this.current ? 'page' : undefined, role: this.disabled ? 'link' : undefined, download: this.download ? '' : undefined, onClick: (event) => this.handleClick(event), onKeyDown: (event) => this.handleKeyDown(event) }, index.h("span", { key: '5bf88be39965ca8693daa611b4ca9a85cefb30d3', class: "z-1 relative inline-flex items-center justify-center" }, this.renderLeftIcon(), this.label && index.h("span", { key: 'd92b36812200d809cbccfd9da7f2387a7de80699', class: labelClasses }, this.label), this.renderRightIcon())));
4507
4764
  }
4508
4765
  get el() { return index.getElement(this); }
4509
4766
  };
@@ -4571,7 +4828,7 @@ const EdsLogo = class {
4571
4828
  }
4572
4829
  render() {
4573
4830
  const logoContent = this.getLogo();
4574
- return (index.h("a", { key: 'fff2a45eb8b41f59026ff7033824484339e3c0a9', href: this.href, onClick: () => this.handleClick(), class: "eds-logo-wrapper", "aria-label": this.label }, index.h("div", { key: 'bc13988a739af1c94d5eadbabf558cbbb10927b8', innerHTML: logoContent })));
4831
+ return (index.h("a", { key: '550cb4d73702a6a7053adfb5ebe67ff4201e98ad', href: this.href, onClick: () => this.handleClick(), class: "eds-logo-wrapper", "aria-label": this.label }, index.h("div", { key: '141b0faa05a2d51d3ca97242aa910e53e910ad9d', innerHTML: logoContent })));
4575
4832
  }
4576
4833
  get el() { return index.getElement(this); }
4577
4834
  };
@@ -4761,19 +5018,19 @@ const EdsNps = class {
4761
5018
  }
4762
5019
  render() {
4763
5020
  const count = this.max - this.min + 1;
4764
- const fallback = 0;
4765
- return (index.h("div", { key: 'd675e1e4ecc306511c0324d0b76ee66237cb6738', class: "eds-nps" }, index.h("eds-input-label", { key: '2eede06f6ee166c36b0cf315a35435c89c3c0ba5', id: "nps-question", name: "nps-question", label: this.question }), index.h("div", { key: '16105649fe6b3b229127c9a741367a6381db774f', role: "group", id: "nps-buttons", "aria-labelledby": "nps-question", class: "grid grid-cols-11", onKeyDown: (e) => this.handleKeyNav(e) }, Array.from({ length: count }, (_, i) => {
5021
+ //onst fallback = 0;
5022
+ return (index.h("div", { key: '51e0d272693fd42d1f239f8498d9a5744dead8d7', class: "eds-nps" }, index.h("eds-input-label", { key: 'f9d3b65985e221f9608da3aba22cc1dc4dd54417', id: "nps-question", name: "nps-question", label: this.question }), index.h("div", { key: '00b22eff70fd1dd3d210e17aaef5df2057f99bb7', role: "group", id: "nps-buttons", "aria-labelledby": "nps-question", class: "grid grid-cols-11", onKeyDown: (e) => this.handleKeyNav(e) }, Array.from({ length: count }, (_, i) => {
4766
5023
  const val = this.min + i;
4767
5024
  const isSelected = val === this.selectedValue;
4768
- const tabIndex = this.selectedValue === null ? (i === fallback ? 0 : -1) : isSelected ? 0 : -1;
5025
+ const tabIndex = isSelected ? 0 : -1;
4769
5026
  return (index.h("div", { class: "grid-col-span-1", key: val }, index.h("eds-button", { tabindex: tabIndex, label: `${val}`, "aria-label": `${val}`, intent: isSelected ? 'primary' : 'ghost', "extra-class": "!block !px-0 w-full", triggerClick: () => this.handleClick(val) })));
4770
- })), index.h("div", { key: 'e7bd70a4f1a8083d9c3e08fdf8de55999a27d92d', class: "flex justify-between mt-8" }, index.h("span", { key: 'ea3fbbac20a162e7cf5f2d5e3321c8bc9297014e', class: "f-ui-04 text-light ml-4" }, this.leftLabel), index.h("span", { key: '3ff59cde0c532587ead8b8a1eaaff6c630e7e7ac', class: "f-ui-04 text-light mr-4" }, this.rightLabel))));
5027
+ })), index.h("div", { key: '7289bd6476a2080be3c02011240e2493b84079e5', class: "flex justify-between mt-8" }, index.h("span", { key: 'ebfcebd9aa3d11cf298e44987debd8edef1f6e40', class: "f-ui-04 text-light ml-4" }, this.leftLabel), index.h("span", { key: '002f9878b267439af9f83f9ffd1b52eaef46b929', class: "f-ui-04 text-light mr-4" }, this.rightLabel))));
4771
5028
  }
4772
5029
  get el() { return index.getElement(this); }
4773
5030
  };
4774
5031
  EdsNps.style = EdsNpsStyle0;
4775
5032
 
4776
- const edsPaginationCss = "ul,menu{list-style:none;margin:0;padding:0}.f-ui-03{font-family:var(--f-ui-03-fontFamily);font-weight:var(--f-ui-03-fontWeight);font-size:var(--f-ui-03-fontSize);line-height:var(--f-ui-03-lineHeight);letter-spacing:var(--f-ui-03-letterSpacing)}.f-ui-03-light{font-family:var(--f-ui-03-light-fontFamily);font-weight:var(--f-ui-03-light-fontWeight);font-size:var(--f-ui-03-light-fontSize);line-height:var(--f-ui-03-light-lineHeight);letter-spacing:var(--f-ui-03-light-letterSpacing)}.f-ui-02{font-family:var(--f-ui-02-fontFamily);font-weight:var(--f-ui-02-fontWeight);font-size:var(--f-ui-02-fontSize);line-height:var(--f-ui-02-lineHeight);letter-spacing:var(--f-ui-02-letterSpacing)}.f-ui-02-light{font-family:var(--f-ui-02-light-fontFamily);font-weight:var(--f-ui-02-light-fontWeight);font-size:var(--f-ui-02-light-fontSize);line-height:var(--f-ui-02-light-lineHeight);letter-spacing:var(--f-ui-02-light-letterSpacing)}.text-light{color:var(--grey-700)}.text-lightest{color:var(--grey-500)}.mb-28{margin-bottom:1.75rem}.w-full{width:100%}.w-20{width:1.25rem}.h-20{height:1.25rem}.h-28{height:1.75rem}.h-32{height:2rem}.h-36{height:2.25rem}.text-center{text-align:center}.flex{display:flex}.inline-flex{display:inline-flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-x-8{-moz-column-gap:0.5rem;column-gap:0.5rem}.mr-auto{margin-right:auto}.ml-auto{margin-left:auto}.\\!p-8{padding:0.5rem !important}.ml-4{margin-left:0.25rem}.mr-4{margin-right:0.25rem}.hidden{display:none}.gap-1{gap:0.0625rem}.py-4{padding-top:0.25rem;padding-bottom:0.25rem}.transition-colors{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}@media (min-width: 900px){.lg\\:\\!pr-12{padding-right:0.75rem !important}.lg\\:flex{display:flex}}";
5033
+ const edsPaginationCss = "ul,menu{list-style:none;margin:0;padding:0}.f-ui-03{font-family:var(--f-ui-03-fontFamily);font-weight:var(--f-ui-03-fontWeight);font-size:var(--f-ui-03-fontSize);line-height:var(--f-ui-03-lineHeight);letter-spacing:var(--f-ui-03-letterSpacing)}.f-ui-03-light{font-family:var(--f-ui-03-light-fontFamily);font-weight:var(--f-ui-03-light-fontWeight);font-size:var(--f-ui-03-light-fontSize);line-height:var(--f-ui-03-light-lineHeight);letter-spacing:var(--f-ui-03-light-letterSpacing)}.f-ui-02{font-family:var(--f-ui-02-fontFamily);font-weight:var(--f-ui-02-fontWeight);font-size:var(--f-ui-02-fontSize);line-height:var(--f-ui-02-lineHeight);letter-spacing:var(--f-ui-02-letterSpacing)}.f-ui-02-light{font-family:var(--f-ui-02-light-fontFamily);font-weight:var(--f-ui-02-light-fontWeight);font-size:var(--f-ui-02-light-fontSize);line-height:var(--f-ui-02-light-lineHeight);letter-spacing:var(--f-ui-02-light-letterSpacing)}.text-light{color:var(--grey-700)}.text-lightest{color:var(--grey-500)}.mb-28{margin-bottom:1.75rem}.w-full{width:100%}.w-20{width:1.25rem}.h-20{height:1.25rem}.h-28{height:1.75rem}.h-32{height:2rem}.h-36{height:2.25rem}.text-center{text-align:center}.flex{display:flex}.inline-flex{display:inline-flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-x-8{-moz-column-gap:0.5rem;column-gap:0.5rem}.mr-auto{margin-right:auto}.ml-auto{margin-left:auto}.\\!p-8{padding:0.5rem !important}.ml-4{margin-left:0.25rem}.mr-4{margin-right:0.25rem}.hidden{display:none}.gap-1{gap:0.0625rem}.py-4{padding-top:0.25rem;padding-bottom:0.25rem}.transition-colors{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media (min-width: 900px){.lg\\:\\!pr-12{padding-right:0.75rem !important}.lg\\:flex{display:flex}}";
4777
5034
  const EdsPaginationStyle0 = edsPaginationCss;
4778
5035
 
4779
5036
  const EdsPagination = class {
@@ -5004,7 +5261,7 @@ const EdsPagination = class {
5004
5261
  if (newPage !== this.currentPage) {
5005
5262
  this.links = this.links.map((link) => typeof link === 'object' ? Object.assign(Object.assign({}, link), { current: parseInt(link.label) === newPage }) : link);
5006
5263
  const pageChangeEvent = new CustomEvent('page', {
5007
- detail: newPage,
5264
+ detail: { value: newPage },
5008
5265
  bubbles: true,
5009
5266
  composed: true
5010
5267
  });
@@ -5014,7 +5271,7 @@ const EdsPagination = class {
5014
5271
  }
5015
5272
  render() {
5016
5273
  const navigableIndex = -1; // Track index for keyboard navigation
5017
- return (index.h("div", { key: '753a7e573a09e7fcb66eac9e11e00f690c49543d' }, this.total > 0 && this.mode === 'default' && (index.h("p", { key: '6286d71622614a835d471812a55d5c6bef37a13e', class: "f-ui-03 text-light mb-28 w-full text-center", "aria-live": "polite", id: "pagination-info" }, index.h("span", { key: 'daa7bfa31e736a40c46641fed88653d51eeabc67', class: "text-light sr-only" }, "Results:"), this.pageResults())), this.mode === 'navigator' || (this.lastPage && this.lastPage > 1) ? (index.h("nav", { "aria-label": "Pagination Navigation", "aria-describedby": this.mode === 'default' ? 'pagination-info' : undefined, onKeyDown: this.handleKeyDown }, index.h("ul", { class: "flex items-center justify-center gap-x-8", role: "list" }, index.h("li", { class: "mr-auto" }, this.useButtons ? (index.h("div", { class: "pagination-button-wrapper", onFocus: () => this.handleItemFocus(navigableIndex) }, index.h("eds-button", { label: this.prevLabel, disabled: this.mode === 'navigator' ? !this.prevUrl : this.isFirstPage(), "aria-label": "Go to previous page", icon: "chevron-left", "icon-pos": "left", size: "small", "icon-small": "true", intent: "ghost", "extra-class": "!p-8 lg:!pr-12 pagination-button", onClick: (event) => {
5274
+ return (index.h("div", { key: 'bf34cb68555555ef984592b261929cfb5ef93048' }, this.total > 0 && this.mode === 'default' && (index.h("p", { key: '47b8034e6fd839151cdaff04d4df43fec520ce40', class: "f-ui-03 text-light mb-28 w-full text-center", "aria-live": "polite", id: "pagination-info" }, index.h("span", { key: 'd9d340393777b7b6e808fa21d38f691f1002b363', class: "text-light sr-only" }, "Results:"), this.pageResults())), this.mode === 'navigator' || (this.lastPage && this.lastPage > 1) ? (index.h("nav", { "aria-label": "Pagination Navigation", "aria-describedby": this.mode === 'default' ? 'pagination-info' : undefined, onKeyDown: this.handleKeyDown }, index.h("ul", { class: "flex items-center justify-center gap-x-8", role: "list" }, index.h("li", { class: "mr-auto" }, this.useButtons ? (index.h("div", { class: "pagination-button-wrapper", onFocus: () => this.handleItemFocus(navigableIndex) }, index.h("eds-button", { label: this.prevLabel, disabled: this.mode === 'navigator' ? !this.prevUrl : this.isFirstPage(), "aria-label": "Go to previous page", icon: "chevron-left", "icon-pos": "left", size: "small", "icon-small": "true", intent: "ghost", "extra-class": "!p-8 lg:!pr-12 pagination-button", onClick: (event) => {
5018
5275
  if (this.mode === 'default' && !this.isFirstPage()) {
5019
5276
  this.handlePageClick(event, (this.currentPage || 1) - 1);
5020
5277
  }
@@ -5107,12 +5364,12 @@ const EdsRating = class {
5107
5364
  this.onSelect(next);
5108
5365
  }
5109
5366
  render() {
5110
- return (index.h("div", { key: 'bd72970d86f2dbb21d58671fc85feea3011749b3', id: "rating-buttons", role: "radiogroup", "aria-labelledby": "rating", class: "stars flex space-x-1 my-8", onKeyDown: (e) => this.handleKeyNav(e) }, Array.from({ length: this.ratingCount }, (_, index$1) => {
5367
+ return (index.h("div", { key: '764b3b37545e97f028423fd5760b882e6151f767', id: "rating-buttons", role: "group", "aria-labelledby": "rating", class: "stars flex space-x-1 my-8", onKeyDown: (e) => this.handleKeyNav(e) }, Array.from({ length: this.ratingCount }, (_, index$1) => {
5111
5368
  const starRating = index$1 + 1;
5112
5369
  const isSelected = starRating <= this.selectedRating;
5113
5370
  // Use the mapping text if available; otherwise, fall back to a generic label.
5114
5371
  const checked = this.selectedRating === starRating;
5115
- return (index.h("eds-button", { ref: (el) => (this.buttonRefs[index$1] = el), icon: this.ratingType, role: "radio", "aria-checked": checked, "aria-label": `${starRating} ${this.ratingType}${starRating > 1 ? 's' : ''}`, onClick: () => this.onSelect(starRating), tabIndex: checked || (this.selectedRating === 0 && index$1 === 0) ? 0 : -1, intent: isSelected ? 'primary' : 'ghost', size: "large", "extra-class": "p-2" // Optional padding or styling for the star button
5372
+ return (index.h("eds-button", { ref: (el) => (this.buttonRefs[index$1] = el), icon: this.ratingType, "aria-label": `${starRating} ${this.ratingType}${starRating > 1 ? 's' : ''}`, onClick: () => this.onSelect(starRating), tabIndex: checked || (this.selectedRating === 0 && index$1 === 0) ? 0 : -1, intent: isSelected ? 'primary' : 'ghost', size: "large", "extra-class": "p-2" // Optional padding or styling for the star button
5116
5373
  }));
5117
5374
  })));
5118
5375
  }
@@ -5120,40 +5377,158 @@ const EdsRating = class {
5120
5377
  };
5121
5378
  EdsRating.style = EdsRatingStyle0;
5122
5379
 
5123
- 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:0;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{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{content:counter(step);position:absolute;left:-40px;top:0;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}.mb-28{margin-bottom:1.75rem}";
5380
+ const edsSpinnerCss = ":host{display:block}.spinner{box-sizing:border-box;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.f-body-01{font-family:var(--f-body-01-fontFamily);font-weight:var(--f-body-01-fontWeight);font-size:var(--f-body-01-fontSize);line-height:var(--f-body-01-lineHeight);letter-spacing:var(--f-body-01-letterSpacing)}";
5381
+ const EdsSpinnerStyle0 = edsSpinnerCss;
5382
+
5383
+ const EdsSpinner = class {
5384
+ constructor(hostRef) {
5385
+ index.registerInstance(this, hostRef);
5386
+ this.size = 'md';
5387
+ this.variant = 'secondary';
5388
+ this.message = undefined;
5389
+ this.background = 'var(--grey-200)';
5390
+ this.fullscreen = false;
5391
+ }
5392
+ get spinnerSize() {
5393
+ switch (this.size) {
5394
+ case 'xs':
5395
+ return '1rem';
5396
+ case 'sm':
5397
+ return '4rem';
5398
+ case 'lg':
5399
+ return '8rem';
5400
+ case 'xl':
5401
+ return '10rem';
5402
+ case 'md':
5403
+ default:
5404
+ return '6rem';
5405
+ }
5406
+ }
5407
+ get spinnerThickness() {
5408
+ switch (this.size) {
5409
+ case 'xs':
5410
+ return '4px';
5411
+ case 'sm':
5412
+ return '8px';
5413
+ case 'lg':
5414
+ return '16px';
5415
+ case 'xl':
5416
+ return '20px';
5417
+ case 'md':
5418
+ default:
5419
+ return '12px';
5420
+ }
5421
+ }
5422
+ render() {
5423
+ // derive colors from variant
5424
+ const borderColor = this.variant === 'primary' ? 'var(--grey-900)' : 'var(--grey-400)';
5425
+ const bottomColor = this.variant === 'primary' ? 'var(--green-400)' : 'var(--grey-900)';
5426
+ const spinnerStyle = Object.assign({ width: this.spinnerSize, height: this.spinnerSize, border: `${this.spinnerThickness} solid ${borderColor}`, borderBottomColor: bottomColor }, (!this.fullscreen && { display: 'inline-block' }));
5427
+ // Overlay style: use fixed positioning for fullscreen,
5428
+ // and absolute positioning for inline mode.
5429
+ const overlayStyle = this.fullscreen
5430
+ ? {
5431
+ position: 'fixed',
5432
+ top: '0',
5433
+ left: '0',
5434
+ width: '100vw',
5435
+ height: '100vh',
5436
+ zIndex: '9999999',
5437
+ backgroundColor: this.background,
5438
+ display: 'flex',
5439
+ flexDirection: 'column',
5440
+ alignItems: 'center',
5441
+ justifyContent: 'center'
5442
+ }
5443
+ : {
5444
+ position: 'absolute',
5445
+ top: '0',
5446
+ left: '0',
5447
+ width: '100%',
5448
+ height: '100%',
5449
+ //zIndex: '1000',
5450
+ backgroundColor: this.background,
5451
+ display: 'flex',
5452
+ flexDirection: 'column',
5453
+ alignItems: 'center',
5454
+ justifyContent: 'center'
5455
+ };
5456
+ return (index.h(index.Host, { key: 'dbf06a1430e3a69314ec016937a9b3ba89229353' }, index.h("div", { key: '12a51b0eed154fd2c6b6ae4ce586630a8f61164a', class: "spinner-overlay", style: overlayStyle }, index.h("span", { key: '0e63b80c45efec7b226b5f4277fe00e4f7bc4f1b', class: "spinner", style: spinnerStyle }), this.message && index.h("p", { key: '8625d4589ec26c9513d1dc7a53fa17b9874fcf3c', class: "f-body-01" }, this.message))));
5457
+ }
5458
+ };
5459
+ EdsSpinner.style = EdsSpinnerStyle0;
5460
+
5461
+ const edsStepsCss = ".steps{position:sticky;margin-left:16px;margin-bottom:12px;border-left:1px solid var(--soft-color, #ddd);padding-left:23px;counter-reset:step}.steps h3{counter-increment:step;font-size:var(--f-heading-05-fontSize);font-weight:var(--f-heading-05-fontWeight);line-height:var(--f-heading-05-lineHeight);position:relative}.steps h3::before{content:counter(step);position:absolute;left:-40px;top:-2px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:1rem;border:1px solid #ccc;background:var(--grey-900);color:#fff;border-radius:50%}.steps h4,.steps h5{counter-increment:step;font-size:var(--f-heading-06-fontSize);font-weight:var(--f-heading-06-fontWeight);line-height:var(--f-heading-06-lineHeight);position:relative}.steps h4::before,.steps h5::before{content:counter(step);position:absolute;left:-40px;top:-2px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;font-size:0.875rem;border:1px solid #ccc;background:#333;color:#fff;border-radius:50%}.steps blockquote{margin-top:16px;margin-bottom:16px;font-style:italic;color:#aaa;padding-left:6px}.f-body-02{font-family:var(--f-body-02-fontFamily);font-weight:var(--f-body-02-fontWeight);font-size:var(--f-body-02-fontSize);line-height:var(--f-body-02-lineHeight);letter-spacing:var(--f-body-02-letterSpacing)}.text-light{color:var(--grey-700)}.text-lighter{color:var(--grey-600)}.my-16{margin-top:1rem;margin-bottom:1rem}.mt-16{margin-top:1rem}.mb-28{margin-bottom:1.75rem}.ml-8{margin-left:0.5rem}.gap-y-16{row-gap:1rem}.gap-x-16{-moz-column-gap:1rem;column-gap:1rem}.flex{display:flex}.grid{display:grid}.hidden{display:none}.block{display:block}.cursor-pointer{cursor:pointer}.eds-steps__title{cursor:pointer}";
5124
5462
  const EdsStepsStyle0 = edsStepsCss;
5125
5463
 
5126
5464
  const EdsSteps = class {
5127
5465
  constructor(hostRef) {
5128
5466
  index.registerInstance(this, hostRef);
5129
5467
  this.step = index.createEvent(this, "step", 7);
5130
- this.handleNext = () => {
5131
- this.activeStep = this.activeStep + 1;
5132
- if (this.activeStep < this.parsedSteps.length) {
5468
+ this.finished = index.createEvent(this, "finished", 7);
5469
+ this.next = index.createEvent(this, "next", 7);
5470
+ this.back = index.createEvent(this, "back", 7);
5471
+ this.handleTitleClick = (index) => {
5472
+ // 1) If clicking the current title, keep your existing toggle behavior
5473
+ if (index === this.activeStep) {
5474
+ this.activeStep = this.activeStep === index ? -1 : index;
5133
5475
  this.step.emit(this.activeStep);
5476
+ return;
5477
+ }
5478
+ // 2) In linear mode, block jumping *forward* when current step is gated
5479
+ const forwardBlocked = this.type === 'linear' && index > this.activeStep && this.isNextDisabledFor(this.activeStep);
5480
+ if (forwardBlocked) {
5481
+ return;
5482
+ } // do nothing when Next/Finish would be disabled
5483
+ // 3) Allow jumping back or forward when not gated
5484
+ this.activeStep = index;
5485
+ this.step.emit(this.activeStep);
5486
+ };
5487
+ this.handleNext = () => {
5488
+ const lastIndex = this.parsedSteps.length - 1;
5489
+ if (this.activeStep >= lastIndex) {
5490
+ this.activeStep = -1;
5491
+ this.finished.emit();
5492
+ return;
5493
+ }
5494
+ const target = this.activeStep + 1;
5495
+ this.next.emit(target);
5496
+ if (this.isNextDisabledFor(this.activeStep)) {
5497
+ return;
5498
+ } // block advance only if current is disabled
5499
+ this.activeStep = target;
5500
+ this.step.emit(this.activeStep);
5501
+ // 2) if using the boolean form, clear it when moving away from a step
5502
+ if (!Array.isArray(this.disableNext)) {
5503
+ this.disableNext = false;
5134
5504
  }
5135
5505
  };
5136
5506
  this.handleBack = () => {
5137
5507
  if (this.activeStep > 0) {
5138
- this.activeStep = this.activeStep - 1;
5508
+ const target = this.activeStep - 1;
5509
+ this.back.emit(target);
5510
+ this.activeStep = target;
5139
5511
  this.step.emit(this.activeStep);
5512
+ // also clear boolean form on back
5513
+ if (!Array.isArray(this.disableNext)) {
5514
+ this.disableNext = false;
5515
+ }
5140
5516
  }
5141
5517
  };
5142
5518
  this.steps = [];
5143
5519
  this.type = 'static';
5520
+ this.nextLabel = 'Next';
5521
+ this.backLabel = 'Back';
5522
+ this.finishLabel = 'Finish';
5523
+ this.disableNext = false;
5524
+ this.headingLevel = 'h4';
5144
5525
  this.activeStep = 0;
5145
5526
  }
5146
- /**
5147
- * Lifecycle method that runs when the component has fully loaded.
5148
- * It emits a custom event for each `eds-button` element contained within the breadcrumb.
5149
- */
5150
5527
  componentDidLoad() {
5151
5528
  var _a;
5152
5529
  if (this.type === 'linear') {
5153
5530
  const btns = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('eds-button');
5154
- btns === null || btns === void 0 ? void 0 : btns.forEach((btn) => {
5155
- this.emitContext(btn);
5156
- });
5531
+ btns === null || btns === void 0 ? void 0 : btns.forEach((btn) => this.emitContext(btn));
5157
5532
  }
5158
5533
  }
5159
5534
  activeStepChanged(newValue) {
@@ -5161,19 +5536,10 @@ const EdsSteps = class {
5161
5536
  var _a;
5162
5537
  const activeStepContainer = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.step')[newValue];
5163
5538
  if (activeStepContainer) {
5164
- const btns = activeStepContainer.querySelectorAll('eds-button');
5165
- btns.forEach((btn) => {
5166
- this.emitContext(btn);
5167
- });
5539
+ activeStepContainer.querySelectorAll('eds-button').forEach((btn) => this.emitContext(btn));
5168
5540
  }
5169
5541
  }, 50);
5170
5542
  }
5171
- /**
5172
- * Emits a custom event called `parentContext` for a given link element.
5173
- * This event provides context information about the breadcrumb component.
5174
- *
5175
- * @param linkElement - The link element to which the event will be dispatched.
5176
- */
5177
5543
  emitContext(linkElement) {
5178
5544
  const event = new CustomEvent('parentContext', {
5179
5545
  detail: {
@@ -5183,26 +5549,43 @@ const EdsSteps = class {
5183
5549
  });
5184
5550
  linkElement.dispatchEvent(event);
5185
5551
  }
5186
- handleStepClick(index) {
5187
- this.step.emit(index);
5188
- // In linear mode, update the active step on header click.
5189
- if (this.type === 'linear') {
5190
- this.activeStep = index;
5191
- }
5192
- }
5193
- /**
5194
- * Parse the JSON string into an array of steps.
5195
- */
5196
5552
  get parsedSteps() {
5197
5553
  return sharedUtils.parseData(this.steps);
5198
5554
  }
5555
+ isNextDisabledFor(index) {
5556
+ return Array.isArray(this.disableNext)
5557
+ ? !!this.disableNext[index] // per-step
5558
+ : index === this.activeStep && !!this.disableNext; // only active step
5559
+ }
5560
+ /** Render the semantic heading element as a clickable control only in linear mode */
5561
+ renderHeading(title, index$1) {
5562
+ const Tag = this.headingLevel;
5563
+ if (this.type === 'linear') {
5564
+ const forwardBlocked = index$1 > this.activeStep && this.isNextDisabledFor(this.activeStep);
5565
+ const onKey = (e) => {
5566
+ if (forwardBlocked) {
5567
+ return;
5568
+ }
5569
+ if (e.key === 'Enter' || e.key === ' ') {
5570
+ e.preventDefault();
5571
+ this.handleTitleClick(index$1);
5572
+ }
5573
+ };
5574
+ const isOpen = this.activeStep === index$1;
5575
+ return (index.h(Tag, { class: `eds-steps__title ${forwardBlocked ? 'is-disabled' : ''}`, role: "button", tabindex: forwardBlocked ? -1 : 0, "aria-disabled": forwardBlocked ? 'true' : 'false', "aria-expanded": isOpen, "aria-controls": `eds-step-panel-${index$1}`, onClick: () => !forwardBlocked && this.handleTitleClick(index$1), onKeyDown: onKey }, title));
5576
+ }
5577
+ return index.h(Tag, { class: "eds-steps__title" }, title);
5578
+ }
5199
5579
  render() {
5200
5580
  const steps = this.parsedSteps;
5201
5581
  if (this.type === 'linear') {
5202
- return (index.h("div", null, index.h("div", { class: "steps" }, steps.map((step, index$1) => (index.h("div", { class: "step mb-28", key: index$1 }, index.h("h3", { onClick: () => this.handleStepClick(index$1) }, step.title), this.activeStep === index$1 && (index.h("div", { class: "content" }, index.h("slot", { name: `step-${index$1}` }, index.h("div", { class: index$1 === steps.length - 1 ? 'f-body-02 text-lighter mt-16' : 'f-body-02 text-lighter my-16', innerHTML: step.content })), index.h("eds-button", { label: index$1 === steps.length - 1 ? 'Finish' : 'Continue', intent: "primary", class: "next-btn", onClick: this.handleNext }), index.h("eds-button", { label: "Back", intent: "ghostInverse", onClick: this.handleBack, disabled: index$1 === 0, "extra-class": index$1 === 0 ? 'hidden' : 'ml-8 block' })))))))));
5582
+ return (index.h("div", { class: "steps" }, steps.map((step, index$1) => {
5583
+ const isLast = index$1 === steps.length - 1;
5584
+ return (index.h("div", { class: "step mb-28", key: index$1 }, this.renderHeading(step.title, index$1), this.activeStep === index$1 && (index.h("div", { class: "content grid gap-y-16", id: `eds-step-panel-${index$1}` }, index.h("slot", { name: `step-${index$1}` }, index.h("div", { class: isLast ? 'f-body-02 text-lighter' : 'f-body-02 text-lighter', innerHTML: step.content })), index.h("div", { class: "flex items-center mt-16" }, index.h("eds-button", { label: this.backLabel, intent: "ghost", icon: "chevron-left", iconPos: "left", iconSmall: true, onClick: this.handleBack, disabled: index$1 === 0, class: index$1 === 0 ? 'hidden' : 'block', size: "small" }), index.h("eds-button", { label: isLast ? this.finishLabel : this.nextLabel, intent: "primary", icon: "chevron-right", iconSmall: true, onClick: this.handleNext, disabled: this.isNextDisabledFor(index$1), size: "small", class: "ml-8" })), index.h("slot", { name: `actions-${index$1}` })))));
5585
+ })));
5203
5586
  }
5204
- // Static mode: show all steps with their content, no navigation buttons.
5205
- return (index.h("div", { class: "steps" }, steps.map((step, index$1) => (index.h("div", { class: "step mb-28", key: index$1 }, index.h("h3", null, step.title), index.h("div", { class: "content" }, index.h("slot", { name: `step-${index$1}` }, index.h("div", { class: index$1 === steps.length - 1 ? 'f-body-02 text-lighter mt-16' : 'f-body-02 text-lighter my-16', innerHTML: step.content }))))))));
5587
+ // Static: no navigation buttons
5588
+ return (index.h("div", { class: "steps" }, steps.map((step, index$1) => (index.h("div", { class: "step mb-28", key: index$1 }, this.renderHeading(step.title, index$1), index.h("div", { class: "content", id: `eds-step-panel-${index$1}` }, index.h("slot", { name: `step-${index$1}` }, index.h("div", { class: index$1 === steps.length - 1 ? 'f-body-02 text-lighter mt-16' : 'f-body-02 text-lighter my-16', innerHTML: step.content }))))))));
5206
5589
  }
5207
5590
  get el() { return index.getElement(this); }
5208
5591
  static get watchers() { return {
@@ -5211,22 +5594,51 @@ const EdsSteps = class {
5211
5594
  };
5212
5595
  EdsSteps.style = EdsStepsStyle0;
5213
5596
 
5214
- const edsStepsV2Css = "h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}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;top:0;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{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{content:counter(step);position:absolute;left:-40px;top:0;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))}";
5597
+ const edsStepsV2Css = ".steps{position:sticky;margin-left:16px;border-left:1px solid var(--soft-color, #ddd);padding-left:23px;counter-reset:step}.steps h3{counter-increment:step;font-size:var(--f-heading-05-fontSize);font-weight:var(--f-heading-05-fontWeight);line-height:var(--f-heading-05-lineHeight);position:relative}.steps h3::before{content:counter(step);position:absolute;left:-40px;top:-2px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:1rem;border:1px solid #ccc;background:var(--grey-900);color:#fff;border-radius:50%}.steps h4,.steps h5{counter-increment:step;font-size:var(--f-heading-06-fontSize);font-weight:var(--f-heading-06-fontWeight);line-height:var(--f-heading-06-lineHeight);position:relative}.steps h4::before,.steps h5::before{content:counter(step);position:absolute;left:-40px;top:-2px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;font-size:0.875rem;border:1px solid #ccc;background:#333;color:#fff;border-radius:50%}.steps blockquote{margin-top:16px;margin-bottom:16px;font-style:italic;color:#aaa;padding-left:6px}.steps-img-placeholder{width:100%;height:200px;background:linear-gradient(to bottom, #9CE142, #00C959, #00A595);}.bg-\\[\\#00A595\\]{--tw-bg-opacity:1;background-color:rgb(0 165 149 / var(--tw-bg-opacity))}.relative{position:relative}.f-heading-04{font-family:var(--f-heading-04-fontFamily);font-weight:var(--f-heading-04-fontWeight);font-size:var(--f-heading-04-fontSize);line-height:var(--f-heading-04-lineHeight);letter-spacing:var(--f-heading-04-letterSpacing)}.f-body-02{font-family:var(--f-body-02-fontFamily);font-weight:var(--f-body-02-fontWeight);font-size:var(--f-body-02-fontSize);line-height:var(--f-body-02-lineHeight);letter-spacing:var(--f-body-02-letterSpacing)}.text-inverse{color:var(--white)}.text-light{color:var(--grey-700)}.text-lighter{color:var(--grey-600)}.w-full{width:100%}.h-52{height:3.25rem}.h-96{height:6rem}.h-\\[200px\\]{height:200px}.mt-16{margin-top:1rem}.my-16{margin-top:1rem;margin-bottom:1rem}.mb-12{margin-bottom:0.75rem}.last\\:mb-0:last-child{margin-bottom:0rem}.last\\:mt-16:last-child{margin-top:1rem}.border-softer{border:2px solid rgba(0, 0, 0, .1)}.relative{position:relative}.flex{display:flex}.inline-flex{display:inline-flex}.grow{flex-grow:1}.rounded{border-radius:0.25rem}.rounded-lg{border-radius:16px}.rounded-t-lg{border-top-left-radius:16px;border-top-right-radius:16px}.border-2{border-width:2px}.p-8{padding:0.5rem}.p-24{padding:1.5rem}.bg-default{background-color:var(--grey-200)}.bg-inverse{background-color:var(--white)}.top-2{top:0.125rem}.bottom-2{bottom:0.125rem}.left-2{left:0.125rem}.right-2{right:0.125rem}.-translate-x-1\\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.overflow-hidden{overflow:hidden}.space-y-8{--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.space-y-16{--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.ml-8{margin-left:0.5rem}.gap-y-16{row-gap:1rem}.gap-x-16{-moz-column-gap:1rem;column-gap:1rem}.flex{display:flex}.grid{display:grid}.hidden{display:none}.block{display:block}.px-8{padding-left:0.5rem;padding-right:0.5rem}.pb-20{padding-bottom:1.25rem}.eds-steps__title{cursor:pointer}";
5215
5598
  const EdsStepsV2Style0 = edsStepsV2Css;
5216
5599
 
5217
5600
  const EdsStepsV2 = class {
5218
5601
  constructor(hostRef) {
5219
5602
  index.registerInstance(this, hostRef);
5220
5603
  this.step = index.createEvent(this, "step", 7);
5604
+ this.finished = index.createEvent(this, "finished", 7);
5605
+ this.next = index.createEvent(this, "next", 7);
5606
+ this.back = index.createEvent(this, "back", 7);
5607
+ this.handleTitleClick = (index) => {
5608
+ // If clicking the same title, keep your existing toggle behavior
5609
+ if (index === this.activeStep) {
5610
+ this.activeStep = this.activeStep === index ? -1 : index;
5611
+ this.step.emit(this.activeStep);
5612
+ return;
5613
+ }
5614
+ // Block *forward* jumps when progression is gated by disableNext (boolean)
5615
+ const forwardBlocked = this.type === 'linear' && index > this.activeStep && this.isNextDisabledForCurrent();
5616
+ if (forwardBlocked) {
5617
+ return;
5618
+ }
5619
+ // Allow back (or forward when not gated)
5620
+ this.activeStep = index;
5621
+ this.step.emit(this.activeStep);
5622
+ };
5221
5623
  this.handleNext = () => {
5222
- this.activeStep = this.activeStep + 1;
5223
- if (this.activeStep < this.parsedSteps.length) {
5624
+ const lastIndex = this.parsedSteps.length - 1;
5625
+ if (this.activeStep >= lastIndex) {
5626
+ this.finished.emit();
5627
+ this.activeStep = -1; // collapse last step
5628
+ return;
5629
+ }
5630
+ const target = this.activeStep + 1;
5631
+ this.next.emit(target);
5632
+ if (!this.disableNext) {
5633
+ this.activeStep = target;
5224
5634
  this.step.emit(this.activeStep);
5225
5635
  }
5226
5636
  };
5227
5637
  this.handleBack = () => {
5228
5638
  if (this.activeStep > 0) {
5229
- this.activeStep = this.activeStep - 1;
5639
+ const target = this.activeStep - 1;
5640
+ this.back.emit(target);
5641
+ this.activeStep = target;
5230
5642
  this.step.emit(this.activeStep);
5231
5643
  }
5232
5644
  };
@@ -5236,6 +5648,11 @@ const EdsStepsV2 = class {
5236
5648
  this.imageWidth = undefined;
5237
5649
  this.bg = true;
5238
5650
  this.message = undefined;
5651
+ this.nextLabel = 'Next';
5652
+ this.backLabel = 'Back';
5653
+ this.finishLabel = 'Finish';
5654
+ this.disableNext = false;
5655
+ this.headingLevel = 'h4';
5239
5656
  this.activeStep = 0;
5240
5657
  }
5241
5658
  componentDidLoad() {
@@ -5274,24 +5691,39 @@ const EdsStepsV2 = class {
5274
5691
  'border-softer effect-focus-within relative rounded-lg border-2'
5275
5692
  ].join(' ');
5276
5693
  }
5277
- handleStepClick(index) {
5278
- this.step.emit(index);
5279
- // In linear mode, update the active step on header click.
5280
- if (this.type === 'linear') {
5281
- this.activeStep = index;
5282
- }
5283
- }
5284
5694
  /**
5285
5695
  * Parses the steps property into an array of Step objects.
5286
5696
  */
5287
5697
  get parsedSteps() {
5288
5698
  return sharedUtils.parseData(this.steps);
5289
5699
  }
5700
+ isNextDisabledForCurrent() {
5701
+ return !!this.disableNext;
5702
+ }
5703
+ /** Render the semantic heading element */
5704
+ renderHeading(title, index$1) {
5705
+ const Tag = this.headingLevel;
5706
+ if (this.type === 'linear') {
5707
+ const isOpen = this.activeStep === index$1;
5708
+ const forwardBlocked = index$1 > this.activeStep && this.isNextDisabledForCurrent();
5709
+ const onKey = (e) => {
5710
+ if (forwardBlocked) {
5711
+ return;
5712
+ }
5713
+ if (e.key === 'Enter' || e.key === ' ') {
5714
+ e.preventDefault();
5715
+ this.handleTitleClick(index$1);
5716
+ }
5717
+ };
5718
+ return (index.h(Tag, { class: `eds-steps__title ${forwardBlocked ? 'is-disabled' : ''}`, role: "button", tabindex: forwardBlocked ? -1 : 0, "aria-disabled": forwardBlocked ? 'true' : 'false', "aria-expanded": isOpen, "aria-controls": `eds-step-panel-${index$1}`, onClick: () => !forwardBlocked && this.handleTitleClick(index$1), onKeyDown: onKey }, title));
5719
+ }
5720
+ return index.h(Tag, { class: "eds-steps__title" }, title);
5721
+ }
5290
5722
  render() {
5291
5723
  const steps = this.parsedSteps;
5292
- return (index.h("div", { key: 'bbcec2dd9a5096eb0cecf0d413892e5708822f52', class: this.articleClasses() }, this.imageSrc ? (index.h("div", { class: "w-full mb-12 rounded-t-lg overflow-hidden border-2" }, index.h("eds-img", { src: this.imageSrc, width: this.imageWidth, "with-bg": "true", "lazy-load": "true", alt: "Step illustration" }))) : (this.message && (index.h("div", { class: "w-full bg-[#00A595] rounded-t-lg border-2" }, index.h("div", { class: "p-24" }, index.h("span", { class: "text-inverse f-heading-04 " }, this.message))))), index.h("div", { key: 'db0618aad7d5986fcb0889f1c439be73f83a00df', class: "p-8" }, this.type === 'linear' ? (index.h("div", { class: "steps" }, steps.map((step, index$1) => (index.h("div", { class: index$1 === 0 ? 'step' : 'step space-y-16', key: index$1 }, index.h("h3", { onClick: () => this.handleStepClick(index$1) }, step.title), this.activeStep === index$1 && (index.h("div", { class: "content" }, index.h("slot", { name: `step-${index$1}` }, index.h("div", { class: index$1 === steps.length - 1 ? 'f-body-02 text-lighter mt-16' : 'f-body-02 text-lighter my-16', innerHTML: step.content })), index.h("eds-button", { label: index$1 === steps.length - 1 ? 'Finish' : 'Continue', intent: "primary", class: "next-btn", onClick: this.handleNext }), index.h("eds-button", { label: "Back", intent: "ghostInverse", onClick: this.handleBack, disabled: index$1 === 0, "extra-class": index$1 === 0 ? 'hidden' : 'ml-8 block' })))))))) : (
5724
+ return (index.h("div", { key: 'b486aa34dfab4902cd6569cc2ce228104ca536cd', class: this.articleClasses() }, this.imageSrc ? (index.h("div", { class: "w-full mb-12 rounded-t-lg overflow-hidden border-2" }, index.h("eds-img", { src: this.imageSrc, width: this.imageWidth, "with-bg": "true", "lazy-load": "true", alt: "Step illustration" }))) : (this.message && (index.h("div", { class: "w-full bg-[#00A595] rounded-t-lg border-2" }, index.h("div", { class: "p-24" }, index.h("span", { class: "text-inverse f-heading-04 " }, this.message))))), index.h("div", { key: 'e2a928ecb67caed4885c9e364621b422249610f1', class: "pb-20 px-8" }, this.type === 'linear' ? (index.h("div", { class: "steps" }, steps.map((step, index$1) => (index.h("div", { class: index$1 === 0 ? 'step' : 'step space-y-16', key: index$1 }, this.renderHeading(step.title, index$1), this.activeStep === index$1 && (index.h("div", { class: "content grid gap-y-16", id: `eds-step-panel-${index$1}` }, index.h("slot", { name: `step-${index$1}` }, index.h("div", { class: index$1 === steps.length - 1 ? 'f-body-02 text-lighter' : 'f-body-02 text-lighter', innerHTML: step.content })), index.h("div", { class: "flex items-center" }, index.h("eds-button", { label: this.backLabel, intent: "ghost", icon: "chevron-left", iconPos: "left", iconSmall: true, onClick: this.handleBack, disabled: index$1 === 0, class: index$1 === 0 ? 'hidden' : 'block', size: "small" }), index.h("eds-button", { label: index$1 === steps.length - 1 ? this.finishLabel : this.nextLabel, intent: "primary", icon: "chevron-right", iconSmall: true, onClick: this.handleNext, disabled: this.disableNext, size: "small", class: "ml-8" }))))))))) : (
5293
5725
  // Static mode: show all steps with their content.
5294
- index.h("div", { class: "steps space-y-8" }, steps.map((step, index$1) => (index.h("div", { class: "step", key: index$1 }, index.h("h3", { onClick: () => this.handleStepClick(index$1) }, step.title), index.h("div", { class: "content" }, index.h("slot", { name: `step-${index$1}` }, index.h("div", { class: index$1 === steps.length - 1 ? 'f-body-02 text-lighter mt-16' : 'f-body-02 text-lighter my-16', innerHTML: step.content })))))))))));
5726
+ index.h("div", { class: "steps space-y-8" }, steps.map((step, index$1) => (index.h("div", { class: "step", key: index$1 }, this.renderHeading(step.title, index$1), index.h("div", { class: "content", id: `eds-step-panel-${index$1}` }, index.h("slot", { name: `step-${index$1}` }, index.h("div", { class: index$1 === steps.length - 1 ? 'f-body-02 text-lighter mt-16' : 'f-body-02 text-lighter', innerHTML: step.content })))))))))));
5295
5727
  }
5296
5728
  get el() { return index.getElement(this); }
5297
5729
  static get watchers() { return {
@@ -5350,17 +5782,17 @@ const EdsSwitch = class {
5350
5782
  : this.labelOff
5351
5783
  : 'Toggle switch'
5352
5784
  : undefined;
5353
- return (index.h("div", { key: 'f4c99a2ec360af6030de11698bab82833b3f415f', class: "switch-container" }, this.labelOff && (index.h("span", { key: '8bb8d063e744c194c0d44a0c371ae8224f9611cb', id: `${switchId}-off`, class: "switch-label switch-label--off mr-8" }, this.labelOff)), index.h("button", { key: 'ccc49c8ac6f639707c90822e24f3ae3ab8f2c26c', 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: {
5785
+ return (index.h("div", { key: 'd73bf797be76e256e065ab8b4fbe68a44802d3f1', class: "switch-container" }, this.labelOff && (index.h("span", { key: 'f4897e3d9948358a82bd61ea26c86e0d2eba81b5', id: `${switchId}-off`, class: "switch-label switch-label--off mr-8" }, this.labelOff)), index.h("button", { key: 'a01753fce0fedbf8a25d2cd64c662da8e69fef95', id: switchId, tabindex: this.disabled ? '-1' : '0', type: "button", role: "switch", "aria-checked": this.checked ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-labelledby": labelledBy.length > 0 ? labelledBy.join(' ') : undefined, "aria-label": accessibleLabel, class: {
5354
5786
  switch: true,
5355
5787
  'switch--checked': this.checked,
5356
5788
  'switch--disabled': this.disabled
5357
- }, onClick: this.toggleSwitch, onKeyDown: this.handleKeyDown, disabled: this.disabled }, index.h("span", { key: '2275930bc9909c0a95c6c10e28f715fe1afe9294', class: "switch-handle" })), this.labelOn && (index.h("span", { key: 'd789fd15943c1fadf1f87c55059261eaf5e05a8f', id: `${switchId}-on`, class: "switch-label switch-label--on ml-8" }, this.labelOn))));
5789
+ }, onClick: this.toggleSwitch, onKeyDown: this.handleKeyDown, disabled: this.disabled }, index.h("span", { key: 'eee315ce803b246cbe73e9d42635cbaa775febdb', class: "switch-handle" })), this.labelOn && (index.h("span", { key: 'f1229ffea8041dea2237a032292a4465fc76e216', id: `${switchId}-on`, class: "switch-label switch-label--on ml-8" }, this.labelOn))));
5358
5790
  }
5359
5791
  get el() { return index.getElement(this); }
5360
5792
  };
5361
5793
  EdsSwitch.style = EdsSwitchStyle0;
5362
5794
 
5363
- const edsTableCss = "table{text-indent:0;border-color:inherit;border-collapse:collapse;}.container{width:calc(var(--container-width, 100%) - (2 * var(--breakout-container-outer-gutter, var(--container-outer-gutter, var(--outer-gutter, 0)))));margin-right:auto;margin-left:auto}.container>*{--container-outer-gutter:0;--breakout-container-outer-gutter:0}.pt-32{padding-top:2rem}.pt-40{padding-top:2.5rem}.pt-48{padding-top:3rem}.pb-28{padding-bottom:1.75rem}.pb-60{padding-bottom:3.75rem}.mt-20{margin-top:1.25rem}.mt-28{margin-top:1.75rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.overflow-x-auto{overflow-x:auto}.mt-6{margin-top:0.375rem}.p-0{padding:0rem}.m-0{margin:0rem}.border{border-width:1px}.border-softer{border:1px solid rgba(0, 0, 0, .1)}.even\\:bg-inverse-softer:nth-child(even){background-color:rgba(255, 255, 255, .15)}.px-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}";
5795
+ const edsTableCss = "table{text-indent:0;border-color:inherit;border-collapse:collapse;}.container{width:calc(var(--container-width, 100%) - (2 * var(--breakout-container-outer-gutter, var(--container-outer-gutter, var(--outer-gutter, 0)))));margin-right:auto;margin-left:auto}.container>*{--container-outer-gutter:0;--breakout-container-outer-gutter:0}.pt-32{padding-top:2rem}.pt-40{padding-top:2.5rem}.pt-48{padding-top:3rem}.pb-28{padding-bottom:1.75rem}.pb-60{padding-bottom:3.75rem}.mt-20{margin-top:1.25rem}.mt-28{margin-top:1.75rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.overflow-x-auto{overflow-x:auto}.mt-6{margin-top:0.375rem}.p-0{padding:0rem}.p-4{padding:0.25rem}.m-0{margin:0rem}.border{border-width:1px}.border-softer{border:1px solid rgba(0, 0, 0, .1)}.even\\:bg-inverse-softer:nth-child(even){background-color:rgba(255, 255, 255, .15)}.px-8{padding-left:0.5rem;padding-right:0.5rem}.px-20{padding-left:1.25rem;padding-right:1.25rem}.py-8{padding-top:0.5rem;padding-bottom:0.5rem}.f-ui-01{font-family:var(--f-ui-01-fontFamily);font-weight:var(--f-ui-01-fontWeight);font-size:var(--f-ui-01-fontSize);line-height:var(--f-ui-01-lineHeight);letter-spacing:var(--f-ui-01-letterSpacing)}.f-ui-02{font-family:var(--f-ui-02-fontFamily);font-weight:var(--f-ui-02-fontWeight);font-size:var(--f-ui-02-fontSize);line-height:var(--f-ui-02-lineHeight);letter-spacing:var(--f-ui-02-letterSpacing)}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.text-center{text-align:center}.break-words{overflow-wrap:anywhere}";
5364
5796
  const EdsTableStyle0 = edsTableCss;
5365
5797
 
5366
5798
  const EdsTable = class {
@@ -5488,7 +5920,7 @@ const EdsTable = class {
5488
5920
  }
5489
5921
  const paginationEl = this.hostEl.shadowRoot.querySelector('eds-pagination');
5490
5922
  if (paginationEl && !paginationEl.hasAttribute('listener-attached')) {
5491
- paginationEl.addEventListener('page', (event) => this.handlePageChange(event.detail));
5923
+ paginationEl.addEventListener('page', (event) => this.handlePageChange(event.detail.value));
5492
5924
  paginationEl.setAttribute('listener-attached', 'true');
5493
5925
  }
5494
5926
  }
@@ -5537,7 +5969,9 @@ const EdsTable = class {
5537
5969
  return (index.h("eds-input-field", { name: `chc-${actionName}`, label: act.label, type: "checkbox", checked: checked, onChange: (e) => this.emitAction(act.name, row, e.target.checked) }));
5538
5970
  }
5539
5971
  // Let all action buttons be focusable naturally
5540
- return (index.h("eds-button", { label: act.label, icon: act.icon, pill: true, size: "small", intent: "ghost", tabIndex: 0, onClick: () => this.emitAction(act.name, row) }));
5972
+ const showLabel = act.showLabel === true;
5973
+ const btn = (index.h("eds-button", { icon: act.icon, label: showLabel ? act.label : null, iconPos: "left", pill: true, size: "small", intent: "ghost", tabIndex: 0, onClick: () => this.emitAction(act.name, row) }));
5974
+ return showLabel ? btn : index.h("eds-tooltip", { content: act.label }, btn);
5541
5975
  }
5542
5976
  emitAction(actionName, row, checked) {
5543
5977
  analytics.sendAnalytics({
@@ -5583,7 +6017,7 @@ const EdsTable = class {
5583
6017
  const columnWidth = visibleColumnsCount > 0 ? Math.floor((currentContainerWidth / visibleColumnsCount) * this.divisionFactor()) : 100;
5584
6018
  const paginatedRows = this.getPaginatedRows();
5585
6019
  const lastPage = Math.ceil(this.totalRows / this.rowsPerPage);
5586
- return (index.h("div", { key: '87e7cc3c87618ede91bb51d7a07cd597a438d6c5' }, this.searchEnabled && (index.h("div", { key: '6b77700a913e272eef4c932d40c5c5d001ff6b5c' }, index.h("eds-input-field", { key: 1, name: "search", "aria-label": "Search", type: "text", placeholder: "Search...", onInput: (event) => this.handleSearch(event) }))), index.h("div", { key: '6f2ffc7a3ba2cc8e8194670a7ecb9e237f7dc60a', class: "mt-20" }, index.h("table", { key: '0227d3029f30ab9928cd01ba8dc2eccde2073f47', class: "block overflow-x-auto mt-6 p-0" }, index.h("thead", { key: 'c1f844d8413b596d5ca07d6b79ebd36c8a17f51f' }, index.h("tr", { key: 'caadaaf66314e3ea7d47a748b6e899389a7e2d55', class: "m-0 p-0 border border-softer even:bg-inverse-softer" }, this.columns.map((col) => {
6020
+ return (index.h("div", { key: '0c986dec22a52676b110fad1f7f82ef792da796e' }, this.searchEnabled && (index.h("div", { key: '855c5c3d6c2b86e75a210c0296524bc8029e37f2' }, index.h("eds-input-field", { key: 1, icon: "search", name: "search", "aria-label": "Search", type: "text", placeholder: "Search...", onInput: (event) => this.handleSearch(event) }))), index.h("div", { key: '62b18340bbf992dba888c2d24ff306ada8a1a985', class: "mt-20" }, index.h("table", { key: '656dd0dd7f99611c2bd9beea4cd1f37f57da1384', class: "block overflow-x-auto mt-6 p-0" }, index.h("thead", { key: '1278ea89f588aa52c215c32bcc03c424e4501fed' }, index.h("tr", { key: '186e6ac48859dd9f7cbf8c4f4fb5f6bfddfd4d34', class: "m-0 p-0 border border-softer even:bg-inverse-softer" }, this.columns.map((col) => {
5587
6021
  var _a;
5588
6022
  if (col === 'actions') {
5589
6023
  return (index.h("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words", style: { minWidth: `${columnWidth - 4}px` } }));
@@ -5592,7 +6026,7 @@ const EdsTable = class {
5592
6026
  return (index.h("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words", style: { minWidth: `${columnWidth - 4}px` } }, this.capitalize(col)));
5593
6027
  }
5594
6028
  return null;
5595
- }))), index.h("tbody", { key: 'da9286063f16a5c346ce8854361cb15573166a19' }, paginatedRows.map((row) => (index.h("tr", { class: "m-0 p-0 border border-softer even:bg-inverse-softer" }, this.columns.map((col) => {
6029
+ }))), index.h("tbody", { key: 'b27bd372efe64469d2a5001dc6d5b464eb419217' }, paginatedRows.map((row) => (index.h("tr", { class: "m-0 p-0 border border-softer even:bg-inverse-softer" }, this.columns.map((col) => {
5596
6030
  var _a;
5597
6031
  if (col === 'actions') {
5598
6032
  return (index.h("td", { class: "text-center border border-softer m-0 f-ui-02 break-words actions-cell", style: { minWidth: `${columnWidth - 4}px` } }, index.h("div", { role: "toolbar", "aria-label": "Row actions", onKeyDown: this.onActionKeyDown, style: {
@@ -5607,7 +6041,7 @@ const EdsTable = class {
5607
6041
  return (index.h("td", { class: "text-center border border-softer m-0 py-8 f-ui-2 break-words", style: { minWidth: `${columnWidth - 4}px` } }, this.renderCell(row[col], col)));
5608
6042
  }
5609
6043
  return null;
5610
- }))))))), this.shouldEnablePagination() && (index.h("div", { key: 'b7e7991225cf9fb16ca882dc42c7adead202aac5', class: "mt-20" }, index.h("eds-pagination", { key: '011f209f89300357e6052ee4d118f353419d5a45', currentPage: this.currentPage, lastPage: lastPage, perPage: this.rowsPerPage, total: this.totalRows, mode: "default" })))));
6044
+ }))))))), this.shouldEnablePagination() && (index.h("div", { key: 'd442153f48c85c6de1a0752d1348d8814811faed', class: "mt-20" }, index.h("eds-pagination", { key: '4c48c96eacb112002b0110e85dce0dab94350dfb', currentPage: this.currentPage, lastPage: lastPage, perPage: this.rowsPerPage, total: this.totalRows, mode: "default" })))));
5611
6045
  }
5612
6046
  get hostEl() { return index.getElement(this); }
5613
6047
  static get watchers() { return {
@@ -5782,12 +6216,12 @@ const EdsTabs = class {
5782
6216
  }
5783
6217
  }
5784
6218
  render() {
5785
- return (index.h("div", { key: 'e3bd802f08f460d5f3e89860669fefe2a8006e59', id: `${this.identifier}` }, index.h("div", { key: 'bcbd4afb8febec0520075c8e34269f184e2d9738', class: "scroller-x overflow-x-auto relative z-[1] mx-auto px-16 pt-8 lg:px-28 after:border-soft before:bg-gradient-y relative overflow-x-hidden before:absolute before:inset-x-0 before:bottom-0 before:h-12 before:opacity-5 before:content-[''] after:absolute after:inset-x-0 after:bottom-0 after:border-b-2 after:content-['']" }, index.h("nav", { key: '32e93b3ee6831918fd863fb23f1a5af1ae979201', role: "tablist", ref: (el) => (this.tabContainer = el), class: "inline-flex", "aria-label": this.navAriaLabel }, this.parsedTabs.map((tab, index$1) => {
6219
+ return (index.h("div", { key: 'bab7b3d6a9e6e66ab6476827ecc06a3e3c7244be', id: `${this.identifier}` }, index.h("div", { key: 'e20639e1842936b6c1fe24b19ca7f94ccc09d18f', class: "scroller-x overflow-x-auto relative z-[1] mx-auto px-16 pt-8 lg:px-28 after:border-soft before:bg-gradient-y relative overflow-x-hidden before:absolute before:inset-x-0 before:bottom-0 before:h-12 before:opacity-5 before:content-[''] after:absolute after:inset-x-0 after:bottom-0 after:border-b-2 after:content-['']" }, index.h("nav", { key: 'e3f4e385e1bfb1f5abc75697697ab9a6a8124b6b', role: "tablist", ref: (el) => (this.tabContainer = el), class: "inline-flex", "aria-label": this.navAriaLabel }, this.parsedTabs.map((tab, index$1) => {
5786
6220
  const TabComponent = 'button';
5787
6221
  const tabProps = this.getTabOptions(tab.active, index$1);
5788
6222
  const isActive = index$1 === this.activeIndex;
5789
6223
  return (index.h(TabComponent, Object.assign({}, tabProps, { type: "button", role: "tab", "aria-selected": tab.active ? 'true' : 'false', tabIndex: isActive ? 0 : -1, "aria-label": tab.ariaLabel || tab.label, "aria-controls": `panel-${index$1}`, id: `tab-${index$1}`, ref: (el) => this.setTabRef(el, index$1), onClick: () => this.handleTabClick(index$1, tab.label, true), onKeyDown: (e) => this.onKeyDown(e, index$1) }), tab.label || tab.ariaLabel));
5790
- }))), index.h("div", { key: 'ffe610574d342933121cbaca9bcb8fb483fde60b', class: "tab-panels" }, this.parsedTabs.map((_, index$1) => (index.h("div", { role: "tabpanel", id: `panel-${index$1}`, "aria-labelledby": `tab-${index$1}`, hidden: index$1 !== this.activeIndex, tabIndex: index$1 === this.activeIndex ? 0 : -1, class: "effect-focus" }, index.h("slot", { name: `panel-${index$1}` })))))));
6224
+ }))), index.h("div", { key: 'f958fca5abaeeba0b6fcc900b91fa1309508dc57', class: "tab-panels" }, this.parsedTabs.map((_, index$1) => (index.h("div", { role: "tabpanel", id: `panel-${index$1}`, "aria-labelledby": `tab-${index$1}`, hidden: index$1 !== this.activeIndex, tabIndex: index$1 === this.activeIndex ? 0 : -1, class: "effect-focus" }, index.h("slot", { name: `panel-${index$1}` })))))));
5791
6225
  }
5792
6226
  get el() { return index.getElement(this); }
5793
6227
  static get watchers() { return {
@@ -5832,7 +6266,7 @@ const EdsTag = class {
5832
6266
  }
5833
6267
  render() {
5834
6268
  const classes = tagStyles({ intent: this.intent, size: this.size });
5835
- return index.h("span", { key: '939fafa4bc525b747956931f49b27e6125ecbb34', class: classes }, this.label);
6269
+ return index.h("span", { key: 'a00f436391013091c78f15bc53d91b0b01d8f4bb', class: classes }, this.label);
5836
6270
  }
5837
6271
  };
5838
6272
  EdsTag.style = EdsTagStyle0;
@@ -5908,13 +6342,50 @@ const EdsToast = class {
5908
6342
  };
5909
6343
  EdsToast.style = EdsToastStyle0;
5910
6344
 
6345
+ const edsTooltipCss = ".relative{position:relative}.absolute{position:absolute}.inline-block{display:inline-block}.rounded-xs{border-radius:4px}.bg-strongest{background-color:var(--black)}.text-inverse{color:var(--white)}.f-ui-03-light{font-family:var(--f-ui-03-light-fontFamily);font-weight:var(--f-ui-03-light-fontWeight);font-size:var(--f-ui-03-light-fontSize);line-height:var(--f-ui-03-light-lineHeight);letter-spacing:var(--f-ui-03-light-letterSpacing)}.pointer-events-none{pointer-events:none}.left-1\\/2{left:50%}.z-10{z-index:10}.transform{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-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))}.whitespace-nowrap{white-space:nowrap}.p-6{padding:0.375rem}.px-4{padding-left:0.25rem;padding-right:0.25rem}.top-full{top:100%}.bottom-full{bottom:100%}.right-full{right:100%}.left-full{left:100%}.mr-2{margin-right:0.125rem}.ml-2{margin-left:0.125rem}.mt-2{margin-top:0.125rem}.mb-2{margin-bottom:0.125rem}.opacity-0{opacity:0}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.duration-150{transition-duration:150ms}.ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.group:hover .group-hover\\:opacity-100{opacity:1}.max-w-\\[20rem\\]{max-width:20rem}.whitespace-normal{white-space:normal}.break-words{overflow-wrap:break-word}.w-full{width:100%}";
6346
+ const EdsTooltipStyle0 = edsTooltipCss;
6347
+
6348
+ const EdsTooltip = class {
6349
+ constructor(hostRef) {
6350
+ index.registerInstance(this, hostRef);
6351
+ this.content = undefined;
6352
+ this.position = 'top';
6353
+ }
6354
+ /** fire analytics on every hover */
6355
+ handleHover() {
6356
+ analytics.sendAnalytics({
6357
+ category: 'ui-component',
6358
+ tag: this.el.tagName.toLowerCase(),
6359
+ name: this.content.toLowerCase(),
6360
+ action: 'hover'
6361
+ });
6362
+ }
6363
+ render() {
6364
+ const positionClass = this.position === 'bottom' ? 'top-full mt-2' : 'bottom-full mb-2';
6365
+ return (index.h("div", { key: 'c2ae55fbf9fefb2748db770d98f12f679022a416', class: "relative w-full inline-block group" }, index.h("slot", { key: '5151e3269cb39d3caba960eee7155a3d5171c8cd' }), index.h("div", { key: '8956683d968d77d88133dc231975d258aca3d1d3', class: `absolute ${positionClass}
6366
+ rounded-xs bg-strongest text-inverse
6367
+ f-ui-03-light pointer-events-none
6368
+ z-10 px-4 opacity-0 transition-opacity duration-150 ease-in-out
6369
+ group-hover:opacity-100 whitespace-normal break-words`, role: "tooltip" }, this.content)));
6370
+ }
6371
+ get el() { return index.getElement(this); }
6372
+ };
6373
+ EdsTooltip.style = EdsTooltipStyle0;
6374
+
5911
6375
  const edsUserCss = "hr,p{margin:0}.block{display:block}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.text-default{color:var(--black)}.min-w-\\[280px\\]{min-width:280px}.p-8{padding:0.5rem}.gap-x-16{-moz-column-gap:1rem;column-gap:1rem}.gap-y-8{row-gap:0.5rem}.pb-16{padding-bottom:1rem}.border-b-2{border-bottom-width:2px}.border-softer{border-color:rgba(0, 0, 0, .1 )}.max-w-full{max-width:100%}.w-full{width:100%}.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-03-light{font-family:var(--f-ui-03-light-fontFamily);font-weight:var(--f-ui-03-light-fontWeight);font-size:var(--f-ui-03-light-fontSize);line-height:var(--f-ui-03-light-lineHeight);letter-spacing:var(--f-ui-03-light-letterSpacing)}.text-light{color:var(--grey-700)}.mt-4{margin-top:0.25rem}.mt-16{margin-top:1rem}";
5912
6376
  const EdsUserStyle0 = edsUserCss;
5913
6377
 
5914
6378
  const EdsUser = class {
5915
6379
  constructor(hostRef) {
5916
6380
  index.registerInstance(this, hostRef);
6381
+ this.handleDropdown = (e) => {
6382
+ this.expanded = e.detail.expanded;
6383
+ };
5917
6384
  this.user = undefined;
6385
+ this.intent = 'tertiary';
6386
+ this.dropdownLabel = 'Account';
6387
+ this.expanded = false;
6388
+ this.shortMode = false;
5918
6389
  }
5919
6390
  /**
5920
6391
  * Helper getter to ensure we work with a User object.
@@ -5938,9 +6409,15 @@ const EdsUser = class {
5938
6409
  const initials = `${((_a = user.given_name) === null || _a === void 0 ? void 0 : _a.charAt(0)) || ''}${((_b = user.family_name) === null || _b === void 0 ? void 0 : _b.charAt(0)) || ''}`.toUpperCase();
5939
6410
  return initials || ((_d = (_c = user.name) === null || _c === void 0 ? void 0 : _c.charAt(0)) === null || _d === void 0 ? void 0 : _d.toUpperCase()) || '';
5940
6411
  }
6412
+ async closeDropdown() {
6413
+ var _a;
6414
+ await ((_a = this.dropdownEl) === null || _a === void 0 ? void 0 : _a.close());
6415
+ this.expanded = false;
6416
+ }
5941
6417
  render() {
5942
6418
  const user = this.parsedUser;
5943
- return (index.h("div", { key: '8a1f10cc85d8e2707042c85bc597b76fb2d25da4', class: "block" }, index.h("div", { key: 'a744de3d113920b8ff0d01ce273672b2bff57c97', class: "flex items-center" }, index.h("eds-dropdown", { key: 'e9230372d79936a785050ebb3e41f40e73282a57', label: `Hi, ${user.preferred_username}`, intent: "tertiary", "aria-label": "User Menu", "dropdown-pos": "right", "dropdown-offset": "false", icon: "chevron-down", class: "text-default" }, index.h("div", { key: '7d4bd0ee0985c840a18764cac784726ff1c987fb', class: "min-w-[280px] p-8" }, index.h("div", { key: '603d6807988dd79cd4e7827918ff8932d8463fc3', class: "flex gap-x-16" }, index.h("eds-avatar", { key: '65ba89139cb6e3b6cb90c2072eb68cc7dc1da49c', "first-name": user.given_name, "last-name": user.family_name, initials: this.initials, color: "grey" }), index.h("div", { key: 'df35b758918ebccbdfe6630bd356e647522404e1', class: "max-w-full" }, user.name && index.h("p", { key: '7174f34445bb1a0b77a3c1b893421bd104832485', class: "f-ui-01 text-default w-full text-ellipsis" }, user.name), user.preferred_username && index.h("p", { key: '72d853f5014c03803dce7aa0a74d96847ed8c875', class: "f-ui-03-light text-light mt-4" }, user.preferred_username), user.email && index.h("p", { key: 'e406e2f3ca8504220ee9586a1d176c15c7236502', class: "f-ui-03-light text-light mt-4" }, user.email))), index.h("div", { key: '8fd3b42ab4eb3d1d70a0b827e3a03af8503c55d1', class: "text-default flex w-full flex-col gap-y-8" }, index.h("slot", { key: '6a477155c256543b7793947d52feb3f5abb0df6e' })))))));
6419
+ const iconName = this.expanded ? 'chevron-down' : 'chevron-right';
6420
+ return (index.h("div", { key: '68836f7fc63986d1ef1e5d1775258358db3418c6', class: "block" }, index.h("div", { key: '3b5be3d2d700ce3e1a800c33adde9b55bb07fda0', class: "flex items-center" }, index.h("eds-dropdown", { key: 'f3f97f19aac315031f428d190f1e143429bcd860', ref: (el) => (this.dropdownEl = el), label: this.dropdownLabel, intent: this.intent, "aria-label": "User Menu", "dropdown-pos": "right", "dropdown-offset": "false", icon: iconName, class: "text-default", onDropdown: this.handleDropdown }, index.h("div", { key: '6a6bccaa4e8b0e68460ac50e3edc8d9fc3612e00', class: "min-w-[280px] p-8" }, index.h("div", { key: '97a9b4d9c0e0873162103461a542cf401be06c2f', class: "flex gap-x-16", "data-dropdown-no-close": true }, index.h("eds-avatar", { key: 'f89cee9f0ad6549e60ebb3ade437d1dd0c2e6eb6', "first-name": user.given_name, "last-name": user.family_name, initials: this.initials, color: "black" }), index.h("div", { key: 'b9fc649a35280ecebe57955b85844f3a78c4db04', class: "max-w-full" }, user.name && index.h("p", { key: 'b2914fca3ddabc4d12fa2c6cee83a98505fd110a', class: "f-ui-01 text-default w-full text-ellipsis" }, user.name), user.preferred_username && index.h("p", { key: '68ec348104e36b6fbf9c5fc47e254f3cfc4ca85b', class: "f-ui-03-light text-light mt-4" }, user.preferred_username), user.email && index.h("p", { key: '3b7720aaa30597a49acf61b6c3ff0c1f1cc3bfd8', class: "f-ui-03-light text-light mt-4" }, user.email))), index.h("div", { key: '28cdba1fb361b84e9cb0a7ce904ec39cf13d022e', class: "text-default flex w-full flex-col gap-y-8" }, index.h("slot", { key: 'c1cddbb24c72749c4ea07e2e0311da61af6e9886' })))))));
5944
6421
  }
5945
6422
  get hostEl() { return index.getElement(this); }
5946
6423
  };
@@ -5955,6 +6432,7 @@ exports.eds_button = EdsButton;
5955
6432
  exports.eds_code_block = EdsCodeBlock;
5956
6433
  exports.eds_dropdown = EdsDropdown;
5957
6434
  exports.eds_form = EdsForm;
6435
+ exports.eds_global_search = EdsGlobalSearch;
5958
6436
  exports.eds_header = EdsHeader;
5959
6437
  exports.eds_icon_wrapper = EdsIconWrapper;
5960
6438
  exports.eds_img = EdsImg;
@@ -5971,6 +6449,7 @@ exports.eds_matomo_notice = EdsMatomoNotice;
5971
6449
  exports.eds_nps = EdsNps;
5972
6450
  exports.eds_pagination = EdsPagination;
5973
6451
  exports.eds_rating = EdsRating;
6452
+ exports.eds_spinner = EdsSpinner;
5974
6453
  exports.eds_steps = EdsSteps;
5975
6454
  exports.eds_steps_v2 = EdsStepsV2;
5976
6455
  exports.eds_switch = EdsSwitch;
@@ -5978,4 +6457,5 @@ exports.eds_table = EdsTable;
5978
6457
  exports.eds_tabs = EdsTabs;
5979
6458
  exports.eds_tag = EdsTag;
5980
6459
  exports.eds_toast = EdsToast;
6460
+ exports.eds_tooltip = EdsTooltip;
5981
6461
  exports.eds_user = EdsUser;