ghost 6.61.0 → 6.62.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 (472) hide show
  1. package/components/ghost-storage-base-3.0.0.tgz +0 -0
  2. package/components/tryghost-adapter-base-cache-0.2.0.tgz +0 -0
  3. package/components/tryghost-adapter-base-jobs-0.0.0.tgz +0 -0
  4. package/components/tryghost-adapter-base-redirects-0.0.0.tgz +0 -0
  5. package/components/tryghost-adapter-base-route-settings-0.0.0.tgz +0 -0
  6. package/components/tryghost-adapter-base-scheduling-0.2.3.tgz +0 -0
  7. package/components/tryghost-adapter-base-sso-0.1.3.tgz +0 -0
  8. package/components/tryghost-admin-api-schema-0.0.0.tgz +0 -0
  9. package/components/tryghost-checkout-0.0.0.tgz +0 -0
  10. package/components/tryghost-custom-field-types-0.0.0.tgz +0 -0
  11. package/components/tryghost-i18n-0.0.0.tgz +0 -0
  12. package/components/tryghost-kg-card-factory-5.2.4.tgz +0 -0
  13. package/components/tryghost-kg-clean-basic-html-4.3.4.tgz +0 -0
  14. package/components/tryghost-kg-converters-1.2.5.tgz +0 -0
  15. package/components/tryghost-kg-default-cards-10.3.5.tgz +0 -0
  16. package/components/tryghost-kg-default-nodes-2.2.1.tgz +0 -0
  17. package/components/tryghost-kg-default-transforms-1.3.4.tgz +0 -0
  18. package/components/tryghost-kg-html-to-lexical-1.4.0.tgz +0 -0
  19. package/components/tryghost-kg-lexical-html-renderer-1.5.0.tgz +0 -0
  20. package/components/tryghost-kg-markdown-html-renderer-7.2.4.tgz +0 -0
  21. package/components/tryghost-kg-utils-1.1.4.tgz +0 -0
  22. package/components/tryghost-nql-string-0.0.0.tgz +0 -0
  23. package/components/tryghost-parse-email-address-0.0.0.tgz +0 -0
  24. package/content/settings/README.md +1 -1
  25. package/content/themes/casper/.gitignore +28 -0
  26. package/content/themes/casper/assets/built/casper.js +1 -1
  27. package/content/themes/casper/assets/built/screen.css +1 -1
  28. package/content/themes/casper/assets/css/screen.css +2 -1
  29. package/content/themes/casper/assets/js/lightbox.js +63 -46
  30. package/content/themes/casper/package.json +6 -6
  31. package/content/themes/casper/page.hbs +1 -0
  32. package/content/themes/casper/post.hbs +1 -0
  33. package/content/themes/source/.gitignore +28 -0
  34. package/content/themes/source/assets/built/screen.css +1 -1
  35. package/content/themes/source/assets/built/source.js +1 -1
  36. package/content/themes/source/assets/css/screen.css +2 -1
  37. package/content/themes/source/assets/js/lightbox.js +62 -45
  38. package/content/themes/source/assets/js/main.js +2 -2
  39. package/content/themes/source/package.json +4 -4
  40. package/content/themes/source/partials/feature-image.hbs +1 -0
  41. package/core/boot.js +54 -22
  42. package/core/built/admin/assets/Combination-B0l4MKVh.js +41 -0
  43. package/core/built/admin/assets/InterVariable-DiVDrmQJ.woff2 +0 -0
  44. package/core/built/admin/assets/InterVariable-Italic-FCBEiFp6.woff2 +0 -0
  45. package/core/built/admin/assets/{about-Bve7IJS2.js → about-Dyae_UT6.js} +1 -1
  46. package/core/built/admin/assets/account-migration-CESa0mnX.js +1 -0
  47. package/core/built/admin/assets/activitypub/{account-migration-C-aej4x_.js → account-migration-By69CgCp.js} +16 -16
  48. package/core/built/admin/assets/activitypub/activitypub.js +9 -9
  49. package/core/built/admin/assets/activitypub/{bluesky-sharing-BXkA5mqV.js → bluesky-sharing-BJcPMrDd.js} +36 -36
  50. package/core/built/admin/assets/activitypub/{content-formatters-CHcyMFk4.js → content-formatters-3rTHg3mp.js} +3 -3
  51. package/core/built/admin/assets/activitypub/{domain-B3ihkPde.js → domain-DUR4xSkV.js} +121 -121
  52. package/core/built/admin/assets/activitypub/{edit-profile-DsZM3rTX.js → edit-profile-BqtfzxCp.js} +40 -40
  53. package/core/built/admin/assets/activitypub/{explore-BodNrZgR.js → explore-BxuJd-J4.js} +26 -26
  54. package/core/built/admin/assets/activitypub/{feed-PwH1iJ84.js → feed-BM1TcksA.js} +48 -48
  55. package/core/built/admin/assets/activitypub/{field-D06-kmOJ.js → field-Dn7HHx2-.js} +2 -2
  56. package/core/built/admin/assets/activitypub/inbox-CCjkuow2.js +1284 -0
  57. package/core/built/admin/assets/activitypub/label-1AA_s9Fa.js +16 -0
  58. package/core/built/admin/assets/activitypub/layout-2-0bw6HN.js +1 -0
  59. package/core/built/admin/assets/activitypub/{moderation-D1Yapsod.js → moderation-CnmxEB8w.js} +91 -91
  60. package/core/built/admin/assets/activitypub/{note-C5zjqq5C.js → note-ZKc_Bnba.js} +23 -23
  61. package/core/built/admin/assets/activitypub/{notifications-B9p8eCHD.js → notifications-CB2tJZau.js} +48 -48
  62. package/core/built/admin/assets/activitypub/{onboarding-CNelD_uF.js → onboarding-BsJ9E5qf.js} +2 -2
  63. package/core/built/admin/assets/activitypub/{onboarding-mat5Hrl0.js → onboarding-CSUJJIlh.js} +2 -2
  64. package/core/built/admin/assets/activitypub/{preferences-BCqUdC3v.js → preferences-0-JZnUkI.js} +1519 -1519
  65. package/core/built/admin/assets/activitypub/{profile-BRCWoFem.js → profile-C35cFIhM.js} +183 -183
  66. package/core/built/admin/assets/activitypub/{routes-BSXT992i.js → routes-BD4vscyc.js} +740 -731
  67. package/core/built/admin/assets/activitypub/settings-BsMROdqh.js +315 -0
  68. package/core/built/admin/assets/activitypub/{site-DHoMupSB.js → site-O0RL9YCN.js} +2 -2
  69. package/core/built/admin/assets/activitypub/{step-1-B-YfsVeO.js → step-1-BMSx7c_X.js} +4 -4
  70. package/core/built/admin/assets/activitypub/{step-3-D6BFMXL_.js → step-3-CLlOZTyt.js} +3 -3
  71. package/core/built/admin/assets/activitypub/{tabs-GpNecvfB.js → tabs-Dxk-b9M-.js} +306 -306
  72. package/core/built/admin/assets/activitypub/{topic-filter-BPDeQQys.js → topic-filter-5yZH6tId.js} +2 -2
  73. package/core/built/admin/assets/activitypub/{use-activity-pub-queries-BoVOxXkV.js → use-activity-pub-queries-CV50qe03.js} +2 -2
  74. package/core/built/admin/assets/activitypub/{use-reply-chain-data-wVBX7swM.js → use-reply-chain-data-Cbvzgjzd.js} +30 -30
  75. package/core/built/admin/assets/activitypub/{users-CoX6FT_K.js → users-BjcoP_HC.js} +7 -5
  76. package/core/built/admin/assets/add-integration-modal-BlF6rs_f.js +1 -0
  77. package/core/built/admin/assets/add-newsletter-modal-CglVQqah.js +1 -0
  78. package/core/built/admin/assets/add-recommendation-modal-wz7BsuaG.js +1 -0
  79. package/core/built/admin/assets/analytics-C4HE1gBg.js +1 -0
  80. package/core/built/admin/assets/{announcement-bar-modal-DM3cYOpo.js → announcement-bar-modal-Ci4zz8jO.js} +1 -1
  81. package/core/built/admin/assets/{api-keys-BLm2NDBh.js → api-keys-Ck-Yteiv.js} +1 -1
  82. package/core/built/admin/assets/{audience-9mwU5TW6.js → audience-CtbA54Sn.js} +1 -1
  83. package/core/built/admin/assets/{automated-emails-te1D5kq-.js → automated-emails-D5VVMND9.js} +1 -1
  84. package/core/built/admin/assets/automations-CzKt5fb8.js +1 -0
  85. package/core/built/admin/assets/bluesky-sharing-BEtJ_gL_.js +1 -0
  86. package/core/built/admin/assets/{breadcrumb-DLiqCyFc.js → breadcrumb-zUrZrBtW.js} +1 -1
  87. package/core/built/admin/assets/{button-B2jcu6bk.js → button-eNMKQWXr.js} +1 -1
  88. package/core/built/admin/assets/{chart-helpers-Fo3bUL3K.js → chart-helpers-CfBKt0vT.js} +1 -1
  89. package/core/built/admin/assets/{checkbox-BfKktMph.js → checkbox-CgOn_tKW.js} +1 -1
  90. package/core/built/admin/assets/{chunk.524.60ca4692d91c6022042f.js → chunk.524.a697dee88db67fdf6021.js} +4 -4
  91. package/core/built/admin/assets/{chunk.582.525c7617c2d9e94c940a.js → chunk.582.5ed5d124cfca9c259b9c.js} +6 -6
  92. package/core/built/admin/assets/{chunk.896.435fe0637944d4a69810.js → chunk.598.7e056fabb47ce7dbd73f.js} +14 -14
  93. package/core/built/admin/assets/{code-editor-view-CYVu4EW6.js → code-editor-view-BYNoAoNV.js} +1 -1
  94. package/core/built/admin/assets/{code-editor-view-DCQJxsfU.js → code-editor-view-K2wI-I5f.js} +1 -1
  95. package/core/built/admin/assets/color-picker-Ddw80xX6.js +3 -0
  96. package/core/built/admin/assets/color-picker-field-D9nUhvA7.js +1 -0
  97. package/core/built/admin/assets/combobox-w9j8PPQT.js +1 -0
  98. package/core/built/admin/assets/command-BfpHORBv.js +1 -0
  99. package/core/built/admin/assets/comments-BLmCmyCs.js +1 -0
  100. package/core/built/admin/assets/confirmation-context-CBM8G0Vj.js +1 -0
  101. package/core/built/admin/assets/{content-api-modal-CyQEC3fr.js → content-api-modal-TXRz3U7S.js} +1 -1
  102. package/core/built/admin/assets/context-menu-_QMdd3kp.js +1 -0
  103. package/core/built/admin/assets/{copy-field-B3M1s78L.js → copy-field-6N01S07E.js} +1 -1
  104. package/core/built/admin/assets/create-ghost-browse-value-source-qIBymvvf.js +1 -0
  105. package/core/built/admin/assets/custom-field-type-option-BddFlJFa.js +1 -0
  106. package/core/built/admin/assets/custom-integration-modal-DmNquxUV.js +1 -0
  107. package/core/built/admin/assets/{date-range-select-DD2RKkgB.js → date-range-select-uvz_DtPh.js} +1 -1
  108. package/core/built/admin/assets/design-and-theme-modal-BSmo12Op.js +2 -0
  109. package/core/built/admin/assets/dirty-confirm-dialog-BZ1iytEd.js +1 -0
  110. package/core/built/admin/assets/{disabled-sources-indicator-Cvy47bE2.js → disabled-sources-indicator-DMRrxsiJ.js} +1 -1
  111. package/core/built/admin/assets/dist-Dcsslyo72.js +1 -0
  112. package/core/built/admin/assets/domain-BNYrt0aD.js +1 -0
  113. package/core/built/admin/assets/dropzone-D7nFdAe5.js +5 -0
  114. package/core/built/admin/assets/edit-profile-C5Asm4LA.js +1 -0
  115. package/core/built/admin/assets/editor-REokrzci.js +8 -0
  116. package/core/built/admin/assets/{embed-signup-form-modal-DeBMLxlL.js → embed-signup-form-modal-Ds6mPEi5.js} +1 -1
  117. package/core/built/admin/assets/en-B1jX3WMs.js +1 -0
  118. package/core/built/admin/assets/explore-UY10Egsp.js +1 -0
  119. package/core/built/admin/assets/feature-image-placeholder-D1iF_8bc.js +1 -0
  120. package/core/built/admin/assets/feed-81C8mJWR.js +1 -0
  121. package/core/built/admin/assets/{field-Cj8lmDOo.js → field-Dihp5p18.js} +1 -1
  122. package/core/built/admin/assets/filter-bar-Da1qxybu.js +1 -0
  123. package/core/built/admin/assets/filter-sources-BO9xUPj7.js +1 -0
  124. package/core/built/admin/assets/filters-CRUWecfY.js +1 -0
  125. package/core/built/admin/assets/filters-DirqNXjH.js +1 -0
  126. package/core/built/admin/assets/first-promoter-modal-CT6MxYZb.js +1 -0
  127. package/core/built/admin/assets/{ghost-c8807202a07c20030acb719ee0114815.css → ghost-8eabfc1ece81b03cf7b90780d31487e8.css} +1 -1
  128. package/core/built/admin/assets/{ghost-3894eedcc6968f658578c0abfe942aab.js → ghost-c2848508292937415f20f5a830eea59e.js} +31 -28
  129. package/core/built/admin/assets/{ghost-dark-fbf1e384aaef3ae315e540f0eb7373a7.css → ghost-dark-a7bebe2c561f55369dcf29f4c820f7ff.css} +1 -1
  130. package/core/built/admin/assets/gift-link-modal-CQVAye17.js +1 -0
  131. package/core/built/admin/assets/growth-BWIu-6xj.js +3 -0
  132. package/core/built/admin/assets/growth-DU29oxeA.js +1 -0
  133. package/core/built/admin/assets/history-modal-CFd1Hvx6.js +1 -0
  134. package/core/built/admin/assets/{html-field-C8qVGGC1.js → html-field-CJBCLTvv.js} +1 -1
  135. package/core/built/admin/assets/{images-h8VZEQ9k.js → images-scfkWZiK.js} +1 -1
  136. package/core/built/admin/assets/{inbox-BYd1M06Q.js → inbox-Mcp4DXZN.js} +14 -14
  137. package/core/built/admin/assets/index-6MkPdCtr.js +4 -0
  138. package/core/built/admin/assets/index-Bn7QhcZu.css +2 -0
  139. package/core/built/admin/assets/index.es-CNnuNH0d.js +1 -0
  140. package/core/built/admin/assets/{input-group-D8sCXRF5.js → input-group-CMhe2DvY.js} +1 -1
  141. package/core/built/admin/assets/invite-user-modal-DfheMXs0.js +1 -0
  142. package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +14 -14
  143. package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +3 -3
  144. package/core/built/admin/assets/koenig-lexical/style.css +1 -1
  145. package/core/built/admin/assets/{koenig-lexical-_-IsVI7E.js → koenig-lexical-DBSqAuiI.js} +3 -3
  146. package/core/built/admin/assets/koenig-loader-aFQNlJlD.js +2 -0
  147. package/core/built/admin/assets/{kpi-card-DZQk_0W8.js → kpi-card-DBRMfGOW.js} +1 -1
  148. package/core/built/admin/assets/{kpi-card-DW_2y3ug.js → kpi-card-DFafD1qq.js} +1 -1
  149. package/core/built/admin/assets/{kpi-helpers-PueTKuA6.js → kpi-helpers-Cv8i8hns.js} +1 -1
  150. package/core/built/admin/assets/{kpi-tabs-CojDs-Qz.js → kpi-tabs-BJItvLYm.js} +1 -1
  151. package/core/built/admin/assets/{label-DjbT91GM.js → label-BnSCvffu.js} +1 -1
  152. package/core/built/admin/assets/label-picker-KVoo91sh.js +1 -0
  153. package/core/built/admin/assets/layout-Bjv2Ll-5.js +1 -0
  154. package/core/built/admin/assets/member-custom-fields-DDQV6QeG.js +1 -0
  155. package/core/built/admin/assets/member-detail-CdJF6Agw.js +1 -0
  156. package/core/built/admin/assets/members-DjQbq9Z2.js +4 -0
  157. package/core/built/admin/assets/moderation-AgCIEso4.js +1 -0
  158. package/core/built/admin/assets/{multi-select-combobox-B6LiRzDO.js → multi-select-combobox-BcITkUVr.js} +1 -1
  159. package/core/built/admin/assets/navigation-modal-BkT7b1M2.js +1 -0
  160. package/core/built/admin/assets/newsletter-BMMAuvgq.js +1 -0
  161. package/core/built/admin/assets/newsletter-detail-modal-0SCJ7Zpm.js +1 -0
  162. package/core/built/admin/assets/{newsletter-emails-CFeLlt4z.js → newsletter-emails-DKzwafuh.js} +1 -1
  163. package/core/built/admin/assets/newsletters-BRBb_uQC.js +1 -0
  164. package/core/built/admin/assets/note-DyGHtS9a.js +1 -0
  165. package/core/built/admin/assets/notifications-ZgWniKna.js +1 -0
  166. package/core/built/admin/assets/nql-BLpCn7qX.js +21 -0
  167. package/core/built/admin/assets/offers-container-modal-B-E8TIWr.js +1 -0
  168. package/core/built/admin/assets/{onboarding-B4YhlZ0i.js → onboarding-CzIsre-d.js} +1 -1
  169. package/core/built/admin/assets/onboarding-qg8Akovm.js +1 -0
  170. package/core/built/admin/assets/{onboarding-route-Dmc4IPm3.js → onboarding-route-CaavZulg.js} +1 -1
  171. package/core/built/admin/assets/overview-BW8GLeYi.js +1 -0
  172. package/core/built/admin/assets/overview-BkXZNzaZ.js +1 -0
  173. package/core/built/admin/assets/{page-header-BR_nbIPp.js → page-header-De0VzKBi.js} +1 -1
  174. package/core/built/admin/assets/pagemenu-B5KKCpbA.js +1 -0
  175. package/core/built/admin/assets/pages-jgaFm69d.js +1 -0
  176. package/core/built/admin/assets/pages-route-CIUAQxtY.js +1 -0
  177. package/core/built/admin/assets/papaparse.min-cQwnxGCG.js +10 -0
  178. package/core/built/admin/assets/{pintura-modal-BR9hEvS8.js → pintura-modal-BZ2J9w3n.js} +1 -1
  179. package/core/built/admin/assets/portal-frame-B6Hr9wHc.js +1 -0
  180. package/core/built/admin/assets/portal-modal-D4ceei3t.js +1 -0
  181. package/core/built/admin/assets/post-analytics-header-BYCsT0GP.js +1 -0
  182. package/core/built/admin/assets/post-analytics-ot7f6pih.js +1 -0
  183. package/core/built/admin/assets/{post-analytics-provider-CLfKGWZy.js → post-analytics-provider-Bo1gmYaP.js} +1 -1
  184. package/core/built/admin/assets/{post-share-modal-Cl0NXRJr.js → post-share-modal-C-PaYZ_e.js} +1 -1
  185. package/core/built/admin/assets/posts-DuGazgTb.js +1 -0
  186. package/core/built/admin/assets/posts-list-screen-CBGGgjjj.js +2 -0
  187. package/core/built/admin/assets/posts-route-D6xmS7Vf.js +1 -0
  188. package/core/built/admin/assets/preferences-C5YJLp74.js +5 -0
  189. package/core/built/admin/assets/{preview-modal-C-BL-F9k.js → preview-modal-BfeFqi5y.js} +1 -1
  190. package/core/built/admin/assets/profile-B8mx2yAu.js +1 -0
  191. package/core/built/admin/assets/radio-group-DczlLKOn.js +1 -0
  192. package/core/built/admin/assets/{schemas-4UPic-oD.js → schemas-DppqmpeJ.js} +1 -1
  193. package/core/built/admin/assets/select-cb0t_TAJ.js +1 -0
  194. package/core/built/admin/assets/settings-DZqxR0Da.js +1 -0
  195. package/core/built/admin/assets/settings-DvfTNdHQ.js +4 -0
  196. package/core/built/admin/assets/{settings-breadcrumbs-CyP_9zTo.js → settings-breadcrumbs-DLzbRRSt.js} +1 -1
  197. package/core/built/admin/assets/share-modal-D2-Bz1_I.js +1 -0
  198. package/core/built/admin/assets/slack-modal-DYDTUria.js +1 -0
  199. package/core/built/admin/assets/{sort-button-Cc-Z96sA.js → sort-button-VVeQjjbu.js} +1 -1
  200. package/core/built/admin/assets/{source-icon-v6PUnmyM.js → source-icon-Ck5_5Kgq.js} +1 -1
  201. package/core/built/admin/assets/stats-Rjmk5owg.js +1 -0
  202. package/core/built/admin/assets/stats-view-BGGmkmgv.js +1 -0
  203. package/core/built/admin/assets/{step-1-DSRp2vBj.js → step-1-CsaBjeN4.js} +1 -1
  204. package/core/built/admin/assets/{step-2-COqv2g0u.js → step-2-D2vnxOOM.js} +1 -1
  205. package/core/built/admin/assets/{step-3-6W1NMVQc.js → step-3-wBoLdGEb.js} +2 -2
  206. package/core/built/admin/assets/{stripe-button-D2K42Uty.js → stripe-button-CDgLz0S0.js} +1 -1
  207. package/core/built/admin/assets/stripe-connect-modal-CSjMJetP.js +1 -0
  208. package/core/built/admin/assets/{table-B2pIKjVh.js → table-Do6iQ83Q.js} +1 -1
  209. package/core/built/admin/assets/{tabs-SaW_UT-Q.js → tabs-D2yWLMp_.js} +1 -1
  210. package/core/built/admin/assets/tag-detail-BhXlOsCa.js +2 -0
  211. package/core/built/admin/assets/tags-ldukRApe.js +1 -0
  212. package/core/built/admin/assets/testimonials-modal-CtnZBJKl.js +1 -0
  213. package/core/built/admin/assets/tier-detail-modal-BOs8e_G8.js +1 -0
  214. package/core/built/admin/assets/{toggle-group-EM9WpESu.js → toggle-group-ByUJsxwD.js} +1 -1
  215. package/core/built/admin/assets/{topic-filter-DY4gNHn2.js → topic-filter-BgC3g5_v.js} +1 -1
  216. package/core/built/admin/assets/{transistor-modal-CpyPG-MH.js → transistor-modal-Drr0SNfo.js} +1 -1
  217. package/core/built/admin/assets/{trend-badge-ByMkuAuH.js → trend-badge-6ye93YAW.js} +1 -1
  218. package/core/built/admin/assets/{unsplash-modal-Cv2Q6GtY.js → unsplash-modal-p6AoQoWp.js} +1 -1
  219. package/core/built/admin/assets/{use-analytics-data-CHvjMYuT.js → use-analytics-data-CWCMAESo.js} +1 -1
  220. package/core/built/admin/assets/use-check-theme-limit-error-B8bjF-gO.css +1 -0
  221. package/core/built/admin/assets/{use-check-theme-limit-error-Qv4SVXqw.js → use-check-theme-limit-error-Cw3WQHy8.js} +1 -1
  222. package/core/built/admin/assets/use-filter-params-BIni9taJ.js +1 -0
  223. package/core/built/admin/assets/use-growth-stats-DCVG3s9w.js +1 -0
  224. package/core/built/admin/assets/{use-limiter-cwJvsNBo.js → use-limiter-D2WRRx0H.js} +1 -1
  225. package/core/built/admin/assets/{use-pintura-config-CzTfnufz.js → use-pintura-config-h-J0Lvta.js} +1 -1
  226. package/core/built/admin/assets/{use-pintura-editor-BDBXWUYq.js → use-pintura-editor-BfN1UwzH.js} +1 -1
  227. package/core/built/admin/assets/use-post-referrers-Czg47m8s.js +1 -0
  228. package/core/built/admin/assets/use-reply-chain-data-ns0caK8k.js +1 -0
  229. package/core/built/admin/assets/{use-router-history-entry-Bg6BhBQQ.js → use-router-history-entry-uldn7zJO.js} +1 -1
  230. package/core/built/admin/assets/{use-setting-group-VM7FQwMY.js → use-setting-group-DpcuCUDg.js} +1 -1
  231. package/core/built/admin/assets/use-settings-navigation-CZjGrhsp.js +1 -0
  232. package/core/built/admin/assets/{use-simple-pagination-Dum6Irbs.js → use-simple-pagination-DzJWobPR.js} +1 -1
  233. package/core/built/admin/assets/{use-staff-users-cZg4ugOF.js → use-staff-users-Csipb-O0.js} +1 -1
  234. package/core/built/admin/assets/use-tinybird-query-CSnGXzZh.js +1 -0
  235. package/core/built/admin/assets/use-tinybird-token-DTOKRR7e.js +1 -0
  236. package/core/built/admin/assets/{use-unsaved-changes-guard-BAy0RANR.js → use-unsaved-changes-guard-CBzs-KPi.js} +1 -1
  237. package/core/built/admin/assets/{use-url-input-Df5QzNa7.js → use-url-input-DFr8lCbS.js} +1 -1
  238. package/core/built/admin/assets/user-detail-modal-B_iUClI6.js +1 -0
  239. package/core/built/admin/assets/users-Cg-OeGzC.js +1 -0
  240. package/core/built/admin/assets/{virtual-list-DEx8WgiO.js → virtual-list-BW-padMe.js} +1 -1
  241. package/core/built/admin/assets/web-C1v33ehA.js +2 -0
  242. package/core/built/admin/assets/web-C4BKzn2T.js +1 -0
  243. package/core/built/admin/assets/{zapier-modal-Cw3BTBUu.js → zapier-modal-BBFfI6Ml.js} +1 -1
  244. package/core/built/admin/index.html +17 -22
  245. package/core/frontend/apps/private-blogging/lib/views/private.hbs +44 -43
  246. package/core/frontend/helpers/cancel_link.js +2 -2
  247. package/core/frontend/helpers/pagination.js +2 -2
  248. package/core/frontend/helpers/social_accounts.js +2 -2
  249. package/core/frontend/public/ghost.css +1 -1
  250. package/core/frontend/public/ghost.min.css +1 -1
  251. package/core/frontend/services/sitemap/user-map-generator.js +9 -2
  252. package/core/server/api/endpoints/index.js +2 -2
  253. package/core/server/api/endpoints/mail.js +1 -1
  254. package/core/server/api/endpoints/{member-custom-fields.js → member-metafields.js} +27 -28
  255. package/core/server/api/endpoints/members.js +4 -4
  256. package/core/server/api/endpoints/posts.js +3 -3
  257. package/core/server/api/endpoints/utils/serializers/input/members.js +4 -7
  258. package/core/server/api/endpoints/utils/serializers/output/index.js +2 -2
  259. package/core/server/api/endpoints/utils/serializers/output/{member-custom-fields.js → member-metafields.js} +2 -4
  260. package/core/server/api/endpoints/utils/serializers/output/members.js +2 -4
  261. package/core/server/api/endpoints/utils/validators/input/invitations.js +0 -5
  262. package/core/server/api/endpoints/utils/validators/input/pages.js +1 -1
  263. package/core/server/api/endpoints/utils/validators/input/posts.js +1 -1
  264. package/core/server/data/importer/importers/data/data-importer.js +3 -3
  265. package/core/server/data/migrations/utils/migrations.js +1 -1
  266. package/core/server/lib/image/image-size.js +24 -0
  267. package/core/server/lib/package-json/parse.js +2 -2
  268. package/core/server/models/member.js +6 -17
  269. package/core/server/models/post.js +2 -2
  270. package/core/server/models/relations/authors.js +2 -16
  271. package/core/server/models/user.js +9 -2
  272. package/core/server/services/auth/passwordreset.js +13 -0
  273. package/core/server/services/comments/comments-controller.js +30 -9
  274. package/core/server/services/comments/comments-service.js +55 -5
  275. package/core/server/services/content-import/csv/formula.js +12 -0
  276. package/core/server/services/content-import/csv/index.js +6 -1
  277. package/core/server/services/content-import/csv/parse.js +27 -6
  278. package/core/server/services/content-import/csv/serialize.js +13 -0
  279. package/core/server/services/content-import/import/completion-email.js +164 -0
  280. package/core/server/services/content-import/import/errors-file.js +36 -0
  281. package/core/server/services/content-import/import/importer.js +160 -53
  282. package/core/server/services/content-import/import/local-media-url.js +63 -0
  283. package/core/server/services/content-import/import/media.js +254 -0
  284. package/core/server/services/content-import/import/post-data.js +0 -1
  285. package/core/server/services/content-import/import/post-link.js +11 -0
  286. package/core/server/services/content-import/import/post-repository.js +25 -3
  287. package/core/server/services/content-import/import/reader.js +9 -2
  288. package/core/server/services/content-import/import/report.js +34 -0
  289. package/core/server/services/content-import/import/row.js +0 -2
  290. package/core/server/services/content-import/import/schema.js +1 -0
  291. package/core/server/services/content-import/import/staged-file.js +29 -0
  292. package/core/server/services/content-import/import/store.js +25 -2
  293. package/core/server/services/content-import/index.js +52 -6
  294. package/core/server/services/content-import/jobs/content-csv-import-job.js +20 -0
  295. package/core/server/services/custom-redirects/redirect-config-parser.js +2 -2
  296. package/core/server/services/custom-redirects/redirects-service.js +1 -1
  297. package/core/server/services/custom-redirects/validation.js +1 -1
  298. package/core/server/services/email-address/email-address-parser.js +30 -38
  299. package/core/server/services/email-address/email-address-service.js +37 -4
  300. package/core/server/services/email-analytics/index.js +2 -7
  301. package/core/server/services/email-service/batch-sending-service.js +0 -4
  302. package/core/server/services/email-service/email-renderer.js +14 -4
  303. package/core/server/services/email-service/email-service-wrapper.js +0 -9
  304. package/core/server/services/email-service/mailgun-email-provider.js +20 -9
  305. package/core/server/services/gifts/email-templates/gift-delivery.hbs +3 -3
  306. package/core/server/services/gifts/gift-email-service.js +0 -1
  307. package/core/server/services/gifts/index.js +3 -3
  308. package/core/server/services/gifts/jobs/index.js +4 -4
  309. package/core/server/services/indexnow-ping/indexnow-ping-service.js +2 -2
  310. package/core/server/services/invitations/accept.js +4 -2
  311. package/core/server/services/jobs/job-service.js +0 -9
  312. package/core/server/services/jobs-service/register-job-handlers.js +21 -11
  313. package/core/server/services/mail/ghost-mailer.js +4 -4
  314. package/core/server/services/member-welcome-emails/service.js +7 -7
  315. package/core/server/services/members/api.js +1 -0
  316. package/core/server/services/members/import-export/csv/parse.js +0 -7
  317. package/core/server/services/members/import-export/import/completion-email.js +2 -5
  318. package/core/server/services/members/import-export/import/row.js +0 -3
  319. package/core/server/services/members/import-export/index.js +4 -11
  320. package/core/server/services/members/jobs/clean-expired-comped-job.js +7 -0
  321. package/core/server/services/members/jobs/clean-expired-comped-task.js +145 -0
  322. package/core/server/services/members/jobs/index.js +48 -24
  323. package/core/server/services/members/members-api/controllers/member-controller.js +11 -0
  324. package/core/server/services/members/members-api/controllers/router-controller.js +3 -6
  325. package/core/server/services/members/members-api/members-api.js +4 -6
  326. package/core/server/services/members/members-api/repositories/event-repository.js +0 -4
  327. package/core/server/services/members/members-api/services/member-bread-service.js +34 -62
  328. package/core/server/services/members/members-api/services/payments-service.js +1 -1
  329. package/core/server/services/members/service.js +1 -5
  330. package/core/server/services/members-custom-fields/bindings-service.js +2 -1
  331. package/core/server/services/members-custom-fields/codec.js +3 -4
  332. package/core/server/services/members-custom-fields/definitions-service.js +62 -10
  333. package/core/server/services/members-custom-fields/filter.js +75 -93
  334. package/core/server/services/members-custom-fields/key.js +2 -1
  335. package/core/server/services/members-custom-fields/models.js +1 -1
  336. package/core/server/services/members-custom-fields/serializers.js +3 -5
  337. package/core/server/services/members-custom-fields/values-service.js +50 -28
  338. package/core/server/services/mentions/mention-controller.js +23 -21
  339. package/core/server/services/mentions/process-webmention-job.js +16 -0
  340. package/core/server/services/mentions/service.js +8 -4
  341. package/core/server/services/route-settings/validation-errors.js +1 -1
  342. package/core/server/services/route-settings/yaml-parser.js +1 -1
  343. package/core/server/services/settings/settings-service.js +1 -8
  344. package/core/server/services/settings-helpers/settings-helpers.js +4 -6
  345. package/core/server/services/slack-ping/slack-ping-service.js +1 -1
  346. package/core/server/services/staff/staff-service-emails.js +2 -2
  347. package/core/server/services/stripe/config.js +14 -8
  348. package/core/server/services/stripe/service.js +10 -1
  349. package/core/server/services/stripe/services/checkout/completed-session.js +2 -2
  350. package/core/server/services/stripe/services/checkout/session-options.js +18 -15
  351. package/core/server/services/stripe/services/webhook/checkout-session-event-service.js +26 -5
  352. package/core/server/services/stripe/stripe-api.js +2 -0
  353. package/core/server/services/stripe/stripe-service.js +20 -10
  354. package/core/server/services/stripe/webhook-controller.js +10 -0
  355. package/core/server/services/tier-checkout-config/codec.js +9 -5
  356. package/core/server/services/tier-checkout-config/models.js +9 -3
  357. package/core/server/services/tier-checkout-config/queries.js +4 -4
  358. package/core/server/services/tier-checkout-config/serializers.js +16 -10
  359. package/core/server/services/tier-checkout-config/service.js +13 -12
  360. package/core/server/services/update-check/index.js +13 -13
  361. package/core/server/services/update-check/jobs/update-check-job.js +7 -0
  362. package/core/server/services/update-check/update-check-service.js +2 -2
  363. package/core/server/web/admin/controller.js +1 -1
  364. package/core/server/web/api/endpoints/admin/routes.js +19 -16
  365. package/core/shared/config/env/config.testing-mysql.json +1 -1
  366. package/core/shared/labs.js +5 -2
  367. package/package.json +24 -23
  368. package/pnpm-lock.yaml +704 -69
  369. package/pnpm-workspace.yaml +8 -5
  370. package/components/tryghost-kg-default-nodes-2.2.0.tgz +0 -0
  371. package/core/built/admin/assets/Combination-5fYEzgbs.js +0 -41
  372. package/core/built/admin/assets/account-migration-DRhAehfw.js +0 -1
  373. package/core/built/admin/assets/activitypub/inbox-BluD2ucT.js +0 -1284
  374. package/core/built/admin/assets/activitypub/label-FHSh6ZAw.js +0 -16
  375. package/core/built/admin/assets/activitypub/layout-Cq4NG0Xr.js +0 -1
  376. package/core/built/admin/assets/activitypub/settings-DQDkr06X.js +0 -315
  377. package/core/built/admin/assets/add-integration-modal-BC0jExDZ.js +0 -1
  378. package/core/built/admin/assets/add-newsletter-modal-DchTkA7l.js +0 -1
  379. package/core/built/admin/assets/add-recommendation-modal-DMvaJZKp.js +0 -1
  380. package/core/built/admin/assets/alert-dialog-QhXzdHfc.js +0 -1
  381. package/core/built/admin/assets/analytics-No1DDY3A.js +0 -1
  382. package/core/built/admin/assets/automations-DpUNUdcZ.js +0 -1
  383. package/core/built/admin/assets/bluesky-sharing-Cjrv_f62.js +0 -1
  384. package/core/built/admin/assets/color-picker-BTY_NdEm.js +0 -3
  385. package/core/built/admin/assets/color-picker-field-CPlkzOH0.js +0 -1
  386. package/core/built/admin/assets/combobox-DrMtv_4P.js +0 -1
  387. package/core/built/admin/assets/command-ZdgYJpoI.js +0 -1
  388. package/core/built/admin/assets/comments-kidj60-h.js +0 -1
  389. package/core/built/admin/assets/confirmation-context-BhbmQQEl.js +0 -1
  390. package/core/built/admin/assets/custom-field-type-option-CsGIZk1J.js +0 -10
  391. package/core/built/admin/assets/custom-integration-modal-BY37O_9X.js +0 -1
  392. package/core/built/admin/assets/design-and-theme-modal-DUSKM4uC.js +0 -22
  393. package/core/built/admin/assets/dialog-B44iRwlc.js +0 -1
  394. package/core/built/admin/assets/dirty-confirm-dialog-BxgQgQ6H.js +0 -1
  395. package/core/built/admin/assets/dist-Cy8tfrp_.js +0 -1
  396. package/core/built/admin/assets/domain-Ca6KhoQt.js +0 -1
  397. package/core/built/admin/assets/dropzone-Bb-5zQTk.js +0 -5
  398. package/core/built/admin/assets/edit-profile-BdupLlus.js +0 -1
  399. package/core/built/admin/assets/editor-BP883Lpn.js +0 -8
  400. package/core/built/admin/assets/explore-FB-CimXw.js +0 -1
  401. package/core/built/admin/assets/feed-C1GxsmI2.js +0 -1
  402. package/core/built/admin/assets/filter-sources-D5n5bFA2.js +0 -1
  403. package/core/built/admin/assets/filters-DJEzkMUK.js +0 -1
  404. package/core/built/admin/assets/filters-MZXvdH5D.js +0 -1
  405. package/core/built/admin/assets/first-promoter-modal-CGTGLCr5.js +0 -1
  406. package/core/built/admin/assets/gift-link-modal-B6v0tnRN.js +0 -1
  407. package/core/built/admin/assets/growth-BGAJD1rs.js +0 -3
  408. package/core/built/admin/assets/growth-D6mhcx3q.js +0 -1
  409. package/core/built/admin/assets/history-modal-iKwUY3XR.js +0 -1
  410. package/core/built/admin/assets/index-DjQe-e5s.js +0 -4
  411. package/core/built/admin/assets/index-Dqf2x-ry.css +0 -1
  412. package/core/built/admin/assets/index.es-VihPwfeH.js +0 -1
  413. package/core/built/admin/assets/input--W-rCTrX.js +0 -1
  414. package/core/built/admin/assets/invite-user-modal-MdImLCaJ.js +0 -1
  415. package/core/built/admin/assets/koenig-loader-DYZpm6El.js +0 -2
  416. package/core/built/admin/assets/label-picker-cB51xl1r.js +0 -1
  417. package/core/built/admin/assets/layout-c_B_1hax.js +0 -1
  418. package/core/built/admin/assets/loading-indicator-BpFWTVgh.js +0 -1
  419. package/core/built/admin/assets/member-custom-fields-qs0dIkxM.js +0 -1
  420. package/core/built/admin/assets/member-detail-B6uec2a6.js +0 -1
  421. package/core/built/admin/assets/members-BQF3CqhI.js +0 -2
  422. package/core/built/admin/assets/moderation-DY4wF1Q3.js +0 -1
  423. package/core/built/admin/assets/navigation-modal-DX-gNF3X.js +0 -1
  424. package/core/built/admin/assets/newsletter-CyQA7m3m.js +0 -1
  425. package/core/built/admin/assets/newsletter-detail-modal-BDrptuxn.js +0 -1
  426. package/core/built/admin/assets/newsletters-DXuNmC42.js +0 -1
  427. package/core/built/admin/assets/note-Cgo2LCJ6.js +0 -1
  428. package/core/built/admin/assets/notifications-BC50AMku.js +0 -1
  429. package/core/built/admin/assets/offers-container-modal-DWycIMzT.js +0 -1
  430. package/core/built/admin/assets/onboarding-DGQuV7Ew.js +0 -1
  431. package/core/built/admin/assets/overview-CVbFtn-k.js +0 -1
  432. package/core/built/admin/assets/overview-YKj7SZaK.js +0 -1
  433. package/core/built/admin/assets/pages-B6vr9F_D.js +0 -1
  434. package/core/built/admin/assets/popover-CCy0h5rq.js +0 -1
  435. package/core/built/admin/assets/portal-frame-dc4XKr0e.js +0 -1
  436. package/core/built/admin/assets/portal-modal-BvvdF_B9.js +0 -1
  437. package/core/built/admin/assets/post-analytics-DX470WRG.js +0 -1
  438. package/core/built/admin/assets/post-analytics-header-CXpJmdDv.js +0 -1
  439. package/core/built/admin/assets/posts-KY3aUhVV.js +0 -1
  440. package/core/built/admin/assets/preferences-DO0UUWFp.js +0 -5
  441. package/core/built/admin/assets/profile-CxT-0l4d.js +0 -1
  442. package/core/built/admin/assets/radio-group-Bgz60i81.js +0 -1
  443. package/core/built/admin/assets/select-DuDUFdPq.js +0 -1
  444. package/core/built/admin/assets/settings-BjCii7BM.js +0 -1
  445. package/core/built/admin/assets/settings-b8kNzZSQ.js +0 -4
  446. package/core/built/admin/assets/share-modal-BV70mr9k.js +0 -1
  447. package/core/built/admin/assets/shim-ClF_m5ux.js +0 -1
  448. package/core/built/admin/assets/slack-modal-Be2_KK-z.js +0 -1
  449. package/core/built/admin/assets/stats-C4reGh9O.js +0 -1
  450. package/core/built/admin/assets/stats-view-DP9pQ62k.js +0 -1
  451. package/core/built/admin/assets/stripe-connect-modal-Z-UT_BGc.js +0 -1
  452. package/core/built/admin/assets/tag-detail-Dc0nTOtU.js +0 -2
  453. package/core/built/admin/assets/tags-BLaXBwnb.js +0 -1
  454. package/core/built/admin/assets/testimonials-modal-sFwRnNLh.js +0 -1
  455. package/core/built/admin/assets/tier-detail-modal-BCFpWwUS.js +0 -1
  456. package/core/built/admin/assets/use-filter-params-CAvfDvf1.js +0 -1
  457. package/core/built/admin/assets/use-growth-stats-D6mZXGhK.js +0 -1
  458. package/core/built/admin/assets/use-post-referrers-DbY-mzci.js +0 -1
  459. package/core/built/admin/assets/use-reply-chain-data-BeQwz8oF.js +0 -1
  460. package/core/built/admin/assets/use-settings-navigation-BbrSUVcf.js +0 -1
  461. package/core/built/admin/assets/use-tinybird-query-B1IMyAcv.js +0 -39
  462. package/core/built/admin/assets/use-tinybird-token-Bow0Zwn8.js +0 -1
  463. package/core/built/admin/assets/user-detail-modal-yipSoQfv.js +0 -1
  464. package/core/built/admin/assets/users-5msE1WMs.js +0 -1
  465. package/core/built/admin/assets/web-CKcXAu86.js +0 -1
  466. package/core/built/admin/assets/web-DR4TqM3E.js +0 -2
  467. package/core/server/services/jobs/worker-model-event-bridge.js +0 -149
  468. package/core/server/services/members/jobs/clean-expired-comped.js +0 -132
  469. package/core/server/services/stripe/services/checkout/allowed-countries.js +0 -267
  470. package/core/server/services/stripe/services/checkout/field-ports.js +0 -34
  471. package/core/server/services/tier-checkout-config/destinations.js +0 -17
  472. package/core/server/services/update-check/run-update-check.js +0 -63
