ghost 6.61.0 → 6.62.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/components/ghost-storage-base-3.0.0.tgz +0 -0
- package/components/tryghost-adapter-base-cache-0.2.0.tgz +0 -0
- package/components/tryghost-adapter-base-jobs-0.0.0.tgz +0 -0
- package/components/tryghost-adapter-base-redirects-0.0.0.tgz +0 -0
- package/components/tryghost-adapter-base-route-settings-0.0.0.tgz +0 -0
- package/components/tryghost-adapter-base-scheduling-0.2.3.tgz +0 -0
- package/components/tryghost-adapter-base-sso-0.1.3.tgz +0 -0
- package/components/tryghost-admin-api-schema-0.0.0.tgz +0 -0
- package/components/tryghost-checkout-0.0.0.tgz +0 -0
- package/components/tryghost-custom-field-types-0.0.0.tgz +0 -0
- package/components/tryghost-i18n-0.0.0.tgz +0 -0
- package/components/tryghost-kg-card-factory-5.2.4.tgz +0 -0
- package/components/tryghost-kg-clean-basic-html-4.3.4.tgz +0 -0
- package/components/tryghost-kg-converters-1.2.5.tgz +0 -0
- package/components/tryghost-kg-default-cards-10.3.5.tgz +0 -0
- package/components/tryghost-kg-default-nodes-2.2.1.tgz +0 -0
- package/components/tryghost-kg-default-transforms-1.3.4.tgz +0 -0
- package/components/tryghost-kg-html-to-lexical-1.4.0.tgz +0 -0
- package/components/tryghost-kg-lexical-html-renderer-1.5.0.tgz +0 -0
- package/components/tryghost-kg-markdown-html-renderer-7.2.4.tgz +0 -0
- package/components/tryghost-kg-utils-1.1.4.tgz +0 -0
- package/components/tryghost-nql-string-0.0.0.tgz +0 -0
- package/components/tryghost-parse-email-address-0.0.0.tgz +0 -0
- package/content/settings/README.md +1 -1
- package/content/themes/casper/.gitignore +28 -0
- package/content/themes/casper/assets/built/casper.js +1 -1
- package/content/themes/casper/assets/built/screen.css +1 -1
- package/content/themes/casper/assets/css/screen.css +2 -1
- package/content/themes/casper/assets/js/lightbox.js +63 -46
- package/content/themes/casper/package.json +6 -6
- package/content/themes/casper/page.hbs +1 -0
- package/content/themes/casper/post.hbs +1 -0
- package/content/themes/source/.gitignore +28 -0
- package/content/themes/source/assets/built/screen.css +1 -1
- package/content/themes/source/assets/built/source.js +1 -1
- package/content/themes/source/assets/css/screen.css +2 -1
- package/content/themes/source/assets/js/lightbox.js +62 -45
- package/content/themes/source/assets/js/main.js +2 -2
- package/content/themes/source/package.json +4 -4
- package/content/themes/source/partials/feature-image.hbs +1 -0
- package/core/boot.js +54 -22
- package/core/built/admin/assets/Combination-B0l4MKVh.js +41 -0
- package/core/built/admin/assets/InterVariable-DiVDrmQJ.woff2 +0 -0
- package/core/built/admin/assets/InterVariable-Italic-FCBEiFp6.woff2 +0 -0
- package/core/built/admin/assets/{about-Bve7IJS2.js → about-Dyae_UT6.js} +1 -1
- package/core/built/admin/assets/account-migration-CESa0mnX.js +1 -0
- package/core/built/admin/assets/activitypub/{account-migration-C-aej4x_.js → account-migration-By69CgCp.js} +16 -16
- package/core/built/admin/assets/activitypub/activitypub.js +9 -9
- package/core/built/admin/assets/activitypub/{bluesky-sharing-BXkA5mqV.js → bluesky-sharing-BJcPMrDd.js} +36 -36
- package/core/built/admin/assets/activitypub/{content-formatters-CHcyMFk4.js → content-formatters-3rTHg3mp.js} +3 -3
- package/core/built/admin/assets/activitypub/{domain-B3ihkPde.js → domain-DUR4xSkV.js} +121 -121
- package/core/built/admin/assets/activitypub/{edit-profile-DsZM3rTX.js → edit-profile-BqtfzxCp.js} +40 -40
- package/core/built/admin/assets/activitypub/{explore-BodNrZgR.js → explore-BxuJd-J4.js} +26 -26
- package/core/built/admin/assets/activitypub/{feed-PwH1iJ84.js → feed-BM1TcksA.js} +48 -48
- package/core/built/admin/assets/activitypub/{field-D06-kmOJ.js → field-Dn7HHx2-.js} +2 -2
- package/core/built/admin/assets/activitypub/inbox-CCjkuow2.js +1284 -0
- package/core/built/admin/assets/activitypub/label-1AA_s9Fa.js +16 -0
- package/core/built/admin/assets/activitypub/layout-2-0bw6HN.js +1 -0
- package/core/built/admin/assets/activitypub/{moderation-D1Yapsod.js → moderation-CnmxEB8w.js} +91 -91
- package/core/built/admin/assets/activitypub/{note-C5zjqq5C.js → note-ZKc_Bnba.js} +23 -23
- package/core/built/admin/assets/activitypub/{notifications-B9p8eCHD.js → notifications-CB2tJZau.js} +48 -48
- package/core/built/admin/assets/activitypub/{onboarding-CNelD_uF.js → onboarding-BsJ9E5qf.js} +2 -2
- package/core/built/admin/assets/activitypub/{onboarding-mat5Hrl0.js → onboarding-CSUJJIlh.js} +2 -2
- package/core/built/admin/assets/activitypub/{preferences-BCqUdC3v.js → preferences-0-JZnUkI.js} +1519 -1519
- package/core/built/admin/assets/activitypub/{profile-BRCWoFem.js → profile-C35cFIhM.js} +183 -183
- package/core/built/admin/assets/activitypub/{routes-BSXT992i.js → routes-BD4vscyc.js} +740 -731
- package/core/built/admin/assets/activitypub/settings-BsMROdqh.js +315 -0
- package/core/built/admin/assets/activitypub/{site-DHoMupSB.js → site-O0RL9YCN.js} +2 -2
- package/core/built/admin/assets/activitypub/{step-1-B-YfsVeO.js → step-1-BMSx7c_X.js} +4 -4
- package/core/built/admin/assets/activitypub/{step-3-D6BFMXL_.js → step-3-CLlOZTyt.js} +3 -3
- package/core/built/admin/assets/activitypub/{tabs-GpNecvfB.js → tabs-Dxk-b9M-.js} +306 -306
- package/core/built/admin/assets/activitypub/{topic-filter-BPDeQQys.js → topic-filter-5yZH6tId.js} +2 -2
- package/core/built/admin/assets/activitypub/{use-activity-pub-queries-BoVOxXkV.js → use-activity-pub-queries-CV50qe03.js} +2 -2
- package/core/built/admin/assets/activitypub/{use-reply-chain-data-wVBX7swM.js → use-reply-chain-data-Cbvzgjzd.js} +30 -30
- package/core/built/admin/assets/activitypub/{users-CoX6FT_K.js → users-BjcoP_HC.js} +7 -5
- package/core/built/admin/assets/add-integration-modal-BlF6rs_f.js +1 -0
- package/core/built/admin/assets/add-newsletter-modal-CglVQqah.js +1 -0
- package/core/built/admin/assets/add-recommendation-modal-wz7BsuaG.js +1 -0
- package/core/built/admin/assets/analytics-C4HE1gBg.js +1 -0
- package/core/built/admin/assets/{announcement-bar-modal-DM3cYOpo.js → announcement-bar-modal-Ci4zz8jO.js} +1 -1
- package/core/built/admin/assets/{api-keys-BLm2NDBh.js → api-keys-Ck-Yteiv.js} +1 -1
- package/core/built/admin/assets/{audience-9mwU5TW6.js → audience-CtbA54Sn.js} +1 -1
- package/core/built/admin/assets/{automated-emails-te1D5kq-.js → automated-emails-D5VVMND9.js} +1 -1
- package/core/built/admin/assets/automations-CzKt5fb8.js +1 -0
- package/core/built/admin/assets/bluesky-sharing-BEtJ_gL_.js +1 -0
- package/core/built/admin/assets/{breadcrumb-DLiqCyFc.js → breadcrumb-zUrZrBtW.js} +1 -1
- package/core/built/admin/assets/{button-B2jcu6bk.js → button-eNMKQWXr.js} +1 -1
- package/core/built/admin/assets/{chart-helpers-Fo3bUL3K.js → chart-helpers-CfBKt0vT.js} +1 -1
- package/core/built/admin/assets/{checkbox-BfKktMph.js → checkbox-CgOn_tKW.js} +1 -1
- package/core/built/admin/assets/{chunk.524.60ca4692d91c6022042f.js → chunk.524.a697dee88db67fdf6021.js} +4 -4
- package/core/built/admin/assets/{chunk.582.525c7617c2d9e94c940a.js → chunk.582.5ed5d124cfca9c259b9c.js} +6 -6
- package/core/built/admin/assets/{chunk.896.435fe0637944d4a69810.js → chunk.598.7e056fabb47ce7dbd73f.js} +14 -14
- package/core/built/admin/assets/{code-editor-view-CYVu4EW6.js → code-editor-view-BYNoAoNV.js} +1 -1
- package/core/built/admin/assets/{code-editor-view-DCQJxsfU.js → code-editor-view-K2wI-I5f.js} +1 -1
- package/core/built/admin/assets/color-picker-Ddw80xX6.js +3 -0
- package/core/built/admin/assets/color-picker-field-D9nUhvA7.js +1 -0
- package/core/built/admin/assets/combobox-w9j8PPQT.js +1 -0
- package/core/built/admin/assets/command-BfpHORBv.js +1 -0
- package/core/built/admin/assets/comments-BLmCmyCs.js +1 -0
- package/core/built/admin/assets/confirmation-context-CBM8G0Vj.js +1 -0
- package/core/built/admin/assets/{content-api-modal-CyQEC3fr.js → content-api-modal-TXRz3U7S.js} +1 -1
- package/core/built/admin/assets/context-menu-_QMdd3kp.js +1 -0
- package/core/built/admin/assets/{copy-field-B3M1s78L.js → copy-field-6N01S07E.js} +1 -1
- package/core/built/admin/assets/create-ghost-browse-value-source-qIBymvvf.js +1 -0
- package/core/built/admin/assets/custom-field-type-option-BddFlJFa.js +1 -0
- package/core/built/admin/assets/custom-integration-modal-DmNquxUV.js +1 -0
- package/core/built/admin/assets/{date-range-select-DD2RKkgB.js → date-range-select-uvz_DtPh.js} +1 -1
- package/core/built/admin/assets/design-and-theme-modal-BSmo12Op.js +2 -0
- package/core/built/admin/assets/dirty-confirm-dialog-BZ1iytEd.js +1 -0
- package/core/built/admin/assets/{disabled-sources-indicator-Cvy47bE2.js → disabled-sources-indicator-DMRrxsiJ.js} +1 -1
- package/core/built/admin/assets/dist-Dcsslyo72.js +1 -0
- package/core/built/admin/assets/domain-BNYrt0aD.js +1 -0
- package/core/built/admin/assets/dropzone-D7nFdAe5.js +5 -0
- package/core/built/admin/assets/edit-profile-C5Asm4LA.js +1 -0
- package/core/built/admin/assets/editor-REokrzci.js +8 -0
- package/core/built/admin/assets/{embed-signup-form-modal-DeBMLxlL.js → embed-signup-form-modal-Ds6mPEi5.js} +1 -1
- package/core/built/admin/assets/en-B1jX3WMs.js +1 -0
- package/core/built/admin/assets/explore-UY10Egsp.js +1 -0
- package/core/built/admin/assets/feature-image-placeholder-D1iF_8bc.js +1 -0
- package/core/built/admin/assets/feed-81C8mJWR.js +1 -0
- package/core/built/admin/assets/{field-Cj8lmDOo.js → field-Dihp5p18.js} +1 -1
- package/core/built/admin/assets/filter-bar-Da1qxybu.js +1 -0
- package/core/built/admin/assets/filter-sources-BO9xUPj7.js +1 -0
- package/core/built/admin/assets/filters-CRUWecfY.js +1 -0
- package/core/built/admin/assets/filters-DirqNXjH.js +1 -0
- package/core/built/admin/assets/first-promoter-modal-CT6MxYZb.js +1 -0
- package/core/built/admin/assets/{ghost-c8807202a07c20030acb719ee0114815.css → ghost-8eabfc1ece81b03cf7b90780d31487e8.css} +1 -1
- package/core/built/admin/assets/{ghost-3894eedcc6968f658578c0abfe942aab.js → ghost-c2848508292937415f20f5a830eea59e.js} +31 -28
- package/core/built/admin/assets/{ghost-dark-fbf1e384aaef3ae315e540f0eb7373a7.css → ghost-dark-a7bebe2c561f55369dcf29f4c820f7ff.css} +1 -1
- package/core/built/admin/assets/gift-link-modal-CQVAye17.js +1 -0
- package/core/built/admin/assets/growth-BWIu-6xj.js +3 -0
- package/core/built/admin/assets/growth-DU29oxeA.js +1 -0
- package/core/built/admin/assets/history-modal-CFd1Hvx6.js +1 -0
- package/core/built/admin/assets/{html-field-C8qVGGC1.js → html-field-CJBCLTvv.js} +1 -1
- package/core/built/admin/assets/{images-h8VZEQ9k.js → images-scfkWZiK.js} +1 -1
- package/core/built/admin/assets/{inbox-BYd1M06Q.js → inbox-Mcp4DXZN.js} +14 -14
- package/core/built/admin/assets/index-6MkPdCtr.js +4 -0
- package/core/built/admin/assets/index-Bn7QhcZu.css +2 -0
- package/core/built/admin/assets/index.es-CNnuNH0d.js +1 -0
- package/core/built/admin/assets/{input-group-D8sCXRF5.js → input-group-CMhe2DvY.js} +1 -1
- package/core/built/admin/assets/invite-user-modal-DfheMXs0.js +1 -0
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +14 -14
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +3 -3
- package/core/built/admin/assets/koenig-lexical/style.css +1 -1
- package/core/built/admin/assets/{koenig-lexical-_-IsVI7E.js → koenig-lexical-DBSqAuiI.js} +3 -3
- package/core/built/admin/assets/koenig-loader-aFQNlJlD.js +2 -0
- package/core/built/admin/assets/{kpi-card-DZQk_0W8.js → kpi-card-DBRMfGOW.js} +1 -1
- package/core/built/admin/assets/{kpi-card-DW_2y3ug.js → kpi-card-DFafD1qq.js} +1 -1
- package/core/built/admin/assets/{kpi-helpers-PueTKuA6.js → kpi-helpers-Cv8i8hns.js} +1 -1
- package/core/built/admin/assets/{kpi-tabs-CojDs-Qz.js → kpi-tabs-BJItvLYm.js} +1 -1
- package/core/built/admin/assets/{label-DjbT91GM.js → label-BnSCvffu.js} +1 -1
- package/core/built/admin/assets/label-picker-KVoo91sh.js +1 -0
- package/core/built/admin/assets/layout-Bjv2Ll-5.js +1 -0
- package/core/built/admin/assets/member-custom-fields-DDQV6QeG.js +1 -0
- package/core/built/admin/assets/member-detail-CdJF6Agw.js +1 -0
- package/core/built/admin/assets/members-DjQbq9Z2.js +4 -0
- package/core/built/admin/assets/moderation-AgCIEso4.js +1 -0
- package/core/built/admin/assets/{multi-select-combobox-B6LiRzDO.js → multi-select-combobox-BcITkUVr.js} +1 -1
- package/core/built/admin/assets/navigation-modal-BkT7b1M2.js +1 -0
- package/core/built/admin/assets/newsletter-BMMAuvgq.js +1 -0
- package/core/built/admin/assets/newsletter-detail-modal-0SCJ7Zpm.js +1 -0
- package/core/built/admin/assets/{newsletter-emails-CFeLlt4z.js → newsletter-emails-DKzwafuh.js} +1 -1
- package/core/built/admin/assets/newsletters-BRBb_uQC.js +1 -0
- package/core/built/admin/assets/note-DyGHtS9a.js +1 -0
- package/core/built/admin/assets/notifications-ZgWniKna.js +1 -0
- package/core/built/admin/assets/nql-BLpCn7qX.js +21 -0
- package/core/built/admin/assets/offers-container-modal-B-E8TIWr.js +1 -0
- package/core/built/admin/assets/{onboarding-B4YhlZ0i.js → onboarding-CzIsre-d.js} +1 -1
- package/core/built/admin/assets/onboarding-qg8Akovm.js +1 -0
- package/core/built/admin/assets/{onboarding-route-Dmc4IPm3.js → onboarding-route-CaavZulg.js} +1 -1
- package/core/built/admin/assets/overview-BW8GLeYi.js +1 -0
- package/core/built/admin/assets/overview-BkXZNzaZ.js +1 -0
- package/core/built/admin/assets/{page-header-BR_nbIPp.js → page-header-De0VzKBi.js} +1 -1
- package/core/built/admin/assets/pagemenu-B5KKCpbA.js +1 -0
- package/core/built/admin/assets/pages-jgaFm69d.js +1 -0
- package/core/built/admin/assets/pages-route-CIUAQxtY.js +1 -0
- package/core/built/admin/assets/papaparse.min-cQwnxGCG.js +10 -0
- package/core/built/admin/assets/{pintura-modal-BR9hEvS8.js → pintura-modal-BZ2J9w3n.js} +1 -1
- package/core/built/admin/assets/portal-frame-B6Hr9wHc.js +1 -0
- package/core/built/admin/assets/portal-modal-D4ceei3t.js +1 -0
- package/core/built/admin/assets/post-analytics-header-BYCsT0GP.js +1 -0
- package/core/built/admin/assets/post-analytics-ot7f6pih.js +1 -0
- package/core/built/admin/assets/{post-analytics-provider-CLfKGWZy.js → post-analytics-provider-Bo1gmYaP.js} +1 -1
- package/core/built/admin/assets/{post-share-modal-Cl0NXRJr.js → post-share-modal-C-PaYZ_e.js} +1 -1
- package/core/built/admin/assets/posts-DuGazgTb.js +1 -0
- package/core/built/admin/assets/posts-list-screen-CBGGgjjj.js +2 -0
- package/core/built/admin/assets/posts-route-D6xmS7Vf.js +1 -0
- package/core/built/admin/assets/preferences-C5YJLp74.js +5 -0
- package/core/built/admin/assets/{preview-modal-C-BL-F9k.js → preview-modal-BfeFqi5y.js} +1 -1
- package/core/built/admin/assets/profile-B8mx2yAu.js +1 -0
- package/core/built/admin/assets/radio-group-DczlLKOn.js +1 -0
- package/core/built/admin/assets/{schemas-4UPic-oD.js → schemas-DppqmpeJ.js} +1 -1
- package/core/built/admin/assets/select-cb0t_TAJ.js +1 -0
- package/core/built/admin/assets/settings-DZqxR0Da.js +1 -0
- package/core/built/admin/assets/settings-DvfTNdHQ.js +4 -0
- package/core/built/admin/assets/{settings-breadcrumbs-CyP_9zTo.js → settings-breadcrumbs-DLzbRRSt.js} +1 -1
- package/core/built/admin/assets/share-modal-D2-Bz1_I.js +1 -0
- package/core/built/admin/assets/slack-modal-DYDTUria.js +1 -0
- package/core/built/admin/assets/{sort-button-Cc-Z96sA.js → sort-button-VVeQjjbu.js} +1 -1
- package/core/built/admin/assets/{source-icon-v6PUnmyM.js → source-icon-Ck5_5Kgq.js} +1 -1
- package/core/built/admin/assets/stats-Rjmk5owg.js +1 -0
- package/core/built/admin/assets/stats-view-BGGmkmgv.js +1 -0
- package/core/built/admin/assets/{step-1-DSRp2vBj.js → step-1-CsaBjeN4.js} +1 -1
- package/core/built/admin/assets/{step-2-COqv2g0u.js → step-2-D2vnxOOM.js} +1 -1
- package/core/built/admin/assets/{step-3-6W1NMVQc.js → step-3-wBoLdGEb.js} +2 -2
- package/core/built/admin/assets/{stripe-button-D2K42Uty.js → stripe-button-CDgLz0S0.js} +1 -1
- package/core/built/admin/assets/stripe-connect-modal-CSjMJetP.js +1 -0
- package/core/built/admin/assets/{table-B2pIKjVh.js → table-Do6iQ83Q.js} +1 -1
- package/core/built/admin/assets/{tabs-SaW_UT-Q.js → tabs-D2yWLMp_.js} +1 -1
- package/core/built/admin/assets/tag-detail-BhXlOsCa.js +2 -0
- package/core/built/admin/assets/tags-ldukRApe.js +1 -0
- package/core/built/admin/assets/testimonials-modal-CtnZBJKl.js +1 -0
- package/core/built/admin/assets/tier-detail-modal-BOs8e_G8.js +1 -0
- package/core/built/admin/assets/{toggle-group-EM9WpESu.js → toggle-group-ByUJsxwD.js} +1 -1
- package/core/built/admin/assets/{topic-filter-DY4gNHn2.js → topic-filter-BgC3g5_v.js} +1 -1
- package/core/built/admin/assets/{transistor-modal-CpyPG-MH.js → transistor-modal-Drr0SNfo.js} +1 -1
- package/core/built/admin/assets/{trend-badge-ByMkuAuH.js → trend-badge-6ye93YAW.js} +1 -1
- package/core/built/admin/assets/{unsplash-modal-Cv2Q6GtY.js → unsplash-modal-p6AoQoWp.js} +1 -1
- package/core/built/admin/assets/{use-analytics-data-CHvjMYuT.js → use-analytics-data-CWCMAESo.js} +1 -1
- package/core/built/admin/assets/use-check-theme-limit-error-B8bjF-gO.css +1 -0
- package/core/built/admin/assets/{use-check-theme-limit-error-Qv4SVXqw.js → use-check-theme-limit-error-Cw3WQHy8.js} +1 -1
- package/core/built/admin/assets/use-filter-params-BIni9taJ.js +1 -0
- package/core/built/admin/assets/use-growth-stats-DCVG3s9w.js +1 -0
- package/core/built/admin/assets/{use-limiter-cwJvsNBo.js → use-limiter-D2WRRx0H.js} +1 -1
- package/core/built/admin/assets/{use-pintura-config-CzTfnufz.js → use-pintura-config-h-J0Lvta.js} +1 -1
- package/core/built/admin/assets/{use-pintura-editor-BDBXWUYq.js → use-pintura-editor-BfN1UwzH.js} +1 -1
- package/core/built/admin/assets/use-post-referrers-Czg47m8s.js +1 -0
- package/core/built/admin/assets/use-reply-chain-data-ns0caK8k.js +1 -0
- package/core/built/admin/assets/{use-router-history-entry-Bg6BhBQQ.js → use-router-history-entry-uldn7zJO.js} +1 -1
- package/core/built/admin/assets/{use-setting-group-VM7FQwMY.js → use-setting-group-DpcuCUDg.js} +1 -1
- package/core/built/admin/assets/use-settings-navigation-CZjGrhsp.js +1 -0
- package/core/built/admin/assets/{use-simple-pagination-Dum6Irbs.js → use-simple-pagination-DzJWobPR.js} +1 -1
- package/core/built/admin/assets/{use-staff-users-cZg4ugOF.js → use-staff-users-Csipb-O0.js} +1 -1
- package/core/built/admin/assets/use-tinybird-query-CSnGXzZh.js +1 -0
- package/core/built/admin/assets/use-tinybird-token-DTOKRR7e.js +1 -0
- package/core/built/admin/assets/{use-unsaved-changes-guard-BAy0RANR.js → use-unsaved-changes-guard-CBzs-KPi.js} +1 -1
- package/core/built/admin/assets/{use-url-input-Df5QzNa7.js → use-url-input-DFr8lCbS.js} +1 -1
- package/core/built/admin/assets/user-detail-modal-B_iUClI6.js +1 -0
- package/core/built/admin/assets/users-Cg-OeGzC.js +1 -0
- package/core/built/admin/assets/{virtual-list-DEx8WgiO.js → virtual-list-BW-padMe.js} +1 -1
- package/core/built/admin/assets/web-C1v33ehA.js +2 -0
- package/core/built/admin/assets/web-C4BKzn2T.js +1 -0
- package/core/built/admin/assets/{zapier-modal-Cw3BTBUu.js → zapier-modal-BBFfI6Ml.js} +1 -1
- package/core/built/admin/index.html +17 -22
- package/core/frontend/apps/private-blogging/lib/views/private.hbs +44 -43
- package/core/frontend/helpers/cancel_link.js +2 -2
- package/core/frontend/helpers/pagination.js +2 -2
- package/core/frontend/helpers/social_accounts.js +2 -2
- package/core/frontend/public/ghost.css +1 -1
- package/core/frontend/public/ghost.min.css +1 -1
- package/core/frontend/services/sitemap/user-map-generator.js +9 -2
- package/core/server/api/endpoints/index.js +2 -2
- package/core/server/api/endpoints/mail.js +1 -1
- package/core/server/api/endpoints/{member-custom-fields.js → member-metafields.js} +27 -28
- package/core/server/api/endpoints/members.js +4 -4
- package/core/server/api/endpoints/posts.js +3 -3
- package/core/server/api/endpoints/utils/serializers/input/members.js +4 -7
- package/core/server/api/endpoints/utils/serializers/output/index.js +2 -2
- package/core/server/api/endpoints/utils/serializers/output/{member-custom-fields.js → member-metafields.js} +2 -4
- package/core/server/api/endpoints/utils/serializers/output/members.js +2 -4
- package/core/server/api/endpoints/utils/validators/input/invitations.js +0 -5
- package/core/server/api/endpoints/utils/validators/input/pages.js +1 -1
- package/core/server/api/endpoints/utils/validators/input/posts.js +1 -1
- package/core/server/data/importer/importers/data/data-importer.js +3 -3
- package/core/server/data/migrations/utils/migrations.js +1 -1
- package/core/server/lib/image/image-size.js +24 -0
- package/core/server/lib/package-json/parse.js +2 -2
- package/core/server/models/member.js +6 -17
- package/core/server/models/post.js +2 -2
- package/core/server/models/relations/authors.js +2 -16
- package/core/server/models/user.js +9 -2
- package/core/server/services/auth/passwordreset.js +13 -0
- package/core/server/services/comments/comments-controller.js +30 -9
- package/core/server/services/comments/comments-service.js +55 -5
- package/core/server/services/content-import/csv/formula.js +12 -0
- package/core/server/services/content-import/csv/index.js +6 -1
- package/core/server/services/content-import/csv/parse.js +27 -6
- package/core/server/services/content-import/csv/serialize.js +13 -0
- package/core/server/services/content-import/import/completion-email.js +164 -0
- package/core/server/services/content-import/import/errors-file.js +36 -0
- package/core/server/services/content-import/import/importer.js +160 -53
- package/core/server/services/content-import/import/local-media-url.js +63 -0
- package/core/server/services/content-import/import/media.js +254 -0
- package/core/server/services/content-import/import/post-data.js +0 -1
- package/core/server/services/content-import/import/post-link.js +11 -0
- package/core/server/services/content-import/import/post-repository.js +25 -3
- package/core/server/services/content-import/import/reader.js +9 -2
- package/core/server/services/content-import/import/report.js +34 -0
- package/core/server/services/content-import/import/row.js +0 -2
- package/core/server/services/content-import/import/schema.js +1 -0
- package/core/server/services/content-import/import/staged-file.js +29 -0
- package/core/server/services/content-import/import/store.js +25 -2
- package/core/server/services/content-import/index.js +52 -6
- package/core/server/services/content-import/jobs/content-csv-import-job.js +20 -0
- package/core/server/services/custom-redirects/redirect-config-parser.js +2 -2
- package/core/server/services/custom-redirects/redirects-service.js +1 -1
- package/core/server/services/custom-redirects/validation.js +1 -1
- package/core/server/services/email-address/email-address-parser.js +30 -38
- package/core/server/services/email-address/email-address-service.js +37 -4
- package/core/server/services/email-analytics/index.js +2 -7
- package/core/server/services/email-service/batch-sending-service.js +0 -4
- package/core/server/services/email-service/email-renderer.js +14 -4
- package/core/server/services/email-service/email-service-wrapper.js +0 -9
- package/core/server/services/email-service/mailgun-email-provider.js +20 -9
- package/core/server/services/gifts/email-templates/gift-delivery.hbs +3 -3
- package/core/server/services/gifts/gift-email-service.js +0 -1
- package/core/server/services/gifts/index.js +3 -3
- package/core/server/services/gifts/jobs/index.js +4 -4
- package/core/server/services/indexnow-ping/indexnow-ping-service.js +2 -2
- package/core/server/services/invitations/accept.js +4 -2
- package/core/server/services/jobs/job-service.js +0 -9
- package/core/server/services/jobs-service/register-job-handlers.js +21 -11
- package/core/server/services/mail/ghost-mailer.js +4 -4
- package/core/server/services/member-welcome-emails/service.js +7 -7
- package/core/server/services/members/api.js +1 -0
- package/core/server/services/members/import-export/csv/parse.js +0 -7
- package/core/server/services/members/import-export/import/completion-email.js +2 -5
- package/core/server/services/members/import-export/import/row.js +0 -3
- package/core/server/services/members/import-export/index.js +4 -11
- package/core/server/services/members/jobs/clean-expired-comped-job.js +7 -0
- package/core/server/services/members/jobs/clean-expired-comped-task.js +145 -0
- package/core/server/services/members/jobs/index.js +48 -24
- package/core/server/services/members/members-api/controllers/member-controller.js +11 -0
- package/core/server/services/members/members-api/controllers/router-controller.js +3 -6
- package/core/server/services/members/members-api/members-api.js +4 -6
- package/core/server/services/members/members-api/repositories/event-repository.js +0 -4
- package/core/server/services/members/members-api/services/member-bread-service.js +34 -62
- package/core/server/services/members/members-api/services/payments-service.js +1 -1
- package/core/server/services/members/service.js +1 -5
- package/core/server/services/members-custom-fields/bindings-service.js +2 -1
- package/core/server/services/members-custom-fields/codec.js +3 -4
- package/core/server/services/members-custom-fields/definitions-service.js +62 -10
- package/core/server/services/members-custom-fields/filter.js +75 -93
- package/core/server/services/members-custom-fields/key.js +2 -1
- package/core/server/services/members-custom-fields/models.js +1 -1
- package/core/server/services/members-custom-fields/serializers.js +3 -5
- package/core/server/services/members-custom-fields/values-service.js +50 -28
- package/core/server/services/mentions/mention-controller.js +23 -21
- package/core/server/services/mentions/process-webmention-job.js +16 -0
- package/core/server/services/mentions/service.js +8 -4
- package/core/server/services/route-settings/validation-errors.js +1 -1
- package/core/server/services/route-settings/yaml-parser.js +1 -1
- package/core/server/services/settings/settings-service.js +1 -8
- package/core/server/services/settings-helpers/settings-helpers.js +4 -6
- package/core/server/services/slack-ping/slack-ping-service.js +1 -1
- package/core/server/services/staff/staff-service-emails.js +2 -2
- package/core/server/services/stripe/config.js +14 -8
- package/core/server/services/stripe/service.js +10 -1
- package/core/server/services/stripe/services/checkout/completed-session.js +2 -2
- package/core/server/services/stripe/services/checkout/session-options.js +18 -15
- package/core/server/services/stripe/services/webhook/checkout-session-event-service.js +26 -5
- package/core/server/services/stripe/stripe-api.js +2 -0
- package/core/server/services/stripe/stripe-service.js +20 -10
- package/core/server/services/stripe/webhook-controller.js +10 -0
- package/core/server/services/tier-checkout-config/codec.js +9 -5
- package/core/server/services/tier-checkout-config/models.js +9 -3
- package/core/server/services/tier-checkout-config/queries.js +4 -4
- package/core/server/services/tier-checkout-config/serializers.js +16 -10
- package/core/server/services/tier-checkout-config/service.js +13 -12
- package/core/server/services/update-check/index.js +13 -13
- package/core/server/services/update-check/jobs/update-check-job.js +7 -0
- package/core/server/services/update-check/update-check-service.js +2 -2
- package/core/server/web/admin/controller.js +1 -1
- package/core/server/web/api/endpoints/admin/routes.js +19 -16
- package/core/shared/config/env/config.testing-mysql.json +1 -1
- package/core/shared/labs.js +5 -2
- package/package.json +24 -23
- package/pnpm-lock.yaml +704 -69
- package/pnpm-workspace.yaml +8 -5
- package/components/tryghost-kg-default-nodes-2.2.0.tgz +0 -0
- package/core/built/admin/assets/Combination-5fYEzgbs.js +0 -41
- package/core/built/admin/assets/account-migration-DRhAehfw.js +0 -1
- package/core/built/admin/assets/activitypub/inbox-BluD2ucT.js +0 -1284
- package/core/built/admin/assets/activitypub/label-FHSh6ZAw.js +0 -16
- package/core/built/admin/assets/activitypub/layout-Cq4NG0Xr.js +0 -1
- package/core/built/admin/assets/activitypub/settings-DQDkr06X.js +0 -315
- package/core/built/admin/assets/add-integration-modal-BC0jExDZ.js +0 -1
- package/core/built/admin/assets/add-newsletter-modal-DchTkA7l.js +0 -1
- package/core/built/admin/assets/add-recommendation-modal-DMvaJZKp.js +0 -1
- package/core/built/admin/assets/alert-dialog-QhXzdHfc.js +0 -1
- package/core/built/admin/assets/analytics-No1DDY3A.js +0 -1
- package/core/built/admin/assets/automations-DpUNUdcZ.js +0 -1
- package/core/built/admin/assets/bluesky-sharing-Cjrv_f62.js +0 -1
- package/core/built/admin/assets/color-picker-BTY_NdEm.js +0 -3
- package/core/built/admin/assets/color-picker-field-CPlkzOH0.js +0 -1
- package/core/built/admin/assets/combobox-DrMtv_4P.js +0 -1
- package/core/built/admin/assets/command-ZdgYJpoI.js +0 -1
- package/core/built/admin/assets/comments-kidj60-h.js +0 -1
- package/core/built/admin/assets/confirmation-context-BhbmQQEl.js +0 -1
- package/core/built/admin/assets/custom-field-type-option-CsGIZk1J.js +0 -10
- package/core/built/admin/assets/custom-integration-modal-BY37O_9X.js +0 -1
- package/core/built/admin/assets/design-and-theme-modal-DUSKM4uC.js +0 -22
- package/core/built/admin/assets/dialog-B44iRwlc.js +0 -1
- package/core/built/admin/assets/dirty-confirm-dialog-BxgQgQ6H.js +0 -1
- package/core/built/admin/assets/dist-Cy8tfrp_.js +0 -1
- package/core/built/admin/assets/domain-Ca6KhoQt.js +0 -1
- package/core/built/admin/assets/dropzone-Bb-5zQTk.js +0 -5
- package/core/built/admin/assets/edit-profile-BdupLlus.js +0 -1
- package/core/built/admin/assets/editor-BP883Lpn.js +0 -8
- package/core/built/admin/assets/explore-FB-CimXw.js +0 -1
- package/core/built/admin/assets/feed-C1GxsmI2.js +0 -1
- package/core/built/admin/assets/filter-sources-D5n5bFA2.js +0 -1
- package/core/built/admin/assets/filters-DJEzkMUK.js +0 -1
- package/core/built/admin/assets/filters-MZXvdH5D.js +0 -1
- package/core/built/admin/assets/first-promoter-modal-CGTGLCr5.js +0 -1
- package/core/built/admin/assets/gift-link-modal-B6v0tnRN.js +0 -1
- package/core/built/admin/assets/growth-BGAJD1rs.js +0 -3
- package/core/built/admin/assets/growth-D6mhcx3q.js +0 -1
- package/core/built/admin/assets/history-modal-iKwUY3XR.js +0 -1
- package/core/built/admin/assets/index-DjQe-e5s.js +0 -4
- package/core/built/admin/assets/index-Dqf2x-ry.css +0 -1
- package/core/built/admin/assets/index.es-VihPwfeH.js +0 -1
- package/core/built/admin/assets/input--W-rCTrX.js +0 -1
- package/core/built/admin/assets/invite-user-modal-MdImLCaJ.js +0 -1
- package/core/built/admin/assets/koenig-loader-DYZpm6El.js +0 -2
- package/core/built/admin/assets/label-picker-cB51xl1r.js +0 -1
- package/core/built/admin/assets/layout-c_B_1hax.js +0 -1
- package/core/built/admin/assets/loading-indicator-BpFWTVgh.js +0 -1
- package/core/built/admin/assets/member-custom-fields-qs0dIkxM.js +0 -1
- package/core/built/admin/assets/member-detail-B6uec2a6.js +0 -1
- package/core/built/admin/assets/members-BQF3CqhI.js +0 -2
- package/core/built/admin/assets/moderation-DY4wF1Q3.js +0 -1
- package/core/built/admin/assets/navigation-modal-DX-gNF3X.js +0 -1
- package/core/built/admin/assets/newsletter-CyQA7m3m.js +0 -1
- package/core/built/admin/assets/newsletter-detail-modal-BDrptuxn.js +0 -1
- package/core/built/admin/assets/newsletters-DXuNmC42.js +0 -1
- package/core/built/admin/assets/note-Cgo2LCJ6.js +0 -1
- package/core/built/admin/assets/notifications-BC50AMku.js +0 -1
- package/core/built/admin/assets/offers-container-modal-DWycIMzT.js +0 -1
- package/core/built/admin/assets/onboarding-DGQuV7Ew.js +0 -1
- package/core/built/admin/assets/overview-CVbFtn-k.js +0 -1
- package/core/built/admin/assets/overview-YKj7SZaK.js +0 -1
- package/core/built/admin/assets/pages-B6vr9F_D.js +0 -1
- package/core/built/admin/assets/popover-CCy0h5rq.js +0 -1
- package/core/built/admin/assets/portal-frame-dc4XKr0e.js +0 -1
- package/core/built/admin/assets/portal-modal-BvvdF_B9.js +0 -1
- package/core/built/admin/assets/post-analytics-DX470WRG.js +0 -1
- package/core/built/admin/assets/post-analytics-header-CXpJmdDv.js +0 -1
- package/core/built/admin/assets/posts-KY3aUhVV.js +0 -1
- package/core/built/admin/assets/preferences-DO0UUWFp.js +0 -5
- package/core/built/admin/assets/profile-CxT-0l4d.js +0 -1
- package/core/built/admin/assets/radio-group-Bgz60i81.js +0 -1
- package/core/built/admin/assets/select-DuDUFdPq.js +0 -1
- package/core/built/admin/assets/settings-BjCii7BM.js +0 -1
- package/core/built/admin/assets/settings-b8kNzZSQ.js +0 -4
- package/core/built/admin/assets/share-modal-BV70mr9k.js +0 -1
- package/core/built/admin/assets/shim-ClF_m5ux.js +0 -1
- package/core/built/admin/assets/slack-modal-Be2_KK-z.js +0 -1
- package/core/built/admin/assets/stats-C4reGh9O.js +0 -1
- package/core/built/admin/assets/stats-view-DP9pQ62k.js +0 -1
- package/core/built/admin/assets/stripe-connect-modal-Z-UT_BGc.js +0 -1
- package/core/built/admin/assets/tag-detail-Dc0nTOtU.js +0 -2
- package/core/built/admin/assets/tags-BLaXBwnb.js +0 -1
- package/core/built/admin/assets/testimonials-modal-sFwRnNLh.js +0 -1
- package/core/built/admin/assets/tier-detail-modal-BCFpWwUS.js +0 -1
- package/core/built/admin/assets/use-filter-params-CAvfDvf1.js +0 -1
- package/core/built/admin/assets/use-growth-stats-D6mZXGhK.js +0 -1
- package/core/built/admin/assets/use-post-referrers-DbY-mzci.js +0 -1
- package/core/built/admin/assets/use-reply-chain-data-BeQwz8oF.js +0 -1
- package/core/built/admin/assets/use-settings-navigation-BbrSUVcf.js +0 -1
- package/core/built/admin/assets/use-tinybird-query-B1IMyAcv.js +0 -39
- package/core/built/admin/assets/use-tinybird-token-Bow0Zwn8.js +0 -1
- package/core/built/admin/assets/user-detail-modal-yipSoQfv.js +0 -1
- package/core/built/admin/assets/users-5msE1WMs.js +0 -1
- package/core/built/admin/assets/web-CKcXAu86.js +0 -1
- package/core/built/admin/assets/web-DR4TqM3E.js +0 -2
- package/core/server/services/jobs/worker-model-event-bridge.js +0 -149
- package/core/server/services/members/jobs/clean-expired-comped.js +0 -132
- package/core/server/services/stripe/services/checkout/allowed-countries.js +0 -267
- package/core/server/services/stripe/services/checkout/field-ports.js +0 -34
- package/core/server/services/tier-checkout-config/destinations.js +0 -17
- package/core/server/services/update-check/run-update-check.js +0 -63
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{l as r}from"./dist-B3keLvjj.js";import{l as i,t as a,x as o}from"./shade-app-CcS3f8MZ-vwURazk8.js";import{a as s,r as c}from"./dist-8YJUlf3B.js";import{Un as l,Zn as u,er as d}from"./button-eNMKQWXr.js";import{Br as f,Fr as p,Gr as ee,Hr as te,Ir as ne,Jr as m,Kr as re,Lr as ie,Mr as ae,Nr as oe,Pr as se,Rr as ce,Ur as le,Vr as ue,Wr as de,qr as fe,zr as h}from"./index-6MkPdCtr.js";var g=e(t(),1),_=n(),v=`ContextMenu`,[pe,me]=s(v,[m]),y=m(),[he,b]=pe(v),x=e=>{let{__scopeContextMenu:t,children:n,onOpenChange:r,open:a,dir:o,modal:s=!0}=e,c=g.useRef(!1);{let e=g.useRef(!1);g.useEffect(()=>{a===!0&&!c.current&&!e.current&&(e.current=!0,console.warn("ContextMenu: The `open` prop has been set to `true` before the user has interacted with the trigger, so its position is indeterminate. This is likely unintended and will result in the menu being anchored to the top-left corner of the viewport."))},[a])}let[l,u]=i({prop:a,defaultProp:!1,onChange:r,caller:v}),d=y(t);return(0,_.jsx)(he,{scope:t,open:l,onOpenChange:u,modal:s,hasInteractedRef:c,children:(0,_.jsx)(le,{...d,dir:o,open:l,onOpenChange:u,modal:s,children:n})})};x.displayName=v;var S=`ContextMenuTrigger`,C=g.forwardRef((e,t)=>{let{__scopeContextMenu:n,disabled:r=!1,...i}=e,a=b(S,n),s=y(n),l=g.useRef({x:0,y:0}),u=g.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...l.current})}),d=g.useRef(0),f=g.useCallback(()=>window.clearTimeout(d.current),[]),p=e=>{a.hasInteractedRef.current=!0,l.current={x:e.clientX,y:e.clientY},a.onOpenChange(!0)};return g.useEffect(()=>f,[f]),g.useEffect(()=>void(r&&f()),[r,f]),(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(ae,{...s,virtualRef:u}),(0,_.jsx)(c.span,{"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,...i,ref:t,style:{WebkitTouchCallout:`none`,...e.style},onContextMenu:r?e.onContextMenu:o(e.onContextMenu,e=>{f(),p(e),e.preventDefault()}),onPointerDown:r?e.onPointerDown:o(e.onPointerDown,B(e=>{f(),a.open&&a.onOpenChange(!1),d.current=window.setTimeout(()=>p(e),700)})),onPointerMove:r?e.onPointerMove:o(e.onPointerMove,B(f)),onPointerCancel:r?e.onPointerCancel:o(e.onPointerCancel,B(f)),onPointerUp:r?e.onPointerUp:o(e.onPointerUp,B(f))})]})});C.displayName=S;var ge=`ContextMenuPortal`,w=e=>{let{__scopeContextMenu:t,...n}=e,r=y(t);return(0,_.jsx)(f,{...r,...n})};w.displayName=ge;var T=`ContextMenuContent`,E=g.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=b(T,n),a=y(n),o=g.useRef(!1);return(0,_.jsx)(p,{...a,...r,ref:t,side:`right`,sideOffset:2,align:`start`,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),!t.defaultPrevented&&o.current&&t.preventDefault(),o.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),!t.defaultPrevented&&!i.modal&&(o.current=!0)},style:{...e.style,"--radix-context-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-context-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-context-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-context-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-context-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});E.displayName=T;var _e=`ContextMenuGroup`,ve=g.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=y(n);return(0,_.jsx)(ne,{...i,...r,ref:t})});ve.displayName=_e;var ye=`ContextMenuLabel`,D=g.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=y(n);return(0,_.jsx)(h,{...i,...r,ref:t})});D.displayName=ye;var be=`ContextMenuItem`,O=g.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=y(n);return(0,_.jsx)(ie,{...i,...r,ref:t})});O.displayName=be;var k=`ContextMenuCheckboxItem`,A=g.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=y(n);return(0,_.jsx)(se,{...i,...r,ref:t})});A.displayName=k;var j=`ContextMenuRadioGroup`,M=g.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=y(n);return(0,_.jsx)(ue,{...i,...r,ref:t})});M.displayName=j;var N=`ContextMenuRadioItem`,P=g.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=y(n);return(0,_.jsx)(te,{...i,...r,ref:t})});P.displayName=N;var xe=`ContextMenuItemIndicator`,F=g.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=y(n);return(0,_.jsx)(ce,{...i,...r,ref:t})});F.displayName=xe;var Se=`ContextMenuSeparator`,I=g.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=y(n);return(0,_.jsx)(de,{...i,...r,ref:t})});I.displayName=Se;var Ce=`ContextMenuArrow`,we=g.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=y(n);return(0,_.jsx)(oe,{...i,...r,ref:t})});we.displayName=Ce;var L=`ContextMenuSub`,Te=e=>{let{__scopeContextMenu:t,children:n,onOpenChange:r,open:a,defaultOpen:o}=e,s=y(t),[c,l]=i({prop:a,defaultProp:o??!1,onChange:r,caller:L});return(0,_.jsx)(ee,{...s,open:c,onOpenChange:l,children:n})};Te.displayName=L;var Ee=`ContextMenuSubTrigger`,R=g.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=y(n);return(0,_.jsx)(fe,{...i,...r,ref:t})});R.displayName=Ee;var De=`ContextMenuSubContent`,z=g.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=y(n);return(0,_.jsx)(re,{...i,...r,ref:t,style:{...e.style,"--radix-context-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-context-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-context-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-context-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-context-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});z.displayName=De;function B(e){return t=>t.pointerType===`mouse`?void 0:e(t)}var Oe=x,ke=C,Ae=w,V=E,H=D,U=O,W=A,G=P,K=F,q=I,J=R,Y=z,je=Oe,Me=ke,Ne=g.forwardRef(({className:e,inset:t,children:n,...i},a)=>(0,_.jsxs)(J,{ref:a,className:r(`flex cursor-default items-center gap-2 rounded-xs px-2 py-1.5 text-sm outline-hidden select-none hover:bg-accent focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`,t&&`pl-8`,e),...i,children:[n,(0,_.jsx)(u,{className:`ml-auto`})]}));Ne.displayName=J.displayName;var X=g.forwardRef(({className:e,...t},n)=>(0,_.jsx)(`div`,{className:a,children:(0,_.jsx)(Y,{ref:n,className:r(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...t})}));X.displayName=Y.displayName;var Z=g.forwardRef(({className:e,...t},n)=>(0,_.jsx)(Ae,{children:(0,_.jsx)(`div`,{className:a,children:(0,_.jsx)(V,{ref:n,className:r(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md`,`data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...t})})}));Z.displayName=V.displayName;var Q=g.forwardRef(({className:e,inset:t,variant:n=`default`,...i},a)=>(0,_.jsx)(U,{ref:a,className:r(`relative flex cursor-pointer items-center gap-2 rounded-xs px-2 py-1.5 text-sm outline-hidden transition-colors select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0`,n===`destructive`&&`text-destructive focus:bg-destructive/10 focus:text-destructive`,t&&`pl-8`,e),...i}));Q.displayName=U.displayName;var Pe=g.forwardRef(({className:e,children:t,checked:n,...i},a)=>(0,_.jsxs)(W,{ref:a,checked:n,className:r(`relative flex cursor-default items-center rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden transition-colors select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...i,children:[(0,_.jsx)(`span`,{className:`absolute left-2 flex size-3.5 items-center justify-center`,children:(0,_.jsx)(K,{children:(0,_.jsx)(d,{className:`size-4`})})}),t]}));Pe.displayName=W.displayName;var Fe=g.forwardRef(({className:e,children:t,...n},i)=>(0,_.jsxs)(G,{ref:i,className:r(`relative flex cursor-default items-center rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden transition-colors select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,_.jsx)(`span`,{className:`absolute left-2 flex size-3.5 items-center justify-center`,children:(0,_.jsx)(K,{children:(0,_.jsx)(l,{className:`size-2 fill-current`})})}),t]}));Fe.displayName=G.displayName;var Ie=g.forwardRef(({className:e,inset:t,...n},i)=>(0,_.jsx)(H,{ref:i,className:r(`px-2 py-1.5 text-sm font-semibold`,t&&`pl-8`,e),...n}));Ie.displayName=H.displayName;var $=g.forwardRef(({className:e,...t},n)=>(0,_.jsx)(q,{ref:n,className:r(`-mx-1 my-1 h-px bg-muted`,e),...t}));$.displayName=q.displayName;var Le=({className:e,...t})=>(0,_.jsx)(`span`,{className:r(`ml-auto text-xs tracking-wider opacity-60`,e),...t});Le.displayName=`ContextMenuShortcut`;export{Me as a,$ as i,Z as n,Q as r,je as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{l as r}from"./dist-B3keLvjj.js";import{t as i}from"./inline-BWSs_VzR.js";import{t as a}from"./stack-B2eszIiq.js";import{t as o}from"./text-BQDSDsKs.js";import{t as s}from"./button-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{l as r}from"./dist-B3keLvjj.js";import{t as i}from"./inline-BWSs_VzR.js";import{t as a}from"./stack-B2eszIiq.js";import{t as o}from"./text-BQDSDsKs.js";import{t as s}from"./button-eNMKQWXr.js";import{t as c}from"./input-surface-BsrIZeSF.js";var l=e(t(),1),u=n(),d=l.createContext(null);function f(){let e=l.useContext(d);if(!e)throw Error(`CopyField subcomponents must be used within CopyField`);return e}var p=l.forwardRef(({children:e,className:t,disabled:n=!1,value:i,...o},s)=>{let[c,f]=l.useState(!1),p=l.useId(),m=l.useRef(null);l.useEffect(()=>{f(!1),m.current&&=(clearTimeout(m.current),null)},[i]),l.useEffect(()=>()=>{m.current&&clearTimeout(m.current)},[]);let h=l.useCallback(async()=>{if(!n)try{await navigator.clipboard.writeText(i),f(!0),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>f(!1),2e3)}catch{f(!1)}},[n,i]),g=l.useMemo(()=>({copied:c,copy:h,disabled:n,labelId:p,value:i}),[c,h,n,p,i]);return(0,u.jsx)(d.Provider,{value:g,children:(0,u.jsx)(a,{ref:s,className:r(`group/copy-field w-full`,t),"data-disabled":n||void 0,"data-slot":`copy-field`,gap:`xs`,...o,children:e})})});p.displayName=`CopyField`;var m=l.forwardRef(({className:e,id:t,...n},i)=>{let{labelId:a}=f();return(0,u.jsx)(o,{ref:i,as:`div`,className:r(`text-control! font-medium group-data-[disabled=true]/copy-field:opacity-50`,e),"data-slot":`copy-field-label`,id:t||a,leading:`snug`,...n})});m.displayName=`CopyFieldLabel`;var h=l.forwardRef(({className:e,...t},n)=>(0,u.jsx)(`div`,{ref:n,className:r(c(`within`),`group/copy-field-content relative flex h-(--control-height) w-full items-center overflow-hidden bg-control-readonly-surface px-3 py-1 group-data-[disabled=true]/copy-field:cursor-not-allowed group-data-[disabled=true]/copy-field:opacity-50`,e),"data-slot":`copy-field-content`,...t}));h.displayName=`CopyFieldContent`;var g=l.forwardRef(({children:e,className:t,...n},i)=>{let{disabled:a,labelId:s,value:c}=f();return(0,u.jsx)(o,{ref:i,"aria-disabled":a||void 0,"aria-labelledby":n[`aria-label`]||n[`aria-labelledby`]?n[`aria-labelledby`]:s,"aria-readonly":`true`,as:`div`,className:r(`min-w-0 truncate pr-2 text-muted-foreground`,t),"data-slot":`copy-field-value`,leading:`snug`,role:`textbox`,tabIndex:a?void 0:0,...n,children:e??c})});g.displayName=`CopyFieldValue`;var _=l.forwardRef(({className:e,...t},n)=>(0,u.jsx)(i,{ref:n,className:r(`absolute top-1/2 right-[1px] -translate-y-1/2 gap-px bg-control-readonly-surface pl-1 transition-opacity md:pointer-events-none md:opacity-0 md:group-focus-within/copy-field-content:pointer-events-auto md:group-focus-within/copy-field-content:opacity-100 md:group-hover/copy-field-content:pointer-events-auto md:group-hover/copy-field-content:opacity-100 [&_button]:h-7 [&_button]:rounded-sm [&_button:not([data-slot=copy-field-copy-button])]:bg-control-readonly-surface [&_button:not([data-slot=copy-field-copy-button])]:hover:bg-secondary`,e),"data-slot":`copy-field-actions`,gap:`none`,...t}));_.displayName=`CopyFieldActions`;var v=l.forwardRef(({children:e=`Copy`,className:t,copiedLabel:n=`Copied`,disabled:i,onClick:a,...o},c)=>{let{copied:l,copy:d,disabled:p}=f();return(0,u.jsx)(s,{ref:c,className:r(`bg-surface-elevated hover:border-border-strong/40 hover:bg-surface-elevated`,t),disabled:p||i,size:`sm`,type:`button`,variant:`outline`,onClick:async e=>{await d(),a?.(e)},...o,"data-slot":`copy-field-copy-button`,children:l?n:e})});v.displayName=`CopyFieldCopyButton`;export{m as a,v as i,_ as n,g as o,h as r,p as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./build-CsiH26uS.js";import{_t as r}from"./index-6MkPdCtr.js";function i(e,t){if(t.length!==0)return`${e}:[${t.map(e=>n(e)).join(`,`)}]`}function a(e,t){let n=t.trim().toLowerCase();return n?e.filter(e=>e.label.toLowerCase().includes(n)||e.detail?.toLowerCase().includes(n)):e}function o(...e){let t=new Map;for(let n of e)if(n)for(let e of n)t.has(e.value)||t.set(e.value,e);return[...t.values()]}var s=e(t(),1),c=()=>{};function l(e,t,n){return n?e.flatMap(e=>t.some(t=>t.value===e)?[]:[n(e)]):[]}function u(e){return function(t={}){let{enabled:n=!0}=t;return{id:e.id,useInitialBrowse:()=>{let t=e.useBrowse(``,{enabled:!0}),n=(0,s.useMemo)(()=>(t.data||[]).map(e.toOption),[t.data]);return{items:t.data,options:n,isLoading:t.isLoading,pagination:t.pagination}},useOptions:({query:t,selectedValues:i})=>{let[a]=r(t,e.debounceMs??200),u=e.useBrowse(a,{enabled:n}),d=e.useHydrate?.(i,{enabled:n}),f=(0,s.useMemo)(()=>(u.data||[]).map(e.toOption),[u.data]),p=(0,s.useMemo)(()=>(d?.data||[]).map(e.toOption),[d?.data]),m=(0,s.useMemo)(()=>o(p,f),[p,f]),h=(0,s.useMemo)(()=>l(i,m,e.getMissingSelectedOption),[m,i]);return n?{options:o(h,m),isInitialLoad:u.isLoading&&m.length===0,isSearching:!u.isLoading&&u.isRefreshing&&!u.isLoadingMore,isLoadingMore:u.isLoadingMore,hasMore:u.hasMore,loadMore:u.loadMore??c}:{options:[],isInitialLoad:!1,isSearching:!1,isLoadingMore:!1,hasMore:!1,loadMore:c}}}}}function d(e){return{filter:e}}function f(e){return i(`id`,e)}function p(e){return{limit:`100`,...e}}function m({id:e,buildBrowseSearchParams:t,buildHydrateSearchParams:n=d,buildHydrateFilter:r=f,debounceMs:i,selectItems:a,toOption:o,getMissingSelectedOption:s,useQuery:c}){return u({id:e,useBrowse:(e,n)=>{let r=c({enabled:n.enabled??!0,searchParams:p(t(e))});return{data:a(r.data),isLoading:r.isLoading,isRefreshing:r.isFetching,isLoadingMore:r.isFetchingNextPage,hasMore:!!r.hasNextPage,loadMore:r.fetchNextPage,pagination:r.data?.meta?.pagination}},useHydrate:(e,t)=>{let i=r(e),o={};typeof i==`string`&&Object.assign(o,p(n(i)));let s=c({enabled:(t.enabled??!0)&&e.length>0,searchParams:o});return{data:a(s.data),isLoading:s.isLoading}},toOption:o,getMissingSelectedOption:s,debounceMs:i})}export{o as i,i as n,a as r,m as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-DX3WBWVO.js";import{Ht as t,N as n,S as r}from"./button-eNMKQWXr.js";import{h as i}from"./member-custom-fields-DDQV6QeG.js";var a=e(),o={short_text:r,long_text:n,address:t},s=({type:e,className:t})=>(0,a.jsx)(o[e]||r,{className:t});function c({type:e}){return(0,a.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,a.jsx)(`span`,{className:`flex w-5 shrink-0 items-center justify-center`,children:(0,a.jsx)(s,{className:`size-4`,type:e})}),(0,a.jsx)(`span`,{children:i(e).label})]})}export{s as n,c as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{f as r,n as i,p as a}from"./hooks-CuEZV2-q.js";import{n as o}from"./dist-Ndy-PuGN.js";import{t as s}from"./use-form-vRjI0Kwk.js";import{h as c}from"./chunk-KS7C4IRE-DCsL4i4D.js";import{m as l}from"./dist-B3keLvjj.js";import{t as u}from"./box-CdfQAP_F.js";import{t as d}from"./inline-BWSs_VzR.js";import{t as f}from"./stack-B2eszIiq.js";import{D as p,ft as m,o as h,t as g}from"./button-eNMKQWXr.js";import{a as _,i as v,n as y,o as b,r as x,s as S,t as C}from"./select-cb0t_TAJ.js";import{o as w,t as ee}from"./use-settings-navigation-CZjGrhsp.js";import{t as T}from"./empty-indicator-D9QdpuNX.js";import{a as E,i as D,o as O,t as k}from"./field-Dihp5p18.js";import{a as A,c as j,n as te,r as M,s as N,t as P}from"./table-Do6iQ83Q.js";import{$n as F,Un as I}from"./index-6MkPdCtr.js";import{a as ne,c as re,i as ie,n as L,o as R,r as z,s as B,t as V}from"./images-scfkWZiK.js";import{t as H}from"./validator-Cr0sMKuW.js";import{n as U}from"./confirmation-context-CBM8G0Vj.js";import{a as W,n as G,t as K}from"./integrations-Bjbu86Z0.js";import{t as q}from"./api-keys-Ck-Yteiv.js";import{t as J}from"./api-keys-3-0vJC3Y.js";var Y=e(t(),1),ae=e(H(),1),X=[{label:`Global`,options:[{value:`site.changed`,label:`Site changed (rebuild)`}]},{label:`Posts`,options:[{value:`post.added`,label:`Post created`},{value:`post.deleted`,label:`Post deleted`},{value:`post.edited`,label:`Post updated`},{value:`post.published`,label:`Post published`},{value:`post.published.edited`,label:`Published post updated`},{value:`post.unpublished`,label:`Post unpublished`},{value:`post.scheduled`,label:`Post scheduled`},{value:`post.unscheduled`,label:`Post unscheduled`},{value:`post.tag.attached`,label:`Tag added to post`},{value:`post.tag.detached`,label:`Tag removed from post`}]},{label:`Pages`,options:[{value:`page.added`,label:`Page created`},{value:`page.deleted`,label:`Page deleted`},{value:`page.edited`,label:`Page updated`},{value:`page.published`,label:`Page published`},{value:`page.published.edited`,label:`Published page updated`},{value:`page.unpublished`,label:`Page unpublished`},{value:`page.tag.attached`,label:`Tag added to page`},{value:`page.tag.detached`,label:`Tag removed from page`}]},{label:`Tags`,options:[{value:`tag.added`,label:`Tag created`},{value:`tag.edited`,label:`Tag updated`},{value:`tag.deleted`,label:`Tag deleted`}]},{label:`Members`,options:[{value:`member.added`,label:`Member added`},{value:`member.edited`,label:`Member updated`},{value:`member.deleted`,label:`Member deleted`}]}],oe=e=>X.flatMap(({options:e})=>e).find(t=>t.value===e)?.label,se=i({method:`POST`,path:()=>`/webhooks/`,body:e=>({webhooks:[e]}),updateQueries:{dataType:K,emberUpdateType:`createOrUpdate`,update:(e,t)=>t&&{...t,integrations:t.integrations.map(t=>{let n=e.webhooks[0];return n.integration_id===t.id?{...t,webhooks:[...t.webhooks||[],n]}:t})}}}),ce=i({method:`PUT`,path:e=>`/webhooks/${e.id}/`,body:e=>({webhooks:[e]}),updateQueries:{dataType:K,emberUpdateType:`createOrUpdate`,update:(e,t)=>t&&{...t,integrations:t.integrations.map(t=>({...t,webhooks:t.webhooks?.map(t=>t.id===e.webhooks[0].id?e.webhooks[0]:t)}))}}}),le=i({method:`DELETE`,path:e=>`/webhooks/${e}/`,updateQueries:{dataType:K,emberUpdateType:`createOrUpdate`,update:(e,t,n)=>({...t,integrations:t.integrations.map(e=>({...e,webhooks:e.webhooks?.filter(e=>e.id!==n)}))})}}),Z=n(),Q=({webhook:e,integrationId:t,onClose:n})=>{let r=Y.useId(),{mutateAsync:i}=se(),{mutateAsync:o}=ce(),c=a(),{formState:l,updateForm:u,handleSave:d,errors:f,clearError:p}=s({initialState:e||{},onSave:async()=>{l.id?await o(l):await i({...l,integration_id:t})},onSaveError:c,onValidate:()=>{let e={};return l.name||(e.name=`Enter a name`),l.event||(e.event=`Select an event`),l.target_url||(e.target_url=`Enter a target URL`),l.target_url&&!ae.default.isURL(l.target_url,{require_tld:!1})&&(e.target_url=`Enter a valid URL`),e}});return(0,Z.jsx)(w,{okLabel:e?`Update`:`Add`,okVariant:`default`,size:`sm`,testId:`webhook-modal`,title:`Add webhook`,formSheet:!0,onClose:n,onOk:async()=>{await d()&&n()},children:(0,Z.jsx)(`div`,{className:`mt-5`,children:(0,Z.jsxs)(E,{className:`gap-8`,children:[(0,Z.jsxs)(k,{"data-invalid":!!f.name||void 0,children:[(0,Z.jsx)(O,{htmlFor:`webhook-name`,children:`Name`}),(0,Z.jsx)(F,{"aria-invalid":!!f.name||void 0,id:`webhook-name`,maxLength:191,placeholder:`Custom webhook`,value:l.name??``,onChange:e=>u(t=>({...t,name:e.target.value})),onKeyDown:()=>p(`name`)}),f.name&&(0,Z.jsx)(D,{children:f.name})]}),(0,Z.jsxs)(k,{"data-invalid":!!f.event||void 0,children:[(0,Z.jsx)(O,{className:`sr-only`,children:`Event`}),(0,Z.jsxs)(C,{value:l.event??``,onValueChange:e=>{u(t=>({...t,event:e})),p(`event`)},children:[(0,Z.jsx)(b,{"aria-describedby":f.event?r:void 0,"aria-invalid":!!f.event||void 0,"aria-label":`Event`,"data-testid":`event-select`,children:(0,Z.jsx)(S,{placeholder:`Select an event`})}),(0,Z.jsx)(y,{children:X.map(e=>(0,Z.jsxs)(x,{children:[(0,Z.jsx)(_,{children:e.label}),e.options.map(e=>(0,Z.jsx)(v,{value:e.value,children:e.label},e.value))]},e.label))})]}),f.event&&(0,Z.jsx)(D,{id:r,children:f.event})]}),(0,Z.jsxs)(k,{"data-invalid":!!f.target_url||void 0,children:[(0,Z.jsx)(O,{htmlFor:`webhook-target-url`,children:`Target URL`}),(0,Z.jsx)(F,{"aria-invalid":!!f.target_url||void 0,id:`webhook-target-url`,maxLength:2e3,placeholder:`https://example.com`,type:`url`,value:l.target_url??``,onChange:e=>u(t=>({...t,target_url:e.target.value})),onKeyDown:()=>p(`target_url`)}),f.target_url&&(0,Z.jsx)(D,{children:f.target_url})]}),(0,Z.jsxs)(k,{children:[(0,Z.jsx)(O,{htmlFor:`webhook-secret`,children:`Secret`}),(0,Z.jsx)(F,{id:`webhook-secret`,maxLength:191,placeholder:`https://example.com`,value:l.secret||``,onChange:e=>u(t=>({...t,secret:e.target.value}))})]})]})})})},$=({integration:e})=>{let{mutateAsync:t}=le(),n=a(),{confirm:r}=U(),i=e.webhooks||[],[s,c]=(0,Y.useState)(null),[u,p]=(0,Y.useState)(!1),_=()=>{p(!0)},v=()=>{p(!1),c(null)},y=u?(0,Z.jsx)(Q,{integrationId:e.id,onClose:v}):s&&(0,Z.jsx)(Q,{integrationId:e.id,webhook:s,onClose:v},s.id),b=e=>{r({title:`Are you sure?`,prompt:`Deleting this webhook may prevent the integration from functioning.`,okVariant:`destructive`,okLabel:`Delete Webhook`,onOk:async r=>{try{await t(e),r?.remove(),o.info(`Webhook deleted`)}catch(e){n(e)}}})};return i.length===0?(0,Z.jsxs)(f,{gap:`none`,children:[(0,Z.jsx)(I,{}),(0,Z.jsx)(T,{actions:(0,Z.jsxs)(g,{type:`button`,variant:`outline`,onClick:_,children:[(0,Z.jsx)(m,{}),` Add webhook`]}),className:`py-8`,description:`Add a webhook to send Ghost events to another service.`,title:`No webhooks`,children:(0,Z.jsx)(h,{})}),(0,Z.jsx)(I,{}),y]}):(0,Z.jsxs)(f,{gap:`none`,children:[(0,Z.jsxs)(P,{children:[(0,Z.jsx)(N,{children:(0,Z.jsxs)(j,{children:[(0,Z.jsxs)(A,{children:[l(e.webhooks?.length||0),` `,e.webhooks?.length===1?`webhook`:`webhooks`]}),(0,Z.jsx)(A,{children:`Last triggered`}),(0,Z.jsx)(A,{children:(0,Z.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,Z.jsx)(te,{children:i.map(e=>(0,Z.jsxs)(j,{className:`cursor-pointer`,onClick:()=>c(e),children:[(0,Z.jsxs)(M,{className:`w-3/4 py-3 pr-6`,children:[(0,Z.jsx)(`div`,{className:`font-semibold`,children:e.name}),(0,Z.jsxs)(`div`,{className:`mt-1 grid grid-cols-[max-content_1fr] gap-1 text-sm leading-snug`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:`Event:`}),(0,Z.jsx)(`span`,{children:oe(e.event)}),(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:`URL:`}),(0,Z.jsx)(`span`,{className:`line-clamp-3 break-all`,title:e.target_url,children:e.target_url})]})]}),(0,Z.jsx)(M,{className:`w-1/4 py-3 pr-6 text-sm`,children:e.last_triggered_at&&new Date(e.last_triggered_at).toLocaleString(`default`,{weekday:`short`,month:`short`,day:`numeric`,year:`numeric`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}),(0,Z.jsx)(M,{className:`w-0 text-right`,children:(0,Z.jsx)(g,{className:`text-destructive hover:text-destructive`,size:`sm`,type:`button`,variant:`ghost`,onClick:t=>{t.stopPropagation(),b(e.id)},children:`Delete`})})]},e.id))})]}),(0,Z.jsx)(d,{className:`py-4`,justify:`center`,children:(0,Z.jsxs)(g,{size:`sm`,type:`button`,variant:`outline`,onClick:_,children:[(0,Z.jsx)(m,{}),` Add webhook`]})}),(0,Z.jsx)(I,{}),y]})},ue=({integration:e})=>{let{updateRoute:t}=ee(),{mutateAsync:n}=W(),{mutateAsync:i}=J(),{mutateAsync:o}=L(),c=a(),{confirm:l}=U(),{formState:d,updateForm:m,handleSave:h,saveState:g,errors:_,clearError:v,okProps:y}=s({initialState:e,savingDelay:500,savedDelay:500,onSave:async()=>{await n(d)},onSavedStateReset:()=>{t(`integrations`)},onSaveError:c,onValidate:()=>{let e={};return d.name||(e.name=`Enter integration title`),e}}),b=async e=>{try{let t=V(await o({file:e}));m(e=>({...e,icon_image:t}))}catch(e){let t=e;t.response.status===415&&(t.message=`Unsupported file type`),c(t)}},x=e.api_keys?.find(e=>e.type===`admin`),S=e.api_keys?.find(e=>e.type===`content`),[C,T]=(0,Y.useState)(!1),[E,A]=(0,Y.useState)(!1);(0,Y.useEffect)(()=>{e.type!==`custom`&&t(`integrations`)},[e.type,t]);let j=(t,n)=>{n(!1);let r=t.type===`content`?`Content`:`Admin`;l({title:`Regenerate ${r} API Key`,prompt:`You can regenerate ${r} API Key any time, but any scripts or applications using it will need to be updated.`,okLabel:`Regenerate ${r} API Key`,onOk:async r=>{try{await i({integrationId:e.id,apiKeyId:t.id}),n(!0),r?.remove()}catch(e){c(e)}}})};return(0,Z.jsxs)(w,{buttonsDisabled:y.disabled,cancelLabel:`Close`,dirty:g===`unsaved`,okLabel:y.label||`Save`,okVariant:y.variant,size:`md`,testId:`custom-integration-modal`,title:d.name||`Custom integration`,stickyFooter:!0,onClose:()=>{t(`integrations`)},onOk:async()=>{await h({fakeWhenUnchanged:!0})},children:[(0,Z.jsxs)(f,{className:`w-full pt-6 md:flex-row`,gap:`xl`,children:[(0,Z.jsx)(`div`,{className:`shrink-0`,children:(0,Z.jsx)(z,{className:`size-25`,children:d.icon_image?(0,Z.jsxs)(re,{children:[(0,Z.jsx)(B,{id:`custom-integration-icon`,src:d.icon_image}),(0,Z.jsx)(ne,{children:(0,Z.jsx)(ie,{"aria-label":`Remove icon`,onClick:()=>m(e=>({...e,icon_image:null})),children:(0,Z.jsx)(p,{})})})]}):(0,Z.jsx)(R,{className:`text-center`,inputId:`custom-integration-icon`,onDropAccepted:([e])=>void b(e),children:`Upload icon`})})}),(0,Z.jsxs)(f,{className:`min-w-0 grow`,gap:`2xl`,children:[(0,Z.jsxs)(f,{gap:`md`,children:[(0,Z.jsxs)(k,{"data-invalid":!!_.name||void 0,children:[(0,Z.jsx)(O,{htmlFor:`integration-title`,children:`Title`}),(0,Z.jsx)(F,{"aria-invalid":!!_.name||void 0,id:`integration-title`,maxLength:191,value:d.name,onChange:e=>m(t=>({...t,name:e.target.value})),onKeyDown:()=>v(`name`)}),_.name&&(0,Z.jsx)(D,{children:_.name})]}),(0,Z.jsxs)(k,{children:[(0,Z.jsx)(O,{htmlFor:`integration-description`,children:`Description`}),(0,Z.jsx)(F,{id:`integration-description`,maxLength:2e3,value:d.description||``,onChange:e=>m(t=>({...t,description:e.target.value}))})]})]}),(0,Z.jsx)(q,{keys:[{id:`content-api-key`,label:`Content API key`,text:S?.secret,hint:E?(0,Z.jsx)(`div`,{className:`text-green`,children:`Content API Key was successfully regenerated`}):void 0,onRegenerate:()=>S&&j(S,A)},{id:`admin-api-key`,label:`Admin API key`,text:x?.secret,hint:C?(0,Z.jsx)(`div`,{className:`text-green`,children:`Admin API Key was successfully regenerated`}):void 0,onRegenerate:()=>x&&j(x,T)},{id:`api-url`,label:`API URL`,text:window.location.origin+r().subdir}]})]})]}),(0,Z.jsx)(u,{className:`mt-8`,children:(0,Z.jsx)($,{integration:e})})]})};function de(){let{integrationId:e}=c(),{data:{integrations:t}={}}=G(),n=t?.find(({id:t})=>t===e);return n?(0,Z.jsx)(ue,{integration:n}):null}export{de as default};
|
package/core/built/admin/assets/{date-range-select-DD2RKkgB.js → date-range-select-uvz_DtPh.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{
|
|
1
|
+
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{sr as r}from"./button-eNMKQWXr.js";import{a as i,i as a,n as o,o as s,r as c,s as l,t as u}from"./select-cb0t_TAJ.js";import{G as d,K as f}from"./index-6MkPdCtr.js";var p=e(t(),1),m=n(),h=({range:e,onRangeChange:t,excludeRanges:n=[]})=>{let h=n.map(e=>d[e].value),g=f.filter(e=>!h.includes(e.value));return(0,p.useEffect)(()=>{if(h.includes(e)&&g.length>0){let e=g.find(e=>e.value===d.last7Days.value);t(e?e.value:g[0].value)}},[e,h,g,t]),(0,m.jsxs)(u,{value:`${e}`,onValueChange:e=>{t(Number(e))},children:[(0,m.jsxs)(s,{className:`w-auto`,children:[(0,m.jsx)(r,{className:`mr-2`,size:16,strokeWidth:1.5}),(0,m.jsx)(l,{placeholder:`Select a period`})]}),(0,m.jsx)(o,{align:`end`,children:(0,m.jsxs)(c,{children:[(0,m.jsx)(i,{children:`Period`}),g.map(e=>(0,m.jsx)(a,{value:`${e.value}`,children:e.name},e.value))]})})]})};export{h as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./dist-CZgIBXQN.js","./rolldown-runtime-DAXXjFlN.js","./dist-Z97pCNqS.js","./dist-BtaTA7Ii.js","./dist-4m6pHdc0.js","./dist-B6bJuxL3.js","./dist-CiHx7vA5.js","./dist-ECAUrdGc.js","./dist-zwwGt8Yf.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{n,t as r}from"./jsx-runtime-DX3WBWVO.js";import{r as i}from"./framework-provider-DqI25epG.js";import{_ as a,c as o,d as s,l as c,m as l,p as u,y as d}from"./hooks-CuEZV2-q.js";import{n as f}from"./dist-Ndy-PuGN.js";import{t as p}from"./use-form-vRjI0Kwk.js";import{t as m}from"./posts-DuGazgTb.js";import{t as h}from"./preload-helper-DYl5dUZ5.js";import{a as g}from"./router-provider-B0gZyiGJ.js";import{l as _,m as v,w as y}from"./dist-B3keLvjj.js";import{t as b}from"./inline-BWSs_VzR.js";import{t as x}from"./text-BQDSDsKs.js";import{$n as S,C,D as w,Mn as T,On as E,Sn as D,Y as O,Zn as k,a as A,b as ee,bt as j,ft as te,in as M,j as ne,rt as re,t as N,un as ie,xn as ae}from"./button-eNMKQWXr.js";import{n as oe,r as se,t as ce}from"./esm-CXo5SEPy.js";import{i as P,n as le,r as F,t as I}from"./tabs-D2yWLMp_.js";import{t as L}from"./switch-CI4gLWqb.js";import{t as ue}from"./dropzone-D7nFdAe5.js";import{i as R,n as z,o as B,s as V,t as H}from"./select-cb0t_TAJ.js";import{o as de,t as U}from"./use-settings-navigation-CZjGrhsp.js";import{a as fe,i as pe,n as W,r as me,t as he}from"./index.es-CNnuNH0d.js";import{i as ge,n as _e,r as ve,t as ye}from"./action-list-C4v0-du8.js";import{a as be,c as xe,n as Se,o as G,r as K,s as Ce,t as q}from"./field-Dihp5p18.js";import{t as we}from"./preview-chrome-BljUBlOk.js";import{n as Te,t as Ee}from"./toggle-group-ByUJsxwD.js";import{c as De,f as J,l as Y,m as Oe,n as ke,r as Ae,t as je}from"./schemas-DppqmpeJ.js";import{$ as Me,$n as Ne,Cr as Pe,Kn as Fe,Q as Ie,Qn as Le,Tr as Re,X as ze,Y as Be,Z as Ve,at as He,dt as Ue,et as We,it as Ge,jr as Ke,ni as qe,nt as Je,oi as Ye,ot as Xe,rt as Ze,st as Qe,ti as $e,tt as et,ut as tt,xr as nt}from"./index-6MkPdCtr.js";import{t as X}from"./page-header-De0VzKBi.js";import{a as rt,c as it,i as at,n as ot,o as st,r as ct,s as lt,t as ut}from"./images-scfkWZiK.js";import{t as dt}from"./modal-page-xCivTMvI.js";import{t as ft}from"./nql-BLpCn7qX.js";import{i as pt,n as mt}from"./confirmation-context-CBM8G0Vj.js";import{n as ht}from"./global-data-context-gAMDH9u1.js";import{t as gt}from"./use-upgrade-route-DhRSo7at.js";import{i as _t}from"./zapier-modal-BBFfI6Ml.js";import{$ as vt}from"./dist-Z97pCNqS.js";import{t as yt}from"./color-picker-field-D9nUhvA7.js";import{t as bt}from"./preview-modal-BfeFqi5y.js";import{t as xt}from"./use-pintura-editor-BfN1UwzH.js";import{t as St}from"./iframe-buffering-B2OKJzbz.js";import{t as Ct}from"./settings-breadcrumbs-DLzbRRSt.js";import{t as wt}from"./use-query-params-BfzuqbcD.js";import{n as Tt,t as Et}from"./use-check-theme-limit-error-Cw3WQHy8.js";var Z=e(t(),1),Dt=Y({code:J(),details:J(),failures:ke(Y({ref:J(),message:J().optional(),rule:J().optional()})),fatal:Ae(),level:je([`error`,`warning`,`recommendation`]),rule:J()}),Ot=ke(Y({details:Oe([Y({errors:ke(Dt).optional(),warnings:ke(Dt).optional()}),J().trim().min(1)])}));function kt(e){return typeof e==`object`&&!!e}function At(e){return[...e.errors||[],...e.warnings||[]]}function jt(e=[]){let t=[],n=[],r=[];return e.forEach(e=>{kt(e.details)?At(e.details).forEach(e=>{e.fatal?t.push(e):n.push(e)}):r.push(e.details)}),{blockingProblems:t,secondaryProblems:n,stringErrors:r}}function Mt(e){let t=Ot.safeParse(e);if(!t.success)return null;let{blockingProblems:n,stringErrors:r}=jt(t.data);return n.length>0||r.length>0?t.data:null}function Nt(e){return[...e.errors||[],...e.warnings||[]]}var Pt=[`Error`,`Warning`,`Recommendation`],Ft={error:{severity:`Error`,variant:`destructive`},warning:{severity:`Warning`,variant:`warning`},recommendation:{severity:`Recommendation`,variant:`secondary`}};function It(e){return Ft[e.level]??Ft.error}function Lt(e){return It(e).severity}function Rt(e){return It(e).variant}function zt(e){return[...e].sort((e,t)=>Pt.indexOf(Lt(e))-Pt.indexOf(Lt(t)))}function Bt(e){return e.some(e=>Lt(e)===`Error`)}function Vt(e,t){return t.length?`${e}, but it has some ${Bt(t)?`issues`:`warnings`}`:`${e} successfully`}var Q=r(),Ht=`[&_code]:rounded-md [&_code]:border-0 [&_code]:bg-secondary [&_code]:px-1 [&_code]:py-0.5 [&_code]:align-baseline [&_code]:font-mono [&_code]:text-sm [&_code]:text-inherit [&_code]:leading-[inherit] [&_code]:whitespace-nowrap`,Ut=`text-base leading-[1.55] font-semibold text-foreground ${Ht}`,Wt=`text-base leading-[1.55] text-foreground [&_a]:underline ${Ht}`,Gt=`space-y-1 text-base text-muted-foreground ${Ht}`;function Kt(e){return Pt.map(t=>({severity:t,count:e.filter(e=>Lt(e)===t).length})).filter(({count:e})=>e>0)}function qt(e){return e.map(({severity:e,count:t})=>`${v(t)} ${e.toLowerCase()}${t===1?``:`s`}`).join(`, `)}function Jt(e,t){return`${e.code||`issue`}-${t}`}function Yt({children:e,variant:t}){return(0,Q.jsx)(Fe,{className:`py-1 font-mono text-sm leading-none uppercase`,variant:t,children:e})}function Xt({problem:e}){return(0,Q.jsxs)(`div`,{className:`mt-3 space-y-3`,children:[(0,Q.jsx)(`div`,{dangerouslySetInnerHTML:{__html:e.details},className:Wt}),e.failures?.length>0&&(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h6`,{className:`mb-1 text-base font-semibold text-muted-foreground`,children:`Affected files`}),(0,Q.jsx)(`ul`,{className:Gt,children:e.failures.map(e=>(0,Q.jsxs)(`li`,{children:[(0,Q.jsx)(`code`,{children:e.ref}),e.message?(0,Q.jsxs)(`span`,{children:[`: `,e.message]}):null]},`${e.ref}-${e.message||``}`))})]})]})}function Zt({errorLabel:e,problem:t,value:n}){let r=Lt(t);return(0,Q.jsxs)(pe,{className:`border-border-default last:border-b-0`,value:n,children:[(0,Q.jsx)(fe,{className:`items-start gap-3 p-5 hover:no-underline data-[state=open]:pb-1 [&>svg]:mt-1`,children:(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Q.jsx)(Yt,{variant:Rt(t),children:r===`Error`?e:r}),t.code&&(0,Q.jsx)(`span`,{className:`font-mono text-sm font-normal text-muted-foreground`,children:t.code})]}),(0,Q.jsx)(`div`,{dangerouslySetInnerHTML:{__html:t.rule},className:Ut})]})}),(0,Q.jsx)(me,{className:`px-5 pb-5`,children:(0,Q.jsx)(Xt,{problem:t})})]})}function Qt({errorLabel:e,message:t}){return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2 border-b border-border-default p-5 last:border-b-0`,children:[(0,Q.jsx)(`div`,{className:`flex items-center gap-3`,children:(0,Q.jsx)(Yt,{variant:`destructive`,children:e})}),(0,Q.jsx)(`p`,{className:`text-base font-semibold text-foreground`,children:t})]})}var $t=`theme-problem-list`;function en({errorLabel:e=`Error`,expandedByDefault:t=!1,messages:n=[],problems:r}){let i=(0,Z.useMemo)(()=>zt(r),[r]),a=(0,Z.useMemo)(()=>i.map(Jt),[i]);return!i.length&&!n.length?null:(0,Q.jsxs)(`div`,{className:`overflow-hidden rounded-lg border border-border-default`,"data-testid":$t,children:[n.map(t=>(0,Q.jsx)(Qt,{errorLabel:e,message:t},t)),i.length>0&&(0,Q.jsx)(W,{defaultValue:t?a:[],type:`multiple`,children:i.map((t,n)=>(0,Q.jsx)(Zt,{errorLabel:e,problem:t,value:a[n]},a[n]))})]})}function tn({problems:e}){if(!e.length)return null;let t=Kt(e),n=Bt(e);return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Q.jsxs)(`h3`,{className:`flex items-center gap-2 text-base font-semibold text-foreground`,children:[(0,Q.jsx)(C,{className:_(`size-4 shrink-0`,n?`text-destructive`:`text-state-warning`)}),qt(t)]}),n&&(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Highly recommended to fix, functionality could be restricted`})]}),(0,Q.jsx)(en,{problems:e})]})}var nn=({title:e,themeName:t,action:n=`uploaded`,cancelLabel:r=`Cancel`,okLabel:i,fatalErrors:a,onRetry:o,onClose:s})=>{let{blockingProblems:c,secondaryProblems:l,stringErrors:u}=jt(a);return(0,Q.jsx)(pt,{cancelLabel:r,contentClassName:c.length+u.length+l.length>0?`max-w-[600px]`:void 0,okLabel:i??(o?`Try again`:``),okVariant:`default`,prompt:(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Q.jsxs)(`p`,{className:`text-base text-foreground`,children:[t?(0,Q.jsx)(`strong`,{children:t}):`This theme`,` couldn't be `,n,`. Fix the errors below and try again.`]}),(0,Q.jsx)(en,{errorLabel:`Blocking`,messages:u,problems:c,expandedByDefault:!0}),(0,Q.jsx)(tn,{problems:l})]}),stickyFooter:!0,title:e,onOk:o,onRemove:s})},rn=()=>{let e=et();return{supportsCustomFonts:!(e.data?.themes[0])?.warnings?.some(e=>e.code===`GS051-CUSTOM-FONTS`),refreshActiveThemeData:(0,Z.useCallback)(()=>{e.refetch()},[e])}};function an(e){let t=e.package?.name||e.name,n=t;return Ve(e)?n=`${t} (default)`:Me(e)?n=`${t} (legacy)`:e.package?.name!==e.name&&(n=(0,Q.jsxs)(`span`,{className:`md:text-base`,children:[n,` `,(0,Q.jsxs)(`span`,{className:`text-gray-600`,children:[`(`,e.name,`)`]})]})),Be(e)&&(n=(0,Q.jsxs)(`span`,{className:`font-bold md:text-base`,children:[n,` — `,(0,Q.jsx)(`span`,{className:`text-green`,children:` Active`})]})),n}function on(e){return e.package?.version||`1.0`}var sn=({theme:e})=>{let{mutateAsync:t}=We(),{mutateAsync:n}=Ze(),{refreshActiveThemeData:r}=rn(),i=u(),{route:o,updateRoute:c}=U(),l=gt(),{checkThemeLimitError:d}=Et(),{confirm:p,showLimit:m}=mt(),[h,g]=(0,Z.useState)(null),_=async()=>{try{await t(e.name),r(),f.success(`Theme activated`,{description:(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`span`,{className:`capitalize`,children:e.name}),` is now your active theme`]})})}catch(e){let t=null;e instanceof a&&e.response?.status===422&&e.data?.errors?t=e.data.errors:i(e),t&&g(t)}},v=()=>{s(`/themes/${e.name}/download`)},y=()=>{p({title:`Are you sure you want to delete this?`,prompt:(0,Q.jsxs)(Q.Fragment,{children:[`You are about to delete `,(0,Q.jsxs)(`strong`,{children:[`"`,e.name,`".`]}),` This is permanent! We warned you, k? Maybe download`,` `,(0,Q.jsx)(`span`,{className:`cursor-pointer text-green-500`,onClick:v,children:`your theme before continuing`})]}),okLabel:`Delete`,okRunningLabel:`Deleting`,okVariant:`destructive`,onOk:async t=>{try{await n(e.name),t?.remove()}catch(e){i(e)}}})},b=async()=>{let t=await d(`.`);if(t){m({prompt:t,onOk:()=>c({route:l,isExternal:!0})});return}c(`theme/edit/${encodeURIComponent(e.name)}?from=${encodeURIComponent(o??``)}`)},x=[];return Be(e)||x.push((0,Q.jsx)(N,{className:`ml-2`,size:`sm`,type:`button`,variant:`ghost`,onClick:()=>void _(),children:`Activate`},`activate`)),(0,Q.jsxs)(`div`,{className:`-mr-3 flex items-center gap-4`,children:[x,(0,Q.jsxs)(nt,{children:[(0,Q.jsx)(Ke,{asChild:!0,children:(0,Q.jsx)(N,{"aria-label":`Menu`,size:`icon`,type:`button`,variant:`ghost`,children:(0,Q.jsx)(T,{})})}),(0,Q.jsxs)(Pe,{align:`end`,className:`z-[9999]`,children:[(0,Q.jsx)(Re,{onSelect:()=>void b(),children:`Edit code`}),(0,Q.jsx)(Re,{onSelect:v,children:`Download`}),Ie(e)&&(0,Q.jsx)(Re,{onSelect:y,children:`Delete`})]})]}),h&&(0,Q.jsx)(nn,{action:`activated`,fatalErrors:h,themeName:e.package?.name||e.name,title:`Theme not activated`,onClose:()=>g(null),onRetry:()=>{g(null),_()}})]})},cn=({themes:e})=>(e.sort((e,t)=>e.active&&!t.active?-1:!e.active&&t.active?1:e.package?.name&&t.package?.name?e.package.name.localeCompare(t.package.name):e.name.localeCompare(t.name)),(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`h1`,{className:`mb-5 text-2xl font-bold`,children:`Installed themes`}),(0,Q.jsx)(ye,{className:`border-t border-border`,children:e.map(e=>{let t=an(e),n=on(e);return(0,Q.jsxs)(_e,{"data-testid":`theme-list-item`,children:[(0,Q.jsxs)(ge,{className:`py-3 pr-6`,id:`theme-${e.name}`,children:[(0,Q.jsx)(`div`,{children:t}),n&&(0,Q.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:n})]}),(0,Q.jsx)(ve,{children:(0,Q.jsx)(sn,{theme:e})})]},e.name)})})]})),ln=({themes:e})=>(0,Q.jsx)(dt,{children:(0,Q.jsx)(cn,{themes:e})}),un=``+new URL(`footer-marketplace-bg-cXGt4GLt.png`,import.meta.url).href,dn=3e3,fn=e=>e.variants&&e.variants.length>0,pn=e=>{let t=[{category:e.category,previewUrl:e.previewUrl,image:e.image}];return e.variants&&e.variants.length>0&&t.push(...e.variants),t},mn=({onSelectTheme:e})=>{let t=_t(),[n,r]=(0,Z.useState)(null),[i,a]=(0,Z.useState)(0),o=e=>{r(e),a(e!==null&&fn(e)&&pn(e).length>1?1:0)};return(0,Z.useEffect)(()=>{if(n===null)return;let e=setInterval(()=>{a((i+1)%(pn(n).length||0))},dn);return()=>clearInterval(e)},[n,i]),(0,Q.jsxs)(dt,{children:[(0,Q.jsx)(dt.Title,{children:`Themes`}),(0,Q.jsx)(`div`,{className:`mt-[6vmin] grid grid-cols-1 gap-[6vmin] sm:grid-cols-2 md:grid-cols-3 xl:grid-cols-4`,children:t.map(t=>{let r=fn(t),a=pn(t),s=n===t;return(0,Q.jsxs)(`button`,{className:`flex cursor-pointer flex-col gap-3 text-left`,type:`button`,onClick:()=>{e?.(t)},children:[(0,Q.jsx)(`div`,{className:`relative w-full bg-gray-100 shadow-md transition-all duration-500 hover:scale-[1.05]`,onMouseEnter:()=>o(t),onMouseLeave:()=>o(null),children:r?(0,Q.jsx)(Q.Fragment,{children:a.map((e,n)=>(0,Q.jsx)(`img`,{alt:`${t.name} Theme - ${e.category}`,className:y(`size-full object-contain opacity-0 transition-opacity duration-500`,{"opacity-100":n===i&&s||!s&&n===0,relative:n===i,absolute:n!==i,"left-0":n!==i,"top-0":n!==i}),src:e.image},`theme-variant-${e.category.toLowerCase()}`))}):(0,Q.jsx)(`img`,{alt:`${t.name} Theme`,className:`size-full object-contain`,src:t.image})}),(0,Q.jsxs)(`div`,{className:`relative mt-3`,children:[(0,Q.jsx)(x,{as:`h4`,className:`md:text-xl`,leading:`heading`,size:`lg`,weight:`bold`,children:t.name}),r?a.map((e,t)=>(0,Q.jsx)(`span`,{className:y(`absolute left-0 translate-y-px text-gray-700 opacity-0`,{"opacity-100":t===i&&s||!s&&t===0}),children:e.category},e.category)):(0,Q.jsx)(`span`,{className:`text-gray-700`,children:t.category})]})]},t.name)})}),(0,Q.jsxs)(`div`,{className:`mx-[-8vmin] mt-[8vmin] mb-[-8vmin] bg-black px-[8vmin] py-16 text-center text-lg text-white`,style:{background:`#15171a url(${un}) 100% 100% / 35vw no-repeat`},children:[`Find and buy third-party, premium themes from independent developers in the`,` `,(0,Q.jsx)(`a`,{className:`inline-block font-semibold text-lime`,href:`https://ghost.org/themes/`,rel:`noopener noreferrer`,target:`_blank`,children:`Ghost Marketplace →`})]})]})},hn=({title:e,action:t=`uploaded`,statusMessage:n,installedTheme:r,onActivate:i,onClose:a})=>{let{mutateAsync:o}=We(),{refreshActiveThemeData:s}=rn(),c=u(),{data:l}=Ue(),d=Nt(r),p=l?.site?tt(l.site):void 0,m=r.active?`OK`:Bt(d)?`Activate with errors`:`Activate theme`,h=r.active?(0,Q.jsx)(`span`,{className:`text-green`,children:`It's live!`}):e,g;return g=r.active?(0,Q.jsxs)(Q.Fragment,{children:[`Your theme `,(0,Q.jsx)(`strong`,{children:r.name}),` was saved successfully and is now visible to your readers.`,p?(0,Q.jsxs)(Q.Fragment,{children:[` `,(0,Q.jsx)(`a`,{className:`font-semibold text-foreground hover:underline`,href:p,rel:`noreferrer`,target:`_blank`,children:`Take a look →`})]}):null]}):n||(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`strong`,{children:r.name}),` was `,Vt(t,d),`. Do you want to activate it?`]}),(0,Q.jsx)(pt,{cancelLabel:`Close`,contentClassName:d.length>0?`max-w-[600px]`:void 0,okLabel:m,okRunningLabel:`Activating...`,okVariant:`default`,prompt:(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Q.jsx)(`p`,{className:`text-base text-foreground`,children:g}),(0,Q.jsx)(tn,{problems:d})]}),stickyFooter:!0,title:h,onOk:async e=>{if(!r.active)try{let e=(await o(r.name)).themes[0];s(),f.success(`Theme activated`,{description:(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`span`,{className:`capitalize`,children:e.name}),` is now your active theme.`]})})}catch(e){c(e);return}i?.(),e?.remove()},onRemove:a})},gn=e=>e.variants&&e.variants.length>0,_n=e=>{let t=[{image:e.image,category:e.category,previewUrl:e.previewUrl}];return e.variants&&e.variants.length>0&&t.push(...e.variants),t},vn=e=>e.category.toLowerCase(),yn=({selectedTheme:e,isInstalling:t,installedTheme:n,onBack:r,onInstall:i})=>{let[a,o]=(0,Z.useState)(`desktop`),[s,c]=(0,Z.useState)(void 0);if(!e)return null;let l=e.previewUrl,u=_n(e).map(e=>({label:e.category,value:vn(e)}));gn(e)&&(s===void 0&&c(u[0].value),l=_n(e).find(e=>vn(e)===s)?.previewUrl||l);let d=`Install ${e.name}`;t?d=`Installing...`:ze(e)&&!n?.active?d=`Activate ${e.name}`:n&&(d=`Update ${e.name}`);let f=()=>{i?.()},p=(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(Ct,{current:e.name,label:`Change theme`,onBack:r}),gn(e)?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{className:`hidden md:!visible md:!block`,children:`–`}),(0,Q.jsxs)(q,{className:`w-auto`,children:[(0,Q.jsx)(G,{className:`sr-only`,children:`Theme variant`}),(0,Q.jsxs)(H,{value:s,onValueChange:c,children:[(0,Q.jsx)(B,{"aria-label":`Theme variant`,className:`w-auto border-0 bg-transparent shadow-none`,children:(0,Q.jsx)(V,{})}),(0,Q.jsx)(z,{className:`min-w-max`,children:u.map(e=>(0,Q.jsx)(R,{value:e.value,children:e.label},e.value))})]})]})]}):null]}),m=(0,Q.jsxs)(`div`,{className:`flex justify-end gap-8`,children:[(0,Q.jsxs)(b,{gap:`sm`,children:[(0,Q.jsx)(N,{"aria-label":`Desktop preview`,size:`icon`,type:`button`,variant:`ghost`,onClick:()=>o(`desktop`),children:(0,Q.jsx)(M,{className:a===`desktop`?`text-foreground`:`text-muted-foreground`})}),(0,Q.jsx)(N,{"aria-label":`Mobile preview`,size:`icon`,type:`button`,variant:`ghost`,onClick:()=>o(`mobile`),children:(0,Q.jsx)(O,{className:a===`mobile`?`text-foreground`:`text-muted-foreground`})})]}),(0,Q.jsx)(N,{disabled:t,type:`button`,onClick:f,children:t?`Installing...`:d})]});return(0,Q.jsxs)(`div`,{className:`absolute inset-0 z-[100]`,children:[(0,Q.jsxs)(X,{blurredBackground:!1,className:`z-[100] h-22 min-h-[92px] bg-background p-8`,sticky:!1,children:[(0,Q.jsx)(X.Left,{className:`flex-auto`,children:p}),(0,Q.jsx)(X.Actions,{className:`flex-auto justify-end`,children:m})]}),(0,Q.jsx)(`div`,{className:`flex h-[calc(100%-92px)] grow flex-col items-center justify-center bg-background`,children:a===`desktop`?(0,Q.jsx)(we,{device:`desktop`,children:(0,Q.jsx)(`iframe`,{className:`size-full`,src:l,title:`Theme preview`})}):(0,Q.jsx)(we,{device:`mobile`,children:(0,Q.jsx)(`iframe`,{className:`size-full`,src:l,title:`Theme preview`})})})]})},bn=({onUpload:e})=>(0,Q.jsx)(ue,{accept:{"application/zip":[`.zip`]},inputId:`theme-upload`,onDropAccepted:([t])=>{e(t)},children:`Click to select or drag & drop zip file`}),xn=({currentTab:e,setCurrentTab:t,themes:n})=>{let{updateRoute:r}=U(),i=gt(),{mutateAsync:o}=He(),{checkThemeLimitError:s,isThemeLimited:c}=Et(),l=u(),{confirm:d,showLimit:f}=mt(),[p,m]=(0,Z.useState)(),[h,g]=(0,Z.useState)(!1),[_,v]=(0,Z.useState)(null),[y,b]=(0,Z.useState)(null);(0,Z.useEffect)(()=>{(async()=>{if(c){let e=await s(`.`);m({enabled:!1,error:e||`Your current plan doesn't support uploading custom themes.`})}else m({enabled:!0})})()},[s,c]);let x=()=>{r(`/`)},S=e=>{let r=e?.name.replace(/\.zip$/,``),i=n.map(e=>e.name);ze({name:r})?d({title:`Upload failed`,cancelLabel:`Cancel`,okLabel:``,prompt:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`p`,{children:[`The default `,(0,Q.jsx)(`strong`,{children:r}),` theme cannot be overwritten.`]}),(0,Q.jsx)(`p`,{children:`Rename your zip file and try again.`})]}),onOk:e=>{e?.remove()}}):i.includes(r)?d({title:`Overwrite theme`,prompt:(0,Q.jsxs)(Q.Fragment,{children:[`The theme `,(0,Q.jsx)(`strong`,{children:r}),` already exists. Do you want to overwrite it?`]}),okLabel:`Overwrite`,cancelLabel:`Cancel`,okRunningLabel:`Overwriting...`,okVariant:`destructive`,onOk:async a=>{g(!0);let o=i.indexOf(r);n.splice(o,1),await C({file:e,onActivate:x}),g(!1),t(`installed`),a?.remove()}}):(t(`installed`),C({file:e,onActivate:x}))},C=async({file:e,onActivate:t})=>{let n,r=null;try{g(!0),n=await o({file:e}),g(!1)}catch(e){g(!1),e instanceof a&&e.response?.status===422&&e.data?.errors?r=e.data.errors:l(e)}r&&!n&&v({themeName:e.name.replace(/\.zip$/,``),fatalErrors:r}),n&&b({title:`Upload successful`,action:`uploaded`,installedTheme:n.themes[0],onActivate:t})},w=(0,Q.jsx)(`div`,{className:`hidden md:!visible md:!block`,children:(0,Q.jsx)(I,{value:e,variant:`button`,onValueChange:t,children:(0,Q.jsxs)(F,{children:[(0,Q.jsx)(P,{value:`official`,children:`Official themes`}),(0,Q.jsx)(P,{value:`installed`,children:`Installed`})]})})}),T=()=>{if(p)if(p.enabled){let e={current:null};e.current=d({title:`Upload theme`,prompt:(0,Q.jsx)(bn,{onUpload:t=>{e.current?.remove(),S(t)}}),okLabel:``,formSheet:!1})}else f({title:`Upgrade to enable custom themes`,prompt:p.error||(0,Q.jsxs)(Q.Fragment,{children:[`Your current plan only supports official themes. You can install them from the`,` `,(0,Q.jsx)(`a`,{href:`https://ghost.org/marketplace/`,children:`Ghost theme marketplace`}),`.`]}),onOk:()=>r({route:i,isExternal:!0})})},E=(0,Q.jsx)(`div`,{className:`flex items-center gap-14`,children:(0,Q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Q.jsx)(N,{type:`button`,variant:`outline`,onClick:x,children:`Close`}),(0,Q.jsxs)(N,{disabled:h,type:`button`,onClick:T,children:[h&&(0,Q.jsx)(Le,{size:`sm`}),`Upload theme`]})]})});return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(X,{blurredBackground:!1,className:`sticky -top-px z-50 h-22 min-h-[92px] bg-background p-8`,sticky:!1,children:[(0,Q.jsx)(X.Left,{className:`flex-auto`,children:w}),(0,Q.jsx)(X.Actions,{className:`flex-auto justify-end`,children:E})]}),(0,Q.jsx)(`div`,{className:`px-[8vmin] md:hidden`,children:(0,Q.jsx)(I,{value:e,variant:`button`,onValueChange:t,children:(0,Q.jsxs)(F,{children:[(0,Q.jsx)(P,{value:`official`,children:`Official themes`}),(0,Q.jsx)(P,{value:`installed`,children:`Installed`})]})})}),_&&(0,Q.jsx)(nn,{action:`uploaded`,fatalErrors:_.fatalErrors,okLabel:`Re-upload`,themeName:_.themeName,title:`Theme not uploaded`,onClose:()=>v(null),onRetry:()=>{v(null),T()}}),y&&(0,Q.jsx)(hn,{...y,onClose:()=>b(null)})]})},Sn=({currentTab:e,onSelectTheme:t,themes:n})=>{switch(e){case`official`:return(0,Q.jsx)(mn,{onSelectTheme:t});case`installed`:return(0,Q.jsx)(ln,{themes:n})}return null},Cn=({source:e,themeRef:t})=>{let[n,r]=(0,Z.useState)(`official`),[i,a]=(0,Z.useState)(null),[o,s]=(0,Z.useState)(`desktop`),[c,l]=(0,Z.useState)(!1),[d,p]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)(!1),[g,_]=(0,Z.useState)(null),{updateRoute:v}=U(),y=gt(),{data:{themes:b}={}}=Je(),{mutateAsync:x}=Ge(),{mutateAsync:S}=We(),{checkThemeLimitError:C}=Et(),w=u(),{confirm:T,showLimit:E}=mt(),D=e=>{a(e)};if((0,Z.useEffect)(()=>{h(!0)},[]),(0,Z.useEffect)(()=>{(async()=>{if(e&&t&&!d&&m){let e=t.split(`/`)[1];if(await C(e)){v(`theme`);return}let n=b?.map(e=>e.name)||[],r=n.includes(e.toLowerCase()),i=n.indexOf(e.toLowerCase()),a=b?.[i],o=(0,Q.jsxs)(Q.Fragment,{children:[`By clicking below, `,(0,Q.jsx)(`strong`,{children:e}),` will automatically be activated as the theme for your site.`,r&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`br`,{}),(0,Q.jsx)(`br`,{}),`This will overwrite your existing version of `,(0,Q.jsx)(`strong`,{children:e}),a?.active?` which is your active theme`:``,`. All custom changes will be lost.`]})]});T({title:`Install Theme`,prompt:o,okLabel:`Install`,cancelLabel:`Cancel`,okRunningLabel:`Installing...`,okVariant:`default`,onOk:async e=>{let n;p(!0);try{r&&b&&b.splice(i,1),n=await x(t),n?.themes[0]&&(await S(n.themes[0].name),f.success(`Theme activated`,{description:(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`span`,{className:`capitalize`,children:n.themes[0].name}),` is now your active theme`]})})),e?.remove(),v(``)}catch(e){w(e)}}})}})()},[t,e,x,w,S,v,b,d,C,T,m]),!b)return;let O,k;if(i){O=b.find(e=>e.name.toLowerCase()===i.name.toLowerCase()),k=async()=>{let t=await C(i.name);if(t){E({prompt:t,onOk:()=>v({route:y,isExternal:!0})});return}return O&&!ze(i)?new Promise(t=>{T({title:`Overwrite theme`,prompt:(0,Q.jsxs)(Q.Fragment,{children:[`This will overwrite your existing version of `,i.name,O?.active?`, which is your active theme`:``,`. All custom changes will be lost.`]}),okLabel:`Overwrite`,okRunningLabel:`Installing...`,cancelLabel:`Cancel`,okVariant:`destructive`,onOk:async n=>{n?.remove(),await e(),t()}})}):e()};let e=async()=>{let e=`Installed successfully`,t;if(ze(i))e=`Activate theme`,t=(0,Q.jsxs)(Q.Fragment,{children:[`Do you want to activate `,(0,Q.jsx)(`strong`,{children:i.name}),` as the theme for your site?`]});else{l(!0);let e;try{e=await x(i.ref)}catch(e){w(e)}finally{l(!1)}if(!e)return;O=e.themes[0]}_({title:e,action:`installed`,statusMessage:t,installedTheme:O,onActivate:()=>{v(``)}})}}return(0,Q.jsxs)(de,{animate:!1,cancelLabel:``,footer:!1,padding:!1,size:`full`,testId:`theme-modal`,title:``,scrolling:!0,onCancel:()=>{v(``)},onClose:()=>{v(``)},children:[(0,Q.jsx)(`div`,{className:`flex h-full justify-between`,children:(0,Q.jsxs)(`div`,{className:`grow`,children:[i&&(0,Q.jsx)(yn,{installedTheme:O,isInstalling:c,selectedTheme:i,onBack:()=>{a(null)},onClose:()=>{v(``)},onInstall:k}),(0,Q.jsx)(xn,{currentTab:n,previewMode:o,selectedTheme:i,setCurrentTab:r,setPreviewMode:s,setSelectedTheme:a,themes:b}),!i&&(0,Q.jsx)(Sn,{currentTab:n,themes:b,onSelectTheme:D})]})}),g&&(0,Q.jsx)(hn,{...g,onClose:()=>_(null)})]})},wn=e(n(),1),Tn=({children:e,to:t,classNames:n})=>{let r=t||document.body;return r?(0,wn.createPortal)((0,Q.jsx)(`div`,{className:n,onMouseDown:e=>{e.stopPropagation()},children:(0,Q.jsx)(`div`,{children:e})}),r):(0,Q.jsx)(Q.Fragment,{children:e})},En=({unsplashProviderConfig:e,onClose:t,onImageInsert:n})=>(0,Q.jsx)(Tn,{classNames:`settings-app`,children:(0,Q.jsx)(he,{unsplashProviderConfig:e,onClose:t,onImageInsert:n})}),Dn={heading:[{name:`Cardo`,creator:`David Perry`},{name:`Chakra Petch`,creator:`Cadson Demak`},{name:`Fira Mono`,creator:`Carrois Apostrophe`},{name:`Fira Sans`,creator:`Carrois Apostrophe`},{name:`IBM Plex Serif`,creator:`Mike Abbink`},{name:`Inter`,creator:`Rasmus Andersson`},{name:`JetBrains Mono`,creator:`JetBrains`},{name:`Libre Baskerville`,creator:`Impallari Type`},{name:`Lora`,creator:`Cyreal`},{name:`Manrope`,creator:`Mikhail Sharanda`},{name:`Merriweather`,creator:`Sorkin Type`},{name:`Noto Sans`,creator:`Google`},{name:`Noto Serif`,creator:`Google`},{name:`Nunito`,creator:`Vernon Adams`},{name:`Old Standard TT`,creator:`Alexey Kryukov`},{name:`Poppins`,creator:`Indian Type Foundry`},{name:`Roboto`,creator:`Christian Robertson`},{name:`Rufina`,creator:`Martin Sommaruga`},{name:`Space Grotesk`,creator:`Florian Karsten`},{name:`Space Mono`,creator:`Colophon Foundry`},{name:`Tenor Sans`,creator:`Denis Masharov`}],body:[{name:`Fira Mono`,creator:`Carrois Apostrophe`},{name:`Fira Sans`,creator:`Carrois Apostrophe`},{name:`IBM Plex Serif`,creator:`Mike Abbink`},{name:`Inter`,creator:`Rasmus Andersson`},{name:`JetBrains Mono`,creator:`JetBrains`},{name:`Lora`,creator:`Cyreal`},{name:`Manrope`,creator:`Mikhail Sharanda`},{name:`Merriweather`,creator:`Sorkin Type`},{name:`Noto Sans`,creator:`Google`},{name:`Noto Serif`,creator:`Google`},{name:`Nunito`,creator:`Vernon Adams`},{name:`Poppins`,creator:`Indian Type Foundry`},{name:`Roboto`,creator:`Christian Robertson`},{name:`Space Mono`,creator:`Colophon Foundry`}]},$=`Theme default`,On=({option:e,selected:t})=>(0,Q.jsxs)(`span`,{className:`flex w-full items-center gap-4 ${e.className??``}`,"data-testid":t?`select-current-option`:`select-option`,"data-value":e.value,children:[(0,Q.jsx)(`span`,{className:`flex size-12 shrink-0 items-center justify-center rounded-md border border-border-default bg-surface-elevated text-2xl font-bold shadow-xs`,children:`Aa`}),(0,Q.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,Q.jsx)(`span`,{className:`text-md`,children:e.label}),(0,Q.jsx)(`span`,{className:`truncate font-sans text-sm font-normal text-muted-foreground`,children:e.hint})]})]}),kn=e=>e.split(` `).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `),An=({values:e,updateSetting:t})=>{let{mutateAsync:n}=ot(),{settings:r}=ht(),[a]=$e(r,[`unsplash`]),[o,s]=(0,Z.useState)(!1),{unsplashConfig:c}=i(),l=u(),d=async(e,r)=>{try{t(e,ut(await n({file:r})))}catch(e){let t=e;t.response.status===415&&(t.message=`Unsupported file type`),l(t)}},f=xt(),{data:p}=Je(),m=p?.themes.find(e=>e.active),h=m?`${kn(m.name)} (v${m.package?.version||`1.0`})`:`Loading...`,[g,_]=(0,Z.useState)(Dn.heading.find(t=>t.name===e.headingFont)||{name:$,creator:h}),[b,x]=(0,Z.useState)(Dn.heading.find(t=>t.name===e.bodyFont)||{name:$,creator:h}),S=(e,t=!0)=>{let n=``;return e===`Cardo`?n=y(`font-cardo`,t&&`font-bold`):e===`Manrope`?n=y(`font-manrope`,t&&`font-bold`):e===`Merriweather`?n=y(`font-merriweather`,t&&`font-bold`):e===`Nunito`?n=y(`font-nunito`,t&&`font-semibold`):e===`Old Standard TT`?n=y(`font-old-standard-tt`,t&&`font-bold`):e===`Prata`?n=y(`font-prata`,t&&`font-normal`):e===`Roboto`?n=y(`font-roboto`,t&&`font-bold`):e===`Rufina`?n=y(`font-rufina`,t&&`font-bold`):e===`Tenor Sans`?n=y(`font-tenor-sans`,t&&`font-normal`):e===`Chakra Petch`?n=y(`font-chakra-petch`,t&&`font-normal`):e===`Fira Mono`?n=y(`font-fira-mono`,t&&`font-bold`):e===`Fira Sans`?n=y(`font-fira-sans`,t&&`font-bold`):e===`IBM Plex Serif`?n=y(`font-ibm-plex-serif`,t&&`font-bold`):e===`Inter`?n=y(`font-inter`,t&&`font-bold`):e===`JetBrains Mono`?n=y(`font-jetbrains-mono`,t&&`font-bold`):e===`Lora`?n=y(`font-lora`,t&&`font-bold`):e===`Noto Sans`?n=y(`font-noto-sans`,t&&`font-bold`):e===`Noto Serif`?n=y(`font-noto-serif`,t&&`font-bold`):e===`Poppins`?n=y(`font-poppins`,t&&`font-bold`):e===`Space Grotesk`?n=y(`font-space-grotesk`,t&&`font-bold`):e===`Space Mono`&&(n=y(`font-space-mono`,t&&`font-bold`)),n},C=Dn.heading.map(e=>{let t=S(e.name,!0);return{label:e.name,value:e.name,hint:e.creator,className:t}});C.unshift({label:$,value:$,hint:h,className:`font-sans font-normal`});let T=Dn.body.map(e=>{let t=S(e.name,!1);return{label:e.name,value:e.name,hint:e.creator,className:t}});T.unshift({label:$,value:$,hint:h,className:`font-sans font-normal`});let E=(e,t)=>e===$?``:S(e,t),D=C.find(e=>e.value===g.name)||C[0],O=T.find(e=>e.value===b.name)||T[0];return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(be,{className:`mt-6 mb-12 gap-6`,children:[(0,Q.jsx)(yt,{debounceMs:200,direction:`rtl`,testId:`accent-color-picker`,title:(0,Q.jsx)(`div`,{children:`Accent color`}),value:e.accentColor,onChange:e=>t(`accent_color`,e)}),(0,Q.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`div`,{children:`Publication icon`}),(0,Q.jsxs)(K,{className:`mr-5 max-w-[160px]`,children:[`A square, social icon, at least `,v(60),`×`,v(60),`px`]})]}),(0,Q.jsx)(`div`,{className:`flex gap-3`,children:(0,Q.jsx)(ct,{className:e.icon?`size-16.5`:`h-9 w-40`,children:e.icon?(0,Q.jsxs)(it,{background:`checkerboard`,children:[(0,Q.jsx)(lt,{id:`logo`,src:e.icon}),(0,Q.jsx)(rt,{className:`top-1 right-1`,children:(0,Q.jsx)(at,{"aria-label":`Remove publication icon`,"data-testid":`image-delete-button`,onClick:()=>t(`icon`,null),children:(0,Q.jsx)(w,{})})})]}):(0,Q.jsx)(st,{inputId:`logo`,onDropAccepted:([e])=>void d(`icon`,e),children:`Upload icon`})})})]}),(0,Q.jsxs)(`div`,{className:`flex items-start justify-between ${e.icon&&`mt-2`}`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`div`,{children:`Publication logo`}),(0,Q.jsx)(K,{className:`mr-5 max-w-[160px]`,children:`Appears usually in the main header of your theme`})]}),(0,Q.jsx)(`div`,{children:(0,Q.jsx)(ct,{className:`h-15 w-40`,children:e.logo?(0,Q.jsxs)(it,{background:`checkerboard`,children:[(0,Q.jsx)(lt,{className:`object-contain`,id:`site-logo`,src:e.logo}),(0,Q.jsx)(rt,{className:`top-1 right-1`,children:(0,Q.jsx)(at,{"aria-label":`Remove publication logo`,"data-testid":`image-delete-button`,onClick:()=>t(`logo`,null),children:(0,Q.jsx)(w,{})})})]}):(0,Q.jsx)(st,{inputId:`site-logo`,onDropAccepted:([e])=>void d(`logo`,e),children:`Upload logo`})})})]}),(0,Q.jsxs)(`div`,{className:`mt-2 flex items-start justify-between`,"data-testid":`publication-cover`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`div`,{children:`Publication cover`}),(0,Q.jsx)(K,{className:`mr-5 max-w-[160px]`,children:`Usually as a large banner image on your index pages`})]}),(0,Q.jsx)(ct,{className:`h-23.75 w-40`,children:e.coverImage?(0,Q.jsxs)(it,{children:[(0,Q.jsx)(lt,{id:`cover`,src:e.coverImage}),(0,Q.jsxs)(rt,{className:`top-1 right-1`,children:[f.isEnabled&&(0,Q.jsx)(at,{"aria-label":`Edit publication cover`,onClick:()=>f.openEditor({image:e.coverImage||``,handleSave:async e=>{try{t(`cover_image`,ut(await n({file:e})))}catch(e){l(e)}}}),children:(0,Q.jsx)(j,{})}),(0,Q.jsx)(at,{"aria-label":`Remove publication cover`,"data-testid":`image-delete-button`,onClick:()=>t(`cover_image`,null),children:(0,Q.jsx)(w,{})})]})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(st,{inputId:`cover`,onDropAccepted:([e])=>void d(`cover_image`,e),children:`Upload cover`}),a&&(0,Q.jsx)(rt,{className:`top-1 right-1 opacity-100`,children:(0,Q.jsx)(at,{"aria-label":`Select publication cover from Unsplash`,"data-testid":`toggle-unsplash-button`,onClick:()=>s(!0),children:(0,Q.jsx)(ie,{})})})]})}),o&&c&&a&&(0,Q.jsx)(En,{unsplashProviderConfig:c,onClose:()=>{s(!1)},onImageInsert:e=>{e.src&&t(`cover_image`,e.src),s(!1)}})]})]}),(0,Q.jsxs)(xe,{className:`-mt-4 gap-0`,children:[(0,Q.jsx)(Ce,{className:`mb-4 text-md! leading-supertight font-bold md:text-lg!`,children:`Typography`}),(0,Q.jsxs)(be,{className:`mb-12 gap-6`,children:[(0,Q.jsxs)(q,{children:[(0,Q.jsx)(G,{children:`Heading font`}),(0,Q.jsxs)(H,{value:D.value,onValueChange:e=>{e===$?(_({name:$,creator:h}),t(`heading_font`,``)):(_({name:e,creator:Dn.heading.find(t=>t.name===e)?.creator||``}),t(`heading_font`,e))},children:[(0,Q.jsx)(B,{"aria-label":`Heading font`,className:`h-16 pl-2 text-left ${E(D.label,!0)}`,"data-testid":`heading-font-select`,children:(0,Q.jsx)(V,{children:(0,Q.jsx)(On,{option:D,selected:!0})})}),(0,Q.jsx)(z,{children:C.map(e=>(0,Q.jsx)(R,{value:e.value,children:(0,Q.jsx)(On,{option:e})},e.value))})]})]}),(0,Q.jsxs)(q,{children:[(0,Q.jsx)(G,{children:`Body font`}),(0,Q.jsxs)(H,{value:O.value,onValueChange:e=>{e===$?(x({name:$,creator:h}),t(`body_font`,``)):(x({name:e,creator:Dn.body.find(t=>t.name===e)?.creator||``}),t(`body_font`,e))},children:[(0,Q.jsx)(B,{"aria-label":`Body font`,className:`h-16 pl-2 text-left ${E(O.label,!1)}`,"data-testid":`body-font-select`,children:(0,Q.jsx)(V,{children:(0,Q.jsx)(On,{option:O,selected:!0})})}),(0,Q.jsx)(z,{className:`max-h-52`,children:T.map(e=>(0,Q.jsx)(R,{value:e.value,children:(0,Q.jsx)(On,{option:e})},e.value))})]})]})]})]})]})},jn=e(ft(),1);function Mn(e,t){return e.visibility?(0,jn.default)(e.visibility).queryJSON(t):!0}function Nn({description:e,accentColor:t,icon:n,logo:r,coverImage:i,themeSettings:a,bodyFont:o,headingFont:s}){if(!a)return;let c=a.reduce((e,{key:t,value:n})=>({...e,[t]:n}),{}),l=new URLSearchParams;l.append(`c`,t),l.append(`d`,e),l.append(`icon`,n),l.append(`logo`,r),l.append(`cover`,i),l.append(`bf`,o),l.append(`hf`,s);let u={};return a.forEach(e=>{u[e.key]=Mn(e,c)?e.value:null}),l.append(`custom`,JSON.stringify(u)),l.toString()}var Pn=({settings:e,url:t,isVisible:n=!0})=>{let r=Nn({...e});return(0,Q.jsx)(St,{addDelay:!1,className:`absolute -top-px -left-px size-[calc(110%_+_3px)] origin-top-left scale-[.90909] bg-white max-[1600px]:size-[calc(130%_+_3px)] max-[1600px]:scale-[.76923]`,generateContent:(0,Z.useCallback)(e=>{if(!t||!r)return;let n=new URL(t);n.searchParams.set(`admin_toolbar`,`0`),fetch(n.toString(),{method:`POST`,headers:{"Content-Type":`text/html;charset=utf-8`,"x-ghost-preview":r,Accept:`text/html`},mode:`cors`,credentials:`include`}).then(e=>e.text()).then(t=>{let n=`html { pointer-events: none; }`,r=new DOMParser().parseFromString(t,`text/html`),i=r.querySelector(`style`),a=i?.innerHTML;a?i.innerHTML=`${a}\n\n${n}`:r.head.innerHTML+=`<style>${n}</style>`;let o=(r.doctype?new XMLSerializer().serializeToString(r.doctype):``)+r.documentElement.outerHTML;e.contentDocument?.open(),e.contentDocument?.write(o),e.contentDocument?.close()})},[r,t]),height:`100%`,parentClassName:`absolute inset-0 overflow-hidden ${n?`z-10 opacity-100`:`z-0 opacity-0 pointer-events-none`}`,testId:`theme-preview`,width:`100%`})},Fn=({setting:e,setSetting:t})=>{let[n,r]=(0,Z.useState)({});(0,Z.useEffect)(()=>{let t=e.value===null?``:String(e.value);r(n=>({...n,[e.key]:t}))},[e]);let i=e=>{n[e]!==void 0&&t(n[e])},a=(e,t)=>{r(n=>({...n,[e]:t}))},{mutateAsync:o}=ot(),s=u(),c=async e=>{try{t(ut(await o({file:e})))}catch(e){s(e)}};switch(e.type){case`text`:return(0,Q.jsxs)(q,{children:[(0,Q.jsx)(G,{htmlFor:`theme-setting-${e.key}`,children:qe(e.key)}),(0,Q.jsx)(Ne,{id:`theme-setting-${e.key}`,value:n[e.key]||``,onBlur:()=>i(e.key),onChange:t=>a(e.key,t.target.value)}),e.description&&(0,Q.jsx)(K,{children:e.description})]});case`boolean`:return(0,Q.jsxs)(q,{orientation:`horizontal`,children:[(0,Q.jsxs)(Se,{children:[(0,Q.jsx)(G,{htmlFor:`theme-setting-${e.key}`,children:qe(e.key)}),e.description&&(0,Q.jsx)(K,{children:e.description})]}),(0,Q.jsx)(L,{checked:!!e.value,id:`theme-setting-${e.key}`,onCheckedChange:t})]});case`select`:return(0,Q.jsxs)(q,{children:[(0,Q.jsx)(G,{children:qe(e.key)}),(0,Q.jsxs)(H,{value:e.value,onValueChange:t,children:[(0,Q.jsx)(B,{"aria-label":qe(e.key),"data-testid":`setting-select-${e.key}`,children:(0,Q.jsx)(V,{})}),(0,Q.jsx)(z,{children:e.options.map(e=>(0,Q.jsx)(R,{value:e,children:e},e))})]}),e.description&&(0,Q.jsx)(K,{children:e.description})]});case`color`:return(0,Q.jsx)(yt,{debounceMs:200,direction:`rtl`,hint:e.description,title:qe(e.key),value:e.value||``,onChange:e=>t(e)});case`image`:return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(G,{children:qe(e.key)}),(0,Q.jsx)(ct,{className:e.value?`h-25`:`h-8`,children:e.value?(0,Q.jsxs)(it,{children:[(0,Q.jsx)(lt,{id:`custom-${e.key}`,src:e.value}),(0,Q.jsx)(rt,{children:(0,Q.jsx)(at,{"aria-label":`Remove image`,onClick:()=>t(null),children:(0,Q.jsx)(w,{})})})]}):(0,Q.jsx)(st,{inputId:`custom-${e.key}`,onDropAccepted:e=>void c(e[0]),children:`Upload image`})}),e.description&&(0,Q.jsx)(K,{children:e.description})]})}},In={source:[`title_font`,`body_font`],casper:[`title_font`,`body_font`],alto:[`title_font`,`body_font`],bulletin:[`title_font`,`body_font`],dawn:[`title_font`,`body_font`],digest:[`title_font`,`body_font`],dope:[`title_font`,`body_font`],ease:[`title_font`,`body_font`],edge:[`title_font`,`body_font`],edition:[`title_font`,`body_font`],episode:[`typography`],headline:[`title_font`,`body_font`],journal:[`title_font`,`body_font`],london:[`title_font`,`body_font`],ruby:[`title_font`,`body_font`],solo:[`typography`],taste:[`style`],wave:[`title_font`,`body_font`]},Ln=({sections:e,updateSetting:t})=>{let{data:n}=Je(),r=n?.themes.find(e=>e.active),i=r?.package.name?.toLowerCase()||``,a=r?.package.author?.name||``,{supportsCustomFonts:o}=rn();return(0,Q.jsx)(Q.Fragment,{children:e.map(e=>{let n=e.settings.filter(t=>Mn(t,e.settings.reduce((e,{key:t,value:n})=>({...e,[t]:n}),{}))),r;return(0,Q.jsxs)(xe,{className:`gap-0 first-of-type:mt-6`,children:[(0,Q.jsx)(Ce,{className:`mb-4 text-md! leading-supertight font-bold md:text-lg!`,children:e.title}),(0,Q.jsx)(be,{className:`mb-12 gap-4`,children:n.map(e=>{let n=``;e.type===`boolean`&&r!==`boolean`&&r!==void 0&&(n=`mt-3`),(e.type===`text`||e.type===`select`)&&(r===`text`||r===`select`)&&(n=`mt-2`);let s=In[i];return s&&s.includes(e.key)&&a===`Ghost Foundation`&&o&&(n+=` hidden`),r=e.type,(0,Q.jsx)(`div`,{className:n,children:(0,Q.jsx)(Fn,{setSetting:n=>t({...e,value:n}),setting:e},e.key)},e.key)})})]},e.id)})})},Rn=({globalSettings:e,themeSettingSections:t,updateGlobalSetting:n,updateThemeSetting:r,onTabChange:i})=>{let[a,o]=(0,Z.useState)(`global`);return(0,Q.jsx)(`div`,{className:`flex h-full flex-col justify-between`,children:(0,Q.jsx)(`div`,{className:`grow p-7 pt-0`,"data-testid":`design-setting-tabs`,children:t.length>0?(0,Q.jsxs)(I,{value:a,variant:`underline`,onValueChange:e=>{o(e),i(e)},children:[(0,Q.jsxs)(F,{className:`sticky top-0 z-50 bg-surface-elevated-2`,children:[(0,Q.jsx)(P,{value:`global`,children:`Brand`}),(0,Q.jsx)(P,{value:`theme-settings`,children:`Theme`})]}),(0,Q.jsx)(le,{value:`global`,children:(0,Q.jsx)(An,{updateSetting:n,values:e})}),(0,Q.jsx)(le,{value:`theme-settings`,children:(0,Q.jsx)(Ln,{sections:t,updateSetting:r})})]}):(0,Q.jsx)(An,{updateSetting:n,values:e})})})},zn=()=>{let{settings:e,siteData:t}=ht(),{mutateAsync:n}=Ye(),{data:{posts:[r]}={posts:[]}}=m({searchParams:{filter:`status:published`,order:`published_at DESC`,limit:`1`,fields:`id,url`}}),{data:i}=Xe(),{mutateAsync:a}=Qe(),o=u(),[s,c]=(0,Z.useState)(`homepage`),[l,d]=(0,Z.useState)(`desktop`),{updateRoute:f}=U(),h=g(),_=wt().getParam(`ref`),{formState:v,saveState:y,handleSave:b,updateForm:x,setFormState:S,okProps:C}=p({initialState:{settings:e,themeSettings:i?.custom_theme_settings},savingDelay:500,onSave:async()=>{if(v.themeSettings?.some(e=>e.dirty)){let e=await a(v.themeSettings);S(t=>({...t,themeSettings:e.custom_theme_settings}))}if(v.settings.some(e=>e.dirty)){let{settings:e}=await n(v.settings.filter(e=>e.dirty));S(t=>({...t,settings:e}))}},onSaveError:o});(0,Z.useEffect)(()=>{i&&S(e=>({...e,themeSettings:i.custom_theme_settings}))},[S,i]);let w=(e,t)=>{x(n=>({...n,settings:n.settings.map(n=>n.key===e?{...n,value:t,dirty:!0}:n)}))},T=e=>{x(t=>({...t,themeSettings:t.themeSettings?.map(t=>t.key===e.key?{...e,dirty:!0}:t)}))},[E,D,k,A,ee,j,te]=$e(v.settings,[`description`,`accent_color`,`icon`,`logo`,`cover_image`,`heading_font`,`body_font`]),ne=(v.themeSettings||[]).reduce((e,t)=>{let n=t.group===`homepage`||t.group===`post`?t.group:`site-wide`;return{...e,[n]:(e[n]||[]).concat(t)}},{}),re=Object.entries(ne).map(([e,t])=>({id:e,settings:t||[],title:e===`site-wide`?`Site wide`:e===`homepage`?`Homepage`:`Post`})),N=e=>{r&&c(e)},ie=e=>{c(e===`post`&&r?`post`:`homepage`)},ae=[{id:`homepage`,url:tt(t)},...r?[{id:`post`,url:r.url}]:[]],oe={description:E,accentColor:D,icon:k,logo:A,coverImage:ee,themeSettings:v.themeSettings,headingFont:j,bodyFont:te},se=(0,Q.jsx)(`div`,{className:`relative size-full`,children:ae.map(({id:e,url:t})=>(0,Q.jsx)(Pn,{isVisible:s===e,settings:oe,url:t},e))}),ce=l===`desktop`?(0,Q.jsx)(we,{"data-testid":`preview-desktop`,device:`desktop`,children:se}):(0,Q.jsx)(we,{"data-testid":`preview-mobile`,device:`mobile`,children:se}),le=r?(0,Q.jsx)(I,{value:s,variant:`button`,onValueChange:N,children:(0,Q.jsxs)(F,{children:[(0,Q.jsx)(P,{value:`homepage`,children:`Homepage`}),(0,Q.jsx)(P,{value:`post`,children:`Post`})]})}):void 0,L=(0,Q.jsxs)(Ee,{size:`default`,type:`single`,value:l,onValueChange:e=>{(e===`desktop`||e===`mobile`)&&d(e)},children:[(0,Q.jsx)(Te,{"aria-label":`Desktop`,value:`desktop`,children:(0,Q.jsx)(M,{})}),(0,Q.jsx)(Te,{"aria-label":`Mobile`,value:`mobile`,children:(0,Q.jsx)(O,{})})]}),ue=(0,Q.jsx)(Rn,{globalSettings:{description:E,accentColor:D,icon:k,logo:A,coverImage:ee,headingFont:j,bodyFont:te},handleSave:b,themeSettingSections:re,updateGlobalSetting:w,updateThemeSetting:T,onTabChange:ie});return(0,Q.jsx)(bt,{buttonsDisabled:C.disabled,cancelLabel:`Close`,deviceSelector:L,dirty:y===`unsaved`,okLabel:C.label||`Save`,okVariant:C.variant,preview:ce,previewToolbarTabs:le,sidebar:ue,sidebarPadding:!1,siteLink:tt(t),size:`full`,testId:`design-modal`,title:`Design`,onClose:()=>{_===`setup`?h(`/analytics`):f(`design`)},onOk:async()=>{await b({fakeWhenUnchanged:!0})}})},Bn=({title:e,prompt:t,cancelLabel:n=`Cancel`,okLabel:r=`OK`,okVariant:i=`default`,onResolve:a})=>(0,Q.jsx)(de,{backDropClick:!1,cancelLabel:n,okLabel:r,okVariant:i,testId:`theme-editor-confirm-modal`,title:e,width:540,onCancel:()=>a(!1),onClose:()=>a(!1),onOk:()=>a(!0),children:(0,Q.jsx)(`div`,{className:`py-4`,children:t})}),Vn=({title:e,prompt:t,fieldTitle:n,initialValue:r,placeholder:i,cancelLabel:a=`Cancel`,okLabel:o=`Continue`,onResolve:s})=>{let[c,l]=(0,Z.useState)(r);return(0,Q.jsx)(de,{backDropClick:!1,cancelLabel:a,okDisabled:!c.trim(),okLabel:o,testId:`theme-editor-input-modal`,title:e,width:540,onCancel:()=>s(null),onClose:()=>s(null),onOk:()=>s(c),children:(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4 py-4`,children:[t,(0,Q.jsxs)(q,{children:[(0,Q.jsx)(G,{htmlFor:`theme-editor-input`,children:n}),(0,Q.jsx)(Ne,{id:`theme-editor-input`,placeholder:i,value:c,autoFocus:!0,onChange:e=>l(e.target.value)})]})]})})},Hn=`inline-flex items-center gap-2 rounded-md border px-3 py-1.5 text-[13px] font-medium transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#4a9eff] disabled:cursor-not-allowed disabled:opacity-50`,Un=`${Hn} border-[#2f333b] bg-transparent text-[#e6e7ea] hover:bg-[#1f2228]`,Wn=`${Hn} border-transparent bg-green text-black hover:bg-green-400`,Gn=({currentThemeName:e,changes:t,isSaving:n,onClose:r,onSave:i})=>(0,Q.jsxs)(`div`,{className:`flex items-center gap-3 border-b border-[#23262c] bg-[#1a1d21] px-4 py-3`,children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-baseline gap-2`,children:[(0,Q.jsx)(`h2`,{className:`truncate text-[14px] font-semibold text-[#f4f5f7]`,children:`Edit theme`}),(0,Q.jsx)(`span`,{className:`truncate text-[12px] text-[#8a8f98]`,children:e})]}),t.length>0&&(0,Q.jsxs)(`span`,{className:`rounded-full border border-transparent bg-[#3b2a16] px-2.5 py-1 text-[11px] leading-none text-[#f5a623]`,children:[v(t.length),` `,t.length===1?`file modified`:`files modified`]}),(0,Q.jsx)(`div`,{className:`grow`}),(0,Q.jsxs)(`button`,{className:Un,type:`button`,onClick:r,children:[(0,Q.jsx)(A,{size:14}),`Close`]}),(0,Q.jsxs)(`button`,{className:Wn,disabled:n,type:`button`,onClick:i,children:[(0,Q.jsx)(re,{size:14}),n?`Saving…`:`Save`]})]}),Kn=e=>{let t={type:`dir`,name:``,path:``,children:new Map};for(let n of Object.keys(e).sort()){let r=n.split(`/`),i=t;for(let t=0;t<r.length;t+=1){let a=r[t];if(t===r.length-1){i.children.set(a,{type:`file`,name:a,path:n,editable:e[n].editable});continue}let o=`${r.slice(0,t+1).join(`/`)}/`,s=i.children.get(a);if(s?.type===`dir`){i=s;continue}let c={type:`dir`,name:a,path:o,children:new Map};i.children.set(a,c),i=c}}return t},qn=e=>e.sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`dir`?-1:1),Jn=`inline-flex h-5 w-5 items-center justify-center rounded-sm text-[#c8ccd3] transition-opacity hover:opacity-100 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#4a9eff] disabled:cursor-not-allowed disabled:opacity-30`,Yn=({currentFiles:e,selectedNode:t,setSelectedNode:n,expandedDirectories:r,setExpandedDirectories:i,changesMap:a,isLoading:o,onCreateFile:s,onRenameSelected:c,onDeleteSelected:l,onOpenFile:u})=>{let d=(e,o=0)=>{if(e.type===`file`){let n=t?.type===`file`&&t.path===e.path,r=a.get(e.path);return(0,Q.jsxs)(`button`,{className:`flex min-h-6 w-full items-center gap-1.5 rounded px-2 py-1 text-left text-[13px] leading-5 ${n?`bg-[#243043] text-white`:`text-[#c8ccd3] hover:bg-[#1f2228]`} ${e.editable?``:`opacity-70`}`,style:{paddingLeft:`${o*14+8}px`},type:`button`,onClick:()=>u(e.path),children:[(0,Q.jsx)(`span`,{className:`w-3 shrink-0`}),(0,Q.jsx)(E,{size:14}),(0,Q.jsx)(`span`,{className:`min-w-0 grow truncate`,children:e.name}),r&&(0,Q.jsx)(`span`,{className:`mr-1 size-1.5 shrink-0 rounded-full ${r===`deleted`?`bg-[#ff6b6b]`:r===`added`?`bg-[#14b886]`:`bg-[#f5a623]`}`})]},e.path)}let s=r.has(e.path),c=t?.type===`dir`&&t.path===e.path,l=qn(Array.from(e.children?.values()||[]));return(0,Q.jsxs)(`div`,{children:[e.path&&(0,Q.jsxs)(`button`,{className:`flex min-h-6 w-full items-center gap-1.5 rounded px-2 py-1 text-left text-[13px] leading-5 ${c?`bg-[#202630] text-white`:`text-[#c8ccd3] hover:bg-[#1f2228]`}`,style:{paddingLeft:`${o*14+8}px`},type:`button`,onClick:()=>{n({type:`dir`,path:e.path}),i(t=>{let n=new Set(t);return n.has(e.path)?n.delete(e.path):n.add(e.path),n})},children:[s?(0,Q.jsx)(S,{className:`shrink-0 text-[#6a6f78]`,size:12}):(0,Q.jsx)(k,{className:`shrink-0 text-[#6a6f78]`,size:12}),s?(0,Q.jsx)(D,{className:`shrink-0 text-[#8a8f98]`,size:14}):(0,Q.jsx)(ae,{className:`shrink-0 text-[#8a8f98]`,size:14}),(0,Q.jsx)(`span`,{className:`truncate`,children:e.name})]}),(e.path===``||s)&&(0,Q.jsx)(`div`,{children:l.map(t=>d(t,e.path?o+1:o))})]},e.path||`root`)};return(0,Q.jsxs)(`aside`,{className:`flex w-[280px] shrink-0 flex-col border-r border-[#23262c] bg-[#16181c]`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b border-[#23262c] px-3 py-2`,children:[(0,Q.jsxs)(`div`,{className:`text-[12px] font-medium text-[#c8ccd3]`,children:[Object.keys(e).length,` files`]}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(`button`,{"aria-label":`New file`,className:Jn,type:`button`,onClick:s,children:(0,Q.jsx)(te,{size:13})}),(0,Q.jsx)(`button`,{"aria-label":`Rename selected item`,className:Jn,disabled:!t,type:`button`,onClick:c,children:(0,Q.jsx)(j,{size:13})}),(0,Q.jsx)(`button`,{"aria-label":`Delete selected item`,className:Jn,disabled:!t,type:`button`,onClick:l,children:(0,Q.jsx)(w,{size:13})})]})]}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-2`,children:o?(0,Q.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 text-center text-[13px] text-[#8a8f98]`,children:[(0,Q.jsx)(`div`,{className:`size-5 animate-spin rounded-full border-2 border-[#2f333b] border-t-[#14b886]`}),(0,Q.jsx)(`span`,{children:`Loading theme files…`})]}):Object.keys(e).length===0?(0,Q.jsx)(`div`,{className:`px-3 py-4 text-[12px] text-[#8a8f98]`,children:`This theme archive does not contain any files.`}):d(Kn(e))})]})},Xn=e(Tt(),1),Zn=e=>{if(!e.startsWith(`theme/edit/`))return{themeName:null,isInvalid:!1};let t=e.slice(11).split(`?`)[0];if(!t||t.includes(`/`))return{themeName:null,isInvalid:!0};try{let e=decodeURIComponent(t);return!e||e.includes(`/`)?{themeName:null,isInvalid:!0}:{themeName:e,isInvalid:!1}}catch{return{themeName:null,isInvalid:!0}}},Qn={maxFiles:1e3,maxExtractedBytes:32*1024*1024},$n=class extends Error{reason;constructor(e,t){super(t),this.name=`ThemeArchiveExtractionError`,this.reason=e}},er=new Set([`css`,`cjs`,`hbs`,`handlebars`,`htm`,`html`,`js`,`json`,`less`,`md`,`markdown`,`mjs`,`sass`,`scss`,`svg`,`txt`,`xml`,`yaml`,`yml`]),tr=new Set([`.editorconfig`,`.eslintignore`,`.eslintrc`,`.gitattributes`,`.gitignore`,`.npmignore`,`.prettierignore`,`.prettierrc`,`CODEOWNERS`,`LICENSE`,`LICENCE`,`NOTICE`,`Procfile`]),nr=e=>{if(er.has(rr(e)))return!0;let t=e.split(`/`).at(-1)||e;return tr.has(t)},rr=e=>{let t=e.lastIndexOf(`.`);return t===-1?``:e.slice(t+1).toLowerCase()},ir=e=>{let t=e.trim().replace(/^\/+/,``).replace(/\/+/g,`/`);if(!t)return null;let n=t.split(`/`).filter(Boolean);return n.length===0||n.some(e=>e===`.`||e===`..`)?null:n.join(`/`)},ar=e=>[`casper`,`source`].includes(e.toLowerCase()),or=e=>{if(e.length===0)return``;let t=e[0].indexOf(`/`);if(t<=0)return``;let n=e[0].slice(0,t+1);return e.every(e=>e.startsWith(n))?n:``},sr=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[e,{...t,date:new Date(t.date),binary:t.binary?new Uint8Array(t.binary):null}])),cr=`Failed to open the theme archive. Download the theme again and retry.`,lr=e=>{let t=e/(1024*1024);return Number.isInteger(t)?`${t} MB`:`${t.toFixed(1)} MB`},ur=e=>{let t=[];return e.forEach((e,n)=>{n.dir||t.push([e,n])}),t},dr=e=>{if(e.length>Qn.maxFiles)throw new $n(`too_many_files`,`This theme archive contains too many files for the browser editor (${e.length}/${Qn.maxFiles}).`)},fr=async e=>{try{return await Xn.default.loadAsync(e)}catch{throw new $n(`invalid_archive`,cr)}},pr=async e=>{try{return await e.async(`uint8array`)}catch{throw new $n(`invalid_archive`,cr)}},mr=async e=>{try{return await e.async(`string`)}catch{throw new $n(`invalid_archive`,cr)}},hr=e=>{let t=ir(e);if(!t||t!==e)throw new $n(`invalid_archive`,cr);return t},gr=(e,t)=>{let n=e+t;if(n>Qn.maxExtractedBytes)throw new $n(`too_large`,`This theme archive is too large to open in the browser editor. Extracted files must stay under ${lr(Qn.maxExtractedBytes)}.`);return n},_r=async e=>{let t=ur(await fr(e));dr(t);let n=or(t.map(([e])=>e)),r={},i=new TextEncoder,a=0;for(let[e,o]of t){let t=n?e.slice(n.length):e;if(!t)continue;let s=hr(t);if(nr(s))try{let e=await mr(o);a=gr(a,i.encode(e).byteLength),r[s]={path:s,editable:!0,content:e,binary:null,date:o.date||new Date,unixPermissions:typeof o.unixPermissions==`number`?o.unixPermissions:null,dosPermissions:typeof o.dosPermissions==`number`?o.dosPermissions:null};continue}catch{}let c=await pr(o);a=gr(a,c.byteLength),r[s]={path:s,editable:!1,content:null,binary:c,date:o.date||new Date,unixPermissions:typeof o.unixPermissions==`number`?o.unixPermissions:null,dosPermissions:typeof o.dosPermissions==`number`?o.dosPermissions:null}}return{files:r,rootPrefix:n}},vr=async({files:e,rootPrefix:t})=>{let n=new Xn.default;for(let[r,i]of Object.entries(e)){let e=`${t}${r}`,a={date:i.date,createFolders:!0,unixPermissions:i.unixPermissions??void 0,dosPermissions:i.dosPermissions??void 0};i.editable?n.file(e,i.content??``,a):n.file(e,i.binary,{...a,binary:!0})}return n.generateAsync({type:`blob`,mimeType:`application/zip`,compression:`DEFLATE`,compressionOptions:{level:6}})},yr=({baseFiles:e,currentFiles:t})=>{let n=new Set([...Object.keys(e),...Object.keys(t)]),r=[];for(let i of Array.from(n).sort()){let n=e[i],a=t[i];if(!n&&a){r.push({path:i,editable:a.editable,status:`added`});continue}if(n&&!a){r.push({path:i,editable:n.editable,status:`deleted`});continue}!n||!a||n.editable&&a.editable&&n.content!==a.content&&r.push({path:i,editable:!0,status:`modified`})}return r},br=({files:e,oldPrefix:t,newPrefix:n})=>{let r={};for(let[i,a]of Object.entries(e)){if(!i.startsWith(t)){r[i]=a;continue}let e=`${n}${i.slice(t.length)}`;r[e]={...a,path:e}}return r},xr=e=>{switch(rr(e)){case`css`:case`scss`:case`sass`:case`less`:return h(()=>import(`./dist-CZgIBXQN.js`).then(e=>e.r).then(e=>e.css()),__vite__mapDeps([0,1,2,3]),import.meta.url);case`js`:case`cjs`:case`mjs`:return h(()=>import(`./dist-4m6pHdc0.js`).then(e=>e.t).then(e=>e.javascript()),__vite__mapDeps([4,1,2,3]),import.meta.url);case`json`:return h(()=>import(`./dist-B6bJuxL3.js`).then(e=>e.json()),__vite__mapDeps([5,2,3]),import.meta.url);case`md`:case`markdown`:return h(()=>import(`./dist-CiHx7vA5.js`).then(e=>e.markdown()),__vite__mapDeps([6,2,7,3,0,1,4]),import.meta.url);case`yaml`:case`yml`:return h(()=>import(`./dist-zwwGt8Yf.js`).then(e=>e.yaml()),__vite__mapDeps([8,2,3]),import.meta.url);case`hbs`:case`handlebars`:case`html`:case`htm`:case`svg`:case`xml`:return h(()=>import(`./dist-ECAUrdGc.js`).then(e=>e.html()),__vite__mapDeps([7,2,3,0,1,4]),import.meta.url);default:return h(()=>import(`./dist-ECAUrdGc.js`).then(e=>e.html()),__vite__mapDeps([7,2,3,0,1,4]),import.meta.url)}},Sr=e=>{let t=rr(e);if(!t)return`text`;switch(t){case`hbs`:return`handlebars`;case`htm`:return`html`;case`yml`:return`yaml`;default:return t}},Cr=e=>{if(e[`package.json`]?.editable)return{type:`file`,path:`package.json`};let t=Object.keys(e).sort().find(t=>e[t].editable);if(t)return{type:`file`,path:t};let n=Object.keys(e).sort()[0];return n?{type:`file`,path:n}:null},wr=e=>{let t=e.split(`/`),n=[``];for(let e=0;e<t.length-1;e+=1)n.push(`${t.slice(0,e+1).join(`/`)}/`);return n},Tr=[`theme`,`design`],Er=e=>Tr.some(t=>e===t||e.startsWith(`${t}/`)),Dr=()=>{let e=window.location.hash.substring(1),t=`${window.location.protocol}//${window.location.hostname}`,n;try{n=new URL(e||`/`,t)}catch{return null}let r=n.searchParams.get(`from`);return r===null?null:r===``||Er(r)?r:null},Or=(e,t)=>{let n=`theme/edit/${encodeURIComponent(e)}`;return t===null?n:`${n}?from=${encodeURIComponent(t)}`},kr=(e,t)=>!e.editable&&nr(t),Ar=/^[a-z0-9][\w-]{0,63}$/,jr=[`COMPRESSED_TOO_LARGE`,`ENTRY_TOO_LARGE`,`TOTAL_TOO_LARGE`],Mr={COMPRESSED_TOO_LARGE:`Theme too large to upload`,ENTRY_TOO_LARGE:`File too large`,TOTAL_TOO_LARGE:`Theme contents too large`},Nr=Y({errors:ke(Y({message:J().optional(),code:je(jr),errorDetails:Y({entryName:J().optional(),limitBytes:De().positive().finite().optional()}).optional()})).min(1)}),Pr=e=>{if(!e||e<=0)return`the allowed size`;let t=e/(1024*1024);return t>=1?`${t.toFixed(1)} MB`:`${Math.round(e/1024)} KB`},Fr=e=>{if(!(e instanceof d))return null;let t=e.data;if(typeof t==`string`)try{t=JSON.parse(t)}catch{return null}let n=Nr.safeParse(t);return n.success?n.data.errors[0]??null:null},Ir=e=>{let{entryName:t,limitBytes:n}=e.errorDetails??{},r=Pr(n);switch(e.code){case`COMPRESSED_TOO_LARGE`:return`The theme archive is too large to upload (max ${r}).`;case`ENTRY_TOO_LARGE`:return t?`The file "${t}" is too large (max ${r} per file).`:`One of the files is too large (max ${r} per file).`;case`TOTAL_TOO_LARGE`:return`The theme contents exceed the maximum allowed size of ${r}.`;default:return e.message||`Theme upload failed.`}},Lr=e=>`inline-flex h-5 w-5 items-center justify-center rounded-sm text-[#c8ccd3] transition-opacity hover:opacity-100 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#4a9eff] ${e?`opacity-100`:`opacity-60`}`,Rr=`flex h-full items-center justify-center p-8 text-center text-[13px] text-[#6a6f78]`,zr=vt.theme({"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:`#355070`},".cm-content ::selection":{color:`#ffffff`}},{dark:!0}),Br=({themeName:e})=>{let{updateRoute:t}=U(),n=c(),r=u(),{data:i}=Je(),{mutateAsync:s}=He(),[d,p]=(0,Z.useState)(e),[m,h]=(0,Z.useState)({}),[g,_]=(0,Z.useState)({}),[y,b]=(0,Z.useState)(``),[x,S]=(0,Z.useState)(null),[C,w]=(0,Z.useState)(new Set([``])),[T,E]=(0,Z.useState)(!0),[D,O]=(0,Z.useState)(!1),[k,A]=(0,Z.useState)(null),[j,te]=(0,Z.useState)(!1),[M,re]=(0,Z.useState)(null),N=(0,Z.useRef)(null),[ie,ae]=(0,Z.useState)(null),[P,le]=(0,Z.useState)(null),[F,I]=(0,Z.useState)([]);(0,Z.useEffect)(()=>{let t=!0,r=()=>{p(e),h({}),_({}),b(``),S(null),w(new Set([``]))};return(async()=>{E(!0),A(null),r();try{let r=await _r(await n(o(`/themes/${encodeURIComponent(e)}/download/`),{responseType:`arraybuffer`})),i=sr(r.files),a=Cr(i);if(!t)return;p(e),h(sr(r.files)),_(i),b(r.rootPrefix),S(a),w(new Set(a?.type===`file`?wr(a.path):[``]))}catch(n){if(!t)return;n instanceof l&&n.response?A(`Failed to load theme "${e}" (${n.response.status})`):A(n instanceof Error?n.message:`Failed to load theme`)}finally{t&&E(!1)}})(),()=>{t=!1}},[e,n]),(0,Z.useEffect)(()=>{let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[]);let L=(0,Z.useMemo)(()=>yr({baseFiles:m,currentFiles:g}),[m,g]),ue=(0,Z.useMemo)(()=>new Map(L.map(e=>[e.path,e.status])),[L]),R=x?.type===`file`?g[x.path]:null;(0,Z.useEffect)(()=>{let e=!0;return R?.editable?(xr(R.path).then(t=>{e&&I([se({top:!0}),oe,t,...j?[vt.lineWrapping]:[],zr])}).catch(()=>{e&&I([se({top:!0}),oe,...j?[vt.lineWrapping]:[],zr])}),()=>{e=!1}):(I([]),()=>{e=!1})},[j,R]);let z=(0,Z.useCallback)(()=>{let e=N.current;e&&(N.current=null,e.type===`confirmation`?e.resolve(!1):e.resolve(null))},[]),B=e=>(z(),new Promise(t=>{let n={type:`confirmation`,props:e,resolve:t};N.current=n,re(n)})),V=e=>(z(),new Promise(t=>{let n={type:`input`,props:e,resolve:t};N.current=n,re(n)}));(0,Z.useEffect)(()=>()=>z(),[z]);let H=async()=>{L.length>0&&!await B({title:`Discard changes?`,prompt:`You have unsaved theme changes. Close the editor and discard them?`,okLabel:`Discard changes`,okVariant:`destructive`})||t(Dr()??`design/change-theme`)},de=(0,Z.useRef)(async()=>{}),fe=!!(M||ie||P);(0,Z.useEffect)(()=>{let e=e=>{if((e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`s`){if(e.preventDefault(),fe){e.stopPropagation(),e.stopImmediatePropagation();return}de.current();return}e.key===`Escape`&&(fe||(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation()))};return window.addEventListener(`keydown`,e,!0),()=>{window.removeEventListener(`keydown`,e,!0)}},[fe]);let pe=e=>{w(t=>{let n=new Set(t);for(let t of wr(e))n.add(t);return n})},W=(e,t)=>{if(_(e),t){S(t),t.type===`file`&&pe(t.path);return}x?.type===`file`&&e[x.path]||S(Cr(e))},me=async()=>{let e=await V({title:`Create file`,fieldTitle:`File path`,initialValue:`partials/new-file.hbs`,okLabel:`Create file`,prompt:`Add a new editable file to this theme.`}),t=e?ir(e):null;if(!t)return;if(!nr(t)){f.error(`Only text files can be created here`,{description:`Use a text-based theme file extension such as .hbs, .css, .js, or .json.`});return}if(g[t]){f.error(`File already exists`);return}let n={...g,[t]:{path:t,editable:!0,content:``,binary:null,date:new Date,unixPermissions:null,dosPermissions:null}};W(n,{type:`file`,path:t})},he=async()=>{if(!x)return;let e=x.type===`dir`?x.path.replace(/\/$/,``):x.path,t=x.type===`dir`?`Rename folder to`:`Rename file to`,n=await V({title:x.type===`dir`?`Rename folder`:`Rename file`,fieldTitle:`Path`,initialValue:e,okLabel:`Rename`,prompt:t}),r=n?ir(n):null;if(!r||r===e)return;if(x.type===`file`){let e=g[x.path];if(!nr(r)&&e.editable){f.error(`Text files must keep a text file extension`);return}if(kr(e,r)){f.error(`Binary files cannot be renamed to a text file`,{description:`Rename this file with a non-text extension to keep its contents intact.`});return}if(g[r]){f.error(`A file with that name already exists`);return}let t={...g},n=t[x.path];delete t[x.path],t[r]={...n,path:r,editable:nr(r)},W(t,{type:`file`,path:r});return}let i=`${r}/`;if(i.startsWith(x.path)){f.error(`A folder cannot be renamed inside itself`);return}if(Object.keys(g).find(e=>e.startsWith(i))){f.error(`A folder with that path already exists`);return}let a=br({files:g,oldPrefix:x.path,newPrefix:i});W(a,{type:`dir`,path:i}),w(e=>{let t=new Set;for(let n of e){if(!n.startsWith(x.path)){t.add(n);continue}t.add(`${i}${n.slice(x.path.length)}`)}return t})},ge=async()=>{if(!x)return;if(x.type===`file`){if(!await B({title:`Delete file`,prompt:(0,Q.jsxs)(Q.Fragment,{children:[`Delete `,(0,Q.jsx)(`strong`,{children:x.path}),` from this theme?`]}),okLabel:`Delete`,okVariant:`destructive`}))return;let e={...g};delete e[x.path],W(e);return}let e=Object.keys(g).filter(e=>e.startsWith(x.path));if(!e.length||!await B({title:`Delete folder`,prompt:(0,Q.jsxs)(Q.Fragment,{children:[`Delete `,v(e.length),` file`,e.length===1?``:`s`,` `,`from `,(0,Q.jsx)(`strong`,{children:x.path}),`?`]}),okLabel:`Delete`,okVariant:`destructive`}))return;let t={...g};for(let n of e)delete t[n];W(t)},_e=e=>{let t=m[e],n=g[e],r={...g};!t&&n?delete r[e]:t&&(r[e]={...t,binary:t.binary?new Uint8Array(t.binary):null}),W(r)},ve=async()=>{let e=(await V({title:`Save as new theme`,fieldTitle:`Theme name`,initialValue:`${d}-edited`,okLabel:`Continue`,prompt:`Default themes cannot be overwritten. Save your edits as a new theme instead.`}))?.trim().toLowerCase();return e?Ar.test(e)?ar(e)?(f.error(`Built-in themes cannot be overwritten`),null):e:(f.error(`Invalid theme name`,{description:`Use 1-64 characters, starting with a letter or number. Allowed: letters, numbers, dashes, and underscores.`}),null):null},ye=async()=>{if(D)return;if(L.length===0){f.info(`No changes to save`);return}let e=d,n=ar(e)?await ve():e;if(!n)return;let o=n!==e,c=i?.themes.some(e=>e.name===n)||!1,l=o?`Save your edits as "${n}"?`:`Upload ${v(L.length)} changed file${L.length===1?``:`s`} and replace "${e}"?`;if(await B({title:o?`Save theme as new copy`:`Update theme`,prompt:l,okLabel:o?`Save theme`:`Replace theme`})&&!(o&&c&&!await B({title:`Overwrite theme`,prompt:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`strong`,{children:n}),` already exists. Do you want to overwrite it?`]}),okLabel:`Overwrite`,okVariant:`destructive`}))){O(!0);try{let r=await vr({files:g,rootPrefix:y}),i=(await s({file:new File([r],`${n}.zip`,{type:`application/zip`}),copySettingsFrom:o?e:void 0})).themes[0],a=Dr();h(sr(g)),o&&(p(n),b(y?`${n}/`:``),t(Or(n,a)));let c=Nt(i);o||c.length?le({title:o?`Theme saved`:`Theme updated`,action:`saved`,installedTheme:i}):f.success(`Theme saved`,{description:(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`span`,{className:`capitalize`,children:i.name}),` has been updated.`]})})}catch(e){if(e instanceof a&&e.response?.status===422){let t=Mt(e.data?.errors);if(t){ae(t);return}}let t=Fr(e);if(t){f.error(Mr[t.code],{description:Ir(t)});return}r(e)}finally{O(!1)}}};(0,Z.useEffect)(()=>{de.current=ye});let be=e=>{S({type:`file`,path:e}),pe(e)},xe=R?ue.get(R.path):null;return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{"aria-label":`Edit theme ${e}`,"aria-modal":`true`,className:`dark fixed inset-0 z-[140] bg-[rgba(10,11,13,0.72)] text-[#e6e7ea] backdrop-blur-[4px]`,"data-testid":`theme-code-editor-modal`,role:`dialog`,onClick:e=>{e.target===e.currentTarget&&H()},children:(0,Q.jsxs)(`div`,{className:`relative flex size-full flex-col overflow-hidden bg-[#15171a]`,children:[(0,Q.jsx)(Gn,{changes:L,currentThemeName:d,isSaving:D,onClose:()=>void H(),onSave:()=>void ye()}),k&&(0,Q.jsx)(`div`,{className:`border-b border-[#512828] bg-[#3a1d1d] px-4 py-2 text-[12px] text-[#ffbdbd]`,children:k}),(0,Q.jsxs)(`div`,{className:`flex min-h-0 flex-1`,children:[(0,Q.jsx)(Yn,{changesMap:ue,currentFiles:g,expandedDirectories:C,isLoading:T,selectedNode:x,setExpandedDirectories:w,setSelectedNode:S,onCreateFile:()=>void me(),onDeleteSelected:()=>void ge(),onOpenFile:be,onRenameSelected:()=>void he()}),(0,Q.jsxs)(`section`,{className:`flex min-w-0 flex-1 flex-col bg-[#16181c]`,children:[(0,Q.jsx)(`div`,{className:`flex items-center gap-2 border-b border-[#23262c] bg-[#17191d] px-4 py-2 text-[12px] text-[#8a8f98]`,children:R?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{className:`min-w-0 truncate font-medium text-[#e6e7ea]`,children:R.path}),(0,Q.jsx)(`span`,{className:`rounded bg-[#2a2d33] px-2 py-0.5 text-[10px] tracking-[0.04em] text-[#c8ccd3] uppercase`,children:Sr(R.path)}),xe&&(0,Q.jsxs)(`button`,{className:`inline-flex items-center gap-1 rounded px-2 py-0.5 text-[10px] tracking-[0.04em] uppercase ${xe===`deleted`?`bg-[#4a2222] text-[#ffbdbd]`:xe===`added`?`bg-[#17342a] text-[#a5e8c8]`:`bg-[#3b2a16] text-[#f5a623]`}`,type:`button`,onClick:()=>_e(R.path),children:[(0,Q.jsx)(ee,{size:11}),`Revert`]}),(0,Q.jsx)(`div`,{className:`grow`}),R.editable&&(0,Q.jsx)(`button`,{"aria-label":j?`Disable text wrap`:`Enable text wrap`,"aria-pressed":j,className:Lr(j),title:j?`Disable text wrap`:`Enable text wrap`,type:`button`,onClick:()=>te(e=>!e),children:(0,Q.jsx)(ne,{className:`shrink-0`,size:14,strokeWidth:2})})]}):(0,Q.jsx)(`span`,{children:`No file selected`})}),(0,Q.jsxs)(`div`,{className:`min-h-0 flex-1`,children:[!x&&!T&&(0,Q.jsx)(`div`,{className:Rr,children:`Select a file from the tree to start editing.`}),x?.type===`dir`&&(0,Q.jsx)(`div`,{className:Rr,children:`Folder selected. Choose a file to edit, or rename or delete the folder from the file pane.`}),R&&!R.editable&&(0,Q.jsx)(`div`,{className:Rr,children:`This file cannot be edited in the browser.`}),R?.editable&&(0,Q.jsx)(ce,{basicSetup:{highlightActiveLine:!1,highlightActiveLineGutter:!1},className:`h-full [&_.cm-button]:h-8 [&_.cm-button]:rounded-md [&_.cm-button]:border [&_.cm-button]:border-[#2f333b] [&_.cm-button]:bg-[#1f2228] [&_.cm-button]:bg-none [&_.cm-button]:px-3 [&_.cm-button]:text-[13px] [&_.cm-button]:text-[#c8ccd3] [&_.cm-button:hover]:bg-[#2a2d33] [&_.cm-content]:min-h-full [&_.cm-content]:py-3 [&_.cm-content_*::selection]:bg-[#355070] [&_.cm-cursor]:border-l-[#e6e7ea] [&_.cm-editor]:h-full [&_.cm-editor]:rounded-none [&_.cm-editor]:border-0 [&_.cm-editor]:bg-[#16181c] [&_.cm-gutters]:border-r-[#23262c] [&_.cm-gutters]:bg-[#17191d] [&_.cm-line::selection]:bg-[#355070] [&_.cm-panel]:bg-[#17191d] [&_.cm-panel]:shadow-none [&_.cm-panel.cm-search]:gap-2 [&_.cm-panel.cm-search]:px-3 [&_.cm-panel.cm-search]:py-2 [&_.cm-panel.cm-search]:text-[13px] [&_.cm-panels]:border-b [&_.cm-panels]:border-[#23262c] [&_.cm-panels]:bg-[#17191d] [&_.cm-panels]:text-[#c8ccd3] [&_.cm-scroller]:min-h-full [&_.cm-scroller]:overflow-auto [&_.cm-scroller]:bg-[#16181c] [&_.cm-search]:flex [&_.cm-search]:flex-wrap [&_.cm-search]:items-center [&_.cm-search]:gap-2 [&_.cm-search_label]:inline-flex [&_.cm-search_label]:items-center [&_.cm-search_label]:gap-1.5 [&_.cm-search_label]:text-[#a5abb4] [&_.cm-search_label_input]:size-4 [&_.cm-search_label_input]:accent-[#14b886] [&_.cm-searchMatch]:bg-[#243043] [&_.cm-searchMatch-selected]:bg-[#3b2a16] [&_.cm-searchMatch-selected]:outline-none [&_.cm-selectionBackground]:!bg-[#355070] [&_.cm-selectionLayer_.cm-selectionBackground]:!bg-[#355070] [&_.cm-textfield]:h-8 [&_.cm-textfield]:min-w-[220px] [&_.cm-textfield]:rounded-md [&_.cm-textfield]:border [&_.cm-textfield]:border-[#2f333b] [&_.cm-textfield]:bg-[#16181c] [&_.cm-textfield]:px-2.5 [&_.cm-textfield]:text-[#e6e7ea] [&_.cm-textfield]:outline-none [&_.cm-textfield]:placeholder:text-[#6a6f78]`,extensions:F,height:`full`,theme:oe,value:R.content||``,autoFocus:!0,onChange:e=>{_(t=>({...t,[R.path]:{...t[R.path],content:e}}))}},`${R.path}:${F.length}`)]})]})]})]})}),M?.type===`confirmation`&&(0,Q.jsx)(Bn,{...M.props,onResolve:e=>{N.current===M&&(N.current=null,re(null),M.resolve(e))}}),M?.type===`input`&&(0,Q.jsx)(Vn,{...M.props,onResolve:e=>{N.current===M&&(N.current=null,re(null),M.resolve(e))}}),ie&&(0,Q.jsx)(nn,{action:`saved`,cancelLabel:`Close`,fatalErrors:ie,themeName:d,title:`Theme not saved`,onClose:()=>ae(null)}),P&&(0,Q.jsx)(hn,{...P,onClose:()=>le(null)})]})},Vr=()=>{let{route:e,updateRoute:t}=U(),n=gt(),r=e,[i,a]=(0,Z.useState)(null),[o,s]=(0,Z.useState)(!1),[c,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(null),[f,p]=(0,Z.useState)(!1),{checkThemeLimitError:m,isThemeLimitCheckReady:h,noThemeChangesAllowed:g,isThemeLimited:_}=Et(),[v,y]=(0,Z.useState)(null),[b,x]=(0,Z.useState)(!1),{themeName:S,isInvalid:C}=Zn(r),{showLimit:w}=mt(),T=(0,Z.useCallback)(e=>{w({prompt:e,onOk:()=>t({route:n,isExternal:!0})})},[w,t,n]);if((0,Z.useEffect)(()=>{r===`design/change-theme`&&h?(async()=>{if(!g){s(!1),a(null);return}s(!0);let e=await m();a(e),s(!1),e&&(T(e),t(`theme`))})():(a(null),s(!1))},[m,r,h,g,T,t]),(0,Z.useEffect)(()=>{r!==`theme/install`&&(x(!1),y(null),l(!1))},[r]),(0,Z.useEffect)(()=>{C&&t(`theme`)},[C,t]),(0,Z.useEffect)(()=>{let e=!1;return(async()=>{if(!S){d(null),p(!1);return}if(!h){p(!0);return}if(!_){d(null),p(!1);return}p(!0);let n=await m(`.`);e||(d(n),p(!1),n&&(T(n),t(`theme`)))})(),()=>{e=!0}},[m,S,h,_,T,t]),(0,Z.useEffect)(()=>{let e=()=>{let e=window.location.href.split(`#`)[1]?.split(`?`)[1];return e?new URLSearchParams(e).get(`ref`):null},n=e=>{y(!1),T(e),t({route:`theme`,replace:!0})};(async()=>{if(r!==`theme/install`){l(!1);return}if(x(!0),!h){l(!0);return}if(!_){y(!0),l(!1);return}l(!0);let t=e();if(!t){y(!1),l(!1);return}let i=t.split(`/`)[1]?.toLowerCase(),a=await m(i);if(r!==`theme/install`){l(!1);return}if(a){y(!1),l(!1),n(a);return}y(!0),l(!1)})()},[m,r,h,g,_,T,t]),r===`design/edit`)return(0,Q.jsx)(zn,{});if(r===`design/change-theme`)return o||i?null:(0,Q.jsx)(Cn,{});if(r===`theme/install`){if(!b||!h||c||v===null||!v)return null;let e=window.location.href.split(`#`)[1]?.split(`?`)[1],t=null,n=null;if(e){let r=new URLSearchParams(e);t=r.get(`ref`),n=r.get(`source`)}return(0,Q.jsx)(Cn,{source:n,themeRef:t})}else if(r.startsWith(`theme/edit/`))return C||!S||f||u?null:(0,Q.jsx)(Br,{themeName:S});else return null};export{Vr as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{l as r}from"./dist-B3keLvjj.js";import{t as i}from"./stack-B2eszIiq.js";import{t as a}from"./button-eNMKQWXr.js";import{ar as o,er as s,ir as c,nr as l,or as u,rr as d,sr as f,tr as p}from"./index-6MkPdCtr.js";var m=e(t(),1),h=n();function g(){let e=m.useRef(null),[t,n]=m.useState(!1),r=m.useCallback((t,r)=>{if(!t){r();return}e.current=r,n(!0)},[]),i=m.useCallback(t=>{n(t),t||(e.current=null)},[]);return{confirm:r,dialogProps:{open:t,onConfirm:m.useCallback(()=>{let t=e.current;e.current=null,n(!1),t?.()},[]),onOpenChange:i}}}function _({className:e,description:t,open:n,testId:m=`confirmation-modal`,title:g=`Are you sure you want to leave this page?`,onConfirm:_,onOpenChange:v}){return(0,h.jsx)(s,{open:n,onOpenChange:v,children:(0,h.jsxs)(d,{className:r(`z-[1100]`,e),"data-testid":m,overlayClassName:`z-[1100]`,onEscapeKeyDown:e=>e.stopPropagation(),children:[(0,h.jsxs)(u,{children:[(0,h.jsx)(f,{children:g}),(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(i,{gap:`sm`,children:t||(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`p`,{children:`Hey there! It looks like you didn't save the changes you made.`}),(0,h.jsx)(`p`,{children:`Save before you go!`})]})})})]}),(0,h.jsxs)(o,{children:[(0,h.jsx)(l,{asChild:!0,children:(0,h.jsx)(a,{variant:`outline`,children:`Stay`})}),(0,h.jsx)(p,{className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,asChild:!0,children:(0,h.jsx)(a,{variant:`destructive`,onClick:_,children:`Leave`})})]})]})})}export{g as n,_ as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-DAXXjFlN.js";import{t as e}from"./react-Bb3IsNbi.js";import{t}from"./jsx-runtime-DX3WBWVO.js";import{a as n}from"./router-provider-B0gZyiGJ.js";import{
|
|
1
|
+
import"./rolldown-runtime-DAXXjFlN.js";import{t as e}from"./react-Bb3IsNbi.js";import{t}from"./jsx-runtime-DX3WBWVO.js";import{a as n}from"./router-provider-B0gZyiGJ.js";import{jr as r,t as i}from"./button-eNMKQWXr.js";import{t as a}from"./empty-indicator-D9QdpuNX.js";e();var o=t(),s=({className:e})=>{let t=n();return(0,o.jsx)(a,{actions:(0,o.jsx)(i,{variant:`outline`,onClick:()=>t(`/settings/analytics`),children:`Open settings`}),className:e,description:`Enable member source tracking in settings to see which content drives member growth.`,title:`Member sources have been disabled`,children:(0,o.jsx)(r,{})})};export{s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{a as r,n as i}from"./dist-B3keLvjj.js";import{b as a,d as o,l as s,u as c,v as l,x as u,y as d}from"./shade-app-CcS3f8MZ-vwURazk8.js";import{a as f,r as p}from"./dist-8YJUlf3B.js";import{a as m,i as h,r as g,t as _}from"./Combination-B0l4MKVh.js";var v=e(t(),1),y=n(),b=`Dialog`,[x,S]=f(b),[C,w]=x(b),T=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,c=v.useRef(null),u=v.useRef(null),[d,f]=s({prop:r,defaultProp:i??!1,onChange:a,caller:b});return(0,y.jsx)(C,{scope:t,triggerRef:c,contentRef:u,contentId:l(),titleId:l(),descriptionId:l(),open:d,onOpenChange:f,onOpenToggle:v.useCallback(()=>f(e=>!e),[f]),modal:o,children:n})};T.displayName=b;var E=`DialogTrigger`,D=v.forwardRef((e,t)=>{let{__scopeDialog:n,...i}=e,a=w(E,n),o=r(t,a.triggerRef);return(0,y.jsx)(p.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":q(a.open),...i,ref:o,onClick:u(e.onClick,a.onOpenToggle)})});D.displayName=E;var O=`DialogPortal`,[k,A]=x(O,{forceMount:void 0}),j=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=w(O,t);return(0,y.jsx)(k,{scope:t,forceMount:n,children:v.Children.map(r,e=>(0,y.jsx)(c,{present:n||a.open,children:(0,y.jsx)(o,{asChild:!0,container:i,children:e})}))})};j.displayName=O;var M=`DialogOverlay`,N=v.forwardRef((e,t)=>{let n=A(M,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=w(M,e.__scopeDialog);return a.modal?(0,y.jsx)(c,{present:r||a.open,children:(0,y.jsx)(F,{...i,ref:t})}):null});N.displayName=M;var P=i(`DialogOverlay.RemoveScroll`),F=v.forwardRef((e,t)=>{let{__scopeDialog:n,...i}=e,o=w(M,n),s=r(t,a());return(0,y.jsx)(_,{as:P,allowPinchZoom:!0,shards:[o.contentRef],children:(0,y.jsx)(p.div,{"data-state":q(o.open),...i,ref:s,style:{pointerEvents:`auto`,...i.style}})})}),I=`DialogContent`,L=v.forwardRef((e,t)=>{let n=A(I,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=w(I,e.__scopeDialog);return(0,y.jsx)(c,{present:r||a.open,children:a.modal?(0,y.jsx)(R,{...i,ref:t}):(0,y.jsx)(z,{...i,ref:t})})});L.displayName=I;var R=v.forwardRef((e,t)=>{let n=w(I,e.__scopeDialog),i=v.useRef(null),a=r(t,n.contentRef,i);return v.useEffect(()=>{let e=i.current;if(e)return g(e)},[]),(0,y.jsx)(B,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:u(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:u(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:u(e.onFocusOutside,e=>e.preventDefault())})}),z=v.forwardRef((e,t)=>{let n=w(I,e.__scopeDialog),r=v.useRef(!1),i=v.useRef(!1);return(0,y.jsx)(B,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),B=v.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=w(I,n);return m(),(0,y.jsx)(y.Fragment,{children:(0,y.jsx)(h,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,y.jsx)(d,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":q(s.open),...o,ref:t,deferPointerDownOutside:!0,onDismiss:()=>s.onOpenChange(!1)})})})}),V=`DialogTitle`,H=v.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=w(V,n);return(0,y.jsx)(p.h2,{id:i.titleId,...r,ref:t})});H.displayName=V;var U=`DialogDescription`,W=v.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=w(U,n);return(0,y.jsx)(p.p,{id:i.descriptionId,...r,ref:t})});W.displayName=U;var G=`DialogClose`,K=v.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=w(G,n);return(0,y.jsx)(p.button,{type:`button`,...r,ref:t,onClick:u(e.onClick,()=>i.onOpenChange(!1))})});K.displayName=G;function q(e){return e?`open`:`closed`}export{N as a,D as c,W as i,S as l,K as n,j as o,L as r,H as s,T as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{t as r}from"./inline-BWSs_VzR.js";import{n as ee}from"./heading-Dh5SFVjL.js";import{a as te,i as ne,o as re,r as ie}from"./shade-app-CcS3f8MZ-vwURazk8.js";import{In as ae,d as oe,t as i}from"./button-eNMKQWXr.js";import{t as a}from"./skeleton-Ce9GgUpf.js";import{i as o,o as s,t as c}from"./field-Dihp5p18.js";import{$n as l,Cn as se,Jt as ce,Qn as u,Xt as le,bn as ue,dt as de,ht as fe,yn as pe}from"./index-6MkPdCtr.js";import"./layout-Bjv2Ll-5.js";import{n as me,t as d}from"./social-web-handle-CvfIKPww.js";var f=e(t(),1),p=n();function m(e){let t=e.trim();if(t===``)return null;try{return new URL(t.includes(`://`)?t:`https://${t}`).host||null}catch{return t.replace(/^[a-z][a-z\d+\-.]*:\/\//i,``).split(/[/?#]/)[0]||null}}function he(e,t){if(e)try{return new URL(e).host}catch{}return t?.split(`@`).at(-1)??``}function ge(e,t){if(!e)return``;try{return new URL(e,t||window.location.origin).toString()}catch{return e}}async function _e(e){if(navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(e);return}catch{}let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.position=`fixed`,t.style.left=`-9999px`,t.style.top=`0`,document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t)}var h=()=>{let{data:e,isLoading:t}=le(`index`,`me`),{data:n}=de(),{data:h,isLoading:g,isError:_}=ce(`index`),v=pe(`index`),y=se(`index`),b=ue(e?.handle||`index`),[x,S]=(0,f.useState)(``),[C,w]=(0,f.useState)(``),[T,E]=(0,f.useState)(null),[D,O]=(0,f.useState)(!1),[k,A]=(0,f.useState)(!1),[j,M]=(0,f.useState)(!1),[N,P]=(0,f.useState)(null),[F,I]=(0,f.useState)(null),[L,R]=(0,f.useState)(null),[ve,z]=(0,f.useState)(!1),[ye,B]=(0,f.useState)(!1),V=(0,f.useRef)(null);(0,f.useEffect)(()=>{e?.handle&&(w(d(e.handle).username),E(null))},[e?.handle]),(0,f.useEffect)(()=>()=>{V.current&&window.clearTimeout(V.current)},[]);let H=m(x),U=h?.domain??null,W=he(h?.actorUrl,h?.handle),G=d(e?.handle).username,K=b.isPending,be=v.isPending||y.isPending,q=g||be,J=t||K||!e,Y=!!(D&&C!==G),X=!!(j&&H&&(!U||N===H)),xe=!!(k&&H&&!j),Se=!!(X&&H&&H!==N),Ce=!!(N&&H===N),we=H?`https://${H}/.well-known/webfinger`:``,Te=W?`https://${W}/.well-known/webfinger`:``,Z=d(h?.handle),Q={username:D?C:Z.username,domain:(k||j)&&x?H??x.trim():Z.domain},Ee=`@${Q.username}@${Q.domain}`,De=ge(e?.avatarUrl||n?.site?.icon,n?.site?.url),Oe=e=>{e.preventDefault();let t=m(new FormData(e.currentTarget).get(`domain`)?.toString()??``);t&&(S(t),A(!0),M(!0),I(null),R(null))},ke=async()=>{if(!(!H||!Se)){I(null),R(null);try{await y.mutateAsync(H),P(H)}catch{R(`Redirect could not be validated`)}}},Ae=async()=>{if(N){I(null),R(null);try{await v.mutateAsync(N),S(``),A(!1),M(!1),P(null)}catch{I(`Could not save the custom domain. Try again.`)}}},$=()=>{S(``),A(!1),M(!1),P(null),I(null),R(null)},je=async()=>{if(!e||!D||!Y)return;let t=me(C);if(t){E(t);return}E(null);try{await b.mutateAsync({name:e.name,username:C,bio:e.bio??``,avatarUrl:e.avatarUrl||``,bannerImageUrl:e.bannerImageUrl||``}),O(!1)}catch{E(`Could not save the Social Web username. Try again.`)}},Me=()=>{w(G),E(null),O(!1)},Ne=async()=>{I(null);try{await v.mutateAsync(null),S(``),A(!1),M(!1),P(null)}catch{I(`Could not remove the custom domain. Try again.`)}},Pe=async()=>{!Q.username||!Q.domain||(await _e(Ee),z(!0),B(!0),V.current&&window.clearTimeout(V.current),V.current=window.setTimeout(()=>{z(!1),B(!1)},2e3))};return(0,p.jsx)(fe,{children:(0,p.jsxs)(`div`,{className:`mx-auto max-w-[620px] py-[min(4vh,48px)]`,children:[(0,p.jsx)(r,{gap:`2xl`,justify:`between`,children:(0,p.jsx)(ee,{children:`Your social web handle`})}),(0,p.jsx)(`p`,{className:`mt-3 text-base text-muted-foreground`,children:`Like an email address, your handle is how people can find and interact with you.`}),(0,p.jsx)(`div`,{className:`mt-10`,children:(0,p.jsx)(`div`,{className:`rounded-md border border-border-default bg-sidebar px-4 pt-3 pb-4`,children:(0,p.jsx)(c,{children:g?(0,p.jsx)(a,{className:`mt-2 h-16 w-full`}):_?(0,p.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Could not load your Social Web handle.`}):(0,p.jsxs)(`div`,{className:`mt-3 flex items-start gap-2`,children:[(0,p.jsx)(`div`,{className:`mt-[-5px] flex size-7 shrink-0 items-center justify-center overflow-hidden rounded-full bg-surface-elevated text-muted-foreground ring-1 ring-border-default`,children:t?(0,p.jsx)(a,{className:`size-7 rounded-full`}):De?(0,p.jsx)(`img`,{alt:e?.name||n?.site?.title||``,className:`size-full rounded-full object-cover`,referrerPolicy:`no-referrer`,src:De}):(0,p.jsx)(oe,{className:`size-4`,strokeWidth:1.5})}),(0,p.jsx)(`div`,{className:`-ml-14 min-w-0 overflow-x-auto px-14`,children:(0,p.jsxs)(`div`,{"aria-label":`Social Web handle breakdown`,className:`inline-flex pb-9 font-mono text-xl leading-none font-medium whitespace-nowrap text-foreground select-none`,role:`group`,children:[(0,p.jsx)(`span`,{children:`@`}),(0,p.jsxs)(`div`,{className:`relative`,children:[(0,p.jsx)(`span`,{children:Q.username}),(0,p.jsxs)(`div`,{className:`absolute top-7 left-0 w-full border-t border-border-strong before:absolute before:top-[-5px] before:left-0 before:h-[5px] before:border-l before:border-border-strong after:absolute after:top-[-5px] after:right-0 after:h-[5px] after:border-l after:border-border-strong`,children:[(0,p.jsx)(`span`,{"aria-hidden":`true`,className:`absolute top-0 left-1/2 h-[5px] border-l border-border-strong`}),(0,p.jsx)(`div`,{className:`absolute top-2 right-0 w-max min-w-full text-center font-sans text-[10px] leading-normal font-medium whitespace-nowrap text-muted-foreground uppercase`,children:`Username`})]})]}),(0,p.jsx)(`span`,{className:`ml-px`,children:`@`}),(0,p.jsxs)(`div`,{className:`relative`,children:[(0,p.jsx)(`span`,{children:Q.domain}),(0,p.jsxs)(`div`,{className:`absolute top-7 left-0 w-full border-t border-state-success before:absolute before:top-[-5px] before:left-0 before:h-[5px] before:border-l before:border-state-success after:absolute after:top-[-5px] after:right-0 after:h-[5px] after:border-l after:border-state-success`,children:[(0,p.jsx)(`span`,{"aria-hidden":`true`,className:`absolute top-0 left-1/2 h-[5px] border-l border-state-success`}),(0,p.jsx)(`div`,{className:`absolute top-2 left-0 w-max min-w-full text-center font-sans text-[10px] leading-normal font-medium whitespace-nowrap text-state-success uppercase`,children:`Domain`})]})]}),h?.handle&&(0,p.jsx)(te,{delayDuration:0,children:(0,p.jsxs)(ie,{open:ye,onOpenChange:B,children:[(0,p.jsx)(re,{asChild:!0,children:(0,p.jsx)(i,{"aria-label":`Copy Social Web handle`,className:`mt-[-2px] ml-1.5 size-5 shrink-0 self-start p-0 text-muted-foreground hover:text-foreground [&_svg]:size-3.5!`,type:`button`,variant:`ghost`,onClick:()=>{Pe()},children:(0,p.jsx)(ae,{size:12})})}),(0,p.jsx)(ne,{children:ve?`Copied!`:`Copy`})]})})]})})]})})})}),(0,p.jsx)(`form`,{className:`mt-10`,onSubmit:e=>{e.preventDefault(),je()},children:(0,p.jsxs)(c,{children:[(0,p.jsx)(s,{htmlFor:`social-web-username`,children:`Social web username`}),t?(0,p.jsx)(a,{className:`h-9 w-full`}):(0,p.jsxs)(r,{className:`flex-col items-stretch sm:flex-row sm:items-center`,gap:`md`,children:[(0,p.jsx)(l,{"aria-describedby":T?`social-web-username-error`:void 0,"aria-invalid":T?!0:void 0,autoComplete:`off`,className:`sm:flex-1`,disabled:J||!D,id:`social-web-username`,value:C,"data-1p-ignore":!0,onChange:e=>{w(e.target.value),E(null)}}),D?(0,p.jsxs)(r,{gap:`md`,justify:`end`,children:[(0,p.jsx)(i,{className:`h-9 text-sm sm:w-auto`,disabled:K,type:`button`,variant:`outline`,onClick:Me,children:`Cancel`}),(0,p.jsx)(i,{className:`h-9 text-sm sm:w-auto`,disabled:J||!Y,type:`submit`,children:K?(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(u,{color:`light`,size:`sm`}),`Saving...`]}):`Save`})]}):(0,p.jsx)(i,{"aria-label":`Edit Social web username`,className:`h-9 text-sm sm:w-auto`,disabled:J,type:`button`,variant:`outline`,onClick:()=>{w(G),E(null),O(!0)},children:`Edit`})]}),T&&(0,p.jsx)(o,{id:`social-web-username-error`,children:T})]})}),(0,p.jsx)(`div`,{className:`mt-10`,children:U&&!N?(0,p.jsxs)(c,{"data-invalid":F?!0:void 0,children:[(0,p.jsx)(s,{htmlFor:`social-web-active-domain`,children:`Social web domain`}),(0,p.jsxs)(r,{className:`flex-col items-stretch sm:flex-row sm:items-center`,gap:`md`,children:[(0,p.jsx)(l,{"aria-label":`Active social web domain`,autoComplete:`off`,className:`sm:flex-1`,id:`social-web-active-domain`,value:U,"data-1p-ignore":!0,disabled:!0}),(0,p.jsx)(i,{className:`h-9 text-sm sm:w-auto`,disabled:q,variant:`outline`,onClick:Ne,children:v.isPending?(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(u,{size:`sm`}),`Removing...`]}):`Remove`})]}),F&&(0,p.jsx)(o,{id:`social-web-domain-error`,children:F})]}):(0,p.jsxs)(`form`,{onSubmit:Oe,children:[(0,p.jsxs)(c,{"data-invalid":F?!0:void 0,children:[(0,p.jsx)(s,{htmlFor:`social-web-domain`,children:`Social web domain`}),(0,p.jsxs)(r,{className:`flex-col items-stretch sm:flex-row sm:items-center`,gap:`md`,children:[(0,p.jsx)(l,{"aria-describedby":F?`social-web-domain-error`:void 0,"aria-invalid":F?!0:void 0,"aria-label":`Social web domain`,autoComplete:`off`,className:`sm:flex-1`,disabled:q||!k||j,id:`social-web-domain`,name:`domain`,placeholder:W,value:k||j?x:W,"data-1p-ignore":!0,onChange:e=>{S(e.target.value),M(!1),P(null),I(null),R(null)}}),!X&&(k?(0,p.jsxs)(r,{gap:`md`,justify:`end`,children:[(0,p.jsx)(i,{className:`h-9 text-sm sm:w-auto`,disabled:q,type:`button`,variant:`outline`,onClick:$,children:`Cancel`}),(0,p.jsx)(i,{className:`h-9 text-sm sm:w-auto`,disabled:q||!xe||_,type:`submit`,children:`Activate`})]}):(0,p.jsx)(i,{"aria-label":`Edit Social web domain`,className:`h-9 text-sm sm:w-auto`,disabled:q||_,type:`button`,variant:`outline`,onClick:()=>{S(``),I(null),R(null),A(!0)},children:`Edit`}))]}),F&&(0,p.jsx)(o,{id:`social-web-domain-error`,children:F})]}),X&&(0,p.jsxs)(`div`,{className:`mt-6 rounded-md border border-border-default bg-surface-elevated p-4`,children:[(0,p.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:`Set up your redirect`}),(0,p.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Add a redirect or proxy service to forward social web requests to Ghost.`}),(0,p.jsxs)(`div`,{className:`mt-4 flex flex-col gap-3 text-sm`,children:[(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`div`,{className:`text-muted-foreground`,children:`Redirect from`}),(0,p.jsx)(`code`,{className:`mt-1 block overflow-x-auto rounded-sm bg-background px-3 py-2 text-foreground`,children:we})]}),(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`div`,{className:`text-muted-foreground`,children:`Redirect to`}),(0,p.jsx)(`code`,{className:`mt-1 block overflow-x-auto rounded-sm bg-background px-3 py-2 text-foreground`,children:Te})]})]})]}),X&&(0,p.jsxs)(r,{className:`mt-4 flex-col items-stretch sm:flex-row sm:items-center`,gap:`md`,justify:`between`,children:[(0,p.jsx)(`div`,{className:`text-sm text-destructive`,children:L}),(0,p.jsxs)(r,{gap:`md`,justify:`end`,children:[(0,p.jsx)(i,{disabled:q,variant:`outline`,onClick:$,children:`Cancel`}),Ce?(0,p.jsx)(i,{disabled:q,onClick:Ae,children:v.isPending?(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(u,{color:`light`,size:`sm`}),`Saving...`]}):`Save`}):(0,p.jsx)(i,{disabled:q||!Se||_,onClick:ke,children:y.isPending?(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(u,{color:`light`,size:`sm`}),`Validating...`]}):L?`Retry`:`Validate`})]})]})]})})]})})};export{h as default};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{o as e,t}from"./rolldown-runtime-DAXXjFlN.js";import{t as n}from"./react-Bb3IsNbi.js";import{t as r}from"./jsx-runtime-DX3WBWVO.js";import{l as i,o as a}from"./dist-B3keLvjj.js";import{n as o}from"./button-eNMKQWXr.js";import{n as s}from"./Combination-B0l4MKVh.js";import{t as c}from"./prop-types-DeUPn3oD.js";import{t as l}from"./input-surface-BsrIZeSF.js";var u=new Map([[`1km`,`application/vnd.1000minds.decision-model+xml`],[`3dml`,`text/vnd.in3d.3dml`],[`3ds`,`image/x-3ds`],[`3g2`,`video/3gpp2`],[`3gp`,`video/3gp`],[`3gpp`,`video/3gpp`],[`3mf`,`model/3mf`],[`7z`,`application/x-7z-compressed`],[`7zip`,`application/x-7z-compressed`],[`123`,`application/vnd.lotus-1-2-3`],[`aab`,`application/x-authorware-bin`],[`aac`,`audio/x-acc`],[`aam`,`application/x-authorware-map`],[`aas`,`application/x-authorware-seg`],[`abw`,`application/x-abiword`],[`ac`,`application/vnd.nokia.n-gage.ac+xml`],[`ac3`,`audio/ac3`],[`acc`,`application/vnd.americandynamics.acc`],[`ace`,`application/x-ace-compressed`],[`acu`,`application/vnd.acucobol`],[`acutc`,`application/vnd.acucorp`],[`adp`,`audio/adpcm`],[`aep`,`application/vnd.audiograph`],[`afm`,`application/x-font-type1`],[`afp`,`application/vnd.ibm.modcap`],[`ahead`,`application/vnd.ahead.space`],[`ai`,`application/pdf`],[`aif`,`audio/x-aiff`],[`aifc`,`audio/x-aiff`],[`aiff`,`audio/x-aiff`],[`air`,`application/vnd.adobe.air-application-installer-package+zip`],[`ait`,`application/vnd.dvb.ait`],[`ami`,`application/vnd.amiga.ami`],[`amr`,`audio/amr`],[`apk`,`application/vnd.android.package-archive`],[`apng`,`image/apng`],[`appcache`,`text/cache-manifest`],[`application`,`application/x-ms-application`],[`apr`,`application/vnd.lotus-approach`],[`arc`,`application/x-freearc`],[`arj`,`application/x-arj`],[`asc`,`application/pgp-signature`],[`asf`,`video/x-ms-asf`],[`asm`,`text/x-asm`],[`aso`,`application/vnd.accpac.simply.aso`],[`asx`,`video/x-ms-asf`],[`atc`,`application/vnd.acucorp`],[`atom`,`application/atom+xml`],[`atomcat`,`application/atomcat+xml`],[`atomdeleted`,`application/atomdeleted+xml`],[`atomsvc`,`application/atomsvc+xml`],[`atx`,`application/vnd.antix.game-component`],[`au`,`audio/x-au`],[`avi`,`video/x-msvideo`],[`avif`,`image/avif`],[`aw`,`application/applixware`],[`azf`,`application/vnd.airzip.filesecure.azf`],[`azs`,`application/vnd.airzip.filesecure.azs`],[`azv`,`image/vnd.airzip.accelerator.azv`],[`azw`,`application/vnd.amazon.ebook`],[`b16`,`image/vnd.pco.b16`],[`bat`,`application/x-msdownload`],[`bcpio`,`application/x-bcpio`],[`bdf`,`application/x-font-bdf`],[`bdm`,`application/vnd.syncml.dm+wbxml`],[`bdoc`,`application/x-bdoc`],[`bed`,`application/vnd.realvnc.bed`],[`bh2`,`application/vnd.fujitsu.oasysprs`],[`bin`,`application/octet-stream`],[`blb`,`application/x-blorb`],[`blorb`,`application/x-blorb`],[`bmi`,`application/vnd.bmi`],[`bmml`,`application/vnd.balsamiq.bmml+xml`],[`bmp`,`image/bmp`],[`book`,`application/vnd.framemaker`],[`box`,`application/vnd.previewsystems.box`],[`boz`,`application/x-bzip2`],[`bpk`,`application/octet-stream`],[`bpmn`,`application/octet-stream`],[`bsp`,`model/vnd.valve.source.compiled-map`],[`btif`,`image/prs.btif`],[`buffer`,`application/octet-stream`],[`bz`,`application/x-bzip`],[`bz2`,`application/x-bzip2`],[`c`,`text/x-c`],[`c4d`,`application/vnd.clonk.c4group`],[`c4f`,`application/vnd.clonk.c4group`],[`c4g`,`application/vnd.clonk.c4group`],[`c4p`,`application/vnd.clonk.c4group`],[`c4u`,`application/vnd.clonk.c4group`],[`c11amc`,`application/vnd.cluetrust.cartomobile-config`],[`c11amz`,`application/vnd.cluetrust.cartomobile-config-pkg`],[`cab`,`application/vnd.ms-cab-compressed`],[`caf`,`audio/x-caf`],[`cap`,`application/vnd.tcpdump.pcap`],[`car`,`application/vnd.curl.car`],[`cat`,`application/vnd.ms-pki.seccat`],[`cb7`,`application/x-cbr`],[`cba`,`application/x-cbr`],[`cbr`,`application/x-cbr`],[`cbt`,`application/x-cbr`],[`cbz`,`application/x-cbr`],[`cc`,`text/x-c`],[`cco`,`application/x-cocoa`],[`cct`,`application/x-director`],[`ccxml`,`application/ccxml+xml`],[`cdbcmsg`,`application/vnd.contact.cmsg`],[`cda`,`application/x-cdf`],[`cdf`,`application/x-netcdf`],[`cdfx`,`application/cdfx+xml`],[`cdkey`,`application/vnd.mediastation.cdkey`],[`cdmia`,`application/cdmi-capability`],[`cdmic`,`application/cdmi-container`],[`cdmid`,`application/cdmi-domain`],[`cdmio`,`application/cdmi-object`],[`cdmiq`,`application/cdmi-queue`],[`cdr`,`application/cdr`],[`cdx`,`chemical/x-cdx`],[`cdxml`,`application/vnd.chemdraw+xml`],[`cdy`,`application/vnd.cinderella`],[`cer`,`application/pkix-cert`],[`cfs`,`application/x-cfs-compressed`],[`cgm`,`image/cgm`],[`chat`,`application/x-chat`],[`chm`,`application/vnd.ms-htmlhelp`],[`chrt`,`application/vnd.kde.kchart`],[`cif`,`chemical/x-cif`],[`cii`,`application/vnd.anser-web-certificate-issue-initiation`],[`cil`,`application/vnd.ms-artgalry`],[`cjs`,`application/node`],[`cla`,`application/vnd.claymore`],[`class`,`application/octet-stream`],[`clkk`,`application/vnd.crick.clicker.keyboard`],[`clkp`,`application/vnd.crick.clicker.palette`],[`clkt`,`application/vnd.crick.clicker.template`],[`clkw`,`application/vnd.crick.clicker.wordbank`],[`clkx`,`application/vnd.crick.clicker`],[`clp`,`application/x-msclip`],[`cmc`,`application/vnd.cosmocaller`],[`cmdf`,`chemical/x-cmdf`],[`cml`,`chemical/x-cml`],[`cmp`,`application/vnd.yellowriver-custom-menu`],[`cmx`,`image/x-cmx`],[`cod`,`application/vnd.rim.cod`],[`coffee`,`text/coffeescript`],[`com`,`application/x-msdownload`],[`conf`,`text/plain`],[`cpio`,`application/x-cpio`],[`cpp`,`text/x-c`],[`cpt`,`application/mac-compactpro`],[`crd`,`application/x-mscardfile`],[`crl`,`application/pkix-crl`],[`crt`,`application/x-x509-ca-cert`],[`crx`,`application/x-chrome-extension`],[`cryptonote`,`application/vnd.rig.cryptonote`],[`csh`,`application/x-csh`],[`csl`,`application/vnd.citationstyles.style+xml`],[`csml`,`chemical/x-csml`],[`csp`,`application/vnd.commonspace`],[`csr`,`application/octet-stream`],[`css`,`text/css`],[`cst`,`application/x-director`],[`csv`,`text/csv`],[`cu`,`application/cu-seeme`],[`curl`,`text/vnd.curl`],[`cww`,`application/prs.cww`],[`cxt`,`application/x-director`],[`cxx`,`text/x-c`],[`dae`,`model/vnd.collada+xml`],[`daf`,`application/vnd.mobius.daf`],[`dart`,`application/vnd.dart`],[`dataless`,`application/vnd.fdsn.seed`],[`davmount`,`application/davmount+xml`],[`dbf`,`application/vnd.dbf`],[`dbk`,`application/docbook+xml`],[`dcr`,`application/x-director`],[`dcurl`,`text/vnd.curl.dcurl`],[`dd2`,`application/vnd.oma.dd2+xml`],[`ddd`,`application/vnd.fujixerox.ddd`],[`ddf`,`application/vnd.syncml.dmddf+xml`],[`dds`,`image/vnd.ms-dds`],[`deb`,`application/x-debian-package`],[`def`,`text/plain`],[`deploy`,`application/octet-stream`],[`der`,`application/x-x509-ca-cert`],[`dfac`,`application/vnd.dreamfactory`],[`dgc`,`application/x-dgc-compressed`],[`dic`,`text/x-c`],[`dir`,`application/x-director`],[`dis`,`application/vnd.mobius.dis`],[`disposition-notification`,`message/disposition-notification`],[`dist`,`application/octet-stream`],[`distz`,`application/octet-stream`],[`djv`,`image/vnd.djvu`],[`djvu`,`image/vnd.djvu`],[`dll`,`application/octet-stream`],[`dmg`,`application/x-apple-diskimage`],[`dmn`,`application/octet-stream`],[`dmp`,`application/vnd.tcpdump.pcap`],[`dms`,`application/octet-stream`],[`dna`,`application/vnd.dna`],[`doc`,`application/msword`],[`docm`,`application/vnd.ms-word.template.macroEnabled.12`],[`docx`,`application/vnd.openxmlformats-officedocument.wordprocessingml.document`],[`dot`,`application/msword`],[`dotm`,`application/vnd.ms-word.template.macroEnabled.12`],[`dotx`,`application/vnd.openxmlformats-officedocument.wordprocessingml.template`],[`dp`,`application/vnd.osgi.dp`],[`dpg`,`application/vnd.dpgraph`],[`dra`,`audio/vnd.dra`],[`drle`,`image/dicom-rle`],[`dsc`,`text/prs.lines.tag`],[`dssc`,`application/dssc+der`],[`dtb`,`application/x-dtbook+xml`],[`dtd`,`application/xml-dtd`],[`dts`,`audio/vnd.dts`],[`dtshd`,`audio/vnd.dts.hd`],[`dump`,`application/octet-stream`],[`dvb`,`video/vnd.dvb.file`],[`dvi`,`application/x-dvi`],[`dwd`,`application/atsc-dwd+xml`],[`dwf`,`model/vnd.dwf`],[`dwg`,`image/vnd.dwg`],[`dxf`,`image/vnd.dxf`],[`dxp`,`application/vnd.spotfire.dxp`],[`dxr`,`application/x-director`],[`ear`,`application/java-archive`],[`ecelp4800`,`audio/vnd.nuera.ecelp4800`],[`ecelp7470`,`audio/vnd.nuera.ecelp7470`],[`ecelp9600`,`audio/vnd.nuera.ecelp9600`],[`ecma`,`application/ecmascript`],[`edm`,`application/vnd.novadigm.edm`],[`edx`,`application/vnd.novadigm.edx`],[`efif`,`application/vnd.picsel`],[`ei6`,`application/vnd.pg.osasli`],[`elc`,`application/octet-stream`],[`emf`,`image/emf`],[`eml`,`message/rfc822`],[`emma`,`application/emma+xml`],[`emotionml`,`application/emotionml+xml`],[`emz`,`application/x-msmetafile`],[`eol`,`audio/vnd.digital-winds`],[`eot`,`application/vnd.ms-fontobject`],[`eps`,`application/postscript`],[`epub`,`application/epub+zip`],[`es`,`application/ecmascript`],[`es3`,`application/vnd.eszigno3+xml`],[`esa`,`application/vnd.osgi.subsystem`],[`esf`,`application/vnd.epson.esf`],[`et3`,`application/vnd.eszigno3+xml`],[`etx`,`text/x-setext`],[`eva`,`application/x-eva`],[`evy`,`application/x-envoy`],[`exe`,`application/octet-stream`],[`exi`,`application/exi`],[`exp`,`application/express`],[`exr`,`image/aces`],[`ext`,`application/vnd.novadigm.ext`],[`ez`,`application/andrew-inset`],[`ez2`,`application/vnd.ezpix-album`],[`ez3`,`application/vnd.ezpix-package`],[`f`,`text/x-fortran`],[`f4v`,`video/mp4`],[`f77`,`text/x-fortran`],[`f90`,`text/x-fortran`],[`fbs`,`image/vnd.fastbidsheet`],[`fcdt`,`application/vnd.adobe.formscentral.fcdt`],[`fcs`,`application/vnd.isac.fcs`],[`fdf`,`application/vnd.fdf`],[`fdt`,`application/fdt+xml`],[`fe_launch`,`application/vnd.denovo.fcselayout-link`],[`fg5`,`application/vnd.fujitsu.oasysgp`],[`fgd`,`application/x-director`],[`fh`,`image/x-freehand`],[`fh4`,`image/x-freehand`],[`fh5`,`image/x-freehand`],[`fh7`,`image/x-freehand`],[`fhc`,`image/x-freehand`],[`fig`,`application/x-xfig`],[`fits`,`image/fits`],[`flac`,`audio/x-flac`],[`fli`,`video/x-fli`],[`flo`,`application/vnd.micrografx.flo`],[`flv`,`video/x-flv`],[`flw`,`application/vnd.kde.kivio`],[`flx`,`text/vnd.fmi.flexstor`],[`fly`,`text/vnd.fly`],[`fm`,`application/vnd.framemaker`],[`fnc`,`application/vnd.frogans.fnc`],[`fo`,`application/vnd.software602.filler.form+xml`],[`for`,`text/x-fortran`],[`fpx`,`image/vnd.fpx`],[`frame`,`application/vnd.framemaker`],[`fsc`,`application/vnd.fsc.weblaunch`],[`fst`,`image/vnd.fst`],[`ftc`,`application/vnd.fluxtime.clip`],[`fti`,`application/vnd.anser-web-funds-transfer-initiation`],[`fvt`,`video/vnd.fvt`],[`fxp`,`application/vnd.adobe.fxp`],[`fxpl`,`application/vnd.adobe.fxp`],[`fzs`,`application/vnd.fuzzysheet`],[`g2w`,`application/vnd.geoplan`],[`g3`,`image/g3fax`],[`g3w`,`application/vnd.geospace`],[`gac`,`application/vnd.groove-account`],[`gam`,`application/x-tads`],[`gbr`,`application/rpki-ghostbusters`],[`gca`,`application/x-gca-compressed`],[`gdl`,`model/vnd.gdl`],[`gdoc`,`application/vnd.google-apps.document`],[`geo`,`application/vnd.dynageo`],[`geojson`,`application/geo+json`],[`gex`,`application/vnd.geometry-explorer`],[`ggb`,`application/vnd.geogebra.file`],[`ggt`,`application/vnd.geogebra.tool`],[`ghf`,`application/vnd.groove-help`],[`gif`,`image/gif`],[`gim`,`application/vnd.groove-identity-message`],[`glb`,`model/gltf-binary`],[`gltf`,`model/gltf+json`],[`gml`,`application/gml+xml`],[`gmx`,`application/vnd.gmx`],[`gnumeric`,`application/x-gnumeric`],[`gpg`,`application/gpg-keys`],[`gph`,`application/vnd.flographit`],[`gpx`,`application/gpx+xml`],[`gqf`,`application/vnd.grafeq`],[`gqs`,`application/vnd.grafeq`],[`gram`,`application/srgs`],[`gramps`,`application/x-gramps-xml`],[`gre`,`application/vnd.geometry-explorer`],[`grv`,`application/vnd.groove-injector`],[`grxml`,`application/srgs+xml`],[`gsf`,`application/x-font-ghostscript`],[`gsheet`,`application/vnd.google-apps.spreadsheet`],[`gslides`,`application/vnd.google-apps.presentation`],[`gtar`,`application/x-gtar`],[`gtm`,`application/vnd.groove-tool-message`],[`gtw`,`model/vnd.gtw`],[`gv`,`text/vnd.graphviz`],[`gxf`,`application/gxf`],[`gxt`,`application/vnd.geonext`],[`gz`,`application/gzip`],[`gzip`,`application/gzip`],[`h`,`text/x-c`],[`h261`,`video/h261`],[`h263`,`video/h263`],[`h264`,`video/h264`],[`hal`,`application/vnd.hal+xml`],[`hbci`,`application/vnd.hbci`],[`hbs`,`text/x-handlebars-template`],[`hdd`,`application/x-virtualbox-hdd`],[`hdf`,`application/x-hdf`],[`heic`,`image/heic`],[`heics`,`image/heic-sequence`],[`heif`,`image/heif`],[`heifs`,`image/heif-sequence`],[`hej2`,`image/hej2k`],[`held`,`application/atsc-held+xml`],[`hh`,`text/x-c`],[`hjson`,`application/hjson`],[`hlp`,`application/winhlp`],[`hpgl`,`application/vnd.hp-hpgl`],[`hpid`,`application/vnd.hp-hpid`],[`hps`,`application/vnd.hp-hps`],[`hqx`,`application/mac-binhex40`],[`hsj2`,`image/hsj2`],[`htc`,`text/x-component`],[`htke`,`application/vnd.kenameaapp`],[`htm`,`text/html`],[`html`,`text/html`],[`hvd`,`application/vnd.yamaha.hv-dic`],[`hvp`,`application/vnd.yamaha.hv-voice`],[`hvs`,`application/vnd.yamaha.hv-script`],[`i2g`,`application/vnd.intergeo`],[`icc`,`application/vnd.iccprofile`],[`ice`,`x-conference/x-cooltalk`],[`icm`,`application/vnd.iccprofile`],[`ico`,`image/x-icon`],[`ics`,`text/calendar`],[`ief`,`image/ief`],[`ifb`,`text/calendar`],[`ifm`,`application/vnd.shana.informed.formdata`],[`iges`,`model/iges`],[`igl`,`application/vnd.igloader`],[`igm`,`application/vnd.insors.igm`],[`igs`,`model/iges`],[`igx`,`application/vnd.micrografx.igx`],[`iif`,`application/vnd.shana.informed.interchange`],[`img`,`application/octet-stream`],[`imp`,`application/vnd.accpac.simply.imp`],[`ims`,`application/vnd.ms-ims`],[`in`,`text/plain`],[`ini`,`text/plain`],[`ink`,`application/inkml+xml`],[`inkml`,`application/inkml+xml`],[`install`,`application/x-install-instructions`],[`iota`,`application/vnd.astraea-software.iota`],[`ipfix`,`application/ipfix`],[`ipk`,`application/vnd.shana.informed.package`],[`irm`,`application/vnd.ibm.rights-management`],[`irp`,`application/vnd.irepository.package+xml`],[`iso`,`application/x-iso9660-image`],[`itp`,`application/vnd.shana.informed.formtemplate`],[`its`,`application/its+xml`],[`ivp`,`application/vnd.immervision-ivp`],[`ivu`,`application/vnd.immervision-ivu`],[`jad`,`text/vnd.sun.j2me.app-descriptor`],[`jade`,`text/jade`],[`jam`,`application/vnd.jam`],[`jar`,`application/java-archive`],[`jardiff`,`application/x-java-archive-diff`],[`java`,`text/x-java-source`],[`jhc`,`image/jphc`],[`jisp`,`application/vnd.jisp`],[`jls`,`image/jls`],[`jlt`,`application/vnd.hp-jlyt`],[`jng`,`image/x-jng`],[`jnlp`,`application/x-java-jnlp-file`],[`joda`,`application/vnd.joost.joda-archive`],[`jp2`,`image/jp2`],[`jpe`,`image/jpeg`],[`jpeg`,`image/jpeg`],[`jpf`,`image/jpx`],[`jpg`,`image/jpeg`],[`jpg2`,`image/jp2`],[`jpgm`,`video/jpm`],[`jpgv`,`video/jpeg`],[`jph`,`image/jph`],[`jpm`,`video/jpm`],[`jpx`,`image/jpx`],[`js`,`application/javascript`],[`json`,`application/json`],[`json5`,`application/json5`],[`jsonld`,`application/ld+json`],[`jsonl`,`application/jsonl`],[`jsonml`,`application/jsonml+json`],[`jsx`,`text/jsx`],[`jxr`,`image/jxr`],[`jxra`,`image/jxra`],[`jxrs`,`image/jxrs`],[`jxs`,`image/jxs`],[`jxsc`,`image/jxsc`],[`jxsi`,`image/jxsi`],[`jxss`,`image/jxss`],[`kar`,`audio/midi`],[`karbon`,`application/vnd.kde.karbon`],[`kdb`,`application/octet-stream`],[`kdbx`,`application/x-keepass2`],[`key`,`application/x-iwork-keynote-sffkey`],[`kfo`,`application/vnd.kde.kformula`],[`kia`,`application/vnd.kidspiration`],[`kml`,`application/vnd.google-earth.kml+xml`],[`kmz`,`application/vnd.google-earth.kmz`],[`kne`,`application/vnd.kinar`],[`knp`,`application/vnd.kinar`],[`kon`,`application/vnd.kde.kontour`],[`kpr`,`application/vnd.kde.kpresenter`],[`kpt`,`application/vnd.kde.kpresenter`],[`kpxx`,`application/vnd.ds-keypoint`],[`ksp`,`application/vnd.kde.kspread`],[`ktr`,`application/vnd.kahootz`],[`ktx`,`image/ktx`],[`ktx2`,`image/ktx2`],[`ktz`,`application/vnd.kahootz`],[`kwd`,`application/vnd.kde.kword`],[`kwt`,`application/vnd.kde.kword`],[`lasxml`,`application/vnd.las.las+xml`],[`latex`,`application/x-latex`],[`lbd`,`application/vnd.llamagraphics.life-balance.desktop`],[`lbe`,`application/vnd.llamagraphics.life-balance.exchange+xml`],[`les`,`application/vnd.hhe.lesson-player`],[`less`,`text/less`],[`lgr`,`application/lgr+xml`],[`lha`,`application/octet-stream`],[`link66`,`application/vnd.route66.link66+xml`],[`list`,`text/plain`],[`list3820`,`application/vnd.ibm.modcap`],[`listafp`,`application/vnd.ibm.modcap`],[`litcoffee`,`text/coffeescript`],[`lnk`,`application/x-ms-shortcut`],[`log`,`text/plain`],[`lostxml`,`application/lost+xml`],[`lrf`,`application/octet-stream`],[`lrm`,`application/vnd.ms-lrm`],[`ltf`,`application/vnd.frogans.ltf`],[`lua`,`text/x-lua`],[`luac`,`application/x-lua-bytecode`],[`lvp`,`audio/vnd.lucent.voice`],[`lwp`,`application/vnd.lotus-wordpro`],[`lzh`,`application/octet-stream`],[`m1v`,`video/mpeg`],[`m2a`,`audio/mpeg`],[`m2v`,`video/mpeg`],[`m3a`,`audio/mpeg`],[`m3u`,`text/plain`],[`m3u8`,`application/vnd.apple.mpegurl`],[`m4a`,`audio/x-m4a`],[`m4p`,`application/mp4`],[`m4s`,`video/iso.segment`],[`m4u`,`application/vnd.mpegurl`],[`m4v`,`video/x-m4v`],[`m13`,`application/x-msmediaview`],[`m14`,`application/x-msmediaview`],[`m21`,`application/mp21`],[`ma`,`application/mathematica`],[`mads`,`application/mads+xml`],[`maei`,`application/mmt-aei+xml`],[`mag`,`application/vnd.ecowin.chart`],[`maker`,`application/vnd.framemaker`],[`man`,`text/troff`],[`manifest`,`text/cache-manifest`],[`map`,`application/json`],[`mar`,`application/octet-stream`],[`markdown`,`text/markdown`],[`mathml`,`application/mathml+xml`],[`mb`,`application/mathematica`],[`mbk`,`application/vnd.mobius.mbk`],[`mbox`,`application/mbox`],[`mc1`,`application/vnd.medcalcdata`],[`mcd`,`application/vnd.mcd`],[`mcurl`,`text/vnd.curl.mcurl`],[`md`,`text/markdown`],[`mdb`,`application/x-msaccess`],[`mdi`,`image/vnd.ms-modi`],[`mdx`,`text/mdx`],[`me`,`text/troff`],[`mesh`,`model/mesh`],[`meta4`,`application/metalink4+xml`],[`metalink`,`application/metalink+xml`],[`mets`,`application/mets+xml`],[`mfm`,`application/vnd.mfmp`],[`mft`,`application/rpki-manifest`],[`mgp`,`application/vnd.osgeo.mapguide.package`],[`mgz`,`application/vnd.proteus.magazine`],[`mid`,`audio/midi`],[`midi`,`audio/midi`],[`mie`,`application/x-mie`],[`mif`,`application/vnd.mif`],[`mime`,`message/rfc822`],[`mj2`,`video/mj2`],[`mjp2`,`video/mj2`],[`mjs`,`application/javascript`],[`mk3d`,`video/x-matroska`],[`mka`,`audio/x-matroska`],[`mkd`,`text/x-markdown`],[`mks`,`video/x-matroska`],[`mkv`,`video/x-matroska`],[`mlp`,`application/vnd.dolby.mlp`],[`mmd`,`application/vnd.chipnuts.karaoke-mmd`],[`mmf`,`application/vnd.smaf`],[`mml`,`text/mathml`],[`mmr`,`image/vnd.fujixerox.edmics-mmr`],[`mng`,`video/x-mng`],[`mny`,`application/x-msmoney`],[`mobi`,`application/x-mobipocket-ebook`],[`mods`,`application/mods+xml`],[`mov`,`video/quicktime`],[`movie`,`video/x-sgi-movie`],[`mp2`,`audio/mpeg`],[`mp2a`,`audio/mpeg`],[`mp3`,`audio/mpeg`],[`mp4`,`video/mp4`],[`mp4a`,`audio/mp4`],[`mp4s`,`application/mp4`],[`mp4v`,`video/mp4`],[`mp21`,`application/mp21`],[`mpc`,`application/vnd.mophun.certificate`],[`mpd`,`application/dash+xml`],[`mpe`,`video/mpeg`],[`mpeg`,`video/mpeg`],[`mpg`,`video/mpeg`],[`mpg4`,`video/mp4`],[`mpga`,`audio/mpeg`],[`mpkg`,`application/vnd.apple.installer+xml`],[`mpm`,`application/vnd.blueice.multipass`],[`mpn`,`application/vnd.mophun.application`],[`mpp`,`application/vnd.ms-project`],[`mpt`,`application/vnd.ms-project`],[`mpy`,`application/vnd.ibm.minipay`],[`mqy`,`application/vnd.mobius.mqy`],[`mrc`,`application/marc`],[`mrcx`,`application/marcxml+xml`],[`ms`,`text/troff`],[`mscml`,`application/mediaservercontrol+xml`],[`mseed`,`application/vnd.fdsn.mseed`],[`mseq`,`application/vnd.mseq`],[`msf`,`application/vnd.epson.msf`],[`msg`,`application/vnd.ms-outlook`],[`msh`,`model/mesh`],[`msi`,`application/x-msdownload`],[`msl`,`application/vnd.mobius.msl`],[`msm`,`application/octet-stream`],[`msp`,`application/octet-stream`],[`msty`,`application/vnd.muvee.style`],[`mtl`,`model/mtl`],[`mts`,`model/vnd.mts`],[`mus`,`application/vnd.musician`],[`musd`,`application/mmt-usd+xml`],[`musicxml`,`application/vnd.recordare.musicxml+xml`],[`mvb`,`application/x-msmediaview`],[`mvt`,`application/vnd.mapbox-vector-tile`],[`mwf`,`application/vnd.mfer`],[`mxf`,`application/mxf`],[`mxl`,`application/vnd.recordare.musicxml`],[`mxmf`,`audio/mobile-xmf`],[`mxml`,`application/xv+xml`],[`mxs`,`application/vnd.triscape.mxs`],[`mxu`,`video/vnd.mpegurl`],[`n-gage`,`application/vnd.nokia.n-gage.symbian.install`],[`n3`,`text/n3`],[`nb`,`application/mathematica`],[`nbp`,`application/vnd.wolfram.player`],[`nc`,`application/x-netcdf`],[`ncx`,`application/x-dtbncx+xml`],[`nfo`,`text/x-nfo`],[`ngdat`,`application/vnd.nokia.n-gage.data`],[`nitf`,`application/vnd.nitf`],[`nlu`,`application/vnd.neurolanguage.nlu`],[`nml`,`application/vnd.enliven`],[`nnd`,`application/vnd.noblenet-directory`],[`nns`,`application/vnd.noblenet-sealer`],[`nnw`,`application/vnd.noblenet-web`],[`npx`,`image/vnd.net-fpx`],[`nq`,`application/n-quads`],[`nsc`,`application/x-conference`],[`nsf`,`application/vnd.lotus-notes`],[`nt`,`application/n-triples`],[`ntf`,`application/vnd.nitf`],[`numbers`,`application/x-iwork-numbers-sffnumbers`],[`nzb`,`application/x-nzb`],[`oa2`,`application/vnd.fujitsu.oasys2`],[`oa3`,`application/vnd.fujitsu.oasys3`],[`oas`,`application/vnd.fujitsu.oasys`],[`obd`,`application/x-msbinder`],[`obgx`,`application/vnd.openblox.game+xml`],[`obj`,`model/obj`],[`oda`,`application/oda`],[`odb`,`application/vnd.oasis.opendocument.database`],[`odc`,`application/vnd.oasis.opendocument.chart`],[`odf`,`application/vnd.oasis.opendocument.formula`],[`odft`,`application/vnd.oasis.opendocument.formula-template`],[`odg`,`application/vnd.oasis.opendocument.graphics`],[`odi`,`application/vnd.oasis.opendocument.image`],[`odm`,`application/vnd.oasis.opendocument.text-master`],[`odp`,`application/vnd.oasis.opendocument.presentation`],[`ods`,`application/vnd.oasis.opendocument.spreadsheet`],[`odt`,`application/vnd.oasis.opendocument.text`],[`oga`,`audio/ogg`],[`ogex`,`model/vnd.opengex`],[`ogg`,`audio/ogg`],[`ogv`,`video/ogg`],[`ogx`,`application/ogg`],[`omdoc`,`application/omdoc+xml`],[`onepkg`,`application/onenote`],[`onetmp`,`application/onenote`],[`onetoc`,`application/onenote`],[`onetoc2`,`application/onenote`],[`opf`,`application/oebps-package+xml`],[`opml`,`text/x-opml`],[`oprc`,`application/vnd.palm`],[`opus`,`audio/ogg`],[`org`,`text/x-org`],[`osf`,`application/vnd.yamaha.openscoreformat`],[`osfpvg`,`application/vnd.yamaha.openscoreformat.osfpvg+xml`],[`osm`,`application/vnd.openstreetmap.data+xml`],[`otc`,`application/vnd.oasis.opendocument.chart-template`],[`otf`,`font/otf`],[`otg`,`application/vnd.oasis.opendocument.graphics-template`],[`oth`,`application/vnd.oasis.opendocument.text-web`],[`oti`,`application/vnd.oasis.opendocument.image-template`],[`otp`,`application/vnd.oasis.opendocument.presentation-template`],[`ots`,`application/vnd.oasis.opendocument.spreadsheet-template`],[`ott`,`application/vnd.oasis.opendocument.text-template`],[`ova`,`application/x-virtualbox-ova`],[`ovf`,`application/x-virtualbox-ovf`],[`owl`,`application/rdf+xml`],[`oxps`,`application/oxps`],[`oxt`,`application/vnd.openofficeorg.extension`],[`p`,`text/x-pascal`],[`p7a`,`application/x-pkcs7-signature`],[`p7b`,`application/x-pkcs7-certificates`],[`p7c`,`application/pkcs7-mime`],[`p7m`,`application/pkcs7-mime`],[`p7r`,`application/x-pkcs7-certreqresp`],[`p7s`,`application/pkcs7-signature`],[`p8`,`application/pkcs8`],[`p10`,`application/x-pkcs10`],[`p12`,`application/x-pkcs12`],[`pac`,`application/x-ns-proxy-autoconfig`],[`pages`,`application/x-iwork-pages-sffpages`],[`pas`,`text/x-pascal`],[`paw`,`application/vnd.pawaafile`],[`pbd`,`application/vnd.powerbuilder6`],[`pbm`,`image/x-portable-bitmap`],[`pcap`,`application/vnd.tcpdump.pcap`],[`pcf`,`application/x-font-pcf`],[`pcl`,`application/vnd.hp-pcl`],[`pclxl`,`application/vnd.hp-pclxl`],[`pct`,`image/x-pict`],[`pcurl`,`application/vnd.curl.pcurl`],[`pcx`,`image/x-pcx`],[`pdb`,`application/x-pilot`],[`pde`,`text/x-processing`],[`pdf`,`application/pdf`],[`pem`,`application/x-x509-user-cert`],[`pfa`,`application/x-font-type1`],[`pfb`,`application/x-font-type1`],[`pfm`,`application/x-font-type1`],[`pfr`,`application/font-tdpfr`],[`pfx`,`application/x-pkcs12`],[`pgm`,`image/x-portable-graymap`],[`pgn`,`application/x-chess-pgn`],[`pgp`,`application/pgp`],[`php`,`application/x-httpd-php`],[`php3`,`application/x-httpd-php`],[`php4`,`application/x-httpd-php`],[`phps`,`application/x-httpd-php-source`],[`phtml`,`application/x-httpd-php`],[`pic`,`image/x-pict`],[`pkg`,`application/octet-stream`],[`pki`,`application/pkixcmp`],[`pkipath`,`application/pkix-pkipath`],[`pkpass`,`application/vnd.apple.pkpass`],[`pl`,`application/x-perl`],[`plb`,`application/vnd.3gpp.pic-bw-large`],[`plc`,`application/vnd.mobius.plc`],[`plf`,`application/vnd.pocketlearn`],[`pls`,`application/pls+xml`],[`pm`,`application/x-perl`],[`pml`,`application/vnd.ctc-posml`],[`png`,`image/png`],[`pnm`,`image/x-portable-anymap`],[`portpkg`,`application/vnd.macports.portpkg`],[`pot`,`application/vnd.ms-powerpoint`],[`potm`,`application/vnd.ms-powerpoint.presentation.macroEnabled.12`],[`potx`,`application/vnd.openxmlformats-officedocument.presentationml.template`],[`ppa`,`application/vnd.ms-powerpoint`],[`ppam`,`application/vnd.ms-powerpoint.addin.macroEnabled.12`],[`ppd`,`application/vnd.cups-ppd`],[`ppm`,`image/x-portable-pixmap`],[`pps`,`application/vnd.ms-powerpoint`],[`ppsm`,`application/vnd.ms-powerpoint.slideshow.macroEnabled.12`],[`ppsx`,`application/vnd.openxmlformats-officedocument.presentationml.slideshow`],[`ppt`,`application/powerpoint`],[`pptm`,`application/vnd.ms-powerpoint.presentation.macroEnabled.12`],[`pptx`,`application/vnd.openxmlformats-officedocument.presentationml.presentation`],[`pqa`,`application/vnd.palm`],[`prc`,`application/x-pilot`],[`pre`,`application/vnd.lotus-freelance`],[`prf`,`application/pics-rules`],[`provx`,`application/provenance+xml`],[`ps`,`application/postscript`],[`psb`,`application/vnd.3gpp.pic-bw-small`],[`psd`,`application/x-photoshop`],[`psf`,`application/x-font-linux-psf`],[`pskcxml`,`application/pskc+xml`],[`pti`,`image/prs.pti`],[`ptid`,`application/vnd.pvi.ptid1`],[`pub`,`application/x-mspublisher`],[`pvb`,`application/vnd.3gpp.pic-bw-var`],[`pwn`,`application/vnd.3m.post-it-notes`],[`pya`,`audio/vnd.ms-playready.media.pya`],[`pyv`,`video/vnd.ms-playready.media.pyv`],[`qam`,`application/vnd.epson.quickanime`],[`qbo`,`application/vnd.intu.qbo`],[`qfx`,`application/vnd.intu.qfx`],[`qps`,`application/vnd.publishare-delta-tree`],[`qt`,`video/quicktime`],[`qwd`,`application/vnd.quark.quarkxpress`],[`qwt`,`application/vnd.quark.quarkxpress`],[`qxb`,`application/vnd.quark.quarkxpress`],[`qxd`,`application/vnd.quark.quarkxpress`],[`qxl`,`application/vnd.quark.quarkxpress`],[`qxt`,`application/vnd.quark.quarkxpress`],[`ra`,`audio/x-realaudio`],[`ram`,`audio/x-pn-realaudio`],[`raml`,`application/raml+yaml`],[`rapd`,`application/route-apd+xml`],[`rar`,`application/x-rar`],[`ras`,`image/x-cmu-raster`],[`rcprofile`,`application/vnd.ipunplugged.rcprofile`],[`rdf`,`application/rdf+xml`],[`rdz`,`application/vnd.data-vision.rdz`],[`relo`,`application/p2p-overlay+xml`],[`rep`,`application/vnd.businessobjects`],[`res`,`application/x-dtbresource+xml`],[`rgb`,`image/x-rgb`],[`rif`,`application/reginfo+xml`],[`rip`,`audio/vnd.rip`],[`ris`,`application/x-research-info-systems`],[`rl`,`application/resource-lists+xml`],[`rlc`,`image/vnd.fujixerox.edmics-rlc`],[`rld`,`application/resource-lists-diff+xml`],[`rm`,`audio/x-pn-realaudio`],[`rmi`,`audio/midi`],[`rmp`,`audio/x-pn-realaudio-plugin`],[`rms`,`application/vnd.jcp.javame.midlet-rms`],[`rmvb`,`application/vnd.rn-realmedia-vbr`],[`rnc`,`application/relax-ng-compact-syntax`],[`rng`,`application/xml`],[`roa`,`application/rpki-roa`],[`roff`,`text/troff`],[`rp9`,`application/vnd.cloanto.rp9`],[`rpm`,`audio/x-pn-realaudio-plugin`],[`rpss`,`application/vnd.nokia.radio-presets`],[`rpst`,`application/vnd.nokia.radio-preset`],[`rq`,`application/sparql-query`],[`rs`,`application/rls-services+xml`],[`rsa`,`application/x-pkcs7`],[`rsat`,`application/atsc-rsat+xml`],[`rsd`,`application/rsd+xml`],[`rsheet`,`application/urc-ressheet+xml`],[`rss`,`application/rss+xml`],[`rtf`,`text/rtf`],[`rtx`,`text/richtext`],[`run`,`application/x-makeself`],[`rusd`,`application/route-usd+xml`],[`rv`,`video/vnd.rn-realvideo`],[`s`,`text/x-asm`],[`s3m`,`audio/s3m`],[`saf`,`application/vnd.yamaha.smaf-audio`],[`sass`,`text/x-sass`],[`sbml`,`application/sbml+xml`],[`sc`,`application/vnd.ibm.secure-container`],[`scd`,`application/x-msschedule`],[`scm`,`application/vnd.lotus-screencam`],[`scq`,`application/scvp-cv-request`],[`scs`,`application/scvp-cv-response`],[`scss`,`text/x-scss`],[`scurl`,`text/vnd.curl.scurl`],[`sda`,`application/vnd.stardivision.draw`],[`sdc`,`application/vnd.stardivision.calc`],[`sdd`,`application/vnd.stardivision.impress`],[`sdkd`,`application/vnd.solent.sdkm+xml`],[`sdkm`,`application/vnd.solent.sdkm+xml`],[`sdp`,`application/sdp`],[`sdw`,`application/vnd.stardivision.writer`],[`sea`,`application/octet-stream`],[`see`,`application/vnd.seemail`],[`seed`,`application/vnd.fdsn.seed`],[`sema`,`application/vnd.sema`],[`semd`,`application/vnd.semd`],[`semf`,`application/vnd.semf`],[`senmlx`,`application/senml+xml`],[`sensmlx`,`application/sensml+xml`],[`ser`,`application/java-serialized-object`],[`setpay`,`application/set-payment-initiation`],[`setreg`,`application/set-registration-initiation`],[`sfd-hdstx`,`application/vnd.hydrostatix.sof-data`],[`sfs`,`application/vnd.spotfire.sfs`],[`sfv`,`text/x-sfv`],[`sgi`,`image/sgi`],[`sgl`,`application/vnd.stardivision.writer-global`],[`sgm`,`text/sgml`],[`sgml`,`text/sgml`],[`sh`,`application/x-sh`],[`shar`,`application/x-shar`],[`shex`,`text/shex`],[`shf`,`application/shf+xml`],[`shtml`,`text/html`],[`sid`,`image/x-mrsid-image`],[`sieve`,`application/sieve`],[`sig`,`application/pgp-signature`],[`sil`,`audio/silk`],[`silo`,`model/mesh`],[`sis`,`application/vnd.symbian.install`],[`sisx`,`application/vnd.symbian.install`],[`sit`,`application/x-stuffit`],[`sitx`,`application/x-stuffitx`],[`siv`,`application/sieve`],[`skd`,`application/vnd.koan`],[`skm`,`application/vnd.koan`],[`skp`,`application/vnd.koan`],[`skt`,`application/vnd.koan`],[`sldm`,`application/vnd.ms-powerpoint.slide.macroenabled.12`],[`sldx`,`application/vnd.openxmlformats-officedocument.presentationml.slide`],[`slim`,`text/slim`],[`slm`,`text/slim`],[`sls`,`application/route-s-tsid+xml`],[`slt`,`application/vnd.epson.salt`],[`sm`,`application/vnd.stepmania.stepchart`],[`smf`,`application/vnd.stardivision.math`],[`smi`,`application/smil`],[`smil`,`application/smil`],[`smv`,`video/x-smv`],[`smzip`,`application/vnd.stepmania.package`],[`snd`,`audio/basic`],[`snf`,`application/x-font-snf`],[`so`,`application/octet-stream`],[`spc`,`application/x-pkcs7-certificates`],[`spdx`,`text/spdx`],[`spf`,`application/vnd.yamaha.smaf-phrase`],[`spl`,`application/x-futuresplash`],[`spot`,`text/vnd.in3d.spot`],[`spp`,`application/scvp-vp-response`],[`spq`,`application/scvp-vp-request`],[`spx`,`audio/ogg`],[`sql`,`application/x-sql`],[`src`,`application/x-wais-source`],[`srt`,`application/x-subrip`],[`sru`,`application/sru+xml`],[`srx`,`application/sparql-results+xml`],[`ssdl`,`application/ssdl+xml`],[`sse`,`application/vnd.kodak-descriptor`],[`ssf`,`application/vnd.epson.ssf`],[`ssml`,`application/ssml+xml`],[`sst`,`application/octet-stream`],[`st`,`application/vnd.sailingtracker.track`],[`stc`,`application/vnd.sun.xml.calc.template`],[`std`,`application/vnd.sun.xml.draw.template`],[`stf`,`application/vnd.wt.stf`],[`sti`,`application/vnd.sun.xml.impress.template`],[`stk`,`application/hyperstudio`],[`stl`,`model/stl`],[`stpx`,`model/step+xml`],[`stpxz`,`model/step-xml+zip`],[`stpz`,`model/step+zip`],[`str`,`application/vnd.pg.format`],[`stw`,`application/vnd.sun.xml.writer.template`],[`styl`,`text/stylus`],[`stylus`,`text/stylus`],[`sub`,`text/vnd.dvb.subtitle`],[`sus`,`application/vnd.sus-calendar`],[`susp`,`application/vnd.sus-calendar`],[`sv4cpio`,`application/x-sv4cpio`],[`sv4crc`,`application/x-sv4crc`],[`svc`,`application/vnd.dvb.service`],[`svd`,`application/vnd.svd`],[`svg`,`image/svg+xml`],[`svgz`,`image/svg+xml`],[`swa`,`application/x-director`],[`swf`,`application/x-shockwave-flash`],[`swi`,`application/vnd.aristanetworks.swi`],[`swidtag`,`application/swid+xml`],[`sxc`,`application/vnd.sun.xml.calc`],[`sxd`,`application/vnd.sun.xml.draw`],[`sxg`,`application/vnd.sun.xml.writer.global`],[`sxi`,`application/vnd.sun.xml.impress`],[`sxm`,`application/vnd.sun.xml.math`],[`sxw`,`application/vnd.sun.xml.writer`],[`t`,`text/troff`],[`t3`,`application/x-t3vm-image`],[`t38`,`image/t38`],[`taglet`,`application/vnd.mynfc`],[`tao`,`application/vnd.tao.intent-module-archive`],[`tap`,`image/vnd.tencent.tap`],[`tar`,`application/x-tar`],[`tcap`,`application/vnd.3gpp2.tcap`],[`tcl`,`application/x-tcl`],[`td`,`application/urc-targetdesc+xml`],[`teacher`,`application/vnd.smart.teacher`],[`tei`,`application/tei+xml`],[`teicorpus`,`application/tei+xml`],[`tex`,`application/x-tex`],[`texi`,`application/x-texinfo`],[`texinfo`,`application/x-texinfo`],[`text`,`text/plain`],[`tfi`,`application/thraud+xml`],[`tfm`,`application/x-tex-tfm`],[`tfx`,`image/tiff-fx`],[`tga`,`image/x-tga`],[`tgz`,`application/x-tar`],[`thmx`,`application/vnd.ms-officetheme`],[`tif`,`image/tiff`],[`tiff`,`image/tiff`],[`tk`,`application/x-tcl`],[`tmo`,`application/vnd.tmobile-livetv`],[`toml`,`application/toml`],[`torrent`,`application/x-bittorrent`],[`tpl`,`application/vnd.groove-tool-template`],[`tpt`,`application/vnd.trid.tpt`],[`tr`,`text/troff`],[`tra`,`application/vnd.trueapp`],[`trig`,`application/trig`],[`trm`,`application/x-msterminal`],[`ts`,`video/mp2t`],[`tsd`,`application/timestamped-data`],[`tsv`,`text/tab-separated-values`],[`ttc`,`font/collection`],[`ttf`,`font/ttf`],[`ttl`,`text/turtle`],[`ttml`,`application/ttml+xml`],[`twd`,`application/vnd.simtech-mindmapper`],[`twds`,`application/vnd.simtech-mindmapper`],[`txd`,`application/vnd.genomatix.tuxedo`],[`txf`,`application/vnd.mobius.txf`],[`txt`,`text/plain`],[`u8dsn`,`message/global-delivery-status`],[`u8hdr`,`message/global-headers`],[`u8mdn`,`message/global-disposition-notification`],[`u8msg`,`message/global`],[`u32`,`application/x-authorware-bin`],[`ubj`,`application/ubjson`],[`udeb`,`application/x-debian-package`],[`ufd`,`application/vnd.ufdl`],[`ufdl`,`application/vnd.ufdl`],[`ulx`,`application/x-glulx`],[`umj`,`application/vnd.umajin`],[`unityweb`,`application/vnd.unity`],[`uoml`,`application/vnd.uoml+xml`],[`uri`,`text/uri-list`],[`uris`,`text/uri-list`],[`urls`,`text/uri-list`],[`usdz`,`model/vnd.usdz+zip`],[`ustar`,`application/x-ustar`],[`utz`,`application/vnd.uiq.theme`],[`uu`,`text/x-uuencode`],[`uva`,`audio/vnd.dece.audio`],[`uvd`,`application/vnd.dece.data`],[`uvf`,`application/vnd.dece.data`],[`uvg`,`image/vnd.dece.graphic`],[`uvh`,`video/vnd.dece.hd`],[`uvi`,`image/vnd.dece.graphic`],[`uvm`,`video/vnd.dece.mobile`],[`uvp`,`video/vnd.dece.pd`],[`uvs`,`video/vnd.dece.sd`],[`uvt`,`application/vnd.dece.ttml+xml`],[`uvu`,`video/vnd.uvvu.mp4`],[`uvv`,`video/vnd.dece.video`],[`uvva`,`audio/vnd.dece.audio`],[`uvvd`,`application/vnd.dece.data`],[`uvvf`,`application/vnd.dece.data`],[`uvvg`,`image/vnd.dece.graphic`],[`uvvh`,`video/vnd.dece.hd`],[`uvvi`,`image/vnd.dece.graphic`],[`uvvm`,`video/vnd.dece.mobile`],[`uvvp`,`video/vnd.dece.pd`],[`uvvs`,`video/vnd.dece.sd`],[`uvvt`,`application/vnd.dece.ttml+xml`],[`uvvu`,`video/vnd.uvvu.mp4`],[`uvvv`,`video/vnd.dece.video`],[`uvvx`,`application/vnd.dece.unspecified`],[`uvvz`,`application/vnd.dece.zip`],[`uvx`,`application/vnd.dece.unspecified`],[`uvz`,`application/vnd.dece.zip`],[`vbox`,`application/x-virtualbox-vbox`],[`vbox-extpack`,`application/x-virtualbox-vbox-extpack`],[`vcard`,`text/vcard`],[`vcd`,`application/x-cdlink`],[`vcf`,`text/x-vcard`],[`vcg`,`application/vnd.groove-vcard`],[`vcs`,`text/x-vcalendar`],[`vcx`,`application/vnd.vcx`],[`vdi`,`application/x-virtualbox-vdi`],[`vds`,`model/vnd.sap.vds`],[`vhd`,`application/x-virtualbox-vhd`],[`vis`,`application/vnd.visionary`],[`viv`,`video/vnd.vivo`],[`vlc`,`application/videolan`],[`vmdk`,`application/x-virtualbox-vmdk`],[`vob`,`video/x-ms-vob`],[`vor`,`application/vnd.stardivision.writer`],[`vox`,`application/x-authorware-bin`],[`vrml`,`model/vrml`],[`vsd`,`application/vnd.visio`],[`vsf`,`application/vnd.vsf`],[`vss`,`application/vnd.visio`],[`vst`,`application/vnd.visio`],[`vsw`,`application/vnd.visio`],[`vtf`,`image/vnd.valve.source.texture`],[`vtt`,`text/vtt`],[`vtu`,`model/vnd.vtu`],[`vxml`,`application/voicexml+xml`],[`w3d`,`application/x-director`],[`wad`,`application/x-doom`],[`wadl`,`application/vnd.sun.wadl+xml`],[`war`,`application/java-archive`],[`wasm`,`application/wasm`],[`wav`,`audio/x-wav`],[`wax`,`audio/x-ms-wax`],[`wbmp`,`image/vnd.wap.wbmp`],[`wbs`,`application/vnd.criticaltools.wbs+xml`],[`wbxml`,`application/wbxml`],[`wcm`,`application/vnd.ms-works`],[`wdb`,`application/vnd.ms-works`],[`wdp`,`image/vnd.ms-photo`],[`weba`,`audio/webm`],[`webapp`,`application/x-web-app-manifest+json`],[`webm`,`video/webm`],[`webmanifest`,`application/manifest+json`],[`webp`,`image/webp`],[`wg`,`application/vnd.pmi.widget`],[`wgt`,`application/widget`],[`wks`,`application/vnd.ms-works`],[`wm`,`video/x-ms-wm`],[`wma`,`audio/x-ms-wma`],[`wmd`,`application/x-ms-wmd`],[`wmf`,`image/wmf`],[`wml`,`text/vnd.wap.wml`],[`wmlc`,`application/wmlc`],[`wmls`,`text/vnd.wap.wmlscript`],[`wmlsc`,`application/vnd.wap.wmlscriptc`],[`wmv`,`video/x-ms-wmv`],[`wmx`,`video/x-ms-wmx`],[`wmz`,`application/x-msmetafile`],[`woff`,`font/woff`],[`woff2`,`font/woff2`],[`word`,`application/msword`],[`wpd`,`application/vnd.wordperfect`],[`wpl`,`application/vnd.ms-wpl`],[`wps`,`application/vnd.ms-works`],[`wqd`,`application/vnd.wqd`],[`wri`,`application/x-mswrite`],[`wrl`,`model/vrml`],[`wsc`,`message/vnd.wfa.wsc`],[`wsdl`,`application/wsdl+xml`],[`wspolicy`,`application/wspolicy+xml`],[`wtb`,`application/vnd.webturbo`],[`wvx`,`video/x-ms-wvx`],[`x3d`,`model/x3d+xml`],[`x3db`,`model/x3d+fastinfoset`],[`x3dbz`,`model/x3d+binary`],[`x3dv`,`model/x3d-vrml`],[`x3dvz`,`model/x3d+vrml`],[`x3dz`,`model/x3d+xml`],[`x32`,`application/x-authorware-bin`],[`x_b`,`model/vnd.parasolid.transmit.binary`],[`x_t`,`model/vnd.parasolid.transmit.text`],[`xaml`,`application/xaml+xml`],[`xap`,`application/x-silverlight-app`],[`xar`,`application/vnd.xara`],[`xav`,`application/xcap-att+xml`],[`xbap`,`application/x-ms-xbap`],[`xbd`,`application/vnd.fujixerox.docuworks.binder`],[`xbm`,`image/x-xbitmap`],[`xca`,`application/xcap-caps+xml`],[`xcs`,`application/calendar+xml`],[`xdf`,`application/xcap-diff+xml`],[`xdm`,`application/vnd.syncml.dm+xml`],[`xdp`,`application/vnd.adobe.xdp+xml`],[`xdssc`,`application/dssc+xml`],[`xdw`,`application/vnd.fujixerox.docuworks`],[`xel`,`application/xcap-el+xml`],[`xenc`,`application/xenc+xml`],[`xer`,`application/patch-ops-error+xml`],[`xfdf`,`application/vnd.adobe.xfdf`],[`xfdl`,`application/vnd.xfdl`],[`xht`,`application/xhtml+xml`],[`xhtml`,`application/xhtml+xml`],[`xhvml`,`application/xv+xml`],[`xif`,`image/vnd.xiff`],[`xl`,`application/excel`],[`xla`,`application/vnd.ms-excel`],[`xlam`,`application/vnd.ms-excel.addin.macroEnabled.12`],[`xlc`,`application/vnd.ms-excel`],[`xlf`,`application/xliff+xml`],[`xlm`,`application/vnd.ms-excel`],[`xls`,`application/vnd.ms-excel`],[`xlsb`,`application/vnd.ms-excel.sheet.binary.macroEnabled.12`],[`xlsm`,`application/vnd.ms-excel.sheet.macroEnabled.12`],[`xlsx`,`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`],[`xlt`,`application/vnd.ms-excel`],[`xltm`,`application/vnd.ms-excel.template.macroEnabled.12`],[`xltx`,`application/vnd.openxmlformats-officedocument.spreadsheetml.template`],[`xlw`,`application/vnd.ms-excel`],[`xm`,`audio/xm`],[`xml`,`application/xml`],[`xns`,`application/xcap-ns+xml`],[`xo`,`application/vnd.olpc-sugar`],[`xop`,`application/xop+xml`],[`xpi`,`application/x-xpinstall`],[`xpl`,`application/xproc+xml`],[`xpm`,`image/x-xpixmap`],[`xpr`,`application/vnd.is-xpr`],[`xps`,`application/vnd.ms-xpsdocument`],[`xpw`,`application/vnd.intercon.formnet`],[`xpx`,`application/vnd.intercon.formnet`],[`xsd`,`application/xml`],[`xsl`,`application/xml`],[`xslt`,`application/xslt+xml`],[`xsm`,`application/vnd.syncml+xml`],[`xspf`,`application/xspf+xml`],[`xul`,`application/vnd.mozilla.xul+xml`],[`xvm`,`application/xv+xml`],[`xvml`,`application/xv+xml`],[`xwd`,`image/x-xwindowdump`],[`xyz`,`chemical/x-xyz`],[`xz`,`application/x-xz`],[`yaml`,`text/yaml`],[`yang`,`application/yang`],[`yin`,`application/yin+xml`],[`yml`,`text/yaml`],[`ymp`,`text/x-suse-ymp`],[`z`,`application/x-compress`],[`z1`,`application/x-zmachine`],[`z2`,`application/x-zmachine`],[`z3`,`application/x-zmachine`],[`z4`,`application/x-zmachine`],[`z5`,`application/x-zmachine`],[`z6`,`application/x-zmachine`],[`z7`,`application/x-zmachine`],[`z8`,`application/x-zmachine`],[`zaz`,`application/vnd.zzazz.deck+xml`],[`zip`,`application/zip`],[`zir`,`application/vnd.zul`],[`zirz`,`application/vnd.zul`],[`zmm`,`application/vnd.handheld-entertainment+xml`],[`zsh`,`text/x-scriptzsh`]]);function d(e,t,n){let r=f(e),{webkitRelativePath:i}=e,a=typeof t==`string`?t:typeof i==`string`&&i.length>0?i:`./${e.name}`;return typeof r.path!=`string`&&p(r,`path`,a),n!==void 0&&Object.defineProperty(r,"handle",{value:n,writable:!1,configurable:!1,enumerable:!0}),p(r,`relativePath`,a),r}function f(e){let{name:t}=e;if(t&&t.lastIndexOf(`.`)!==-1&&!e.type){let n=t.split(`.`).pop().toLowerCase(),r=u.get(n);r&&Object.defineProperty(e,"type",{value:r,writable:!1,configurable:!1,enumerable:!0})}return e}function p(e,t,n){Object.defineProperty(e,t,{value:n,writable:!1,configurable:!1,enumerable:!0})}var m=[`.DS_Store`,`Thumbs.db`];function h(e){return s(this,void 0,void 0,function*(){return v(e)&&g(e.dataTransfer)?x(e.dataTransfer,e.type):_(e)?y(e):Array.isArray(e)&&e.every(e=>`getFile`in e&&typeof e.getFile==`function`)?b(e):[]})}function g(e){return v(e)}function _(e){return v(e)&&v(e.target)}function v(e){return typeof e==`object`&&!!e}function y(e){return C(e.target.files).map(e=>d(e))}function b(e){return s(this,void 0,void 0,function*(){return(yield Promise.all(e.map(e=>e.getFile()))).map(e=>d(e))})}function x(e,t){return s(this,void 0,void 0,function*(){if(e.items){let n=C(e.items).filter(e=>e.kind===`file`);return t===`drop`?S(T(yield Promise.all(n.map(w)))):n}return S(C(e.files).map(e=>d(e)))})}function S(e){return e.filter(e=>m.indexOf(e.name)===-1)}function C(e){if(e===null)return[];let t=[];for(let n=0;n<e.length;n++){let r=e[n];t.push(r)}return t}function w(e){if(typeof e.webkitGetAsEntry!=`function`)return E(e);let t=e.webkitGetAsEntry();return t&&t.isDirectory?O(t):E(e,t)}function T(e){return e.reduce((e,t)=>[...e,...Array.isArray(t)?T(t):[t]],[])}function E(e,t){return s(this,void 0,void 0,function*(){if(globalThis.isSecureContext&&typeof e.getAsFileSystemHandle==`function`){let t=yield e.getAsFileSystemHandle();if(t===null)throw Error(`${e} is not a File`);if(t!==void 0){let e=yield t.getFile();return e.handle=t,d(e)}}let n=e.getAsFile();if(!n)throw Error(`${e} is not a File`);return d(n,t?.fullPath??void 0)})}function D(e){return s(this,void 0,void 0,function*(){return e.isDirectory?O(e):k(e)})}function O(e){let t=e.createReader();return new Promise((e,n)=>{let r=[];function i(){t.readEntries(t=>s(this,void 0,void 0,function*(){if(t.length){let e=Promise.all(t.map(D));r.push(e),i()}else try{e(yield Promise.all(r))}catch(e){n(e)}}),e=>{n(e)})}i()})}function k(e){return s(this,void 0,void 0,function*(){return new Promise((t,n)=>{e.file(n=>{t(d(n,e.fullPath))},e=>{n(e)})})})}var A=t((e=>{e.__esModule=!0,e.default=function(e,t){if(e&&t){var n=Array.isArray(t)?t:t.split(`,`);if(n.length===0)return!0;var r=e.name||``,i=(e.type||``).toLowerCase(),a=i.replace(/\/.*$/,``);return n.some(function(e){var t=e.trim().toLowerCase();return t.charAt(0)===`.`?r.toLowerCase().endsWith(t):t.endsWith(`/*`)?a===t.replace(/\/.*$/,``):i===t})}return!0}})),j=e(n()),M=r(),N=e(c()),P=e(A());function F(e){return I(e)||te(e)||H(e)||ee()}function ee(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
2
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function te(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function I(e){if(Array.isArray(e))return U(e)}function L(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function R(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?L(Object(n),!0).forEach(function(t){z(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):L(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function z(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function B(e,t){return W(e)||ne(e,t)||H(e,t)||V()}function V(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
3
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function H(e,t){if(e){if(typeof e==`string`)return U(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return U(e,t)}}function U(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function ne(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r=[],i=!0,a=!1,o,s;try{for(n=n.call(e);!(i=(o=n.next()).done)&&(r.push(o.value),!(t&&r.length===t));i=!0);}catch(e){a=!0,s=e}finally{try{!i&&n.return!=null&&n.return()}finally{if(a)throw s}}return r}}function W(e){if(Array.isArray(e))return e}var G=typeof P.default==`function`?P.default:P.default.default,K=`file-invalid-type`,re=`file-too-large`,ie=`file-too-small`,ae=`too-many-files`,oe=function(){var e=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:``).split(`,`);return{code:K,message:`File type must be ${e.length>1?`one of ${e.join(`, `)}`:e[0]}`}},q=function(e){return{code:re,message:`File is larger than ${e} ${e===1?`byte`:`bytes`}`}},J=function(e){return{code:ie,message:`File is smaller than ${e} ${e===1?`byte`:`bytes`}`}},se={code:ae,message:`Too many files`};function Y(e){return e.type===``&&typeof e.getAsFile==`function`}function ce(e,t){var n=e.type===`application/x-moz-file`||G(e,t)||Y(e);return[n,n?null:oe(t)]}function le(e,t,n){if(X(e.size)){if(X(t)&&X(n)){if(e.size>n)return[!1,q(n)];if(e.size<t)return[!1,J(t)]}else if(X(t)&&e.size<t)return[!1,J(t)];else if(X(n)&&e.size>n)return[!1,q(n)]}return[!0,null]}function X(e){return e!=null}function ue(e){var t=e.files,n=e.accept,r=e.minSize,i=e.maxSize,a=e.multiple,o=e.maxFiles,s=e.validator;return!a&&t.length>1||a&&o>=1&&t.length>o?!1:t.every(function(e){var t=B(ce(e,n),1)[0],a=B(le(e,r,i),1)[0],o=s?s(e):null;return t&&a&&!o})}function de(e){return typeof e.isPropagationStopped==`function`?e.isPropagationStopped():e.cancelBubble===void 0?!1:e.cancelBubble}function Z(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(e){return e===`Files`||e===`application/x-moz-file`}):!!e.target&&!!e.target.files}function fe(e){e.preventDefault()}function pe(e){return e.indexOf(`MSIE`)!==-1||e.indexOf(`Trident/`)!==-1}function me(e){return e.indexOf(`Edge/`)!==-1}function he(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return pe(e)||me(e)}function Q(){var e=[...arguments];return function(t){var n=[...arguments].slice(1);return e.some(function(e){return!de(t)&&e&&e.apply(void 0,[t].concat(n)),de(t)})}}function ge(){return`showOpenFilePicker`in window}function _e(e){return X(e)?[{description:`Files`,accept:Object.entries(e).filter(function(e){var t=B(e,2),n=t[0],r=t[1],i=!0;return xe(n)||(console.warn(`Skipped "${n}" because it is not a valid MIME type. Check https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types for a list of valid MIME types.`),i=!1),(!Array.isArray(r)||!r.every(Se))&&(console.warn(`Skipped "${n}" because an invalid file extension was provided.`),i=!1),i}).reduce(function(e,t){var n=B(t,2),r=n[0],i=n[1];return R(R({},e),{},z({},r,i))},{})}]:e}function ve(e){if(X(e))return Object.entries(e).reduce(function(e,t){var n=B(t,2),r=n[0],i=n[1];return[].concat(F(e),[r],F(i))},[]).filter(function(e){return xe(e)||Se(e)}).join(`,`)}function ye(e){return e instanceof DOMException&&(e.name===`AbortError`||e.code===e.ABORT_ERR)}function be(e){return e instanceof DOMException&&(e.name===`SecurityError`||e.code===e.SECURITY_ERR)}function xe(e){return e===`audio/*`||e===`video/*`||e===`image/*`||e===`text/*`||e===`application/*`||/\w+\/[-+.\w]+/g.test(e)}function Se(e){return/^.*\.[\w]+$/.test(e)}var Ce=[`children`],we=[`open`],Te=[`refKey`,`role`,`onKeyDown`,`onFocus`,`onBlur`,`onClick`,`onDragEnter`,`onDragOver`,`onDragLeave`,`onDrop`],Ee=[`refKey`,`onChange`,`onClick`];function De(e){return Ae(e)||ke(e)||Ne(e)||Oe()}function Oe(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
4
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ke(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function Ae(e){if(Array.isArray(e))return Pe(e)}function je(e,t){return Ie(e)||Fe(e,t)||Ne(e,t)||Me()}function Me(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
5
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ne(e,t){if(e){if(typeof e==`string`)return Pe(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Pe(e,t)}}function Pe(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Fe(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r=[],i=!0,a=!1,o,s;try{for(n=n.call(e);!(i=(o=n.next()).done)&&(r.push(o.value),!(t&&r.length===t));i=!0);}catch(e){a=!0,s=e}finally{try{!i&&n.return!=null&&n.return()}finally{if(a)throw s}}return r}}function Ie(e){if(Array.isArray(e))return e}function Le(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function $(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Le(Object(n),!0).forEach(function(t){Re(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Le(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Re(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ze(e,t){if(e==null)return{};var n=Be(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Be(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,a;for(a=0;a<r.length;a++)i=r[a],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}var Ve=(0,j.forwardRef)(function(e,t){var n=e.children,r=We(ze(e,Ce)),i=r.open,a=ze(r,we);return(0,j.useImperativeHandle)(t,function(){return{open:i}},[i]),j.createElement(j.Fragment,null,n($($({},a),{},{open:i})))});Ve.displayName=`Dropzone`;var He={disabled:!1,getFilesFromEvent:h,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!1,autoFocus:!1};Ve.defaultProps=He,Ve.propTypes={children:N.default.func,accept:N.default.objectOf(N.default.arrayOf(N.default.string)),multiple:N.default.bool,preventDropOnDocument:N.default.bool,noClick:N.default.bool,noKeyboard:N.default.bool,noDrag:N.default.bool,noDragEventsBubbling:N.default.bool,minSize:N.default.number,maxSize:N.default.number,maxFiles:N.default.number,disabled:N.default.bool,getFilesFromEvent:N.default.func,onFileDialogCancel:N.default.func,onFileDialogOpen:N.default.func,useFsAccessApi:N.default.bool,autoFocus:N.default.bool,onDragEnter:N.default.func,onDragLeave:N.default.func,onDragOver:N.default.func,onDrop:N.default.func,onDropAccepted:N.default.func,onDropRejected:N.default.func,onError:N.default.func,validator:N.default.func};var Ue={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,isDragGlobal:!1,acceptedFiles:[],fileRejections:[]};function We(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=$($({},He),e),n=t.accept,r=t.disabled,i=t.getFilesFromEvent,a=t.maxSize,o=t.minSize,s=t.multiple,c=t.maxFiles,l=t.onDragEnter,u=t.onDragLeave,d=t.onDragOver,f=t.onDrop,p=t.onDropAccepted,m=t.onDropRejected,h=t.onFileDialogCancel,g=t.onFileDialogOpen,_=t.useFsAccessApi,v=t.autoFocus,y=t.preventDropOnDocument,b=t.noClick,x=t.noKeyboard,S=t.noDrag,C=t.noDragEventsBubbling,w=t.onError,T=t.validator,E=(0,j.useMemo)(function(){return ve(n)},[n]),D=(0,j.useMemo)(function(){return _e(n)},[n]),O=(0,j.useMemo)(function(){return typeof g==`function`?g:Ke},[g]),k=(0,j.useMemo)(function(){return typeof h==`function`?h:Ke},[h]),A=(0,j.useRef)(null),M=(0,j.useRef)(null),N=je((0,j.useReducer)(Ge,Ue),2),P=N[0],F=N[1],ee=P.isFocused,te=P.isFileDialogActive,I=(0,j.useRef)(typeof window<`u`&&window.isSecureContext&&_&&ge()),L=function(){!I.current&&te&&setTimeout(function(){M.current&&(M.current.files.length||(F({type:`closeDialog`}),k()))},300)};(0,j.useEffect)(function(){return window.addEventListener(`focus`,L,!1),function(){window.removeEventListener(`focus`,L,!1)}},[M,te,k,I]);var R=(0,j.useRef)([]),z=(0,j.useRef)([]),B=function(e){A.current&&A.current.contains(e.target)||(e.preventDefault(),R.current=[])};(0,j.useEffect)(function(){return y&&(document.addEventListener(`dragover`,fe,!1),document.addEventListener(`drop`,B,!1)),function(){y&&(document.removeEventListener(`dragover`,fe),document.removeEventListener(`drop`,B))}},[A,y]),(0,j.useEffect)(function(){var e=function(e){z.current=[].concat(De(z.current),[e.target]),Z(e)&&F({isDragGlobal:!0,type:`setDragGlobal`})},t=function(e){z.current=z.current.filter(function(t){return t!==e.target&&t!==null}),!(z.current.length>0)&&F({isDragGlobal:!1,type:`setDragGlobal`})},n=function(){z.current=[],F({isDragGlobal:!1,type:`setDragGlobal`})},r=function(){z.current=[],F({isDragGlobal:!1,type:`setDragGlobal`})};return document.addEventListener(`dragenter`,e,!1),document.addEventListener(`dragleave`,t,!1),document.addEventListener(`dragend`,n,!1),document.addEventListener(`drop`,r,!1),function(){document.removeEventListener(`dragenter`,e),document.removeEventListener(`dragleave`,t),document.removeEventListener(`dragend`,n),document.removeEventListener(`drop`,r)}},[A]),(0,j.useEffect)(function(){return!r&&v&&A.current&&A.current.focus(),function(){}},[A,v,r]);var V=(0,j.useCallback)(function(e){w?w(e):console.error(e)},[w]),H=(0,j.useCallback)(function(e){e.preventDefault(),e.persist(),X(e),R.current=[].concat(De(R.current),[e.target]),Z(e)&&Promise.resolve(i(e)).then(function(t){if(!(de(e)&&!C)){var n=t.length,r=n>0&&ue({files:t,accept:E,minSize:o,maxSize:a,multiple:s,maxFiles:c,validator:T});F({isDragAccept:r,isDragReject:n>0&&!r,isDragActive:!0,type:`setDraggedFiles`}),l&&l(e)}}).catch(function(e){return V(e)})},[i,l,V,C,E,o,a,s,c,T]),U=(0,j.useCallback)(function(e){e.preventDefault(),e.persist(),X(e);var t=Z(e);if(t&&e.dataTransfer)try{e.dataTransfer.dropEffect=`copy`}catch{}return t&&d&&d(e),!1},[d,C]),ne=(0,j.useCallback)(function(e){e.preventDefault(),e.persist(),X(e);var t=R.current.filter(function(e){return A.current&&A.current.contains(e)}),n=t.indexOf(e.target);n!==-1&&t.splice(n,1),R.current=t,!(t.length>0)&&(F({type:`setDraggedFiles`,isDragActive:!1,isDragAccept:!1,isDragReject:!1}),Z(e)&&u&&u(e))},[A,u,C]),W=(0,j.useCallback)(function(e,t){var n=[],r=[];e.forEach(function(e){var t=je(ce(e,E),2),i=t[0],s=t[1],c=je(le(e,o,a),2),l=c[0],u=c[1],d=T?T(e):null;if(i&&l&&!d)n.push(e);else{var f=[s,u];d&&(f=f.concat(d)),r.push({file:e,errors:f.filter(function(e){return e})})}}),(!s&&n.length>1||s&&c>=1&&n.length>c)&&(n.forEach(function(e){r.push({file:e,errors:[se]})}),n.splice(0)),F({acceptedFiles:n,fileRejections:r,isDragReject:r.length>0,type:`setFiles`}),f&&f(n,r,t),r.length>0&&m&&m(r,t),n.length>0&&p&&p(n,t)},[F,s,E,o,a,c,f,p,m,T]),G=(0,j.useCallback)(function(e){e.preventDefault(),e.persist(),X(e),R.current=[],Z(e)&&Promise.resolve(i(e)).then(function(t){de(e)&&!C||W(t,e)}).catch(function(e){return V(e)}),F({type:`reset`})},[i,W,V,C]),K=(0,j.useCallback)(function(){if(I.current){F({type:`openDialog`}),O();var e={multiple:s,types:D};window.showOpenFilePicker(e).then(function(e){return i(e)}).then(function(e){W(e,null),F({type:`closeDialog`})}).catch(function(e){ye(e)?(k(e),F({type:`closeDialog`})):be(e)?(I.current=!1,M.current?(M.current.value=null,M.current.click()):V(Error(`Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no <input> was provided.`))):V(e)});return}M.current&&(F({type:`openDialog`}),O(),M.current.value=null,M.current.click())},[F,O,k,_,W,V,D,s]),re=(0,j.useCallback)(function(e){!A.current||!A.current.isEqualNode(e.target)||(e.key===` `||e.key===`Enter`||e.keyCode===32||e.keyCode===13)&&(e.preventDefault(),K())},[A,K]),ie=(0,j.useCallback)(function(){F({type:`focus`})},[]),ae=(0,j.useCallback)(function(){F({type:`blur`})},[]),oe=(0,j.useCallback)(function(){b||(he()?setTimeout(K,0):K())},[b,K]),q=function(e){return r?null:e},J=function(e){return x?null:q(e)},Y=function(e){return S?null:q(e)},X=function(e){C&&e.stopPropagation()},pe=(0,j.useMemo)(function(){return function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.refKey,n=t===void 0?`ref`:t,i=e.role,a=e.onKeyDown,o=e.onFocus,s=e.onBlur,c=e.onClick,l=e.onDragEnter,u=e.onDragOver,d=e.onDragLeave,f=e.onDrop,p=ze(e,Te);return $($(Re({onKeyDown:J(Q(a,re)),onFocus:J(Q(o,ie)),onBlur:J(Q(s,ae)),onClick:q(Q(c,oe)),onDragEnter:Y(Q(l,H)),onDragOver:Y(Q(u,U)),onDragLeave:Y(Q(d,ne)),onDrop:Y(Q(f,G)),role:typeof i==`string`&&i!==``?i:`presentation`},n,A),!r&&!x?{tabIndex:0}:{}),p)}},[A,re,ie,ae,oe,H,U,ne,G,x,S,r]),me=(0,j.useCallback)(function(e){e.stopPropagation()},[]),xe=(0,j.useMemo)(function(){return function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.refKey,n=t===void 0?`ref`:t,r=e.onChange,i=e.onClick,a=ze(e,Ee);return $($({},Re({accept:E,multiple:s,type:`file`,style:{border:0,clip:`rect(0, 0, 0, 0)`,clipPath:`inset(50%)`,height:`1px`,margin:`0 -1px -1px 0`,overflow:`hidden`,padding:0,position:`absolute`,width:`1px`,whiteSpace:`nowrap`},onChange:q(Q(r,G)),onClick:q(Q(i,me)),tabIndex:-1},n,M)),a)}},[M,n,s,G,r]);return $($({},P),{},{isFocused:ee&&!r,getRootProps:pe,getInputProps:xe,rootRef:A,inputRef:M,open:q(K)})}function Ge(e,t){switch(t.type){case`focus`:return $($({},e),{},{isFocused:!0});case`blur`:return $($({},e),{},{isFocused:!1});case`openDialog`:return $($({},Ue),{},{isFileDialogActive:!0});case`closeDialog`:return $($({},e),{},{isFileDialogActive:!1});case`setDraggedFiles`:return $($({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case`setFiles`:return $($({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections,isDragReject:t.isDragReject});case`setDragGlobal`:return $($({},e),{},{isDragGlobal:t.isDragGlobal});case`reset`:return $({},Ue);default:return e}}function Ke(){}var qe=a(`flex cursor-pointer flex-col items-center justify-center outline-hidden`,{variants:{variant:{default:i(l(`self`),`border-2 border-dashed bg-transparent p-10 hover:border-border-strong`),filled:i(l(`self`),`border-transparent bg-muted p-3 hover:bg-interactive-hover`),button:i(o({variant:`outline`}),`flex-row`),buttonSecondary:i(o({size:`sm`,variant:`secondary`}),`flex-row`)}},defaultVariants:{variant:`default`}}),Je=j.forwardRef(({accept:e,multiple:t=!1,maxFiles:n=+!t,disabled:r=!1,inputId:a,inputAriaLabel:o,inputTestId:s,onDropAccepted:c,onDropRejected:l,variant:u,className:d,children:f,...p},m)=>{let{getRootProps:h,getInputProps:g,rootRef:_,isDragActive:v,isDragAccept:y,isDragReject:b,isFocused:x,isFileDialogActive:S,open:C}=We({accept:e,multiple:t,maxFiles:n,disabled:r,onDropAccepted:c,onDropRejected:l}),w=typeof f==`function`?f({isDragActive:v,isDragAccept:y,isDragReject:b,isFocused:x,isFileDialogActive:S,open:C}):f,T=e=>{_.current=e,typeof m==`function`?m(e):m&&(m.current=e)},{ref:E,...D}=h({...p,role:`button`,tabIndex:r?-1:0,"aria-disabled":r,"aria-invalid":b||void 0,className:i(qe({variant:u}),r&&`pointer-events-none cursor-not-allowed opacity-60`,b&&`border-state-danger bg-state-danger/10`,v&&!b&&!r&&`border-state-success bg-state-success/10`,d)});return(0,M.jsxs)(`div`,{ref:T,...D,children:[(0,M.jsx)(`input`,{...g(),"aria-label":o,"data-testid":s,id:a}),w]})});Je.displayName=`Dropzone`;export{Je as t};
|