@deay/mcp 0.0.1 → 0.0.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/README.md +11 -11
- package/{dist/index.js → index.js} +8 -8
- package/package.json +6 -11
- package/dist/index.d.ts +0 -12
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/registry.d.ts +0 -41
- package/dist/registry.d.ts.map +0 -1
- package/dist/registry.js +0 -252
- package/dist/registry.js.map +0 -1
package/README.md
CHANGED
|
@@ -18,9 +18,9 @@ This MCP server allows AI coding tools (Claude Desktop, Cursor, Windsurf) to:
|
|
|
18
18
|
{
|
|
19
19
|
"mcpServers": {
|
|
20
20
|
"@deay/mcp": {
|
|
21
|
-
"command": "
|
|
22
|
-
"args": ["
|
|
23
|
-
"cwd": "/path/to/
|
|
21
|
+
"command": "node",
|
|
22
|
+
"args": ["dist/index.js"],
|
|
23
|
+
"cwd": "/path/to/deay-monorepo/packages/mcp-server"
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -42,9 +42,9 @@ This MCP server allows AI coding tools (Claude Desktop, Cursor, Windsurf) to:
|
|
|
42
42
|
## Usage
|
|
43
43
|
|
|
44
44
|
Once configured, ask your AI assistant:
|
|
45
|
-
- "How do I use
|
|
45
|
+
- "How do I use the button component?"
|
|
46
46
|
- "Create a form with @deay/ui components"
|
|
47
|
-
- "What are the available sizes for
|
|
47
|
+
- "What are the available sizes for the input component?"
|
|
48
48
|
|
|
49
49
|
## How It Works
|
|
50
50
|
|
|
@@ -69,21 +69,21 @@ Get detailed info about a specific component including:
|
|
|
69
69
|
|
|
70
70
|
```bash
|
|
71
71
|
# Build
|
|
72
|
-
|
|
72
|
+
npm run build
|
|
73
73
|
|
|
74
74
|
# Watch mode
|
|
75
|
-
|
|
75
|
+
npm run dev
|
|
76
76
|
|
|
77
|
-
#
|
|
78
|
-
|
|
77
|
+
# Start server
|
|
78
|
+
npm run start
|
|
79
79
|
```
|
|
80
80
|
|
|
81
81
|
## Contributing
|
|
82
82
|
|
|
83
83
|
When adding new components to @deay/ui:
|
|
84
84
|
1. Update `src/registry.ts` with component documentation
|
|
85
|
-
2. Rebuild: `
|
|
86
|
-
3. Test: `
|
|
85
|
+
2. Rebuild: `npm run build`
|
|
86
|
+
3. Test: `node test-mcp.js` (if available)
|
|
87
87
|
4. Republish (if needed): `npm publish`
|
|
88
88
|
|
|
89
89
|
## License
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* @
|
|
3
|
+
* @deay/mcp - MCP Server for @deay/ui Component Library
|
|
4
4
|
*
|
|
5
5
|
* This server provides AI assistants with comprehensive documentation
|
|
6
|
-
* about @
|
|
6
|
+
* about @deay/ui components following Figma design specifications.
|
|
7
7
|
*
|
|
8
8
|
* Run locally: bun run dev:mcp
|
|
9
|
-
* Or after npm publish: npx @
|
|
9
|
+
* Or after npm publish: npx @deay/mcp
|
|
10
10
|
*/
|
|
11
11
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
12
12
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
@@ -14,7 +14,7 @@ import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextpro
|
|
|
14
14
|
import { getComponentInfo, listComponents, COMPONENT_REGISTRY } from './registry.js';
|
|
15
15
|
// Create server instance
|
|
16
16
|
const server = new Server({
|
|
17
|
-
name: '@
|
|
17
|
+
name: '@deay/mcp',
|
|
18
18
|
version: '0.0.1',
|
|
19
19
|
}, {
|
|
20
20
|
capabilities: {
|
|
@@ -27,7 +27,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
27
27
|
tools: [
|
|
28
28
|
{
|
|
29
29
|
name: 'get_component_info',
|
|
30
|
-
description: 'Get information about @
|
|
30
|
+
description: 'Get information about @deay/ui components including props, usage examples, and best practices',
|
|
31
31
|
inputSchema: {
|
|
32
32
|
type: 'object',
|
|
33
33
|
properties: {
|
|
@@ -42,7 +42,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
44
|
name: 'list_components',
|
|
45
|
-
description: 'List all available components in @
|
|
45
|
+
description: 'List all available components in @deay/ui',
|
|
46
46
|
inputSchema: {
|
|
47
47
|
type: 'object',
|
|
48
48
|
properties: {},
|
|
@@ -101,7 +101,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
101
101
|
}
|
|
102
102
|
case 'list_components': {
|
|
103
103
|
const components = listComponents();
|
|
104
|
-
let response = '# Available Components in @
|
|
104
|
+
let response = '# Available Components in @deay/ui\n\n';
|
|
105
105
|
components.forEach((name) => {
|
|
106
106
|
const info = COMPONENT_REGISTRY[name];
|
|
107
107
|
response += `## ${info.name}\n`;
|
|
@@ -125,7 +125,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
125
125
|
async function main() {
|
|
126
126
|
const transport = new StdioServerTransport();
|
|
127
127
|
await server.connect(transport);
|
|
128
|
-
console.error('@
|
|
128
|
+
console.error('@deay/mcp server running on stdio');
|
|
129
129
|
}
|
|
130
130
|
main().catch((error) => {
|
|
131
131
|
console.error('Server error:', error);
|
package/package.json
CHANGED
|
@@ -1,24 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deay/mcp",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "MCP server for @deay/ui component library with Figma design specifications",
|
|
6
6
|
"author": "Your Name",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"bin": {
|
|
9
|
-
"deay-mcp": "./
|
|
9
|
+
"deay-mcp": "./index.js"
|
|
10
10
|
},
|
|
11
11
|
"files": [
|
|
12
|
-
"
|
|
12
|
+
".",
|
|
13
13
|
"README.md"
|
|
14
14
|
],
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@modelcontextprotocol/sdk": "
|
|
17
|
-
"zod": "
|
|
18
|
-
},
|
|
19
|
-
"scripts": {
|
|
20
|
-
"build": "tsc",
|
|
21
|
-
"start": "node dist/index.js",
|
|
22
|
-
"dev": "tsc --watch"
|
|
16
|
+
"@modelcontextprotocol/sdk": "0.6.1",
|
|
17
|
+
"zod": "3.25.76"
|
|
23
18
|
}
|
|
24
|
-
}
|
|
19
|
+
}
|
package/dist/index.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* @dai/mcp - MCP Server for @dai/ui Component Library
|
|
4
|
-
*
|
|
5
|
-
* This server provides AI assistants with comprehensive documentation
|
|
6
|
-
* about @dai/ui components following Figma design specifications.
|
|
7
|
-
*
|
|
8
|
-
* Run locally: bun run dev:mcp
|
|
9
|
-
* Or after npm publish: npx @dai/mcp
|
|
10
|
-
*/
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAErF,yBAAyB;AACzB,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;IACE,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;KACV;CACF,CACF,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,OAAO;QACL,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,8FAA8F;gBAC3G,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,SAAS,EAAE;4BACT,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,0CAA0C;4BACvD,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;yBAC1B;qBACF;oBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;iBACxB;aACF;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,0CAA0C;gBACvD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,oBAAoB;AACpB,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,MAAM,aAAa,GAAG,IAAI,EAAE,CAAC,WAAW,CAAW,CAAC;YACpD,MAAM,IAAI,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;YAE7C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,cAAc,aAAa,sCAAsC,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;yBACrG;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,4DAA4D;YAC5D,IAAI,QAAQ,GAAG,KAAK,IAAI,CAAC,IAAI,gBAAgB,CAAC;YAC9C,QAAQ,IAAI,mBAAmB,IAAI,CAAC,QAAQ,QAAQ,CAAC;YACrD,QAAQ,IAAI,oBAAoB,IAAI,CAAC,WAAW,MAAM,CAAC;YAEvD,QAAQ,IAAI,cAAc,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC1B,QAAQ,IAAI,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC;gBACjC,QAAQ,IAAI,iBAAiB,IAAI,CAAC,IAAI,MAAM,CAAC;gBAC7C,QAAQ,IAAI,mBAAmB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;gBAChE,QAAQ,IAAI,oBAAoB,IAAI,CAAC,OAAO,MAAM,CAAC;gBACnD,QAAQ,IAAI,sBAAsB,IAAI,CAAC,WAAW,MAAM,CAAC;YAC3D,CAAC,CAAC,CAAC;YAEH,QAAQ,IAAI,uBAAuB,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAChC,QAAQ,IAAI,OAAO,OAAO,CAAC,KAAK,IAAI,CAAC;gBACrC,QAAQ,IAAI,GAAG,OAAO,CAAC,WAAW,MAAM,CAAC;gBACzC,QAAQ,IAAI,eAAe,OAAO,CAAC,IAAI,cAAc,CAAC;YACxD,CAAC,CAAC,CAAC;YAEH,QAAQ,IAAI,uBAAuB,CAAC;YACpC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;gBAC7C,QAAQ,IAAI,GAAG,KAAK,GAAG,CAAC,KAAK,QAAQ,IAAI,CAAC;YAC5C,CAAC,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;qBACf;iBACF;aACF,CAAC;QACJ,CAAC;QAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;YACpC,IAAI,QAAQ,GAAG,uCAAuC,CAAC;YAEvD,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC1B,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACtC,QAAQ,IAAI,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC;gBAChC,QAAQ,IAAI,qBAAqB,IAAI,CAAC,QAAQ,MAAM,CAAC;gBACrD,QAAQ,IAAI,sBAAsB,IAAI,CAAC,WAAW,MAAM,CAAC;YAC3D,CAAC,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;qBACf;iBACF;aACF,CAAC;QACJ,CAAC;QAED;YACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,eAAe;AACf,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;AACpD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/registry.d.ts
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Component Registry for @dai/ui
|
|
3
|
-
*
|
|
4
|
-
* This registry contains comprehensive documentation about all components
|
|
5
|
-
* in the @dai/ui library. It's used by the MCP server to provide AI assistants
|
|
6
|
-
* with accurate information about component usage, props, and best practices.
|
|
7
|
-
*/
|
|
8
|
-
export interface ComponentProp {
|
|
9
|
-
name: string;
|
|
10
|
-
type: string;
|
|
11
|
-
required: boolean;
|
|
12
|
-
default: string | null;
|
|
13
|
-
description: string;
|
|
14
|
-
}
|
|
15
|
-
export interface ComponentExample {
|
|
16
|
-
title: string;
|
|
17
|
-
description: string;
|
|
18
|
-
code: string;
|
|
19
|
-
}
|
|
20
|
-
export interface ComponentInfo {
|
|
21
|
-
name: string;
|
|
22
|
-
selector: string;
|
|
23
|
-
description: string;
|
|
24
|
-
props: ComponentProp[];
|
|
25
|
-
examples: ComponentExample[];
|
|
26
|
-
bestPractices: string[];
|
|
27
|
-
}
|
|
28
|
-
export declare const COMPONENT_REGISTRY: Record<string, ComponentInfo>;
|
|
29
|
-
/**
|
|
30
|
-
* Get component information by name
|
|
31
|
-
*/
|
|
32
|
-
export declare function getComponentInfo(name: string): ComponentInfo | undefined;
|
|
33
|
-
/**
|
|
34
|
-
* List all available components
|
|
35
|
-
*/
|
|
36
|
-
export declare function listComponents(): string[];
|
|
37
|
-
/**
|
|
38
|
-
* Get component examples
|
|
39
|
-
*/
|
|
40
|
-
export declare function getComponentExamples(name: string): ComponentExample[];
|
|
41
|
-
//# sourceMappingURL=registry.d.ts.map
|
package/dist/registry.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAgO5D,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAExE;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAEzC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAGrE"}
|
package/dist/registry.js
DELETED
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Component Registry for @dai/ui
|
|
3
|
-
*
|
|
4
|
-
* This registry contains comprehensive documentation about all components
|
|
5
|
-
* in the @dai/ui library. It's used by the MCP server to provide AI assistants
|
|
6
|
-
* with accurate information about component usage, props, and best practices.
|
|
7
|
-
*/
|
|
8
|
-
export const COMPONENT_REGISTRY = {
|
|
9
|
-
button: {
|
|
10
|
-
name: 'Button',
|
|
11
|
-
selector: 'dai-button',
|
|
12
|
-
description: 'Primary button component following Figma design specifications. Features three sizes (sm, md, lg), loading state with spinner, and full accessibility support. Built with Angular 19+ signal inputs.',
|
|
13
|
-
props: [
|
|
14
|
-
{
|
|
15
|
-
name: 'variant',
|
|
16
|
-
type: "'primary'",
|
|
17
|
-
required: false,
|
|
18
|
-
default: "'primary'",
|
|
19
|
-
description: 'Visual style variant (only primary available per Figma design)',
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
name: 'size',
|
|
23
|
-
type: "'sm' | 'md' | 'lg'",
|
|
24
|
-
required: false,
|
|
25
|
-
default: "'md'",
|
|
26
|
-
description: 'Size: Small (24px), Medium (32px), or Large (40px)',
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
name: 'disabled',
|
|
30
|
-
type: 'boolean',
|
|
31
|
-
required: false,
|
|
32
|
-
default: 'false',
|
|
33
|
-
description: 'Disables the button with Primary/400 color',
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
name: 'loading',
|
|
37
|
-
type: 'boolean',
|
|
38
|
-
required: false,
|
|
39
|
-
default: 'false',
|
|
40
|
-
description: 'Shows spinner and disables button with Primary/500 color',
|
|
41
|
-
},
|
|
42
|
-
],
|
|
43
|
-
examples: [
|
|
44
|
-
{
|
|
45
|
-
title: 'Primary Button - Medium',
|
|
46
|
-
description: 'Standard medium-sized primary button',
|
|
47
|
-
code: `<dai-button size="md">
|
|
48
|
-
Button
|
|
49
|
-
</dai-button>`,
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
title: 'Button Sizes',
|
|
53
|
-
description: 'All three size variants',
|
|
54
|
-
code: `<dai-button size="sm">Button</dai-button>
|
|
55
|
-
<dai-button size="md">Button</dai-button>
|
|
56
|
-
<dai-button size="lg">Button</dai-button>`,
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
title: 'Loading State',
|
|
60
|
-
description: 'Button with loading spinner',
|
|
61
|
-
code: `<dai-button size="md" [loading]="true">
|
|
62
|
-
Button
|
|
63
|
-
</dai-button>`,
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
title: 'Disabled State',
|
|
67
|
-
description: 'Disabled button',
|
|
68
|
-
code: `<dai-button size="md" [disabled]="true">
|
|
69
|
-
Button
|
|
70
|
-
</dai-button>`,
|
|
71
|
-
},
|
|
72
|
-
],
|
|
73
|
-
bestPractices: [
|
|
74
|
-
'Use size="sm" for dense UI areas and tables (height: 24px, font: 12px)',
|
|
75
|
-
'Use size="md" for standard buttons (height: 32px, font: 14px)',
|
|
76
|
-
'Use size="lg" for prominent CTAs (height: 40px, font: 16px)',
|
|
77
|
-
'Loading state automatically disables the button and shows spinner',
|
|
78
|
-
'Disabled state uses Primary/400 color (#9098FA)',
|
|
79
|
-
'Hover state uses Primary/600 color (#5164F7)',
|
|
80
|
-
'Focus state shows Primary/800 border (#112EAC)',
|
|
81
|
-
'Font: Poppins, weight 400',
|
|
82
|
-
'Border radius: 50px (fully rounded)',
|
|
83
|
-
'Button is zoneless-ready and uses OnPush change detection',
|
|
84
|
-
],
|
|
85
|
-
},
|
|
86
|
-
input: {
|
|
87
|
-
name: 'Input',
|
|
88
|
-
selector: 'dai-input',
|
|
89
|
-
description: 'Input component following Figma design specifications. Features three sizes (sm, md, lg), error states, disabled states, and Angular Forms integration via ControlValueAccessor. Uses Poppins font family.',
|
|
90
|
-
props: [
|
|
91
|
-
{
|
|
92
|
-
name: 'label',
|
|
93
|
-
type: 'string',
|
|
94
|
-
required: false,
|
|
95
|
-
default: "''",
|
|
96
|
-
description: 'Label text displayed above the input (16px Poppins)',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'placeholder',
|
|
100
|
-
type: 'string',
|
|
101
|
-
required: false,
|
|
102
|
-
default: "'Text'",
|
|
103
|
-
description: 'Placeholder text shown when empty',
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
name: 'type',
|
|
107
|
-
type: "'text' | 'password' | 'email'",
|
|
108
|
-
required: false,
|
|
109
|
-
default: "'text'",
|
|
110
|
-
description: 'HTML input type',
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
name: 'size',
|
|
114
|
-
type: "'sm' | 'md' | 'lg'",
|
|
115
|
-
required: false,
|
|
116
|
-
default: "'md'",
|
|
117
|
-
description: 'Size: Small, Medium (44px height), or Large (50px height)',
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
name: 'disabled',
|
|
121
|
-
type: 'boolean',
|
|
122
|
-
required: false,
|
|
123
|
-
default: 'false',
|
|
124
|
-
description: 'Disables with gray background (#DFDFDF)',
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
name: 'errorMessage',
|
|
128
|
-
type: 'string',
|
|
129
|
-
required: false,
|
|
130
|
-
default: "''",
|
|
131
|
-
description: 'Error message triggers error styling with red border',
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
name: 'value',
|
|
135
|
-
type: 'string (model)',
|
|
136
|
-
required: false,
|
|
137
|
-
default: "''",
|
|
138
|
-
description: 'Two-way bound value (Angular 19+ model)',
|
|
139
|
-
},
|
|
140
|
-
],
|
|
141
|
-
examples: [
|
|
142
|
-
{
|
|
143
|
-
title: 'Small Input',
|
|
144
|
-
description: 'Compact input for tight spaces',
|
|
145
|
-
code: `<dai-input
|
|
146
|
-
label="Label"
|
|
147
|
-
size="sm"
|
|
148
|
-
placeholder="Text"
|
|
149
|
-
/>`,
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
title: 'Medium Input (Default)',
|
|
153
|
-
description: 'Standard input size',
|
|
154
|
-
code: `<dai-input
|
|
155
|
-
label="Label"
|
|
156
|
-
size="md"
|
|
157
|
-
placeholder="Text"
|
|
158
|
-
/>`,
|
|
159
|
-
},
|
|
160
|
-
{
|
|
161
|
-
title: 'Large Input',
|
|
162
|
-
description: 'Large input for prominence',
|
|
163
|
-
code: `<dai-input
|
|
164
|
-
label="Label"
|
|
165
|
-
size="lg"
|
|
166
|
-
placeholder="Text"
|
|
167
|
-
/>`,
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
title: 'Error State',
|
|
171
|
-
description: 'Input with validation error',
|
|
172
|
-
code: `<dai-input
|
|
173
|
-
label="Label"
|
|
174
|
-
size="md"
|
|
175
|
-
placeholder="Text"
|
|
176
|
-
[errorMessage]="'Error Message'"
|
|
177
|
-
/>`,
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
title: 'Disabled State',
|
|
181
|
-
description: 'Disabled input',
|
|
182
|
-
code: `<dai-input
|
|
183
|
-
label="Label"
|
|
184
|
-
size="md"
|
|
185
|
-
placeholder="Text"
|
|
186
|
-
[disabled]="true"
|
|
187
|
-
/>`,
|
|
188
|
-
},
|
|
189
|
-
{
|
|
190
|
-
title: 'Two-way Binding',
|
|
191
|
-
description: 'Using Angular 19+ model binding',
|
|
192
|
-
code: `<dai-input
|
|
193
|
-
label="Email"
|
|
194
|
-
size="md"
|
|
195
|
-
placeholder="Text"
|
|
196
|
-
[(value)]="email"
|
|
197
|
-
/>`,
|
|
198
|
-
},
|
|
199
|
-
{
|
|
200
|
-
title: 'Reactive Forms',
|
|
201
|
-
description: 'Integration with Angular reactive forms',
|
|
202
|
-
code: `<dai-input
|
|
203
|
-
label="Email"
|
|
204
|
-
size="md"
|
|
205
|
-
[formControl]="emailControl"
|
|
206
|
-
[errorMessage]="emailControl.errors ? 'Error Message' : ''"
|
|
207
|
-
/>`,
|
|
208
|
-
},
|
|
209
|
-
],
|
|
210
|
-
bestPractices: [
|
|
211
|
-
'Label: 16px Poppins, weight 400, line-height 1.5em, color #000000',
|
|
212
|
-
'Input text: 14px Poppins, weight 400, line-height 1.5em',
|
|
213
|
-
'Placeholder color: #ABA7AF',
|
|
214
|
-
'Default border: #E5E0EB (1px)',
|
|
215
|
-
'Focus border sm: #061764 (2px)',
|
|
216
|
-
'Focus border md/lg: #112EAC (1px)',
|
|
217
|
-
'Error border: #D51A52 (2px)',
|
|
218
|
-
'Error text: #D51A52, 14px Poppins',
|
|
219
|
-
'Disabled background and border: #DFDFDF',
|
|
220
|
-
'Border radius: 50px (fully rounded)',
|
|
221
|
-
'Gap between elements: 8px',
|
|
222
|
-
'Padding sm: 8px 12px',
|
|
223
|
-
'Padding md: 12px (height: 44px)',
|
|
224
|
-
'Padding lg: 14px 12px (height: 50px)',
|
|
225
|
-
'Use size="sm" for compact forms',
|
|
226
|
-
'Use size="md" for standard forms (default)',
|
|
227
|
-
'Use size="lg" for prominent inputs',
|
|
228
|
-
'Always provide labels for accessibility',
|
|
229
|
-
'Error messages automatically show with ARIA attributes',
|
|
230
|
-
],
|
|
231
|
-
},
|
|
232
|
-
};
|
|
233
|
-
/**
|
|
234
|
-
* Get component information by name
|
|
235
|
-
*/
|
|
236
|
-
export function getComponentInfo(name) {
|
|
237
|
-
return COMPONENT_REGISTRY[name.toLowerCase()];
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* List all available components
|
|
241
|
-
*/
|
|
242
|
-
export function listComponents() {
|
|
243
|
-
return Object.keys(COMPONENT_REGISTRY);
|
|
244
|
-
}
|
|
245
|
-
/**
|
|
246
|
-
* Get component examples
|
|
247
|
-
*/
|
|
248
|
-
export function getComponentExamples(name) {
|
|
249
|
-
const info = getComponentInfo(name);
|
|
250
|
-
return info?.examples || [];
|
|
251
|
-
}
|
|
252
|
-
//# sourceMappingURL=registry.js.map
|
package/dist/registry.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|