@@ -1,16 +0,0 @@
1
- import { d as e, u as t } from "./_react-D4KM8XEu.js";
2
- import { S as n } from "./chunk-KS7C4IRE-Ck3O4oo2.js";
3
- import { A as r } from "./routes-BSXT992i.js";
4
- import { d as i, y as a } from "./use-navigate-with-base-path-Bmk5h4lW.js";
5
- //#region ../shade/es/components/ui/label.js
6
- e();
7
- var o = n(), s = i("text-control leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70"), c = t(({ className: e, ...t }, n) => /* @__PURE__ */ (0, o.jsx)(r, {
8
- ref: n,
9
- className: a(s(), e),
10
- ...t
11
- }));
12
- c.displayName = r.displayName;
13
- //#endregion
14
- export { c as t };
15
-
16
- //# sourceMappingURL=label-FHSh6ZAw.js.map
@@ -1 +0,0 @@
1
- import "./routes-BSXT992i.js";
@@ -1,315 +0,0 @@
1
- import { T as e, _ as t, c as n, d as r, g as i, u as a, v as o, w as s } from "./_react-D4KM8XEu.js";
2
- import { S as c, t as l } from "./chunk-KS7C4IRE-Ck3O4oo2.js";
3
- import { At as u, Mt as d, Y as f, Z as p, dt as m, et as h, lt as g, nt as _, tt as v, xt as ee } from "./routes-BSXT992i.js";
4
- import { c as y, n as b, r as x, t as S, u as C, y as w } from "./use-navigate-with-base-path-Bmk5h4lW.js";
5
- import { Z as T } from "./use-activity-pub-queries-BoVOxXkV.js";
6
- import { c as E, s as te, u as D } from "./avatar-DLPL3Abs.js";
7
- import { t as O } from "./edit-profile-DsZM3rTX.js";
8
- //#region ../../node_modules/.pnpm/@radix-ui+react-collection@1.1.11_@types+react-dom@18.3.7_@types+react@18.3.31__@types+_d63a01f8f2419583266dd4480c0aa94b/node_modules/@radix-ui/react-collection/dist/index.mjs
9
- r();
10
- var k = c();
11
- function A(e) {
12
- let t = e + "CollectionProvider", [n, r] = D(t), [c, l] = n(t, {
13
- collectionRef: { current: null },
14
- itemMap: /* @__PURE__ */ new Map()
15
- }), u = (e) => {
16
- let { scope: t, children: n } = e, r = s(null), i = s(/* @__PURE__ */ new Map()).current;
17
- return /* @__PURE__ */ (0, k.jsx)(c, {
18
- scope: t,
19
- itemMap: i,
20
- collectionRef: r,
21
- children: n
22
- });
23
- };
24
- u.displayName = t;
25
- let d = e + "CollectionSlot", f = y(d), p = a((e, t) => {
26
- let { scope: n, children: r } = e, i = C(t, l(d, n).collectionRef);
27
- return /* @__PURE__ */ (0, k.jsx)(f, {
28
- ref: i,
29
- children: r
30
- });
31
- });
32
- p.displayName = d;
33
- let m = e + "CollectionItemSlot", h = "data-radix-collection-item", g = y(m), _ = a((e, t) => {
34
- let { scope: n, children: r, ...i } = e, a = s(null), c = C(t, a), u = l(m, n);
35
- return o(() => (u.itemMap.set(a, {
36
- ref: a,
37
- ...i
38
- }), () => void u.itemMap.delete(a))), /* @__PURE__ */ (0, k.jsx)(g, {
39
- [h]: "",
40
- ref: c,
41
- children: r
42
- });
43
- });
44
- _.displayName = m;
45
- function v(t) {
46
- let n = l(e + "CollectionConsumer", t);
47
- return i(() => {
48
- let e = n.collectionRef.current;
49
- if (!e) return [];
50
- let t = Array.from(e.querySelectorAll(`[${h}]`));
51
- return Array.from(n.itemMap.values()).sort((e, n) => t.indexOf(e.ref.current) - t.indexOf(n.ref.current));
52
- }, [n.collectionRef, n.itemMap]);
53
- }
54
- return [
55
- {
56
- Provider: u,
57
- Slot: p,
58
- ItemSlot: _
59
- },
60
- v,
61
- r
62
- ];
63
- }
64
- //#endregion
65
- //#region ../../node_modules/.pnpm/@radix-ui+react-direction@1.1.2_@types+react@18.3.31_react@18.3.1/node_modules/@radix-ui/react-direction/dist/index.mjs
66
- r();
67
- var j = n(void 0);
68
- function M(e) {
69
- let n = t(j);
70
- return e || n || "ltr";
71
- }
72
- //#endregion
73
- //#region ../../node_modules/.pnpm/@radix-ui+react-roving-focus@1.1.14_@types+react-dom@18.3.7_@types+react@18.3.31__@type_a513f2abd288270d6d7328308a8fd3e4/node_modules/@radix-ui/react-roving-focus/dist/index.mjs
74
- r();
75
- var N = "rovingFocusGroup.onEntryFocus", P = {
76
- bubbles: !1,
77
- cancelable: !0
78
- }, F = "RovingFocusGroup", [I, L, R] = A(F), [z, ne] = D(F, [R]), [re, ie] = z(F), B = a((e, t) => /* @__PURE__ */ (0, k.jsx)(I.Provider, {
79
- scope: e.__scopeRovingFocusGroup,
80
- children: /* @__PURE__ */ (0, k.jsx)(I.Slot, {
81
- scope: e.__scopeRovingFocusGroup,
82
- children: /* @__PURE__ */ (0, k.jsx)(ae, {
83
- ...e,
84
- ref: t
85
- })
86
- })
87
- }));
88
- B.displayName = F;
89
- var ae = a((t, n) => {
90
- let { __scopeRovingFocusGroup: r, orientation: a, loop: c = !1, dir: l, currentTabStopId: u, defaultCurrentTabStopId: f, onCurrentTabStopIdChange: p, onEntryFocus: m, preventScrollOnEntryFocus: h = !1, ...g } = t, _ = s(null), v = C(n, _), y = M(l), [b, x] = ee({
91
- prop: u,
92
- defaultProp: f ?? null,
93
- onChange: p,
94
- caller: F
95
- }), [S, w] = e(!1), T = te(m), D = L(r), O = s(!1), [A, j] = e(0);
96
- return o(() => {
97
- let e = _.current;
98
- if (e) return e.addEventListener(N, T), () => e.removeEventListener(N, T);
99
- }, [T]), /* @__PURE__ */ (0, k.jsx)(re, {
100
- scope: r,
101
- orientation: a,
102
- dir: y,
103
- loop: c,
104
- currentTabStopId: b,
105
- onItemFocus: i((e) => x(e), [x]),
106
- onItemShiftTab: i(() => w(!0), []),
107
- onFocusableItemAdd: i(() => j((e) => e + 1), []),
108
- onFocusableItemRemove: i(() => j((e) => e - 1), []),
109
- children: /* @__PURE__ */ (0, k.jsx)(E.div, {
110
- tabIndex: S || A === 0 ? -1 : 0,
111
- "data-orientation": a,
112
- ...g,
113
- ref: v,
114
- style: {
115
- outline: "none",
116
- ...t.style
117
- },
118
- onMouseDown: d(t.onMouseDown, () => {
119
- O.current = !0;
120
- }),
121
- onFocus: d(t.onFocus, (e) => {
122
- let t = !O.current;
123
- if (e.target === e.currentTarget && t && !S) {
124
- let t = new CustomEvent(N, P);
125
- if (e.currentTarget.dispatchEvent(t), !t.defaultPrevented) {
126
- let e = D().filter((e) => e.focusable);
127
- K([
128
- e.find((e) => e.active),
129
- e.find((e) => e.id === b),
130
- ...e
131
- ].filter(Boolean).map((e) => e.ref.current), h);
132
- }
133
- }
134
- O.current = !1;
135
- }),
136
- onBlur: d(t.onBlur, () => w(!1))
137
- })
138
- });
139
- }), V = "RovingFocusGroupItem", H = a((e, t) => {
140
- let { __scopeRovingFocusGroup: n, focusable: r = !0, active: i = !1, tabStopId: a, children: s, ...c } = e, l = u(), f = a || l, p = ie(V, n), m = p.currentTabStopId === f, h = L(n), { onFocusableItemAdd: g, onFocusableItemRemove: _, currentTabStopId: v } = p;
141
- return o(() => {
142
- if (r) return g(), () => _();
143
- }, [
144
- r,
145
- g,
146
- _
147
- ]), /* @__PURE__ */ (0, k.jsx)(I.ItemSlot, {
148
- scope: n,
149
- id: f,
150
- focusable: r,
151
- active: i,
152
- children: /* @__PURE__ */ (0, k.jsx)(E.span, {
153
- tabIndex: m ? 0 : -1,
154
- "data-orientation": p.orientation,
155
- ...c,
156
- ref: t,
157
- onMouseDown: d(e.onMouseDown, (e) => {
158
- r ? p.onItemFocus(f) : e.preventDefault();
159
- }),
160
- onFocus: d(e.onFocus, () => p.onItemFocus(f)),
161
- onKeyDown: d(e.onKeyDown, (e) => {
162
- if (e.key === "Tab" && e.shiftKey) {
163
- p.onItemShiftTab();
164
- return;
165
- }
166
- if (e.target !== e.currentTarget) return;
167
- let t = G(e, p.orientation, p.dir);
168
- if (t !== void 0) {
169
- if (e.metaKey || e.ctrlKey || e.altKey || e.shiftKey) return;
170
- e.preventDefault();
171
- let n = h().filter((e) => e.focusable).map((e) => e.ref.current);
172
- if (t === "last") n.reverse();
173
- else if (t === "prev" || t === "next") {
174
- t === "prev" && n.reverse();
175
- let r = n.indexOf(e.currentTarget);
176
- n = p.loop ? q(n, r + 1) : n.slice(r + 1);
177
- }
178
- setTimeout(() => K(n));
179
- }
180
- }),
181
- children: typeof s == "function" ? s({
182
- isCurrentTabStop: m,
183
- hasTabStop: v != null
184
- }) : s
185
- })
186
- });
187
- });
188
- H.displayName = V;
189
- var U = {
190
- ArrowLeft: "prev",
191
- ArrowUp: "prev",
192
- ArrowRight: "next",
193
- ArrowDown: "next",
194
- PageUp: "first",
195
- Home: "first",
196
- PageDown: "last",
197
- End: "last"
198
- };
199
- function W(e, t) {
200
- return t === "rtl" ? e === "ArrowLeft" ? "ArrowRight" : e === "ArrowRight" ? "ArrowLeft" : e : e;
201
- }
202
- function G(e, t, n) {
203
- let r = W(e.key, n);
204
- if (!(t === "vertical" && ["ArrowLeft", "ArrowRight"].includes(r)) && !(t === "horizontal" && ["ArrowUp", "ArrowDown"].includes(r))) return U[r];
205
- }
206
- function K(e, t = !1) {
207
- let n = document.activeElement;
208
- for (let r of e) if (r === n || (r.focus({ preventScroll: t }), document.activeElement !== n)) return;
209
- }
210
- function q(e, t) {
211
- return e.map((n, r) => e[(t + r) % e.length]);
212
- }
213
- var oe = B, se = H;
214
- //#endregion
215
- //#region src/views/preferences/components/settings.tsx
216
- r();
217
- var ce = ({ account: t, className: n = "" }) => {
218
- let [r, i] = e(!1), a = S();
219
- return /* @__PURE__ */ (0, k.jsxs)("div", {
220
- className: `flex flex-col ${n}`,
221
- children: [
222
- /* @__PURE__ */ (0, k.jsx)($, {}),
223
- /* @__PURE__ */ (0, k.jsxs)(Q, { children: [/* @__PURE__ */ (0, k.jsxs)(X, { children: [/* @__PURE__ */ (0, k.jsx)(J, { children: "Profile" }), /* @__PURE__ */ (0, k.jsx)(Y, { children: "Edit your profile information and account details" })] }), /* @__PURE__ */ (0, k.jsxs)(f, {
224
- open: r,
225
- onOpenChange: i,
226
- children: [/* @__PURE__ */ (0, k.jsx)(_, { children: /* @__PURE__ */ (0, k.jsx)(Z, { children: /* @__PURE__ */ (0, k.jsx)(x, {
227
- variant: "secondary",
228
- children: "Edit"
229
- }) }) }), /* @__PURE__ */ (0, k.jsxs)(p, {
230
- onOpenAutoFocus: (e) => e.preventDefault(),
231
- children: [/* @__PURE__ */ (0, k.jsx)(h, { children: /* @__PURE__ */ (0, k.jsx)(v, { children: "Profile settings" }) }), t && /* @__PURE__ */ (0, k.jsx)(O, {
232
- account: t,
233
- setIsEditingProfile: i
234
- })]
235
- })]
236
- })] }),
237
- /* @__PURE__ */ (0, k.jsxs)(Q, {
238
- to: "/preferences/handle",
239
- withHover: !0,
240
- children: [/* @__PURE__ */ (0, k.jsxs)(X, { children: [/* @__PURE__ */ (0, k.jsx)(J, { children: "Social web handle" }), /* @__PURE__ */ (0, k.jsx)(Y, { children: "Set your account username and domain" })] }), /* @__PURE__ */ (0, k.jsx)(Z, {
241
- className: "flex items-center gap-2",
242
- children: /* @__PURE__ */ (0, k.jsx)(m, { size: 20 })
243
- })]
244
- }),
245
- /* @__PURE__ */ (0, k.jsxs)(Q, {
246
- to: "/preferences/moderation",
247
- withHover: !0,
248
- children: [/* @__PURE__ */ (0, k.jsxs)(X, { children: [/* @__PURE__ */ (0, k.jsx)(J, { children: "Moderation" }), /* @__PURE__ */ (0, k.jsx)(Y, { children: "Manage blocked users and domains" })] }), /* @__PURE__ */ (0, k.jsx)(Z, {
249
- className: "flex items-center gap-2",
250
- children: /* @__PURE__ */ (0, k.jsx)(m, { size: 20 })
251
- })]
252
- }),
253
- /* @__PURE__ */ (0, k.jsxs)(Q, {
254
- withHover: !0,
255
- onClick: () => a("/preferences/bluesky-sharing"),
256
- children: [/* @__PURE__ */ (0, k.jsxs)(X, { children: [/* @__PURE__ */ (0, k.jsx)(J, { children: "Bluesky sharing" }), /* @__PURE__ */ (0, k.jsx)(Y, { children: "Share content directly on Bluesky" })] }), /* @__PURE__ */ (0, k.jsxs)(Z, {
257
- className: "flex items-center gap-2",
258
- children: [t?.blueskyEnabled ? /* @__PURE__ */ (0, k.jsx)("span", {
259
- className: "font-medium text-black",
260
- children: "On"
261
- }) : /* @__PURE__ */ (0, k.jsx)("span", { children: "Off" }), /* @__PURE__ */ (0, k.jsx)(m, { size: 20 })]
262
- })]
263
- }),
264
- /* @__PURE__ */ (0, k.jsxs)(Q, {
265
- to: "/preferences/move",
266
- withHover: !0,
267
- children: [/* @__PURE__ */ (0, k.jsxs)(X, { children: [/* @__PURE__ */ (0, k.jsx)(J, { children: "Account migration" }), /* @__PURE__ */ (0, k.jsx)(Y, { children: "Move another social web account to this one" })] }), /* @__PURE__ */ (0, k.jsx)(Z, {
268
- className: "flex items-center gap-2",
269
- children: /* @__PURE__ */ (0, k.jsx)(m, { size: 20 })
270
- })]
271
- }),
272
- /* @__PURE__ */ (0, k.jsx)($, {}),
273
- /* @__PURE__ */ (0, k.jsxs)(Q, {
274
- href: "https://ghost.org/help/social-web/",
275
- withHover: !0,
276
- children: [/* @__PURE__ */ (0, k.jsxs)(X, { children: [/* @__PURE__ */ (0, k.jsx)(J, { children: "Help" }), /* @__PURE__ */ (0, k.jsx)(Y, { children: "Social web guides and support resources" })] }), /* @__PURE__ */ (0, k.jsx)(Z, { children: /* @__PURE__ */ (0, k.jsx)(g, { size: 18 }) })]
277
- })
278
- ]
279
- });
280
- }, J = T, Y = ({ children: e, className: t = "" }) => /* @__PURE__ */ (0, k.jsx)("span", {
281
- className: `text-sm text-gray-700 ${t}`,
282
- children: e
283
- }), X = ({ children: e, className: t = "" }) => /* @__PURE__ */ (0, k.jsx)("div", {
284
- className: `relative flex flex-col gap-0.5 ${t}`,
285
- children: e
286
- }), Z = ({ children: e, className: t = "" }) => /* @__PURE__ */ (0, k.jsx)("div", {
287
- className: `relative text-gray-500 ${t}`,
288
- children: e
289
- }), Q = ({ children: e, className: t = "", withHover: n = !1, to: r, href: i, onClick: a }) => {
290
- let o = b(), s = w("flex items-center justify-between py-3 gap-4", n ? "relative cursor-pointer before:absolute before:inset-x-[-16px] before:inset-y-[-1px] before:rounded-md before:bg-gray-50 before:opacity-0 before:transition-opacity before:will-change-[opacity] hover:z-10 hover:cursor-pointer hover:border-b-transparent hover:before:opacity-100 dark:before:bg-gray-950" : "", t), c = r && r.startsWith("/") ? `${o}${r}` : r;
291
- return c ? /* @__PURE__ */ (0, k.jsx)(l, {
292
- className: s,
293
- to: c,
294
- children: e
295
- }) : i ? /* @__PURE__ */ (0, k.jsx)("a", {
296
- className: s,
297
- href: i,
298
- rel: "noreferrer",
299
- target: "_blank",
300
- children: e
301
- }) : a ? /* @__PURE__ */ (0, k.jsx)("div", {
302
- className: s,
303
- role: "button",
304
- tabIndex: 0,
305
- onClick: a,
306
- children: e
307
- }) : /* @__PURE__ */ (0, k.jsx)("div", {
308
- className: s,
309
- children: e
310
- });
311
- }, $ = () => /* @__PURE__ */ (0, k.jsx)("hr", { className: "my-3 h-px border-0 bg-gray-200 dark:bg-gray-950" });
312
- //#endregion
313
- export { J as a, oe as c, A as d, Q as i, ne as l, Y as n, ce as o, X as r, se as s, Z as t, M as u };
314
-
315
- //# sourceMappingURL=settings-DQDkr06X.js.map
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{g as r,p as i}from"./hooks-CuEZV2-q.js";import{t as a}from"./input--W-rCTrX.js";import{o,t as s}from"./use-settings-navigation-BbrSUVcf.js";import{a as c,i as l,o as u,t as d}from"./field-Cj8lmDOo.js";import{t as f}from"./use-limiter-cwJvsNBo.js";import{n as p}from"./confirmation-context-BhbmQQEl.js";import{t as m}from"./use-upgrade-route-DhRSo7at.js";import{r as h}from"./integrations-Bjbu86Z0.js";var g=e(t(),1),_=n();function v(){let{updateRoute:e}=s(),t=m(),[n,v]=(0,g.useState)(``),[y,b]=(0,g.useState)({name:``}),{mutateAsync:x}=h(),S=f(),C=i(),{showLimit:w}=p();return(0,g.useEffect)(()=>{S?.isLimited(`customIntegrations`)&&S.errorIfWouldGoOverLimit(`customIntegrations`).catch(n=>{n instanceof r&&(w({prompt:n.message||`Your current plan doesn't support more custom integrations.`,onOk:()=>e({route:t,isExternal:!0})}),e(`integrations`))})},[S,w,e,t]),(0,_.jsx)(o,{okLabel:`Add`,okVariant:`default`,size:`sm`,testId:`add-integration-modal`,title:`Add integration`,onClose:()=>{e(`integrations`)},onOk:async()=>{if(!n){b({name:`Name is required`});return}try{let t=await x({name:n});e({route:`integrations/${t.integrations[0].id}`})}catch(e){C(e)}},children:(0,_.jsx)(`div`,{className:`mt-5`,children:(0,_.jsx)(c,{className:`gap-8`,children:(0,_.jsxs)(d,{"data-invalid":!!y.name||void 0,children:[(0,_.jsx)(u,{htmlFor:`integration-name`,children:`Name`}),(0,_.jsx)(a,{"aria-invalid":!!y.name||void 0,id:`integration-name`,maxLength:191,placeholder:`Custom integration`,value:n,autoFocus:!0,onChange:e=>v(e.target.value),onInput:()=>y.name&&b({name:``})}),y.name&&(0,_.jsx)(l,{children:y.name})]})})})})}export{v as default};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{g as r,p as i}from"./hooks-CuEZV2-q.js";import{t as a}from"./use-form-vRjI0Kwk.js";import{m as o}from"./dist-B3keLvjj.js";import{t as s}from"./switch-CI4gLWqb.js";import{t as c}from"./input--W-rCTrX.js";import{o as l,t as u}from"./use-settings-navigation-BbrSUVcf.js";import{a as d,i as f,n as p,o as m,r as h,t as g}from"./field-Cj8lmDOo.js";import{t as _}from"./textarea-DJ1Q5V39.js";import{t as v}from"./use-limiter-cwJvsNBo.js";import{n as y}from"./newsletters-DhNigJUh.js";import{i as b,t as x}from"./index-DjQe-e5s.js";import{n as S}from"./confirmation-context-BhbmQQEl.js";import{t as C}from"./use-upgrade-route-DhRSo7at.js";var w=e(t(),1),T=n(),E=()=>{let{updateRoute:e}=u(),t=C(),n=x(`automations`)?`emails`:`newsletters`,E=i(),{showLimit:D}=S(),[O,k]=(0,w.useState)(!0),[A,j]=(0,w.useState)(null),{data:M}=b({searchParams:{filter:`newsletters.status:active+email_disabled:0`,limit:`1`,page:`1`,include:`newsletters,labels`}}),{mutateAsync:N}=y(),{formState:P,updateForm:F,saveState:I,handleSave:L,errors:R,clearError:z}=a({initialState:{name:``,description:``,optInExistingSubscribers:!0},onSave:async()=>{let t=await N({name:P.name,description:P.description,opt_in_existing:P.optInExistingSubscribers,feedback_enabled:!0});e({route:`newsletters/${t.newsletters[0].id}`})},onSaveError:E,onValidate:()=>{let e={};return P.name||(e.name=`A name is required for your newsletter`),e}}),B=v();(0,w.useEffect)(()=>{if(!B){k(!1);return}B.errorIfWouldGoOverLimit(`newsletters`).catch(e=>{if(e instanceof r)j(e);else throw e}).finally(()=>{k(!1)})},[B]);let V=M?.meta?.pagination.total;return(0,w.useEffect)(()=>{A&&(D({prompt:A.message||`Your current plan doesn't support more newsletters.`,onOk:()=>e({route:t,isExternal:!0})}),e(n))},[A,n,e,D,t]),O||A?null:(0,T.jsx)(l,{backDropClick:!1,okDisabled:I===`saving`,okLabel:`Create`,okLoading:I===`saving`,okVariant:`default`,size:`sm`,testId:`add-newsletter-modal`,title:`Create newsletter`,onClose:()=>{e(n)},onOk:async()=>{await L()},children:(0,T.jsxs)(d,{className:`mt-10 gap-8`,children:[(0,T.jsxs)(g,{"data-invalid":!!R.name||void 0,children:[(0,T.jsx)(m,{htmlFor:`newsletter-name`,children:`Name`}),(0,T.jsx)(c,{"aria-invalid":!!R.name||void 0,id:`newsletter-name`,maxLength:191,placeholder:`Weekly roundup`,value:P.name,autoFocus:!0,onChange:e=>F(t=>({...t,name:e.target.value})),onKeyDown:()=>z(`name`)}),R.name&&(0,T.jsx)(f,{children:R.name})]}),(0,T.jsxs)(g,{children:[(0,T.jsx)(m,{htmlFor:`newsletter-description`,children:`Description`}),(0,T.jsx)(_,{id:`newsletter-description`,maxLength:2e3,value:P.description,onChange:e=>F(t=>({...t,description:e.target.value}))})]}),(0,T.jsxs)(g,{orientation:`horizontal`,children:[(0,T.jsxs)(p,{children:[(0,T.jsx)(m,{htmlFor:`opt-in-existing-subscribers`,children:`Opt-in existing subscribers`}),(0,T.jsx)(h,{children:P.optInExistingSubscribers?`This newsletter will be available to all members. Your ${V===void 0?``:o(V)} existing subscriber${M?.meta?.pagination.total===1?``:`s`} will also be opted-in to receive it.`:`The newsletter will be available to all new members. Existing members won’t be subscribed, but may visit their account area to opt-in to future emails.`})]}),(0,T.jsx)(s,{checked:P.optInExistingSubscribers,id:`opt-in-existing-subscribers`,onCheckedChange:e=>F(t=>({...t,optInExistingSubscribers:e}))})]})]})})};export{E as default};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{h as r,p as i}from"./hooks-CuEZV2-q.js";import{n as a}from"./dist-Ndy-PuGN.js";import{t as o}from"./use-form-vRjI0Kwk.js";import{_ as s}from"./chunk-KS7C4IRE-DCsL4i4D.js";import{Cr as c,t as l}from"./button-B2jcu6bk.js";import{t as u}from"./input--W-rCTrX.js";import{n as d}from"./loading-indicator-BpFWTVgh.js";import{o as f,t as p}from"./use-settings-navigation-BbrSUVcf.js";import{a as m,i as h,o as g,r as _,t as v}from"./field-Cj8lmDOo.js";import{i as y,n as b,r as x,s as S,t as C}from"./analytics-No1DDY3A.js";import{t as w}from"./format-url-Ju4k5CIm.js";var T=e(t(),1),E=n(),D=({recommendation:e,onBack:t,onClose:n,onSaved:r})=>{let{mutateAsync:s}=y(),u=i(),{formState:d,updateForm:p,handleSave:m,saveState:h,errors:g,clearError:_,setErrors:v}=o({initialState:{...e},onSave:async e=>{await s(e),a.success(`Recommendation added`),C(`Recommendation Added`,{oneClickSubscribe:e.one_click_subscribe}),r()},onSaveError:u,onValidate:e=>x(e)}),S=`Add`,w=!1;return h===`saving`?w=!0:h===`saved`&&(S=`Added`),(0,E.jsx)(f,{animate:!1,backDropClick:!1,cancelLabel:`Cancel`,dirty:!0,leftButton:(0,E.jsxs)(l,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>{h!==`saving`&&t({...d})},children:[(0,E.jsx)(c,{}),`Back`]}),okLabel:S,okLoading:w,okVariant:`default`,size:`sm`,testId:`add-recommendation-modal`,title:`Add recommendation`,stickyFooter:!0,onCancel:()=>{h!==`saving`&&n()},onClose:n,onOk:async()=>{if(h!==`saving`){a.dismiss();try{await m({force:!0})}catch{a.error(`Something went wrong when adding this recommendation, please try again.`)}}},children:(0,E.jsx)(b,{clearError:_,errors:g,formState:d,setErrors:v,showURL:!1,updateForm:p})})},O=e=>w(e).save||``,k=function(e,t){try{new URL(t).hostname.includes(`.`)?delete e.url:e.url=`Enter a valid URL`}catch{e.url=`Enter a valid URL`}return e},A=()=>{let[e,t]=(0,T.useState)(!1),[n]=s(),{updateRoute:i}=p(),{mutateAsync:c}=S(),[l,y]=(0,T.useState)(`form`),[b,x]=(0,T.useState)(!0),C=n.get(`url`)??``,{save:A}=C?w(C):{save:``},j=T.useRef(!1),[M,N]=T.useState(!!A),{formState:P,updateForm:F,handleSave:I,errors:L,saveState:R,clearError:z}=o({initialState:{title:``,url:A||``,description:``,excerpt:null,featured_image:null,favicon:null,one_click_subscribe:!1},onSave:async()=>{let e=new URL(P.url),t=e.hostname.replace(`www.`,``),n={...P,url:e.toString()},{recommendations:i=[]}=await c(e);if(!i||i.length===0)return;let a=i[0];if(a.id)throw new r(`A recommendation with this URL already exists.`);n.title=a.title??t,n.excerpt=a.excerpt??n.excerpt,n.featured_image=a.featured_image??n.featured_image??null,n.favicon=a.favicon??n.favicon??null,n.one_click_subscribe=a.one_click_subscribe??n.one_click_subscribe??!1,n.description=n.excerpt||null,F(()=>n),N(!1),x(!1),y(`confirm`)},onValidate:()=>{let e={};return k(e,P.url),M&&N(Object.keys(e).length===0),e}}),B=T.useCallback(async()=>{if(R!==`saving`){a.dismiss();try{if(await I({force:!0}))return}catch(e){let t=e instanceof r?e.message:`Something went wrong while checking this URL, please try again.`;a.error(t)}M&&N(!1)}},[I,R,M,N]);return T.useEffect(()=>{M&&!j.current&&(j.current=!0,B())},[M,B]),(0,T.useEffect)(()=>{e&&(B(),t(!1))},[P]),l===`confirm`?(0,E.jsx)(D,{recommendation:P,onBack:e=>{F(()=>e),y(`form`)},onClose:()=>{i(`recommendations`)},onSaved:()=>{i(`recommendations`)}}):M?(0,E.jsx)(f,{animate:b,backDropClick:!1,footer:!1,header:!1,size:`sm`,onClose:()=>{i(`recommendations`)},children:(0,E.jsx)(`div`,{className:`flex flex-col items-center justify-center p-8`,children:(0,E.jsx)(`div`,{className:`flex h-64 items-center justify-center`,children:(0,E.jsx)(d,{size:`lg`})})})}):(0,E.jsxs)(f,{animate:b,backDropClick:!1,okLabel:`Next`,okLoading:R===`saving`,okVariant:`default`,size:`sm`,testId:`add-recommendation-modal`,title:`Add recommendation`,onClose:()=>{i(`recommendations`)},onOk:B,children:[(0,E.jsxs)(`p`,{className:`mt-4`,children:[`You can recommend `,(0,E.jsx)(`strong`,{children:`any site`}),` your audience will find valuable, not just those published on Ghost.`]}),(0,E.jsx)(m,{className:`mt-10 gap-8`,children:(0,E.jsxs)(v,{"data-invalid":!!L.url||void 0,children:[(0,E.jsx)(g,{htmlFor:`recommendation-url`,children:`URL`}),(0,E.jsx)(u,{"aria-invalid":!!L.url||void 0,id:`recommendation-url`,maxLength:2e3,placeholder:`https://www.example.com`,value:P.url,autoFocus:!0,onBlur:()=>{let e=O(P.url);F(t=>({...t,url:e}))},onChange:e=>{z?.(`url`),F(t=>({...t,url:e.target.value}))},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),F(e=>({...e,url:O(P.url)})),t(!0))}}),L.url?(0,E.jsx)(h,{children:L.url}):(0,E.jsxs)(_,{children:[`Need inspiration?`,` `,(0,E.jsx)(`a`,{className:`text-green`,href:`https://www.ghost.org/explore`,rel:`noopener noreferrer`,target:`_blank`,children:`Explore thousands of sites`}),` `,`to recommend`]})]})})]})};export{A as default};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{a as r,l as i}from"./dist-B3keLvjj.js";import{t as a,x as o}from"./shade-app-CcS3f8MZ-vwURazk8.js";import{a as s}from"./dist-8YJUlf3B.js";import{n as c}from"./button-B2jcu6bk.js";import{a as l,c as u,i as ee,l as d,n as f,o as p,r as te,s as m,t as ne}from"./dist-Cy8tfrp_.js";var h=e(t(),1),g=n(),_=`AlertDialog`,[v,re]=s(_,[d]),y=d(),b=e=>{let{__scopeAlertDialog:t,...n}=e,r=y(t);return(0,g.jsx)(ne,{...r,...n,modal:!0})};b.displayName=_;var ie=`AlertDialogTrigger`,x=h.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=y(n);return(0,g.jsx)(u,{...i,...r,ref:t})});x.displayName=ie;var S=`AlertDialogPortal`,C=e=>{let{__scopeAlertDialog:t,...n}=e,r=y(t);return(0,g.jsx)(p,{...r,...n})};C.displayName=S;var w=`AlertDialogOverlay`,T=h.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=y(n);return(0,g.jsx)(l,{...i,...r,ref:t})});T.displayName=w;var E=`AlertDialogContent`,[D,O]=v(E),k=h.forwardRef((e,t)=>{let{__scopeAlertDialog:n,children:i,...a}=e,s=y(n),c=r(t,h.useRef(null)),l=h.useRef(null);return(0,g.jsx)(D,{scope:n,cancelRef:l,children:(0,g.jsx)(te,{role:`alertdialog`,...s,...a,ref:c,onOpenAutoFocus:o(a.onOpenAutoFocus,e=>{e.preventDefault(),l.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:i})})});k.displayName=E;var ae=`AlertDialogTitle`,A=h.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=y(n);return(0,g.jsx)(m,{...i,...r,ref:t})});A.displayName=ae;var oe=`AlertDialogDescription`,j=h.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=y(n);return(0,g.jsx)(ee,{...i,...r,ref:t})});j.displayName=oe;var se=`AlertDialogAction`,M=h.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=y(n);return(0,g.jsx)(f,{...i,...r,ref:t})});M.displayName=se;var N=`AlertDialogCancel`,P=h.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...i}=e,{cancelRef:a}=O(N,n),o=y(n),s=r(t,a);return(0,g.jsx)(f,{...o,...i,ref:s})});P.displayName=N;var F=b,I=x,L=C,R=T,z=k,B=M,V=P,H=A,U=j,W=F,G=I,ce=L,K=h.forwardRef(({className:e,...t},n)=>(0,g.jsx)(R,{className:i(`fixed inset-0 z-50 transform-gpu bg-black/30 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0 dark:bg-black/60`,e),...t,ref:n}));K.displayName=R.displayName;var q=h.forwardRef(({className:e,overlayClassName:t,...n},r)=>(0,g.jsx)(ce,{children:(0,g.jsxs)(`div`,{className:a,children:[(0,g.jsx)(K,{className:t,onClick:e=>e.stopPropagation()}),(0,g.jsx)(z,{ref:r,className:i(`fixed top-[20%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-20%] gap-6 bg-surface-elevated-2 p-6 shadow-lg duration-200 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:slide-out-to-top-[18%] data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:slide-in-from-top-[18%] sm:rounded-lg`,e),...n})]})}));q.displayName=z.displayName;var J=({className:e,...t})=>(0,g.jsx)(`div`,{className:i(`flex flex-col gap-y-2 text-center sm:text-left`,e),...t});J.displayName=`AlertDialogHeader`;var Y=({className:e,...t})=>(0,g.jsx)(`div`,{className:i(`flex flex-col-reverse sm:flex-row sm:justify-end sm:gap-2`,e),...t});Y.displayName=`AlertDialogFooter`;var X=h.forwardRef(({className:e,...t},n)=>(0,g.jsx)(H,{ref:n,className:i(`text-xl font-semibold`,e),...t}));X.displayName=H.displayName;var Z=h.forwardRef(({className:e,...t},n)=>(0,g.jsx)(U,{ref:n,className:i(`text-base`,e),...t}));Z.displayName=U.displayName;var Q=h.forwardRef(({className:e,...t},n)=>(0,g.jsx)(B,{ref:n,className:i(c(),e),...t}));Q.displayName=B.displayName;var $=h.forwardRef(({className:e,...t},n)=>(0,g.jsx)(V,{ref:n,className:i(c({variant:`outline`}),`mt-2 sm:mt-0`,e),...t}));$.displayName=V.displayName;export{Z as a,X as c,q as i,G as l,Q as n,Y as o,$ as r,J as s,W as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{n as r,t as i}from"./hooks-CuEZV2-q.js";import{t as a}from"./analytics-53FOa2wq.js";import{m as o}from"./dist-B3keLvjj.js";import{t as s}from"./text-BQDSDsKs.js";import{t as c}from"./input--W-rCTrX.js";import{a as l,i as u,o as d,r as f,t as p}from"./field-Cj8lmDOo.js";import{t as m}from"./textarea-DJ1Q5V39.js";var h=e(t(),1),g=n(),_=({title:e,favicon:t,featured_image:n,isGhostSite:r})=>{let[i,a]=(0,h.useState)(t||n||null);return i?(0,g.jsxs)(`div`,{className:`relative size-6 shrink-0 rounded-sm`,title:r?`This is a Ghost site that supports one-click subscribe`:``,children:[(0,g.jsx)(`img`,{alt:e,className:`size-6 rounded-sm`,src:i,onError:()=>{a(null)}}),r&&(0,g.jsx)(`img`,{alt:`Ghost Logo`,className:`absolute right-[-3px] bottom-[-3px] size-[14px]`,src:`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAA81BMVEUAAAAQEBAVFRUVFRgVFxkVFhoVFxkWFxkVFhoVFxoVFxoWFxoVFxkUFBgVFRsQGBgVFxsVFxkVFxoyNDZPUVNtbnBeX2FBQkVBQ0WKi43Excb////FxcaKi4xQUVMUGBgVFhkyNDenqKnx8fHw8fGYmZt7fX7i4uIUFxkjJSgUFhrS09Th4uOZmZokJiji4uPw8PHh4uLT09QTFRsTFxtsbnAUFhp7fH4UFxkUFhoWFxoVFxpAQkXT09O2triZmpq1tri2t7iZmpsXFxd7fX8QECB8fX4VGBgVFRsYGBgUGBoVFhoVGBgTFhkTFhoVFxkUFxrWJPvbAAAAUXRSTlMAEDBgkJ+/3+//z69vQF8gj4/f////////////////QKD/////////cP+A//////////9gkP+v/7/P3+//////////T/8Q/18wIIDPYFCf36+gOKr5AAACJ0lEQVR4AY3U1WLrMAwGYJX7l5mSMo6ZmRne/2nOnFqOm+N5/a5CiiQT6ULhSDQWTySS8CQTqXg6msmSWSgTT8IsnstTUDYOq9hiSKiAPxXJl09hCSWVJFRCQLlSrVXqCEiFaG6xnkaz5Uhuu2yqKg9Nh7/mmAo0XRJ6UPr8uWagZYkHEtSGjjByx9VKuTKR0dMaFNHFDKwpi1hRCQeOpwm2SkTxhe/XKtD11/0IrknVI95sIGBznqTm15Tlf23x9wFexDZ3HvZa4Oc7MNjc9TrD3B7tw1MRTw8gGfqQvUXpEJ6WIQGraClicpD64lkbvzgSb+ddHNMJhAlnNWup35XoVD1xVgBLUa4MSELwlgBgS7EN4YwgnMu2LCm4CeJ7c89sc8QtagEVWFwYAlZg0eIA7oGbWjKgbxskLmlFC8DoJwIWfTWscuIu1bCZXTnONc+0WhoTS4ItXsopOuFxtk3cjbb4DlVO80Twbh/w8t6XSS0pbh2/w1W1Rds/D2+N9e/q6+aOupB2+ThZdD909M0Ypgd/6xoiOruOsMNDfqYfZI2RmO+y4WQeNSAdE9Fq4HhwqysQVh75ZN5pgD0R0fP/h/euO7jecpirJX0hrkk68JLoRhP4YiTwOJlCdtsrYJyAeO5YY9LyxmbrZhKY+1eae3jDUlLEXpaKSL2Q7xV/ioZI99KD1XGXgl7ej5MwO34Nk9nzx+rn8ckXB359nXxHM90Qaf4BNjt9poiwMVcAAAAASUVORK5CYII=`})]}):(0,g.jsx)(`div`,{className:`relative size-6 shrink-0 rounded-sm`})},v=`RecommendationResponseType`,y=i({dataType:v,path:`/recommendations/`,returnData:e=>{let{pages:t}=e,n=t.flatMap(e=>e.recommendations);return n=n.filter((e,t)=>n.findIndex(({id:t})=>t===e.id)===t),{recommendations:n,meta:t[t.length-1].meta}}}),b=r({method:`DELETE`,path:e=>`/recommendations/${e.id}/`,invalidateQueries:{dataType:v}}),x=r({method:`PUT`,path:e=>`/recommendations/${e.id}/`,body:e=>({recommendations:[e]}),invalidateQueries:{dataType:v}}),S=r({method:`POST`,path:()=>`/recommendations/`,body:({...e})=>({recommendations:[e]}),invalidateQueries:{dataType:v}}),C=r({method:`POST`,path:()=>`/recommendations/check/`,body:e=>({recommendations:[{url:e.toString()}]})}),w=i({dataType:v,path:`/incoming_recommendations/`,returnData:e=>{let{pages:t}=e,n=t.flatMap(e=>e.recommendations);return n=n.filter((e,t)=>n.findIndex(({id:t})=>t===e.id)===t),{recommendations:n,meta:t[t.length-1].meta}}}),T=function(e,t,n){let r={...e};switch(t){case`title`:n?delete r.title:r.title=`Title is required`;break;case`description`:n&&n.length>200?r.description=`Description cannot be longer than 200 characters`:delete r.description;break;default:throw Error(`Unknown field ${String(t)}`)}return r},E=function(e){let t={};return t=T(t,`title`,e.title),t=T(t,`description`,e.description),t};function D({showURL:e,formState:t,updateForm:n,errors:r,clearError:i,setErrors:a}){let[v,y]=h.useState(t?.description?.length||0),b=v>200?`text-destructive`:`text-foreground`,x=h.useRef(!1);return h.useEffect(()=>{x.current||(x.current=!0,a(E(t)))},[t,a]),(0,g.jsxs)(l,{className:`mt-10 gap-8`,children:[(0,g.jsxs)(`div`,{children:[(0,g.jsx)(s,{as:`h6`,className:`mb-2 block tracking-wider uppercase`,leading:`normal`,size:`xs`,tone:`secondary`,weight:`semibold`,children:`Preview`}),(0,g.jsx)(`div`,{className:`-mx-8 flex items-center justify-center overflow-hidden border-y border-grey-100 bg-grey-50 px-7 py-4 dark:border-grey-950 dark:bg-black`,children:(0,g.jsx)(`div`,{className:`w-full rounded bg-white py-3 shadow`,children:(0,g.jsx)(`div`,{className:``,children:(0,g.jsxs)(`a`,{className:`flex items-center justify-between bg-white px-5 py-3`,href:t.url,rel:`noopener noreferrer`,target:`_blank`,children:[(0,g.jsxs)(`div`,{className:`flex flex-col gap-[2px]`,children:[(0,g.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,g.jsx)(_,{...t}),(0,g.jsx)(`span`,{className:`text-[1.6rem] font-semibold text-grey-900`,children:t.title})]}),t.description&&(0,g.jsx)(`span`,{className:`pl-[31px] text-[1.35rem] leading-snug text-grey-700`,children:t.description})]}),t.one_click_subscribe&&(0,g.jsx)(`span`,{className:`flex pl-6 text-md font-semibold whitespace-nowrap text-green`,children:`Subscribe`})]})})})}),t.one_click_subscribe&&(0,g.jsx)(f,{className:`mt-1`,children:`This is a Ghost site, so your readers can subscribe with just one click`})]}),e&&(0,g.jsxs)(p,{"data-disabled":`true`,children:[(0,g.jsx)(d,{htmlFor:`recommendation-url`,children:`URL`}),(0,g.jsx)(c,{id:`recommendation-url`,value:t.url,disabled:!0})]}),(0,g.jsxs)(p,{"data-invalid":!!r.title||void 0,children:[(0,g.jsx)(d,{htmlFor:`recommendation-title`,children:`Title`}),(0,g.jsx)(c,{"aria-invalid":!!r.title||void 0,id:`recommendation-title`,maxLength:2e3,value:t.title??``,autoFocus:!0,onChange:e=>{i?.(`title`),n(t=>({...t,title:e.target.value}))}}),r.title&&(0,g.jsx)(u,{children:r.title})]}),(0,g.jsxs)(p,{"data-invalid":!!r.description||void 0,children:[(0,g.jsx)(d,{htmlFor:`recommendation-description`,children:`Short description`}),(0,g.jsx)(m,{"aria-invalid":!!r.description||void 0,id:`recommendation-description`,rows:4,value:t.description??``,onChange:e=>{i?.(`description`),y(e.target.value.length),n(t=>({...t,description:e.target.value}))}}),(0,g.jsxs)(f,{children:[`Max: `,(0,g.jsx)(`strong`,{children:o(200)}),` characters. You’ve used`,` `,(0,g.jsx)(`strong`,{className:b,children:o(v)})]})]})]})}var O=a;export{w as a,b as c,S as i,x as l,D as n,y as o,E as r,C as s,O as t,_ as u};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime-DAXXjFlN.js";import{t as e}from"./react-Bb3IsNbi.js";import{t}from"./jsx-runtime-DX3WBWVO.js";import{o as n}from"./hooks-CuEZV2-q.js";import{s as r}from"./config-DOMQDZGZ.js";import{n as i}from"./chunk-KS7C4IRE-DCsL4i4D.js";import{C as a,S as o,l as s,m as c}from"./dist-B3keLvjj.js";import{t as l}from"./box-CdfQAP_F.js";import{t as u}from"./container-BuQG1wuP.js";import{Lt as d,i as f}from"./button-B2jcu6bk.js";import{t as p}from"./skeleton-Ce9GgUpf.js";import{a as m,c as h,n as g,r as _,s as v,t as y}from"./table-B2pIKjVh.js";import{l as b}from"./users-5msE1WMs.js";import{Cr as x,Vn as S,kr as C,wr as w}from"./index-DjQe-e5s.js";import{t as T}from"./page-header-BR_nbIPp.js";import{f as E,s as D}from"./automations-sAcJ1334.js";import{t as O}from"./list-page-BucXJ0hi.js";e();var k=t(),A=`https://forum.ghost.org`,j=`https://ghost.org/help/automations-beta`,M=`block w-full rounded-xl border border-border bg-card p-6 text-left transition-all hover:shadow-xs hover:bg-table-row-hover group/card`,N=({title:e,description:t,children:n})=>(0,k.jsxs)(`div`,{className:`flex items-center gap-6`,children:[n,(0,k.jsxs)(`div`,{className:`flex flex-col gap-0.5 leading-tight`,children:[(0,k.jsx)(`span`,{className:`text-base font-semibold`,children:e}),(0,k.jsx)(`span`,{className:`text-sm font-normal text-gray-700`,children:t})]})]}),P=({url:e,className:t,title:n,description:r,children:i})=>(0,k.jsx)(`a`,{className:s(M,t),href:e,rel:`noreferrer`,target:`_blank`,children:(0,k.jsx)(N,{description:r,title:n,children:i})}),F=({className:e,title:t,description:n,children:r,onClick:i,onMouseEnter:a,onFocus:o})=>(0,k.jsx)(`button`,{className:s(M,`cursor-pointer appearance-none`,e),type:`button`,onClick:i,onFocus:o,onMouseEnter:a,children:(0,k.jsx)(N,{description:n,title:t,children:r})}),I=()=>(0,k.jsx)(`div`,{className:`flex h-18 w-[100px] min-w-[100px] items-center justify-center rounded-md bg-gradient-to-tr from-[#8B5CF6]/20 to-[#EC4899]/20 p-4 opacity-80 transition-all group-hover/card:opacity-100`,children:(0,k.jsx)(f,{className:`text-[#8B5CF6]`,size:20,strokeWidth:1.5})}),L=()=>(0,k.jsx)(`div`,{className:`flex h-18 w-[100px] min-w-[100px] items-center justify-center rounded-md bg-gradient-to-tl from-[#10B981]/20 to-[#0EA5E9]/20 p-4 opacity-80 transition-all group-hover/card:opacity-100`,children:(0,k.jsx)(d,{className:`text-[#0EA5E9]`,size:20,strokeWidth:1.5})}),R=`Share your feedback`,z=`Tell us what’s working and what’s missing — your input shapes what we build next.`,B=()=>{let{data:e}=n(),{isAvailable:t,openFeedbackWidget:r,preloadFeedbackWidget:i}=x(),a=t&&e&&!b(e);return(0,k.jsxs)(`div`,{className:`mt-auto grid grid-cols-1 gap-6 pt-10 lg:grid-cols-2`,children:[(0,k.jsx)(P,{description:`Learn how to set up automations, customize your emails, and get the most out of the beta.`,title:`Automations in Ghost`,url:j,children:(0,k.jsx)(I,{})}),a?(0,k.jsx)(F,{description:z,title:R,onClick:()=>r(),onFocus:i,onMouseEnter:i,children:(0,k.jsx)(L,{})}):(0,k.jsx)(P,{description:z,title:R,url:A,children:(0,k.jsx)(L,{})})]})};a();var V={"member-welcome-email-free":`Welcome new free members after they sign up.`,"member-welcome-email-paid":`Welcome new paid members after they start their subscription.`},H=[{key:`lastEntry`,label:`Last entry`,widthClassName:`w-40`,skeletonWidthClassName:`w-20`},{key:`totalEntries`,label:`Total entries`,widthClassName:`w-32`,skeletonWidthClassName:`w-10`},{key:`inProgressEntries`,label:`In progress`,widthClassName:`w-32`,skeletonWidthClassName:`w-10`}],U=e=>{e.defaultPrevented||!(e.target instanceof Element)||e.target.closest(`a, button, input, select, textarea`)||e.currentTarget.querySelector(`a`)?.click()},W=()=>(0,k.jsx)(y,{"aria-busy":`true`,"aria-label":`Automations`,className:`flex table-fixed flex-col lg:table`,"data-testid":`automations-list-loading`,children:(0,k.jsx)(g,{className:`flex flex-col lg:table-row-group`,children:Array.from({length:2},(e,t)=>(0,k.jsxs)(h,{"aria-hidden":`true`,className:`grid w-full grid-cols-[minmax(0,1fr)_auto] items-center gap-x-4 p-2 lg:table-row lg:p-0`,children:[(0,k.jsxs)(_,{className:`min-w-0 p-0 lg:table-cell lg:p-4`,children:[(0,k.jsx)(p,{className:`mb-1 h-3 w-48 max-w-full `}),(0,k.jsx)(p,{className:`h-3 w-80 max-w-full`})]}),H.map(e=>(0,k.jsx)(_,{className:s(`hidden lg:table-cell lg:p-4`,e.widthClassName),children:(0,k.jsx)(p,{className:s(`h-3`,e.skeletonWidthClassName)})},e.key)),(0,k.jsx)(_,{className:`w-auto p-0 text-right lg:table-cell lg:w-28 lg:p-4 lg:text-left`,children:(0,k.jsx)(p,{className:`ml-auto h-3 w-16 lg:ml-0`})})]},t))})}),G=({automations:e=[],isLoading:t=!1})=>t?(0,k.jsx)(W,{}):(0,k.jsxs)(y,{"aria-label":`Automations`,className:`flex table-fixed flex-col lg:table`,"data-testid":`automations-list`,children:[(0,k.jsx)(v,{className:`hidden lg:table-header-group`,children:(0,k.jsxs)(h,{className:`hover:bg-transparent`,children:[(0,k.jsx)(m,{className:`lg:px-4`,scope:`col`,children:`Name`}),H.map(e=>(0,k.jsx)(m,{className:s(`lg:px-4`,e.widthClassName),scope:`col`,children:e.label},e.key)),(0,k.jsx)(m,{className:`w-28 lg:px-4`,scope:`col`,children:`Status`})]})}),(0,k.jsx)(g,{className:`flex flex-col lg:table-row-group`,children:e.map(e=>{let t=V[e.slug],n=e.stats.last_run_created_at,r=e.stats.total_run_count,a=e.stats.in_progress_run_count,l={lastEntry:{content:n?(0,k.jsx)(`time`,{dateTime:n,children:o(n).fromNow()}):`Never`,isEmpty:!n},totalEntries:{content:c(r),isEmpty:r===0},inProgressEntries:{content:c(a),isEmpty:a===0}};return(0,k.jsxs)(h,{className:`grid w-full cursor-pointer grid-cols-[minmax(0,1fr)_auto] items-center gap-x-4 p-2 hover:bg-table-row-hover has-[:focus-visible]:outline-2 has-[:focus-visible]:outline-offset-[-2px] has-[:focus-visible]:outline-focus-ring lg:table-row lg:p-0`,"data-testid":`automation-list-row`,onClick:U,children:[(0,k.jsxs)(m,{className:`h-auto min-w-0 p-0 text-left text-base font-normal tracking-normal text-foreground lg:table-cell lg:p-4`,scope:`row`,children:[(0,k.jsx)(i,{className:`rounded-sm focus-visible:outline-hidden`,to:`/automations/${e.id}`,children:(0,k.jsx)(`span`,{className:`block text-md font-semibold`,children:e.name})}),t&&(0,k.jsx)(`span`,{className:`block text-muted-foreground`,children:t})]}),H.map(e=>{let t=l[e.key];return(0,k.jsx)(_,{className:s(`hidden lg:table-cell lg:p-4`,e.widthClassName,t.isEmpty&&`text-muted-foreground`),children:t.content},e.key)}),(0,k.jsx)(_,{className:`w-auto p-0 text-right lg:table-cell lg:w-28 lg:p-4 lg:text-left`,children:(0,k.jsx)(E,{status:e.status})})]},e.slug)})})]}),K={free:`member-welcome-email-free`,paid:`member-welcome-email-paid`},q=()=>{let{data:e,error:t,isError:n,isLoading:i}=D({defaultErrorHandler:!1,refetchOnMount:`always`,staleTime:0}),{data:a,isLoading:o}=C(),{data:s,isLoading:c}=r();return{automations:w(a?.settings||[],s?.config||{})?e?.automations:e?.automations?.filter(e=>e.slug!==K.paid),error:t,isError:n,isLoading:i||o||c}},J=()=>{let{automations:e,error:t,isError:n,isLoading:r}=q();if(n)throw t instanceof Error?t:Error(`Failed to load automations`);return(0,k.jsx)(l,{className:`size-full`,"data-sentry-mask":`true`,children:(0,k.jsx)(u,{className:`relative flex h-full flex-col`,size:`page`,children:(0,k.jsxs)(O,{"data-testid":`automations-page`,children:[(0,k.jsx)(O.Header,{children:(0,k.jsx)(T,{blurredBackground:!1,sticky:!1,children:(0,k.jsx)(T.Left,{children:(0,k.jsx)(T.Title,{children:(0,k.jsxs)(`span`,{className:`inline-flex items-baseline gap-2`,children:[`Automations`,(0,k.jsx)(S,{className:`px-1 py-px text-[10px] leading-none tracking-wider uppercase`,variant:`secondary`,children:`Beta`})]})})})})}),(0,k.jsxs)(O.Body,{children:[(0,k.jsx)(G,{automations:e,isLoading:r}),(0,k.jsx)(B,{})]})]})})})};export{J as default};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{n as r}from"./dist-Ndy-PuGN.js";import{n as i,r as a}from"./heading-Dh5SFVjL.js";import{Pn as o,Qn as s,kn as c,n as l,t as u}from"./button-B2jcu6bk.js";import{c as d,o as f,r as p,s as m,t as h}from"./dialog-B44iRwlc.js";import{a as g,c as _,i as v,n as y,o as b,r as x,s as S,t as C}from"./alert-dialog-QhXzdHfc.js";import{n as w}from"./loading-indicator-BpFWTVgh.js";import{t as T}from"./edit-profile-BdupLlus.js";import{Ct as E,Ft as D,Lt as O,Ot as k,Pt as A,q as j}from"./index-DjQe-e5s.js";import"./layout-c_B_1hax.js";var M=e(t(),1),N=n(),P=5e3,F=12,I=()=>{let{data:e,isLoading:t}=k(`index`,`me`),[n,I]=(0,M.useState)(()=>e?.blueskyEnabled&&!e?.blueskyHandleConfirmed),[L,R]=(0,M.useState)(!1),[z,B]=(0,M.useState)(!1),[V,H]=(0,M.useState)(!1),[U,W]=(0,M.useState)(!1),G=(0,M.useRef)(0),K=O(`index`),q=D(`index`),J=A(`index`),Y=async()=>{R(!0),await navigator.clipboard.writeText(e?.blueskyHandle||``),setTimeout(()=>R(!1),2e3)},X=async()=>{if(!e?.avatarUrl)B(!0);else{I(!0);try{await K.mutateAsync()}catch{I(!1),r.error(`Something went wrong, please try again.`)}}},Z=async()=>{I(!0);try{await q.mutateAsync(),H(!1),r.success(`Bluesky sharing disabled`)}finally{I(!1)}},Q=(0,M.useCallback)(()=>{J.mutateAsync().then(e=>{e&&W(!0)})},[]);if((0,M.useEffect)(()=>{if(!e?.blueskyEnabled){W(!1),I(!1),G.current=0;return}if(e?.blueskyHandleConfirmed){W(!0),I(!1),G.current>0&&r.success(`Bluesky sharing enabled`),G.current=0;return}W(!1),I(!0),G.current=0;let t=setInterval(async()=>{if(G.current+=1,G.current>F){clearInterval(t),r.error(`Something went wrong, please try again.`),await q.mutateAsync(),I(!1);return}Q()},P);return()=>clearInterval(t)},[e?.blueskyEnabled,e?.blueskyHandleConfirmed,Q]),t)return(0,N.jsx)(j,{children:(0,N.jsxs)(`div`,{className:`mx-auto max-w-[620px] py-[min(4vh,48px)]`,children:[(0,N.jsx)(`div`,{className:`flex items-center justify-between gap-8`,children:(0,N.jsx)(i,{children:`Bluesky sharing`})}),(0,N.jsx)(`div`,{className:`mt-6 flex justify-center`,children:(0,N.jsx)(w,{size:`md`})})]})});let $=e?.blueskyEnabled&&e?.blueskyHandleConfirmed;return(0,N.jsxs)(j,{children:[(0,N.jsxs)(`div`,{className:`mx-auto max-w-[620px] py-[min(4vh,48px)]`,children:[(0,N.jsxs)(`div`,{className:`flex items-center justify-between gap-8`,children:[(0,N.jsx)(i,{children:`Bluesky sharing`}),$&&(0,N.jsxs)(u,{className:`group w-24 translate-y-1 px-2 hover:bg-red/5! hover:text-red`,size:`default`,variant:`outline`,onClick:()=>H(!0),children:[(0,N.jsx)(`span`,{className:`size-2 rounded-full bg-green group-hover:hidden`}),(0,N.jsx)(`span`,{className:`group-hover:hidden`,children:`Enabled`}),(0,N.jsx)(`span`,{className:`hidden group-hover:visible! group-hover:inline!`,children:`Disable`})]})]}),$?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(`p`,{className:`mt-2 pr-32 text-base`,children:[`Your social web profile is now connected to Bluesky, via`,` `,(0,N.jsx)(`a`,{className:`text-purple hover:text-purple-600`,href:`https://fed.brid.gy`,rel:`noreferrer`,target:`_blank`,children:`Bridgy Fed`}),`. Posts are automatically synced after a short delay to complete activation.`]}),U&&(0,N.jsxs)(`div`,{className:`mt-6 flex flex-col items-center gap-4 rounded-lg border border-gray-200 p-8 dark:border-gray-950`,children:[(0,N.jsxs)(`div`,{className:`relative`,children:[(0,N.jsx)(E,{author:{icon:{url:e?.avatarUrl||``},name:e?.name||``,handle:e?.handle||``},size:`md`}),(0,N.jsx)(`div`,{className:`absolute right-0 bottom-0 z-10 flex size-6 items-center justify-center rounded-full bg-white shadow-xs`,children:(0,N.jsx)(`svg`,{height:`14`,role:`img`,viewBox:`0 0 24 24`,width:`14`,xmlns:`http://www.w3.org/2000/svg`,children:(0,N.jsx)(`path`,{d:`M12 10.8c-1.087 -2.114 -4.046 -6.053 -6.798 -7.995C2.566 0.944 1.561 1.266 0.902 1.565 0.139 1.908 0 3.08 0 3.768c0 0.69 0.378 5.65 0.624 6.479 0.815 2.736 3.713 3.66 6.383 3.364 0.136 -0.02 0.275 -0.039 0.415 -0.056 -0.138 0.022 -0.276 0.04 -0.415 0.056 -3.912 0.58 -7.387 2.005 -2.83 7.078 5.013 5.19 6.87 -1.113 7.823 -4.308 0.953 3.195 2.05 9.271 7.733 4.308 4.267 -4.308 1.172 -6.498 -2.74 -7.078a8.741 8.741 0 0 1 -0.415 -0.056c0.14 0.017 0.279 0.036 0.415 0.056 2.67 0.297 5.568 -0.628 6.383 -3.364 0.246 -0.828 0.624 -5.79 0.624 -6.478 0 -0.69 -0.139 -1.861 -0.902 -2.206 -0.659 -0.298 -1.664 -0.62 -4.3 1.24C16.046 4.748 13.087 8.687 12 10.8Z`,fill:`#0385FF`,strokeWidth:`1`})})})]}),(0,N.jsxs)(`div`,{className:`flex grow flex-col items-center`,children:[(0,N.jsx)(a,{children:e?.name||``}),(0,N.jsxs)(`div`,{className:`flex items-center gap-1 text-gray-800`,children:[(0,N.jsx)(`span`,{className:`text-lg font-medium`,children:e?.blueskyHandle}),(0,N.jsx)(u,{className:`size-6 p-0 hover:opacity-80`,title:`Copy handle`,variant:`link`,onClick:Y,children:L?(0,N.jsx)(s,{size:16}):(0,N.jsx)(o,{size:16})})]})]}),(0,N.jsx)(u,{className:`mt-2 w-full`,size:`lg`,variant:`secondary`,asChild:!0,children:(0,N.jsxs)(`a`,{href:`https://bsky.app/profile/${e?.blueskyHandle?.replace(/^@/,``)}`,rel:`noreferrer`,target:`_blank`,children:[`Open profile`,(0,N.jsx)(c,{size:14,strokeWidth:1.25})]})})]})]}):(0,N.jsxs)(`div`,{className:`mt-3 flex flex-col gap-5`,children:[(0,N.jsx)(`p`,{className:`text-base`,children:e?.avatarUrl?(0,N.jsxs)(N.Fragment,{children:[`Connect your account to`,` `,(0,N.jsx)(`a`,{className:`text-purple hover:text-purple-600`,href:`https://fed.brid.gy`,rel:`noreferrer`,target:`_blank`,children:`Bridgy Fed`}),` `,`to share content directly to a dedicated Bluesky profile and increase your reach across the social web.`]}):`Add a profile image to connect to Bluesky. Profile pictures help prevent spam.`}),(0,N.jsx)(`p`,{className:`-mt-2 text-base`,children:`You can't change your Bluesky username, so make sure you're happy with your current social web handle before connecting.`}),e?.avatarUrl?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(u,{className:`h-10 text-base`,disabled:n,variant:`secondary`,onClick:X,children:n?(0,N.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,N.jsx)(w,{size:`sm`}),(0,N.jsx)(`span`,{children:`Enabling Bluesky sharing...`})]}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`svg`,{height:`32`,role:`img`,viewBox:`0 0 24 24`,width:`32`,xmlns:`http://www.w3.org/2000/svg`,children:(0,N.jsx)(`path`,{d:`M12 10.8c-1.087 -2.114 -4.046 -6.053 -6.798 -7.995C2.566 0.944 1.561 1.266 0.902 1.565 0.139 1.908 0 3.08 0 3.768c0 0.69 0.378 5.65 0.624 6.479 0.815 2.736 3.713 3.66 6.383 3.364 0.136 -0.02 0.275 -0.039 0.415 -0.056 -0.138 0.022 -0.276 0.04 -0.415 0.056 -3.912 0.58 -7.387 2.005 -2.83 7.078 5.013 5.19 6.87 -1.113 7.823 -4.308 0.953 3.195 2.05 9.271 7.733 4.308 4.267 -4.308 1.172 -6.498 -2.74 -7.078a8.741 8.741 0 0 1 -0.415 -0.056c0.14 0.017 0.279 0.036 0.415 0.056 2.67 0.297 5.568 -0.628 6.383 -3.364 0.246 -0.828 0.624 -5.79 0.624 -6.478 0 -0.69 -0.139 -1.861 -0.902 -2.206 -0.659 -0.298 -1.664 -0.62 -4.3 1.24C16.046 4.748 13.087 8.687 12 10.8Z`,fill:`#0385FF`,strokeWidth:`1`})}),`Enable Bluesky sharing`]})}),n&&(0,N.jsx)(`p`,{className:`-mt-2 text-center text-sm text-gray-700 dark:text-gray-600`,children:`You can leave this page and come back to check the status.`})]}):(0,N.jsxs)(h,{open:z,onOpenChange:B,children:[(0,N.jsx)(d,{children:(0,N.jsx)(u,{className:`h-10 w-full text-base`,variant:`secondary`,children:`Edit profile`})}),(0,N.jsxs)(p,{className:`w-full max-w-[520px]`,onOpenAutoFocus:e=>e.preventDefault(),children:[(0,N.jsx)(f,{children:(0,N.jsx)(m,{children:`Profile settings`})}),e&&(0,N.jsx)(T,{account:e,setIsEditingProfile:B})]})]})]})]}),(0,N.jsx)(C,{open:V,onOpenChange:H,children:(0,N.jsxs)(v,{children:[(0,N.jsxs)(S,{children:[(0,N.jsx)(_,{children:`Disable Bluesky sharing?`}),(0,N.jsx)(g,{children:`Your bridged Bluesky account will be deactivated and your content will no longer be shared on Bluesky. You can re-enable sharing at any time.`})]}),(0,N.jsxs)(b,{children:[(0,N.jsx)(x,{children:`Cancel`}),(0,N.jsx)(y,{className:l({variant:`destructive`}),disabled:n,onClick:e=>{e.preventDefault(),Z()},children:n?(0,N.jsx)(w,{color:`light`,size:`sm`}):`Disable`})]})]})})]})};export{I as default};
@@ -1,3 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{a as r,l as i}from"./dist-B3keLvjj.js";import{_ as a,l as o,x as s}from"./shade-app-CcS3f8MZ-vwURazk8.js";import{a as c,r as l}from"./dist-8YJUlf3B.js";import{mt as u,t as d}from"./button-B2jcu6bk.js";import{n as f,t as p}from"./dist-Dgt2cr6a.js";import{t as m}from"./dist-JLOy8o0Q.js";import{t as h}from"./input--W-rCTrX.js";import{c as g,i as _,n as v,o as y,s as b,t as x}from"./select-DuDUFdPq.js";var S=e(t(),1),C=n(),w={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};for(let e in w)Object.freeze(w[e]);var T=Object.freeze(w),E=Object.create(null);for(let e in T)Object.hasOwn(T,e)&&(E[T[e]]=e);var D={to:{},get:{}};D.get=function(e){let t=e.slice(0,3).toLowerCase(),n,r;switch(t){case`hsl`:n=D.get.hsl(e),r=`hsl`;break;case`hwb`:n=D.get.hwb(e),r=`hwb`;break;default:n=D.get.rgb(e),r=`rgb`;break}return n?{model:r,value:n}:null},D.get.rgb=function(e){if(!e)return null;let t=/^#([a-f\d]{3,4})$/i,n=/^#([a-f\d]{6})([a-f\d]{2})?$/i,r=/^rgba?\(\s*([+-]?(?:\d*\.)?\d+(?:e\d+)?)(?=[\s,])\s*(?:,\s*)?([+-]?(?:\d*\.)?\d+(?:e\d+)?)(?=[\s,])\s*(?:,\s*)?([+-]?(?:\d*\.)?\d+(?:e\d+)?)\s*(?:[\s,|/]\s*([+-]?(?:\d*\.)?\d+(?:e\d+)?)(%?)\s*)?\)$/i,i=/^rgba?\(\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[\s,|/]\s*([+-]?[\d.]+)(%?)\s*)?\)$/i,a=/^(\w+)$/,o=[0,0,0,1],s,c,l;if(s=e.match(n)){for(l=s[2],s=s[1],c=0;c<3;c++){let e=c*2;o[c]=Number.parseInt(s.slice(e,e+2),16)}l&&(o[3]=Number.parseInt(l,16)/255)}else if(s=e.match(t)){for(s=s[1],l=s[3],c=0;c<3;c++)o[c]=Number.parseInt(s[c]+s[c],16);l&&(o[3]=Number.parseInt(l+l,16)/255)}else if(s=e.match(r)){for(c=0;c<3;c++)o[c]=Number.parseFloat(s[c+1]);s[4]&&(o[3]=s[5]?Number.parseFloat(s[4])*.01:Number.parseFloat(s[4]))}else if(s=e.match(i)){for(c=0;c<3;c++)o[c]=Math.round(Number.parseFloat(s[c+1])*2.55);s[4]&&(o[3]=s[5]?Number.parseFloat(s[4])*.01:Number.parseFloat(s[4]))}else if(s=e.toLowerCase().match(a))return s[1]===`transparent`?[0,0,0,0]:Object.hasOwn(T,s[1])?(o=T[s[1]].slice(),o[3]=1,o):null;else return null;for(c=0;c<3;c++)o[c]=O(o[c],0,255);return o[3]=O(o[3],0,1),o},D.get.hsl=function(e){if(!e)return null;let t=e.match(/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[,|/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:e[+-]?\d+)?)\s*)?\)$/i);if(t){let e=Number.parseFloat(t[4]);return[(Number.parseFloat(t[1])%360+360)%360,O(Number.parseFloat(t[2]),0,100),O(Number.parseFloat(t[3]),0,100),O(Number.isNaN(e)?1:e,0,1)]}return null},D.get.hwb=function(e){if(!e)return null;let t=e.match(/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*[\s,]\s*([+-]?[\d.]+)%\s*[\s,]\s*([+-]?[\d.]+)%\s*(?:[\s,]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:e[+-]?\d+)?)\s*)?\)$/i);if(t){let e=Number.parseFloat(t[4]);return[(Number.parseFloat(t[1])%360+360)%360,O(Number.parseFloat(t[2]),0,100),O(Number.parseFloat(t[3]),0,100),O(Number.isNaN(e)?1:e,0,1)]}return null},D.to.hex=function(...e){return`#`+k(e[0])+k(e[1])+k(e[2])+(e[3]<1?k(Math.round(e[3]*255)):``)},D.to.rgb=function(...e){return e.length<4||e[3]===1?`rgb(`+Math.round(e[0])+`, `+Math.round(e[1])+`, `+Math.round(e[2])+`)`:`rgba(`+Math.round(e[0])+`, `+Math.round(e[1])+`, `+Math.round(e[2])+`, `+e[3]+`)`},D.to.rgb.percent=function(...e){let t=Math.round(e[0]/255*100),n=Math.round(e[1]/255*100),r=Math.round(e[2]/255*100);return e.length<4||e[3]===1?`rgb(`+t+`%, `+n+`%, `+r+`%)`:`rgba(`+t+`%, `+n+`%, `+r+`%, `+e[3]+`)`},D.to.hsl=function(...e){return e.length<4||e[3]===1?`hsl(`+e[0]+`, `+e[1]+`%, `+e[2]+`%)`:`hsla(`+e[0]+`, `+e[1]+`%, `+e[2]+`%, `+e[3]+`)`},D.to.hwb=function(...e){let t=``;return e.length>=4&&e[3]!==1&&(t=`, `+e[3]),`hwb(`+e[0]+`, `+e[1]+`%, `+e[2]+`%`+t+`)`},D.to.keyword=function(...e){return E[e.slice(0,3)]};function O(e,t,n){return Math.min(Math.max(t,e),n)}function k(e){let t=Math.round(e).toString(16).toUpperCase();return t.length<2?`0`+t:t}var A={};for(let e of Object.keys(T))A[T[e]]=e;var j={rgb:{channels:3,labels:`rgb`},hsl:{channels:3,labels:`hsl`},hsv:{channels:3,labels:`hsv`},hwb:{channels:3,labels:`hwb`},cmyk:{channels:4,labels:`cmyk`},xyz:{channels:3,labels:`xyz`},lab:{channels:3,labels:`lab`},oklab:{channels:3,labels:[`okl`,`oka`,`okb`]},lch:{channels:3,labels:`lch`},oklch:{channels:3,labels:[`okl`,`okc`,`okh`]},hex:{channels:1,labels:[`hex`]},keyword:{channels:1,labels:[`keyword`]},ansi16:{channels:1,labels:[`ansi16`]},ansi256:{channels:1,labels:[`ansi256`]},hcg:{channels:3,labels:[`h`,`c`,`g`]},apple:{channels:3,labels:[`r16`,`g16`,`b16`]},gray:{channels:1,labels:[`gray`]}},M=(6/29)**3;function N(e){let t=e>.0031308?1.055*e**(1/2.4)-.055:e*12.92;return Math.min(Math.max(0,t),1)}function P(e){return e>.04045?((e+.055)/1.055)**2.4:e/12.92}for(let e of Object.keys(j)){if(!(`channels`in j[e]))throw Error(`missing channels property: `+e);if(!(`labels`in j[e]))throw Error(`missing channel labels property: `+e);if(j[e].labels.length!==j[e].channels)throw Error(`channel and label counts mismatch: `+e);let{channels:t,labels:n}=j[e];delete j[e].channels,delete j[e].labels,Object.defineProperty(j[e],"channels",{value:t}),Object.defineProperty(j[e],"labels",{value:n})}j.rgb.hsl=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=a-i,s,c;switch(a){case i:s=0;break;case t:s=(n-r)/o;break;case n:s=2+(r-t)/o;break;case r:s=4+(t-n)/o;break}s=Math.min(s*60,360),s<0&&(s+=360);let l=(i+a)/2;return c=a===i?0:l<=.5?o/(a+i):o/(2-a-i),[s,c*100,l*100]},j.rgb.hsv=function(e){let t,n,r,i,a,o=e[0]/255,s=e[1]/255,c=e[2]/255,l=Math.max(o,s,c),u=l-Math.min(o,s,c),d=function(e){return(l-e)/6/u+1/2};if(u===0)i=0,a=0;else{switch(a=u/l,t=d(o),n=d(s),r=d(c),l){case o:i=r-n;break;case s:i=1/3+t-r;break;case c:i=2/3+n-t;break}i<0?i+=1:i>1&&--i}return[i*360,a*100,l*100]},j.rgb.hwb=function(e){let t=e[0],n=e[1],r=e[2],i=j.rgb.hsl(e)[0],a=1/255*Math.min(t,Math.min(n,r));return r=1-1/255*Math.max(t,Math.max(n,r)),[i,a*100,r*100]},j.rgb.oklab=function(e){let t=P(e[0]/255),n=P(e[1]/255),r=P(e[2]/255),i=Math.cbrt(.4122214708*t+.5363325363*n+.0514459929*r),a=Math.cbrt(.2119034982*t+.6806995451*n+.1073969566*r),o=Math.cbrt(.0883024619*t+.2817188376*n+.6299787005*r),s=.2104542553*i+.793617785*a-.0040720468*o,c=1.9779984951*i-2.428592205*a+.4505937099*o,l=.0259040371*i+.7827717662*a-.808675766*o;return[s*100,c*100,l*100]},j.rgb.cmyk=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.min(1-t,1-n,1-r),a=(1-t-i)/(1-i)||0,o=(1-n-i)/(1-i)||0,s=(1-r-i)/(1-i)||0;return[a*100,o*100,s*100,i*100]};function ee(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}j.rgb.keyword=function(e){let t=A[e];if(t)return t;let n=1/0,r;for(let t of Object.keys(T)){let i=T[t],a=ee(e,i);a<n&&(n=a,r=t)}return r},j.keyword.rgb=function(e){return[...T[e]]},j.rgb.xyz=function(e){let t=P(e[0]/255),n=P(e[1]/255),r=P(e[2]/255),i=t*.4124564+n*.3575761+r*.1804375,a=t*.2126729+n*.7151522+r*.072175,o=t*.0193339+n*.119192+r*.9503041;return[i*100,a*100,o*100]},j.rgb.lab=function(e){let t=j.rgb.xyz(e),n=t[0],r=t[1],i=t[2];return n/=95.047,r/=100,i/=108.883,n=n>M?n**(1/3):7.787*n+16/116,r=r>M?r**(1/3):7.787*r+16/116,i=i>M?i**(1/3):7.787*i+16/116,[116*r-16,500*(n-r),200*(r-i)]},j.hsl.rgb=function(e){let t=e[0]/360,n=e[1]/100,r=e[2]/100,i,a;if(n===0)return a=r*255,[a,a,a];let o=r<.5?r*(1+n):r+n-r*n,s=2*r-o,c=[0,0,0];for(let e=0;e<3;e++)i=t+1/3*-(e-1),i<0&&i++,i>1&&i--,a=6*i<1?s+(o-s)*6*i:2*i<1?o:3*i<2?s+(o-s)*(2/3-i)*6:s,c[e]=a*255;return c},j.hsl.hsv=function(e){let t=e[0],n=e[1]/100,r=e[2]/100,i=n,a=Math.max(r,.01);r*=2,n*=r<=1?r:2-r,i*=a<=1?a:2-a;let o=(r+n)/2;return[t,(r===0?2*i/(a+i):2*n/(r+n))*100,o*100]},j.hsv.rgb=function(e){let t=e[0]/60,n=e[1]/100,r=e[2]/100,i=Math.floor(t)%6,a=t-Math.floor(t),o=255*r*(1-n),s=255*r*(1-n*a),c=255*r*(1-n*(1-a));switch(r*=255,i){case 0:return[r,c,o];case 1:return[s,r,o];case 2:return[o,r,c];case 3:return[o,s,r];case 4:return[c,o,r];case 5:return[r,o,s]}},j.hsv.hsl=function(e){let t=e[0],n=e[1]/100,r=e[2]/100,i=Math.max(r,.01),a,o;o=(2-n)*r;let s=(2-n)*i;return a=n*i,a/=s<=1?s:2-s,a||=0,o/=2,[t,a*100,o*100]},j.hwb.rgb=function(e){let t=e[0]/360,n=e[1]/100,r=e[2]/100,i=n+r,a;i>1&&(n/=i,r/=i);let o=Math.floor(6*t),s=1-r;a=6*t-o,o&1&&(a=1-a);let c=n+a*(s-n),l,u,d;switch(o){default:case 6:case 0:l=s,u=c,d=n;break;case 1:l=c,u=s,d=n;break;case 2:l=n,u=s,d=c;break;case 3:l=n,u=c,d=s;break;case 4:l=c,u=n,d=s;break;case 5:l=s,u=n,d=c;break}return[l*255,u*255,d*255]},j.cmyk.rgb=function(e){let t=e[0]/100,n=e[1]/100,r=e[2]/100,i=e[3]/100,a=1-Math.min(1,t*(1-i)+i),o=1-Math.min(1,n*(1-i)+i),s=1-Math.min(1,r*(1-i)+i);return[a*255,o*255,s*255]},j.xyz.rgb=function(e){let t=e[0]/100,n=e[1]/100,r=e[2]/100,i,a,o;return i=t*3.2404542+n*-1.5371385+r*-.4985314,a=t*-.969266+n*1.8760108+r*.041556,o=t*.0556434+n*-.2040259+r*1.0572252,i=N(i),a=N(a),o=N(o),[i*255,a*255,o*255]},j.xyz.lab=function(e){let t=e[0],n=e[1],r=e[2];return t/=95.047,n/=100,r/=108.883,t=t>M?t**(1/3):7.787*t+16/116,n=n>M?n**(1/3):7.787*n+16/116,r=r>M?r**(1/3):7.787*r+16/116,[116*n-16,500*(t-n),200*(n-r)]},j.xyz.oklab=function(e){let t=e[0]/100,n=e[1]/100,r=e[2]/100,i=Math.cbrt(.8189330101*t+.3618667424*n-.1288597137*r),a=Math.cbrt(.0329845436*t+.9293118715*n+.0361456387*r),o=Math.cbrt(.0482003018*t+.2643662691*n+.633851707*r),s=.2104542553*i+.793617785*a-.0040720468*o,c=1.9779984951*i-2.428592205*a+.4505937099*o,l=.0259040371*i+.7827717662*a-.808675766*o;return[s*100,c*100,l*100]},j.oklab.oklch=function(e){return j.lab.lch(e)},j.oklab.xyz=function(e){let t=e[0]/100,n=e[1]/100,r=e[2]/100,i=(.999999998*t+.396337792*n+.215803758*r)**3,a=(1.000000008*t-.105561342*n-.063854175*r)**3,o=(1.000000055*t-.089484182*n-1.291485538*r)**3,s=1.227013851*i-.55779998*a+.281256149*o,c=-.040580178*i+1.11225687*a-.071676679*o,l=-.076381285*i-.421481978*a+1.58616322*o;return[s*100,c*100,l*100]},j.oklab.rgb=function(e){let t=e[0]/100,n=e[1]/100,r=e[2]/100,i=(t+.3963377774*n+.2158037573*r)**3,a=(t-.1055613458*n-.0638541728*r)**3,o=(t-.0894841775*n-1.291485548*r)**3,s=N(4.0767416621*i-3.3077115913*a+.2309699292*o),c=N(-1.2684380046*i+2.6097574011*a-.3413193965*o),l=N(-.0041960863*i-.7034186147*a+1.707614701*o);return[s*255,c*255,l*255]},j.oklch.oklab=function(e){return j.lch.lab(e)},j.lab.xyz=function(e){let t=e[0],n=e[1],r=e[2],i,a,o;a=(t+16)/116,i=n/500+a,o=a-r/200;let s=a**3,c=i**3,l=o**3;return a=s>M?s:(a-16/116)/7.787,i=c>M?c:(i-16/116)/7.787,o=l>M?l:(o-16/116)/7.787,i*=95.047,a*=100,o*=108.883,[i,a,o]},j.lab.lch=function(e){let t=e[0],n=e[1],r=e[2],i;return i=Math.atan2(r,n)*360/2/Math.PI,i<0&&(i+=360),[t,Math.sqrt(n*n+r*r),i]},j.lch.lab=function(e){let t=e[0],n=e[1],r=e[2]/360*2*Math.PI;return[t,n*Math.cos(r),n*Math.sin(r)]},j.rgb.ansi16=function(e,t=null){let[n,r,i]=e,a=t===null?j.rgb.hsv(e)[2]:t;if(a=Math.round(a/50),a===0)return 30;let o=30+(Math.round(i/255)<<2|Math.round(r/255)<<1|Math.round(n/255));return a===2&&(o+=60),o},j.hsv.ansi16=function(e){return j.rgb.ansi16(j.hsv.rgb(e),e[2])},j.rgb.ansi256=function(e){let t=e[0],n=e[1],r=e[2];return t>>4==n>>4&&n>>4==r>>4?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},j.ansi16.rgb=function(e){e=e[0];let t=e%10;if(t===0||t===7)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];let n=(Math.trunc(e>50)+1)*.5;return[(t&1)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},j.ansi256.rgb=function(e){if(e=e[0],e>=232){let t=(e-232)*10+8;return[t,t,t]}e-=16;let t;return[Math.floor(e/36)/5*255,Math.floor((t=e%36)/6)/5*255,t%6/5*255]},j.rgb.hex=function(e){let t=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return`000000`.slice(t.length)+t},j.hex.rgb=function(e){let t=e.toString(16).match(/[a-f\d]{6}|[a-f\d]{3}/i);if(!t)return[0,0,0];let n=t[0];t[0].length===3&&(n=[...n].map(e=>e+e).join(``));let r=Number.parseInt(n,16);return[r>>16&255,r>>8&255,r&255]},j.rgb.hcg=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.max(Math.max(t,n),r),a=Math.min(Math.min(t,n),r),o=i-a,s,c=o<1?a/(1-o):0;return s=o<=0?0:i===t?(n-r)/o%6:i===n?2+(r-t)/o:4+(t-n)/o,s/=6,s%=1,[s*360,o*100,c*100]},j.hsl.hcg=function(e){let t=e[1]/100,n=e[2]/100,r=n<.5?2*t*n:2*t*(1-n),i=0;return r<1&&(i=(n-.5*r)/(1-r)),[e[0],r*100,i*100]},j.hsv.hcg=function(e){let t=e[1]/100,n=e[2]/100,r=t*n,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],r*100,i*100]},j.hcg.rgb=function(e){let t=e[0]/360,n=e[1]/100,r=e[2]/100;if(n===0)return[r*255,r*255,r*255];let i=[0,0,0],a=t%1*6,o=a%1,s=1-o,c=0;switch(Math.floor(a)){case 0:i[0]=1,i[1]=o,i[2]=0;break;case 1:i[0]=s,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=o;break;case 3:i[0]=0,i[1]=s,i[2]=1;break;case 4:i[0]=o,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=s}return c=(1-n)*r,[(n*i[0]+c)*255,(n*i[1]+c)*255,(n*i[2]+c)*255]},j.hcg.hsv=function(e){let t=e[1]/100,n=t+e[2]/100*(1-t),r=0;return n>0&&(r=t/n),[e[0],r*100,n*100]},j.hcg.hsl=function(e){let t=e[1]/100,n=e[2]/100*(1-t)+.5*t,r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],r*100,n*100]},j.hcg.hwb=function(e){let t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],(n-t)*100,(1-n)*100]},j.hwb.hcg=function(e){let t=e[1]/100,n=1-e[2]/100,r=n-t,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],r*100,i*100]},j.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},j.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},j.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},j.gray.hsl=function(e){return[0,0,e[0]]},j.gray.hsv=j.gray.hsl,j.gray.hwb=function(e){return[0,100,e[0]]},j.gray.cmyk=function(e){return[0,0,0,e[0]]},j.gray.lab=function(e){return[e[0],0,0]},j.gray.hex=function(e){let t=Math.round(e[0]/100*255)&255,n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return`000000`.slice(n.length)+n},j.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]};function te(){let e={},t=Object.keys(j);for(let{length:n}=t,r=0;r<n;r++)e[t[r]]={distance:-1,parent:null};return e}function ne(e){let t=te(),n=[e];for(t[e].distance=0;n.length>0;){let e=n.pop(),r=Object.keys(j[e]);for(let{length:i}=r,a=0;a<i;a++){let i=r[a],o=t[i];o.distance===-1&&(o.distance=t[e].distance+1,o.parent=e,n.unshift(i))}}return t}function re(e,t){return function(n){return t(e(n))}}function ie(e,t){let n=[t[e].parent,e],r=j[t[e].parent][e],i=t[e].parent;for(;t[i].parent;)n.unshift(t[i].parent),r=re(j[t[i].parent][i],r),i=t[i].parent;return r.conversion=n,r}function ae(e){let t=ne(e),n={},r=Object.keys(t);for(let{length:e}=r,i=0;i<e;i++){let e=r[i];t[e].parent!==null&&(n[e]=ie(e,t))}return n}var F={},oe=Object.keys(j);function se(e){let t=function(...t){let n=t[0];return n==null?n:(n.length>1&&(t=n),e(t))};return`conversion`in e&&(t.conversion=e.conversion),t}function ce(e){let t=function(...t){let n=t[0];if(n==null)return n;n.length>1&&(t=n);let r=e(t);if(typeof r==`object`)for(let{length:e}=r,t=0;t<e;t++)r[t]=Math.round(r[t]);return r};return`conversion`in e&&(t.conversion=e.conversion),t}for(let e of oe){F[e]={},Object.defineProperty(F[e],"channels",{value:j[e].channels}),Object.defineProperty(F[e],"labels",{value:j[e].labels});let t=ae(e),n=Object.keys(t);for(let r of n){let n=t[r];F[e][r]=ce(n),F[e][r].raw=se(n)}}var I=[`keyword`,`gray`,`hex`],L={};for(let e of Object.keys(F))L[[...F[e].labels].sort().join(``)]=e;var R={};function z(e,t){if(!(this instanceof z))return new z(e,t);if(t&&t in I&&(t=null),t&&!(t in F))throw Error(`Unknown model: `+t);let n,r;if(e==null)this.model=`rgb`,this.color=[0,0,0],this.valpha=1;else if(e instanceof z)this.model=e.model,this.color=[...e.color],this.valpha=e.valpha;else if(typeof e==`string`){let t=D.get(e);if(t===null)throw Error(`Unable to parse color from string: `+e);this.model=t.model,r=F[this.model].channels,this.color=t.value.slice(0,r),this.valpha=typeof t.value[r]==`number`?t.value[r]:1}else if(e.length>0){this.model=t||`rgb`,r=F[this.model].channels;let n=Array.prototype.slice.call(e,0,r);this.color=H(n,r),this.valpha=typeof e[r]==`number`?e[r]:1}else if(typeof e==`number`)this.model=`rgb`,this.color=[e>>16&255,e>>8&255,e&255],this.valpha=1;else{this.valpha=1;let t=Object.keys(e);`alpha`in e&&(t.splice(t.indexOf(`alpha`),1),this.valpha=typeof e.alpha==`number`?e.alpha:0);let r=t.sort().join(``);if(!(r in L))throw Error(`Unable to parse color from object: `+JSON.stringify(e));this.model=L[r];let{labels:i}=F[this.model],a=[];for(n=0;n<i.length;n++)a.push(e[i[n]]);this.color=H(a)}if(R[this.model])for(r=F[this.model].channels,n=0;n<r;n++){let e=R[this.model][n];e&&(this.color[n]=e(this.color[n]))}this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze&&Object.freeze(this)}z.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(e){let t=this.model in D.to?this:this.rgb();t=t.round(typeof e==`number`?e:1);let n=t.valpha===1?t.color:[...t.color,this.valpha];return D.to[t.model](...n)},percentString(e){let t=this.rgb().round(typeof e==`number`?e:1),n=t.valpha===1?t.color:[...t.color,this.valpha];return D.to.rgb.percent(...n)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){let e={},{channels:t}=F[this.model],{labels:n}=F[this.model];for(let r=0;r<t;r++)e[n[r]]=this.color[r];return this.valpha!==1&&(e.alpha=this.valpha),e},unitArray(){let e=this.rgb().color;return e[0]/=255,e[1]/=255,e[2]/=255,this.valpha!==1&&e.push(this.valpha),e},unitObject(){let e=this.rgb().object();return e.r/=255,e.g/=255,e.b/=255,this.valpha!==1&&(e.alpha=this.valpha),e},round(e){return e=Math.max(e||0,0),new z([...this.color.map(ue(e)),this.valpha],this.model)},alpha(e){return e===void 0?this.valpha:new z([...this.color,Math.max(0,Math.min(1,e))],this.model)},red:B(`rgb`,0,V(255)),green:B(`rgb`,1,V(255)),blue:B(`rgb`,2,V(255)),hue:B([`hsl`,`hsv`,`hsl`,`hwb`,`hcg`],0,e=>(e%360+360)%360),saturationl:B(`hsl`,1,V(100)),lightness:B(`hsl`,2,V(100)),saturationv:B(`hsv`,1,V(100)),value:B(`hsv`,2,V(100)),chroma:B(`hcg`,1,V(100)),gray:B(`hcg`,2,V(100)),white:B(`hwb`,1,V(100)),wblack:B(`hwb`,2,V(100)),cyan:B(`cmyk`,0,V(100)),magenta:B(`cmyk`,1,V(100)),yellow:B(`cmyk`,2,V(100)),black:B(`cmyk`,3,V(100)),x:B(`xyz`,0,V(95.047)),y:B(`xyz`,1,V(100)),z:B(`xyz`,2,V(108.833)),l:B(`lab`,0,V(100)),a:B(`lab`,1),b:B(`lab`,2),keyword(e){return e===void 0?F[this.model].keyword(this.color):new z(e)},hex(e){return e===void 0?D.to.hex(...this.rgb().round().color):new z(e)},hexa(e){if(e!==void 0)return new z(e);let t=this.rgb().round().color,n=Math.round(this.valpha*255).toString(16).toUpperCase();return n.length===1&&(n=`0`+n),D.to.hex(...t)+n},rgbNumber(){let e=this.rgb().color;return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255},luminosity(){let e=this.rgb().color,t=[];for(let[n,r]of e.entries()){let e=r/255;t[n]=e<=.04045?e/12.92:((e+.055)/1.055)**2.4}return .2126*t[0]+.7152*t[1]+.0722*t[2]},contrast(e){let t=this.luminosity(),n=e.luminosity();return t>n?(t+.05)/(n+.05):(n+.05)/(t+.05)},level(e){let t=this.contrast(e);return t>=7?`AAA`:t>=4.5?`AA`:``},isDark(){let e=this.rgb().color;return(e[0]*2126+e[1]*7152+e[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){let e=this.rgb();for(let t=0;t<3;t++)e.color[t]=255-e.color[t];return e},lighten(e){let t=this.hsl();return t.color[2]+=t.color[2]*e,t},darken(e){let t=this.hsl();return t.color[2]-=t.color[2]*e,t},saturate(e){let t=this.hsl();return t.color[1]+=t.color[1]*e,t},desaturate(e){let t=this.hsl();return t.color[1]-=t.color[1]*e,t},whiten(e){let t=this.hwb();return t.color[1]+=t.color[1]*e,t},blacken(e){let t=this.hwb();return t.color[2]+=t.color[2]*e,t},grayscale(){let e=this.rgb().color,t=e[0]*.3+e[1]*.59+e[2]*.11;return z.rgb(t,t,t)},fade(e){return this.alpha(this.valpha-this.valpha*e)},opaquer(e){return this.alpha(this.valpha+this.valpha*e)},rotate(e){let t=this.hsl(),n=t.color[0];return n=(n+e)%360,n=n<0?360+n:n,t.color[0]=n,t},mix(e,t){if(!e||!e.rgb)throw Error(`Argument to "mix" was not a Color instance, but rather an instance of `+typeof e);let n=e.rgb(),r=this.rgb(),i=t===void 0?.5:t,a=2*i-1,o=n.alpha()-r.alpha(),s=((a*o===-1?a:(a+o)/(1+a*o))+1)/2,c=1-s;return z.rgb(s*n.red()+c*r.red(),s*n.green()+c*r.green(),s*n.blue()+c*r.blue(),n.alpha()*i+r.alpha()*(1-i))}};for(let e of Object.keys(F)){if(I.includes(e))continue;let{channels:t}=F[e];z.prototype[e]=function(...t){return this.model===e?new z(this):t.length>0?new z(t,e):new z([...de(F[this.model][e].raw(this.color)),this.valpha],e)},z[e]=function(...n){let r=n[0];return typeof r==`number`&&(r=H(n,t)),new z(r,e)}}function le(e,t){return Number(e.toFixed(t))}function ue(e){return function(t){return le(t,e)}}function B(e,t,n){e=Array.isArray(e)?e:[e];for(let r of e)(R[r]||=[])[t]=n;return e=e[0],function(r){let i;return r===void 0?(i=this[e]().color[t],n&&(i=n(i)),i):(n&&(r=n(r)),i=this[e](),i.color[t]=r,i)}}function V(e){return function(t){return Math.max(0,Math.min(e,t))}}function de(e){return Array.isArray(e)?e:[e]}function H(e,t){for(let n=0;n<t;n++)typeof e[n]!=`number`&&(e[n]=0);return e}var U=[`PageUp`,`PageDown`],W=[`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`],fe={"from-left":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-right":[`Home`,`PageDown`,`ArrowDown`,`ArrowRight`],"from-bottom":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-top":[`Home`,`PageDown`,`ArrowUp`,`ArrowLeft`]},G=`Slider`,[K,pe,me]=f(G),[q,he]=c(G,[me]),[ge,J]=q(G),_e=S.forwardRef((e,t)=>{let{name:n,min:r=0,max:i=100,step:a=1,orientation:c=`horizontal`,disabled:l=!1,minStepsBetweenThumbs:u=0,defaultValue:d=[r],value:f,onValueChange:p=()=>{},onValueCommit:m=()=>{},inverted:h=!1,form:_,...v}=e,y=S.useRef(new Set),b=S.useRef(0),x=S.useRef(!1),w=c===`horizontal`?be:xe,[T=[],E]=o({prop:f,defaultProp:d,onChange:e=>{[...y.current][b.current]?.focus({preventScroll:!0,focusVisible:x.current}),x.current=!1,p(e)}}),D=S.useRef(T);function O(e){j(e,Re(T,e))}function k(e){j(e,b.current)}function A(){let e=D.current[b.current];T[b.current]!==e&&m(T)}function j(e,t,{commit:n}={commit:!1}){let o=He(a),s=g(Ue(Math.round((e-r)/a)*a+r,o),[r,i]);E((e=[])=>{let r=Fe(e,s,t);if(Ve(r,u*a)){b.current=r.indexOf(s);let t=String(r)!==String(e);return t&&n&&m(r),t?r:e}else return e})}return(0,C.jsx)(ge,{scope:e.__scopeSlider,name:n,disabled:l,min:r,max:i,valueIndexToChangeRef:b,thumbs:y.current,values:T,orientation:c,form:_,children:(0,C.jsx)(K.Provider,{scope:e.__scopeSlider,children:(0,C.jsx)(K.Slot,{scope:e.__scopeSlider,children:(0,C.jsx)(w,{"aria-disabled":l,"data-disabled":l?``:void 0,...v,ref:t,onPointerDown:s(v.onPointerDown,()=>{l||(D.current=T,x.current=!1)}),min:r,max:i,inverted:h,onSlideStart:l?void 0:O,onSlideMove:l?void 0:k,onSlideEnd:l?void 0:A,onHomeKeyDown:()=>{l||(x.current=!0,j(r,0,{commit:!0}))},onEndKeyDown:()=>{l||(x.current=!0,j(i,T.length-1,{commit:!0}))},onStepKeyDown:({event:e,direction:t})=>{if(!l){x.current=!0;let n=U.includes(e.key)||e.shiftKey&&W.includes(e.key)?10:1,r=b.current,i=T[r];j(i+a*n*t,r,{commit:!0})}}})})})})});_e.displayName=G;var[ve,ye]=q(G,{startEdge:`left`,endEdge:`right`,size:`width`,direction:1}),be=S.forwardRef((e,t)=>{let{min:n,max:i,dir:a,inverted:o,onSlideStart:s,onSlideMove:c,onSlideEnd:l,onStepKeyDown:u,...d}=e,[f,m]=S.useState(null),h=r(t,m),g=S.useRef(void 0),_=p(a),v=_===`ltr`,y=v&&!o||!v&&o;function b(e){let t=g.current||f.getBoundingClientRect(),r=Z([0,t.width],y?[n,i]:[i,n]);return g.current=t,r(e-t.left)}return(0,C.jsx)(ve,{scope:e.__scopeSlider,startEdge:y?`left`:`right`,endEdge:y?`right`:`left`,direction:y?1:-1,size:`width`,children:(0,C.jsx)(Se,{dir:_,"data-orientation":`horizontal`,...d,ref:h,style:{...d.style,"--radix-slider-thumb-transform":`translateX(-50%)`},onSlideStart:e=>{let t=b(e.clientX);s?.(t)},onSlideMove:e=>{let t=b(e.clientX);c?.(t)},onSlideEnd:()=>{g.current=void 0,l?.()},onStepKeyDown:e=>{let t=fe[y?`from-left`:`from-right`].includes(e.key);u?.({event:e,direction:t?-1:1})}})})}),xe=S.forwardRef((e,t)=>{let{min:n,max:i,inverted:a,onSlideStart:o,onSlideMove:s,onSlideEnd:c,onStepKeyDown:l,...u}=e,d=S.useRef(null),f=r(t,d),p=S.useRef(void 0),m=!a;function h(e){let t=p.current||d.current.getBoundingClientRect(),r=Z([0,t.height],m?[i,n]:[n,i]);return p.current=t,r(e-t.top)}return(0,C.jsx)(ve,{scope:e.__scopeSlider,startEdge:m?`bottom`:`top`,endEdge:m?`top`:`bottom`,size:`height`,direction:m?1:-1,children:(0,C.jsx)(Se,{"data-orientation":`vertical`,...u,ref:f,style:{...u.style,"--radix-slider-thumb-transform":`translateY(50%)`},onSlideStart:e=>{let t=h(e.clientY);o?.(t)},onSlideMove:e=>{let t=h(e.clientY);s?.(t)},onSlideEnd:()=>{p.current=void 0,c?.()},onStepKeyDown:e=>{let t=fe[m?`from-bottom`:`from-top`].includes(e.key);l?.({event:e,direction:t?-1:1})}})})}),Se=S.forwardRef((e,t)=>{let{__scopeSlider:n,onSlideStart:r,onSlideMove:i,onSlideEnd:a,onHomeKeyDown:o,onEndKeyDown:c,onStepKeyDown:u,...d}=e,f=J(G,n);return(0,C.jsx)(l.span,{...d,ref:t,onKeyDown:s(e.onKeyDown,e=>{e.key===`Home`?(o(e),e.preventDefault()):e.key===`End`?(c(e),e.preventDefault()):U.concat(W).includes(e.key)&&(u(e),e.preventDefault())}),onPointerDown:s(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),f.thumbs.has(t)?t.focus({preventScroll:!0,focusVisible:!1}):r(e)}),onPointerMove:s(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&i(e)}),onPointerUp:s(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),a(e))})})}),Ce=`SliderTrack`,we=S.forwardRef((e,t)=>{let{__scopeSlider:n,...r}=e,i=J(Ce,n);return(0,C.jsx)(l.span,{"data-disabled":i.disabled?``:void 0,"data-orientation":i.orientation,...r,ref:t})});we.displayName=Ce;var Y=`SliderRange`,Te=S.forwardRef((e,t)=>{let{__scopeSlider:n,...i}=e,a=J(Y,n),o=ye(Y,n),s=r(t,S.useRef(null)),c=a.values.length,u=a.values.map(e=>Ie(e,a.min,a.max)),d=c>1?Math.min(...u):0,f=100-Math.max(...u);return(0,C.jsx)(l.span,{"data-orientation":a.orientation,"data-disabled":a.disabled?``:void 0,...i,ref:s,style:{...e.style,[o.startEdge]:d+`%`,[o.endEdge]:f+`%`}})});Te.displayName=Y;var Ee=`SliderThumb`,[De,Oe]=q(Ee),ke=`SliderThumbProvider`;function Ae(e){let{__scopeSlider:t,name:n,children:r,internal_do_not_use_render:i}=e,o=J(ke,t),s=pe(t),[c,l]=S.useState(null),u=S.useMemo(()=>c?s().findIndex(e=>e.ref.current===c):-1,[s,c]),d=a(c),f=c?!!o.form||!!c.closest(`form`):!0,p=o.values[u],m=n??(o.name?o.name+(o.values.length>1?`[]`:``):void 0),h=p===void 0?0:Ie(p,o.min,o.max);S.useEffect(()=>{if(c)return o.thumbs.add(c),()=>{o.thumbs.delete(c)}},[c,o.thumbs]);let g={value:p,name:m,form:o.form,isFormControl:f,index:u,thumb:c,onThumbChange:l,percent:h,size:d};return(0,C.jsx)(De,{scope:t,...g,children:We(i)?i(g):r})}Ae.displayName=ke;var X=`SliderThumbTrigger`,je=S.forwardRef((e,t)=>{let{__scopeSlider:n,...i}=e,a=J(X,n),o=ye(X,n),{index:c,value:u,percent:d,size:f,onThumbChange:p}=Oe(X,n),m=r(t,p),h=Le(c,a.values.length),g=f?.[o.size],_=g?ze(g,d,o.direction):0;return(0,C.jsx)(`span`,{style:{transform:`var(--radix-slider-thumb-transform)`,position:`absolute`,[o.startEdge]:`calc(${d}% + ${_}px)`},children:(0,C.jsx)(K.ItemSlot,{scope:n,children:(0,C.jsx)(l.span,{role:`slider`,"aria-label":e[`aria-label`]||h,"aria-valuemin":a.min,"aria-valuenow":u,"aria-valuemax":a.max,"aria-orientation":a.orientation,"data-orientation":a.orientation,"data-disabled":a.disabled?``:void 0,tabIndex:a.disabled?void 0:0,...i,ref:m,style:u===void 0?{display:`none`}:e.style,onFocus:s(e.onFocus,()=>{a.valueIndexToChangeRef.current=c})})})})});je.displayName=X;var Me=S.forwardRef((e,t)=>{let{__scopeSlider:n,name:r,...i}=e;return(0,C.jsx)(Ae,{__scopeSlider:n,name:r,internal_do_not_use_render:({index:e,isFormControl:r})=>(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(je,{...i,ref:t,__scopeSlider:n}),r?(0,C.jsx)(Pe,{__scopeSlider:n},e):null]})})});Me.displayName=Ee;var Ne=`SliderBubbleInput`,Pe=S.forwardRef(({__scopeSlider:e,...t},n)=>{let{value:i,name:a,form:o}=Oe(Ne,e),s=S.useRef(null),c=r(s,n),u=m(i);return S.useEffect(()=>{let e=s.current;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(u!==i&&n){let t=new Event(`input`,{bubbles:!0});n.call(e,i),e.dispatchEvent(t)}},[u,i]),(0,C.jsx)(l.input,{style:{display:`none`},name:a,form:o,...t,ref:c,defaultValue:i})});Pe.displayName=Ne;function Fe(e=[],t,n){let r=[...e];return r[n]=t,r.sort((e,t)=>e-t)}function Ie(e,t,n){return g(100/(n-t)*(e-t),[0,100])}function Le(e,t){if(t>2)return`Value ${e+1} of ${t}`;if(t===2)return[`Minimum`,`Maximum`][e]}function Re(e,t){if(e.length===1)return 0;let n=e.map(e=>Math.abs(e-t)),r=Math.min(...n);return n.indexOf(r)}function ze(e,t,n){let r=e/2;return(r-Z([0,50],[0,r])(t)*n)*n}function Be(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function Ve(e,t){if(t>0){let n=Be(e);return Math.min(...n)>=t}return!0}function Z(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function He(e){if(!Number.isFinite(e))return 0;let t=e.toString();if(t.includes(`e`)){let[e,n]=t.split(`e`),r=e.split(`.`)[1]||``,i=Number(n);return Math.max(0,r.length-i)}let n=t.split(`.`)[1];return n?n.length:0}function Ue(e,t){let n=10**t;return Math.round(e*n)/n}function We(e){return typeof e==`function`}var Ge=e=>{let t=e.toLowerCase();return t===`transparent`||t.length===5&&t[4]===`0`||t.length===9&&t.slice(7)===`00`},Ke=({color:e,selected:t,size:n=`md`,className:r,style:a,...o})=>(0,C.jsx)(`button`,{"aria-pressed":t,className:i(`relative flex shrink-0 cursor-pointer items-center overflow-hidden rounded-full border border-control-border`,n===`lg`?`size-6`:`size-5`,t&&`ring-2 ring-focus-ring`,r),style:{backgroundColor:e,...a},type:`button`,...o,children:Ge(e)&&(0,C.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute top-1/2 left-[-30%] block h-px w-[160%] -translate-y-1/2 -rotate-45 bg-destructive`,"data-testid":`transparent-indicator`})}),qe=({swatches:e,value:t,size:n=`md`,onSelect:r,className:a,...o})=>(0,C.jsx)(`div`,{className:i(`flex items-center gap-1`,a),...o,children:e.map(e=>{let i=e.value===void 0?e.hex:e.value;return(0,C.jsx)(Ke,{"aria-label":e.title,color:e.hex,selected:i===t||e.hex.toLowerCase()===t?.toLowerCase(),size:n,title:e.title,onClick:()=>r(i)},e.title)})}),Je=(0,S.forwardRef)(({value:e,className:t,...n},r)=>(0,C.jsxs)(`button`,{ref:r,"aria-label":`Pick color`,className:i(`relative size-6 cursor-pointer rounded-full border border-control-border`,t),type:`button`,...n,children:[(0,C.jsx)(`span`,{"aria-hidden":`true`,className:`absolute inset-0 rounded-full bg-[conic-gradient(hsl(360,100%,50%),hsl(315,100%,50%),hsl(270,100%,50%),hsl(225,100%,50%),hsl(180,100%,50%),hsl(135,100%,50%),hsl(90,100%,50%),hsl(45,100%,50%),hsl(0,100%,50%))]`}),e&&(0,C.jsx)(`span`,{className:`absolute inset-[3px] overflow-hidden rounded-full border border-background`,style:{backgroundColor:e}})]}));Je.displayName=`ColorPickerTrigger`;var Ye=(0,S.createContext)(void 0),Q=()=>{let e=(0,S.useContext)(Ye);if(!e)throw Error(`useColorPicker must be used within a ColorPickerProvider`);return e},Xe=({value:e,defaultValue:t=`rgb(0 0 0)`,onChange:n,className:r,...a})=>{let o=z(e??t),[s,c]=(0,S.useState)(o.hue()),[l,u]=(0,S.useState)(o.saturationl()),[d,f]=(0,S.useState)(o.lightness()),[p,m]=(0,S.useState)(o.alpha()*100),[h,g]=(0,S.useState)(`hex`);return(0,S.useEffect)(()=>{if(e){let t=z(e);c(t.hue()),u(t.saturationl()),f(t.lightness()),m(t.alpha()*100)}},[e]),(0,S.useEffect)(()=>{n&&n(z.hsl(s,l,d).alpha(p/100).hex())},[s,l,d,p,n]),(0,C.jsx)(Ye.Provider,{value:{hue:s,saturation:l,lightness:d,alpha:p,mode:h,setHue:c,setSaturation:u,setLightness:f,setAlpha:m,setMode:g},children:(0,C.jsx)(`div`,{className:i(`flex size-full flex-col gap-4`,r),...a})})},$=(0,S.memo)(({className:e,...t})=>{let n=(0,S.useRef)(null),r=(0,S.useRef)(null),[a,o]=(0,S.useState)(0),[s,c]=(0,S.useState)(0),{hue:l,saturation:u,lightness:d,setSaturation:f,setLightness:p}=Q(),m=(0,S.useMemo)(()=>`linear-gradient(0deg, rgba(0,0,0,1), rgba(0,0,0,0)),
2
- linear-gradient(90deg, rgba(255,255,255,1), rgba(255,255,255,0)),
3
- hsl(${l}, 100%, 50%)`,[l]);(0,S.useEffect)(()=>{let e=u/100,t=e<.01?100:50+50*(1-e),n=Math.max(0,Math.min(1,1-d/t));o(e),c(n)},[u,d]);let h=(0,S.useCallback)(e=>{if(!n.current)return;let t=n.current.getBoundingClientRect(),r=Math.max(0,Math.min(1,(e.clientX-t.left)/t.width)),i=Math.max(0,Math.min(1,(e.clientY-t.top)/t.height));o(r),c(i),f(r*100);let a=(r<.01?100:50+50*(1-r))*(1-i);p(a)},[f,p]);return(0,C.jsx)(`div`,{ref:n,className:i(`relative size-full cursor-crosshair rounded`,e),style:{background:m},onPointerCancel:e=>{r.current===e.pointerId&&(r.current=null)},onPointerDown:e=>{e.preventDefault(),r.current=e.pointerId,e.currentTarget.setPointerCapture?.(e.pointerId),h(e.nativeEvent)},onPointerMove:e=>{r.current===e.pointerId&&h(e.nativeEvent)},onPointerUp:e=>{r.current===e.pointerId&&(r.current=null,e.currentTarget.releasePointerCapture?.(e.pointerId))},...t,children:(0,C.jsx)(`div`,{className:`pointer-events-none absolute size-4 -translate-1/2 rounded-full border-2 border-white`,style:{left:`${a*100}%`,top:`${s*100}%`,boxShadow:`0 0 0 1px rgba(0,0,0,0.5)`}})})});$.displayName=`ColorPickerSelection`;var Ze=({className:e,...t})=>{let{hue:n,setHue:r}=Q();return(0,C.jsxs)(_e,{className:i(`relative flex h-4 w-full touch-none`,e),max:360,step:1,value:[n],onValueChange:([e])=>r(e),...t,children:[(0,C.jsx)(we,{className:`relative my-0.5 h-3 w-full grow rounded-full bg-[linear-gradient(90deg,red,yellow,lime,aqua,blue,magenta,red)]`,children:(0,C.jsx)(Te,{className:`absolute h-full`})}),(0,C.jsx)(Me,{className:`block size-4 rounded-full border border-primary/50 bg-background shadow transition-colors focus-visible:ring-1 focus-visible:ring-focus-ring focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50`})]})},Qe=({className:e,...t})=>{let{setHue:n,setSaturation:r,setLightness:a,setAlpha:o}=Q();return typeof window<`u`&&`EyeDropper`in window?(0,C.jsx)(d,{className:i(`size-8 shrink-0 text-muted-foreground`,e),size:`icon`,type:`button`,variant:`outline`,onClick:async()=>{try{let[e,t,i]=z((await new EyeDropper().open()).sRGBHex).hsl().array();n(e),r(t),a(i),o(100)}catch(e){console.error(`EyeDropper failed:`,e)}},...t,children:(0,C.jsx)(u,{size:16})}):null},$e=[`hex`,`rgb`,`hsl`],et=({...e})=>{let{mode:t,setMode:n}=Q();return(0,C.jsxs)(x,{value:t,onValueChange:n,children:[(0,C.jsx)(y,{className:`h-8 w-20 shrink-0 text-xs`,...e,children:(0,C.jsx)(b,{placeholder:`Mode`})}),(0,C.jsx)(v,{children:$e.map(e=>(0,C.jsx)(_,{className:`text-xs`,value:e,children:e.toUpperCase()},e))})]})},tt=({className:e,...t})=>{let{hue:n,saturation:r,lightness:a,mode:o,setHue:s,setSaturation:c,setLightness:l,setAlpha:u}=Q(),d=z.hsl(n,r,a),[f,p]=(0,S.useState)(null),m=(e,t)=>{try{if(o===`hex`){let t=z(e);s(t.hue()),c(t.saturationl()),l(t.lightness()),u(t.alpha()*100)}else if((o===`rgb`||o===`hsl`)&&t!==void 0){let n=d[o]().array().map(e=>Math.round(e));n[t]=parseInt(e,10)||0;let r=z[o](n[0],n[1],n[2]);s(r.hue()),c(r.saturationl()),l(r.lightness())}}catch{}};if(o===`hex`){let n=d.hex();return(0,C.jsx)(`div`,{className:i(`relative flex w-full items-center -space-x-px rounded-md`,e),...t,children:(0,C.jsx)(h,{"aria-label":`Hex color`,className:`h-8 px-2 font-mono text-xs shadow-none`,type:`text`,value:f??n,onBlur:()=>{p(null)},onChange:e=>{p(e.target.value),m(e.target.value)}})})}if(o===`rgb`||o===`hsl`){let n=d[o]().array().map(e=>Math.round(e));return(0,C.jsx)(`div`,{className:i(`flex flex-1 items-stretch -space-x-px rounded-md`,e),...t,children:n.map((e,t)=>(0,C.jsx)(h,{"aria-label":`${o.toUpperCase()} channel ${t+1}`,className:i(`h-8 flex-1 px-2 font-mono text-xs shadow-none focus:z-10`,t&&`rounded-l-none`,t<n.length-1&&`rounded-r-none`),maxLength:3,size:4,type:`text`,value:e,onChange:e=>{m(e.target.value,t)}},t))})}return null},nt=e=>(0,C.jsxs)(Xe,{className:`w-auto min-w-80`,...e,children:[(0,C.jsx)($,{className:`aspect-square`}),(0,C.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,C.jsx)(Qe,{}),(0,C.jsx)(Ze,{})]}),(0,C.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,C.jsx)(et,{}),(0,C.jsx)(tt,{})]})]});export{Je as n,qe as r,nt as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{t as r}from"./inline-BWSs_VzR.js";import{i,r as a,t as o}from"./popover-CCy0h5rq.js";import{r as s}from"./field-Cj8lmDOo.js";import{n as c,r as l,t as u}from"./color-picker-BTY_NdEm.js";import{t as d}from"./debounce-pscB46sW.js";var f=e(t(),1),p=n(),m=/^#(?:[0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i,h=(e,t,n=[])=>{if(e&&m.test(e))return e;switch(e){case`accent`:return t&&m.test(t)?t:`#ffffff`;case`dark`:return`#08090c`;case`light`:return`#ffffff`;case`transparent`:return`#00000000`;default:return n.find(t=>t.value===e)?.hex||`#ffffff`}},g=e=>e.length===4?e.replace(/#(.)(.)(.)/,`#$1$1$2$2$3$3`):e,_=({testId:e,title:t,direction:n=`rtl`,hint:m,error:_,value:v,onChange:y,accentColor:b,swatches:x=[],alwaysOpen:S=!1,debounceMs:C})=>{let[w,T]=(0,f.useState)(S),[E,D]=(0,f.useState)(v),O=(0,f.useRef)(!1),k=(0,f.useRef)(!1),A=(0,f.useRef)(null),j=(0,f.useId)(),M=h(E,b,x);(0,f.useEffect)(()=>{D(e=>g(e||``)===v?e:v)},[v]);let N=(0,f.useMemo)(()=>y&&C?d(y,C):y,[C,y]),P=(0,f.useCallback)(e=>{D(e),N?.(e?g(e):null)},[N]),F=(0,f.useCallback)(()=>{A.current&&=(window.removeEventListener(`keydown`,A.current,!0),null)},[]),I=()=>{O.current=!1,k.current=!1},L=()=>{F(),I(),S||T(!1)},R=()=>{if(A.current)return;let e=e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),L())};A.current=e,window.addEventListener(`keydown`,e,!0)};return(0,f.useEffect)(()=>F,[F]),(0,p.jsxs)(o,{open:w,onOpenChange:e=>{S||(I(),e?R():F(),T(e))},children:[(0,p.jsxs)(r,{align:m?`start`:`center`,className:`w-full ${n===`ltr`?`flex-row-reverse`:``}`,"data-testid":e,gap:`sm`,justify:`between`,children:[t&&(0,p.jsxs)(`label`,{className:`min-w-0 flex-1 cursor-pointer text-left`,htmlFor:j,children:[t,m&&(0,p.jsx)(s,{className:_?`text-destructive`:void 0,children:m})]}),(0,p.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[w&&x.length>0&&(0,p.jsx)(l,{swatches:x,value:E,onSelect:e=>{O.current=!1,k.current=!0,P(e),L()}}),(0,p.jsx)(i,{asChild:!0,children:(0,p.jsx)(c,{id:j,value:M})})]})]}),(0,p.jsx)(a,{align:n===`rtl`?`end`:`start`,className:`w-auto p-4`,onEscapeKeyDown:e=>e.stopPropagation(),children:(0,p.jsx)(`div`,{onInputCapture:()=>O.current=!0,onKeyDownCapture:()=>O.current=!0,onMouseDownCapture:()=>O.current=!0,onPointerDownCapture:()=>O.current=!0,onTouchStartCapture:()=>O.current=!0,children:(0,p.jsx)(u,{defaultValue:M,onChange:e=>{!k.current&&O.current&&P(e.toLowerCase())}})})})]})};export{_ as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{l as r}from"./dist-B3keLvjj.js";import{Zn as i}from"./button-B2jcu6bk.js";import{i as a,r as o,t as s}from"./popover-CCy0h5rq.js";import{n as c,t as l}from"./input-surface-BsrIZeSF.js";var u=e(t(),1),d=n(),f=s,p=u.forwardRef(({children:e,className:t,...n},o)=>(0,d.jsx)(a,{asChild:!0,children:(0,d.jsxs)(`button`,{ref:o,className:r(l(`self`),c.disabledFieldSelf,`flex h-(--control-height) w-full min-w-0 items-center justify-between px-3 text-control hover:bg-button-hover`,t),role:`combobox`,...n,type:`button`,children:[e,(0,d.jsx)(i,{className:`ml-2 size-4 shrink-0 opacity-50`})]})}));p.displayName=`ComboboxTrigger`;var m=u.forwardRef(({className:e,placeholder:t=!1,...n},i)=>(0,d.jsx)(`span`,{ref:i,className:r(`min-w-0 flex-1 truncate text-left`,t&&`text-muted-foreground`,e),...n}));m.displayName=`ComboboxValue`;var h=u.forwardRef(({align:e=`start`,className:t,...n},i)=>(0,d.jsx)(o,{ref:i,align:e,className:r(`z-[9999] w-(--radix-popover-trigger-width) p-0`,t),...n}));h.displayName=`ComboboxContent`;export{m as i,h as n,p as r,f as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{i as r,l as i}from"./dist-B3keLvjj.js";import{v as a}from"./shade-app-CcS3f8MZ-vwURazk8.js";import{r as o}from"./dist-8YJUlf3B.js";import{Qn as s,tt as c}from"./button-B2jcu6bk.js";import{a as l,o as u,r as d,t as f}from"./dist-Cy8tfrp_.js";var p=e(t(),1),m=n(),h=1,g=.9,_=.8,v=.17,y=.1,b=.999,x=.9999,ee=.99,S=/[\\\/_+.#"@\[\(\{&]/,C=/[\\\/_+.#"@\[\(\{&]/g,w=/[\s-]/,T=/[\s-]/g;function E(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?h:ee;var s=`${i},${a}`;if(o[s]!==void 0)return o[s];for(var c=r.charAt(a),l=n.indexOf(c,i),u=0,d,f,p,m;l>=0;)d=E(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=h:S.test(e.charAt(l-1))?(d*=_,p=e.slice(i,l-1).match(C),p&&i>0&&(d*=b**+p.length)):w.test(e.charAt(l-1))?(d*=g,m=e.slice(i,l-1).match(T),m&&i>0&&(d*=b**+m.length)):(d*=v,i>0&&(d*=b**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=x)),(d<y&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=E(e,t,n,r,l+1,a+2,o),f*y>d&&(d=f*y)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function D(e){return e.toLowerCase().replace(T,` `)}function O(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,E(e,t,D(e),D(t),0,0,{})}var k=`[cmdk-group=""]`,A=`[cmdk-group-items=""]`,te=`[cmdk-group-heading=""]`,j=`[cmdk-item=""]`,M=`${j}:not([aria-disabled="true"])`,N=`cmdk-item-select`,P=`data-value`,F=(e,t,n)=>O(e,t,n),I=p.createContext(void 0),L=()=>p.useContext(I),ne=p.createContext(void 0),R=()=>p.useContext(ne),z=p.createContext(void 0),B=p.forwardRef((e,t)=>{let n=Z(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),r=Z(()=>new Set),i=Z(()=>new Map),s=Z(()=>new Map),c=Z(()=>new Set),l=Y(e),{label:u,children:d,value:f,onValueChange:m,filter:h,shouldFilter:g,loop:_,disablePointerSelection:v=!1,vimBindings:y=!0,...b}=e,x=a(),ee=a(),S=a(),C=p.useRef(null),w=se();X(()=>{if(f!==void 0){let e=f.trim();n.current.value=e,T.emit()}},[f]),X(()=>{w(6,z)},[]);let T=p.useMemo(()=>({subscribe:e=>(c.current.add(e),()=>c.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,e===`search`)R(),O(),w(1,L);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(S);e?e.focus():(i=document.getElementById(x))==null||i.focus()}if(w(7,()=>{n.current.selectedItemId=B()?.id,T.emit()}),r||w(5,z),l.current?.value!==void 0){let e=t??``;(o=(a=l.current).onValueChange)==null||o.call(a,e);return}}T.emit()}},emit:()=>{c.current.forEach(e=>e())}}),[]),E=p.useMemo(()=>({value:(e,t,r)=>{t!==s.current.get(e)?.value&&(s.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,D(t,r)),w(2,()=>{O(),T.emit()}))},item:(e,t)=>(r.current.add(e),t&&(i.current.has(t)?i.current.get(t).add(e):i.current.set(t,new Set([e]))),w(3,()=>{R(),O(),n.current.value||L(),T.emit()}),()=>{s.current.delete(e),r.current.delete(e),n.current.filtered.items.delete(e);let t=B();w(4,()=>{R(),t?.getAttribute(`id`)===e&&L(),T.emit()})}),group:e=>(i.current.has(e)||i.current.set(e,new Set),()=>{s.current.delete(e),i.current.delete(e)}),filter:()=>l.current.shouldFilter,label:u||e[`aria-label`],getDisablePointerSelection:()=>l.current.disablePointerSelection,listId:x,inputId:S,labelId:ee,listInnerRef:C}),[]);function D(e,t){let r=l.current?.filter??F;return e?r(e,n.current.search,t):0}function O(){if(!n.current.search||l.current.shouldFilter===!1)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=i.current.get(n),a=0;r.forEach(t=>{let n=e.get(t);a=Math.max(n,a)}),t.push([n,a])});let r=C.current;V().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(A);t?t.appendChild(e.parentElement===t?e:e.closest(`${A} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${A} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=C.current?.querySelector(`${k}[${P}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function L(){let e=V().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(P);T.setState(`value`,e||void 0)}function R(){if(!n.current.search||l.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let t of r.current){let r=D(s.current.get(t)?.value??``,s.current.get(t)?.keywords??[]);n.current.filtered.items.set(t,r),r>0&&e++}for(let[e,t]of i.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=e}function z(){var e;let t=B();t&&(t.parentElement?.firstChild===t&&((e=t.closest(k)?.querySelector(te))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function B(){return C.current?.querySelector(`${j}[aria-selected="true"]`)}function V(){return Array.from(C.current?.querySelectorAll(M)||[])}function H(e){let t=V()[e];t&&T.setState(`value`,t.getAttribute(P))}function U(e){var t;let n=B(),r=V(),i=r.findIndex(e=>e===n),a=r[i+e];(t=l.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&T.setState(`value`,a.getAttribute(P))}function W(e){let t=B()?.closest(k),n;for(;t&&!n;)t=e>0?ie(t,k):ae(t,k),n=t?.querySelector(M);n?T.setState(`value`,n.getAttribute(P)):U(e)}let G=()=>H(V().length-1),K=e=>{e.preventDefault(),e.metaKey?G():e.altKey?W(1):U(1)},q=e=>{e.preventDefault(),e.metaKey?H(0):e.altKey?W(-1):U(-1)};return p.createElement(o.div,{ref:t,tabIndex:-1,...b,"cmdk-root":``,onKeyDown:e=>{var t;(t=b.onKeyDown)==null||t.call(b,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:y&&e.ctrlKey&&K(e);break;case`ArrowDown`:K(e);break;case`p`:case`k`:y&&e.ctrlKey&&q(e);break;case`ArrowUp`:q(e);break;case`Home`:e.preventDefault(),H(0);break;case`End`:e.preventDefault(),G();break;case`Enter`:{e.preventDefault();let t=B();if(t){let e=new Event(N);t.dispatchEvent(e)}}}}},p.createElement(`label`,{"cmdk-label":``,htmlFor:E.inputId,id:E.labelId,style:le},u),$(e,e=>p.createElement(ne.Provider,{value:T},p.createElement(I.Provider,{value:E},e))))}),V=p.forwardRef((e,t)=>{let n=a(),i=p.useRef(null),s=p.useContext(z),c=L(),l=Y(e),u=l.current?.forceMount??s?.forceMount;X(()=>{if(!u)return c.item(n,s?.id)},[u]);let d=oe(n,i,[e.value,e.children,i],e.keywords),f=R(),m=Q(e=>e.value&&e.value===d.current),h=Q(e=>u||c.filter()===!1?!0:e.search?e.filtered.items.get(n)>0:!0);p.useEffect(()=>{let t=i.current;if(!(!t||e.disabled))return t.addEventListener(N,g),()=>t.removeEventListener(N,g)},[h,e.onSelect,e.disabled]);function g(){var e,t;_(),(t=(e=l.current).onSelect)==null||t.call(e,d.current)}function _(){f.setState(`value`,d.current,!0)}if(!h)return null;let{disabled:v,value:y,onSelect:b,forceMount:x,keywords:ee,...S}=e;return p.createElement(o.div,{ref:r(i,t),...S,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!v,"aria-selected":!!m,"data-disabled":!!v,"data-selected":!!m,onPointerMove:v||c.getDisablePointerSelection()?void 0:_,onClick:v?void 0:g},e.children)}),H=p.forwardRef((e,t)=>{let{heading:n,children:i,forceMount:s,...c}=e,l=a(),u=p.useRef(null),d=p.useRef(null),f=a(),m=L(),h=Q(e=>s||m.filter()===!1?!0:e.search?e.filtered.groups.has(l):!0);X(()=>m.group(l),[]),oe(l,u,[e.value,e.heading,d]);let g=p.useMemo(()=>({id:l,forceMount:s}),[s]);return p.createElement(o.div,{ref:r(u,t),...c,"cmdk-group":``,role:`presentation`,hidden:h?void 0:!0},n&&p.createElement(`div`,{ref:d,"cmdk-group-heading":``,"aria-hidden":!0,id:f},n),$(e,e=>p.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?f:void 0},p.createElement(z.Provider,{value:g},e))))}),U=p.forwardRef((e,t)=>{let{alwaysRender:n,...i}=e,a=p.useRef(null),s=Q(e=>!e.search);return!n&&!s?null:p.createElement(o.div,{ref:r(a,t),...i,"cmdk-separator":``,role:`separator`})}),W=p.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=R(),s=Q(e=>e.search),c=Q(e=>e.selectedItemId),l=L();return p.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),p.createElement(o.input,{ref:t,...r,"cmdk-input":``,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,"aria-autocomplete":`list`,role:`combobox`,"aria-expanded":!0,"aria-controls":l.listId,"aria-labelledby":l.labelId,"aria-activedescendant":c,id:l.inputId,type:`text`,value:i?e.value:s,onChange:e=>{i||a.setState(`search`,e.target.value),n?.(e.target.value)}})}),G=p.forwardRef((e,t)=>{let{children:n,label:i=`Suggestions`,...a}=e,s=p.useRef(null),c=p.useRef(null),l=Q(e=>e.selectedItemId),u=L();return p.useEffect(()=>{if(c.current&&s.current){let e=c.current,t=s.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),p.createElement(o.div,{ref:r(s,t),...a,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":l,"aria-label":i,id:u.listId},$(e,e=>p.createElement(`div`,{ref:r(c,u.listInnerRef),"cmdk-list-sizer":``},e)))}),K=p.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return p.createElement(f,{open:n,onOpenChange:r},p.createElement(u,{container:o},p.createElement(l,{"cmdk-overlay":``,className:i}),p.createElement(d,{"aria-label":e.label,"cmdk-dialog":``,className:a},p.createElement(B,{ref:t,...s}))))}),q=p.forwardRef((e,t)=>Q(e=>e.filtered.count===0)?p.createElement(o.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),re=p.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return p.createElement(o.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},$(e,e=>p.createElement(`div`,{"aria-hidden":!0},e)))}),J=Object.assign(B,{List:G,Item:V,Input:W,Group:H,Separator:U,Dialog:K,Empty:q,Loading:re});function ie(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function ae(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function Y(e){let t=p.useRef(e);return X(()=>{t.current=e}),t}var X=typeof window>`u`?p.useEffect:p.useLayoutEffect;function Z(e){let t=p.useRef();return t.current===void 0&&(t.current=e()),t}function Q(e){let t=R(),n=()=>e(t.snapshot());return p.useSyncExternalStore(t.subscribe,n,n)}function oe(e,t,n,r=[]){let i=p.useRef(),a=L();return X(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(P,s),i.current=s}),i}var se=()=>{let[e,t]=p.useState(),n=Z(()=>new Map);return X(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function ce(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function $({asChild:e,children:t},n){return e&&p.isValidElement(t)?p.cloneElement(ce(t),{ref:t.ref},n(t.props.children)):n(t)}var le={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`};function ue({className:e,...t}){return(0,m.jsx)(J,{className:i(`flex size-full flex-col overflow-hidden rounded-md bg-transparent text-popover-foreground`,e),...t})}function de({className:e,...t}){return(0,m.jsxs)(`div`,{className:`flex items-center border-b border-border px-3`,"cmdk-input-wrapper":``,"data-slot":`command-input`,children:[(0,m.jsx)(c,{className:`me-2 size-4 shrink-0 opacity-50`}),(0,m.jsx)(J.Input,{className:i(`flex h-11 w-full rounded-md bg-transparent py-3 text-(length:--text-control) text-foreground outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50`,e),...t})]})}function fe({className:e,...t}){return(0,m.jsx)(J.List,{className:i(`max-h-[300px] overflow-x-hidden overflow-y-auto p-1`,e),"data-slot":`command-list`,...t})}function pe({...e}){return(0,m.jsx)(J.Empty,{className:`py-6 text-center text-sm`,"data-slot":`command-empty`,...e})}function me({className:e,...t}){return(0,m.jsx)(J.Group,{className:i(`overflow-hidden p-1.5 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground`,e),"data-slot":`command-group`,...t})}function he({className:e,...t}){return(0,m.jsx)(J.Separator,{className:i(`-mx-1.5 h-px bg-border`,e),"data-slot":`command-separator`,...t})}function ge({className:e,...t}){return(0,m.jsx)(J.Item,{className:i(`relative flex cursor-default items-center gap-2 rounded-xs px-2 py-1.5 text-(length:--text-control) text-foreground outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-interactive-hover [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`,`[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:stroke-[1.5px]`,e),"data-slot":`command-item`,...t})}function _e({icon:e=s,className:t,...n}){return(0,m.jsx)(e,{className:i(`ms-auto size-4 text-primary`,t),"data-check":`true`,"data-slot":`command-check`,...n})}export{de as a,he as c,me as i,F as l,_e as n,ge as o,pe as r,fe as s,ue as t};