create-plasmic-app 0.0.63 → 0.0.64
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.internal.md +6 -2
- package/cpa-out/.gitignore +15 -0
- package/cpa-out/gatsby-codegen-js/gatsby-browser.jsx +11 -0
- package/cpa-out/gatsby-codegen-js/gatsby-config.js +9 -0
- package/cpa-out/gatsby-codegen-js/gatsby-node.js +0 -0
- package/cpa-out/gatsby-codegen-js/gatsby-ssr.jsx +11 -0
- package/cpa-out/gatsby-codegen-js/package.json +26 -0
- package/cpa-out/gatsby-codegen-js/plasmic.json +79 -0
- package/cpa-out/gatsby-codegen-js/src/components/plasmic/create_plasmic_app/PlasmicGlobalVariant__Screen.jsx +29 -0
- package/cpa-out/gatsby-codegen-js/src/components/plasmic/create_plasmic_app/PlasmicHomepage.jsx +206 -0
- package/cpa-out/gatsby-codegen-js/src/pages/404.js +4 -0
- package/cpa-out/gatsby-codegen-js/src/pages/index.jsx +39 -0
- package/cpa-out/gatsby-codegen-ts/gatsby-browser.tsx +11 -0
- package/cpa-out/gatsby-codegen-ts/gatsby-config.ts +14 -0
- package/cpa-out/gatsby-codegen-ts/gatsby-node.ts +0 -0
- package/cpa-out/gatsby-codegen-ts/gatsby-ssr.tsx +11 -0
- package/cpa-out/gatsby-codegen-ts/package.json +34 -0
- package/cpa-out/gatsby-codegen-ts/plasmic.json +79 -0
- package/cpa-out/gatsby-codegen-ts/src/components/plasmic/create_plasmic_app/PlasmicGlobalVariant__Screen.tsx +30 -0
- package/cpa-out/gatsby-codegen-ts/src/components/plasmic/create_plasmic_app/PlasmicHomepage.tsx +290 -0
- package/cpa-out/gatsby-codegen-ts/src/pages/404.js +4 -0
- package/cpa-out/gatsby-codegen-ts/src/pages/index.tsx +41 -0
- package/cpa-out/gatsby-codegen-ts/tsconfig.json +102 -0
- package/cpa-out/gatsby-loader-js/gatsby-config.js +25 -0
- package/cpa-out/gatsby-loader-js/gatsby-node.js +0 -0
- package/cpa-out/gatsby-loader-js/gatsby-ssr.jsx +44 -0
- package/cpa-out/gatsby-loader-js/package.json +24 -0
- package/cpa-out/gatsby-loader-js/src/pages/404.js +4 -0
- package/cpa-out/gatsby-loader-js/src/pages/plasmic-host.jsx +19 -0
- package/cpa-out/gatsby-loader-js/src/plasmic-init.js +18 -0
- package/cpa-out/gatsby-loader-js/src/templates/defaultPlasmicPage.jsx +44 -0
- package/cpa-out/gatsby-loader-ts/gatsby-config.ts +31 -0
- package/cpa-out/gatsby-loader-ts/gatsby-node.ts +0 -0
- package/cpa-out/gatsby-loader-ts/gatsby-ssr.tsx +44 -0
- package/cpa-out/gatsby-loader-ts/package.json +32 -0
- package/cpa-out/gatsby-loader-ts/src/pages/404.ts +4 -0
- package/cpa-out/gatsby-loader-ts/src/pages/plasmic-host.tsx +24 -0
- package/cpa-out/gatsby-loader-ts/src/plasmic-init.ts +19 -0
- package/cpa-out/gatsby-loader-ts/src/templates/defaultPlasmicPage.tsx +52 -0
- package/cpa-out/gatsby-loader-ts/tsconfig.json +102 -0
- package/cpa-out/nextjs-app-loader-js/app/[[...catchall]]/page.jsx +56 -0
- package/cpa-out/nextjs-app-loader-js/app/head.js +10 -0
- package/cpa-out/nextjs-app-loader-js/app/layout.js +14 -0
- package/cpa-out/nextjs-app-loader-js/app/plasmic-host/page.jsx +6 -0
- package/cpa-out/nextjs-app-loader-js/next.config.js +13 -0
- package/cpa-out/nextjs-app-loader-js/package.json +20 -0
- package/cpa-out/nextjs-app-loader-js/pages/api/hello.js +5 -0
- package/cpa-out/nextjs-app-loader-js/plasmic-init-client.jsx +65 -0
- package/cpa-out/nextjs-app-loader-js/plasmic-init.js +16 -0
- package/cpa-out/nextjs-app-loader-ts/app/[[...catchall]]/page.tsx +59 -0
- package/cpa-out/nextjs-app-loader-ts/app/head.tsx +10 -0
- package/cpa-out/nextjs-app-loader-ts/app/layout.tsx +18 -0
- package/cpa-out/nextjs-app-loader-ts/app/plasmic-host/page.tsx +6 -0
- package/cpa-out/nextjs-app-loader-ts/next.config.js +13 -0
- package/cpa-out/nextjs-app-loader-ts/package.json +24 -0
- package/cpa-out/nextjs-app-loader-ts/pages/api/hello.ts +13 -0
- package/cpa-out/nextjs-app-loader-ts/plasmic-init-client.tsx +65 -0
- package/cpa-out/nextjs-app-loader-ts/plasmic-init.ts +16 -0
- package/cpa-out/nextjs-app-loader-ts/tsconfig.json +29 -0
- package/cpa-out/nextjs-pages-codegen-js/components/plasmic/create_plasmic_app/PlasmicGlobalVariant__Screen.jsx +29 -0
- package/cpa-out/nextjs-pages-codegen-js/components/plasmic/create_plasmic_app/PlasmicHomepage.jsx +205 -0
- package/cpa-out/nextjs-pages-codegen-js/next.config.js +10 -0
- package/cpa-out/nextjs-pages-codegen-js/package.json +22 -0
- package/cpa-out/nextjs-pages-codegen-js/pages/_app.jsx +11 -0
- package/cpa-out/nextjs-pages-codegen-js/pages/api/hello.js +5 -0
- package/cpa-out/nextjs-pages-codegen-js/pages/index.jsx +35 -0
- package/cpa-out/nextjs-pages-codegen-js/pages/plasmic-host.jsx +15 -0
- package/cpa-out/nextjs-pages-codegen-js/plasmic.json +79 -0
- package/cpa-out/nextjs-pages-codegen-ts/components/plasmic/create_plasmic_app/PlasmicGlobalVariant__Screen.tsx +30 -0
- package/cpa-out/nextjs-pages-codegen-ts/components/plasmic/create_plasmic_app/PlasmicHomepage.tsx +287 -0
- package/cpa-out/nextjs-pages-codegen-ts/next.config.js +10 -0
- package/cpa-out/nextjs-pages-codegen-ts/package.json +26 -0
- package/cpa-out/nextjs-pages-codegen-ts/pages/_app.tsx +12 -0
- package/cpa-out/nextjs-pages-codegen-ts/pages/api/hello.ts +13 -0
- package/cpa-out/nextjs-pages-codegen-ts/pages/index.tsx +37 -0
- package/cpa-out/nextjs-pages-codegen-ts/pages/plasmic-host.tsx +15 -0
- package/cpa-out/nextjs-pages-codegen-ts/plasmic.json +79 -0
- package/cpa-out/nextjs-pages-codegen-ts/tsconfig.json +24 -0
- package/cpa-out/nextjs-pages-loader-js/next.config.js +10 -0
- package/cpa-out/nextjs-pages-loader-js/package.json +20 -0
- package/cpa-out/nextjs-pages-loader-js/pages/[[...catchall]].jsx +66 -0
- package/cpa-out/nextjs-pages-loader-js/pages/api/hello.js +5 -0
- package/cpa-out/nextjs-pages-loader-js/pages/plasmic-host.jsx +7 -0
- package/cpa-out/nextjs-pages-loader-js/plasmic-init.js +25 -0
- package/cpa-out/nextjs-pages-loader-ts/next.config.js +10 -0
- package/cpa-out/nextjs-pages-loader-ts/package.json +24 -0
- package/cpa-out/nextjs-pages-loader-ts/pages/[[...catchall]].tsx +70 -0
- package/cpa-out/nextjs-pages-loader-ts/pages/api/hello.ts +13 -0
- package/cpa-out/nextjs-pages-loader-ts/pages/plasmic-host.tsx +7 -0
- package/cpa-out/nextjs-pages-loader-ts/plasmic-init.ts +25 -0
- package/cpa-out/nextjs-pages-loader-ts/tsconfig.json +24 -0
- package/cpa-out/react-codegen-js/package.json +41 -0
- package/cpa-out/react-codegen-js/plasmic.json +76 -0
- package/cpa-out/react-codegen-js/src/App.jsx +9 -0
- package/cpa-out/react-codegen-js/src/components/Homepage.jsx +26 -0
- package/cpa-out/react-codegen-js/src/components/plasmic/create_plasmic_app/PlasmicGlobalVariant__Screen.jsx +29 -0
- package/cpa-out/react-codegen-js/src/components/plasmic/create_plasmic_app/PlasmicHomepage.jsx +196 -0
- package/cpa-out/react-codegen-js/src/index.js +17 -0
- package/cpa-out/react-codegen-js/src/reportWebVitals.js +13 -0
- package/cpa-out/react-codegen-js/src/setupTests.js +5 -0
- package/cpa-out/react-codegen-ts/package.json +46 -0
- package/cpa-out/react-codegen-ts/plasmic.json +76 -0
- package/cpa-out/react-codegen-ts/src/App.tsx +9 -0
- package/cpa-out/react-codegen-ts/src/components/Homepage.tsx +45 -0
- package/cpa-out/react-codegen-ts/src/components/plasmic/create_plasmic_app/PlasmicGlobalVariant__Screen.tsx +30 -0
- package/cpa-out/react-codegen-ts/src/components/plasmic/create_plasmic_app/PlasmicHomepage.tsx +280 -0
- package/cpa-out/react-codegen-ts/src/index.tsx +19 -0
- package/cpa-out/react-codegen-ts/src/react-app-env.d.ts +1 -0
- package/cpa-out/react-codegen-ts/src/reportWebVitals.ts +15 -0
- package/cpa-out/react-codegen-ts/src/setupTests.ts +5 -0
- package/cpa-out/react-codegen-ts/tsconfig.json +26 -0
- package/cpa-out/react-loader-js/package.json +41 -0
- package/cpa-out/react-loader-js/plasmic.json +76 -0
- package/cpa-out/react-loader-js/src/App.jsx +9 -0
- package/cpa-out/react-loader-js/src/components/Homepage.jsx +26 -0
- package/cpa-out/react-loader-js/src/components/plasmic/create_plasmic_app/PlasmicGlobalVariant__Screen.jsx +29 -0
- package/cpa-out/react-loader-js/src/components/plasmic/create_plasmic_app/PlasmicHomepage.jsx +196 -0
- package/cpa-out/react-loader-js/src/index.js +17 -0
- package/cpa-out/react-loader-js/src/reportWebVitals.js +13 -0
- package/cpa-out/react-loader-js/src/setupTests.js +5 -0
- package/cpa-out/react-loader-ts/package.json +46 -0
- package/cpa-out/react-loader-ts/plasmic.json +76 -0
- package/cpa-out/react-loader-ts/src/App.tsx +9 -0
- package/cpa-out/react-loader-ts/src/components/Homepage.tsx +45 -0
- package/cpa-out/react-loader-ts/src/components/plasmic/create_plasmic_app/PlasmicGlobalVariant__Screen.tsx +30 -0
- package/cpa-out/react-loader-ts/src/components/plasmic/create_plasmic_app/PlasmicHomepage.tsx +280 -0
- package/cpa-out/react-loader-ts/src/index.tsx +19 -0
- package/cpa-out/react-loader-ts/src/react-app-env.d.ts +1 -0
- package/cpa-out/react-loader-ts/src/reportWebVitals.ts +15 -0
- package/cpa-out/react-loader-ts/src/setupTests.ts +5 -0
- package/cpa-out/react-loader-ts/tsconfig.json +26 -0
- package/dist/gatsby/gatsby.d.ts +6 -0
- package/dist/{strategies → gatsby}/gatsby.js +26 -29
- package/dist/gatsby/template.d.ts +11 -0
- package/dist/{templates/gatsby.js → gatsby/template.js} +34 -42
- package/dist/index.d.ts +1 -1
- package/dist/index.js +57 -27
- package/dist/lib.d.ts +3 -4
- package/dist/lib.js +22 -12
- package/dist/nextjs/nextjs.d.ts +2 -0
- package/dist/nextjs/nextjs.js +155 -0
- package/dist/nextjs/templates/app-loader/catchall-page.d.ts +2 -0
- package/dist/nextjs/templates/app-loader/catchall-page.js +67 -0
- package/dist/nextjs/templates/app-loader/plasmic-host.d.ts +1 -0
- package/dist/nextjs/templates/app-loader/plasmic-host.js +13 -0
- package/dist/nextjs/templates/app-loader/plasmic-init-client.d.ts +2 -0
- package/dist/nextjs/templates/app-loader/plasmic-init-client.js +73 -0
- package/dist/nextjs/templates/app-loader/plasmic-init.d.ts +1 -0
- package/dist/nextjs/templates/app-loader/plasmic-init.js +23 -0
- package/dist/nextjs/templates/pages-codegen/app.d.ts +2 -0
- package/dist/nextjs/templates/pages-codegen/app.js +20 -0
- package/dist/nextjs/templates/pages-codegen/plasmic-host.d.ts +1 -0
- package/dist/nextjs/templates/pages-codegen/plasmic-host.js +22 -0
- package/dist/nextjs/templates/pages-loader/catchall-page.d.ts +2 -0
- package/dist/nextjs/templates/pages-loader/catchall-page.js +77 -0
- package/dist/nextjs/templates/pages-loader/plasmic-host.d.ts +1 -0
- package/dist/nextjs/templates/pages-loader/plasmic-host.js +14 -0
- package/dist/nextjs/templates/pages-loader/plasmic-init.d.ts +1 -0
- package/dist/nextjs/templates/pages-loader/plasmic-init.js +32 -0
- package/dist/react/react.d.ts +2 -0
- package/dist/{strategies → react}/react.js +10 -10
- package/dist/templates/readme.d.ts +2 -2
- package/dist/templates/readme.js +5 -4
- package/dist/templates/welcomePage.d.ts +2 -2
- package/dist/templates/welcomePage.js +5 -5
- package/dist/{strategies/common.d.ts → utils/codegen.d.ts} +0 -0
- package/dist/{strategies/common.js → utils/codegen.js} +0 -0
- package/dist/utils/file-utils.d.ts +2 -2
- package/dist/utils/file-utils.js +3 -3
- package/dist/{strategies/types.d.ts → utils/strategy.d.ts} +16 -14
- package/dist/{strategies/types.js → utils/strategy.js} +0 -0
- package/dist/utils/types.d.ts +9 -0
- package/dist/utils/types.js +7 -0
- package/package.json +4 -3
- package/run-cpa.ts +151 -0
- package/src/{strategies → gatsby}/gatsby.ts +28 -46
- package/src/{templates/gatsby.ts → gatsby/template.ts} +41 -51
- package/src/index.ts +86 -56
- package/src/lib.ts +30 -15
- package/src/nextjs/nextjs.ts +180 -0
- package/src/nextjs/templates/app-loader/catchall-page.ts +71 -0
- package/src/nextjs/templates/app-loader/plasmic-host.ts +9 -0
- package/src/nextjs/templates/app-loader/plasmic-init-client.ts +74 -0
- package/src/nextjs/templates/app-loader/plasmic-init.ts +22 -0
- package/src/nextjs/templates/pages-codegen/app.ts +24 -0
- package/src/nextjs/templates/pages-codegen/plasmic-host.ts +18 -0
- package/src/nextjs/templates/pages-loader/catchall-page.ts +81 -0
- package/src/nextjs/templates/pages-loader/plasmic-host.ts +10 -0
- package/src/nextjs/templates/pages-loader/plasmic-init.ts +31 -0
- package/src/{strategies → react}/react.ts +8 -10
- package/src/templates/readme.ts +5 -5
- package/src/templates/welcomePage.ts +6 -7
- package/src/{strategies/common.ts → utils/codegen.ts} +0 -0
- package/src/utils/file-utils.ts +4 -4
- package/src/utils/strategy.ts +48 -0
- package/src/utils/types.ts +12 -0
- package/dist/strategies/gatsby.d.ts +0 -7
- package/dist/strategies/index.d.ts +0 -2
- package/dist/strategies/index.js +0 -22
- package/dist/strategies/nextjs.d.ts +0 -3
- package/dist/strategies/nextjs.js +0 -104
- package/dist/strategies/react.d.ts +0 -3
- package/dist/templates/gatsby.d.ts +0 -11
- package/dist/templates/nextjs.d.ts +0 -5
- package/dist/templates/nextjs.js +0 -162
- package/src/strategies/index.ts +0 -21
- package/src/strategies/nextjs.ts +0 -131
- package/src/strategies/types.ts +0 -42
- package/src/templates/nextjs.ts +0 -170
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// Next.js API route support: https://nextjs.org/docs/api-routes/introduction
|
|
2
|
+
import type { NextApiRequest, NextApiResponse } from 'next'
|
|
3
|
+
|
|
4
|
+
type Data = {
|
|
5
|
+
name: string
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export default function handler(
|
|
9
|
+
req: NextApiRequest,
|
|
10
|
+
res: NextApiResponse<Data>
|
|
11
|
+
) {
|
|
12
|
+
res.status(200).json({ name: 'John Doe' })
|
|
13
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { PlasmicRootProvider } from "@plasmicapp/loader-nextjs";
|
|
4
|
+
import { PLASMIC } from "plasmic-init";
|
|
5
|
+
|
|
6
|
+
// You can register any code components that you want to use here; see
|
|
7
|
+
// https://docs.plasmic.app/learn/code-components-ref/
|
|
8
|
+
// And configure your Plasmic project to use the host url pointing at
|
|
9
|
+
// the /plasmic-host page of your nextjs app (for example,
|
|
10
|
+
// http://localhost:3000/plasmic-host). See
|
|
11
|
+
// https://docs.plasmic.app/learn/app-hosting/#set-a-plasmic-project-to-use-your-app-host
|
|
12
|
+
|
|
13
|
+
// PLASMIC.registerComponent(...);
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* ClientPlasmicRootProvider is a Client Component that passes in the loader for you.
|
|
17
|
+
*
|
|
18
|
+
* Why? Props passed from Server to Client Components must be serializable.
|
|
19
|
+
* https://beta.nextjs.org/docs/rendering/server-and-client-components#passing-props-from-server-to-client-components-serialization
|
|
20
|
+
* However, PlasmicRootProvider requires a loader, but the loader is NOT serializable.
|
|
21
|
+
*
|
|
22
|
+
* In a Server Component like app/<your-path>/path.tsx, rendering the following would not work:
|
|
23
|
+
*
|
|
24
|
+
* ```tsx
|
|
25
|
+
* import { PLASMIC } from "plasmic-init";
|
|
26
|
+
* import { PlasmicRootProvider } from "plasmicapp/loader-nextjs";
|
|
27
|
+
* export default function MyPage() {
|
|
28
|
+
* const prefetchedData = await PLASMIC.fetchComponentData("YourPage");
|
|
29
|
+
* return (
|
|
30
|
+
* <PlasmicRootProvider
|
|
31
|
+
* loader={PLASMIC} // ERROR: loader is not serializable
|
|
32
|
+
* prefetchedData={prefetchedData}
|
|
33
|
+
* >
|
|
34
|
+
* {yourContent()}
|
|
35
|
+
* </PlasmicRootProvider>;
|
|
36
|
+
* );
|
|
37
|
+
* }
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* Therefore, we define ClientPlasmicRootProvider as a Client Component (this file is marked "use client").
|
|
41
|
+
* ClientPlasmicRootProvider wraps the PlasmicRootProvider and passes in the loader for you,
|
|
42
|
+
* while allowing your Server Component to pass in prefetched data and other serializable props:
|
|
43
|
+
*
|
|
44
|
+
* ```tsx
|
|
45
|
+
* import { PLASMIC } from "plasmic-init";
|
|
46
|
+
* import { ClientPlasmicRootProvider } from "plasmic-init-client"; // changed
|
|
47
|
+
* export default function MyPage() {
|
|
48
|
+
* const prefetchedData = await PLASMIC.fetchComponentData("YourPage");
|
|
49
|
+
* return (
|
|
50
|
+
* <ClientPlasmicRootProvider // don't pass in loader
|
|
51
|
+
* prefetchedData={prefetchedData}
|
|
52
|
+
* >
|
|
53
|
+
* {yourContent()}
|
|
54
|
+
* </ClientPlasmicRootProvider>;
|
|
55
|
+
* );
|
|
56
|
+
* }
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export function ClientPlasmicRootProvider(
|
|
60
|
+
props: Omit<React.ComponentProps<typeof PlasmicRootProvider>, "loader">
|
|
61
|
+
) {
|
|
62
|
+
return (
|
|
63
|
+
<PlasmicRootProvider loader={PLASMIC} {...props}></PlasmicRootProvider>
|
|
64
|
+
);
|
|
65
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { initPlasmicLoader } from "@plasmicapp/loader-nextjs/react-server-conditional";
|
|
2
|
+
|
|
3
|
+
export const PLASMIC = initPlasmicLoader({
|
|
4
|
+
projects: [
|
|
5
|
+
{
|
|
6
|
+
id: "47tFXWjN2C4NyHFGGpaYQ3",
|
|
7
|
+
token: "7BRFratDxPLMGZHnd2grV5QP6mlHcZ1AK3BJSIeh7xzUlHgWh25XpgXvUaKAqHXFMXQQuzpADqboibF6nqNWQ",
|
|
8
|
+
},
|
|
9
|
+
],
|
|
10
|
+
|
|
11
|
+
// By default Plasmic will use the last published version of your project.
|
|
12
|
+
// For development, you can set preview to true, which will use the unpublished
|
|
13
|
+
// project, allowing you to see your designs without publishing. Please
|
|
14
|
+
// only use this for development, as this is significantly slower.
|
|
15
|
+
preview: false,
|
|
16
|
+
});
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "es5",
|
|
4
|
+
"lib": ["dom", "dom.iterable", "esnext"],
|
|
5
|
+
"allowJs": true,
|
|
6
|
+
"skipLibCheck": true,
|
|
7
|
+
"strict": true,
|
|
8
|
+
"forceConsistentCasingInFileNames": true,
|
|
9
|
+
"noEmit": true,
|
|
10
|
+
"esModuleInterop": true,
|
|
11
|
+
"module": "esnext",
|
|
12
|
+
"moduleResolution": "node",
|
|
13
|
+
"resolveJsonModule": true,
|
|
14
|
+
"isolatedModules": true,
|
|
15
|
+
"jsx": "preserve",
|
|
16
|
+
"incremental": true,
|
|
17
|
+
"plugins": [
|
|
18
|
+
{
|
|
19
|
+
"name": "next"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"baseUrl": ".",
|
|
23
|
+
"paths": {
|
|
24
|
+
"@/*": ["./*"]
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
|
|
28
|
+
"exclude": ["node_modules"]
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/* tslint:disable */
|
|
4
|
+
/* prettier-ignore-start */
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import * as p from "@plasmicapp/react-web";
|
|
7
|
+
|
|
8
|
+
export const ScreenContext = React.createContext(
|
|
9
|
+
"PLEASE_RENDER_INSIDE_PROVIDER"
|
|
10
|
+
);
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated Plasmic now uses a custom hook for Screen variants, which is
|
|
13
|
+
* automatically included in your components. Please remove this provider
|
|
14
|
+
* from your code.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
export function ScreenVariantProvider(props) {
|
|
18
|
+
console.warn(
|
|
19
|
+
"DEPRECATED: Plasmic now uses a custom hook for Screen variants, which is automatically included in your components. Please remove this provider from your code."
|
|
20
|
+
);
|
|
21
|
+
return props.children;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export const useScreenVariants = p.createUseScreenVariants(true, {
|
|
25
|
+
desktopOnly: "(min-width:768px)",
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
export default ScreenContext;
|
|
29
|
+
/* prettier-ignore-end */
|
package/cpa-out/nextjs-pages-codegen-js/components/plasmic/create_plasmic_app/PlasmicHomepage.jsx
ADDED
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/* tslint:disable */
|
|
4
|
+
/* prettier-ignore-start */
|
|
5
|
+
/** @jsxRuntime classic */
|
|
6
|
+
/** @jsx createPlasmicElementProxy */
|
|
7
|
+
/** @jsxFrag React.Fragment */
|
|
8
|
+
// This class is auto-generated by Plasmic; please do not edit!
|
|
9
|
+
// Plasmic Project: 47tFXWjN2C4NyHFGGpaYQ3
|
|
10
|
+
// Component: 6uuAAE1jiCew
|
|
11
|
+
import * as React from "react";
|
|
12
|
+
import Head from "next/head";
|
|
13
|
+
import * as p from "@plasmicapp/react-web";
|
|
14
|
+
import * as ph from "@plasmicapp/host";
|
|
15
|
+
import {
|
|
16
|
+
hasVariant,
|
|
17
|
+
classNames,
|
|
18
|
+
createPlasmicElementProxy,
|
|
19
|
+
deriveRenderOpts,
|
|
20
|
+
ensureGlobalVariants
|
|
21
|
+
} from "@plasmicapp/react-web";
|
|
22
|
+
import { useScreenVariants as useScreenVariantsscBjPxgdxdzbv } from "./PlasmicGlobalVariant__Screen"; // plasmic-import: SCBjPXGDXDZBV/globalVariant
|
|
23
|
+
import "@plasmicapp/react-web/lib/plasmic.css";
|
|
24
|
+
import projectcss from "./plasmic_create_plasmic_app.module.css"; // plasmic-import: 47tFXWjN2C4NyHFGGpaYQ3/projectcss
|
|
25
|
+
import sty from "./PlasmicHomepage.module.css"; // plasmic-import: 6uuAAE1jiCew/css
|
|
26
|
+
|
|
27
|
+
export const PlasmicHomepage__VariantProps = new Array();
|
|
28
|
+
|
|
29
|
+
export const PlasmicHomepage__ArgProps = new Array();
|
|
30
|
+
|
|
31
|
+
const __wrapUserFunction =
|
|
32
|
+
globalThis.__PlasmicWrapUserFunction ?? ((loc, fn) => fn());
|
|
33
|
+
|
|
34
|
+
const __wrapUserPromise =
|
|
35
|
+
globalThis.__PlasmicWrapUserPromise ??
|
|
36
|
+
(async (loc, promise) => {
|
|
37
|
+
return await promise;
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
function PlasmicHomepage__RenderFunc(props) {
|
|
41
|
+
const { variants, overrides, forNode } = props;
|
|
42
|
+
const $ctx = ph.useDataEnv?.() || {};
|
|
43
|
+
const args = React.useMemo(() => Object.assign({}, props.args), [props.args]);
|
|
44
|
+
const $props = {
|
|
45
|
+
...args,
|
|
46
|
+
...variants
|
|
47
|
+
};
|
|
48
|
+
const currentUser = p.useCurrentUser?.() || {};
|
|
49
|
+
const [$queries, setDollarQueries] = React.useState({});
|
|
50
|
+
const globalVariants = ensureGlobalVariants({
|
|
51
|
+
screen: useScreenVariantsscBjPxgdxdzbv()
|
|
52
|
+
});
|
|
53
|
+
return (
|
|
54
|
+
<React.Fragment>
|
|
55
|
+
<Head></Head>
|
|
56
|
+
|
|
57
|
+
<style>{`
|
|
58
|
+
body {
|
|
59
|
+
margin: 0;
|
|
60
|
+
}
|
|
61
|
+
`}</style>
|
|
62
|
+
|
|
63
|
+
<div className={projectcss.plasmic_page_wrapper}>
|
|
64
|
+
<div
|
|
65
|
+
data-plasmic-name={"root"}
|
|
66
|
+
data-plasmic-override={overrides.root}
|
|
67
|
+
data-plasmic-root={true}
|
|
68
|
+
data-plasmic-for-node={forNode}
|
|
69
|
+
className={classNames(
|
|
70
|
+
projectcss.all,
|
|
71
|
+
projectcss.root_reset,
|
|
72
|
+
projectcss.plasmic_default_styles,
|
|
73
|
+
projectcss.plasmic_mixins,
|
|
74
|
+
sty.root
|
|
75
|
+
)}
|
|
76
|
+
>
|
|
77
|
+
<p.Stack
|
|
78
|
+
as={"section"}
|
|
79
|
+
data-plasmic-name={"section"}
|
|
80
|
+
data-plasmic-override={overrides.section}
|
|
81
|
+
hasGap={true}
|
|
82
|
+
className={classNames(projectcss.all, sty.section)}
|
|
83
|
+
>
|
|
84
|
+
<h1
|
|
85
|
+
data-plasmic-name={"h1"}
|
|
86
|
+
data-plasmic-override={overrides.h1}
|
|
87
|
+
className={classNames(
|
|
88
|
+
projectcss.all,
|
|
89
|
+
projectcss.h1,
|
|
90
|
+
projectcss.__wab_text,
|
|
91
|
+
sty.h1
|
|
92
|
+
)}
|
|
93
|
+
>
|
|
94
|
+
{"create-plasmic-app"}
|
|
95
|
+
</h1>
|
|
96
|
+
|
|
97
|
+
<div
|
|
98
|
+
data-plasmic-name={"text"}
|
|
99
|
+
data-plasmic-override={overrides.text}
|
|
100
|
+
className={classNames(
|
|
101
|
+
projectcss.all,
|
|
102
|
+
projectcss.__wab_text,
|
|
103
|
+
sty.text
|
|
104
|
+
)}
|
|
105
|
+
>
|
|
106
|
+
{hasVariant(globalVariants, "screen", "desktopOnly") ? (
|
|
107
|
+
<React.Fragment>
|
|
108
|
+
<React.Fragment>
|
|
109
|
+
{
|
|
110
|
+
"This project is used by run-cpa.ts in the create-plasmic-app repo.\n\nrun-cpa.ts runs create-plasmic-app for many combinations of args (e.g. nextjs + appDir + loader + typescript) to check for changes in generated files. Any changes to this project will result in lots of changes to the generated files. "
|
|
111
|
+
}
|
|
112
|
+
</React.Fragment>
|
|
113
|
+
<span
|
|
114
|
+
className={"plasmic_default__all plasmic_default__span"}
|
|
115
|
+
style={{ fontWeight: 700 }}
|
|
116
|
+
>
|
|
117
|
+
{"Therefore, please avoid changing this project."}
|
|
118
|
+
</span>
|
|
119
|
+
</React.Fragment>
|
|
120
|
+
) : (
|
|
121
|
+
<React.Fragment>
|
|
122
|
+
<React.Fragment>
|
|
123
|
+
{
|
|
124
|
+
"If you haven't already done so, go back and learn the basics by going through the Plasmic Levels tutorial.\n\nIt's always easier to start from examples! Add a new page using a template—do this from the list of pages in the top left (the gray + button).\n\nOr press the big blue + button to start dragging items into this page.\n\nIntegrate this project into your codebase—press the "
|
|
125
|
+
}
|
|
126
|
+
</React.Fragment>
|
|
127
|
+
<span
|
|
128
|
+
className={"plasmic_default__all plasmic_default__span"}
|
|
129
|
+
style={{ fontWeight: 700 }}
|
|
130
|
+
>
|
|
131
|
+
{"Code"}
|
|
132
|
+
</span>
|
|
133
|
+
<React.Fragment>
|
|
134
|
+
{
|
|
135
|
+
" button in the top right and follow the quickstart instructions.\n\nJoin our Slack community (icon in bottom left) for help any time."
|
|
136
|
+
}
|
|
137
|
+
</React.Fragment>
|
|
138
|
+
</React.Fragment>
|
|
139
|
+
)}
|
|
140
|
+
</div>
|
|
141
|
+
</p.Stack>
|
|
142
|
+
</div>
|
|
143
|
+
</div>
|
|
144
|
+
</React.Fragment>
|
|
145
|
+
);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
const PlasmicDescendants = {
|
|
149
|
+
root: ["root", "section", "h1", "text"],
|
|
150
|
+
section: ["section", "h1", "text"],
|
|
151
|
+
h1: ["h1"],
|
|
152
|
+
text: ["text"]
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
function makeNodeComponent(nodeName) {
|
|
156
|
+
const func = function (props) {
|
|
157
|
+
const { variants, args, overrides } = React.useMemo(
|
|
158
|
+
() =>
|
|
159
|
+
deriveRenderOpts(props, {
|
|
160
|
+
name: nodeName,
|
|
161
|
+
descendantNames: [...PlasmicDescendants[nodeName]],
|
|
162
|
+
internalArgPropNames: PlasmicHomepage__ArgProps,
|
|
163
|
+
internalVariantPropNames: PlasmicHomepage__VariantProps
|
|
164
|
+
}),
|
|
165
|
+
[props, nodeName]
|
|
166
|
+
);
|
|
167
|
+
|
|
168
|
+
return PlasmicHomepage__RenderFunc({
|
|
169
|
+
variants,
|
|
170
|
+
args,
|
|
171
|
+
overrides,
|
|
172
|
+
forNode: nodeName
|
|
173
|
+
});
|
|
174
|
+
};
|
|
175
|
+
if (nodeName === "root") {
|
|
176
|
+
func.displayName = "PlasmicHomepage";
|
|
177
|
+
} else {
|
|
178
|
+
func.displayName = `PlasmicHomepage.${nodeName}`;
|
|
179
|
+
}
|
|
180
|
+
return func;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
export const PlasmicHomepage = Object.assign(
|
|
184
|
+
// Top-level PlasmicHomepage renders the root element
|
|
185
|
+
makeNodeComponent("root"),
|
|
186
|
+
{
|
|
187
|
+
// Helper components rendering sub-elements
|
|
188
|
+
section: makeNodeComponent("section"),
|
|
189
|
+
h1: makeNodeComponent("h1"),
|
|
190
|
+
text: makeNodeComponent("text"),
|
|
191
|
+
// Metadata about props expected for PlasmicHomepage
|
|
192
|
+
internalVariantProps: PlasmicHomepage__VariantProps,
|
|
193
|
+
internalArgProps: PlasmicHomepage__ArgProps,
|
|
194
|
+
// Page metadata
|
|
195
|
+
pageMetadata: {
|
|
196
|
+
title: "",
|
|
197
|
+
description: "",
|
|
198
|
+
ogImageSrc: "",
|
|
199
|
+
canonical: ""
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
);
|
|
203
|
+
|
|
204
|
+
export default PlasmicHomepage;
|
|
205
|
+
/* prettier-ignore-end */
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "nextjs-pages-codegen-js",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"scripts": {
|
|
6
|
+
"dev": "next dev",
|
|
7
|
+
"build": "next build",
|
|
8
|
+
"start": "next start",
|
|
9
|
+
"lint": "next lint"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"@next/font": "13.1.6",
|
|
13
|
+
"@plasmicapp/cli": "^0.1.205",
|
|
14
|
+
"@plasmicapp/host": "^1.0.100",
|
|
15
|
+
"@plasmicapp/react-web": "^0.2.150",
|
|
16
|
+
"eslint": "8.33.0",
|
|
17
|
+
"eslint-config-next": "13.1.6",
|
|
18
|
+
"next": "13.1.6",
|
|
19
|
+
"react": "18.2.0",
|
|
20
|
+
"react-dom": "18.2.0"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import 'styles/globals.css'
|
|
2
|
+
import { PlasmicRootProvider } from "@plasmicapp/react-web";
|
|
3
|
+
import Head from "next/head";
|
|
4
|
+
|
|
5
|
+
export default function MyApp({ Component, pageProps }) {
|
|
6
|
+
return (
|
|
7
|
+
<PlasmicRootProvider Head={Head}>
|
|
8
|
+
<Component {...pageProps} />
|
|
9
|
+
</PlasmicRootProvider>
|
|
10
|
+
);
|
|
11
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// This is a skeleton starter React page generated by Plasmic.
|
|
2
|
+
// This file is owned by you, feel free to edit as you see fit.
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import * as ph from "@plasmicapp/host";
|
|
5
|
+
import { PlasmicHomepage } from "../components/plasmic/create_plasmic_app/PlasmicHomepage";
|
|
6
|
+
import { useRouter } from "next/router";
|
|
7
|
+
|
|
8
|
+
function Homepage() {
|
|
9
|
+
// Use PlasmicHomepage to render this component as it was
|
|
10
|
+
// designed in Plasmic, by activating the appropriate variants,
|
|
11
|
+
// attaching the appropriate event handlers, etc. You
|
|
12
|
+
// can also install whatever React hooks you need here to manage state or
|
|
13
|
+
// fetch data.
|
|
14
|
+
//
|
|
15
|
+
// Props you can pass into PlasmicHomepage are:
|
|
16
|
+
// 1. Variants you want to activate,
|
|
17
|
+
// 2. Contents for slots you want to fill,
|
|
18
|
+
// 3. Overrides for any named node in the component to attach behavior and data,
|
|
19
|
+
// 4. Props to set on the root node.
|
|
20
|
+
//
|
|
21
|
+
// By default, PlasmicHomepage is wrapped by your project's global
|
|
22
|
+
// variant context providers. These wrappers may be moved to
|
|
23
|
+
// Next.js Custom App component
|
|
24
|
+
// (https://nextjs.org/docs/advanced-features/custom-app).
|
|
25
|
+
return (
|
|
26
|
+
<ph.PageParamsProvider
|
|
27
|
+
params={useRouter()?.query}
|
|
28
|
+
query={useRouter()?.query}
|
|
29
|
+
>
|
|
30
|
+
<PlasmicHomepage />
|
|
31
|
+
</ph.PageParamsProvider>
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export default Homepage;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { PlasmicCanvasHost, registerComponent } from '@plasmicapp/host';
|
|
3
|
+
|
|
4
|
+
// You can register any code components that you want to use here; see
|
|
5
|
+
// https://docs.plasmic.app/learn/code-components-ref/
|
|
6
|
+
// And configure your Plasmic project to use the host url pointing at
|
|
7
|
+
// the /plasmic-host page of your nextjs app (for example,
|
|
8
|
+
// http://localhost:3000/plasmic-host). See
|
|
9
|
+
// https://docs.plasmic.app/learn/app-hosting/#set-a-plasmic-project-to-use-your-app-host
|
|
10
|
+
|
|
11
|
+
// registerComponent(...)
|
|
12
|
+
|
|
13
|
+
export default function PlasmicHost() {
|
|
14
|
+
return <PlasmicCanvasHost />;
|
|
15
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"platform": "nextjs",
|
|
3
|
+
"code": {
|
|
4
|
+
"lang": "js",
|
|
5
|
+
"scheme": "blackbox",
|
|
6
|
+
"reactRuntime": "classic"
|
|
7
|
+
},
|
|
8
|
+
"style": {
|
|
9
|
+
"scheme": "css-modules",
|
|
10
|
+
"defaultStyleCssFilePath": "plasmic/plasmic__default_style.css"
|
|
11
|
+
},
|
|
12
|
+
"images": {
|
|
13
|
+
"scheme": "public-files",
|
|
14
|
+
"publicDir": "../public",
|
|
15
|
+
"publicUrlPrefix": "/"
|
|
16
|
+
},
|
|
17
|
+
"tokens": {
|
|
18
|
+
"scheme": "theo",
|
|
19
|
+
"tokensFilePath": "plasmic-tokens.theo.json"
|
|
20
|
+
},
|
|
21
|
+
"srcDir": "components",
|
|
22
|
+
"defaultPlasmicDir": "./plasmic",
|
|
23
|
+
"projects": [
|
|
24
|
+
{
|
|
25
|
+
"projectId": "47tFXWjN2C4NyHFGGpaYQ3",
|
|
26
|
+
"projectApiToken": "7BRFratDxPLMGZHnd2grV5QP6mlHcZ1AK3BJSIeh7xzUlHgWh25XpgXvUaKAqHXFMXQQuzpADqboibF6nqNWQ",
|
|
27
|
+
"projectName": "create-plasmic-app",
|
|
28
|
+
"version": "latest",
|
|
29
|
+
"cssFilePath": "plasmic/create_plasmic_app/plasmic_create_plasmic_app.module.css",
|
|
30
|
+
"components": [
|
|
31
|
+
{
|
|
32
|
+
"id": "6uuAAE1jiCew",
|
|
33
|
+
"name": "Homepage",
|
|
34
|
+
"type": "managed",
|
|
35
|
+
"projectId": "47tFXWjN2C4NyHFGGpaYQ3",
|
|
36
|
+
"renderModuleFilePath": "plasmic/create_plasmic_app/PlasmicHomepage.jsx",
|
|
37
|
+
"importSpec": {
|
|
38
|
+
"modulePath": "../pages/index.jsx"
|
|
39
|
+
},
|
|
40
|
+
"cssFilePath": "plasmic/create_plasmic_app/PlasmicHomepage.module.css",
|
|
41
|
+
"scheme": "blackbox",
|
|
42
|
+
"componentType": "page"
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"icons": [],
|
|
46
|
+
"images": [],
|
|
47
|
+
"indirect": false,
|
|
48
|
+
"globalContextsFilePath": "",
|
|
49
|
+
"codeComponents": [
|
|
50
|
+
{
|
|
51
|
+
"id": "P6aGdYWZ2R",
|
|
52
|
+
"name": "PlasmicHead",
|
|
53
|
+
"componentImportPath": "@plasmicapp/react-web"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "8G2A-uTjGa",
|
|
57
|
+
"name": "Fetcher",
|
|
58
|
+
"componentImportPath": "@plasmicapp/react-web/lib/data-sources"
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
],
|
|
63
|
+
"globalVariants": {
|
|
64
|
+
"variantGroups": [
|
|
65
|
+
{
|
|
66
|
+
"id": "SCBjPXGDXDZBV",
|
|
67
|
+
"name": "Screen",
|
|
68
|
+
"projectId": "47tFXWjN2C4NyHFGGpaYQ3",
|
|
69
|
+
"contextFilePath": "plasmic/create_plasmic_app/PlasmicGlobalVariant__Screen.jsx"
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
"wrapPagesWithGlobalContexts": true,
|
|
74
|
+
"nextjsConfig": {
|
|
75
|
+
"pagesDir": "../pages"
|
|
76
|
+
},
|
|
77
|
+
"cliVersion": "0.1.205",
|
|
78
|
+
"$schema": "https://unpkg.com/@plasmicapp/cli@0.1.205/dist/plasmic.schema.json"
|
|
79
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/* tslint:disable */
|
|
4
|
+
/* prettier-ignore-start */
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import * as p from "@plasmicapp/react-web";
|
|
7
|
+
|
|
8
|
+
export type ScreenValue = "desktopOnly";
|
|
9
|
+
export const ScreenContext = React.createContext<ScreenValue[] | undefined>(
|
|
10
|
+
"PLEASE_RENDER_INSIDE_PROVIDER" as any
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated Plasmic now uses a custom hook for Screen variants, which is
|
|
15
|
+
* automatically included in your components. Please remove this provider
|
|
16
|
+
* from your code.
|
|
17
|
+
*/
|
|
18
|
+
export function ScreenVariantProvider(props: React.PropsWithChildren) {
|
|
19
|
+
console.warn(
|
|
20
|
+
"DEPRECATED: Plasmic now uses a custom hook for Screen variants, which is automatically included in your components. Please remove this provider from your code."
|
|
21
|
+
);
|
|
22
|
+
return props.children;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export const useScreenVariants = p.createUseScreenVariants(true, {
|
|
26
|
+
desktopOnly: "(min-width:768px)",
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
export default ScreenContext;
|
|
30
|
+
/* prettier-ignore-end */
|