├── .gitattributes ├── .github ├── CODEOWNERS ├── CODE_OF_CONDUCT.md ├── ISSUE_TEMPLATE.md ├── PULL_REQUEST_TEMPLATE.md ├── SECURITY.md ├── SUPPORT.md ├── dependabot.yml └── workflows │ ├── CD.yml │ ├── CI.yml │ ├── CODEQL.yml │ └── DependabotBot.yml ├── .gitignore ├── LICENSE ├── README.md ├── config ├── eslint │ └── eslint.config.ts ├── prettier │ └── prettier.json └── vite │ ├── common.ts │ ├── demo.ts │ ├── library.ts │ └── vite.config.ts ├── demo ├── app.jsx ├── demo.css ├── index.html └── sketches │ ├── box.jsx │ ├── capture.jsx │ ├── plane.jsx │ ├── record.jsx │ └── torus.jsx ├── package.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── src ├── components │ ├── P5Canvas.tsx │ ├── P5CanvasGuard.tsx │ └── P5CanvasWithSketch.tsx ├── constants │ └── CanvasContainerClassName.ts ├── contracts │ ├── CanvasContainer.ts │ ├── CanvasContainerRef.ts │ ├── InputProps.ts │ ├── P5CanvasInstance.ts │ ├── P5CanvasInstanceRef.ts │ ├── P5CanvasProps.ts │ ├── P5CanvasPropsWithSketch.ts │ ├── Sketch.ts │ ├── SketchProps.ts │ ├── WithChildren.ts │ └── p5.ts ├── main.tsx └── utils │ ├── createP5CanvasInstance.ts │ ├── logErrorBoundaryError.ts │ ├── propsAreEqual.ts │ ├── removeP5CanvasInstance.ts │ ├── updateP5CanvasInstance.ts │ └── withoutKeys.ts ├── tests ├── components │ └── P5Canvas.test.tsx ├── constants │ └── CanvasContainerClassName.test.ts ├── exports.test.tsx ├── setup.ts └── utils │ ├── createP5CanvasInstance.test.ts │ ├── logErrorBoundaryError.test.ts │ ├── propsAreEqual.test.ts │ ├── removeP5CanvasInstance.test.ts │ ├── updateP5CanvasInstance.test.ts │ └── withoutKeys.test.ts └── tsconfig.json /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @jamesrweb @yevdyko -------------------------------------------------------------------------------- /.github/CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/.github/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/.github/ISSUE_TEMPLATE.md -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/.github/SECURITY.md -------------------------------------------------------------------------------- /.github/SUPPORT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/.github/SUPPORT.md -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/CD.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/.github/workflows/CD.yml -------------------------------------------------------------------------------- /.github/workflows/CI.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/.github/workflows/CI.yml -------------------------------------------------------------------------------- /.github/workflows/CODEQL.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/.github/workflows/CODEQL.yml -------------------------------------------------------------------------------- /.github/workflows/DependabotBot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/.github/workflows/DependabotBot.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/README.md -------------------------------------------------------------------------------- /config/eslint/eslint.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/config/eslint/eslint.config.ts -------------------------------------------------------------------------------- /config/prettier/prettier.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/config/prettier/prettier.json -------------------------------------------------------------------------------- /config/vite/common.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/config/vite/common.ts -------------------------------------------------------------------------------- /config/vite/demo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/config/vite/demo.ts -------------------------------------------------------------------------------- /config/vite/library.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/config/vite/library.ts -------------------------------------------------------------------------------- /config/vite/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/config/vite/vite.config.ts -------------------------------------------------------------------------------- /demo/app.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/demo/app.jsx -------------------------------------------------------------------------------- /demo/demo.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/demo/demo.css -------------------------------------------------------------------------------- /demo/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/demo/index.html -------------------------------------------------------------------------------- /demo/sketches/box.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/demo/sketches/box.jsx -------------------------------------------------------------------------------- /demo/sketches/capture.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/demo/sketches/capture.jsx -------------------------------------------------------------------------------- /demo/sketches/plane.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/demo/sketches/plane.jsx -------------------------------------------------------------------------------- /demo/sketches/record.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/demo/sketches/record.jsx -------------------------------------------------------------------------------- /demo/sketches/torus.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/demo/sketches/torus.jsx -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/pnpm-workspace.yaml -------------------------------------------------------------------------------- /src/components/P5Canvas.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/src/components/P5Canvas.tsx -------------------------------------------------------------------------------- /src/components/P5CanvasGuard.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/src/components/P5CanvasGuard.tsx -------------------------------------------------------------------------------- /src/components/P5CanvasWithSketch.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/src/components/P5CanvasWithSketch.tsx -------------------------------------------------------------------------------- /src/constants/CanvasContainerClassName.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/src/constants/CanvasContainerClassName.ts -------------------------------------------------------------------------------- /src/contracts/CanvasContainer.ts: -------------------------------------------------------------------------------- 1 | export type CanvasContainer = HTMLDivElement; 2 | -------------------------------------------------------------------------------- /src/contracts/CanvasContainerRef.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/src/contracts/CanvasContainerRef.ts -------------------------------------------------------------------------------- /src/contracts/InputProps.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/src/contracts/InputProps.ts -------------------------------------------------------------------------------- /src/contracts/P5CanvasInstance.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/src/contracts/P5CanvasInstance.ts -------------------------------------------------------------------------------- /src/contracts/P5CanvasInstanceRef.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/src/contracts/P5CanvasInstanceRef.ts -------------------------------------------------------------------------------- /src/contracts/P5CanvasProps.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/src/contracts/P5CanvasProps.ts -------------------------------------------------------------------------------- /src/contracts/P5CanvasPropsWithSketch.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/src/contracts/P5CanvasPropsWithSketch.ts -------------------------------------------------------------------------------- /src/contracts/Sketch.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/src/contracts/Sketch.ts -------------------------------------------------------------------------------- /src/contracts/SketchProps.ts: -------------------------------------------------------------------------------- 1 | export type SketchProps = Record; 2 | -------------------------------------------------------------------------------- /src/contracts/WithChildren.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/src/contracts/WithChildren.ts -------------------------------------------------------------------------------- /src/contracts/p5.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/src/contracts/p5.ts -------------------------------------------------------------------------------- /src/main.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/src/main.tsx -------------------------------------------------------------------------------- /src/utils/createP5CanvasInstance.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/src/utils/createP5CanvasInstance.ts -------------------------------------------------------------------------------- /src/utils/logErrorBoundaryError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/src/utils/logErrorBoundaryError.ts -------------------------------------------------------------------------------- /src/utils/propsAreEqual.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/src/utils/propsAreEqual.ts -------------------------------------------------------------------------------- /src/utils/removeP5CanvasInstance.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/src/utils/removeP5CanvasInstance.ts -------------------------------------------------------------------------------- /src/utils/updateP5CanvasInstance.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/src/utils/updateP5CanvasInstance.ts -------------------------------------------------------------------------------- /src/utils/withoutKeys.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/src/utils/withoutKeys.ts -------------------------------------------------------------------------------- /tests/components/P5Canvas.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/tests/components/P5Canvas.test.tsx -------------------------------------------------------------------------------- /tests/constants/CanvasContainerClassName.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/tests/constants/CanvasContainerClassName.test.ts -------------------------------------------------------------------------------- /tests/exports.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/tests/exports.test.tsx -------------------------------------------------------------------------------- /tests/setup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/tests/setup.ts -------------------------------------------------------------------------------- /tests/utils/createP5CanvasInstance.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/tests/utils/createP5CanvasInstance.test.ts -------------------------------------------------------------------------------- /tests/utils/logErrorBoundaryError.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/tests/utils/logErrorBoundaryError.test.ts -------------------------------------------------------------------------------- /tests/utils/propsAreEqual.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/tests/utils/propsAreEqual.test.ts -------------------------------------------------------------------------------- /tests/utils/removeP5CanvasInstance.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/tests/utils/removeP5CanvasInstance.test.ts -------------------------------------------------------------------------------- /tests/utils/updateP5CanvasInstance.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/tests/utils/updateP5CanvasInstance.test.ts -------------------------------------------------------------------------------- /tests/utils/withoutKeys.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/tests/utils/withoutKeys.test.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P5-wrapper/react/HEAD/tsconfig.json --------------------------------------------------------------------------------