ghost 6.63.0 → 6.65.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 (883) hide show
  1. package/bin/create-migration.js +15 -0
  2. package/bin/lib/duplicate-deps.js +204 -0
  3. package/bin/validate-adapters.js +50 -6
  4. package/components/tryghost-adapter-base-scheduling-0.2.4.tgz +0 -0
  5. package/components/tryghost-adapter-base-sso-0.1.3.tgz +0 -0
  6. package/components/tryghost-admin-api-schema-0.0.0.tgz +0 -0
  7. package/components/tryghost-api-framework-0.0.0.tgz +0 -0
  8. package/components/tryghost-i18n-0.0.0.tgz +0 -0
  9. package/components/{tryghost-kg-default-cards-10.3.5.tgz → tryghost-kg-default-cards-10.3.6.tgz} +0 -0
  10. package/components/tryghost-kg-default-nodes-2.2.1.tgz +0 -0
  11. package/components/tryghost-kg-html-to-lexical-1.4.0.tgz +0 -0
  12. package/components/{tryghost-kg-lexical-html-renderer-1.5.0.tgz → tryghost-kg-lexical-html-renderer-1.5.1.tgz} +0 -0
  13. package/components/tryghost-limit-service-0.0.0.tgz +0 -0
  14. package/components/tryghost-metafield-types-0.0.0.tgz +0 -0
  15. package/content/themes/casper/assets/built/casper.js +1 -1
  16. package/content/themes/casper/assets/built/screen.css +1 -1
  17. package/content/themes/casper/assets/css/screen.css +15 -2
  18. package/content/themes/casper/assets/js/init.js +37 -9
  19. package/content/themes/casper/package.json +8 -8
  20. package/content/themes/source/assets/built/screen.css +1 -1
  21. package/content/themes/source/assets/built/source.js +1 -1
  22. package/content/themes/source/assets/css/screen.css +15 -2
  23. package/content/themes/source/assets/js/main.js +24 -4
  24. package/content/themes/source/package.json +8 -8
  25. package/core/boot.js +27 -15
  26. package/core/bridge.js +1 -1
  27. package/core/built/admin/assets/Combination-DQ6f9A5P.js +41 -0
  28. package/core/built/admin/assets/{PolarAngleAxis-pkMyqz8g.js → PolarAngleAxis-BBaU7PRV.js} +2 -2
  29. package/core/built/admin/assets/RadialBarChart-Bp20JPnA.js +1 -0
  30. package/core/built/admin/assets/about-Dp43j18M.js +1 -0
  31. package/core/built/admin/assets/accordion-h62UzFhj.js +1 -0
  32. package/core/built/admin/assets/account-migration-CBTbtX6Q.js +1 -0
  33. package/core/built/admin/assets/action-list-DC9QpX-l.js +1 -0
  34. package/core/built/admin/assets/activitypub/{account-migration-KA6Jjf9L.js → account-migration-B1DUZS4Q.js} +8 -8
  35. package/core/built/admin/assets/activitypub/activitypub.js +24 -11
  36. package/core/built/admin/assets/activitypub/avatar-CRGud8yf.js +153 -0
  37. package/core/built/admin/assets/activitypub/{avatar-flipboard-csQaNeYK.js → avatar-flipboard-BZNFAXfm.js} +3 -3
  38. package/core/built/admin/assets/activitypub/{bluesky-sharing-C7nTDMvw.js → bluesky-sharing-Cg_v-LwS.js} +30 -31
  39. package/core/built/admin/assets/activitypub/{chunk-KS7C4IRE-Ck3O4oo2.js → chunk-KS7C4IRE-CTUL98Lc.js} +2498 -1885
  40. package/core/built/admin/assets/activitypub/{content-formatters-CLcjaBwV.js → content-formatters-D7GWP7nH.js} +23 -24
  41. package/core/built/admin/assets/activitypub/{copy-DcOh8kXw.js → copy-CgzTvoeR.js} +2 -2
  42. package/core/built/admin/assets/activitypub/{domain-fZ-X8i4-.js → domain-C3G_nkHU.js} +46 -46
  43. package/core/built/admin/assets/activitypub/{edit-profile-BqMLQV88.js → edit-profile-C8cCY-AK.js} +927 -928
  44. package/core/built/admin/assets/activitypub/{explore-B4yPoP8E.js → explore-NlDT4inq.js} +11 -11
  45. package/core/built/admin/assets/activitypub/{feed-BRC_mvAe.js → feed-DF22jCTV.js} +10 -10
  46. package/core/built/admin/assets/activitypub/{field-COacNgOt.js → field-95-iuTte.js} +4 -4
  47. package/core/built/admin/assets/activitypub/{hash-C7u-irQQ.js → hash-R7LMLnhY.js} +2 -2
  48. package/core/built/admin/assets/activitypub/{inbox-CbTTdDQ3.js → inbox-DUJUiV6x.js} +2 -2
  49. package/core/built/admin/assets/activitypub/{inbox-BW-yvUoN.js → inbox-DerExBzA.js} +416 -414
  50. package/core/built/admin/assets/activitypub/{label-kPMmYI7l.js → label-EwCn1QYc.js} +4 -4
  51. package/core/built/admin/assets/activitypub/layout-Dy6NnW1G.js +1 -0
  52. package/core/built/admin/assets/activitypub/{moderation-CuidJzc0.js → moderation-BSkfiVYo.js} +73 -75
  53. package/core/built/admin/assets/activitypub/{note-CAMRRSqD.js → note-DOnAJTXK.js} +9 -9
  54. package/core/built/admin/assets/activitypub/{notifications-BmNlXGgp.js → notifications-DZc6XTjG.js} +27 -27
  55. package/core/built/admin/assets/activitypub/{onboarding-Dmun9jr_.js → onboarding-8vEIwYTH.js} +3 -3
  56. package/core/built/admin/assets/activitypub/{onboarding-Bqg7fh_L.js → onboarding-DYVqbNmp.js} +2 -2
  57. package/core/built/admin/assets/activitypub/{preferences--oH19wf9.js → preferences-DDok6F2N.js} +1418 -1390
  58. package/core/built/admin/assets/activitypub/{profile-DH_tQx2D.js → profile-DjVa2hUk.js} +254 -255
  59. package/core/built/admin/assets/activitypub/{reply-Cap9PxSH.js → reply-DtXBpHxu.js} +2 -2
  60. package/core/built/admin/assets/activitypub/routes-Cw302e1c.js +4946 -0
  61. package/core/built/admin/assets/activitypub/{separator-CAxxu8VV.js → separator-FpRpVDd3.js} +8 -9
  62. package/core/built/admin/assets/activitypub/settings-yK-puALn.js +314 -0
  63. package/core/built/admin/assets/activitypub/{site-BYps63oh.js → site-CHw0R2PA.js} +2 -2
  64. package/core/built/admin/assets/activitypub/{step-1-CKjR2KAm.js → step-1-737bnvxk.js} +7 -7
  65. package/core/built/admin/assets/activitypub/{step-2-B6PKfOUQ.js → step-2-DBaIsAsM.js} +7 -7
  66. package/core/built/admin/assets/activitypub/{step-3-C-qBbcUo.js → step-3-BBmy9m9V.js} +23 -23
  67. package/core/built/admin/assets/activitypub/tabs-LQ2xirdm.js +1101 -0
  68. package/core/built/admin/assets/activitypub/{topic-filter-DsUOuu0k.js → topic-filter-75Nu0CKj.js} +4 -4
  69. package/core/built/admin/assets/activitypub/{use-activity-pub-queries-CX9snsLs.js → use-activity-pub-queries-CYI2QJMs.js} +58 -58
  70. package/core/built/admin/assets/activitypub/{use-navigate-with-base-path-DsJTGDSS.js → use-navigate-with-base-path-B4jZ8hyg.js} +3924 -1403
  71. package/core/built/admin/assets/activitypub/{use-reply-chain-data-AJi9zkzm.js → use-reply-chain-data-BHmFxc3U.js} +6 -6
  72. package/core/built/admin/assets/activitypub/users-CSjOwpT9.js +886 -0
  73. package/core/built/admin/assets/activitypub/{x-DR8AT3-4.js → x-B9ptWCds.js} +2 -2
  74. package/core/built/admin/assets/add-integration-modal-BwePhq95.js +1 -0
  75. package/core/built/admin/assets/add-newsletter-modal-Zv0I7Msm.js +1 -0
  76. package/core/built/admin/assets/add-recommendation-modal-cdLv0wHy.js +1 -0
  77. package/core/built/admin/assets/analytics-DY8_SaP7.js +1 -0
  78. package/core/built/admin/assets/announcement-bar-modal-C-2yWwag.js +1 -0
  79. package/core/built/admin/assets/api-keys-BHKATUqQ.js +1 -0
  80. package/core/built/admin/assets/{api-keys-BGPzLHzA.js → api-keys-omLA6iYn.js} +1 -1
  81. package/core/built/admin/assets/{audience-ceV3XVHq.js → audience-wRcSN0jV.js} +1 -1
  82. package/core/built/admin/assets/automated-emails-CzUa3v4d.js +1 -0
  83. package/core/built/admin/assets/automations-DupSsSOr.js +1 -0
  84. package/core/built/admin/assets/automations-hDVcRPjh.js +1 -0
  85. package/core/built/admin/assets/avatar-flipboard-DiAGgshK.js +1 -0
  86. package/core/built/admin/assets/badge-CI1Z0xyG.js +1 -0
  87. package/core/built/admin/assets/bluesky-sharing-B8PC1SBj.js +1 -0
  88. package/core/built/admin/assets/box-LUuYRT-1.js +1 -0
  89. package/core/built/admin/assets/brand-icon-CrmbX86T.js +1 -0
  90. package/core/built/admin/assets/breadcrumb-DDDpzLyo.js +1 -0
  91. package/core/built/admin/assets/button-D414TI3B.js +1 -0
  92. package/core/built/admin/assets/calendar-Cp_opo3i.js +1 -0
  93. package/core/built/admin/assets/card-C2dfd5u0.js +1 -0
  94. package/core/built/admin/assets/chart-B_UNLXse.js +63 -0
  95. package/core/built/admin/assets/chart-helpers-Czu_9QpJ.js +1 -0
  96. package/core/built/admin/assets/checkbox-CFFqf0Nh.js +1 -0
  97. package/core/built/admin/assets/{chunk-KS7C4IRE-DCsL4i4D.js → chunk-KS7C4IRE-DhOcHQOU.js} +1 -1
  98. package/core/built/admin/assets/{chunk.254.035b85ec456ebbd7336b.js → chunk.201.6961b57ed7a281ac193e.js} +165 -122
  99. package/core/built/admin/assets/chunk.524.0b850e72ec49a0fa3882.js +25 -0
  100. package/core/built/admin/assets/chunk.582.db2ae9e968256e8d58ac.js +27 -0
  101. package/core/built/admin/assets/{chunk.901.4ccc639821020230bcca.js → chunk.972.4b8c97f93d66db15e751.js} +10625 -10088
  102. package/core/built/admin/assets/clean-tracked-url-dkN05vOf.js +1 -0
  103. package/core/built/admin/assets/code-editor-view-Bd_nnHKk.js +1 -0
  104. package/core/built/admin/assets/code-editor-view-BeU3Yf9M.js +1 -0
  105. package/core/built/admin/assets/color-picker-Bzm1V7qg.js +3 -0
  106. package/core/built/admin/assets/color-picker-field-DP0moHz9.js +1 -0
  107. package/core/built/admin/assets/combobox-6_ruuTuj.js +1 -0
  108. package/core/built/admin/assets/command-B5wfm6pd.js +1 -0
  109. package/core/built/admin/assets/comments-BB26dUSl.js +1 -0
  110. package/core/built/admin/assets/components-CwL6a6As-CCRaoCeP.js +1 -0
  111. package/core/built/admin/assets/{config-kSHvwdTG.js → config-BPljH6wF.js} +1 -1
  112. package/core/built/admin/assets/confirmation-context-znVJD4pX.js +1 -0
  113. package/core/built/admin/assets/container-CHHif8km.js +1 -0
  114. package/core/built/admin/assets/content-api-modal-DOHwl0yZ.js +1 -0
  115. package/core/built/admin/assets/context-menu-BpY46Dlb.js +1 -0
  116. package/core/built/admin/assets/copy-field-DRBx6Ady.js +1 -0
  117. package/core/built/admin/assets/create-ghost-browse-value-source-eIXo5Qws.js +1 -0
  118. package/core/built/admin/assets/{custom-field-type-option-BAuW0F-E.js → custom-field-type-option-DrSlETOI.js} +1 -1
  119. package/core/built/admin/assets/custom-integration-modal-Dgo425Ec.js +1 -0
  120. package/core/built/admin/assets/data-list-DM8yqpXi.js +1 -0
  121. package/core/built/admin/assets/date-range-select-DdC23c13.js +1 -0
  122. package/core/built/admin/assets/design-and-theme-modal-CbSu9IT4.js +2 -0
  123. package/core/built/admin/assets/detail-page-CN4NdhpV.js +1 -0
  124. package/core/built/admin/assets/dirty-confirm-dialog-BT_Vq9TD.js +1 -0
  125. package/core/built/admin/assets/disabled-sources-indicator-C5xtW0Q2.js +1 -0
  126. package/core/built/admin/assets/dist-B40T-RCQ.js +1 -0
  127. package/core/built/admin/assets/dist-BRQkNYN1.js +11 -0
  128. package/core/built/admin/assets/dist-Bm-PB47a.js +6 -0
  129. package/core/built/admin/assets/{dist-B6bJuxL3.js → dist-C2lYC76d.js} +1 -1
  130. package/core/built/admin/assets/dist-Cm2qbZKL.js +1 -0
  131. package/core/built/admin/assets/dist-CrlaEoaK.js +1 -0
  132. package/core/built/admin/assets/{dist-BtaTA7Ii.js → dist-D7yMk931.js} +1 -1
  133. package/core/built/admin/assets/{dist-zwwGt8Yf.js → dist-DNAdeRyr.js} +1 -1
  134. package/core/built/admin/assets/dist-DS6zpxid.js +1 -0
  135. package/core/built/admin/assets/dist-DVVKsyPh.js +23 -0
  136. package/core/built/admin/assets/dist-DxfQlAmn.js +1 -0
  137. package/core/built/admin/assets/dist-DziNzWI2.js +1 -0
  138. package/core/built/admin/assets/dist-nmRzULcD.js +1 -0
  139. package/core/built/admin/assets/domain-BPReCZa8.js +1 -0
  140. package/core/built/admin/assets/dropzone-B2auMkf2.js +5 -0
  141. package/core/built/admin/assets/edit-profile-B7XTBzKe.js +1 -0
  142. package/core/built/admin/assets/editor-BcaC9dqm.js +8 -0
  143. package/core/built/admin/assets/editor-screen-FuMpItC8.js +27 -0
  144. package/core/built/admin/assets/email-previews-Bs-JDhIw.js +1 -0
  145. package/core/built/admin/assets/email-sending-status-context-C76KYL1V.js +1 -0
  146. package/core/built/admin/assets/email-sending-status-provider-9d81o1C2.js +1 -0
  147. package/core/built/admin/assets/{emails-vFMk4yYl.js → emails-CgvIIz3q.js} +1 -1
  148. package/core/built/admin/assets/embed-signup-form-modal-CbVbMsxl.js +8 -0
  149. package/core/built/admin/assets/empty-indicator-CSQts7GV.js +1 -0
  150. package/core/built/admin/assets/esm--rhhUGIG.js +2 -0
  151. package/core/built/admin/assets/explore-DbSXFTJN.js +1 -0
  152. package/core/built/admin/assets/feature-flag-overrides-context-CrcQKm9Z.js +1 -0
  153. package/core/built/admin/assets/feature-image-placeholder-DFXA4vfJ.js +1 -0
  154. package/core/built/admin/assets/feed-W7RlF-Gp.js +1 -0
  155. package/core/built/admin/assets/feedback-BTPBQLT5.js +1 -0
  156. package/core/built/admin/assets/field-BXEh3ptU.js +1 -0
  157. package/core/built/admin/assets/filter-sources-DHK2IoCk.js +1 -0
  158. package/core/built/admin/assets/filters-0SYNTqyQ.js +1 -0
  159. package/core/built/admin/assets/filters-DTtZKQyq.js +1 -0
  160. package/core/built/admin/assets/first-promoter-modal-DcoN_OXu.js +1 -0
  161. package/core/built/admin/assets/focus-koenig-editor-on-bottom-click-CkFA8EkI.js +1 -0
  162. package/core/built/admin/assets/framework-provider-DB-svAju.js +4 -0
  163. package/core/built/admin/assets/{ghost-b4e8a403baba61905cd7560e30b9732d.js → ghost-25495154132af7305cb7b646fd83f48f.js} +580 -523
  164. package/core/built/admin/assets/gift-link-modal-BX-Q1TOk.js +1 -0
  165. package/core/built/admin/assets/{gift-links-CfLSnst2.js → gift-links-D8gl_yJS.js} +1 -1
  166. package/core/built/admin/assets/global-data-context-3MItMry2.js +1 -0
  167. package/core/built/admin/assets/grid-BEUIDQX7.js +1 -0
  168. package/core/built/admin/assets/growth-G6PLO4aF.js +1 -0
  169. package/core/built/admin/assets/growth-tkD-fBOY.js +3 -0
  170. package/core/built/admin/assets/heading-ih-fOVqF.js +1 -0
  171. package/core/built/admin/assets/history-modal-Ca-gStoq.js +1 -0
  172. package/core/built/admin/assets/hooks-DYfTEQLk.js +2 -0
  173. package/core/built/admin/assets/html-field-B3CrKV9Y.js +1 -0
  174. package/core/built/admin/assets/iframe-buffering-Bq1el-gw.js +1 -0
  175. package/core/built/admin/assets/images-H-BIm8OQ.js +1 -0
  176. package/core/built/admin/assets/{inbox-gJHG7_xd.js → inbox-DBbDVMPz.js} +35 -35
  177. package/core/built/admin/assets/index-DOF2jDq0.js +4 -0
  178. package/core/built/admin/assets/index-JrrNchW1.css +2 -0
  179. package/core/built/admin/assets/index.es-Ct5XQNSj.js +1 -0
  180. package/core/built/admin/assets/input-group-CvH-3d3F.js +1 -0
  181. package/core/built/admin/assets/input-surface-CL23Mlh8.js +1 -0
  182. package/core/built/admin/assets/integration-header-C7GXGis_.js +1 -0
  183. package/core/built/admin/assets/{integrations-B4kuRBFY.js → integrations-DnJrZnHv.js} +1 -1
  184. package/core/built/admin/assets/invite-user-modal-EJ2_6RpV.js +1 -0
  185. package/core/built/admin/assets/isPlainObject-BzzgUf1E.js +1 -0
  186. package/core/built/admin/assets/jsx-runtime-BlNNh7jY.js +1 -0
  187. package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +3 -3
  188. package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +1 -1
  189. package/core/built/admin/assets/{koenig-lexical-CGXb0F8o.js → koenig-lexical-Dkwee5FG.js} +1 -1
  190. package/core/built/admin/assets/koenig-loader-BzXCXHoA.js +2 -0
  191. package/core/built/admin/assets/kpi-card-iCDUTgOR.js +1 -0
  192. package/core/built/admin/assets/kpi-card-jTnpLKGr.js +1 -0
  193. package/core/built/admin/assets/kpi-helpers-Criu0YAf.js +1 -0
  194. package/core/built/admin/assets/kpi-tabs-DbOmmyOo.js +1 -0
  195. package/core/built/admin/assets/label-Du0yqMqL.js +1 -0
  196. package/core/built/admin/assets/label-picker-Bq1XXr1D.js +1 -0
  197. package/core/built/admin/assets/labels-0x2NfLtC.js +1 -0
  198. package/core/built/admin/assets/layout-Ckwzsnsu.js +1 -0
  199. package/core/built/admin/assets/lib-CCz2mjm8.js +2 -0
  200. package/core/built/admin/assets/link-helpers-o9GgBTni.js +1 -0
  201. package/core/built/admin/assets/links-Ctujreuh.js +1 -0
  202. package/core/built/admin/assets/list-page-CH_wnDC3.js +1 -0
  203. package/core/built/admin/assets/luxon-BXCsmep3.js +1 -0
  204. package/core/built/admin/assets/member-activity-CsAh6MxK.js +1 -0
  205. package/core/built/admin/assets/member-activity-feed-0ytsQbtY.js +1 -0
  206. package/core/built/admin/assets/member-custom-fields-CTFGnnYv.js +1 -0
  207. package/core/built/admin/assets/member-detail-QU3vB1ML.js +1 -0
  208. package/core/built/admin/assets/members-CtMVO_AB.js +4 -0
  209. package/core/built/admin/assets/modal-page-8Ipfl51B.js +1 -0
  210. package/core/built/admin/assets/moderation-B8VtA-W0.js +1 -0
  211. package/core/built/admin/assets/multi-select-combobox-_9wEYmGv.js +1 -0
  212. package/core/built/admin/assets/navigation-modal-CGcjJvkc.js +1 -0
  213. package/core/built/admin/assets/newsletter-BpHjjqmq.js +1 -0
  214. package/core/built/admin/assets/newsletter-detail-modal-DzTbGOyo.js +1 -0
  215. package/core/built/admin/assets/newsletter-emails-BMKH4Osp.js +1 -0
  216. package/core/built/admin/assets/newsletters-BxC84_cL.js +1 -0
  217. package/core/built/admin/assets/{newsletters-Rq1M3GD-.js → newsletters-Dz77m__5.js} +1 -1
  218. package/core/built/admin/assets/note-BPtEzzZS.js +1 -0
  219. package/core/built/admin/assets/notifications-ng3ulEdp.js +1 -0
  220. package/core/built/admin/assets/{nql-BLpCn7qX.js → nql-DnDc7UuU.js} +1 -1
  221. package/core/built/admin/assets/nql-lang-CeTB_Bhv.js +19 -0
  222. package/core/built/admin/assets/{offers--e2nGvkW.js → offers-ByWSK0rR.js} +1 -1
  223. package/core/built/admin/assets/offers-container-modal-CwqnRa3T.js +1 -0
  224. package/core/built/admin/assets/onboarding-B4hfBi9a.js +1 -0
  225. package/core/built/admin/assets/onboarding-DV_XbHts.js +1 -0
  226. package/core/built/admin/assets/onboarding-route-CplZzd7F.js +1 -0
  227. package/core/built/admin/assets/overview-B0yD9OoX.js +1 -0
  228. package/core/built/admin/assets/overview-C4eJzQqi.js +1 -0
  229. package/core/built/admin/assets/page-header-CdCpekG9.js +1 -0
  230. package/core/built/admin/assets/pagemenu-CKQD9hoP.js +1 -0
  231. package/core/built/admin/assets/{pages-CjDY2CBI.js → pages-DZ_YGB1D.js} +1 -1
  232. package/core/built/admin/assets/pages-route-CKsnxIvw.js +1 -0
  233. package/core/built/admin/assets/papaparse.min-BlhnCUXn.js +10 -0
  234. package/core/built/admin/assets/pintura-modal-C5jzeyGk.js +1 -0
  235. package/core/built/admin/assets/portal-frame-DYo0bh0E.js +1 -0
  236. package/core/built/admin/assets/portal-modal-C0d8xjKa.js +1 -0
  237. package/core/built/admin/assets/post-analytics-C5C7IyAm.js +1 -0
  238. package/core/built/admin/assets/post-analytics-context-bt2YTBAC.js +1 -0
  239. package/core/built/admin/assets/post-analytics-header-DKWHwoK2.js +1 -0
  240. package/core/built/admin/assets/post-analytics-provider-BqCPPxmW.js +1 -0
  241. package/core/built/admin/assets/post-share-modal-wxmqbAv_.js +1 -0
  242. package/core/built/admin/assets/posts-list-screen-B978ZO0R.js +2 -0
  243. package/core/built/admin/assets/posts-route-CDqxKazl.js +1 -0
  244. package/core/built/admin/assets/{posts-pCPrhQeR.js → posts-tcoO3iRG.js} +1 -1
  245. package/core/built/admin/assets/preferences-CnejTRc4.js +5 -0
  246. package/core/built/admin/assets/preview-chrome-C7yZWVLZ.js +1 -0
  247. package/core/built/admin/assets/preview-modal-CFUxUGHp.js +1 -0
  248. package/core/built/admin/assets/profile-ClRGiOqA.js +1 -0
  249. package/core/built/admin/assets/prop-types-6lTeqvom.js +1 -0
  250. package/core/built/admin/assets/radio-group-CTmLo0h9.js +1 -0
  251. package/core/built/admin/assets/react-BXwhMTuc.js +1 -0
  252. package/core/built/admin/assets/{jsx-runtime-DX3WBWVO.js → react-dom-CMOtJ5MH.js} +2 -2
  253. package/core/built/admin/assets/{referrers-D8oHPmDB.js → referrers-1R8bPpoV.js} +1 -1
  254. package/core/built/admin/assets/router-provider-DDZvgS3V.js +1 -0
  255. package/core/built/admin/assets/select-D_4xWFYv.js +1 -0
  256. package/core/built/admin/assets/settings-BRl7-7a9.js +1 -0
  257. package/core/built/admin/assets/settings-BoQcPa-y.js +4 -0
  258. package/core/built/admin/assets/settings-breadcrumbs-C9Yxl81q.js +1 -0
  259. package/core/built/admin/assets/{dist-B3keLvjj.js → shade-scope-Cccj-c7I-D0XwkdKQ.js} +5 -3
  260. package/core/built/admin/assets/share-modal-DBqZobuR.js +1 -0
  261. package/core/built/admin/assets/simple-pagination-D5t_ox6x.js +1 -0
  262. package/core/built/admin/assets/skeleton-CPcTiTSX.js +1 -0
  263. package/core/built/admin/assets/slack-modal-BF9ex8cd.js +1 -0
  264. package/core/built/admin/assets/sort-button-C0EXGjnS.js +1 -0
  265. package/core/built/admin/assets/source-icon-BzzftCQ2.js +1 -0
  266. package/core/built/admin/assets/{stats-D9PDLS3x.js → stats-Cvp8Ep5m.js} +1 -1
  267. package/core/built/admin/assets/stats-view-CzpGoHzF.js +1 -0
  268. package/core/built/admin/assets/step-1-CBUYUPPF.js +1 -0
  269. package/core/built/admin/assets/step-2-CEIXUwQa.js +1 -0
  270. package/core/built/admin/assets/step-3-C1HA5i1N.js +2 -0
  271. package/core/built/admin/assets/stripe-button-DMFsLs80.js +1 -0
  272. package/core/built/admin/assets/stripe-connect-modal-CEvxCUTv.js +1 -0
  273. package/core/built/admin/assets/switch-DoOJF2yg.js +1 -0
  274. package/core/built/admin/assets/table-BDYbUHJz.js +1 -0
  275. package/core/built/admin/assets/tabs-BZyz4ZCH.js +1 -0
  276. package/core/built/admin/assets/tag-detail-CFzaz_9E.js +2 -0
  277. package/core/built/admin/assets/tag-picker-BKUCZuRc.js +1 -0
  278. package/core/built/admin/assets/tags-Bs1FiD7m.js +1 -0
  279. package/core/built/admin/assets/{tags-ChfdwJyS.js → tags-NwZ7BPK6.js} +1 -1
  280. package/core/built/admin/assets/testimonials-modal-CVm0_7E-.js +1 -0
  281. package/core/built/admin/assets/text-BLI0C8Mc.js +1 -0
  282. package/core/built/admin/assets/textarea-C5qolByg.js +1 -0
  283. package/core/built/admin/assets/themes-DtcEFQWm.js +1 -0
  284. package/core/built/admin/assets/tier-detail-modal-Cmwzi-e7.js +1 -0
  285. package/core/built/admin/assets/{tiers-BCpIOGQr.js → tiers-6mPzCXlM.js} +1 -1
  286. package/core/built/admin/assets/toggle-group-BTL1QsWY.js +1 -0
  287. package/core/built/admin/assets/topic-filter-BMjhquv7.js +1 -0
  288. package/core/built/admin/assets/transistor-modal-hMv53jF8.js +1 -0
  289. package/core/built/admin/assets/trend-badge-1w_HEzkG.js +1 -0
  290. package/core/built/admin/assets/unsplash-modal-jzC8lEB2.js +1 -0
  291. package/core/built/admin/assets/use-analytics-data-B3lGOxsC.js +1 -0
  292. package/core/built/admin/assets/use-availability-DnKqOyqd.js +1 -0
  293. package/core/built/admin/assets/{use-check-theme-limit-error-DRUjK4YM.js → use-check-theme-limit-error-C1tc2P4N.js} +2 -2
  294. package/core/built/admin/assets/use-email-sending-status-DNMtL5B9.js +1 -0
  295. package/core/built/admin/assets/use-filter-params-DU-aiaTb.js +1 -0
  296. package/core/built/admin/assets/use-filterable-api-CxCrnPxG.js +1 -0
  297. package/core/built/admin/assets/use-form-DJKZJhQh.js +1 -0
  298. package/core/built/admin/assets/use-growth-stats-E13rMQUE.js +1 -0
  299. package/core/built/admin/assets/use-host-limits-mpTkZIq8.js +1 -0
  300. package/core/built/admin/assets/use-limiter-DlL7au90.js +19 -0
  301. package/core/built/admin/assets/use-navigate-with-base-path-BzgNwMAx.js +1 -0
  302. package/core/built/admin/assets/use-pintura-config-CtEV1JQY.js +1 -0
  303. package/core/built/admin/assets/use-pintura-editor-CaxE64kD.js +1 -0
  304. package/core/built/admin/assets/use-post-referrers-DyPjyBSN.js +1 -0
  305. package/core/built/admin/assets/use-query-params-DlOHCo-R.js +1 -0
  306. package/core/built/admin/assets/use-reply-chain-data-BST2OgCM.js +1 -0
  307. package/core/built/admin/assets/use-router-history-entry-CKx9LhqD.js +1 -0
  308. package/core/built/admin/assets/use-sending-eta-DR9ueMH8.js +1 -0
  309. package/core/built/admin/assets/use-setting-group-ldtX1Vsk.js +1 -0
  310. package/core/built/admin/assets/use-settings-navigation-CzGU4sus.js +1 -0
  311. package/core/built/admin/assets/use-staff-users-DoeXaPsb.js +1 -0
  312. package/core/built/admin/assets/use-tinybird-query-BaBNCaj0.js +1 -0
  313. package/core/built/admin/assets/use-tinybird-token-CnZ19NDf.js +1 -0
  314. package/core/built/admin/assets/use-unsaved-changes-guard-CKVPWz_F.js +1 -0
  315. package/core/built/admin/assets/use-upgrade-route-CVjDlNSs.js +1 -0
  316. package/core/built/admin/assets/{use-url-input-fvp-TpPx.js → use-url-input-C5KHJw79.js} +1 -1
  317. package/core/built/admin/assets/user-detail-modal-Dm0KfPeR.js +1 -0
  318. package/core/built/admin/assets/{users-DVNWrqg9.js → users-C60_hpn6.js} +1 -1
  319. package/core/built/admin/assets/{validator-Cr0sMKuW.js → validator-DlFQP70j.js} +1 -1
  320. package/core/built/admin/assets/{vendor-2dd263291938d407802568d3357ec69e.js → vendor-97e91ff8dd1457c668f9ef103ee1a77b.js} +2748 -2977
  321. package/core/built/admin/assets/virtual-list-tAuPUICw.js +1 -0
  322. package/core/built/admin/assets/web-BQlKcW2x.js +2 -0
  323. package/core/built/admin/assets/web-NTT5DkEz.js +1 -0
  324. package/core/built/admin/assets/zapier-modal-DsHG9Oev.js +1 -0
  325. package/core/built/admin/index.html +35 -34
  326. package/core/cli/command.js +17 -2
  327. package/core/frontend/apps/private-blogging/index.js +2 -2
  328. package/core/frontend/apps/private-blogging/lib/middleware.js +1 -1
  329. package/core/frontend/apps/private-blogging/lib/router.js +1 -1
  330. package/core/frontend/helpers/cancel_link.js +3 -3
  331. package/core/frontend/helpers/content.js +2 -2
  332. package/core/frontend/helpers/content_api_url.js +1 -1
  333. package/core/frontend/helpers/date.js +1 -1
  334. package/core/frontend/helpers/foreach.js +5 -5
  335. package/core/frontend/helpers/get.js +7 -4
  336. package/core/frontend/helpers/ghost_head.js +2 -2
  337. package/core/frontend/helpers/has.js +1 -3
  338. package/core/frontend/helpers/link.js +7 -7
  339. package/core/frontend/helpers/link_class.js +2 -2
  340. package/core/frontend/helpers/navigation.js +1 -2
  341. package/core/frontend/helpers/recommendations.js +5 -6
  342. package/core/frontend/helpers/tiers.js +1 -1
  343. package/core/frontend/helpers/total_members.js +1 -1
  344. package/core/frontend/helpers/total_paid_members.js +1 -1
  345. package/core/frontend/meta/asset-url.js +1 -16
  346. package/core/frontend/meta/author-url.js +1 -1
  347. package/core/frontend/meta/modified-date.js +1 -1
  348. package/core/frontend/meta/published-date.js +1 -1
  349. package/core/frontend/meta/schema.js +3 -8
  350. package/core/frontend/meta/structured-data.js +1 -2
  351. package/core/frontend/services/asset-hash/index.js +32 -2
  352. package/core/frontend/services/assets-minification/minifier.js +1 -1
  353. package/core/frontend/services/data/entry-lookup.js +1 -1
  354. package/core/frontend/services/data/fetch-data.js +2 -2
  355. package/core/frontend/services/rendering/format-response.js +1 -1
  356. package/core/frontend/services/rendering/renderer.js +3 -0
  357. package/core/frontend/services/rendering/templates.js +1 -1
  358. package/core/frontend/services/routing/controllers/static.js +1 -1
  359. package/core/frontend/services/routing/controllers/unsubscribe.js +2 -1
  360. package/core/frontend/services/routing/parent-router.js +1 -1
  361. package/core/frontend/services/routing/registry.js +1 -1
  362. package/core/frontend/services/rss/generate-feed.js +1 -1
  363. package/core/frontend/services/sitemap/base-site-map-generator.js +68 -97
  364. package/core/frontend/services/sitemap/site-map-index-generator.js +16 -21
  365. package/core/frontend/services/sitemap/site-map-manager.js +82 -43
  366. package/core/frontend/services/sitemap/sitemap-xml.js +72 -0
  367. package/core/frontend/services/theme-engine/active.js +2 -4
  368. package/core/frontend/services/theme-engine/handlebars/utils.js +8 -8
  369. package/core/frontend/services/theme-engine/i18n/i18n.js +15 -6
  370. package/core/frontend/services/theme-engine/i18next/theme-i18n.js +1 -1
  371. package/core/frontend/services/theme-engine/middleware/update-global-template-options.js +1 -1
  372. package/core/frontend/services/theme-engine/preview.js +1 -1
  373. package/core/frontend/utils/member-count.js +2 -2
  374. package/core/frontend/web/middleware/llms-discovery.js +34 -43
  375. package/core/frontend/web/routers/serve-public-file.js +1 -1
  376. package/core/server/adapters/route-settings/S3RouteSettingsStore.js +1 -1
  377. package/core/server/adapters/scheduling/README.md +4 -0
  378. package/core/server/adapters/scheduling/get-scheduler-idempotency-key.js +21 -0
  379. package/core/server/adapters/storage/LocalFilesStorage.js +12 -2
  380. package/core/server/adapters/storage/LocalStorageBase.js +15 -1
  381. package/core/server/api/endpoints/actions.js +2 -1
  382. package/core/server/api/endpoints/automated-emails.js +11 -4
  383. package/core/server/api/endpoints/automations.js +77 -49
  384. package/core/server/api/endpoints/db.js +1 -1
  385. package/core/server/api/endpoints/emails.js +11 -6
  386. package/core/server/api/endpoints/index.js +1 -1
  387. package/core/server/api/endpoints/invites.js +2 -1
  388. package/core/server/api/endpoints/labels.js +6 -2
  389. package/core/server/api/endpoints/mail.js +1 -1
  390. package/core/server/api/endpoints/member-metafields.js +2 -2
  391. package/core/server/api/endpoints/member-signin-urls.js +1 -1
  392. package/core/server/api/endpoints/members.js +23 -7
  393. package/core/server/api/endpoints/oembed.js +1 -1
  394. package/core/server/api/endpoints/pages.js +2 -6
  395. package/core/server/api/endpoints/posts.js +4 -12
  396. package/core/server/api/endpoints/settings.js +2 -2
  397. package/core/server/api/endpoints/snippets.js +2 -1
  398. package/core/server/api/endpoints/tags.js +6 -2
  399. package/core/server/api/endpoints/themes.js +5 -5
  400. package/core/server/api/endpoints/users.js +2 -6
  401. package/core/server/api/endpoints/utils/api-filter-utils.js +62 -3
  402. package/core/server/api/endpoints/utils/serializers/input/pages.js +2 -2
  403. package/core/server/api/endpoints/utils/serializers/input/posts.js +2 -2
  404. package/core/server/api/endpoints/utils/serializers/input/tags.js +1 -1
  405. package/core/server/api/endpoints/utils/serializers/input/utils/slug-filter-order.js +4 -4
  406. package/core/server/api/endpoints/utils/serializers/output/mappers/comments.js +8 -5
  407. package/core/server/api/endpoints/utils/serializers/output/mappers/posts.js +1 -1
  408. package/core/server/api/endpoints/utils/serializers/output/pages.js +4 -4
  409. package/core/server/api/endpoints/utils/serializers/output/posts.js +4 -4
  410. package/core/server/api/endpoints/utils/serializers/output/search-index.js +11 -11
  411. package/core/server/api/endpoints/utils/serializers/output/settings.js +1 -1
  412. package/core/server/api/endpoints/utils/serializers/output/utils/clean.js +2 -0
  413. package/core/server/api/endpoints/utils/serializers/output/utils/extra-attrs.js +6 -3
  414. package/core/server/api/endpoints/utils/validators/input/automated_emails.js +23 -33
  415. package/core/server/api/endpoints/utils/validators/input/settings.js +18 -4
  416. package/core/server/data/exporter/exporter.js +3 -3
  417. package/core/server/data/exporter/table-lists.js +4 -5
  418. package/core/server/data/importer/handlers/image.js +1 -2
  419. package/core/server/data/importer/handlers/json.js +1 -3
  420. package/core/server/data/importer/handlers/markdown.js +4 -8
  421. package/core/server/data/importer/import-manager.js +1 -1
  422. package/core/server/data/importer/importers/content-file-importer.js +4 -8
  423. package/core/server/data/importer/importers/data/base.js +10 -10
  424. package/core/server/data/importer/importers/data/custom-theme-settings-importer.js +1 -1
  425. package/core/server/data/importer/importers/data/data-importer.js +3 -4
  426. package/core/server/data/importer/importers/data/posts-importer.js +10 -10
  427. package/core/server/data/importer/importers/data/products-importer.js +3 -3
  428. package/core/server/data/importer/importers/data/settings-importer.js +10 -4
  429. package/core/server/data/importer/importers/data/stripe-prices-importer.js +1 -1
  430. package/core/server/data/importer/importers/data/stripe-products-importer.js +1 -1
  431. package/core/server/data/importer/importers/data/tags-importer.js +1 -1
  432. package/core/server/data/importer/importers/data/users-importer.js +2 -2
  433. package/core/server/data/importer/importers/json-to-html.js +12 -9
  434. package/core/server/data/migrations/versions/5.0/2022-05-11-13-12-rename-settings.js +1 -1
  435. package/core/server/data/migrations/versions/6.64/2026-09-03-15-40-25-add-member-access-to-members-metafields.js +12 -0
  436. package/core/server/data/migrations/versions/6.64/2026-09-08-11-01-12-add-posts-auto-excerpt-and-reading-time-columns.js +17 -0
  437. package/core/server/data/migrations/versions/6.64/2026-09-09-13-56-18-add-automation-run-updated-at-indexes.js +6 -0
  438. package/core/server/data/migrations/versions/6.64/2026-09-09-13-56-18-add-tinybird-syncs-table.js +10 -0
  439. package/core/server/data/migrations/versions/6.65/2026-09-16-15-35-26-add-members-metafield-change-events.js +17 -0
  440. package/core/server/data/schema/fixtures/fixture-manager.js +3 -3
  441. package/core/server/data/schema/index.js +1 -1
  442. package/core/server/data/schema/schema.js +54 -2
  443. package/core/server/data/schema/validator.js +96 -123
  444. package/core/server/data/seeders/importers/automations-importer.js +0 -1
  445. package/core/server/data/seeders/importers/comments-importer.js +1 -1
  446. package/core/server/data/seeders/importers/email-recipients-importer.js +3 -3
  447. package/core/server/data/seeders/importers/emails-importer.js +1 -1
  448. package/core/server/data/seeders/importers/members-importer.js +1 -1
  449. package/core/server/data/seeders/importers/members-login-events-importer.js +2 -2
  450. package/core/server/data/seeders/importers/members-newsletters-importer.js +1 -1
  451. package/core/server/data/seeders/importers/members-paid-subscription-events-importer.js +1 -1
  452. package/core/server/data/seeders/importers/members-status-events-importer.js +1 -1
  453. package/core/server/data/seeders/importers/members-stripe-customers-importer.js +1 -1
  454. package/core/server/data/seeders/importers/members-stripe-customers-subscriptions-importer.js +2 -2
  455. package/core/server/data/seeders/importers/members-subscribe-events-importer.js +2 -2
  456. package/core/server/data/seeders/importers/members-subscription-created-events-importer.js +1 -1
  457. package/core/server/data/seeders/utils/blog-info.js +4 -3
  458. package/core/server/data/seeders/utils/event-generator.js +72 -46
  459. package/core/server/data/tinybird/datasources/_mv_automation_run_steps.datasource +10 -0
  460. package/core/server/data/tinybird/datasources/_mv_automation_runs.datasource +10 -0
  461. package/core/server/data/tinybird/datasources/_mv_pending_automation_runs.datasource +10 -0
  462. package/core/server/data/tinybird/datasources/automation_run_events.datasource +12 -0
  463. package/core/server/data/tinybird/datasources/automation_run_step_events.datasource +12 -0
  464. package/core/server/data/tinybird/endpoints/api_automation_browse_stats.pipe +43 -0
  465. package/core/server/data/tinybird/fixtures/automation_run_events.ndjson +7 -0
  466. package/core/server/data/tinybird/fixtures/automation_run_step_events.ndjson +8 -0
  467. package/core/server/data/tinybird/pipes/mv_automation_run_steps.pipe +13 -0
  468. package/core/server/data/tinybird/pipes/mv_automation_runs.pipe +15 -0
  469. package/core/server/data/tinybird/pipes/mv_hits.pipe +25 -20
  470. package/core/server/data/tinybird/pipes/mv_pending_automation_runs.pipe +7 -0
  471. package/core/server/data/tinybird/scripts/docker-analytics-manager.js +2 -2
  472. package/core/server/data/tinybird/tests/api_automation_browse_stats.yaml +18 -0
  473. package/core/server/ghost-server.js +4 -22
  474. package/core/server/lib/generate-password.js +54 -0
  475. package/core/server/lib/image/image-size.js +1 -3
  476. package/core/server/lib/public-jwk.js +77 -0
  477. package/core/server/lib/request-external.js +53 -117
  478. package/core/server/models/base/plugins/actions.js +2 -3
  479. package/core/server/models/base/plugins/crud.js +1 -2
  480. package/core/server/models/base/plugins/events.js +4 -4
  481. package/core/server/models/base/plugins/raw-knex.js +3 -3
  482. package/core/server/models/base/plugins/sanitize.js +1 -1
  483. package/core/server/models/benefit.js +1 -1
  484. package/core/server/models/collection.js +1 -1
  485. package/core/server/models/comment.js +3 -3
  486. package/core/server/models/invite.js +2 -5
  487. package/core/server/models/label.js +3 -6
  488. package/core/server/models/member.js +7 -10
  489. package/core/server/models/newsletter.js +1 -1
  490. package/core/server/models/permission.js +3 -6
  491. package/core/server/models/post.js +20 -23
  492. package/core/server/models/product.js +4 -1
  493. package/core/server/models/relations/authors.js +9 -12
  494. package/core/server/models/role.js +2 -5
  495. package/core/server/models/settings.js +3 -3
  496. package/core/server/models/tag.js +2 -5
  497. package/core/server/models/user.js +19 -19
  498. package/core/server/models/webhook.js +2 -4
  499. package/core/server/notify.js +2 -2
  500. package/core/server/services/adapter-manager/base-classes.js +21 -3
  501. package/core/server/services/adapter-manager/utils.js +6 -1
  502. package/core/server/services/api-version-compatibility/legacy-api-path-match.js +2 -2
  503. package/core/server/services/auth/api-key/admin.js +2 -2
  504. package/core/server/services/auth/api-key/content.js +1 -1
  505. package/core/server/services/auth/passwordreset.js +1 -1
  506. package/core/server/services/auth/setup.js +1 -3
  507. package/core/server/services/automations/README.md +19 -0
  508. package/core/server/services/automations/automations-api.js +46 -1
  509. package/core/server/services/automations/poll.js +3 -1
  510. package/core/server/services/automations/service.js +2 -2
  511. package/core/server/services/automations/tinybird-automation-stats.js +56 -0
  512. package/core/server/services/automations/welcome-email-automation-poll.js +199 -293
  513. package/core/server/services/comments/comments-controller.js +9 -30
  514. package/core/server/services/comments/comments-service-email-renderer.js +1 -1
  515. package/core/server/services/comments/comments-service-emails.js +1 -1
  516. package/core/server/services/comments/comments-service.js +27 -58
  517. package/core/server/services/comments/comments-stats-service.js +1 -1
  518. package/core/server/services/content-import/import/media.js +1 -1
  519. package/core/server/services/content-import/import/staged-file.js +9 -9
  520. package/core/server/services/content-import/index.js +1 -1
  521. package/core/server/services/custom-redirects/validation.js +1 -1
  522. package/core/server/services/email-analytics/email-analytics-service-wrapper.js +38 -84
  523. package/core/server/services/email-analytics/email-analytics-service.js +19 -3
  524. package/core/server/services/email-analytics/index.js +44 -23
  525. package/core/server/services/email-analytics/jobs/email-analytics-job-scheduler.js +31 -60
  526. package/core/server/services/email-rendering/finalize.js +7 -2
  527. package/core/server/services/email-service/README.md +38 -0
  528. package/core/server/services/email-service/batch-sending-service.js +13 -14
  529. package/core/server/services/email-service/email-renderer.js +57 -16
  530. package/core/server/services/email-service/email-service-wrapper.js +4 -3
  531. package/core/server/services/email-service/email-service.js +76 -42
  532. package/core/server/services/email-service/email-templates/partials/feedback-button.hbs +2 -1
  533. package/core/server/services/email-service/email-templates/partials/styles.hbs +0 -6
  534. package/core/server/services/email-service/email-templates/template.hbs +1 -1
  535. package/core/server/services/email-service/jobs/send-email-job.js +12 -0
  536. package/core/server/services/email-service/mailgun-email-provider.js +7 -2
  537. package/core/server/services/email-service/sending-service.js +1 -1
  538. package/core/server/services/email-service/sending-status.js +10 -4
  539. package/core/server/services/gifts/gift-email-service.js +10 -3
  540. package/core/server/services/gifts/gift-service.js +12 -3
  541. package/core/server/services/gifts/index.js +1 -2
  542. package/core/server/services/gifts/jobs/index.js +12 -24
  543. package/core/server/services/gifts/jobs/send-gift-reminders-job.js +6 -46
  544. package/core/server/services/i18n.js +1 -1
  545. package/core/server/services/identity-tokens/identity-token-service-wrapper.js +3 -4
  546. package/core/server/services/invitations/accept.js +2 -2
  547. package/core/server/services/jobs/job-service.js +0 -28
  548. package/core/server/services/jobs-service/jobs-service.js +5 -0
  549. package/core/server/services/jobs-service/register-job-handlers.js +17 -1
  550. package/core/server/services/lib/mailgun-client.js +16 -1
  551. package/core/server/services/lib/mailgun-recipient-message-id.js +49 -0
  552. package/core/server/services/limits.js +18 -2
  553. package/core/server/services/mail/ghost-mailer.js +1 -1
  554. package/core/server/services/member-attribution/member-attribution-service.js +1 -1
  555. package/core/server/services/member-attribution/referrer-translator.js +1 -1
  556. package/core/server/services/member-welcome-emails/service.js +1 -1
  557. package/core/server/services/members/account-service.js +3 -3
  558. package/core/server/services/members/api.js +1 -1
  559. package/core/server/services/members/import-export/import/importer.js +25 -16
  560. package/core/server/services/members/import-export/import/spool.js +11 -15
  561. package/core/server/services/members/import-export/index.js +11 -8
  562. package/core/server/services/members/jobs/index.js +1 -1
  563. package/core/server/services/members/jobs/members-import-job.js +18 -0
  564. package/core/server/services/members/member-avatar.js +18 -0
  565. package/core/server/services/members/members-api/controllers/member-controller.js +2 -2
  566. package/core/server/services/members/members-api/controllers/router-controller.js +7 -2
  567. package/core/server/services/members/members-api/controllers/well-known-controller.js +2 -1
  568. package/core/server/services/members/members-api/members-api.js +4 -4
  569. package/core/server/services/members/members-api/repositories/event-repository.js +40 -1
  570. package/core/server/services/members/members-api/repositories/member-repository.js +55 -17
  571. package/core/server/services/members/members-api/repositories/product-repository.js +1 -1
  572. package/core/server/services/members/members-api/services/member-bread-service.js +19 -19
  573. package/core/server/services/members/members-api/services/token-service.js +11 -12
  574. package/core/server/services/members/middleware.js +9 -2
  575. package/core/server/services/members/request-integrity-token-provider.js +2 -1
  576. package/core/server/services/members/service.js +7 -2
  577. package/core/server/services/members/stats/members-stats.js +2 -2
  578. package/core/server/services/members-events/event-storage.js +2 -2
  579. package/core/server/services/members-metafields/access.js +31 -20
  580. package/core/server/services/members-metafields/actions.js +24 -2
  581. package/core/server/services/members-metafields/bindings-service.js +5 -5
  582. package/core/server/services/members-metafields/codec.js +9 -2
  583. package/core/server/services/members-metafields/definitions-service.js +57 -52
  584. package/core/server/services/members-metafields/index.js +3 -2
  585. package/core/server/services/members-metafields/models.js +2 -0
  586. package/core/server/services/members-metafields/queries.js +45 -11
  587. package/core/server/services/members-metafields/schema.js +51 -1
  588. package/core/server/services/members-metafields/serializers.js +1 -0
  589. package/core/server/services/members-metafields/values-service.js +132 -21
  590. package/core/server/services/mentions/mention-discovery-service.js +1 -1
  591. package/core/server/services/mentions/mention-sending-service.js +3 -3
  592. package/core/server/services/mentions/mention.js +4 -5
  593. package/core/server/services/mentions/mentions-api.js +4 -1
  594. package/core/server/services/mentions-jobs/job-service.js +0 -28
  595. package/core/server/services/milestones/milestones-service.js +1 -1
  596. package/core/server/services/newsletters/newsletters-service.js +1 -1
  597. package/core/server/services/notifications/notifications.js +3 -3
  598. package/core/server/services/oembed/oembed-service.js +115 -14
  599. package/core/server/services/permissions/can-this.js +1 -2
  600. package/core/server/services/post-scheduling/post-scheduling.js +8 -1
  601. package/core/server/services/posts/post-scheduling.js +27 -0
  602. package/core/server/services/settings/settings-bread-service.js +3 -3
  603. package/core/server/services/settings/settings-utils.js +1 -1
  604. package/core/server/services/settings-helpers/settings-helpers.js +1 -1
  605. package/core/server/services/staff/staff-service-emails.js +14 -10
  606. package/core/server/services/stats/posts-stats-service.js +10 -10
  607. package/core/server/services/stats/referrers-stats-service.js +1 -1
  608. package/core/server/services/stats/stats-service.js +12 -3
  609. package/core/server/services/stats/subscription-stats-service.js +3 -3
  610. package/core/server/services/stats/utils/tinybird.js +8 -1
  611. package/core/server/services/stripe/stripe-api.js +3 -3
  612. package/core/server/services/stripe/stripe-migrations.js +6 -6
  613. package/core/server/services/themes/storage.js +21 -26
  614. package/core/server/services/themes/theme-storage.js +2 -2
  615. package/core/server/services/tier-checkout-config/service.js +17 -1
  616. package/core/server/services/tiers/tier.js +15 -15
  617. package/core/server/services/tinybird/tinybird-service.js +1 -0
  618. package/core/server/services/tinybird-sync/get-ingest-config.js +39 -0
  619. package/core/server/services/tinybird-sync/index.js +31 -0
  620. package/core/server/services/tinybird-sync/sync-table-to-tinybird.js +149 -0
  621. package/core/server/services/tinybird-sync/tinybird-sync-service.js +67 -0
  622. package/core/server/services/update-check/update-check-service.js +3 -3
  623. package/core/server/services/webhooks/serialize.js +1 -1
  624. package/core/server/web/api/app.js +0 -5
  625. package/core/server/web/api/endpoints/admin/routes.js +33 -34
  626. package/core/server/web/api/middleware/upload.js +29 -2
  627. package/core/server/web/parent/middleware/index.js +1 -1
  628. package/core/server/web/parent/middleware/log-request.js +5 -0
  629. package/core/server/web/parent/middleware/queue-request.js +104 -59
  630. package/core/server/web/shared/middleware/api/spam-prevention.js +2 -2
  631. package/core/server/web/well-known.js +12 -16
  632. package/core/shared/config/defaults.json +7 -3
  633. package/core/shared/custom-theme-settings-cache/custom-theme-settings-service.js +1 -1
  634. package/core/shared/{flush-logs.js → flush.js} +7 -3
  635. package/core/shared/labs.js +5 -2
  636. package/core/shared/settings-cache/cache-manager.js +1 -1
  637. package/core/shared/timing-safe-string-equal.js +26 -0
  638. package/nodemon.json +1 -1
  639. package/package.json +47 -48
  640. package/patches/@elastic__elasticsearch@8.19.2.patch +67 -0
  641. package/patches/juice@11.1.1.patch +46 -0
  642. package/pnpm-lock.yaml +571 -2107
  643. package/pnpm-workspace.yaml +38 -28
  644. package/scripts/prune.mts +70 -3
  645. package/tsconfig.json +1 -1
  646. package/components/tryghost-adapter-base-scheduling-0.2.3.tgz +0 -0
  647. package/core/built/admin/assets/Combination-B0l4MKVh.js +0 -41
  648. package/core/built/admin/assets/RadialBarChart-JAKoS4KT.js +0 -1
  649. package/core/built/admin/assets/_baseAssignValue-C_vooEQc.js +0 -1
  650. package/core/built/admin/assets/about-C1C3s5-g.js +0 -1
  651. package/core/built/admin/assets/accordion-CxGsDKwa.js +0 -1
  652. package/core/built/admin/assets/account-migration-CbUhW6gk.js +0 -1
  653. package/core/built/admin/assets/action-list-C4v0-du8.js +0 -1
  654. package/core/built/admin/assets/activitypub/avatar-DVJF5bxP.js +0 -261
  655. package/core/built/admin/assets/activitypub/layout-BL4_jtuV.js +0 -1
  656. package/core/built/admin/assets/activitypub/routes-DdyY9uFF.js +0 -7181
  657. package/core/built/admin/assets/activitypub/settings-B6EEcVkW.js +0 -315
  658. package/core/built/admin/assets/activitypub/tabs-DLhZtVde.js +0 -1083
  659. package/core/built/admin/assets/activitypub/users-inweyKL5.js +0 -1499
  660. package/core/built/admin/assets/add-integration-modal-BT_onDJy.js +0 -1
  661. package/core/built/admin/assets/add-newsletter-modal-Cx1kQpiY.js +0 -1
  662. package/core/built/admin/assets/add-recommendation-modal-B5nvAhvr.js +0 -1
  663. package/core/built/admin/assets/analytics-DjoJWPI7.js +0 -1
  664. package/core/built/admin/assets/announcement-bar-modal-Dwd0EGFP.js +0 -1
  665. package/core/built/admin/assets/api-keys-BoeacM-s.js +0 -1
  666. package/core/built/admin/assets/automated-emails-BLesE41L.js +0 -1
  667. package/core/built/admin/assets/automations-BN4u3GR8.js +0 -1
  668. package/core/built/admin/assets/automations-C-ZTUwW3.js +0 -1
  669. package/core/built/admin/assets/avatar-flipboard-C6Kj3Awu.js +0 -1
  670. package/core/built/admin/assets/bluesky-sharing-vzh-oPXL.js +0 -1
  671. package/core/built/admin/assets/box-CdfQAP_F.js +0 -1
  672. package/core/built/admin/assets/brand-icon-CrIGOA3Z.js +0 -1
  673. package/core/built/admin/assets/breadcrumb-CaLk2b7D.js +0 -1
  674. package/core/built/admin/assets/build-CsiH26uS.js +0 -1
  675. package/core/built/admin/assets/button-Dvcv1QSR.js +0 -1
  676. package/core/built/admin/assets/calendar-Bl9RLcZX.js +0 -1
  677. package/core/built/admin/assets/card--VNbfgo3.js +0 -1
  678. package/core/built/admin/assets/chart-BrhA41Zi.js +0 -63
  679. package/core/built/admin/assets/chart-helpers-FHywU0pj.js +0 -1
  680. package/core/built/admin/assets/checkbox-BtayFtjg.js +0 -1
  681. package/core/built/admin/assets/chunk.524.e6975095fccdf22d90f8.js +0 -32
  682. package/core/built/admin/assets/chunk.582.98b485f9b2802f540897.js +0 -34
  683. package/core/built/admin/assets/code-editor-view-C3ZfoF1X.js +0 -1
  684. package/core/built/admin/assets/code-editor-view-CAyRWy1s.js +0 -1
  685. package/core/built/admin/assets/color-picker-G4kGR7rp.js +0 -3
  686. package/core/built/admin/assets/color-picker-field-DQFVTNnT.js +0 -1
  687. package/core/built/admin/assets/combobox-BnYzgEB4.js +0 -1
  688. package/core/built/admin/assets/command-C_vyTikI.js +0 -1
  689. package/core/built/admin/assets/comments-aBrxfnZf.js +0 -1
  690. package/core/built/admin/assets/components-CwL6a6As-B0E0-NBJ.js +0 -1
  691. package/core/built/admin/assets/confirmation-context-DwXX_Y5h.js +0 -1
  692. package/core/built/admin/assets/container-BuQG1wuP.js +0 -1
  693. package/core/built/admin/assets/content-api-modal-D2G0nJP6.js +0 -1
  694. package/core/built/admin/assets/context-menu-DOVB6yaz.js +0 -1
  695. package/core/built/admin/assets/copy-field-DCJwh9qf.js +0 -1
  696. package/core/built/admin/assets/create-ghost-browse-value-source-5C53jJaX.js +0 -1
  697. package/core/built/admin/assets/custom-integration-modal-AbJGVyKc.js +0 -1
  698. package/core/built/admin/assets/data-list-CA2jYGPq.js +0 -1
  699. package/core/built/admin/assets/date-range-select-BY3K-ukj.js +0 -1
  700. package/core/built/admin/assets/design-and-theme-modal-BvEy4_pC.js +0 -2
  701. package/core/built/admin/assets/detail-page-Dnv-CdR1.js +0 -1
  702. package/core/built/admin/assets/dirty-confirm-dialog-DVPuGz3U.js +0 -1
  703. package/core/built/admin/assets/disabled-sources-indicator-Cy7Zp4c8.js +0 -1
  704. package/core/built/admin/assets/dist-4m6pHdc0.js +0 -23
  705. package/core/built/admin/assets/dist-8YJUlf3B.js +0 -1
  706. package/core/built/admin/assets/dist-CZgIBXQN.js +0 -1
  707. package/core/built/admin/assets/dist-CiHx7vA5.js +0 -6
  708. package/core/built/admin/assets/dist-DIC8yz5C.js +0 -1
  709. package/core/built/admin/assets/dist-Dcsslyo72.js +0 -1
  710. package/core/built/admin/assets/dist-Dgt2cr6a.js +0 -1
  711. package/core/built/admin/assets/dist-ECAUrdGc.js +0 -1
  712. package/core/built/admin/assets/dist-JLOy8o0Q.js +0 -1
  713. package/core/built/admin/assets/dist-Ndy-PuGN.js +0 -1
  714. package/core/built/admin/assets/dist-Z97pCNqS.js +0 -11
  715. package/core/built/admin/assets/domain-Dl61QGuk.js +0 -1
  716. package/core/built/admin/assets/dropzone-Dtz5Rmjt.js +0 -5
  717. package/core/built/admin/assets/edit-profile-DNJSMDwm.js +0 -1
  718. package/core/built/admin/assets/editor-DbAen9zf.js +0 -8
  719. package/core/built/admin/assets/editor-screen-BFWThIai.js +0 -26
  720. package/core/built/admin/assets/email-sending-status-context-CWDOD1FN.js +0 -1
  721. package/core/built/admin/assets/email-sending-status-provider-DCPkDICt.js +0 -1
  722. package/core/built/admin/assets/embed-signup-form-modal-DGqsORxS.js +0 -8
  723. package/core/built/admin/assets/empty-indicator-D9QdpuNX.js +0 -1
  724. package/core/built/admin/assets/en-B1jX3WMs.js +0 -1
  725. package/core/built/admin/assets/esm-CXo5SEPy.js +0 -2
  726. package/core/built/admin/assets/explore-nnRr1Fja.js +0 -1
  727. package/core/built/admin/assets/feature-flag-overrides-context-DQjdJFAk.js +0 -1
  728. package/core/built/admin/assets/feature-image-placeholder-BrIHmPs8.js +0 -1
  729. package/core/built/admin/assets/feed-BNUcNu-W.js +0 -1
  730. package/core/built/admin/assets/feedback-DJ4Zb9rZ.js +0 -1
  731. package/core/built/admin/assets/field-C93_Mg6j.js +0 -1
  732. package/core/built/admin/assets/filter-bar-Da1qxybu.js +0 -1
  733. package/core/built/admin/assets/filter-sources-CGJb4C5r.js +0 -1
  734. package/core/built/admin/assets/filters--kKP-EC8.js +0 -1
  735. package/core/built/admin/assets/filters-DxA_a4FP.js +0 -1
  736. package/core/built/admin/assets/first-promoter-modal-BYDtrz2S.js +0 -1
  737. package/core/built/admin/assets/focus-koenig-editor-on-bottom-click-BbSnGOtK.js +0 -1
  738. package/core/built/admin/assets/framework-provider-DqI25epG.js +0 -4
  739. package/core/built/admin/assets/gift-link-modal-B7u5bD4e.js +0 -1
  740. package/core/built/admin/assets/global-data-context-gAMDH9u1.js +0 -1
  741. package/core/built/admin/assets/grid-Dj29PY05.js +0 -1
  742. package/core/built/admin/assets/growth-Cd1uO9d2.js +0 -1
  743. package/core/built/admin/assets/growth-aG32xfdE.js +0 -3
  744. package/core/built/admin/assets/heading-Dh5SFVjL.js +0 -1
  745. package/core/built/admin/assets/history-modal-Df8lW8h-.js +0 -1
  746. package/core/built/admin/assets/hooks-Cy_-oZ4o.js +0 -2
  747. package/core/built/admin/assets/html-field-DA4eU7eq.js +0 -1
  748. package/core/built/admin/assets/iframe-buffering-B2OKJzbz.js +0 -1
  749. package/core/built/admin/assets/images-KXmyO3Ss.js +0 -1
  750. package/core/built/admin/assets/index-BHHXtR5C.css +0 -2
  751. package/core/built/admin/assets/index-CgMCwsxN.js +0 -4
  752. package/core/built/admin/assets/index.es-CY6-yuw9.js +0 -1
  753. package/core/built/admin/assets/inline-BWSs_VzR.js +0 -1
  754. package/core/built/admin/assets/input-group-BE8rM2y1.js +0 -1
  755. package/core/built/admin/assets/input-surface-BsrIZeSF.js +0 -1
  756. package/core/built/admin/assets/integration-header-Bm6IDb1A.js +0 -1
  757. package/core/built/admin/assets/invite-user-modal-B4CuNcx4.js +0 -1
  758. package/core/built/admin/assets/koenig-loader-BeM5rFPX.js +0 -2
  759. package/core/built/admin/assets/kpi-card-B21aToe8.js +0 -1
  760. package/core/built/admin/assets/kpi-card-pz6Wv4Ae.js +0 -1
  761. package/core/built/admin/assets/kpi-helpers-Dq5jelmP.js +0 -1
  762. package/core/built/admin/assets/kpi-tabs-DEZHpKUt.js +0 -1
  763. package/core/built/admin/assets/label-OLCzze8N.js +0 -1
  764. package/core/built/admin/assets/label-picker-BigOvMPV.js +0 -1
  765. package/core/built/admin/assets/labels-Dr0SgUQD.js +0 -1
  766. package/core/built/admin/assets/layout-DUTL8SH5.js +0 -1
  767. package/core/built/admin/assets/lib-7QPTI0FS.js +0 -1
  768. package/core/built/admin/assets/limit-service-BhiEvqcP.js +0 -20
  769. package/core/built/admin/assets/link-helpers-BRAg9SCj.js +0 -1
  770. package/core/built/admin/assets/links-BDHPTlyj.js +0 -1
  771. package/core/built/admin/assets/list-page-BucXJ0hi.js +0 -1
  772. package/core/built/admin/assets/luxon-D1RVjjpq.js +0 -1
  773. package/core/built/admin/assets/member-custom-fields-TRTHCAz9.js +0 -1
  774. package/core/built/admin/assets/member-detail-b6dRwc3C.js +0 -1
  775. package/core/built/admin/assets/members-Czt5lJSc.js +0 -4
  776. package/core/built/admin/assets/modal-page-xCivTMvI.js +0 -1
  777. package/core/built/admin/assets/moderation-ZWefD9uH.js +0 -1
  778. package/core/built/admin/assets/multi-select-combobox-CT13MTo-.js +0 -1
  779. package/core/built/admin/assets/navigation-modal-C8FEhBK5.js +0 -1
  780. package/core/built/admin/assets/newsletter-5VYW4RyJ.js +0 -1
  781. package/core/built/admin/assets/newsletter-detail-modal-ChjC0ZqH.js +0 -1
  782. package/core/built/admin/assets/newsletter-emails-DZH6I-PY.js +0 -1
  783. package/core/built/admin/assets/newsletters-DOC9KBcX.js +0 -1
  784. package/core/built/admin/assets/note-DIV-Pojr.js +0 -1
  785. package/core/built/admin/assets/notifications-s20-H49V.js +0 -1
  786. package/core/built/admin/assets/nql-lang-CaWrLesS.js +0 -19
  787. package/core/built/admin/assets/offers-container-modal-BmG5M5Tv.js +0 -1
  788. package/core/built/admin/assets/onboarding-CUuy9unR.js +0 -1
  789. package/core/built/admin/assets/onboarding-pXyct0Jm.js +0 -1
  790. package/core/built/admin/assets/onboarding-route-CK4pcXoR.js +0 -1
  791. package/core/built/admin/assets/overview-CaPsciMs.js +0 -1
  792. package/core/built/admin/assets/overview-a8GfcsKX.js +0 -1
  793. package/core/built/admin/assets/page-header-DM_KyoFI.js +0 -1
  794. package/core/built/admin/assets/pagemenu-vgZVUVKR.js +0 -1
  795. package/core/built/admin/assets/pages-route-BzKZYdV5.js +0 -1
  796. package/core/built/admin/assets/papaparse.min-cQwnxGCG.js +0 -10
  797. package/core/built/admin/assets/pintura-modal-DExCF1ii.js +0 -1
  798. package/core/built/admin/assets/portal-frame-Cqanidq4.js +0 -1
  799. package/core/built/admin/assets/portal-modal-oinBgA27.js +0 -1
  800. package/core/built/admin/assets/post-analytics-C5oJ1dWV.js +0 -1
  801. package/core/built/admin/assets/post-analytics-context-D0Mw-Pmv.js +0 -1
  802. package/core/built/admin/assets/post-analytics-header-OATo3X_r.js +0 -1
  803. package/core/built/admin/assets/post-analytics-provider-tOpIVGT5.js +0 -1
  804. package/core/built/admin/assets/post-share-modal-DvhC1XgV.js +0 -1
  805. package/core/built/admin/assets/posts-list-screen-o4ZjbgS3.js +0 -2
  806. package/core/built/admin/assets/posts-route-9F--xdIb.js +0 -1
  807. package/core/built/admin/assets/preferences--vNubsqD.js +0 -5
  808. package/core/built/admin/assets/preview-chrome-BljUBlOk.js +0 -1
  809. package/core/built/admin/assets/preview-modal-YYbzlYdO.js +0 -1
  810. package/core/built/admin/assets/profile-BllKV3dR.js +0 -1
  811. package/core/built/admin/assets/prop-types-DeUPn3oD.js +0 -1
  812. package/core/built/admin/assets/radio-group-DL8GI8rt.js +0 -1
  813. package/core/built/admin/assets/react-Bb3IsNbi.js +0 -1
  814. package/core/built/admin/assets/rolldown-runtime-DAXXjFlN.js +0 -1
  815. package/core/built/admin/assets/router-provider-BSvTXgZY.js +0 -1
  816. package/core/built/admin/assets/select-v5YbA3Mw.js +0 -1
  817. package/core/built/admin/assets/settings-PEsZupw1.js +0 -4
  818. package/core/built/admin/assets/settings-breadcrumbs-NwPnCTC7.js +0 -1
  819. package/core/built/admin/assets/settings-u_s1CRkr.js +0 -1
  820. package/core/built/admin/assets/shade-app-CcS3f8MZ-vwURazk8.js +0 -3
  821. package/core/built/admin/assets/share-modal-SskCmVGL.js +0 -1
  822. package/core/built/admin/assets/skeleton-Ce9GgUpf.js +0 -1
  823. package/core/built/admin/assets/slack-modal-XxSJiYgo.js +0 -1
  824. package/core/built/admin/assets/sort-button-Cx1KtINE.js +0 -1
  825. package/core/built/admin/assets/source-icon-Bdp9Im_5.js +0 -1
  826. package/core/built/admin/assets/stack-B2eszIiq.js +0 -1
  827. package/core/built/admin/assets/stats-view-W2g6Jsd-.js +0 -1
  828. package/core/built/admin/assets/step-1-BQYzvBzr.js +0 -1
  829. package/core/built/admin/assets/step-2-xES32xJV.js +0 -1
  830. package/core/built/admin/assets/step-3-DA_XK5kW.js +0 -2
  831. package/core/built/admin/assets/stripe-button-CVsLHelt.js +0 -1
  832. package/core/built/admin/assets/stripe-connect-modal-ClmLOMGS.js +0 -1
  833. package/core/built/admin/assets/switch-CI4gLWqb.js +0 -1
  834. package/core/built/admin/assets/table-BenqVupI.js +0 -1
  835. package/core/built/admin/assets/tabs-eBBlxPp8.js +0 -1
  836. package/core/built/admin/assets/tag-detail-Ce8Se2qd.js +0 -2
  837. package/core/built/admin/assets/tag-picker-C3UR-uJ-.js +0 -1
  838. package/core/built/admin/assets/tags-B-kJxCs7.js +0 -1
  839. package/core/built/admin/assets/testimonials-modal-9Q6fT06V.js +0 -1
  840. package/core/built/admin/assets/text-BQDSDsKs.js +0 -1
  841. package/core/built/admin/assets/textarea-DJ1Q5V39.js +0 -1
  842. package/core/built/admin/assets/tier-detail-modal-CDyYdqK7.js +0 -1
  843. package/core/built/admin/assets/toggle-group-CviIkyok.js +0 -1
  844. package/core/built/admin/assets/topic-filter-I2jCBGxm.js +0 -1
  845. package/core/built/admin/assets/transistor-modal-p53u3W8y.js +0 -1
  846. package/core/built/admin/assets/trend-badge-CideVzQd.js +0 -1
  847. package/core/built/admin/assets/types-uYQ1HgqL.js +0 -1
  848. package/core/built/admin/assets/unsplash-modal-DY8UcKcE.js +0 -1
  849. package/core/built/admin/assets/use-analytics-data-DAIGcr2f.js +0 -1
  850. package/core/built/admin/assets/use-filter-params-JkZhIS8L.js +0 -1
  851. package/core/built/admin/assets/use-filterable-api-BVEVMrhZ.js +0 -1
  852. package/core/built/admin/assets/use-form-vRjI0Kwk.js +0 -1
  853. package/core/built/admin/assets/use-growth-stats-937CUj6j.js +0 -1
  854. package/core/built/admin/assets/use-host-limits-D0Dv3tKA.js +0 -1
  855. package/core/built/admin/assets/use-limiter-CohWfzvK.js +0 -2
  856. package/core/built/admin/assets/use-navigate-with-base-path-BkxcPj5l.js +0 -1
  857. package/core/built/admin/assets/use-pintura-config-xgytjU35.js +0 -1
  858. package/core/built/admin/assets/use-pintura-editor-CaV1mbfO.js +0 -1
  859. package/core/built/admin/assets/use-post-referrers-BCQI7fDg.js +0 -1
  860. package/core/built/admin/assets/use-query-params-BfzuqbcD.js +0 -1
  861. package/core/built/admin/assets/use-reply-chain-data-CYRhoaxY.js +0 -1
  862. package/core/built/admin/assets/use-router-history-entry-NOKcd--l.js +0 -1
  863. package/core/built/admin/assets/use-setting-group-bLKMwoBT.js +0 -1
  864. package/core/built/admin/assets/use-settings-navigation-B-qrriKD.js +0 -1
  865. package/core/built/admin/assets/use-simple-pagination-CNPd6Rf6.js +0 -1
  866. package/core/built/admin/assets/use-staff-users-pRIMIyiW.js +0 -1
  867. package/core/built/admin/assets/use-tinybird-query-CmdbCS9X.js +0 -1
  868. package/core/built/admin/assets/use-tinybird-token-KLne235s.js +0 -1
  869. package/core/built/admin/assets/use-unsaved-changes-guard-7-ug0JdH.js +0 -1
  870. package/core/built/admin/assets/use-upgrade-route-Dm_qqKr0.js +0 -1
  871. package/core/built/admin/assets/user-detail-modal-D3KlGYv-.js +0 -1
  872. package/core/built/admin/assets/virtual-list-CZ3RK2Yf.js +0 -1
  873. package/core/built/admin/assets/web-ClEJsCAj.js +0 -2
  874. package/core/built/admin/assets/web-X9rdnrtq.js +0 -1
  875. package/core/built/admin/assets/zapier-modal-DfVhV17j.js +0 -1
  876. package/core/frontend/services/sitemap/utils.js +0 -17
  877. package/core/server/services/automations/get-scheduler-idempotency-key.js +0 -13
  878. package/core/server/web/api/testmode/index.js +0 -1
  879. package/core/server/web/api/testmode/jobs/cpu-hog.js +0 -15
  880. package/core/server/web/api/testmode/jobs/graceful-job.js +0 -50
  881. package/core/server/web/api/testmode/jobs/say-hello.js +0 -17
  882. package/core/server/web/api/testmode/routes.js +0 -120
  883. /package/core/built/admin/assets/{chunk.901.4ccc639821020230bcca.js.LICENSE.txt → chunk.972.4b8c97f93d66db15e751.js.LICENSE.txt} +0 -0
