@seniorsistemas/angular-components-mcp 1.0.0-beta.3 → 1.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.
- package/dist/data/component-rules/button.md +37 -0
- package/dist/data/component-rules/checkbox.md +30 -0
- package/dist/data/component-rules/confirm-dialog.md +86 -0
- package/dist/data/component-rules/index.json +3 -0
- package/dist/data/component-rules/radio-button.md +0 -0
- package/dist/data/component-technical/confirm-dialog.md +117 -0
- package/dist/data/component-technical/dialog.md +202 -0
- package/dist/data/component-technical/dynamic-form.md +292 -0
- package/dist/data/component-technical/index.json +4 -0
- package/dist/data/component-technical/kanban.md +116 -0
- package/dist/data/component-technical/loading-state.md +96 -0
- package/dist/data/component-technical/sidebar.md +82 -0
- package/dist/data/component-technical/table.md +19 -0
- package/dist/data/component-technical/toast.md +63 -0
- package/dist/data/components-metadata.json +4402 -0
- package/dist/data/dynamic-form-metadata.json +2281 -0
- package/dist/data/ux-rules.md +45 -0
- package/dist/handlers/handleDetectRequiredProviders.d.ts +12 -0
- package/dist/handlers/handleDetectRequiredProviders.d.ts.map +1 -0
- package/dist/handlers/handleGetComponentDetails.d.ts +13 -0
- package/dist/handlers/handleGetComponentDetails.d.ts.map +1 -0
- package/dist/handlers/handleGetComponentRules.d.ts +13 -0
- package/dist/handlers/handleGetComponentRules.d.ts.map +1 -0
- package/dist/handlers/handleGetComponentRulesIndex.d.ts +11 -0
- package/dist/handlers/handleGetComponentRulesIndex.d.ts.map +1 -0
- package/dist/handlers/handleGetComponentTechnicalGuide.d.ts +13 -0
- package/dist/handlers/handleGetComponentTechnicalGuide.d.ts.map +1 -0
- package/dist/handlers/handleGetComponentTechnicalIndex.d.ts +11 -0
- package/dist/handlers/handleGetComponentTechnicalIndex.d.ts.map +1 -0
- package/dist/handlers/handleGetComponents.d.ts +14 -0
- package/dist/handlers/handleGetComponents.d.ts.map +1 -0
- package/dist/handlers/handleGetDynamicFormTypes.d.ts +13 -0
- package/dist/handlers/handleGetDynamicFormTypes.d.ts.map +1 -0
- package/dist/handlers/handleGetUxRules.d.ts +10 -0
- package/dist/handlers/handleGetUxRules.d.ts.map +1 -0
- package/dist/handlers.d.ts +112 -0
- package/dist/handlers.d.ts.map +1 -0
- package/dist/index.cjs +16703 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +16700 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# UX Rules — Cross-Component
|
|
2
|
+
|
|
3
|
+
Regras que se aplicam a qualquer componente ou template do projeto.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## tailwind-tokens (severity: error)
|
|
8
|
+
|
|
9
|
+
Use exclusivamente os tokens customizados do `@seniorsistemas/tailwind-config`. **Não use classes padrão do Tailwind.**
|
|
10
|
+
|
|
11
|
+
| Token | Exemplos válidos |
|
|
12
|
+
| ------------- | ----------------------------------------------------------------------------------------------------------------- |
|
|
13
|
+
| Cores | `bg-primary`, `text-grayscale-100`, `border-criticality-red` |
|
|
14
|
+
| Border radius | `rounded-xxsmall` `rounded-xsmall` `rounded-small` `rounded-medium` `rounded-xbig` `rounded-xxbig` `rounded-huge` |
|
|
15
|
+
| Breakpoints | `xs` `sm` `md` `lg` `xl` `xxl` `big` |
|
|
16
|
+
| Fonte | `font-open-sans` |
|
|
17
|
+
|
|
18
|
+
**Proibido:** `bg-blue-500`, `text-red-600`, `rounded-lg`, `rounded-xl`, breakpoints padrão do Tailwind.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## loading-states (severity: warning)
|
|
23
|
+
|
|
24
|
+
Use `s-loading-state` para indicar carregamento de página ou seção.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## empty-states (severity: warning)
|
|
29
|
+
|
|
30
|
+
Use `s-empty-state` sempre que uma lista ou tabela não tiver dados. Inclua uma orientação acionável para o usuário.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Qual componente usar
|
|
35
|
+
|
|
36
|
+
| Necessidade | Componente |
|
|
37
|
+
| -------------------------------------- | ---------------------------------------------------- |
|
|
38
|
+
| Qualquer formulário | `s-dynamic-form` — nunca campos individuais isolados |
|
|
39
|
+
| Dados tabulares | `p-table` (PrimeNG) |
|
|
40
|
+
| Item individual | `s-card` |
|
|
41
|
+
| Hierarquia de navegação | `s-breadcrumb` |
|
|
42
|
+
| Processo multi-etapa | `s-stepper` |
|
|
43
|
+
| Notificação de sucesso/erro | `s-toast` |
|
|
44
|
+
| Confirmação que requer ação do usuário | `s-dialog` |
|
|
45
|
+
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detecta providers opcionais necessários a partir da configuração do formulário dinâmico.
|
|
3
|
+
*/
|
|
4
|
+
export declare function handleDetectRequiredProviders(dynamicFormMetadata: Record<string, unknown>, args: {
|
|
5
|
+
config: string;
|
|
6
|
+
} | undefined): {
|
|
7
|
+
content: {
|
|
8
|
+
type: string;
|
|
9
|
+
text: string;
|
|
10
|
+
}[];
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=handleDetectRequiredProviders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleDetectRequiredProviders.d.ts","sourceRoot":"","sources":["../../src/handlers/handleDetectRequiredProviders.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,wBAAgB,6BAA6B,CACzC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5C,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS;;;;;EA6BvC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ComponentsData } from '../handlers.js';
|
|
2
|
+
/**
|
|
3
|
+
* Retorna detalhes completos de um componente pelo nome ou selector.
|
|
4
|
+
*/
|
|
5
|
+
export declare function handleGetComponentDetails(componentsData: ComponentsData, args: {
|
|
6
|
+
name?: string;
|
|
7
|
+
} | undefined): {
|
|
8
|
+
content: {
|
|
9
|
+
type: string;
|
|
10
|
+
text: string;
|
|
11
|
+
}[];
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=handleGetComponentDetails.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleGetComponentDetails.d.ts","sourceRoot":"","sources":["../../src/handlers/handleGetComponentDetails.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,gBAAgB,CAAC;AACpE;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,cAAc,EAAE,cAAc,EAAE,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS;;;;;EA0C5G"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retorna as regras de UX de um componente específico, se existirem.
|
|
3
|
+
*/
|
|
4
|
+
import type { ComponentRulesIndex } from '../handlers.js';
|
|
5
|
+
export declare function handleGetComponentRules(componentRulesIndex: ComponentRulesIndex, getComponentRulesFile: (componentName: string) => string, args: {
|
|
6
|
+
name?: string;
|
|
7
|
+
} | undefined): {
|
|
8
|
+
content: {
|
|
9
|
+
type: string;
|
|
10
|
+
text: string;
|
|
11
|
+
}[];
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=handleGetComponentRules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleGetComponentRules.d.ts","sourceRoot":"","sources":["../../src/handlers/handleGetComponentRules.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,wBAAgB,uBAAuB,CACnC,mBAAmB,EAAE,mBAAmB,EACxC,qBAAqB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,EACxD,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS;;;;;EAqDtC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ComponentRulesIndex } from '../handlers.js';
|
|
2
|
+
/**
|
|
3
|
+
* Retorna o índice dos componentes que possuem regras de UX.
|
|
4
|
+
*/
|
|
5
|
+
export declare function handleGetComponentRulesIndex(componentRulesIndex: ComponentRulesIndex): {
|
|
6
|
+
content: {
|
|
7
|
+
type: string;
|
|
8
|
+
text: string;
|
|
9
|
+
}[];
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=handleGetComponentRulesIndex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleGetComponentRulesIndex.d.ts","sourceRoot":"","sources":["../../src/handlers/handleGetComponentRulesIndex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,mBAAmB,EAAE,mBAAmB;;;;;EASpF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ComponentTechnicalIndex } from '../handlers.js';
|
|
2
|
+
/**
|
|
3
|
+
* Retorna o guia técnico de um componente específico, se existir.
|
|
4
|
+
*/
|
|
5
|
+
export declare function handleGetComponentTechnicalGuide(componentTechnicalIndex: ComponentTechnicalIndex, getComponentTechnicalFile: (componentName: string) => string, args: {
|
|
6
|
+
name?: string;
|
|
7
|
+
} | undefined): {
|
|
8
|
+
content: {
|
|
9
|
+
type: string;
|
|
10
|
+
text: string;
|
|
11
|
+
}[];
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=handleGetComponentTechnicalGuide.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleGetComponentTechnicalGuide.d.ts","sourceRoot":"","sources":["../../src/handlers/handleGetComponentTechnicalGuide.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAE9D;;GAEG;AACH,wBAAgB,gCAAgC,CAC5C,uBAAuB,EAAE,uBAAuB,EAChD,yBAAyB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,EAC5D,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS;;;;;EA+CtC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ComponentTechnicalIndex } from '../handlers.js';
|
|
2
|
+
/**
|
|
3
|
+
* Retorna o índice dos componentes que possuem guia técnico.
|
|
4
|
+
*/
|
|
5
|
+
export declare function handleGetComponentTechnicalIndex(componentTechnicalIndex: ComponentTechnicalIndex): {
|
|
6
|
+
content: {
|
|
7
|
+
type: string;
|
|
8
|
+
text: string;
|
|
9
|
+
}[];
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=handleGetComponentTechnicalIndex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleGetComponentTechnicalIndex.d.ts","sourceRoot":"","sources":["../../src/handlers/handleGetComponentTechnicalIndex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAE9D;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,uBAAuB,EAAE,uBAAuB;;;;;EAShG"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ComponentsData } from '../handlers.js';
|
|
2
|
+
/**
|
|
3
|
+
* Retorna lista de componentes filtrados por categoria ou palavra-chave.
|
|
4
|
+
*/
|
|
5
|
+
export declare function handleGetComponents(componentsData: ComponentsData, args: {
|
|
6
|
+
category?: string;
|
|
7
|
+
keyword?: string;
|
|
8
|
+
} | undefined): {
|
|
9
|
+
content: {
|
|
10
|
+
type: string;
|
|
11
|
+
text: string;
|
|
12
|
+
}[];
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=handleGetComponents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleGetComponents.d.ts","sourceRoot":"","sources":["../../src/handlers/handleGetComponents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,gBAAgB,CAAC;AAEpE;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS;;;;;EAkD5D"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retorna tipos de campos, estruturas ou bases do formulário dinâmico, ou detalhes de um tipo específico.
|
|
3
|
+
*/
|
|
4
|
+
export declare function handleGetDynamicFormTypes(dynamicFormMetadata: Record<string, unknown>, args: {
|
|
5
|
+
typeKey?: string;
|
|
6
|
+
kind?: 'field' | 'structure' | 'base' | 'optional';
|
|
7
|
+
} | undefined): {
|
|
8
|
+
content: {
|
|
9
|
+
type: string;
|
|
10
|
+
text: string;
|
|
11
|
+
}[];
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=handleGetDynamicFormTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleGetDynamicFormTypes.d.ts","sourceRoot":"","sources":["../../src/handlers/handleGetDynamicFormTypes.ts"],"names":[],"mappings":"AAkBA;;GAEG;AACH,wBAAgB,yBAAyB,CACrC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5C,IAAI,EACE;IACI,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,CAAC;CACtD,GACD,SAAS;;;;;EAWlB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleGetUxRules.d.ts","sourceRoot":"","sources":["../../src/handlers/handleGetUxRules.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,MAAM;;;;;EAK5D"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
export interface ComponentInput {
|
|
2
|
+
name: string;
|
|
3
|
+
description: string;
|
|
4
|
+
default?: string;
|
|
5
|
+
type?: string;
|
|
6
|
+
required?: boolean;
|
|
7
|
+
deprecated?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface ComponentOutput {
|
|
10
|
+
name: string;
|
|
11
|
+
description: string;
|
|
12
|
+
type?: string;
|
|
13
|
+
deprecated?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface ComponentInfo {
|
|
16
|
+
name: string;
|
|
17
|
+
selector: string;
|
|
18
|
+
description: string;
|
|
19
|
+
package: string;
|
|
20
|
+
priority: 'high' | 'medium' | 'low';
|
|
21
|
+
keywords: string[];
|
|
22
|
+
mustUse?: boolean;
|
|
23
|
+
reason?: string;
|
|
24
|
+
note?: string;
|
|
25
|
+
inputs?: ComponentInput[];
|
|
26
|
+
outputs?: ComponentOutput[];
|
|
27
|
+
}
|
|
28
|
+
export interface Category {
|
|
29
|
+
description: string;
|
|
30
|
+
components: ComponentInfo[];
|
|
31
|
+
}
|
|
32
|
+
export interface ComponentsData {
|
|
33
|
+
categories: Record<string, Category>;
|
|
34
|
+
}
|
|
35
|
+
export interface ComponentRulesIndex {
|
|
36
|
+
components: string[];
|
|
37
|
+
}
|
|
38
|
+
export interface ComponentTechnicalIndex {
|
|
39
|
+
components: string[];
|
|
40
|
+
}
|
|
41
|
+
export interface ToolHandlers {
|
|
42
|
+
handleGetComponents: (args: {
|
|
43
|
+
category?: string;
|
|
44
|
+
keyword?: string;
|
|
45
|
+
} | undefined) => {
|
|
46
|
+
content: Array<{
|
|
47
|
+
type: string;
|
|
48
|
+
text: string;
|
|
49
|
+
}>;
|
|
50
|
+
};
|
|
51
|
+
handleGetComponentDetails: (args: {
|
|
52
|
+
name?: string;
|
|
53
|
+
} | undefined) => {
|
|
54
|
+
content: Array<{
|
|
55
|
+
type: string;
|
|
56
|
+
text: string;
|
|
57
|
+
}>;
|
|
58
|
+
};
|
|
59
|
+
handleDetectRequiredProviders: (args: {
|
|
60
|
+
config: string;
|
|
61
|
+
} | undefined) => {
|
|
62
|
+
content: Array<{
|
|
63
|
+
type: string;
|
|
64
|
+
text: string;
|
|
65
|
+
}>;
|
|
66
|
+
};
|
|
67
|
+
handleGetUxRules: (_args: unknown) => {
|
|
68
|
+
content: Array<{
|
|
69
|
+
type: string;
|
|
70
|
+
text: string;
|
|
71
|
+
}>;
|
|
72
|
+
};
|
|
73
|
+
handleGetDynamicFormTypes: (args: {
|
|
74
|
+
typeKey?: string;
|
|
75
|
+
kind?: 'field' | 'structure' | 'base' | 'optional';
|
|
76
|
+
} | undefined) => {
|
|
77
|
+
content: Array<{
|
|
78
|
+
type: string;
|
|
79
|
+
text: string;
|
|
80
|
+
}>;
|
|
81
|
+
};
|
|
82
|
+
handleGetComponentRulesIndex: (_args: unknown) => {
|
|
83
|
+
content: Array<{
|
|
84
|
+
type: string;
|
|
85
|
+
text: string;
|
|
86
|
+
}>;
|
|
87
|
+
};
|
|
88
|
+
handleGetComponentRules: (args: {
|
|
89
|
+
name?: string;
|
|
90
|
+
} | undefined) => {
|
|
91
|
+
content: Array<{
|
|
92
|
+
type: string;
|
|
93
|
+
text: string;
|
|
94
|
+
}>;
|
|
95
|
+
};
|
|
96
|
+
handleGetComponentTechnicalIndex: (_args: unknown) => {
|
|
97
|
+
content: Array<{
|
|
98
|
+
type: string;
|
|
99
|
+
text: string;
|
|
100
|
+
}>;
|
|
101
|
+
};
|
|
102
|
+
handleGetComponentTechnicalGuide: (args: {
|
|
103
|
+
name?: string;
|
|
104
|
+
} | undefined) => {
|
|
105
|
+
content: Array<{
|
|
106
|
+
type: string;
|
|
107
|
+
text: string;
|
|
108
|
+
}>;
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
export declare function createToolHandlers(componentsData: ComponentsData, dynamicFormMetadata: Record<string, unknown>, getUxRulesFile: () => string, componentRulesIndex: ComponentRulesIndex, getComponentRulesFile: (componentName: string) => string, componentTechnicalIndex: ComponentTechnicalIndex, getComponentTechnicalFile: (componentName: string) => string): ToolHandlers;
|
|
112
|
+
//# sourceMappingURL=handlers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"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"}
|