ghost 6.25.0 → 6.25.1

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 (180) hide show
  1. package/components/tryghost-i18n-6.25.1.tgz +0 -0
  2. package/components/{tryghost-parse-email-address-6.25.0.tgz → tryghost-parse-email-address-6.25.1.tgz} +0 -0
  3. package/core/built/admin/assets/{PolarAngleAxis-BNo3yZOE.js → PolarAngleAxis-C6ZeSpZB.js} +1 -1
  4. package/core/built/admin/assets/{_baseAssignValue-DwWJd_kU.js → _baseAssignValue-BKAl5FrV.js} +1 -1
  5. package/core/built/admin/assets/{a-large-small-DzN0AB7t.js → a-large-small-B_ulQCIs.js} +1 -1
  6. package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +1 -1
  7. package/core/built/admin/assets/admin-x-settings/{code-editor-view-De3K_osj.mjs → code-editor-view-CBYT1gA1.mjs} +2 -2
  8. package/core/built/admin/assets/admin-x-settings/{index-bGxDzD13.mjs → index-CN5CixaU.mjs} +2 -2
  9. package/core/built/admin/assets/admin-x-settings/{index-5D8KqsFU.mjs → index-CPQODntW.mjs} +2 -2
  10. package/core/built/admin/assets/admin-x-settings/{index-BIUDn7ot.mjs → index-CgTfOd7g.mjs} +9 -9
  11. package/core/built/admin/assets/admin-x-settings/{modals-DuokUyAH.mjs → modals-_y-6HROx.mjs} +2 -2
  12. package/core/built/admin/assets/{at-sign-vqoOA4VZ.js → at-sign-B8xWKM0y.js} +1 -1
  13. package/core/built/admin/assets/{audience-CFjVlFTu.js → audience-CBOR--z9.js} +1 -1
  14. package/core/built/admin/assets/{avatar-flipboard-DuTJ0ty5.js → avatar-flipboard-IipGb_wZ.js} +1 -1
  15. package/core/built/admin/assets/{bluesky-sharing-C1WkXrRJ.js → bluesky-sharing-CkI1QuAm.js} +1 -1
  16. package/core/built/admin/assets/{chart-Bs2L1q8g.js → chart-_slUcr-K.js} +1 -1
  17. package/core/built/admin/assets/{chunk.524.ed5714f505e821e549f3.js → chunk.524.5b9b463506a16221fc91.js} +6 -6
  18. package/core/built/admin/assets/{chunk.582.639cecaca9e77bd7dd4f.js → chunk.582.d8eae1661d753befaefd.js} +7 -7
  19. package/core/built/admin/assets/{chunk.603.5cb992da88800a9388f3.js → chunk.630.3dbb0231a2d871126a80.js} +4 -4
  20. package/core/built/admin/assets/{code-editor-view-DIH4grxv.js → code-editor-view-BWMqr2JV.js} +1 -1
  21. package/core/built/admin/assets/comments-BeoA0nfK.js +1 -0
  22. package/core/built/admin/assets/{content-helpers-Cr_DHEOl.js → content-helpers-CmTGdEmL.js} +1 -1
  23. package/core/built/admin/assets/{copy-w3c9zkaZ.js → copy-CDHcAPJw.js} +1 -1
  24. package/core/built/admin/assets/{data-list-D-K_XfF3.js → data-list-Crb1ffbp.js} +1 -1
  25. package/core/built/admin/assets/{deleted-feed-item-DK47iaMV.js → deleted-feed-item-DBW0zJQg.js} +1 -1
  26. package/core/built/admin/assets/{dropzone-BHWXAN0m.js → dropzone-B9JUsQlW.js} +3 -3
  27. package/core/built/admin/assets/{edit-profile-DCyHhZgx.js → edit-profile-Dz-IhetN.js} +1 -1
  28. package/core/built/admin/assets/{empty-indicator-DjmACVr2.js → empty-indicator-2QGnEbtY.js} +1 -1
  29. package/core/built/admin/assets/{en-Cl0b7CNW.js → en-BRQS1Z8j.js} +1 -1
  30. package/core/built/admin/assets/{feed-C5AauoXf.js → feed-T3kW9UJA.js} +1 -1
  31. package/core/built/admin/assets/filters-ChOMQQZW.js +1 -0
  32. package/core/built/admin/assets/{gh-chart-xjwu2HZo.js → gh-chart-fuWw60Ka.js} +1 -1
  33. package/core/built/admin/assets/{growth-DDyypj0q.js → growth-D9sCnmon.js} +1 -1
  34. package/core/built/admin/assets/{hash-Bowe71Lt.js → hash-CI1pQ1UC.js} +1 -1
  35. package/core/built/admin/assets/header-OevT95FI.js +1 -0
  36. package/core/built/admin/assets/{inbox-DS4qMjUb.js → inbox-DYY8-M1K.js} +1 -1
  37. package/core/built/admin/assets/{index-A6WmqYr6.js → index-8CZdLQzu.js} +1 -1
  38. package/core/built/admin/assets/{index-6Ag8SK_E.js → index-BDAOs7pI.js} +1 -1
  39. package/core/built/admin/assets/{index-B_XhekWb.js → index-BEEgMX-_.js} +1 -1
  40. package/core/built/admin/assets/index-BbveDn8H.css +1 -0
  41. package/core/built/admin/assets/{index-CfpTfwls.js → index-C-Cpbee5.js} +1 -1
  42. package/core/built/admin/assets/{index-4xuWCs9h.js → index-CCF2RKxR.js} +12 -12
  43. package/core/built/admin/assets/{index-JMWMnGGt.js → index-CEnfjH5h.js} +3 -3
  44. package/core/built/admin/assets/{index-N61Xkr32.js → index-CcFVbffG.js} +1 -1
  45. package/core/built/admin/assets/{index-CZK1A375.js → index-CyMlhfZJ.js} +1 -1
  46. package/core/built/admin/assets/{index-CFY2MOp4.js → index-DBZYUfjO.js} +1 -1
  47. package/core/built/admin/assets/{index-C8ssgmjI.js → index-DJa3pLmx.js} +1 -1
  48. package/core/built/admin/assets/{index-SDMWxO5r.js → index-DVqmhe-L.js} +1 -1
  49. package/core/built/admin/assets/{index-BCvRITTU.js → index-DW5aEj6O.js} +2 -2
  50. package/core/built/admin/assets/{index-CVvW6Q-y.js → index-DcFgRUSN.js} +1 -1
  51. package/core/built/admin/assets/{index-DX6vaEVx.js → index-DjgsxHeB.js} +1 -1
  52. package/core/built/admin/assets/{index-B8XuCPIT.js → index-mqQc8MVd.js} +1 -1
  53. package/core/built/admin/assets/{index-DqlHFtZD.js → index-qQZsxgFE.js} +1 -1
  54. package/core/built/admin/assets/{koenig-lexical-DL3I-AcK.js → koenig-lexical-CsbE6fpi.js} +1 -1
  55. package/core/built/admin/assets/kpis-Dw04ruBN.js +1 -0
  56. package/core/built/admin/assets/{label-DBwnwMrX.js → label-tBvn89sm.js} +1 -1
  57. package/core/built/admin/assets/{links-CnjcW0lg.js → links-Do4jcjIh.js} +1 -1
  58. package/core/built/admin/assets/{loader-circle-CGDGFypO.js → loader-circle-C8exRUku.js} +4 -4
  59. package/core/built/admin/assets/{lucide-react-BfVLf4Hw.js → lucide-react-4VO5Dwow.js} +1 -1
  60. package/core/built/admin/assets/{main-layout-C_UH037j.js → main-layout-BAqXRgAx.js} +1 -1
  61. package/core/built/admin/assets/{member-route-CKuE9uDU.js → member-route-D4n-RbQd.js} +1 -1
  62. package/core/built/admin/assets/members-DRLgwCgJ.js +15 -0
  63. package/core/built/admin/assets/{message-square-text-BDJyLbG2.js → message-square-text-CC_1bY-Q.js} +5 -5
  64. package/core/built/admin/assets/{minus-BM0xhFIQ.js → minus-DSyx9DCe.js} +1 -1
  65. package/core/built/admin/assets/{modals-B6ZySU0x.js → modals-AryZr_DA.js} +1 -1
  66. package/core/built/admin/assets/{moderation-CQMIGpv1.js → moderation-DwKm9LO-.js} +1 -1
  67. package/core/built/admin/assets/{newsletter-Dexg7vU8.js → newsletter-C0rydPGS.js} +1 -1
  68. package/core/built/admin/assets/{newsletters-CT4k07rm.js → newsletters-DKdmxfDG.js} +1 -1
  69. package/core/built/admin/assets/{note-CiemurXq.js → note-996Zos9G.js} +1 -1
  70. package/core/built/admin/assets/{overview-9TwqfzGq.js → overview-r17hlWAB.js} +1 -1
  71. package/core/built/admin/assets/{pagemenu-Dq744OgH.js → pagemenu-DzpB1AkZ.js} +17 -17
  72. package/core/built/admin/assets/{post-analytics-CcRhLDKA.js → post-analytics-AwufPVFE.js} +1 -1
  73. package/core/built/admin/assets/{post-analytics-context-COgn3d86.js → post-analytics-context-GFe0lMc-.js} +1 -1
  74. package/core/built/admin/assets/{post-analytics-header-DtBp2QSX.js → post-analytics-header-DmGyNvP9.js} +1 -1
  75. package/core/built/admin/assets/{post-share-modal-BlOEKX3-.js → post-share-modal-CTpdCS2X.js} +1 -1
  76. package/core/built/admin/assets/posts/{comments-C4rwkXWy.mjs → comments-Cvt31uBs.mjs} +32 -31
  77. package/core/built/admin/assets/posts/{dialog-Chkt119L.mjs → dialog-DaViJlnd.mjs} +3 -3
  78. package/core/built/admin/assets/posts/{dropdown-menu-CvSs_ay2.mjs → dropdown-menu-B4KGMiRI.mjs} +5 -5
  79. package/core/built/admin/assets/posts/{empty-indicator-GyeO28CG.mjs → empty-indicator-BaD6pCXM.mjs} +2 -2
  80. package/core/built/admin/assets/posts/{filters-BD3A2GlB.mjs → filters-BsCI4RJg.mjs} +11 -7
  81. package/core/built/admin/assets/posts/{get-site-timezone-Baeue4hE.mjs → get-site-timezone-Bo-iI2bI.mjs} +2 -2
  82. package/core/built/admin/assets/posts/{growth-kmVbKjBt.mjs → growth-BJxIDp2o.mjs} +14 -14
  83. package/core/built/admin/assets/posts/header-7zhnErbb.mjs +100 -0
  84. package/core/built/admin/assets/posts/{heading-DV_WQJh4.mjs → heading-BCDx_eVF.mjs} +2 -2
  85. package/core/built/admin/assets/posts/{hooks-DQhsid0U.mjs → hooks-DQL2O_El.mjs} +2 -2
  86. package/core/built/admin/assets/posts/{index-CVum5OE6.mjs → index-0mEgtljt.mjs} +3 -3
  87. package/core/built/admin/assets/posts/{index-Bl1ReYmV.mjs → index-BTzJVQ6S.mjs} +10 -10
  88. package/core/built/admin/assets/posts/{input-C7qFEkmt.mjs → input-DaHXv92f.mjs} +2 -2
  89. package/core/built/admin/assets/posts/{kpis-DteuJY-D.mjs → kpis-GRsx6fPV.mjs} +10 -10
  90. package/core/built/admin/assets/posts/{links-eoZr0T0x.mjs → links-B1q_pqE9.mjs} +4 -4
  91. package/core/built/admin/assets/posts/{loading-indicator-Dj1SCL40.mjs → loading-indicator-DiYqXomj.mjs} +3 -3
  92. package/core/built/admin/assets/posts/{main-layout-Ct-TA0TH.mjs → main-layout-DeqPTJTe.mjs} +2 -2
  93. package/core/built/admin/assets/posts/{members-BY9oPKo4.mjs → members-LABk5yI5.mjs} +3055 -2831
  94. package/core/built/admin/assets/posts/{newsletter-BR1tln6E.mjs → newsletter-C_nbHBaP.mjs} +15 -15
  95. package/core/built/admin/assets/posts/{overview-j1ANMAQ2.mjs → overview-AJnKv4Ze.mjs} +16 -16
  96. package/core/built/admin/assets/posts/{post-analytics-DnG-Rolr.mjs → post-analytics-b_CKsePp.mjs} +6 -6
  97. package/core/built/admin/assets/posts/{post-analytics-context-hiKFF4yE.mjs → post-analytics-context-D6jtpxxm.mjs} +5 -5
  98. package/core/built/admin/assets/posts/{post-analytics-header-OqAJ8SUL.mjs → post-analytics-header-R5UF_tF0.mjs} +11 -11
  99. package/core/built/admin/assets/posts/{post-share-modal-BWfujDu2.mjs → post-share-modal-y4BEOajk.mjs} +4 -4
  100. package/core/built/admin/assets/posts/{posts-CS9tqSJC.mjs → posts-C2hNrf1c.mjs} +2 -2
  101. package/core/built/admin/assets/posts/posts.js +1 -1
  102. package/core/built/admin/assets/posts/{reply-CX_EQh9X.mjs → reply-2Uvi3Kxb.mjs} +2 -2
  103. package/core/built/admin/assets/posts/{search-BqzdnPQb.mjs → search-se7meOnL.mjs} +2 -2
  104. package/core/built/admin/assets/posts/{select-CD5WLIrZ.mjs → select-DpUpauFg.mjs} +8 -8
  105. package/core/built/admin/assets/posts/{separator-DFPLsWCc.mjs → separator-CdBM46dw.mjs} +3 -3
  106. package/core/built/admin/assets/posts/{settings-lnEt3Kb-.mjs → settings-Chhj9xKP.mjs} +2 -2
  107. package/core/built/admin/assets/posts/{sheet-CkLfUqdH.mjs → sheet--k3SiDko.mjs} +3 -3
  108. package/core/built/admin/assets/posts/{skeleton-BZCi-IYy.mjs → skeleton-CUSLSLoY.mjs} +3 -3
  109. package/core/built/admin/assets/posts/{source-icon-C0k2hDC_.mjs → source-icon-BjYUIoXN.mjs} +3 -3
  110. package/core/built/admin/assets/posts/{stats-AHbSTqzG.mjs → stats-BRdXKaxM.mjs} +4 -4
  111. package/core/built/admin/assets/posts/{table-DMrf6wp5.mjs → table-Bgi_UcfL.mjs} +2 -2
  112. package/core/built/admin/assets/posts/{tabs-BH8GNJCe.mjs → tabs-DT8Bh72E.mjs} +14 -14
  113. package/core/built/admin/assets/posts/{tags-C5VV8Gd0.mjs → tags-BCFLnZYl.mjs} +61 -60
  114. package/core/built/admin/assets/posts/{tags-DucujdYI.mjs → tags-Kv2q0o3p.mjs} +2 -2
  115. package/core/built/admin/assets/posts/{use-scroll-restoration-C7A3TpAz.mjs → use-scroll-restoration-CLAUAal3.mjs} +6 -6
  116. package/core/built/admin/assets/posts/{virtual-list-window-BIGoc0th.mjs → virtual-list-window-CQDEqNBL.mjs} +180 -274
  117. package/core/built/admin/assets/posts/{web-DczNailO.mjs → web-CqN0MQU6.mjs} +18 -18
  118. package/core/built/admin/assets/{posts-Dr3u9yOp.js → posts-GvXDuhVG.js} +1 -1
  119. package/core/built/admin/assets/{referrers-6As_USul.js → referrers-Bd9pW-WX.js} +1 -1
  120. package/core/built/admin/assets/{repeat-D-Ki-Cg5.js → repeat-y6HlMgGO.js} +2 -2
  121. package/core/built/admin/assets/{reply-C4V0xZ2U.js → reply-Cc8ryI5v.js} +2 -2
  122. package/core/built/admin/assets/{select-Dt579MbD.js → select-CGr_5qad.js} +1 -1
  123. package/core/built/admin/assets/{settings-BMsoTszq.js → settings-BPsfSgg3.js} +1 -1
  124. package/core/built/admin/assets/{settings-Ck1Hqs1x.js → settings-BTd0Adha.js} +4 -4
  125. package/core/built/admin/assets/{sort-button-Bn325H3y.js → sort-button-k76_5HR2.js} +1 -1
  126. package/core/built/admin/assets/{source-icon-CNqsYZeA.js → source-icon-DMt0UskC.js} +1 -1
  127. package/core/built/admin/assets/{sprout-C9DbfYGe.js → sprout-Td9eaOoY.js} +2 -2
  128. package/core/built/admin/assets/{square-CWrI0H4v.js → square-Df8vEYlG.js} +1 -1
  129. package/core/built/admin/assets/stats/{audience-DBW5Xu1c.mjs → audience-DMTObpL8.mjs} +3 -3
  130. package/core/built/admin/assets/stats/{content-helpers-BR6DcWwH.mjs → content-helpers-ReMp9KJN.mjs} +4 -4
  131. package/core/built/admin/assets/stats/{index-CFvGHbAV.mjs → index-6L-yLKFX.mjs} +8 -8
  132. package/core/built/admin/assets/stats/{index-BuS4r1cs.mjs → index-CIUyjeP-.mjs} +5 -5
  133. package/core/built/admin/assets/stats/{index-DKS4mzS-.mjs → index-CMSDpQm3.mjs} +11 -7
  134. package/core/built/admin/assets/stats/{index-ZjicrvMA.mjs → index-Ca-_KJzy.mjs} +5 -5
  135. package/core/built/admin/assets/stats/{index-TeAxlGlY.mjs → index-CfO5yPSP.mjs} +5 -5
  136. package/core/built/admin/assets/stats/{sort-button-DbwzvVKL.mjs → sort-button-BB_M2CdZ.mjs} +3 -3
  137. package/core/built/admin/assets/stats/{stats-BatzfgdA.mjs → stats-B2nnuLeU.mjs} +2 -2
  138. package/core/built/admin/assets/stats/stats.js +1 -1
  139. package/core/built/admin/assets/stats/{tabs-B32ptD5t.mjs → tabs-DjJG-d3O.mjs} +3 -3
  140. package/core/built/admin/assets/stats/{use-growth-stats-DmTT2gKd.mjs → use-growth-stats-BMT5M7l6.mjs} +3 -3
  141. package/core/built/admin/assets/{stats-G4Ge9ETb.js → stats-Bs9ZbmXX.js} +1 -1
  142. package/core/built/admin/assets/{stats-view-Bx3oDAIW.js → stats-view-BWoPuaLz.js} +1 -1
  143. package/core/built/admin/assets/{step-1-y3anLU0g.js → step-1-BUvsuCs0.js} +1 -1
  144. package/core/built/admin/assets/{step-2-Dr1lGnHU.js → step-2-DI9ekXls.js} +1 -1
  145. package/core/built/admin/assets/{step-3-C_d2hvMs.js → step-3-DzT_XhaS.js} +2 -2
  146. package/core/built/admin/assets/{table-CbN_vbUx.js → table-BKqaEGAm.js} +1 -1
  147. package/core/built/admin/assets/{tabs-DFJzY5np.js → tabs-G6Ql8vbf.js} +1 -1
  148. package/core/built/admin/assets/tags-BHm-dlBs.js +1 -0
  149. package/core/built/admin/assets/{tags-Ddg8oG2Y.js → tags-_taMP0sJ.js} +1 -1
  150. package/core/built/admin/assets/{textarea-DikWsYMt.js → textarea-DcVuGYYq.js} +1 -1
  151. package/core/built/admin/assets/{tiers-B7qV_8mO.js → tiers-kv-xBoqQ.js} +1 -1
  152. package/core/built/admin/assets/{toggle-group-tXaaTD7P.js → toggle-group-DsatLdt7.js} +1 -1
  153. package/core/built/admin/assets/{topic-filter-bQtscKE6.js → topic-filter-DkJyIuAf.js} +1 -1
  154. package/core/built/admin/assets/{trash--VS50LgS.js → trash-BeZZgbn-.js} +1 -1
  155. package/core/built/admin/assets/{upload-Dz-DI9rQ.js → upload-BG7KNIn7.js} +4 -4
  156. package/core/built/admin/assets/{use-growth-stats-DNVioFUq.js → use-growth-stats-CNGdl44N.js} +1 -1
  157. package/core/built/admin/assets/{use-scroll-restoration-CxWEiCuS.js → use-scroll-restoration-CQ3w0W98.js} +1 -1
  158. package/core/built/admin/assets/{use-simple-pagination-BA6xsVQO.js → use-simple-pagination-BeIJ_5Vv.js} +1 -1
  159. package/core/built/admin/assets/{user-plus-B0tpOnLM.js → user-plus-CMxR50-Y.js} +1 -1
  160. package/core/built/admin/assets/{user-round-check-caJYm0bB.js → user-round-check-2nhPmqP3.js} +1 -1
  161. package/core/built/admin/assets/virtual-list-window-Uq8oKYVG.js +4 -0
  162. package/core/built/admin/assets/{wallet-cards-DBM65lA_.js → wallet-cards-CJcVzH0D.js} +1 -1
  163. package/core/built/admin/assets/{web-CSXixG1S.js → web-BPwTFKrc.js} +1 -1
  164. package/core/built/admin/index.html +5 -5
  165. package/core/server/services/members/service.js +0 -22
  166. package/core/server/services/verification/verification-webhook-service.js +2 -2
  167. package/core/server/services/verification/verification-webhook-service.ts +2 -2
  168. package/core/server/services/verification-trigger.js +34 -69
  169. package/core/shared/labs.js +2 -2
  170. package/package.json +5 -5
  171. package/tsconfig.tsbuildinfo +1 -1
  172. package/components/tryghost-i18n-6.25.0.tgz +0 -0
  173. package/core/built/admin/assets/comments-gAnA10dK.js +0 -1
  174. package/core/built/admin/assets/filters-DzSJ1ez3.js +0 -1
  175. package/core/built/admin/assets/index-Chp0ODAU.css +0 -1
  176. package/core/built/admin/assets/kpis-Bm-hIEkf.js +0 -1
  177. package/core/built/admin/assets/members-CzztojNk.js +0 -15
  178. package/core/built/admin/assets/tags-D5g9tXZU.js +0 -1
  179. package/core/built/admin/assets/virtual-list-window-JdKgHS9L.js +0 -4
  180. package/core/shared/config/env/config.testing-browser.json +0 -98
@@ -1,4 +1,4 @@
1
- import{j as n,r as A,aD as he,t as Ve,dv as kv,aL as uh,aJ as jv,ay as Ev,av as dh,aM as Nv,ax as $i,az as yu,aN as Tv,aA as tu,aw as Cv,aB as Iv,aC as Sv,dw as Ge,dx as Av,dy as Dv,dz as $v,dA as Rv,ae as qr,a$ as Ke,dg as Os,ds as Tr,dB as ot,dC as rt,ce as fh,dd as ph,dD as hh,dE as jf,dF as Lv,dG as Hn,dH as Ov,dI as Fv,dJ as Pv,dK as mh,dL as _u,dM as Hv,dN as zv,dO as Uv,dP as Er,dQ as Ei,dR as Mu,dS as Bv,dT as Wv,ar as Yv,dU as qv,du as xi,dV as Gv,dW as Sa,dX as Xv,dY as Kv,ag as Zv,aQ as Vv,dZ as Qv,d_ as gh,d$ as xh,e0 as Ef,dr as Tt,e1 as Ds,e2 as nu,e3 as Jv,e4 as $s,e5 as ey,e6 as ty,e7 as ny,e8 as Ni,e9 as ry,ea as sy,eb as ru,ad as ay,ec as oy,ed as iy,ee as ly,ef as cy,eg as _r,eh as Nf,ei as Tf,ej as uy}from"./index-JMWMnGGt.js";import{H as ct,a as zn,S as Rs,B as Ie,x as Ri,K as dy,y as Ft,z as fy,A as kt,M as ut,C as Pn,F as py,G as Nr,J as hy,O as Li,Q as me,U as Pe,V as my,W as Oi,X as ze,Y as er,Z as Cr,_ as ht,$ as xt,a0 as Gr,a1 as an,a2 as gy,a3 as Cf,a4 as Be,a5 as ve,a6 as If,a7 as Sf,a8 as Ye,a9 as wh,aa as bh,ab as xy,ac as wy,ad as by,ae as vy,af as Fs,ag as Ps,ah as Un,ai as nr,aj as $a,ak as yy,al as _y,am as My,an as ky,ao as jy,ap as Ti,aq as Ci,ar as Ey,as as Af,at as Df,au as Ny,av as Hs,aw as tr,ax as Jn,ay as vh,az as Ty,aA as ku,aB as Cy,aC as yh,aD as _h,aE as Mh,aF as kh,aG as Iy,aH as Sy,aI as vn,aJ as $f,aK as jh,aL as Eh,aM as Nh,aN as su,aO as Ay,aP as Dy,aQ as $y,aR as au,aS as ju,aT as ki,aU as Ry,aV as Ly,aW as Rf,aX as Oy,aY as Fy,aZ as Th,a_ as Eu,a$ as Nu,b0 as Py,b1 as Hy,b2 as Ch,b3 as zy,b4 as Ih,b5 as Uy,b6 as By,b7 as Wy}from"./settings-Ck1Hqs1x.js";import{a as Yy,u as Sh,b as Ah}from"./newsletters-CT4k07rm.js";import{C as qy,a as Gy}from"./index-CFY2MOp4.js";import{u as Dh}from"./posts-Dr3u9yOp.js";import{r as $h}from"./index-DX6vaEVx.js";import{a as Rh,b as Lh,u as Tu,c as Cu,d as Xy}from"./dropzone-BHWXAN0m.js";import{u as Xr,a as Iu,b as Ky,g as Ba}from"./tiers-B7qV_8mO.js";import{m as Zy,n as Vy}from"./lucide-react-BfVLf4Hw.js";import"./tabs-DFJzY5np.js";import"./wallet-cards-DBM65lA_.js";import"./referrers-6As_USul.js";import"./select-Dt579MbD.js";import"./loader-circle-CGDGFypO.js";import"./toggle-group-tXaaTD7P.js";import"./textarea-DikWsYMt.js";import"./index-6Ag8SK_E.js";import"./a-large-small-DzN0AB7t.js";import"./upload-Dz-DI9rQ.js";import"./at-sign-vqoOA4VZ.js";import"./copy-w3c9zkaZ.js";import"./message-square-text-BDJyLbG2.js";import"./hash-Bowe71Lt.js";import"./inbox-DS4qMjUb.js";import"./user-plus-B0tpOnLM.js";import"./minus-BM0xhFIQ.js";import"./tags-Ddg8oG2Y.js";import"./square-CWrI0H4v.js";import"./user-round-check-caJYm0bB.js";import"./repeat-D-Ki-Cg5.js";import"./reply-C4V0xZ2U.js";import"./sprout-C9DbfYGe.js";import"./trash--VS50LgS.js";const Oh=({children:t,...a})=>n.jsx("div",{className:"flex size-full flex-col px-8",...a,children:n.jsx("div",{className:"size-full overflow-hidden rounded-t-[4px] shadow-sm",children:t})}),Fh=({children:t,...a})=>n.jsx("div",{className:"flex h-[775px] w-[380px] flex-col rounded-3xl bg-white p-2 shadow-xl dark:bg-grey-900",...a,children:n.jsx("div",{className:"h-100 w-100 grow overflow-auto rounded-2xl border border-grey-100 dark:border-grey-950",children:t})}),Qy=({title:t,label:a,value:s,onChange:i,disabled:u,error:p,hint:w,checked:m,separator:x,testId:g})=>{const h=A.useId(),b=y=>{i(y===!0)};return n.jsxs("div",{children:[n.jsxs("div",{className:`flex flex-col gap-1 ${x&&"pb-2"}`,children:[t&&n.jsx(ct,{grey:!0,level:6,children:t}),n.jsxs("label",{className:`flex cursor-pointer items-start ${t&&"mt-1 -mb-1"}`,htmlFor:h,children:[n.jsx(qy,{className:"mt-0.5 flex size-4 cursor-pointer appearance-none items-center justify-center rounded-[3px] border border-solid border-grey-500 bg-white outline-hidden data-[state=checked]:border-black data-[state=checked]:bg-black data-[state=indeterminate]:border-black data-[state=indeterminate]:bg-black","data-testid":g,defaultChecked:m,disabled:u,id:h,value:s,onCheckedChange:b,children:n.jsx(Gy,{children:n.jsx("svg",{fill:"none",height:"11",viewBox:"0 0 10 11",width:"10",children:n.jsx("path",{d:"M1 5.88889L4.6 9L9 1",stroke:"white",strokeLinecap:"round",strokeWidth:"2"})})})}),n.jsxs("div",{className:`ml-2 flex flex-col ${w&&"mb-2"}`,children:[n.jsx("span",{className:`inline-block text-[1.425rem] dark:text-white ${w&&"-mb-1"}`,children:a}),w&&n.jsx(zn,{color:p?"red":"",children:w})]})]})]}),(x||p)&&n.jsx(Rs,{className:p?"border-red":""})]})},ou=({title:t,checkboxes:a,hint:s,error:i})=>n.jsxs("div",{children:[t&&n.jsx(ct,{grey:!0,level:6,children:t}),n.jsx("div",{className:"mt-2 flex flex-col gap-1",children:a?.map(({key:u,...p})=>n.jsx(Qy,{...p},u))}),n.jsx("div",{className:`flex flex-col ${s&&"mb-2"}`,children:s&&n.jsx(zn,{color:i?"red":"",children:s})})]}),Jy=({hex:t,value:a,title:s,size:i="md",isSelected:u,onSelect:p})=>{const w=A.useRef(null),m=h=>{h.preventDefault(),p(a!==void 0?a:t)},x=t.length===4&&t[3]==="0"||t.length===8&&t.slice(6)==="00";let g="h-5 w-5";switch(i){case"lg":g="w-6 h-6";break}return n.jsx("button",{ref:w,className:he("relative flex shrink-0 cursor-pointer items-center rounded-full border border-grey-300 dark:border-grey-800",g,u&&"outline outline-2 outline-green"),style:{backgroundColor:t},title:s,type:"button",onClick:m,children:x&&n.jsx("div",{className:"absolute top-0 left-0 z-10 w-[136%] origin-left rotate-45 border-b border-b-red"})})},Ph=({title:t,value:a,swatches:s,swatchSize:i="md",onSwatchChange:u,onTogglePicker:p,isExpanded:w,picker:m=!0,containerClassName:x})=>{const g=s.find(b=>b.value===a||b.hex===a);x=he("flex flex-col gap-3");const h=w||!m;return n.jsxs("div",{className:x,children:[t&&n.jsx(ct,{useLabelTag:!0,children:t}),n.jsxs("div",{className:"flex gap-1",children:[h&&n.jsx("div",{className:"flex items-center gap-1",children:s.map(({customContent:b,...y})=>b?n.jsx(A.Fragment,{children:b},y.title):n.jsx(Jy,{isSelected:g?.title===y.title,size:i,onSelect:u,...y},y.title))}),m&&n.jsxs("button",{"aria-label":"Pick color",className:"relative size-6 cursor-pointer rounded-full border border-grey-250 dark:border-grey-800",type:"button",onClick:p,children:[n.jsx("div",{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%))]"}),g&&n.jsx("div",{className:"absolute inset-[3px] overflow-hidden rounded-full border border-white dark:border-grey-950",style:{backgroundColor:g.hex},children:g.hex==="transparent"&&n.jsx("div",{className:"absolute top-[3px] left-[3px] z-10 w-[136%] origin-left rotate-45 border-b border-b-red"})}),!g&&a&&n.jsx("div",{className:"absolute inset-[3px] overflow-hidden rounded-full border border-white dark:border-grey-950",style:{backgroundColor:a},children:a==="transparent"&&n.jsx("div",{className:"absolute top-[3px] left-[3px] z-10 w-[136%] origin-left rotate-45 border-b border-b-red"})})]})]})]})};function zs(){return(zs=Object.assign||function(t){for(var a=1;a<arguments.length;a++){var s=arguments[a];for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(t[i]=s[i])}return t}).apply(this,arguments)}function Fi(t,a){if(t==null)return{};var s,i,u={},p=Object.keys(t);for(i=0;i<p.length;i++)a.indexOf(s=p[i])>=0||(u[s]=t[s]);return u}function Oa(t){var a=A.useRef(t),s=A.useRef(function(i){a.current&&a.current(i)});return a.current=t,s.current}var Fa=function(t,a,s){return a===void 0&&(a=0),s===void 0&&(s=1),t>s?s:t<a?a:t},Ra=function(t){return"touches"in t},iu=function(t){return t&&t.ownerDocument.defaultView||self},Lf=function(t,a,s){var i=t.getBoundingClientRect(),u=Ra(a)?(function(p,w){for(var m=0;m<p.length;m++)if(p[m].identifier===w)return p[m];return p[0]})(a.touches,s):a;return{left:Fa((u.pageX-(i.left+iu(t).pageXOffset))/i.width),top:Fa((u.pageY-(i.top+iu(t).pageYOffset))/i.height)}},Of=function(t){!Ra(t)&&t.preventDefault()},Hh=Ve.memo(function(t){var a=t.onMove,s=t.onKey,i=Fi(t,["onMove","onKey"]),u=A.useRef(null),p=Oa(a),w=Oa(s),m=A.useRef(null),x=A.useRef(!1),g=A.useMemo(function(){var v=function(j){Of(j),(Ra(j)?j.touches.length>0:j.buttons>0)&&u.current?p(Lf(u.current,j,m.current)):E(!1)},C=function(){return E(!1)};function E(j){var N=x.current,D=iu(u.current),$=j?D.addEventListener:D.removeEventListener;$(N?"touchmove":"mousemove",v),$(N?"touchend":"mouseup",C)}return[function(j){var N=j.nativeEvent,D=u.current;if(D&&(Of(N),!(function(R,O){return O&&!Ra(R)})(N,x.current)&&D)){if(Ra(N)){x.current=!0;var $=N.changedTouches||[];$.length&&(m.current=$[0].identifier)}D.focus(),p(Lf(D,N,m.current)),E(!0)}},function(j){var N=j.which||j.keyCode;N<37||N>40||(j.preventDefault(),w({left:N===39?.05:N===37?-.05:0,top:N===40?.05:N===38?-.05:0}))},E]},[w,p]),h=g[0],b=g[1],y=g[2];return A.useEffect(function(){return y},[y]),Ve.createElement("div",zs({},i,{onTouchStart:h,onMouseDown:h,className:"react-colorful__interactive",ref:u,onKeyDown:b,tabIndex:0,role:"slider"}))}),Su=function(t){return t.filter(Boolean).join(" ")},zh=function(t){var a=t.color,s=t.left,i=t.top,u=i===void 0?.5:i,p=Su(["react-colorful__pointer",t.className]);return Ve.createElement("div",{className:p,style:{top:100*u+"%",left:100*s+"%"}},Ve.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:a}}))},Ot=function(t,a,s){return a===void 0&&(a=0),s===void 0&&(s=Math.pow(10,a)),Math.round(s*t)/s},e1=function(t){return a1(lu(t))},lu=function(t){return t[0]==="#"&&(t=t.substring(1)),t.length<6?{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16),a:t.length===4?Ot(parseInt(t[3]+t[3],16)/255,2):1}:{r:parseInt(t.substring(0,2),16),g:parseInt(t.substring(2,4),16),b:parseInt(t.substring(4,6),16),a:t.length===8?Ot(parseInt(t.substring(6,8),16)/255,2):1}},t1=function(t){return s1(r1(t))},n1=function(t){var a=t.s,s=t.v,i=t.a,u=(200-a)*s/100;return{h:Ot(t.h),s:Ot(u>0&&u<200?a*s/100/(u<=100?u:200-u)*100:0),l:Ot(u/2),a:Ot(i,2)}},cu=function(t){var a=n1(t);return"hsl("+a.h+", "+a.s+"%, "+a.l+"%)"},r1=function(t){var a=t.h,s=t.s,i=t.v,u=t.a;a=a/360*6,s/=100,i/=100;var p=Math.floor(a),w=i*(1-s),m=i*(1-(a-p)*s),x=i*(1-(1-a+p)*s),g=p%6;return{r:Ot(255*[i,m,w,w,x,i][g]),g:Ot(255*[x,i,i,m,w,w][g]),b:Ot(255*[w,w,x,i,i,m][g]),a:Ot(u,2)}},wi=function(t){var a=t.toString(16);return a.length<2?"0"+a:a},s1=function(t){var a=t.r,s=t.g,i=t.b,u=t.a,p=u<1?wi(Ot(255*u)):"";return"#"+wi(a)+wi(s)+wi(i)+p},a1=function(t){var a=t.r,s=t.g,i=t.b,u=t.a,p=Math.max(a,s,i),w=p-Math.min(a,s,i),m=w?p===a?(s-i)/w:p===s?2+(i-a)/w:4+(a-s)/w:0;return{h:Ot(60*(m<0?m+6:m)),s:Ot(p?w/p*100:0),v:Ot(p/255*100),a:u}},o1=Ve.memo(function(t){var a=t.hue,s=t.onChange,i=Su(["react-colorful__hue",t.className]);return Ve.createElement("div",{className:i},Ve.createElement(Hh,{onMove:function(u){s({h:360*u.left})},onKey:function(u){s({h:Fa(a+360*u.left,0,360)})},"aria-label":"Hue","aria-valuenow":Ot(a),"aria-valuemax":"360","aria-valuemin":"0"},Ve.createElement(zh,{className:"react-colorful__hue-pointer",left:a/360,color:cu({h:a,s:100,v:100,a:1})})))}),i1=Ve.memo(function(t){var a=t.hsva,s=t.onChange,i={backgroundColor:cu({h:a.h,s:100,v:100,a:1})};return Ve.createElement("div",{className:"react-colorful__saturation",style:i},Ve.createElement(Hh,{onMove:function(u){s({s:100*u.left,v:100-100*u.top})},onKey:function(u){s({s:Fa(a.s+100*u.left,0,100),v:Fa(a.v-100*u.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+Ot(a.s)+"%, Brightness "+Ot(a.v)+"%"},Ve.createElement(zh,{className:"react-colorful__saturation-pointer",top:1-a.v/100,left:a.s/100,color:cu(a)})))}),Uh=function(t,a){if(t===a)return!0;for(var s in t)if(t[s]!==a[s])return!1;return!0},l1=function(t,a){return t.toLowerCase()===a.toLowerCase()||Uh(lu(t),lu(a))};function c1(t,a,s){var i=Oa(s),u=A.useState(function(){return t.toHsva(a)}),p=u[0],w=u[1],m=A.useRef({color:a,hsva:p});A.useEffect(function(){if(!t.equal(a,m.current.color)){var g=t.toHsva(a);m.current={hsva:g,color:a},w(g)}},[a,t]),A.useEffect(function(){var g;Uh(p,m.current.hsva)||t.equal(g=t.fromHsva(p),m.current.color)||(m.current={hsva:p,color:g},i(g))},[p,t,i]);var x=A.useCallback(function(g){w(function(h){return Object.assign({},h,g)})},[]);return[p,x]}var u1=typeof window<"u"?A.useLayoutEffect:A.useEffect,d1=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},Ff=new Map,f1=function(t){u1(function(){var a=t.current?t.current.ownerDocument:document;if(a!==void 0&&!Ff.has(a)){var s=a.createElement("style");s.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,Ff.set(a,s);var i=d1();i&&s.setAttribute("nonce",i),a.head.appendChild(s)}},[])},p1=function(t){var a=t.className,s=t.colorModel,i=t.color,u=i===void 0?s.defaultColor:i,p=t.onChange,w=Fi(t,["className","colorModel","color","onChange"]),m=A.useRef(null);f1(m);var x=c1(s,u,p),g=x[0],h=x[1],b=Su(["react-colorful",a]);return Ve.createElement("div",zs({},w,{ref:m,className:b}),Ve.createElement(i1,{hsva:g,onChange:h}),Ve.createElement(o1,{hue:g.h,onChange:h,className:"react-colorful__last-control"}))},h1={defaultColor:"000",toHsva:e1,fromHsva:function(t){return t1({h:t.h,s:t.s,v:t.v,a:1})},equal:l1},m1=function(t){return Ve.createElement(p1,zs({},t,{colorModel:h1}))},g1=/^#?([0-9A-F]{3,8})$/i,x1=function(t){var a=t.color,s=a===void 0?"":a,i=t.onChange,u=t.onBlur,p=t.escape,w=t.validate,m=t.format,x=t.process,g=Fi(t,["color","onChange","onBlur","escape","validate","format","process"]),h=A.useState(function(){return p(s)}),b=h[0],y=h[1],v=Oa(i),C=Oa(u),E=A.useCallback(function(N){var D=p(N.target.value);y(D),w(D)&&v(x?x(D):D)},[p,x,w,v]),j=A.useCallback(function(N){w(N.target.value)||y(p(s)),C(N)},[s,p,w,C]);return A.useEffect(function(){y(p(s))},[s,p]),Ve.createElement("input",zs({},g,{value:m?m(b):b,spellCheck:"false",onChange:E,onBlur:j}))},Pf=function(t){return"#"+t},w1=function(t){var a=t.prefixed,s=t.alpha,i=Fi(t,["prefixed","alpha"]),u=A.useCallback(function(w){return w.replace(/([^0-9A-F]+)/gi,"").substring(0,s?8:6)},[s]),p=A.useCallback(function(w){return(function(m,x){var g=g1.exec(m),h=g?g[1].length:0;return h===3||h===6||!!x&&h===4||!!x&&h===8})(w,s)},[s]);return Ve.createElement(x1,zs({},i,{escape:u,format:a?Pf:void 0,process:Pf,validate:p}))};const b1=({hexValue:t,eyedropper:a,clearButtonValue:s,containerClassName:i,onChange:u})=>{const p=A.useRef(null),w=A.useCallback(y=>{var v,C,E;y.stopPropagation();const j=(v=p.current)==null?void 0:v.querySelector("input");y.target!==j&&((E=(C=p.current)==null?void 0:C.querySelector("input"))==null||E.focus(),y.preventDefault())},[]),m=A.useRef(!1),x=A.useCallback(()=>{var y,v;m.current=!1,(v=(y=p.current)==null?void 0:y.querySelector("input"))==null||v.focus(),document.removeEventListener("mouseup",x),document.removeEventListener("touchend",x)},[]),g=A.useCallback(()=>{m.current=!0,document.addEventListener("mouseup",x),document.addEventListener("touchend",x)},[x]),h=A.useCallback(y=>{if(y.preventDefault(),!window.EyeDropper)return;m.current=!0,document.body.style.setProperty("pointer-events","none"),new window.EyeDropper().open().then(C=>u?.(C.sRGBHex)).finally(()=>{var C,E;m.current=!1,document.body.style.removeProperty("pointer-events"),(E=(C=p.current)==null?void 0:C.querySelector("input"))==null||E.focus()})},[u]);A.useEffect(()=>{var y,v;(v=(y=p.current)==null?void 0:y.querySelector("input"))==null||v.focus()},[]);const b=A.useCallback(()=>{var y,v;(v=(y=p.current)==null?void 0:y.querySelector("input"))==null||v.focus()},[]);return i=he("mt-2",i),n.jsxs("div",{className:i,onMouseDown:w,onTouchStart:w,children:[n.jsx(m1,{className:"w-full",color:t||"#ffffff",onChange:u,onMouseDown:g,onTouchStart:g}),n.jsxs("div",{className:"mt-3 flex gap-2",children:[n.jsxs("div",{ref:p,className:"peer relative order-2 flex h-10 w-full items-center",onClick:b,children:[n.jsx("span",{className:"absolute top-[9px] left-2 z-10 mr-2 ml-1 text-grey-700",children:"#"}),n.jsx(w1,{"aria-label":"Color value",className:"z-[1] w-full rounded-md border border-transparent bg-grey-150 p-2 pl-6 transition-all hover:bg-grey-100 focus:border-green focus:bg-white focus:shadow-[0_0_0_1px_rgba(48,207,67,1)] dark:bg-grey-900 dark:text-white dark:focus:bg-grey-925",color:t,onChange:u}),a&&!!window.EyeDropper&&n.jsx("button",{className:"absolute inset-y-0 right-3 z-50 my-auto size-4 p-[1px]",type:"button",onClick:h,children:n.jsx(kv,{className:"size-full"})})]}),s!==void 0&&n.jsx(Ie,{color:"grey",value:"Clear",onClick:()=>u?.(s)})]})]})},v1=A.createContext({colorPickers:[]}),Hf=t=>t.length===4?t.replace(/#(.)(.)(.)/,"#$1$1$2$2$3$3"):t,Fn=({testId:t,title:a,direction:s,value:i,hint:u,error:p,eyedropper:w,clearButtonValue:m,onChange:x,swatches:g=[],alwaysOpen:h=!1,debounceMs:b})=>{const[y,v]=A.useState(!1),[C,E]=A.useState(i),j=A.useContext(v1),N=A.useId();A.useEffect(()=>{E(P=>Hf(P||"")===i?P:i)},[i]),A.useEffect(()=>(j.colorPickers.push({id:N,setExpanded:v}),()=>{j.colorPickers=j.colorPickers.filter(P=>P.id!==N)}),[j,N]),A.useEffect(()=>{if(y){j.colorPickers.filter(I=>I.id!==N).forEach(I=>I.setExpanded(!1));const P=()=>{v(!1)};return document.addEventListener("click",P),()=>{document.removeEventListener("click",P)}}},[j,N,y]);const D=A.useMemo(()=>x&&b?Ri(x,b):x,[b,x]),$=P=>{E(P),D?.(P?Hf(P):null)};let R=n.jsx(Ph,{isExpanded:y,swatches:g,value:C,onSwatchChange:P=>{$(P),v(!1)},onTogglePicker:()=>!h&&v(!y)});a&&(R=n.jsxs("div",{className:he("flex w-full cursor-pointer items-start first:mt-0 dark:text-white",s==="rtl"&&"flex-row-reverse"),children:[n.jsx("div",{className:"shrink-0",children:R}),n.jsxs("div",{className:he("flex-1",s==="rtl"?"pr-2":"pl-2",u?"mt-[-2px]":"mt-[1px]"),onClick:()=>!h&&v(!y),children:[a,u&&n.jsx("div",{className:`text-xs ${p?"text-red":"text-grey-700"}`,children:u})]})]}));const O=g.find(P=>P.value===C);return n.jsxs("div",{className:"flex-col","data-testid":t,onClick:P=>P.stopPropagation(),children:[R,(h||y)&&n.jsx(b1,{clearButtonValue:m,eyedropper:w,hexValue:O?.hex||C||void 0,onChange:$})]})},y1=({value:t,onChange:a,singleParagraph:s=!0,...i})=>{const u=A.useCallback(p=>{const m=new DOMParser().parseFromString(p,"text/html");m.querySelectorAll("*").forEach(g=>{g.style.removeProperty("white-space"),g.getAttribute("style")||g.removeAttribute("style")}),m.body.innerHTML!==t&&a?.(m.body.innerHTML)},[t,a]);return n.jsx(dy,{...i,singleParagraph:s,children:p=>n.jsx(p.HtmlOutputPlugin,{html:t,setHtml:u})})},Au=({title:t,hideTitle:a,error:s,hint:i,value:u,clearBg:p=!1,className:w="",containerClassName:m="",hintClassName:x="",unstyled:g=!1,...h})=>{const b=g?"":he("flex min-h-[32px] items-center rounded-md border border-transparent py-1.5 md:min-h-[36px]",p?"bg-transparent":"bg-grey-150 px-3 dark:bg-grey-900",s?"border-red":"transition-all hover:bg-grey-100 has-[:focus]:border-green has-[:focus]:bg-white has-[:focus]:shadow-[0_0_0_1px_rgba(48,207,67,1)] dark:selection:bg-[rgba(88,101,116,0.99)] dark:hover:bg-grey-925 dark:has-[:focus]:bg-grey-950",t&&!a&&!p&&"mt-2",w);return n.jsxs("div",{className:`flex flex-col ${m}`,children:[t&&n.jsx(ct,{className:a?"sr-only":"",grey:!0,useLabelTag:!0,children:t}),n.jsx("div",{className:b,children:n.jsx(y1,{...h,value:u})}),i&&n.jsx(zn,{className:x,color:s?"red":"",children:i})]})};var Du="Radio",[_1,Bh]=dh(Du),[M1,k1]=_1(Du),Wh=A.forwardRef((t,a)=>{const{__scopeRadio:s,name:i,checked:u=!1,required:p,disabled:w,value:m="on",onCheck:x,form:g,...h}=t,[b,y]=A.useState(null),v=yu(a,j=>y(j)),C=A.useRef(!1),E=b?g||!!b.closest("form"):!0;return n.jsxs(M1,{scope:s,checked:u,disabled:w,children:[n.jsx($i.button,{type:"button",role:"radio","aria-checked":u,"data-state":Xh(u),"data-disabled":w?"":void 0,disabled:w,value:m,...h,ref:v,onClick:tu(t.onClick,j=>{u||x?.(),E&&(C.current=j.isPropagationStopped(),C.current||j.stopPropagation())})}),E&&n.jsx(Gh,{control:b,bubbles:!C.current,name:i,value:m,checked:u,required:p,disabled:w,form:g,style:{transform:"translateX(-100%)"}})]})});Wh.displayName=Du;var Yh="RadioIndicator",qh=A.forwardRef((t,a)=>{const{__scopeRadio:s,forceMount:i,...u}=t,p=k1(Yh,s);return n.jsx(Cv,{present:i||p.checked,children:n.jsx($i.span,{"data-state":Xh(p.checked),"data-disabled":p.disabled?"":void 0,...u,ref:a})})});qh.displayName=Yh;var j1="RadioBubbleInput",Gh=A.forwardRef(({__scopeRadio:t,control:a,checked:s,bubbles:i=!0,...u},p)=>{const w=A.useRef(null),m=yu(w,p),x=Iv(s),g=Sv(a);return A.useEffect(()=>{const h=w.current;if(!h)return;const b=window.HTMLInputElement.prototype,v=Object.getOwnPropertyDescriptor(b,"checked").set;if(x!==s&&v){const C=new Event("click",{bubbles:i});v.call(h,s),h.dispatchEvent(C)}},[x,s,i]),n.jsx($i.input,{type:"radio","aria-hidden":!0,defaultChecked:s,...u,tabIndex:-1,ref:m,style:{...u.style,...g,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});Gh.displayName=j1;function Xh(t){return t?"checked":"unchecked"}var E1=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],Pi="RadioGroup",[N1]=dh(Pi,[uh,Bh]),Kh=uh(),Zh=Bh(),[T1,C1]=N1(Pi),Vh=A.forwardRef((t,a)=>{const{__scopeRadioGroup:s,name:i,defaultValue:u,value:p,required:w=!1,disabled:m=!1,orientation:x,dir:g,loop:h=!0,onValueChange:b,...y}=t,v=Kh(s),C=jv(g),[E,j]=Ev({prop:p,defaultProp:u??null,onChange:b,caller:Pi});return n.jsx(T1,{scope:s,name:i,required:w,disabled:m,value:E,onValueChange:j,children:n.jsx(Nv,{asChild:!0,...v,orientation:x,dir:C,loop:h,children:n.jsx($i.div,{role:"radiogroup","aria-required":w,"aria-orientation":x,"data-disabled":m?"":void 0,dir:C,...y,ref:a})})})});Vh.displayName=Pi;var Qh="RadioGroupItem",Jh=A.forwardRef((t,a)=>{const{__scopeRadioGroup:s,disabled:i,...u}=t,p=C1(Qh,s),w=p.disabled||i,m=Kh(s),x=Zh(s),g=A.useRef(null),h=yu(a,g),b=p.value===u.value,y=A.useRef(!1);return A.useEffect(()=>{const v=E=>{E1.includes(E.key)&&(y.current=!0)},C=()=>y.current=!1;return document.addEventListener("keydown",v),document.addEventListener("keyup",C),()=>{document.removeEventListener("keydown",v),document.removeEventListener("keyup",C)}},[]),n.jsx(Tv,{asChild:!0,...m,focusable:!w,active:b,children:n.jsx(Wh,{disabled:w,required:p.required,checked:b,...x,...u,name:p.name,ref:h,onCheck:()=>p.onValueChange(u.value),onKeyDown:tu(v=>{v.key==="Enter"&&v.preventDefault()}),onFocus:tu(u.onFocus,()=>{y.current&&g.current?.click()})})})});Jh.displayName=Qh;var I1="RadioGroupIndicator",em=A.forwardRef((t,a)=>{const{__scopeRadioGroup:s,...i}=t,u=Zh(s);return n.jsx(qh,{...u,...i,ref:a})});em.displayName=I1;var S1=Vh,A1=Jh,D1=em;const $1=({id:t,title:a,options:s,onSelect:i,error:u,hint:p,selectedOption:w,separator:m})=>n.jsxs(S1,{defaultValue:w,name:t,onValueChange:i,children:[n.jsxs("div",{className:`flex flex-col gap-2 ${m&&"pb-2"}`,children:[a&&n.jsx(ct,{level:6,children:a}),s.map(x=>n.jsxs("label",{className:`flex cursor-pointer items-start ${a&&"mt-1 -mb-1"}`,htmlFor:x.value,children:[n.jsx(A1,{className:"relative float-left mt-[3px] size-4 min-w-[16px] appearance-none rounded-full border-2 border-solid border-grey-300 hover:cursor-pointer focus:shadow-none focus:ring-0 focus:outline-hidden data-[state=checked]:border-green data-[state=checked]:focus:border-green dark:border-grey-800 dark:text-white dark:data-[state=checked]:border-green dark:data-[state=checked]:focus:border-green",id:x.value,value:x.value,children:n.jsx(D1,{className:"flex size-full items-center justify-center after:block after:size-[6px] after:rounded-full after:border-green after:bg-green after:content-[''] dark:after:border-green dark:after:bg-green"})}),n.jsxs("div",{className:`ml-2 flex flex-col ${x.hint&&"mb-2"}`,children:[n.jsx("span",{className:`inline-block text-md dark:text-white ${x.hint&&"-mb-1"}`,children:x.label}),x.hint&&n.jsx(zn,{children:x.hint})]})]},x.value)),p&&n.jsx(zn,{color:u?"red":"",children:p})]}),(m||u)&&n.jsx(Rs,{className:u?"border-red":""})]}),Ii=({children:t,gap:a="md",className:s})=>{let i="gap-3";switch(a){case"sm":i="gap-2";break;case"md":i="gap-3";break;case"lg":i="gap-4";break}return s=he("flex flex-col",i,s),n.jsx("div",{className:s,children:t})},$u=({heading:t,children:a,className:s})=>(s=he("w-full p-[8vmin] pt-5",s),n.jsxs("div",{className:s,children:[t&&n.jsx(ct,{className:"mb-8",children:t}),a]})),Ru=({items:t,backIcon:a=!1,snapBackIcon:s=!0,onBack:i,containerClassName:u,itemClassName:p,activeItemClassName:w,separatorClassName:m})=>{const x=t.length;let g=0;return u=he("flex items-center gap-2 text-sm",u),w=he("font-bold",w),p=he("text-sm",p),n.jsxs("div",{className:u,children:[a&&n.jsx(Ie,{className:s?"mr-1":"mr-6",icon:"arrow-left",iconColorClass:"dark:text-white",size:"sm",link:!0,onClick:i}),t.map(h=>{const b=g===x-1?n.jsx("span",{className:w,children:h.label}):n.jsxs(n.Fragment,{children:[n.jsx("button",{className:`${p} ${h.onClick&&"-mx-1 cursor-pointer rounded-sm px-1 py-px hover:bg-grey-100 dark:hover:bg-grey-900"}`,type:"button",onClick:h.onClick,children:h.label},`bc-${g}`),n.jsx("span",{className:m,children:"/"})]});return g=g+1,b})]})},Kr=({testId:t,title:a,titleHeadingLevel:s=4,size:i="full",width:u,height:p,sidebar:w="",preview:m,dirty:x=!1,cancelLabel:g="Cancel",okLabel:h="OK",okColor:b="black",previewToolbar:y=!0,leftToolbar:v=!0,rightToolbar:C=!0,deviceSelector:E=!0,siteLink:j,previewToolbarURLs:N,previewBgColor:D="grey",selectedURL:$,previewToolbarTabs:R,previewToolbarBreadcrumbs:O,buttonsDisabled:P,sidebarButtons:I,sidebarHeader:U,sidebarPadding:Y=!0,sidebarContentClasses:W,enableCMDS:B=!0,backDropClick:ie,onCancel:ge,onOk:Me,afterClose:K,onSelectURL:ee,onSelectDesktopView:ke,onSelectMobileView:ue,onBreadcrumbsBack:ye})=>{const J=Ft(),{setGlobalDirtyState:de}=fy();A.useEffect(()=>{de(x)},[x,de]),A.useEffect(()=>{if(Me){const be=Le=>{(Le.metaKey||Le.ctrlKey)&&Le.key==="s"&&(Le.preventDefault(),Me())};if(B)return window.addEventListener("keydown",be),()=>{window.removeEventListener("keydown",be)}}});const[fe,ce]=A.useState("desktop");if(fe==="mobile"&&E?m=n.jsx(Fh,{"data-testid":"preview-mobile",children:m}):fe==="desktop"&&E&&(m=n.jsx(Oh,{"data-testid":"preview-desktop",children:m})),y){let be=n.jsx(n.Fragment,{});N?be=n.jsx(kt,{options:N,selectedOption:N.find(st=>st.value===$),onSelect:st=>st&&ee?.(st.value)}):R?be=n.jsx(Nr,{border:!1,selectedTab:$,tabs:R,width:"wide",onTabChange:ee}):O&&(be=n.jsx(Ru,{activeItemClassName:"hidden md:!block md:!visible",containerClassName:"whitespace-nowrap",itemClassName:"hidden md:!block md:!visible",items:O,separatorClassName:"hidden md:!block md:!visible",backIcon:!0,onBack:ye}));const Le="text-black dark:text-green",it="text-grey-500 dark:text-grey-600",wt=[{icon:"laptop",label:"Desktop",hideLabel:!0,link:!0,size:"sm",iconColorClass:fe==="desktop"?Le:it,onClick:ke||(()=>{ce("desktop")})},{icon:"mobile",label:"Mobile",hideLabel:!0,link:!0,size:"sm",iconColorClass:fe==="mobile"?Le:it,onClick:ue||(()=>{ce("mobile")})}],Pt=E&&n.jsx(Pn,{buttons:wt});let re="";D==="grey"?re="bg-grey-50 dark:bg-black":D==="greygradient"&&(re="bg-gradient-to-tr from-white to-[#f9f9fa] dark:from-grey-950 dark:to-black");const Ze=he("absolute inset-y-0 right-[400px] left-0 flex w-full min-w-100 grow flex-col overflow-y-auto",re);let Ht;j&&(Ht=n.jsx("div",{className:"ml-3 border-l border-grey-400 dark:border-grey-800",children:n.jsxs("a",{className:"ml-3 flex items-center gap-1 text-sm",href:j,rel:"noopener noreferrer",target:"_blank",children:["View site ",n.jsx(Ge,{name:"arrow-top-right",size:"xs"})]})})),m=n.jsxs("div",{className:Ze,children:[y&&n.jsxs("header",{className:"relative flex h-[80px] shrink-0 items-center justify-center px-8 py-5","data-testid":"design-toolbar",children:[v&&n.jsx("div",{className:"absolute left-8 flex h-full items-center",children:be}),C&&n.jsxs("div",{className:"absolute right-8 flex h-full items-center",children:[Pt,Ht]})]}),n.jsx("div",{className:"flex grow items-center justify-center text-sm text-grey-400",children:m})]})}const V=[];return I||(V.push({key:"cancel-modal",label:g,onClick:ge||(()=>{py(x,()=>{J.remove(),K?.()})}),disabled:P}),V.push({key:"ok-modal",label:h,color:b,onClick:Me,disabled:P})),n.jsx(ut,{afterClose:K,animate:!1,backDropClick:ie,dirty:x,footer:!1,height:p,padding:!1,size:i,testId:t,title:"",width:u,hideXOnMobile:!0,children:n.jsxs("div",{className:"flex h-full grow",children:[n.jsx("div",{className:`relative hidden grow flex-col [@media(min-width:801px)]:!visible [@media(min-width:801px)]:!flex ${D==="grey"?"bg-grey-50":"bg-white dark:bg-black"}`,children:m}),w&&n.jsxs("div",{className:"relative flex size-full flex-col border-l border-grey-100 dark:border-grey-900 [@media(min-width:801px)]:w-auto [@media(min-width:801px)]:basis-[400px]",children:[U||n.jsxs("div",{className:"flex max-h-[82px] items-center justify-between gap-3 px-7 py-6",children:[n.jsx(ct,{level:s,children:a}),I||n.jsx(Pn,{buttons:V})]}),n.jsx("div",{className:`${U?"":"absolute inset-x-0 top-[80px] bottom-0 grow"} ${Y&&"p-7 pt-0"} flex flex-col justify-between overflow-y-auto ${W&&W}`,children:w})]})]})})},R1=({offset:t,onTrigger:a})=>{const s=A.useRef(null);return A.useEffect(()=>{const i=new IntersectionObserver(u=>{u[0].intersectionRatio<=0||a()});return s.current&&i.observe(s.current),()=>i.disconnect()},[a]),n.jsx("div",{ref:s,className:"absolute w-full",style:{bottom:t}})},Lu=({trigger:t,children:a,position:s="start",side:i="bottom",closeOnItemClick:u,open:p,setOpen:w})=>{const[m,x]=A.useState(!1),g=p!==void 0?p:m,h=w||x,b=()=>{u&&h(!1)};return n.jsxs(Av,{open:g,onOpenChange:h,children:[n.jsx(Dv,{asChild:!0,children:n.jsx($v,{asChild:!0,onClick:y=>y.stopPropagation(),children:t})}),n.jsx(Rv,{align:s,className:"z-[9999] origin-top-right rounded bg-white shadow-md ring-1 ring-[rgba(0,0,0,0.01)] focus:outline-hidden dark:bg-grey-900 dark:text-white","data-testid":"popover-content",side:i,sideOffset:8,onClick:b,children:a})]})},tm=({trigger:t,triggerButtonProps:a,items:s,position:i="start",open:u,setOpen:p})=>(t||(t=n.jsx(Ie,{icon:"ellipsis",label:"Menu",hideLabel:!0,...a})),n.jsx(Lu,{open:u,position:i,setOpen:p,trigger:t,closeOnItemClick:!0,children:n.jsx("div",{className:"flex min-w-[160px] flex-col justify-stretch py-1",role:"none",children:s.map(w=>n.jsx("button",{className:`mx-1 block cursor-pointer rounded-[2.5px] px-4 py-1.5 text-left text-sm hover:bg-grey-100 dark:hover:bg-grey-925 ${w.destructive&&" text-red-500"}`,type:"button",onClick:m=>{w.onClick&&w.onClick(m)},children:w.label},w.id))})}));var nm=typeof global=="object"&&global&&global.Object===Object&&global,L1=typeof self=="object"&&self&&self.Object===Object&&self,rr=nm||L1||Function("return this")(),Ls=rr.Symbol,rm=Object.prototype,O1=rm.hasOwnProperty,F1=rm.toString,Aa=Ls?Ls.toStringTag:void 0;function P1(t){var a=O1.call(t,Aa),s=t[Aa];try{t[Aa]=void 0;var i=!0}catch{}var u=F1.call(t);return i&&(a?t[Aa]=s:delete t[Aa]),u}var H1=Object.prototype,z1=H1.toString;function U1(t){return z1.call(t)}var B1="[object Null]",W1="[object Undefined]",zf=Ls?Ls.toStringTag:void 0;function Wa(t){return t==null?t===void 0?W1:B1:zf&&zf in Object(t)?P1(t):U1(t)}function Pa(t){return t!=null&&typeof t=="object"}var Si=Array.isArray;function sm(t){var a=typeof t;return t!=null&&(a=="object"||a=="function")}var Y1="[object AsyncFunction]",q1="[object Function]",G1="[object GeneratorFunction]",X1="[object Proxy]";function am(t){if(!sm(t))return!1;var a=Wa(t);return a==q1||a==G1||a==Y1||a==X1}var $c=rr["__core-js_shared__"],Uf=(function(){var t=/[^.]+$/.exec($c&&$c.keys&&$c.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function K1(t){return!!Uf&&Uf in t}var Z1=Function.prototype,V1=Z1.toString;function Zr(t){if(t!=null){try{return V1.call(t)}catch{}try{return t+""}catch{}}return""}var Q1=/[\\^$.*+?()[\]{}|]/g,J1=/^\[object .+?Constructor\]$/,e_=Function.prototype,t_=Object.prototype,n_=e_.toString,r_=t_.hasOwnProperty,s_=RegExp("^"+n_.call(r_).replace(Q1,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function a_(t){if(!sm(t)||K1(t))return!1;var a=am(t)?s_:J1;return a.test(Zr(t))}function o_(t,a){return t?.[a]}function Us(t,a){var s=o_(t,a);return a_(s)?s:void 0}var uu=Us(rr,"WeakMap"),i_=9007199254740991,l_=/^(?:0|[1-9]\d*)$/;function c_(t,a){var s=typeof t;return a=a??i_,!!a&&(s=="number"||s!="symbol"&&l_.test(t))&&t>-1&&t%1==0&&t<a}function om(t,a){return t===a||t!==t&&a!==a}var u_=9007199254740991;function im(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=u_}function d_(t){return t!=null&&im(t.length)&&!am(t)}var f_=Object.prototype;function p_(t){var a=t&&t.constructor,s=typeof a=="function"&&a.prototype||f_;return t===s}function h_(t,a){for(var s=-1,i=Array(t);++s<t;)i[s]=a(s);return i}var m_="[object Arguments]";function Bf(t){return Pa(t)&&Wa(t)==m_}var lm=Object.prototype,g_=lm.hasOwnProperty,x_=lm.propertyIsEnumerable,w_=Bf((function(){return arguments})())?Bf:function(t){return Pa(t)&&g_.call(t,"callee")&&!x_.call(t,"callee")};function b_(){return!1}var cm=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Wf=cm&&typeof module=="object"&&module&&!module.nodeType&&module,v_=Wf&&Wf.exports===cm,Yf=v_?rr.Buffer:void 0,y_=Yf?Yf.isBuffer:void 0,du=y_||b_,__="[object Arguments]",M_="[object Array]",k_="[object Boolean]",j_="[object Date]",E_="[object Error]",N_="[object Function]",T_="[object Map]",C_="[object Number]",I_="[object Object]",S_="[object RegExp]",A_="[object Set]",D_="[object String]",$_="[object WeakMap]",R_="[object ArrayBuffer]",L_="[object DataView]",O_="[object Float32Array]",F_="[object Float64Array]",P_="[object Int8Array]",H_="[object Int16Array]",z_="[object Int32Array]",U_="[object Uint8Array]",B_="[object Uint8ClampedArray]",W_="[object Uint16Array]",Y_="[object Uint32Array]",dt={};dt[O_]=dt[F_]=dt[P_]=dt[H_]=dt[z_]=dt[U_]=dt[B_]=dt[W_]=dt[Y_]=!0;dt[__]=dt[M_]=dt[R_]=dt[k_]=dt[L_]=dt[j_]=dt[E_]=dt[N_]=dt[T_]=dt[C_]=dt[I_]=dt[S_]=dt[A_]=dt[D_]=dt[$_]=!1;function q_(t){return Pa(t)&&im(t.length)&&!!dt[Wa(t)]}function G_(t){return function(a){return t(a)}}var um=typeof exports=="object"&&exports&&!exports.nodeType&&exports,La=um&&typeof module=="object"&&module&&!module.nodeType&&module,X_=La&&La.exports===um,Rc=X_&&nm.process,qf=(function(){try{var t=La&&La.require&&La.require("util").types;return t||Rc&&Rc.binding&&Rc.binding("util")}catch{}})(),Gf=qf&&qf.isTypedArray,dm=Gf?G_(Gf):q_,K_=Object.prototype,Z_=K_.hasOwnProperty;function V_(t,a){var s=Si(t),i=!s&&w_(t),u=!s&&!i&&du(t),p=!s&&!i&&!u&&dm(t),w=s||i||u||p,m=w?h_(t.length,String):[],x=m.length;for(var g in t)Z_.call(t,g)&&!(w&&(g=="length"||u&&(g=="offset"||g=="parent")||p&&(g=="buffer"||g=="byteLength"||g=="byteOffset")||c_(g,x)))&&m.push(g);return m}function Q_(t,a){return function(s){return t(a(s))}}var J_=Q_(Object.keys,Object),e3=Object.prototype,t3=e3.hasOwnProperty;function n3(t){if(!p_(t))return J_(t);var a=[];for(var s in Object(t))t3.call(t,s)&&s!="constructor"&&a.push(s);return a}function r3(t){return d_(t)?V_(t):n3(t)}var Ha=Us(Object,"create");function s3(){this.__data__=Ha?Ha(null):{},this.size=0}function a3(t){var a=this.has(t)&&delete this.__data__[t];return this.size-=a?1:0,a}var o3="__lodash_hash_undefined__",i3=Object.prototype,l3=i3.hasOwnProperty;function c3(t){var a=this.__data__;if(Ha){var s=a[t];return s===o3?void 0:s}return l3.call(a,t)?a[t]:void 0}var u3=Object.prototype,d3=u3.hasOwnProperty;function f3(t){var a=this.__data__;return Ha?a[t]!==void 0:d3.call(a,t)}var p3="__lodash_hash_undefined__";function h3(t,a){var s=this.__data__;return this.size+=this.has(t)?0:1,s[t]=Ha&&a===void 0?p3:a,this}function Yr(t){var a=-1,s=t==null?0:t.length;for(this.clear();++a<s;){var i=t[a];this.set(i[0],i[1])}}Yr.prototype.clear=s3;Yr.prototype.delete=a3;Yr.prototype.get=c3;Yr.prototype.has=f3;Yr.prototype.set=h3;function m3(){this.__data__=[],this.size=0}function Hi(t,a){for(var s=t.length;s--;)if(om(t[s][0],a))return s;return-1}var g3=Array.prototype,x3=g3.splice;function w3(t){var a=this.__data__,s=Hi(a,t);if(s<0)return!1;var i=a.length-1;return s==i?a.pop():x3.call(a,s,1),--this.size,!0}function b3(t){var a=this.__data__,s=Hi(a,t);return s<0?void 0:a[s][1]}function v3(t){return Hi(this.__data__,t)>-1}function y3(t,a){var s=this.__data__,i=Hi(s,t);return i<0?(++this.size,s.push([t,a])):s[i][1]=a,this}function sr(t){var a=-1,s=t==null?0:t.length;for(this.clear();++a<s;){var i=t[a];this.set(i[0],i[1])}}sr.prototype.clear=m3;sr.prototype.delete=w3;sr.prototype.get=b3;sr.prototype.has=v3;sr.prototype.set=y3;var za=Us(rr,"Map");function _3(){this.size=0,this.__data__={hash:new Yr,map:new(za||sr),string:new Yr}}function M3(t){var a=typeof t;return a=="string"||a=="number"||a=="symbol"||a=="boolean"?t!=="__proto__":t===null}function zi(t,a){var s=t.__data__;return M3(a)?s[typeof a=="string"?"string":"hash"]:s.map}function k3(t){var a=zi(this,t).delete(t);return this.size-=a?1:0,a}function j3(t){return zi(this,t).get(t)}function E3(t){return zi(this,t).has(t)}function N3(t,a){var s=zi(this,t),i=s.size;return s.set(t,a),this.size+=s.size==i?0:1,this}function Vr(t){var a=-1,s=t==null?0:t.length;for(this.clear();++a<s;){var i=t[a];this.set(i[0],i[1])}}Vr.prototype.clear=_3;Vr.prototype.delete=k3;Vr.prototype.get=j3;Vr.prototype.has=E3;Vr.prototype.set=N3;function T3(t,a){for(var s=-1,i=a.length,u=t.length;++s<i;)t[u+s]=a[s];return t}function C3(){this.__data__=new sr,this.size=0}function I3(t){var a=this.__data__,s=a.delete(t);return this.size=a.size,s}function S3(t){return this.__data__.get(t)}function A3(t){return this.__data__.has(t)}var D3=200;function $3(t,a){var s=this.__data__;if(s instanceof sr){var i=s.__data__;if(!za||i.length<D3-1)return i.push([t,a]),this.size=++s.size,this;s=this.__data__=new Vr(i)}return s.set(t,a),this.size=s.size,this}function jr(t){var a=this.__data__=new sr(t);this.size=a.size}jr.prototype.clear=C3;jr.prototype.delete=I3;jr.prototype.get=S3;jr.prototype.has=A3;jr.prototype.set=$3;function R3(t,a){for(var s=-1,i=t==null?0:t.length,u=0,p=[];++s<i;){var w=t[s];a(w,s,t)&&(p[u++]=w)}return p}function L3(){return[]}var O3=Object.prototype,F3=O3.propertyIsEnumerable,Xf=Object.getOwnPropertySymbols,P3=Xf?function(t){return t==null?[]:(t=Object(t),R3(Xf(t),function(a){return F3.call(t,a)}))}:L3;function H3(t,a,s){var i=a(t);return Si(t)?i:T3(i,s(t))}function Kf(t){return H3(t,r3,P3)}var fu=Us(rr,"DataView"),pu=Us(rr,"Promise"),hu=Us(rr,"Set"),Zf="[object Map]",z3="[object Object]",Vf="[object Promise]",Qf="[object Set]",Jf="[object WeakMap]",ep="[object DataView]",U3=Zr(fu),B3=Zr(za),W3=Zr(pu),Y3=Zr(hu),q3=Zr(uu),kr=Wa;(fu&&kr(new fu(new ArrayBuffer(1)))!=ep||za&&kr(new za)!=Zf||pu&&kr(pu.resolve())!=Vf||hu&&kr(new hu)!=Qf||uu&&kr(new uu)!=Jf)&&(kr=function(t){var a=Wa(t),s=a==z3?t.constructor:void 0,i=s?Zr(s):"";if(i)switch(i){case U3:return ep;case B3:return Zf;case W3:return Vf;case Y3:return Qf;case q3:return Jf}return a});var tp=rr.Uint8Array,G3="__lodash_hash_undefined__";function X3(t){return this.__data__.set(t,G3),this}function K3(t){return this.__data__.has(t)}function Ai(t){var a=-1,s=t==null?0:t.length;for(this.__data__=new Vr;++a<s;)this.add(t[a])}Ai.prototype.add=Ai.prototype.push=X3;Ai.prototype.has=K3;function Z3(t,a){for(var s=-1,i=t==null?0:t.length;++s<i;)if(a(t[s],s,t))return!0;return!1}function V3(t,a){return t.has(a)}var Q3=1,J3=2;function fm(t,a,s,i,u,p){var w=s&Q3,m=t.length,x=a.length;if(m!=x&&!(w&&x>m))return!1;var g=p.get(t),h=p.get(a);if(g&&h)return g==a&&h==t;var b=-1,y=!0,v=s&J3?new Ai:void 0;for(p.set(t,a),p.set(a,t);++b<m;){var C=t[b],E=a[b];if(i)var j=w?i(E,C,b,a,t,p):i(C,E,b,t,a,p);if(j!==void 0){if(j)continue;y=!1;break}if(v){if(!Z3(a,function(N,D){if(!V3(v,D)&&(C===N||u(C,N,s,i,p)))return v.push(D)})){y=!1;break}}else if(!(C===E||u(C,E,s,i,p))){y=!1;break}}return p.delete(t),p.delete(a),y}function eM(t){var a=-1,s=Array(t.size);return t.forEach(function(i,u){s[++a]=[u,i]}),s}function tM(t){var a=-1,s=Array(t.size);return t.forEach(function(i){s[++a]=i}),s}var nM=1,rM=2,sM="[object Boolean]",aM="[object Date]",oM="[object Error]",iM="[object Map]",lM="[object Number]",cM="[object RegExp]",uM="[object Set]",dM="[object String]",fM="[object Symbol]",pM="[object ArrayBuffer]",hM="[object DataView]",np=Ls?Ls.prototype:void 0,Lc=np?np.valueOf:void 0;function mM(t,a,s,i,u,p,w){switch(s){case hM:if(t.byteLength!=a.byteLength||t.byteOffset!=a.byteOffset)return!1;t=t.buffer,a=a.buffer;case pM:return!(t.byteLength!=a.byteLength||!p(new tp(t),new tp(a)));case sM:case aM:case lM:return om(+t,+a);case oM:return t.name==a.name&&t.message==a.message;case cM:case dM:return t==a+"";case iM:var m=eM;case uM:var x=i&nM;if(m||(m=tM),t.size!=a.size&&!x)return!1;var g=w.get(t);if(g)return g==a;i|=rM,w.set(t,a);var h=fm(m(t),m(a),i,u,p,w);return w.delete(t),h;case fM:if(Lc)return Lc.call(t)==Lc.call(a)}return!1}var gM=1,xM=Object.prototype,wM=xM.hasOwnProperty;function bM(t,a,s,i,u,p){var w=s&gM,m=Kf(t),x=m.length,g=Kf(a),h=g.length;if(x!=h&&!w)return!1;for(var b=x;b--;){var y=m[b];if(!(w?y in a:wM.call(a,y)))return!1}var v=p.get(t),C=p.get(a);if(v&&C)return v==a&&C==t;var E=!0;p.set(t,a),p.set(a,t);for(var j=w;++b<x;){y=m[b];var N=t[y],D=a[y];if(i)var $=w?i(D,N,y,a,t,p):i(N,D,y,t,a,p);if(!($===void 0?N===D||u(N,D,s,i,p):$)){E=!1;break}j||(j=y=="constructor")}if(E&&!j){var R=t.constructor,O=a.constructor;R!=O&&"constructor"in t&&"constructor"in a&&!(typeof R=="function"&&R instanceof R&&typeof O=="function"&&O instanceof O)&&(E=!1)}return p.delete(t),p.delete(a),E}var vM=1,rp="[object Arguments]",sp="[object Array]",bi="[object Object]",yM=Object.prototype,ap=yM.hasOwnProperty;function _M(t,a,s,i,u,p){var w=Si(t),m=Si(a),x=w?sp:kr(t),g=m?sp:kr(a);x=x==rp?bi:x,g=g==rp?bi:g;var h=x==bi,b=g==bi,y=x==g;if(y&&du(t)){if(!du(a))return!1;w=!0,h=!1}if(y&&!h)return p||(p=new jr),w||dm(t)?fm(t,a,s,i,u,p):mM(t,a,x,s,i,u,p);if(!(s&vM)){var v=h&&ap.call(t,"__wrapped__"),C=b&&ap.call(a,"__wrapped__");if(v||C){var E=v?t.value():t,j=C?a.value():a;return p||(p=new jr),u(E,j,s,i,p)}}return y?(p||(p=new jr),bM(t,a,s,i,u,p)):!1}function pm(t,a,s,i,u){return t===a?!0:t==null||a==null||!Pa(t)&&!Pa(a)?t!==t&&a!==a:_M(t,a,s,i,pm,u)}function MM(t,a){return pm(t,a)}const op=({className:t,children:a,colSpan:s,sticky:i=!1,...u})=>{const p=he("py-2! pr-6! pl-0! text-left align-top",i&&"sticky top-0 bg-white",u.onClick&&"hover:cursor-pointer",t);return n.jsx("th",{className:p,colSpan:s,...u,children:n.jsx(ct,{className:"whitespace-nowrap",level:6,children:a})})},hm=({left:t,center:a,right:s,sticky:i=!0,containerClassName:u,children:p})=>{const w=he("z-50 h-22 min-h-[92px] p-8",!p&&"flex items-center justify-between gap-3",i&&"sticky top-0",u);if(!p){if(t){const m=he("flex flex-auto items-center",s&&a&&"basis-1/3",!s&&a&&"basis-1/2");t=n.jsx("div",{className:m,children:t})}if(a){const m=he("flex flex-auto items-center justify-center",t&&s&&"basis-1/3",(t&&!s||!t&&s)&&"basis-1/2");a=n.jsx("div",{className:m,children:a})}if(s){const m=he("flex flex-auto items-center justify-end",t&&a&&"basis-1/3",!t&&a&&"basis-1/2");s=n.jsx("div",{className:m,children:s})}}return n.jsx("div",{className:w,children:p||n.jsxs(n.Fragment,{children:[t,a,s]})})},mm=({items:t,setItems:a,blank:s,canAddNewItem:i})=>{const[u,p]=A.useState(t.map((y,v)=>({item:y,id:v.toString()}))),[w,m]=A.useState(s);return A.useEffect(()=>{const y=u.map(({item:v})=>v);i(w)&&y.push(w),MM(JSON.parse(JSON.stringify(y)),JSON.parse(JSON.stringify(t)))||a(y)},[u,w,t,a,i]),{items:u,updateItem:(y,v)=>{const C=u.map(E=>E.id===y?{...E,item:v}:E);p(C),a(C.map(E=>E.item))},addItem:()=>{if(i(w)){const y=u.reduce((C,E)=>Math.max(C,parseInt(E.id)),0),v=u.concat({item:w,id:(y+1).toString()});p(v),a(v.map(C=>C.item)),m(s)}},removeItem:y=>{const v=u.filter(C=>C.id!==y);p(v),a(v.map(C=>C.item))},moveItem:(y,v)=>{if(y!==v){const C=u.findIndex(N=>N.id===y),E=v?u.findIndex(N=>N.id===v):0,j=hy(u,C,E);p(j),a(j.map(N=>N.item))}},newItem:w,setNewItem:m}},kM=({label:t,text:a="",hint:s,onRegenerate:i})=>{const[u,p]=A.useState(!1),w=()=>{navigator.clipboard.writeText(a),p(!0),setTimeout(()=>p(!1),2e3)},m=he("group/api-keys relative -mt-1 mb-1 w-full overflow-hidden border-b border-transparent py-2 hover:border-grey-300 dark:hover:border-grey-600");return n.jsxs("div",{className:"mb-3 grid grid-cols-1",children:[t&&n.jsx(ct,{level:6,grey:!0,children:t}),n.jsxs("div",{className:m,children:[n.jsx("span",{children:a}),s,n.jsxs("div",{className:"visible absolute top-1/2 right-0 flex translate-y-[-50%] gap-1 bg-white pl-1 text-sm group-hover/api-keys:visible md:invisible dark:bg-black",children:[i&&n.jsx(Ie,{color:"outline",label:"Regenerate",size:"sm",onClick:i}),n.jsx(Ie,{color:"outline",label:u?"Copied":"Copy",size:"sm",onClick:w})]})]})]})},Ya=({keys:t})=>n.jsx("div",{"data-testid":"api-keys",children:t.map(a=>n.jsx(kM,{...a},a.label))}),Qr=({icon:t,title:a,detail:s,extra:i})=>n.jsxs("div",{className:"-mx-8 -mt-8 flex flex-col gap-4 bg-grey-75 p-8 md:flex-row dark:bg-grey-950",children:[n.jsx("div",{className:"size-14",children:t}),n.jsxs("div",{className:"mt-1.5 flex min-w-0 flex-1 flex-col",children:[n.jsx("h3",{children:a}),n.jsx("div",{children:s}),i&&n.jsx("div",{className:"mt-4",children:i})]})]}),jM=""+new URL("zapier-logo-D8a11oW_.svg",import.meta.url).href,Ou=qr({method:"POST",path:({integrationId:t,apiKeyId:a})=>`/integrations/${t}/api_key/${a}/refresh/`,body:({integrationId:t})=>({integrations:[{id:t}]}),updateQueries:{emberUpdateType:"createOrUpdate",dataType:Li,update:(t,a)=>a&&{...a,integrations:a.integrations.map(s=>t.integrations.find(({id:u})=>u===s.id)||s)}}}),EM=me.create(()=>{const t=me.useModal(),{updateRoute:a}=Pe(),{zapierTemplates:s}=my(),{data:{integrations:i}={integrations:[]}}=Oi(),{config:u}=ze(),{mutateAsync:p}=Ou(),w=Ke(),[m,x]=A.useState(!1),g=u.hostSettings?.limits?.customIntegrations?.disabled,h=i.find(({slug:v})=>v==="zapier"),b=h?.api_keys?.find(v=>v.type==="admin");A.useEffect(()=>{g&&a("integrations")},[g,a]);const y=()=>{!h||!b||(x(!1),me.show(ht,{title:"Regenerate Admin API Key",prompt:'You will need to locate the Ghost App within your Zapier account and click on "Reconnect" to enter the new Admin API Key.',okLabel:"Regenerate Admin API Key",onOk:async v=>{try{await p({integrationId:h.id,apiKeyId:b.id}),x(!0),v?.remove()}catch(C){w(C)}}}))};return n.jsxs(ut,{afterClose:()=>{a("integrations")},cancelLabel:"",footer:n.jsxs("div",{className:"mx-8 flex w-full items-center justify-between",children:[n.jsxs("a",{className:"mt-1 self-baseline text-sm font-bold",href:"https://zapier.com/apps/ghost/integrations?utm_medium=partner_api&utm_source=widget&utm_campaign=Widget",rel:"noopener noreferrer",target:"_blank",children:["View more Ghost integrations powered by ",n.jsx("span",{children:n.jsx("img",{alt:"Zapier",className:"relative top-[-2px] inline-block",src:jM})})]}),n.jsx(Ie,{color:"black",label:"Close",onClick:()=>{t.remove()}})]}),okColor:"black",okLabel:"Close",testId:"zapier-modal",title:"",stickyFooter:!0,onOk:()=>{a("integrations"),t.remove()},children:[n.jsx(Qr,{detail:"Automation for your favorite apps",extra:n.jsx("div",{className:"mt-1 -mb-4",children:n.jsx(Ya,{keys:[{label:"Admin API key",text:b?.secret,hint:m?n.jsx("div",{className:"text-green",children:"Admin API Key was successfully regenerated"}):void 0,onRegenerate:y},{label:"API URL",text:window.location.origin+Os().subdir}]})}),icon:n.jsx(Ge,{name:"zapier",size:56}),title:"Zapier"}),n.jsx(er,{children:s.map(v=>n.jsx(Cr,{action:n.jsx(Ie,{className:"text-sm font-semibold whitespace-nowrap text-[#FF4A00]",href:v.url,label:"Use this Zap",tag:"a",target:"_blank",link:!0,unstyled:!0}),bgOnHover:!1,className:"flex items-center gap-3 py-2 pl-3",title:n.jsxs("div",{className:"flex flex-col gap-4 md:flex-row md:items-center",children:[n.jsxs("div",{className:"flex shrink-0 flex-nowrap items-center gap-2",children:[n.jsx("img",{className:"size-8 object-contain dark:invert",role:"presentation",src:v.ghostImage}),n.jsx(Ge,{name:"arrow-right",size:"xs"}),n.jsx("img",{className:"size-8 object-contain",role:"presentation",src:v.appImage})]}),n.jsx("span",{className:"text-sm",children:v.title})]}),hideActions:!0}))})]})});function gm(t){const a="The URL must be in a format like https://www.threads.net/@yourUsername";if(!t)return"";if(t.startsWith("http")){if(!t.includes("threads.net")&&!t.includes("threads.com"))throw new Error(a);if(t=t.replace("threads.com","threads.net"),t.includes("www.")||(t=t.replace("https://","https://www.")),!xt.isURL(t))throw new Error(a);if(!t.match(/^https:\/\/www\.threads\.net\/@?[a-zA-Z0-9._]+$/))throw new Error(a);return t}if(!t.includes("/")){if(t.startsWith("@")&&(t=t.slice(1)),!t.match(/^[a-zA-Z0-9._]+$/))throw new Error(a);return`https://www.threads.net/@${t}`}throw new Error(a)}const NM=t=>`https://www.threads.net/${t}`,TM=t=>{const a=t.match(/(?:https:\/\/)(?:www\.)?(?:threads\.(?:com|net))(?:\/)?(?:#!\/)?@?([^/]*)/)?.[1];return a?`@${a}`:null},As={INVALID_USERNAME:"Your Username is not a valid Bluesky Username",INVALID_URL:"The URL must be in a format like https://bsky.app/profile/yourUsername"};function xm(t){return[/^did:plc:[a-z2-7]{24}$/,/^[a-zA-Z0-9._]{1,15}$/,/^(?=.{1,191}$)[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+$/].some(s=>s.test(t))}function mu(t){let a=t.trim();return a.startsWith("@")&&(a=a.slice(1)),a.startsWith("did:plc:")?a.toLowerCase():a}function wm(t){if(!t)return"";let a;if(t.startsWith("http")||t.startsWith("www.")||t.includes("bsky.app")){if(!t.includes("bsky.app"))throw new Error(As.INVALID_URL);const i=t.match(/bsky\.app\/profile\/@?([^/]+)/);if(!i)throw new Error(As.INVALID_URL);a=mu(i[1])}else a=mu(t);if(!xm(a))throw new Error(As.INVALID_USERNAME);const s=`https://bsky.app/profile/${a}`;if(!xt.isURL(s))throw new Error(As.INVALID_URL);return s}const CM=t=>{if(!t)throw new Error(As.INVALID_USERNAME);let a=mu(t);if(!xm(a))throw new Error(As.INVALID_USERNAME);return`https://bsky.app/profile/${a}`},IM=t=>{const a=t.match(/(?:https?:\/\/)?(?:www\.)?bsky\.app\/profile\/@?([^/]*)/);return a?`${a[1]}`:null},Wr={INVALID_URL:"The URL must be in a format like https://www.linkedin.com/in/yourUsername",INVALID_USERNAME:"Your Username is not a valid LinkedIn Username"},SM=["in","pub","company","school"],AM=/^[a-zA-Z0-9-]{3,100}$/,DM=/^[a-zA-Z0-9-]{3,100}(?:\/[a-zA-Z0-9-]*)*$/,bm=/^(?:https?:\/\/)?(?:www\.)?(?:([a-z]{2})\.)?linkedin\.com\/(in|pub|company|school)\/([^?#]+)/i,gu=t=>t.trim().replace(/^@/,""),vm=t=>{if(/^(https?:\/\/|www\.)/.test(t)||t.includes("linkedin.com")){const i=t.match(bm);if(!i)throw new Error(Wr.INVALID_URL);if(i[0].length!==t.length)throw new Error(Wr.INVALID_USERNAME);const[,u,p,w]=i,m=gu(w);if(u&&!/^[A-Z]{2}$/.test(u.toUpperCase()))throw new Error(Wr.INVALID_URL);return{regional:u,pathType:p,username:m}}const a=gu(t),s=a.indexOf("/");if(s!==-1){const i=a.substring(0,s);if(SM.includes(i))return{pathType:i,username:a.substring(s+1)}}return{username:a}},ym=(t,a)=>(t==="pub"?DM:AM).test(a),_m=({regional:t,pathType:a,username:s})=>{const u=`https://${t?`${t.toLowerCase()}.`:"www."}linkedin.com/${a}/${s}`;if(!xt.isURL(u))throw new Error(Wr.INVALID_URL);return u};function Mm(t){if(!t)return"";const{regional:a,pathType:s="in",username:i}=vm(t);if(!ym(s,i))throw new Error(Wr.INVALID_USERNAME);return _m({regional:a,pathType:s,username:i})}const $M=t=>{if(!t)throw new Error(Wr.INVALID_USERNAME);const{regional:a,pathType:s="in",username:i}=vm(t);if(!ym(s,i))throw new Error(Wr.INVALID_USERNAME);return _m({regional:a,pathType:s,username:i})},RM=t=>{const a=t.match(bm);if(!a)return null;const[,,s,i]=a,u=gu(i);return s==="in"?u:`${s}/${u}`};function km(t){const a="The URL must be in a format like https://www.instagram.com/yourUsername",s="Your Username is not a valid Instagram Username";if(!t)return"";let i;if(t.startsWith("http")||t.startsWith("www.")||t.includes("instagram.com")){if(!t.includes("instagram.com"))throw new Error(a);const p=t.match(/(?:https?:\/\/)?(?:www\.)?instagram\.com\/@?([^/]+)/);if(!p)throw new Error(a);i=p[1]}else i=t.startsWith("@")?t.slice(1):t;if(!i.match(/^[a-zA-Z0-9_][a-zA-Z0-9._]{0,28}[a-zA-Z0-9_]$/)||i.includes("..")||i.length>30)throw new Error(s);const u=`https://www.instagram.com/${i}`;if(!xt.isURL(u))throw new Error(a);return u}const LM=t=>{const a="Your Username is not a valid Instagram Username";if(!t)throw new Error(a);let s=t;if(s.startsWith("@")&&(s=s.slice(1)),!s.match(/^[a-zA-Z0-9_][a-zA-Z0-9._]{0,28}[a-zA-Z0-9_]$/)||s.includes("..")||s.length>30)throw new Error(a);return`https://www.instagram.com/${s}`},OM=t=>{const a=t.match(/(?:https?:\/\/)?(?:www\.)?instagram\.com\/@?([^/]*)/);return a?`${a[1]}`:null};function jm(t){const a="The URL must be in a format like https://www.youtube.com/@yourUsername, https://www.youtube.com/user/yourUsername, or https://www.youtube.com/channel/yourChannelId",s="Your Username is not a valid YouTube Username";if(!t)return"";let i;if(t.startsWith("http")||t.startsWith("www.")||t.includes("youtube.com")){if(!t.includes("youtube.com"))throw new Error(a);const p=t.match(/(?:https?:\/\/)?(?:www\.)?youtube\.com\/((?:@|user\/|channel\/)[^/]+)/);if(!p)throw new Error(a);i=p[1]}else i=t;if(i.startsWith("@")){const p=i.slice(1);if(!p.match(/^[a-zA-Z0-9][a-zA-Z0-9._-]{1,28}[a-zA-Z0-9]$/)||p.includes("..")||p.length>30)throw new Error(s)}else if(i.startsWith("user/")){if(!i.slice(5).match(/^[a-zA-Z0-9._-]{1,50}$/))throw new Error(s)}else if(i.startsWith("channel/")){if(!i.slice(8).match(/^UC[a-zA-Z0-9_-]{22}$/))throw new Error(s)}else throw new Error(a);const u=`https://www.youtube.com/${i}`;if(!xt.isURL(u))throw new Error(a);return u}const FM=t=>{const a="Your Username is not a valid YouTube Username";if(!t)throw new Error(a);if(t.startsWith("@")){const s=t.slice(1);if(!s.match(/^[a-zA-Z0-9][a-zA-Z0-9._-]{1,28}[a-zA-Z0-9]$/)||s.includes("..")||s.length>30)throw new Error(a)}else if(t.startsWith("user/")){if(!t.slice(5).match(/^[a-zA-Z0-9._-]{1,50}$/))throw new Error(a)}else if(t.startsWith("channel/")){if(!t.slice(8).match(/^UC[a-zA-Z0-9_-]{22}$/))throw new Error(a)}else throw new Error("The handle must be in a format like @yourUsername, user/yourUsername, or channel/yourChannelId");return`https://www.youtube.com/${t}`},PM=t=>{const a=t.match(/(?:https?:\/\/)?(?:www\.)?youtube\.com\/((?:@|user\/|channel\/)[^/]*)/);return a?a[1]:null};function Em(t){const a="The URL must be in a format like https://www.tiktok.com/@yourUsername",s="Your Username is not a valid TikTok Username";if(!t)return"";let i;if(t.startsWith("http")||t.startsWith("www.")||t.includes("tiktok.com")){if(!t.includes("tiktok.com"))throw new Error(a);const w=t.match(/(?:https?:\/\/)?(?:www\.)?tiktok\.com\/(@[^/]+)/);if(!w)throw new Error(a);i=w[1]}else i=t.startsWith("@")?t:`@${t}`;const u=i.slice(1);if(!u.match(/^[a-zA-Z0-9_][a-zA-Z0-9._]{0,22}[a-zA-Z0-9_]$/)||u.includes("..")||u.length<2||u.length>24)throw new Error(s);const p=`https://www.tiktok.com/${i}`;if(!xt.isURL(p))throw new Error(a);return p}const HM=t=>{const a="Your Username is not a valid TikTok Username";if(!t)throw new Error(a);const s=t.startsWith("@")?t:`@${t}`,i=s.slice(1);if(!i.match(/^[a-zA-Z0-9_][a-zA-Z0-9._]{0,22}[a-zA-Z0-9_]$/)||i.includes("..")||i.length<2||i.length>24)throw new Error(a);return`https://www.tiktok.com/${s}`},zM=t=>{const a=t.match(/(?:https?:\/\/)?(?:www\.)?tiktok\.com\/(@[^/]*)/);return a?a[1]:null};function Nm(t){const a="The URL must be in a format like @username@instance.tld or https://instance.tld/@username or https://website.com/@username@instance.tld";if(!t)return"";let s=t;if(s=s.replace(/^https?:\/\//,""),s.match(/^@[^@]+@[^/]+$/)){const[i,u]=s.split("@").slice(1);if(!xt.isFQDN(u))throw new Error(a);return`https://${u}/@${i}`}if(s.match(/^[^/]+\.[^/]+\/@[^/]+(@[^/]+)?$/)){const[i,u]=s.split("/@");if(!xt.isFQDN(i))throw new Error(a);if(u.includes("@")){const[,p]=u.split("@");if(!xt.isFQDN(p))throw new Error(a)}return`https://${s}`}throw new Error(a)}const UM=t=>{const a="Your Username is not a valid Mastodon Username";if(!t)throw new Error(a);if(t.match(/^@[^@]+@[^/]+$/)){const[s,i]=t.split("@").slice(1);if(!xt.isFQDN(i))throw new Error(a);return`https://${i}/@${s}`}if(t.match(/^[^/]+\.[^/]+\/@[^/]+(@[^/]+)?$/)){const[s,i]=t.split("/@");if(!xt.isFQDN(s))throw new Error(a);if(i.includes("@")){const[,u]=i.split("@");if(!xt.isFQDN(u))throw new Error(a)}return`https://${t}`}throw new Error(a)},BM=t=>t.replace(/^https?:\/\//,""),WM=({tier:t})=>{const a=t?.type==="free",{updateRoute:s}=Pe(),{mutateAsync:i}=Iu(),{mutateAsync:u}=Ky(),{mutateAsync:p}=Tr(),[w,m]=Ve.useState(!!t?.trial_days),x=Ke(),{localSettings:g,siteData:h}=Gr(),[b]=ot(g,["portal_plans"]),y=JSON.parse(b?.toString()||"[]"),v={name:()=>C.name?void 0:"Enter a name for the tier",monthly_price:()=>C.type!=="free"?Cf(C.monthly_price||0,C.currency,{allowZero:!1}):void 0,yearly_price:()=>C.type!=="free"?Cf(C.yearly_price||0,C.currency,{allowZero:!1}):void 0},{formState:C,saveState:E,updateForm:j,handleSave:N,errors:D,clearError:$,okProps:R}=an({initialState:{...t||{},trial_days:t?.trial_days?.toString()||"",currency:t?.currency||gy[0].isoCode,visibility:t?.visibility||"none",welcome_page_url:t?.welcome_page_url||null},savingDelay:500,savedDelay:500,onValidate:()=>{const W={};return Object.entries(v).forEach(([B,ie])=>{W[B]=ie?.()}),W},onSave:async()=>{const{trial_days:W,currency:B,...ie}=C,ge=ie;if(ge.benefits=ge.benefits?.filter(Me=>Me),a||(ge.currency=B,ge.trial_days=parseInt(W)),t?.id?await i({...t,...ge}):await u(ge),a){const Me=C.visibility==="public";let K=!1;y.includes("free")&&!Me&&(y.splice(y.indexOf("free"),1),K=!0),!y.includes("free")&&Me&&(y.push("free"),K=!0),K&&await p([{key:"portal_plans",value:JSON.stringify(y)}])}},onSaveError:x}),O=mm({items:C.benefits||[],setItems:W=>j(B=>({...B,benefits:W})),blank:"",canAddNewItem:W=>!!W}),P=W=>{W.target.checked?(m(!0),j(B=>({...B,trial_days:t?.trial_days?t?.trial_days.toString():"7"}))):(m(!1),j(B=>({...B,trial_days:"0"})))},I=A.useRef(!1);A.useEffect(()=>{I.current&&(v.monthly_price?.(),v.yearly_price?.()),I.current=!0},[C.currency]);const U=()=>{if(t){const W=t.active?"Archive tier":"Reactivate tier",B=t.active?n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"mb-6",children:["Members will no longer be able to subscribe to ",n.jsx("strong",{children:t.name})," and it will be removed from the list of available tiers in portal."]}),n.jsx("div",{children:"Existing members on this tier will remain unchanged. Offers using this tier will be disabled."})]}):n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"mb-6",children:["Reactivating ",n.jsx("strong",{children:t.name})," will re-enable it as an option in portal and allow new members to subscribe to this tier."]}),n.jsx("div",{children:"Existing members will remain unchanged."})]}),ie=t.active?"Archive":"Reactivate";me.show(ht,{title:W,prompt:B,okLabel:ie,cancelLabel:"Cancel",okColor:t.active?"red":"black",onOk:ge=>{i({...t,active:!t.active}),ge?.remove(),rt({type:"success",title:`Tier ${t.active?"archived":"reactivated"}`})}})}};let Y={};return t&&(t.active&&t.type!=="free"?Y={label:"Archive tier",color:"red",link:!0,onClick:U}:t.active||(Y={label:"Reactivate tier",color:"green",link:!0,onClick:U})),n.jsx(ut,{afterClose:()=>{s("tiers")},buttonsDisabled:R.disabled,cancelLabel:"Close",dirty:E==="unsaved",leftButtonProps:Y,okColor:R.color,okLabel:R.label||"Save",size:"lg",testId:"tier-detail-modal",title:t?t.active?"Edit tier":"Edit archived tier":"New tier",stickyFooter:!0,onOk:async()=>{await N({fakeWhenUnchanged:!0})},children:n.jsxs("div",{className:"mt-8 -mb-8 flex items-start gap-8",children:[n.jsxs("div",{className:"flex grow flex-col gap-8",children:[n.jsxs(Be,{marginBottom:!1,title:"Basic",grouped:!0,children:[n.jsx(ve,{autoComplete:"off",error:!!D.name,hint:D.name,maxLength:191,placeholder:a?"Free":"Bronze",title:"Name",value:C.name||"",autoFocus:!0,onChange:W=>j(B=>({...B,name:W.target.value})),onKeyDown:()=>$("name")}),n.jsx(ve,{autoComplete:"off",autoFocus:a,maxLength:191,placeholder:a?"Free preview":"Full access to premium content",title:"Description",value:C.description||"",onChange:W=>j(B=>({...B,description:W.target.value}))}),!a&&n.jsx(n.Fragment,{children:n.jsxs("div",{className:"flex flex-col gap-10 md:flex-row",children:[n.jsxs("div",{className:"basis-1/2",children:[n.jsxs("div",{className:"mb-1 flex h-6 items-center justify-between",children:[n.jsx(ct,{level:6,children:"Prices"}),n.jsx("div",{className:"-mr-2 w-[50px]",children:n.jsx(kt,{border:!1,containerClassName:"font-medium",controlClasses:{menu:"w-18"},options:If(),selectedOption:If().flatMap(W=>W.options).find(W=>W.value===C.currency),size:"xs",clearBg:!0,isSearchable:!0,onSelect:W=>j(B=>({...B,currency:W?.value}))})})]}),n.jsxs("div",{className:"flex flex-col gap-2",children:[n.jsx(Sf,{error:!!D.monthly_price,hint:D.monthly_price,placeholder:"5",rightPlaceholder:`${C.currency}/month`,title:"Monthly price",valueInCents:C.monthly_price||"",hideTitle:!0,onBlur:W=>W.target.value===""?j(B=>({...B,monthly_price:0})):null,onChange:W=>j(B=>({...B,monthly_price:W})),onKeyDown:()=>$("monthly_price")}),n.jsx(Sf,{error:!!D.yearly_price,hint:D.yearly_price,placeholder:"50",rightPlaceholder:`${C.currency}/year`,title:"Yearly price",valueInCents:C.yearly_price||"",hideTitle:!0,onBlur:W=>W.target.value===""?j(B=>({...B,yearly_price:0})):null,onChange:W=>j(B=>({...B,yearly_price:W})),onKeyDown:()=>$("yearly_price")})]})]}),n.jsxs("div",{className:"basis-1/2",children:[n.jsx("div",{className:"mb-1 flex h-6 flex-col justify-center",children:n.jsx(Ye,{checked:w,label:"Add a free trial",labelStyle:"heading",onChange:P})}),n.jsx(ve,{disabled:!w,hint:n.jsxs("div",{className:"mt-1",children:["Members will be subscribed at full price once the trial ends. ",n.jsx("a",{className:"text-green",href:"https://ghost.org/help/free-trials/",rel:"noreferrer",target:"_blank",children:"Learn more"})]}),placeholder:"0",rightPlaceholder:"days",title:"Trial days",value:C.trial_days,hideTitle:!0,onChange:W=>j(B=>({...B,trial_days:W.target.value.replace(/[^\d]/,"")}))})]})]})}),n.jsx(wh,{baseUrl:h?.url,hint:`Redirect to this URL after signup ${a?"":" for premium membership"}`,maxLength:2e3,placeholder:h?.url,title:"Welcome page",value:C.welcome_page_url||null,nullable:!0,transformPathWithoutSlash:!0,onChange:W=>j(B=>({...B,welcome_page_url:W||null}))})]}),n.jsxs(Be,{gap:"none",title:"Benefits",grouped:!0,children:[n.jsx("div",{className:"-mt-3",children:n.jsx(bh,{items:O.items,itemSeparator:!1,renderItem:({id:W,item:B})=>n.jsxs("div",{className:"relative flex w-full items-center gap-5",children:[n.jsx("div",{className:"absolute top-[7px] left-[-32px] flex size-6 items-center justify-center bg-white group-hover:hidden dark:bg-black",children:n.jsx(Ge,{name:"check",size:"sm"})}),n.jsx(ve,{maxLength:191,value:B,onChange:ie=>O.updateItem(W,ie.target.value)}),n.jsx(Ie,{className:"absolute top-1 right-1 z-10 opacity-0 group-hover:opacity-100",color:"grey",icon:"trash",size:"sm",onClick:()=>O.removeItem(W)})]}),onMove:O.moveItem})}),n.jsxs("div",{className:"relative mt-1 flex items-center gap-3",children:[n.jsx(Ge,{className:"dark:text-white",name:"check",size:"sm"}),n.jsx(ve,{className:"grow",containerClassName:"w-100",maxLength:191,placeholder:"Expert analysis",title:"New benefit",value:O.newItem,hideTitle:!0,onChange:W=>O.setNewItem(W.target.value),onKeyDown:W=>{W.key==="Enter"&&O.addItem()}}),n.jsx(Ie,{className:"absolute top-[5px] right-[5px] z-10",color:"green",icon:"add",iconColorClass:"text-white",label:"Add",size:"sm",hideLabel:!0,onClick:()=>O.addItem()})]})]})]}),n.jsx("div",{className:"sticky top-[96px] hidden shrink-0 basis-[380px] min-[920px]:!visible min-[920px]:!block",children:n.jsx(xy,{isFreeTier:a,tier:C})})]})})},YM=({params:t})=>{const{data:{tiers:a,isEnd:s}={},fetchNextPage:i}=Xr();let u;return A.useEffect(()=>{t?.id&&!u&&!s&&i()},[i,s,t?.id,u]),t?.id&&(u=a?.find(({id:p})=>p===t?.id),!u)?null:n.jsx(WM,{tier:u})},qM=me.create(YM);var Oc,ip;function Tm(){if(ip)return Oc;ip=1;var t={};return Oc=typeof process=="object"&&t&&t.NODE_DEBUG&&/\bsemver\b/i.test(t.NODE_DEBUG)?(...s)=>console.error("SEMVER",...s):()=>{},Oc}var Fc,lp;function Cm(){if(lp)return Fc;lp=1;const t="2.0.0",a=256,s=Number.MAX_SAFE_INTEGER||9007199254740991,i=16,u=a-6;return Fc={MAX_LENGTH:a,MAX_SAFE_COMPONENT_LENGTH:i,MAX_SAFE_BUILD_LENGTH:u,MAX_SAFE_INTEGER:s,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:t,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},Fc}var vi={exports:{}},cp;function GM(){return cp||(cp=1,(function(t,a){const{MAX_SAFE_COMPONENT_LENGTH:s,MAX_SAFE_BUILD_LENGTH:i,MAX_LENGTH:u}=Cm(),p=Tm();a=t.exports={};const w=a.re=[],m=a.safeRe=[],x=a.src=[],g=a.safeSrc=[],h=a.t={};let b=0;const y="[a-zA-Z0-9-]",v=[["\\s",1],["\\d",u],[y,i]],C=j=>{for(const[N,D]of v)j=j.split(`${N}*`).join(`${N}{0,${D}}`).split(`${N}+`).join(`${N}{1,${D}}`);return j},E=(j,N,D)=>{const $=C(N),R=b++;p(j,R,N),h[j]=R,x[R]=N,g[R]=$,w[R]=new RegExp(N,D?"g":void 0),m[R]=new RegExp($,D?"g":void 0)};E("NUMERICIDENTIFIER","0|[1-9]\\d*"),E("NUMERICIDENTIFIERLOOSE","\\d+"),E("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${y}*`),E("MAINVERSION",`(${x[h.NUMERICIDENTIFIER]})\\.(${x[h.NUMERICIDENTIFIER]})\\.(${x[h.NUMERICIDENTIFIER]})`),E("MAINVERSIONLOOSE",`(${x[h.NUMERICIDENTIFIERLOOSE]})\\.(${x[h.NUMERICIDENTIFIERLOOSE]})\\.(${x[h.NUMERICIDENTIFIERLOOSE]})`),E("PRERELEASEIDENTIFIER",`(?:${x[h.NONNUMERICIDENTIFIER]}|${x[h.NUMERICIDENTIFIER]})`),E("PRERELEASEIDENTIFIERLOOSE",`(?:${x[h.NONNUMERICIDENTIFIER]}|${x[h.NUMERICIDENTIFIERLOOSE]})`),E("PRERELEASE",`(?:-(${x[h.PRERELEASEIDENTIFIER]}(?:\\.${x[h.PRERELEASEIDENTIFIER]})*))`),E("PRERELEASELOOSE",`(?:-?(${x[h.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${x[h.PRERELEASEIDENTIFIERLOOSE]})*))`),E("BUILDIDENTIFIER",`${y}+`),E("BUILD",`(?:\\+(${x[h.BUILDIDENTIFIER]}(?:\\.${x[h.BUILDIDENTIFIER]})*))`),E("FULLPLAIN",`v?${x[h.MAINVERSION]}${x[h.PRERELEASE]}?${x[h.BUILD]}?`),E("FULL",`^${x[h.FULLPLAIN]}$`),E("LOOSEPLAIN",`[v=\\s]*${x[h.MAINVERSIONLOOSE]}${x[h.PRERELEASELOOSE]}?${x[h.BUILD]}?`),E("LOOSE",`^${x[h.LOOSEPLAIN]}$`),E("GTLT","((?:<|>)?=?)"),E("XRANGEIDENTIFIERLOOSE",`${x[h.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),E("XRANGEIDENTIFIER",`${x[h.NUMERICIDENTIFIER]}|x|X|\\*`),E("XRANGEPLAIN",`[v=\\s]*(${x[h.XRANGEIDENTIFIER]})(?:\\.(${x[h.XRANGEIDENTIFIER]})(?:\\.(${x[h.XRANGEIDENTIFIER]})(?:${x[h.PRERELEASE]})?${x[h.BUILD]}?)?)?`),E("XRANGEPLAINLOOSE",`[v=\\s]*(${x[h.XRANGEIDENTIFIERLOOSE]})(?:\\.(${x[h.XRANGEIDENTIFIERLOOSE]})(?:\\.(${x[h.XRANGEIDENTIFIERLOOSE]})(?:${x[h.PRERELEASELOOSE]})?${x[h.BUILD]}?)?)?`),E("XRANGE",`^${x[h.GTLT]}\\s*${x[h.XRANGEPLAIN]}$`),E("XRANGELOOSE",`^${x[h.GTLT]}\\s*${x[h.XRANGEPLAINLOOSE]}$`),E("COERCEPLAIN",`(^|[^\\d])(\\d{1,${s}})(?:\\.(\\d{1,${s}}))?(?:\\.(\\d{1,${s}}))?`),E("COERCE",`${x[h.COERCEPLAIN]}(?:$|[^\\d])`),E("COERCEFULL",x[h.COERCEPLAIN]+`(?:${x[h.PRERELEASE]})?(?:${x[h.BUILD]})?(?:$|[^\\d])`),E("COERCERTL",x[h.COERCE],!0),E("COERCERTLFULL",x[h.COERCEFULL],!0),E("LONETILDE","(?:~>?)"),E("TILDETRIM",`(\\s*)${x[h.LONETILDE]}\\s+`,!0),a.tildeTrimReplace="$1~",E("TILDE",`^${x[h.LONETILDE]}${x[h.XRANGEPLAIN]}$`),E("TILDELOOSE",`^${x[h.LONETILDE]}${x[h.XRANGEPLAINLOOSE]}$`),E("LONECARET","(?:\\^)"),E("CARETTRIM",`(\\s*)${x[h.LONECARET]}\\s+`,!0),a.caretTrimReplace="$1^",E("CARET",`^${x[h.LONECARET]}${x[h.XRANGEPLAIN]}$`),E("CARETLOOSE",`^${x[h.LONECARET]}${x[h.XRANGEPLAINLOOSE]}$`),E("COMPARATORLOOSE",`^${x[h.GTLT]}\\s*(${x[h.LOOSEPLAIN]})$|^$`),E("COMPARATOR",`^${x[h.GTLT]}\\s*(${x[h.FULLPLAIN]})$|^$`),E("COMPARATORTRIM",`(\\s*)${x[h.GTLT]}\\s*(${x[h.LOOSEPLAIN]}|${x[h.XRANGEPLAIN]})`,!0),a.comparatorTrimReplace="$1$2$3",E("HYPHENRANGE",`^\\s*(${x[h.XRANGEPLAIN]})\\s+-\\s+(${x[h.XRANGEPLAIN]})\\s*$`),E("HYPHENRANGELOOSE",`^\\s*(${x[h.XRANGEPLAINLOOSE]})\\s+-\\s+(${x[h.XRANGEPLAINLOOSE]})\\s*$`),E("STAR","(<|>)?=?\\s*\\*"),E("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),E("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(vi,vi.exports)),vi.exports}var Pc,up;function XM(){if(up)return Pc;up=1;const t=Object.freeze({loose:!0}),a=Object.freeze({});return Pc=i=>i?typeof i!="object"?t:i:a,Pc}var Hc,dp;function KM(){if(dp)return Hc;dp=1;const t=/^[0-9]+$/,a=(i,u)=>{if(typeof i=="number"&&typeof u=="number")return i===u?0:i<u?-1:1;const p=t.test(i),w=t.test(u);return p&&w&&(i=+i,u=+u),i===u?0:p&&!w?-1:w&&!p?1:i<u?-1:1};return Hc={compareIdentifiers:a,rcompareIdentifiers:(i,u)=>a(u,i)},Hc}var zc,fp;function ZM(){if(fp)return zc;fp=1;const t=Tm(),{MAX_LENGTH:a,MAX_SAFE_INTEGER:s}=Cm(),{safeRe:i,t:u}=GM(),p=XM(),{compareIdentifiers:w}=KM();class m{constructor(g,h){if(h=p(h),g instanceof m){if(g.loose===!!h.loose&&g.includePrerelease===!!h.includePrerelease)return g;g=g.version}else if(typeof g!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof g}".`);if(g.length>a)throw new TypeError(`version is longer than ${a} characters`);t("SemVer",g,h),this.options=h,this.loose=!!h.loose,this.includePrerelease=!!h.includePrerelease;const b=g.trim().match(h.loose?i[u.LOOSE]:i[u.FULL]);if(!b)throw new TypeError(`Invalid Version: ${g}`);if(this.raw=g,this.major=+b[1],this.minor=+b[2],this.patch=+b[3],this.major>s||this.major<0)throw new TypeError("Invalid major version");if(this.minor>s||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>s||this.patch<0)throw new TypeError("Invalid patch version");b[4]?this.prerelease=b[4].split(".").map(y=>{if(/^[0-9]+$/.test(y)){const v=+y;if(v>=0&&v<s)return v}return y}):this.prerelease=[],this.build=b[5]?b[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(g){if(t("SemVer.compare",this.version,this.options,g),!(g instanceof m)){if(typeof g=="string"&&g===this.version)return 0;g=new m(g,this.options)}return g.version===this.version?0:this.compareMain(g)||this.comparePre(g)}compareMain(g){return g instanceof m||(g=new m(g,this.options)),this.major<g.major?-1:this.major>g.major?1:this.minor<g.minor?-1:this.minor>g.minor?1:this.patch<g.patch?-1:this.patch>g.patch?1:0}comparePre(g){if(g instanceof m||(g=new m(g,this.options)),this.prerelease.length&&!g.prerelease.length)return-1;if(!this.prerelease.length&&g.prerelease.length)return 1;if(!this.prerelease.length&&!g.prerelease.length)return 0;let h=0;do{const b=this.prerelease[h],y=g.prerelease[h];if(t("prerelease compare",h,b,y),b===void 0&&y===void 0)return 0;if(y===void 0)return 1;if(b===void 0)return-1;if(b===y)continue;return w(b,y)}while(++h)}compareBuild(g){g instanceof m||(g=new m(g,this.options));let h=0;do{const b=this.build[h],y=g.build[h];if(t("build compare",h,b,y),b===void 0&&y===void 0)return 0;if(y===void 0)return 1;if(b===void 0)return-1;if(b===y)continue;return w(b,y)}while(++h)}inc(g,h,b){if(g.startsWith("pre")){if(!h&&b===!1)throw new Error("invalid increment argument: identifier is empty");if(h){const y=`-${h}`.match(this.options.loose?i[u.PRERELEASELOOSE]:i[u.PRERELEASE]);if(!y||y[1]!==h)throw new Error(`invalid identifier: ${h}`)}}switch(g){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",h,b);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",h,b);break;case"prepatch":this.prerelease.length=0,this.inc("patch",h,b),this.inc("pre",h,b);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",h,b),this.inc("pre",h,b);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{const y=Number(b)?1:0;if(this.prerelease.length===0)this.prerelease=[y];else{let v=this.prerelease.length;for(;--v>=0;)typeof this.prerelease[v]=="number"&&(this.prerelease[v]++,v=-2);if(v===-1){if(h===this.prerelease.join(".")&&b===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(y)}}if(h){let v=[h,y];b===!1&&(v=[h]),w(this.prerelease[0],h)===0?isNaN(this.prerelease[1])&&(this.prerelease=v):this.prerelease=v}break}default:throw new Error(`invalid increment argument: ${g}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return zc=m,zc}var Uc,pp;function VM(){if(pp)return Uc;pp=1;const t=ZM();return Uc=(s,i,u=!1)=>{if(s instanceof t)return s;try{return new t(s,i)}catch(p){if(!u)return null;throw p}},Uc}var QM=VM();const JM=fh(QM);function ek(t){if(!t)return"";const a=t.indexOf("+"),s=a!==-1?t.slice(a+1):"",i=a!==-1?t.slice(0,a):t;if(s&&s!=="moya"){const u=s.split("."),p=u[u.length-1];if(p&&/^[0-9a-f]{7,40}$/.test(p))return`https://github.com/TryGhost/Ghost/commit/${p}`}try{const p=JM(i,{includePrerelease:!0})?.prerelease;if(p&&p.length>0){const m=String(p[0]).split("-")[1];return m?.startsWith("g")?`https://github.com/TryGhost/Ghost/commit/${m.slice(1)}`:""}}catch{return""}return`https://github.com/TryGhost/Ghost/releases/tag/v${i}`}function tk(t,a){const s=!!t.match?.(/production/i);return!!(s&&a!=="mysql8"||!s&&a==="mysql5")}function nk({label:t,version:a}){const s=ek(a);return n.jsxs("div",{children:[n.jsxs("strong",{children:[t,":"]})," ",s?n.jsx("a",{className:"text-green",href:s,rel:"noopener noreferrer",target:"_blank",children:a}):a]})}const rk=me.create(({})=>{const{updateRoute:t}=Pe();let s=ze().config;const i=wy();function u(){return new Date().getFullYear()}function p(){return!!s.enableDeveloperExperiments}function w(){return!s.hostSettings?.siteId}return n.jsx(ut,{afterClose:()=>{t("")},cancelLabel:"",footer:n.jsx(n.Fragment,{}),topRightContent:"close",width:540,children:n.jsxs("div",{className:"flex flex-col gap-4 pb-7 text-sm",children:[n.jsx(by,{className:"h-auto w-[120px] dark:invert"}),n.jsxs("div",{className:"mt-3 flex flex-col gap-1.5",children:[i?.message&&n.jsxs("div",{className:"gh-prose-links mb-4 rounded-sm border border-green p-5",children:[n.jsx("strong",{children:"Update available!"}),n.jsx("div",{dangerouslySetInnerHTML:{__html:i.message}})]}),n.jsx(nk,{label:"Version",version:s.version}),w()&&n.jsxs(n.Fragment,{children:[n.jsxs("div",{children:[n.jsx("strong",{children:"Environment:"})," ",s.environment]}),n.jsxs("div",{children:[n.jsx("strong",{children:"Database:"})," ",s.database]}),n.jsxs("div",{children:[n.jsx("strong",{children:"Mail:"})," ",s.mail?s.mail:"Native"]})]}),p()&&n.jsxs("div",{children:[n.jsx("strong",{children:"Developer experiments:"})," Enabled"]}),w()&&tk(s.environment,s.database)&&n.jsxs("div",{className:"text-red-500 dark:text-red-400",children:["You are running an unsupported database in production. Please ",n.jsx("a",{href:"https://ghost.org/docs/faq/supported-databases/",rel:"noopener noreferrer",target:"_blank",children:"upgrade to MySQL 8"}),"."]})]}),n.jsx(Rs,{}),n.jsxs("div",{className:"flex flex-col gap-1.5",children:[n.jsxs("a",{className:"flex items-center gap-2 hover:text-grey-900 dark:hover:text-grey-400",href:"https://ghost.org/docs/",rel:"noopener noreferrer",target:"_blank",children:[n.jsx(Ge,{name:"book-open",size:"sm"})," User documentation"]}),n.jsxs("a",{className:"flex items-center gap-2 hover:text-grey-900 dark:hover:text-grey-400",href:"https://forum.ghost.org/",rel:"noopener noreferrer",target:"_blank",children:[n.jsx(Ge,{name:"question-circle",size:"sm"})," Get help with Ghost"]}),n.jsxs("a",{className:"flex items-center gap-2 hover:text-grey-900 dark:hover:text-grey-400",href:"https://ghost.org/docs/contributing/",rel:"noopener noreferrer",target:"_blank",children:[n.jsx(Ge,{name:"angle-brackets",size:"sm"})," Get involved"]})]}),n.jsx(Rs,{}),n.jsxs("p",{className:"max-w-[460px] text-xs",children:["Copyright © 2013 – ",u()," Ghost Foundation, released under the ",n.jsx("a",{className:"text-green",href:"https://github.com/TryGhost/Ghost/blob/main/LICENSE",rel:"noopener noreferrer",target:"_blank",children:"MIT license"}),". ",n.jsx("a",{className:"text-green",href:"https://ghost.org/",rel:"noopener noreferrer",target:"_blank",children:"Ghost"})," is a registered trademark of ",n.jsx("a",{className:"text-green",href:"https://ghost.org/trademark/",rel:"noopener noreferrer",target:"_blank",children:"Ghost Foundation Ltd"}),"."]})]})})}),sk=()=>{const t=Ft(),{updateRoute:a}=Pe(),[s,i]=A.useState(""),[u,p]=A.useState({name:""}),{mutateAsync:w}=vy(),m=Fs(),x=Ke();return A.useEffect(()=>{m?.isLimited("customIntegrations")&&m.errorIfWouldGoOverLimit("customIntegrations").catch(g=>{g instanceof Ps&&(me.show(Un,{prompt:g.message||"Your current plan doesn't support more custom integrations.",onOk:()=>a({route:"/pro",isExternal:!0})}),t.remove(),a("integrations"))})},[m,t,a]),n.jsx(ut,{afterClose:()=>{a("integrations")},okColor:"black",okLabel:"Add",size:"sm",testId:"add-integration-modal",title:"Add integration",onOk:async()=>{if(!s){p({name:"Name is required"});return}try{const g=await w({name:s});t.remove(),a({route:`integrations/${g.integrations[0].id}`})}catch(g){x(g)}},children:n.jsx("div",{className:"mt-5",children:n.jsx(Be,{marginBottom:!1,marginTop:!1,children:n.jsx(ve,{autoFocus:!0,error:!!u.name,hint:u.name,maxLength:191,placeholder:"Custom integration",title:"Name",value:s,onChange:g=>i(g.target.value),onInput:()=>{u.name&&p({name:""})}})})})})},ak=me.create(sk),ok=()=>{const t=Ft(),{updateRoute:a}=Pe(),s=Ke(),[i,u]=A.useState(!0),[p,w]=A.useState(null),{data:m}=ph({searchParams:{filter:"newsletters.status:active+email_disabled:0",limit:"1",page:"1",include:"newsletters,labels"}}),{mutateAsync:x}=Yy(),{formState:g,updateForm:h,saveState:b,handleSave:y,errors:v,clearError:C}=an({initialState:{name:"",description:"",optInExistingSubscribers:!0},onSave:async()=>{const N=await x({name:g.name,description:g.description,opt_in_existing:g.optInExistingSubscribers,feedback_enabled:!0});a({route:`newsletters/${N.newsletters[0].id}`})},onSaveError:s,onValidate:()=>{const N={};return g.name||(N.name="A name is required for your newsletter"),N}}),E=Fs();A.useEffect(()=>{if(!E){u(!1);return}E.errorIfWouldGoOverLimit("newsletters").catch(N=>{if(N instanceof Ps)w(N);else throw N}).finally(()=>{u(!1)})},[E]);const j=m?.meta?.pagination.total;return A.useEffect(()=>{p&&(me.show(Un,{prompt:p.message||"Your current plan doesn't support more newsletters.",onOk:()=>a({route:"/pro",isExternal:!0})}),t.remove(),a("newsletters"))},[p,t,a]),i||p?null:n.jsx(ut,{afterClose:()=>{a("newsletters")},backDropClick:!1,okColor:"black",okDisabled:b==="saving",okLabel:"Create",okLoading:b==="saving",size:"sm",testId:"add-newsletter-modal",title:"Create newsletter",onOk:async()=>{await y()&&t.remove()},children:n.jsxs(Be,{marginBottom:!1,marginTop:!0,children:[n.jsx(ve,{autoFocus:!0,error:!!v.name,hint:v.name,maxLength:191,placeholder:"Weekly roundup",title:"Name",value:g.name,onChange:N=>h(D=>({...D,name:N.target.value})),onKeyDown:()=>C("name")}),n.jsx(nr,{maxLength:2e3,title:"Description",value:g.description,onChange:N=>h(D=>({...D,description:N.target.value}))}),n.jsx(Ye,{checked:g.optInExistingSubscribers,direction:"rtl",hint:g.optInExistingSubscribers?`This newsletter will be available to all members. Your ${j===void 0?"":$a(j)} 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.",label:"Opt-in existing subscribers",labelStyle:"heading",onChange:N=>h(D=>({...D,optInExistingSubscribers:N.target.checked}))})]})})},ik=me.create(ok),lk=me.create(()=>{const t=me.useModal(),{updateRoute:a}=Pe(),{data:{integrations:s}={integrations:[]}}=Oi(),u=s.find(({slug:p})=>p==="ghost-core-content")?.api_keys?.find(p=>p.type==="content");return n.jsxs(ut,{afterClose:()=>{a("integrations")},cancelLabel:"",footer:n.jsxs("div",{className:"mx-8 flex w-full items-center justify-between",children:[n.jsx(Ie,{color:"outline",href:"https://ghost.org/docs/content-api/",label:n.jsxs("span",{className:"flex items-center gap-1",children:["Open docs ",n.jsx(Ge,{name:"arrow-top-right",size:"xs"})]}),rel:"noopener noreferrer",tag:"a",target:"_blank"}),n.jsx(Ie,{color:"black",label:"Close",onClick:()=>{a("integrations"),t.remove()}})]}),testId:"content-api-modal",title:"",stickyFooter:!0,children:[n.jsx(Qr,{detail:"Access your content programmatically",icon:n.jsx(Ge,{name:"angle-brackets",size:56}),title:"Content API"}),n.jsxs("div",{className:"mt-7",children:[n.jsx("p",{className:"mb-6 text-sm text-grey-700",children:"This key provides read-only access to your published content. For full read/write access, create a custom integration."}),n.jsx(Ya,{keys:[{label:"Content API key",text:u?.secret},{label:"API URL",text:window.location.origin+Os().subdir}]})]})]})}),ck=({recommendation:t,animate:a})=>{const s=Ft(),{updateRoute:i,route:u}=Pe(),{mutateAsync:p}=yy(),w=Ke(),{formState:m,updateForm:x,handleSave:g,saveState:h,errors:b,clearError:y,setErrors:v}=an({initialState:{...t},onSave:async N=>{await p(N),s.remove(),rt({title:"Recommendation added",type:"success"}),My("Recommendation Added",{oneClickSubscribe:N.one_click_subscribe}),i("recommendations")},onSaveError:w,onValidate:N=>_y(N)});let C="Add",E=!1;h==="saving"?E=!0:h==="saved"&&(C="Added");let j={label:"Back",icon:"arrow-left",iconColorClass:"text-black dark:text-white",link:!0,size:"sm",onClick:()=>{h!=="saving"&&(s.remove(),me.show(Im,{pathName:u,animate:!1,recommendation:{...m}}))}};return n.jsx(ut,{afterClose:()=>{i("recommendations")},animate:a??!0,backDropClick:!1,cancelLabel:"Cancel",dirty:!0,leftButtonProps:j,okColor:"black",okLabel:C,okLoading:E,size:"sm",testId:"add-recommendation-modal",title:"Add recommendation",stickyFooter:!0,onCancel:()=>{h!=="saving"&&(s.remove(),i("recommendations"))},onOk:async()=>{if(h!=="saving"){hh();try{await g({force:!0})}catch{rt({type:"error",title:"Something went wrong when adding this recommendation, please try again."})}}},children:n.jsx(ky,{clearError:y,errors:b,formState:m,setErrors:v,showURL:!1,updateForm:x})})},uk=me.create(ck),hp=t=>Ti(t).save||"",dk=function(t,a){try{new URL(a).hostname.includes(".")?delete t.url:t.url="Enter a valid URL"}catch{t.url="Enter a valid URL"}return t},fk=({searchParams:t,recommendation:a,animate:s})=>{const[i,u]=A.useState(!1),p=Ft(),{updateRoute:w}=Pe(),{mutateAsync:m}=jy(),x=a?"":t?.get("url")??"",{save:g}=x?Ti(x):{save:""},h=Ve.useRef(!1),[b,y]=Ve.useState(!!g),{formState:v,updateForm:C,handleSave:E,errors:j,saveState:N,clearError:D}=an({initialState:a??{title:"",url:g||"",description:"",excerpt:null,featured_image:null,favicon:null,one_click_subscribe:!1},onSave:async()=>{let R;R=new URL(v.url);const O=R.hostname.replace("www.",""),P={...v,url:R.toString()},{recommendations:I=[]}=await m(R);if(!I||I.length===0)return;const U=I[0];if(U.id)throw new jf("A recommendation with this URL already exists.");P.title=U.title??O,P.excerpt=U.excerpt??P.excerpt,P.featured_image=U.featured_image??P.featured_image??null,P.favicon=U.favicon??P.favicon??null,P.one_click_subscribe=U.one_click_subscribe??P.one_click_subscribe??!1,P.description=P.excerpt||null,p.remove(),me.show(uk,{animate:!1,recommendation:P})},onValidate:()=>{const R={};return dk(R,v.url),b&&y(Object.keys(R).length===0),R}}),$=Ve.useCallback(async()=>{if(N!=="saving"){hh();try{if(await E({force:!0}))return}catch(R){const O=R instanceof jf?R.message:"Something went wrong while checking this URL, please try again.";rt({type:"error",title:O})}b&&y(!1)}},[E,N,b,y]);return Ve.useEffect(()=>{b&&!h.current&&(h.current=!0,$())},[b,$]),A.useEffect(()=>{i&&($(),u(!1))},[v]),b?n.jsx(ut,{afterClose:()=>{w("recommendations")},animate:s??!0,backDropClick:!1,footer:!1,header:!1,size:"sm",children:n.jsx("div",{className:"flex flex-col items-center justify-center p-8",children:n.jsx(Ci,{})})}):n.jsxs(ut,{afterClose:()=>{w("recommendations")},animate:s??!0,backDropClick:!1,okColor:"black",okLabel:"Next",okLoading:N==="saving",size:"sm",testId:"add-recommendation-modal",title:"Add recommendation",onOk:$,children:[n.jsxs("p",{className:"mt-4",children:["You can recommend ",n.jsx("strong",{children:"any site"})," your audience will find valuable, not just those published on Ghost."]}),n.jsx(Be,{marginBottom:!1,marginTop:!0,children:n.jsx(ve,{autoFocus:!0,error:!!j.url,hint:j.url||n.jsxs(n.Fragment,{children:["Need inspiration? ",n.jsx("a",{className:"text-green",href:"https://www.ghost.org/explore",rel:"noopener noreferrer",target:"_blank",children:"Explore thousands of sites"})," to recommend"]}),maxLength:2e3,placeholder:"https://www.example.com",title:"URL",value:v.url,onBlur:()=>{const R=hp(v.url);C(O=>({...O,url:R}))},onChange:R=>{D?.("url"),C(O=>({...O,url:R.target.value}))},onKeyDown:R=>{R.key==="Enter"&&(R.preventDefault(),C(O=>({...O,url:hp(v.url)})),u(!0))}})})]})},Im=me.create(fk);function pk(t,a){let s;return function(...u){const p=()=>{clearTimeout(s),t(...u)};clearTimeout(s),s=setTimeout(p,a)}}const Fu=({generateContent:t,className:a,height:s,width:i,parentClassName:u,testId:p,addDelay:w=!1})=>{const[m,x]=A.useState(0),g=[A.useRef(null),A.useRef(null)],[h,b]=A.useState(0);return A.useEffect(()=>{const y=m===0?1:0,v=g[y].current;if(v){t(v);const C=()=>{w?setTimeout(()=>{x(y)},500):x(y)};return v.addEventListener("load",C),()=>{v.removeEventListener("load",C)}}},[t]),A.useEffect(()=>{const y=g[m].current,v=pk(()=>{b(y?.contentWindow?.scrollY||0)},250);return y?.contentWindow?.addEventListener("scroll",v),()=>{y?.contentWindow?.removeEventListener("scroll",v)}},[m,g]),A.useEffect(()=>{const y=g[m].current;if(y)try{y.contentWindow?.scrollTo(0,h)}catch(v){Lv(v)}},[h,m,g]),n.jsxs("div",{className:u,"data-testid":p,children:[n.jsx("iframe",{ref:g[0],className:`${a} ${m!==0?"z-10 opacity-0":"z-20 opacity-100"}`,"data-visible":m===0,frameBorder:"0",height:s,title:"Buffered Preview 1",width:i}),n.jsx("iframe",{ref:g[1],className:`${a} ${m!==1?"z-10 opacity-0":"z-20 opacity-100"}`,"data-visible":m===1,frameBorder:"0",height:s,title:"Buffered Preview 2",width:i})]})},hk=(t,a,s)=>{const i=new URLSearchParams;return i.append("announcement_bg",t||"accent"),i.append("announcement",a||""),s&&s.length>0&&i.append("announcement_vis",s?.join(",")||""),i.toString()},mk=({announcementBackgroundColor:t,announcementContent:a,url:s,visibility:i})=>{const u=A.useMemo(()=>i,[i?.join(",")]),p=A.useCallback(w=>{s&&fetch(s,{method:"POST",headers:{"Content-Type":"text/html;charset=utf-8","x-ghost-preview":hk(t,a,u),Accept:"text/plain"},mode:"cors",credentials:"include"}).then(m=>m.text()).then(m=>{const x="html { pointer-events: none; }",h=new DOMParser().parseFromString(m,"text/html"),b=h.querySelector("style"),y=b.innerHTML;b.innerHTML=`${y}
1
+ import{j as n,r as A,aE as he,t as Ve,dv as kv,aM as uh,aK as jv,az as Ev,aw as dh,aN as Nv,ay as $i,aA as yu,aO as Tv,aB as tu,ax as Cv,aC as Iv,aD as Sv,dw as Ge,dx as Av,dy as Dv,dz as $v,dA as Rv,ag as qr,b0 as Ke,dg as Os,ds as Tr,dB as ot,dC as rt,ce as fh,dd as ph,dD as hh,dE as jf,dF as Lv,dG as Hn,dH as Ov,dI as Fv,dJ as Pv,dK as mh,dL as _u,dM as Hv,dN as zv,dO as Uv,dP as Er,dQ as Ei,dR as Mu,dS as Bv,dT as Wv,as as Yv,dU as qv,du as xi,dV as Gv,dW as Sa,dX as Xv,dY as Kv,ai as Zv,aR as Vv,dZ as Qv,d_ as gh,d$ as xh,e0 as Ef,dr as Tt,e1 as Ds,e2 as nu,e3 as Jv,e4 as $s,e5 as ey,e6 as ty,e7 as ny,e8 as Ni,e9 as ry,ea as sy,eb as ru,af as ay,ec as oy,ed as iy,ee as ly,ef as cy,eg as _r,eh as Nf,ei as Tf,ej as uy}from"./index-CEnfjH5h.js";import{H as ct,a as zn,S as Rs,B as Ie,x as Ri,K as dy,y as Ft,z as fy,A as kt,M as ut,C as Pn,F as py,G as Nr,J as hy,O as Li,Q as me,U as Pe,V as my,W as Oi,X as ze,Y as er,Z as Cr,_ as ht,$ as xt,a0 as Gr,a1 as an,a2 as gy,a3 as Cf,a4 as Be,a5 as ve,a6 as If,a7 as Sf,a8 as Ye,a9 as wh,aa as bh,ab as xy,ac as wy,ad as by,ae as vy,af as Fs,ag as Ps,ah as Un,ai as nr,aj as $a,ak as yy,al as _y,am as My,an as ky,ao as jy,ap as Ti,aq as Ci,ar as Ey,as as Af,at as Df,au as Ny,av as Hs,aw as tr,ax as Jn,ay as vh,az as Ty,aA as ku,aB as Cy,aC as yh,aD as _h,aE as Mh,aF as kh,aG as Iy,aH as Sy,aI as vn,aJ as $f,aK as jh,aL as Eh,aM as Nh,aN as su,aO as Ay,aP as Dy,aQ as $y,aR as au,aS as ju,aT as ki,aU as Ry,aV as Ly,aW as Rf,aX as Oy,aY as Fy,aZ as Th,a_ as Eu,a$ as Nu,b0 as Py,b1 as Hy,b2 as Ch,b3 as zy,b4 as Ih,b5 as Uy,b6 as By,b7 as Wy}from"./settings-BTd0Adha.js";import{a as Yy,u as Sh,b as Ah}from"./newsletters-DKdmxfDG.js";import{C as qy,a as Gy}from"./index-DBZYUfjO.js";import{u as Dh}from"./posts-GvXDuhVG.js";import{r as $h}from"./index-DjgsxHeB.js";import{a as Rh,b as Lh,u as Tu,c as Cu,d as Xy}from"./dropzone-B9JUsQlW.js";import{u as Xr,a as Iu,b as Ky,g as Ba}from"./tiers-kv-xBoqQ.js";import{m as Zy,n as Vy}from"./lucide-react-4VO5Dwow.js";import"./tabs-G6Ql8vbf.js";import"./wallet-cards-CJcVzH0D.js";import"./referrers-Bd9pW-WX.js";import"./select-CGr_5qad.js";import"./loader-circle-C8exRUku.js";import"./toggle-group-DsatLdt7.js";import"./textarea-DcVuGYYq.js";import"./index-BDAOs7pI.js";import"./a-large-small-B_ulQCIs.js";import"./upload-BG7KNIn7.js";import"./at-sign-B8xWKM0y.js";import"./copy-CDHcAPJw.js";import"./message-square-text-CC_1bY-Q.js";import"./hash-CI1pQ1UC.js";import"./inbox-DYY8-M1K.js";import"./user-plus-CMxR50-Y.js";import"./minus-DSyx9DCe.js";import"./tags-_taMP0sJ.js";import"./square-Df8vEYlG.js";import"./user-round-check-2nhPmqP3.js";import"./repeat-y6HlMgGO.js";import"./reply-Cc8ryI5v.js";import"./sprout-Td9eaOoY.js";import"./trash-BeZZgbn-.js";const Oh=({children:t,...a})=>n.jsx("div",{className:"flex size-full flex-col px-8",...a,children:n.jsx("div",{className:"size-full overflow-hidden rounded-t-[4px] shadow-sm",children:t})}),Fh=({children:t,...a})=>n.jsx("div",{className:"flex h-[775px] w-[380px] flex-col rounded-3xl bg-white p-2 shadow-xl dark:bg-grey-900",...a,children:n.jsx("div",{className:"h-100 w-100 grow overflow-auto rounded-2xl border border-grey-100 dark:border-grey-950",children:t})}),Qy=({title:t,label:a,value:s,onChange:i,disabled:u,error:p,hint:w,checked:m,separator:x,testId:g})=>{const h=A.useId(),b=y=>{i(y===!0)};return n.jsxs("div",{children:[n.jsxs("div",{className:`flex flex-col gap-1 ${x&&"pb-2"}`,children:[t&&n.jsx(ct,{grey:!0,level:6,children:t}),n.jsxs("label",{className:`flex cursor-pointer items-start ${t&&"mt-1 -mb-1"}`,htmlFor:h,children:[n.jsx(qy,{className:"mt-0.5 flex size-4 cursor-pointer appearance-none items-center justify-center rounded-[3px] border border-solid border-grey-500 bg-white outline-hidden data-[state=checked]:border-black data-[state=checked]:bg-black data-[state=indeterminate]:border-black data-[state=indeterminate]:bg-black","data-testid":g,defaultChecked:m,disabled:u,id:h,value:s,onCheckedChange:b,children:n.jsx(Gy,{children:n.jsx("svg",{fill:"none",height:"11",viewBox:"0 0 10 11",width:"10",children:n.jsx("path",{d:"M1 5.88889L4.6 9L9 1",stroke:"white",strokeLinecap:"round",strokeWidth:"2"})})})}),n.jsxs("div",{className:`ml-2 flex flex-col ${w&&"mb-2"}`,children:[n.jsx("span",{className:`inline-block text-[1.425rem] dark:text-white ${w&&"-mb-1"}`,children:a}),w&&n.jsx(zn,{color:p?"red":"",children:w})]})]})]}),(x||p)&&n.jsx(Rs,{className:p?"border-red":""})]})},ou=({title:t,checkboxes:a,hint:s,error:i})=>n.jsxs("div",{children:[t&&n.jsx(ct,{grey:!0,level:6,children:t}),n.jsx("div",{className:"mt-2 flex flex-col gap-1",children:a?.map(({key:u,...p})=>n.jsx(Qy,{...p},u))}),n.jsx("div",{className:`flex flex-col ${s&&"mb-2"}`,children:s&&n.jsx(zn,{color:i?"red":"",children:s})})]}),Jy=({hex:t,value:a,title:s,size:i="md",isSelected:u,onSelect:p})=>{const w=A.useRef(null),m=h=>{h.preventDefault(),p(a!==void 0?a:t)},x=t.length===4&&t[3]==="0"||t.length===8&&t.slice(6)==="00";let g="h-5 w-5";switch(i){case"lg":g="w-6 h-6";break}return n.jsx("button",{ref:w,className:he("relative flex shrink-0 cursor-pointer items-center rounded-full border border-grey-300 dark:border-grey-800",g,u&&"outline outline-2 outline-green"),style:{backgroundColor:t},title:s,type:"button",onClick:m,children:x&&n.jsx("div",{className:"absolute top-0 left-0 z-10 w-[136%] origin-left rotate-45 border-b border-b-red"})})},Ph=({title:t,value:a,swatches:s,swatchSize:i="md",onSwatchChange:u,onTogglePicker:p,isExpanded:w,picker:m=!0,containerClassName:x})=>{const g=s.find(b=>b.value===a||b.hex===a);x=he("flex flex-col gap-3");const h=w||!m;return n.jsxs("div",{className:x,children:[t&&n.jsx(ct,{useLabelTag:!0,children:t}),n.jsxs("div",{className:"flex gap-1",children:[h&&n.jsx("div",{className:"flex items-center gap-1",children:s.map(({customContent:b,...y})=>b?n.jsx(A.Fragment,{children:b},y.title):n.jsx(Jy,{isSelected:g?.title===y.title,size:i,onSelect:u,...y},y.title))}),m&&n.jsxs("button",{"aria-label":"Pick color",className:"relative size-6 cursor-pointer rounded-full border border-grey-250 dark:border-grey-800",type:"button",onClick:p,children:[n.jsx("div",{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%))]"}),g&&n.jsx("div",{className:"absolute inset-[3px] overflow-hidden rounded-full border border-white dark:border-grey-950",style:{backgroundColor:g.hex},children:g.hex==="transparent"&&n.jsx("div",{className:"absolute top-[3px] left-[3px] z-10 w-[136%] origin-left rotate-45 border-b border-b-red"})}),!g&&a&&n.jsx("div",{className:"absolute inset-[3px] overflow-hidden rounded-full border border-white dark:border-grey-950",style:{backgroundColor:a},children:a==="transparent"&&n.jsx("div",{className:"absolute top-[3px] left-[3px] z-10 w-[136%] origin-left rotate-45 border-b border-b-red"})})]})]})]})};function zs(){return(zs=Object.assign||function(t){for(var a=1;a<arguments.length;a++){var s=arguments[a];for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(t[i]=s[i])}return t}).apply(this,arguments)}function Fi(t,a){if(t==null)return{};var s,i,u={},p=Object.keys(t);for(i=0;i<p.length;i++)a.indexOf(s=p[i])>=0||(u[s]=t[s]);return u}function Oa(t){var a=A.useRef(t),s=A.useRef(function(i){a.current&&a.current(i)});return a.current=t,s.current}var Fa=function(t,a,s){return a===void 0&&(a=0),s===void 0&&(s=1),t>s?s:t<a?a:t},Ra=function(t){return"touches"in t},iu=function(t){return t&&t.ownerDocument.defaultView||self},Lf=function(t,a,s){var i=t.getBoundingClientRect(),u=Ra(a)?(function(p,w){for(var m=0;m<p.length;m++)if(p[m].identifier===w)return p[m];return p[0]})(a.touches,s):a;return{left:Fa((u.pageX-(i.left+iu(t).pageXOffset))/i.width),top:Fa((u.pageY-(i.top+iu(t).pageYOffset))/i.height)}},Of=function(t){!Ra(t)&&t.preventDefault()},Hh=Ve.memo(function(t){var a=t.onMove,s=t.onKey,i=Fi(t,["onMove","onKey"]),u=A.useRef(null),p=Oa(a),w=Oa(s),m=A.useRef(null),x=A.useRef(!1),g=A.useMemo(function(){var v=function(j){Of(j),(Ra(j)?j.touches.length>0:j.buttons>0)&&u.current?p(Lf(u.current,j,m.current)):E(!1)},C=function(){return E(!1)};function E(j){var N=x.current,D=iu(u.current),$=j?D.addEventListener:D.removeEventListener;$(N?"touchmove":"mousemove",v),$(N?"touchend":"mouseup",C)}return[function(j){var N=j.nativeEvent,D=u.current;if(D&&(Of(N),!(function(R,O){return O&&!Ra(R)})(N,x.current)&&D)){if(Ra(N)){x.current=!0;var $=N.changedTouches||[];$.length&&(m.current=$[0].identifier)}D.focus(),p(Lf(D,N,m.current)),E(!0)}},function(j){var N=j.which||j.keyCode;N<37||N>40||(j.preventDefault(),w({left:N===39?.05:N===37?-.05:0,top:N===40?.05:N===38?-.05:0}))},E]},[w,p]),h=g[0],b=g[1],y=g[2];return A.useEffect(function(){return y},[y]),Ve.createElement("div",zs({},i,{onTouchStart:h,onMouseDown:h,className:"react-colorful__interactive",ref:u,onKeyDown:b,tabIndex:0,role:"slider"}))}),Su=function(t){return t.filter(Boolean).join(" ")},zh=function(t){var a=t.color,s=t.left,i=t.top,u=i===void 0?.5:i,p=Su(["react-colorful__pointer",t.className]);return Ve.createElement("div",{className:p,style:{top:100*u+"%",left:100*s+"%"}},Ve.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:a}}))},Ot=function(t,a,s){return a===void 0&&(a=0),s===void 0&&(s=Math.pow(10,a)),Math.round(s*t)/s},e1=function(t){return a1(lu(t))},lu=function(t){return t[0]==="#"&&(t=t.substring(1)),t.length<6?{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16),a:t.length===4?Ot(parseInt(t[3]+t[3],16)/255,2):1}:{r:parseInt(t.substring(0,2),16),g:parseInt(t.substring(2,4),16),b:parseInt(t.substring(4,6),16),a:t.length===8?Ot(parseInt(t.substring(6,8),16)/255,2):1}},t1=function(t){return s1(r1(t))},n1=function(t){var a=t.s,s=t.v,i=t.a,u=(200-a)*s/100;return{h:Ot(t.h),s:Ot(u>0&&u<200?a*s/100/(u<=100?u:200-u)*100:0),l:Ot(u/2),a:Ot(i,2)}},cu=function(t){var a=n1(t);return"hsl("+a.h+", "+a.s+"%, "+a.l+"%)"},r1=function(t){var a=t.h,s=t.s,i=t.v,u=t.a;a=a/360*6,s/=100,i/=100;var p=Math.floor(a),w=i*(1-s),m=i*(1-(a-p)*s),x=i*(1-(1-a+p)*s),g=p%6;return{r:Ot(255*[i,m,w,w,x,i][g]),g:Ot(255*[x,i,i,m,w,w][g]),b:Ot(255*[w,w,x,i,i,m][g]),a:Ot(u,2)}},wi=function(t){var a=t.toString(16);return a.length<2?"0"+a:a},s1=function(t){var a=t.r,s=t.g,i=t.b,u=t.a,p=u<1?wi(Ot(255*u)):"";return"#"+wi(a)+wi(s)+wi(i)+p},a1=function(t){var a=t.r,s=t.g,i=t.b,u=t.a,p=Math.max(a,s,i),w=p-Math.min(a,s,i),m=w?p===a?(s-i)/w:p===s?2+(i-a)/w:4+(a-s)/w:0;return{h:Ot(60*(m<0?m+6:m)),s:Ot(p?w/p*100:0),v:Ot(p/255*100),a:u}},o1=Ve.memo(function(t){var a=t.hue,s=t.onChange,i=Su(["react-colorful__hue",t.className]);return Ve.createElement("div",{className:i},Ve.createElement(Hh,{onMove:function(u){s({h:360*u.left})},onKey:function(u){s({h:Fa(a+360*u.left,0,360)})},"aria-label":"Hue","aria-valuenow":Ot(a),"aria-valuemax":"360","aria-valuemin":"0"},Ve.createElement(zh,{className:"react-colorful__hue-pointer",left:a/360,color:cu({h:a,s:100,v:100,a:1})})))}),i1=Ve.memo(function(t){var a=t.hsva,s=t.onChange,i={backgroundColor:cu({h:a.h,s:100,v:100,a:1})};return Ve.createElement("div",{className:"react-colorful__saturation",style:i},Ve.createElement(Hh,{onMove:function(u){s({s:100*u.left,v:100-100*u.top})},onKey:function(u){s({s:Fa(a.s+100*u.left,0,100),v:Fa(a.v-100*u.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+Ot(a.s)+"%, Brightness "+Ot(a.v)+"%"},Ve.createElement(zh,{className:"react-colorful__saturation-pointer",top:1-a.v/100,left:a.s/100,color:cu(a)})))}),Uh=function(t,a){if(t===a)return!0;for(var s in t)if(t[s]!==a[s])return!1;return!0},l1=function(t,a){return t.toLowerCase()===a.toLowerCase()||Uh(lu(t),lu(a))};function c1(t,a,s){var i=Oa(s),u=A.useState(function(){return t.toHsva(a)}),p=u[0],w=u[1],m=A.useRef({color:a,hsva:p});A.useEffect(function(){if(!t.equal(a,m.current.color)){var g=t.toHsva(a);m.current={hsva:g,color:a},w(g)}},[a,t]),A.useEffect(function(){var g;Uh(p,m.current.hsva)||t.equal(g=t.fromHsva(p),m.current.color)||(m.current={hsva:p,color:g},i(g))},[p,t,i]);var x=A.useCallback(function(g){w(function(h){return Object.assign({},h,g)})},[]);return[p,x]}var u1=typeof window<"u"?A.useLayoutEffect:A.useEffect,d1=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},Ff=new Map,f1=function(t){u1(function(){var a=t.current?t.current.ownerDocument:document;if(a!==void 0&&!Ff.has(a)){var s=a.createElement("style");s.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,Ff.set(a,s);var i=d1();i&&s.setAttribute("nonce",i),a.head.appendChild(s)}},[])},p1=function(t){var a=t.className,s=t.colorModel,i=t.color,u=i===void 0?s.defaultColor:i,p=t.onChange,w=Fi(t,["className","colorModel","color","onChange"]),m=A.useRef(null);f1(m);var x=c1(s,u,p),g=x[0],h=x[1],b=Su(["react-colorful",a]);return Ve.createElement("div",zs({},w,{ref:m,className:b}),Ve.createElement(i1,{hsva:g,onChange:h}),Ve.createElement(o1,{hue:g.h,onChange:h,className:"react-colorful__last-control"}))},h1={defaultColor:"000",toHsva:e1,fromHsva:function(t){return t1({h:t.h,s:t.s,v:t.v,a:1})},equal:l1},m1=function(t){return Ve.createElement(p1,zs({},t,{colorModel:h1}))},g1=/^#?([0-9A-F]{3,8})$/i,x1=function(t){var a=t.color,s=a===void 0?"":a,i=t.onChange,u=t.onBlur,p=t.escape,w=t.validate,m=t.format,x=t.process,g=Fi(t,["color","onChange","onBlur","escape","validate","format","process"]),h=A.useState(function(){return p(s)}),b=h[0],y=h[1],v=Oa(i),C=Oa(u),E=A.useCallback(function(N){var D=p(N.target.value);y(D),w(D)&&v(x?x(D):D)},[p,x,w,v]),j=A.useCallback(function(N){w(N.target.value)||y(p(s)),C(N)},[s,p,w,C]);return A.useEffect(function(){y(p(s))},[s,p]),Ve.createElement("input",zs({},g,{value:m?m(b):b,spellCheck:"false",onChange:E,onBlur:j}))},Pf=function(t){return"#"+t},w1=function(t){var a=t.prefixed,s=t.alpha,i=Fi(t,["prefixed","alpha"]),u=A.useCallback(function(w){return w.replace(/([^0-9A-F]+)/gi,"").substring(0,s?8:6)},[s]),p=A.useCallback(function(w){return(function(m,x){var g=g1.exec(m),h=g?g[1].length:0;return h===3||h===6||!!x&&h===4||!!x&&h===8})(w,s)},[s]);return Ve.createElement(x1,zs({},i,{escape:u,format:a?Pf:void 0,process:Pf,validate:p}))};const b1=({hexValue:t,eyedropper:a,clearButtonValue:s,containerClassName:i,onChange:u})=>{const p=A.useRef(null),w=A.useCallback(y=>{var v,C,E;y.stopPropagation();const j=(v=p.current)==null?void 0:v.querySelector("input");y.target!==j&&((E=(C=p.current)==null?void 0:C.querySelector("input"))==null||E.focus(),y.preventDefault())},[]),m=A.useRef(!1),x=A.useCallback(()=>{var y,v;m.current=!1,(v=(y=p.current)==null?void 0:y.querySelector("input"))==null||v.focus(),document.removeEventListener("mouseup",x),document.removeEventListener("touchend",x)},[]),g=A.useCallback(()=>{m.current=!0,document.addEventListener("mouseup",x),document.addEventListener("touchend",x)},[x]),h=A.useCallback(y=>{if(y.preventDefault(),!window.EyeDropper)return;m.current=!0,document.body.style.setProperty("pointer-events","none"),new window.EyeDropper().open().then(C=>u?.(C.sRGBHex)).finally(()=>{var C,E;m.current=!1,document.body.style.removeProperty("pointer-events"),(E=(C=p.current)==null?void 0:C.querySelector("input"))==null||E.focus()})},[u]);A.useEffect(()=>{var y,v;(v=(y=p.current)==null?void 0:y.querySelector("input"))==null||v.focus()},[]);const b=A.useCallback(()=>{var y,v;(v=(y=p.current)==null?void 0:y.querySelector("input"))==null||v.focus()},[]);return i=he("mt-2",i),n.jsxs("div",{className:i,onMouseDown:w,onTouchStart:w,children:[n.jsx(m1,{className:"w-full",color:t||"#ffffff",onChange:u,onMouseDown:g,onTouchStart:g}),n.jsxs("div",{className:"mt-3 flex gap-2",children:[n.jsxs("div",{ref:p,className:"peer relative order-2 flex h-10 w-full items-center",onClick:b,children:[n.jsx("span",{className:"absolute top-[9px] left-2 z-10 mr-2 ml-1 text-grey-700",children:"#"}),n.jsx(w1,{"aria-label":"Color value",className:"z-[1] w-full rounded-md border border-transparent bg-grey-150 p-2 pl-6 transition-all hover:bg-grey-100 focus:border-green focus:bg-white focus:shadow-[0_0_0_1px_rgba(48,207,67,1)] dark:bg-grey-900 dark:text-white dark:focus:bg-grey-925",color:t,onChange:u}),a&&!!window.EyeDropper&&n.jsx("button",{className:"absolute inset-y-0 right-3 z-50 my-auto size-4 p-[1px]",type:"button",onClick:h,children:n.jsx(kv,{className:"size-full"})})]}),s!==void 0&&n.jsx(Ie,{color:"grey",value:"Clear",onClick:()=>u?.(s)})]})]})},v1=A.createContext({colorPickers:[]}),Hf=t=>t.length===4?t.replace(/#(.)(.)(.)/,"#$1$1$2$2$3$3"):t,Fn=({testId:t,title:a,direction:s,value:i,hint:u,error:p,eyedropper:w,clearButtonValue:m,onChange:x,swatches:g=[],alwaysOpen:h=!1,debounceMs:b})=>{const[y,v]=A.useState(!1),[C,E]=A.useState(i),j=A.useContext(v1),N=A.useId();A.useEffect(()=>{E(P=>Hf(P||"")===i?P:i)},[i]),A.useEffect(()=>(j.colorPickers.push({id:N,setExpanded:v}),()=>{j.colorPickers=j.colorPickers.filter(P=>P.id!==N)}),[j,N]),A.useEffect(()=>{if(y){j.colorPickers.filter(I=>I.id!==N).forEach(I=>I.setExpanded(!1));const P=()=>{v(!1)};return document.addEventListener("click",P),()=>{document.removeEventListener("click",P)}}},[j,N,y]);const D=A.useMemo(()=>x&&b?Ri(x,b):x,[b,x]),$=P=>{E(P),D?.(P?Hf(P):null)};let R=n.jsx(Ph,{isExpanded:y,swatches:g,value:C,onSwatchChange:P=>{$(P),v(!1)},onTogglePicker:()=>!h&&v(!y)});a&&(R=n.jsxs("div",{className:he("flex w-full cursor-pointer items-start first:mt-0 dark:text-white",s==="rtl"&&"flex-row-reverse"),children:[n.jsx("div",{className:"shrink-0",children:R}),n.jsxs("div",{className:he("flex-1",s==="rtl"?"pr-2":"pl-2",u?"mt-[-2px]":"mt-[1px]"),onClick:()=>!h&&v(!y),children:[a,u&&n.jsx("div",{className:`text-xs ${p?"text-red":"text-grey-700"}`,children:u})]})]}));const O=g.find(P=>P.value===C);return n.jsxs("div",{className:"flex-col","data-testid":t,onClick:P=>P.stopPropagation(),children:[R,(h||y)&&n.jsx(b1,{clearButtonValue:m,eyedropper:w,hexValue:O?.hex||C||void 0,onChange:$})]})},y1=({value:t,onChange:a,singleParagraph:s=!0,...i})=>{const u=A.useCallback(p=>{const m=new DOMParser().parseFromString(p,"text/html");m.querySelectorAll("*").forEach(g=>{g.style.removeProperty("white-space"),g.getAttribute("style")||g.removeAttribute("style")}),m.body.innerHTML!==t&&a?.(m.body.innerHTML)},[t,a]);return n.jsx(dy,{...i,singleParagraph:s,children:p=>n.jsx(p.HtmlOutputPlugin,{html:t,setHtml:u})})},Au=({title:t,hideTitle:a,error:s,hint:i,value:u,clearBg:p=!1,className:w="",containerClassName:m="",hintClassName:x="",unstyled:g=!1,...h})=>{const b=g?"":he("flex min-h-[32px] items-center rounded-md border border-transparent py-1.5 md:min-h-[36px]",p?"bg-transparent":"bg-grey-150 px-3 dark:bg-grey-900",s?"border-red":"transition-all hover:bg-grey-100 has-[:focus]:border-green has-[:focus]:bg-white has-[:focus]:shadow-[0_0_0_1px_rgba(48,207,67,1)] dark:selection:bg-[rgba(88,101,116,0.99)] dark:hover:bg-grey-925 dark:has-[:focus]:bg-grey-950",t&&!a&&!p&&"mt-2",w);return n.jsxs("div",{className:`flex flex-col ${m}`,children:[t&&n.jsx(ct,{className:a?"sr-only":"",grey:!0,useLabelTag:!0,children:t}),n.jsx("div",{className:b,children:n.jsx(y1,{...h,value:u})}),i&&n.jsx(zn,{className:x,color:s?"red":"",children:i})]})};var Du="Radio",[_1,Bh]=dh(Du),[M1,k1]=_1(Du),Wh=A.forwardRef((t,a)=>{const{__scopeRadio:s,name:i,checked:u=!1,required:p,disabled:w,value:m="on",onCheck:x,form:g,...h}=t,[b,y]=A.useState(null),v=yu(a,j=>y(j)),C=A.useRef(!1),E=b?g||!!b.closest("form"):!0;return n.jsxs(M1,{scope:s,checked:u,disabled:w,children:[n.jsx($i.button,{type:"button",role:"radio","aria-checked":u,"data-state":Xh(u),"data-disabled":w?"":void 0,disabled:w,value:m,...h,ref:v,onClick:tu(t.onClick,j=>{u||x?.(),E&&(C.current=j.isPropagationStopped(),C.current||j.stopPropagation())})}),E&&n.jsx(Gh,{control:b,bubbles:!C.current,name:i,value:m,checked:u,required:p,disabled:w,form:g,style:{transform:"translateX(-100%)"}})]})});Wh.displayName=Du;var Yh="RadioIndicator",qh=A.forwardRef((t,a)=>{const{__scopeRadio:s,forceMount:i,...u}=t,p=k1(Yh,s);return n.jsx(Cv,{present:i||p.checked,children:n.jsx($i.span,{"data-state":Xh(p.checked),"data-disabled":p.disabled?"":void 0,...u,ref:a})})});qh.displayName=Yh;var j1="RadioBubbleInput",Gh=A.forwardRef(({__scopeRadio:t,control:a,checked:s,bubbles:i=!0,...u},p)=>{const w=A.useRef(null),m=yu(w,p),x=Iv(s),g=Sv(a);return A.useEffect(()=>{const h=w.current;if(!h)return;const b=window.HTMLInputElement.prototype,v=Object.getOwnPropertyDescriptor(b,"checked").set;if(x!==s&&v){const C=new Event("click",{bubbles:i});v.call(h,s),h.dispatchEvent(C)}},[x,s,i]),n.jsx($i.input,{type:"radio","aria-hidden":!0,defaultChecked:s,...u,tabIndex:-1,ref:m,style:{...u.style,...g,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});Gh.displayName=j1;function Xh(t){return t?"checked":"unchecked"}var E1=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],Pi="RadioGroup",[N1]=dh(Pi,[uh,Bh]),Kh=uh(),Zh=Bh(),[T1,C1]=N1(Pi),Vh=A.forwardRef((t,a)=>{const{__scopeRadioGroup:s,name:i,defaultValue:u,value:p,required:w=!1,disabled:m=!1,orientation:x,dir:g,loop:h=!0,onValueChange:b,...y}=t,v=Kh(s),C=jv(g),[E,j]=Ev({prop:p,defaultProp:u??null,onChange:b,caller:Pi});return n.jsx(T1,{scope:s,name:i,required:w,disabled:m,value:E,onValueChange:j,children:n.jsx(Nv,{asChild:!0,...v,orientation:x,dir:C,loop:h,children:n.jsx($i.div,{role:"radiogroup","aria-required":w,"aria-orientation":x,"data-disabled":m?"":void 0,dir:C,...y,ref:a})})})});Vh.displayName=Pi;var Qh="RadioGroupItem",Jh=A.forwardRef((t,a)=>{const{__scopeRadioGroup:s,disabled:i,...u}=t,p=C1(Qh,s),w=p.disabled||i,m=Kh(s),x=Zh(s),g=A.useRef(null),h=yu(a,g),b=p.value===u.value,y=A.useRef(!1);return A.useEffect(()=>{const v=E=>{E1.includes(E.key)&&(y.current=!0)},C=()=>y.current=!1;return document.addEventListener("keydown",v),document.addEventListener("keyup",C),()=>{document.removeEventListener("keydown",v),document.removeEventListener("keyup",C)}},[]),n.jsx(Tv,{asChild:!0,...m,focusable:!w,active:b,children:n.jsx(Wh,{disabled:w,required:p.required,checked:b,...x,...u,name:p.name,ref:h,onCheck:()=>p.onValueChange(u.value),onKeyDown:tu(v=>{v.key==="Enter"&&v.preventDefault()}),onFocus:tu(u.onFocus,()=>{y.current&&g.current?.click()})})})});Jh.displayName=Qh;var I1="RadioGroupIndicator",em=A.forwardRef((t,a)=>{const{__scopeRadioGroup:s,...i}=t,u=Zh(s);return n.jsx(qh,{...u,...i,ref:a})});em.displayName=I1;var S1=Vh,A1=Jh,D1=em;const $1=({id:t,title:a,options:s,onSelect:i,error:u,hint:p,selectedOption:w,separator:m})=>n.jsxs(S1,{defaultValue:w,name:t,onValueChange:i,children:[n.jsxs("div",{className:`flex flex-col gap-2 ${m&&"pb-2"}`,children:[a&&n.jsx(ct,{level:6,children:a}),s.map(x=>n.jsxs("label",{className:`flex cursor-pointer items-start ${a&&"mt-1 -mb-1"}`,htmlFor:x.value,children:[n.jsx(A1,{className:"relative float-left mt-[3px] size-4 min-w-[16px] appearance-none rounded-full border-2 border-solid border-grey-300 hover:cursor-pointer focus:shadow-none focus:ring-0 focus:outline-hidden data-[state=checked]:border-green data-[state=checked]:focus:border-green dark:border-grey-800 dark:text-white dark:data-[state=checked]:border-green dark:data-[state=checked]:focus:border-green",id:x.value,value:x.value,children:n.jsx(D1,{className:"flex size-full items-center justify-center after:block after:size-[6px] after:rounded-full after:border-green after:bg-green after:content-[''] dark:after:border-green dark:after:bg-green"})}),n.jsxs("div",{className:`ml-2 flex flex-col ${x.hint&&"mb-2"}`,children:[n.jsx("span",{className:`inline-block text-md dark:text-white ${x.hint&&"-mb-1"}`,children:x.label}),x.hint&&n.jsx(zn,{children:x.hint})]})]},x.value)),p&&n.jsx(zn,{color:u?"red":"",children:p})]}),(m||u)&&n.jsx(Rs,{className:u?"border-red":""})]}),Ii=({children:t,gap:a="md",className:s})=>{let i="gap-3";switch(a){case"sm":i="gap-2";break;case"md":i="gap-3";break;case"lg":i="gap-4";break}return s=he("flex flex-col",i,s),n.jsx("div",{className:s,children:t})},$u=({heading:t,children:a,className:s})=>(s=he("w-full p-[8vmin] pt-5",s),n.jsxs("div",{className:s,children:[t&&n.jsx(ct,{className:"mb-8",children:t}),a]})),Ru=({items:t,backIcon:a=!1,snapBackIcon:s=!0,onBack:i,containerClassName:u,itemClassName:p,activeItemClassName:w,separatorClassName:m})=>{const x=t.length;let g=0;return u=he("flex items-center gap-2 text-sm",u),w=he("font-bold",w),p=he("text-sm",p),n.jsxs("div",{className:u,children:[a&&n.jsx(Ie,{className:s?"mr-1":"mr-6",icon:"arrow-left",iconColorClass:"dark:text-white",size:"sm",link:!0,onClick:i}),t.map(h=>{const b=g===x-1?n.jsx("span",{className:w,children:h.label}):n.jsxs(n.Fragment,{children:[n.jsx("button",{className:`${p} ${h.onClick&&"-mx-1 cursor-pointer rounded-sm px-1 py-px hover:bg-grey-100 dark:hover:bg-grey-900"}`,type:"button",onClick:h.onClick,children:h.label},`bc-${g}`),n.jsx("span",{className:m,children:"/"})]});return g=g+1,b})]})},Kr=({testId:t,title:a,titleHeadingLevel:s=4,size:i="full",width:u,height:p,sidebar:w="",preview:m,dirty:x=!1,cancelLabel:g="Cancel",okLabel:h="OK",okColor:b="black",previewToolbar:y=!0,leftToolbar:v=!0,rightToolbar:C=!0,deviceSelector:E=!0,siteLink:j,previewToolbarURLs:N,previewBgColor:D="grey",selectedURL:$,previewToolbarTabs:R,previewToolbarBreadcrumbs:O,buttonsDisabled:P,sidebarButtons:I,sidebarHeader:U,sidebarPadding:Y=!0,sidebarContentClasses:W,enableCMDS:B=!0,backDropClick:ie,onCancel:ge,onOk:Me,afterClose:K,onSelectURL:ee,onSelectDesktopView:ke,onSelectMobileView:ue,onBreadcrumbsBack:ye})=>{const J=Ft(),{setGlobalDirtyState:de}=fy();A.useEffect(()=>{de(x)},[x,de]),A.useEffect(()=>{if(Me){const be=Le=>{(Le.metaKey||Le.ctrlKey)&&Le.key==="s"&&(Le.preventDefault(),Me())};if(B)return window.addEventListener("keydown",be),()=>{window.removeEventListener("keydown",be)}}});const[fe,ce]=A.useState("desktop");if(fe==="mobile"&&E?m=n.jsx(Fh,{"data-testid":"preview-mobile",children:m}):fe==="desktop"&&E&&(m=n.jsx(Oh,{"data-testid":"preview-desktop",children:m})),y){let be=n.jsx(n.Fragment,{});N?be=n.jsx(kt,{options:N,selectedOption:N.find(st=>st.value===$),onSelect:st=>st&&ee?.(st.value)}):R?be=n.jsx(Nr,{border:!1,selectedTab:$,tabs:R,width:"wide",onTabChange:ee}):O&&(be=n.jsx(Ru,{activeItemClassName:"hidden md:!block md:!visible",containerClassName:"whitespace-nowrap",itemClassName:"hidden md:!block md:!visible",items:O,separatorClassName:"hidden md:!block md:!visible",backIcon:!0,onBack:ye}));const Le="text-black dark:text-green",it="text-grey-500 dark:text-grey-600",wt=[{icon:"laptop",label:"Desktop",hideLabel:!0,link:!0,size:"sm",iconColorClass:fe==="desktop"?Le:it,onClick:ke||(()=>{ce("desktop")})},{icon:"mobile",label:"Mobile",hideLabel:!0,link:!0,size:"sm",iconColorClass:fe==="mobile"?Le:it,onClick:ue||(()=>{ce("mobile")})}],Pt=E&&n.jsx(Pn,{buttons:wt});let re="";D==="grey"?re="bg-grey-50 dark:bg-black":D==="greygradient"&&(re="bg-gradient-to-tr from-white to-[#f9f9fa] dark:from-grey-950 dark:to-black");const Ze=he("absolute inset-y-0 right-[400px] left-0 flex w-full min-w-100 grow flex-col overflow-y-auto",re);let Ht;j&&(Ht=n.jsx("div",{className:"ml-3 border-l border-grey-400 dark:border-grey-800",children:n.jsxs("a",{className:"ml-3 flex items-center gap-1 text-sm",href:j,rel:"noopener noreferrer",target:"_blank",children:["View site ",n.jsx(Ge,{name:"arrow-top-right",size:"xs"})]})})),m=n.jsxs("div",{className:Ze,children:[y&&n.jsxs("header",{className:"relative flex h-[80px] shrink-0 items-center justify-center px-8 py-5","data-testid":"design-toolbar",children:[v&&n.jsx("div",{className:"absolute left-8 flex h-full items-center",children:be}),C&&n.jsxs("div",{className:"absolute right-8 flex h-full items-center",children:[Pt,Ht]})]}),n.jsx("div",{className:"flex grow items-center justify-center text-sm text-grey-400",children:m})]})}const V=[];return I||(V.push({key:"cancel-modal",label:g,onClick:ge||(()=>{py(x,()=>{J.remove(),K?.()})}),disabled:P}),V.push({key:"ok-modal",label:h,color:b,onClick:Me,disabled:P})),n.jsx(ut,{afterClose:K,animate:!1,backDropClick:ie,dirty:x,footer:!1,height:p,padding:!1,size:i,testId:t,title:"",width:u,hideXOnMobile:!0,children:n.jsxs("div",{className:"flex h-full grow",children:[n.jsx("div",{className:`relative hidden grow flex-col [@media(min-width:801px)]:!visible [@media(min-width:801px)]:!flex ${D==="grey"?"bg-grey-50":"bg-white dark:bg-black"}`,children:m}),w&&n.jsxs("div",{className:"relative flex size-full flex-col border-l border-grey-100 dark:border-grey-900 [@media(min-width:801px)]:w-auto [@media(min-width:801px)]:basis-[400px]",children:[U||n.jsxs("div",{className:"flex max-h-[82px] items-center justify-between gap-3 px-7 py-6",children:[n.jsx(ct,{level:s,children:a}),I||n.jsx(Pn,{buttons:V})]}),n.jsx("div",{className:`${U?"":"absolute inset-x-0 top-[80px] bottom-0 grow"} ${Y&&"p-7 pt-0"} flex flex-col justify-between overflow-y-auto ${W&&W}`,children:w})]})]})})},R1=({offset:t,onTrigger:a})=>{const s=A.useRef(null);return A.useEffect(()=>{const i=new IntersectionObserver(u=>{u[0].intersectionRatio<=0||a()});return s.current&&i.observe(s.current),()=>i.disconnect()},[a]),n.jsx("div",{ref:s,className:"absolute w-full",style:{bottom:t}})},Lu=({trigger:t,children:a,position:s="start",side:i="bottom",closeOnItemClick:u,open:p,setOpen:w})=>{const[m,x]=A.useState(!1),g=p!==void 0?p:m,h=w||x,b=()=>{u&&h(!1)};return n.jsxs(Av,{open:g,onOpenChange:h,children:[n.jsx(Dv,{asChild:!0,children:n.jsx($v,{asChild:!0,onClick:y=>y.stopPropagation(),children:t})}),n.jsx(Rv,{align:s,className:"z-[9999] origin-top-right rounded bg-white shadow-md ring-1 ring-[rgba(0,0,0,0.01)] focus:outline-hidden dark:bg-grey-900 dark:text-white","data-testid":"popover-content",side:i,sideOffset:8,onClick:b,children:a})]})},tm=({trigger:t,triggerButtonProps:a,items:s,position:i="start",open:u,setOpen:p})=>(t||(t=n.jsx(Ie,{icon:"ellipsis",label:"Menu",hideLabel:!0,...a})),n.jsx(Lu,{open:u,position:i,setOpen:p,trigger:t,closeOnItemClick:!0,children:n.jsx("div",{className:"flex min-w-[160px] flex-col justify-stretch py-1",role:"none",children:s.map(w=>n.jsx("button",{className:`mx-1 block cursor-pointer rounded-[2.5px] px-4 py-1.5 text-left text-sm hover:bg-grey-100 dark:hover:bg-grey-925 ${w.destructive&&" text-red-500"}`,type:"button",onClick:m=>{w.onClick&&w.onClick(m)},children:w.label},w.id))})}));var nm=typeof global=="object"&&global&&global.Object===Object&&global,L1=typeof self=="object"&&self&&self.Object===Object&&self,rr=nm||L1||Function("return this")(),Ls=rr.Symbol,rm=Object.prototype,O1=rm.hasOwnProperty,F1=rm.toString,Aa=Ls?Ls.toStringTag:void 0;function P1(t){var a=O1.call(t,Aa),s=t[Aa];try{t[Aa]=void 0;var i=!0}catch{}var u=F1.call(t);return i&&(a?t[Aa]=s:delete t[Aa]),u}var H1=Object.prototype,z1=H1.toString;function U1(t){return z1.call(t)}var B1="[object Null]",W1="[object Undefined]",zf=Ls?Ls.toStringTag:void 0;function Wa(t){return t==null?t===void 0?W1:B1:zf&&zf in Object(t)?P1(t):U1(t)}function Pa(t){return t!=null&&typeof t=="object"}var Si=Array.isArray;function sm(t){var a=typeof t;return t!=null&&(a=="object"||a=="function")}var Y1="[object AsyncFunction]",q1="[object Function]",G1="[object GeneratorFunction]",X1="[object Proxy]";function am(t){if(!sm(t))return!1;var a=Wa(t);return a==q1||a==G1||a==Y1||a==X1}var $c=rr["__core-js_shared__"],Uf=(function(){var t=/[^.]+$/.exec($c&&$c.keys&&$c.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function K1(t){return!!Uf&&Uf in t}var Z1=Function.prototype,V1=Z1.toString;function Zr(t){if(t!=null){try{return V1.call(t)}catch{}try{return t+""}catch{}}return""}var Q1=/[\\^$.*+?()[\]{}|]/g,J1=/^\[object .+?Constructor\]$/,e_=Function.prototype,t_=Object.prototype,n_=e_.toString,r_=t_.hasOwnProperty,s_=RegExp("^"+n_.call(r_).replace(Q1,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function a_(t){if(!sm(t)||K1(t))return!1;var a=am(t)?s_:J1;return a.test(Zr(t))}function o_(t,a){return t?.[a]}function Us(t,a){var s=o_(t,a);return a_(s)?s:void 0}var uu=Us(rr,"WeakMap"),i_=9007199254740991,l_=/^(?:0|[1-9]\d*)$/;function c_(t,a){var s=typeof t;return a=a??i_,!!a&&(s=="number"||s!="symbol"&&l_.test(t))&&t>-1&&t%1==0&&t<a}function om(t,a){return t===a||t!==t&&a!==a}var u_=9007199254740991;function im(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=u_}function d_(t){return t!=null&&im(t.length)&&!am(t)}var f_=Object.prototype;function p_(t){var a=t&&t.constructor,s=typeof a=="function"&&a.prototype||f_;return t===s}function h_(t,a){for(var s=-1,i=Array(t);++s<t;)i[s]=a(s);return i}var m_="[object Arguments]";function Bf(t){return Pa(t)&&Wa(t)==m_}var lm=Object.prototype,g_=lm.hasOwnProperty,x_=lm.propertyIsEnumerable,w_=Bf((function(){return arguments})())?Bf:function(t){return Pa(t)&&g_.call(t,"callee")&&!x_.call(t,"callee")};function b_(){return!1}var cm=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Wf=cm&&typeof module=="object"&&module&&!module.nodeType&&module,v_=Wf&&Wf.exports===cm,Yf=v_?rr.Buffer:void 0,y_=Yf?Yf.isBuffer:void 0,du=y_||b_,__="[object Arguments]",M_="[object Array]",k_="[object Boolean]",j_="[object Date]",E_="[object Error]",N_="[object Function]",T_="[object Map]",C_="[object Number]",I_="[object Object]",S_="[object RegExp]",A_="[object Set]",D_="[object String]",$_="[object WeakMap]",R_="[object ArrayBuffer]",L_="[object DataView]",O_="[object Float32Array]",F_="[object Float64Array]",P_="[object Int8Array]",H_="[object Int16Array]",z_="[object Int32Array]",U_="[object Uint8Array]",B_="[object Uint8ClampedArray]",W_="[object Uint16Array]",Y_="[object Uint32Array]",dt={};dt[O_]=dt[F_]=dt[P_]=dt[H_]=dt[z_]=dt[U_]=dt[B_]=dt[W_]=dt[Y_]=!0;dt[__]=dt[M_]=dt[R_]=dt[k_]=dt[L_]=dt[j_]=dt[E_]=dt[N_]=dt[T_]=dt[C_]=dt[I_]=dt[S_]=dt[A_]=dt[D_]=dt[$_]=!1;function q_(t){return Pa(t)&&im(t.length)&&!!dt[Wa(t)]}function G_(t){return function(a){return t(a)}}var um=typeof exports=="object"&&exports&&!exports.nodeType&&exports,La=um&&typeof module=="object"&&module&&!module.nodeType&&module,X_=La&&La.exports===um,Rc=X_&&nm.process,qf=(function(){try{var t=La&&La.require&&La.require("util").types;return t||Rc&&Rc.binding&&Rc.binding("util")}catch{}})(),Gf=qf&&qf.isTypedArray,dm=Gf?G_(Gf):q_,K_=Object.prototype,Z_=K_.hasOwnProperty;function V_(t,a){var s=Si(t),i=!s&&w_(t),u=!s&&!i&&du(t),p=!s&&!i&&!u&&dm(t),w=s||i||u||p,m=w?h_(t.length,String):[],x=m.length;for(var g in t)Z_.call(t,g)&&!(w&&(g=="length"||u&&(g=="offset"||g=="parent")||p&&(g=="buffer"||g=="byteLength"||g=="byteOffset")||c_(g,x)))&&m.push(g);return m}function Q_(t,a){return function(s){return t(a(s))}}var J_=Q_(Object.keys,Object),e3=Object.prototype,t3=e3.hasOwnProperty;function n3(t){if(!p_(t))return J_(t);var a=[];for(var s in Object(t))t3.call(t,s)&&s!="constructor"&&a.push(s);return a}function r3(t){return d_(t)?V_(t):n3(t)}var Ha=Us(Object,"create");function s3(){this.__data__=Ha?Ha(null):{},this.size=0}function a3(t){var a=this.has(t)&&delete this.__data__[t];return this.size-=a?1:0,a}var o3="__lodash_hash_undefined__",i3=Object.prototype,l3=i3.hasOwnProperty;function c3(t){var a=this.__data__;if(Ha){var s=a[t];return s===o3?void 0:s}return l3.call(a,t)?a[t]:void 0}var u3=Object.prototype,d3=u3.hasOwnProperty;function f3(t){var a=this.__data__;return Ha?a[t]!==void 0:d3.call(a,t)}var p3="__lodash_hash_undefined__";function h3(t,a){var s=this.__data__;return this.size+=this.has(t)?0:1,s[t]=Ha&&a===void 0?p3:a,this}function Yr(t){var a=-1,s=t==null?0:t.length;for(this.clear();++a<s;){var i=t[a];this.set(i[0],i[1])}}Yr.prototype.clear=s3;Yr.prototype.delete=a3;Yr.prototype.get=c3;Yr.prototype.has=f3;Yr.prototype.set=h3;function m3(){this.__data__=[],this.size=0}function Hi(t,a){for(var s=t.length;s--;)if(om(t[s][0],a))return s;return-1}var g3=Array.prototype,x3=g3.splice;function w3(t){var a=this.__data__,s=Hi(a,t);if(s<0)return!1;var i=a.length-1;return s==i?a.pop():x3.call(a,s,1),--this.size,!0}function b3(t){var a=this.__data__,s=Hi(a,t);return s<0?void 0:a[s][1]}function v3(t){return Hi(this.__data__,t)>-1}function y3(t,a){var s=this.__data__,i=Hi(s,t);return i<0?(++this.size,s.push([t,a])):s[i][1]=a,this}function sr(t){var a=-1,s=t==null?0:t.length;for(this.clear();++a<s;){var i=t[a];this.set(i[0],i[1])}}sr.prototype.clear=m3;sr.prototype.delete=w3;sr.prototype.get=b3;sr.prototype.has=v3;sr.prototype.set=y3;var za=Us(rr,"Map");function _3(){this.size=0,this.__data__={hash:new Yr,map:new(za||sr),string:new Yr}}function M3(t){var a=typeof t;return a=="string"||a=="number"||a=="symbol"||a=="boolean"?t!=="__proto__":t===null}function zi(t,a){var s=t.__data__;return M3(a)?s[typeof a=="string"?"string":"hash"]:s.map}function k3(t){var a=zi(this,t).delete(t);return this.size-=a?1:0,a}function j3(t){return zi(this,t).get(t)}function E3(t){return zi(this,t).has(t)}function N3(t,a){var s=zi(this,t),i=s.size;return s.set(t,a),this.size+=s.size==i?0:1,this}function Vr(t){var a=-1,s=t==null?0:t.length;for(this.clear();++a<s;){var i=t[a];this.set(i[0],i[1])}}Vr.prototype.clear=_3;Vr.prototype.delete=k3;Vr.prototype.get=j3;Vr.prototype.has=E3;Vr.prototype.set=N3;function T3(t,a){for(var s=-1,i=a.length,u=t.length;++s<i;)t[u+s]=a[s];return t}function C3(){this.__data__=new sr,this.size=0}function I3(t){var a=this.__data__,s=a.delete(t);return this.size=a.size,s}function S3(t){return this.__data__.get(t)}function A3(t){return this.__data__.has(t)}var D3=200;function $3(t,a){var s=this.__data__;if(s instanceof sr){var i=s.__data__;if(!za||i.length<D3-1)return i.push([t,a]),this.size=++s.size,this;s=this.__data__=new Vr(i)}return s.set(t,a),this.size=s.size,this}function jr(t){var a=this.__data__=new sr(t);this.size=a.size}jr.prototype.clear=C3;jr.prototype.delete=I3;jr.prototype.get=S3;jr.prototype.has=A3;jr.prototype.set=$3;function R3(t,a){for(var s=-1,i=t==null?0:t.length,u=0,p=[];++s<i;){var w=t[s];a(w,s,t)&&(p[u++]=w)}return p}function L3(){return[]}var O3=Object.prototype,F3=O3.propertyIsEnumerable,Xf=Object.getOwnPropertySymbols,P3=Xf?function(t){return t==null?[]:(t=Object(t),R3(Xf(t),function(a){return F3.call(t,a)}))}:L3;function H3(t,a,s){var i=a(t);return Si(t)?i:T3(i,s(t))}function Kf(t){return H3(t,r3,P3)}var fu=Us(rr,"DataView"),pu=Us(rr,"Promise"),hu=Us(rr,"Set"),Zf="[object Map]",z3="[object Object]",Vf="[object Promise]",Qf="[object Set]",Jf="[object WeakMap]",ep="[object DataView]",U3=Zr(fu),B3=Zr(za),W3=Zr(pu),Y3=Zr(hu),q3=Zr(uu),kr=Wa;(fu&&kr(new fu(new ArrayBuffer(1)))!=ep||za&&kr(new za)!=Zf||pu&&kr(pu.resolve())!=Vf||hu&&kr(new hu)!=Qf||uu&&kr(new uu)!=Jf)&&(kr=function(t){var a=Wa(t),s=a==z3?t.constructor:void 0,i=s?Zr(s):"";if(i)switch(i){case U3:return ep;case B3:return Zf;case W3:return Vf;case Y3:return Qf;case q3:return Jf}return a});var tp=rr.Uint8Array,G3="__lodash_hash_undefined__";function X3(t){return this.__data__.set(t,G3),this}function K3(t){return this.__data__.has(t)}function Ai(t){var a=-1,s=t==null?0:t.length;for(this.__data__=new Vr;++a<s;)this.add(t[a])}Ai.prototype.add=Ai.prototype.push=X3;Ai.prototype.has=K3;function Z3(t,a){for(var s=-1,i=t==null?0:t.length;++s<i;)if(a(t[s],s,t))return!0;return!1}function V3(t,a){return t.has(a)}var Q3=1,J3=2;function fm(t,a,s,i,u,p){var w=s&Q3,m=t.length,x=a.length;if(m!=x&&!(w&&x>m))return!1;var g=p.get(t),h=p.get(a);if(g&&h)return g==a&&h==t;var b=-1,y=!0,v=s&J3?new Ai:void 0;for(p.set(t,a),p.set(a,t);++b<m;){var C=t[b],E=a[b];if(i)var j=w?i(E,C,b,a,t,p):i(C,E,b,t,a,p);if(j!==void 0){if(j)continue;y=!1;break}if(v){if(!Z3(a,function(N,D){if(!V3(v,D)&&(C===N||u(C,N,s,i,p)))return v.push(D)})){y=!1;break}}else if(!(C===E||u(C,E,s,i,p))){y=!1;break}}return p.delete(t),p.delete(a),y}function eM(t){var a=-1,s=Array(t.size);return t.forEach(function(i,u){s[++a]=[u,i]}),s}function tM(t){var a=-1,s=Array(t.size);return t.forEach(function(i){s[++a]=i}),s}var nM=1,rM=2,sM="[object Boolean]",aM="[object Date]",oM="[object Error]",iM="[object Map]",lM="[object Number]",cM="[object RegExp]",uM="[object Set]",dM="[object String]",fM="[object Symbol]",pM="[object ArrayBuffer]",hM="[object DataView]",np=Ls?Ls.prototype:void 0,Lc=np?np.valueOf:void 0;function mM(t,a,s,i,u,p,w){switch(s){case hM:if(t.byteLength!=a.byteLength||t.byteOffset!=a.byteOffset)return!1;t=t.buffer,a=a.buffer;case pM:return!(t.byteLength!=a.byteLength||!p(new tp(t),new tp(a)));case sM:case aM:case lM:return om(+t,+a);case oM:return t.name==a.name&&t.message==a.message;case cM:case dM:return t==a+"";case iM:var m=eM;case uM:var x=i&nM;if(m||(m=tM),t.size!=a.size&&!x)return!1;var g=w.get(t);if(g)return g==a;i|=rM,w.set(t,a);var h=fm(m(t),m(a),i,u,p,w);return w.delete(t),h;case fM:if(Lc)return Lc.call(t)==Lc.call(a)}return!1}var gM=1,xM=Object.prototype,wM=xM.hasOwnProperty;function bM(t,a,s,i,u,p){var w=s&gM,m=Kf(t),x=m.length,g=Kf(a),h=g.length;if(x!=h&&!w)return!1;for(var b=x;b--;){var y=m[b];if(!(w?y in a:wM.call(a,y)))return!1}var v=p.get(t),C=p.get(a);if(v&&C)return v==a&&C==t;var E=!0;p.set(t,a),p.set(a,t);for(var j=w;++b<x;){y=m[b];var N=t[y],D=a[y];if(i)var $=w?i(D,N,y,a,t,p):i(N,D,y,t,a,p);if(!($===void 0?N===D||u(N,D,s,i,p):$)){E=!1;break}j||(j=y=="constructor")}if(E&&!j){var R=t.constructor,O=a.constructor;R!=O&&"constructor"in t&&"constructor"in a&&!(typeof R=="function"&&R instanceof R&&typeof O=="function"&&O instanceof O)&&(E=!1)}return p.delete(t),p.delete(a),E}var vM=1,rp="[object Arguments]",sp="[object Array]",bi="[object Object]",yM=Object.prototype,ap=yM.hasOwnProperty;function _M(t,a,s,i,u,p){var w=Si(t),m=Si(a),x=w?sp:kr(t),g=m?sp:kr(a);x=x==rp?bi:x,g=g==rp?bi:g;var h=x==bi,b=g==bi,y=x==g;if(y&&du(t)){if(!du(a))return!1;w=!0,h=!1}if(y&&!h)return p||(p=new jr),w||dm(t)?fm(t,a,s,i,u,p):mM(t,a,x,s,i,u,p);if(!(s&vM)){var v=h&&ap.call(t,"__wrapped__"),C=b&&ap.call(a,"__wrapped__");if(v||C){var E=v?t.value():t,j=C?a.value():a;return p||(p=new jr),u(E,j,s,i,p)}}return y?(p||(p=new jr),bM(t,a,s,i,u,p)):!1}function pm(t,a,s,i,u){return t===a?!0:t==null||a==null||!Pa(t)&&!Pa(a)?t!==t&&a!==a:_M(t,a,s,i,pm,u)}function MM(t,a){return pm(t,a)}const op=({className:t,children:a,colSpan:s,sticky:i=!1,...u})=>{const p=he("py-2! pr-6! pl-0! text-left align-top",i&&"sticky top-0 bg-white",u.onClick&&"hover:cursor-pointer",t);return n.jsx("th",{className:p,colSpan:s,...u,children:n.jsx(ct,{className:"whitespace-nowrap",level:6,children:a})})},hm=({left:t,center:a,right:s,sticky:i=!0,containerClassName:u,children:p})=>{const w=he("z-50 h-22 min-h-[92px] p-8",!p&&"flex items-center justify-between gap-3",i&&"sticky top-0",u);if(!p){if(t){const m=he("flex flex-auto items-center",s&&a&&"basis-1/3",!s&&a&&"basis-1/2");t=n.jsx("div",{className:m,children:t})}if(a){const m=he("flex flex-auto items-center justify-center",t&&s&&"basis-1/3",(t&&!s||!t&&s)&&"basis-1/2");a=n.jsx("div",{className:m,children:a})}if(s){const m=he("flex flex-auto items-center justify-end",t&&a&&"basis-1/3",!t&&a&&"basis-1/2");s=n.jsx("div",{className:m,children:s})}}return n.jsx("div",{className:w,children:p||n.jsxs(n.Fragment,{children:[t,a,s]})})},mm=({items:t,setItems:a,blank:s,canAddNewItem:i})=>{const[u,p]=A.useState(t.map((y,v)=>({item:y,id:v.toString()}))),[w,m]=A.useState(s);return A.useEffect(()=>{const y=u.map(({item:v})=>v);i(w)&&y.push(w),MM(JSON.parse(JSON.stringify(y)),JSON.parse(JSON.stringify(t)))||a(y)},[u,w,t,a,i]),{items:u,updateItem:(y,v)=>{const C=u.map(E=>E.id===y?{...E,item:v}:E);p(C),a(C.map(E=>E.item))},addItem:()=>{if(i(w)){const y=u.reduce((C,E)=>Math.max(C,parseInt(E.id)),0),v=u.concat({item:w,id:(y+1).toString()});p(v),a(v.map(C=>C.item)),m(s)}},removeItem:y=>{const v=u.filter(C=>C.id!==y);p(v),a(v.map(C=>C.item))},moveItem:(y,v)=>{if(y!==v){const C=u.findIndex(N=>N.id===y),E=v?u.findIndex(N=>N.id===v):0,j=hy(u,C,E);p(j),a(j.map(N=>N.item))}},newItem:w,setNewItem:m}},kM=({label:t,text:a="",hint:s,onRegenerate:i})=>{const[u,p]=A.useState(!1),w=()=>{navigator.clipboard.writeText(a),p(!0),setTimeout(()=>p(!1),2e3)},m=he("group/api-keys relative -mt-1 mb-1 w-full overflow-hidden border-b border-transparent py-2 hover:border-grey-300 dark:hover:border-grey-600");return n.jsxs("div",{className:"mb-3 grid grid-cols-1",children:[t&&n.jsx(ct,{level:6,grey:!0,children:t}),n.jsxs("div",{className:m,children:[n.jsx("span",{children:a}),s,n.jsxs("div",{className:"visible absolute top-1/2 right-0 flex translate-y-[-50%] gap-1 bg-white pl-1 text-sm group-hover/api-keys:visible md:invisible dark:bg-black",children:[i&&n.jsx(Ie,{color:"outline",label:"Regenerate",size:"sm",onClick:i}),n.jsx(Ie,{color:"outline",label:u?"Copied":"Copy",size:"sm",onClick:w})]})]})]})},Ya=({keys:t})=>n.jsx("div",{"data-testid":"api-keys",children:t.map(a=>n.jsx(kM,{...a},a.label))}),Qr=({icon:t,title:a,detail:s,extra:i})=>n.jsxs("div",{className:"-mx-8 -mt-8 flex flex-col gap-4 bg-grey-75 p-8 md:flex-row dark:bg-grey-950",children:[n.jsx("div",{className:"size-14",children:t}),n.jsxs("div",{className:"mt-1.5 flex min-w-0 flex-1 flex-col",children:[n.jsx("h3",{children:a}),n.jsx("div",{children:s}),i&&n.jsx("div",{className:"mt-4",children:i})]})]}),jM=""+new URL("zapier-logo-D8a11oW_.svg",import.meta.url).href,Ou=qr({method:"POST",path:({integrationId:t,apiKeyId:a})=>`/integrations/${t}/api_key/${a}/refresh/`,body:({integrationId:t})=>({integrations:[{id:t}]}),updateQueries:{emberUpdateType:"createOrUpdate",dataType:Li,update:(t,a)=>a&&{...a,integrations:a.integrations.map(s=>t.integrations.find(({id:u})=>u===s.id)||s)}}}),EM=me.create(()=>{const t=me.useModal(),{updateRoute:a}=Pe(),{zapierTemplates:s}=my(),{data:{integrations:i}={integrations:[]}}=Oi(),{config:u}=ze(),{mutateAsync:p}=Ou(),w=Ke(),[m,x]=A.useState(!1),g=u.hostSettings?.limits?.customIntegrations?.disabled,h=i.find(({slug:v})=>v==="zapier"),b=h?.api_keys?.find(v=>v.type==="admin");A.useEffect(()=>{g&&a("integrations")},[g,a]);const y=()=>{!h||!b||(x(!1),me.show(ht,{title:"Regenerate Admin API Key",prompt:'You will need to locate the Ghost App within your Zapier account and click on "Reconnect" to enter the new Admin API Key.',okLabel:"Regenerate Admin API Key",onOk:async v=>{try{await p({integrationId:h.id,apiKeyId:b.id}),x(!0),v?.remove()}catch(C){w(C)}}}))};return n.jsxs(ut,{afterClose:()=>{a("integrations")},cancelLabel:"",footer:n.jsxs("div",{className:"mx-8 flex w-full items-center justify-between",children:[n.jsxs("a",{className:"mt-1 self-baseline text-sm font-bold",href:"https://zapier.com/apps/ghost/integrations?utm_medium=partner_api&utm_source=widget&utm_campaign=Widget",rel:"noopener noreferrer",target:"_blank",children:["View more Ghost integrations powered by ",n.jsx("span",{children:n.jsx("img",{alt:"Zapier",className:"relative top-[-2px] inline-block",src:jM})})]}),n.jsx(Ie,{color:"black",label:"Close",onClick:()=>{t.remove()}})]}),okColor:"black",okLabel:"Close",testId:"zapier-modal",title:"",stickyFooter:!0,onOk:()=>{a("integrations"),t.remove()},children:[n.jsx(Qr,{detail:"Automation for your favorite apps",extra:n.jsx("div",{className:"mt-1 -mb-4",children:n.jsx(Ya,{keys:[{label:"Admin API key",text:b?.secret,hint:m?n.jsx("div",{className:"text-green",children:"Admin API Key was successfully regenerated"}):void 0,onRegenerate:y},{label:"API URL",text:window.location.origin+Os().subdir}]})}),icon:n.jsx(Ge,{name:"zapier",size:56}),title:"Zapier"}),n.jsx(er,{children:s.map(v=>n.jsx(Cr,{action:n.jsx(Ie,{className:"text-sm font-semibold whitespace-nowrap text-[#FF4A00]",href:v.url,label:"Use this Zap",tag:"a",target:"_blank",link:!0,unstyled:!0}),bgOnHover:!1,className:"flex items-center gap-3 py-2 pl-3",title:n.jsxs("div",{className:"flex flex-col gap-4 md:flex-row md:items-center",children:[n.jsxs("div",{className:"flex shrink-0 flex-nowrap items-center gap-2",children:[n.jsx("img",{className:"size-8 object-contain dark:invert",role:"presentation",src:v.ghostImage}),n.jsx(Ge,{name:"arrow-right",size:"xs"}),n.jsx("img",{className:"size-8 object-contain",role:"presentation",src:v.appImage})]}),n.jsx("span",{className:"text-sm",children:v.title})]}),hideActions:!0}))})]})});function gm(t){const a="The URL must be in a format like https://www.threads.net/@yourUsername";if(!t)return"";if(t.startsWith("http")){if(!t.includes("threads.net")&&!t.includes("threads.com"))throw new Error(a);if(t=t.replace("threads.com","threads.net"),t.includes("www.")||(t=t.replace("https://","https://www.")),!xt.isURL(t))throw new Error(a);if(!t.match(/^https:\/\/www\.threads\.net\/@?[a-zA-Z0-9._]+$/))throw new Error(a);return t}if(!t.includes("/")){if(t.startsWith("@")&&(t=t.slice(1)),!t.match(/^[a-zA-Z0-9._]+$/))throw new Error(a);return`https://www.threads.net/@${t}`}throw new Error(a)}const NM=t=>`https://www.threads.net/${t}`,TM=t=>{const a=t.match(/(?:https:\/\/)(?:www\.)?(?:threads\.(?:com|net))(?:\/)?(?:#!\/)?@?([^/]*)/)?.[1];return a?`@${a}`:null},As={INVALID_USERNAME:"Your Username is not a valid Bluesky Username",INVALID_URL:"The URL must be in a format like https://bsky.app/profile/yourUsername"};function xm(t){return[/^did:plc:[a-z2-7]{24}$/,/^[a-zA-Z0-9._]{1,15}$/,/^(?=.{1,191}$)[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+$/].some(s=>s.test(t))}function mu(t){let a=t.trim();return a.startsWith("@")&&(a=a.slice(1)),a.startsWith("did:plc:")?a.toLowerCase():a}function wm(t){if(!t)return"";let a;if(t.startsWith("http")||t.startsWith("www.")||t.includes("bsky.app")){if(!t.includes("bsky.app"))throw new Error(As.INVALID_URL);const i=t.match(/bsky\.app\/profile\/@?([^/]+)/);if(!i)throw new Error(As.INVALID_URL);a=mu(i[1])}else a=mu(t);if(!xm(a))throw new Error(As.INVALID_USERNAME);const s=`https://bsky.app/profile/${a}`;if(!xt.isURL(s))throw new Error(As.INVALID_URL);return s}const CM=t=>{if(!t)throw new Error(As.INVALID_USERNAME);let a=mu(t);if(!xm(a))throw new Error(As.INVALID_USERNAME);return`https://bsky.app/profile/${a}`},IM=t=>{const a=t.match(/(?:https?:\/\/)?(?:www\.)?bsky\.app\/profile\/@?([^/]*)/);return a?`${a[1]}`:null},Wr={INVALID_URL:"The URL must be in a format like https://www.linkedin.com/in/yourUsername",INVALID_USERNAME:"Your Username is not a valid LinkedIn Username"},SM=["in","pub","company","school"],AM=/^[a-zA-Z0-9-]{3,100}$/,DM=/^[a-zA-Z0-9-]{3,100}(?:\/[a-zA-Z0-9-]*)*$/,bm=/^(?:https?:\/\/)?(?:www\.)?(?:([a-z]{2})\.)?linkedin\.com\/(in|pub|company|school)\/([^?#]+)/i,gu=t=>t.trim().replace(/^@/,""),vm=t=>{if(/^(https?:\/\/|www\.)/.test(t)||t.includes("linkedin.com")){const i=t.match(bm);if(!i)throw new Error(Wr.INVALID_URL);if(i[0].length!==t.length)throw new Error(Wr.INVALID_USERNAME);const[,u,p,w]=i,m=gu(w);if(u&&!/^[A-Z]{2}$/.test(u.toUpperCase()))throw new Error(Wr.INVALID_URL);return{regional:u,pathType:p,username:m}}const a=gu(t),s=a.indexOf("/");if(s!==-1){const i=a.substring(0,s);if(SM.includes(i))return{pathType:i,username:a.substring(s+1)}}return{username:a}},ym=(t,a)=>(t==="pub"?DM:AM).test(a),_m=({regional:t,pathType:a,username:s})=>{const u=`https://${t?`${t.toLowerCase()}.`:"www."}linkedin.com/${a}/${s}`;if(!xt.isURL(u))throw new Error(Wr.INVALID_URL);return u};function Mm(t){if(!t)return"";const{regional:a,pathType:s="in",username:i}=vm(t);if(!ym(s,i))throw new Error(Wr.INVALID_USERNAME);return _m({regional:a,pathType:s,username:i})}const $M=t=>{if(!t)throw new Error(Wr.INVALID_USERNAME);const{regional:a,pathType:s="in",username:i}=vm(t);if(!ym(s,i))throw new Error(Wr.INVALID_USERNAME);return _m({regional:a,pathType:s,username:i})},RM=t=>{const a=t.match(bm);if(!a)return null;const[,,s,i]=a,u=gu(i);return s==="in"?u:`${s}/${u}`};function km(t){const a="The URL must be in a format like https://www.instagram.com/yourUsername",s="Your Username is not a valid Instagram Username";if(!t)return"";let i;if(t.startsWith("http")||t.startsWith("www.")||t.includes("instagram.com")){if(!t.includes("instagram.com"))throw new Error(a);const p=t.match(/(?:https?:\/\/)?(?:www\.)?instagram\.com\/@?([^/]+)/);if(!p)throw new Error(a);i=p[1]}else i=t.startsWith("@")?t.slice(1):t;if(!i.match(/^[a-zA-Z0-9_][a-zA-Z0-9._]{0,28}[a-zA-Z0-9_]$/)||i.includes("..")||i.length>30)throw new Error(s);const u=`https://www.instagram.com/${i}`;if(!xt.isURL(u))throw new Error(a);return u}const LM=t=>{const a="Your Username is not a valid Instagram Username";if(!t)throw new Error(a);let s=t;if(s.startsWith("@")&&(s=s.slice(1)),!s.match(/^[a-zA-Z0-9_][a-zA-Z0-9._]{0,28}[a-zA-Z0-9_]$/)||s.includes("..")||s.length>30)throw new Error(a);return`https://www.instagram.com/${s}`},OM=t=>{const a=t.match(/(?:https?:\/\/)?(?:www\.)?instagram\.com\/@?([^/]*)/);return a?`${a[1]}`:null};function jm(t){const a="The URL must be in a format like https://www.youtube.com/@yourUsername, https://www.youtube.com/user/yourUsername, or https://www.youtube.com/channel/yourChannelId",s="Your Username is not a valid YouTube Username";if(!t)return"";let i;if(t.startsWith("http")||t.startsWith("www.")||t.includes("youtube.com")){if(!t.includes("youtube.com"))throw new Error(a);const p=t.match(/(?:https?:\/\/)?(?:www\.)?youtube\.com\/((?:@|user\/|channel\/)[^/]+)/);if(!p)throw new Error(a);i=p[1]}else i=t;if(i.startsWith("@")){const p=i.slice(1);if(!p.match(/^[a-zA-Z0-9][a-zA-Z0-9._-]{1,28}[a-zA-Z0-9]$/)||p.includes("..")||p.length>30)throw new Error(s)}else if(i.startsWith("user/")){if(!i.slice(5).match(/^[a-zA-Z0-9._-]{1,50}$/))throw new Error(s)}else if(i.startsWith("channel/")){if(!i.slice(8).match(/^UC[a-zA-Z0-9_-]{22}$/))throw new Error(s)}else throw new Error(a);const u=`https://www.youtube.com/${i}`;if(!xt.isURL(u))throw new Error(a);return u}const FM=t=>{const a="Your Username is not a valid YouTube Username";if(!t)throw new Error(a);if(t.startsWith("@")){const s=t.slice(1);if(!s.match(/^[a-zA-Z0-9][a-zA-Z0-9._-]{1,28}[a-zA-Z0-9]$/)||s.includes("..")||s.length>30)throw new Error(a)}else if(t.startsWith("user/")){if(!t.slice(5).match(/^[a-zA-Z0-9._-]{1,50}$/))throw new Error(a)}else if(t.startsWith("channel/")){if(!t.slice(8).match(/^UC[a-zA-Z0-9_-]{22}$/))throw new Error(a)}else throw new Error("The handle must be in a format like @yourUsername, user/yourUsername, or channel/yourChannelId");return`https://www.youtube.com/${t}`},PM=t=>{const a=t.match(/(?:https?:\/\/)?(?:www\.)?youtube\.com\/((?:@|user\/|channel\/)[^/]*)/);return a?a[1]:null};function Em(t){const a="The URL must be in a format like https://www.tiktok.com/@yourUsername",s="Your Username is not a valid TikTok Username";if(!t)return"";let i;if(t.startsWith("http")||t.startsWith("www.")||t.includes("tiktok.com")){if(!t.includes("tiktok.com"))throw new Error(a);const w=t.match(/(?:https?:\/\/)?(?:www\.)?tiktok\.com\/(@[^/]+)/);if(!w)throw new Error(a);i=w[1]}else i=t.startsWith("@")?t:`@${t}`;const u=i.slice(1);if(!u.match(/^[a-zA-Z0-9_][a-zA-Z0-9._]{0,22}[a-zA-Z0-9_]$/)||u.includes("..")||u.length<2||u.length>24)throw new Error(s);const p=`https://www.tiktok.com/${i}`;if(!xt.isURL(p))throw new Error(a);return p}const HM=t=>{const a="Your Username is not a valid TikTok Username";if(!t)throw new Error(a);const s=t.startsWith("@")?t:`@${t}`,i=s.slice(1);if(!i.match(/^[a-zA-Z0-9_][a-zA-Z0-9._]{0,22}[a-zA-Z0-9_]$/)||i.includes("..")||i.length<2||i.length>24)throw new Error(a);return`https://www.tiktok.com/${s}`},zM=t=>{const a=t.match(/(?:https?:\/\/)?(?:www\.)?tiktok\.com\/(@[^/]*)/);return a?a[1]:null};function Nm(t){const a="The URL must be in a format like @username@instance.tld or https://instance.tld/@username or https://website.com/@username@instance.tld";if(!t)return"";let s=t;if(s=s.replace(/^https?:\/\//,""),s.match(/^@[^@]+@[^/]+$/)){const[i,u]=s.split("@").slice(1);if(!xt.isFQDN(u))throw new Error(a);return`https://${u}/@${i}`}if(s.match(/^[^/]+\.[^/]+\/@[^/]+(@[^/]+)?$/)){const[i,u]=s.split("/@");if(!xt.isFQDN(i))throw new Error(a);if(u.includes("@")){const[,p]=u.split("@");if(!xt.isFQDN(p))throw new Error(a)}return`https://${s}`}throw new Error(a)}const UM=t=>{const a="Your Username is not a valid Mastodon Username";if(!t)throw new Error(a);if(t.match(/^@[^@]+@[^/]+$/)){const[s,i]=t.split("@").slice(1);if(!xt.isFQDN(i))throw new Error(a);return`https://${i}/@${s}`}if(t.match(/^[^/]+\.[^/]+\/@[^/]+(@[^/]+)?$/)){const[s,i]=t.split("/@");if(!xt.isFQDN(s))throw new Error(a);if(i.includes("@")){const[,u]=i.split("@");if(!xt.isFQDN(u))throw new Error(a)}return`https://${t}`}throw new Error(a)},BM=t=>t.replace(/^https?:\/\//,""),WM=({tier:t})=>{const a=t?.type==="free",{updateRoute:s}=Pe(),{mutateAsync:i}=Iu(),{mutateAsync:u}=Ky(),{mutateAsync:p}=Tr(),[w,m]=Ve.useState(!!t?.trial_days),x=Ke(),{localSettings:g,siteData:h}=Gr(),[b]=ot(g,["portal_plans"]),y=JSON.parse(b?.toString()||"[]"),v={name:()=>C.name?void 0:"Enter a name for the tier",monthly_price:()=>C.type!=="free"?Cf(C.monthly_price||0,C.currency,{allowZero:!1}):void 0,yearly_price:()=>C.type!=="free"?Cf(C.yearly_price||0,C.currency,{allowZero:!1}):void 0},{formState:C,saveState:E,updateForm:j,handleSave:N,errors:D,clearError:$,okProps:R}=an({initialState:{...t||{},trial_days:t?.trial_days?.toString()||"",currency:t?.currency||gy[0].isoCode,visibility:t?.visibility||"none",welcome_page_url:t?.welcome_page_url||null},savingDelay:500,savedDelay:500,onValidate:()=>{const W={};return Object.entries(v).forEach(([B,ie])=>{W[B]=ie?.()}),W},onSave:async()=>{const{trial_days:W,currency:B,...ie}=C,ge=ie;if(ge.benefits=ge.benefits?.filter(Me=>Me),a||(ge.currency=B,ge.trial_days=parseInt(W)),t?.id?await i({...t,...ge}):await u(ge),a){const Me=C.visibility==="public";let K=!1;y.includes("free")&&!Me&&(y.splice(y.indexOf("free"),1),K=!0),!y.includes("free")&&Me&&(y.push("free"),K=!0),K&&await p([{key:"portal_plans",value:JSON.stringify(y)}])}},onSaveError:x}),O=mm({items:C.benefits||[],setItems:W=>j(B=>({...B,benefits:W})),blank:"",canAddNewItem:W=>!!W}),P=W=>{W.target.checked?(m(!0),j(B=>({...B,trial_days:t?.trial_days?t?.trial_days.toString():"7"}))):(m(!1),j(B=>({...B,trial_days:"0"})))},I=A.useRef(!1);A.useEffect(()=>{I.current&&(v.monthly_price?.(),v.yearly_price?.()),I.current=!0},[C.currency]);const U=()=>{if(t){const W=t.active?"Archive tier":"Reactivate tier",B=t.active?n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"mb-6",children:["Members will no longer be able to subscribe to ",n.jsx("strong",{children:t.name})," and it will be removed from the list of available tiers in portal."]}),n.jsx("div",{children:"Existing members on this tier will remain unchanged. Offers using this tier will be disabled."})]}):n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"mb-6",children:["Reactivating ",n.jsx("strong",{children:t.name})," will re-enable it as an option in portal and allow new members to subscribe to this tier."]}),n.jsx("div",{children:"Existing members will remain unchanged."})]}),ie=t.active?"Archive":"Reactivate";me.show(ht,{title:W,prompt:B,okLabel:ie,cancelLabel:"Cancel",okColor:t.active?"red":"black",onOk:ge=>{i({...t,active:!t.active}),ge?.remove(),rt({type:"success",title:`Tier ${t.active?"archived":"reactivated"}`})}})}};let Y={};return t&&(t.active&&t.type!=="free"?Y={label:"Archive tier",color:"red",link:!0,onClick:U}:t.active||(Y={label:"Reactivate tier",color:"green",link:!0,onClick:U})),n.jsx(ut,{afterClose:()=>{s("tiers")},buttonsDisabled:R.disabled,cancelLabel:"Close",dirty:E==="unsaved",leftButtonProps:Y,okColor:R.color,okLabel:R.label||"Save",size:"lg",testId:"tier-detail-modal",title:t?t.active?"Edit tier":"Edit archived tier":"New tier",stickyFooter:!0,onOk:async()=>{await N({fakeWhenUnchanged:!0})},children:n.jsxs("div",{className:"mt-8 -mb-8 flex items-start gap-8",children:[n.jsxs("div",{className:"flex grow flex-col gap-8",children:[n.jsxs(Be,{marginBottom:!1,title:"Basic",grouped:!0,children:[n.jsx(ve,{autoComplete:"off",error:!!D.name,hint:D.name,maxLength:191,placeholder:a?"Free":"Bronze",title:"Name",value:C.name||"",autoFocus:!0,onChange:W=>j(B=>({...B,name:W.target.value})),onKeyDown:()=>$("name")}),n.jsx(ve,{autoComplete:"off",autoFocus:a,maxLength:191,placeholder:a?"Free preview":"Full access to premium content",title:"Description",value:C.description||"",onChange:W=>j(B=>({...B,description:W.target.value}))}),!a&&n.jsx(n.Fragment,{children:n.jsxs("div",{className:"flex flex-col gap-10 md:flex-row",children:[n.jsxs("div",{className:"basis-1/2",children:[n.jsxs("div",{className:"mb-1 flex h-6 items-center justify-between",children:[n.jsx(ct,{level:6,children:"Prices"}),n.jsx("div",{className:"-mr-2 w-[50px]",children:n.jsx(kt,{border:!1,containerClassName:"font-medium",controlClasses:{menu:"w-18"},options:If(),selectedOption:If().flatMap(W=>W.options).find(W=>W.value===C.currency),size:"xs",clearBg:!0,isSearchable:!0,onSelect:W=>j(B=>({...B,currency:W?.value}))})})]}),n.jsxs("div",{className:"flex flex-col gap-2",children:[n.jsx(Sf,{error:!!D.monthly_price,hint:D.monthly_price,placeholder:"5",rightPlaceholder:`${C.currency}/month`,title:"Monthly price",valueInCents:C.monthly_price||"",hideTitle:!0,onBlur:W=>W.target.value===""?j(B=>({...B,monthly_price:0})):null,onChange:W=>j(B=>({...B,monthly_price:W})),onKeyDown:()=>$("monthly_price")}),n.jsx(Sf,{error:!!D.yearly_price,hint:D.yearly_price,placeholder:"50",rightPlaceholder:`${C.currency}/year`,title:"Yearly price",valueInCents:C.yearly_price||"",hideTitle:!0,onBlur:W=>W.target.value===""?j(B=>({...B,yearly_price:0})):null,onChange:W=>j(B=>({...B,yearly_price:W})),onKeyDown:()=>$("yearly_price")})]})]}),n.jsxs("div",{className:"basis-1/2",children:[n.jsx("div",{className:"mb-1 flex h-6 flex-col justify-center",children:n.jsx(Ye,{checked:w,label:"Add a free trial",labelStyle:"heading",onChange:P})}),n.jsx(ve,{disabled:!w,hint:n.jsxs("div",{className:"mt-1",children:["Members will be subscribed at full price once the trial ends. ",n.jsx("a",{className:"text-green",href:"https://ghost.org/help/free-trials/",rel:"noreferrer",target:"_blank",children:"Learn more"})]}),placeholder:"0",rightPlaceholder:"days",title:"Trial days",value:C.trial_days,hideTitle:!0,onChange:W=>j(B=>({...B,trial_days:W.target.value.replace(/[^\d]/,"")}))})]})]})}),n.jsx(wh,{baseUrl:h?.url,hint:`Redirect to this URL after signup ${a?"":" for premium membership"}`,maxLength:2e3,placeholder:h?.url,title:"Welcome page",value:C.welcome_page_url||null,nullable:!0,transformPathWithoutSlash:!0,onChange:W=>j(B=>({...B,welcome_page_url:W||null}))})]}),n.jsxs(Be,{gap:"none",title:"Benefits",grouped:!0,children:[n.jsx("div",{className:"-mt-3",children:n.jsx(bh,{items:O.items,itemSeparator:!1,renderItem:({id:W,item:B})=>n.jsxs("div",{className:"relative flex w-full items-center gap-5",children:[n.jsx("div",{className:"absolute top-[7px] left-[-32px] flex size-6 items-center justify-center bg-white group-hover:hidden dark:bg-black",children:n.jsx(Ge,{name:"check",size:"sm"})}),n.jsx(ve,{maxLength:191,value:B,onChange:ie=>O.updateItem(W,ie.target.value)}),n.jsx(Ie,{className:"absolute top-1 right-1 z-10 opacity-0 group-hover:opacity-100",color:"grey",icon:"trash",size:"sm",onClick:()=>O.removeItem(W)})]}),onMove:O.moveItem})}),n.jsxs("div",{className:"relative mt-1 flex items-center gap-3",children:[n.jsx(Ge,{className:"dark:text-white",name:"check",size:"sm"}),n.jsx(ve,{className:"grow",containerClassName:"w-100",maxLength:191,placeholder:"Expert analysis",title:"New benefit",value:O.newItem,hideTitle:!0,onChange:W=>O.setNewItem(W.target.value),onKeyDown:W=>{W.key==="Enter"&&O.addItem()}}),n.jsx(Ie,{className:"absolute top-[5px] right-[5px] z-10",color:"green",icon:"add",iconColorClass:"text-white",label:"Add",size:"sm",hideLabel:!0,onClick:()=>O.addItem()})]})]})]}),n.jsx("div",{className:"sticky top-[96px] hidden shrink-0 basis-[380px] min-[920px]:!visible min-[920px]:!block",children:n.jsx(xy,{isFreeTier:a,tier:C})})]})})},YM=({params:t})=>{const{data:{tiers:a,isEnd:s}={},fetchNextPage:i}=Xr();let u;return A.useEffect(()=>{t?.id&&!u&&!s&&i()},[i,s,t?.id,u]),t?.id&&(u=a?.find(({id:p})=>p===t?.id),!u)?null:n.jsx(WM,{tier:u})},qM=me.create(YM);var Oc,ip;function Tm(){if(ip)return Oc;ip=1;var t={};return Oc=typeof process=="object"&&t&&t.NODE_DEBUG&&/\bsemver\b/i.test(t.NODE_DEBUG)?(...s)=>console.error("SEMVER",...s):()=>{},Oc}var Fc,lp;function Cm(){if(lp)return Fc;lp=1;const t="2.0.0",a=256,s=Number.MAX_SAFE_INTEGER||9007199254740991,i=16,u=a-6;return Fc={MAX_LENGTH:a,MAX_SAFE_COMPONENT_LENGTH:i,MAX_SAFE_BUILD_LENGTH:u,MAX_SAFE_INTEGER:s,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:t,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},Fc}var vi={exports:{}},cp;function GM(){return cp||(cp=1,(function(t,a){const{MAX_SAFE_COMPONENT_LENGTH:s,MAX_SAFE_BUILD_LENGTH:i,MAX_LENGTH:u}=Cm(),p=Tm();a=t.exports={};const w=a.re=[],m=a.safeRe=[],x=a.src=[],g=a.safeSrc=[],h=a.t={};let b=0;const y="[a-zA-Z0-9-]",v=[["\\s",1],["\\d",u],[y,i]],C=j=>{for(const[N,D]of v)j=j.split(`${N}*`).join(`${N}{0,${D}}`).split(`${N}+`).join(`${N}{1,${D}}`);return j},E=(j,N,D)=>{const $=C(N),R=b++;p(j,R,N),h[j]=R,x[R]=N,g[R]=$,w[R]=new RegExp(N,D?"g":void 0),m[R]=new RegExp($,D?"g":void 0)};E("NUMERICIDENTIFIER","0|[1-9]\\d*"),E("NUMERICIDENTIFIERLOOSE","\\d+"),E("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${y}*`),E("MAINVERSION",`(${x[h.NUMERICIDENTIFIER]})\\.(${x[h.NUMERICIDENTIFIER]})\\.(${x[h.NUMERICIDENTIFIER]})`),E("MAINVERSIONLOOSE",`(${x[h.NUMERICIDENTIFIERLOOSE]})\\.(${x[h.NUMERICIDENTIFIERLOOSE]})\\.(${x[h.NUMERICIDENTIFIERLOOSE]})`),E("PRERELEASEIDENTIFIER",`(?:${x[h.NONNUMERICIDENTIFIER]}|${x[h.NUMERICIDENTIFIER]})`),E("PRERELEASEIDENTIFIERLOOSE",`(?:${x[h.NONNUMERICIDENTIFIER]}|${x[h.NUMERICIDENTIFIERLOOSE]})`),E("PRERELEASE",`(?:-(${x[h.PRERELEASEIDENTIFIER]}(?:\\.${x[h.PRERELEASEIDENTIFIER]})*))`),E("PRERELEASELOOSE",`(?:-?(${x[h.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${x[h.PRERELEASEIDENTIFIERLOOSE]})*))`),E("BUILDIDENTIFIER",`${y}+`),E("BUILD",`(?:\\+(${x[h.BUILDIDENTIFIER]}(?:\\.${x[h.BUILDIDENTIFIER]})*))`),E("FULLPLAIN",`v?${x[h.MAINVERSION]}${x[h.PRERELEASE]}?${x[h.BUILD]}?`),E("FULL",`^${x[h.FULLPLAIN]}$`),E("LOOSEPLAIN",`[v=\\s]*${x[h.MAINVERSIONLOOSE]}${x[h.PRERELEASELOOSE]}?${x[h.BUILD]}?`),E("LOOSE",`^${x[h.LOOSEPLAIN]}$`),E("GTLT","((?:<|>)?=?)"),E("XRANGEIDENTIFIERLOOSE",`${x[h.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),E("XRANGEIDENTIFIER",`${x[h.NUMERICIDENTIFIER]}|x|X|\\*`),E("XRANGEPLAIN",`[v=\\s]*(${x[h.XRANGEIDENTIFIER]})(?:\\.(${x[h.XRANGEIDENTIFIER]})(?:\\.(${x[h.XRANGEIDENTIFIER]})(?:${x[h.PRERELEASE]})?${x[h.BUILD]}?)?)?`),E("XRANGEPLAINLOOSE",`[v=\\s]*(${x[h.XRANGEIDENTIFIERLOOSE]})(?:\\.(${x[h.XRANGEIDENTIFIERLOOSE]})(?:\\.(${x[h.XRANGEIDENTIFIERLOOSE]})(?:${x[h.PRERELEASELOOSE]})?${x[h.BUILD]}?)?)?`),E("XRANGE",`^${x[h.GTLT]}\\s*${x[h.XRANGEPLAIN]}$`),E("XRANGELOOSE",`^${x[h.GTLT]}\\s*${x[h.XRANGEPLAINLOOSE]}$`),E("COERCEPLAIN",`(^|[^\\d])(\\d{1,${s}})(?:\\.(\\d{1,${s}}))?(?:\\.(\\d{1,${s}}))?`),E("COERCE",`${x[h.COERCEPLAIN]}(?:$|[^\\d])`),E("COERCEFULL",x[h.COERCEPLAIN]+`(?:${x[h.PRERELEASE]})?(?:${x[h.BUILD]})?(?:$|[^\\d])`),E("COERCERTL",x[h.COERCE],!0),E("COERCERTLFULL",x[h.COERCEFULL],!0),E("LONETILDE","(?:~>?)"),E("TILDETRIM",`(\\s*)${x[h.LONETILDE]}\\s+`,!0),a.tildeTrimReplace="$1~",E("TILDE",`^${x[h.LONETILDE]}${x[h.XRANGEPLAIN]}$`),E("TILDELOOSE",`^${x[h.LONETILDE]}${x[h.XRANGEPLAINLOOSE]}$`),E("LONECARET","(?:\\^)"),E("CARETTRIM",`(\\s*)${x[h.LONECARET]}\\s+`,!0),a.caretTrimReplace="$1^",E("CARET",`^${x[h.LONECARET]}${x[h.XRANGEPLAIN]}$`),E("CARETLOOSE",`^${x[h.LONECARET]}${x[h.XRANGEPLAINLOOSE]}$`),E("COMPARATORLOOSE",`^${x[h.GTLT]}\\s*(${x[h.LOOSEPLAIN]})$|^$`),E("COMPARATOR",`^${x[h.GTLT]}\\s*(${x[h.FULLPLAIN]})$|^$`),E("COMPARATORTRIM",`(\\s*)${x[h.GTLT]}\\s*(${x[h.LOOSEPLAIN]}|${x[h.XRANGEPLAIN]})`,!0),a.comparatorTrimReplace="$1$2$3",E("HYPHENRANGE",`^\\s*(${x[h.XRANGEPLAIN]})\\s+-\\s+(${x[h.XRANGEPLAIN]})\\s*$`),E("HYPHENRANGELOOSE",`^\\s*(${x[h.XRANGEPLAINLOOSE]})\\s+-\\s+(${x[h.XRANGEPLAINLOOSE]})\\s*$`),E("STAR","(<|>)?=?\\s*\\*"),E("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),E("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(vi,vi.exports)),vi.exports}var Pc,up;function XM(){if(up)return Pc;up=1;const t=Object.freeze({loose:!0}),a=Object.freeze({});return Pc=i=>i?typeof i!="object"?t:i:a,Pc}var Hc,dp;function KM(){if(dp)return Hc;dp=1;const t=/^[0-9]+$/,a=(i,u)=>{if(typeof i=="number"&&typeof u=="number")return i===u?0:i<u?-1:1;const p=t.test(i),w=t.test(u);return p&&w&&(i=+i,u=+u),i===u?0:p&&!w?-1:w&&!p?1:i<u?-1:1};return Hc={compareIdentifiers:a,rcompareIdentifiers:(i,u)=>a(u,i)},Hc}var zc,fp;function ZM(){if(fp)return zc;fp=1;const t=Tm(),{MAX_LENGTH:a,MAX_SAFE_INTEGER:s}=Cm(),{safeRe:i,t:u}=GM(),p=XM(),{compareIdentifiers:w}=KM();class m{constructor(g,h){if(h=p(h),g instanceof m){if(g.loose===!!h.loose&&g.includePrerelease===!!h.includePrerelease)return g;g=g.version}else if(typeof g!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof g}".`);if(g.length>a)throw new TypeError(`version is longer than ${a} characters`);t("SemVer",g,h),this.options=h,this.loose=!!h.loose,this.includePrerelease=!!h.includePrerelease;const b=g.trim().match(h.loose?i[u.LOOSE]:i[u.FULL]);if(!b)throw new TypeError(`Invalid Version: ${g}`);if(this.raw=g,this.major=+b[1],this.minor=+b[2],this.patch=+b[3],this.major>s||this.major<0)throw new TypeError("Invalid major version");if(this.minor>s||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>s||this.patch<0)throw new TypeError("Invalid patch version");b[4]?this.prerelease=b[4].split(".").map(y=>{if(/^[0-9]+$/.test(y)){const v=+y;if(v>=0&&v<s)return v}return y}):this.prerelease=[],this.build=b[5]?b[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(g){if(t("SemVer.compare",this.version,this.options,g),!(g instanceof m)){if(typeof g=="string"&&g===this.version)return 0;g=new m(g,this.options)}return g.version===this.version?0:this.compareMain(g)||this.comparePre(g)}compareMain(g){return g instanceof m||(g=new m(g,this.options)),this.major<g.major?-1:this.major>g.major?1:this.minor<g.minor?-1:this.minor>g.minor?1:this.patch<g.patch?-1:this.patch>g.patch?1:0}comparePre(g){if(g instanceof m||(g=new m(g,this.options)),this.prerelease.length&&!g.prerelease.length)return-1;if(!this.prerelease.length&&g.prerelease.length)return 1;if(!this.prerelease.length&&!g.prerelease.length)return 0;let h=0;do{const b=this.prerelease[h],y=g.prerelease[h];if(t("prerelease compare",h,b,y),b===void 0&&y===void 0)return 0;if(y===void 0)return 1;if(b===void 0)return-1;if(b===y)continue;return w(b,y)}while(++h)}compareBuild(g){g instanceof m||(g=new m(g,this.options));let h=0;do{const b=this.build[h],y=g.build[h];if(t("build compare",h,b,y),b===void 0&&y===void 0)return 0;if(y===void 0)return 1;if(b===void 0)return-1;if(b===y)continue;return w(b,y)}while(++h)}inc(g,h,b){if(g.startsWith("pre")){if(!h&&b===!1)throw new Error("invalid increment argument: identifier is empty");if(h){const y=`-${h}`.match(this.options.loose?i[u.PRERELEASELOOSE]:i[u.PRERELEASE]);if(!y||y[1]!==h)throw new Error(`invalid identifier: ${h}`)}}switch(g){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",h,b);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",h,b);break;case"prepatch":this.prerelease.length=0,this.inc("patch",h,b),this.inc("pre",h,b);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",h,b),this.inc("pre",h,b);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{const y=Number(b)?1:0;if(this.prerelease.length===0)this.prerelease=[y];else{let v=this.prerelease.length;for(;--v>=0;)typeof this.prerelease[v]=="number"&&(this.prerelease[v]++,v=-2);if(v===-1){if(h===this.prerelease.join(".")&&b===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(y)}}if(h){let v=[h,y];b===!1&&(v=[h]),w(this.prerelease[0],h)===0?isNaN(this.prerelease[1])&&(this.prerelease=v):this.prerelease=v}break}default:throw new Error(`invalid increment argument: ${g}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return zc=m,zc}var Uc,pp;function VM(){if(pp)return Uc;pp=1;const t=ZM();return Uc=(s,i,u=!1)=>{if(s instanceof t)return s;try{return new t(s,i)}catch(p){if(!u)return null;throw p}},Uc}var QM=VM();const JM=fh(QM);function ek(t){if(!t)return"";const a=t.indexOf("+"),s=a!==-1?t.slice(a+1):"",i=a!==-1?t.slice(0,a):t;if(s&&s!=="moya"){const u=s.split("."),p=u[u.length-1];if(p&&/^[0-9a-f]{7,40}$/.test(p))return`https://github.com/TryGhost/Ghost/commit/${p}`}try{const p=JM(i,{includePrerelease:!0})?.prerelease;if(p&&p.length>0){const m=String(p[0]).split("-")[1];return m?.startsWith("g")?`https://github.com/TryGhost/Ghost/commit/${m.slice(1)}`:""}}catch{return""}return`https://github.com/TryGhost/Ghost/releases/tag/v${i}`}function tk(t,a){const s=!!t.match?.(/production/i);return!!(s&&a!=="mysql8"||!s&&a==="mysql5")}function nk({label:t,version:a}){const s=ek(a);return n.jsxs("div",{children:[n.jsxs("strong",{children:[t,":"]})," ",s?n.jsx("a",{className:"text-green",href:s,rel:"noopener noreferrer",target:"_blank",children:a}):a]})}const rk=me.create(({})=>{const{updateRoute:t}=Pe();let s=ze().config;const i=wy();function u(){return new Date().getFullYear()}function p(){return!!s.enableDeveloperExperiments}function w(){return!s.hostSettings?.siteId}return n.jsx(ut,{afterClose:()=>{t("")},cancelLabel:"",footer:n.jsx(n.Fragment,{}),topRightContent:"close",width:540,children:n.jsxs("div",{className:"flex flex-col gap-4 pb-7 text-sm",children:[n.jsx(by,{className:"h-auto w-[120px] dark:invert"}),n.jsxs("div",{className:"mt-3 flex flex-col gap-1.5",children:[i?.message&&n.jsxs("div",{className:"gh-prose-links mb-4 rounded-sm border border-green p-5",children:[n.jsx("strong",{children:"Update available!"}),n.jsx("div",{dangerouslySetInnerHTML:{__html:i.message}})]}),n.jsx(nk,{label:"Version",version:s.version}),w()&&n.jsxs(n.Fragment,{children:[n.jsxs("div",{children:[n.jsx("strong",{children:"Environment:"})," ",s.environment]}),n.jsxs("div",{children:[n.jsx("strong",{children:"Database:"})," ",s.database]}),n.jsxs("div",{children:[n.jsx("strong",{children:"Mail:"})," ",s.mail?s.mail:"Native"]})]}),p()&&n.jsxs("div",{children:[n.jsx("strong",{children:"Developer experiments:"})," Enabled"]}),w()&&tk(s.environment,s.database)&&n.jsxs("div",{className:"text-red-500 dark:text-red-400",children:["You are running an unsupported database in production. Please ",n.jsx("a",{href:"https://ghost.org/docs/faq/supported-databases/",rel:"noopener noreferrer",target:"_blank",children:"upgrade to MySQL 8"}),"."]})]}),n.jsx(Rs,{}),n.jsxs("div",{className:"flex flex-col gap-1.5",children:[n.jsxs("a",{className:"flex items-center gap-2 hover:text-grey-900 dark:hover:text-grey-400",href:"https://ghost.org/docs/",rel:"noopener noreferrer",target:"_blank",children:[n.jsx(Ge,{name:"book-open",size:"sm"})," User documentation"]}),n.jsxs("a",{className:"flex items-center gap-2 hover:text-grey-900 dark:hover:text-grey-400",href:"https://forum.ghost.org/",rel:"noopener noreferrer",target:"_blank",children:[n.jsx(Ge,{name:"question-circle",size:"sm"})," Get help with Ghost"]}),n.jsxs("a",{className:"flex items-center gap-2 hover:text-grey-900 dark:hover:text-grey-400",href:"https://ghost.org/docs/contributing/",rel:"noopener noreferrer",target:"_blank",children:[n.jsx(Ge,{name:"angle-brackets",size:"sm"})," Get involved"]})]}),n.jsx(Rs,{}),n.jsxs("p",{className:"max-w-[460px] text-xs",children:["Copyright © 2013 – ",u()," Ghost Foundation, released under the ",n.jsx("a",{className:"text-green",href:"https://github.com/TryGhost/Ghost/blob/main/LICENSE",rel:"noopener noreferrer",target:"_blank",children:"MIT license"}),". ",n.jsx("a",{className:"text-green",href:"https://ghost.org/",rel:"noopener noreferrer",target:"_blank",children:"Ghost"})," is a registered trademark of ",n.jsx("a",{className:"text-green",href:"https://ghost.org/trademark/",rel:"noopener noreferrer",target:"_blank",children:"Ghost Foundation Ltd"}),"."]})]})})}),sk=()=>{const t=Ft(),{updateRoute:a}=Pe(),[s,i]=A.useState(""),[u,p]=A.useState({name:""}),{mutateAsync:w}=vy(),m=Fs(),x=Ke();return A.useEffect(()=>{m?.isLimited("customIntegrations")&&m.errorIfWouldGoOverLimit("customIntegrations").catch(g=>{g instanceof Ps&&(me.show(Un,{prompt:g.message||"Your current plan doesn't support more custom integrations.",onOk:()=>a({route:"/pro",isExternal:!0})}),t.remove(),a("integrations"))})},[m,t,a]),n.jsx(ut,{afterClose:()=>{a("integrations")},okColor:"black",okLabel:"Add",size:"sm",testId:"add-integration-modal",title:"Add integration",onOk:async()=>{if(!s){p({name:"Name is required"});return}try{const g=await w({name:s});t.remove(),a({route:`integrations/${g.integrations[0].id}`})}catch(g){x(g)}},children:n.jsx("div",{className:"mt-5",children:n.jsx(Be,{marginBottom:!1,marginTop:!1,children:n.jsx(ve,{autoFocus:!0,error:!!u.name,hint:u.name,maxLength:191,placeholder:"Custom integration",title:"Name",value:s,onChange:g=>i(g.target.value),onInput:()=>{u.name&&p({name:""})}})})})})},ak=me.create(sk),ok=()=>{const t=Ft(),{updateRoute:a}=Pe(),s=Ke(),[i,u]=A.useState(!0),[p,w]=A.useState(null),{data:m}=ph({searchParams:{filter:"newsletters.status:active+email_disabled:0",limit:"1",page:"1",include:"newsletters,labels"}}),{mutateAsync:x}=Yy(),{formState:g,updateForm:h,saveState:b,handleSave:y,errors:v,clearError:C}=an({initialState:{name:"",description:"",optInExistingSubscribers:!0},onSave:async()=>{const N=await x({name:g.name,description:g.description,opt_in_existing:g.optInExistingSubscribers,feedback_enabled:!0});a({route:`newsletters/${N.newsletters[0].id}`})},onSaveError:s,onValidate:()=>{const N={};return g.name||(N.name="A name is required for your newsletter"),N}}),E=Fs();A.useEffect(()=>{if(!E){u(!1);return}E.errorIfWouldGoOverLimit("newsletters").catch(N=>{if(N instanceof Ps)w(N);else throw N}).finally(()=>{u(!1)})},[E]);const j=m?.meta?.pagination.total;return A.useEffect(()=>{p&&(me.show(Un,{prompt:p.message||"Your current plan doesn't support more newsletters.",onOk:()=>a({route:"/pro",isExternal:!0})}),t.remove(),a("newsletters"))},[p,t,a]),i||p?null:n.jsx(ut,{afterClose:()=>{a("newsletters")},backDropClick:!1,okColor:"black",okDisabled:b==="saving",okLabel:"Create",okLoading:b==="saving",size:"sm",testId:"add-newsletter-modal",title:"Create newsletter",onOk:async()=>{await y()&&t.remove()},children:n.jsxs(Be,{marginBottom:!1,marginTop:!0,children:[n.jsx(ve,{autoFocus:!0,error:!!v.name,hint:v.name,maxLength:191,placeholder:"Weekly roundup",title:"Name",value:g.name,onChange:N=>h(D=>({...D,name:N.target.value})),onKeyDown:()=>C("name")}),n.jsx(nr,{maxLength:2e3,title:"Description",value:g.description,onChange:N=>h(D=>({...D,description:N.target.value}))}),n.jsx(Ye,{checked:g.optInExistingSubscribers,direction:"rtl",hint:g.optInExistingSubscribers?`This newsletter will be available to all members. Your ${j===void 0?"":$a(j)} 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.",label:"Opt-in existing subscribers",labelStyle:"heading",onChange:N=>h(D=>({...D,optInExistingSubscribers:N.target.checked}))})]})})},ik=me.create(ok),lk=me.create(()=>{const t=me.useModal(),{updateRoute:a}=Pe(),{data:{integrations:s}={integrations:[]}}=Oi(),u=s.find(({slug:p})=>p==="ghost-core-content")?.api_keys?.find(p=>p.type==="content");return n.jsxs(ut,{afterClose:()=>{a("integrations")},cancelLabel:"",footer:n.jsxs("div",{className:"mx-8 flex w-full items-center justify-between",children:[n.jsx(Ie,{color:"outline",href:"https://ghost.org/docs/content-api/",label:n.jsxs("span",{className:"flex items-center gap-1",children:["Open docs ",n.jsx(Ge,{name:"arrow-top-right",size:"xs"})]}),rel:"noopener noreferrer",tag:"a",target:"_blank"}),n.jsx(Ie,{color:"black",label:"Close",onClick:()=>{a("integrations"),t.remove()}})]}),testId:"content-api-modal",title:"",stickyFooter:!0,children:[n.jsx(Qr,{detail:"Access your content programmatically",icon:n.jsx(Ge,{name:"angle-brackets",size:56}),title:"Content API"}),n.jsxs("div",{className:"mt-7",children:[n.jsx("p",{className:"mb-6 text-sm text-grey-700",children:"This key provides read-only access to your published content. For full read/write access, create a custom integration."}),n.jsx(Ya,{keys:[{label:"Content API key",text:u?.secret},{label:"API URL",text:window.location.origin+Os().subdir}]})]})]})}),ck=({recommendation:t,animate:a})=>{const s=Ft(),{updateRoute:i,route:u}=Pe(),{mutateAsync:p}=yy(),w=Ke(),{formState:m,updateForm:x,handleSave:g,saveState:h,errors:b,clearError:y,setErrors:v}=an({initialState:{...t},onSave:async N=>{await p(N),s.remove(),rt({title:"Recommendation added",type:"success"}),My("Recommendation Added",{oneClickSubscribe:N.one_click_subscribe}),i("recommendations")},onSaveError:w,onValidate:N=>_y(N)});let C="Add",E=!1;h==="saving"?E=!0:h==="saved"&&(C="Added");let j={label:"Back",icon:"arrow-left",iconColorClass:"text-black dark:text-white",link:!0,size:"sm",onClick:()=>{h!=="saving"&&(s.remove(),me.show(Im,{pathName:u,animate:!1,recommendation:{...m}}))}};return n.jsx(ut,{afterClose:()=>{i("recommendations")},animate:a??!0,backDropClick:!1,cancelLabel:"Cancel",dirty:!0,leftButtonProps:j,okColor:"black",okLabel:C,okLoading:E,size:"sm",testId:"add-recommendation-modal",title:"Add recommendation",stickyFooter:!0,onCancel:()=>{h!=="saving"&&(s.remove(),i("recommendations"))},onOk:async()=>{if(h!=="saving"){hh();try{await g({force:!0})}catch{rt({type:"error",title:"Something went wrong when adding this recommendation, please try again."})}}},children:n.jsx(ky,{clearError:y,errors:b,formState:m,setErrors:v,showURL:!1,updateForm:x})})},uk=me.create(ck),hp=t=>Ti(t).save||"",dk=function(t,a){try{new URL(a).hostname.includes(".")?delete t.url:t.url="Enter a valid URL"}catch{t.url="Enter a valid URL"}return t},fk=({searchParams:t,recommendation:a,animate:s})=>{const[i,u]=A.useState(!1),p=Ft(),{updateRoute:w}=Pe(),{mutateAsync:m}=jy(),x=a?"":t?.get("url")??"",{save:g}=x?Ti(x):{save:""},h=Ve.useRef(!1),[b,y]=Ve.useState(!!g),{formState:v,updateForm:C,handleSave:E,errors:j,saveState:N,clearError:D}=an({initialState:a??{title:"",url:g||"",description:"",excerpt:null,featured_image:null,favicon:null,one_click_subscribe:!1},onSave:async()=>{let R;R=new URL(v.url);const O=R.hostname.replace("www.",""),P={...v,url:R.toString()},{recommendations:I=[]}=await m(R);if(!I||I.length===0)return;const U=I[0];if(U.id)throw new jf("A recommendation with this URL already exists.");P.title=U.title??O,P.excerpt=U.excerpt??P.excerpt,P.featured_image=U.featured_image??P.featured_image??null,P.favicon=U.favicon??P.favicon??null,P.one_click_subscribe=U.one_click_subscribe??P.one_click_subscribe??!1,P.description=P.excerpt||null,p.remove(),me.show(uk,{animate:!1,recommendation:P})},onValidate:()=>{const R={};return dk(R,v.url),b&&y(Object.keys(R).length===0),R}}),$=Ve.useCallback(async()=>{if(N!=="saving"){hh();try{if(await E({force:!0}))return}catch(R){const O=R instanceof jf?R.message:"Something went wrong while checking this URL, please try again.";rt({type:"error",title:O})}b&&y(!1)}},[E,N,b,y]);return Ve.useEffect(()=>{b&&!h.current&&(h.current=!0,$())},[b,$]),A.useEffect(()=>{i&&($(),u(!1))},[v]),b?n.jsx(ut,{afterClose:()=>{w("recommendations")},animate:s??!0,backDropClick:!1,footer:!1,header:!1,size:"sm",children:n.jsx("div",{className:"flex flex-col items-center justify-center p-8",children:n.jsx(Ci,{})})}):n.jsxs(ut,{afterClose:()=>{w("recommendations")},animate:s??!0,backDropClick:!1,okColor:"black",okLabel:"Next",okLoading:N==="saving",size:"sm",testId:"add-recommendation-modal",title:"Add recommendation",onOk:$,children:[n.jsxs("p",{className:"mt-4",children:["You can recommend ",n.jsx("strong",{children:"any site"})," your audience will find valuable, not just those published on Ghost."]}),n.jsx(Be,{marginBottom:!1,marginTop:!0,children:n.jsx(ve,{autoFocus:!0,error:!!j.url,hint:j.url||n.jsxs(n.Fragment,{children:["Need inspiration? ",n.jsx("a",{className:"text-green",href:"https://www.ghost.org/explore",rel:"noopener noreferrer",target:"_blank",children:"Explore thousands of sites"})," to recommend"]}),maxLength:2e3,placeholder:"https://www.example.com",title:"URL",value:v.url,onBlur:()=>{const R=hp(v.url);C(O=>({...O,url:R}))},onChange:R=>{D?.("url"),C(O=>({...O,url:R.target.value}))},onKeyDown:R=>{R.key==="Enter"&&(R.preventDefault(),C(O=>({...O,url:hp(v.url)})),u(!0))}})})]})},Im=me.create(fk);function pk(t,a){let s;return function(...u){const p=()=>{clearTimeout(s),t(...u)};clearTimeout(s),s=setTimeout(p,a)}}const Fu=({generateContent:t,className:a,height:s,width:i,parentClassName:u,testId:p,addDelay:w=!1})=>{const[m,x]=A.useState(0),g=[A.useRef(null),A.useRef(null)],[h,b]=A.useState(0);return A.useEffect(()=>{const y=m===0?1:0,v=g[y].current;if(v){t(v);const C=()=>{w?setTimeout(()=>{x(y)},500):x(y)};return v.addEventListener("load",C),()=>{v.removeEventListener("load",C)}}},[t]),A.useEffect(()=>{const y=g[m].current,v=pk(()=>{b(y?.contentWindow?.scrollY||0)},250);return y?.contentWindow?.addEventListener("scroll",v),()=>{y?.contentWindow?.removeEventListener("scroll",v)}},[m,g]),A.useEffect(()=>{const y=g[m].current;if(y)try{y.contentWindow?.scrollTo(0,h)}catch(v){Lv(v)}},[h,m,g]),n.jsxs("div",{className:u,"data-testid":p,children:[n.jsx("iframe",{ref:g[0],className:`${a} ${m!==0?"z-10 opacity-0":"z-20 opacity-100"}`,"data-visible":m===0,frameBorder:"0",height:s,title:"Buffered Preview 1",width:i}),n.jsx("iframe",{ref:g[1],className:`${a} ${m!==1?"z-10 opacity-0":"z-20 opacity-100"}`,"data-visible":m===1,frameBorder:"0",height:s,title:"Buffered Preview 2",width:i})]})},hk=(t,a,s)=>{const i=new URLSearchParams;return i.append("announcement_bg",t||"accent"),i.append("announcement",a||""),s&&s.length>0&&i.append("announcement_vis",s?.join(",")||""),i.toString()},mk=({announcementBackgroundColor:t,announcementContent:a,url:s,visibility:i})=>{const u=A.useMemo(()=>i,[i?.join(",")]),p=A.useCallback(w=>{s&&fetch(s,{method:"POST",headers:{"Content-Type":"text/html;charset=utf-8","x-ghost-preview":hk(t,a,u),Accept:"text/plain"},mode:"cors",credentials:"include"}).then(m=>m.text()).then(m=>{const x="html { pointer-events: none; }",h=new DOMParser().parseFromString(m,"text/html"),b=h.querySelector("style"),y=b.innerHTML;b.innerHTML=`${y}
2
2
 
3
3
  ${x}`;let C=(h.doctype?new XMLSerializer().serializeToString(h.doctype):"")+h.documentElement.outerHTML;w.contentDocument?.open(),w.contentDocument?.write(C),w.contentDocument?.close()}).catch(()=>{})},[t,a,s,u]);return n.jsx(Fu,{addDelay:!0,className:"absolute size-[110%] origin-top-left scale-[.90909] bg-white max-[1600px]:size-[130%] max-[1600px]:scale-[.76923]",generateContent:p,height:"100%",parentClassName:"relative h-full w-full",testId:"announcement-bar-preview-iframe",width:"100%"})},gk=({announcementContent:t,announcementTextHandler:a,accentColor:s,announcementBackgroundColor:i,toggleColorSwatch:u,toggleVisibility:p,visibility:w=[],paidMembersEnabled:m,onBlur:x})=>{const g=[{label:"Public visitors",onChange:h=>{p("visitors",h)},value:"visitors",checked:w.includes("visitors")},{label:"Free members",onChange:h=>{p("free_members",h)},value:"free_members",checked:w.includes("free_members")},...m?[{label:"Paid members",onChange:h=>{p("paid_members",h)},value:"paid_members",checked:w.includes("paid_members")}]:[]];return n.jsxs(Be,{children:[n.jsx(Au,{nodes:"MINIMAL_NODES",placeholder:"Highlight breaking news, offers or updates",title:"Announcement",value:t,onBlur:x,onChange:a}),n.jsx(Ph,{isExpanded:!1,picker:!1,swatches:[{hex:"#08090c",title:"Dark",value:"dark"},{hex:"#ffffff",title:"Light",value:"light"},{hex:s||"#ffdd00",title:"Accent",value:"accent"}],swatchSize:"lg",title:"Background color",value:i,onSwatchChange:h=>{h!==null&&u(h)},onTogglePicker:()=>{}}),n.jsx(ou,{checkboxes:g,title:"Visibility"})]})},xk=()=>{const{siteData:t}=ze(),{localSettings:a,updateSetting:s,handleSave:i,okProps:u}=Gr({savingDelay:500}),[p]=ot(a,["announcement_content"]),[w]=ot(a,["accent_color"]),[m]=ot(a,["announcement_background"]),[x]=ot(a,["announcement_visibility"]),[g]=ot(a,["paid_members_enabled"]),h=JSON.parse(x?.toString()||"[]"),{updateRoute:b}=Pe(),[y,v]=A.useState("homepage"),C=I=>{s("announcement_background",I)},E=(I,U)=>{const Y=h.indexOf(I);Y===-1&&U?h.push(I):h.splice(Y,1),s("announcement_visibility",JSON.stringify(h))},j=A.useRef(Ri(I=>{s("announcement_content",I)},500)),N=n.jsx(gk,{accentColor:w,announcementBackgroundColor:m,announcementContent:p,announcementTextHandler:I=>{j.current(I)},paidMembersEnabled:g,toggleColorSwatch:C,toggleVisibility:E,visibility:x,onBlur:()=>{}}),{data:{posts:[D]}={posts:[]}}=Dh({searchParams:{filter:"status:published",order:"published_at DESC",limit:"1",fields:"id,url"}});let $=[];D&&($=[{id:"homepage",title:"Homepage"},{id:"post",title:"Post"}]);const R=I=>{$.length&&v(I)};let O=Hn(t);switch(y){case"homepage":O=Hn(t);break;case"post":O=D.url;break}const P=n.jsx(mk,{announcementBackgroundColor:m,announcementContent:p,url:O,visibility:h});return n.jsx(Kr,{afterClose:()=>{b("announcement-bar")},buttonsDisabled:u.disabled,cancelLabel:"Close",deviceSelector:!0,dirty:!1,okColor:u.color,okLabel:u.label||"Save",preview:P,previewBgColor:"greygradient",previewToolbarTabs:$,selectedURL:y,sidebar:N,testId:"announcement-bar-modal",title:"Announcement",titleHeadingLevel:5,onOk:async()=>{await i({fakeWhenUnchanged:!0})||rt({type:"error",message:"An error occurred while saving your changes. Please try again."})},onSelectURL:R})},wk=me.create(xk),xu=[{label:"Global",options:[{value:"site.changed",label:"Site changed (rebuild)"}]},{label:"Posts",options:[{value:"post.added",label:"Post created"},{value:"post.deleted",label:"Post deleted"},{value:"post.edited",label:"Post updated"},{value:"post.published",label:"Post published"},{value:"post.published.edited",label:"Published post updated"},{value:"post.unpublished",label:"Post unpublished"},{value:"post.scheduled",label:"Post scheduled"},{value:"post.unscheduled",label:"Post unscheduled"},{value:"post.tag.attached",label:"Tag added to post"},{value:"post.tag.detached",label:"Tag removed from post"}]},{label:"Pages",options:[{value:"page.added",label:"Page created"},{value:"page.deleted",label:"Page deleted"},{value:"page.edited",label:"Page updated"},{value:"page.published",label:"Page published"},{value:"page.published.edited",label:"Published page updated"},{value:"page.unpublished",label:"Page unpublished"},{value:"page.tag.attached",label:"Tag added to page"},{value:"page.tag.detached",label:"Tag removed from page"}]},{label:"Tags",options:[{value:"tag.added",label:"Tag created"},{value:"tag.edited",label:"Tag updated"},{value:"tag.deleted",label:"Tag deleted"}]},{label:"Members",options:[{value:"member.added",label:"Member added"},{value:"member.edited",label:"Member updated"},{value:"member.deleted",label:"Member deleted"}]}],bk=t=>xu.flatMap(({options:s})=>s).find(s=>s.value===t)?.label,vk=qr({method:"POST",path:()=>"/webhooks/",body:t=>({webhooks:[t]}),updateQueries:{dataType:Li,emberUpdateType:"createOrUpdate",update:(t,a)=>a&&{...a,integrations:a.integrations.map(s=>{const i=t.webhooks[0];return i.integration_id===s.id?{...s,webhooks:[...s.webhooks||[],i]}:s})}}}),yk=qr({method:"PUT",path:t=>`/webhooks/${t.id}/`,body:t=>({webhooks:[t]}),updateQueries:{dataType:Li,emberUpdateType:"createOrUpdate",update:(t,a)=>a&&{...a,integrations:a.integrations.map(s=>{var i;return{...s,webhooks:(i=s.webhooks)==null?void 0:i.map(u=>u.id===t.webhooks[0].id?t.webhooks[0]:u)}})}}}),_k=qr({method:"DELETE",path:t=>`/webhooks/${t}/`,updateQueries:{dataType:Li,emberUpdateType:"createOrUpdate",update:(t,a,s)=>({...a,integrations:a.integrations.map(i=>{var u;return{...i,webhooks:(u=i.webhooks)==null?void 0:u.filter(p=>p.id!==s)}})})}}),Mk=({webhook:t,integrationId:a})=>{const s=Ft(),{mutateAsync:i}=vk(),{mutateAsync:u}=yk(),p=Ke(),{formState:w,updateForm:m,handleSave:x,errors:g,clearError:h}=an({initialState:t||{},onSave:async()=>{w.id?await u(w):await i({...w,integration_id:a})},onSaveError:p,onValidate:()=>{const b={};return w.name||(b.name="Enter a name"),w.event||(b.event="Select an event"),w.target_url||(b.target_url="Enter a target URL"),w.target_url&&!xt.isURL(w.target_url,{require_tld:!1})&&(b.target_url="Enter a valid URL"),b}});return n.jsx(ut,{okColor:"black",okLabel:t?"Update":"Add",size:"sm",testId:"webhook-modal",title:"Add webhook",formSheet:!0,onOk:async()=>{await x()&&s.remove()},children:n.jsx("div",{className:"mt-5",children:n.jsxs(Be,{marginBottom:!1,marginTop:!1,children:[n.jsx(ve,{error:!!g.name,hint:g.name,maxLength:191,placeholder:"Custom webhook",title:"Name",value:w.name,onChange:b=>m(y=>({...y,name:b.target.value})),onKeyDown:()=>h("name")}),n.jsx(kt,{error:!!g.event,hint:g.event,options:xu,prompt:"Select an event",selectedOption:xu.flatMap(b=>b.options).find(b=>b.value===w.event),testId:"event-select",title:"Event",hideTitle:!0,onSelect:b=>{m(y=>({...y,event:b?.value})),h("event")}}),n.jsx(ve,{error:!!g.target_url,hint:g.target_url,maxLength:2e3,placeholder:"https://example.com",title:"Target URL",type:"url",value:w.target_url,onChange:b=>m(y=>({...y,target_url:b.target.value})),onKeyDown:()=>h("target_url")}),n.jsx(ve,{maxLength:191,placeholder:"https://example.com",title:"Secret",value:w.secret||void 0,onChange:b=>m(y=>({...y,secret:b.target.value}))})]})})})},mp=me.create(Mk),kk=({integration:t})=>{const{mutateAsync:a}=_k(),s=Ke(),i=u=>{me.show(ht,{title:"Are you sure?",prompt:"Deleting this webhook may prevent the integration from functioning.",okColor:"red",okLabel:"Delete Webhook",onOk:async p=>{try{await a(u),p?.remove(),rt({message:"Webhook deleted",type:"info"})}catch(w){s(w)}}})};return n.jsxs("div",{children:[n.jsxs(Ey,{children:[n.jsxs(Af,{bgOnHover:!1,children:[n.jsxs(op,{children:[t.webhooks?.length||0," ",t.webhooks?.length===1?"webhook":"webhooks"]}),n.jsx(op,{children:"Last triggered"})]}),t.webhooks?.map(u=>n.jsxs(Af,{action:n.jsx(Ie,{color:"red",label:"Delete",link:!0,onClick:p=>{p?.stopPropagation(),i(u.id)}}),bgOnHover:!1,hideActions:!0,onClick:()=>{me.show(mp,{webhook:u,integrationId:t.id})},children:[n.jsxs(Df,{className:"w-3/4",children:[n.jsx("div",{className:"text-sm font-semibold",children:u.name}),n.jsxs("div",{className:"grid grid-cols-[max-content_1fr] gap-x-1 text-xs leading-snug",children:[n.jsx("span",{className:"text-grey-600",children:"Event:"}),n.jsx("span",{children:bk(u.event)}),n.jsx("span",{className:"text-grey-600",children:"URL:"}),n.jsx("span",{className:"line-clamp-3 break-all",title:u.target_url,children:u.target_url})]})]}),n.jsx(Df,{className:"w-1/4 text-sm",children:u.last_triggered_at&&new Date(u.last_triggered_at).toLocaleString("default",{weekday:"short",month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})})]}))]}),n.jsx("div",{className:"mt-5",children:n.jsx(Ie,{color:"green",icon:"add",iconColorClass:"text-green",label:"Add webhook",size:"sm",link:!0,onClick:()=>{me.show(mp,{integrationId:t.id})}})})]})},jk=({integration:t})=>{const a=Ft(),{updateRoute:s}=Pe(),{mutateAsync:i}=Ny(),{mutateAsync:u}=Ou(),{mutateAsync:p}=Hs(),w=Ke(),{formState:m,updateForm:x,handleSave:g,saveState:h,errors:b,clearError:y,okProps:v}=an({initialState:t,savingDelay:500,savedDelay:500,onSave:async()=>{await i(m)},onSavedStateReset:()=>{s("integrations")},onSaveError:w,onValidate:()=>{const O={};return m.name||(O.name="Enter integration title"),O}}),C=t.api_keys?.find(O=>O.type==="admin"),E=t.api_keys?.find(O=>O.type==="content"),[j,N]=A.useState(!1),[D,$]=A.useState(!1);A.useEffect(()=>{t.type!=="custom"&&(a.remove(),s("integrations"))},[t.type,a,s]);const R=(O,P)=>{P(!1);const I=O.type==="content"?"Content":"Admin";me.show(ht,{title:`Regenerate ${I} API Key`,prompt:`You can regenerate ${I} API Key any time, but any scripts or applications using it will need to be updated.`,okLabel:`Regenerate ${I} API Key`,onOk:async U=>{try{await u({integrationId:t.id,apiKeyId:O.id}),P(!0),U?.remove()}catch(Y){w(Y)}}})};return n.jsxs(ut,{afterClose:()=>{s("integrations")},buttonsDisabled:v.disabled,cancelLabel:"Close",dirty:h==="unsaved",okColor:v.color,okLabel:v.label||"Save",size:"md",testId:"custom-integration-modal",title:m.name||"Custom integration",stickyFooter:!0,onOk:async()=>{await g({fakeWhenUnchanged:!0})},children:[n.jsxs("div",{className:"mt-7 flex w-full flex-col gap-7 md:flex-row",children:[n.jsx("div",{children:n.jsx(tr,{height:"100px",id:"custom-integration-icon",imageURL:m.icon_image||void 0,width:"100px",onDelete:()=>x(O=>({...O,icon_image:null})),onUpload:async O=>{try{const P=Jn(await p({file:O}));x(I=>({...I,icon_image:P}))}catch(P){const I=P;I.response.status===415&&(I.message="Unsupported file type"),w(I)}},children:"Upload icon"})}),n.jsx("div",{className:"flex grow flex-col",children:n.jsxs(Be,{children:[n.jsx(ve,{error:!!b.name,hint:b.name,maxLength:191,title:"Title",value:m.name,onChange:O=>x(P=>({...P,name:O.target.value})),onKeyDown:()=>y("name")}),n.jsx(ve,{maxLength:2e3,title:"Description",value:m.description||"",onChange:O=>x(P=>({...P,description:O.target.value}))}),n.jsx(Ya,{keys:[{label:"Content API key",text:E?.secret,hint:D?n.jsx("div",{className:"text-green",children:"Content API Key was successfully regenerated"}):void 0,onRegenerate:()=>E&&R(E,$)},{label:"Admin API key",text:C?.secret,hint:j?n.jsx("div",{className:"text-green",children:"Admin API Key was successfully regenerated"}):void 0,onRegenerate:()=>C&&R(C,N)},{label:"API URL",text:window.location.origin+Os().subdir}]})]})})]}),n.jsx("div",{children:n.jsx(kk,{integration:t})})]})},Ek=({params:t})=>{const{data:{integrations:a}={}}=Oi(),s=a?.find(({id:i})=>i===t?.id);return s?n.jsx(jk,{integration:s}):null},Nk=me.create(Ek),Tk=({problem:t})=>{const[a,s]=A.useState(!1),i=()=>{s(!a)};return n.jsx(Cr,{title:n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:`${t.level==="error"?"before:bg-red":"before:bg-yellow"} relative px-4 text-sm before:absolute before:top-1.5 before:left-0 before:block before:size-2 before:rounded-full before:content-['']`,children:[t?.fatal?n.jsx("strong",{children:"Fatal: "}):n.jsx("strong",{children:t.level==="error"?"Error: ":"Warning: "}),n.jsx("span",{dangerouslySetInnerHTML:{__html:t.rule}}),n.jsx("div",{className:"absolute top-1 -right-4",children:n.jsx(Ie,{color:"green",icon:a?"chevron-down":"chevron-right",iconColorClass:"text-grey-700",size:"sm",link:!0,onClick:()=>i()})})]}),a?n.jsxs("div",{className:"mt-2 px-4 text-[13px]",children:[n.jsx("div",{dangerouslySetInnerHTML:{__html:t.details},className:"mb-4"}),n.jsx(ct,{level:6,children:"Affected files:"}),n.jsx("ul",{className:"mt-1",children:t.failures.map(u=>n.jsxs("li",{children:[n.jsx("code",{children:u.ref}),u.message?`: ${u.message}`:""]}))})]}):null]}),hideActions:!0,separator:!0})},Ck=({title:t,prompt:a,fatalErrors:s,onRetry:i})=>{let u=null;return s&&(u=n.jsx("div",{className:"mt-10",children:n.jsx(er,{title:"Errors",children:s.map(p=>typeof p.details=="object"&&p.details.errors&&p.details.errors.length>0?p.details.errors.map(w=>n.jsx(Tk,{problem:w})):typeof p.details=="string"?n.jsx(Cr,{title:p.details}):null)})})),n.jsx(vh,{cancelLabel:"Close",okColor:"black",okLabel:"Retry",prompt:n.jsxs(n.Fragment,{children:[a,u]}),title:t,onOk:i})},Sm=me.create(Ck),Pu=()=>{const t=Ov(),s=!t.data?.themes[0]?.warnings?.some(u=>u.code==="GS051-CUSTOM-FONTS"),i=A.useCallback(()=>{t.refetch()},[t]);return{supportsCustomFonts:s,refreshActiveThemeData:i}};function Ik(t){let a=t.package?.name||t.name;return Fv(t)?a+=" (default)":Pv(t)?a+=" (legacy)":t.package?.name!==t.name&&(a=n.jsxs("span",{className:"text-sm md:text-base",children:[a," ",n.jsxs("span",{className:"text-grey-600",children:["(",t.name,")"]})]})),mh(t)&&(a=n.jsxs("span",{className:"text-sm font-bold md:text-base",children:[a," — ",n.jsx("span",{className:"text-green",children:" Active"})]})),a}function Sk(t){return t.package?.version||"1.0"}const Ak=({theme:t})=>{const{mutateAsync:a}=_u(),{mutateAsync:s}=Hv(),{refreshActiveThemeData:i}=Pu(),u=Ke(),p=async()=>{try{await a(t.name),i(),rt({title:"Theme activated",type:"success",message:n.jsxs("div",{children:[n.jsx("span",{className:"capitalize",children:t.name})," is now your active theme"]})})}catch(b){let y=null;b instanceof Er&&b.response?.status===422&&b.data?.errors?y=b.data.errors:u(b);let v="Invalid Theme",C=n.jsx(n.Fragment,{children:"This theme is invalid and cannot be activated. Fix the following errors and re-upload the theme"});y&&me.show(Sm,{title:v,prompt:C,fatalErrors:y,onRetry:async E=>{E?.remove(),p()}})}},w=async()=>{const{apiRoot:b}=Os();Uv(`${b}/themes/${t.name}/download`)},m=async()=>{me.show(ht,{title:"Are you sure you want to delete this?",prompt:n.jsxs(n.Fragment,{children:["You are about to delete ",n.jsxs("strong",{children:['"',t.name,'".']})," This is permanent! We warned you, k? Maybe download"," ",n.jsx("span",{className:"cursor-pointer text-green-500",onClick:()=>{w()},children:"your theme before continuing"})]}),okLabel:"Delete",okRunningLabel:"Deleting",okColor:"red",onOk:async b=>{try{await s(t.name),b?.remove()}catch(y){u(y)}}})};let x=[];mh(t)||x.push(n.jsx(Ie,{className:"ml-2",color:"green",label:"Activate",link:!0,onClick:p},"activate"));let g=[{id:"download",label:"Download",onClick:w}];zv(t)&&g.push({id:"delete",label:"Delete",onClick:m});const h={iconColorClass:"text-base",size:"sm"};return n.jsxs("div",{className:"-mr-3 flex items-center gap-4",children:[x,n.jsx(tm,{items:g,position:"end",triggerButtonProps:h})]})},Dk=({themes:t})=>(t.sort((a,s)=>a.active&&!s.active?-1:!a.active&&s.active?1:a.package?.name&&s.package?.name?a.package.name.localeCompare(s.package.name):a.name.localeCompare(s.name)),n.jsx(er,{pageTitle:"Installed themes",children:t.map(a=>{const s=Ik(a),i=Sk(a);return n.jsx(Cr,{action:n.jsx(Ak,{theme:a}),detail:i,id:`theme-${a.name}`,separator:!1,testId:"theme-list-item",title:s},a.name)})})),$k=({themes:t})=>n.jsx($u,{children:n.jsx(Dk,{themes:t})}),Rk=""+new URL("footer-marketplace-bg-BpIYEF6z.png",import.meta.url).href,Lk=3e3,gp=t=>t.variants&&t.variants.length>0,Bc=t=>{const a=[{category:t.category,previewUrl:t.previewUrl,image:t.image}];return t.variants&&t.variants.length>0&&a.push(...t.variants),a},Ok=({onSelectTheme:t})=>{const a=Ty(),[s,i]=A.useState(null),[u,p]=A.useState(0),w=m=>{i(m),p(m!==null&&gp(m)&&Bc(m).length>1?1:0)};return A.useEffect(()=>{if(s===null)return;const m=setInterval(()=>{p((u+1)%(Bc(s).length||0))},Lk);return()=>clearInterval(m)},[s,u]),n.jsxs($u,{heading:"Themes",children:[n.jsx("div",{className:"mt-[6vmin] grid grid-cols-1 gap-[6vmin] sm:grid-cols-2 md:grid-cols-3 xl:grid-cols-4",children:a.map(m=>{const x=gp(m),g=Bc(m),h=s===m;return n.jsxs("button",{className:"flex cursor-pointer flex-col gap-3 text-left",type:"button",onClick:()=>{t?.(m)},children:[n.jsx("div",{className:"relative w-full bg-grey-100 shadow-md transition-all duration-500 hover:scale-[1.05]",onMouseEnter:()=>w(m),onMouseLeave:()=>w(null),children:x?n.jsx(n.Fragment,{children:g.map((b,y)=>n.jsx("img",{alt:`${m.name} Theme - ${b.category}`,className:he("size-full object-contain opacity-0 transition-opacity duration-500",{"opacity-100":y===u&&h||!h&&y===0,relative:y===u,absolute:y!==u,"left-0":y!==u,"top-0":y!==u}),src:b.image},`theme-variant-${b.category.toLowerCase()}`))}):n.jsx("img",{alt:`${m.name} Theme`,className:"size-full object-contain",src:m.image})}),n.jsxs("div",{className:"relative mt-3",children:[n.jsx(ct,{level:4,children:m.name}),x?g.map((b,y)=>n.jsx("span",{className:he("absolute left-0 translate-y-px text-sm text-grey-700 opacity-0",{"opacity-100":y===u&&h||!h&&y===0}),children:b.category})):n.jsx("span",{className:"text-sm text-grey-700",children:m.category})]})]},m.name)})}),n.jsxs("div",{className:"mx-[-8vmin] mt-[8vmin] mb-[-8vmin] bg-black px-[8vmin] py-16 text-center text-lg text-white",style:{background:`#15171a url(${Rk}) 100% 100% / 35vw no-repeat`},children:["Find and buy third-party, premium themes from independent developers in the ",n.jsx("a",{className:"inline-block font-semibold text-lime",href:"https://ghost.org/themes/",rel:"noopener noreferrer",target:"_blank",children:"Ghost Marketplace →"})]})]})},xp=({problem:t})=>{const[a,s]=A.useState(!1);return n.jsx(Cr,{title:n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:`${t.level==="error"?"before:bg-red":"before:bg-yellow"} relative px-4 text-sm before:absolute before:top-1.5 before:left-0 before:block before:size-2 before:rounded-full before:content-['']`,children:[n.jsx("strong",{children:t.level==="error"?"Error: ":"Warning: "}),n.jsx("span",{dangerouslySetInnerHTML:{__html:t.rule}}),n.jsx("div",{className:"absolute top-1 -right-4",children:n.jsx(Ie,{color:"green",icon:a?"chevron-down":"chevron-right",iconColorClass:"text-grey-700",size:"sm",link:!0,onClick:()=>s(!a)})})]}),a?n.jsxs("div",{className:"mt-2 px-4 text-[13px]",children:[n.jsx("div",{dangerouslySetInnerHTML:{__html:t.details},className:"mb-4"}),n.jsx(ct,{level:6,children:"Affected files:"}),n.jsx("ul",{className:"mt-1",children:t.failures.map(i=>n.jsxs("li",{children:[n.jsx("code",{children:i.ref}),i.message?`: ${i.message}`:""]},i.ref))})]}):null]}),hideActions:!0,separator:!0})},Fk=({title:t,prompt:a,installedTheme:s,onActivate:i})=>{const{mutateAsync:u}=_u(),{refreshActiveThemeData:p}=Pu(),w=Ke();let m=null;s&&s.errors&&(m=n.jsx("div",{className:"mt-6",children:n.jsx(er,{hint:n.jsxs(n.Fragment,{children:["Highly recommended to fix, functionality ",n.jsx("strong",{children:"could"})," be restricted"]}),title:"Errors",children:s.errors?.map((h,b)=>n.jsx(xp,{problem:h},b))})}));let x=null;s&&s.warnings&&(x=n.jsx("div",{className:"mt-10",children:n.jsx(er,{title:"Warnings",children:s.warnings?.map((h,b)=>n.jsx(xp,{problem:h},b))})}));let g=`Activate${s.errors?.length?" with errors":""}`;return s.active&&(g="OK"),n.jsx(vh,{cancelLabel:"Close",okColor:"black",okLabel:g,okRunningLabel:"Activating...",prompt:n.jsxs(n.Fragment,{children:[a,m,x]}),title:t,onOk:async h=>{if(!s.active)try{const y=(await u(s.name)).themes[0];p(),rt({title:"Theme activated",type:"success",message:n.jsxs("div",{children:[n.jsx("span",{className:"capitalize",children:y.name})," is now your active theme."]})})}catch(b){w(b)}i?.(),h?.remove()}})},Am=me.create(Fk),wp=t=>t.variants&&t.variants.length>0,bp=t=>{const a=[{image:t.image,category:t.category,previewUrl:t.previewUrl}];return t.variants&&t.variants.length>0&&a.push(...t.variants),a},vp=t=>t.category.toLowerCase(),Pk=({selectedTheme:t,isInstalling:a,installedTheme:s,onBack:i,onInstall:u})=>{const[p,w]=A.useState("desktop"),[m,x]=A.useState(void 0);if(!t)return null;let g=t.previewUrl;const h=bp(t).map(E=>({label:E.category,value:vp(E)}));wp(t)&&(m===void 0&&x(h[0]),g=bp(t).find(E=>vp(E)===m?.value)?.previewUrl||g);let b=`Install ${t.name}`;a?b="Installing...":Ei(t)&&!s?.active?b=`Activate ${t.name}`:s&&(b=`Update ${t.name}`);const y=()=>{u?.()},v=n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ru,{activeItemClassName:"hidden md:!block md:!visible",containerClassName:"whitespace-nowrap",itemClassName:"hidden md:!block md:!visible",items:[{label:"Change theme",onClick:i},{label:t.name}],separatorClassName:"hidden md:!block md:!visible",backIcon:!0,onBack:i}),wp(t)?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"hidden md:!visible md:!block",children:"–"}),n.jsx(kt,{border:!1,containerClassName:"text-sm font-bold",controlClasses:{menu:"min-w-max"},fullWidth:!1,options:h,selectedOption:m,clearBg:!0,onSelect:E=>{x(E||void 0)}})]}):null]}),C=n.jsxs("div",{className:"flex justify-end gap-8",children:[n.jsx(Pn,{buttons:[{icon:"laptop",iconColorClass:p==="desktop"?"text-black dark:text-green":"text-grey-500 dark:text-grey-600",link:!0,size:"sm",onClick:()=>{w("desktop")}},{icon:"mobile",iconColorClass:p==="mobile"?"text-black dark:text-green":"text-grey-500 dark:text-grey-600",link:!0,size:"sm",onClick:()=>{w("mobile")}}]}),n.jsx(Ie,{color:"green",disabled:a,label:a?"Installing...":b,onClick:y})]});return n.jsxs("div",{className:"absolute inset-0 z-[100]",children:[n.jsx(hm,{containerClassName:"bg-grey-50 dark:bg-black z-[100]",left:v,right:C,sticky:!1}),n.jsx("div",{className:"flex h-[calc(100%-92px)] grow flex-col items-center justify-center bg-grey-50 dark:bg-black",children:p==="desktop"?n.jsx(Oh,{children:n.jsx("iframe",{className:"size-full",src:g,title:"Theme preview"})}):n.jsx(Fh,{children:n.jsx("iframe",{className:"size-full",src:g,title:"Theme preview"})})})]})},Hk=({onUpload:t})=>{const a=Ft();return n.jsx("div",{className:"-mb-6",children:n.jsx(Cy,{id:"theme-upload",onUpload:s=>{a.remove(),t(s)},children:n.jsx("div",{className:"cursor-pointer bg-grey-75 p-10 text-center dark:bg-grey-950",children:"Click to select or drag & drop zip file"})})})},zk=({currentTab:t,setCurrentTab:a,themes:s})=>{const i=Ft(),{updateRoute:u}=Pe(),{mutateAsync:p}=Wv(),{checkThemeLimitError:w,isThemeLimited:m}=ku(),x=Ke(),[g,h]=A.useState(),[b,y]=A.useState(!1);A.useEffect(()=>{(async()=>{if(m){const R=await w(".");h({enabled:!1,error:R||"Your current plan doesn't support uploading custom themes."})}else h({enabled:!0})})()},[w,m]);const v=()=>{i.remove(),u("/")},C=async $=>{const R=$?.name.replace(/\.zip$/,""),O=s.map(P=>P.name);Ei({name:R})?me.show(ht,{title:"Upload failed",cancelLabel:"Cancel",okLabel:"",prompt:n.jsxs(n.Fragment,{children:[n.jsxs("p",{children:["The default ",n.jsx("strong",{children:R})," theme cannot be overwritten."]}),n.jsx("p",{children:"Rename your zip file and try again."})]}),onOk:async P=>{P?.remove()}}):O.includes(R)?me.show(ht,{title:"Overwrite theme",prompt:n.jsxs(n.Fragment,{children:["The theme ",n.jsx("strong",{children:R})," already exists. Do you want to overwrite it?"]}),okLabel:"Overwrite",cancelLabel:"Cancel",okRunningLabel:"Overwriting...",okColor:"red",onOk:async P=>{y(!0);const I=O.indexOf(R);s.splice(I,1),await E({file:$,onActivate:v}),y(!1),a("installed"),P?.remove()}}):(a("installed"),E({file:$,onActivate:v}))},E=async({file:$,onActivate:R})=>{let O,P=null;try{y(!0),O=await p({file:$}),y(!1)}catch(W){y(!1),W instanceof Er&&W.response?.status===422&&W.data?.errors?P=W.data.errors:x(W)}if(P&&!O){let W="Invalid Theme",B=n.jsx(n.Fragment,{children:"This theme is invalid and cannot be activated. Fix the following errors and re-upload the theme"});me.show(Sm,{title:W,prompt:B,fatalErrors:P,onRetry:async()=>{i?.remove(),N()}})}if(!O)return;const I=O.themes[0];let U="Upload successful",Y=n.jsxs(n.Fragment,{children:[n.jsx("strong",{children:I.name})," uploaded"]});if(I.active||(Y=n.jsxs(n.Fragment,{children:[Y," ","Do you want to activate it now?"]})),I?.errors?.length||I.warnings?.length){const W=I?.errors?.length;U=`Upload successful with ${W?"errors":"warnings"}`,Y=n.jsxs(n.Fragment,{children:["The theme ",n.jsxs("strong",{children:['"',I.name,'"']})," was installed but we detected some ",W?"errors":"warnings","."]}),I.active||(Y=n.jsxs(n.Fragment,{children:[Y,"You are still able to activate and use the theme but it is recommended to fix these ",W?"errors":"warnings"," before you do so."]}))}me.show(Am,{title:U,prompt:Y,installedTheme:I,onActivate:R})},j=n.jsx("div",{className:"hidden md:!visible md:!block",children:n.jsx(Nr,{border:!1,selectedTab:t,tabs:[{id:"official",title:"Official themes"},{id:"installed",title:"Installed"}],onTabChange:$=>{a($)}})}),N=()=>{g&&(g.enabled?me.show(ht,{title:"Upload theme",prompt:n.jsx(Hk,{onUpload:C}),okLabel:"",formSheet:!1}):me.show(Un,{title:"Upgrade to enable custom themes",prompt:g.error||n.jsxs(n.Fragment,{children:["Your current plan only supports official themes. You can install them from the ",n.jsx("a",{href:"https://ghost.org/marketplace/",children:"Ghost theme marketplace"}),"."]}),onOk:()=>u({route:"/pro",isExternal:!0})}))},D=n.jsx("div",{className:"flex items-center gap-14",children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(Ie,{label:"Close",onClick:()=>{i.remove(),v()}}),n.jsx(Ie,{color:"black",label:"Upload theme",loading:b,onClick:N})]})});return n.jsxs(n.Fragment,{children:[n.jsx(hm,{containerClassName:"bg-white dark:bg-black",left:j,right:D}),n.jsx("div",{className:"px-[8vmin] md:hidden",children:n.jsx(Nr,{border:!1,selectedTab:t,tabs:[{id:"official",title:"Official themes"},{id:"installed",title:"Installed"}],onTabChange:$=>{a($)}})})]})},Uk=({currentTab:t,onSelectTheme:a,themes:s})=>{switch(t){case"official":return n.jsx(Ok,{onSelectTheme:a});case"installed":return n.jsx($k,{themes:s})}return null},yp=({source:t,themeRef:a})=>{const[s,i]=A.useState("official"),[u,p]=A.useState(null),[w,m]=A.useState("desktop"),[x,g]=A.useState(!1),[h,b]=A.useState(!1),[y,v]=A.useState(!1),{updateRoute:C}=Pe(),E=Ft(),{data:{themes:j}={}}=Mu(),{mutateAsync:N}=Bv(),{mutateAsync:D}=_u(),{checkThemeLimitError:$}=ku(),R=Ke(),O=U=>{p(U)};if(A.useEffect(()=>{v(!0)},[]),A.useEffect(()=>{(async()=>{if(t&&a&&!h&&y){const Y=a.split("/")[1];if(await $(Y)){E.remove();return}let B="Install Theme";const ie=j?.map(ke=>ke.name)||[];let ge=ie.includes(Y.toLowerCase());const Me=ie.indexOf(Y.toLowerCase()),K=j?.[Me];let ee=n.jsxs(n.Fragment,{children:["By clicking below, ",n.jsx("strong",{children:Y})," will automatically be activated as the theme for your site.",ge&&n.jsxs(n.Fragment,{children:[n.jsx("br",{}),n.jsx("br",{}),"This will overwrite your existing version of ",n.jsx("strong",{children:Y}),K?.active?" which is your active theme":"",". All custom changes will be lost."]})]});me.show(ht,{title:B,prompt:ee,okLabel:"Install",cancelLabel:"Cancel",okRunningLabel:"Installing...",okColor:"black",onOk:async ke=>{let ue;b(!0);try{ge&&j&&j.splice(Me,1),ue=await N(a),ue?.themes[0]&&(await D(ue.themes[0].name),rt({title:"Theme activated",type:"success",message:n.jsxs("div",{children:[n.jsx("span",{className:"capitalize",children:ue.themes[0].name})," is now your active theme"]})})),ke?.remove(),C("")}catch(ye){R(ye)}}})}})()},[a,t,N,R,D,C,j,h,$,E,y]),!j)return;let P,I;if(u){P=j.find(Y=>Y.name.toLowerCase()===u.name.toLowerCase()),I=async()=>{const Y=await $(u.name);if(Y){me.show(Un,{prompt:Y,onOk:()=>C({route:"/pro",isExternal:!0})});return}return P&&!Ei(u)?new Promise(W=>{me.show(ht,{title:"Overwrite theme",prompt:n.jsxs(n.Fragment,{children:["This will overwrite your existing version of ",u.name,P?.active?", which is your active theme":"",". All custom changes will be lost."]}),okLabel:"Overwrite",okRunningLabel:"Installing...",cancelLabel:"Cancel",okColor:"red",onOk:async B=>{B?.remove(),await U(),W()}})}):U()};const U=async()=>{let Y="Success",W=n.jsx(n.Fragment,{});if(Ei(u))Y="Activate theme",W=n.jsxs(n.Fragment,{children:["By clicking below, ",n.jsx("strong",{children:u.name})," will automatically be activated as the theme for your site."]});else{g(!0);let B;try{B=await N(u.ref)}catch(ge){R(ge)}finally{g(!1)}if(!B)return;const ie=B.themes[0];if(Y="Success",W=n.jsxs(n.Fragment,{children:[n.jsx("strong",{children:ie.name})," has been successfully installed."]}),ie.active||(W=n.jsxs(n.Fragment,{children:[W," ","Do you want to activate it now?"]})),ie.errors?.length||ie.warnings?.length){const ge=ie.errors?.length;Y=`Installed with ${ge?"errors":"warnings"}`,W=n.jsxs(n.Fragment,{children:["The theme ",n.jsxs("strong",{children:['"',ie.name,'"']})," was installed successfully but we detected some ",ge?"errors":"warnings","."]}),ie.active||(W=n.jsxs(n.Fragment,{children:[W,"You are still able to activate and use the theme but it is recommended to contact the theme developer fix these ",ge?"errors":"warnings"," before you do so."]}))}P=ie}me.show(Am,{title:Y,prompt:W,installedTheme:P,onActivate:()=>{E.remove(),C("")}})}}return n.jsx(ut,{afterClose:()=>{C("")},animate:!1,cancelLabel:"",footer:!1,padding:!1,size:"full",testId:"theme-modal",title:"",scrolling:!0,onCancel:()=>{E.remove(),C("")},children:n.jsx("div",{className:"flex h-full justify-between",children:n.jsxs("div",{className:"grow",children:[u&&n.jsx(Pk,{installedTheme:P,isInstalling:x,selectedTheme:u,onBack:()=>{p(null)},onClose:()=>{C("")},onInstall:I}),n.jsx(zk,{currentTab:s,modal:E,previewMode:w,selectedTheme:u,setCurrentTab:i,setPreviewMode:m,setSelectedTheme:p,themes:j}),!u&&n.jsx(Uk,{currentTab:s,themes:j,onSelectTheme:O})]})})})},Bk=({children:t,to:a,classNames:s})=>{const i=a||document.body;if(!i)return n.jsx(n.Fragment,{children:t});const u=p=>{p.stopPropagation()};return Yv.createPortal(n.jsx("div",{className:s,onMouseDown:u,children:n.jsx("div",{children:t})}),i)};var Wk=class{columnCount;columns=[];columnHeights;constructor(t=3){this.columnCount=t,this.columns=[[]],this.columnHeights=null}reset(){let t=[],a=[];for(let s=0;s<this.columnCount;s+=1)t[s]=[],a[s]=0;this.columns=t,this.columnHeights=a}addColumns(){for(let t=0;t<this.columnCount;t++)this.columns.push([]),this.columnHeights.push(0)}addPhotoToColumns(t){this.columns||this.reset();let a=Math.min(...this.columnHeights),s=this.columnHeights.indexOf(a);this.columnHeights[s]+=300*t.ratio,this.columns[s].push(t)}getColumns(){return this.columns}changeColumnCount(t){t!==this.columnCount&&(this.columnCount=t,this.reset())}},Yk={heart:t=>n.jsx("svg",{viewBox:"0 0 32 32",...t,children:n.jsx("path",{d:"M17.4 29c-.8.8-2 .8-2.8 0L2.3 16.2C-.8 13.1-.8 8 2.3 4.8c3.1-3.1 8.2-3.1 11.3 0L16 7.6l2.3-2.8c3.1-3.1 8.2-3.1 11.3 0 3.1 3.1 3.1 8.2 0 11.4L17.4 29z"})}),download:t=>n.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",...t,children:n.jsx("path",{d:"M20 5.5l-8 8-8-8m-3.5 13h23",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:10,fill:"none"})})},Wc=({icon:t,label:a,...s})=>{let i=null;return t&&(i=Yk[t]),n.jsxs("a",{className:"text-grey-700 flex h-8 shrink-0 cursor-pointer items-center rounded-md bg-white px-3 py-2 font-sans text-sm font-medium leading-6 opacity-90 transition-all ease-in-out hover:opacity-100",onClick:u=>u.stopPropagation(),...s,children:[t&&i&&n.jsx(i,{className:`size-4 ${t==="heart"?"fill-red":""} stroke-[3px] ${a&&"mr-1"}`}),a&&n.jsx("span",{children:a})]})},Dm=({payload:t,srcUrl:a,links:s,likes:i,user:u,alt:p,urls:w,height:m,width:x,zoomed:g,insertImage:h,selectImg:b})=>{let y=v=>{v.stopPropagation(),b(g?null:t)};return n.jsxs("div",{className:`relative mb-6 block ${g?"h-full w-[max-content] cursor-zoom-out":"w-full cursor-zoom-in"}`,style:{backgroundColor:t.color||"transparent"},"data-kg-unsplash-gallery-item":!0,onClick:y,children:[n.jsx("img",{alt:p,className:`${g?"h-full w-auto object-contain":"block h-auto"}`,height:m,loading:"lazy",src:a,width:x,"data-kg-unsplash-gallery-img":!0}),n.jsxs("div",{className:"absolute inset-0 flex flex-col justify-between bg-gradient-to-b from-black/5 via-black/5 to-black/30 p-5 opacity-0 transition-all ease-in-out hover:opacity-100",children:[n.jsxs("div",{className:"flex items-center justify-end gap-3",children:[n.jsx(Wc,{"data-kg-button":"unsplash-like",href:`${s.html}/?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit`,icon:"heart",label:i.toString(),rel:"noopener noreferrer",target:"_blank"}),n.jsx(Wc,{"data-kg-button":"unsplash-download",href:`${s.download}/?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit&amp;force=true`,icon:"download"})]}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center",children:[n.jsx("img",{alt:"author",className:"mr-2 size-8 rounded-full",src:u.profile_image.medium}),n.jsx("div",{className:"mr-2 truncate font-sans text-sm font-medium text-white",children:u.name})]}),n.jsx(Wc,{label:"Insert image","data-kg-unsplash-insert-button":!0,onClick:v=>{v.stopPropagation(),h({src:w.regular.replace(/&w=1080/,"&w=2000"),caption:`<span>Photo by <a href="${u.links.html}">${u.name}</a> / <a href="https://unsplash.com/?utm_source=ghost&utm_medium=referral&utm_campaign=api-credit">Unsplash</a></span>`,height:m,width:x,alt:p,links:s})}})]})]})]})},qk=({payload:t,insertImage:a,selectImg:s,zoomed:i})=>n.jsx("div",{className:"flex h-full grow basis-0 justify-center","data-kg-unsplash-zoomed":!0,onClick:()=>s(null),children:n.jsx(Dm,{alt:t.alt_description,height:t.height,insertImage:a,likes:t.likes,links:t.links,payload:t,selectImg:s,srcUrl:t.urls.regular,urls:t.urls,user:t.user,width:t.width,zoomed:i})}),Gk=()=>n.jsx("div",{className:"absolute inset-y-0 left-0 flex w-full items-center justify-center overflow-hidden pb-[8vh]","data-kg-loader":!0,children:n.jsx("div",{className:"animate-spin before:bg-grey-800 relative inline-block size-[50px] rounded-full border border-black/10 before:z-10 before:mt-[7px] before:block before:size-[7px] before:rounded-full"})}),Xk=t=>n.jsx("div",{className:"mr-6 flex grow basis-0 flex-col justify-start last-of-type:mr-0",children:t.children}),Kk=t=>t?.columns?t?.columns.map((a,s)=>n.jsx(Xk,{children:a.map(i=>n.jsx(Dm,{alt:i.alt_description,height:i.height,insertImage:t?.insertImage,likes:i.likes,links:i.links,payload:i,selectImg:t?.selectImg,srcUrl:i.urls.regular,urls:i.urls,user:i.user,width:i.width,zoomed:t?.zoomed||null},i.id))},a[0]?.id??`empty-${s}`)):null,Yc=t=>n.jsx("div",{className:"relative h-full overflow-hidden","data-kg-unsplash-gallery":!0,children:n.jsxs("div",{ref:t.galleryRef,className:`flex size-full justify-center overflow-auto px-20 ${t?.zoomed?"pb-10":""}`,"data-kg-unsplash-gallery-scrollref":!0,children:[t.children,t?.isLoading&&n.jsx(Gk,{})]})}),Zk=({zoomed:t,error:a,galleryRef:s,isLoading:i,dataset:u,selectImg:p,insertImage:w})=>t?n.jsx(Yc,{galleryRef:s,zoomed:t,children:n.jsx(qk,{alt:t.alt_description,height:t.height,insertImage:w,likes:t.likes,links:t.links,payload:t,selectImg:p,srcUrl:t.urls.regular,urls:t.urls,user:t.user,width:t.width,zoomed:t})}):a?n.jsx(Yc,{galleryRef:s,zoomed:t,children:n.jsxs("div",{className:"flex h-full flex-col items-center justify-center",children:[n.jsx("h1",{className:"mb-4 text-2xl font-bold",children:"Error"}),n.jsx("p",{className:"text-lg font-medium",children:a})]})}):n.jsx(Yc,{galleryRef:s,isLoading:i,zoomed:t,children:n.jsx(Kk,{columns:u,insertImage:w,selectImg:p,zoomed:t})}),Vk=t=>n.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",strokeWidth:1.5,viewBox:"0 0 24 24",...t,children:n.jsx("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",d:"M.75 23.249l22.5-22.5M23.25 23.249L.75.749"})}),Qk=t=>n.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",strokeWidth:1.5,viewBox:"0 0 24 24",...t,children:n.jsx("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",d:"M1.472 13.357a9.063 9.063 0 1 0 16.682-7.09 9.063 9.063 0 1 0-16.682 7.09Zm14.749 2.863 7.029 7.03"})}),Jk=t=>n.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 122.43 122.41",...t,children:n.jsx("path",{d:"M83.86 54.15v34.13H38.57V54.15H0v68.26h122.43V54.15H83.86zM38.57 0h45.3v34.13h-45.3z"})}),e2=({closeModal:t,handleSearch:a,children:s})=>n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"fixed inset-0 z-40 h-[100vh] bg-black opacity-60"}),n.jsxs("div",{className:"not-kg-prose fixed inset-8 z-50 overflow-hidden rounded bg-white shadow-xl","data-kg-modal":"unsplash",children:[n.jsx("button",{className:"absolute right-6 top-6 cursor-pointer",type:"button",children:n.jsx(Vk,{className:"text-grey-400 size-4 stroke-2","data-kg-modal-close-button":!0,onClick:()=>t()})}),n.jsxs("div",{className:"flex h-full flex-col",children:[n.jsxs("header",{className:"flex shrink-0 items-center justify-between px-20 py-10",children:[n.jsxs("h1",{className:"flex items-center gap-2 font-sans text-3xl font-bold text-black",children:[n.jsx(Jk,{className:"mb-1"}),"Unsplash"]}),n.jsxs("div",{className:"relative w-full max-w-sm",children:[n.jsx(Qk,{className:"text-grey-700 absolute left-4 top-1/2 size-4 -translate-y-2"}),n.jsx("input",{className:"border-grey-300 focus:border-grey-400 h-10 w-full rounded-full border border-solid pl-10 pr-8 font-sans text-md font-normal text-black focus-visible:outline-none",placeholder:"Search free high-resolution photos",autoFocus:!0,"data-kg-unsplash-search":!0,onChange:a})]})]}),s]})]})]}),t2=JSON.parse(`[{"id":"TA5hw14Coh4","slug":"a-person-standing-on-a-sand-dune-in-the-desert-TA5hw14Coh4","alternative_slugs":{"en":"a-person-standing-on-a-sand-dune-in-the-desert-TA5hw14Coh4"},"created_at":"2024-02-07T22:39:36Z","updated_at":"2024-03-07T23:46:14Z","promoted_at":null,"width":8640,"height":5760,"color":"#8c5940","blur_hash":"LKD]brE2IUr?Lgwci_NaDjR*ofoe","description":"NEOM will be home to one of the world’s largest nature reserves: a 25,000 sq km stretch of wilderness, encompassing two deserts divided by a mountain range. | NEOM, Saudi Arabia","alt_description":"a person standing on a sand dune in the desert","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1707345512638-997d31a10eaa?ixid=M3wxMTc3M3wxfDF8YWxsfDF8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1707345512638-997d31a10eaa?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDF8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1707345512638-997d31a10eaa?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDF8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1707345512638-997d31a10eaa?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDF8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1707345512638-997d31a10eaa?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDF8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1707345512638-997d31a10eaa"},"links":{"self":"https://api.unsplash.com/photos/a-person-standing-on-a-sand-dune-in-the-desert-TA5hw14Coh4","html":"https://unsplash.com/photos/a-person-standing-on-a-sand-dune-in-the-desert-TA5hw14Coh4","download":"https://unsplash.com/photos/TA5hw14Coh4/download?ixid=M3wxMTc3M3wxfDF8YWxsfDF8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/TA5hw14Coh4/download?ixid=M3wxMTc3M3wxfDF8YWxsfDF8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":226,"liked_by_user":false,"current_user_collections":[],"sponsorship":{"impression_urls":[],"tagline":"Made to Change","tagline_url":"https://www.neom.com/en-us?utm_source=unsplash&utm_medium=referral","sponsor":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},"topic_submissions":{},"user":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},{"id":"UArA9A02Kvk","slug":"a-black-and-white-photo-of-a-man-with-his-head-in-his-hands-UArA9A02Kvk","alternative_slugs":{"en":"a-black-and-white-photo-of-a-man-with-his-head-in-his-hands-UArA9A02Kvk"},"created_at":"2024-03-05T15:48:31Z","updated_at":"2024-03-11T06:59:25Z","promoted_at":"2024-03-11T06:59:25Z","width":2160,"height":2700,"color":"#262626","blur_hash":"L78;S$~p00oLD%D%IVay9F9ZIUay","description":null,"alt_description":"a black and white photo of a man with his head in his hands","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709653688483-fc2b356c1f36?ixid=M3wxMTc3M3wwfDF8YWxsfDJ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709653688483-fc2b356c1f36?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDJ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709653688483-fc2b356c1f36?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDJ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709653688483-fc2b356c1f36?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDJ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709653688483-fc2b356c1f36?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDJ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709653688483-fc2b356c1f36"},"links":{"self":"https://api.unsplash.com/photos/a-black-and-white-photo-of-a-man-with-his-head-in-his-hands-UArA9A02Kvk","html":"https://unsplash.com/photos/a-black-and-white-photo-of-a-man-with-his-head-in-his-hands-UArA9A02Kvk","download":"https://unsplash.com/photos/UArA9A02Kvk/download?ixid=M3wxMTc3M3wwfDF8YWxsfDJ8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/UArA9A02Kvk/download?ixid=M3wxMTc3M3wwfDF8YWxsfDJ8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":20,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"gwWL9kMcm2g","updated_at":"2024-03-11T10:14:07Z","username":"nickandreka","name":"Nick Andréka","first_name":"Nick","last_name":"Andréka","twitter_username":null,"portfolio_url":null,"bio":null,"location":null,"links":{"self":"https://api.unsplash.com/users/nickandreka","html":"https://unsplash.com/@nickandreka","photos":"https://api.unsplash.com/users/nickandreka/photos","likes":"https://api.unsplash.com/users/nickandreka/likes","portfolio":"https://api.unsplash.com/users/nickandreka/portfolio","following":"https://api.unsplash.com/users/nickandreka/following","followers":"https://api.unsplash.com/users/nickandreka/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1698854198608-989031a5ccdeimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1698854198608-989031a5ccdeimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1698854198608-989031a5ccdeimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"andreka.art","total_collections":0,"total_likes":8,"total_photos":35,"total_promoted_photos":19,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"andreka.art","portfolio_url":null,"twitter_username":null,"paypal_email":null}}},{"id":"QX_7m4Lh2qg","slug":"a-black-and-white-photo-of-a-lighthouse-QX_7m4Lh2qg","alternative_slugs":{"en":"a-black-and-white-photo-of-a-lighthouse-QX_7m4Lh2qg"},"created_at":"2024-03-10T16:46:33Z","updated_at":"2024-03-11T06:59:11Z","promoted_at":"2024-03-11T06:59:11Z","width":4000,"height":5751,"color":"#f3f3f3","blur_hash":"LAQJiu~X-;9G-:?cIURj~qD%00xt","description":null,"alt_description":"a black and white photo of a lighthouse","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710088912041-34d1767d376a?ixid=M3wxMTc3M3wwfDF8YWxsfDN8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710088912041-34d1767d376a?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDN8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710088912041-34d1767d376a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDN8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710088912041-34d1767d376a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDN8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710088912041-34d1767d376a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDN8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710088912041-34d1767d376a"},"links":{"self":"https://api.unsplash.com/photos/a-black-and-white-photo-of-a-lighthouse-QX_7m4Lh2qg","html":"https://unsplash.com/photos/a-black-and-white-photo-of-a-lighthouse-QX_7m4Lh2qg","download":"https://unsplash.com/photos/QX_7m4Lh2qg/download?ixid=M3wxMTc3M3wwfDF8YWxsfDN8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/QX_7m4Lh2qg/download?ixid=M3wxMTc3M3wwfDF8YWxsfDN8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":21,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"ue6QWAAHoIQ","updated_at":"2024-03-11T08:53:54Z","username":"huzhewseh","name":"Volodymyr M","first_name":"Volodymyr","last_name":"M","twitter_username":"huzhewseh","portfolio_url":null,"bio":null,"location":null,"links":{"self":"https://api.unsplash.com/users/huzhewseh","html":"https://unsplash.com/@huzhewseh","photos":"https://api.unsplash.com/users/huzhewseh/photos","likes":"https://api.unsplash.com/users/huzhewseh/likes","portfolio":"https://api.unsplash.com/users/huzhewseh/portfolio","following":"https://api.unsplash.com/users/huzhewseh/following","followers":"https://api.unsplash.com/users/huzhewseh/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1663221970918-58b1620c49c9image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1663221970918-58b1620c49c9image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1663221970918-58b1620c49c9image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"huzhewseh","total_collections":0,"total_likes":0,"total_photos":18,"total_promoted_photos":3,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"huzhewseh","portfolio_url":null,"twitter_username":"huzhewseh","paypal_email":null}}},{"id":"fMNP7XVcct0","slug":"a-woman-standing-in-a-dark-room-with-her-eyes-closed-fMNP7XVcct0","alternative_slugs":{"en":"a-woman-standing-in-a-dark-room-with-her-eyes-closed-fMNP7XVcct0"},"created_at":"2024-03-09T08:40:07Z","updated_at":"2024-03-11T06:58:58Z","promoted_at":"2024-03-11T06:58:58Z","width":3264,"height":4928,"color":"#262626","blur_hash":"L35hY|xu00D%-;xuIUD%00j[?bWB","description":null,"alt_description":"a woman standing in a dark room with her eyes closed","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709973540503-77d699279634?ixid=M3wxMTc3M3wwfDF8YWxsfDR8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709973540503-77d699279634?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDR8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709973540503-77d699279634?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDR8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709973540503-77d699279634?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDR8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709973540503-77d699279634?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDR8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709973540503-77d699279634"},"links":{"self":"https://api.unsplash.com/photos/a-woman-standing-in-a-dark-room-with-her-eyes-closed-fMNP7XVcct0","html":"https://unsplash.com/photos/a-woman-standing-in-a-dark-room-with-her-eyes-closed-fMNP7XVcct0","download":"https://unsplash.com/photos/fMNP7XVcct0/download?ixid=M3wxMTc3M3wwfDF8YWxsfDR8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/fMNP7XVcct0/download?ixid=M3wxMTc3M3wwfDF8YWxsfDR8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":7,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"lSlibqdw_c8","updated_at":"2024-03-11T08:54:13Z","username":"vitaliyshev89","name":"Vitaliy Shevchenko","first_name":"Vitaliy","last_name":"Shevchenko","twitter_username":null,"portfolio_url":null,"bio":null,"location":"Kharkiv, Ukraine","links":{"self":"https://api.unsplash.com/users/vitaliyshev89","html":"https://unsplash.com/@vitaliyshev89","photos":"https://api.unsplash.com/users/vitaliyshev89/photos","likes":"https://api.unsplash.com/users/vitaliyshev89/likes","portfolio":"https://api.unsplash.com/users/vitaliyshev89/portfolio","following":"https://api.unsplash.com/users/vitaliyshev89/following","followers":"https://api.unsplash.com/users/vitaliyshev89/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1652271342920-31eebbc2c3d0image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1652271342920-31eebbc2c3d0image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1652271342920-31eebbc2c3d0image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":null,"total_collections":0,"total_likes":1,"total_photos":205,"total_promoted_photos":29,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":null,"portfolio_url":null,"twitter_username":null,"paypal_email":null}}},{"id":"b4kKyX0BQvc","slug":"a-train-station-with-a-train-on-the-tracks-b4kKyX0BQvc","alternative_slugs":{"en":"a-train-station-with-a-train-on-the-tracks-b4kKyX0BQvc"},"created_at":"2024-03-08T21:58:28Z","updated_at":"2024-03-11T06:57:35Z","promoted_at":"2024-03-11T06:57:27Z","width":6000,"height":4000,"color":"#0c2626","blur_hash":"LSDJS6kD9Zxu~qkDM|xaS%j]xaV@","description":"Stunning metro train station \\"Elbbrücken\\" in Hamburg, Germany during sunset","alt_description":"a train station with a train on the tracks","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709934645859-f1ed8d3a4954?ixid=M3wxMTc3M3wwfDF8YWxsfDV8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709934645859-f1ed8d3a4954?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDV8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709934645859-f1ed8d3a4954?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDV8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709934645859-f1ed8d3a4954?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDV8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709934645859-f1ed8d3a4954?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDV8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709934645859-f1ed8d3a4954"},"links":{"self":"https://api.unsplash.com/photos/a-train-station-with-a-train-on-the-tracks-b4kKyX0BQvc","html":"https://unsplash.com/photos/a-train-station-with-a-train-on-the-tracks-b4kKyX0BQvc","download":"https://unsplash.com/photos/b4kKyX0BQvc/download?ixid=M3wxMTc3M3wwfDF8YWxsfDV8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/b4kKyX0BQvc/download?ixid=M3wxMTc3M3wwfDF8YWxsfDV8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":8,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"street-photography":{"status":"approved","approved_on":"2024-03-11T06:57:35Z"}},"user":{"id":"TffftDPlBPk","updated_at":"2024-03-11T06:59:04Z","username":"christianlue","name":"Christian Lue","first_name":"Christian","last_name":"Lue","twitter_username":"chrrischii","portfolio_url":null,"bio":null,"location":"Frankfurt / Berlin","links":{"self":"https://api.unsplash.com/users/christianlue","html":"https://unsplash.com/@christianlue","photos":"https://api.unsplash.com/users/christianlue/photos","likes":"https://api.unsplash.com/users/christianlue/likes","portfolio":"https://api.unsplash.com/users/christianlue/portfolio","following":"https://api.unsplash.com/users/christianlue/following","followers":"https://api.unsplash.com/users/christianlue/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1581889127238-ea4aa40e8cb4image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1581889127238-ea4aa40e8cb4image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1581889127238-ea4aa40e8cb4image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":null,"total_collections":7,"total_likes":15,"total_photos":571,"total_promoted_photos":103,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":null,"portfolio_url":null,"twitter_username":"chrrischii","paypal_email":null}}},{"id":"9633dHhioC8","slug":"a-person-walking-through-a-canyon-in-the-desert-9633dHhioC8","alternative_slugs":{"en":"a-person-walking-through-a-canyon-in-the-desert-9633dHhioC8"},"created_at":"2023-04-28T15:30:26Z","updated_at":"2024-03-10T10:46:58Z","promoted_at":"2023-05-13T12:02:35Z","width":8316,"height":5544,"color":"#734026","blur_hash":"LVHdd89G57-o.9IBsSR-~pD*M{xt","description":"Amongst expansive red sands and spectacular sandstone rock formations, Hisma Desert – NEOM, Saudi Arabia | The NEOM Nature Reserve region is being designed to deliver protection and restoration of biodiversity across 95% of NEOM.","alt_description":"a person walking through a canyon in the desert","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1682695795255-b236b1f1267d?ixid=M3wxMTc3M3wxfDF8YWxsfDZ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1682695795255-b236b1f1267d?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDZ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1682695795255-b236b1f1267d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDZ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1682695795255-b236b1f1267d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDZ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1682695795255-b236b1f1267d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDZ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1682695795255-b236b1f1267d"},"links":{"self":"https://api.unsplash.com/photos/a-person-walking-through-a-canyon-in-the-desert-9633dHhioC8","html":"https://unsplash.com/photos/a-person-walking-through-a-canyon-in-the-desert-9633dHhioC8","download":"https://unsplash.com/photos/9633dHhioC8/download?ixid=M3wxMTc3M3wxfDF8YWxsfDZ8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/9633dHhioC8/download?ixid=M3wxMTc3M3wxfDF8YWxsfDZ8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":631,"liked_by_user":false,"current_user_collections":[],"sponsorship":{"impression_urls":["https://secure.insightexpressai.com/adServer/adServerESI.aspx?script=false&bannerID=11515595&rnd=[timestamp]&redir=https://secure.insightexpressai.com/adserver/1pixel.gif","https://secure.insightexpressai.com/adServer/adServerESI.aspx?script=false&bannerID=11515798&rnd=[timestamp]&redir=https://secure.insightexpressai.com/adserver/1pixel.gif"],"tagline":"Made to Change","tagline_url":"https://www.neom.com/en-us?utm_source=unsplash&utm_medium=referral","sponsor":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},"topic_submissions":{},"user":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},{"id":"4PmYYBFhwFM","slug":"a-close-up-of-a-car-door-with-the-word-budder-on-it-4PmYYBFhwFM","alternative_slugs":{"en":"a-close-up-of-a-car-door-with-the-word-budder-on-it-4PmYYBFhwFM"},"created_at":"2024-03-09T18:40:37Z","updated_at":"2024-03-11T06:57:23Z","promoted_at":"2024-03-11T06:57:23Z","width":5248,"height":7872,"color":"#a6a6a6","blur_hash":"LHDA40%MbGxu%L?bt7of_N%gIBRj","description":null,"alt_description":"a close up of a car door with the word budder on it","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710009439657-c0dfdc051a28?ixid=M3wxMTc3M3wwfDF8YWxsfDd8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710009439657-c0dfdc051a28?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDd8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710009439657-c0dfdc051a28?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDd8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710009439657-c0dfdc051a28?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDd8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710009439657-c0dfdc051a28?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDd8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710009439657-c0dfdc051a28"},"links":{"self":"https://api.unsplash.com/photos/a-close-up-of-a-car-door-with-the-word-budder-on-it-4PmYYBFhwFM","html":"https://unsplash.com/photos/a-close-up-of-a-car-door-with-the-word-budder-on-it-4PmYYBFhwFM","download":"https://unsplash.com/photos/4PmYYBFhwFM/download?ixid=M3wxMTc3M3wwfDF8YWxsfDd8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/4PmYYBFhwFM/download?ixid=M3wxMTc3M3wwfDF8YWxsfDd8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":5,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"Xz7_QPPM2So","updated_at":"2024-03-11T08:27:09Z","username":"tiago_f_ferreira","name":"Tiago Ferreira","first_name":"Tiago","last_name":"Ferreira","twitter_username":null,"portfolio_url":"https://tiagoferreira765.wixsite.com/photographyandmusic","bio":"Photography - a hobby, a passion.\\r\\nPlanet earth 🌎, a creative space to enjoy.","location":"Lisboa, Portugal","links":{"self":"https://api.unsplash.com/users/tiago_f_ferreira","html":"https://unsplash.com/@tiago_f_ferreira","photos":"https://api.unsplash.com/users/tiago_f_ferreira/photos","likes":"https://api.unsplash.com/users/tiago_f_ferreira/likes","portfolio":"https://api.unsplash.com/users/tiago_f_ferreira/portfolio","following":"https://api.unsplash.com/users/tiago_f_ferreira/following","followers":"https://api.unsplash.com/users/tiago_f_ferreira/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1595844391672-cdf854039843image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1595844391672-cdf854039843image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1595844391672-cdf854039843image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"tiago_f_ferreira","total_collections":1,"total_likes":144,"total_photos":205,"total_promoted_photos":8,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"tiago_f_ferreira","portfolio_url":"https://tiagoferreira765.wixsite.com/photographyandmusic","twitter_username":null,"paypal_email":null}}},{"id":"BUhVFtY-890","slug":"a-close-up-of-a-bird-with-a-red-head-BUhVFtY-890","alternative_slugs":{"en":"a-close-up-of-a-bird-with-a-red-head-BUhVFtY-890"},"created_at":"2024-03-09T10:03:28Z","updated_at":"2024-03-11T06:57:20Z","promoted_at":"2024-03-11T06:57:20Z","width":3511,"height":2231,"color":"#262626","blur_hash":"L24epEWB0eMx$*t8OEV@RPj]baay","description":null,"alt_description":"a close up of a bird with a red head","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709978601970-036e92662b46?ixid=M3wxMTc3M3wwfDF8YWxsfDh8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709978601970-036e92662b46?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDh8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709978601970-036e92662b46?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDh8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709978601970-036e92662b46?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDh8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709978601970-036e92662b46?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDh8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709978601970-036e92662b46"},"links":{"self":"https://api.unsplash.com/photos/a-close-up-of-a-bird-with-a-red-head-BUhVFtY-890","html":"https://unsplash.com/photos/a-close-up-of-a-bird-with-a-red-head-BUhVFtY-890","download":"https://unsplash.com/photos/BUhVFtY-890/download?ixid=M3wxMTc3M3wwfDF8YWxsfDh8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/BUhVFtY-890/download?ixid=M3wxMTc3M3wwfDF8YWxsfDh8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":8,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"textures-patterns":{"status":"rejected"},"spring":{"status":"rejected"},"earth-hour":{"status":"approved","approved_on":"2024-03-10T12:31:10Z"},"health":{"status":"unevaluated"},"animals":{"status":"unevaluated"},"film":{"status":"unevaluated"},"travel":{"status":"unevaluated"},"nature":{"status":"unevaluated"},"wallpapers":{"status":"unevaluated"}},"user":{"id":"3SCC0WcF-wA","updated_at":"2024-03-11T09:44:02Z","username":"refargotohp","name":"refargotohp","first_name":"refargotohp","last_name":null,"twitter_username":null,"portfolio_url":null,"bio":"Hello 👋🏼 My name is Pavel, and I am a photographer. I enjoy the photo in any of its manifestations. Sequential shooting, street, studio, portraiture - it's all me. Waiting for you on my social networks - @refargotohp","location":null,"links":{"self":"https://api.unsplash.com/users/refargotohp","html":"https://unsplash.com/@refargotohp","photos":"https://api.unsplash.com/users/refargotohp/photos","likes":"https://api.unsplash.com/users/refargotohp/likes","portfolio":"https://api.unsplash.com/users/refargotohp/portfolio","following":"https://api.unsplash.com/users/refargotohp/following","followers":"https://api.unsplash.com/users/refargotohp/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1653036388874-dab6bdb375bcimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1653036388874-dab6bdb375bcimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1653036388874-dab6bdb375bcimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"refargotohp","total_collections":1,"total_likes":86,"total_photos":132,"total_promoted_photos":61,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"refargotohp","portfolio_url":null,"twitter_username":null,"paypal_email":null}}},{"id":"99clkpyauJI","slug":"there-are-bottles-of-beer-on-a-shelf-in-front-of-a-window-99clkpyauJI","alternative_slugs":{"en":"there-are-bottles-of-beer-on-a-shelf-in-front-of-a-window-99clkpyauJI"},"created_at":"2024-03-10T00:15:28Z","updated_at":"2024-03-11T06:56:32Z","promoted_at":"2024-03-11T06:56:32Z","width":4299,"height":3448,"color":"#f3f3f3","blur_hash":"LjJuGn?bM{xu~qoKRPM{9FM{t6M_","description":null,"alt_description":"there are bottles of beer on a shelf in front of a window","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710029721414-9e2125e155c3?ixid=M3wxMTc3M3wwfDF8YWxsfDl8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710029721414-9e2125e155c3?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDl8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710029721414-9e2125e155c3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDl8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710029721414-9e2125e155c3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDl8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710029721414-9e2125e155c3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDl8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710029721414-9e2125e155c3"},"links":{"self":"https://api.unsplash.com/photos/there-are-bottles-of-beer-on-a-shelf-in-front-of-a-window-99clkpyauJI","html":"https://unsplash.com/photos/there-are-bottles-of-beer-on-a-shelf-in-front-of-a-window-99clkpyauJI","download":"https://unsplash.com/photos/99clkpyauJI/download?ixid=M3wxMTc3M3wwfDF8YWxsfDl8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/99clkpyauJI/download?ixid=M3wxMTc3M3wwfDF8YWxsfDl8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":2,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"film":{"status":"approved","approved_on":"2024-03-10T16:39:06Z"}},"user":{"id":"TPCcwPbQzmY","updated_at":"2024-03-11T06:59:01Z","username":"suzm4film","name":"szm 4","first_name":"szm","last_name":"4","twitter_username":null,"portfolio_url":null,"bio":null,"location":"Japan","links":{"self":"https://api.unsplash.com/users/suzm4film","html":"https://unsplash.com/@suzm4film","photos":"https://api.unsplash.com/users/suzm4film/photos","likes":"https://api.unsplash.com/users/suzm4film/likes","portfolio":"https://api.unsplash.com/users/suzm4film/portfolio","following":"https://api.unsplash.com/users/suzm4film/following","followers":"https://api.unsplash.com/users/suzm4film/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1632890829763-5c518f873dee?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1632890829763-5c518f873dee?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1632890829763-5c518f873dee?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":null,"total_collections":0,"total_likes":0,"total_photos":189,"total_promoted_photos":19,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":null,"portfolio_url":null,"twitter_username":null,"paypal_email":null}}},{"id":"Lbt-cZyOUM4","slug":"an-old-fashioned-typewriter-sitting-on-a-table-in-front-of-a-window-Lbt-cZyOUM4","alternative_slugs":{"en":"an-old-fashioned-typewriter-sitting-on-a-table-in-front-of-a-window-Lbt-cZyOUM4"},"created_at":"2024-03-09T16:58:57Z","updated_at":"2024-03-11T06:57:06Z","promoted_at":"2024-03-11T06:55:38Z","width":5783,"height":3848,"color":"#0c2626","blur_hash":"LkG[.y01Ri-:?bM{RjofM{xuRkWB","description":null,"alt_description":"an old fashioned typewriter sitting on a table in front of a window","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710003364549-de37d4ed3413?ixid=M3wxMTc3M3wwfDF8YWxsfDEwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710003364549-de37d4ed3413?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710003364549-de37d4ed3413?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710003364549-de37d4ed3413?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710003364549-de37d4ed3413?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710003364549-de37d4ed3413"},"links":{"self":"https://api.unsplash.com/photos/an-old-fashioned-typewriter-sitting-on-a-table-in-front-of-a-window-Lbt-cZyOUM4","html":"https://unsplash.com/photos/an-old-fashioned-typewriter-sitting-on-a-table-in-front-of-a-window-Lbt-cZyOUM4","download":"https://unsplash.com/photos/Lbt-cZyOUM4/download?ixid=M3wxMTc3M3wwfDF8YWxsfDEwfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/Lbt-cZyOUM4/download?ixid=M3wxMTc3M3wwfDF8YWxsfDEwfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":3,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"8D4VFtkiIuw","updated_at":"2024-03-11T07:28:57Z","username":"tama66","name":"Peter Herrmann","first_name":"Peter","last_name":"Herrmann","twitter_username":null,"portfolio_url":null,"bio":"Everything... but not boring! Instagram@Tiefstapler66","location":"Leverkusen/Germany","links":{"self":"https://api.unsplash.com/users/tama66","html":"https://unsplash.com/@tama66","photos":"https://api.unsplash.com/users/tama66/photos","likes":"https://api.unsplash.com/users/tama66/likes","portfolio":"https://api.unsplash.com/users/tama66/portfolio","following":"https://api.unsplash.com/users/tama66/following","followers":"https://api.unsplash.com/users/tama66/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1611475141936-383e23c6cc6dimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1611475141936-383e23c6cc6dimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1611475141936-383e23c6cc6dimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"tiefstapler66","total_collections":1,"total_likes":149,"total_photos":363,"total_promoted_photos":152,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"tiefstapler66","portfolio_url":null,"twitter_username":null,"paypal_email":null}}},{"id":"D1jr0Mevs-c","slug":"an-aerial-view-of-a-body-of-water-D1jr0Mevs-c","alternative_slugs":{"en":"an-aerial-view-of-a-body-of-water-D1jr0Mevs-c"},"created_at":"2024-02-07T22:34:15Z","updated_at":"2024-03-10T10:54:36Z","promoted_at":null,"width":5280,"height":2970,"color":"#0c2626","blur_hash":"LH9[JL0i+HM{^}Ezw#R.b@n$nhbb","description":"The Islands of NEOM are home to kaleidoscopic-coloured coral reefs and an abundance of diverse marine life | Islands of NEOM – NEOM, Saudi Arabia","alt_description":"an aerial view of a body of water","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1707343843982-f8275f3994c5?ixid=M3wxMTc3M3wxfDF8YWxsfDExfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1707343843982-f8275f3994c5?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDExfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1707343843982-f8275f3994c5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDExfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1707343843982-f8275f3994c5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDExfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1707343843982-f8275f3994c5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDExfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1707343843982-f8275f3994c5"},"links":{"self":"https://api.unsplash.com/photos/an-aerial-view-of-a-body-of-water-D1jr0Mevs-c","html":"https://unsplash.com/photos/an-aerial-view-of-a-body-of-water-D1jr0Mevs-c","download":"https://unsplash.com/photos/D1jr0Mevs-c/download?ixid=M3wxMTc3M3wxfDF8YWxsfDExfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/D1jr0Mevs-c/download?ixid=M3wxMTc3M3wxfDF8YWxsfDExfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":308,"liked_by_user":false,"current_user_collections":[],"sponsorship":{"impression_urls":[],"tagline":"Made to Change","tagline_url":"https://www.neom.com/en-us?utm_source=unsplash&utm_medium=referral","sponsor":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},"topic_submissions":{},"user":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},{"id":"0RBEUjWQBBA","slug":"a-woman-standing-under-a-cherry-blossom-tree-0RBEUjWQBBA","alternative_slugs":{"en":"a-woman-standing-under-a-cherry-blossom-tree-0RBEUjWQBBA"},"created_at":"2024-03-10T10:15:48Z","updated_at":"2024-03-11T06:55:22Z","promoted_at":"2024-03-11T06:55:22Z","width":4672,"height":7008,"color":"#262626","blur_hash":"LOG8o{t7WBWB~DofR*j@D%NGR%WB","description":null,"alt_description":"a woman standing under a cherry blossom tree","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710065574765-a685385c6d9a?ixid=M3wxMTc3M3wwfDF8YWxsfDEyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710065574765-a685385c6d9a?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710065574765-a685385c6d9a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710065574765-a685385c6d9a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710065574765-a685385c6d9a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710065574765-a685385c6d9a"},"links":{"self":"https://api.unsplash.com/photos/a-woman-standing-under-a-cherry-blossom-tree-0RBEUjWQBBA","html":"https://unsplash.com/photos/a-woman-standing-under-a-cherry-blossom-tree-0RBEUjWQBBA","download":"https://unsplash.com/photos/0RBEUjWQBBA/download?ixid=M3wxMTc3M3wwfDF8YWxsfDEyfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/0RBEUjWQBBA/download?ixid=M3wxMTc3M3wwfDF8YWxsfDEyfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":11,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"ePlndXHeIiM","updated_at":"2024-03-11T09:04:03Z","username":"lwdzl","name":"Jack Dong","first_name":"Jack","last_name":"Dong","twitter_username":null,"portfolio_url":"https://www.xiaohongshu.com/user/profile/5f11b998000000000101d8d2?xhsshare=CopyLink&appuid=5f11b998000000000101d8d2&apptime=1696562673","bio":null,"location":null,"links":{"self":"https://api.unsplash.com/users/lwdzl","html":"https://unsplash.com/@lwdzl","photos":"https://api.unsplash.com/users/lwdzl/photos","likes":"https://api.unsplash.com/users/lwdzl/likes","portfolio":"https://api.unsplash.com/users/lwdzl/portfolio","following":"https://api.unsplash.com/users/lwdzl/following","followers":"https://api.unsplash.com/users/lwdzl/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1696563144074-80a8da44bcd4?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1696563144074-80a8da44bcd4?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1696563144074-80a8da44bcd4?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":null,"total_collections":0,"total_likes":101,"total_photos":640,"total_promoted_photos":112,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":null,"portfolio_url":"https://www.xiaohongshu.com/user/profile/5f11b998000000000101d8d2?xhsshare=CopyLink&appuid=5f11b998000000000101d8d2&apptime=1696562673","twitter_username":null,"paypal_email":null}}},{"id":"2IGDvJa2Bd0","slug":"a-path-in-the-middle-of-a-foggy-forest-2IGDvJa2Bd0","alternative_slugs":{"en":"a-path-in-the-middle-of-a-foggy-forest-2IGDvJa2Bd0"},"created_at":"2024-02-21T14:32:53Z","updated_at":"2024-03-11T06:54:06Z","promoted_at":"2024-03-11T06:54:06Z","width":4672,"height":5840,"color":"#f3f3f3","blur_hash":"L#Gv00ofD%ay~qoeM_ay%NafWVj[","description":null,"alt_description":"a path in the middle of a foggy forest","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1708525736169-534ee3e24e99?ixid=M3wxMTc3M3wwfDF8YWxsfDEzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1708525736169-534ee3e24e99?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1708525736169-534ee3e24e99?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1708525736169-534ee3e24e99?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1708525736169-534ee3e24e99?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1708525736169-534ee3e24e99"},"links":{"self":"https://api.unsplash.com/photos/a-path-in-the-middle-of-a-foggy-forest-2IGDvJa2Bd0","html":"https://unsplash.com/photos/a-path-in-the-middle-of-a-foggy-forest-2IGDvJa2Bd0","download":"https://unsplash.com/photos/2IGDvJa2Bd0/download?ixid=M3wxMTc3M3wwfDF8YWxsfDEzfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/2IGDvJa2Bd0/download?ixid=M3wxMTc3M3wwfDF8YWxsfDEzfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":11,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"zL5HAN1fnJw","updated_at":"2024-03-11T06:58:57Z","username":"viklukphotography","name":"Viktor Mischke","first_name":"Viktor","last_name":"Mischke","twitter_username":null,"portfolio_url":"https://www.istockphoto.com/de/portfolio/snoviktor","bio":null,"location":"Schloss Holte-Stukenbrock","links":{"self":"https://api.unsplash.com/users/viklukphotography","html":"https://unsplash.com/@viklukphotography","photos":"https://api.unsplash.com/users/viklukphotography/photos","likes":"https://api.unsplash.com/users/viklukphotography/likes","portfolio":"https://api.unsplash.com/users/viklukphotography/portfolio","following":"https://api.unsplash.com/users/viklukphotography/following","followers":"https://api.unsplash.com/users/viklukphotography/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1646051425690-ed09fae6858fimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1646051425690-ed09fae6858fimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1646051425690-ed09fae6858fimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"viktormischke","total_collections":0,"total_likes":141,"total_photos":38,"total_promoted_photos":8,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"viktormischke","portfolio_url":"https://www.istockphoto.com/de/portfolio/snoviktor","twitter_username":null,"paypal_email":null}}},{"id":"PZfeP0uwBpQ","slug":"a-person-with-a-hat-on-their-head-in-a-field-PZfeP0uwBpQ","alternative_slugs":{"en":"a-person-with-a-hat-on-their-head-in-a-field-PZfeP0uwBpQ"},"created_at":"2024-02-24T10:57:49Z","updated_at":"2024-03-11T06:53:56Z","promoted_at":"2024-03-11T06:53:56Z","width":2720,"height":4080,"color":"#404026","blur_hash":"LIB:Tx%K56NGORbYxas:0KRj-poe","description":"A woman wearing a traditional coolie hat kneels in a field of green vegetables, carefully harvesting the crops.","alt_description":"a person with a hat on their head in a field","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1708771641703-0df3d179cec3?ixid=M3wxMTc3M3wwfDF8YWxsfDE0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1708771641703-0df3d179cec3?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1708771641703-0df3d179cec3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1708771641703-0df3d179cec3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1708771641703-0df3d179cec3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1708771641703-0df3d179cec3"},"links":{"self":"https://api.unsplash.com/photos/a-person-with-a-hat-on-their-head-in-a-field-PZfeP0uwBpQ","html":"https://unsplash.com/photos/a-person-with-a-hat-on-their-head-in-a-field-PZfeP0uwBpQ","download":"https://unsplash.com/photos/PZfeP0uwBpQ/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE0fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/PZfeP0uwBpQ/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE0fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":2,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"people":{"status":"rejected"},"experimental":{"status":"rejected"}},"user":{"id":"mWjiXj5vQuQ","updated_at":"2024-03-11T06:58:57Z","username":"chanwei_snap","name":"Chanwei","first_name":"Chanwei","last_name":null,"twitter_username":null,"portfolio_url":null,"bio":"👋 Just a snap-happy amateur sharing my photos with you!\\r\\n📍Instagram: @chanwei.snap\\r\\n","location":"Taipei, Taiwan","links":{"self":"https://api.unsplash.com/users/chanwei_snap","html":"https://unsplash.com/@chanwei_snap","photos":"https://api.unsplash.com/users/chanwei_snap/photos","likes":"https://api.unsplash.com/users/chanwei_snap/likes","portfolio":"https://api.unsplash.com/users/chanwei_snap/portfolio","following":"https://api.unsplash.com/users/chanwei_snap/following","followers":"https://api.unsplash.com/users/chanwei_snap/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1705518610211-a929b876f4d5image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1705518610211-a929b876f4d5image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1705518610211-a929b876f4d5image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"chanwei.snap","total_collections":15,"total_likes":63,"total_photos":150,"total_promoted_photos":2,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"chanwei.snap","portfolio_url":null,"twitter_username":null,"paypal_email":null}}},{"id":"1JwHaWeSK9s","slug":"a-picture-of-some-white-flowers-on-a-white-background-1JwHaWeSK9s","alternative_slugs":{"en":"a-picture-of-some-white-flowers-on-a-white-background-1JwHaWeSK9s"},"created_at":"2024-03-10T11:33:51Z","updated_at":"2024-03-11T06:57:09Z","promoted_at":"2024-03-11T06:53:39Z","width":3586,"height":3917,"color":"#f3f3d9","blur_hash":"LIQ0T^j=_4%M%MxbM{M{_4jZITbH","description":"Title: Christmas eve Artist: Callowhill, James Publisher: L. Prang & Co. Name on Item: JC Date: [ca. 1861–1897] https://www.digitalcommonwealth.org/search/commonwealth:7w62f880r","alt_description":"a picture of some white flowers on a white background","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710069455079-2059d3cefe91?ixid=M3wxMTc3M3wwfDF8YWxsfDE1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710069455079-2059d3cefe91?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710069455079-2059d3cefe91?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710069455079-2059d3cefe91?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710069455079-2059d3cefe91?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710069455079-2059d3cefe91"},"links":{"self":"https://api.unsplash.com/photos/a-picture-of-some-white-flowers-on-a-white-background-1JwHaWeSK9s","html":"https://unsplash.com/photos/a-picture-of-some-white-flowers-on-a-white-background-1JwHaWeSK9s","download":"https://unsplash.com/photos/1JwHaWeSK9s/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE1fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/1JwHaWeSK9s/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE1fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":7,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"piFVWeoWxU8","updated_at":"2024-03-11T07:28:12Z","username":"bostonpubliclibrary","name":"Boston Public Library","first_name":"Boston","last_name":"Public Library","twitter_username":null,"portfolio_url":"https://www.bpl.org/","bio":"Considered a pioneer of public library service in the United States, the Boston Public Library is among the three largest collections in the country and is committed to be ‘Free for All’.","location":"Boston, USA","links":{"self":"https://api.unsplash.com/users/bostonpubliclibrary","html":"https://unsplash.com/@bostonpubliclibrary","photos":"https://api.unsplash.com/users/bostonpubliclibrary/photos","likes":"https://api.unsplash.com/users/bostonpubliclibrary/likes","portfolio":"https://api.unsplash.com/users/bostonpubliclibrary/portfolio","following":"https://api.unsplash.com/users/bostonpubliclibrary/following","followers":"https://api.unsplash.com/users/bostonpubliclibrary/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1579171056760-0293bb679901image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1579171056760-0293bb679901image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1579171056760-0293bb679901image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":null,"total_collections":6,"total_likes":0,"total_photos":510,"total_promoted_photos":62,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":null,"portfolio_url":"https://www.bpl.org/","twitter_username":null,"paypal_email":null}}},{"id":"efzvMAIpfWY","slug":"a-couple-of-people-that-are-standing-in-the-dirt-efzvMAIpfWY","alternative_slugs":{"en":"a-couple-of-people-that-are-standing-in-the-dirt-efzvMAIpfWY"},"created_at":"2023-04-28T12:46:16Z","updated_at":"2024-03-11T09:48:19Z","promoted_at":null,"width":9504,"height":6336,"color":"#c07359","blur_hash":"LELo7xNHxa~Bz:s9S4nO~VbwoLS~","description":"Amongst expansive red sands and spectacular sandstone rock formations, Hisma Desert – NEOM, Saudi Arabia | The NEOM Nature Reserve region is being designed to deliver protection and restoration of biodiversity across 95% of NEOM.","alt_description":"a couple of people that are standing in the dirt","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1682685797742-42c9987a2c34?ixid=M3wxMTc3M3wxfDF8YWxsfDE2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1682685797742-42c9987a2c34?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDE2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1682685797742-42c9987a2c34?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDE2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1682685797742-42c9987a2c34?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDE2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1682685797742-42c9987a2c34?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDE2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1682685797742-42c9987a2c34"},"links":{"self":"https://api.unsplash.com/photos/a-couple-of-people-that-are-standing-in-the-dirt-efzvMAIpfWY","html":"https://unsplash.com/photos/a-couple-of-people-that-are-standing-in-the-dirt-efzvMAIpfWY","download":"https://unsplash.com/photos/efzvMAIpfWY/download?ixid=M3wxMTc3M3wxfDF8YWxsfDE2fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/efzvMAIpfWY/download?ixid=M3wxMTc3M3wxfDF8YWxsfDE2fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":211,"liked_by_user":false,"current_user_collections":[],"sponsorship":{"impression_urls":["https://secure.insightexpressai.com/adServer/adServerESI.aspx?script=false&bannerID=11515544&rnd=[timestamp]&redir=https://secure.insightexpressai.com/adserver/1pixel.gif","https://secure.insightexpressai.com/adServer/adServerESI.aspx?script=false&bannerID=11515747&rnd=[timestamp]&redir=https://secure.insightexpressai.com/adserver/1pixel.gif"],"tagline":"Made to Change","tagline_url":"https://www.neom.com/en-us?utm_source=unsplash&utm_medium=referral","sponsor":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},"topic_submissions":{},"user":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},{"id":"j39-6Uto9QQ","slug":"a-forest-filled-with-lots-of-tall-trees-j39-6Uto9QQ","alternative_slugs":{"en":"a-forest-filled-with-lots-of-tall-trees-j39-6Uto9QQ"},"created_at":"2024-03-09T22:12:40Z","updated_at":"2024-03-11T07:57:13Z","promoted_at":"2024-03-11T06:51:56Z","width":3759,"height":5639,"color":"#26260c","blur_hash":"L79tDG?H4;IURu%MM{RP~oohIoIo","description":null,"alt_description":"a forest filled with lots of tall trees","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710020339360-ce951881b835?ixid=M3wxMTc3M3wwfDF8YWxsfDE3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710020339360-ce951881b835?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710020339360-ce951881b835?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710020339360-ce951881b835?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710020339360-ce951881b835?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710020339360-ce951881b835"},"links":{"self":"https://api.unsplash.com/photos/a-forest-filled-with-lots-of-tall-trees-j39-6Uto9QQ","html":"https://unsplash.com/photos/a-forest-filled-with-lots-of-tall-trees-j39-6Uto9QQ","download":"https://unsplash.com/photos/j39-6Uto9QQ/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE3fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/j39-6Uto9QQ/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE3fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":1,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"MarIhx6ztc0","updated_at":"2024-03-11T06:51:56Z","username":"brice_cooper18","name":"Brice Cooper","first_name":"Brice","last_name":"Cooper","twitter_username":null,"portfolio_url":null,"bio":"Always down for an adventure, capturing those adventures one photo at a time. Never stop exploring!","location":"Florida","links":{"self":"https://api.unsplash.com/users/brice_cooper18","html":"https://unsplash.com/@brice_cooper18","photos":"https://api.unsplash.com/users/brice_cooper18/photos","likes":"https://api.unsplash.com/users/brice_cooper18/likes","portfolio":"https://api.unsplash.com/users/brice_cooper18/portfolio","following":"https://api.unsplash.com/users/brice_cooper18/following","followers":"https://api.unsplash.com/users/brice_cooper18/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1673045276376-91bb892b6e94image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1673045276376-91bb892b6e94image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1673045276376-91bb892b6e94image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"brice_cooper18","total_collections":14,"total_likes":0,"total_photos":1467,"total_promoted_photos":51,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"brice_cooper18","portfolio_url":null,"twitter_username":null,"paypal_email":null}}},{"id":"oTE1p2Awp3I","slug":"a-couple-of-people-standing-on-top-of-a-cliff-next-to-the-ocean-oTE1p2Awp3I","alternative_slugs":{"en":"a-couple-of-people-standing-on-top-of-a-cliff-next-to-the-ocean-oTE1p2Awp3I"},"created_at":"2024-02-27T22:15:01Z","updated_at":"2024-03-11T06:51:52Z","promoted_at":"2024-03-11T06:51:52Z","width":4000,"height":5333,"color":"#c0c0c0","blur_hash":"LLE:C[u5IooJ_N%gE1ax~ps8Vsoe","description":null,"alt_description":"a couple of people standing on top of a cliff next to the ocean","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709071784840-cf3ecc434749?ixid=M3wxMTc3M3wwfDF8YWxsfDE4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709071784840-cf3ecc434749?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709071784840-cf3ecc434749?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709071784840-cf3ecc434749?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709071784840-cf3ecc434749?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709071784840-cf3ecc434749"},"links":{"self":"https://api.unsplash.com/photos/a-couple-of-people-standing-on-top-of-a-cliff-next-to-the-ocean-oTE1p2Awp3I","html":"https://unsplash.com/photos/a-couple-of-people-standing-on-top-of-a-cliff-next-to-the-ocean-oTE1p2Awp3I","download":"https://unsplash.com/photos/oTE1p2Awp3I/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE4fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/oTE1p2Awp3I/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE4fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":8,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"khtnjqjzcq0","updated_at":"2024-03-11T06:51:53Z","username":"mitchorr","name":"Mitchell Orr","first_name":"Mitchell","last_name":"Orr","twitter_username":null,"portfolio_url":"https://mitchorr.darkroom.tech/","bio":"If you feel you would like to support my work, any donations no matter how small, would be extremely helpful. \\r\\nThanks for looking!","location":"Wirral","links":{"self":"https://api.unsplash.com/users/mitchorr","html":"https://unsplash.com/@mitchorr","photos":"https://api.unsplash.com/users/mitchorr/photos","likes":"https://api.unsplash.com/users/mitchorr/likes","portfolio":"https://api.unsplash.com/users/mitchorr/portfolio","following":"https://api.unsplash.com/users/mitchorr/following","followers":"https://api.unsplash.com/users/mitchorr/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1687891061126-8858e815018fimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1687891061126-8858e815018fimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1687891061126-8858e815018fimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"mitchorr1","total_collections":0,"total_likes":41,"total_photos":358,"total_promoted_photos":118,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"mitchorr1","portfolio_url":"https://mitchorr.darkroom.tech/","twitter_username":null,"paypal_email":null}}},{"id":"ihmo0uRQ3jA","slug":"a-bed-sitting-in-a-bedroom-next-to-a-window-ihmo0uRQ3jA","alternative_slugs":{"en":"a-bed-sitting-in-a-bedroom-next-to-a-window-ihmo0uRQ3jA"},"created_at":"2024-02-24T20:00:04Z","updated_at":"2024-03-11T06:51:48Z","promoted_at":"2024-03-11T06:51:48Z","width":4000,"height":6000,"color":"#260c0c","blur_hash":"L78;b;?I4Xx?tcIUD+xt03oy-.M|","description":null,"alt_description":"a bed sitting in a bedroom next to a window","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1708804309492-5ef3f3458c33?ixid=M3wxMTc3M3wwfDF8YWxsfDE5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1708804309492-5ef3f3458c33?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1708804309492-5ef3f3458c33?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1708804309492-5ef3f3458c33?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1708804309492-5ef3f3458c33?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1708804309492-5ef3f3458c33"},"links":{"self":"https://api.unsplash.com/photos/a-bed-sitting-in-a-bedroom-next-to-a-window-ihmo0uRQ3jA","html":"https://unsplash.com/photos/a-bed-sitting-in-a-bedroom-next-to-a-window-ihmo0uRQ3jA","download":"https://unsplash.com/photos/ihmo0uRQ3jA/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE5fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/ihmo0uRQ3jA/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE5fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":20,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"Og5qBrDjufI","updated_at":"2024-03-11T06:51:49Z","username":"mariailves","name":"Maria Ilves","first_name":"Maria","last_name":"Ilves","twitter_username":null,"portfolio_url":"http://www.mariailves.com","bio":null,"location":"Ambleside","links":{"self":"https://api.unsplash.com/users/mariailves","html":"https://unsplash.com/@mariailves","photos":"https://api.unsplash.com/users/mariailves/photos","likes":"https://api.unsplash.com/users/mariailves/likes","portfolio":"https://api.unsplash.com/users/mariailves/portfolio","following":"https://api.unsplash.com/users/mariailves/following","followers":"https://api.unsplash.com/users/mariailves/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1708802611867-ab4ff1564c8cimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1708802611867-ab4ff1564c8cimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1708802611867-ab4ff1564c8cimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"mariailves_","total_collections":0,"total_likes":0,"total_photos":38,"total_promoted_photos":4,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"mariailves_","portfolio_url":"http://www.mariailves.com","twitter_username":null,"paypal_email":null}}},{"id":"UvQtTVdFi9I","slug":"UvQtTVdFi9I","alternative_slugs":{"en":"UvQtTVdFi9I"},"created_at":"2016-08-12T16:12:25Z","updated_at":"2024-03-11T06:50:27Z","promoted_at":"2024-03-11T06:50:27Z","width":3648,"height":5472,"color":"#8ca673","blur_hash":"LGG9g4IAVax[.Zxus=kB9HtQ%LRj","description":null,"alt_description":null,"breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1471018289981-5d9f06e2bf45?ixid=M3wxMTc3M3wwfDF8YWxsfDIwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1471018289981-5d9f06e2bf45?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1471018289981-5d9f06e2bf45?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1471018289981-5d9f06e2bf45?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1471018289981-5d9f06e2bf45?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1471018289981-5d9f06e2bf45"},"links":{"self":"https://api.unsplash.com/photos/UvQtTVdFi9I","html":"https://unsplash.com/photos/UvQtTVdFi9I","download":"https://unsplash.com/photos/UvQtTVdFi9I/download?ixid=M3wxMTc3M3wwfDF8YWxsfDIwfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/UvQtTVdFi9I/download?ixid=M3wxMTc3M3wwfDF8YWxsfDIwfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":60,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"dhG1THiRwtA","updated_at":"2024-03-11T06:50:28Z","username":"clarissemeyer","name":"Clarisse Meyer","first_name":"Clarisse","last_name":"Meyer","twitter_username":"claireymeyer","portfolio_url":"https://www.clarisserae.com","bio":"Photo | Video | Design - Southern California & Beyond\\r\\nInstagram: @clarisse.rae","location":"Orange County, CA","links":{"self":"https://api.unsplash.com/users/clarissemeyer","html":"https://unsplash.com/@clarissemeyer","photos":"https://api.unsplash.com/users/clarissemeyer/photos","likes":"https://api.unsplash.com/users/clarissemeyer/likes","portfolio":"https://api.unsplash.com/users/clarissemeyer/portfolio","following":"https://api.unsplash.com/users/clarissemeyer/following","followers":"https://api.unsplash.com/users/clarissemeyer/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1470948329031-558b487bdf37?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1470948329031-558b487bdf37?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1470948329031-558b487bdf37?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"clarisse.rae","total_collections":2,"total_likes":139,"total_photos":99,"total_promoted_photos":58,"accepted_tos":false,"for_hire":false,"social":{"instagram_username":"clarisse.rae","portfolio_url":"https://www.clarisserae.com","twitter_username":"claireymeyer","paypal_email":null}}},{"id":"iswshBYbTBk","slug":"a-woman-riding-an-escalator-down-an-escalator-iswshBYbTBk","alternative_slugs":{"en":"a-woman-riding-an-escalator-down-an-escalator-iswshBYbTBk"},"created_at":"2024-02-27T19:26:10Z","updated_at":"2024-03-11T06:48:50Z","promoted_at":"2024-03-11T06:48:50Z","width":3940,"height":2634,"color":"#73a673","blur_hash":"LEDn~t%{y:WXDPVtH[jt8{o|VGk9","description":null,"alt_description":"a woman riding an escalator down an escalator","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709061965707-9a89ffb23103?ixid=M3wxMTc3M3wwfDF8YWxsfDIyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709061965707-9a89ffb23103?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709061965707-9a89ffb23103?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709061965707-9a89ffb23103?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709061965707-9a89ffb23103?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709061965707-9a89ffb23103"},"links":{"self":"https://api.unsplash.com/photos/a-woman-riding-an-escalator-down-an-escalator-iswshBYbTBk","html":"https://unsplash.com/photos/a-woman-riding-an-escalator-down-an-escalator-iswshBYbTBk","download":"https://unsplash.com/photos/iswshBYbTBk/download?ixid=M3wxMTc3M3wwfDF8YWxsfDIyfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/iswshBYbTBk/download?ixid=M3wxMTc3M3wwfDF8YWxsfDIyfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":4,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"people":{"status":"rejected"}},"user":{"id":"d-2o2yQwtxY","updated_at":"2024-03-11T06:48:59Z","username":"vitalymazur","name":"Vitalii Mazur","first_name":"Vitalii","last_name":"Mazur","twitter_username":"@madebyvitalii","portfolio_url":"https://www.behance.net/vitaliimazur","bio":"Life through photography 🌿 \\r\\nFeel free to support me via PayPal (vitaly.mazur@icloud.com) if you like to use my shots. Also I'm available for a photoshoot in Toronto 📸🇨🇦","location":"Toronto, Canada","links":{"self":"https://api.unsplash.com/users/vitalymazur","html":"https://unsplash.com/@vitalymazur","photos":"https://api.unsplash.com/users/vitalymazur/photos","likes":"https://api.unsplash.com/users/vitalymazur/likes","portfolio":"https://api.unsplash.com/users/vitalymazur/portfolio","following":"https://api.unsplash.com/users/vitalymazur/following","followers":"https://api.unsplash.com/users/vitalymazur/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1708119387274-fad12c7d293b?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1708119387274-fad12c7d293b?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1708119387274-fad12c7d293b?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"vitalymazur ","total_collections":14,"total_likes":773,"total_photos":263,"total_promoted_photos":15,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"vitalymazur ","portfolio_url":"https://www.behance.net/vitaliimazur","twitter_username":"@madebyvitalii","paypal_email":null}}},{"id":"uSNuKKh7wpA","slug":"a-picture-of-a-green-object-with-a-white-background-uSNuKKh7wpA","alternative_slugs":{"en":"a-picture-of-a-green-object-with-a-white-background-uSNuKKh7wpA"},"created_at":"2024-03-01T10:58:28Z","updated_at":"2024-03-11T06:48:07Z","promoted_at":"2024-03-11T06:48:07Z","width":9600,"height":5400,"color":"#d9d9d9","blur_hash":"LJLq]_WI_3%eo$xa?cRi~qobITM|","description":"Made in blender 4.0","alt_description":"a picture of a green object with a white background","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709290649154-54c725bd4484?ixid=M3wxMTc3M3wwfDF8YWxsfDIzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709290649154-54c725bd4484?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709290649154-54c725bd4484?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709290649154-54c725bd4484?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709290649154-54c725bd4484?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709290649154-54c725bd4484"},"links":{"self":"https://api.unsplash.com/photos/a-picture-of-a-green-object-with-a-white-background-uSNuKKh7wpA","html":"https://unsplash.com/photos/a-picture-of-a-green-object-with-a-white-background-uSNuKKh7wpA","download":"https://unsplash.com/photos/uSNuKKh7wpA/download?ixid=M3wxMTc3M3wwfDF8YWxsfDIzfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/uSNuKKh7wpA/download?ixid=M3wxMTc3M3wwfDF8YWxsfDIzfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":42,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"3d-renders":{"status":"approved","approved_on":"2024-03-06T08:20:20Z"},"experimental":{"status":"approved","approved_on":"2024-03-06T07:38:30Z"}},"user":{"id":"5TCQxdaW0wE","updated_at":"2024-03-11T10:04:04Z","username":"theshubhamdhage","name":"Shubham Dhage","first_name":"Shubham","last_name":"Dhage","twitter_username":"theshubhamdhage","portfolio_url":"https://theshubhamdhage.com/","bio":"Creating things is my passion.","location":"Pune, India","links":{"self":"https://api.unsplash.com/users/theshubhamdhage","html":"https://unsplash.com/@theshubhamdhage","photos":"https://api.unsplash.com/users/theshubhamdhage/photos","likes":"https://api.unsplash.com/users/theshubhamdhage/likes","portfolio":"https://api.unsplash.com/users/theshubhamdhage/portfolio","following":"https://api.unsplash.com/users/theshubhamdhage/following","followers":"https://api.unsplash.com/users/theshubhamdhage/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1702918491890-622aa47079a5image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1702918491890-622aa47079a5image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1702918491890-622aa47079a5image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"theshubhamdhage","total_collections":2,"total_likes":296,"total_photos":734,"total_promoted_photos":147,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"theshubhamdhage","portfolio_url":"https://theshubhamdhage.com/","twitter_username":"theshubhamdhage","paypal_email":null}}},{"id":"7lN8MJPnlXs","slug":"a-close-up-of-a-pine-tree-with-lots-of-needles-7lN8MJPnlXs","alternative_slugs":{"en":"a-close-up-of-a-pine-tree-with-lots-of-needles-7lN8MJPnlXs"},"created_at":"2024-03-06T19:31:23Z","updated_at":"2024-03-11T06:47:23Z","promoted_at":"2024-03-11T06:47:23Z","width":6720,"height":4480,"color":"#26260c","blur_hash":"L05OKD},~lR7TJRj%d^$_0E49Is:","description":null,"alt_description":"a close up of a pine tree with lots of needles","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709753422610-39ed7ddf9e08?ixid=M3wxMTc3M3wwfDF8YWxsfDI0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709753422610-39ed7ddf9e08?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709753422610-39ed7ddf9e08?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709753422610-39ed7ddf9e08?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709753422610-39ed7ddf9e08?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709753422610-39ed7ddf9e08"},"links":{"self":"https://api.unsplash.com/photos/a-close-up-of-a-pine-tree-with-lots-of-needles-7lN8MJPnlXs","html":"https://unsplash.com/photos/a-close-up-of-a-pine-tree-with-lots-of-needles-7lN8MJPnlXs","download":"https://unsplash.com/photos/7lN8MJPnlXs/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI0fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/7lN8MJPnlXs/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI0fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":5,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"textures-patterns":{"status":"approved","approved_on":"2024-03-11T06:47:18Z"}},"user":{"id":"gMFqynHNocY","updated_at":"2024-03-11T06:48:57Z","username":"blakecheekk","name":"Blake Cheek","first_name":"Blake","last_name":"Cheek","twitter_username":"blakecheekk","portfolio_url":"http://blakecheek.com","bio":"Photographer and Videographer. Lover of coffee and Jesus. ","location":"Atlanta, Ga","links":{"self":"https://api.unsplash.com/users/blakecheekk","html":"https://unsplash.com/@blakecheekk","photos":"https://api.unsplash.com/users/blakecheekk/photos","likes":"https://api.unsplash.com/users/blakecheekk/likes","portfolio":"https://api.unsplash.com/users/blakecheekk/portfolio","following":"https://api.unsplash.com/users/blakecheekk/following","followers":"https://api.unsplash.com/users/blakecheekk/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1709746841716-156061dd4fe9image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1709746841716-156061dd4fe9image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1709746841716-156061dd4fe9image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"blakecheekk","total_collections":4,"total_likes":0,"total_photos":423,"total_promoted_photos":165,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"blakecheekk","portfolio_url":"http://blakecheek.com","twitter_username":"blakecheekk","paypal_email":null}}},{"id":"Fw8vp9G6FtE","slug":"the-contents-of-a-backpack-laid-out-on-a-table-Fw8vp9G6FtE","alternative_slugs":{"en":"the-contents-of-a-backpack-laid-out-on-a-table-Fw8vp9G6FtE"},"created_at":"2024-03-10T00:43:31Z","updated_at":"2024-03-11T06:46:50Z","promoted_at":"2024-03-11T06:46:50Z","width":6240,"height":4160,"color":"#262626","blur_hash":"LIINNov{ae}=56I]eToaEmWC^iI;","description":null,"alt_description":"the contents of a backpack laid out on a table","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710031407576-135a680d6e10?ixid=M3wxMTc3M3wwfDF8YWxsfDI1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710031407576-135a680d6e10?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710031407576-135a680d6e10?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710031407576-135a680d6e10?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710031407576-135a680d6e10?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710031407576-135a680d6e10"},"links":{"self":"https://api.unsplash.com/photos/the-contents-of-a-backpack-laid-out-on-a-table-Fw8vp9G6FtE","html":"https://unsplash.com/photos/the-contents-of-a-backpack-laid-out-on-a-table-Fw8vp9G6FtE","download":"https://unsplash.com/photos/Fw8vp9G6FtE/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI1fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/Fw8vp9G6FtE/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI1fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":4,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"UmKpkFAcSDE","updated_at":"2024-03-11T06:46:50Z","username":"taylorheeryphoto","name":"Taylor Heery","first_name":"Taylor","last_name":"Heery","twitter_username":"tahegri","portfolio_url":"http://www.taylorheery.com","bio":"VENMO: @taylorheeryphoto\\r\\nFujifilm fanatic.","location":"Hendersonville, NC","links":{"self":"https://api.unsplash.com/users/taylorheeryphoto","html":"https://unsplash.com/@taylorheeryphoto","photos":"https://api.unsplash.com/users/taylorheeryphoto/photos","likes":"https://api.unsplash.com/users/taylorheeryphoto/likes","portfolio":"https://api.unsplash.com/users/taylorheeryphoto/portfolio","following":"https://api.unsplash.com/users/taylorheeryphoto/following","followers":"https://api.unsplash.com/users/taylorheeryphoto/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1710031596049-549d947d2a3a?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1710031596049-549d947d2a3a?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1710031596049-549d947d2a3a?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"taylorheeryphoto","total_collections":0,"total_likes":107,"total_photos":520,"total_promoted_photos":209,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"taylorheeryphoto","portfolio_url":"http://www.taylorheery.com","twitter_username":"tahegri","paypal_email":null}}},{"id":"e75CfMG0Sgo","slug":"a-person-with-a-backpack-looking-at-mountains-e75CfMG0Sgo","alternative_slugs":{"en":"a-person-with-a-backpack-looking-at-mountains-e75CfMG0Sgo"},"created_at":"2023-04-28T12:46:16Z","updated_at":"2024-03-10T11:50:20Z","promoted_at":null,"width":5429,"height":3619,"color":"#a6c0d9","blur_hash":"LnHLYm%0IAi_?wn$ngj[OtRjs:f6","description":"Nature Reserve – NEOM, Saudi Arabia | The NEOM Nature Reserve region is being designed to deliver protection and restoration of biodiversity across 95% of NEOM.","alt_description":"a person with a backpack looking at mountains","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1682685796002-e05458d61f07?ixid=M3wxMTc3M3wxfDF8YWxsfDI2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1682685796002-e05458d61f07?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDI2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1682685796002-e05458d61f07?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDI2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1682685796002-e05458d61f07?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDI2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1682685796002-e05458d61f07?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDI2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1682685796002-e05458d61f07"},"links":{"self":"https://api.unsplash.com/photos/a-person-with-a-backpack-looking-at-mountains-e75CfMG0Sgo","html":"https://unsplash.com/photos/a-person-with-a-backpack-looking-at-mountains-e75CfMG0Sgo","download":"https://unsplash.com/photos/e75CfMG0Sgo/download?ixid=M3wxMTc3M3wxfDF8YWxsfDI2fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/e75CfMG0Sgo/download?ixid=M3wxMTc3M3wxfDF8YWxsfDI2fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":174,"liked_by_user":false,"current_user_collections":[],"sponsorship":{"impression_urls":["https://secure.insightexpressai.com/adServer/adServerESI.aspx?script=false&bannerID=11515577&rnd=[timestamp]&redir=https://secure.insightexpressai.com/adserver/1pixel.gif","https://secure.insightexpressai.com/adServer/adServerESI.aspx?script=false&bannerID=11515780&rnd=[timestamp]&redir=https://secure.insightexpressai.com/adserver/1pixel.gif"],"tagline":"Made to Change","tagline_url":"https://www.neom.com/en-us?utm_source=unsplash&utm_medium=referral","sponsor":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},"topic_submissions":{},"user":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},{"id":"jSjHcyHFOdQ","slug":"a-picture-of-a-green-plant-in-a-dark-room-jSjHcyHFOdQ","alternative_slugs":{"en":"a-picture-of-a-green-plant-in-a-dark-room-jSjHcyHFOdQ"},"created_at":"2024-02-08T15:36:25Z","updated_at":"2024-03-11T06:46:46Z","promoted_at":"2024-03-11T06:46:46Z","width":8400,"height":5600,"color":"#0c260c","blur_hash":"L44CLsVuD7pF.Po2R7R*-.oyX5My","description":null,"alt_description":"a picture of a green plant in a dark room","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1707406543260-ed14bbd0d086?ixid=M3wxMTc3M3wwfDF8YWxsfDI3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1707406543260-ed14bbd0d086?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1707406543260-ed14bbd0d086?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1707406543260-ed14bbd0d086?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1707406543260-ed14bbd0d086?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1707406543260-ed14bbd0d086"},"links":{"self":"https://api.unsplash.com/photos/a-picture-of-a-green-plant-in-a-dark-room-jSjHcyHFOdQ","html":"https://unsplash.com/photos/a-picture-of-a-green-plant-in-a-dark-room-jSjHcyHFOdQ","download":"https://unsplash.com/photos/jSjHcyHFOdQ/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI3fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/jSjHcyHFOdQ/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI3fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":14,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"ogQykx6hk_c","updated_at":"2024-03-11T06:46:46Z","username":"pawel_czerwinski","name":"Pawel Czerwinski","first_name":"Pawel","last_name":"Czerwinski","twitter_username":"pm_cze","portfolio_url":"http://paypal.me/pmcze","bio":"Questions about how you can use the photos? help.unsplash.com/en/collections/1463188-unsplash-license 👍","location":"Poland","links":{"self":"https://api.unsplash.com/users/pawel_czerwinski","html":"https://unsplash.com/@pawel_czerwinski","photos":"https://api.unsplash.com/users/pawel_czerwinski/photos","likes":"https://api.unsplash.com/users/pawel_czerwinski/likes","portfolio":"https://api.unsplash.com/users/pawel_czerwinski/portfolio","following":"https://api.unsplash.com/users/pawel_czerwinski/following","followers":"https://api.unsplash.com/users/pawel_czerwinski/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1592328433409-d9ce8a5333eaimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1592328433409-d9ce8a5333eaimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1592328433409-d9ce8a5333eaimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"pmcze","total_collections":7,"total_likes":39154,"total_photos":2137,"total_promoted_photos":1760,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"pmcze","portfolio_url":"http://paypal.me/pmcze","twitter_username":"pm_cze","paypal_email":null}}},{"id":"OfGHUYX0CCg","slug":"a-body-of-water-that-has-some-waves-on-it-OfGHUYX0CCg","alternative_slugs":{"en":"a-body-of-water-that-has-some-waves-on-it-OfGHUYX0CCg"},"created_at":"2024-03-06T14:06:51Z","updated_at":"2024-03-11T08:56:52Z","promoted_at":"2024-03-11T06:45:54Z","width":8192,"height":5460,"color":"#260c0c","blur_hash":"LUF{kg=cj@fQ}XxFS3azxFfjS2WW","description":null,"alt_description":"a body of water that has some waves on it","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709733167477-25398ca709c0?ixid=M3wxMTc3M3wwfDF8YWxsfDI4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709733167477-25398ca709c0?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709733167477-25398ca709c0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709733167477-25398ca709c0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709733167477-25398ca709c0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709733167477-25398ca709c0"},"links":{"self":"https://api.unsplash.com/photos/a-body-of-water-that-has-some-waves-on-it-OfGHUYX0CCg","html":"https://unsplash.com/photos/a-body-of-water-that-has-some-waves-on-it-OfGHUYX0CCg","download":"https://unsplash.com/photos/OfGHUYX0CCg/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI4fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/OfGHUYX0CCg/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI4fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":16,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"earth-hour":{"status":"approved","approved_on":"2024-03-07T09:43:45Z"}},"user":{"id":"uFFemR6e1vs","updated_at":"2024-03-11T06:48:56Z","username":"marcospradobr","name":"Marcos Paulo Prado","first_name":"Marcos Paulo","last_name":"Prado","twitter_username":null,"portfolio_url":"https://www.instagram.com/eusoumarcosprado","bio":"People and commercial photographer based in Rio de Janeiro, Brasil","location":"Rio de Janeiro, Brazil","links":{"self":"https://api.unsplash.com/users/marcospradobr","html":"https://unsplash.com/@marcospradobr","photos":"https://api.unsplash.com/users/marcospradobr/photos","likes":"https://api.unsplash.com/users/marcospradobr/likes","portfolio":"https://api.unsplash.com/users/marcospradobr/portfolio","following":"https://api.unsplash.com/users/marcospradobr/following","followers":"https://api.unsplash.com/users/marcospradobr/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1572910425876-25d44d080554image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1572910425876-25d44d080554image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1572910425876-25d44d080554image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"eusoumarcosprado","total_collections":0,"total_likes":306,"total_photos":413,"total_promoted_photos":139,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"eusoumarcosprado","portfolio_url":"https://www.instagram.com/eusoumarcosprado","twitter_username":null,"paypal_email":null}}},{"id":"VKQpbzeWbrk","slug":"a-bouquet-of-orange-and-white-tulips-on-a-red-door-VKQpbzeWbrk","alternative_slugs":{"en":"a-bouquet-of-orange-and-white-tulips-on-a-red-door-VKQpbzeWbrk"},"created_at":"2024-03-09T21:24:04Z","updated_at":"2024-03-11T06:45:51Z","promoted_at":"2024-03-11T06:45:51Z","width":2592,"height":3872,"color":"#8c2626","blur_hash":"LFI2{Exr0gE}Dlo|=_W-5RE3O=xH","description":null,"alt_description":"a bouquet of orange and white tulips on a red door","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710018337941-58197591d55a?ixid=M3wxMTc3M3wwfDF8YWxsfDI5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710018337941-58197591d55a?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710018337941-58197591d55a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710018337941-58197591d55a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710018337941-58197591d55a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710018337941-58197591d55a"},"links":{"self":"https://api.unsplash.com/photos/a-bouquet-of-orange-and-white-tulips-on-a-red-door-VKQpbzeWbrk","html":"https://unsplash.com/photos/a-bouquet-of-orange-and-white-tulips-on-a-red-door-VKQpbzeWbrk","download":"https://unsplash.com/photos/VKQpbzeWbrk/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI5fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/VKQpbzeWbrk/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI5fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":3,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"H8-Yyg-eX4A","updated_at":"2024-03-11T06:48:56Z","username":"jaelphotos","name":"Jael Coon","first_name":"Jael","last_name":"Coon","twitter_username":null,"portfolio_url":"https://linktr.ee/jaelcoon","bio":"Coffee drinker, photographer, artist and chef/baker","location":"USA","links":{"self":"https://api.unsplash.com/users/jaelphotos","html":"https://unsplash.com/@jaelphotos","photos":"https://api.unsplash.com/users/jaelphotos/photos","likes":"https://api.unsplash.com/users/jaelphotos/likes","portfolio":"https://api.unsplash.com/users/jaelphotos/portfolio","following":"https://api.unsplash.com/users/jaelphotos/following","followers":"https://api.unsplash.com/users/jaelphotos/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1693432710439-47b22b3f6a9eimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1693432710439-47b22b3f6a9eimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1693432710439-47b22b3f6a9eimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"jaelcoon","total_collections":51,"total_likes":0,"total_photos":230,"total_promoted_photos":3,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"jaelcoon","portfolio_url":"https://linktr.ee/jaelcoon","twitter_username":null,"paypal_email":null}}},{"id":"W6AqsLH6HOg","slug":"a-license-plate-on-the-back-of-a-car-W6AqsLH6HOg","alternative_slugs":{"en":"a-license-plate-on-the-back-of-a-car-W6AqsLH6HOg"},"created_at":"2024-03-06T06:59:15Z","updated_at":"2024-03-11T06:45:45Z","promoted_at":"2024-03-11T06:45:45Z","width":6000,"height":4000,"color":"#595959","blur_hash":"LYE_]gO?}qOsW--Ux]$%RPoeX9oz","description":null,"alt_description":"a license plate on the back of a car","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709708210553-490ba885fcf6?ixid=M3wxMTc3M3wwfDF8YWxsfDMwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709708210553-490ba885fcf6?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDMwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709708210553-490ba885fcf6?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDMwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709708210553-490ba885fcf6?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDMwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709708210553-490ba885fcf6?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDMwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709708210553-490ba885fcf6"},"links":{"self":"https://api.unsplash.com/photos/a-license-plate-on-the-back-of-a-car-W6AqsLH6HOg","html":"https://unsplash.com/photos/a-license-plate-on-the-back-of-a-car-W6AqsLH6HOg","download":"https://unsplash.com/photos/W6AqsLH6HOg/download?ixid=M3wxMTc3M3wwfDF8YWxsfDMwfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/W6AqsLH6HOg/download?ixid=M3wxMTc3M3wwfDF8YWxsfDMwfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":3,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"VNV70zPYNto","updated_at":"2024-03-11T06:48:56Z","username":"venajeborec","name":"Václav Pechar","first_name":"Václav","last_name":"Pechar","twitter_username":null,"portfolio_url":null,"bio":"Photographer from South Bohemia ✌🏻\\r\\nBe free to contact me to book a shoot 🙏🏻","location":"Czech Republic - Písek","links":{"self":"https://api.unsplash.com/users/venajeborec","html":"https://unsplash.com/@venajeborec","photos":"https://api.unsplash.com/users/venajeborec/photos","likes":"https://api.unsplash.com/users/venajeborec/likes","portfolio":"https://api.unsplash.com/users/venajeborec/portfolio","following":"https://api.unsplash.com/users/venajeborec/following","followers":"https://api.unsplash.com/users/venajeborec/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1687031143105-2420498da92eimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1687031143105-2420498da92eimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1687031143105-2420498da92eimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"amazingvena","total_collections":0,"total_likes":7,"total_photos":324,"total_promoted_photos":30,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"amazingvena","portfolio_url":null,"twitter_username":null,"paypal_email":null}}}]`),n2=class{photos=t2;PAGINATION={};REQUEST_IS_RUNNING=!1;SEARCH_IS_RUNNING=!1;LAST_REQUEST_URL="";ERROR=null;IS_LOADING=!1;currentPage=1;async fetchPhotos(){this.IS_LOADING=!0;let t=(this.currentPage-1)*30,a=this.currentPage*30;return this.currentPage+=1,this.IS_LOADING=!1,this.photos.slice(t,a)}async fetchNextPage(){if(this.REQUEST_IS_RUNNING||this.SEARCH_IS_RUNNING)return null;let t=await this.fetchPhotos();return t.length>0?t:null}async searchPhotos(t){this.SEARCH_IS_RUNNING=!0;let a=this.photos.filter(s=>s.description&&s.description.toLowerCase().includes(t.toLowerCase())||s.alt_description&&s.alt_description.toLowerCase().includes(t.toLowerCase()));return this.SEARCH_IS_RUNNING=!1,a}searchIsRunning(){return this.SEARCH_IS_RUNNING}triggerDownload(t){}},r2=class{_provider;constructor(t){this._provider=t}async fetchPhotos(){return await this._provider.fetchPhotos()}async searchPhotos(t){return await this._provider.searchPhotos(t)}async triggerDownload(t){this._provider.triggerDownload(t)}async fetchNextPage(){return await this._provider.fetchNextPage()||null}searchIsRunning(){return this._provider.searchIsRunning()}},s2=class{API_URL="https://api.unsplash.com";HEADERS;ERROR=null;PAGINATION={};REQUEST_IS_RUNNING=!1;SEARCH_IS_RUNNING=!1;LAST_REQUEST_URL="";IS_LOADING=!1;constructor(t){this.HEADERS=t}async makeRequest(t){if(this.REQUEST_IS_RUNNING)return null;this.LAST_REQUEST_URL=t;let a={method:"GET",headers:this.HEADERS};try{this.REQUEST_IS_RUNNING=!0,this.IS_LOADING=!0;let s=await fetch(t,a),i=await this.checkStatus(s);this.extractPagination(i);let u=await i.json();return"results"in u?u.results:u}catch(s){return this.ERROR=s,null}finally{this.REQUEST_IS_RUNNING=!1,this.IS_LOADING=!1}}extractPagination(t){let a=RegExp('<(.*)>; rel="(.*)"'),s=[],i={};for(let u of t.headers.entries())u[0]==="link"&&s.push(u[1]);return s&&s.toString().split(",").forEach(u=>{if(u){let p=a.exec(u);p&&(i[p[2]]=p[1])}}),this.PAGINATION=i,t}async fetchPhotos(){let t=`${this.API_URL}/photos?per_page=30`;return await this.makeRequest(t)}async fetchNextPage(){if(this.REQUEST_IS_RUNNING||this.SEARCH_IS_RUNNING)return null;if(this.PAGINATION.next){let t=`${this.PAGINATION.next}`,a=await this.makeRequest(t);if(a)return a}return null}async searchPhotos(t){let a=`${this.API_URL}/search/photos?query=${t}&per_page=30`;return await this.makeRequest(a)||[]}async triggerDownload(t){t.links.download_location&&await this.makeRequest(t.links.download_location)}async checkStatus(t){if(t.status>=200&&t.status<300)return t;let a="",s,i=t.headers.get("content-type");if(i==="application/json")s=t.json().then(u=>u.errors[0]);else if(i==="text/xml")s=t.text();else throw Error("Unsupported content type");return s.then(u=>{throw t.status===403&&t.headers.get("x-ratelimit-remaining")==="0"&&(a="Unsplash API rate limit reached, please try again later."),a=a||u||`Error ${t.status}: Uh-oh! Trouble reaching the Unsplash API`,this.ERROR=a,Error(a)})}searchIsRunning(){return this.SEARCH_IS_RUNNING}},a2=class{photoUseCases;masonryService;photos=[];constructor(t,a){this.photoUseCases=t,this.masonryService=a}async loadNew(){this.photos=await this.photoUseCases.fetchPhotos(),await this.layoutPhotos()}async layoutPhotos(){this.masonryService.reset(),this.photos&&this.photos.forEach(t=>{t.ratio=t.height/t.width,this.masonryService.addPhotoToColumns(t)})}getColumns(){return this.masonryService.getColumns()}async updateSearch(t){this.photos=await this.photoUseCases.searchPhotos(t),this.layoutPhotos()}async loadNextPage(){let t=await this.photoUseCases.fetchNextPage()||[];this.photos=[...this.photos,...t],this.layoutPhotos()}clearPhotos(){this.photos=[]}triggerDownload(t){this.photoUseCases.triggerDownload(t)}searchIsRunning(){return this.photoUseCases.searchIsRunning()}},o2=({onClose:t,onImageInsert:a,unsplashProviderConfig:s})=>{let i=A.useMemo(()=>s?new s2(s):new n2,[s]),u=A.useMemo(()=>new r2(i),[i]),p=A.useMemo(()=>new Wk(3),[]),w=A.useMemo(()=>new a2(u,p),[u,p]),m=A.useRef(null),[x,g]=A.useState(0),[h,b]=A.useState(0),[y,v]=A.useState(w.searchIsRunning()||!0),C=A.useRef(!1),[E,j]=A.useState(""),[N,D]=A.useState(null),[$,R]=A.useState([]);Ve.useEffect(()=>{m.current&&N===null&&h!==0&&(m.current.scrollTop=h,b(0))},[N,x,h]),Ve.useEffect(()=>{let B=ie=>{ie.key==="Escape"&&t()};return window.addEventListener("keydown",B),()=>{window.removeEventListener("keydown",B)}},[t]),Ve.useEffect(()=>{let B=m.current;if(!N)return B&&B.addEventListener("scroll",()=>{g(B.scrollTop)}),()=>{B&&B.removeEventListener("scroll",()=>{g(B.scrollTop)})}},[m,N]);let O=Ve.useCallback(async()=>{(C.current===!1||E.length===0)&&(R([]),w.clearPhotos(),await w.loadNew(),R(w.getColumns()||[]),m.current&&m.current.scrollTop!==0&&(m.current.scrollTop=0),v(!1))},[w,E]),P=async B=>{let ie=B.target.value;ie.length>2&&(D(null),j(ie)),ie.length===0&&(j(""),C.current=!1,await O())},I=Ve.useCallback(async()=>{if(E){v(!0),R([]),w.clearPhotos(),await w.updateSearch(E);let B=w.getColumns();B&&R(B),m.current&&m.current.scrollTop!==0&&(m.current.scrollTop=0),v(!1)}},[E,w]);Ve.useEffect(()=>{let B=setTimeout(async()=>{E.length>2?await I():await O()},300);return()=>{C.current=!0,clearTimeout(B)}},[E,I,O]);let U=Ve.useCallback(async()=>{v(!0),await w.loadNextPage(),R(w.getColumns()||[]),v(!1)},[w]);Ve.useEffect(()=>{let B=m.current;if(B){let ie=async()=>{N===null&&B.scrollTop+B.clientHeight>=B.scrollHeight-1e3&&await U()};return B.addEventListener("scroll",ie),()=>{B.removeEventListener("scroll",ie)}}},[m,U,N]);let Y=B=>{B&&(D(B),b(x)),B===null&&(D(null),m.current&&(m.current.scrollTop=h))};async function W(B){B.src&&(w.triggerDownload(B),a(B))}return n.jsx(e2,{closeModal:t,handleSearch:P,children:n.jsx(Zk,{dataset:$,error:null,galleryRef:m,insertImage:W,isLoading:y,selectImg:Y,zoomed:N})})};const i2=({unsplashProviderConfig:t,onClose:a,onImageInsert:s})=>n.jsx(Bk,{classNames:"admin-x-settings",children:n.jsx(o2,{unsplashProviderConfig:t,onClose:a,onImageInsert:s})}),Ss={heading:[{name:"Cardo",creator:"David Perry"},{name:"Chakra Petch",creator:"Cadson Demak"},{name:"Fira Mono",creator:"Carrois Apostrophe"},{name:"Fira Sans",creator:"Carrois Apostrophe"},{name:"IBM Plex Serif",creator:"Mike Abbink"},{name:"Inter",creator:"Rasmus Andersson"},{name:"JetBrains Mono",creator:"JetBrains"},{name:"Libre Baskerville",creator:"Impallari Type"},{name:"Lora",creator:"Cyreal"},{name:"Manrope",creator:"Mikhail Sharanda"},{name:"Merriweather",creator:"Sorkin Type"},{name:"Noto Sans",creator:"Google"},{name:"Noto Serif",creator:"Google"},{name:"Nunito",creator:"Vernon Adams"},{name:"Old Standard TT",creator:"Alexey Kryukov"},{name:"Poppins",creator:"Indian Type Foundry"},{name:"Roboto",creator:"Christian Robertson"},{name:"Rufina",creator:"Martin Sommaruga"},{name:"Space Grotesk",creator:"Florian Karsten"},{name:"Space Mono",creator:"Colophon Foundry"},{name:"Tenor Sans",creator:"Denis Masharov"}],body:[{name:"Fira Mono",creator:"Carrois Apostrophe"},{name:"Fira Sans",creator:"Carrois Apostrophe"},{name:"IBM Plex Serif",creator:"Mike Abbink"},{name:"Inter",creator:"Rasmus Andersson"},{name:"JetBrains Mono",creator:"JetBrains"},{name:"Lora",creator:"Cyreal"},{name:"Manrope",creator:"Mikhail Sharanda"},{name:"Merriweather",creator:"Sorkin Type"},{name:"Noto Sans",creator:"Google"},{name:"Noto Serif",creator:"Google"},{name:"Nunito",creator:"Vernon Adams"},{name:"Poppins",creator:"Indian Type Foundry"},{name:"Roboto",creator:"Christian Robertson"},{name:"Space Mono",creator:"Colophon Foundry"}]},Tn="Theme default",_p=({children:t,...a})=>n.jsx(_h.SingleValue,{...a,children:n.jsx("div",{className:"group","data-testid":"select-current-option","data-value":a.data.value,children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"flex size-12 items-center justify-center rounded-md bg-white text-2xl font-bold dark:bg-black",children:"Aa"}),n.jsxs("div",{className:"flex flex-col",children:[n.jsx("span",{className:"text-md",children:t}),n.jsx("span",{className:"font-sans text-xs font-normal text-grey-700 dark:text-grey-600",children:a.data.creator})]})]})})}),Mp=({children:t,...a})=>n.jsx(_h.Option,{...a,children:n.jsxs("div",{className:a.isSelected?"relative flex w-full items-center justify-between gap-2":"group","data-testid":"select-option","data-value":a.data.value,children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"flex size-12 items-center justify-center rounded-md bg-grey-150 text-2xl font-bold group-hover:bg-grey-250 dark:bg-grey-900 dark:group-hover:bg-grey-800",children:"Aa"}),n.jsxs("div",{className:"flex flex-col",children:[n.jsx("span",{className:"text-md",children:t}),n.jsx("span",{className:"font-sans text-xs font-normal text-grey-700 dark:text-grey-600",children:a.data.creator})]})]}),a.isSelected&&n.jsx("span",{children:n.jsx(Ge,{name:"check",size:14})})]})}),l2=t=>t.split(" ").map(a=>a.charAt(0).toUpperCase()+a.slice(1)).join(" "),kp=({values:t,updateSetting:a})=>{const{mutateAsync:s}=Hs(),{settings:i}=ze(),[u]=ot(i,["unsplash"]),[p,w]=A.useState(!1),{unsplashConfig:m}=qv(),x=Ke(),g=yh(),{data:h}=Mu(),b=h?.themes.find(I=>I.active),y=b?`${l2(b.name)} (v${b.package?.version||"1.0"})`:"Loading...",[v,C]=A.useState(Ss.heading.find(I=>I.name===t.headingFont)||{name:Tn,creator:y}),[E,j]=A.useState(Ss.heading.find(I=>I.name===t.bodyFont)||{name:Tn,creator:y}),N=(I,U=!0)=>{let Y="";return I==="Cardo"?Y=he("font-cardo",U&&"font-bold"):I==="Manrope"?Y=he("font-manrope",U&&"font-bold"):I==="Merriweather"?Y=he("font-merriweather",U&&"font-bold"):I==="Nunito"?Y=he("font-nunito",U&&"font-semibold"):I==="Old Standard TT"?Y=he("font-old-standard-tt",U&&"font-bold"):I==="Prata"?Y=he("font-prata",U&&"font-normal"):I==="Roboto"?Y=he("font-roboto",U&&"font-bold"):I==="Rufina"?Y=he("font-rufina",U&&"font-bold"):I==="Tenor Sans"?Y=he("font-tenor-sans",U&&"font-normal"):I==="Chakra Petch"?Y=he("font-chakra-petch",U&&"font-normal"):I==="Fira Mono"?Y=he("font-fira-mono",U&&"font-bold"):I==="Fira Sans"?Y=he("font-fira-sans",U&&"font-bold"):I==="IBM Plex Serif"?Y=he("font-ibm-plex-serif",U&&"font-bold"):I==="Inter"?Y=he("font-inter",U&&"font-bold"):I==="JetBrains Mono"?Y=he("font-jetbrains-mono",U&&"font-bold"):I==="Lora"?Y=he("font-lora",U&&"font-bold"):I==="Noto Sans"?Y=he("font-noto-sans",U&&"font-bold"):I==="Noto Serif"?Y=he("font-noto-serif",U&&"font-bold"):I==="Poppins"?Y=he("font-poppins",U&&"font-bold"):I==="Space Grotesk"?Y=he("font-space-grotesk",U&&"font-bold"):I==="Space Mono"&&(Y=he("font-space-mono",U&&"font-bold")),Y},D=Ss.heading.map(I=>{let U=N(I.name,!0);return{label:I.name,value:I.name,creator:I.creator,className:U}});D.unshift({label:Tn,value:Tn,creator:y,className:"font-sans font-normal"});const $=Ss.body.map(I=>{let U=N(I.name,!1);return{label:I.name,value:I.name,creator:I.creator,className:U}});$.unshift({label:Tn,value:Tn,creator:y,className:"font-sans font-normal"});const R=(I,U)=>I===Tn?"":N(I,U),O={label:v.name,value:v.name,creator:v.creator},P={label:E.name,value:E.name,creator:E.creator};return n.jsxs(n.Fragment,{children:[n.jsxs(Be,{className:"mt-6",gap:"sm",margins:"lg",title:"",children:[n.jsx(Fn,{debounceMs:200,direction:"rtl",testId:"accent-color-picker",title:n.jsx("div",{children:"Accent color"}),value:t.accentColor,onChange:I=>a("accent_color",I)}),n.jsxs("div",{className:"flex items-start justify-between",children:[n.jsxs("div",{children:[n.jsx("div",{children:"Publication icon"}),n.jsx(zn,{className:"mt-0! mr-5 max-w-[160px]",children:"A square, social icon, at least 60x60px"})]}),n.jsx("div",{className:"flex gap-3",children:n.jsx(tr,{deleteButtonClassName:"top-1! right-1!",editButtonClassName:"top-1! right-1!",height:t.icon?"66px":"36px",id:"logo",imageBWCheckedBg:!0,imageURL:t.icon||"",width:t.icon?"66px":"160px",onDelete:()=>a("icon",null),onUpload:async I=>{try{a("icon",Jn(await s({file:I})))}catch(U){const Y=U;Y.response.status===415&&(Y.message="Unsupported file type"),x(Y)}},children:"Upload icon"})})]}),n.jsxs("div",{className:`flex items-start justify-between ${t.icon&&"mt-2"}`,children:[n.jsxs("div",{children:[n.jsx("div",{children:"Publication logo"}),n.jsx(zn,{className:"mt-0! mr-5 max-w-[160px]",children:"Appears usually in the main header of your theme"})]}),n.jsx("div",{children:n.jsx(tr,{deleteButtonClassName:"top-1! right-1!",height:"60px",id:"site-logo",imageBWCheckedBg:!0,imageFit:"contain",imageURL:t.logo||"",width:"160px",onDelete:()=>a("logo",null),onUpload:async I=>{try{a("logo",Jn(await s({file:I})))}catch(U){const Y=U;Y.response.status===415&&(Y.message="Unsupported file type"),x(Y)}},children:"Upload logo"})})]}),n.jsxs("div",{className:"mt-2 flex items-start justify-between","data-testid":"publication-cover",children:[n.jsxs("div",{children:[n.jsx("div",{children:"Publication cover"}),n.jsx(zn,{className:"mt-0! mr-5 max-w-[160px]",children:"Usually as a large banner image on your index pages"})]}),n.jsx(tr,{deleteButtonClassName:"top-1! right-1!",editButtonClassName:"top-1! right-10!",height:"95px",id:"cover",imageURL:t.coverImage||"",openUnsplash:()=>w(!0),pintura:{isEnabled:g.isEnabled,openEditor:async()=>g.openEditor({image:t.coverImage||"",handleSave:async I=>{try{a("cover_image",Jn(await s({file:I})))}catch(U){x(U)}}})},unsplashButtonClassName:"bg-transparent! h-6! top-1.5! w-6! right-1.5! z-50",unsplashEnabled:u,width:"160px",onDelete:()=>a("cover_image",null),onUpload:async I=>{try{a("cover_image",Jn(await s({file:I})))}catch(U){const Y=U;Y.response.status===415&&(Y.message="Unsupported file type"),x(Y)}},children:"Upload cover"}),p&&m&&u&&n.jsx(i2,{unsplashProviderConfig:m,onClose:()=>{w(!1)},onImageInsert:I=>{I.src&&a("cover_image",I.src),w(!1)}})]})]}),n.jsxs(Be,{className:"-mt-4",gap:"sm",margins:"lg",title:"Typography",children:[n.jsx(kt,{className:R(O.label,!0),components:{Option:Mp,SingleValue:_p},controlClasses:{control:"min-h-16! pl-2!",option:"pl-2!"},hint:"",menuShouldScrollIntoView:!0,options:D,selectedOption:O,testId:"heading-font-select",title:"Heading font",onSelect:I=>{I?.value===Tn?(C({name:Tn,creator:y}),a("heading_font","")):(C({name:I?.value||"",creator:Ss.heading.find(U=>U.name===I?.value)?.creator||""}),a("heading_font",I?.value||""))}}),n.jsx(kt,{className:R(P.label,!1),components:{Option:Mp,SingleValue:_p},controlClasses:{control:"min-h-16! pl-2!",option:"pl-2!"},hint:"",maxMenuHeight:200,menuPosition:"fixed",menuShouldScrollIntoView:!0,options:$,selectedOption:P,testId:"body-font-select",title:"Body font",onSelect:I=>{I?.value===Tn?(j({name:Tn,creator:y}),a("body_font","")):(j({name:I?.value||"",creator:Ss.body.find(U=>U.name===I?.value)?.creator||""}),a("body_font",I?.value||""))}})]})]})};var yi={exports:{}},ji={exports:{}},c2=ji.exports,jp;function u2(){return jp||(jp=1,(function(t,a){//! mingo.js 2.5.3
4
4
  //! Copyright (c) 2020 Francis Asante