Skip to content

Commit 6284385

Browse files
Merge pull request #358 from FormidableLabs/task/fix-new-line-add-demo
Fix cursor position on new line, add demo app
2 parents 94612c2 + 5fa364a commit 6284385

15 files changed

Lines changed: 1041 additions & 331 deletions

File tree

.changeset/shiny-jeans-matter.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"react-live": patch
3+
---
4+
5+
Fix new line cursor position on enter-key press.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"license": "MIT",
99
"scripts": {
1010
"start:docs": "pnpm run --filter website start",
11+
"dev:demo": "pnpm run --filter demo dev",
1112
"build": "pnpm run -r build",
1213
"build:lib": "pnpm run --filter react-live build",
1314
"lint": "pnpm run --parallel lint",
@@ -16,7 +17,7 @@
1617
"version": "pnpm changeset version && pnpm install --no-frozen-lockfile"
1718
},
1819
"dependencies": {
19-
"prism-react-renderer": "^2.0.3"
20+
"prism-react-renderer": "^2.0.4"
2021
},
2122
"devDependencies": {
2223
"@babel/eslint-parser": "^7.15.0",

packages/demo/index.html

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6+
<title>Vite + React + TS</title>
7+
</head>
8+
<body>
9+
<div id="root"></div>
10+
<script type="module" src="/src/main.tsx"></script>
11+
</body>
12+
</html>

packages/demo/package.json

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
2+
"name": "demo",
3+
"private": true,
4+
"version": "0.0.0",
5+
"type": "module",
6+
"scripts": {
7+
"dev": "vite",
8+
"build": "tsc && vite build",
9+
"lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
10+
"preview": "vite preview"
11+
},
12+
"dependencies": {
13+
"react": "^18.2.0",
14+
"react-dom": "^18.2.0",
15+
"react-live": "*"
16+
},
17+
"devDependencies": {
18+
"@types/react": "^18.0.31",
19+
"@types/react-dom": "^18.0.11",
20+
"@typescript-eslint/eslint-plugin": "^5.57.1",
21+
"@typescript-eslint/parser": "^5.57.1",
22+
"@vitejs/plugin-react": "^4.0.0",
23+
"autoprefixer": "^10.4.14",
24+
"eslint": "^8.38.0",
25+
"eslint-plugin-react-hooks": "^4.6.0",
26+
"eslint-plugin-react-refresh": "^0.3.4",
27+
"postcss": "^8.4.21",
28+
"tailwindcss": "^3.2.7",
29+
"typescript": "^4.9.5",
30+
"vite": "^4.3.2"
31+
}
32+
}

packages/demo/postcss.config.cjs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module.exports = {
2+
plugins: {
3+
tailwindcss: {},
4+
autoprefixer: {},
5+
},
6+
}

packages/demo/src/app.tsx

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import { LiveProvider, LiveEditor, LivePreview, LiveError } from "react-live";
2+
3+
const code = `
4+
function handleClick() {
5+
console.log("Hi there!");
6+
}
7+
const HelloWorld = () => (
8+
<button onClick={handleClick}>
9+
Hello World
10+
</button>
11+
);
12+
render(<HelloWorld />);
13+
`.trim();
14+
15+
export const DemoApp = () => {
16+
return (
17+
<div>
18+
<LiveProvider code={code} noInline>
19+
<div className="grid lg:grid-cols-2 gap-4">
20+
<LiveEditor className="font-mono" />
21+
<LivePreview />
22+
</div>
23+
<LiveError className="text-red-800 bg-red-100 mt-2" />
24+
</LiveProvider>
25+
</div>
26+
);
27+
};

packages/demo/src/index.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
@tailwind base;
2+
@tailwind components;
3+
@tailwind utilities;

packages/demo/src/main.tsx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import React from "react";
2+
import ReactDOM from "react-dom/client";
3+
import "./index.css";
4+
import { DemoApp } from "./app";
5+
6+
ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render(
7+
<React.StrictMode>
8+
<DemoApp />
9+
</React.StrictMode>
10+
);

packages/demo/src/vite-env.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/// <reference types="vite/client" />

packages/demo/tailwind.config.cjs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/** @type {import('tailwindcss').Config} */
2+
module.exports = {
3+
content: [
4+
"./index.html",
5+
"./src/**/*.{js,ts,jsx,tsx}",
6+
],
7+
theme: {
8+
extend: {},
9+
},
10+
plugins: [],
11+
};

0 commit comments

Comments
 (0)