@@ -0,0 +1,1101 @@
1
+ import { T as e, _ as t, c as n, d as r, g as i, r as a, u as o, v as s, w as c } from "./_react-D4KM8XEu.js";
2
+ import { C as l } from "./chunk-KS7C4IRE-CTUL98Lc.js";
3
+ import { C as u, D as d, I as f, M as p, N as m, O as h, P as g, W as _, _ as ee, b as v, c as te, g as y, h as b, j as x, k as S, m as C, o as ne, p as re, v as ie, w as ae, x as w, y as oe } from "./use-navigate-with-base-path-B4jZ8hyg.js";
4
+ import { at as T, ft as se, ht as E, it as ce, ot as le, st as ue } from "./routes-Cw302e1c.js";
5
+ import { p as D } from "./content-formatters-D7GWP7nH.js";
6
+ import { c as de, d as fe, l as O, s as k, u as A } from "./settings-yK-puALn.js";
7
+ var pe = ne("circle", [["circle", {
8
+ cx: "12",
9
+ cy: "12",
10
+ r: "10",
11
+ key: "1mglay"
12
+ }]]);
13
+ //#endregion
14
+ //#region ../../node_modules/.pnpm/@radix-ui+react-menu@2.1.19_@types+react-dom@18.3.7_@types+react@18.3.31__@types+react@_4b5bcf394c29b5d4bc13e7a7b277eeb6/node_modules/@radix-ui/react-menu/dist/index.mjs
15
+ r();
16
+ var j = l(), M = ["Enter", " "], me = [
17
+ "ArrowDown",
18
+ "PageUp",
19
+ "Home"
20
+ ], he = [
21
+ "ArrowUp",
22
+ "PageDown",
23
+ "End"
24
+ ], ge = [...me, ...he], N = {
25
+ ltr: [...M, "ArrowRight"],
26
+ rtl: [...M, "ArrowLeft"]
27
+ }, _e = {
28
+ ltr: ["ArrowLeft"],
29
+ rtl: ["ArrowRight"]
30
+ }, P = "Menu", [F, ve, ye] = fe(P), [I, be] = p(P, [
31
+ ye,
32
+ w,
33
+ O
34
+ ]), L = w(), xe = O(), [Se, R] = I(P), [Ce, z] = I(P), we = (t) => {
35
+ let { __scopeMenu: n, open: r = !1, children: a, dir: o, onOpenChange: l, modal: u = !0 } = t, f = L(n), [p, m] = e(null), h = c(!1), g = d(l), _ = A(o);
36
+ return s(() => {
37
+ let e = () => {
38
+ h.current = !0, document.addEventListener("pointerdown", t, {
39
+ capture: !0,
40
+ once: !0
41
+ }), document.addEventListener("pointermove", t, {
42
+ capture: !0,
43
+ once: !0
44
+ });
45
+ }, t = () => h.current = !1;
46
+ return document.addEventListener("keydown", e, { capture: !0 }), () => {
47
+ document.removeEventListener("keydown", e, { capture: !0 }), document.removeEventListener("pointerdown", t, { capture: !0 }), document.removeEventListener("pointermove", t, { capture: !0 });
48
+ };
49
+ }, []), s(() => {
50
+ if (!r) return;
51
+ let e = () => g(!1);
52
+ return window.addEventListener("blur", e), () => window.removeEventListener("blur", e);
53
+ }, [r, g]), /* @__PURE__ */ (0, j.jsx)(v, {
54
+ ...f,
55
+ children: /* @__PURE__ */ (0, j.jsx)(Se, {
56
+ scope: n,
57
+ open: r,
58
+ onOpenChange: g,
59
+ content: p,
60
+ onContentChange: m,
61
+ children: /* @__PURE__ */ (0, j.jsx)(Ce, {
62
+ scope: n,
63
+ onClose: i(() => g(!1), [g]),
64
+ isUsingKeyboardRef: h,
65
+ dir: _,
66
+ modal: u,
67
+ children: a
68
+ })
69
+ })
70
+ });
71
+ };
72
+ we.displayName = P;
73
+ var Te = "MenuAnchor", B = o((e, t) => {
74
+ let { __scopeMenu: n, ...r } = e, i = L(n);
75
+ return /* @__PURE__ */ (0, j.jsx)(ee, {
76
+ ...i,
77
+ ...r,
78
+ ref: t
79
+ });
80
+ });
81
+ B.displayName = Te;
82
+ var V = "MenuPortal", [Ee, De] = I(V, { forceMount: void 0 }), Oe = (e) => {
83
+ let { __scopeMenu: t, forceMount: n, children: r, container: i } = e, a = R(V, t);
84
+ return /* @__PURE__ */ (0, j.jsx)(Ee, {
85
+ scope: t,
86
+ forceMount: n,
87
+ children: /* @__PURE__ */ (0, j.jsx)(b, {
88
+ present: n || a.open,
89
+ children: /* @__PURE__ */ (0, j.jsx)(y, {
90
+ asChild: !0,
91
+ container: i,
92
+ children: r
93
+ })
94
+ })
95
+ });
96
+ };
97
+ Oe.displayName = V;
98
+ var H = "MenuContent", [ke, U] = I(H), Ae = o((e, t) => {
99
+ let n = De(H, e.__scopeMenu), { forceMount: r = n.forceMount, ...i } = e, a = R(H, e.__scopeMenu), o = z(H, e.__scopeMenu);
100
+ return /* @__PURE__ */ (0, j.jsx)(F.Provider, {
101
+ scope: e.__scopeMenu,
102
+ children: /* @__PURE__ */ (0, j.jsx)(b, {
103
+ present: r || a.open,
104
+ children: /* @__PURE__ */ (0, j.jsx)(F.Slot, {
105
+ scope: e.__scopeMenu,
106
+ children: o.modal ? /* @__PURE__ */ (0, j.jsx)(je, {
107
+ ...i,
108
+ ref: t
109
+ }) : /* @__PURE__ */ (0, j.jsx)(Me, {
110
+ ...i,
111
+ ref: t
112
+ })
113
+ })
114
+ })
115
+ });
116
+ }), je = o((e, t) => {
117
+ let n = R(H, e.__scopeMenu), r = c(null), i = m(t, r);
118
+ return s(() => {
119
+ let e = r.current;
120
+ if (e) return T(e);
121
+ }, []), /* @__PURE__ */ (0, j.jsx)(W, {
122
+ ...e,
123
+ ref: i,
124
+ trapFocus: n.open,
125
+ disableOutsidePointerEvents: n.open,
126
+ disableOutsideScroll: !0,
127
+ onFocusOutside: g(e.onFocusOutside, (e) => e.preventDefault(), { checkForDefaultPrevented: !1 }),
128
+ onDismiss: () => n.onOpenChange(!1)
129
+ });
130
+ }), Me = o((e, t) => {
131
+ let n = R(H, e.__scopeMenu);
132
+ return /* @__PURE__ */ (0, j.jsx)(W, {
133
+ ...e,
134
+ ref: t,
135
+ trapFocus: !1,
136
+ disableOutsidePointerEvents: !1,
137
+ disableOutsideScroll: !1,
138
+ onDismiss: () => n.onOpenChange(!1)
139
+ });
140
+ }), Ne = x("MenuContent.ScrollLock"), W = o((t, n) => {
141
+ let { __scopeMenu: r, loop: o = !1, trapFocus: l, onOpenAutoFocus: u, onCloseAutoFocus: d, disableOutsidePointerEvents: f, onEntryFocus: p, onEscapeKeyDown: h, onPointerDownOutside: _, onFocusOutside: ee, onInteractOutside: v, onDismiss: te, disableOutsideScroll: y, ...b } = t, x = R(H, r), S = z(H, r), C = L(r), ne = xe(r), re = ve(r), [ie, w] = e(null), T = c(null), se = m(n, T, x.onContentChange), E = c(0), D = c(""), fe = c(0), O = c(null), k = c("right"), A = c(0), pe = y ? ce : a, M = y ? {
142
+ as: Ne,
143
+ allowPinchZoom: !0
144
+ } : void 0, me = (e) => {
145
+ let t = D.current + e, n = re().filter((e) => !e.disabled), r = document.activeElement, i = n.find((e) => e.ref.current === r)?.textValue, a = pt(n.map((e) => e.textValue), t, i), o = n.find((e) => e.textValue === a)?.ref.current;
146
+ (function e(t) {
147
+ D.current = t, window.clearTimeout(E.current), t !== "" && (E.current = window.setTimeout(() => e(""), 1e3));
148
+ })(t), o && setTimeout(() => o.focus());
149
+ };
150
+ s(() => () => window.clearTimeout(E.current), []), ue();
151
+ let N = i((e) => k.current === O.current?.side && ht(e, O.current?.area), []);
152
+ return /* @__PURE__ */ (0, j.jsx)(ke, {
153
+ scope: r,
154
+ searchRef: D,
155
+ onItemEnter: i((e) => {
156
+ N(e) && e.preventDefault();
157
+ }, [N]),
158
+ onItemLeave: i((e) => {
159
+ N(e) || (T.current?.focus(), w(null));
160
+ }, [N]),
161
+ onTriggerLeave: i((e) => {
162
+ N(e) && e.preventDefault();
163
+ }, [N]),
164
+ pointerGraceTimerRef: fe,
165
+ onPointerGraceIntentChange: i((e) => {
166
+ O.current = e;
167
+ }, []),
168
+ children: /* @__PURE__ */ (0, j.jsx)(pe, {
169
+ ...M,
170
+ children: /* @__PURE__ */ (0, j.jsx)(le, {
171
+ asChild: !0,
172
+ trapped: l,
173
+ onMountAutoFocus: g(u, (e) => {
174
+ e.preventDefault(), T.current?.focus({ preventScroll: !0 });
175
+ }),
176
+ onUnmountAutoFocus: d,
177
+ children: /* @__PURE__ */ (0, j.jsx)(ae, {
178
+ asChild: !0,
179
+ disableOutsidePointerEvents: f,
180
+ onEscapeKeyDown: h,
181
+ onPointerDownOutside: _,
182
+ onFocusOutside: ee,
183
+ onInteractOutside: v,
184
+ onDismiss: te,
185
+ children: /* @__PURE__ */ (0, j.jsx)(de, {
186
+ asChild: !0,
187
+ ...ne,
188
+ dir: S.dir,
189
+ orientation: "vertical",
190
+ loop: o,
191
+ currentTabStopId: ie,
192
+ onCurrentTabStopIdChange: w,
193
+ onEntryFocus: g(p, (e) => {
194
+ S.isUsingKeyboardRef.current || e.preventDefault();
195
+ }),
196
+ preventScrollOnEntryFocus: !0,
197
+ children: /* @__PURE__ */ (0, j.jsx)(oe, {
198
+ role: "menu",
199
+ "aria-orientation": "vertical",
200
+ "data-state": lt(x.open),
201
+ "data-radix-menu-content": "",
202
+ dir: S.dir,
203
+ ...C,
204
+ ...b,
205
+ ref: se,
206
+ style: {
207
+ outline: "none",
208
+ ...b.style
209
+ },
210
+ onKeyDown: g(b.onKeyDown, (e) => {
211
+ let t = e.target.closest("[data-radix-menu-content]") === e.currentTarget, n = e.ctrlKey || e.altKey || e.metaKey, r = e.key.length === 1;
212
+ t && (e.key === "Tab" && e.preventDefault(), !n && r && me(e.key));
213
+ let i = T.current;
214
+ if (e.target !== i || !ge.includes(e.key)) return;
215
+ e.preventDefault();
216
+ let a = re().filter((e) => !e.disabled).map((e) => e.ref.current);
217
+ he.includes(e.key) && a.reverse(), dt(a);
218
+ }),
219
+ onBlur: g(t.onBlur, (e) => {
220
+ e.currentTarget.contains(e.target) || (window.clearTimeout(E.current), D.current = "");
221
+ }),
222
+ onPointerMove: g(t.onPointerMove, Y((e) => {
223
+ let t = e.target, n = A.current !== e.clientX;
224
+ if (e.currentTarget.contains(t) && n) {
225
+ let t = e.clientX > A.current ? "right" : "left";
226
+ k.current = t, A.current = e.clientX;
227
+ }
228
+ }))
229
+ })
230
+ })
231
+ })
232
+ })
233
+ })
234
+ });
235
+ });
236
+ Ae.displayName = H;
237
+ var Pe = "MenuGroup", Fe = o((e, t) => {
238
+ let { __scopeMenu: n, ...r } = e;
239
+ return /* @__PURE__ */ (0, j.jsx)(h.div, {
240
+ role: "group",
241
+ ...r,
242
+ ref: t
243
+ });
244
+ });
245
+ Fe.displayName = Pe;
246
+ var Ie = "MenuLabel", Le = o((e, t) => {
247
+ let { __scopeMenu: n, ...r } = e;
248
+ return /* @__PURE__ */ (0, j.jsx)(h.div, {
249
+ ...r,
250
+ ref: t
251
+ });
252
+ });
253
+ Le.displayName = Ie;
254
+ var G = "MenuItem", Re = "menu.itemSelect", K = o((e, t) => {
255
+ let { disabled: n = !1, onSelect: r, ...i } = e, a = c(null), o = z(G, e.__scopeMenu), s = U(G, e.__scopeMenu), l = m(t, a), u = c(!1), d = () => {
256
+ let e = a.current;
257
+ if (!n && e) {
258
+ let t = new CustomEvent(Re, {
259
+ bubbles: !0,
260
+ cancelable: !0
261
+ });
262
+ e.addEventListener(Re, (e) => r?.(e), { once: !0 }), S(e, t), t.defaultPrevented ? u.current = !1 : o.onClose();
263
+ }
264
+ };
265
+ return /* @__PURE__ */ (0, j.jsx)(ze, {
266
+ ...i,
267
+ ref: l,
268
+ disabled: n,
269
+ onClick: g(e.onClick, d),
270
+ onPointerDown: (t) => {
271
+ e.onPointerDown?.(t), u.current = !0;
272
+ },
273
+ onPointerUp: g(e.onPointerUp, (e) => {
274
+ u.current || e.currentTarget?.click();
275
+ }),
276
+ onKeyDown: g(e.onKeyDown, (e) => {
277
+ let t = s.searchRef.current !== "";
278
+ n || t && e.key === " " || M.includes(e.key) && (e.currentTarget.click(), e.preventDefault());
279
+ })
280
+ });
281
+ });
282
+ K.displayName = G;
283
+ var ze = o((t, n) => {
284
+ let { __scopeMenu: r, disabled: i = !1, textValue: a, ...o } = t, l = U(G, r), u = xe(r), d = c(null), f = m(n, d), [p, _] = e(!1), [ee, v] = e("");
285
+ return s(() => {
286
+ let e = d.current;
287
+ e && v((e.textContent ?? "").trim());
288
+ }, [o.children]), /* @__PURE__ */ (0, j.jsx)(F.ItemSlot, {
289
+ scope: r,
290
+ disabled: i,
291
+ textValue: a ?? ee,
292
+ children: /* @__PURE__ */ (0, j.jsx)(k, {
293
+ asChild: !0,
294
+ ...u,
295
+ focusable: !i,
296
+ children: /* @__PURE__ */ (0, j.jsx)(h.div, {
297
+ role: "menuitem",
298
+ "data-highlighted": p ? "" : void 0,
299
+ "aria-disabled": i || void 0,
300
+ "data-disabled": i ? "" : void 0,
301
+ ...o,
302
+ ref: f,
303
+ onPointerMove: g(t.onPointerMove, Y((e) => {
304
+ i ? l.onItemLeave(e) : (l.onItemEnter(e), e.defaultPrevented || e.currentTarget.focus({ preventScroll: !0 }));
305
+ })),
306
+ onPointerLeave: g(t.onPointerLeave, Y((e) => l.onItemLeave(e))),
307
+ onFocus: g(t.onFocus, () => _(!0)),
308
+ onBlur: g(t.onBlur, () => _(!1))
309
+ })
310
+ })
311
+ });
312
+ }), Be = "MenuCheckboxItem", Ve = o((e, t) => {
313
+ let { checked: n = !1, onCheckedChange: r, ...i } = e;
314
+ return /* @__PURE__ */ (0, j.jsx)(Ye, {
315
+ scope: e.__scopeMenu,
316
+ checked: n,
317
+ children: /* @__PURE__ */ (0, j.jsx)(K, {
318
+ role: "menuitemcheckbox",
319
+ "aria-checked": J(n) ? "mixed" : n,
320
+ ...i,
321
+ ref: t,
322
+ "data-state": ut(n),
323
+ onSelect: g(i.onSelect, () => r?.(J(n) ? !0 : !n), { checkForDefaultPrevented: !1 })
324
+ })
325
+ });
326
+ });
327
+ Ve.displayName = Be;
328
+ var He = "MenuRadioGroup", [Ue, We] = I(He, {
329
+ value: void 0,
330
+ onValueChange: () => {}
331
+ }), Ge = o((e, t) => {
332
+ let { value: n, onValueChange: r, ...i } = e, a = d(r);
333
+ return /* @__PURE__ */ (0, j.jsx)(Ue, {
334
+ scope: e.__scopeMenu,
335
+ value: n,
336
+ onValueChange: a,
337
+ children: /* @__PURE__ */ (0, j.jsx)(Fe, {
338
+ ...i,
339
+ ref: t
340
+ })
341
+ });
342
+ });
343
+ Ge.displayName = He;
344
+ var Ke = "MenuRadioItem", qe = o((e, t) => {
345
+ let { value: n, ...r } = e, i = We(Ke, e.__scopeMenu), a = n === i.value;
346
+ return /* @__PURE__ */ (0, j.jsx)(Ye, {
347
+ scope: e.__scopeMenu,
348
+ checked: a,
349
+ children: /* @__PURE__ */ (0, j.jsx)(K, {
350
+ role: "menuitemradio",
351
+ "aria-checked": a,
352
+ ...r,
353
+ ref: t,
354
+ "data-state": ut(a),
355
+ onSelect: g(r.onSelect, () => i.onValueChange?.(n), { checkForDefaultPrevented: !1 })
356
+ })
357
+ });
358
+ });
359
+ qe.displayName = Ke;
360
+ var Je = "MenuItemIndicator", [Ye, Xe] = I(Je, { checked: !1 }), Ze = o((e, t) => {
361
+ let { __scopeMenu: n, forceMount: r, ...i } = e, a = Xe(Je, n);
362
+ return /* @__PURE__ */ (0, j.jsx)(b, {
363
+ present: r || J(a.checked) || a.checked === !0,
364
+ children: /* @__PURE__ */ (0, j.jsx)(h.span, {
365
+ ...i,
366
+ ref: t,
367
+ "data-state": ut(a.checked)
368
+ })
369
+ });
370
+ });
371
+ Ze.displayName = Je;
372
+ var Qe = "MenuSeparator", $e = o((e, t) => {
373
+ let { __scopeMenu: n, ...r } = e;
374
+ return /* @__PURE__ */ (0, j.jsx)(h.div, {
375
+ role: "separator",
376
+ "aria-orientation": "horizontal",
377
+ ...r,
378
+ ref: t
379
+ });
380
+ });
381
+ $e.displayName = Qe;
382
+ var et = "MenuArrow", tt = o((e, t) => {
383
+ let { __scopeMenu: n, ...r } = e, i = L(n);
384
+ return /* @__PURE__ */ (0, j.jsx)(ie, {
385
+ ...i,
386
+ ...r,
387
+ ref: t
388
+ });
389
+ });
390
+ tt.displayName = et;
391
+ var nt = "MenuSub", [rt, it] = I(nt), at = (t) => {
392
+ let { __scopeMenu: n, children: r, open: i = !1, onOpenChange: a } = t, o = R(nt, n), c = L(n), [l, f] = e(null), [p, m] = e(null), h = d(a);
393
+ return s(() => (o.open === !1 && h(!1), () => h(!1)), [o.open, h]), /* @__PURE__ */ (0, j.jsx)(v, {
394
+ ...c,
395
+ children: /* @__PURE__ */ (0, j.jsx)(Se, {
396
+ scope: n,
397
+ open: i,
398
+ onOpenChange: h,
399
+ content: p,
400
+ onContentChange: m,
401
+ children: /* @__PURE__ */ (0, j.jsx)(rt, {
402
+ scope: n,
403
+ contentId: u(),
404
+ triggerId: u(),
405
+ trigger: l,
406
+ onTriggerChange: f,
407
+ children: r
408
+ })
409
+ })
410
+ });
411
+ };
412
+ at.displayName = nt;
413
+ var q = "MenuSubTrigger", ot = o((e, t) => {
414
+ let n = R(q, e.__scopeMenu), r = z(q, e.__scopeMenu), a = it(q, e.__scopeMenu), o = U(q, e.__scopeMenu), l = c(null), { pointerGraceTimerRef: u, onPointerGraceIntentChange: d } = o, f = { __scopeMenu: e.__scopeMenu }, p = i(() => {
415
+ l.current && window.clearTimeout(l.current), l.current = null;
416
+ }, []);
417
+ s(() => p, [p]), s(() => {
418
+ let e = u.current;
419
+ return () => {
420
+ window.clearTimeout(e), d(null);
421
+ };
422
+ }, [u, d]);
423
+ let h = m(t, a.onTriggerChange);
424
+ return /* @__PURE__ */ (0, j.jsx)(B, {
425
+ asChild: !0,
426
+ ...f,
427
+ children: /* @__PURE__ */ (0, j.jsx)(ze, {
428
+ id: a.triggerId,
429
+ "aria-haspopup": "menu",
430
+ "aria-expanded": n.open,
431
+ "aria-controls": n.open ? a.contentId : void 0,
432
+ "data-state": lt(n.open),
433
+ ...e,
434
+ ref: h,
435
+ onClick: (t) => {
436
+ e.onClick?.(t), !(e.disabled || t.defaultPrevented) && (t.currentTarget.focus(), n.open || n.onOpenChange(!0));
437
+ },
438
+ onPointerMove: g(e.onPointerMove, Y((t) => {
439
+ o.onItemEnter(t), !t.defaultPrevented && !e.disabled && !n.open && !l.current && (o.onPointerGraceIntentChange(null), l.current = window.setTimeout(() => {
440
+ n.onOpenChange(!0), p();
441
+ }, 100));
442
+ })),
443
+ onPointerLeave: g(e.onPointerLeave, Y((e) => {
444
+ p();
445
+ let t = n.content?.getBoundingClientRect();
446
+ if (t) {
447
+ let r = n.content?.dataset.side, i = r === "right", a = i ? -5 : 5, s = t[i ? "left" : "right"], c = t[i ? "right" : "left"];
448
+ o.onPointerGraceIntentChange({
449
+ area: [
450
+ {
451
+ x: e.clientX + a,
452
+ y: e.clientY
453
+ },
454
+ {
455
+ x: s,
456
+ y: t.top
457
+ },
458
+ {
459
+ x: c,
460
+ y: t.top
461
+ },
462
+ {
463
+ x: c,
464
+ y: t.bottom
465
+ },
466
+ {
467
+ x: s,
468
+ y: t.bottom
469
+ }
470
+ ],
471
+ side: r
472
+ }), window.clearTimeout(u.current), u.current = window.setTimeout(() => o.onPointerGraceIntentChange(null), 300);
473
+ } else {
474
+ if (o.onTriggerLeave(e), e.defaultPrevented) return;
475
+ o.onPointerGraceIntentChange(null);
476
+ }
477
+ })),
478
+ onKeyDown: g(e.onKeyDown, (t) => {
479
+ let i = o.searchRef.current !== "";
480
+ e.disabled || i && t.key === " " || N[r.dir].includes(t.key) && (n.onOpenChange(!0), n.content?.focus(), t.preventDefault());
481
+ })
482
+ })
483
+ });
484
+ });
485
+ ot.displayName = q;
486
+ var st = "MenuSubContent", ct = o((e, t) => {
487
+ let n = De(H, e.__scopeMenu), { forceMount: r = n.forceMount, align: i = "start", ...a } = e, o = R(H, e.__scopeMenu), s = z(H, e.__scopeMenu), l = it(st, e.__scopeMenu), u = c(null), d = m(t, u);
488
+ return /* @__PURE__ */ (0, j.jsx)(F.Provider, {
489
+ scope: e.__scopeMenu,
490
+ children: /* @__PURE__ */ (0, j.jsx)(b, {
491
+ present: r || o.open,
492
+ children: /* @__PURE__ */ (0, j.jsx)(F.Slot, {
493
+ scope: e.__scopeMenu,
494
+ children: /* @__PURE__ */ (0, j.jsx)(W, {
495
+ id: l.contentId,
496
+ "aria-labelledby": l.triggerId,
497
+ ...a,
498
+ ref: d,
499
+ align: i,
500
+ side: s.dir === "rtl" ? "left" : "right",
501
+ disableOutsidePointerEvents: !1,
502
+ disableOutsideScroll: !1,
503
+ trapFocus: !1,
504
+ onOpenAutoFocus: (e) => {
505
+ s.isUsingKeyboardRef.current && u.current?.focus(), e.preventDefault();
506
+ },
507
+ onCloseAutoFocus: (e) => e.preventDefault(),
508
+ onFocusOutside: g(e.onFocusOutside, (e) => {
509
+ e.target !== l.trigger && o.onOpenChange(!1);
510
+ }),
511
+ onEscapeKeyDown: g(e.onEscapeKeyDown, (e) => {
512
+ s.onClose(), e.preventDefault();
513
+ }),
514
+ onKeyDown: g(e.onKeyDown, (e) => {
515
+ let t = e.currentTarget.contains(e.target), n = _e[s.dir].includes(e.key);
516
+ t && n && (o.onOpenChange(!1), l.trigger?.focus(), e.preventDefault());
517
+ })
518
+ })
519
+ })
520
+ })
521
+ });
522
+ });
523
+ ct.displayName = st;
524
+ function lt(e) {
525
+ return e ? "open" : "closed";
526
+ }
527
+ function J(e) {
528
+ return e === "indeterminate";
529
+ }
530
+ function ut(e) {
531
+ return J(e) ? "indeterminate" : e ? "checked" : "unchecked";
532
+ }
533
+ function dt(e) {
534
+ let t = document.activeElement;
535
+ for (let n of e) if (n === t || (n.focus(), document.activeElement !== t)) return;
536
+ }
537
+ function ft(e, t) {
538
+ return e.map((n, r) => e[(t + r) % e.length]);
539
+ }
540
+ function pt(e, t, n) {
541
+ let r = t.length > 1 && Array.from(t).every((e) => e === t[0]) ? t[0] : t, i = n ? e.indexOf(n) : -1, a = ft(e, Math.max(i, 0));
542
+ r.length === 1 && (a = a.filter((e) => e !== n));
543
+ let o = a.find((e) => e.toLowerCase().startsWith(r.toLowerCase()));
544
+ return o === n ? void 0 : o;
545
+ }
546
+ function mt(e, t) {
547
+ let { x: n, y: r } = e, i = !1;
548
+ for (let e = 0, a = t.length - 1; e < t.length; a = e++) {
549
+ let o = t[e], s = t[a], c = o.x, l = o.y, u = s.x, d = s.y;
550
+ l > r != d > r && n < (u - c) * (r - l) / (d - l) + c && (i = !i);
551
+ }
552
+ return i;
553
+ }
554
+ function ht(e, t) {
555
+ return t ? mt({
556
+ x: e.clientX,
557
+ y: e.clientY
558
+ }, t) : !1;
559
+ }
560
+ function Y(e) {
561
+ return (t) => t.pointerType === "mouse" ? e(t) : void 0;
562
+ }
563
+ var gt = we, _t = B, vt = Oe, yt = Ae, bt = Fe, xt = Le, St = K, Ct = Ve, wt = Ge, Tt = qe, Et = Ze, Dt = $e, Ot = tt, kt = ot, At = ct;
564
+ //#endregion
565
+ //#region ../../node_modules/.pnpm/@radix-ui+react-dropdown-menu@2.1.19_@types+react-dom@18.3.7_@types+react@18.3.31__@typ_c9d8b1b7105c5bcf5811c2d38ad25961/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs
566
+ r();
567
+ var X = "DropdownMenu", [jt, Mt] = p(X, [be]), Z = be(), [Nt, Pt] = jt(X), Ft = (e) => {
568
+ let { __scopeDropdownMenu: t, children: n, dir: r, open: a, defaultOpen: o, onOpenChange: s, modal: l = !0 } = e, d = Z(t), f = c(null), [p, m] = C({
569
+ prop: a,
570
+ defaultProp: o ?? !1,
571
+ onChange: s,
572
+ caller: X
573
+ });
574
+ return /* @__PURE__ */ (0, j.jsx)(Nt, {
575
+ scope: t,
576
+ triggerId: u(),
577
+ triggerRef: f,
578
+ contentId: u(),
579
+ open: p,
580
+ onOpenChange: m,
581
+ onOpenToggle: i(() => m((e) => !e), [m]),
582
+ modal: l,
583
+ children: /* @__PURE__ */ (0, j.jsx)(gt, {
584
+ ...d,
585
+ open: p,
586
+ onOpenChange: m,
587
+ dir: r,
588
+ modal: l,
589
+ children: n
590
+ })
591
+ });
592
+ };
593
+ Ft.displayName = X;
594
+ var It = "DropdownMenuTrigger", Lt = o((e, t) => {
595
+ let { __scopeDropdownMenu: n, disabled: r = !1, ...i } = e, a = Pt(It, n), o = Z(n), s = m(t, a.triggerRef);
596
+ return /* @__PURE__ */ (0, j.jsx)(_t, {
597
+ asChild: !0,
598
+ ...o,
599
+ children: /* @__PURE__ */ (0, j.jsx)(h.button, {
600
+ type: "button",
601
+ id: a.triggerId,
602
+ "aria-haspopup": "menu",
603
+ "aria-expanded": a.open,
604
+ "aria-controls": a.open ? a.contentId : void 0,
605
+ "data-state": a.open ? "open" : "closed",
606
+ "data-disabled": r ? "" : void 0,
607
+ disabled: r,
608
+ ...i,
609
+ ref: s,
610
+ onPointerDown: g(e.onPointerDown, (e) => {
611
+ !r && e.button === 0 && e.ctrlKey === !1 && (a.onOpenToggle(), a.open || e.preventDefault());
612
+ }),
613
+ onKeyDown: g(e.onKeyDown, (e) => {
614
+ r || (["Enter", " "].includes(e.key) && a.onOpenToggle(), e.key === "ArrowDown" && a.onOpenChange(!0), [
615
+ "Enter",
616
+ " ",
617
+ "ArrowDown"
618
+ ].includes(e.key) && e.preventDefault());
619
+ })
620
+ })
621
+ });
622
+ });
623
+ Lt.displayName = It;
624
+ var Rt = "DropdownMenuPortal", zt = (e) => {
625
+ let { __scopeDropdownMenu: t, ...n } = e, r = Z(t);
626
+ return /* @__PURE__ */ (0, j.jsx)(vt, {
627
+ ...r,
628
+ ...n
629
+ });
630
+ };
631
+ zt.displayName = Rt;
632
+ var Bt = "DropdownMenuContent", Vt = o((e, t) => {
633
+ let { __scopeDropdownMenu: n, ...r } = e, i = Pt(Bt, n), a = Z(n), o = c(!1);
634
+ return /* @__PURE__ */ (0, j.jsx)(yt, {
635
+ id: i.contentId,
636
+ "aria-labelledby": i.triggerId,
637
+ ...a,
638
+ ...r,
639
+ ref: t,
640
+ onCloseAutoFocus: g(e.onCloseAutoFocus, (e) => {
641
+ o.current || i.triggerRef.current?.focus(), o.current = !1, e.preventDefault();
642
+ }),
643
+ onInteractOutside: g(e.onInteractOutside, (e) => {
644
+ let t = e.detail.originalEvent, n = t.button === 0 && t.ctrlKey === !0, r = t.button === 2 || n;
645
+ (!i.modal || r) && (o.current = !0);
646
+ }),
647
+ style: {
648
+ ...e.style,
649
+ "--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
650
+ "--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
651
+ "--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
652
+ "--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
653
+ "--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
654
+ }
655
+ });
656
+ });
657
+ Vt.displayName = Bt;
658
+ var Ht = "DropdownMenuGroup", Ut = o((e, t) => {
659
+ let { __scopeDropdownMenu: n, ...r } = e, i = Z(n);
660
+ return /* @__PURE__ */ (0, j.jsx)(bt, {
661
+ ...i,
662
+ ...r,
663
+ ref: t
664
+ });
665
+ });
666
+ Ut.displayName = Ht;
667
+ var Wt = "DropdownMenuLabel", Gt = o((e, t) => {
668
+ let { __scopeDropdownMenu: n, ...r } = e, i = Z(n);
669
+ return /* @__PURE__ */ (0, j.jsx)(xt, {
670
+ ...i,
671
+ ...r,
672
+ ref: t
673
+ });
674
+ });
675
+ Gt.displayName = Wt;
676
+ var Kt = "DropdownMenuItem", qt = o((e, t) => {
677
+ let { __scopeDropdownMenu: n, ...r } = e, i = Z(n);
678
+ return /* @__PURE__ */ (0, j.jsx)(St, {
679
+ ...i,
680
+ ...r,
681
+ ref: t
682
+ });
683
+ });
684
+ qt.displayName = Kt;
685
+ var Jt = "DropdownMenuCheckboxItem", Yt = o((e, t) => {
686
+ let { __scopeDropdownMenu: n, ...r } = e, i = Z(n);
687
+ return /* @__PURE__ */ (0, j.jsx)(Ct, {
688
+ ...i,
689
+ ...r,
690
+ ref: t
691
+ });
692
+ });
693
+ Yt.displayName = Jt;
694
+ var Xt = "DropdownMenuRadioGroup", Zt = o((e, t) => {
695
+ let { __scopeDropdownMenu: n, ...r } = e, i = Z(n);
696
+ return /* @__PURE__ */ (0, j.jsx)(wt, {
697
+ ...i,
698
+ ...r,
699
+ ref: t
700
+ });
701
+ });
702
+ Zt.displayName = Xt;
703
+ var Qt = "DropdownMenuRadioItem", $t = o((e, t) => {
704
+ let { __scopeDropdownMenu: n, ...r } = e, i = Z(n);
705
+ return /* @__PURE__ */ (0, j.jsx)(Tt, {
706
+ ...i,
707
+ ...r,
708
+ ref: t
709
+ });
710
+ });
711
+ $t.displayName = Qt;
712
+ var en = "DropdownMenuItemIndicator", tn = o((e, t) => {
713
+ let { __scopeDropdownMenu: n, ...r } = e, i = Z(n);
714
+ return /* @__PURE__ */ (0, j.jsx)(Et, {
715
+ ...i,
716
+ ...r,
717
+ ref: t
718
+ });
719
+ });
720
+ tn.displayName = en;
721
+ var nn = "DropdownMenuSeparator", rn = o((e, t) => {
722
+ let { __scopeDropdownMenu: n, ...r } = e, i = Z(n);
723
+ return /* @__PURE__ */ (0, j.jsx)(Dt, {
724
+ ...i,
725
+ ...r,
726
+ ref: t
727
+ });
728
+ });
729
+ rn.displayName = nn;
730
+ var an = "DropdownMenuArrow", on = o((e, t) => {
731
+ let { __scopeDropdownMenu: n, ...r } = e, i = Z(n);
732
+ return /* @__PURE__ */ (0, j.jsx)(Ot, {
733
+ ...i,
734
+ ...r,
735
+ ref: t
736
+ });
737
+ });
738
+ on.displayName = an;
739
+ var sn = "DropdownMenuSubTrigger", cn = o((e, t) => {
740
+ let { __scopeDropdownMenu: n, ...r } = e, i = Z(n);
741
+ return /* @__PURE__ */ (0, j.jsx)(kt, {
742
+ ...i,
743
+ ...r,
744
+ ref: t
745
+ });
746
+ });
747
+ cn.displayName = sn;
748
+ var ln = "DropdownMenuSubContent", un = o((e, t) => {
749
+ let { __scopeDropdownMenu: n, ...r } = e, i = Z(n);
750
+ return /* @__PURE__ */ (0, j.jsx)(At, {
751
+ ...i,
752
+ ...r,
753
+ ref: t,
754
+ style: {
755
+ ...e.style,
756
+ "--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
757
+ "--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
758
+ "--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
759
+ "--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
760
+ "--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
761
+ }
762
+ });
763
+ });
764
+ un.displayName = ln;
765
+ var dn = Lt, fn = zt, pn = Vt, mn = Gt, hn = qt, gn = Yt, _n = $t, vn = tn, yn = rn, bn = cn, xn = un;
766
+ //#endregion
767
+ //#region ../shade/es/components/ui/dropdown-menu.js
768
+ r();
769
+ var Sn = dn, Cn = o(({ className: e, inset: t, children: n, ...r }, i) => /* @__PURE__ */ (0, j.jsxs)(bn, {
770
+ ref: i,
771
+ className: _("flex cursor-default items-center gap-2 rounded-menu-item px-2 py-1.5 text-control outline-hidden select-none hover:bg-interactive-hover focus:bg-interactive-hover data-[state=open]:bg-interactive-hover [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", t && "pl-8", e),
772
+ ...r,
773
+ children: [n, /* @__PURE__ */ (0, j.jsx)(se, { className: "ml-auto" })]
774
+ }));
775
+ Cn.displayName = bn.displayName;
776
+ var wn = o(({ className: e, onEscapeKeyDown: t, ...n }, r) => /* @__PURE__ */ (0, j.jsx)(te, { children: /* @__PURE__ */ (0, j.jsx)(xn, {
777
+ ref: r,
778
+ className: _("z-50 min-w-[8rem] overflow-hidden rounded-menu border border-border/60 bg-surface-elevated-2 p-1 text-popover-foreground shadow-lg data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 dark:border-border/30", e),
779
+ onEscapeKeyDown: (e) => E(e, t),
780
+ ...n
781
+ }) }));
782
+ wn.displayName = xn.displayName;
783
+ var Tn = o(({ className: e, onEscapeKeyDown: t, sideOffset: n = 4, ...r }, i) => /* @__PURE__ */ (0, j.jsx)(fn, { children: /* @__PURE__ */ (0, j.jsx)(te, { children: /* @__PURE__ */ (0, j.jsx)(pn, {
784
+ ref: i,
785
+ className: _("z-50 min-w-[8rem] overflow-hidden rounded-menu border border-border/60 bg-surface-elevated-2 p-1 text-popover-foreground shadow-md dark:border-border/30", "data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95", e),
786
+ sideOffset: n,
787
+ onEscapeKeyDown: (e) => E(e, t),
788
+ ...r
789
+ }) }) }));
790
+ Tn.displayName = pn.displayName;
791
+ var En = o(({ className: e, inset: t, ...n }, r) => /* @__PURE__ */ (0, j.jsx)(hn, {
792
+ ref: r,
793
+ className: _("relative flex cursor-pointer items-center gap-2 rounded-menu-item px-2 py-1.5 text-control outline-hidden transition-colors select-none focus:bg-interactive-hover focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0", t && "pl-8", e),
794
+ ...n
795
+ }));
796
+ En.displayName = hn.displayName;
797
+ var Dn = o(({ className: e, children: t, checked: n, ...r }, i) => /* @__PURE__ */ (0, j.jsxs)(gn, {
798
+ ref: i,
799
+ checked: n,
800
+ className: _("relative flex cursor-default items-center rounded-menu-item py-1.5 pr-2 pl-8 text-control outline-hidden transition-colors select-none focus:bg-interactive-hover focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", e),
801
+ ...r,
802
+ children: [/* @__PURE__ */ (0, j.jsx)("span", {
803
+ className: "absolute left-2 flex size-3.5 items-center justify-center",
804
+ children: /* @__PURE__ */ (0, j.jsx)(vn, { children: /* @__PURE__ */ (0, j.jsx)(D, { className: "size-4" }) })
805
+ }), t]
806
+ }));
807
+ Dn.displayName = gn.displayName;
808
+ var On = o(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ (0, j.jsxs)(_n, {
809
+ ref: r,
810
+ className: _("relative flex cursor-default items-center rounded-menu-item py-1.5 pr-2 pl-8 text-control outline-hidden transition-colors select-none focus:bg-interactive-hover focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", e),
811
+ ...n,
812
+ children: [/* @__PURE__ */ (0, j.jsx)("span", {
813
+ className: "absolute left-2 flex size-3.5 items-center justify-center",
814
+ children: /* @__PURE__ */ (0, j.jsx)(vn, { children: /* @__PURE__ */ (0, j.jsx)(pe, { className: "size-2 fill-current" }) })
815
+ }), t]
816
+ }));
817
+ On.displayName = _n.displayName;
818
+ var kn = o(({ className: e, inset: t, ...n }, r) => /* @__PURE__ */ (0, j.jsx)(mn, {
819
+ ref: r,
820
+ className: _("px-2 py-1.5 text-control font-semibold", t && "pl-8", e),
821
+ ...n
822
+ }));
823
+ kn.displayName = mn.displayName;
824
+ var An = o(({ className: e, ...t }, n) => /* @__PURE__ */ (0, j.jsx)(yn, {
825
+ ref: n,
826
+ className: _("-mx-1 my-1 h-px bg-muted", e),
827
+ ...t
828
+ }));
829
+ An.displayName = yn.displayName;
830
+ var jn = ({ className: e, ...t }) => /* @__PURE__ */ (0, j.jsx)("span", {
831
+ className: _("ml-auto text-xs tracking-wider opacity-60", e),
832
+ ...t
833
+ });
834
+ //#endregion
835
+ //#region ../../node_modules/.pnpm/@radix-ui+react-tabs@1.1.16_@types+react-dom@18.3.7_@types+react@18.3.31__@types+react@_80fa082efb8fcddc83bf2006e312ed1e/node_modules/@radix-ui/react-tabs/dist/index.mjs
836
+ jn.displayName = "DropdownMenuShortcut", r();
837
+ var Q = "Tabs", [Mn, Nn] = p(Q, [O]), Pn = O(), [Fn, In] = Mn(Q), Ln = o((e, t) => {
838
+ let { __scopeTabs: n, value: r, onValueChange: i, defaultValue: a, orientation: o = "horizontal", dir: s, activationMode: c = "automatic", ...l } = e, d = A(s), [f, p] = C({
839
+ prop: r,
840
+ onChange: i,
841
+ defaultProp: a ?? "",
842
+ caller: Q
843
+ });
844
+ return /* @__PURE__ */ (0, j.jsx)(Fn, {
845
+ scope: n,
846
+ baseId: u(),
847
+ value: f,
848
+ onValueChange: p,
849
+ orientation: o,
850
+ dir: d,
851
+ activationMode: c,
852
+ children: /* @__PURE__ */ (0, j.jsx)(h.div, {
853
+ dir: d,
854
+ "data-orientation": o,
855
+ ...l,
856
+ ref: t
857
+ })
858
+ });
859
+ });
860
+ Ln.displayName = Q;
861
+ var Rn = "TabsList", zn = o((e, t) => {
862
+ let { __scopeTabs: n, loop: r = !0, ...i } = e, a = In(Rn, n), o = Pn(n);
863
+ return /* @__PURE__ */ (0, j.jsx)(de, {
864
+ asChild: !0,
865
+ ...o,
866
+ orientation: a.orientation,
867
+ dir: a.dir,
868
+ loop: r,
869
+ children: /* @__PURE__ */ (0, j.jsx)(h.div, {
870
+ role: "tablist",
871
+ "aria-orientation": a.orientation,
872
+ ...i,
873
+ ref: t
874
+ })
875
+ });
876
+ });
877
+ zn.displayName = Rn;
878
+ var Bn = "TabsTrigger", Vn = o((e, t) => {
879
+ let { __scopeTabs: n, value: r, disabled: i = !1, ...a } = e, o = In(Bn, n), s = Pn(n), c = Wn(o.baseId, r), l = Gn(o.baseId, r), u = r === o.value;
880
+ return /* @__PURE__ */ (0, j.jsx)(k, {
881
+ asChild: !0,
882
+ ...s,
883
+ focusable: !i,
884
+ active: u,
885
+ children: /* @__PURE__ */ (0, j.jsx)(h.button, {
886
+ type: "button",
887
+ role: "tab",
888
+ "aria-selected": u,
889
+ "aria-controls": l,
890
+ "data-state": u ? "active" : "inactive",
891
+ "data-disabled": i ? "" : void 0,
892
+ disabled: i,
893
+ id: c,
894
+ ...a,
895
+ ref: t,
896
+ onMouseDown: g(e.onMouseDown, (e) => {
897
+ !i && e.button === 0 && e.ctrlKey === !1 ? o.onValueChange(r) : e.preventDefault();
898
+ }),
899
+ onKeyDown: g(e.onKeyDown, (e) => {
900
+ [" ", "Enter"].includes(e.key) && o.onValueChange(r);
901
+ }),
902
+ onFocus: g(e.onFocus, () => {
903
+ let e = o.activationMode !== "manual";
904
+ !u && !i && e && o.onValueChange(r);
905
+ })
906
+ })
907
+ });
908
+ });
909
+ Vn.displayName = Bn;
910
+ var Hn = "TabsContent", Un = o((e, t) => {
911
+ let { __scopeTabs: n, value: r, forceMount: i, children: a, ...o } = e, l = In(Hn, n), u = Wn(l.baseId, r), d = Gn(l.baseId, r), f = r === l.value, p = c(f);
912
+ return s(() => {
913
+ let e = requestAnimationFrame(() => p.current = !1);
914
+ return () => cancelAnimationFrame(e);
915
+ }, []), /* @__PURE__ */ (0, j.jsx)(b, {
916
+ present: i || f,
917
+ children: ({ present: n }) => /* @__PURE__ */ (0, j.jsx)(h.div, {
918
+ "data-state": f ? "active" : "inactive",
919
+ "data-orientation": l.orientation,
920
+ role: "tabpanel",
921
+ "aria-labelledby": u,
922
+ hidden: !n,
923
+ id: d,
924
+ tabIndex: 0,
925
+ ...o,
926
+ ref: t,
927
+ style: {
928
+ ...e.style,
929
+ animationDuration: p.current ? "0s" : void 0
930
+ },
931
+ children: n && a
932
+ })
933
+ });
934
+ });
935
+ Un.displayName = Hn;
936
+ function Wn(e, t) {
937
+ return `${e}-trigger-${t}`;
938
+ }
939
+ function Gn(e, t) {
940
+ return `${e}-content-${t}`;
941
+ }
942
+ var Kn = Ln, qn = zn, Jn = Vn, Yn = Un;
943
+ //#endregion
944
+ //#region ../shade/es/components/ui/tabs.js
945
+ r();
946
+ var $ = n({
947
+ variant: "segmented",
948
+ controlShape: "rounded"
949
+ });
950
+ f("", {
951
+ variants: { variant: {
952
+ segmented: "",
953
+ "segmented-sm": "",
954
+ button: "",
955
+ "button-sm": "",
956
+ underline: "",
957
+ navbar: "",
958
+ pill: "",
959
+ kpis: ""
960
+ } },
961
+ defaultVariants: { variant: "segmented" }
962
+ });
963
+ var Xn = o(({ variant: e = "segmented", ...t }, n) => {
964
+ let { controlShape: r } = re();
965
+ return /* @__PURE__ */ (0, j.jsx)($.Provider, {
966
+ value: {
967
+ variant: e,
968
+ controlShape: r
969
+ },
970
+ children: /* @__PURE__ */ (0, j.jsx)(Kn, {
971
+ ref: n,
972
+ ...t
973
+ })
974
+ });
975
+ });
976
+ Xn.displayName = Kn.displayName;
977
+ var Zn = f("inline-flex items-center text-muted-foreground", {
978
+ variants: { variant: {
979
+ segmented: "h-(--control-height) rounded-lg bg-muted px-[3px]",
980
+ "segmented-sm": "h-8 rounded-lg bg-muted px-[3px]",
981
+ button: "gap-2",
982
+ "button-sm": "gap-1",
983
+ underline: "no-scrollbar w-full max-w-full gap-5 overflow-x-auto border-b border-border-default",
984
+ navbar: "h-[52px] items-end gap-6",
985
+ pill: "-ml-0.5 h-[30px] gap-px",
986
+ kpis: "border-b ring-0"
987
+ } },
988
+ defaultVariants: { variant: "segmented" }
989
+ }), Qn = o(({ className: e, ...n }, r) => {
990
+ let { variant: i } = t($);
991
+ return /* @__PURE__ */ (0, j.jsx)(qn, {
992
+ ref: r,
993
+ className: _(Zn({
994
+ variant: i,
995
+ className: e
996
+ })),
997
+ ...n
998
+ });
999
+ });
1000
+ Qn.displayName = qn.displayName;
1001
+ var $n = f("inline-flex items-center justify-center px-3 py-1 whitespace-nowrap ring-offset-background transition-all focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-2 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground [&_svg]:size-4 [&_svg]:shrink-0", {
1002
+ variants: {
1003
+ variant: {
1004
+ segmented: "h-7 rounded-control text-control font-medium data-[state=active]:shadow-md",
1005
+ "segmented-sm": "h-[26px] rounded-control text-sm font-medium data-[state=active]:shadow-md",
1006
+ button: "h-(--control-height) gap-1.5 rounded-control py-2 text-control font-medium hover:bg-tab-hover data-[state=active]:bg-tab-active data-[state=active]:hover:bg-tab-active",
1007
+ "button-sm": "h-6 gap-1.5 rounded-control p-2 text-sm font-medium text-text-secondary hover:bg-tab-hover data-[state=active]:bg-tab-active data-[state=active]:text-foreground data-[state=active]:hover:bg-tab-active",
1008
+ underline: "relative h-9 px-0 text-control font-semibold text-text-secondary after:absolute after:inset-x-0 after:-bottom-px after:h-0.5 after:bg-foreground after:opacity-0 after:content-[\"\"] hover:after:opacity-10 data-[state=active]:bg-transparent data-[state=active]:text-foreground data-[state=active]:after:opacity-100!",
1009
+ navbar: "relative h-[52px] px-px text-control font-semibold text-muted-foreground after:absolute after:inset-x-0 after:-bottom-px after:h-0.5 after:bg-foreground after:opacity-0 after:content-[\"\"] hover:text-foreground data-[state=active]:bg-transparent data-[state=active]:text-foreground data-[state=active]:after:opacity-100!",
1010
+ pill: "relative h-[30px] rounded-md px-3 text-control font-medium text-text-secondary hover:bg-tab-hover hover:text-foreground data-[state=active]:bg-tab-active data-[state=active]:text-foreground data-[state=active]:hover:bg-tab-active",
1011
+ kpis: "relative h-full! items-start! rounded-none border-border bg-transparent px-6 py-5 text-foreground ring-0 transition-all after:absolute after:inset-x-0 after:-bottom-px after:h-0.5 after:bg-foreground after:opacity-0 after:content-[\"\"] first:rounded-tl-md last:rounded-tr-md hover:bg-interactive-hover data-[state=active]:bg-transparent data-[state=active]:after:opacity-100 [&:not(:last-child)]:border-r [&[data-state=active]_[data-type=\"value\"]]:text-foreground"
1012
+ },
1013
+ controlShape: {
1014
+ rounded: "",
1015
+ pill: ""
1016
+ }
1017
+ },
1018
+ compoundVariants: [{
1019
+ variant: "button-sm",
1020
+ controlShape: "pill",
1021
+ className: "rounded-full"
1022
+ }],
1023
+ defaultVariants: {
1024
+ variant: "segmented",
1025
+ controlShape: "rounded"
1026
+ }
1027
+ }), er = o(({ className: e, onMouseDownCapture: n, ...r }, i) => {
1028
+ let { variant: a, controlShape: o } = t($);
1029
+ return /* @__PURE__ */ (0, j.jsx)(Jn, {
1030
+ ref: i,
1031
+ className: _($n({
1032
+ variant: a,
1033
+ controlShape: o,
1034
+ className: e
1035
+ })),
1036
+ onMouseDownCapture: (e) => {
1037
+ let t = document.activeElement;
1038
+ t instanceof HTMLElement && t.matches("input, textarea, select, [contenteditable=\"true\"]") && t.blur(), n?.(e);
1039
+ },
1040
+ ...r
1041
+ });
1042
+ });
1043
+ er.displayName = Jn.displayName;
1044
+ var tr = ({ className: e = "", children: t }) => /* @__PURE__ */ (0, j.jsx)("span", {
1045
+ className: _("mt-px ml-1.5 flex h-5 items-center justify-center rounded-full bg-secondary px-1.5 py-0 text-xs leading-[21px] font-semibold text-text-secondary", e),
1046
+ children: t
1047
+ });
1048
+ tr.displayName = "TabsTriggerCount";
1049
+ var nr = f("ring-offset-background focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-2 focus-visible:outline-hidden", {
1050
+ variants: { variant: {
1051
+ segmented: "",
1052
+ "segmented-sm": "",
1053
+ button: "",
1054
+ "button-sm": "",
1055
+ underline: "",
1056
+ navbar: "",
1057
+ pill: "",
1058
+ kpis: "ring-0"
1059
+ } },
1060
+ defaultVariants: { variant: "segmented" }
1061
+ }), rr = o(({ className: e, ...n }, r) => {
1062
+ let { variant: i } = t($);
1063
+ return /* @__PURE__ */ (0, j.jsx)(Yn, {
1064
+ ref: r,
1065
+ className: _(nr({
1066
+ variant: i,
1067
+ className: e
1068
+ })),
1069
+ ...n
1070
+ });
1071
+ });
1072
+ rr.displayName = Yn.displayName;
1073
+ var ir = o(({ children: e, className: n, ...r }, i) => {
1074
+ let { variant: a, controlShape: o } = t($);
1075
+ return /* @__PURE__ */ (0, j.jsxs)("div", {
1076
+ className: _("relative rounded-control hover:bg-tab-hover", a === "button-sm" && o === "pill" && "rounded-full"),
1077
+ children: [/* @__PURE__ */ (0, j.jsx)(Jn, {
1078
+ ref: i,
1079
+ className: _($n({
1080
+ variant: a,
1081
+ controlShape: o,
1082
+ className: n
1083
+ })),
1084
+ ...r,
1085
+ children: /* @__PURE__ */ (0, j.jsx)("div", {
1086
+ className: "flex items-center gap-2",
1087
+ children: e
1088
+ })
1089
+ }), /* @__PURE__ */ (0, j.jsx)(Sn, {
1090
+ className: "absolute inset-0 size-full cursor-pointer",
1091
+ onClick: (e) => {
1092
+ e.preventDefault();
1093
+ }
1094
+ })]
1095
+ });
1096
+ });
1097
+ ir.displayName = "TabsDropdownTrigger";
1098
+ //#endregion
1099
+ export { tr as a, er as i, rr as n, Qn as r, Xn as t };
1100
+
1101
+ //# sourceMappingURL=tabs-LQ2xirdm.js.map