ghost 6.55.0 → 6.57.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 (483) hide show
  1. package/bin/validate-adapters.js +74 -0
  2. package/bin/validate-adapters.ts +87 -0
  3. package/bin/warm-compile-cache.sh +60 -0
  4. package/components/tryghost-custom-field-types-0.0.0.tgz +0 -0
  5. package/components/tryghost-kg-default-cards-10.3.3.tgz +0 -0
  6. package/components/tryghost-kg-default-nodes-2.1.4.tgz +0 -0
  7. package/components/tryghost-kg-default-transforms-1.3.3.tgz +0 -0
  8. package/components/tryghost-kg-html-to-lexical-1.3.3.tgz +0 -0
  9. package/components/tryghost-kg-lexical-html-renderer-1.4.3.tgz +0 -0
  10. package/components/tryghost-nql-string-0.0.0.tgz +0 -0
  11. package/components/tryghost-parse-email-address-0.0.0.tgz +0 -0
  12. package/core/app.js +1 -1
  13. package/core/boot.js +21 -25
  14. package/core/bridge.js +10 -12
  15. package/core/built/admin/assets/Combination-BDvCdg1t.js +41 -0
  16. package/core/built/admin/assets/{PolarAngleAxis-BGjf7sBu.js → PolarAngleAxis-C4qtHy1B.js} +1 -1
  17. package/core/built/admin/assets/{RadialBarChart-zeFf9mBz.js → RadialBarChart-Bh09Stsj.js} +1 -1
  18. package/core/built/admin/assets/about-C7O-AgRZ.js +1 -0
  19. package/core/built/admin/assets/{account-migration-sjHLx5dy.js → account-migration-Cv_ol1ko.js} +1 -1
  20. package/core/built/admin/assets/action-list-lGzZLHc8.js +1 -0
  21. package/core/built/admin/assets/activitypub/{account-migration-DoYXtnZ8.js → account-migration-DHFbePl6.js} +7 -7
  22. package/core/built/admin/assets/activitypub/activitypub.js +6 -6
  23. package/core/built/admin/assets/activitypub/{avatar-B3DEDB1l.js → avatar-CT4tS2_S.js} +2 -2
  24. package/core/built/admin/assets/activitypub/{avatar-flipboard-Cqrg0XMx.js → avatar-flipboard-ByYWKipo.js} +2 -2
  25. package/core/built/admin/assets/activitypub/{bluesky-sharing-Bxeh6MKW.js → bluesky-sharing-srVnSHDz.js} +16 -16
  26. package/core/built/admin/assets/activitypub/{content-formatters-BpQARh28.js → content-formatters-C2sos5Ht.js} +3 -3
  27. package/core/built/admin/assets/activitypub/{copy-D9UWIAan.js → copy-B1UBTOoZ.js} +2 -2
  28. package/core/built/admin/assets/activitypub/{dist-D8sFfdpC.js → dist-MPsb2WZ1.js} +12 -12
  29. package/core/built/admin/assets/activitypub/{domain-CWueFW6q.js → domain-DzcM9Dzo.js} +9 -9
  30. package/core/built/admin/assets/activitypub/{edit-profile-BGxPU7N5.js → edit-profile-CsQ_4xAk.js} +945 -945
  31. package/core/built/admin/assets/activitypub/{explore-DBK-u0Ch.js → explore-CJe0DZBK.js} +8 -8
  32. package/core/built/admin/assets/activitypub/{feed-Bcir5RQZ.js → feed-CKV3qWON.js} +33 -33
  33. package/core/built/admin/assets/activitypub/{field-BV-CIT3d.js → field-DckHfDJf.js} +3 -3
  34. package/core/built/admin/assets/activitypub/{hash-BC9Q0N4c.js → hash-Dlp8RM55.js} +2 -2
  35. package/core/built/admin/assets/activitypub/{inbox-DQ4ZnC1m.js → inbox-CsPy4R0M.js} +2 -2
  36. package/core/built/admin/assets/activitypub/{inbox-yC0nfvzl.js → inbox-DAsjzUUe.js} +85 -85
  37. package/core/built/admin/assets/activitypub/{label-DTRS9TDk.js → label-DWyo9E5T.js} +3 -3
  38. package/core/built/admin/assets/activitypub/layout-DM_3pqsU.js +1 -0
  39. package/core/built/admin/assets/activitypub/{moderation-Dwl9t0pb.js → moderation-B0Inc03M.js} +11 -11
  40. package/core/built/admin/assets/activitypub/{note-B-zKsZ7r.js → note-CSE54lER.js} +7 -7
  41. package/core/built/admin/assets/activitypub/{notifications-DjJZD54t.js → notifications-RSwbKqdh.js} +9 -9
  42. package/core/built/admin/assets/activitypub/{preferences-CoU8vs6d.js → preferences-CE231n2_.js} +20 -20
  43. package/core/built/admin/assets/activitypub/{profile-BAsaJekx.js → profile-aaQ1j1Eo.js} +237 -237
  44. package/core/built/admin/assets/activitypub/{reply-CpdMeAO5.js → reply-Cjb0Vs3m.js} +2 -2
  45. package/core/built/admin/assets/activitypub/{routes-CLH3OVTP.js → routes-Djb0mc9k.js} +1139 -1150
  46. package/core/built/admin/assets/activitypub/{separator-BI1FLsYM.js → separator-D8pROI5n.js} +3 -3
  47. package/core/built/admin/assets/activitypub/{settings-DA6pNJ-Q.js → settings-DMc32IQl.js} +13 -13
  48. package/core/built/admin/assets/activitypub/{site-CQD42Pw5.js → site-DVIcsohX.js} +81 -81
  49. package/core/built/admin/assets/activitypub/{step-1-DIDg4aHb.js → step-1-9Yey9usF.js} +5 -5
  50. package/core/built/admin/assets/activitypub/{step-2-BfGe8BYt.js → step-2-DdYmKRXV.js} +6 -6
  51. package/core/built/admin/assets/activitypub/{step-3-mE9spAqw.js → step-3-hdSkcjZU.js} +10 -10
  52. package/core/built/admin/assets/activitypub/{tabs-Cg0saow1.js → tabs-CUqseYzQ.js} +317 -315
  53. package/core/built/admin/assets/activitypub/{topic-filter-DLHBZT93.js → topic-filter-Coni6OXM.js} +3 -3
  54. package/core/built/admin/assets/activitypub/{use-activity-pub-queries-VzbN99u_.js → use-activity-pub-queries-MeHTPMQv.js} +2 -2
  55. package/core/built/admin/assets/activitypub/{use-navigate-with-base-path-CAwXTmqH.js → use-navigate-with-base-path-B046AM38.js} +115 -96
  56. package/core/built/admin/assets/activitypub/{use-reply-chain-data-Br4aOWOh.js → use-reply-chain-data-1AO-Xob6.js} +5 -5
  57. package/core/built/admin/assets/activitypub/{x-C8tAnXly.js → x-BRfRYd16.js} +2 -2
  58. package/core/built/admin/assets/add-integration-modal-m9Dv6f77.js +1 -0
  59. package/core/built/admin/assets/add-newsletter-modal-CPSVZL2H.js +1 -0
  60. package/core/built/admin/assets/add-recommendation-modal-Ci9Z5yat.js +1 -0
  61. package/core/built/admin/assets/analytics-DqSCVV8U.js +1 -0
  62. package/core/built/admin/assets/announcement-bar-modal-DU3avV7d.js +1 -0
  63. package/core/built/admin/assets/api-keys-BK0LylyK.js +1 -0
  64. package/core/built/admin/assets/api-keys-_iCT4dxr.js +1 -0
  65. package/core/built/admin/assets/{audience-DjEWNhp3.js → audience-DTJtXXWY.js} +1 -1
  66. package/core/built/admin/assets/automated-emails-PayPCT8L.js +1 -0
  67. package/core/built/admin/assets/{automations-DhKeS_U5.js → automations-162q5HjL.js} +1 -1
  68. package/core/built/admin/assets/{automations-Bx3VcFIL.js → automations-dtQ_MRZ7.js} +1 -1
  69. package/core/built/admin/assets/{bluesky-sharing-ClMd0-Ft.js → bluesky-sharing-B8Es3AuV.js} +1 -1
  70. package/core/built/admin/assets/{box-BWbhXh21.js → box-By_EgGtm.js} +1 -1
  71. package/core/built/admin/assets/brand-icon-09YqFZjV.js +1 -0
  72. package/core/built/admin/assets/{breadcrumb-BD0U2ygg.js → breadcrumb-tg5zL--z.js} +1 -1
  73. package/core/built/admin/assets/build-CsiH26uS.js +1 -0
  74. package/core/built/admin/assets/{card-DGoDJzrn.js → card-aUHX0hyR.js} +1 -1
  75. package/core/built/admin/assets/{chart-BuRT2Y6p.js → chart-BnXyfH11.js} +1 -1
  76. package/core/built/admin/assets/{chart-helpers-fjQKRVyY.js → chart-helpers-CZElTGYL.js} +1 -1
  77. package/core/built/admin/assets/checkbox-Cyo-x7mC.js +1 -0
  78. package/core/built/admin/assets/chunk.524.cd5498dd4e195f679266.js +25 -0
  79. package/core/built/admin/assets/chunk.582.6f92ec1f03734bf2ea3f.js +27 -0
  80. package/core/built/admin/assets/{chunk.481.6c7395a49484bb4583aa.js → chunk.873.b8fc05a8ab877fb819ed.js} +62 -60
  81. package/core/built/admin/assets/code-editor-view-Dq1rQ4tS.js +1 -0
  82. package/core/built/admin/assets/color-picker-field-BonBgxhU.js +1 -0
  83. package/core/built/admin/assets/color-utils-BsrwXuDz.js +1 -0
  84. package/core/built/admin/assets/combobox-uX5r_paI.js +1 -0
  85. package/core/built/admin/assets/command-DxwBO2pF.js +1 -0
  86. package/core/built/admin/assets/comments-Dn-RO-nU.js +1 -0
  87. package/core/built/admin/assets/components-CwL6a6As-B0E0-NBJ.js +1 -0
  88. package/core/built/admin/assets/confirmation-modal-B6D6mk6R.js +1 -0
  89. package/core/built/admin/assets/{container-BYz2Ed39.js → container-LiZf3XdY.js} +1 -1
  90. package/core/built/admin/assets/content-api-modal-BxQ-7T6u.js +1 -0
  91. package/core/built/admin/assets/copy-field-BAxL4Zqn.js +1 -0
  92. package/core/built/admin/assets/currency-Dy4Tc2R2.js +1 -0
  93. package/core/built/admin/assets/custom-integration-modal---d_l7lc.js +1 -0
  94. package/core/built/admin/assets/{data-list-16rkJYYi.js → data-list-CupF7bjM.js} +1 -1
  95. package/core/built/admin/assets/{date-range-select-BFp58EMk.js → date-range-select-PB2n1HZf.js} +1 -1
  96. package/core/built/admin/assets/debounce-Dg2fW5Rg.js +3 -0
  97. package/core/built/admin/assets/design-and-theme-modal-DYRT207a.js +23 -0
  98. package/core/built/admin/assets/dirty-confirm-dialog-BnDJ39ao.js +1 -0
  99. package/core/built/admin/assets/disabled-sources-indicator-iMHrkyV3.js +1 -0
  100. package/core/built/admin/assets/dist-B2PvRwLn.js +1 -0
  101. package/core/built/admin/assets/{dist-DGzPJ_bO.js → dist-Cb5RSHSg.js} +1 -1
  102. package/core/built/admin/assets/{dist-P_ohUlTi.js → dist-CqO2lWS02.js} +1 -1
  103. package/core/built/admin/assets/{dist-pHiOxyxa.js → dist-D5vhMdXf.js} +1 -1
  104. package/core/built/admin/assets/dist-DlCyLrOC.js +1 -0
  105. package/core/built/admin/assets/dist-WeOIvSYM.js +23 -0
  106. package/core/built/admin/assets/{dist-DyViJwIy.js → dist-cFzKLG7y.js} +3 -3
  107. package/core/built/admin/assets/dist-j1xxxnY8.js +1 -0
  108. package/core/built/admin/assets/dist-myQaY0ka.js +1 -0
  109. package/core/built/admin/assets/domain-BR8FIdjD.js +1 -0
  110. package/core/built/admin/assets/{dropzone-DlK-K2DQ.js → dropzone-hNxmUvwD.js} +1 -1
  111. package/core/built/admin/assets/{edit-profile-BKT-REJw.js → edit-profile-CENrkY0l.js} +1 -1
  112. package/core/built/admin/assets/editor-B18D0lm8.js +8 -0
  113. package/core/built/admin/assets/embed-signup-form-modal-BsCYUMvQ.js +9 -0
  114. package/core/built/admin/assets/{empty-indicator-oX1u1Pkn.js → empty-indicator-WB1WgT9h.js} +1 -1
  115. package/core/built/admin/assets/{explore-ClUpJZOp.js → explore-BmrnljWw.js} +1 -1
  116. package/core/built/admin/assets/{feed-DF92dUMP.js → feed-Dy4li6i8.js} +1 -1
  117. package/core/built/admin/assets/{field-Do7lieBA.js → field-Dh_lwk13.js} +1 -1
  118. package/core/built/admin/assets/filter-sources-D2zDuJH5.js +1 -0
  119. package/core/built/admin/assets/filters-3JBQcNtJ.js +1 -0
  120. package/core/built/admin/assets/filters-CFt_BDe4.js +1 -0
  121. package/core/built/admin/assets/first-promoter-modal-D6Rjxugw.js +1 -0
  122. package/core/built/admin/assets/format-url-C-t8G6Qd.js +1 -0
  123. package/core/built/admin/assets/{ghost-a9c788f6f0b1ea6cf0f14ca4b13f4496.css → ghost-d38c30b866e59f2e06a357b5eb844fe5.css} +1 -1
  124. package/core/built/admin/assets/{ghost-c4057474943effc568c5659ccc4909d7.js → ghost-d683fbeb945b13155ea669caa5d8db41.js} +420 -398
  125. package/core/built/admin/assets/{ghost-dark-db36d795d21c61426837df40af270966.css → ghost-dark-1bffd5099ba7a749303133efacf8480b.css} +1 -1
  126. package/core/built/admin/assets/{gift-link-modal-f9VIMNDv.js → gift-link-modal-zMtlJhLQ.js} +1 -1
  127. package/core/built/admin/assets/{gift-links-CsUhefWG.js → gift-links-CVuqLhsZ.js} +1 -1
  128. package/core/built/admin/assets/global-data-provider-B949LDXJ.js +1 -0
  129. package/core/built/admin/assets/grid-CUciBfjf.js +1 -0
  130. package/core/built/admin/assets/{growth-CVw1My4S.js → growth-C38Xtp8D.js} +2 -2
  131. package/core/built/admin/assets/{growth-B3I6gNLm.js → growth-CFws67_i.js} +1 -1
  132. package/core/built/admin/assets/history-modal-ILAOkbxH.js +1 -0
  133. package/core/built/admin/assets/{hooks-CixO01lL.js → hooks-D6EE7BIt.js} +2 -2
  134. package/core/built/admin/assets/html-field-9a9Id_2q.js +1 -0
  135. package/core/built/admin/assets/iframe-buffering-e8vH4-Qn.js +1 -0
  136. package/core/built/admin/assets/images-CrQKVc9Q.js +1 -0
  137. package/core/built/admin/assets/{inbox-CFBSu4Ed.js → inbox-BrSRzyvz.js} +6 -6
  138. package/core/built/admin/assets/index-BHy2DZX-.js +67 -0
  139. package/core/built/admin/assets/index-Ds2iUoF6.css +1 -0
  140. package/core/built/admin/assets/index.es-B9tvf-t4.js +1 -0
  141. package/core/built/admin/assets/{inline-EMAm3okk.js → inline-Cw-gigDW.js} +1 -1
  142. package/core/built/admin/assets/input-group-6vEPvX9S.js +1 -0
  143. package/core/built/admin/assets/{input-surface-BpAjZXY5.js → input-surface-BdOe4KzO.js} +1 -1
  144. package/core/built/admin/assets/integration-header-B4DyXV06.js +1 -0
  145. package/core/built/admin/assets/integrations-BT6_iJvu.js +1 -0
  146. package/core/built/admin/assets/invite-user-modal-5xDCEw90.js +1 -0
  147. package/core/built/admin/assets/isEmail-BOfC647y.js +1 -0
  148. package/core/built/admin/assets/koenig-editor-base-BWLEB9Vf.js +1 -0
  149. package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +9535 -9527
  150. package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +124 -124
  151. package/core/built/admin/assets/{koenig-lexical-f8vHRYvz.js → koenig-lexical-Cj62r_y9.js} +86 -86
  152. package/core/built/admin/assets/{kpi-card-DSap9rAy.js → kpi-card-DOUnkZcN.js} +1 -1
  153. package/core/built/admin/assets/{kpi-card-DU0rn9Cj.js → kpi-card-IHDo8Q56.js} +1 -1
  154. package/core/built/admin/assets/{kpi-helpers-Dz33AV6h.js → kpi-helpers-CjUdECAK.js} +1 -1
  155. package/core/built/admin/assets/{kpi-tabs-BtTTrKvJ.js → kpi-tabs-X3DkOYbI.js} +1 -1
  156. package/core/built/admin/assets/{label-DS8Mi6G5.js → label-Dq6QaOuS.js} +1 -1
  157. package/core/built/admin/assets/label-picker-8YlhS2U3.js +1 -0
  158. package/core/built/admin/assets/labels-DAPjKPy2.js +1 -0
  159. package/core/built/admin/assets/layout-TMj4P-vv.js +1 -0
  160. package/core/built/admin/assets/limit-modal-BRPsit_B.js +1 -0
  161. package/core/built/admin/assets/link-helpers-Bzkk68GD.js +1 -0
  162. package/core/built/admin/assets/{list-page-B6ANtzkd.js → list-page-CdsnQR9N.js} +1 -1
  163. package/core/built/admin/assets/member-custom-fields-CmvsuuV_.js +1 -0
  164. package/core/built/admin/assets/member-detail-DCvRrkmJ.js +1 -0
  165. package/core/built/admin/assets/members-DxbSKngD.js +11 -0
  166. package/core/built/admin/assets/modal-page-BMTzFHVO.js +1 -0
  167. package/core/built/admin/assets/{moderation-DySbgyUS.js → moderation-Da5lhhWh.js} +1 -1
  168. package/core/built/admin/assets/multi-select-combobox-CYdkH7KQ.js +1 -0
  169. package/core/built/admin/assets/navigation-modal-BIoTwtMy.js +1 -0
  170. package/core/built/admin/assets/newsletter-BptlVoJm.js +1 -0
  171. package/core/built/admin/assets/newsletter-detail-modal-BIvxqE0N.js +1 -0
  172. package/core/built/admin/assets/newsletter-emails-Bf8IZLsP.js +1 -0
  173. package/core/built/admin/assets/newsletters-BgrIZk0V.js +1 -0
  174. package/core/built/admin/assets/{newsletters-BXJbJgA-.js → newsletters-Du0lzskS.js} +1 -1
  175. package/core/built/admin/assets/{note-C8kxrz6w.js → note-DYcLOmDb.js} +1 -1
  176. package/core/built/admin/assets/{notifications-CgtSfX7t.js → notifications-B2SPFIV9.js} +1 -1
  177. package/core/built/admin/assets/{offers-DEniVRD5.js → offers-Um6ab71O.js} +1 -1
  178. package/core/built/admin/assets/offers-container-modal-BZnZITMw.js +1 -0
  179. package/core/built/admin/assets/{onboarding-route-4qtziA9d.js → onboarding-route-DgdfxkQh.js} +1 -1
  180. package/core/built/admin/assets/overview-BYQJXSog.js +1 -0
  181. package/core/built/admin/assets/overview-Dt2_mR6U.js +1 -0
  182. package/core/built/admin/assets/{page-header-B3Wb9Jqv.js → page-header-CpmxJj5B.js} +1 -1
  183. package/core/built/admin/assets/{pages-B4goRPUn.js → pages-BVMnpI2O.js} +1 -1
  184. package/core/built/admin/assets/pintura-modal-B4MuBuuO.js +1 -0
  185. package/core/built/admin/assets/portal-frame-BF0NBIji.js +1 -0
  186. package/core/built/admin/assets/portal-modal-DMVbm0oy.js +1 -0
  187. package/core/built/admin/assets/{post-analytics-We-ko5Cb.js → post-analytics-CXWBOGyP.js} +1 -1
  188. package/core/built/admin/assets/post-analytics-header-ChzjXVPt.js +1 -0
  189. package/core/built/admin/assets/{post-analytics-provider-B6UynTGb.js → post-analytics-provider-Cgw4U_fw.js} +1 -1
  190. package/core/built/admin/assets/{post-share-modal-DFfO93_0.js → post-share-modal-B9Vmk_XM.js} +1 -1
  191. package/core/built/admin/assets/{posts-DhXE7b6r.js → posts-CxG7v0-M.js} +1 -1
  192. package/core/built/admin/assets/preferences-BfzJmnsd.js +5 -0
  193. package/core/built/admin/assets/preview-chrome-BOVO6_PE.js +1 -0
  194. package/core/built/admin/assets/preview-modal-Dw_HtD6S.js +1 -0
  195. package/core/built/admin/assets/profile-BT5vtv9b.js +1 -0
  196. package/core/built/admin/assets/radio-group-I7ou7PoJ.js +1 -0
  197. package/core/built/admin/assets/{referrers-pmJT4k3-.js → referrers-B9QDAfYm.js} +1 -1
  198. package/core/built/admin/assets/{router-provider-C1R4AZ2o.js → router-provider-DSQfprxH.js} +1 -1
  199. package/core/built/admin/assets/select-D9oU1IoM.js +1 -0
  200. package/core/built/admin/assets/settings-CfZFbyu_.js +4 -0
  201. package/core/built/admin/assets/{settings-WXNeWyU1.js → settings-CpvHWix7.js} +1 -1
  202. package/core/built/admin/assets/settings-breadcrumbs-K0USP2nw.js +1 -0
  203. package/core/built/admin/assets/{shade-app-B3heOAfz-CGXQwWeO.js → shade-app-B3heOAfz-BhQXxNkT.js} +1 -1
  204. package/core/built/admin/assets/{share-modal-DsgW3wbg.js → share-modal-ClIyPzc5.js} +1 -1
  205. package/core/built/admin/assets/slack-modal-1XXqOfiw.js +1 -0
  206. package/core/built/admin/assets/social-urls-CHQ9cTAK.js +1 -0
  207. package/core/built/admin/assets/{sort-button-Bb_FCl7e.js → sort-button-CdBsm40v.js} +1 -1
  208. package/core/built/admin/assets/{source-icon-BeaRxUn9.js → source-icon-CEYmVLXR.js} +1 -1
  209. package/core/built/admin/assets/{stack-xiN0eQ6Z.js → stack-CIfOAAVf.js} +1 -1
  210. package/core/built/admin/assets/{stats-Bjj_kmJ1.js → stats-D8nZCTy5.js} +1 -1
  211. package/core/built/admin/assets/{stats-view-BxPbW6K1.js → stats-view-CugFVf0g.js} +1 -1
  212. package/core/built/admin/assets/{step-1-B1e3-1F8.js → step-1-DOYjrORn.js} +1 -1
  213. package/core/built/admin/assets/{step-2-C5WaeBJo.js → step-2-vA6RsarH.js} +1 -1
  214. package/core/built/admin/assets/{step-3-B46iVPwu.js → step-3-BtIBxMId.js} +2 -2
  215. package/core/built/admin/assets/stripe-button-UFP4QRXd.js +1 -0
  216. package/core/built/admin/assets/stripe-connect-modal-C_L3uM6n.js +1 -0
  217. package/core/built/admin/assets/switch-CE2NuMn-.js +1 -0
  218. package/core/built/admin/assets/{table-CB-4_HBJ.js → table-TMCgCQK7.js} +1 -1
  219. package/core/built/admin/assets/tabs-Dd6oOKbv.js +1 -0
  220. package/core/built/admin/assets/tag-detail-D3l-UJPR.js +1 -0
  221. package/core/built/admin/assets/tags-BwCgmr5v.js +1 -0
  222. package/core/built/admin/assets/tags-WdKQGWR8.js +1 -0
  223. package/core/built/admin/assets/testimonials-modal-CqWp-xXJ.js +1 -0
  224. package/core/built/admin/assets/{text-DwtjwGkh.js → text-DU9Hv33_.js} +1 -1
  225. package/core/built/admin/assets/textarea-d9qEkMOP.js +1 -0
  226. package/core/built/admin/assets/tier-detail-modal-BkcR2u0A.js +1 -0
  227. package/core/built/admin/assets/{tiers-DYsa4DCo.js → tiers-Da6kxHQP.js} +1 -1
  228. package/core/built/admin/assets/toggle-group-Guorw93z.js +1 -0
  229. package/core/built/admin/assets/{topic-filter-DAFT87tQ.js → topic-filter-CbgoWIHn.js} +1 -1
  230. package/core/built/admin/assets/transistor-modal-DuNnnpal.js +1 -0
  231. package/core/built/admin/assets/unsplash-modal-y2bVwTHH.js +1 -0
  232. package/core/built/admin/assets/{use-analytics-data-S0FTd43s.js → use-analytics-data-B-b4wNSC.js} +1 -1
  233. package/core/built/admin/assets/use-check-theme-limit-error-m09J38Mq.js +2 -0
  234. package/core/built/admin/assets/use-feature-flag-ud0Qz8vt.js +1 -0
  235. package/core/built/admin/assets/{use-filter-params-Gpoq2E1L.js → use-filter-params-BnbBDc7T.js} +1 -1
  236. package/core/built/admin/assets/use-filterable-api-iMpDZBxD.js +1 -0
  237. package/core/built/admin/assets/use-form-vRjI0Kwk.js +1 -0
  238. package/core/built/admin/assets/{use-growth-stats-CIaiHOVb.js → use-growth-stats-DPU5rt3W.js} +1 -1
  239. package/core/built/admin/assets/use-hash-link-navigation-guard-B9j6HIrV.js +1 -0
  240. package/core/built/admin/assets/use-limiter-BkN3E4gw.js +2 -0
  241. package/core/built/admin/assets/use-pintura-config-C_z8HTG2.js +1 -0
  242. package/core/built/admin/assets/use-pintura-editor-DNgbkhGp.js +1 -0
  243. package/core/built/admin/assets/{use-post-referrers-Cq2vBPrA.js → use-post-referrers-C2mXyrp-.js} +1 -1
  244. package/core/built/admin/assets/use-query-params-DHhhu8wi.js +1 -0
  245. package/core/built/admin/assets/{use-reply-chain-data-DBDRtGu-.js → use-reply-chain-data-DaK8q2qQ.js} +1 -1
  246. package/core/built/admin/assets/use-setting-group-YlYcoNyP.js +1 -0
  247. package/core/built/admin/assets/use-settings-navigation-Bf1g1rEh.js +1 -0
  248. package/core/built/admin/assets/{use-simple-pagination-CjYNxdwe.js → use-simple-pagination-D9ckKo5-.js} +1 -1
  249. package/core/built/admin/assets/{use-tinybird-query-falHAtuK.js → use-tinybird-query-GSa32hVw.js} +1 -1
  250. package/core/built/admin/assets/{use-tinybird-token-D7-8ND1y.js → use-tinybird-token-CKLOZFsw.js} +1 -1
  251. package/core/built/admin/assets/use-url-input-z-p0Kewm.js +5 -0
  252. package/core/built/admin/assets/user-detail-modal-BMxOA4Sv.js +1 -0
  253. package/core/built/admin/assets/{users-Dkv8NQZe.js → users-B6hIds6n.js} +1 -1
  254. package/core/built/admin/assets/validator-Cr0sMKuW.js +7 -0
  255. package/core/built/admin/assets/{virtual-list-CvnC9zF2.js → virtual-list-RHeEL05L.js} +1 -1
  256. package/core/built/admin/assets/{web-jFYWCKDn.js → web-Bw2QMO5u.js} +2 -2
  257. package/core/built/admin/assets/web-xJtcwMy4.js +1 -0
  258. package/core/built/admin/assets/zapier-modal-BP2f4-vY.js +1 -0
  259. package/core/built/admin/index.html +20 -18
  260. package/core/frontend/helpers/authors.js +1 -1
  261. package/core/frontend/helpers/link.js +3 -8
  262. package/core/frontend/helpers/tags.js +1 -1
  263. package/core/frontend/meta/author-url.js +2 -2
  264. package/core/frontend/meta/url.js +4 -4
  265. package/core/frontend/services/data/fetch-data.js +10 -5
  266. package/core/frontend/services/proxy.js +1 -1
  267. package/core/frontend/services/routing/api-adapter.js +115 -0
  268. package/core/frontend/services/routing/api-adapter.ts +157 -0
  269. package/core/frontend/services/routing/collection-router.js +5 -3
  270. package/core/frontend/services/routing/controllers/index.js +1 -1
  271. package/core/frontend/services/routing/controllers/rss.js +26 -31
  272. package/core/frontend/services/routing/controllers/rss.ts +66 -0
  273. package/core/frontend/services/routing/controllers/static.js +8 -7
  274. package/core/frontend/services/routing/events.js +20 -6
  275. package/core/frontend/services/routing/parent-router.js +17 -4
  276. package/core/frontend/services/routing/permalink-adapter.js +13 -0
  277. package/core/frontend/services/routing/permalink-adapter.ts +10 -0
  278. package/core/frontend/services/routing/registry.js +59 -33
  279. package/core/frontend/services/routing/router-manager.js +24 -22
  280. package/core/frontend/services/routing/static-routes-router.js +4 -4
  281. package/core/frontend/services/routing/taxonomy-router.js +6 -2
  282. package/core/frontend/services/sitemap/base-site-map-generator.js +1 -28
  283. package/core/frontend/services/sitemap/site-map-manager.js +22 -57
  284. package/core/server/adapters/route-settings/utils.js +10 -2
  285. package/core/server/adapters/route-settings/utils.ts +12 -2
  286. package/core/server/api/endpoints/email-post.js +1 -1
  287. package/core/server/api/endpoints/previews.js +1 -1
  288. package/core/server/api/endpoints/search-index-public.js +3 -3
  289. package/core/server/api/endpoints/search-index.js +4 -4
  290. package/core/server/api/endpoints/utils/serializers/input/authors.js +2 -2
  291. package/core/server/api/endpoints/utils/serializers/input/comments.js +1 -1
  292. package/core/server/api/endpoints/utils/serializers/input/pages.js +3 -3
  293. package/core/server/api/endpoints/utils/serializers/input/posts.js +3 -3
  294. package/core/server/api/endpoints/utils/serializers/input/tags.js +1 -1
  295. package/core/server/api/endpoints/utils/serializers/input/users.js +2 -2
  296. package/core/server/api/endpoints/utils/serializers/input/utils/url.js +31 -13
  297. package/core/server/api/endpoints/utils/serializers/output/mappers/posts.js +2 -2
  298. package/core/server/api/endpoints/utils/serializers/output/mappers/tags.js +2 -2
  299. package/core/server/api/endpoints/utils/serializers/output/mappers/users.js +8 -0
  300. package/core/server/api/endpoints/utils/serializers/output/utils/url.js +18 -11
  301. package/core/server/data/migrations/versions/6.56/2026-08-03-19-27-51-add-automation-run-step-id-to-automated-email-recipients.js +8 -0
  302. package/core/server/data/migrations/versions/6.56/2026-08-04-14-42-39-restrict-notification-add-permission-to-administrators.js +12 -0
  303. package/core/server/data/migrations/versions/6.57/2026-08-04-18-00-00-store-custom-field-values-as-leaf-rows.js +74 -0
  304. package/core/server/data/migrations/versions/6.57/2026-08-04-18-54-14-reset-automation-email-analytics.js +25 -0
  305. package/core/server/data/schema/commands.js +21 -5
  306. package/core/server/data/schema/fixtures/fixtures.json +2 -2
  307. package/core/server/data/schema/schema.js +25 -5
  308. package/core/server/lib/common/to-plain.ts +1 -1
  309. package/core/server/models/post.js +12 -3
  310. package/core/server/services/adapter-manager/adapter-manager.js +1 -45
  311. package/core/server/services/adapter-manager/adapter-manager.ts +2 -48
  312. package/core/server/services/adapter-manager/adapter-paths.js +24 -0
  313. package/core/server/services/adapter-manager/adapter-paths.ts +21 -0
  314. package/core/server/services/adapter-manager/base-classes.js +22 -0
  315. package/core/server/services/adapter-manager/base-classes.ts +22 -0
  316. package/core/server/services/adapter-manager/index.js +4 -27
  317. package/core/server/services/adapter-manager/index.ts +4 -31
  318. package/core/server/services/adapter-manager/utils.js +50 -0
  319. package/core/server/services/adapter-manager/utils.ts +57 -0
  320. package/core/server/services/audience-feedback/audience-feedback-controller.js +1 -1
  321. package/core/server/services/audience-feedback/audience-feedback-service.js +2 -2
  322. package/core/server/services/automations/automations-repository.ts +3 -1
  323. package/core/server/services/automations/database-automations-repository.js +33 -14
  324. package/core/server/services/automations/database-automations-repository.ts +41 -15
  325. package/core/server/services/automations/get-scheduler-idempotency-key.js +13 -0
  326. package/core/server/services/automations/get-scheduler-idempotency-key.ts +8 -0
  327. package/core/server/services/automations/poll.js +3 -1
  328. package/core/server/services/automations/poll.ts +4 -1
  329. package/core/server/services/automations/service.js +7 -3
  330. package/core/server/services/automations/service.ts +7 -3
  331. package/core/server/services/comments/comments-service-emails.js +1 -1
  332. package/core/server/services/comments/comments-service.js +1 -1
  333. package/core/server/services/email-analytics/email-analytics-service-wrapper.js +11 -2
  334. package/core/server/services/email-analytics/email-analytics-service.js +1 -1
  335. package/core/server/services/email-service/email-service-wrapper.js +2 -1
  336. package/core/server/services/email-service/mailgun-email-provider.js +15 -0
  337. package/core/server/services/gift-links/CONTEXT.md +9 -0
  338. package/core/server/services/gifts/CONTEXT.md +55 -0
  339. package/core/server/services/gifts/README.md +28 -0
  340. package/core/server/services/gifts/gift-bookshelf-repository.js +65 -45
  341. package/core/server/services/gifts/gift-bookshelf-repository.ts +203 -74
  342. package/core/server/services/gifts/gift-checkout-adapter.js +59 -0
  343. package/core/server/services/gifts/gift-checkout-offer.js +74 -0
  344. package/core/server/services/gifts/gift-checkout-offer.ts +127 -0
  345. package/core/server/services/gifts/gift-codec.js +63 -0
  346. package/core/server/services/gifts/gift-codec.ts +62 -0
  347. package/core/server/services/gifts/gift-controller.js +6 -31
  348. package/core/server/services/gifts/gift-controller.ts +6 -69
  349. package/core/server/services/gifts/gift-email-service.ts +3 -2
  350. package/core/server/services/gifts/gift-schema.js +34 -0
  351. package/core/server/services/gifts/gift-schema.ts +39 -0
  352. package/core/server/services/gifts/gift-service-wrapper.js +13 -11
  353. package/core/server/services/gifts/gift-service.js +265 -52
  354. package/core/server/services/gifts/gift-service.ts +431 -97
  355. package/core/server/services/gifts/gift.ts +16 -39
  356. package/core/server/services/indexnow-ping/indexnow-ping-service.js +1 -1
  357. package/core/server/services/indexnow-ping/indexnow-ping-service.ts +2 -4
  358. package/core/server/services/lib/mailgun-client.js +3 -3
  359. package/core/server/services/link-tracking/link-click-repository.js +6 -1
  360. package/core/server/services/link-tracking/link-click-tracking-service.js +12 -3
  361. package/core/server/services/media-inliner/external-media-inliner.js +12 -8
  362. package/core/server/services/member-attribution/url-translator.js +5 -7
  363. package/core/server/services/member-welcome-emails/member-welcome-email-renderer.js +4 -3
  364. package/core/server/services/member-welcome-emails/service.js +79 -15
  365. package/core/server/services/members/api.js +2 -3
  366. package/core/server/services/members/import-export/import/completion-email.js +8 -4
  367. package/core/server/services/members/import-export/import/completion-email.ts +9 -4
  368. package/core/server/services/members/import-export/import/importer.js +25 -4
  369. package/core/server/services/members/import-export/import/importer.ts +27 -6
  370. package/core/server/services/members/import-export/import/row.ts +5 -1
  371. package/core/server/services/members/import-export/index.js +6 -2
  372. package/core/server/services/members/import-export/index.ts +10 -4
  373. package/core/server/services/members/members-api/controllers/router-controller.js +38 -36
  374. package/core/server/services/members/members-api/members-api.js +13 -7
  375. package/core/server/services/members/members-api/repositories/event-repository.js +4 -94
  376. package/core/server/services/members/members-api/services/member-bread-service.js +3 -3
  377. package/core/server/services/members/members-api/services/payments-service.js +6 -68
  378. package/core/server/services/members-custom-fields/queries.js +4 -13
  379. package/core/server/services/members-custom-fields/queries.ts +4 -13
  380. package/core/server/services/members-custom-fields/schema.js +19 -21
  381. package/core/server/services/members-custom-fields/schema.ts +18 -20
  382. package/core/server/services/members-custom-fields/storage.js +94 -27
  383. package/core/server/services/members-custom-fields/storage.ts +114 -39
  384. package/core/server/services/members-custom-fields/values-service.js +98 -103
  385. package/core/server/services/members-custom-fields/values-service.ts +116 -114
  386. package/core/server/services/mentions/resource-service.js +1 -1
  387. package/core/server/services/mentions/service.js +2 -2
  388. package/core/server/services/oembed/oembed-service.js +44 -3
  389. package/core/server/services/posts/posts-service.js +11 -0
  390. package/core/server/services/route-settings/dynamic-routing-service.js +10 -62
  391. package/core/server/services/route-settings/route-settings-parser.js +25 -25
  392. package/core/server/services/route-settings/route-settings-parser.ts +27 -27
  393. package/core/server/services/route-settings/validation-errors.js +68 -4
  394. package/core/server/services/route-settings/validation-errors.ts +79 -4
  395. package/core/server/services/slack-ping/slack-ping-service.js +2 -2
  396. package/core/server/services/slack-ping/slack-ping-service.ts +3 -5
  397. package/core/server/services/stats/content-stats-service.js +3 -3
  398. package/core/server/services/stats/posts-stats-service.js +29 -25
  399. package/core/server/services/stripe/services/webhook/charge-refunded-event-service.js +1 -1
  400. package/core/server/services/stripe/services/webhook/checkout-session-event-service.js +16 -4
  401. package/core/server/services/stripe/stripe-api.js +10 -0
  402. package/core/server/services/url/config.js +90 -135
  403. package/core/server/services/url/index.js +6 -49
  404. package/core/server/services/url/lazy-find-resource.js +14 -11
  405. package/core/server/services/url/lazy-find-resource.ts +14 -11
  406. package/core/server/services/url/lazy-url-service.js +174 -94
  407. package/core/server/services/url/lazy-url-service.ts +233 -97
  408. package/core/server/services/url/routable-resources.js +62 -71
  409. package/core/server/services/url/router-filter.js +12 -4
  410. package/core/server/services/url/router-filter.ts +12 -4
  411. package/core/server/services/webhooks/index.js +1 -1
  412. package/core/server/services/webhooks/serialize.js +2 -1
  413. package/core/server/web/gift-preview/controller.js +10 -25
  414. package/core/shared/config/env/config.testing-mysql.json +1 -2
  415. package/core/shared/config/env/config.testing.json +1 -2
  416. package/core/shared/events/index.js +1 -2
  417. package/core/shared/labs.js +4 -4
  418. package/package.json +10 -10
  419. package/pnpm-lock.yaml +27 -20
  420. package/pnpm-workspace.yaml +3 -2
  421. package/tsconfig.json +1 -0
  422. package/components/tryghost-kg-default-nodes-2.1.3.tgz +0 -0
  423. package/core/built/admin/assets/Combination-CJG7Flp-.js +0 -41
  424. package/core/built/admin/assets/activitypub/layout-qx-bUL1k.js +0 -1
  425. package/core/built/admin/assets/automated-emails-DRy7qY-J.js +0 -7
  426. package/core/built/admin/assets/checkbox-CWa28lgO.js +0 -1
  427. package/core/built/admin/assets/chunk.524.cffd399783a519e404a9.js +0 -25
  428. package/core/built/admin/assets/chunk.582.eebf0d0b2d202bb746a5.js +0 -27
  429. package/core/built/admin/assets/code-editor-view-CCr0rBWS.js +0 -1
  430. package/core/built/admin/assets/comments-DyUSMUdj.js +0 -1
  431. package/core/built/admin/assets/disabled-sources-indicator-CUxMfiPa.js +0 -1
  432. package/core/built/admin/assets/dist-2Tnz2Yfq.js +0 -1
  433. package/core/built/admin/assets/dist-CjY-f5Z1.js +0 -1
  434. package/core/built/admin/assets/dist-DDY6GRVz.js +0 -1
  435. package/core/built/admin/assets/dist-DG78yroX.js +0 -23
  436. package/core/built/admin/assets/domain-C0bV2UV8.js +0 -1
  437. package/core/built/admin/assets/editor-Dp865O-4.js +0 -8
  438. package/core/built/admin/assets/esm-CFX93H5M.js +0 -2
  439. package/core/built/admin/assets/filter-sources-BV2rnpfA.js +0 -1
  440. package/core/built/admin/assets/filters-CUXJ2Nm9.js +0 -1
  441. package/core/built/admin/assets/filters-DfbIWc_l.js +0 -1
  442. package/core/built/admin/assets/index-9Cw8z3rA.css +0 -1
  443. package/core/built/admin/assets/index-BGG7NckO.js +0 -67
  444. package/core/built/admin/assets/input-group-BSgG_lVw.js +0 -1
  445. package/core/built/admin/assets/label-picker-1DvSuLA1.js +0 -1
  446. package/core/built/admin/assets/labels-CDSUt4J_.js +0 -1
  447. package/core/built/admin/assets/layout-yQEi2qDM.js +0 -1
  448. package/core/built/admin/assets/link-helpers-7EYqvvHs.js +0 -1
  449. package/core/built/admin/assets/member-custom-fields-yOMHyAg9.js +0 -1
  450. package/core/built/admin/assets/member-detail-BAq7gDaa.js +0 -1
  451. package/core/built/admin/assets/members-CQpVFJu4.js +0 -10
  452. package/core/built/admin/assets/modals-ReORvWnu.js +0 -31
  453. package/core/built/admin/assets/newsletter-CJQvtHqN.js +0 -1
  454. package/core/built/admin/assets/newsletters-B3QQXfGT.js +0 -1
  455. package/core/built/admin/assets/nql-BsgFMd93.js +0 -1
  456. package/core/built/admin/assets/overview-Bf2sbznq.js +0 -1
  457. package/core/built/admin/assets/overview-CBfePxcr.js +0 -1
  458. package/core/built/admin/assets/post-analytics-header-Bmc9su6q.js +0 -1
  459. package/core/built/admin/assets/preferences-DJPfHEGu.js +0 -5
  460. package/core/built/admin/assets/profile-DqBQp-gT.js +0 -1
  461. package/core/built/admin/assets/select-C5_xEt5b.js +0 -1
  462. package/core/built/admin/assets/settings-BwiVIXau.js +0 -4
  463. package/core/built/admin/assets/social-urls-BQPFEk1_.js +0 -8
  464. package/core/built/admin/assets/switch-z5Y6Uzt6.js +0 -1
  465. package/core/built/admin/assets/tabs-CCEgKYzq.js +0 -1
  466. package/core/built/admin/assets/tags-Cg2VJGmG.js +0 -1
  467. package/core/built/admin/assets/textarea-Bjccvh_E.js +0 -1
  468. package/core/built/admin/assets/toggle-group-b3IlxvhV.js +0 -1
  469. package/core/built/admin/assets/web-B_5GZRvH.js +0 -1
  470. package/core/server/services/gifts/gift-repository.js +0 -2
  471. package/core/server/services/gifts/gift-repository.ts +0 -29
  472. package/core/server/services/route-settings/activation-bridge.js +0 -174
  473. package/core/server/services/route-settings/activation-bridge.ts +0 -250
  474. package/core/server/services/url/local-file-cache.js +0 -75
  475. package/core/server/services/url/queue.js +0 -260
  476. package/core/server/services/url/resource.js +0 -102
  477. package/core/server/services/url/resources.js +0 -480
  478. package/core/server/services/url/url-generator.js +0 -276
  479. package/core/server/services/url/url-service-facade.js +0 -366
  480. package/core/server/services/url/url-service-facade.ts +0 -519
  481. package/core/server/services/url/url-service.js +0 -387
  482. package/core/server/services/url/urls.js +0 -140
  483. package/core/shared/events/url-resource-updated-event.js +0 -33
