@ebrains/vue 1.4.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/bin-37cad2f0-BqMIoPCV.mjs +4 -0
  2. package/bin-37cad2f0-Bvf97PEl.js +1 -0
  3. package/clone-dab56639-CA90NNP5.mjs +4 -0
  4. package/clone-dab56639-DhCcTb4A.js +1 -0
  5. package/color-primary-palette_6.entry-BXemwFsT.js +1 -0
  6. package/{color-primary-palette_6.entry-CvT9Ya5U.mjs → color-primary-palette_6.entry-DT6y6FEy.mjs} +19 -19
  7. package/{components-section.entry-CWKDKHtQ.js → components-section.entry-DUk1tQHE.js} +2 -2
  8. package/{components-section.entry-DxoI4HY4.mjs → components-section.entry-yX3kMkgT.mjs} +2 -2
  9. package/{correct-use-of-colors.entry-DF18kIaK.js → correct-use-of-colors.entry-B8pPJm38.js} +1 -1
  10. package/{correct-use-of-colors.entry-C5sWpTko.mjs → correct-use-of-colors.entry-qD6fSpYF.mjs} +2 -2
  11. package/{docs-palettes.entry-BWpyXx-T.js → docs-palettes.entry-BMNsh6gh.js} +1 -1
  12. package/{docs-palettes.entry-lOvWFgf-.mjs → docs-palettes.entry-M87-ULxr.mjs} +2 -2
  13. package/{docs-tokens.entry-Bv54B_2f.js → docs-tokens.entry-CjGpfZ1N.js} +1 -1
  14. package/{docs-tokens.entry-C1506Ctj.mjs → docs-tokens.entry-DTMTLW6z.mjs} +2 -2
  15. package/draft-dd5dada2-AqzrhEzA.js +1 -0
  16. package/draft-dd5dada2-DEIzQoXJ.mjs +4 -0
  17. package/edit-3893a517-D_Sgle6i.js +1 -0
  18. package/edit-3893a517-rsZs4NLF.mjs +4 -0
  19. package/{eds-avatar_29.entry-BUOXv9To.mjs → eds-accordion_33.entry-CH6A78x3.mjs} +2752 -559
  20. package/{eds-avatar_29.entry-CjNZgyQq.js → eds-accordion_33.entry-_Zc7vKFf.js} +202 -13
  21. package/eds-app-root.entry-COSmczak.mjs +25 -0
  22. package/eds-app-root.entry-DIHavIUM.js +1 -0
  23. package/{eds-card-desc_2.entry-Dqgd6Zi8.js → eds-card-desc_2.entry-D5GUottX.js} +1 -1
  24. package/{eds-card-desc_2.entry-ZED1q0dr.mjs → eds-card-desc_2.entry-YL4OVWD3.mjs} +6 -6
  25. package/{eds-card-generic.entry-BGXNIjXC.mjs → eds-card-generic.entry-Chm2AUtp.mjs} +2 -2
  26. package/{eds-card-generic.entry-D7VnEfUv.js → eds-card-generic.entry-Diq4dtrs.js} +1 -1
  27. package/{eds-card-project.entry-Dl0CS7vm.mjs → eds-card-project.entry-CPqHqPOm.mjs} +6 -6
  28. package/{eds-card-project.entry-Cq2NyFI-.js → eds-card-project.entry-JFVjbS0l.js} +1 -1
  29. package/{eds-card-section.entry-DT-_pAUK.mjs → eds-card-section.entry-DpMTJ8Kn.mjs} +1 -1
  30. package/{eds-card-section.entry-DGruSi5l.js → eds-card-section.entry-JZFsrwn5.js} +1 -1
  31. package/eds-card-tags.entry-DnNdxAaA.mjs +13 -0
  32. package/eds-card-tags.entry-DylnM44o.js +1 -0
  33. package/{eds-card-tool.entry-z0fP74r5.js → eds-card-tool.entry-CdtWr6SE.js} +1 -1
  34. package/{eds-card-tool.entry-LuekCyVO.mjs → eds-card-tool.entry-DPWvJcI1.mjs} +5 -5
  35. package/{eds-cookies-preference.entry-7DUvxDvw.mjs → eds-cookies-preference.entry-CGit10s-.mjs} +2 -2
  36. package/{eds-cookies-preference.entry-DxYNSyjz.js → eds-cookies-preference.entry-RT9hWQNy.js} +1 -1
  37. package/{eds-feedback.entry-BYmUBprW.js → eds-feedback.entry-B7PDcHGI.js} +1 -1
  38. package/{eds-feedback.entry-C1M_2DF2.mjs → eds-feedback.entry-DVqpmSiS.mjs} +5 -5
  39. package/eds-footer.entry-BzcdvTWO.js +1 -0
  40. package/eds-footer.entry-D-ITdNTf.mjs +42 -0
  41. package/{eds-frame.entry-g6FsDvwR.mjs → eds-frame.entry-C2Ldr3c9.mjs} +2 -2
  42. package/{eds-frame.entry-Djc8vEPI.js → eds-frame.entry-tcZQdrbE.js} +1 -1
  43. package/eds-fullscreen-menu.entry-BGFJIgQP.mjs +59 -0
  44. package/eds-fullscreen-menu.entry-BPbeGaPc.js +1 -0
  45. package/{eds-gauge.entry-DnkcGo5U.mjs → eds-gauge.entry-Lu0hJx9p.mjs} +4 -4
  46. package/{eds-gauge.entry-Dg_w6UKG.js → eds-gauge.entry-pvfbXYgB.js} +1 -1
  47. package/eds-icon-arrow-diagonal.entry-B6IRXDMe.js +1 -0
  48. package/eds-icon-arrow-diagonal.entry-COlE8H7P.mjs +13 -0
  49. package/eds-icon-arrow-right.entry-BDHsQpfx.js +1 -0
  50. package/eds-icon-arrow-right.entry-Diznub_E.mjs +13 -0
  51. package/eds-icon-bin.entry-Bfl68q7b.mjs +13 -0
  52. package/eds-icon-bin.entry-ultyoyMK.js +1 -0
  53. package/eds-icon-bluesky.entry-Dzx9WU3j.mjs +13 -0
  54. package/{eds-icon-bluesky.entry-DtLvqCfL.js → eds-icon-bluesky.entry-QLpKGRxg.js} +1 -1
  55. package/eds-icon-bookmark.entry-CaBpzM1Z.js +1 -0
  56. package/eds-icon-bookmark.entry-CqikyWZl.mjs +13 -0
  57. package/eds-icon-chevron-down.entry-C-Z3ai4m.mjs +13 -0
  58. package/{eds-icon-chevron-down.entry-CfN_CVQg.js → eds-icon-chevron-down.entry-CzxQpRMw.js} +1 -1
  59. package/eds-icon-chevron-left.entry-BnE13pkI.mjs +13 -0
  60. package/eds-icon-chevron-left.entry-DcS5XbLe.js +1 -0
  61. package/eds-icon-chevron-right.entry-D4MlgSyJ.js +1 -0
  62. package/{eds-icon-chevron-right.entry-dm-TCY2y.mjs → eds-icon-chevron-right.entry-nJd-cRnH.mjs} +2 -2
  63. package/eds-icon-chevron-up.entry-DRT2Ubhe.mjs +13 -0
  64. package/eds-icon-chevron-up.entry-wQck5opp.js +1 -0
  65. package/eds-icon-clone.entry-BXVQstwR.mjs +13 -0
  66. package/eds-icon-clone.entry-DT1LJrsq.js +1 -0
  67. package/{eds-icon-close.entry-DI2JTTCg.js → eds-icon-close.entry-BadFYgtq.js} +1 -1
  68. package/eds-icon-close.entry-D2oFO-Qa.mjs +13 -0
  69. package/{eds-icon-copy.entry-BwDCx4LA.mjs → eds-icon-copy.entry-FRGQGwF-.mjs} +2 -2
  70. package/eds-icon-copy.entry-lr2PVIPY.js +1 -0
  71. package/eds-icon-draft.entry-B9bUr2sw.js +1 -0
  72. package/eds-icon-draft.entry-BwIwH62i.mjs +13 -0
  73. package/eds-icon-edit.entry-CvVY2UCN.mjs +13 -0
  74. package/eds-icon-edit.entry-sr_B_lUk.js +1 -0
  75. package/eds-icon-eu.entry-CWqu1Rr1.mjs +13 -0
  76. package/eds-icon-eu.entry-DDO74t4u.js +1 -0
  77. package/{eds-icon-external.entry-c4JKvZw1.js → eds-icon-external.entry-BqrklnFa.js} +1 -1
  78. package/eds-icon-external.entry-CcbC-mfi.mjs +13 -0
  79. package/eds-icon-facebook.entry-BtsECcJC.mjs +13 -0
  80. package/{eds-icon-facebook.entry-DGwJAZfT.js → eds-icon-facebook.entry-j4DS-WX4.js} +1 -1
  81. package/eds-icon-gitlab.entry-BNblqbEX.mjs +13 -0
  82. package/{eds-icon-gitlab.entry-Ctq954TL.js → eds-icon-gitlab.entry-sQHBONNM.js} +1 -1
  83. package/{eds-icon-linkedin.entry-B_zROU0d.js → eds-icon-linkedin.entry-Bs23nlsd.js} +1 -1
  84. package/eds-icon-linkedin.entry-CW-eurxB.mjs +13 -0
  85. package/{eds-icon-loader.entry-CEZn4VxW.js → eds-icon-loader.entry-CTnsFpV3.js} +1 -1
  86. package/eds-icon-loader.entry-J7Ane02R.mjs +13 -0
  87. package/{eds-icon-mastodon.entry-qCWJ_x5W.js → eds-icon-mastodon.entry-B-ep-Tof.js} +1 -1
  88. package/eds-icon-mastodon.entry-BI2ATALp.mjs +13 -0
  89. package/eds-icon-menu.entry-CyhJAZL1.mjs +13 -0
  90. package/eds-icon-menu.entry-U1p7j7fy.js +1 -0
  91. package/eds-icon-minus.entry-BdZZH0nX.js +1 -0
  92. package/eds-icon-minus.entry-CgX27qzW.mjs +13 -0
  93. package/eds-icon-more.entry-D9S9kaWH.js +1 -0
  94. package/eds-icon-more.entry-DIQAQUHB.mjs +13 -0
  95. package/eds-icon-paper.entry-5re06zkj.js +1 -0
  96. package/eds-icon-paper.entry-Bkx17qOK.mjs +13 -0
  97. package/eds-icon-plus.entry-BzkeCu8f.mjs +13 -0
  98. package/eds-icon-plus.entry-CCZPj6w9.js +1 -0
  99. package/{eds-icon-portal.entry-D68nVjL8.js → eds-icon-portal.entry--FIUk_KW.js} +1 -1
  100. package/eds-icon-portal.entry-B_e1recN.mjs +13 -0
  101. package/eds-icon-private.entry-BBt40biA.mjs +13 -0
  102. package/{eds-icon-private.entry-B-BOsFV3.js → eds-icon-private.entry-CaeaHY9B.js} +1 -1
  103. package/{eds-icon-public.entry-BEuGmGDm.js → eds-icon-public.entry-B1nkVESn.js} +1 -1
  104. package/eds-icon-public.entry-C4XFHe13.mjs +13 -0
  105. package/{eds-icon-search.entry-CyujB3B2.js → eds-icon-search.entry-C8nsE_QJ.js} +1 -1
  106. package/eds-icon-search.entry-jhUWh3yI.mjs +13 -0
  107. package/{eds-icon-star.entry-kHi0LUqR.mjs → eds-icon-star.entry-BZwxie0S.mjs} +2 -2
  108. package/eds-icon-star.entry-i4E24D7i.js +1 -0
  109. package/eds-icon-start.entry-DDR6VjFj.mjs +13 -0
  110. package/eds-icon-start.entry-XPXm0_E-.js +1 -0
  111. package/eds-icon-success.entry-DDNbMpuL.js +1 -0
  112. package/{eds-icon-success.entry-Crhf7xIP.mjs → eds-icon-success.entry-iYFlRYkD.mjs} +2 -2
  113. package/eds-icon-thumbs-down.entry-B1pz46Mt.mjs +13 -0
  114. package/{eds-icon-thumbs-down.entry-kYL2vKmH.js → eds-icon-thumbs-down.entry-CXPSaKje.js} +1 -1
  115. package/{eds-icon-thumbs-up.entry-z9R1lFQb.js → eds-icon-thumbs-up.entry-DKAME_Ra.js} +1 -1
  116. package/eds-icon-thumbs-up.entry-DiGUetz-.mjs +13 -0
  117. package/eds-icon-tutorial.entry-BJ2VttuA.mjs +13 -0
  118. package/eds-icon-tutorial.entry-CjbYvKJv.js +1 -0
  119. package/eds-icon-twitter.entry-CRXixMx5.mjs +13 -0
  120. package/{eds-icon-twitter.entry-bMXEypFu.js → eds-icon-twitter.entry-D_pH9RWV.js} +1 -1
  121. package/eds-icon-unknown.entry-B3C3gOfb.mjs +13 -0
  122. package/eds-icon-unknown.entry-Bh31uRll.js +1 -0
  123. package/eds-icon-updown.entry-B4iGaDou.js +1 -0
  124. package/eds-icon-updown.entry-DTJ9wPMo.mjs +13 -0
  125. package/{eds-icon-user.entry-CJFYXCKO.js → eds-icon-user.entry-C-Vuh8-f.js} +1 -1
  126. package/eds-icon-user.entry-CGqSkZpC.mjs +13 -0
  127. package/eds-icon-view.entry-CjMq3fA0.mjs +13 -0
  128. package/eds-icon-view.entry-z8bJhMBL.js +1 -0
  129. package/{eds-icon-youtube.entry-pSBbdBV8.mjs → eds-icon-youtube.entry-DSxMazqf.mjs} +2 -2
  130. package/{eds-icon-youtube.entry-DnJcjmle.js → eds-icon-youtube.entry-DhBiT8kG.js} +1 -1
  131. package/eds-modal.entry-B0n5tknG.mjs +114 -0
  132. package/eds-modal.entry-D_Lwb__Q.js +1 -0
  133. package/{eds-pie.entry-D_jCamhX.mjs → eds-pie.entry-BuVtNs7I.mjs} +1 -1
  134. package/{eds-pie.entry-Cu2uq_3h.js → eds-pie.entry-klP-etSw.js} +1 -1
  135. package/{eds-progress-bar.entry-C4pfvwx1.mjs → eds-progress-bar.entry-D2JI1D-e.mjs} +4 -4
  136. package/{eds-progress-bar.entry-CC1dOWe1.js → eds-progress-bar.entry-Ro89l7BR.js} +1 -1
  137. package/{eds-section-core_2.entry-MI92_AWE.js → eds-section-core_2.entry-Bc9axwtz.js} +1 -1
  138. package/{eds-section-core_2.entry-JzPcyWhJ.mjs → eds-section-core_2.entry-Cz99NRlc.mjs} +7 -7
  139. package/eds-social-networks.entry-CaNhyMcu.js +1 -0
  140. package/eds-social-networks.entry-DD-vQy71.mjs +50 -0
  141. package/eds-spinner.entry-BB5fBr88.mjs +68 -0
  142. package/eds-spinner.entry-zSti41IG.js +1 -0
  143. package/{eds-splash-screen.entry-DlAoDuzU.mjs → eds-splash-screen.entry-BUnIKxtD.mjs} +5 -5
  144. package/{eds-splash-screen.entry-V4n8Dvfm.js → eds-splash-screen.entry-Dw0Ji6bZ.js} +1 -1
  145. package/{eds-timeline.entry-DBu98TrB.mjs → eds-timeline.entry-BMaUPN_o.mjs} +5 -5
  146. package/{eds-timeline.entry-Cxyvzy8x.js → eds-timeline.entry-DHGMZu2-.js} +1 -1
  147. package/{eds-toast-manager.entry-C5zTIL5J.js → eds-toast-manager.entry-Bv30X8tV.js} +1 -1
  148. package/{eds-toast-manager.entry-pv7Pcl6B.mjs → eds-toast-manager.entry-XryfFnO2.mjs} +2 -2
  149. package/eds-tooltip.entry-BFyPuNDr.js +5 -0
  150. package/eds-tooltip.entry-rMFVtJBN.mjs +31 -0
  151. package/eds-trl.entry-BKzMfF-8.js +1 -0
  152. package/eds-trl.entry-NW2Zpg0k.mjs +34 -0
  153. package/generated/components.d.ts +1 -0
  154. package/{incorrect-use-of-colors.entry-CX3u3L-Z.mjs → incorrect-use-of-colors.entry-CCB_JH3R.mjs} +4 -4
  155. package/{incorrect-use-of-colors.entry-BbWaxWJ2.js → incorrect-use-of-colors.entry-Dq7AmLvI.js} +1 -1
  156. package/index-DM535IHr.js +21 -0
  157. package/{index-DpUTWZFA.mjs → index-UwPjPR0d.mjs} +398 -371
  158. package/index.js +1 -1
  159. package/index.mjs +12 -11
  160. package/{logo-space.entry-dS1l_4Wh.js → logo-space.entry-B1Swm7_s.js} +2 -2
  161. package/{logo-space.entry-Cow8tI7Y.mjs → logo-space.entry-sagbhmap.mjs} +7 -7
  162. package/{logo-variations-horizontal_2.entry-DBafIDHo.mjs → logo-variations-horizontal_2.entry-Bo9dz9bE.mjs} +9 -9
  163. package/{logo-variations-horizontal_2.entry-Bzol9fjc.js → logo-variations-horizontal_2.entry-DEm05l2M.js} +3 -3
  164. package/logo-variations-tabs.entry-Dr6pNuIm.js +1 -0
  165. package/{logo-variations-tabs.entry-D4uKKqh0.mjs → logo-variations-tabs.entry-v9gzHb2S.mjs} +5 -5
  166. package/{logo-wrong-usage.entry-BkwO7Dgm.js → logo-wrong-usage.entry-Cb2OzANv.js} +1 -1
  167. package/{logo-wrong-usage.entry-C0ylWAnU.mjs → logo-wrong-usage.entry-DiAAZlws.mjs} +7 -7
  168. package/package.json +1 -1
  169. package/start-65126a4f-D1LeCi_N.js +1 -0
  170. package/start-65126a4f-mQSjIlRh.mjs +4 -0
  171. package/{svg-repository.entry-TP5g_TK_.js → svg-repository.entry-Bl6IMNNr.js} +12 -12
  172. package/{svg-repository.entry-DHYfAu5N.mjs → svg-repository.entry-DENznUDI.mjs} +51 -39
  173. package/{token-list_3.entry-BrA3OWSV.mjs → token-list_3.entry-BBS0BioQ.mjs} +12 -12
  174. package/{token-list_3.entry-VmEoB2Ng.js → token-list_3.entry-HXbPQp0w.js} +1 -1
  175. package/{token-ratios.entry-vmg0sh70.mjs → token-ratios.entry-BomK7oM-.mjs} +2 -2
  176. package/token-ratios.entry-Cz3StGLv.js +1 -0
  177. package/token-spacing.entry-4mnRkK32.mjs +12 -0
  178. package/token-spacing.entry-BgDT6uk3.js +1 -0
  179. package/{token-typography.entry-B0aoPZEB.mjs → token-typography.entry-DDfSupWC.mjs} +6 -6
  180. package/{token-typography.entry-DU8aU6Rt.js → token-typography.entry-DTzyoov1.js} +2 -2
  181. package/view-e900f2d4-DsFtaZYM.mjs +4 -0
  182. package/view-e900f2d4-RAKf504j.js +1 -0
  183. package/color-primary-palette_6.entry-BXRbIYQI.js +0 -1
  184. package/eds-accordion.entry-Df1wwL9c.js +0 -4
  185. package/eds-accordion.entry-RqLUu_aX.mjs +0 -48
  186. package/eds-alert.entry-CbLdoVL6.mjs +0 -251
  187. package/eds-alert.entry-Du5kP3mG.js +0 -165
  188. package/eds-app-root.entry-6U1IUxaV.js +0 -1
  189. package/eds-app-root.entry-C1L4rDyg.mjs +0 -25
  190. package/eds-breadcrumb.entry-CLUX3Y0B.mjs +0 -104
  191. package/eds-breadcrumb.entry-Dml0f2Up.js +0 -1
  192. package/eds-card-tags.entry-C7NrBbP8.mjs +0 -13
  193. package/eds-card-tags.entry-ClsT3xfY.js +0 -1
  194. package/eds-code-block.entry-BR4uNheU.js +0 -9
  195. package/eds-code-block.entry-BiL7xPb5.mjs +0 -1623
  196. package/eds-icon-arrow-diagonal.entry-BThKfy6M.js +0 -1
  197. package/eds-icon-arrow-diagonal.entry-DfER6mGO.mjs +0 -13
  198. package/eds-icon-arrow-right.entry-BQoCCX7s.js +0 -1
  199. package/eds-icon-arrow-right.entry-CvUL2IEH.mjs +0 -13
  200. package/eds-icon-bluesky.entry-pOakWVwm.mjs +0 -13
  201. package/eds-icon-bookmark.entry-CAbcBSOw.mjs +0 -13
  202. package/eds-icon-bookmark.entry-DxEJgwKd.js +0 -1
  203. package/eds-icon-chevron-down.entry-Cn8FNSj1.mjs +0 -13
  204. package/eds-icon-chevron-left.entry-KccXzPrS.mjs +0 -13
  205. package/eds-icon-chevron-left.entry-pFEqXjQr.js +0 -1
  206. package/eds-icon-chevron-right.entry-Dq3Uar1F.js +0 -1
  207. package/eds-icon-chevron-up.entry-7njN-pDK.js +0 -1
  208. package/eds-icon-chevron-up.entry-DZeteF2a.mjs +0 -13
  209. package/eds-icon-close.entry-S2eX7MJN.mjs +0 -13
  210. package/eds-icon-copy.entry-CvgDlhN9.js +0 -1
  211. package/eds-icon-eu.entry-DAkHQ7Xw.mjs +0 -13
  212. package/eds-icon-eu.entry-DS-Jji5x.js +0 -1
  213. package/eds-icon-external.entry-D2b2sLm2.mjs +0 -13
  214. package/eds-icon-facebook.entry-B46aASQF.mjs +0 -13
  215. package/eds-icon-gitlab.entry-BCxrsdS_.mjs +0 -13
  216. package/eds-icon-linkedin.entry-CkviXGQC.mjs +0 -13
  217. package/eds-icon-loader.entry-BItAXUxT.mjs +0 -13
  218. package/eds-icon-mastodon.entry-BzqTkzQ0.mjs +0 -13
  219. package/eds-icon-menu.entry-BUmP_hTD.js +0 -1
  220. package/eds-icon-menu.entry-C6A0c2hG.mjs +0 -13
  221. package/eds-icon-minus.entry-DMTMoQb0.mjs +0 -13
  222. package/eds-icon-minus.entry-DTHZwwvT.js +0 -1
  223. package/eds-icon-more.entry-CcJ9pB-o.js +0 -1
  224. package/eds-icon-more.entry-PDClpir4.mjs +0 -13
  225. package/eds-icon-paper.entry-B7ZesD_k.js +0 -1
  226. package/eds-icon-paper.entry-Bfr8U_5Z.mjs +0 -13
  227. package/eds-icon-plus.entry-B9dO_yv1.js +0 -1
  228. package/eds-icon-plus.entry-qBIxMO6w.mjs +0 -13
  229. package/eds-icon-portal.entry-BkZn2UlW.mjs +0 -13
  230. package/eds-icon-private.entry-CPudUW3y.mjs +0 -13
  231. package/eds-icon-public.entry-l-c12-ot.mjs +0 -13
  232. package/eds-icon-search.entry-xwA-HYjT.mjs +0 -13
  233. package/eds-icon-star.entry-CnkWJzkZ.js +0 -1
  234. package/eds-icon-success.entry-yuF-uDaQ.js +0 -1
  235. package/eds-icon-thumbs-down.entry-DBKBcj-i.mjs +0 -13
  236. package/eds-icon-thumbs-up.entry-0CMBOdab.mjs +0 -13
  237. package/eds-icon-tutorial.entry-Dez96InA.mjs +0 -13
  238. package/eds-icon-tutorial.entry-JKXn5Erp.js +0 -1
  239. package/eds-icon-twitter.entry-CMGpTPzq.mjs +0 -13
  240. package/eds-icon-unknown.entry-BXU4Bg9C.mjs +0 -13
  241. package/eds-icon-unknown.entry-DQ3C8FEA.js +0 -1
  242. package/eds-icon-updown.entry-B8IWgmtI.mjs +0 -13
  243. package/eds-icon-updown.entry-Cna08qxN.js +0 -1
  244. package/eds-icon-user.entry-B1bMKs8B.mjs +0 -13
  245. package/eds-matomo-notice.entry-DXgylTlk.js +0 -1
  246. package/eds-matomo-notice.entry-DvvvlaFb.mjs +0 -92
  247. package/eds-rating.entry-B1SkHc9j.mjs +0 -61
  248. package/eds-rating.entry-Cub8-CYo.js +0 -1
  249. package/eds-spinner.entry-BEiBPrum.js +0 -1
  250. package/eds-spinner.entry-DyS6vswP.mjs +0 -36
  251. package/eds-switch.entry-Bo0okWHX.mjs +0 -29
  252. package/eds-switch.entry-KL8zZeak.js +0 -1
  253. package/eds-tooltip.entry-DdyCiR00.js +0 -6
  254. package/eds-tooltip.entry-DffUxKpF.mjs +0 -31
  255. package/eds-trl.entry-B0NOKbaT.mjs +0 -34
  256. package/eds-trl.entry-a4az0XAJ.js +0 -1
  257. package/index-BK320cEL.js +0 -21
  258. package/logo-variations-tabs.entry-BLa1GqF6.js +0 -1
  259. package/token-ratios.entry-BjY2DyCo.js +0 -1
  260. package/token-spacing.entry-B9xNfUfE.js +0 -1
  261. package/token-spacing.entry-BOxK1TIH.mjs +0 -12
