@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.
Files changed (70) hide show
  1. package/README.md +477 -0
  2. package/dist/editor/lib/index.d.ts +3 -3
  3. package/dist/editor/lib/sidebar/index.d.ts +1 -1
  4. package/dist/editor/lib/sidebar/insert-action.d.ts +2 -2
  5. package/dist/editor/ui/dialog/dialog/helpers.d.ts +1 -1
  6. package/dist/editor/ui/dialog/dialog-close/dialog-close.d.ts +1 -1
  7. package/dist/editor.js +326 -313
  8. package/dist/lib/accordion/README.md +39 -0
  9. package/dist/lib/accordion-content/README.md +36 -0
  10. package/dist/lib/accordion-group/README.md +106 -0
  11. package/dist/lib/accordion-summary/README.md +37 -0
  12. package/dist/lib/box/README.md +107 -0
  13. package/dist/lib/button/README.md +94 -0
  14. package/dist/lib/cell/README.md +119 -0
  15. package/dist/lib/countdown-timer/README.md +157 -0
  16. package/dist/lib/flex-item/README.md +111 -0
  17. package/dist/lib/flexbox/README.md +120 -0
  18. package/dist/lib/grid/README.md +133 -0
  19. package/dist/lib/heading/README.md +53 -0
  20. package/dist/lib/icon/README.md +98 -0
  21. package/dist/lib/image/README.md +107 -0
  22. package/dist/lib/link/README.md +111 -0
  23. package/dist/lib/list-item/README.md +31 -0
  24. package/dist/lib/marquee/README.md +111 -0
  25. package/dist/lib/marquee-item/README.md +31 -0
  26. package/dist/lib/paragraph/README.md +82 -0
  27. package/dist/lib/root/README.md +33 -0
  28. package/dist/lib/swiper/README.md +108 -0
  29. package/dist/lib/swiper-slide/README.md +32 -0
  30. package/dist/lib/tab/README.md +35 -0
  31. package/dist/lib/tab-content/README.md +35 -0
  32. package/dist/lib/tab-list/README.md +35 -0
  33. package/dist/lib/tab-panel/README.md +35 -0
  34. package/dist/lib/tabs/README.md +90 -0
  35. package/dist/lib/text/README.md +90 -0
  36. package/dist/lib/unknown/README.md +48 -0
  37. package/dist/lib/unordered-list/README.md +82 -0
  38. package/dist/lib/video/README.md +91 -0
  39. package/lib/accordion/README.md +39 -0
  40. package/lib/accordion-content/README.md +36 -0
  41. package/lib/accordion-group/README.md +106 -0
  42. package/lib/accordion-summary/README.md +37 -0
  43. package/lib/box/README.md +107 -0
  44. package/lib/button/README.md +94 -0
  45. package/lib/cell/README.md +119 -0
  46. package/lib/countdown-timer/README.md +157 -0
  47. package/lib/flex-item/README.md +111 -0
  48. package/lib/flexbox/README.md +120 -0
  49. package/lib/grid/README.md +133 -0
  50. package/lib/heading/README.md +53 -0
  51. package/lib/icon/README.md +98 -0
  52. package/lib/image/README.md +107 -0
  53. package/lib/link/README.md +111 -0
  54. package/lib/list-item/README.md +31 -0
  55. package/lib/marquee/README.md +111 -0
  56. package/lib/marquee-item/README.md +31 -0
  57. package/lib/paragraph/README.md +82 -0
  58. package/lib/root/README.md +33 -0
  59. package/lib/swiper/README.md +108 -0
  60. package/lib/swiper-slide/README.md +32 -0
  61. package/lib/tab/README.md +35 -0
  62. package/lib/tab-content/README.md +35 -0
  63. package/lib/tab-list/README.md +35 -0
  64. package/lib/tab-panel/README.md +35 -0
  65. package/lib/tabs/README.md +90 -0
  66. package/lib/text/README.md +90 -0
  67. package/lib/unknown/README.md +48 -0
  68. package/lib/unordered-list/README.md +82 -0
  69. package/lib/video/README.md +91 -0
  70. 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",
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
- "sass-embedded": "^1.99.0",
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"