@schneiderelli/cms-runtime 0.0.3 → 0.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/dist/components/BlockRenderer.svelte +106 -71
- package/dist/components/BlockRenderer.svelte.d.ts +15 -4
- package/dist/components/blocks/AdBlock.svelte +58 -0
- package/dist/components/blocks/AdBlock.svelte.d.ts +9 -0
- package/dist/components/blocks/AffiliateBlock.svelte +50 -0
- package/dist/components/blocks/AffiliateBlock.svelte.d.ts +9 -0
- package/dist/components/blocks/BreadcrumbBlock.svelte +30 -0
- package/dist/components/blocks/BreadcrumbBlock.svelte.d.ts +9 -0
- package/dist/components/blocks/ChildrenBlock.svelte +46 -0
- package/dist/components/blocks/ChildrenBlock.svelte.d.ts +9 -0
- package/dist/components/blocks/DividerBlock.svelte +9 -0
- package/dist/components/blocks/DividerBlock.svelte.d.ts +26 -0
- package/dist/components/blocks/FaqBlock.svelte +77 -0
- package/dist/components/blocks/FaqBlock.svelte.d.ts +7 -0
- package/dist/components/blocks/HeadingBlock.svelte +35 -5
- package/dist/components/blocks/HeadingBlock.svelte.d.ts +3 -3
- package/dist/components/blocks/HeroBlock.svelte +43 -0
- package/dist/components/blocks/HeroBlock.svelte.d.ts +7 -0
- package/dist/components/blocks/HowToBlock.svelte +100 -0
- package/dist/components/blocks/HowToBlock.svelte.d.ts +7 -0
- package/dist/components/blocks/ImageBlock.svelte +42 -3
- package/dist/components/blocks/ImageBlock.svelte.d.ts +3 -3
- package/dist/components/blocks/LinksBlock.svelte +66 -0
- package/dist/components/blocks/LinksBlock.svelte.d.ts +7 -0
- package/dist/components/blocks/MarkdownBlock.svelte +118 -0
- package/dist/components/blocks/MarkdownBlock.svelte.d.ts +7 -0
- package/dist/components/blocks/NoteBlock.svelte +59 -0
- package/dist/components/blocks/NoteBlock.svelte.d.ts +7 -0
- package/dist/components/blocks/QuoteBlock.svelte +44 -0
- package/dist/components/blocks/QuoteBlock.svelte.d.ts +7 -0
- package/dist/index.d.ts +16 -1
- package/dist/index.js +26 -1
- package/dist/registry.d.ts +43 -0
- package/dist/registry.js +374 -0
- package/dist/types.d.ts +253 -23
- package/dist/types.js +179 -1
- package/package.json +2 -1
- package/dist/components/blocks/TextBlock.svelte +0 -8
- package/dist/components/blocks/TextBlock.svelte.d.ts +0 -7
- package/dist/resolve.d.ts +0 -15
- package/dist/resolve.js +0 -15
package/dist/types.js
CHANGED
|
@@ -1 +1,179 @@
|
|
|
1
|
-
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// CSM-RUNTIME TYPES
|
|
3
|
+
// =============================================================================
|
|
4
|
+
// Zentrale Type-Definitionen für Content Blocks
|
|
5
|
+
// Wird von Editor UND Website-Framework genutzt
|
|
6
|
+
// =============================================================================
|
|
7
|
+
// -----------------------------------------------------------------------------
|
|
8
|
+
// HELPER: Block erstellen mit Auto-ID
|
|
9
|
+
// -----------------------------------------------------------------------------
|
|
10
|
+
let blockIdCounter = 0;
|
|
11
|
+
export function createBlock(type, data) {
|
|
12
|
+
return {
|
|
13
|
+
id: `block-${Date.now()}-${++blockIdCounter}`,
|
|
14
|
+
type,
|
|
15
|
+
...data
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
// -----------------------------------------------------------------------------
|
|
19
|
+
// HELPER: Page erstellen
|
|
20
|
+
// -----------------------------------------------------------------------------
|
|
21
|
+
export function createPage(data) {
|
|
22
|
+
const now = new Date().toISOString();
|
|
23
|
+
return {
|
|
24
|
+
id: `page-${Date.now()}`,
|
|
25
|
+
blocks: [],
|
|
26
|
+
createdAt: now,
|
|
27
|
+
updatedAt: now,
|
|
28
|
+
...data
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
// -----------------------------------------------------------------------------
|
|
32
|
+
// HELPER: Layout erstellen
|
|
33
|
+
// -----------------------------------------------------------------------------
|
|
34
|
+
let layoutIdCounter = 0;
|
|
35
|
+
export function createLayout(data) {
|
|
36
|
+
const now = new Date().toISOString();
|
|
37
|
+
return {
|
|
38
|
+
id: `layout-${Date.now()}-${++layoutIdCounter}`,
|
|
39
|
+
createdAt: now,
|
|
40
|
+
updatedAt: now,
|
|
41
|
+
...data
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
// -----------------------------------------------------------------------------
|
|
45
|
+
// LAYOUT PRESETS - Vordefinierte Layouts
|
|
46
|
+
// -----------------------------------------------------------------------------
|
|
47
|
+
export function createSimpleLayout() {
|
|
48
|
+
return createLayout({
|
|
49
|
+
name: 'Einfaches Layout',
|
|
50
|
+
description: 'Header + Content',
|
|
51
|
+
grid: {
|
|
52
|
+
areas: `
|
|
53
|
+
"header"
|
|
54
|
+
"content"
|
|
55
|
+
`,
|
|
56
|
+
columns: '1fr',
|
|
57
|
+
rows: 'auto 1fr',
|
|
58
|
+
gap: '0'
|
|
59
|
+
},
|
|
60
|
+
regions: {
|
|
61
|
+
header: {
|
|
62
|
+
name: 'Header',
|
|
63
|
+
gridArea: 'header',
|
|
64
|
+
blocks: [],
|
|
65
|
+
sticky: true
|
|
66
|
+
},
|
|
67
|
+
content: {
|
|
68
|
+
name: 'Hauptinhalt',
|
|
69
|
+
gridArea: 'content',
|
|
70
|
+
blocks: []
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
export function createTwoColumnLayout() {
|
|
76
|
+
return createLayout({
|
|
77
|
+
name: '2-Spalten Layout',
|
|
78
|
+
description: 'Header + Sidebar + Content',
|
|
79
|
+
grid: {
|
|
80
|
+
areas: `
|
|
81
|
+
"header header"
|
|
82
|
+
"sidebar content"
|
|
83
|
+
`,
|
|
84
|
+
columns: '280px 1fr',
|
|
85
|
+
rows: 'auto 1fr',
|
|
86
|
+
gap: '0'
|
|
87
|
+
},
|
|
88
|
+
regions: {
|
|
89
|
+
header: {
|
|
90
|
+
name: 'Header',
|
|
91
|
+
gridArea: 'header',
|
|
92
|
+
blocks: [],
|
|
93
|
+
sticky: true
|
|
94
|
+
},
|
|
95
|
+
sidebar: {
|
|
96
|
+
name: 'Sidebar',
|
|
97
|
+
gridArea: 'sidebar',
|
|
98
|
+
blocks: []
|
|
99
|
+
},
|
|
100
|
+
content: {
|
|
101
|
+
name: 'Hauptinhalt',
|
|
102
|
+
gridArea: 'content',
|
|
103
|
+
blocks: []
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
export function createThreeColumnLayout() {
|
|
109
|
+
return createLayout({
|
|
110
|
+
name: '3-Spalten Layout',
|
|
111
|
+
description: 'Header + Sidebar + Content + Aside',
|
|
112
|
+
grid: {
|
|
113
|
+
areas: `
|
|
114
|
+
"header header header"
|
|
115
|
+
"sidebar content aside"
|
|
116
|
+
`,
|
|
117
|
+
columns: '280px 1fr 300px',
|
|
118
|
+
rows: 'auto 1fr',
|
|
119
|
+
gap: '0'
|
|
120
|
+
},
|
|
121
|
+
regions: {
|
|
122
|
+
header: {
|
|
123
|
+
name: 'Header',
|
|
124
|
+
gridArea: 'header',
|
|
125
|
+
blocks: [],
|
|
126
|
+
sticky: true
|
|
127
|
+
},
|
|
128
|
+
sidebar: {
|
|
129
|
+
name: 'Linke Sidebar',
|
|
130
|
+
gridArea: 'sidebar',
|
|
131
|
+
blocks: []
|
|
132
|
+
},
|
|
133
|
+
content: {
|
|
134
|
+
name: 'Hauptinhalt',
|
|
135
|
+
gridArea: 'content',
|
|
136
|
+
blocks: []
|
|
137
|
+
},
|
|
138
|
+
aside: {
|
|
139
|
+
name: 'Rechte Sidebar',
|
|
140
|
+
gridArea: 'aside',
|
|
141
|
+
blocks: []
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
export function createFullWidthLayout() {
|
|
147
|
+
return createLayout({
|
|
148
|
+
name: 'Full-Width Layout',
|
|
149
|
+
description: 'Header + Content + Footer',
|
|
150
|
+
grid: {
|
|
151
|
+
areas: `
|
|
152
|
+
"header"
|
|
153
|
+
"content"
|
|
154
|
+
"footer"
|
|
155
|
+
`,
|
|
156
|
+
columns: '1fr',
|
|
157
|
+
rows: 'auto 1fr auto',
|
|
158
|
+
gap: '0'
|
|
159
|
+
},
|
|
160
|
+
regions: {
|
|
161
|
+
header: {
|
|
162
|
+
name: 'Header',
|
|
163
|
+
gridArea: 'header',
|
|
164
|
+
blocks: [],
|
|
165
|
+
sticky: true
|
|
166
|
+
},
|
|
167
|
+
content: {
|
|
168
|
+
name: 'Hauptinhalt',
|
|
169
|
+
gridArea: 'content',
|
|
170
|
+
blocks: []
|
|
171
|
+
},
|
|
172
|
+
footer: {
|
|
173
|
+
name: 'Footer',
|
|
174
|
+
gridArea: 'footer',
|
|
175
|
+
blocks: []
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@schneiderelli/cms-runtime",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
|
+
"description": "Content System Manager Runtime - Shared types and components for CMS editor and website framework",
|
|
4
5
|
"scripts": {
|
|
5
6
|
"dev": "vite dev",
|
|
6
7
|
"build": "vite build && npm run prepack",
|
package/dist/resolve.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import TextBlock from "./components/blocks/TextBlock.svelte";
|
|
2
|
-
import HeadingBlock from "./components/blocks/HeadingBlock.svelte";
|
|
3
|
-
import ImageBlock from "./components/blocks/ImageBlock.svelte";
|
|
4
|
-
export declare const BlockRegistry: {
|
|
5
|
-
text: import("svelte").Component<{
|
|
6
|
-
block: TextBlock;
|
|
7
|
-
}, {}, "">;
|
|
8
|
-
heading: import("svelte").Component<{
|
|
9
|
-
block: HeadingBlock;
|
|
10
|
-
}, {}, "">;
|
|
11
|
-
image: import("svelte").Component<{
|
|
12
|
-
block: ImageBlock;
|
|
13
|
-
}, {}, "">;
|
|
14
|
-
};
|
|
15
|
-
export declare const resolveBlockComponent: (block: any) => any;
|
package/dist/resolve.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import TextBlock from "./components/blocks/TextBlock.svelte";
|
|
2
|
-
import HeadingBlock from "./components/blocks/HeadingBlock.svelte";
|
|
3
|
-
import ImageBlock from "./components/blocks/ImageBlock.svelte";
|
|
4
|
-
export const BlockRegistry = {
|
|
5
|
-
text: TextBlock,
|
|
6
|
-
heading: HeadingBlock,
|
|
7
|
-
image: ImageBlock
|
|
8
|
-
};
|
|
9
|
-
export const resolveBlockComponent = (block) => {
|
|
10
|
-
const Component = BlockRegistry[block.type];
|
|
11
|
-
if (!Component) {
|
|
12
|
-
throw new Error(`Unknown block type: ${block.type}`);
|
|
13
|
-
}
|
|
14
|
-
return Component;
|
|
15
|
-
};
|