@@ -1,10 +1,303 @@
1
- import { r as d, h as i, g, c as h } from "./index-DpUTWZFA.mjs";
2
- import { s as f } from "./analytics-d99780e3-Bay18Oil.mjs";
3
- import { c as m } from "./index-39c58238-BwYCDOHZ.mjs";
4
- import { p as b } from "./sharedUtils-a550989c-Ci3Tx3jc.mjs";
5
- import { h as p } from "./logo-color-7f1fd803-CFgbXdt8.mjs";
6
- import { h as w, a as k, b as z, c as C, v as S, d as E, e as F, f as L, g as I } from "./logo-white-no-bg-f382f86f-YhfmNmGG.mjs";
7
- const j = `::before,
1
+ import { r as p, c as S, h as i, g as y, H as hn } from "./index-UwPjPR0d.mjs";
2
+ import { s as A, m as fn, a as en } from "./analytics-d99780e3-Bay18Oil.mjs";
3
+ import { c as N } from "./index-39c58238-BwYCDOHZ.mjs";
4
+ import { p as R } from "./sharedUtils-a550989c-Ci3Tx3jc.mjs";
5
+ import { h as tn } from "./logo-color-7f1fd803-CFgbXdt8.mjs";
6
+ import { h as bn, a as mn, b as un, c as xn, v as pn, d as yn, e as vn, f as wn, g as kn } from "./logo-white-no-bg-f382f86f-YhfmNmGG.mjs";
7
+ const Sn = "blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}.min-h-56{min-height:3.5rem}.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}.break-words{overflow-wrap:break-word}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.effect-color{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:300ms;transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.border-softer{border:2px solid rgba(0, 0, 0, .1)}.bg-default{background-color:var(--grey-200)}.bg-inverse{background-color:var(--white)}.relative{position:relative}.absolute{position:absolute}.inset-x-16{left:1rem;right:1rem}.top-16{top:1rem}.pr-32{padding-right:2rem}.pr-36{padding-right:2.25rem}.pr-40{padding-right:2.5rem}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.line-clamp-4{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}.w-full{width:100%}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.rounded-md{border-radius:12px}.outline-none{outline:2px solid transparent;outline-offset:2px}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.text-light{color:var(--grey-700)}.z-1{z-index:1}.z-10{z-index:10}.effect-height{transition-duration:300ms;transition-timing-function:cubic-bezier(0, 0, 0.2, 1);transition-property:height}.h-0{height:0rem}.h-auto{height:auto}.pt-4{padding-top:0.25rem}.overflow-hidden{overflow:hidden}.grid{display:grid}.overflow-hidden{overflow:hidden}.rounded-lg{border-radius:16px}.border-2{border-width:2px}.p-16{padding:1rem}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.f-heading-06{font-family:var(--f-heading-06-fontFamily);font-weight:var(--f-heading-06-fontWeight);font-size:var(--f-heading-06-fontSize);line-height:var(--f-heading-06-lineHeight);letter-spacing:var(--f-heading-06-letterSpacing)}.text-left{text-align:left}.text-center{text-align:center}", Cn = Sn, En = class {
8
+ constructor(n) {
9
+ p(this, n), this.accordion = S(this, "accordion", 7), this.handleClick = () => {
10
+ var e;
11
+ this.isExpanded = !this.isExpanded, this.accordion.emit(this.isExpanded), this.setPanelHeight(), A({
12
+ category: "ui-component",
13
+ parentContext: null,
14
+ tag: this.el.tagName.toLowerCase(),
15
+ name: ((e = this.heading) === null || e === void 0 ? void 0 : e.toLowerCase()) || "",
16
+ action: this.isExpanded ? "expanded" : "collapsed"
17
+ });
18
+ }, this.setPanelHeight = () => {
19
+ this.childContentRef && (this.shortContent = this.wrapperRef.scrollWidth > 830 && !this.description ? this.childContentRef.scrollHeight <= 80 : this.childContentRef.scrollHeight <= 20, this.panelHeight = this.isExpanded && !this.shortContent ? this.childContentRef.scrollHeight : 0), this.headerRef && (this.headerHeight = this.headerRef.scrollHeight - 30);
20
+ }, this.heading = void 0, this.description = void 0, this.switchBg = !0, this.expanded = !1, this.clampText = !0, this.buttonIntent = "tertiary", this.isExpanded = this.expanded, this.panelHeight = 0, this.shortContent = !1, this.headerHeight = 0;
21
+ }
22
+ /**
23
+ * Lifecycle method that sets up the initial panel height and adds a resize event listener
24
+ * to recalculate height on window resize.
25
+ */
26
+ componentDidLoad() {
27
+ this.setPanelHeight(), window.addEventListener("resize", this.setPanelHeight);
28
+ }
29
+ /**
30
+ * Lifecycle method that cleans up the resize event listener when the component is removed.
31
+ */
32
+ disconnectedCallback() {
33
+ window.removeEventListener("resize", this.setPanelHeight);
34
+ }
35
+ /**
36
+ * Renders the accordion structure, including header, content, description, and any slotted content.
37
+ * Adjusts styles based on `switchBg`, `tiny`, `clampText`, and other props.
38
+ */
39
+ render() {
40
+ return i("div", { key: "1abfd8bfea763bc10e6f17148dbc252d0c3ffdea", ref: (n) => this.wrapperRef = n, class: `flex effect-color border-softer relative grid overflow-hidden rounded-lg border-2 p-16
41
+ ${this.switchBg && this.isExpanded ? "bg-inverse" : "bg-default"}
42
+ ${this.switchBg ? "hover:bg-inverse" : ""}
43
+ ${this.description ? "min-h-56" : ""}` }, i("h3", { key: "137a3311195d51f46c6677558219828e5f4d06b5", ref: (n) => this.headerRef = n, class: "mr-auto f-heading-06 text-left absolute inset-x-16 break-words top-16 pr-40" }, this.heading), i("div", { key: "0fc6d493fd61726a53a8c4311bd183eb3ad5b270", class: "ml-auto" }, i("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" })), i("div", { key: "084bfb116dcccadf7253ca8ac8de6a1e1d4aa41f", class: "w-full", style: Number.isFinite(this.headerHeight) ? { marginTop: `${this.headerHeight}px` } : {} }, this.description ? i("span", { class: `text-light ${!this.isExpanded && this.clampText ? "line-clamp-1" : ""}` }, this.description) : null, i("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" } }, i("div", { key: "842bc3bc7a968ef5a428a97327f38253e8a32888", ref: (n) => this.childContentRef = n, class: "accordion-content effect-color pt-4", "aria-hidden": !this.isExpanded }, i("span", { key: "7c8fa8040da18cc2c128b42cdf9e75bfffe4c439", class: `${!this.isExpanded && this.clampText ? "line-clamp-2" : ""}` }, i("slot", { key: "852837c0c8c9d8a36f6263f7a943f50d82563a3c" }))))));
44
+ }
45
+ get el() {
46
+ return y(this);
47
+ }
48
+ };
49
+ En.style = Cn;
50
+ const zn = `*,
51
+ ::before,
52
+ ::after {
53
+ box-sizing: border-box;
54
+ border-width: 0;
55
+ border-style: solid;
56
+ border-color: currentColor;
57
+ }
58
+
59
+ p {
60
+ margin: 0;
61
+ }
62
+
63
+ .f-ui-01 {
64
+ font-family: var(--f-ui-01-fontFamily);
65
+ font-weight: var(--f-ui-01-fontWeight);
66
+ font-size: var(--f-ui-01-fontSize);
67
+ line-height: var(--f-ui-01-lineHeight);
68
+ letter-spacing: var(--f-ui-01-letterSpacing);
69
+ }
70
+
71
+ .border-inside {
72
+ position: relative;
73
+
74
+ &::after {
75
+ pointer-events: none;
76
+ }
77
+
78
+ &::after {
79
+ position: absolute;
80
+ }
81
+
82
+ &::after {
83
+ inset: 0rem;
84
+ }
85
+
86
+ &::after {
87
+ z-index: 1;
88
+ }
89
+
90
+ &::after {
91
+ border-radius: 8px;
92
+ }
93
+
94
+ &::after {
95
+ border-width: 1px;
96
+ }
97
+
98
+ &::after {
99
+ border-width: 2px;
100
+ }
101
+
102
+ &::after {
103
+ border-color: rgba(0, 0, 0, .1);
104
+ }
105
+
106
+ &::after {
107
+ content: '';
108
+ }
109
+ }
110
+
111
+ .flex {
112
+ display: flex;
113
+ }
114
+
115
+ .w-full {
116
+ width: 100%;
117
+ }
118
+
119
+ .flex-row {
120
+ flex-direction: row;
121
+ }
122
+
123
+ .items-center {
124
+ align-items: center;
125
+ }
126
+
127
+ .justify-between {
128
+ justify-content: space-between;
129
+ }
130
+
131
+ .gap-x-12 {
132
+ -moz-column-gap: 0.75rem;
133
+ column-gap: 0.75rem;
134
+ }
135
+
136
+ .space-y-12> :not([hidden])~ :not([hidden]) {
137
+ --tw-space-y-reverse: 0;
138
+ margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
139
+ margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
140
+ }
141
+
142
+ .rounded-lg {
143
+ border-radius: 16px;
144
+ }
145
+
146
+ .bg-dark {
147
+ background-color: var(--grey-300);
148
+ }
149
+
150
+ .bg-error {
151
+ background-color: var(--red-200);
152
+ }
153
+
154
+ .bg-success {
155
+ background-color: var(--green-200);
156
+ }
157
+
158
+ .bg-warning {
159
+ background-color: var(--yellow-200);
160
+ }
161
+
162
+ .p-16 {
163
+ padding: 1rem;
164
+ }
165
+
166
+ .p-20 {
167
+ padding: 1.25rem;
168
+ }
169
+
170
+ .px-12 {
171
+ padding-left: 0.75rem;
172
+ padding-right: 0.75rem;
173
+ }
174
+
175
+ .px-20 {
176
+ padding-left: 1.25rem;
177
+ padding-right: 1.25rem;
178
+ }
179
+
180
+ .py-12 {
181
+ padding-top: 0.75rem;
182
+ padding-bottom: 0.75rem;
183
+ }
184
+
185
+ .py-20 {
186
+ padding-top: 1.25rem;
187
+ padding-bottom: 1.25rem;
188
+ }
189
+
190
+ .py-8 {
191
+ padding-top: 0.5rem;
192
+ padding-bottom: 0.5rem;
193
+ }
194
+
195
+ .pr-12 {
196
+ padding-right: 0.75rem;
197
+ }
198
+
199
+ .shadow {
200
+ --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
201
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
202
+ }
203
+
204
+ [class*=underline-] {
205
+ text-decoration-line: underline;
206
+ }
207
+
208
+ .after\\:rounded-lg::after {
209
+ border-radius: 16px;
210
+ }
211
+
212
+ .after\\:border-softest::after {
213
+ border-color: rgba(0, 0, 0, .05);
214
+ }`, Fn = zn, An = N(["w-full bg-dark"], {
215
+ variants: {
216
+ intent: {
217
+ default: "",
218
+ warning: "bg-warning",
219
+ error: "bg-error",
220
+ success: "bg-success"
221
+ },
222
+ brd: {
223
+ rounded: "rounded-lg border-inside after:border-softest after:rounded-lg",
224
+ normal: ""
225
+ },
226
+ direction: {
227
+ vertical: "space-y-12",
228
+ horizontal: "flex flex-row items-center justify-between gap-x-12"
229
+ },
230
+ withBtn: {
231
+ false: "",
232
+ true: ""
233
+ }
234
+ },
235
+ compoundVariants: [
236
+ {
237
+ direction: "horizontal",
238
+ withBtn: !0,
239
+ class: "px-20 pr-12 py-12"
240
+ },
241
+ {
242
+ direction: "horizontal",
243
+ withBtn: !1,
244
+ class: "p-20"
245
+ },
246
+ {
247
+ direction: "vertical",
248
+ withBtn: !0,
249
+ class: "p-16"
250
+ },
251
+ {
252
+ direction: "vertical",
253
+ withBtn: !1,
254
+ class: "px-12 py-20"
255
+ }
256
+ ],
257
+ defaultVariants: {
258
+ intent: "default",
259
+ brd: "rounded",
260
+ direction: "horizontal"
261
+ }
262
+ }), In = class {
263
+ constructor(n) {
264
+ p(this, n), this.edsalert = S(this, "edsalert", 7), this.message = void 0, this.pressableLabel = void 0, this.pressableUrl = void 0, this.direction = "horizontal", this.intent = "default", this.brd = "rounded", this.withBtn = !1;
265
+ }
266
+ componentWillLoad() {
267
+ this.withBtn = !!this.pressableLabel;
268
+ }
269
+ componentDidLoad() {
270
+ var n;
271
+ const e = (n = this.el.shadowRoot) === null || n === void 0 ? void 0 : n.querySelector("eds-link");
272
+ e && this.emitContext(e);
273
+ }
274
+ emitContext(n) {
275
+ const e = new CustomEvent("parentContext", {
276
+ detail: {
277
+ componentName: this.el.tagName.toLowerCase(),
278
+ identifier: null
279
+ }
280
+ });
281
+ n.dispatchEvent(e);
282
+ }
283
+ handleAction() {
284
+ this.edsalert.emit();
285
+ }
286
+ render() {
287
+ const n = this.intent !== "default" ? `${this.intent} alert` : "alert";
288
+ return i("div", { key: "2d22944e7ae86cf2523c194e20215a3d986083d9", class: An({
289
+ intent: this.intent,
290
+ brd: this.brd,
291
+ direction: this.direction,
292
+ withBtn: this.withBtn
293
+ }), role: "alert", "aria-label": n, "aria-live": this.intent === "error" ? "assertive" : "polite", "aria-labelledby": "alert-message", "aria-describedby": this.withBtn ? "alert-action" : void 0 }, i("p", { key: "b6c22446b0d87fb01a3cb882fe205ef48ea60b05", id: "alert-message", class: "f-ui-01 py-8", innerHTML: this.message }), this.withBtn && i("div", { key: "8414820eb7b65c83459cfb90adef3ea696e42444", id: "alert-action" }, this.pressableUrl ? i("eds-link", { class: "eds-alert-link", label: this.pressableLabel, url: this.pressableUrl, intent: "secondary", external: !0 }) : i("eds-button", { class: "eds-alert-button", label: this.pressableLabel, intent: "secondary", onClick: () => this.handleAction() })));
294
+ }
295
+ get el() {
296
+ return y(this);
297
+ }
298
+ };
299
+ In.style = Fn;
300
+ const Ln = `::before,
8
301
  ::after {
9
302
  box-sizing: border-box;
10
303
  border-width: 0;
@@ -205,9 +498,9 @@ abbr:where([title]) {
205
498
 
206
499
  .bg-gradient-04-bottom {
207
500
  background: linear-gradient(to top, #2B69FC, ease-in-out, #E6E6E6);
208
- }`, A = j, P = class {
501
+ }`, _n = Ln, Tn = class {
209
502
  constructor(n) {
210
- d(this, n), this.firstName = "User", this.lastName = "Avatar", this.picture = void 0, this.initials = void 0, this.color = "grey";
503
+ p(this, n), this.firstName = "User", this.lastName = "Avatar", this.picture = void 0, this.initials = void 0, this.color = "grey";
211
504
  }
212
505
  /**
213
506
  * Flag to render the avatar with rounded (pill) shape if `true`.
@@ -251,20 +544,119 @@ abbr:where([title]) {
251
544
  * @returns {JSX.Element} The rendered avatar component.
252
545
  */
253
546
  render() {
254
- return i("div", { key: "b7eff7ae1a1dea3509041e39316b49b673dbdf17", class: this.containerClasses }, this.picture ? i("eds-img", { src: this.picture, width: 54, height: 54, sizes: "120px", alt: `${this.firstName} ${this.lastName}`, lazyload: !0, withBg: !0 }) : i("abbr", { title: this.computedInitials || `${this.firstName} ${this.lastName}`, class: "!no-underline f-ui-01" }, this.computedInitials));
547
+ return i("div", { key: "34e86e50b1176efd8ae0cd9b30cd3823527d7eee", class: this.containerClasses }, this.picture ? i("eds-img", { src: this.picture, width: 54, height: 54, sizes: "120px", alt: `${this.firstName} ${this.lastName}`, lazyload: !0, withBg: !0 }) : i("abbr", { title: this.computedInitials || `${this.firstName} ${this.lastName}`, class: "!no-underline f-ui-01" }, this.computedInitials));
548
+ }
549
+ };
550
+ Tn.style = _n;
551
+ const $n = ".border-softer{border-color:rgba(0, 0, 0, .1)}.border-default{border-color:var(--black)}.my-16{margin-top:1rem;margin-bottom:1rem}.block{display:block}.w-full{width:100%}.border-t-2{border-top-width:2px}", On = $n, Rn = class {
552
+ constructor(n) {
553
+ p(this, n), this.inverse = !1;
554
+ }
555
+ render() {
556
+ return i("hr", { key: "688e11c730af1193f28db196cd144c6dd2efc3c6", class: `${this.inverse ? "border-default" : "border-softer"} my-16 inline-block w-full border-t-2` });
255
557
  }
256
558
  };
257
- P.style = A;
258
- const W = ".border-softer{border-color:rgba(0, 0, 0, .1)}.border-default{border-color:var(--black)}.my-16{margin-top:1rem;margin-bottom:1rem}.block{display:block}.w-full{width:100%}.border-t-2{border-top-width:2px}", _ = W, T = class {
559
+ Rn.style = On;
560
+ const Pn = "blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.items-center{align-items:center}.justify-center{justify-content:center}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.125rem * var(--tw-space-x-reverse));margin-left:calc(0.125rem * calc(1 - var(--tw-space-x-reverse)))}.px-2{padding-left:0.125rem;padding-right:0.125rem}.w-20{width:1.25rem}.w-28{width:1.75rem}.w-32{width:2rem}.w-44{width:2.75rem}.h-20{height:1.25rem}.h-24{height:1.5rem}.h-28{height:1.75rem}.h-32{height:2rem}@media (min-width: 750px){.md\\:block{display:block}}", Dn = Pn, Nn = class {
259
561
  constructor(n) {
260
- d(this, n), this.inverse = !1;
562
+ p(this, n), this.updateScreenSize = () => {
563
+ const e = window.innerWidth;
564
+ e < 769 ? this.maxVisibleItems = 3 : e <= 1024 ? this.maxVisibleItems = 3 : e <= 1280 ? this.maxVisibleItems = 3 : e <= 2200 ? this.maxVisibleItems = 4 : this.maxVisibleItems = 6;
565
+ }, this.items = [], this.intent = "ghost", this.parsedItems = [], this.isSmallScreen = !1, this.maxVisibleItems = 6;
566
+ }
567
+ /**
568
+ * Watches for changes to the `items` prop and parses it.
569
+ */
570
+ parseItems(n) {
571
+ this.parsedItems = R(n);
572
+ }
573
+ /**
574
+ * Lifecycle method that runs when the component is about to be loaded.
575
+ * It parses the initial `items` prop value.
576
+ */
577
+ componentWillLoad() {
578
+ this.parseItems(this.items), this.updateScreenSize(), window.addEventListener("resize", this.updateScreenSize);
579
+ }
580
+ disconnectedCallback() {
581
+ window.removeEventListener("resize", this.updateScreenSize);
582
+ }
583
+ /**
584
+ * Lifecycle method that runs when the component has fully loaded.
585
+ * It emits a custom event for each `eds-link` element contained within the breadcrumb.
586
+ */
587
+ componentDidLoad() {
588
+ var n;
589
+ const e = (n = this.el.shadowRoot) === null || n === void 0 ? void 0 : n.querySelectorAll("eds-link");
590
+ e == null || e.forEach((t) => {
591
+ this.emitContext(t);
592
+ });
593
+ }
594
+ /**
595
+ * Emits a custom event called `parentContext` for a given link element.
596
+ * This event provides context information about the breadcrumb component.
597
+ *
598
+ * @param linkElement - The link element to which the event will be dispatched.
599
+ */
600
+ emitContext(n) {
601
+ const e = new CustomEvent("parentContext", {
602
+ detail: {
603
+ componentName: this.el.tagName.toLowerCase(),
604
+ identifier: null
605
+ }
606
+ });
607
+ n.dispatchEvent(e);
261
608
  }
609
+ /**
610
+ * Returns breadcrumb items with potential truncation if there are too many.
611
+ * It inserts an ellipsis item where necessary.
612
+ */
613
+ getTruncatedItems() {
614
+ const n = this.parsedItems.length, e = { label: "...", url: "", isHidden: !0 };
615
+ if (n > this.maxVisibleItems) {
616
+ const t = this.parsedItems[0], r = this.parsedItems.slice(-2);
617
+ if (this.maxVisibleItems === 3)
618
+ return [t, e, ...r];
619
+ if (this.maxVisibleItems === 4) {
620
+ const l = this.parsedItems[Math.floor(n / 2)];
621
+ return [t, l, e, ...r];
622
+ }
623
+ }
624
+ return this.parsedItems;
625
+ }
626
+ /**
627
+ * Helper to determine the display label and full label.
628
+ * If the label is longer than 15 characters and the item is not the current (last) item,
629
+ * we display a truncated version but use the full label for aria attributes.
630
+ */
631
+ getLabels(n, e) {
632
+ return !e && n.label.length > 15 ? { displayLabel: `${n.label.slice(0, 15)}...`, fullLabel: n.label } : { displayLabel: n.label, fullLabel: n.label };
633
+ }
634
+ /**
635
+ * Render method for the breadcrumb component.
636
+ * It creates a navigation element with an ordered list of breadcrumb links.
637
+ * The last link is marked as the current page.
638
+ */
262
639
  render() {
263
- return i("hr", { key: "b604a776cae7edeee189e00af6993b42b57203f0", class: `${this.inverse ? "border-default" : "border-softer"} my-16 inline-block w-full border-t-2` });
640
+ const n = this.getTruncatedItems();
641
+ return i("nav", { key: "0625a234ec9f5095abbeaafa11e56bceb0432764", "aria-label": "Breadcrumb" }, i("ol", { key: "3898a4b048eca6c606a6948b26ec25a608cb908e", class: "flex items-center space-x-2" }, n.map((e, t) => {
642
+ const r = t === n.length - 1;
643
+ return i("li", { class: "flex items-center" }, e.isHidden ? i("eds-link", { label: "...", url: "#", intent: "strong", current: !1, "aria-label": "...", size: "small", "icon-small": "false", icon: "chevron-right" }) : (() => {
644
+ const { fullLabel: l } = this.getLabels(e, r), a = r ? this.intent === "strong" ? "weak" : this.intent === "weak" ? "strong" : this.intent : this.intent;
645
+ return i("eds-link", Object.assign({ label: l, url: e.url, intent: a, disabled: r, current: r, "aria-label": l, size: "small", "icon-small": "false" }, r ? { "aria-current": "page" } : {}));
646
+ })(), !r && !e.isHidden && i("eds-icon-wrapper", { icon: "chevron-right", class: "w-20 h-20" }));
647
+ })));
648
+ }
649
+ get el() {
650
+ return y(this);
651
+ }
652
+ static get watchers() {
653
+ return {
654
+ items: ["parseItems"]
655
+ };
264
656
  }
265
657
  };
266
- T.style = _;
267
- const O = `*,
658
+ Nn.style = Dn;
659
+ const Hn = `*,
268
660
  ::before,
269
661
  ::after {
270
662
  box-sizing: border-box;
@@ -630,6 +1022,10 @@ button,
630
1022
  display: block;
631
1023
  }
632
1024
 
1025
+ .\\!block {
1026
+ display: block !important;
1027
+ }
1028
+
633
1029
  .inline-block {
634
1030
  display: inline-block;
635
1031
  }
@@ -1173,9 +1569,9 @@ button,
1173
1569
 
1174
1570
  .hover\\:before\\:opacity-100:hover::before {
1175
1571
  opacity: 1;
1176
- }`, $ = O, H = class {
1572
+ }`, jn = Hn, Wn = class {
1177
1573
  constructor(n) {
1178
- d(this, n), this.button = m([
1574
+ p(this, n), this.button = N([
1179
1575
  "relative inline-flex items-center",
1180
1576
  "py-8",
1181
1577
  "effect-focus effect-color",
@@ -1189,7 +1585,7 @@ button,
1189
1585
  secondary: "border-inside border-inside-inverse text-inverse bg-strongest hover:bg-strong-dark",
1190
1586
  tertiary: "border-inside after:border-softest bg-dark hover:bg-darker",
1191
1587
  ghost: "border-inside hover:bg-darker",
1192
- ghostInverse: "border-inside hover:bg-dark"
1588
+ ghostInverse: "border-inside text-lightest hover:bg-dark"
1193
1589
  },
1194
1590
  loading: {
1195
1591
  true: "pointer-events-none",
@@ -1273,60 +1669,1685 @@ button,
1273
1669
  pill: !1,
1274
1670
  size: "small"
1275
1671
  }
1276
- }), this.parentContext = null, this.label = void 0, this.ariaLabel = "Button", this.elementType = "button", this.intent = "secondary", this.loading = !1, this.disabled = !1, this.pill = !1, this.icon = void 0, this.size = "small", this.iconPos = "right", this.iconSmall = !1, this.extraClass = void 0, this.triggerClick = void 0;
1672
+ }), this.parentContext = null, this.label = void 0, this.ariaLabel = "Button", this.elementType = "button", this.intent = "secondary", this.loading = !1, this.disabled = !1, this.pill = !1, this.icon = void 0, this.size = "small", this.iconPos = "right", this.iconSmall = !1, this.extraClass = void 0, this.triggerClick = void 0;
1673
+ }
1674
+ handleParentContext(n) {
1675
+ n.target === this.el && (this.parentContext = n.detail, n.stopPropagation());
1676
+ }
1677
+ handleClick(n) {
1678
+ var e, t;
1679
+ if (this.disabled || this.loading) {
1680
+ n.preventDefault();
1681
+ return;
1682
+ }
1683
+ A({
1684
+ category: "ui-component",
1685
+ parentContext: this.parentContext,
1686
+ tag: this.el.tagName.toLowerCase(),
1687
+ name: ((e = this.label) === null || e === void 0 ? void 0 : e.toLowerCase()) || ((t = this.ariaLabel) === null || t === void 0 ? void 0 : t.toLowerCase()) || "",
1688
+ action: "click"
1689
+ }), typeof this.triggerClick == "function" && this.triggerClick();
1690
+ }
1691
+ handleKeyDown(n) {
1692
+ this.disabled || this.loading || (n.key === "Enter" || this.elementType === "a" && n.key === " ") && (n.preventDefault(), this.handleClick(n));
1693
+ }
1694
+ render() {
1695
+ const n = this.button({
1696
+ intent: this.intent,
1697
+ loading: this.loading,
1698
+ iconPos: this.iconPos,
1699
+ size: this.size,
1700
+ pill: this.pill,
1701
+ iconOnly: !this.label,
1702
+ iconSmall: this.iconSmall
1703
+ }), e = this.elementType, t = !this.disabled && !this.loading;
1704
+ return i(hn, { key: "835cc81d3563abf1b5cb4c21165de1ef726d1e43" }, i(e, { key: "df05b2b2152e707e5fdd6028c5f557097d7e2b04", tabindex: t ? "0" : "-1", "aria-label": this.label ? void 0 : this.ariaLabel, "aria-disabled": this.disabled || this.loading ? "true" : void 0, "aria-busy": this.loading ? "true" : void 0, disabled: this.elementType === "button" ? this.disabled || this.loading : void 0, role: this.elementType === "a" ? "button" : void 0, class: `${n || ""} ${this.extraClass || ""}`, onClick: (r) => this.handleClick(r), onKeyDown: (r) => this.handleKeyDown(r) }, this.label && i("span", { key: "27c7473403e7c1bfd3dfc270151d44dbb639ceb3", class: this.loading ? "opacity-0" : "", "aria-hidden": this.loading ? "true" : void 0 }, this.label), this.loading && i("span", { key: "f52496884816bc299fb76c1afae5e4798bf642d2", class: "absolute inset-0 flex items-center justify-center", "aria-hidden": "true" }, i("span", { key: "d42bf2c229f6956a1e0dbe64aa6c79ad5608ca5c", class: "loader", style: {
1705
+ border: `3px solid ${this.intent === "secondary" ? "rgba(255, 255, 255, .3)" : "rgba(0, 0, 0, .3)"}`,
1706
+ borderBottomColor: this.intent === "secondary" ? "#fff" : "#000"
1707
+ } })), this.icon ? i("eds-icon-wrapper", { class: `
1708
+ flex inline-flex items-center justify-center
1709
+ ${this.size === "large" ? "h-24 w-24" : "h-20 w-20"}
1710
+ `, icon: this.icon, "aria-hidden": "true" }) : null));
1711
+ }
1712
+ static get delegatesFocus() {
1713
+ return !0;
1714
+ }
1715
+ get el() {
1716
+ return y(this);
1717
+ }
1718
+ };
1719
+ Wn.style = jn;
1720
+ var rn = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, ln = { exports: {} };
1721
+ (function(n) {
1722
+ var e = typeof window < "u" ? window : typeof WorkerGlobalScope < "u" && self instanceof WorkerGlobalScope ? self : {};
1723
+ /**
1724
+ * Prism: Lightweight, robust, elegant syntax highlighting
1725
+ *
1726
+ * @license MIT <https://opensource.org/licenses/MIT>
1727
+ * @author Lea Verou <https://lea.verou.me>
1728
+ * @namespace
1729
+ * @public
1730
+ */
1731
+ var t = function(r) {
1732
+ var l = /(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i, a = 0, c = {}, d = {
1733
+ /**
1734
+ * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the
1735
+ * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load
1736
+ * additional languages or plugins yourself.
1737
+ *
1738
+ * By setting this value to `true`, Prism will not automatically highlight all code elements on the page.
1739
+ *
1740
+ * You obviously have to change this value before the automatic highlighting started. To do this, you can add an
1741
+ * empty Prism object into the global scope before loading the Prism script like this:
1742
+ *
1743
+ * ```js
1744
+ * window.Prism = window.Prism || {};
1745
+ * Prism.manual = true;
1746
+ * // add a new <script> to load Prism's script
1747
+ * ```
1748
+ *
1749
+ * @default false
1750
+ * @type {boolean}
1751
+ * @memberof Prism
1752
+ * @public
1753
+ */
1754
+ manual: r.Prism && r.Prism.manual,
1755
+ /**
1756
+ * By default, if Prism is in a web worker, it assumes that it is in a worker it created itself, so it uses
1757
+ * `addEventListener` to communicate with its parent instance. However, if you're using Prism manually in your
1758
+ * own worker, you don't want it to do this.
1759
+ *
1760
+ * By setting this value to `true`, Prism will not add its own listeners to the worker.
1761
+ *
1762
+ * You obviously have to change this value before Prism executes. To do this, you can add an
1763
+ * empty Prism object into the global scope before loading the Prism script like this:
1764
+ *
1765
+ * ```js
1766
+ * window.Prism = window.Prism || {};
1767
+ * Prism.disableWorkerMessageHandler = true;
1768
+ * // Load Prism's script
1769
+ * ```
1770
+ *
1771
+ * @default false
1772
+ * @type {boolean}
1773
+ * @memberof Prism
1774
+ * @public
1775
+ */
1776
+ disableWorkerMessageHandler: r.Prism && r.Prism.disableWorkerMessageHandler,
1777
+ /**
1778
+ * A namespace for utility methods.
1779
+ *
1780
+ * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may
1781
+ * change or disappear at any time.
1782
+ *
1783
+ * @namespace
1784
+ * @memberof Prism
1785
+ */
1786
+ util: {
1787
+ encode: function s(o) {
1788
+ return o instanceof b ? new b(o.type, s(o.content), o.alias) : Array.isArray(o) ? o.map(s) : o.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/\u00a0/g, " ");
1789
+ },
1790
+ /**
1791
+ * Returns the name of the type of the given value.
1792
+ *
1793
+ * @param {any} o
1794
+ * @returns {string}
1795
+ * @example
1796
+ * type(null) === 'Null'
1797
+ * type(undefined) === 'Undefined'
1798
+ * type(123) === 'Number'
1799
+ * type('foo') === 'String'
1800
+ * type(true) === 'Boolean'
1801
+ * type([1, 2]) === 'Array'
1802
+ * type({}) === 'Object'
1803
+ * type(String) === 'Function'
1804
+ * type(/abc+/) === 'RegExp'
1805
+ */
1806
+ type: function(s) {
1807
+ return Object.prototype.toString.call(s).slice(8, -1);
1808
+ },
1809
+ /**
1810
+ * Returns a unique number for the given object. Later calls will still return the same number.
1811
+ *
1812
+ * @param {Object} obj
1813
+ * @returns {number}
1814
+ */
1815
+ objId: function(s) {
1816
+ return s.__id || Object.defineProperty(s, "__id", { value: ++a }), s.__id;
1817
+ },
1818
+ /**
1819
+ * Creates a deep clone of the given object.
1820
+ *
1821
+ * The main intended use of this function is to clone language definitions.
1822
+ *
1823
+ * @param {T} o
1824
+ * @param {Record<number, any>} [visited]
1825
+ * @returns {T}
1826
+ * @template T
1827
+ */
1828
+ clone: function s(o, g) {
1829
+ g = g || {};
1830
+ var h, f;
1831
+ switch (d.util.type(o)) {
1832
+ case "Object":
1833
+ if (f = d.util.objId(o), g[f])
1834
+ return g[f];
1835
+ h = /** @type {Record<string, any>} */
1836
+ {}, g[f] = h;
1837
+ for (var u in o)
1838
+ o.hasOwnProperty(u) && (h[u] = s(o[u], g));
1839
+ return (
1840
+ /** @type {any} */
1841
+ h
1842
+ );
1843
+ case "Array":
1844
+ return f = d.util.objId(o), g[f] ? g[f] : (h = [], g[f] = h, /** @type {Array} */
1845
+ /** @type {any} */
1846
+ o.forEach(function(x, m) {
1847
+ h[m] = s(x, g);
1848
+ }), /** @type {any} */
1849
+ h);
1850
+ default:
1851
+ return o;
1852
+ }
1853
+ },
1854
+ /**
1855
+ * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.
1856
+ *
1857
+ * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.
1858
+ *
1859
+ * @param {Element} element
1860
+ * @returns {string}
1861
+ */
1862
+ getLanguage: function(s) {
1863
+ for (; s; ) {
1864
+ var o = l.exec(s.className);
1865
+ if (o)
1866
+ return o[1].toLowerCase();
1867
+ s = s.parentElement;
1868
+ }
1869
+ return "none";
1870
+ },
1871
+ /**
1872
+ * Sets the Prism `language-xxxx` class of the given element.
1873
+ *
1874
+ * @param {Element} element
1875
+ * @param {string} language
1876
+ * @returns {void}
1877
+ */
1878
+ setLanguage: function(s, o) {
1879
+ s.className = s.className.replace(RegExp(l, "gi"), ""), s.classList.add("language-" + o);
1880
+ },
1881
+ /**
1882
+ * Returns the script element that is currently executing.
1883
+ *
1884
+ * This does __not__ work for line script element.
1885
+ *
1886
+ * @returns {HTMLScriptElement | null}
1887
+ */
1888
+ currentScript: function() {
1889
+ if (typeof document > "u")
1890
+ return null;
1891
+ if ("currentScript" in document)
1892
+ return (
1893
+ /** @type {any} */
1894
+ document.currentScript
1895
+ );
1896
+ try {
1897
+ throw new Error();
1898
+ } catch (h) {
1899
+ var s = (/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(h.stack) || [])[1];
1900
+ if (s) {
1901
+ var o = document.getElementsByTagName("script");
1902
+ for (var g in o)
1903
+ if (o[g].src == s)
1904
+ return o[g];
1905
+ }
1906
+ return null;
1907
+ }
1908
+ },
1909
+ /**
1910
+ * Returns whether a given class is active for `element`.
1911
+ *
1912
+ * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated
1913
+ * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the
1914
+ * given class is just the given class with a `no-` prefix.
1915
+ *
1916
+ * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is
1917
+ * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its
1918
+ * ancestors have the given class or the negated version of it, then the default activation will be returned.
1919
+ *
1920
+ * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated
1921
+ * version of it, the class is considered active.
1922
+ *
1923
+ * @param {Element} element
1924
+ * @param {string} className
1925
+ * @param {boolean} [defaultActivation=false]
1926
+ * @returns {boolean}
1927
+ */
1928
+ isActive: function(s, o, g) {
1929
+ for (var h = "no-" + o; s; ) {
1930
+ var f = s.classList;
1931
+ if (f.contains(o))
1932
+ return !0;
1933
+ if (f.contains(h))
1934
+ return !1;
1935
+ s = s.parentElement;
1936
+ }
1937
+ return !!g;
1938
+ }
1939
+ },
1940
+ /**
1941
+ * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.
1942
+ *
1943
+ * @namespace
1944
+ * @memberof Prism
1945
+ * @public
1946
+ */
1947
+ languages: {
1948
+ /**
1949
+ * The grammar for plain, unformatted text.
1950
+ */
1951
+ plain: c,
1952
+ plaintext: c,
1953
+ text: c,
1954
+ txt: c,
1955
+ /**
1956
+ * Creates a deep copy of the language with the given id and appends the given tokens.
1957
+ *
1958
+ * If a token in `redef` also appears in the copied language, then the existing token in the copied language
1959
+ * will be overwritten at its original position.
1960
+ *
1961
+ * ## Best practices
1962
+ *
1963
+ * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)
1964
+ * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to
1965
+ * understand the language definition because, normally, the order of tokens matters in Prism grammars.
1966
+ *
1967
+ * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.
1968
+ * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.
1969
+ *
1970
+ * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.
1971
+ * @param {Grammar} redef The new tokens to append.
1972
+ * @returns {Grammar} The new language created.
1973
+ * @public
1974
+ * @example
1975
+ * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {
1976
+ * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token
1977
+ * // at its original position
1978
+ * 'comment': { ... },
1979
+ * // CSS doesn't have a 'color' token, so this token will be appended
1980
+ * 'color': /\b(?:red|green|blue)\b/
1981
+ * });
1982
+ */
1983
+ extend: function(s, o) {
1984
+ var g = d.util.clone(d.languages[s]);
1985
+ for (var h in o)
1986
+ g[h] = o[h];
1987
+ return g;
1988
+ },
1989
+ /**
1990
+ * Inserts tokens _before_ another token in a language definition or any other grammar.
1991
+ *
1992
+ * ## Usage
1993
+ *
1994
+ * This helper method makes it easy to modify existing languages. For example, the CSS language definition
1995
+ * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded
1996
+ * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the
1997
+ * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do
1998
+ * this:
1999
+ *
2000
+ * ```js
2001
+ * Prism.languages.markup.style = {
2002
+ * // token
2003
+ * };
2004
+ * ```
2005
+ *
2006
+ * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens
2007
+ * before existing tokens. For the CSS example above, you would use it like this:
2008
+ *
2009
+ * ```js
2010
+ * Prism.languages.insertBefore('markup', 'cdata', {
2011
+ * 'style': {
2012
+ * // token
2013
+ * }
2014
+ * });
2015
+ * ```
2016
+ *
2017
+ * ## Special cases
2018
+ *
2019
+ * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar
2020
+ * will be ignored.
2021
+ *
2022
+ * This behavior can be used to insert tokens after `before`:
2023
+ *
2024
+ * ```js
2025
+ * Prism.languages.insertBefore('markup', 'comment', {
2026
+ * 'comment': Prism.languages.markup.comment,
2027
+ * // tokens after 'comment'
2028
+ * });
2029
+ * ```
2030
+ *
2031
+ * ## Limitations
2032
+ *
2033
+ * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object
2034
+ * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave
2035
+ * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily
2036
+ * deleting properties which is necessary to insert at arbitrary positions.
2037
+ *
2038
+ * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.
2039
+ * Instead, it will create a new object and replace all references to the target object with the new one. This
2040
+ * can be done without temporarily deleting properties, so the iteration order is well-defined.
2041
+ *
2042
+ * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if
2043
+ * you hold the target object in a variable, then the value of the variable will not change.
2044
+ *
2045
+ * ```js
2046
+ * var oldMarkup = Prism.languages.markup;
2047
+ * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });
2048
+ *
2049
+ * assert(oldMarkup !== Prism.languages.markup);
2050
+ * assert(newMarkup === Prism.languages.markup);
2051
+ * ```
2052
+ *
2053
+ * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the
2054
+ * object to be modified.
2055
+ * @param {string} before The key to insert before.
2056
+ * @param {Grammar} insert An object containing the key-value pairs to be inserted.
2057
+ * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the
2058
+ * object to be modified.
2059
+ *
2060
+ * Defaults to `Prism.languages`.
2061
+ * @returns {Grammar} The new grammar object.
2062
+ * @public
2063
+ */
2064
+ insertBefore: function(s, o, g, h) {
2065
+ h = h || /** @type {any} */
2066
+ d.languages;
2067
+ var f = h[s], u = {};
2068
+ for (var x in f)
2069
+ if (f.hasOwnProperty(x)) {
2070
+ if (x == o)
2071
+ for (var m in g)
2072
+ g.hasOwnProperty(m) && (u[m] = g[m]);
2073
+ g.hasOwnProperty(x) || (u[x] = f[x]);
2074
+ }
2075
+ var w = h[s];
2076
+ return h[s] = u, d.languages.DFS(d.languages, function(z, $) {
2077
+ $ === w && z != s && (this[z] = u);
2078
+ }), u;
2079
+ },
2080
+ // Traverse a language definition with Depth First Search
2081
+ DFS: function s(o, g, h, f) {
2082
+ f = f || {};
2083
+ var u = d.util.objId;
2084
+ for (var x in o)
2085
+ if (o.hasOwnProperty(x)) {
2086
+ g.call(o, x, o[x], h || x);
2087
+ var m = o[x], w = d.util.type(m);
2088
+ w === "Object" && !f[u(m)] ? (f[u(m)] = !0, s(m, g, null, f)) : w === "Array" && !f[u(m)] && (f[u(m)] = !0, s(m, g, x, f));
2089
+ }
2090
+ }
2091
+ },
2092
+ plugins: {},
2093
+ /**
2094
+ * This is the most high-level function in Prism’s API.
2095
+ * It fetches all the elements that have a `.language-xxxx` class and then calls {@link Prism.highlightElement} on
2096
+ * each one of them.
2097
+ *
2098
+ * This is equivalent to `Prism.highlightAllUnder(document, async, callback)`.
2099
+ *
2100
+ * @param {boolean} [async=false] Same as in {@link Prism.highlightAllUnder}.
2101
+ * @param {HighlightCallback} [callback] Same as in {@link Prism.highlightAllUnder}.
2102
+ * @memberof Prism
2103
+ * @public
2104
+ */
2105
+ highlightAll: function(s, o) {
2106
+ d.highlightAllUnder(document, s, o);
2107
+ },
2108
+ /**
2109
+ * Fetches all the descendants of `container` that have a `.language-xxxx` class and then calls
2110
+ * {@link Prism.highlightElement} on each one of them.
2111
+ *
2112
+ * The following hooks will be run:
2113
+ * 1. `before-highlightall`
2114
+ * 2. `before-all-elements-highlight`
2115
+ * 3. All hooks of {@link Prism.highlightElement} for each element.
2116
+ *
2117
+ * @param {ParentNode} container The root element, whose descendants that have a `.language-xxxx` class will be highlighted.
2118
+ * @param {boolean} [async=false] Whether each element is to be highlighted asynchronously using Web Workers.
2119
+ * @param {HighlightCallback} [callback] An optional callback to be invoked on each element after its highlighting is done.
2120
+ * @memberof Prism
2121
+ * @public
2122
+ */
2123
+ highlightAllUnder: function(s, o, g) {
2124
+ var h = {
2125
+ callback: g,
2126
+ container: s,
2127
+ selector: 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'
2128
+ };
2129
+ d.hooks.run("before-highlightall", h), h.elements = Array.prototype.slice.apply(h.container.querySelectorAll(h.selector)), d.hooks.run("before-all-elements-highlight", h);
2130
+ for (var f = 0, u; u = h.elements[f++]; )
2131
+ d.highlightElement(u, o === !0, h.callback);
2132
+ },
2133
+ /**
2134
+ * Highlights the code inside a single element.
2135
+ *
2136
+ * The following hooks will be run:
2137
+ * 1. `before-sanity-check`
2138
+ * 2. `before-highlight`
2139
+ * 3. All hooks of {@link Prism.highlight}. These hooks will be run by an asynchronous worker if `async` is `true`.
2140
+ * 4. `before-insert`
2141
+ * 5. `after-highlight`
2142
+ * 6. `complete`
2143
+ *
2144
+ * Some the above hooks will be skipped if the element doesn't contain any text or there is no grammar loaded for
2145
+ * the element's language.
2146
+ *
2147
+ * @param {Element} element The element containing the code.
2148
+ * It must have a class of `language-xxxx` to be processed, where `xxxx` is a valid language identifier.
2149
+ * @param {boolean} [async=false] Whether the element is to be highlighted asynchronously using Web Workers
2150
+ * to improve performance and avoid blocking the UI when highlighting very large chunks of code. This option is
2151
+ * [disabled by default](https://prismjs.com/faq.html#why-is-asynchronous-highlighting-disabled-by-default).
2152
+ *
2153
+ * Note: All language definitions required to highlight the code must be included in the main `prism.js` file for
2154
+ * asynchronous highlighting to work. You can build your own bundle on the
2155
+ * [Download page](https://prismjs.com/download.html).
2156
+ * @param {HighlightCallback} [callback] An optional callback to be invoked after the highlighting is done.
2157
+ * Mostly useful when `async` is `true`, since in that case, the highlighting is done asynchronously.
2158
+ * @memberof Prism
2159
+ * @public
2160
+ */
2161
+ highlightElement: function(s, o, g) {
2162
+ var h = d.util.getLanguage(s), f = d.languages[h];
2163
+ d.util.setLanguage(s, h);
2164
+ var u = s.parentElement;
2165
+ u && u.nodeName.toLowerCase() === "pre" && d.util.setLanguage(u, h);
2166
+ var x = s.textContent, m = {
2167
+ element: s,
2168
+ language: h,
2169
+ grammar: f,
2170
+ code: x
2171
+ };
2172
+ function w($) {
2173
+ m.highlightedCode = $, d.hooks.run("before-insert", m), m.element.innerHTML = m.highlightedCode, d.hooks.run("after-highlight", m), d.hooks.run("complete", m), g && g.call(m.element);
2174
+ }
2175
+ if (d.hooks.run("before-sanity-check", m), u = m.element.parentElement, u && u.nodeName.toLowerCase() === "pre" && !u.hasAttribute("tabindex") && u.setAttribute("tabindex", "0"), !m.code) {
2176
+ d.hooks.run("complete", m), g && g.call(m.element);
2177
+ return;
2178
+ }
2179
+ if (d.hooks.run("before-highlight", m), !m.grammar) {
2180
+ w(d.util.encode(m.code));
2181
+ return;
2182
+ }
2183
+ if (o && r.Worker) {
2184
+ var z = new Worker(d.filename);
2185
+ z.onmessage = function($) {
2186
+ w($.data);
2187
+ }, z.postMessage(JSON.stringify({
2188
+ language: m.language,
2189
+ code: m.code,
2190
+ immediateClose: !0
2191
+ }));
2192
+ } else
2193
+ w(d.highlight(m.code, m.grammar, m.language));
2194
+ },
2195
+ /**
2196
+ * Low-level function, only use if you know what you’re doing. It accepts a string of text as input
2197
+ * and the language definitions to use, and returns a string with the HTML produced.
2198
+ *
2199
+ * The following hooks will be run:
2200
+ * 1. `before-tokenize`
2201
+ * 2. `after-tokenize`
2202
+ * 3. `wrap`: On each {@link Token}.
2203
+ *
2204
+ * @param {string} text A string with the code to be highlighted.
2205
+ * @param {Grammar} grammar An object containing the tokens to use.
2206
+ *
2207
+ * Usually a language definition like `Prism.languages.markup`.
2208
+ * @param {string} language The name of the language definition passed to `grammar`.
2209
+ * @returns {string} The highlighted HTML.
2210
+ * @memberof Prism
2211
+ * @public
2212
+ * @example
2213
+ * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');
2214
+ */
2215
+ highlight: function(s, o, g) {
2216
+ var h = {
2217
+ code: s,
2218
+ grammar: o,
2219
+ language: g
2220
+ };
2221
+ if (d.hooks.run("before-tokenize", h), !h.grammar)
2222
+ throw new Error('The language "' + h.language + '" has no grammar.');
2223
+ return h.tokens = d.tokenize(h.code, h.grammar), d.hooks.run("after-tokenize", h), b.stringify(d.util.encode(h.tokens), h.language);
2224
+ },
2225
+ /**
2226
+ * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input
2227
+ * and the language definitions to use, and returns an array with the tokenized code.
2228
+ *
2229
+ * When the language definition includes nested tokens, the function is called recursively on each of these tokens.
2230
+ *
2231
+ * This method could be useful in other contexts as well, as a very crude parser.
2232
+ *
2233
+ * @param {string} text A string with the code to be highlighted.
2234
+ * @param {Grammar} grammar An object containing the tokens to use.
2235
+ *
2236
+ * Usually a language definition like `Prism.languages.markup`.
2237
+ * @returns {TokenStream} An array of strings and tokens, a token stream.
2238
+ * @memberof Prism
2239
+ * @public
2240
+ * @example
2241
+ * let code = `var foo = 0;`;
2242
+ * let tokens = Prism.tokenize(code, Prism.languages.javascript);
2243
+ * tokens.forEach(token => {
2244
+ * if (token instanceof Prism.Token && token.type === 'number') {
2245
+ * console.log(`Found numeric literal: ${token.content}`);
2246
+ * }
2247
+ * });
2248
+ */
2249
+ tokenize: function(s, o) {
2250
+ var g = o.rest;
2251
+ if (g) {
2252
+ for (var h in g)
2253
+ o[h] = g[h];
2254
+ delete o.rest;
2255
+ }
2256
+ var f = new T();
2257
+ return P(f, f.head, s), L(s, f, o, f.head, 0), j(f);
2258
+ },
2259
+ /**
2260
+ * @namespace
2261
+ * @memberof Prism
2262
+ * @public
2263
+ */
2264
+ hooks: {
2265
+ all: {},
2266
+ /**
2267
+ * Adds the given callback to the list of callbacks for the given hook.
2268
+ *
2269
+ * The callback will be invoked when the hook it is registered for is run.
2270
+ * Hooks are usually directly run by a highlight function but you can also run hooks yourself.
2271
+ *
2272
+ * One callback function can be registered to multiple hooks and the same hook multiple times.
2273
+ *
2274
+ * @param {string} name The name of the hook.
2275
+ * @param {HookCallback} callback The callback function which is given environment variables.
2276
+ * @public
2277
+ */
2278
+ add: function(s, o) {
2279
+ var g = d.hooks.all;
2280
+ g[s] = g[s] || [], g[s].push(o);
2281
+ },
2282
+ /**
2283
+ * Runs a hook invoking all registered callbacks with the given environment variables.
2284
+ *
2285
+ * Callbacks will be invoked synchronously and in the order in which they were registered.
2286
+ *
2287
+ * @param {string} name The name of the hook.
2288
+ * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.
2289
+ * @public
2290
+ */
2291
+ run: function(s, o) {
2292
+ var g = d.hooks.all[s];
2293
+ if (!(!g || !g.length))
2294
+ for (var h = 0, f; f = g[h++]; )
2295
+ f(o);
2296
+ }
2297
+ },
2298
+ Token: b
2299
+ };
2300
+ r.Prism = d;
2301
+ function b(s, o, g, h) {
2302
+ this.type = s, this.content = o, this.alias = g, this.length = (h || "").length | 0;
2303
+ }
2304
+ b.stringify = function s(o, g) {
2305
+ if (typeof o == "string")
2306
+ return o;
2307
+ if (Array.isArray(o)) {
2308
+ var h = "";
2309
+ return o.forEach(function(w) {
2310
+ h += s(w, g);
2311
+ }), h;
2312
+ }
2313
+ var f = {
2314
+ type: o.type,
2315
+ content: s(o.content, g),
2316
+ tag: "span",
2317
+ classes: ["token", o.type],
2318
+ attributes: {},
2319
+ language: g
2320
+ }, u = o.alias;
2321
+ u && (Array.isArray(u) ? Array.prototype.push.apply(f.classes, u) : f.classes.push(u)), d.hooks.run("wrap", f);
2322
+ var x = "";
2323
+ for (var m in f.attributes)
2324
+ x += " " + m + '="' + (f.attributes[m] || "").replace(/"/g, "&quot;") + '"';
2325
+ return "<" + f.tag + ' class="' + f.classes.join(" ") + '"' + x + ">" + f.content + "</" + f.tag + ">";
2326
+ };
2327
+ function k(s, o, g, h) {
2328
+ s.lastIndex = o;
2329
+ var f = s.exec(g);
2330
+ if (f && h && f[1]) {
2331
+ var u = f[1].length;
2332
+ f.index += u, f[0] = f[0].slice(u);
2333
+ }
2334
+ return f;
2335
+ }
2336
+ function L(s, o, g, h, f, u) {
2337
+ for (var x in g)
2338
+ if (!(!g.hasOwnProperty(x) || !g[x])) {
2339
+ var m = g[x];
2340
+ m = Array.isArray(m) ? m : [m];
2341
+ for (var w = 0; w < m.length; ++w) {
2342
+ if (u && u.cause == x + "," + w)
2343
+ return;
2344
+ var z = m[w], $ = z.inside, Z = !!z.lookbehind, J = !!z.greedy, sn = z.alias;
2345
+ if (J && !z.pattern.global) {
2346
+ var dn = z.pattern.toString().match(/[imsuy]*$/)[0];
2347
+ z.pattern = RegExp(z.pattern.source, dn + "g");
2348
+ }
2349
+ for (var Q = z.pattern || z, F = h.next, _ = f; F !== o.tail && !(u && _ >= u.reach); _ += F.value.length, F = F.next) {
2350
+ var D = F.value;
2351
+ if (o.length > s.length)
2352
+ return;
2353
+ if (!(D instanceof b)) {
2354
+ var W = 1, I;
2355
+ if (J) {
2356
+ if (I = k(Q, _, s, Z), !I || I.index >= s.length)
2357
+ break;
2358
+ var B = I.index, cn = I.index + I[0].length, O = _;
2359
+ for (O += F.value.length; B >= O; )
2360
+ F = F.next, O += F.value.length;
2361
+ if (O -= F.value.length, _ = O, F.value instanceof b)
2362
+ continue;
2363
+ for (var H = F; H !== o.tail && (O < cn || typeof H.value == "string"); H = H.next)
2364
+ W++, O += H.value.length;
2365
+ W--, D = s.slice(_, O), I.index -= _;
2366
+ } else if (I = k(Q, 0, D, Z), !I)
2367
+ continue;
2368
+ var B = I.index, q = I[0], V = D.slice(0, B), nn = D.slice(B + q.length), G = _ + D.length;
2369
+ u && G > u.reach && (u.reach = G);
2370
+ var M = F.prev;
2371
+ V && (M = P(o, M, V), _ += V.length), U(o, M, W);
2372
+ var gn = new b(x, $ ? d.tokenize(q, $) : q, sn, q);
2373
+ if (F = P(o, M, gn), nn && P(o, F, nn), W > 1) {
2374
+ var Y = {
2375
+ cause: x + "," + w,
2376
+ reach: G
2377
+ };
2378
+ L(s, o, g, F.prev, _, Y), u && Y.reach > u.reach && (u.reach = Y.reach);
2379
+ }
2380
+ }
2381
+ }
2382
+ }
2383
+ }
2384
+ }
2385
+ function T() {
2386
+ var s = { value: null, prev: null, next: null }, o = { value: null, prev: s, next: null };
2387
+ s.next = o, this.head = s, this.tail = o, this.length = 0;
2388
+ }
2389
+ function P(s, o, g) {
2390
+ var h = o.next, f = { value: g, prev: o, next: h };
2391
+ return o.next = f, h.prev = f, s.length++, f;
2392
+ }
2393
+ function U(s, o, g) {
2394
+ for (var h = o.next, f = 0; f < g && h !== s.tail; f++)
2395
+ h = h.next;
2396
+ o.next = h, h.prev = o, s.length -= f;
2397
+ }
2398
+ function j(s) {
2399
+ for (var o = [], g = s.head.next; g !== s.tail; )
2400
+ o.push(g.value), g = g.next;
2401
+ return o;
2402
+ }
2403
+ if (!r.document)
2404
+ return r.addEventListener && (d.disableWorkerMessageHandler || r.addEventListener("message", function(s) {
2405
+ var o = JSON.parse(s.data), g = o.language, h = o.code, f = o.immediateClose;
2406
+ r.postMessage(d.highlight(h, d.languages[g], g)), f && r.close();
2407
+ }, !1)), d;
2408
+ var C = d.util.currentScript();
2409
+ C && (d.filename = C.src, C.hasAttribute("data-manual") && (d.manual = !0));
2410
+ function v() {
2411
+ d.manual || d.highlightAll();
2412
+ }
2413
+ if (!d.manual) {
2414
+ var E = document.readyState;
2415
+ E === "loading" || E === "interactive" && C && C.defer ? document.addEventListener("DOMContentLoaded", v) : window.requestAnimationFrame ? window.requestAnimationFrame(v) : window.setTimeout(v, 16);
2416
+ }
2417
+ return d;
2418
+ }(e);
2419
+ n.exports && (n.exports = t), typeof rn < "u" && (rn.Prism = t), t.languages.markup = {
2420
+ comment: {
2421
+ pattern: /<!--(?:(?!<!--)[\s\S])*?-->/,
2422
+ greedy: !0
2423
+ },
2424
+ prolog: {
2425
+ pattern: /<\?[\s\S]+?\?>/,
2426
+ greedy: !0
2427
+ },
2428
+ doctype: {
2429
+ // https://www.w3.org/TR/xml/#NT-doctypedecl
2430
+ pattern: /<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,
2431
+ greedy: !0,
2432
+ inside: {
2433
+ "internal-subset": {
2434
+ pattern: /(^[^\[]*\[)[\s\S]+(?=\]>$)/,
2435
+ lookbehind: !0,
2436
+ greedy: !0,
2437
+ inside: null
2438
+ // see below
2439
+ },
2440
+ string: {
2441
+ pattern: /"[^"]*"|'[^']*'/,
2442
+ greedy: !0
2443
+ },
2444
+ punctuation: /^<!|>$|[[\]]/,
2445
+ "doctype-tag": /^DOCTYPE/i,
2446
+ name: /[^\s<>'"]+/
2447
+ }
2448
+ },
2449
+ cdata: {
2450
+ pattern: /<!\[CDATA\[[\s\S]*?\]\]>/i,
2451
+ greedy: !0
2452
+ },
2453
+ tag: {
2454
+ pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,
2455
+ greedy: !0,
2456
+ inside: {
2457
+ tag: {
2458
+ pattern: /^<\/?[^\s>\/]+/,
2459
+ inside: {
2460
+ punctuation: /^<\/?/,
2461
+ namespace: /^[^\s>\/:]+:/
2462
+ }
2463
+ },
2464
+ "special-attr": [],
2465
+ "attr-value": {
2466
+ pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,
2467
+ inside: {
2468
+ punctuation: [
2469
+ {
2470
+ pattern: /^=/,
2471
+ alias: "attr-equals"
2472
+ },
2473
+ {
2474
+ pattern: /^(\s*)["']|["']$/,
2475
+ lookbehind: !0
2476
+ }
2477
+ ]
2478
+ }
2479
+ },
2480
+ punctuation: /\/?>/,
2481
+ "attr-name": {
2482
+ pattern: /[^\s>\/]+/,
2483
+ inside: {
2484
+ namespace: /^[^\s>\/:]+:/
2485
+ }
2486
+ }
2487
+ }
2488
+ },
2489
+ entity: [
2490
+ {
2491
+ pattern: /&[\da-z]{1,8};/i,
2492
+ alias: "named-entity"
2493
+ },
2494
+ /&#x?[\da-f]{1,8};/i
2495
+ ]
2496
+ }, t.languages.markup.tag.inside["attr-value"].inside.entity = t.languages.markup.entity, t.languages.markup.doctype.inside["internal-subset"].inside = t.languages.markup, t.hooks.add("wrap", function(r) {
2497
+ r.type === "entity" && (r.attributes.title = r.content.replace(/&amp;/, "&"));
2498
+ }), Object.defineProperty(t.languages.markup.tag, "addInlined", {
2499
+ /**
2500
+ * Adds an inlined language to markup.
2501
+ *
2502
+ * An example of an inlined language is CSS with `<style>` tags.
2503
+ *
2504
+ * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as
2505
+ * case insensitive.
2506
+ * @param {string} lang The language key.
2507
+ * @example
2508
+ * addInlined('style', 'css');
2509
+ */
2510
+ value: function(l, a) {
2511
+ var c = {};
2512
+ c["language-" + a] = {
2513
+ pattern: /(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,
2514
+ lookbehind: !0,
2515
+ inside: t.languages[a]
2516
+ }, c.cdata = /^<!\[CDATA\[|\]\]>$/i;
2517
+ var d = {
2518
+ "included-cdata": {
2519
+ pattern: /<!\[CDATA\[[\s\S]*?\]\]>/i,
2520
+ inside: c
2521
+ }
2522
+ };
2523
+ d["language-" + a] = {
2524
+ pattern: /[\s\S]+/,
2525
+ inside: t.languages[a]
2526
+ };
2527
+ var b = {};
2528
+ b[l] = {
2529
+ pattern: RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g, function() {
2530
+ return l;
2531
+ }), "i"),
2532
+ lookbehind: !0,
2533
+ greedy: !0,
2534
+ inside: d
2535
+ }, t.languages.insertBefore("markup", "cdata", b);
2536
+ }
2537
+ }), Object.defineProperty(t.languages.markup.tag, "addAttribute", {
2538
+ /**
2539
+ * Adds an pattern to highlight languages embedded in HTML attributes.
2540
+ *
2541
+ * An example of an inlined language is CSS with `style` attributes.
2542
+ *
2543
+ * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as
2544
+ * case insensitive.
2545
+ * @param {string} lang The language key.
2546
+ * @example
2547
+ * addAttribute('style', 'css');
2548
+ */
2549
+ value: function(r, l) {
2550
+ t.languages.markup.tag.inside["special-attr"].push({
2551
+ pattern: RegExp(
2552
+ /(^|["'\s])/.source + "(?:" + r + ")" + /\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,
2553
+ "i"
2554
+ ),
2555
+ lookbehind: !0,
2556
+ inside: {
2557
+ "attr-name": /^[^\s=]+/,
2558
+ "attr-value": {
2559
+ pattern: /=[\s\S]+/,
2560
+ inside: {
2561
+ value: {
2562
+ pattern: /(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,
2563
+ lookbehind: !0,
2564
+ alias: [l, "language-" + l],
2565
+ inside: t.languages[l]
2566
+ },
2567
+ punctuation: [
2568
+ {
2569
+ pattern: /^=/,
2570
+ alias: "attr-equals"
2571
+ },
2572
+ /"|'/
2573
+ ]
2574
+ }
2575
+ }
2576
+ }
2577
+ });
2578
+ }
2579
+ }), t.languages.html = t.languages.markup, t.languages.mathml = t.languages.markup, t.languages.svg = t.languages.markup, t.languages.xml = t.languages.extend("markup", {}), t.languages.ssml = t.languages.xml, t.languages.atom = t.languages.xml, t.languages.rss = t.languages.xml, function(r) {
2580
+ var l = /(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;
2581
+ r.languages.css = {
2582
+ comment: /\/\*[\s\S]*?\*\//,
2583
+ atrule: {
2584
+ pattern: RegExp("@[\\w-](?:" + /[^;{\s"']|\s+(?!\s)/.source + "|" + l.source + ")*?" + /(?:;|(?=\s*\{))/.source),
2585
+ inside: {
2586
+ rule: /^@[\w-]+/,
2587
+ "selector-function-argument": {
2588
+ pattern: /(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,
2589
+ lookbehind: !0,
2590
+ alias: "selector"
2591
+ },
2592
+ keyword: {
2593
+ pattern: /(^|[^\w-])(?:and|not|only|or)(?![\w-])/,
2594
+ lookbehind: !0
2595
+ }
2596
+ // See rest below
2597
+ }
2598
+ },
2599
+ url: {
2600
+ // https://drafts.csswg.org/css-values-3/#urls
2601
+ pattern: RegExp("\\burl\\((?:" + l.source + "|" + /(?:[^\\\r\n()"']|\\[\s\S])*/.source + ")\\)", "i"),
2602
+ greedy: !0,
2603
+ inside: {
2604
+ function: /^url/i,
2605
+ punctuation: /^\(|\)$/,
2606
+ string: {
2607
+ pattern: RegExp("^" + l.source + "$"),
2608
+ alias: "url"
2609
+ }
2610
+ }
2611
+ },
2612
+ selector: {
2613
+ pattern: RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|` + l.source + ")*(?=\\s*\\{)"),
2614
+ lookbehind: !0
2615
+ },
2616
+ string: {
2617
+ pattern: l,
2618
+ greedy: !0
2619
+ },
2620
+ property: {
2621
+ pattern: /(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,
2622
+ lookbehind: !0
2623
+ },
2624
+ important: /!important\b/i,
2625
+ function: {
2626
+ pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,
2627
+ lookbehind: !0
2628
+ },
2629
+ punctuation: /[(){};:,]/
2630
+ }, r.languages.css.atrule.inside.rest = r.languages.css;
2631
+ var a = r.languages.markup;
2632
+ a && (a.tag.addInlined("style", "css"), a.tag.addAttribute("style", "css"));
2633
+ }(t), t.languages.clike = {
2634
+ comment: [
2635
+ {
2636
+ pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,
2637
+ lookbehind: !0,
2638
+ greedy: !0
2639
+ },
2640
+ {
2641
+ pattern: /(^|[^\\:])\/\/.*/,
2642
+ lookbehind: !0,
2643
+ greedy: !0
2644
+ }
2645
+ ],
2646
+ string: {
2647
+ pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
2648
+ greedy: !0
2649
+ },
2650
+ "class-name": {
2651
+ pattern: /(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,
2652
+ lookbehind: !0,
2653
+ inside: {
2654
+ punctuation: /[.\\]/
2655
+ }
2656
+ },
2657
+ keyword: /\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,
2658
+ boolean: /\b(?:false|true)\b/,
2659
+ function: /\b\w+(?=\()/,
2660
+ number: /\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,
2661
+ operator: /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,
2662
+ punctuation: /[{}[\];(),.:]/
2663
+ }, t.languages.javascript = t.languages.extend("clike", {
2664
+ "class-name": [
2665
+ t.languages.clike["class-name"],
2666
+ {
2667
+ pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,
2668
+ lookbehind: !0
2669
+ }
2670
+ ],
2671
+ keyword: [
2672
+ {
2673
+ pattern: /((?:^|\})\s*)catch\b/,
2674
+ lookbehind: !0
2675
+ },
2676
+ {
2677
+ pattern: /(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,
2678
+ lookbehind: !0
2679
+ }
2680
+ ],
2681
+ // Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)
2682
+ function: /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,
2683
+ number: {
2684
+ pattern: RegExp(
2685
+ /(^|[^\w$])/.source + "(?:" + // constant
2686
+ (/NaN|Infinity/.source + "|" + // binary integer
2687
+ /0[bB][01]+(?:_[01]+)*n?/.source + "|" + // octal integer
2688
+ /0[oO][0-7]+(?:_[0-7]+)*n?/.source + "|" + // hexadecimal integer
2689
+ /0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source + "|" + // decimal bigint
2690
+ /\d+(?:_\d+)*n/.source + "|" + // decimal number (integer or float) but no bigint
2691
+ /(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source) + ")" + /(?![\w$])/.source
2692
+ ),
2693
+ lookbehind: !0
2694
+ },
2695
+ operator: /--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/
2696
+ }), t.languages.javascript["class-name"][0].pattern = /(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/, t.languages.insertBefore("javascript", "keyword", {
2697
+ regex: {
2698
+ pattern: RegExp(
2699
+ // lookbehind
2700
+ // eslint-disable-next-line regexp/no-dupe-characters-character-class
2701
+ /((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source + // Regex pattern:
2702
+ // There are 2 regex patterns here. The RegExp set notation proposal added support for nested character
2703
+ // classes if the `v` flag is present. Unfortunately, nested CCs are both context-free and incompatible
2704
+ // with the only syntax, so we have to define 2 different regex patterns.
2705
+ /\//.source + "(?:" + /(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source + "|" + // `v` flag syntax. This supports 3 levels of nested character classes.
2706
+ /(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source + ")" + // lookahead
2707
+ /(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source
2708
+ ),
2709
+ lookbehind: !0,
2710
+ greedy: !0,
2711
+ inside: {
2712
+ "regex-source": {
2713
+ pattern: /^(\/)[\s\S]+(?=\/[a-z]*$)/,
2714
+ lookbehind: !0,
2715
+ alias: "language-regex",
2716
+ inside: t.languages.regex
2717
+ },
2718
+ "regex-delimiter": /^\/|\/$/,
2719
+ "regex-flags": /^[a-z]+$/
2720
+ }
2721
+ },
2722
+ // This must be declared before keyword because we use "function" inside the look-forward
2723
+ "function-variable": {
2724
+ pattern: /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,
2725
+ alias: "function"
2726
+ },
2727
+ parameter: [
2728
+ {
2729
+ pattern: /(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,
2730
+ lookbehind: !0,
2731
+ inside: t.languages.javascript
2732
+ },
2733
+ {
2734
+ pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,
2735
+ lookbehind: !0,
2736
+ inside: t.languages.javascript
2737
+ },
2738
+ {
2739
+ pattern: /(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,
2740
+ lookbehind: !0,
2741
+ inside: t.languages.javascript
2742
+ },
2743
+ {
2744
+ pattern: /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,
2745
+ lookbehind: !0,
2746
+ inside: t.languages.javascript
2747
+ }
2748
+ ],
2749
+ constant: /\b[A-Z](?:[A-Z_]|\dx?)*\b/
2750
+ }), t.languages.insertBefore("javascript", "string", {
2751
+ hashbang: {
2752
+ pattern: /^#!.*/,
2753
+ greedy: !0,
2754
+ alias: "comment"
2755
+ },
2756
+ "template-string": {
2757
+ pattern: /`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,
2758
+ greedy: !0,
2759
+ inside: {
2760
+ "template-punctuation": {
2761
+ pattern: /^`|`$/,
2762
+ alias: "string"
2763
+ },
2764
+ interpolation: {
2765
+ pattern: /((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
2766
+ lookbehind: !0,
2767
+ inside: {
2768
+ "interpolation-punctuation": {
2769
+ pattern: /^\$\{|\}$/,
2770
+ alias: "punctuation"
2771
+ },
2772
+ rest: t.languages.javascript
2773
+ }
2774
+ },
2775
+ string: /[\s\S]+/
2776
+ }
2777
+ },
2778
+ "string-property": {
2779
+ pattern: /((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,
2780
+ lookbehind: !0,
2781
+ greedy: !0,
2782
+ alias: "property"
2783
+ }
2784
+ }), t.languages.insertBefore("javascript", "operator", {
2785
+ "literal-property": {
2786
+ pattern: /((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,
2787
+ lookbehind: !0,
2788
+ alias: "property"
2789
+ }
2790
+ }), t.languages.markup && (t.languages.markup.tag.addInlined("script", "javascript"), t.languages.markup.tag.addAttribute(
2791
+ /on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,
2792
+ "javascript"
2793
+ )), t.languages.js = t.languages.javascript, function() {
2794
+ if (typeof t > "u" || typeof document > "u")
2795
+ return;
2796
+ Element.prototype.matches || (Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector);
2797
+ var r = "Loading…", l = function(C, v) {
2798
+ return "✖ Error " + C + " while fetching file: " + v;
2799
+ }, a = "✖ Error: File does not exist or is empty", c = {
2800
+ js: "javascript",
2801
+ py: "python",
2802
+ rb: "ruby",
2803
+ ps1: "powershell",
2804
+ psm1: "powershell",
2805
+ sh: "bash",
2806
+ bat: "batch",
2807
+ h: "c",
2808
+ tex: "latex"
2809
+ }, d = "data-src-status", b = "loading", k = "loaded", L = "failed", T = "pre[data-src]:not([" + d + '="' + k + '"]):not([' + d + '="' + b + '"])';
2810
+ function P(C, v, E) {
2811
+ var s = new XMLHttpRequest();
2812
+ s.open("GET", C, !0), s.onreadystatechange = function() {
2813
+ s.readyState == 4 && (s.status < 400 && s.responseText ? v(s.responseText) : s.status >= 400 ? E(l(s.status, s.statusText)) : E(a));
2814
+ }, s.send(null);
2815
+ }
2816
+ function U(C) {
2817
+ var v = /^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(C || "");
2818
+ if (v) {
2819
+ var E = Number(v[1]), s = v[2], o = v[3];
2820
+ return s ? o ? [E, Number(o)] : [E, void 0] : [E, E];
2821
+ }
2822
+ }
2823
+ t.hooks.add("before-highlightall", function(C) {
2824
+ C.selector += ", " + T;
2825
+ }), t.hooks.add("before-sanity-check", function(C) {
2826
+ var v = (
2827
+ /** @type {HTMLPreElement} */
2828
+ C.element
2829
+ );
2830
+ if (v.matches(T)) {
2831
+ C.code = "", v.setAttribute(d, b);
2832
+ var E = v.appendChild(document.createElement("CODE"));
2833
+ E.textContent = r;
2834
+ var s = v.getAttribute("data-src"), o = C.language;
2835
+ if (o === "none") {
2836
+ var g = (/\.(\w+)$/.exec(s) || [, "none"])[1];
2837
+ o = c[g] || g;
2838
+ }
2839
+ t.util.setLanguage(E, o), t.util.setLanguage(v, o);
2840
+ var h = t.plugins.autoloader;
2841
+ h && h.loadLanguages(o), P(
2842
+ s,
2843
+ function(f) {
2844
+ v.setAttribute(d, k);
2845
+ var u = U(v.getAttribute("data-range"));
2846
+ if (u) {
2847
+ var x = f.split(/\r\n?|\n/g), m = u[0], w = u[1] == null ? x.length : u[1];
2848
+ m < 0 && (m += x.length), m = Math.max(0, Math.min(m - 1, x.length)), w < 0 && (w += x.length), w = Math.max(0, Math.min(w, x.length)), f = x.slice(m, w).join(`
2849
+ `), v.hasAttribute("data-start") || v.setAttribute("data-start", String(m + 1));
2850
+ }
2851
+ E.textContent = f, t.highlightElement(E);
2852
+ },
2853
+ function(f) {
2854
+ v.setAttribute(d, L), E.textContent = f;
2855
+ }
2856
+ );
2857
+ }
2858
+ }), t.plugins.fileHighlight = {
2859
+ /**
2860
+ * Executes the File Highlight plugin for all matching `pre` elements under the given container.
2861
+ *
2862
+ * Note: Elements which are already loaded or currently loading will not be touched by this method.
2863
+ *
2864
+ * @param {ParentNode} [container=document]
2865
+ */
2866
+ highlight: function(v) {
2867
+ for (var E = (v || document).querySelectorAll(T), s = 0, o; o = E[s++]; )
2868
+ t.highlightElement(o);
2869
+ }
2870
+ };
2871
+ var j = !1;
2872
+ t.fileHighlight = function() {
2873
+ j || (console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."), j = !0), t.plugins.fileHighlight.highlight.apply(this, arguments);
2874
+ };
2875
+ }();
2876
+ })(ln);
2877
+ const X = ln.exports;
2878
+ Prism.languages.python = {
2879
+ comment: {
2880
+ pattern: /(^|[^\\])#.*/,
2881
+ lookbehind: !0,
2882
+ greedy: !0
2883
+ },
2884
+ "string-interpolation": {
2885
+ pattern: /(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,
2886
+ greedy: !0,
2887
+ inside: {
2888
+ interpolation: {
2889
+ // "{" <expression> <optional "!s", "!r", or "!a"> <optional ":" format specifier> "}"
2890
+ pattern: /((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,
2891
+ lookbehind: !0,
2892
+ inside: {
2893
+ "format-spec": {
2894
+ pattern: /(:)[^:(){}]+(?=\}$)/,
2895
+ lookbehind: !0
2896
+ },
2897
+ "conversion-option": {
2898
+ pattern: /![sra](?=[:}]$)/,
2899
+ alias: "punctuation"
2900
+ },
2901
+ rest: null
2902
+ }
2903
+ },
2904
+ string: /[\s\S]+/
2905
+ }
2906
+ },
2907
+ "triple-quoted-string": {
2908
+ pattern: /(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,
2909
+ greedy: !0,
2910
+ alias: "string"
2911
+ },
2912
+ string: {
2913
+ pattern: /(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,
2914
+ greedy: !0
2915
+ },
2916
+ function: {
2917
+ pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,
2918
+ lookbehind: !0
2919
+ },
2920
+ "class-name": {
2921
+ pattern: /(\bclass\s+)\w+/i,
2922
+ lookbehind: !0
2923
+ },
2924
+ decorator: {
2925
+ pattern: /(^[\t ]*)@\w+(?:\.\w+)*/m,
2926
+ lookbehind: !0,
2927
+ alias: ["annotation", "punctuation"],
2928
+ inside: {
2929
+ punctuation: /\./
2930
+ }
2931
+ },
2932
+ keyword: /\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,
2933
+ builtin: /\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,
2934
+ boolean: /\b(?:False|None|True)\b/,
2935
+ number: /\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,
2936
+ operator: /[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,
2937
+ punctuation: /[{}[\];(),.:]/
2938
+ };
2939
+ Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest = Prism.languages.python;
2940
+ Prism.languages.py = Prism.languages.python;
2941
+ (function(n) {
2942
+ var e = "\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b", t = {
2943
+ pattern: /(^(["']?)\w+\2)[ \t]+\S.*/,
2944
+ lookbehind: !0,
2945
+ alias: "punctuation",
2946
+ // this looks reasonably well in all themes
2947
+ inside: null
2948
+ // see below
2949
+ }, r = {
2950
+ bash: t,
2951
+ environment: {
2952
+ pattern: RegExp("\\$" + e),
2953
+ alias: "constant"
2954
+ },
2955
+ variable: [
2956
+ // [0]: Arithmetic Environment
2957
+ {
2958
+ pattern: /\$?\(\([\s\S]+?\)\)/,
2959
+ greedy: !0,
2960
+ inside: {
2961
+ // If there is a $ sign at the beginning highlight $(( and )) as variable
2962
+ variable: [
2963
+ {
2964
+ pattern: /(^\$\(\([\s\S]+)\)\)/,
2965
+ lookbehind: !0
2966
+ },
2967
+ /^\$\(\(/
2968
+ ],
2969
+ number: /\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,
2970
+ // Operators according to https://www.gnu.org/software/bash/manual/bashref.html#Shell-Arithmetic
2971
+ operator: /--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,
2972
+ // If there is no $ sign at the beginning highlight (( and )) as punctuation
2973
+ punctuation: /\(\(?|\)\)?|,|;/
2974
+ }
2975
+ },
2976
+ // [1]: Command Substitution
2977
+ {
2978
+ pattern: /\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,
2979
+ greedy: !0,
2980
+ inside: {
2981
+ variable: /^\$\(|^`|\)$|`$/
2982
+ }
2983
+ },
2984
+ // [2]: Brace expansion
2985
+ {
2986
+ pattern: /\$\{[^}]+\}/,
2987
+ greedy: !0,
2988
+ inside: {
2989
+ operator: /:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,
2990
+ punctuation: /[\[\]]/,
2991
+ environment: {
2992
+ pattern: RegExp("(\\{)" + e),
2993
+ lookbehind: !0,
2994
+ alias: "constant"
2995
+ }
2996
+ }
2997
+ },
2998
+ /\$(?:\w+|[#?*!@$])/
2999
+ ],
3000
+ // Escape sequences from echo and printf's manuals, and escaped quotes.
3001
+ entity: /\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/
3002
+ };
3003
+ n.languages.bash = {
3004
+ shebang: {
3005
+ pattern: /^#!\s*\/.*/,
3006
+ alias: "important"
3007
+ },
3008
+ comment: {
3009
+ pattern: /(^|[^"{\\$])#.*/,
3010
+ lookbehind: !0
3011
+ },
3012
+ "function-name": [
3013
+ // a) function foo {
3014
+ // b) foo() {
3015
+ // c) function foo() {
3016
+ // but not “foo {”
3017
+ {
3018
+ // a) and c)
3019
+ pattern: /(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,
3020
+ lookbehind: !0,
3021
+ alias: "function"
3022
+ },
3023
+ {
3024
+ // b)
3025
+ pattern: /\b[\w-]+(?=\s*\(\s*\)\s*\{)/,
3026
+ alias: "function"
3027
+ }
3028
+ ],
3029
+ // Highlight variable names as variables in for and select beginnings.
3030
+ "for-or-select": {
3031
+ pattern: /(\b(?:for|select)\s+)\w+(?=\s+in\s)/,
3032
+ alias: "variable",
3033
+ lookbehind: !0
3034
+ },
3035
+ // Highlight variable names as variables in the left-hand part
3036
+ // of assignments (“=” and “+=”).
3037
+ "assign-left": {
3038
+ pattern: /(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,
3039
+ inside: {
3040
+ environment: {
3041
+ pattern: RegExp("(^|[\\s;|&]|[<>]\\()" + e),
3042
+ lookbehind: !0,
3043
+ alias: "constant"
3044
+ }
3045
+ },
3046
+ alias: "variable",
3047
+ lookbehind: !0
3048
+ },
3049
+ // Highlight parameter names as variables
3050
+ parameter: {
3051
+ pattern: /(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,
3052
+ alias: "variable",
3053
+ lookbehind: !0
3054
+ },
3055
+ string: [
3056
+ // Support for Here-documents https://en.wikipedia.org/wiki/Here_document
3057
+ {
3058
+ pattern: /((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,
3059
+ lookbehind: !0,
3060
+ greedy: !0,
3061
+ inside: r
3062
+ },
3063
+ // Here-document with quotes around the tag
3064
+ // → No expansion (so no “inside”).
3065
+ {
3066
+ pattern: /((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,
3067
+ lookbehind: !0,
3068
+ greedy: !0,
3069
+ inside: {
3070
+ bash: t
3071
+ }
3072
+ },
3073
+ // “Normal” string
3074
+ {
3075
+ // https://www.gnu.org/software/bash/manual/html_node/Double-Quotes.html
3076
+ pattern: /(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,
3077
+ lookbehind: !0,
3078
+ greedy: !0,
3079
+ inside: r
3080
+ },
3081
+ {
3082
+ // https://www.gnu.org/software/bash/manual/html_node/Single-Quotes.html
3083
+ pattern: /(^|[^$\\])'[^']*'/,
3084
+ lookbehind: !0,
3085
+ greedy: !0
3086
+ },
3087
+ {
3088
+ // https://www.gnu.org/software/bash/manual/html_node/ANSI_002dC-Quoting.html
3089
+ pattern: /\$'(?:[^'\\]|\\[\s\S])*'/,
3090
+ greedy: !0,
3091
+ inside: {
3092
+ entity: r.entity
3093
+ }
3094
+ }
3095
+ ],
3096
+ environment: {
3097
+ pattern: RegExp("\\$?" + e),
3098
+ alias: "constant"
3099
+ },
3100
+ variable: r.variable,
3101
+ function: {
3102
+ pattern: /(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,
3103
+ lookbehind: !0
3104
+ },
3105
+ keyword: {
3106
+ pattern: /(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,
3107
+ lookbehind: !0
3108
+ },
3109
+ // https://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html
3110
+ builtin: {
3111
+ pattern: /(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,
3112
+ lookbehind: !0,
3113
+ // Alias added to make those easier to distinguish from strings.
3114
+ alias: "class-name"
3115
+ },
3116
+ boolean: {
3117
+ pattern: /(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,
3118
+ lookbehind: !0
3119
+ },
3120
+ "file-descriptor": {
3121
+ pattern: /\B&\d\b/,
3122
+ alias: "important"
3123
+ },
3124
+ operator: {
3125
+ // Lots of redirections here, but not just that.
3126
+ pattern: /\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,
3127
+ inside: {
3128
+ "file-descriptor": {
3129
+ pattern: /^\d/,
3130
+ alias: "important"
3131
+ }
3132
+ }
3133
+ },
3134
+ punctuation: /\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,
3135
+ number: {
3136
+ pattern: /(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,
3137
+ lookbehind: !0
3138
+ }
3139
+ }, t.inside = n.languages.bash;
3140
+ for (var l = [
3141
+ "comment",
3142
+ "function-name",
3143
+ "for-or-select",
3144
+ "assign-left",
3145
+ "parameter",
3146
+ "string",
3147
+ "environment",
3148
+ "function",
3149
+ "keyword",
3150
+ "builtin",
3151
+ "boolean",
3152
+ "file-descriptor",
3153
+ "operator",
3154
+ "punctuation",
3155
+ "number"
3156
+ ], a = r.variable[1].inside, c = 0; c < l.length; c++)
3157
+ a[l[c]] = n.languages.bash[l[c]];
3158
+ n.languages.sh = n.languages.bash, n.languages.shell = n.languages.bash;
3159
+ })(Prism);
3160
+ (function(n) {
3161
+ var e = /[*&][^\s[\]{},]+/, t = /!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/, r = "(?:" + t.source + "(?:[ ]+" + e.source + ")?|" + e.source + "(?:[ ]+" + t.source + ")?)", l = /(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g, function() {
3162
+ return /[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source;
3163
+ }), a = /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;
3164
+ function c(d, b) {
3165
+ b = (b || "").replace(/m/g, "") + "m";
3166
+ var k = /([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g, function() {
3167
+ return r;
3168
+ }).replace(/<<value>>/g, function() {
3169
+ return d;
3170
+ });
3171
+ return RegExp(k, b);
3172
+ }
3173
+ n.languages.yaml = {
3174
+ scalar: {
3175
+ pattern: RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g, function() {
3176
+ return r;
3177
+ })),
3178
+ lookbehind: !0,
3179
+ alias: "string"
3180
+ },
3181
+ comment: /#.*/,
3182
+ key: {
3183
+ pattern: RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g, function() {
3184
+ return r;
3185
+ }).replace(/<<key>>/g, function() {
3186
+ return "(?:" + l + "|" + a + ")";
3187
+ })),
3188
+ lookbehind: !0,
3189
+ greedy: !0,
3190
+ alias: "atrule"
3191
+ },
3192
+ directive: {
3193
+ pattern: /(^[ \t]*)%.+/m,
3194
+ lookbehind: !0,
3195
+ alias: "important"
3196
+ },
3197
+ datetime: {
3198
+ pattern: c(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),
3199
+ lookbehind: !0,
3200
+ alias: "number"
3201
+ },
3202
+ boolean: {
3203
+ pattern: c(/false|true/.source, "i"),
3204
+ lookbehind: !0,
3205
+ alias: "important"
3206
+ },
3207
+ null: {
3208
+ pattern: c(/null|~/.source, "i"),
3209
+ lookbehind: !0,
3210
+ alias: "important"
3211
+ },
3212
+ string: {
3213
+ pattern: c(a),
3214
+ lookbehind: !0,
3215
+ greedy: !0
3216
+ },
3217
+ number: {
3218
+ pattern: c(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source, "i"),
3219
+ lookbehind: !0
3220
+ },
3221
+ tag: t,
3222
+ important: e,
3223
+ punctuation: /---|[:[\]{}\-,|>?]|\.\.\./
3224
+ }, n.languages.yml = n.languages.yaml;
3225
+ })(Prism);
3226
+ (function(n) {
3227
+ var e = /(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;
3228
+ n.languages.css = {
3229
+ comment: /\/\*[\s\S]*?\*\//,
3230
+ atrule: {
3231
+ pattern: RegExp("@[\\w-](?:" + /[^;{\s"']|\s+(?!\s)/.source + "|" + e.source + ")*?" + /(?:;|(?=\s*\{))/.source),
3232
+ inside: {
3233
+ rule: /^@[\w-]+/,
3234
+ "selector-function-argument": {
3235
+ pattern: /(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,
3236
+ lookbehind: !0,
3237
+ alias: "selector"
3238
+ },
3239
+ keyword: {
3240
+ pattern: /(^|[^\w-])(?:and|not|only|or)(?![\w-])/,
3241
+ lookbehind: !0
3242
+ }
3243
+ // See rest below
3244
+ }
3245
+ },
3246
+ url: {
3247
+ // https://drafts.csswg.org/css-values-3/#urls
3248
+ pattern: RegExp("\\burl\\((?:" + e.source + "|" + /(?:[^\\\r\n()"']|\\[\s\S])*/.source + ")\\)", "i"),
3249
+ greedy: !0,
3250
+ inside: {
3251
+ function: /^url/i,
3252
+ punctuation: /^\(|\)$/,
3253
+ string: {
3254
+ pattern: RegExp("^" + e.source + "$"),
3255
+ alias: "url"
3256
+ }
3257
+ }
3258
+ },
3259
+ selector: {
3260
+ pattern: RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|` + e.source + ")*(?=\\s*\\{)"),
3261
+ lookbehind: !0
3262
+ },
3263
+ string: {
3264
+ pattern: e,
3265
+ greedy: !0
3266
+ },
3267
+ property: {
3268
+ pattern: /(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,
3269
+ lookbehind: !0
3270
+ },
3271
+ important: /!important\b/i,
3272
+ function: {
3273
+ pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,
3274
+ lookbehind: !0
3275
+ },
3276
+ punctuation: /[(){};:,]/
3277
+ }, n.languages.css.atrule.inside.rest = n.languages.css;
3278
+ var t = n.languages.markup;
3279
+ t && (t.tag.addInlined("style", "css"), t.tag.addAttribute("style", "css"));
3280
+ })(Prism);
3281
+ const Bn = `:host{display:block;font-family:var(--font-family, 'Courier New', monospace)}pre[class*="language-"]{white-space:pre-wrap;word-break:break-word;}.language{font-weight:bold;text-transform:uppercase}pre{margin:0;border-radius:8px;color:var(--purple-200);overflow:auto}code{font-family:'Courier New', monospace}.token.keyword{color:var(--purple-500)}.token.string{color:var(--green-500)}.token.function{color:var(--cyan-500)}.token.comment{color:var(--grey-700)}.relative{position:relative}.bg-stronger{background-color:var(--grey-900)}.rounded-sm{border-radius:8px}.rounded-xs{border-radius:4px}.text-inverse{color:var(--white)}.text-light{color:var(--grey-700)}.text-lighter{color:var(--grey-600)}.text-lightest{color:var(--grey-500)}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.p-0{padding:0rem}.p-12{padding:0.75rem}.p-16{padding:1rem}.p-20{padding:1.25rem}.p-6{padding:0.375rem}.p-8{padding:0.5rem}.pl-8{padding-left:0.5rem}.mb-10{margin-bottom:0.625rem}.mb-12{margin-bottom:0.75rem}.mb-28{margin-bottom:1.75rem}.pb-16{padding-bottom:1rem}.pb-20{padding-bottom:1.25rem}.pb-28{padding-bottom:1.75rem}.pb-60{padding-bottom:3.75rem}.pb-8{padding-bottom:0.5rem}.mt-16{margin-top:1rem}.mt-2{margin-top:0.125rem}.mt-20{margin-top:1.25rem}.mt-28{margin-top:1.75rem}.w-20{width:1.25rem}.h-20{height:1.25rem}.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)}.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}`, qn = Bn, Mn = class {
3282
+ constructor(n) {
3283
+ p(this, n), this.code = void 0, this.language = void 0, this.copied = !1;
1277
3284
  }
1278
- handleParentContext(n) {
1279
- n.target === this.el && (this.parentContext = n.detail, n.stopPropagation());
3285
+ /**
3286
+ * Copies the current code content to the clipboard and sets a temporary copied state.
3287
+ *
3288
+ * @private
3289
+ * @returns {void}
3290
+ */
3291
+ copyToClipboard() {
3292
+ navigator.clipboard.writeText(this.code).then(() => {
3293
+ this.copied = !0, setTimeout(() => this.copied = !1, 2e3);
3294
+ });
1280
3295
  }
1281
- handleClick(n) {
1282
- var e, t;
1283
- if (this.disabled) {
1284
- n.preventDefault();
1285
- return;
1286
- }
1287
- f({
1288
- category: "ui-component",
1289
- parentContext: this.parentContext,
1290
- tag: this.el.tagName.toLowerCase(),
1291
- name: ((e = this.label) === null || e === void 0 ? void 0 : e.toLowerCase()) || ((t = this.ariaLabel) === null || t === void 0 ? void 0 : t.toLowerCase()) || "",
1292
- action: "click"
1293
- }), typeof this.triggerClick == "function" && this.triggerClick();
3296
+ /**
3297
+ * Utility function that creates a human-friendly analytics name based on the code and language.
3298
+ * It uses:
3299
+ * - The language (in uppercase)
3300
+ * - The number of non-empty lines in the code
3301
+ * - The first non-empty line of code (truncated to 30 characters, if needed)
3302
+ *
3303
+ * returns A descriptive analytics name.
3304
+ */
3305
+ /*private createHumanFriendlyAnalyticsName(code: string, language: string): string {
3306
+ // Count non-empty lines
3307
+ const lines = code.split('\n').filter(line => line.trim() !== '').length;
3308
+
3309
+ // Find the first non-empty line and trim it
3310
+ let firstNonEmptyLine = code.split('\n').find(line => line.trim() !== '');
3311
+ firstNonEmptyLine = firstNonEmptyLine ? firstNonEmptyLine.trim() : '';
3312
+
3313
+ // Truncate the snippet if it’s too long
3314
+ if (firstNonEmptyLine.length > 30) {
3315
+ firstNonEmptyLine = firstNonEmptyLine.substring(0, 30) + '...';
3316
+ }
3317
+
3318
+ return `CodeBlock:${language.toLowerCase()}|${lines}-line(s)|${firstNonEmptyLine.toLowerCase()}`;
3319
+ }*/
3320
+ /**
3321
+ * Returns the syntax-highlighted HTML for the code.
3322
+ * If the provided language is supported by Prism, this method returns the highlighted code.
3323
+ * Otherwise, it logs a warning and returns the raw code.
3324
+ *
3325
+ * @private
3326
+ * @returns {string} The highlighted HTML string for the code block.
3327
+ */
3328
+ getHighlightedCode() {
3329
+ return this.language && X.languages[this.language] ? X.highlight(this.code, X.languages[this.language], this.language) : this.code;
1294
3330
  }
1295
3331
  render() {
1296
- const n = this.button({
1297
- intent: this.intent,
1298
- loading: this.loading,
1299
- iconPos: this.iconPos,
1300
- size: this.size,
1301
- pill: this.pill,
1302
- iconOnly: !this.label,
1303
- iconSmall: this.iconSmall
1304
- }), e = this.elementType;
1305
- return i(e, { key: "ecdd901c70578c07ef094aadbcd287588d4ba705", "aria-label": this.label || this.ariaLabel || void 0, "aria-disabled": this.elementType === "button" ? this.disabled : void 0, disabled: this.elementType === "button" ? this.disabled : void 0, class: `${n || ""} ${this.extraClass || ""}`, onClick: (t) => this.handleClick(t) }, this.label && i("span", { key: "af8d0ca1c5c3e54f9db3066931a69d3a5a812666", class: this.loading ? "opacity-0" : "" }, this.label), this.loading && i("span", { key: "29b72c15e80f46e023f829568f58d8a8dca82b78", class: "absolute inset-0 flex items-center justify-center" }, i("span", { key: "bad8bd059b1312ca3f5ab173b1203eb395e9bbd8", class: "loader", style: {
1306
- border: `3px solid ${this.intent === "secondary" ? "rgba(255, 255, 255, .3)" : "rgba(0, 0, 0, .3)"}`,
1307
- borderBottomColor: this.intent === "secondary" ? "#fff" : "#000"
1308
- } })), this.icon ? i("eds-icon-wrapper", { class: `
1309
- flex inline-flex items-center justify-center
1310
- ${this.size === "large" ? "h-24 w-24" : "h-20 w-20"}
1311
- `, icon: this.icon }) : null);
3332
+ return i("div", { key: "3cfaec27c58d05868313150f1a358ff64c8eafbd", class: "relative bg-stronger rounded-sm" }, i("div", { key: "ed91821385f30305348750dbfffec5fdd7b4dbb8", class: "text-inverse flex justify-between items-center p-8" }, this.language ? i("span", { class: "f-ui-03" }, this.language.toUpperCase()) : i("pre", { class: "bg-stronger pl-8", role: "region", "aria-label": "Code block without language" }, i("code", { innerHTML: this.getHighlightedCode() })), i("span", { key: "3e419585214883c878a8e84c440dbd29d590002d", "aria-hidden": "true", class: "w-20 h-20 mt-8" }, i("eds-icon-wrapper", { key: "051fa9c714d5c077d5d96ec9b92f8a744ec123bc", icon: this.copied ? "success" : "copy", onClick: () => this.copyToClipboard() })), i("span", { key: "707950ce89cb0c24b1afac42a8801d13659b6bab", class: "sr-only" }, "Copy Code")), this.language && i("pre", { key: "59923dd4c16cfecafffa2edaaac5ef7579c3f128", class: `language-${this.language} bg-stronger pl-8 pb-8`, role: "region", "aria-label": `Code block in ${this.language}` }, i("code", { key: "8c708992c04029d71685ad8922383ecdda05ac3c", innerHTML: this.getHighlightedCode() })));
1312
3333
  }
1313
3334
  get el() {
1314
- return g(this);
3335
+ return y(this);
1315
3336
  }
1316
3337
  };
1317
- H.style = $;
1318
- const D = ".z-focus{z-index:99}.relative{position:relative}.shadow-small{--tw-shadow:0px 1.5px 2px rgba(0, 0, 0, 0.1);--tw-shadow-colored:0px 1.5px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.bg-inverse{background-color:var(--white)}.border-softest{border:2px solid rgba(0, 0, 0, .05)}.z-10{z-index:10}.z-on-top{z-index:99999}.absolute{position:absolute}.top-full{top:100%}.mt-4{margin-top:0.25rem}.mt-6{margin-top:0.375rem}.mt-8{margin-top:0.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.gap-y-4{row-gap:0.25rem}.rounded-lg{border-radius:16px}.border-2{border-width:2px}.p-8{padding:0.5rem}.left-0{left:0rem}.left-1\\/2{left:50%}.left-4{left:0.25rem}.left-\\[4px\\]{left:4px}.right-0{right:0rem}.right-4{right:0.25rem}.right-8{right:0.5rem}", q = D, M = class {
3338
+ Mn.style = qn;
3339
+ const Un = ".z-focus{z-index:99}.relative{position:relative}.shadow-small{--tw-shadow:0px 1.5px 2px rgba(0, 0, 0, 0.1);--tw-shadow-colored:0px 1.5px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.bg-inverse{background-color:var(--white)}.border-softest{border:2px solid rgba(0, 0, 0, .05)}.z-10{z-index:10}.z-on-top{z-index:99999}.absolute{position:absolute}.top-full{top:100%}.mt-4{margin-top:0.25rem}.mt-6{margin-top:0.375rem}.mt-8{margin-top:0.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.gap-y-4{row-gap:0.25rem}.rounded-lg{border-radius:16px}.border-2{border-width:2px}.p-8{padding:0.5rem}.left-0{left:0rem}.left-1\\/2{left:50%}.left-4{left:0.25rem}.left-\\[4px\\]{left:4px}.right-0{right:0rem}.right-4{right:0.25rem}.right-8{right:0.5rem}", Vn = Un, Gn = class {
1319
3340
  constructor(n) {
1320
- d(this, n), this.dropdown = h(this, "dropdown", 7), this.focusableItems = [], this.handleClick = () => {
3341
+ p(this, n), this.dropdown = S(this, "dropdown", 7), this.focusableItems = [], this.handleClick = () => {
1321
3342
  var e;
1322
- this.isOpen = !this.isOpen, this.isOpen ? (this.focusIndex = 0, this.focusItem()) : this.closeDropdown(), this.dropdown.emit({ expanded: this.isOpen }), f({
3343
+ this.isOpen = !this.isOpen, this.isOpen ? (this.focusIndex = 0, this.focusItem()) : this.closeDropdown(), this.dropdown.emit({ expanded: this.isOpen }), A({
1323
3344
  category: "ui-component",
1324
3345
  parentContext: null,
1325
3346
  tag: this.host.tagName.toLowerCase(),
1326
3347
  name: ((e = this.label) === null || e === void 0 ? void 0 : e.toLowerCase()) || "",
1327
3348
  action: this.isOpen ? "expanded" : "collapsed"
1328
3349
  });
1329
- }, this.icon = "chevron-down", this.label = void 0, this.rounded = !1, this.ariaLabel = "Open dropdown", this.asNav = !0, this.dropdownPos = "left", this.dropdownOffset = !0, this.intent = "tertiary", this.isOpen = !1, this.focusIndex = -1;
3350
+ }, this.icon = void 0, this.label = void 0, this.rounded = !1, this.ariaLabel = "Open dropdown", this.asNav = !0, this.dropdownPos = "left", this.dropdownOffset = !0, this.intent = "tertiary", this.isOpen = !1, this.focusIndex = -1;
1330
3351
  }
1331
3352
  /**
1332
3353
  * Closes the dropdown when a click occurs outside of it.
@@ -1379,73 +3400,54 @@ const D = ".z-focus{z-index:99}.relative{position:relative}.shadow-small{--tw-sh
1379
3400
  * @returns {JSX.Element} The rendered dropdown component.
1380
3401
  */
1381
3402
  render() {
1382
- return i("div", { key: "eb48745937126e580737c1da6787c3f16c06ba9e", class: "z-focus relative", ref: (n) => this.dropdownContent = n }, i("eds-button", { key: "3af6863201b1c25ad66e9f8c52d9e13505d742a3", label: this.label, "aria-label": this.ariaLabel, icon: this.icon, intent: this.intent, onClick: this.handleClick, "aria-expanded": this.isOpen.toString(), "aria-haspopup": "menu" }), i("nav", { key: "c225074b3fbee543966523f8cd1c146485bc04bd", role: "menu", class: {
3403
+ return i("div", { key: "31e8b1fd4e146cbcad4d74bd78dff1cd1e1950bd", class: "z-focus relative", ref: (n) => this.dropdownContent = n }, i("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" }), i("nav", { key: "904fd2a7f727a8b3966eab6cf9ebdb0efa474ae0", role: "menu", class: {
1383
3404
  "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": !0,
1384
3405
  "left-4": this.dropdownPos === "left" && this.dropdownOffset,
1385
3406
  "left-0": this.dropdownPos === "left" && !this.dropdownOffset,
1386
3407
  "right-4": this.dropdownPos === "right" && this.dropdownOffset,
1387
3408
  "right-0": this.dropdownPos === "right" && !this.dropdownOffset,
1388
3409
  "rounded-lg": this.rounded
1389
- }, style: { display: this.isOpen ? "block" : "none" }, "aria-label": "Dropdown", "aria-hidden": !this.isOpen }, i("slot", { key: "6a7ba94045d366d20c6618845692d977f20437e3" })));
3410
+ }, style: { display: this.isOpen ? "block" : "none" }, "aria-label": "Dropdown", "aria-hidden": !this.isOpen }, i("slot", { key: "b416621930c7117775fef2ee91bdca0f660302f5" })));
1390
3411
  }
1391
3412
  get host() {
1392
- return g(this);
1393
- }
1394
- };
1395
- M.style = q;
1396
- const N = "p{margin:0}.cursor-pointer{cursor:pointer}.ml-4{margin-left:0.25rem}.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}.bg-darker{background-color:var(--grey-400)}.border-softest{border-color:rgba(0, 0, 0, .05)}.border-t-2{border-top-width:2px}.pt-20{padding-top:1.25rem}.pb-28{padding-bottom:1.75rem}.grid-layout{display:grid;grid-template-columns:repeat(var(--container-grid-columns, var(--grid-columns)), 1fr);grid-gap:var(--inner-gutter)}.grid-col-span-12{--container-grid-columns:12;grid-column:span 12 / span 12}.mt-28{margin-top:1.75rem}.gap-y-12{row-gap:0.75rem}.gap-x-12{-moz-column-gap:0.75rem;column-gap:0.75rem}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-20{gap:1.25rem}.effect-focus{outline-width:3px;outline-offset:2px;outline-color:var(--green-500)}.focus-visible\\:rounded-xs:focus-visible{border-radius:4px}.flex{display:flex}.w-\\[54px\\]{width:54px}.ml-0{margin-left:0rem}.order-last{order:9999}.w-full{width:100%}.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)}.text-light{color:var(--grey-700)}.mt-4{margin-top:0.25rem}.mr-4{margin-right:0.25rem}.gap-12{gap:0.75rem}.inline-block{display:inline-block}.\\!no-underline{text-decoration-line:none !important}.decoration-2{text-decoration-thickness:2px}.underline-offset-4{text-underline-offset:4px}.hover\\:\\!underline:hover{text-decoration-line:underline !important}.ml-auto{margin-left:auto}.pl-12{padding-left:0.75rem}@media (min-width: 750px){.md\\:pt-28{padding-top:1.75rem}}@media (min-width: 900px){.lg\\:grid-col-span-5{--container-grid-columns:5;grid-column:span 5 / span 5}.lg\\:grid-col-span-6{--container-grid-columns:6;grid-column:span 6 / span 6}.lg\\:grid-col-start-7{grid-column-start:7}.lg\\:mt-0{margin-top:0rem}.lg\\:flex-nowrap{flex-wrap:nowrap}.lg\\:order-none{order:0}.lg\\:w-auto{width:auto}}@media (min-width: 1024px){.xl\\:pb-40{padding-bottom:2.5rem}}", B = N, R = class {
1397
- constructor(n) {
1398
- d(this, n), this.cookies = h(this, "cookies", 7), this.backToTop = () => {
1399
- window.scrollTo({ top: 0, behavior: "smooth" });
1400
- }, this.social = !1, this.enableScrollTop = !1, this.fundedBy = "EBRAINS is funded by the Horizon Europe Framework Programme.", this.rightsReserved = `${(/* @__PURE__ */ new Date()).getFullYear()} EBRAINS. All rights reserved.`, this.cookiesPreferences = "Cookies preferences", this.enableCookiesSettings = !1, this.backToTopAriaLabel = "Back to Top", this.showMatomoNotice = !1;
1401
- }
1402
- toggleCookiesConsent() {
1403
- this.cookies.emit("toggle");
1404
- }
1405
- /**
1406
- * Renders the footer component with optional sections and elements,
1407
- * including social network links, a Horizon Europe funding acknowledgment, and
1408
- * legal links such as "Cookies Preferences" and copyright information.
1409
- *
1410
- * @returns {JSX.Element} The rendered JSX for the footer component.
1411
- */
1412
- render() {
1413
- return i("footer", { key: "97eecea73acf5ee3d125a446939010055c24e3f3" }, this.social ? i("div", { class: "border-softest border-t-2 pt-20 md:pt-28" }, i("div", { class: "container pb-20" }, i("div", { class: "grid-layout" }, i("div", { class: "grid-col-span-12 lg:grid-col-span-5" }, i("eds-social-networks", { class: "mt-28" }))))) : null, i("div", { key: "b7592d90406aa7b5e4d71e2947335a85dbbf70ae", class: `border-softest ${this.social ? "border-t-2" : ""} pb-28 pt-20 md:pt-28` }, i("div", { key: "054190192082a4fdd2435ef62e5e7765386149f5", class: "container flex items-center gap-20 lg:flex-nowrap" }, i("div", { key: "baa874cda99a882f33643609ffd2b99f09db3646", class: "flex items-center gap-x-12" }, i("a", { key: "f47a0e02c7db660ab2c5b9894fd6ef1f820239cf", target: "_blank", rel: "noopener noreferrer", class: "effect-focus focus-visible:rounded-xs flex w-[54px] ml-0", href: "https://research-and-innovation.ec.europa.eu/funding/funding-opportunities/funding-programmes-and-open-calls/horizon-europe_en", "aria-label": "Learn about Horizon Europe funding" }, i("eds-img", { key: "470f3ccae44a83383ad7f5bfcab880365b203a50", width: 54, height: 41, src: "https://www.ebrains.eu/flags/4x3/eu.svg", alt: "European Union Flag" }))), i("div", { key: "a02153ae5b772b105272eac575911826747ea246" }, i("div", { key: "a274e52402142dce7df575b29ce8802d1d662368", class: "f-ui-04 text-light" }, i("p", { key: "ae2c393b8585aecd25d08ad20fe8bd712f9c12b5" }, this.fundedBy), i("div", { key: "9ef102155624ef47071d4285ea00c65d66d8606e", class: "mt-4 flex flex-wrap gap-12 lg:flex-nowrap inline-block" }, i("span", { key: "86f5992c7570fcd88c80f7877f08cd4b357ca291", class: "effect-focus !no-underline decoration-2 underline-offset-4 hover:!underline mr-4" }, "© ", this.rightsReserved), this.enableCookiesSettings ? i("eds-link", { label: this.cookiesPreferences, intent: "underline", "extra-class": "f-ui-04", onClick: () => {
1414
- this.toggleCookiesConsent();
1415
- } }) : null))), i("div", { key: "3ffce63f46352acd80eff48fb121b5ee165c1ad5", class: "ml-auto pl-12" }, this.enableScrollTop ? i("eds-button", { id: "backToTop", "aria-hidden": "true", "aria-label": this.backToTopAriaLabel, intent: "ghostInverse", icon: "chevron-up", onClick: this.backToTop, class: "transition-all transition duration-75 opacity-0 " }) : null))));
3413
+ return y(this);
1416
3414
  }
1417
3415
  };
1418
- R.style = B;
1419
- function u(n, e, t, r, l, o, a) {
1420
- const s = [];
1421
- if (r && !e && s.push(`${n} is required.`), t === "number") {
1422
- const c = typeof e == "number" ? e : parseFloat(e);
1423
- isNaN(c) ? s.push(`${n} must be a valid number.`) : (typeof o == "number" && c < o && s.push(`${n} must be greater than or equal to ${o}.`), typeof a == "number" && c > a && s.push(`${n} must be less than or equal to ${a}.`));
1424
- }
1425
- return l && typeof e == "string" && e.length > l && s.push(`${n} must be at most ${l} characters.`), t === "email" && e && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.toString()) && s.push("Invalid email format."), s;
1426
- }
1427
- function y(n, e, t) {
1428
- const o = Array.from(t.querySelectorAll("eds-input-field")).filter((s) => {
1429
- var c, x;
1430
- return ((x = (c = s.shadowRoot) === null || c === void 0 ? void 0 : c.querySelectorAll(`input[name="${n}"]`)) === null || x === void 0 ? void 0 : x.length) > 0;
1431
- }).flatMap((s) => {
1432
- var c;
1433
- return Array.from(((c = s.shadowRoot) === null || c === void 0 ? void 0 : c.querySelectorAll(`input[name="${n}"]`)) || []);
1434
- }).some((s) => s.checked), a = [];
1435
- return e && !o && a.push(`At least one option in ${n} is required.`), a;
1436
- }
1437
- function v(n, e, t) {
3416
+ Gn.style = Vn;
3417
+ function K(n, e, t, r, l, a, c) {
3418
+ const d = [];
3419
+ if (r && !e) {
3420
+ const b = n.length > 30 ? `${n.slice(0, 27)}…` : n;
3421
+ d.push(`“${b} is required.`);
3422
+ }
3423
+ if (t === "number") {
3424
+ const b = typeof e == "number" ? e : parseFloat(e);
3425
+ isNaN(b) ? d.push(`${n} must be a valid number.`) : (typeof a == "number" && b < a && d.push(`${n} must be greater than or equal to ${a}.`), typeof c == "number" && b > c && d.push(`${n} must be less than or equal to ${c}.`));
3426
+ }
3427
+ return l && typeof e == "string" && e.length > l && d.push(`${n} must be at most ${l} characters.`), t === "email" && e && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.toString()) && d.push("Invalid email format."), d;
3428
+ }
3429
+ function on(n, e, t) {
3430
+ const a = Array.from(t.querySelectorAll("eds-input-field")).filter((d) => {
3431
+ var b, k;
3432
+ return ((k = (b = d.shadowRoot) === null || b === void 0 ? void 0 : b.querySelectorAll(`input[name="${n}"]`)) === null || k === void 0 ? void 0 : k.length) > 0;
3433
+ }).flatMap((d) => {
3434
+ var b;
3435
+ return Array.from(((b = d.shadowRoot) === null || b === void 0 ? void 0 : b.querySelectorAll(`input[name="${n}"]`)) || []);
3436
+ }).some((d) => d.checked), c = [];
3437
+ return e && !a && c.push(`At least one option in ${n} is required.`), c;
3438
+ }
3439
+ function an(n, e, t) {
1438
3440
  var r;
1439
- const l = [], o = Array.from(t.querySelectorAll("eds-input-field")).find((s) => {
1440
- var c;
1441
- return (c = s.shadowRoot) === null || c === void 0 ? void 0 : c.querySelector(`[name="${n}"]`);
3441
+ const l = [], a = Array.from(t.querySelectorAll("eds-input-field")).find((d) => {
3442
+ var b;
3443
+ return (b = d.shadowRoot) === null || b === void 0 ? void 0 : b.querySelector(`[name="${n}"]`);
1442
3444
  });
1443
- if (!o)
3445
+ if (!a)
1444
3446
  return e && l.push(`${n} is required.`), l;
1445
- const a = (r = o.shadowRoot) === null || r === void 0 ? void 0 : r.querySelector(`[name="${n}"]`);
1446
- return e && a && !a.checked && l.push(`${n} is required.`), l;
3447
+ const c = (r = a.shadowRoot) === null || r === void 0 ? void 0 : r.querySelector(`[name="${n}"]`);
3448
+ return e && c && !c.checked && l.push(`${n} is required.`), l;
1447
3449
  }
1448
- function V(n, e) {
3450
+ function Yn(n, e) {
1449
3451
  const t = Array.from(n.querySelectorAll("eds-input-field"));
1450
3452
  for (const r of t)
1451
3453
  if (r.shadowRoot) {
@@ -1455,34 +3457,60 @@ function V(n, e) {
1455
3457
  }
1456
3458
  return null;
1457
3459
  }
1458
- function U(n, e, t, r) {
3460
+ function Xn(n) {
3461
+ const e = Array.from(n.querySelectorAll("eds-rating"));
3462
+ for (const t of e)
3463
+ return t;
3464
+ return null;
3465
+ }
3466
+ function Kn(n) {
3467
+ const e = Array.from(n.querySelectorAll("eds-nps"));
3468
+ for (const t of e)
3469
+ return t;
3470
+ return null;
3471
+ }
3472
+ function Zn(n, e, t, r) {
1459
3473
  const l = {};
1460
- let o = !1;
1461
- return n.forEach((a) => {
1462
- if (!r(a, t)) {
1463
- delete l[a.name];
3474
+ let a = !1;
3475
+ return n.forEach((c) => {
3476
+ var d;
3477
+ if (!r(c, t)) {
3478
+ delete l[c.name];
1464
3479
  return;
1465
3480
  }
1466
- if (a.type !== "hidden")
1467
- if ((a.type === "checkbox" || a.type === "radio") && !a.options) {
1468
- const s = v(a.name, a.required, e);
1469
- s.length > 0 && (l[a.name] = s, o = !0);
1470
- } else if (a.options && (a.type === "checkbox" || a.type === "radio")) {
1471
- const s = y(a.name, a.required, e);
1472
- s.length > 0 && (l[a.name] = s, o = !0);
3481
+ if (c.type !== "hidden")
3482
+ if ((c.type === "checkbox" || c.type === "radio") && !c.options) {
3483
+ const b = an(c.name, c.required, e);
3484
+ b.length > 0 && (l[c.name] = b, a = !0);
3485
+ } else if (c.options && (c.type === "checkbox" || c.type === "radio")) {
3486
+ const b = on(c.name, c.required, e);
3487
+ b.length > 0 && (l[c.name] = b, a = !0);
3488
+ } else if (c.type === "rating") {
3489
+ const b = Xn(e);
3490
+ if (b) {
3491
+ const k = b.getAttribute("selected-rating"), L = k !== null ? parseInt(k, 10) : 0, T = K(c.name, L, c.type, c.required);
3492
+ T.length > 0 && (l[c.name] = T, a = !0);
3493
+ }
3494
+ } else if (c.type === "nps") {
3495
+ const b = Kn(e);
3496
+ if (b && b.shadowRoot) {
3497
+ const k = (d = b.shadowRoot.querySelector('div[role="radio"][aria-checked="true"] eds-button')) === null || d === void 0 ? void 0 : d.getAttribute("aria-label");
3498
+ (k !== null ? parseInt(k, 10) : null) === null && c.required && (l[c.name] = ["This field is required."], a = !0);
3499
+ } else c.required && (l[c.name] = ["This field is required."], a = !0);
3500
+ return;
1473
3501
  } else {
1474
- const s = V(e, a.name);
1475
- if (s) {
1476
- const c = s.value, x = u(a.name, c, a.type, a.required, a.maxlength, a.min, a.max);
1477
- x.length > 0 && (l[a.name] = x, o = !0);
3502
+ const b = Yn(e, c.name);
3503
+ if (b) {
3504
+ const k = b.value, L = K(c.name, k, c.type, c.required, c.maxlength, c.min, c.max);
3505
+ L.length > 0 && (l[c.name] = L, a = !0);
1478
3506
  }
1479
3507
  }
1480
- }), { errors: l, hasError: o };
3508
+ }), { errors: l, hasError: a };
1481
3509
  }
1482
- function Y(n, e, t) {
1483
- return n.type === "checkbox" || n.type === "radio" ? n.options ? y(n.name, n.required, t) : v(n.name, n.required, t) : u(n.name, e, n.type, n.required, n.maxlength, n.min, n.max);
3510
+ function Jn(n, e, t) {
3511
+ return n.type === "checkbox" || n.type === "radio" ? n.options ? on(n.name, n.required, t) : an(n.name, n.required, t) : K(n.name, e, n.type, n.required, n.maxlength, n.min, n.max);
1484
3512
  }
1485
- function X({
3513
+ function Qn({
1486
3514
  initData: n,
1487
3515
  parsedFields: e,
1488
3516
  currentValues: t
@@ -1491,19 +3519,19 @@ function X({
1491
3519
  }) {
1492
3520
  const r = Object.assign({}, t);
1493
3521
  return e.forEach((l) => {
1494
- const o = n[l.name];
1495
- o !== void 0 && (r[l.name] = o);
3522
+ const a = n[l.name];
3523
+ a !== void 0 && (r[l.name] = a);
1496
3524
  }), { updatedValues: r };
1497
3525
  }
1498
- const G = ".mt-20{margin-top:1.25rem}", J = G, Q = class {
3526
+ const ne = ".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}", ee = ne, te = class {
1499
3527
  constructor(n) {
1500
- d(this, n), this.form = h(this, "form", 7), this.name = "eds-form", this.setFormUrl = !0, this.formBtn = !0, this.formBtnLabel = "Submit", this.errorMessage = "Some fields in your form are incorrect.", this.fields = [], this.initData = {}, this.values = {}, this.isSubmitting = !1, this.hasError = !1, this.errors = {}, this.parsedFields = [];
3528
+ p(this, n), this.form = S(this, "form", 7), this.name = "eds-form", this.setFormUrl = !0, this.formBtn = !0, this.formBtnLabel = "Submit", this.errorMessage = "Some fields in your form are incorrect.", this.fields = [], this.groups = [], this.initData = {}, this.values = {}, this.isSubmitting = !1, this.hasError = !1, this.errors = {}, this.parsedFields = [], this.parsedGroups = [];
1501
3529
  }
1502
3530
  async setData(n) {
1503
3531
  this.populateFormWithInitData(n);
1504
3532
  }
1505
3533
  componentWillLoad() {
1506
- this.parseFields(this.fields), this.el.querySelectorAll("eds-button").forEach((e) => {
3534
+ this.parseFields(this.fields), this.parseGroups(this.groups), this.el.querySelectorAll("eds-button").forEach((e) => {
1507
3535
  this.emitContext(e);
1508
3536
  });
1509
3537
  }
@@ -1514,7 +3542,10 @@ const G = ".mt-20{margin-top:1.25rem}", J = G, Q = class {
1514
3542
  return !!this.initData;
1515
3543
  }
1516
3544
  parseFields(n) {
1517
- this.parsedFields = b(n);
3545
+ this.parsedFields = R(n);
3546
+ }
3547
+ parseGroups(n) {
3548
+ this.parsedGroups = R(n);
1518
3549
  }
1519
3550
  emitContext(n) {
1520
3551
  const e = new CustomEvent("parentContext", {
@@ -1532,11 +3563,11 @@ const G = ".mt-20{margin-top:1.25rem}", J = G, Q = class {
1532
3563
  return String(e) === String(t);
1533
3564
  }
1534
3565
  validateForm() {
1535
- const { errors: n, hasError: e } = U(this.parsedFields, this.formEl, this.values, (t, r) => t.condition ? r[t.condition.field] === t.condition.value : !0);
3566
+ const { errors: n, hasError: e } = Zn(this.parsedFields, this.formEl, this.values, (t, r) => t.condition ? r[t.condition.field] === t.condition.value : !0);
1536
3567
  this.errors = n, this.hasError = e;
1537
3568
  }
1538
3569
  populateFormWithInitData(n) {
1539
- const { updatedValues: e } = X({
3570
+ const { updatedValues: e } = Qn({
1540
3571
  initData: n,
1541
3572
  parsedFields: this.parsedFields,
1542
3573
  currentValues: this.values,
@@ -1552,12 +3583,12 @@ const G = ".mt-20{margin-top:1.25rem}", J = G, Q = class {
1552
3583
  const r = t.shadowRoot.querySelector("input, textarea, select");
1553
3584
  if (r && r.name)
1554
3585
  if (r.type === "checkbox" || r.type === "radio") {
1555
- const o = Array.from(t.shadowRoot.querySelectorAll(`input[name="${r.name}"]:checked`)).map((a) => a.value);
1556
- n.append(r.name, o.join(","));
3586
+ const a = Array.from(t.shadowRoot.querySelectorAll(`input[name="${r.name}"]:checked`)).map((c) => c.value);
3587
+ n.append(r.name, a.join(","));
1557
3588
  } else if (r.type === "file") {
1558
3589
  const l = r;
1559
- l.files && l.files.length > 0 && Array.from(l.files).forEach((o) => {
1560
- n.append(l.name, o);
3590
+ l.files && l.files.length > 0 && Array.from(l.files).forEach((a) => {
3591
+ n.append(l.name, a);
1561
3592
  });
1562
3593
  } else
1563
3594
  n.append(r.name, r.value);
@@ -1575,8 +3606,8 @@ const G = ".mt-20{margin-top:1.25rem}", J = G, Q = class {
1575
3606
  let r = t.value;
1576
3607
  if (t.type === "checkbox") {
1577
3608
  const l = this.values[e.name] || "";
1578
- let o = l ? l.split(",") : [];
1579
- t.checked ? o.includes(t.value) || o.push(t.value) : o = o.filter((a) => a !== t.value), r = o.join(",");
3609
+ let a = l ? l.split(",") : [];
3610
+ t.checked ? a.includes(t.value) || a.push(t.value) : a = a.filter((c) => c !== t.value), r = a.join(",");
1580
3611
  } else if (t.type === "radio") {
1581
3612
  if (!t.checked)
1582
3613
  return;
@@ -1594,8 +3625,8 @@ const G = ".mt-20{margin-top:1.25rem}", J = G, Q = class {
1594
3625
  const t = n.target;
1595
3626
  if (t.type === "radio" && !t.checked)
1596
3627
  return;
1597
- const r = t.value, l = Object.assign({}, this.errors), o = Y(e, t.value, this.formEl);
1598
- o.length > 0 ? l[e.name] = o : delete l[e.name], this.errors = l, this.hasError = Object.keys(l).length > 0, this.form.emit({
3628
+ const r = t.value, l = Object.assign({}, this.errors), a = Jn(e, t.value, this.formEl);
3629
+ a.length > 0 ? l[e.name] = a : delete l[e.name], this.errors = l, this.hasError = Object.keys(l).length > 0, this.form.emit({
1599
3630
  event: "input",
1600
3631
  field: e.name,
1601
3632
  value: r,
@@ -1603,6 +3634,28 @@ const G = ".mt-20{margin-top:1.25rem}", J = G, Q = class {
1603
3634
  //data: this.makeFormData()
1604
3635
  });
1605
3636
  }
3637
+ handleRating(n, e) {
3638
+ const t = n.detail;
3639
+ this.values = Object.assign(Object.assign({}, this.values), { [e.name]: t });
3640
+ const r = Object.assign({}, this.errors);
3641
+ e.required && t === 0 ? r[e.name] = ["This field is required"] : delete r[e.name], this.errors = r, this.hasError = Object.keys(r).length > 0, this.form.emit({
3642
+ event: "change",
3643
+ field: e.name,
3644
+ value: t,
3645
+ message: `${e.name} updated`
3646
+ });
3647
+ }
3648
+ handleNPS(n, e) {
3649
+ const t = n.detail;
3650
+ this.values = Object.assign(Object.assign({}, this.values), { [e.name]: t });
3651
+ const r = Object.assign({}, this.errors);
3652
+ e.required && t === null ? r[e.name] = ["This field is required"] : delete r[e.name], this.errors = r, this.hasError = Object.keys(r).length > 0, this.form.emit({
3653
+ event: "change",
3654
+ field: e.name,
3655
+ value: t,
3656
+ message: `${e.name} updated`
3657
+ });
3658
+ }
1606
3659
  handleSubmit() {
1607
3660
  var n, e;
1608
3661
  if (!this.isSubmitting) {
@@ -1613,7 +3666,7 @@ const G = ".mt-20{margin-top:1.25rem}", J = G, Q = class {
1613
3666
  success: !1,
1614
3667
  message: this.errorMessage
1615
3668
  //data: this.makeFormData()
1616
- }), f({
3669
+ }), A({
1617
3670
  category: "ui-component",
1618
3671
  parentContext: null,
1619
3672
  tag: this.el.tagName.toLowerCase(),
@@ -1628,7 +3681,7 @@ const G = ".mt-20{margin-top:1.25rem}", J = G, Q = class {
1628
3681
  validated: !0,
1629
3682
  message: "Form data validated successfully"
1630
3683
  //data: this.getFormData()
1631
- }), f({
3684
+ }), A({
1632
3685
  category: "ui-component",
1633
3686
  parentContext: null,
1634
3687
  tag: this.el.tagName.toLowerCase(),
@@ -1637,83 +3690,45 @@ const G = ".mt-20{margin-top:1.25rem}", J = G, Q = class {
1637
3690
  }), this.errors = {}, this.formEl.reset(), this.isSubmitting = !1;
1638
3691
  }
1639
3692
  }
3693
+ get groupedFields() {
3694
+ const n = {};
3695
+ return this.parsedGroups.forEach((e) => n[e.id] = []), n.__ungrouped = [], this.parsedFields.forEach((e) => {
3696
+ const t = e.groupId || "__ungrouped";
3697
+ n[t] || (n[t] = []), n[t].push(e);
3698
+ }), n;
3699
+ }
3700
+ renderField(n) {
3701
+ var e, t, r;
3702
+ if (!this.isFieldVisible(n))
3703
+ return null;
3704
+ if (n.type === "rating") {
3705
+ const l = this.values[n.name] || 0;
3706
+ return i("div", { class: "form-group rating-field", key: n.name }, i("div", { class: "flex justify-between" }, n && i("eds-input-label", { name: `rating-${n.name}`, label: n.label, disabled: n.disabled, required: n.required })), i("eds-rating", { id: `rating-${n.name}`, "rating-type": n.ratingType, "rating-count": n.ratingCount, "selected-rating": l, onRating: (a) => this.handleRating(a, n) }), i("div", { class: "mt-6" }, i("eds-input-footer", { id: `${n.name}-footer`, name: n.name, message: n.message, "error-message": (e = this.errors[n.name]) === null || e === void 0 ? void 0 : e.join("<br/>"), error: !!this.errors[n.name], link: n.link })));
3707
+ } else if (n.type === "nps")
3708
+ return i("div", { class: "form-group nps-field", key: n.name }, i("div", { class: "flex justify-between" }, n && i("eds-input-label", { name: `nps-${n.name}`, label: n.question, disabled: n.disabled, required: n.required })), i("eds-nps", { id: `nps-${n.name}`, "right-label": n.rightLabel, "left-label": n.leftLabel, onNps: (l) => this.handleNPS(l, n) }), i("div", { class: "mt-6" }, i("eds-input-footer", { id: `${n.name}-footer`, name: n.name, message: n.message, "error-message": (t = this.errors[n.name]) === null || t === void 0 ? void 0 : t.join("<br/>"), error: !!this.errors[n.name], link: n.link })));
3709
+ return i("eds-input-field", { key: n.name, name: n.name, label: n.label, placeholder: n.placeholder, type: n.type, value: this.values[n.name], required: n.required, hint: n.hint, message: n.message, error: !!this.errors[n.name], errorMessage: (r = this.errors[n.name]) === null || r === void 0 ? void 0 : r.join("<br/>"), options: n.options, onInput: (l) => this.handleInput(l, n), onChangeNative: (l) => this.handleChange(l, n) });
3710
+ }
1640
3711
  async getData() {
1641
3712
  return this.makeFormData();
1642
3713
  }
1643
3714
  render() {
1644
- const n = this.parsedFields.filter((t) => t.type === "hidden"), e = this.parsedFields.filter((t) => t.type !== "hidden");
1645
- return i("form", { key: "98825e73a0279bed49b82caf2cc0529f30b53c70", ref: (t) => this.formEl = t, autocomplete: "on", onSubmit: this.handleSubmit }, i("div", { key: "6b9abe2a6c2d091d57ea9ca383d9edb5d48445dc" }, i("slot", { key: "930bcd24d9b1c6ec1b29ccb1c3150897fa9d0a35" }), n.map((t, r) => i("eds-input", { key: r, type: "hidden", name: t.name, value: t.value })), e.map((t, r) => {
1646
- var l, o;
1647
- return this.isFieldVisible(t) ? i("eds-input-field", { key: r, name: t.name, id: `${this.name}_${t.name}`, label: t.label, placeholder: t.placeholder, value: this.values[t.name] || null, min: t.min, max: t.max, step: t.step, type: t.type, icon: t.icon || null, disabled: t.disabled, required: t.required, maxLength: t.maxlength, hint: t.hint, link: t.link, message: t.message, error: ((l = this.errors[t.name]) === null || l === void 0 ? void 0 : l.length) > 0, errorMessage: (o = this.errors[t.name]) === null || o === void 0 ? void 0 : o.join("<br />"), onInput: (a) => this.handleInput(a, t), onChangeNative: (a) => this.handleChange(a, t), class: r > 0 ? "mt-20" : "", options: t.options }) : null;
1648
- })), this.formBtn && i("div", { key: "e0ab2f16ff4a677a2b09a1069212e374f6d6eff8", class: "mt-20" }, i("eds-button", { key: "781250d5e456a3f0176ade6e28356063c6981bb7", intent: "primary", label: this.formBtnLabel, disabled: this.isSubmitting, loading: this.isSubmitting, onClick: () => this.handleSubmit() })));
3715
+ const n = this.parsedFields.filter((t) => t.type === "hidden"), e = this.groupedFields;
3716
+ return i("form", { key: "a66997f39b5be347a4d502f77bcd1da9d1a274ac", ref: (t) => this.formEl = t, autocomplete: "on", onSubmit: this.handleSubmit }, i("div", { key: "f8800d2ebe64b3279234ab8ebe20e535dc822872" }, i("slot", { key: "b4194073b281dec35a79a6cc974fdf7476a67807" }), n.map((t, r) => i("eds-input", { key: r, type: "hidden", name: t.name, value: t.value })), this.parsedGroups.filter((t) => Array.isArray(e[t.id]) && e[t.id].length > 0).map((t) => i("div", { class: "container mt-20", key: t.id }, i("span", { class: "f-body-02" }, i("b", null, t.title)), i("div", { class: "border-group mt-32 mb-32 flex flex-col gap-y-24" }, e[t.id].map((r) => this.renderField(r))))), i("div", { key: "2fc83ebb6b0a472f6853618602c37ee83adae9ff", class: "flex flex-col mt-20 gap-y-24" }, e.__ungrouped.map((t) => this.renderField(t)))), this.formBtn && i("div", { key: "91b569b1a4513945f3228c374ae45b52ea17f91d", class: "mt-32" }, i("eds-button", { key: "1a8feaecd5a7f292f8aeae3db900700b4f7fb8d4", intent: "primary", label: this.formBtnLabel, disabled: this.isSubmitting, loading: this.isSubmitting, onClick: () => this.handleSubmit() })));
1649
3717
  }
1650
3718
  get el() {
1651
- return g(this);
3719
+ return y(this);
1652
3720
  }
1653
3721
  static get watchers() {
1654
3722
  return {
1655
- fields: ["parseFields"]
3723
+ fields: ["parseFields"],
3724
+ groups: ["parseGroups"]
1656
3725
  };
1657
3726
  }
1658
3727
  };
1659
- Q.style = J;
1660
- const K = ".bg-default{background-color:var(--grey-200)}.bg-darker{background-color:var(--grey-400)}.bg-inverse{background-color:var(--white)}.bg-strongest{background-color:var(--black)}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0rem}.z-\\[999999\\]{z-index:999999}.overflow-y-scroll{overflow-y:scroll}.flex{display:flex}.inline-flex{display:inline-flex}.min-h-full{min-height:100%}.flex-col{flex-direction:column}.w-full{width:100%}.top-0{top:0rem}.mx-auto{margin-left:auto;margin-right:auto}.mt-auto{margin-top:auto}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.mr-auto{margin-right:auto}.w-\\[200px\\]{width:200px}.h-\\[85px\\]{height:85px}.px-16{padding-left:1rem;padding-right:1rem}.py-16{padding-top:1rem;padding-bottom:1rem}.mt-28{margin-top:1.75rem}.gap-y-8{row-gap:0.5rem}.effect-color{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:300ms;transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.effect-focus{outline-width:3px;outline-offset:2px;outline-color:var(--green-500)}.rounded-xs{border-radius:4px}.f-heading-02{font-family:var(--f-heading-02-fontFamily);font-weight:var(--f-heading-02-fontWeight);font-size:var(--f-heading-02-fontSize);line-height:var(--f-heading-02-lineHeight);letter-spacing:var(--f-heading-02-letterSpacing)}.hover\\:text-lighter:hover{color:var(--grey-600)}.w-fit{width:-moz-fit-content;width:fit-content}", Z = K, nn = class {
1661
- constructor(n) {
1662
- d(this, n), this.menuClose = h(this, "menuClose", 7), this.links = void 0, this.menuLinks = void 0, this.homeUrl = "/", this.inverseHeader = !1, this.isMenuOpen = !1;
1663
- }
1664
- /**
1665
- * Listens for the toggleMenu event to open or close the menu.
1666
- * This event is emitted by the eds-header component.
1667
- */
1668
- handleToggleMenu(n) {
1669
- this.isMenuOpen = n.detail;
1670
- }
1671
- /** Opens the menu */
1672
- openMenu() {
1673
- this.isMenuOpen = !0;
1674
- }
1675
- /** Closes the menu */
1676
- closeMenu() {
1677
- this.isMenuOpen = !1, this.menuClose.emit();
1678
- }
1679
- // Lifecycle method to add the resize event listener when component loads
1680
- componentDidLoad() {
1681
- window.addEventListener("resize", this.handleResize.bind(this));
1682
- }
1683
- // Lifecycle method to remove the resize event listener when component unloads
1684
- disconnectedCallback() {
1685
- window.removeEventListener("resize", this.handleResize.bind(this));
1686
- }
1687
- // Function to close the menu if screen width is larger than a defined breakpoint (1024px)
1688
- handleResize() {
1689
- window.innerWidth >= 1024 && (this.isMenuOpen = !1);
1690
- }
1691
- /**
1692
- * Parses the `links` prop into an array of link objects.
1693
- * Returns an empty array if parsing fails or if `links` is not a valid JSON string or object.
1694
- *
1695
- * @returns {any[]} Array of parsed link objects
1696
- */
1697
- get parsedLinks() {
1698
- return b(this.links);
1699
- }
1700
- /**
1701
- * Parses the `menuLinks` prop into an array of link objects.
1702
- * Returns an empty array if parsing fails or if `menuLinks` is not a valid JSON string or object.
1703
- *
1704
- * @returns {any[]} Array of parsed menu link objects
1705
- */
1706
- get parsedMenuLinks() {
1707
- return b(this.menuLinks);
1708
- }
1709
- render() {
1710
- return this.isMenuOpen ? i("div", { class: "eds-full-screen bg-default fixed inset-0 z-[999999] overflow-y-scroll" }, i("div", { class: "flex min-h-full flex-col" }, i("div", { class: `w-full sticky top-0 ${this.inverseHeader ? "bg-strongest" : "bg-default"}` }, i("div", { class: "mx-auto flex items-center justify-between" }, i("div", { class: "mr-auto w-[200px] h-[85px]" }, i("eds-logo", { type: this.inverseHeader ? "color-white" : "color", href: this.homeUrl })), i("div", { class: "px-16" }, i("eds-button", { "aria-label": "Close menu", intent: "ghostInverse", icon: "close", onClick: () => this.closeMenu() })))), i("div", { class: "py-16 px-16" }, i("nav", { class: "mt-28 flex flex-col gap-y-8" }, this.parsedLinks.map((n, e) => i("eds-link", { label: n.label, key: e, url: n.url, intent: "tertiary", size: "large", class: "effect-color effect-focus rounded-xs f-heading-02 hover:text-lighter w-fit", onClick: () => this.closeMenu(), icon: "arrow-right" }))), i("eds-block-break", null), i("nav", { class: "mt-28 flex flex-col gap-y-8" }, this.parsedMenuLinks.map((n, e) => i("eds-link", { label: n.label, key: e, url: n.url, intent: "tertiary", size: "large", class: "effect-color effect-focus rounded-xs f-heading-02 hover:text-lighter w-fit", onClick: () => this.closeMenu(), icon: "chevron-right" }))), i("nav", { class: "mt-28 flex flex-col gap-y-8" }, i("slot", null))), i("div", { class: "mt-auto" }, i("eds-footer", { social: !0, "extra-class": "bg-darker" })))) : null;
1711
- }
1712
- };
1713
- nn.style = Z;
1714
- const en = ".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}}", tn = en, rn = class {
3728
+ te.style = ee;
3729
+ const ie = ".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}}", re = ie, le = class {
1715
3730
  constructor(n) {
1716
- d(this, n), this.toggleheadermenu = h(this, "toggleheadermenu", 7), this.homeUrl = "/", this.links = void 0, this.headerVariant = "default", this.menuEnabled = !1, this.isMenuOpen = !1, this.isUserMenuOpen = !1, this.isAuthenticated = !1;
3731
+ p(this, n), this.toggleheadermenu = S(this, "toggleheadermenu", 7), this.homeUrl = "/", this.links = void 0, this.headerVariant = "default", this.menuEnabled = !1, this.isMenuOpen = !1, this.isUserMenuOpen = !1, this.isAuthenticated = !1;
1717
3732
  }
1718
3733
  onAuthStatusChanged(n) {
1719
3734
  var e;
@@ -1735,7 +3750,7 @@ const en = ".block{display:block}.inline-block{display:inline-block}.inline{disp
1735
3750
  this.isUserMenuOpen = !this.isUserMenuOpen;
1736
3751
  }
1737
3752
  get parsedLinks() {
1738
- return b(this.links);
3753
+ return R(this.links);
1739
3754
  }
1740
3755
  render() {
1741
3756
  const n = {
@@ -1743,16 +3758,16 @@ const en = ".block{display:block}.inline-block{display:inline-block}.inline{disp
1743
3758
  inverse: "text-default bg-inverse",
1744
3759
  strong: "text-inverse bg-strongest"
1745
3760
  }, e = n[this.headerVariant] || n.default, t = this.headerVariant === "strong" ? "color-white" : "color";
1746
- return i("header", { key: "635e25577674250c4ce8cdc91e29fa0c93b7e821", class: `flex items-center justify-between relative z-10 ${e}` }, i("div", { key: "41275c9aedeff533f00348dfa85b49fdb1a3f25e", class: "mr-auto w-[200px] h-[85px]" }, i("eds-logo", { key: "fa8949ebbeab567b3770c6795a890f9187b66cf2", type: t, href: this.homeUrl })), this.parsedLinks && i("nav", { key: "64428c01fee019a77b15b2ad43fbdb18cf5cc1e9", class: "absolute left-1/2 top-1/2 grow -translate-x-1/2 -translate-y-1/2 justify-center hidden md:flex" }, i("ul", { key: "8b6e7e82f077409987e0271f1d1c57d3473a0921", class: "flex gap-x-2" }, this.parsedLinks.map((r) => i("eds-link", { label: r.label, "aria-label": r.label, url: r.url, intent: "ghost", size: "large", icon: r.icon, external: r.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" })))), i("slot", { key: "7ba569eafe18d902e78978840520d708b665a91b" }), this.menuEnabled && i("div", { key: "54c21f2e71a44049c56e4b31ba241996a1e658c3", class: "md:hidden flex overflow-hidden px-16" }, i("eds-button", { key: "e0bcc14abcad7151cacf19a4c50f238e39538754", "aria-label": "Menu", intent: this.headerVariant === "default" ? "ghost" : "ghostInverse", icon: "menu", size: "small", onClick: () => this.handleToggleMenu() })));
3761
+ return i("header", { key: "812ad4427cbb3f4b0ca9e305870c35d63487dc59", class: `flex items-center justify-between relative z-10 ${e}` }, i("div", { key: "531acdceb12ca45fea125091dee4d8a0ff39a10b", class: "mr-auto w-[200px] h-[85px]" }, i("eds-logo", { key: "bb2708b3c8eacc575117bfed404b7c9db4fd05e2", type: t, href: this.homeUrl })), this.parsedLinks && i("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" }, i("ul", { key: "fae258c468367837a9738bcbe2442709fdc601a0", class: "flex gap-x-2" }, this.parsedLinks.map((r) => i("eds-link", { label: r.label, "aria-label": r.label, url: r.url, intent: "ghost", size: "large", icon: r.icon, external: r.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" })))), i("slot", { key: "9588ef20e19fda76115074c39d902eebead3c845" }), this.menuEnabled && i("div", { key: "ce2e43645a1c33ca7d6495acd820ad0a93cefdf9", class: "md:hidden flex overflow-hidden px-16" }, i("eds-button", { key: "ed73c7e7a6544f60eea9dbf43379ffe4967c0dbd", "aria-label": "Menu", intent: this.headerVariant === "default" ? "ghost" : "ghostInverse", icon: "menu", size: "small", onClick: () => this.handleToggleMenu() })));
1747
3762
  }
1748
3763
  get hostEl() {
1749
- return g(this);
3764
+ return y(this);
1750
3765
  }
1751
3766
  };
1752
- rn.style = tn;
1753
- const se = class {
3767
+ le.style = re;
3768
+ const mt = class {
1754
3769
  constructor(n) {
1755
- d(this, n), this.TagName = null, this.icon = "arrow-right", this.class = "", this.IconComponent = null;
3770
+ p(this, n), this.TagName = null, this.icon = "arrow-right", this.class = "", this.IconComponent = null;
1756
3771
  }
1757
3772
  componentWillLoad() {
1758
3773
  this.loadIconComponent(this.icon);
@@ -1776,7 +3791,7 @@ const se = class {
1776
3791
  icon: ["iconChanged"]
1777
3792
  };
1778
3793
  }
1779
- }, ln = `/*
3794
+ }, oe = `/*
1780
3795
  1. Make replaced elements \`display: block\` by default. (https://github.com/mozdevs/cssremedy/issues/14)
1781
3796
  2. Add \`vertical-align: middle\` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
1782
3797
  This can trigger a poorly considered lint error in some tools but is included by design.
@@ -1858,9 +3873,9 @@ video {
1858
3873
 
1859
3874
  .opacity-100 {
1860
3875
  opacity: 1;
1861
- }`, on = ln, an = class {
3876
+ }`, ae = oe, se = class {
1862
3877
  constructor(n) {
1863
- d(this, n), this.img = null, this.handleLoad = () => {
3878
+ p(this, n), this.img = null, this.handleLoad = () => {
1864
3879
  this.loaded = !0, this.showBg = !1;
1865
3880
  }, this.handleError = () => {
1866
3881
  this.loaded = !0, this.showBg = !1;
@@ -1873,23 +3888,23 @@ video {
1873
3888
  }
1874
3889
  render() {
1875
3890
  const n = {};
1876
- return this.lazyload && (n.loading = "lazy", n.decoding = "async"), i("div", { key: "13ed3aa346c99321c609e49ce045b6361921350f", class: {
3891
+ return this.lazyload && (n.loading = "lazy", n.decoding = "async"), i("div", { key: "605bff5657ca79678517527a9462b31608e5af7a", class: {
1877
3892
  "items-center justify-center": !0,
1878
3893
  "effect-bg-pattern": this.lazyload && this.showBg
1879
- } }, i("picture", { key: "56aa0ed8fd1ef8f9faf6ad576dd05edc34139c9b" }, this.formats.map((e) => i("source", { type: e.type, srcSet: e.srcset, media: e.media, sizes: this.sizes })), i("img", Object.assign({ key: "78e3ed9adcfe423d48388bf30140f4b70649faf7", ref: (e) => this.img = e, class: {
3894
+ } }, i("picture", { key: "0d0def26688c1ec7214211d02875160965e2ce48" }, this.formats.map((e) => i("source", { type: e.type, srcSet: e.srcset, media: e.media, sizes: this.sizes })), i("img", Object.assign({ key: "c9c307a5fdf25d9792db2a76f4d08fcd27b50401", ref: (e) => this.img = e, class: {
1880
3895
  "effect-opacity object-cover object-center": !0,
1881
3896
  "opacity-100": this.loaded,
1882
3897
  "opacity-0": !this.loaded
1883
3898
  }, width: this.width, height: this.height, sizes: this.sizes, src: this.src, srcSet: this.srcset, alt: this.alt }, n, { onLoad: this.handleLoad, onError: this.handleError, onTransitionEnd: this.handleTransitionEnd }))));
1884
3899
  }
1885
3900
  get imgElement() {
1886
- return g(this);
3901
+ return y(this);
1887
3902
  }
1888
3903
  };
1889
- an.style = on;
1890
- const de = class {
3904
+ se.style = ae;
3905
+ const ut = class {
1891
3906
  constructor(n) {
1892
- d(this, n), this.handleInput = (e) => {
3907
+ p(this, n), this.handleInput = (e) => {
1893
3908
  const t = e.target;
1894
3909
  this.innerVal = t.value, this.maxLength && this.type === "textarea" && (this.maxLengthReached = t.value.length >= this.maxLength);
1895
3910
  }, this.name = void 0, this.inputId = void 0, this.placeholder = void 0, this.disabled = !1, this.hasMessage = !1, this.error = !1, this.checked = void 0, this.type = "text", this.required = !1, this.value = void 0, this.icon = void 0, this.maxLength = void 0, this.options = [], this.extraClass = void 0, this.min = void 0, this.max = void 0, this.step = void 0, this.innerVal = "", this.maxLengthReached = !1;
@@ -1905,7 +3920,7 @@ const de = class {
1905
3920
  }
1906
3921
  render() {
1907
3922
  const n = !!this.icon, e = this.hasMessage || this.error ? `${this.name}-error` : "";
1908
- return i("div", { key: "8645092d1b4c53609cbac2077fd0575f7bae4aaa", class: "relative flex items-center" }, this.type === "textarea" ? i("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 ${n ? "input-with-icon" : ""} ${this.error ? "input-error" : ""} ${this.extraClass}`, "aria-invalid": this.error ? "true" : "false", "aria-describedby": e, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput }) : this.type === "select" ? i("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": e, onInput: this.handleInput, onChange: this.handleInput }, this.options.map((t) => i("option", { value: t.value, selected: t.value === this.innerVal, key: t.value }, t.label))) : i("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 : void 0 }, this.type === "number" ? {
3923
+ return i("div", { key: "a26224d6345099df6bc5110d42b701980603f7f7", class: "relative flex items-center" }, this.type === "textarea" ? i("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 ${n ? "input-with-icon" : ""} ${this.error ? "input-error" : ""} ${this.extraClass}`, "aria-invalid": this.error ? "true" : "false", "aria-describedby": e, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput }) : this.type === "select" ? i("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": e, onInput: this.handleInput, onChange: this.handleInput }, this.options.map((t) => i("option", { value: t.value, selected: t.value === this.innerVal, key: t.value }, t.label))) : i("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 : void 0 }, this.type === "number" ? {
1909
3924
  min: this.min,
1910
3925
  max: this.max,
1911
3926
  step: this.step
@@ -1914,17 +3929,17 @@ const de = class {
1914
3929
  input ${this.type === "radio" ? "input-radio" : this.type === "checkbox" ? "input-checkbox" : ""}
1915
3930
  ${n && this.type !== "radio" && this.type !== "checkbox" ? "input-icon pl-36" : ""}
1916
3931
  ${this.error ? "input-error" : ""}
1917
- `, "aria-invalid": this.error ? "true" : "false", "aria-describedby": e, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput })), this.maxLength && this.type === "textarea" && i("span", { key: "3cbf1dbffabb0cb895c6b69651933867584606d0", class: `input-counter f-ui-05 absolute bottom-8 right-8 ${this.maxLengthReached ? "input-counter-error" : ""}` }, this.maxLength), this.icon && i("eds-icon-wrapper", { key: "fb3a7051ecb72a5f425a0590dae14ee731e40a60", class: `absolute top-1/2 left-[4px] -translate-y-1/2 ${this.disabled, "text-lightest"}`, icon: this.icon }));
3932
+ `, "aria-invalid": this.error ? "true" : "false", "aria-describedby": e, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput })), this.maxLength && this.type === "textarea" && i("span", { key: "beb48d08d18b5ca5b054b1b579e2f9527af222e9", class: `input-counter f-ui-05 absolute bottom-8 right-8 ${this.maxLengthReached ? "input-counter-error" : ""}` }, this.maxLength), this.icon && i("eds-icon-wrapper", { key: "06948fe33c35c5830edd50a37411281865ef6d12", class: `absolute top-1/2 left-[4px] -translate-y-1/2 ${this.disabled, "text-lightest"}`, icon: this.icon }));
1918
3933
  }
1919
3934
  get el() {
1920
- return g(this);
3935
+ return y(this);
1921
3936
  }
1922
3937
  static get watchers() {
1923
3938
  return {
1924
3939
  value: ["onValueChanged"]
1925
3940
  };
1926
3941
  }
1927
- }, sn = `:root {
3942
+ }, de = `:root {
1928
3943
  font-optical-sizing: auto;
1929
3944
  }
1930
3945
  html,
@@ -7753,6 +9768,12 @@ video {
7753
9768
  content: '';
7754
9769
  }
7755
9770
  }
9771
+ .input-label-options {
9772
+ font-family: var(--f-ui-03-fontFamily);
9773
+ font-size: var(--f-ui-03-fontSize);
9774
+ line-height: var(--f-ui-03-lineHeight);
9775
+ letter-spacing: var(--f-ui-03-letterSpacing);
9776
+ }
7756
9777
  .input-label {
7757
9778
  font-family: var(--f-ui-04-fontFamily);
7758
9779
  font-weight: var(--f-ui-04-fontWeight);
@@ -8624,6 +10645,10 @@ input[type="range"]::-webkit-slider-thumb {
8624
10645
  -moz-column-gap: 0.125rem;
8625
10646
  column-gap: 0.125rem;
8626
10647
  }
10648
+ .gap-x-4 {
10649
+ -moz-column-gap: 0.25rem;
10650
+ column-gap: 0.25rem;
10651
+ }
8627
10652
  .gap-x-8 {
8628
10653
  -moz-column-gap: 0.5rem;
8629
10654
  column-gap: 0.5rem;
@@ -9684,29 +11709,29 @@ input[type="range"]::-webkit-slider-thumb {
9684
11709
  }
9685
11710
  }
9686
11711
 
9687
- `, dn = sn, cn = class {
11712
+ `, ce = de, ge = class {
9688
11713
  constructor(n) {
9689
- d(this, n), this.edsinput = h(this, "edsinput", 7), this.edschange = h(this, "edschange", 7), this.handleNativeInput = (e) => {
11714
+ p(this, n), this.edsinput = S(this, "edsinput", 7), this.edschange = S(this, "edschange", 7), this.handleNativeInput = (e) => {
9690
11715
  var t, r;
9691
11716
  if ((t = this.onInput) === null || t === void 0 || t.call(this, e), this.shouldEmitValue()) {
9692
11717
  const l = e.target;
9693
- let o = l.value;
11718
+ let a = l.value;
9694
11719
  if (this.type === "checkbox" && ((r = this.parsedOptions) === null || r === void 0 ? void 0 : r.length) > 0) {
9695
- const a = this.hostEl.querySelectorAll(`input[type="checkbox"][name="${this.name}"]`);
9696
- o = Array.from(a).filter((s) => s.checked).map((s) => s.value);
9697
- } else this.type === "checkbox" ? o = l.checked : (this.type, o = l.value);
9698
- this.edsinput.emit({ value: o });
11720
+ const c = this.hostEl.querySelectorAll(`input[type="checkbox"][name="${this.name}"]`);
11721
+ a = Array.from(c).filter((d) => d.checked).map((d) => d.value);
11722
+ } else this.type === "checkbox" ? a = l.checked : (this.type, a = l.value);
11723
+ this.edsinput.emit({ value: a });
9699
11724
  }
9700
11725
  }, this.handleNativeChange = (e) => {
9701
11726
  var t, r;
9702
11727
  if ((t = this.onChangeNative) === null || t === void 0 || t.call(this, e), this.shouldEmitValue()) {
9703
11728
  const l = e.target;
9704
- let o = l.value;
11729
+ let a = l.value;
9705
11730
  if (this.type === "checkbox" && ((r = this.parsedOptions) === null || r === void 0 ? void 0 : r.length) > 0) {
9706
- const a = this.hostEl.querySelectorAll(`input[type="checkbox"][name="${this.name}"]`);
9707
- o = Array.from(a).filter((s) => s.checked).map((s) => s.value);
9708
- } else this.type === "checkbox" ? o = l.checked : (this.type, o = l.value);
9709
- this.edschange.emit({ value: o });
11731
+ const c = this.hostEl.querySelectorAll(`input[type="checkbox"][name="${this.name}"]`);
11732
+ a = Array.from(c).filter((d) => d.checked).map((d) => d.value);
11733
+ } else this.type === "checkbox" ? a = l.checked : (this.type, a = l.value);
11734
+ this.edschange.emit({ value: a });
9710
11735
  }
9711
11736
  }, this.name = void 0, this.inputId = void 0, this.placeholder = void 0, this.disabled = !1, this.required = !1, this.label = void 0, this.hint = void 0, this.icon = void 0, this.link = void 0, this.message = void 0, this.error = !1, this.checked = void 0, this.errorMessage = void 0, this.value = void 0, this.maxLength = void 0, this.min = void 0, this.max = void 0, this.step = void 0, this.options = void 0, this.type = "text", this.onChangeNative = void 0, this.onInput = void 0, this.exposeValueEvents = !0;
9712
11737
  }
@@ -9726,7 +11751,7 @@ input[type="range"]::-webkit-slider-thumb {
9726
11751
  }
9727
11752
  render() {
9728
11753
  const n = 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 } : {});
9729
- return i("div", { key: "48926c14240f7e26d2277729d829d98ab17f9eee" }, this.type === "checkbox" || this.type === "radio" ? this.parsedOptions.length > 0 ? i("fieldset", { class: "space-y-4 mt-8" }, i("div", { class: "flex justify-between" }, this.label && i("eds-input-label", { name: this.inputId || this.name, label: this.label, required: this.required }), this.hint && i("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint)), this.parsedOptions.map((e) => i("div", { class: "flex items-center gap-x-2", key: e.value }, i("eds-input", Object.assign({}, n, { value: e.value, checked: typeof this.value == "string" && this.value.split(",").includes(String(e.value)) })), i("eds-input-label", { name: `${this.name}-${e.value}`, label: e.label })))) : i("div", { class: "flex items-center gap-x-8" }, i("eds-input", Object.assign({}, n, { value: this.value, checked: this.value === "on" || this.checked })), this.label && i("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required })) : i("div", null, i("div", { class: "flex justify-between" }, this.label && i("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required }), this.hint && i("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint)), this.type === "select" ? i("eds-input-select", Object.assign({}, n, { options: this.parsedOptions })) : this.type === "file" ? i("input", { type: "file", id: this.inputId || this.name, name: this.name, onChange: this.onChangeNative, disabled: this.disabled, required: this.required }) : this.type === "search" ? i("eds-input-search", { name: "search-box" }) : this.type === "range" ? (() => {
11754
+ return i("div", { key: "615165ebb5980d2da414ad4028e053b46358eb4e" }, this.type === "checkbox" || this.type === "radio" ? this.parsedOptions.length > 0 ? i("fieldset", { class: "space-y-4 mt-8" }, i("div", { class: "flex justify-between" }, this.label && i("eds-input-label", { name: this.inputId || this.name, label: this.label, required: this.required }), this.hint && i("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint)), this.parsedOptions.map((e) => i("div", { class: "flex items-center gap-x-4 gap-y-4", key: e.value }, i("eds-input", Object.assign({}, n, { value: e.value, checked: typeof this.value == "string" && this.value.split(",").includes(String(e.value)) })), i("label", { htmlFor: this.name, class: `input-label-options ${this.disabled ? "text-lighter" : ""}` }, e.label)))) : i("div", { class: "flex items-center gap-x-8" }, i("eds-input", Object.assign({}, n, { value: this.value, checked: this.value === "on" || this.checked })), this.label && i("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required })) : i("div", null, i("div", { class: "flex justify-between" }, this.label && i("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required }), this.hint && i("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint)), this.type === "select" ? i("eds-input-select", Object.assign({}, n, { options: this.parsedOptions })) : this.type === "file" ? i("input", { type: "file", id: this.inputId || this.name, name: this.name, onChange: this.onChangeNative, disabled: this.disabled, required: this.required }) : this.type === "search" ? i("eds-input-search", { name: "search-box" }) : this.type === "range" ? (() => {
9730
11755
  var e, t, r;
9731
11756
  const l = {
9732
11757
  name: n.name,
@@ -9735,36 +11760,39 @@ input[type="range"]::-webkit-slider-thumb {
9735
11760
  required: n.required,
9736
11761
  onInput: n.onInput,
9737
11762
  onChange: n.onChange
9738
- }, o = this.parsedOptions, a = typeof this.value == "string" ? parseFloat(this.value) : this.value || 0;
9739
- return i("eds-input-range", Object.assign({}, l, { min: (e = o[0]) === null || e === void 0 ? void 0 : e.value, max: (t = o[1]) === null || t === void 0 ? void 0 : t.value, step: (r = o[2]) === null || r === void 0 ? void 0 : r.value, value: a }));
9740
- })() : i("eds-input", Object.assign({}, n))), i("div", { key: "72b565ac1c52a56d7e563e227baf187d72f2ba21", class: "mt-4" }, i("eds-input-footer", { key: "65c40184d6fd5dfc730a46ffe8e826687c7d6f36", id: `${this.name}-footer`, name: this.name, message: this.message, "error-message": this.errorMessage, error: this.error, link: this.link })));
11763
+ }, a = this.parsedOptions, c = typeof this.value == "string" ? parseFloat(this.value) : this.value || 0;
11764
+ return i("eds-input-range", Object.assign({}, l, { min: (e = a[0]) === null || e === void 0 ? void 0 : e.value, max: (t = a[1]) === null || t === void 0 ? void 0 : t.value, step: (r = a[2]) === null || r === void 0 ? void 0 : r.value, value: c }));
11765
+ })() : i("eds-input", Object.assign({}, n))), i("div", { key: "4ca8edfb4538caab53e89f16008683aea28adfbc", class: "mt-6" }, i("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 })));
11766
+ }
11767
+ static get delegatesFocus() {
11768
+ return !0;
9741
11769
  }
9742
11770
  get hostEl() {
9743
- return g(this);
11771
+ return y(this);
9744
11772
  }
9745
11773
  };
9746
- cn.style = dn;
9747
- const gn = "p{margin:0}.text-error{color:var(--red-700)}.flex{display:flex}.items-center{align-items:center}.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)}.ml-4{margin-left:0.25rem}.f-ui-05{font-family:var(--f-ui-05-fontFamily);font-weight:var(--f-ui-05-fontWeight);font-size:var(--f-ui-05-fontSize);line-height:var(--f-ui-05-lineHeight);letter-spacing:var(--f-ui-05-letterSpacing)}.text-lighter{color:var(--grey-600)}.effect-color{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:300ms;transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.hover\\:text-lighter:hover{color:var(--grey-600)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}", hn = gn, fn = class {
11774
+ ge.style = ce;
11775
+ const he = "p{margin:0}.text-error{color:var(--red-700)}.flex{display:flex}.items-center{align-items:center}.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)}.ml-4{margin-left:0.25rem}.mb-4{margin-bottom:0.25rem}.f-ui-05{font-family:var(--f-ui-05-fontFamily);font-weight:var(--f-ui-05-fontWeight);font-size:var(--f-ui-05-fontSize);line-height:var(--f-ui-05-lineHeight);letter-spacing:var(--f-ui-05-letterSpacing)}.text-lighter{color:var(--grey-600)}.effect-color{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:300ms;transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.hover\\:text-lighter:hover{color:var(--grey-600)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}", fe = he, be = class {
9748
11776
  constructor(n) {
9749
- d(this, n), this.name = void 0, this.errorMessage = void 0, this.message = void 0, this.error = !1, this.link = void 0;
11777
+ p(this, n), this.name = void 0, this.errorMessage = void 0, this.message = void 0, this.error = !1, this.link = void 0;
9750
11778
  }
9751
11779
  render() {
9752
- return i("div", { key: "a9f24f8726c7d5bcc3adfcb1d93a6076b0e672d8" }, this.error && this.errorMessage && i("div", { key: "5ed4b0881215887ed5532b4f6619cfe22f896773", id: `error_${this.name}`, class: "text-error flex items-center" }, i("eds-icon-wrapper", { key: "978b51b85d34c05f5f86ffa228404514e7572145", icon: "warning" }), i("p", { key: "10c97eea1f6a835ad6c85618578fd4fa58a7d5f5", class: "f-ui-04 ml-4", innerHTML: this.errorMessage })), this.message && i("p", { key: "61db4e71da9136a1c2ede4bd30edb6c8f61e05d2", id: `desc_${this.name}`, class: "f-ui-05 text-lighter", innerHTML: this.message }), this.link && i("a", { key: "f44a7c6c17be59a6e6361a1a10c842f9c99f4b47", href: this.link.url, class: "f-ui-05 effect-color hover:text-lighter underline underline-offset-4" }, this.link.label));
11780
+ return i("div", { key: "58bce34f2ec417696ba03d6c8c0c77fa1d900f9a" }, this.error && this.errorMessage && i("div", { key: "be14dc0f6e9494c1ee436fd8f822112eab6d2ce2", id: `error_${this.name}`, class: "text-error flex items-center" }, i("eds-icon-wrapper", { key: "aaa2010441b0bfe9445e4b6401115b29606ac507", icon: "warning" }), i("p", { key: "277ac1de538e873c7da9b592e60dfd276738025d", class: "f-ui-04 ml-4 mb-4", innerHTML: this.errorMessage })), this.message && i("p", { key: "4f07c6efe398bb002322a35279e68b237eac860e", id: `desc_${this.name}`, class: "f-ui-05 text-lighter", innerHTML: this.message }), this.link && i("a", { key: "50d042530985eeafd7334b0bb38fd2c14aed0e3f", href: this.link.url, class: "f-ui-05 effect-color hover:text-lighter underline underline-offset-4" }, this.link.label));
9753
11781
  }
9754
11782
  };
9755
- fn.style = hn;
9756
- const bn = ".input-label{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)}.input-label b,.input-label strong{font-weight:var(--f-ui-04---bold-weight, bold)}.text-lighter{color:var(--grey-600)}.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}", xn = bn, mn = class {
11783
+ be.style = fe;
11784
+ const me = ".input-label{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)}.input-label b,.input-label strong{font-weight:var(--f-ui-02---bold-weight, bold)}.text-lighter{color:var(--grey-600)}.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}", ue = me, xe = class {
9757
11785
  constructor(n) {
9758
- d(this, n), this.label = void 0, this.name = void 0, this.required = !1, this.disabled = !1;
11786
+ p(this, n), this.label = void 0, this.name = void 0, this.required = !1, this.disabled = !1;
9759
11787
  }
9760
11788
  render() {
9761
- return i("label", { key: "4007d3a533b1d4f199cd143fe0c1d3851a4906b1", htmlFor: this.name, class: `input-label ${this.disabled ? "text-lighter" : ""}` }, this.label, this.required && i("span", { key: "319f85ff60d45e24ba8e21ace46b44534f9e1cbf" }, i("span", { key: "329b9936137fafa7aae9a442296eb44baaf1ab85", "aria-hidden": "true" }, "*"), i("span", { key: "acac48485fa35c9245bb8795cab0a2b40eb1cee2", class: "sr-only" }, "required")));
11789
+ return i("label", { key: "622cd7e26774448ca86c1168d0a287d7b61d3e29", htmlFor: this.name, class: `input-label ${this.disabled ? "text-lighter" : ""}` }, this.label, this.required && i("span", { key: "c3162e765af70dd972e3cd0ca360cd3f52003f76" }, i("span", { key: "5bca5243c95399fefff4fa21b6c1477a287a3cb4", "aria-hidden": "true" }, "*"), i("span", { key: "bc1c229ac387161e4aa314498dbbc77fbab62955", class: "sr-only" }, "required")));
9762
11790
  }
9763
11791
  };
9764
- mn.style = xn;
9765
- const ce = class {
11792
+ xe.style = ue;
11793
+ const xt = class {
9766
11794
  constructor(n) {
9767
- d(this, n), this.edsrange = h(this, "edsrange", 7), this.onInput = (e) => {
11795
+ p(this, n), this.edsrange = S(this, "edsrange", 7), this.onInput = (e) => {
9768
11796
  const t = e.target;
9769
11797
  this.sliderVal = parseInt(t.value, 10);
9770
11798
  }, this.onChange = (e) => {
@@ -9786,25 +11814,25 @@ const ce = class {
9786
11814
  return this.inputElement;
9787
11815
  }
9788
11816
  render() {
9789
- return i("div", { key: "5c55f65e2acd6f4554af7d8ba513c9d9dfd445eb", class: "relative flex flex-col items-start space-y-2" }, i("input", { key: "4fcd0d3d978ddba7929958dd22a283c2ba61ee48", 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", "aria-describedby": `desc_${this.name}`, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": this.sliderVal, onInput: this.onInput, onChange: this.onChange }), i("p", { key: "c63b223e6af149efb68cabbe5228e77b09ca2168", id: `desc_${this.name}`, class: "block f-ui-05 text-lighter" }, "Current value: ", this.sliderVal));
11817
+ return i("div", { key: "51c9adb300d50eecb48de1547c0a0475692aa97b", class: "relative flex flex-col items-start" }, i("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 }), i("p", { key: "9b717fce31d2340f3b4bc4b5583e6b1e7764314f", id: `desc_${this.name}`, class: "block f-ui-05 mt-4 text-lighter" }, "Current value: ", this.sliderVal));
9790
11818
  }
9791
11819
  get el() {
9792
- return g(this);
11820
+ return y(this);
9793
11821
  }
9794
11822
  static get watchers() {
9795
11823
  return {
9796
11824
  value: ["onValueChange"]
9797
11825
  };
9798
11826
  }
9799
- }, ge = class {
11827
+ }, pt = class {
9800
11828
  constructor(n) {
9801
- d(this, n), this.search = h(this, "search", 7), this.keydownListener = (e) => {
11829
+ p(this, n), this.search = S(this, "search", 7), this.keydownListener = (e) => {
9802
11830
  (e.metaKey || e.ctrlKey) && e.key.toLowerCase() === "k" && (e.preventDefault(), this.inputElement && !this.disabled && this.inputElement.focus());
9803
11831
  }, this.onChange = (e) => {
9804
11832
  this.search.emit({
9805
11833
  event: "change",
9806
11834
  value: e.target.value
9807
- }), f({
11835
+ }), A({
9808
11836
  category: "ui-component",
9809
11837
  parentContext: null,
9810
11838
  tag: this.el.tagName.toLowerCase(),
@@ -9823,8 +11851,8 @@ const ce = class {
9823
11851
  return this.inputElement;
9824
11852
  }
9825
11853
  render() {
9826
- return i("div", { key: "27d6871df962e2bd27eac38b1a105142b1b68bab", class: "relative flex items-center" }, i("eds-icon-wrapper", { key: "b4b497cb435c673a550b169dea93fbc7006d0c5e", icon: "search", class: "absolute top-1/2 left-[4px] -translate-y-1/2 text-lightest", "aria-hidden": "true" }), i("input", {
9827
- key: "1419cd8f5b8791b5b812c57ba649567e1b6ec0bb",
11854
+ return i("div", { key: "40f0faa26610671e0a89055e5a51fb17ab17c470", class: "relative flex items-center" }, i("eds-icon-wrapper", { key: "910f6681ae719608c6f2787de4b3871742dd290a", icon: "search", class: "absolute top-1/2 left-[4px] -translate-y-1/2 text-lightest", "aria-hidden": "true" }), i("input", {
11855
+ key: "77534918bd9f2bcd4014e5b201a4f7eb2c0753b4",
9828
11856
  id: this.inputId || this.name,
9829
11857
  name: this.name,
9830
11858
  placeholder: this.placeholder,
@@ -9839,25 +11867,25 @@ const ce = class {
9839
11867
  }));
9840
11868
  }
9841
11869
  get el() {
9842
- return g(this);
11870
+ return y(this);
9843
11871
  }
9844
- }, he = class {
11872
+ }, yt = class {
9845
11873
  constructor(n) {
9846
- d(this, n), this.edsselect = h(this, "edsselect", 7), this.handleChange = (e) => {
11874
+ p(this, n), this.edsselect = S(this, "edsselect", 7), this.handleChange = (e) => {
9847
11875
  const t = e.target;
9848
11876
  this.edsselect.emit(t.value);
9849
11877
  }, this.inputId = void 0, this.name = void 0, this.placeholder = void 0, this.disabled = !1, this.hasMessage = !1, this.error = !1, this.required = !1, this.options = [], this.value = void 0;
9850
11878
  }
9851
11879
  render() {
9852
- const n = this.inputId || this.name, e = this.placeholder || `Please select ${this.name}`, t = this.hasMessage || this.error ? `${this.name}-error` : void 0;
9853
- return i("div", { key: "80cbdab87f5baa21df5edc857685c3af4dee3a58", class: "relative" }, i("select", { key: "4e8f84fd9dbc63df7981898cadc24450f48aa92a", id: n, name: this.name, class: {
11880
+ const n = this.inputId || this.name, e = this.placeholder || "Pick from the list", t = this.hasMessage || this.error ? `${this.name}-error` : void 0;
11881
+ return i("div", { key: "f154a5f34a0d09cf6a02e24f13ed9af46532c76c", class: "relative" }, i("select", { key: "0982936337bcbec3e2b81f7edc1436506841c782", id: n, name: this.name, class: {
9854
11882
  input: !0,
9855
11883
  "input-error": this.error,
9856
11884
  "px-4": !0,
9857
11885
  "py-2": !0
9858
- }, "aria-invalid": this.error ? "true" : "false", "aria-describedby": t, disabled: this.disabled, required: this.required, onChange: this.handleChange }, i("option", { key: "54b90339cae4c5c80711793a8c68c4587e0c2495", value: "", disabled: !0, hidden: !0 }, e), this.options.map((r, l) => i("option", { key: l, value: r.value, selected: r.value === this.value }, r.label))), i("span", { key: "6c9f0a0606f1d6f282c756f84ace7618584d5fa3", class: "bg-dark rounded-xs absolute top-1/2 right-[6px] flex h-28 w-28 -translate-y-1/2 items-center justify-center" }, i("eds-icon-wrapper", { key: "4524af72468d3b37c01b0252d4b6b2bf7454514e", class: "w-20 h-20", icon: "chevron-right" })));
11886
+ }, "aria-invalid": this.error ? "true" : "false", "aria-describedby": t, disabled: this.disabled, required: this.required, onChange: this.handleChange }, i("option", { key: "7656fa514dec6b8b05bbb8d02636bf5e2ee8d213", value: "", disabled: !0, hidden: !0 }, e), this.options.map((r, l) => i("option", { key: l, value: r.value, selected: r.value === this.value }, r.label))), i("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" }, i("eds-icon-wrapper", { key: "092271b13e4d496a85c55fbb5f1756805cd5d3de", class: "w-20 h-20", icon: "chevron-right" })));
9859
11887
  }
9860
- }, pn = `*,
11888
+ }, pe = `*,
9861
11889
  ::before,
9862
11890
  ::after {
9863
11891
  box-sizing: border-box;
@@ -11094,7 +13122,7 @@ Make sure disabled buttons don't get the pointer cursor.
11094
13122
  .lg\\:flex {
11095
13123
  display: flex;
11096
13124
  }
11097
- }`, un = pn, yn = m([
13125
+ }`, ye = pe, ve = N([
11098
13126
  "relative inline-flex justify-center items-center py-8 rounded-sm",
11099
13127
  "effect-color effect-focus aria-disabled:text-lightest",
11100
13128
  "cursor-pointer",
@@ -11219,9 +13247,9 @@ Make sure disabled buttons don't get the pointer cursor.
11219
13247
  size: "small",
11220
13248
  hasIcon: !1
11221
13249
  }
11222
- }), vn = class {
13250
+ }), we = class {
11223
13251
  constructor(n) {
11224
- d(this, n), this.parentContext = null, this.label = void 0, this.intent = void 0, this.icon = void 0, this.iconPos = "right", this.iconSmall = !1, this.size = "small", this.external = !1, this.current = !1, this.download = !1, this.url = void 0, this.ariaLabel = void 0, this.disabled = !1, this.hideLabelOnSmallScreen = !1, this.extraClass = void 0;
13252
+ p(this, n), this.parentContext = null, this.label = void 0, this.intent = void 0, this.icon = void 0, this.iconPos = "right", this.iconSmall = !1, this.size = "small", this.external = !1, this.current = !1, this.download = !1, this.url = void 0, this.ariaLabel = void 0, this.disabled = !1, this.hideLabelOnSmallScreen = !1, this.extraClass = void 0;
11225
13253
  }
11226
13254
  handleParentContext(n) {
11227
13255
  n.target === this.el && (this.parentContext = n.detail, n.stopPropagation());
@@ -11232,7 +13260,7 @@ Make sure disabled buttons don't get the pointer cursor.
11232
13260
  n.preventDefault();
11233
13261
  return;
11234
13262
  }
11235
- f({
13263
+ A({
11236
13264
  category: "ui-component",
11237
13265
  parentContext: this.parentContext,
11238
13266
  tag: this.el.tagName.toLowerCase(),
@@ -11240,39 +13268,42 @@ Make sure disabled buttons don't get the pointer cursor.
11240
13268
  action: "click"
11241
13269
  });
11242
13270
  }
13271
+ handleKeyDown(n) {
13272
+ this.disabled || (n.key === "Enter" || n.key === " ") && (n.preventDefault(), this.handleClick(n), this.url && !this.disabled && (this.external ? window.open(this.url, "_blank", "noopener,noreferrer") : window.location.href = this.url));
13273
+ }
11243
13274
  getLinkSize() {
11244
- return this.size;
13275
+ return this.intent === "underline" ? "underline" : this.size;
11245
13276
  }
11246
13277
  renderLeftIcon() {
11247
- return this.icon && this.iconPos === "left" ? i("span", { class: !this.external && !this.label ? "" : "flex" }, i("eds-icon-wrapper", { class: `
13278
+ return this.icon && this.iconPos === "left" ? i("span", { class: "flex" }, i("eds-icon-wrapper", { "aria-hidden": "true", class: `
11248
13279
  flex inline-flex items-center justify-center
11249
13280
  ${this.size === "large" ? "h-24 w-24" : "h-20 w-20"}
11250
13281
  `, icon: this.icon })) : null;
11251
13282
  }
11252
13283
  renderRightIcon() {
11253
- return this.icon && this.iconPos === "right" ? i("span", { class: !this.external && !this.label ? "" : "flex" }, i("eds-icon-wrapper", { class: `
13284
+ return this.icon && this.iconPos === "right" ? i("span", { class: "flex" }, i("eds-icon-wrapper", { "aria-hidden": "true", class: `
11254
13285
  flex inline-flex items-center justify-center
11255
13286
  ${this.size === "large" ? "h-24 w-24" : "h-20 w-20"}
11256
13287
  `, icon: this.icon })) : null;
11257
13288
  }
11258
13289
  render() {
11259
- const n = this.disabled ? "span" : "a", e = yn({
13290
+ const n = ve({
11260
13291
  intent: this.intent,
11261
13292
  size: this.getLinkSize(),
11262
13293
  iconSmall: this.iconSmall,
11263
13294
  isActive: this.current,
11264
13295
  hasIcon: !!this.icon
11265
- }), t = this.ariaLabel || this.label || "link", r = this.hideLabelOnSmallScreen ? "hidden lg:flex" : "";
11266
- return i(n, { key: "bdb8851264265b71dab033b807389ccd26519696", class: `${e || ""} ${this.extraClass || ""}`, href: this.disabled ? void 0 : this.url, target: this.external && !this.disabled ? "_blank" : void 0, rel: this.external && !this.disabled ? "noopener noreferrer" : void 0, "aria-label": t, "aria-disabled": this.disabled ? "true" : null, "aria-current": this.current ? "page" : void 0, download: this.download ? "" : void 0, onClick: (l) => this.handleClick(l) }, i("span", { key: "fdf681ed48873939fb147c51fce59c7ff8ae772e", class: "z-1 relative inline-flex items-center justify-center" }, this.renderLeftIcon(), i("span", { key: "aa2ac0a8c0d12197a4c2c3263b1550f83a1df72f", class: r }, this.label), this.renderRightIcon()));
13296
+ }), e = !this.disabled, t = !this.label || this.hideLabelOnSmallScreen && this.icon, r = this.hideLabelOnSmallScreen ? "hidden lg:flex" : "";
13297
+ return i("a", { key: "929b7318ec6475113125e40d789476df76e59e38", class: `${n || ""} ${this.extraClass || ""}`, href: e ? this.url : void 0, target: this.external && e ? "_blank" : void 0, rel: this.external && e ? "noopener noreferrer" : void 0, tabIndex: e ? 0 : -1, "aria-label": t ? this.ariaLabel || "Link" : void 0, "aria-disabled": this.disabled ? "true" : void 0, "aria-current": this.current ? "page" : void 0, role: this.disabled ? "link" : void 0, download: this.download ? "" : void 0, onClick: (l) => this.handleClick(l), onKeyDown: (l) => this.handleKeyDown(l) }, i("span", { key: "4b965dcb07ebca43577b0dcd9f2d11495caa761a", class: "z-1 relative inline-flex items-center justify-center" }, this.renderLeftIcon(), this.label && i("span", { key: "a4327fe130fb8c3962096eff3415ad62e19230f4", class: r }, this.label), this.renderRightIcon()));
11267
13298
  }
11268
13299
  get el() {
11269
- return g(this);
13300
+ return y(this);
11270
13301
  }
11271
13302
  };
11272
- vn.style = un;
11273
- const wn = ".w-\\[130px\\]{width:130px}.mr-auto{margin-right:auto}.text-current{color:currentColor}.text-default{color:var(--black)}.text-inverse{color:var(--white)}.h-full{height:100%}.w-full{width:100%}.flex{display:flex}.inline-flex{display:inline-flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}@media (min-width: 900px){.lg\\:w-\\[150px\\]{width:150px}}", kn = wn, zn = class {
13303
+ we.style = ye;
13304
+ const ke = ".w-\\[130px\\]{width:130px}.mr-auto{margin-right:auto}.text-current{color:currentColor}.text-default{color:var(--black)}.text-inverse{color:var(--white)}.h-full{height:100%}.w-full{width:100%}.flex{display:flex}.inline-flex{display:inline-flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}@media (min-width: 900px){.lg\\:w-\\[150px\\]{width:150px}}", Se = ke, Ce = class {
11274
13305
  constructor(n) {
11275
- d(this, n), this.href = "/", this.orientation = "horizontal", this.type = void 0, this.label = "Home";
13306
+ p(this, n), this.href = "/", this.orientation = "horizontal", this.type = void 0, this.label = "Home";
11276
13307
  }
11277
13308
  /**
11278
13309
  * Handles the click event on the logo link.
@@ -11283,7 +13314,7 @@ const wn = ".w-\\[130px\\]{width:130px}.mr-auto{margin-right:auto}.text-current{
11283
13314
  * - `action`: The action, set as "click".
11284
13315
  */
11285
13316
  handleClick() {
11286
- f({
13317
+ A({
11287
13318
  category: "ui-component",
11288
13319
  tag: this.el.tagName.toLowerCase(),
11289
13320
  name: "logo",
@@ -11296,159 +13327,214 @@ const wn = ".w-\\[130px\\]{width:130px}.mr-auto{margin-right:auto}.text-current{
11296
13327
  getLogo() {
11297
13328
  const e = {
11298
13329
  horizontal: {
11299
- color: p,
11300
- black: w,
11301
- "color-white": k,
11302
- white: z,
11303
- "no-bg": C
13330
+ color: tn,
13331
+ black: bn,
13332
+ "color-white": mn,
13333
+ white: un,
13334
+ "no-bg": xn
11304
13335
  },
11305
13336
  vertical: {
11306
- color: S,
11307
- black: E,
11308
- "color-white": F,
11309
- white: L,
11310
- "no-bg": I
13337
+ color: pn,
13338
+ black: yn,
13339
+ "color-white": vn,
13340
+ white: wn,
13341
+ "no-bg": kn
11311
13342
  }
11312
13343
  }[this.orientation];
11313
13344
  if (!e)
11314
- return p;
13345
+ return tn;
11315
13346
  const t = e[this.type];
11316
13347
  return t || e.color;
11317
13348
  }
11318
13349
  render() {
11319
13350
  const n = this.getLogo();
11320
- return i("a", { key: "ff5c1ee09b325dca504a73b2d9eb4910fb67835d", href: this.href, onClick: () => this.handleClick(), class: "eds-logo-wrapper", "aria-label": this.label }, i("div", { key: "10ef011b7e3725231cf12771be38b209661709ed", innerHTML: n }));
13351
+ return i("a", { key: "fff2a45eb8b41f59026ff7033824484339e3c0a9", href: this.href, onClick: () => this.handleClick(), class: "eds-logo-wrapper", "aria-label": this.label }, i("div", { key: "bc13988a739af1c94d5eadbabf558cbbb10927b8", innerHTML: n }));
11321
13352
  }
11322
13353
  get el() {
11323
- return g(this);
13354
+ return y(this);
11324
13355
  }
11325
13356
  };
11326
- zn.style = kn;
11327
- const Cn = ".block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.fixed{position:fixed}.inset-0{inset:0rem}.z-10{z-index:10}.z-50{z-index:50}.z-50{z-index:50}.z-9999999{z-index:9999999}.w-full{width:100%}.min-w-full{min-width:100%}.max-w-full{max-width:100%}.absolute{position:absolute}.px-20{padding-left:1.25rem;padding-right:1.25rem}.py-20{padding-top:1.25rem;padding-bottom:1.25rem}.bg-inverse{background-color:var(--white)}.bg-dark{background-color:var(--grey-300)}.rounded-lg{border-radius:16px}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.p-6{padding:0.375rem}.p-8{padding:0.5rem}.left-1\\/2{left:50%}.left-20{left:1.25rem}.right-20{right:1.25rem}.top-1\\/2{top:50%}.top-0{top:0rem}.left-0{left:0rem}.top-20{top:1.25rem}.bottom-0{bottom:0rem}.bottom-20{bottom:1.25rem}.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))}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.border-b-2{border-bottom-width:2px}.border-softer{border-color:rgba(0, 0, 0, .1)}.pb-8{padding-bottom:0.5rem}.f-heading-03{font-family:var(--f-heading-03-fontFamily);font-weight:var(--f-heading-03-fontWeight);font-size:var(--f-heading-03-fontSize);line-height:var(--f-heading-03-lineHeight);letter-spacing:var(--f-heading-03-letterSpacing)}.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)}.text-lighter{color:var(--grey-600)}.text-lightest{color:var(--grey-500)}.text-default{color:var(--black)}.text-inverse{color:var(--white)}.bg-dark{background-color:var(--grey-300)}.bg-strong{background-color:var(--grey-700)}.bg-strongest{background-color:var(--black)}.ml-8{margin-left:0.5rem}.pt-8{padding-top:0.5rem}.bg-opacity-90{opacity:0.9}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.line-clamp-4{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}@media (min-width: 750px){.md\\:bottom-20{bottom:1.25rem}.md\\:w-auto{width:auto}.md\\:top-20{top:1.25rem}.md\\:top-1\\/2{top:50%}.md\\:left-1\\/2{left:50%}.md\\:flex{display:flex}.md\\:hidden{display:none}.md\\:-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))}.md\\:-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))}.md\\:gap-y-12{row-gap:0.75rem}}", Sn = Cn, En = class {
13357
+ Ce.style = Se;
13358
+ const Ee = ".fixed{position:fixed}.absolute{position:absolute}.w-full{width:100%}.bottom-0{bottom:0rem}.bottom-4{bottom:0.25rem}.p-4{padding:0.25rem}.p-6{padding:0.375rem}.p-8{padding:0.5rem}.z-10{z-index:10}.z-\\[999999\\]{z-index:999999}.left-0{left:0rem}.left-1\\/2{left: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))}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex{display:flex}.gap-12{gap:0.75rem}.gap-20{gap:1.25rem}.gap-4{gap:0.25rem}@media (min-width: 750px){.md\\:left-1\\/2{left:50%}.md\\:flex{display:flex}.md\\:hidden{display:none}.md\\:-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))}.md\\:-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))}}", ze = Ee, Fe = class {
11328
13359
  constructor(n) {
11329
- d(this, n), this.heading = "", this.truncate = 1, this.position = "middle", this.inverseHeader = !1, this.isOpen = !1;
11330
- }
11331
- getTruncateClass() {
11332
- return this.truncate ? `line-clamp-${this.truncate}` : "";
13360
+ p(this, n), this.consent = S(this, "consent", 7), this.heading = "Analytics Consent", this.description = "We use anonymous analytics to improve our services. No data is collected unless you give your consent. If you don't wish to send data right now, you can always re-enable analytics later by clicking the Cookies Preference button in the footer. However, by opting in today, you're joining a community that shapes our product's future—all while keeping your data completely anonymous.", this.optOutMessage = "You are already part of our community, and your anonymous data helps shape our product's future! Rest assured, your privacy is fully protected.", this.forceShow = !1, this.showNotice = !0;
11333
13361
  }
11334
13362
  /**
11335
- * Returns the Tailwind CSS classes to position the modal based on the `position` prop.
11336
- *
11337
- * @private
11338
- * @returns {string} The concatenated CSS classes for modal positioning.
13363
+ * Listens for global custom events to open the matomo-consent.
11339
13364
  */
11340
- getModalPositionClasses() {
11341
- switch (this.position) {
11342
- case "top":
11343
- return [
11344
- // mobile: pinned to top, full-width
11345
- "top-0",
11346
- "left-0",
11347
- "w-full",
11348
- // desktop: half-width centred and offset down
11349
- "md:left-1/2",
11350
- "md:w-auto",
11351
- "md:-translate-x-1/2",
11352
- "md:top-20"
11353
- ].join(" ");
11354
- case "bottom":
11355
- return ["bottom-0", "left-0", "w-full", "md:left-1/2", "md:w-auto", "md:-translate-x-1/2", "md:bottom-20"].join(" ");
11356
- case "middle":
11357
- default:
11358
- return [
11359
- // mobile: full-width, start from top with a little padding
11360
- "top-0",
11361
- "left-0",
11362
- "w-full",
11363
- "pt-4",
11364
- // desktop: centred both axes
11365
- "md:left-1/2",
11366
- "md:top-1/2",
11367
- "md:w-auto",
11368
- "md:-translate-x-1/2",
11369
- "md:-translate-y-1/2"
11370
- ].join(" ");
11371
- }
13365
+ toggleCookiesConsent() {
13366
+ this.showNotice = !this.showNotice;
11372
13367
  }
11373
13368
  /**
11374
- * Opens the modal.
13369
+ * Checks if the consent cookie exists.
11375
13370
  */
11376
- async open() {
11377
- var n;
11378
- this.isOpen = !0, f({
11379
- category: "ui-component",
11380
- parentContext: null,
11381
- tag: this.el.tagName.toLowerCase(),
11382
- name: ((n = this.heading) === null || n === void 0 ? void 0 : n.toLowerCase()) || "",
11383
- action: "opened"
11384
- });
13371
+ hasCookieConsent() {
13372
+ return !!document.cookie.split("; ").find((n) => n.startsWith("mtm_consent="));
11385
13373
  }
11386
13374
  /**
11387
- * Closes the modal.
13375
+ * Checks if the user has opted out after has opted in.
11388
13376
  */
11389
- async close() {
11390
- var n;
11391
- this.isOpen = !1, f({
11392
- category: "ui-component",
11393
- parentContext: null,
11394
- tag: this.el.tagName.toLowerCase(),
11395
- name: ((n = this.heading) === null || n === void 0 ? void 0 : n.toLowerCase()) || "",
11396
- action: "closed"
11397
- });
13377
+ optedOut() {
13378
+ return !!document.cookie.split("; ").find((n) => n.startsWith("mtm_consent_removed"));
11398
13379
  }
11399
13380
  /**
11400
- * Toggles the modal open or closed.
13381
+ * Generate a unique storage key based on appId or the app's domain.
11401
13382
  */
11402
- async toggle() {
11403
- this.isOpen = !this.isOpen;
13383
+ getStorageKey() {
13384
+ return `${window.location.host}-matomo-deferred`;
11404
13385
  }
11405
13386
  /**
11406
- * Listens for global custom events to open the modal.
13387
+ * Check cookies and sessionStorage (unless forceShow is true) to decide if the notice should be shown.
11407
13388
  */
11408
- handleGlobalOpen() {
11409
- this.open();
13389
+ componentWillLoad() {
13390
+ if (localStorage.getItem(`${window.location.host}-matomo-consent-given`) === "out" || this.optedOut()) {
13391
+ this.showNotice = !1;
13392
+ return;
13393
+ }
13394
+ if (this.forceShow)
13395
+ this.showNotice = !0;
13396
+ else if (this.hasCookieConsent())
13397
+ this.showNotice = !1;
13398
+ else {
13399
+ const e = sessionStorage.getItem(this.getStorageKey());
13400
+ this.showNotice = !e;
13401
+ }
11410
13402
  }
11411
- /**
11412
- * Listens for global custom events to close the modal.
11413
- */
11414
- handleGlobalClose() {
11415
- this.close();
13403
+ componentDidLoad() {
13404
+ this.el.shadowRoot.querySelectorAll("eds-button").forEach((e) => {
13405
+ this.emitContext(e);
13406
+ });
11416
13407
  }
11417
- /**
11418
- * Closes the modal when the Escape key is pressed.
11419
- */
11420
- handleKeyDown(n) {
11421
- this.isOpen && n.key === "Escape" && this.close();
13408
+ emitContext(n) {
13409
+ const e = new CustomEvent("parentContext", {
13410
+ detail: {
13411
+ componentName: this.el.tagName.toLowerCase(),
13412
+ identifier: null
13413
+ }
13414
+ });
13415
+ n.dispatchEvent(e);
13416
+ }
13417
+ optInAnalytics() {
13418
+ fn(), localStorage.removeItem(`${window.location.host}-matomo-consent-given`), this.hideNotice(), this.consent.emit("in");
13419
+ }
13420
+ optOutAnalytics() {
13421
+ en(), this.hideNotice(), this.consent.emit("out");
13422
+ }
13423
+ noThanks() {
13424
+ en(), localStorage.setItem(`${window.location.host}-matomo-consent-given`, "out"), this.hideNotice(), this.consent.emit("out");
13425
+ }
13426
+ /*private deferDecision() {
13427
+ sessionStorage.setItem(this.getStorageKey(), 'true');
13428
+ this.hideNotice();
13429
+ this.consent.emit('defer');
13430
+ }*/
13431
+ keepMeIn() {
13432
+ this.hideNotice();
13433
+ }
13434
+ hideNotice() {
13435
+ this.showNotice = !1;
11422
13436
  }
11423
13437
  render() {
11424
- const n = `modal-title-${this.el.tagName.toLowerCase()}`;
11425
- return i("div", { key: "064613bfc4ada7e980d47b7ccb37b21e313731ca", id: "eds-modal", class: `${this.isOpen ? "block" : "hidden"} fixed inset-0 z-9999999 flex`, role: "dialog", "aria-modal": "true", "aria-labelledby": n }, this.isOpen && i("div", {
11426
- key: "6430a5e2734f948e40ccdc7bfcbd6e934070ff25",
11427
- class: "fixed inset-0 bg-dark bg-opacity-90",
11428
- onClick: () => this.close()
11429
- }), i("div", { key: "468ce4425ce69c7612d9dbca6b812d7b0c2f869a", class: `container absolute bg-inverse z-10 ${this.getModalPositionClasses()} grow justify-center` }, i("div", { key: "e694805e5c39df16801fd2f13eaf2f113fbe2c5e", class: `flex justify-between items-center border-b-2 border-softer px-20 py-20 ${this.inverseHeader ? "bg-strongest text-inverse" : "bg-dark text-default"}` }, i("span", { key: "f4c1204f3971618138bd8385b15face3acd1ea71", id: n, class: `f-heading-04 ${this.getTruncateClass()}` }, this.heading), i("eds-button", { key: "813ba1a0c5d357187fc73964bb66230a15593ddc", intent: "tertiary", icon: "close", "aria-label": "Close modal", onClick: () => this.close(), "extra-class": "ml-8 text-default" })), i("div", { key: "9ae10bc0e79c4553c2a5bdd2dbacd7a97d99f50c", class: "pt-8 px-20 py-20" }, i("slot", { key: "f460df4582e298289ab7abcd5417b7ef8d8ac827" }))));
13438
+ return this.showNotice ? i("div", { class: "fixed bottom-0 p-8 z-[999999] grow md:left-1/2 md:-translate-x-1/2 md:-translate-y-1/2 justify-center" }, i("eds-accordion", { title: this.heading, description: this.hasCookieConsent() ? this.optOutMessage : this.description, switchBg: !0, expanded: !0 }, this.hasCookieConsent() ? i("div", { class: "flex items-center gap-4" }, this.optedOut() ? i("eds-button", { intent: "primary", label: "Opt me in again", "aria-label": "Opt me in again", onClick: () => this.optInAnalytics() }) : i("eds-button", { intent: "primary", label: "Keep Me In", "aria-label": "Keep Me In", onClick: () => this.keepMeIn() }), i("eds-button", { intent: "ghostInverse", label: "Opt-out", "aria-label": "Opt-out from analytics", onClick: () => this.optOutAnalytics() })) : i("div", { class: "flex items-center gap-4" }, i("eds-button", { intent: "primary", label: "I agree", "aria-label": "Opt-in for analytics", onClick: () => this.optInAnalytics() }), i("eds-button", { intent: "ghost", label: "No, thanks", "aria-label": "Opt-out from analytics", onClick: () => this.noThanks() })))) : null;
11430
13439
  }
11431
13440
  get el() {
11432
- return g(this);
13441
+ return y(this);
11433
13442
  }
11434
13443
  };
11435
- En.style = Sn;
11436
- const Fn = "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-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}}", Ln = Fn, In = class {
13444
+ Fe.style = ze;
13445
+ const Ae = '.flex{display:flex}.justify-between{justify-content:space-between}.mt-4{margin-top:0.25rem}.mt-8{margin-top:0.5rem}.ml-4{margin-left:0.25rem}.mr-4{margin-right:0.25rem}.grid{display:grid}.grid-col-span-1{--container-grid-columns:1;grid-column:span 1 / span 1}.grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr))}.grid-cols-11[class*="grid-line-x"][class*="grid-line-x"]>*:nth-child(n)::before{border-bottom-width:1px}.grid-cols-11[class*="grid-line-xfull"]>*:nth-child(n)::before{inset-inline-start:calc(var(--inner-gutter) / -2);inset-inline-end:calc(var(--inner-gutter) / -2)}.grid-cols-11[class*="grid-line-x"]>*:nth-child(11n+1)::before{inset-inline-start:0}.grid-cols-11[class*="grid-line-x"]>*:nth-child(11n+11)::before{inset-inline-end:0}.grid-cols-11[class*="grid-line-x"]>*:nth-child(11n+1):nth-last-child(-n+11)::before{border-bottom-width:0}.grid-cols-11[class*="grid-line-x"]>*:nth-child(11n+1):nth-last-child(-n+11)~*::before{border-bottom-width:0}.grid-cols-11[class*="grid-line-y"][class*="grid-line-y"]>*:nth-child(n)::after{border-inline-end-width:1px}.grid-cols-11[class*="grid-line-y"][class*="grid-line-y"]>*:nth-child(11n+11)::after{border-inline-end-width:0}.grid-cols-11[class*="grid-line-y"][class*="grid-line-y"]>*:nth-child(-n+11)::after{top:0}.grid-cols-11[class*="grid-line-y"][class*="grid-line-y"]>*:nth-child(11n+1):nth-last-child(-n+11)::after{bottom:0}.grid-cols-11[class*="grid-line-y"][class*="grid-line-y"]>*:nth-child(11n+1):nth-last-child(-n+11)~li::after{bottom:0}.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)}.text-light{color:var(--grey-700)}', Ie = Ae, Le = class {
11437
13446
  constructor(n) {
11438
- d(this, n), this.currentPage = void 0, this.lastPage = void 0, this.perPage = 10, this.total = 0, this.url = "", this.mode = "default", this.prevLabel = "Prev", this.nextLabel = "Next", this.prevUrl = "", this.nextUrl = "", this.links = [];
13447
+ p(this, n), this.nps = S(this, "nps", 7), this.min = 0, this.max = 10, this.question = void 0, this.leftLabel = void 0, this.rightLabel = void 0, this.selectedValue = null;
13448
+ }
13449
+ handleClick(n) {
13450
+ this.selectedValue = n, this.nps.emit(n);
13451
+ }
13452
+ handleKeyNav(n) {
13453
+ const e = Array.from(this.el.shadowRoot.querySelectorAll("eds-button")), t = e.findIndex((r) => r.tabIndex === 0);
13454
+ switch (n.key) {
13455
+ case "ArrowRight":
13456
+ case "ArrowLeft": {
13457
+ n.preventDefault();
13458
+ const r = n.key === "ArrowRight" ? 1 : -1, l = Math.min(this.max, Math.max(0, t + r));
13459
+ this.activateRadio(e, l);
13460
+ break;
13461
+ }
13462
+ case "Home": {
13463
+ n.preventDefault(), this.activateRadio(e, 0);
13464
+ break;
13465
+ }
13466
+ case "End": {
13467
+ n.preventDefault(), this.activateRadio(e, this.max);
13468
+ break;
13469
+ }
13470
+ case "Enter":
13471
+ case " ": {
13472
+ n.preventDefault(), t >= 0 && this.handleClick(this.min + t);
13473
+ break;
13474
+ }
13475
+ case "Escape": {
13476
+ n.preventDefault(), t >= 0 && e[t].blur();
13477
+ break;
13478
+ }
13479
+ default:
13480
+ return;
13481
+ }
13482
+ }
13483
+ activateRadio(n, e) {
13484
+ const t = n[e], r = this.min + e;
13485
+ this.handleClick(r), t.focus();
13486
+ }
13487
+ render() {
13488
+ const n = this.max - this.min + 1, e = 0;
13489
+ return i("div", { key: "d675e1e4ecc306511c0324d0b76ee66237cb6738", class: "eds-nps" }, i("eds-input-label", { key: "2eede06f6ee166c36b0cf315a35435c89c3c0ba5", id: "nps-question", name: "nps-question", label: this.question }), i("div", { key: "16105649fe6b3b229127c9a741367a6381db774f", role: "group", id: "nps-buttons", "aria-labelledby": "nps-question", class: "grid grid-cols-11", onKeyDown: (t) => this.handleKeyNav(t) }, Array.from({ length: n }, (t, r) => {
13490
+ const l = this.min + r, a = l === this.selectedValue, c = this.selectedValue === null ? r === e ? 0 : -1 : a ? 0 : -1;
13491
+ return i("div", { class: "grid-col-span-1", key: l }, i("eds-button", { tabindex: c, label: `${l}`, "aria-label": `${l}`, intent: a ? "primary" : "ghost", "extra-class": "!block !px-0 w-full", triggerClick: () => this.handleClick(l) }));
13492
+ })), i("div", { key: "e7bd70a4f1a8083d9c3e08fdf8de55999a27d92d", class: "flex justify-between mt-8" }, i("span", { key: "ea3fbbac20a162e7cf5f2d5e3321c8bc9297014e", class: "f-ui-04 text-light ml-4" }, this.leftLabel), i("span", { key: "3ff59cde0c532587ead8b8a1eaaff6c630e7e7ac", class: "f-ui-04 text-light mr-4" }, this.rightLabel)));
13493
+ }
13494
+ get el() {
13495
+ return y(this);
13496
+ }
13497
+ };
13498
+ Le.style = Ie;
13499
+ const _e = "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}}", Te = _e, $e = class {
13500
+ constructor(n) {
13501
+ p(this, n), this.handleKeyDown = (e) => {
13502
+ if (this.mode !== "default" || !this.useButtons)
13503
+ return;
13504
+ const t = this.getNavigableItems();
13505
+ if (e.key === "ArrowRight" || e.key === "ArrowLeft") {
13506
+ e.preventDefault();
13507
+ const r = e.key === "ArrowRight" ? 1 : -1;
13508
+ let l = this.focusedIndex;
13509
+ if (l === -1) {
13510
+ const c = t.findIndex((d) => d.type === "page" && d.page === this.currentPage);
13511
+ l = c !== -1 ? c : 0;
13512
+ }
13513
+ let a = l + r;
13514
+ a >= t.length ? a = 0 : a < 0 && (a = t.length - 1), this.focusedIndex = a, this.focusPaginationItem(a);
13515
+ } else if (e.key === "Home")
13516
+ e.preventDefault(), this.focusedIndex = 0, this.focusPaginationItem(0);
13517
+ else if (e.key === "End") {
13518
+ e.preventDefault();
13519
+ const r = t.length - 1;
13520
+ this.focusedIndex = r, this.focusPaginationItem(r);
13521
+ }
13522
+ }, this.handleItemFocus = (e) => {
13523
+ this.focusedIndex = e;
13524
+ }, this.currentPage = void 0, this.lastPage = void 0, this.perPage = 10, this.total = 0, this.url = "", this.mode = "default", this.useButtons = !0, this.prevLabel = "Prev", this.nextLabel = "Next", this.prevUrl = "", this.nextUrl = "", this.links = [], this.focusedIndex = -1;
11439
13525
  }
11440
13526
  /** Lifecycle hook to generate pagination links on component load */
11441
13527
  componentWillLoad() {
11442
13528
  this.mode === "default" && this.generateLinks();
11443
13529
  }
11444
13530
  componentDidLoad() {
11445
- this.hostEl.shadowRoot.querySelectorAll("eds-link").forEach((e) => {
13531
+ this.useButtons || this.hostEl.shadowRoot.querySelectorAll("eds-link").forEach((e) => {
11446
13532
  this.emitContext(e);
11447
13533
  });
11448
13534
  }
11449
13535
  /**
11450
13536
  * Emits a custom event called `parentContext` for a given link element.
11451
- * This event provides context information about the breadcrumb component.
13537
+ * This event provides context information about the pagination component.
11452
13538
  *
11453
13539
  * @param linkElement - The link element to which the event will be dispatched.
11454
13540
  */
@@ -11464,6 +13550,23 @@ const Fn = "ul,menu{list-style:none;margin:0;padding:0}.f-ui-03{font-family:var(
11464
13550
  onPageOrLastPageChange() {
11465
13551
  this.mode === "default" && this.generateLinks();
11466
13552
  }
13553
+ /**
13554
+ * Gets all navigable pagination items for keyboard navigation
13555
+ */
13556
+ getNavigableItems() {
13557
+ const n = [];
13558
+ return n.push({ type: "prev", disabled: this.isFirstPage() }), this.links.forEach((e) => {
13559
+ typeof e == "object" && n.push({ type: "page", page: parseInt(e.label), disabled: !1 });
13560
+ }), n.push({ type: "next", disabled: this.isLastPage() }), n.filter((e) => !e.disabled);
13561
+ }
13562
+ /**
13563
+ * Focuses a specific pagination item by index
13564
+ */
13565
+ focusPaginationItem(n) {
13566
+ var e;
13567
+ const t = (e = this.hostEl.shadowRoot) === null || e === void 0 ? void 0 : e.querySelectorAll(".pagination-button"), r = t == null ? void 0 : t[n];
13568
+ r && r.focus();
13569
+ }
11467
13570
  /**
11468
13571
  * Checks if the current page is the first page
11469
13572
  * @returns {boolean} - true if current page is the first page
@@ -11486,7 +13589,7 @@ const Fn = "ul,menu{list-style:none;margin:0;padding:0}.f-ui-03{font-family:var(
11486
13589
  generateLink(n) {
11487
13590
  const e = this.url.includes("?");
11488
13591
  return {
11489
- ariaLabel: `Page ${n}`,
13592
+ ariaLabel: `Go to page ${n}`,
11490
13593
  url: `${this.url}${e ? "&" : "?"}page=${n}`,
11491
13594
  label: n.toString(),
11492
13595
  current: this.currentPage === n,
@@ -11501,7 +13604,6 @@ const Fn = "ul,menu{list-style:none;margin:0;padding:0}.f-ui-03{font-family:var(
11501
13604
  * Creates a pagination range based on delta, current, and total pages
11502
13605
  * @param {number} current - Current page number
11503
13606
  * @param {number} total - Total number of pages
11504
- * @param {number} delta - Range of pages to display around the current page
11505
13607
  * @returns {(number | string)[]} - Range of page numbers or ellipses
11506
13608
  */
11507
13609
  getPaginationGenerator(n, e) {
@@ -11522,7 +13624,11 @@ const Fn = "ul,menu{list-style:none;margin:0;padding:0}.f-ui-03{font-family:var(
11522
13624
  * @returns {string} - Formatted page result information
11523
13625
  */
11524
13626
  pageResults() {
11525
- return this.total > 0 ? this.total > this.perPage ? `${this.perPage * ((this.currentPage || 1) - 1) + 1} - ${this.perPage * (this.currentPage || 1) >= this.total ? this.total : this.perPage * (this.currentPage || 1)} of ${this.total}` : `${this.total}` : "";
13627
+ if (this.total > 0) {
13628
+ const n = this.perPage * ((this.currentPage || 1) - 1) + 1, e = Math.min(this.perPage * (this.currentPage || 1), this.total);
13629
+ return this.total > this.perPage ? `Showing ${n} to ${e} of ${this.total} results` : `Showing ${this.total} result${this.total !== 1 ? "s" : ""}`;
13630
+ }
13631
+ return "";
11526
13632
  }
11527
13633
  /**
11528
13634
  * Handles a page click event, updating the current page and dispatching an event
@@ -11530,7 +13636,7 @@ const Fn = "ul,menu{list-style:none;margin:0;padding:0}.f-ui-03{font-family:var(
11530
13636
  * @param {number} newPage - New page number
11531
13637
  */
11532
13638
  handlePageClick(n, e) {
11533
- if (this.mode !== "navigator" && (n.preventDefault(), e !== this.currentPage)) {
13639
+ if (this.mode !== "navigator" && (this.useButtons && n.preventDefault(), e !== this.currentPage)) {
11534
13640
  this.links = this.links.map((r) => typeof r == "object" ? Object.assign(Object.assign({}, r), { current: parseInt(r.label) === e }) : r);
11535
13641
  const t = new CustomEvent("page", {
11536
13642
  detail: e,
@@ -11541,14 +13647,14 @@ const Fn = "ul,menu{list-style:none;margin:0;padding:0}.f-ui-03{font-family:var(
11541
13647
  }
11542
13648
  }
11543
13649
  render() {
11544
- return i("div", { key: "a92aad013df27ce619c50ee8ed273c4799d9b55b" }, this.total > 0 && this.mode === "default" && i("p", { key: "33b6a436765a10356cf201c19b837f668a74a035", class: "f-ui-03 text-lightest mb-28 w-full text-center" }, i("span", { key: "0c45ab429986ba7537abbdaafddd4b960b92f41a", class: "sr-only" }, "Results:"), this.pageResults()), this.mode === "navigator" || this.lastPage && this.lastPage > 1 ? i("nav", { "aria-label": "Pagination" }, i("ul", { class: "flex items-center justify-center gap-x-8" }, i("li", { class: "mr-auto" }, i("eds-link", { label: this.prevLabel, url: this.mode === "navigator" ? this.prevUrl || "#" : this.isFirstPage() ? "#" : this.generateLink(this.currentPage - 1).url, disabled: this.mode === "navigator" ? !this.prevUrl : this.isFirstPage(), "aria-label": "Previous page", icon: "chevron-left", "icon-pos": "left", size: "small", "icon-small": "true", intent: "strong", "hide-label-on-small-screen": !0, class: "!p-8 lg:!pr-12", onClick: (n) => {
11545
- this.mode === "default" && (this.isFirstPage() ? n.preventDefault() : this.handlePageClick(n, (this.currentPage || 1) - 1));
11546
- } })), this.mode === "default" && this.links.map((n, e) => i("li", { key: e, class: "f-ui-02 flex h-36 items-center justify-center" }, typeof n == "string" ? i("span", { class: "flex items-center justify-center" }, n) : i("eds-link", { url: n.url, "aria-label": n.ariaLabel, label: n.label, current: n.current, size: "small", class: "!p-8", intent: n.current ? "secondary" : "ghost", onClick: (t) => this.handlePageClick(t, parseInt(n.label)) }))), i("li", { class: "ml-auto" }, i("eds-link", { label: this.nextLabel, url: this.mode === "navigator" ? this.nextUrl || "#" : this.isLastPage() ? "#" : this.generateLink(this.currentPage + 1).url, disabled: this.mode === "navigator" ? !this.nextUrl : this.isLastPage(), "aria-label": "Next page", size: "small", "icon-small": "true", icon: "chevron-right", intent: "strong", "hide-label-on-small-screen": !0, class: "!p-8 lg:!pl-12 flex items-center gap-1 py-4 transition-colors", onClick: (n) => {
11547
- this.mode === "default" && (this.isLastPage() ? n.preventDefault() : this.handlePageClick(n, (this.currentPage || 1) + 1));
11548
- } })))) : null);
13650
+ return i("div", { key: "753a7e573a09e7fcb66eac9e11e00f690c49543d" }, this.total > 0 && this.mode === "default" && i("p", { key: "6286d71622614a835d471812a55d5c6bef37a13e", class: "f-ui-03 text-light mb-28 w-full text-center", "aria-live": "polite", id: "pagination-info" }, i("span", { key: "daa7bfa31e736a40c46641fed88653d51eeabc67", class: "text-light sr-only" }, "Results:"), this.pageResults()), this.mode === "navigator" || this.lastPage && this.lastPage > 1 ? i("nav", { "aria-label": "Pagination Navigation", "aria-describedby": this.mode === "default" ? "pagination-info" : void 0, onKeyDown: this.handleKeyDown }, i("ul", { class: "flex items-center justify-center gap-x-8", role: "list" }, i("li", { class: "mr-auto" }, this.useButtons ? i("div", { class: "pagination-button-wrapper", onFocus: () => this.handleItemFocus(-1) }, i("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: (e) => {
13651
+ this.mode === "default" && !this.isFirstPage() && this.handlePageClick(e, (this.currentPage || 1) - 1);
13652
+ } })) : i("eds-link", { label: this.prevLabel, url: this.mode === "navigator" ? this.prevUrl || "#" : this.isFirstPage() ? "#" : this.generateLink(this.currentPage - 1).url, disabled: this.mode === "navigator" ? !this.prevUrl : this.isFirstPage(), "aria-label": "Go to previous page", icon: "chevron-left", "icon-pos": "left", size: "small", "icon-small": "true", intent: "strong", "hide-label-on-small-screen": !0, class: "!p-8 lg:!pr-12" })), this.mode === "default" && this.links.map((e, t) => i("li", { key: t, class: "f-ui-02 flex h-36 items-center justify-center" }, typeof e == "string" ? i("span", { class: "flex items-center justify-center", "aria-hidden": "true" }, e) : this.useButtons ? i("div", { class: "pagination-button-wrapper", onFocus: () => this.handleItemFocus(-1) }, i("eds-button", { label: e.label, "aria-label": e.current ? `Current page, page ${e.label}` : `Go to page ${e.label}`, "aria-current": e.current ? "page" : void 0, size: "small", "extra-class": "!p-8 pagination-button", intent: e.current ? "secondary" : "ghost", onClick: (r) => this.handlePageClick(r, parseInt(e.label)) })) : i("eds-link", { url: e.url, "aria-label": e.ariaLabel, label: e.label, current: e.current, "aria-current": e.current ? "page" : void 0, size: "small", class: "!p-8", intent: e.current ? "secondary" : "ghost", onClick: (r) => this.handlePageClick(r, parseInt(e.label)) }))), i("li", { class: "ml-auto" }, this.useButtons ? i("div", { class: "pagination-button-wrapper", onFocus: () => this.handleItemFocus(-1) }, i("eds-button", { label: this.nextLabel, disabled: this.mode === "navigator" ? !this.nextUrl : this.isLastPage(), "aria-label": "Go to next page", size: "small", "icon-small": "true", icon: "chevron-right", intent: "ghost", "extra-class": "!p-8 lg:!pl-12 pagination-button", onClick: (e) => {
13653
+ this.mode === "default" && !this.isLastPage() && this.handlePageClick(e, (this.currentPage || 1) + 1);
13654
+ } })) : i("eds-link", { label: this.nextLabel, url: this.mode === "navigator" ? this.nextUrl || "#" : this.isLastPage() ? "#" : this.generateLink(this.currentPage + 1).url, disabled: this.mode === "navigator" ? !this.nextUrl : this.isLastPage(), "aria-label": "Go to next page", size: "small", "icon-small": "true", icon: "chevron-right", intent: "strong", "hide-label-on-small-screen": !0, class: "!p-8 lg:!pl-12 flex items-center gap-1 py-4 transition-colors" })))) : null);
11549
13655
  }
11550
13656
  get hostEl() {
11551
- return g(this);
13657
+ return y(this);
11552
13658
  }
11553
13659
  static get watchers() {
11554
13660
  return {
@@ -11557,56 +13663,80 @@ const Fn = "ul,menu{list-style:none;margin:0;padding:0}.f-ui-03{font-family:var(
11557
13663
  };
11558
13664
  }
11559
13665
  };
11560
- In.style = Ln;
11561
- const jn = "blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}.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)}.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)}.mt-12{margin-top:0.75rem}.mt-16{margin-top:1rem}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.gap-4{gap:0.25rem}.effect-color{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:300ms;transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.effect-focus{outline-width:3px;outline-offset:2px;outline-color:var(--green-500)}.text-light{color:var(--grey-700)}.text-lighter{color:var(--grey-600)}.hover\\:text-default:hover{color:var(--black)}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.rounded-sm{border-radius:8px}", An = jn, Pn = class {
13666
+ $e.style = Te;
13667
+ const Oe = ":host{display:inline-block}.block{display:block}.stars{display:flex;gap:0.25rem;cursor:pointer}.star{color:var(--star-empty-color, #ccc);transition:color 0.2s ease-in-out}.star.filled{color:var(--green-500);}.star:hover,.star.filled:hover{transform:scale(1.2)}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.mt-4{margin-top:0.25rem}.mt-6{margin-top:0.375rem}.mt-8{margin-top:0.5rem}.my-4{margin-top:0.25rem;margin-bottom:0.25rem}.my-8{margin-top:0.5rem;margin-bottom:0.5rem}.my-16{margin-top:1rem;margin-bottom:1rem}.my-20{margin-top:1.25rem;margin-bottom:1.25rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.0625rem * var(--tw-space-x-reverse));margin-left:calc(0.0625rem * calc(1 - var(--tw-space-x-reverse)))}", Re = Oe, Pe = class {
11562
13668
  constructor(n) {
11563
- d(this, n), this.socialNetworks = [
11564
- {
11565
- label: "Twitter",
11566
- url: "https://twitter.com/ebrains_eu",
11567
- icon: "twitter"
11568
- },
11569
- {
11570
- label: "Linkedin",
11571
- url: "https://www.linkedin.com/company/ebrains-eu/about/",
11572
- icon: "linkedin"
11573
- },
11574
- {
11575
- label: "Facebook",
11576
- url: "https://www.facebook.com/people/Ebrains_eu/100046659909324/",
11577
- icon: "facebook"
11578
- },
11579
- {
11580
- label: "Youtube",
11581
- url: "https://www.youtube.com/channel/UC6E796cVVR5Xrs2A5jJmleQ",
11582
- icon: "youtube"
11583
- },
11584
- {
11585
- label: "Mastodon",
11586
- url: "https://mastodon.social/@ebrains",
11587
- icon: "mastodon"
11588
- },
11589
- {
11590
- label: "Bluesky",
11591
- url: "https://bsky.app/profile/ebrains.bsky.social",
11592
- icon: "bluesky"
11593
- }
11594
- ], this.heading = "Follow EBRAINS to keep up-to-date";
13669
+ p(this, n), this.rating = S(this, "rating", 7), this.buttonRefs = [], this.ratingType = "star", this.ratingCount = 5, this.selectedRating = 0;
13670
+ }
13671
+ /**
13672
+ * Lifecycle method that runs when the component has fully loaded.
13673
+ * It emits a custom event for each `eds-button` element contained within the breadcrumb.
13674
+ */
13675
+ componentDidLoad() {
13676
+ this.el.shadowRoot.querySelectorAll("eds-button").forEach((e) => {
13677
+ this.emitContext(e);
13678
+ });
11595
13679
  }
11596
13680
  /**
11597
- * Renders the component's HTML structure with links to EBRAINS social profiles.
11598
- * Each social network link uses the `eds-link` component with specific classes and styles.
13681
+ * Emits a custom event called `parentContext` for a given link element.
13682
+ * This event provides context information about the breadcrumb component.
11599
13683
  *
11600
- * @returns {JSX.Element} The rendered JSX for the component.
13684
+ * @param btnElement - The link element to which the event will be dispatched.
13685
+ */
13686
+ emitContext(n) {
13687
+ const e = new CustomEvent("parentContext", {
13688
+ detail: {
13689
+ componentName: this.el.tagName.toLowerCase(),
13690
+ identifier: this.selectedRating
13691
+ }
13692
+ });
13693
+ n.dispatchEvent(e);
13694
+ }
13695
+ /**
13696
+ * Handles the click event on a star.
13697
+ * @param rating - The selected rating value.
11601
13698
  */
13699
+ onSelect(n) {
13700
+ this.selectedRating = n, this.rating.emit(n), setTimeout(() => {
13701
+ const e = this.buttonRefs[n - 1];
13702
+ e == null || e.focus();
13703
+ }, 0);
13704
+ }
13705
+ handleKeyNav(n) {
13706
+ const { key: e } = n;
13707
+ if (!["ArrowRight", "ArrowLeft", "ArrowDown", "ArrowUp"].includes(e))
13708
+ return;
13709
+ n.preventDefault();
13710
+ const t = e === "ArrowRight" || e === "ArrowDown" ? 1 : -1;
13711
+ let r = (this.selectedRating || 1) + t;
13712
+ r > this.ratingCount && (r = 1), r < 1 && (r = this.ratingCount), this.onSelect(r);
13713
+ }
11602
13714
  render() {
11603
- return i("div", { key: "6d52d64b09170108d1b61157d0ab126cefa794be" }, i("p", { key: "97e929fdaff0bcd4360140428007da0294567ea9", class: "f-ui-02" }, this.heading), i("ul", { key: "3264e9e0ac366c4a502b69f6aa8545935b8536e7", class: "mt-12 flex gap-4" }, this.socialNetworks.map((n, e) => i("li", { key: e }, i("eds-link", { "extra-class": "effect-color effect-focus text-lighter hover:text-default flex items-center justify-center rounded-sm", external: !0, "aria-label": n.label, url: n.url, icon: n.icon, intent: "strong" })))));
13715
+ return i("div", { key: "bd72970d86f2dbb21d58671fc85feea3011749b3", id: "rating-buttons", role: "radiogroup", "aria-labelledby": "rating", class: "stars flex space-x-1 my-8", onKeyDown: (n) => this.handleKeyNav(n) }, Array.from({ length: this.ratingCount }, (n, e) => {
13716
+ const t = e + 1, r = t <= this.selectedRating, l = this.selectedRating === t;
13717
+ return i("eds-button", {
13718
+ ref: (a) => this.buttonRefs[e] = a,
13719
+ icon: this.ratingType,
13720
+ role: "radio",
13721
+ "aria-checked": l,
13722
+ "aria-label": `${t} ${this.ratingType}${t > 1 ? "s" : ""}`,
13723
+ onClick: () => this.onSelect(t),
13724
+ tabIndex: l || this.selectedRating === 0 && e === 0 ? 0 : -1,
13725
+ intent: r ? "primary" : "ghost",
13726
+ size: "large",
13727
+ "extra-class": "p-2"
13728
+ // Optional padding or styling for the star button
13729
+ });
13730
+ }));
13731
+ }
13732
+ get el() {
13733
+ return y(this);
11604
13734
  }
11605
13735
  };
11606
- Pn.style = An;
11607
- const Wn = ".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}", _n = Wn, Tn = class {
13736
+ Pe.style = Re;
13737
+ const De = ".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}", Ne = De, He = class {
11608
13738
  constructor(n) {
11609
- d(this, n), this.step = h(this, "step", 7), this.handleNext = () => {
13739
+ p(this, n), this.step = S(this, "step", 7), this.handleNext = () => {
11610
13740
  this.activeStep = this.activeStep + 1, this.activeStep < this.parsedSteps.length && this.step.emit(this.activeStep);
11611
13741
  }, this.handleBack = () => {
11612
13742
  this.activeStep > 0 && (this.activeStep = this.activeStep - 1, this.step.emit(this.activeStep));
@@ -11656,14 +13786,14 @@ const Wn = ".steps{position:sticky;margin-left:16px;margin-bottom:12px;border-le
11656
13786
  * Parse the JSON string into an array of steps.
11657
13787
  */
11658
13788
  get parsedSteps() {
11659
- return b(this.steps);
13789
+ return R(this.steps);
11660
13790
  }
11661
13791
  render() {
11662
13792
  const n = this.parsedSteps;
11663
13793
  return this.type === "linear" ? i("div", null, i("div", { class: "steps" }, n.map((e, t) => i("div", { class: "step mb-28", key: t }, i("h3", { onClick: () => this.handleStepClick(t) }, e.title), this.activeStep === t && i("div", { class: "content" }, i("slot", { name: `step-${t}` }, i("div", { class: t === n.length - 1 ? "f-body-02 text-lighter mt-16" : "f-body-02 text-lighter my-16", innerHTML: e.content })), i("eds-button", { label: t === n.length - 1 ? "Finish" : "Continue", intent: "primary", class: "next-btn", onClick: this.handleNext }), i("eds-button", { label: "Back", intent: "ghostInverse", onClick: this.handleBack, disabled: t === 0, "extra-class": t === 0 ? "hidden" : "ml-8 block" })))))) : i("div", { class: "steps" }, n.map((e, t) => i("div", { class: "step mb-28", key: t }, i("h3", null, e.title), i("div", { class: "content" }, i("slot", { name: `step-${t}` }, i("div", { class: t === n.length - 1 ? "f-body-02 text-lighter mt-16" : "f-body-02 text-lighter my-16", innerHTML: e.content }))))));
11664
13794
  }
11665
13795
  get el() {
11666
- return g(this);
13796
+ return y(this);
11667
13797
  }
11668
13798
  static get watchers() {
11669
13799
  return {
@@ -11671,10 +13801,10 @@ const Wn = ".steps{position:sticky;margin-left:16px;margin-bottom:12px;border-le
11671
13801
  };
11672
13802
  }
11673
13803
  };
11674
- Tn.style = _n;
11675
- const On = "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))}", $n = On, Hn = class {
13804
+ He.style = Ne;
13805
+ const je = "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))}", We = je, Be = class {
11676
13806
  constructor(n) {
11677
- d(this, n), this.step = h(this, "step", 7), this.handleNext = () => {
13807
+ p(this, n), this.step = S(this, "step", 7), this.handleNext = () => {
11678
13808
  this.activeStep = this.activeStep + 1, this.activeStep < this.parsedSteps.length && this.step.emit(this.activeStep);
11679
13809
  }, this.handleBack = () => {
11680
13810
  this.activeStep > 0 && (this.activeStep = this.activeStep - 1, this.step.emit(this.activeStep));
@@ -11720,7 +13850,7 @@ const On = "h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}blockquote,d
11720
13850
  * Parses the steps property into an array of Step objects.
11721
13851
  */
11722
13852
  get parsedSteps() {
11723
- return b(this.steps);
13853
+ return R(this.steps);
11724
13854
  }
11725
13855
  render() {
11726
13856
  const n = this.parsedSteps;
@@ -11730,7 +13860,7 @@ const On = "h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}blockquote,d
11730
13860
  )));
11731
13861
  }
11732
13862
  get el() {
11733
- return g(this);
13863
+ return y(this);
11734
13864
  }
11735
13865
  static get watchers() {
11736
13866
  return {
@@ -11738,12 +13868,53 @@ const On = "h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}blockquote,d
11738
13868
  };
11739
13869
  }
11740
13870
  };
11741
- Hn.style = $n;
11742
- const Dn = "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}", qn = Dn, Mn = class {
13871
+ Be.style = We;
13872
+ const qe = ":host{display:inline-block}.switch-container{display:inline-flex;align-items:center}.switch-label{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)}button.switch{position:relative;display:inline-flex;align-items:center;width:50px;height:26px;border:none;border-radius:13px;background-color:#ccc;padding:0;cursor:pointer;transition:background-color 0.2s}button.switch.switch--checked{background-color:var(--green-500)}button.switch.switch--disabled{opacity:0.6;cursor:not-allowed}.switch-handle{position:absolute;width:22px;height:22px;border-radius:50%;background-color:#fff;top:2px;left:2px;transition:transform 0.2s}button.switch.switch--checked .switch-handle{transform:translateX(24px)}.ml-8{margin-left:0.5rem}.mr-8{margin-right:0.5rem}.switch:focus{outline:2px solid #005fcc;outline-offset:2px}.switch:focus:not(:focus-visible){outline:none}.switch:focus-visible{outline-width:3px;outline-offset:2px;outline-color:var(--green-500)}", Me = qe, Ue = class {
13873
+ constructor(n) {
13874
+ p(this, n), this.uiswitch = S(this, "uiswitch", 7), this.toggleSwitch = () => {
13875
+ this.disabled || (this.checked = !this.checked, this.uiswitch.emit({ value: this.checked }), A({
13876
+ category: "ui-component",
13877
+ tag: this.el.tagName.toLowerCase(),
13878
+ name: this.checked ? this.labelOn : this.labelOff || "",
13879
+ action: "checked"
13880
+ }));
13881
+ }, this.handleKeyDown = (e) => {
13882
+ this.disabled || (e.key === "Enter" || e.key === " ") && (e.preventDefault(), this.toggleSwitch());
13883
+ }, this.checked = !1, this.disabled = !1, this.labelOn = "", this.labelOff = "";
13884
+ }
13885
+ render() {
13886
+ const n = `switch-${Math.random().toString(36).substr(2, 9)}`, e = [];
13887
+ this.labelOff && e.push(`${n}-off`), this.labelOn && e.push(`${n}-on`);
13888
+ const t = e.length === 0 ? this.labelOn || this.labelOff ? this.checked ? this.labelOn : this.labelOff : "Toggle switch" : void 0;
13889
+ return i("div", { key: "f4c99a2ec360af6030de11698bab82833b3f415f", class: "switch-container" }, this.labelOff && i("span", { key: "8bb8d063e744c194c0d44a0c371ae8224f9611cb", id: `${n}-off`, class: "switch-label switch-label--off mr-8" }, this.labelOff), i("button", { key: "ccc49c8ac6f639707c90822e24f3ae3ab8f2c26c", id: n, tabindex: this.disabled ? "-1" : "0", type: "button", role: "switch", "aria-checked": this.checked ? "true" : "false", "aria-disabled": this.disabled ? "true" : "false", "aria-labelledby": e.length > 0 ? e.join(" ") : void 0, "aria-label": t, class: {
13890
+ switch: !0,
13891
+ "switch--checked": this.checked,
13892
+ "switch--disabled": this.disabled
13893
+ }, onClick: this.toggleSwitch, onKeyDown: this.handleKeyDown, disabled: this.disabled }, i("span", { key: "2275930bc9909c0a95c6c10e28f715fe1afe9294", class: "switch-handle" })), this.labelOn && i("span", { key: "d789fd15943c1fadf1f87c55059261eaf5e05a8f", id: `${n}-on`, class: "switch-label switch-label--on ml-8" }, this.labelOn));
13894
+ }
13895
+ get el() {
13896
+ return y(this);
13897
+ }
13898
+ };
13899
+ Ue.style = Me;
13900
+ const Ve = "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}", Ge = Ve, Ye = class {
11743
13901
  constructor(n) {
11744
- d(this, n), this.rowaction = h(this, "rowaction", 7), this.handleResize = () => {
13902
+ p(this, n), this.rowaction = S(this, "rowaction", 7), this.handleResize = () => {
11745
13903
  this.updateContainerWidth();
11746
- }, this.data = null, this.endpoint = null, this.config = {}, this.rowsPerPage = 10, this.paginationEnabled = !0, this.searchEnabled = !1, this.hostWidth = void 0, this.columnSize = "default", this.actions = [], this.actionTemplate = void 0, this.parsedActions = [], this.dataColumns = [], this.tbData = [], this.columns = [], this.currentPage = 1, this.parsedConfig = {}, this.totalRows = 0, this.searchQuery = "", this.containerWidth = 0;
13904
+ }, this.onActionKeyDown = (e) => {
13905
+ var t;
13906
+ if (e.key !== "ArrowRight" && e.key !== "ArrowLeft")
13907
+ return;
13908
+ e.preventDefault();
13909
+ const r = e.target, l = r.closest('[role="toolbar"]');
13910
+ if (!l)
13911
+ return;
13912
+ const a = Array.from(l.querySelectorAll("eds-button")), c = a.indexOf(r);
13913
+ if (c === -1)
13914
+ return;
13915
+ let d;
13916
+ e.key === "ArrowRight" ? d = (c + 1) % a.length : d = (c - 1 + a.length) % a.length, (t = a[d]) === null || t === void 0 || t.focus();
13917
+ }, this.data = null, this.config = {}, this.rowsPerPage = 10, this.paginationEnabled = !0, this.searchEnabled = !1, this.hostWidth = void 0, this.columnSize = "default", this.actions = [], this.actionTemplate = void 0, this.parsedActions = [], this.dataColumns = [], this.tbData = [], this.columns = [], this.currentPage = 1, this.parsedConfig = {}, this.totalRows = 0, this.searchQuery = "", this.containerWidth = 0;
11747
13918
  }
11748
13919
  handleDataChange() {
11749
13920
  this.parseData();
@@ -11759,7 +13930,7 @@ const Dn = "table{text-indent:0;border-color:inherit;border-collapse:collapse;}.
11759
13930
  }
11760
13931
  }
11761
13932
  componentWillLoad() {
11762
- this.parseConfig(), this.handleActionsChange(), this.data ? this.parseData() : this.endpoint && this.fetchData();
13933
+ this.parseConfig(), this.handleActionsChange(), this.parseData();
11763
13934
  }
11764
13935
  componentDidLoad() {
11765
13936
  this.updateContainerWidth(), window.addEventListener("resize", this.handleResize), this.setupPaginationListener();
@@ -11775,7 +13946,7 @@ const Dn = "table{text-indent:0;border-color:inherit;border-collapse:collapse;}.
11775
13946
  }
11776
13947
  parseData() {
11777
13948
  try {
11778
- this.tbData = b(this.data), this.totalRows = this.tbData.length, this.updateColumns(), this.currentPage = 1;
13949
+ this.tbData = R(this.data), this.totalRows = this.tbData.length, this.updateColumns(), this.currentPage = 1;
11779
13950
  } catch (n) {
11780
13951
  console.error("Failed to parse data:", n), this.tbData = [];
11781
13952
  }
@@ -11787,14 +13958,6 @@ const Dn = "table{text-indent:0;border-color:inherit;border-collapse:collapse;}.
11787
13958
  console.error("Failed to parse config:", n), this.parsedConfig = {};
11788
13959
  }
11789
13960
  }
11790
- async fetchData() {
11791
- try {
11792
- const e = await (await fetch(this.endpoint)).json();
11793
- this.data = e;
11794
- } catch (n) {
11795
- console.error("Failed to fetch data:", n);
11796
- }
11797
- }
11798
13961
  setupPaginationListener() {
11799
13962
  if (!this.shouldEnablePagination())
11800
13963
  return;
@@ -11811,7 +13974,7 @@ const Dn = "table{text-indent:0;border-color:inherit;border-collapse:collapse;}.
11811
13974
  return n.slice(e, e + this.rowsPerPage);
11812
13975
  }
11813
13976
  handlePageChange(n) {
11814
- this.currentPage = n, f({
13977
+ this.currentPage = n, A({
11815
13978
  category: "ui-component",
11816
13979
  parentContext: null,
11817
13980
  tag: `${this.hostEl.tagName.toLowerCase()}/eds-pagination`,
@@ -11833,17 +13996,17 @@ const Dn = "table{text-indent:0;border-color:inherit;border-collapse:collapse;}.
11833
13996
  */
11834
13997
  renderSingleActionCell(n, e) {
11835
13998
  var t;
11836
- const r = this.parsedActions.find((o) => o.name === n);
13999
+ const r = this.parsedActions.find((a) => a.name === n);
11837
14000
  if (this.actionTemplate)
11838
14001
  return this.actionTemplate(e);
11839
14002
  if ((r.type || "button") === "checkbox") {
11840
- const o = (t = r.field) !== null && t !== void 0 ? t : r.name, a = !!e[o];
11841
- return i("eds-input-field", { name: `chc-${n}`, label: r.label, type: "checkbox", checked: a, onChange: (s) => this.emitAction(r.name, e, s.target.checked) });
14003
+ const a = (t = r.field) !== null && t !== void 0 ? t : r.name, c = !!e[a];
14004
+ return i("eds-input-field", { name: `chc-${n}`, label: r.label, type: "checkbox", checked: c, onChange: (d) => this.emitAction(r.name, e, d.target.checked) });
11842
14005
  }
11843
- return i("eds-link", { label: r.label, intent: "weak", onClick: () => this.emitAction(r.name, e) });
14006
+ return i("eds-button", { label: r.label, icon: r.icon, pill: !0, size: "small", intent: "ghost", tabIndex: 0, onClick: () => this.emitAction(r.name, e) });
11844
14007
  }
11845
14008
  emitAction(n, e, t) {
11846
- f({
14009
+ A({
11847
14010
  category: "ui-component",
11848
14011
  parentContext: null,
11849
14012
  tag: `${this.hostEl.tagName.toLowerCase()}/action`,
@@ -11873,16 +14036,21 @@ const Dn = "table{text-indent:0;border-color:inherit;border-collapse:collapse;}.
11873
14036
  }
11874
14037
  render() {
11875
14038
  const n = this.hostWidth && this.hostWidth.trim() !== "" ? Number(this.hostWidth) : this.containerWidth || 400, e = this.getVisibleColumnsCount(), t = e > 0 ? Math.floor(n / e * this.divisionFactor()) : 100, r = this.getPaginatedRows(), l = Math.ceil(this.totalRows / this.rowsPerPage);
11876
- return i("div", { key: "f188b98870101f250e8515178d50763bb708ade5" }, this.searchEnabled && i("div", { key: "96f046ad286df6cb46e9f9f6d3e45a69f90af108" }, i("eds-input-field", { key: 1, name: "search", "aria-label": "Search", type: "text", placeholder: "Search...", onInput: (o) => this.handleSearch(o) })), i("div", { key: "bbf27504732266f3e3ae299fcf742a653a23fdef", class: "mt-20" }, i("table", { key: "a1c76a7b0d4c4a1382c34cf58a49896567610403", class: "block overflow-x-auto mt-6 p-0" }, i("thead", { key: "ea7e4b5d1c48c63094a96ba5c8fb38bf8e805024" }, i("tr", { key: "6e49bc93f9678f5f6449269728ca893a88ceb51a", class: "m-0 p-0 border border-softer even:bg-inverse-softer" }, this.columns.map((o) => {
11877
- var a;
11878
- return o === "actions" ? i("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words", style: { minWidth: `${t - 4}px` } }) : !((a = this.parsedConfig[o]) === null || a === void 0) && a.hidden ? null : i("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words", style: { minWidth: `${t - 4}px` } }, this.capitalize(o));
11879
- }))), i("tbody", { key: "7f09b3133241c4a19ad75c27134c04192e9dc357" }, r.map((o) => i("tr", { class: "m-0 p-0 border border-softer even:bg-inverse-softer" }, this.columns.map((a) => {
11880
- var s;
11881
- return a === "actions" ? i("td", { class: "text-center border border-softer m-0 f-ui-02 break-words actions-cell", style: { minWidth: `${t - 4}px` } }, i("div", { style: { display: "flex", gap: "0.5rem", justifyContent: "center", flexWrap: "wrap" } }, this.parsedActions.map((c) => i("span", { style: { whiteSpace: "nowrap" } }, this.renderSingleActionCell(c.name, o))))) : !((s = this.parsedConfig[a]) === null || s === void 0) && s.hidden ? null : i("td", { class: "text-center border border-softer m-0 py-8 f-ui-2 break-words", style: { minWidth: `${t - 4}px` } }, this.renderCell(o[a], a));
11882
- })))))), this.shouldEnablePagination() && i("div", { key: "ceb320ba2e1cb14e4220c653c92bb2a9e8bf3593", class: "mt-20" }, i("eds-pagination", { key: "19c22566443e476742fd7f5e232c9240ecb34bec", currentPage: this.currentPage, lastPage: l, perPage: this.rowsPerPage, total: this.totalRows, mode: "default" })));
14039
+ return i("div", { key: "87e7cc3c87618ede91bb51d7a07cd597a438d6c5" }, this.searchEnabled && i("div", { key: "6b77700a913e272eef4c932d40c5c5d001ff6b5c" }, i("eds-input-field", { key: 1, name: "search", "aria-label": "Search", type: "text", placeholder: "Search...", onInput: (a) => this.handleSearch(a) })), i("div", { key: "6f2ffc7a3ba2cc8e8194670a7ecb9e237f7dc60a", class: "mt-20" }, i("table", { key: "0227d3029f30ab9928cd01ba8dc2eccde2073f47", class: "block overflow-x-auto mt-6 p-0" }, i("thead", { key: "c1f844d8413b596d5ca07d6b79ebd36c8a17f51f" }, i("tr", { key: "caadaaf66314e3ea7d47a748b6e899389a7e2d55", class: "m-0 p-0 border border-softer even:bg-inverse-softer" }, this.columns.map((a) => {
14040
+ var c;
14041
+ return a === "actions" ? i("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words", style: { minWidth: `${t - 4}px` } }) : !((c = this.parsedConfig[a]) === null || c === void 0) && c.hidden ? null : i("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words", style: { minWidth: `${t - 4}px` } }, this.capitalize(a));
14042
+ }))), i("tbody", { key: "da9286063f16a5c346ce8854361cb15573166a19" }, r.map((a) => i("tr", { class: "m-0 p-0 border border-softer even:bg-inverse-softer" }, this.columns.map((c) => {
14043
+ var d;
14044
+ return c === "actions" ? i("td", { class: "text-center border border-softer m-0 f-ui-02 break-words actions-cell", style: { minWidth: `${t - 4}px` } }, i("div", { role: "toolbar", "aria-label": "Row actions", onKeyDown: this.onActionKeyDown, style: {
14045
+ display: "flex",
14046
+ gap: "0.5rem",
14047
+ justifyContent: "center",
14048
+ flexWrap: "wrap"
14049
+ } }, this.parsedActions.map((b) => i("span", { style: { whiteSpace: "nowrap" } }, this.renderSingleActionCell(b.name, a))))) : !((d = this.parsedConfig[c]) === null || d === void 0) && d.hidden ? null : i("td", { class: "text-center border border-softer m-0 py-8 f-ui-2 break-words", style: { minWidth: `${t - 4}px` } }, this.renderCell(a[c], c));
14050
+ })))))), this.shouldEnablePagination() && i("div", { key: "b7e7991225cf9fb16ca882dc42c7adead202aac5", class: "mt-20" }, i("eds-pagination", { key: "011f209f89300357e6052ee4d118f353419d5a45", currentPage: this.currentPage, lastPage: l, perPage: this.rowsPerPage, total: this.totalRows, mode: "default" })));
11883
14051
  }
11884
14052
  get hostEl() {
11885
- return g(this);
14053
+ return y(this);
11886
14054
  }
11887
14055
  static get watchers() {
11888
14056
  return {
@@ -11892,17 +14060,17 @@ const Dn = "table{text-indent:0;border-color:inherit;border-collapse:collapse;}.
11892
14060
  };
11893
14061
  }
11894
14062
  };
11895
- Mn.style = qn;
11896
- const Nn = "*,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(147 197 253 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor;}::before,::after{--tw-content:''}a{color:inherit;text-decoration:inherit}.relative{position:relative}.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)}.whitespace-nowrap{white-space:nowrap}.effect-color{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:300ms;transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.focus-visible\\:text-default:focus-visible{color:var(--black)}.hover\\:text-default:hover{color:var(--black)}.border-2{border-width:2px}.after\\:content-\\[\\'\\'\\]::after{--tw-content:'';content:var(--tw-content)}.after\\:bottom-0::after{bottom:0rem}.after\\:border-0::after{border-width:0px}.after\\:border-b-2::after{border-bottom-width:2px}.after\\:absolute::after{position:absolute}.after\\:inset-0::after{inset:0rem}.after\\:rounded-lg::after{border-radius:16px}.after\\:border-solid::after{border-style:solid}.after\\:border-3::after{border-width:3px}.after\\:border-accent::after{border-color:var(--green-500)}.after\\:opacity-0::after{opacity:0}.outline-none{outline:2px solid transparent;outline-offset:2px}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:after\\:opacity-100:focus-visible::after{opacity:1}.rounded-t-lg{border-top-left-radius:16px;border-top-right-radius:16px}.rounded-tl-lg{border-top-left-radius:16px}.rounded-tr-lg{border-top-right-radius:16px}.border-l-0{border-left-width:0px}.border-r-0{border-right-width:0px}.pr-28{padding-right:1.75rem}.pl-28{padding-left:1.75rem}.-mr-16{margin-right:-1rem}.-ml-16{margin-left:-1rem}.px-16{padding-left:1rem;padding-right:1rem}.py-12{padding-top:0.75rem;padding-bottom:0.75rem}.after\\:left-16::after{left:1rem}.after\\:right-16::after{right:1rem}.text-lighter{color:var(--grey-600)}.bg-dark{background-color:var(--grey-300)}.hover\\:bg-darker:hover{background-color:var(--grey-400)}.border-soft{border-color:var(--grey-400)}.border-softest{border-color:rgba(0, 0, 0, .05)}.bg-default{background-color:var(--grey-200)}.text-default{color:var(--black)}.z-99{z-index:99}.before\\:bottom-0::before{bottom:0rem}.before\\:h-12::before{height:0.75rem}.before\\:opacity-5::before{opacity:0.05}.before\\:content-\\[\\'\\'\\]::before{--tw-content:'';content:var(--tw-content)}.before\\:absolute::before{position:absolute}.before\\:-bottom-2::before{bottom:-0.125rem}.after\\:inset-x-0::after{left:0rem;right:0rem}.before\\:inset-x-0::before{left:0rem;right:0rem}.before\\:h-3::before{height:0.1875rem}.before\\:bg-default::before{background-color:var(--grey-200)}.after\\:border-softest::after{border-color:rgba(0, 0, 0, .05)}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.before\\:bg-gradient-y::before{background:linear-gradient(to bottom, transparent, ease-in-out, black)}.scroller-x{-ms-overflow-style:none;scrollbar-width:none}.overflow-x-auto{overflow-x:auto}.max-w-xxxl{max-width:2200px}.z-1{z-index:1}.mx-auto{margin-left:auto;margin-right:auto}.pt-8{padding-top:0.5rem}.pr-16{padding-right:1rem}.pl-16{padding-left:1rem}.inline-flex{display:inline-flex}@media (min-width: 900px){.lg\\:px-28{padding-left:1.75rem;padding-right:1.75rem}}@media (min-width: 2200px){.xxxl\\:px-0{padding-left:0rem;padding-right:0rem}}", Bn = Nn, Rn = class {
14063
+ Ye.style = Ge;
14064
+ const Xe = "*,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(147 197 253 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor;}::before,::after{--tw-content:''}a{color:inherit;text-decoration:inherit}.relative{position:relative}.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)}.whitespace-nowrap{white-space:nowrap}.effect-focus{outline-width:3px;outline-offset:2px;outline-color:var(--green-500)}.effect-focus:focus-visible{outline-style:solid}.effect-focus-within{outline-width:3px;outline-offset:2px;outline-color:var(--green-500)}.focus-visible\\:text-default:focus-visible{color:var(--black)}.hover\\:text-default:hover{color:var(--black)}.border-2{border-width:2px}.after\\:content-\\[\\'\\'\\]::after{--tw-content:'';content:var(--tw-content)}.after\\:bottom-0::after{bottom:0rem}.after\\:border-0::after{border-width:0px}.after\\:border-b-2::after{border-bottom-width:2px}.after\\:absolute::after{position:absolute}.after\\:inset-0::after{inset:0rem}.after\\:rounded-lg::after{border-radius:16px}.after\\:border-solid::after{border-style:solid}.after\\:border-3::after{border-width:3px}.after\\:border-accent::after{border-color:var(--green-500)}.after\\:opacity-0::after{opacity:0}.outline-none{outline:2px solid transparent;outline-offset:2px}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:after\\:opacity-100:focus-visible::after{opacity:1}.rounded-t-lg{border-top-left-radius:16px;border-top-right-radius:16px}.rounded-tl-lg{border-top-left-radius:16px}.rounded-tr-lg{border-top-right-radius:16px}.border-l-0{border-left-width:0px}.border-r-0{border-right-width:0px}.border-b-0{border-bottom-width:0px}.pr-28{padding-right:1.75rem}.pl-28{padding-left:1.75rem}.-mr-16{margin-right:-1rem}.-ml-16{margin-left:-1rem}.px-16{padding-left:1rem;padding-right:1rem}.py-12{padding-top:0.75rem;padding-bottom:0.75rem}.after\\:left-16::after{left:1rem}.after\\:right-16::after{right:1rem}.text-lighter{color:var(--grey-600)}.bg-dark{background-color:var(--grey-300)}.hover\\:bg-darker:hover{background-color:var(--grey-400)}.border-soft{border-color:var(--grey-400)}.border-softest{border-color:rgba(0, 0, 0, .05)}.bg-default{background-color:var(--grey-200)}.text-default{color:var(--black)}.z-99{z-index:99}.after\\:z-10::after{z-index:10}.before\\:bottom-0::before{bottom:0rem}.before\\:h-12::before{height:0.75rem}.before\\:opacity-5::before{opacity:0.05}.before\\:content-\\[\\'\\'\\]::before{--tw-content:'';content:var(--tw-content)}.before\\:absolute::before{position:absolute}.before\\:-bottom-2::before{bottom:-0.125rem}.after\\:inset-x-0::after{left:0rem;right:0rem}.before\\:inset-x-0::before{left:0rem;right:0rem}.before\\:h-3::before{height:0.1875rem}.before\\:bg-default::before{background-color:var(--grey-200)}.after\\:border-soft::after{border-color:rgba(0, 0, 0, .15 )}.after\\:border-softest::after{border-color:rgba(0, 0, 0, .05)}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.before\\:bg-gradient-y::before{background:linear-gradient(to bottom, transparent, ease-in-out, black)}.scroller-x{-ms-overflow-style:none;scrollbar-width:none}.overflow-x-auto{overflow-x:auto}.max-w-xxxl{max-width:2200px}.z-1{z-index:1}.mx-auto{margin-left:auto;margin-right:auto}.pt-8{padding-top:0.5rem}.pr-16{padding-right:1rem}.pl-16{padding-left:1rem}.inline-flex{display:inline-flex}@media (min-width: 900px){.lg\\:px-28{padding-left:1.75rem;padding-right:1.75rem}}@media (min-width: 2200px){.xxxl\\:px-0{padding-left:0rem;padding-right:0rem}}", Ke = Xe, Ze = class {
11897
14065
  constructor(n) {
11898
- d(this, n), this.tab = h(this, "tab", 7), this.tabCva = m([
14066
+ p(this, n), this.tab = S(this, "tab", 7), this.tabRefs = [], this.setTabRef = (e, t) => {
14067
+ e && (this.tabRefs[t] = e);
14068
+ }, this.tabCva = N([
11899
14069
  "relative py-12",
11900
14070
  "f-ui-03 whitespace-nowrap",
11901
- "effect-color",
14071
+ "effect-color effect-focus",
11902
14072
  "focus-visible:text-default hover:text-default",
11903
- "border-2",
11904
- "after:content-[''] after:absolute after:inset-0 after:rounded-t-lg after:opacity-0",
11905
- "outline-none focus:outline-none focus-visible:outline-none focus-visible:after:opacity-100"
14073
+ "border-2"
11906
14074
  ], {
11907
14075
  variants: {
11908
14076
  position: {
@@ -11912,7 +14080,10 @@ const Nn = "*,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;-
11912
14080
  right: "pl-28 pr-16 rounded-tr-lg border-l-0 -ml-16 after:left-16"
11913
14081
  },
11914
14082
  active: {
11915
- false: "text-lighter bg-dark hover:bg-darker border-softest after:border-0",
14083
+ false: [
14084
+ "text-lighter bg-dark hover:bg-darker border-softest border-b-0 z-1",
14085
+ "after:content-[''] after:absolute after:bottom-0 after:inset-x-0 after:h-2 after:border-soft"
14086
+ ],
11916
14087
  true: [
11917
14088
  "bg-default text-default z-99",
11918
14089
  "rounded-t-lg",
@@ -11924,28 +14095,25 @@ const Nn = "*,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;-
11924
14095
  }), this.identifier = void 0, this.navAriaLabel = "Tabs", this.tabs = void 0, this.parsedTabs = [], this.activeIndex = -1;
11925
14096
  }
11926
14097
  componentWillLoad() {
11927
- this.parseTabs(), this.setActiveIndex(), this.tab.emit({ tabId: this.identifier, index: 0 });
14098
+ this.parseTabs(), this.setActiveIndex(), this.tab.emit({ tabId: this.identifier, index: this.activeIndex });
11928
14099
  }
11929
14100
  /**
11930
- * Parses the `links` prop into an array of link objects.
11931
- * Returns an empty array if parsing fails or if `links` is not a valid JSON string or object.
11932
- *
11933
- * @returns {any[]} Array of parsed link objects
11934
- */
11935
- /**
11936
- * Parses the `links` prop into an array of link objects.
11937
- * Returns an empty array if parsing fails or if `links` is not a valid JSON string or object.
14101
+ * Parses the `tabs` prop into an array of tab objects.
14102
+ * Returns an empty array if parsing fails or if `tabs` is not a valid JSON string or object.
11938
14103
  *
11939
- * @returns {any[]} Array of parsed link objects
14104
+ * @returns {any[]} Array of parsed tab objects
11940
14105
  */
11941
14106
  parseTabs() {
11942
- this.parsedTabs = b(this.tabs);
14107
+ this.parsedTabs = R(this.tabs), this.tabRefs = [];
11943
14108
  }
11944
14109
  componentDidLoad() {
11945
14110
  this.scrollToActiveTab();
11946
14111
  }
14112
+ componentDidUpdate() {
14113
+ this.tabRefs.length !== this.parsedTabs.length && (this.tabRefs = new Array(this.parsedTabs.length).fill(null));
14114
+ }
11947
14115
  setActiveIndex() {
11948
- this.activeIndex = this.parsedTabs.findIndex((n) => n.active);
14116
+ this.activeIndex = this.parsedTabs.findIndex((n) => n.active), this.activeIndex === -1 && this.parsedTabs.length > 0 && (this.activeIndex = 0, this.parsedTabs[0].active = !0);
11949
14117
  }
11950
14118
  scrollToActiveTab() {
11951
14119
  var n;
@@ -11958,30 +14126,51 @@ const Nn = "*,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;-
11958
14126
  }, 316);
11959
14127
  }
11960
14128
  getTabOptions(n, e) {
11961
- const t = n ? "center" : this.activeIndex === -1 && e === 0 ? "first" : e < this.activeIndex ? "left" : "right";
11962
- return Object.assign({ class: this.tabCva({
11963
- active: n,
11964
- position: t
11965
- }), style: {
11966
- zIndex: `${n ? this.parsedTabs.length + 99 : t === "left" ? e : this.parsedTabs.length + 1 - e}`
14129
+ const t = n ? "center" : this.activeIndex === -1 && e === 0 ? "first" : e < this.activeIndex ? "left" : "right", r = t === "left" ? e : this.parsedTabs.length + 1 - e, l = n ? this.parsedTabs.length + 99 : Math.max(r, 1);
14130
+ return Object.assign({ class: this.tabCva({ active: n, position: t }), style: {
14131
+ // stringify the number so it matches { [key: string]: string }
14132
+ zIndex: `${l}`
11967
14133
  } }, n ? { "data-tab-active": "true" } : {});
11968
14134
  }
11969
- handleTabClick(n, e) {
11970
- this.activeIndex = n, this.parsedTabs = this.parsedTabs.map((t, r) => Object.assign(Object.assign({}, t), { active: r === n })), this.tab.emit({ tabId: this.identifier, index: n, name: e }), f({
14135
+ handleTabClick(n, e, t = !0) {
14136
+ n < 0 || n >= this.parsedTabs.length || (this.activeIndex = n, this.parsedTabs = this.parsedTabs.map((r, l) => Object.assign(Object.assign({}, r), { active: l === n })), this.tab.emit({ tabId: this.identifier, index: n, name: e }), t && A({
11971
14137
  category: "ui-component",
11972
14138
  tag: this.el.tagName.toLowerCase(),
11973
14139
  name: (e == null ? void 0 : e.toLowerCase()) || "",
11974
14140
  action: "click"
11975
- });
14141
+ }), t && this.tabRefs[n] && setTimeout(() => {
14142
+ var r;
14143
+ (r = this.tabRefs[n]) === null || r === void 0 || r.focus();
14144
+ }, 0));
14145
+ }
14146
+ onKeyDown(n, e) {
14147
+ let t = e;
14148
+ switch (n.key) {
14149
+ case "ArrowRight":
14150
+ t = (e + 1) % this.parsedTabs.length, n.preventDefault();
14151
+ break;
14152
+ case "ArrowLeft":
14153
+ t = (e - 1 + this.parsedTabs.length) % this.parsedTabs.length, n.preventDefault();
14154
+ break;
14155
+ case "Home":
14156
+ t = 0, n.preventDefault();
14157
+ break;
14158
+ case "End":
14159
+ t = this.parsedTabs.length - 1, n.preventDefault();
14160
+ break;
14161
+ default:
14162
+ return;
14163
+ }
14164
+ t !== e && this.handleTabClick(t, this.parsedTabs[t].label, !0);
11976
14165
  }
11977
14166
  render() {
11978
- return i("div", { key: "dd41d2d7ccbe03e08d3c20a2e9a370e69dfd1459", id: `${this.identifier}` }, i("div", { key: "14c95711c8e7df2b7f6f0557ce233bc1a68ad31b", class: "scroller-x overflow-x-auto max-w-xxxl xxxl:px-0 relative z-[1] mx-auto px-16 pt-8 lg:px-28" }, i("nav", { key: "3ed1c5cc5d0aa1e7cb4bebe337885c7e5687aa68", ref: (n) => this.tabContainer = n, class: "inline-flex", "aria-label": this.navAriaLabel }, this.parsedTabs.map((n, e) => {
11979
- const t = n.active ? "span" : "a", r = this.getTabOptions(n.active, e);
11980
- return i(t, Object.assign({}, r, { "aria-label": n.label, "aria-current": e === this.activeIndex, onClick: () => this.handleTabClick(e, n.label) }), n.label || n.ariaLabel);
11981
- }))), i("div", { key: "63399c53b2e5d642676d7f884bdecec0f8c515de", class: "tab-panels" }, this.parsedTabs.map((n, e) => i("div", { hidden: e !== this.activeIndex }, i("slot", { name: `panel-${e}` })))));
14167
+ return i("div", { key: "e3bd802f08f460d5f3e89860669fefe2a8006e59", id: `${this.identifier}` }, i("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-['']" }, i("nav", { key: "32e93b3ee6831918fd863fb23f1a5af1ae979201", role: "tablist", ref: (n) => this.tabContainer = n, class: "inline-flex", "aria-label": this.navAriaLabel }, this.parsedTabs.map((n, e) => {
14168
+ const t = "button", r = this.getTabOptions(n.active, e), l = e === this.activeIndex;
14169
+ return i(t, Object.assign({}, r, { type: "button", role: "tab", "aria-selected": n.active ? "true" : "false", tabIndex: l ? 0 : -1, "aria-label": n.ariaLabel || n.label, "aria-controls": `panel-${e}`, id: `tab-${e}`, ref: (a) => this.setTabRef(a, e), onClick: () => this.handleTabClick(e, n.label, !0), onKeyDown: (a) => this.onKeyDown(a, e) }), n.label || n.ariaLabel);
14170
+ }))), i("div", { key: "ffe610574d342933121cbaca9bcb8fb483fde60b", class: "tab-panels" }, this.parsedTabs.map((n, e) => i("div", { role: "tabpanel", id: `panel-${e}`, "aria-labelledby": `tab-${e}`, hidden: e !== this.activeIndex, tabIndex: e === this.activeIndex ? 0 : -1, class: "effect-focus" }, i("slot", { name: `panel-${e}` })))));
11982
14171
  }
11983
14172
  get el() {
11984
- return g(this);
14173
+ return y(this);
11985
14174
  }
11986
14175
  static get watchers() {
11987
14176
  return {
@@ -11989,8 +14178,8 @@ const Nn = "*,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;-
11989
14178
  };
11990
14179
  }
11991
14180
  };
11992
- Rn.style = Bn;
11993
- const Vn = ".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{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-05{font-family:var(--f-ui-05-fontFamily);font-weight:var(--f-ui-05-fontWeight);font-size:var(--f-ui-05-fontSize);line-height:var(--f-ui-05-lineHeight);letter-spacing:var(--f-ui-05-letterSpacing)}.py-2{padding-top:0.125rem;padding-bottom:0.125rem}.py-3{padding-top:0.1875rem;padding-bottom:0.1875rem}.py-4{padding-top:0.25rem;padding-bottom:0.25rem}.px-4{padding-left:0.25rem;padding-right:0.25rem}.px-5{padding-left:0.3125rem;padding-right:0.3125rem}.px-6{padding-left:0.375rem;padding-right:0.375rem}.border-2{border-width:2px}.rounded-pill{border-radius:100px}.border-default{border:2px solid var(--black)}.text-inverse{color:var(--white)}.bg-accent{background-color:var(--green-500)}.bg-strongest{background-color:var(--black)}.text-\\[\\#0034CB\\]{--tw-text-opacity:1;color:rgb(0 52 203 / var(--tw-text-opacity))}.border-\\[\\#0034CB\\]{--tw-border-opacity:1;border:2px solid rgb(0 52 203 / var(--tw-border-opacity))}.text-light{color:var(--grey-700)}.bg-strongest-soft{background-color:rgba(0, 0, 0, .05)}.border-transparent{border-color:var(--transparent)}.border-inverse{border-color:var(--white)}.bg-inverse{background-color:var(--white)}.text-lighter{color:var(--grey-600)}", Un = Vn, Yn = m(
14181
+ Ze.style = Ke;
14182
+ const Je = ".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{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-05{font-family:var(--f-ui-05-fontFamily);font-weight:var(--f-ui-05-fontWeight);font-size:var(--f-ui-05-fontSize);line-height:var(--f-ui-05-lineHeight);letter-spacing:var(--f-ui-05-letterSpacing)}.py-2{padding-top:0.125rem;padding-bottom:0.125rem}.py-3{padding-top:0.1875rem;padding-bottom:0.1875rem}.py-4{padding-top:0.25rem;padding-bottom:0.25rem}.px-4{padding-left:0.25rem;padding-right:0.25rem}.px-5{padding-left:0.3125rem;padding-right:0.3125rem}.px-6{padding-left:0.375rem;padding-right:0.375rem}.border-2{border-width:2px}.rounded-pill{border-radius:100px}.border-default{border:2px solid var(--black)}.text-inverse{color:var(--white)}.bg-accent{background-color:var(--green-500)}.bg-strongest{background-color:var(--black)}.text-\\[\\#0034CB\\]{--tw-text-opacity:1;color:rgb(0 52 203 / var(--tw-text-opacity))}.border-\\[\\#0034CB\\]{--tw-border-opacity:1;border:2px solid rgb(0 52 203 / var(--tw-border-opacity))}.text-light{color:var(--grey-700)}.bg-strongest-soft{background-color:rgba(0, 0, 0, .05)}.border-transparent{border-color:var(--transparent)}.border-inverse{border-color:var(--white)}.bg-inverse{background-color:var(--white)}.text-lighter{color:var(--grey-600)}", Qe = Je, nt = N(
11994
14183
  ["border-2 rounded-pill"],
11995
14184
  // Base classes
11996
14185
  {
@@ -12018,19 +14207,19 @@ const Vn = ".f-ui-01{font-family:var(--f-ui-01-fontFamily);font-weight:var(--f-u
12018
14207
  size: "small"
12019
14208
  }
12020
14209
  }
12021
- ), Xn = class {
14210
+ ), et = class {
12022
14211
  constructor(n) {
12023
- d(this, n), this.label = void 0, this.intent = "default", this.size = "small";
14212
+ p(this, n), this.label = void 0, this.intent = "default", this.size = "small";
12024
14213
  }
12025
14214
  render() {
12026
- const n = Yn({ intent: this.intent, size: this.size });
12027
- return i("span", { key: "a0d8788511615d0099fd764501449476126d343f", class: n }, this.label);
14215
+ const n = nt({ intent: this.intent, size: this.size });
14216
+ return i("span", { key: "939fafa4bc525b747956931f49b27e6125ecbb34", class: n }, this.label);
12028
14217
  }
12029
14218
  };
12030
- Xn.style = Un;
12031
- const Gn = `.relative{position:relative}.right-4{right:0.25rem}.bottom-4{bottom:0.25rem}.w-auto{width:auto}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:0.25rem}.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)}.ml-8{margin-left:0.5rem}.p-12{padding:0.75rem}.rounded-lg{border-radius:16px}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),
14219
+ et.style = Qe;
14220
+ const tt = `.relative{position:relative}.right-4{right:0.25rem}.bottom-4{bottom:0.25rem}.w-auto{width:auto}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:0.25rem}.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)}.ml-8{margin-left:0.5rem}.p-12{padding:0.75rem}.rounded-lg{border-radius:16px}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),
12032
14221
  0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),
12033
- var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.bg-dark{background-color:var(--grey-300)}.bg-success{background-color:var(--green-200)}.bg-error{background-color:var(--red-200)}.bg-warning{background-color:var(--yellow-200)}.text-light{color:var(--grey-700)}.text-current{color:currentColor}.text-default{color:var(--black)}`, Jn = Gn, Qn = m(["relative bottom-4 w-auto p-12 rounded-lg shadow-md"], {
14222
+ var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.bg-dark{background-color:var(--grey-300)}.bg-success{background-color:var(--green-200)}.bg-error{background-color:var(--red-200)}.bg-warning{background-color:var(--yellow-200)}.text-light{color:var(--grey-700)}.text-current{color:currentColor}.text-default{color:var(--black)}`, it = tt, rt = N(["relative bottom-4 w-auto p-12 rounded-lg shadow-md"], {
12034
14223
  variants: {
12035
14224
  intent: {
12036
14225
  default: "bg-dark text-light",
@@ -12042,9 +14231,9 @@ const Gn = `.relative{position:relative}.right-4{right:0.25rem}.bottom-4{bottom:
12042
14231
  defaultVariants: {
12043
14232
  intent: "default"
12044
14233
  }
12045
- }), Kn = class {
14234
+ }), lt = class {
12046
14235
  constructor(n) {
12047
- d(this, n), this.toast = h(this, "toast", 7), this.dismissToast = () => {
14236
+ p(this, n), this.toast = S(this, "toast", 7), this.dismissToast = () => {
12048
14237
  this.toast.emit({ visible: !1, label: "dismissed" }), this.visible = !1;
12049
14238
  }, this.message = void 0, this.intent = "default", this.duration = void 0, this.visible = !0;
12050
14239
  }
@@ -12076,17 +14265,17 @@ const Gn = `.relative{position:relative}.right-4{right:0.25rem}.bottom-4{bottom:
12076
14265
  render() {
12077
14266
  if (!this.visible)
12078
14267
  return null;
12079
- const n = Qn({ intent: this.intent });
14268
+ const n = rt({ intent: this.intent });
12080
14269
  return i("div", { class: n, role: "alert", "aria-live": "assertive" }, i("div", { class: "flex items-center justify-between gap-4" }, i("span", { class: "f-ui-01" }, this.message), i("eds-button", { intent: "tertiary", icon: "close", "aria-label": "Close Toast", onClick: () => this.dismissToast(), "extra-class": "ml-8" })));
12081
14270
  }
12082
14271
  get el() {
12083
- return g(this);
14272
+ return y(this);
12084
14273
  }
12085
14274
  };
12086
- Kn.style = Jn;
12087
- const Zn = "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}", ne = Zn, ee = class {
14275
+ lt.style = it;
14276
+ const ot = "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}", at = ot, st = class {
12088
14277
  constructor(n) {
12089
- d(this, n), this.user = void 0;
14278
+ p(this, n), this.user = void 0;
12090
14279
  }
12091
14280
  /**
12092
14281
  * Helper getter to ensure we work with a User object.
@@ -12109,41 +14298,45 @@ const Zn = "hr,p{margin:0}.block{display:block}.flex{display:flex}.flex-col{flex
12109
14298
  }
12110
14299
  render() {
12111
14300
  const n = this.parsedUser;
12112
- return i("div", { key: "b30b0a30a94c6bd9046b234cd793da80c1b16de8", class: "block" }, i("div", { key: "9ecea595c3d900aeda7c75a6aa5ae84999d775e1", class: "flex items-center" }, i("eds-dropdown", { key: "6a4c4751aaeaa6426ee4c89305b5c419ee912ced", label: `Hi, ${n.preferred_username}`, intent: "tertiary", "aria-label": "User Menu", "dropdown-pos": "right", "dropdown-offset": "false", icon: "chevron-down", class: "text-default" }, i("div", { key: "8e695af42fd229ca71e5d8f6fe367ed5ecc4184b", class: "min-w-[280px] p-8" }, i("div", { key: "d28e78ace074d7513a002297558219afae079646", class: "flex gap-x-16" }, i("eds-avatar", { key: "e9895e380ece01d116c14dbf0424061b1a039261", "first-name": n.given_name, "last-name": n.family_name, initials: this.initials, color: "grey" }), i("div", { key: "1597248135606e3300546b3278114cd8cc36d4b5", class: "max-w-full" }, n.name && i("p", { key: "fa04e93e50f3cf6d1e3d49dafc02d0dd5233a9f4", class: "f-ui-01 text-default w-full text-ellipsis" }, n.name), n.preferred_username && i("p", { key: "1203bf8078cb1c2a4d31effbe96e7aefd9222eb2", class: "f-ui-03-light text-light mt-4" }, n.preferred_username), n.email && i("p", { key: "6fcd932e87eb6e086daf61d2d8d16e6f8f27f12a", class: "f-ui-03-light text-light mt-4" }, n.email))), i("eds-block-break", { key: "5811252802eecc3f5c001705c8e8fb94fb33e1bb" }), i("div", { key: "d28913e74e9924f51e9b1e92a0f42691c733c438", class: "text-default flex w-full flex-col gap-y-8" }, i("slot", { key: "bb003f9bff1042b2778a7a924dc87c7baf1a9fb7" }))))));
14301
+ return i("div", { key: "8a1f10cc85d8e2707042c85bc597b76fb2d25da4", class: "block" }, i("div", { key: "a744de3d113920b8ff0d01ce273672b2bff57c97", class: "flex items-center" }, i("eds-dropdown", { key: "e9230372d79936a785050ebb3e41f40e73282a57", label: `Hi, ${n.preferred_username}`, intent: "tertiary", "aria-label": "User Menu", "dropdown-pos": "right", "dropdown-offset": "false", icon: "chevron-down", class: "text-default" }, i("div", { key: "7d4bd0ee0985c840a18764cac784726ff1c987fb", class: "min-w-[280px] p-8" }, i("div", { key: "603d6807988dd79cd4e7827918ff8932d8463fc3", class: "flex gap-x-16" }, i("eds-avatar", { key: "65ba89139cb6e3b6cb90c2072eb68cc7dc1da49c", "first-name": n.given_name, "last-name": n.family_name, initials: this.initials, color: "grey" }), i("div", { key: "df35b758918ebccbdfe6630bd356e647522404e1", class: "max-w-full" }, n.name && i("p", { key: "7174f34445bb1a0b77a3c1b893421bd104832485", class: "f-ui-01 text-default w-full text-ellipsis" }, n.name), n.preferred_username && i("p", { key: "72d853f5014c03803dce7aa0a74d96847ed8c875", class: "f-ui-03-light text-light mt-4" }, n.preferred_username), n.email && i("p", { key: "e406e2f3ca8504220ee9586a1d176c15c7236502", class: "f-ui-03-light text-light mt-4" }, n.email))), i("div", { key: "8fd3b42ab4eb3d1d70a0b827e3a03af8503c55d1", class: "text-default flex w-full flex-col gap-y-8" }, i("slot", { key: "6a477155c256543b7793947d52feb3f5abb0df6e" }))))));
12113
14302
  }
12114
14303
  get hostEl() {
12115
- return g(this);
14304
+ return y(this);
12116
14305
  }
12117
14306
  };
12118
- ee.style = ne;
14307
+ st.style = at;
12119
14308
  export {
12120
- P as eds_avatar,
12121
- T as eds_block_break,
12122
- H as eds_button,
12123
- M as eds_dropdown,
12124
- R as eds_footer,
12125
- Q as eds_form,
12126
- nn as eds_fullscreen_menu,
12127
- rn as eds_header,
12128
- se as eds_icon_wrapper,
12129
- an as eds_img,
12130
- de as eds_input,
12131
- cn as eds_input_field,
12132
- fn as eds_input_footer,
12133
- mn as eds_input_label,
12134
- ce as eds_input_range,
12135
- ge as eds_input_search,
12136
- he as eds_input_select,
12137
- vn as eds_link,
12138
- zn as eds_logo,
12139
- En as eds_modal,
12140
- In as eds_pagination,
12141
- Pn as eds_social_networks,
12142
- Tn as eds_steps,
12143
- Hn as eds_steps_v2,
12144
- Mn as eds_table,
12145
- Rn as eds_tabs,
12146
- Xn as eds_tag,
12147
- Kn as eds_toast,
12148
- ee as eds_user
14309
+ En as eds_accordion,
14310
+ In as eds_alert,
14311
+ Tn as eds_avatar,
14312
+ Rn as eds_block_break,
14313
+ Nn as eds_breadcrumb,
14314
+ Wn as eds_button,
14315
+ Mn as eds_code_block,
14316
+ Gn as eds_dropdown,
14317
+ te as eds_form,
14318
+ le as eds_header,
14319
+ mt as eds_icon_wrapper,
14320
+ se as eds_img,
14321
+ ut as eds_input,
14322
+ ge as eds_input_field,
14323
+ be as eds_input_footer,
14324
+ xe as eds_input_label,
14325
+ xt as eds_input_range,
14326
+ pt as eds_input_search,
14327
+ yt as eds_input_select,
14328
+ we as eds_link,
14329
+ Ce as eds_logo,
14330
+ Fe as eds_matomo_notice,
14331
+ Le as eds_nps,
14332
+ $e as eds_pagination,
14333
+ Pe as eds_rating,
14334
+ He as eds_steps,
14335
+ Be as eds_steps_v2,
14336
+ Ue as eds_switch,
14337
+ Ye as eds_table,
14338
+ Ze as eds_tabs,
14339
+ et as eds_tag,
14340
+ lt as eds_toast,
14341
+ st as eds_user
12149
14342
  };