ghost 6.57.1 → 6.58.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 (747) hide show
  1. package/LICENSE +22 -0
  2. package/bin/validate-adapters.js +1 -5
  3. package/components/ghost-storage-base-3.0.0.tgz +0 -0
  4. package/components/tryghost-adapter-base-cache-0.2.0.tgz +0 -0
  5. package/components/tryghost-adapter-base-jobs-0.0.0.tgz +0 -0
  6. package/components/tryghost-adapter-base-redirects-0.0.0.tgz +0 -0
  7. package/components/tryghost-adapter-base-route-settings-0.0.0.tgz +0 -0
  8. package/components/tryghost-adapter-base-scheduling-0.2.2.tgz +0 -0
  9. package/components/tryghost-adapter-base-sso-0.1.2.tgz +0 -0
  10. package/components/tryghost-admin-api-schema-0.0.0.tgz +0 -0
  11. package/components/tryghost-custom-field-types-0.0.0.tgz +0 -0
  12. package/components/tryghost-i18n-0.0.0.tgz +0 -0
  13. package/components/tryghost-kg-card-factory-5.2.4.tgz +0 -0
  14. package/components/tryghost-kg-clean-basic-html-4.3.4.tgz +0 -0
  15. package/components/tryghost-kg-converters-1.2.5.tgz +0 -0
  16. package/components/tryghost-kg-default-cards-10.3.5.tgz +0 -0
  17. package/components/tryghost-kg-default-nodes-2.2.0.tgz +0 -0
  18. package/components/tryghost-kg-default-transforms-1.3.4.tgz +0 -0
  19. package/components/tryghost-kg-html-to-lexical-1.4.0.tgz +0 -0
  20. package/components/tryghost-kg-lexical-html-renderer-1.5.0.tgz +0 -0
  21. package/components/tryghost-kg-markdown-html-renderer-7.2.4.tgz +0 -0
  22. package/components/tryghost-kg-utils-1.1.4.tgz +0 -0
  23. package/components/tryghost-nql-string-0.0.0.tgz +0 -0
  24. package/components/tryghost-parse-email-address-0.0.0.tgz +0 -0
  25. package/core/boot.js +35 -3
  26. package/core/built/admin/assets/{about-BNojRaxf.js → about-B_BvSyLF.js} +1 -1
  27. package/core/built/admin/assets/{account-migration-DMS8JsM-.js → account-migration-oJUGxnzT.js} +1 -1
  28. package/core/built/admin/assets/activitypub/{account-migration-DHFbePl6.js → account-migration-BpDeIF3G.js} +8 -8
  29. package/core/built/admin/assets/activitypub/activitypub.js +4 -4
  30. package/core/built/admin/assets/activitypub/{avatar-CT4tS2_S.js → avatar-B0SpBPVL.js} +3 -3
  31. package/core/built/admin/assets/activitypub/{avatar-flipboard-ByYWKipo.js → avatar-flipboard-DKt1LGcE.js} +3 -3
  32. package/core/built/admin/assets/activitypub/{bluesky-sharing-srVnSHDz.js → bluesky-sharing-aPMtrS3L.js} +10 -10
  33. package/core/built/admin/assets/activitypub/{chunk-KS7C4IRE-D4HEcEwi.js → chunk-KS7C4IRE-CnTrsgmM.js} +26 -15
  34. package/core/built/admin/assets/activitypub/{content-formatters-C2sos5Ht.js → content-formatters-BORfuA9G.js} +318 -284
  35. package/core/built/admin/assets/activitypub/{copy-B1UBTOoZ.js → copy-D-YvNi2E.js} +2 -2
  36. package/core/built/admin/assets/activitypub/{dist-MPsb2WZ1.js → dist-Dqggkccr.js} +5 -5
  37. package/core/built/admin/assets/activitypub/{domain-DzcM9Dzo.js → domain-CPdiB27_.js} +10 -10
  38. package/core/built/admin/assets/activitypub/{edit-profile-CsQ_4xAk.js → edit-profile-BY2PawIe.js} +7 -7
  39. package/core/built/admin/assets/activitypub/{explore-CJe0DZBK.js → explore-Sp9bgAwq.js} +11 -11
  40. package/core/built/admin/assets/activitypub/{feed-CKV3qWON.js → feed-BjtF4ohL.js} +10 -10
  41. package/core/built/admin/assets/activitypub/{field-DckHfDJf.js → field-BDOYVTg6.js} +4 -4
  42. package/core/built/admin/assets/activitypub/{hash-Dlp8RM55.js → hash-DqXYHgzG.js} +2 -2
  43. package/core/built/admin/assets/activitypub/{inbox-CsPy4R0M.js → inbox-CZ7IOAMn.js} +2 -2
  44. package/core/built/admin/assets/activitypub/{inbox-DAsjzUUe.js → inbox-z1o2j1Tb.js} +11 -11
  45. package/core/built/admin/assets/activitypub/{label-DWyo9E5T.js → label-1jhN-qhD.js} +4 -4
  46. package/core/built/admin/assets/activitypub/layout-BRMezuty.js +1 -0
  47. package/core/built/admin/assets/activitypub/{moderation-B0Inc03M.js → moderation-CZudJi8N.js} +9 -9
  48. package/core/built/admin/assets/activitypub/{note-CSE54lER.js → note-nr_m_5yb.js} +8 -8
  49. package/core/built/admin/assets/activitypub/{notifications-RSwbKqdh.js → notifications-BdcyivbT.js} +10 -10
  50. package/core/built/admin/assets/activitypub/{onboarding-BFDkzeR2.js → onboarding-B4kwav9u.js} +2 -2
  51. package/core/built/admin/assets/activitypub/{onboarding-D6rcBdPe.js → onboarding-DZNElJYP.js} +3 -3
  52. package/core/built/admin/assets/activitypub/{preferences-CE231n2_.js → preferences-CNqy1x9C.js} +13 -13
  53. package/core/built/admin/assets/activitypub/{profile-aaQ1j1Eo.js → profile-DlY4rhbO.js} +15 -15
  54. package/core/built/admin/assets/activitypub/{reply-Cjb0Vs3m.js → reply-DASIN0Ec.js} +2 -2
  55. package/core/built/admin/assets/activitypub/{routes-Djb0mc9k.js → routes-CEHdEZzS.js} +31 -31
  56. package/core/built/admin/assets/activitypub/{separator-D8pROI5n.js → separator-B3k35sUV.js} +4 -4
  57. package/core/built/admin/assets/activitypub/{settings-DMc32IQl.js → settings-CrSV1cux.js} +6 -6
  58. package/core/built/admin/assets/activitypub/{site-DVIcsohX.js → site-CtBUCPBz.js} +6 -6
  59. package/core/built/admin/assets/activitypub/{step-1-9Yey9usF.js → step-1-D9jGWyAy.js} +7 -7
  60. package/core/built/admin/assets/activitypub/{step-2-DdYmKRXV.js → step-2-Jz_enuo9.js} +7 -7
  61. package/core/built/admin/assets/activitypub/{step-3-hdSkcjZU.js → step-3-KpUqpGWi.js} +12 -12
  62. package/core/built/admin/assets/activitypub/{tabs-CUqseYzQ.js → tabs-DvlsxTCI.js} +7 -7
  63. package/core/built/admin/assets/activitypub/{topic-filter-Coni6OXM.js → topic-filter-CIN1E2jg.js} +4 -4
  64. package/core/built/admin/assets/activitypub/{use-activity-pub-queries-MeHTPMQv.js → use-activity-pub-queries-CATFd6YV.js} +4 -4
  65. package/core/built/admin/assets/activitypub/{use-navigate-with-base-path-B046AM38.js → use-navigate-with-base-path-iCkcbMGk.js} +2 -2
  66. package/core/built/admin/assets/activitypub/{use-reply-chain-data-1AO-Xob6.js → use-reply-chain-data-DJ0vhA8V.js} +6 -6
  67. package/core/built/admin/assets/activitypub/{users-BLeiOTHc.js → users-sgJ6GNZX.js} +12 -11
  68. package/core/built/admin/assets/activitypub/{x-BRfRYd16.js → x-Cy2jUiYM.js} +2 -2
  69. package/core/built/admin/assets/add-integration-modal-BW23PDYs.js +1 -0
  70. package/core/built/admin/assets/add-newsletter-modal-M0ls8BKO.js +1 -0
  71. package/core/built/admin/assets/{add-recommendation-modal-D-3LOrdd.js → add-recommendation-modal-B0NeBMzl.js} +1 -1
  72. package/core/built/admin/assets/{analytics-DTIMRhWw.js → analytics-BC2oR8ay.js} +1 -1
  73. package/core/built/admin/assets/announcement-bar-modal-pXBqjQE_.js +1 -0
  74. package/core/built/admin/assets/{api-keys-_iCT4dxr.js → api-keys-BgKr003d.js} +1 -1
  75. package/core/built/admin/assets/{api-keys-Dx4NeNpK.js → api-keys-Df6uv1dT.js} +1 -1
  76. package/core/built/admin/assets/{audience-DkknNqhZ.js → audience-BY8od8If.js} +1 -1
  77. package/core/built/admin/assets/{automated-emails-PayPCT8L.js → automated-emails-28c2Lbb3.js} +1 -1
  78. package/core/built/admin/assets/{automations-DvSU7QhW.js → automations-DCs6Wady.js} +1 -1
  79. package/core/built/admin/assets/{automations-162q5HjL.js → automations-Dzp_QnON.js} +1 -1
  80. package/core/built/admin/assets/{bluesky-sharing-yZ9A_jL8.js → bluesky-sharing-D0P42Cws.js} +1 -1
  81. package/core/built/admin/assets/{breadcrumb-CjOH7LCU.js → breadcrumb-MTj_cKLb.js} +1 -1
  82. package/core/built/admin/assets/card-CiiE7QfM.js +1 -0
  83. package/core/built/admin/assets/{chart-helpers-DGxvWnBT.js → chart-helpers-DcO3k_vA.js} +1 -1
  84. package/core/built/admin/assets/{checkbox-BSUcnNq_.js → checkbox-LmClhqcS.js} +1 -1
  85. package/core/built/admin/assets/{chunk.424.4a27628efdade15c2dab.js → chunk.408.1a258af360eb8d905508.js} +40 -37
  86. package/core/built/admin/assets/{chunk.571.40f093ed6d883993714e.js → chunk.492.a9da46ca956b10116774.js} +1342 -1342
  87. package/core/built/admin/assets/{chunk.571.40f093ed6d883993714e.js.LICENSE.txt → chunk.492.a9da46ca956b10116774.js.LICENSE.txt} +1 -1
  88. package/core/built/admin/assets/chunk.524.4c693c3a00ac91df34fa.js +25 -0
  89. package/core/built/admin/assets/chunk.582.20b600e329e58d12d7c2.js +27 -0
  90. package/core/built/admin/assets/code-editor-view-DqTOUnbM.js +1 -0
  91. package/core/built/admin/assets/code-editor-view-bA0lfxUL.js +1 -0
  92. package/core/built/admin/assets/{debounce-Cx5B_9OI.js → color-picker-CBlJMv3y.js} +2 -2
  93. package/core/built/admin/assets/color-picker-field-Cv9GOJQZ.js +1 -0
  94. package/core/built/admin/assets/{combobox-5rdgDrDV.js → combobox-BbPJzjCp.js} +1 -1
  95. package/core/built/admin/assets/command-BrhXIlDr.js +1 -0
  96. package/core/built/admin/assets/comments-Cu4rD1aJ.js +1 -0
  97. package/core/built/admin/assets/confirmation-provider-BEdrnHns.js +1 -0
  98. package/core/built/admin/assets/{content-api-modal-BtW4Z1-1.js → content-api-modal-BOFWRUkC.js} +1 -1
  99. package/core/built/admin/assets/{copy-field-CEp_XieW.js → copy-field-8biQvNMD.js} +1 -1
  100. package/core/built/admin/assets/custom-field-type-option-CNhAgHbJ.js +1 -0
  101. package/core/built/admin/assets/custom-integration-modal-CrGOI8IB.js +1 -0
  102. package/core/built/admin/assets/{date-range-select-B3Ij1Rqg.js → date-range-select-Bsh4gIek.js} +1 -1
  103. package/core/built/admin/assets/debounce-pscB46sW.js +1 -0
  104. package/core/built/admin/assets/design-and-theme-modal-DWZguwWX.js +23 -0
  105. package/core/built/admin/assets/{dirty-confirm-dialog-YE9L21gY.js → dirty-confirm-dialog-DmdMpgyN.js} +1 -1
  106. package/core/built/admin/assets/{disabled-sources-indicator-uIzbWL7K.js → disabled-sources-indicator-BLnmyWgt.js} +1 -1
  107. package/core/built/admin/assets/dist-4m6pHdc0.js +23 -0
  108. package/core/built/admin/assets/{dist-DCk0UkGx.js → dist-B6bJuxL3.js} +1 -1
  109. package/core/built/admin/assets/{dist-CbHbGtQ-.js → dist-BtaTA7Ii.js} +1 -1
  110. package/core/built/admin/assets/{dist-Q1p9iXwH.js → dist-CZgIBXQN.js} +1 -1
  111. package/core/built/admin/assets/dist-CiHx7vA5.js +6 -0
  112. package/core/built/admin/assets/{dist-ARN6XTcR.js → dist-ECAUrdGc.js} +1 -1
  113. package/core/built/admin/assets/dist-Z97pCNqS.js +11 -0
  114. package/core/built/admin/assets/{dist-t6AXpf_4.js → dist-zwwGt8Yf.js} +1 -1
  115. package/core/built/admin/assets/{domain-DzrOAPY8.js → domain-Dp9TRrFp.js} +1 -1
  116. package/core/built/admin/assets/{dropzone-CzhP33wa.js → dropzone-B21Entqz.js} +1 -1
  117. package/core/built/admin/assets/{edit-profile-oufs4R4n.js → edit-profile-DG6lpMsr.js} +1 -1
  118. package/core/built/admin/assets/editor-CPQOrhrn.js +8 -0
  119. package/core/built/admin/assets/{editor-DtxX27Jz.css → editor-DLioOiRN.css} +1 -1
  120. package/core/built/admin/assets/{embed-signup-form-modal-Ch3s6lqA.js → embed-signup-form-modal-CgWniDha.js} +2 -2
  121. package/core/built/admin/assets/esm-CXo5SEPy.js +2 -0
  122. package/core/built/admin/assets/{explore-CA-R01Br.js → explore-C3rzONJv.js} +1 -1
  123. package/core/built/admin/assets/{feed-ClC8_Gld.js → feed-DpUwS1cU.js} +1 -1
  124. package/core/built/admin/assets/{field-B3OPenbP.js → field-BQqLTgHM.js} +1 -1
  125. package/core/built/admin/assets/{filter-sources-CiPLnG9A.js → filter-sources-FgqoUIL7.js} +1 -1
  126. package/core/built/admin/assets/{filters-yFvybRMe.js → filters-D0uIMD8n.js} +1 -1
  127. package/core/built/admin/assets/filters-DZJT29GW.js +1 -0
  128. package/core/built/admin/assets/{first-promoter-modal-BC0UpYCD.js → first-promoter-modal-DJhQQheG.js} +1 -1
  129. package/core/built/admin/assets/framework-provider-CFLwK5uS.js +4 -0
  130. package/core/built/admin/assets/{ghost-d38c30b866e59f2e06a357b5eb844fe5.css → ghost-68f447a1796b93a1f128b649bac8506d.css} +1 -1
  131. package/core/built/admin/assets/{ghost-d683fbeb945b13155ea669caa5d8db41.js → ghost-ba408063a5922b458b4a8f216cf23251.js} +124 -342
  132. package/core/built/admin/assets/{ghost-dark-1bffd5099ba7a749303133efacf8480b.css → ghost-dark-28ae4899c92022857f3584694bcb50ef.css} +1 -1
  133. package/core/built/admin/assets/{gift-link-modal-BKRuqo-k.js → gift-link-modal-sdFLjND9.js} +1 -1
  134. package/core/built/admin/assets/{gift-links-CVuqLhsZ.js → gift-links-D7BJ9qfe.js} +1 -1
  135. package/core/built/admin/assets/{global-data-provider-RzW6Bnlf.js → global-data-provider-CixmTX00.js} +1 -1
  136. package/core/built/admin/assets/{growth-ClNAldfL.js → growth-0YYkBEeS.js} +1 -1
  137. package/core/built/admin/assets/{growth-Dz8OSG06.js → growth-DpjAPeQT.js} +2 -2
  138. package/core/built/admin/assets/{history-modal-DIVuQ5Ct.js → history-modal-BWJ4-cJ0.js} +1 -1
  139. package/core/built/admin/assets/{hooks-D6EE7BIt.js → hooks-CJepWnbB.js} +1 -1
  140. package/core/built/admin/assets/{html-field-CVZ2sMxw.js → html-field-C-oa5DEl.js} +1 -1
  141. package/core/built/admin/assets/{iframe-buffering-e8vH4-Qn.js → iframe-buffering-Ba9sDpi2.js} +1 -1
  142. package/core/built/admin/assets/{images-Ok8FFJ3A.js → images-3cQgwfTD.js} +1 -1
  143. package/core/built/admin/assets/{inbox-CMUVI6qb.js → inbox-Dz_JblyJ.js} +6 -6
  144. package/core/built/admin/assets/index-BOJzlYiz.js +67 -0
  145. package/core/built/admin/assets/index-Bid6LAyc.css +1 -0
  146. package/core/built/admin/assets/{input-group-2XU-iuh_.js → input-group-DpogNUIt.js} +1 -1
  147. package/core/built/admin/assets/{integrations-BT6_iJvu.js → integrations-B9yYgci5.js} +1 -1
  148. package/core/built/admin/assets/{invite-user-modal-DrZ7xxrZ.js → invite-user-modal-DCiQSiuD.js} +1 -1
  149. package/core/built/admin/assets/{koenig-editor-base-BPj4S760.js → koenig-editor-base-BApy8Q7C.js} +1 -1
  150. package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +8328 -8294
  151. package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +84 -84
  152. package/core/built/admin/assets/{koenig-lexical-Cdjv-m3_.js → koenig-lexical-2KuqRwZI.js} +33 -33
  153. package/core/built/admin/assets/{kpi-card-J8Mj1sDX.js → kpi-card-Ck3tT2Wg.js} +1 -1
  154. package/core/built/admin/assets/{kpi-card-awos0BMH.js → kpi-card-DDIxptaS.js} +1 -1
  155. package/core/built/admin/assets/{kpi-helpers-SEhvH-8E.js → kpi-helpers-ssbuy-hD.js} +1 -1
  156. package/core/built/admin/assets/{kpi-tabs-R6BjsKhd.js → kpi-tabs-BqoIM6bI.js} +1 -1
  157. package/core/built/admin/assets/{label-BMC3dzLI.js → label-DodDsMzn.js} +1 -1
  158. package/core/built/admin/assets/label-picker-Cvvbmzb5.js +1 -0
  159. package/core/built/admin/assets/{labels-DAPjKPy2.js → labels-DqvSR6JF.js} +1 -1
  160. package/core/built/admin/assets/layout-DkkGyev2.js +1 -0
  161. package/core/built/admin/assets/limit-service-BhiEvqcP.js +20 -0
  162. package/core/built/admin/assets/{link-helpers-Bzkk68GD.js → link-helpers-kpbU8TWh.js} +1 -1
  163. package/core/built/admin/assets/luxon-D1RVjjpq.js +1 -0
  164. package/core/built/admin/assets/member-custom-fields-CvGcpaiW.js +1 -0
  165. package/core/built/admin/assets/member-detail-CMCMZ47_.js +1 -0
  166. package/core/built/admin/assets/members-sRl6fNfq.js +11 -0
  167. package/core/built/admin/assets/{moderation-mPjYHgZW.js → moderation-KhKwGqI1.js} +1 -1
  168. package/core/built/admin/assets/{multi-select-combobox-CsoyHAiX.js → multi-select-combobox-nhCff0_K.js} +1 -1
  169. package/core/built/admin/assets/{navigation-modal-D_c0badj.js → navigation-modal-MDJExWDJ.js} +1 -1
  170. package/core/built/admin/assets/newsletter-BIBHumfV.js +1 -0
  171. package/core/built/admin/assets/newsletter-detail-modal-CfjBMH3v.js +1 -0
  172. package/core/built/admin/assets/{newsletter-emails-B-OLfrvr.js → newsletter-emails-ClDL-7dA.js} +1 -1
  173. package/core/built/admin/assets/newsletters-CBe-IPzK.js +1 -0
  174. package/core/built/admin/assets/{newsletters-Du0lzskS.js → newsletters-ILsexy-5.js} +1 -1
  175. package/core/built/admin/assets/{note-CSVsUKBm.js → note-HnNUOt4d.js} +1 -1
  176. package/core/built/admin/assets/{notifications-DV9FRtDw.js → notifications-Cj5e-258.js} +1 -1
  177. package/core/built/admin/assets/nql-lang-CaWrLesS.js +19 -0
  178. package/core/built/admin/assets/{offers-Um6ab71O.js → offers-DMxebaoK.js} +1 -1
  179. package/core/built/admin/assets/offers-container-modal-BHwHtixC.js +1 -0
  180. package/core/built/admin/assets/{onboarding-route--jL5KLPD.js → onboarding-route-D_4jp7Nq.js} +1 -1
  181. package/core/built/admin/assets/overview-CezDdg-F.js +1 -0
  182. package/core/built/admin/assets/overview-D5mM51Lj.js +1 -0
  183. package/core/built/admin/assets/{page-header-DAvDYKO9.js → page-header-VLPJfj_d.js} +1 -1
  184. package/core/built/admin/assets/{pages-BVMnpI2O.js → pages-Gchxp5c7.js} +1 -1
  185. package/core/built/admin/assets/{pintura-modal-jiUCxX0Q.js → pintura-modal-BXXJ8Iaa.js} +1 -1
  186. package/core/built/admin/assets/{portal-frame-D4D4nEO6.js → portal-frame-BLCvF8f-.js} +1 -1
  187. package/core/built/admin/assets/portal-modal-DN80tAcy.js +1 -0
  188. package/core/built/admin/assets/{post-analytics-BhAtiFJp.js → post-analytics-Gv81eN_g.js} +1 -1
  189. package/core/built/admin/assets/post-analytics-header-_ydSY8qO.js +1 -0
  190. package/core/built/admin/assets/{post-analytics-provider-DGg0FUqs.js → post-analytics-provider-O2YjZMhN.js} +1 -1
  191. package/core/built/admin/assets/{post-share-modal-DtFAC132.js → post-share-modal-CzYak_a5.js} +1 -1
  192. package/core/built/admin/assets/{posts-CxG7v0-M.js → posts-DgcUi2rc.js} +1 -1
  193. package/core/built/admin/assets/preferences-gneLb6LV.js +5 -0
  194. package/core/built/admin/assets/{preview-modal-DctYx20m.js → preview-modal-Bkq-tgVm.js} +1 -1
  195. package/core/built/admin/assets/profile-CzXmCNTC.js +1 -0
  196. package/core/built/admin/assets/{radio-group-CI5_Kf_d.js → radio-group-Dsq5ZEbV.js} +1 -1
  197. package/core/built/admin/assets/{referrers-B9QDAfYm.js → referrers-C3a2K8qB.js} +1 -1
  198. package/core/built/admin/assets/{router-provider-DSQfprxH.js → router-provider-CkB_ArLF.js} +1 -1
  199. package/core/built/admin/assets/{select-CkXqNJDJ.js → select-xuZAuDyS.js} +1 -1
  200. package/core/built/admin/assets/{settings-ZCj-W56o.js → settings-Ct8pabhr.js} +1 -1
  201. package/core/built/admin/assets/settings-KSWWQanQ.js +4 -0
  202. package/core/built/admin/assets/{settings-breadcrumbs-DIq31FwA.js → settings-breadcrumbs-DbPGu-Tu.js} +1 -1
  203. package/core/built/admin/assets/{share-modal-BNj14g79.js → share-modal-CdiUx9WM.js} +1 -1
  204. package/core/built/admin/assets/{slack-modal-C6SpMQ-q.js → slack-modal-BP--Z3jE.js} +1 -1
  205. package/core/built/admin/assets/{sort-button-B-k54ow2.js → sort-button-CjfKdlsL.js} +1 -1
  206. package/core/built/admin/assets/{source-icon-Cej3sZM6.js → source-icon-DHj1h6Ts.js} +1 -1
  207. package/core/built/admin/assets/{stats-B2KW8E2y.js → stats-C615kulJ.js} +1 -1
  208. package/core/built/admin/assets/{stats-view-CVzU2-p5.js → stats-view-BSMRdYiN.js} +1 -1
  209. package/core/built/admin/assets/{step-1-Dbn1iIMU.js → step-1-pSdGYtIF.js} +1 -1
  210. package/core/built/admin/assets/{step-2-BahnSuN6.js → step-2-T9Uy4eBD.js} +1 -1
  211. package/core/built/admin/assets/{step-3-CW04e2ZJ.js → step-3-D4uXe_XG.js} +2 -2
  212. package/core/built/admin/assets/{stripe-button-BkBZqaGG.js → stripe-button-Bh4p6Wud.js} +1 -1
  213. package/core/built/admin/assets/stripe-connect-modal-C2vTvepi.js +1 -0
  214. package/core/built/admin/assets/{table-BtLcEi1M.js → table-DghJxZMH.js} +1 -1
  215. package/core/built/admin/assets/{tabs-BaWRfg8j.js → tabs-l9c7FjzI.js} +1 -1
  216. package/core/built/admin/assets/tag-detail-DBw_M2-p.js +2 -0
  217. package/core/built/admin/assets/{tags-BbygUvNB.js → tags-DoWsAG6l.js} +1 -1
  218. package/core/built/admin/assets/{tags-BwCgmr5v.js → tags-EmEvJN75.js} +1 -1
  219. package/core/built/admin/assets/{testimonials-modal--bdzppyh.js → testimonials-modal-BZKePE2T.js} +1 -1
  220. package/core/built/admin/assets/tier-detail-modal-D65pVWsN.js +1 -0
  221. package/core/built/admin/assets/{tiers-Da6kxHQP.js → tiers-8iTFjJWg.js} +1 -1
  222. package/core/built/admin/assets/{toggle-group-CVl-Xigr.js → toggle-group-uJnl42w3.js} +1 -1
  223. package/core/built/admin/assets/{topic-filter-BoRHRbL1.js → topic-filter-BM7hz0kW.js} +1 -1
  224. package/core/built/admin/assets/transistor-modal-VZOGN3od.js +1 -0
  225. package/core/built/admin/assets/{unsplash-modal-CixoRAO2.js → unsplash-modal-CKGfACxF.js} +1 -1
  226. package/core/built/admin/assets/{use-analytics-data-BiWvcf1u.js → use-analytics-data-IxJcSjc9.js} +1 -1
  227. package/core/built/admin/assets/use-check-theme-limit-error-CGp3CGT5.js +1 -0
  228. package/core/built/admin/assets/use-feature-flag-CSq2Lwzt.js +1 -0
  229. package/core/built/admin/assets/use-filter-params-0hcJJuEJ.js +1 -0
  230. package/core/built/admin/assets/{use-filterable-api-iMpDZBxD.js → use-filterable-api-CQBtVG-l.js} +1 -1
  231. package/core/built/admin/assets/{use-growth-stats-Dom8xVzo.js → use-growth-stats-1NW-8eEZ.js} +1 -1
  232. package/core/built/admin/assets/use-limiter-ffwpsZPp.js +2 -0
  233. package/core/built/admin/assets/{use-pintura-config-Bj4QmiVk.js → use-pintura-config-BjFChXV1.js} +1 -1
  234. package/core/built/admin/assets/{use-pintura-editor-DvrslmPE.js → use-pintura-editor-Cb41oJyL.js} +1 -1
  235. package/core/built/admin/assets/{use-post-referrers-pxIHTXFs.js → use-post-referrers-Dp1BnTAK.js} +1 -1
  236. package/core/built/admin/assets/{use-reply-chain-data-CmFe0N6F.js → use-reply-chain-data-C0ZUTkfk.js} +1 -1
  237. package/core/built/admin/assets/{use-setting-group-Cmp_sy-d.js → use-setting-group-Bx8M6FL2.js} +1 -1
  238. package/core/built/admin/assets/{use-settings-navigation-BmROPrls.js → use-settings-navigation-BOZcat_V.js} +1 -1
  239. package/core/built/admin/assets/{use-simple-pagination-D5rL3YwO.js → use-simple-pagination-DsEGSJhe.js} +1 -1
  240. package/core/built/admin/assets/{use-tinybird-query-DP2dMaq7.js → use-tinybird-query-Ci_DiPkX.js} +1 -1
  241. package/core/built/admin/assets/{use-tinybird-token-DrK_skPQ.js → use-tinybird-token-CsUwc722.js} +1 -1
  242. package/core/built/admin/assets/use-upgrade-route-B3_DUiuT.js +1 -0
  243. package/core/built/admin/assets/{use-url-input-ChrUZBFf.js → use-url-input-BEZJpVgN.js} +2 -2
  244. package/core/built/admin/assets/user-detail-modal-595z1N5r.js +1 -0
  245. package/core/built/admin/assets/{users-B6hIds6n.js → users-DmGMPfw7.js} +1 -1
  246. package/core/built/admin/assets/virtual-list-D5ugXyZY.js +1 -0
  247. package/core/built/admin/assets/{web-D71mjB2r.js → web-CAta3lRE.js} +1 -1
  248. package/core/built/admin/assets/web-Ds9_wWJK.js +2 -0
  249. package/core/built/admin/assets/zapier-modal-CcfDZY53.js +1 -0
  250. package/core/built/admin/index.html +12 -12
  251. package/core/frontend/apps/private-blogging/lib/middleware.js +5 -58
  252. package/core/frontend/helpers/ghost_head.js +52 -0
  253. package/core/frontend/meta/asset-url.js +20 -9
  254. package/core/frontend/public/cards.manifest.json +1 -0
  255. package/core/frontend/public/ghost-stats.min.js +1 -1
  256. package/core/frontend/services/assets-minification/card-assets.js +121 -46
  257. package/core/frontend/services/assets-minification/index.js +13 -4
  258. package/core/frontend/services/data/fetch-data.js +7 -14
  259. package/core/frontend/services/llms/service.js +27 -6
  260. package/core/frontend/services/proxy.js +1 -0
  261. package/core/frontend/services/routing/api-adapter.js +11 -5
  262. package/core/frontend/services/routing/collection-router.js +1 -2
  263. package/core/frontend/services/routing/controllers/entry/markdown.js +63 -5
  264. package/core/frontend/services/routing/controllers/entry.js +1 -1
  265. package/core/frontend/services/routing/controllers/previews.js +0 -3
  266. package/core/frontend/services/routing/events.js +2 -1
  267. package/core/frontend/services/routing/parent-router.js +0 -22
  268. package/core/frontend/services/routing/router-manager.js +2 -2
  269. package/core/frontend/services/routing/static-pages-router.js +0 -1
  270. package/core/frontend/services/sitemap/handler.js +3 -4
  271. package/core/frontend/services/sitemap/site-map-manager.js +1 -2
  272. package/core/frontend/services/theme-engine/i18n/i18n.js +0 -33
  273. package/core/frontend/web/middleware/llms-discovery.js +2 -2
  274. package/core/frontend/web/routers/serve-public-file.js +33 -3
  275. package/core/frontend/web/site.js +5 -4
  276. package/core/server/adapters/jobs/InMemoryJobsBackend.js +113 -0
  277. package/core/server/adapters/redirects/S3RedirectsStore.js +33 -13
  278. package/core/server/adapters/route-settings/S3RouteSettingsStore.js +33 -13
  279. package/core/server/adapters/scheduling/scheduling-default.js +6 -7
  280. package/core/server/adapters/storage/LocalStorageBase.js +1 -3
  281. package/core/server/api/endpoints/index.js +0 -4
  282. package/core/server/api/endpoints/member-custom-fields.js +15 -4
  283. package/core/server/api/endpoints/pages.js +3 -11
  284. package/core/server/api/endpoints/posts.js +3 -11
  285. package/core/server/api/endpoints/utils/api-filter-utils.js +15 -1
  286. package/core/server/api/endpoints/utils/serializers/input/settings.js +4 -0
  287. package/core/server/api/endpoints/utils/serializers/output/index.js +0 -4
  288. package/core/server/api/endpoints/utils/serializers/output/mappers/email-batches.js +1 -1
  289. package/core/server/api/endpoints/utils/serializers/output/mappers/snippets.js +0 -1
  290. package/core/server/api/endpoints/utils/serializers/output/member-custom-fields.js +1 -0
  291. package/core/server/data/exporter/table-lists.js +4 -1
  292. package/core/server/data/migrations/utils/schema.js +5 -3
  293. package/core/server/data/migrations/versions/6.57/2026-08-04-18-00-00-store-custom-field-values-as-leaf-rows.js +19 -7
  294. package/core/server/data/migrations/versions/6.58/2026-08-10-08-20-50-add-machine-payments-settings.js +41 -0
  295. package/core/server/data/migrations/versions/6.58/2026-08-10-08-21-00-add-machine-payment-events-table.js +18 -0
  296. package/core/server/data/migrations/versions/6.58/2026-08-10-15-24-09-reset-custom-field-definitions-for-underscored-keys.js +66 -0
  297. package/core/server/data/migrations/versions/6.58/2026-08-11-10-00-00-swap-custom-field-values-to-key-fk.js +65 -0
  298. package/core/server/data/migrations/versions/6.58/2026-08-11-10-34-25-remove-legacy-explore-integration.js +131 -0
  299. package/core/server/data/migrations/versions/6.58/2026-08-11-16-00-00-add-sort-order-to-members-custom-fields.js +13 -0
  300. package/core/server/data/migrations/versions/6.58/2026-08-11-21-22-48-rename-email-batches-provider-id.js +8 -0
  301. package/core/server/data/migrations/versions/6.58/2026-08-13-16-07-33-add-automation-runs-automation-id-created-at-index.js +28 -0
  302. package/core/server/data/schema/README.md +87 -0
  303. package/core/server/data/schema/commands.js +5 -2
  304. package/core/server/data/schema/default-settings/default-settings.json +27 -0
  305. package/core/server/data/schema/fixtures/fixtures.json +0 -21
  306. package/core/server/data/schema/schema.js +37 -9
  307. package/core/server/data/seeders/data-generator.js +3 -1
  308. package/core/server/data/seeders/importers/automation-action-edges-importer.js +38 -0
  309. package/core/server/data/seeders/importers/automation-action-revisions-importer.js +139 -0
  310. package/core/server/data/seeders/importers/automation-actions-importer.js +84 -0
  311. package/core/server/data/seeders/importers/automation-run-steps-importer.js +134 -0
  312. package/core/server/data/seeders/importers/automation-runs-importer.js +97 -0
  313. package/core/server/data/seeders/importers/automations-importer.js +78 -0
  314. package/core/server/data/seeders/importers/benefits-importer.js +1 -1
  315. package/core/server/data/seeders/importers/comment-reports-importer.js +5 -5
  316. package/core/server/data/seeders/importers/comments-importer.js +6 -6
  317. package/core/server/data/seeders/importers/email-batches-importer.js +9 -8
  318. package/core/server/data/seeders/importers/email-recipient-failures-importer.js +1 -1
  319. package/core/server/data/seeders/importers/email-recipients-importer.js +12 -12
  320. package/core/server/data/seeders/importers/emails-importer.js +7 -7
  321. package/core/server/data/seeders/importers/index.js +6 -0
  322. package/core/server/data/seeders/importers/labels-importer.js +4 -4
  323. package/core/server/data/seeders/importers/members-click-events-importer.js +4 -4
  324. package/core/server/data/seeders/importers/members-created-events-importer.js +5 -5
  325. package/core/server/data/seeders/importers/members-feedback-importer.js +7 -7
  326. package/core/server/data/seeders/importers/members-importer.js +5 -5
  327. package/core/server/data/seeders/importers/members-labels-importer.js +1 -1
  328. package/core/server/data/seeders/importers/members-login-events-importer.js +4 -4
  329. package/core/server/data/seeders/importers/members-newsletters-importer.js +1 -1
  330. package/core/server/data/seeders/importers/members-paid-subscription-events-importer.js +1 -1
  331. package/core/server/data/seeders/importers/members-products-importer.js +3 -3
  332. package/core/server/data/seeders/importers/members-status-events-importer.js +4 -4
  333. package/core/server/data/seeders/importers/members-stripe-customers-importer.js +3 -3
  334. package/core/server/data/seeders/importers/members-stripe-customers-subscriptions-importer.js +8 -8
  335. package/core/server/data/seeders/importers/members-subscribe-events-importer.js +3 -3
  336. package/core/server/data/seeders/importers/members-subscription-created-events-importer.js +4 -4
  337. package/core/server/data/seeders/importers/newsletters-importer.js +1 -1
  338. package/core/server/data/seeders/importers/offer-redemptions-importer.js +6 -6
  339. package/core/server/data/seeders/importers/offers-importer.js +4 -4
  340. package/core/server/data/seeders/importers/posts-authors-importer.js +1 -1
  341. package/core/server/data/seeders/importers/posts-importer.js +5 -5
  342. package/core/server/data/seeders/importers/posts-products-importer.js +1 -1
  343. package/core/server/data/seeders/importers/posts-tags-importer.js +1 -1
  344. package/core/server/data/seeders/importers/products-benefits-importer.js +1 -1
  345. package/core/server/data/seeders/importers/products-importer.js +1 -1
  346. package/core/server/data/seeders/importers/recommendation-click-events-importer.js +1 -1
  347. package/core/server/data/seeders/importers/recommendation-subscribe-events-importer.js +1 -1
  348. package/core/server/data/seeders/importers/recommendations-importer.js +1 -1
  349. package/core/server/data/seeders/importers/redirects-importer.js +1 -1
  350. package/core/server/data/seeders/importers/roles-users-importer.js +1 -1
  351. package/core/server/data/seeders/importers/stripe-prices-importer.js +1 -1
  352. package/core/server/data/seeders/importers/stripe-products-importer.js +1 -1
  353. package/core/server/data/seeders/importers/table-importer.js +92 -91
  354. package/core/server/data/seeders/importers/tags-importer.js +3 -3
  355. package/core/server/data/seeders/importers/users-importer.js +3 -3
  356. package/core/server/data/seeders/importers/web-mentions-importer.js +3 -3
  357. package/core/server/data/seeders/utils/database-date.js +14 -18
  358. package/core/server/data/seeders/utils/json-importer.js +1 -1
  359. package/core/server/data/seeders/utils/random.js +8 -7
  360. package/core/server/data/seeders/utils/topological-sort.js +5 -3
  361. package/core/server/data/tinybird/ARCHITECTURE.md +1 -2
  362. package/core/server/models/base/plugins/crud.js +0 -5
  363. package/core/server/models/index.js +2 -0
  364. package/core/server/models/machine-payment-event.js +18 -0
  365. package/core/server/models/member.js +24 -0
  366. package/core/server/models/settings.js +32 -3
  367. package/core/server/models/user.js +1 -1
  368. package/core/server/services/README.md +30 -0
  369. package/core/server/services/activitypub/activity-pub-service.js +2 -3
  370. package/core/server/services/adapter-manager/base-classes.js +3 -1
  371. package/core/server/services/auth/passwordreset.js +47 -51
  372. package/core/server/services/automations/database-automations-repository.js +19 -3
  373. package/core/server/services/automations/poll.js +2 -8
  374. package/core/server/services/comments/comments-service.js +4 -16
  375. package/core/server/services/comments/index.js +1 -3
  376. package/core/server/services/email-analytics/email-analytics-service-wrapper.js +68 -119
  377. package/core/server/services/email-analytics/email-analytics-service.js +73 -229
  378. package/core/server/services/email-analytics/event-processing-result.js +0 -10
  379. package/core/server/services/email-analytics/fetch-mailgun-events.js +25 -0
  380. package/core/server/services/email-analytics/index.js +35 -67
  381. package/core/server/services/email-analytics/lib/queries.js +88 -51
  382. package/core/server/services/email-analytics/newsletter-email-analytics-batch-processor.js +4 -1
  383. package/core/server/services/email-service/batch-sending-service.js +1 -1
  384. package/core/server/services/email-service/email-event-processor.js +12 -12
  385. package/core/server/services/email-service/events/email-bounced-event.js +8 -46
  386. package/core/server/services/email-service/events/email-delivered-event.js +8 -36
  387. package/core/server/services/email-service/events/email-opened-event.js +8 -36
  388. package/core/server/services/email-service/events/email-temporary-bounced-event.js +8 -46
  389. package/core/server/services/email-service/events/email-unsubscribed-event.js +8 -31
  390. package/core/server/services/email-service/events/spam-complaint-event.js +8 -31
  391. package/core/server/services/email-service/newsletter-email-event-storage.js +8 -7
  392. package/core/server/services/email-service/sending-service.js +1 -1
  393. package/core/server/services/email-suppression-list/mailgun-email-suppression-list.js +2 -2
  394. package/core/server/services/email-suppression-list/service.js +1 -3
  395. package/core/server/services/explore-ping/explore-ping-service.js +1 -6
  396. package/core/server/services/explore-ping/index.js +0 -2
  397. package/core/server/services/gifts/index.js +109 -3
  398. package/core/server/services/gifts/jobs/clean-gifts-job.js +1 -1
  399. package/core/server/services/gifts/jobs/send-gift-reminders-job.js +1 -1
  400. package/core/server/services/jobs-service/index.js +36 -0
  401. package/core/server/services/jobs-service/job.js +6 -0
  402. package/core/server/services/jobs-service/jobs-service.js +91 -0
  403. package/core/server/services/jobs-service/register-job-handlers.js +6 -0
  404. package/core/server/services/lib/mailgun-client.js +1 -1
  405. package/core/server/services/machine-payments/README.md +23 -0
  406. package/core/server/services/machine-payments/adapters/mpp-adapter.js +195 -0
  407. package/core/server/services/machine-payments/content-loader.js +89 -0
  408. package/core/server/services/machine-payments/eligibility.js +6 -0
  409. package/core/server/services/machine-payments/events/machine-payment-event-repository.js +58 -0
  410. package/core/server/services/machine-payments/events/machine-payment-event.js +46 -0
  411. package/core/server/services/machine-payments/index.js +87 -0
  412. package/core/server/services/machine-payments/pricing.js +54 -0
  413. package/core/server/services/machine-payments/service.js +275 -0
  414. package/core/server/services/machine-payments/stripe/deposit-address-store.js +157 -0
  415. package/core/server/services/machine-payments/stripe/payment-recorder.js +85 -0
  416. package/core/server/services/machine-payments/stripe/stripe-client-options.js +25 -0
  417. package/core/server/services/machine-payments/types.js +2 -0
  418. package/core/server/services/members/import-export/csv/parse.js +9 -1
  419. package/core/server/services/members/import-export/import/completion-email.js +61 -27
  420. package/core/server/services/members/import-export/import/email-template.js +28 -15
  421. package/core/server/services/members/import-export/import/importer.js +99 -51
  422. package/core/server/services/members/import-export/import/spool.js +1 -1
  423. package/core/server/services/members/import-export/index.js +24 -1
  424. package/core/server/services/members/members-api/services/member-bread-service.js +2 -2
  425. package/core/server/services/members/members-config-provider.js +12 -2
  426. package/core/server/services/members-custom-fields/actions.js +2 -1
  427. package/core/server/services/members-custom-fields/definitions-service.js +109 -27
  428. package/core/server/services/members-custom-fields/filter.js +199 -0
  429. package/core/server/services/members-custom-fields/key.js +37 -0
  430. package/core/server/services/members-custom-fields/queries.js +15 -0
  431. package/core/server/services/members-custom-fields/schema.js +1 -1
  432. package/core/server/services/members-custom-fields/values-service.js +18 -14
  433. package/core/server/services/members-events/last-seen-at-updater.js +1 -1
  434. package/core/server/services/oembed/oembed-service.js +8 -2
  435. package/core/server/services/permissions/can-this.js +4 -1
  436. package/core/server/services/posts/posts-service.js +18 -16
  437. package/core/server/services/public-config/config.js +1 -1
  438. package/core/server/services/route-settings/dynamic-routing-service.js +2 -0
  439. package/core/server/services/settings-helpers/settings-helpers.js +0 -1
  440. package/core/server/services/stats/posts-stats-service.js +0 -2
  441. package/core/server/services/stripe/stripe-api.js +2 -9
  442. package/core/server/web/api/endpoints/admin/middleware.js +0 -1
  443. package/core/server/web/api/endpoints/admin/routes.js +2 -3
  444. package/core/server/web/comments/routes.js +31 -8
  445. package/core/shared/config/defaults.json +17 -2
  446. package/core/shared/config/loader.js +11 -2
  447. package/core/shared/config/overrides.json +2 -0
  448. package/core/shared/config/secrets.js +71 -0
  449. package/core/shared/labs.js +4 -13
  450. package/core/shared/machine-payments.js +30 -0
  451. package/core/shared/private-site-access/index.js +68 -0
  452. package/package.json +48 -43
  453. package/pnpm-lock.yaml +1412 -1583
  454. package/pnpm-workspace.yaml +85 -48
  455. package/bin/validate-adapters.ts +0 -87
  456. package/components/tryghost-adapter-base-scheduling-0.2.1.tgz +0 -0
  457. package/components/tryghost-adapter-base-sso-0.1.1.tgz +0 -0
  458. package/components/tryghost-kg-card-factory-5.2.3.tgz +0 -0
  459. package/components/tryghost-kg-clean-basic-html-4.3.3.tgz +0 -0
  460. package/components/tryghost-kg-converters-1.2.4.tgz +0 -0
  461. package/components/tryghost-kg-default-cards-10.3.4.tgz +0 -0
  462. package/components/tryghost-kg-default-nodes-2.1.5.tgz +0 -0
  463. package/components/tryghost-kg-default-transforms-1.3.3.tgz +0 -0
  464. package/components/tryghost-kg-html-to-lexical-1.3.3.tgz +0 -0
  465. package/components/tryghost-kg-lexical-html-renderer-1.4.3.tgz +0 -0
  466. package/components/tryghost-kg-markdown-html-renderer-7.2.3.tgz +0 -0
  467. package/components/tryghost-kg-utils-1.1.3.tgz +0 -0
  468. package/content/themes/casper/assets/built/casper.js.map +0 -1
  469. package/content/themes/casper/assets/built/global.css.map +0 -1
  470. package/content/themes/casper/assets/built/screen.css.map +0 -1
  471. package/content/themes/source/assets/built/screen.css.map +0 -1
  472. package/content/themes/source/assets/built/source.js.map +0 -1
  473. package/core/built/admin/assets/activitypub/layout-DM_3pqsU.js +0 -1
  474. package/core/built/admin/assets/add-integration-modal-DU9ghGLS.js +0 -1
  475. package/core/built/admin/assets/add-newsletter-modal-DFxuQrYu.js +0 -1
  476. package/core/built/admin/assets/announcement-bar-modal-DGCcezB6.js +0 -1
  477. package/core/built/admin/assets/card-aUHX0hyR.js +0 -1
  478. package/core/built/admin/assets/chunk.524.dce1c51e0bc30fb2718e.js +0 -25
  479. package/core/built/admin/assets/chunk.582.3a430d5c6a744fd475b6.js +0 -27
  480. package/core/built/admin/assets/code-editor-view-BcyKABrG.js +0 -1
  481. package/core/built/admin/assets/color-picker-field-8NoSnhNI.js +0 -1
  482. package/core/built/admin/assets/command-BOYMbZa_.js +0 -1
  483. package/core/built/admin/assets/comments-BhNM5CYl.js +0 -1
  484. package/core/built/admin/assets/confirmation-modal-CYD7x3UQ.js +0 -1
  485. package/core/built/admin/assets/custom-integration-modal-bk3lNEuQ.js +0 -1
  486. package/core/built/admin/assets/design-and-theme-modal-B2xYKS1I.js +0 -23
  487. package/core/built/admin/assets/dist-Bg8bSvLA.js +0 -6
  488. package/core/built/admin/assets/dist-BnFdlebk.js +0 -11
  489. package/core/built/admin/assets/dist-CsvXCJSe.js +0 -23
  490. package/core/built/admin/assets/editor-BBKrunMK.js +0 -8
  491. package/core/built/admin/assets/filters-Bz0HsRie.js +0 -1
  492. package/core/built/admin/assets/framework-provider-CmtnPXIT.js +0 -4
  493. package/core/built/admin/assets/index-DUXM0NlS.js +0 -67
  494. package/core/built/admin/assets/index-Ds2iUoF6.css +0 -1
  495. package/core/built/admin/assets/label-picker-Bnlru5tO.js +0 -1
  496. package/core/built/admin/assets/layout-yR9rlvEw.js +0 -1
  497. package/core/built/admin/assets/limit-modal-COmLevuY.js +0 -1
  498. package/core/built/admin/assets/limit-service-9fwD33lU.js +0 -20
  499. package/core/built/admin/assets/member-custom-fields-BvFKEpxJ.js +0 -1
  500. package/core/built/admin/assets/member-detail-CWdPAe3p.js +0 -1
  501. package/core/built/admin/assets/members-Bnt0ih2R.js +0 -11
  502. package/core/built/admin/assets/newsletter-DR49NyGS.js +0 -1
  503. package/core/built/admin/assets/newsletter-detail-modal-B45pL1pb.js +0 -1
  504. package/core/built/admin/assets/newsletters-DGs5BaKH.js +0 -1
  505. package/core/built/admin/assets/nql-lang-B7faUf8D.js +0 -19
  506. package/core/built/admin/assets/offers-container-modal-B0hFS8nk.js +0 -1
  507. package/core/built/admin/assets/overview-B-ZPNqMo.js +0 -1
  508. package/core/built/admin/assets/overview-D96iwoJi.js +0 -1
  509. package/core/built/admin/assets/portal-modal-BLFdYeDH.js +0 -1
  510. package/core/built/admin/assets/post-analytics-header-DK27VjJm.js +0 -1
  511. package/core/built/admin/assets/preferences-CuWLISHa.js +0 -5
  512. package/core/built/admin/assets/profile-BsKYYtuL.js +0 -1
  513. package/core/built/admin/assets/settings-B4vM-rgV.js +0 -4
  514. package/core/built/admin/assets/stripe-connect-modal-CYDDrSJm.js +0 -1
  515. package/core/built/admin/assets/tag-detail-CmqiC32L.js +0 -1
  516. package/core/built/admin/assets/tier-detail-modal-BZmAsIy4.js +0 -1
  517. package/core/built/admin/assets/transistor-modal-CBPDqEGy.js +0 -1
  518. package/core/built/admin/assets/use-check-theme-limit-error-B14lZukR.js +0 -2
  519. package/core/built/admin/assets/use-feature-flag-BmJoc5WN.js +0 -1
  520. package/core/built/admin/assets/use-filter-params-ChoV72Hw.js +0 -1
  521. package/core/built/admin/assets/use-limiter-Dwg8ivgQ.js +0 -2
  522. package/core/built/admin/assets/user-detail-modal-XODpOqNC.js +0 -1
  523. package/core/built/admin/assets/virtual-list-Dnoafqbk.js +0 -1
  524. package/core/built/admin/assets/web-z71lA1Y3.js +0 -2
  525. package/core/built/admin/assets/zapier-modal-Bp507Um7.js +0 -1
  526. package/core/frontend/meta/og-type.ts +0 -13
  527. package/core/frontend/services/routing/api-adapter.ts +0 -157
  528. package/core/frontend/services/routing/config.ts +0 -59
  529. package/core/frontend/services/routing/controllers/entry/canonical-url.ts +0 -14
  530. package/core/frontend/services/routing/controllers/entry/gift-links.ts +0 -56
  531. package/core/frontend/services/routing/controllers/entry/markdown.ts +0 -72
  532. package/core/frontend/services/routing/controllers/entry.ts +0 -120
  533. package/core/frontend/services/routing/controllers/rss.ts +0 -66
  534. package/core/frontend/services/routing/permalink-adapter.ts +0 -10
  535. package/core/frontend/src/utils/privacy.ts +0 -66
  536. package/core/server/adapters/redirects/FileStore.ts +0 -113
  537. package/core/server/adapters/redirects/S3RedirectsStore.ts +0 -185
  538. package/core/server/adapters/route-settings/FileStore.ts +0 -144
  539. package/core/server/adapters/route-settings/S3RouteSettingsStore.ts +0 -199
  540. package/core/server/adapters/route-settings/utils.ts +0 -17
  541. package/core/server/adapters/scheduling/deps.d.ts +0 -1
  542. package/core/server/adapters/scheduling/error-capture.ts +0 -91
  543. package/core/server/adapters/scheduling/scheduling-default.ts +0 -248
  544. package/core/server/adapters/scheduling/utils.ts +0 -36
  545. package/core/server/adapters/sso/DefaultSSOAdapter.ts +0 -15
  546. package/core/server/adapters/storage/LocalFilesStorage.ts +0 -24
  547. package/core/server/adapters/storage/LocalImagesStorage.ts +0 -24
  548. package/core/server/adapters/storage/LocalMediaStorage.ts +0 -24
  549. package/core/server/adapters/storage/LocalStorageBase.ts +0 -342
  550. package/core/server/adapters/storage/S3Storage.ts +0 -506
  551. package/core/server/adapters/storage/utils.ts +0 -60
  552. package/core/server/api/endpoints/automation-action-links.ts +0 -46
  553. package/core/server/api/endpoints/explore.js +0 -18
  554. package/core/server/api/endpoints/gift-links.ts +0 -87
  555. package/core/server/api/endpoints/libraries.d.ts +0 -2
  556. package/core/server/api/endpoints/member-commenting.ts +0 -92
  557. package/core/server/api/endpoints/member-custom-fields.ts +0 -106
  558. package/core/server/api/endpoints/utils/api-filter-utils.ts +0 -22
  559. package/core/server/api/endpoints/utils/gift-link-access.ts +0 -82
  560. package/core/server/api/endpoints/utils/public-cache-keys.ts +0 -47
  561. package/core/server/api/endpoints/utils/serializers/input/member-commenting.ts +0 -29
  562. package/core/server/api/endpoints/utils/serializers/output/explore.js +0 -11
  563. package/core/server/api/endpoints/utils/serializers/output/gift-links.ts +0 -21
  564. package/core/server/api/endpoints/utils/serializers/output/member-commenting.ts +0 -8
  565. package/core/server/api/endpoints/utils/serializers/output/member-custom-fields.ts +0 -25
  566. package/core/server/api/endpoints/utils/serializers/output/members.d.ts +0 -20
  567. package/core/server/api/endpoints/utils/serializers/output/posts-csv-transform.ts +0 -46
  568. package/core/server/api/endpoints/utils/serializers/output/stream-csv-response.ts +0 -47
  569. package/core/server/api/endpoints/utils/validate-email-sender-fields.ts +0 -42
  570. package/core/server/data/importer/email-template.ts +0 -213
  571. package/core/server/data/seeders/utils/topological-sort.ts +0 -48
  572. package/core/server/lib/auto-filling-map.ts +0 -23
  573. package/core/server/lib/bootstrap-socket.ts +0 -114
  574. package/core/server/lib/case-keys.ts +0 -30
  575. package/core/server/lib/common/to-plain.ts +0 -25
  576. package/core/server/lib/db-date.ts +0 -8
  577. package/core/server/lib/get-inbox-links.ts +0 -276
  578. package/core/server/lib/post-revisions.ts +0 -152
  579. package/core/server/lib/soonest-timer.ts +0 -57
  580. package/core/server/models/base/plugins/bulk-filters.ts +0 -35
  581. package/core/server/models/role-utils.ts +0 -56
  582. package/core/server/services/activitypub/activity-pub-service.ts +0 -216
  583. package/core/server/services/adapter-manager/adapter-manager.ts +0 -253
  584. package/core/server/services/adapter-manager/adapter-paths.ts +0 -26
  585. package/core/server/services/adapter-manager/base-classes.ts +0 -22
  586. package/core/server/services/adapter-manager/index.ts +0 -16
  587. package/core/server/services/adapter-manager/types.ts +0 -45
  588. package/core/server/services/adapter-manager/utils.ts +0 -308
  589. package/core/server/services/auth/reset-authentication.ts +0 -72
  590. package/core/server/services/automations/automations-api.ts +0 -396
  591. package/core/server/services/automations/automations-repository.ts +0 -218
  592. package/core/server/services/automations/constants.ts +0 -4
  593. package/core/server/services/automations/database-automations-repository.ts +0 -1513
  594. package/core/server/services/automations/database-date.ts +0 -26
  595. package/core/server/services/automations/fake-wait-hours-multiplier.ts +0 -12
  596. package/core/server/services/automations/get-scheduler-idempotency-key.ts +0 -8
  597. package/core/server/services/automations/mailgun-message-id.ts +0 -27
  598. package/core/server/services/automations/poll.ts +0 -325
  599. package/core/server/services/automations/scheduler-poll-time.ts +0 -38
  600. package/core/server/services/automations/service.ts +0 -131
  601. package/core/server/services/automations/stale-lock-cutoff.ts +0 -5
  602. package/core/server/services/comments/email-templates/new-comment-reply.txt.ts +0 -25
  603. package/core/server/services/comments/email-templates/new-comment.txt.ts +0 -25
  604. package/core/server/services/comments/email-templates/report.txt.ts +0 -34
  605. package/core/server/services/custom-redirects/redirect-config-parser.ts +0 -148
  606. package/core/server/services/custom-redirects/redirects-service.ts +0 -181
  607. package/core/server/services/custom-redirects/utils.ts +0 -7
  608. package/core/server/services/donations/donation-bookshelf-repository.ts +0 -63
  609. package/core/server/services/donations/donation-payment-event.ts +0 -51
  610. package/core/server/services/email-address/email-address-parser.d.ts +0 -12
  611. package/core/server/services/email-address/email-address-service.ts +0 -241
  612. package/core/server/services/email-analytics/automation-email-analytics-batch-processor.ts +0 -130
  613. package/core/server/services/email-analytics/batch-event-processor.ts +0 -18
  614. package/core/server/services/email-analytics/email-analytics-provider-mailgun.js +0 -57
  615. package/core/server/services/email-analytics/event-processing-result.ts +0 -66
  616. package/core/server/services/email-analytics/events/start-automation-email-analytics-job-event.ts +0 -14
  617. package/core/server/services/email-analytics/events/start-email-analytics-job-event.ts +0 -15
  618. package/core/server/services/email-analytics/index.ts +0 -109
  619. package/core/server/services/email-analytics/jobs/email-analytics-job-scheduler.ts +0 -126
  620. package/core/server/services/email-analytics/lib/queries.ts +0 -341
  621. package/core/server/services/email-service/domain-warming-service.ts +0 -91
  622. package/core/server/services/explore/explore-service.js +0 -59
  623. package/core/server/services/explore/index.js +0 -18
  624. package/core/server/services/explore-ping/explore-ping-service.ts +0 -198
  625. package/core/server/services/explore-ping/index.ts +0 -42
  626. package/core/server/services/files/file-type-utils.ts +0 -56
  627. package/core/server/services/gift-links/actions.ts +0 -51
  628. package/core/server/services/gift-links/codec.ts +0 -16
  629. package/core/server/services/gift-links/index.ts +0 -20
  630. package/core/server/services/gift-links/models.ts +0 -22
  631. package/core/server/services/gift-links/schema.ts +0 -33
  632. package/core/server/services/gift-links/serializers.ts +0 -20
  633. package/core/server/services/gift-links/service.ts +0 -95
  634. package/core/server/services/gifts/constants.ts +0 -3
  635. package/core/server/services/gifts/email-templates/gift-purchase-confirmation.ts +0 -43
  636. package/core/server/services/gifts/email-templates/gift-reminder.ts +0 -50
  637. package/core/server/services/gifts/gift-bookshelf-repository.ts +0 -366
  638. package/core/server/services/gifts/gift-checkout-offer.ts +0 -127
  639. package/core/server/services/gifts/gift-codec.ts +0 -62
  640. package/core/server/services/gifts/gift-controller.ts +0 -51
  641. package/core/server/services/gifts/gift-email-renderer.ts +0 -97
  642. package/core/server/services/gifts/gift-email-service.ts +0 -158
  643. package/core/server/services/gifts/gift-reminder-scheduler.ts +0 -107
  644. package/core/server/services/gifts/gift-schema.ts +0 -39
  645. package/core/server/services/gifts/gift-service-wrapper.js +0 -142
  646. package/core/server/services/gifts/gift-service.ts +0 -1034
  647. package/core/server/services/gifts/gift.ts +0 -234
  648. package/core/server/services/identity-tokens/identity-token-service.ts +0 -36
  649. package/core/server/services/indexnow-ping/constants.ts +0 -32
  650. package/core/server/services/indexnow-ping/index.ts +0 -35
  651. package/core/server/services/indexnow-ping/indexnow-ping-service.ts +0 -311
  652. package/core/server/services/internal-keys/index.ts +0 -53
  653. package/core/server/services/lib/dynamic-redirect-manager.d.ts +0 -20
  654. package/core/server/services/lib/in-memory-repository.ts +0 -78
  655. package/core/server/services/lib/member-signup-contexts.ts +0 -22
  656. package/core/server/services/link-redirection/link-redirect.ts +0 -24
  657. package/core/server/services/member-welcome-emails/constants.ts +0 -35
  658. package/core/server/services/members/commenting/index.ts +0 -2
  659. package/core/server/services/members/commenting/member-commenting-codec.ts +0 -73
  660. package/core/server/services/members/commenting/member-commenting.ts +0 -69
  661. package/core/server/services/members/create-paid-member-shim.ts +0 -40
  662. package/core/server/services/members/import-export/config.ts +0 -34
  663. package/core/server/services/members/import-export/csv/formula.ts +0 -14
  664. package/core/server/services/members/import-export/csv/index.ts +0 -3
  665. package/core/server/services/members/import-export/csv/parse.ts +0 -69
  666. package/core/server/services/members/import-export/csv/serialize.ts +0 -18
  667. package/core/server/services/members/import-export/export/exporter.ts +0 -325
  668. package/core/server/services/members/import-export/import/completion-email.ts +0 -146
  669. package/core/server/services/members/import-export/import/importer.ts +0 -489
  670. package/core/server/services/members/import-export/import/reader.ts +0 -33
  671. package/core/server/services/members/import-export/import/row.ts +0 -56
  672. package/core/server/services/members/import-export/import/spool.ts +0 -38
  673. package/core/server/services/members/import-export/index.ts +0 -143
  674. package/core/server/services/members/index.d.ts +0 -32
  675. package/core/server/services/members-custom-fields/actions.ts +0 -62
  676. package/core/server/services/members-custom-fields/codec.ts +0 -13
  677. package/core/server/services/members-custom-fields/config.ts +0 -38
  678. package/core/server/services/members-custom-fields/definitions-service.ts +0 -413
  679. package/core/server/services/members-custom-fields/index.ts +0 -50
  680. package/core/server/services/members-custom-fields/models.ts +0 -15
  681. package/core/server/services/members-custom-fields/queries.ts +0 -13
  682. package/core/server/services/members-custom-fields/schema.ts +0 -71
  683. package/core/server/services/members-custom-fields/serializers.ts +0 -22
  684. package/core/server/services/members-custom-fields/storage.ts +0 -122
  685. package/core/server/services/members-custom-fields/values-service.ts +0 -269
  686. package/core/server/services/notifications/notification-email.ts +0 -66
  687. package/core/server/services/notifications/sanitize-email-html.ts +0 -35
  688. package/core/server/services/post-scheduling/index.ts +0 -13
  689. package/core/server/services/post-scheduling/post-scheduling.ts +0 -133
  690. package/core/server/services/recommendations/service/bookshelf-click-event-repository.ts +0 -49
  691. package/core/server/services/recommendations/service/bookshelf-recommendation-repository.ts +0 -117
  692. package/core/server/services/recommendations/service/bookshelf-repository.ts +0 -192
  693. package/core/server/services/recommendations/service/bookshelf-subscribe-event-repository.ts +0 -49
  694. package/core/server/services/recommendations/service/click-event.ts +0 -32
  695. package/core/server/services/recommendations/service/in-memory-recommendation-repository.ts +0 -20
  696. package/core/server/services/recommendations/service/incoming-recommendation-controller.ts +0 -51
  697. package/core/server/services/recommendations/service/incoming-recommendation-email-renderer.ts +0 -37
  698. package/core/server/services/recommendations/service/incoming-recommendation-service.ts +0 -159
  699. package/core/server/services/recommendations/service/index.ts +0 -15
  700. package/core/server/services/recommendations/service/libraries.d.ts +0 -2
  701. package/core/server/services/recommendations/service/recommendation-controller.ts +0 -257
  702. package/core/server/services/recommendations/service/recommendation-metadata-service.ts +0 -132
  703. package/core/server/services/recommendations/service/recommendation-repository.ts +0 -13
  704. package/core/server/services/recommendations/service/recommendation-service.ts +0 -285
  705. package/core/server/services/recommendations/service/recommendation.ts +0 -200
  706. package/core/server/services/recommendations/service/subscribe-event.ts +0 -32
  707. package/core/server/services/recommendations/service/unsafe-data.ts +0 -217
  708. package/core/server/services/recommendations/service/well-known-service.ts +0 -47
  709. package/core/server/services/remote-flags/index.ts +0 -101
  710. package/core/server/services/remote-flags/remote-flags-service.ts +0 -236
  711. package/core/server/services/remote-flags/resolve.ts +0 -108
  712. package/core/server/services/route-settings/route-settings-parser.ts +0 -455
  713. package/core/server/services/route-settings/validation-errors.ts +0 -271
  714. package/core/server/services/route-settings/yaml-parser.d.ts +0 -4
  715. package/core/server/services/slack-ping/constants.ts +0 -15
  716. package/core/server/services/slack-ping/index.ts +0 -35
  717. package/core/server/services/slack-ping/slack-ping-service.ts +0 -295
  718. package/core/server/services/staff/email-templates/donation.txt.ts +0 -26
  719. package/core/server/services/staff/email-templates/gift.txt.ts +0 -27
  720. package/core/server/services/staff/email-templates/new-free-signup.txt.ts +0 -15
  721. package/core/server/services/staff/email-templates/new-gift-subscription.txt.ts +0 -26
  722. package/core/server/services/staff/email-templates/new-milestone-received.txt.ts +0 -20
  723. package/core/server/services/staff/email-templates/new-paid-cancellation.txt.ts +0 -15
  724. package/core/server/services/staff/email-templates/new-paid-started.txt.ts +0 -15
  725. package/core/server/services/staff/email-templates/recommendation-received.txt.ts +0 -23
  726. package/core/server/services/staff/email-templates/types.ts +0 -13
  727. package/core/server/services/url/lazy-find-resource.ts +0 -104
  728. package/core/server/services/url/lazy-url-service.ts +0 -647
  729. package/core/server/services/url/permalink-matcher.ts +0 -119
  730. package/core/server/services/url/router-filter.ts +0 -80
  731. package/core/server/services/verification/verification-webhook-service.ts +0 -137
  732. package/core/shared/config/helpers.ts +0 -133
  733. package/core/shared/config/index.ts +0 -12
  734. package/core/shared/config/loader.ts +0 -87
  735. package/core/shared/config/utils.ts +0 -104
  736. package/core/shared/errify.ts +0 -31
  737. package/core/shared/events-ts/index.ts +0 -8
  738. package/core/shared/events-ts/post-deleted-event.ts +0 -15
  739. package/core/shared/events-ts/posts-bulk-add-tags-event.ts +0 -13
  740. package/core/shared/events-ts/posts-bulk-destroyed-event.ts +0 -13
  741. package/core/shared/events-ts/posts-bulk-featured-event.ts +0 -13
  742. package/core/shared/events-ts/posts-bulk-unfeatured-event.ts +0 -13
  743. package/core/shared/events-ts/posts-bulk-unpublished-event.ts +0 -13
  744. package/core/shared/events-ts/posts-bulk-unscheduled-event.ts +0 -13
  745. package/core/shared/labs-flag-overrides.ts +0 -35
  746. package/core/shared/one-at-a-time.ts +0 -47
  747. package/core/shared/url-utils.ts +0 -20
@@ -1 +1 @@
1
- import{i as e,n as t,t as n}from"./hooks-D6EE7BIt.js";import{n as r,r as i}from"./update-queries-C4CnvJaW.js";var a=`NewslettersResponseType`,o=a,s=n({dataType:a,path:`/newsletters/`,defaultSearchParams:{include:`count.active_members,count.posts`,limit:`50`},defaultNextPageParams:(e,t)=>({...t,page:(e.meta?.pagination.next||1).toString()}),returnData:e=>{let{pages:t}=e,n=t.flatMap(e=>e.newsletters),r=t[t.length-1].meta;return{newsletters:n,meta:r,isEnd:r?r.pagination.pages===r.pagination.page:!0}}});e({dataType:a,path:e=>`/newsletters/${e}/`});var c=t({method:`POST`,path:()=>`/newsletters/`,body:({opt_in_existing:e,...t})=>({newsletters:[t]}),searchParams:e=>({opt_in_existing:e.opt_in_existing.toString(),include:`count.active_members,count.posts`}),updateQueries:{dataType:a,emberUpdateType:`createOrUpdate`,update:r(`newsletters`)}}),l=t({method:`PUT`,path:e=>`/newsletters/${e.id}/`,body:e=>({newsletters:[e]}),defaultSearchParams:{include:`count.active_members,count.posts`},updateQueries:{dataType:a,emberUpdateType:`createOrUpdate`,update:i(`newsletters`)}}),u=t({method:`PUT`,path:()=>`/newsletters/verifications/`,body:({token:e})=>({token:e}),defaultSearchParams:{include:`count.active_members,count.posts`},updateQueries:{dataType:a,emberUpdateType:`createOrUpdate`,update:i(`newsletters`)}});export{u as a,l as i,c as n,s as r,o as t};
1
+ import{i as e,n as t,t as n}from"./hooks-CJepWnbB.js";import{n as r,r as i}from"./update-queries-C4CnvJaW.js";var a=`NewslettersResponseType`,o=a,s=n({dataType:a,path:`/newsletters/`,defaultSearchParams:{include:`count.active_members,count.posts`,limit:`50`},defaultNextPageParams:(e,t)=>({...t,page:(e.meta?.pagination.next||1).toString()}),returnData:e=>{let{pages:t}=e,n=t.flatMap(e=>e.newsletters),r=t[t.length-1].meta;return{newsletters:n,meta:r,isEnd:r?r.pagination.pages===r.pagination.page:!0}}});e({dataType:a,path:e=>`/newsletters/${e}/`});var c=t({method:`POST`,path:()=>`/newsletters/`,body:({opt_in_existing:e,...t})=>({newsletters:[t]}),searchParams:e=>({opt_in_existing:e.opt_in_existing.toString(),include:`count.active_members,count.posts`}),updateQueries:{dataType:a,emberUpdateType:`createOrUpdate`,update:r(`newsletters`)}}),l=t({method:`PUT`,path:e=>`/newsletters/${e.id}/`,body:e=>({newsletters:[e]}),defaultSearchParams:{include:`count.active_members,count.posts`},updateQueries:{dataType:a,emberUpdateType:`createOrUpdate`,update:i(`newsletters`)}}),u=t({method:`PUT`,path:()=>`/newsletters/verifications/`,body:({token:e})=>({token:e}),defaultSearchParams:{include:`count.active_members,count.posts`},updateQueries:{dataType:a,emberUpdateType:`createOrUpdate`,update:i(`newsletters`)}});export{u as a,l as i,c as n,s as r,o as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{m as r}from"./chunk-KS7C4IRE-DG9HTHQ3.js";import{s as i}from"./router-provider-DSQfprxH.js";import{$ as a,B as o,Jt as s,Kt as c,R as l,Wt as u,Z as d,ar as f,et as p,ft as m,or as h,rt as g,xo as _,z as v}from"./index-DUXM0NlS.js";import{i as y,n as b,r as x,t as S}from"./use-reply-chain-data-CmFe0N6F.js";var C=e(t(),1),w=n(),T=()=>(0,w.jsx)(`div`,{className:`h-px w-full bg-gray-200 dark:bg-gray-950`}),E=()=>{let{postId:e}=r(),{canGoBack:t}=i(),[n,E]=(0,C.useState)(new Set),[D,O]=(0,C.useState)(new Set),[k,A]=(0,C.useState)(new Set),[j,M]=(0,C.useState)(!1),N=(0,C.useRef)(null),P=(0,C.useRef)(null),F=(0,C.useRef)(null),I=(0,C.useRef)(null),L=s(),{threadParents:R,post:z,processedReplies:B,isLoading:V,loadMoreChildren:H,loadMoreChildReplies:U,hasMoreChildren:W,hasMoreChildReplies:G}=S(decodeURIComponent(e??``),{includeAncestors:!0}),K=z?.object,q=K?.replyCount??0,[J,Y]=(0,C.useState)(!1);if((0,C.useEffect)(()=>{P.current&&R.length>0&&!J&&(P.current.scrollIntoView({behavior:`instant`,block:`start`}),Y(!0))},[R,J]),(0,C.useEffect)(()=>{F.current&&F.current.disconnect();let e=document.querySelector(`[data-scrollable-container]`);if(e)return F.current=new IntersectionObserver(async e=>{if(e[0].isIntersecting&&W&&!j){M(!0);try{await H()}catch(e){console.error(`Failed to load more top-level replies:`,e)}finally{M(!1)}}},{root:e,rootMargin:`200px`}),I.current&&F.current.observe(I.current),()=>{F.current&&F.current.disconnect()}},[W,j,H]),V)return(0,w.jsx)(o,{children:(0,w.jsxs)(`div`,{className:`mx-auto flex max-w-[620px] flex-col items-center gap-3 pt-9 lg:px-8`,children:[(0,w.jsxs)(`div`,{className:`flex w-full items-center gap-3`,children:[(0,w.jsx)(h,{className:`size-10 rounded-full`}),(0,w.jsxs)(`div`,{className:`grow pt-1`,children:[(0,w.jsx)(h,{className:`w-24`}),(0,w.jsx)(h,{className:`w-3/5`})]})]}),(0,w.jsxs)(`div`,{className:`mb-7 w-full`,children:[(0,w.jsx)(h,{}),(0,w.jsx)(h,{className:`w-4/5`}),(0,w.jsx)(h,{})]}),(0,w.jsx)(T,{}),(0,w.jsxs)(`div`,{className:`flex w-full items-center gap-3 py-3`,children:[(0,w.jsx)(h,{className:`block size-full`,containerClassName:`size-10 rounded-full overflow-hidden`}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(h,{className:`w-52`}),(0,w.jsx)(h,{className:`w-28`})]})]}),(0,w.jsx)(T,{})]})});if(!z)return(0,w.jsx)(o,{children:(0,w.jsx)(`div`,{className:`mx-auto mt-4 flex w-full max-w-[620px] flex-col items-center`,children:(0,w.jsxs)(v,{children:[(0,w.jsx)(l,{children:(0,w.jsx)(_,{})}),(0,w.jsx)(`div`,{children:`Error loading note.`})]})})});function X(){}function Z(e){E(t=>{let n=new Set(t);return n.has(e)?n.delete(e):(n.add(e),O(t=>{let n=new Set(t);return n.add(e),n})),n})}async function Q(e,t){if(!k.has(e)){A(t=>new Set(t).add(e));try{U&&await U(t)}catch(e){console.error(`Failed to load more replies for chain:`,e)}finally{A(t=>{let n=new Set(t);return n.delete(e),n})}}}return(0,w.jsx)(o,{children:(0,w.jsx)(`div`,{className:`mx-auto flex h-full max-w-[620px] flex-col`,children:(0,w.jsx)(`div`,{className:`relative flex-1`,children:(0,w.jsx)(`div`,{className:`grow overflow-y-auto`,children:(0,w.jsxs)(`div`,{className:`mx-auto px-8 pt-5 pb-10 max-lg:px-0`,children:[!R.length&&(0,w.jsx)(g,{actor:z.actor,isCurrentUser:z.object.authored,children:(0,w.jsxs)(`div`,{className:`col-[2/3] mx-auto flex w-full cursor-pointer items-center gap-3 ${t?`pt-10 max-md:pt-5`:`pt-5`}`,children:[(0,w.jsx)(`div`,{className:`relative z-10`,children:(0,w.jsx)(m,{author:z.actor,showFollowButton:!z.object.authored&&!z.actor.followedByMe})}),(0,w.jsxs)(`div`,{className:`relative z-10 flex w-full min-w-0 cursor-pointer flex-col overflow-visible text-[1.5rem]`,onClick:e=>{p(z.actor,L,e)},children:[(0,w.jsx)(`div`,{className:`flex w-full`,children:(0,w.jsx)(`span`,{className:`min-w-0 truncate font-semibold whitespace-nowrap hover:underline`,children:z.actor.name})}),(0,w.jsxs)(`div`,{className:`flex w-full`,children:[(0,w.jsx)(`span`,{className:`truncate text-gray-700 after:mx-1 after:font-normal after:text-gray-700 after:content-["·"]`,children:c(z.actor)}),(0,w.jsx)(`span`,{className:`text-gray-700`,children:a(K,!K.authored)})]})]})]})}),R.map(e=>e.object.type===`Tombstone`?(0,w.jsx)(x,{last:!1}):(0,w.jsx)(d,{actor:e.actor,allowDelete:!1,commentCount:e.object.replyCount??0,last:!1,layout:`reply`,likeCount:e.object.likeCount??0,object:e.object,repostCount:e.object.repostCount??0,type:`Note`,onClick:()=>{L(`/${e.object.type===`Article`?`reader`:`notes`}/${encodeURIComponent(e.object.id)}`)}})),(0,w.jsx)(`div`,{ref:P,className:`${t?`scroll-mt-[12px]`:`scroll-mt-[124px]`}`,children:(0,w.jsxs)(`div`,{className:`${R.length>0&&`min-h-[calc(100vh-52px)]`}`,children:[(0,w.jsx)(d,{actor:z.actor,allowDelete:!1,commentCount:q,last:!0,layout:`modal`,likeCount:K.likeCount??0,object:K,repostCount:K.repostCount,showHeader:R.length>0,showStats:!0,type:`Note`}),(0,w.jsx)(y,{object:K}),(0,w.jsx)(T,{}),(0,w.jsxs)(`div`,{ref:N,children:[B.map((e,t)=>{let r=t===B.length-1,i=e.mainReply.id,a=n.has(i),o=D.has(i),s=k.has(i),c=e.chain.length>0;return(0,w.jsxs)(C.Fragment,{children:[(0,w.jsx)(d,{actor:e.mainReply.actor,allowDelete:e.mainReply.object.authored,commentCount:e.mainReply.object.replyCount??0,isChainParent:c,isPending:u(e.mainReply.id),last:!c,layout:`reply`,likeCount:e.mainReply.object.likeCount??0,object:e.mainReply.object,parentId:K.id,repostCount:e.mainReply.object.repostCount??0,type:`Note`,onClick:()=>{L(`/notes/${encodeURIComponent(e.mainReply.id)}`)},onDelete:X}),c&&e.chain[0]&&(0,w.jsx)(d,{actor:e.chain[0].actor,allowDelete:e.chain[0].object.authored,commentCount:e.chain[0].object.replyCount??0,isChainContinuation:!0,isPending:u(e.chain[0].id),last:e.chain.length===1,layout:`reply`,likeCount:e.chain[0].object.likeCount??0,object:e.chain[0].object,parentId:K.id,repostCount:e.chain[0].object.repostCount??0,type:`Note`,onClick:()=>{L(`/notes/${encodeURIComponent(e.chain[0].id)}`)},onDelete:X},e.chain[0].id),c&&a&&e.chain.slice(1).map((n,r)=>{let i=r===e.chain.slice(1).length-1,a=G&&G(t),o=i&&a;return(0,w.jsx)(d,{actor:n.actor,allowDelete:n.object.authored,commentCount:n.object.replyCount??0,isChainContinuation:!0,isPending:u(n.id),last:i&&!o,layout:`reply`,likeCount:n.object.likeCount??0,object:n.object,parentId:K.id,repostCount:n.object.repostCount??0,type:`Note`,onClick:()=>{L(`/notes/${encodeURIComponent(n.id)}`)},onDelete:X},n.id)}),c&&e.chain.length>1&&!a&&(0,w.jsx)(b,{variant:`expand`,onClick:()=>Z(i)}),c&&a&&o&&G&&G(t)&&(0,w.jsx)(b,{loading:s,variant:`loadMore`,onClick:()=>Q(i,t)}),!r&&(0,w.jsx)(T,{})]},e.mainReply.id)}),j&&(0,w.jsx)(`div`,{className:`flex flex-col items-center justify-center text-center`,children:(0,w.jsx)(f,{size:`md`})})]}),W&&(0,w.jsx)(`div`,{ref:I,className:`h-1`})]})})]})})})})})};export{E as default};
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{m as r}from"./chunk-KS7C4IRE-DG9HTHQ3.js";import{s as i}from"./router-provider-CkB_ArLF.js";import{$ as a,B as o,Jt as s,Kt as c,R as l,Wt as u,Z as d,ar as f,et as p,ft as m,or as h,rt as g,wo as _,z as v}from"./index-BOJzlYiz.js";import{i as y,n as b,r as x,t as S}from"./use-reply-chain-data-C0ZUTkfk.js";var C=e(t(),1),w=n(),T=()=>(0,w.jsx)(`div`,{className:`h-px w-full bg-gray-200 dark:bg-gray-950`}),E=()=>{let{postId:e}=r(),{canGoBack:t}=i(),[n,E]=(0,C.useState)(new Set),[D,O]=(0,C.useState)(new Set),[k,A]=(0,C.useState)(new Set),[j,M]=(0,C.useState)(!1),N=(0,C.useRef)(null),P=(0,C.useRef)(null),F=(0,C.useRef)(null),I=(0,C.useRef)(null),L=s(),{threadParents:R,post:z,processedReplies:B,isLoading:V,loadMoreChildren:H,loadMoreChildReplies:U,hasMoreChildren:W,hasMoreChildReplies:G}=S(decodeURIComponent(e??``),{includeAncestors:!0}),K=z?.object,q=K?.replyCount??0,[J,Y]=(0,C.useState)(!1);if((0,C.useEffect)(()=>{P.current&&R.length>0&&!J&&(P.current.scrollIntoView({behavior:`instant`,block:`start`}),Y(!0))},[R,J]),(0,C.useEffect)(()=>{F.current&&F.current.disconnect();let e=document.querySelector(`[data-scrollable-container]`);if(e)return F.current=new IntersectionObserver(async e=>{if(e[0].isIntersecting&&W&&!j){M(!0);try{await H()}catch(e){console.error(`Failed to load more top-level replies:`,e)}finally{M(!1)}}},{root:e,rootMargin:`200px`}),I.current&&F.current.observe(I.current),()=>{F.current&&F.current.disconnect()}},[W,j,H]),V)return(0,w.jsx)(o,{children:(0,w.jsxs)(`div`,{className:`mx-auto flex max-w-[620px] flex-col items-center gap-3 pt-9 lg:px-8`,children:[(0,w.jsxs)(`div`,{className:`flex w-full items-center gap-3`,children:[(0,w.jsx)(h,{className:`size-10 rounded-full`}),(0,w.jsxs)(`div`,{className:`grow pt-1`,children:[(0,w.jsx)(h,{className:`w-24`}),(0,w.jsx)(h,{className:`w-3/5`})]})]}),(0,w.jsxs)(`div`,{className:`mb-7 w-full`,children:[(0,w.jsx)(h,{}),(0,w.jsx)(h,{className:`w-4/5`}),(0,w.jsx)(h,{})]}),(0,w.jsx)(T,{}),(0,w.jsxs)(`div`,{className:`flex w-full items-center gap-3 py-3`,children:[(0,w.jsx)(h,{className:`block size-full`,containerClassName:`size-10 rounded-full overflow-hidden`}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(h,{className:`w-52`}),(0,w.jsx)(h,{className:`w-28`})]})]}),(0,w.jsx)(T,{})]})});if(!z)return(0,w.jsx)(o,{children:(0,w.jsx)(`div`,{className:`mx-auto mt-4 flex w-full max-w-[620px] flex-col items-center`,children:(0,w.jsxs)(v,{children:[(0,w.jsx)(l,{children:(0,w.jsx)(_,{})}),(0,w.jsx)(`div`,{children:`Error loading note.`})]})})});function X(){}function Z(e){E(t=>{let n=new Set(t);return n.has(e)?n.delete(e):(n.add(e),O(t=>{let n=new Set(t);return n.add(e),n})),n})}async function Q(e,t){if(!k.has(e)){A(t=>new Set(t).add(e));try{U&&await U(t)}catch(e){console.error(`Failed to load more replies for chain:`,e)}finally{A(t=>{let n=new Set(t);return n.delete(e),n})}}}return(0,w.jsx)(o,{children:(0,w.jsx)(`div`,{className:`mx-auto flex h-full max-w-[620px] flex-col`,children:(0,w.jsx)(`div`,{className:`relative flex-1`,children:(0,w.jsx)(`div`,{className:`grow overflow-y-auto`,children:(0,w.jsxs)(`div`,{className:`mx-auto px-8 pt-5 pb-10 max-lg:px-0`,children:[!R.length&&(0,w.jsx)(g,{actor:z.actor,isCurrentUser:z.object.authored,children:(0,w.jsxs)(`div`,{className:`col-[2/3] mx-auto flex w-full cursor-pointer items-center gap-3 ${t?`pt-10 max-md:pt-5`:`pt-5`}`,children:[(0,w.jsx)(`div`,{className:`relative z-10`,children:(0,w.jsx)(m,{author:z.actor,showFollowButton:!z.object.authored&&!z.actor.followedByMe})}),(0,w.jsxs)(`div`,{className:`relative z-10 flex w-full min-w-0 cursor-pointer flex-col overflow-visible text-[1.5rem]`,onClick:e=>{p(z.actor,L,e)},children:[(0,w.jsx)(`div`,{className:`flex w-full`,children:(0,w.jsx)(`span`,{className:`min-w-0 truncate font-semibold whitespace-nowrap hover:underline`,children:z.actor.name})}),(0,w.jsxs)(`div`,{className:`flex w-full`,children:[(0,w.jsx)(`span`,{className:`truncate text-gray-700 after:mx-1 after:font-normal after:text-gray-700 after:content-["·"]`,children:c(z.actor)}),(0,w.jsx)(`span`,{className:`text-gray-700`,children:a(K,!K.authored)})]})]})]})}),R.map(e=>e.object.type===`Tombstone`?(0,w.jsx)(x,{last:!1}):(0,w.jsx)(d,{actor:e.actor,allowDelete:!1,commentCount:e.object.replyCount??0,last:!1,layout:`reply`,likeCount:e.object.likeCount??0,object:e.object,repostCount:e.object.repostCount??0,type:`Note`,onClick:()=>{L(`/${e.object.type===`Article`?`reader`:`notes`}/${encodeURIComponent(e.object.id)}`)}})),(0,w.jsx)(`div`,{ref:P,className:`${t?`scroll-mt-[12px]`:`scroll-mt-[124px]`}`,children:(0,w.jsxs)(`div`,{className:`${R.length>0&&`min-h-[calc(100vh-52px)]`}`,children:[(0,w.jsx)(d,{actor:z.actor,allowDelete:!1,commentCount:q,last:!0,layout:`modal`,likeCount:K.likeCount??0,object:K,repostCount:K.repostCount,showHeader:R.length>0,showStats:!0,type:`Note`}),(0,w.jsx)(y,{object:K}),(0,w.jsx)(T,{}),(0,w.jsxs)(`div`,{ref:N,children:[B.map((e,t)=>{let r=t===B.length-1,i=e.mainReply.id,a=n.has(i),o=D.has(i),s=k.has(i),c=e.chain.length>0;return(0,w.jsxs)(C.Fragment,{children:[(0,w.jsx)(d,{actor:e.mainReply.actor,allowDelete:e.mainReply.object.authored,commentCount:e.mainReply.object.replyCount??0,isChainParent:c,isPending:u(e.mainReply.id),last:!c,layout:`reply`,likeCount:e.mainReply.object.likeCount??0,object:e.mainReply.object,parentId:K.id,repostCount:e.mainReply.object.repostCount??0,type:`Note`,onClick:()=>{L(`/notes/${encodeURIComponent(e.mainReply.id)}`)},onDelete:X}),c&&e.chain[0]&&(0,w.jsx)(d,{actor:e.chain[0].actor,allowDelete:e.chain[0].object.authored,commentCount:e.chain[0].object.replyCount??0,isChainContinuation:!0,isPending:u(e.chain[0].id),last:e.chain.length===1,layout:`reply`,likeCount:e.chain[0].object.likeCount??0,object:e.chain[0].object,parentId:K.id,repostCount:e.chain[0].object.repostCount??0,type:`Note`,onClick:()=>{L(`/notes/${encodeURIComponent(e.chain[0].id)}`)},onDelete:X},e.chain[0].id),c&&a&&e.chain.slice(1).map((n,r)=>{let i=r===e.chain.slice(1).length-1,a=G&&G(t),o=i&&a;return(0,w.jsx)(d,{actor:n.actor,allowDelete:n.object.authored,commentCount:n.object.replyCount??0,isChainContinuation:!0,isPending:u(n.id),last:i&&!o,layout:`reply`,likeCount:n.object.likeCount??0,object:n.object,parentId:K.id,repostCount:n.object.repostCount??0,type:`Note`,onClick:()=>{L(`/notes/${encodeURIComponent(n.id)}`)},onDelete:X},n.id)}),c&&e.chain.length>1&&!a&&(0,w.jsx)(b,{variant:`expand`,onClick:()=>Z(i)}),c&&a&&o&&G&&G(t)&&(0,w.jsx)(b,{loading:s,variant:`loadMore`,onClick:()=>Q(i,t)}),!r&&(0,w.jsx)(T,{})]},e.mainReply.id)}),j&&(0,w.jsx)(`div`,{className:`flex flex-col items-center justify-center text-center`,children:(0,w.jsx)(f,{size:`md`})})]}),W&&(0,w.jsx)(`div`,{ref:I,className:`h-1`})]})})]})})})})})};export{E as default};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{f as r}from"./dist-Cb5RSHSg.js";import{$ as i,At as a,B as o,Ca as s,Gt as c,Jt as l,L as u,Li as d,Pr as f,Q as p,R as m,_s as h,ar as g,bo as _,dt as v,et as y,ft as b,lt as x,ns as S,nt as C,or as w,rt as T,ut as E,xa as D,xs as O,z as k}from"./index-DUXM0NlS.js";import"./layout-yR9rlvEw.js";var A=e(t(),1),j=n(),M=({notificationType:e,size:t=`lg`,className:n})=>{let r,i=``,a=`white`,o=t===`sm`?13:20,c=t===`sm`?2:1.5;switch(e){case`follow`:r=(0,j.jsx)(d,{className:`-mt-0.5 -mr-0.5 ${t===`sm`&&`size-[11px]`}`,color:a,size:o,strokeWidth:c}),i=`bg-blue-600`;break;case`like`:r=(0,j.jsx)(_,{className:`${t===`sm`?`size-[11px]`:`mt-px size-5`}`,color:a,strokeWidth:c}),i=`bg-pink-600`;break;case`reply`:r=(0,j.jsx)(D,{className:`mr-px mb-px`,color:a,size:o,strokeWidth:c}),i=`bg-purple-600`;break;case`repost`:r=(0,j.jsx)(s,{color:a,size:o,strokeWidth:c}),i=`bg-green-500`;break;case`mention`:r=(0,j.jsx)(O,{className:`${t===`sm`?`size-[12px]`:`size-5`}`,color:a,size:o,strokeWidth:c}),i=`bg-orange-500`;break}return(0,j.jsx)(`div`,{className:`flex ${t===`sm`?`size-5`:`size-9`} items-center justify-center rounded-full ${i} ${n&&n}`,children:r})},N=A.createContext(void 0),P=({isGrouped:e,centerAlign:t,children:n,onClick:r,url:i,className:a})=>(0,j.jsx)(N.Provider,{value:{onClick:r,url:i},children:(0,j.jsx)(`div`,{className:`group relative -mx-4 -my-px ${e?`grid`:`flex`} ${t?`items-center`:`items-start`} break-anywhere cursor-pointer grid-cols-[auto_1fr] gap-x-4 gap-y-2.5 rounded-lg px-4 py-5 text-left hover:bg-gray-100 ${a}`,role:`button`,onClick:r,children:n})});P.Icon=({size:e=`lg`,type:t})=>(0,j.jsx)(`div`,{className:`col-start-1 row-start-1`,children:(0,j.jsx)(M,{notificationType:t,size:e})}),P.Avatars=({children:e})=>(0,j.jsx)(`div`,{className:`col-start-2 row-start-1 flex gap-2`,children:e}),P.Content=({children:e})=>(0,j.jsx)(`div`,{className:`col-start-2 row-start-2 -mt-0.5 grow overflow-hidden`,children:e});var F=()=>(0,j.jsx)(`div`,{className:`h-px w-full bg-gray-200 dark:bg-gray-950`});function I(e){let t=1440*60*1e3,n=new Date(e).getTime();return(Math.floor(n/t)*t).toString()}function L(e){let t={},n=null,r=0;return e.forEach(e=>{e.type!==n&&(r+=1,n=e.type);let i=``,a=`_${I(e.createdAt)}`,o=`_seq${r}`;switch(e.type){case`like`:e.post?.id&&(i=`like_${e.post.id}${a}${o}`);break;case`reply`:i=`reply_${e.id}`;break;case`repost`:e.post?.id&&(i=`repost_${e.post.id}${a}${o}`);break;case`follow`:i=`follow_${a}${o}`;break;case`mention`:i=`mention_${e.id}`;break}t[i]||(t[i]={id:e.id,type:e.type,actors:[],post:e.post,inReplyTo:e.inReplyTo,createdAt:e.createdAt}),t[i].actors.find(t=>t.id===e.actor.id)||t[i].actors.push(e.actor)}),Object.values(t)}var R=({group:e})=>{let[t,...n]=e.actors,i=n.length>0,a=n.length,o=l(),s=(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(T,{actor:t,align:`center`,isCurrentUser:!1,children:(0,j.jsx)(`span`,{className:`cursor-pointer font-semibold hover:underline text-black dark:text-white`,onClick:e=>{e?.stopPropagation(),t.handle&&y(t.handle,o)},children:t.name})}),i&&` and ${r(a)} ${a>1?`others`:`other`}`]});switch(e.type){case`follow`:return(0,j.jsxs)(j.Fragment,{children:[s,` followed you`]});case`like`:return(0,j.jsxs)(j.Fragment,{children:[s,` liked your `,e.post?.type===`article`?`post`:`note`]});case`repost`:return(0,j.jsxs)(j.Fragment,{children:[s,` reposted your `,e.post?.type===`article`?`post`:`note`]});case`reply`:if(e.inReplyTo&&typeof e.inReplyTo!=`string`)return s;break;case`mention`:return s}return(0,j.jsx)(j.Fragment,{})},z=({content:e,className:t,stripTags:n=[]})=>{let r=(0,A.useRef)(null),i=l();return(0,A.useEffect)(()=>{let e=r.current;if(!e)return;let t=e=>{let t=e.target.closest(`a[data-profile]`);if(t){let n=t.getAttribute(`data-profile`)?.trim();/^@([\w.-]+)@([\w-]+\.[\w.-]+[a-zA-Z])$/.test(n||``)&&n&&(e.preventDefault(),e.stopPropagation(),y(n,i))}};return e.addEventListener(`click`,t),()=>{e.removeEventListener(`click`,t)}},[i,e]),(0,j.jsx)(`div`,{dangerouslySetInnerHTML:{__html:x(E(e||``,n))},ref:r,className:t})},B=()=>{let[e,t]=A.useState({}),n=l(),s=e=>{t(t=>({...t,[e]:!t[e]}))},d=()=>{},{data:_,error:T,fetchNextPage:D,hasNextPage:O,isFetchingNextPage:N,isLoading:I}=a(`index`),B=_?.pages.flatMap(e=>L(e.notifications))??Array(10).fill({actors:[{}]}),V=(0,A.useRef)(null),H=(0,A.useRef)(null);(0,A.useEffect)(()=>(V.current&&V.current.disconnect(),V.current=new IntersectionObserver(e=>{e[0].isIntersecting&&O&&!N&&D()}),H.current&&V.current.observe(H.current),()=>{V.current&&V.current.disconnect()}),[O,N,D]);let U=(e,t)=>{switch(e.type){case`like`:e.post&&n(`/${e.post.type===`article`?`reader`:`notes`}/${encodeURIComponent(e.post.id)}`);break;case`reply`:e.post&&e.inReplyTo&&n(`/notes/${encodeURIComponent(e.post.id)}`);break;case`repost`:e.post&&n(`/${e.post.type===`article`?`reader`:`notes`}/${encodeURIComponent(e.post.id)}`);break;case`follow`:e.actors.length>1?s(e.id||`${e.type}_${t}`):e.actors[0]?.handle&&y(e.actors[0].handle,n);break;case`mention`:e.post&&n(`/notes/${encodeURIComponent(e.post.id)}`);break}};return T&&c(T)?(0,j.jsx)(u,{errorCode:T.code,statusCode:T.statusCode}):(0,j.jsx)(o,{children:(0,j.jsxs)(`div`,{className:`z-0 flex w-full flex-col items-center`,children:[I===!1&&B.length===0&&(0,j.jsxs)(k,{children:[(0,j.jsx)(m,{children:(0,j.jsx)(h,{})}),`Quiet for now, but not for long! When someone likes, boosts, or replies to you, you'll find it here.`]}),B.length>0&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`div`,{className:`my-8 flex w-full max-w-[620px] flex-col max-md:mt-5`,children:B.map((t,a)=>(0,j.jsxs)(A.Fragment,{children:[(0,j.jsxs)(P,{centerAlign:t.actors.length<2&&t.type===`follow`,className:`hover:bg-gray-100 dark:hover:bg-gray-950`,isGrouped:t.actors.length>1,onClick:()=>U(t,a),children:[I?(0,j.jsx)(w,{className:`rounded-full`,containerClassName:`flex h-10 w-10`}):t.actors.length>1?(0,j.jsx)(P.Icon,{type:t.type}):(0,j.jsxs)(`div`,{className:`relative`,children:[(0,j.jsx)(b,{author:{icon:{url:t.actors[0].avatarUrl||``},name:t.actors[0].name,handle:t.actors[0].handle},size:`notification`},t.actors[0].id),(0,j.jsx)(M,{className:`absolute -right-1 -bottom-1 z-10 border-2 border-white dark:border-black`,notificationType:t.type,size:`sm`})]}),t.actors.length>1&&(0,j.jsx)(P.Avatars,{children:(0,j.jsxs)(`div`,{className:`flex w-full flex-col`,children:[(0,j.jsxs)(`div`,{className:`relative flex w-fit items-center pl-2`,children:[!e[t.id||`${t.type}_${a}`]&&t.actors.slice(0,5).map(e=>(0,j.jsx)(b,{author:{icon:{url:e.avatarUrl||``},name:e.name,handle:e.handle},className:`-ml-2 bg-[#F3F3F3]! outline-2 outline-white group-hover:bg-[#EDEEF0]! group-hover:outline-gray-100 dark:outline-black group-hover:dark:outline-gray-950`,size:`notification`},e.id)),t.actors.length>5&&!e[t.id||`${t.type}_${a}`]&&(0,j.jsx)(`div`,{className:`absolute right-[28px] z-10 flex size-9 items-center justify-center rounded-full bg-black/50 text-base font-semibold tracking-tightest text-white`,children:`+${r(t.actors.length-5)}`}),t.actors.length>1&&(0,j.jsxs)(f,{className:`group flex items-center gap-0.5 text-gray-700 hover:bg-transparent hover:text-black dark:text-gray-600 dark:hover:text-white ${e[t.id||`${t.type}_${a}`]?`ml-[-20px]`:`ml-0 w-[28px]`}`,variant:`ghost`,onClick:e=>{e?.stopPropagation(),s(t.id||`${t.type}_${a}`)},children:[(0,j.jsx)(S,{className:`${e[t.id||`${t.type}_${a}`]?`rotate-180`:``}`,size:20,strokeWidth:1.5}),e[t.id||`${t.type}_${a}`]?`Hide`:(0,j.jsx)(`span`,{className:`sr-only`,children:`Show all`})]})]}),(0,j.jsx)(`div`,{className:`overflow-hidden transition-all duration-300 ease-in-out ${e[t.id||`${t.type}_${a}`]?`mb-2 max-h-[1384px] opacity-100`:`max-h-0 opacity-0`}`,children:e[t.id||`${t.type}_${a}`]&&t.actors.length>1&&(0,j.jsx)(`div`,{className:`flex flex-col gap-2 pt-2`,children:t.actors.map(e=>(0,j.jsxs)(`div`,{className:`group/item break-anywhere flex items-center justify-between gap-4`,onClick:t=>{t?.stopPropagation(),e.handle&&y(e.handle,n)},children:[(0,j.jsxs)(`div`,{className:`flex min-w-0 items-center`,children:[(0,j.jsx)(b,{author:{icon:{url:e.avatarUrl||``},name:e.name,handle:e.handle},size:`xs`}),(0,j.jsx)(`span`,{className:`ml-2 line-clamp-1 text-base font-semibold group-hover/item:underline dark:text-white`,children:e.name}),(0,j.jsx)(`span`,{className:`ml-1 line-clamp-1 text-base text-gray-700 dark:text-gray-600`,children:e.handle})]}),t.type===`follow`&&!e.followedByMe&&e.handle&&(0,j.jsx)(v,{following:!1,handle:e.handle,variant:`link`})]},e.id))})})]})}),(0,j.jsxs)(P.Content,{children:[(0,j.jsx)(`div`,{children:I?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(w,{}),(0,j.jsx)(w,{className:`w-full max-w-60`})]}):(0,j.jsxs)(`div`,{className:`flex justify-between`,children:[(0,j.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,j.jsx)(`span`,{className:`truncate`,children:(0,j.jsx)(R,{group:t})}),t.actors.length<2&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`span`,{className:`mt-px text-[8px] text-gray-700 dark:text-gray-600`,children:`•`}),(0,j.jsx)(`span`,{className:`mt-0.5 text-sm text-gray-700 dark:text-gray-600`,children:i(t,!1)})]})]}),t.actors.length===1&&(t.type===`follow`||t.type===`reply`||t.type===`mention`)&&!t.actors[0].followedByMe&&t.actors[0].handle&&(0,j.jsx)(v,{following:!1,handle:t.actors[0].handle,variant:`link`})]})}),(t.type===`reply`&&t.inReplyTo||t.type===`mention`||t.type===`like`&&!t.post?.name&&t.post?.content||t.type===`repost`&&!t.post?.name&&t.post?.content)&&(t.type!==`reply`&&t.type!==`mention`?(0,j.jsxs)(`div`,{className:`ap-note-content mt-0.5 line-clamp-1 text-sm text-pretty text-gray-700 dark:text-gray-600`,children:[t.post?.type===`article`&&t.post?.title&&(0,j.jsxs)(j.Fragment,{children:[t.post.title,` — `]}),(0,j.jsx)(`span`,{dangerouslySetInnerHTML:{__html:x(E(t.post?.content||``))}})]}):(0,j.jsx)(j.Fragment,{children:(0,j.jsxs)(`div`,{className:`mt-2.5 rounded-md bg-gray-100 px-5 py-[14px] group-hover:bg-gray-200 dark:bg-gray-950/30 group-hover:dark:bg-black/40`,children:[(0,j.jsx)(z,{className:`ap-note-content text-pretty`,content:t.post?.content||``,stripTags:[`a`]}),t.post&&t.post.attachments&&t.post.attachments.length>0&&(0,j.jsx)(`div`,{className:`notification-attachments mb-1 [&_.attachment-gallery]:flex [&_.attachment-gallery]:flex-wrap [&_img]:aspect-square [&_img]:max-w-[calc(20%-6.4px)]`,children:p({...t.post,type:`Note`,attachment:t.post.attachments})})]})})),(t.type===`reply`&&t.post||t.type===`mention`)&&(0,j.jsx)(`div`,{className:`mt-1.5`,children:(0,j.jsx)(C,{actor:{...t.actors[0],icon:{url:t.actors[0].avatarUrl||``},id:t.actors[0].url,preferredUsername:t.actors[0].handle?.replace(/^@([^@]+)@.*$/,`$1`)||`unknown`},buttonClassName:`hover:bg-gray-200`,commentCount:t.post.replyCount||0,layout:`notification`,likeCount:t.post.likeCount||0,object:{...t.post,liked:t.post.likedByMe,reposted:t.post.repostedByMe},repostCount:t.post.repostCount||0,onLikeClick:d})})]})]}),a<B.length-1&&(0,j.jsx)(`div`,{className:`pl-[52px]`,children:(0,j.jsx)(F,{})})]},t.id||`${t.type}_${a}`))}),(0,j.jsx)(`div`,{ref:H,className:`h-1`}),N&&(0,j.jsx)(`div`,{className:`-mt-4 mb-8 flex flex-col items-center justify-center gap-4 text-center`,children:(0,j.jsx)(g,{size:`md`})})]})]})})};export{B as default};
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{f as r}from"./dist-Cb5RSHSg.js";import{$ as i,At as a,B as o,Ca as s,Co as c,Gt as l,Jt as u,L as d,Li as f,Pr as p,Q as m,R as h,Ta as g,ar as _,as as v,bs as y,dt as b,et as x,ft as S,lt as C,nt as w,or as T,rt as E,ut as D,ws as O,z as k}from"./index-BOJzlYiz.js";import"./layout-DkkGyev2.js";var A=e(t(),1),j=n(),M=({notificationType:e,size:t=`lg`,className:n})=>{let r,i=``,a=`white`,o=t===`sm`?13:20,l=t===`sm`?2:1.5;switch(e){case`follow`:r=(0,j.jsx)(f,{className:`-mt-0.5 -mr-0.5 ${t===`sm`&&`size-[11px]`}`,color:a,size:o,strokeWidth:l}),i=`bg-blue-600`;break;case`like`:r=(0,j.jsx)(c,{className:`${t===`sm`?`size-[11px]`:`mt-px size-5`}`,color:a,strokeWidth:l}),i=`bg-pink-600`;break;case`reply`:r=(0,j.jsx)(s,{className:`mr-px mb-px`,color:a,size:o,strokeWidth:l}),i=`bg-purple-600`;break;case`repost`:r=(0,j.jsx)(g,{color:a,size:o,strokeWidth:l}),i=`bg-green-500`;break;case`mention`:r=(0,j.jsx)(O,{className:`${t===`sm`?`size-[12px]`:`size-5`}`,color:a,size:o,strokeWidth:l}),i=`bg-orange-500`;break}return(0,j.jsx)(`div`,{className:`flex ${t===`sm`?`size-5`:`size-9`} items-center justify-center rounded-full ${i} ${n&&n}`,children:r})},N=A.createContext(void 0),P=({isGrouped:e,centerAlign:t,children:n,onClick:r,url:i,className:a})=>(0,j.jsx)(N.Provider,{value:{onClick:r,url:i},children:(0,j.jsx)(`div`,{className:`group relative -mx-4 -my-px ${e?`grid`:`flex`} ${t?`items-center`:`items-start`} break-anywhere cursor-pointer grid-cols-[auto_1fr] gap-x-4 gap-y-2.5 rounded-lg px-4 py-5 text-left hover:bg-gray-100 ${a}`,role:`button`,onClick:r,children:n})});P.Icon=({size:e=`lg`,type:t})=>(0,j.jsx)(`div`,{className:`col-start-1 row-start-1`,children:(0,j.jsx)(M,{notificationType:t,size:e})}),P.Avatars=({children:e})=>(0,j.jsx)(`div`,{className:`col-start-2 row-start-1 flex gap-2`,children:e}),P.Content=({children:e})=>(0,j.jsx)(`div`,{className:`col-start-2 row-start-2 -mt-0.5 grow overflow-hidden`,children:e});var F=()=>(0,j.jsx)(`div`,{className:`h-px w-full bg-gray-200 dark:bg-gray-950`});function I(e){let t=1440*60*1e3,n=new Date(e).getTime();return(Math.floor(n/t)*t).toString()}function L(e){let t={},n=null,r=0;return e.forEach(e=>{e.type!==n&&(r+=1,n=e.type);let i=``,a=`_${I(e.createdAt)}`,o=`_seq${r}`;switch(e.type){case`like`:e.post?.id&&(i=`like_${e.post.id}${a}${o}`);break;case`reply`:i=`reply_${e.id}`;break;case`repost`:e.post?.id&&(i=`repost_${e.post.id}${a}${o}`);break;case`follow`:i=`follow_${a}${o}`;break;case`mention`:i=`mention_${e.id}`;break}t[i]||(t[i]={id:e.id,type:e.type,actors:[],post:e.post,inReplyTo:e.inReplyTo,createdAt:e.createdAt}),t[i].actors.find(t=>t.id===e.actor.id)||t[i].actors.push(e.actor)}),Object.values(t)}var R=({group:e})=>{let[t,...n]=e.actors,i=n.length>0,a=n.length,o=u(),s=(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(E,{actor:t,align:`center`,isCurrentUser:!1,children:(0,j.jsx)(`span`,{className:`cursor-pointer font-semibold hover:underline text-black dark:text-white`,onClick:e=>{e?.stopPropagation(),t.handle&&x(t.handle,o)},children:t.name})}),i&&` and ${r(a)} ${a>1?`others`:`other`}`]});switch(e.type){case`follow`:return(0,j.jsxs)(j.Fragment,{children:[s,` followed you`]});case`like`:return(0,j.jsxs)(j.Fragment,{children:[s,` liked your `,e.post?.type===`article`?`post`:`note`]});case`repost`:return(0,j.jsxs)(j.Fragment,{children:[s,` reposted your `,e.post?.type===`article`?`post`:`note`]});case`reply`:if(e.inReplyTo&&typeof e.inReplyTo!=`string`)return s;break;case`mention`:return s}return(0,j.jsx)(j.Fragment,{})},z=({content:e,className:t,stripTags:n=[]})=>{let r=(0,A.useRef)(null),i=u();return(0,A.useEffect)(()=>{let e=r.current;if(!e)return;let t=e=>{let t=e.target.closest(`a[data-profile]`);if(t){let n=t.getAttribute(`data-profile`)?.trim();/^@([\w.-]+)@([\w-]+\.[\w.-]+[a-zA-Z])$/.test(n||``)&&n&&(e.preventDefault(),e.stopPropagation(),x(n,i))}};return e.addEventListener(`click`,t),()=>{e.removeEventListener(`click`,t)}},[i,e]),(0,j.jsx)(`div`,{dangerouslySetInnerHTML:{__html:C(D(e||``,n))},ref:r,className:t})},B=()=>{let[e,t]=A.useState({}),n=u(),s=e=>{t(t=>({...t,[e]:!t[e]}))},c=()=>{},{data:f,error:g,fetchNextPage:E,hasNextPage:O,isFetchingNextPage:N,isLoading:I}=a(`index`),B=f?.pages.flatMap(e=>L(e.notifications))??Array(10).fill({actors:[{}]}),V=(0,A.useRef)(null),H=(0,A.useRef)(null);(0,A.useEffect)(()=>(V.current&&V.current.disconnect(),V.current=new IntersectionObserver(e=>{e[0].isIntersecting&&O&&!N&&E()}),H.current&&V.current.observe(H.current),()=>{V.current&&V.current.disconnect()}),[O,N,E]);let U=(e,t)=>{switch(e.type){case`like`:e.post&&n(`/${e.post.type===`article`?`reader`:`notes`}/${encodeURIComponent(e.post.id)}`);break;case`reply`:e.post&&e.inReplyTo&&n(`/notes/${encodeURIComponent(e.post.id)}`);break;case`repost`:e.post&&n(`/${e.post.type===`article`?`reader`:`notes`}/${encodeURIComponent(e.post.id)}`);break;case`follow`:e.actors.length>1?s(e.id||`${e.type}_${t}`):e.actors[0]?.handle&&x(e.actors[0].handle,n);break;case`mention`:e.post&&n(`/notes/${encodeURIComponent(e.post.id)}`);break}};return g&&l(g)?(0,j.jsx)(d,{errorCode:g.code,statusCode:g.statusCode}):(0,j.jsx)(o,{children:(0,j.jsxs)(`div`,{className:`z-0 flex w-full flex-col items-center`,children:[I===!1&&B.length===0&&(0,j.jsxs)(k,{children:[(0,j.jsx)(h,{children:(0,j.jsx)(y,{})}),`Quiet for now, but not for long! When someone likes, boosts, or replies to you, you'll find it here.`]}),B.length>0&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`div`,{className:`my-8 flex w-full max-w-[620px] flex-col max-md:mt-5`,children:B.map((t,a)=>(0,j.jsxs)(A.Fragment,{children:[(0,j.jsxs)(P,{centerAlign:t.actors.length<2&&t.type===`follow`,className:`hover:bg-gray-100 dark:hover:bg-gray-950`,isGrouped:t.actors.length>1,onClick:()=>U(t,a),children:[I?(0,j.jsx)(T,{className:`rounded-full`,containerClassName:`flex h-10 w-10`}):t.actors.length>1?(0,j.jsx)(P.Icon,{type:t.type}):(0,j.jsxs)(`div`,{className:`relative`,children:[(0,j.jsx)(S,{author:{icon:{url:t.actors[0].avatarUrl||``},name:t.actors[0].name,handle:t.actors[0].handle},size:`notification`},t.actors[0].id),(0,j.jsx)(M,{className:`absolute -right-1 -bottom-1 z-10 border-2 border-white dark:border-black`,notificationType:t.type,size:`sm`})]}),t.actors.length>1&&(0,j.jsx)(P.Avatars,{children:(0,j.jsxs)(`div`,{className:`flex w-full flex-col`,children:[(0,j.jsxs)(`div`,{className:`relative flex w-fit items-center pl-2`,children:[!e[t.id||`${t.type}_${a}`]&&t.actors.slice(0,5).map(e=>(0,j.jsx)(S,{author:{icon:{url:e.avatarUrl||``},name:e.name,handle:e.handle},className:`-ml-2 bg-[#F3F3F3]! outline-2 outline-white group-hover:bg-[#EDEEF0]! group-hover:outline-gray-100 dark:outline-black group-hover:dark:outline-gray-950`,size:`notification`},e.id)),t.actors.length>5&&!e[t.id||`${t.type}_${a}`]&&(0,j.jsx)(`div`,{className:`absolute right-[28px] z-10 flex size-9 items-center justify-center rounded-full bg-black/50 text-base font-semibold tracking-tightest text-white`,children:`+${r(t.actors.length-5)}`}),t.actors.length>1&&(0,j.jsxs)(p,{className:`group flex items-center gap-0.5 text-gray-700 hover:bg-transparent hover:text-black dark:text-gray-600 dark:hover:text-white ${e[t.id||`${t.type}_${a}`]?`ml-[-20px]`:`ml-0 w-[28px]`}`,variant:`ghost`,onClick:e=>{e?.stopPropagation(),s(t.id||`${t.type}_${a}`)},children:[(0,j.jsx)(v,{className:`${e[t.id||`${t.type}_${a}`]?`rotate-180`:``}`,size:20,strokeWidth:1.5}),e[t.id||`${t.type}_${a}`]?`Hide`:(0,j.jsx)(`span`,{className:`sr-only`,children:`Show all`})]})]}),(0,j.jsx)(`div`,{className:`overflow-hidden transition-all duration-300 ease-in-out ${e[t.id||`${t.type}_${a}`]?`mb-2 max-h-[1384px] opacity-100`:`max-h-0 opacity-0`}`,children:e[t.id||`${t.type}_${a}`]&&t.actors.length>1&&(0,j.jsx)(`div`,{className:`flex flex-col gap-2 pt-2`,children:t.actors.map(e=>(0,j.jsxs)(`div`,{className:`group/item break-anywhere flex items-center justify-between gap-4`,onClick:t=>{t?.stopPropagation(),e.handle&&x(e.handle,n)},children:[(0,j.jsxs)(`div`,{className:`flex min-w-0 items-center`,children:[(0,j.jsx)(S,{author:{icon:{url:e.avatarUrl||``},name:e.name,handle:e.handle},size:`xs`}),(0,j.jsx)(`span`,{className:`ml-2 line-clamp-1 text-base font-semibold group-hover/item:underline dark:text-white`,children:e.name}),(0,j.jsx)(`span`,{className:`ml-1 line-clamp-1 text-base text-gray-700 dark:text-gray-600`,children:e.handle})]}),t.type===`follow`&&!e.followedByMe&&e.handle&&(0,j.jsx)(b,{following:!1,handle:e.handle,variant:`link`})]},e.id))})})]})}),(0,j.jsxs)(P.Content,{children:[(0,j.jsx)(`div`,{children:I?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(T,{}),(0,j.jsx)(T,{className:`w-full max-w-60`})]}):(0,j.jsxs)(`div`,{className:`flex justify-between`,children:[(0,j.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,j.jsx)(`span`,{className:`truncate`,children:(0,j.jsx)(R,{group:t})}),t.actors.length<2&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`span`,{className:`mt-px text-[8px] text-gray-700 dark:text-gray-600`,children:`•`}),(0,j.jsx)(`span`,{className:`mt-0.5 text-sm text-gray-700 dark:text-gray-600`,children:i(t,!1)})]})]}),t.actors.length===1&&(t.type===`follow`||t.type===`reply`||t.type===`mention`)&&!t.actors[0].followedByMe&&t.actors[0].handle&&(0,j.jsx)(b,{following:!1,handle:t.actors[0].handle,variant:`link`})]})}),(t.type===`reply`&&t.inReplyTo||t.type===`mention`||t.type===`like`&&!t.post?.name&&t.post?.content||t.type===`repost`&&!t.post?.name&&t.post?.content)&&(t.type!==`reply`&&t.type!==`mention`?(0,j.jsxs)(`div`,{className:`ap-note-content mt-0.5 line-clamp-1 text-sm text-pretty text-gray-700 dark:text-gray-600`,children:[t.post?.type===`article`&&t.post?.title&&(0,j.jsxs)(j.Fragment,{children:[t.post.title,` — `]}),(0,j.jsx)(`span`,{dangerouslySetInnerHTML:{__html:C(D(t.post?.content||``))}})]}):(0,j.jsx)(j.Fragment,{children:(0,j.jsxs)(`div`,{className:`mt-2.5 rounded-md bg-gray-100 px-5 py-[14px] group-hover:bg-gray-200 dark:bg-gray-950/30 group-hover:dark:bg-black/40`,children:[(0,j.jsx)(z,{className:`ap-note-content text-pretty`,content:t.post?.content||``,stripTags:[`a`]}),t.post&&t.post.attachments&&t.post.attachments.length>0&&(0,j.jsx)(`div`,{className:`notification-attachments mb-1 [&_.attachment-gallery]:flex [&_.attachment-gallery]:flex-wrap [&_img]:aspect-square [&_img]:max-w-[calc(20%-6.4px)]`,children:m({...t.post,type:`Note`,attachment:t.post.attachments})})]})})),(t.type===`reply`&&t.post||t.type===`mention`)&&(0,j.jsx)(`div`,{className:`mt-1.5`,children:(0,j.jsx)(w,{actor:{...t.actors[0],icon:{url:t.actors[0].avatarUrl||``},id:t.actors[0].url,preferredUsername:t.actors[0].handle?.replace(/^@([^@]+)@.*$/,`$1`)||`unknown`},buttonClassName:`hover:bg-gray-200`,commentCount:t.post.replyCount||0,layout:`notification`,likeCount:t.post.likeCount||0,object:{...t.post,liked:t.post.likedByMe,reposted:t.post.repostedByMe},repostCount:t.post.repostCount||0,onLikeClick:c})})]})]}),a<B.length-1&&(0,j.jsx)(`div`,{className:`pl-[52px]`,children:(0,j.jsx)(F,{})})]},t.id||`${t.type}_${a}`))}),(0,j.jsx)(`div`,{ref:H,className:`h-1`}),N&&(0,j.jsx)(`div`,{className:`-mt-4 mb-8 flex flex-col items-center justify-center gap-4 text-center`,children:(0,j.jsx)(_,{size:`md`})})]})]})})};export{B as default};
@@ -0,0 +1,19 @@
1
+ import{i as e,t}from"./rolldown-runtime-DAXXjFlN.js";import{t as n}from"./luxon-D1RVjjpq.js";var r=t(((e,t)=>{t.exports=function(){if(typeof Symbol!=`function`||typeof Object.getOwnPropertySymbols!=`function`)return!1;if(typeof Symbol.iterator==`symbol`)return!0;var e={},t=Symbol(`test`),n=Object(t);if(typeof t==`string`||Object.prototype.toString.call(t)!==`[object Symbol]`||Object.prototype.toString.call(n)!==`[object Symbol]`)return!1;var r=42;for(var i in e[t]=r,e)return!1;if(typeof Object.keys==`function`&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames==`function`&&Object.getOwnPropertyNames(e).length!==0)return!1;var a=Object.getOwnPropertySymbols(e);if(a.length!==1||a[0]!==t||!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if(typeof Object.getOwnPropertyDescriptor==`function`){var o=Object.getOwnPropertyDescriptor(e,t);if(o.value!==r||o.enumerable!==!0)return!1}return!0}})),i=t(((e,t)=>{var n=r();t.exports=function(){return n()&&!!Symbol.toStringTag}})),a=t(((e,t)=>{t.exports=Object})),o=t(((e,t)=>{t.exports=Error})),s=t(((e,t)=>{t.exports=EvalError})),c=t(((e,t)=>{t.exports=RangeError})),l=t(((e,t)=>{t.exports=ReferenceError})),u=t(((e,t)=>{t.exports=SyntaxError})),d=t(((e,t)=>{t.exports=TypeError})),f=t(((e,t)=>{t.exports=URIError})),p=t(((e,t)=>{t.exports=Math.abs})),m=t(((e,t)=>{t.exports=Math.floor})),h=t(((e,t)=>{t.exports=Math.max})),g=t(((e,t)=>{t.exports=Math.min})),_=t(((e,t)=>{t.exports=Math.pow})),v=t(((e,t)=>{t.exports=Math.round})),y=t(((e,t)=>{t.exports=Number.isNaN||function(e){return e!==e}})),b=t(((e,t)=>{var n=y();t.exports=function(e){return n(e)||e===0?e:e<0?-1:1}})),x=t(((e,t)=>{t.exports=Object.getOwnPropertyDescriptor})),S=t(((e,t)=>{var n=x();if(n)try{n([],`length`)}catch{n=null}t.exports=n})),C=t(((e,t)=>{var n=Object.defineProperty||!1;if(n)try{n({},`a`,{value:1})}catch{n=!1}t.exports=n})),w=t(((e,t)=>{var n=typeof Symbol<`u`&&Symbol,i=r();t.exports=function(){return typeof n!=`function`||typeof Symbol!=`function`||typeof n(`foo`)!=`symbol`||typeof Symbol(`bar`)!=`symbol`?!1:i()}})),T=t(((e,t)=>{t.exports=typeof Reflect<`u`&&Reflect.getPrototypeOf||null})),E=t(((e,t)=>{t.exports=a().getPrototypeOf||null})),D=t(((e,t)=>{var n=Object.prototype.toString,r=Math.max,i=`[object Function]`,a=function(e,t){for(var n=[],r=0;r<e.length;r+=1)n[r]=e[r];for(var i=0;i<t.length;i+=1)n[i+e.length]=t[i];return n},o=function(e,t){for(var n=[],r=t||0,i=0;r<e.length;r+=1,i+=1)n[i]=e[r];return n},s=function(e,t){for(var n=``,r=0;r<e.length;r+=1)n+=e[r],r+1<e.length&&(n+=t);return n};t.exports=function(e){var t=this;if(typeof t!=`function`||n.apply(t)!==i)throw TypeError(`Function.prototype.bind called on incompatible `+t);for(var c=o(arguments,1),l,u=function(){if(this instanceof l){var n=t.apply(this,a(c,arguments));return Object(n)===n?n:this}return t.apply(e,a(c,arguments))},d=r(0,t.length-c.length),f=[],p=0;p<d;p++)f[p]=`$`+p;if(l=Function(`binder`,`return function (`+s(f,`,`)+`){ return binder.apply(this,arguments); }`)(u),t.prototype){var m=function(){};m.prototype=t.prototype,l.prototype=new m,m.prototype=null}return l}})),O=t(((e,t)=>{var n=D();t.exports=Function.prototype.bind||n})),k=t(((e,t)=>{t.exports=Function.prototype.call})),A=t(((e,t)=>{t.exports=Function.prototype.apply})),j=t(((e,t)=>{t.exports=typeof Reflect<`u`&&Reflect&&Reflect.apply})),M=t(((e,t)=>{var n=O(),r=A(),i=k();t.exports=j()||n.call(i,r)})),N=t(((e,t)=>{var n=O(),r=d(),i=k(),a=M();t.exports=function(e){if(e.length<1||typeof e[0]!=`function`)throw new r(`a function is required`);return a(n,i,e)}})),P=t(((e,t)=>{var n=N(),r=S(),i;try{i=[].__proto__===Array.prototype}catch(e){if(!e||typeof e!=`object`||!(`code`in e)||e.code!==`ERR_PROTO_ACCESS`)throw e}var a=!!i&&r&&r(Object.prototype,`__proto__`),o=Object,s=o.getPrototypeOf;t.exports=a&&typeof a.get==`function`?n([a.get]):typeof s==`function`?function(e){return s(e==null?e:o(e))}:!1})),F=t(((e,t)=>{var n=T(),r=E(),i=P();t.exports=n?function(e){return n(e)}:r?function(e){if(!e||typeof e!=`object`&&typeof e!=`function`)throw TypeError(`getProto: not an object`);return r(e)}:i?function(e){return i(e)}:null})),I=t(((e,t)=>{var n=Function.prototype.call,r=Object.prototype.hasOwnProperty;t.exports=O().call(n,r)})),L=t(((e,t)=>{var n,r=a(),i=o(),y=s(),x=c(),D=l(),j=u(),M=d(),N=f(),P=p(),L=m(),R=h(),ee=g(),z=_(),B=v(),V=b(),te=Function,H=function(e){try{return te(`"use strict"; return (`+e+`).constructor;`)()}catch{}},U=S(),ne=C(),W=function(){throw new M},re=U?function(){try{return arguments.callee,W}catch{try{return U(arguments,`callee`).get}catch{return W}}}():W,G=w()(),K=F(),q=E(),J=T(),ie=A(),Y=k(),X={},ae=typeof Uint8Array>`u`||!K?n:K(Uint8Array),Z={__proto__:null,"%AggregateError%":typeof AggregateError>`u`?n:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>`u`?n:ArrayBuffer,"%ArrayIteratorPrototype%":G&&K?K([][Symbol.iterator]()):n,"%AsyncFromSyncIteratorPrototype%":n,"%AsyncFunction%":X,"%AsyncGenerator%":X,"%AsyncGeneratorFunction%":X,"%AsyncIteratorPrototype%":X,"%Atomics%":typeof Atomics>`u`?n:Atomics,"%BigInt%":typeof BigInt>`u`?n:BigInt,"%BigInt64Array%":typeof BigInt64Array>`u`?n:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>`u`?n:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>`u`?n:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":i,"%eval%":eval,"%EvalError%":y,"%Float16Array%":typeof Float16Array>`u`?n:Float16Array,"%Float32Array%":typeof Float32Array>`u`?n:Float32Array,"%Float64Array%":typeof Float64Array>`u`?n:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>`u`?n:FinalizationRegistry,"%Function%":te,"%GeneratorFunction%":X,"%Int8Array%":typeof Int8Array>`u`?n:Int8Array,"%Int16Array%":typeof Int16Array>`u`?n:Int16Array,"%Int32Array%":typeof Int32Array>`u`?n:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":G&&K?K(K([][Symbol.iterator]())):n,"%JSON%":typeof JSON==`object`?JSON:n,"%Map%":typeof Map>`u`?n:Map,"%MapIteratorPrototype%":typeof Map>`u`||!G||!K?n:K(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":r,"%Object.getOwnPropertyDescriptor%":U,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>`u`?n:Promise,"%Proxy%":typeof Proxy>`u`?n:Proxy,"%RangeError%":x,"%ReferenceError%":D,"%Reflect%":typeof Reflect>`u`?n:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>`u`?n:Set,"%SetIteratorPrototype%":typeof Set>`u`||!G||!K?n:K(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>`u`?n:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":G&&K?K(``[Symbol.iterator]()):n,"%Symbol%":G?Symbol:n,"%SyntaxError%":j,"%ThrowTypeError%":re,"%TypedArray%":ae,"%TypeError%":M,"%Uint8Array%":typeof Uint8Array>`u`?n:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>`u`?n:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>`u`?n:Uint16Array,"%Uint32Array%":typeof Uint32Array>`u`?n:Uint32Array,"%URIError%":N,"%WeakMap%":typeof WeakMap>`u`?n:WeakMap,"%WeakRef%":typeof WeakRef>`u`?n:WeakRef,"%WeakSet%":typeof WeakSet>`u`?n:WeakSet,"%Function.prototype.call%":Y,"%Function.prototype.apply%":ie,"%Object.defineProperty%":ne,"%Object.getPrototypeOf%":q,"%Math.abs%":P,"%Math.floor%":L,"%Math.max%":R,"%Math.min%":ee,"%Math.pow%":z,"%Math.round%":B,"%Math.sign%":V,"%Reflect.getPrototypeOf%":J};if(K)try{null.error}catch(e){Z[`%Error.prototype%`]=K(K(e))}var oe=function e(t){var n;if(t===`%AsyncFunction%`)n=H(`async function () {}`);else if(t===`%GeneratorFunction%`)n=H(`function* () {}`);else if(t===`%AsyncGeneratorFunction%`)n=H(`async function* () {}`);else if(t===`%AsyncGenerator%`){var r=e(`%AsyncGeneratorFunction%`);r&&(n=r.prototype)}else if(t===`%AsyncIteratorPrototype%`){var i=e(`%AsyncGenerator%`);i&&K&&(n=K(i.prototype))}return Z[t]=n,n},se={__proto__:null,"%ArrayBufferPrototype%":[`ArrayBuffer`,`prototype`],"%ArrayPrototype%":[`Array`,`prototype`],"%ArrayProto_entries%":[`Array`,`prototype`,`entries`],"%ArrayProto_forEach%":[`Array`,`prototype`,`forEach`],"%ArrayProto_keys%":[`Array`,`prototype`,`keys`],"%ArrayProto_values%":[`Array`,`prototype`,`values`],"%AsyncFunctionPrototype%":[`AsyncFunction`,`prototype`],"%AsyncGenerator%":[`AsyncGeneratorFunction`,`prototype`],"%AsyncGeneratorPrototype%":[`AsyncGeneratorFunction`,`prototype`,`prototype`],"%BooleanPrototype%":[`Boolean`,`prototype`],"%DataViewPrototype%":[`DataView`,`prototype`],"%DatePrototype%":[`Date`,`prototype`],"%ErrorPrototype%":[`Error`,`prototype`],"%EvalErrorPrototype%":[`EvalError`,`prototype`],"%Float32ArrayPrototype%":[`Float32Array`,`prototype`],"%Float64ArrayPrototype%":[`Float64Array`,`prototype`],"%FunctionPrototype%":[`Function`,`prototype`],"%Generator%":[`GeneratorFunction`,`prototype`],"%GeneratorPrototype%":[`GeneratorFunction`,`prototype`,`prototype`],"%Int8ArrayPrototype%":[`Int8Array`,`prototype`],"%Int16ArrayPrototype%":[`Int16Array`,`prototype`],"%Int32ArrayPrototype%":[`Int32Array`,`prototype`],"%JSONParse%":[`JSON`,`parse`],"%JSONStringify%":[`JSON`,`stringify`],"%MapPrototype%":[`Map`,`prototype`],"%NumberPrototype%":[`Number`,`prototype`],"%ObjectPrototype%":[`Object`,`prototype`],"%ObjProto_toString%":[`Object`,`prototype`,`toString`],"%ObjProto_valueOf%":[`Object`,`prototype`,`valueOf`],"%PromisePrototype%":[`Promise`,`prototype`],"%PromiseProto_then%":[`Promise`,`prototype`,`then`],"%Promise_all%":[`Promise`,`all`],"%Promise_reject%":[`Promise`,`reject`],"%Promise_resolve%":[`Promise`,`resolve`],"%RangeErrorPrototype%":[`RangeError`,`prototype`],"%ReferenceErrorPrototype%":[`ReferenceError`,`prototype`],"%RegExpPrototype%":[`RegExp`,`prototype`],"%SetPrototype%":[`Set`,`prototype`],"%SharedArrayBufferPrototype%":[`SharedArrayBuffer`,`prototype`],"%StringPrototype%":[`String`,`prototype`],"%SymbolPrototype%":[`Symbol`,`prototype`],"%SyntaxErrorPrototype%":[`SyntaxError`,`prototype`],"%TypedArrayPrototype%":[`TypedArray`,`prototype`],"%TypeErrorPrototype%":[`TypeError`,`prototype`],"%Uint8ArrayPrototype%":[`Uint8Array`,`prototype`],"%Uint8ClampedArrayPrototype%":[`Uint8ClampedArray`,`prototype`],"%Uint16ArrayPrototype%":[`Uint16Array`,`prototype`],"%Uint32ArrayPrototype%":[`Uint32Array`,`prototype`],"%URIErrorPrototype%":[`URIError`,`prototype`],"%WeakMapPrototype%":[`WeakMap`,`prototype`],"%WeakSetPrototype%":[`WeakSet`,`prototype`]},Q=O(),$=I(),ce=Q.call(Y,Array.prototype.concat),le=Q.call(ie,Array.prototype.splice),ue=Q.call(Y,String.prototype.replace),de=Q.call(Y,String.prototype.slice),fe=Q.call(Y,RegExp.prototype.exec),pe=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,me=/\\(\\)?/g,he=function(e){var t=de(e,0,1),n=de(e,-1);if(t===`%`&&n!==`%`)throw new j("invalid intrinsic syntax, expected closing `%`");if(n===`%`&&t!==`%`)throw new j("invalid intrinsic syntax, expected opening `%`");var r=[];return ue(e,pe,function(e,t,n,i){r[r.length]=n?ue(i,me,`$1`):t||e}),r},ge=function(e,t){var n=e,r;if($(se,n)&&(r=se[n],n=`%`+r[0]+`%`),$(Z,n)){var i=Z[n];if(i===X&&(i=oe(n)),i===void 0&&!t)throw new M(`intrinsic `+e+` exists, but is not available. Please file an issue!`);return{alias:r,name:n,value:i}}throw new j(`intrinsic `+e+` does not exist!`)};t.exports=function(e,t){if(typeof e!=`string`||e.length===0)throw new M(`intrinsic name must be a non-empty string`);if(arguments.length>1&&typeof t!=`boolean`)throw new M(`"allowMissing" argument must be a boolean`);if(fe(/^%?[^%]*%?$/,e)===null)throw new j("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=he(e),r=n.length>0?n[0]:``,i=ge(`%`+r+`%`,t),a=i.name,o=i.value,s=!1,c=i.alias;c&&(r=c[0],le(n,ce([0,1],c)));for(var l=1,u=!0;l<n.length;l+=1){var d=n[l],f=de(d,0,1),p=de(d,-1);if((f===`"`||f===`'`||f==="`"||p===`"`||p===`'`||p==="`")&&f!==p)throw new j(`property names with quotes must have matching quotes`);if((d===`constructor`||!u)&&(s=!0),r+=`.`+d,a=`%`+r+`%`,$(Z,a))o=Z[a];else if(o!=null){if(!(d in o)){if(!t)throw new M(`base intrinsic for `+e+` exists, but the property is not available.`);return}if(U&&l+1>=n.length){var m=U(o,d);u=!!m,o=u&&`get`in m&&!(`originalValue`in m.get)?m.get:o[d]}else u=$(o,d),o=o[d];u&&!s&&(Z[a]=o)}}return o}})),R=t(((e,t)=>{var n=L(),r=N(),i=r([n(`%String.prototype.indexOf%`)]);t.exports=function(e,t){var a=n(e,!!t);return typeof a==`function`&&i(e,`.prototype.`)>-1?r([a]):a}})),ee=t(((e,t)=>{var n=i()(),r=R()(`Object.prototype.toString`),a=function(e){return n&&e&&typeof e==`object`&&Symbol.toStringTag in e?!1:r(e)===`[object Arguments]`},o=function(e){return a(e)?!0:typeof e==`object`&&!!e&&`length`in e&&typeof e.length==`number`&&e.length>=0&&r(e)!==`[object Array]`&&`callee`in e&&r(e.callee)===`[object Function]`},s=function(){return a(arguments)}();a.isLegacyArguments=o,t.exports=s?a:o})),z=t(((e,t)=>{var n=R(),r=i()(),a=I(),o=S(),s;if(r){var c=n(`RegExp.prototype.exec`),l={},u=function(){throw l},d={toString:u,valueOf:u};typeof Symbol.toPrimitive==`symbol`&&(d[Symbol.toPrimitive]=u),s=function(e){if(!e||typeof e!=`object`)return!1;var t=o(e,`lastIndex`);if(!(t&&a(t,`value`)))return!1;try{c(e,d)}catch(e){return e===l}}}else{var f=n(`Object.prototype.toString`),p=`[object RegExp]`;s=function(e){return!e||typeof e!=`object`&&typeof e!=`function`?!1:f(e)===p}}t.exports=s})),B=t(((e,t)=>{var n=R(),r=z(),i=n(`RegExp.prototype.exec`),a=d();t.exports=function(e){if(!r(e))throw new a("`regex` must be a RegExp");return function(t){return i(e,t)!==null}}})),V=t(((e,t)=>{var n=function*(){}.constructor;t.exports=()=>n})),te=t(((e,t)=>{var n=R(),r=B()(/^\s*(?:function)?\*/),a=i()(),o=F(),s=n(`Object.prototype.toString`),c=n(`Function.prototype.toString`),l=V();t.exports=function(e){if(typeof e!=`function`)return!1;if(r(c(e)))return!0;if(!a)return s(e)===`[object GeneratorFunction]`;if(!o)return!1;var t=l();return t&&o(e)===t.prototype}})),H=t(((e,t)=>{var n=Function.prototype.toString,r=typeof Reflect==`object`&&Reflect!==null&&Reflect.apply,i,a;if(typeof r==`function`&&typeof Object.defineProperty==`function`)try{i=Object.defineProperty({},"length",{get:function(){throw a}}),a={},r(function(){throw 42},null,i)}catch(e){e!==a&&(r=null)}else r=null;var o=/^\s*class\b/,s=function(e){try{var t=n.call(e);return o.test(t)}catch{return!1}},c=function(e){try{return s(e)?!1:(n.call(e),!0)}catch{return!1}},l=Object.prototype.toString,u=`[object Object]`,d=`[object Function]`,f=`[object GeneratorFunction]`,p=`[object HTMLAllCollection]`,m=`[object HTML document.all class]`,h=`[object HTMLCollection]`,g=typeof Symbol==`function`&&!!Symbol.toStringTag,_=!(0 in[,]),v=function(){return!1};if(typeof document==`object`){var y=document.all;l.call(y)===l.call(document.all)&&(v=function(e){if((_||!e)&&(e===void 0||typeof e==`object`))try{var t=l.call(e);return(t===p||t===m||t===h||t===u)&&e(``)==null}catch{}return!1})}t.exports=r?function(e){if(v(e))return!0;if(!e||typeof e!=`function`&&typeof e!=`object`)return!1;try{r(e,null,i)}catch(e){if(e!==a)return!1}return!s(e)&&c(e)}:function(e){if(v(e))return!0;if(!e||typeof e!=`function`&&typeof e!=`object`)return!1;if(g)return c(e);if(s(e))return!1;var t=l.call(e);return t!==d&&t!==f&&!/^\[object HTML/.test(t)?!1:c(e)}})),U=t(((e,t)=>{var n=H(),r=Object.prototype.toString,i=Object.prototype.hasOwnProperty,a=function(e,t,n){for(var r=0,a=e.length;r<a;r++)i.call(e,r)&&(n==null?t(e[r],r,e):t.call(n,e[r],r,e))},o=function(e,t,n){for(var r=0,i=e.length;r<i;r++)n==null?t(e.charAt(r),r,e):t.call(n,e.charAt(r),r,e)},s=function(e,t,n){for(var r in e)i.call(e,r)&&(n==null?t(e[r],r,e):t.call(n,e[r],r,e))};function c(e){return r.call(e)===`[object Array]`}t.exports=function(e,t,r){if(!n(t))throw TypeError(`iterator must be a function`);var i;arguments.length>=3&&(i=r),c(e)?a(e,t,i):typeof e==`string`?o(e,t,i):s(e,t,i)}})),ne=t(((e,t)=>{t.exports=[`Float16Array`,`Float32Array`,`Float64Array`,`Int8Array`,`Int16Array`,`Int32Array`,`Uint8Array`,`Uint8ClampedArray`,`Uint16Array`,`Uint32Array`,`BigInt64Array`,`BigUint64Array`]})),W=t(((e,t)=>{var n=ne(),r=typeof globalThis>`u`?global:globalThis;t.exports=function(){for(var e=[],t=0;t<n.length;t++)typeof r[n[t]]==`function`&&(e[e.length]=n[t]);return e}})),re=t(((e,t)=>{var n=C(),r=u(),i=d(),a=S();t.exports=function(e,t,o){if(!e||typeof e!=`object`&&typeof e!=`function`)throw new i("`obj` must be an object or a function`");if(typeof t!=`string`&&typeof t!=`symbol`)throw new i("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!=`boolean`&&arguments[3]!==null)throw new i("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!=`boolean`&&arguments[4]!==null)throw new i("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!=`boolean`&&arguments[5]!==null)throw new i("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!=`boolean`)throw new i("`loose`, if provided, must be a boolean");var s=arguments.length>3?arguments[3]:null,c=arguments.length>4?arguments[4]:null,l=arguments.length>5?arguments[5]:null,u=arguments.length>6?arguments[6]:!1,d=!!a&&a(e,t);if(n)n(e,t,{configurable:l===null&&d?d.configurable:!l,enumerable:s===null&&d?d.enumerable:!s,value:o,writable:c===null&&d?d.writable:!c});else if(u||!s&&!c&&!l)e[t]=o;else throw new r(`This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.`)}})),G=t(((e,t)=>{var n=C(),r=function(){return!!n};r.hasArrayLengthDefineBug=function(){if(!n)return null;try{return n([],`length`,{value:1}).length!==1}catch{return!0}},t.exports=r})),K=t(((e,t)=>{var n=L(),r=re(),i=G()(),a=S(),o=d(),s=n(`%Math.floor%`);t.exports=function(e,t){if(typeof e!=`function`)throw new o("`fn` is not a function");if(typeof t!=`number`||t<0||t>4294967295||s(t)!==t)throw new o("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],c=!0,l=!0;if(`length`in e&&a){var u=a(e,`length`);u&&!u.configurable&&(c=!1),u&&!u.writable&&(l=!1)}return(c||l||!n)&&(i?r(e,`length`,t,!0,!0):r(e,`length`,t)),e}})),q=t(((e,t)=>{var n=O(),r=A(),i=M();t.exports=function(){return i(n,r,arguments)}})),J=t(((e,t)=>{var n=K(),r=C(),i=N(),a=q();t.exports=function(e){var t=i(arguments),r=1+e.length-(arguments.length-1);return n(t,r>0?r:0,!0)},r?r(t.exports,`apply`,{value:a}):t.exports.apply=a})),ie=t(((e,t)=>{var n=U(),r=W(),a=J(),o=R(),s=S(),c=F(),l=o(`Object.prototype.toString`),u=i()(),d=typeof globalThis>`u`?global:globalThis,f=r(),p=o(`String.prototype.slice`),m=o(`Array.prototype.indexOf`,!0)||function(e,t){for(var n=0;n<e.length;n+=1)if(e[n]===t)return n;return-1},h={__proto__:null};u&&s&&c?n(f,function(e){var t=new d[e];if(Symbol.toStringTag in t&&c){var n=c(t),r=s(n,Symbol.toStringTag);if(!r&&n&&(r=s(c(n),Symbol.toStringTag)),r&&r.get){var i=a(r.get);h[`$`+e]=i}}}):n(f,function(e){var t=new d[e],n=t.slice||t.set;if(n){var r=a(n);h[`$`+e]=r}});function g(e){var t=!1;return n(h,function(n,r){if(!t)try{`$`+n(e)===r&&(t=p(r,1))}catch{}}),t}function _(e){var t=!1;return n(h,function(n,r){if(!t)try{n(e),t=p(r,1)}catch{}}),t}function v(e){return m(f,e)>-1}t.exports=function(e){if(!e||typeof e!=`object`)return!1;if(!u){var t=p(l(e),8,-1);return v(t)?t:t===`Object`?_(e):!1}return s?g(e):null}})),Y=t(((e,t)=>{var n=ie();t.exports=function(e){return!!n(e)}})),X=t((e=>{var t=ee(),n=te(),r=ie(),i=Y();function a(e){return e.call.bind(e)}var o=typeof BigInt<`u`,s=typeof Symbol<`u`,c=a(Object.prototype.toString),l=a(Number.prototype.valueOf),u=a(String.prototype.valueOf),d=a(Boolean.prototype.valueOf);if(o)var f=a(BigInt.prototype.valueOf);if(s)var p=a(Symbol.prototype.valueOf);function m(e,t){if(typeof e!=`object`)return!1;try{return t(e),!0}catch{return!1}}e.isArgumentsObject=t,e.isGeneratorFunction=n,e.isTypedArray=i;function h(e){return typeof Promise<`u`&&e instanceof Promise||typeof e==`object`&&!!e&&typeof e.then==`function`&&typeof e.catch==`function`}e.isPromise=h;function g(e){return typeof ArrayBuffer<`u`&&ArrayBuffer.isView?ArrayBuffer.isView(e):i(e)||z(e)}e.isArrayBufferView=g;function _(e){return r(e)===`Uint8Array`}e.isUint8Array=_;function v(e){return r(e)===`Uint8ClampedArray`}e.isUint8ClampedArray=v;function y(e){return r(e)===`Uint16Array`}e.isUint16Array=y;function b(e){return r(e)===`Uint32Array`}e.isUint32Array=b;function x(e){return r(e)===`Int8Array`}e.isInt8Array=x;function S(e){return r(e)===`Int16Array`}e.isInt16Array=S;function C(e){return r(e)===`Int32Array`}e.isInt32Array=C;function w(e){return r(e)===`Float32Array`}e.isFloat32Array=w;function T(e){return r(e)===`Float64Array`}e.isFloat64Array=T;function E(e){return r(e)===`BigInt64Array`}e.isBigInt64Array=E;function D(e){return r(e)===`BigUint64Array`}e.isBigUint64Array=D;function O(e){return c(e)===`[object Map]`}O.working=typeof Map<`u`&&O(new Map);function k(e){return typeof Map>`u`?!1:O.working?O(e):e instanceof Map}e.isMap=k;function A(e){return c(e)===`[object Set]`}A.working=typeof Set<`u`&&A(new Set);function j(e){return typeof Set>`u`?!1:A.working?A(e):e instanceof Set}e.isSet=j;function M(e){return c(e)===`[object WeakMap]`}M.working=typeof WeakMap<`u`&&M(new WeakMap);function N(e){return typeof WeakMap>`u`?!1:M.working?M(e):e instanceof WeakMap}e.isWeakMap=N;function P(e){return c(e)===`[object WeakSet]`}P.working=typeof WeakSet<`u`&&P(new WeakSet);function F(e){return P(e)}e.isWeakSet=F;function I(e){return c(e)===`[object ArrayBuffer]`}I.working=typeof ArrayBuffer<`u`&&I(new ArrayBuffer);function L(e){return typeof ArrayBuffer>`u`?!1:I.working?I(e):e instanceof ArrayBuffer}e.isArrayBuffer=L;function R(e){return c(e)===`[object DataView]`}R.working=typeof ArrayBuffer<`u`&&typeof DataView<`u`&&R(new DataView(new ArrayBuffer(1),0,1));function z(e){return typeof DataView>`u`?!1:R.working?R(e):e instanceof DataView}e.isDataView=z;var B=typeof SharedArrayBuffer<`u`?SharedArrayBuffer:void 0;function V(e){return c(e)===`[object SharedArrayBuffer]`}function H(e){return B===void 0?!1:(V.working===void 0&&(V.working=V(new B)),V.working?V(e):e instanceof B)}e.isSharedArrayBuffer=H;function U(e){return c(e)===`[object AsyncFunction]`}e.isAsyncFunction=U;function ne(e){return c(e)===`[object Map Iterator]`}e.isMapIterator=ne;function W(e){return c(e)===`[object Set Iterator]`}e.isSetIterator=W;function re(e){return c(e)===`[object Generator]`}e.isGeneratorObject=re;function G(e){return c(e)===`[object WebAssembly.Module]`}e.isWebAssemblyCompiledModule=G;function K(e){return m(e,l)}e.isNumberObject=K;function q(e){return m(e,u)}e.isStringObject=q;function J(e){return m(e,d)}e.isBooleanObject=J;function X(e){return o&&m(e,f)}e.isBigIntObject=X;function ae(e){return s&&m(e,p)}e.isSymbolObject=ae;function Z(e){return K(e)||q(e)||J(e)||X(e)||ae(e)}e.isBoxedPrimitive=Z;function oe(e){return typeof Uint8Array<`u`&&(L(e)||H(e))}e.isAnyArrayBuffer=oe,[`isProxy`,`isExternal`,`isModuleNamespaceObject`].forEach(function(t){Object.defineProperty(e,t,{enumerable:!1,value:function(){throw Error(t+` is not supported in userland`)}})})})),ae=t(((e,t)=>{t.exports=function(e){return e&&typeof e==`object`&&typeof e.copy==`function`&&typeof e.fill==`function`&&typeof e.readUInt8==`function`}})),Z=t(((e,t)=>{typeof Object.create==`function`?t.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}})),oe=t((e=>{var t=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),n={},r=0;r<t.length;r++)n[t[r]]=Object.getOwnPropertyDescriptor(e,t[r]);return n},n=/%[sdj%]/g;e.format=function(e){if(!x(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(o(arguments[r]));return t.join(` `)}for(var r=1,i=arguments,a=i.length,s=String(e).replace(n,function(e){if(e===`%%`)return`%`;if(r>=a)return e;switch(e){case`%s`:return String(i[r++]);case`%d`:return Number(i[r++]);case`%j`:try{return JSON.stringify(i[r++])}catch{return`[Circular]`}default:return e}}),c=i[r];r<a;c=i[++r])v(c)||!T(c)?s+=` `+c:s+=` `+o(c);return s},e.deprecate=function(t,n){if(typeof process<`u`&&process.noDeprecation===!0)return t;if(typeof process>`u`)return function(){return e.deprecate(t,n).apply(this,arguments)};var r=!1;function i(){if(!r){if(process.throwDeprecation)throw Error(n);process.traceDeprecation?console.trace(n):console.error(n),r=!0}return t.apply(this,arguments)}return i};var r={},i=/^$/;if({}.NODE_DEBUG){var a={}.NODE_DEBUG;a=a.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`).replace(/\*/g,`.*`).replace(/,/g,`$|^`).toUpperCase(),i=RegExp(`^`+a+`$`,`i`)}e.debuglog=function(t){if(t=t.toUpperCase(),!r[t])if(i.test(t)){var n=process.pid;r[t]=function(){var r=e.format.apply(e,arguments);console.error(`%s %d: %s`,t,n,r)}}else r[t]=function(){};return r[t]};function o(t,n){var r={seen:[],stylize:c};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),_(n)?r.showHidden=n:n&&e._extend(r,n),C(r.showHidden)&&(r.showHidden=!1),C(r.depth)&&(r.depth=2),C(r.colors)&&(r.colors=!1),C(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=s),u(r,t,r.depth)}e.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:`cyan`,number:`yellow`,boolean:`yellow`,undefined:`grey`,null:`bold`,string:`green`,date:`magenta`,regexp:`red`};function s(e,t){var n=o.styles[t];return n?`\x1B[`+o.colors[n][0]+`m`+e+`\x1B[`+o.colors[n][1]+`m`:e}function c(e,t){return e}function l(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}function u(t,n,r){if(t.customInspect&&n&&O(n.inspect)&&n.inspect!==e.inspect&&!(n.constructor&&n.constructor.prototype===n)){var i=n.inspect(r,t);return x(i)||(i=u(t,i,r)),i}var a=d(t,n);if(a)return a;var o=Object.keys(n),s=l(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(n)),D(n)&&(o.indexOf(`message`)>=0||o.indexOf(`description`)>=0))return f(n);if(o.length===0){if(O(n)){var c=n.name?`: `+n.name:``;return t.stylize(`[Function`+c+`]`,`special`)}if(w(n))return t.stylize(RegExp.prototype.toString.call(n),`regexp`);if(E(n))return t.stylize(Date.prototype.toString.call(n),`date`);if(D(n))return f(n)}var _=``,v=!1,y=[`{`,`}`];if(g(n)&&(v=!0,y=[`[`,`]`]),O(n)&&(_=` [Function`+(n.name?`: `+n.name:``)+`]`),w(n)&&(_=` `+RegExp.prototype.toString.call(n)),E(n)&&(_=` `+Date.prototype.toUTCString.call(n)),D(n)&&(_=` `+f(n)),o.length===0&&(!v||n.length==0))return y[0]+_+y[1];if(r<0)return w(n)?t.stylize(RegExp.prototype.toString.call(n),`regexp`):t.stylize(`[Object]`,`special`);t.seen.push(n);var b=v?p(t,n,r,s,o):o.map(function(e){return m(t,n,r,s,e,v)});return t.seen.pop(),h(b,_,y)}function d(e,t){if(C(t))return e.stylize(`undefined`,`undefined`);if(x(t)){var n=`'`+JSON.stringify(t).replace(/^"|"$/g,``).replace(/'/g,`\\'`).replace(/\\"/g,`"`)+`'`;return e.stylize(n,`string`)}if(b(t))return e.stylize(``+t,`number`);if(_(t))return e.stylize(``+t,`boolean`);if(v(t))return e.stylize(`null`,`null`)}function f(e){return`[`+Error.prototype.toString.call(e)+`]`}function p(e,t,n,r,i){for(var a=[],o=0,s=t.length;o<s;++o)P(t,String(o))?a.push(m(e,t,n,r,String(o),!0)):a.push(``);return i.forEach(function(i){i.match(/^\d+$/)||a.push(m(e,t,n,r,i,!0))}),a}function m(e,t,n,r,i,a){var o,s,c=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]};if(c.get?s=c.set?e.stylize(`[Getter/Setter]`,`special`):e.stylize(`[Getter]`,`special`):c.set&&(s=e.stylize(`[Setter]`,`special`)),P(r,i)||(o=`[`+i+`]`),s||(e.seen.indexOf(c.value)<0?(s=v(n)?u(e,c.value,null):u(e,c.value,n-1),s.indexOf(`
2
+ `)>-1&&(s=a?s.split(`
3
+ `).map(function(e){return` `+e}).join(`
4
+ `).slice(2):`
5
+ `+s.split(`
6
+ `).map(function(e){return` `+e}).join(`
7
+ `))):s=e.stylize(`[Circular]`,`special`)),C(o)){if(a&&i.match(/^\d+$/))return s;o=JSON.stringify(``+i),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=e.stylize(o,`name`)):(o=o.replace(/'/g,`\\'`).replace(/\\"/g,`"`).replace(/(^"|"$)/g,`'`),o=e.stylize(o,`string`))}return o+`: `+s}function h(e,t,n){var r=0;return e.reduce(function(e,t){return r++,t.indexOf(`
8
+ `)>=0&&r++,e+t.replace(/\u001b\[\d\d?m/g,``).length+1},0)>60?n[0]+(t===``?``:t+`
9
+ `)+` `+e.join(`,
10
+ `)+` `+n[1]:n[0]+t+` `+e.join(`, `)+` `+n[1]}e.types=X();function g(e){return Array.isArray(e)}e.isArray=g;function _(e){return typeof e==`boolean`}e.isBoolean=_;function v(e){return e===null}e.isNull=v;function y(e){return e==null}e.isNullOrUndefined=y;function b(e){return typeof e==`number`}e.isNumber=b;function x(e){return typeof e==`string`}e.isString=x;function S(e){return typeof e==`symbol`}e.isSymbol=S;function C(e){return e===void 0}e.isUndefined=C;function w(e){return T(e)&&A(e)===`[object RegExp]`}e.isRegExp=w,e.types.isRegExp=w;function T(e){return typeof e==`object`&&!!e}e.isObject=T;function E(e){return T(e)&&A(e)===`[object Date]`}e.isDate=E,e.types.isDate=E;function D(e){return T(e)&&(A(e)===`[object Error]`||e instanceof Error)}e.isError=D,e.types.isNativeError=D;function O(e){return typeof e==`function`}e.isFunction=O;function k(e){return e===null||typeof e==`boolean`||typeof e==`number`||typeof e==`string`||typeof e==`symbol`||e===void 0}e.isPrimitive=k,e.isBuffer=ae();function A(e){return Object.prototype.toString.call(e)}function j(e){return e<10?`0`+e.toString(10):e.toString(10)}var M=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function N(){var e=new Date,t=[j(e.getHours()),j(e.getMinutes()),j(e.getSeconds())].join(`:`);return[e.getDate(),M[e.getMonth()],t].join(` `)}e.log=function(){console.log(`%s - %s`,N(),e.format.apply(e,arguments))},e.inherits=Z(),e._extend=function(e,t){if(!t||!T(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e};function P(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var F=typeof Symbol<`u`?Symbol(`util.promisify.custom`):void 0;e.promisify=function(e){if(typeof e!=`function`)throw TypeError(`The "original" argument must be of type Function`);if(F&&e[F]){var n=e[F];if(typeof n!=`function`)throw TypeError(`The "util.promisify.custom" argument must be of type Function`);return Object.defineProperty(n,F,{value:n,enumerable:!1,writable:!1,configurable:!0}),n}function n(){for(var t,n,r=new Promise(function(e,r){t=e,n=r}),i=[],a=0;a<arguments.length;a++)i.push(arguments[a]);i.push(function(e,r){e?n(e):t(r)});try{e.apply(this,i)}catch(e){n(e)}return r}return Object.setPrototypeOf(n,Object.getPrototypeOf(e)),F&&Object.defineProperty(n,F,{value:n,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(n,t(e))},e.promisify.custom=F;function I(e,t){if(!e){var n=Error(`Promise was rejected with a falsy value`);n.reason=e,e=n}return t(e)}function L(e){if(typeof e!=`function`)throw TypeError(`The "original" argument must be of type Function`);function n(){for(var t=[],n=0;n<arguments.length;n++)t.push(arguments[n]);var r=t.pop();if(typeof r!=`function`)throw TypeError(`The last argument must be of type Function`);var i=this,a=function(){return r.apply(i,arguments)};e.apply(this,t).then(function(e){process.nextTick(a.bind(null,null,e))},function(e){process.nextTick(I.bind(null,e,a))})}return Object.setPrototypeOf(n,Object.getPrototypeOf(e)),Object.defineProperties(n,t(e)),n}e.callbackify=L})),se=t(((e,t)=>{oe();var{DateTime:r}=n(),i={d:`days`,w:`weeks`,M:`months`,y:`years`,h:`hours`,m:`minutes`,s:`seconds`},a=`yyyy-MM-dd HH:mm:ss`;t.exports={ungroup(e){return e.yg?e.yg:e},unescape(e){let t=RegExp(`\\\\(['"])`,`g`);return e.replace(t,`$1`)},stringToRegExp(e,t){let n=e.replace(/[.*+?^$(){}|[\]\\]/g,`\\$&`);return t===`^`?n=`^`+n:t===`$`&&(n+=`$`),new RegExp(n,`i`)},relDateToAbsolute(e,t,n){if(this.preserveRelativeDates)return{$relativeDate:{op:e,amount:Number(t),unit:i[n]}};let o=r.utc(),s={[i[n]]:Number(t)};return(e===`add`?o.plus(s):o.minus(s)).toFormat(a)},debug(){}}})),Q=t(((e,t)=>{t.exports={}})),$=t(((t,n)=>{var r=(function(){var e=function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},t=[1,5],n=[1,7],r=[1,8],i=[1,6,10],a=[1,9],o=[1,6,8,10],s=[1,24],c=[1,25],l=[1,26],u=[1,27],d=[1,28],f=[1,29],p=[1,30],m=[1,17],h=[1,18],g=[1,19],_=[22,23,24,25,26,30,31],v=[1,6,8,10,18],y=[1,49],b=[6,18],x=[2,17],S=[8,18],C={trace:function(){},yy:{},symbols_:{error:2,expressions:3,expression:4,andCondition:5,OR:6,filterExpr:7,AND:8,LPAREN:9,RPAREN:10,propExpr:11,valueExpr:12,PROP:13,NOT:14,REGEXPOP:15,LBRACKET:16,inExpr:17,RBRACKET:18,allExpr:19,OP:20,VALUE:21,NULL:22,TRUE:23,FALSE:24,NUMBER:25,NOW:26,DATEOP:27,AMOUNT:28,INTERVAL:29,LITERAL:30,STRING:31,ADD:32,SUB:33,CONTAINS:34,STARTSWITH:35,ENDSWITH:36,GT:37,LT:38,GTE:39,LTE:40,$accept:0,$end:1},terminals_:{2:`error`,6:`OR`,8:`AND`,9:`LPAREN`,10:`RPAREN`,13:`PROP`,14:`NOT`,16:`LBRACKET`,18:`RBRACKET`,22:`NULL`,23:`TRUE`,24:`FALSE`,25:`NUMBER`,26:`NOW`,28:`AMOUNT`,29:`INTERVAL`,30:`LITERAL`,31:`STRING`,32:`ADD`,33:`SUB`,34:`CONTAINS`,35:`STARTSWITH`,36:`ENDSWITH`,37:`GT`,38:`LT`,39:`GTE`,40:`LTE`},productions_:[0,[3,1],[4,1],[4,3],[5,1],[5,3],[7,3],[7,2],[11,1],[12,2],[12,1],[12,4],[12,3],[12,3],[12,2],[12,1],[17,3],[17,1],[19,3],[19,3],[21,1],[21,1],[21,1],[21,1],[21,4],[21,1],[21,1],[27,1],[27,1],[15,2],[15,2],[15,2],[20,1],[20,1],[20,1],[20,1],[20,1]],performAction:function(e,t,n,r,i,a,o,s){var c=a.length-1;switch(i){case 1:return r.debug(`expression`,a[c]),r.debug(`opt`,s),a[c]&&a[c].yg?a[c].yg:a[c];case 2:r.debug(`andCondition`,a[c]),this.$=a[c];break;case 3:r.debug(`expression OR andCondition`,a[c-2],a[c]),a[c-2]=a[c-2].$or?a[c-2]:{$or:[r.ungroup(a[c-2])]},a[c-2].$or.push(r.ungroup(a[c])),this.$=a[c-2];break;case 4:r.debug(`filterExpr`,a[c]),this.$=a[c];break;case 5:r.debug(`andCondition AND filterExpr`,a[c-2],a[c]),a[c-2]=a[c-2].$and?a[c-2]:{$and:[r.ungroup(a[c-2])]},a[c-2].$and.push(r.ungroup(a[c])),this.$=a[c-2];break;case 6:r.debug(`LPAREN expression RPAREN`,a[c-1]),this.$={yg:a[c-1]};break;case 7:this.$={[a[c-1]]:a[c]};break;case 8:a[c]=a[c].replace(/:$/,``),a[c]=s.aliases&&s.aliases[a[c]]?s.aliases[a[c]]:a[c],this.$=a[c];break;case 9:this.$={$not:a[c]};break;case 10:this.$={$regex:a[c]};break;case 11:this.$={$nin:a[c-1]};break;case 12:this.$={$in:a[c-1]};break;case 13:this.$={$all:a[c-1]};break;case 14:this.$={},this.$[a[c-1]]=a[c];break;case 15:this.$=a[c];break;case 16:case 18:this.$.push(a[c]);break;case 17:this.$=[a[c]];break;case 19:this.$=[a[c-2],a[c]];break;case 20:this.$=null;break;case 21:this.$=!0;break;case 22:this.$=!1;break;case 23:this.$=parseInt(e);break;case 24:this.$=r.relDateToAbsolute(a[c-2],a[c-1],a[c]);break;case 25:this.$=r.unescape(a[c]);break;case 26:a[c]=a[c].replace(/^'|'$/g,``),this.$=r.unescape(a[c]);break;case 27:this.$=`add`;break;case 28:this.$=`sub`;break;case 29:a[c]=a[c].replace(/^'|'$/g,``),a[c]=r.unescape(a[c]),this.$=r.stringToRegExp(a[c]);break;case 30:a[c]=a[c].replace(/^'|'$/g,``),a[c]=r.unescape(a[c]),this.$=r.stringToRegExp(a[c],`^`);break;case 31:a[c]=a[c].replace(/^'|'$/g,``),a[c]=r.unescape(a[c]),this.$=r.stringToRegExp(a[c],`$`);break;case 32:this.$=`$ne`;break;case 33:this.$=`$gt`;break;case 34:this.$=`$lt`;break;case 35:this.$=`$gte`;break;case 36:this.$=`$lte`;break}},table:[{3:1,4:2,5:3,7:4,9:t,11:6,13:n},{1:[3]},{1:[2,1],6:r},e(i,[2,2],{8:a}),e(o,[2,4]),{4:10,5:3,7:4,9:t,11:6,13:n},{12:11,14:[1,12],15:13,16:[1,14],20:15,21:16,22:s,23:c,24:l,25:u,26:d,30:f,31:p,34:m,35:h,36:g,37:[1,20],38:[1,21],39:[1,22],40:[1,23]},e([14,16,22,23,24,25,26,30,31,34,35,36,37,38,39,40],[2,8]),{5:31,7:4,9:t,11:6,13:n},{7:32,9:t,11:6,13:n},{6:r,10:[1,33]},e(o,[2,7]),e(_,[2,32],{15:34,16:[1,35],34:m,35:h,36:g}),e(o,[2,10]),{17:36,19:37,21:38,22:s,23:c,24:l,25:u,26:d,30:f,31:p},{21:39,22:s,23:c,24:l,25:u,26:d,30:f,31:p},e(o,[2,15]),{31:[1,40]},{31:[1,41]},{31:[1,42]},e(_,[2,33]),e(_,[2,34]),e(_,[2,35]),e(_,[2,36]),e(v,[2,20]),e(v,[2,21]),e(v,[2,22]),e(v,[2,23]),{27:43,32:[1,44],33:[1,45]},e(v,[2,25]),e(v,[2,26]),e(i,[2,3],{8:a}),e(o,[2,5]),e(o,[2,6]),e(o,[2,9]),{17:46,21:47,22:s,23:c,24:l,25:u,26:d,30:f,31:p},{6:y,18:[1,48]},{8:[1,51],18:[1,50]},e(b,x,{8:[1,52]}),e(o,[2,14]),e(o,[2,29]),e(o,[2,30]),e(o,[2,31]),{28:[1,53]},{28:[2,27]},{28:[2,28]},{6:y,18:[1,54]},e(b,x),e(o,[2,12]),{21:55,22:s,23:c,24:l,25:u,26:d,30:f,31:p},e(o,[2,13]),{21:56,22:s,23:c,24:l,25:u,26:d,30:f,31:p},{21:57,22:s,23:c,24:l,25:u,26:d,30:f,31:p},{29:[1,58]},e(o,[2,11]),e(b,[2,16]),e(S,[2,18]),e(S,[2,19]),e(v,[2,24])],defaultActions:{44:[2,27],45:[2,28]},parseError:function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},parse:function(e){var t=this,n=[0],r=[null],i=[],a=this.table,o=``,s=0,c=0,l=0,u=2,d=1,f=i.slice.call(arguments,1),p=Object.create(this.lexer),m={yy:{}};for(var h in this.yy)Object.prototype.hasOwnProperty.call(this.yy,h)&&(m.yy[h]=this.yy[h]);p.setInput(e,m.yy),m.yy.lexer=p,m.yy.parser=this,p.yylloc===void 0&&(p.yylloc={});var g=p.yylloc;i.push(g);var _=p.options&&p.options.ranges;typeof m.yy.parseError==`function`?this.parseError=m.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;_token_stack:var v=function(){var e=p.lex()||d;return typeof e!=`number`&&(e=t.symbols_[e]||e),e};for(var y,b,x,S,C,w={},T,E,D,O;;){if(x=n[n.length-1],this.defaultActions[x]?S=this.defaultActions[x]:(y??=v(),S=a[x]&&a[x][y]),S===void 0||!S.length||!S[0]){var k=``;for(T in O=[],a[x])this.terminals_[T]&&T>u&&O.push(`'`+this.terminals_[T]+`'`);k=p.showPosition?`Parse error on line `+(s+1)+`:
11
+ `+p.showPosition()+`
12
+ Expecting `+O.join(`, `)+`, got '`+(this.terminals_[y]||y)+`'`:`Parse error on line `+(s+1)+`: Unexpected `+(y==d?`end of input`:`'`+(this.terminals_[y]||y)+`'`),this.parseError(k,{text:p.match,token:this.terminals_[y]||y,line:p.yylineno,loc:g,expected:O})}if(S[0]instanceof Array&&S.length>1)throw Error(`Parse Error: multiple actions possible at state: `+x+`, token: `+y);switch(S[0]){case 1:n.push(y),r.push(p.yytext),i.push(p.yylloc),n.push(S[1]),y=null,b?(y=b,b=null):(c=p.yyleng,o=p.yytext,s=p.yylineno,g=p.yylloc,l>0&&l--);break;case 2:if(E=this.productions_[S[1]][1],w.$=r[r.length-E],w._$={first_line:i[i.length-(E||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(E||1)].first_column,last_column:i[i.length-1].last_column},_&&(w._$.range=[i[i.length-(E||1)].range[0],i[i.length-1].range[1]]),C=this.performAction.apply(w,[o,c,s,m.yy,S[1],r,i].concat(f)),C!==void 0)return C;E&&(n=n.slice(0,-1*E*2),r=r.slice(0,-1*E),i=i.slice(0,-1*E)),n.push(this.productions_[S[1]][0]),r.push(w.$),i.push(w._$),D=a[n[n.length-2]][n[n.length-1]],n.push(D);break;case 3:return!0}}return!0}};C.parseError=function(e,t){var n=e.split(`
13
+ `);throw n[0]=`Query Error: unexpected character in filter at char `+(t.loc.first_column+1),Error(n.join(`
14
+ `))},C.lexer=(function(){var e={EOF:1,parseError:function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=``,this.conditionStack=[`INITIAL`],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(`Lexical error on line `+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
15
+ `+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},showPosition:function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
16
+ `+t+`^`},test_match:function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=e[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,r;this._more||(this.yytext=``,this.match=``);for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(e=this.test_match(n,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}else return!1}else if(!this.options.flex)break}return t?(e=this.test_match(t,i[r]),e===!1?!1:e):this._input===``?this.EOF:this.parseError(`Lexical error on line `+(this.yylineno+1)+`. Unrecognized text.
17
+ `+this.showPosition(),{text:``,token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:`INITIAL`},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,n,r){switch(n){case 0:break;case 1:return 22;case 2:return 23;case 3:return 24;case 4:return 13;case 5:return 25;case 6:return 16;case 7:return 18;case 8:return this.pushState(`reldate`),26;case 9:return 33;case 10:return 32;case 11:return 28;case 12:return this.popState(),29;case 13:return 30;case 14:return 31;case 15:return 9;case 16:return 10;case 17:return 6;case 18:return 8;case 19:return 14;case 20:return 39;case 21:return 40;case 22:return 37;case 23:return 38;case 24:return 35;case 25:return 36;case 26:return 34;case 27:return 30}},rules:[/^(?:\s+)/,/^(?:(?:null|NULL|Null)(?!(\\(['"\+\,\(\)\>\<=\[\]\~\^\$])|([^\s'"\+\,\(\)\>\<=\[\]\~]))+))/,/^(?:(?:true|TRUE|True)(?!(\\(['"\+\,\(\)\>\<=\[\]\~\^\$])|([^\s'"\+\,\(\)\>\<=\[\]\~]))+))/,/^(?:(?:false|FALSE|False)(?!(\\(['"\+\,\(\)\>\<=\[\]\~\^\$])|([^\s'"\+\,\(\)\>\<=\[\]\~]))+))/,/^(?:[a-zA-Z_][a-zA-Z0-9_\.]*[:])/,/^(?:[0-9]+(\.[0-9]+)?\b(?![\-]))/,/^(?:\[)/,/^(?:\])/,/^(?:now(?=[-+]\d+[dwMyhms](?:([\+\,\(\)\[\]])|$)))/,/^(?:-)/,/^(?:\+)/,/^(?:\d+)/,/^(?:[dwMyhms])/,/^(?:([^\s'"\+\,\(\)\>\<=\[\]\~\-])(\\(['"\+\,\(\)\>\<=\[\]\~\^\$])|([^\s'"\+\,\(\)\>\<=\[\]\~]))+)/,/^(?:['](\\['"]|[^'"])+?['])/,/^(?:\()/,/^(?:\))/,/^(?:,)/,/^(?:\+)/,/^(?:-)/,/^(?:>=)/,/^(?:<=)/,/^(?:>)/,/^(?:<)/,/^(?:~\^)/,/^(?:~\$)/,/^(?:~)/,/^(?:([a-zA-Z])(?![a-zA-Z'"\,\(\)\>\<=\[\]\~]))/],conditions:{reldate:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27],inclusive:!0},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27],inclusive:!0}}};return e.parseError=function(e,t){var n=e.split(`
18
+ `),r=n[2].indexOf(`^`);throw n[0]=`Query Error: unrecognized text "`+n[1].charAt(r)+`" in filter at char `+(r+1),Error(n.join(`
19
+ `))},e})();function w(){this.yy={}}return w.prototype=C,C.Parser=w,new w})();e!==void 0&&t!==void 0&&(t.parser=r,t.Parser=r.Parser,t.parse=function(){return r.parse.apply(r,arguments)},t.main=function(e){e[1]||(console.log(`Usage: `+e[0]+` FILE`),process.exit(1));var n=Q().readFileSync(Q().normalize(e[1]),`utf8`);return t.parser.parse(n)},n!==void 0&&e.main===n&&t.main(process.argv.slice(1)))})),ce=t((e=>{var t=se(),n=$().parser;n.yy=t,e.lex=e=>{n.lexer.setInput(e);let t=n.lexer.lex(),r=[];for(;t!==n.lexer.EOF;)r.push({token:n.terminals_[t],matched:n.lexer.match}),t=n.lexer.lex();return r},e.parse=(e,r)=>{let i=r||{};t.preserveRelativeDates=i.preserveRelativeDates===!0;try{return n.parse(e,i)}finally{t.preserveRelativeDates=!1}}})),le=t(((e,t)=>{t.exports=ce()}));export{le as t};
@@ -1 +1 @@
1
- import{o as e}from"./framework-provider-CmtnPXIT.js";import{i as t,n,r}from"./hooks-D6EE7BIt.js";import{n as i,r as a}from"./update-queries-C4CnvJaW.js";var o=`OffersResponseType`,s=()=>{let t=e();return()=>t.invalidateQueries({queryKey:[o]})},c=r({dataType:o,path:`/offers/`,defaultSearchParams:{}}),l=t({dataType:o,path:e=>`/offers/${e}/`}),u=n({method:`PUT`,path:e=>`/offers/${e.id}/`,body:e=>({offers:[e]}),updateQueries:{dataType:o,emberUpdateType:`createOrUpdate`,update:a(`offers`)}}),d=n({method:`POST`,path:()=>`/offers/`,body:e=>({offers:[e]}),updateQueries:{dataType:o,emberUpdateType:`createOrUpdate`,update:i(`offers`)}});export{s as a,u as i,c as n,l as r,d as t};
1
+ import{o as e}from"./framework-provider-CFLwK5uS.js";import{i as t,n,r}from"./hooks-CJepWnbB.js";import{n as i,r as a}from"./update-queries-C4CnvJaW.js";var o=`OffersResponseType`,s=()=>{let t=e();return()=>t.invalidateQueries({queryKey:[o]})},c=r({dataType:o,path:`/offers/`,defaultSearchParams:{}}),l=t({dataType:o,path:e=>`/offers/${e}/`}),u=n({method:`PUT`,path:e=>`/offers/${e.id}/`,body:e=>({offers:[e]}),updateQueries:{dataType:o,emberUpdateType:`createOrUpdate`,update:a(`offers`)}}),d=n({method:`POST`,path:()=>`/offers/`,body:e=>({offers:[e]}),updateQueries:{dataType:o,emberUpdateType:`createOrUpdate`,update:i(`offers`)}});export{s as a,u as i,c as n,l as r,d as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{m as r,p as i,v as a}from"./hooks-CJepWnbB.js";import{n as o}from"./dist-Ndy-PuGN.js";import{t as s}from"./use-form-vRjI0Kwk.js";import{a as c,i as l,n as u,r as d,t as f}from"./offers-DMxebaoK.js";import{f as p}from"./dist-Cb5RSHSg.js";import{t as m}from"./inline-Cw-gigDW.js";import{t as h}from"./stack-CIfOAAVf.js";import{t as g}from"./switch-CE2NuMn-.js";import{i as _,n as v,o as y,s as b,t as x}from"./select-xuZAuDyS.js";import{o as S,t as C}from"./use-settings-navigation-BOZcat_V.js";import{a as w,i as T,n as E,o as D,r as O,t as k}from"./field-BQqLTgHM.js";import{a as A,i as j,n as M,r as N,t as P}from"./input-group-DpogNUIt.js";import{n as F,t as I}from"./radio-group-Dsq5ZEbV.js";import{a as L,c as R,n as z,r as B,s as V,t as H}from"./table-DghJxZMH.js";import{t as U}from"./textarea-d9qEkMOP.js";import{$n as W,$r as ee,As as G,Cs as K,Pr as q,Ts as te,Xr as ne,Yr as re,Zr as ie,ai as ae,cr as J,do as oe,ei as se,ni as ce,ri as le,ti as ue,wn as de}from"./index-BOJzlYiz.js";import{a as fe,r as pe}from"./tiers-8iTFjJWg.js";import{n as Y}from"./global-data-provider-CixmTX00.js";import{n as me}from"./confirmation-provider-BEdrnHns.js";import{t as he}from"./brand-icon-09YqFZjV.js";import{o as ge,r as _e}from"./zapier-modal-CcfDZY53.js";import{t as ve}from"./preview-modal-Bkq-tgVm.js";import{t as ye}from"./portal-frame-BLCvF8f-.js";import{t as be}from"./settings-breadcrumbs-DbPGu-Tu.js";import{i as xe,r as Se}from"./currency-Dy4Tc2R2.js";var Ce=(e,t)=>{let{disableBackground:n=!1,name:r,code:i,displayTitle:a=``,displayDescription:o=``,type:s,cadence:c,amount:l=0,duration:u,durationInMonths:d,currency:f=`usd`,status:p,tierId:m,redemptionType:h=`signup`}=e;t=t.replace(/\/$/,``);let g=new URLSearchParams;return g.append(`disableBackground`,`false`),g.append(`name`,encodeURIComponent(r)),g.append(`code`,encodeURIComponent(i)),g.append(`display_title`,encodeURIComponent(a)),g.append(`display_description`,encodeURIComponent(o)),g.append(`type`,encodeURIComponent(s)),g.append(`cadence`,encodeURIComponent(c)),g.append(`amount`,encodeURIComponent(l)),g.append(`duration`,encodeURIComponent(u)),g.append(`duration_in_months`,encodeURIComponent(d)),g.append(`currency`,encodeURIComponent(f)),g.append(`status`,encodeURIComponent(p)),g.append(`tier_id`,encodeURIComponent(m)),g.append(`redemption_type`,encodeURIComponent(h)),n&&g.append(`disableBackground`,`true`),g.append(`admin_toolbar`,`0`),`${t}/?v=modal-portal-offer#/portal/preview/offer?${g.toString()}`},we=e=>{let t=[];return e.forEach(e=>{t.push({label:`${e.name} - Monthly`,value:`${e.id}-month-${e.currency}`}),t.push({label:`${e.name} - Yearly`,value:`${e.id}-year-${e.currency}`})}),t},X=e(t(),1),Z=n();function Te(e){return e.toString().toLowerCase().trim().replace(/\s+/g,`-`).replace(/[^\w-]+/g,``).replace(/--+/g,`-`)}var Ee=191,De=e=>{let{fixedAmount:t=0,percentAmount:n=0,trialAmount:r=0,amount:i=0}=e;switch(e.type){case`fixed`:return t*100;case`percent`:return n;case`trial`:return r;default:return i}},Oe=({tierOptions:e,handleTierChange:t,selectedTier:n,typeOptions:r,durationOptions:i,handleTypeChange:a,handleDurationChange:o,overrides:s,handleAmountTypeChange:c,handleNameInput:l,handleTextAreaInput:u,handleDisplayTitleInput:d,handleDurationInMonthsInput:f,handleAmountInput:m,handleCodeInput:h,clearError:g,errors:S,testId:C,handleTrialAmountInput:N,amountOptions:L})=>{let R=s.cadence===`year`,z=R?i.filter(e=>e.value!==`repeating`):i,[B,V]=(0,X.useState)(0),H=B>40?`text-red`:`text-green`,{siteData:W}=Y(),[ee,G]=(0,X.useState)(!1),K=de(W),te=`${K}${s.code.value}`;return(0,Z.jsx)(`div`,{className:`pt-7`,"data-testid":C,children:(0,Z.jsxs)(w,{className:`mb-10 gap-8`,children:[(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h2`,{className:`mb-4 text-lg`,children:`General`}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Z.jsxs)(k,{"data-invalid":!!S.name||void 0,children:[(0,Z.jsx)(D,{htmlFor:`offer-name`,children:`Offer name`}),(0,Z.jsx)(J,{"aria-invalid":!!S.name||void 0,id:`offer-name`,maxLength:40,placeholder:`Black Friday`,onChange:e=>{l(e),V(e.target.value.length)},onKeyDown:()=>g(`name`)}),S.name?(0,Z.jsx)(T,{children:S.name}):(0,Z.jsx)(O,{children:(0,Z.jsxs)(`div`,{className:`flex justify-between`,children:[(0,Z.jsx)(`span`,{children:`Visible to members on Stripe Checkout page`}),(0,Z.jsxs)(`strong`,{children:[(0,Z.jsx)(`span`,{className:H,children:p(B)}),` / `,p(40)]})]})})]}),(0,Z.jsxs)(k,{"data-invalid":!!S.displayTitle||void 0,children:[(0,Z.jsx)(D,{htmlFor:`offer-display-title`,children:`Display title`}),(0,Z.jsx)(J,{"aria-invalid":!!S.displayTitle||void 0,id:`offer-display-title`,maxLength:Ee,placeholder:`Black Friday Special`,value:s.displayTitle.value,onChange:e=>{d(e)},onKeyDown:()=>g(`displayTitle`)}),S.displayTitle&&(0,Z.jsx)(T,{children:S.displayTitle})]}),(0,Z.jsxs)(k,{children:[(0,Z.jsx)(D,{htmlFor:`offer-display-description`,children:`Display description`}),(0,Z.jsx)(U,{id:`offer-display-description`,maxLength:Ee,placeholder:`Take advantage of this limited-time offer.`,value:s.displayDescription,onChange:e=>{u(e)}})]})]})]}),(0,Z.jsxs)(`section`,{className:`mt-4`,children:[(0,Z.jsx)(`h2`,{className:`mb-4 text-lg`,children:`Details`}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Z.jsx)(I,{"aria-label":`Offer type`,className:`rounded-md border border-border-default p-4`,value:s.type===`trial`?`trial`:`percent`,onValueChange:a,children:r.map(e=>{let t=`offer-type-${e.value}`;return(0,Z.jsxs)(k,{orientation:`horizontal`,children:[(0,Z.jsx)(F,{id:t,value:e.value}),(0,Z.jsxs)(E,{children:[(0,Z.jsx)(D,{className:`cursor-pointer`,htmlFor:t,children:e.title}),(0,Z.jsx)(O,{children:e.description})]})]},e.value)})}),(0,Z.jsxs)(k,{children:[(0,Z.jsx)(D,{children:`Tier — Cadence`}),(0,Z.jsxs)(x,{value:n.value,onValueChange:n=>{let r=e.find(e=>e.value===n);r&&t(r)},children:[(0,Z.jsx)(y,{"aria-label":`Tier — Cadence`,"data-testid":`tier-cadence-select-offers`,children:(0,Z.jsx)(b,{})}),(0,Z.jsx)(v,{children:e.map(e=>(0,Z.jsx)(_,{value:e.value,children:e.label},e.value))})]})]}),s.type!==`trial`&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(k,{"data-invalid":!!S.amount||void 0,children:[(0,Z.jsx)(D,{htmlFor:`offer-amount`,children:`Amount off`}),(0,Z.jsxs)(P,{"data-invalid":!!S.amount||void 0,children:[(0,Z.jsx)(j,{id:`offer-amount`,type:`number`,value:s.type===`fixed`?s.fixedAmount===0?``:s.fixedAmount?.toString():s.percentAmount===0?``:s.percentAmount?.toString(),onChange:e=>{m(e)},onKeyDown:()=>g(`amount`)}),(0,Z.jsx)(M,{align:`inline-end`,children:(0,Z.jsxs)(x,{value:s.type===`percent`?L[0].value:L[1].value,onValueChange:c,children:[(0,Z.jsx)(y,{"aria-label":`Amount type`,className:`h-7 w-20 border-0 bg-transparent px-2 shadow-none focus-visible:ring-0`,"data-testid":`amount-type-select-offers`,children:(0,Z.jsx)(b,{})}),(0,Z.jsx)(v,{align:`end`,children:L.map(e=>(0,Z.jsx)(_,{value:e.value,children:e.label},e.value))})]})})]}),S.amount&&(0,Z.jsx)(T,{children:S.amount})]}),(0,Z.jsxs)(k,{children:[(0,Z.jsx)(D,{children:`Duration`}),(0,Z.jsxs)(x,{value:s.duration,onValueChange:e=>{g(`durationInMonths`),o(e)},children:[(0,Z.jsx)(y,{"aria-label":`Duration`,"data-testid":`duration-select-offers`,children:(0,Z.jsx)(b,{})}),(0,Z.jsx)(v,{children:z.map(e=>(0,Z.jsx)(_,{value:e.value,children:e.label},e.value))})]})]}),s.duration===`repeating`&&!R&&(0,Z.jsx)(`div`,{className:`-mt-4`,children:(0,Z.jsxs)(k,{"data-invalid":!!S.durationInMonths||void 0,children:[(0,Z.jsxs)(P,{"data-invalid":!!S.durationInMonths||void 0,children:[(0,Z.jsx)(j,{"aria-invalid":!!S.durationInMonths||void 0,"data-testid":`duration-months-input`,type:`number`,value:s.durationInMonths===0?``:String(s.durationInMonths),onChange:e=>{f(e)},onKeyDown:()=>g(`durationInMonths`)}),(0,Z.jsx)(M,{align:`inline-end`,children:(0,Z.jsx)(A,{children:s.durationInMonths===1?`month`:`months`})})]}),S.durationInMonths&&(0,Z.jsx)(T,{children:S.durationInMonths})]})})]}),s.type===`trial`&&(0,Z.jsxs)(k,{"data-invalid":!!S.amount||void 0,children:[(0,Z.jsx)(D,{htmlFor:`trial-duration`,children:`Trial duration`}),(0,Z.jsx)(J,{"aria-invalid":!!S.amount||void 0,id:`trial-duration`,type:`number`,value:s.trialAmount?.toString(),onChange:e=>{N(e)},onKeyDown:()=>g(`amount`)}),S.amount&&(0,Z.jsx)(T,{children:S.amount})]}),(0,Z.jsxs)(k,{"data-invalid":!!S.code||void 0,children:[(0,Z.jsx)(D,{htmlFor:`offer-code`,children:`Offer code`}),(0,Z.jsx)(J,{"aria-invalid":!!S.code||void 0,id:`offer-code`,placeholder:`black-friday`,value:s.code.value,onChange:e=>{h(e)},onKeyDown:()=>g(`code`)}),S.code?(0,Z.jsx)(T,{children:S.code}):s.code.value!==``&&(0,Z.jsx)(O,{children:(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsxs)(`div`,{children:[K,(0,Z.jsx)(`span`,{className:`font-bold`,children:s.code.value})]}),(0,Z.jsx)(q,{className:`h-auto p-0 text-sm text-green hover:text-green`,size:`sm`,type:`button`,variant:`link`,onClick:async()=>{await navigator.clipboard.writeText(te),G(!0),setTimeout(()=>G(!1),2e3)},children:ee?`Copied`:`Copy`})]})})]})]})]})]})})},Q=e=>{let[t,n,r]=e.split(`-`);if(!t||!n||!r)throw Error(`Invalid input format. Expected format is: id-period-currency`);return{id:t,period:n,currency:r}},ke=()=>{let{siteData:e}=Y(),t=[{title:`Discount`,description:`Offer a special reduced price`,value:`percent`},{title:`Free trial`,description:`Give free access for a limited time`,value:`trial`}],n=[{value:`once`,label:`First-payment`},{value:`repeating`,label:`Multiple-months`},{value:`forever`,label:`Forever`}],[r,i]=(0,X.useState)(``),{updateRoute:c}=C(),{data:{tiers:l}={}}=fe(),d=pe(l||[]),p=we(d),{mutateAsync:m}=f(),[h,g]=(0,X.useState)({tier:p[0]||{},dataset:{id:p[0]?.value?Q(p[0]?.value).id:``,period:p[0]?.value?Q(p[0]?.value).period:``,currency:p[0]?.value?Q(p[0]?.value).currency:``}}),{data:{offers:_=[]}={}}=u(),{formState:v,updateForm:y,handleSave:b,saveState:x,okProps:S,validate:w,errors:T,clearError:E}=s({initialState:{disableBackground:!1,name:``,code:{isDirty:!1,value:``},displayTitle:{isDirty:!1,value:``},displayDescription:``,type:`percent`,cadence:h?.dataset?.period||``,amount:0,duration:`once`,durationInMonths:1,currency:h?.dataset?.currency||`USD`,status:`active`,tierId:h?.dataset?.id||``,trialAmount:7,fixedAmount:0,percentAmount:0},onSave:async()=>{let e=v.type===`trial`?`trial`:v.duration,t={name:v.name,code:v.code.value,display_title:v.displayTitle.value,display_description:v.displayDescription,cadence:v.cadence,amount:De(v)||0,duration:e,...e===`repeating`?{duration_in_months:v.durationInMonths}:{},currency:v.currency,status:v.status,redemption_type:`signup`,tier:{id:v.tierId},type:v.type,currency_restriction:!1},n=await m(t);n&&n.offers&&n.offers.length>0&&c(`offers/success/${n.offers[0].id}`)},onSaveError:()=>{},onValidate:()=>{let e={};return!v.name&&v.name.length===0&&(e.name=`Name is required`),!v.code.value&&v.code.value.length===0&&(e.code=`Code is required`),!v.displayTitle.value&&v.displayTitle.value.length===0&&(e.displayTitle=`Display title is required`),v.type===`percent`&&v.percentAmount===0&&(e.amount=`Enter an amount greater than 0.`),v.type===`percent`&&(v.percentAmount<1||v.percentAmount>100)&&(e.amount=`Enter an amount between 1 and 100%.`),(v.type===`fixed`&&v.fixedAmount===0||v.type===`fixed`&&v.fixedAmount<1)&&(e.amount=`Enter an amount greater than 0.`),v.type===`trial`&&v.trialAmount===0&&(e.amount=`Enter an amount greater than 0.`),v.type===`trial`&&v.trialAmount<1&&(e.amount=`Free trial must be at least 1 day.`),v.type!==`trial`&&v.duration===`repeating`&&(!Number.isInteger(v.durationInMonths)||v.durationInMonths<1)&&(e.durationInMonths=`Enter a whole number of months (1 or more).`),e},savingDelay:500}),D=[{value:`percent`,label:`%`},{value:`fixed`,label:v.currency}],O=e=>{let t=Q(e.value),n=t.period===`year`;g({tier:e,dataset:t}),y(e=>({...e,cadence:t.period,currency:t.currency,tierId:t.id,duration:n&&e.duration===`repeating`?`once`:e.duration})),n&&E(`durationInMonths`)},k=e=>{e===`trial`&&(E(`amount`),E(`durationInMonths`)),y(t=>({...t,type:e}))},A=e=>{y(t=>({...t,type:e===`percent`?`percent`:`fixed`}))},j=e=>{let t=e.target;v.type===`fixed`?y(e=>({...e,fixedAmount:Number(t.value)})):v.type===`percent`?y(e=>({...e,percentAmount:Number(t.value)})):y(e=>({...e,amount:Number(t.value)}))},M=e=>{let t=e.target,n=Number(t.value);y(e=>({...e,durationInMonths:Number.isNaN(n)?0:n}))},N=e=>{let t=e.target.value;y(e=>{let n={...e};return n.name=t,e.code.isDirty||(E(`code`),n.code={...e.code,value:Te(t)}),e.displayTitle.isDirty||(E(`displayTitle`),n.displayTitle={...e.displayTitle,value:t}),n})},P=e=>{let t=e.target;y(e=>({...e,displayTitle:{...e.displayTitle,isDirty:!0,value:t.value}}))},F=e=>{let t=e.target;y(e=>({...e,displayDescription:t.value}))},I=e=>{let t=e.target;y(e=>({...e,trialAmount:Number(t.value)}))},L=e=>{y(t=>({...t,duration:e}))},R=e=>{let t=e.target;y(e=>({...e,code:{...e.code,isDirty:!0,value:t.value}}))},z=()=>{_.length>0?c(`offers/edit`):c(`offers`)},B=(0,X.useMemo)(()=>({name:v.name||``,code:v.code.value||``,displayTitle:v.displayTitle.value||``,displayDescription:v.displayDescription||``,type:v.type||`percent`,cadence:v.cadence||`month`,amount:De(v)||0,duration:v.type===`trial`?`trial`:v.duration||`once`,durationInMonths:v.durationInMonths||0,currency:v.currency||`USD`,status:v.status||`active`,tierId:v.tierId||d[0]?.id,redemptionType:`signup`}),[v,d]);(0,X.useEffect)(()=>{let t=Ce(B,e.url);i(t)},[v,e.url,v.type,B]);let V=(0,Z.jsx)(Oe,{amountOptions:D,clearError:E,durationOptions:n,errors:T,handleAmountInput:j,handleAmountTypeChange:A,handleCodeInput:R,handleDisplayTitleInput:P,handleDurationChange:L,handleDurationInMonthsInput:M,handleNameInput:N,handleTextAreaInput:F,handleTierChange:O,handleTrialAmountInput:I,handleTypeChange:k,overrides:v,selectedTier:h.tier,testId:`add-offer-sidebar`,tierOptions:p,typeOptions:t,validate:w}),H=(0,Z.jsx)(ye,{href:r||``,portalParent:`offers`});return(0,Z.jsx)(ve,{backDropClick:!1,cancelLabel:`Cancel`,dirty:x===`unsaved`,height:`full`,okLabel:`Publish`,okVariant:S.variant,preview:H,previewToolbar:!1,sidebar:V,size:`lg`,testId:`add-offer-modal`,title:`Offer`,width:1140,onCancel:z,onClose:()=>{c(`offers`)},onOk:async()=>{if(w(),!Object.values(T).every(e=>!e)){o.dismiss(),o.info(`Can't save offer`,{description:`Make sure you filled all required fields`});return}try{if(await b({force:!0}))return}catch(e){let t;e instanceof a&&e.data&&e.data.errors[0]&&(t=e.data.errors[0].context||e.data.errors[0].message),o.dismiss(),t&&o.error(`Can't save offer`,{description:t||`Please try again later`})}}})},Ae=e=>new Date(e).toLocaleDateString(`default`,{year:`numeric`,month:`short`,day:`2-digit`}),je=e=>{let t=`${i().adminRoot}#/members`,n=`offer_redemptions:[${e.join(`,`)}]`;return`${t}?filter=${encodeURIComponent(n)}`},Me=e=>je([e]),Ne=({amount:e,duration:t})=>e===100&&t===`repeating`,Pe=(e,t)=>`Retention ${e} (${t})`,Fe=({amount:e,duration:t,durationInMonths:n})=>Ne({amount:e,duration:t})?`${n} ${n===1?`month`:`months`} free`:t===`once`?`${e}% off once`:t===`repeating`?`${e}% off for ${n} mo`:`${e}% off forever`,Ie=(e,t)=>{let n=t.trim(),r=Fe(e),i=Pe(r,n);if(i.length<=40)return i;let a=i.length-40,o=Math.max(3,n.length-a);return Pe(r,n.slice(0,o))};function Le(e){return new Date(e).toLocaleDateString(`default`,{year:`numeric`,month:`short`,day:`2-digit`})}var Re=({clearError:e,errors:t,offer:n,updateOffer:i})=>{let{siteData:a}=Y(),[s,c]=(0,X.useState)(!1),u=r(),{confirm:d}=me(),{mutateAsync:f}=l(),[m,h]=(0,X.useState)(n?.name.length||0),g=m>40?`text-red`:`text-green`,{updateRoute:_}=C();(0,X.useEffect)(()=>{n?.name&&h(n?.name.length)},[n?.name]);let v=de(a),y=`${v}${n?.code}`,b=async()=>{await navigator.clipboard.writeText(y),c(!0),setTimeout(()=>c(!1),2e3)},x=async()=>{n?.status===`active`?d({title:`Archive offer`,prompt:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`p`,{children:`New members will no longer be able to subscribe using this offer.`}),(0,Z.jsxs)(`p`,{children:[`All members that previously redeemed `,(0,Z.jsx)(`strong`,{children:n?.name}),` will remain unchanged.`]})]}),okLabel:`Archive`,okVariant:`destructive`,onOk:async e=>{try{await f({...n,status:`archived`}),e?.remove(),o.success(`Offer archived`),_(`offers/edit`)}catch(e){u(e)}}}):d({title:`Reactivate offer`,prompt:(0,Z.jsx)(Z.Fragment,{children:(0,Z.jsxs)(`p`,{children:[`Reactivating `,(0,Z.jsx)(`strong`,{children:n?.name}),` will allow new members to subscribe using this offer. Existing members will remain unchanged.`]})}),okLabel:`Reactivate`,onOk:async e=>{try{await f({...n,status:`active`}),e?.remove(),o.success(`Offer reactivated`),_(`offers/edit`)}catch(e){u(e)}}})};return(0,Z.jsxs)(`div`,{className:`flex grow flex-col pt-2`,children:[(0,Z.jsxs)(w,{className:`mb-10 grow gap-8`,children:[(0,Z.jsx)(`section`,{children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-5 rounded-md border border-grey-300 p-4 pb-3.5 dark:border-grey-800`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Z.jsx)(`span`,{className:`text-sm leading-none font-semibold text-grey-700`,children:`Created on`}),(0,Z.jsx)(`span`,{children:Le(n?.created_at?n.created_at:``)})]}),(0,Z.jsxs)(`div`,{className:`flex items-end justify-between`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Z.jsx)(`span`,{className:`text-sm leading-none font-semibold text-grey-700`,children:`Performance`}),(0,Z.jsxs)(`span`,{children:[p(n?.redemption_count||0),` `,n?.redemption_count===1?`redemption`:`redemptions`]})]}),n?.redemption_count>0&&n?.last_redeemed?(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Z.jsx)(`span`,{className:`text-sm leading-none font-semibold text-grey-700`,children:`Last redemption`}),(0,Z.jsx)(`span`,{children:Le(n?.last_redeemed)})]}):null]}),n?.redemption_count>0?(0,Z.jsx)(`a`,{className:`font-semibold text-green`,href:Me(n?.id),children:`See members →`}):null]})]})}),(0,Z.jsxs)(`section`,{className:`mt-2`,children:[(0,Z.jsx)(`h2`,{className:`mb-4 text-lg`,children:`General`}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Z.jsxs)(k,{"data-invalid":!!t.name||void 0,children:[(0,Z.jsx)(D,{htmlFor:`offer-name`,children:`Offer name`}),(0,Z.jsx)(J,{"aria-invalid":!!t.name||void 0,id:`offer-name`,maxLength:40,placeholder:`Black Friday`,value:n?.name??``,onChange:e=>{h(e.target.value.length),i({name:e.target.value})},onKeyDown:()=>e(`name`)}),t.name?(0,Z.jsx)(T,{children:t.name}):(0,Z.jsx)(O,{children:(0,Z.jsxs)(`div`,{className:`flex justify-between`,children:[(0,Z.jsx)(`span`,{children:`Visible to members on Stripe Checkout page`}),(0,Z.jsxs)(`strong`,{children:[(0,Z.jsx)(`span`,{className:g,children:p(m)}),` / `,p(40)]})]})})]}),(0,Z.jsxs)(k,{className:`group`,"data-invalid":!!t.code||void 0,children:[(0,Z.jsx)(D,{htmlFor:`offer-code`,children:`Offer code`}),(0,Z.jsxs)(P,{"data-invalid":!!t.code||void 0,children:[(0,Z.jsx)(j,{"aria-invalid":!!t.code||void 0,id:`offer-code`,placeholder:`black-friday`,value:n?.code??``,onChange:e=>i({code:e.target.value}),onKeyDown:()=>e(`code`)}),n?.code!==``&&(0,Z.jsx)(M,{align:`inline-end`,children:(0,Z.jsx)(N,{onClick:b,children:s?`Copied!`:`Copy link`})})]}),t.code?(0,Z.jsx)(T,{children:t.code}):n?.code!==``&&(0,Z.jsxs)(O,{className:`truncate`,children:[v,(0,Z.jsx)(`span`,{className:`font-bold text-foreground`,children:n?.code})]})]}),(0,Z.jsxs)(k,{"data-invalid":!!t.displayTitle||void 0,children:[(0,Z.jsx)(D,{htmlFor:`offer-display-title`,children:`Display title`}),(0,Z.jsx)(J,{"aria-invalid":!!t.displayTitle||void 0,id:`offer-display-title`,placeholder:`Black Friday Special`,value:n?.display_title??``,onChange:e=>i({display_title:e.target.value}),onKeyDown:()=>e(`displayTitle`)}),t.displayTitle&&(0,Z.jsx)(T,{children:t.displayTitle})]}),(0,Z.jsxs)(k,{children:[(0,Z.jsx)(D,{htmlFor:`offer-display-description`,children:`Display description`}),(0,Z.jsx)(U,{id:`offer-display-description`,placeholder:`Take advantage of this limited-time offer.`,value:n?.display_description??``,onChange:e=>i({display_description:e.target.value})})]})]})]})]}),(0,Z.jsx)(`div`,{className:`mb-2`,children:n?.status===`active`?(0,Z.jsx)(q,{className:`h-auto p-0 text-destructive hover:text-destructive`,type:`button`,variant:`link`,onClick:x,children:`Archive offer`}):(0,Z.jsx)(q,{className:`h-auto p-0 text-green hover:text-green`,type:`button`,variant:`link`,onClick:x,children:`Reactivate offer`})})]})},ze=({id:e})=>{let{siteData:t}=Y(),{updateRoute:n}=C(),i=r(),{mutateAsync:c}=l(),[u,f]=(0,X.useState)(``),{data:{offers:p=[]}={}}=d(e||``),{formState:m,saveState:h,updateForm:g,setFormState:_,handleSave:v,validate:y,errors:b,clearError:x,okProps:S}=s({initialState:p[0],savingDelay:500,onSave:async()=>{await c(m)},onSaveError:i,onValidate:()=>{let e={};return m?.name||(e.name=`Name is required`),m?.display_title||(e.displayTitle=`Display title is required`),m?.code||(e.code=`Please enter a code`),e}});(0,X.useEffect)(()=>{_(()=>p[0])},[_,p]);let w=(0,Z.jsx)(Re,{clearError:x,errors:b,offer:m,updateOffer:e=>{g(t=>({...t,...e}))},validate:y});(0,X.useEffect)(()=>{let e=Ce({name:m?.name||``,code:m?.code||``,displayTitle:m?.display_title||``,displayDescription:m?.display_description||``,type:m?.type||``,cadence:m?.cadence||``,amount:m?.amount,duration:m?.duration||``,durationInMonths:m?.duration_in_months||0,currency:m?.currency||``,status:m?.status||``,tierId:m?.tier?.id||``,redemptionType:`signup`},t.url);f(e)},[m,t]);let T=(0,Z.jsx)(ye,{href:u||``,portalParent:`offers`}),E=()=>{n(`offers/edit`)};return p?(0,Z.jsx)(ve,{backDropClick:!1,cancelLabel:`Cancel`,dirty:h===`unsaved`,height:`full`,okLabel:S.label||`Save`,okVariant:S.variant,preview:T,previewToolbarBreadcrumbs:(0,Z.jsx)(be,{current:m?.name||`Offer`,label:`Offers`,onBack:E}),sidebar:w,size:`lg`,testId:`offer-update-modal`,title:`Offer`,width:1140,onCancel:E,onClose:()=>{n(`offers`)},onOk:async()=>{try{if(await v({force:!0}))return}catch(e){let t;e instanceof a&&e.data&&e.data.errors[0]&&(t=e.data.errors[0].context||e.data.errors[0].message),o.dismiss(),t&&o.error(`Can't save offer`,{description:`Please try again later`})}}}):null},Be=[{title:`Percentage discount`,description:`Offer a special reduced price`,value:`percent`},{title:`Free month(s)`,description:`Give free access for a limited time`,value:`free_months`}],Ve=[{value:`once`,label:`First-payment`},{value:`repeating`,label:`Multiple-months`},{value:`forever`,label:`Forever`}],He=191,Ue=99,We=`Enter a whole number of months between 1 and ${Ue}.`,Ge=e=>Math.max(1,Number.isFinite(e)?Math.trunc(e):0),Ke=({type:e,percentAmount:t,freeMonths:n,lastPercentAmount:r,lastFreeMonths:i})=>e===`free_months`?n>0?n:i:t>0?t:r,qe=(e=`monthly`)=>({enabled:!1,displayTitle:``,displayDescription:``,type:e===`yearly`?`percent`:`free_months`,percentAmount:20,duration:`once`,durationInMonths:1,freeMonths:1}),Je=e=>e.type===`percent`&&e.amount===100&&e.duration===`repeating`,Ye=(e,t=`monthly`)=>{let n=qe(t);if(!e)return n;let r=Je(e),i=e.type===`percent`&&!r,a=e.duration===`repeating`&&e.duration_in_months?e.duration_in_months:n.durationInMonths;return{enabled:e.status===`active`,displayTitle:e.display_title||``,displayDescription:e.display_description||``,type:r?`free_months`:`percent`,percentAmount:i?e.amount:n.percentAmount,duration:i?e.duration:n.duration,durationInMonths:a,freeMonths:r&&e.duration_in_months||n.freeMonths}},Xe=({formState:e,lastPercentAmount:t,lastFreeMonths:n})=>{let r=Ke({type:e.type,percentAmount:e.percentAmount,freeMonths:e.freeMonths,lastPercentAmount:t,lastFreeMonths:n});if(e.type===`free_months`)return{type:`percent`,amount:100,duration:`repeating`,durationInMonths:Ge(r)};let i=e.duration;return{type:`percent`,amount:r,duration:i,durationInMonths:i===`repeating`?Ge(e.durationInMonths):0}},Ze=e=>{if(!e)return null;let t=e.duration_in_months??0;return{type:`percent`,amount:e.amount,duration:e.duration,durationInMonths:t}},Qe=e=>e?`${e.type}:${e.amount}:${e.duration}:${e.durationInMonths}`:``,$e=e=>Number.isInteger(e)&&e>0&&e<=Ue,et=(e,t)=>e.displayTitle!==t.displayTitle||e.displayDescription!==t.displayDescription||e.type!==t.type||e.percentAmount!==t.percentAmount||e.duration!==t.duration||e.durationInMonths!==t.durationInMonths||e.freeMonths!==t.freeMonths,tt=({formState:e,updateForm:t,clearError:n,errors:r,cadence:i,lastRedeemed:a,membersFilterUrl:o,redemptions:s})=>{let c=i===`yearly`?Ve.filter(e=>e.value!==`repeating`):Ve;return(0,Z.jsx)(`div`,{className:`flex grow flex-col pt-2`,children:(0,Z.jsxs)(w,{className:`mb-10 grow gap-8`,children:[(0,Z.jsx)(`section`,{children:(0,Z.jsx)(`div`,{className:`flex flex-col gap-5 rounded-md border border-grey-300 p-4 pb-3.5 dark:border-grey-800`,children:(0,Z.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:(0,Z.jsxs)(`div`,{className:`flex items-end justify-between`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Z.jsx)(`span`,{className:`text-sm leading-none font-semibold text-grey-700`,children:`Performance`}),(0,Z.jsxs)(`span`,{children:[p(s),` `,s===1?`redemption`:`redemptions`]})]}),s>0&&a?(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Z.jsx)(`span`,{className:`text-sm leading-none font-semibold text-grey-700`,children:`Last redemption`}),(0,Z.jsx)(`span`,{children:Ae(a)})]}):null]}),s>0&&o?(0,Z.jsx)(`a`,{className:`font-semibold text-green`,href:o,children:`See members →`}):null]})})})}),(0,Z.jsx)(`section`,{className:`mt-2`,children:(0,Z.jsxs)(k,{orientation:`horizontal`,children:[(0,Z.jsxs)(E,{children:[(0,Z.jsxs)(D,{htmlFor:`${i}-retention-enabled`,children:[`Enable `,i,` retention`]}),(0,Z.jsx)(O,{children:i===`monthly`?`Applied to monthly plans`:`Applied to annual plans`})]}),(0,Z.jsx)(g,{checked:e.enabled,id:`${i}-retention-enabled`,onCheckedChange:e=>t(t=>({...t,enabled:e}))})]})}),e.enabled&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`section`,{className:`mt-2`,children:[(0,Z.jsx)(`h2`,{className:`mb-4 text-lg`,children:`General`}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Z.jsxs)(k,{children:[(0,Z.jsx)(D,{htmlFor:`retention-display-title`,children:`Display title`}),(0,Z.jsx)(J,{id:`retention-display-title`,maxLength:He,placeholder:`Before you go`,value:e.displayTitle,onChange:e=>{t(t=>({...t,displayTitle:e.target.value}))}})]}),(0,Z.jsxs)(k,{children:[(0,Z.jsx)(D,{htmlFor:`retention-display-description`,children:`Display description`}),(0,Z.jsx)(U,{id:`retention-display-description`,maxLength:He,placeholder:`We'd hate to see you leave. How about a special offer to stay?`,value:e.displayDescription,onChange:e=>{t(t=>({...t,displayDescription:e.target.value}))}})]})]})]}),(0,Z.jsxs)(`section`,{className:`mt-4`,children:[(0,Z.jsx)(`h2`,{className:`mb-4 text-lg`,children:`Details`}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[i===`monthly`&&(0,Z.jsx)(I,{"aria-label":`${i} retention offer type`,className:`rounded-md border border-border-default p-4`,value:e.type,onValueChange:e=>{n(`amount`),n(`durationInMonths`),t(t=>({...t,type:e}))},children:Be.map(e=>{let t=`${i}-retention-type-${e.value}`;return(0,Z.jsxs)(k,{orientation:`horizontal`,children:[(0,Z.jsx)(F,{id:t,value:e.value}),(0,Z.jsxs)(E,{children:[(0,Z.jsx)(D,{className:`cursor-pointer`,htmlFor:t,children:e.title}),(0,Z.jsx)(O,{children:e.description})]})]},e.value)})}),e.type===`percent`&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(k,{"data-invalid":!!r.amount||void 0,children:[(0,Z.jsx)(D,{htmlFor:`retention-amount`,children:`Amount off`}),(0,Z.jsxs)(P,{"data-invalid":!!r.amount||void 0,children:[(0,Z.jsx)(j,{"aria-invalid":!!r.amount||void 0,id:`retention-amount`,type:`number`,value:e.percentAmount===0?``:String(e.percentAmount),onChange:e=>{let n=Number(e.target.value),r=Number.isNaN(n)?0:n;t(e=>({...e,percentAmount:r}))},onKeyDown:()=>n(`amount`)}),(0,Z.jsx)(M,{align:`inline-end`,children:(0,Z.jsx)(A,{children:`%`})})]}),r.amount&&(0,Z.jsx)(T,{children:r.amount})]}),(0,Z.jsxs)(k,{children:[(0,Z.jsx)(D,{children:`Duration`}),(0,Z.jsxs)(x,{value:e.duration,onValueChange:e=>{n(`durationInMonths`),t(t=>({...t,duration:e}))},children:[(0,Z.jsx)(y,{"aria-label":`Duration`,children:(0,Z.jsx)(b,{})}),(0,Z.jsx)(v,{children:c.map(e=>(0,Z.jsx)(_,{value:e.value,children:e.label},e.value))})]})]}),e.duration===`repeating`&&(0,Z.jsx)(`div`,{className:`-mt-4`,children:(0,Z.jsxs)(k,{"data-invalid":!!r.durationInMonths||void 0,children:[(0,Z.jsxs)(P,{"data-invalid":!!r.durationInMonths||void 0,children:[(0,Z.jsx)(j,{"aria-invalid":!!r.durationInMonths||void 0,"data-testid":`duration-months-input`,type:`number`,value:e.durationInMonths===0?``:String(e.durationInMonths),onChange:e=>{let n=Number(e.target.value);t(e=>({...e,durationInMonths:Number.isNaN(n)?0:n}))},onKeyDown:()=>n(`durationInMonths`)}),(0,Z.jsx)(M,{align:`inline-end`,children:(0,Z.jsx)(A,{children:e.durationInMonths===1?`month`:`months`})})]}),r.durationInMonths&&(0,Z.jsx)(T,{children:r.durationInMonths})]})})]}),e.type===`free_months`&&(0,Z.jsxs)(k,{"data-invalid":!!r.amount||void 0,children:[(0,Z.jsx)(D,{htmlFor:`retention-free-months`,children:`Free months`}),(0,Z.jsxs)(P,{"data-invalid":!!r.amount||void 0,children:[(0,Z.jsx)(j,{"aria-invalid":!!r.amount||void 0,id:`retention-free-months`,type:`number`,value:e.freeMonths===0?``:String(e.freeMonths),onChange:e=>{let n=Number(e.target.value);t(e=>({...e,freeMonths:Number.isNaN(n)?0:n}))},onKeyDown:()=>n(`amount`)}),(0,Z.jsx)(M,{align:`inline-end`,children:(0,Z.jsx)(A,{children:e.freeMonths===1?`month`:`months`})})]}),r.amount&&(0,Z.jsx)(T,{children:r.amount})]})]})]})]})]})})},nt=({id:e})=>{let{updateRoute:t}=C(),{siteData:n}=Y(),{data:{tiers:r=[]}={}}=fe(),{data:{offers:i=[]}={},isFetched:d,isFetching:p}=u(),{mutateAsync:m}=f(),{mutateAsync:h}=l(),g=c(),[_,v]=(0,X.useState)(``),y=e===`monthly`?`monthly`:`yearly`,b=y===`monthly`?`Monthly retention`:`Yearly retention`,x=y===`monthly`?`month`:`year`,S=pe(r||[]),w=(0,X.useMemo)(()=>i.filter(e=>e.redemption_type===`retention`&&e.cadence===x).sort((e,t)=>{let n=e.created_at?new Date(e.created_at).getTime():0;return(t.created_at?new Date(t.created_at).getTime():0)-n}),[i,x]),T=(0,X.useMemo)(()=>w.find(e=>e.status===`active`)||null,[w]),E=w[0]||null,D=T||E,O=(0,X.useMemo)(()=>w.reduce((e,t)=>e+(t.redemption_count||0),0),[w]),k=(0,X.useMemo)(()=>w.map(e=>e.id),[w]),A=(0,X.useMemo)(()=>w.map(e=>e.last_redeemed).filter(e=>!!e).sort((e,t)=>new Date(t).getTime()-new Date(e).getTime())[0]||null,[w]),j=(0,X.useMemo)(()=>O===0||k.length===0?null:je(k),[k,O]),[M,N]=(0,X.useState)(20),[P,F]=(0,X.useState)(1),[I,L]=(0,X.useState)(null),{formState:R,setFormState:z,updateForm:B,handleSave:V,saveState:H,okProps:U,errors:W,clearError:ee}=s({initialState:qe(y),savingDelay:500,onSave:async()=>{let e=!1,t=Xe({formState:R,lastPercentAmount:M,lastFreeMonths:P}),n=Qe(Ze(D))!==Qe(t),r=R.enabled?`active`:`archived`,i=R.displayTitle||``,a=R.displayDescription||``,o=D?i!==(D.display_title||``)||a!==(D.display_description||``):i!==``||a!==``,s=qe(y),c=!R.enabled&&!D&&et(R,s),l=async n=>{let r=crypto.getRandomValues(new Uint32Array(1))[0].toString(16).padStart(8,`0`),o=Ie(t,r);await m({name:o,code:r,display_title:i,display_description:a,cadence:x,amount:t.amount,duration:t.duration,duration_in_months:t.duration===`repeating`?t.durationInMonths:null,currency:null,status:n,redemption_type:`retention`,tier:null,type:t.type,currency_restriction:!1}),e=!0},u=async()=>{e&&await g()};if(!(!D&&!R.enabled&&!c)){if(n){!R.enabled&&T&&(await h({...T,status:`archived`}),e=!0),await l(r),await u();return}if(D){let t=D.status!==r;(o||t)&&(await h({...D,display_title:i,display_description:a,status:r}),e=!0),await u();return}(R.enabled||c)&&await l(r),await u()}},onSaveError:e=>{let t=`Please try again later`;e instanceof a&&e.data&&e.data.errors[0]&&(t=e.data.errors[0].context||e.data.errors[0].message||t),o.dismiss(),o.error(`Failed to save offer`,{description:t})},onValidate:()=>{let e={};return R.enabled?(R.type===`percent`&&((R.percentAmount<1||R.percentAmount>100)&&(e.amount=`Enter an amount between 1 and 100%.`),R.duration===`repeating`&&!$e(R.durationInMonths)&&(e.durationInMonths=We)),R.type===`free_months`&&($e(R.freeMonths)||(e.amount=We)),e):e}}),G=`${e}:${D?.id||`none`}`;(0,X.useEffect)(()=>{!d||p||H===`unsaved`||I===G||(z(()=>Ye(D,y)),L(G))},[y,G,D,d,I,p,H,z]),(0,X.useEffect)(()=>{R.percentAmount>0&&N(R.percentAmount)},[R.percentAmount]),(0,X.useEffect)(()=>{R.freeMonths>0&&F(R.freeMonths)},[R.freeMonths]);let K=()=>{t(`offers/edit`)},q=(0,Z.jsx)(tt,{cadence:y,clearError:ee,errors:W,formState:R,lastRedeemed:A,membersFilterUrl:j,redemptions:O,updateForm:B}),te=async()=>{try{await V({force:!0})&&K()}catch{}},ne=(0,X.useMemo)(()=>{let e=Xe({formState:R,lastPercentAmount:M,lastFreeMonths:P}),t=S.find(e=>x===`month`?e.monthly_price:e.yearly_price);return{enabled:R.enabled,name:`${y} retention`,code:`${y}-retention`,displayTitle:R.displayTitle||``,displayDescription:R.displayDescription||``,type:e.type,cadence:x,amount:e.amount,duration:e.duration,durationInMonths:e.durationInMonths,currency:``,status:`active`,tierId:t?.id||``,redemptionType:`retention`}},[S,y,R,P,M,x]);(0,X.useEffect)(()=>{if(!n.url){v(``);return}let e=Ce(ne,n.url);v(e)},[ne,n.url]);let re=(0,Z.jsx)(ye,{href:_||``,portalParent:`offers`});return(0,Z.jsx)(ve,{backDropClick:!1,cancelLabel:`Cancel`,dirty:H===`unsaved`,height:`full`,okLabel:U.label||`Save`,okVariant:U.variant,preview:re,previewToolbarBreadcrumbs:(0,Z.jsx)(be,{current:b,label:`Offers`,onBack:K}),sidebar:q,size:`lg`,testId:`retention-offer-modal`,title:`Offer`,width:1140,onCancel:K,onClose:()=>t(`offers`),onOk:te})},rt=({id:e})=>{let{updateRoute:t}=C(),{data:{offers:n=[]}={}}=d(e||``),[r,i]=(0,X.useState)(),[a,o]=(0,X.useState)(``),{siteData:s}=Y();(0,X.useEffect)(()=>{if(n.length>0){let e=n[0],t=`${de(s)}${e?.code}`;o(t),i(e)}},[n,s]);let[c,l]=(0,X.useState)(!1),u=()=>{let e=``;switch(r?.type){case`percent`:e=r?.amount+`% discount`;break;case`fixed`:e=p(Se(r?.amount),{maximumFractionDigits:2})+` `+r?.currency+` discount`;break;case`trial`:e=r?.amount+` days free trial`;break;default:break}return`${encodeURIComponent(r?.name||``)} — Check out ${encodeURIComponent(e)} on:`};return(0,Z.jsx)(S,{animate:!1,backDropClick:!1,footer:!1,height:`full`,size:`lg`,testId:`offer-success-modal`,topRightContent:`close`,width:1140,onClose:()=>{t(`offers`)},children:(0,Z.jsxs)(`div`,{className:`-mt-6 flex h-full flex-col items-center justify-center text-center`,children:[(0,Z.jsx)(be,{className:`absolute top-5 left-6`,current:r?.name||``,label:`Offers`,onBack:()=>t(`offers/edit`)}),(0,Z.jsx)(K,{className:`-mt-4 size-10 text-grey-700`}),(0,Z.jsx)(`h1`,{className:`mt-6 text-4xl`,children:`Your new offer is live!`}),(0,Z.jsx)(`p`,{className:`mt-3 max-w-[510px] text-[1.6rem]`,children:`You can share the link anywhere. In your newsletter, social media, a podcast, or in-person. It all just works.`}),(0,Z.jsxs)(`div`,{className:`mt-8 flex w-full max-w-md flex-col gap-8`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col-reverse gap-2`,children:[(0,Z.jsx)(J,{name:`offer-url`,type:`url`,value:a,disabled:!0}),(0,Z.jsx)(q,{className:`w-full`,type:`button`,onClick:async()=>{await navigator.clipboard.writeText(a),l(!0),setTimeout(()=>l(!1),2e3)},children:c?`Copied!`:`Copy link`})]}),(0,Z.jsx)(`div`,{className:`flex items-center gap-4 text-sm font-medium before:h-px before:grow before:bg-grey-300 before:content-[""] after:h-px after:grow after:bg-grey-300 after:content-[""] dark:before:bg-grey-800 dark:after:bg-grey-800`,children:`OR`}),(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(q,{"aria-label":`Share on X`,className:`h-8 flex-1`,size:`sm`,type:`button`,variant:`outline`,onClick:()=>{window.open(`https://twitter.com/intent/tweet?url=${encodeURI(a)}&text=${u()}`,`_blank`)},children:(0,Z.jsx)(he,{className:`size-3.5!`,name:`twitter-x`})}),(0,Z.jsx)(q,{"aria-label":`Share on Facebook`,className:`h-8 flex-1`,size:`sm`,type:`button`,variant:`outline`,onClick:()=>{window.open(`https://www.facebook.com/sharer/sharer.php?u=${encodeURI(a)}`,`_blank`)},children:(0,Z.jsx)(he,{className:`size-3.5!`,name:`facebook`})}),(0,Z.jsx)(q,{"aria-label":`Share on LinkedIn`,className:`h-8 flex-1`,size:`sm`,type:`button`,variant:`outline`,onClick:()=>{window.open(`http://www.linkedin.com/shareArticle?mini=true&url=${encodeURI(a)}&title=${u()}`,`_blank`)},children:(0,Z.jsx)(he,{className:`size-3.5!`,name:`linkedin`})})]})]})]})})},it=(e,t)=>e.find(e=>e.redemption_type===`retention`&&e.cadence===t&&e.status===`active`)||null,at=(e,t)=>e.reduce((e,n)=>n.redemption_type!==`retention`||n.cadence!==t?e:e+(n.redemption_count||0),0),ot=(e,t)=>e.filter(e=>e.redemption_type===`retention`&&e.cadence===t).map(e=>e.id),st=(e,t)=>{let n=e.filter(e=>e.redemption_type===`retention`&&e.cadence===t&&e.created_at).map(e=>new Date(e.created_at).getTime()).filter(e=>!Number.isNaN(e));return n.length===0?null:new Date(Math.max(...n)).toISOString()},ct=e=>e.type===`percent`&&e.amount===100&&e.duration===`repeating`,lt=e=>{if(!e)return null;if(ct(e)){let t=e.duration_in_months||0,n=t===1?`month`:`months`;return`${p(t)} ${n} free`}return e.type===`percent`?`${p(e.amount)}% OFF`:null},ut=e=>{if(!e)return null;if(ct(e))return``;if(e.duration===`once`)return`First payment`;if(e.duration===`repeating`&&e.duration_in_months){let t=e.duration_in_months===1?`month`:`months`;return`For ${p(e.duration_in_months)} ${t}`}return e.duration===`forever`?`Forever`:null},dt=e=>{let t=it(e,`month`),n=it(e,`year`),r=ot(e,`month`),i=ot(e,`year`),a=at(e,`month`),o=at(e,`year`);return[{id:`monthly`,name:`Monthly retention`,description:`Applied to monthly plans`,terms:lt(t),termsDetail:ut(t),redemptionOfferIds:r,redemptions:a,status:t?`active`:`inactive`,createdAt:st(e,`month`)},{id:`yearly`,name:`Yearly retention`,description:`Applied to annual plans`,terms:lt(n),termsDetail:ut(n),redemptionOfferIds:i,redemptions:o,status:n?`active`:`inactive`,createdAt:st(e,`year`)}]},ft=e=>e===`month`?`monthly`:`yearly`,pt=e=>e===`once`?`First payment`:e===`repeating`?`Repeating`:`Forever`,mt=(e,t,n,r,i)=>{let a=``,o=n===`month`?i?.monthly_price??0:i?.yearly_price??0,s=o,c=e=>parseFloat(e.toFixed(2)),l=e=>p(c(Se(e)),{maximumFractionDigits:2}),u=xe(r)+l(o);switch(e){case`percent`:a=`${p(t)}% off`,s=o-o*t/100;break;case`fixed`:a=`${l(t)} ${r} off`,s=o-t;break;case`trial`:a=`${p(t)} days free`,u=``;break;default:break}s<0&&(s=0);let d=xe(r)+l(s);return{discountOffer:a,originalPriceWithCurrency:u,updatedPriceWithCurrency:d}},ht=({showArchived:e,setShowArchived:t,sortOption:n,sortDirection:r,onSortChange:i,onDirectionChange:a})=>(0,Z.jsxs)(re,{children:[(0,Z.jsx)(ae,{asChild:!0,children:(0,Z.jsx)(q,{"aria-label":`Filter options`,className:`text-muted-foreground hover:text-foreground`,size:`icon`,type:`button`,variant:`ghost`,children:(0,Z.jsx)(oe,{size:16,strokeWidth:1.5})})}),(0,Z.jsxs)(ie,{align:`end`,className:`z-[9999] min-w-[200px] normal-case`,children:[(0,Z.jsx)(se,{className:`text-xs tracking-wide text-muted-foreground uppercase`,children:`Sort by`}),(0,Z.jsxs)(ue,{value:n,onValueChange:i,children:[(0,Z.jsx)(ce,{value:`date-added`,children:`Date added`}),(0,Z.jsx)(ce,{value:`name`,children:`Name`}),(0,Z.jsx)(ce,{value:`redemptions`,children:`Redemptions`})]}),(0,Z.jsxs)(ee,{onSelect:a,children:[r===`asc`?(0,Z.jsx)(te,{className:`size-3`}):(0,Z.jsx)(G,{className:`size-3`}),r===`asc`?`Ascending`:`Descending`]}),(0,Z.jsx)(le,{}),(0,Z.jsx)(ne,{checked:e,onCheckedChange:e=>t(!!e),children:`Show archived`})]})]}),gt=({offer:e,onClick:t})=>{let n=e.redemptions>0&&e.redemptionOfferIds.length>0?je(e.redemptionOfferIds):void 0;return(0,Z.jsxs)(R,{"data-testid":`retention-offer-item`,children:[(0,Z.jsx)(B,{className:`sticky left-0 z-10 bg-background p-0`,children:(0,Z.jsx)(`button`,{className:`block w-full cursor-pointer p-5 text-left`,type:`button`,onClick:t,children:(0,Z.jsxs)(h,{gap:`none`,children:[(0,Z.jsx)(`span`,{className:`font-semibold`,children:e.name}),(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:e.description})]})})}),(0,Z.jsx)(B,{className:`p-0 whitespace-nowrap`,children:(0,Z.jsx)(`button`,{className:`block w-full cursor-pointer p-5 text-left`,type:`button`,onClick:t,children:e.terms?(0,Z.jsxs)(h,{gap:`none`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium uppercase`,children:e.terms}),(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:e.termsDetail})]}):(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:`–`})})}),(0,Z.jsx)(B,{className:`p-0 whitespace-nowrap`,children:(0,Z.jsx)(`button`,{className:`block w-full cursor-pointer p-5 text-left`,type:`button`,onClick:t,children:(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:`–`})})}),(0,Z.jsx)(B,{className:`p-0 whitespace-nowrap`,children:n?(0,Z.jsx)(`a`,{className:`block cursor-pointer p-5 hover:underline`,"data-testid":`retention-redemptions-link-${e.id}`,href:n,children:p(e.redemptions)}):(0,Z.jsx)(`button`,{className:`block w-full cursor-pointer p-5 text-left`,"data-testid":`retention-redemptions-link-${e.id}`,type:`button`,onClick:t,children:p(e.redemptions)})}),(0,Z.jsx)(B,{className:`p-0 whitespace-nowrap`,children:(0,Z.jsx)(`button`,{className:`block w-full cursor-pointer p-5 text-left`,type:`button`,onClick:t,children:e.status===`active`?(0,Z.jsx)(W,{className:`rounded-full uppercase`,variant:`success`,children:`Active`}):(0,Z.jsx)(W,{className:`rounded-full uppercase`,variant:`secondary`,children:`Inactive`})})})]})},_t=({archived:e,offer:t,tier:n,onClick:r})=>{let{discountOffer:i,originalPriceWithCurrency:a,updatedPriceWithCurrency:o}=mt(t.type,t.amount,t.cadence,t.currency||`USD`,n);return(0,Z.jsxs)(R,{className:e?`opacity-60`:void 0,"data-testid":`offer-item`,children:[(0,Z.jsx)(B,{className:`sticky left-0 z-10 bg-background p-0`,children:(0,Z.jsx)(`button`,{className:`block w-full cursor-pointer p-5 text-left`,type:`button`,onClick:r,children:(0,Z.jsxs)(h,{gap:`none`,children:[(0,Z.jsx)(`span`,{className:`font-semibold`,children:t.name}),(0,Z.jsxs)(`span`,{className:`text-muted-foreground`,children:[n.name,` `,ft(t.cadence)]})]})})}),(0,Z.jsx)(B,{className:`p-0 whitespace-nowrap`,children:(0,Z.jsx)(`button`,{className:`block w-full cursor-pointer p-5 text-left`,type:`button`,onClick:r,children:(0,Z.jsxs)(h,{gap:`none`,children:[(0,Z.jsx)(`span`,{className:`text-sm font-medium uppercase`,children:i}),(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:t.type===`trial`?`Trial period`:pt(t.duration)})]})})}),(0,Z.jsx)(B,{className:`p-0 whitespace-nowrap`,children:(0,Z.jsxs)(`button`,{className:`block w-full cursor-pointer p-5 text-left`,type:`button`,onClick:r,children:[(0,Z.jsx)(`span`,{className:`font-medium`,children:o}),` `,t.type===`trial`?null:(0,Z.jsx)(`span`,{className:`relative text-sm text-muted-foreground before:absolute before:-inset-x-0.5 before:top-1/2 before:rotate-[-20deg] before:border-t before:content-[""]`,children:a})]})}),(0,Z.jsx)(B,{className:`p-0 whitespace-nowrap`,children:t.redemption_count>0&&t.id?(0,Z.jsx)(`a`,{className:`block cursor-pointer p-5 hover:underline`,href:Me(t.id),children:p(t.redemption_count)}):(0,Z.jsx)(`button`,{className:`block w-full cursor-pointer p-5 text-left`,type:`button`,onClick:r,children:p(t.redemption_count)})}),(0,Z.jsx)(B,{className:`p-0 whitespace-nowrap`,children:(0,Z.jsx)(`button`,{className:`block w-full cursor-pointer p-5 text-left`,type:`button`,onClick:r,children:e?(0,Z.jsx)(W,{className:`rounded-full uppercase`,variant:`secondary`,children:`Archived`}):(0,Z.jsx)(W,{className:`rounded-full uppercase`,variant:`success`,children:`Active`})})})]})},$=e=>e.offer.name,vt=e=>e.kind===`retention`?e.offer.redemptions:e.offer.redemption_count,yt=e=>e.kind===`retention`?e.offer.createdAt:e.offer.created_at||null,bt=(e,t,n)=>{let r=n===`desc`?-1:1;return[...e].sort((e,n)=>{let i;switch(t){case`name`:i=$(e).localeCompare($(n));break;case`redemptions`:i=vt(e)-vt(n);break;default:{let t=yt(e),r=yt(n);if(!t&&!r)i=0;else if(!t)return 1;else if(r)i=new Date(t).getTime()-new Date(r).getTime();else return-1;break}}return(i||$(e).localeCompare($(n)))*r})},xt=()=>{let{updateRoute:e}=C(),{data:{offers:t=[]}={}}=u(),{data:{tiers:n}={}}=fe(),r=t.filter(e=>e.redemption_type===`signup`),i=dt(t),{sortingState:a,setSortingState:s}=ge(),c=a?.find(e=>e.type===`offers`),{offersShowArchived:l,setOffersShowArchived:d}=_e(),f=c?.option||`date-added`,p=c?.direction||`desc`,g=t=>{t&&e(`offers/edit/${t}`)},_=t=>{e(`offers/edit/retention/${t}`)},v=pe(n||[]),y=r.filter(e=>{let t=n?.find(t=>t.id===e?.tier?.id),r=e.status===`active`&&t&&t.active===!0,i=e.status===`archived`||t&&t.active===!1;return!!(r||l&&i)}),b=bt([...i.map(e=>({kind:`retention`,offer:e})),...y.map(e=>({kind:`signup`,offer:e}))],f,p),x=e=>{s?.([{type:`offers`,option:e,direction:p}])},w=()=>{s?.([{type:`offers`,option:f,direction:p===`asc`?`desc`:`asc`}])},T=e=>{let t=n?.find(t=>t.id===e?.tier?.id);return e.status===`archived`||t?.active===!1};return(0,Z.jsx)(S,{animate:!1,backDropClick:!1,cancelLabel:``,footer:!1,height:`full`,size:`lg`,testId:`offers-modal`,title:`Offers`,topRightContent:(0,Z.jsxs)(m,{gap:`md`,children:[(0,Z.jsx)(q,{type:`button`,variant:`outline`,onClick:()=>{e(`offers`)},children:`Close`}),(0,Z.jsx)(q,{type:`button`,onClick:()=>{v.length===0?o.info(`You must have an active tier to create an offer.`):e(`offers/new`)},children:`New offer`})]}),width:1140,onClose:()=>{e(`offers`)},children:(0,Z.jsx)(h,{className:`h-full pt-8`,children:(0,Z.jsx)(`div`,{className:`overflow-x-auto`,children:(0,Z.jsxs)(H,{className:`m-0 min-w-[900px]`,children:[(0,Z.jsxs)(`colgroup`,{children:[(0,Z.jsx)(`col`,{className:`w-[25%]`}),(0,Z.jsx)(`col`,{className:`w-[200px]`}),(0,Z.jsx)(`col`,{className:`w-[200px]`}),(0,Z.jsx)(`col`,{className:`w-[200px]`}),(0,Z.jsx)(`col`,{className:`w-[220px]`})]}),(0,Z.jsx)(V,{children:(0,Z.jsxs)(R,{children:[(0,Z.jsx)(L,{className:`sticky left-0 z-10 h-auto bg-background p-0 pb-2.5 pl-5 uppercase`,children:`Name`}),(0,Z.jsx)(L,{className:`h-auto p-0 pb-2.5 pl-5 uppercase`,children:`Terms`}),(0,Z.jsx)(L,{className:`h-auto p-0 pb-2.5 pl-5 uppercase`,children:`Price`}),(0,Z.jsx)(L,{className:`h-auto p-0 pb-2.5 pl-5 uppercase`,children:`Redemptions`}),(0,Z.jsx)(L,{className:`h-auto p-0 px-5 pb-2.5 uppercase`,children:(0,Z.jsxs)(m,{align:`center`,justify:`between`,children:[`Status`,(0,Z.jsx)(ht,{setShowArchived:d,showArchived:l,sortDirection:p,sortOption:f,onDirectionChange:w,onSortChange:x})]})})]})}),(0,Z.jsx)(z,{"data-testid":`offers-table-body`,children:b.map(e=>{if(e.kind===`retention`)return(0,Z.jsx)(gt,{offer:e.offer,onClick:()=>_(e.offer.id)},`retention-${e.offer.id}`);let t=e.offer,r=n?.find(e=>e.id===t?.tier?.id);if(!r)return null;let i=T(t);return(0,Z.jsx)(_t,{archived:i,offer:t,tier:r,onClick:()=>g(t.id)},`signup-${t.id}`)})})]})})})})},St=({route:e})=>{if(e===`offers/new`)return(0,Z.jsx)(ke,{});if(e.startsWith(`offers/edit/retention/`)&&e.length>22){let t=e.split(`/`).pop();return(0,Z.jsx)(nt,{id:t||``})}else if(e===`offers/edit/retention/`||e===`offers/edit/retention`)return(0,Z.jsx)(xt,{});else if(e.startsWith(`offers/edit/`)&&e.length>12){let t=e.split(`/`).pop();return(0,Z.jsx)(ze,{id:t||``})}else if(e.startsWith(`offers/success/`)&&e.length>15){let t=e.split(`/`).pop();return(0,Z.jsx)(rt,{id:t||``})}else if(e===`offers/edit`||e===`offers/edit/`)return(0,Z.jsx)(xt,{})},Ct=()=>{let{route:e}=C();return(0,Z.jsx)(St,{route:e})};export{Ct as default};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{g as r}from"./chunk-KS7C4IRE-DG9HTHQ3.js";import{a as i,t as a}from"./router-provider-DSQfprxH.js";import{Dn as o,Pr as s,Tn as c,ba as l,jn as u,n as d,r as f,rs as p,vo as m,ws as h}from"./index-DUXM0NlS.js";import{t as g}from"./share-modal-BNj14g79.js";var _=e(t(),1),v=``+new URL(`logo-loader-dark-CuSPz-zc.mp4`,import.meta.url).href,y=``+new URL(`logo-loader-88VPEpXE.mp4`,import.meta.url).href,b=n();function x(){return(0,b.jsxs)(`div`,{className:`relative mb-6 size-20`,children:[(0,b.jsx)(`video`,{"aria-hidden":`true`,className:`size-20 dark:hidden`,height:80,preload:`metadata`,role:`presentation`,tabIndex:-1,width:80,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,children:(0,b.jsx)(`source`,{src:y,type:`video/mp4`})}),(0,b.jsx)(`video`,{"aria-hidden":`true`,className:`hidden size-20 dark:block`,height:80,preload:`metadata`,role:`presentation`,tabIndex:-1,width:80,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,children:(0,b.jsx)(`source`,{src:v,type:`video/mp4`})}),(0,b.jsx)(`div`,{className:`pointer-events-none absolute inset-0 hidden bg-[hsl(216deg_11%_70%/1%)] dark:block`})]})}function S({complete:e,id:t,isBeforeNext:n,isLast:r,isNext:i,onClick:a,step:o}){let s=o.icon;return(0,b.jsxs)(`button`,{className:`group ${i?`relative z-10 -mx-8 flex w-[calc(100%+64px)] items-center justify-between rounded-md bg-background px-8 py-6 text-left shadow-[0_1px_0_rgba(17,17,26,0.05),0_0_8px_rgba(17,17,26,0.10)] transition-none dark:ring-1 dark:ring-border ${r?`-mb-[18px]`:`mb-1.5`}`:`relative flex w-full items-center justify-between bg-transparent py-6 text-left ${r||n||i?``:`after:absolute after:inset-x-0 after:bottom-0 after:h-px after:bg-border after:content-['']`}`}`,"data-testid":`onboarding-step-${o.id}`,id:t,type:`button`,onClick:a,children:[(0,b.jsxs)(`span`,{className:`flex min-w-0 items-center ${e?`opacity-20 group-hover:opacity-25`:`group-hover:opacity-90`}`,children:[(0,b.jsx)(s,{className:`mr-4 size-5 shrink-0 text-purple`}),(0,b.jsxs)(`span`,{className:`min-w-0 text-left`,children:[(0,b.jsx)(`span`,{className:`block truncate pr-8 text-[16px] leading-[1.3] font-bold text-foreground`,children:o.title}),i&&(0,b.jsx)(`span`,{className:`mt-1 block pr-8 text-[15px] leading-[1.4] text-muted-foreground`,children:o.description})]})]}),(0,b.jsx)(`span`,{className:`flex shrink-0 items-center transition-transform group-hover:translate-x-[5px] ${e?`text-green`:`text-purple`}`,children:e?(0,b.jsx)(p,{className:`size-5`}):(0,b.jsx)(h,{className:`size-3.5`})})]})}function C({allStepsCompleted:e,completedSteps:t,nextStep:n,onComplete:r,onDismiss:i,onStepClick:a,siteTitle:o}){let c=new Set(t);return(0,b.jsx)(`main`,{className:`relative flex min-h-screen flex-col items-center justify-center px-6 py-8`,children:(0,b.jsxs)(`section`,{className:`mt-[-48px] flex w-full flex-col items-center`,"data-test-dashboard":`onboarding-checklist`,"data-testid":`onboarding-checklist`,children:[(0,b.jsxs)(`div`,{className:`mb-8 flex flex-col items-center text-center`,children:[(0,b.jsx)(x,{}),e?(0,b.jsx)(`h1`,{className:`text-[32px] leading-[1.15] font-bold tracking-normal text-foreground max-[480px]:text-[24px]`,children:`You're all set.`}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`h1`,{className:`text-[32px] leading-[1.15] font-bold tracking-normal text-foreground max-[480px]:text-[24px]`,children:`Let's get started!`}),(0,b.jsxs)(`p`,{className:`mt-2 mb-0 text-[15px] text-muted-foreground max-[480px]:m-0 max-[480px]:text-[14px]`,children:[`Welcome! It's time to set up `,o,`.`]})]})]}),(0,b.jsxs)(`div`,{className:`w-full max-w-[540px] rounded-md border border-border bg-background px-6 pt-4 pb-1`,children:[(0,b.jsxs)(`div`,{className:`mt-[-12px] flex items-center justify-between py-6 ${n===`customize-design`?`border-b-0`:`border-b border-border`}`,children:[(0,b.jsxs)(`span`,{className:`flex min-w-0 items-center opacity-20`,children:[(0,b.jsx)(l,{className:`mr-4 size-5 shrink-0 text-purple`}),(0,b.jsx)(`span`,{className:`truncate pr-8 text-[16px] leading-[1.3] font-bold text-foreground`,children:`Start a new Ghost publication`})]}),(0,b.jsx)(`span`,{className:`shrink-0 text-green`,children:(0,b.jsx)(p,{className:`size-5`})})]}),f.map((e,t)=>(0,b.jsx)(S,{complete:c.has(e.id),id:`ob-${e.id}`,isBeforeNext:f[t+1]?.id===n,isLast:t===f.length-1,isNext:n===e.id,step:e,onClick:()=>a(e.id)},e.id))]}),e&&(0,b.jsx)(s,{className:`mt-6 h-auto w-full max-w-[540px] p-3 text-[16px] max-[480px]:text-[15px]`,"data-testid":`onboarding-complete`,id:`ob-completed`,type:`button`,onClick:r,children:`Explore your dashboard`}),(0,b.jsxs)(`p`,{className:`mt-8 mb-0 text-[15px] text-muted-foreground max-[480px]:text-[14px]`,children:[`More questions? Check out our`,` `,(0,b.jsx)(s,{className:`h-auto p-0 align-baseline text-[15px] text-green hover:text-green/90 max-[480px]:text-[14px]`,variant:`link`,asChild:!0,children:(0,b.jsx)(`a`,{href:`https://ghost.org/help?utm_source=admin&utm_campaign=onboarding`,id:`ob-help-center`,rel:`noreferrer`,target:`_blank`,children:`Help Center`})}),`.`]}),!e&&(0,b.jsx)(s,{className:`mt-6 h-[38px] overflow-hidden px-3.5 py-px text-[15px] font-normal whitespace-nowrap text-muted-foreground hover:border-gray-300 hover:text-foreground`,"data-testid":`onboarding-skip`,id:`ob-skip`,type:`button`,variant:`outline`,onClick:i,children:`Skip onboarding`})]})})}function w({description:e,imageUrl:t,onOpenChange:n,open:r,siteTitle:i,siteUrl:a}){let o=encodeURIComponent(a),c=[{href:`https://twitter.com/intent/tweet?url=${o}`,id:`ob-share-on-x`,label:`Share your publication on X`,service:`x`},{href:`https://threads.net/intent/post?text=${o}`,id:`ob-share-on-threads`,label:`Share your publication on Threads`,service:`threads`},{href:`https://www.facebook.com/sharer/sharer.php?u=${o}`,id:`ob-share-on-fb`,label:`Share your publication on Facebook`,service:`facebook`},{href:`https://www.linkedin.com/feed/?shareActive=true&text=${o}`,id:`ob-share-on-li`,label:`Share your publication on LinkedIn`,service:`linkedin`}];return(0,b.jsx)(g.Root,{open:r,onOpenChange:n,children:(0,b.jsxs)(g.Content,{className:`dark:bg-surface-elevated`,"data-test-modal":`onboarding-share`,"data-testid":`onboarding-share-modal`,children:[(0,b.jsxs)(g.Header,{className:`flex-row items-center justify-between gap-4 space-y-0 text-left`,children:[(0,b.jsx)(g.Title,{className:`text-2xl`,children:`Share your publication`}),(0,b.jsx)(g.CloseButton,{id:`ob-close-share-modal`,onClick:()=>n(!1)})]}),(0,b.jsxs)(g.Preview,{className:`rounded-lg bg-card`,href:a,children:[t?(0,b.jsx)(`div`,{className:`aspect-video bg-cover bg-center`,style:{backgroundImage:`url(${t})`}}):(0,b.jsx)(`div`,{className:`flex aspect-video items-center justify-center bg-muted text-muted-foreground`,children:(0,b.jsx)(m,{className:`size-8`})}),(0,b.jsxs)(`div`,{className:`p-5`,children:[(0,b.jsx)(`div`,{className:`text-lg font-semibold`,children:i}),e&&(0,b.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:e})]})]}),(0,b.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Set your publication's cover image and description in`,` `,(0,b.jsx)(s,{className:`h-auto p-0 align-baseline text-sm text-green hover:text-green/90`,variant:`link`,asChild:!0,children:(0,b.jsx)(`a`,{href:`#/settings/design/edit?ref=setup`,id:`ob-share-modal-design-settings`,children:`Design settings`})}),`.`]}),(0,b.jsxs)(g.Footer,{children:[(0,b.jsx)(g.SocialLinks,{links:c}),(0,b.jsx)(g.CopyButton,{className:`ml-0! grow cursor-pointer`,copyURL:a,"data-testid":`onboarding-copy-link`,icon:`link`,id:`ob-copy-publication-link`,label:`Copy link`})]})]})})}function T(e){return e&&/^\/analytics(?:\/|\?|$)/.test(e)?e:`/analytics`}function E(){let e=i(),[t]=r(),n=T(t.get(`returnTo`)),s=d(),l=u(),p=c(),m=(0,_.useRef)(!1),[h,g]=(0,_.useState)(!1),[v,y]=(0,_.useState)(!1),x=String(o(l.data?.settings,`title`)||p.data?.site.title||`your publication`),S=String(o(l.data?.settings,`description`)||p.data?.site.description||``),E=String(o(l.data?.settings,`cover_image`)||``),D=p.data?.site.url||`/`,{allStepsCompleted:O,completeChecklist:k,completedSteps:A,dismissChecklist:j,shouldShowChecklist:M,isLoading:N,markStepCompleted:P,nextStep:F}=s;if(N||p.isLoading||h||m.current)return null;if(!M)return(0,b.jsx)(a,{to:n,replace:!0});let I=async t=>{m.current=!0,g(!0);try{await t(),e(n,{replace:!0})}catch(e){m.current=!1,g(!1),console.error(e)}},L=async t=>{if(t===`share-publication`){await P(t),y(!0);return}await P(t);let n=f.find(({id:e})=>e===t);n?.route&&e(n.route)};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(C,{allStepsCompleted:O,completedSteps:A,nextStep:F,siteTitle:x,onComplete:()=>{I(k)},onDismiss:()=>{I(j)},onStepClick:e=>{L(e)}}),(0,b.jsx)(w,{description:S,imageUrl:E,open:v,siteTitle:x,siteUrl:D,onOpenChange:y})]})}export{E as default};
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{g as r}from"./chunk-KS7C4IRE-DG9HTHQ3.js";import{a as i,t as a}from"./router-provider-CkB_ArLF.js";import{Dn as o,Ds as s,Pr as c,Sa as l,Tn as u,jn as d,n as f,os as p,r as m,xo as h}from"./index-BOJzlYiz.js";import{t as g}from"./share-modal-CdiUx9WM.js";var _=e(t(),1),v=``+new URL(`logo-loader-dark-CuSPz-zc.mp4`,import.meta.url).href,y=``+new URL(`logo-loader-88VPEpXE.mp4`,import.meta.url).href,b=n();function x(){return(0,b.jsxs)(`div`,{className:`relative mb-6 size-20`,children:[(0,b.jsx)(`video`,{"aria-hidden":`true`,className:`size-20 dark:hidden`,height:80,preload:`metadata`,role:`presentation`,tabIndex:-1,width:80,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,children:(0,b.jsx)(`source`,{src:y,type:`video/mp4`})}),(0,b.jsx)(`video`,{"aria-hidden":`true`,className:`hidden size-20 dark:block`,height:80,preload:`metadata`,role:`presentation`,tabIndex:-1,width:80,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,children:(0,b.jsx)(`source`,{src:v,type:`video/mp4`})}),(0,b.jsx)(`div`,{className:`pointer-events-none absolute inset-0 hidden bg-[hsl(216deg_11%_70%/1%)] dark:block`})]})}function S({complete:e,id:t,isBeforeNext:n,isLast:r,isNext:i,onClick:a,step:o}){let c=o.icon;return(0,b.jsxs)(`button`,{className:`group ${i?`relative z-10 -mx-8 flex w-[calc(100%+64px)] items-center justify-between rounded-md bg-background px-8 py-6 text-left shadow-[0_1px_0_rgba(17,17,26,0.05),0_0_8px_rgba(17,17,26,0.10)] transition-none dark:ring-1 dark:ring-border ${r?`-mb-[18px]`:`mb-1.5`}`:`relative flex w-full items-center justify-between bg-transparent py-6 text-left ${r||n||i?``:`after:absolute after:inset-x-0 after:bottom-0 after:h-px after:bg-border after:content-['']`}`}`,"data-testid":`onboarding-step-${o.id}`,id:t,type:`button`,onClick:a,children:[(0,b.jsxs)(`span`,{className:`flex min-w-0 items-center ${e?`opacity-20 group-hover:opacity-25`:`group-hover:opacity-90`}`,children:[(0,b.jsx)(c,{className:`mr-4 size-5 shrink-0 text-purple`}),(0,b.jsxs)(`span`,{className:`min-w-0 text-left`,children:[(0,b.jsx)(`span`,{className:`block truncate pr-8 text-[16px] leading-[1.3] font-bold text-foreground`,children:o.title}),i&&(0,b.jsx)(`span`,{className:`mt-1 block pr-8 text-[15px] leading-[1.4] text-muted-foreground`,children:o.description})]})]}),(0,b.jsx)(`span`,{className:`flex shrink-0 items-center transition-transform group-hover:translate-x-[5px] ${e?`text-green`:`text-purple`}`,children:e?(0,b.jsx)(p,{className:`size-5`}):(0,b.jsx)(s,{className:`size-3.5`})})]})}function C({allStepsCompleted:e,completedSteps:t,nextStep:n,onComplete:r,onDismiss:i,onStepClick:a,siteTitle:o}){let s=new Set(t);return(0,b.jsx)(`main`,{className:`relative flex min-h-screen flex-col items-center justify-center px-6 py-8`,children:(0,b.jsxs)(`section`,{className:`mt-[-48px] flex w-full flex-col items-center`,"data-test-dashboard":`onboarding-checklist`,"data-testid":`onboarding-checklist`,children:[(0,b.jsxs)(`div`,{className:`mb-8 flex flex-col items-center text-center`,children:[(0,b.jsx)(x,{}),e?(0,b.jsx)(`h1`,{className:`text-[32px] leading-[1.15] font-bold tracking-normal text-foreground max-[480px]:text-[24px]`,children:`You're all set.`}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`h1`,{className:`text-[32px] leading-[1.15] font-bold tracking-normal text-foreground max-[480px]:text-[24px]`,children:`Let's get started!`}),(0,b.jsxs)(`p`,{className:`mt-2 mb-0 text-[15px] text-muted-foreground max-[480px]:m-0 max-[480px]:text-[14px]`,children:[`Welcome! It's time to set up `,o,`.`]})]})]}),(0,b.jsxs)(`div`,{className:`w-full max-w-[540px] rounded-md border border-border bg-background px-6 pt-4 pb-1`,children:[(0,b.jsxs)(`div`,{className:`mt-[-12px] flex items-center justify-between py-6 ${n===`customize-design`?`border-b-0`:`border-b border-border`}`,children:[(0,b.jsxs)(`span`,{className:`flex min-w-0 items-center opacity-20`,children:[(0,b.jsx)(l,{className:`mr-4 size-5 shrink-0 text-purple`}),(0,b.jsx)(`span`,{className:`truncate pr-8 text-[16px] leading-[1.3] font-bold text-foreground`,children:`Start a new Ghost publication`})]}),(0,b.jsx)(`span`,{className:`shrink-0 text-green`,children:(0,b.jsx)(p,{className:`size-5`})})]}),m.map((e,t)=>(0,b.jsx)(S,{complete:s.has(e.id),id:`ob-${e.id}`,isBeforeNext:m[t+1]?.id===n,isLast:t===m.length-1,isNext:n===e.id,step:e,onClick:()=>a(e.id)},e.id))]}),e&&(0,b.jsx)(c,{className:`mt-6 h-auto w-full max-w-[540px] p-3 text-[16px] max-[480px]:text-[15px]`,"data-testid":`onboarding-complete`,id:`ob-completed`,type:`button`,onClick:r,children:`Explore your dashboard`}),(0,b.jsxs)(`p`,{className:`mt-8 mb-0 text-[15px] text-muted-foreground max-[480px]:text-[14px]`,children:[`More questions? Check out our`,` `,(0,b.jsx)(c,{className:`h-auto p-0 align-baseline text-[15px] text-green hover:text-green/90 max-[480px]:text-[14px]`,variant:`link`,asChild:!0,children:(0,b.jsx)(`a`,{href:`https://ghost.org/help?utm_source=admin&utm_campaign=onboarding`,id:`ob-help-center`,rel:`noreferrer`,target:`_blank`,children:`Help Center`})}),`.`]}),!e&&(0,b.jsx)(c,{className:`mt-6 h-[38px] overflow-hidden px-3.5 py-px text-[15px] font-normal whitespace-nowrap text-muted-foreground hover:border-gray-300 hover:text-foreground`,"data-testid":`onboarding-skip`,id:`ob-skip`,type:`button`,variant:`outline`,onClick:i,children:`Skip onboarding`})]})})}function w({description:e,imageUrl:t,onOpenChange:n,open:r,siteTitle:i,siteUrl:a}){let o=encodeURIComponent(a),s=[{href:`https://twitter.com/intent/tweet?url=${o}`,id:`ob-share-on-x`,label:`Share your publication on X`,service:`x`},{href:`https://threads.net/intent/post?text=${o}`,id:`ob-share-on-threads`,label:`Share your publication on Threads`,service:`threads`},{href:`https://www.facebook.com/sharer/sharer.php?u=${o}`,id:`ob-share-on-fb`,label:`Share your publication on Facebook`,service:`facebook`},{href:`https://www.linkedin.com/feed/?shareActive=true&text=${o}`,id:`ob-share-on-li`,label:`Share your publication on LinkedIn`,service:`linkedin`}];return(0,b.jsx)(g.Root,{open:r,onOpenChange:n,children:(0,b.jsxs)(g.Content,{className:`dark:bg-surface-elevated`,"data-test-modal":`onboarding-share`,"data-testid":`onboarding-share-modal`,children:[(0,b.jsxs)(g.Header,{className:`flex-row items-center justify-between gap-4 space-y-0 text-left`,children:[(0,b.jsx)(g.Title,{className:`text-2xl`,children:`Share your publication`}),(0,b.jsx)(g.CloseButton,{id:`ob-close-share-modal`,onClick:()=>n(!1)})]}),(0,b.jsxs)(g.Preview,{className:`rounded-lg bg-card`,href:a,children:[t?(0,b.jsx)(`div`,{className:`aspect-video bg-cover bg-center`,style:{backgroundImage:`url(${t})`}}):(0,b.jsx)(`div`,{className:`flex aspect-video items-center justify-center bg-muted text-muted-foreground`,children:(0,b.jsx)(h,{className:`size-8`})}),(0,b.jsxs)(`div`,{className:`p-5`,children:[(0,b.jsx)(`div`,{className:`text-lg font-semibold`,children:i}),e&&(0,b.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:e})]})]}),(0,b.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Set your publication's cover image and description in`,` `,(0,b.jsx)(c,{className:`h-auto p-0 align-baseline text-sm text-green hover:text-green/90`,variant:`link`,asChild:!0,children:(0,b.jsx)(`a`,{href:`#/settings/design/edit?ref=setup`,id:`ob-share-modal-design-settings`,children:`Design settings`})}),`.`]}),(0,b.jsxs)(g.Footer,{children:[(0,b.jsx)(g.SocialLinks,{links:s}),(0,b.jsx)(g.CopyButton,{className:`ml-0! grow cursor-pointer`,copyURL:a,"data-testid":`onboarding-copy-link`,icon:`link`,id:`ob-copy-publication-link`,label:`Copy link`})]})]})})}function T(e){return e&&/^\/analytics(?:\/|\?|$)/.test(e)?e:`/analytics`}function E(){let e=i(),[t]=r(),n=T(t.get(`returnTo`)),s=f(),c=d(),l=u(),p=(0,_.useRef)(!1),[h,g]=(0,_.useState)(!1),[v,y]=(0,_.useState)(!1),x=String(o(c.data?.settings,`title`)||l.data?.site.title||`your publication`),S=String(o(c.data?.settings,`description`)||l.data?.site.description||``),E=String(o(c.data?.settings,`cover_image`)||``),D=l.data?.site.url||`/`,{allStepsCompleted:O,completeChecklist:k,completedSteps:A,dismissChecklist:j,shouldShowChecklist:M,isLoading:N,markStepCompleted:P,nextStep:F}=s;if(N||l.isLoading||h||p.current)return null;if(!M)return(0,b.jsx)(a,{to:n,replace:!0});let I=async t=>{p.current=!0,g(!0);try{await t(),e(n,{replace:!0})}catch(e){p.current=!1,g(!1),console.error(e)}},L=async t=>{if(t===`share-publication`){await P(t),y(!0);return}await P(t);let n=m.find(({id:e})=>e===t);n?.route&&e(n.route)};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(C,{allStepsCompleted:O,completedSteps:A,nextStep:F,siteTitle:x,onComplete:()=>{I(k)},onDismiss:()=>{I(j)},onStepClick:e=>{L(e)}}),(0,b.jsx)(w,{description:S,imageUrl:E,open:v,siteTitle:x,siteUrl:D,onOpenChange:y})]})}export{E as default};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{t as r}from"./use-tinybird-query-Ci_DiPkX.js";import{i,o as a}from"./post-helpers-C5OQMBoi.js";import{m as o}from"./chunk-KS7C4IRE-DG9HTHQ3.js";import{a as s}from"./router-provider-CkB_ArLF.js";import{f as c,p as l}from"./dist-Cb5RSHSg.js";import{a as u,i as d,t as f}from"./chart-helpers-DcO3k_vA.js";import{a as p,n as m,o as h,t as g}from"./card-CiiE7QfM.js";import{c as _,l as v,n as y,o as b,r as x,s as ee,t as S,u as C}from"./data-list-CupF7bjM.js";import{t as w}from"./empty-indicator-WB1WgT9h.js";import{Eo as T,Kr as te,Pr as E,Rs as D,To as O,Wr as ne,Xn as k,fo as re,ir as A,no as j,or as M,pa as ie,qr as ae,qs as oe,u as se}from"./index-BOJzlYiz.js";import{t as ce}from"./disabled-sources-indicator-BLnmyWgt.js";import{n as N,r as P,t as F}from"./kpi-card-DDIxptaS.js";import{t as I}from"./use-analytics-data-IxJcSjc9.js";import{a as L,n as R,r as z,t as B}from"./kpi-card-Ck3tT2Wg.js";import{n as le,r as ue,t as de}from"./post-analytics-header-_ydSY8qO.js";import{t as fe}from"./gift-links-D7BJ9qfe.js";import{r as pe,t as me}from"./gift-link-modal-sdFLjND9.js";import{n as he}from"./post-analytics-context-D0Mw-Pmv.js";import{n as ge,t as _e}from"./use-post-referrers-Dp1BnTAK.js";import{a as V,o as H,r as U,t as W}from"./link-helpers-kpbU8TWh.js";import{n as ve,r as G}from"./kpi-helpers-ssbuy-hD.js";var K=e(t(),1),q=n(),ye=({post:e,isNewsletterStatsLoading:t,isWebShown:n})=>{let{postId:r}=o(),i=s(),a=(0,K.useMemo)(()=>{let t=e.email?.opened_count||0,n=e.email?.email_count||0,r=e.count?.clicks||0;return{opened:t,clicked:r,openedRate:n>0?t/n:0,clickedRate:n>0?r/n:0,sent:n}},[e]),{data:u}=V({searchParams:{filter:`post_id:'${r}'`}}),d=(0,K.useMemo)(()=>U(u),[u]),f=[{datatype:`Clicked`,value:a.clickedRate,fill:`url(#gradientTeal)`,color:`var(--chart-teal)`},{datatype:`Opened`,value:a.openedRate,fill:`url(#gradientBlue)`,color:`var(--chart-blue)`}],w={percentage:{label:`Opened`},Average:{label:`Clicked`},"This newsletter":{label:`Opened`}},T=e.email_only||!n;return(0,q.jsxs)(g,{className:`group/datalist overflow-hidden ${T&&`col-span-2`}`,children:[(0,q.jsxs)(`div`,{className:`relative flex items-center justify-between gap-6`,children:[(0,q.jsx)(p,{children:(0,q.jsxs)(h,{className:`flex items-center gap-1.5 text-lg`,children:[(0,q.jsx)(j,{size:16,strokeWidth:1.5}),`Newsletter performance`]})}),(0,q.jsx)(E,{className:`absolute right-6 translate-x-10 opacity-0 transition-all duration-300 group-hover/datalist:translate-x-0 group-hover/datalist:opacity-100 focus-visible:translate-x-0 focus-visible:opacity-100`,size:`sm`,variant:`outline`,onClick:()=>{i(`/posts/analytics/${r}/newsletter`)},children:`View more`})]}),t?(0,q.jsx)(m,{children:(0,q.jsx)(`div`,{className:`mx-auto flex min-h-[250px] items-center justify-center xl:size-full`,children:(0,q.jsx)(A,{})})}):(0,q.jsxs)(m,{className:`${T&&`grid grid-cols-2`}`,children:[(0,q.jsxs)(`div`,{className:`${T&&`border-r pr-6`}`,children:[(0,q.jsxs)(`div`,{className:`grid grid-cols-2 gap-6`,children:[(0,q.jsx)(F,{className:`group relative flex grow flex-row items-start justify-between gap-5 border-none px-0 pt-0`,children:(0,q.jsxs)(`div`,{className:`flex grow flex-col gap-1.5 border-none pb-0`,children:[(0,q.jsx)(N,{color:`var(--chart-blue)`,children:`Open rate`}),(0,q.jsx)(P,{value:l(a.openedRate)})]})}),(0,q.jsx)(F,{className:`group relative flex grow flex-row items-start justify-between gap-5 border-none px-0 pt-0`,children:(0,q.jsxs)(`div`,{className:`flex grow flex-col gap-1.5 border-none pb-0`,children:[(0,q.jsx)(N,{color:`var(--chart-teal)`,children:`Click rate`}),(0,q.jsx)(P,{value:l(a.clickedRate)})]})})]}),!T&&(0,q.jsx)(k,{}),(0,q.jsx)(`div`,{className:`mx-auto my-6 h-[240px]`,children:(0,q.jsx)(H,{className:`pointer-events-none aspect-square h-[240px]`,config:w,data:f,tooltip:!1})})]}),(0,q.jsxs)(`div`,{className:`${T&&`pl-6`}`,children:[!T&&(0,q.jsx)(k,{}),(0,q.jsxs)(`div`,{className:T?``:`pt-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 ${T?`pb-3`:`py-3`}`,children:[(0,q.jsx)(`span`,{className:`font-medium text-muted-foreground`,children:`Top clicked links in this email`}),(0,q.jsx)(D,{children:`Members`})]}),d.length>0?(0,q.jsx)(S,{className:``,children:(0,q.jsx)(x,{children:d.slice(0,T?10:5).map(e=>{let t=a.clicked>0?e.count/a.clicked:0;return(0,q.jsxs)(C,{children:[(0,q.jsx)(y,{style:{width:`${t?Math.round(t*100):0}%`}}),(0,q.jsx)(b,{children:(0,q.jsxs)(`div`,{className:`flex items-center space-x-2 overflow-hidden`,children:[(0,q.jsx)(re,{className:`shrink-0 text-muted-foreground`,size:16,strokeWidth:1.5}),(0,q.jsx)(`a`,{className:`block truncate font-medium hover:underline`,href:e.link.to,rel:`noreferrer`,target:`_blank`,title:e.link.to,children:W(e.link.to,!0)})]})}),(0,q.jsxs)(ee,{children:[(0,q.jsx)(_,{children:c(e.count||0)}),(0,q.jsx)(v,{children:l(t)})]})]},e.link.link_id)})})}):(0,q.jsx)(`div`,{className:`py-20 text-center text-sm text-gray-700`,children:`You have no links in your post.`})]})]})]})]})},be=({chartData:e,range:t,isLoading:n,visitors:r,sourcesData:i,isNewsletterShown:a=!0})=>{let{postId:l}=o(),d=s(),{site:f}=I(),_=f.url,v=f.icon,y=(0,K.useMemo)(()=>i?i.reduce((e,t)=>e+Number(t.visits||0),0):0,[i]);return(0,q.jsx)(q.Fragment,{children:(0,q.jsxs)(g,{className:`group/datalist overflow-hidden ${!a&&`col-span-2`}`,"data-testid":`web-performance`,children:[(0,q.jsxs)(`div`,{className:`relative flex items-center justify-between gap-6`,children:[(0,q.jsx)(p,{children:(0,q.jsxs)(h,{className:`flex items-center gap-1.5 text-lg`,children:[(0,q.jsx)(O,{size:16,strokeWidth:1.5}),`Web performance`]})}),(0,q.jsx)(E,{className:`absolute right-6 translate-x-10 opacity-0 transition-all duration-300 group-hover/datalist:translate-x-0 group-hover/datalist:opacity-100 focus-visible:translate-x-0 focus-visible:opacity-100`,size:`sm`,variant:`outline`,onClick:()=>{d(`/posts/analytics/${l}/web`)},children:`View more`})]}),(0,q.jsxs)(m,{children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(F,{className:`group relative flex grow flex-row items-start justify-between gap-5 border-none px-0 pt-0`,"data-testid":`unique-visitors`,children:(0,q.jsxs)(`div`,{className:`flex grow flex-col gap-1.5 border-none pb-0`,children:[(0,q.jsx)(N,{color:`var(--chart-blue)`,children:`Unique visitors`}),(0,q.jsx)(P,{value:c(r)})]})}),(0,q.jsx)(k,{}),(0,q.jsx)(`div`,{className:`max-h-[288px] py-6 [&_.recharts-cartesian-axis-tick-value]:fill-gray-500`,children:n?(0,q.jsx)(`div`,{className:`flex h-[16vw] min-h-[240px] items-center justify-center`,children:(0,q.jsx)(A,{})}):(0,q.jsx)(u,{className:`aspect-auto h-[240px] w-full`,color:`var(--chart-blue)`,data:e||[],id:`visitors`,range:t,syncId:`overview-charts`})})]}),a&&(0,q.jsxs)(`div`,{className:a?`border-t pt-3`:`-mt-3`,children:[(0,q.jsx)(`div`,{children:(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-3`,children:[(0,q.jsx)(`span`,{className:`font-medium text-muted-foreground`,children:`How readers found this post`}),(0,q.jsx)(D,{children:`Visitors`})]})}),i&&i.length>0?(0,q.jsx)(G,{data:i,range:t,siteIcon:v,siteUrl:_,tableOnly:!0,topSourcesLimit:5,totalVisitors:y}):(0,q.jsx)(w,{className:`h-full py-10`,description:`Once someone visits this post, sources will show here`,title:`No visitors since you published this post`,children:(0,q.jsx)(O,{strokeWidth:1.5})})]})]})]})})},J=()=>{let e=s(),{statsConfig:t,isLoading:n}=I(),{post:o,isPostLoading:l,postId:u}=he(),{totals:_,isLoading:v,currencySymbol:y}=_e(u),{appSettings:b}=oe(),{emailTrackClicks:x,emailTrackOpens:ee}=b?.analytics||{},S=b?.analytics?.webAnalytics===!0,C=le(o),{token:w,isLoading:D,error:O}=fe(u,{enabled:C}),{usage:k,loading:re,error:j}=pe({postUuid:o?.uuid,token:w,tokenLoading:D,tokenError:O,enabled:C}),[N,P]=(0,K.useState)(!1),F=(0,K.useMemo)(()=>o?.published_at?ae(o.published_at):se.allTime.value,[o?.published_at]),{startDate:V,endDate:H,timezone:U}=te(F),W=(0,K.useMemo)(()=>{let e={site_uuid:t?.id||``,date_from:ne(V),date_to:ne(H),timezone:U,post_uuid:``};return!l&&o?.uuid?{...e,post_uuid:o.uuid}:e},[l,o,t?.id,V,H,U]),{data:G,loading:J}=r({endpoint:`api_kpis`,statsConfig:t,params:W}),xe=(0,K.useMemo)(()=>G?.length?G.reduce((e,t)=>{let n=Number(t.visits);return e+(isNaN(n)?0:n)},0):0,[G]),Y=ve.visits,Se=f(F,G||[],{fieldName:Y.dataKey}),Ce=d(G||[],F,Y.dataKey,`sum`)?.map(e=>{let t=Number(e[Y.dataKey]);return{date:String(e.date),value:t,formattedValue:Y.formatter(t),label:Y.label}}),{data:we,loading:Te}=r({endpoint:`api_top_sources`,statsConfig:t,params:W}),Ee=n||v||l||J,De=l||n||J,X=a(o)&&ee&&x,Z=!o?.email_only&&S,Q=b?.analytics.membersTrackSources,$=!!(C&&o&&b?.analytics.webAnalytics);return(0,K.useEffect)(()=>{!l&&o&&i(o)&&!S&&Q&&e(`/posts/analytics/${u}/growth`,{replace:!0})},[l,o,S,e,u,Q]),l?(0,q.jsx)(A,{}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(de,{currentTab:`Overview`}),(0,q.jsx)(ue,{children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-6 lg:grid lg:grid-cols-2`,children:[Z&&(0,q.jsx)(be,{chartData:Ce,isLoading:De||Ee||Te,isNewsletterShown:X,range:Se,sourcesData:we,visitors:xe}),X&&(0,q.jsx)(ye,{isNewsletterStatsLoading:l,isWebShown:Z,post:o}),(Q||$)&&(0,q.jsxs)(`div`,{className:`col-span-2 flex flex-col gap-6 lg:grid lg:grid-cols-3`,children:[Q&&(0,q.jsxs)(g,{className:`group overflow-hidden p-0 ${$?`lg:col-span-2`:`lg:col-span-3`}`,"data-testid":`growth`,children:[(0,q.jsxs)(`div`,{className:`relative flex items-center justify-between gap-6`,children:[(0,q.jsx)(p,{children:(0,q.jsxs)(h,{className:`flex items-center gap-1.5 text-lg`,children:[(0,q.jsx)(ie,{size:16,strokeWidth:1.5}),`Growth`]})}),(0,q.jsx)(E,{className:`absolute right-6 translate-x-10 opacity-0 transition-all duration-200 group-hover:translate-x-0 group-hover:opacity-100 focus-visible:translate-x-0 focus-visible:opacity-100`,size:`sm`,variant:`outline`,onClick:()=>{e(`/posts/analytics/${u}/growth`)},children:`View more`})]}),(0,q.jsx)(m,{className:`flex flex-col gap-6 px-0 md:grid md:grid-cols-3 md:items-stretch md:gap-0`,children:Ee?Array.from({length:3},(e,t)=>(0,q.jsxs)(`div`,{className:`h-[98px] gap-1 border-r px-6 py-5 last:border-r-0`,children:[(0,q.jsx)(M,{className:`w-2/3`}),(0,q.jsx)(M,{className:`h-7 w-12`})]},t)):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(B,{className:`grow gap-1 py-0`,children:[(0,q.jsx)(z,{children:`Free members`}),(0,q.jsx)(R,{children:(0,q.jsx)(L,{className:`text-[2.2rem]`,children:c(_?.free_members||0)})})]}),b?.paidMembersEnabled&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(B,{className:`grow gap-1 py-0`,children:[(0,q.jsx)(z,{children:`Paid members`}),(0,q.jsx)(R,{children:(0,q.jsx)(L,{className:`text-[2.2rem]`,children:c(_?.paid_members||0)})})]}),(0,q.jsxs)(B,{className:`grow gap-1 py-0`,children:[(0,q.jsx)(z,{children:`MRR impact`}),(0,q.jsx)(R,{children:(0,q.jsxs)(L,{className:`text-[2.2rem]`,children:[y,c(ge(_?.mrr||0))]})})]})]})]})})]}),$&&(0,q.jsxs)(g,{className:`group/datalist overflow-hidden ${Q?`lg:col-span-1`:`lg:col-span-3`}`,"data-testid":`gift-link-card`,children:[(0,q.jsxs)(`div`,{className:`relative flex items-center justify-between gap-6`,children:[(0,q.jsx)(p,{children:(0,q.jsxs)(h,{className:`flex items-center gap-1.5 text-lg`,children:[(0,q.jsx)(T,{size:16,strokeWidth:1.5}),`Gift link`]})}),(0,q.jsx)(E,{className:`absolute right-6 translate-x-10 opacity-0 transition-all duration-300 group-hover/datalist:translate-x-0 group-hover/datalist:opacity-100 focus-visible:translate-x-0 focus-visible:opacity-100`,size:`sm`,variant:`outline`,onClick:()=>P(!0),children:`Share`})]}),!re&&!j&&(0,q.jsxs)(m,{className:`flex flex-col gap-1`,children:[(0,q.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Visitors`}),(0,q.jsx)(`span`,{className:`text-[2.2rem] leading-none font-semibold`,"data-testid":`gift-link-card-visitors`,children:c(k?.visits??0)})]})]})]}),!Z&&!X&&!Q&&!$&&(0,q.jsx)(ce,{className:`col-span-2 py-20`})]})}),$&&(0,q.jsx)(me,{open:N,postId:u,source:`gift-link-card`,onOpenChange:P},u)]})};export{J as default};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{t as r}from"./use-tinybird-query-Ci_DiPkX.js";import{f as i,g as a,s as o}from"./stats-C615kulJ.js";import{n as s}from"./posts-DgcUi2rc.js";import{t as c}from"./analytics-53FOa2wq.js";import{a as l,t as u}from"./post-helpers-C5OQMBoi.js";import{a as d}from"./router-provider-CkB_ArLF.js";import{c as f,f as p,l as m,p as h,s as g}from"./dist-Cb5RSHSg.js";import{a as _,i as v,n as y,t as b}from"./chart-helpers-DcO3k_vA.js";import{a as x,n as S,o as C,r as w,s as T,t as E}from"./card-CiiE7QfM.js";import{t as D}from"./empty-indicator-WB1WgT9h.js";import{Ei as O,Gs as k,Ha as A,Is as j,Kr as ee,La as te,Ni as M,Po as N,Pr as P,Ri as F,To as I,Ua as ne,Uo as re,Vr as L,Wr as R,fs as ie,ha as ae,i as oe,ir as se,oo as z,or as B,p as V,qs as H,sr as ce,ss as U,u as W,us as le,va as G,xo as ue}from"./index-BOJzlYiz.js";import{i as de,n as fe,r as pe,t as me}from"./stats-view-BSMRdYiN.js";import{t as he}from"./use-growth-stats-1NW-8eEZ.js";import{n as ge,r as _e,t as ve}from"./kpi-card-DDIxptaS.js";import{t as K}from"./use-analytics-data-IxJcSjc9.js";import{n as ye}from"./audience-BY8od8If.js";import{n as q}from"./url-helpers-CCyfRrKj.js";import{t as be}from"./post-share-modal-CzYak_a5.js";var J=e(t(),1),xe=()=>{let{data:{posts:[e]}={posts:[]},isLoading:t}=s({searchParams:{filter:`status:[published,sent]`,order:`published_at DESC`,limit:`1`,include:`authors,email,count.clicks`}}),n=e,{data:r,isLoading:i}=o(n?.id||``,{enabled:!!n?.id});return{data:(0,J.useMemo)(()=>{if(!n)return null;let e=r?.stats?.[0]||{id:n.id,recipient_count:null,opened_count:null,open_rate:null,member_delta:0,free_members:0,paid_members:0,visitors:0};return{id:n.id,uuid:n.uuid,title:n.title||``,slug:n.slug||``,feature_image:n.feature_image||null,published_at:n.published_at||``,url:n.url||``,excerpt:n.excerpt||``,email_only:n.email_only||!1,status:n.status,email:n.email,count:n.count,authors:n.authors||[],recipient_count:e.recipient_count,opened_count:e.opened_count,open_rate:e.open_rate,member_delta:e.member_delta,free_members:e.free_members,paid_members:e.paid_members,visitors:e.visitors,click_rate:null}},[n,r]),isLoading:t||!!n?.id&&i}},Y=n(),Se=e=>e.email_only?`Sent`:e.email?`Published and sent`:`Published`,Ce=({latestPostStats:e,isLoading:t})=>{let n=d(),[r,i]=(0,J.useState)(!1),{site:a,settings:o}=K(),{appSettings:s}=H(),{emailTrackClicks:l,emailTrackOpens:g,webAnalytics:_=!1,membersTrackSources:v=!1}=s?.analytics||{};(0,J.useEffect)(()=>{r&&c(`Share Modal Opened`,{giftLinkShown:!1,source:`stats-overview`})},[r]);let y=a.title||String(o.find(e=>e.key===`title`)?.value||`Ghost Site`),b=String(o.find(e=>e.key===`timezone`)?.value||`Etc/UTC`),T=e?u(e,{membersTrackSources:v}):null,O=`group mr-2 flex flex-col gap-1.5 hover:cursor-pointer`,k=!!e?.email,A=q({postId:e?.id,hasEmailData:k,analytics:{webAnalytics:_,membersTrackSources:v}}),j=A.startsWith(`/editor/`);return(0,Y.jsxs)(E,{className:`group/card`,"data-testid":`latest-post`,children:[(0,Y.jsxs)(x,{children:[(0,Y.jsx)(C,{className:`flex items-baseline justify-between leading-snug font-medium text-muted-foreground`,children:`Latest post performance`}),(0,Y.jsx)(w,{className:`hidden`,children:`How your last post did`})]}),(0,Y.jsxs)(S,{className:`flex flex-col gap-6 px-0 lg:flex-row xl:grid xl:grid-cols-3`,children:[t&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`flex w-full items-center gap-6 px-6 xl:col-span-2`,children:[(0,Y.jsx)(`div`,{className:`w-full max-w-[232px] grow`,children:(0,Y.jsx)(B,{className:`aspect-[16/10] rounded-md`})}),(0,Y.jsxs)(`div`,{className:`w-full grow`,children:[(0,Y.jsx)(B,{className:`w-full max-w-[420px]`}),(0,Y.jsx)(B,{className:`w-1/2`})]})]}),(0,Y.jsx)(`div`,{className:`flex flex-col items-stretch gap-2 px-6`,children:(0,Y.jsxs)(`div`,{className:`grid grid-cols-2 gap-5`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(B,{className:`w-3/4`}),(0,Y.jsx)(B,{className:`h-10 w-1/3`})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(B,{className:`w-3/4`}),(0,Y.jsx)(B,{className:`h-10 w-1/3`})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(B,{className:`w-3/4`}),(0,Y.jsx)(B,{className:`h-10 w-1/3`})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(B,{className:`w-3/4`}),(0,Y.jsx)(B,{className:`h-10 w-1/3`})]})]})})]}),!t&&e&&T?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6 px-6 transition-all md:flex-row md:items-start xl:col-span-2`,children:[e.feature_image&&(0,Y.jsx)(`div`,{className:`aspect-[16/10] w-full min-w-[100px] rounded-sm bg-cover bg-center sm:max-w-[170px] lg:max-w-[170px] xl:max-w-[232px]`,style:{backgroundImage:`url(${e.feature_image})`}}),(0,Y.jsxs)(`div`,{className:`flex grow flex-col items-start justify-center self-stretch`,children:[(0,Y.jsx)(`div`,{className:`text-md leading-tighter font-semibold tracking-tight hover:cursor-pointer hover:opacity-75`,onClick:()=>{!t&&e&&n(A,{crossApp:!0})},children:e.title}),(0,Y.jsxs)(`div`,{className:`mt-1 text-muted-foreground`,children:[e.authors&&e.authors.length>0&&(0,Y.jsxs)(`div`,{children:[`By `,e.authors.map(e=>e.name).join(`, `),` – `,m(e.published_at,b)]}),(0,Y.jsx)(`div`,{className:`mt-0.5`,children:Se(e)})]}),(0,Y.jsxs)(`div`,{className:`mt-6 flex items-center gap-2`,children:[!e.email_only&&(0,Y.jsx)(be,{author:e.authors?.map(e=>e.name).join(`, `)||``,description:``,faviconURL:a.icon||``,featureImageURL:e.feature_image||``,open:r,postExcerpt:e.excerpt||``,postTitle:e.title,postURL:e.url||``,siteTitle:y,onClose:()=>i(!1),onOpenChange:i,children:(0,Y.jsxs)(P,{onClick:()=>i(!0),children:[(0,Y.jsx)(ae,{}),` Share post`]})}),(0,Y.jsx)(P,{className:e.email_only?`w-full`:``,variant:`outline`,onClick:()=>{n(A,{crossApp:!0})},children:j?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(te,{}),(0,Y.jsx)(`span`,{className:`hidden md:visible! md:block!`,children:`Edit post`})]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(le,{}),(0,Y.jsx)(`span`,{className:`hidden md:visible! md:block!`,children:e.email_only?`Post analytics`:`Analytics`})]})})]})]})]}),(0,Y.jsx)(`div`,{className:`-ml-4 flex w-full flex-col items-stretch gap-2 pr-6 xl:h-full xl:max-w-none`,children:(0,Y.jsxs)(`div`,{className:`grid grid-cols-2 gap-6 pl-10 lg:border-l xl:h-full`,children:[T.showWebMetrics&&_&&(0,Y.jsxs)(`div`,{className:O,"data-testid":`latest-post-visitors`,onClick:()=>{n(`/posts/analytics/${e.id}/web`,{crossApp:!0})},children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 font-medium text-muted-foreground transition-all group-hover:text-foreground`,children:[(0,Y.jsx)(I,{size:16,strokeWidth:1.25}),(0,Y.jsx)(`span`,{className:`hidden md:visible! md:block!`,children:`Visitors`})]}),(0,Y.jsx)(`span`,{className:`text-[2.2rem] leading-none font-semibold tracking-tighter`,children:p(e.visitors)})]}),T.showMemberGrowth&&(0,Y.jsxs)(`div`,{className:f(O,T.showEmailMetrics&&(!T.showWebMetrics||!_)&&`col-[1/2] row-[2/3]`),"data-testid":`latest-post-members`,onClick:()=>{n(`/posts/analytics/${e.id}/growth`,{crossApp:!0})},children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 font-medium text-muted-foreground transition-all group-hover:text-foreground`,children:[(0,Y.jsx)(F,{size:16,strokeWidth:1.25}),(0,Y.jsx)(`span`,{className:`hidden md:visible! md:block!`,children:`Members`})]}),(0,Y.jsx)(`span`,{className:`text-[2.2rem] leading-none font-semibold tracking-tighter`,children:e.member_delta?(0,Y.jsxs)(Y.Fragment,{children:[`+`,p(e.member_delta)]}):0})]}),T.showEmailMetrics&&e.email&&(0,Y.jsxs)(Y.Fragment,{children:[g&&(0,Y.jsxs)(`div`,{className:O,onClick:()=>{n(`/posts/analytics/${e.id}/newsletter`,{crossApp:!0})},children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 font-medium text-muted-foreground transition-all group-hover:text-foreground`,children:[(0,Y.jsx)(z,{size:16,strokeWidth:1.25}),(0,Y.jsx)(`span`,{className:`hidden whitespace-nowrap md:visible! md:block!`,children:`Opens`})]}),(0,Y.jsx)(`span`,{className:`text-[2.2rem] leading-none font-semibold tracking-tighter`,children:e.email.email_count?h((e.email.opened_count||0)/e.email.email_count):`0%`})]}),l&&(0,Y.jsxs)(`div`,{className:O,onClick:()=>{n(`/posts/analytics/${e.id}/newsletter`,{crossApp:!0})},children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 font-medium text-muted-foreground transition-all group-hover:text-foreground`,children:[(0,Y.jsx)(ne,{size:16,strokeWidth:1.25}),(0,Y.jsx)(`span`,{className:`hidden whitespace-nowrap md:visible! md:block!`,children:`Clicks`})]}),(0,Y.jsx)(`span`,{className:`text-[2.2rem] leading-none font-semibold tracking-tighter`,children:e.email.email_count&&e.count?.clicks?h((e.count.clicks||0)/e.email.email_count):`0%`})]})]})]})})]}):!t&&(0,Y.jsx)(D,{actions:(0,Y.jsx)(P,{variant:`secondary`,onClick:()=>{n(`/editor/post`,{crossApp:!0})},children:`New post`}),className:`w-full pb-10 xl:col-span-3`,description:`Once it's live, you can track performance here`,title:`Publish your first post`,children:(0,Y.jsx)(N,{strokeWidth:1.5})})]})]})},X=()=>{let{config:e}=K();return{isLimited:t=>e?.hostSettings?.limits&&t===`limitAnalytics`?e.hostSettings.limits.limitAnalytics?.disabled===!0:!1}},Z=({title:e,iconName:t,description:n,color:r,diffDirection:i,diffValue:a,formattedValue:o,trendingFromValue:s,children:c,onClick:l})=>{let{range:u}=V(),d=t&&O[t],f=J.useMemo(()=>{if(!i||i===`empty`||u===W.allTime.value||!a)return``;let e=i===`up`?`up`:i===`down`?`down`:`at`,t=y(u).replace(`in the `,``).replace(/^\(|\)$/g,``);return i===`same`?(0,Y.jsxs)(`span`,{children:[`You're trending at the same level as `,(0,Y.jsx)(`span`,{className:`font-semibold`,children:o}),` compared to the `,(0,Y.jsx)(`span`,{className:`font-semibold`,children:t})]}):(0,Y.jsxs)(`span`,{children:[`You're trending `,(0,Y.jsxs)(`span`,{className:`font-semibold`,children:[e,` `,a]}),` from `,(0,Y.jsx)(`span`,{className:`font-semibold`,children:s}),` compared to the `,t]})},[i,a,s,o,u]);return(0,Y.jsxs)(E,{className:`group`,"data-testid":e,children:[(0,Y.jsxs)(x,{className:`hidden`,children:[(0,Y.jsx)(C,{children:e}),(0,Y.jsx)(w,{children:n})]}),(0,Y.jsxs)(ve,{className:`relative flex grow flex-row items-start justify-between gap-5 border-none pb-2 xl:pb-4`,children:[(0,Y.jsxs)(`div`,{className:`flex grow flex-col gap-1.5 border-none pb-0`,children:[(0,Y.jsxs)(ge,{className:l&&`transition-all group-hover:text-foreground`,children:[r&&(0,Y.jsx)(`span`,{className:`inline-block size-2 rounded-full opacity-50`,style:{backgroundColor:r}}),d&&(0,Y.jsx)(d,{size:16,strokeWidth:1.5}),e]}),(0,Y.jsx)(_e,{diffDirection:u===W.allTime.value?`hidden`:i,diffTooltip:f,diffValue:a,value:o})]}),l&&(0,Y.jsx)(P,{className:`absolute right-6 translate-x-10 opacity-0 transition-all duration-200 group-hover:translate-x-0 group-hover:opacity-100 focus-visible:translate-x-0 focus-visible:opacity-100`,size:`sm`,variant:`outline`,onClick:l,children:`View more`})]}),(0,Y.jsx)(S,{children:c})]})},we=({kpiValues:e,visitorsChartData:t,visitorsChartRange:n,visitorsYRange:r,growthTotals:i,membersChartData:a,mrrChartData:o,growthChartRange:s,currencySymbol:c,isLoading:l})=>{let u=d(),{appSettings:f}=H(),m=X(),{config:h}=K(),g=m.isLimited(`limitAnalytics`),v=`-mb-3 h-[10vw] max-h-[200px] min-h-[100px] hover:cursor-pointer!`;if(l)return(0,Y.jsx)(T,{className:`flex h-[calc(10vw+116px)] max-h-[416px] min-h-20 items-center justify-center hover:cursor-pointer!`,children:(0,Y.jsx)(se,{})});let y=f?.analytics.webAnalytics,b=g&&!y,O=f?.paidMembersEnabled,A=[y,b,!0,O].filter(Boolean).length,j=`lg:grid-cols-3`;return A===2?j=`lg:grid-cols-2`:A===1&&(j=`lg:grid-cols-1`),(0,Y.jsxs)(`div`,{className:`flex flex-col lg:grid ${j} gap-6`,children:[y&&!b&&(0,Y.jsx)(Z,{description:`Number of individual people who visited your website`,diffDirection:`empty`,formattedValue:e.visits,iconName:`Globe`,linkto:`/analytics/web/`,title:`Unique visitors`,onClick:()=>{u(`/analytics/web/`)},children:(0,Y.jsx)(_,{className:v,color:`var(--chart-blue)`,data:t,id:`visitors`,range:n,showHorizontalLines:!0,showYAxisValues:!1,syncId:`overview-charts`,yAxisRange:r})}),b&&(0,Y.jsxs)(E,{children:[(0,Y.jsxs)(x,{className:`hidden`,children:[(0,Y.jsx)(C,{children:`Unlock web analytics`}),(0,Y.jsx)(w,{children:`Get the full picture of what's working with detailed, cookie-free traffic analytics.`})]}),(0,Y.jsx)(S,{className:`flex h-full items-center justify-center p-6`,children:(0,Y.jsx)(D,{actions:(0,Y.jsx)(P,{variant:`outline`,onClick:()=>u(k(h),{crossApp:!0}),children:`Upgrade now`}),className:`py-10`,description:`Get the full picture of what's working with detailed, cookie-free traffic analytics.`,title:`Unlock web analytics`,children:(0,Y.jsx)(U,{})})})]}),(0,Y.jsx)(Z,{description:`How number of members of your publication changed over time`,diffDirection:i.directions.total,diffValue:i.percentChanges.total,formattedValue:p(i.totalMembers),iconName:`User`,linkto:`/analytics/growth/`,title:`Members`,trendingFromValue:`${p(a[0]?.value??0)}`,onClick:()=>{u(`/analytics/growth/?tab=total-members`)},children:(0,Y.jsx)(_,{className:v,color:`var(--chart-darkblue)`,data:a,id:`members`,range:s,showHorizontalLines:!0,showYAxisValues:!1,syncId:`overview-charts`})}),O&&(0,Y.jsx)(Z,{description:`Monthly recurring revenue changes over time`,diffDirection:i.directions.mrr,diffValue:i.percentChanges.mrr,formattedValue:`${c}${p(L(i.mrr))}`,iconName:`Coins`,linkto:`/analytics/growth/`,title:`MRR`,trendingFromValue:`${c}${p(o[0]?.value??0)}`,onClick:()=>{u(`/analytics/growth/?tab=mrr`)},children:(0,Y.jsx)(_,{className:v,color:`var(--chart-teal)`,data:o,id:`mrr`,range:s,showHorizontalLines:!0,showYAxisValues:!1,syncId:`overview-charts`})})]})},Te=({className:e})=>(0,Y.jsx)(`div`,{className:f(`flex flex-col items-center justify-center gap-1 rounded-sm bg-muted p-6 dark:bg-surface-elevated-2`,e),children:(0,Y.jsx)(ue,{className:`text-muted-foreground/50`,size:18,strokeWidth:1.5})}),Q=({className:e,metrics:t,title:n})=>(0,Y.jsx)(Y.Fragment,{children:(0,Y.jsxs)(`div`,{className:f(`pointer-events-none absolute bottom-[calc(100%+2px)] left-1/2 z-50 min-w-[160px] -translate-x-1/2 rounded-md bg-background p-3 text-sm opacity-0 shadow-md transition-all group-hover/tooltip:bottom-[calc(100%+12px)] group-hover/tooltip:opacity-100`,e),children:[(0,Y.jsx)(`div`,{className:`mb-1.5 border-b pr-10 pb-1.5 font-medium whitespace-nowrap text-muted-foreground`,children:n}),(0,Y.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:t?.map(e=>(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-5`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 whitespace-nowrap`,children:[e.icon,e.label]}),(0,Y.jsx)(`span`,{className:`font-mono`,children:e.metric})]},e.label))})]})}),Ee=({topPostsData:e,isLoading:t})=>{let n=d(),{range:r}=V(),{settings:i}=K(),{appSettings:a}=H(),o=String(i.find(e=>e.key===`timezone`)?.value||`Etc/UTC`),{webAnalytics:s=!1,membersTrackSources:c=!1,emailTrackClicks:u=!1,emailTrackOpens:f=!1}=a?.analytics||{},h=`flex items-center justify-end gap-1 rounded-md px-2 py-1 font-mono text-gray-800 hover:bg-muted-foreground/10 group-hover:text-foreground`;return(0,Y.jsxs)(E,{className:`group/card w-full lg:col-span-2`,"data-testid":`top-posts-card`,children:[(0,Y.jsxs)(x,{children:[(0,Y.jsxs)(C,{className:`flex items-baseline justify-between leading-snug font-medium text-muted-foreground`,children:[`Top posts `,y(r)]}),(0,Y.jsx)(w,{className:`hidden`,children:`Most viewed posts in this period`})]}),(0,Y.jsx)(S,{children:t?(0,Y.jsx)(ce,{className:`mt-6`}):(0,Y.jsxs)(Y.Fragment,{children:[e?.stats?.map(e=>(0,Y.jsxs)(`div`,{className:`group relative flex w-full items-start justify-between gap-5 border-t border-border/50 py-4 before:absolute before:-inset-x-4 before:inset-y-0 before:z-0 before:hidden before:rounded-md before:bg-table-row-hover before:content-[""] first:border-border! hover:cursor-pointer hover:border-transparent hover:before:block md:items-center [&+div]:hover:border-transparent`,children:[(0,Y.jsxs)(`div`,{className:`z-10 flex min-w-[160px] grow items-start gap-4 md:items-center lg:min-w-[320px]`,onClick:()=>{n(q({postId:e.post_id,hasEmailData:e.sent_count!==null,analytics:{webAnalytics:s,membersTrackSources:c}}),{crossApp:!0})},children:[e.feature_image?(0,Y.jsx)(`div`,{className:`hidden aspect-[16/10] w-[80px] shrink-0 rounded-sm bg-cover bg-center sm:visible! sm:block! lg:w-[100px]`,style:{backgroundImage:`url(${e.feature_image})`}}):(0,Y.jsx)(Te,{className:`hidden aspect-[16/10] w-[80px] shrink-0 group-hover:bg-muted-foreground/10 sm:visible! sm:flex! lg:w-[100px]`}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,Y.jsx)(`span`,{className:`line-clamp-2 text-md font-semibold`,children:e.title}),(0,Y.jsxs)(`span`,{className:`text text-muted-foreground`,children:[`By `,e.authors,` – `,m(e.published_at,o)]}),(0,Y.jsx)(`span`,{className:`text text-muted-foreground`,children:l(e)})]})]}),(0,Y.jsxs)(`div`,{className:`z-10 flex flex-col items-end justify-center gap-0.5 text-sm md:flex-row md:items-center md:justify-end md:gap-3`,children:[s&&(0,Y.jsxs)(`div`,{className:`group/tooltip relative flex w-[66px] lg:w-[92px]`,"data-testid":`statistics-visitors`,onClick:t=>{t.stopPropagation(),n(`/posts/analytics/${e.post_id}/web`,{crossApp:!0})},children:[(0,Y.jsx)(Q,{metrics:[{icon:(0,Y.jsx)(I,{className:`shrink-0 text-muted-foreground`,size:16,strokeWidth:1.5}),label:`Unique visitors`,metric:p(e.views)}],title:`Web traffic`}),(0,Y.jsxs)(`div`,{className:h,children:[(0,Y.jsx)(I,{className:`text-muted-foreground group-hover:text-foreground`,size:16,strokeWidth:1.5}),g(e.views)]})]}),e.sent_count!==null&&(0,Y.jsxs)(`div`,{className:`group/tooltip relative flex w-[66px] lg:w-[92px]`,onClick:t=>{t.stopPropagation(),n(`/posts/analytics/${e.post_id}/newsletter`,{crossApp:!0})},children:[(0,Y.jsx)(Q,{className:`${c?``:`right-0 left-auto translate-x-0`}`,metrics:[{icon:(0,Y.jsx)(G,{className:`shrink-0 text-muted-foreground`,size:16,strokeWidth:1.5}),label:`Sent`,metric:p(e.sent_count||0)},...f?[{icon:(0,Y.jsx)(z,{className:`shrink-0 text-muted-foreground`,size:16,strokeWidth:1.5}),label:`Opens`,metric:p(e.opened_count||0)}]:[],...u?[{icon:(0,Y.jsx)(A,{className:`shrink-0 text-muted-foreground`,size:16,strokeWidth:1.5}),label:`Clicks`,metric:p(e.clicked_count||0)}]:[]],title:`Newsletter performance`}),(0,Y.jsx)(`div`,{className:h,children:f?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(z,{className:`text-muted-foreground group-hover:text-foreground`,size:16,strokeWidth:1.5}),e.open_rate?`${Math.round(e.open_rate)}%`:`0%`]}):u?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(A,{className:`text-muted-foreground group-hover:text-foreground`,size:16,strokeWidth:1.5}),e.click_rate?`${Math.round(e.click_rate)}%`:`0%`]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(G,{className:`text-muted-foreground group-hover:text-foreground`,size:16,strokeWidth:1.5}),g(e.sent_count||0)]})})]}),c&&(0,Y.jsxs)(`div`,{className:`group/tooltip relative flex w-[66px] lg:w-[92px]`,"data-testid":`statistics-members`,onClick:t=>{t.stopPropagation(),n(`/posts/analytics/${e.post_id}/growth`,{crossApp:!0})},children:[(0,Y.jsx)(Q,{className:`right-0 left-auto translate-x-0`,metrics:[{icon:(0,Y.jsx)(M,{className:`shrink-0 text-muted-foreground`,size:16,strokeWidth:1.5}),label:`Free`,metric:e.free_members>0?`+${p(e.free_members)}`:`0`},...a?.paidMembersEnabled?[{icon:(0,Y.jsx)(re,{className:`shrink-0 text-muted-foreground`,size:16,strokeWidth:1.5}),label:`Paid`,metric:e.paid_members>0?`+${p(e.paid_members)}`:`0`}]:[]],title:`New members`}),(0,Y.jsxs)(`div`,{className:h,children:[(0,Y.jsx)(F,{className:`text-muted-foreground group-hover:text-foreground`,size:16,strokeWidth:1.5}),e.members>0?`+${p(e.members)}`:`0`]})]})]})]},e.post_id)),(!e?.stats||e.stats.length===0)&&(0,Y.jsx)(D,{className:`w-full pb-10`,title:`No posts ${y(r)}`,children:(0,Y.jsx)(N,{strokeWidth:1.5})})]})})]})},$=({className:e,title:t,description:n,url:r,children:i})=>(0,Y.jsx)(`a`,{className:f(`group/card block rounded-xl border bg-card p-6 transition-all hover:bg-table-row-hover hover:shadow-xs`,e),href:r,rel:`noreferrer`,target:`_blank`,children:(0,Y.jsxs)(`div`,{className:`flex items-center gap-6`,children:[i,(0,Y.jsxs)(`div`,{className:`flex flex-col gap-0.5 leading-tight`,children:[(0,Y.jsx)(`span`,{className:`text-base font-semibold`,children:t}),(0,Y.jsx)(`span`,{className:`text-sm font-normal text-gray-700`,children:n})]})]})}),De=()=>{let{appSettings:e}=H(),{range:t}=V(),{statsConfig:n,isLoading:o}=K(),{startDate:s,endDate:c,timezone:l}=ee(t),{isLoading:u,chartData:d,totals:f,currencySymbol:m}=he(t),{data:h,isLoading:g}=xe(),{data:_,isLoading:y}=i({searchParams:{date_from:R(s),date_to:R(c),limit:`5`,timezone:l}}),{data:x,loading:S}=r({endpoint:`api_kpis`,statsConfig:n,params:{site_uuid:n?.id||``,date_from:R(s),date_to:R(c),timezone:l,member_status:ye(oe)}}),C=(0,J.useMemo)(()=>v(x||[],t,`visits`,`sum`)?.map(e=>{let t=Number(e.visits),n=isNaN(t)?0:t;return{date:String(e.date),value:n,formattedValue:p(n),label:`Visitors`}}),[x,t]),w=(0,J.useMemo)(()=>b(t,x||[],{fieldName:`visits`}),[x,t]),T=(0,J.useMemo)(()=>{let e=[0,1];if(!C||C.length===0)return e;let t=C.map(e=>e.value).filter(e=>e>=0);return t.length===0?e:[0,Math.max(...t)||e[1]]},[C]),E=(0,J.useMemo)(()=>b(t,d||[]),[d,t]),D=(0,J.useMemo)(()=>{if(!d||d.length===0)return[];let e=[];return e=v(d,t,`value`,`exact`),e.map(e=>({date:e.date,value:e.free+e.paid,formattedValue:p(e.free+e.paid),label:`Members`}))},[d,t]),O=(0,J.useMemo)(()=>{if(!e?.paidMembersEnabled||!d||d.length===0)return[];let n=[];return n=v(d,t,`mrr`,`exact`),n.map(e=>({date:e.date,value:L(e.mrr),formattedValue:`${m}${p(L(e.mrr))}`,label:`MRR`}))},[d,t,m,e]),k=(0,J.useMemo)(()=>x?.length?{visits:p(x.reduce((e,t)=>{let n=Number(t.visits);return e+(isNaN(n)?0:n)},0))}:{visits:`0`},[x]);return(0,Y.jsxs)(fe,{children:[(0,Y.jsx)(pe,{children:(0,Y.jsx)(a,{children:(0,Y.jsx)(de,{excludeRanges:[`today`]})})}),(0,Y.jsxs)(me,{isLoading:o,loadingComponent:(0,Y.jsx)(Y.Fragment,{}),children:[(0,Y.jsx)(we,{currencySymbol:m,growthChartRange:E,growthTotals:f,isLoading:S||u,kpiValues:k,membersChartData:D,mrrChartData:O,visitorsChartData:C,visitorsChartRange:w,visitorsYRange:T}),(0,Y.jsx)(Ce,{isLoading:g,latestPostStats:h}),(0,Y.jsx)(Ee,{isLoading:y,topPostsData:_}),(0,Y.jsxs)(`div`,{className:`grid grid-cols-1 gap-6 lg:grid-cols-2`,children:[(0,Y.jsx)(j,{className:`mt-4 -mb-4 lg:col-span-2`,children:`Grow your audience`}),(0,Y.jsx)($,{description:`Find out how to review the performance of your content and get the most out of post analytics in Ghost.`,title:`Understanding analytics in Ghost`,url:`https://ghost.org/help/native-analytics`,children:(0,Y.jsx)(`div`,{className:`flex h-18 w-[100px] min-w-[100px] items-center justify-center rounded-md bg-gradient-to-tr from-[#14B8FF]/20 to-[#00BBA7]/20 p-4 opacity-80 transition-all group-hover/card:opacity-100`,children:(0,Y.jsx)(ie,{className:`text-[#00BBA7]`,size:20,strokeWidth:1.5})})}),(0,Y.jsx)($,{description:`Use these content distribution tactics to get more people to discover your work and increase engagement.`,title:`How to get your content seen online`,url:`https://ghost.org/resources/content-distribution/`,children:(0,Y.jsx)(`div`,{className:`flex h-18 w-[100px] min-w-[100px] items-center justify-center rounded-md bg-gradient-to-tl from-[#FDC700]/20 to-[#FF2056]/20 p-4 opacity-80 transition-all group-hover/card:opacity-100`,children:(0,Y.jsx)(I,{className:`text-[#FE9A00]`,size:20,strokeWidth:1.5})})})]})]})]})};export{De as default};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{c as r}from"./dist-Cb5RSHSg.js";import{t as i}from"./inline-Cw-gigDW.js";import{t as a}from"./stack-CIfOAAVf.js";import{t as o}from"./text-DU9Hv33_.js";import{As as s,Yr as c,Zr as l,ai as u}from"./index-DUXM0NlS.js";var d=e(t(),1),f=n();function p({className:e,children:t}){return(0,f.jsx)(i,{align:`center`,className:r(`pt-1 text-sm text-muted-foreground`,e),"data-page-header":`breadcrumb`,gap:`sm`,children:t})}function m({className:e,children:t}){return(0,f.jsx)(o,{as:`span`,className:r(`ml-1 text-base tabular-nums`,e),"data-page-header":`count`,tone:`secondary`,weight:`regular`,children:t})}function h({className:e,children:t}){return(0,f.jsx)(o,{as:`p`,className:e,"data-page-header":`description`,size:`sm`,tone:`secondary`,children:t})}function g({className:e,children:t}){return(0,f.jsx)(o,{as:`p`,className:r(`mt-0.5`,e),"data-page-header":`meta`,size:`sm`,tone:`secondary`,children:t})}function _({className:e,children:t}){let n=[],i=[];d.Children.forEach(t,e=>{if(!d.isValidElement(e)){n.push(e);return}switch(e.type){case h:case g:i.push(e);break;default:n.push(e)}});let o=(0,f.jsx)(s,{className:r(`text-lg font-semibold tracking-[0.1px] whitespace-nowrap`,e),"data-page-header":`title`,children:n});return i.length>0?(0,f.jsxs)(a,{"data-page-header":`title-body`,gap:`none`,children:[o,i]}):o}function v({className:e,children:t}){return(0,f.jsx)(a,{className:r(`h-full min-h-(--control-height) min-w-0`,e),"data-page-header":`left`,gap:`xs`,justify:`center`,children:t})}function y({children:e}){return(0,f.jsx)(f.Fragment,{children:e})}function b({children:e}){return(0,f.jsx)(c,{children:e})}function x({children:e,...t}){return(0,f.jsx)(u,{asChild:!0,...t,children:e})}function S({children:e,...t}){return(0,f.jsx)(l,{align:`end`,sideOffset:8,...t,children:e})}var C=640,w=e=>typeof window>`u`?!1:window.innerWidth<e,T=e=>{let[t,n]=d.useState(()=>w(e));return d.useEffect(()=>{let t=()=>{n(w(e))};return t(),window.addEventListener(`resize`,t),()=>{window.removeEventListener(`resize`,t)}},[e]),t},E=Object.assign(function({className:e,children:t,mobileMenuBreakpoint:n=C}){let r=d.Children.toArray(t),a=[],o=null,s=null,c=T(n);return r.forEach(e=>{if(!d.isValidElement(e)){a.push(e);return}let t=e;if(t.type===b){o=t;return}if(t.type===y){s=t.props.children??null,a.push(t.props.children??null);return}a.push(t)}),o?c?(0,f.jsx)(i,{align:`center`,className:e,"data-page-header":`action-group`,gap:`sm`,justify:`end`,children:(0,f.jsxs)(i,{align:`center`,className:`ml-auto`,"data-page-header":`action-group-mobile`,gap:`sm`,children:[o,s&&(0,f.jsx)(`div`,{"data-page-header":`action-group-mobile-primary`,children:s})]})}):(0,f.jsx)(i,{align:`center`,className:e,"data-page-header":`action-group`,gap:`sm`,justify:`end`,children:(0,f.jsx)(i,{align:`center`,"data-page-header":`action-group-desktop`,gap:`sm`,justify:`end`,children:a})}):(0,f.jsx)(i,{align:`center`,className:e,"data-page-header":`action-group`,gap:`sm`,justify:`end`,children:t})},{Primary:y,MobileMenu:b,MobileMenuTrigger:x,MobileMenuContent:S});function D({className:e,children:t}){return(0,f.jsx)(i,{align:`center`,className:r(`min-h-(--control-height) shrink-0`,e),"data-page-header":`actions`,gap:`lg`,children:t})}var O=Object.assign(function({className:e,children:t,sticky:n=!0,blurredBackground:a=!0}){return(0,f.jsx)(`header`,{className:r(`flex flex-col`,n&&`sticky top-0 z-50`,a&&`bg-gradient-to-b from-background via-background/70 to-background/70 backdrop-blur-md dark:bg-black`,e),"data-page-header":`page-header`,children:(0,f.jsx)(i,{align:`start`,className:`w-full`,"data-page-header":`main`,gap:`lg`,justify:`between`,children:t})})},{Left:v,Breadcrumb:p,Title:_,Count:m,Description:h,Meta:g,Actions:D,ActionGroup:E});export{O as t};
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{c as r}from"./dist-Cb5RSHSg.js";import{t as i}from"./inline-Cw-gigDW.js";import{t as a}from"./stack-CIfOAAVf.js";import{t as o}from"./text-DU9Hv33_.js";import{Ps as s,Yr as c,Zr as l,ai as u}from"./index-BOJzlYiz.js";var d=e(t(),1),f=n();function p({className:e,children:t}){return(0,f.jsx)(i,{align:`center`,className:r(`pt-1 text-sm text-muted-foreground`,e),"data-page-header":`breadcrumb`,gap:`sm`,children:t})}function m({className:e,children:t}){return(0,f.jsx)(o,{as:`span`,className:r(`ml-1 text-base tabular-nums`,e),"data-page-header":`count`,tone:`secondary`,weight:`regular`,children:t})}function h({className:e,children:t}){return(0,f.jsx)(o,{as:`p`,className:e,"data-page-header":`description`,size:`sm`,tone:`secondary`,children:t})}function g({className:e,children:t}){return(0,f.jsx)(o,{as:`p`,className:r(`mt-0.5`,e),"data-page-header":`meta`,size:`sm`,tone:`secondary`,children:t})}function _({className:e,children:t}){let n=[],i=[];d.Children.forEach(t,e=>{if(!d.isValidElement(e)){n.push(e);return}switch(e.type){case h:case g:i.push(e);break;default:n.push(e)}});let o=(0,f.jsx)(s,{className:r(`text-lg font-semibold tracking-[0.1px] whitespace-nowrap`,e),"data-page-header":`title`,children:n});return i.length>0?(0,f.jsxs)(a,{"data-page-header":`title-body`,gap:`none`,children:[o,i]}):o}function v({className:e,children:t}){return(0,f.jsx)(a,{className:r(`h-full min-h-(--control-height) min-w-0`,e),"data-page-header":`left`,gap:`xs`,justify:`center`,children:t})}function y({children:e}){return(0,f.jsx)(f.Fragment,{children:e})}function b({children:e}){return(0,f.jsx)(c,{children:e})}function x({children:e,...t}){return(0,f.jsx)(u,{asChild:!0,...t,children:e})}function S({children:e,...t}){return(0,f.jsx)(l,{align:`end`,sideOffset:8,...t,children:e})}var C=640,w=e=>typeof window>`u`?!1:window.innerWidth<e,T=e=>{let[t,n]=d.useState(()=>w(e));return d.useEffect(()=>{let t=()=>{n(w(e))};return t(),window.addEventListener(`resize`,t),()=>{window.removeEventListener(`resize`,t)}},[e]),t},E=Object.assign(function({className:e,children:t,mobileMenuBreakpoint:n=C}){let r=d.Children.toArray(t),a=[],o=null,s=null,c=T(n);return r.forEach(e=>{if(!d.isValidElement(e)){a.push(e);return}let t=e;if(t.type===b){o=t;return}if(t.type===y){s=t.props.children??null,a.push(t.props.children??null);return}a.push(t)}),o?c?(0,f.jsx)(i,{align:`center`,className:e,"data-page-header":`action-group`,gap:`sm`,justify:`end`,children:(0,f.jsxs)(i,{align:`center`,className:`ml-auto`,"data-page-header":`action-group-mobile`,gap:`sm`,children:[o,s&&(0,f.jsx)(`div`,{"data-page-header":`action-group-mobile-primary`,children:s})]})}):(0,f.jsx)(i,{align:`center`,className:e,"data-page-header":`action-group`,gap:`sm`,justify:`end`,children:(0,f.jsx)(i,{align:`center`,"data-page-header":`action-group-desktop`,gap:`sm`,justify:`end`,children:a})}):(0,f.jsx)(i,{align:`center`,className:e,"data-page-header":`action-group`,gap:`sm`,justify:`end`,children:t})},{Primary:y,MobileMenu:b,MobileMenuTrigger:x,MobileMenuContent:S});function D({className:e,children:t}){return(0,f.jsx)(i,{align:`center`,className:r(`min-h-(--control-height) shrink-0`,e),"data-page-header":`actions`,gap:`lg`,children:t})}var O=Object.assign(function({className:e,children:t,sticky:n=!0,blurredBackground:a=!0}){return(0,f.jsx)(`header`,{className:r(`flex flex-col`,n&&`sticky top-0 z-50`,a&&`bg-gradient-to-b from-background via-background/70 to-background/70 backdrop-blur-md dark:bg-black`,e),"data-page-header":`page-header`,children:(0,f.jsx)(i,{align:`start`,className:`w-full`,"data-page-header":`main`,gap:`lg`,justify:`between`,children:t})})},{Left:v,Breadcrumb:p,Title:_,Count:m,Description:h,Meta:g,Actions:D,ActionGroup:E});export{O as t};
@@ -1 +1 @@
1
- import{i as e,r as t,t as n}from"./hooks-D6EE7BIt.js";var r=`PagesResponseType`,i=t({dataType:r,path:`/pages/`});e({dataType:r,path:e=>`/pages/${e}/`});var a=n({dataType:r,path:`/pages/`,defaultNextPageParams:(e,t)=>{if(e.meta?.pagination.next)return{...t,page:e.meta.pagination.next.toString()}},returnData:e=>{let{pages:t}=e,n=t.flatMap(e=>e.pages),r=t[t.length-1].meta;return{pages:n,meta:r,isEnd:r?r.pagination.pages===r.pagination.page:!0}}});export{a as n,i as t};
1
+ import{i as e,r as t,t as n}from"./hooks-CJepWnbB.js";var r=`PagesResponseType`,i=t({dataType:r,path:`/pages/`});e({dataType:r,path:e=>`/pages/${e}/`});var a=n({dataType:r,path:`/pages/`,defaultNextPageParams:(e,t)=>{if(e.meta?.pagination.next)return{...t,page:e.meta.pagination.next.toString()}},returnData:e=>{let{pages:t}=e,n=t.flatMap(e=>e.pages),r=t[t.length-1].meta;return{pages:n,meta:r,isEnd:r?r.pagination.pages===r.pagination.page:!0}}});export{a as n,i as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{m as r,n as i}from"./hooks-D6EE7BIt.js";import{n as a}from"./dist-Ndy-PuGN.js";import{t as o}from"./switch-CE2NuMn-.js";import{t as s}from"./dropzone-CzhP33wa.js";import{o as c,t as l}from"./use-settings-navigation-BmROPrls.js";import{a as u,c as d,n as f,o as p,r as m,s as h,t as g}from"./field-B3OPenbP.js";import{Nn as _,On as v}from"./index-DUXM0NlS.js";import{n as y}from"./global-data-provider-RzW6Bnlf.js";import{t as b}from"./integration-header-B4DyXV06.js";import{t as x}from"./brand-icon-09YqFZjV.js";``+new URL(`pintura-screenshot-DTzk1LjU.png`,import.meta.url).href;var S=e(t(),1),C=i({method:`POST`,path:()=>`/files/upload/`,body:({file:e})=>{let t=new FormData;return t.append(`file`,e),t}}),w=n();function T(){let{updateRoute:e}=l(),[t,n]=(0,S.useState)({js:!1,css:!1}),{settings:i,config:T}=y(),[E]=v(i,[`pintura`]),{mutateAsync:D}=_(),{mutateAsync:O}=C(),k=r();(0,S.useEffect)(()=>{N(E||!1)},[E]);let[A,j]=(0,S.useState)(`Save`),[M,N]=(0,S.useState)(!!E),P=async()=>{let e=[{key:`pintura`,value:M}];try{j(`Saving...`),await Promise.all([D(e),new Promise(e=>{setTimeout(e,1e3)})]),j(`Saved`)}catch(e){k(e)}finally{setTimeout(()=>j(`Save`),1e3)}},F=async(e,t)=>{try{n(e=>({...e,[t]:!0}));let{files:r}=await O({file:e}),i=r[0].url,o=[{key:`pintura_${t}_url`,value:i}];await D(o),a.success(`Pintura ${t} uploaded`)}catch(e){k(e)}finally{n(e=>({...e,[t]:!1}))}};return(0,w.jsxs)(c,{cancelLabel:`Close`,dirty:M!==E,okLabel:A,okVariant:`default`,testId:`pintura-modal`,title:``,onClose:()=>{e(`integrations`)},onOk:P,children:[(0,w.jsx)(b,{detail:`Advanced image editing`,icon:(0,w.jsx)(x,{name:`pintura`,size:48}),title:`Pintura`}),(0,w.jsxs)(`div`,{className:`mt-7`,children:[!T.pintura&&(0,w.jsxs)(`div`,{className:`mb-7 flex flex-col items-stretch justify-between gap-4 rounded-sm bg-grey-50 p-4 md:flex-row md:p-7 dark:bg-grey-950`,children:[(0,w.jsxs)(`div`,{className:`md:basis-1/2`,children:[(0,w.jsx)(`p`,{className:`mb-4 text-md font-semibold`,children:`Add advanced image editing to Ghost, with Pintura`}),(0,w.jsx)(`p`,{className:`mb-4`,children:`Pintura is a powerful JavaScript image editor that allows you to crop, rotate, annotate and modify images directly inside Ghost.`}),(0,w.jsx)(`p`,{children:`Try a demo, purchase a license, and download the required CSS/JS files from pqina.nl/pintura/ to activate this feature.`})]}),(0,w.jsxs)(`div`,{className:`flex grow flex-col items-end justify-between gap-2 md:basis-1/2`,children:[(0,w.jsx)(`img`,{alt:`Pintura screenshot`,src:``+new URL(`pintura-screenshot-DTzk1LjU.png`,import.meta.url).href}),(0,w.jsx)(`a`,{className:`-mb-1 font-medium text-green`,href:`https://pqina.nl/pintura/ghost/?ref=ghost.org`,rel:`noopener noreferrer`,target:`_blank`,children:`Find out more →`})]})]}),(0,w.jsxs)(d,{className:`gap-0`,children:[(0,w.jsx)(h,{className:`mb-3 text-md! leading-supertight font-bold md:text-lg!`,children:`Pintura configuration`}),(0,w.jsxs)(u,{className:`gap-8 rounded-sm border border-border-default p-4 md:p-7`,children:[(0,w.jsxs)(g,{orientation:`horizontal`,children:[(0,w.jsxs)(f,{children:[(0,w.jsx)(p,{htmlFor:`pintura-enabled`,children:`Enable Pintura`}),(0,w.jsxs)(m,{children:[`Enable `,(0,w.jsx)(`a`,{className:`text-green`,href:`https://pqina.nl/pintura/ghost/?ref=ghost.org`,rel:`noopener noreferrer`,target:`_blank`,children:`Pintura`}),` for editing your images in Ghost`]})]}),(0,w.jsx)(o,{checked:M,id:`pintura-enabled`,onCheckedChange:N})]}),M&&!T.pintura&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(`div`,{className:`flex flex-col justify-between gap-1 md:flex-row md:items-center`,children:[(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`div`,{children:`Upload Pintura script`}),(0,w.jsxs)(`div`,{className:`text-sm text-grey-600`,children:[`Upload the `,(0,w.jsx)(`code`,{children:`pintura-umd.js`}),` file from the Pintura package`]})]}),(0,w.jsx)(s,{accept:{"text/javascript":[`.js`],"application/javascript":[`.js`]},disabled:t.js,variant:`button`,onDropAccepted:e=>F(e[0],`js`),children:t.js?`Uploading...`:`Upload`})]}),(0,w.jsxs)(`div`,{className:`flex flex-col justify-between gap-1 md:flex-row md:items-center`,children:[(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`div`,{children:`Upload Pintura styles`}),(0,w.jsxs)(`div`,{className:`text-sm text-grey-600`,children:[`Upload the `,(0,w.jsx)(`code`,{children:`pintura.css`}),` file from the Pintura package`]})]}),(0,w.jsx)(s,{accept:{"text/css":[`.css`]},disabled:t.css,variant:`button`,onDropAccepted:e=>F(e[0],`css`),children:t.css?`Uploading...`:`Upload`})]})]})]})]})]})]})}export{T as default};
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{m as r,n as i}from"./hooks-CJepWnbB.js";import{n as a}from"./dist-Ndy-PuGN.js";import{t as o}from"./switch-CE2NuMn-.js";import{t as s}from"./dropzone-B21Entqz.js";import{o as c,t as l}from"./use-settings-navigation-BOZcat_V.js";import{a as u,c as d,n as f,o as p,r as m,s as h,t as g}from"./field-BQqLTgHM.js";import{Nn as _,On as v}from"./index-BOJzlYiz.js";import{n as y}from"./global-data-provider-CixmTX00.js";import{t as b}from"./integration-header-B4DyXV06.js";import{t as x}from"./brand-icon-09YqFZjV.js";``+new URL(`pintura-screenshot-DTzk1LjU.png`,import.meta.url).href;var S=e(t(),1),C=i({method:`POST`,path:()=>`/files/upload/`,body:({file:e})=>{let t=new FormData;return t.append(`file`,e),t}}),w=n();function T(){let{updateRoute:e}=l(),[t,n]=(0,S.useState)({js:!1,css:!1}),{settings:i,config:T}=y(),[E]=v(i,[`pintura`]),{mutateAsync:D}=_(),{mutateAsync:O}=C(),k=r();(0,S.useEffect)(()=>{N(E||!1)},[E]);let[A,j]=(0,S.useState)(`Save`),[M,N]=(0,S.useState)(!!E),P=async()=>{let e=[{key:`pintura`,value:M}];try{j(`Saving...`),await Promise.all([D(e),new Promise(e=>{setTimeout(e,1e3)})]),j(`Saved`)}catch(e){k(e)}finally{setTimeout(()=>j(`Save`),1e3)}},F=async(e,t)=>{try{n(e=>({...e,[t]:!0}));let{files:r}=await O({file:e}),i=r[0].url,o=[{key:`pintura_${t}_url`,value:i}];await D(o),a.success(`Pintura ${t} uploaded`)}catch(e){k(e)}finally{n(e=>({...e,[t]:!1}))}};return(0,w.jsxs)(c,{cancelLabel:`Close`,dirty:M!==E,okLabel:A,okVariant:`default`,testId:`pintura-modal`,title:``,onClose:()=>{e(`integrations`)},onOk:P,children:[(0,w.jsx)(b,{detail:`Advanced image editing`,icon:(0,w.jsx)(x,{name:`pintura`,size:48}),title:`Pintura`}),(0,w.jsxs)(`div`,{className:`mt-7`,children:[!T.pintura&&(0,w.jsxs)(`div`,{className:`mb-7 flex flex-col items-stretch justify-between gap-4 rounded-sm bg-grey-50 p-4 md:flex-row md:p-7 dark:bg-grey-950`,children:[(0,w.jsxs)(`div`,{className:`md:basis-1/2`,children:[(0,w.jsx)(`p`,{className:`mb-4 text-md font-semibold`,children:`Add advanced image editing to Ghost, with Pintura`}),(0,w.jsx)(`p`,{className:`mb-4`,children:`Pintura is a powerful JavaScript image editor that allows you to crop, rotate, annotate and modify images directly inside Ghost.`}),(0,w.jsx)(`p`,{children:`Try a demo, purchase a license, and download the required CSS/JS files from pqina.nl/pintura/ to activate this feature.`})]}),(0,w.jsxs)(`div`,{className:`flex grow flex-col items-end justify-between gap-2 md:basis-1/2`,children:[(0,w.jsx)(`img`,{alt:`Pintura screenshot`,src:``+new URL(`pintura-screenshot-DTzk1LjU.png`,import.meta.url).href}),(0,w.jsx)(`a`,{className:`-mb-1 font-medium text-green`,href:`https://pqina.nl/pintura/ghost/?ref=ghost.org`,rel:`noopener noreferrer`,target:`_blank`,children:`Find out more →`})]})]}),(0,w.jsxs)(d,{className:`gap-0`,children:[(0,w.jsx)(h,{className:`mb-3 text-md! leading-supertight font-bold md:text-lg!`,children:`Pintura configuration`}),(0,w.jsxs)(u,{className:`gap-8 rounded-sm border border-border-default p-4 md:p-7`,children:[(0,w.jsxs)(g,{orientation:`horizontal`,children:[(0,w.jsxs)(f,{children:[(0,w.jsx)(p,{htmlFor:`pintura-enabled`,children:`Enable Pintura`}),(0,w.jsxs)(m,{children:[`Enable `,(0,w.jsx)(`a`,{className:`text-green`,href:`https://pqina.nl/pintura/ghost/?ref=ghost.org`,rel:`noopener noreferrer`,target:`_blank`,children:`Pintura`}),` for editing your images in Ghost`]})]}),(0,w.jsx)(o,{checked:M,id:`pintura-enabled`,onCheckedChange:N})]}),M&&!T.pintura&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(`div`,{className:`flex flex-col justify-between gap-1 md:flex-row md:items-center`,children:[(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`div`,{children:`Upload Pintura script`}),(0,w.jsxs)(`div`,{className:`text-sm text-grey-600`,children:[`Upload the `,(0,w.jsx)(`code`,{children:`pintura-umd.js`}),` file from the Pintura package`]})]}),(0,w.jsx)(s,{accept:{"text/javascript":[`.js`],"application/javascript":[`.js`]},disabled:t.js,variant:`button`,onDropAccepted:e=>F(e[0],`js`),children:t.js?`Uploading...`:`Upload`})]}),(0,w.jsxs)(`div`,{className:`flex flex-col justify-between gap-1 md:flex-row md:items-center`,children:[(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`div`,{children:`Upload Pintura styles`}),(0,w.jsxs)(`div`,{className:`text-sm text-grey-600`,children:[`Upload the `,(0,w.jsx)(`code`,{children:`pintura.css`}),` file from the Pintura package`]})]}),(0,w.jsx)(s,{accept:{"text/css":[`.css`]},disabled:t.css,variant:`button`,onDropAccepted:e=>F(e[0],`css`),children:t.css?`Uploading...`:`Upload`})]})]})]})]})]})]})}export{T as default};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{t as r}from"./inline-Cw-gigDW.js";import{ar as i}from"./index-DUXM0NlS.js";var a=e(t(),1),o=n(),s=({href:e,onDestroyed:t,selectedTab:n,portalParent:s})=>{n||=`signup`;let c=(0,a.useRef)(null),[l,u]=(0,a.useState)(!1),[d,f]=(0,a.useState)(!0),p=(0,a.useCallback)(()=>{setTimeout(()=>{c.current&&f(!1)},300)},[c]);if((0,a.useEffect)(()=>{let n=t=>{e&&new URL(t.origin).origin===new URL(e).origin&&t?.data?.type===`portal-preview-ready`&&p()};return window.addEventListener(`message`,n,!0),()=>{window.removeEventListener(`message`,n,!0),t?.()}},[e,t,p,l]),!e)return null;let m=`mt-[-7%] flex h-screen items-center justify-center`,h=`hidden`;return s===`preview`?(m=`pointer-events-none absolute inset-0 z-50`,h=`invisible`):s===`offers`&&(m=`absolute inset-0 z-50`,h=`invisible`),(0,o.jsxs)(o.Fragment,{children:[d&&(0,o.jsx)(r,{align:`center`,className:m,justify:`center`,children:(0,o.jsx)(i,{size:`lg`})}),(0,o.jsx)(`iframe`,{ref:c,className:!d&&l?``:h,"data-testid":`portal-preview`,height:`100%`,src:e,title:`Portal Preview`,width:`100%`,onLoad:()=>{u(!0)}})]})};export{s as t};
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{t as r}from"./inline-Cw-gigDW.js";import{ar as i}from"./index-BOJzlYiz.js";var a=e(t(),1),o=n(),s=({href:e,onDestroyed:t,selectedTab:n,portalParent:s})=>{n||=`signup`;let c=(0,a.useRef)(null),[l,u]=(0,a.useState)(!1),[d,f]=(0,a.useState)(!0),p=(0,a.useCallback)(()=>{setTimeout(()=>{c.current&&f(!1)},300)},[c]);if((0,a.useEffect)(()=>{let n=t=>{e&&new URL(t.origin).origin===new URL(e).origin&&t?.data?.type===`portal-preview-ready`&&p()};return window.addEventListener(`message`,n,!0),()=>{window.removeEventListener(`message`,n,!0),t?.()}},[e,t,p,l]),!e)return null;let m=`mt-[-7%] flex h-screen items-center justify-center`,h=`hidden`;return s===`preview`?(m=`pointer-events-none absolute inset-0 z-50`,h=`invisible`):s===`offers`&&(m=`absolute inset-0 z-50`,h=`invisible`),(0,o.jsxs)(o.Fragment,{children:[d&&(0,o.jsx)(r,{align:`center`,className:m,justify:`center`,children:(0,o.jsx)(i,{size:`lg`})}),(0,o.jsx)(`iframe`,{ref:c,className:!d&&l?``:h,"data-testid":`portal-preview`,height:`100%`,src:e,title:`Portal Preview`,width:`100%`,onLoad:()=>{u(!0)}})]})};export{s as t};