decocms 3.69.0 → 3.71.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/dist/client/assets/{AlertCircle-Dnqz3IxM.js → AlertCircle-eiDdFdpo.js} +1 -1
  2. package/dist/client/assets/{ArrowUpRight-B2NXgTf2.js → ArrowUpRight-C3MnTMc7.js} +1 -1
  3. package/dist/client/assets/{CheckCircle-D9OslXZP.js → CheckCircle-DXVZzubl.js} +1 -1
  4. package/dist/client/assets/{ChevronDown-BldydMJ0.js → ChevronDown-DniEvTjW.js} +1 -1
  5. package/dist/client/assets/{ChevronLeft-CXmppBJO.js → ChevronLeft-DZ-8LN4r.js} +1 -1
  6. package/dist/client/assets/{ChevronRight-BsknZQE_.js → ChevronRight-CVU8CEAx.js} +1 -1
  7. package/dist/client/assets/{ChevronUp-CjDXfs3K.js → ChevronUp-lUGooUMN.js} +1 -1
  8. package/dist/client/assets/{DotsVertical-Ci1mVPsb.js → DotsVertical-ClOH4Gg-.js} +1 -1
  9. package/dist/client/assets/{Eye-DifA9NHq.js → Eye-Da_GEN8c.js} +1 -1
  10. package/dist/client/assets/{FilterLines-CV07u96M.js → FilterLines-7z3fJe--.js} +1 -1
  11. package/dist/client/assets/{Globe01-CMUrlGmF.js → Globe01-CjtjZc8W.js} +1 -1
  12. package/dist/client/assets/{Globe04-BplUDurZ.js → Globe04-B-0xtF1q.js} +1 -1
  13. package/dist/client/assets/{HardDrive-B6V7BYZB.js → HardDrive-CRjCXSN1.js} +1 -1
  14. package/dist/client/assets/{Key01-DGn_JEBu.js → Key01-BH7QR3Q0.js} +1 -1
  15. package/dist/client/assets/{LayoutLeft-BI32Ru47.js → LayoutLeft-C_gVdeVq.js} +1 -1
  16. package/dist/client/assets/{LinkExternal01-DwIqUvLe.js → LinkExternal01-9FjHpG7X.js} +1 -1
  17. package/dist/client/assets/{Monitor01-C-tOv611.js → Monitor01-SxcGMGVR.js} +1 -1
  18. package/dist/client/assets/{Palette-pjBymHRy.js → Palette-BDDXfJRi.js} +1 -1
  19. package/dist/client/assets/{Play-BEuZCxsN.js → Play-Bc7SI6RM.js} +1 -1
  20. package/dist/client/assets/{Plus-DHJbi1i9.js → Plus-C95a6sD7.js} +1 -1
  21. package/dist/client/assets/{SearchMd-yvCGxslh.js → SearchMd-BsAsyTF8.js} +1 -1
  22. package/dist/client/assets/{Settings02-BcW_Yd93.js → Settings02-9iZ4Kn5K.js} +1 -1
  23. package/dist/client/assets/{Shield01-DXFrycnj.js → Shield01-DyztF96J.js} +1 -1
  24. package/dist/client/assets/{Star01-DxJIcjLz.js → Star01-BoCe66s1.js} +1 -1
  25. package/dist/client/assets/{Stars01-Dr_rOBxK.js → Stars01-KhRKHdWL.js} +1 -1
  26. package/dist/client/assets/{Stars02-CB3UMWzf.js → Stars02-qeumL9NN.js} +1 -1
  27. package/dist/client/assets/{Sun-CTchQz03.js → Sun-D8qj-954.js} +1 -1
  28. package/dist/client/assets/{SwitchHorizontal01-Ca_h3hG5.js → SwitchHorizontal01-CYTzFeBS.js} +1 -1
  29. package/dist/client/assets/{Tool01-B4m3Gnpd.js → Tool01-CeM3_qGC.js} +1 -1
  30. package/dist/client/assets/{Trash01-BDNQcRq9.js → Trash01-Dr7Z-Rtu.js} +1 -1
  31. package/dist/client/assets/{Upload01-CuyZwIAy.js → Upload01-H0yxEIEj.js} +1 -1
  32. package/dist/client/assets/{User01-kj3Bxvgl.js → User01-Dm5WZ8ZU.js} +1 -1
  33. package/dist/client/assets/{Users01-DM4FmEoT.js → Users01-Bn8juneC.js} +1 -1
  34. package/dist/client/assets/{Users03-CJ4lkyfr.js → Users03-DPz9weBu.js} +1 -1
  35. package/dist/client/assets/{X-Botvp-t_.js → X-B8VBAesm.js} +1 -1
  36. package/dist/client/assets/{XCircle-CpovmLEO.js → XCircle-Cqbss1Kp.js} +1 -1
  37. package/dist/client/assets/{XClose-CnYr1LOo.js → XClose-BGuIHH55.js} +1 -1
  38. package/dist/client/assets/{Zap-8NdOr1pq.js → Zap-CTngI1pZ.js} +1 -1
  39. package/dist/client/assets/{ZapSquare-ChOMpHGM.js → ZapSquare-B74wvvEK.js} +1 -1
  40. package/dist/client/assets/{ZoomOut-DYeUJTmS.js → ZoomOut-D3PYnATq.js} +1 -1
  41. package/dist/client/assets/{access-gate-lRgnLhCg.js → access-gate-CG8TWb2z.js} +1 -1
  42. package/dist/client/assets/{add-section-modal-CZwFVJh7.js → add-section-modal-zMC6VE6E.js} +1 -1
  43. package/dist/client/assets/{agent-icon-B1KjkGhC.js → agent-icon-DzGGkbHB.js} +1 -1
  44. package/dist/client/assets/{agents-list-BeGasDr4.js → agents-list-B093Kmpm.js} +1 -1
  45. package/dist/client/assets/{ai-providers-DhEaZvB4.js → ai-providers-CIrb_aA0.js} +1 -1
  46. package/dist/client/assets/{alert-dialog-DvJDYQsM.js → alert-dialog-BmkUWho8.js} +1 -1
  47. package/dist/client/assets/{alert-DVl9GMhN.js → alert-nZjL99ao.js} +1 -1
  48. package/dist/client/assets/app-editor-DOgcjNSr.js +1 -0
  49. package/dist/client/assets/{auth-catchall-BljhiRu2.js → auth-catchall-C4Y52vRL.js} +1 -1
  50. package/dist/client/assets/{auth-split-layout-DeC-35_z.js → auth-split-layout-Ce1sPlua.js} +1 -1
  51. package/dist/client/assets/{auth-DA6X7KBB.js → auth-xNmYqmgC.js} +1 -1
  52. package/dist/client/assets/{automation-list-row-BIiojY8I.js → automation-list-row-CZsOtouY.js} +1 -1
  53. package/dist/client/assets/{automation-runs-CHVaaxN6.js → automation-runs-Dg53j0r1.js} +1 -1
  54. package/dist/client/assets/{automations-BZ212IOj.js → automations-CProB2E_.js} +1 -1
  55. package/dist/client/assets/{avatar-D7wKrjgH.js → avatar-B7kKIqkG.js} +1 -1
  56. package/dist/client/assets/{badge-Rj4w6Y9D.js → badge-B1zUdZu4.js} +1 -1
  57. package/dist/client/assets/{block-document-Dr1GbIJR.js → block-document-D3PWH8Ct.js} +1 -1
  58. package/dist/client/assets/{brand-context-BHLNO4fC.js → brand-context-H7pTvrxE.js} +1 -1
  59. package/dist/client/assets/{buckets-C3GJftau.js → buckets-DAKgAom0.js} +1 -1
  60. package/dist/client/assets/{calendar-BETEvsL1.js → calendar-C0B8UkyJ.js} +1 -1
  61. package/dist/client/assets/{capability-load-error-Caduk_d2.js → capability-load-error-Bf51gqq2.js} +1 -1
  62. package/dist/client/assets/{card-BtNxdFil.js → card-BJ97y7iE.js} +1 -1
  63. package/dist/client/assets/category-editor-sLH8kFth.js +1 -0
  64. package/dist/client/assets/{chat-context-B_U1gcun.js → chat-context-DwuFSNXk.js} +1 -1
  65. package/dist/client/assets/{checkbox-CzoSEbjC.js → checkbox-CTtEhAwe.js} +1 -1
  66. package/dist/client/assets/{cli-auth-success-BaHruqex.js → cli-auth-success-D6UQk1Ih.js} +1 -1
  67. package/dist/client/assets/{collection-detail-Dlkc-Hxo.js → collection-detail-3yHYUZaT.js} +1 -1
  68. package/dist/client/assets/{collection-display-button-4X_RKgcc.js → collection-display-button-C4BR1DGs.js} +1 -1
  69. package/dist/client/assets/{collection-search-BSHmVsv0.js → collection-search-D49siPrl.js} +1 -1
  70. package/dist/client/assets/{collection-tabs-CghGabs6.js → collection-tabs-COIIQvGk.js} +1 -1
  71. package/dist/client/assets/{command-CYqVDIDi.js → command-Toe5bvPv.js} +1 -1
  72. package/dist/client/assets/{connect-desktop-dialog-Cq5se3ri.js → connect-desktop-dialog-wAwjOiTz.js} +1 -1
  73. package/dist/client/assets/{connection-card-CzT4sqi7.js → connection-card-DALvnRcW.js} +1 -1
  74. package/dist/client/assets/{connection-detail-BCjmmJh1.js → connection-detail-DDyIkE8L.js} +1 -1
  75. package/dist/client/assets/{connection-form-helpers-CuaSwKDp.js → connection-form-helpers-Bt8rfYZz.js} +1 -1
  76. package/dist/client/assets/{connections-BEh7d4ax.js → connections-C1v4kr3o.js} +1 -1
  77. package/dist/client/assets/{context-menu-CtPFsuQw.js → context-menu-Cjv4RLJv.js} +1 -1
  78. package/dist/client/assets/{decopilot-Bw9nv9Fa.js → decopilot-Jwqgdbyr.js} +1 -1
  79. package/dist/client/assets/{decopilot-sse-pool-DdZSTixQ.js → decopilot-sse-pool-tu8rIUid.js} +1 -1
  80. package/dist/client/assets/{dialog-BMBVdX8K.js → dialog-ZcUt91qN.js} +1 -1
  81. package/dist/client/assets/{domain-settings-GHKCO0j2.js → domain-settings-De7RJmeV.js} +1 -1
  82. package/dist/client/assets/{drawer-TLQRWcN-.js → drawer-Ch5vCDYY.js} +1 -1
  83. package/dist/client/assets/{dropdown-menu-gXn3xVef.js → dropdown-menu-CanZ1iuF.js} +1 -1
  84. package/dist/client/assets/{empty-state-SvMp_sYN.js → empty-state-DHrDb97g.js} +1 -1
  85. package/dist/client/assets/{extract-connection-data-BsbTS0uC.js → extract-connection-data-2Pprwu-z.js} +1 -1
  86. package/dist/client/assets/{file-explorer-C5eBRtME.js → file-explorer-kcyqbzZo.js} +1 -1
  87. package/dist/client/assets/{file-type-icon-DURyeK9L.js → file-type-icon-CfmazJxW.js} +1 -1
  88. package/dist/client/assets/{files-B43hGcq-.js → files-DXxIOKiY.js} +1 -1
  89. package/dist/client/assets/{form-CdGhzS_x.js → form-BnR92DK8.js} +1 -1
  90. package/dist/client/assets/{general-D01YsmbR.js → general-XwSOHaiO.js} +1 -1
  91. package/dist/client/assets/{github-repo-picker-Db3xiFzy.js → github-repo-picker-CQlmRX03.js} +1 -1
  92. package/dist/client/assets/{hooks-DlDryoZW.js → hooks-DVgYis4C.js} +1 -1
  93. package/dist/client/assets/{image-field-ZYWbFFqt.js → image-field-BGYmIBMw.js} +1 -1
  94. package/dist/client/assets/{import-from-deco-dialog-wt_cQutp.js → import-from-deco-dialog-Dk-lEkfx.js} +1 -1
  95. package/dist/client/assets/{index-H-_VOpOu.js → index-4hPVVAQd.js} +1 -1
  96. package/dist/client/assets/{index-D4WUCfu0.js → index-8mI3Tffx.js} +1 -1
  97. package/dist/client/assets/{index-CvuV8zWk.js → index-BnbBmKCA.js} +1 -1
  98. package/dist/client/assets/{index-dlN4JEF9.js → index-Bvg6u01c.js} +1 -1
  99. package/dist/client/assets/{index-C_H1H79r.js → index-BxN9R4vT.js} +1 -1
  100. package/dist/client/assets/{index-swPX_OFH.js → index-CH34hLfH.js} +1 -1
  101. package/dist/client/assets/{index-DEanDL8Y.js → index-CVXOwd6R.js} +1 -1
  102. package/dist/client/assets/{index-D0cczQd_.js → index-CVYP6LK-.js} +1 -1
  103. package/dist/client/assets/{index-CkC7ek4r.js → index-CioasWLZ.js} +1 -1
  104. package/dist/client/assets/{index-BW5f_EaT.js → index-Dqht8t56.js} +23 -23
  105. package/dist/client/assets/{index-DWvgpCdb.js → index-DwquSkYl.js} +1 -1
  106. package/dist/client/assets/{index-C35Pm7iN.js → index-DzSgFVo5.js} +1 -1
  107. package/dist/client/assets/{index-B66xjk-i.js → index-hvgJxH8L.js} +1 -1
  108. package/dist/client/assets/{index-redirect-CDQ9iDF3.js → index-redirect-DMpNpZGg.js} +1 -1
  109. package/dist/client/assets/{index-COlSsy5J.js → index-rm3C3HAe.js} +3 -3
  110. package/dist/client/assets/{input-CuVtlRv5.js → input-YP3xr2b6.js} +1 -1
  111. package/dist/client/assets/{integration-icon-RqT66_6U.js → integration-icon-DrPIi_Lw.js} +1 -1
  112. package/dist/client/assets/{label-BCRIEPd0.js → label-BZO-nx5U.js} +1 -1
  113. package/dist/client/assets/{login-ByPZpD-o.js → login-1j5bFdkC.js} +1 -1
  114. package/dist/client/assets/{mcp-oauth-kSTvScdZ.js → mcp-oauth-C2VCpurV.js} +1 -1
  115. package/dist/client/assets/{members-AD1fVrNE.js → members-jnRXqzpa.js} +1 -1
  116. package/dist/client/assets/{monaco-editor-DNLiFjHn.js → monaco-editor-DkCRcG9C.js} +1 -1
  117. package/dist/client/assets/{monitoring-stats-row-Bsctnbru.js → monitoring-stats-row-bSvCV5H1.js} +1 -1
  118. package/dist/client/assets/{oauth-callback-B6I9yHDk.js → oauth-callback-DDWsIx2e.js} +1 -1
  119. package/dist/client/assets/{oauth-callback-ai-provider-D0iCPw3h.js → oauth-callback-ai-provider-QYwVi3lj.js} +1 -1
  120. package/dist/client/assets/{onboarding-1ssRVacT.js → onboarding-CL25YArc.js} +1 -1
  121. package/dist/client/assets/{org-install-r5xxUZ8-.js → org-install-PwbKCjFJ.js} +1 -1
  122. package/dist/client/assets/{org-layout-i53vnou1.js → org-layout-DYjxNTnA.js} +1 -1
  123. package/dist/client/assets/{page-seo-form-BRpnzyUP.js → page-seo-form-BPGfCLGr.js} +1 -1
  124. package/dist/client/assets/page-seo-sheet-zOBS4edm.js +1 -0
  125. package/dist/client/assets/{popover-rRtv1RUJ.js → popover-CMddDx8S.js} +1 -1
  126. package/dist/client/assets/{post-editor-B3yACnM8.js → post-editor-Ny5AyRES.js} +1 -1
  127. package/dist/client/assets/{preview-dialog-HeEAXFdp.js → preview-dialog-ewcufuZZ.js} +1 -1
  128. package/dist/client/assets/{primitives-DOHAd4Be.js → primitives-g1tedqpt.js} +1 -1
  129. package/dist/client/assets/{profile-DxKVe_bi.js → profile-DdpZNTLe.js} +1 -1
  130. package/dist/client/assets/project-app-view-Ds65Vxu_.js +1 -0
  131. package/dist/client/assets/record-editor-QahHka2W.js +1 -0
  132. package/dist/client/assets/registry-DIVC_7pR.js +2 -0
  133. package/dist/client/assets/{registry-layout-Cqo7HGa-.js → registry-layout-BGxxCeZs.js} +1 -1
  134. package/dist/client/assets/{require-capability-GPOwZTVN.js → require-capability-BdVtn03N.js} +1 -1
  135. package/dist/client/assets/{required-auth-layout-D9YU16Eu.js → required-auth-layout-C3Gv1yj3.js} +1 -1
  136. package/dist/client/assets/{reset-password-BvvmcRor.js → reset-password-DA2LsDUk.js} +1 -1
  137. package/dist/client/assets/{roles-BG01ewdV.js → roles-Dh6KGM0U.js} +1 -1
  138. package/dist/client/assets/save-referenced-block-8Q-aWQo9.js +1 -0
  139. package/dist/client/assets/{save-status-2WDTqRnj.js → save-status-D8Sun7mT.js} +1 -1
  140. package/dist/client/assets/schema-form-Mo6wmjwV.js +2 -0
  141. package/dist/client/assets/{scroll-area-DOnfhZQE.js → scroll-area-HiEpDNZ9.js} +1 -1
  142. package/dist/client/assets/{search-input-Dh2xeHiv.js → search-input-CVNzv0kF.js} +1 -1
  143. package/dist/client/assets/{secrets-x-a9-QDY.js → secrets-ZRzeGgdw.js} +1 -1
  144. package/dist/client/assets/sections-editor-DEyShYpj.js +2 -0
  145. package/dist/client/assets/{select-Dqs7Z4yG.js → select-DNJPz4ZI.js} +1 -1
  146. package/dist/client/assets/{select-model-bXVR8jvT.js → select-model-_-YzMT35.js} +1 -1
  147. package/dist/client/assets/{seo-editor-d5x7SvAU.js → seo-editor-B2jQlXXL.js} +1 -1
  148. package/dist/client/assets/{settings-layout-CpPje1Xl.js → settings-layout-C1x4u3Hj.js} +1 -1
  149. package/dist/client/assets/{settings-section-BqnJtUWr.js → settings-section-Dm-722_v.js} +1 -1
  150. package/dist/client/assets/{sheet-Cn8FwYbD.js → sheet--I615llH.js} +1 -1
  151. package/dist/client/assets/{shell-controls-nCD3gP3E.js → shell-controls-BMuyxfdX.js} +1 -1
  152. package/dist/client/assets/{shell-layout-Cx--9PV8.js → shell-layout-D_O9nrWI.js} +1 -1
  153. package/dist/client/assets/{shell-route-loading-Brmd2_HQ.js → shell-route-loading-BCODfEXb.js} +1 -1
  154. package/dist/client/assets/{sidebar-D1LCPjC8.js → sidebar-CqyV3hvw.js} +1 -1
  155. package/dist/client/assets/{skeleton-Bo_6Cq99.js → skeleton-Db2IVZSk.js} +1 -1
  156. package/dist/client/assets/{sortable.esm-yJWb24sN.js → sortable.esm-C4XXVlGw.js} +1 -1
  157. package/dist/client/assets/{sso-DhhZEU-d.js → sso-BRdOCN4x.js} +1 -1
  158. package/dist/client/assets/{store-COjaCE4s.js → store-CJXbc2W2.js} +1 -1
  159. package/dist/client/assets/store-registry-m8sH3-l1.js +2 -0
  160. package/dist/client/assets/{studio-tools-CyTucPcW.js → studio-tools-Bs-4h4N6.js} +1 -1
  161. package/dist/client/assets/{switch-CorAlxCf.js → switch-CPIofN4u.js} +1 -1
  162. package/dist/client/assets/{table-Gv4tJy7V.js → table-D9vTl4St.js} +1 -1
  163. package/dist/client/assets/{tabs-DAvIQWby.js → tabs-nSWhKPrq.js} +1 -1
  164. package/dist/client/assets/{task-status-BfeF--n0.js → task-status-BT_ofK0L.js} +1 -1
  165. package/dist/client/assets/{textarea-DsT2vsGj.js → textarea-BYctdmbn.js} +1 -1
  166. package/dist/client/assets/{toggle-group-WKZVvwQm.js → toggle-group-DsnLxyxY.js} +1 -1
  167. package/dist/client/assets/{toolbar-BfY48AQu.js → toolbar-C8m_suht.js} +1 -1
  168. package/dist/client/assets/{tooltip-D5U362dF.js → tooltip-muTAVYsN.js} +1 -1
  169. package/dist/client/assets/{types-C-QYkfD4.js → types-DcyOlOkr.js} +1 -1
  170. package/dist/client/assets/{use-ai-providers-CLZQ64DO.js → use-ai-providers-hrShoTNJ.js} +1 -1
  171. package/dist/client/assets/{use-automations-DNKM1hXI.js → use-automations-DmxLmx01.js} +1 -1
  172. package/dist/client/assets/{use-capability-XIhIuFk7.js → use-capability-B928xLn2.js} +1 -1
  173. package/dist/client/assets/{use-clock-tick-DkwKhG1v.js → use-clock-tick-C60lgc5z.js} +1 -1
  174. package/dist/client/assets/{use-collections-D4JsVK-B.js → use-collections-DZb_dDr5.js} +1 -1
  175. package/dist/client/assets/{use-connection-C7Z8M26w.js → use-connection-B7DWRE37.js} +1 -1
  176. package/dist/client/assets/{use-copy-CqTP6NE5.js → use-copy-BeM54y_K.js} +1 -1
  177. package/dist/client/assets/{use-create-virtual-mcp-fk0U59RA.js → use-create-virtual-mcp-Dx7JOtra.js} +1 -1
  178. package/dist/client/assets/{use-debounced-autosave-B8dr6XMC.js → use-debounced-autosave-Di0IMVYg.js} +1 -1
  179. package/dist/client/assets/{use-deco-credits-Cm6qycwc.js → use-deco-credits-Db4_aWO7.js} +1 -1
  180. package/dist/client/assets/{use-delete-connection-DTrOkfly.js → use-delete-connection-k2LSoHvi.js} +1 -1
  181. package/dist/client/assets/{use-file-configs-DKTLvOxt.js → use-file-configs-DtiKgAOA.js} +1 -1
  182. package/dist/client/assets/{use-infinite-scroll-SjuQvrxH.js → use-infinite-scroll-CtiF3fgR.js} +1 -1
  183. package/dist/client/assets/{use-join-requests-DmU4yvI-.js → use-join-requests-CGazznom.js} +1 -1
  184. package/dist/client/assets/{use-mcp-client-CK2bE_Wl.js → use-mcp-client-VQUpV2Ii.js} +1 -1
  185. package/dist/client/assets/{use-mcp-prompts--L5Py2oF.js → use-mcp-prompts-VMwEXGxN.js} +1 -1
  186. package/dist/client/assets/{use-mcp-tools-B7wduqbV.js → use-mcp-tools-B1aAytZI.js} +1 -1
  187. package/dist/client/assets/{use-members-CYuArAru.js → use-members-CjS-AkZB.js} +1 -1
  188. package/dist/client/assets/{use-navigate-to-agent-C2rXzvAb.js → use-navigate-to-agent-C-zszyi1.js} +1 -1
  189. package/dist/client/assets/{use-org-auth-client-BYQp-Udb.js → use-org-auth-client-C9iPXZoQ.js} +1 -1
  190. package/dist/client/assets/{use-org-sso-Dh5HCYSJ.js → use-org-sso-DxnrDxMD.js} +1 -1
  191. package/dist/client/assets/{use-organization-roles-BR95hkZY.js → use-organization-roles-BRmfDzCj.js} +1 -1
  192. package/dist/client/assets/{use-organization-settings-CiSDOMOC.js → use-organization-settings-C_6Vi920.js} +1 -1
  193. package/dist/client/assets/{use-registry-connections-rHz6zGP7.js → use-registry-connections-B4n3e5W4.js} +1 -1
  194. package/dist/client/assets/{use-secrets-DLuniCTL.js → use-secrets-DbaTf5Lx.js} +1 -1
  195. package/dist/client/assets/{use-status-sounds-BmR3uEUx.js → use-status-sounds-DAQBMvRH.js} +1 -1
  196. package/dist/client/assets/{use-view-mode-CCFkxJ0W.js → use-view-mode-cVmqgRhQ.js} +1 -1
  197. package/dist/client/assets/{use-virtual-mcp-DPWDEWCb.js → use-virtual-mcp-CA84I6FL.js} +1 -1
  198. package/dist/client/assets/useInfiniteQuery-C8ycMIJZ.js +1 -0
  199. package/dist/client/assets/{useRouterState-q7ojL5Do.js → useRouterState-Cci41lb_.js} +1 -1
  200. package/dist/client/assets/useSuspenseInfiniteQuery-DEZ-HoPC.js +1 -0
  201. package/dist/client/assets/{view-mode-toggle-CeXLSv0R.js → view-mode-toggle-DPXvgrPU.js} +1 -1
  202. package/dist/client/index.html +1 -1
  203. package/dist/server/cli.js +440 -440
  204. package/dist/server/server.js +296 -296
  205. package/package.json +1 -1
  206. package/dist/client/assets/app-editor-Dd12zl9_.js +0 -1
  207. package/dist/client/assets/category-editor-D8faJ1-Q.js +0 -1
  208. package/dist/client/assets/page-seo-sheet-C8gLGTPM.js +0 -1
  209. package/dist/client/assets/project-app-view-C1SP7U91.js +0 -1
  210. package/dist/client/assets/record-editor-CmQTYxNi.js +0 -1
  211. package/dist/client/assets/registry-BLAsKSMe.js +0 -2
  212. package/dist/client/assets/save-referenced-block-qVgXMpcz.js +0 -1
  213. package/dist/client/assets/schema-form-hXy8-pLC.js +0 -1
  214. package/dist/client/assets/sections-editor-DpVqLaiP.js +0 -3
  215. package/dist/client/assets/store-registry-nvoM6APm.js +0 -2
  216. package/dist/client/assets/useInfiniteQuery-BS_m7Y7W.js +0 -1
  217. package/dist/client/assets/useSuspenseInfiniteQuery-CHHT-uCm.js +0 -1
