@janbox/storefront-builder 1.0.3 → 1.0.5
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 +477 -0
- package/dist/editor/lib/index.d.ts +3 -3
- package/dist/editor/lib/sidebar/index.d.ts +1 -1
- package/dist/editor/lib/sidebar/insert-action.d.ts +2 -2
- package/dist/editor/ui/dialog/dialog/helpers.d.ts +1 -1
- package/dist/editor/ui/dialog/dialog-close/dialog-close.d.ts +1 -1
- package/dist/editor.js +326 -313
- package/dist/lib/accordion/README.md +39 -0
- package/dist/lib/accordion-content/README.md +36 -0
- package/dist/lib/accordion-group/README.md +106 -0
- package/dist/lib/accordion-summary/README.md +37 -0
- package/dist/lib/box/README.md +107 -0
- package/dist/lib/button/README.md +94 -0
- package/dist/lib/cell/README.md +119 -0
- package/dist/lib/countdown-timer/README.md +157 -0
- package/dist/lib/flex-item/README.md +111 -0
- package/dist/lib/flexbox/README.md +120 -0
- package/dist/lib/grid/README.md +133 -0
- package/dist/lib/heading/README.md +53 -0
- package/dist/lib/icon/README.md +98 -0
- package/dist/lib/image/README.md +107 -0
- package/dist/lib/link/README.md +111 -0
- package/dist/lib/list-item/README.md +31 -0
- package/dist/lib/marquee/README.md +111 -0
- package/dist/lib/marquee-item/README.md +31 -0
- package/dist/lib/paragraph/README.md +82 -0
- package/dist/lib/root/README.md +33 -0
- package/dist/lib/swiper/README.md +108 -0
- package/dist/lib/swiper-slide/README.md +32 -0
- package/dist/lib/tab/README.md +35 -0
- package/dist/lib/tab-content/README.md +35 -0
- package/dist/lib/tab-list/README.md +35 -0
- package/dist/lib/tab-panel/README.md +35 -0
- package/dist/lib/tabs/README.md +90 -0
- package/dist/lib/text/README.md +90 -0
- package/dist/lib/unknown/README.md +48 -0
- package/dist/lib/unordered-list/README.md +82 -0
- package/dist/lib/video/README.md +91 -0
- package/lib/accordion/README.md +39 -0
- package/lib/accordion-content/README.md +36 -0
- package/lib/accordion-group/README.md +106 -0
- package/lib/accordion-summary/README.md +37 -0
- package/lib/box/README.md +107 -0
- package/lib/button/README.md +94 -0
- package/lib/cell/README.md +119 -0
- package/lib/countdown-timer/README.md +157 -0
- package/lib/flex-item/README.md +111 -0
- package/lib/flexbox/README.md +120 -0
- package/lib/grid/README.md +133 -0
- package/lib/heading/README.md +53 -0
- package/lib/icon/README.md +98 -0
- package/lib/image/README.md +107 -0
- package/lib/link/README.md +111 -0
- package/lib/list-item/README.md +31 -0
- package/lib/marquee/README.md +111 -0
- package/lib/marquee-item/README.md +31 -0
- package/lib/paragraph/README.md +82 -0
- package/lib/root/README.md +33 -0
- package/lib/swiper/README.md +108 -0
- package/lib/swiper-slide/README.md +32 -0
- package/lib/tab/README.md +35 -0
- package/lib/tab-content/README.md +35 -0
- package/lib/tab-list/README.md +35 -0
- package/lib/tab-panel/README.md +35 -0
- package/lib/tabs/README.md +90 -0
- package/lib/text/README.md +90 -0
- package/lib/unknown/README.md +48 -0
- package/lib/unordered-list/README.md +82 -0
- package/lib/video/README.md +91 -0
- package/package.json +5 -9
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# UnorderedListNode
|
|
2
|
+
|
|
3
|
+
Danh sách dọc (`ul`) — container cho các `ListItemNode`. Không render bullet mặc định, layout dùng flexbox column.
|
|
4
|
+
|
|
5
|
+
## Resolved name
|
|
6
|
+
|
|
7
|
+
`UnorderedList`
|
|
8
|
+
|
|
9
|
+
## Configurable props
|
|
10
|
+
|
|
11
|
+
### `sx` props
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
sx?: {
|
|
15
|
+
// layout
|
|
16
|
+
width?: number | string
|
|
17
|
+
rowGap?: number // khoảng cách giữa các items
|
|
18
|
+
alignItems?: 'flex-start' | 'flex-end' | 'center' // căn ngang các items
|
|
19
|
+
|
|
20
|
+
// spacing
|
|
21
|
+
paddingTop?: number
|
|
22
|
+
paddingRight?: number
|
|
23
|
+
paddingBottom?: number
|
|
24
|
+
paddingLeft?: number
|
|
25
|
+
marginTop?: number
|
|
26
|
+
marginRight?: number
|
|
27
|
+
marginBottom?: number
|
|
28
|
+
marginLeft?: number
|
|
29
|
+
|
|
30
|
+
// border
|
|
31
|
+
borderStyle?: string
|
|
32
|
+
borderColor?: string
|
|
33
|
+
borderTopWidth?: number
|
|
34
|
+
borderRightWidth?: number
|
|
35
|
+
borderBottomWidth?: number
|
|
36
|
+
borderLeftWidth?: number
|
|
37
|
+
borderTopLeftRadius?: number | string
|
|
38
|
+
borderTopRightRadius?: number | string
|
|
39
|
+
borderBottomRightRadius?: number | string
|
|
40
|
+
borderBottomLeftRadius?: number | string
|
|
41
|
+
|
|
42
|
+
// responsive overrides
|
|
43
|
+
sm?: { /* same keys above */ }
|
|
44
|
+
md?: { /* same keys above */ }
|
|
45
|
+
lg?: { /* same keys above */ }
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Usage
|
|
50
|
+
|
|
51
|
+
```tsx
|
|
52
|
+
import { UnorderedListNode, ListItemNode, TextNode, IconNode } from '@janbox/storefront-builder';
|
|
53
|
+
|
|
54
|
+
// Danh sách các text items
|
|
55
|
+
<UnorderedListNode sx={{ rowGap: 8 }}>
|
|
56
|
+
<ListItemNode>
|
|
57
|
+
<TextNode>Item 1</TextNode>
|
|
58
|
+
</ListItemNode>
|
|
59
|
+
<ListItemNode>
|
|
60
|
+
<TextNode>Item 2</TextNode>
|
|
61
|
+
</ListItemNode>
|
|
62
|
+
</UnorderedListNode>
|
|
63
|
+
|
|
64
|
+
// Icon + text, căn giữa dọc
|
|
65
|
+
<UnorderedListNode sx={{ rowGap: 12, width: '100%' }}>
|
|
66
|
+
<ListItemNode>
|
|
67
|
+
<FlexboxNode sx={{ flexDirection: 'row', alignItems: 'center', columnGap: 8 }}>
|
|
68
|
+
<FlexItemNode><IconNode source="..." size={16} /></FlexItemNode>
|
|
69
|
+
<FlexItemNode sx={{ flexGrow: 1 }}><TextNode>Feature description</TextNode></FlexItemNode>
|
|
70
|
+
</FlexboxNode>
|
|
71
|
+
</ListItemNode>
|
|
72
|
+
</UnorderedListNode>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Rules
|
|
76
|
+
|
|
77
|
+
- **Canvas**: no — không trực tiếp nhận drop.
|
|
78
|
+
- **Children**: `ListItemNode` — thêm qua inspector.
|
|
79
|
+
|
|
80
|
+
## Related nodes
|
|
81
|
+
|
|
82
|
+
- [`ListItemNode`](../list-item/README.md) — mỗi item trong list
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# VideoNode
|
|
2
|
+
|
|
3
|
+
Video player node dùng `react-player`. Hỗ trợ nhiều nguồn video: YouTube, Vimeo, file MP4, v.v.
|
|
4
|
+
|
|
5
|
+
## Resolved name
|
|
6
|
+
|
|
7
|
+
`Video`
|
|
8
|
+
|
|
9
|
+
## Configurable props
|
|
10
|
+
|
|
11
|
+
### Top-level props
|
|
12
|
+
|
|
13
|
+
| Prop | Type | Description |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| `src` | `string` | URL video (YouTube, Vimeo, MP4, v.v.) |
|
|
16
|
+
| `light` | `string \| boolean` | URL thumbnail hiển thị trước khi play |
|
|
17
|
+
|
|
18
|
+
### `sx` props
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
sx?: {
|
|
22
|
+
// size
|
|
23
|
+
width?: number | string
|
|
24
|
+
aspectRatio?: string // ví dụ: '16 / 9', '1 / 1'
|
|
25
|
+
|
|
26
|
+
// spacing
|
|
27
|
+
paddingTop?: number
|
|
28
|
+
paddingRight?: number
|
|
29
|
+
paddingBottom?: number
|
|
30
|
+
paddingLeft?: number
|
|
31
|
+
marginTop?: number
|
|
32
|
+
marginRight?: number
|
|
33
|
+
marginBottom?: number
|
|
34
|
+
marginLeft?: number
|
|
35
|
+
|
|
36
|
+
// border
|
|
37
|
+
borderStyle?: string
|
|
38
|
+
borderColor?: string
|
|
39
|
+
borderTopWidth?: number
|
|
40
|
+
borderRightWidth?: number
|
|
41
|
+
borderBottomWidth?: number
|
|
42
|
+
borderLeftWidth?: number
|
|
43
|
+
borderTopLeftRadius?: number | string
|
|
44
|
+
borderTopRightRadius?: number | string
|
|
45
|
+
borderBottomRightRadius?: number | string
|
|
46
|
+
borderBottomLeftRadius?: number | string
|
|
47
|
+
|
|
48
|
+
// responsive overrides
|
|
49
|
+
sm?: { /* same keys above */ }
|
|
50
|
+
md?: { /* same keys above */ }
|
|
51
|
+
lg?: { /* same keys above */ }
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Usage
|
|
56
|
+
|
|
57
|
+
```tsx
|
|
58
|
+
import { VideoNode } from '@janbox/storefront-builder';
|
|
59
|
+
|
|
60
|
+
// YouTube video
|
|
61
|
+
<VideoNode
|
|
62
|
+
src="https://www.youtube.com/watch?v=dQw4w9WgXcQ"
|
|
63
|
+
sx={{ width: '100%', aspectRatio: '16 / 9' }}
|
|
64
|
+
/>
|
|
65
|
+
|
|
66
|
+
// MP4 video với thumbnail
|
|
67
|
+
<VideoNode
|
|
68
|
+
src="https://example.com/video.mp4"
|
|
69
|
+
light="https://example.com/thumbnail.jpg"
|
|
70
|
+
sx={{ width: '100%', aspectRatio: '16 / 9' }}
|
|
71
|
+
/>
|
|
72
|
+
|
|
73
|
+
// Responsive width, aspect ratio cố định
|
|
74
|
+
<VideoNode
|
|
75
|
+
src="https://vimeo.com/123456789"
|
|
76
|
+
sx={{
|
|
77
|
+
width: '100%',
|
|
78
|
+
aspectRatio: '16 / 9',
|
|
79
|
+
borderTopLeftRadius: 8,
|
|
80
|
+
borderTopRightRadius: 8,
|
|
81
|
+
borderBottomLeftRadius: 8,
|
|
82
|
+
borderBottomRightRadius: 8,
|
|
83
|
+
md: { width: '80%' },
|
|
84
|
+
}}
|
|
85
|
+
/>
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Rules
|
|
89
|
+
|
|
90
|
+
- **Canvas**: no — không chứa node con.
|
|
91
|
+
- Dùng `react-player` bên dưới — hỗ trợ YouTube, Vimeo, Twitch, SoundCloud, Streamable, Wistia, Facebook, file video, v.v.
|
package/package.json
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@janbox/storefront-builder",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "Standalone storefront builder library extracted from craft-layers-portal",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": [
|
|
7
7
|
"**/*.css"
|
|
8
8
|
],
|
|
9
9
|
"files": [
|
|
10
|
-
"dist"
|
|
10
|
+
"dist",
|
|
11
|
+
"README.md",
|
|
12
|
+
"lib/*/README.md"
|
|
11
13
|
],
|
|
12
14
|
"main": "./dist/index.js",
|
|
13
15
|
"module": "./dist/index.js",
|
|
@@ -59,18 +61,12 @@
|
|
|
59
61
|
"usehooks-ts": "^3.1.1"
|
|
60
62
|
},
|
|
61
63
|
"devDependencies": {
|
|
62
|
-
"@tailwindcss/vite": "^4.2.2",
|
|
63
64
|
"@types/lodash-es": "^4.17.12",
|
|
64
65
|
"@types/node": "^24.10.1",
|
|
65
66
|
"@types/react": "^19.1.8",
|
|
66
67
|
"@types/react-dom": "^19.1.6",
|
|
67
68
|
"@types/react-frame-component": "^4.1.6",
|
|
68
|
-
"
|
|
69
|
-
"tailwindcss": "^4.2.2",
|
|
70
|
-
"type-fest": "^5.5.0",
|
|
71
|
-
"typescript": "5.5.4",
|
|
72
|
-
"vite-plugin-dts": "^4.5.4",
|
|
73
|
-
"vite-tsconfig-paths": "^4.3.2"
|
|
69
|
+
"type-fest": "^5.5.0"
|
|
74
70
|
},
|
|
75
71
|
"publishConfig": {
|
|
76
72
|
"access": "public"
|