@kilivi/payloadcms-theme-management 0.3.1 → 0.3.3
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/fields/ColorPickerField.js +1 -1
- package/dist/fields/ColorPickerField.js.map +1 -1
- package/dist/fields/ThemeTokenSelectField.d.ts.map +1 -1
- package/dist/fields/ThemeTokenSelectField.js +1 -1
- package/dist/fields/ThemeTokenSelectField.js.map +1 -1
- package/dist/fields/themeConfigurationField.d.ts +3 -2
- package/dist/fields/themeConfigurationField.d.ts.map +1 -1
- package/dist/fields/themeConfigurationField.js +236 -274
- package/dist/fields/themeConfigurationField.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +61 -10
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/fields/ExtendedThemeAutoPopulateField.d.ts +0 -12
- package/dist/fields/ExtendedThemeAutoPopulateField.d.ts.map +0 -1
- package/dist/fields/ExtendedThemeAutoPopulateField.js +0 -176
- package/dist/fields/ExtendedThemeAutoPopulateField.js.map +0 -1
- package/dist/fields/RadiusField.d.ts +0 -3
- package/dist/fields/RadiusField.d.ts.map +0 -1
- package/dist/fields/RadiusField.js +0 -174
- package/dist/fields/RadiusField.js.map +0 -1
- package/dist/fields/ThemeLivePreview.css +0 -190
- package/dist/fields/ThemeLivePreview.d.ts +0 -3
- package/dist/fields/ThemeLivePreview.d.ts.map +0 -1
- package/dist/fields/ThemeLivePreview.js +0 -195
- package/dist/fields/ThemeLivePreview.js.map +0 -1
- package/dist/fields/VISUAL_EXAMPLES.d.ts +0 -153
- package/dist/fields/VISUAL_EXAMPLES.d.ts.map +0 -1
- package/dist/fields/VISUAL_EXAMPLES.js +0 -148
- package/dist/fields/VISUAL_EXAMPLES.js.map +0 -1
- package/dist/fields/extendedThemeFields.d.ts +0 -139
- package/dist/fields/extendedThemeFields.d.ts.map +0 -1
- package/dist/fields/extendedThemeFields.js +0 -489
- package/dist/fields/extendedThemeFields.js.map +0 -1
- package/dist/views/ThemePreviewLoader.d.ts +0 -7
- package/dist/views/ThemePreviewLoader.d.ts.map +0 -1
- package/dist/views/ThemePreviewLoader.js +0 -43
- package/dist/views/ThemePreviewLoader.js.map +0 -1
- package/dist/views/ThemePreviewView.d.ts +0 -10
- package/dist/views/ThemePreviewView.d.ts.map +0 -1
- package/dist/views/ThemePreviewView.js +0 -43
- package/dist/views/ThemePreviewView.js.map +0 -1
- package/dist/views/ThemePreviewViewClient.d.ts +0 -7
- package/dist/views/ThemePreviewViewClient.d.ts.map +0 -1
- package/dist/views/ThemePreviewViewClient.js +0 -12
- package/dist/views/ThemePreviewViewClient.js.map +0 -1
|
@@ -1,489 +0,0 @@
|
|
|
1
|
-
import { allExtendedThemePresets } from '../extended-presets.js';
|
|
2
|
-
/**
|
|
3
|
-
* Extended Theme Configuration Fields
|
|
4
|
-
* Full TweakCN-compatible theme system with:
|
|
5
|
-
* - All shadcn/ui color tokens (19 base + 5 chart = 24 color tokens)
|
|
6
|
-
* - Shadow controls (6 properties)
|
|
7
|
-
* - Font families (3 families: sans, serif, mono)
|
|
8
|
-
* - Advanced typography (letter-spacing, global spacing)
|
|
9
|
-
* - Professional color picker with live preview
|
|
10
|
-
*/ const extendedThemeOptions = Object.values(allExtendedThemePresets).map((preset)=>{
|
|
11
|
-
const primaryColor = preset.styles.light.primary;
|
|
12
|
-
const bgColor = preset.styles.light.background;
|
|
13
|
-
return {
|
|
14
|
-
label: preset.label,
|
|
15
|
-
value: preset.value,
|
|
16
|
-
// Add visual preview in the dropdown
|
|
17
|
-
__meta: {
|
|
18
|
-
primary: primaryColor,
|
|
19
|
-
background: bgColor
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
});
|
|
23
|
-
/**
|
|
24
|
-
* Creates professional OKLCH color field with enhanced UI
|
|
25
|
-
*/ function createColorField(name, label, description) {
|
|
26
|
-
return {
|
|
27
|
-
name,
|
|
28
|
-
type: 'text',
|
|
29
|
-
label,
|
|
30
|
-
admin: {
|
|
31
|
-
description,
|
|
32
|
-
placeholder: 'oklch(0.5 0.2 250) or #rgb or hsl(...)',
|
|
33
|
-
components: {
|
|
34
|
-
Field: '@kilivi/payloadcms-theme-management/fields/ThemeColorPickerField'
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Creates text field for non-color values (fonts, shadows, etc.)
|
|
41
|
-
*/ function createTextField(name, label, placeholder, description) {
|
|
42
|
-
return {
|
|
43
|
-
name,
|
|
44
|
-
type: 'text',
|
|
45
|
-
label,
|
|
46
|
-
admin: {
|
|
47
|
-
description,
|
|
48
|
-
placeholder
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Base Color Tokens (19 tokens)
|
|
54
|
-
* Required for all themes
|
|
55
|
-
*/ export const baseColorFields = [
|
|
56
|
-
createColorField('background', {
|
|
57
|
-
en: 'Background',
|
|
58
|
-
cs: 'Pozadí'
|
|
59
|
-
}, {
|
|
60
|
-
en: 'Main page background',
|
|
61
|
-
cs: 'Hlavní pozadí stránky'
|
|
62
|
-
}),
|
|
63
|
-
createColorField('foreground', {
|
|
64
|
-
en: 'Foreground',
|
|
65
|
-
cs: 'Popředí'
|
|
66
|
-
}, {
|
|
67
|
-
en: 'Primary text color',
|
|
68
|
-
cs: 'Primární barva textu'
|
|
69
|
-
}),
|
|
70
|
-
createColorField('card', {
|
|
71
|
-
en: 'Card',
|
|
72
|
-
cs: 'Karta'
|
|
73
|
-
}, {
|
|
74
|
-
en: 'Card background',
|
|
75
|
-
cs: 'Pozadí karty'
|
|
76
|
-
}),
|
|
77
|
-
createColorField('cardForeground', {
|
|
78
|
-
en: 'Card Foreground',
|
|
79
|
-
cs: 'Popředí karty'
|
|
80
|
-
}, {
|
|
81
|
-
en: 'Text on cards',
|
|
82
|
-
cs: 'Text na kartách'
|
|
83
|
-
}),
|
|
84
|
-
createColorField('popover', {
|
|
85
|
-
en: 'Popover',
|
|
86
|
-
cs: 'Vyskakovací okno'
|
|
87
|
-
}, {
|
|
88
|
-
en: 'Popover/dropdown background',
|
|
89
|
-
cs: 'Pozadí vyskakovacích oken'
|
|
90
|
-
}),
|
|
91
|
-
createColorField('popoverForeground', {
|
|
92
|
-
en: 'Popover Foreground',
|
|
93
|
-
cs: 'Popředí vyskakovacího okna'
|
|
94
|
-
}, {
|
|
95
|
-
en: 'Text in popovers',
|
|
96
|
-
cs: 'Text ve vyskakovacích oknech'
|
|
97
|
-
}),
|
|
98
|
-
createColorField('primary', {
|
|
99
|
-
en: 'Primary',
|
|
100
|
-
cs: 'Primární'
|
|
101
|
-
}, {
|
|
102
|
-
en: 'Primary brand color',
|
|
103
|
-
cs: 'Primární značková barva'
|
|
104
|
-
}),
|
|
105
|
-
createColorField('primaryForeground', {
|
|
106
|
-
en: 'Primary Foreground',
|
|
107
|
-
cs: 'Popředí primární'
|
|
108
|
-
}, {
|
|
109
|
-
en: 'Text on primary',
|
|
110
|
-
cs: 'Text na primární barvě'
|
|
111
|
-
}),
|
|
112
|
-
createColorField('secondary', {
|
|
113
|
-
en: 'Secondary',
|
|
114
|
-
cs: 'Sekundární'
|
|
115
|
-
}, {
|
|
116
|
-
en: 'Secondary accent',
|
|
117
|
-
cs: 'Sekundární akcent'
|
|
118
|
-
}),
|
|
119
|
-
createColorField('secondaryForeground', {
|
|
120
|
-
en: 'Secondary Foreground',
|
|
121
|
-
cs: 'Popředí sekundární'
|
|
122
|
-
}, {
|
|
123
|
-
en: 'Text on secondary',
|
|
124
|
-
cs: 'Text na sekundární'
|
|
125
|
-
}),
|
|
126
|
-
createColorField('muted', {
|
|
127
|
-
en: 'Muted',
|
|
128
|
-
cs: 'Tlumená'
|
|
129
|
-
}, {
|
|
130
|
-
en: 'Muted background',
|
|
131
|
-
cs: 'Tlumené pozadí'
|
|
132
|
-
}),
|
|
133
|
-
createColorField('mutedForeground', {
|
|
134
|
-
en: 'Muted Foreground',
|
|
135
|
-
cs: 'Popředí tlumené'
|
|
136
|
-
}, {
|
|
137
|
-
en: 'Muted text',
|
|
138
|
-
cs: 'Tlumený text'
|
|
139
|
-
}),
|
|
140
|
-
createColorField('accent', {
|
|
141
|
-
en: 'Accent',
|
|
142
|
-
cs: 'Akcentová'
|
|
143
|
-
}, {
|
|
144
|
-
en: 'Accent/hover color',
|
|
145
|
-
cs: 'Akcentová/hover barva'
|
|
146
|
-
}),
|
|
147
|
-
createColorField('accentForeground', {
|
|
148
|
-
en: 'Accent Foreground',
|
|
149
|
-
cs: 'Popředí akcentové'
|
|
150
|
-
}, {
|
|
151
|
-
en: 'Text on accent',
|
|
152
|
-
cs: 'Text na akcentové'
|
|
153
|
-
}),
|
|
154
|
-
createColorField('destructive', {
|
|
155
|
-
en: 'Destructive',
|
|
156
|
-
cs: 'Destruktivní'
|
|
157
|
-
}, {
|
|
158
|
-
en: 'Error/danger color',
|
|
159
|
-
cs: 'Barva chyby/nebezpečí'
|
|
160
|
-
}),
|
|
161
|
-
createColorField('destructiveForeground', {
|
|
162
|
-
en: 'Destructive Foreground',
|
|
163
|
-
cs: 'Popředí destruktivní'
|
|
164
|
-
}, {
|
|
165
|
-
en: 'Text on destructive',
|
|
166
|
-
cs: 'Text na destruktivní'
|
|
167
|
-
}),
|
|
168
|
-
createColorField('border', {
|
|
169
|
-
en: 'Border',
|
|
170
|
-
cs: 'Okraj'
|
|
171
|
-
}, {
|
|
172
|
-
en: 'Default border color',
|
|
173
|
-
cs: 'Výchozí barva okraje'
|
|
174
|
-
}),
|
|
175
|
-
createColorField('input', {
|
|
176
|
-
en: 'Input',
|
|
177
|
-
cs: 'Vstupní pole'
|
|
178
|
-
}, {
|
|
179
|
-
en: 'Input border color',
|
|
180
|
-
cs: 'Barva okraje vstupu'
|
|
181
|
-
}),
|
|
182
|
-
createColorField('ring', {
|
|
183
|
-
en: 'Ring',
|
|
184
|
-
cs: 'Zvýraznění'
|
|
185
|
-
}, {
|
|
186
|
-
en: 'Focus ring color',
|
|
187
|
-
cs: 'Barva zvýraznění focus'
|
|
188
|
-
})
|
|
189
|
-
];
|
|
190
|
-
/**
|
|
191
|
-
* Chart Colors (5 tokens)
|
|
192
|
-
* For data visualization
|
|
193
|
-
*/ export const chartColorFields = [
|
|
194
|
-
createColorField('chart1', {
|
|
195
|
-
en: 'Chart 1',
|
|
196
|
-
cs: 'Graf 1'
|
|
197
|
-
}, {
|
|
198
|
-
en: 'First chart color',
|
|
199
|
-
cs: 'První barva grafu'
|
|
200
|
-
}),
|
|
201
|
-
createColorField('chart2', {
|
|
202
|
-
en: 'Chart 2',
|
|
203
|
-
cs: 'Graf 2'
|
|
204
|
-
}, {
|
|
205
|
-
en: 'Second chart color',
|
|
206
|
-
cs: 'Druhá barva grafu'
|
|
207
|
-
}),
|
|
208
|
-
createColorField('chart3', {
|
|
209
|
-
en: 'Chart 3',
|
|
210
|
-
cs: 'Graf 3'
|
|
211
|
-
}, {
|
|
212
|
-
en: 'Third chart color',
|
|
213
|
-
cs: 'Třetí barva grafu'
|
|
214
|
-
}),
|
|
215
|
-
createColorField('chart4', {
|
|
216
|
-
en: 'Chart 4',
|
|
217
|
-
cs: 'Graf 4'
|
|
218
|
-
}, {
|
|
219
|
-
en: 'Fourth chart color',
|
|
220
|
-
cs: 'Čtvrtá barva grafu'
|
|
221
|
-
}),
|
|
222
|
-
createColorField('chart5', {
|
|
223
|
-
en: 'Chart 5',
|
|
224
|
-
cs: 'Graf 5'
|
|
225
|
-
}, {
|
|
226
|
-
en: 'Fifth chart color',
|
|
227
|
-
cs: 'Pátá barva grafu'
|
|
228
|
-
})
|
|
229
|
-
];
|
|
230
|
-
/**
|
|
231
|
-
* Shadow Controls (6 properties)
|
|
232
|
-
* TweakCN essential feature
|
|
233
|
-
*/ export const shadowFields = [
|
|
234
|
-
createColorField('shadowColor', {
|
|
235
|
-
en: 'Shadow Color',
|
|
236
|
-
cs: 'Barva stínu'
|
|
237
|
-
}, {
|
|
238
|
-
en: 'Base shadow color',
|
|
239
|
-
cs: 'Základní barva stínu'
|
|
240
|
-
}),
|
|
241
|
-
createTextField('shadowOpacity', {
|
|
242
|
-
en: 'Shadow Opacity',
|
|
243
|
-
cs: 'Průhlednost stínu'
|
|
244
|
-
}, '0.18', {
|
|
245
|
-
en: 'Shadow opacity (0-1)',
|
|
246
|
-
cs: 'Průhlednost stínu (0-1)'
|
|
247
|
-
}),
|
|
248
|
-
createTextField('shadowBlur', {
|
|
249
|
-
en: 'Shadow Blur',
|
|
250
|
-
cs: 'Rozmazání stínu'
|
|
251
|
-
}, '2px', {
|
|
252
|
-
en: 'Blur radius',
|
|
253
|
-
cs: 'Poloměr rozmazání'
|
|
254
|
-
}),
|
|
255
|
-
createTextField('shadowSpread', {
|
|
256
|
-
en: 'Shadow Spread',
|
|
257
|
-
cs: 'Rozprostření stínu'
|
|
258
|
-
}, '0px', {
|
|
259
|
-
en: 'Spread radius',
|
|
260
|
-
cs: 'Poloměr rozprostření'
|
|
261
|
-
}),
|
|
262
|
-
createTextField('shadowOffsetX', {
|
|
263
|
-
en: 'Shadow Offset X',
|
|
264
|
-
cs: 'Posun stínu X'
|
|
265
|
-
}, '0px', {
|
|
266
|
-
en: 'Horizontal offset',
|
|
267
|
-
cs: 'Horizontální posun'
|
|
268
|
-
}),
|
|
269
|
-
createTextField('shadowOffsetY', {
|
|
270
|
-
en: 'Shadow Offset Y',
|
|
271
|
-
cs: 'Posun stínu Y'
|
|
272
|
-
}, '1px', {
|
|
273
|
-
en: 'Vertical offset',
|
|
274
|
-
cs: 'Vertikální posun'
|
|
275
|
-
})
|
|
276
|
-
];
|
|
277
|
-
/**
|
|
278
|
-
* Font Family Configuration (3 families)
|
|
279
|
-
* TweakCN essential feature
|
|
280
|
-
*/ export const fontFamilyFields = [
|
|
281
|
-
createTextField('fontSans', {
|
|
282
|
-
en: 'Sans-Serif Font',
|
|
283
|
-
cs: 'Bezpatkové písmo'
|
|
284
|
-
}, 'Inter, system-ui, sans-serif', {
|
|
285
|
-
en: 'Primary sans-serif font stack',
|
|
286
|
-
cs: 'Primární bezpatkové písmo'
|
|
287
|
-
}),
|
|
288
|
-
createTextField('fontSerif', {
|
|
289
|
-
en: 'Serif Font',
|
|
290
|
-
cs: 'Patkové písmo'
|
|
291
|
-
}, 'Georgia, serif', {
|
|
292
|
-
en: 'Serif font stack',
|
|
293
|
-
cs: 'Patkové písmo'
|
|
294
|
-
}),
|
|
295
|
-
createTextField('fontMono', {
|
|
296
|
-
en: 'Monospace Font',
|
|
297
|
-
cs: 'Monospace písmo'
|
|
298
|
-
}, 'JetBrains Mono, monospace', {
|
|
299
|
-
en: 'Monospace font stack',
|
|
300
|
-
cs: 'Monospace písmo'
|
|
301
|
-
})
|
|
302
|
-
];
|
|
303
|
-
/**
|
|
304
|
-
* Advanced Typography (2 properties)
|
|
305
|
-
*/ export const advancedTypographyFields = [
|
|
306
|
-
createTextField('letterSpacing', {
|
|
307
|
-
en: 'Letter Spacing',
|
|
308
|
-
cs: 'Rozestup písmen'
|
|
309
|
-
}, '0em', {
|
|
310
|
-
en: 'Global letter spacing',
|
|
311
|
-
cs: 'Globální rozestup písmen'
|
|
312
|
-
}),
|
|
313
|
-
createTextField('spacing', {
|
|
314
|
-
en: 'Spacing Scale',
|
|
315
|
-
cs: 'Škála rozestupů'
|
|
316
|
-
}, '0.25rem', {
|
|
317
|
-
en: 'Base spacing unit',
|
|
318
|
-
cs: 'Základní jednotka rozestupu'
|
|
319
|
-
})
|
|
320
|
-
];
|
|
321
|
-
/**
|
|
322
|
-
* Border Radius Configuration
|
|
323
|
-
*/ export const designSystemFields = [
|
|
324
|
-
createTextField('radius', {
|
|
325
|
-
en: 'Border Radius',
|
|
326
|
-
cs: 'Zaoblení rohů'
|
|
327
|
-
}, '0.5rem', {
|
|
328
|
-
en: 'Default border radius',
|
|
329
|
-
cs: 'Výchozí zaoblení rohů'
|
|
330
|
-
})
|
|
331
|
-
];
|
|
332
|
-
/**
|
|
333
|
-
* Extended Theme Selection Field with Visual Preview and Auto-Population
|
|
334
|
-
* Automatically fills all color fields when a theme is selected
|
|
335
|
-
*/ export const extendedThemeSelectionField = {
|
|
336
|
-
name: 'extendedTheme',
|
|
337
|
-
type: 'select',
|
|
338
|
-
label: {
|
|
339
|
-
en: '🎨 Theme Preset',
|
|
340
|
-
cs: '🎨 Přednastavené téma'
|
|
341
|
-
},
|
|
342
|
-
defaultValue: 'cool-extended',
|
|
343
|
-
options: extendedThemeOptions,
|
|
344
|
-
admin: {
|
|
345
|
-
description: {
|
|
346
|
-
en: 'Select a professional theme with full OKLCH color support (TweakCN compatible). All colors will be auto-populated.',
|
|
347
|
-
cs: 'Vyberte profesionální téma s plnou podporou OKLCH barev (kompatibilní s TweakCN). Všechny barvy budou automaticky vyplněny.'
|
|
348
|
-
},
|
|
349
|
-
components: {
|
|
350
|
-
Field: '@kilivi/payloadcms-theme-management/fields/ExtendedThemeAutoPopulateField'
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
};
|
|
354
|
-
/**
|
|
355
|
-
* Unified Light Mode Configuration
|
|
356
|
-
* Combines all color tokens in one place
|
|
357
|
-
*/ export const lightModeColorsField = {
|
|
358
|
-
type: 'collapsible',
|
|
359
|
-
label: {
|
|
360
|
-
en: '☀️ Light Mode Colors',
|
|
361
|
-
cs: '☀️ Barvy světlého režimu'
|
|
362
|
-
},
|
|
363
|
-
admin: {
|
|
364
|
-
initCollapsed: true,
|
|
365
|
-
description: {
|
|
366
|
-
en: 'Complete color configuration for light mode',
|
|
367
|
-
cs: 'Kompletní konfigurace barev pro světlý režim'
|
|
368
|
-
}
|
|
369
|
-
},
|
|
370
|
-
fields: [
|
|
371
|
-
{
|
|
372
|
-
name: 'extendedLightMode',
|
|
373
|
-
type: 'group',
|
|
374
|
-
fields: [
|
|
375
|
-
...baseColorFields,
|
|
376
|
-
...chartColorFields
|
|
377
|
-
]
|
|
378
|
-
}
|
|
379
|
-
]
|
|
380
|
-
};
|
|
381
|
-
/**
|
|
382
|
-
* Unified Dark Mode Configuration
|
|
383
|
-
*/ export const darkModeColorsField = {
|
|
384
|
-
type: 'collapsible',
|
|
385
|
-
label: {
|
|
386
|
-
en: '🌙 Dark Mode Colors',
|
|
387
|
-
cs: '🌙 Barvy tmavého režimu'
|
|
388
|
-
},
|
|
389
|
-
admin: {
|
|
390
|
-
initCollapsed: true,
|
|
391
|
-
description: {
|
|
392
|
-
en: 'Complete color configuration for dark mode',
|
|
393
|
-
cs: 'Kompletní konfigurace barev pro tmavý režim'
|
|
394
|
-
}
|
|
395
|
-
},
|
|
396
|
-
fields: [
|
|
397
|
-
{
|
|
398
|
-
name: 'extendedDarkMode',
|
|
399
|
-
type: 'group',
|
|
400
|
-
fields: [
|
|
401
|
-
...baseColorFields,
|
|
402
|
-
...chartColorFields
|
|
403
|
-
]
|
|
404
|
-
}
|
|
405
|
-
]
|
|
406
|
-
};
|
|
407
|
-
/**
|
|
408
|
-
* Shadow Configuration Section
|
|
409
|
-
*/ export const shadowConfigField = {
|
|
410
|
-
type: 'collapsible',
|
|
411
|
-
label: {
|
|
412
|
-
en: '🌓 Shadows & Elevation',
|
|
413
|
-
cs: '🌓 Stíny a výška'
|
|
414
|
-
},
|
|
415
|
-
admin: {
|
|
416
|
-
initCollapsed: true,
|
|
417
|
-
description: {
|
|
418
|
-
en: 'Configure shadow system for depth and elevation',
|
|
419
|
-
cs: 'Nakonfigurujte systém stínů pro hloubku a výšku'
|
|
420
|
-
}
|
|
421
|
-
},
|
|
422
|
-
fields: [
|
|
423
|
-
{
|
|
424
|
-
name: 'shadows',
|
|
425
|
-
type: 'group',
|
|
426
|
-
fields: shadowFields
|
|
427
|
-
}
|
|
428
|
-
]
|
|
429
|
-
};
|
|
430
|
-
/**
|
|
431
|
-
* Typography Configuration Section
|
|
432
|
-
*/ export const typographyConfigField = {
|
|
433
|
-
type: 'collapsible',
|
|
434
|
-
label: {
|
|
435
|
-
en: '� Typography',
|
|
436
|
-
cs: '� Typografie'
|
|
437
|
-
},
|
|
438
|
-
admin: {
|
|
439
|
-
initCollapsed: true,
|
|
440
|
-
description: {
|
|
441
|
-
en: 'Font families and advanced typography settings',
|
|
442
|
-
cs: 'Rodiny písem a pokročilá nastavení typografie'
|
|
443
|
-
}
|
|
444
|
-
},
|
|
445
|
-
fields: [
|
|
446
|
-
{
|
|
447
|
-
name: 'typography',
|
|
448
|
-
type: 'group',
|
|
449
|
-
fields: [
|
|
450
|
-
...fontFamilyFields,
|
|
451
|
-
...advancedTypographyFields
|
|
452
|
-
]
|
|
453
|
-
}
|
|
454
|
-
]
|
|
455
|
-
};
|
|
456
|
-
/**
|
|
457
|
-
* Design System Configuration
|
|
458
|
-
*/ export const designSystemConfigField = {
|
|
459
|
-
type: 'collapsible',
|
|
460
|
-
label: {
|
|
461
|
-
en: '⚙️ Design System',
|
|
462
|
-
cs: '⚙️ Designový systém'
|
|
463
|
-
},
|
|
464
|
-
admin: {
|
|
465
|
-
initCollapsed: true,
|
|
466
|
-
description: {
|
|
467
|
-
en: 'Global design tokens (radius, spacing, etc.)',
|
|
468
|
-
cs: 'Globální design tokeny (zaoblení, rozestupy, atd.)'
|
|
469
|
-
}
|
|
470
|
-
},
|
|
471
|
-
fields: [
|
|
472
|
-
{
|
|
473
|
-
name: 'designSystem',
|
|
474
|
-
type: 'group',
|
|
475
|
-
fields: designSystemFields
|
|
476
|
-
}
|
|
477
|
-
]
|
|
478
|
-
};
|
|
479
|
-
// DEPRECATED: Old fields kept for backwards compatibility
|
|
480
|
-
// TODO: Remove in v1.0.0
|
|
481
|
-
export const extendedLightModeField = lightModeColorsField;
|
|
482
|
-
export const extendedDarkModeField = darkModeColorsField;
|
|
483
|
-
export const chartColorsField = {
|
|
484
|
-
type: 'group',
|
|
485
|
-
name: 'chartColors',
|
|
486
|
-
fields: chartColorFields
|
|
487
|
-
};
|
|
488
|
-
|
|
489
|
-
//# sourceMappingURL=extendedThemeFields.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/fields/extendedThemeFields.ts"],"sourcesContent":["import type { Field } from 'payload'\nimport { allExtendedThemePresets } from '../extended-presets.js'\n\n/**\n * Extended Theme Configuration Fields\n * Full TweakCN-compatible theme system with:\n * - All shadcn/ui color tokens (19 base + 5 chart = 24 color tokens)\n * - Shadow controls (6 properties)\n * - Font families (3 families: sans, serif, mono)\n * - Advanced typography (letter-spacing, global spacing)\n * - Professional color picker with live preview\n */\n\nconst extendedThemeOptions = Object.values(allExtendedThemePresets).map((preset) => {\n const primaryColor = preset.styles.light.primary\n const bgColor = preset.styles.light.background\n\n return {\n label: preset.label,\n value: preset.value,\n // Add visual preview in the dropdown\n __meta: {\n primary: primaryColor,\n background: bgColor,\n },\n }\n})\n\n/**\n * Creates professional OKLCH color field with enhanced UI\n */\nfunction createColorField(\n name: string,\n label: { en: string; cs: string },\n description?: { en: string; cs: string },\n): Field {\n return {\n name,\n type: 'text',\n label,\n admin: {\n description,\n placeholder: 'oklch(0.5 0.2 250) or #rgb or hsl(...)',\n components: {\n Field: '@kilivi/payloadcms-theme-management/fields/ThemeColorPickerField',\n },\n },\n }\n}\n\n/**\n * Creates text field for non-color values (fonts, shadows, etc.)\n */\nfunction createTextField(\n name: string,\n label: { en: string; cs: string },\n placeholder: string,\n description?: { en: string; cs: string },\n): Field {\n return {\n name,\n type: 'text',\n label,\n admin: {\n description,\n placeholder,\n },\n }\n}\n\n/**\n * Base Color Tokens (19 tokens)\n * Required for all themes\n */\nexport const baseColorFields: Field[] = [\n createColorField(\n 'background',\n { en: 'Background', cs: 'Pozadí' },\n { en: 'Main page background', cs: 'Hlavní pozadí stránky' },\n ),\n createColorField(\n 'foreground',\n { en: 'Foreground', cs: 'Popředí' },\n { en: 'Primary text color', cs: 'Primární barva textu' },\n ),\n createColorField(\n 'card',\n { en: 'Card', cs: 'Karta' },\n { en: 'Card background', cs: 'Pozadí karty' },\n ),\n createColorField(\n 'cardForeground',\n { en: 'Card Foreground', cs: 'Popředí karty' },\n { en: 'Text on cards', cs: 'Text na kartách' },\n ),\n createColorField(\n 'popover',\n { en: 'Popover', cs: 'Vyskakovací okno' },\n { en: 'Popover/dropdown background', cs: 'Pozadí vyskakovacích oken' },\n ),\n createColorField(\n 'popoverForeground',\n { en: 'Popover Foreground', cs: 'Popředí vyskakovacího okna' },\n { en: 'Text in popovers', cs: 'Text ve vyskakovacích oknech' },\n ),\n createColorField(\n 'primary',\n { en: 'Primary', cs: 'Primární' },\n { en: 'Primary brand color', cs: 'Primární značková barva' },\n ),\n createColorField(\n 'primaryForeground',\n { en: 'Primary Foreground', cs: 'Popředí primární' },\n { en: 'Text on primary', cs: 'Text na primární barvě' },\n ),\n createColorField(\n 'secondary',\n { en: 'Secondary', cs: 'Sekundární' },\n { en: 'Secondary accent', cs: 'Sekundární akcent' },\n ),\n createColorField(\n 'secondaryForeground',\n { en: 'Secondary Foreground', cs: 'Popředí sekundární' },\n { en: 'Text on secondary', cs: 'Text na sekundární' },\n ),\n createColorField(\n 'muted',\n { en: 'Muted', cs: 'Tlumená' },\n { en: 'Muted background', cs: 'Tlumené pozadí' },\n ),\n createColorField(\n 'mutedForeground',\n { en: 'Muted Foreground', cs: 'Popředí tlumené' },\n { en: 'Muted text', cs: 'Tlumený text' },\n ),\n createColorField(\n 'accent',\n { en: 'Accent', cs: 'Akcentová' },\n { en: 'Accent/hover color', cs: 'Akcentová/hover barva' },\n ),\n createColorField(\n 'accentForeground',\n { en: 'Accent Foreground', cs: 'Popředí akcentové' },\n { en: 'Text on accent', cs: 'Text na akcentové' },\n ),\n createColorField(\n 'destructive',\n { en: 'Destructive', cs: 'Destruktivní' },\n { en: 'Error/danger color', cs: 'Barva chyby/nebezpečí' },\n ),\n createColorField(\n 'destructiveForeground',\n { en: 'Destructive Foreground', cs: 'Popředí destruktivní' },\n { en: 'Text on destructive', cs: 'Text na destruktivní' },\n ),\n createColorField(\n 'border',\n { en: 'Border', cs: 'Okraj' },\n { en: 'Default border color', cs: 'Výchozí barva okraje' },\n ),\n createColorField(\n 'input',\n { en: 'Input', cs: 'Vstupní pole' },\n { en: 'Input border color', cs: 'Barva okraje vstupu' },\n ),\n createColorField(\n 'ring',\n { en: 'Ring', cs: 'Zvýraznění' },\n { en: 'Focus ring color', cs: 'Barva zvýraznění focus' },\n ),\n]\n\n/**\n * Chart Colors (5 tokens)\n * For data visualization\n */\nexport const chartColorFields: Field[] = [\n createColorField(\n 'chart1',\n { en: 'Chart 1', cs: 'Graf 1' },\n { en: 'First chart color', cs: 'První barva grafu' },\n ),\n createColorField(\n 'chart2',\n { en: 'Chart 2', cs: 'Graf 2' },\n { en: 'Second chart color', cs: 'Druhá barva grafu' },\n ),\n createColorField(\n 'chart3',\n { en: 'Chart 3', cs: 'Graf 3' },\n { en: 'Third chart color', cs: 'Třetí barva grafu' },\n ),\n createColorField(\n 'chart4',\n { en: 'Chart 4', cs: 'Graf 4' },\n { en: 'Fourth chart color', cs: 'Čtvrtá barva grafu' },\n ),\n createColorField(\n 'chart5',\n { en: 'Chart 5', cs: 'Graf 5' },\n { en: 'Fifth chart color', cs: 'Pátá barva grafu' },\n ),\n]\n\n/**\n * Shadow Controls (6 properties)\n * TweakCN essential feature\n */\nexport const shadowFields: Field[] = [\n createColorField(\n 'shadowColor',\n { en: 'Shadow Color', cs: 'Barva stínu' },\n { en: 'Base shadow color', cs: 'Základní barva stínu' },\n ),\n createTextField('shadowOpacity', { en: 'Shadow Opacity', cs: 'Průhlednost stínu' }, '0.18', {\n en: 'Shadow opacity (0-1)',\n cs: 'Průhlednost stínu (0-1)',\n }),\n createTextField('shadowBlur', { en: 'Shadow Blur', cs: 'Rozmazání stínu' }, '2px', {\n en: 'Blur radius',\n cs: 'Poloměr rozmazání',\n }),\n createTextField('shadowSpread', { en: 'Shadow Spread', cs: 'Rozprostření stínu' }, '0px', {\n en: 'Spread radius',\n cs: 'Poloměr rozprostření',\n }),\n createTextField('shadowOffsetX', { en: 'Shadow Offset X', cs: 'Posun stínu X' }, '0px', {\n en: 'Horizontal offset',\n cs: 'Horizontální posun',\n }),\n createTextField('shadowOffsetY', { en: 'Shadow Offset Y', cs: 'Posun stínu Y' }, '1px', {\n en: 'Vertical offset',\n cs: 'Vertikální posun',\n }),\n]\n\n/**\n * Font Family Configuration (3 families)\n * TweakCN essential feature\n */\nexport const fontFamilyFields: Field[] = [\n createTextField(\n 'fontSans',\n { en: 'Sans-Serif Font', cs: 'Bezpatkové písmo' },\n 'Inter, system-ui, sans-serif',\n { en: 'Primary sans-serif font stack', cs: 'Primární bezpatkové písmo' },\n ),\n createTextField('fontSerif', { en: 'Serif Font', cs: 'Patkové písmo' }, 'Georgia, serif', {\n en: 'Serif font stack',\n cs: 'Patkové písmo',\n }),\n createTextField(\n 'fontMono',\n { en: 'Monospace Font', cs: 'Monospace písmo' },\n 'JetBrains Mono, monospace',\n { en: 'Monospace font stack', cs: 'Monospace písmo' },\n ),\n]\n\n/**\n * Advanced Typography (2 properties)\n */\nexport const advancedTypographyFields: Field[] = [\n createTextField('letterSpacing', { en: 'Letter Spacing', cs: 'Rozestup písmen' }, '0em', {\n en: 'Global letter spacing',\n cs: 'Globální rozestup písmen',\n }),\n createTextField('spacing', { en: 'Spacing Scale', cs: 'Škála rozestupů' }, '0.25rem', {\n en: 'Base spacing unit',\n cs: 'Základní jednotka rozestupu',\n }),\n]\n\n/**\n * Border Radius Configuration\n */\nexport const designSystemFields: Field[] = [\n createTextField('radius', { en: 'Border Radius', cs: 'Zaoblení rohů' }, '0.5rem', {\n en: 'Default border radius',\n cs: 'Výchozí zaoblení rohů',\n }),\n]\n\n/**\n * Extended Theme Selection Field with Visual Preview and Auto-Population\n * Automatically fills all color fields when a theme is selected\n */\nexport const extendedThemeSelectionField: Field = {\n name: 'extendedTheme',\n type: 'select',\n label: {\n en: '🎨 Theme Preset',\n cs: '🎨 Přednastavené téma',\n },\n defaultValue: 'cool-extended',\n options: extendedThemeOptions,\n admin: {\n description: {\n en: 'Select a professional theme with full OKLCH color support (TweakCN compatible). All colors will be auto-populated.',\n cs: 'Vyberte profesionální téma s plnou podporou OKLCH barev (kompatibilní s TweakCN). Všechny barvy budou automaticky vyplněny.',\n },\n components: {\n Field: '@kilivi/payloadcms-theme-management/fields/ExtendedThemeAutoPopulateField',\n },\n },\n}\n\n/**\n * Unified Light Mode Configuration\n * Combines all color tokens in one place\n */\nexport const lightModeColorsField: Field = {\n type: 'collapsible',\n label: {\n en: '☀️ Light Mode Colors',\n cs: '☀️ Barvy světlého režimu',\n },\n admin: {\n initCollapsed: true,\n description: {\n en: 'Complete color configuration for light mode',\n cs: 'Kompletní konfigurace barev pro světlý režim',\n },\n },\n fields: [\n {\n name: 'extendedLightMode',\n type: 'group',\n fields: [...baseColorFields, ...chartColorFields],\n },\n ],\n}\n\n/**\n * Unified Dark Mode Configuration\n */\nexport const darkModeColorsField: Field = {\n type: 'collapsible',\n label: {\n en: '🌙 Dark Mode Colors',\n cs: '🌙 Barvy tmavého režimu',\n },\n admin: {\n initCollapsed: true,\n description: {\n en: 'Complete color configuration for dark mode',\n cs: 'Kompletní konfigurace barev pro tmavý režim',\n },\n },\n fields: [\n {\n name: 'extendedDarkMode',\n type: 'group',\n fields: [...baseColorFields, ...chartColorFields],\n },\n ],\n}\n\n/**\n * Shadow Configuration Section\n */\nexport const shadowConfigField: Field = {\n type: 'collapsible',\n label: {\n en: '🌓 Shadows & Elevation',\n cs: '🌓 Stíny a výška',\n },\n admin: {\n initCollapsed: true,\n description: {\n en: 'Configure shadow system for depth and elevation',\n cs: 'Nakonfigurujte systém stínů pro hloubku a výšku',\n },\n },\n fields: [\n {\n name: 'shadows',\n type: 'group',\n fields: shadowFields,\n },\n ],\n}\n\n/**\n * Typography Configuration Section\n */\nexport const typographyConfigField: Field = {\n type: 'collapsible',\n label: {\n en: '� Typography',\n cs: '� Typografie',\n },\n admin: {\n initCollapsed: true,\n description: {\n en: 'Font families and advanced typography settings',\n cs: 'Rodiny písem a pokročilá nastavení typografie',\n },\n },\n fields: [\n {\n name: 'typography',\n type: 'group',\n fields: [...fontFamilyFields, ...advancedTypographyFields],\n },\n ],\n}\n\n/**\n * Design System Configuration\n */\nexport const designSystemConfigField: Field = {\n type: 'collapsible',\n label: {\n en: '⚙️ Design System',\n cs: '⚙️ Designový systém',\n },\n admin: {\n initCollapsed: true,\n description: {\n en: 'Global design tokens (radius, spacing, etc.)',\n cs: 'Globální design tokeny (zaoblení, rozestupy, atd.)',\n },\n },\n fields: [\n {\n name: 'designSystem',\n type: 'group',\n fields: designSystemFields,\n },\n ],\n}\n\n// DEPRECATED: Old fields kept for backwards compatibility\n// TODO: Remove in v1.0.0\nexport const extendedLightModeField = lightModeColorsField\nexport const extendedDarkModeField = darkModeColorsField\nexport const chartColorsField = {\n type: 'group',\n name: 'chartColors',\n fields: chartColorFields,\n} as Field\n"],"names":["allExtendedThemePresets","extendedThemeOptions","Object","values","map","preset","primaryColor","styles","light","primary","bgColor","background","label","value","__meta","createColorField","name","description","type","admin","placeholder","components","Field","createTextField","baseColorFields","en","cs","chartColorFields","shadowFields","fontFamilyFields","advancedTypographyFields","designSystemFields","extendedThemeSelectionField","defaultValue","options","lightModeColorsField","initCollapsed","fields","darkModeColorsField","shadowConfigField","typographyConfigField","designSystemConfigField","extendedLightModeField","extendedDarkModeField","chartColorsField"],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Theme Preview Loader - Client Component
|
|
3
|
-
* Dynamically loads the ThemeLivePreview component to avoid CSS issues during generate:importmap
|
|
4
|
-
*/
|
|
5
|
-
import React from 'react';
|
|
6
|
-
export declare function ThemePreviewLoader(): React.JSX.Element;
|
|
7
|
-
//# sourceMappingURL=ThemePreviewLoader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ThemePreviewLoader.d.ts","sourceRoot":"","sources":["../../src/views/ThemePreviewLoader.tsx"],"names":[],"mappings":"AAEA;;;GAGG;AACH,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,wBAAgB,kBAAkB,sBAiCjC"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
/**
|
|
4
|
-
* Theme Preview Loader - Client Component
|
|
5
|
-
* Dynamically loads the ThemeLivePreview component to avoid CSS issues during generate:importmap
|
|
6
|
-
*/ import React, { useEffect, useState } from 'react';
|
|
7
|
-
export function ThemePreviewLoader() {
|
|
8
|
-
const [PreviewComponent, setPreviewComponent] = useState(null);
|
|
9
|
-
const [error, setError] = useState(null);
|
|
10
|
-
useEffect(()=>{
|
|
11
|
-
// Dynamically import the preview component only in browser
|
|
12
|
-
import('../fields/ThemeLivePreview.js').then((mod)=>{
|
|
13
|
-
setPreviewComponent(()=>mod.ThemeLivePreview);
|
|
14
|
-
}).catch((err)=>{
|
|
15
|
-
console.error('Failed to load theme preview:', err);
|
|
16
|
-
setError('Failed to load theme preview component');
|
|
17
|
-
});
|
|
18
|
-
}, []);
|
|
19
|
-
if (error) {
|
|
20
|
-
return /*#__PURE__*/ _jsx("div", {
|
|
21
|
-
style: {
|
|
22
|
-
padding: '2rem',
|
|
23
|
-
color: 'var(--theme-error)'
|
|
24
|
-
},
|
|
25
|
-
children: /*#__PURE__*/ _jsx("p", {
|
|
26
|
-
children: error
|
|
27
|
-
})
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
if (!PreviewComponent) {
|
|
31
|
-
return /*#__PURE__*/ _jsx("div", {
|
|
32
|
-
style: {
|
|
33
|
-
padding: '2rem'
|
|
34
|
-
},
|
|
35
|
-
children: /*#__PURE__*/ _jsx("p", {
|
|
36
|
-
children: "Loading theme preview..."
|
|
37
|
-
})
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
return /*#__PURE__*/ _jsx(PreviewComponent, {});
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
//# sourceMappingURL=ThemePreviewLoader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/views/ThemePreviewLoader.tsx"],"sourcesContent":["'use client'\n\n/**\n * Theme Preview Loader - Client Component\n * Dynamically loads the ThemeLivePreview component to avoid CSS issues during generate:importmap\n */\nimport React, { useEffect, useState } from 'react'\n\nexport function ThemePreviewLoader() {\n const [PreviewComponent, setPreviewComponent] = useState<React.ComponentType | null>(null)\n const [error, setError] = useState<string | null>(null)\n\n useEffect(() => {\n // Dynamically import the preview component only in browser\n import('../fields/ThemeLivePreview.js')\n .then((mod) => {\n setPreviewComponent(() => mod.ThemeLivePreview)\n })\n .catch((err) => {\n console.error('Failed to load theme preview:', err)\n setError('Failed to load theme preview component')\n })\n }, [])\n\n if (error) {\n return (\n <div style={{ padding: '2rem', color: 'var(--theme-error)' }}>\n <p>{error}</p>\n </div>\n )\n }\n\n if (!PreviewComponent) {\n return (\n <div style={{ padding: '2rem' }}>\n <p>Loading theme preview...</p>\n </div>\n )\n }\n\n return <PreviewComponent />\n}\n"],"names":["React","useEffect","useState","ThemePreviewLoader","PreviewComponent","setPreviewComponent","error","setError","then","mod","ThemeLivePreview","catch","err","console","div","style","padding","color","p"],"mappings":"AAAA;;AAEA;;;CAGC,GACD,OAAOA,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAElD,OAAO,SAASC;IACd,MAAM,CAACC,kBAAkBC,oBAAoB,GAAGH,SAAqC;IACrF,MAAM,CAACI,OAAOC,SAAS,GAAGL,SAAwB;IAElDD,UAAU;QACR,2DAA2D;QAC3D,MAAM,CAAC,iCACJO,IAAI,CAAC,CAACC;YACLJ,oBAAoB,IAAMI,IAAIC,gBAAgB;QAChD,GACCC,KAAK,CAAC,CAACC;YACNC,QAAQP,KAAK,CAAC,iCAAiCM;YAC/CL,SAAS;QACX;IACJ,GAAG,EAAE;IAEL,IAAID,OAAO;QACT,qBACE,KAACQ;YAAIC,OAAO;gBAAEC,SAAS;gBAAQC,OAAO;YAAqB;sBACzD,cAAA,KAACC;0BAAGZ;;;IAGV;IAEA,IAAI,CAACF,kBAAkB;QACrB,qBACE,KAACU;YAAIC,OAAO;gBAAEC,SAAS;YAAO;sBAC5B,cAAA,KAACE;0BAAE;;;IAGT;IAEA,qBAAO,KAACd;AACV"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Theme Preview View - Server Component
|
|
3
|
-
* Custom admin view for live theme preview
|
|
4
|
-
*
|
|
5
|
-
* Uses ThemePreviewLoader which dynamically imports client components
|
|
6
|
-
* This prevents CSS imports from breaking generate:importmap
|
|
7
|
-
*/
|
|
8
|
-
import React from 'react';
|
|
9
|
-
export default function ThemePreviewView(): Promise<React.JSX.Element>;
|
|
10
|
-
//# sourceMappingURL=ThemePreviewView.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ThemePreviewView.d.ts","sourceRoot":"","sources":["../../src/views/ThemePreviewView.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,wBAA8B,gBAAgB,+BAiB7C"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Theme Preview View - Server Component
|
|
3
|
-
* Custom admin view for live theme preview
|
|
4
|
-
*
|
|
5
|
-
* Uses ThemePreviewLoader which dynamically imports client components
|
|
6
|
-
* This prevents CSS imports from breaking generate:importmap
|
|
7
|
-
*/ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
-
import { Gutter } from '@payloadcms/ui';
|
|
9
|
-
import React from 'react';
|
|
10
|
-
import { ThemePreviewLoader } from './ThemePreviewLoader.js';
|
|
11
|
-
export default async function ThemePreviewView() {
|
|
12
|
-
const AdminGutter = Gutter;
|
|
13
|
-
return /*#__PURE__*/ _jsx("div", {
|
|
14
|
-
className: "payload-admin-view",
|
|
15
|
-
children: /*#__PURE__*/ _jsxs(AdminGutter, {
|
|
16
|
-
children: [
|
|
17
|
-
/*#__PURE__*/ _jsxs("div", {
|
|
18
|
-
style: {
|
|
19
|
-
marginBottom: '2rem'
|
|
20
|
-
},
|
|
21
|
-
children: [
|
|
22
|
-
/*#__PURE__*/ _jsx("h1", {
|
|
23
|
-
style: {
|
|
24
|
-
marginBottom: '0.5rem'
|
|
25
|
-
},
|
|
26
|
-
children: "🎨 Theme Preview"
|
|
27
|
-
}),
|
|
28
|
-
/*#__PURE__*/ _jsx("p", {
|
|
29
|
-
style: {
|
|
30
|
-
color: 'var(--theme-elevation-500)',
|
|
31
|
-
margin: 0
|
|
32
|
-
},
|
|
33
|
-
children: "Real-time preview of your theme configuration. Changes are reflected instantly as you edit theme settings."
|
|
34
|
-
})
|
|
35
|
-
]
|
|
36
|
-
}),
|
|
37
|
-
/*#__PURE__*/ _jsx(ThemePreviewLoader, {})
|
|
38
|
-
]
|
|
39
|
-
})
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
//# sourceMappingURL=ThemePreviewView.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/views/ThemePreviewView.tsx"],"sourcesContent":["/**\n * Theme Preview View - Server Component\n * Custom admin view for live theme preview\n *\n * Uses ThemePreviewLoader which dynamically imports client components\n * This prevents CSS imports from breaking generate:importmap\n */\n\nimport { Gutter } from '@payloadcms/ui'\nimport React from 'react'\nimport { ThemePreviewLoader } from './ThemePreviewLoader.js'\n\nexport default async function ThemePreviewView() {\n const AdminGutter = Gutter as unknown as React.ComponentType<React.PropsWithChildren<unknown>>\n\n return (\n <div className=\"payload-admin-view\">\n <AdminGutter>\n <div style={{ marginBottom: '2rem' }}>\n <h1 style={{ marginBottom: '0.5rem' }}>🎨 Theme Preview</h1>\n <p style={{ color: 'var(--theme-elevation-500)', margin: 0 }}>\n Real-time preview of your theme configuration. Changes are reflected instantly as you\n edit theme settings.\n </p>\n </div>\n <ThemePreviewLoader />\n </AdminGutter>\n </div>\n )\n}\n"],"names":["Gutter","React","ThemePreviewLoader","ThemePreviewView","AdminGutter","div","className","style","marginBottom","h1","p","color","margin"],"mappings":"AAAA;;;;;;CAMC;AAED,SAASA,MAAM,QAAQ,iBAAgB;AACvC,OAAOC,WAAW,QAAO;AACzB,SAASC,kBAAkB,QAAQ,0BAAyB;AAE5D,eAAe,eAAeC;IAC5B,MAAMC,cAAcJ;IAEpB,qBACE,KAACK;QAAIC,WAAU;kBACb,cAAA,MAACF;;8BACC,MAACC;oBAAIE,OAAO;wBAAEC,cAAc;oBAAO;;sCACjC,KAACC;4BAAGF,OAAO;gCAAEC,cAAc;4BAAS;sCAAG;;sCACvC,KAACE;4BAAEH,OAAO;gCAAEI,OAAO;gCAA8BC,QAAQ;4BAAE;sCAAG;;;;8BAKhE,KAACV;;;;AAIT"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ThemePreviewViewClient.d.ts","sourceRoot":"","sources":["../../src/views/ThemePreviewViewClient.tsx"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,wBAAgB,sBAAsB,sBAErC"}
|