@se-studio/core-ui 1.0.105 → 1.0.107
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/CHANGELOG.md +18 -0
- package/dist/route-handlers/createCmsTxtHandler.d.ts.map +1 -1
- package/dist/route-handlers/createCmsTxtHandler.js +7 -6
- package/dist/route-handlers/createCmsTxtHandler.js.map +1 -1
- package/dist/route-handlers/createGuidelinesHandler.d.ts +1 -1
- package/dist/route-handlers/createGuidelinesHandler.d.ts.map +1 -1
- package/dist/route-handlers/createGuidelinesHandler.js +5 -5
- package/dist/route-handlers/createGuidelinesHandler.js.map +1 -1
- package/package.json +3 -3
- package/src/showcase/README.md +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @se-studio/core-ui
|
|
2
2
|
|
|
3
|
+
## 1.0.107
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Bulk version bump: patch for all packages
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
- @se-studio/contentful-rest-api@1.0.107
|
|
10
|
+
- @se-studio/core-data-types@1.0.107
|
|
11
|
+
|
|
12
|
+
## 1.0.106
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- Bulk version bump: patch for all packages
|
|
17
|
+
- Updated dependencies
|
|
18
|
+
- @se-studio/contentful-rest-api@1.0.106
|
|
19
|
+
- @se-studio/core-data-types@1.0.106
|
|
20
|
+
|
|
3
21
|
## 1.0.105
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCmsTxtHandler.d.ts","sourceRoot":"","sources":["../../src/route-handlers/createCmsTxtHandler.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACnC,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,oBAAoB,GAC5B,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"createCmsTxtHandler.d.ts","sourceRoot":"","sources":["../../src/route-handlers/createCmsTxtHandler.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACnC,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,oBAAoB,GAC5B,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,QAAQ,CA8GjC"}
|
|
@@ -10,7 +10,6 @@ import { NextResponse } from 'next/server';
|
|
|
10
10
|
*/
|
|
11
11
|
export function createCmsTxtHandler(options) {
|
|
12
12
|
const { appName, port, extraContent } = options;
|
|
13
|
-
// biome-ignore lint/style/useNamingConvention: Route handler name convention
|
|
14
13
|
return function GET() {
|
|
15
14
|
const content = `# CMS Tools and Resources — ${appName}
|
|
16
15
|
|
|
@@ -49,14 +48,16 @@ Self-contained documentation of every component and collection: layout, fields,
|
|
|
49
48
|
behaviour, typography, colours, and impact of content changes.
|
|
50
49
|
Intended for LLMs creating or editing pages — does not require code access.
|
|
51
50
|
|
|
52
|
-
URL: /cms/guidelines
|
|
51
|
+
URL: /cms/guidelines.md
|
|
53
52
|
Type: Text/Markdown (full guidelines document)
|
|
54
53
|
|
|
55
|
-
Single component or
|
|
54
|
+
Single component, collection, or external (smaller context):
|
|
56
55
|
|
|
57
|
-
URL: /cms/guidelines?component=<TypeName>
|
|
58
|
-
URL: /cms/guidelines?collection=<TypeName>
|
|
59
|
-
|
|
56
|
+
URL: /cms/guidelines.md?component=<TypeName>
|
|
57
|
+
URL: /cms/guidelines.md?collection=<TypeName>
|
|
58
|
+
URL: /cms/guidelines.md?external=<TypeName>
|
|
59
|
+
Example: /cms/guidelines.md?component=Hero
|
|
60
|
+
Example: /cms/guidelines.md?external=formstack
|
|
60
61
|
|
|
61
62
|
The guidelines are generated periodically and committed to the repository.
|
|
62
63
|
For components not yet documented, the document notes they are pending.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCmsTxtHandler.js","sourceRoot":"","sources":["../../src/route-handlers/createCmsTxtHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAW3C;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAA6B;IAE7B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IAEhD,
|
|
1
|
+
{"version":3,"file":"createCmsTxtHandler.js","sourceRoot":"","sources":["../../src/route-handlers/createCmsTxtHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAW3C;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAA6B;IAE7B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IAEhD,OAAO,SAAS,GAAG;QACjB,MAAM,OAAO,GAAG,+BAA+B,OAAO;;;;;;yCAMjB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2F3C,YAAY,CAAC,CAAC,CAAC,YAAY,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAE/C,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE;YAC/B,OAAO,EAAE;gBACP,cAAc,EAAE,2BAA2B;gBAC3C,eAAe,EAAE,sBAAsB;aACxC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -2,7 +2,7 @@ export interface GuidelinesHandlerOptions {
|
|
|
2
2
|
cwd: string;
|
|
3
3
|
}
|
|
4
4
|
/**
|
|
5
|
-
* Creates a Next.js GET handler for the /cms
|
|
5
|
+
* Creates a Next.js GET handler for the /cms/guidelines.md route.
|
|
6
6
|
*
|
|
7
7
|
* Serves the committed COMPONENT_GUIDELINES_FOR_LLM.md document as plain text/markdown.
|
|
8
8
|
* The document is self-contained: no source code access is required to read it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createGuidelinesHandler.d.ts","sourceRoot":"","sources":["../../src/route-handlers/createGuidelinesHandler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createGuidelinesHandler.d.ts","sourceRoot":"","sources":["../../src/route-handlers/createGuidelinesHandler.ts"],"names":[],"mappings":"AA2CA,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,GAChC,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,CA2DhC"}
|
|
@@ -3,11 +3,12 @@ import { join } from 'node:path';
|
|
|
3
3
|
import { NextResponse } from 'next/server';
|
|
4
4
|
/**
|
|
5
5
|
* Extract the section for a given type name from the merged guidelines document.
|
|
6
|
-
*
|
|
6
|
+
* Returns everything from "# <TypeName>" up to (but not including) the next "---"
|
|
7
|
+
* separator. Stops only at fragment boundaries, not at ## headings inside the section.
|
|
7
8
|
*/
|
|
8
9
|
function extractSection(content, typeName) {
|
|
9
10
|
const escapedName = typeName.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
10
|
-
const sectionPattern = new RegExp(`(^# ${escapedName}\\s*$[\\s\\S]*?)(
|
|
11
|
+
const sectionPattern = new RegExp(`(^# ${escapedName}\\s*$[\\s\\S]*?)(?=^---$)`, 'mi');
|
|
11
12
|
const match = sectionPattern.exec(content);
|
|
12
13
|
if (match?.[1]) {
|
|
13
14
|
return match[1].trim();
|
|
@@ -37,7 +38,7 @@ function extractSection(content, typeName) {
|
|
|
37
38
|
return sectionLines.join('\n').trim();
|
|
38
39
|
}
|
|
39
40
|
/**
|
|
40
|
-
* Creates a Next.js GET handler for the /cms
|
|
41
|
+
* Creates a Next.js GET handler for the /cms/guidelines.md route.
|
|
41
42
|
*
|
|
42
43
|
* Serves the committed COMPONENT_GUIDELINES_FOR_LLM.md document as plain text/markdown.
|
|
43
44
|
* The document is self-contained: no source code access is required to read it.
|
|
@@ -60,7 +61,6 @@ export function createGuidelinesHandler(options) {
|
|
|
60
61
|
return null;
|
|
61
62
|
}
|
|
62
63
|
}
|
|
63
|
-
// biome-ignore lint/style/useNamingConvention: Route handler name convention
|
|
64
64
|
return function GET(request) {
|
|
65
65
|
const { searchParams } = new URL(request.url);
|
|
66
66
|
const component = searchParams.get('component');
|
|
@@ -77,7 +77,7 @@ export function createGuidelinesHandler(options) {
|
|
|
77
77
|
if (typeName) {
|
|
78
78
|
const section = extractSection(guidelines, typeName);
|
|
79
79
|
if (!section) {
|
|
80
|
-
return new NextResponse(`# Not found\n\nNo guideline found for "${typeName}".\n\nAvailable at /cms
|
|
80
|
+
return new NextResponse(`# Not found\n\nNo guideline found for "${typeName}".\n\nAvailable at /cms/guidelines.md (full document).`, {
|
|
81
81
|
status: 404,
|
|
82
82
|
headers: { 'Content-Type': 'text/plain; charset=utf-8' },
|
|
83
83
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createGuidelinesHandler.js","sourceRoot":"","sources":["../../src/route-handlers/createGuidelinesHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C
|
|
1
|
+
{"version":3,"file":"createGuidelinesHandler.js","sourceRoot":"","sources":["../../src/route-handlers/createGuidelinesHandler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@se-studio/core-ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.107",
|
|
4
4
|
"description": "Shared React UI component library with Tailwind CSS v4 for SE Studio applications",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -68,8 +68,8 @@
|
|
|
68
68
|
"mustache": "4.2.0",
|
|
69
69
|
"server-only": "0.0.1",
|
|
70
70
|
"tailwind-merge": "^3.5.0",
|
|
71
|
-
"@se-studio/contentful-rest-api": "1.0.
|
|
72
|
-
"@se-studio/core-data-types": "1.0.
|
|
71
|
+
"@se-studio/contentful-rest-api": "1.0.107",
|
|
72
|
+
"@se-studio/core-data-types": "1.0.107"
|
|
73
73
|
},
|
|
74
74
|
"devDependencies": {
|
|
75
75
|
"@biomejs/biome": "^2.4.7",
|
package/src/showcase/README.md
CHANGED
|
@@ -66,14 +66,14 @@ To add a CMS Showcase to a project:
|
|
|
66
66
|
rendererConfig={projectRendererConfig}
|
|
67
67
|
componentFieldsMap={componentFieldsMap}
|
|
68
68
|
collectionFieldsMap={collectionFieldsMap}
|
|
69
|
-
basePath="/cms
|
|
69
|
+
basePath="/cms/showcase"
|
|
70
70
|
// ... project-specific color options
|
|
71
71
|
/>
|
|
72
72
|
);
|
|
73
73
|
}
|
|
74
74
|
```
|
|
75
75
|
|
|
76
|
-
2. Create a separate route for the preview iframe (e.g., `/cms
|
|
76
|
+
2. Create a separate route for the preview iframe (e.g., `/cms/showcase/render/page.tsx`):
|
|
77
77
|
```tsx
|
|
78
78
|
import { ShowcaseRenderPage } from '@se-studio/core-ui';
|
|
79
79
|
import {
|
|
@@ -119,7 +119,7 @@ To add a CMS Showcase to a project:
|
|
|
119
119
|
collectionCardMockMap
|
|
120
120
|
} = buildCollectionMaps(collectionRegistrations);
|
|
121
121
|
|
|
122
|
-
// Export maps for cms
|
|
122
|
+
// Export maps for cms/showcase
|
|
123
123
|
export {
|
|
124
124
|
componentFieldsMap,
|
|
125
125
|
collectionFieldsMap,
|