@@ -0,0 +1,74 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ // Checks that custom adapters load and implement everything their base class
4
+ // requires. Ghost only verifies an adapter fully on first use (`getAdapter`), so a
5
+ // missing method on a storage adapter otherwise surfaces at first upload; run this
6
+ // at image build time to fail the build instead.
7
+ //
8
+ // Usage: bin/validate-adapters.js <type>:<AdapterClassName> ...
9
+ // e.g. bin/validate-adapters.js cache:Redis sso:ProSSO storage:S3Storage
10
+ //
11
+ // Adapters are named explicitly rather than read from config, which may not be
12
+ // present at build time. Run this as the user the image runs as: the modules it
13
+ // loads land in the V8 compile cache, which is namespaced by uid.
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const node_module_1 = require("node:module");
16
+ const adapter_paths_1 = require("../core/server/services/adapter-manager/adapter-paths");
17
+ const base_classes_1 = require("../core/server/services/adapter-manager/base-classes");
18
+ const utils_1 = require("../core/server/services/adapter-manager/utils");
19
+ // No-op when NODE_COMPILE_CACHE is already set, as it is in Ghost's image.
20
+ (0, node_module_1.enableCompileCache)();
21
+ function validate(spec) {
22
+ const parts = spec.split(':');
23
+ if (parts.length !== 2 || !parts[0] || !parts[1]) {
24
+ throw new Error(`expected <type>:<AdapterClassName>, got "${spec}"`);
25
+ }
26
+ const [type, className] = parts;
27
+ const BaseClass = base_classes_1.baseClasses[type];
28
+ if (!BaseClass) {
29
+ throw new Error(`unknown adapter type "${type}" - expected one of: ${Object.keys(base_classes_1.baseClasses).join(', ')}`);
30
+ }
31
+ // Same loader the adapter manager uses, so resolution and its failure messages
32
+ // are identical to what the running server would report.
33
+ const Adapter = (0, utils_1.loadAdapterClass)(type, className, adapter_paths_1.adapterPaths, require);
34
+ // Matches the adapter manager's check, including its tolerance for a base class
35
+ // loaded from a second copy of the package, where instanceof fails.
36
+ const inherits = Adapter.prototype instanceof BaseClass || Object.getPrototypeOf(Adapter).name === BaseClass.name;
37
+ if (!inherits) {
38
+ throw new Error(`does not inherit from ${BaseClass.name}`);
39
+ }
40
+ // requiredFns is defined by the base constructor and can't be overridden by a
41
+ // subclass, so the base instance is the authority on what must be implemented.
42
+ // The bases are abstract, which constrains the type checker but not the runtime.
43
+ const Base = BaseClass;
44
+ const missing = new Base().requiredFns.filter(fn => typeof Adapter.prototype[fn] !== 'function');
45
+ if (missing.length) {
46
+ throw new Error(`missing method(s): ${missing.join(', ')}`);
47
+ }
48
+ }
49
+ function main(specs) {
50
+ if (!specs.length) {
51
+ process.stderr.write('Usage: bin/validate-adapters.js <type>:<AdapterClassName> ...\n');
52
+ process.exit(1);
53
+ }
54
+ const failures = [];
55
+ for (const spec of specs) {
56
+ try {
57
+ validate(spec);
58
+ process.stdout.write(` ok ${spec}\n`);
59
+ }
60
+ catch (err) {
61
+ failures.push({ spec, message: err.message });
62
+ process.stdout.write(` FAIL ${spec}\n`);
63
+ }
64
+ }
65
+ if (failures.length) {
66
+ process.stderr.write(`\n${failures.length} of ${specs.length} adapter(s) failed validation:\n`);
67
+ for (const { spec, message } of failures) {
68
+ process.stderr.write(`- ${spec}: ${message}\n`);
69
+ }
70
+ process.exit(1);
71
+ }
72
+ process.stdout.write(`Validated ${specs.length} adapter(s).\n`);
73
+ }
74
+ main(process.argv.slice(2));
@@ -0,0 +1,87 @@
1
+ #!/usr/bin/env node
2
+
3
+ // Checks that custom adapters load and implement everything their base class
4
+ // requires. Ghost only verifies an adapter fully on first use (`getAdapter`), so a
5
+ // missing method on a storage adapter otherwise surfaces at first upload; run this
6
+ // at image build time to fail the build instead.
7
+ //
8
+ // Usage: bin/validate-adapters.js <type>:<AdapterClassName> ...
9
+ // e.g. bin/validate-adapters.js cache:Redis sso:ProSSO storage:S3Storage
10
+ //
11
+ // Adapters are named explicitly rather than read from config, which may not be
12
+ // present at build time. Run this as the user the image runs as: the modules it
13
+ // loads land in the V8 compile cache, which is namespaced by uid.
14
+
15
+ import {enableCompileCache} from 'node:module';
16
+ import {adapterPaths} from '../core/server/services/adapter-manager/adapter-paths';
17
+ import {baseClasses} from '../core/server/services/adapter-manager/base-classes';
18
+ import {loadAdapterClass} from '../core/server/services/adapter-manager/utils';
19
+
20
+ // No-op when NODE_COMPILE_CACHE is already set, as it is in Ghost's image.
21
+ enableCompileCache();
22
+
23
+ type AdapterType = keyof typeof baseClasses;
24
+
25
+ function validate(spec: string): void {
26
+ const parts = spec.split(':');
27
+ if (parts.length !== 2 || !parts[0] || !parts[1]) {
28
+ throw new Error(`expected <type>:<AdapterClassName>, got "${spec}"`);
29
+ }
30
+
31
+ const [type, className] = parts;
32
+ const BaseClass = baseClasses[type as AdapterType];
33
+ if (!BaseClass) {
34
+ throw new Error(`unknown adapter type "${type}" - expected one of: ${Object.keys(baseClasses).join(', ')}`);
35
+ }
36
+
37
+ // Same loader the adapter manager uses, so resolution and its failure messages
38
+ // are identical to what the running server would report.
39
+ const Adapter = loadAdapterClass(type, className, adapterPaths, require);
40
+
41
+ // Matches the adapter manager's check, including its tolerance for a base class
42
+ // loaded from a second copy of the package, where instanceof fails.
43
+ const inherits = Adapter.prototype instanceof BaseClass || Object.getPrototypeOf(Adapter).name === BaseClass.name;
44
+ if (!inherits) {
45
+ throw new Error(`does not inherit from ${BaseClass.name}`);
46
+ }
47
+
48
+ // requiredFns is defined by the base constructor and can't be overridden by a
49
+ // subclass, so the base instance is the authority on what must be implemented.
50
+ // The bases are abstract, which constrains the type checker but not the runtime.
51
+ const Base = BaseClass as unknown as new () => {requiredFns: readonly string[]};
52
+ const missing = new Base().requiredFns.filter(fn => typeof Adapter.prototype[fn] !== 'function');
53
+ if (missing.length) {
54
+ throw new Error(`missing method(s): ${missing.join(', ')}`);
55
+ }
56
+ }
57
+
58
+ function main(specs: string[]): void {
59
+ if (!specs.length) {
60
+ process.stderr.write('Usage: bin/validate-adapters.js <type>:<AdapterClassName> ...\n');
61
+ process.exit(1);
62
+ }
63
+
64
+ const failures: {spec: string, message: string}[] = [];
65
+
66
+ for (const spec of specs) {
67
+ try {
68
+ validate(spec);
69
+ process.stdout.write(` ok ${spec}\n`);
70
+ } catch (err) {
71
+ failures.push({spec, message: (err as Error).message});
72
+ process.stdout.write(` FAIL ${spec}\n`);
73
+ }
74
+ }
75
+
76
+ if (failures.length) {
77
+ process.stderr.write(`\n${failures.length} of ${specs.length} adapter(s) failed validation:\n`);
78
+ for (const {spec, message} of failures) {
79
+ process.stderr.write(`- ${spec}: ${message}\n`);
80
+ }
81
+ process.exit(1);
82
+ }
83
+
84
+ process.stdout.write(`Validated ${specs.length} adapter(s).\n`);
85
+ }
86
+
87
+ main(process.argv.slice(2));
@@ -0,0 +1,60 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # Warms Node's on-disk V8 compile cache by booting Ghost once, so the modules don't
4
+ # have to be compiled again on every boot. Run at image build time: Ghost's own
5
+ # Dockerfile does it, and images built on top should re-run it after adding code
6
+ # (custom adapters, patches) so those modules land in the cache too.
7
+ #
8
+ # Cache entries are keyed by absolute module path, Node version and arch, so the
9
+ # warming build must use the same app directory and base image as the runtime.
10
+ #
11
+ # NODE_COMPILE_CACHE cache location; defaults to <app>/.compile-cache
12
+
13
+ set -euo pipefail
14
+
15
+ APP_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
16
+ CACHE_DIR="${NODE_COMPILE_CACHE:-${APP_DIR}/.compile-cache}"
17
+
18
+ mkdir -p "$CACHE_DIR"
19
+ # Node writes nothing and reports no error when the directory isn't writable, so a
20
+ # warming run would silently do nothing.
21
+ if [ ! -w "$CACHE_DIR" ]; then
22
+ echo "Compile cache directory is not writable: ${CACHE_DIR}" >&2
23
+ exit 1
24
+ fi
25
+
26
+ count_entries() {
27
+ find "$CACHE_DIR" -type f | wc -l | tr -d ' '
28
+ }
29
+
30
+ before="$(count_entries)"
31
+
32
+ cd "$APP_DIR"
33
+
34
+ # Boot reaches the database before most services load, so warming without a working
35
+ # one silently caches under half the modules. No database is reachable during a build,
36
+ # so default to a throwaway sqlite one.
37
+ if [ -z "${database__client:-}" ]; then
38
+ warm_db="$(mktemp "${TMPDIR:-/tmp}/ghost-warm-db.XXXXXX")"
39
+ trap 'rm -f "$warm_db"' EXIT
40
+ export database__client="better-sqlite3"
41
+ export database__connection__filename="$warm_db"
42
+ fi
43
+
44
+ # Boot writes into content/ (logs, settings); put it back so warming leaves no trace
45
+ # in the image. stdout logging keeps most of it from happening in the first place.
46
+ content_snapshot="$(mktemp -d "${TMPDIR:-/tmp}/ghost-warm-content.XXXXXX")"
47
+ cp -a content/. "$content_snapshot"
48
+
49
+ NODE_ENV="${NODE_ENV:-production}" \
50
+ NODE_COMPILE_CACHE="$CACHE_DIR" \
51
+ GHOST_CI_SHUTDOWN_AFTER_BOOT=1 \
52
+ logging__transports='["stdout"]' \
53
+ node index.js
54
+
55
+ rm -rf content
56
+ mkdir content
57
+ cp -a "$content_snapshot/." content
58
+ rm -rf "$content_snapshot"
59
+
60
+ echo "Compile cache warmed: ${before} -> $(count_entries) entries in ${CACHE_DIR}"
package/core/app.js CHANGED
@@ -12,7 +12,7 @@ const path = require('path');
12
12
  * @returns {boolean}
