@janbox/storefront-builder 2.0.8 → 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.
Files changed (49) hide show
  1. package/README.md +33 -3
  2. package/dist/{dataset-BMKs5zYr.js → countdown-timer.node-d0EtGQ4_.js} +2592 -3030
  3. package/dist/editor.js +9702 -1241
  4. package/dist/hooks/use-first-mount-state.d.ts +1 -0
  5. package/dist/hooks/use-update-effect.d.ts +2 -0
  6. package/dist/index-3PtMdwiC.js +188 -0
  7. package/dist/index-tISPdvwn.js +4 -0
  8. package/dist/index.js +92 -213
  9. package/dist/lib/accordion-group/index.d.ts +0 -1
  10. package/dist/lib/box/README.md +3 -10
  11. package/dist/lib/box/index.d.ts +0 -1
  12. package/dist/lib/button/index.d.ts +0 -1
  13. package/dist/lib/cell/index.d.ts +0 -1
  14. package/dist/lib/container/README.md +86 -0
  15. package/dist/lib/container/index.d.ts +0 -1
  16. package/dist/lib/countdown-timer/index.d.ts +0 -1
  17. package/dist/lib/flex-item/README.md +1 -0
  18. package/dist/lib/flex-item/index.d.ts +0 -1
  19. package/dist/lib/flexbox/README.md +0 -6
  20. package/dist/lib/flexbox/index.d.ts +0 -1
  21. package/dist/lib/grid/README.md +5 -4
  22. package/dist/lib/grid/index.d.ts +0 -1
  23. package/dist/lib/heading/README.md +38 -8
  24. package/dist/lib/heading/index.d.ts +0 -2
  25. package/dist/lib/icon/index.d.ts +0 -1
  26. package/dist/lib/image/index.d.ts +0 -1
  27. package/dist/lib/index.d.ts +0 -1
  28. package/dist/lib/link/index.d.ts +0 -1
  29. package/dist/lib/marquee/index.d.ts +0 -1
  30. package/dist/lib/paragraph/README.md +9 -5
  31. package/dist/lib/paragraph/index.d.ts +0 -2
  32. package/dist/lib/paragraph/paragraph.node/types.d.ts +2 -2
  33. package/dist/lib/swiper/index.d.ts +0 -1
  34. package/dist/lib/tabs/index.d.ts +0 -1
  35. package/dist/lib/unordered-list/index.d.ts +0 -1
  36. package/dist/lib/video/index.d.ts +0 -1
  37. package/dist/minus-BrRnjbhB.js +4 -0
  38. package/dist/style.css +1 -1
  39. package/dist/templates.js +17 -34
  40. package/dist/{tooltip-BTVACKyw.js → tooltip-5WmNiI2z.js} +1 -1
  41. package/package.json +1 -2
  42. package/dist/countdown-timer.inspector-BZH-hb1h.js +0 -8193
  43. package/dist/index-DWK1bwW0.js +0 -4
  44. package/dist/lib/paragraph/paragraph/paragraph.d.ts +0 -2
  45. package/dist/lib/paragraph/paragraph/types.d.ts +0 -2
  46. package/dist/lib/text/README.md +0 -90
  47. package/dist/lib/text/index.d.ts +0 -1
  48. package/dist/lib/text/text.inspector/index.d.ts +0 -1
  49. 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, RootNode } from '@janbox/storefront-builder';
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
- <RootNode />
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