@seedgrid/fe-playground 2026.4.18 → 2026.4.20
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,61 @@
|
|
|
1
|
+
type SgMetaPropV0 = {
|
|
2
|
+
name: string;
|
|
3
|
+
type: string;
|
|
4
|
+
required?: boolean;
|
|
5
|
+
default?: unknown;
|
|
6
|
+
description?: string;
|
|
7
|
+
semanticRole?: "value" | "label" | "validation" | "behavior" | "appearance" | "event" | "data";
|
|
8
|
+
bindable?: boolean;
|
|
9
|
+
};
|
|
10
|
+
type SgMetaExampleV0 = {
|
|
11
|
+
id: string;
|
|
12
|
+
title: string;
|
|
13
|
+
file: string;
|
|
14
|
+
kind: "sample" | "playground";
|
|
15
|
+
};
|
|
16
|
+
type SgMetaV0 = {
|
|
17
|
+
version: "0.1";
|
|
18
|
+
componentId: string;
|
|
19
|
+
package: string;
|
|
20
|
+
exportName: string;
|
|
21
|
+
slug: string;
|
|
22
|
+
displayName: string;
|
|
23
|
+
category: string;
|
|
24
|
+
subcategory?: string;
|
|
25
|
+
description: string;
|
|
26
|
+
tags?: string[];
|
|
27
|
+
capabilities?: string[];
|
|
28
|
+
fieldSemantics?: string[];
|
|
29
|
+
props?: SgMetaPropV0[];
|
|
30
|
+
states?: string[];
|
|
31
|
+
examples?: SgMetaExampleV0[];
|
|
32
|
+
showcase?: {
|
|
33
|
+
route: string;
|
|
34
|
+
hasPlayground: boolean;
|
|
35
|
+
hasPropsTable: boolean;
|
|
36
|
+
};
|
|
37
|
+
sdui?: {
|
|
38
|
+
rendererType: string;
|
|
39
|
+
acceptsDataBinding?: boolean;
|
|
40
|
+
defaultProps?: Record<string, unknown>;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
type SgAiHintsV0 = {
|
|
44
|
+
version: "0.1";
|
|
45
|
+
preferredUseCases: string[];
|
|
46
|
+
avoidUseCases?: string[];
|
|
47
|
+
synonyms?: string[];
|
|
48
|
+
relatedEntityFields?: string[];
|
|
49
|
+
compositionHints?: string[];
|
|
50
|
+
rankingSignals?: {
|
|
51
|
+
freeText?: number;
|
|
52
|
+
structuredChoice?: number;
|
|
53
|
+
date?: number;
|
|
54
|
+
number?: number;
|
|
55
|
+
denseLayout?: number;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
export declare const sgMeta: SgMetaV0;
|
|
59
|
+
export declare const aiHints: SgAiHintsV0;
|
|
60
|
+
export {};
|
|
61
|
+
//# sourceMappingURL=SgPlayground.meta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SgPlayground.meta.d.ts","sourceRoot":"","sources":["../src/SgPlayground.meta.ts"],"names":[],"mappings":"AAAA,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;IAC/F,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;CAC/B,CAAC;AAEF,KAAK,QAAQ,GAAG;IACd,OAAO,EAAE,KAAK,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,OAAO,CAAC;QACvB,aAAa,EAAE,OAAO,CAAC;KACxB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACxC,CAAC;CACH,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,KAAK,CAAC;IACf,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,QAuKpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WAiCrB,CAAC"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
export const sgMeta = {
|
|
2
|
+
version: "0.1",
|
|
3
|
+
componentId: "gadget.playground",
|
|
4
|
+
package: "@seedgrid/fe-playground",
|
|
5
|
+
exportName: "SgPlayground",
|
|
6
|
+
slug: "sg-playground",
|
|
7
|
+
displayName: "SeedGrid Playground",
|
|
8
|
+
category: "gadget",
|
|
9
|
+
subcategory: "playground",
|
|
10
|
+
description: "Interactive code playground component powered by Sandpack. Embed live, editable code examples with preview, customizable presets, dependency management, and private NPM registry support.",
|
|
11
|
+
tags: ["playground", "sandbox", "code", "interactive", "example", "demo"],
|
|
12
|
+
capabilities: ["interactive", "sandpack", "custom-dependencies", "npm-registry"],
|
|
13
|
+
fieldSemantics: ["code", "example", "playground", "demo"],
|
|
14
|
+
props: [
|
|
15
|
+
{
|
|
16
|
+
name: "code or playgroundFile",
|
|
17
|
+
type: "string",
|
|
18
|
+
required: true,
|
|
19
|
+
description: "JSX/TSX code to execute, or path to a playground file.",
|
|
20
|
+
semanticRole: "data",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: "preset",
|
|
24
|
+
type: "'auto' | 'basic' | 'seedgrid' | 'editor' | 'full'",
|
|
25
|
+
required: false,
|
|
26
|
+
default: "auto",
|
|
27
|
+
description: "Preset: auto (auto-detect), basic (minimal), seedgrid (SeedGrid optimized), editor (code-focused), full (all features).",
|
|
28
|
+
semanticRole: "behavior",
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
name: "interactive",
|
|
32
|
+
type: "boolean",
|
|
33
|
+
required: false,
|
|
34
|
+
default: true,
|
|
35
|
+
description: "Enable/disable code editing and execution.",
|
|
36
|
+
semanticRole: "behavior",
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: "title",
|
|
40
|
+
type: "string",
|
|
41
|
+
required: false,
|
|
42
|
+
description: "Display title above the playground.",
|
|
43
|
+
semanticRole: "label",
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: "description",
|
|
47
|
+
type: "string",
|
|
48
|
+
required: false,
|
|
49
|
+
description: "Descriptive text shown below the title.",
|
|
50
|
+
semanticRole: "label",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: "height",
|
|
54
|
+
type: "string | number",
|
|
55
|
+
required: false,
|
|
56
|
+
default: "400px",
|
|
57
|
+
description: "Playground container height.",
|
|
58
|
+
semanticRole: "appearance",
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: "expandedHeight",
|
|
62
|
+
type: "string | number",
|
|
63
|
+
required: false,
|
|
64
|
+
description: "Height when expanded (if expandable is true).",
|
|
65
|
+
semanticRole: "appearance",
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
name: "expandable",
|
|
69
|
+
type: "boolean",
|
|
70
|
+
required: false,
|
|
71
|
+
description: "Allow toggling between collapsed and expanded view.",
|
|
72
|
+
semanticRole: "behavior",
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: "resizable",
|
|
76
|
+
type: "boolean",
|
|
77
|
+
required: false,
|
|
78
|
+
description: "Allow manual resizing of the playground panels.",
|
|
79
|
+
semanticRole: "behavior",
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
name: "resizeAxis",
|
|
83
|
+
type: "'vertical' | 'horizontal' | 'both'",
|
|
84
|
+
required: false,
|
|
85
|
+
description: "Restrict resize direction: vertical (editor/preview split), horizontal (left/right), both.",
|
|
86
|
+
semanticRole: "behavior",
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name: "previewPadding",
|
|
90
|
+
type: "string | number",
|
|
91
|
+
required: false,
|
|
92
|
+
description: "Padding inside the preview container.",
|
|
93
|
+
semanticRole: "appearance",
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
name: "dependencies",
|
|
97
|
+
type: "Record<string, string>",
|
|
98
|
+
required: false,
|
|
99
|
+
description: "Additional npm packages (e.g. { 'lodash': '^4.17.0' }). Merged with preset defaults.",
|
|
100
|
+
semanticRole: "data",
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
name: "defaultImports",
|
|
104
|
+
type: "string",
|
|
105
|
+
required: false,
|
|
106
|
+
description: "Import statements injected at the top of user code (e.g. 'import React from \"react\"').",
|
|
107
|
+
semanticRole: "data",
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
name: "seedgridDependency",
|
|
111
|
+
type: "string",
|
|
112
|
+
required: false,
|
|
113
|
+
description: "Override the @seedgrid/fe-components version (for seedgrid preset).",
|
|
114
|
+
semanticRole: "data",
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
name: "bundlerURL",
|
|
118
|
+
type: "string",
|
|
119
|
+
required: false,
|
|
120
|
+
default: "https://sandpack.seedgrid.com.br",
|
|
121
|
+
description: "Custom Sandpack bundler endpoint.",
|
|
122
|
+
semanticRole: "data",
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: "bundlerTimeoutMs",
|
|
126
|
+
type: "number",
|
|
127
|
+
required: false,
|
|
128
|
+
default: 60000,
|
|
129
|
+
description: "Bundler timeout in milliseconds.",
|
|
130
|
+
semanticRole: "data",
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
name: "npmRegistries",
|
|
134
|
+
type: "SgPlaygroundNpmRegistry[]",
|
|
135
|
+
required: false,
|
|
136
|
+
description: "Custom NPM registries with scope filtering and optional proxy/auth.",
|
|
137
|
+
semanticRole: "data",
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
name: "withCard",
|
|
141
|
+
type: "boolean",
|
|
142
|
+
required: false,
|
|
143
|
+
description: "Wrap playground in an SgCard component.",
|
|
144
|
+
semanticRole: "appearance",
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
name: "collapsible",
|
|
148
|
+
type: "boolean",
|
|
149
|
+
required: false,
|
|
150
|
+
description: "Show collapse/expand toggle on the card.",
|
|
151
|
+
semanticRole: "behavior",
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
name: "defaultOpen",
|
|
155
|
+
type: "boolean",
|
|
156
|
+
required: false,
|
|
157
|
+
default: true,
|
|
158
|
+
description: "Initial open/closed state (if collapsible).",
|
|
159
|
+
semanticRole: "behavior",
|
|
160
|
+
},
|
|
161
|
+
],
|
|
162
|
+
states: ["ready", "loading", "error", "collapsed", "expanded"],
|
|
163
|
+
};
|
|
164
|
+
export const aiHints = {
|
|
165
|
+
version: "0.1",
|
|
166
|
+
preferredUseCases: [
|
|
167
|
+
"Embedding live, editable code examples in documentation or tutorials.",
|
|
168
|
+
"Interactive component showcases where users can modify props and see results in real-time.",
|
|
169
|
+
"Demo code sandboxes that allow experimentation without external dependencies.",
|
|
170
|
+
],
|
|
171
|
+
avoidUseCases: [
|
|
172
|
+
"Production applications requiring strict security (avoid exposing user-facing bundler).",
|
|
173
|
+
"Complex multi-file projects — playground is single-file focused.",
|
|
174
|
+
],
|
|
175
|
+
synonyms: ["code sandbox", "interactive editor", "live demo", "code playground"],
|
|
176
|
+
relatedEntityFields: [
|
|
177
|
+
"code",
|
|
178
|
+
"example",
|
|
179
|
+
"documentation",
|
|
180
|
+
"tutorial",
|
|
181
|
+
"component",
|
|
182
|
+
],
|
|
183
|
+
compositionHints: [
|
|
184
|
+
"Use preset='seedgrid' for demos of SeedGrid components (includes necessary shims).",
|
|
185
|
+
"Preset='basic' for minimal setup; preset='full' for complete feature set.",
|
|
186
|
+
"Combine with expandable/collapsible for better UX in dense documentation.",
|
|
187
|
+
"Custom bundlerURL allows self-hosted sandpack for air-gapped environments.",
|
|
188
|
+
"npmRegistries support private package distribution (e.g. internal component libs).",
|
|
189
|
+
],
|
|
190
|
+
rankingSignals: {
|
|
191
|
+
freeText: 0.3,
|
|
192
|
+
structuredChoice: 0.2,
|
|
193
|
+
date: 0,
|
|
194
|
+
number: 0,
|
|
195
|
+
denseLayout: 0.4,
|
|
196
|
+
},
|
|
197
|
+
};
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "0.1",
|
|
3
|
+
"package": "@seedgrid/fe-playground",
|
|
4
|
+
"packageVersion": "0.1.0",
|
|
5
|
+
"components": [
|
|
6
|
+
{
|
|
7
|
+
"componentId": "gadget.playground",
|
|
8
|
+
"exportName": "SgPlayground",
|
|
9
|
+
"sgMeta": {
|
|
10
|
+
"version": "0.1",
|
|
11
|
+
"componentId": "gadget.playground",
|
|
12
|
+
"package": "@seedgrid/fe-playground",
|
|
13
|
+
"exportName": "SgPlayground",
|
|
14
|
+
"slug": "sg-playground",
|
|
15
|
+
"displayName": "SeedGrid Playground",
|
|
16
|
+
"category": "gadget",
|
|
17
|
+
"subcategory": "playground",
|
|
18
|
+
"description": "Interactive code playground component powered by Sandpack. Embed live, editable code examples with preview, customizable presets, dependency management, and private NPM registry support.",
|
|
19
|
+
"tags": [
|
|
20
|
+
"playground",
|
|
21
|
+
"sandbox",
|
|
22
|
+
"code",
|
|
23
|
+
"interactive",
|
|
24
|
+
"example",
|
|
25
|
+
"demo"
|
|
26
|
+
],
|
|
27
|
+
"capabilities": [
|
|
28
|
+
"interactive",
|
|
29
|
+
"sandpack",
|
|
30
|
+
"custom-dependencies",
|
|
31
|
+
"npm-registry"
|
|
32
|
+
],
|
|
33
|
+
"fieldSemantics": [
|
|
34
|
+
"code",
|
|
35
|
+
"example",
|
|
36
|
+
"playground",
|
|
37
|
+
"demo"
|
|
38
|
+
],
|
|
39
|
+
"props": [
|
|
40
|
+
{
|
|
41
|
+
"name": "code or playgroundFile",
|
|
42
|
+
"type": "string",
|
|
43
|
+
"required": true,
|
|
44
|
+
"description": "JSX/TSX code to execute, or path to a playground file.",
|
|
45
|
+
"semanticRole": "data"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "preset",
|
|
49
|
+
"type": "'auto' | 'basic' | 'seedgrid' | 'editor' | 'full'",
|
|
50
|
+
"required": false,
|
|
51
|
+
"default": "auto",
|
|
52
|
+
"description": "Preset: auto (auto-detect), basic (minimal), seedgrid (SeedGrid optimized), editor (code-focused), full (all features).",
|
|
53
|
+
"semanticRole": "behavior"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"name": "interactive",
|
|
57
|
+
"type": "boolean",
|
|
58
|
+
"required": false,
|
|
59
|
+
"default": true,
|
|
60
|
+
"description": "Enable/disable code editing and execution.",
|
|
61
|
+
"semanticRole": "behavior"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"name": "title",
|
|
65
|
+
"type": "string",
|
|
66
|
+
"required": false,
|
|
67
|
+
"description": "Display title above the playground.",
|
|
68
|
+
"semanticRole": "label"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"name": "description",
|
|
72
|
+
"type": "string",
|
|
73
|
+
"required": false,
|
|
74
|
+
"description": "Descriptive text shown below the title.",
|
|
75
|
+
"semanticRole": "label"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "height",
|
|
79
|
+
"type": "string | number",
|
|
80
|
+
"required": false,
|
|
81
|
+
"default": "400px",
|
|
82
|
+
"description": "Playground container height.",
|
|
83
|
+
"semanticRole": "appearance"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "expandedHeight",
|
|
87
|
+
"type": "string | number",
|
|
88
|
+
"required": false,
|
|
89
|
+
"description": "Height when expanded (if expandable is true).",
|
|
90
|
+
"semanticRole": "appearance"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"name": "expandable",
|
|
94
|
+
"type": "boolean",
|
|
95
|
+
"required": false,
|
|
96
|
+
"description": "Allow toggling between collapsed and expanded view.",
|
|
97
|
+
"semanticRole": "behavior"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "resizable",
|
|
101
|
+
"type": "boolean",
|
|
102
|
+
"required": false,
|
|
103
|
+
"description": "Allow manual resizing of the playground panels.",
|
|
104
|
+
"semanticRole": "behavior"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"name": "resizeAxis",
|
|
108
|
+
"type": "'vertical' | 'horizontal' | 'both'",
|
|
109
|
+
"required": false,
|
|
110
|
+
"description": "Restrict resize direction: vertical (editor/preview split), horizontal (left/right), both.",
|
|
111
|
+
"semanticRole": "behavior"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"name": "previewPadding",
|
|
115
|
+
"type": "string | number",
|
|
116
|
+
"required": false,
|
|
117
|
+
"description": "Padding inside the preview container.",
|
|
118
|
+
"semanticRole": "appearance"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"name": "dependencies",
|
|
122
|
+
"type": "Record<string, string>",
|
|
123
|
+
"required": false,
|
|
124
|
+
"description": "Additional npm packages (e.g. { 'lodash': '^4.17.0' }). Merged with preset defaults.",
|
|
125
|
+
"semanticRole": "data"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"name": "defaultImports",
|
|
129
|
+
"type": "string",
|
|
130
|
+
"required": false,
|
|
131
|
+
"description": "Import statements injected at the top of user code (e.g. 'import React from \"react\"').",
|
|
132
|
+
"semanticRole": "data"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"name": "seedgridDependency",
|
|
136
|
+
"type": "string",
|
|
137
|
+
"required": false,
|
|
138
|
+
"description": "Override the @seedgrid/fe-components version (for seedgrid preset).",
|
|
139
|
+
"semanticRole": "data"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"name": "bundlerURL",
|
|
143
|
+
"type": "string",
|
|
144
|
+
"required": false,
|
|
145
|
+
"default": "https://sandpack.seedgrid.com.br",
|
|
146
|
+
"description": "Custom Sandpack bundler endpoint.",
|
|
147
|
+
"semanticRole": "data"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"name": "bundlerTimeoutMs",
|
|
151
|
+
"type": "number",
|
|
152
|
+
"required": false,
|
|
153
|
+
"default": 60000,
|
|
154
|
+
"description": "Bundler timeout in milliseconds.",
|
|
155
|
+
"semanticRole": "data"
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"name": "npmRegistries",
|
|
159
|
+
"type": "SgPlaygroundNpmRegistry[]",
|
|
160
|
+
"required": false,
|
|
161
|
+
"description": "Custom NPM registries with scope filtering and optional proxy/auth.",
|
|
162
|
+
"semanticRole": "data"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"name": "withCard",
|
|
166
|
+
"type": "boolean",
|
|
167
|
+
"required": false,
|
|
168
|
+
"description": "Wrap playground in an SgCard component.",
|
|
169
|
+
"semanticRole": "appearance"
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"name": "collapsible",
|
|
173
|
+
"type": "boolean",
|
|
174
|
+
"required": false,
|
|
175
|
+
"description": "Show collapse/expand toggle on the card.",
|
|
176
|
+
"semanticRole": "behavior"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"name": "defaultOpen",
|
|
180
|
+
"type": "boolean",
|
|
181
|
+
"required": false,
|
|
182
|
+
"default": true,
|
|
183
|
+
"description": "Initial open/closed state (if collapsible).",
|
|
184
|
+
"semanticRole": "behavior"
|
|
185
|
+
}
|
|
186
|
+
],
|
|
187
|
+
"states": [
|
|
188
|
+
"ready",
|
|
189
|
+
"loading",
|
|
190
|
+
"error",
|
|
191
|
+
"collapsed",
|
|
192
|
+
"expanded"
|
|
193
|
+
]
|
|
194
|
+
},
|
|
195
|
+
"aiHints": {
|
|
196
|
+
"version": "0.1",
|
|
197
|
+
"preferredUseCases": [
|
|
198
|
+
"Embedding live, editable code examples in documentation or tutorials.",
|
|
199
|
+
"Interactive component showcases where users can modify props and see results in real-time.",
|
|
200
|
+
"Demo code sandboxes that allow experimentation without external dependencies."
|
|
201
|
+
],
|
|
202
|
+
"avoidUseCases": [
|
|
203
|
+
"Production applications requiring strict security (avoid exposing user-facing bundler).",
|
|
204
|
+
"Complex multi-file projects — playground is single-file focused."
|
|
205
|
+
],
|
|
206
|
+
"synonyms": [
|
|
207
|
+
"code sandbox",
|
|
208
|
+
"interactive editor",
|
|
209
|
+
"live demo",
|
|
210
|
+
"code playground"
|
|
211
|
+
],
|
|
212
|
+
"relatedEntityFields": [
|
|
213
|
+
"code",
|
|
214
|
+
"example",
|
|
215
|
+
"documentation",
|
|
216
|
+
"tutorial",
|
|
217
|
+
"component"
|
|
218
|
+
],
|
|
219
|
+
"compositionHints": [
|
|
220
|
+
"Use preset='seedgrid' for demos of SeedGrid components (includes necessary shims).",
|
|
221
|
+
"Preset='basic' for minimal setup; preset='full' for complete feature set.",
|
|
222
|
+
"Combine with expandable/collapsible for better UX in dense documentation.",
|
|
223
|
+
"Custom bundlerURL allows self-hosted sandpack for air-gapped environments.",
|
|
224
|
+
"npmRegistries support private package distribution (e.g. internal component libs)."
|
|
225
|
+
],
|
|
226
|
+
"rankingSignals": {
|
|
227
|
+
"freeText": 0.3,
|
|
228
|
+
"structuredChoice": 0.2,
|
|
229
|
+
"date": 0,
|
|
230
|
+
"number": 0,
|
|
231
|
+
"denseLayout": 0.4
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
]
|
|
236
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seedgrid/fe-playground",
|
|
3
|
-
"version": "2026.4.
|
|
3
|
+
"version": "2026.4.20",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -38,11 +38,11 @@
|
|
|
38
38
|
"react": "19.0.0",
|
|
39
39
|
"react-dom": "19.0.0",
|
|
40
40
|
"typescript": "^5.5.4",
|
|
41
|
-
"@seedgrid/fe-components": "2026.4.
|
|
41
|
+
"@seedgrid/fe-components": "2026.4.20"
|
|
42
42
|
},
|
|
43
43
|
"scripts": {
|
|
44
44
|
"clean": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"",
|
|
45
|
-
"build": "pnpm run clean && tsc -p tsconfig.json",
|
|
45
|
+
"build": "pnpm run clean && tsc -p tsconfig.json && node scripts/build-ai-manifest.mjs",
|
|
46
46
|
"dev": "tsc -p tsconfig.json --watch --preserveWatchOutput",
|
|
47
47
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
48
48
|
}
|