@keenmate/pure-admin-core 1.5.1 → 2.0.0

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.
@@ -0,0 +1,80 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://keenmate.com/schemas/component-variables.schema.json",
4
+ "title": "Component Variables Manifest",
5
+ "description": "Declares which base variables a component consumes. Used by theme-designer to show relevant variables.",
6
+ "type": "object",
7
+ "required": ["component", "version", "variables"],
8
+ "properties": {
9
+ "$schema": {
10
+ "type": "string",
11
+ "description": "Reference to this JSON schema"
12
+ },
13
+ "component": {
14
+ "type": "string",
15
+ "description": "Component package name (e.g., @keenmate/pure-admin-core)"
16
+ },
17
+ "version": {
18
+ "type": "string",
19
+ "pattern": "^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9]+)?$",
20
+ "description": "Semantic version of the component"
21
+ },
22
+ "description": {
23
+ "type": "string",
24
+ "description": "Brief description of the component"
25
+ },
26
+ "variables": {
27
+ "type": "array",
28
+ "description": "List of base variables this component consumes",
29
+ "items": {
30
+ "$ref": "#/definitions/variableReference"
31
+ }
32
+ },
33
+ "categories": {
34
+ "type": "array",
35
+ "description": "Categories of variables this component uses (for filtering in theme-designer)",
36
+ "items": {
37
+ "type": "string",
38
+ "enum": [
39
+ "accent",
40
+ "text",
41
+ "surface",
42
+ "border",
43
+ "input",
44
+ "dropdown",
45
+ "tooltip",
46
+ "typography",
47
+ "spacing",
48
+ "contextual",
49
+ "interactive"
50
+ ]
51
+ }
52
+ }
53
+ },
54
+ "definitions": {
55
+ "variableReference": {
56
+ "type": "object",
57
+ "required": ["name"],
58
+ "properties": {
59
+ "name": {
60
+ "type": "string",
61
+ "pattern": "^base-[a-z0-9-]+$",
62
+ "description": "Base variable name without $ prefix (e.g., base-accent-color)"
63
+ },
64
+ "required": {
65
+ "type": "boolean",
66
+ "default": true,
67
+ "description": "Whether this variable is required for the component to function"
68
+ },
69
+ "fallback": {
70
+ "type": "string",
71
+ "description": "Fallback value if the variable is not defined"
72
+ },
73
+ "usage": {
74
+ "type": "string",
75
+ "description": "How this variable is used in the component"
76
+ }
77
+ }
78
+ }
79
+ }
80
+ }
@@ -0,0 +1,325 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://keenmate.com/schemas/pure-admin-theme.schema.json",
4
+ "title": "Pure Admin Theme Manifest",
5
+ "description": "Configuration manifest for Pure Admin CSS themes",
6
+ "type": "object",
7
+ "required": ["name", "id", "version", "modes", "exports"],
8
+ "properties": {
9
+ "$schema": {
10
+ "type": "string",
11
+ "description": "Reference to the JSON schema for validation"
12
+ },
13
+ "name": {
14
+ "type": "string",
15
+ "description": "Display name of the theme"
16
+ },
17
+ "id": {
18
+ "type": "string",
19
+ "pattern": "^[a-z][a-z0-9-]*$",
20
+ "description": "Unique identifier for the theme (lowercase, hyphens allowed)"
21
+ },
22
+ "version": {
23
+ "type": "string",
24
+ "pattern": "^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9]+)?$",
25
+ "description": "Semantic version of the theme"
26
+ },
27
+ "description": {
28
+ "type": "string",
29
+ "description": "Brief description of the theme"
30
+ },
31
+ "author": {
32
+ "type": "string",
33
+ "description": "Theme author or organization"
34
+ },
35
+ "license": {
36
+ "type": "string",
37
+ "description": "License identifier (e.g., MIT, Apache-2.0)"
38
+ },
39
+ "modes": {
40
+ "type": "object",
41
+ "description": "Light/dark mode configuration",
42
+ "required": ["supported", "default"],
43
+ "properties": {
44
+ "supported": {
45
+ "type": "array",
46
+ "items": {
47
+ "type": "string",
48
+ "enum": ["light", "dark"]
49
+ },
50
+ "minItems": 1,
51
+ "uniqueItems": true,
52
+ "description": "List of supported color modes"
53
+ },
54
+ "default": {
55
+ "type": "string",
56
+ "enum": ["light", "dark"],
57
+ "description": "Default mode when theme is loaded"
58
+ },
59
+ "cssClass": {
60
+ "type": "string",
61
+ "default": "pa-mode-{mode}",
62
+ "description": "CSS class pattern for mode switching. Use {mode} as placeholder."
63
+ },
64
+ "autoSwitch": {
65
+ "type": "object",
66
+ "description": "Automatic mode switching based on system preferences",
67
+ "properties": {
68
+ "enabled": {
69
+ "type": "boolean",
70
+ "default": false,
71
+ "description": "Enable automatic mode switching"
72
+ },
73
+ "method": {
74
+ "type": "string",
75
+ "enum": ["prefers-color-scheme", "time-based", "manual"],
76
+ "default": "prefers-color-scheme",
77
+ "description": "Method for automatic switching"
78
+ },
79
+ "respectUserPreference": {
80
+ "type": "boolean",
81
+ "default": true,
82
+ "description": "Remember user's manual override"
83
+ }
84
+ }
85
+ }
86
+ }
87
+ },
88
+ "colorVariants": {
89
+ "type": "object",
90
+ "description": "Color variant configuration (e.g., blue, green, red tints)",
91
+ "properties": {
92
+ "supported": {
93
+ "type": "array",
94
+ "items": {
95
+ "type": "object",
96
+ "required": ["id", "name"],
97
+ "properties": {
98
+ "id": {
99
+ "type": "string",
100
+ "description": "Variant identifier (empty string for default)"
101
+ },
102
+ "name": {
103
+ "type": "string",
104
+ "description": "Display name for the variant"
105
+ },
106
+ "description": {
107
+ "type": "string",
108
+ "description": "Brief description of the color variant"
109
+ },
110
+ "accentColor": {
111
+ "type": "string",
112
+ "description": "Primary accent color for this variant"
113
+ }
114
+ }
115
+ },
116
+ "description": "List of supported color variants"
117
+ },
118
+ "default": {
119
+ "type": "string",
120
+ "description": "Default variant ID (empty string for default/none)"
121
+ },
122
+ "cssClass": {
123
+ "type": "string",
124
+ "default": "pa-color-{variant}",
125
+ "description": "CSS class pattern for variant switching. Use {variant} as placeholder."
126
+ }
127
+ }
128
+ },
129
+ "features": {
130
+ "type": "object",
131
+ "description": "Feature flags indicating theme capabilities",
132
+ "properties": {
133
+ "cssVariables": {
134
+ "type": "boolean",
135
+ "default": true,
136
+ "description": "Theme uses CSS custom properties for runtime customization"
137
+ },
138
+ "responsiveLayout": {
139
+ "type": "boolean",
140
+ "default": true,
141
+ "description": "Theme supports responsive layouts"
142
+ },
143
+ "compactMode": {
144
+ "type": "boolean",
145
+ "default": true,
146
+ "description": "Theme supports compact display mode"
147
+ },
148
+ "sidebarCollapse": {
149
+ "type": "boolean",
150
+ "default": true,
151
+ "description": "Theme supports sidebar collapse/expand"
152
+ },
153
+ "sidebarIconMode": {
154
+ "type": "boolean",
155
+ "default": true,
156
+ "description": "Theme supports icon-only sidebar mode"
157
+ },
158
+ "customFonts": {
159
+ "type": "boolean",
160
+ "default": false,
161
+ "description": "Theme includes custom font files"
162
+ },
163
+ "rtlSupport": {
164
+ "type": "boolean",
165
+ "default": false,
166
+ "description": "Theme supports right-to-left layouts"
167
+ },
168
+ "printStyles": {
169
+ "type": "boolean",
170
+ "default": false,
171
+ "description": "Theme includes print-optimized styles"
172
+ }
173
+ }
174
+ },
175
+ "colors": {
176
+ "type": "object",
177
+ "description": "Key theme colors for preview/documentation",
178
+ "properties": {
179
+ "accent": {
180
+ "type": "string",
181
+ "description": "Primary accent color"
182
+ },
183
+ "accentHover": {
184
+ "type": "string",
185
+ "description": "Accent color on hover"
186
+ },
187
+ "background": {
188
+ "type": "string",
189
+ "description": "Main background color"
190
+ },
191
+ "surface": {
192
+ "type": "string",
193
+ "description": "Card/surface background color"
194
+ },
195
+ "text": {
196
+ "type": "string",
197
+ "description": "Primary text color"
198
+ },
199
+ "textSecondary": {
200
+ "type": "string",
201
+ "description": "Secondary/muted text color"
202
+ },
203
+ "border": {
204
+ "type": "string",
205
+ "description": "Default border color"
206
+ },
207
+ "header": {
208
+ "type": "string",
209
+ "description": "Header background color"
210
+ },
211
+ "sidebar": {
212
+ "type": "string",
213
+ "description": "Sidebar background color"
214
+ },
215
+ "footer": {
216
+ "type": "string",
217
+ "description": "Footer background color"
218
+ }
219
+ }
220
+ },
221
+ "fonts": {
222
+ "type": "object",
223
+ "description": "Font configuration",
224
+ "properties": {
225
+ "family": {
226
+ "type": "string",
227
+ "description": "Primary font family"
228
+ },
229
+ "familyHeading": {
230
+ "type": "string",
231
+ "description": "Heading font family (if different)"
232
+ },
233
+ "familyMono": {
234
+ "type": "string",
235
+ "description": "Monospace font family"
236
+ },
237
+ "files": {
238
+ "type": "array",
239
+ "items": {
240
+ "type": "object",
241
+ "properties": {
242
+ "family": {
243
+ "type": "string"
244
+ },
245
+ "src": {
246
+ "type": "string"
247
+ },
248
+ "weight": {
249
+ "type": ["string", "integer"]
250
+ },
251
+ "style": {
252
+ "type": "string"
253
+ }
254
+ }
255
+ },
256
+ "description": "Custom font file definitions"
257
+ }
258
+ }
259
+ },
260
+ "exports": {
261
+ "type": "object",
262
+ "description": "File exports for the theme",
263
+ "required": ["css"],
264
+ "properties": {
265
+ "css": {
266
+ "type": "string",
267
+ "description": "Path to compiled CSS file"
268
+ },
269
+ "cssMinified": {
270
+ "type": "string",
271
+ "description": "Path to minified CSS file"
272
+ },
273
+ "scss": {
274
+ "type": "string",
275
+ "description": "Path to main SCSS source file"
276
+ },
277
+ "scssVariables": {
278
+ "type": "string",
279
+ "description": "Path to SCSS variables file for customization"
280
+ }
281
+ }
282
+ },
283
+ "preview": {
284
+ "type": "object",
285
+ "description": "Preview assets for theme showcase",
286
+ "properties": {
287
+ "thumbnail": {
288
+ "type": "string",
289
+ "description": "Path to thumbnail image"
290
+ },
291
+ "screenshots": {
292
+ "type": "array",
293
+ "items": {
294
+ "type": "string"
295
+ },
296
+ "description": "Paths to screenshot images"
297
+ }
298
+ }
299
+ },
300
+ "tags": {
301
+ "type": "array",
302
+ "items": { "type": "string" },
303
+ "description": "Searchable tags (e.g. 'dark', 'industrial', 'restaurant', 'warm')"
304
+ },
305
+ "homepage": {
306
+ "type": "string",
307
+ "format": "uri",
308
+ "description": "URL to theme's homepage or repository"
309
+ },
310
+ "coreVersion": {
311
+ "type": "string",
312
+ "description": "Required pure-admin-core version range (e.g. '>=1.5.0')"
313
+ },
314
+ "dependencies": {
315
+ "type": "object",
316
+ "description": "Theme dependencies",
317
+ "properties": {
318
+ "core": {
319
+ "type": "string",
320
+ "description": "Required pure-admin-core version"
321
+ }
322
+ }
323
+ }
324
+ }
325
+ }