@janbox/storefront-builder 2.0.9 → 2.0.10
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 +33 -3
- package/dist/{dataset-DQ21hyBo.js → countdown-timer.node-d0EtGQ4_.js} +2592 -3029
- package/dist/editor.js +9702 -1240
- package/dist/hooks/use-first-mount-state.d.ts +1 -0
- package/dist/hooks/use-update-effect.d.ts +2 -0
- package/dist/index-3PtMdwiC.js +188 -0
- package/dist/index-tISPdvwn.js +4 -0
- package/dist/index.js +92 -212
- package/dist/lib/accordion-group/index.d.ts +0 -1
- package/dist/lib/box/README.md +3 -10
- package/dist/lib/box/index.d.ts +0 -1
- package/dist/lib/button/index.d.ts +0 -1
- package/dist/lib/cell/index.d.ts +0 -1
- package/dist/lib/container/README.md +86 -0
- package/dist/lib/container/index.d.ts +0 -1
- package/dist/lib/countdown-timer/index.d.ts +0 -1
- package/dist/lib/flex-item/README.md +1 -0
- package/dist/lib/flex-item/index.d.ts +0 -1
- package/dist/lib/flexbox/README.md +0 -6
- package/dist/lib/flexbox/index.d.ts +0 -1
- package/dist/lib/grid/README.md +5 -4
- package/dist/lib/grid/index.d.ts +0 -1
- package/dist/lib/heading/README.md +38 -8
- package/dist/lib/heading/index.d.ts +0 -2
- package/dist/lib/icon/index.d.ts +0 -1
- package/dist/lib/image/index.d.ts +0 -1
- package/dist/lib/index.d.ts +0 -1
- package/dist/lib/link/index.d.ts +0 -1
- package/dist/lib/marquee/index.d.ts +0 -1
- package/dist/lib/paragraph/README.md +9 -5
- package/dist/lib/paragraph/index.d.ts +0 -2
- package/dist/lib/paragraph/paragraph.node/types.d.ts +2 -2
- package/dist/lib/swiper/index.d.ts +0 -1
- package/dist/lib/tabs/index.d.ts +0 -1
- package/dist/lib/unordered-list/index.d.ts +0 -1
- package/dist/lib/video/index.d.ts +0 -1
- package/dist/minus-BrRnjbhB.js +4 -0
- package/dist/templates.js +17 -33
- package/dist/{tooltip-Bi1eNiUc.js → tooltip-5WmNiI2z.js} +1 -1
- package/package.json +1 -2
- package/dist/countdown-timer.inspector-EFXiJ973.js +0 -8192
- package/dist/index-Cx5nImHp.js +0 -4
- package/dist/lib/paragraph/paragraph/paragraph.d.ts +0 -2
- package/dist/lib/paragraph/paragraph/types.d.ts +0 -2
- package/dist/lib/text/README.md +0 -90
- package/dist/lib/text/index.d.ts +0 -1
- package/dist/lib/text/text.inspector/index.d.ts +0 -1
- package/dist/lib/text/text.inspector/text.inspector.d.ts +0 -6
package/README.md
CHANGED
|
@@ -79,9 +79,16 @@ export default function BuilderPage() {
|
|
|
79
79
|
|
|
80
80
|
Dùng `Composer` + `Canvas` để render một trang đã lưu, không cần giao diện editor. Đây là cách dùng cho phía storefront hiển thị cho người mua.
|
|
81
81
|
|
|
82
|
+
`Canvas` hỗ trợ hai chế độ render:
|
|
83
|
+
|
|
84
|
+
1. **Truyền `data`** — ưu tiên render từ serialized data (JSON từ editor)
|
|
85
|
+
2. **Truyền `children`** — nếu không truyền `data`, Canvas sẽ render children như JSX thông thường
|
|
86
|
+
|
|
87
|
+
### Render từ serialized data
|
|
88
|
+
|
|
82
89
|
```tsx
|
|
83
90
|
import '@janbox/storefront-builder/style.css';
|
|
84
|
-
import { Composer, Canvas
|
|
91
|
+
import { Composer, Canvas } from '@janbox/storefront-builder';
|
|
85
92
|
import type { SerializedNodes } from '@janbox/storefront-builder';
|
|
86
93
|
|
|
87
94
|
const savedData: SerializedNodes = { /* JSON từ editor */ };
|
|
@@ -89,14 +96,37 @@ const savedData: SerializedNodes = { /* JSON từ editor */ };
|
|
|
89
96
|
export default function StorefrontPage() {
|
|
90
97
|
return (
|
|
91
98
|
<Composer>
|
|
92
|
-
<Canvas data={savedData}
|
|
93
|
-
|
|
99
|
+
<Canvas data={savedData} />
|
|
100
|
+
</Composer>
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
`data` nhận `SerializedNodes` object hoặc JSON string. Khi truyền `data`, Canvas sẽ bỏ qua children và render hoàn toàn từ dữ liệu đã serialize.
|
|
106
|
+
|
|
107
|
+
### Render từ children (không có data)
|
|
108
|
+
|
|
109
|
+
```tsx
|
|
110
|
+
import '@janbox/storefront-builder/style.css';
|
|
111
|
+
import { Composer, Canvas, RootNode, BoxNode, HeadingNode } from '@janbox/storefront-builder';
|
|
112
|
+
|
|
113
|
+
export default function StorefrontPage() {
|
|
114
|
+
return (
|
|
115
|
+
<Composer>
|
|
116
|
+
<Canvas>
|
|
117
|
+
<RootNode>
|
|
118
|
+
<BoxNode>
|
|
119
|
+
<HeadingNode text="Hello World" />
|
|
120
|
+
</BoxNode>
|
|
121
|
+
</RootNode>
|
|
94
122
|
</Canvas>
|
|
95
123
|
</Composer>
|
|
96
124
|
);
|
|
97
125
|
}
|
|
98
126
|
```
|
|
99
127
|
|
|
128
|
+
Khi không truyền `data`, Canvas sử dụng children làm cây node mặc định để render.
|
|
129
|
+
|
|
100
130
|
---
|
|
101
131
|
|
|
102
132
|
## Khái niệm cơ bản
|