13
13
  */
14
14
  const isMaintenanceModeEnabled = (req) => {
15
- if (req.app.get('maintenance') || config.get('maintenance').enabled || !urlService.facade.hasFinished()) {
15
+ if (req.app.get('maintenance') || config.get('maintenance').enabled || !urlService.hasFinished()) {
16
16
  return true;
17
17
  }
18
18
 
package/core/boot.js CHANGED
@@ -88,9 +88,8 @@ async function initDatabase({config}) {
88
88
  * @param {object} options
89
89
  * @param {object} options.ghostServer
90
90
  * @param {object} options.config
91
- * @param {boolean} options.frontend
92
91
  */
93
- async function initCore({ghostServer, config, frontend}) {
92
+ async function initCore({ghostServer, config}) {
94
93
  debug('Begin: initCore');
95
94
 
96
95
  // Validate configured adapters up-front so misconfiguration fails at boot
@@ -123,17 +122,6 @@ async function initCore({ghostServer, config, frontend}) {
123
122
  await i18n.init();
124
123
  debug('End: i18n');
125
124
 
126
- // The URLService is a core part of Ghost, which depends on models.
127
- debug('Begin: Url Service');
128
- const urlService = require('./server/services/url');
129
- // Note: there is no await here, we do not wait for the url service to finish
130
- // We can return, but the site will remain in maintenance mode until this finishes
131
- // This is managed on request: https://github.com/TryGhost/Ghost/blob/main/core/app.js#L10
132
- urlService.init({
133
- urlCache: !frontend // hacky parameter to make the cache initialization kick in as we can't initialize labs before the boot
134
- });
135
- debug('End: Url Service');
136
-
137
125
  // Gift links service: wires the (knex-backed) repository once the DB is ready.
138
126
  debug('Begin: Gift Links Service');
139
127
  const giftLinksService = require('./server/services/gift-links');
@@ -172,10 +160,6 @@ async function initCore({ghostServer, config, frontend}) {
172
160
  await mentionsJobService.shutdown();
173
161
  });
174
162
  debug('End: Mentions Job Service');
175
-
176
- ghostServer.registerCleanupTask(async () => {
177
- await urlService.shutdown();
178
- });
179
163
  }
180
164
 
181
165
  debug('End: initCore');
@@ -260,10 +244,7 @@ async function initExpressApps({frontend, backend, config}) {
260
244
 
261
245
  if (frontend) {
262
246
  // SITE + MEMBERS
263
- // RouterManager and migrated frontend callers expect the facade
264
- // (getUrlForResource / ownsResource), not the raw eager UrlService
265
- // (which only exposes the legacy id-based methods).
266
- const urlService = require('./server/services/url').facade;
247
+ const urlService = require('./server/services/url');
267
248
  const frontendApp = require('./server/web/parent/frontend')({urlService});
268
249
  parentApp.use(vhost(config.getFrontendMountPath(), frontendApp));
269
250
  }
@@ -290,8 +271,13 @@ function initPrometheusClient({config}) {
290
271
  * When Ghost's DB and core are loaded, we can access this file and call routing.routingManager.start
291
272
  * However this _must_ happen after the express Apps are loaded, hence why this is here and not in initFrontend
292
273
  * Routing is currently tightly coupled between the frontend and backend
274
+ *
275
+ * Runs on every boot, not just a frontend one: it both mounts routers on the
276
+ * site app and tells the URL service about them, and only the first needs a
277
+ * frontend. The APIs, the email service and webhooks all build URLs, so a
278
+ * backend-only boot that skipped this resolved every resource to /404/.
293
279
  */
294
- async function initDynamicRouting() {
280
+ async function initDynamicRouting({frontend}) {
295
281
  debug('Begin: Dynamic Routing');
296
282
  const routing = require('./frontend/services/routing');
297
283
  const routeSettingsModule = require('./server/services/route-settings');
@@ -299,9 +285,17 @@ async function initDynamicRouting() {
299
285
  const bridge = require('./bridge');
300
286
  bridge.init();
301
287
 
288
+ // With a frontend, initFrontend has already called this to build the site
289
+ // app's router. Without one there is nothing to mount, but the URL service
290
+ // still has to be handed to RouterManager before the routers register — so
291
+ // call the same init and discard the express router it returns.
292
+ if (!frontend) {
293
+ routing.routerManager.init({urlService});
294
+ }
295
+
302
296
  await routeSettingsModule.service.start({
303
297
  routerManager: routing.routerManager,
304
- urlService: urlService.facade
298
+ urlService
305
299
  });
306
300
 
307
301
  debug('End: Dynamic Routing');
@@ -315,6 +309,7 @@ async function initAppService() {
315
309
  debug('Begin: App Service');
316
310
  const appService = require('./frontend/services/apps');
317
311
  await appService.init();
312
+ debug('End: App Service');
318
313
  }
319
314
 
320
315
  /**
@@ -576,7 +571,7 @@ async function bootGhost({backend = true, frontend = true, server = true} = {})
576
571
 
577
572
  // Step 4 - Load Ghost with all its services
578
573
  debug('Begin: Load Ghost Services & Apps');
579
- await initCore({ghostServer, config, frontend});
574
+ await initCore({ghostServer, config});
580
575
 
581
576
  // Instrument the knex instance and connection pool if prometheus is enabled
582
577
  // Needs to be after initCore because the pool is destroyed and recreated in initCore, which removes the event listeners
@@ -591,8 +586,9 @@ async function bootGhost({backend = true, frontend = true, server = true} = {})
591
586
  }
592
587
  const ghostApp = await initExpressApps({frontend, backend, config});
593
588
 
589
+ await initDynamicRouting({frontend});
590
+
594
591
  if (frontend) {
595
- await initDynamicRouting();
596
592
  await initAppService();
597
593
  }
598
594
 
package/core/bridge.js CHANGED
@@ -110,26 +110,24 @@ class Bridge {
110
110
  debug('reload frontend');
111
111
  const siteApp = require('./frontend/web/site');
112
112
 
113
- // Clear lazy router configs before re-registration so they don't pile up
114
- // across reloads. No-op without a lazy backend; eager resets separately.
115
- urlService.facade.reset();
116
-
117
113
  const routerConfig = {
118
114
  routeSettings: await routeSettings.loadRouteSettings(),
119
- urlService: urlService.facade
115
+ urlService
120
116
  };
121
117
 
118
+ // Clear lazy router configs before re-registration so they don't pile
119
+ // up across reloads — but only once the settings read has resolved.
120
+ // reset() also clears `routersReady`, which gates the maintenance
121
+ // middleware, so doing this before the await 503s the site and the
122
+ // Admin API for the length of a read that is a network round trip on
123
+ // Pro, and leaves them 503ing with no recovery but a restart if it
124
+ // rejects. Nothing re-registers after a failed reload.
125
+ urlService.reset();
126
+
122
127
  siteApp.reload(routerConfig);
123
128
 
124
129
  // re-initialize apps (register app routers, because we have re-initialized the site routers)
125
130
  appService.init();
126
-
127
- // connect routers and resources again
128
- urlService.queue.start({
129
- event: 'init',
130
- tolerance: 100,
131
- requiredSubscriberCount: 1
132
- });
133
131
  }
134
132
  }
135
133
 
@@ -0,0 +1,41 @@
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{n,t as r}from"./jsx-runtime-DX3WBWVO.js";import{a as i}from"./dist-Cb5RSHSg.js";import{n as a,t as o}from"./dist-CQJY6SVY.js";import{n as s,t as c}from"./dist-CqO2lWS02.js";var l=e(t(),1),u=e(n(),1),d=r(),f=function(){return f=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},f.apply(this,arguments)};function p(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function m(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}function h(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}typeof window<`u`&&window.document&&window.document.createElement;function g(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}var _=l.useEffectEvent,v=l.useInsertionEffect;function y(e){if(typeof _==`function`)return _(e);let t=l.useRef(()=>{throw Error(`Cannot call an event handler while rendering.`)});return typeof v==`function`?v(()=>{t.current=e}):a(()=>{t.current=e}),l.useMemo(()=>((...e)=>t.current?.(...e)),[])}var b=l.useInsertionEffect||a;function x({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,o]=S({defaultProp:t,onChange:n}),s=e!==void 0,c=s?e:i;{let t=l.useRef(e!==void 0);l.useEffect(()=>{let e=t.current;e!==s&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${s?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=s},[s,r])}return[c,l.useCallback(t=>{if(s){let n=C(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}function S({defaultProp:e,onChange:t}){let[n,r]=l.useState(e),i=l.useRef(n),a=l.useRef(t);return b(()=>{a.current=t},[t]),l.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function C(e){return typeof e==`function`}var w=`DismissableLayer`,T=`dismissableLayer.update`,E=`dismissableLayer.pointerDownOutside`,ee=`dismissableLayer.focusOutside`,te,D=l.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),O=l.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:s,onInteractOutside:u,onDismiss:f,...p}=e,m=l.useContext(D),[h,_]=l.useState(null),v=h?.ownerDocument??globalThis?.document,[,b]=l.useState({}),x=i(t,_),S=Array.from(m.layers),[C]=[...m.layersWithOutsidePointerEventsDisabled].slice(-1),w=S.indexOf(C),E=h?S.indexOf(h):-1,ee=m.layersWithOutsidePointerEventsDisabled.size>0,O=E>=w,k=l.useRef(!1),ne=re(e=>{let t=e.target;if(!(t instanceof Node))return;let n=[...m.branches].some(e=>e.contains(t));!O||n||(o?.(e),u?.(e),e.defaultPrevented||f?.())},{ownerDocument:v,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:k,dismissableSurfaces:m.dismissableSurfaces}),A=ie(e=>{if(r&&k.current)return;let t=e.target;[...m.branches].some(e=>e.contains(t))||(s?.(e),u?.(e),e.defaultPrevented||f?.())},v),j=h?E===S.length-1:!1,M=y(e=>{e.key===`Escape`&&(a?.(e),!e.defaultPrevented&&f&&(e.preventDefault(),f()))});return l.useEffect(()=>{if(j)return v.addEventListener(`keydown`,M,{capture:!0}),()=>v.removeEventListener(`keydown`,M,{capture:!0})},[v,j]),l.useEffect(()=>{if(h)return n&&(m.layersWithOutsidePointerEventsDisabled.size===0&&(te=v.body.style.pointerEvents,v.body.style.pointerEvents=`none`),m.layersWithOutsidePointerEventsDisabled.add(h)),m.layers.add(h),ae(),()=>{n&&(m.layersWithOutsidePointerEventsDisabled.delete(h),m.layersWithOutsidePointerEventsDisabled.size===0&&(v.body.style.pointerEvents=te))}},[h,v,n,m]),l.useEffect(()=>()=>{h&&(m.layers.delete(h),m.layersWithOutsidePointerEventsDisabled.delete(h),ae())},[h,m]),l.useEffect(()=>{let e=()=>b({});return document.addEventListener(T,e),()=>document.removeEventListener(T,e)},[]),(0,d.jsx)(c.div,{...p,ref:x,style:{pointerEvents:ee?O?`auto`:`none`:void 0,...e.style},onFocusCapture:g(e.onFocusCapture,A.onFocusCapture),onBlurCapture:g(e.onBlurCapture,A.onBlurCapture),onPointerDownCapture:g(e.onPointerDownCapture,ne.onPointerDownCapture)})});O.displayName=w;var k=`DismissableLayerBranch`,ne=l.forwardRef((e,t)=>{let n=l.useContext(D),r=l.useRef(null),a=i(t,r);return l.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,d.jsx)(c.div,{...e,ref:a})});ne.displayName=k;function A(){let e=l.useContext(D),[t,n]=l.useState(null);return l.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}function re(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a}=t,s=o(e),c=l.useRef(!1),u=l.useRef(!1),d=l.useRef(new Map),f=l.useRef(()=>{});return l.useEffect(()=>{function e(){u.current=!1,i.current=!1,d.current.clear()}function t(){return Array.from(d.current.values()).some(Boolean)}function o(e){if(!u.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||d.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{u.current&&f.current()},0)}function l(e){u.current&&d.current.set(e.type,!1)}let p=a=>{if(a.target&&!c.current){let o=function(){n.removeEventListener(`click`,f.current);let r=t();e(),r||j(E,s,c,{discrete:!0})},c={originalEvent:a};u.current=!0,i.current=r&&a.button===0,d.current.clear(),!r||a.button!==0?o():(n.removeEventListener(`click`,f.current),f.current=o,n.addEventListener(`click`,f.current,{once:!0}))}else n.removeEventListener(`click`,f.current),e();c.current=!1},m=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of m)n.addEventListener(e,o,!0),n.addEventListener(e,l);let h=window.setTimeout(()=>{n.addEventListener(`pointerdown`,p)},0);return()=>{window.clearTimeout(h),n.removeEventListener(`pointerdown`,p),n.removeEventListener(`click`,f.current);for(let e of m)n.removeEventListener(e,o,!0),n.removeEventListener(e,l)}},[n,s,r,i,a]),{onPointerDownCapture:()=>c.current=!0}}function ie(e,t=globalThis?.document){let n=o(e),r=l.useRef(!1);return l.useEffect(()=>{let e=e=>{e.target&&!r.current&&j(ee,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function ae(){let e=new CustomEvent(T);document.dispatchEvent(e)}function j(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?s(i,a):i.dispatchEvent(a)}var M=0,N=null;function oe(){l.useEffect(()=>{N||={start:se(),end:se()};let{start:e,end:t}=N;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),M++,()=>{M===1&&(N?.start.remove(),N?.end.remove(),N=null),M=Math.max(0,M-1)}},[])}function se(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var P=`focusScope.autoFocusOnMount`,F=`focusScope.autoFocusOnUnmount`,ce={bubbles:!1,cancelable:!0},le=`FocusScope`,ue=l.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:a,onUnmountAutoFocus:s,...u}=e,[f,p]=l.useState(null),m=o(a),h=o(s),g=l.useRef(null),_=i(t,p),v=l.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;l.useEffect(()=>{if(r){let e=function(e){if(v.paused||!f)return;let t=e.target;f.contains(t)?g.current=t:I(g.current,{select:!0})},t=function(e){if(v.paused||!f)return;let t=e.relatedTarget;t!==null&&(f.contains(t)||I(g.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&I(f)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return f&&r.observe(f,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,f,v.paused]),l.useEffect(()=>{if(f){_e.add(v);let e=document.activeElement;if(!f.contains(e)){let t=new CustomEvent(P,ce);f.addEventListener(P,m),f.dispatchEvent(t),t.defaultPrevented||(de(be(pe(f)),{select:!0}),document.activeElement===e&&I(f))}return()=>{f.removeEventListener(P,m),setTimeout(()=>{let t=new CustomEvent(F,ce);f.addEventListener(F,h),f.dispatchEvent(t),t.defaultPrevented||I(e??document.body,{select:!0}),f.removeEventListener(F,h),_e.remove(v)},0)}}},[f,m,h,v]);let y=l.useCallback(e=>{if(!n&&!r||v.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=fe(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&I(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&I(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,v.paused]);return(0,d.jsx)(c.div,{tabIndex:-1,...u,ref:_,onKeyDown:y})});ue.displayName=le;function de(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(I(r,{select:t}),document.activeElement!==n)return}function fe(e){let t=pe(e);return[me(t,e),me(t.reverse(),e)]}function pe(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function me(e,t){for(let n of e)if(!he(n,{upTo:t}))return n}function he(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function ge(e){return e instanceof HTMLInputElement&&`select`in e}function I(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&ge(e)&&t&&e.select()}}var _e=ve();function ve(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=ye(e,t),e.unshift(t)},remove(t){e=ye(e,t),e[0]?.resume()}}}function ye(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function be(e){return e.filter(e=>e.tagName!==`A`)}var xe=l.useId||(()=>void 0),Se=0;function Ce(e){let[t,n]=l.useState(xe());return a(()=>{e||n(e=>e??String(Se++))},[e]),e||(t?`radix-${t}`:``)}var we=`Portal`,Te=l.forwardRef((e,t)=>{let{container:n,...r}=e,[i,o]=l.useState(!1);a(()=>o(!0),[]);let s=n||i&&globalThis?.document?.body;return s?u.createPortal((0,d.jsx)(c.div,{...r,ref:t}),s):null});Te.displayName=we;function Ee(e,t){return l.useReducer((e,n)=>t[e][n]??e,e)}var De=e=>{let{present:t,children:n}=e,r=Oe(t),i=typeof n==`function`?n({present:r.isPresent}):l.Children.only(n),a=Ae(r.ref,je(i));return typeof n==`function`||r.isPresent?l.cloneElement(i,{ref:a}):null};De.displayName=`Presence`;function Oe(e){let[t,n]=l.useState(),r=l.useRef(null),i=l.useRef(e),o=l.useRef(`none`),[s,c]=Ee(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return l.useEffect(()=>{let e=L(r.current);o.current=s===`mounted`?e:`none`},[s]),a(()=>{let t=r.current,n=i.current;if(n!==e){let r=o.current,a=L(t);e?c(`MOUNT`):a===`none`||t?.display===`none`?c(`UNMOUNT`):c(n&&r!==a?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,c]),a(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,a=a=>{let o=L(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(c(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},s=e=>{e.target===t&&(o.current=L(r.current))};return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,a),t.addEventListener(`animationend`,a),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,a),t.removeEventListener(`animationend`,a)}}else c(`ANIMATION_END`)},[t,c]),{isPresent:[`mounted`,`unmountSuspended`].includes(s),ref:l.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function ke(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Ae(...e){let t=l.useRef(e);return t.current=e,l.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=ke(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e<i.length;e++){let t=i[e];typeof t==`function`?t():ke(n[e],null)}}},[])}function L(e){return e?.animationName||`none`}function je(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Me=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},R=new WeakMap,z=new WeakMap,B={},V=0,Ne=function(e){return e&&(e.host||Ne(e.parentNode))},Pe=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=Ne(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},Fe=function(e,t,n,r){var i=Pe(t,Array.isArray(e)?e:[e]);B[n]||(B[n]=new WeakMap);var a=B[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(R.get(e)||0)+1,l=(a.get(e)||0)+1;R.set(e,c),a.set(e,l),o.push(e),c===1&&i&&z.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),V++,function(){o.forEach(function(e){var t=R.get(e)-1,i=a.get(e)-1;R.set(e,t),a.set(e,i),t||(z.has(e)||e.removeAttribute(r),z.delete(e)),i||e.removeAttribute(n)}),V--,V||(R=new WeakMap,R=new WeakMap,z=new WeakMap,B={})}},Ie=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Me(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Fe(r,i,n,`aria-hidden`)):function(){return null}},H=`right-scroll-bar-position`,U=`width-before-scroll-bar`,Le=`with-scroll-bars-hidden`,Re=`--removed-body-scroll-bar-size`;function W(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function ze(e,t){var n=(0,l.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var Be=typeof window<`u`?l.useLayoutEffect:l.useEffect,Ve=new WeakMap;function He(e,t){var n=ze(t||null,function(t){return e.forEach(function(e){return W(e,t)})});return Be(function(){var t=Ve.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||W(e,null)}),i.forEach(function(e){r.has(e)||W(e,a)})}Ve.set(n,e)},[e]),n}function Ue(e){return e}function We(e,t){t===void 0&&(t=Ue);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function Ge(e){e===void 0&&(e={});var t=We(null);return t.options=f({async:!0,ssr:!1},e),t}var Ke=function(e){var t=e.sideCar,n=p(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return l.createElement(r,f({},n))};Ke.isSideCarExport=!0;function qe(e,t){return e.useMedium(t),Ke}var Je=Ge(),G=function(){},K=l.forwardRef(function(e,t){var n=l.useRef(null),r=l.useState({onScrollCapture:G,onWheelCapture:G,onTouchMoveCapture:G}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,c=e.className,u=e.removeScrollBar,d=e.enabled,m=e.shards,h=e.sideCar,g=e.noRelative,_=e.noIsolation,v=e.inert,y=e.allowPinchZoom,b=e.as,x=b===void 0?`div`:b,S=e.gapMode,C=p(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),w=h,T=He([n,t]),E=f(f({},C),i);return l.createElement(l.Fragment,null,d&&l.createElement(w,{sideCar:Je,removeScrollBar:u,shards:m,noRelative:g,noIsolation:_,inert:v,setCallbacks:a,allowPinchZoom:!!y,lockRef:n,gapMode:S}),o?l.cloneElement(l.Children.only(s),f(f({},E),{ref:T})):l.createElement(x,f({},E,{className:c,ref:T}),s))});K.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},K.classNames={fullWidth:U,zeroRight:H};var Ye,Xe=function(){if(Ye)return Ye;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function Ze(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=Xe();return t&&e.setAttribute(`nonce`,t),e}function Qe(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function $e(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var et=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Ze())&&(Qe(t,n),$e(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},tt=function(){var e=et();return function(t,n){l.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},nt=function(){var e=tt();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},rt={left:0,top:0,right:0,gap:0},q=function(e){return parseInt(e||``,10)||0},it=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[q(n),q(r),q(i)]},at=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return rt;var t=it(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},ot=nt(),J=`data-scroll-locked`,st=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
2
+ .${Le} {
3
+ overflow: hidden ${r};
4
+ padding-right: ${s}px ${r};
5
+ }
6
+ body[${J}] {
7
+ overflow: hidden ${r};
8
+ overscroll-behavior: contain;
9
+ ${[t&&`position: relative ${r};`,n===`margin`&&`
10
+ padding-left: ${i}px;
11
+ padding-top: ${a}px;
12
+ padding-right: ${o}px;
13
+ margin-left:0;
14
+ margin-top:0;
15
+ margin-right: ${s}px ${r};
16
+ `,n===`padding`&&`padding-right: ${s}px ${r};`].filter(Boolean).join(``)}
17
+ }
18
+
19
+ .${H} {
20
+ right: ${s}px ${r};
21
+ }
22
+
23
+ .${U} {
24
+ margin-right: ${s}px ${r};
25
+ }
26
+
27
+ .${H} .${H} {
28
+ right: 0 ${r};
29
+ }
30
+
31
+ .${U} .${U} {
32
+ margin-right: 0 ${r};
33
+ }
34
+
35
+ body[${J}] {
36
+ ${Re}: ${s}px;
37
+ }
38
+ `},ct=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},lt=function(){l.useEffect(function(){return document.body.setAttribute(J,(ct()+1).toString()),function(){var e=ct()-1;e<=0?document.body.removeAttribute(J):document.body.setAttribute(J,e.toString())}},[])},ut=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;lt();var a=l.useMemo(function(){return at(i)},[i]);return l.createElement(ot,{styles:st(a,!t,i,n?``:`!important`)})},Y=!1;if(typeof window<`u`)try{var X=Object.defineProperty({},"passive",{get:function(){return Y=!0,!0}});window.addEventListener(`test`,X,X),window.removeEventListener(`test`,X,X)}catch{Y=!1}var Z=Y?{passive:!1}:!1,dt=function(e){return e.tagName===`TEXTAREA`},ft=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!dt(e)&&n[t]===`visible`)},pt=function(e){return ft(e,`overflowY`)},mt=function(e){return ft(e,`overflowX`)},ht=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),vt(e,r)){var i=yt(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},gt=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},_t=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},vt=function(e,t){return e===`v`?pt(t):mt(t)},yt=function(e,t){return e===`v`?gt(t):_t(t)},bt=function(e,t){return e===`h`&&t===`rtl`?-1:1},xt=function(e,t,n,r,i){var a=bt(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=yt(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&vt(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},Q=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},St=function(e){return[e.deltaX,e.deltaY]},Ct=function(e){return e&&`current`in e?e.current:e},wt=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Tt=function(e){return`
39
+ .block-interactivity-${e} {pointer-events: none;}
40
+ .allow-interactivity-${e} {pointer-events: all;}
41
+ `},Et=0,$=[];function Dt(e){var t=l.useRef([]),n=l.useRef([0,0]),r=l.useRef(),i=l.useState(Et++)[0],a=l.useState(nt)[0],o=l.useRef(e);l.useEffect(function(){o.current=e},[e]),l.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=h([e.lockRef.current],(e.shards||[]).map(Ct),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=l.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=Q(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=ht(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=ht(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return xt(h,t,e,h===`h`?s:c,!0)},[]),c=l.useCallback(function(e){var n=e;if(!(!$.length||$[$.length-1]!==a)){var r=`deltaY`in n?St(n):Q(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&wt(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(Ct).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),u=l.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:Ot(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),d=l.useCallback(function(e){n.current=Q(e),r.current=void 0},[]),f=l.useCallback(function(t){u(t.type,St(t),t.target,s(t,e.lockRef.current))},[]),p=l.useCallback(function(t){u(t.type,Q(t),t.target,s(t,e.lockRef.current))},[]);l.useEffect(function(){return $.push(a),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener(`wheel`,c,Z),document.addEventListener(`touchmove`,c,Z),document.addEventListener(`touchstart`,d,Z),function(){$=$.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,Z),document.removeEventListener(`touchmove`,c,Z),document.removeEventListener(`touchstart`,d,Z)}},[]);var m=e.removeScrollBar,g=e.inert;return l.createElement(l.Fragment,null,g?l.createElement(a,{styles:Tt(i)}):null,m?l.createElement(ut,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Ot(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var kt=qe(Je,Dt),At=l.forwardRef(function(e,t){return l.createElement(K,f({},e,{ref:t,sideCar:kt}))});At.classNames=K.classNames;export{Ce as a,O as c,g as d,m as f,Te as i,A as l,Ie as n,ue as o,p,De as r,oe as s,At as t,x as u};
@@ -1,2 +1,2 @@
1
- import{o as e,t}from"./rolldown-runtime-DAXXjFlN.js";import{t as n}from"./react-Bb3IsNbi.js";import{x as r}from"./dist-DGzPJ_bO.js";import{E as i}from"./_baseAssignValue-C_vooEQc.js";import{$ as a,B as o,E as s,K as c,L as l,Q as u,S as d,T as f,X as p,nt as m,v as h,z as g}from"./chart-BuRT2Y6p.js";var _=e(i()),v=e(n()),ee=[`points`,`className`,`baseLinePoints`,`connectNulls`];function y(){return y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},y.apply(this,arguments)}function te(e,t){if(e==null)return{};var n=ne(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function ne(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function b(e){return ie(e)||S(e)||re(e)||x()}function x(){throw TypeError(`Invalid attempt to spread non-iterable instance.
1
+ import{o as e,t}from"./rolldown-runtime-DAXXjFlN.js";import{t as n}from"./react-Bb3IsNbi.js";import{x as r}from"./dist-Cb5RSHSg.js";import{E as i}from"./_baseAssignValue-C_vooEQc.js";import{$ as a,B as o,E as s,K as c,L as l,Q as u,S as d,T as f,X as p,nt as m,v as h,z as g}from"./chart-BnXyfH11.js";var _=e(i()),v=e(n()),ee=[`points`,`className`,`baseLinePoints`,`connectNulls`];function y(){return y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},y.apply(this,arguments)}function te(e,t){if(e==null)return{};var n=ne(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function ne(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function b(e){return ie(e)||S(e)||re(e)||x()}function x(){throw TypeError(`Invalid attempt to spread non-iterable instance.
2
2
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function re(e,t){if(e){if(typeof e==`string`)return C(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return C(e,t)}}function S(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function ie(e){if(Array.isArray(e))return C(e)}function C(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var w=function(e){return e&&e.x===+e.x&&e.y===+e.y},ae=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=[[]];return e.forEach(function(e){w(e)?t[t.length-1].push(e):t[t.length-1].length>0&&t.push([])}),w(e[0])&&t[t.length-1].push(e[0]),t[t.length-1].length<=0&&(t=t.slice(0,-1)),t},T=function(e,t){var n=ae(e);t&&(n=[n.reduce(function(e,t){return[].concat(b(e),b(t))},[])]);var r=n.map(function(e){return e.reduce(function(e,t,n){return`${e}${n===0?`M`:`L`}${t.x},${t.y}`},``)}).join(``);return n.length===1?`${r}Z`:r},oe=function(e,t,n){var r=T(e,n);return`${r.slice(-1)===`Z`?r.slice(0,-1):r}L${T(t.reverse(),n).slice(1)}`},se=function(e){var t=e.points,n=e.className,i=e.baseLinePoints,o=e.connectNulls,s=te(e,ee);if(!t||!t.length)return null;var c=r(`recharts-polygon`,n);if(i&&i.length){var l=s.stroke&&s.stroke!==`none`,u=oe(t,i,o);return v.createElement(`g`,{className:c},v.createElement(`path`,y({},a(s,!0),{fill:u.slice(-1)===`Z`?s.fill:`none`,stroke:`none`,d:u})),l?v.createElement(`path`,y({},a(s,!0),{fill:`none`,d:T(t,o)})):null,l?v.createElement(`path`,y({},a(s,!0),{fill:`none`,d:T(i,o)})):null)}var d=T(t,o);return v.createElement(`path`,y({},a(s,!0),{fill:d.slice(-1)===`Z`?s.fill:`none`,className:c,d}))},ce=t(((e,t)=>{var n=o(),r=g(),i=p();function a(e,t){return e&&e.length?n(e,i(t,2),r):void 0}t.exports=a})),le=t(((e,t)=>{var n=o(),r=p(),i=l();function a(e,t){return e&&e.length?n(e,r(t,2),i):void 0}t.exports=a})),ue=e(ce()),E=e(le()),D=[`cx`,`cy`,`angle`,`ticks`,`axisLine`],de=[`ticks`,`tick`,`angle`,`tickFormatter`,`stroke`];function O(e){"@babel/helpers - typeof";return O=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},O(e)}function k(){return k=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},k.apply(this,arguments)}function A(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function j(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?A(Object(n),!0).forEach(function(t){z(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):A(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function M(e,t){if(e==null)return{};var n=fe(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function fe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function pe(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function N(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,B(r.key),r)}}function me(e,t,n){return t&&N(e.prototype,t),n&&N(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function he(e,t,n){return t=L(t),P(e,I()?Reflect.construct(t,n||[],L(e).constructor):t.apply(e,n))}function P(e,t){if(t&&(O(t)===`object`||typeof t==`function`))return t;if(t!==void 0)throw TypeError(`Derived constructors may only return object or undefined`);return F(e)}function F(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function I(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(I=function(){return!!e})()}function L(e){return L=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},L(e)}function ge(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&R(e,t)}function R(e,t){return R=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},R(e,t)}function z(e,t,n){return t=B(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function B(e){var t=_e(e,`string`);return O(t)==`symbol`?t:t+``}function _e(e,t){if(O(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(O(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var V=function(e){function t(){return pe(this,t),he(this,t,arguments)}return ge(t,e),me(t,[{key:`getTickValueCoord`,value:function(e){var t=e.coordinate,n=this.props,r=n.angle,i=n.cx,a=n.cy;return s(i,a,t,r)}},{key:`getTickTextAnchor`,value:function(){var e=this.props.orientation,t;switch(e){case`left`:t=`end`;break;case`right`:t=`start`;break;default:t=`middle`;break}return t}},{key:`getViewBox`,value:function(){var e=this.props,t=e.cx,n=e.cy,r=e.angle,i=e.ticks,a=(0,ue.default)(i,function(e){return e.coordinate||0});return{cx:t,cy:n,startAngle:r,endAngle:r,innerRadius:(0,E.default)(i,function(e){return e.coordinate||0}).coordinate||0,outerRadius:a.coordinate||0}}},{key:`renderAxisLine`,value:function(){var e=this.props,t=e.cx,n=e.cy,r=e.angle,i=e.ticks,o=e.axisLine,c=M(e,D),l=i.reduce(function(e,t){return[Math.min(e[0],t.coordinate),Math.max(e[1],t.coordinate)]},[1/0,-1/0]),u=s(t,n,l[0],r),d=s(t,n,l[1],r),f=j(j(j({},a(c,!1)),{},{fill:`none`},a(o,!1)),{},{x1:u.x,y1:u.y,x2:d.x,y2:d.y});return v.createElement(`line`,k({className:`recharts-polar-radius-axis-line`},f))}},{key:`renderTicks`,value:function(){var e=this,n=this.props,i=n.ticks,o=n.tick,s=n.angle,c=n.tickFormatter,l=n.stroke,d=M(n,de),p=this.getTickTextAnchor(),h=a(d,!1),g=a(o,!1),_=i.map(function(n,i){var a=e.getTickValueCoord(n),d=j(j(j(j({textAnchor:p,transform:`rotate(${90-s}, ${a.x}, ${a.y})`},h),{},{stroke:`none`,fill:l},g),{},{index:i},a),{},{payload:n});return v.createElement(u,k({className:r(`recharts-polar-radius-axis-tick`,f(o)),key:`tick-${n.coordinate}`},m(e.props,n,i)),t.renderTickItem(o,d,c?c(n.value,i):n.value))});return v.createElement(u,{className:`recharts-polar-radius-axis-ticks`},_)}},{key:`render`,value:function(){var e=this.props,t=e.ticks,n=e.axisLine,i=e.tick;return!t||!t.length?null:v.createElement(u,{className:r(`recharts-polar-radius-axis`,this.props.className)},n&&this.renderAxisLine(),i&&this.renderTicks(),d.renderCallByParent(this.props,this.getViewBox()))}}],[{key:`renderTickItem`,value:function(e,t,n){return v.isValidElement(e)?v.cloneElement(e,t):(0,_.default)(e)?e(t):v.createElement(c,k({},t,{className:`recharts-polar-radius-axis-tick-value`}),n)}}])}(v.PureComponent);z(V,`displayName`,`PolarRadiusAxis`),z(V,`axisType`,`radiusAxis`),z(V,`defaultProps`,{type:`number`,radiusAxisId:0,cx:0,cy:0,angle:0,orientation:`right`,stroke:`#ccc`,axisLine:!0,tick:!0,tickCount:5,allowDataOverflow:!1,scale:`auto`,allowDuplicatedCategory:!0});function H(e){"@babel/helpers - typeof";return H=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},H(e)}function U(){return U=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},U.apply(this,arguments)}function W(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function G(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?W(Object(n),!0).forEach(function(t){X(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):W(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ve(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function K(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,Z(r.key),r)}}function ye(e,t,n){return t&&K(e.prototype,t),n&&K(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function be(e,t,n){return t=J(t),xe(e,q()?Reflect.construct(t,n||[],J(e).constructor):t.apply(e,n))}function xe(e,t){if(t&&(H(t)===`object`||typeof t==`function`))return t;if(t!==void 0)throw TypeError(`Derived constructors may only return object or undefined`);return Se(e)}function Se(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function q(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(q=function(){return!!e})()}function J(e){return J=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},J(e)}function Ce(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Y(e,t)}function Y(e,t){return Y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Y(e,t)}function X(e,t,n){return t=Z(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Z(e){var t=we(e,`string`);return H(t)==`symbol`?t:t+``}function we(e,t){if(H(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(H(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Te=Math.PI/180,Q=1e-5,$=function(e){function t(){return ve(this,t),be(this,t,arguments)}return Ce(t,e),ye(t,[{key:`getTickLineCoord`,value:function(e){var t=this.props,n=t.cx,r=t.cy,i=t.radius,a=t.orientation,o=t.tickSize||8,c=s(n,r,i,e.coordinate),l=s(n,r,i+(a===`inner`?-1:1)*o,e.coordinate);return{x1:c.x,y1:c.y,x2:l.x,y2:l.y}}},{key:`getTickTextAnchor`,value:function(e){var t=this.props.orientation,n=Math.cos(-e.coordinate*Te);return n>Q?t===`outer`?`start`:`end`:n<-Q?t===`outer`?`end`:`start`:`middle`}},{key:`renderAxisLine`,value:function(){var e=this.props,t=e.cx,n=e.cy,r=e.radius,i=e.axisLine,o=e.axisLineType,c=G(G({},a(this.props,!1)),{},{fill:`none`},a(i,!1));if(o===`circle`)return v.createElement(h,U({className:`recharts-polar-angle-axis-line`},c,{cx:t,cy:n,r}));var l=this.props.ticks.map(function(e){return s(t,n,r,e.coordinate)});return v.createElement(se,U({className:`recharts-polar-angle-axis-line`},c,{points:l}))}},{key:`renderTicks`,value:function(){var e=this,n=this.props,i=n.ticks,o=n.tick,s=n.tickLine,c=n.tickFormatter,l=n.stroke,d=a(this.props,!1),p=a(o,!1),h=G(G({},d),{},{fill:`none`},a(s,!1)),g=i.map(function(n,i){var a=e.getTickLineCoord(n),g=G(G(G({textAnchor:e.getTickTextAnchor(n)},d),{},{stroke:`none`,fill:l},p),{},{index:i,payload:n,x:a.x2,y:a.y2});return v.createElement(u,U({className:r(`recharts-polar-angle-axis-tick`,f(o)),key:`tick-${n.coordinate}`},m(e.props,n,i)),s&&v.createElement(`line`,U({className:`recharts-polar-angle-axis-tick-line`},h,a)),o&&t.renderTickItem(o,g,c?c(n.value,i):n.value))});return v.createElement(u,{className:`recharts-polar-angle-axis-ticks`},g)}},{key:`render`,value:function(){var e=this.props,t=e.ticks,n=e.radius,i=e.axisLine;return n<=0||!t||!t.length?null:v.createElement(u,{className:r(`recharts-polar-angle-axis`,this.props.className)},i&&this.renderAxisLine(),this.renderTicks())}}],[{key:`renderTickItem`,value:function(e,t,n){return v.isValidElement(e)?v.cloneElement(e,t):(0,_.default)(e)?e(t):v.createElement(c,U({},t,{className:`recharts-polar-angle-axis-tick-value`}),n)}}])}(v.PureComponent);X($,`displayName`,`PolarAngleAxis`),X($,`axisType`,`angleAxis`),X($,`defaultProps`,{type:`category`,angleAxisId:0,scale:`auto`,cx:0,cy:0,orientation:`outer`,axisLine:!0,tickLine:!0,tickSize:8,tick:!0,hide:!1,allowDuplicatedCategory:!0});export{V as n,$ as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{x as n}from"./dist-DGzPJ_bO.js";import{E as r}from"./_baseAssignValue-C_vooEQc.js";import{$ as i,C as a,D as o,E as s,F as c,I as l,J as u,N as ee,O as d,P as te,Q as f,Y as p,_ as m,a as h,at as g,et as _,k as v,nt as y,st as b,x,y as S}from"./chart-BuRT2Y6p.js";import{n as C,t as w}from"./PolarAngleAxis-BGjf7sBu.js";var T=e(r()),E=e(l()),D=e(t());function O(e){"@babel/helpers - typeof";return O=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},O(e)}function k(){return k=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},k.apply(this,arguments)}function A(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function j(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?A(Object(n),!0).forEach(function(t){M(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):A(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function M(e,t,n){return t=N(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function N(e){var t=P(e,`string`);return O(t)==`symbol`?t:t+``}function P(e,t){if(O(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(O(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function F(e){return typeof e==`string`?parseInt(e,10):e}function I(e,t){var n=`${t.cx||e.cx}`,r=Number(n),i=`${t.cy||e.cy}`,a=Number(i);return j(j(j({},t),e),{},{cx:r,cy:a})}function L(e){return D.createElement(m,k({shapeType:`sector`,propTransformer:I},e))}var R=[`shape`,`activeShape`,`activeIndex`,`cornerRadius`],z=[`value`,`background`];function B(e){"@babel/helpers - typeof";return B=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},B(e)}function V(){return V=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},V.apply(this,arguments)}function H(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function U(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?H(Object(n),!0).forEach(function(t){Z(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):H(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function W(e,t){if(e==null)return{};var n=G(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function G(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function K(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function q(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,Q(r.key),r)}}function ne(e,t,n){return t&&q(e.prototype,t),n&&q(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function re(e,t,n){return t=Y(t),ie(e,J()?Reflect.construct(t,n||[],Y(e).constructor):t.apply(e,n))}function ie(e,t){if(t&&(B(t)===`object`||typeof t==`function`))return t;if(t!==void 0)throw TypeError(`Derived constructors may only return object or undefined`);return ae(e)}function ae(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function J(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(J=function(){return!!e})()}function Y(e){return Y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Y(e)}function oe(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&X(e,t)}function X(e,t){return X=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},X(e,t)}function Z(e,t,n){return t=Q(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Q(e){var t=se(e,`string`);return B(t)==`symbol`?t:t+``}function se(e,t){if(B(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(B(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var $=function(e){function t(){var e;K(this,t);var n=[...arguments];return e=re(this,t,[].concat(n)),Z(e,`state`,{isAnimationFinished:!1}),Z(e,`handleAnimationEnd`,function(){var t=e.props.onAnimationEnd;e.setState({isAnimationFinished:!0}),(0,T.default)(t)&&t()}),Z(e,`handleAnimationStart`,function(){var t=e.props.onAnimationStart;e.setState({isAnimationFinished:!1}),(0,T.default)(t)&&t()}),e}return oe(t,e),ne(t,[{key:`getDeltaAngle`,value:function(){var e=this.props,t=e.startAngle,n=e.endAngle;return b(n-t)*Math.min(Math.abs(n-t),360)}},{key:`renderSectorsStatically`,value:function(e){var t=this,n=this.props,r=n.shape,a=n.activeShape,o=n.activeIndex,s=n.cornerRadius,c=W(n,R),l=i(c,!1);return e.map(function(e,n){var i=n===o,u=U(U(U(U({},l),{},{cornerRadius:F(s)},e),y(t.props,e,n)),{},{className:`recharts-radial-bar-sector ${e.className}`,forceCornerRadius:c.forceCornerRadius,cornerIsExternal:c.cornerIsExternal,isActive:i,option:i?a:r});return D.createElement(L,V({},u,{key:`sector-${n}`}))})}},{key:`renderSectorsWithAnimation`,value:function(){var e=this,t=this.props,n=t.data,r=t.isAnimationActive,i=t.animationBegin,a=t.animationDuration,o=t.animationEasing,s=t.animationId,c=this.state.prevData;return D.createElement(S,{begin:i,duration:a,isActive:r,easing:o,from:{t:0},to:{t:1},key:`radialBar-${s}`,onAnimationStart:this.handleAnimationStart,onAnimationEnd:this.handleAnimationEnd},function(t){var r=t.t,i=n.map(function(e,t){var n=c&&c[t];if(n){var i=g(n.startAngle,e.startAngle),a=g(n.endAngle,e.endAngle);return U(U({},e),{},{startAngle:i(r),endAngle:a(r)})}var o=e.endAngle,s=e.startAngle,l=g(s,o);return U(U({},e),{},{endAngle:l(r)})});return D.createElement(f,null,e.renderSectorsStatically(i))})}},{key:`renderSectors`,value:function(){var e=this.props,t=e.data,n=e.isAnimationActive,r=this.state.prevData;return n&&t&&t.length&&(!r||!(0,E.default)(r,t))?this.renderSectorsWithAnimation():this.renderSectorsStatically(t)}},{key:`renderBackground`,value:function(e){var t=this,r=this.props.cornerRadius,a=i(this.props.background,!1);return e.map(function(e,i){e.value;var o=e.background,s=W(e,z);if(!o)return null;var c=U(U(U(U(U({cornerRadius:F(r)},s),{},{fill:`#eee`},o),a),y(t.props,e,i)),{},{index:i,className:n(`recharts-radial-bar-background-sector`,a?.className),option:o,isActive:!1});return D.createElement(L,V({},c,{key:`sector-${i}`}))})}},{key:`render`,value:function(){var e=this.props,t=e.hide,r=e.data,i=e.className,a=e.background,o=e.isAnimationActive;if(t||!r||!r.length)return null;var s=this.state.isAnimationFinished,c=n(`recharts-area`,i);return D.createElement(f,{className:c},a&&D.createElement(f,{className:`recharts-radial-bar-background`},this.renderBackground(r)),D.createElement(f,{className:`recharts-radial-bar-sectors`},this.renderSectors()),(!o||s)&&x.renderCallByParent(U({},this.props),r))}}],[{key:`getDerivedStateFromProps`,value:function(e,t){return e.animationId===t.prevAnimationId?e.data===t.curData?null:{curData:e.data}:{prevAnimationId:e.animationId,curData:e.data,prevData:t.curData}}}])}(D.PureComponent);Z($,`displayName`,`RadialBar`),Z($,`defaultProps`,{angleAxisId:0,radiusAxisId:0,minPointSize:0,hide:!1,legendType:`rect`,data:[],isAnimationActive:!p.isSsr,animationBegin:0,animationDuration:1500,animationEasing:`ease`,forceCornerRadius:!1,cornerIsExternal:!1}),Z($,`getComposedData`,function(e){var t=e.item,n=e.props,r=e.radiusAxis,i=e.radiusAxisTicks,a=e.angleAxis,l=e.angleAxisTicks,f=e.displayedData,p=e.dataKey,m=e.stackedData,h=e.barPosition,g=e.bandSize,y=e.dataStartIndex,x=o(h,t);if(!x)return null;var S=a.cx,C=a.cy,w=n.layout,T=t.props,E=T.children,D=T.minPointSize,O=w===`radial`?a:r,k=m?O.scale.domain():null,A=d({numericAxis:O}),j=_(E,u);return{data:f.map(function(e,o){var u,d,f,h,_,T;if(m?u=c(m[y+o],k):(u=te(e,p),Array.isArray(u)||(u=[A,u])),w===`radial`){d=v({axis:r,ticks:i,bandSize:g,offset:x.offset,entry:e,index:o}),_=a.scale(u[1]),h=a.scale(u[0]),f=d+x.size;var E=_-h;if(Math.abs(D)>0&&Math.abs(E)<Math.abs(D)){var O=b(E||D)*(Math.abs(D)-Math.abs(E));_+=O}T={background:{cx:S,cy:C,innerRadius:d,outerRadius:f,startAngle:n.startAngle,endAngle:n.endAngle}}}else{d=r.scale(u[0]),f=r.scale(u[1]),h=v({axis:a,ticks:l,bandSize:g,offset:x.offset,entry:e,index:o}),_=h+x.size;var M=f-d;if(Math.abs(D)>0&&Math.abs(M)<Math.abs(D)){var N=b(M||D)*(Math.abs(D)-Math.abs(M));f+=N}}return U(U(U(U({},e),T),{},{payload:e,value:m?u:u[1],cx:S,cy:C,innerRadius:d,outerRadius:f,startAngle:h,endAngle:_},j&&j[o]&&j[o].props),{},{tooltipPayload:[ee(t,e)],tooltipPosition:s(S,C,(d+f)/2,(h+_)/2)})}),layout:w}});var ce=h({chartName:`RadialBarChart`,GraphicalChild:$,legendContent:`children`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:[`axis`,`item`],axisComponents:[{axisType:`angleAxis`,AxisComp:w},{axisType:`radiusAxis`,AxisComp:C}],formatAxisMap:a,defaultProps:{layout:`radial`,startAngle:0,endAngle:360,cx:`50%`,cy:`50%`,innerRadius:0,outerRadius:`80%`}});export{$ as n,ce as t};
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{x as n}from"./dist-Cb5RSHSg.js";import{E as r}from"./_baseAssignValue-C_vooEQc.js";import{$ as i,C as a,D as o,E as s,F as c,I as l,J as u,N as ee,O as d,P as te,Q as f,Y as p,_ as m,a as h,at as g,et as _,k as v,nt as y,st as b,x,y as S}from"./chart-BnXyfH11.js";import{n as C,t as w}from"./PolarAngleAxis-C4qtHy1B.js";var T=e(r()),E=e(l()),D=e(t());function O(e){"@babel/helpers - typeof";return O=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},O(e)}function k(){return k=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},k.apply(this,arguments)}function A(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function j(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?A(Object(n),!0).forEach(function(t){M(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):A(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function M(e,t,n){return t=N(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function N(e){var t=P(e,`string`);return O(t)==`symbol`?t:t+``}function P(e,t){if(O(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(O(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function F(e){return typeof e==`string`?parseInt(e,10):e}function I(e,t){var n=`${t.cx||e.cx}`,r=Number(n),i=`${t.cy||e.cy}`,a=Number(i);return j(j(j({},t),e),{},{cx:r,cy:a})}function L(e){return D.createElement(m,k({shapeType:`sector`,propTransformer:I},e))}var R=[`shape`,`activeShape`,`activeIndex`,`cornerRadius`],z=[`value`,`background`];function B(e){"@babel/helpers - typeof";return B=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},B(e)}function V(){return V=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},V.apply(this,arguments)}function H(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function U(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?H(Object(n),!0).forEach(function(t){Z(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):H(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function W(e,t){if(e==null)return{};var n=G(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function G(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function K(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function q(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,Q(r.key),r)}}function ne(e,t,n){return t&&q(e.prototype,t),n&&q(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function re(e,t,n){return t=Y(t),ie(e,J()?Reflect.construct(t,n||[],Y(e).constructor):t.apply(e,n))}function ie(e,t){if(t&&(B(t)===`object`||typeof t==`function`))return t;if(t!==void 0)throw TypeError(`Derived constructors may only return object or undefined`);return ae(e)}function ae(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function J(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(J=function(){return!!e})()}function Y(e){return Y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Y(e)}function oe(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&X(e,t)}function X(e,t){return X=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},X(e,t)}function Z(e,t,n){return t=Q(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Q(e){var t=se(e,`string`);return B(t)==`symbol`?t:t+``}function se(e,t){if(B(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(B(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var $=function(e){function t(){var e;K(this,t);var n=[...arguments];return e=re(this,t,[].concat(n)),Z(e,`state`,{isAnimationFinished:!1}),Z(e,`handleAnimationEnd`,function(){var t=e.props.onAnimationEnd;e.setState({isAnimationFinished:!0}),(0,T.default)(t)&&t()}),Z(e,`handleAnimationStart`,function(){var t=e.props.onAnimationStart;e.setState({isAnimationFinished:!1}),(0,T.default)(t)&&t()}),e}return oe(t,e),ne(t,[{key:`getDeltaAngle`,value:function(){var e=this.props,t=e.startAngle,n=e.endAngle;return b(n-t)*Math.min(Math.abs(n-t),360)}},{key:`renderSectorsStatically`,value:function(e){var t=this,n=this.props,r=n.shape,a=n.activeShape,o=n.activeIndex,s=n.cornerRadius,c=W(n,R),l=i(c,!1);return e.map(function(e,n){var i=n===o,u=U(U(U(U({},l),{},{cornerRadius:F(s)},e),y(t.props,e,n)),{},{className:`recharts-radial-bar-sector ${e.className}`,forceCornerRadius:c.forceCornerRadius,cornerIsExternal:c.cornerIsExternal,isActive:i,option:i?a:r});return D.createElement(L,V({},u,{key:`sector-${n}`}))})}},{key:`renderSectorsWithAnimation`,value:function(){var e=this,t=this.props,n=t.data,r=t.isAnimationActive,i=t.animationBegin,a=t.animationDuration,o=t.animationEasing,s=t.animationId,c=this.state.prevData;return D.createElement(S,{begin:i,duration:a,isActive:r,easing:o,from:{t:0},to:{t:1},key:`radialBar-${s}`,onAnimationStart:this.handleAnimationStart,onAnimationEnd:this.handleAnimationEnd},function(t){var r=t.t,i=n.map(function(e,t){var n=c&&c[t];if(n){var i=g(n.startAngle,e.startAngle),a=g(n.endAngle,e.endAngle);return U(U({},e),{},{startAngle:i(r),endAngle:a(r)})}var o=e.endAngle,s=e.startAngle,l=g(s,o);return U(U({},e),{},{endAngle:l(r)})});return D.createElement(f,null,e.renderSectorsStatically(i))})}},{key:`renderSectors`,value:function(){var e=this.props,t=e.data,n=e.isAnimationActive,r=this.state.prevData;return n&&t&&t.length&&(!r||!(0,E.default)(r,t))?this.renderSectorsWithAnimation():this.renderSectorsStatically(t)}},{key:`renderBackground`,value:function(e){var t=this,r=this.props.cornerRadius,a=i(this.props.background,!1);return e.map(function(e,i){e.value;var o=e.background,s=W(e,z);if(!o)return null;var c=U(U(U(U(U({cornerRadius:F(r)},s),{},{fill:`#eee`},o),a),y(t.props,e,i)),{},{index:i,className:n(`recharts-radial-bar-background-sector`,a?.className),option:o,isActive:!1});return D.createElement(L,V({},c,{key:`sector-${i}`}))})}},{key:`render`,value:function(){var e=this.props,t=e.hide,r=e.data,i=e.className,a=e.background,o=e.isAnimationActive;if(t||!r||!r.length)return null;var s=this.state.isAnimationFinished,c=n(`recharts-area`,i);return D.createElement(f,{className:c},a&&D.createElement(f,{className:`recharts-radial-bar-background`},this.renderBackground(r)),D.createElement(f,{className:`recharts-radial-bar-sectors`},this.renderSectors()),(!o||s)&&x.renderCallByParent(U({},this.props),r))}}],[{key:`getDerivedStateFromProps`,value:function(e,t){return e.animationId===t.prevAnimationId?e.data===t.curData?null:{curData:e.data}:{prevAnimationId:e.animationId,curData:e.data,prevData:t.curData}}}])}(D.PureComponent);Z($,`displayName`,`RadialBar`),Z($,`defaultProps`,{angleAxisId:0,radiusAxisId:0,minPointSize:0,hide:!1,legendType:`rect`,data:[],isAnimationActive:!p.isSsr,animationBegin:0,animationDuration:1500,animationEasing:`ease`,forceCornerRadius:!1,cornerIsExternal:!1}),Z($,`getComposedData`,function(e){var t=e.item,n=e.props,r=e.radiusAxis,i=e.radiusAxisTicks,a=e.angleAxis,l=e.angleAxisTicks,f=e.displayedData,p=e.dataKey,m=e.stackedData,h=e.barPosition,g=e.bandSize,y=e.dataStartIndex,x=o(h,t);if(!x)return null;var S=a.cx,C=a.cy,w=n.layout,T=t.props,E=T.children,D=T.minPointSize,O=w===`radial`?a:r,k=m?O.scale.domain():null,A=d({numericAxis:O}),j=_(E,u);return{data:f.map(function(e,o){var u,d,f,h,_,T;if(m?u=c(m[y+o],k):(u=te(e,p),Array.isArray(u)||(u=[A,u])),w===`radial`){d=v({axis:r,ticks:i,bandSize:g,offset:x.offset,entry:e,index:o}),_=a.scale(u[1]),h=a.scale(u[0]),f=d+x.size;var E=_-h;if(Math.abs(D)>0&&Math.abs(E)<Math.abs(D)){var O=b(E||D)*(Math.abs(D)-Math.abs(E));_+=O}T={background:{cx:S,cy:C,innerRadius:d,outerRadius:f,startAngle:n.startAngle,endAngle:n.endAngle}}}else{d=r.scale(u[0]),f=r.scale(u[1]),h=v({axis:a,ticks:l,bandSize:g,offset:x.offset,entry:e,index:o}),_=h+x.size;var M=f-d;if(Math.abs(D)>0&&Math.abs(M)<Math.abs(D)){var N=b(M||D)*(Math.abs(D)-Math.abs(M));f+=N}}return U(U(U(U({},e),T),{},{payload:e,value:m?u:u[1],cx:S,cy:C,innerRadius:d,outerRadius:f,startAngle:h,endAngle:_},j&&j[o]&&j[o].props),{},{tooltipPayload:[ee(t,e)],tooltipPosition:s(S,C,(d+f)/2,(h+_)/2)})}),layout:w}});var ce=h({chartName:`RadialBarChart`,GraphicalChild:$,legendContent:`children`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:[`axis`,`item`],axisComponents:[{axisType:`angleAxis`,AxisComp:w},{axisType:`radiusAxis`,AxisComp:C}],formatAxisMap:a,defaultProps:{layout:`radial`,startAngle:0,endAngle:360,cx:`50%`,cy:`50%`,innerRadius:0,outerRadius:`80%`}});export{$ as n,ce as t};
@@ -0,0 +1 @@
1
+ import{o as e,t}from"./rolldown-runtime-DAXXjFlN.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{o as r,t as i}from"./use-settings-navigation-Bf1g1rEh.js";import{n as a}from"./components-CwL6a6As-B0E0-NBJ.js";import{Uo as o,Xn as s,Xo as c,ms as l}from"./index-BHy2DZX-.js";import{n as u}from"./global-data-provider-B949LDXJ.js";import{s as d}from"./zapier-modal-BP2f4-vY.js";var f=t(((e,t)=>{t.exports=typeof process==`object`&&{}.NODE_DEBUG&&/\bsemver\b/i.test({}.NODE_DEBUG)?(...e)=>console.error(`SEMVER`,...e):()=>{}})),p=t(((e,t)=>{var n=`2.0.0`,r=256;t.exports={MAX_LENGTH:r,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:r-6,MAX_SAFE_INTEGER:2**53-1||9007199254740991,RELEASE_TYPES:[`major`,`premajor`,`minor`,`preminor`,`patch`,`prepatch`,`prerelease`],SEMVER_SPEC_VERSION:n,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}})),m=t(((e,t)=>{var{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:i}=p(),a=f();e=t.exports={};var o=e.re=[],s=e.safeRe=[],c=e.src=[],l=e.safeSrc=[],u=e.t={},d=0,m=`[a-zA-Z0-9-]`,h=[[`\\s`,1],[`\\d`,i],[m,r]],g=e=>{for(let[t,n]of h)e=e.split(`${t}*`).join(`${t}{0,${n}}`).split(`${t}+`).join(`${t}{1,${n}}`);return e},_=(e,t,n)=>{let r=g(t),i=d++;a(e,i,t),u[e]=i,c[i]=t,l[i]=r,o[i]=new RegExp(t,n?`g`:void 0),s[i]=new RegExp(r,n?`g`:void 0)};_(`NUMERICIDENTIFIER`,`0|[1-9]\\d*`),_(`NUMERICIDENTIFIERLOOSE`,`\\d+`),_(`NONNUMERICIDENTIFIER`,`\\d*[a-zA-Z-]${m}*`),_(`MAINVERSION`,`(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})`),_(`MAINVERSIONLOOSE`,`(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})`),_(`PRERELEASEIDENTIFIER`,`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIER]})`),_(`PRERELEASEIDENTIFIERLOOSE`,`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIERLOOSE]})`),_(`PRERELEASE`,`(?:-(${c[u.PRERELEASEIDENTIFIER]}(?:\\.${c[u.PRERELEASEIDENTIFIER]})*))`),_(`PRERELEASELOOSE`,`(?:-?(${c[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[u.PRERELEASEIDENTIFIERLOOSE]})*))`),_(`BUILDIDENTIFIER`,`${m}+`),_(`BUILD`,`(?:\\+(${c[u.BUILDIDENTIFIER]}(?:\\.${c[u.BUILDIDENTIFIER]})*))`),_(`FULLPLAIN`,`v?${c[u.MAINVERSION]}${c[u.PRERELEASE]}?${c[u.BUILD]}?`),_(`FULL`,`^${c[u.FULLPLAIN]}$`),_(`LOOSEPLAIN`,`[v=\\s]*${c[u.MAINVERSIONLOOSE]}${c[u.PRERELEASELOOSE]}?${c[u.BUILD]}?`),_(`LOOSE`,`^${c[u.LOOSEPLAIN]}$`),_(`GTLT`,`((?:<|>)?=?)`),_(`XRANGEIDENTIFIERLOOSE`,`${c[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),_(`XRANGEIDENTIFIER`,`${c[u.NUMERICIDENTIFIER]}|x|X|\\*`),_(`XRANGEPLAIN`,`[v=\\s]*(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:${c[u.PRERELEASE]})?${c[u.BUILD]}?)?)?`),_(`XRANGEPLAINLOOSE`,`[v=\\s]*(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:${c[u.PRERELEASELOOSE]})?${c[u.BUILD]}?)?)?`),_(`XRANGE`,`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAIN]}$`),_(`XRANGELOOSE`,`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAINLOOSE]}$`),_(`COERCEPLAIN`,`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),_(`COERCE`,`${c[u.COERCEPLAIN]}(?:$|[^\\d])`),_(`COERCEFULL`,c[u.COERCEPLAIN]+`(?:${c[u.PRERELEASE]})?(?:${c[u.BUILD]})?(?:$|[^\\d])`),_(`COERCERTL`,c[u.COERCE],!0),_(`COERCERTLFULL`,c[u.COERCEFULL],!0),_(`LONETILDE`,`(?:~>?)`),_(`TILDETRIM`,`(\\s*)${c[u.LONETILDE]}\\s+`,!0),e.tildeTrimReplace=`$1~`,_(`TILDE`,`^${c[u.LONETILDE]}${c[u.XRANGEPLAIN]}$`),_(`TILDELOOSE`,`^${c[u.LONETILDE]}${c[u.XRANGEPLAINLOOSE]}$`),_(`LONECARET`,`(?:\\^)`),_(`CARETTRIM`,`(\\s*)${c[u.LONECARET]}\\s+`,!0),e.caretTrimReplace=`$1^`,_(`CARET`,`^${c[u.LONECARET]}${c[u.XRANGEPLAIN]}$`),_(`CARETLOOSE`,`^${c[u.LONECARET]}${c[u.XRANGEPLAINLOOSE]}$`),_(`COMPARATORLOOSE`,`^${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]})$|^$`),_(`COMPARATOR`,`^${c[u.GTLT]}\\s*(${c[u.FULLPLAIN]})$|^$`),_(`COMPARATORTRIM`,`(\\s*)${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]}|${c[u.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace=`$1$2$3`,_(`HYPHENRANGE`,`^\\s*(${c[u.XRANGEPLAIN]})\\s+-\\s+(${c[u.XRANGEPLAIN]})\\s*$`),_(`HYPHENRANGELOOSE`,`^\\s*(${c[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[u.XRANGEPLAINLOOSE]})\\s*$`),_(`STAR`,`(<|>)?=?\\s*\\*`),_(`GTE0`,`^\\s*>=\\s*0\\.0\\.0\\s*$`),_(`GTE0PRE`,`^\\s*>=\\s*0\\.0\\.0-0\\s*$`)})),h=t(((e,t)=>{var n=Object.freeze({loose:!0}),r=Object.freeze({});t.exports=e=>e?typeof e==`object`?e:n:r})),g=t(((e,t)=>{var n=/^[0-9]+$/,r=(e,t)=>{if(typeof e==`number`&&typeof t==`number`)return e===t?0:e<t?-1:1;let r=n.test(e),i=n.test(t);return r&&i&&(e=+e,t=+t),e===t?0:r&&!i?-1:i&&!r?1:e<t?-1:1};t.exports={compareIdentifiers:r,rcompareIdentifiers:(e,t)=>r(t,e)}})),_=t(((e,t)=>{var n=f(),{MAX_LENGTH:r,MAX_SAFE_INTEGER:i}=p(),{safeRe:a,t:o}=m(),s=h(),{compareIdentifiers:c}=g(),l=(e,t)=>{let n=t.split(`.`);if(n.length>e.length)return!1;for(let t=0;t<n.length;t++)if(c(e[t],n[t])!==0)return!1;return!0};t.exports=class e{constructor(t,c){if(c=s(c),t instanceof e){if(t.loose===!!c.loose&&t.includePrerelease===!!c.includePrerelease)return t;t=t.version}else if(typeof t!=`string`)throw TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>r)throw TypeError(`version is longer than ${r} characters`);n(`SemVer`,t,c),this.options=c,this.loose=!!c.loose,this.includePrerelease=!!c.includePrerelease;let l=t.trim().match(c.loose?a[o.LOOSE]:a[o.FULL]);if(!l)throw TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+l[1],this.minor=+l[2],this.patch=+l[3],this.major>i||this.major<0)throw TypeError(`Invalid major version`);if(this.minor>i||this.minor<0)throw TypeError(`Invalid minor version`);if(this.patch>i||this.patch<0)throw TypeError(`Invalid patch version`);l[4]?this.prerelease=l[4].split(`.`).map(e=>{if(/^[0-9]+$/.test(e)){let t=+e;if(t>=0&&t<i)return t}return e}):this.prerelease=[],this.build=l[5]?l[5].split(`.`):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(`.`)}`),this.version}toString(){return this.version}compare(t){if(n(`SemVer.compare`,this.version,this.options,t),!(t instanceof e)){if(typeof t==`string`&&t===this.version)return 0;t=new e(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof e||(t=new e(t,this.options)),this.major<t.major?-1:this.major>t.major?1:this.minor<t.minor?-1:this.minor>t.minor?1:this.patch<t.patch?-1:+(this.patch>t.patch)}comparePre(t){if(t instanceof e||(t=new e(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{let e=this.prerelease[r],i=t.prerelease[r];if(n(`prerelease compare`,r,e,i),e===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(e===void 0)return-1;if(e===i)continue;return c(e,i)}while(++r)}compareBuild(t){t instanceof e||(t=new e(t,this.options));let r=0;do{let e=this.build[r],i=t.build[r];if(n(`build compare`,r,e,i),e===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(e===void 0)return-1;if(e===i)continue;return c(e,i)}while(++r)}inc(e,t,n){if(e.startsWith(`pre`)){if(!t&&n===!1)throw Error(`invalid increment argument: identifier is empty`);if(t){let e=`-${t}`.match(this.options.loose?a[o.PRERELEASELOOSE]:a[o.PRERELEASE]);if(!e||e[1]!==t)throw Error(`invalid identifier: ${t}`)}}switch(e){case`premajor`:this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(`pre`,t,n);break;case`preminor`:this.prerelease.length=0,this.patch=0,this.minor++,this.inc(`pre`,t,n);break;case`prepatch`:this.prerelease.length=0,this.inc(`patch`,t,n),this.inc(`pre`,t,n);break;case`prerelease`:this.prerelease.length===0&&this.inc(`patch`,t,n),this.inc(`pre`,t,n);break;case`release`:if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case`major`:(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case`minor`:(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case`patch`:this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case`pre`:{let e=+!!Number(n);if(this.prerelease.length===0)this.prerelease=[e];else{let r=this.prerelease.length;for(;--r>=0;)typeof this.prerelease[r]==`number`&&(this.prerelease[r]++,r=-2);if(r===-1){if(t===this.prerelease.join(`.`)&&n===!1)throw Error(`invalid increment argument: identifier already exists`);this.prerelease.push(e)}}if(t){let r=[t,e];if(n===!1&&(r=[t]),l(this.prerelease,t)){let e=this.prerelease[t.split(`.`).length];isNaN(e)&&(this.prerelease=r)}else this.prerelease=r}break}default:throw Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(`.`)}`),this}}})),v=e(t(((e,t)=>{var n=_();t.exports=(e,t,r=!1)=>{if(e instanceof n)return e;try{return new n(e,t)}catch(e){if(!r)return null;throw e}}}))(),1);function y(e){if(!e)return``;let t=e.indexOf(`+`),n=t===-1?``:e.slice(t+1),r=t===-1?e:e.slice(0,t);if(n&&n!==`moya`){let e=n.split(`.`),t=e[e.length-1];if(t&&/^[0-9a-f]{7,40}$/.test(t))return`https://github.com/TryGhost/Ghost/commit/${t}`}try{let e=(0,v.default)(r,{includePrerelease:!0})?.prerelease;if(e&&e.length>0){let t=String(e[0]).split(`-`)[1];return t?.startsWith(`g`)?`https://github.com/TryGhost/Ghost/commit/${t.slice(1)}`:``}}catch{return``}return`https://github.com/TryGhost/Ghost/releases/tag/v${r}`}function b(e,t){let n=!!e.match?.(/production/i);return!!(n&&t!==`mysql8`||!n&&t===`mysql5`)}var x=n();function S({label:e,version:t}){let n=y(t);return(0,x.jsxs)(`div`,{children:[(0,x.jsxs)(`strong`,{children:[e,`:`]}),` `,n?(0,x.jsx)(`a`,{className:`text-green`,href:n,rel:`noopener noreferrer`,target:`_blank`,children:t}):t]})}function C(){let{updateRoute:e}=i(),t=u().config,n=d();function f(){return new Date().getFullYear()}function p(){return!!t.enableDeveloperExperiments}function m(){return!t.hostSettings?.siteId}return(0,x.jsx)(r,{cancelLabel:``,footer:(0,x.jsx)(x.Fragment,{}),topRightContent:`close`,width:540,onClose:()=>{e(``)},children:(0,x.jsxs)(`div`,{className:`flex flex-col gap-4 pb-7`,children:[(0,x.jsx)(a,{className:`h-auto w-[120px] dark:invert`}),(0,x.jsxs)(`div`,{className:`mt-3 flex flex-col gap-1.5`,children:[n?.message&&(0,x.jsxs)(`div`,{className:`gh-prose-links mb-4 rounded-sm border border-green p-5`,children:[(0,x.jsx)(`strong`,{children:`Update available!`}),(0,x.jsx)(`div`,{dangerouslySetInnerHTML:{__html:n.message}})]}),(0,x.jsx)(S,{label:`Version`,version:t.version}),m()&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)(`div`,{children:[(0,x.jsx)(`strong`,{children:`Environment:`}),` `,t.environment]}),(0,x.jsxs)(`div`,{children:[(0,x.jsx)(`strong`,{children:`Database:`}),` `,t.database]}),(0,x.jsxs)(`div`,{children:[(0,x.jsx)(`strong`,{children:`Mail:`}),` `,t.mail?t.mail:`Native`]})]}),p()&&(0,x.jsxs)(`div`,{children:[(0,x.jsx)(`strong`,{children:`Developer experiments:`}),` Enabled`]}),m()&&b(t.environment,t.database)&&(0,x.jsxs)(`div`,{className:`text-red-500 dark:text-red-400`,children:[`You are running an unsupported database in production. Please `,(0,x.jsx)(`a`,{href:`https://ghost.org/docs/faq/supported-databases/`,rel:`noopener noreferrer`,target:`_blank`,children:`upgrade to MySQL 8`}),`.`]})]}),(0,x.jsx)(s,{}),(0,x.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,x.jsxs)(`a`,{className:`flex items-center gap-2 hover:text-grey-900 dark:hover:text-grey-400`,href:`https://ghost.org/docs/`,rel:`noopener noreferrer`,target:`_blank`,children:[(0,x.jsx)(l,{className:`size-4`}),` User documentation`]}),(0,x.jsxs)(`a`,{className:`flex items-center gap-2 hover:text-grey-900 dark:hover:text-grey-400`,href:`https://forum.ghost.org/`,rel:`noopener noreferrer`,target:`_blank`,children:[(0,x.jsx)(c,{className:`size-4`}),` Get help with Ghost`]}),(0,x.jsxs)(`a`,{className:`flex items-center gap-2 hover:text-grey-900 dark:hover:text-grey-400`,href:`https://ghost.org/docs/contributing/`,rel:`noopener noreferrer`,target:`_blank`,children:[(0,x.jsx)(o,{className:`size-4`}),` Get involved`]})]}),(0,x.jsx)(s,{}),(0,x.jsxs)(`p`,{className:`max-w-[460px] text-sm`,children:[`Copyright © 2013 – `,f(),` Ghost Foundation, released under the `,(0,x.jsx)(`a`,{className:`text-green`,href:`https://github.com/TryGhost/Ghost/blob/main/LICENSE`,rel:`noopener noreferrer`,target:`_blank`,children:`MIT license`}),`. `,(0,x.jsx)(`a`,{className:`text-green`,href:`https://ghost.org/`,rel:`noopener noreferrer`,target:`_blank`,children:`Ghost`}),` is a registered trademark of `,(0,x.jsx)(`a`,{className:`text-green`,href:`https://ghost.org/trademark/`,rel:`noopener noreferrer`,target:`_blank`,children:`Ghost Foundation Ltd`}),`.`]})]})})}export{C as default};