@lit-pigeon/core 0.3.0 → 0.3.1
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 +57 -0
- package/package.json +18 -2
package/README.md
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# @lit-pigeon/core
|
|
2
|
+
|
|
3
|
+
The pure TypeScript engine behind the [Lit Pigeon](https://github.com/snxstudio/lit-pigeon)
|
|
4
|
+
email editor — document schema, immutable `EditorState` + `Transaction`
|
|
5
|
+
system, commands, undo/redo history, a ProseMirror-inspired plugin registry,
|
|
6
|
+
and the starter-template / brand-kit / asset / row-library storage
|
|
7
|
+
interfaces. Zero runtime UI dependencies, so it runs in the browser, Node, or
|
|
8
|
+
an edge worker.
|
|
9
|
+
|
|
10
|
+
## Install
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm install @lit-pigeon/core
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
import {
|
|
20
|
+
createDefaultDocument,
|
|
21
|
+
EditorState,
|
|
22
|
+
createHistoryPlugin,
|
|
23
|
+
validateDocument,
|
|
24
|
+
getStarterTemplates,
|
|
25
|
+
} from '@lit-pigeon/core';
|
|
26
|
+
|
|
27
|
+
// Start from a blank document, or a starter template.
|
|
28
|
+
const doc = createDefaultDocument();
|
|
29
|
+
const [welcome] = getStarterTemplates(); // welcome / newsletter / transactional / promo
|
|
30
|
+
// welcome.document is a PigeonDocument
|
|
31
|
+
|
|
32
|
+
// Drive edits through immutable transactions (with undo/redo history).
|
|
33
|
+
let state = EditorState.create({ doc, plugins: [createHistoryPlugin()] });
|
|
34
|
+
const tr = state.createTransaction();
|
|
35
|
+
// ...apply command steps to `tr`, then:
|
|
36
|
+
state = state.apply(tr);
|
|
37
|
+
|
|
38
|
+
// Validate before rendering / persisting.
|
|
39
|
+
const errors = validateDocument(state.doc);
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
`PigeonDocument` is a plain JSON tree (`body → rows → columns → blocks`), so it
|
|
43
|
+
serialises anywhere. Render it to email HTML with
|
|
44
|
+
[`@lit-pigeon/renderer-mjml`](../renderer-mjml) or
|
|
45
|
+
[`@lit-pigeon/ssr`](../ssr).
|
|
46
|
+
|
|
47
|
+
Also exported: the command set (`insertBlock`, `moveBlock`, `insertRow`,
|
|
48
|
+
`resizeColumns`, …), `createBlock`/`createRow` factories, `undo`/`redo`, the
|
|
49
|
+
block registry (`registerBlock`, `getBlockDefinition`), and in-memory storage
|
|
50
|
+
adapters (`InMemoryTemplateStorage`, `InMemoryBrandKitStorage`,
|
|
51
|
+
`InMemoryAssetStorage`, `InMemoryRowLibraryStorage`).
|
|
52
|
+
|
|
53
|
+
Part of [Lit Pigeon](https://github.com/snxstudio/lit-pigeon) — open-source drag-and-drop email editor.
|
|
54
|
+
|
|
55
|
+
## License
|
|
56
|
+
|
|
57
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lit-pigeon/core",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Pure TypeScript engine for the Pigeon email editor",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -14,7 +14,9 @@
|
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
"files": [
|
|
17
|
-
"dist"
|
|
17
|
+
"dist",
|
|
18
|
+
"README.md",
|
|
19
|
+
"LICENSE"
|
|
18
20
|
],
|
|
19
21
|
"dependencies": {
|
|
20
22
|
"immer": "^10.1.0",
|
|
@@ -37,6 +39,20 @@
|
|
|
37
39
|
"directory": "packages/core"
|
|
38
40
|
},
|
|
39
41
|
"license": "MIT",
|
|
42
|
+
"homepage": "https://github.com/snxstudio/lit-pigeon/tree/main/packages/core#readme",
|
|
43
|
+
"bugs": "https://github.com/snxstudio/lit-pigeon/issues",
|
|
44
|
+
"author": "Lit Pigeon Contributors",
|
|
45
|
+
"keywords": [
|
|
46
|
+
"email",
|
|
47
|
+
"email-template",
|
|
48
|
+
"email-editor",
|
|
49
|
+
"mjml",
|
|
50
|
+
"html-email",
|
|
51
|
+
"lit",
|
|
52
|
+
"web-components",
|
|
53
|
+
"drag-and-drop",
|
|
54
|
+
"no-code"
|
|
55
|
+
],
|
|
40
56
|
"scripts": {
|
|
41
57
|
"build": "vite build",
|
|
42
58
|
"dev": "vite build --watch",
|