@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.
- package/bin-37cad2f0-BqMIoPCV.mjs +4 -0
- package/bin-37cad2f0-Bvf97PEl.js +1 -0
- package/clone-dab56639-CA90NNP5.mjs +4 -0
- package/clone-dab56639-DhCcTb4A.js +1 -0
- package/color-primary-palette_6.entry-BXemwFsT.js +1 -0
- package/{color-primary-palette_6.entry-CvT9Ya5U.mjs → color-primary-palette_6.entry-DT6y6FEy.mjs} +19 -19
- package/{components-section.entry-CWKDKHtQ.js → components-section.entry-DUk1tQHE.js} +2 -2
- package/{components-section.entry-DxoI4HY4.mjs → components-section.entry-yX3kMkgT.mjs} +2 -2
- package/{correct-use-of-colors.entry-DF18kIaK.js → correct-use-of-colors.entry-B8pPJm38.js} +1 -1
- package/{correct-use-of-colors.entry-C5sWpTko.mjs → correct-use-of-colors.entry-qD6fSpYF.mjs} +2 -2
- package/{docs-palettes.entry-BWpyXx-T.js → docs-palettes.entry-BMNsh6gh.js} +1 -1
- package/{docs-palettes.entry-lOvWFgf-.mjs → docs-palettes.entry-M87-ULxr.mjs} +2 -2
- package/{docs-tokens.entry-Bv54B_2f.js → docs-tokens.entry-CjGpfZ1N.js} +1 -1
- package/{docs-tokens.entry-C1506Ctj.mjs → docs-tokens.entry-DTMTLW6z.mjs} +2 -2
- package/draft-dd5dada2-AqzrhEzA.js +1 -0
- package/draft-dd5dada2-DEIzQoXJ.mjs +4 -0
- package/edit-3893a517-D_Sgle6i.js +1 -0
- package/edit-3893a517-rsZs4NLF.mjs +4 -0
- package/{eds-avatar_29.entry-BUOXv9To.mjs → eds-accordion_33.entry-CH6A78x3.mjs} +2752 -559
- package/{eds-avatar_29.entry-CjNZgyQq.js → eds-accordion_33.entry-_Zc7vKFf.js} +202 -13
- package/eds-app-root.entry-COSmczak.mjs +25 -0
- package/eds-app-root.entry-DIHavIUM.js +1 -0
- package/{eds-card-desc_2.entry-Dqgd6Zi8.js → eds-card-desc_2.entry-D5GUottX.js} +1 -1
- package/{eds-card-desc_2.entry-ZED1q0dr.mjs → eds-card-desc_2.entry-YL4OVWD3.mjs} +6 -6
- package/{eds-card-generic.entry-BGXNIjXC.mjs → eds-card-generic.entry-Chm2AUtp.mjs} +2 -2
- package/{eds-card-generic.entry-D7VnEfUv.js → eds-card-generic.entry-Diq4dtrs.js} +1 -1
- package/{eds-card-project.entry-Dl0CS7vm.mjs → eds-card-project.entry-CPqHqPOm.mjs} +6 -6
- package/{eds-card-project.entry-Cq2NyFI-.js → eds-card-project.entry-JFVjbS0l.js} +1 -1
- package/{eds-card-section.entry-DT-_pAUK.mjs → eds-card-section.entry-DpMTJ8Kn.mjs} +1 -1
- package/{eds-card-section.entry-DGruSi5l.js → eds-card-section.entry-JZFsrwn5.js} +1 -1
- package/eds-card-tags.entry-DnNdxAaA.mjs +13 -0
- package/eds-card-tags.entry-DylnM44o.js +1 -0
- package/{eds-card-tool.entry-z0fP74r5.js → eds-card-tool.entry-CdtWr6SE.js} +1 -1
- package/{eds-card-tool.entry-LuekCyVO.mjs → eds-card-tool.entry-DPWvJcI1.mjs} +5 -5
- package/{eds-cookies-preference.entry-7DUvxDvw.mjs → eds-cookies-preference.entry-CGit10s-.mjs} +2 -2
- package/{eds-cookies-preference.entry-DxYNSyjz.js → eds-cookies-preference.entry-RT9hWQNy.js} +1 -1
- package/{eds-feedback.entry-BYmUBprW.js → eds-feedback.entry-B7PDcHGI.js} +1 -1
- package/{eds-feedback.entry-C1M_2DF2.mjs → eds-feedback.entry-DVqpmSiS.mjs} +5 -5
- package/eds-footer.entry-BzcdvTWO.js +1 -0
- package/eds-footer.entry-D-ITdNTf.mjs +42 -0
- package/{eds-frame.entry-g6FsDvwR.mjs → eds-frame.entry-C2Ldr3c9.mjs} +2 -2
- package/{eds-frame.entry-Djc8vEPI.js → eds-frame.entry-tcZQdrbE.js} +1 -1
- package/eds-fullscreen-menu.entry-BGFJIgQP.mjs +59 -0
- package/eds-fullscreen-menu.entry-BPbeGaPc.js +1 -0
- package/{eds-gauge.entry-DnkcGo5U.mjs → eds-gauge.entry-Lu0hJx9p.mjs} +4 -4
- package/{eds-gauge.entry-Dg_w6UKG.js → eds-gauge.entry-pvfbXYgB.js} +1 -1
- package/eds-icon-arrow-diagonal.entry-B6IRXDMe.js +1 -0
- package/eds-icon-arrow-diagonal.entry-COlE8H7P.mjs +13 -0
- package/eds-icon-arrow-right.entry-BDHsQpfx.js +1 -0
- package/eds-icon-arrow-right.entry-Diznub_E.mjs +13 -0
- package/eds-icon-bin.entry-Bfl68q7b.mjs +13 -0
- package/eds-icon-bin.entry-ultyoyMK.js +1 -0
- package/eds-icon-bluesky.entry-Dzx9WU3j.mjs +13 -0
- package/{eds-icon-bluesky.entry-DtLvqCfL.js → eds-icon-bluesky.entry-QLpKGRxg.js} +1 -1
- package/eds-icon-bookmark.entry-CaBpzM1Z.js +1 -0
- package/eds-icon-bookmark.entry-CqikyWZl.mjs +13 -0
- package/eds-icon-chevron-down.entry-C-Z3ai4m.mjs +13 -0
- package/{eds-icon-chevron-down.entry-CfN_CVQg.js → eds-icon-chevron-down.entry-CzxQpRMw.js} +1 -1
- package/eds-icon-chevron-left.entry-BnE13pkI.mjs +13 -0
- package/eds-icon-chevron-left.entry-DcS5XbLe.js +1 -0
- package/eds-icon-chevron-right.entry-D4MlgSyJ.js +1 -0
- package/{eds-icon-chevron-right.entry-dm-TCY2y.mjs → eds-icon-chevron-right.entry-nJd-cRnH.mjs} +2 -2
- package/eds-icon-chevron-up.entry-DRT2Ubhe.mjs +13 -0
- package/eds-icon-chevron-up.entry-wQck5opp.js +1 -0
- package/eds-icon-clone.entry-BXVQstwR.mjs +13 -0
- package/eds-icon-clone.entry-DT1LJrsq.js +1 -0
- package/{eds-icon-close.entry-DI2JTTCg.js → eds-icon-close.entry-BadFYgtq.js} +1 -1
- package/eds-icon-close.entry-D2oFO-Qa.mjs +13 -0
- package/{eds-icon-copy.entry-BwDCx4LA.mjs → eds-icon-copy.entry-FRGQGwF-.mjs} +2 -2
- package/eds-icon-copy.entry-lr2PVIPY.js +1 -0
- package/eds-icon-draft.entry-B9bUr2sw.js +1 -0
- package/eds-icon-draft.entry-BwIwH62i.mjs +13 -0
- package/eds-icon-edit.entry-CvVY2UCN.mjs +13 -0
- package/eds-icon-edit.entry-sr_B_lUk.js +1 -0
- package/eds-icon-eu.entry-CWqu1Rr1.mjs +13 -0
- package/eds-icon-eu.entry-DDO74t4u.js +1 -0
- package/{eds-icon-external.entry-c4JKvZw1.js → eds-icon-external.entry-BqrklnFa.js} +1 -1
- package/eds-icon-external.entry-CcbC-mfi.mjs +13 -0
- package/eds-icon-facebook.entry-BtsECcJC.mjs +13 -0
- package/{eds-icon-facebook.entry-DGwJAZfT.js → eds-icon-facebook.entry-j4DS-WX4.js} +1 -1
- package/eds-icon-gitlab.entry-BNblqbEX.mjs +13 -0
- package/{eds-icon-gitlab.entry-Ctq954TL.js → eds-icon-gitlab.entry-sQHBONNM.js} +1 -1
- package/{eds-icon-linkedin.entry-B_zROU0d.js → eds-icon-linkedin.entry-Bs23nlsd.js} +1 -1
- package/eds-icon-linkedin.entry-CW-eurxB.mjs +13 -0
- package/{eds-icon-loader.entry-CEZn4VxW.js → eds-icon-loader.entry-CTnsFpV3.js} +1 -1
- package/eds-icon-loader.entry-J7Ane02R.mjs +13 -0
- package/{eds-icon-mastodon.entry-qCWJ_x5W.js → eds-icon-mastodon.entry-B-ep-Tof.js} +1 -1
- package/eds-icon-mastodon.entry-BI2ATALp.mjs +13 -0
- package/eds-icon-menu.entry-CyhJAZL1.mjs +13 -0
- package/eds-icon-menu.entry-U1p7j7fy.js +1 -0
- package/eds-icon-minus.entry-BdZZH0nX.js +1 -0
- package/eds-icon-minus.entry-CgX27qzW.mjs +13 -0
- package/eds-icon-more.entry-D9S9kaWH.js +1 -0
- package/eds-icon-more.entry-DIQAQUHB.mjs +13 -0
- package/eds-icon-paper.entry-5re06zkj.js +1 -0
- package/eds-icon-paper.entry-Bkx17qOK.mjs +13 -0
- package/eds-icon-plus.entry-BzkeCu8f.mjs +13 -0
- package/eds-icon-plus.entry-CCZPj6w9.js +1 -0
- package/{eds-icon-portal.entry-D68nVjL8.js → eds-icon-portal.entry--FIUk_KW.js} +1 -1
- package/eds-icon-portal.entry-B_e1recN.mjs +13 -0
- package/eds-icon-private.entry-BBt40biA.mjs +13 -0
- package/{eds-icon-private.entry-B-BOsFV3.js → eds-icon-private.entry-CaeaHY9B.js} +1 -1
- package/{eds-icon-public.entry-BEuGmGDm.js → eds-icon-public.entry-B1nkVESn.js} +1 -1
- package/eds-icon-public.entry-C4XFHe13.mjs +13 -0
- package/{eds-icon-search.entry-CyujB3B2.js → eds-icon-search.entry-C8nsE_QJ.js} +1 -1
- package/eds-icon-search.entry-jhUWh3yI.mjs +13 -0
- package/{eds-icon-star.entry-kHi0LUqR.mjs → eds-icon-star.entry-BZwxie0S.mjs} +2 -2
- package/eds-icon-star.entry-i4E24D7i.js +1 -0
- package/eds-icon-start.entry-DDR6VjFj.mjs +13 -0
- package/eds-icon-start.entry-XPXm0_E-.js +1 -0
- package/eds-icon-success.entry-DDNbMpuL.js +1 -0
- package/{eds-icon-success.entry-Crhf7xIP.mjs → eds-icon-success.entry-iYFlRYkD.mjs} +2 -2
- package/eds-icon-thumbs-down.entry-B1pz46Mt.mjs +13 -0
- package/{eds-icon-thumbs-down.entry-kYL2vKmH.js → eds-icon-thumbs-down.entry-CXPSaKje.js} +1 -1
- package/{eds-icon-thumbs-up.entry-z9R1lFQb.js → eds-icon-thumbs-up.entry-DKAME_Ra.js} +1 -1
- package/eds-icon-thumbs-up.entry-DiGUetz-.mjs +13 -0
- package/eds-icon-tutorial.entry-BJ2VttuA.mjs +13 -0
- package/eds-icon-tutorial.entry-CjbYvKJv.js +1 -0
- package/eds-icon-twitter.entry-CRXixMx5.mjs +13 -0
- package/{eds-icon-twitter.entry-bMXEypFu.js → eds-icon-twitter.entry-D_pH9RWV.js} +1 -1
- package/eds-icon-unknown.entry-B3C3gOfb.mjs +13 -0
- package/eds-icon-unknown.entry-Bh31uRll.js +1 -0
- package/eds-icon-updown.entry-B4iGaDou.js +1 -0
- package/eds-icon-updown.entry-DTJ9wPMo.mjs +13 -0
- package/{eds-icon-user.entry-CJFYXCKO.js → eds-icon-user.entry-C-Vuh8-f.js} +1 -1
- package/eds-icon-user.entry-CGqSkZpC.mjs +13 -0
- package/eds-icon-view.entry-CjMq3fA0.mjs +13 -0
- package/eds-icon-view.entry-z8bJhMBL.js +1 -0
- package/{eds-icon-youtube.entry-pSBbdBV8.mjs → eds-icon-youtube.entry-DSxMazqf.mjs} +2 -2
- package/{eds-icon-youtube.entry-DnJcjmle.js → eds-icon-youtube.entry-DhBiT8kG.js} +1 -1
- package/eds-modal.entry-B0n5tknG.mjs +114 -0
- package/eds-modal.entry-D_Lwb__Q.js +1 -0
- package/{eds-pie.entry-D_jCamhX.mjs → eds-pie.entry-BuVtNs7I.mjs} +1 -1
- package/{eds-pie.entry-Cu2uq_3h.js → eds-pie.entry-klP-etSw.js} +1 -1
- package/{eds-progress-bar.entry-C4pfvwx1.mjs → eds-progress-bar.entry-D2JI1D-e.mjs} +4 -4
- package/{eds-progress-bar.entry-CC1dOWe1.js → eds-progress-bar.entry-Ro89l7BR.js} +1 -1
- package/{eds-section-core_2.entry-MI92_AWE.js → eds-section-core_2.entry-Bc9axwtz.js} +1 -1
- package/{eds-section-core_2.entry-JzPcyWhJ.mjs → eds-section-core_2.entry-Cz99NRlc.mjs} +7 -7
- package/eds-social-networks.entry-CaNhyMcu.js +1 -0
- package/eds-social-networks.entry-DD-vQy71.mjs +50 -0
- package/eds-spinner.entry-BB5fBr88.mjs +68 -0
- package/eds-spinner.entry-zSti41IG.js +1 -0
- package/{eds-splash-screen.entry-DlAoDuzU.mjs → eds-splash-screen.entry-BUnIKxtD.mjs} +5 -5
- package/{eds-splash-screen.entry-V4n8Dvfm.js → eds-splash-screen.entry-Dw0Ji6bZ.js} +1 -1
- package/{eds-timeline.entry-DBu98TrB.mjs → eds-timeline.entry-BMaUPN_o.mjs} +5 -5
- package/{eds-timeline.entry-Cxyvzy8x.js → eds-timeline.entry-DHGMZu2-.js} +1 -1
- package/{eds-toast-manager.entry-C5zTIL5J.js → eds-toast-manager.entry-Bv30X8tV.js} +1 -1
- package/{eds-toast-manager.entry-pv7Pcl6B.mjs → eds-toast-manager.entry-XryfFnO2.mjs} +2 -2
- package/eds-tooltip.entry-BFyPuNDr.js +5 -0
- package/eds-tooltip.entry-rMFVtJBN.mjs +31 -0
- package/eds-trl.entry-BKzMfF-8.js +1 -0
- package/eds-trl.entry-NW2Zpg0k.mjs +34 -0
- package/generated/components.d.ts +1 -0
- package/{incorrect-use-of-colors.entry-CX3u3L-Z.mjs → incorrect-use-of-colors.entry-CCB_JH3R.mjs} +4 -4
- package/{incorrect-use-of-colors.entry-BbWaxWJ2.js → incorrect-use-of-colors.entry-Dq7AmLvI.js} +1 -1
- package/index-DM535IHr.js +21 -0
- package/{index-DpUTWZFA.mjs → index-UwPjPR0d.mjs} +398 -371
- package/index.js +1 -1
- package/index.mjs +12 -11
- package/{logo-space.entry-dS1l_4Wh.js → logo-space.entry-B1Swm7_s.js} +2 -2
- package/{logo-space.entry-Cow8tI7Y.mjs → logo-space.entry-sagbhmap.mjs} +7 -7
- package/{logo-variations-horizontal_2.entry-DBafIDHo.mjs → logo-variations-horizontal_2.entry-Bo9dz9bE.mjs} +9 -9
- package/{logo-variations-horizontal_2.entry-Bzol9fjc.js → logo-variations-horizontal_2.entry-DEm05l2M.js} +3 -3
- package/logo-variations-tabs.entry-Dr6pNuIm.js +1 -0
- package/{logo-variations-tabs.entry-D4uKKqh0.mjs → logo-variations-tabs.entry-v9gzHb2S.mjs} +5 -5
- package/{logo-wrong-usage.entry-BkwO7Dgm.js → logo-wrong-usage.entry-Cb2OzANv.js} +1 -1
- package/{logo-wrong-usage.entry-C0ylWAnU.mjs → logo-wrong-usage.entry-DiAAZlws.mjs} +7 -7
- package/package.json +1 -1
- package/start-65126a4f-D1LeCi_N.js +1 -0
- package/start-65126a4f-mQSjIlRh.mjs +4 -0
- package/{svg-repository.entry-TP5g_TK_.js → svg-repository.entry-Bl6IMNNr.js} +12 -12
- package/{svg-repository.entry-DHYfAu5N.mjs → svg-repository.entry-DENznUDI.mjs} +51 -39
- package/{token-list_3.entry-BrA3OWSV.mjs → token-list_3.entry-BBS0BioQ.mjs} +12 -12
- package/{token-list_3.entry-VmEoB2Ng.js → token-list_3.entry-HXbPQp0w.js} +1 -1
- package/{token-ratios.entry-vmg0sh70.mjs → token-ratios.entry-BomK7oM-.mjs} +2 -2
- package/token-ratios.entry-Cz3StGLv.js +1 -0
- package/token-spacing.entry-4mnRkK32.mjs +12 -0
- package/token-spacing.entry-BgDT6uk3.js +1 -0
- package/{token-typography.entry-B0aoPZEB.mjs → token-typography.entry-DDfSupWC.mjs} +6 -6
- package/{token-typography.entry-DU8aU6Rt.js → token-typography.entry-DTzyoov1.js} +2 -2
- package/view-e900f2d4-DsFtaZYM.mjs +4 -0
- package/view-e900f2d4-RAKf504j.js +1 -0
- package/color-primary-palette_6.entry-BXRbIYQI.js +0 -1
- package/eds-accordion.entry-Df1wwL9c.js +0 -4
- package/eds-accordion.entry-RqLUu_aX.mjs +0 -48
- package/eds-alert.entry-CbLdoVL6.mjs +0 -251
- package/eds-alert.entry-Du5kP3mG.js +0 -165
- package/eds-app-root.entry-6U1IUxaV.js +0 -1
- package/eds-app-root.entry-C1L4rDyg.mjs +0 -25
- package/eds-breadcrumb.entry-CLUX3Y0B.mjs +0 -104
- package/eds-breadcrumb.entry-Dml0f2Up.js +0 -1
- package/eds-card-tags.entry-C7NrBbP8.mjs +0 -13
- package/eds-card-tags.entry-ClsT3xfY.js +0 -1
- package/eds-code-block.entry-BR4uNheU.js +0 -9
- package/eds-code-block.entry-BiL7xPb5.mjs +0 -1623
- package/eds-icon-arrow-diagonal.entry-BThKfy6M.js +0 -1
- package/eds-icon-arrow-diagonal.entry-DfER6mGO.mjs +0 -13
- package/eds-icon-arrow-right.entry-BQoCCX7s.js +0 -1
- package/eds-icon-arrow-right.entry-CvUL2IEH.mjs +0 -13
- package/eds-icon-bluesky.entry-pOakWVwm.mjs +0 -13
- package/eds-icon-bookmark.entry-CAbcBSOw.mjs +0 -13
- package/eds-icon-bookmark.entry-DxEJgwKd.js +0 -1
- package/eds-icon-chevron-down.entry-Cn8FNSj1.mjs +0 -13
- package/eds-icon-chevron-left.entry-KccXzPrS.mjs +0 -13
- package/eds-icon-chevron-left.entry-pFEqXjQr.js +0 -1
- package/eds-icon-chevron-right.entry-Dq3Uar1F.js +0 -1
- package/eds-icon-chevron-up.entry-7njN-pDK.js +0 -1
- package/eds-icon-chevron-up.entry-DZeteF2a.mjs +0 -13
- package/eds-icon-close.entry-S2eX7MJN.mjs +0 -13
- package/eds-icon-copy.entry-CvgDlhN9.js +0 -1
- package/eds-icon-eu.entry-DAkHQ7Xw.mjs +0 -13
- package/eds-icon-eu.entry-DS-Jji5x.js +0 -1
- package/eds-icon-external.entry-D2b2sLm2.mjs +0 -13
- package/eds-icon-facebook.entry-B46aASQF.mjs +0 -13
- package/eds-icon-gitlab.entry-BCxrsdS_.mjs +0 -13
- package/eds-icon-linkedin.entry-CkviXGQC.mjs +0 -13
- package/eds-icon-loader.entry-BItAXUxT.mjs +0 -13
- package/eds-icon-mastodon.entry-BzqTkzQ0.mjs +0 -13
- package/eds-icon-menu.entry-BUmP_hTD.js +0 -1
- package/eds-icon-menu.entry-C6A0c2hG.mjs +0 -13
- package/eds-icon-minus.entry-DMTMoQb0.mjs +0 -13
- package/eds-icon-minus.entry-DTHZwwvT.js +0 -1
- package/eds-icon-more.entry-CcJ9pB-o.js +0 -1
- package/eds-icon-more.entry-PDClpir4.mjs +0 -13
- package/eds-icon-paper.entry-B7ZesD_k.js +0 -1
- package/eds-icon-paper.entry-Bfr8U_5Z.mjs +0 -13
- package/eds-icon-plus.entry-B9dO_yv1.js +0 -1
- package/eds-icon-plus.entry-qBIxMO6w.mjs +0 -13
- package/eds-icon-portal.entry-BkZn2UlW.mjs +0 -13
- package/eds-icon-private.entry-CPudUW3y.mjs +0 -13
- package/eds-icon-public.entry-l-c12-ot.mjs +0 -13
- package/eds-icon-search.entry-xwA-HYjT.mjs +0 -13
- package/eds-icon-star.entry-CnkWJzkZ.js +0 -1
- package/eds-icon-success.entry-yuF-uDaQ.js +0 -1
- package/eds-icon-thumbs-down.entry-DBKBcj-i.mjs +0 -13
- package/eds-icon-thumbs-up.entry-0CMBOdab.mjs +0 -13
- package/eds-icon-tutorial.entry-Dez96InA.mjs +0 -13
- package/eds-icon-tutorial.entry-JKXn5Erp.js +0 -1
- package/eds-icon-twitter.entry-CMGpTPzq.mjs +0 -13
- package/eds-icon-unknown.entry-BXU4Bg9C.mjs +0 -13
- package/eds-icon-unknown.entry-DQ3C8FEA.js +0 -1
- package/eds-icon-updown.entry-B8IWgmtI.mjs +0 -13
- package/eds-icon-updown.entry-Cna08qxN.js +0 -1
- package/eds-icon-user.entry-B1bMKs8B.mjs +0 -13
- package/eds-matomo-notice.entry-DXgylTlk.js +0 -1
- package/eds-matomo-notice.entry-DvvvlaFb.mjs +0 -92
- package/eds-rating.entry-B1SkHc9j.mjs +0 -61
- package/eds-rating.entry-Cub8-CYo.js +0 -1
- package/eds-spinner.entry-BEiBPrum.js +0 -1
- package/eds-spinner.entry-DyS6vswP.mjs +0 -36
- package/eds-switch.entry-Bo0okWHX.mjs +0 -29
- package/eds-switch.entry-KL8zZeak.js +0 -1
- package/eds-tooltip.entry-DdyCiR00.js +0 -6
- package/eds-tooltip.entry-DffUxKpF.mjs +0 -31
- package/eds-trl.entry-B0NOKbaT.mjs +0 -34
- package/eds-trl.entry-a4az0XAJ.js +0 -1
- package/index-BK320cEL.js +0 -21
- package/logo-variations-tabs.entry-BLa1GqF6.js +0 -1
- package/token-ratios.entry-BjY2DyCo.js +0 -1
- package/token-spacing.entry-B9xNfUfE.js +0 -1
- package/token-spacing.entry-BOxK1TIH.mjs +0 -12
|
@@ -1,10 +1,303 @@
|
|
|
1
|
-
import { r as
|
|
2
|
-
import { s as
|
|
3
|
-
import { c as
|
|
4
|
-
import { p as
|
|
5
|
-
import { h as
|
|
6
|
-
import { h as
|
|
7
|
-
const
|
|
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
|
-
}`,
|
|
501
|
+
}`, _n = Ln, Tn = class {
|
|
209
502
|
constructor(n) {
|
|
210
|
-
|
|
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: "
|
|
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
|
-
|
|
258
|
-
const
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
267
|
-
const
|
|
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
|
-
}`,
|
|
1572
|
+
}`, jn = Hn, Wn = class {
|
|
1177
1573
|
constructor(n) {
|
|
1178
|
-
|
|
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, "&").replace(/</g, "<").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, """) + '"';
|
|
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(/&/, "&"));
|
|
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: //,
|
|
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
|
-
|
|
1279
|
-
|
|
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
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
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
|
-
|
|
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
|
|
3335
|
+
return y(this);
|
|
1315
3336
|
}
|
|
1316
3337
|
};
|
|
1317
|
-
|
|
1318
|
-
const
|
|
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
|
-
|
|
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 }),
|
|
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 =
|
|
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: "
|
|
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: "
|
|
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
|
|
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
|
-
|
|
1419
|
-
function
|
|
1420
|
-
const
|
|
1421
|
-
if (r && !e
|
|
1422
|
-
const
|
|
1423
|
-
|
|
1424
|
-
}
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
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 = [],
|
|
1440
|
-
var
|
|
1441
|
-
return (
|
|
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 (!
|
|
3445
|
+
if (!a)
|
|
1444
3446
|
return e && l.push(`${n} is required.`), l;
|
|
1445
|
-
const
|
|
1446
|
-
return e &&
|
|
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
|
|
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
|
|
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
|
|
1461
|
-
return n.forEach((
|
|
1462
|
-
|
|
1463
|
-
|
|
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 (
|
|
1467
|
-
if ((
|
|
1468
|
-
const
|
|
1469
|
-
|
|
1470
|
-
} else if (
|
|
1471
|
-
const
|
|
1472
|
-
|
|
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
|
|
1475
|
-
if (
|
|
1476
|
-
const
|
|
1477
|
-
|
|
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:
|
|
3508
|
+
}), { errors: l, hasError: a };
|
|
1481
3509
|
}
|
|
1482
|
-
function
|
|
1483
|
-
return n.type === "checkbox" || n.type === "radio" ? n.options ?
|
|
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
|
|
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
|
|
1495
|
-
|
|
3522
|
+
const a = n[l.name];
|
|
3523
|
+
a !== void 0 && (r[l.name] = a);
|
|
1496
3524
|
}), { updatedValues: r };
|
|
1497
3525
|
}
|
|
1498
|
-
const
|
|
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
|
-
|
|
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 =
|
|
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 } =
|
|
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 } =
|
|
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
|
|
1556
|
-
n.append(r.name,
|
|
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((
|
|
1560
|
-
n.append(l.name,
|
|
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
|
|
1579
|
-
t.checked ?
|
|
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),
|
|
1598
|
-
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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.
|
|
1645
|
-
return i("form", { key: "
|
|
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
|
|
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
|
-
|
|
1660
|
-
const
|
|
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
|
-
|
|
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
|
|
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: "
|
|
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
|
|
3764
|
+
return y(this);
|
|
1750
3765
|
}
|
|
1751
3766
|
};
|
|
1752
|
-
|
|
1753
|
-
const
|
|
3767
|
+
le.style = re;
|
|
3768
|
+
const mt = class {
|
|
1754
3769
|
constructor(n) {
|
|
1755
|
-
|
|
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
|
-
},
|
|
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
|
-
}`,
|
|
3876
|
+
}`, ae = oe, se = class {
|
|
1862
3877
|
constructor(n) {
|
|
1863
|
-
|
|
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: "
|
|
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: "
|
|
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
|
|
3901
|
+
return y(this);
|
|
1887
3902
|
}
|
|
1888
3903
|
};
|
|
1889
|
-
|
|
1890
|
-
const
|
|
3904
|
+
se.style = ae;
|
|
3905
|
+
const ut = class {
|
|
1891
3906
|
constructor(n) {
|
|
1892
|
-
|
|
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: "
|
|
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: "
|
|
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
|
|
3935
|
+
return y(this);
|
|
1921
3936
|
}
|
|
1922
3937
|
static get watchers() {
|
|
1923
3938
|
return {
|
|
1924
3939
|
value: ["onValueChanged"]
|
|
1925
3940
|
};
|
|
1926
3941
|
}
|
|
1927
|
-
},
|
|
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
|
-
`,
|
|
11712
|
+
`, ce = de, ge = class {
|
|
9688
11713
|
constructor(n) {
|
|
9689
|
-
|
|
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
|
|
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
|
|
9696
|
-
|
|
9697
|
-
} else this.type === "checkbox" ?
|
|
9698
|
-
this.edsinput.emit({ value:
|
|
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
|
|
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
|
|
9707
|
-
|
|
9708
|
-
} else this.type === "checkbox" ?
|
|
9709
|
-
this.edschange.emit({ value:
|
|
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: "
|
|
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
|
-
},
|
|
9739
|
-
return i("eds-input-range", Object.assign({}, l, { min: (e =
|
|
9740
|
-
})() : i("eds-input", Object.assign({}, n))), i("div", { key: "
|
|
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
|
|
11771
|
+
return y(this);
|
|
9744
11772
|
}
|
|
9745
11773
|
};
|
|
9746
|
-
|
|
9747
|
-
const
|
|
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
|
-
|
|
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: "
|
|
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
|
-
|
|
9756
|
-
const
|
|
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
|
-
|
|
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: "
|
|
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
|
-
|
|
9765
|
-
const
|
|
11792
|
+
xe.style = ue;
|
|
11793
|
+
const xt = class {
|
|
9766
11794
|
constructor(n) {
|
|
9767
|
-
|
|
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: "
|
|
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
|
|
11820
|
+
return y(this);
|
|
9793
11821
|
}
|
|
9794
11822
|
static get watchers() {
|
|
9795
11823
|
return {
|
|
9796
11824
|
value: ["onValueChange"]
|
|
9797
11825
|
};
|
|
9798
11826
|
}
|
|
9799
|
-
},
|
|
11827
|
+
}, pt = class {
|
|
9800
11828
|
constructor(n) {
|
|
9801
|
-
|
|
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
|
-
}),
|
|
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: "
|
|
9827
|
-
key: "
|
|
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
|
|
11870
|
+
return y(this);
|
|
9843
11871
|
}
|
|
9844
|
-
},
|
|
11872
|
+
}, yt = class {
|
|
9845
11873
|
constructor(n) {
|
|
9846
|
-
|
|
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 ||
|
|
9853
|
-
return i("div", { key: "
|
|
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: "
|
|
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
|
-
},
|
|
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
|
-
}`,
|
|
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
|
-
}),
|
|
13250
|
+
}), we = class {
|
|
11223
13251
|
constructor(n) {
|
|
11224
|
-
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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 =
|
|
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
|
-
}),
|
|
11266
|
-
return i(
|
|
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
|
|
13300
|
+
return y(this);
|
|
11270
13301
|
}
|
|
11271
13302
|
};
|
|
11272
|
-
|
|
11273
|
-
const
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
11300
|
-
black:
|
|
11301
|
-
"color-white":
|
|
11302
|
-
white:
|
|
11303
|
-
"no-bg":
|
|
13330
|
+
color: tn,
|
|
13331
|
+
black: bn,
|
|
13332
|
+
"color-white": mn,
|
|
13333
|
+
white: un,
|
|
13334
|
+
"no-bg": xn
|
|
11304
13335
|
},
|
|
11305
13336
|
vertical: {
|
|
11306
|
-
color:
|
|
11307
|
-
black:
|
|
11308
|
-
"color-white":
|
|
11309
|
-
white:
|
|
11310
|
-
"no-bg":
|
|
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
|
|
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: "
|
|
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
|
|
13354
|
+
return y(this);
|
|
11324
13355
|
}
|
|
11325
13356
|
};
|
|
11326
|
-
|
|
11327
|
-
const
|
|
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
|
-
|
|
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
|
-
*
|
|
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
|
-
|
|
11341
|
-
|
|
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
|
-
*
|
|
13369
|
+
* Checks if the consent cookie exists.
|
|
11375
13370
|
*/
|
|
11376
|
-
|
|
11377
|
-
|
|
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
|
-
*
|
|
13375
|
+
* Checks if the user has opted out after has opted in.
|
|
11388
13376
|
*/
|
|
11389
|
-
|
|
11390
|
-
|
|
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
|
-
*
|
|
13381
|
+
* Generate a unique storage key based on appId or the app's domain.
|
|
11401
13382
|
*/
|
|
11402
|
-
|
|
11403
|
-
|
|
13383
|
+
getStorageKey() {
|
|
13384
|
+
return `${window.location.host}-matomo-deferred`;
|
|
11404
13385
|
}
|
|
11405
13386
|
/**
|
|
11406
|
-
*
|
|
13387
|
+
* Check cookies and sessionStorage (unless forceShow is true) to decide if the notice should be shown.
|
|
11407
13388
|
*/
|
|
11408
|
-
|
|
11409
|
-
this.
|
|
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
|
-
|
|
11413
|
-
|
|
11414
|
-
|
|
11415
|
-
this.close();
|
|
13403
|
+
componentDidLoad() {
|
|
13404
|
+
this.el.shadowRoot.querySelectorAll("eds-button").forEach((e) => {
|
|
13405
|
+
this.emitContext(e);
|
|
13406
|
+
});
|
|
11416
13407
|
}
|
|
11417
|
-
|
|
11418
|
-
|
|
11419
|
-
|
|
11420
|
-
|
|
11421
|
-
|
|
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
|
-
|
|
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
|
|
13441
|
+
return y(this);
|
|
11433
13442
|
}
|
|
11434
13443
|
};
|
|
11435
|
-
|
|
11436
|
-
const
|
|
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
|
-
|
|
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
|
|
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: `
|
|
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
|
-
|
|
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: "
|
|
11545
|
-
this.mode === "default" &&
|
|
11546
|
-
} })), this.mode === "default" && this.links.map((
|
|
11547
|
-
this.mode === "default" &&
|
|
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
|
|
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
|
-
|
|
11561
|
-
const
|
|
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
|
-
|
|
11564
|
-
|
|
11565
|
-
|
|
11566
|
-
|
|
11567
|
-
|
|
11568
|
-
|
|
11569
|
-
|
|
11570
|
-
|
|
11571
|
-
|
|
11572
|
-
|
|
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
|
-
*
|
|
11598
|
-
*
|
|
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
|
-
* @
|
|
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: "
|
|
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
|
-
|
|
11607
|
-
const
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
11675
|
-
const
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
11742
|
-
const
|
|
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
|
-
|
|
13902
|
+
p(this, n), this.rowaction = S(this, "rowaction", 7), this.handleResize = () => {
|
|
11745
13903
|
this.updateContainerWidth();
|
|
11746
|
-
}, this.
|
|
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.
|
|
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 =
|
|
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,
|
|
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((
|
|
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
|
|
11841
|
-
return i("eds-input-field", { name: `chc-${n}`, label: r.label, type: "checkbox", 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-
|
|
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
|
-
|
|
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: "
|
|
11877
|
-
var
|
|
11878
|
-
return
|
|
11879
|
-
}))), i("tbody", { key: "
|
|
11880
|
-
var
|
|
11881
|
-
return
|
|
11882
|
-
|
|
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
|
|
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
|
-
|
|
11896
|
-
const
|
|
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
|
-
|
|
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:
|
|
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:
|
|
14098
|
+
this.parseTabs(), this.setActiveIndex(), this.tab.emit({ tabId: this.identifier, index: this.activeIndex });
|
|
11928
14099
|
}
|
|
11929
14100
|
/**
|
|
11930
|
-
* Parses the `
|
|
11931
|
-
* Returns an empty array if parsing fails or if `
|
|
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
|
|
14104
|
+
* @returns {any[]} Array of parsed tab objects
|
|
11940
14105
|
*/
|
|
11941
14106
|
parseTabs() {
|
|
11942
|
-
this.parsedTabs =
|
|
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
|
-
|
|
11964
|
-
|
|
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((
|
|
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: "
|
|
11979
|
-
const t =
|
|
11980
|
-
return i(t, Object.assign({}, r, { "aria-label": n.label, "aria-
|
|
11981
|
-
}))), i("div", { key: "
|
|
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
|
|
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
|
-
|
|
11993
|
-
const
|
|
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
|
-
),
|
|
14210
|
+
), et = class {
|
|
12022
14211
|
constructor(n) {
|
|
12023
|
-
|
|
14212
|
+
p(this, n), this.label = void 0, this.intent = "default", this.size = "small";
|
|
12024
14213
|
}
|
|
12025
14214
|
render() {
|
|
12026
|
-
const n =
|
|
12027
|
-
return i("span", { key: "
|
|
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
|
-
|
|
12031
|
-
const
|
|
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)}`,
|
|
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
|
-
}),
|
|
14234
|
+
}), lt = class {
|
|
12046
14235
|
constructor(n) {
|
|
12047
|
-
|
|
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 =
|
|
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
|
|
14272
|
+
return y(this);
|
|
12084
14273
|
}
|
|
12085
14274
|
};
|
|
12086
|
-
|
|
12087
|
-
const
|
|
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
|
-
|
|
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: "
|
|
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
|
|
14304
|
+
return y(this);
|
|
12116
14305
|
}
|
|
12117
14306
|
};
|
|
12118
|
-
|
|
14307
|
+
st.style = at;
|
|
12119
14308
|
export {
|
|
12120
|
-
|
|
12121
|
-
|
|
12122
|
-
|
|
12123
|
-
|
|
12124
|
-
|
|
12125
|
-
|
|
12126
|
-
|
|
12127
|
-
|
|
12128
|
-
|
|
12129
|
-
|
|
12130
|
-
|
|
12131
|
-
|
|
12132
|
-
|
|
12133
|
-
|
|
12134
|
-
|
|
12135
|
-
|
|
12136
|
-
|
|
12137
|
-
|
|
12138
|
-
|
|
12139
|
-
|
|
12140
|
-
|
|
12141
|
-
|
|
12142
|
-
|
|
12143
|
-
|
|
12144
|
-
|
|
12145
|
-
|
|
12146
|
-
|
|
12147
|
-
|
|
12148
|
-
|
|
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
|
};
|