ghost 6.60.0 → 6.61.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/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-custom-field-types-0.0.0.tgz +0 -0
- package/components/tryghost-kg-default-cards-10.3.5.tgz +0 -0
- package/core/boot.js +13 -4
- package/core/built/admin/assets/{Combination-gnJO3vIw.js → Combination-5fYEzgbs.js} +1 -1
- package/core/built/admin/assets/{PolarAngleAxis-C4qtHy1B.js → PolarAngleAxis-pkMyqz8g.js} +1 -1
- package/core/built/admin/assets/{RadialBarChart-Bh09Stsj.js → RadialBarChart-JAKoS4KT.js} +1 -1
- package/core/built/admin/assets/{about-BgpmhCuM.js → about-Bve7IJS2.js} +1 -1
- package/core/built/admin/assets/{account-migration-8qTEI1i1.js → account-migration-DRhAehfw.js} +1 -1
- package/core/built/admin/assets/{action-list-lGzZLHc8.js → action-list-C4v0-du8.js} +1 -1
- package/core/built/admin/assets/activitypub/{account-migration-DMHuPnJn.js → account-migration-C-aej4x_.js} +7 -7
- package/core/built/admin/assets/activitypub/activitypub.js +3 -4
- package/core/built/admin/assets/activitypub/{avatar-DhTo5D1B.js → avatar-DLPL3Abs.js} +59 -68
- package/core/built/admin/assets/activitypub/{avatar-flipboard-DnVgbEfa.js → avatar-flipboard-C9iDY-QV.js} +2 -2
- package/core/built/admin/assets/activitypub/{bluesky-sharing-BT4zAlW7.js → bluesky-sharing-BXkA5mqV.js} +8 -8
- package/core/built/admin/assets/activitypub/{content-formatters-BeDZ-DIa.js → content-formatters-CHcyMFk4.js} +17 -17
- package/core/built/admin/assets/activitypub/{copy-8sqxUuNd.js → copy-DIAOQoCZ.js} +2 -2
- package/core/built/admin/assets/activitypub/{domain-xQDDu1CS.js → domain-B3ihkPde.js} +8 -8
- package/core/built/admin/assets/activitypub/{edit-profile-BXdF_r2G.js → edit-profile-DsZM3rTX.js} +5 -5
- package/core/built/admin/assets/activitypub/{explore-CMt7gKlL.js → explore-BodNrZgR.js} +8 -8
- package/core/built/admin/assets/activitypub/{feed-Bwqdddp_.js → feed-PwH1iJ84.js} +9 -9
- package/core/built/admin/assets/activitypub/{field-4co_8FVg.js → field-D06-kmOJ.js} +3 -3
- package/core/built/admin/assets/activitypub/{hash-DwakMs4X.js → hash-Bm3WxYN4.js} +2 -2
- package/core/built/admin/assets/activitypub/{inbox-DQ5CwLma.js → inbox-BluD2ucT.js} +16 -16
- package/core/built/admin/assets/activitypub/{inbox-ckD4wo_r.js → inbox-d8oJRTf4.js} +2 -2
- package/core/built/admin/assets/activitypub/{label-B72sfvEU.js → label-FHSh6ZAw.js} +3 -3
- package/core/built/admin/assets/activitypub/layout-Cq4NG0Xr.js +1 -0
- package/core/built/admin/assets/activitypub/{moderation-KCCO7L2J.js → moderation-D1Yapsod.js} +9 -9
- package/core/built/admin/assets/activitypub/{note-BX_Bz5A0.js → note-C5zjqq5C.js} +8 -8
- package/core/built/admin/assets/activitypub/{notifications-BQOYGvRv.js → notifications-B9p8eCHD.js} +9 -9
- package/core/built/admin/assets/activitypub/{preferences-6h43G9_q.js → preferences-BCqUdC3v.js} +9 -9
- package/core/built/admin/assets/activitypub/{profile-BMN9VVZ2.js → profile-BRCWoFem.js} +178 -178
- package/core/built/admin/assets/activitypub/{reply-ZNo04xsO.js → reply-DYK5vVqb.js} +2 -2
- package/core/built/admin/assets/activitypub/{routes-3B9mUQ7i.js → routes-BSXT992i.js} +81 -84
- package/core/built/admin/assets/activitypub/{separator-D9taVCCa.js → separator-BbQqTm-p.js} +3 -3
- package/core/built/admin/assets/activitypub/{settings-71gCm3SO.js → settings-DQDkr06X.js} +6 -6
- package/core/built/admin/assets/activitypub/{step-1-BsGGnBuT.js → step-1-B-YfsVeO.js} +5 -5
- package/core/built/admin/assets/activitypub/{step-2-teosIS0k.js → step-2-DtPQzlTH.js} +6 -6
- package/core/built/admin/assets/activitypub/{step-3-BjD5TokC.js → step-3-D6BFMXL_.js} +10 -10
- package/core/built/admin/assets/activitypub/{tabs-Cvwl1wXU.js → tabs-GpNecvfB.js} +6 -6
- package/core/built/admin/assets/activitypub/{topic-filter-C3LZJc2X.js → topic-filter-BPDeQQys.js} +3 -3
- package/core/built/admin/assets/activitypub/{use-activity-pub-queries-Dp9f0gov.js → use-activity-pub-queries-BoVOxXkV.js} +2 -2
- package/core/built/admin/assets/activitypub/{use-navigate-with-base-path-C4RI0sa9.js → use-navigate-with-base-path-Bmk5h4lW.js} +220 -220
- package/core/built/admin/assets/activitypub/{use-reply-chain-data-C2oNDMUH.js → use-reply-chain-data-wVBX7swM.js} +5 -5
- package/core/built/admin/assets/activitypub/{x-Dxm6pV9X.js → x-DbQZOLiI.js} +2 -2
- package/core/built/admin/assets/{add-integration-modal--YpTq3c0.js → add-integration-modal-BC0jExDZ.js} +1 -1
- package/core/built/admin/assets/{add-newsletter-modal-C8Ix2hol.js → add-newsletter-modal-DchTkA7l.js} +1 -1
- package/core/built/admin/assets/{add-recommendation-modal-CScuNFz4.js → add-recommendation-modal-DMvaJZKp.js} +1 -1
- package/core/built/admin/assets/alert-dialog-QhXzdHfc.js +1 -0
- package/core/built/admin/assets/{analytics-Cnji45H5.js → analytics-No1DDY3A.js} +1 -1
- package/core/built/admin/assets/{announcement-bar-modal-BTHiy1ZO.js → announcement-bar-modal-DM3cYOpo.js} +1 -1
- package/core/built/admin/assets/{api-keys-Boy5pLbD.js → api-keys-BLm2NDBh.js} +1 -1
- package/core/built/admin/assets/audience-9mwU5TW6.js +1 -0
- package/core/built/admin/assets/{automations-BWpRCZ_f.js → automations-DpUNUdcZ.js} +1 -1
- package/core/built/admin/assets/{bluesky-sharing-DHOpQxff.js → bluesky-sharing-Cjrv_f62.js} +1 -1
- package/core/built/admin/assets/{box-By_EgGtm.js → box-CdfQAP_F.js} +1 -1
- package/core/built/admin/assets/{brand-icon-09YqFZjV.js → brand-icon-CrIGOA3Z.js} +1 -1
- package/core/built/admin/assets/{breadcrumb-CcFr_ltt.js → breadcrumb-DLiqCyFc.js} +1 -1
- package/core/built/admin/assets/{button-BshWPHvn.js → button-B2jcu6bk.js} +1 -1
- package/core/built/admin/assets/{card-CiiE7QfM.js → card--VNbfgo3.js} +1 -1
- package/core/built/admin/assets/{chart-BnXyfH11.js → chart-BrhA41Zi.js} +1 -1
- package/core/built/admin/assets/chart-helpers-Fo3bUL3K.js +1 -0
- package/core/built/admin/assets/{checkbox-Dwwr_3Py.js → checkbox-BfKktMph.js} +1 -1
- package/core/built/admin/assets/{chunk.524.91ecb33e6afc3bd8949b.js → chunk.524.60ca4692d91c6022042f.js} +4 -4
- package/core/built/admin/assets/{chunk.582.512549909741883f960c.js → chunk.582.525c7617c2d9e94c940a.js} +6 -6
- package/core/built/admin/assets/{chunk.16.f76a6314082d813d67e0.js → chunk.896.435fe0637944d4a69810.js} +3 -3
- package/core/built/admin/assets/{code-editor-view-BwIdPy_k.js → code-editor-view-CYVu4EW6.js} +1 -1
- package/core/built/admin/assets/{code-editor-view-CtkF82Fv.js → code-editor-view-DCQJxsfU.js} +1 -1
- package/core/built/admin/assets/{color-picker-Bmo1r9Fc.js → color-picker-BTY_NdEm.js} +1 -1
- package/core/built/admin/assets/{color-picker-field-DywowPhF.js → color-picker-field-CPlkzOH0.js} +1 -1
- package/core/built/admin/assets/{combobox-C4QCh6Yw.js → combobox-DrMtv_4P.js} +1 -1
- package/core/built/admin/assets/command-ZdgYJpoI.js +1 -0
- package/core/built/admin/assets/comments-kidj60-h.js +1 -0
- package/core/built/admin/assets/{confirmation-context-CLFHhyyH.js → confirmation-context-BhbmQQEl.js} +1 -1
- package/core/built/admin/assets/{container-LiZf3XdY.js → container-BuQG1wuP.js} +1 -1
- package/core/built/admin/assets/{content-api-modal-BtpNI92-.js → content-api-modal-CyQEC3fr.js} +1 -1
- package/core/built/admin/assets/{copy-field-CglgRZyG.js → copy-field-B3M1s78L.js} +1 -1
- package/core/built/admin/assets/{custom-field-type-option-D0PXoSnP.js → custom-field-type-option-CsGIZk1J.js} +1 -1
- package/core/built/admin/assets/{custom-integration-modal-DCIHKN33.js → custom-integration-modal-BY37O_9X.js} +1 -1
- package/core/built/admin/assets/{data-list-CupF7bjM.js → data-list-CA2jYGPq.js} +1 -1
- package/core/built/admin/assets/{date-range-select-JPwM0yUj.js → date-range-select-DD2RKkgB.js} +1 -1
- package/core/built/admin/assets/design-and-theme-modal-DUSKM4uC.js +22 -0
- package/core/built/admin/assets/{detail-page-D8lx2SdP.js → detail-page-Dnv-CdR1.js} +1 -1
- package/core/built/admin/assets/dialog-B44iRwlc.js +1 -0
- package/core/built/admin/assets/{dirty-confirm-dialog-CmARpZQS.js → dirty-confirm-dialog-BxgQgQ6H.js} +1 -1
- package/core/built/admin/assets/{disabled-sources-indicator-BTJ2ClQu.js → disabled-sources-indicator-Cvy47bE2.js} +1 -1
- package/core/built/admin/assets/{dist-DzcfoDJ3.js → dist-8YJUlf3B.js} +1 -1
- package/core/built/admin/assets/{dist-Cb5RSHSg.js → dist-B3keLvjj.js} +1 -1
- package/core/built/admin/assets/{dist-QLZuGq7o2.js → dist-Cy8tfrp_.js} +1 -1
- package/core/built/admin/assets/{dist-BT_Z-eCn.js → dist-Dgt2cr6a.js} +1 -1
- package/core/built/admin/assets/{domain-D0SAtc-T.js → domain-Ca6KhoQt.js} +1 -1
- package/core/built/admin/assets/{dropzone-CaPOeDRZ.js → dropzone-Bb-5zQTk.js} +1 -1
- package/core/built/admin/assets/edit-profile-BdupLlus.js +1 -0
- package/core/built/admin/assets/{editor-COXn4Atu.js → editor-BP883Lpn.js} +3 -3
- package/core/built/admin/assets/{embed-signup-form-modal-BFTPf04i.js → embed-signup-form-modal-DeBMLxlL.js} +1 -1
- package/core/built/admin/assets/{empty-indicator-WB1WgT9h.js → empty-indicator-D9QdpuNX.js} +1 -1
- package/core/built/admin/assets/{explore-BsNYrubV.js → explore-FB-CimXw.js} +1 -1
- package/core/built/admin/assets/{feed-8RR1O1bK.js → feed-C1GxsmI2.js} +1 -1
- package/core/built/admin/assets/{field-LmNk7wZh.js → field-Cj8lmDOo.js} +1 -1
- package/core/built/admin/assets/{filter-sources-4C0kF1NU.js → filter-sources-D5n5bFA2.js} +1 -1
- package/core/built/admin/assets/{filters-CV5jCb9n.js → filters-DJEzkMUK.js} +1 -1
- package/core/built/admin/assets/{filters-Dmr0PoqU.js → filters-MZXvdH5D.js} +1 -1
- package/core/built/admin/assets/{first-promoter-modal-OCzSaL3B.js → first-promoter-modal-CGTGLCr5.js} +1 -1
- package/core/built/admin/assets/{ghost-403cb39badad3df411fc0ba27d220047.js → ghost-3894eedcc6968f658578c0abfe942aab.js} +2 -2
- package/core/built/admin/assets/{gift-link-modal-0mzjn5oF.js → gift-link-modal-B6v0tnRN.js} +1 -1
- package/core/built/admin/assets/{grid-CUciBfjf.js → grid-Dj29PY05.js} +1 -1
- package/core/built/admin/assets/growth-BGAJD1rs.js +3 -0
- package/core/built/admin/assets/growth-D6mhcx3q.js +1 -0
- package/core/built/admin/assets/{heading-CRZZ2FUe.js → heading-Dh5SFVjL.js} +1 -1
- package/core/built/admin/assets/history-modal-iKwUY3XR.js +1 -0
- package/core/built/admin/assets/html-field-C8qVGGC1.js +1 -0
- package/core/built/admin/assets/{images-C0XvUYMb.js → images-h8VZEQ9k.js} +1 -1
- package/core/built/admin/assets/{inbox-DZXDUt4s.js → inbox-BYd1M06Q.js} +13 -13
- package/core/built/admin/assets/index-DjQe-e5s.js +4 -0
- package/core/built/admin/assets/{index.es-BMUCj9TR.js → index.es-VihPwfeH.js} +1 -1
- package/core/built/admin/assets/{inline-Cw-gigDW.js → inline-BWSs_VzR.js} +1 -1
- package/core/built/admin/assets/{input-UHrKuvBT.js → input--W-rCTrX.js} +1 -1
- package/core/built/admin/assets/{input-group-BPAxETpQ.js → input-group-D8sCXRF5.js} +1 -1
- package/core/built/admin/assets/{input-surface-BdOe4KzO.js → input-surface-BsrIZeSF.js} +1 -1
- package/core/built/admin/assets/{integration-header-B4DyXV06.js → integration-header-Bm6IDb1A.js} +1 -1
- package/core/built/admin/assets/{invite-user-modal-BrAkxEO3.js → invite-user-modal-MdImLCaJ.js} +1 -1
- package/core/built/admin/assets/{koenig-lexical-60O_8aiO.js → koenig-lexical-_-IsVI7E.js} +1 -1
- package/core/built/admin/assets/koenig-loader-DYZpm6El.js +2 -0
- package/core/built/admin/assets/{kpi-card-fUHZlzBX.js → kpi-card-DW_2y3ug.js} +1 -1
- package/core/built/admin/assets/kpi-card-DZQk_0W8.js +1 -0
- package/core/built/admin/assets/kpi-helpers-PueTKuA6.js +1 -0
- package/core/built/admin/assets/kpi-tabs-CojDs-Qz.js +1 -0
- package/core/built/admin/assets/{label-VIG969IC.js → label-DjbT91GM.js} +1 -1
- package/core/built/admin/assets/{label-picker-BBWykUeA.js → label-picker-cB51xl1r.js} +1 -1
- package/core/built/admin/assets/layout-c_B_1hax.js +1 -0
- package/core/built/admin/assets/{link-helpers-Dtq9fxQg.js → link-helpers-MVDdnFCY.js} +1 -1
- package/core/built/admin/assets/{list-page-CdsnQR9N.js → list-page-BucXJ0hi.js} +1 -1
- package/core/built/admin/assets/{loading-indicator-SFTqyYVE.js → loading-indicator-BpFWTVgh.js} +1 -1
- package/core/built/admin/assets/{member-custom-fields-gOv6Hoh3.js → member-custom-fields-qs0dIkxM.js} +1 -1
- package/core/built/admin/assets/member-detail-B6uec2a6.js +1 -0
- package/core/built/admin/assets/members-BQF3CqhI.js +2 -0
- package/core/built/admin/assets/{modal-page-BMTzFHVO.js → modal-page-xCivTMvI.js} +1 -1
- package/core/built/admin/assets/{moderation-DzzPLDyl.js → moderation-DY4wF1Q3.js} +1 -1
- package/core/built/admin/assets/{multi-select-combobox-CGohnsxJ.js → multi-select-combobox-B6LiRzDO.js} +1 -1
- package/core/built/admin/assets/navigation-modal-DX-gNF3X.js +1 -0
- package/core/built/admin/assets/newsletter-CyQA7m3m.js +1 -0
- package/core/built/admin/assets/{newsletter-detail-modal-DQU3r4g2.js → newsletter-detail-modal-BDrptuxn.js} +1 -1
- package/core/built/admin/assets/{newsletter-emails-D5ql1rud.js → newsletter-emails-CFeLlt4z.js} +1 -1
- package/core/built/admin/assets/newsletters-DXuNmC42.js +1 -0
- package/core/built/admin/assets/{note-i8k6pjaw.js → note-Cgo2LCJ6.js} +1 -1
- package/core/built/admin/assets/notifications-BC50AMku.js +1 -0
- package/core/built/admin/assets/{offers-container-modal-BWfjSdyg.js → offers-container-modal-DWycIMzT.js} +1 -1
- package/core/built/admin/assets/{onboarding-route-Cu_ROWPn.js → onboarding-route-Dmc4IPm3.js} +1 -1
- package/core/built/admin/assets/overview-CVbFtn-k.js +1 -0
- package/core/built/admin/assets/overview-YKj7SZaK.js +1 -0
- package/core/built/admin/assets/{page-header-Cfds8pCg.js → page-header-BR_nbIPp.js} +1 -1
- package/core/built/admin/assets/{pintura-modal-TDTrJ89x.js → pintura-modal-BR9hEvS8.js} +1 -1
- package/core/built/admin/assets/popover-CCy0h5rq.js +1 -0
- package/core/built/admin/assets/{portal-frame-DjBF-uy2.js → portal-frame-dc4XKr0e.js} +1 -1
- package/core/built/admin/assets/portal-modal-BvvdF_B9.js +1 -0
- package/core/built/admin/assets/{post-analytics-Buz1COoY.js → post-analytics-DX470WRG.js} +1 -1
- package/core/built/admin/assets/{post-analytics-header-B-P0eFnT.js → post-analytics-header-CXpJmdDv.js} +1 -1
- package/core/built/admin/assets/{post-analytics-provider-Cu3jNeFh.js → post-analytics-provider-CLfKGWZy.js} +1 -1
- package/core/built/admin/assets/{post-share-modal-P1_M6o-H.js → post-share-modal-Cl0NXRJr.js} +1 -1
- package/core/built/admin/assets/{preferences-Cq1aOiLy.js → preferences-DO0UUWFp.js} +2 -2
- package/core/built/admin/assets/{preview-chrome-BOVO6_PE.js → preview-chrome-BljUBlOk.js} +1 -1
- package/core/built/admin/assets/{preview-modal-MlTjP8UU.js → preview-modal-C-BL-F9k.js} +1 -1
- package/core/built/admin/assets/profile-CxT-0l4d.js +1 -0
- package/core/built/admin/assets/radio-group-Bgz60i81.js +1 -0
- package/core/built/admin/assets/{router-provider-CJC58zTy.js → router-provider-B0gZyiGJ.js} +1 -1
- package/core/built/admin/assets/{schemas-CRsC53ls.js → schemas-4UPic-oD.js} +2 -2
- package/core/built/admin/assets/select-DuDUFdPq.js +1 -0
- package/core/built/admin/assets/{settings-B5hJKZ5C.js → settings-BjCii7BM.js} +1 -1
- package/core/built/admin/assets/settings-b8kNzZSQ.js +4 -0
- package/core/built/admin/assets/{settings-breadcrumbs-sLDNedBW.js → settings-breadcrumbs-CyP_9zTo.js} +1 -1
- package/core/built/admin/assets/{shade-app-F7WxOyfk-nufqw1hd.js → shade-app-CcS3f8MZ-vwURazk8.js} +2 -2
- package/core/built/admin/assets/{share-modal-CLBfj377.js → share-modal-BV70mr9k.js} +1 -1
- package/core/built/admin/assets/{skeleton-D7hwjdry.js → skeleton-Ce9GgUpf.js} +1 -1
- package/core/built/admin/assets/{slack-modal-Bt9I_tEo.js → slack-modal-Be2_KK-z.js} +1 -1
- package/core/built/admin/assets/sort-button-Cc-Z96sA.js +1 -0
- package/core/built/admin/assets/{source-icon-BPsD5ees.js → source-icon-v6PUnmyM.js} +1 -1
- package/core/built/admin/assets/{stack-CIfOAAVf.js → stack-B2eszIiq.js} +1 -1
- package/core/built/admin/assets/{stats-B_YkF7bp.js → stats-C4reGh9O.js} +1 -1
- package/core/built/admin/assets/{stats-view-BOCp9RG8.js → stats-view-DP9pQ62k.js} +1 -1
- package/core/built/admin/assets/{step-1-CMta6YFO.js → step-1-DSRp2vBj.js} +1 -1
- package/core/built/admin/assets/{step-2-BG04nh5q.js → step-2-COqv2g0u.js} +1 -1
- package/core/built/admin/assets/{step-3-ZnMaVIPj.js → step-3-6W1NMVQc.js} +2 -2
- package/core/built/admin/assets/{stripe-button-DDoUKN5a.js → stripe-button-D2K42Uty.js} +1 -1
- package/core/built/admin/assets/{stripe-connect-modal-BeSukI8q.js → stripe-connect-modal-Z-UT_BGc.js} +1 -1
- package/core/built/admin/assets/{switch-C9djUIMO.js → switch-CI4gLWqb.js} +1 -1
- package/core/built/admin/assets/{table-CrqQtkR2.js → table-B2pIKjVh.js} +1 -1
- package/core/built/admin/assets/{tabs-CGisSbWq.js → tabs-SaW_UT-Q.js} +1 -1
- package/core/built/admin/assets/tag-detail-Dc0nTOtU.js +2 -0
- package/core/built/admin/assets/tags-BLaXBwnb.js +1 -0
- package/core/built/admin/assets/testimonials-modal-sFwRnNLh.js +1 -0
- package/core/built/admin/assets/{text-DU9Hv33_.js → text-BQDSDsKs.js} +1 -1
- package/core/built/admin/assets/{textarea-d9qEkMOP.js → textarea-DJ1Q5V39.js} +1 -1
- package/core/built/admin/assets/{tier-detail-modal-CxRwgTPR.js → tier-detail-modal-BCFpWwUS.js} +1 -1
- package/core/built/admin/assets/{toggle-group-CtKZURJd.js → toggle-group-EM9WpESu.js} +1 -1
- package/core/built/admin/assets/{topic-filter-D8JT8Tq1.js → topic-filter-DY4gNHn2.js} +1 -1
- package/core/built/admin/assets/{transistor-modal-6PUf0idx.js → transistor-modal-CpyPG-MH.js} +1 -1
- package/core/built/admin/assets/trend-badge-ByMkuAuH.js +1 -0
- package/core/built/admin/assets/{unsplash-modal-BPuDBPja.js → unsplash-modal-Cv2Q6GtY.js} +1 -1
- package/core/built/admin/assets/{use-analytics-data--opuzwcz.js → use-analytics-data-CHvjMYuT.js} +1 -1
- package/core/built/admin/assets/use-check-theme-limit-error-Qv4SVXqw.js +2 -0
- package/core/built/admin/assets/use-filter-params-CAvfDvf1.js +1 -0
- package/core/built/admin/assets/use-growth-stats-D6mZXGhK.js +1 -0
- package/core/built/admin/assets/{use-limiter-TDSNiHPB.js → use-limiter-cwJvsNBo.js} +1 -1
- package/core/built/admin/assets/{use-navigate-with-base-path-CK989MlC.js → use-navigate-with-base-path-BHPA228f.js} +1 -1
- package/core/built/admin/assets/{use-pintura-config-CnCGrDFk.js → use-pintura-config-CzTfnufz.js} +1 -1
- package/core/built/admin/assets/{use-pintura-editor-ntphvtUd.js → use-pintura-editor-BDBXWUYq.js} +1 -1
- package/core/built/admin/assets/{use-post-referrers-CbXLFIex.js → use-post-referrers-DbY-mzci.js} +1 -1
- package/core/built/admin/assets/{use-reply-chain-data-JYFKSO83.js → use-reply-chain-data-BeQwz8oF.js} +1 -1
- package/core/built/admin/assets/{use-router-history-entry-BwfQS2mq.js → use-router-history-entry-Bg6BhBQQ.js} +1 -1
- package/core/built/admin/assets/{use-setting-group-DQxV42-O.js → use-setting-group-VM7FQwMY.js} +1 -1
- package/core/built/admin/assets/{use-settings-navigation-BBzro2-V.js → use-settings-navigation-BbrSUVcf.js} +1 -1
- package/core/built/admin/assets/{use-simple-pagination-B2TdNX67.js → use-simple-pagination-Dum6Irbs.js} +1 -1
- package/core/built/admin/assets/{use-staff-users-QrR9voeC.js → use-staff-users-cZg4ugOF.js} +1 -1
- package/core/built/admin/assets/{use-tinybird-query-D2Aeoty5.js → use-tinybird-query-B1IMyAcv.js} +1 -1
- package/core/built/admin/assets/{use-tinybird-token-DBuwMmln.js → use-tinybird-token-Bow0Zwn8.js} +1 -1
- package/core/built/admin/assets/{use-unsaved-changes-guard-DpYJcj1d.js → use-unsaved-changes-guard-BAy0RANR.js} +1 -1
- package/core/built/admin/assets/{use-url-input-WnIqckzS.js → use-url-input-Df5QzNa7.js} +1 -1
- package/core/built/admin/assets/user-detail-modal-yipSoQfv.js +1 -0
- package/core/built/admin/assets/{virtual-list-D3MfPNOh.js → virtual-list-DEx8WgiO.js} +1 -1
- package/core/built/admin/assets/web-CKcXAu86.js +1 -0
- package/core/built/admin/assets/web-DR4TqM3E.js +2 -0
- package/core/built/admin/assets/{zapier-modal-BO6PS_Vd.js → zapier-modal-Cw3BTBUu.js} +1 -1
- package/core/built/admin/index.html +24 -25
- package/core/frontend/services/rendering/renderer.js +15 -0
- package/core/server/adapters/storage/LocalStorageBase.js +8 -5
- package/core/server/api/endpoints/db.js +19 -5
- package/core/server/api/endpoints/index.js +4 -0
- package/core/server/api/endpoints/member-custom-fields.js +4 -14
- package/core/server/api/endpoints/posts.js +1 -0
- package/core/server/api/endpoints/tiers-checkout-config.js +59 -0
- package/core/server/api/endpoints/utils/serializers/output/config.js +1 -0
- package/core/server/api/endpoints/utils/serializers/output/index.js +4 -0
- package/core/server/api/endpoints/utils/serializers/output/tiers-checkout-config.js +12 -0
- package/core/server/data/exporter/table-lists.js +3 -0
- package/core/server/data/importer/content-files.js +57 -0
- package/core/server/data/importer/handlers/image.js +2 -2
- package/core/server/data/importer/import-archive.js +131 -0
- package/core/server/data/importer/import-manager.js +18 -180
- package/core/server/data/importer/importers/content-file-importer.js +66 -4
- package/core/server/data/migrations/versions/6.61/2026-08-19-14-30-20-add-written-by-to-members-custom-field-values.js +42 -0
- package/core/server/data/migrations/versions/6.61/2026-08-19-14-38-53-add-members-custom-field-bindings-table.js +26 -0
- package/core/server/data/migrations/versions/6.61/2026-08-19-14-48-06-add-tier-checkout-field-tables.js +35 -0
- package/core/server/data/schema/schema.js +90 -0
- package/core/server/data/seeders/importers/automation-action-revisions-importer.js +3 -3
- package/core/server/data/seeders/importers/automation-actions-importer.js +3 -3
- package/core/server/data/seeders/importers/automation-run-steps-importer.js +3 -3
- package/core/server/data/seeders/importers/automation-runs-importer.js +5 -5
- package/core/server/data/seeders/importers/automations-importer.js +3 -3
- package/core/server/data/seeders/importers/comment-reports-importer.js +1 -1
- package/core/server/data/seeders/importers/comments-importer.js +1 -1
- package/core/server/data/seeders/importers/email-batches-importer.js +1 -1
- package/core/server/data/seeders/importers/email-recipients-importer.js +1 -1
- package/core/server/data/seeders/importers/emails-importer.js +1 -1
- package/core/server/data/seeders/importers/labels-importer.js +1 -1
- package/core/server/data/seeders/importers/members-click-events-importer.js +1 -1
- package/core/server/data/seeders/importers/members-created-events-importer.js +1 -1
- package/core/server/data/seeders/importers/members-feedback-importer.js +1 -1
- package/core/server/data/seeders/importers/members-importer.js +1 -1
- package/core/server/data/seeders/importers/members-login-events-importer.js +1 -1
- package/core/server/data/seeders/importers/members-products-importer.js +1 -1
- package/core/server/data/seeders/importers/members-status-events-importer.js +1 -1
- package/core/server/data/seeders/importers/members-stripe-customers-importer.js +1 -1
- package/core/server/data/seeders/importers/members-stripe-customers-subscriptions-importer.js +1 -1
- package/core/server/data/seeders/importers/members-subscribe-events-importer.js +1 -1
- package/core/server/data/seeders/importers/members-subscription-created-events-importer.js +1 -1
- package/core/server/data/seeders/importers/offer-redemptions-importer.js +1 -1
- package/core/server/data/seeders/importers/offers-importer.js +1 -1
- package/core/server/data/seeders/importers/posts-importer.js +1 -1
- package/core/server/data/seeders/importers/table-importer.js +2 -2
- package/core/server/data/seeders/importers/tags-importer.js +1 -1
- package/core/server/data/seeders/importers/users-importer.js +1 -1
- package/core/server/data/seeders/importers/web-mentions-importer.js +1 -1
- package/core/server/data/seeders/utils/random.js +3 -3
- package/core/server/ghost-server.js +3 -2
- package/core/server/lib/db-types/boolean.js +18 -0
- package/core/server/lib/promise-pool.js +31 -0
- package/core/server/services/automations/database-automations-repository.js +26 -26
- package/core/server/services/automations/poll.js +1 -0
- package/core/server/services/content-import/import/assets.js +74 -0
- package/core/server/services/content-import/import/importer.js +57 -14
- package/core/server/services/content-import/import/post-data.js +1 -0
- package/core/server/services/content-import/import/post-repository.js +78 -0
- package/core/server/services/content-import/import/relations.js +149 -0
- package/core/server/services/content-import/import/row.js +11 -0
- package/core/server/services/content-import/import/schema.js +29 -0
- package/core/server/services/content-import/import/source.js +125 -0
- package/core/server/services/content-import/index.js +6 -28
- package/core/server/services/email-analytics/email-analytics-service.js +8 -1
- package/core/server/services/email-analytics/lib/queries.js +7 -1
- package/core/server/services/gift-links/schema.js +3 -3
- package/core/server/services/gifts/CONTEXT.md +1 -1
- package/core/server/services/gifts/constants.js +1 -1
- package/core/server/services/gifts/gift-bookshelf-repository.js +2 -2
- package/core/server/services/gifts/gift-delivery-bookshelf-repository.js +18 -9
- package/core/server/services/gifts/gift-delivery-schema.js +5 -5
- package/core/server/services/gifts/gift-delivery-service.js +4 -0
- package/core/server/services/gifts/gift-schema.js +10 -10
- package/core/server/services/gifts/gift-service.js +4 -2
- package/core/server/services/jobs-service/register-job-handlers.js +5 -5
- package/core/server/services/lib/mailgun-client.js +44 -8
- package/core/server/services/media-inliner/external-media-inliner-job.js +12 -0
- package/core/server/services/media-inliner/external-media-inliner.js +103 -29
- package/core/server/services/media-inliner/service.js +13 -41
- package/core/server/services/media-inliner/types.js +2 -0
- package/core/server/services/members/import-export/export/exporter.js +4 -6
- package/core/server/services/members/import-export/import/importer.js +21 -5
- package/core/server/services/members/import-export/import/stripe-utils.js +6 -1
- package/core/server/services/members/import-export/index.js +6 -1
- package/core/server/services/members/members-api/members-api.js +5 -0
- package/core/server/services/members/members-api/services/member-bread-service.js +19 -1
- package/core/server/services/members/members-api/services/payments-service.js +47 -1
- package/core/server/services/members-custom-fields/actions.js +27 -1
- package/core/server/services/members-custom-fields/bindings-service.js +119 -0
- package/core/server/services/members-custom-fields/definitions-service.js +104 -13
- package/core/server/services/members-custom-fields/index.js +11 -4
- package/core/server/services/members-custom-fields/queries.js +5 -0
- package/core/server/services/members-custom-fields/schema.js +37 -6
- package/core/server/services/members-custom-fields/values-service.js +15 -3
- package/core/server/services/public-config/config.js +7 -0
- package/core/server/services/stripe/services/checkout/allowed-countries.js +267 -0
- package/core/server/services/stripe/services/checkout/completed-session.js +68 -0
- package/core/server/services/stripe/services/checkout/field-ports.js +34 -0
- package/core/server/services/stripe/services/checkout/session-options.js +97 -0
- package/core/server/services/stripe/services/webhook/checkout-session-event-service.js +49 -0
- package/core/server/services/stripe/stripe-api.js +29 -0
- package/core/server/services/stripe/stripe-service.js +7 -0
- package/core/server/services/tier-checkout-config/codec.js +95 -0
- package/core/server/services/tier-checkout-config/destinations.js +17 -0
- package/core/server/services/tier-checkout-config/index.js +26 -0
- package/core/server/services/tier-checkout-config/models.js +57 -0
- package/core/server/services/tier-checkout-config/queries.js +80 -0
- package/core/server/services/tier-checkout-config/schema.js +33 -0
- package/core/server/services/tier-checkout-config/serializers.js +122 -0
- package/core/server/services/tier-checkout-config/service.js +303 -0
- package/core/server/services/tiers/service.js +21 -0
- package/core/server/web/api/endpoints/admin/routes.js +24 -13
- package/core/server/web/api/middleware/upload.js +2 -2
- package/core/server/web/parent/app.js +5 -0
- package/core/server/web/parent/middleware/filter-query-parameters.js +94 -0
- package/core/server/web/parent/middleware/index.js +1 -0
- package/core/server/web/query-parameter-policy/index.js +9 -0
- package/core/server/web/query-parameter-policy/policy.json +58 -0
- package/core/server/web/query-parameter-policy/schema.js +38 -0
- package/core/shared/config/defaults.json +3 -0
- package/core/shared/config/env/config.testing-mysql.json +3 -0
- package/core/shared/config/env/config.testing.json +3 -0
- package/core/shared/config/overrides.json +4 -2
- package/core/shared/labs.js +5 -14
- package/package.json +12 -13
- package/pnpm-lock.yaml +44 -46
- package/pnpm-workspace.yaml +6 -6
- package/tsconfig.json +2 -3
- package/core/built/admin/assets/activitypub/layout-CXajhRsL.js +0 -1
- package/core/built/admin/assets/alert-dialog-wEbVxANM.js +0 -1
- package/core/built/admin/assets/app-utils-D2Wp7ZSS.js +0 -1
- package/core/built/admin/assets/audience-DTLMXAFH.js +0 -1
- package/core/built/admin/assets/chart-helpers-B3OqQ6Ez.js +0 -1
- package/core/built/admin/assets/command-DcLbSifC.js +0 -1
- package/core/built/admin/assets/comments-Bxy_3WyE.js +0 -1
- package/core/built/admin/assets/design-and-theme-modal-CZ-PkW7o.js +0 -23
- package/core/built/admin/assets/dialog-Db7c164G.js +0 -1
- package/core/built/admin/assets/edit-profile-By7v5XW5.js +0 -1
- package/core/built/admin/assets/growth-55vWlGT_.js +0 -1
- package/core/built/admin/assets/growth-DA5AluYw.js +0 -3
- package/core/built/admin/assets/history-modal-G1s5hHz7.js +0 -1
- package/core/built/admin/assets/html-field-BegxsWpw.js +0 -1
- package/core/built/admin/assets/index-CDP9tIOk.js +0 -4
- package/core/built/admin/assets/koenig-loader-DwVY_V-H.js +0 -1
- package/core/built/admin/assets/kpi-card-LERqWBoY.js +0 -1
- package/core/built/admin/assets/kpi-helpers-DB3ouhYF.js +0 -1
- package/core/built/admin/assets/kpi-tabs-BGvtMD8S.js +0 -1
- package/core/built/admin/assets/layout-Di5K7doM.js +0 -1
- package/core/built/admin/assets/member-detail-D7mZDDp3.js +0 -1
- package/core/built/admin/assets/member-route-0Aa52Ntz.js +0 -1
- package/core/built/admin/assets/members-DvZG9t69.js +0 -2
- package/core/built/admin/assets/navigation-modal-CI8Bx5vn.js +0 -1
- package/core/built/admin/assets/newsletter-Bg3cq5U-.js +0 -1
- package/core/built/admin/assets/newsletters-DMDfZbMS.js +0 -1
- package/core/built/admin/assets/notifications-psA_2Ph4.js +0 -1
- package/core/built/admin/assets/overview-C-6xOLaf.js +0 -1
- package/core/built/admin/assets/overview-DaLhpRrC.js +0 -1
- package/core/built/admin/assets/popover-CFgqFDvC.js +0 -1
- package/core/built/admin/assets/portal-modal-Cf0pBAk8.js +0 -1
- package/core/built/admin/assets/profile-D6dHYf2o.js +0 -1
- package/core/built/admin/assets/radio-group-CjtmsCPl.js +0 -1
- package/core/built/admin/assets/select-D_RQaXgt.js +0 -1
- package/core/built/admin/assets/settings-DIo_F-MF.js +0 -4
- package/core/built/admin/assets/sort-button-DMBXF7tP.js +0 -1
- package/core/built/admin/assets/tag-detail-2a3BfzTW.js +0 -2
- package/core/built/admin/assets/tags-Dp2_8UzL.js +0 -1
- package/core/built/admin/assets/testimonials-modal-C9nrypNo.js +0 -1
- package/core/built/admin/assets/use-check-theme-limit-error-C9-QhGdV.js +0 -1
- package/core/built/admin/assets/use-filter-params-CSpAvgD2.js +0 -1
- package/core/built/admin/assets/use-growth-stats-BOmoPDHJ.js +0 -1
- package/core/built/admin/assets/user-detail-modal-59mBJqxN.js +0 -1
- package/core/built/admin/assets/web-DUuX7nE2.js +0 -2
- package/core/built/admin/assets/web-N8ucs2aG.js +0 -1
- /package/core/server/lib/{db-date.js → db-types/date.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
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"./use-tinybird-query-D2Aeoty5.js";import{i,o as a}from"./post-helpers-C5OQMBoi.js";import{h as o}from"./chunk-KS7C4IRE-DCsL4i4D.js";import{a as s}from"./router-provider-CJC58zTy.js";import{f as c,p as l}from"./dist-Cb5RSHSg.js";import{a as u}from"./heading-CRZZ2FUe.js";import{a as d,c as f,n as p,s as m}from"./app-utils-D2Wp7ZSS.js";import{K as h,Ut as g,en as ee,hn as te,mn as _,t as v}from"./button-BshWPHvn.js";import{i as ne,s as re,t as ie}from"./chart-helpers-B3OqQ6Ez.js";import{t as ae}from"./skeleton-D7hwjdry.js";import{t as y}from"./loading-indicator-SFTqyYVE.js";import{a as b,n as x,o as S,t as C}from"./card-CiiE7QfM.js";import{c as w,l as oe,n as T,o as E,r as D,s as O,t as k,u as A}from"./data-list-CupF7bjM.js";import{t as j}from"./empty-indicator-WB1WgT9h.js";import{Ar as se,Fr as ce,I as le,Mr as ue,Or as de,Pn as M,kr as fe}from"./index-CDP9tIOk.js";import{t as pe}from"./disabled-sources-indicator-BTJ2ClQu.js";import{n as N,r as P,t as F}from"./kpi-card-LERqWBoY.js";import{t as I}from"./use-analytics-data--opuzwcz.js";import{a as L,n as R,r as z,t as B}from"./kpi-card-fUHZlzBX.js";import{n as me,r as he,t as ge}from"./post-analytics-header-B-P0eFnT.js";import{t as _e}from"./gift-links-DLDS7ljO.js";import{r as ve,t as ye}from"./gift-link-modal-0mzjn5oF.js";import{n as be}from"./post-analytics-context-D0Mw-Pmv.js";import{t as xe}from"./use-post-referrers-CbXLFIex.js";import{a as V,o as H,r as U,t as W}from"./link-helpers-Dtq9fxQg.js";import{n as Se,r as G}from"./kpi-helpers-DB3ouhYF.js";var K=e(t(),1),q=n(),Ce=({post:e,isNewsletterStatsLoading:t,isWebShown:n})=>{let{postId:r}=o(),i=s(),a=(0,K.useMemo)(()=>{let t=e.email?.opened_count||0,n=e.email?.email_count||0,r=e.count?.clicks||0;return{opened:t,clicked:r,openedRate:n>0?t/n:0,clickedRate:n>0?r/n:0,sent:n}},[e]),{data:d}=V({searchParams:{filter:`post_id:'${r}'`}}),f=(0,K.useMemo)(()=>U(d),[d]),p=[{datatype:`Clicked`,value:a.clickedRate,fill:`url(#gradientTeal)`,color:`var(--chart-teal)`},{datatype:`Opened`,value:a.openedRate,fill:`url(#gradientBlue)`,color:`var(--chart-blue)`}],m={percentage:{label:`Opened`},Average:{label:`Clicked`},"This newsletter":{label:`Opened`}},h=e.email_only||!n;return(0,q.jsxs)(C,{className:`group/datalist overflow-hidden ${h&&`col-span-2`}`,children:[(0,q.jsxs)(`div`,{className:`relative flex items-center justify-between gap-6`,children:[(0,q.jsx)(b,{children:(0,q.jsxs)(S,{className:`flex items-center gap-1.5 text-lg`,children:[(0,q.jsx)(g,{size:16,strokeWidth:1.5}),`Newsletter performance`]})}),(0,q.jsx)(v,{className:`absolute right-6 translate-x-10 opacity-0 transition-all duration-300 group-hover/datalist:translate-x-0 group-hover/datalist:opacity-100 focus-visible:translate-x-0 focus-visible:opacity-100`,size:`sm`,variant:`outline`,onClick:()=>{i(`/posts/analytics/${r}/newsletter`)},children:`View more`})]}),t?(0,q.jsx)(x,{children:(0,q.jsx)(`div`,{className:`mx-auto flex min-h-[250px] items-center justify-center xl:size-full`,children:(0,q.jsx)(y,{})})}):(0,q.jsxs)(x,{className:`${h&&`grid grid-cols-2`}`,children:[(0,q.jsxs)(`div`,{className:`${h&&`border-r pr-6`}`,children:[(0,q.jsxs)(`div`,{className:`grid grid-cols-2 gap-6`,children:[(0,q.jsx)(F,{className:`group relative flex grow flex-row items-start justify-between gap-5 border-none px-0 pt-0`,children:(0,q.jsxs)(`div`,{className:`flex grow flex-col gap-1.5 border-none pb-0`,children:[(0,q.jsx)(N,{color:`var(--chart-blue)`,children:`Open rate`}),(0,q.jsx)(P,{value:l(a.openedRate)})]})}),(0,q.jsx)(F,{className:`group relative flex grow flex-row items-start justify-between gap-5 border-none px-0 pt-0`,children:(0,q.jsxs)(`div`,{className:`flex grow flex-col gap-1.5 border-none pb-0`,children:[(0,q.jsx)(N,{color:`var(--chart-teal)`,children:`Click rate`}),(0,q.jsx)(P,{value:l(a.clickedRate)})]})})]}),!h&&(0,q.jsx)(M,{}),(0,q.jsx)(`div`,{className:`mx-auto my-6 h-[240px]`,children:(0,q.jsx)(H,{className:`pointer-events-none aspect-square h-[240px]`,config:m,data:p,tooltip:!1})})]}),(0,q.jsxs)(`div`,{className:`${h&&`pl-6`}`,children:[!h&&(0,q.jsx)(M,{}),(0,q.jsxs)(`div`,{className:h?``:`pt-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 ${h?`pb-3`:`py-3`}`,children:[(0,q.jsx)(`span`,{className:`font-medium text-muted-foreground`,children:`Top clicked links in this email`}),(0,q.jsx)(u,{children:`Members`})]}),f.length>0?(0,q.jsx)(k,{className:``,children:(0,q.jsx)(D,{children:f.slice(0,h?10:5).map(e=>{let t=a.clicked>0?e.count/a.clicked:0;return(0,q.jsxs)(A,{children:[(0,q.jsx)(T,{style:{width:`${t?Math.round(t*100):0}%`}}),(0,q.jsx)(E,{children:(0,q.jsxs)(`div`,{className:`flex items-center space-x-2 overflow-hidden`,children:[(0,q.jsx)(ee,{className:`shrink-0 text-muted-foreground`,size:16,strokeWidth:1.5}),(0,q.jsx)(`a`,{className:`block truncate font-medium hover:underline`,href:e.link.to,rel:`noreferrer`,target:`_blank`,title:e.link.to,children:W(e.link.to,!0)})]})}),(0,q.jsxs)(O,{children:[(0,q.jsx)(w,{children:c(e.count||0)}),(0,q.jsx)(oe,{children:l(t)})]})]},e.link.link_id)})})}):(0,q.jsx)(`div`,{className:`py-20 text-center text-sm text-gray-700`,children:`You have no links in your post.`})]})]})]})]})},we=({chartData:e,range:t,isLoading:n,visitors:r,sourcesData:i,isNewsletterShown:a=!0})=>{let{postId:l}=o(),d=s(),{site:f}=I(),p=f.url,m=f.icon,h=(0,K.useMemo)(()=>i?i.reduce((e,t)=>e+Number(t.visits||0),0):0,[i]);return(0,q.jsx)(q.Fragment,{children:(0,q.jsxs)(C,{className:`group/datalist overflow-hidden ${!a&&`col-span-2`}`,"data-testid":`web-performance`,children:[(0,q.jsxs)(`div`,{className:`relative flex items-center justify-between gap-6`,children:[(0,q.jsx)(b,{children:(0,q.jsxs)(S,{className:`flex items-center gap-1.5 text-lg`,children:[(0,q.jsx)(_,{size:16,strokeWidth:1.5}),`Web performance`]})}),(0,q.jsx)(v,{className:`absolute right-6 translate-x-10 opacity-0 transition-all duration-300 group-hover/datalist:translate-x-0 group-hover/datalist:opacity-100 focus-visible:translate-x-0 focus-visible:opacity-100`,size:`sm`,variant:`outline`,onClick:()=>{d(`/posts/analytics/${l}/web`)},children:`View more`})]}),(0,q.jsxs)(x,{children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(F,{className:`group relative flex grow flex-row items-start justify-between gap-5 border-none px-0 pt-0`,"data-testid":`unique-visitors`,children:(0,q.jsxs)(`div`,{className:`flex grow flex-col gap-1.5 border-none pb-0`,children:[(0,q.jsx)(N,{color:`var(--chart-blue)`,children:`Unique visitors`}),(0,q.jsx)(P,{value:c(r)})]})}),(0,q.jsx)(M,{}),(0,q.jsx)(`div`,{className:`max-h-[288px] py-6 [&_.recharts-cartesian-axis-tick-value]:fill-gray-500`,children:n?(0,q.jsx)(`div`,{className:`flex h-[16vw] min-h-[240px] items-center justify-center`,children:(0,q.jsx)(y,{})}):(0,q.jsx)(re,{className:`aspect-auto h-[240px] w-full`,color:`var(--chart-blue)`,data:e||[],id:`visitors`,range:t,syncId:`overview-charts`})})]}),a&&(0,q.jsxs)(`div`,{className:a?`border-t pt-3`:`-mt-3`,children:[(0,q.jsx)(`div`,{children:(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-3`,children:[(0,q.jsx)(`span`,{className:`font-medium text-muted-foreground`,children:`How readers found this post`}),(0,q.jsx)(u,{children:`Visitors`})]})}),i&&i.length>0?(0,q.jsx)(G,{data:i,range:t,siteIcon:m,siteUrl:p,tableOnly:!0,topSourcesLimit:5,totalVisitors:h}):(0,q.jsx)(j,{className:`h-full py-10`,description:`Once someone visits this post, sources will show here`,title:`No visitors since you published this post`,children:(0,q.jsx)(_,{strokeWidth:1.5})})]})]})]})})},J=()=>{let e=s(),{statsConfig:t,isLoading:n}=I(),{post:o,isPostLoading:l,postId:u}=be(),{totals:g,isLoading:ee,currencySymbol:_}=xe(u),re=de(),w=fe(),oe=se(),T=ue(),E=ce(),D=me(o),{token:O,isLoading:k,error:A}=_e(u,{enabled:D}),{usage:j,loading:M,error:N}=ve({postUuid:o?.uuid,token:O,tokenLoading:k,tokenError:A,enabled:D}),[P,F]=(0,K.useState)(!1),V=(0,K.useMemo)(()=>o?.published_at?f(o.published_at):le.allTime.value,[o?.published_at]),{startDate:H,endDate:U,timezone:W}=m(V),G=(0,K.useMemo)(()=>{let e={site_uuid:t?.id||``,date_from:d(H),date_to:d(U),timezone:W,post_uuid:``};return!l&&o?.uuid?{...e,post_uuid:o.uuid}:e},[l,o,t?.id,H,U,W]),{data:J,loading:Te}=r({endpoint:`api_kpis`,statsConfig:t,params:G}),Ee=(0,K.useMemo)(()=>J?.length?J.reduce((e,t)=>{let n=Number(t.visits);return e+(isNaN(n)?0:n)},0):0,[J]),Y=Se.visits,De=ie(V,J||[],{fieldName:Y.dataKey}),Oe=ne(J||[],V,Y.dataKey,`sum`)?.map(e=>{let t=Number(e[Y.dataKey]);return{date:String(e.date),value:t,formattedValue:Y.formatter(t),label:Y.label}}),{data:ke,loading:Ae}=r({endpoint:`api_top_sources`,statsConfig:t,params:G}),je=n||ee||l||Te,Me=l||n||Te,X=a(o)&&w&&re,Z=!o?.email_only&&E,Q=oe,$=!!(D&&o&&E);return(0,K.useEffect)(()=>{!l&&o&&i(o)&&!E&&Q&&e(`/posts/analytics/${u}/growth`,{replace:!0})},[l,o,E,e,u,Q]),l?(0,q.jsx)(y,{}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(ge,{currentTab:`Overview`}),(0,q.jsx)(he,{children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-6 lg:grid lg:grid-cols-2`,children:[Z&&(0,q.jsx)(we,{chartData:Oe,isLoading:Me||je||Ae,isNewsletterShown:X,range:De,sourcesData:ke,visitors:Ee}),X&&(0,q.jsx)(Ce,{isNewsletterStatsLoading:l,isWebShown:Z,post:o}),(Q||$)&&(0,q.jsxs)(`div`,{className:`col-span-2 flex flex-col gap-6 lg:grid lg:grid-cols-3`,children:[Q&&(0,q.jsxs)(C,{className:`group overflow-hidden p-0 ${$?`lg:col-span-2`:`lg:col-span-3`}`,"data-testid":`growth`,children:[(0,q.jsxs)(`div`,{className:`relative flex items-center justify-between gap-6`,children:[(0,q.jsx)(b,{children:(0,q.jsxs)(S,{className:`flex items-center gap-1.5 text-lg`,children:[(0,q.jsx)(h,{size:16,strokeWidth:1.5}),`Growth`]})}),(0,q.jsx)(v,{className:`absolute right-6 translate-x-10 opacity-0 transition-all duration-200 group-hover:translate-x-0 group-hover:opacity-100 focus-visible:translate-x-0 focus-visible:opacity-100`,size:`sm`,variant:`outline`,onClick:()=>{e(`/posts/analytics/${u}/growth`)},children:`View more`})]}),(0,q.jsx)(x,{className:`flex flex-col gap-6 px-0 md:grid md:grid-cols-3 md:items-stretch md:gap-0`,children:je?Array.from({length:3},(e,t)=>(0,q.jsxs)(`div`,{className:`h-[98px] gap-1 border-r px-6 py-5 last:border-r-0`,children:[(0,q.jsx)(ae,{className:`w-2/3`}),(0,q.jsx)(ae,{className:`h-7 w-12`})]},t)):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(B,{className:`grow gap-1 py-0`,children:[(0,q.jsx)(z,{children:`Free members`}),(0,q.jsx)(R,{children:(0,q.jsx)(L,{className:`text-[2.2rem]`,children:c(g?.free_members||0)})})]}),T&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(B,{className:`grow gap-1 py-0`,children:[(0,q.jsx)(z,{children:`Paid members`}),(0,q.jsx)(R,{children:(0,q.jsx)(L,{className:`text-[2.2rem]`,children:c(g?.paid_members||0)})})]}),(0,q.jsxs)(B,{className:`grow gap-1 py-0`,children:[(0,q.jsx)(z,{children:`MRR impact`}),(0,q.jsx)(R,{children:(0,q.jsxs)(L,{className:`text-[2.2rem]`,children:[_,c(p(g?.mrr||0))]})})]})]})]})})]}),$&&(0,q.jsxs)(C,{className:`group/datalist overflow-hidden ${Q?`lg:col-span-1`:`lg:col-span-3`}`,"data-testid":`gift-link-card`,children:[(0,q.jsxs)(`div`,{className:`relative flex items-center justify-between gap-6`,children:[(0,q.jsx)(b,{children:(0,q.jsxs)(S,{className:`flex items-center gap-1.5 text-lg`,children:[(0,q.jsx)(te,{size:16,strokeWidth:1.5}),`Gift link`]})}),(0,q.jsx)(v,{className:`absolute right-6 translate-x-10 opacity-0 transition-all duration-300 group-hover/datalist:translate-x-0 group-hover/datalist:opacity-100 focus-visible:translate-x-0 focus-visible:opacity-100`,size:`sm`,variant:`outline`,onClick:()=>F(!0),children:`Share`})]}),!M&&!N&&(0,q.jsxs)(x,{className:`flex flex-col gap-1`,children:[(0,q.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Visitors`}),(0,q.jsx)(`span`,{className:`text-[2.2rem] leading-none font-semibold`,"data-testid":`gift-link-card-visitors`,children:c(j?.visits??0)})]})]})]}),!Z&&!X&&!Q&&!$&&(0,q.jsx)(pe,{className:`col-span-2 py-20`})]})}),$&&(0,q.jsx)(ye,{open:P,postId:u,source:`gift-link-card`,onOpenChange:F},u)]})};export{J as default};
|
|
@@ -1 +0,0 @@
|
|
|
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"./use-tinybird-query-D2Aeoty5.js";import{f as i,g as a,s as o}from"./stats-B_YkF7bp.js";import{t as s}from"./posts-KY3aUhVV.js";import{o as c}from"./config-DOMQDZGZ.js";import{t as l}from"./analytics-53FOa2wq.js";import{a as u,t as d}from"./post-helpers-C5OQMBoi.js";import{a as f}from"./router-provider-CJC58zTy.js";import{c as p,f as m,l as h,p as g,s as _}from"./dist-Cb5RSHSg.js";import{r as v}from"./heading-CRZZ2FUe.js";import{a as y,n as b,s as x}from"./app-utils-D2Wp7ZSS.js";import{$ as S,$n as C,Dt as w,Nn as T,Ot as E,Y as ee,bt as D,g as O,ir as te,ln as ne,mn as k,nr as re,qt as A,r as ie,t as j,u as ae,wn as oe}from"./button-BshWPHvn.js";import{i as M,n as N,s as P,t as F}from"./chart-helpers-B3OqQ6Ez.js";import{n as se,t as I}from"./skeleton-D7hwjdry.js";import{t as ce}from"./loading-indicator-SFTqyYVE.js";import{a as L,n as R,o as z,r as B,s as le,t as V}from"./card-CiiE7QfM.js";import{t as H}from"./empty-indicator-WB1WgT9h.js";import{t as ue}from"./use-host-limits-DZtR08oa.js";import{A as de,Ar as U,Fr as W,I as G,Mr as K,Or as q,T as fe,kr as pe,z as J}from"./index-CDP9tIOk.js";import{i as me,n as he,r as ge,t as _e}from"./stats-view-BOCp9RG8.js";import{t as ve}from"./use-growth-stats-BOmoPDHJ.js";import{n as ye,r as be,t as xe}from"./kpi-card-LERqWBoY.js";import{t as Y}from"./use-analytics-data--opuzwcz.js";import{n as Se}from"./audience-DTLMXAFH.js";import{n as Ce}from"./url-helpers-DcQbx-Xg.js";import{t as we}from"./get-site-timezone-HgL0jI_F.js";import{t as Te}from"./post-share-modal-P1_M6o-H.js";var X=e(t(),1),Ee=()=>{let{data:{posts:[e]}={posts:[]},isLoading:t}=s({searchParams:{filter:`status:[published,sent]`,order:`published_at DESC`,limit:`1`,include:`authors,email,count.clicks`}}),n=e,{data:r,isLoading:i}=o(n?.id||``,{enabled:!!n?.id});return{data:(0,X.useMemo)(()=>{if(!n)return null;let e=r?.stats?.[0]||{id:n.id,recipient_count:null,opened_count:null,open_rate:null,member_delta:0,free_members:0,paid_members:0,visitors:0};return{id:n.id,uuid:n.uuid,title:n.title||``,slug:n.slug||``,feature_image:n.feature_image||null,published_at:n.published_at||``,url:n.url||``,excerpt:n.excerpt||``,email_only:n.email_only||!1,status:n.status,email:n.email,count:n.count,authors:n.authors||[],recipient_count:e.recipient_count,opened_count:e.opened_count,open_rate:e.open_rate,member_delta:e.member_delta,free_members:e.free_members,paid_members:e.paid_members,visitors:e.visitors,click_rate:null}},[n,r]),isLoading:t||!!n?.id&&i}},Z=n(),De=e=>e.email_only?`Sent`:e.email?`Published and sent`:`Published`,Oe=({latestPostStats:e,isLoading:t})=>{let n=f(),[r,i]=(0,X.useState)(!1),{site:a,settings:o}=Y(),s=q(),c=pe(),u=W(),_=U()??!1;(0,X.useEffect)(()=>{r&&l(`Share Modal Opened`,{giftLinkShown:!1,source:`stats-overview`})},[r]);let v=a.title||String(o.find(e=>e.key===`title`)?.value||`Ghost Site`),y=we(o),b=e?d(e,{membersTrackSources:_}):null,x=`group mr-2 flex flex-col gap-1.5 hover:cursor-pointer`,S=!!e?.email,C=Ce({postId:e?.id,hasEmailData:S,analytics:{webAnalytics:u,membersTrackSources:_}}),w=C.startsWith(`/editor/`),T=fe(C);return(0,Z.jsxs)(V,{className:`group/card`,"data-testid":`latest-post`,children:[(0,Z.jsxs)(L,{children:[(0,Z.jsx)(z,{className:`flex items-baseline justify-between leading-snug font-medium text-muted-foreground`,children:`Latest post performance`}),(0,Z.jsx)(B,{className:`hidden`,children:`How your last post did`})]}),(0,Z.jsxs)(R,{className:`flex flex-col gap-6 px-0 lg:flex-row xl:grid xl:grid-cols-3`,children:[t&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`flex w-full items-center gap-6 px-6 xl:col-span-2`,children:[(0,Z.jsx)(`div`,{className:`w-full max-w-[232px] grow`,children:(0,Z.jsx)(I,{className:`aspect-[16/10] rounded-md`})}),(0,Z.jsxs)(`div`,{className:`w-full grow`,children:[(0,Z.jsx)(I,{className:`w-full max-w-[420px]`}),(0,Z.jsx)(I,{className:`w-1/2`})]})]}),(0,Z.jsx)(`div`,{className:`flex flex-col items-stretch gap-2 px-6`,children:(0,Z.jsxs)(`div`,{className:`grid grid-cols-2 gap-5`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(I,{className:`w-3/4`}),(0,Z.jsx)(I,{className:`h-10 w-1/3`})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(I,{className:`w-3/4`}),(0,Z.jsx)(I,{className:`h-10 w-1/3`})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(I,{className:`w-3/4`}),(0,Z.jsx)(I,{className:`h-10 w-1/3`})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(I,{className:`w-3/4`}),(0,Z.jsx)(I,{className:`h-10 w-1/3`})]})]})})]}),!t&&e&&b?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-6 px-6 transition-all md:flex-row md:items-start xl:col-span-2`,children:[e.feature_image&&(0,Z.jsx)(`div`,{className:`aspect-[16/10] w-full min-w-[100px] rounded-sm bg-cover bg-center sm:max-w-[170px] lg:max-w-[170px] xl:max-w-[232px]`,style:{backgroundImage:`url(${e.feature_image})`}}),(0,Z.jsxs)(`div`,{className:`flex grow flex-col items-start justify-center self-stretch`,children:[(0,Z.jsx)(`div`,{className:`text-md leading-tighter font-semibold tracking-tight hover:cursor-pointer hover:opacity-75`,onClick:()=>{!t&&e&&n(C,{crossApp:T})},children:e.title}),(0,Z.jsxs)(`div`,{className:`mt-1 text-muted-foreground`,children:[e.authors&&e.authors.length>0&&(0,Z.jsxs)(`div`,{children:[`By `,e.authors.map(e=>e.name).join(`, `),` –`,` `,h(e.published_at,y)]}),(0,Z.jsx)(`div`,{className:`mt-0.5`,children:De(e)})]}),(0,Z.jsxs)(`div`,{className:`mt-6 flex items-center gap-2`,children:[!e.email_only&&(0,Z.jsx)(Te,{author:e.authors?.map(e=>e.name).join(`, `)||``,description:``,faviconURL:a.icon||``,featureImageURL:e.feature_image||``,open:r,postExcerpt:e.excerpt||``,postTitle:e.title,postURL:e.url||``,siteTitle:v,onClose:()=>i(!1),onOpenChange:i,children:(0,Z.jsxs)(j,{onClick:()=>i(!0),children:[(0,Z.jsx)(ee,{}),` Share post`]})}),(0,Z.jsx)(j,{className:e.email_only?`w-full`:``,variant:`outline`,onClick:()=>{n(C,{crossApp:T})},children:w?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(D,{}),(0,Z.jsx)(`span`,{className:`hidden md:visible! md:block!`,children:`Edit post`})]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(re,{}),(0,Z.jsx)(`span`,{className:`hidden md:visible! md:block!`,children:e.email_only?`Post analytics`:`Analytics`})]})})]})]})]}),(0,Z.jsx)(`div`,{className:`-ml-4 flex w-full flex-col items-stretch gap-2 pr-6 xl:h-full xl:max-w-none`,children:(0,Z.jsxs)(`div`,{className:`grid grid-cols-2 gap-6 pl-10 lg:border-l xl:h-full`,children:[b.showWebMetrics&&u&&(0,Z.jsxs)(`div`,{className:x,"data-testid":`latest-post-visitors`,onClick:()=>{n(`/posts/analytics/${e.id}/web`)},children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 font-medium text-muted-foreground transition-all group-hover:text-foreground`,children:[(0,Z.jsx)(k,{size:16,strokeWidth:1.25}),(0,Z.jsx)(`span`,{className:`hidden md:visible! md:block!`,children:`Visitors`})]}),(0,Z.jsx)(`span`,{className:`text-[2.2rem] leading-none font-semibold tracking-tighter`,children:m(e.visitors)})]}),b.showMemberGrowth&&(0,Z.jsxs)(`div`,{className:p(x,b.showEmailMetrics&&(!b.showWebMetrics||!u)&&`col-[1/2] row-[2/3]`),"data-testid":`latest-post-members`,onClick:()=>{n(`/posts/analytics/${e.id}/growth`)},children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 font-medium text-muted-foreground transition-all group-hover:text-foreground`,children:[(0,Z.jsx)(O,{size:16,strokeWidth:1.25}),(0,Z.jsx)(`span`,{className:`hidden md:visible! md:block!`,children:`Members`})]}),(0,Z.jsx)(`span`,{className:`text-[2.2rem] leading-none font-semibold tracking-tighter`,children:e.member_delta?(0,Z.jsxs)(Z.Fragment,{children:[`+`,m(e.member_delta)]}):0})]}),b.showEmailMetrics&&e.email&&(0,Z.jsxs)(Z.Fragment,{children:[c&&(0,Z.jsxs)(`div`,{className:x,onClick:()=>{n(`/posts/analytics/${e.id}/newsletter`)},children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 font-medium text-muted-foreground transition-all group-hover:text-foreground`,children:[(0,Z.jsx)(A,{size:16,strokeWidth:1.25}),(0,Z.jsx)(`span`,{className:`hidden whitespace-nowrap md:visible! md:block!`,children:`Opens`})]}),(0,Z.jsx)(`span`,{className:`text-[2.2rem] leading-none font-semibold tracking-tighter`,children:e.email.email_count?g((e.email.opened_count||0)/e.email.email_count):`0%`})]}),s&&(0,Z.jsxs)(`div`,{className:x,onClick:()=>{n(`/posts/analytics/${e.id}/newsletter`)},children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 font-medium text-muted-foreground transition-all group-hover:text-foreground`,children:[(0,Z.jsx)(E,{size:16,strokeWidth:1.25}),(0,Z.jsx)(`span`,{className:`hidden whitespace-nowrap md:visible! md:block!`,children:`Clicks`})]}),(0,Z.jsx)(`span`,{className:`text-[2.2rem] leading-none font-semibold tracking-tighter`,children:e.email.email_count&&e.count?.clicks?g((e.count.clicks||0)/e.email.email_count):`0%`})]})]})]})})]}):!t&&(0,Z.jsx)(H,{actions:(0,Z.jsx)(j,{variant:`secondary`,onClick:()=>{n(`/editor/post`,{crossApp:!0})},children:`New post`}),className:`w-full pb-10 xl:col-span-3`,description:`Once it's live, you can track performance here`,title:`Publish your first post`,children:(0,Z.jsx)(oe,{strokeWidth:1.5})})]})]})},Q=({title:e,iconName:t,description:n,color:r,diffDirection:i,diffValue:a,formattedValue:o,trendingFromValue:s,children:c,onClick:l})=>{let{range:u}=J(),d=t&&ie[t],f=X.useMemo(()=>{if(!i||i===`empty`||u===G.allTime.value||!a)return``;let e=i===`up`?`up`:i===`down`?`down`:`at`,t=N(u).replace(`in the `,``).replace(/^\(|\)$/g,``);return i===`same`?(0,Z.jsxs)(`span`,{children:[`You're trending at the same level as`,` `,(0,Z.jsx)(`span`,{className:`font-semibold`,children:o}),` compared to the`,` `,(0,Z.jsx)(`span`,{className:`font-semibold`,children:t})]}):(0,Z.jsxs)(`span`,{children:[`You're trending`,` `,(0,Z.jsxs)(`span`,{className:`font-semibold`,children:[e,` `,a]}),` `,`from `,(0,Z.jsx)(`span`,{className:`font-semibold`,children:s}),` compared to the`,` `,t]})},[i,a,s,o,u]);return(0,Z.jsxs)(V,{className:`group`,"data-testid":e,children:[(0,Z.jsxs)(L,{className:`hidden`,children:[(0,Z.jsx)(z,{children:e}),(0,Z.jsx)(B,{children:n})]}),(0,Z.jsxs)(xe,{className:`relative flex grow flex-row items-start justify-between gap-5 border-none pb-2 xl:pb-4`,children:[(0,Z.jsxs)(`div`,{className:`flex grow flex-col gap-1.5 border-none pb-0`,children:[(0,Z.jsxs)(ye,{className:l&&`transition-all group-hover:text-foreground`,children:[r&&(0,Z.jsx)(`span`,{className:`inline-block size-2 rounded-full opacity-50`,style:{backgroundColor:r}}),d&&(0,Z.jsx)(d,{size:16,strokeWidth:1.5}),e]}),(0,Z.jsx)(be,{diffDirection:u===G.allTime.value?`hidden`:i,diffTooltip:f,diffValue:a,value:o})]}),l&&(0,Z.jsx)(j,{className:`absolute right-6 translate-x-10 opacity-0 transition-all duration-200 group-hover:translate-x-0 group-hover:opacity-100 focus-visible:translate-x-0 focus-visible:opacity-100`,size:`sm`,variant:`outline`,onClick:l,children:`View more`})]}),(0,Z.jsx)(R,{children:c})]})},ke=({kpiValues:e,visitorsChartData:t,visitorsChartRange:n,visitorsYRange:r,growthTotals:i,membersChartData:a,mrrChartData:o,growthChartRange:s,currencySymbol:l,isLoading:u})=>{let d=f(),p=W(),h=K(),g=ue(),{config:_}=Y(),v=g?.limitAnalytics?.disabled===!0,y=`-mb-3 h-[10vw] max-h-[200px] min-h-[100px] hover:cursor-pointer!`;if(u)return(0,Z.jsx)(le,{className:`flex h-[calc(10vw+116px)] max-h-[416px] min-h-20 items-center justify-center hover:cursor-pointer!`,children:(0,Z.jsx)(ce,{})});let x=p,S=v&&!x,w=h,T=[x,S,!0,w].filter(Boolean).length,E=`lg:grid-cols-3`;return T===2?E=`lg:grid-cols-2`:T===1&&(E=`lg:grid-cols-1`),(0,Z.jsxs)(`div`,{className:`flex flex-col lg:grid ${E} gap-6`,children:[x&&!S&&(0,Z.jsx)(Q,{description:`Number of individual people who visited your website`,diffDirection:`empty`,formattedValue:e.visits,iconName:`Globe`,linkto:`/analytics/web/`,title:`Unique visitors`,onClick:()=>{d(`/analytics/web/`)},children:(0,Z.jsx)(P,{className:y,color:`var(--chart-blue)`,data:t,id:`visitors`,range:n,showHorizontalLines:!0,showYAxisValues:!1,syncId:`overview-charts`,yAxisRange:r})}),S&&(0,Z.jsxs)(V,{children:[(0,Z.jsxs)(L,{className:`hidden`,children:[(0,Z.jsx)(z,{children:`Unlock web analytics`}),(0,Z.jsx)(B,{children:`Get the full picture of what's working with detailed, cookie-free traffic analytics.`})]}),(0,Z.jsx)(R,{className:`flex h-full items-center justify-center p-6`,children:(0,Z.jsx)(H,{actions:(0,Z.jsx)(j,{variant:`outline`,onClick:()=>d(c(_),{crossApp:!0}),children:`Upgrade now`}),className:`py-10`,description:`Get the full picture of what's working with detailed, cookie-free traffic analytics.`,title:`Unlock web analytics`,children:(0,Z.jsx)(C,{})})})]}),(0,Z.jsx)(Q,{description:`How number of members of your publication changed over time`,diffDirection:i.directions.total,diffValue:i.percentChanges.total,formattedValue:m(i.totalMembers),iconName:`User`,linkto:`/analytics/growth/`,title:`Members`,trendingFromValue:`${m(a[0]?.value??0)}`,onClick:()=>{d(`/analytics/growth/?tab=total-members`)},children:(0,Z.jsx)(P,{className:y,color:`var(--chart-darkblue)`,data:a,id:`members`,range:s,showHorizontalLines:!0,showYAxisValues:!1,syncId:`overview-charts`})}),w&&(0,Z.jsx)(Q,{description:`Monthly recurring revenue changes over time`,diffDirection:i.directions.mrr,diffValue:i.percentChanges.mrr,formattedValue:`${l}${m(b(i.mrr))}`,iconName:`Coins`,linkto:`/analytics/growth/`,title:`MRR`,trendingFromValue:`${l}${m(o[0]?.value??0)}`,onClick:()=>{d(`/analytics/growth/?tab=mrr`)},children:(0,Z.jsx)(P,{className:y,color:`var(--chart-teal)`,data:o,id:`mrr`,range:s,showHorizontalLines:!0,showYAxisValues:!1,syncId:`overview-charts`})})]})},Ae=({className:e})=>(0,Z.jsx)(`div`,{className:p(`flex flex-col items-center justify-center gap-1 rounded-sm bg-muted p-6 dark:bg-surface-elevated-2`,e),children:(0,Z.jsx)(ne,{className:`text-muted-foreground/50`,size:18,strokeWidth:1.5})}),$=({className:e,metrics:t,title:n})=>(0,Z.jsx)(Z.Fragment,{children:(0,Z.jsxs)(`div`,{className:p(`pointer-events-none absolute bottom-[calc(100%+2px)] left-1/2 z-50 min-w-[160px] -translate-x-1/2 rounded-md bg-background p-3 text-sm opacity-0 shadow-md transition-all group-hover/tooltip:bottom-[calc(100%+12px)] group-hover/tooltip:opacity-100`,e),children:[(0,Z.jsx)(`div`,{className:`mb-1.5 border-b pr-10 pb-1.5 font-medium whitespace-nowrap text-muted-foreground`,children:n}),(0,Z.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:t?.map(e=>(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-5`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 whitespace-nowrap`,children:[e.icon,e.label]}),(0,Z.jsx)(`span`,{className:`font-mono`,children:e.metric})]},e.label))})]})}),je=({topPostsData:e,isLoading:t})=>{let n=f(),{range:r}=J(),{settings:i}=Y(),a=K(),o=we(i),s=W(),c=U()??!1,l=q()??!1,d=pe()??!1,p=`flex items-center justify-end gap-1 rounded-md px-2 py-1 font-mono text-gray-800 hover:bg-muted-foreground/10 group-hover:text-foreground`;return(0,Z.jsxs)(V,{className:`group/card w-full lg:col-span-2`,"data-testid":`top-posts-card`,children:[(0,Z.jsxs)(L,{children:[(0,Z.jsxs)(z,{className:`flex items-baseline justify-between leading-snug font-medium text-muted-foreground`,children:[`Top posts `,N(r)]}),(0,Z.jsx)(B,{className:`hidden`,children:`Most viewed posts in this period`})]}),(0,Z.jsx)(R,{children:t?(0,Z.jsx)(se,{className:`mt-6`}):(0,Z.jsxs)(Z.Fragment,{children:[e?.stats?.map(e=>(0,Z.jsxs)(`div`,{className:`group relative flex w-full items-start justify-between gap-5 border-t border-border/50 py-4 before:absolute before:-inset-x-4 before:inset-y-0 before:z-0 before:hidden before:rounded-md before:bg-table-row-hover before:content-[""] first:border-border! hover:cursor-pointer hover:border-transparent hover:before:block md:items-center [&+div]:hover:border-transparent`,children:[(0,Z.jsxs)(`div`,{className:`z-10 flex min-w-[160px] grow items-start gap-4 md:items-center lg:min-w-[320px]`,onClick:()=>{let t=Ce({postId:e.post_id,hasEmailData:e.sent_count!==null,analytics:{webAnalytics:s,membersTrackSources:c}});n(t,{crossApp:t.startsWith(`/editor/`)})},children:[e.feature_image?(0,Z.jsx)(`div`,{className:`hidden aspect-[16/10] w-[80px] shrink-0 rounded-sm bg-cover bg-center sm:visible! sm:block! lg:w-[100px]`,style:{backgroundImage:`url(${e.feature_image})`}}):(0,Z.jsx)(Ae,{className:`hidden aspect-[16/10] w-[80px] shrink-0 group-hover:bg-muted-foreground/10 sm:visible! sm:flex! lg:w-[100px]`}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,Z.jsx)(`span`,{className:`line-clamp-2 text-md font-semibold`,children:e.title}),(0,Z.jsxs)(`span`,{className:`text text-muted-foreground`,children:[`By `,e.authors,` –`,` `,h(e.published_at,o)]}),(0,Z.jsx)(`span`,{className:`text text-muted-foreground`,children:u(e)})]})]}),(0,Z.jsxs)(`div`,{className:`z-10 flex flex-col items-end justify-center gap-0.5 text-sm md:flex-row md:items-center md:justify-end md:gap-3`,children:[s&&(0,Z.jsxs)(`div`,{className:`group/tooltip relative flex w-[66px] lg:w-[92px]`,"data-testid":`statistics-visitors`,onClick:t=>{t.stopPropagation(),n(`/posts/analytics/${e.post_id}/web`)},children:[(0,Z.jsx)($,{metrics:[{icon:(0,Z.jsx)(k,{className:`shrink-0 text-muted-foreground`,size:16,strokeWidth:1.5}),label:`Unique visitors`,metric:m(e.views)}],title:`Web traffic`}),(0,Z.jsxs)(`div`,{className:p,children:[(0,Z.jsx)(k,{className:`text-muted-foreground group-hover:text-foreground`,size:16,strokeWidth:1.5}),_(e.views)]})]}),e.sent_count!==null&&(0,Z.jsxs)(`div`,{className:`group/tooltip relative flex w-[66px] lg:w-[92px]`,onClick:t=>{t.stopPropagation(),n(`/posts/analytics/${e.post_id}/newsletter`)},children:[(0,Z.jsx)($,{className:`${c?``:`right-0 left-auto translate-x-0`}`,metrics:[{icon:(0,Z.jsx)(S,{className:`shrink-0 text-muted-foreground`,size:16,strokeWidth:1.5}),label:`Sent`,metric:m(e.sent_count||0)},...d?[{icon:(0,Z.jsx)(A,{className:`shrink-0 text-muted-foreground`,size:16,strokeWidth:1.5}),label:`Opens`,metric:m(e.opened_count||0)}]:[],...l?[{icon:(0,Z.jsx)(w,{className:`shrink-0 text-muted-foreground`,size:16,strokeWidth:1.5}),label:`Clicks`,metric:m(e.clicked_count||0)}]:[]],title:`Newsletter performance`}),(0,Z.jsx)(`div`,{className:p,children:d?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(A,{className:`text-muted-foreground group-hover:text-foreground`,size:16,strokeWidth:1.5}),e.open_rate?`${Math.round(e.open_rate)}%`:`0%`]}):l?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(w,{className:`text-muted-foreground group-hover:text-foreground`,size:16,strokeWidth:1.5}),e.click_rate?`${Math.round(e.click_rate)}%`:`0%`]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(S,{className:`text-muted-foreground group-hover:text-foreground`,size:16,strokeWidth:1.5}),_(e.sent_count||0)]})})]}),c&&(0,Z.jsxs)(`div`,{className:`group/tooltip relative flex w-[66px] lg:w-[92px]`,"data-testid":`statistics-members`,onClick:t=>{t.stopPropagation(),n(`/posts/analytics/${e.post_id}/growth`)},children:[(0,Z.jsx)($,{className:`right-0 left-auto translate-x-0`,metrics:[{icon:(0,Z.jsx)(ae,{className:`shrink-0 text-muted-foreground`,size:16,strokeWidth:1.5}),label:`Free`,metric:e.free_members>0?`+${m(e.free_members)}`:`0`},...a?[{icon:(0,Z.jsx)(T,{className:`shrink-0 text-muted-foreground`,size:16,strokeWidth:1.5}),label:`Paid`,metric:e.paid_members>0?`+${m(e.paid_members)}`:`0`}]:[]],title:`New members`}),(0,Z.jsxs)(`div`,{className:p,children:[(0,Z.jsx)(O,{className:`text-muted-foreground group-hover:text-foreground`,size:16,strokeWidth:1.5}),e.members>0?`+${m(e.members)}`:`0`]})]})]})]},e.post_id)),(!e?.stats||e.stats.length===0)&&(0,Z.jsx)(H,{className:`w-full pb-10`,title:`No posts ${N(r)}`,children:(0,Z.jsx)(oe,{strokeWidth:1.5})})]})})]})},Me=({className:e,title:t,description:n,url:r,children:i})=>(0,Z.jsx)(`a`,{className:p(`group/card block rounded-xl border bg-card p-6 transition-all hover:bg-table-row-hover hover:shadow-xs`,e),href:r,rel:`noreferrer`,target:`_blank`,children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-6`,children:[i,(0,Z.jsxs)(`div`,{className:`flex flex-col gap-0.5 leading-tight`,children:[(0,Z.jsx)(`span`,{className:`text-base font-semibold`,children:t}),(0,Z.jsx)(`span`,{className:`text-sm font-normal text-gray-700`,children:n})]})]})}),Ne=()=>{let e=K(),{range:t}=J(),{statsConfig:n,isLoading:o}=Y(),{startDate:s,endDate:c,timezone:l}=x(t),{isLoading:u,chartData:d,totals:f,currencySymbol:p}=ve(t),{data:h,isLoading:g}=Ee(),{data:_,isLoading:S}=i({searchParams:{date_from:y(s),date_to:y(c),limit:`5`,timezone:l}}),{data:C,loading:w}=r({endpoint:`api_kpis`,statsConfig:n,params:{site_uuid:n?.id||``,date_from:y(s),date_to:y(c),timezone:l,member_status:Se(de)}}),T=(0,X.useMemo)(()=>M(C||[],t,`visits`,`sum`)?.map(e=>{let t=Number(e.visits),n=isNaN(t)?0:t;return{date:String(e.date),value:n,formattedValue:m(n),label:`Visitors`}}),[C,t]),E=(0,X.useMemo)(()=>F(t,C||[],{fieldName:`visits`}),[C,t]),ee=(0,X.useMemo)(()=>{let e=[0,1];if(!T||T.length===0)return e;let t=T.map(e=>e.value).filter(e=>e>=0);return t.length===0?e:[0,Math.max(...t)||e[1]]},[T]),D=(0,X.useMemo)(()=>F(t,d||[]),[d,t]),O=(0,X.useMemo)(()=>{if(!d||d.length===0)return[];let e=[];return e=M(d,t,`value`,`exact`),e.map(e=>({date:e.date,value:e.free+e.paid,formattedValue:m(e.free+e.paid),label:`Members`}))},[d,t]),ne=(0,X.useMemo)(()=>{if(!e||!d||d.length===0)return[];let n=[];return n=M(d,t,`mrr`,`exact`),n.map(e=>({date:e.date,value:b(e.mrr),formattedValue:`${p}${m(b(e.mrr))}`,label:`MRR`}))},[d,t,p,e]),re=(0,X.useMemo)(()=>C?.length?{visits:m(C.reduce((e,t)=>{let n=Number(t.visits);return e+(isNaN(n)?0:n)},0))}:{visits:`0`},[C]);return(0,Z.jsxs)(he,{children:[(0,Z.jsx)(ge,{children:(0,Z.jsx)(a,{children:(0,Z.jsx)(me,{excludeRanges:[`today`]})})}),(0,Z.jsxs)(_e,{isLoading:o,loadingComponent:(0,Z.jsx)(Z.Fragment,{}),children:[(0,Z.jsx)(ke,{currencySymbol:p,growthChartRange:D,growthTotals:f,isLoading:w||u,kpiValues:re,membersChartData:O,mrrChartData:ne,visitorsChartData:T,visitorsChartRange:E,visitorsYRange:ee}),(0,Z.jsx)(Oe,{isLoading:g,latestPostStats:h}),(0,Z.jsx)(je,{isLoading:S,topPostsData:_}),(0,Z.jsxs)(`div`,{className:`grid grid-cols-1 gap-6 lg:grid-cols-2`,children:[(0,Z.jsx)(v,{className:`mt-4 -mb-4 lg:col-span-2`,children:`Grow your audience`}),(0,Z.jsx)(Me,{description:`Find out how to review the performance of your content and get the most out of post analytics in Ghost.`,title:`Understanding analytics in Ghost`,url:`https://ghost.org/help/native-analytics`,children:(0,Z.jsx)(`div`,{className:`flex h-18 w-[100px] min-w-[100px] items-center justify-center rounded-md bg-gradient-to-tr from-[#14B8FF]/20 to-[#00BBA7]/20 p-4 opacity-80 transition-all group-hover/card:opacity-100`,children:(0,Z.jsx)(te,{className:`text-[#00BBA7]`,size:20,strokeWidth:1.5})})}),(0,Z.jsx)(Me,{description:`Use these content distribution tactics to get more people to discover your work and increase engagement.`,title:`How to get your content seen online`,url:`https://ghost.org/resources/content-distribution/`,children:(0,Z.jsx)(`div`,{className:`flex h-18 w-[100px] min-w-[100px] items-center justify-center rounded-md bg-gradient-to-tl from-[#FDC700]/20 to-[#FF2056]/20 p-4 opacity-80 transition-all group-hover/card:opacity-100`,children:(0,Z.jsx)(k,{className:`text-[#FE9A00]`,size:20,strokeWidth:1.5})})})]})]})]})};export{Ne as default};
|
|
@@ -1 +0,0 @@
|
|
|
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{i as r,n as i,r as a,t as o}from"./Combination-gnJO3vIw.js";import{a as s,c,n as l}from"./dist-Cb5RSHSg.js";import{d as u,f as d,g as f,h as p,l as m,m as h,p as g,t as _,u as v,v as y,x as b,y as ee}from"./shade-app-F7WxOyfk-nufqw1hd.js";import{a as x,r as S}from"./dist-DzcfoDJ3.js";import{t as C}from"./overlay-escape-C7XYQuvP.js";var w=e(t(),1),T=n(),E=`Popover`,[D,te]=x(E,[f]),O=f(),[k,A]=D(E),j=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=O(t),c=w.useRef(null),[l,u]=w.useState(!1),[d,f]=m({prop:r,defaultProp:i??!1,onChange:a,caller:E});return(0,T.jsx)(p,{...s,children:(0,T.jsx)(k,{scope:t,contentId:y(),triggerRef:c,open:d,onOpenChange:f,onOpenToggle:w.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:l,onCustomAnchorAdd:w.useCallback(()=>u(!0),[]),onCustomAnchorRemove:w.useCallback(()=>u(!1),[]),modal:o,children:n})})};j.displayName=E;var M=`PopoverAnchor`,N=w.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=A(M,n),a=O(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:s}=i;return w.useEffect(()=>(o(),()=>s()),[o,s]),(0,T.jsx)(d,{...a,...r,ref:t})});N.displayName=M;var P=`PopoverTrigger`,F=w.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=A(P,n),a=O(n),o=s(t,i.triggerRef),c=(0,T.jsx)(S.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":Y(i.open),...r,ref:o,onClick:b(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?c:(0,T.jsx)(d,{asChild:!0,...a,children:c})});F.displayName=P;var I=`PopoverPortal`,[ne,L]=D(I,{forceMount:void 0}),R=e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=A(I,t);return(0,T.jsx)(ne,{scope:t,forceMount:n,children:(0,T.jsx)(v,{present:n||a.open,children:(0,T.jsx)(u,{asChild:!0,container:i,children:r})})})};R.displayName=I;var z=`PopoverContent`,B=w.forwardRef((e,t)=>{let n=L(z,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=A(z,e.__scopePopover);return(0,T.jsx)(v,{present:r||a.open,children:a.modal?(0,T.jsx)(H,{...i,ref:t}):(0,T.jsx)(U,{...i,ref:t})})});B.displayName=z;var V=l(`PopoverContent.RemoveScroll`),H=w.forwardRef((e,t)=>{let n=A(z,e.__scopePopover),r=w.useRef(null),a=s(t,r),c=w.useRef(!1);return w.useEffect(()=>{let e=r.current;if(e)return i(e)},[]),(0,T.jsx)(o,{as:V,allowPinchZoom:!0,children:(0,T.jsx)(W,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:b(e.onCloseAutoFocus,e=>{e.preventDefault(),c.current||n.triggerRef.current?.focus()}),onPointerDownOutside:b(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;c.current=r},{checkForDefaultPrevented:!1}),onFocusOutside:b(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),U=w.forwardRef((e,t)=>{let n=A(z,e.__scopePopover),r=w.useRef(!1),i=w.useRef(!1);return(0,T.jsx)(W,{...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()}})}),W=w.forwardRef((e,t)=>{let{__scopePopover:n,trapFocus:i,onOpenAutoFocus:o,onCloseAutoFocus:s,disableOutsidePointerEvents:c,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,...p}=e,m=A(z,n),g=O(n);return r(),(0,T.jsx)(a,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:o,onUnmountAutoFocus:s,children:(0,T.jsx)(ee,{asChild:!0,disableOutsidePointerEvents:c,onInteractOutside:f,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onDismiss:()=>m.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,T.jsx)(h,{"data-state":Y(m.open),role:`dialog`,id:m.contentId,...g,...p,ref:t,style:{...p.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})}),G=`PopoverClose`,K=w.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=A(G,n);return(0,T.jsx)(S.button,{type:`button`,...r,ref:t,onClick:b(e.onClick,()=>i.onOpenChange(!1))})});K.displayName=G;var q=`PopoverArrow`,J=w.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=O(n);return(0,T.jsx)(g,{...i,...r,ref:t})});J.displayName=q;function Y(e){return e?`open`:`closed`}var X=j,Z=F,re=R,Q=B,ie=K,ae=X,oe=Z,se=ie,$=w.forwardRef(({className:e,align:t=`center`,onEscapeKeyDown:n,sideOffset:r=4,...i},a)=>(0,T.jsx)(re,{children:(0,T.jsx)(`div`,{className:_,children:(0,T.jsx)(Q,{ref:a,align:t,className:c(`z-50 origin-(--radix-popover-content-transform-origin) rounded-md border border-border/60 bg-surface-elevated-2 p-5 text-popover-foreground shadow-md outline-hidden 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 dark:border-border/30`,e),sideOffset:r,onEscapeKeyDown:e=>C(e,n),...i})})}));$.displayName=Q.displayName;export{oe as i,se as n,$ as r,ae as t};
|
|
@@ -1 +0,0 @@
|
|
|
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{n as r,p as i}from"./hooks-CuEZV2-q.js";import{t as a}from"./use-form-vRjI0Kwk.js";import{f as o}from"./dist-Cb5RSHSg.js";import{t as s}from"./grid-CUciBfjf.js";import{t as c}from"./inline-Cw-gigDW.js";import{t as l}from"./stack-CIfOAAVf.js";import{t as u}from"./text-DU9Hv33_.js";import{s as d}from"./shade-app-F7WxOyfk-nufqw1hd.js";import{D as f,t as p,v as m}from"./button-BshWPHvn.js";import{i as h,n as g,r as _,t as v}from"./tabs-CGisSbWq.js";import{t as y}from"./switch-C9djUIMO.js";import{t as b}from"./input-UHrKuvBT.js";import{i as x,n as S,o as C,s as w,t as T}from"./select-D_RQaXgt.js";import{t as E}from"./use-settings-navigation-BBzro2-V.js";import{t as D}from"./checkbox-Dwwr_3Py.js";import{a as O,i as k,n as A,o as j,r as M,t as N}from"./copy-field-CglgRZyG.js";import{a as P,c as F,i as I,n as L,o as R,r as z,s as B,t as V}from"./field-LmNk7wZh.js";import{n as ee,t as te}from"./toggle-group-CtKZURJd.js";import{Dr as ne,Mr as re,Pn as ie,Sr as H,_n as ae,br as U,gn as W,t as oe,vn as se,xr as G}from"./index-CDP9tIOk.js";import{a as ce,c as le,i as ue,n as de,o as fe,r as pe,s as me,t as he}from"./images-C0XvUYMb.js";import{a as K,o as ge,r as q}from"./tiers-Nd_z4BZY.js";import{t as _e}from"./modal-page-BMTzFHVO.js";import{t as ve}from"./validator-Cr0sMKuW.js";import{n as ye}from"./confirmation-context-CLFHhyyH.js";import{n as J}from"./global-data-context-gAMDH9u1.js";import{t as be}from"./brand-icon-09YqFZjV.js";import{t as xe}from"./html-field-BegxsWpw.js";import{t as Se}from"./preview-modal-MlTjP8UU.js";import{t as Ce}from"./portal-frame-DjBF-uy2.js";import{t as we}from"./use-query-params-BfzuqbcD.js";var Y=e(t(),1),X=n(),Te=({localSettings:e,settingKey:t,updateSetting:n})=>{if(!oe(`giftSubCustomization`)||!e.some(e=>e.key===t))return null;let r=t.replaceAll(`_`,`-`);return(0,X.jsxs)(V,{orientation:`horizontal`,children:[(0,X.jsx)(R,{htmlFor:r,children:`Display option to purchase gift`}),(0,X.jsx)(y,{checked:!!G(e,t),id:r,onCheckedChange:e=>n(t,e)})]})},Ee=({localSettings:e,updateSetting:t})=>{let[n,r,i,a,o,s]=H(e,[`transistor`,`transistor_portal_enabled`,`transistor_portal_heading`,`transistor_portal_description`,`transistor_portal_button_text`,`transistor_portal_url_template`]);if(n!==!0)return null;let c=r===!0;return(0,X.jsxs)(l,{gap:`xl`,children:[(0,X.jsx)(ie,{}),(0,X.jsxs)(l,{gap:`md`,children:[(0,X.jsx)(u,{as:`h5`,className:`md:text-lg`,leading:`supertight`,weight:`bold`,children:`Transistor`}),(0,X.jsxs)(V,{orientation:`horizontal`,children:[(0,X.jsxs)(L,{children:[(0,X.jsx)(R,{htmlFor:`transistor-portal-enabled`,children:`Enable Transistor integration`}),(0,X.jsx)(z,{children:`Show a section on the account page for members to access private podcasts`})]}),(0,X.jsx)(y,{checked:c,id:`transistor-portal-enabled`,onCheckedChange:e=>t(`transistor_portal_enabled`,e)})]})]}),c&&(0,X.jsxs)(P,{className:`gap-6`,children:[(0,X.jsxs)(V,{children:[(0,X.jsx)(R,{htmlFor:`transistor-heading`,children:`Heading`}),(0,X.jsx)(b,{id:`transistor-heading`,placeholder:`Podcasts`,value:i,onChange:e=>t(`transistor_portal_heading`,e.target.value)}),(0,X.jsx)(z,{children:`The heading displayed above the Transistor section`})]}),(0,X.jsxs)(V,{children:[(0,X.jsx)(R,{htmlFor:`transistor-description`,children:`Description`}),(0,X.jsx)(b,{id:`transistor-description`,placeholder:`Access your RSS feeds`,value:a,onChange:e=>t(`transistor_portal_description`,e.target.value)}),(0,X.jsx)(z,{children:`A short description of what members can do`})]}),(0,X.jsxs)(V,{children:[(0,X.jsx)(R,{htmlFor:`transistor-button-text`,children:`Button text`}),(0,X.jsx)(b,{id:`transistor-button-text`,placeholder:`Manage`,value:o,onChange:e=>t(`transistor_portal_button_text`,e.target.value)}),(0,X.jsx)(z,{children:`The text displayed on the button`})]}),(0,X.jsxs)(V,{children:[(0,X.jsx)(R,{htmlFor:`transistor-url-template`,children:`URL template`}),(0,X.jsx)(b,{id:`transistor-url-template`,placeholder:`https://partner.transistor.fm/ghost/{memberUuid}`,value:s,onChange:e=>t(`transistor_portal_url_template`,e.target.value)}),(0,X.jsxs)(z,{children:[`Use `,`{memberUuid}`,` as a placeholder for the member ID`]})]})]})]})},De=e(ve(),1),Oe=({localSettings:e,updateSetting:t,errors:n,setError:r})=>{let{siteData:i,settings:a,config:o}=J(),[s,c]=H(a,[`members_support_address`,`support_email_address`]),l=c?.toString()||W(s?.toString()||``,i,o),u=ae(i,o),[d,f]=(0,Y.useState)(l);return(0,Y.useEffect)(()=>{f(l)},[l]),(0,X.jsx)(`div`,{className:`mt-7`,children:(0,X.jsxs)(P,{className:`mb-10 gap-8`,children:[(0,X.jsx)(Te,{localSettings:e,settingKey:`portal_account_gift_promotion`,updateSetting:t}),(0,X.jsxs)(V,{"data-invalid":!!n.members_support_address||void 0,children:[(0,X.jsx)(R,{htmlFor:`members-support-address`,children:`Support email address`}),(0,X.jsx)(b,{"aria-invalid":!!n.members_support_address||void 0,id:`members-support-address`,value:d,onBlur:e=>{let n=e.target.value;n?De.default.isEmail(n)?r(`members_support_address`,``):r(`members_support_address`,`Enter a valid email address`):r(`members_support_address`,`Enter an email address`);let a=u&&n===`noreply@${u}`?`noreply`:n;t(`members_support_address`,a),f(W(a,i,o))},onChange:e=>f(e.target.value)}),n.members_support_address&&(0,X.jsx)(I,{children:n.members_support_address})]}),(0,X.jsx)(Ee,{localSettings:e,updateSetting:t})]})})},Z=[{icon:`portal-icon-1`,label:`Portal icon 1`,value:`icon-1`},{icon:`portal-icon-2`,label:`Portal icon 2`,value:`icon-2`},{icon:`portal-icon-3`,label:`Portal icon 3`,value:`icon-3`},{icon:`portal-icon-4`,label:`Portal icon 4`,value:`icon-4`},{icon:`portal-icon-5`,label:`Portal icon 5`,value:`icon-5`}],ke=({localSettings:e,updateSetting:t})=>{let{mutateAsync:n}=de(),r=i(),[a,o,c,d]=H(e,[`portal_button`,`portal_button_style`,`portal_button_icon`,`portal_button_signup_text`]),h=c||Z[0].value,[g,_]=(0,Y.useState)(Z.map(({value:e})=>e).includes(h)?void 0:h),v=async e=>{try{let r=he(await n({file:e}));t(`portal_button_icon`,r),_(r)}catch(e){let t=e;t.response.status===415&&(t.message=`Unsupported file type`),r(t)}};return(0,X.jsx)(`div`,{className:`mt-7`,children:(0,X.jsxs)(P,{className:`mb-10 gap-8`,children:[(0,X.jsxs)(V,{orientation:`horizontal`,children:[(0,X.jsx)(R,{htmlFor:`show-portal-button`,children:`Show portal button`}),(0,X.jsx)(y,{checked:!!a,id:`show-portal-button`,onCheckedChange:e=>t(`portal_button`,e)})]}),a&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(V,{children:[(0,X.jsx)(R,{children:`Button style`}),(0,X.jsxs)(T,{value:o,onValueChange:e=>t(`portal_button_style`,e),children:[(0,X.jsx)(C,{"aria-label":`Button style`,children:(0,X.jsx)(w,{})}),(0,X.jsx)(S,{children:[{value:`icon-and-text`,label:`Icon and text`},{value:`icon-only`,label:`Icon only`},{value:`text-only`,label:`Text only`}].map(e=>(0,X.jsx)(x,{value:e.value,children:e.label},e.value))})]})]}),o?.toString()?.includes(`icon`)&&(0,X.jsxs)(l,{gap:`sm`,children:[(0,X.jsx)(u,{as:`h6`,className:`text-base`,weight:`semibold`,children:`Icon`}),(0,X.jsxs)(s,{className:`w-full gap-px rounded-(--input-group-radius) bg-muted p-0.5`,columns:6,gap:`none`,children:[(0,X.jsx)(te,{"aria-label":`Portal button icon`,className:`contents border-0! bg-transparent! p-0`,type:`single`,value:h,onValueChange:e=>e&&t(`portal_button_icon`,e),children:Z.map(e=>(0,X.jsx)(ee,{"aria-label":e.label,className:`group h-[46px] w-full min-w-0 rounded-[calc(var(--radius-md)+1px)] p-3`,value:e.value,children:(0,X.jsx)(be,{className:`size-[18px] opacity-70 transition-opacity group-hover:opacity-100 group-data-[state=on]:opacity-100`,name:e.icon})},e.value))}),(0,X.jsx)(pe,{className:`h-[46px] w-full min-w-0 overflow-visible rounded-[calc(var(--radius-md)+1px)] ${h===g?`bg-background shadow-sm`:``}`,children:g?(0,X.jsxs)(le,{className:`overflow-visible`,children:[(0,X.jsx)(me,{className:`rounded-md`,src:g}),(0,X.jsx)(p,{"aria-label":`Use uploaded Portal icon`,"aria-pressed":h===g,className:`absolute inset-0 z-10 size-full rounded-md bg-transparent hover:bg-transparent`,size:`icon`,type:`button`,variant:`ghost`,onClick:()=>t(`portal_button_icon`,g)}),(0,X.jsx)(ce,{className:`-top-2 -right-2 z-20 opacity-100`,children:(0,X.jsx)(ue,{"aria-label":`Delete uploaded Portal icon`,className:`size-6 rounded-full p-0`,onClick:()=>{h===g&&t(`portal_button_icon`,null),_(void 0)},children:(0,X.jsx)(f,{})})})]}):(0,X.jsx)(fe,{accept:{"image/*":[]},"aria-label":`Upload Portal icon`,className:`size-full rounded-[calc(var(--radius-md)+1px)] border-0 bg-transparent p-0 hover:bg-surface-elevated`,inputAriaLabel:`Upload Portal icon`,onDropAccepted:e=>void v(e[0]),children:(0,X.jsx)(m,{className:`size-5`})})})]})]}),o?.toString()?.includes(`text`)&&(0,X.jsxs)(V,{children:[(0,X.jsx)(R,{htmlFor:`portal-signup-button-text`,children:`Signup button text`}),(0,X.jsx)(b,{id:`portal-signup-button-text`,value:d,onChange:e=>t(`portal_button_signup_text`,e.target.value)})]})]})]})})},Q=({name:e,value:t})=>(0,X.jsxs)(N,{className:`lg:flex-row lg:items-center lg:gap-5`,value:t,children:[(0,X.jsx)(O,{className:`shrink-0 whitespace-nowrap lg:w-[180px]`,children:e}),(0,X.jsxs)(M,{children:[(0,X.jsx)(j,{}),(0,X.jsx)(A,{children:(0,X.jsx)(k,{})})]})]}),Ae=()=>{let[e,t]=(0,Y.useState)(!1),[n,r]=(0,Y.useState)(``),{siteData:i}=J(),{data:{tiers:a}={}}=K(),o=q(a||[]),s=re();(0,Y.useEffect)(()=>{o?.length&&!n&&r(o[0].id)},[o,n]);let d=o?.map(e=>({label:e.name,value:e.id})),f=se(i);return(0,X.jsx)(_e,{className:`max-w-[920px] text-base text-foreground`,children:(0,X.jsxs)(l,{gap:`2xl`,children:[(0,X.jsxs)(l,{gap:`xs`,children:[(0,X.jsx)(_e.Title,{className:`mb-0`,children:`Links`}),(0,X.jsxs)(u,{children:[`Use these `,e?`data attributes`:`links`,` in your theme to show pages of Portal.`]})]}),(0,X.jsx)(`section`,{children:(0,X.jsxs)(l,{gap:`lg`,children:[(0,X.jsxs)(c,{as:`header`,className:`border-b border-border pb-2`,justify:`between`,children:[(0,X.jsx)(u,{as:`h2`,size:`xl`,weight:`semibold`,children:`Generic`}),(0,X.jsx)(v,{value:e?`data-attributes`:`links`,variant:`segmented-sm`,onValueChange:e=>t(e===`data-attributes`),children:(0,X.jsxs)(_,{"aria-label":`Portal link format`,children:[(0,X.jsx)(h,{value:`links`,children:`Links`}),(0,X.jsx)(h,{value:`data-attributes`,children:`Data attributes`})]})})]}),(0,X.jsxs)(l,{gap:`md`,children:[(0,X.jsx)(Q,{name:`Default`,value:e?`data-portal`:`${f}#/portal`}),(0,X.jsx)(Q,{name:`Sign in`,value:e?`data-portal="signin"`:`${f}#/portal/signin`}),(0,X.jsx)(Q,{name:`Sign up`,value:e?`data-portal="signup"`:`${f}#/portal/signup`}),s&&(0,X.jsx)(Q,{name:`Gift subscriptions`,value:e?`data-portal="gift"`:`${f}#/portal/gift`})]})]})}),(0,X.jsx)(`section`,{children:(0,X.jsxs)(l,{gap:`lg`,children:[(0,X.jsx)(u,{as:`h2`,className:`border-b border-border pb-2`,size:`xl`,weight:`semibold`,children:`Tiers`}),(0,X.jsxs)(l,{gap:`md`,children:[(0,X.jsxs)(V,{className:`lg:flex-row lg:items-center lg:justify-between lg:gap-5 [&>*]:w-auto`,children:[(0,X.jsx)(R,{className:`shrink-0 whitespace-nowrap lg:w-[180px]`,children:`Tier`}),(0,X.jsxs)(T,{value:n,onValueChange:r,children:[(0,X.jsx)(C,{"aria-label":`Tier`,className:`w-fit`,children:(0,X.jsx)(w,{})}),(0,X.jsx)(S,{children:d.map(e=>(0,X.jsx)(x,{value:e.value,children:e.label},e.value))})]})]}),(0,X.jsx)(Q,{name:`Signup / Monthly`,value:e?`data-portal="signup/${n}/monthly"`:`${f}#/portal/signup/${n}/monthly`}),(0,X.jsx)(Q,{name:`Signup / Yearly`,value:e?`data-portal="signup/${n}/yearly"`:`${f}#/portal/signup/${n}/yearly`}),(0,X.jsx)(Q,{name:`Signup / Free`,value:e?`data-portal="signup/free"`:`${f}#/portal/signup/free`})]})]})}),(0,X.jsx)(`section`,{children:(0,X.jsxs)(l,{gap:`lg`,children:[(0,X.jsx)(u,{as:`h2`,className:`border-b border-border pb-2`,size:`xl`,weight:`semibold`,children:`Account`}),(0,X.jsxs)(l,{gap:`md`,children:[(0,X.jsx)(Q,{name:`Account`,value:e?`data-portal="account"`:`${f}#/portal/account`}),(0,X.jsx)(Q,{name:`Account / Plans`,value:e?`data-portal="account/plans"`:`${f}#/portal/account/plans`}),(0,X.jsx)(Q,{name:`Account / Profile`,value:e?`data-portal="account/profile"`:`${f}#/portal/account/profile`}),(0,X.jsx)(Q,{name:`Account / Newsletters`,value:e?`data-portal="account/newsletters"`:`${f}#/portal/account/newsletters`}),(0,X.jsx)(Q,{name:`Account / Newsletter help`,value:e?`data-portal="account/newsletters/help"`:`${f}#/portal/account/newsletters/help`})]})]})})]})})},je=({settings:e,config:t,tiers:n,siteData:r,selectedTab:i,previewTheme:a})=>{if(!r?.url)return null;let o=n.filter(e=>e.visibility===`public`&&e.type===`paid`).map(e=>e.id),s=r.url.replace(/\/$/,``),c=JSON.parse(G(e,`portal_plans`)||``),l=new URLSearchParams;l.append(`button`,G(e,`portal_button`)?`true`:`false`),l.append(`name`,G(e,`portal_name`)?`true`:`false`),l.append(`signupGiftPromotion`,G(e,`portal_signup_gift_promotion`)?`true`:`false`),l.append(`accountGiftPromotion`,G(e,`portal_account_gift_promotion`)?`true`:`false`),l.append(`isFree`,c.includes(`free`)?`true`:`false`),l.append(`isMonthly`,U(e,t)&&c.includes(`monthly`)?`true`:`false`),l.append(`isYearly`,U(e,t)&&c.includes(`yearly`)?`true`:`false`),l.append(`page`,i===`account`?`accountHome`:`signup`),l.append(`previewTheme`,a),l.append(`buttonIcon`,encodeURIComponent(G(e,`portal_button_icon`)||`icon-1`)),l.append(`signupButtonText`,encodeURIComponent(G(e,`portal_button_signup_text`)||``)),l.append(`membersSignupAccess`,G(e,`members_signup_access`)||`all`),l.append(`allowSelfSignup`,G(e,`allow_self_signup`)||`false`),l.append(`signupTermsHtml`,G(e,`portal_signup_terms_html`)||``),l.append(`signupCheckboxRequired`,G(e,`portal_signup_checkbox_required`)?`true`:`false`),l.append(`portalProducts`,o.join(`,`));let u=G(e,`portal_default_plan`);u&&l.append(`portalDefaultPlan`,u),c&&c.length&&l.append(`portalPrices`,encodeURIComponent(c.join(`,`)));let d=G(e,`accent_color`);d!=null&&l.append(`accentColor`,encodeURIComponent(d));let f=G(e,`portal_button_style`);return f&&l.append(`buttonStyle`,encodeURIComponent(f)),l.append(`disableBackground`,`false`),G(e,`transistor`)&&l.append(`transistorPortalSettings`,JSON.stringify({enabled:G(e,`transistor_portal_enabled`),heading:G(e,`transistor_portal_heading`)||`Podcasts`,description:G(e,`transistor_portal_description`)||`Access your RSS feeds`,button_text:G(e,`transistor_portal_button_text`)||`Manage`,url_template:G(e,`transistor_portal_url_template`)||`https://partner.transistor.fm/ghost/{memberUuid}`})),l.append(`admin_toolbar`,`0`),`${s}/?v=modal-portal-settings#/portal/preview?${l.toString()}`},Me=({darkMode:e,selectedTab:t=`signup`,localSettings:n,localTiers:r})=>{let{siteData:i,config:a}=J(),o=je({settings:n,tiers:r,selectedTab:t,previewTheme:e?`dark`:`light`,siteData:i,config:a}),s=(0,X.jsx)(X.Fragment,{});switch(t){case`account`:s=(0,X.jsx)(X.Fragment,{children:(0,X.jsx)(Ce,{href:o||``,portalParent:`preview`,selectedTab:t})});break;case`links`:s=(0,X.jsx)(Ae,{});break;default:s=(0,X.jsx)(X.Fragment,{children:(0,X.jsx)(Ce,{href:o||``,portalParent:`preview`,selectedTab:t})});break}return s},Ne=({localSettings:e,updateSetting:t,localTiers:n,updateTier:r,errors:i,setError:a})=>{let{config:s}=J(),[c,l,u,d,f,p]=H(e,[`members_signup_access`,`portal_name`,`portal_signup_terms_html`,`portal_signup_checkbox_required`,`portal_plans`,`portal_default_plan`]),m=JSON.parse(f?.toString()||`[]`),h=(0,Y.useMemo)(()=>{let e=document.createElement(`div`);return e.innerHTML=u?.toString()||``,e.innerText.length},[u]),g=(0,Y.useCallback)((e,t)=>{a(e,t)},[]);(0,Y.useEffect)(()=>{h>115?g(`portal_signup_terms_html`,`Signup notice is too long`):g(`portal_signup_terms_html`,void 0)},[h,g]);let _=e=>{let n=m.indexOf(e);n===-1?m.push(e):m.splice(n,1),t(`portal_plans`,JSON.stringify(m)),p===`yearly`?!m.includes(`yearly`)&&m.includes(`monthly`)&&t(`portal_default_plan`,`monthly`):p===`monthly`&&(m.includes(`monthly`)||t(`portal_default_plan`,`yearly`))},v=c===`all`||c===`paid`,b=c===`all`,E=U(e,s),O=[];n&&n.forEach(e=>{e.type===`free`&&b&&O.push({checked:m.includes(`free`),disabled:!v,label:e.name,value:`free`,testId:`free-tier-checkbox`,onChange:n=>{m.includes(`free`)&&!n&&m.splice(m.indexOf(`free`),1),!m.includes(`free`)&&n&&m.push(`free`),t(`portal_plans`,JSON.stringify(m)),r({...e,visibility:n?`public`:`none`})}})});let k=q(n)||[],A=[{value:`yearly`,label:`Yearly`},{value:`monthly`,label:`Monthly`}];E&&k.length>0&&k.forEach(e=>{O.push({checked:e.visibility===`public`,label:e.name,value:e.id,onChange:t=>r({...e,visibility:t?`public`:`none`})})});let j=E&&k.length>0&&k.some(e=>e.visibility===`public`);return(0,X.jsx)(`div`,{className:`mt-7`,children:(0,X.jsxs)(P,{className:`mb-10 gap-8`,children:[(0,X.jsxs)(V,{"data-disabled":!v||void 0,orientation:`horizontal`,children:[(0,X.jsx)(R,{htmlFor:`portal-display-name`,children:`Display name in signup form`}),(0,X.jsx)(y,{checked:!!l,disabled:!v,id:`portal-display-name`,onCheckedChange:e=>t(`portal_name`,e)})]}),(0,X.jsxs)(F,{children:[(0,X.jsx)(B,{variant:`label`,children:`Available tiers`}),(0,X.jsx)(P,{"data-slot":`checkbox-group`,children:O.map(e=>(0,X.jsxs)(V,{"data-disabled":e.disabled||void 0,orientation:`horizontal`,children:[(0,X.jsx)(D,{checked:e.checked,"data-testid":e.testId,disabled:e.disabled,id:`portal-tier-${e.value}`,onCheckedChange:t=>e.onChange(t===!0)}),(0,X.jsx)(R,{htmlFor:`portal-tier-${e.value}`,children:e.label})]},e.value))})]}),j&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(F,{children:[(0,X.jsx)(B,{variant:`label`,children:`Available prices`}),(0,X.jsx)(P,{"data-slot":`checkbox-group`,children:[`monthly`,`yearly`].map(e=>(0,X.jsxs)(V,{"data-disabled":!v||void 0,orientation:`horizontal`,children:[(0,X.jsx)(D,{checked:m.includes(e),disabled:!v,id:`portal-plan-${e}`,onCheckedChange:()=>_(e)}),(0,X.jsx)(R,{className:`capitalize`,htmlFor:`portal-plan-${e}`,children:e})]},e))})]}),m.includes(`yearly`)&&m.includes(`monthly`)&&(0,X.jsxs)(V,{children:[(0,X.jsx)(R,{children:`Default price at signup`}),(0,X.jsxs)(T,{value:typeof p==`string`?p:``,onValueChange:e=>t(`portal_default_plan`,e),children:[(0,X.jsx)(C,{"aria-label":`Default price at signup`,children:(0,X.jsx)(w,{})}),(0,X.jsx)(S,{children:A.map(e=>(0,X.jsx)(x,{value:e.value,children:e.label},e.value))})]})]})]}),(0,X.jsx)(xe,{error:!!i.portal_signup_terms_html,hint:i.portal_signup_terms_html||(0,X.jsxs)(X.Fragment,{children:[`Recommended: `,(0,X.jsx)(`strong`,{children:o(115)}),` characters. You've used`,` `,(0,X.jsx)(`strong`,{className:`text-green`,children:o(h)})]}),nodes:`MINIMAL_NODES`,placeholder:`By signing up, I agree to receive emails from ...`,title:`Display notice at signup`,value:u?.toString(),onChange:e=>t(`portal_signup_terms_html`,e)}),u?.toString()&&(0,X.jsxs)(V,{"data-disabled":!v||void 0,orientation:`horizontal`,children:[(0,X.jsx)(R,{htmlFor:`portal-require-agreement`,children:`Require agreement`}),(0,X.jsx)(y,{checked:!!d,disabled:!v,id:`portal-require-agreement`,onCheckedChange:e=>t(`portal_signup_checkbox_required`,e)})]}),(0,X.jsx)(Te,{localSettings:e,settingKey:`portal_signup_gift_promotion`,updateSetting:t})]})})},Pe=r({path:()=>`/settings/verifications`,method:`PUT`,body:({token:e})=>({token:e}),updateQueries:{dataType:`SettingsResponseType`,emberUpdateType:`createOrUpdate`,update:e=>({...e,settings:e.settings})}}),Fe={signupOptions:`signup`,lookAndFeel:`signup`,accountPage:`account`},$=`border-b-2 border-transparent after:hidden data-[state=active]:border-foreground`,Ie=({localSettings:e,updateSetting:t,localTiers:n,updateTier:r,errors:i,setError:a,selectedTab:o,onTabChange:s})=>(0,X.jsx)(`div`,{className:`pt-4`,children:(0,X.jsxs)(v,{value:o,variant:`underline`,onValueChange:e=>s(e),children:[(0,X.jsxs)(_,{children:[(0,X.jsx)(h,{className:$,value:`signupOptions`,children:`Signup options`}),(0,X.jsx)(h,{className:$,value:`lookAndFeel`,children:`Look & feel`}),(0,X.jsx)(h,{className:$,value:`accountPage`,children:`Account page`})]}),(0,X.jsx)(g,{value:`signupOptions`,children:(0,X.jsx)(Ne,{errors:i,localSettings:e,localTiers:n,setError:a,updateSetting:t,updateTier:r})}),(0,X.jsx)(g,{value:`lookAndFeel`,children:(0,X.jsx)(ke,{localSettings:e,updateSetting:t})}),(0,X.jsx)(g,{value:`accountPage`,children:(0,X.jsx)(Oe,{errors:i,localSettings:e,setError:a,updateSetting:t})})]})}),Le=()=>{let{updateRoute:e}=E(),{darkMode:t}=d(),[n,r]=(0,Y.useState)(`signup`),[o,s]=(0,Y.useState)(`signupOptions`),c=i(),{confirm:l}=ye(),{settings:u,siteData:f,config:p}=J(),{mutateAsync:m}=ne(),{data:{tiers:g}={}}=K(),{mutateAsync:y}=ge(),{mutateAsync:b}=Pe(),{getParam:x}=we(),S=x(`verifyEmail`);(0,Y.useEffect)(()=>{S&&(async({token:e})=>{try{let{settings:t}=await b({token:e}),[n]=H(t,[`members_support_address`]);l({title:`Support address verified`,prompt:(0,X.jsxs)(X.Fragment,{children:[`Your support email address has been changed to `,(0,X.jsx)(`strong`,{children:n}),`.`]}),okLabel:`Close`,cancelLabel:``,onOk:e=>e?.remove()})}catch(e){let t=`There was an error verifying your email address. Please try again.`;e instanceof Error&&e.message===`Token expired`&&(t=`Verification link has expired.`),l({title:`Error verifying support address`,prompt:t,okLabel:`Close`,cancelLabel:``,onOk:e=>e?.remove()}),c(e,{withToast:!1})}})({token:S})},[l,c,S,b]);let{formState:C,setFormState:w,saveState:T,handleSave:D,updateForm:O,okProps:k}=a({initialState:{settings:u,tiers:g||[]},savingDelay:500,onSave:async()=>{await Promise.all(C.tiers.filter(({dirty:e})=>e).map(e=>y(e))),w(e=>({...e,tiers:C.tiers.map(e=>({...e,dirty:!1}))}));let e=C.settings.filter(e=>e.dirty);if(!e.length)return;let{meta:t,settings:n}=await m(e);if(w(e=>({...e,settings:C.settings.map(e=>({...e,dirty:!1}))})),t?.sent_email_verification){let e=C.settings.find(e=>e.key===`members_support_address`)?.value,t=n.find(e=>e.key===`support_email_address`)?.value||W(n.find(e=>e.key===`members_support_address`)?.value?.toString()||`noreply`,f,p);l({title:`Confirm email address`,prompt:(0,X.jsxs)(X.Fragment,{children:[`We've sent a confirmation email to `,(0,X.jsx)(`strong`,{children:e}),`. Until verified, your support email address will remain `,t,`.`]}),okLabel:`Close`,cancelLabel:``,onOk:e=>e?.remove()})}},onSaveError:c});(0,Y.useEffect)(()=>{!C.tiers.length&&g?.length&&w(e=>({...e,tiers:g}))},[g,C.tiers,w]);let[A,j]=(0,Y.useState)({}),M=(e,t)=>{O(n=>({...n,settings:n.settings.map(n=>n.key===e?{...n,value:t,dirty:!0}:n)}))},N=(e,t)=>{j(n=>({...n,[e]:t}))},P=e=>{O(t=>({...t,tiers:t.tiers.map(t=>t.id===e.id?{...e,dirty:!0}:t)}))},F=e=>{r(e),e===`account`?s(`accountPage`):e===`signup`&&o===`accountPage`&&s(`signupOptions`)},I=(0,X.jsx)(Ie,{errors:A,localSettings:C.settings,localTiers:C.tiers,selectedTab:o,setError:N,updateSetting:M,updateTier:P,onTabChange:e=>{s(e),r(Fe[e])}}),L=(0,X.jsx)(Me,{darkMode:t,localSettings:C.settings,localTiers:C.tiers,selectedTab:n}),R=(0,X.jsx)(v,{value:n,variant:`button`,onValueChange:e=>F(e),children:(0,X.jsxs)(_,{children:[(0,X.jsx)(h,{value:`signup`,children:`Signup`}),(0,X.jsx)(h,{value:`account`,children:`Account page`}),(0,X.jsx)(h,{value:`links`,children:`Links`})]})});return(0,X.jsx)(Se,{buttonsDisabled:k.disabled,cancelLabel:`Close`,dirty:T===`unsaved`,okLabel:k.label||`Save`,okVariant:k.variant,preview:L,previewBgColor:n===`links`?`white`:`greygradient`,previewToolbarTabs:R,sidebar:I,testId:`portal-modal`,title:`Portal`,onClose:()=>{e(`portal`)},onOk:async()=>{Object.values(A).filter(Boolean).length||await D({force:!0})}})};export{Le as default};
|
|
@@ -1 +0,0 @@
|
|
|
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{n as r}from"./dist-Ndy-PuGN.js";import{h as i,u as a}from"./chunk-KS7C4IRE-DCsL4i4D.js";import{s as o}from"./router-provider-CJC58zTy.js";import{s}from"./dist-Cb5RSHSg.js";import{i as c,n as l}from"./heading-CRZZ2FUe.js";import{An as u,Pn as d,Qn as f,f as p,fn as m,gr as h,mn as ee,n as g,p as _,t as v,u as y,yt as b}from"./button-BshWPHvn.js";import{a as x,i as S,n as C,r as te,t as ne}from"./tabs-CGisSbWq.js";import{c as w,o as re,r as ie,s as ae,t as oe}from"./dialog-Db7c164G.js";import{i as T,n as E,r as D,t as O}from"./popover-CFgqFDvC.js";import{a as k,c as A,i as j,l as se,n as ce,o as M,r as N,s as P,t as F}from"./alert-dialog-wEbVxANM.js";import{t as I}from"./skeleton-D7hwjdry.js";import{n as L}from"./loading-indicator-SFTqyYVE.js";import{t as le}from"./edit-profile-By7v5XW5.js";import{t as R}from"./use-navigate-with-base-path-CK989MlC.js";import{B as z,Ct as B,Dn as V,Dt as ue,Et as de,Gt as fe,H as pe,K as me,Kt as he,Ln as ge,On as H,Pn as U,Rt as _e,U as ve,V as ye,_t as be,en as W,et as G,gt as xe,mt as Se,st as K,tn as q,ut as J,vt as Ce,wt as Y,yt as we,zt as X}from"./index-CDP9tIOk.js";import"./layout-Di5K7doM.js";import{t as Te}from"./settings-B5hJKZ5C.js";var Z=e(t(),1);function Ee(e){return typeof e.name==`string`?e.name:typeof e.preferredUsername==`string`?e.preferredUsername:typeof e.preferredUsername==`object`&&e.preferredUsername!==null&&`@value`in e.preferredUsername&&typeof e.preferredUsername[`@value`]==`string`?e.preferredUsername[`@value`]:`Unknown`}var Q=n(),De=({noResultsMessage:e,actors:t,isLoading:n,fetchNextPage:r,hasNextPage:i,isFetchingNextPage:a})=>{let{data:o}=Y(`index`,`me`),s=(0,Z.useRef)(null),c=(0,Z.useRef)(null);(0,Z.useEffect)(()=>(s.current&&s.current.disconnect(),s.current=new IntersectionObserver(e=>{e[0].isIntersecting&&i&&!a&&r()}),c.current&&s.current.observe(c.current),()=>{s.current&&s.current.disconnect()}),[i,a,r]);let l=R();return(0,Q.jsxs)(`div`,{className:`pt-3`,"data-testid":`actor-list`,children:[i===!1&&t.length===0?(0,Q.jsxs)(V,{children:[(0,Q.jsx)(H,{children:(0,Q.jsx)(_,{})}),e]}):(0,Q.jsx)(`div`,{className:`flex flex-col`,children:t.map(({actor:e,isFollowing:t,blockedByMe:n,domainBlockedByMe:r})=>{let i=q(e),a=i===o?.handle;return(0,Q.jsx)(Z.Fragment,{children:(0,Q.jsx)(J,{actor:e,align:`center`,isCurrentUser:a,side:`left`,children:(0,Q.jsx)(`div`,{children:(0,Q.jsxs)(me,{"data-testid":`actor-item`,onClick:()=>{K(e,l)},children:[(0,Q.jsx)(we,{author:e}),(0,Q.jsx)(`div`,{children:(0,Q.jsxs)(`div`,{className:`break-anywhere text-gray-600`,children:[(0,Q.jsx)(`span`,{className:`mr-1 line-clamp-1 font-bold text-black dark:text-white`,children:Ee(e)}),(0,Q.jsx)(`div`,{className:`line-clamp-1 text-sm`,children:i})]})}),n||r?(0,Q.jsx)(v,{className:`pointer-events-none ml-auto min-w-[90px]`,variant:`destructive`,children:`Blocked`}):a?null:(0,Q.jsx)(Ce,{className:`ml-auto`,"data-testid":`follow-button`,following:t,handle:i,type:`secondary`})]},e.id)})})},e.id)})}),(0,Q.jsx)(`div`,{ref:c,className:`h-1`}),(a||n)&&(0,Q.jsx)(`div`,{className:`mt-6 flex flex-col items-center justify-center gap-4 text-center`,children:(0,Q.jsx)(L,{size:`md`})})]})},Oe=({posts:e,fetchNextPage:t,hasNextPage:n,isFetchingNextPage:r,isLoading:i})=>{let a=(0,Z.useRef)(null),o=(0,Z.useRef)(null),s=(0,Z.useRef)(null),c=Math.max(0,Math.floor(e.length*.75)-1);(0,Z.useEffect)(()=>(a.current&&a.current.disconnect(),a.current=new IntersectionObserver(e=>{e[0].isIntersecting&&n&&!r&&t()}),o.current&&a.current.observe(o.current),s.current&&a.current.observe(s.current),()=>{a.current&&a.current.disconnect()}),[n,r,t]);let l=R();return(0,Q.jsxs)(Q.Fragment,{children:[n===!1&&e.length===0&&(0,Q.jsxs)(V,{children:[(0,Q.jsx)(H,{children:(0,Q.jsx)(m,{})}),`You haven't liked anything yet.`]}),(0,Q.jsxs)(`ul`,{className:`mx-auto flex max-w-[640px] flex-col`,"data-testid":`profile-likes-list`,children:[e.map((t,n)=>(0,Q.jsxs)(`li`,{"data-testid":`profile-like-item`,"data-test-view-article":!0,children:[(0,Q.jsx)(G,{actor:t.actor,allowDelete:t.object.authored,commentCount:t.object.replyCount,isLoading:i,layout:`feed`,likeCount:t.object.likeCount,object:t.object,repostCount:t.object.repostCount,type:t.type,onClick:()=>{t.object.type===`Note`?l(`/notes/${encodeURIComponent(t.object.id)}`):t.object.type===`Article`&&l(`/reader/${encodeURIComponent(t.object.id)}`)}}),n<e.length-1&&(0,Q.jsx)(U,{}),n===c&&(0,Q.jsx)(`div`,{ref:o,className:`h-1`})]},`likes-${t.id}`)),r&&(0,Q.jsx)(`li`,{className:`flex flex-col items-center justify-center gap-4 text-center`,children:(0,Q.jsx)(L,{size:`md`})})]}),(0,Q.jsx)(`div`,{ref:s,className:`h-1`})]})},ke=({posts:e,fetchNextPage:t,hasNextPage:n,isFetchingNextPage:r,isLoading:i,noResultsMessage:a})=>{let o=(0,Z.useRef)(null),s=(0,Z.useRef)(null),c=(0,Z.useRef)(null),l=Math.max(0,Math.floor(e.length*.75)-1);(0,Z.useEffect)(()=>(o.current&&o.current.disconnect(),o.current=new IntersectionObserver(e=>{e[0].isIntersecting&&n&&!r&&t()}),s.current&&o.current.observe(s.current),c.current&&o.current.observe(c.current),()=>{o.current&&o.current.disconnect()}),[n,r,t]);let u=R();return(0,Q.jsxs)(Q.Fragment,{children:[n===!1&&e.length===0&&(0,Q.jsxs)(V,{children:[(0,Q.jsx)(H,{children:(0,Q.jsx)(b,{})}),a]}),(0,Q.jsxs)(`ul`,{className:`mx-auto flex max-w-[640px] flex-col`,"data-testid":`profile-posts-list`,children:[e.map((t,n)=>(0,Q.jsxs)(`li`,{"data-testid":`profile-post-item`,"data-test-view-article":!0,children:[(0,Q.jsx)(G,{actor:t.actor,allowDelete:t.object.authored,commentCount:t.object.replyCount,isLoading:i,layout:`feed`,likeCount:t.object.likeCount,object:t.object,repostCount:t.object.repostCount,type:t.type,onClick:()=>{t.object.type===`Note`?u(`/notes/${encodeURIComponent(t.object.id)}`):t.object.type===`Article`&&u(`/reader/${encodeURIComponent(t.object.id)}`)}}),n<e.length-1&&(0,Q.jsx)(U,{}),n===l&&(0,Q.jsx)(`div`,{ref:s,className:`h-1`})]},`posts-${t.id}`)),r&&(0,Q.jsx)(`li`,{className:`flex flex-col items-center justify-center gap-4 text-center`,children:(0,Q.jsx)(L,{size:`md`})})]}),(0,Q.jsx)(`div`,{ref:c,className:`h-1`})]})},$=({handle:e,isUserBlocked:t,isDomainBlocked:n,onUnblockUser:i,onUnblockDomain:a,trigger:o,onUnblockComplete:s,isOpen:l,onOpenChange:u})=>{let[d,f]=(0,Z.useState)(!1),[p,m]=(0,Z.useState)(()=>{let e=t&&n,r=t&&!n,i=!t&&n,a=`idle`;return e?a=`dual`:r?a=`userOnly`:i&&(a=`domainOnly`),{mode:a,userUnblocked:!1,domainUnblocked:!1}}),h=l!==void 0,g=h?l:d,[_,b]=(0,Z.useState)(!1),x=(0,Z.useCallback)(()=>{let e=t&&n,r=t&&!n,i=!t&&n,a=`idle`;e?a=`dual`:r?a=`userOnly`:i&&(a=`domainOnly`),m(e=>({...e,mode:a,userUnblocked:!1,domainUnblocked:!1}))},[t,n]);(0,Z.useEffect)(()=>{g&&!_?(x(),b(!0)):g||b(!1)},[g,_,x]);let S=()=>{h?u?.(!0):f(!0)},C=e=>{e||(h?u?.(!1):f(!1))},te=async()=>{await i(),m(e=>({...e,userUnblocked:!0})),(p.mode!==`dual`||p.domainUnblocked)&&(C(!1),s?.()),r.success(`User unblocked`)},ne=async()=>{await a(),m(e=>({...e,domainUnblocked:!0})),(p.mode!==`dual`||p.userUnblocked)&&(C(!1),s?.()),r.success(`Domain unblocked`)},w=e.split(`@`).filter(Boolean)[1];return(0,Q.jsxs)(F,{open:g,onOpenChange:C,children:[o&&(0,Q.jsx)(se,{asChild:!0,onClick:S,children:o}),(0,Q.jsx)(j,{className:`${p.mode===`dual`&&`max-w-[600px]`}`,children:p.mode===`dual`?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(P,{children:[(0,Q.jsx)(A,{className:`mb-1 flex flex-col gap-1`,children:`Unblock`}),(0,Q.jsx)(k,{className:`mt-4!`,asChild:!0,children:(0,Q.jsxs)(`div`,{className:`flex flex-col rounded-md border`,children:[(0,Q.jsxs)(`div`,{className:`flex justify-between gap-6 p-5`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Q.jsx)(c,{children:`Unblock user`}),(0,Q.jsxs)(`p`,{children:[(0,Q.jsx)(`span`,{className:`font-semibold text-black`,children:e}),` will be able to follow you and engage with your public posts.`]})]}),(0,Q.jsxs)(v,{className:`gap-1 ${p.userUnblocked?`pointer-events-none border-green bg-green text-white hover:bg-green hover:text-white`:`text-red hover:text-red-400`}`,variant:`outline`,onClick:te,children:[(0,Q.jsx)(y,{}),p.userUnblocked?`User unblocked`:`Unblock user`]})]}),(0,Q.jsx)(`div`,{className:`border-t`}),(0,Q.jsxs)(`div`,{className:`flex justify-between gap-6 p-5`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Q.jsx)(c,{children:`Unblock domain`}),(0,Q.jsxs)(`p`,{children:[`Users from `,(0,Q.jsx)(`span`,{className:`font-semibold text-black`,children:w}),` will be able to follow you and engage with your public posts.`]})]}),(0,Q.jsxs)(v,{className:`gap-1 ${p.domainUnblocked?`pointer-events-none border-green bg-green text-white hover:bg-green hover:text-white`:`text-red hover:text-red-400`}`,variant:`outline`,onClick:ne,children:[(0,Q.jsx)(ee,{}),p.domainUnblocked?`Domain unblocked`:`Unblock domain`]})]})]})})]}),(0,Q.jsx)(M,{children:(0,Q.jsx)(v,{onClick:()=>C(!1),children:`OK`})})]}):(()=>{let t=p.mode===`userOnly`;return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(P,{children:[(0,Q.jsx)(A,{className:`mb-1 flex flex-col gap-1`,children:t?`Unblock this user?`:`Unblock this domain?`}),(0,Q.jsx)(k,{children:t?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{className:`font-semibold text-black`,children:e}),` will be able to follow you and engage with your public posts.`]}):(0,Q.jsxs)(Q.Fragment,{children:[`Users from `,(0,Q.jsx)(`span`,{className:`font-semibold text-black`,children:w}),` will be able to follow you and engage with your public posts.`]})})]}),(0,Q.jsxs)(M,{children:[(0,Q.jsx)(N,{children:`Cancel`}),(0,Q.jsx)(v,{onClick:t?te:ne,children:`Unblock`})]})]})})()})]})},Ae=({account:e,children:t,onCopyHandle:n,onBlockAccount:r,onBlockDomain:i,disabled:a=!1,isBlocked:o=!1,isDomainBlocked:s=!1})=>{let[c,l]=(0,Z.useState)(null),[u,d]=(0,Z.useState)(!1),f=e=>{e.stopPropagation(),n()},p=e=>{e.stopPropagation(),r()},m=e=>{e.stopPropagation(),i()},h=e?.handle,ee=h?.split(`@`).filter(Boolean)[1];return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(O,{children:[(0,Q.jsx)(T,{disabled:a,asChild:!0,onClick:e=>e.stopPropagation(),children:t}),(0,Q.jsx)(D,{align:`end`,className:`p-2`,children:(0,Q.jsxs)(`div`,{className:`flex w-48 flex-col`,children:[(0,Q.jsx)(E,{asChild:!0,children:(0,Q.jsx)(v,{className:`justify-start`,variant:`ghost`,onClick:f,children:`Copy handle`})}),(0,Q.jsx)(E,{asChild:!0,children:(0,Q.jsx)(v,{className:`justify-start text-red hover:bg-red/5 hover:text-red`,variant:`ghost`,onClick:e=>{e.stopPropagation(),!o&&!s&&l(`user`),d(!0)},children:o?`Unblock user`:s?`Unblock domain`:`Block user`})})]})})]}),o||s?e&&(0,Q.jsx)($,{handle:e.handle,isDomainBlocked:e.domainBlockedByMe,isOpen:u,isUserBlocked:e.blockedByMe,onOpenChange:d,onUnblockDomain:i,onUnblockUser:r}):(0,Q.jsx)(F,{open:u,onOpenChange:d,children:(0,Q.jsxs)(j,{onClick:e=>e.stopPropagation(),children:[(0,Q.jsxs)(P,{children:[(0,Q.jsx)(A,{className:`mb-1 flex flex-col gap-1`,children:c===`user`?`Block this user?`:`Block this domain?`}),(0,Q.jsx)(k,{children:c===`user`?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{className:`font-semibold text-black`,children:h}),` will be able to see your public posts, but will no longer be able follow you or interact with your content on the social web.`]}):(0,Q.jsxs)(Q.Fragment,{children:[`All users from `,(0,Q.jsx)(`span`,{className:`font-semibold text-black`,children:ee}),` will be able to see your public posts, but won't be able to follow you or interact with your content.`]})})]}),(0,Q.jsxs)(M,{children:[c!==`domain`&&(0,Q.jsx)(v,{className:`mr-auto -ml-3 hover:bg-transparent hover:opacity-80`,variant:`ghost`,onClick:e=>{e.stopPropagation(),l(`domain`)},children:`Block domain instead`}),(0,Q.jsx)(N,{onClick:e=>e.stopPropagation(),children:`Cancel`}),(0,Q.jsx)(ce,{className:g({variant:`destructive`}),onClick:c===`user`?p:m,children:`Block`})]})]})})]})},je=({account:e,onUnblock:t,onDomainUnblock:n,className:r=``})=>{let[i,a]=(0,Z.useState)(!1),o=(0,Q.jsx)(v,{className:`min-w-[90px] ${r}`,variant:`destructive`,onMouseEnter:()=>a(!0),onMouseLeave:()=>a(!1),children:i?`Unblock`:`Blocked`});return(0,Q.jsx)($,{handle:e.handle,isDomainBlocked:e.domainBlockedByMe,isUserBlocked:e.blockedByMe,trigger:o,onUnblockDomain:n,onUnblockUser:t})},Me=()=>{},Ne=({account:e,customFields:t,isLoadingAccount:n,postsTab:m,likesTab:ee,followingTab:g,followersTab:_})=>{let y=i(),b=a(),T=R(),{canGoBack:E}=o(),D=y.handle?`/profile/${y.handle}`:`/profile`,O=!y.handle,k=y.handle?y.tab||``:b.pathname.split(`/`).pop()||``,A=(0,Z.useMemo)(()=>O?[`likes`,`following`,`followers`]:[`following`,`followers`],[O]),j=A.includes(k)?k:`posts`,se=ue(`index`),ce=he(`index`),M=de(`index`),N=fe(`index`),P=Y(`index`,`me`),{data:F}=y.handle?P:{data:void 0},L=y.handle===F?.handle||!y.handle,z=e?.blockedByMe,B=e?.domainBlockedByMe,[me,U]=(0,Z.useState)(!1),[_e,W]=(0,Z.useState)(!1),G=(0,Z.useRef)(null);(0,Z.useEffect)(()=>()=>{G.current&&window.clearTimeout(G.current)},[]);let K=()=>{z?ce.mutate(e):(se.mutate(e),r.success(`User blocked`)),U(!1)},q=()=>{B?N.mutate({url:e.apId,handle:e.handle}):(M.mutate({url:e.apId,handle:e.handle}),r.success(`Domain blocked`)),U(!1)},J=async()=>{if(!e?.handle||!navigator?.clipboard?.writeText){r.error(`Unable to copy handle`);return}try{await navigator.clipboard.writeText(e.handle),W(!0),r.success(`Handle copied`),G.current&&window.clearTimeout(G.current),G.current=window.setTimeout(()=>W(!1),2e3)}catch{r.error(`Failed to copy handle`),W(!1)}},[X,Ee]=(0,Z.useState)(!1),[De,Oe]=(0,Z.useState)(!1),ke=()=>{Ee(!X)},$=(0,Z.useRef)(null),[Ne,Pe]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{$.current&&Pe($.current.scrollHeight>160)},[X,e?.bio,t,n]),(0,Z.useEffect)(()=>{k&&(A.includes(k)||T(D,{replace:!0}))},[A,D,T,k]);let Fe=e=>e===`posts`?D:`${D}/${e}`,Ie=e=>{e!==j&&T(Fe(e),{replace:!0})};return!n&&!e?(0,Q.jsx)(ve,{children:(0,Q.jsx)(`div`,{className:`mx-auto mt-4 flex w-full max-w-[620px] flex-col items-center [&_svg]:translate-x-px`,children:(0,Q.jsxs)(pe,{children:[(0,Q.jsx)(ye,{children:(0,Q.jsx)(p,{})}),(0,Q.jsx)(`div`,{children:`Profile not found`})]})})}):(0,Q.jsx)(ve,{children:(0,Q.jsx)(`div`,{className:`z-0 mx-[max(-4vw,-24px)] -mt-9 flex flex-col items-center pb-16`,children:(0,Q.jsx)(`div`,{className:`mx-auto w-full`,children:(0,Q.jsxs)(Q.Fragment,{children:[e?.bannerImageUrl?(0,Q.jsx)(`div`,{className:`h-[15vw] min-h-[200px] w-full overflow-hidden bg-gradient-to-tr from-gray-200 to-gray-100`,children:(0,Q.jsx)(`img`,{alt:e?.name,className:`size-full object-cover`,referrerPolicy:`no-referrer`,src:e?.bannerImageUrl})}):(0,Q.jsx)(`div`,{className:`h-[max(8vw,132px)] w-full overflow-hidden bg-gradient-to-tr from-white to-white dark:from-black dark:to-black`}),(0,Q.jsxs)(`div`,{className:`mx-auto max-w-[620px] px-6 ${!e?.bannerImageUrl&&!E?`-mt-8`:`-mt-12`}`,children:[(0,Q.jsxs)(`div`,{className:`flex items-end justify-between`,children:[(0,Q.jsx)(`div`,{className:`-ml-2 rounded-full bg-white p-1 dark:bg-background`,children:n?(0,Q.jsx)(I,{className:`size-[92px] rounded-full`}):(0,Q.jsx)(we,{author:{icon:{url:e?.avatarUrl},name:e?.name,handle:e?.handle},size:`lg`})}),!L&&!n&&(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[z||B?(0,Q.jsx)(je,{account:e,onDomainUnblock:q,onUnblock:K}):(0,Q.jsx)(Ce,{following:e?.followedByMe,handle:e?.handle,type:`primary`,onFollow:Me,onUnfollow:Me}),(0,Q.jsx)(Ae,{account:e,isBlocked:z,isDomainBlocked:B,onBlockAccount:K,onBlockDomain:q,onCopyHandle:J,children:(0,Q.jsx)(v,{"aria-label":`Open profile menu`,variant:`outline`,children:(0,Q.jsx)(u,{})})})]}),L&&!n&&(0,Q.jsxs)(oe,{open:De,onOpenChange:Oe,children:[(0,Q.jsx)(w,{children:(0,Q.jsx)(Te,{children:(0,Q.jsx)(v,{variant:`secondary`,children:`Edit profile`})})}),(0,Q.jsxs)(ie,{className:`w-full max-w-[520px]`,onOpenAutoFocus:e=>e.preventDefault(),children:[(0,Q.jsx)(re,{children:(0,Q.jsx)(ae,{children:`Profile settings`})}),e&&(0,Q.jsx)(le,{account:e,setIsEditingProfile:Oe})]})]})]}),(0,Q.jsx)(l,{className:`break-anywhere mt-4 truncate`,children:n?(0,Q.jsx)(I,{className:`w-32`}):e?.name}),(0,Q.jsxs)(`div`,{className:`mb-4 flex items-center gap-2`,children:[(0,Q.jsx)(`a`,{className:`inline-flex max-w-full truncate text-[1.5rem] text-gray-800 hover:text-gray-900 dark:text-gray-600 dark:hover:text-gray-500`,href:e?.url,rel:`noopener noreferrer`,target:`_blank`,children:(0,Q.jsx)(`span`,{className:`truncate`,children:n?(0,Q.jsx)(I,{className:`w-full max-w-56`}):e?.handle})}),!n&&(0,Q.jsx)(v,{className:`-ml-1.5 size-6 p-0 text-gray-800 hover:text-gray-900 dark:text-gray-700 dark:hover:text-gray-600`,title:`Copy handle`,variant:`link`,onClick:J,children:_e?(0,Q.jsx)(f,{size:16}):(0,Q.jsx)(d,{size:16})}),e?.followsMe&&!n&&(0,Q.jsx)(ge,{className:`mt-px whitespace-nowrap`,variant:`secondary`,children:`Follows you`})]}),(e?.bio||t?.length>0)&&(0,Q.jsxs)(`div`,{ref:$,className:`ap-profile-content break-anywhere relative text-[1.5rem] [&>p]:mb-3 ${X?`max-h-none pb-7`:`max-h-[160px] overflow-hidden`} relative`,children:[n?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(I,{}),(0,Q.jsx)(I,{className:`w-full max-w-48`})]}):(0,Q.jsx)(`div`,{dangerouslySetInnerHTML:{__html:xe(Se(be(e?.bio??``,[`a`,`br`])))}}),t?.map(e=>(0,Q.jsxs)(`span`,{className:`mt-3 line-clamp-1 flex flex-col text-[1.5rem]`,children:[(0,Q.jsx)(`span`,{className:`text-xs font-semibold`,children:e.name}),(0,Q.jsx)(`span`,{dangerouslySetInnerHTML:{__html:xe(e.value)},className:`ap-profile-content truncate`})]},e.name)),!X&&Ne&&(0,Q.jsx)(`div`,{className:`absolute inset-x-0 bottom-0 h-16 bg-gradient-to-t from-white via-white/100 via-60% to-transparent dark:from-black dark:via-black/100`}),Ne&&(0,Q.jsx)(v,{className:`absolute bottom-0 h-auto p-0 text-md`,variant:`link`,onClick:ke,children:X?`Show less`:`Show all`})]}),(0,Q.jsxs)(ne,{className:`mt-5`,value:j,variant:`underline`,onValueChange:e=>Ie(e),children:[(0,Q.jsxs)(te,{children:[(0,Q.jsx)(S,{value:`posts`,children:`Posts`}),O&&(0,Q.jsxs)(S,{value:`likes`,children:[`Likes`,(0,Q.jsx)(x,{children:s(e?.likedCount||0)})]}),(0,Q.jsxs)(S,{value:`following`,children:[`Following`,(0,Q.jsx)(x,{children:s(e?.followingCount||0)})]}),(0,Q.jsxs)(S,{value:`followers`,children:[`Followers`,(0,Q.jsx)(x,{children:s(e?.followerCount||0)})]})]}),(0,Q.jsx)(C,{value:`posts`,children:(z||B)&&!me?(0,Q.jsxs)(V,{children:[(0,Q.jsx)(H,{children:(0,Q.jsx)(h,{})}),(0,Q.jsxs)(`div`,{className:`mt-2 flex flex-col items-center gap-0.5`,children:[(0,Q.jsxs)(c,{children:[e.name,` is blocked`]}),(0,Q.jsx)(`p`,{children:`You can view the posts, but it won't unblock the user.`}),(0,Q.jsx)(v,{className:`mt-4`,variant:`secondary`,onClick:()=>U(!0),children:`View posts`})]})]}):m}),O&&(0,Q.jsx)(C,{value:`likes`,children:ee}),(0,Q.jsx)(C,{value:`following`,children:g}),(0,Q.jsx)(C,{value:`followers`,children:_})]},y.handle||e?.handle||`current-user`)]})]})})})})},Pe=({handle:e})=>{let{postsByAccountQuery:t}=_e(e||`me`,{enabled:!0}),{data:n,fetchNextPage:r,hasNextPage:i,isFetchingNextPage:a,isLoading:o}=t,s=n?.pages.flatMap(e=>e.posts)??Array.from({length:5},(e,t)=>({id:`placeholder-${t}`,object:{}}));return(0,Q.jsx)(ke,{fetchNextPage:r,hasNextPage:i,isFetchingNextPage:a,isLoading:o,noResultsMessage:e?`${e} hasn't posted anything yet`:`You haven't posted anything yet.`,posts:s})},Fe=()=>{let{postsLikedByAccountQuery:e}=X({enabled:!0}),{data:t,fetchNextPage:n,hasNextPage:r,isFetchingNextPage:i,isLoading:a}=e;return(0,Q.jsx)(Oe,{fetchNextPage:n,hasNextPage:r,isFetchingNextPage:i,isLoading:a,posts:t?.pages.flatMap(e=>e.posts)??Array.from({length:5},(e,t)=>({id:`placeholder-${t}`,object:{}}))})},Ie=({handle:e})=>{let{data:t,fetchNextPage:n,hasNextPage:r,isFetchingNextPage:i,isLoading:a}=B(e===``?`me`:e,`following`);return(0,Q.jsx)(De,{actors:t?.pages.flatMap(e=>`following`in e?e.following:`accounts`in e?e.accounts.map(e=>({actor:{id:e.id,name:e.name,handle:e.handle,icon:{url:e.avatarUrl}},isFollowing:e.isFollowing,blockedByMe:e.blockedByMe,domainBlockedByMe:e.domainBlockedByMe})):[])??[],fetchNextPage:n,hasNextPage:r,isFetchingNextPage:i,isLoading:a,noResultsMessage:`${e||`You`} have no following`})},Le=({handle:e})=>{let{data:t,fetchNextPage:n,hasNextPage:r,isFetchingNextPage:i,isLoading:a}=B(e===``?`me`:e,`followers`);return(0,Q.jsx)(De,{actors:t?.pages.flatMap(e=>`followers`in e?e.followers:`accounts`in e?e.accounts.map(e=>({actor:{id:e.id,name:e.name,handle:e.handle,icon:{url:e.avatarUrl}},isFollowing:e.isFollowing})):[])??[],fetchNextPage:n,hasNextPage:r,isFetchingNextPage:i,isLoading:a,noResultsMessage:`${e||`You`} have no followers yet`})},Re=()=>{let e=i(),{data:t,isLoading:n,error:r,refetch:a}=Y(`index`,e.handle||`me`);if((0,Z.useEffect)(()=>{a()},[e.handle,a]),r&&W(r)&&r.statusCode!==404)return(0,Q.jsx)(z,{errorCode:r.code,statusCode:r.statusCode});let o=Object.keys(t?.customFields||{}).map(e=>({name:e,value:t.customFields[e]}))||[],s=(0,Q.jsx)(Pe,{handle:e.handle||``}),c=(0,Q.jsx)(Fe,{}),l=(0,Q.jsx)(Ie,{handle:e.handle||``});return(0,Q.jsx)(Ne,{account:t,customFields:o,followersTab:(0,Q.jsx)(Le,{handle:e.handle||``}),followingTab:l,isLoadingAccount:n,likesTab:c,postsTab:s})};export{Re as default};
|
|
@@ -1 +0,0 @@
|
|
|
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,c as i,o as a}from"./dist-Cb5RSHSg.js";import{_ as o,l as s,u as c,x as l}from"./shade-app-F7WxOyfk-nufqw1hd.js";import{a as u,r as d}from"./dist-DzcfoDJ3.js";import{Qn as f}from"./button-BshWPHvn.js";import{t as p}from"./dist-BT_Z-eCn.js";import{t as m}from"./dist-JLOy8o0Q.js";import{t as h}from"./input-surface-BdOe4KzO.js";import{_r as g,gr as _,vr as v}from"./index-CDP9tIOk.js";var y=e(t(),1),b=n(),x=`Radio`,[S,C]=u(x),[w,T]=S(x);function E(e){let{__scopeRadio:t,checked:n=!1,children:r,disabled:i,form:a,name:o,onCheck:s,required:c,value:l=`on`,internal_do_not_use_render:u}=e,[d,f]=y.useState(null),[p,m]=y.useState(null),h={checked:n,disabled:i,required:c,name:o,form:a,value:l,control:d,setControl:f,hasConsumerStoppedPropagationRef:y.useRef(!1),isFormControl:d?!!a||!!d.closest(`form`):!0,bubbleInput:p,setBubbleInput:m,onCheck:()=>s?.()};return(0,b.jsx)(w,{scope:t,...h,children:N(u)?u(h):r})}var D=`RadioTrigger`,O=y.forwardRef(({__scopeRadio:e,onClick:t,...n},i)=>{let{checked:a,disabled:o,value:s,setControl:c,onCheck:u,hasConsumerStoppedPropagationRef:f,isFormControl:p,bubbleInput:m}=T(D,e),h=r(i,c);return(0,b.jsx)(d.button,{type:`button`,role:`radio`,"aria-checked":a,"data-state":P(a),"data-disabled":o?``:void 0,disabled:o,value:s,...n,ref:h,onClick:l(t,e=>{a||u(),m&&p&&(f.current=e.isPropagationStopped(),f.current||e.stopPropagation())})})});O.displayName=D;var ee=y.forwardRef((e,t)=>{let{__scopeRadio:n,name:r,checked:i,required:a,disabled:o,value:s,onCheck:c,form:l,...u}=e;return(0,b.jsx)(E,{__scopeRadio:n,checked:i,disabled:o,required:a,onCheck:c,name:r,form:l,value:s,internal_do_not_use_render:({isFormControl:e})=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(O,{...u,ref:t,__scopeRadio:n}),e&&(0,b.jsx)(M,{__scopeRadio:n})]})})});ee.displayName=x;var k=`RadioIndicator`,A=y.forwardRef((e,t)=>{let{__scopeRadio:n,forceMount:r,...i}=e,a=T(k,n);return(0,b.jsx)(c,{present:r||a.checked,children:(0,b.jsx)(d.span,{"data-state":P(a.checked),"data-disabled":a.disabled?``:void 0,...i,ref:t})})});A.displayName=k;var j=`RadioBubbleInput`,M=y.forwardRef(({__scopeRadio:e,...t},n)=>{let{control:i,checked:a,required:s,disabled:c,name:l,value:u,form:f,bubbleInput:p,setBubbleInput:h,hasConsumerStoppedPropagationRef:g}=T(j,e),_=r(n,h),v=m(a),x=o(i);y.useEffect(()=>{let e=p;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=!g.current;if(v!==a&&n){let t=new Event(`click`,{bubbles:r});n.call(e,a),e.dispatchEvent(t)}},[p,v,a,g]);let S=y.useRef(a);return(0,b.jsx)(d.input,{type:`radio`,"aria-hidden":!0,defaultChecked:S.current,required:s,disabled:c,name:l,value:u,form:f,...t,tabIndex:-1,ref:_,style:{...t.style,...x,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})});M.displayName=j;function N(e){return typeof e==`function`}function P(e){return e?`checked`:`unchecked`}var F=[`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`],I=`RadioGroup`,[L,te]=u(I,[v,C]),R=v(),z=C(),[B,V]=L(I),H=y.forwardRef((e,t)=>{let{__scopeRadioGroup:n,name:r,defaultValue:i,value:a,required:o=!1,disabled:c=!1,orientation:l,dir:u,loop:f=!0,onValueChange:m,...h}=e,_=R(n),v=p(u),[y,x]=s({prop:a,defaultProp:i??null,onChange:m,caller:I});return(0,b.jsx)(B,{scope:n,name:r,required:o,disabled:c,value:y,onValueChange:x,children:(0,b.jsx)(g,{asChild:!0,..._,orientation:l,dir:v,loop:f,children:(0,b.jsx)(d.div,{role:`radiogroup`,"aria-required":o,"aria-orientation":l,"data-disabled":c?``:void 0,dir:v,...h,ref:t})})})});H.displayName=I;var U=`RadioGroupItem`,W=`RadioGroupItemProvider`,G=`RadioGroupItemTrigger`,K=`RadioGroupItemBubbleInput`;function q(e){let{__scopeRadioGroup:t,value:n,disabled:r,children:i,internal_do_not_use_render:a}=e,o=V(W,t),s=z(t),c=o.disabled||r;return(0,b.jsx)(E,{...s,checked:o.value===n,disabled:c,required:o.required,name:o.name,value:n,onCheck:()=>o.onValueChange(n),internal_do_not_use_render:a,children:i})}var J=y.forwardRef((e,t)=>{let{__scopeRadioGroup:n,...i}=e,a=R(n),o=z(n),{checked:s,disabled:c}=T(G,o.__scopeRadio),u=y.useRef(null),d=r(t,u),f=y.useRef(!1);return y.useEffect(()=>{let e=e=>{F.includes(e.key)&&(f.current=!0)},t=()=>f.current=!1;return document.addEventListener(`keydown`,e),document.addEventListener(`keyup`,t),()=>{document.removeEventListener(`keydown`,e),document.removeEventListener(`keyup`,t)}},[]),(0,b.jsx)(_,{asChild:!0,...a,focusable:!c,active:s,children:(0,b.jsx)(O,{...o,...i,ref:d,onKeyDown:l(i.onKeyDown,e=>{e.key===`Enter`&&e.preventDefault()}),onFocus:l(i.onFocus,()=>{f.current&&u.current?.click()})})})});J.displayName=G;var Y=y.forwardRef((e,t)=>{let{__scopeRadioGroup:n,value:r,disabled:i,...a}=e;return(0,b.jsx)(q,{__scopeRadioGroup:n,value:r,disabled:i,internal_do_not_use_render:({isFormControl:e})=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(J,{...a,ref:t,__scopeRadioGroup:n}),e&&(0,b.jsx)(X,{__scopeRadioGroup:n})]})})});Y.displayName=U;var X=y.forwardRef((e,t)=>{let{__scopeRadioGroup:n,...r}=e;return(0,b.jsx)(M,{...z(n),...r,ref:t})});X.displayName=K;var ne=`RadioGroupIndicator`,Z=y.forwardRef((e,t)=>{let{__scopeRadioGroup:n,...r}=e;return(0,b.jsx)(A,{...z(n),...r,ref:t})});Z.displayName=ne;var Q=y.forwardRef(({className:e,...t},n)=>(0,b.jsx)(H,{ref:n,className:i(`grid gap-3`,e),"data-slot":`radio-group`,...t}));Q.displayName=H.displayName;var re=a([h(`self`),`peer grid size-4 shrink-0 place-content-center rounded-full border-border-strong p-0 text-primary enabled:hover:bg-interactive-hover data-[state=checked]:border-primary`],{variants:{indicator:{dot:``,check:`data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground enabled:data-[state=checked]:hover:bg-primary`}},defaultVariants:{indicator:`dot`}}),$=y.forwardRef(({className:e,indicator:t=`dot`,...n},r)=>(0,b.jsx)(Y,{ref:r,className:i(re({indicator:t}),e),"data-slot":`radio-group-item`,...n,children:(0,b.jsx)(Z,{className:`grid place-content-center`,"data-slot":`radio-group-indicator`,children:t===`check`?(0,b.jsx)(f,{className:`size-2.5 stroke-4`}):(0,b.jsx)(`span`,{className:`size-2 rounded-full bg-current`,"data-slot":`radio-group-dot`})})}));$.displayName=Y.displayName;export{$ as n,Q as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
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{i,n as a,r as o,t as s}from"./Combination-gnJO3vIw.js";import{a as c,c as l,n as u}from"./dist-Cb5RSHSg.js";import{c as d,d as f,f as p,g as m,h,l as g,m as _,p as v,t as y,u as b,v as x,x as S,y as C}from"./shade-app-F7WxOyfk-nufqw1hd.js";import{a as w,n as T,r as E,t as D}from"./dist-DzcfoDJ3.js";import{t as O}from"./overlay-escape-C7XYQuvP.js";import{Jn as k,Qn as A,Zn as j}from"./button-BshWPHvn.js";import{n as ee,t as te}from"./dist-BT_Z-eCn.js";import{t as M}from"./dist-JLOy8o0Q.js";import{n as N,t as P}from"./input-surface-BdOe4KzO.js";var F=e(t(),1),I=e(n(),1),L=r();function R(e,[t,n]){return Math.min(n,Math.max(t,e))}var z=[` `,`Enter`,`ArrowUp`,`ArrowDown`],B=[` `,`Enter`],V=`Select`,[H,U,ne]=ee(V),[W,re]=w(V,[ne,m]),G=m(),[ie,K]=W(V),[q,ae]=W(V),oe=`SelectProvider`;function se(e){let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:c,dir:l,name:u,autoComplete:d,disabled:f,required:p,form:m,internal_do_not_use_render:_}=e,v=G(t),[y,b]=F.useState(null),[S,C]=F.useState(null),[w,T]=F.useState(!1),E=te(l),[D,O]=g({prop:r,defaultProp:i??!1,onChange:a,caller:V}),[k,A]=g({prop:o,defaultProp:s,onChange:c,caller:V}),j=F.useRef(null),ee=y?!!m||!!y.closest(`form`):!0,[M,N]=F.useState(new Set),P=x(),I=Array.from(M).map(e=>e.props.value).join(`;`),R=F.useCallback(e=>{N(t=>new Set(t).add(e))},[]),z=F.useCallback(e=>{N(t=>{let n=new Set(t);return n.delete(e),n})},[]),B={required:p,trigger:y,onTriggerChange:b,valueNode:S,onValueNodeChange:C,valueNodeHasChildren:w,onValueNodeHasChildrenChange:T,contentId:P,value:k,onValueChange:A,open:D,onOpenChange:O,dir:E,triggerPointerDownPosRef:j,disabled:f,name:u,autoComplete:d,form:m,nativeOptions:M,nativeSelectKey:I,isFormControl:ee};return(0,L.jsx)(h,{...v,children:(0,L.jsx)(ie,{scope:t,...B,children:(0,L.jsx)(H.Provider,{scope:t,children:(0,L.jsx)(q,{scope:t,onNativeOptionAdd:R,onNativeOptionRemove:z,children:nt(_)?_(B):n})})})})}se.displayName=oe;var ce=e=>{let{__scopeSelect:t,children:n,...r}=e;return(0,L.jsx)(se,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:e})=>(0,L.jsxs)(L.Fragment,{children:[n,e?(0,L.jsx)(tt,{__scopeSelect:t}):null]})})};ce.displayName=V;var le=`SelectTrigger`,ue=F.forwardRef((e,t)=>{let{__scopeSelect:n,disabled:r=!1,...i}=e,a=G(n),o=K(le,n),s=o.disabled||r,l=c(t,o.onTriggerChange),u=U(n),d=F.useRef(`touch`),[f,m,h]=rt(e=>{let t=u().filter(e=>!e.disabled),n=it(t,e,t.find(e=>e.value===o.value));n!==void 0&&o.onValueChange(n.value)}),g=e=>{s||(o.onOpenChange(!0),h()),e&&(o.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,L.jsx)(p,{asChild:!0,...a,children:(0,L.jsx)(E.button,{type:`button`,role:`combobox`,"aria-controls":o.open?o.contentId:void 0,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":`none`,dir:o.dir,"data-state":o.open?`open`:`closed`,disabled:s,"data-disabled":s?``:void 0,"data-placeholder":$(o.value)?``:void 0,...i,ref:l,onClick:S(i.onClick,e=>{e.currentTarget.focus(),d.current!==`mouse`&&g(e)}),onPointerDown:S(i.onPointerDown,e=>{d.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(g(e),e.preventDefault())}),onKeyDown:S(i.onKeyDown,e=>{let t=f.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&m(e.key),!(t&&e.key===` `)&&z.includes(e.key)&&(g(),e.preventDefault())})})})});ue.displayName=le;var de=`SelectValue`,fe=F.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,children:a,placeholder:o=``,...s}=e,l=K(de,n),{onValueNodeHasChildrenChange:u}=l,d=a!==void 0,f=c(t,l.onValueNodeChange);D(()=>{u(d)},[u,d]);let p=$(l.value);return(0,L.jsx)(E.span,{...s,asChild:p?!1:s.asChild,ref:f,style:{pointerEvents:`none`},children:(0,L.jsx)(F.Fragment,{children:p?o:a},p?`placeholder`:`value`)})});fe.displayName=de;var pe=`SelectIcon`,me=F.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...i}=e;return(0,L.jsx)(E.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})});me.displayName=pe;var he=`SelectPortal`,[ge,_e]=W(he,{forceMount:void 0}),ve=e=>{let{__scopeSelect:t,forceMount:n,...r}=e;return(0,L.jsx)(ge,{scope:e.__scopeSelect,forceMount:n,children:(0,L.jsx)(f,{asChild:!0,...r})})};ve.displayName=he;var J=`SelectContent`,ye=F.forwardRef((e,t)=>{let n=_e(J,e.__scopeSelect),{forceMount:r=n.forceMount,...i}=e,a=K(J,e.__scopeSelect),[o,s]=F.useState();return D(()=>{s(new DocumentFragment)},[]),(0,L.jsx)(b,{present:r||a.open,children:({present:e})=>e?(0,L.jsx)(we,{...i,ref:t}):(0,L.jsx)(be,{...i,fragment:o})})});ye.displayName=J;var be=F.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,fragment:i}=e;return i?I.createPortal((0,L.jsx)(xe,{scope:n,children:(0,L.jsx)(H.Slot,{scope:n,children:(0,L.jsx)(`div`,{ref:t,children:r})})}),i):null});be.displayName=`SelectContentFragment`;var Y=10,[xe,X]=W(J),Se=`SelectContentImpl`,Ce=u(`SelectContent.RemoveScroll`),we=F.forwardRef((e,t)=>{let{__scopeSelect:n}=e,{position:r=`item-aligned`,onCloseAutoFocus:l,onEscapeKeyDown:u,onPointerDownOutside:d,side:f,sideOffset:p,align:m,alignOffset:h,arrowPadding:g,collisionBoundary:_,collisionPadding:v,sticky:y,hideWhenDetached:b,avoidCollisions:x,...w}=e,T=K(J,n),[E,D]=F.useState(null),[O,k]=F.useState(null),A=c(t,D),[j,ee]=F.useState(null),[te,M]=F.useState(null),N=U(n),[P,I]=F.useState(!1),R=F.useRef(!1);F.useEffect(()=>{if(E)return a(E)},[E]),i();let z=F.useCallback(e=>{let[t,...n]=N().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&O&&(O.scrollTop=0),n===r&&O&&(O.scrollTop=O.scrollHeight),n?.focus(),document.activeElement!==i))return},[N,O]),B=F.useCallback(()=>z([j,E]),[z,j,E]);F.useEffect(()=>{P&&B()},[P,B]);let{onOpenChange:V,triggerPointerDownPosRef:H}=T;F.useEffect(()=>{if(E){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(H.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(H.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():n.composedPath().includes(E)||V(!1),document.removeEventListener(`pointermove`,t),H.current=null};return H.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[E,V,H]),F.useEffect(()=>{let e=()=>V(!1);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[V]);let[ne,W]=rt(e=>{let t=N().filter(e=>!e.disabled),n=it(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current?.focus())}),re=F.useCallback((e,t,n)=>{let r=!R.current&&!n;(T.value!==void 0&&T.value===t||r)&&(ee(e),r&&(R.current=!0))},[T.value]),G=F.useCallback(()=>E?.focus(),[E]),ie=F.useCallback((e,t,n)=>{let r=!R.current&&!n;(T.value!==void 0&&T.value===t||r)&&M(e)},[T.value]),q=r===`popper`?Oe:Ee,ae=q===Oe?{side:f,sideOffset:p,align:m,alignOffset:h,arrowPadding:g,collisionBoundary:_,collisionPadding:v,sticky:y,hideWhenDetached:b,avoidCollisions:x}:{};return(0,L.jsx)(xe,{scope:n,content:E,viewport:O,onViewportChange:k,itemRefCallback:re,selectedItem:j,onItemLeave:G,itemTextRefCallback:ie,focusSelectedItem:B,selectedItemText:te,position:r,isPositioned:P,searchRef:ne,children:(0,L.jsx)(s,{as:Ce,allowPinchZoom:!0,children:(0,L.jsx)(o,{asChild:!0,trapped:T.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:S(l,e=>{T.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,L.jsx)(C,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>T.onOpenChange(!1),children:(0,L.jsx)(q,{role:`listbox`,id:T.contentId,"data-state":T.open?`open`:`closed`,dir:T.dir,onContextMenu:e=>e.preventDefault(),...w,...ae,onPlaced:()=>I(!0),ref:A,style:{display:`flex`,flexDirection:`column`,outline:`none`,...w.style},onKeyDown:S(w.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&W(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=N().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>z(t)),e.preventDefault()}})})})})})})});we.displayName=Se;var Te=`SelectItemAlignedPosition`,Ee=F.forwardRef((e,t)=>{let{__scopeSelect:n,onPlaced:r,...i}=e,a=K(J,n),o=X(J,n),[s,l]=F.useState(null),[u,d]=F.useState(null),f=c(t,d),p=U(n),m=F.useRef(!1),h=F.useRef(!0),{viewport:g,selectedItem:_,selectedItemText:v,focusSelectedItem:y}=o,b=F.useCallback(()=>{if(a.trigger&&a.valueNode&&s&&u&&g&&_&&v){let e=a.trigger.getBoundingClientRect(),t=u.getBoundingClientRect(),n=a.valueNode.getBoundingClientRect(),i=v.getBoundingClientRect();if(a.dir!==`rtl`){let r=i.left-t.left,a=n.left-r,o=e.left-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-Y,d=R(a,[Y,Math.max(Y,u-l)]);s.style.minWidth=c+`px`,s.style.left=d+`px`}else{let r=t.right-i.right,a=window.innerWidth-n.right-r,o=window.innerWidth-e.right-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-Y,d=R(a,[Y,Math.max(Y,u-l)]);s.style.minWidth=c+`px`,s.style.right=d+`px`}let o=p(),c=window.innerHeight-Y*2,l=g.scrollHeight,d=window.getComputedStyle(u),f=parseInt(d.borderTopWidth,10),h=parseInt(d.paddingTop,10),y=parseInt(d.borderBottomWidth,10),b=parseInt(d.paddingBottom,10),x=f+h+l+b+y,S=Math.min(_.offsetHeight*5,x),C=window.getComputedStyle(g),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-Y,D=c-E,O=_.offsetHeight/2,k=_.offsetTop+O,A=f+h+k,j=x-A;if(A<=E){let e=o.length>0&&_===o[o.length-1].ref.current;s.style.bottom=`0px`;let t=u.clientHeight-g.offsetTop-g.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+y);s.style.height=n+`px`}else{let e=o.length>0&&_===o[0].ref.current;s.style.top=`0px`;let t=Math.max(E,f+g.offsetTop+(e?w:0)+O)+j;s.style.height=t+`px`,g.scrollTop=A-E+g.offsetTop}s.style.margin=`${Y}px 0`,s.style.minHeight=S+`px`,s.style.maxHeight=c+`px`,r?.(),requestAnimationFrame(()=>m.current=!0)}},[p,a.trigger,a.valueNode,s,u,g,_,v,a.dir,r]);D(()=>b(),[b]);let[x,S]=F.useState();return D(()=>{u&&S(window.getComputedStyle(u).zIndex)},[u]),(0,L.jsx)(ke,{scope:n,contentWrapper:s,shouldExpandOnScrollRef:m,onScrollButtonChange:F.useCallback(e=>{e&&h.current===!0&&(b(),y?.(),h.current=!1)},[b,y]),children:(0,L.jsx)(`div`,{ref:l,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:x},children:(0,L.jsx)(E.div,{...i,ref:f,style:{boxSizing:`border-box`,maxHeight:`100%`,...i.style}})})})});Ee.displayName=Te;var De=`SelectPopperPosition`,Oe=F.forwardRef((e,t)=>{let{__scopeSelect:n,align:r=`start`,collisionPadding:i=Y,...a}=e,o=G(n);return(0,L.jsx)(_,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})});Oe.displayName=De;var[ke,Ae]=W(J,{}),je=`SelectViewport`,Me=F.forwardRef((e,t)=>{let{__scopeSelect:n,nonce:r,...i}=e,a=X(je,n),o=Ae(je,n),s=c(t,a.onViewportChange),l=F.useRef(0);return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:r}),(0,L.jsx)(H.Slot,{scope:n,children:(0,L.jsx)(E.div,{"data-radix-select-viewport":``,role:`presentation`,...i,ref:s,style:{position:`relative`,flex:1,overflow:`hidden auto`,...i.style},onScroll:S(i.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=o;if(r?.current&&n){let e=Math.abs(l.current-t.scrollTop);if(e>0){let r=window.innerHeight-Y*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}l.current=t.scrollTop})})})]})});Me.displayName=je;var Ne=`SelectGroup`,[Pe,Fe]=W(Ne),Ie=F.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=x();return(0,L.jsx)(Pe,{scope:n,id:i,children:(0,L.jsx)(E.div,{role:`group`,"aria-labelledby":i,...r,ref:t})})});Ie.displayName=Ne;var Le=`SelectLabel`,Re=F.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=Fe(Le,n);return(0,L.jsx)(E.div,{id:i.id,...r,ref:t})});Re.displayName=Le;var Z=`SelectItem`,[ze,Be]=W(Z),Ve=F.forwardRef((e,t)=>{let{__scopeSelect:n,value:r,disabled:i=!1,textValue:a,...o}=e,s=K(Z,n),l=X(Z,n),u=s.value===r,[d,f]=F.useState(a??``),[p,m]=F.useState(!1),h=c(t,T(e=>l.itemRefCallback?.(e,r,i))),g=x(),_=F.useRef(`touch`),v=()=>{i||(s.onValueChange(r),s.onOpenChange(!1))};return(0,L.jsx)(ze,{scope:n,value:r,disabled:i,textId:g,isSelected:u,onItemTextChange:F.useCallback(e=>{f(t=>t||(e?.textContent??``).trim())},[]),children:(0,L.jsx)(H.ItemSlot,{scope:n,value:r,disabled:i,textValue:d,children:(0,L.jsx)(E.div,{role:`option`,"aria-labelledby":g,"data-highlighted":p?``:void 0,"aria-selected":u&&p,"data-state":u?`checked`:`unchecked`,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,tabIndex:i?void 0:-1,...o,ref:h,onFocus:S(o.onFocus,()=>m(!0)),onBlur:S(o.onBlur,()=>m(!1)),onClick:S(o.onClick,()=>{_.current!==`mouse`&&v()}),onPointerUp:S(o.onPointerUp,()=>{_.current===`mouse`&&v()}),onPointerDown:S(o.onPointerDown,e=>{_.current=e.pointerType}),onPointerMove:S(o.onPointerMove,e=>{_.current=e.pointerType,i?l.onItemLeave?.():_.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:S(o.onPointerLeave,e=>{e.currentTarget===document.activeElement&&l.onItemLeave?.()}),onKeyDown:S(o.onKeyDown,e=>{l.searchRef?.current!==``&&e.key===` `||(B.includes(e.key)&&v(),e.key===` `&&e.preventDefault())})})})})});Ve.displayName=Z;var Q=`SelectItemText`,He=F.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,...a}=e,o=K(Q,n),s=X(Q,n),l=Be(Q,n),u=ae(Q,n),[d,f]=F.useState(null),p=T(e=>s.itemTextRefCallback?.(e,l.value,l.disabled)),m=c(t,f,l.onItemTextChange,p),h=d?.textContent,g=F.useMemo(()=>(0,L.jsx)(`option`,{value:l.value,disabled:l.disabled,children:h},l.value),[l.disabled,l.value,h]),{onNativeOptionAdd:_,onNativeOptionRemove:v}=u;return D(()=>(_(g),()=>v(g)),[_,v,g]),(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(E.span,{id:l.textId,...a,ref:m}),l.isSelected&&o.valueNode&&!o.valueNodeHasChildren&&!$(o.value)?I.createPortal(a.children,o.valueNode):null]})});He.displayName=Q;var Ue=`SelectItemIndicator`,We=F.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return Be(Ue,n).isSelected?(0,L.jsx)(E.span,{"aria-hidden":!0,...r,ref:t}):null});We.displayName=Ue;var Ge=`SelectScrollUpButton`,Ke=F.forwardRef((e,t)=>{let n=X(Ge,e.__scopeSelect),r=Ae(Ge,e.__scopeSelect),[i,a]=F.useState(!1),o=c(t,r.onScrollButtonChange);return D(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollTop>0;a(e)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,L.jsx)(Ye,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null});Ke.displayName=Ge;var qe=`SelectScrollDownButton`,Je=F.forwardRef((e,t)=>{let n=X(qe,e.__scopeSelect),r=Ae(qe,e.__scopeSelect),[i,a]=F.useState(!1),o=c(t,r.onScrollButtonChange);return D(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight,n=Math.ceil(t.scrollTop)<e;a(n)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,L.jsx)(Ye,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null});Je.displayName=qe;var Ye=F.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...i}=e,a=X(`SelectScrollButton`,n),o=F.useRef(null),s=U(n),c=F.useCallback(()=>{o.current!==null&&(window.clearInterval(o.current),o.current=null)},[]);return F.useEffect(()=>()=>c(),[c]),D(()=>{s().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[s]),(0,L.jsx)(E.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:S(i.onPointerDown,()=>{o.current===null&&(o.current=window.setInterval(r,50))}),onPointerMove:S(i.onPointerMove,()=>{a.onItemLeave?.(),o.current===null&&(o.current=window.setInterval(r,50))}),onPointerLeave:S(i.onPointerLeave,()=>{c()})})}),Xe=`SelectSeparator`,Ze=F.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,L.jsx)(E.div,{"aria-hidden":!0,...r,ref:t})});Ze.displayName=Xe;var Qe=`SelectArrow`,$e=F.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=G(n);return X(Qe,n).position===`popper`?(0,L.jsx)(v,{...i,...r,ref:t}):null});$e.displayName=Qe;var et=`SelectBubbleInput`,tt=F.forwardRef(({__scopeSelect:e,...t},n)=>{let r=K(et,e),{value:i,onValueChange:a,required:o,disabled:s,name:l,autoComplete:u,form:f}=r,{nativeOptions:p,nativeSelectKey:m}=r,h=F.useRef(null),g=c(n,h),_=i??``,v=M(_),y=Array.from(p).some(e=>(e.props.value??``)===``);return F.useEffect(()=>{let e=h.current;if(!e)return;let t=window.HTMLSelectElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(v!==_&&n){let t=new Event(`change`,{bubbles:!0});n.call(e,_),e.dispatchEvent(t)}},[v,_]),(0,L.jsxs)(E.select,{"aria-hidden":!0,required:o,tabIndex:-1,name:l,autoComplete:u,disabled:s,form:f,onChange:e=>a(e.target.value),...t,style:{...d,...t.style},ref:g,defaultValue:_,children:[$(i)&&!y?(0,L.jsx)(`option`,{value:``}):null,Array.from(p)]},m)});tt.displayName=et;function nt(e){return typeof e==`function`}function $(e){return e===``||e===void 0}function rt(e){let t=T(e),n=F.useRef(``),r=F.useRef(0),i=F.useCallback(e=>{let i=n.current+e;t(i),(function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))})(i)},[t]),a=F.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return F.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}function it(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=at(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function at(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var ot=ce,st=Ie,ct=fe,lt=F.forwardRef(({className:e,children:t,...n},r)=>(0,L.jsxs)(ue,{ref:r,className:l(P(`self`),N.disabledFieldSelf,`flex h-(--control-height) w-full items-center justify-between px-3 py-2 text-control whitespace-nowrap hover:bg-button-hover data-[placeholder]:text-muted-foreground [&>span]:line-clamp-1`,e),...n,children:[t,(0,L.jsx)(me,{asChild:!0,children:(0,L.jsx)(j,{className:`-mr-0.5 ml-1 size-4 opacity-50`})})]}));lt.displayName=ue.displayName;var ut=F.forwardRef(({className:e,...t},n)=>(0,L.jsx)(Ke,{ref:n,className:l(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,L.jsx)(k,{className:`size-4`})}));ut.displayName=Ke.displayName;var dt=F.forwardRef(({className:e,...t},n)=>(0,L.jsx)(Je,{ref:n,className:l(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,L.jsx)(j,{className:`size-4`})}));dt.displayName=Je.displayName;var ft=F.forwardRef(({className:e,children:t,onEscapeKeyDown:n,position:r=`popper`,...i},a)=>(0,L.jsx)(ve,{children:(0,L.jsx)(`div`,{className:y,children:(0,L.jsxs)(ye,{ref:a,className:l(`relative z-[9999] max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border border-border/60 bg-surface-elevated-2 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 dark:border-border/30`,r===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:r,onEscapeKeyDown:e=>O(e,n),...i,children:[(0,L.jsx)(ut,{}),(0,L.jsx)(Me,{className:l(`p-1`,r===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]`),children:t}),(0,L.jsx)(dt,{})]})})}));ft.displayName=ye.displayName;var pt=F.forwardRef(({className:e,...t},n)=>(0,L.jsx)(Re,{ref:n,className:l(`px-2 py-1.5 text-control font-semibold`,e),...t}));pt.displayName=Re.displayName;var mt=F.forwardRef(({className:e,children:t,...n},r)=>(0,L.jsxs)(Ve,{ref:r,className:l(`relative flex w-full cursor-default items-center rounded-xs py-1.5 pr-8 pl-2 text-control outline-hidden select-none focus:bg-interactive-hover focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,L.jsx)(`span`,{className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,L.jsx)(We,{children:(0,L.jsx)(A,{className:`size-4`})})}),(0,L.jsx)(He,{children:t})]}));mt.displayName=Ve.displayName;var ht=F.forwardRef(({className:e,...t},n)=>(0,L.jsx)(Ze,{ref:n,className:l(`-mx-1 my-1 h-px bg-muted`,e),...t}));ht.displayName=Ze.displayName;export{pt as a,R as c,mt as i,ft as n,lt as o,st as r,ct as s,ot as t};
|