@@ -1 +1 @@
1
- import{r,j as e,l as d}from"./index-COlSsy5J.js";function m(){const[s,i]=r.useState("loading"),[o,l]=r.useState(null),c=r.useRef(!1);return c.current||(c.current=!0,queueMicrotask(()=>{try{const t=new URLSearchParams(window.location.search),a=t.get("code"),n=t.get("state");if(!a||!n)throw new Error("Missing code or state parameter");if(window.opener)window.opener.postMessage({type:"AI_PROVIDER_OAUTH_CALLBACK",code:a,stateToken:n},window.location.origin),i("success"),setTimeout(()=>window.close(),1500);else throw new Error("No opener window found")}catch(t){console.error("OAuth callback error:",t),l(t instanceof Error?t.message:String(t)),i("error"),setTimeout(()=>window.close(),3e3)}})),e.jsx("div",{className:"min-h-screen flex items-center justify-center p-8 bg-background",children:e.jsxs("div",{className:"w-full max-w-md flex flex-col items-center justify-center gap-8",children:[s==="success"&&e.jsx("img",{src:"/empty-state-success.svg",alt:"",width:220,height:200,"aria-hidden":"true"}),s==="loading"&&e.jsx("div",{className:"flex items-center justify-center py-4",children:e.jsx(d,{size:32,className:"animate-spin text-primary"})}),s==="error"&&e.jsx("img",{src:"/empty-state-error.svg",alt:"",width:220,height:200,"aria-hidden":"true"}),e.jsxs("div",{className:"flex flex-col items-center gap-2 text-center",children:[e.jsx("h2",{className:"text-lg font-medium text-foreground",children:s==="error"?"Authentication Failed":s==="success"?"Authentication Successful":"Authentication in progress..."}),e.jsx("div",{className:"text-sm text-muted-foreground",children:s==="error"?e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"mb-2",children:"An error occurred during authentication:"}),e.jsx("p",{className:"text-destructive",children:o}),e.jsx("p",{className:"mt-2",children:"This window will close automatically."})]}):s==="success"?e.jsx("p",{children:"Authentication complete. This window will close automatically."}):e.jsx("p",{children:"Processing authentication..."})})]})]})})}export{m as default};
1
+ import{r,j as e,l as d}from"./index-rm3C3HAe.js";function m(){const[s,i]=r.useState("loading"),[o,l]=r.useState(null),c=r.useRef(!1);return c.current||(c.current=!0,queueMicrotask(()=>{try{const t=new URLSearchParams(window.location.search),a=t.get("code"),n=t.get("state");if(!a||!n)throw new Error("Missing code or state parameter");if(window.opener)window.opener.postMessage({type:"AI_PROVIDER_OAUTH_CALLBACK",code:a,stateToken:n},window.location.origin),i("success"),setTimeout(()=>window.close(),1500);else throw new Error("No opener window found")}catch(t){console.error("OAuth callback error:",t),l(t instanceof Error?t.message:String(t)),i("error"),setTimeout(()=>window.close(),3e3)}})),e.jsx("div",{className:"min-h-screen flex items-center justify-center p-8 bg-background",children:e.jsxs("div",{className:"w-full max-w-md flex flex-col items-center justify-center gap-8",children:[s==="success"&&e.jsx("img",{src:"/empty-state-success.svg",alt:"",width:220,height:200,"aria-hidden":"true"}),s==="loading"&&e.jsx("div",{className:"flex items-center justify-center py-4",children:e.jsx(d,{size:32,className:"animate-spin text-primary"})}),s==="error"&&e.jsx("img",{src:"/empty-state-error.svg",alt:"",width:220,height:200,"aria-hidden":"true"}),e.jsxs("div",{className:"flex flex-col items-center gap-2 text-center",children:[e.jsx("h2",{className:"text-lg font-medium text-foreground",children:s==="error"?"Authentication Failed":s==="success"?"Authentication Successful":"Authentication in progress..."}),e.jsx("div",{className:"text-sm text-muted-foreground",children:s==="error"?e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"mb-2",children:"An error occurred during authentication:"}),e.jsx("p",{className:"text-destructive",children:o}),e.jsx("p",{className:"mt-2",children:"This window will close automatically."})]}):s==="success"?e.jsx("p",{children:"Authentication complete. This window will close automatically."}):e.jsx("p",{children:"Processing authentication..."})})]})]})})}export{m as default};
@@ -1 +1 @@
1
- import{e as Q,j as t,b as me,l as H,a as se,r as M,m as pe,K as he,B as ie,c as Z,n as de}from"./index-COlSsy5J.js";import{R as xe}from"./required-auth-layout-D9YU16Eu.js";import{A as ee}from"./auth-split-layout-DeC-35_z.js";import{A as ne}from"./avatar-D7wKrjgH.js";import{I as be}from"./input-CuVtlRv5.js";import{L as je}from"./label-BCRIEPd0.js";import{S as ye}from"./switch-CorAlxCf.js";import{t as Ne,a as ve}from"./Users03-CJ4lkyfr.js";import{i as we}from"./CheckCircle-D9OslXZP.js";import{t as Se}from"./Globe04-BplUDurZ.js";import{a as ze}from"./Palette-pjBymHRy.js";import{i as ke}from"./Upload01-CuyZwIAy.js";import"./useRouterState-q7ojL5Do.js";import"./User01-kj3Bxvgl.js";const _e=new Set(["gmail.com","googlemail.com","outlook.com","hotmail.com","live.com","yahoo.com","yahoo.co.uk","icloud.com","me.com","mac.com","aol.com","protonmail.com","proton.me","zoho.com","yandex.com","mail.com","gmx.com","gmx.net","tutanota.com","fastmail.com"]);function re(r){return r.toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function Ve(){const r=Q.c(1);let e;return r[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx(xe,{children:t.jsx(Ce,{})}),r[0]=e):e=r[0],e}function oe(r){const e=Q.c(13),{title:l,description:c,logoUrl:u,logoFallback:a}=r;let s;e[0]!==a||e[1]!==u?(s=t.jsx("div",{children:u?t.jsx(ne,{url:u,fallback:a??"?",shape:"square",size:"base",className:"h-12 w-12"}):t.jsxs(t.Fragment,{children:[t.jsx("img",{src:"/logos/deco logo.svg",alt:"Deco",className:"h-12 w-12 dark:hidden"}),t.jsx("img",{src:"/logos/deco logo negative.svg",alt:"Deco",className:"h-12 w-12 hidden dark:block"})]})}),e[0]=a,e[1]=u,e[2]=s):s=e[2];let o;e[3]!==l?(o=t.jsx("h1",{className:"text-2xl font-medium leading-8",children:l}),e[3]=l,e[4]=o):o=e[4];let n;e[5]!==c?(n=t.jsx("p",{className:"text-base text-muted-foreground leading-6",children:c}),e[5]=c,e[6]=n):n=e[6];let p;e[7]!==o||e[8]!==n?(p=t.jsxs("div",{className:"space-y-2",children:[o,n]}),e[7]=o,e[8]=n,e[9]=p):p=e[9];let i;return e[10]!==s||e[11]!==p?(i=t.jsxs("div",{className:"grid gap-10",children:[s,p]}),e[10]=s,e[11]=p,e[12]=i):i=e[12],i}function Ce(){const r=Q.c(4),{data:e,isPending:l}=me.useSession();if(l){let s;return r[0]===Symbol.for("react.memo_cache_sentinel")?(s=t.jsx(ee,{children:t.jsx("div",{className:"flex items-center gap-2",children:t.jsx(H,{size:14,className:"animate-spin text-muted-foreground"})})}),r[0]=s):s=r[0],s}const c=e?.user?.email??"",u=e?.user?.name;let a;return r[1]!==u||r[2]!==c?(a=t.jsx(Ee,{email:c,userName:u}),r[1]=u,r[2]=c,r[3]=a):a=r[3],a}function Ee(r){const e=Q.c(64),{email:l,userName:c}=r;let u,a,s,o,n,p;if(e[0]!==l||e[1]!==c){s=l.split("@")[1]?.toLowerCase()??"",o=!!s&&!_e.has(s);const f=s.split(".")[0]??"";a=f.charAt(0).toUpperCase()+f.slice(1);let g;e[8]!==a||e[9]!==o||e[10]!==c?(g=o?a:c?.split(" ")[0]??"",e[8]=a,e[9]=o,e[10]=c,e[11]=g):g=e[11],u=g,p=pe,n=he.domainLookup(s),e[0]=l,e[1]=c,e[2]=u,e[3]=a,e[4]=s,e[5]=o,e[6]=n,e[7]=p}else u=e[2],a=e[3],s=e[4],o=e[5],n=e[6],p=e[7];let i;e[12]!==o||e[13]!==n?(i={queryKey:n,queryFn:Ae,enabled:o},e[12]=o,e[13]=n,e[14]=i):i=e[14];const{data:j,isLoading:d}=p(i);let N;e[15]===Symbol.for("react.memo_cache_sentinel")?(N={mutationFn:Re},e[15]=N):N=e[15];const m=se(N);let T;e[16]===Symbol.for("react.memo_cache_sentinel")?(T=new Set,e[16]=T):T=e[16];const[_,F]=M.useState(T);let C;e[17]===Symbol.for("react.memo_cache_sentinel")?(C={mutationFn:Pe,onSuccess:f=>{F(g=>new Set(g).add(f))}},e[17]=C):C=e[17];const h=se(C),[J,b]=M.useState(!1);if(d){let f;e[18]===Symbol.for("react.memo_cache_sentinel")?(f=t.jsx(H,{size:14,className:"animate-spin text-muted-foreground"}),e[18]=f):f=e[18];let g;return e[19]!==s?(g=t.jsx(ee,{children:t.jsxs("div",{className:"flex items-center gap-2 py-4",children:[f,t.jsxs("span",{className:"text-sm text-muted-foreground",children:["Checking ",s,"..."]})]})}),e[19]=s,e[20]=g):g=e[20],g}let L;e[21]!==j?.organizations?(L=j?.organizations??[],e[21]=j?.organizations,e[22]=L):L=e[22];const z=L,k=z.some(Oe),R=m.variables??null;if(J){let f;e[23]!==c?(f=c?.split(" ")[0]??"",e[23]=c,e[24]=f):f=e[24];let g;e[25]===Symbol.for("react.memo_cache_sentinel")?(g=()=>b(!1),e[25]=g):g=e[25];let y;return e[26]!==a||e[27]!==s||e[28]!==o||e[29]!==f?(y=t.jsx(le,{isCorporateEmail:o,emailDomain:s,domainLabel:a,defaultName:f,allowDomainClaim:!1,onBack:g}),e[26]=a,e[27]=s,e[28]=o,e[29]=f,e[30]=y):y=e[30],y}if(z.length>0){const f=k?z.length===1?"You have access to an organization":"You have access to multiple organizations":"Request access to an organization",g=k?"Your email domain matches an existing organization.":"Your email domain matches an organization that requires admin approval to join.";let y;e[31]!==f||e[32]!==g?(y=t.jsx(oe,{title:f,description:g}),e[31]=f,e[32]=g,e[33]=y):y=e[33];let E;if(e[34]!==s||e[35]!==m||e[36]!==z||e[37]!==R||e[38]!==h||e[39]!==_){let D;e[41]!==s||e[42]!==m||e[43]!==R||e[44]!==h||e[45]!==_?(D=v=>{const V=m.isPending&&R===v.slug,U=h.isPending&&h.variables===v.slug,I=_.has(v.slug);return t.jsxs("div",{className:"rounded-xl card-shadow bg-background dark:bg-input/30 p-4 flex items-center gap-4",children:[t.jsx(ne,{url:v.logo??`https://www.google.com/s2/favicons?domain=${s}&sz=128`,fallback:v.name.charAt(0).toUpperCase(),shape:"square",size:"base",className:"h-10 w-10 shrink-0"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-sm font-medium truncate",children:v.name}),t.jsxs("p",{className:"text-xs text-muted-foreground truncate",children:["@",s]})]}),v.joinMode==="auto"?t.jsx(ie,{size:"default",onClick:()=>m.mutate(v.slug),disabled:m.isPending,children:V?t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(H,{size:14,className:"animate-spin"})," ","Joining..."]}):"Join"}):I?t.jsx("span",{className:"text-xs text-muted-foreground shrink-0",children:"Request sent"}):t.jsx(ie,{size:"default",variant:"outline",onClick:()=>h.mutate(v.slug),disabled:h.isPending,children:U?t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(H,{size:14,className:"animate-spin"})," ","Requesting..."]}):"Request to join"})]},v.id)},e[41]=s,e[42]=m,e[43]=R,e[44]=h,e[45]=_,e[46]=D):D=e[46],E=z.map(D),e[34]=s,e[35]=m,e[36]=z,e[37]=R,e[38]=h,e[39]=_,e[40]=E}else E=e[40];let O;e[47]!==E?(O=t.jsx("div",{className:"grid gap-2",children:E}),e[47]=E,e[48]=O):O=e[48];let S;e[49]!==m.error?(S=m.error&&t.jsx("p",{className:"text-xs text-destructive",children:m.error instanceof Error?m.error.message:"Failed to join organization"}),e[49]=m.error,e[50]=S):S=e[50];let A;e[51]!==h.error?(A=h.error&&t.jsx("p",{className:"text-xs text-destructive",children:h.error instanceof Error?h.error.message:"Failed to request access"}),e[51]=h.error,e[52]=A):A=e[52];let P;e[53]===Symbol.for("react.memo_cache_sentinel")?(P=t.jsx("button",{type:"button",className:"text-sm text-muted-foreground hover:text-foreground transition-colors text-center",onClick:()=>b(!0),children:"Create a new organization instead"}),e[53]=P):P=e[53];let $;return e[54]!==y||e[55]!==O||e[56]!==S||e[57]!==A?($=t.jsx(ee,{children:t.jsxs("div",{className:"grid gap-10",children:[y,O,S,A,P]})}),e[54]=y,e[55]=O,e[56]=S,e[57]=A,e[58]=$):$=e[58],$}let q;return e[59]!==u||e[60]!==a||e[61]!==s||e[62]!==o?(q=t.jsx(le,{isCorporateEmail:o,emailDomain:s,domainLabel:a,defaultName:u}),e[59]=u,e[60]=a,e[61]=s,e[62]=o,e[63]=q):q=e[63],q}function Oe(r){return r.joinMode==="auto"}async function Pe(r){const e=await fetch("/api/auth/custom/domain-request-join",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({organizationSlug:r})}),l=await e.json();if(!e.ok||!l.success)throw new Error(l.error||"Failed to request access");return l.alreadyMember&&l.slug&&(window.location.href=`/${l.slug}`),r}async function Re(r){const e=await fetch("/api/auth/custom/domain-join",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({organizationSlug:r})}),l=await e.json();if(!e.ok||!l.success)throw new Error(l.error||"Failed to join organization");window.location.href=`/${l.slug}`}async function Ae(){return(await fetch("/api/auth/custom/domain-lookup",{credentials:"include"})).json()}function le(r){const e=Q.c(70),{isCorporateEmail:l,emailDomain:c,domainLabel:u,defaultName:a,allowDomainClaim:s,onBack:o}=r,n=s===void 0?!0:s,p=l&&n?`https://www.google.com/s2/favicons?domain=${c}&sz=128`:null,[i,j]=M.useState(a),[d,N]=M.useState(p),[m,T]=M.useState(!0),[_,F]=M.useState(null);let C;e[0]!==m||e[1]!==d||e[2]!==i?(C=async()=>{const x=await fetch("/api/auth/custom/domain-setup",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:i.trim()||void 0,logo:d??void 0,claimDomain:m})}),w=await x.json();if(!x.ok||!w.success)throw new Error(w.error||"Failed to set up organization");return w},e[0]=m,e[1]=d,e[2]=i,e[3]=C):C=e[3];let h;e[4]!==m?(h=x=>{if(!x.slug)return;const w=ue.filter(ge=>m||!ge.claimOnly).length,X=fe*(w-1)+800;F(x.slug),setTimeout(()=>{window.location.href=`/${x.slug}`},X)},e[4]=m,e[5]=h):h=e[5];let J;e[6]!==C||e[7]!==h?(J={mutationFn:C,onSuccess:h},e[6]=C,e[7]=h,e[8]=J):J=e[8];const b=se(J);let L;e[9]!==d||e[10]!==i?(L={mutationFn:async()=>{const x=i.trim(),w=re(x);if(!w)throw new Error("Invalid organization name");const X=await me.organization.create({name:x,slug:w,...d?{logo:d}:{}});if(X?.error)throw new Error(X.error.message||"Failed to create organization");window.location.href=`/${X?.data?.slug??w}`}},e[9]=d,e[10]=i,e[11]=L):L=e[11];const z=se(L);if(b.isPending||_){let x;e[12]!==u||e[13]!==i?(x=i.trim()||u,e[12]=u,e[13]=i,e[14]=x):x=e[14];let w;return e[15]!==m||e[16]!==c||e[17]!==d||e[18]!==x?(w=t.jsx(ee,{children:t.jsx(qe,{orgName:x,domain:c,claimDomain:m,logoUrl:d})}),e[15]=m,e[16]=c,e[17]=d,e[18]=x,e[19]=w):w=e[19],w}const k=z.isPending;let R;e[20]!==i?(R=re(i.trim()),e[20]=i,e[21]=R):R=e[21];const q=!!R,f=b.error||z.error||null;let g;e[22]!==n||e[23]!==q||e[24]!==z||e[25]!==b||e[26]!==l?(g=x=>{x.preventDefault(),q&&(l&&n?b.mutate():z.mutate())},e[22]=n,e[23]=q,e[24]=z,e[25]=b,e[26]=l,e[27]=g):g=e[27];const y=g;let E;e[28]===Symbol.for("react.memo_cache_sentinel")?(E=t.jsx(oe,{title:"Welcome to deco",description:"Set up your organization to get started"}),e[28]=E):E=e[28];let O;e[29]===Symbol.for("react.memo_cache_sentinel")?(O=t.jsxs("div",{className:"space-y-0.5",children:[t.jsx("p",{className:"text-sm font-medium",children:"Organization avatar"}),t.jsx("p",{className:"text-xs text-muted-foreground",children:"Optional"})]}),e[29]=O):O=e[29];let S;e[30]!==a||e[31]!==i?(S=(i.trim()||a||"?").charAt(0).toUpperCase(),e[30]=a,e[31]=i,e[32]=S):S=e[32];const A=k||b.isPending;let P;e[33]!==d||e[34]!==S||e[35]!==A?(P=t.jsxs("div",{className:"flex items-center justify-between gap-4 p-4",children:[O,t.jsx(Fe,{value:d,fallback:S,onChange:N,disabled:A})]}),e[33]=d,e[34]=S,e[35]=A,e[36]=P):P=e[36];let $;e[37]===Symbol.for("react.memo_cache_sentinel")?($=t.jsx(je,{htmlFor:"org-name",className:"text-sm font-medium shrink-0",children:"Organization name"}),e[37]=$):$=e[37];let D;e[38]===Symbol.for("react.memo_cache_sentinel")?(D=x=>j(x.target.value),e[38]=D):D=e[38];const v=a||"My Organization",V=k||b.isPending;let U;e[39]!==i||e[40]!==v||e[41]!==V?(U=t.jsxs("div",{className:"flex items-center justify-between gap-4 p-4",children:[$,t.jsx(be,{id:"org-name",value:i,onChange:D,placeholder:v,disabled:V,className:"h-10 max-w-[220px]"})]}),e[39]=i,e[40]=v,e[41]=V,e[42]=U):U=e[42];let I;e[43]!==n||e[44]!==m||e[45]!==b.isPending||e[46]!==c||e[47]!==l||e[48]!==k?(I=l&&n&&t.jsxs("div",{className:"flex items-center justify-between gap-4 p-4",children:[t.jsxs("div",{className:"space-y-0.5",children:[t.jsxs("p",{className:"text-sm font-medium",children:["Allow @",c," sign-ups"]}),t.jsxs("p",{className:"text-xs text-muted-foreground",children:["Anyone with a verified @",c," email can join this org"]})]}),t.jsx(ye,{checked:m,onCheckedChange:T,disabled:k||b.isPending})]}),e[43]=n,e[44]=m,e[45]=b.isPending,e[46]=c,e[47]=l,e[48]=k,e[49]=I):I=e[49];let B;e[50]!==P||e[51]!==U||e[52]!==I?(B=t.jsxs("div",{className:"rounded-xl card-shadow bg-background dark:bg-input/30 divide-y divide-border",children:[P,U,I]}),e[50]=P,e[51]=U,e[52]=I,e[53]=B):B=e[53];let Y;e[54]!==f?(Y=f&&t.jsx("p",{className:"text-xs text-destructive",children:f instanceof Error?f.message:"Failed to create organization"}),e[54]=f,e[55]=Y):Y=e[55];const ae=!q||k||b.isPending;let K;e[56]!==b.isPending||e[57]!==k?(K=k||b.isPending?t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(H,{size:14,className:"animate-spin"})," Creating..."]}):"Continue",e[56]=b.isPending,e[57]=k,e[58]=K):K=e[58];let G;e[59]!==ae||e[60]!==K?(G=t.jsx(ie,{type:"submit",size:"xl",className:"w-full",disabled:ae,children:K}),e[59]=ae,e[60]=K,e[61]=G):G=e[61];let W;e[62]!==o?(W=o&&t.jsx("button",{type:"button",className:"text-sm text-muted-foreground hover:text-foreground transition-colors text-center",onClick:o,children:"See available organizations"}),e[62]=o,e[63]=W):W=e[63];let te;return e[64]!==y||e[65]!==B||e[66]!==Y||e[67]!==G||e[68]!==W?(te=t.jsx(ee,{children:t.jsxs("form",{onSubmit:y,className:"grid gap-10",children:[E,B,Y,G,W]})}),e[64]=y,e[65]=B,e[66]=Y,e[67]=G,e[68]=W,e[69]=te):te=e[69],te}function Fe(r){const e=Q.c(14),{value:l,fallback:c,onChange:u,disabled:a}=r,s=M.useRef(null);let o;e[0]!==u?(o=T=>{const _=T.target.files?.[0];if(!_)return;if(_.size>2097152){de.error("Image must be smaller than 2MB"),s.current&&(s.current.value="");return}const F=new FileReader;F.onerror=Le,F.onloadend=()=>{F.result&&u(F.result),s.current&&(s.current.value="")},F.readAsDataURL(_)},e[0]=u,e[1]=o):o=e[1];const n=o;let p;e[2]===Symbol.for("react.memo_cache_sentinel")?(p=()=>s.current?.click(),e[2]=p):p=e[2];let i;e[3]!==a||e[4]!==n?(i=t.jsx("input",{ref:s,type:"file",accept:"image/*",onChange:n,className:"hidden",disabled:a}),e[3]=a,e[4]=n,e[5]=i):i=e[5];const j=l??void 0;let d;e[6]!==c||e[7]!==j?(d=t.jsx(ne,{url:j,fallback:c,shape:"square",size:"base"}),e[6]=c,e[7]=j,e[8]=d):d=e[8];let N;e[9]===Symbol.for("react.memo_cache_sentinel")?(N=t.jsx("span",{className:"absolute inset-0 flex items-center justify-center bg-black/50 opacity-0 group-hover:opacity-100 transition-opacity",children:t.jsx(ke,{size:14,className:"text-white"})}),e[9]=N):N=e[9];let m;return e[10]!==a||e[11]!==i||e[12]!==d?(m=t.jsxs("button",{type:"button",onClick:p,disabled:a,className:"relative rounded-lg overflow-hidden ring-1 ring-border hover:ring-2 hover:ring-ring/40 transition-all disabled:opacity-50 group","aria-label":"Upload organization logo",children:[i,d,N]}),e[10]=a,e[11]=i,e[12]=d,e[13]=m):m=e[13],m}function Le(){return de.error("Failed to read image")}const ue=[{icon:Ne,label:"Creating organization",claimOnly:!1},{icon:Se,label:"Claiming email domain",claimOnly:!0},{icon:ve,label:"Enabling auto-join for your team",claimOnly:!0},{icon:ze,label:"Extracting brand context",claimOnly:!1}],fe=1500,ce=[{bg:"var(--brand-green-light)",fg:"var(--brand-green-dark)"},{bg:"var(--brand-purple-light)",fg:"var(--brand-purple-dark)"},{bg:"var(--brand-yellow-light)",fg:"var(--brand-yellow-dark)"}];function qe({orgName:r,domain:e,claimDomain:l,logoUrl:c}){const u=ue.filter(n=>l||!n.claimOnly),[a,s]=M.useState(0),o=M.useRef(!1);if(!o.current){o.current=!0;for(let n=1;n<u.length;n++)setTimeout(()=>s(n),fe*n)}return t.jsxs("div",{className:"grid gap-10",children:[t.jsx(oe,{title:`Setting up ${r}`,description:`Getting everything ready from ${e}`,logoUrl:c??null,logoFallback:r.charAt(0).toUpperCase()||"?"}),t.jsx("ul",{className:"grid gap-5",children:u.map((n,p)=>{const i=n.icon,j=p===a,d=p<a,N=ce[p%ce.length];return t.jsxs("li",{className:"flex items-center gap-4 motion-safe:transition-opacity motion-safe:duration-300 motion-safe:ease-out",style:{opacity:d||j?1:.4},children:[t.jsxs("span",{className:Z("relative grid h-8 w-8 shrink-0 place-items-center rounded-lg","motion-safe:transition-colors motion-safe:duration-300",!d&&(j?"bg-muted text-foreground":"bg-muted text-muted-foreground")),style:d?{backgroundColor:N.bg,color:N.fg}:void 0,children:[t.jsx(we,{size:16,className:Z("absolute motion-safe:transition-all motion-safe:duration-300 motion-safe:ease-out",d?"scale-100 opacity-100":"scale-75 opacity-0"),"aria-hidden":"true"}),t.jsx(H,{size:16,className:Z("absolute animate-spin","motion-safe:transition-opacity motion-safe:duration-200",j?"opacity-100":"opacity-0"),"aria-hidden":"true"}),t.jsx(i,{size:16,className:Z("absolute motion-safe:transition-opacity motion-safe:duration-200",!d&&!j?"opacity-100":"opacity-0"),"aria-hidden":"true"})]}),t.jsx("span",{className:Z("text-base leading-6 motion-safe:transition-colors motion-safe:duration-300",j||d?"text-foreground":"text-muted-foreground"),children:n.label})]},n.label)})})]})}export{Ve as default};
1
+ import{e as Q,j as t,b as me,l as H,a as se,r as M,m as pe,K as he,B as ie,c as Z,n as de}from"./index-rm3C3HAe.js";import{R as xe}from"./required-auth-layout-C3Gv1yj3.js";import{A as ee}from"./auth-split-layout-Ce1sPlua.js";import{A as ne}from"./avatar-B7kKIqkG.js";import{I as be}from"./input-YP3xr2b6.js";import{L as je}from"./label-BZO-nx5U.js";import{S as ye}from"./switch-CPIofN4u.js";import{t as Ne,a as ve}from"./Users03-DPz9weBu.js";import{i as we}from"./CheckCircle-DXVZzubl.js";import{t as Se}from"./Globe04-B-0xtF1q.js";import{a as ze}from"./Palette-BDDXfJRi.js";import{i as ke}from"./Upload01-H0yxEIEj.js";import"./useRouterState-Cci41lb_.js";import"./User01-Dm5WZ8ZU.js";const _e=new Set(["gmail.com","googlemail.com","outlook.com","hotmail.com","live.com","yahoo.com","yahoo.co.uk","icloud.com","me.com","mac.com","aol.com","protonmail.com","proton.me","zoho.com","yandex.com","mail.com","gmx.com","gmx.net","tutanota.com","fastmail.com"]);function re(r){return r.toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function Ve(){const r=Q.c(1);let e;return r[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx(xe,{children:t.jsx(Ce,{})}),r[0]=e):e=r[0],e}function oe(r){const e=Q.c(13),{title:l,description:c,logoUrl:u,logoFallback:a}=r;let s;e[0]!==a||e[1]!==u?(s=t.jsx("div",{children:u?t.jsx(ne,{url:u,fallback:a??"?",shape:"square",size:"base",className:"h-12 w-12"}):t.jsxs(t.Fragment,{children:[t.jsx("img",{src:"/logos/deco logo.svg",alt:"Deco",className:"h-12 w-12 dark:hidden"}),t.jsx("img",{src:"/logos/deco logo negative.svg",alt:"Deco",className:"h-12 w-12 hidden dark:block"})]})}),e[0]=a,e[1]=u,e[2]=s):s=e[2];let o;e[3]!==l?(o=t.jsx("h1",{className:"text-2xl font-medium leading-8",children:l}),e[3]=l,e[4]=o):o=e[4];let n;e[5]!==c?(n=t.jsx("p",{className:"text-base text-muted-foreground leading-6",children:c}),e[5]=c,e[6]=n):n=e[6];let p;e[7]!==o||e[8]!==n?(p=t.jsxs("div",{className:"space-y-2",children:[o,n]}),e[7]=o,e[8]=n,e[9]=p):p=e[9];let i;return e[10]!==s||e[11]!==p?(i=t.jsxs("div",{className:"grid gap-10",children:[s,p]}),e[10]=s,e[11]=p,e[12]=i):i=e[12],i}function Ce(){const r=Q.c(4),{data:e,isPending:l}=me.useSession();if(l){let s;return r[0]===Symbol.for("react.memo_cache_sentinel")?(s=t.jsx(ee,{children:t.jsx("div",{className:"flex items-center gap-2",children:t.jsx(H,{size:14,className:"animate-spin text-muted-foreground"})})}),r[0]=s):s=r[0],s}const c=e?.user?.email??"",u=e?.user?.name;let a;return r[1]!==u||r[2]!==c?(a=t.jsx(Ee,{email:c,userName:u}),r[1]=u,r[2]=c,r[3]=a):a=r[3],a}function Ee(r){const e=Q.c(64),{email:l,userName:c}=r;let u,a,s,o,n,p;if(e[0]!==l||e[1]!==c){s=l.split("@")[1]?.toLowerCase()??"",o=!!s&&!_e.has(s);const f=s.split(".")[0]??"";a=f.charAt(0).toUpperCase()+f.slice(1);let g;e[8]!==a||e[9]!==o||e[10]!==c?(g=o?a:c?.split(" ")[0]??"",e[8]=a,e[9]=o,e[10]=c,e[11]=g):g=e[11],u=g,p=pe,n=he.domainLookup(s),e[0]=l,e[1]=c,e[2]=u,e[3]=a,e[4]=s,e[5]=o,e[6]=n,e[7]=p}else u=e[2],a=e[3],s=e[4],o=e[5],n=e[6],p=e[7];let i;e[12]!==o||e[13]!==n?(i={queryKey:n,queryFn:Ae,enabled:o},e[12]=o,e[13]=n,e[14]=i):i=e[14];const{data:j,isLoading:d}=p(i);let N;e[15]===Symbol.for("react.memo_cache_sentinel")?(N={mutationFn:Re},e[15]=N):N=e[15];const m=se(N);let T;e[16]===Symbol.for("react.memo_cache_sentinel")?(T=new Set,e[16]=T):T=e[16];const[_,F]=M.useState(T);let C;e[17]===Symbol.for("react.memo_cache_sentinel")?(C={mutationFn:Pe,onSuccess:f=>{F(g=>new Set(g).add(f))}},e[17]=C):C=e[17];const h=se(C),[J,b]=M.useState(!1);if(d){let f;e[18]===Symbol.for("react.memo_cache_sentinel")?(f=t.jsx(H,{size:14,className:"animate-spin text-muted-foreground"}),e[18]=f):f=e[18];let g;return e[19]!==s?(g=t.jsx(ee,{children:t.jsxs("div",{className:"flex items-center gap-2 py-4",children:[f,t.jsxs("span",{className:"text-sm text-muted-foreground",children:["Checking ",s,"..."]})]})}),e[19]=s,e[20]=g):g=e[20],g}let L;e[21]!==j?.organizations?(L=j?.organizations??[],e[21]=j?.organizations,e[22]=L):L=e[22];const z=L,k=z.some(Oe),R=m.variables??null;if(J){let f;e[23]!==c?(f=c?.split(" ")[0]??"",e[23]=c,e[24]=f):f=e[24];let g;e[25]===Symbol.for("react.memo_cache_sentinel")?(g=()=>b(!1),e[25]=g):g=e[25];let y;return e[26]!==a||e[27]!==s||e[28]!==o||e[29]!==f?(y=t.jsx(le,{isCorporateEmail:o,emailDomain:s,domainLabel:a,defaultName:f,allowDomainClaim:!1,onBack:g}),e[26]=a,e[27]=s,e[28]=o,e[29]=f,e[30]=y):y=e[30],y}if(z.length>0){const f=k?z.length===1?"You have access to an organization":"You have access to multiple organizations":"Request access to an organization",g=k?"Your email domain matches an existing organization.":"Your email domain matches an organization that requires admin approval to join.";let y;e[31]!==f||e[32]!==g?(y=t.jsx(oe,{title:f,description:g}),e[31]=f,e[32]=g,e[33]=y):y=e[33];let E;if(e[34]!==s||e[35]!==m||e[36]!==z||e[37]!==R||e[38]!==h||e[39]!==_){let D;e[41]!==s||e[42]!==m||e[43]!==R||e[44]!==h||e[45]!==_?(D=v=>{const V=m.isPending&&R===v.slug,U=h.isPending&&h.variables===v.slug,I=_.has(v.slug);return t.jsxs("div",{className:"rounded-xl card-shadow bg-background dark:bg-input/30 p-4 flex items-center gap-4",children:[t.jsx(ne,{url:v.logo??`https://www.google.com/s2/favicons?domain=${s}&sz=128`,fallback:v.name.charAt(0).toUpperCase(),shape:"square",size:"base",className:"h-10 w-10 shrink-0"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("p",{className:"text-sm font-medium truncate",children:v.name}),t.jsxs("p",{className:"text-xs text-muted-foreground truncate",children:["@",s]})]}),v.joinMode==="auto"?t.jsx(ie,{size:"default",onClick:()=>m.mutate(v.slug),disabled:m.isPending,children:V?t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(H,{size:14,className:"animate-spin"})," ","Joining..."]}):"Join"}):I?t.jsx("span",{className:"text-xs text-muted-foreground shrink-0",children:"Request sent"}):t.jsx(ie,{size:"default",variant:"outline",onClick:()=>h.mutate(v.slug),disabled:h.isPending,children:U?t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(H,{size:14,className:"animate-spin"})," ","Requesting..."]}):"Request to join"})]},v.id)},e[41]=s,e[42]=m,e[43]=R,e[44]=h,e[45]=_,e[46]=D):D=e[46],E=z.map(D),e[34]=s,e[35]=m,e[36]=z,e[37]=R,e[38]=h,e[39]=_,e[40]=E}else E=e[40];let O;e[47]!==E?(O=t.jsx("div",{className:"grid gap-2",children:E}),e[47]=E,e[48]=O):O=e[48];let S;e[49]!==m.error?(S=m.error&&t.jsx("p",{className:"text-xs text-destructive",children:m.error instanceof Error?m.error.message:"Failed to join organization"}),e[49]=m.error,e[50]=S):S=e[50];let A;e[51]!==h.error?(A=h.error&&t.jsx("p",{className:"text-xs text-destructive",children:h.error instanceof Error?h.error.message:"Failed to request access"}),e[51]=h.error,e[52]=A):A=e[52];let P;e[53]===Symbol.for("react.memo_cache_sentinel")?(P=t.jsx("button",{type:"button",className:"text-sm text-muted-foreground hover:text-foreground transition-colors text-center",onClick:()=>b(!0),children:"Create a new organization instead"}),e[53]=P):P=e[53];let $;return e[54]!==y||e[55]!==O||e[56]!==S||e[57]!==A?($=t.jsx(ee,{children:t.jsxs("div",{className:"grid gap-10",children:[y,O,S,A,P]})}),e[54]=y,e[55]=O,e[56]=S,e[57]=A,e[58]=$):$=e[58],$}let q;return e[59]!==u||e[60]!==a||e[61]!==s||e[62]!==o?(q=t.jsx(le,{isCorporateEmail:o,emailDomain:s,domainLabel:a,defaultName:u}),e[59]=u,e[60]=a,e[61]=s,e[62]=o,e[63]=q):q=e[63],q}function Oe(r){return r.joinMode==="auto"}async function Pe(r){const e=await fetch("/api/auth/custom/domain-request-join",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({organizationSlug:r})}),l=await e.json();if(!e.ok||!l.success)throw new Error(l.error||"Failed to request access");return l.alreadyMember&&l.slug&&(window.location.href=`/${l.slug}`),r}async function Re(r){const e=await fetch("/api/auth/custom/domain-join",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({organizationSlug:r})}),l=await e.json();if(!e.ok||!l.success)throw new Error(l.error||"Failed to join organization");window.location.href=`/${l.slug}`}async function Ae(){return(await fetch("/api/auth/custom/domain-lookup",{credentials:"include"})).json()}function le(r){const e=Q.c(70),{isCorporateEmail:l,emailDomain:c,domainLabel:u,defaultName:a,allowDomainClaim:s,onBack:o}=r,n=s===void 0?!0:s,p=l&&n?`https://www.google.com/s2/favicons?domain=${c}&sz=128`:null,[i,j]=M.useState(a),[d,N]=M.useState(p),[m,T]=M.useState(!0),[_,F]=M.useState(null);let C;e[0]!==m||e[1]!==d||e[2]!==i?(C=async()=>{const x=await fetch("/api/auth/custom/domain-setup",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:i.trim()||void 0,logo:d??void 0,claimDomain:m})}),w=await x.json();if(!x.ok||!w.success)throw new Error(w.error||"Failed to set up organization");return w},e[0]=m,e[1]=d,e[2]=i,e[3]=C):C=e[3];let h;e[4]!==m?(h=x=>{if(!x.slug)return;const w=ue.filter(ge=>m||!ge.claimOnly).length,X=fe*(w-1)+800;F(x.slug),setTimeout(()=>{window.location.href=`/${x.slug}`},X)},e[4]=m,e[5]=h):h=e[5];let J;e[6]!==C||e[7]!==h?(J={mutationFn:C,onSuccess:h},e[6]=C,e[7]=h,e[8]=J):J=e[8];const b=se(J);let L;e[9]!==d||e[10]!==i?(L={mutationFn:async()=>{const x=i.trim(),w=re(x);if(!w)throw new Error("Invalid organization name");const X=await me.organization.create({name:x,slug:w,...d?{logo:d}:{}});if(X?.error)throw new Error(X.error.message||"Failed to create organization");window.location.href=`/${X?.data?.slug??w}`}},e[9]=d,e[10]=i,e[11]=L):L=e[11];const z=se(L);if(b.isPending||_){let x;e[12]!==u||e[13]!==i?(x=i.trim()||u,e[12]=u,e[13]=i,e[14]=x):x=e[14];let w;return e[15]!==m||e[16]!==c||e[17]!==d||e[18]!==x?(w=t.jsx(ee,{children:t.jsx(qe,{orgName:x,domain:c,claimDomain:m,logoUrl:d})}),e[15]=m,e[16]=c,e[17]=d,e[18]=x,e[19]=w):w=e[19],w}const k=z.isPending;let R;e[20]!==i?(R=re(i.trim()),e[20]=i,e[21]=R):R=e[21];const q=!!R,f=b.error||z.error||null;let g;e[22]!==n||e[23]!==q||e[24]!==z||e[25]!==b||e[26]!==l?(g=x=>{x.preventDefault(),q&&(l&&n?b.mutate():z.mutate())},e[22]=n,e[23]=q,e[24]=z,e[25]=b,e[26]=l,e[27]=g):g=e[27];const y=g;let E;e[28]===Symbol.for("react.memo_cache_sentinel")?(E=t.jsx(oe,{title:"Welcome to deco",description:"Set up your organization to get started"}),e[28]=E):E=e[28];let O;e[29]===Symbol.for("react.memo_cache_sentinel")?(O=t.jsxs("div",{className:"space-y-0.5",children:[t.jsx("p",{className:"text-sm font-medium",children:"Organization avatar"}),t.jsx("p",{className:"text-xs text-muted-foreground",children:"Optional"})]}),e[29]=O):O=e[29];let S;e[30]!==a||e[31]!==i?(S=(i.trim()||a||"?").charAt(0).toUpperCase(),e[30]=a,e[31]=i,e[32]=S):S=e[32];const A=k||b.isPending;let P;e[33]!==d||e[34]!==S||e[35]!==A?(P=t.jsxs("div",{className:"flex items-center justify-between gap-4 p-4",children:[O,t.jsx(Fe,{value:d,fallback:S,onChange:N,disabled:A})]}),e[33]=d,e[34]=S,e[35]=A,e[36]=P):P=e[36];let $;e[37]===Symbol.for("react.memo_cache_sentinel")?($=t.jsx(je,{htmlFor:"org-name",className:"text-sm font-medium shrink-0",children:"Organization name"}),e[37]=$):$=e[37];let D;e[38]===Symbol.for("react.memo_cache_sentinel")?(D=x=>j(x.target.value),e[38]=D):D=e[38];const v=a||"My Organization",V=k||b.isPending;let U;e[39]!==i||e[40]!==v||e[41]!==V?(U=t.jsxs("div",{className:"flex items-center justify-between gap-4 p-4",children:[$,t.jsx(be,{id:"org-name",value:i,onChange:D,placeholder:v,disabled:V,className:"h-10 max-w-[220px]"})]}),e[39]=i,e[40]=v,e[41]=V,e[42]=U):U=e[42];let I;e[43]!==n||e[44]!==m||e[45]!==b.isPending||e[46]!==c||e[47]!==l||e[48]!==k?(I=l&&n&&t.jsxs("div",{className:"flex items-center justify-between gap-4 p-4",children:[t.jsxs("div",{className:"space-y-0.5",children:[t.jsxs("p",{className:"text-sm font-medium",children:["Allow @",c," sign-ups"]}),t.jsxs("p",{className:"text-xs text-muted-foreground",children:["Anyone with a verified @",c," email can join this org"]})]}),t.jsx(ye,{checked:m,onCheckedChange:T,disabled:k||b.isPending})]}),e[43]=n,e[44]=m,e[45]=b.isPending,e[46]=c,e[47]=l,e[48]=k,e[49]=I):I=e[49];let B;e[50]!==P||e[51]!==U||e[52]!==I?(B=t.jsxs("div",{className:"rounded-xl card-shadow bg-background dark:bg-input/30 divide-y divide-border",children:[P,U,I]}),e[50]=P,e[51]=U,e[52]=I,e[53]=B):B=e[53];let Y;e[54]!==f?(Y=f&&t.jsx("p",{className:"text-xs text-destructive",children:f instanceof Error?f.message:"Failed to create organization"}),e[54]=f,e[55]=Y):Y=e[55];const ae=!q||k||b.isPending;let K;e[56]!==b.isPending||e[57]!==k?(K=k||b.isPending?t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx(H,{size:14,className:"animate-spin"})," Creating..."]}):"Continue",e[56]=b.isPending,e[57]=k,e[58]=K):K=e[58];let G;e[59]!==ae||e[60]!==K?(G=t.jsx(ie,{type:"submit",size:"xl",className:"w-full",disabled:ae,children:K}),e[59]=ae,e[60]=K,e[61]=G):G=e[61];let W;e[62]!==o?(W=o&&t.jsx("button",{type:"button",className:"text-sm text-muted-foreground hover:text-foreground transition-colors text-center",onClick:o,children:"See available organizations"}),e[62]=o,e[63]=W):W=e[63];let te;return e[64]!==y||e[65]!==B||e[66]!==Y||e[67]!==G||e[68]!==W?(te=t.jsx(ee,{children:t.jsxs("form",{onSubmit:y,className:"grid gap-10",children:[E,B,Y,G,W]})}),e[64]=y,e[65]=B,e[66]=Y,e[67]=G,e[68]=W,e[69]=te):te=e[69],te}function Fe(r){const e=Q.c(14),{value:l,fallback:c,onChange:u,disabled:a}=r,s=M.useRef(null);let o;e[0]!==u?(o=T=>{const _=T.target.files?.[0];if(!_)return;if(_.size>2097152){de.error("Image must be smaller than 2MB"),s.current&&(s.current.value="");return}const F=new FileReader;F.onerror=Le,F.onloadend=()=>{F.result&&u(F.result),s.current&&(s.current.value="")},F.readAsDataURL(_)},e[0]=u,e[1]=o):o=e[1];const n=o;let p;e[2]===Symbol.for("react.memo_cache_sentinel")?(p=()=>s.current?.click(),e[2]=p):p=e[2];let i;e[3]!==a||e[4]!==n?(i=t.jsx("input",{ref:s,type:"file",accept:"image/*",onChange:n,className:"hidden",disabled:a}),e[3]=a,e[4]=n,e[5]=i):i=e[5];const j=l??void 0;let d;e[6]!==c||e[7]!==j?(d=t.jsx(ne,{url:j,fallback:c,shape:"square",size:"base"}),e[6]=c,e[7]=j,e[8]=d):d=e[8];let N;e[9]===Symbol.for("react.memo_cache_sentinel")?(N=t.jsx("span",{className:"absolute inset-0 flex items-center justify-center bg-black/50 opacity-0 group-hover:opacity-100 transition-opacity",children:t.jsx(ke,{size:14,className:"text-white"})}),e[9]=N):N=e[9];let m;return e[10]!==a||e[11]!==i||e[12]!==d?(m=t.jsxs("button",{type:"button",onClick:p,disabled:a,className:"relative rounded-lg overflow-hidden ring-1 ring-border hover:ring-2 hover:ring-ring/40 transition-all disabled:opacity-50 group","aria-label":"Upload organization logo",children:[i,d,N]}),e[10]=a,e[11]=i,e[12]=d,e[13]=m):m=e[13],m}function Le(){return de.error("Failed to read image")}const ue=[{icon:Ne,label:"Creating organization",claimOnly:!1},{icon:Se,label:"Claiming email domain",claimOnly:!0},{icon:ve,label:"Enabling auto-join for your team",claimOnly:!0},{icon:ze,label:"Extracting brand context",claimOnly:!1}],fe=1500,ce=[{bg:"var(--brand-green-light)",fg:"var(--brand-green-dark)"},{bg:"var(--brand-purple-light)",fg:"var(--brand-purple-dark)"},{bg:"var(--brand-yellow-light)",fg:"var(--brand-yellow-dark)"}];function qe({orgName:r,domain:e,claimDomain:l,logoUrl:c}){const u=ue.filter(n=>l||!n.claimOnly),[a,s]=M.useState(0),o=M.useRef(!1);if(!o.current){o.current=!0;for(let n=1;n<u.length;n++)setTimeout(()=>s(n),fe*n)}return t.jsxs("div",{className:"grid gap-10",children:[t.jsx(oe,{title:`Setting up ${r}`,description:`Getting everything ready from ${e}`,logoUrl:c??null,logoFallback:r.charAt(0).toUpperCase()||"?"}),t.jsx("ul",{className:"grid gap-5",children:u.map((n,p)=>{const i=n.icon,j=p===a,d=p<a,N=ce[p%ce.length];return t.jsxs("li",{className:"flex items-center gap-4 motion-safe:transition-opacity motion-safe:duration-300 motion-safe:ease-out",style:{opacity:d||j?1:.4},children:[t.jsxs("span",{className:Z("relative grid h-8 w-8 shrink-0 place-items-center rounded-lg","motion-safe:transition-colors motion-safe:duration-300",!d&&(j?"bg-muted text-foreground":"bg-muted text-muted-foreground")),style:d?{backgroundColor:N.bg,color:N.fg}:void 0,children:[t.jsx(we,{size:16,className:Z("absolute motion-safe:transition-all motion-safe:duration-300 motion-safe:ease-out",d?"scale-100 opacity-100":"scale-75 opacity-0"),"aria-hidden":"true"}),t.jsx(H,{size:16,className:Z("absolute animate-spin","motion-safe:transition-opacity motion-safe:duration-200",j?"opacity-100":"opacity-0"),"aria-hidden":"true"}),t.jsx(i,{size:16,className:Z("absolute motion-safe:transition-opacity motion-safe:duration-200",!d&&!j?"opacity-100":"opacity-0"),"aria-hidden":"true"})]}),t.jsx("span",{className:Z("text-base leading-6 motion-safe:transition-colors motion-safe:duration-300",j||d?"text-foreground":"text-muted-foreground"),children:n.label})]},n.label)})})]})}export{Ve as default};
@@ -1 +1 @@
1
- import{e as k,r as z,b0 as S,g as E,E as _,b1 as T,j as o,L as $}from"./index-COlSsy5J.js";const L="#f6f4ed",P="#ffffff",H=[{src:"/icons/icon-192.png",sizes:"192x192",type:"image/png"},{src:"/icons/icon-512.png",sizes:"512x512",type:"image/png"}];function R(e,n){const t=`${n}/${e.slug}`,i=[...e.logo?[{src:e.logo,sizes:"192x192",purpose:"any"},{src:e.logo,sizes:"512x512",purpose:"any"},{src:e.logo,sizes:"any",purpose:"any"}]:[],...H],l={id:t,name:e.name,short_name:e.name,start_url:t,scope:t,display:"standalone",display_override:["window-controls-overlay"],background_color:P,theme_color:L,icons:i};return`data:application/manifest+json,${encodeURIComponent(JSON.stringify(l))}`}function O(e){const n=document.querySelector(`link[rel="${e}"]`);if(n)return n;const t=document.createElement("link");return t.rel=e,document.head.appendChild(t),t}function U(e){const n=document.querySelector(`meta[name="${e}"]`);if(n)return n;const t=document.createElement("meta");return t.name=e,document.head.appendChild(t),t}function M(e){const n=k.c(5),t=e?.name??"",i=e?.slug??"",l=e?.logo??"";let a,c;n[0]!==l||n[1]!==t||n[2]!==i?(a=()=>{if(!i||!t||typeof document>"u"||typeof window>"u")return;const d=O("manifest"),m=O("apple-touch-icon"),u=U("apple-mobile-web-app-title"),r={manifest:d.getAttribute("href"),appleIcon:m.getAttribute("href"),appleTitle:u.getAttribute("content"),title:document.title};return d.setAttribute("href",R({name:t,slug:i,logo:l||null},window.location.origin)),l&&m.setAttribute("href",l),u.setAttribute("content",t),document.title=t,S(),()=>{r.manifest!==null&&d.setAttribute("href",r.manifest),r.appleIcon!==null&&m.setAttribute("href",r.appleIcon),r.appleTitle!==null&&u.setAttribute("content",r.appleTitle),document.title=r.title,S()}},c=[t,i,l],n[0]=l,n[1]=t,n[2]=i,n[3]=a,n[4]=c):(a=n[3],c=n[4]),z.useLayoutEffect(a,c)}function q(){const e=k.c(31);let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n={strict:!1},e[0]=n):n=e[0];const{org:t}=E(n),{data:i}=_();let l;e[1]!==i||e[2]!==t?(l=i?.find(N=>N.slug===t),e[1]=i,e[2]=t,e[3]=l):l=e[3];const a=l;let c;e[4]!==a?(c=a?{name:a.name,slug:a.slug,logo:a.logo??null}:null,e[4]=a,e[5]=c):c=e[5],M(c);const{canPrompt:d,installed:m,ios:u,promptInstall:r}=T(),[y,w]=z.useState(null),s=a?.name??"this organization",C=a?.logo;let b;e[6]!==s||e[7]!==r?(b=async()=>{const N=await r();w(N==="accepted"?`Installing ${s}…`:N==="dismissed"?"Install dismissed.":null)},e[6]=s,e[7]=r,e[8]=b):b=e[8];const A=b,I=C||"/icons/icon-192.png";let p;e[9]!==s||e[10]!==I?(p=o.jsx("img",{src:I,alt:s,className:"size-20 rounded-2xl border border-border/50 object-cover"}),e[9]=s,e[10]=I,e[11]=p):p=e[11];let f;e[12]!==s?(f=o.jsxs("div",{className:"flex flex-col gap-2",children:[o.jsxs("h1",{className:"text-xl font-semibold text-foreground",children:["Add ",s," to your Home Screen"]}),o.jsxs("p",{className:"text-sm text-muted-foreground",children:["Install ",s," as its own app — a standalone window that opens straight into this organization. To install the full deco Studio app instead, use your browser's “Add to Home Screen” from any other page."]})]}),e[12]=s,e[13]=f):f=e[13];let g;e[14]!==d||e[15]!==A||e[16]!==m||e[17]!==u||e[18]!==s||e[19]!==y?(g=m?o.jsxs("p",{className:"rounded-lg bg-muted px-4 py-3 text-sm text-foreground",children:[s," is already installed on this device."]}):u?o.jsxs("div",{className:"flex flex-col gap-2 rounded-lg bg-muted px-4 py-3 text-sm text-foreground",children:[o.jsx("p",{className:"font-medium",children:"Install on iOS"}),o.jsxs("p",{className:"text-muted-foreground",children:["Tap the ",o.jsx("span",{className:"font-medium",children:"Share"})," button, then choose ",o.jsx("span",{className:"font-medium",children:"Add to Home Screen"}),"."]})]}):d?o.jsxs("div",{className:"flex flex-col items-center gap-3",children:[o.jsxs("button",{type:"button",onClick:A,className:"rounded-lg bg-primary px-5 py-2.5 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/90",children:["Add ",s," to Home Screen"]}),y&&o.jsx("p",{className:"text-sm text-muted-foreground",children:y})]}):o.jsxs("p",{className:"rounded-lg bg-muted px-4 py-3 text-sm text-muted-foreground",children:["To install, open your browser's menu and choose"," ",o.jsxs("span",{className:"font-medium text-foreground",children:["Install ",s]})," ","(or “Add to Home Screen”). If you don't see it yet, interact with the app for a moment and try again."]}),e[14]=d,e[15]=A,e[16]=m,e[17]=u,e[18]=s,e[19]=y,e[20]=g):g=e[20];const v=t??"";let x;e[21]!==v?(x={org:v},e[21]=v,e[22]=x):x=e[22];let h;e[23]!==s||e[24]!==x?(h=o.jsxs($,{to:"/$org",params:x,className:"text-sm text-primary hover:underline",replace:!0,children:["Back to ",s]}),e[23]=s,e[24]=x,e[25]=h):h=e[25];let j;return e[26]!==h||e[27]!==p||e[28]!==f||e[29]!==g?(j=o.jsx("div",{className:"flex min-h-dvh items-center justify-center bg-background p-6",children:o.jsxs("div",{className:"flex w-full max-w-md flex-col items-center gap-6 text-center",children:[p,f,g,h]})}),e[26]=h,e[27]=p,e[28]=f,e[29]=g,e[30]=j):j=e[30],j}export{q as default};
1
+ import{e as k,r as z,b0 as S,g as E,E as _,b1 as T,j as o,L as $}from"./index-rm3C3HAe.js";const L="#f6f4ed",P="#ffffff",H=[{src:"/icons/icon-192.png",sizes:"192x192",type:"image/png"},{src:"/icons/icon-512.png",sizes:"512x512",type:"image/png"}];function R(e,n){const t=`${n}/${e.slug}`,i=[...e.logo?[{src:e.logo,sizes:"192x192",purpose:"any"},{src:e.logo,sizes:"512x512",purpose:"any"},{src:e.logo,sizes:"any",purpose:"any"}]:[],...H],l={id:t,name:e.name,short_name:e.name,start_url:t,scope:t,display:"standalone",display_override:["window-controls-overlay"],background_color:P,theme_color:L,icons:i};return`data:application/manifest+json,${encodeURIComponent(JSON.stringify(l))}`}function O(e){const n=document.querySelector(`link[rel="${e}"]`);if(n)return n;const t=document.createElement("link");return t.rel=e,document.head.appendChild(t),t}function U(e){const n=document.querySelector(`meta[name="${e}"]`);if(n)return n;const t=document.createElement("meta");return t.name=e,document.head.appendChild(t),t}function M(e){const n=k.c(5),t=e?.name??"",i=e?.slug??"",l=e?.logo??"";let a,c;n[0]!==l||n[1]!==t||n[2]!==i?(a=()=>{if(!i||!t||typeof document>"u"||typeof window>"u")return;const d=O("manifest"),m=O("apple-touch-icon"),u=U("apple-mobile-web-app-title"),r={manifest:d.getAttribute("href"),appleIcon:m.getAttribute("href"),appleTitle:u.getAttribute("content"),title:document.title};return d.setAttribute("href",R({name:t,slug:i,logo:l||null},window.location.origin)),l&&m.setAttribute("href",l),u.setAttribute("content",t),document.title=t,S(),()=>{r.manifest!==null&&d.setAttribute("href",r.manifest),r.appleIcon!==null&&m.setAttribute("href",r.appleIcon),r.appleTitle!==null&&u.setAttribute("content",r.appleTitle),document.title=r.title,S()}},c=[t,i,l],n[0]=l,n[1]=t,n[2]=i,n[3]=a,n[4]=c):(a=n[3],c=n[4]),z.useLayoutEffect(a,c)}function q(){const e=k.c(31);let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n={strict:!1},e[0]=n):n=e[0];const{org:t}=E(n),{data:i}=_();let l;e[1]!==i||e[2]!==t?(l=i?.find(N=>N.slug===t),e[1]=i,e[2]=t,e[3]=l):l=e[3];const a=l;let c;e[4]!==a?(c=a?{name:a.name,slug:a.slug,logo:a.logo??null}:null,e[4]=a,e[5]=c):c=e[5],M(c);const{canPrompt:d,installed:m,ios:u,promptInstall:r}=T(),[y,w]=z.useState(null),s=a?.name??"this organization",C=a?.logo;let b;e[6]!==s||e[7]!==r?(b=async()=>{const N=await r();w(N==="accepted"?`Installing ${s}…`:N==="dismissed"?"Install dismissed.":null)},e[6]=s,e[7]=r,e[8]=b):b=e[8];const A=b,I=C||"/icons/icon-192.png";let p;e[9]!==s||e[10]!==I?(p=o.jsx("img",{src:I,alt:s,className:"size-20 rounded-2xl border border-border/50 object-cover"}),e[9]=s,e[10]=I,e[11]=p):p=e[11];let f;e[12]!==s?(f=o.jsxs("div",{className:"flex flex-col gap-2",children:[o.jsxs("h1",{className:"text-xl font-semibold text-foreground",children:["Add ",s," to your Home Screen"]}),o.jsxs("p",{className:"text-sm text-muted-foreground",children:["Install ",s," as its own app — a standalone window that opens straight into this organization. To install the full deco Studio app instead, use your browser's “Add to Home Screen” from any other page."]})]}),e[12]=s,e[13]=f):f=e[13];let g;e[14]!==d||e[15]!==A||e[16]!==m||e[17]!==u||e[18]!==s||e[19]!==y?(g=m?o.jsxs("p",{className:"rounded-lg bg-muted px-4 py-3 text-sm text-foreground",children:[s," is already installed on this device."]}):u?o.jsxs("div",{className:"flex flex-col gap-2 rounded-lg bg-muted px-4 py-3 text-sm text-foreground",children:[o.jsx("p",{className:"font-medium",children:"Install on iOS"}),o.jsxs("p",{className:"text-muted-foreground",children:["Tap the ",o.jsx("span",{className:"font-medium",children:"Share"})," button, then choose ",o.jsx("span",{className:"font-medium",children:"Add to Home Screen"}),"."]})]}):d?o.jsxs("div",{className:"flex flex-col items-center gap-3",children:[o.jsxs("button",{type:"button",onClick:A,className:"rounded-lg bg-primary px-5 py-2.5 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/90",children:["Add ",s," to Home Screen"]}),y&&o.jsx("p",{className:"text-sm text-muted-foreground",children:y})]}):o.jsxs("p",{className:"rounded-lg bg-muted px-4 py-3 text-sm text-muted-foreground",children:["To install, open your browser's menu and choose"," ",o.jsxs("span",{className:"font-medium text-foreground",children:["Install ",s]})," ","(or “Add to Home Screen”). If you don't see it yet, interact with the app for a moment and try again."]}),e[14]=d,e[15]=A,e[16]=m,e[17]=u,e[18]=s,e[19]=y,e[20]=g):g=e[20];const v=t??"";let x;e[21]!==v?(x={org:v},e[21]=v,e[22]=x):x=e[22];let h;e[23]!==s||e[24]!==x?(h=o.jsxs($,{to:"/$org",params:x,className:"text-sm text-primary hover:underline",replace:!0,children:["Back to ",s]}),e[23]=s,e[24]=x,e[25]=h):h=e[25];let j;return e[26]!==h||e[27]!==p||e[28]!==f||e[29]!==g?(j=o.jsx("div",{className:"flex min-h-dvh items-center justify-center bg-background p-6",children:o.jsxs("div",{className:"flex w-full max-w-md flex-col items-center gap-6 text-center",children:[p,f,g,h]})}),e[26]=h,e[27]=p,e[28]=f,e[29]=g,e[30]=j):j=e[30],j}export{q as default};
@@ -1 +1 @@
1
- import{e as o,j as r,O as s}from"./index-COlSsy5J.js";function m(){const e=o.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=r.jsx(s,{}),e[0]=t):t=e[0],t}export{m as default};
1
+ import{e as o,j as r,O as s}from"./index-rm3C3HAe.js";function m(){const e=o.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=r.jsx(s,{}),e[0]=t):t=e[0],t}export{m as default};
@@ -1 +1 @@
1
- import{e as F,F as te,K as U,j as a,r as M,c as ne}from"./index-COlSsy5J.js";import{i as oe,o as z,a7 as se,a8 as re,_ as ie,g as le}from"./index-BW5f_EaT.js";import{L as Y}from"./label-BCRIEPd0.js";import{S as $}from"./switch-CorAlxCf.js";import{a as ce,S as ae}from"./schema-form-hXy8-pLC.js";import{a as ue,b as fe,c as pe,S as de,d as ye}from"./select-Dqs7Z4yG.js";const he="website/sections/Rendering/Lazy.tsx";function K(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function N(t){if(!K(t))return!1;const e=t.__resolveType;return typeof e=="string"&&oe(e)}function k(t){return t!=null}function w(t){if(t==null)return t;if(N(t)){const e=t.section;return e==null?null:K(e)?e:{}}return K(t)?t:void 0}function G(t,e){return t===null?null:N(e)?{...e,section:t}:t}function me(t){return{__resolveType:t}}function Se(t,e){if(!k(e))return null;if(t){const n=w(e)??{};return{__resolveType:he,section:n}}return N(e)?w(e)??null:K(e)?e:null}const ge="General";function O(t){return/\/Seo(V\d+)?\.tsx$/i.test(t)||t.includes("/sections/Seo")}function Q(t,e){return t===C?ge:e}function W(t){const e=re(t),n=new Set,o=[];for(const s of e)O(s.resolveType)&&(ie(s.resolveType)||n.has(s.resolveType)||(n.add(s.resolveType),o.push({resolveType:s.resolveType,title:Q(s.resolveType,s.title),description:s.description})));return o}function V(t){const e=se(t),n=z(e,t),o=W(n?.properties?.seo);return o.length>0?o:ve(t)}function ve(t){const e=t.manifest?.blocks??{},n=[];for(const[o,s]of Object.entries(e))if(o.includes("sections"))for(const r of Object.keys(s)){if(!O(r))continue;const i=r.split("/").pop()?.replace(/\.tsx?$/,"")??r;n.push({resolveType:r,title:Q(r,i)})}return n}function Z(t){const e=V(t),n=e.find(o=>o.resolveType===C);return n?n.resolveType:e[0]?.resolveType??C}function q(t,e){const n=e.__resolveType;if(typeof n=="string"){const o=z(n,t),s=W(o?.properties?.seo);if(s.length>0)return s}return V(t)}function be(t,e){const n=q(t,e),o=n.find(s=>s.resolveType===C);return o?o.resolveType:n[0]?.resolveType??Z(t)}function Te(t,e){const n=e?.__resolveType;return typeof n=="string"&&n.length>0?n:Z(t)}function _e(t,e,n){const o=n.__resolveType;return typeof o=="string"&&O(o)?o:be(t,e)}const xe=new Set(["website/pages/Page.tsx","$live/pages/LivePage.tsx"]),C="website/sections/Seo/SeoV2.tsx",Re=["title","titleTemplate","description","descriptionTemplate","image","favicon","type","noIndexing"];function L(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Ee(t){return typeof t.__resolveType=="string"&&O(t.__resolveType)?!0:Re.some(e=>e in t)}function je(t,e){for(const[n,o]of Object.entries(t)){if(!L(o))continue;const s=o,r=s.__resolveType;if(typeof r=="string"&&xe.has(r))continue;const i=s.seo;if(L(i)){const c=i;if(Ee(c))return{blockKey:n,kind:"nested",seoData:c,blockData:s,seoResolveType:e?_e(e,s,c):typeof c.__resolveType=="string"&&O(c.__resolveType)?c.__resolveType:C}}}for(const[n,o]of Object.entries(t)){if(!L(o))continue;const s=o;if(typeof s.__resolveType=="string"&&O(s.__resolveType))return{blockKey:n,kind:"block",seoData:s,blockData:s,seoResolveType:s.__resolveType}}return null}function De(t,e){return t.kind==="block"?e:{...t.blockData,seo:e}}function qe(t,e,n){if(e.kind==="site"){const l=je(t,n);return l?{blockKey:l.blockKey,seoData:l.seoData,seoResolveType:l.seoResolveType,siteKind:l.kind,seoTypeOptions:n?q(n,l.blockData):void 0,build:d=>De(l,d)}:null}const o=t[e.pageKey];if(!L(o))return null;const s=o,r=s.seo,i=w(r),c=i&&L(i)?i:void 0;return{blockKey:e.pageKey,seoData:c,rawSeoData:r,seoResolveType:n?Te(n,c):typeof c?.__resolveType=="string"?c.__resolveType:C,seoTypeOptions:n?V(n):void 0,build:l=>({...s,seo:l===null?null:G(l,r)})}}function I(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Ce(t,e,n,o){if(t.kind==="page"){if(!I(n))return null;const s=n.seo!==void 0?n.seo:e.rawSeoData;return{...n,seo:o===null?null:G(o,s)}}return I(n)?e.siteKind==="block"?o:{...n,seo:o}:null}function He(t,e){const n=t.__resolveType;return typeof n=="string"&&n.length>0?n:e.seoResolveType}function Je(t){const e=F.c(23),{orgSlug:n,virtualMcpId:o,branch:s,target:r,resolved:i,onSaved:c}=t,l=te(),d=`${n}/${o}/${s}`;let y;e[0]!==s||e[1]!==n||e[2]!==o?(y={orgSlug:n,virtualMcpId:o,branch:s},e[0]=s,e[1]=n,e[2]=o,e[3]=y):y=e[3];let p;e[4]!==c?(p={onSaved:c},e[4]=c,e[5]=p):p=e[5];const{save:f,flush:S,isPending:h}=le(y,p);let m;e[6]!==d||e[7]!==l||e[8]!==i||e[9]!==f||e[10]!==r?(m=E=>{i&&f(i.blockKey,()=>{const b=l.getQueryData(U.decofile(d))?.[i.blockKey];return Ce(r,i,b,E)})},e[6]=d,e[7]=l,e[8]=i,e[9]=f,e[10]=r,e[11]=m):m=e[11];const g=m;let v;e[12]!==d||e[13]!==l||e[14]!==i||e[15]!==f||e[16]!==r?(v=E=>{!i||r.kind!=="page"||f(i.blockKey,()=>{const b=l.getQueryData(U.decofile(d))?.[i.blockKey];return I(b)?{...b,seo:E}:null})},e[12]=d,e[13]=l,e[14]=i,e[15]=f,e[16]=r,e[17]=v):v=e[17];const R=v;let _;return e[18]!==S||e[19]!==h||e[20]!==R||e[21]!==g?(_={persistSeo:g,persistRawSeo:R,flush:S,isPending:h},e[18]=S,e[19]=h,e[20]=R,e[21]=g,e[22]=_):_=e[22],_}const Pe="https://deco.cx/docs/en/performance/edge-async-render";function Oe(t){const e=F.c(16),{rawSeo:n,onEnableChange:o,onAsyncRenderChange:s,children:r}=t;let i;e[0]!==n?(i=k(n),e[0]=n,e[1]=i):i=e[1];const c=i;let l;e[2]!==n?(l=N(n),e[2]=n,e[3]=l):l=e[3];const d=l;let y;e[4]===Symbol.for("react.memo_cache_sentinel")?(y=a.jsx(Y,{htmlFor:"seo-enable",className:"text-sm font-medium",children:"Enable SEO"}),e[4]=y):y=e[4];let p;e[5]!==c||e[6]!==o?(p=a.jsxs("div",{className:"flex items-center justify-between gap-3",children:[y,a.jsx($,{id:"seo-enable",checked:c,onCheckedChange:o})]}),e[5]=c,e[6]=o,e[7]=p):p=e[7];let f;e[8]!==d||e[9]!==r||e[10]!==c||e[11]!==s?(f=c&&a.jsxs(a.Fragment,{children:[r,a.jsxs("div",{className:"flex items-start justify-between gap-3 border-t pt-4",children:[a.jsxs("div",{className:"min-w-0 space-y-1",children:[a.jsx("p",{className:"text-sm font-medium",children:"Async render"}),a.jsxs("p",{className:"text-xs leading-normal text-muted-foreground",children:["Render SEO asynchronously with edge caching. Learn more in our"," ",a.jsx("a",{href:Pe,target:"_blank",rel:"noopener noreferrer",className:"text-primary underline-offset-4 hover:underline",children:"documentation"}),"."]})]}),a.jsx($,{id:"seo-async-render",checked:d,onCheckedChange:s,className:"shrink-0"})]})]}),e[8]=d,e[9]=r,e[10]=c,e[11]=s,e[12]=f):f=e[12];let S;return e[13]!==p||e[14]!==f?(S=a.jsxs("div",{className:"space-y-4",children:[p,f]}),e[13]=p,e[14]=f,e[15]=S):S=e[15],S}const B=["type","title","description","canonical","favicon","image","themeColor"],Fe=["jsonLD","omitVariants","title","description","noIndexing","ignoreStructuredData"],Le=["jsonLD","title","description","noIndexing","configJsonLD"];function H(t){return t===C||/\/Seo\/SeoV2\.tsx$/i.test(t)?"general":/\/Seo\/SeoPDP/i.test(t)?"pdp":/\/Seo\/SeoPLP/i.test(t)?"plp":"full"}function Ke(t){switch(t){case"general":return B;case"pdp":return Fe;case"plp":return Le;default:return null}}function J(t,e){const n=Ke(H(e));if(!n||!t.properties)return t;const o={};for(const s of n){const r=t.properties[s];r&&(o[s]=r)}return{...t,properties:o}}function ke(){return B.filter(t=>t!=="type")}function Ne(t){return t.replace(/([A-Z])/g," $1").replace(/^./,e=>e.toUpperCase()).trim()}function Ae(t,e){return t[e]===void 0}function $e(t){const e=F.c(13),{schema:n,value:o,onChange:s,siteDefaultSeo:r,formResetKey:i}=t,l=J(n,C).properties??{},d=ke();let y;e[0]!==r?(y=!!r&&Object.keys(r).length>0,e[0]=r,e[1]=y):y=e[1];const p=y,[f,S]=M.useState(i);let h;e[2]===Symbol.for("react.memo_cache_sentinel")?(h={},e[2]=h):h=e[2];const[m,g]=M.useState(h);f!==i&&(S(i),g({}));let v;e[3]!==m||e[4]!==o?(v=u=>m[u]!==void 0?m[u]:Ae(o,u),e[3]=m,e[4]=o,e[5]=v):v=e[5];const R=v;let _;e[6]!==s||e[7]!==r||e[8]!==o?(_=(u,T)=>{g(D=>({...D,[u]:T}));const j={...o};if(T)delete j[u];else{const D=r?.[u];j[u]=D??(u==="type"?"website":"")}s(j)},e[6]=s,e[7]=r,e[8]=o,e[9]=_):_=e[9];const E=_,P="min-w-0 space-y-6",b=B.map(u=>{const T=l[u];if(!T)return null;const j=p&&d.includes(u),D=j&&R(u),X=D?r?.[u]??o[u]:o[u],ee=T.title??Ne(u);return a.jsxs("div",{className:"space-y-2",children:[a.jsx("div",{className:ne(D&&"pointer-events-none opacity-60"),children:ce({schema:T,value:X,onChange:A=>{D||s({...o,[u]:A})},path:u,label:ee,breadcrumbPath:[],onBreadcrumbChange:we})}),j&&a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx($,{id:`seo-use-default-${u}`,checked:D,onCheckedChange:A=>E(u,A)}),a.jsx(Y,{htmlFor:`seo-use-default-${u}`,className:"text-xs font-normal text-muted-foreground",children:"Use default"})]})]},u)});let x;return e[10]!==i||e[11]!==b?(x=a.jsx("div",{className:P,children:b},i),e[10]=i,e[11]=b,e[12]=x):x=e[12],x}function we(){}function Ie(t){const e=F.c(18),{schema:n,resolveType:o,value:s,formResetKey:r,onChange:i,onBreadcrumbChange:c,siteDefaultSeo:l}=t;if(H(o)==="general"){let m;e[0]!==i?(m=v=>i(v),e[0]=i,e[1]=m):m=e[1];let g;return e[2]!==r||e[3]!==n||e[4]!==l||e[5]!==m||e[6]!==s?(g=a.jsx($e,{schema:n,value:s,onChange:m,siteDefaultSeo:l,formResetKey:r}),e[2]=r,e[3]=n,e[4]=l,e[5]=m,e[6]=s,e[7]=g):g=e[7],g}let y;e[8]!==o||e[9]!==n?(y=J(n,o),e[8]=o,e[9]=n,e[10]=y):y=e[10];const p=y;let f;e[11]===Symbol.for("react.memo_cache_sentinel")?(f=[],e[11]=f):f=e[11];const S=c??Ye;let h;return e[12]!==p||e[13]!==r||e[14]!==i||e[15]!==S||e[16]!==s?(h=a.jsx(ae,{schema:p,value:s,onChange:i,basePath:"",breadcrumbPath:f,onBreadcrumbChange:S},r),e[12]=p,e[13]=r,e[14]=i,e[15]=S,e[16]=s,e[17]=h):h=e[17],h}function Ye(){}function Ve(t){const e=F.c(10),{options:n,value:o,onChange:s}=t;if(n.length<=1)return null;let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=a.jsx(Y,{className:"text-xs text-muted-foreground",children:"SEO type"}),e[0]=r):r=e[0];let i;e[1]===Symbol.for("react.memo_cache_sentinel")?(i=a.jsx(fe,{className:"w-full",children:a.jsx(pe,{placeholder:"Select SEO type"})}),e[1]=i):i=e[1];let c;e[2]!==n?(c=n.filter(Ue).map(Be),e[2]=n,e[3]=c):c=e[3];let l;e[4]!==c?(l=a.jsx(de,{children:c}),e[4]=c,e[5]=l):l=e[5];let d;return e[6]!==s||e[7]!==l||e[8]!==o?(d=a.jsxs("div",{className:"mb-4 flex flex-col gap-1.5",children:[r,a.jsxs(ye,{value:o,onValueChange:s,children:[i,l]})]}),e[6]=s,e[7]=l,e[8]=o,e[9]=d):d=e[9],d}function Be(t){return a.jsx(ue,{value:t.resolveType,children:t.title},t.resolveType)}function Ue(t){return t.resolveType.length>0}function Xe(t){const e=F.c(33),{rawSeo:n,innerSeo:o,defaultResolveType:s,seoSchema:r,activeResolveType:i,seoTypeOptions:c,formResetKey:l,siteDefaultSeo:d,onBreadcrumbChange:y,onPersistRaw:p,onInnerChange:f,onClearForm:S,onBumpFormKey:h,beforeFields:m}=t;let g;e[0]!==s||e[1]!==h||e[2]!==S||e[3]!==p?(g=T=>{if(T){const j=me(s);p(j),S(),h();return}p(null),S(),h()},e[0]=s,e[1]=h,e[2]=S,e[3]=p,e[4]=g):g=e[4];const v=g;let R;e[5]!==p||e[6]!==n?(R=T=>{const j=Se(T,n);p(j)},e[5]=p,e[6]=n,e[7]=R):R=e[7];const _=R;let E;e[8]!==h||e[9]!==f?(E=T=>{f({__resolveType:T}),h()},e[8]=h,e[9]=f,e[10]=E):E=e[10];const P=E;let b;e[11]!==i||e[12]!==P||e[13]!==n||e[14]!==r||e[15]!==c?(b=k(n)&&r&&i&&c&&c.length>0&&a.jsx(Ve,{options:c,value:i,onChange:P}),e[11]=i,e[12]=P,e[13]=n,e[14]=r,e[15]=c,e[16]=b):b=e[16];let x;e[17]!==i||e[18]!==l||e[19]!==o||e[20]!==y||e[21]!==f||e[22]!==n||e[23]!==r||e[24]!==d?(x=k(n)&&r&&i&&a.jsx(Ie,{schema:r,resolveType:i,value:o,formResetKey:l,onChange:T=>f(T),onBreadcrumbChange:y,siteDefaultSeo:d}),e[17]=i,e[18]=l,e[19]=o,e[20]=y,e[21]=f,e[22]=n,e[23]=r,e[24]=d,e[25]=x):x=e[25];let u;return e[26]!==m||e[27]!==_||e[28]!==v||e[29]!==n||e[30]!==b||e[31]!==x?(u=a.jsxs(Oe,{rawSeo:n,onEnableChange:v,onAsyncRenderChange:_,children:[m,b,x]}),e[26]=m,e[27]=_,e[28]=v,e[29]=n,e[30]=b,e[31]=x,e[32]=u):u=e[32],u}export{Xe as P,Ie as S,He as a,Ce as b,Je as c,Z as d,je as f,k as i,qe as r,w as u};
1
+ import{e as F,F as te,K as U,j as a,r as M,c as ne}from"./index-rm3C3HAe.js";import{i as oe,m as z,a9 as se,aa as re,Y as ie,f as le}from"./index-Dqht8t56.js";import{L as Y}from"./label-BZO-nx5U.js";import{S as $}from"./switch-CPIofN4u.js";import{c as ce,b as ae}from"./schema-form-Mo6wmjwV.js";import{a as ue,b as fe,c as pe,S as de,d as ye}from"./select-DNJPz4ZI.js";const me="website/sections/Rendering/Lazy.tsx";function K(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function N(t){if(!K(t))return!1;const e=t.__resolveType;return typeof e=="string"&&oe(e)}function k(t){return t!=null}function w(t){if(t==null)return t;if(N(t)){const e=t.section;return e==null?null:K(e)?e:{}}return K(t)?t:void 0}function G(t,e){return t===null?null:N(e)?{...e,section:t}:t}function he(t){return{__resolveType:t}}function Se(t,e){if(!k(e))return null;if(t){const n=w(e)??{};return{__resolveType:me,section:n}}return N(e)?w(e)??null:K(e)?e:null}const ge="General";function O(t){return/\/Seo(V\d+)?\.tsx$/i.test(t)||t.includes("/sections/Seo")}function Q(t,e){return t===C?ge:e}function W(t){const e=re(t),n=new Set,o=[];for(const s of e)O(s.resolveType)&&(ie(s.resolveType)||n.has(s.resolveType)||(n.add(s.resolveType),o.push({resolveType:s.resolveType,title:Q(s.resolveType,s.title),description:s.description})));return o}function V(t){const e=se(t),n=z(e,t),o=W(n?.properties?.seo);return o.length>0?o:ve(t)}function ve(t){const e=t.manifest?.blocks??{},n=[];for(const[o,s]of Object.entries(e))if(o.includes("sections"))for(const r of Object.keys(s)){if(!O(r))continue;const i=r.split("/").pop()?.replace(/\.tsx?$/,"")??r;n.push({resolveType:r,title:Q(r,i)})}return n}function Z(t){const e=V(t),n=e.find(o=>o.resolveType===C);return n?n.resolveType:e[0]?.resolveType??C}function q(t,e){const n=e.__resolveType;if(typeof n=="string"){const o=z(n,t),s=W(o?.properties?.seo);if(s.length>0)return s}return V(t)}function be(t,e){const n=q(t,e),o=n.find(s=>s.resolveType===C);return o?o.resolveType:n[0]?.resolveType??Z(t)}function Te(t,e){const n=e?.__resolveType;return typeof n=="string"&&n.length>0?n:Z(t)}function xe(t,e,n){const o=n.__resolveType;return typeof o=="string"&&O(o)?o:be(t,e)}const _e=new Set(["website/pages/Page.tsx","$live/pages/LivePage.tsx"]),C="website/sections/Seo/SeoV2.tsx",Re=["title","titleTemplate","description","descriptionTemplate","image","favicon","type","noIndexing"];function L(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Ee(t){return typeof t.__resolveType=="string"&&O(t.__resolveType)?!0:Re.some(e=>e in t)}function je(t,e){for(const[n,o]of Object.entries(t)){if(!L(o))continue;const s=o,r=s.__resolveType;if(typeof r=="string"&&_e.has(r))continue;const i=s.seo;if(L(i)){const c=i;if(Ee(c))return{blockKey:n,kind:"nested",seoData:c,blockData:s,seoResolveType:e?xe(e,s,c):typeof c.__resolveType=="string"&&O(c.__resolveType)?c.__resolveType:C}}}for(const[n,o]of Object.entries(t)){if(!L(o))continue;const s=o;if(typeof s.__resolveType=="string"&&O(s.__resolveType))return{blockKey:n,kind:"block",seoData:s,blockData:s,seoResolveType:s.__resolveType}}return null}function De(t,e){return t.kind==="block"?e:{...t.blockData,seo:e}}function qe(t,e,n){if(e.kind==="site"){const l=je(t,n);return l?{blockKey:l.blockKey,seoData:l.seoData,seoResolveType:l.seoResolveType,siteKind:l.kind,seoTypeOptions:n?q(n,l.blockData):void 0,build:d=>De(l,d)}:null}const o=t[e.pageKey];if(!L(o))return null;const s=o,r=s.seo,i=w(r),c=i&&L(i)?i:void 0;return{blockKey:e.pageKey,seoData:c,rawSeoData:r,seoResolveType:n?Te(n,c):typeof c?.__resolveType=="string"?c.__resolveType:C,seoTypeOptions:n?V(n):void 0,build:l=>({...s,seo:l===null?null:G(l,r)})}}function I(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Ce(t,e,n,o){if(t.kind==="page"){if(!I(n))return null;const s=n.seo!==void 0?n.seo:e.rawSeoData;return{...n,seo:o===null?null:G(o,s)}}return I(n)?e.siteKind==="block"?o:{...n,seo:o}:null}function He(t,e){const n=t.__resolveType;return typeof n=="string"&&n.length>0?n:e.seoResolveType}function Je(t){const e=F.c(23),{orgSlug:n,virtualMcpId:o,branch:s,target:r,resolved:i,onSaved:c}=t,l=te(),d=`${n}/${o}/${s}`;let y;e[0]!==s||e[1]!==n||e[2]!==o?(y={orgSlug:n,virtualMcpId:o,branch:s},e[0]=s,e[1]=n,e[2]=o,e[3]=y):y=e[3];let p;e[4]!==c?(p={onSaved:c},e[4]=c,e[5]=p):p=e[5];const{save:f,flush:S,isPending:m}=le(y,p);let h;e[6]!==d||e[7]!==l||e[8]!==i||e[9]!==f||e[10]!==r?(h=E=>{i&&f(i.blockKey,()=>{const b=l.getQueryData(U.decofile(d))?.[i.blockKey];return Ce(r,i,b,E)})},e[6]=d,e[7]=l,e[8]=i,e[9]=f,e[10]=r,e[11]=h):h=e[11];const g=h;let v;e[12]!==d||e[13]!==l||e[14]!==i||e[15]!==f||e[16]!==r?(v=E=>{!i||r.kind!=="page"||f(i.blockKey,()=>{const b=l.getQueryData(U.decofile(d))?.[i.blockKey];return I(b)?{...b,seo:E}:null})},e[12]=d,e[13]=l,e[14]=i,e[15]=f,e[16]=r,e[17]=v):v=e[17];const R=v;let x;return e[18]!==S||e[19]!==m||e[20]!==R||e[21]!==g?(x={persistSeo:g,persistRawSeo:R,flush:S,isPending:m},e[18]=S,e[19]=m,e[20]=R,e[21]=g,e[22]=x):x=e[22],x}const Pe="https://deco.cx/docs/en/performance/edge-async-render";function Oe(t){const e=F.c(16),{rawSeo:n,onEnableChange:o,onAsyncRenderChange:s,children:r}=t;let i;e[0]!==n?(i=k(n),e[0]=n,e[1]=i):i=e[1];const c=i;let l;e[2]!==n?(l=N(n),e[2]=n,e[3]=l):l=e[3];const d=l;let y;e[4]===Symbol.for("react.memo_cache_sentinel")?(y=a.jsx(Y,{htmlFor:"seo-enable",className:"text-sm font-medium",children:"Enable SEO"}),e[4]=y):y=e[4];let p;e[5]!==c||e[6]!==o?(p=a.jsxs("div",{className:"flex items-center justify-between gap-3",children:[y,a.jsx($,{id:"seo-enable",checked:c,onCheckedChange:o})]}),e[5]=c,e[6]=o,e[7]=p):p=e[7];let f;e[8]!==d||e[9]!==r||e[10]!==c||e[11]!==s?(f=c&&a.jsxs(a.Fragment,{children:[r,a.jsxs("div",{className:"flex items-start justify-between gap-3 border-t pt-4",children:[a.jsxs("div",{className:"min-w-0 space-y-1",children:[a.jsx("p",{className:"text-sm font-medium",children:"Async render"}),a.jsxs("p",{className:"text-xs leading-normal text-muted-foreground",children:["Render SEO asynchronously with edge caching. Learn more in our"," ",a.jsx("a",{href:Pe,target:"_blank",rel:"noopener noreferrer",className:"text-primary underline-offset-4 hover:underline",children:"documentation"}),"."]})]}),a.jsx($,{id:"seo-async-render",checked:d,onCheckedChange:s,className:"shrink-0"})]})]}),e[8]=d,e[9]=r,e[10]=c,e[11]=s,e[12]=f):f=e[12];let S;return e[13]!==p||e[14]!==f?(S=a.jsxs("div",{className:"space-y-4",children:[p,f]}),e[13]=p,e[14]=f,e[15]=S):S=e[15],S}const B=["type","title","description","canonical","favicon","image","themeColor"],Fe=["jsonLD","omitVariants","title","description","noIndexing","ignoreStructuredData"],Le=["jsonLD","title","description","noIndexing","configJsonLD"];function H(t){return t===C||/\/Seo\/SeoV2\.tsx$/i.test(t)?"general":/\/Seo\/SeoPDP/i.test(t)?"pdp":/\/Seo\/SeoPLP/i.test(t)?"plp":"full"}function Ke(t){switch(t){case"general":return B;case"pdp":return Fe;case"plp":return Le;default:return null}}function J(t,e){const n=Ke(H(e));if(!n||!t.properties)return t;const o={};for(const s of n){const r=t.properties[s];r&&(o[s]=r)}return{...t,properties:o}}function ke(){return B.filter(t=>t!=="type")}function Ne(t){return t.replace(/([A-Z])/g," $1").replace(/^./,e=>e.toUpperCase()).trim()}function Ae(t,e){return t[e]===void 0}function $e(t){const e=F.c(13),{schema:n,value:o,onChange:s,siteDefaultSeo:r,formResetKey:i}=t,l=J(n,C).properties??{},d=ke();let y;e[0]!==r?(y=!!r&&Object.keys(r).length>0,e[0]=r,e[1]=y):y=e[1];const p=y,[f,S]=M.useState(i);let m;e[2]===Symbol.for("react.memo_cache_sentinel")?(m={},e[2]=m):m=e[2];const[h,g]=M.useState(m);f!==i&&(S(i),g({}));let v;e[3]!==h||e[4]!==o?(v=u=>h[u]!==void 0?h[u]:Ae(o,u),e[3]=h,e[4]=o,e[5]=v):v=e[5];const R=v;let x;e[6]!==s||e[7]!==r||e[8]!==o?(x=(u,T)=>{g(D=>({...D,[u]:T}));const j={...o};if(T)delete j[u];else{const D=r?.[u];j[u]=D??(u==="type"?"website":"")}s(j)},e[6]=s,e[7]=r,e[8]=o,e[9]=x):x=e[9];const E=x,P="min-w-0 space-y-6",b=B.map(u=>{const T=l[u];if(!T)return null;const j=p&&d.includes(u),D=j&&R(u),X=D?r?.[u]??o[u]:o[u],ee=T.title??Ne(u);return a.jsxs("div",{className:"space-y-2",children:[a.jsx("div",{className:ne(D&&"pointer-events-none opacity-60"),children:ce({schema:T,value:X,onChange:A=>{D||s({...o,[u]:A})},path:u,label:ee,breadcrumbPath:[],onBreadcrumbChange:we})}),j&&a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx($,{id:`seo-use-default-${u}`,checked:D,onCheckedChange:A=>E(u,A)}),a.jsx(Y,{htmlFor:`seo-use-default-${u}`,className:"text-xs font-normal text-muted-foreground",children:"Use default"})]})]},u)});let _;return e[10]!==i||e[11]!==b?(_=a.jsx("div",{className:P,children:b},i),e[10]=i,e[11]=b,e[12]=_):_=e[12],_}function we(){}function Ie(t){const e=F.c(18),{schema:n,resolveType:o,value:s,formResetKey:r,onChange:i,onBreadcrumbChange:c,siteDefaultSeo:l}=t;if(H(o)==="general"){let h;e[0]!==i?(h=v=>i(v),e[0]=i,e[1]=h):h=e[1];let g;return e[2]!==r||e[3]!==n||e[4]!==l||e[5]!==h||e[6]!==s?(g=a.jsx($e,{schema:n,value:s,onChange:h,siteDefaultSeo:l,formResetKey:r}),e[2]=r,e[3]=n,e[4]=l,e[5]=h,e[6]=s,e[7]=g):g=e[7],g}let y;e[8]!==o||e[9]!==n?(y=J(n,o),e[8]=o,e[9]=n,e[10]=y):y=e[10];const p=y;let f;e[11]===Symbol.for("react.memo_cache_sentinel")?(f=[],e[11]=f):f=e[11];const S=c??Ye;let m;return e[12]!==p||e[13]!==r||e[14]!==i||e[15]!==S||e[16]!==s?(m=a.jsx(ae,{schema:p,value:s,onChange:i,basePath:"",breadcrumbPath:f,onBreadcrumbChange:S},r),e[12]=p,e[13]=r,e[14]=i,e[15]=S,e[16]=s,e[17]=m):m=e[17],m}function Ye(){}function Ve(t){const e=F.c(10),{options:n,value:o,onChange:s}=t;if(n.length<=1)return null;let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=a.jsx(Y,{className:"text-xs text-muted-foreground",children:"SEO type"}),e[0]=r):r=e[0];let i;e[1]===Symbol.for("react.memo_cache_sentinel")?(i=a.jsx(fe,{className:"w-full",children:a.jsx(pe,{placeholder:"Select SEO type"})}),e[1]=i):i=e[1];let c;e[2]!==n?(c=n.filter(Ue).map(Be),e[2]=n,e[3]=c):c=e[3];let l;e[4]!==c?(l=a.jsx(de,{children:c}),e[4]=c,e[5]=l):l=e[5];let d;return e[6]!==s||e[7]!==l||e[8]!==o?(d=a.jsxs("div",{className:"mb-4 flex flex-col gap-1.5",children:[r,a.jsxs(ye,{value:o,onValueChange:s,children:[i,l]})]}),e[6]=s,e[7]=l,e[8]=o,e[9]=d):d=e[9],d}function Be(t){return a.jsx(ue,{value:t.resolveType,children:t.title},t.resolveType)}function Ue(t){return t.resolveType.length>0}function Xe(t){const e=F.c(33),{rawSeo:n,innerSeo:o,defaultResolveType:s,seoSchema:r,activeResolveType:i,seoTypeOptions:c,formResetKey:l,siteDefaultSeo:d,onBreadcrumbChange:y,onPersistRaw:p,onInnerChange:f,onClearForm:S,onBumpFormKey:m,beforeFields:h}=t;let g;e[0]!==s||e[1]!==m||e[2]!==S||e[3]!==p?(g=T=>{if(T){const j=he(s);p(j),S(),m();return}p(null),S(),m()},e[0]=s,e[1]=m,e[2]=S,e[3]=p,e[4]=g):g=e[4];const v=g;let R;e[5]!==p||e[6]!==n?(R=T=>{const j=Se(T,n);p(j)},e[5]=p,e[6]=n,e[7]=R):R=e[7];const x=R;let E;e[8]!==m||e[9]!==f?(E=T=>{f({__resolveType:T}),m()},e[8]=m,e[9]=f,e[10]=E):E=e[10];const P=E;let b;e[11]!==i||e[12]!==P||e[13]!==n||e[14]!==r||e[15]!==c?(b=k(n)&&r&&i&&c&&c.length>0&&a.jsx(Ve,{options:c,value:i,onChange:P}),e[11]=i,e[12]=P,e[13]=n,e[14]=r,e[15]=c,e[16]=b):b=e[16];let _;e[17]!==i||e[18]!==l||e[19]!==o||e[20]!==y||e[21]!==f||e[22]!==n||e[23]!==r||e[24]!==d?(_=k(n)&&r&&i&&a.jsx(Ie,{schema:r,resolveType:i,value:o,formResetKey:l,onChange:T=>f(T),onBreadcrumbChange:y,siteDefaultSeo:d}),e[17]=i,e[18]=l,e[19]=o,e[20]=y,e[21]=f,e[22]=n,e[23]=r,e[24]=d,e[25]=_):_=e[25];let u;return e[26]!==h||e[27]!==x||e[28]!==v||e[29]!==n||e[30]!==b||e[31]!==_?(u=a.jsxs(Oe,{rawSeo:n,onEnableChange:v,onAsyncRenderChange:x,children:[h,b,_]}),e[26]=h,e[27]=x,e[28]=v,e[29]=n,e[30]=b,e[31]=_,e[32]=u):u=e[32],u}export{Xe as P,Ie as S,He as a,Ce as b,Je as c,Z as d,je as f,k as i,qe as r,w as u};
@@ -0,0 +1 @@
1
+ import{e as it,r as E,j as e,l as rt}from"./index-rm3C3HAe.js";import{S as mt,b as pt,c as st,d as at}from"./sheet--I615llH.js";import{S as nt}from"./scroll-area-HiEpDNZ9.js";import{r as lt,c as ct,u as dt,a as St,i as ft,f as ut,d as vt,P as ht,S as gt}from"./page-seo-form-BPGfCLGr.js";import{m as xt}from"./index-Dqht8t56.js";import"./X-B8VBAesm.js";import"./agent-icon-DzGGkbHB.js";import"./AlertCircle-eiDdFdpo.js";import"./Tool01-CeM3_qGC.js";import"./SwitchHorizontal01-CYTzFeBS.js";import"./Settings02-9iZ4Kn5K.js";import"./XCircle-Cqbss1Kp.js";import"./ArrowUpRight-C3MnTMc7.js";import"./ZapSquare-B74wvvEK.js";import"./Users03-DPz9weBu.js";import"./CheckCircle-DXVZzubl.js";import"./ChevronUp-lUGooUMN.js";import"./ChevronDown-DniEvTjW.js";import"./ChevronLeft-DZ-8LN4r.js";import"./ChevronRight-CVU8CEAx.js";import"./DotsVertical-ClOH4Gg-.js";import"./Stars02-qeumL9NN.js";import"./Eye-Da_GEN8c.js";import"./ZoomOut-D3PYnATq.js";import"./Globe01-CjtjZc8W.js";import"./FilterLines-7z3fJe--.js";import"./Star01-BoCe66s1.js";import"./Globe04-B-0xtF1q.js";import"./HardDrive-CRjCXSN1.js";import"./Key01-BH7QR3Q0.js";import"./LayoutLeft-C_gVdeVq.js";import"./LinkExternal01-9FjHpG7X.js";import"./Monitor01-SxcGMGVR.js";import"./Sun-D8qj-954.js";import"./Palette-BDDXfJRi.js";import"./Play-Bc7SI6RM.js";import"./Plus-C95a6sD7.js";import"./SearchMd-BsAsyTF8.js";import"./Shield01-DyztF96J.js";import"./Stars01-KhRKHdWL.js";import"./Trash01-Dr7Z-Rtu.js";import"./Upload01-H0yxEIEj.js";import"./User01-Dm5WZ8ZU.js";import"./Users01-Bn8juneC.js";import"./XClose-BGuIHH55.js";import"./Zap-CTngI1pZ.js";import"./use-clock-tick-C60lgc5z.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-BeM54y_K.js";import"./tooltip-muTAVYsN.js";import"./file-type-icon-CfmazJxW.js";import"./dialog-ZcUt91qN.js";import"./tab-id-BptcWVWa.js";import"./content-blocks-o63cs2vh.js";import"./types-DcyOlOkr.js";import"./use-mcp-client-VQUpV2Ii.js";import"./auth-xNmYqmgC.js";import"./chat-context-DwuFSNXk.js";import"./hooks-DVgYis4C.js";import"./decopilot-sse-pool-tu8rIUid.js";import"./use-virtual-mcp-CA84I6FL.js";import"./use-collections-DZb_dDr5.js";import"./use-ai-providers-hrShoTNJ.js";import"./studio-tools-Bs-4h4N6.js";import"./use-organization-settings-C_6Vi920.js";import"./shell-layout-D_O9nrWI.js";import"./avatar-B7kKIqkG.js";import"./required-auth-layout-C3Gv1yj3.js";import"./useRouterState-Cci41lb_.js";import"./use-org-sso-DxnrDxMD.js";import"./integration-icon-DrPIi_Lw.js";import"./use-navigate-to-agent-C-zszyi1.js";import"./use-connection-B7DWRE37.js";import"./use-mcp-prompts-VMwEXGxN.js";import"./form-BnR92DK8.js";import"./label-BZO-nx5U.js";import"./input-YP3xr2b6.js";import"./select-DNJPz4ZI.js";import"./switch-CPIofN4u.js";import"./schema-form-Mo6wmjwV.js";import"./calendar-C0B8UkyJ.js";import"./popover-CMddDx8S.js";import"./textarea-BYctdmbn.js";import"./sortable.esm-C4XXVlGw.js";import"./dropdown-menu-CanZ1iuF.js";import"./image-field-BGYmIBMw.js";import"./skeleton-Db2IVZSk.js";import"./tabs-nSWhKPrq.js";import"./use-file-configs-DtiKgAOA.js";import"./useInfiniteQuery-C8ycMIJZ.js";import"./use-infinite-scroll-CtiF3fgR.js";import"./command-Toe5bvPv.js";import"./index-8mI3Tffx.js";import"./index-CVXOwd6R.js";import"./drawer-Ch5vCDYY.js";import"./collection-search-D49siPrl.js";import"./toggle-group-DsnLxyxY.js";import"./use-deco-credits-Db4_aWO7.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-DALvnRcW.js";import"./use-registry-connections-B4n3e5W4.js";import"./extract-connection-data-2Pprwu-z.js";import"./card-BJ97y7iE.js";import"./collection-tabs-COIIQvGk.js";import"./badge-B1zUdZu4.js";import"./connection-form-helpers-Bt8rfYZz.js";import"./useSuspenseInfiniteQuery-DEZ-HoPC.js";import"./mcp-oauth-C2VCpurV.js";import"./connect-desktop-dialog-wAwjOiTz.js";import"./decopilot-Jwqgdbyr.js";import"./checkbox-CTtEhAwe.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-Dm-722_v.js";import"./question-004-sINsf4GQ.js";import"./use-status-sounds-DAQBMvRH.js";import"./empty-state-DHrDb97g.js";import"./toolbar-C8m_suht.js";import"./preview-dialog-ewcufuZZ.js";import"./index-BxN9R4vT.js";import"./use-mcp-tools-B1aAytZI.js";import"./use-capability-B928xLn2.js";import"./shell-route-loading-BCODfEXb.js";import"./index-hvgJxH8L.js";import"./alert-dialog-BmkUWho8.js";import"./use-debounced-autosave-Di0IMVYg.js";import"./index-CioasWLZ.js";import"./sidebar-CqyV3hvw.js";import"./search-input-CVNzv0kF.js";import"./github-repo-picker-CQlmRX03.js";import"./use-secrets-DbaTf5Lx.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./view-mode-toggle-DPXvgrPU.js";import"./select-model-_-YzMT35.js";import"./use-automations-DmxLmx01.js";import"./monaco-editor-DkCRcG9C.js";import"./automation-runs-Dg53j0r1.js";import"./table-D9vTl4St.js";import"./use-members-CjS-AkZB.js";import"./use-org-auth-client-C9iPXZoQ.js";import"./task-status-BT_ofK0L.js";import"./automation-list-row-CZsOtouY.js";function ei(u){const t=it.c(46),{open:N,onOpenChange:P,orgSlug:Q,virtualMcpId:U,branch:W,decofile:G,meta:s,target:m,onSaved:X}=u,o=lt(G,m,s),k=m.kind==="site"?"site":m.pageKey,[Y,Z]=E.useState(k),[tt,i]=E.useState(null),[J,g]=E.useState(void 0),[x,y]=E.useState(0);Y!==k&&(Z(k),i(null),g(void 0),y(wt));const{persistSeo:a,persistRawSeo:I,flush:K,isPending:D}=ct({orgSlug:Q,virtualMcpId:U,branch:W,target:m,resolved:o,onSaved:X}),w=m.kind==="page",ot=w?o?.rawSeoData:void 0,v=J!==void 0?J:ot,et=w?dt(v)??void 0:void 0,h=tt??et??o?.seoData??{},p=o?St(h,o):null,n=p&&(!w||ft(v))?xt(p,s):null,_=m.kind==="page"?ut(G,s)?.seoData??void 0:void 0;let j;t[0]!==s?(j=vt(s),t[0]=s,t[1]=j):j=t[1];const M=j;let R;t[2]!==a||t[3]!==o||t[4]!==i?(R=r=>{if(!o)return;const L=r;i(L),a(L)},t[2]=a,t[3]=o,t[4]=i,t[5]=R):R=t[5];const V=R;let F;t[6]!==K||t[7]!==P?(F=r=>{r||K(),P(r)},t[6]=K,t[7]=P,t[8]=F):F=t[8];const z=F,A=m.kind==="site"?"Site SEO":"Page SEO",T=w&&o,B=m.kind==="site"&&o&&n,H=m.kind==="site"?"No site-level SEO block found.":o?"SEO schema not found for this page.":"Could not load page SEO.";let C;t[9]!==i?(C=()=>i(null),t[9]=i,t[10]=C):C=t[10];const $=C;let O;t[11]!==y?(O=()=>y(yt),t[11]=y,t[12]=O):O=t[12];const q=O;let l;t[13]!==A?(l=e.jsx(mt,{className:"text-sm font-semibold",children:A}),t[13]=A,t[14]=l):l=t[14];let c;t[15]!==D?(c=D&&e.jsx(rt,{size:14,className:"animate-spin text-muted-foreground"}),t[15]=D,t[16]=c):c=t[16];let d;t[17]!==l||t[18]!==c?(d=e.jsxs(pt,{className:"px-4 py-3 border-b flex-row items-center justify-between space-y-0",children:[l,c]}),t[17]=l,t[18]=c,t[19]=d):d=t[19];let S;t[20]!==p||t[21]!==q||t[22]!==$||t[23]!==M||t[24]!==v||t[25]!==h||t[26]!==H||t[27]!==x||t[28]!==V||t[29]!==I||t[30]!==a||t[31]!==o||t[32]!==n||t[33]!==i||t[34]!==g||t[35]!==T||t[36]!==B||t[37]!==_?(S=!o||!T&&!B?e.jsx("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:H}):e.jsx(nt,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:e.jsx("div",{className:"px-6 py-4",children:e.jsx("div",{className:"mx-auto max-w-sm",children:T?e.jsx(ht,{rawSeo:v,innerSeo:h,defaultResolveType:M,seoSchema:n,activeResolveType:p,seoTypeOptions:o.seoTypeOptions,formResetKey:x,siteDefaultSeo:_,onPersistRaw:r=>{g(r),I(r)},onInnerChange:r=>{i(r),a(r)},onClearForm:$,onBumpFormKey:q}):n&&p&&e.jsx(gt,{schema:n,resolveType:p,value:h,formResetKey:x,onChange:V})})})}),t[20]=p,t[21]=q,t[22]=$,t[23]=M,t[24]=v,t[25]=h,t[26]=H,t[27]=x,t[28]=V,t[29]=I,t[30]=a,t[31]=o,t[32]=n,t[33]=i,t[34]=g,t[35]=T,t[36]=B,t[37]=_,t[38]=S):S=t[38];let f;t[39]!==d||t[40]!==S?(f=e.jsxs(st,{side:"right",className:"w-[400px] sm:max-w-[440px] p-0 gap-0",children:[d,S]}),t[39]=d,t[40]=S,t[41]=f):f=t[41];let b;return t[42]!==z||t[43]!==N||t[44]!==f?(b=e.jsx(at,{open:N,onOpenChange:z,children:f}),t[42]=z,t[43]=N,t[44]=f,t[45]=b):b=t[45],b}function yt(u){return u+1}function wt(u){return u+1}export{ei as SeoSheet};
@@ -1 +1 @@
1
- import{r as i,_ as $,j as c,$ as L,ai as z,V as A,P as _,M as P,J as j,U as w,Z as G,Q as E,cI as H,cJ as K,T as J,cK as U,cL as V,cM as W,W as Z,X as Q,Y as X,e as R,c as Y}from"./index-COlSsy5J.js";var C="Popover",[b]=J(C,[E]),g=E(),[q,d]=b(C),N=t=>{const{__scopePopover:e,children:o,open:r,defaultOpen:n,onOpenChange:s,modal:a=!1}=t,p=g(e),l=i.useRef(null),[u,h]=i.useState(!1),[x,f]=$({prop:r,defaultProp:n??!1,onChange:s,caller:C});return c.jsx(L,{...p,children:c.jsx(q,{scope:e,contentId:z(),triggerRef:l,open:x,onOpenChange:f,onOpenToggle:i.useCallback(()=>f(m=>!m),[f]),hasCustomAnchor:u,onCustomAnchorAdd:i.useCallback(()=>h(!0),[]),onCustomAnchorRemove:i.useCallback(()=>h(!1),[]),modal:a,children:o})})};N.displayName=C;var F="PopoverAnchor",B=i.forwardRef((t,e)=>{const{__scopePopover:o,...r}=t,n=d(F,o),s=g(o),{onCustomAnchorAdd:a,onCustomAnchorRemove:p}=n;return i.useEffect(()=>(a(),()=>p()),[a,p]),c.jsx(j,{...s,...r,ref:e})});B.displayName=F;var S="PopoverTrigger",y=i.forwardRef((t,e)=>{const{__scopePopover:o,...r}=t,n=d(S,o),s=g(o),a=A(e,n.triggerRef),p=c.jsx(_.button,{type:"button","aria-haspopup":"dialog","aria-expanded":n.open,"aria-controls":n.contentId,"data-state":k(n.open),...r,ref:a,onClick:P(t.onClick,n.onOpenToggle)});return n.hasCustomAnchor?p:c.jsx(j,{asChild:!0,...s,children:p})});y.displayName=S;var O="PopoverPortal",[ee,oe]=b(O,{forceMount:void 0}),M=t=>{const{__scopePopover:e,forceMount:o,children:r,container:n}=t,s=d(O,e);return c.jsx(ee,{scope:e,forceMount:o,children:c.jsx(w,{present:o||s.open,children:c.jsx(G,{asChild:!0,container:n,children:r})})})};M.displayName=O;var v="PopoverContent",D=i.forwardRef((t,e)=>{const o=oe(v,t.__scopePopover),{forceMount:r=o.forceMount,...n}=t,s=d(v,t.__scopePopover);return c.jsx(w,{present:r||s.open,children:s.modal?c.jsx(re,{...n,ref:e}):c.jsx(ne,{...n,ref:e})})});D.displayName=v;var te=U("PopoverContent.RemoveScroll"),re=i.forwardRef((t,e)=>{const o=d(v,t.__scopePopover),r=i.useRef(null),n=A(e,r),s=i.useRef(!1);return i.useEffect(()=>{const a=r.current;if(a)return H(a)},[]),c.jsx(K,{as:te,allowPinchZoom:!0,children:c.jsx(T,{...t,ref:n,trapFocus:o.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:P(t.onCloseAutoFocus,a=>{a.preventDefault(),s.current||o.triggerRef.current?.focus()}),onPointerDownOutside:P(t.onPointerDownOutside,a=>{const p=a.detail.originalEvent,l=p.button===0&&p.ctrlKey===!0,u=p.button===2||l;s.current=u},{checkForDefaultPrevented:!1}),onFocusOutside:P(t.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1})})})}),ne=i.forwardRef((t,e)=>{const o=d(v,t.__scopePopover),r=i.useRef(!1),n=i.useRef(!1);return c.jsx(T,{...t,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{t.onCloseAutoFocus?.(s),s.defaultPrevented||(r.current||o.triggerRef.current?.focus(),s.preventDefault()),r.current=!1,n.current=!1},onInteractOutside:s=>{t.onInteractOutside?.(s),s.defaultPrevented||(r.current=!0,s.detail.originalEvent.type==="pointerdown"&&(n.current=!0));const a=s.target;o.triggerRef.current?.contains(a)&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&n.current&&s.preventDefault()}})}),T=i.forwardRef((t,e)=>{const{__scopePopover:o,trapFocus:r,onOpenAutoFocus:n,onCloseAutoFocus:s,disableOutsidePointerEvents:a,onEscapeKeyDown:p,onPointerDownOutside:l,onFocusOutside:u,onInteractOutside:h,...x}=t,f=d(v,o),m=g(o);return V(),c.jsx(W,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:n,onUnmountAutoFocus:s,children:c.jsx(Z,{asChild:!0,disableOutsidePointerEvents:a,onInteractOutside:h,onEscapeKeyDown:p,onPointerDownOutside:l,onFocusOutside:u,onDismiss:()=>f.onOpenChange(!1),children:c.jsx(Q,{"data-state":k(f.open),role:"dialog",id:f.contentId,...m,...x,ref:e,style:{...x.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),I="PopoverClose",se=i.forwardRef((t,e)=>{const{__scopePopover:o,...r}=t,n=d(I,o);return c.jsx(_.button,{type:"button",...r,ref:e,onClick:P(t.onClick,()=>n.onOpenChange(!1))})});se.displayName=I;var ae="PopoverArrow",ce=i.forwardRef((t,e)=>{const{__scopePopover:o,...r}=t,n=g(o);return c.jsx(X,{...n,...r,ref:e})});ce.displayName=ae;function k(t){return t?"open":"closed"}var ie=N,pe=y,le=M,ue=D;function fe(t){const e=R.c(4);let o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let r;return e[2]!==o?(r=c.jsx(ie,{"data-slot":"popover",...o}),e[2]=o,e[3]=r):r=e[3],r}function ve(t){const e=R.c(4);let o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let r;return e[2]!==o?(r=c.jsx(pe,{"data-slot":"popover-trigger",...o}),e[2]=o,e[3]=r):r=e[3],r}function Pe(t){const e=R.c(12);let o,r,n,s;e[0]!==t?({className:o,align:n,sideOffset:s,...r}=t,e[0]=t,e[1]=o,e[2]=r,e[3]=n,e[4]=s):(o=e[1],r=e[2],n=e[3],s=e[4]);const a=n===void 0?"center":n,p=s===void 0?4:s;let l;e[5]!==o?(l=Y("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-lg overflow-hidden border p-4 shadow-md outline-hidden",o),e[5]=o,e[6]=l):l=e[6];let u;return e[7]!==a||e[8]!==r||e[9]!==p||e[10]!==l?(u=c.jsx(le,{children:c.jsx(ue,{"data-slot":"popover-content",align:a,sideOffset:p,className:l,...r})}),e[7]=a,e[8]=r,e[9]=p,e[10]=l,e[11]=u):u=e[11],u}export{fe as P,ve as a,Pe as b};
1
+ import{r as i,_ as $,j as c,$ as L,ai as z,V as A,P as _,M as P,J as j,U as w,Z as G,Q as E,cI as H,cJ as K,T as J,cK as U,cL as V,cM as W,W as Z,X as Q,Y as X,e as R,c as Y}from"./index-rm3C3HAe.js";var C="Popover",[b]=J(C,[E]),g=E(),[q,d]=b(C),N=t=>{const{__scopePopover:e,children:o,open:r,defaultOpen:n,onOpenChange:s,modal:a=!1}=t,p=g(e),l=i.useRef(null),[u,h]=i.useState(!1),[x,f]=$({prop:r,defaultProp:n??!1,onChange:s,caller:C});return c.jsx(L,{...p,children:c.jsx(q,{scope:e,contentId:z(),triggerRef:l,open:x,onOpenChange:f,onOpenToggle:i.useCallback(()=>f(m=>!m),[f]),hasCustomAnchor:u,onCustomAnchorAdd:i.useCallback(()=>h(!0),[]),onCustomAnchorRemove:i.useCallback(()=>h(!1),[]),modal:a,children:o})})};N.displayName=C;var F="PopoverAnchor",B=i.forwardRef((t,e)=>{const{__scopePopover:o,...r}=t,n=d(F,o),s=g(o),{onCustomAnchorAdd:a,onCustomAnchorRemove:p}=n;return i.useEffect(()=>(a(),()=>p()),[a,p]),c.jsx(j,{...s,...r,ref:e})});B.displayName=F;var S="PopoverTrigger",y=i.forwardRef((t,e)=>{const{__scopePopover:o,...r}=t,n=d(S,o),s=g(o),a=A(e,n.triggerRef),p=c.jsx(_.button,{type:"button","aria-haspopup":"dialog","aria-expanded":n.open,"aria-controls":n.contentId,"data-state":k(n.open),...r,ref:a,onClick:P(t.onClick,n.onOpenToggle)});return n.hasCustomAnchor?p:c.jsx(j,{asChild:!0,...s,children:p})});y.displayName=S;var O="PopoverPortal",[ee,oe]=b(O,{forceMount:void 0}),M=t=>{const{__scopePopover:e,forceMount:o,children:r,container:n}=t,s=d(O,e);return c.jsx(ee,{scope:e,forceMount:o,children:c.jsx(w,{present:o||s.open,children:c.jsx(G,{asChild:!0,container:n,children:r})})})};M.displayName=O;var v="PopoverContent",D=i.forwardRef((t,e)=>{const o=oe(v,t.__scopePopover),{forceMount:r=o.forceMount,...n}=t,s=d(v,t.__scopePopover);return c.jsx(w,{present:r||s.open,children:s.modal?c.jsx(re,{...n,ref:e}):c.jsx(ne,{...n,ref:e})})});D.displayName=v;var te=U("PopoverContent.RemoveScroll"),re=i.forwardRef((t,e)=>{const o=d(v,t.__scopePopover),r=i.useRef(null),n=A(e,r),s=i.useRef(!1);return i.useEffect(()=>{const a=r.current;if(a)return H(a)},[]),c.jsx(K,{as:te,allowPinchZoom:!0,children:c.jsx(T,{...t,ref:n,trapFocus:o.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:P(t.onCloseAutoFocus,a=>{a.preventDefault(),s.current||o.triggerRef.current?.focus()}),onPointerDownOutside:P(t.onPointerDownOutside,a=>{const p=a.detail.originalEvent,l=p.button===0&&p.ctrlKey===!0,u=p.button===2||l;s.current=u},{checkForDefaultPrevented:!1}),onFocusOutside:P(t.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1})})})}),ne=i.forwardRef((t,e)=>{const o=d(v,t.__scopePopover),r=i.useRef(!1),n=i.useRef(!1);return c.jsx(T,{...t,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{t.onCloseAutoFocus?.(s),s.defaultPrevented||(r.current||o.triggerRef.current?.focus(),s.preventDefault()),r.current=!1,n.current=!1},onInteractOutside:s=>{t.onInteractOutside?.(s),s.defaultPrevented||(r.current=!0,s.detail.originalEvent.type==="pointerdown"&&(n.current=!0));const a=s.target;o.triggerRef.current?.contains(a)&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&n.current&&s.preventDefault()}})}),T=i.forwardRef((t,e)=>{const{__scopePopover:o,trapFocus:r,onOpenAutoFocus:n,onCloseAutoFocus:s,disableOutsidePointerEvents:a,onEscapeKeyDown:p,onPointerDownOutside:l,onFocusOutside:u,onInteractOutside:h,...x}=t,f=d(v,o),m=g(o);return V(),c.jsx(W,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:n,onUnmountAutoFocus:s,children:c.jsx(Z,{asChild:!0,disableOutsidePointerEvents:a,onInteractOutside:h,onEscapeKeyDown:p,onPointerDownOutside:l,onFocusOutside:u,onDismiss:()=>f.onOpenChange(!1),children:c.jsx(Q,{"data-state":k(f.open),role:"dialog",id:f.contentId,...m,...x,ref:e,style:{...x.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),I="PopoverClose",se=i.forwardRef((t,e)=>{const{__scopePopover:o,...r}=t,n=d(I,o);return c.jsx(_.button,{type:"button",...r,ref:e,onClick:P(t.onClick,()=>n.onOpenChange(!1))})});se.displayName=I;var ae="PopoverArrow",ce=i.forwardRef((t,e)=>{const{__scopePopover:o,...r}=t,n=g(o);return c.jsx(X,{...n,...r,ref:e})});ce.displayName=ae;function k(t){return t?"open":"closed"}var ie=N,pe=y,le=M,ue=D;function fe(t){const e=R.c(4);let o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let r;return e[2]!==o?(r=c.jsx(ie,{"data-slot":"popover",...o}),e[2]=o,e[3]=r):r=e[3],r}function ve(t){const e=R.c(4);let o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let r;return e[2]!==o?(r=c.jsx(pe,{"data-slot":"popover-trigger",...o}),e[2]=o,e[3]=r):r=e[3],r}function Pe(t){const e=R.c(12);let o,r,n,s;e[0]!==t?({className:o,align:n,sideOffset:s,...r}=t,e[0]=t,e[1]=o,e[2]=r,e[3]=n,e[4]=s):(o=e[1],r=e[2],n=e[3],s=e[4]);const a=n===void 0?"center":n,p=s===void 0?4:s;let l;e[5]!==o?(l=Y("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-lg overflow-hidden border p-4 shadow-md outline-hidden",o),e[5]=o,e[6]=l):l=e[6];let u;return e[7]!==a||e[8]!==r||e[9]!==p||e[10]!==l?(u=c.jsx(le,{children:c.jsx(ue,{"data-slot":"popover-content",align:a,sideOffset:p,className:l,...r})}),e[7]=a,e[8]=r,e[9]=p,e[10]=l,e[11]=u):u=e[11],u}export{fe as P,ve as a,Pe as b};
@@ -1 +1 @@
1
- import{e as Y,j as r,B as W,r as X,c as Z}from"./index-COlSsy5J.js";import{t as ee}from"./ChevronDown-BldydMJ0.js";import{n as te}from"./LinkExternal01-DwIqUvLe.js";import{P as oe}from"./agent-icon-B1KjkGhC.js";import{e as re,f as ie,d as le}from"./scroll-area-DOnfhZQE.js";import{I as q}from"./input-CuVtlRv5.js";import{L as K}from"./label-BCRIEPd0.js";import{M as se}from"./automation-runs-CHVaaxN6.js";import{T as ae}from"./textarea-DsT2vsGj.js";import{I as ne}from"./image-field-ZYWbFFqt.js";import{c as me}from"./schema-form-hXy8-pLC.js";import{ai as pe,aj as ce,ak as fe,al as ue}from"./index-BW5f_EaT.js";import{u as de,s as U,I as ge,R as xe,A as he}from"./primitives-DOHAd4Be.js";import{S as ye}from"./save-status-2WDTqRnj.js";import{a as ve,B as je,b as be}from"./block-document-Dr1GbIJR.js";import"./AlertCircle-Dnqz3IxM.js";import"./Tool01-B4m3Gnpd.js";import"./SwitchHorizontal01-Ca_h3hG5.js";import"./Settings02-BcW_Yd93.js";import"./XCircle-CpovmLEO.js";import"./ArrowUpRight-B2NXgTf2.js";import"./ZapSquare-ChOMpHGM.js";import"./Users03-CJ4lkyfr.js";import"./CheckCircle-D9OslXZP.js";import"./ChevronUp-CjDXfs3K.js";import"./ChevronLeft-CXmppBJO.js";import"./ChevronRight-BsknZQE_.js";import"./DotsVertical-Ci1mVPsb.js";import"./Stars02-CB3UMWzf.js";import"./Eye-DifA9NHq.js";import"./ZoomOut-DYeUJTmS.js";import"./Globe01-CMUrlGmF.js";import"./FilterLines-CV07u96M.js";import"./Star01-DxJIcjLz.js";import"./Globe04-BplUDurZ.js";import"./HardDrive-B6V7BYZB.js";import"./Key01-DGn_JEBu.js";import"./LayoutLeft-BI32Ru47.js";import"./Monitor01-C-tOv611.js";import"./Sun-CTchQz03.js";import"./Palette-pjBymHRy.js";import"./Play-BEuZCxsN.js";import"./Plus-DHJbi1i9.js";import"./SearchMd-yvCGxslh.js";import"./Shield01-DXFrycnj.js";import"./Stars01-Dr_rOBxK.js";import"./Trash01-BDNQcRq9.js";import"./Upload01-CuyZwIAy.js";import"./User01-kj3Bxvgl.js";import"./Users01-DM4FmEoT.js";import"./XClose-CnYr1LOo.js";import"./X-Botvp-t_.js";import"./Zap-8NdOr1pq.js";import"./use-clock-tick-DkwKhG1v.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-CqTP6NE5.js";import"./tooltip-D5U362dF.js";import"./file-type-icon-DURyeK9L.js";import"./dialog-BMBVdX8K.js";import"./tab-id-BptcWVWa.js";import"./content-blocks-o63cs2vh.js";import"./types-C-QYkfD4.js";import"./use-mcp-client-CK2bE_Wl.js";import"./auth-DA6X7KBB.js";import"./chat-context-B_U1gcun.js";import"./hooks-DlDryoZW.js";import"./decopilot-sse-pool-DdZSTixQ.js";import"./use-virtual-mcp-DPWDEWCb.js";import"./use-collections-D4JsVK-B.js";import"./use-ai-providers-CLZQ64DO.js";import"./studio-tools-CyTucPcW.js";import"./use-organization-settings-CiSDOMOC.js";import"./shell-layout-Cx--9PV8.js";import"./avatar-D7wKrjgH.js";import"./required-auth-layout-D9YU16Eu.js";import"./useRouterState-q7ojL5Do.js";import"./use-org-sso-Dh5HCYSJ.js";import"./sheet-Cn8FwYbD.js";import"./integration-icon-RqT66_6U.js";import"./use-navigate-to-agent-C2rXzvAb.js";import"./use-connection-C7Z8M26w.js";import"./use-mcp-prompts--L5Py2oF.js";import"./form-CdGhzS_x.js";import"./select-Dqs7Z4yG.js";import"./useInfiniteQuery-BS_m7Y7W.js";import"./use-infinite-scroll-SjuQvrxH.js";import"./card-BtNxdFil.js";import"./table-Gv4tJy7V.js";import"./empty-state-SvMp_sYN.js";import"./use-members-CYuArAru.js";import"./use-org-auth-client-BYQp-Udb.js";import"./task-status-BfeF--n0.js";import"./use-automations-DNKM1hXI.js";import"./useSuspenseInfiniteQuery-CHHT-uCm.js";import"./badge-Rj4w6Y9D.js";import"./checkbox-CzoSEbjC.js";import"./command-CYqVDIDi.js";import"./index-D4WUCfu0.js";import"./popover-rRtv1RUJ.js";import"./dropdown-menu-gXn3xVef.js";import"./skeleton-Bo_6Cq99.js";import"./tabs-DAvIQWby.js";import"./use-file-configs-DKTLvOxt.js";import"./calendar-BETEvsL1.js";import"./switch-CorAlxCf.js";import"./sortable.esm-yJWb24sN.js";import"./index-DEanDL8Y.js";import"./drawer-TLQRWcN-.js";import"./collection-search-BSHmVsv0.js";import"./toggle-group-WKZVvwQm.js";import"./use-deco-credits-Cm6qycwc.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-CzT4sqi7.js";import"./use-registry-connections-rHz6zGP7.js";import"./extract-connection-data-BsbTS0uC.js";import"./collection-tabs-CghGabs6.js";import"./connection-form-helpers-CuaSwKDp.js";import"./mcp-oauth-kSTvScdZ.js";import"./connect-desktop-dialog-Cq5se3ri.js";import"./decopilot-Bw9nv9Fa.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-BqnJtUWr.js";import"./question-004-sINsf4GQ.js";import"./use-status-sounds-BmR3uEUx.js";import"./toolbar-BfY48AQu.js";import"./preview-dialog-HeEAXFdp.js";import"./index-C_H1H79r.js";import"./use-mcp-tools-B7wduqbV.js";import"./use-capability-XIhIuFk7.js";import"./shell-route-loading-Brmd2_HQ.js";import"./index-B66xjk-i.js";import"./alert-dialog-DvJDYQsM.js";import"./use-debounced-autosave-B8dr6XMC.js";import"./index-CkC7ek4r.js";import"./sidebar-D1LCPjC8.js";import"./search-input-Dh2xeHiv.js";import"./github-repo-picker-Db3xiFzy.js";import"./use-secrets-DLuniCTL.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./view-mode-toggle-CeXLSv0R.js";import"./select-model-bXVR8jvT.js";import"./monaco-editor-DNLiFjHn.js";import"./automation-list-row-BIiojY8I.js";const H=f=>typeof f=="string"?f:"",Ce=/\/blog\.tsx?$/;function Se(f){for(const[e,t]of Object.entries(f)){if(e.includes("/")||!t||typeof t!="object"||Array.isArray(t))continue;const i=t;if(typeof i.__resolveType!="string"||!Ce.test(i.__resolveType))continue;const o=H(i.pageSlug);if(o)return o}return null}function _e(f){const e=f.categories;if(!Array.isArray(e)||e.length===0)return"";const t=e[0];return H(t?.slug)}function ke(f,e){let t=f;if(/:category\??/.test(t)){if(!e.category)return null;t=t.replace(/:category\??/g,encodeURIComponent(e.category))}if(/:slug\??/.test(t)){if(!e.slug)return null;t=t.replace(/:slug\??/g,encodeURIComponent(e.slug))}return t}function Pe({decofile:f,post:e,previewBaseUrl:t}){if(!t)return null;const i=Se(f);if(!i)return null;const o=ke(i,{category:_e(e),slug:H(e.slug)});if(!o)return null;try{return new URL(o,t).href}catch{return null}}function Ne(f){return Array.isArray(f)?f.map(e=>({key:U(e?.key),value:U(e?.value)})):[]}function fr(f){const e=Y.c(68),{orgSlug:t,virtualMcpId:i,branch:o,blockKey:s,block:S,decofile:m,meta:v,previewBaseUrl:x}=f;let j;e[0]!==o||e[1]!==t||e[2]!==i?(j={orgSlug:t,virtualMcpId:i,branch:o},e[0]=o,e[1]=t,e[2]=i,e[3]=j):j=e[3];const l=pe(j);let u;e[4]!==S?(u=ce(S,"posts"),e[4]=S,e[5]=u):u=e[5];const d=u;let b;e[6]!==s||e[7]!==l?(b=M=>{l.mutate({blockKey:s,data:fe(s,"posts",M)})},e[6]=s,e[7]=l,e[8]=b):b=e[8];const[a,R]=de(d,b);let _;e[9]!==a||e[10]!==R?(_=(M,Q)=>R({...a,[M]:Q}),e[9]=a,e[10]=R,e[11]=_):_=e[11];const p=_;let k;e[12]!==m||e[13]!==a||e[14]!==x?(k=Pe({decofile:m,post:a,previewBaseUrl:x}),e[12]=m,e[13]=a,e[14]=x,e[15]=k):k=e[15];const h=k;let n;e[16]!==a.title?(n=U(a.title)||"Untitled post",e[16]=a.title,e[17]=n):n=e[17];let c;e[18]!==n?(c=r.jsx("span",{className:"truncate text-sm font-medium",children:n}),e[18]=n,e[19]=c):c=e[19];let g;e[20]!==l.isError||e[21]!==l.isPending?(g=r.jsx(ye,{isPending:l.isPending,isError:l.isError}),e[20]=l.isError,e[21]=l.isPending,e[22]=g):g=e[22];const C=!h,z=h?"Open the post preview in a new tab":"Set the post slug (and its category) plus the blog app's pageSlug to preview";let P;e[23]!==h?(P=()=>{h&&window.open(h,"_blank","noopener,noreferrer")},e[23]=h,e[24]=P):P=e[24];let I;e[25]===Symbol.for("react.memo_cache_sentinel")?(I=r.jsx(te,{size:14}),e[25]=I):I=e[25];let L;e[26]!==z||e[27]!==P||e[28]!==C?(L=r.jsxs(W,{type:"button",variant:"outline",size:"sm",disabled:C,title:z,onClick:P,children:[I,"See preview"]}),e[26]=z,e[27]=P,e[28]=C,e[29]=L):L=e[29];let N;e[30]!==L||e[31]!==g?(N=r.jsxs("div",{className:"flex shrink-0 items-center gap-3",children:[g,L]}),e[30]=L,e[31]=g,e[32]=N):N=e[32];let B;e[33]!==N||e[34]!==c?(B=r.jsxs("div",{className:"flex h-12 shrink-0 items-center justify-between border-b px-6",children:[c,N]}),e[33]=N,e[34]=c,e[35]=B):B=e[35];let T;e[36]!==a.title?(T=U(a.title),e[36]=a.title,e[37]=T):T=e[37];let w;e[38]!==p?(w=M=>p("title",M),e[38]=p,e[39]=w):w=e[39];let A;e[40]!==T||e[41]!==w?(A=r.jsx(ge,{value:T,onChange:w,placeholder:"Post title",className:"py-1 text-3xl font-bold text-foreground"}),e[40]=T,e[41]=w,e[42]=A):A=e[42];let E;e[43]!==m||e[44]!==a||e[45]!==p?(E=r.jsx(Be,{post:a,decofile:m,onChange:p}),e[43]=m,e[44]=a,e[45]=p,e[46]=E):E=e[46];let $;e[47]===Symbol.for("react.memo_cache_sentinel")?($=r.jsx("div",{className:"mt-6 border-t"}),e[47]=$):$=e[47];let F;e[48]!==a.sections?(F=ve(a.sections),e[48]=a.sections,e[49]=F):F=e[49];let O;e[50]!==p?(O=M=>p("sections",M),e[50]=p,e[51]=O):O=e[51];let y;e[52]!==v||e[53]!==F||e[54]!==O?(y=r.jsx(je,{value:F,onChange:O,meta:v,emptyMessage:"This post has no content yet. Use ⊕ to add your first block."}),e[52]=v,e[53]=F,e[54]=O,e[55]=y):y=e[55];let D;e[56]!==A||e[57]!==E||e[58]!==y?(D=r.jsx("div",{className:"min-w-0 flex-1 overflow-y-auto",children:r.jsxs("div",{className:"mx-auto max-w-3xl px-8 py-8",children:[A,E,$,y]})}),e[56]=A,e[57]=E,e[58]=y,e[59]=D):D=e[59];let V;e[60]!==B||e[61]!==D?(V=r.jsxs("div",{className:"flex h-full flex-col",children:[B,D]}),e[60]=B,e[61]=D,e[62]=V):V=e[62];let G;return e[63]!==o||e[64]!==t||e[65]!==V||e[66]!==i?(G=r.jsx(be,{orgSlug:t,virtualMcpId:i,branch:o,children:V}),e[63]=o,e[64]=t,e[65]=V,e[66]=i,e[67]=G):G=e[67],G}function Be(f){const e=Y.c(69),{post:t,decofile:i,onChange:o}=f,[s,S]=X.useState(!1);let m,v;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=r.jsx(oe,{size:15}),v=r.jsx("span",{className:"flex-1 text-left",children:"Post settings"}),e[0]=m,e[1]=v):(m=e[0],v=e[1]);const x=s&&"rotate-180";let j;e[2]!==x?(j=Z("transition-transform",x),e[2]=x,e[3]=j):j=e[3];let l;e[4]!==j?(l=r.jsx(re,{asChild:!0,children:r.jsxs("button",{type:"button",className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm text-muted-foreground transition-colors hover:bg-muted hover:text-foreground cursor-pointer",children:[m,v,r.jsx(ee,{size:15,className:j})]})}),e[4]=j,e[5]=l):l=e[5];let u;e[6]===Symbol.for("react.memo_cache_sentinel")?(u=r.jsx(K,{htmlFor:"post-excerpt",children:"Excerpt"}),e[6]=u):u=e[6];let d;e[7]!==t.excerpt?(d=U(t.excerpt),e[7]=t.excerpt,e[8]=d):d=e[8];let b;e[9]!==o?(b=y=>o("excerpt",y.target.value),e[9]=o,e[10]=b):b=e[10];let a;e[11]!==d||e[12]!==b?(a=r.jsxs("div",{className:"space-y-2",children:[u,r.jsx(ae,{id:"post-excerpt",value:d,onChange:b,rows:2})]}),e[11]=d,e[12]=b,e[13]=a):a=e[13];let R;e[14]===Symbol.for("react.memo_cache_sentinel")?(R=r.jsx(K,{htmlFor:"post-slug",children:"Slug"}),e[14]=R):R=e[14];let _;e[15]!==t.slug?(_=U(t.slug),e[15]=t.slug,e[16]=_):_=e[16];let p;e[17]!==o?(p=y=>o("slug",y.target.value),e[17]=o,e[18]=p):p=e[18];let k;e[19]!==_||e[20]!==p?(k=r.jsxs("div",{className:"space-y-2",children:[R,r.jsx(q,{id:"post-slug",value:_,onChange:p,placeholder:"my-post",className:"h-10"})]}),e[19]=_,e[20]=p,e[21]=k):k=e[21];let h;e[22]===Symbol.for("react.memo_cache_sentinel")?(h={type:"string",format:"date",title:"Date"},e[22]=h):h=e[22];let n;e[23]!==t.date?(n=U(t.date),e[23]=t.date,e[24]=n):n=e[24];let c;e[25]!==o?(c=y=>o("date",y),e[25]=o,e[26]=c):c=e[26];let g;e[27]!==n||e[28]!==c?(g=r.jsx(me,{schema:h,value:n,onChange:c,path:"post-date",label:"Date"}),e[27]=n,e[28]=c,e[29]=g):g=e[29];let C;e[30]!==k||e[31]!==g?(C=r.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[k,g]}),e[30]=k,e[31]=g,e[32]=C):C=e[32];let z;e[33]===Symbol.for("react.memo_cache_sentinel")?(z={type:"string",format:"image-uri",title:"Cover image"},e[33]=z):z=e[33];let P;e[34]!==o?(P=y=>o("image",y),e[34]=o,e[35]=P):P=e[35];let I;e[36]!==t.image||e[37]!==P?(I=r.jsx(ne,{schema:z,value:t.image,onChange:P,path:"post-image",label:"Cover image"}),e[36]=t.image,e[37]=P,e[38]=I):I=e[38];let L;e[39]===Symbol.for("react.memo_cache_sentinel")?(L=["email"],e[39]=L):L=e[39];let N;e[40]!==o?(N=y=>o("authors",y),e[40]=o,e[41]=N):N=e[41];let B;e[42]!==i||e[43]!==t.authors||e[44]!==N?(B=r.jsx(J,{label:"Authors",decofile:i,kind:"authors",valueField:"email",extraFields:L,selected:t.authors,onChange:N}),e[42]=i,e[43]=t.authors,e[44]=N,e[45]=B):B=e[45];let T;e[46]===Symbol.for("react.memo_cache_sentinel")?(T=["slug"],e[46]=T):T=e[46];let w;e[47]!==o?(w=y=>o("categories",y),e[47]=o,e[48]=w):w=e[48];let A;e[49]!==i||e[50]!==t.categories||e[51]!==w?(A=r.jsx(J,{label:"Categories",decofile:i,kind:"categories",valueField:"slug",extraFields:T,selected:t.categories,onChange:w}),e[49]=i,e[50]=t.categories,e[51]=w,e[52]=A):A=e[52];let E;e[53]!==o?(E=y=>o("extraProps",y),e[53]=o,e[54]=E):E=e[54];let $;e[55]!==t.extraProps||e[56]!==E?($=r.jsx(we,{value:t.extraProps,onChange:E}),e[55]=t.extraProps,e[56]=E,e[57]=$):$=e[57];let F;e[58]!==C||e[59]!==I||e[60]!==B||e[61]!==A||e[62]!==$||e[63]!==a?(F=r.jsxs(ie,{className:"space-y-5 px-2 pt-4",children:[a,C,I,B,A,$]}),e[58]=C,e[59]=I,e[60]=B,e[61]=A,e[62]=$,e[63]=a,e[64]=F):F=e[64];let O;return e[65]!==s||e[66]!==F||e[67]!==l?(O=r.jsxs(le,{open:s,onOpenChange:S,className:"mt-4",children:[l,F]}),e[65]=s,e[66]=F,e[67]=l,e[68]=O):O=e[68],O}function we(f){const e=Y.c(15),{value:t,onChange:i}=f;let o,s,S,m;if(e[0]!==i||e[1]!==t){o=Ne(t);const j=(l,u)=>i(o.map((d,b)=>b===l?{...d,...u}:d));s="space-y-2",e[6]===Symbol.for("react.memo_cache_sentinel")?(S=r.jsx(K,{children:"Extra props"}),e[6]=S):S=e[6],m=o.length>0&&r.jsx("ul",{className:"space-y-2",children:o.map((l,u)=>r.jsxs("li",{className:"group/item flex items-center gap-2",children:[r.jsx(q,{value:l.key,onChange:d=>j(u,{key:d.target.value}),placeholder:"key",className:"h-9 flex-1"}),r.jsx(q,{value:l.value,onChange:d=>j(u,{value:d.target.value}),placeholder:"value",className:"h-9 flex-1"}),r.jsx(xe,{label:"Remove prop",onClick:()=>i(o.filter((d,b)=>b!==u))})]},u))}),e[0]=i,e[1]=t,e[2]=o,e[3]=s,e[4]=S,e[5]=m}else o=e[2],s=e[3],S=e[4],m=e[5];let v;e[7]!==o||e[8]!==i?(v=r.jsx(he,{label:"Add prop",onClick:()=>i([...o,{key:"",value:""}])}),e[7]=o,e[8]=i,e[9]=v):v=e[9];let x;return e[10]!==s||e[11]!==S||e[12]!==m||e[13]!==v?(x=r.jsxs("div",{className:s,children:[S,m,v]}),e[10]=s,e[11]=S,e[12]=m,e[13]=v,e[14]=x):x=e[14],x}function J(f){const e=Y.c(31),{label:t,decofile:i,kind:o,valueField:s,extraFields:S,selected:m,onChange:v}=f;let x,j,l;if(e[0]!==i||e[1]!==o||e[2]!==s){x=ue(i,o);let h;e[6]!==s?(h=(c,g)=>U(c[s])||g,e[6]=s,e[7]=h):h=e[7],l=h;let n;e[8]!==l?(n=c=>{const{key:g,payload:C}=c;return{value:l(C,g),label:U(C.name)||l(C,g)}},e[8]=l,e[9]=n):n=e[9],j=x.map(n),e[0]=i,e[1]=o,e[2]=s,e[3]=x,e[4]=j,e[5]=l}else x=e[3],j=e[4],l=e[5];const u=j;let d;if(e[10]!==m||e[11]!==s){const h=Array.isArray(m)?m:[];let n;e[13]!==s?(n=c=>U(c[s]),e[13]=s,e[14]=n):n=e[14],d=h.map(n).filter(Boolean),e[10]=m,e[11]=s,e[12]=d}else d=e[12];const b=d;let a;e[15]!==S||e[16]!==v||e[17]!==x||e[18]!==s||e[19]!==l?(a=h=>{v(h.map(n=>{const c=x.find(C=>{const{key:z,payload:P}=C;return l(P,z)===n});if(!c)return{name:n,[s]:n};const g={name:U(c.payload.name)};for(const C of S)g[C]=c.payload[C]??n;return g}))},e[15]=S,e[16]=v,e[17]=x,e[18]=s,e[19]=l,e[20]=a):a=e[20];const R=a;let _;e[21]!==t?(_=r.jsx(K,{children:t}),e[21]=t,e[22]=_):_=e[22];let p;e[23]!==b||e[24]!==R||e[25]!==t||e[26]!==u?(p=u.length===0?r.jsxs("p",{className:"text-xs text-muted-foreground",children:["No ",t.toLowerCase()," yet — create some in the"," ",t.toLowerCase()," collection."]}):r.jsx(se,{options:u,defaultValue:b,onValueChange:R,placeholder:`Select ${t.toLowerCase()}`,maxCount:4}),e[23]=b,e[24]=R,e[25]=t,e[26]=u,e[27]=p):p=e[27];let k;return e[28]!==_||e[29]!==p?(k=r.jsxs("div",{className:"space-y-2",children:[_,p]}),e[28]=_,e[29]=p,e[30]=k):k=e[30],k}export{fr as PostEditor};
1
+ import{e as Y,j as r,B as W,r as X,c as Z}from"./index-rm3C3HAe.js";import{t as ee}from"./ChevronDown-DniEvTjW.js";import{n as te}from"./LinkExternal01-9FjHpG7X.js";import{P as oe}from"./agent-icon-DzGGkbHB.js";import{e as re,f as le,d as ie}from"./scroll-area-HiEpDNZ9.js";import{I as q}from"./input-YP3xr2b6.js";import{L as K}from"./label-BZO-nx5U.js";import{M as se}from"./automation-runs-Dg53j0r1.js";import{T as ae}from"./textarea-BYctdmbn.js";import{I as ne}from"./image-field-BGYmIBMw.js";import{g as me}from"./schema-form-Mo6wmjwV.js";import{ak as pe,al as ce,am as fe,an as ue}from"./index-Dqht8t56.js";import{u as de,s as U,I as ge,R as xe,A as he}from"./primitives-g1tedqpt.js";import{S as ye}from"./save-status-D8Sun7mT.js";import{a as ve,B as je,b as be}from"./block-document-D3PWH8Ct.js";import"./AlertCircle-eiDdFdpo.js";import"./Tool01-CeM3_qGC.js";import"./SwitchHorizontal01-CYTzFeBS.js";import"./Settings02-9iZ4Kn5K.js";import"./XCircle-Cqbss1Kp.js";import"./ArrowUpRight-C3MnTMc7.js";import"./ZapSquare-B74wvvEK.js";import"./Users03-DPz9weBu.js";import"./CheckCircle-DXVZzubl.js";import"./ChevronUp-lUGooUMN.js";import"./ChevronLeft-DZ-8LN4r.js";import"./ChevronRight-CVU8CEAx.js";import"./DotsVertical-ClOH4Gg-.js";import"./Stars02-qeumL9NN.js";import"./Eye-Da_GEN8c.js";import"./ZoomOut-D3PYnATq.js";import"./Globe01-CjtjZc8W.js";import"./FilterLines-7z3fJe--.js";import"./Star01-BoCe66s1.js";import"./Globe04-B-0xtF1q.js";import"./HardDrive-CRjCXSN1.js";import"./Key01-BH7QR3Q0.js";import"./LayoutLeft-C_gVdeVq.js";import"./Monitor01-SxcGMGVR.js";import"./Sun-D8qj-954.js";import"./Palette-BDDXfJRi.js";import"./Play-Bc7SI6RM.js";import"./Plus-C95a6sD7.js";import"./SearchMd-BsAsyTF8.js";import"./Shield01-DyztF96J.js";import"./Stars01-KhRKHdWL.js";import"./Trash01-Dr7Z-Rtu.js";import"./Upload01-H0yxEIEj.js";import"./User01-Dm5WZ8ZU.js";import"./Users01-Bn8juneC.js";import"./XClose-BGuIHH55.js";import"./X-B8VBAesm.js";import"./Zap-CTngI1pZ.js";import"./use-clock-tick-C60lgc5z.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-BeM54y_K.js";import"./tooltip-muTAVYsN.js";import"./file-type-icon-CfmazJxW.js";import"./dialog-ZcUt91qN.js";import"./tab-id-BptcWVWa.js";import"./content-blocks-o63cs2vh.js";import"./types-DcyOlOkr.js";import"./use-mcp-client-VQUpV2Ii.js";import"./auth-xNmYqmgC.js";import"./chat-context-DwuFSNXk.js";import"./hooks-DVgYis4C.js";import"./decopilot-sse-pool-tu8rIUid.js";import"./use-virtual-mcp-CA84I6FL.js";import"./use-collections-DZb_dDr5.js";import"./use-ai-providers-hrShoTNJ.js";import"./studio-tools-Bs-4h4N6.js";import"./use-organization-settings-C_6Vi920.js";import"./shell-layout-D_O9nrWI.js";import"./avatar-B7kKIqkG.js";import"./required-auth-layout-C3Gv1yj3.js";import"./useRouterState-Cci41lb_.js";import"./use-org-sso-DxnrDxMD.js";import"./sheet--I615llH.js";import"./integration-icon-DrPIi_Lw.js";import"./use-navigate-to-agent-C-zszyi1.js";import"./use-connection-B7DWRE37.js";import"./use-mcp-prompts-VMwEXGxN.js";import"./form-BnR92DK8.js";import"./select-DNJPz4ZI.js";import"./useInfiniteQuery-C8ycMIJZ.js";import"./use-infinite-scroll-CtiF3fgR.js";import"./card-BJ97y7iE.js";import"./table-D9vTl4St.js";import"./empty-state-DHrDb97g.js";import"./use-members-CjS-AkZB.js";import"./use-org-auth-client-C9iPXZoQ.js";import"./task-status-BT_ofK0L.js";import"./use-automations-DmxLmx01.js";import"./useSuspenseInfiniteQuery-DEZ-HoPC.js";import"./badge-B1zUdZu4.js";import"./checkbox-CTtEhAwe.js";import"./command-Toe5bvPv.js";import"./index-8mI3Tffx.js";import"./popover-CMddDx8S.js";import"./dropdown-menu-CanZ1iuF.js";import"./skeleton-Db2IVZSk.js";import"./tabs-nSWhKPrq.js";import"./use-file-configs-DtiKgAOA.js";import"./calendar-C0B8UkyJ.js";import"./switch-CPIofN4u.js";import"./sortable.esm-C4XXVlGw.js";import"./index-CVXOwd6R.js";import"./drawer-Ch5vCDYY.js";import"./collection-search-D49siPrl.js";import"./toggle-group-DsnLxyxY.js";import"./use-deco-credits-Db4_aWO7.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-DALvnRcW.js";import"./use-registry-connections-B4n3e5W4.js";import"./extract-connection-data-2Pprwu-z.js";import"./collection-tabs-COIIQvGk.js";import"./connection-form-helpers-Bt8rfYZz.js";import"./mcp-oauth-C2VCpurV.js";import"./connect-desktop-dialog-wAwjOiTz.js";import"./decopilot-Jwqgdbyr.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-Dm-722_v.js";import"./question-004-sINsf4GQ.js";import"./use-status-sounds-DAQBMvRH.js";import"./toolbar-C8m_suht.js";import"./preview-dialog-ewcufuZZ.js";import"./index-BxN9R4vT.js";import"./use-mcp-tools-B1aAytZI.js";import"./use-capability-B928xLn2.js";import"./shell-route-loading-BCODfEXb.js";import"./index-hvgJxH8L.js";import"./alert-dialog-BmkUWho8.js";import"./use-debounced-autosave-Di0IMVYg.js";import"./index-CioasWLZ.js";import"./sidebar-CqyV3hvw.js";import"./search-input-CVNzv0kF.js";import"./github-repo-picker-CQlmRX03.js";import"./use-secrets-DbaTf5Lx.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./view-mode-toggle-DPXvgrPU.js";import"./select-model-_-YzMT35.js";import"./monaco-editor-DkCRcG9C.js";import"./automation-list-row-CZsOtouY.js";const H=f=>typeof f=="string"?f:"",Ce=/\/blog\.tsx?$/;function Se(f){for(const[e,t]of Object.entries(f)){if(e.includes("/")||!t||typeof t!="object"||Array.isArray(t))continue;const l=t;if(typeof l.__resolveType!="string"||!Ce.test(l.__resolveType))continue;const o=H(l.pageSlug);if(o)return o}return null}function _e(f){const e=f.categories;if(!Array.isArray(e)||e.length===0)return"";const t=e[0];return H(t?.slug)}function ke(f,e){let t=f;if(/:category\??/.test(t)){if(!e.category)return null;t=t.replace(/:category\??/g,encodeURIComponent(e.category))}if(/:slug\??/.test(t)){if(!e.slug)return null;t=t.replace(/:slug\??/g,encodeURIComponent(e.slug))}return t}function Pe({decofile:f,post:e,previewBaseUrl:t}){if(!t)return null;const l=Se(f);if(!l)return null;const o=ke(l,{category:_e(e),slug:H(e.slug)});if(!o)return null;try{return new URL(o,t).href}catch{return null}}function Ne(f){return Array.isArray(f)?f.map(e=>({key:U(e?.key),value:U(e?.value)})):[]}function fr(f){const e=Y.c(68),{orgSlug:t,virtualMcpId:l,branch:o,blockKey:s,block:S,decofile:m,meta:v,previewBaseUrl:x}=f;let j;e[0]!==o||e[1]!==t||e[2]!==l?(j={orgSlug:t,virtualMcpId:l,branch:o},e[0]=o,e[1]=t,e[2]=l,e[3]=j):j=e[3];const i=pe(j);let u;e[4]!==S?(u=ce(S,"posts"),e[4]=S,e[5]=u):u=e[5];const d=u;let b;e[6]!==s||e[7]!==i?(b=M=>{i.mutate({blockKey:s,data:fe(s,"posts",M)})},e[6]=s,e[7]=i,e[8]=b):b=e[8];const[a,R]=de(d,b);let _;e[9]!==a||e[10]!==R?(_=(M,Q)=>R({...a,[M]:Q}),e[9]=a,e[10]=R,e[11]=_):_=e[11];const p=_;let k;e[12]!==m||e[13]!==a||e[14]!==x?(k=Pe({decofile:m,post:a,previewBaseUrl:x}),e[12]=m,e[13]=a,e[14]=x,e[15]=k):k=e[15];const h=k;let n;e[16]!==a.title?(n=U(a.title)||"Untitled post",e[16]=a.title,e[17]=n):n=e[17];let c;e[18]!==n?(c=r.jsx("span",{className:"truncate text-sm font-medium",children:n}),e[18]=n,e[19]=c):c=e[19];let g;e[20]!==i.isError||e[21]!==i.isPending?(g=r.jsx(ye,{isPending:i.isPending,isError:i.isError}),e[20]=i.isError,e[21]=i.isPending,e[22]=g):g=e[22];const C=!h,z=h?"Open the post preview in a new tab":"Set the post slug (and its category) plus the blog app's pageSlug to preview";let P;e[23]!==h?(P=()=>{h&&window.open(h,"_blank","noopener,noreferrer")},e[23]=h,e[24]=P):P=e[24];let I;e[25]===Symbol.for("react.memo_cache_sentinel")?(I=r.jsx(te,{size:14}),e[25]=I):I=e[25];let L;e[26]!==z||e[27]!==P||e[28]!==C?(L=r.jsxs(W,{type:"button",variant:"outline",size:"sm",disabled:C,title:z,onClick:P,children:[I,"See preview"]}),e[26]=z,e[27]=P,e[28]=C,e[29]=L):L=e[29];let N;e[30]!==L||e[31]!==g?(N=r.jsxs("div",{className:"flex shrink-0 items-center gap-3",children:[g,L]}),e[30]=L,e[31]=g,e[32]=N):N=e[32];let B;e[33]!==N||e[34]!==c?(B=r.jsxs("div",{className:"flex h-12 shrink-0 items-center justify-between border-b px-6",children:[c,N]}),e[33]=N,e[34]=c,e[35]=B):B=e[35];let T;e[36]!==a.title?(T=U(a.title),e[36]=a.title,e[37]=T):T=e[37];let w;e[38]!==p?(w=M=>p("title",M),e[38]=p,e[39]=w):w=e[39];let A;e[40]!==T||e[41]!==w?(A=r.jsx(ge,{value:T,onChange:w,placeholder:"Post title",className:"py-1 text-3xl font-bold text-foreground"}),e[40]=T,e[41]=w,e[42]=A):A=e[42];let E;e[43]!==m||e[44]!==a||e[45]!==p?(E=r.jsx(Be,{post:a,decofile:m,onChange:p}),e[43]=m,e[44]=a,e[45]=p,e[46]=E):E=e[46];let $;e[47]===Symbol.for("react.memo_cache_sentinel")?($=r.jsx("div",{className:"mt-6 border-t"}),e[47]=$):$=e[47];let F;e[48]!==a.sections?(F=ve(a.sections),e[48]=a.sections,e[49]=F):F=e[49];let O;e[50]!==p?(O=M=>p("sections",M),e[50]=p,e[51]=O):O=e[51];let y;e[52]!==v||e[53]!==F||e[54]!==O?(y=r.jsx(je,{value:F,onChange:O,meta:v,emptyMessage:"This post has no content yet. Use ⊕ to add your first block."}),e[52]=v,e[53]=F,e[54]=O,e[55]=y):y=e[55];let D;e[56]!==A||e[57]!==E||e[58]!==y?(D=r.jsx("div",{className:"min-w-0 flex-1 overflow-y-auto",children:r.jsxs("div",{className:"mx-auto max-w-3xl px-8 py-8",children:[A,E,$,y]})}),e[56]=A,e[57]=E,e[58]=y,e[59]=D):D=e[59];let V;e[60]!==B||e[61]!==D?(V=r.jsxs("div",{className:"flex h-full flex-col",children:[B,D]}),e[60]=B,e[61]=D,e[62]=V):V=e[62];let G;return e[63]!==o||e[64]!==t||e[65]!==V||e[66]!==l?(G=r.jsx(be,{orgSlug:t,virtualMcpId:l,branch:o,children:V}),e[63]=o,e[64]=t,e[65]=V,e[66]=l,e[67]=G):G=e[67],G}function Be(f){const e=Y.c(69),{post:t,decofile:l,onChange:o}=f,[s,S]=X.useState(!1);let m,v;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=r.jsx(oe,{size:15}),v=r.jsx("span",{className:"flex-1 text-left",children:"Post settings"}),e[0]=m,e[1]=v):(m=e[0],v=e[1]);const x=s&&"rotate-180";let j;e[2]!==x?(j=Z("transition-transform",x),e[2]=x,e[3]=j):j=e[3];let i;e[4]!==j?(i=r.jsx(re,{asChild:!0,children:r.jsxs("button",{type:"button",className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm text-muted-foreground transition-colors hover:bg-muted hover:text-foreground cursor-pointer",children:[m,v,r.jsx(ee,{size:15,className:j})]})}),e[4]=j,e[5]=i):i=e[5];let u;e[6]===Symbol.for("react.memo_cache_sentinel")?(u=r.jsx(K,{htmlFor:"post-excerpt",children:"Excerpt"}),e[6]=u):u=e[6];let d;e[7]!==t.excerpt?(d=U(t.excerpt),e[7]=t.excerpt,e[8]=d):d=e[8];let b;e[9]!==o?(b=y=>o("excerpt",y.target.value),e[9]=o,e[10]=b):b=e[10];let a;e[11]!==d||e[12]!==b?(a=r.jsxs("div",{className:"space-y-2",children:[u,r.jsx(ae,{id:"post-excerpt",value:d,onChange:b,rows:2})]}),e[11]=d,e[12]=b,e[13]=a):a=e[13];let R;e[14]===Symbol.for("react.memo_cache_sentinel")?(R=r.jsx(K,{htmlFor:"post-slug",children:"Slug"}),e[14]=R):R=e[14];let _;e[15]!==t.slug?(_=U(t.slug),e[15]=t.slug,e[16]=_):_=e[16];let p;e[17]!==o?(p=y=>o("slug",y.target.value),e[17]=o,e[18]=p):p=e[18];let k;e[19]!==_||e[20]!==p?(k=r.jsxs("div",{className:"space-y-2",children:[R,r.jsx(q,{id:"post-slug",value:_,onChange:p,placeholder:"my-post",className:"h-10"})]}),e[19]=_,e[20]=p,e[21]=k):k=e[21];let h;e[22]===Symbol.for("react.memo_cache_sentinel")?(h={type:"string",format:"date",title:"Date"},e[22]=h):h=e[22];let n;e[23]!==t.date?(n=U(t.date),e[23]=t.date,e[24]=n):n=e[24];let c;e[25]!==o?(c=y=>o("date",y),e[25]=o,e[26]=c):c=e[26];let g;e[27]!==n||e[28]!==c?(g=r.jsx(me,{schema:h,value:n,onChange:c,path:"post-date",label:"Date"}),e[27]=n,e[28]=c,e[29]=g):g=e[29];let C;e[30]!==k||e[31]!==g?(C=r.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[k,g]}),e[30]=k,e[31]=g,e[32]=C):C=e[32];let z;e[33]===Symbol.for("react.memo_cache_sentinel")?(z={type:"string",format:"image-uri",title:"Cover image"},e[33]=z):z=e[33];let P;e[34]!==o?(P=y=>o("image",y),e[34]=o,e[35]=P):P=e[35];let I;e[36]!==t.image||e[37]!==P?(I=r.jsx(ne,{schema:z,value:t.image,onChange:P,path:"post-image",label:"Cover image"}),e[36]=t.image,e[37]=P,e[38]=I):I=e[38];let L;e[39]===Symbol.for("react.memo_cache_sentinel")?(L=["email"],e[39]=L):L=e[39];let N;e[40]!==o?(N=y=>o("authors",y),e[40]=o,e[41]=N):N=e[41];let B;e[42]!==l||e[43]!==t.authors||e[44]!==N?(B=r.jsx(J,{label:"Authors",decofile:l,kind:"authors",valueField:"email",extraFields:L,selected:t.authors,onChange:N}),e[42]=l,e[43]=t.authors,e[44]=N,e[45]=B):B=e[45];let T;e[46]===Symbol.for("react.memo_cache_sentinel")?(T=["slug"],e[46]=T):T=e[46];let w;e[47]!==o?(w=y=>o("categories",y),e[47]=o,e[48]=w):w=e[48];let A;e[49]!==l||e[50]!==t.categories||e[51]!==w?(A=r.jsx(J,{label:"Categories",decofile:l,kind:"categories",valueField:"slug",extraFields:T,selected:t.categories,onChange:w}),e[49]=l,e[50]=t.categories,e[51]=w,e[52]=A):A=e[52];let E;e[53]!==o?(E=y=>o("extraProps",y),e[53]=o,e[54]=E):E=e[54];let $;e[55]!==t.extraProps||e[56]!==E?($=r.jsx(we,{value:t.extraProps,onChange:E}),e[55]=t.extraProps,e[56]=E,e[57]=$):$=e[57];let F;e[58]!==C||e[59]!==I||e[60]!==B||e[61]!==A||e[62]!==$||e[63]!==a?(F=r.jsxs(le,{className:"space-y-5 px-2 pt-4",children:[a,C,I,B,A,$]}),e[58]=C,e[59]=I,e[60]=B,e[61]=A,e[62]=$,e[63]=a,e[64]=F):F=e[64];let O;return e[65]!==s||e[66]!==F||e[67]!==i?(O=r.jsxs(ie,{open:s,onOpenChange:S,className:"mt-4",children:[i,F]}),e[65]=s,e[66]=F,e[67]=i,e[68]=O):O=e[68],O}function we(f){const e=Y.c(15),{value:t,onChange:l}=f;let o,s,S,m;if(e[0]!==l||e[1]!==t){o=Ne(t);const j=(i,u)=>l(o.map((d,b)=>b===i?{...d,...u}:d));s="space-y-2",e[6]===Symbol.for("react.memo_cache_sentinel")?(S=r.jsx(K,{children:"Extra props"}),e[6]=S):S=e[6],m=o.length>0&&r.jsx("ul",{className:"space-y-2",children:o.map((i,u)=>r.jsxs("li",{className:"group/item flex items-center gap-2",children:[r.jsx(q,{value:i.key,onChange:d=>j(u,{key:d.target.value}),placeholder:"key",className:"h-9 flex-1"}),r.jsx(q,{value:i.value,onChange:d=>j(u,{value:d.target.value}),placeholder:"value",className:"h-9 flex-1"}),r.jsx(xe,{label:"Remove prop",onClick:()=>l(o.filter((d,b)=>b!==u))})]},u))}),e[0]=l,e[1]=t,e[2]=o,e[3]=s,e[4]=S,e[5]=m}else o=e[2],s=e[3],S=e[4],m=e[5];let v;e[7]!==o||e[8]!==l?(v=r.jsx(he,{label:"Add prop",onClick:()=>l([...o,{key:"",value:""}])}),e[7]=o,e[8]=l,e[9]=v):v=e[9];let x;return e[10]!==s||e[11]!==S||e[12]!==m||e[13]!==v?(x=r.jsxs("div",{className:s,children:[S,m,v]}),e[10]=s,e[11]=S,e[12]=m,e[13]=v,e[14]=x):x=e[14],x}function J(f){const e=Y.c(31),{label:t,decofile:l,kind:o,valueField:s,extraFields:S,selected:m,onChange:v}=f;let x,j,i;if(e[0]!==l||e[1]!==o||e[2]!==s){x=ue(l,o);let h;e[6]!==s?(h=(c,g)=>U(c[s])||g,e[6]=s,e[7]=h):h=e[7],i=h;let n;e[8]!==i?(n=c=>{const{key:g,payload:C}=c;return{value:i(C,g),label:U(C.name)||i(C,g)}},e[8]=i,e[9]=n):n=e[9],j=x.map(n),e[0]=l,e[1]=o,e[2]=s,e[3]=x,e[4]=j,e[5]=i}else x=e[3],j=e[4],i=e[5];const u=j;let d;if(e[10]!==m||e[11]!==s){const h=Array.isArray(m)?m:[];let n;e[13]!==s?(n=c=>U(c[s]),e[13]=s,e[14]=n):n=e[14],d=h.map(n).filter(Boolean),e[10]=m,e[11]=s,e[12]=d}else d=e[12];const b=d;let a;e[15]!==S||e[16]!==v||e[17]!==x||e[18]!==s||e[19]!==i?(a=h=>{v(h.map(n=>{const c=x.find(C=>{const{key:z,payload:P}=C;return i(P,z)===n});if(!c)return{name:n,[s]:n};const g={name:U(c.payload.name)};for(const C of S)g[C]=c.payload[C]??n;return g}))},e[15]=S,e[16]=v,e[17]=x,e[18]=s,e[19]=i,e[20]=a):a=e[20];const R=a;let _;e[21]!==t?(_=r.jsx(K,{children:t}),e[21]=t,e[22]=_):_=e[22];let p;e[23]!==b||e[24]!==R||e[25]!==t||e[26]!==u?(p=u.length===0?r.jsxs("p",{className:"text-xs text-muted-foreground",children:["No ",t.toLowerCase()," yet — create some in the"," ",t.toLowerCase()," collection."]}):r.jsx(se,{options:u,defaultValue:b,onValueChange:R,placeholder:`Select ${t.toLowerCase()}`,maxCount:4}),e[23]=b,e[24]=R,e[25]=t,e[26]=u,e[27]=p):p=e[27];let k;return e[28]!==_||e[29]!==p?(k=r.jsxs("div",{className:"space-y-2",children:[_,p]}),e[28]=_,e[29]=p,e[30]=k):k=e[30],k}export{fr as PostEditor};