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.
Files changed (356) hide show
  1. package/components/tryghost-adapter-base-scheduling-0.2.0.tgz +0 -0
  2. package/components/tryghost-custom-field-types-0.0.0.tgz +0 -0
  3. package/components/tryghost-kg-default-nodes-2.1.4.tgz +0 -0
  4. package/components/tryghost-kg-default-transforms-1.3.3.tgz +0 -0
  5. package/components/tryghost-kg-html-to-lexical-1.3.3.tgz +0 -0
  6. package/components/tryghost-kg-lexical-html-renderer-1.4.3.tgz +0 -0
  7. package/components/tryghost-nql-string-0.0.0.tgz +0 -0
  8. package/core/boot.js +3 -6
  9. package/core/built/admin/assets/{Combination-CJG7Flp-.js → Combination-BCm9FL4o.js} +1 -1
  10. package/core/built/admin/assets/{PolarAngleAxis-BGjf7sBu.js → PolarAngleAxis-C4qtHy1B.js} +1 -1
  11. package/core/built/admin/assets/{RadialBarChart-zeFf9mBz.js → RadialBarChart-Bh09Stsj.js} +1 -1
  12. package/core/built/admin/assets/{account-migration-BklF2I_I.js → account-migration-D3O_yVck.js} +1 -1
  13. package/core/built/admin/assets/activitypub/{account-migration-CNovr6W-.js → account-migration-D8FbP-Z-.js} +7 -7
  14. package/core/built/admin/assets/activitypub/activitypub.js +6 -6
  15. package/core/built/admin/assets/activitypub/{avatar-B3DEDB1l.js → avatar-11EA1VSs.js} +2 -2
  16. package/core/built/admin/assets/activitypub/{avatar-flipboard-Cqrg0XMx.js → avatar-flipboard-jfbLG-xe.js} +2 -2
  17. package/core/built/admin/assets/activitypub/{bluesky-sharing-Ceslb1_M.js → bluesky-sharing-f1jTQe2P.js} +16 -16
  18. package/core/built/admin/assets/activitypub/{content-formatters-BpQARh28.js → content-formatters-nmTOPY9M.js} +3 -3
  19. package/core/built/admin/assets/activitypub/{copy-D9UWIAan.js → copy-BCwo9ep3.js} +2 -2
  20. package/core/built/admin/assets/activitypub/{dist-DHAjBcV3.js → dist-BEfX-0aW.js} +12 -12
  21. package/core/built/admin/assets/activitypub/{domain-C1qQvJ8C.js → domain-AaDlZlrA.js} +9 -9
  22. package/core/built/admin/assets/activitypub/{edit-profile-BcH-jEfM.js → edit-profile-DPi8Tl5M.js} +945 -945
  23. package/core/built/admin/assets/activitypub/{explore-AxwBh9dI.js → explore-CxTzjILQ.js} +8 -8
  24. package/core/built/admin/assets/activitypub/{feed-BaOlbh7a.js → feed-DPv5x2MX.js} +33 -33
  25. package/core/built/admin/assets/activitypub/{field-B7mYYQpN.js → field-DbgA8lat.js} +3 -3
  26. package/core/built/admin/assets/activitypub/{hash-BC9Q0N4c.js → hash-BWuZoYkA.js} +2 -2
  27. package/core/built/admin/assets/activitypub/{inbox-DQ4ZnC1m.js → inbox-35VDQ2K2.js} +2 -2
  28. package/core/built/admin/assets/activitypub/{inbox-vXez-5uJ.js → inbox-DSrF_i1O.js} +85 -85
  29. package/core/built/admin/assets/activitypub/{label-Chv5T8bw.js → label-CPjFBbo7.js} +3 -3
  30. package/core/built/admin/assets/activitypub/layout-CTgrezN7.js +1 -0
  31. package/core/built/admin/assets/activitypub/{moderation-DtSM2i1I.js → moderation-BkDC1XVZ.js} +11 -11
  32. package/core/built/admin/assets/activitypub/{note-Dckp4S-2.js → note-xEyH4xT-.js} +7 -7
  33. package/core/built/admin/assets/activitypub/{notifications-CG5T22vg.js → notifications-DClaL3ui.js} +9 -9
  34. package/core/built/admin/assets/activitypub/{preferences-D_799jdl.js → preferences-DpnOa-4Z.js} +20 -20
  35. package/core/built/admin/assets/activitypub/{profile-D2JfXBQl.js → profile-Dvi9mz-6.js} +237 -237
  36. package/core/built/admin/assets/activitypub/{reply-CpdMeAO5.js → reply-Cs9ySd6Z.js} +2 -2
  37. package/core/built/admin/assets/activitypub/{routes-CCHe2dQp.js → routes-DFBeTnfn.js} +1139 -1150
  38. package/core/built/admin/assets/activitypub/{separator-BI1FLsYM.js → separator-C5u_VjzY.js} +3 -3
  39. package/core/built/admin/assets/activitypub/{settings-kx-9Enkz.js → settings-CV2fFu6D.js} +13 -13
  40. package/core/built/admin/assets/activitypub/{site-x4_IjVJ0.js → site-_TgDd_EM.js} +81 -81
  41. package/core/built/admin/assets/activitypub/{step-1-DIDg4aHb.js → step-1-BfnNL2oF.js} +5 -5
  42. package/core/built/admin/assets/activitypub/{step-2-BfGe8BYt.js → step-2-DLndZkO-.js} +6 -6
  43. package/core/built/admin/assets/activitypub/{step-3-mE9spAqw.js → step-3-A-PZTtRE.js} +10 -10
  44. package/core/built/admin/assets/activitypub/{tabs-CyPRQQ1N.js → tabs-BUbz7tea.js} +321 -319
  45. package/core/built/admin/assets/activitypub/{topic-filter-DLHBZT93.js → topic-filter-BdX_xYYT.js} +3 -3
  46. package/core/built/admin/assets/activitypub/{use-activity-pub-queries-VzbN99u_.js → use-activity-pub-queries-EwuRemHh.js} +2 -2
  47. package/core/built/admin/assets/activitypub/{use-navigate-with-base-path-CAwXTmqH.js → use-navigate-with-base-path-cy4ACBc4.js} +92 -90
  48. package/core/built/admin/assets/activitypub/{use-reply-chain-data-BAB6fNGt.js → use-reply-chain-data-CyFcGfan.js} +5 -5
  49. package/core/built/admin/assets/activitypub/{x-C8tAnXly.js → x-7zk8mV2p.js} +2 -2
  50. package/core/built/admin/assets/audience-CkBb2LlO.js +1 -0
  51. package/core/built/admin/assets/{automated-emails-of1MvVsv.js → automated-emails-6t2bIRWf.js} +2 -2
  52. package/core/built/admin/assets/{automations-B7-y3dXt.js → automations-DhKeS_U5.js} +1 -1
  53. package/core/built/admin/assets/{automations-DRFjW5fw.js → automations-cMllU545.js} +1 -1
  54. package/core/built/admin/assets/{bluesky-sharing-BbbjWdzs.js → bluesky-sharing-DPGpyD-G.js} +1 -1
  55. package/core/built/admin/assets/{box-BWbhXh21.js → box-By_EgGtm.js} +1 -1
  56. package/core/built/admin/assets/{breadcrumb-B-M9Ip_2.js → breadcrumb-DIfcF5ow.js} +1 -1
  57. package/core/built/admin/assets/build-CsiH26uS.js +1 -0
  58. package/core/built/admin/assets/{card-DGoDJzrn.js → card-aUHX0hyR.js} +1 -1
  59. package/core/built/admin/assets/{chart-BuRT2Y6p.js → chart-BnXyfH11.js} +1 -1
  60. package/core/built/admin/assets/{chart-helpers-xiSsW8r0.js → chart-helpers-DV0FkdcD.js} +1 -1
  61. package/core/built/admin/assets/{checkbox-EhJKHFdZ.js → checkbox-BIl077a0.js} +1 -1
  62. package/core/built/admin/assets/{chunk.361.3cdb584b973959e52ccc.js → chunk.332.05991a101d67f732dec3.js} +16 -12
  63. package/core/built/admin/assets/chunk.524.87b52f4fada529df2c4c.js +25 -0
  64. package/core/built/admin/assets/chunk.582.340bcca873e806cbd4bb.js +27 -0
  65. package/core/built/admin/assets/{code-editor-view-CZtJFGhR.js → code-editor-view-C0aWNwdl.js} +1 -1
  66. package/core/built/admin/assets/comments-qwhIjH3c.js +1 -0
  67. package/core/built/admin/assets/{container-BYz2Ed39.js → container-LiZf3XdY.js} +1 -1
  68. package/core/built/admin/assets/{data-list-16rkJYYi.js → data-list-CupF7bjM.js} +1 -1
  69. package/core/built/admin/assets/{date-range-select-CTlyo8zW.js → date-range-select-dXc-GsVe.js} +1 -1
  70. package/core/built/admin/assets/{disabled-sources-indicator-qs2GfLvl.js → disabled-sources-indicator-DYAXW-6V.js} +1 -1
  71. package/core/built/admin/assets/dist-BUKmD51u.js +1 -0
  72. package/core/built/admin/assets/{dist-2Tnz2Yfq.js → dist-CNlMj7ML.js} +1 -1
  73. package/core/built/admin/assets/{dist-DGzPJ_bO.js → dist-Cb5RSHSg.js} +1 -1
  74. package/core/built/admin/assets/{dist-P_ohUlTi.js → dist-CqO2lWS0.js} +1 -1
  75. package/core/built/admin/assets/{domain-CPNXKVOV.js → domain-B5ogXUBa.js} +1 -1
  76. package/core/built/admin/assets/{dropzone-BmCXnw6J.js → dropzone-BnFG7dDP.js} +1 -1
  77. package/core/built/admin/assets/{edit-profile-SGrJve5M.js → edit-profile-B07jCZy9.js} +1 -1
  78. package/core/built/admin/assets/editor-DDYSOXGN.js +8 -0
  79. package/core/built/admin/assets/{empty-indicator-oX1u1Pkn.js → empty-indicator-WB1WgT9h.js} +1 -1
  80. package/core/built/admin/assets/{explore-CUYLv9G9.js → explore-Ca1y8HW_.js} +1 -1
  81. package/core/built/admin/assets/{feed-CPdJMttL.js → feed-x4iFMBP4.js} +1 -1
  82. package/core/built/admin/assets/field-ChCAabZg.js +1 -0
  83. package/core/built/admin/assets/filter-sources-LdtH1e-T.js +1 -0
  84. package/core/built/admin/assets/{filters-bXkkWro8.js → filters-CLehPo_D.js} +1 -1
  85. package/core/built/admin/assets/filters-CjVKRP8U.js +1 -0
  86. package/core/built/admin/assets/{ghost-05f9a7182ed56903dba05878a5b8422b.js → ghost-7f01131115186d1af84ead76e79646dd.js} +275 -255
  87. package/core/built/admin/assets/{ghost-3063eae29e6c9cc6d6e7131928a27da0.css → ghost-d38c30b866e59f2e06a357b5eb844fe5.css} +1 -1
  88. package/core/built/admin/assets/{ghost-dark-c8d0ab7f515b2010c173e23e9b32ea8a.css → ghost-dark-1bffd5099ba7a749303133efacf8480b.css} +1 -1
  89. package/core/built/admin/assets/gift-link-modal-Buqh2vXh.js +1 -0
  90. package/core/built/admin/assets/{gift-links-nBxJjZiQ.js → gift-links-CsUhefWG.js} +1 -1
  91. package/core/built/admin/assets/growth-DajOBdN0.js +1 -0
  92. package/core/built/admin/assets/growth-Dy2UOSay.js +3 -0
  93. package/core/built/admin/assets/{hooks-BApwwBE0.js → hooks-CixO01lL.js} +1 -1
  94. package/core/built/admin/assets/{inbox-Xx1CdnfO.js → inbox-BUOLDoji.js} +13 -13
  95. package/core/built/admin/assets/index-08n05-rc.js +67 -0
  96. package/core/built/admin/assets/index-DgUzgFvS.css +1 -0
  97. package/core/built/admin/assets/{inline-EMAm3okk.js → inline-Cw-gigDW.js} +1 -1
  98. package/core/built/admin/assets/input-group-uSK3XT7b.js +1 -0
  99. package/core/built/admin/assets/{input-surface-BpAjZXY5.js → input-surface-BdOe4KzO.js} +1 -1
  100. package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +9132 -9087
  101. package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +121 -121
  102. package/core/built/admin/assets/koenig-lexical/style.css +1 -1
  103. package/core/built/admin/assets/{koenig-lexical-B61IALf5.js → koenig-lexical-BFc4yFed.js} +82 -82
  104. package/core/built/admin/assets/{kpi-card-DCdlyaSS.js → kpi-card-BN-E6WYX.js} +1 -1
  105. package/core/built/admin/assets/{kpi-card-BlZaG1Lo.js → kpi-card-CCt-qeWD.js} +1 -1
  106. package/core/built/admin/assets/{kpi-helpers-DpAuS1Nb.js → kpi-helpers-DlxTbTs4.js} +1 -1
  107. package/core/built/admin/assets/{kpi-tabs-Dme44bQS.js → kpi-tabs-BlcUttpn.js} +1 -1
  108. package/core/built/admin/assets/{label-dSs5aepE.js → label-AVrxwmsz.js} +1 -1
  109. package/core/built/admin/assets/label-picker-DVnpu_IF.js +1 -0
  110. package/core/built/admin/assets/labels-DAIqKed7.js +1 -0
  111. package/core/built/admin/assets/layout-B0YLh7R9.js +1 -0
  112. package/core/built/admin/assets/link-helpers-D9LsDOkG.js +1 -0
  113. package/core/built/admin/assets/{list-page-B6ANtzkd.js → list-page-CdsnQR9N.js} +1 -1
  114. package/core/built/admin/assets/member-custom-fields-C8NpZYza.js +1 -0
  115. package/core/built/admin/assets/member-detail-CIVAdKXf.js +1 -0
  116. package/core/built/admin/assets/members-oLPiSkXD.js +10 -0
  117. package/core/built/admin/assets/modals-CB7v-k3T.js +31 -0
  118. package/core/built/admin/assets/moderation-CQ3urTFE.js +1 -0
  119. package/core/built/admin/assets/newsletter-rbeDX9Wk.js +1 -0
  120. package/core/built/admin/assets/{newsletters-D1jbtV-h.js → newsletters-BXJbJgA-.js} +1 -1
  121. package/core/built/admin/assets/newsletters-vt3Ni1Ov.js +1 -0
  122. package/core/built/admin/assets/note-Dk877BTv.js +1 -0
  123. package/core/built/admin/assets/notifications-CPlLjPxO.js +1 -0
  124. package/core/built/admin/assets/{offers-CrY6nSRR.js → offers-DEniVRD5.js} +1 -1
  125. package/core/built/admin/assets/onboarding-route-DdStOtjy.js +1 -0
  126. package/core/built/admin/assets/overview--4V-kx9c.js +1 -0
  127. package/core/built/admin/assets/overview-DSLv30oz.js +1 -0
  128. package/core/built/admin/assets/{page-header-op0eN36I.js → page-header-pp4dWmOS.js} +1 -1
  129. package/core/built/admin/assets/{pages-BbNWFcGj.js → pages-B4goRPUn.js} +1 -1
  130. package/core/built/admin/assets/{post-analytics-WwRDEnrV.js → post-analytics-BMJrI81R.js} +1 -1
  131. package/core/built/admin/assets/post-analytics-header-pU2m9ZuV.js +1 -0
  132. package/core/built/admin/assets/post-analytics-provider-Btml5vJI.js +1 -0
  133. package/core/built/admin/assets/{post-share-modal-Dx-MEjhI.js → post-share-modal-AcUZkbfL.js} +1 -1
  134. package/core/built/admin/assets/{posts-EWpZIjkr.js → posts-DhXE7b6r.js} +1 -1
  135. package/core/built/admin/assets/preferences-Ru4CRPHC.js +5 -0
  136. package/core/built/admin/assets/profile-BNb1oj7D.js +1 -0
  137. package/core/built/admin/assets/{referrers-BCfFYSHc.js → referrers-pmJT4k3-.js} +1 -1
  138. package/core/built/admin/assets/{router-provider-C1R4AZ2o.js → router-provider-BmEZf6c6.js} +1 -1
  139. package/core/built/admin/assets/select-B0HteHrp.js +1 -0
  140. package/core/built/admin/assets/settings-B1C9Q3wo.js +4 -0
  141. package/core/built/admin/assets/{settings-H6HxFgfI.js → settings-BGgk7oCI.js} +1 -1
  142. package/core/built/admin/assets/{shade-app-B3heOAfz-CGXQwWeO.js → shade-app-B3heOAfz-BhQXxNkT.js} +1 -1
  143. package/core/built/admin/assets/{share-modal-BJCadJyp.js → share-modal-BeuydaBf.js} +1 -1
  144. package/core/built/admin/assets/social-urls-DA2lXrhW.js +8 -0
  145. package/core/built/admin/assets/{sort-button-DyYlfYp7.js → sort-button-Df4t2AL8.js} +1 -1
  146. package/core/built/admin/assets/{source-icon-_ubRDbg_.js → source-icon-ajoaKb41.js} +1 -1
  147. package/core/built/admin/assets/{stack-xiN0eQ6Z.js → stack-CIfOAAVf.js} +1 -1
  148. package/core/built/admin/assets/{stats-BQZMGMvn.js → stats-C_lfxZAw.js} +1 -1
  149. package/core/built/admin/assets/{stats-view-Doei-qCX.js → stats-view-Cxot1iD8.js} +1 -1
  150. package/core/built/admin/assets/{step-1-IKiLBPoC.js → step-1-ogAA4lDr.js} +1 -1
  151. package/core/built/admin/assets/{step-2-jJ41PsDN.js → step-2-C5Xini-7.js} +1 -1
  152. package/core/built/admin/assets/{step-3-CaqFAEqf.js → step-3-CZv1FV81.js} +2 -2
  153. package/core/built/admin/assets/{switch-t-WyENU2.js → switch-CyQcwMAv.js} +1 -1
  154. package/core/built/admin/assets/{table-DxUL78jU.js → table-DFj1wiYv.js} +1 -1
  155. package/core/built/admin/assets/tabs-D4y1gqUd.js +1 -0
  156. package/core/built/admin/assets/{tags-CNujGwkT.js → tags-Dmft-Y4O.js} +1 -1
  157. package/core/built/admin/assets/{text-DwtjwGkh.js → text-DU9Hv33_.js} +1 -1
  158. package/core/built/admin/assets/textarea-d9qEkMOP.js +1 -0
  159. package/core/built/admin/assets/{tiers-BgYLWRJv.js → tiers-DYsa4DCo.js} +1 -1
  160. package/core/built/admin/assets/{toggle-group-BeEpQ69p.js → toggle-group-R2QMFvXW.js} +1 -1
  161. package/core/built/admin/assets/{topic-filter-Bb5MOD-1.js → topic-filter-DGDxDalo.js} +1 -1
  162. package/core/built/admin/assets/{use-analytics-data-Cds6XDjg.js → use-analytics-data-C76v4LIp.js} +1 -1
  163. package/core/built/admin/assets/use-filter-params-WrdhAISv.js +1 -0
  164. package/core/built/admin/assets/{use-growth-stats-D8uf98-G.js → use-growth-stats-aNXJOmQr.js} +1 -1
  165. package/core/built/admin/assets/{use-post-referrers-CRtgyuXB.js → use-post-referrers-CG0SZioj.js} +1 -1
  166. package/core/built/admin/assets/{use-reply-chain-data-DbKYX50v.js → use-reply-chain-data-RLdPKRmS.js} +1 -1
  167. package/core/built/admin/assets/{use-simple-pagination-DC01kpo0.js → use-simple-pagination-DgcF69KI.js} +1 -1
  168. package/core/built/admin/assets/{use-tinybird-query-C7bQRJWw.js → use-tinybird-query-C1R_Kbmy.js} +1 -1
  169. package/core/built/admin/assets/{use-tinybird-token-Az4tam7_.js → use-tinybird-token-C9fPjVM_.js} +1 -1
  170. package/core/built/admin/assets/{users-CcSCQFcQ.js → users-Dkv8NQZe.js} +1 -1
  171. package/core/built/admin/assets/{virtual-list-Dhuh9fGx.js → virtual-list-BmTUzeoF.js} +1 -1
  172. package/core/built/admin/assets/web-BqW0b0_C.js +1 -0
  173. package/core/built/admin/assets/web-Cy5GKMWM.js +2 -0
  174. package/core/built/admin/index.html +18 -18
  175. package/core/frontend/services/data/fetch-data.js +10 -5
  176. package/core/frontend/services/proxy.js +7 -8
  177. package/core/frontend/services/routing/api-adapter.js +115 -0
  178. package/core/frontend/services/routing/api-adapter.ts +157 -0
  179. package/core/frontend/services/routing/collection-router.js +5 -3
  180. package/core/frontend/services/routing/controllers/index.js +1 -1
  181. package/core/frontend/services/routing/controllers/rss.js +26 -31
  182. package/core/frontend/services/routing/controllers/rss.ts +66 -0
  183. package/core/frontend/services/routing/controllers/static.js +8 -7
  184. package/core/frontend/services/routing/parent-router.js +17 -4
  185. package/core/frontend/services/routing/permalink-adapter.js +26 -0
  186. package/core/frontend/services/routing/permalink-adapter.ts +23 -0
  187. package/core/frontend/services/routing/registry.js +59 -33
  188. package/core/frontend/services/routing/router-manager.js +14 -18
  189. package/core/frontend/services/routing/static-routes-router.js +11 -13
  190. package/core/frontend/services/routing/taxonomy-router.js +6 -2
  191. package/core/server/api/endpoints/automation-action-links.js +68 -0
  192. package/core/server/api/endpoints/automation-action-links.ts +46 -0
  193. package/core/server/api/endpoints/index.js +4 -0
  194. package/core/server/api/endpoints/settings.js +0 -2
  195. package/core/server/api/endpoints/utils/serializers/output/utils/url.js +11 -1
  196. package/core/server/data/migrations/versions/6.55/2026-07-27-11-25-44-add-to-hash-to-redirects.js +51 -0
  197. package/core/server/data/migrations/versions/6.55/2026-07-28-12-08-00-remove-routes-hash-from-settings.js +5 -0
  198. 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
  199. package/core/server/data/migrations/versions/6.56/2026-08-04-14-42-39-restrict-notification-add-permission-to-administrators.js +12 -0
  200. package/core/server/data/schema/commands.js +5 -0
  201. package/core/server/data/schema/default-settings/default-settings.json +0 -4
  202. package/core/server/data/schema/fixtures/fixtures.json +2 -2
  203. package/core/server/data/schema/schema.js +6 -1
  204. package/core/server/models/post.js +10 -1
  205. package/core/server/services/automations/automations-api.js +15 -0
  206. package/core/server/services/automations/automations-api.ts +19 -0
  207. package/core/server/services/automations/automations-repository.ts +20 -0
  208. package/core/server/services/automations/database-automations-repository.js +132 -30
  209. package/core/server/services/automations/database-automations-repository.ts +141 -12
  210. package/core/server/services/automations/database-date.js +10 -0
  211. package/core/server/services/automations/database-date.ts +5 -0
  212. package/core/server/services/automations/get-scheduler-idempotency-key.js +13 -0
  213. package/core/server/services/automations/get-scheduler-idempotency-key.ts +8 -0
  214. package/core/server/services/automations/poll.js +7 -2
  215. package/core/server/services/automations/poll.ts +10 -2
  216. package/core/server/services/automations/scheduler-poll-time.js +40 -0
  217. package/core/server/services/automations/scheduler-poll-time.ts +38 -0
  218. package/core/server/services/automations/service.js +19 -3
  219. package/core/server/services/automations/service.ts +20 -3
  220. package/core/server/services/comments/comments-service-emails.js +10 -7
  221. package/core/server/services/comments/comments-service.js +9 -4
  222. package/core/server/services/email-rendering/partials/email-wrapper.hbs +3 -1
  223. package/core/server/services/email-service/email-service-wrapper.js +6 -1
  224. package/core/server/services/email-service/email-templates/partials/styles.hbs +8 -0
  225. package/core/server/services/email-service/newsletter-email-event-storage.js +41 -10
  226. package/core/server/services/gift-links/CONTEXT.md +9 -0
  227. package/core/server/services/gifts/CONTEXT.md +55 -0
  228. package/core/server/services/gifts/README.md +28 -0
  229. package/core/server/services/gifts/gift-bookshelf-repository.js +65 -45
  230. package/core/server/services/gifts/gift-bookshelf-repository.ts +203 -74
  231. package/core/server/services/gifts/gift-checkout-adapter.js +59 -0
  232. package/core/server/services/gifts/gift-checkout-offer.js +74 -0
  233. package/core/server/services/gifts/gift-checkout-offer.ts +127 -0
  234. package/core/server/services/gifts/gift-codec.js +63 -0
  235. package/core/server/services/gifts/gift-codec.ts +62 -0
  236. package/core/server/services/gifts/gift-controller.js +6 -31
  237. package/core/server/services/gifts/gift-controller.ts +6 -69
  238. package/core/server/services/gifts/gift-email-service.ts +3 -2
  239. package/core/server/services/gifts/gift-schema.js +34 -0
  240. package/core/server/services/gifts/gift-schema.ts +39 -0
  241. package/core/server/services/gifts/gift-service-wrapper.js +13 -11
  242. package/core/server/services/gifts/gift-service.js +265 -52
  243. package/core/server/services/gifts/gift-service.ts +431 -97
  244. package/core/server/services/gifts/gift.ts +16 -39
  245. package/core/server/services/lib/dynamic-redirect-manager.js +12 -3
  246. package/core/server/services/link-redirection/link-redirect-repository.js +41 -4
  247. package/core/server/services/link-redirection/link-redirect.js +2 -0
  248. package/core/server/services/link-redirection/link-redirect.ts +3 -1
  249. package/core/server/services/link-redirection/link-redirects-service.js +38 -2
  250. package/core/server/services/link-tracking/click-event.js +3 -0
  251. package/core/server/services/link-tracking/index.js +38 -6
  252. package/core/server/services/link-tracking/link-click-repository.js +35 -9
  253. package/core/server/services/link-tracking/link-click-tracking-service.js +54 -4
  254. package/core/server/services/member-attribution/outbound-link-tagger.js +3 -1
  255. package/core/server/services/member-welcome-emails/member-welcome-email-renderer.js +20 -4
  256. package/core/server/services/member-welcome-emails/service.js +15 -3
  257. package/core/server/services/members/api.js +1 -2
  258. package/core/server/services/members/import-export/csv/formula.js +16 -0
  259. package/core/server/services/members/import-export/csv/formula.ts +14 -0
  260. package/core/server/services/members/import-export/csv/index.js +3 -1
  261. package/core/server/services/members/import-export/csv/index.ts +1 -0
  262. package/core/server/services/members/import-export/import/completion-email.js +22 -3
  263. package/core/server/services/members/import-export/import/completion-email.ts +29 -7
  264. package/core/server/services/members/import-export/import/importer.js +25 -4
  265. package/core/server/services/members/import-export/import/importer.ts +44 -5
  266. package/core/server/services/members/import-export/index.js +18 -1
  267. package/core/server/services/members/import-export/index.ts +32 -3
  268. package/core/server/services/members/members-api/controllers/router-controller.js +38 -36
  269. package/core/server/services/members/members-api/members-api.js +13 -7
  270. package/core/server/services/members/members-api/repositories/event-repository.js +4 -94
  271. package/core/server/services/members/members-api/services/member-bread-service.js +3 -3
  272. package/core/server/services/members/members-api/services/payments-service.js +6 -68
  273. package/core/server/services/members/service.js +8 -1
  274. package/core/server/services/members-custom-fields/schema.js +8 -1
  275. package/core/server/services/members-custom-fields/schema.ts +8 -0
  276. package/core/server/services/members-custom-fields/values-service.js +136 -8
  277. package/core/server/services/members-custom-fields/values-service.ts +152 -10
  278. package/core/server/services/mentions/service.js +5 -1
  279. package/core/server/services/oembed/oembed-service.js +44 -3
  280. package/core/server/services/posts/posts-service.js +11 -0
  281. package/core/server/services/route-settings/dynamic-routing-service.js +21 -52
  282. package/core/server/services/route-settings/index.js +1 -16
  283. package/core/server/services/route-settings/route-settings-parser.js +25 -25
  284. package/core/server/services/route-settings/route-settings-parser.ts +27 -27
  285. package/core/server/services/route-settings/validation-errors.js +68 -4
  286. package/core/server/services/route-settings/validation-errors.ts +79 -4
  287. package/core/server/services/settings/settings-service.js +0 -18
  288. package/core/server/services/stats/posts-stats-service.js +27 -23
  289. package/core/server/services/stripe/services/webhook/charge-refunded-event-service.js +1 -1
  290. package/core/server/services/stripe/services/webhook/checkout-session-event-service.js +16 -4
  291. package/core/server/services/stripe/stripe-api.js +10 -0
  292. package/core/server/services/url/url-service-facade.js +1 -1
  293. package/core/server/services/url/url-service-facade.ts +8 -1
  294. package/core/server/web/api/endpoints/admin/routes.js +1 -0
  295. package/core/server/web/gift-preview/controller.js +10 -25
  296. package/core/shared/labs.js +2 -2
  297. package/package.json +8 -7
  298. package/pnpm-lock.yaml +28 -18
  299. package/pnpm-workspace.yaml +6 -4
  300. package/components/tryghost-kg-default-nodes-2.1.3.tgz +0 -0
  301. package/core/built/admin/assets/Growth-BTP1LthE.js +0 -3
  302. package/core/built/admin/assets/Newsletters-CSEX0myc.js +0 -1
  303. package/core/built/admin/assets/Overview-BjACEsJF.js +0 -1
  304. package/core/built/admin/assets/Web-CxxxjCcv.js +0 -2
  305. package/core/built/admin/assets/activitypub/layout-CziktJXo.js +0 -1
  306. package/core/built/admin/assets/audience-X_XsZivI.js +0 -1
  307. package/core/built/admin/assets/chunk.524.8365cd9280405c0f6216.js +0 -25
  308. package/core/built/admin/assets/chunk.582.61d078937e6102769f2c.js +0 -27
  309. package/core/built/admin/assets/comments-CvyXxOyN.js +0 -1
  310. package/core/built/admin/assets/constants-c-JNF9c2.js +0 -1
  311. package/core/built/admin/assets/dist-CjY-f5Z1.js +0 -1
  312. package/core/built/admin/assets/editor-BOG2YPUm.js +0 -8
  313. package/core/built/admin/assets/field-D0XISCK2.js +0 -1
  314. package/core/built/admin/assets/filter-sources-Bieps75g.js +0 -1
  315. package/core/built/admin/assets/filters-CuB-A7ma.js +0 -1
  316. package/core/built/admin/assets/gift-link-modal-su8MsRdg.js +0 -1
  317. package/core/built/admin/assets/growth-Ba6S5FQX.js +0 -1
  318. package/core/built/admin/assets/index-D8PbzuT9.css +0 -1
  319. package/core/built/admin/assets/index-ukW_0Uie.js +0 -67
  320. package/core/built/admin/assets/input-group-CGOXcy4l.js +0 -1
  321. package/core/built/admin/assets/label-picker-Uq91atex.js +0 -1
  322. package/core/built/admin/assets/labels-Cyayfd-e.js +0 -1
  323. package/core/built/admin/assets/layout-WUcz6tu1.js +0 -1
  324. package/core/built/admin/assets/link-helpers-tOlxmuH5.js +0 -1
  325. package/core/built/admin/assets/member-custom-fields-NCzrMuba.js +0 -1
  326. package/core/built/admin/assets/member-detail-DPWDtYnN.js +0 -1
  327. package/core/built/admin/assets/members-B9rO7qr4.js +0 -10
  328. package/core/built/admin/assets/modals-CxRaan1J.js +0 -31
  329. package/core/built/admin/assets/moderation-D8zon60E.js +0 -1
  330. package/core/built/admin/assets/multi-select-combobox-1wYm3nle.js +0 -1
  331. package/core/built/admin/assets/newsletter-DbYMRxRS.js +0 -1
  332. package/core/built/admin/assets/note-PiWPnnrh.js +0 -1
  333. package/core/built/admin/assets/notifications-DEgqqB9G.js +0 -1
  334. package/core/built/admin/assets/nql-BsgFMd93.js +0 -1
  335. package/core/built/admin/assets/onboarding-route-BzF6HeVn.js +0 -1
  336. package/core/built/admin/assets/overview-DixLeIqY.js +0 -1
  337. package/core/built/admin/assets/post-analytics-header-DsMoLx0R.js +0 -1
  338. package/core/built/admin/assets/post-analytics-provider-BJCPLMIb.js +0 -1
  339. package/core/built/admin/assets/preferences-D7-j6A4C.js +0 -5
  340. package/core/built/admin/assets/profile-Dl69QPp0.js +0 -1
  341. package/core/built/admin/assets/select-C1qDZnW4.js +0 -1
  342. package/core/built/admin/assets/settings-BbmC_Iqq.js +0 -4
  343. package/core/built/admin/assets/social-urls-BPL1nADp.js +0 -8
  344. package/core/built/admin/assets/tabs-BQcJQ1ke.js +0 -1
  345. package/core/built/admin/assets/textarea-Bjccvh_E.js +0 -1
  346. package/core/built/admin/assets/use-filter-params-DjXkhO54.js +0 -1
  347. package/core/built/admin/assets/web-LtHNiNBV.js +0 -1
  348. package/core/server/services/gifts/gift-repository.js +0 -2
  349. package/core/server/services/gifts/gift-repository.ts +0 -29
  350. package/core/server/services/route-settings/activation-bridge.js +0 -164
  351. package/core/server/services/route-settings/activation-bridge.ts +0 -210
  352. package/core/server/services/route-settings/default-settings-manager.js +0 -63
  353. package/core/server/services/route-settings/route-settings.js +0 -170
  354. package/core/server/services/route-settings/settings-loader.js +0 -60
  355. package/core/server/services/route-settings/settings-path-manager.js +0 -47
  356. package/core/server/services/route-settings/validate.js +0 -440
