ghost 6.54.1 → 6.56.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.0.tgz +0 -0
- package/components/tryghost-custom-field-types-0.0.0.tgz +0 -0
- package/components/tryghost-kg-default-nodes-2.1.4.tgz +0 -0
- package/components/tryghost-kg-default-transforms-1.3.3.tgz +0 -0
- package/components/tryghost-kg-html-to-lexical-1.3.3.tgz +0 -0
- package/components/tryghost-kg-lexical-html-renderer-1.4.3.tgz +0 -0
- package/components/tryghost-nql-string-0.0.0.tgz +0 -0
- package/core/boot.js +3 -6
- package/core/built/admin/assets/{Combination-CJG7Flp-.js → Combination-BCm9FL4o.js} +1 -1
- package/core/built/admin/assets/{PolarAngleAxis-BGjf7sBu.js → PolarAngleAxis-C4qtHy1B.js} +1 -1
- package/core/built/admin/assets/{RadialBarChart-zeFf9mBz.js → RadialBarChart-Bh09Stsj.js} +1 -1
- package/core/built/admin/assets/{account-migration-BklF2I_I.js → account-migration-D3O_yVck.js} +1 -1
- package/core/built/admin/assets/activitypub/{account-migration-CNovr6W-.js → account-migration-D8FbP-Z-.js} +7 -7
- package/core/built/admin/assets/activitypub/activitypub.js +6 -6
- package/core/built/admin/assets/activitypub/{avatar-B3DEDB1l.js → avatar-11EA1VSs.js} +2 -2
- package/core/built/admin/assets/activitypub/{avatar-flipboard-Cqrg0XMx.js → avatar-flipboard-jfbLG-xe.js} +2 -2
- package/core/built/admin/assets/activitypub/{bluesky-sharing-Ceslb1_M.js → bluesky-sharing-f1jTQe2P.js} +16 -16
- package/core/built/admin/assets/activitypub/{content-formatters-BpQARh28.js → content-formatters-nmTOPY9M.js} +3 -3
- package/core/built/admin/assets/activitypub/{copy-D9UWIAan.js → copy-BCwo9ep3.js} +2 -2
- package/core/built/admin/assets/activitypub/{dist-DHAjBcV3.js → dist-BEfX-0aW.js} +12 -12
- package/core/built/admin/assets/activitypub/{domain-C1qQvJ8C.js → domain-AaDlZlrA.js} +9 -9
- package/core/built/admin/assets/activitypub/{edit-profile-BcH-jEfM.js → edit-profile-DPi8Tl5M.js} +945 -945
- package/core/built/admin/assets/activitypub/{explore-AxwBh9dI.js → explore-CxTzjILQ.js} +8 -8
- package/core/built/admin/assets/activitypub/{feed-BaOlbh7a.js → feed-DPv5x2MX.js} +33 -33
- package/core/built/admin/assets/activitypub/{field-B7mYYQpN.js → field-DbgA8lat.js} +3 -3
- package/core/built/admin/assets/activitypub/{hash-BC9Q0N4c.js → hash-BWuZoYkA.js} +2 -2
- package/core/built/admin/assets/activitypub/{inbox-DQ4ZnC1m.js → inbox-35VDQ2K2.js} +2 -2
- package/core/built/admin/assets/activitypub/{inbox-vXez-5uJ.js → inbox-DSrF_i1O.js} +85 -85
- package/core/built/admin/assets/activitypub/{label-Chv5T8bw.js → label-CPjFBbo7.js} +3 -3
- package/core/built/admin/assets/activitypub/layout-CTgrezN7.js +1 -0
- package/core/built/admin/assets/activitypub/{moderation-DtSM2i1I.js → moderation-BkDC1XVZ.js} +11 -11
- package/core/built/admin/assets/activitypub/{note-Dckp4S-2.js → note-xEyH4xT-.js} +7 -7
- package/core/built/admin/assets/activitypub/{notifications-CG5T22vg.js → notifications-DClaL3ui.js} +9 -9
- package/core/built/admin/assets/activitypub/{preferences-D_799jdl.js → preferences-DpnOa-4Z.js} +20 -20
- package/core/built/admin/assets/activitypub/{profile-D2JfXBQl.js → profile-Dvi9mz-6.js} +237 -237
- package/core/built/admin/assets/activitypub/{reply-CpdMeAO5.js → reply-Cs9ySd6Z.js} +2 -2
- package/core/built/admin/assets/activitypub/{routes-CCHe2dQp.js → routes-DFBeTnfn.js} +1139 -1150
- package/core/built/admin/assets/activitypub/{separator-BI1FLsYM.js → separator-C5u_VjzY.js} +3 -3
- package/core/built/admin/assets/activitypub/{settings-kx-9Enkz.js → settings-CV2fFu6D.js} +13 -13
- package/core/built/admin/assets/activitypub/{site-x4_IjVJ0.js → site-_TgDd_EM.js} +81 -81
- package/core/built/admin/assets/activitypub/{step-1-DIDg4aHb.js → step-1-BfnNL2oF.js} +5 -5
- package/core/built/admin/assets/activitypub/{step-2-BfGe8BYt.js → step-2-DLndZkO-.js} +6 -6
- package/core/built/admin/assets/activitypub/{step-3-mE9spAqw.js → step-3-A-PZTtRE.js} +10 -10
- package/core/built/admin/assets/activitypub/{tabs-CyPRQQ1N.js → tabs-BUbz7tea.js} +321 -319
- package/core/built/admin/assets/activitypub/{topic-filter-DLHBZT93.js → topic-filter-BdX_xYYT.js} +3 -3
- package/core/built/admin/assets/activitypub/{use-activity-pub-queries-VzbN99u_.js → use-activity-pub-queries-EwuRemHh.js} +2 -2
- package/core/built/admin/assets/activitypub/{use-navigate-with-base-path-CAwXTmqH.js → use-navigate-with-base-path-cy4ACBc4.js} +92 -90
- package/core/built/admin/assets/activitypub/{use-reply-chain-data-BAB6fNGt.js → use-reply-chain-data-CyFcGfan.js} +5 -5
- package/core/built/admin/assets/activitypub/{x-C8tAnXly.js → x-7zk8mV2p.js} +2 -2
- package/core/built/admin/assets/audience-CkBb2LlO.js +1 -0
- package/core/built/admin/assets/{automated-emails-of1MvVsv.js → automated-emails-6t2bIRWf.js} +2 -2
- package/core/built/admin/assets/{automations-B7-y3dXt.js → automations-DhKeS_U5.js} +1 -1
- package/core/built/admin/assets/{automations-DRFjW5fw.js → automations-cMllU545.js} +1 -1
- package/core/built/admin/assets/{bluesky-sharing-BbbjWdzs.js → bluesky-sharing-DPGpyD-G.js} +1 -1
- package/core/built/admin/assets/{box-BWbhXh21.js → box-By_EgGtm.js} +1 -1
- package/core/built/admin/assets/{breadcrumb-B-M9Ip_2.js → breadcrumb-DIfcF5ow.js} +1 -1
- package/core/built/admin/assets/build-CsiH26uS.js +1 -0
- package/core/built/admin/assets/{card-DGoDJzrn.js → card-aUHX0hyR.js} +1 -1
- package/core/built/admin/assets/{chart-BuRT2Y6p.js → chart-BnXyfH11.js} +1 -1
- package/core/built/admin/assets/{chart-helpers-xiSsW8r0.js → chart-helpers-DV0FkdcD.js} +1 -1
- package/core/built/admin/assets/{checkbox-EhJKHFdZ.js → checkbox-BIl077a0.js} +1 -1
- package/core/built/admin/assets/{chunk.361.3cdb584b973959e52ccc.js → chunk.332.05991a101d67f732dec3.js} +16 -12
- package/core/built/admin/assets/chunk.524.87b52f4fada529df2c4c.js +25 -0
- package/core/built/admin/assets/chunk.582.340bcca873e806cbd4bb.js +27 -0
- package/core/built/admin/assets/{code-editor-view-CZtJFGhR.js → code-editor-view-C0aWNwdl.js} +1 -1
- package/core/built/admin/assets/comments-qwhIjH3c.js +1 -0
- package/core/built/admin/assets/{container-BYz2Ed39.js → container-LiZf3XdY.js} +1 -1
- package/core/built/admin/assets/{data-list-16rkJYYi.js → data-list-CupF7bjM.js} +1 -1
- package/core/built/admin/assets/{date-range-select-CTlyo8zW.js → date-range-select-dXc-GsVe.js} +1 -1
- package/core/built/admin/assets/{disabled-sources-indicator-qs2GfLvl.js → disabled-sources-indicator-DYAXW-6V.js} +1 -1
- package/core/built/admin/assets/dist-BUKmD51u.js +1 -0
- package/core/built/admin/assets/{dist-2Tnz2Yfq.js → dist-CNlMj7ML.js} +1 -1
- package/core/built/admin/assets/{dist-DGzPJ_bO.js → dist-Cb5RSHSg.js} +1 -1
- package/core/built/admin/assets/{dist-P_ohUlTi.js → dist-CqO2lWS0.js} +1 -1
- package/core/built/admin/assets/{domain-CPNXKVOV.js → domain-B5ogXUBa.js} +1 -1
- package/core/built/admin/assets/{dropzone-BmCXnw6J.js → dropzone-BnFG7dDP.js} +1 -1
- package/core/built/admin/assets/{edit-profile-SGrJve5M.js → edit-profile-B07jCZy9.js} +1 -1
- package/core/built/admin/assets/editor-DDYSOXGN.js +8 -0
- package/core/built/admin/assets/{empty-indicator-oX1u1Pkn.js → empty-indicator-WB1WgT9h.js} +1 -1
- package/core/built/admin/assets/{explore-CUYLv9G9.js → explore-Ca1y8HW_.js} +1 -1
- package/core/built/admin/assets/{feed-CPdJMttL.js → feed-x4iFMBP4.js} +1 -1
- package/core/built/admin/assets/field-ChCAabZg.js +1 -0
- package/core/built/admin/assets/filter-sources-LdtH1e-T.js +1 -0
- package/core/built/admin/assets/{filters-bXkkWro8.js → filters-CLehPo_D.js} +1 -1
- package/core/built/admin/assets/filters-CjVKRP8U.js +1 -0
- package/core/built/admin/assets/{ghost-05f9a7182ed56903dba05878a5b8422b.js → ghost-7f01131115186d1af84ead76e79646dd.js} +275 -255
- package/core/built/admin/assets/{ghost-3063eae29e6c9cc6d6e7131928a27da0.css → ghost-d38c30b866e59f2e06a357b5eb844fe5.css} +1 -1
- package/core/built/admin/assets/{ghost-dark-c8d0ab7f515b2010c173e23e9b32ea8a.css → ghost-dark-1bffd5099ba7a749303133efacf8480b.css} +1 -1
- package/core/built/admin/assets/gift-link-modal-Buqh2vXh.js +1 -0
- package/core/built/admin/assets/{gift-links-nBxJjZiQ.js → gift-links-CsUhefWG.js} +1 -1
- package/core/built/admin/assets/growth-DajOBdN0.js +1 -0
- package/core/built/admin/assets/growth-Dy2UOSay.js +3 -0
- package/core/built/admin/assets/{hooks-BApwwBE0.js → hooks-CixO01lL.js} +1 -1
- package/core/built/admin/assets/{inbox-Xx1CdnfO.js → inbox-BUOLDoji.js} +13 -13
- package/core/built/admin/assets/index-08n05-rc.js +67 -0
- package/core/built/admin/assets/index-DgUzgFvS.css +1 -0
- package/core/built/admin/assets/{inline-EMAm3okk.js → inline-Cw-gigDW.js} +1 -1
- package/core/built/admin/assets/input-group-uSK3XT7b.js +1 -0
- package/core/built/admin/assets/{input-surface-BpAjZXY5.js → input-surface-BdOe4KzO.js} +1 -1
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +9132 -9087
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +121 -121
- package/core/built/admin/assets/koenig-lexical/style.css +1 -1
- package/core/built/admin/assets/{koenig-lexical-B61IALf5.js → koenig-lexical-BFc4yFed.js} +82 -82
- package/core/built/admin/assets/{kpi-card-DCdlyaSS.js → kpi-card-BN-E6WYX.js} +1 -1
- package/core/built/admin/assets/{kpi-card-BlZaG1Lo.js → kpi-card-CCt-qeWD.js} +1 -1
- package/core/built/admin/assets/{kpi-helpers-DpAuS1Nb.js → kpi-helpers-DlxTbTs4.js} +1 -1
- package/core/built/admin/assets/{kpi-tabs-Dme44bQS.js → kpi-tabs-BlcUttpn.js} +1 -1
- package/core/built/admin/assets/{label-dSs5aepE.js → label-AVrxwmsz.js} +1 -1
- package/core/built/admin/assets/label-picker-DVnpu_IF.js +1 -0
- package/core/built/admin/assets/labels-DAIqKed7.js +1 -0
- package/core/built/admin/assets/layout-B0YLh7R9.js +1 -0
- package/core/built/admin/assets/link-helpers-D9LsDOkG.js +1 -0
- package/core/built/admin/assets/{list-page-B6ANtzkd.js → list-page-CdsnQR9N.js} +1 -1
- package/core/built/admin/assets/member-custom-fields-C8NpZYza.js +1 -0
- package/core/built/admin/assets/member-detail-CIVAdKXf.js +1 -0
- package/core/built/admin/assets/members-oLPiSkXD.js +10 -0
- package/core/built/admin/assets/modals-CB7v-k3T.js +31 -0
- package/core/built/admin/assets/moderation-CQ3urTFE.js +1 -0
- package/core/built/admin/assets/newsletter-rbeDX9Wk.js +1 -0
- package/core/built/admin/assets/{newsletters-D1jbtV-h.js → newsletters-BXJbJgA-.js} +1 -1
- package/core/built/admin/assets/newsletters-vt3Ni1Ov.js +1 -0
- package/core/built/admin/assets/note-Dk877BTv.js +1 -0
- package/core/built/admin/assets/notifications-CPlLjPxO.js +1 -0
- package/core/built/admin/assets/{offers-CrY6nSRR.js → offers-DEniVRD5.js} +1 -1
- package/core/built/admin/assets/onboarding-route-DdStOtjy.js +1 -0
- package/core/built/admin/assets/overview--4V-kx9c.js +1 -0
- package/core/built/admin/assets/overview-DSLv30oz.js +1 -0
- package/core/built/admin/assets/{page-header-op0eN36I.js → page-header-pp4dWmOS.js} +1 -1
- package/core/built/admin/assets/{pages-BbNWFcGj.js → pages-B4goRPUn.js} +1 -1
- package/core/built/admin/assets/{post-analytics-WwRDEnrV.js → post-analytics-BMJrI81R.js} +1 -1
- package/core/built/admin/assets/post-analytics-header-pU2m9ZuV.js +1 -0
- package/core/built/admin/assets/post-analytics-provider-Btml5vJI.js +1 -0
- package/core/built/admin/assets/{post-share-modal-Dx-MEjhI.js → post-share-modal-AcUZkbfL.js} +1 -1
- package/core/built/admin/assets/{posts-EWpZIjkr.js → posts-DhXE7b6r.js} +1 -1
- package/core/built/admin/assets/preferences-Ru4CRPHC.js +5 -0
- package/core/built/admin/assets/profile-BNb1oj7D.js +1 -0
- package/core/built/admin/assets/{referrers-BCfFYSHc.js → referrers-pmJT4k3-.js} +1 -1
- package/core/built/admin/assets/{router-provider-C1R4AZ2o.js → router-provider-BmEZf6c6.js} +1 -1
- package/core/built/admin/assets/select-B0HteHrp.js +1 -0
- package/core/built/admin/assets/settings-B1C9Q3wo.js +4 -0
- package/core/built/admin/assets/{settings-H6HxFgfI.js → settings-BGgk7oCI.js} +1 -1
- package/core/built/admin/assets/{shade-app-B3heOAfz-CGXQwWeO.js → shade-app-B3heOAfz-BhQXxNkT.js} +1 -1
- package/core/built/admin/assets/{share-modal-BJCadJyp.js → share-modal-BeuydaBf.js} +1 -1
- package/core/built/admin/assets/social-urls-DA2lXrhW.js +8 -0
- package/core/built/admin/assets/{sort-button-DyYlfYp7.js → sort-button-Df4t2AL8.js} +1 -1
- package/core/built/admin/assets/{source-icon-_ubRDbg_.js → source-icon-ajoaKb41.js} +1 -1
- package/core/built/admin/assets/{stack-xiN0eQ6Z.js → stack-CIfOAAVf.js} +1 -1
- package/core/built/admin/assets/{stats-BQZMGMvn.js → stats-C_lfxZAw.js} +1 -1
- package/core/built/admin/assets/{stats-view-Doei-qCX.js → stats-view-Cxot1iD8.js} +1 -1
- package/core/built/admin/assets/{step-1-IKiLBPoC.js → step-1-ogAA4lDr.js} +1 -1
- package/core/built/admin/assets/{step-2-jJ41PsDN.js → step-2-C5Xini-7.js} +1 -1
- package/core/built/admin/assets/{step-3-CaqFAEqf.js → step-3-CZv1FV81.js} +2 -2
- package/core/built/admin/assets/{switch-t-WyENU2.js → switch-CyQcwMAv.js} +1 -1
- package/core/built/admin/assets/{table-DxUL78jU.js → table-DFj1wiYv.js} +1 -1
- package/core/built/admin/assets/tabs-D4y1gqUd.js +1 -0
- package/core/built/admin/assets/{tags-CNujGwkT.js → tags-Dmft-Y4O.js} +1 -1
- package/core/built/admin/assets/{text-DwtjwGkh.js → text-DU9Hv33_.js} +1 -1
- package/core/built/admin/assets/textarea-d9qEkMOP.js +1 -0
- package/core/built/admin/assets/{tiers-BgYLWRJv.js → tiers-DYsa4DCo.js} +1 -1
- package/core/built/admin/assets/{toggle-group-BeEpQ69p.js → toggle-group-R2QMFvXW.js} +1 -1
- package/core/built/admin/assets/{topic-filter-Bb5MOD-1.js → topic-filter-DGDxDalo.js} +1 -1
- package/core/built/admin/assets/{use-analytics-data-Cds6XDjg.js → use-analytics-data-C76v4LIp.js} +1 -1
- package/core/built/admin/assets/use-filter-params-WrdhAISv.js +1 -0
- package/core/built/admin/assets/{use-growth-stats-D8uf98-G.js → use-growth-stats-aNXJOmQr.js} +1 -1
- package/core/built/admin/assets/{use-post-referrers-CRtgyuXB.js → use-post-referrers-CG0SZioj.js} +1 -1
- package/core/built/admin/assets/{use-reply-chain-data-DbKYX50v.js → use-reply-chain-data-RLdPKRmS.js} +1 -1
- package/core/built/admin/assets/{use-simple-pagination-DC01kpo0.js → use-simple-pagination-DgcF69KI.js} +1 -1
- package/core/built/admin/assets/{use-tinybird-query-C7bQRJWw.js → use-tinybird-query-C1R_Kbmy.js} +1 -1
- package/core/built/admin/assets/{use-tinybird-token-Az4tam7_.js → use-tinybird-token-C9fPjVM_.js} +1 -1
- package/core/built/admin/assets/{users-CcSCQFcQ.js → users-Dkv8NQZe.js} +1 -1
- package/core/built/admin/assets/{virtual-list-Dhuh9fGx.js → virtual-list-BmTUzeoF.js} +1 -1
- package/core/built/admin/assets/web-BqW0b0_C.js +1 -0
- package/core/built/admin/assets/web-Cy5GKMWM.js +2 -0
- package/core/built/admin/index.html +18 -18
- package/core/frontend/services/data/fetch-data.js +10 -5
- package/core/frontend/services/proxy.js +7 -8
- package/core/frontend/services/routing/api-adapter.js +115 -0
- package/core/frontend/services/routing/api-adapter.ts +157 -0
- package/core/frontend/services/routing/collection-router.js +5 -3
- package/core/frontend/services/routing/controllers/index.js +1 -1
- package/core/frontend/services/routing/controllers/rss.js +26 -31
- package/core/frontend/services/routing/controllers/rss.ts +66 -0
- package/core/frontend/services/routing/controllers/static.js +8 -7
- package/core/frontend/services/routing/parent-router.js +17 -4
- package/core/frontend/services/routing/permalink-adapter.js +26 -0
- package/core/frontend/services/routing/permalink-adapter.ts +23 -0
- package/core/frontend/services/routing/registry.js +59 -33
- package/core/frontend/services/routing/router-manager.js +14 -18
- package/core/frontend/services/routing/static-routes-router.js +11 -13
- package/core/frontend/services/routing/taxonomy-router.js +6 -2
- package/core/server/api/endpoints/automation-action-links.js +68 -0
- package/core/server/api/endpoints/automation-action-links.ts +46 -0
- package/core/server/api/endpoints/index.js +4 -0
- package/core/server/api/endpoints/settings.js +0 -2
- package/core/server/api/endpoints/utils/serializers/output/utils/url.js +11 -1
- package/core/server/data/migrations/versions/6.55/2026-07-27-11-25-44-add-to-hash-to-redirects.js +51 -0
- package/core/server/data/migrations/versions/6.55/2026-07-28-12-08-00-remove-routes-hash-from-settings.js +5 -0
- package/core/server/data/migrations/versions/6.56/2026-08-03-19-27-51-add-automation-run-step-id-to-automated-email-recipients.js +8 -0
- package/core/server/data/migrations/versions/6.56/2026-08-04-14-42-39-restrict-notification-add-permission-to-administrators.js +12 -0
- package/core/server/data/schema/commands.js +5 -0
- package/core/server/data/schema/default-settings/default-settings.json +0 -4
- package/core/server/data/schema/fixtures/fixtures.json +2 -2
- package/core/server/data/schema/schema.js +6 -1
- package/core/server/models/post.js +10 -1
- package/core/server/services/automations/automations-api.js +15 -0
- package/core/server/services/automations/automations-api.ts +19 -0
- package/core/server/services/automations/automations-repository.ts +20 -0
- package/core/server/services/automations/database-automations-repository.js +132 -30
- package/core/server/services/automations/database-automations-repository.ts +141 -12
- package/core/server/services/automations/database-date.js +10 -0
- package/core/server/services/automations/database-date.ts +5 -0
- package/core/server/services/automations/get-scheduler-idempotency-key.js +13 -0
- package/core/server/services/automations/get-scheduler-idempotency-key.ts +8 -0
- package/core/server/services/automations/poll.js +7 -2
- package/core/server/services/automations/poll.ts +10 -2
- package/core/server/services/automations/scheduler-poll-time.js +40 -0
- package/core/server/services/automations/scheduler-poll-time.ts +38 -0
- package/core/server/services/automations/service.js +19 -3
- package/core/server/services/automations/service.ts +20 -3
- package/core/server/services/comments/comments-service-emails.js +10 -7
- package/core/server/services/comments/comments-service.js +9 -4
- package/core/server/services/email-rendering/partials/email-wrapper.hbs +3 -1
- package/core/server/services/email-service/email-service-wrapper.js +6 -1
- package/core/server/services/email-service/email-templates/partials/styles.hbs +8 -0
- package/core/server/services/email-service/newsletter-email-event-storage.js +41 -10
- package/core/server/services/gift-links/CONTEXT.md +9 -0
- package/core/server/services/gifts/CONTEXT.md +55 -0
- package/core/server/services/gifts/README.md +28 -0
- package/core/server/services/gifts/gift-bookshelf-repository.js +65 -45
- package/core/server/services/gifts/gift-bookshelf-repository.ts +203 -74
- package/core/server/services/gifts/gift-checkout-adapter.js +59 -0
- package/core/server/services/gifts/gift-checkout-offer.js +74 -0
- package/core/server/services/gifts/gift-checkout-offer.ts +127 -0
- package/core/server/services/gifts/gift-codec.js +63 -0
- package/core/server/services/gifts/gift-codec.ts +62 -0
- package/core/server/services/gifts/gift-controller.js +6 -31
- package/core/server/services/gifts/gift-controller.ts +6 -69
- package/core/server/services/gifts/gift-email-service.ts +3 -2
- package/core/server/services/gifts/gift-schema.js +34 -0
- package/core/server/services/gifts/gift-schema.ts +39 -0
- package/core/server/services/gifts/gift-service-wrapper.js +13 -11
- package/core/server/services/gifts/gift-service.js +265 -52
- package/core/server/services/gifts/gift-service.ts +431 -97
- package/core/server/services/gifts/gift.ts +16 -39
- package/core/server/services/lib/dynamic-redirect-manager.js +12 -3
- package/core/server/services/link-redirection/link-redirect-repository.js +41 -4
- package/core/server/services/link-redirection/link-redirect.js +2 -0
- package/core/server/services/link-redirection/link-redirect.ts +3 -1
- package/core/server/services/link-redirection/link-redirects-service.js +38 -2
- package/core/server/services/link-tracking/click-event.js +3 -0
- package/core/server/services/link-tracking/index.js +38 -6
- package/core/server/services/link-tracking/link-click-repository.js +35 -9
- package/core/server/services/link-tracking/link-click-tracking-service.js +54 -4
- package/core/server/services/member-attribution/outbound-link-tagger.js +3 -1
- package/core/server/services/member-welcome-emails/member-welcome-email-renderer.js +20 -4
- package/core/server/services/member-welcome-emails/service.js +15 -3
- package/core/server/services/members/api.js +1 -2
- package/core/server/services/members/import-export/csv/formula.js +16 -0
- package/core/server/services/members/import-export/csv/formula.ts +14 -0
- package/core/server/services/members/import-export/csv/index.js +3 -1
- package/core/server/services/members/import-export/csv/index.ts +1 -0
- package/core/server/services/members/import-export/import/completion-email.js +22 -3
- package/core/server/services/members/import-export/import/completion-email.ts +29 -7
- package/core/server/services/members/import-export/import/importer.js +25 -4
- package/core/server/services/members/import-export/import/importer.ts +44 -5
- package/core/server/services/members/import-export/index.js +18 -1
- package/core/server/services/members/import-export/index.ts +32 -3
- package/core/server/services/members/members-api/controllers/router-controller.js +38 -36
- package/core/server/services/members/members-api/members-api.js +13 -7
- package/core/server/services/members/members-api/repositories/event-repository.js +4 -94
- package/core/server/services/members/members-api/services/member-bread-service.js +3 -3
- package/core/server/services/members/members-api/services/payments-service.js +6 -68
- package/core/server/services/members/service.js +8 -1
- package/core/server/services/members-custom-fields/schema.js +8 -1
- package/core/server/services/members-custom-fields/schema.ts +8 -0
- package/core/server/services/members-custom-fields/values-service.js +136 -8
- package/core/server/services/members-custom-fields/values-service.ts +152 -10
- package/core/server/services/mentions/service.js +5 -1
- package/core/server/services/oembed/oembed-service.js +44 -3
- package/core/server/services/posts/posts-service.js +11 -0
- package/core/server/services/route-settings/dynamic-routing-service.js +21 -52
- package/core/server/services/route-settings/index.js +1 -16
- package/core/server/services/route-settings/route-settings-parser.js +25 -25
- package/core/server/services/route-settings/route-settings-parser.ts +27 -27
- package/core/server/services/route-settings/validation-errors.js +68 -4
- package/core/server/services/route-settings/validation-errors.ts +79 -4
- package/core/server/services/settings/settings-service.js +0 -18
- package/core/server/services/stats/posts-stats-service.js +27 -23
- package/core/server/services/stripe/services/webhook/charge-refunded-event-service.js +1 -1
- package/core/server/services/stripe/services/webhook/checkout-session-event-service.js +16 -4
- package/core/server/services/stripe/stripe-api.js +10 -0
- package/core/server/services/url/url-service-facade.js +1 -1
- package/core/server/services/url/url-service-facade.ts +8 -1
- package/core/server/web/api/endpoints/admin/routes.js +1 -0
- package/core/server/web/gift-preview/controller.js +10 -25
- package/core/shared/labs.js +2 -2
- package/package.json +8 -7
- package/pnpm-lock.yaml +28 -18
- package/pnpm-workspace.yaml +6 -4
- package/components/tryghost-kg-default-nodes-2.1.3.tgz +0 -0
- package/core/built/admin/assets/Growth-BTP1LthE.js +0 -3
- package/core/built/admin/assets/Newsletters-CSEX0myc.js +0 -1
- package/core/built/admin/assets/Overview-BjACEsJF.js +0 -1
- package/core/built/admin/assets/Web-CxxxjCcv.js +0 -2
- package/core/built/admin/assets/activitypub/layout-CziktJXo.js +0 -1
- package/core/built/admin/assets/audience-X_XsZivI.js +0 -1
- package/core/built/admin/assets/chunk.524.8365cd9280405c0f6216.js +0 -25
- package/core/built/admin/assets/chunk.582.61d078937e6102769f2c.js +0 -27
- package/core/built/admin/assets/comments-CvyXxOyN.js +0 -1
- package/core/built/admin/assets/constants-c-JNF9c2.js +0 -1
- package/core/built/admin/assets/dist-CjY-f5Z1.js +0 -1
- package/core/built/admin/assets/editor-BOG2YPUm.js +0 -8
- package/core/built/admin/assets/field-D0XISCK2.js +0 -1
- package/core/built/admin/assets/filter-sources-Bieps75g.js +0 -1
- package/core/built/admin/assets/filters-CuB-A7ma.js +0 -1
- package/core/built/admin/assets/gift-link-modal-su8MsRdg.js +0 -1
- package/core/built/admin/assets/growth-Ba6S5FQX.js +0 -1
- package/core/built/admin/assets/index-D8PbzuT9.css +0 -1
- package/core/built/admin/assets/index-ukW_0Uie.js +0 -67
- package/core/built/admin/assets/input-group-CGOXcy4l.js +0 -1
- package/core/built/admin/assets/label-picker-Uq91atex.js +0 -1
- package/core/built/admin/assets/labels-Cyayfd-e.js +0 -1
- package/core/built/admin/assets/layout-WUcz6tu1.js +0 -1
- package/core/built/admin/assets/link-helpers-tOlxmuH5.js +0 -1
- package/core/built/admin/assets/member-custom-fields-NCzrMuba.js +0 -1
- package/core/built/admin/assets/member-detail-DPWDtYnN.js +0 -1
- package/core/built/admin/assets/members-B9rO7qr4.js +0 -10
- package/core/built/admin/assets/modals-CxRaan1J.js +0 -31
- package/core/built/admin/assets/moderation-D8zon60E.js +0 -1
- package/core/built/admin/assets/multi-select-combobox-1wYm3nle.js +0 -1
- package/core/built/admin/assets/newsletter-DbYMRxRS.js +0 -1
- package/core/built/admin/assets/note-PiWPnnrh.js +0 -1
- package/core/built/admin/assets/notifications-DEgqqB9G.js +0 -1
- package/core/built/admin/assets/nql-BsgFMd93.js +0 -1
- package/core/built/admin/assets/onboarding-route-BzF6HeVn.js +0 -1
- package/core/built/admin/assets/overview-DixLeIqY.js +0 -1
- package/core/built/admin/assets/post-analytics-header-DsMoLx0R.js +0 -1
- package/core/built/admin/assets/post-analytics-provider-BJCPLMIb.js +0 -1
- package/core/built/admin/assets/preferences-D7-j6A4C.js +0 -5
- package/core/built/admin/assets/profile-Dl69QPp0.js +0 -1
- package/core/built/admin/assets/select-C1qDZnW4.js +0 -1
- package/core/built/admin/assets/settings-BbmC_Iqq.js +0 -4
- package/core/built/admin/assets/social-urls-BPL1nADp.js +0 -8
- package/core/built/admin/assets/tabs-BQcJQ1ke.js +0 -1
- package/core/built/admin/assets/textarea-Bjccvh_E.js +0 -1
- package/core/built/admin/assets/use-filter-params-DjXkhO54.js +0 -1
- package/core/built/admin/assets/web-LtHNiNBV.js +0 -1
- package/core/server/services/gifts/gift-repository.js +0 -2
- package/core/server/services/gifts/gift-repository.ts +0 -29
- package/core/server/services/route-settings/activation-bridge.js +0 -164
- package/core/server/services/route-settings/activation-bridge.ts +0 -210
- package/core/server/services/route-settings/default-settings-manager.js +0 -63
- package/core/server/services/route-settings/route-settings.js +0 -170
- package/core/server/services/route-settings/settings-loader.js +0 -60
- package/core/server/services/route-settings/settings-path-manager.js +0 -47
- package/core/server/services/route-settings/validate.js +0 -440
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "./routes-CCHe2dQp.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,i as t,r as n}from"./index-ukW_0Uie.js";var r=t=>!t||t.length===0?n:e.filter(e=>t.includes(e.value)).reduce((e,t)=>e|t.bit,0)||n,i=n=>{let r=[];return(n&t.PUBLIC)!==0&&r.push(e[0].value),(n&t.FREE)!==0&&r.push(e[1].value),(n&t.PAID)!==0&&r.push(e[2].value),r.join(`,`)};export{i as n,r as t};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
var __ember_auto_import__;(()=>{var e,r={32186(e){"use strict"
|
|
2
|
-
e.exports=require("@ember/test-waiters")},80032(e){"use strict"
|
|
3
|
-
e.exports=require("ember-tracked-storage-polyfill")},3673(e,r,n){e.exports=function(){var e=_eai_d,r=_eai_r
|
|
4
|
-
function t(e){return e&&e.__esModule?e:Object.assign({default:e},e)}window.emberAutoImportDynamic=function(e){return 1===arguments.length?r("_eai_dyn_"+e):r("_eai_dynt_"+e)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(e){return r("_eai_sync_"+e)(Array.prototype.slice.call(arguments,1))},e("@sentry/browser",[],function(){return t(n(99878))}),e("@sentry/core",[],function(){return t(n(4156))}),e("@sentry/integrations",[],function(){return t(n(53451))}),e("@sentry/replay",[],function(){return t(n(90478))}),e("@sentry/utils",[],function(){return t(n(76333))}),e("@tryghost/admin-x-framework/hooks",[],function(){return t(n(88950))}),e("@tryghost/color-utils",[],function(){return t(n(6715))}),e("@tryghost/kg-clean-basic-html",[],function(){return t(n(91075))}),e("@tryghost/kg-converters",[],function(){return t(n(26942))}),e("@tryghost/limit-service",[],function(){return t(n(43031))}),e("@tryghost/nql",[],function(){return t(n(53350))}),e("@tryghost/string",[],function(){return t(n(57671))}),e("@tryghost/timezone-data",[],function(){return t(n(86265))}),e("dompurify",[],function(){return t(n(82806))}),e("element-resize-detector",[],function(){return t(n(44535))}),e("ember-assign-helper/helpers/assign",[],function(){return t(n(85780))}),e("ember-css-transitions/modifiers/css-transition",["@ember/test-waiters"],function(){return t(n(38366))}),e("ember-keyboard/helpers/if-key.js",[],function(){return t(n(61021))}),e("ember-keyboard/helpers/on-key.js",[],function(){return t(n(9723))}),e("ember-keyboard/modifiers/on-key.js",[],function(){return t(n(88250))}),e("ember-keyboard/services/keyboard.js",[],function(){return t(n(75841))}),e("ember-modifier",[],function(){return t(n(76092))}),e("ember-moment/helpers/-base",[],function(){return t(n(92030))}),e("ember-moment/helpers/is-after",[],function(){return t(n(50205))}),e("ember-moment/helpers/is-before",[],function(){return t(n(62752))}),e("ember-moment/helpers/is-between",[],function(){return t(n(92583))}),e("ember-moment/helpers/is-same",[],function(){return t(n(66137))}),e("ember-moment/helpers/is-same-or-after",[],function(){return t(n(26468))}),e("ember-moment/helpers/is-same-or-before",[],function(){return t(n(79463))}),e("ember-moment/helpers/moment",[],function(){return t(n(13958))}),e("ember-moment/helpers/moment-add",[],function(){return t(n(58184))}),e("ember-moment/helpers/moment-calendar",[],function(){return t(n(69897))}),e("ember-moment/helpers/moment-diff",[],function(){return t(n(9988))}),e("ember-moment/helpers/moment-duration",[],function(){return t(n(85151))}),e("ember-moment/helpers/moment-format",[],function(){return t(n(74368))}),e("ember-moment/helpers/moment-from",[],function(){return t(n(59519))}),e("ember-moment/helpers/moment-from-now",[],function(){return t(n(1674))}),e("ember-moment/helpers/moment-subtract",[],function(){return t(n(65107))}),e("ember-moment/helpers/moment-to",[],function(){return t(n(15098))}),e("ember-moment/helpers/moment-to-date",[],function(){return t(n(27847))}),e("ember-moment/helpers/moment-to-now",[],function(){return t(n(82163))}),e("ember-moment/helpers/now",[],function(){return t(n(53548))}),e("ember-moment/helpers/unix",[],function(){return t(n(97456))}),e("ember-moment/helpers/utc",[],function(){return t(n(40574))}),e("ember-moment/services/moment",[],function(){return t(n(23807))}),e("fast-deep-equal",[],function(){return t(n(33118))}),e("flexsearch",[],function(){return t(n(27667))}),e("focus-trap",[],function(){return t(n(70193))}),e("intersection-observer-admin",[],function(){return t(n(55546))}),e("microdiff",[],function(){return t(n(75917))}),e("moment-timezone",[],function(){return t(n(74749))}),e("raf-pool",[],function(){return t(n(97068))}),e("react",[],function(){return t(n(53270))}),e("react-dom",[],function(){return t(n(70623))}),e("react-dom/client",[],function(){return t(n(34504))}),e("react/jsx-runtime",[],function(){return t(n(88902))}),e("tooltip.js",[],function(){return t(n(92294))}),e("tracked-built-ins",["ember-tracked-storage-polyfill"],function(){return t(n(1820))}),e("validator",[],function(){return t(n(50912))}),e("_eai_dyn_@sentry/browser",[],function(){return Promise.resolve().then(n.bind(n,99878))})}()}},n={}
|
|
5
|
-
function t(e){var o=n[e]
|
|
6
|
-
if(void 0!==o)return o.exports
|
|
7
|
-
var i=n[e]={id:e,loaded:!1,exports:{}}
|
|
8
|
-
return r[e].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}t.m=r,t.c=n,e=[],t.O=(r,n,o,i)=>{if(!n){var u=1/0
|
|
9
|
-
for(f=0;f<e.length;f++){for(var[n,o,i]=e[f],m=!0,s=0;s<n.length;s++)(!1&i||u>=i)&&Object.keys(t.O).every(e=>t.O[e](n[s]))?n.splice(s--,1):(m=!1,i<u&&(u=i))
|
|
10
|
-
if(m){e.splice(f--,1)
|
|
11
|
-
var c=o()
|
|
12
|
-
void 0!==c&&(r=c)}}return r}i=i||0
|
|
13
|
-
for(var f=e.length;f>0&&e[f-1][2]>i;f--)e[f]=e[f-1]
|
|
14
|
-
e[f]=[n,o,i]},t.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e
|
|
15
|
-
return t.d(r,{a:r}),r},t.d=(e,r)=>{for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},t.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e),t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e={524:0}
|
|
16
|
-
t.O.j=r=>0===e[r]
|
|
17
|
-
var r=(r,n)=>{var o,i,[u,m,s]=n,c=0
|
|
18
|
-
if(u.some(r=>0!==e[r])){for(o in m)t.o(m,o)&&(t.m[o]=m[o])
|
|
19
|
-
if(s)var f=s(t)}for(r&&r(n);c<u.length;c++)i=u[c],t.o(e,i)&&e[i]&&e[i][0](),e[i]=0
|
|
20
|
-
return t.O(f)},n=globalThis.webpackChunk_ember_auto_import_=globalThis.webpackChunk_ember_auto_import_||[]
|
|
21
|
-
n.forEach(r.bind(null,0)),n.push=r.bind(null,n.push.bind(n))})(),t.O(void 0,[211,361],()=>t(t.s=46716))
|
|
22
|
-
var o=t.O(void 0,[211,361],()=>t(t.s=3673))
|
|
23
|
-
o=t.O(o),__ember_auto_import__=o})()
|
|
24
|
-
|
|
25
|
-
//# sourceMappingURL=chunk.524.8365cd9280405c0f6216.map
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
var __ember_auto_import__;(()=>{var e,r={32186(e){"use strict"
|
|
2
|
-
e.exports=require("@ember/test-waiters")},80032(e){"use strict"
|
|
3
|
-
e.exports=require("ember-tracked-storage-polyfill")},3673(e,r,t){e.exports=function(){var e=_eai_d,r=_eai_r
|
|
4
|
-
function n(e){return e&&e.__esModule?e:Object.assign({default:e},e)}window.emberAutoImportDynamic=function(e){return 1===arguments.length?r("_eai_dyn_"+e):r("_eai_dynt_"+e)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(e){return r("_eai_sync_"+e)(Array.prototype.slice.call(arguments,1))},e("@sentry/browser",EAI_DISCOVERED_EXTERNALS("@sentry/browser"),function(){return n(t(99878))}),e("@sentry/core",EAI_DISCOVERED_EXTERNALS("@sentry/core"),function(){return n(t(4156))}),e("@sentry/integrations",EAI_DISCOVERED_EXTERNALS("@sentry/integrations"),function(){return n(t(53451))}),e("@sentry/replay",EAI_DISCOVERED_EXTERNALS("@sentry/replay"),function(){return n(t(90478))}),e("@sentry/utils",EAI_DISCOVERED_EXTERNALS("@sentry/utils"),function(){return n(t(76333))}),e("@tryghost/admin-x-framework/hooks",EAI_DISCOVERED_EXTERNALS("@tryghost/admin-x-framework/hooks"),function(){return n(t(88950))}),e("@tryghost/color-utils",EAI_DISCOVERED_EXTERNALS("@tryghost/color-utils"),function(){return n(t(6715))}),e("@tryghost/kg-clean-basic-html",EAI_DISCOVERED_EXTERNALS("@tryghost/kg-clean-basic-html"),function(){return n(t(91075))}),e("@tryghost/kg-converters",EAI_DISCOVERED_EXTERNALS("@tryghost/kg-converters"),function(){return n(t(26942))}),e("@tryghost/limit-service",EAI_DISCOVERED_EXTERNALS("@tryghost/limit-service"),function(){return n(t(43031))}),e("@tryghost/nql",EAI_DISCOVERED_EXTERNALS("@tryghost/nql"),function(){return n(t(53350))}),e("@tryghost/string",EAI_DISCOVERED_EXTERNALS("@tryghost/string"),function(){return n(t(57671))}),e("@tryghost/timezone-data",EAI_DISCOVERED_EXTERNALS("@tryghost/timezone-data"),function(){return n(t(86265))}),e("dompurify",EAI_DISCOVERED_EXTERNALS("dompurify"),function(){return n(t(82806))}),e("element-resize-detector",EAI_DISCOVERED_EXTERNALS("element-resize-detector"),function(){return n(t(44535))}),e("ember-assign-helper/helpers/assign",EAI_DISCOVERED_EXTERNALS("ember-assign-helper/helpers/assign"),function(){return n(t(85780))}),e("ember-css-transitions/modifiers/css-transition",EAI_DISCOVERED_EXTERNALS("ember-css-transitions/modifiers/css-transition"),function(){return n(t(38366))}),e("ember-keyboard/helpers/if-key.js",EAI_DISCOVERED_EXTERNALS("ember-keyboard/helpers/if-key.js"),function(){return n(t(61021))}),e("ember-keyboard/helpers/on-key.js",EAI_DISCOVERED_EXTERNALS("ember-keyboard/helpers/on-key.js"),function(){return n(t(9723))}),e("ember-keyboard/modifiers/on-key.js",EAI_DISCOVERED_EXTERNALS("ember-keyboard/modifiers/on-key.js"),function(){return n(t(88250))}),e("ember-keyboard/services/keyboard.js",EAI_DISCOVERED_EXTERNALS("ember-keyboard/services/keyboard.js"),function(){return n(t(75841))}),e("ember-modifier",EAI_DISCOVERED_EXTERNALS("ember-modifier"),function(){return n(t(76092))}),e("ember-moment/helpers/-base",EAI_DISCOVERED_EXTERNALS("ember-moment/helpers/-base"),function(){return n(t(92030))}),e("ember-moment/helpers/is-after",EAI_DISCOVERED_EXTERNALS("ember-moment/helpers/is-after"),function(){return n(t(50205))}),e("ember-moment/helpers/is-before",EAI_DISCOVERED_EXTERNALS("ember-moment/helpers/is-before"),function(){return n(t(62752))}),e("ember-moment/helpers/is-between",EAI_DISCOVERED_EXTERNALS("ember-moment/helpers/is-between"),function(){return n(t(92583))}),e("ember-moment/helpers/is-same",EAI_DISCOVERED_EXTERNALS("ember-moment/helpers/is-same"),function(){return n(t(66137))}),e("ember-moment/helpers/is-same-or-after",EAI_DISCOVERED_EXTERNALS("ember-moment/helpers/is-same-or-after"),function(){return n(t(26468))}),e("ember-moment/helpers/is-same-or-before",EAI_DISCOVERED_EXTERNALS("ember-moment/helpers/is-same-or-before"),function(){return n(t(79463))}),e("ember-moment/helpers/moment",EAI_DISCOVERED_EXTERNALS("ember-moment/helpers/moment"),function(){return n(t(13958))}),e("ember-moment/helpers/moment-add",EAI_DISCOVERED_EXTERNALS("ember-moment/helpers/moment-add"),function(){return n(t(58184))}),e("ember-moment/helpers/moment-calendar",EAI_DISCOVERED_EXTERNALS("ember-moment/helpers/moment-calendar"),function(){return n(t(69897))}),e("ember-moment/helpers/moment-diff",EAI_DISCOVERED_EXTERNALS("ember-moment/helpers/moment-diff"),function(){return n(t(9988))}),e("ember-moment/helpers/moment-duration",EAI_DISCOVERED_EXTERNALS("ember-moment/helpers/moment-duration"),function(){return n(t(85151))}),e("ember-moment/helpers/moment-format",EAI_DISCOVERED_EXTERNALS("ember-moment/helpers/moment-format"),function(){return n(t(74368))}),e("ember-moment/helpers/moment-from",EAI_DISCOVERED_EXTERNALS("ember-moment/helpers/moment-from"),function(){return n(t(59519))}),e("ember-moment/helpers/moment-from-now",EAI_DISCOVERED_EXTERNALS("ember-moment/helpers/moment-from-now"),function(){return n(t(1674))}),e("ember-moment/helpers/moment-subtract",EAI_DISCOVERED_EXTERNALS("ember-moment/helpers/moment-subtract"),function(){return n(t(65107))}),e("ember-moment/helpers/moment-to",EAI_DISCOVERED_EXTERNALS("ember-moment/helpers/moment-to"),function(){return n(t(15098))}),e("ember-moment/helpers/moment-to-date",EAI_DISCOVERED_EXTERNALS("ember-moment/helpers/moment-to-date"),function(){return n(t(27847))}),e("ember-moment/helpers/moment-to-now",EAI_DISCOVERED_EXTERNALS("ember-moment/helpers/moment-to-now"),function(){return n(t(82163))}),e("ember-moment/helpers/now",EAI_DISCOVERED_EXTERNALS("ember-moment/helpers/now"),function(){return n(t(53548))}),e("ember-moment/helpers/unix",EAI_DISCOVERED_EXTERNALS("ember-moment/helpers/unix"),function(){return n(t(97456))}),e("ember-moment/helpers/utc",EAI_DISCOVERED_EXTERNALS("ember-moment/helpers/utc"),function(){return n(t(40574))}),e("ember-moment/services/moment",EAI_DISCOVERED_EXTERNALS("ember-moment/services/moment"),function(){return n(t(23807))}),e("fast-deep-equal",EAI_DISCOVERED_EXTERNALS("fast-deep-equal"),function(){return n(t(33118))}),e("flexsearch",EAI_DISCOVERED_EXTERNALS("flexsearch"),function(){return n(t(27667))}),e("focus-trap",EAI_DISCOVERED_EXTERNALS("focus-trap"),function(){return n(t(70193))}),e("intersection-observer-admin",EAI_DISCOVERED_EXTERNALS("intersection-observer-admin"),function(){return n(t(55546))}),e("microdiff",EAI_DISCOVERED_EXTERNALS("microdiff"),function(){return n(t(75917))}),e("moment-timezone",EAI_DISCOVERED_EXTERNALS("moment-timezone"),function(){return n(t(74749))}),e("raf-pool",EAI_DISCOVERED_EXTERNALS("raf-pool"),function(){return n(t(97068))}),e("react",EAI_DISCOVERED_EXTERNALS("react"),function(){return n(t(53270))}),e("react-dom",EAI_DISCOVERED_EXTERNALS("react-dom"),function(){return n(t(70623))}),e("react-dom/client",EAI_DISCOVERED_EXTERNALS("react-dom/client"),function(){return n(t(34504))}),e("react/jsx-runtime",EAI_DISCOVERED_EXTERNALS("react/jsx-runtime"),function(){return n(t(88902))}),e("tooltip.js",EAI_DISCOVERED_EXTERNALS("tooltip.js"),function(){return n(t(92294))}),e("tracked-built-ins",EAI_DISCOVERED_EXTERNALS("tracked-built-ins"),function(){return n(t(1820))}),e("validator",EAI_DISCOVERED_EXTERNALS("validator"),function(){return n(t(50912))}),e("_eai_dyn_@sentry/browser",[],function(){return Promise.resolve().then(t.bind(t,99878))})}()},311(e,r,t){e.exports=function(){_eai_d
|
|
5
|
-
var e=_eai_r
|
|
6
|
-
window.emberAutoImportDynamic=function(r){return 1===arguments.length?e("_eai_dyn_"+r):e("_eai_dynt_"+r)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(r){return e("_eai_sync_"+r)(Array.prototype.slice.call(arguments,1))},t(3673)}()}},t={}
|
|
7
|
-
function n(e){var o=t[e]
|
|
8
|
-
if(void 0!==o)return o.exports
|
|
9
|
-
var E=t[e]={id:e,loaded:!1,exports:{}}
|
|
10
|
-
return r[e].call(E.exports,E,E.exports,n),E.loaded=!0,E.exports}n.m=r,n.c=t,e=[],n.O=(r,t,o,E)=>{if(!t){var m=1/0
|
|
11
|
-
for(_=0;_<e.length;_++){for(var[t,o,E]=e[_],i=!0,s=0;s<t.length;s++)(!1&E||m>=E)&&Object.keys(n.O).every(e=>n.O[e](t[s]))?t.splice(s--,1):(i=!1,E<m&&(m=E))
|
|
12
|
-
if(i){e.splice(_--,1)
|
|
13
|
-
var u=o()
|
|
14
|
-
void 0!==u&&(r=u)}}return r}E=E||0
|
|
15
|
-
for(var _=e.length;_>0&&e[_-1][2]>E;_--)e[_]=e[_-1]
|
|
16
|
-
e[_]=[t,o,E]},n.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e
|
|
17
|
-
return n.d(r,{a:r}),r},n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e={524:0,582:0}
|
|
18
|
-
n.O.j=r=>0===e[r]
|
|
19
|
-
var r=(r,t)=>{var o,E,[m,i,s]=t,u=0
|
|
20
|
-
if(m.some(r=>0!==e[r])){for(o in i)n.o(i,o)&&(n.m[o]=i[o])
|
|
21
|
-
if(s)var _=s(n)}for(r&&r(t);u<m.length;u++)E=m[u],n.o(e,E)&&e[E]&&e[E][0](),e[E]=0
|
|
22
|
-
return n.O(_)},t=globalThis.webpackChunk_ember_auto_import_=globalThis.webpackChunk_ember_auto_import_||[]
|
|
23
|
-
t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),n.O(void 0,[211,361],()=>n(n.s=46716))
|
|
24
|
-
var o=n.O(void 0,[211,361],()=>n(n.s=311))
|
|
25
|
-
o=n.O(o),__ember_auto_import__=o})()
|
|
26
|
-
|
|
27
|
-
//# sourceMappingURL=chunk.582.61d078937e6102769f2c.map
|
|
@@ -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{g as r}from"./framework-provider-CmtnPXIT.js";import{i,n as a,t as o}from"./hooks-BApwwBE0.js";import{t as s}from"./nql-BsgFMd93.js";import{g as c,t as l}from"./chunk-KS7C4IRE-DG9HTHQ3.js";import{c as u,f as d,m as f}from"./dist-DGzPJ_bO.js";import{t as p}from"./box-BWbhXh21.js";import{t as m}from"./container-BYz2Ed39.js";import{i as h,n as g,r as _,t as v}from"./tabs-BQcJQ1ke.js";import{n as y,r as b}from"./filters-bXkkWro8.js";import{t as x}from"./checkbox-EhJKHFdZ.js";import{t as S}from"./empty-indicator-oX1u1Pkn.js";import{t as C}from"./label-dSs5aepE.js";import{$o as w,Ai as T,Co as E,Cr as D,Da as O,Do as k,Dr as A,E as ee,Ei as te,En as ne,Er as j,Fn as re,Ga as ie,Gn as ae,Gr as oe,Ha as se,In as ce,Io as le,Ji as ue,Jn as de,Ls as fe,Mn as pe,Mo as me,Nn as he,No as ge,Nr as M,Oa as N,Oo as _e,Po as ve,Rr as P,Tr as F,Va as I,Wa as ye,Wo as be,Xn as L,Xo as xe,Yi as Se,Yn as Ce,Yr as R,_o as we,_r as z,br as B,er as V,jo as Te,k as Ee,qr as De,ss as Oe,ti as ke,va as Ae,vr as H,wr as je,xo as Me,xr as U,yr as Ne}from"./index-ukW_0Uie.js";import{t as W}from"./page-header-op0eN36I.js";import{C as Pe,_ as Fe,a as Ie,b as Le,c as Re,f as G,g as ze,h as Be,i as Ve,l as He,m as Ue,n as We,o as Ge,r as Ke,s as qe,t as Je,u as Ye,v as Xe,w as Ze,x as Qe,y as $e}from"./filters-CuB-A7ma.js";import{t as K}from"./list-page-B6ANtzkd.js";import{c as et,n as tt,r as nt}from"./filter-sources-Bieps75g.js";import{i as rt,n as it,r as at,t as ot}from"./virtual-list-Dhuh9fGx.js";import{t as st}from"./get-site-timezone-HgL0jI_F.js";var q=e(t(),1),J=Je({status:{operators:[`is`],ui:{label:`Status`,type:`select`,searchable:!1,hideOperatorSelect:!0},options:[{value:`published`,label:`Published`},{value:`hidden`,label:`Hidden`}],codec:G()},created_at:Pe({operators:Be,ui:{label:`Date`,defaultOperator:Fe,type:`date`},codec:Ye()}),body:{operators:[`contains`,`does-not-contain`],parseKeys:[`html`],ui:{label:`Text`,type:`text`,placeholder:`Search comment text...`,defaultOperator:`contains`,className:`w-full max-w-48`,popoverContentClassName:`w-full max-w-48`},codec:Ue({field:`html`})},post:{operators:[`is`,`is-not`],parseKeys:[`post_id`],ui:{label:`Post`,type:`select`,searchable:!0,className:`w-full max-w-80`,popoverContentClassName:`w-full max-w-[calc(100vw-32px)] max-w-80`},codec:G({field:`post_id`})},author:{operators:[`is`,`is-not`],parseKeys:[`member_id`],ui:{label:`Author`,type:`select`,searchable:!0,className:`w-80`,popoverContentClassName:`w-80`},codec:G({field:`member_id`})},reported:{operators:[`is`],parseKeys:[`count.reports`],ui:{label:`Reported`,type:`select`,searchable:!1,hideOperatorSelect:!0},options:[{value:`true`,label:`Yes`},{value:`false`,label:`No`}],codec:{parse(e,t){let n=Xe(e);return!n||n.field!==`count.reports`?null:n.operator===`$eq`&&n.value===0?{field:t.key,operator:`is`,values:[`false`]}:n.operator===`$gt`&&n.value===0?{field:t.key,operator:`is`,values:[`true`]}:null},serialize(e){let t=e.values[0];return e.operator===`is`?t===`true`?[`count.reports:>0`]:t===`false`?[`count.reports:0`]:null:null}}}}),ct=[`author`,`post`,`body`,`status`,`reported`,`created_at`],lt={...ze,...Le};function ut(e){switch(e){case`author`:return q.createElement(T,{className:`size-4`});case`post`:return q.createElement(_e,{className:`size-4`});case`body`:return q.createElement(se,{className:`size-4`});case`status`:return q.createElement(be,{className:`size-4`});case`reported`:return q.createElement(k,{className:`size-4`});case`created_at`:return q.createElement(Oe,{className:`size-4`});default:return}}function dt({postValueSource:e,memberValueSource:t,siteTimezone:n=`UTC`}){return(0,q.useMemo)(()=>{let r=et(n);return ct.map(n=>{let i=J[n],a=n===`created_at`?{defaultValue:r,...Qe(i)?{customRenderer:$e(r)}:{}}:{};return{key:n,...i.ui,icon:ut(n),operators:He(i.operators,{labels:lt}),...`options`in i&&i.options?{options:i.options}:{},...a,...n===`author`?{valueSource:t}:{},...n===`post`?{valueSource:e}:{}}})},[t,e,n])}var Y=n(),ft=({filters:e,siteTimezone:t,onFiltersChange:n})=>{let r=tt(),i=dt({memberValueSource:nt(),postValueSource:r,siteTimezone:t}),a=e.length>0;return(0,Y.jsx)(y,{addButtonIcon:a?(0,Y.jsx)(E,{}):(0,Y.jsx)(Me,{}),addButtonText:a?`Add filter`:`Filter`,allowMultiple:!1,className:`[&>button]:order-last ${a?`[&>button]:border-none`:`w-auto`}`,clearButtonClassName:`font-normal text-muted-foreground`,clearButtonIcon:(0,Y.jsx)(te,{}),clearButtonText:`Clear`,fields:i,filters:e,keyboardShortcut:`f`,popoverAlign:a?`start`:`end`,showClearButton:a,showSearchInput:!1,onChange:n})},X=`CommentsResponseType`,pt=`count.dislikes`,mt=e=>[`member`,`post`,`count.replies`,`count.direct_replies`,`count.likes`,...e?[pt]:[],`count.reports`,`parent`,`in_reply_to`].join(`,`),ht=e=>[`member`,`post`,`count.direct_replies`,`count.likes`,...e?[pt]:[],`count.reports`,`parent`,`in_reply_to`].join(`,`),gt=o({dataType:X,path:`/comments/`,defaultNextPageParams:(e,t)=>e.meta?.pagination.next?{...t,page:(e.meta?.pagination.next||1).toString()}:void 0,returnData:e=>{let{pages:t}=e,n=t.flatMap(e=>e.comments),r=t[t.length-1].meta;return{comments:n,meta:r,isEnd:r?r.pagination.pages===r.pagination.page:!0}}}),_t=e=>gt({...e,searchParams:{limit:`100`,order:`created_at desc`,include:`member,post,parent`,...e?.searchParams}}),vt=a({method:`PUT`,path:({id:e})=>`/comments/${e}/`,body:({id:e})=>({comments:[{id:e,status:`hidden`}]}),invalidateQueries:{dataType:X}}),yt=a({method:`PUT`,path:({id:e})=>`/comments/${e}/`,body:({id:e})=>({comments:[{id:e,status:`published`}]}),invalidateQueries:{dataType:X}});a({method:`PUT`,path:({id:e})=>`/comments/${e}/`,body:({id:e})=>({comments:[{id:e,status:`deleted`}]}),invalidateQueries:{dataType:X}});var bt=a({method:`PUT`,path:({id:e})=>`/comments/${e}/`,body:({id:e})=>({comments:[{id:e,pinned:!0}]}),invalidateQueries:{dataType:X}}),xt=a({method:`PUT`,path:({id:e})=>`/comments/${e}/`,body:({id:e})=>({comments:[{id:e,pinned:!1}]}),invalidateQueries:{dataType:X}});i({dataType:X,path:e=>`/comments/${e}/replies/`,defaultSearchParams:{include:`member,post,count.replies,count.likes,count.reports,parent`,limit:`100`}});var St=i({dataType:X,path:e=>`/comments/${e}/`,defaultSearchParams:{include:mt(!1)}}),Ct=(e,t)=>{let{dislikesEnabled:n=!1,searchParams:r,...i}=t||{};return St(e,{...i,searchParams:{include:mt(n),...r}})},wt=i({dataType:`CommentReportsResponseType`,path:e=>`/comments/${e}/reports/`}),Tt=(e,t)=>wt(e,{...t}),Et=i({dataType:`CommentLikesResponseType`,path:e=>`/comments/${e}/likes/`,defaultSearchParams:{include:`member`,limit:`100`,order:`created_at desc`}}),Dt=(e,t)=>Et(e,{...t}),Ot=i({dataType:`CommentDislikesResponseType`,path:e=>`/comments/${e}/dislikes/`,defaultSearchParams:{include:`member`,limit:`100`,order:`created_at desc`}}),kt=(e,t)=>Ot(e,{...t}),At=(e,t)=>{let{dislikesEnabled:n=!1,...r}=t||{};return _t({...r,searchParams:{filter:`(parent_id:${e}+in_reply_to_id:null),in_reply_to_id:${e}`,order:`created_at asc`,include:ht(n),limit:`100`}})};function jt({onClick:e,expanded:t}){return(0,Y.jsxs)(M,{className:`shrink-0 gap-0.5 self-start p-0 text-base hover:bg-transparent`,variant:`ghost`,onClick:e,children:[t?`Show less`:`Show more`,t?(0,Y.jsx)(xe,{}):(0,Y.jsx)(w,{})]})}function Mt({item:e}){let t=(0,q.useRef)(null),[n,r]=(0,q.useState)(!1),[i,a]=(0,q.useState)(!1);return(0,q.useEffect)(()=>{if(i)return;let e=()=>{t.current&&r(t.current.scrollHeight>t.current.clientHeight)};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[e.html,i]),(0,Y.jsx)(`div`,{className:`mt-2 flex flex-col gap-2`,children:(0,Y.jsxs)(`div`,{className:`flex max-w-full flex-col items-start ${e.status===`hidden`&&`opacity-50`}`,children:[(0,Y.jsx)(`div`,{dangerouslySetInnerHTML:{__html:e.html||``},ref:t,className:u(`prose balance max-w-[80ch] flex-1 text-base leading-[1.5em] [&_*]:text-base [&_*]:leading-[1.5em] [&_*]:font-normal [&_a]:underline [&_blockquote]:border-l-[3px] [&_blockquote]:border-foreground [&_blockquote]:p-0 [&_blockquote]:pl-3 [&_blockquote_p]:mt-0`,i?`-mb-1 [&_p]:mb-[0.85em]`:`mb-1 line-clamp-2 [&_blockquote+p]:mt-1 [&_p]:m-0`)}),n&&(0,Y.jsx)(jt,{expanded:i,onClick:()=>a(!i)})]})})}function Nt(e){let t=new Date(e);return new Intl.DateTimeFormat(`en-US`,{month:`short`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`numeric`}).format(t).replace(/(\d+),(\s+\d{4})/,`$1$2`)}var Pt=u(Ce({variant:`warning`}),`gap-1 hover:bg-state-warning/30`);function Ft({memberName:e,memberId:t,createdAt:n,isHidden:r,canComment:i,isPinned:a,onAuthorClick:o,postTitle:s,onPostClick:c,onUnpinClick:l,className:d}){return(0,Y.jsxs)(`div`,{className:u(`flex items-center gap-2`,d),children:[(0,Y.jsxs)(`div`,{className:u(`flex min-w-0 items-center gap-x-1`,r&&`opacity-50`),children:[(0,Y.jsx)(`div`,{className:`whitespace-nowrap`,children:t&&o?(0,Y.jsx)(M,{className:`flex h-auto items-center gap-1.5 truncate p-0 text-md font-semibold text-primary hover:opacity-70`,variant:`link`,onClick:o,children:e||`Unknown`}):(0,Y.jsx)(`span`,{className:`block truncate font-semibold`,children:e||`Unknown`})}),i===!1&&(0,Y.jsxs)(z,{children:[(0,Y.jsx)(B,{asChild:!0,children:(0,Y.jsx)(`span`,{"data-testid":`commenting-disabled-indicator`,children:(0,Y.jsx)(ie,{className:`size-3.5 text-muted-foreground`})})}),(0,Y.jsx)(H,{children:`Comments disabled`})]}),(0,Y.jsx)(le,{className:`shrink-0 text-muted-foreground/50`,size:16}),(0,Y.jsx)(`div`,{className:`shrink-0 whitespace-nowrap`,children:n&&(0,Y.jsxs)(z,{children:[(0,Y.jsx)(B,{asChild:!0,children:(0,Y.jsx)(`span`,{className:`cursor-default text-sm text-muted-foreground`,children:f(n)})}),(0,Y.jsx)(H,{children:Nt(n)})]})}),s&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`shrink-0 text-muted-foreground`,children:`on`}),(0,Y.jsx)(`div`,{className:`min-w-0 truncate`,children:c?(0,Y.jsx)(M,{className:`block h-auto w-full cursor-pointer truncate p-0 text-left font-medium text-gray-800 hover:opacity-70 dark:text-gray-400`,variant:`link`,onClick:c,children:s}):(0,Y.jsx)(`span`,{className:`font-medium text-gray-800 dark:text-gray-400`,children:s})})]})]}),r&&(0,Y.jsx)(de,{variant:`secondary`,children:`Hidden`}),a&&(l?(0,Y.jsxs)(`button`,{"aria-label":`Unpin comment`,className:u(`group`,Pt),type:`button`,onClick:e=>{e.stopPropagation(),l?.()},children:[(0,Y.jsxs)(`span`,{className:`grid size-3 shrink-0`,children:[(0,Y.jsx)(N,{className:`col-start-1 row-start-1 size-3 group-hover:opacity-0 group-focus-visible:opacity-0`}),(0,Y.jsx)(O,{className:`col-start-1 row-start-1 size-3 opacity-0 group-hover:opacity-100 group-focus-visible:opacity-100`})]}),(0,Y.jsxs)(`span`,{className:`grid justify-items-start text-left`,children:[(0,Y.jsx)(`span`,{className:`col-start-1 row-start-1 group-hover:opacity-0 group-focus-visible:opacity-0`,children:`Pinned`}),(0,Y.jsx)(`span`,{className:`col-start-1 row-start-1 opacity-0 group-hover:opacity-100 group-focus-visible:opacity-100`,children:`Unpin`})]})]}):(0,Y.jsxs)(de,{className:`gap-1`,variant:`warning`,children:[(0,Y.jsx)(N,{className:`size-3`}),`Pinned`]}))]})}function It({open:e,memberName:t,onOpenChange:n,onConfirm:r}){let[i,a]=(0,q.useState)(!1),o=e=>{e||a(!1),n(e)};return(0,Y.jsx)(U,{open:e,onOpenChange:o,children:(0,Y.jsxs)(D,{className:`gap-5`,children:[(0,Y.jsxs)(j,{children:[(0,Y.jsx)(A,{children:`Disable comments`}),(0,Y.jsxs)(je,{children:[t||`This member`,` won't be able to comment in the future. You can re-enable commenting anytime.`]})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(x,{checked:i,id:`hide-comments`,onCheckedChange:e=>a(e===!0)}),(0,Y.jsx)(C,{htmlFor:`hide-comments`,children:`Hide all previous comments`})]}),(0,Y.jsxs)(F,{children:[(0,Y.jsx)(M,{variant:`outline`,onClick:()=>o(!1),children:`Cancel`}),(0,Y.jsx)(M,{onClick:()=>{r(i),a(!1)},children:`Disable comments`})]})]})})}var Lt=()=>{let{data:e}=fe();return e?.config?.labs?.commentsPinning===!0};function Rt({comment:e}){let{mutate:t}=ee(),{mutate:n}=Ee(),{mutate:r}=bt(),{mutate:i}=xt(),[a,o]=(0,q.useState)(!1),s=Lt(),{id:c,post:l,member:u}=e,d=l?.url,f=u?.id,p=u?.can_comment,m=s&&!e.parent_id&&e.status!==`deleted`;return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(oe,{children:[(0,Y.jsx)(ke,{asChild:!0,children:(0,Y.jsx)(M,{className:`relative z-10 text-gray-800 hover:bg-secondary [&_svg]:size-4`,size:`sm`,variant:`ghost`,children:(0,Y.jsx)(ve,{})})}),(0,Y.jsxs)(De,{align:`start`,children:[d&&(0,Y.jsx)(R,{asChild:!0,children:(0,Y.jsxs)(`a`,{href:`${d}#ghost-comments-${c}`,rel:`noopener noreferrer`,target:`_blank`,children:[(0,Y.jsx)(ge,{className:`size-4`}),`View on post`]})}),f&&(0,Y.jsx)(R,{asChild:!0,children:(0,Y.jsxs)(`a`,{href:`#/members/${f}`,children:[(0,Y.jsx)(T,{className:`size-4`}),`View member`]})}),m&&(e.pinned?(0,Y.jsxs)(R,{onClick:()=>i({id:c}),children:[(0,Y.jsx)(O,{className:`size-4`}),`Unpin comment`]}):(0,Y.jsxs)(R,{onClick:()=>r({id:c}),children:[(0,Y.jsx)(N,{className:`size-4`}),`Pin comment`]})),f&&(p===!1?(0,Y.jsxs)(R,{onClick:()=>{f&&n({id:f})},children:[(0,Y.jsx)(ye,{className:`size-4`}),`Enable commenting`]}):(0,Y.jsxs)(R,{onClick:()=>o(!0),children:[(0,Y.jsx)(ie,{className:`size-4`}),`Disable commenting`]}))]})]}),(0,Y.jsx)(It,{memberName:u?.name,open:a,onConfirm:e=>{f&&(t({id:f,reason:`Disabled from comment ${c}`,hideComments:e}),o(!1))},onOpenChange:o})]})}function zt({comment:e,dislikesEnabled:t,open:n,defaultTab:r=`likes`,onOpenChange:i}){let{data:a,isLoading:o}=Dt(e.id,{enabled:n}),{data:s,isLoading:c}=kt(e.id,{enabled:n&&t}),l=a?.comment_likes??[],u=t?s?.comment_dislikes??[]:[],p=e.count?.likes??0,m=t?e.count?.dislikes??0:0,y=Math.max(0,p-l.length),b=Math.max(0,m-u.length);return(0,Y.jsx)(U,{open:n,onOpenChange:i,children:(0,Y.jsxs)(D,{"aria-describedby":void 0,children:[(0,Y.jsx)(j,{children:(0,Y.jsx)(A,{children:t?(0,Y.jsxs)(Y.Fragment,{children:[d(p),` `,p===1?`like`:`likes`,` and `,d(m),` `,m===1?`dislike`:`dislikes`]}):(0,Y.jsxs)(Y.Fragment,{children:[d(p),` `,p===1?`like`:`likes`]})})}),(0,Y.jsx)(`div`,{className:`overflow-hidden rounded-md border p-3`,children:(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,Y.jsx)(L,{className:`shrink-0`,email:e.member?.email,name:e.member?.name,src:e.member?.avatar_image}),(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-col overflow-hidden`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1 text-sm`,children:[(0,Y.jsx)(`span`,{className:`shrink-0 font-semibold`,children:e.member?P(e.member):`Deleted member`}),(0,Y.jsx)(le,{className:`shrink-0 text-muted-foreground/50`,size:16}),(0,Y.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,children:e.created_at&&f(e.created_at)}),(0,Y.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,children:`on`}),(0,Y.jsx)(`span`,{className:`min-w-0 truncate font-medium text-gray-800 dark:text-gray-400`,children:e.post?.title||`Unknown post`})]}),(0,Y.jsx)(`div`,{dangerouslySetInnerHTML:{__html:e.html||``},className:`prose mt-2 line-clamp-2 text-sm [&_*]:text-sm [&_*]:leading-[1.5em] [&_p]:m-0`})]})]})}),t?(0,Y.jsxs)(v,{defaultValue:r,variant:`segmented`,children:[(0,Y.jsxs)(_,{className:`grid w-full grid-cols-2`,children:[(0,Y.jsx)(h,{value:`likes`,children:`Likes`}),(0,Y.jsx)(h,{value:`dislikes`,children:`Dislikes`})]}),(0,Y.jsx)(g,{className:`mt-4`,value:`likes`,children:(0,Y.jsx)(`div`,{className:`-mx-1 max-h-64 overflow-y-auto px-1`,children:o?(0,Y.jsx)(`div`,{className:`flex justify-center py-4`,children:(0,Y.jsx)(V,{size:`md`})}):l.length===0?(0,Y.jsx)(`div`,{className:`py-4 text-center text-sm text-muted-foreground`,children:`No likes yet`}):(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3 pb-1`,children:[l.map(e=>(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Y.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,Y.jsx)(L,{email:e.member?.email,name:e.member?.name,src:e.member?.avatar_image}),(0,Y.jsx)(`div`,{className:`absolute -right-0.5 -bottom-0.5 flex size-4 items-center justify-center rounded-full bg-gray-500 text-white`,children:(0,Y.jsx)(ue,{className:`size-2.5`,fill:`currentColor`})})]}),(0,Y.jsx)(`span`,{className:`font-medium`,children:e.member?P(e.member):`Deleted member`})]}),(0,Y.jsx)(`span`,{className:`shrink-0 text-sm text-muted-foreground`,children:f(e.created_at)})]},e.id)),y>0&&(0,Y.jsxs)(`div`,{className:`pt-1 text-center text-sm text-muted-foreground`,children:[`and `,d(y),` more`]})]})})}),(0,Y.jsx)(g,{className:`mt-4`,value:`dislikes`,children:(0,Y.jsx)(`div`,{className:`-mx-1 max-h-64 overflow-y-auto px-1`,children:c?(0,Y.jsx)(`div`,{className:`flex justify-center py-4`,children:(0,Y.jsx)(V,{size:`md`})}):u.length===0?(0,Y.jsx)(`div`,{className:`py-4 text-center text-sm text-muted-foreground`,children:`No dislikes yet`}):(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3 pb-1`,children:[u.map(e=>(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Y.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,Y.jsx)(L,{email:e.member?.email,name:e.member?.name,src:e.member?.avatar_image}),(0,Y.jsx)(`div`,{className:`absolute -right-0.5 -bottom-0.5 flex size-4 items-center justify-center rounded-full bg-gray-500 text-white`,children:(0,Y.jsx)(Se,{className:`size-2.5`,fill:`currentColor`})})]}),(0,Y.jsx)(`span`,{className:`font-medium`,children:e.member?P(e.member):`Deleted member`})]}),(0,Y.jsx)(`span`,{className:`shrink-0 text-sm text-muted-foreground`,children:f(e.created_at)})]},e.id)),b>0&&(0,Y.jsxs)(`div`,{className:`pt-1 text-center text-sm text-muted-foreground`,children:[`and `,d(b),` more`]})]})})})]}):(0,Y.jsx)(`div`,{className:`-mx-1 max-h-64 overflow-y-auto px-1`,children:o?(0,Y.jsx)(`div`,{className:`flex justify-center py-4`,children:(0,Y.jsx)(V,{size:`md`})}):(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3 pb-1`,children:[l.map(e=>(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Y.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,Y.jsx)(L,{email:e.member?.email,name:e.member?.name,src:e.member?.avatar_image}),(0,Y.jsx)(`div`,{className:`absolute -right-0.5 -bottom-0.5 flex size-4 items-center justify-center rounded-full bg-pink-500 text-white`,children:(0,Y.jsx)(we,{className:`size-2.5`,fill:`currentColor`})})]}),(0,Y.jsx)(`span`,{className:`font-medium`,children:e.member?P(e.member):`Deleted member`})]}),(0,Y.jsx)(`span`,{className:`shrink-0 text-sm text-muted-foreground`,children:f(e.created_at)})]},e.id)),y>0&&(0,Y.jsxs)(`div`,{className:`pt-1 text-center text-sm text-muted-foreground`,children:[`and `,d(y),` more`]})]})}),(0,Y.jsx)(F,{children:(0,Y.jsx)(M,{onClick:()=>i(!1),children:`OK`})})]})})}function Bt({comment:e,open:t,onOpenChange:n}){let{data:r,isLoading:i}=Tt(e.id,{enabled:t}),a=r?.comment_reports??[],o=e.count?.reports??a.length;return(0,Y.jsx)(U,{open:t,onOpenChange:n,children:(0,Y.jsxs)(D,{"aria-describedby":void 0,children:[(0,Y.jsx)(j,{children:(0,Y.jsxs)(A,{children:[o,` `,o===1?`report`:`reports`]})}),(0,Y.jsx)(`div`,{className:`overflow-hidden rounded-md border p-3`,children:(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,Y.jsx)(L,{className:`shrink-0`,email:e.member?.email,name:e.member?.name,src:e.member?.avatar_image}),(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-col overflow-hidden`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1 text-sm`,children:[(0,Y.jsx)(`span`,{className:`shrink-0 font-semibold`,children:e.member?P(e.member):`Deleted member`}),(0,Y.jsx)(le,{className:`shrink-0 text-muted-foreground/50`,size:16}),(0,Y.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,children:e.created_at&&f(e.created_at)}),(0,Y.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,children:`on`}),(0,Y.jsx)(`span`,{className:`min-w-0 truncate font-medium text-gray-800 dark:text-gray-400`,children:e.post?.title||`Unknown post`})]}),(0,Y.jsx)(`div`,{dangerouslySetInnerHTML:{__html:e.html||``},className:`prose mt-2 line-clamp-2 text-sm [&_*]:text-sm [&_*]:leading-[1.5em] [&_p]:m-0`})]})]})}),(0,Y.jsx)(`div`,{className:`-mx-1 max-h-64 overflow-y-auto px-1`,children:i?(0,Y.jsx)(`div`,{className:`flex justify-center py-4`,children:(0,Y.jsx)(V,{size:`md`})}):(0,Y.jsx)(`div`,{className:`flex flex-col gap-3 pb-1`,children:a.map(e=>(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Y.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,Y.jsx)(L,{email:e.member?.email,name:e.member?.name,src:e.member?.avatar_image}),(0,Y.jsx)(`div`,{className:`absolute -right-0.5 -bottom-0.5 flex size-4 items-center justify-center rounded-full bg-red text-white`,children:(0,Y.jsx)(k,{className:`size-2.5`,fill:`currentColor`})})]}),(0,Y.jsx)(`span`,{className:`font-medium`,children:e.member?P(e.member):`Deleted member`})]}),(0,Y.jsx)(`span`,{className:`shrink-0 text-sm text-muted-foreground`,children:f(e.created_at)})]},e.id))})}),(0,Y.jsx)(F,{children:(0,Y.jsx)(M,{onClick:()=>n(!1),children:`OK`})})]})})}function Z(e,t){if(!t)return;let n=new URLSearchParams(e);return n.set(`thread`,`is:${t}`),`?${n.toString()}`}function Q({icon:e,count:t,label:n,to:r,onClick:i,className:a,testId:o}){let s=u(`flex items-center gap-1 text-xs text-gray-800`,a),c=(0,Y.jsxs)(Y.Fragment,{children:[e,(0,Y.jsx)(`span`,{children:d(t)})]}),f=r||i;return(0,Y.jsxs)(z,{children:[(0,Y.jsx)(B,{asChild:!0,children:r?(0,Y.jsx)(l,{className:u(s,`cursor-pointer hover:opacity-70`),"data-testid":o,to:r,onClick:e=>{e.stopPropagation()},children:c}):i?(0,Y.jsx)(`button`,{className:u(s,`cursor-pointer hover:opacity-70`),"data-testid":o,type:`button`,onClick:e=>{e.stopPropagation(),i()},children:c}):(0,Y.jsx)(`div`,{className:s,"data-testid":o,children:c})}),(0,Y.jsx)(H,{children:f?`View ${n.toLowerCase()}`:n})]})}function Vt({comment:e,dislikesEnabled:t,className:n}){let[r]=c(),[i,a]=(0,q.useState)(!1),[o,s]=(0,q.useState)(`likes`),[l,d]=(0,q.useState)(!1),f=Z(r,e.id),p=e.count?.direct_replies??e.replies?.length??0,m=e.count?.likes??0,h=t?e.count?.dislikes??0:0,g=e.count?.reports??0,_=p>0,v=m>0,y=h>0,b=g>0;return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:u(`flex items-center gap-6`,n),children:[(0,Y.jsx)(Q,{count:p,icon:(0,Y.jsx)(Ae,{size:16,strokeWidth:1.5}),label:`Replies`,testId:`replies-metric`,to:_?f:void 0}),t?(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Y.jsx)(Q,{count:m,icon:(0,Y.jsx)(ue,{size:16,strokeWidth:1.5}),label:`Likes`,testId:`likes-metric`,onClick:v?()=>{s(`likes`),a(!0)}:void 0}),(0,Y.jsx)(Q,{count:h,icon:(0,Y.jsx)(Se,{size:16,strokeWidth:1.5}),label:`Dislikes`,testId:`dislikes-metric`,onClick:y?()=>{s(`dislikes`),a(!0)}:void 0})]}):(0,Y.jsx)(Q,{count:m,icon:(0,Y.jsx)(we,{size:16,strokeWidth:1.5}),label:`Likes`,onClick:v?()=>a(!0):void 0}),(0,Y.jsx)(Q,{className:b?`font-semibold text-red`:void 0,count:g,icon:(0,Y.jsx)(k,{size:16,strokeWidth:1.5}),label:`Reports`,onClick:b?()=>d(!0):void 0})]}),(0,Y.jsx)(zt,{comment:e,defaultTab:o,dislikesEnabled:t,open:i,onOpenChange:a}),(0,Y.jsx)(Bt,{comment:e,open:l,onOpenChange:d})]})}function Ht({hasReplies:e}){return e?(0,Y.jsx)(`div`,{className:`mb-2 h-full w-px grow rounded bg-gradient-to-b from-muted-foreground/20 from-70% to-transparent`,"data-testid":`replies-line`}):null}function Ut({comment:e,dislikesEnabled:t,isReply:n=!1,isSelectedComment:r=!1,selectedCommentId:i}){let[a]=c(),{mutate:o}=vt(),{mutate:s}=yt(),{mutate:d}=xt(),f=Lt(),p=(e.replies?.length??0)>0||(e.count?.direct_replies??e.count?.replies??0)>0;return(0,Y.jsxs)(`div`,{className:`flex w-full flex-row ${!p||n?`mb-7`:`mb-0`}`,children:[(0,Y.jsxs)(`div`,{className:`mr-2 flex shrink-0 flex-col items-center justify-start md:mr-3`,children:[(0,Y.jsx)(L,{className:u(`mb-3 size-6 md:mb-4 md:size-8`,e.status===`hidden`&&`opacity-50`),email:e.member?.email,name:e.member?.name,src:e.member?.avatar_image}),(0,Y.jsx)(Ht,{hasReplies:p&&!n})]}),(0,Y.jsx)(`div`,{className:`grow`,children:(0,Y.jsxs)(`div`,{className:`w-full`,"data-testid":`comment-thread-row-${e.id}`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,Y.jsx)(Ft,{canComment:e.member?.can_comment,createdAt:e.created_at,isHidden:e.status===`hidden`,isPinned:f&&e.pinned,memberId:e.member?.id,memberName:e.member?.name,onUnpinClick:f?()=>d({id:e.id}):void 0}),e.in_reply_to_snippet&&r&&(0,Y.jsxs)(`div`,{className:`mb-1 line-clamp-1 text-sm ${e.status===`hidden`&&`opacity-50`}`,children:[(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:`Replied to:`}),`\xA0`,(0,Y.jsx)(l,{className:`text-sm font-normal text-muted-foreground hover:text-foreground`,"data-testid":`replied-to-link`,to:Z(a,e.in_reply_to_id||e.parent_id)||``,onClick:e=>{e.stopPropagation()},children:e.in_reply_to_snippet})]}),(0,Y.jsx)(Mt,{item:e}),(0,Y.jsxs)(`div`,{className:`mt-4 flex flex-row flex-wrap items-center gap-3`,children:[e.status===`published`&&(0,Y.jsxs)(M,{className:`text-gray-800`,size:`sm`,variant:`outline`,onClick:()=>o({id:e.id}),children:[(0,Y.jsx)(me,{}),(0,Y.jsx)(`span`,{className:`max-md:hidden`,children:`Hide`})]}),e.status===`hidden`&&(0,Y.jsxs)(M,{className:`text-gray-800`,size:`sm`,variant:`outline`,onClick:()=>s({id:e.id}),children:[(0,Y.jsx)(Te,{}),(0,Y.jsx)(`span`,{className:`max-md:hidden`,children:`Show`})]}),(0,Y.jsx)(Vt,{comment:e,dislikesEnabled:t}),(0,Y.jsx)(Rt,{comment:e})]})]}),p&&e.replies&&(0,Y.jsx)(`div`,{className:`mt-7 mb-4 -ml-2 pl-2 md:mt-8 md:mb-0 md:-ml-3 md:pl-3`,children:e.replies.map(e=>(0,Y.jsx)(Ut,{comment:e,dislikesEnabled:t,isReply:!0,selectedCommentId:i},e.id))})]})})]})}var Wt=({selectedComment:e,dislikesEnabled:t,replies:n,selectedCommentId:r,fetchNextPage:i,hasNextPage:a,isFetchingNextPage:o})=>(0,Y.jsxs)(`div`,{className:`flex flex-col`,"data-testid":`comment-thread-list`,children:[(0,Y.jsx)(Ut,{comment:{...e,replies:n},dislikesEnabled:t,isSelectedComment:!0,selectedCommentId:r}),a&&(0,Y.jsx)(`div`,{className:`flex justify-center pb-4`,children:(0,Y.jsx)(M,{disabled:o,variant:`outline`,onClick:()=>i(),children:o?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(V,{size:`sm`}),`Loading...`]}):`Load more replies`})})]}),Gt=({commentId:e,dislikesEnabled:t,open:n,onOpenChange:r})=>{let{data:i,isLoading:a,isError:o,fetchNextPage:s,hasNextPage:c,isFetchingNextPage:l}=At(e??``,{dislikesEnabled:t,enabled:n&&!!e}),{data:u,isLoading:d,isError:f}=Ct(e??``,{dislikesEnabled:t,enabled:n&&!!e}),p=a||d,m=f||o&&!u,h=u?.comments?.[0],g=i?.comments||[];return(0,Y.jsx)(pe,{open:n,onOpenChange:r,children:(0,Y.jsxs)(he,{className:`overflow-y-auto px-6 pt-0 sm:max-w-[420px]`,children:[(0,Y.jsx)(re,{className:`sticky top-0 z-40 -mx-6 bg-surface-elevated/60 p-6 backdrop-blur`,children:(0,Y.jsx)(ce,{className:`text-md`,children:`Thread`})}),h?.post&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`h3`,{className:`line-clamp-1 text-xl font-semibold text-foreground`,children:h.post.title}),h.post.excerpt&&(0,Y.jsx)(`p`,{className:`mt-1 line-clamp-2 text-sm text-muted-foreground`,children:h.post.excerpt})]}),h.post.feature_image&&(0,Y.jsx)(`img`,{alt:h.post.title||`Post feature image`,className:`hidden aspect-video h-18 shrink-0 rounded object-cover lg:block`,src:h.post.feature_image})]}),(0,Y.jsx)(ae,{className:`-mx-6 my-6 w-auto`})]}),(0,Y.jsx)(`div`,{children:p?(0,Y.jsx)(`div`,{className:`flex h-full items-center justify-center py-8`,children:(0,Y.jsx)(V,{size:`lg`})}):m||!h?(0,Y.jsx)(`div`,{className:`flex h-full items-center justify-center py-8`,children:(0,Y.jsx)(S,{actions:(0,Y.jsx)(M,{variant:`outline`,onClick:()=>r(!1),children:`Back to comments`}),description:`This thread may have been deleted or doesn't exist.`,title:`Thread not found`,children:(0,Y.jsx)(I,{})})}):(0,Y.jsx)(Wt,{dislikesEnabled:t,fetchNextPage:()=>void s(),hasNextPage:c,isFetchingNextPage:l,replies:g,selectedComment:h,selectedCommentId:e??``})})]})})},Kt=({height:e})=>(0,Y.jsx)(`div`,{"aria-hidden":`true`,className:`flex`,children:(0,Y.jsx)(`div`,{className:`flex`,style:{height:e}})}),qt=(0,q.forwardRef)(function(e,t){return(0,Y.jsx)(`div`,{ref:t,...e,"aria-hidden":`true`,className:`relative flex flex-col`,children:(0,Y.jsx)(`div`,{className:`relative z-10 h-24 animate-pulse`,children:(0,Y.jsx)(`div`,{className:`h-full rounded-md bg-muted`,"data-testid":`loading-placeholder`})})})});function Jt({items:e,totalItems:t,hasNextPage:n,isFetchingNextPage:r,fetchNextPage:i,resetKey:a,onAddFilter:o,isLoading:s,dislikesEnabled:d}){let f=(0,q.useRef)(null),{visibleItemCount:p,canLoadMore:m,loadMore:h}=at(t,{resetKey:a}),[g,_]=c(),[v,y]=(0,q.useState)(!1),[b,x]=(0,q.useState)(null),{mutate:S}=vt(),{mutate:C}=yt(),{mutate:w}=xt(),T=Lt(),E=e=>{if(y(e),!e){let e=new URLSearchParams(g);e.delete(`thread`),_(e,{replace:!0})}};(0,q.useEffect)(()=>{let e=g.get(`thread`);if(e){let t=e.match(/^is:(.+)$/);if(t&&t[1]){let e=t[1];x(e),y(!0)}else y(!1),x(null)}else y(!1),x(null)},[g]),it({parentRef:f,isLoading:s});let{visibleItems:D,spaceBefore:O,spaceAfter:k}=rt({items:e,totalItems:p,hasNextPage:n,isFetchingNextPage:r,fetchNextPage:i,parentRef:f});return(0,Y.jsx)(Ne,{children:(0,Y.jsxs)(`div`,{ref:f,className:`overflow-hidden border-t`,children:[(0,Y.jsx)(`div`,{className:`flex flex-col`,"data-testid":`comments-list`,children:(0,Y.jsxs)(`div`,{className:`flex flex-col`,children:[(0,Y.jsx)(Kt,{height:O}),D.map(({key:t,virtualItem:n,item:r,props:i})=>n.index>e.length-1?(0,Y.jsx)(qt,{...i},t):(0,Y.jsxs)(`div`,{...i,className:`grid w-full grid-cols-1 items-start justify-between gap-4 border-b p-3 hover:bg-table-row-hover md:p-5 lg:grid-cols-[minmax(0,1fr)_144px]`,"data-testid":`comment-list-row`,onClick:()=>{v&&E(!1)},children:[(0,Y.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Y.jsx)(L,{className:u(`mt-0.5 size-6 md:size-8`,r.status===`hidden`&&`opacity-50`),email:r.member?.email,name:r.member?.name,src:r.member?.avatar_image}),(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(Ft,{canComment:r.member?.can_comment,createdAt:r.created_at,isHidden:r.status===`hidden`,isPinned:T&&r.pinned,memberId:r.member?.id,memberName:r.member?.name,postTitle:r.post?.title,onAuthorClick:r.member?.id?()=>o(`author`,r.member.id):void 0,onPostClick:r.post?.id?()=>o(`post`,r.post.id):void 0,onUnpinClick:T?()=>w({id:r.id}):void 0}),r.in_reply_to_snippet&&(0,Y.jsxs)(`div`,{className:`mb-1 line-clamp-1 max-w-3xl ${r.status===`hidden`&&`opacity-50`}`,children:[(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:`Replied to:`}),`\xA0`,(0,Y.jsx)(l,{className:`text-sm font-normal text-muted-foreground hover:text-foreground`,"data-testid":`replied-to-link`,to:Z(g,r.in_reply_to_id||r.parent_id)||``,onClick:e=>{e.stopPropagation()},children:r.in_reply_to_snippet})]})]}),(0,Y.jsx)(Mt,{item:r}),(0,Y.jsxs)(`div`,{className:`flex flex-row flex-nowrap items-center gap-3`,children:[r.status===`published`&&(0,Y.jsxs)(M,{className:`text-foreground`,size:`sm`,variant:`outline`,onClick:()=>S({id:r.id}),children:[(0,Y.jsx)(me,{}),`Hide`]}),r.status===`hidden`&&(0,Y.jsxs)(M,{className:`text-foreground`,size:`sm`,variant:`outline`,onClick:()=>C({id:r.id}),children:[(0,Y.jsx)(Te,{}),`Show`]}),(0,Y.jsx)(Vt,{className:`ml-2`,comment:r,dislikesEnabled:d}),(0,Y.jsx)(Rt,{comment:r})]})]})]}),(0,Y.jsx)(`div`,{children:r.post?.feature_image?(0,Y.jsx)(`img`,{alt:r.post.title||`Post feature image`,className:`hidden aspect-video w-36 rounded object-cover lg:block ${r.status===`hidden`&&`opacity-50`}`,src:r.post.feature_image}):null})]},t)),(0,Y.jsx)(Kt,{height:k})]})}),m&&(0,Y.jsx)(ot,{isLoading:r,onClick:h}),(0,Y.jsx)(Gt,{commentId:b,dislikesEnabled:d,open:v,onOpenChange:E})]})})}var Yt=Ke(J,`date`);function Xt(e){return Re(J,e.field,`UTC`)?.definition.operators.includes(e.operator)??!1}function Zt(e,t){return Array.isArray(e.$and)?e.$and.flatMap(e=>Zt(e,t)):We([e],J,t)}function Qt(e,t){let n=Ie(e??``);return n?qe(Zt(n,t).filter(Xt)):[]}function $t(e){let t=Ie(e??``);return t?Ve(t,Yt):!1}function $(e,t){return Ge(e.filter(Xt),J,t)}var en=[`status`,`created_at`,`body`,`post`,`author`,`reported`],tn={is_not:`is-not`,not_contains:`does-not-contain`,before:`is-less`,after:`is-greater`,on_or_before:`is-or-less`,on_or_after:`is-or-greater`};function nn(e){let t=e.indexOf(`:`);if(t<=0)return null;let n=e.substring(0,t),r=e.substring(t+1);return r?{operator:tn[n]??n,value:r}:null}function rn(e){let t=[];for(let[n,r]of e.entries()){if(!en.includes(n))continue;let e=nn(r);e&&t.push({id:`${n}:${t.length+1}`,field:n,operator:e.operator,values:[e.value]})}return t}function an(e){en.forEach(t=>e.delete(t))}function on(e,t,n){let r=new URLSearchParams(e),i=$(t,n);return r.delete(`filter`),an(r),i&&r.set(`filter`,i),r}function sn(e,t,n=!t){return!!e&&n&&!t&&$t(e)}function cn(e){let[t,n]=c(),r=(0,q.useRef)(null),i=(0,q.useMemo)(()=>t.get(`filter`)??void 0,[t]),a=(0,q.useMemo)(()=>t.toString(),[t]),o=(0,q.useMemo)(()=>i===void 0?rn(t):Qt(i,e),[i,t,e]),[s,l]=(0,q.useState)(o),u=(0,q.useMemo)(()=>$(s,e),[s,e]);return(0,q.useEffect)(()=>{a!==r.current&&(l(o),r.current=a)},[a,o]),(0,q.useEffect)(()=>{if(r.current!==null&&a!==r.current)return;let i=on(t,s,e),o=i.toString();o!==a&&(r.current=o,n(i,{replace:!0}))},[a,s,t,n,e]),{filters:s,nql:u,setFilters:(0,q.useCallback)((i,a={})=>{let o=typeof i==`function`?i(s):i,c=on(t,o,e),u=a.replace??!0;l(o),r.current=c.toString(),n(c,{replace:u})},[s,t,n,e]),clearFilters:(0,q.useCallback)(({replace:e=!0}={})=>{let i=new URLSearchParams(t);i.delete(`filter`),an(i),l([]),r.current=i.toString(),n(i,{replace:e})},[t,n])}}function ln(e){return e.get(`id`)?.match(/^is:(.+)$/)?.[1]}var un=({timezone:e,singleCommentId:t})=>{let[n,i]=c(),{filters:a,nql:o,setFilters:l}=cn(e),u=(0,q.useCallback)((r,o,s=`is`)=>{let c=[...a.filter(e=>e.field!==r),b(r,s,[o])];if(!t){l(c,{replace:!1});return}let u=new URLSearchParams(n),d=$(c,e);u.delete(`id`),u.delete(`filter`),d&&u.set(`filter`,d),i(u,{replace:!1})},[a,n,l,i,t,e]),d=(0,q.useMemo)(()=>t?`id:${s(t)}`:o,[o,t]),f=(0,q.useCallback)(()=>{i(new URLSearchParams,{replace:!1})},[i]),{data:h,isError:g,isFetching:_,isFetchingNextPage:v,isRefetching:y,fetchNextPage:x,hasNextPage:C}=_t({searchParams:{include:mt(!0),...d?{filter:d}:{}},placeholderData:r}),w=_&&!v&&!y,T=d??``,E=a.length>0;return(0,Y.jsx)(p,{className:`size-full`,children:(0,Y.jsx)(m,{className:`relative flex h-full flex-col`,size:`page`,children:(0,Y.jsxs)(K,{"data-testid":`comments-page`,children:[(0,Y.jsxs)(K.Header,{children:[(0,Y.jsxs)(W,{blurredBackground:!1,sticky:!1,children:[(0,Y.jsx)(W.Left,{children:(0,Y.jsx)(W.Title,{children:`Comments`})}),!t&&!E&&(0,Y.jsx)(W.Actions,{children:(0,Y.jsx)(W.ActionGroup,{children:(0,Y.jsx)(ft,{filters:a,siteTimezone:e,onFiltersChange:l})})})]}),!t&&E&&(0,Y.jsx)(Ze,{children:(0,Y.jsx)(ft,{filters:a,siteTimezone:e,onFiltersChange:l})})]}),(0,Y.jsx)(K.Body,{children:w?(0,Y.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,Y.jsx)(V,{size:`lg`})}):g?(0,Y.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center`,children:[(0,Y.jsx)(`h2`,{className:`mb-2 text-xl font-medium`,children:`Error loading comments`}),(0,Y.jsx)(`p`,{className:`mb-4 text-muted-foreground`,children:`Please reload the page to try again`}),(0,Y.jsx)(M,{onClick:()=>window.location.reload(),children:`Reload page`})]}):h?.comments.length?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Jt,{dislikesEnabled:!0,fetchNextPage:()=>void x(),hasNextPage:C,isFetchingNextPage:v,isLoading:_&&!v,items:h?.comments??[],resetKey:T,totalItems:h?.meta?.pagination?.total??0,onAddFilter:u}),t&&(0,Y.jsx)(`div`,{className:`flex justify-center py-8`,children:(0,Y.jsx)(M,{variant:`outline`,onClick:f,children:`Show all comments`})})]}):(0,Y.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:t?(0,Y.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,Y.jsx)(S,{title:`Comment not found`,children:(0,Y.jsx)(I,{})}),(0,Y.jsx)(M,{className:`mt-4`,variant:`outline`,onClick:f,children:`Show all comments`})]}):(0,Y.jsx)(S,{title:`No comments yet`,children:(0,Y.jsx)(I,{})})})})]})})})},dn=()=>{let[e]=c(),{data:t,isLoading:n}=ne({}),r=(0,q.useMemo)(()=>ln(e),[e]),i=e.get(`filter`)??void 0;if(!r&&sn(i,!!t,n))return(0,Y.jsx)(p,{className:`size-full`,children:(0,Y.jsx)(m,{className:`relative flex h-full flex-col`,size:`page`,children:(0,Y.jsxs)(K,{children:[(0,Y.jsx)(K.Header,{children:(0,Y.jsx)(W,{blurredBackground:!1,sticky:!1,children:(0,Y.jsx)(W.Left,{children:(0,Y.jsx)(W.Title,{children:`Comments`})})})}),(0,Y.jsx)(K.Body,{children:(0,Y.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,Y.jsx)(V,{size:`lg`})})})]})})});let a=st(t?.settings??[]);return(0,Y.jsx)(un,{singleCommentId:r,timezone:a})};export{dn as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e=`email,authors,tags,tiers,count.clicks,count.signups,count.paid_conversions,count.positive_feedback,count.negative_feedback,newsletter`;export{e 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{a as i}from"./dist-DGzPJ_bO.js";import{n as a,r as o,t as s}from"./dist-CQJY6SVY.js";import{t as c}from"./dist-P_ohUlTi.js";var l=e(t(),1),u=[`top`,`right`,`bottom`,`left`],d=Math.min,f=Math.max,p=Math.round,m=Math.floor,h=e=>({x:e,y:e}),g={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function _(e,t,n){return f(e,d(t,n))}function v(e,t){return typeof e==`function`?e(t):e}function y(e){return e.split(`-`)[0]}function b(e){return e.split(`-`)[1]}function x(e){return e===`x`?`y`:`x`}function S(e){return e===`y`?`height`:`width`}function C(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function w(e){return x(C(e))}function T(e,t,n){n===void 0&&(n=!1);let r=b(e),i=w(e),a=S(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=P(o)),[o,P(o)]}function E(e){let t=P(e);return[D(e),t,D(t)]}function D(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var O=[`left`,`right`],k=[`right`,`left`],A=[`top`,`bottom`],j=[`bottom`,`top`];function M(e,t,n){switch(e){case`top`:case`bottom`:return n?t?k:O:t?O:k;case`left`:case`right`:return t?A:j;default:return[]}}function N(e,t,n,r){let i=b(e),a=M(y(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(D)))),a}function P(e){let t=y(e);return g[t]+e.slice(t.length)}function ee(e){return{top:0,right:0,bottom:0,left:0,...e}}function te(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:ee(e)}function F(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function I(e,t,n){let{reference:r,floating:i}=e,a=C(t),o=w(t),s=S(o),c=y(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(b(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function L(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=v(t,e),p=te(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=F(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),y=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},b=F(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-b.top+p.top)/y.y,bottom:(b.bottom-h.bottom+p.bottom)/y.y,left:(h.left-b.left+p.left)/y.x,right:(b.right-h.right+p.right)/y.x}}var R=50,ne=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:L},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=I(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<R&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=I(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},re=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=v(e,t)||{};if(l==null)return{};let f=te(u),p={x:n,y:r},m=w(i),h=S(m),g=await o.getDimensions(l),y=m===`y`,x=y?`top`:`left`,C=y?`bottom`:`right`,T=y?`clientHeight`:`clientWidth`,E=a.reference[h]+a.reference[m]-p[m]-a.floating[h],D=p[m]-a.reference[m],O=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),k=O?O[T]:0;(!k||!await(o.isElement==null?void 0:o.isElement(O)))&&(k=s.floating[T]||a.floating[h]);let A=E/2-D/2,j=k/2-g[h]/2-1,M=d(f[x],j),N=d(f[C],j),P=M,ee=k-g[h]-N,F=k/2-g[h]/2+A,I=_(P,F,ee),L=!c.arrow&&b(i)!=null&&F!==I&&a.reference[h]/2-(F<P?M:N)-g[h]/2<0,R=L?F<P?F-P:F-ee:0;return{[m]:p[m]+R,data:{[m]:I,centerOffset:F-I-R,...L&&{alignmentOffset:R}},reset:L}}}),ie=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=v(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=y(r),_=C(o),b=y(o)===o,x=await(s.isRTL==null?void 0:s.isRTL(c.floating)),S=d||(b||!m?[P(o)]:E(o)),w=p!==`none`;!d&&w&&S.push(...N(o,m,p,x));let D=[o,...S],O=await s.detectOverflow(t,h),k=[],A=i.flip?.overflows||[];if(l&&k.push(O[g]),u){let e=T(r,a,x);k.push(O[e[0]],O[e[1]])}if(A=[...A,{placement:r,overflows:k}],!k.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=D[e];if(t&&(!(u===`alignment`&&_!==C(t))||A.every(e=>C(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:A},reset:{placement:t}};let n=A.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=A.filter(e=>{if(w){let t=C(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function ae(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function oe(e){return u.some(t=>e[t]>=0)}var se=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=v(e,t);switch(i){case`referenceHidden`:{let e=ae(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:oe(e)}}}case`escaped`:{let e=ae(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:oe(e)}}}default:return{}}}}},ce=new Set([`left`,`top`]);async function le(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=y(n),s=b(n),c=C(n)===`y`,l=ce.has(o)?-1:1,u=a&&c?-1:1,d=v(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var ue=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await le(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},de=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=v(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=C(y(i)),p=x(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=_(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=_(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},fe=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=v(e,t),u={x:n,y:r},d=C(i),f=x(d),p=u[f],m=u[d],h=v(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=ce.has(y(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},pe=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=v(e,t),u=await o.detectOverflow(t,l),p=y(i),m=b(i),h=C(i)===`y`,{width:g,height:_}=a.floating,x,S;p===`top`||p===`bottom`?(x=p,S=m===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(S=p,x=m===`end`?`top`:`bottom`);let w=_-u.top-u.bottom,T=g-u.left-u.right,E=d(_-u[x],w),D=d(g-u[S],T),O=!t.middlewareData.shift,k=E,A=D;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(A=T),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(k=w),O&&!m){let e=f(u.left,0),t=f(u.right,0),n=f(u.top,0),r=f(u.bottom,0);h?A=g-2*(e!==0||t!==0?e+t:f(u.left,u.right)):k=_-2*(n!==0||r!==0?n+r:f(u.top,u.bottom))}await c({...t,availableWidth:A,availableHeight:k});let j=await o.getDimensions(s.floating);return g!==j.width||_!==j.height?{reset:{rects:!0}}:{}}}};function z(){return typeof window<`u`}function B(e){return me(e)?(e.nodeName||``).toLowerCase():`#document`}function V(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function H(e){return((me(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function me(e){return z()?e instanceof Node||e instanceof V(e).Node:!1}function U(e){return z()?e instanceof Element||e instanceof V(e).Element:!1}function W(e){return z()?e instanceof HTMLElement||e instanceof V(e).HTMLElement:!1}function he(e){return!z()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof V(e).ShadowRoot}function G(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=J(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function ge(e){return/^(table|td|th)$/.test(B(e))}function _e(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var ve=/transform|translate|scale|rotate|perspective|filter/,ye=/paint|layout|strict|content/,K=e=>!!e&&e!==`none`,be;function xe(e){let t=U(e)?J(e):e;return K(t.transform)||K(t.translate)||K(t.scale)||K(t.rotate)||K(t.perspective)||!Ce()&&(K(t.backdropFilter)||K(t.filter))||ve.test(t.willChange||``)||ye.test(t.contain||``)}function Se(e){let t=Y(e);for(;W(t)&&!q(t);){if(xe(t))return t;if(_e(t))return null;t=Y(t)}return null}function Ce(){return be??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),be}function q(e){return/^(html|body|#document)$/.test(B(e))}function J(e){return V(e).getComputedStyle(e)}function we(e){return U(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Y(e){if(B(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||he(e)&&e.host||H(e);return he(t)?t.host:t}function Te(e){let t=Y(e);return q(t)?e.ownerDocument?e.ownerDocument.body:e.body:W(t)&&G(t)?t:Te(t)}function X(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Te(e),i=r===e.ownerDocument?.body,a=V(r);if(i){let e=Ee(a);return t.concat(a,a.visualViewport||[],G(r)?r:[],e&&n?X(e):[])}else return t.concat(r,X(r,[],n))}function Ee(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function De(e){let t=J(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=W(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=p(n)!==a||p(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Oe(e){return U(e)?e:e.contextElement}function Z(e){let t=Oe(e);if(!W(t))return h(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=De(t),o=(a?p(n.width):n.width)/r,s=(a?p(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var ke=h(0);function Ae(e){let t=V(e);return!Ce()||!t.visualViewport?ke:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function je(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==V(e)?!1:t}function Q(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Oe(e),o=h(1);t&&(r?U(r)&&(o=Z(r)):o=Z(e));let s=je(a,n,r)?Ae(a):h(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=V(a),t=r&&U(r)?V(r):r,n=e,i=Ee(n);for(;i&&r&&t!==n;){let e=Z(i),t=i.getBoundingClientRect(),r=J(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=V(i),i=Ee(n)}}return F({width:u,height:d,x:c,y:l})}function Me(e,t){let n=we(e).scrollLeft;return t?t.left+n:Q(H(e)).left+n}function Ne(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Me(e,n),y:n.top+t.scrollTop}}function Pe(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=H(r),s=t?_e(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=h(1),u=h(0),d=W(r);if((d||!d&&!a)&&((B(r)!==`body`||G(o))&&(c=we(r)),d)){let e=Q(r);l=Z(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Ne(o,c):h(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Fe(e){return Array.from(e.getClientRects())}function Ie(e){let t=H(e),n=we(e),r=e.ownerDocument.body,i=f(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=f(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Me(e),s=-n.scrollTop;return J(r).direction===`rtl`&&(o+=f(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Le=25;function Re(e,t){let n=V(e),r=H(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Ce();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Me(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=Le&&(a-=o)}else l<=Le&&(a+=l);return{width:a,height:o,x:s,y:c}}function ze(e,t){let n=Q(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=W(e)?Z(e):h(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Be(e,t,n){let r;if(t===`viewport`)r=Re(e,n);else if(t===`document`)r=Ie(H(e));else if(U(t))r=ze(t,n);else{let n=Ae(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return F(r)}function Ve(e,t){let n=Y(e);return n===t||!U(n)||q(n)?!1:J(n).position===`fixed`||Ve(n,t)}function He(e,t){let n=t.get(e);if(n)return n;let r=X(e,[],!1).filter(e=>U(e)&&B(e)!==`body`),i=null,a=J(e).position===`fixed`,o=a?Y(e):e;for(;U(o)&&!q(o);){let t=J(o),n=xe(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||G(o)&&!n&&Ve(e,o))?r=r.filter(e=>e!==o):i=t,o=Y(o)}return t.set(e,r),r}function Ue(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?_e(t)?[]:He(t,this._c):[].concat(n),r],o=Be(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Be(t,a[e],i);s=f(n.top,s),c=d(n.right,c),l=d(n.bottom,l),u=f(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function We(e){let{width:t,height:n}=De(e);return{width:t,height:n}}function Ge(e,t,n){let r=W(t),i=H(t),a=n===`fixed`,o=Q(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=h(0);function l(){c.x=Me(i)}if(r||!r&&!a)if((B(t)!==`body`||G(i))&&(s=we(t)),r){let e=Q(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Ne(i,s):h(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function Ke(e){return J(e).position===`static`}function qe(e,t){if(!W(e)||J(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return H(e)===n&&(n=n.ownerDocument.body),n}function Je(e,t){let n=V(e);if(_e(e))return n;if(!W(e)){let t=Y(e);for(;t&&!q(t);){if(U(t)&&!Ke(t))return t;t=Y(t)}return n}let r=qe(e,t);for(;r&&ge(r)&&Ke(r);)r=qe(r,t);return r&&q(r)&&Ke(r)&&!xe(r)?n:r||Se(e)||n}var Ye=async function(e){let t=this.getOffsetParent||Je,n=this.getDimensions,r=await n(e.floating);return{reference:Ge(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Xe(e){return J(e).direction===`rtl`}var Ze={convertOffsetParentRelativeRectToViewportRelativeRect:Pe,getDocumentElement:H,getClippingRect:Ue,getOffsetParent:Je,getElementRects:Ye,getClientRects:Fe,getDimensions:We,getScale:Z,isElement:U,isRTL:Xe};function Qe(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function $e(e,t){let n=null,r,i=H(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:p,width:h,height:g}=l;if(s||t(),!h||!g)return;let _=m(p),v=m(i.clientWidth-(u+h)),y=m(i.clientHeight-(p+g)),b=m(u),x={rootMargin:-_+`px `+-v+`px `+-y+`px `+-b+`px`,threshold:f(0,d(1,c))||1},S=!0;function C(t){let n=t[0].intersectionRatio;if(n!==c){if(!S)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!Qe(l,e.getBoundingClientRect())&&o(),S=!1}try{n=new IntersectionObserver(C,{...x,root:i.ownerDocument})}catch{n=new IntersectionObserver(C,x)}n.observe(e)}return o(!0),a}function et(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Oe(e),u=i||a?[...l?X(l):[],...t?X(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?$e(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Q(e):null;c&&g();function g(){let t=Q(e);h&&!Qe(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var tt=ue,nt=de,rt=ie,it=pe,at=se,ot=re,st=fe,ct=(e,t,n)=>{let r=new Map,i={platform:Ze,...n},a={...i.platform,_c:r};return ne(e,t,{...i,platform:a})},lt=e(n(),1),ut=typeof document<`u`?l.useLayoutEffect:function(){};function dt(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!dt(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!dt(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function ft(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function pt(e,t){let n=ft(e);return Math.round(t*n)/n}function mt(e){let t=l.useRef(e);return ut(()=>{t.current=e}),t}function ht(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:u}=e,[d,f]=l.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,m]=l.useState(r);dt(p,r)||m(r);let[h,g]=l.useState(null),[_,v]=l.useState(null),y=l.useCallback(e=>{e!==C.current&&(C.current=e,g(e))},[]),b=l.useCallback(e=>{e!==w.current&&(w.current=e,v(e))},[]),x=a||h,S=o||_,C=l.useRef(null),w=l.useRef(null),T=l.useRef(d),E=c!=null,D=mt(c),O=mt(i),k=mt(u),A=l.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:p};O.current&&(e.platform=O.current),ct(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!dt(T.current,t)&&(T.current=t,lt.flushSync(()=>{f(t)}))})},[p,t,n,O,k]);ut(()=>{u===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[u]);let j=l.useRef(!1);ut(()=>(j.current=!0,()=>{j.current=!1}),[]),ut(()=>{if(x&&(C.current=x),S&&(w.current=S),x&&S){if(D.current)return D.current(x,S,A);A()}},[x,S,A,D,E]);let M=l.useMemo(()=>({reference:C,floating:w,setReference:y,setFloating:b}),[y,b]),N=l.useMemo(()=>({reference:x,floating:S}),[x,S]),P=l.useMemo(()=>{let e={position:n,left:0,top:0};if(!N.floating)return e;let t=pt(N.floating,d.x),r=pt(N.floating,d.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...ft(N.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,N.floating,d.x,d.y]);return l.useMemo(()=>({...d,update:A,refs:M,elements:N,floatingStyles:P}),[d,A,M,N,P])}var gt=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:ot({element:r.current,padding:i}).fn(n):r?ot({element:r,padding:i}).fn(n):{}}}},_t=(e,t)=>{let n=tt(e);return{name:n.name,fn:n.fn,options:[e,t]}},vt=(e,t)=>{let n=nt(e);return{name:n.name,fn:n.fn,options:[e,t]}},yt=(e,t)=>({fn:st(e).fn,options:[e,t]}),bt=(e,t)=>{let n=rt(e);return{name:n.name,fn:n.fn,options:[e,t]}},xt=(e,t)=>{let n=it(e);return{name:n.name,fn:n.fn,options:[e,t]}},St=(e,t)=>{let n=at(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ct=(e,t)=>{let n=gt(e);return{name:n.name,fn:n.fn,options:[e,t]}},$=r(),wt=`Arrow`,Tt=l.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,$.jsx)(c.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,$.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});Tt.displayName=wt;var Et=Tt;function Dt(e){let[t,n]=l.useState(void 0);return a(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var Ot=`Popper`,[kt,At]=o(Ot),[jt,Mt]=kt(Ot),Nt=e=>{let{__scopePopper:t,children:n}=e,[r,i]=l.useState(null),[a,o]=l.useState(void 0);return(0,$.jsx)(jt,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})};Nt.displayName=Ot;var Pt=`PopperAnchor`,Ft=l.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...a}=e,o=Mt(Pt,n),s=l.useRef(null),u=o.onAnchorChange,d=i(t,l.useCallback(e=>{s.current=e,e&&u(e)},[u])),f=l.useRef(null);l.useEffect(()=>{if(!r)return;let e=f.current;f.current=r.current,e!==f.current&&u(f.current)});let p=o.placementState&&Gt(o.placementState),m=p?.[0],h=p?.[1];return r?null:(0,$.jsx)(c.div,{"data-radix-popper-side":m,"data-radix-popper-align":h,...a,ref:d})});Ft.displayName=Pt;var It=`PopperContent`,[Lt,Rt]=kt(It),zt=l.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:o=0,align:u=`center`,alignOffset:d=0,arrowPadding:f=0,avoidCollisions:p=!0,collisionBoundary:m=[],collisionPadding:h=0,sticky:g=`partial`,hideWhenDetached:_=!1,updatePositionStrategy:v=`optimized`,onPlaced:y,...b}=e,x=Mt(It,n),[S,C]=l.useState(null),w=i(t,C),[T,E]=l.useState(null),D=Dt(T),O=D?.width??0,k=D?.height??0,A=r+(u===`center`?``:`-`+u),j=typeof h==`number`?h:{top:0,right:0,bottom:0,left:0,...h},M=Array.isArray(m)?m:[m],N=M.length>0,P={padding:j,boundary:M.filter(Ut),altBoundary:N},{refs:ee,floatingStyles:te,placement:F,isPositioned:I,middlewareData:L}=ht({strategy:`fixed`,placement:A,whileElementsMounted:(...e)=>et(...e,{animationFrame:v===`always`}),elements:{reference:x.anchor},middleware:[_t({mainAxis:o+k,alignmentAxis:d}),p&&vt({mainAxis:!0,crossAxis:!1,limiter:g===`partial`?yt():void 0,...P}),p&&bt({...P}),xt({...P,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),T&&Ct({element:T,padding:f}),Wt({arrowWidth:O,arrowHeight:k}),_&&St({strategy:`referenceHidden`,...P,boundary:N?P.boundary:void 0})]}),R=x.setPlacementState;a(()=>(R(F),()=>{R(void 0)}),[F,R]);let[ne,re]=Gt(F),ie=s(y);a(()=>{I&&ie?.()},[I,ie]);let ae=L.arrow?.x,oe=L.arrow?.y,se=L.arrow?.centerOffset!==0,[ce,le]=l.useState();return a(()=>{S&&le(window.getComputedStyle(S).zIndex)},[S]),(0,$.jsx)(`div`,{ref:ee.setFloating,"data-radix-popper-content-wrapper":``,style:{...te,transform:I?te.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ce,"--radix-popper-transform-origin":[L.transformOrigin?.x,L.transformOrigin?.y].join(` `),...L.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,$.jsx)(Lt,{scope:n,placedSide:ne,placedAlign:re,onArrowChange:E,arrowX:ae,arrowY:oe,shouldHideArrow:se,children:(0,$.jsx)(c.div,{"data-side":ne,"data-align":re,...b,ref:w,style:{...b.style,animation:I?void 0:`none`}})})})});zt.displayName=It;var Bt=`PopperArrow`,Vt={top:`bottom`,right:`left`,bottom:`top`,left:`right`},Ht=l.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=Rt(Bt,n),a=Vt[i.placedSide];return(0,$.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,$.jsx)(Et,{...r,ref:t,style:{...r.style,display:`block`}})})});Ht.displayName=Bt;function Ut(e){return e!==null}var Wt=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=Gt(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function Gt(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Kt=Nt,qt=Ft,Jt=zt,Yt=Ht;export{At as a,Kt as i,Yt as n,Dt as o,Jt as r,qt as t};
|