@orizm/cli 3.1.0 → 3.3.0-beta.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.
- package/README.md +27 -1
- package/dist/agent-Kf8iuW2I.mjs +14 -0
- package/dist/agent-Kf8iuW2I.mjs.map +1 -0
- package/dist/agent-UZZtdOZS.cjs +14 -0
- package/dist/agent-UZZtdOZS.cjs.map +1 -0
- package/dist/auth-BnXPHgBU.cjs +18 -0
- package/dist/{auth-CNbONZuf.cjs.map → auth-BnXPHgBU.cjs.map} +1 -1
- package/dist/{auth-BGW072BP.mjs → auth-DHVtM0sF.mjs} +4 -4
- package/dist/{auth-BGW072BP.mjs.map → auth-DHVtM0sF.mjs.map} +1 -1
- package/dist/{bucket-mg5QQORh.cjs → bucket-CFaYmimY.cjs} +3 -3
- package/dist/{bucket-mg5QQORh.cjs.map → bucket-CFaYmimY.cjs.map} +1 -1
- package/dist/{bucket-DqW-WEYb.mjs → bucket-D-lu1xgZ.mjs} +3 -3
- package/dist/{bucket-DqW-WEYb.mjs.map → bucket-D-lu1xgZ.mjs.map} +1 -1
- package/dist/cli/main.cjs +14 -12
- package/dist/cli/main.cjs.map +1 -1
- package/dist/cli/main.mjs +14 -13
- package/dist/cli/main.mjs.map +1 -1
- package/dist/{cms-BJnovGYT.mjs → cms-8XZhxwsM.mjs} +8 -5
- package/dist/cms-8XZhxwsM.mjs.map +1 -0
- package/dist/{cms-Cnx-lDGu.cjs → cms-C4zEtppZ.cjs} +8 -5
- package/dist/cms-C4zEtppZ.cjs.map +1 -0
- package/dist/{codegen-BF5b-u46.cjs → codegen-Cypg4O3L.cjs} +3 -3
- package/dist/{codegen-BF5b-u46.cjs.map → codegen-Cypg4O3L.cjs.map} +1 -1
- package/dist/{codegen-DZOB4ttR.mjs → codegen-Dnjv7zfm.mjs} +3 -3
- package/dist/{codegen-DZOB4ttR.mjs.map → codegen-Dnjv7zfm.mjs.map} +1 -1
- package/dist/config/index.cjs +4 -2
- package/dist/config/index.cjs.map +1 -1
- package/dist/config/index.d.mts +8 -1
- package/dist/config/index.d.mts.map +1 -1
- package/dist/config/index.mjs +4 -2
- package/dist/config/index.mjs.map +1 -1
- package/dist/{config-loader-D8x32gEU.cjs → config-loader-CZfANHBf.cjs} +2 -2
- package/dist/config-loader-CZfANHBf.cjs.map +1 -0
- package/dist/{config-loader-BEgS869e.mjs → config-loader-CtbZOGjc.mjs} +3 -3
- package/dist/config-loader-CtbZOGjc.mjs.map +1 -0
- package/dist/{confirm-delete-B9o73U7B.cjs → confirm-delete-BX8bJrXZ.cjs} +3 -3
- package/dist/{confirm-delete-B9o73U7B.cjs.map → confirm-delete-BX8bJrXZ.cjs.map} +1 -1
- package/dist/{confirm-delete-CsWkW69-.mjs → confirm-delete-CcKLYuCB.mjs} +2 -2
- package/dist/{confirm-delete-CsWkW69-.mjs.map → confirm-delete-CcKLYuCB.mjs.map} +1 -1
- package/dist/{consumer-C4WiGHWG.mjs → consumer-BAM3E_68.mjs} +4 -4
- package/dist/{consumer-C4WiGHWG.mjs.map → consumer-BAM3E_68.mjs.map} +1 -1
- package/dist/{consumer-OF6Z_eTP.cjs → consumer-BSgriLn0.cjs} +4 -4
- package/dist/consumer-BSgriLn0.cjs.map +1 -0
- package/dist/consumer-D-Y6KJ8a.cjs +18 -0
- package/dist/{consumer-l-8wUK8E.cjs.map → consumer-D-Y6KJ8a.cjs.map} +1 -1
- package/dist/{consumer-pU2HyiyA.mjs → consumer-s8LnLw4e.mjs} +4 -4
- package/dist/consumer-s8LnLw4e.mjs.map +1 -0
- package/dist/content-ClRuLcGq.cjs +20 -0
- package/dist/{content-DMjSwor1.cjs.map → content-ClRuLcGq.cjs.map} +1 -1
- package/dist/content-DWnYo6ad.mjs +20 -0
- package/dist/{content-BOb6NC8M.mjs.map → content-DWnYo6ad.mjs.map} +1 -1
- package/dist/{create-DJY71sp9.cjs → create-B3d4CDel.cjs} +2 -2
- package/dist/{create-DJY71sp9.cjs.map → create-B3d4CDel.cjs.map} +1 -1
- package/dist/{create-CC814ixh.mjs → create-BD6iS4n6.mjs} +2 -2
- package/dist/{create-CC814ixh.mjs.map → create-BD6iS4n6.mjs.map} +1 -1
- package/dist/{create-B-PAOor6.mjs → create-BGV3F44O.mjs} +3 -3
- package/dist/{create-B-PAOor6.mjs.map → create-BGV3F44O.mjs.map} +1 -1
- package/dist/{create-Z-z3LXNW.cjs → create-BYDbsUvw.cjs} +3 -3
- package/dist/{create-Z-z3LXNW.cjs.map → create-BYDbsUvw.cjs.map} +1 -1
- package/dist/{create-Belwettw.mjs → create-BtuS23L3.mjs} +2 -2
- package/dist/{create-Belwettw.mjs.map → create-BtuS23L3.mjs.map} +1 -1
- package/dist/{create-CCsn7yp5.cjs → create-CNDCTpi0.cjs} +3 -3
- package/dist/{create-CCsn7yp5.cjs.map → create-CNDCTpi0.cjs.map} +1 -1
- package/dist/{create-BNYWcyuQ.cjs → create-DzRMGpm_.cjs} +2 -2
- package/dist/{create-BNYWcyuQ.cjs.map → create-DzRMGpm_.cjs.map} +1 -1
- package/dist/{create-B1ZBOqcV.mjs → create-fweRd0UB.mjs} +2 -2
- package/dist/{create-B1ZBOqcV.mjs.map → create-fweRd0UB.mjs.map} +1 -1
- package/dist/{create-D5suBd3J.mjs → create-m5fNBqQE.mjs} +3 -3
- package/dist/{create-D5suBd3J.mjs.map → create-m5fNBqQE.mjs.map} +1 -1
- package/dist/{create-CmOriwGo.cjs → create-tWGEtI3t.cjs} +2 -2
- package/dist/{create-CmOriwGo.cjs.map → create-tWGEtI3t.cjs.map} +1 -1
- package/dist/{delete-DhSU-Lx2.mjs → delete-B8VlzzCj.mjs} +3 -3
- package/dist/{delete-DhSU-Lx2.mjs.map → delete-B8VlzzCj.mjs.map} +1 -1
- package/dist/{delete-DVrafka1.cjs → delete-B9j8c8ln.cjs} +3 -3
- package/dist/{delete-DVrafka1.cjs.map → delete-B9j8c8ln.cjs.map} +1 -1
- package/dist/{delete-ZIifaG0i.mjs → delete-BhJK-8vE.mjs} +3 -3
- package/dist/{delete-ZIifaG0i.mjs.map → delete-BhJK-8vE.mjs.map} +1 -1
- package/dist/{delete-YYh_0khQ.mjs → delete-Bi6UhAhS.mjs} +3 -3
- package/dist/{delete-YYh_0khQ.mjs.map → delete-Bi6UhAhS.mjs.map} +1 -1
- package/dist/{delete-CCTiCYIL.cjs → delete-C_oxZa_p.cjs} +3 -3
- package/dist/{delete-CCTiCYIL.cjs.map → delete-C_oxZa_p.cjs.map} +1 -1
- package/dist/{delete-CSs5Czlo.mjs → delete-Ci7cq3mU.mjs} +3 -3
- package/dist/{delete-CSs5Czlo.mjs.map → delete-Ci7cq3mU.mjs.map} +1 -1
- package/dist/{delete-XWJRhBFs.mjs → delete-CiWkGnog.mjs} +3 -3
- package/dist/{delete-XWJRhBFs.mjs.map → delete-CiWkGnog.mjs.map} +1 -1
- package/dist/{delete-DozSxZQ7.cjs → delete-Cmk80aqF.cjs} +3 -3
- package/dist/{delete-DozSxZQ7.cjs.map → delete-Cmk80aqF.cjs.map} +1 -1
- package/dist/{delete-8yZ3j0vX.cjs → delete-CvtvB2Cr.cjs} +3 -3
- package/dist/{delete-8yZ3j0vX.cjs.map → delete-CvtvB2Cr.cjs.map} +1 -1
- package/dist/{delete-CIYY59v_.cjs → delete-DG825UwK.cjs} +4 -3
- package/dist/{delete-CIYY59v_.cjs.map → delete-DG825UwK.cjs.map} +1 -1
- package/dist/{delete-WpMIIvjj.cjs → delete-DGrSMqOt.cjs} +3 -3
- package/dist/{delete-WpMIIvjj.cjs.map → delete-DGrSMqOt.cjs.map} +1 -1
- package/dist/{delete-BOUObrDw.mjs → delete-Datr3Kqq.mjs} +3 -2
- package/dist/{delete-BOUObrDw.mjs.map → delete-Datr3Kqq.mjs.map} +1 -1
- package/dist/{delete-D4r1ve4v.cjs → delete-TTF4pIKw.cjs} +3 -3
- package/dist/{delete-D4r1ve4v.cjs.map → delete-TTF4pIKw.cjs.map} +1 -1
- package/dist/{delete-BSLIXrAh.mjs → delete-X8iVsETw.mjs} +3 -3
- package/dist/{delete-BSLIXrAh.mjs.map → delete-X8iVsETw.mjs.map} +1 -1
- package/dist/docs/features/cli/authentication.md +93 -0
- package/dist/docs/features/cli/commands/agent.md +49 -0
- package/dist/docs/features/cli/commands/auth.md +36 -0
- package/dist/docs/features/cli/commands/bucket.md +120 -0
- package/dist/docs/features/cli/commands/codegen.md +51 -0
- package/dist/docs/features/cli/commands/content.md +117 -0
- package/dist/docs/features/cli/commands/key.md +155 -0
- package/dist/docs/features/cli/commands/link.md +21 -0
- package/dist/docs/features/cli/commands/org.md +18 -0
- package/dist/docs/features/cli/commands/project-user.md +108 -0
- package/dist/docs/features/cli/commands/project.md +106 -0
- package/dist/docs/features/cli/commands/schema.md +108 -0
- package/dist/docs/features/cli/commands/webhook.md +110 -0
- package/dist/docs/features/cli/commands.md +110 -0
- package/dist/docs/features/cli/configuration.md +70 -0
- package/dist/docs/features/cli/output.md +53 -0
- package/dist/docs/features/cli/project-linking.md +58 -0
- package/dist/docs/features/cli/quickstart.md +83 -0
- package/dist/docs/features/cli.md +56 -0
- package/dist/docs/features/cms-sdk/account.md +122 -0
- package/dist/docs/features/cms-sdk/auth.md +122 -0
- package/dist/docs/features/cms-sdk/bucket.md +113 -0
- package/dist/docs/features/cms-sdk/cli.md +104 -0
- package/dist/docs/features/cms-sdk/fetch-contents.md +608 -0
- package/dist/docs/features/cms-sdk/install.md +98 -0
- package/dist/docs/features/cms-sdk/management-user.md +244 -0
- package/dist/docs/features/cms-sdk/migrate-to-v2.md +152 -0
- package/dist/docs/features/cms-sdk/mutation-contents.md +190 -0
- package/dist/docs/features/console/audit-logs.md +55 -0
- package/dist/docs/features/console/bucket.md +70 -0
- package/dist/docs/features/console/create-project.md +103 -0
- package/dist/docs/features/console/generate-api-key.md +103 -0
- package/dist/docs/features/console/invite-project-users.md +70 -0
- package/dist/docs/features/console/management-tables.md +131 -0
- package/dist/docs/features/console/organization-member-management.md +78 -0
- package/dist/docs/features/console/schema-history.md +29 -0
- package/dist/docs/features/console.md +15 -0
- package/dist/docs/features/consumer-sdk/cli.md +60 -0
- package/dist/docs/features/consumer-sdk/fetch-contents.md +603 -0
- package/dist/docs/features/consumer-sdk/install.md +90 -0
- package/dist/docs/features/consumer-sdk/migrate-to-v2.md +43 -0
- package/dist/docs/features/design-editor/about.md +36 -0
- package/dist/docs/features/design-editor/getting-started.md +244 -0
- package/dist/docs/features/design-editor/install.md +17 -0
- package/dist/docs/features/design-editor/prop-editor.md +83 -0
- package/dist/docs/features/design-editor/schema.md +279 -0
- package/dist/docs/features/dictionary.md +265 -0
- package/dist/docs/features/draft.md +241 -0
- package/dist/docs/features/form/about.md +83 -0
- package/dist/docs/features/form/editor.md +410 -0
- package/dist/docs/features/form/submission.md +94 -0
- package/dist/docs/features/full-text-search.md +114 -0
- package/dist/docs/features/history.md +152 -0
- package/dist/docs/features/schema/about.md +215 -0
- package/dist/docs/features/schema/authority.md +456 -0
- package/dist/docs/features/schema/bucket.md +142 -0
- package/dist/docs/features/schema/database.md +419 -0
- package/dist/docs/features/schema/table-module.md +140 -0
- package/dist/docs/features/webhook/revalidate-nextjs.md +185 -0
- package/dist/docs/features/webhook.md +295 -0
- package/dist/docs/get-started/add-model-starter.md +124 -0
- package/dist/docs/get-started/get-started-with-starter.md +218 -0
- package/dist/docs/index.md +89 -0
- package/dist/docs/introduction.md +140 -0
- package/dist/docs/manifest.json +6 -0
- package/dist/docs/resources/cli-migration-guide.md +82 -0
- package/dist/docs/resources/cli-v2-to-v3-migration-guide.md +138 -0
- package/dist/docs/resources/deploy-to-vercel.md +62 -0
- package/dist/docs/resources/limits.md +24 -0
- package/dist/docs/resources/private-registry.md +23 -0
- package/dist/docs/resources/status.md +22 -0
- package/dist/docs/resources/user-model.md +38 -0
- package/dist/{download-ogGbb3FU.cjs → download-BkzmfQXD.cjs} +2 -2
- package/dist/{download-ogGbb3FU.cjs.map → download-BkzmfQXD.cjs.map} +1 -1
- package/dist/{download-oFGzg30E.mjs → download-Dx1oyrMg.mjs} +2 -2
- package/dist/{download-oFGzg30E.mjs.map → download-Dx1oyrMg.mjs.map} +1 -1
- package/dist/{erd-zDoF6I_y.mjs → erd-BihhEfZ_.mjs} +3 -3
- package/dist/{erd-zDoF6I_y.mjs.map → erd-BihhEfZ_.mjs.map} +1 -1
- package/dist/{erd-lKC5NB2l.cjs → erd-DmnB1v2c.cjs} +3 -3
- package/dist/{erd-lKC5NB2l.cjs.map → erd-DmnB1v2c.cjs.map} +1 -1
- package/dist/{get-CgEgETQa.mjs → get-1TtxSEoT.mjs} +2 -2
- package/dist/{get-CgEgETQa.mjs.map → get-1TtxSEoT.mjs.map} +1 -1
- package/dist/{get-DjRyK0hJ.cjs → get-B5S1GfjR.cjs} +2 -2
- package/dist/{get-DjRyK0hJ.cjs.map → get-B5S1GfjR.cjs.map} +1 -1
- package/dist/{get-DDB89cOs.mjs → get-BLDHE_Zl.mjs} +2 -2
- package/dist/{get-DDB89cOs.mjs.map → get-BLDHE_Zl.mjs.map} +1 -1
- package/dist/{get-KdWfYINc.cjs → get-C5OH05Ka.cjs} +2 -2
- package/dist/{get-KdWfYINc.cjs.map → get-C5OH05Ka.cjs.map} +1 -1
- package/dist/{get-DwtzBjGV.cjs → get-CKZPn669.cjs} +2 -2
- package/dist/{get-DwtzBjGV.cjs.map → get-CKZPn669.cjs.map} +1 -1
- package/dist/{get-IOU__2RP.cjs → get-CdDZkUXV.cjs} +2 -2
- package/dist/{get-IOU__2RP.cjs.map → get-CdDZkUXV.cjs.map} +1 -1
- package/dist/{get-DB80UNSR.mjs → get-Cw4Dw5NG.mjs} +2 -2
- package/dist/{get-DB80UNSR.mjs.map → get-Cw4Dw5NG.mjs.map} +1 -1
- package/dist/{get-C7dKoSIc.mjs → get-Dy3AD4il.mjs} +2 -2
- package/dist/{get-C7dKoSIc.mjs.map → get-Dy3AD4il.mjs.map} +1 -1
- package/dist/{get-BBOKSXkh.cjs → get-PVsUGHBR.cjs} +2 -2
- package/dist/{get-BBOKSXkh.cjs.map → get-PVsUGHBR.cjs.map} +1 -1
- package/dist/{get-B6vBaq_D.mjs → get-Vo3yr12d.mjs} +2 -2
- package/dist/{get-B6vBaq_D.mjs.map → get-Vo3yr12d.mjs.map} +1 -1
- package/dist/{get-jwXRlIBJ.cjs → get-jaN2o0XY.cjs} +2 -2
- package/dist/{get-jwXRlIBJ.cjs.map → get-jaN2o0XY.cjs.map} +1 -1
- package/dist/{get-DBxhbN1G.mjs → get-qOKYAc46.mjs} +2 -2
- package/dist/{get-DBxhbN1G.mjs.map → get-qOKYAc46.mjs.map} +1 -1
- package/dist/init-BpKpTQ0z.mjs +425 -0
- package/dist/init-BpKpTQ0z.mjs.map +1 -0
- package/dist/init-BrZCChEG.cjs +427 -0
- package/dist/init-BrZCChEG.cjs.map +1 -0
- package/dist/{invite-DPygtCoO.cjs → invite-Tw3SMV0Q.cjs} +2 -2
- package/dist/{invite-DPygtCoO.cjs.map → invite-Tw3SMV0Q.cjs.map} +1 -1
- package/dist/{invite-D66DSMvq.mjs → invite-vzajkU2u.mjs} +2 -2
- package/dist/{invite-D66DSMvq.mjs.map → invite-vzajkU2u.mjs.map} +1 -1
- package/dist/{key-C71Ffll9.mjs → key-CyVxu3Uk.mjs} +3 -3
- package/dist/{key-C71Ffll9.mjs.map → key-CyVxu3Uk.mjs.map} +1 -1
- package/dist/{key-DQr7qRL2.cjs → key-tRYRqYNo.cjs} +3 -3
- package/dist/{key-DQr7qRL2.cjs.map → key-tRYRqYNo.cjs.map} +1 -1
- package/dist/{link-BluFyxEL.mjs → link-Bd55x5Zf.mjs} +2 -2
- package/dist/{link-BluFyxEL.mjs.map → link-Bd55x5Zf.mjs.map} +1 -1
- package/dist/{link-DYu1Vjlw.cjs → link-Cz7MX02S.cjs} +2 -2
- package/dist/{link-DYu1Vjlw.cjs.map → link-Cz7MX02S.cjs.map} +1 -1
- package/dist/{list-D5PSDMWw.mjs → list-2otVufvs.mjs} +3 -3
- package/dist/{list-D5PSDMWw.mjs.map → list-2otVufvs.mjs.map} +1 -1
- package/dist/{list-sQk00GV5.mjs → list-BMnBuZMr.mjs} +2 -2
- package/dist/{list-sQk00GV5.mjs.map → list-BMnBuZMr.mjs.map} +1 -1
- package/dist/{list-BwfpuhmJ.cjs → list-Bo8IMFd0.cjs} +2 -2
- package/dist/{list-BwfpuhmJ.cjs.map → list-Bo8IMFd0.cjs.map} +1 -1
- package/dist/{list-B0N4-Q-5.mjs → list-BtgAAUKm.mjs} +2 -2
- package/dist/{list-B0N4-Q-5.mjs.map → list-BtgAAUKm.mjs.map} +1 -1
- package/dist/{list-vbMaOiza.mjs → list-C0lq-gBZ.mjs} +2 -2
- package/dist/{list-vbMaOiza.mjs.map → list-C0lq-gBZ.mjs.map} +1 -1
- package/dist/{list-BsYYq9wT.mjs → list-CGZ3iT6J.mjs} +2 -2
- package/dist/{list-BsYYq9wT.mjs.map → list-CGZ3iT6J.mjs.map} +1 -1
- package/dist/{list-CFwW0G9f.cjs → list-CMWXO4nB.cjs} +2 -2
- package/dist/{list-CFwW0G9f.cjs.map → list-CMWXO4nB.cjs.map} +1 -1
- package/dist/{list-rAn3uOA7.mjs → list-Ccaec0cs.mjs} +2 -2
- package/dist/{list-rAn3uOA7.mjs.map → list-Ccaec0cs.mjs.map} +1 -1
- package/dist/{list-CU42ERNY.cjs → list-Cp_mHwbN.cjs} +2 -2
- package/dist/{list-CU42ERNY.cjs.map → list-Cp_mHwbN.cjs.map} +1 -1
- package/dist/{list-D0-QrWmn.cjs → list-Cs7kbAAi.cjs} +3 -3
- package/dist/{list-D0-QrWmn.cjs.map → list-Cs7kbAAi.cjs.map} +1 -1
- package/dist/{list-DlJssPwy.cjs → list-D5IaYurn.cjs} +2 -2
- package/dist/{list-DlJssPwy.cjs.map → list-D5IaYurn.cjs.map} +1 -1
- package/dist/{list-CbvEh7eA.mjs → list-DcIBInNA.mjs} +2 -2
- package/dist/{list-CbvEh7eA.mjs.map → list-DcIBInNA.mjs.map} +1 -1
- package/dist/{list-BzLraBnA.cjs → list-Dd3veD9Z.cjs} +2 -2
- package/dist/{list-BzLraBnA.cjs.map → list-Dd3veD9Z.cjs.map} +1 -1
- package/dist/{list-DexBclfb.cjs → list-DdVKKaDN.cjs} +2 -2
- package/dist/{list-DexBclfb.cjs.map → list-DdVKKaDN.cjs.map} +1 -1
- package/dist/{list-Br6Cmi9S.cjs → list-E1sjTZLe.cjs} +2 -2
- package/dist/{list-Br6Cmi9S.cjs.map → list-E1sjTZLe.cjs.map} +1 -1
- package/dist/{list-BRh59EqI.cjs → list-KI-7REC_.cjs} +2 -2
- package/dist/{list-BRh59EqI.cjs.map → list-KI-7REC_.cjs.map} +1 -1
- package/dist/{list-ocfd7631.mjs → list-MWD4huKP.mjs} +2 -2
- package/dist/{list-ocfd7631.mjs.map → list-MWD4huKP.mjs.map} +1 -1
- package/dist/{list-57TUfNFd.mjs → list-Pf5aAoaN.mjs} +2 -2
- package/dist/{list-57TUfNFd.mjs.map → list-Pf5aAoaN.mjs.map} +1 -1
- package/dist/{list-BHvURTWd.cjs → list-fG4zo8zz.cjs} +2 -2
- package/dist/{list-BHvURTWd.cjs.map → list-fG4zo8zz.cjs.map} +1 -1
- package/dist/{list-DrZYlidZ.mjs → list-r2UPz1zW.mjs} +2 -2
- package/dist/{list-DrZYlidZ.mjs.map → list-r2UPz1zW.mjs.map} +1 -1
- package/dist/{login-FE_dbWMo.mjs → login-Dq2L3bI7.mjs} +2 -2
- package/dist/{login-FE_dbWMo.mjs.map → login-Dq2L3bI7.mjs.map} +1 -1
- package/dist/{login-2XcHd4wn.cjs → login-M1IF2MdC.cjs} +2 -2
- package/dist/{login-2XcHd4wn.cjs.map → login-M1IF2MdC.cjs.map} +1 -1
- package/dist/{logout-DC5TMJ5_.cjs → logout-BCSfFgPz.cjs} +2 -2
- package/dist/{logout-DC5TMJ5_.cjs.map → logout-BCSfFgPz.cjs.map} +1 -1
- package/dist/{logout-BDbWrGBm.mjs → logout-DFzQCQKe.mjs} +2 -2
- package/dist/{logout-BDbWrGBm.mjs.map → logout-DFzQCQKe.mjs.map} +1 -1
- package/dist/management-C1p-Hm2Z.cjs +19 -0
- package/dist/{management-BGYcZB4c.cjs.map → management-C1p-Hm2Z.cjs.map} +1 -1
- package/dist/{management-DDACMgbU.mjs → management-h4yE09a6.mjs} +5 -5
- package/dist/{management-DDACMgbU.mjs.map → management-h4yE09a6.mjs.map} +1 -1
- package/dist/object-CZDLoc9L.cjs +20 -0
- package/dist/{object-DVqidsEc.cjs.map → object-CZDLoc9L.cjs.map} +1 -1
- package/dist/object-CqMsEkh9.mjs +20 -0
- package/dist/{object-qdBdEghr.mjs.map → object-CqMsEkh9.mjs.map} +1 -1
- package/dist/{org-CPhTRTks.mjs → org-Co-rjfr-.mjs} +2 -2
- package/dist/{org-CPhTRTks.mjs.map → org-Co-rjfr-.mjs.map} +1 -1
- package/dist/{org-C4cVovOM.cjs → org-Drj3VqIm.cjs} +2 -2
- package/dist/{org-C4cVovOM.cjs.map → org-Drj3VqIm.cjs.map} +1 -1
- package/dist/{org-context-Bewx2NEW.cjs → org-context-DKFnPH_o.cjs} +2 -2
- package/dist/{org-context-Bewx2NEW.cjs.map → org-context-DKFnPH_o.cjs.map} +1 -1
- package/dist/{org-context-D0dwWC2M.mjs → org-context-Df5McOiK.mjs} +2 -2
- package/dist/{org-context-D0dwWC2M.mjs.map → org-context-Df5McOiK.mjs.map} +1 -1
- package/dist/project-C7qWFjMV.mjs +20 -0
- package/dist/{project-CaXD3QBs.mjs.map → project-C7qWFjMV.mjs.map} +1 -1
- package/dist/project-Dm7nr5NV.cjs +20 -0
- package/dist/{project-BX7zvWB1.cjs.map → project-Dm7nr5NV.cjs.map} +1 -1
- package/dist/project-user-D9h_QBc0.mjs +20 -0
- package/dist/{project-user-Cp7i6orv.mjs.map → project-user-D9h_QBc0.mjs.map} +1 -1
- package/dist/project-user-wLFnHFwB.cjs +20 -0
- package/dist/{project-user-Dm0qR-sh.cjs.map → project-user-wLFnHFwB.cjs.map} +1 -1
- package/dist/prompt-C-XNDSNE.cjs +42 -0
- package/dist/prompt-C-XNDSNE.cjs.map +1 -0
- package/dist/prompt-Dr2Rkxun.mjs +25 -0
- package/dist/prompt-Dr2Rkxun.mjs.map +1 -0
- package/dist/{push-0u6PDz4E.cjs → push-BggkrD0g.cjs} +31 -12
- package/dist/push-BggkrD0g.cjs.map +1 -0
- package/dist/{push-D7co0keA.mjs → push-xWnD9oov.mjs} +30 -11
- package/dist/push-xWnD9oov.mjs.map +1 -0
- package/dist/{run-codegen-Ceeosw5x.cjs → run-codegen-B-90rvjk.cjs} +4 -4
- package/dist/run-codegen-B-90rvjk.cjs.map +1 -0
- package/dist/{run-codegen-DgaFaIQ1.mjs → run-codegen-CrO08jJT.mjs} +4 -4
- package/dist/run-codegen-CrO08jJT.mjs.map +1 -0
- package/dist/{run-with-context-CVhmzAFZ.mjs → run-with-context-B4DyI8Wo.mjs} +6 -26
- package/dist/run-with-context-B4DyI8Wo.mjs.map +1 -0
- package/dist/{run-with-context-DJNnEigg.cjs → run-with-context-D8pSrqD_.cjs} +7 -39
- package/dist/run-with-context-D8pSrqD_.cjs.map +1 -0
- package/dist/schema-CUVTXrHk.cjs +20 -0
- package/dist/{schema-B3iRqvYK.cjs.map → schema-CUVTXrHk.cjs.map} +1 -1
- package/dist/schema-DlUWHV_t.mjs +20 -0
- package/dist/{schema-exG250MU.mjs.map → schema-DlUWHV_t.mjs.map} +1 -1
- package/dist/{status-Dq_NJE71.cjs → status-CqPJTxeK.cjs} +2 -2
- package/dist/{status-Dq_NJE71.cjs.map → status-CqPJTxeK.cjs.map} +1 -1
- package/dist/{status-fWqXzV0P.mjs → status-D7nOW3R3.mjs} +2 -2
- package/dist/{status-fWqXzV0P.mjs.map → status-D7nOW3R3.mjs.map} +1 -1
- package/dist/{token-store--9GYVL7N.cjs → token-store-BgWGhqq0.cjs} +3 -3
- package/dist/{token-store--9GYVL7N.cjs.map → token-store-BgWGhqq0.cjs.map} +1 -1
- package/dist/{token-store-reCGF86F.mjs → token-store-C2r7cFA-.mjs} +2 -2
- package/dist/{token-store-reCGF86F.mjs.map → token-store-C2r7cFA-.mjs.map} +1 -1
- package/dist/{update-B4lv4dAz.mjs → update-8-sHFvNB.mjs} +2 -2
- package/dist/{update-B4lv4dAz.mjs.map → update-8-sHFvNB.mjs.map} +1 -1
- package/dist/{update-Dyo4vuZs.mjs → update-B5hKKw0K.mjs} +3 -3
- package/dist/{update-Dyo4vuZs.mjs.map → update-B5hKKw0K.mjs.map} +1 -1
- package/dist/{update-Do9HHWzs.cjs → update-BVaqURWE.cjs} +2 -2
- package/dist/{update-Do9HHWzs.cjs.map → update-BVaqURWE.cjs.map} +1 -1
- package/dist/{update-DRnN1kiu.cjs → update-BlUwNhLA.cjs} +2 -2
- package/dist/{update-DRnN1kiu.cjs.map → update-BlUwNhLA.cjs.map} +1 -1
- package/dist/{update-Cx_2GkQj.cjs → update-BqhLwuP7.cjs} +2 -2
- package/dist/{update-Cx_2GkQj.cjs.map → update-BqhLwuP7.cjs.map} +1 -1
- package/dist/{update-mEmULIau.mjs → update-DaYjh5VN.mjs} +2 -2
- package/dist/{update-mEmULIau.mjs.map → update-DaYjh5VN.mjs.map} +1 -1
- package/dist/{update-CJgEmSWJ.cjs → update-DcTzR54Z.cjs} +3 -3
- package/dist/{update-CJgEmSWJ.cjs.map → update-DcTzR54Z.cjs.map} +1 -1
- package/dist/{update-CIH6sSVk.cjs → update-Dne7g_0s.cjs} +2 -2
- package/dist/{update-CIH6sSVk.cjs.map → update-Dne7g_0s.cjs.map} +1 -1
- package/dist/{update-CQ4n4Xuf.mjs → update-Dy1BOnTB.mjs} +2 -2
- package/dist/{update-CQ4n4Xuf.mjs.map → update-Dy1BOnTB.mjs.map} +1 -1
- package/dist/{update-rzij1b_o.mjs → update-slz_X0mG.mjs} +2 -2
- package/dist/{update-rzij1b_o.mjs.map → update-slz_X0mG.mjs.map} +1 -1
- package/dist/{upload-DGgJ1TQk.mjs → upload-CDtzV9Wx.mjs} +3 -3
- package/dist/{upload-DGgJ1TQk.mjs.map → upload-CDtzV9Wx.mjs.map} +1 -1
- package/dist/{upload-C43ZXxyb.cjs → upload-DIln1QDA.cjs} +3 -3
- package/dist/{upload-C43ZXxyb.cjs.map → upload-DIln1QDA.cjs.map} +1 -1
- package/dist/{validate-BpxZ8LTl.cjs → validate-BH8jqdqq.cjs} +2 -2
- package/dist/{validate-BpxZ8LTl.cjs.map → validate-BH8jqdqq.cjs.map} +1 -1
- package/dist/{validate-Ca0CRo16.mjs → validate-COS4bfr0.mjs} +2 -2
- package/dist/{validate-Ca0CRo16.mjs.map → validate-COS4bfr0.mjs.map} +1 -1
- package/dist/webhook-BT3cHrq5.mjs +20 -0
- package/dist/{webhook-CpZ1-Ho5.mjs.map → webhook-BT3cHrq5.mjs.map} +1 -1
- package/dist/webhook-CQeuAqec.cjs +20 -0
- package/dist/{webhook-CbL4QaR5.cjs.map → webhook-CQeuAqec.cjs.map} +1 -1
- package/package.json +10 -9
- package/dist/auth-CNbONZuf.cjs +0 -18
- package/dist/cms-BJnovGYT.mjs.map +0 -1
- package/dist/cms-Cnx-lDGu.cjs.map +0 -1
- package/dist/config-loader-BEgS869e.mjs.map +0 -1
- package/dist/config-loader-D8x32gEU.cjs.map +0 -1
- package/dist/consumer-OF6Z_eTP.cjs.map +0 -1
- package/dist/consumer-l-8wUK8E.cjs +0 -18
- package/dist/consumer-pU2HyiyA.mjs.map +0 -1
- package/dist/content-BOb6NC8M.mjs +0 -20
- package/dist/content-DMjSwor1.cjs +0 -20
- package/dist/management-BGYcZB4c.cjs +0 -19
- package/dist/object-DVqidsEc.cjs +0 -20
- package/dist/object-qdBdEghr.mjs +0 -20
- package/dist/project-BX7zvWB1.cjs +0 -20
- package/dist/project-CaXD3QBs.mjs +0 -20
- package/dist/project-user-Cp7i6orv.mjs +0 -20
- package/dist/project-user-Dm0qR-sh.cjs +0 -20
- package/dist/push-0u6PDz4E.cjs.map +0 -1
- package/dist/push-D7co0keA.mjs.map +0 -1
- package/dist/run-codegen-Ceeosw5x.cjs.map +0 -1
- package/dist/run-codegen-DgaFaIQ1.mjs.map +0 -1
- package/dist/run-with-context-CVhmzAFZ.mjs.map +0 -1
- package/dist/run-with-context-DJNnEigg.cjs.map +0 -1
- package/dist/schema-B3iRqvYK.cjs +0 -20
- package/dist/schema-exG250MU.mjs +0 -20
- package/dist/webhook-CbL4QaR5.cjs +0 -20
- package/dist/webhook-CpZ1-Ho5.mjs +0 -20
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<!-- source: docs/src/app/features/consumer-sdk/migrate-to-v2/page.mdx -->
|
|
2
|
+
|
|
3
|
+
# CMS SDK v2 への移行
|
|
4
|
+
|
|
5
|
+
このドキュメントでは、Consumer SDK v1 から v2 への移行手順と注意点について説明します。
|
|
6
|
+
|
|
7
|
+
## 変更点の概要
|
|
8
|
+
|
|
9
|
+
- CLI の廃止
|
|
10
|
+
- `@orizm/common` 依存を peerDependency から削除
|
|
11
|
+
|
|
12
|
+
## 移行手順
|
|
13
|
+
|
|
14
|
+
### CLI の変更
|
|
15
|
+
|
|
16
|
+
`@orizm/consumer-sdk` に含まれていた CLI コマンド (`orizm-consumer`) は廃止され、`@orizm/cli` パッケージに統合されました。コマンドを呼び出すプロジェクトで専用の CLI パッケージをインストールし、コマンドを修正してください。
|
|
17
|
+
|
|
18
|
+
```sh npm2yarn copy
|
|
19
|
+
npm install --save-dev @orizm/cli
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
```sh
|
|
23
|
+
# 旧
|
|
24
|
+
orizm-consumer generate
|
|
25
|
+
# 新
|
|
26
|
+
orizm codegen consumer
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
CLI の利用方法の詳細は [Orizm CLI](../cli.md) を参照してください。
|
|
30
|
+
|
|
31
|
+
### `@orizm/common` のアンインストール
|
|
32
|
+
|
|
33
|
+
`@orizm/common` を `@orizm/cms-sdk` の peer dependencies から dependencies に変更しました。`@orizm/common` をコードで利用していない場合は、アンインストールできます。
|
|
34
|
+
|
|
35
|
+
```sh npm2yarn copy
|
|
36
|
+
npm uninstall @orizm/common
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
ただし、`@orizm/common` をコードで利用している場合は、最新バージョンがリリースされているためアップデートしてください。
|
|
40
|
+
|
|
41
|
+
```sh npm2yarn copy
|
|
42
|
+
npm install @orizm/common@latest
|
|
43
|
+
```
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<!-- source: docs/src/app/features/design-editor/about/page.mdx -->
|
|
2
|
+
|
|
3
|
+
# デザインエディターとは
|
|
4
|
+
|
|
5
|
+
デザインエディターは、Webページを直感的に編集できるツールです。以下の操作が可能です。
|
|
6
|
+
|
|
7
|
+
- コンポーネントをドラッグ&ドロップで配置
|
|
8
|
+
- コンポーネントのプロパティを直接編集
|
|
9
|
+
|
|
10
|
+
編集画面はWebページのプレビューとして機能するため、別途プレビュー画面を開く必要がありません。
|
|
11
|
+
|
|
12
|
+

|
|
13
|
+
|
|
14
|
+
デザインエディターは、`@orizm-private/orizm-editor` パッケージとしてプライベートレジストリで配布されています。このライブラリはスタータープロジェクトに組み込まれていますが、必要に応じて既存プロジェクトにも導入できます。
|
|
15
|
+
|
|
16
|
+
### デザインエディターの特徴
|
|
17
|
+
|
|
18
|
+
デザインエディターには、以下の特徴があります。
|
|
19
|
+
|
|
20
|
+
- Webページを直感的に編集可能
|
|
21
|
+
- 編集画面のサイズを切り替え可能
|
|
22
|
+
- コンポーネントをカテゴリーごとにグループ化
|
|
23
|
+
- 開発者が独自のコンポーネントを作成可能
|
|
24
|
+
- コンポーネントのプロパティを開発者が制御可能
|
|
25
|
+
- コンポーネントの入れ子構造に対応
|
|
26
|
+
- コンポーネントのサムネイルを自動生成
|
|
27
|
+
|
|
28
|
+
デザインエディターは、CMSとWebサイトが連携して動作します。CMSはエディターを表示し、Webサイトはエディターの状態を受け取ってページを再描画します。そのため、CMSとWebサイトの両方でデザインエディターを利用する実装が必要です。
|
|
29
|
+
|
|
30
|
+
### プレビューの仕組み
|
|
31
|
+
|
|
32
|
+
デザインエディターは、CMSとWebサイトが連携することでリアルタイムプレビューを提供します。具体的には、デザインエディターがWebサイトを`iframe`で表示する仕組みです。
|
|
33
|
+
|
|
34
|
+
Webサイトが`iframe`表示をブロックしている場合、デザインエディターは正しく動作しません。CMSから`iframe`経由でWebサイトを表示できるように設定してください。
|
|
35
|
+
|
|
36
|
+
また、デザインエディターを安全に動作させるためには、CMSとWebサイトが互いのURLを認識している必要があります。この情報はReactコンポーネントの`props`として指定します。
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
<!-- source: docs/src/app/features/design-editor/getting-started/page.mdx -->
|
|
2
|
+
|
|
3
|
+
# はじめに
|
|
4
|
+
|
|
5
|
+
このドキュメントでは、Orizmデザインエディターを使用してコンポーネントを定義し、エディターを表示する方法、さらにWebサイト側でのコンポーネント実装やプレビュー機能の設定方法を説明します。以下の手順に従うことで、デザインエディターを活用した効率的な開発が可能になります。
|
|
6
|
+
|
|
7
|
+
## コンポーネントの定義
|
|
8
|
+
|
|
9
|
+
デザインエディターで使用するコンポーネントの名前やプロパティを定義します。この定義に基づき、エディターの編集UIが生成され、Webサイト側でコンポーネントの状態が認識されます。
|
|
10
|
+
|
|
11
|
+
以下は、`Button`コンポーネントを定義する例です。このコンポーネントには、以下の4つのプロパティがあります。
|
|
12
|
+
|
|
13
|
+
- `text`: ボタンのテキスト
|
|
14
|
+
- `href`: リンク先URL
|
|
15
|
+
- `variant`: デザインの種類
|
|
16
|
+
- `size`: サイズ
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
import * as orizm from "@orizm-private/orizm-editor/schema";
|
|
20
|
+
|
|
21
|
+
export const componentSchema = orizm.defineComponentSchema({
|
|
22
|
+
Button: orizm.component({
|
|
23
|
+
displayName: "ボタン",
|
|
24
|
+
category: "アイテム",
|
|
25
|
+
props: orizm.props({
|
|
26
|
+
text: orizm.string({
|
|
27
|
+
displayName: "テキスト",
|
|
28
|
+
default: "ボタン",
|
|
29
|
+
}),
|
|
30
|
+
href: orizm.string({
|
|
31
|
+
displayName: "リンク先URL",
|
|
32
|
+
default: "https://www.google.com",
|
|
33
|
+
}),
|
|
34
|
+
variant: orizm.picklist({
|
|
35
|
+
displayName: "デザイン",
|
|
36
|
+
options: {
|
|
37
|
+
default: { displayName: "デフォルト" },
|
|
38
|
+
secondary: { displayName: "セカンダリ" },
|
|
39
|
+
black: { displayName: "黒" },
|
|
40
|
+
white: { displayName: "白" },
|
|
41
|
+
},
|
|
42
|
+
default: "default",
|
|
43
|
+
}),
|
|
44
|
+
size: orizm.picklist({
|
|
45
|
+
displayName: "サイズ",
|
|
46
|
+
options: {
|
|
47
|
+
sm: { displayName: "小" },
|
|
48
|
+
md: { displayName: "中" },
|
|
49
|
+
lg: { displayName: "大" },
|
|
50
|
+
},
|
|
51
|
+
default: "md",
|
|
52
|
+
}),
|
|
53
|
+
}),
|
|
54
|
+
}),
|
|
55
|
+
});
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
複数のコンポーネントを定義する場合は、`orizm.defineComponentSchema`関数に渡す`orizm.component`を増やしてください。必要に応じてコンポーネントを追加します。
|
|
59
|
+
|
|
60
|
+
## エディターの表示
|
|
61
|
+
|
|
62
|
+
デザインエディターをCMSで表示するには、`OrizmEditorComposer`と`OrizmEditor`を使用します。
|
|
63
|
+
|
|
64
|
+
以下は、エディターを表示するReactコンポーネントの例です。
|
|
65
|
+
|
|
66
|
+
```tsx
|
|
67
|
+
import "@orizm-private/orizm-editor/editor.css";
|
|
68
|
+
import { Block } from "@orizm-private/orizm-editor/common";
|
|
69
|
+
import {
|
|
70
|
+
OrizmEditor,
|
|
71
|
+
OrizmEditorComposer,
|
|
72
|
+
} from "@orizm-private/orizm-editor/editor";
|
|
73
|
+
import { componentSchema } from "@repo/design-editor/component-schema";
|
|
74
|
+
import { useState } from "react";
|
|
75
|
+
import { ImageUpload } from "../image-upload";
|
|
76
|
+
|
|
77
|
+
export const StaticPageEditor: React.FC = () => {
|
|
78
|
+
const [blocks, setBlocks] = useState<Block[]>([]);
|
|
79
|
+
|
|
80
|
+
return (
|
|
81
|
+
<OrizmEditorComposer
|
|
82
|
+
componentSchema={componentSchema}
|
|
83
|
+
initialBlocks={blocks}
|
|
84
|
+
onChange={setBlocks}
|
|
85
|
+
pageSlug="/my-page"
|
|
86
|
+
pageTitle="My Page"
|
|
87
|
+
previewSiteURL="http://localhost:3001"
|
|
88
|
+
customPropEditors={{
|
|
89
|
+
Image: {
|
|
90
|
+
image: ImageUpload,
|
|
91
|
+
},
|
|
92
|
+
}}
|
|
93
|
+
>
|
|
94
|
+
<OrizmEditor />
|
|
95
|
+
</OrizmEditorComposer>
|
|
96
|
+
);
|
|
97
|
+
};
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### 主なプロパティ
|
|
101
|
+
|
|
102
|
+
- `componentSchema`: 定義したコンポーネントスキーマを指定します。
|
|
103
|
+
- `initialBlocks`: 初期状態のブロックを指定します。
|
|
104
|
+
- `onChange`: ブロックが変更された際に呼び出されるコールバック関数です。
|
|
105
|
+
- `previewSiteURL`: プレビュー用のWebサイトURLを指定します。
|
|
106
|
+
- `customPropEditors`: 独自の編集UIをReactコンポーネントとして指定します。
|
|
107
|
+
|
|
108
|
+
これにより、エディターで編集したデータを`blocks`ステートに反映させ、データベースなどに保存できます。
|
|
109
|
+
|
|
110
|
+
## Webサイト側でのコンポーネント実装
|
|
111
|
+
|
|
112
|
+
定義したスキーマに基づき、Webサイト側でコンポーネントを実装します。以下は、`Button`コンポーネントの実装例です。
|
|
113
|
+
|
|
114
|
+
```tsx
|
|
115
|
+
import {
|
|
116
|
+
ComponentMarker,
|
|
117
|
+
type ComponentRenderers,
|
|
118
|
+
} from "@orizm-private/orizm-editor/renderer";
|
|
119
|
+
import { buttonVariants } from "@repo/ui";
|
|
120
|
+
import Link from "next/link";
|
|
121
|
+
import { cn } from "../../../ui/src/lib/utils";
|
|
122
|
+
import type { componentSchema } from "../component-schema";
|
|
123
|
+
|
|
124
|
+
type ButtonFC = ComponentRenderers<typeof componentSchema>["Button"];
|
|
125
|
+
|
|
126
|
+
export const Button: ButtonFC = ({
|
|
127
|
+
text,
|
|
128
|
+
href = "#",
|
|
129
|
+
variant,
|
|
130
|
+
size,
|
|
131
|
+
width,
|
|
132
|
+
marginTop,
|
|
133
|
+
marginBottom,
|
|
134
|
+
isThumbnail,
|
|
135
|
+
}) => {
|
|
136
|
+
return (
|
|
137
|
+
<ComponentMarker>
|
|
138
|
+
<Link
|
|
139
|
+
href={href}
|
|
140
|
+
data-orizm-text-property="text"
|
|
141
|
+
className={cn(
|
|
142
|
+
buttonVariants({
|
|
143
|
+
variant,
|
|
144
|
+
size,
|
|
145
|
+
marginTop,
|
|
146
|
+
marginBottom,
|
|
147
|
+
}),
|
|
148
|
+
width && "w-full",
|
|
149
|
+
)}
|
|
150
|
+
>
|
|
151
|
+
{isThumbnail ? "プレビュー中" : text}
|
|
152
|
+
</Link>
|
|
153
|
+
</ComponentMarker>
|
|
154
|
+
);
|
|
155
|
+
};
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### 実装のポイント
|
|
159
|
+
|
|
160
|
+
- `ComponentMarker`をルートに設置することで、エディターがコンポーネントを認識します。
|
|
161
|
+
- スキーマで定義したプロパティがReactコンポーネントの`props`として渡されます。
|
|
162
|
+
- `isThumbnail`はサムネイル撮影中かどうかを示す予約済みの`props`です。
|
|
163
|
+
- `data-orizm-text-property` 属性にプロパティ名を設定すると、プレビュー上でコンポーネントをダブルクリックすることでテキストプロパティを編集できます。
|
|
164
|
+
|
|
165
|
+

|
|
166
|
+
|
|
167
|
+
## 本番用ページの表示
|
|
168
|
+
|
|
169
|
+
本番用ページでは、`PageRenderer`を使用してコンテンツデータを表示します。
|
|
170
|
+
|
|
171
|
+
```tsx
|
|
172
|
+
import { Block } from "@orizm-private/orizm-editor/common";
|
|
173
|
+
import { PageRenderer } from "@orizm-private/orizm-editor/renderer";
|
|
174
|
+
import { componentSchema } from "../component-schema";
|
|
175
|
+
import { components } from "../components";
|
|
176
|
+
|
|
177
|
+
const Page: React.FC = async () => {
|
|
178
|
+
const blocks: Block[] = await fetchBlocksFromCMS();
|
|
179
|
+
|
|
180
|
+
return (
|
|
181
|
+
<PageRenderer
|
|
182
|
+
blocks={blocks}
|
|
183
|
+
components={components}
|
|
184
|
+
componentSchema={componentSchema}
|
|
185
|
+
/>
|
|
186
|
+
);
|
|
187
|
+
};
|
|
188
|
+
|
|
189
|
+
export default Page;
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### 必要なプロパティ
|
|
193
|
+
|
|
194
|
+
- `blocks`: CMSから取得したコンテンツデータ。
|
|
195
|
+
- `components`: 実装したコンポーネントのオブジェクト。
|
|
196
|
+
- `componentSchema`: 定義したスキーマ。
|
|
197
|
+
|
|
198
|
+
## プレビュー用ページの表示
|
|
199
|
+
|
|
200
|
+
エディターから`iframe`経由で表示するプレビュー用ページを実装します。
|
|
201
|
+
|
|
202
|
+
```tsx
|
|
203
|
+
"use client";
|
|
204
|
+
|
|
205
|
+
import { PreviewRenderer } from "@orizm-private/orizm-editor/preview";
|
|
206
|
+
import { componentSchema } from "./component-schema";
|
|
207
|
+
import { components } from "./components";
|
|
208
|
+
import { PageRenderer } from "@orizm-private/orizm-editor/renderer";
|
|
209
|
+
|
|
210
|
+
const Page: React.FC = () => {
|
|
211
|
+
return (
|
|
212
|
+
<PreviewRenderer
|
|
213
|
+
initialBlocks={[]}
|
|
214
|
+
componentSchema={componentSchema}
|
|
215
|
+
editorOrigin={
|
|
216
|
+
process.env.NODE_ENV === "development"
|
|
217
|
+
? "http://localhost:3000"
|
|
218
|
+
: "https://design-editor-demo-cms.vercel.app"
|
|
219
|
+
}
|
|
220
|
+
renderPage={(blocks, isThumbnail) => (
|
|
221
|
+
<PageRenderer
|
|
222
|
+
blocks={blocks}
|
|
223
|
+
components={components}
|
|
224
|
+
componentSchema={componentSchema}
|
|
225
|
+
isThumbnail={isThumbnail}
|
|
226
|
+
/>
|
|
227
|
+
)}
|
|
228
|
+
/>
|
|
229
|
+
);
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
export default Page;
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### 実装のポイント
|
|
236
|
+
|
|
237
|
+
- `PreviewRenderer`はエディターから受信したステートを`PageRenderer`に渡します。
|
|
238
|
+
- `editorOrigin`にはエディターが動作するURLを指定します。
|
|
239
|
+
- 初期状態のステートがある場合は`initialBlocks`に渡します。
|
|
240
|
+
|
|
241
|
+
## 起動方法
|
|
242
|
+
|
|
243
|
+
1. CMS側とWebサイト側の開発サーバーを起動します。
|
|
244
|
+
2. CMS側のエディターを開き、Webページを編集します。
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<!-- source: docs/src/app/features/design-editor/install/page.mdx -->
|
|
2
|
+
|
|
3
|
+
# インストール
|
|
4
|
+
|
|
5
|
+
[プライベートレジストリ](../../resources/private-registry.md)を参照して、`@orizm-private`スコープの取得先がOrizmプライベートレジストリに設定されていることを確認してください。
|
|
6
|
+
|
|
7
|
+
スターターでプロジェクトを開始する場合は最初からインストールされています。既存プロジェクトに導入する場合は、以下の手順でインストールしてください。エディターを提供するCMSと、ページを表示するWebサイトの両方でインストールする必要があります。
|
|
8
|
+
|
|
9
|
+
```bash copy
|
|
10
|
+
pnpm add @orizm-private/orizm-editor
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
次に、以下のようにアプリケーションで CSS を読み込んでください。
|
|
14
|
+
|
|
15
|
+
```ts copy
|
|
16
|
+
import "@orizm-private/orizm-editor/editor.css";
|
|
17
|
+
```
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
<!-- source: docs/src/app/features/design-editor/prop-editor/page.mdx -->
|
|
2
|
+
|
|
3
|
+
# プロパティエディター
|
|
4
|
+
|
|
5
|
+
デザインエディターは、プロパティの型に基づいてデフォルトの編集UI(プロパティエディター)を提供します。
|
|
6
|
+
|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
ただし、デフォルトのプロパティエディターでは対応できないユースケースもあります。たとえば、画像選択ダイアログを使用してユーザーが選択した画像をプロパティとして設定する場合です。
|
|
10
|
+
|
|
11
|
+
このような場合、プロパティエディターをカスタマイズする必要があります。
|
|
12
|
+
|
|
13
|
+
### プロパティエディターをカスタマイズする
|
|
14
|
+
|
|
15
|
+
プロパティエディターをカスタマイズするには、`OrizmEditorComposer`コンポーネントの`customPropEditors`プロパティを使用します。以下はその具体例です。
|
|
16
|
+
|
|
17
|
+
```tsx
|
|
18
|
+
import "@orizm-private/orizm-editor/editor.css";
|
|
19
|
+
import {
|
|
20
|
+
OrizmEditor,
|
|
21
|
+
OrizmEditorComposer,
|
|
22
|
+
} from "@orizm-private/orizm-editor/editor";
|
|
23
|
+
|
|
24
|
+
const Page: React.FC = () => {
|
|
25
|
+
return (
|
|
26
|
+
<OrizmEditorComposer
|
|
27
|
+
// other props...
|
|
28
|
+
|
|
29
|
+
customPropEditors={{
|
|
30
|
+
Image: {
|
|
31
|
+
image: ImageUpload,
|
|
32
|
+
},
|
|
33
|
+
}}
|
|
34
|
+
>
|
|
35
|
+
<OrizmEditor />
|
|
36
|
+
</OrizmEditorComposer>
|
|
37
|
+
);
|
|
38
|
+
};
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
#### コードの説明
|
|
42
|
+
|
|
43
|
+
- `Image`: 対象となるコンポーネントを表します。
|
|
44
|
+
- `image`: プロパティ名を表します。
|
|
45
|
+
- `ImageUpload`: カスタムプロパティエディターとして使用するReactコンポーネントです。
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
### カスタムプロパティエディターの要件
|
|
50
|
+
|
|
51
|
+
カスタムプロパティエディターとして使用するコンポーネントは、以下のインターフェイスを満たす必要があります。
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
export interface PropEditorProps<T> {
|
|
55
|
+
value: T;
|
|
56
|
+
onChange: (newValue: T) => void;
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
#### 実装のポイント
|
|
61
|
+
|
|
62
|
+
- `value`: 現在のプロパティ値を受け取ります。
|
|
63
|
+
- `onChange`: ユーザー操作に応じて新しい値を渡します。
|
|
64
|
+
|
|
65
|
+
### 注意点
|
|
66
|
+
|
|
67
|
+
無名関数をそのまま渡すような書き方は避けてください。具体的には次のような書き方です。
|
|
68
|
+
|
|
69
|
+
```tsx
|
|
70
|
+
<OrizmEditorComposer
|
|
71
|
+
// other props...
|
|
72
|
+
|
|
73
|
+
customPropEditors={{
|
|
74
|
+
Image: {
|
|
75
|
+
image: (props) => <ImageUpload {...props} />,
|
|
76
|
+
},
|
|
77
|
+
}}
|
|
78
|
+
>
|
|
79
|
+
<OrizmEditor />
|
|
80
|
+
</OrizmEditorComposer>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
プロパティエディターの関数インスタンスは変わらないことが期待されます。この書き方はレンダリングのたびに新しい関数インスタンスを生成するため、意図しないタイミングでフォーカスが外れるなどの不具合の原因となります。
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
<!-- source: docs/src/app/features/design-editor/schema/page.mdx -->
|
|
2
|
+
|
|
3
|
+
# スキーマ定義ガイド
|
|
4
|
+
|
|
5
|
+
このドキュメントでは、デザインエディターで使用するスキーマの定義方法を説明します。スキーマを正しく設定することで、エディターでのプロパティ編集やWebサイトでのコンポーネント表示を効率的に管理できます。
|
|
6
|
+
|
|
7
|
+
## スキーマの基本構造
|
|
8
|
+
|
|
9
|
+
スキーマは以下のように定義します。
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
import * as orizm from "@orizm-private/orizm-editor/schema";
|
|
13
|
+
|
|
14
|
+
export const componentSchema = orizm.defineComponentSchema({
|
|
15
|
+
Button: orizm.component({
|
|
16
|
+
displayName: "ボタン",
|
|
17
|
+
category: "アイテム",
|
|
18
|
+
props: orizm.props({
|
|
19
|
+
text: orizm.string({
|
|
20
|
+
displayName: "テキスト",
|
|
21
|
+
default: "ボタン",
|
|
22
|
+
}),
|
|
23
|
+
href: orizm.string({
|
|
24
|
+
displayName: "リンク先URL",
|
|
25
|
+
default: "https://www.google.com",
|
|
26
|
+
}),
|
|
27
|
+
variant: orizm.picklist({
|
|
28
|
+
displayName: "デザイン",
|
|
29
|
+
options: {
|
|
30
|
+
default: { displayName: "デフォルト" },
|
|
31
|
+
secondary: { displayName: "セカンダリ" },
|
|
32
|
+
black: { displayName: "黒" },
|
|
33
|
+
white: { displayName: "白" },
|
|
34
|
+
},
|
|
35
|
+
default: "default",
|
|
36
|
+
}),
|
|
37
|
+
size: orizm.picklist({
|
|
38
|
+
displayName: "サイズ",
|
|
39
|
+
options: {
|
|
40
|
+
sm: { displayName: "小" },
|
|
41
|
+
md: { displayName: "中" },
|
|
42
|
+
lg: { displayName: "大" },
|
|
43
|
+
},
|
|
44
|
+
default: "md",
|
|
45
|
+
}),
|
|
46
|
+
}),
|
|
47
|
+
}),
|
|
48
|
+
});
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
- `orizm.component` にはコンポーネントの基本情報を設定します。
|
|
52
|
+
- `orizm.props` にはコンポーネントが受け取るプロパティを定義します。
|
|
53
|
+
|
|
54
|
+
## プロパティ型の詳細
|
|
55
|
+
|
|
56
|
+
以下に、`orizm.props` で使用可能なプロパティ型を説明します。
|
|
57
|
+
|
|
58
|
+
### `orizm.string`
|
|
59
|
+
|
|
60
|
+
文字列型のプロパティを定義します。
|
|
61
|
+
|
|
62
|
+
```ts
|
|
63
|
+
orizm.string({
|
|
64
|
+
displayName: "テキスト",
|
|
65
|
+
default: "ボタン",
|
|
66
|
+
inputType: "textarea",
|
|
67
|
+
});
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
- **`inputType`**: `"text" | "textarea" | "color"` のいずれかを指定します。
|
|
71
|
+
- `"textarea"`: テキストエリアを表示します。
|
|
72
|
+
- `"color"`: カラーピッカーを表示します。
|
|
73
|
+
- **型**: CMSとWebサイトの両方で `string` 型を使用します。
|
|
74
|
+
|
|
75
|
+
### `orizm.picklist`
|
|
76
|
+
|
|
77
|
+
選択肢から1つを選ぶプロパティを定義します。
|
|
78
|
+
|
|
79
|
+
```ts
|
|
80
|
+
orizm.picklist({
|
|
81
|
+
displayName: "サイズ",
|
|
82
|
+
options: {
|
|
83
|
+
sm: { displayName: "小" },
|
|
84
|
+
md: { displayName: "中" },
|
|
85
|
+
lg: { displayName: "大" },
|
|
86
|
+
},
|
|
87
|
+
default: "md",
|
|
88
|
+
inputType: "radio",
|
|
89
|
+
});
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
- **`inputType`**: `"select" | "radio"` のいずれかを指定します。
|
|
93
|
+
- `"radio"`: ラジオボタンを表示します。
|
|
94
|
+
- `"select"`: ドロップダウンリストを表示します。
|
|
95
|
+
- **型**: CMSとWebサイトの両方で `keyof typeof options` 型。
|
|
96
|
+
|
|
97
|
+
### `orizm.richText`
|
|
98
|
+
|
|
99
|
+
リッチテキスト型のプロパティを定義します。
|
|
100
|
+
|
|
101
|
+
```ts
|
|
102
|
+
orizm.richText({
|
|
103
|
+
displayName: "説明",
|
|
104
|
+
useInlineStyles: false,
|
|
105
|
+
inputType: "multiline",
|
|
106
|
+
default: "",
|
|
107
|
+
});
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
- **`inputType`**: `"singleline" | "multiline"` を指定します。
|
|
111
|
+
- **`useInlineStyles`**: インライン装飾の有効化を指定します。
|
|
112
|
+
- **型**:
|
|
113
|
+
- CMS側: raw HTML を含む `string` 型。
|
|
114
|
+
- Webサイト側: サニタイズされた `React.ReactElement` 型。
|
|
115
|
+
|
|
116
|
+
### `orizm.number`
|
|
117
|
+
|
|
118
|
+
数値型のプロパティを定義します。
|
|
119
|
+
|
|
120
|
+
```ts
|
|
121
|
+
orizm.number({
|
|
122
|
+
default: 1,
|
|
123
|
+
displayName: "数値",
|
|
124
|
+
inputType: "number",
|
|
125
|
+
min: 1,
|
|
126
|
+
max: 10,
|
|
127
|
+
});
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
- **`inputType`**: `"number" | "range"` を指定します。
|
|
131
|
+
- `"range"`: スライダーを表示します。
|
|
132
|
+
- **`min` / `max`**: 数値の範囲を指定します。
|
|
133
|
+
- **型**: CMSとWebサイトの両方で `number` 型。
|
|
134
|
+
|
|
135
|
+
### `orizm.boolean`
|
|
136
|
+
|
|
137
|
+
真偽値型のプロパティを定義します。
|
|
138
|
+
|
|
139
|
+
```ts
|
|
140
|
+
orizm.boolean({
|
|
141
|
+
displayName: "表示する",
|
|
142
|
+
default: false,
|
|
143
|
+
});
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
- **型**: CMSとWebサイトの両方で `boolean` 型。
|
|
147
|
+
|
|
148
|
+
### `orizm.array`
|
|
149
|
+
|
|
150
|
+
配列型のプロパティを定義します。
|
|
151
|
+
|
|
152
|
+
```ts
|
|
153
|
+
orizm.array({
|
|
154
|
+
displayName: "箇条書き",
|
|
155
|
+
default: ["項目1", "項目2"],
|
|
156
|
+
element: orizm.string({
|
|
157
|
+
displayName: "項目",
|
|
158
|
+
default: "",
|
|
159
|
+
}),
|
|
160
|
+
});
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
- **`element`**: 配列要素の型を指定します。
|
|
164
|
+
- **型**: `T[]`(例: `string[]`)。
|
|
165
|
+
|
|
166
|
+
### `orizm.object`
|
|
167
|
+
|
|
168
|
+
オブジェクト型のプロパティを定義します。
|
|
169
|
+
|
|
170
|
+
```ts
|
|
171
|
+
orizm.object({
|
|
172
|
+
displayName: "画像",
|
|
173
|
+
schema: {
|
|
174
|
+
heading: orizm.string({
|
|
175
|
+
displayName: "見出し",
|
|
176
|
+
default: "",
|
|
177
|
+
}),
|
|
178
|
+
paragraph: orizm.string({
|
|
179
|
+
displayName: "説明",
|
|
180
|
+
default: "",
|
|
181
|
+
}),
|
|
182
|
+
},
|
|
183
|
+
});
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
- **`schema`**: オブジェクトの構造を定義します。
|
|
187
|
+
- **型**: `T`(例: `{ heading: string; paragraph: string }`)。
|
|
188
|
+
|
|
189
|
+
### `null` 許容プロパティ
|
|
190
|
+
|
|
191
|
+
すべてのプロパティ型はデフォルトで `null` を許容しません。`nullable` を指定することで許容可能になります。
|
|
192
|
+
|
|
193
|
+
```ts
|
|
194
|
+
orizm.string({
|
|
195
|
+
displayName: "テキスト",
|
|
196
|
+
default: null,
|
|
197
|
+
nullable: true,
|
|
198
|
+
});
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
- **型**: `T | null`。
|
|
202
|
+
|
|
203
|
+
## スロット
|
|
204
|
+
|
|
205
|
+
スロット(slot)は、コンポーネントの中に他のコンポーネントを配置できる領域です。Reactの `children` プロパティと同様の役割を果たします。
|
|
206
|
+
|
|
207
|
+
### スロットの定義
|
|
208
|
+
|
|
209
|
+
スロットは以下のように定義します。
|
|
210
|
+
|
|
211
|
+
```ts {13-34}
|
|
212
|
+
import * as orizm from "@orizm-private/orizm-editor/schema";
|
|
213
|
+
|
|
214
|
+
const TwoColumns = orizm.component({
|
|
215
|
+
displayName: "2カラム",
|
|
216
|
+
category: "レイアウト",
|
|
217
|
+
props: orizm.props({
|
|
218
|
+
gap: orizm.number({
|
|
219
|
+
default: 8,
|
|
220
|
+
displayName: "間隔",
|
|
221
|
+
min: 0,
|
|
222
|
+
}),
|
|
223
|
+
}),
|
|
224
|
+
slots: orizm.slots({
|
|
225
|
+
column1: orizm.slot({
|
|
226
|
+
displayName: "カラム1",
|
|
227
|
+
default: [
|
|
228
|
+
{
|
|
229
|
+
type: "Paragraph",
|
|
230
|
+
props: { text: "Column 1" },
|
|
231
|
+
slots: {},
|
|
232
|
+
},
|
|
233
|
+
],
|
|
234
|
+
}),
|
|
235
|
+
column2: orizm.slot({
|
|
236
|
+
displayName: "カラム2",
|
|
237
|
+
default: [
|
|
238
|
+
{
|
|
239
|
+
type: "Paragraph",
|
|
240
|
+
props: { text: "Column 2" },
|
|
241
|
+
slots: {},
|
|
242
|
+
},
|
|
243
|
+
],
|
|
244
|
+
}),
|
|
245
|
+
}),
|
|
246
|
+
});
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### `orizm.slot`
|
|
250
|
+
|
|
251
|
+
スロットを定義するための関数です。以下のプロパティを指定できます。
|
|
252
|
+
|
|
253
|
+
- **`default`**: スロットのデフォルトコンテンツ。
|
|
254
|
+
- **型**: `React.ReactNode`
|
|
255
|
+
|
|
256
|
+
### スロットの使用方法
|
|
257
|
+
|
|
258
|
+
スロットはコンポーネントの中で以下のように使用します。
|
|
259
|
+
|
|
260
|
+
```tsx
|
|
261
|
+
import {
|
|
262
|
+
ComponentMarker,
|
|
263
|
+
type ComponentRenderers,
|
|
264
|
+
} from "@orizm-private/orizm-editor/renderer";
|
|
265
|
+
import type { componentSchema } from "../component-schema";
|
|
266
|
+
|
|
267
|
+
type TwoColumnsFC = ComponentRenderers<typeof componentSchema>["TwoColumns"];
|
|
268
|
+
|
|
269
|
+
export const TwoColumns: TwoColumnsFC = ({ gap, column1, column2 }) => {
|
|
270
|
+
return (
|
|
271
|
+
<ComponentMarker>
|
|
272
|
+
<div className="grid grid-cols-2" style={{ gap }}>
|
|
273
|
+
<div>{column1}</div>
|
|
274
|
+
<div>{column2}</div>
|
|
275
|
+
</div>
|
|
276
|
+
</ComponentMarker>
|
|
277
|
+
);
|
|
278
|
+
};
|
|
279
|
+
```
|