@djangocfg/layouts 1.2.53 → 1.2.56
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/package.json +5 -5
- package/src/layouts/AppLayout/components/PackageVersions/packageVersions.config.ts +8 -8
- package/src/layouts/UILayout/config/ai-export.config.ts +11 -2
- package/src/layouts/UILayout/index.ts +0 -4
- package/src/layouts/UILayout/utils/ai-export/index.ts +0 -1
- package/src/layouts/UILayout/utils/ai-export/generators.ts +0 -130
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@djangocfg/layouts",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.56",
|
|
4
4
|
"description": "Layout system and components for Unrealon applications",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "DjangoCFG",
|
|
@@ -63,9 +63,9 @@
|
|
|
63
63
|
"check": "tsc --noEmit"
|
|
64
64
|
},
|
|
65
65
|
"peerDependencies": {
|
|
66
|
-
"@djangocfg/api": "^1.2.
|
|
67
|
-
"@djangocfg/og-image": "^1.2.
|
|
68
|
-
"@djangocfg/ui": "^1.2.
|
|
66
|
+
"@djangocfg/api": "^1.2.56",
|
|
67
|
+
"@djangocfg/og-image": "^1.2.56",
|
|
68
|
+
"@djangocfg/ui": "^1.2.56",
|
|
69
69
|
"@hookform/resolvers": "^5.2.0",
|
|
70
70
|
"consola": "^3.4.2",
|
|
71
71
|
"lucide-react": "^0.468.0",
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"vidstack": "0.6.15"
|
|
87
87
|
},
|
|
88
88
|
"devDependencies": {
|
|
89
|
-
"@djangocfg/typescript-config": "^1.2.
|
|
89
|
+
"@djangocfg/typescript-config": "^1.2.56",
|
|
90
90
|
"@types/node": "^24.7.2",
|
|
91
91
|
"@types/react": "19.2.2",
|
|
92
92
|
"@types/react-dom": "19.2.1",
|
|
@@ -16,36 +16,36 @@ export interface PackageInfo {
|
|
|
16
16
|
/**
|
|
17
17
|
* Package versions registry
|
|
18
18
|
* Auto-synced from package.json files
|
|
19
|
-
* Last updated: 2025-11-
|
|
19
|
+
* Last updated: 2025-11-22T08:33:50.453Z
|
|
20
20
|
*/
|
|
21
21
|
const PACKAGE_VERSIONS: PackageInfo[] = [
|
|
22
22
|
{
|
|
23
23
|
"name": "@djangocfg/ui",
|
|
24
|
-
"version": "1.2.
|
|
24
|
+
"version": "1.2.56"
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
"name": "@djangocfg/api",
|
|
28
|
-
"version": "1.2.
|
|
28
|
+
"version": "1.2.56"
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
31
|
"name": "@djangocfg/layouts",
|
|
32
|
-
"version": "1.2.
|
|
32
|
+
"version": "1.2.56"
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
35
|
"name": "@djangocfg/markdown",
|
|
36
|
-
"version": "1.2.
|
|
36
|
+
"version": "1.2.56"
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
39
|
"name": "@djangocfg/og-image",
|
|
40
|
-
"version": "1.2.
|
|
40
|
+
"version": "1.2.56"
|
|
41
41
|
},
|
|
42
42
|
{
|
|
43
43
|
"name": "@djangocfg/eslint-config",
|
|
44
|
-
"version": "1.2.
|
|
44
|
+
"version": "1.2.56"
|
|
45
45
|
},
|
|
46
46
|
{
|
|
47
47
|
"name": "@djangocfg/typescript-config",
|
|
48
|
-
"version": "1.2.
|
|
48
|
+
"version": "1.2.56"
|
|
49
49
|
}
|
|
50
50
|
];
|
|
51
51
|
|
|
@@ -30,6 +30,17 @@ export function generateAIContext(): string {
|
|
|
30
30
|
let output = `# ${projectName} v${version}\n\n`;
|
|
31
31
|
output += `${description}\n\n`;
|
|
32
32
|
|
|
33
|
+
// Quick Reference - Available Components
|
|
34
|
+
output += `## 📋 Quick Reference - Available Components\n\n`;
|
|
35
|
+
const categories = getAllCategories();
|
|
36
|
+
categories.forEach(category => {
|
|
37
|
+
const comps = COMPONENTS_CONFIG.filter(comp => comp.category === category);
|
|
38
|
+
const componentNames = comps.map(c => c.name).join(', ');
|
|
39
|
+
output += `### ${category.charAt(0).toUpperCase() + category.slice(1)} (${comps.length})\n`;
|
|
40
|
+
output += `${componentNames}\n\n`;
|
|
41
|
+
});
|
|
42
|
+
output += `---\n\n`;
|
|
43
|
+
|
|
33
44
|
// Tailwind 4 Guide
|
|
34
45
|
output += `## Tailwind CSS v${TAILWIND_GUIDE.version} Guidelines\n\n`;
|
|
35
46
|
|
|
@@ -59,8 +70,6 @@ export function generateAIContext(): string {
|
|
|
59
70
|
});
|
|
60
71
|
|
|
61
72
|
// Components by Category
|
|
62
|
-
const categories = getAllCategories();
|
|
63
|
-
|
|
64
73
|
categories.forEach(category => {
|
|
65
74
|
const comps = COMPONENTS_CONFIG.filter(comp => comp.category === category);
|
|
66
75
|
|
|
@@ -125,10 +125,6 @@ export type {
|
|
|
125
125
|
|
|
126
126
|
export {
|
|
127
127
|
// AI Export utilities
|
|
128
|
-
generateAIContext as generateAIContextNew,
|
|
129
|
-
generateTailwindSection,
|
|
130
|
-
generateComponentsSection,
|
|
131
|
-
generateComponentDoc,
|
|
132
128
|
formatComponentAsMarkdown,
|
|
133
129
|
formatComponentsAsMarkdownList,
|
|
134
130
|
formatImports,
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AI Export Generators
|
|
3
|
-
* Functions for generating AI-friendly documentation
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import type { ComponentConfig } from '../../types';
|
|
7
|
-
import type { TailwindGuide } from '../../config/tailwind.config';
|
|
8
|
-
|
|
9
|
-
export interface UILibraryConfig {
|
|
10
|
-
projectName: string;
|
|
11
|
-
version: string;
|
|
12
|
-
description: string;
|
|
13
|
-
totalComponents: number;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Generate complete AI context from components and config
|
|
18
|
-
*/
|
|
19
|
-
export function generateAIContext(
|
|
20
|
-
components: ComponentConfig[],
|
|
21
|
-
tailwindGuide: TailwindGuide,
|
|
22
|
-
config: UILibraryConfig
|
|
23
|
-
): string {
|
|
24
|
-
const { projectName, version, description } = config;
|
|
25
|
-
|
|
26
|
-
let output = `# ${projectName} v${version}\n\n`;
|
|
27
|
-
output += `${description}\n\n`;
|
|
28
|
-
|
|
29
|
-
// Tailwind Guide Section
|
|
30
|
-
output += generateTailwindSection(tailwindGuide);
|
|
31
|
-
|
|
32
|
-
// Components by Category
|
|
33
|
-
output += generateComponentsSection(components);
|
|
34
|
-
|
|
35
|
-
return output;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Generate Tailwind CSS section
|
|
40
|
-
*/
|
|
41
|
-
export function generateTailwindSection(guide: TailwindGuide): string {
|
|
42
|
-
let output = `## Tailwind CSS v${guide.version} Guidelines\n\n`;
|
|
43
|
-
|
|
44
|
-
output += `### Key Changes\n`;
|
|
45
|
-
guide.keyChanges.forEach((change) => {
|
|
46
|
-
output += `- ${change}\n`;
|
|
47
|
-
});
|
|
48
|
-
output += `\n`;
|
|
49
|
-
|
|
50
|
-
output += `### Best Practices\n`;
|
|
51
|
-
guide.bestPractices.forEach((practice) => {
|
|
52
|
-
output += `- ${practice}\n`;
|
|
53
|
-
});
|
|
54
|
-
output += `\n`;
|
|
55
|
-
|
|
56
|
-
output += `### Migration Steps\n`;
|
|
57
|
-
guide.migrationSteps.forEach((step, index) => {
|
|
58
|
-
output += `${index + 1}. ${step}\n`;
|
|
59
|
-
});
|
|
60
|
-
output += `\n`;
|
|
61
|
-
|
|
62
|
-
output += `### Examples\n\n`;
|
|
63
|
-
guide.examples.forEach((example) => {
|
|
64
|
-
output += `#### ${example.title}\n`;
|
|
65
|
-
output += `${example.description}\n\n`;
|
|
66
|
-
output += `\`\`\`css\n${example.code}\n\`\`\`\n\n`;
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
return output;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Generate components section grouped by category
|
|
74
|
-
*/
|
|
75
|
-
export function generateComponentsSection(components: ComponentConfig[]): string {
|
|
76
|
-
let output = '';
|
|
77
|
-
|
|
78
|
-
// Group components by category
|
|
79
|
-
const byCategory = groupByCategory(components);
|
|
80
|
-
|
|
81
|
-
// Generate section for each category
|
|
82
|
-
Object.entries(byCategory).forEach(([category, comps]) => {
|
|
83
|
-
output += `## ${formatCategoryName(category)} (${comps.length})\n\n`;
|
|
84
|
-
|
|
85
|
-
comps.forEach((comp) => {
|
|
86
|
-
output += generateComponentDoc(comp);
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
return output;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Generate documentation for a single component
|
|
95
|
-
*/
|
|
96
|
-
export function generateComponentDoc(component: ComponentConfig): string {
|
|
97
|
-
let output = `### ${component.name}\n`;
|
|
98
|
-
output += `${component.description}\n\n`;
|
|
99
|
-
output += `\`\`\`tsx\n`;
|
|
100
|
-
output += `${component.importPath}\n\n`;
|
|
101
|
-
output += `${component.example}\n`;
|
|
102
|
-
output += `\`\`\`\n\n`;
|
|
103
|
-
|
|
104
|
-
return output;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Group components by category
|
|
109
|
-
*/
|
|
110
|
-
function groupByCategory(
|
|
111
|
-
components: ComponentConfig[]
|
|
112
|
-
): Record<string, ComponentConfig[]> {
|
|
113
|
-
return components.reduce(
|
|
114
|
-
(acc, comp) => {
|
|
115
|
-
if (!acc[comp.category]) {
|
|
116
|
-
acc[comp.category] = [];
|
|
117
|
-
}
|
|
118
|
-
acc[comp.category].push(comp);
|
|
119
|
-
return acc;
|
|
120
|
-
},
|
|
121
|
-
{} as Record<string, ComponentConfig[]>
|
|
122
|
-
);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* Format category name for display
|
|
127
|
-
*/
|
|
128
|
-
function formatCategoryName(category: string): string {
|
|
129
|
-
return category.charAt(0).toUpperCase() + category.slice(1);
|
|
130
|
-
}
|