@@ -1,7 +1,7 @@
1
1
  import { d as e, u as t } from "./_react-D4KM8XEu.js";
2
2
  import { S as n } from "./chunk-KS7C4IRE-D4HEcEwi.js";
3
- import { y as r } from "./use-navigate-with-base-path-CAwXTmqH.js";
4
- import { a as i } from "./avatar-B3DEDB1l.js";
3
+ import { y as r } from "./use-navigate-with-base-path-cy4ACBc4.js";
4
+ import { a as i } from "./avatar-11EA1VSs.js";
5
5
  //#region ../../node_modules/.pnpm/@radix-ui+react-separator@1.1.11_@types+react-dom@18.3.7_@types+react@18.3.31__@types+r_c4cecf52ec3997d5bf5103e0c31883d4/node_modules/@radix-ui/react-separator/dist/index.mjs
6
6
  e();
7
7
  var a = n(), o = "Separator", s = "horizontal", c = ["horizontal", "vertical"], l = t((e, t) => {
@@ -35,4 +35,4 @@ f.displayName = d.displayName;
35
35
  //#endregion
36
36
  export { f as t };
37
37
 
38
- //# sourceMappingURL=separator-BI1FLsYM.js.map
38
+ //# sourceMappingURL=separator-C5u_VjzY.js.map
@@ -1,9 +1,9 @@
1
1
  import { T as e, d as t } from "./_react-D4KM8XEu.js";
2
2
  import { S as n, t as r } from "./chunk-KS7C4IRE-D4HEcEwi.js";
3
- import { G as i, J as a, U as o, X as s, Y as c, _t as l, ht as u } from "./routes-CCHe2dQp.js";
4
- import { n as d, r as f, t as p, y as m } from "./use-navigate-with-base-path-CAwXTmqH.js";
5
- import { Y as h } from "./use-activity-pub-queries-VzbN99u_.js";
6
- import { t as g } from "./edit-profile-BcH-jEfM.js";
3
+ import { K as i, W as a, X as o, Y as s, Z as c, gt as l, vt as u } from "./routes-DFBeTnfn.js";
4
+ import { n as d, r as f, t as p, y as m } from "./use-navigate-with-base-path-cy4ACBc4.js";
5
+ import { Y as h } from "./use-activity-pub-queries-EwuRemHh.js";
6
+ import { t as g } from "./edit-profile-DPi8Tl5M.js";
7
7
  //#region src/views/preferences/components/settings.tsx
8
8
  t();
9
9
  var _ = n(), v = ({ account: t, className: n = "" }) => {
@@ -12,15 +12,15 @@ var _ = n(), v = ({ account: t, className: n = "" }) => {
12
12
  className: `flex flex-col ${n}`,
13
13
  children: [
14
14
  /* @__PURE__ */ (0, _.jsx)(w, {}),
15
- /* @__PURE__ */ (0, _.jsxs)(C, { children: [/* @__PURE__ */ (0, _.jsxs)(x, { children: [/* @__PURE__ */ (0, _.jsx)(y, { children: "Profile" }), /* @__PURE__ */ (0, _.jsx)(b, { children: "Edit your profile information and account details" })] }), /* @__PURE__ */ (0, _.jsxs)(o, {
15
+ /* @__PURE__ */ (0, _.jsxs)(C, { children: [/* @__PURE__ */ (0, _.jsxs)(x, { children: [/* @__PURE__ */ (0, _.jsx)(y, { children: "Profile" }), /* @__PURE__ */ (0, _.jsx)(b, { children: "Edit your profile information and account details" })] }), /* @__PURE__ */ (0, _.jsxs)(a, {
16
16
  open: r,
17
17
  onOpenChange: d,
18
- children: [/* @__PURE__ */ (0, _.jsx)(s, { children: /* @__PURE__ */ (0, _.jsx)(S, { children: /* @__PURE__ */ (0, _.jsx)(f, {
18
+ children: [/* @__PURE__ */ (0, _.jsx)(c, { children: /* @__PURE__ */ (0, _.jsx)(S, { children: /* @__PURE__ */ (0, _.jsx)(f, {
19
19
  variant: "secondary",
20
20
  children: "Edit"
21
21
  }) }) }), /* @__PURE__ */ (0, _.jsxs)(i, {
22
22
  onOpenAutoFocus: (e) => e.preventDefault(),
23
- children: [/* @__PURE__ */ (0, _.jsx)(a, { children: /* @__PURE__ */ (0, _.jsx)(c, { children: "Profile settings" }) }), t && /* @__PURE__ */ (0, _.jsx)(g, {
23
+ children: [/* @__PURE__ */ (0, _.jsx)(s, { children: /* @__PURE__ */ (0, _.jsx)(o, { children: "Profile settings" }) }), t && /* @__PURE__ */ (0, _.jsx)(g, {
24
24
  account: t,
25
25
  setIsEditingProfile: d
26
26
  })]
@@ -31,7 +31,7 @@ var _ = n(), v = ({ account: t, className: n = "" }) => {
31
31
  withHover: !0,
32
32
  children: [/* @__PURE__ */ (0, _.jsxs)(x, { children: [/* @__PURE__ */ (0, _.jsx)(y, { children: "Social web handle" }), /* @__PURE__ */ (0, _.jsx)(b, { children: "Set your account username and domain" })] }), /* @__PURE__ */ (0, _.jsx)(S, {
33
33
  className: "flex items-center gap-2",
34
- children: /* @__PURE__ */ (0, _.jsx)(l, { size: 20 })
34
+ children: /* @__PURE__ */ (0, _.jsx)(u, { size: 20 })
35
35
  })]
36
36
  }),
37
37
  /* @__PURE__ */ (0, _.jsxs)(C, {
@@ -39,7 +39,7 @@ var _ = n(), v = ({ account: t, className: n = "" }) => {
39
39
  onClick: () => m("/preferences/moderation"),
40
40
  children: [/* @__PURE__ */ (0, _.jsxs)(x, { children: [/* @__PURE__ */ (0, _.jsx)(y, { children: "Moderation" }), /* @__PURE__ */ (0, _.jsx)(b, { children: "Manage blocked users and domains" })] }), /* @__PURE__ */ (0, _.jsx)(S, {
41
41
  className: "flex items-center gap-2",
42
- children: /* @__PURE__ */ (0, _.jsx)(l, { size: 20 })
42
+ children: /* @__PURE__ */ (0, _.jsx)(u, { size: 20 })
43
43
  })]
44
44
  }),
45
45
  /* @__PURE__ */ (0, _.jsxs)(C, {
@@ -50,7 +50,7 @@ var _ = n(), v = ({ account: t, className: n = "" }) => {
50
50
  children: [t?.blueskyEnabled ? /* @__PURE__ */ (0, _.jsx)("span", {
51
51
  className: "font-medium text-black",
52
52
  children: "On"
53
- }) : /* @__PURE__ */ (0, _.jsx)("span", { children: "Off" }), /* @__PURE__ */ (0, _.jsx)(l, { size: 20 })]
53
+ }) : /* @__PURE__ */ (0, _.jsx)("span", { children: "Off" }), /* @__PURE__ */ (0, _.jsx)(u, { size: 20 })]
54
54
  })]
55
55
  }),
56
56
  /* @__PURE__ */ (0, _.jsxs)(C, {
@@ -58,14 +58,14 @@ var _ = n(), v = ({ account: t, className: n = "" }) => {
58
58
  withHover: !0,
59
59
  children: [/* @__PURE__ */ (0, _.jsxs)(x, { children: [/* @__PURE__ */ (0, _.jsx)(y, { children: "Account migration" }), /* @__PURE__ */ (0, _.jsx)(b, { children: "Move another social web account to this one" })] }), /* @__PURE__ */ (0, _.jsx)(S, {
60
60
  className: "flex items-center gap-2",
61
- children: /* @__PURE__ */ (0, _.jsx)(l, { size: 20 })
61
+ children: /* @__PURE__ */ (0, _.jsx)(u, { size: 20 })
62
62
  })]
63
63
  }),
64
64
  /* @__PURE__ */ (0, _.jsx)(w, {}),
65
65
  /* @__PURE__ */ (0, _.jsxs)(C, {
66
66
  href: "https://ghost.org/help/social-web/",
67
67
  withHover: !0,
68
- children: [/* @__PURE__ */ (0, _.jsxs)(x, { children: [/* @__PURE__ */ (0, _.jsx)(y, { children: "Help" }), /* @__PURE__ */ (0, _.jsx)(b, { children: "Social web guides and support resources" })] }), /* @__PURE__ */ (0, _.jsx)(S, { children: /* @__PURE__ */ (0, _.jsx)(u, { size: 18 }) })]
68
+ children: [/* @__PURE__ */ (0, _.jsxs)(x, { children: [/* @__PURE__ */ (0, _.jsx)(y, { children: "Help" }), /* @__PURE__ */ (0, _.jsx)(b, { children: "Social web guides and support resources" })] }), /* @__PURE__ */ (0, _.jsx)(S, { children: /* @__PURE__ */ (0, _.jsx)(l, { size: 18 }) })]
69
69
  })
70
70
  ]
71
71
  });
@@ -104,4 +104,4 @@ var _ = n(), v = ({ account: t, className: n = "" }) => {
104
104
  //#endregion
105
105
  export { v as n, S as t };
106
106
 
107
- //# sourceMappingURL=settings-kx-9Enkz.js.map
107
+ //# sourceMappingURL=settings-CV2fFu6D.js.map
@@ -1,12 +1,12 @@
1
1
  import { S as e, T as t, d as n, g as r, u as i, v as a, w as o } from "./_react-D4KM8XEu.js";
2
2
  import { S as s } from "./chunk-KS7C4IRE-D4HEcEwi.js";
3
3
  import { r as c } from "./users-BLeiOTHc.js";
4
- import { at as l, bt as u, dt as d, et as f, ft as p, it as m, nt as h, ot as g, rt as _, st as ee, tt as v, ut as y } from "./routes-CCHe2dQp.js";
5
- import { m as b, p as x, y as S } from "./use-navigate-with-base-path-CAwXTmqH.js";
6
- import { a as C, c as w } from "./avatar-B3DEDB1l.js";
4
+ import { St as l, at as u, ct as d, dt as f, ft as p, it as m, nt as h, ot as g, pt as _, rt as v, st as y, tt as b } from "./routes-DFBeTnfn.js";
5
+ import { m as x, p as S, y as C } from "./use-navigate-with-base-path-cy4ACBc4.js";
6
+ import { a as w, c as T } from "./avatar-11EA1VSs.js";
7
7
  //#region ../../node_modules/.pnpm/@radix-ui+react-visually-hidden@1.2.7_@types+react-dom@18.3.7_@types+react@18.3.31__@ty_c850badfde3651ed5cb7d90f2934dc1f/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs
8
8
  n();
9
- var T = s(), E = Object.freeze({
9
+ var E = s(), D = Object.freeze({
10
10
  position: "absolute",
11
11
  border: 0,
12
12
  width: 1,
@@ -17,25 +17,25 @@ var T = s(), E = Object.freeze({
17
17
  clip: "rect(0, 0, 0, 0)",
18
18
  whiteSpace: "nowrap",
19
19
  wordWrap: "normal"
20
- }), D = "VisuallyHidden", O = i((e, t) => /* @__PURE__ */ (0, T.jsx)(C.span, {
20
+ }), O = "VisuallyHidden", k = i((e, t) => /* @__PURE__ */ (0, E.jsx)(w.span, {
21
21
  ...e,
22
22
  ref: t,
23
23
  style: {
24
- ...E,
24
+ ...D,
25
25
  ...e.style
26
26
  }
27
27
  }));
28
- O.displayName = D;
29
- var k = O;
28
+ k.displayName = O;
29
+ var A = k;
30
30
  //#endregion
31
31
  //#region ../../node_modules/.pnpm/@radix-ui+react-tooltip@1.2.11_@types+react-dom@18.3.7_@types+react@18.3.31__@types+rea_88c151721934f8683fe33b633effbc1c/node_modules/@radix-ui/react-tooltip/dist/index.mjs
32
32
  n();
33
- var [A, te] = w("Tooltip", [g]), j = g(), M = "TooltipProvider", N = 700, P = "tooltip.open", [ne, F] = A(M), I = (e) => {
34
- let { __scopeTooltip: t, delayDuration: n = N, skipDelayDuration: i = 300, disableHoverableContent: s = !1, children: c } = e, l = o(!0), u = o(!1), d = o(0);
33
+ var [j, ee] = T("Tooltip", [y]), M = y(), N = "TooltipProvider", P = 700, F = "tooltip.open", [te, I] = j(N), L = (e) => {
34
+ let { __scopeTooltip: t, delayDuration: n = P, skipDelayDuration: i = 300, disableHoverableContent: s = !1, children: c } = e, l = o(!0), u = o(!1), d = o(0);
35
35
  return a(() => {
36
36
  let e = d.current;
37
37
  return () => window.clearTimeout(e);
38
- }, []), /* @__PURE__ */ (0, T.jsx)(ne, {
38
+ }, []), /* @__PURE__ */ (0, E.jsx)(te, {
39
39
  scope: t,
40
40
  isOpenDelayedRef: l,
41
41
  delayDuration: n,
@@ -53,89 +53,89 @@ var [A, te] = w("Tooltip", [g]), j = g(), M = "TooltipProvider", N = 700, P = "t
53
53
  children: c
54
54
  });
55
55
  };
56
- I.displayName = M;
57
- var L = "Tooltip", [R, z] = A(L), B = (n) => {
58
- let { __scopeTooltip: i, children: s, open: c, defaultOpen: u, onOpenChange: f, disableHoverableContent: p, delayDuration: m } = n, h = F(L, n.__scopeTooltip), g = j(i), [_, v] = t(null), y = ee(), b = o(0), x = p ?? h.disableHoverableContent, S = m ?? h.delayDuration, C = o(!1), [w, E] = d({
56
+ L.displayName = N;
57
+ var R = "Tooltip", [ne, z] = j(R), B = (n) => {
58
+ let { __scopeTooltip: i, children: s, open: c, defaultOpen: l, onOpenChange: u, disableHoverableContent: f, delayDuration: m } = n, h = I(R, n.__scopeTooltip), _ = M(i), [v, y] = t(null), b = d(), x = o(0), S = f ?? h.disableHoverableContent, C = m ?? h.delayDuration, w = o(!1), [T, D] = p({
59
59
  prop: c,
60
- defaultProp: u ?? !1,
60
+ defaultProp: l ?? !1,
61
61
  onChange: (e) => {
62
- e ? (h.onOpen(), document.dispatchEvent(new CustomEvent(P))) : h.onClose(), f?.(e);
62
+ e ? (h.onOpen(), document.dispatchEvent(new CustomEvent(F))) : h.onClose(), u?.(e);
63
63
  },
64
- caller: L
65
- }), D = e(() => w ? C.current ? "delayed-open" : "instant-open" : "closed", [w]), O = r(() => {
66
- window.clearTimeout(b.current), b.current = 0, C.current = !1, E(!0);
67
- }, [E]), k = r(() => {
68
- window.clearTimeout(b.current), b.current = 0, E(!1);
69
- }, [E]), A = r(() => {
70
- window.clearTimeout(b.current), b.current = window.setTimeout(() => {
71
- C.current = !0, E(!0), b.current = 0;
72
- }, S);
73
- }, [S, E]);
64
+ caller: R
65
+ }), O = e(() => T ? w.current ? "delayed-open" : "instant-open" : "closed", [T]), k = r(() => {
66
+ window.clearTimeout(x.current), x.current = 0, w.current = !1, D(!0);
67
+ }, [D]), A = r(() => {
68
+ window.clearTimeout(x.current), x.current = 0, D(!1);
69
+ }, [D]), j = r(() => {
70
+ window.clearTimeout(x.current), x.current = window.setTimeout(() => {
71
+ w.current = !0, D(!0), x.current = 0;
72
+ }, C);
73
+ }, [C, D]);
74
74
  return a(() => () => {
75
- b.current &&= (window.clearTimeout(b.current), 0);
76
- }, []), /* @__PURE__ */ (0, T.jsx)(l, {
77
- ...g,
78
- children: /* @__PURE__ */ (0, T.jsx)(R, {
75
+ x.current &&= (window.clearTimeout(x.current), 0);
76
+ }, []), /* @__PURE__ */ (0, E.jsx)(g, {
77
+ ..._,
78
+ children: /* @__PURE__ */ (0, E.jsx)(ne, {
79
79
  scope: i,
80
- contentId: y,
81
- open: w,
82
- stateAttribute: D,
83
- trigger: _,
84
- onTriggerChange: v,
80
+ contentId: b,
81
+ open: T,
82
+ stateAttribute: O,
83
+ trigger: v,
84
+ onTriggerChange: y,
85
85
  onTriggerEnter: r(() => {
86
- h.isOpenDelayedRef.current ? A() : O();
86
+ h.isOpenDelayedRef.current ? j() : k();
87
87
  }, [
88
88
  h.isOpenDelayedRef,
89
- A,
90
- O
89
+ j,
90
+ k
91
91
  ]),
92
92
  onTriggerLeave: r(() => {
93
- x ? k() : (window.clearTimeout(b.current), b.current = 0);
94
- }, [k, x]),
95
- onOpen: O,
96
- onClose: k,
97
- disableHoverableContent: x,
93
+ S ? A() : (window.clearTimeout(x.current), x.current = 0);
94
+ }, [A, S]),
95
+ onOpen: k,
96
+ onClose: A,
97
+ disableHoverableContent: S,
98
98
  children: s
99
99
  })
100
100
  });
101
101
  };
102
- B.displayName = L;
102
+ B.displayName = R;
103
103
  var V = "TooltipTrigger", H = i((e, t) => {
104
- let { __scopeTooltip: n, ...i } = e, s = z(V, n), c = F(V, n), l = j(n), u = b(t, o(null), s.onTriggerChange), d = o(!1), f = o(!1), m = r(() => d.current = !1, []);
105
- return a(() => () => document.removeEventListener("pointerup", m), [m]), /* @__PURE__ */ (0, T.jsx)(h, {
104
+ let { __scopeTooltip: n, ...i } = e, s = z(V, n), c = I(V, n), l = M(n), u = x(t, o(null), s.onTriggerChange), d = o(!1), f = o(!1), p = r(() => d.current = !1, []);
105
+ return a(() => () => document.removeEventListener("pointerup", p), [p]), /* @__PURE__ */ (0, E.jsx)(v, {
106
106
  asChild: !0,
107
107
  ...l,
108
- children: /* @__PURE__ */ (0, T.jsx)(C.button, {
108
+ children: /* @__PURE__ */ (0, E.jsx)(w.button, {
109
109
  "aria-describedby": s.open ? s.contentId : void 0,
110
110
  "data-state": s.stateAttribute,
111
111
  ...i,
112
112
  ref: u,
113
- onPointerMove: p(e.onPointerMove, (e) => {
113
+ onPointerMove: _(e.onPointerMove, (e) => {
114
114
  e.pointerType !== "touch" && !f.current && !c.isPointerInTransitRef.current && (s.onTriggerEnter(), f.current = !0);
115
115
  }),
116
- onPointerLeave: p(e.onPointerLeave, () => {
116
+ onPointerLeave: _(e.onPointerLeave, () => {
117
117
  s.onTriggerLeave(), f.current = !1;
118
118
  }),
119
- onPointerDown: p(e.onPointerDown, () => {
120
- s.open && s.onClose(), d.current = !0, document.addEventListener("pointerup", m, { once: !0 });
119
+ onPointerDown: _(e.onPointerDown, () => {
120
+ s.open && s.onClose(), d.current = !0, document.addEventListener("pointerup", p, { once: !0 });
121
121
  }),
122
- onFocus: p(e.onFocus, () => {
122
+ onFocus: _(e.onFocus, () => {
123
123
  d.current || s.onOpen();
124
124
  }),
125
- onBlur: p(e.onBlur, s.onClose),
126
- onClick: p(e.onClick, s.onClose)
125
+ onBlur: _(e.onBlur, s.onClose),
126
+ onClick: _(e.onClick, s.onClose)
127
127
  })
128
128
  });
129
129
  });
130
130
  H.displayName = V;
131
- var U = "TooltipPortal", [re, ie] = A(U, { forceMount: void 0 }), W = (e) => {
131
+ var U = "TooltipPortal", [re, ie] = j(U, { forceMount: void 0 }), W = (e) => {
132
132
  let { __scopeTooltip: t, forceMount: n, children: r, container: i } = e, a = z(U, t);
133
- return /* @__PURE__ */ (0, T.jsx)(re, {
133
+ return /* @__PURE__ */ (0, E.jsx)(re, {
134
134
  scope: t,
135
135
  forceMount: n,
136
- children: /* @__PURE__ */ (0, T.jsx)(f, {
136
+ children: /* @__PURE__ */ (0, E.jsx)(b, {
137
137
  present: n || a.open,
138
- children: /* @__PURE__ */ (0, T.jsx)(v, {
138
+ children: /* @__PURE__ */ (0, E.jsx)(h, {
139
139
  asChild: !0,
140
140
  container: i,
141
141
  children: r
@@ -146,20 +146,20 @@ var U = "TooltipPortal", [re, ie] = A(U, { forceMount: void 0 }), W = (e) => {
146
146
  W.displayName = U;
147
147
  var G = "TooltipContent", K = i((e, t) => {
148
148
  let n = ie(G, e.__scopeTooltip), { forceMount: r = n.forceMount, side: i = "top", ...a } = e, o = z(G, e.__scopeTooltip);
149
- return /* @__PURE__ */ (0, T.jsx)(f, {
149
+ return /* @__PURE__ */ (0, E.jsx)(b, {
150
150
  present: r || o.open,
151
- children: o.disableHoverableContent ? /* @__PURE__ */ (0, T.jsx)(X, {
151
+ children: o.disableHoverableContent ? /* @__PURE__ */ (0, E.jsx)(X, {
152
152
  side: i,
153
153
  ...a,
154
154
  ref: t
155
- }) : /* @__PURE__ */ (0, T.jsx)(q, {
155
+ }) : /* @__PURE__ */ (0, E.jsx)(q, {
156
156
  side: i,
157
157
  ...a,
158
158
  ref: t
159
159
  })
160
160
  });
161
161
  }), q = i((e, n) => {
162
- let i = z(G, e.__scopeTooltip), s = F(G, e.__scopeTooltip), c = o(null), l = b(n, c), [u, d] = t(null), { trigger: f, onClose: p } = i, m = c.current, { onPointerInTransitChange: h } = s, g = r(() => {
162
+ let i = z(G, e.__scopeTooltip), s = I(G, e.__scopeTooltip), c = o(null), l = x(n, c), [u, d] = t(null), { trigger: f, onClose: p } = i, m = c.current, { onPointerInTransitChange: h } = s, g = r(() => {
163
163
  d(null), h(!1);
164
164
  }, [h]), _ = r((e, t) => {
165
165
  let n = e.currentTarget, r = {
@@ -197,29 +197,29 @@ var G = "TooltipContent", K = i((e, t) => {
197
197
  u,
198
198
  p,
199
199
  g
200
- ]), /* @__PURE__ */ (0, T.jsx)(X, {
200
+ ]), /* @__PURE__ */ (0, E.jsx)(X, {
201
201
  ...e,
202
202
  ref: l
203
203
  });
204
- }), [J, Y] = A(L, { isInside: !1 }), ae = x("TooltipContent"), X = i((e, t) => {
205
- let { __scopeTooltip: n, children: r, "aria-label": i, onEscapeKeyDown: o, onPointerDownOutside: s, ...c } = e, l = z(G, n), u = j(n), { onClose: d } = l;
206
- return a(() => (document.addEventListener(P, d), () => document.removeEventListener(P, d)), [d]), a(() => {
204
+ }), [J, Y] = j(R, { isInside: !1 }), ae = S("TooltipContent"), X = i((e, t) => {
205
+ let { __scopeTooltip: n, children: r, "aria-label": i, onEscapeKeyDown: o, onPointerDownOutside: s, ...c } = e, l = z(G, n), d = M(n), { onClose: p } = l;
206
+ return a(() => (document.addEventListener(F, p), () => document.removeEventListener(F, p)), [p]), a(() => {
207
207
  if (l.trigger) {
208
208
  let e = (e) => {
209
- e.target instanceof Node && e.target.contains(l.trigger) && d();
209
+ e.target instanceof Node && e.target.contains(l.trigger) && p();
210
210
  };
211
211
  return window.addEventListener("scroll", e, { capture: !0 }), () => window.removeEventListener("scroll", e, { capture: !0 });
212
212
  }
213
- }, [l.trigger, d]), /* @__PURE__ */ (0, T.jsx)(y, {
213
+ }, [l.trigger, p]), /* @__PURE__ */ (0, E.jsx)(f, {
214
214
  asChild: !0,
215
215
  disableOutsidePointerEvents: !1,
216
216
  onEscapeKeyDown: o,
217
217
  onPointerDownOutside: s,
218
218
  onFocusOutside: (e) => e.preventDefault(),
219
- onDismiss: d,
220
- children: /* @__PURE__ */ (0, T.jsxs)(m, {
219
+ onDismiss: p,
220
+ children: /* @__PURE__ */ (0, E.jsxs)(u, {
221
221
  "data-state": l.stateAttribute,
222
- ...u,
222
+ ...d,
223
223
  ...c,
224
224
  ref: t,
225
225
  style: {
@@ -230,10 +230,10 @@ var G = "TooltipContent", K = i((e, t) => {
230
230
  "--radix-tooltip-trigger-width": "var(--radix-popper-anchor-width)",
231
231
  "--radix-tooltip-trigger-height": "var(--radix-popper-anchor-height)"
232
232
  },
233
- children: [/* @__PURE__ */ (0, T.jsx)(ae, { children: r }), /* @__PURE__ */ (0, T.jsx)(J, {
233
+ children: [/* @__PURE__ */ (0, E.jsx)(ae, { children: r }), /* @__PURE__ */ (0, E.jsx)(J, {
234
234
  scope: n,
235
235
  isInside: !0,
236
- children: /* @__PURE__ */ (0, T.jsx)(k, {
236
+ children: /* @__PURE__ */ (0, E.jsx)(A, {
237
237
  id: l.contentId,
238
238
  role: "tooltip",
239
239
  children: i || r
@@ -244,8 +244,8 @@ var G = "TooltipContent", K = i((e, t) => {
244
244
  });
245
245
  K.displayName = G;
246
246
  var Z = "TooltipArrow", oe = i((e, t) => {
247
- let { __scopeTooltip: n, ...r } = e, i = j(n);
248
- return Y(Z, n).isInside ? null : /* @__PURE__ */ (0, T.jsx)(_, {
247
+ let { __scopeTooltip: n, ...r } = e, i = M(n);
248
+ return Y(Z, n).isInside ? null : /* @__PURE__ */ (0, E.jsx)(m, {
249
249
  ...i,
250
250
  ...r,
251
251
  ref: t
@@ -362,15 +362,15 @@ function fe(e) {
362
362
  }
363
363
  return n.pop(), t.length === 1 && n.length === 1 && t[0].x === n[0].x && t[0].y === n[0].y ? t : t.concat(n);
364
364
  }
365
- var pe = I, me = B, he = H, ge = W, Q = K;
365
+ var pe = L, me = B, he = H, ge = W, Q = K;
366
366
  //#endregion
367
367
  //#region ../shade/es/components/ui/tooltip.js
368
368
  n();
369
- var _e = pe, ve = me, ye = he, $ = i(({ className: e, sideOffset: t = 4, ...n }, r) => /* @__PURE__ */ (0, T.jsx)(ge, { children: /* @__PURE__ */ (0, T.jsx)("div", {
370
- className: u,
371
- children: /* @__PURE__ */ (0, T.jsx)(Q, {
369
+ var _e = pe, ve = me, ye = he, $ = i(({ className: e, sideOffset: t = 4, ...n }, r) => /* @__PURE__ */ (0, E.jsx)(ge, { children: /* @__PURE__ */ (0, E.jsx)("div", {
370
+ className: l,
371
+ children: /* @__PURE__ */ (0, E.jsx)(Q, {
372
372
  ref: r,
373
- className: S("z-50 animate-in overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 dark:bg-popover dark:text-popover-foreground", e),
373
+ className: C("z-50 animate-in overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 dark:bg-popover dark:text-popover-foreground", e),
374
374
  sideOffset: t,
375
375
  ...n
376
376
  })
@@ -385,4 +385,4 @@ var be = c({
385
385
  //#endregion
386
386
  export { ye as a, _e as i, ve as n, $ as r, be as t };
387
387
 
388
- //# sourceMappingURL=site-x4_IjVJ0.js.map
388
+ //# sourceMappingURL=site-_TgDd_EM.js.map