ghost 6.24.0 → 6.25.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-i18n-6.24.0.tgz → tryghost-i18n-6.25.0.tgz} +0 -0
- package/components/tryghost-parse-email-address-6.25.0.tgz +0 -0
- package/core/boot.js +3 -1
- package/core/built/admin/assets/{PolarAngleAxis-7TlIQL3R.js → PolarAngleAxis-BNo3yZOE.js} +1 -1
- package/core/built/admin/assets/{_baseAssignValue-DJsCJz6y.js → _baseAssignValue-DwWJd_kU.js} +1 -1
- package/core/built/admin/assets/{a-large-small-BnBpzYwl.js → a-large-small-DzN0AB7t.js} +1 -1
- package/core/built/admin/assets/{at-sign-DC4NtDDM.js → at-sign-vqoOA4VZ.js} +1 -1
- package/core/built/admin/assets/{audience-CC5U4UxI.js → audience-CFjVlFTu.js} +1 -1
- package/core/built/admin/assets/{avatar-flipboard-_GQfQXQc.js → avatar-flipboard-DuTJ0ty5.js} +1 -1
- package/core/built/admin/assets/{bluesky-sharing-BKyzPl9y.js → bluesky-sharing-C1WkXrRJ.js} +1 -1
- package/core/built/admin/assets/{chart-BCQFlmhJ.js → chart-Bs2L1q8g.js} +1 -1
- package/core/built/admin/assets/{chunk.423.dae9a3bbe7845c3a3cfc.js → chunk.434.de8a15730373eccfeefe.js} +13 -101
- package/core/built/admin/assets/{chunk.524.b5e454aa74df4428420c.js → chunk.524.ed5714f505e821e549f3.js} +5 -5
- package/core/built/admin/assets/{chunk.582.20635869be68725e6d5c.js → chunk.582.639cecaca9e77bd7dd4f.js} +7 -7
- package/core/built/admin/assets/{chunk.123.1255d9e815f933dfdc57.js → chunk.603.5cb992da88800a9388f3.js} +8 -6
- package/core/built/admin/assets/{code-editor-view-BXnjo7qe.js → code-editor-view-DIH4grxv.js} +1 -1
- package/core/built/admin/assets/comments-gAnA10dK.js +1 -0
- package/core/built/admin/assets/{content-helpers-CQXipRWa.js → content-helpers-Cr_DHEOl.js} +1 -1
- package/core/built/admin/assets/{copy-B-MxRWPu.js → copy-w3c9zkaZ.js} +1 -1
- package/core/built/admin/assets/{data-list-B2sqn7IE.js → data-list-D-K_XfF3.js} +1 -1
- package/core/built/admin/assets/{deleted-feed-item-DQi676Dy.js → deleted-feed-item-DK47iaMV.js} +1 -1
- package/core/built/admin/assets/{dropzone-GgOCfK2j.js → dropzone-BHWXAN0m.js} +3 -3
- package/core/built/admin/assets/{edit-profile-COx5FmF9.js → edit-profile-DCyHhZgx.js} +1 -1
- package/core/built/admin/assets/{empty-indicator-Bf4Dqk72.js → empty-indicator-DjmACVr2.js} +1 -1
- package/core/built/admin/assets/{en-BkI47Ou-.js → en-Cl0b7CNW.js} +1 -1
- package/core/built/admin/assets/{feed-Dzc-8jwd.js → feed-C5AauoXf.js} +1 -1
- package/core/built/admin/assets/filters-DzSJ1ez3.js +1 -0
- package/core/built/admin/assets/{gh-chart-Ch6dYUac.js → gh-chart-xjwu2HZo.js} +1 -1
- package/core/built/admin/assets/{ghost-69e448feab2cb78aba64f7177fa4d6f0.js → ghost-78b4a517ac907213ab47708eef33bc6f.js} +423 -542
- package/core/built/admin/assets/{growth-BIBJdcm6.js → growth-DDyypj0q.js} +1 -1
- package/core/built/admin/assets/{hash-BGd7HEsT.js → hash-Bowe71Lt.js} +1 -1
- package/core/built/admin/assets/{inbox-CFzKvW3h.js → inbox-DS4qMjUb.js} +1 -1
- package/core/built/admin/assets/{index-DDJAHYHQ.js → index-4xuWCs9h.js} +1 -1
- package/core/built/admin/assets/{index-DIO8ceib.js → index-6Ag8SK_E.js} +1 -1
- package/core/built/admin/assets/{index-Dy8dCc8t.js → index-A6WmqYr6.js} +4 -4
- package/core/built/admin/assets/index-B8XuCPIT.js +1 -0
- package/core/built/admin/assets/{index-S2DGJkmz.js → index-BCvRITTU.js} +2 -2
- package/core/built/admin/assets/{index-BZyG96u1.js → index-B_XhekWb.js} +1 -1
- package/core/built/admin/assets/{index-D0gRP4Gp.js → index-C8ssgmjI.js} +1 -1
- package/core/built/admin/assets/{index-DM98UB_U.js → index-CFY2MOp4.js} +1 -1
- package/core/built/admin/assets/{index-CvX5YYEz.js → index-CVvW6Q-y.js} +1 -1
- package/core/built/admin/assets/{index-DpZazR71.js → index-CZK1A375.js} +1 -1
- package/core/built/admin/assets/{index-BYXKsmpv.js → index-CfpTfwls.js} +1 -1
- package/core/built/admin/assets/index-Chp0ODAU.css +1 -0
- package/core/built/admin/assets/{index-7NTHsKgE.js → index-DX6vaEVx.js} +1 -1
- package/core/built/admin/assets/{index-CsHjDdYB.js → index-DqlHFtZD.js} +1 -1
- package/core/built/admin/assets/{index-ZuWSQ3L6.js → index-JMWMnGGt.js} +93 -93
- package/core/built/admin/assets/{index-_WMp37yL.js → index-N61Xkr32.js} +1 -1
- package/core/built/admin/assets/{index-n5opb8tL.js → index-SDMWxO5r.js} +1 -1
- package/core/built/admin/assets/{koenig-lexical-8qAZ5o1x.js → koenig-lexical-DL3I-AcK.js} +1 -1
- package/core/built/admin/assets/{kpis-Cv75oSPY.js → kpis-Bm-hIEkf.js} +1 -1
- package/core/built/admin/assets/{label-CofMdj8x.js → label-DBwnwMrX.js} +1 -1
- package/core/built/admin/assets/{links-MSlYSad1.js → links-CnjcW0lg.js} +1 -1
- package/core/built/admin/assets/{loader-circle-CF5G2g_Z.js → loader-circle-CGDGFypO.js} +1 -1
- package/core/built/admin/assets/{lucide-react-DZiAu6PQ.js → lucide-react-BfVLf4Hw.js} +1 -1
- package/core/built/admin/assets/{main-layout-DEVUkqt_.js → main-layout-C_UH037j.js} +1 -1
- package/core/built/admin/assets/{member-route-mLKS-PsA.js → member-route-CKuE9uDU.js} +1 -1
- package/core/built/admin/assets/members-CzztojNk.js +15 -0
- package/core/built/admin/assets/{message-square-text-DESy3kSk.js → message-square-text-BDJyLbG2.js} +1 -1
- package/core/built/admin/assets/{minus-DVNwSjD6.js → minus-BM0xhFIQ.js} +1 -1
- package/core/built/admin/assets/{modals-FYjLOMaQ.js → modals-B6ZySU0x.js} +13 -13
- package/core/built/admin/assets/{moderation-u4WS46a-.js → moderation-CQMIGpv1.js} +1 -1
- package/core/built/admin/assets/{newsletter-Cj0UCg4J.js → newsletter-Dexg7vU8.js} +1 -1
- package/core/built/admin/assets/{newsletters-_UvhdBE3.js → newsletters-CT4k07rm.js} +1 -1
- package/core/built/admin/assets/{note-CRnFryTp.js → note-CiemurXq.js} +1 -1
- package/core/built/admin/assets/{overview-Cr0dGxEU.js → overview-9TwqfzGq.js} +1 -1
- package/core/built/admin/assets/{pagemenu-BqoDENpI.js → pagemenu-Dq744OgH.js} +1 -1
- package/core/built/admin/assets/{post-analytics-DIr_rDtL.js → post-analytics-CcRhLDKA.js} +1 -1
- package/core/built/admin/assets/{post-analytics-context-WA--pwK5.js → post-analytics-context-COgn3d86.js} +1 -1
- package/core/built/admin/assets/{post-analytics-header-D97SoEaV.js → post-analytics-header-DtBp2QSX.js} +1 -1
- package/core/built/admin/assets/{post-share-modal-DBxR7WCX.js → post-share-modal-BlOEKX3-.js} +1 -1
- package/core/built/admin/assets/posts/comments-C4rwkXWy.mjs +1473 -0
- package/core/built/admin/assets/posts/{dialog-67vvNv8e.mjs → dialog-Chkt119L.mjs} +3 -3
- package/core/built/admin/assets/posts/{dropdown-menu-BKZfsAPJ.mjs → dropdown-menu-CvSs_ay2.mjs} +5 -5
- package/core/built/admin/assets/posts/{empty-indicator-DTmBQa_3.mjs → empty-indicator-GyeO28CG.mjs} +2 -2
- package/core/built/admin/assets/posts/filters-BD3A2GlB.mjs +2831 -0
- package/core/built/admin/assets/posts/{get-site-timezone-D75cHSJ1.mjs → get-site-timezone-Baeue4hE.mjs} +2 -2
- package/core/built/admin/assets/posts/{growth-BqJWjpAp.mjs → growth-kmVbKjBt.mjs} +14 -14
- package/core/built/admin/assets/posts/{heading-DXxLDQ96.mjs → heading-DV_WQJh4.mjs} +2 -2
- package/core/built/admin/assets/posts/{hooks-pVotzebr.mjs → hooks-DQhsid0U.mjs} +2 -2
- package/core/built/admin/assets/posts/{index-By5yPnMZ.mjs → index-Bl1ReYmV.mjs} +10 -10
- package/core/built/admin/assets/posts/{index-DZ1HzbGS.mjs → index-CVum5OE6.mjs} +3 -3
- package/core/built/admin/assets/posts/{input-DdXe2Fjm.mjs → input-C7qFEkmt.mjs} +2 -2
- package/core/built/admin/assets/posts/{kpis-1MXZeSC9.mjs → kpis-DteuJY-D.mjs} +10 -10
- package/core/built/admin/assets/posts/{links-DGzzdzsH.mjs → links-eoZr0T0x.mjs} +4 -4
- package/core/built/admin/assets/posts/{loading-indicator-CSj2spwS.mjs → loading-indicator-Dj1SCL40.mjs} +3 -3
- package/core/built/admin/assets/posts/{main-layout-CGs25JVH.mjs → main-layout-Ct-TA0TH.mjs} +2 -2
- package/core/built/admin/assets/posts/{members-BRcED5fL.mjs → members-BY9oPKo4.mjs} +3814 -3378
- package/core/built/admin/assets/posts/{newsletter-D706LlgM.mjs → newsletter-BR1tln6E.mjs} +15 -15
- package/core/built/admin/assets/posts/{overview-5dG5ypjx.mjs → overview-j1ANMAQ2.mjs} +16 -16
- package/core/built/admin/assets/posts/{post-analytics-wvNuOa4c.mjs → post-analytics-DnG-Rolr.mjs} +6 -6
- package/core/built/admin/assets/posts/{post-analytics-context-BqnFe05q.mjs → post-analytics-context-hiKFF4yE.mjs} +5 -5
- package/core/built/admin/assets/posts/{post-analytics-header-Dsi5l6hb.mjs → post-analytics-header-OqAJ8SUL.mjs} +11 -11
- package/core/built/admin/assets/posts/{post-share-modal-DWe35McY.mjs → post-share-modal-BWfujDu2.mjs} +4 -4
- package/core/built/admin/assets/posts/posts-CS9tqSJC.mjs +37 -0
- package/core/built/admin/assets/posts/posts.js +1 -1
- package/core/built/admin/assets/posts/{reply-B4vwBMwj.mjs → reply-CX_EQh9X.mjs} +2 -2
- package/core/built/admin/assets/posts/{search-DQuB1WMm.mjs → search-BqzdnPQb.mjs} +2 -2
- package/core/built/admin/assets/posts/{select-BMPHyOdQ.mjs → select-CD5WLIrZ.mjs} +8 -8
- package/core/built/admin/assets/posts/{separator-DgZ2VF9r.mjs → separator-DFPLsWCc.mjs} +3 -3
- package/core/built/admin/assets/posts/{settings-D-wnf7Qg.mjs → settings-lnEt3Kb-.mjs} +2 -2
- package/core/built/admin/assets/posts/{sheet-SOdCzxUt.mjs → sheet-CkLfUqdH.mjs} +3 -3
- package/core/built/admin/assets/posts/{skeleton-Du7JXZ_1.mjs → skeleton-BZCi-IYy.mjs} +3 -3
- package/core/built/admin/assets/posts/{source-icon-DcBtKbCl.mjs → source-icon-C0k2hDC_.mjs} +3 -3
- package/core/built/admin/assets/posts/{stats-CeLav-Hu.mjs → stats-AHbSTqzG.mjs} +4 -4
- package/core/built/admin/assets/posts/{table-DlaJMBps.mjs → table-DMrf6wp5.mjs} +2 -2
- package/core/built/admin/assets/posts/{tabs-BQQbtw2g.mjs → tabs-BH8GNJCe.mjs} +14 -14
- package/core/built/admin/assets/posts/tags-C5VV8Gd0.mjs +398 -0
- package/core/built/admin/assets/posts/{tags-CLyaNf39.mjs → tags-DucujdYI.mjs} +2 -2
- package/core/built/admin/assets/posts/use-scroll-restoration-C7A3TpAz.mjs +517 -0
- package/core/built/admin/assets/posts/{use-infinite-virtual-scroll-B_NwiBXK.mjs → virtual-list-window-BIGoc0th.mjs} +322 -244
- package/core/built/admin/assets/posts/{web-TEVKbXSI.mjs → web-DczNailO.mjs} +18 -18
- package/core/built/admin/assets/posts-Dr3u9yOp.js +1 -0
- package/core/built/admin/assets/{referrers-J4vexZCf.js → referrers-6As_USul.js} +1 -1
- package/core/built/admin/assets/{repeat-BxOK9zhN.js → repeat-D-Ki-Cg5.js} +1 -1
- package/core/built/admin/assets/{reply-BoTN-eE0.js → reply-C4V0xZ2U.js} +1 -1
- package/core/built/admin/assets/{select-Bd1zcqox.js → select-Dt579MbD.js} +1 -1
- package/core/built/admin/assets/{settings-D72z6T_a.js → settings-BMsoTszq.js} +1 -1
- package/core/built/admin/assets/{settings-BGbGoa4s.js → settings-Ck1Hqs1x.js} +19 -19
- package/core/built/admin/assets/{sort-button-BOLTpImz.js → sort-button-Bn325H3y.js} +1 -1
- package/core/built/admin/assets/{source-icon-BqEM5MvU.js → source-icon-CNqsYZeA.js} +1 -1
- package/core/built/admin/assets/{sprout-Bf-wc2Vo.js → sprout-C9DbfYGe.js} +1 -1
- package/core/built/admin/assets/{square-Cj_bJ0HZ.js → square-CWrI0H4v.js} +1 -1
- package/core/built/admin/assets/stats/{audience-BiHYBUzT.mjs → audience-DBW5Xu1c.mjs} +3 -3
- package/core/built/admin/assets/stats/{content-helpers-CIXZiyCm.mjs → content-helpers-BR6DcWwH.mjs} +4 -4
- package/core/built/admin/assets/stats/{index-DBB8Oih1.mjs → index-BuS4r1cs.mjs} +5 -5
- package/core/built/admin/assets/stats/{index-CkKk-p14.mjs → index-CFvGHbAV.mjs} +8 -8
- package/core/built/admin/assets/stats/{index-9zQR4gr0.mjs → index-DKS4mzS-.mjs} +3621 -3512
- package/core/built/admin/assets/stats/{index-DMSmQLxG.mjs → index-TeAxlGlY.mjs} +5 -5
- package/core/built/admin/assets/stats/{index-DErXBfDM.mjs → index-ZjicrvMA.mjs} +5 -5
- package/core/built/admin/assets/stats/{sort-button-BqY7GFaO.mjs → sort-button-DbwzvVKL.mjs} +3 -3
- package/core/built/admin/assets/stats/{stats-BeJgKX2G.mjs → stats-BatzfgdA.mjs} +4 -4
- package/core/built/admin/assets/stats/stats.js +1 -1
- package/core/built/admin/assets/stats/{tabs-CPz357mW.mjs → tabs-B32ptD5t.mjs} +3 -3
- package/core/built/admin/assets/stats/{use-growth-stats-WMYXBQE3.mjs → use-growth-stats-DmTT2gKd.mjs} +3 -3
- package/core/built/admin/assets/{stats-DWpHtRym.js → stats-G4Ge9ETb.js} +1 -1
- package/core/built/admin/assets/stats-view-Bx3oDAIW.js +1 -0
- package/core/built/admin/assets/{step-1-Bjya9Gt0.js → step-1-y3anLU0g.js} +1 -1
- package/core/built/admin/assets/{step-2-CJ6I8JNc.js → step-2-Dr1lGnHU.js} +1 -1
- package/core/built/admin/assets/{step-3-3fs6Y2Kj.js → step-3-C_d2hvMs.js} +2 -2
- package/core/built/admin/assets/{table-B4zlzEDP.js → table-CbN_vbUx.js} +1 -1
- package/core/built/admin/assets/{tabs-mR5oJGm5.js → tabs-DFJzY5np.js} +1 -1
- package/core/built/admin/assets/tags-D5g9tXZU.js +1 -0
- package/core/built/admin/assets/{tags-CsgMtkFL.js → tags-Ddg8oG2Y.js} +1 -1
- package/core/built/admin/assets/{textarea-CQjEvapR.js → textarea-DikWsYMt.js} +1 -1
- package/core/built/admin/assets/{tiers-CQE0v797.js → tiers-B7qV_8mO.js} +1 -1
- package/core/built/admin/assets/{toggle-group-CR-Z-bJL.js → toggle-group-tXaaTD7P.js} +1 -1
- package/core/built/admin/assets/{topic-filter-_NyD55eH.js → topic-filter-bQtscKE6.js} +1 -1
- package/core/built/admin/assets/{trash-BFSLkv0z.js → trash--VS50LgS.js} +1 -1
- package/core/built/admin/assets/{upload-BTxT4v2z.js → upload-Dz-DI9rQ.js} +1 -1
- package/core/built/admin/assets/{use-growth-stats-BGymNu5O.js → use-growth-stats-DNVioFUq.js} +1 -1
- package/core/built/admin/assets/use-scroll-restoration-CxWEiCuS.js +1 -0
- package/core/built/admin/assets/{use-simple-pagination-Cq7Afp_c.js → use-simple-pagination-BA6xsVQO.js} +1 -1
- package/core/built/admin/assets/{user-plus-DMl69yKl.js → user-plus-B0tpOnLM.js} +1 -1
- package/core/built/admin/assets/{user-round-check-CVuZXUPz.js → user-round-check-caJYm0bB.js} +1 -1
- package/core/built/admin/assets/virtual-list-window-JdKgHS9L.js +4 -0
- package/core/built/admin/assets/{wallet-cards-zHR_y6Sp.js → wallet-cards-DBM65lA_.js} +1 -1
- package/core/built/admin/assets/{web-CmFHgeQw.js → web-CSXixG1S.js} +1 -1
- package/core/built/admin/index.html +7 -7
- package/core/frontend/helpers/ghost_head.js +1 -4
- package/core/server/data/migrations/versions/6.25/2026-03-26-15-47-00-insert-default-email-design-settings-row.js +42 -0
- package/core/server/data/migrations/versions/6.25/2026-03-30-20-22-25-add-email-design-setting-permissions.js +44 -0
- package/core/server/data/migrations/versions/6.25/2026-03-30-22-16-43-add-email-design-setting-id-to-automated-emails.js +8 -0
- package/core/server/data/migrations/versions/6.25/2026-03-31-13-12-10-backfill-automated-emails-email-design-setting-id.js +45 -0
- package/core/server/data/migrations/versions/6.25/2026-03-31-20-31-19-drop-nullable-on-automated-emails-email-design-setting-id.js +3 -0
- package/core/server/data/schema/fixtures/fixtures.json +35 -0
- package/core/server/data/schema/schema.js +1 -0
- package/core/server/data/seeders/importers/comment-reports-importer.js +1 -3
- package/core/server/data/seeders/importers/comments-importer.js +3 -2
- package/core/server/data/seeders/importers/email-batches-importer.js +3 -3
- package/core/server/data/seeders/importers/email-recipients-importer.js +6 -6
- package/core/server/data/seeders/importers/emails-importer.js +4 -3
- package/core/server/data/seeders/importers/members-click-events-importer.js +1 -1
- package/core/server/data/seeders/importers/members-created-events-importer.js +2 -1
- package/core/server/data/seeders/importers/members-feedback-importer.js +3 -4
- package/core/server/data/seeders/importers/members-login-events-importer.js +3 -2
- package/core/server/data/seeders/importers/members-status-events-importer.js +1 -2
- package/core/server/data/seeders/importers/members-stripe-customers-importer.js +2 -1
- package/core/server/data/seeders/importers/members-stripe-customers-subscriptions-importer.js +4 -2
- package/core/server/data/seeders/importers/members-subscribe-events-importer.js +1 -2
- package/core/server/data/seeders/importers/members-subscription-created-events-importer.js +3 -1
- package/core/server/data/seeders/importers/offer-redemptions-importer.js +3 -3
- package/core/server/data/seeders/utils/database-date.js +26 -1
- package/core/server/models/automated-email.js +27 -0
- package/core/server/models/email-design-setting.js +27 -0
- package/core/server/services/stripe/service.js +1 -2
- package/core/server/services/webhooks/webhook-trigger.js +1 -1
- package/package.json +10 -28
- package/tsconfig.tsbuildinfo +1 -1
- package/yarn.lock +423 -107
- package/components/tryghost-parse-email-address-6.24.0.tgz +0 -0
- package/core/built/admin/assets/comments-CteqV7ZN.js +0 -1
- package/core/built/admin/assets/filters-DXXaCya7.js +0 -1
- package/core/built/admin/assets/index-QB-va_sk.css +0 -1
- package/core/built/admin/assets/index-nBUk6L1X.js +0 -1
- package/core/built/admin/assets/members-DcElgZ2t.js +0 -15
- package/core/built/admin/assets/posts/comments-Bswx2dzs.mjs +0 -1551
- package/core/built/admin/assets/posts/filters-Ds_ZaYIU.mjs +0 -2722
- package/core/built/admin/assets/posts/posts-DI5YQFp4.mjs +0 -17
- package/core/built/admin/assets/posts/tags-CjwolIiT.mjs +0 -395
- package/core/built/admin/assets/posts/use-scroll-restoration-YSR5jwQl.mjs +0 -232
- package/core/built/admin/assets/posts-CJHEP4C-.js +0 -1
- package/core/built/admin/assets/stats-view-CcyaLPwj.js +0 -1
- package/core/built/admin/assets/tags-DEFC6GpD.js +0 -1
- package/core/built/admin/assets/use-infinite-virtual-scroll-CNqGwgHd.js +0 -4
- package/core/built/admin/assets/use-scroll-restoration-BWtb0NrS.js +0 -1
- /package/core/built/admin/assets/{chunk.423.dae9a3bbe7845c3a3cfc.js.LICENSE.txt → chunk.434.de8a15730373eccfeefe.js.LICENSE.txt} +0 -0
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
import { j as v, n as b, T as
|
|
2
|
-
import { k as
|
|
3
|
-
function
|
|
1
|
+
import { R as F, j as v, n as b, T as L, $ as D, u as k, U as H, b as E, a5 as N, _ as V, q as B } from "./index-Bl1ReYmV.mjs";
|
|
2
|
+
import { k as U, B as K } from "./heading-DV_WQJh4.mjs";
|
|
3
|
+
function P({ className: n, children: r }) {
|
|
4
4
|
return /* @__PURE__ */ v.jsx(
|
|
5
5
|
"div",
|
|
6
6
|
{
|
|
7
7
|
className: b("flex items-center gap-2 [grid-area:above]", n),
|
|
8
8
|
"data-header": "header-above",
|
|
9
|
-
children:
|
|
9
|
+
children: r
|
|
10
10
|
}
|
|
11
11
|
);
|
|
12
12
|
}
|
|
13
|
-
function
|
|
13
|
+
function $({ className: n, children: r }) {
|
|
14
14
|
return /* @__PURE__ */ v.jsx(
|
|
15
|
-
|
|
15
|
+
U,
|
|
16
16
|
{
|
|
17
17
|
className: b(
|
|
18
18
|
"text-2xl leading-[1.2em] lg:text-3xl [grid-area:title]",
|
|
19
19
|
n
|
|
20
20
|
),
|
|
21
21
|
"data-header": "header-title",
|
|
22
|
-
children:
|
|
22
|
+
children: r
|
|
23
23
|
}
|
|
24
24
|
);
|
|
25
25
|
}
|
|
26
|
-
function
|
|
26
|
+
function q({ className: n, children: r }) {
|
|
27
27
|
return /* @__PURE__ */ v.jsx(
|
|
28
28
|
"div",
|
|
29
29
|
{
|
|
30
30
|
className: b("flex items-center justify-start text-muted-foreground [grid-area:meta] pb-4 pt-1", n),
|
|
31
31
|
"data-header": "header-meta",
|
|
32
|
-
children:
|
|
32
|
+
children: r
|
|
33
33
|
}
|
|
34
34
|
);
|
|
35
35
|
}
|
|
36
|
-
function
|
|
36
|
+
function Y({ className: n, children: r }) {
|
|
37
37
|
return /* @__PURE__ */ v.jsx(
|
|
38
38
|
"div",
|
|
39
39
|
{
|
|
40
40
|
className: b("flex items-center gap-2", n),
|
|
41
41
|
"data-header": "header-action-group",
|
|
42
|
-
children:
|
|
42
|
+
children: r
|
|
43
43
|
}
|
|
44
44
|
);
|
|
45
45
|
}
|
|
46
|
-
function
|
|
46
|
+
function G({ className: n, children: r }) {
|
|
47
47
|
return /* @__PURE__ */ v.jsx(
|
|
48
48
|
"div",
|
|
49
49
|
{
|
|
50
50
|
className: b("flex items-center gap-4 [grid-area:actions] sm:justify-self-end self-start", n),
|
|
51
51
|
"data-header": "header-actions",
|
|
52
|
-
children:
|
|
52
|
+
children: r
|
|
53
53
|
}
|
|
54
54
|
);
|
|
55
55
|
}
|
|
56
|
-
function
|
|
56
|
+
function Z({ className: n, children: r }) {
|
|
57
57
|
return /* @__PURE__ */ v.jsx(
|
|
58
58
|
"div",
|
|
59
59
|
{
|
|
60
60
|
className: b("flex items-center gap-2 [grid-area:nav] self-start mt-2 lg:mt-0.5", n),
|
|
61
61
|
"data-header": "header-nav",
|
|
62
|
-
children:
|
|
62
|
+
children: r
|
|
63
63
|
}
|
|
64
64
|
);
|
|
65
65
|
}
|
|
66
|
-
const
|
|
66
|
+
const J = L("sticky top-0 z-50 -mb-4 grid gap-x-4 bg-gradient-to-b from-background via-background/70 to-background/70 p-4 backdrop-blur-md [grid-template-areas:'above''title''meta''actions''nav'] sm:[grid-template-areas:'above_above''title_actions''meta_actions''nav_nav'] lg:-mb-8 lg:p-8 dark:bg-black", {
|
|
67
67
|
variants: {
|
|
68
68
|
variant: {
|
|
69
69
|
default: "lg:[grid-template-areas:'above_above''title_actions''meta_actions''nav_nav']",
|
|
@@ -73,47 +73,62 @@ const $ = R("sticky top-0 z-50 -mb-4 grid gap-x-4 bg-gradient-to-b from-backgrou
|
|
|
73
73
|
defaultVariants: {
|
|
74
74
|
variant: "default"
|
|
75
75
|
}
|
|
76
|
-
})
|
|
77
|
-
function
|
|
78
|
-
|
|
79
|
-
|
|
76
|
+
}), pe = Object.assign(
|
|
77
|
+
F.forwardRef(function({ className: r, children: e, variant: t }, s) {
|
|
78
|
+
return /* @__PURE__ */ v.jsx(
|
|
79
|
+
"header",
|
|
80
|
+
{
|
|
81
|
+
ref: s,
|
|
82
|
+
className: b(J({ variant: t, className: r })),
|
|
83
|
+
"data-header": "header",
|
|
84
|
+
children: e
|
|
85
|
+
}
|
|
86
|
+
);
|
|
87
|
+
}),
|
|
88
|
+
{
|
|
89
|
+
Above: P,
|
|
90
|
+
Title: $,
|
|
91
|
+
Actions: G,
|
|
92
|
+
ActionGroup: Y,
|
|
93
|
+
Nav: Z,
|
|
94
|
+
Meta: q
|
|
95
|
+
}
|
|
96
|
+
), ve = ({ isLoading: n, onClick: r }) => {
|
|
97
|
+
const e = !!n;
|
|
98
|
+
return /* @__PURE__ */ v.jsx("div", { className: "flex justify-center px-4 py-6", children: /* @__PURE__ */ v.jsx(
|
|
99
|
+
K,
|
|
80
100
|
{
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
101
|
+
disabled: e,
|
|
102
|
+
variant: "outline",
|
|
103
|
+
onClick: r,
|
|
104
|
+
children: e ? "Loading more..." : "Load more"
|
|
84
105
|
}
|
|
85
|
-
);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
w.Title = N;
|
|
89
|
-
w.Actions = B;
|
|
90
|
-
w.ActionGroup = L;
|
|
91
|
-
w.Nav = P;
|
|
92
|
-
w.Meta = V;
|
|
93
|
-
function I(n) {
|
|
106
|
+
) });
|
|
107
|
+
};
|
|
108
|
+
function T(n) {
|
|
94
109
|
const e = n instanceof HTMLElement && window.getComputedStyle(n).overflowY, t = e !== "visible" && e !== "hidden";
|
|
95
110
|
if (n) {
|
|
96
111
|
if (t && n.scrollHeight >= n.clientHeight)
|
|
97
112
|
return n;
|
|
98
113
|
} else return null;
|
|
99
|
-
return
|
|
114
|
+
return T(n.parentNode) || document.body;
|
|
100
115
|
}
|
|
101
|
-
function
|
|
116
|
+
function y(n, r, e) {
|
|
102
117
|
let t = e.initialDeps ?? [], s;
|
|
103
|
-
function
|
|
104
|
-
var
|
|
105
|
-
let
|
|
106
|
-
e.key && ((
|
|
118
|
+
function o() {
|
|
119
|
+
var i, a, l, u;
|
|
120
|
+
let c;
|
|
121
|
+
e.key && ((i = e.debug) != null && i.call(e)) && (c = Date.now());
|
|
107
122
|
const d = n();
|
|
108
123
|
if (!(d.length !== t.length || d.some((f, g) => t[g] !== f)))
|
|
109
124
|
return s;
|
|
110
125
|
t = d;
|
|
111
126
|
let m;
|
|
112
|
-
if (e.key && ((
|
|
113
|
-
const f = Math.round((Date.now() -
|
|
114
|
-
for (
|
|
115
|
-
|
|
116
|
-
return
|
|
127
|
+
if (e.key && ((a = e.debug) != null && a.call(e)) && (m = Date.now()), s = r(...d), e.key && ((l = e.debug) != null && l.call(e))) {
|
|
128
|
+
const f = Math.round((Date.now() - c) * 100) / 100, g = Math.round((Date.now() - m) * 100) / 100, x = g / 16, p = (w, W) => {
|
|
129
|
+
for (w = String(w); w.length < W; )
|
|
130
|
+
w = " " + w;
|
|
131
|
+
return w;
|
|
117
132
|
};
|
|
118
133
|
console.info(
|
|
119
134
|
`%c⏱ ${p(g, 5)} /${p(f, 5)} ms`,
|
|
@@ -127,64 +142,64 @@ function S(n, l, e) {
|
|
|
127
142
|
e == null ? void 0 : e.key
|
|
128
143
|
);
|
|
129
144
|
}
|
|
130
|
-
return (
|
|
145
|
+
return (u = e == null ? void 0 : e.onChange) == null || u.call(e, s), s;
|
|
131
146
|
}
|
|
132
|
-
return
|
|
133
|
-
t =
|
|
134
|
-
},
|
|
147
|
+
return o.updateDeps = (i) => {
|
|
148
|
+
t = i;
|
|
149
|
+
}, o;
|
|
135
150
|
}
|
|
136
|
-
function
|
|
151
|
+
function z(n, r) {
|
|
137
152
|
if (n === void 0)
|
|
138
153
|
throw new Error("Unexpected undefined");
|
|
139
154
|
return n;
|
|
140
155
|
}
|
|
141
|
-
const
|
|
156
|
+
const Q = (n, r) => Math.abs(n - r) < 1.01, X = (n, r, e) => {
|
|
142
157
|
let t;
|
|
143
158
|
return function(...s) {
|
|
144
|
-
n.clearTimeout(t), t = n.setTimeout(() =>
|
|
159
|
+
n.clearTimeout(t), t = n.setTimeout(() => r.apply(this, s), e);
|
|
145
160
|
};
|
|
146
|
-
},
|
|
147
|
-
const { offsetWidth:
|
|
148
|
-
return { width:
|
|
149
|
-
},
|
|
150
|
-
const
|
|
151
|
-
for (let s =
|
|
161
|
+
}, O = (n) => {
|
|
162
|
+
const { offsetWidth: r, offsetHeight: e } = n;
|
|
163
|
+
return { width: r, height: e };
|
|
164
|
+
}, ee = (n) => n, te = (n) => {
|
|
165
|
+
const r = Math.max(n.startIndex - n.overscan, 0), e = Math.min(n.endIndex + n.overscan, n.count - 1), t = [];
|
|
166
|
+
for (let s = r; s <= e; s++)
|
|
152
167
|
t.push(s);
|
|
153
168
|
return t;
|
|
154
|
-
},
|
|
169
|
+
}, se = (n, r) => {
|
|
155
170
|
const e = n.scrollElement;
|
|
156
171
|
if (!e)
|
|
157
172
|
return;
|
|
158
173
|
const t = n.targetWindow;
|
|
159
174
|
if (!t)
|
|
160
175
|
return;
|
|
161
|
-
const s = (
|
|
162
|
-
const { width:
|
|
163
|
-
|
|
176
|
+
const s = (i) => {
|
|
177
|
+
const { width: a, height: l } = i;
|
|
178
|
+
r({ width: Math.round(a), height: Math.round(l) });
|
|
164
179
|
};
|
|
165
|
-
if (s(
|
|
180
|
+
if (s(O(e)), !t.ResizeObserver)
|
|
166
181
|
return () => {
|
|
167
182
|
};
|
|
168
|
-
const
|
|
169
|
-
const
|
|
170
|
-
const
|
|
171
|
-
if (
|
|
172
|
-
const
|
|
173
|
-
if (
|
|
174
|
-
s({ width:
|
|
183
|
+
const o = new t.ResizeObserver((i) => {
|
|
184
|
+
const a = () => {
|
|
185
|
+
const l = i[0];
|
|
186
|
+
if (l != null && l.borderBoxSize) {
|
|
187
|
+
const u = l.borderBoxSize[0];
|
|
188
|
+
if (u) {
|
|
189
|
+
s({ width: u.inlineSize, height: u.blockSize });
|
|
175
190
|
return;
|
|
176
191
|
}
|
|
177
192
|
}
|
|
178
|
-
s(
|
|
193
|
+
s(O(e));
|
|
179
194
|
};
|
|
180
|
-
n.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(
|
|
195
|
+
n.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(a) : a();
|
|
181
196
|
});
|
|
182
|
-
return
|
|
183
|
-
|
|
197
|
+
return o.observe(e, { box: "border-box" }), () => {
|
|
198
|
+
o.unobserve(e);
|
|
184
199
|
};
|
|
185
|
-
},
|
|
200
|
+
}, I = {
|
|
186
201
|
passive: !0
|
|
187
|
-
},
|
|
202
|
+
}, C = typeof window > "u" ? !0 : "onscrollend" in window, ne = (n, r) => {
|
|
188
203
|
const e = n.scrollElement;
|
|
189
204
|
if (!e)
|
|
190
205
|
return;
|
|
@@ -192,52 +207,52 @@ const q = (n, l) => Math.abs(n - l) < 1.01, U = (n, l, e) => {
|
|
|
192
207
|
if (!t)
|
|
193
208
|
return;
|
|
194
209
|
let s = 0;
|
|
195
|
-
const
|
|
196
|
-
} :
|
|
210
|
+
const o = n.options.useScrollendEvent && C ? () => {
|
|
211
|
+
} : X(
|
|
197
212
|
t,
|
|
198
213
|
() => {
|
|
199
|
-
|
|
214
|
+
r(s, !1);
|
|
200
215
|
},
|
|
201
216
|
n.options.isScrollingResetDelay
|
|
202
|
-
),
|
|
203
|
-
const { horizontal: d, isRtl:
|
|
204
|
-
s = d ? e.scrollLeft * (
|
|
205
|
-
},
|
|
206
|
-
|
|
207
|
-
const
|
|
208
|
-
return
|
|
209
|
-
e.removeEventListener("scroll",
|
|
217
|
+
), i = (c) => () => {
|
|
218
|
+
const { horizontal: d, isRtl: h } = n.options;
|
|
219
|
+
s = d ? e.scrollLeft * (h && -1 || 1) : e.scrollTop, o(), r(s, c);
|
|
220
|
+
}, a = i(!0), l = i(!1);
|
|
221
|
+
l(), e.addEventListener("scroll", a, I);
|
|
222
|
+
const u = n.options.useScrollendEvent && C;
|
|
223
|
+
return u && e.addEventListener("scrollend", l, I), () => {
|
|
224
|
+
e.removeEventListener("scroll", a), u && e.removeEventListener("scrollend", l);
|
|
210
225
|
};
|
|
211
|
-
},
|
|
212
|
-
if (
|
|
213
|
-
const t =
|
|
226
|
+
}, ie = (n, r, e) => {
|
|
227
|
+
if (r != null && r.borderBoxSize) {
|
|
228
|
+
const t = r.borderBoxSize[0];
|
|
214
229
|
if (t)
|
|
215
230
|
return Math.round(
|
|
216
231
|
t[e.options.horizontal ? "inlineSize" : "blockSize"]
|
|
217
232
|
);
|
|
218
233
|
}
|
|
219
234
|
return n[e.options.horizontal ? "offsetWidth" : "offsetHeight"];
|
|
220
|
-
},
|
|
221
|
-
adjustments:
|
|
235
|
+
}, oe = (n, {
|
|
236
|
+
adjustments: r = 0,
|
|
222
237
|
behavior: e
|
|
223
238
|
}, t) => {
|
|
224
|
-
var s,
|
|
225
|
-
const
|
|
226
|
-
(
|
|
227
|
-
[t.options.horizontal ? "left" : "top"]:
|
|
239
|
+
var s, o;
|
|
240
|
+
const i = n + r;
|
|
241
|
+
(o = (s = t.scrollElement) == null ? void 0 : s.scrollTo) == null || o.call(s, {
|
|
242
|
+
[t.options.horizontal ? "left" : "top"]: i,
|
|
228
243
|
behavior: e
|
|
229
244
|
});
|
|
230
245
|
};
|
|
231
|
-
class
|
|
232
|
-
constructor(
|
|
246
|
+
class re {
|
|
247
|
+
constructor(r) {
|
|
233
248
|
this.unsubs = [], this.scrollElement = null, this.targetWindow = null, this.isScrolling = !1, this.measurementsCache = [], this.itemSizeCache = /* @__PURE__ */ new Map(), this.pendingMeasuredCacheIndexes = [], this.scrollRect = null, this.scrollOffset = null, this.scrollDirection = null, this.scrollAdjustments = 0, this.elementsCache = /* @__PURE__ */ new Map(), this.observer = /* @__PURE__ */ (() => {
|
|
234
249
|
let e = null;
|
|
235
250
|
const t = () => e || (!this.targetWindow || !this.targetWindow.ResizeObserver ? null : e = new this.targetWindow.ResizeObserver((s) => {
|
|
236
|
-
s.forEach((
|
|
237
|
-
const
|
|
238
|
-
this._measureElement(
|
|
251
|
+
s.forEach((o) => {
|
|
252
|
+
const i = () => {
|
|
253
|
+
this._measureElement(o.target, o);
|
|
239
254
|
};
|
|
240
|
-
this.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(
|
|
255
|
+
this.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(i) : i();
|
|
241
256
|
});
|
|
242
257
|
}));
|
|
243
258
|
return {
|
|
@@ -246,12 +261,12 @@ class Z {
|
|
|
246
261
|
(s = t()) == null || s.disconnect(), e = null;
|
|
247
262
|
},
|
|
248
263
|
observe: (s) => {
|
|
249
|
-
var
|
|
250
|
-
return (
|
|
264
|
+
var o;
|
|
265
|
+
return (o = t()) == null ? void 0 : o.observe(s, { box: "border-box" });
|
|
251
266
|
},
|
|
252
267
|
unobserve: (s) => {
|
|
253
|
-
var
|
|
254
|
-
return (
|
|
268
|
+
var o;
|
|
269
|
+
return (o = t()) == null ? void 0 : o.unobserve(s);
|
|
255
270
|
}
|
|
256
271
|
};
|
|
257
272
|
})(), this.range = null, this.setOptions = (e) => {
|
|
@@ -266,11 +281,11 @@ class Z {
|
|
|
266
281
|
scrollPaddingStart: 0,
|
|
267
282
|
scrollPaddingEnd: 0,
|
|
268
283
|
horizontal: !1,
|
|
269
|
-
getItemKey:
|
|
270
|
-
rangeExtractor:
|
|
284
|
+
getItemKey: ee,
|
|
285
|
+
rangeExtractor: te,
|
|
271
286
|
onChange: () => {
|
|
272
287
|
},
|
|
273
|
-
measureElement:
|
|
288
|
+
measureElement: ie,
|
|
274
289
|
initialRect: { width: 0, height: 0 },
|
|
275
290
|
scrollMargin: 0,
|
|
276
291
|
gap: 0,
|
|
@@ -287,7 +302,7 @@ class Z {
|
|
|
287
302
|
}, this.notify = (e) => {
|
|
288
303
|
var t, s;
|
|
289
304
|
(s = (t = this.options).onChange) == null || s.call(t, this, e);
|
|
290
|
-
}, this.maybeNotify =
|
|
305
|
+
}, this.maybeNotify = y(
|
|
291
306
|
() => (this.calculateRange(), [
|
|
292
307
|
this.isScrolling,
|
|
293
308
|
this.range ? this.range.startIndex : null,
|
|
@@ -327,25 +342,25 @@ class Z {
|
|
|
327
342
|
this.scrollRect = s, this.maybeNotify();
|
|
328
343
|
})
|
|
329
344
|
), this.unsubs.push(
|
|
330
|
-
this.options.observeElementOffset(this, (s,
|
|
331
|
-
this.scrollAdjustments = 0, this.scrollDirection =
|
|
345
|
+
this.options.observeElementOffset(this, (s, o) => {
|
|
346
|
+
this.scrollAdjustments = 0, this.scrollDirection = o ? this.getScrollOffset() < s ? "forward" : "backward" : null, this.scrollOffset = s, this.isScrolling = o, this.maybeNotify();
|
|
332
347
|
})
|
|
333
348
|
);
|
|
334
349
|
}
|
|
335
350
|
}, this.getSize = () => this.options.enabled ? (this.scrollRect = this.scrollRect ?? this.options.initialRect, this.scrollRect[this.options.horizontal ? "width" : "height"]) : (this.scrollRect = null, 0), this.getScrollOffset = () => this.options.enabled ? (this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset == "function" ? this.options.initialOffset() : this.options.initialOffset), this.scrollOffset) : (this.scrollOffset = null, 0), this.getFurthestMeasurement = (e, t) => {
|
|
336
|
-
const s = /* @__PURE__ */ new Map(),
|
|
337
|
-
for (let
|
|
338
|
-
const
|
|
339
|
-
if (s.has(
|
|
351
|
+
const s = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map();
|
|
352
|
+
for (let i = t - 1; i >= 0; i--) {
|
|
353
|
+
const a = e[i];
|
|
354
|
+
if (s.has(a.lane))
|
|
340
355
|
continue;
|
|
341
|
-
const
|
|
342
|
-
|
|
356
|
+
const l = o.get(
|
|
357
|
+
a.lane
|
|
343
358
|
);
|
|
344
|
-
if (
|
|
359
|
+
if (l == null || a.end > l.end ? o.set(a.lane, a) : a.end < l.end && s.set(a.lane, !0), s.size === this.options.lanes)
|
|
345
360
|
break;
|
|
346
361
|
}
|
|
347
|
-
return
|
|
348
|
-
}, this.getMeasurementOptions =
|
|
362
|
+
return o.size === this.options.lanes ? Array.from(o.values()).sort((i, a) => i.end === a.end ? i.index - a.index : i.end - a.end)[0] : void 0;
|
|
363
|
+
}, this.getMeasurementOptions = y(
|
|
349
364
|
() => [
|
|
350
365
|
this.options.count,
|
|
351
366
|
this.options.paddingStart,
|
|
@@ -353,31 +368,31 @@ class Z {
|
|
|
353
368
|
this.options.getItemKey,
|
|
354
369
|
this.options.enabled
|
|
355
370
|
],
|
|
356
|
-
(e, t, s,
|
|
371
|
+
(e, t, s, o, i) => (this.pendingMeasuredCacheIndexes = [], {
|
|
357
372
|
count: e,
|
|
358
373
|
paddingStart: t,
|
|
359
374
|
scrollMargin: s,
|
|
360
|
-
getItemKey:
|
|
361
|
-
enabled:
|
|
375
|
+
getItemKey: o,
|
|
376
|
+
enabled: i
|
|
362
377
|
}),
|
|
363
378
|
{
|
|
364
379
|
key: !1
|
|
365
380
|
}
|
|
366
|
-
), this.getMeasurements =
|
|
381
|
+
), this.getMeasurements = y(
|
|
367
382
|
() => [this.getMeasurementOptions(), this.itemSizeCache],
|
|
368
|
-
({ count: e, paddingStart: t, scrollMargin: s, getItemKey:
|
|
369
|
-
if (!
|
|
383
|
+
({ count: e, paddingStart: t, scrollMargin: s, getItemKey: o, enabled: i }, a) => {
|
|
384
|
+
if (!i)
|
|
370
385
|
return this.measurementsCache = [], this.itemSizeCache.clear(), [];
|
|
371
|
-
this.measurementsCache.length === 0 && (this.measurementsCache = this.options.initialMeasurementsCache, this.measurementsCache.forEach((
|
|
372
|
-
this.itemSizeCache.set(
|
|
386
|
+
this.measurementsCache.length === 0 && (this.measurementsCache = this.options.initialMeasurementsCache, this.measurementsCache.forEach((c) => {
|
|
387
|
+
this.itemSizeCache.set(c.key, c.size);
|
|
373
388
|
}));
|
|
374
|
-
const
|
|
389
|
+
const l = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;
|
|
375
390
|
this.pendingMeasuredCacheIndexes = [];
|
|
376
|
-
const
|
|
377
|
-
for (let
|
|
378
|
-
const d =
|
|
379
|
-
c
|
|
380
|
-
index:
|
|
391
|
+
const u = this.measurementsCache.slice(0, l);
|
|
392
|
+
for (let c = l; c < e; c++) {
|
|
393
|
+
const d = o(c), h = this.options.lanes === 1 ? u[c - 1] : this.getFurthestMeasurement(u, c), m = h ? h.end + this.options.gap : t + s, f = a.get(d), g = typeof f == "number" ? f : this.options.estimateSize(c), x = m + g, p = h ? h.lane : c % this.options.lanes;
|
|
394
|
+
u[c] = {
|
|
395
|
+
index: c,
|
|
381
396
|
start: m,
|
|
382
397
|
size: g,
|
|
383
398
|
end: x,
|
|
@@ -385,30 +400,30 @@ class Z {
|
|
|
385
400
|
lane: p
|
|
386
401
|
};
|
|
387
402
|
}
|
|
388
|
-
return this.measurementsCache =
|
|
403
|
+
return this.measurementsCache = u, u;
|
|
389
404
|
},
|
|
390
405
|
{
|
|
391
406
|
key: !1,
|
|
392
407
|
debug: () => this.options.debug
|
|
393
408
|
}
|
|
394
|
-
), this.calculateRange =
|
|
409
|
+
), this.calculateRange = y(
|
|
395
410
|
() => [
|
|
396
411
|
this.getMeasurements(),
|
|
397
412
|
this.getSize(),
|
|
398
413
|
this.getScrollOffset(),
|
|
399
414
|
this.options.lanes
|
|
400
415
|
],
|
|
401
|
-
(e, t, s,
|
|
416
|
+
(e, t, s, o) => this.range = e.length > 0 && t > 0 ? ae({
|
|
402
417
|
measurements: e,
|
|
403
418
|
outerSize: t,
|
|
404
419
|
scrollOffset: s,
|
|
405
|
-
lanes:
|
|
420
|
+
lanes: o
|
|
406
421
|
}) : null,
|
|
407
422
|
{
|
|
408
423
|
key: !1,
|
|
409
424
|
debug: () => this.options.debug
|
|
410
425
|
}
|
|
411
|
-
), this.getVirtualIndexes =
|
|
426
|
+
), this.getVirtualIndexes = y(
|
|
412
427
|
() => {
|
|
413
428
|
let e = null, t = null;
|
|
414
429
|
const s = this.calculateRange();
|
|
@@ -420,9 +435,9 @@ class Z {
|
|
|
420
435
|
t
|
|
421
436
|
];
|
|
422
437
|
},
|
|
423
|
-
(e, t, s,
|
|
424
|
-
startIndex:
|
|
425
|
-
endIndex:
|
|
438
|
+
(e, t, s, o, i) => o === null || i === null ? [] : e({
|
|
439
|
+
startIndex: o,
|
|
440
|
+
endIndex: i,
|
|
426
441
|
overscan: t,
|
|
427
442
|
count: s
|
|
428
443
|
}),
|
|
@@ -436,18 +451,18 @@ class Z {
|
|
|
436
451
|
`Missing attribute name '${t}={index}' on measured element.`
|
|
437
452
|
), -1);
|
|
438
453
|
}, this._measureElement = (e, t) => {
|
|
439
|
-
const s = this.indexFromElement(e),
|
|
440
|
-
if (!
|
|
454
|
+
const s = this.indexFromElement(e), o = this.measurementsCache[s];
|
|
455
|
+
if (!o)
|
|
441
456
|
return;
|
|
442
|
-
const
|
|
443
|
-
|
|
457
|
+
const i = o.key, a = this.elementsCache.get(i);
|
|
458
|
+
a !== e && (a && this.observer.unobserve(a), this.observer.observe(e), this.elementsCache.set(i, e)), e.isConnected && this.resizeItem(s, this.options.measureElement(e, t, this));
|
|
444
459
|
}, this.resizeItem = (e, t) => {
|
|
445
460
|
const s = this.measurementsCache[e];
|
|
446
461
|
if (!s)
|
|
447
462
|
return;
|
|
448
|
-
const
|
|
449
|
-
|
|
450
|
-
adjustments: this.scrollAdjustments +=
|
|
463
|
+
const o = this.itemSizeCache.get(s.key) ?? s.size, i = t - o;
|
|
464
|
+
i !== 0 && ((this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(s, i, this) : s.start < this.getScrollOffset() + this.scrollAdjustments) && this._scrollToOffset(this.getScrollOffset(), {
|
|
465
|
+
adjustments: this.scrollAdjustments += i,
|
|
451
466
|
behavior: void 0
|
|
452
467
|
}), this.pendingMeasuredCacheIndexes.push(s.index), this.itemSizeCache = new Map(this.itemSizeCache.set(s.key, t)), this.notify(!1));
|
|
453
468
|
}, this.measureElement = (e) => {
|
|
@@ -458,13 +473,13 @@ class Z {
|
|
|
458
473
|
return;
|
|
459
474
|
}
|
|
460
475
|
this._measureElement(e, void 0);
|
|
461
|
-
}, this.getVirtualItems =
|
|
476
|
+
}, this.getVirtualItems = y(
|
|
462
477
|
() => [this.getVirtualIndexes(), this.getMeasurements()],
|
|
463
478
|
(e, t) => {
|
|
464
479
|
const s = [];
|
|
465
|
-
for (let
|
|
466
|
-
const
|
|
467
|
-
s.push(
|
|
480
|
+
for (let o = 0, i = e.length; o < i; o++) {
|
|
481
|
+
const a = e[o], l = t[a];
|
|
482
|
+
s.push(l);
|
|
468
483
|
}
|
|
469
484
|
return s;
|
|
470
485
|
},
|
|
@@ -475,35 +490,35 @@ class Z {
|
|
|
475
490
|
), this.getVirtualItemForOffset = (e) => {
|
|
476
491
|
const t = this.getMeasurements();
|
|
477
492
|
if (t.length !== 0)
|
|
478
|
-
return
|
|
479
|
-
t[
|
|
493
|
+
return z(
|
|
494
|
+
t[A(
|
|
480
495
|
0,
|
|
481
496
|
t.length - 1,
|
|
482
|
-
(s) =>
|
|
497
|
+
(s) => z(t[s]).start,
|
|
483
498
|
e
|
|
484
499
|
)]
|
|
485
500
|
);
|
|
486
501
|
}, this.getOffsetForAlignment = (e, t, s = 0) => {
|
|
487
|
-
const
|
|
488
|
-
t === "auto" && (t = e >=
|
|
489
|
-
const
|
|
490
|
-
return Math.max(Math.min(
|
|
502
|
+
const o = this.getSize(), i = this.getScrollOffset();
|
|
503
|
+
t === "auto" && (t = e >= i + o ? "end" : "start"), t === "center" ? e += (s - o) / 2 : t === "end" && (e -= o);
|
|
504
|
+
const a = this.getTotalSize() + this.options.scrollMargin - o;
|
|
505
|
+
return Math.max(Math.min(a, e), 0);
|
|
491
506
|
}, this.getOffsetForIndex = (e, t = "auto") => {
|
|
492
507
|
e = Math.max(0, Math.min(e, this.options.count - 1));
|
|
493
508
|
const s = this.measurementsCache[e];
|
|
494
509
|
if (!s)
|
|
495
510
|
return;
|
|
496
|
-
const
|
|
511
|
+
const o = this.getSize(), i = this.getScrollOffset();
|
|
497
512
|
if (t === "auto")
|
|
498
|
-
if (s.end >=
|
|
513
|
+
if (s.end >= i + o - this.options.scrollPaddingEnd)
|
|
499
514
|
t = "end";
|
|
500
|
-
else if (s.start <=
|
|
515
|
+
else if (s.start <= i + this.options.scrollPaddingStart)
|
|
501
516
|
t = "start";
|
|
502
517
|
else
|
|
503
|
-
return [
|
|
504
|
-
const
|
|
518
|
+
return [i, t];
|
|
519
|
+
const a = t === "end" ? s.end + this.options.scrollPaddingEnd : s.start - this.options.scrollPaddingStart;
|
|
505
520
|
return [
|
|
506
|
-
this.getOffsetForAlignment(
|
|
521
|
+
this.getOffsetForAlignment(a, t, s.size),
|
|
507
522
|
t
|
|
508
523
|
];
|
|
509
524
|
}, this.isDynamicMode = () => this.elementsCache.size > 0, this.scrollToOffset = (e, { align: t = "start", behavior: s } = {}) => {
|
|
@@ -517,29 +532,29 @@ class Z {
|
|
|
517
532
|
s === "smooth" && this.isDynamicMode() && console.warn(
|
|
518
533
|
"The `smooth` scroll behavior is not fully supported with dynamic size."
|
|
519
534
|
), e = Math.max(0, Math.min(e, this.options.count - 1));
|
|
520
|
-
let
|
|
521
|
-
const
|
|
535
|
+
let o = 0;
|
|
536
|
+
const i = 10, a = (u) => {
|
|
522
537
|
if (!this.targetWindow) return;
|
|
523
|
-
const
|
|
524
|
-
if (!
|
|
538
|
+
const c = this.getOffsetForIndex(e, u);
|
|
539
|
+
if (!c) {
|
|
525
540
|
console.warn("Failed to get offset for index:", e);
|
|
526
541
|
return;
|
|
527
542
|
}
|
|
528
|
-
const [d,
|
|
543
|
+
const [d, h] = c;
|
|
529
544
|
this._scrollToOffset(d, { adjustments: void 0, behavior: s }), this.targetWindow.requestAnimationFrame(() => {
|
|
530
|
-
const m = this.getScrollOffset(), f = this.getOffsetForIndex(e,
|
|
545
|
+
const m = this.getScrollOffset(), f = this.getOffsetForIndex(e, h);
|
|
531
546
|
if (!f) {
|
|
532
547
|
console.warn("Failed to get offset for index:", e);
|
|
533
548
|
return;
|
|
534
549
|
}
|
|
535
|
-
|
|
550
|
+
Q(f[0], m) || l(h);
|
|
536
551
|
});
|
|
537
|
-
},
|
|
538
|
-
this.targetWindow && (
|
|
539
|
-
`Failed to scroll to index ${e} after ${
|
|
552
|
+
}, l = (u) => {
|
|
553
|
+
this.targetWindow && (o++, o < i ? this.targetWindow.requestAnimationFrame(() => a(u)) : console.warn(
|
|
554
|
+
`Failed to scroll to index ${e} after ${i} attempts.`
|
|
540
555
|
));
|
|
541
556
|
};
|
|
542
|
-
|
|
557
|
+
a(t);
|
|
543
558
|
}, this.scrollBy = (e, { behavior: t } = {}) => {
|
|
544
559
|
t === "smooth" && this.isDynamicMode() && console.warn(
|
|
545
560
|
"The `smooth` scroll behavior is not fully supported with dynamic size."
|
|
@@ -556,13 +571,13 @@ class Z {
|
|
|
556
571
|
else if (this.options.lanes === 1)
|
|
557
572
|
s = ((e = t[t.length - 1]) == null ? void 0 : e.end) ?? 0;
|
|
558
573
|
else {
|
|
559
|
-
const
|
|
560
|
-
let
|
|
561
|
-
for (;
|
|
562
|
-
const
|
|
563
|
-
|
|
574
|
+
const o = Array(this.options.lanes).fill(null);
|
|
575
|
+
let i = t.length - 1;
|
|
576
|
+
for (; i >= 0 && o.some((a) => a === null); ) {
|
|
577
|
+
const a = t[i];
|
|
578
|
+
o[a.lane] === null && (o[a.lane] = a.end), i--;
|
|
564
579
|
}
|
|
565
|
-
s = Math.max(...
|
|
580
|
+
s = Math.max(...o.filter((a) => a !== null));
|
|
566
581
|
}
|
|
567
582
|
return Math.max(
|
|
568
583
|
s - this.options.scrollMargin + this.options.paddingEnd,
|
|
@@ -575,115 +590,178 @@ class Z {
|
|
|
575
590
|
this.options.scrollToFn(e, { behavior: s, adjustments: t }, this);
|
|
576
591
|
}, this.measure = () => {
|
|
577
592
|
this.itemSizeCache = /* @__PURE__ */ new Map(), this.notify(!1);
|
|
578
|
-
}, this.setOptions(
|
|
593
|
+
}, this.setOptions(r);
|
|
579
594
|
}
|
|
580
595
|
}
|
|
581
|
-
const
|
|
582
|
-
for (; n <=
|
|
583
|
-
const s = (n +
|
|
584
|
-
if (
|
|
596
|
+
const A = (n, r, e, t) => {
|
|
597
|
+
for (; n <= r; ) {
|
|
598
|
+
const s = (n + r) / 2 | 0, o = e(s);
|
|
599
|
+
if (o < t)
|
|
585
600
|
n = s + 1;
|
|
586
|
-
else if (
|
|
587
|
-
|
|
601
|
+
else if (o > t)
|
|
602
|
+
r = s - 1;
|
|
588
603
|
else
|
|
589
604
|
return s;
|
|
590
605
|
}
|
|
591
606
|
return n > 0 ? n - 1 : 0;
|
|
592
607
|
};
|
|
593
|
-
function
|
|
608
|
+
function ae({
|
|
594
609
|
measurements: n,
|
|
595
|
-
outerSize:
|
|
610
|
+
outerSize: r,
|
|
596
611
|
scrollOffset: e,
|
|
597
612
|
lanes: t
|
|
598
613
|
}) {
|
|
599
|
-
const s = n.length - 1,
|
|
614
|
+
const s = n.length - 1, o = (l) => n[l].start;
|
|
600
615
|
if (n.length <= t)
|
|
601
616
|
return {
|
|
602
617
|
startIndex: 0,
|
|
603
618
|
endIndex: s
|
|
604
619
|
};
|
|
605
|
-
let
|
|
620
|
+
let i = A(
|
|
606
621
|
0,
|
|
607
622
|
s,
|
|
608
|
-
|
|
623
|
+
o,
|
|
609
624
|
e
|
|
610
|
-
),
|
|
625
|
+
), a = i;
|
|
611
626
|
if (t === 1)
|
|
612
|
-
for (;
|
|
613
|
-
|
|
627
|
+
for (; a < s && n[a].end < e + r; )
|
|
628
|
+
a++;
|
|
614
629
|
else if (t > 1) {
|
|
615
|
-
const
|
|
616
|
-
for (;
|
|
617
|
-
const
|
|
618
|
-
|
|
630
|
+
const l = Array(t).fill(0);
|
|
631
|
+
for (; a < s && l.some((c) => c < e + r); ) {
|
|
632
|
+
const c = n[a];
|
|
633
|
+
l[c.lane] = c.end, a++;
|
|
619
634
|
}
|
|
620
|
-
const
|
|
621
|
-
for (;
|
|
622
|
-
const
|
|
623
|
-
c
|
|
635
|
+
const u = Array(t).fill(e + r);
|
|
636
|
+
for (; i >= 0 && u.some((c) => c >= e); ) {
|
|
637
|
+
const c = n[i];
|
|
638
|
+
u[c.lane] = c.start, i--;
|
|
624
639
|
}
|
|
625
|
-
|
|
640
|
+
i = Math.max(0, i - i % t), a = Math.min(s, a + (t - 1 - a % t));
|
|
626
641
|
}
|
|
627
|
-
return { startIndex:
|
|
642
|
+
return { startIndex: i, endIndex: a };
|
|
628
643
|
}
|
|
629
|
-
const
|
|
630
|
-
function
|
|
631
|
-
const
|
|
644
|
+
const _ = typeof document < "u" ? H : E;
|
|
645
|
+
function le(n) {
|
|
646
|
+
const r = D(() => ({}), {})[1], e = {
|
|
632
647
|
...n,
|
|
633
|
-
onChange: (s,
|
|
634
|
-
var
|
|
635
|
-
|
|
648
|
+
onChange: (s, o) => {
|
|
649
|
+
var i;
|
|
650
|
+
o ? N(r) : r(), (i = n.onChange) == null || i.call(n, s, o);
|
|
636
651
|
}
|
|
637
|
-
}, [t] =
|
|
638
|
-
() => new
|
|
652
|
+
}, [t] = k(
|
|
653
|
+
() => new re(e)
|
|
639
654
|
);
|
|
640
|
-
return t.setOptions(e),
|
|
655
|
+
return t.setOptions(e), _(() => t._didMount(), []), _(() => t._willUpdate()), t;
|
|
641
656
|
}
|
|
642
|
-
function
|
|
643
|
-
return
|
|
644
|
-
observeElementRect:
|
|
645
|
-
observeElementOffset:
|
|
646
|
-
scrollToFn:
|
|
657
|
+
function ce(n) {
|
|
658
|
+
return le({
|
|
659
|
+
observeElementRect: se,
|
|
660
|
+
observeElementOffset: ne,
|
|
661
|
+
scrollToFn: oe,
|
|
647
662
|
...n
|
|
648
663
|
});
|
|
649
664
|
}
|
|
650
|
-
function
|
|
665
|
+
function be({
|
|
651
666
|
items: n,
|
|
652
|
-
totalItems:
|
|
667
|
+
totalItems: r,
|
|
653
668
|
parentRef: e,
|
|
654
669
|
hasNextPage: t,
|
|
655
670
|
isFetchingNextPage: s,
|
|
656
|
-
fetchNextPage:
|
|
657
|
-
estimateSize:
|
|
658
|
-
overscan:
|
|
671
|
+
fetchNextPage: o,
|
|
672
|
+
estimateSize: i = () => 100,
|
|
673
|
+
overscan: a = 5
|
|
659
674
|
}) {
|
|
660
675
|
var f, g, x;
|
|
661
|
-
const
|
|
662
|
-
count:
|
|
663
|
-
getScrollElement: () =>
|
|
664
|
-
estimateSize:
|
|
665
|
-
overscan:
|
|
666
|
-
}),
|
|
676
|
+
const l = ce({
|
|
677
|
+
count: r,
|
|
678
|
+
getScrollElement: () => T(e.current),
|
|
679
|
+
estimateSize: i,
|
|
680
|
+
overscan: a
|
|
681
|
+
}), u = l.getVirtualItems(), c = u.length > 0 ? (((f = u.at(0)) == null ? void 0 : f.start) ?? 0) - l.options.scrollMargin : 0, d = u.length > 0 ? l.getTotalSize() - (((g = u.at(-1)) == null ? void 0 : g.end) ?? 0) : 0, h = u.map((p) => ({
|
|
667
682
|
virtualItem: p,
|
|
668
683
|
key: p.key,
|
|
669
684
|
item: n[p.index],
|
|
670
685
|
props: {
|
|
671
|
-
ref:
|
|
686
|
+
ref: l.measureElement,
|
|
672
687
|
"data-index": p.index
|
|
673
688
|
}
|
|
674
|
-
})), m =
|
|
675
|
-
return
|
|
676
|
-
t && m && !s &&
|
|
677
|
-
}, [t, m, s,
|
|
678
|
-
visibleItems:
|
|
679
|
-
virtualizer:
|
|
680
|
-
spaceBefore:
|
|
689
|
+
})), m = h.at(-1) && !((x = h.at(-1)) != null && x.item);
|
|
690
|
+
return E(() => {
|
|
691
|
+
t && m && !s && o();
|
|
692
|
+
}, [t, m, s, o]), {
|
|
693
|
+
visibleItems: h,
|
|
694
|
+
virtualizer: l,
|
|
695
|
+
spaceBefore: c,
|
|
681
696
|
spaceAfter: d
|
|
682
697
|
};
|
|
683
698
|
}
|
|
699
|
+
const j = 1e3, S = "ghostVirtualListWindow";
|
|
700
|
+
function ue({
|
|
701
|
+
totalItems: n,
|
|
702
|
+
unlockedItemCount: r
|
|
703
|
+
}) {
|
|
704
|
+
const e = Math.min(n, r);
|
|
705
|
+
return {
|
|
706
|
+
visibleItemCount: e,
|
|
707
|
+
canLoadMore: n > e
|
|
708
|
+
};
|
|
709
|
+
}
|
|
710
|
+
function he(n) {
|
|
711
|
+
return n + j;
|
|
712
|
+
}
|
|
713
|
+
function de(n, r) {
|
|
714
|
+
return `${n}::${r}`;
|
|
715
|
+
}
|
|
716
|
+
function R(n, r, e = j) {
|
|
717
|
+
const t = n == null ? void 0 : n[S];
|
|
718
|
+
if (!t || typeof t != "object")
|
|
719
|
+
return e;
|
|
720
|
+
const s = t[r];
|
|
721
|
+
return typeof s != "number" || !Number.isFinite(s) ? e : Math.max(1, Math.floor(s));
|
|
722
|
+
}
|
|
723
|
+
function fe(n, r, e) {
|
|
724
|
+
if (typeof window > "u")
|
|
725
|
+
return;
|
|
726
|
+
const t = n == null ? void 0 : n[S], s = {
|
|
727
|
+
...n ?? {},
|
|
728
|
+
[S]: {
|
|
729
|
+
...t && typeof t == "object" ? t : {},
|
|
730
|
+
[r]: e
|
|
731
|
+
}
|
|
732
|
+
};
|
|
733
|
+
window.history.replaceState(s, "");
|
|
734
|
+
}
|
|
735
|
+
function M() {
|
|
736
|
+
if (!(typeof window > "u"))
|
|
737
|
+
return window.history.state;
|
|
738
|
+
}
|
|
739
|
+
function xe(n, {
|
|
740
|
+
resetKey: r
|
|
741
|
+
} = {}) {
|
|
742
|
+
const { key: e, pathname: t, search: s } = V(), i = de(t, r ?? s), [a, l] = k(() => R(M(), i)), u = B(i);
|
|
743
|
+
E(() => {
|
|
744
|
+
if (u.current !== i) {
|
|
745
|
+
u.current = i, l(R(M(), i));
|
|
746
|
+
return;
|
|
747
|
+
}
|
|
748
|
+
fe(M(), i, a);
|
|
749
|
+
}, [i, e, a]);
|
|
750
|
+
const { visibleItemCount: c, canLoadMore: d } = ue({
|
|
751
|
+
totalItems: n,
|
|
752
|
+
unlockedItemCount: a
|
|
753
|
+
});
|
|
754
|
+
return {
|
|
755
|
+
visibleItemCount: c,
|
|
756
|
+
canLoadMore: d,
|
|
757
|
+
loadMore: () => l((h) => he(h))
|
|
758
|
+
};
|
|
759
|
+
}
|
|
684
760
|
export {
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
761
|
+
pe as H,
|
|
762
|
+
ve as L,
|
|
763
|
+
be as a,
|
|
764
|
+
T as g,
|
|
765
|
+
xe as u
|
|
688
766
|
};
|
|
689
|
-
//# sourceMappingURL=
|
|
767
|
+
//# sourceMappingURL=virtual-list-window-BIGoc0th.mjs.map
|