@dgplsoares/singulai-ds-mcp 0.2.0 → 0.4.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/catalog.json +177 -2
- package/package.json +1 -1
package/dist/data/catalog.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
3
|
-
"generated_at": "2026-05-
|
|
2
|
+
"version": "0.4.0",
|
|
3
|
+
"generated_at": "2026-05-12",
|
|
4
4
|
"design_system": {
|
|
5
5
|
"name": "Singulai Design System",
|
|
6
6
|
"version": "DS-2.1",
|
|
@@ -233,6 +233,47 @@
|
|
|
233
233
|
"PipelineFunnelDeltaDirection": [
|
|
234
234
|
"up",
|
|
235
235
|
"down"
|
|
236
|
+
],
|
|
237
|
+
"OffcanvasPosition": [
|
|
238
|
+
"left",
|
|
239
|
+
"right",
|
|
240
|
+
"top",
|
|
241
|
+
"bottom"
|
|
242
|
+
],
|
|
243
|
+
"OffcanvasSize": [
|
|
244
|
+
"sm",
|
|
245
|
+
"md",
|
|
246
|
+
"lg",
|
|
247
|
+
"xl",
|
|
248
|
+
"full"
|
|
249
|
+
],
|
|
250
|
+
"StatColor": [
|
|
251
|
+
"primary",
|
|
252
|
+
"success",
|
|
253
|
+
"warning",
|
|
254
|
+
"danger",
|
|
255
|
+
"info",
|
|
256
|
+
"muted",
|
|
257
|
+
"purple",
|
|
258
|
+
"indigo",
|
|
259
|
+
"pink"
|
|
260
|
+
],
|
|
261
|
+
"StatTrend": [
|
|
262
|
+
"up",
|
|
263
|
+
"down",
|
|
264
|
+
"neutral"
|
|
265
|
+
],
|
|
266
|
+
"StatsBarVariant": [
|
|
267
|
+
"default",
|
|
268
|
+
"compact",
|
|
269
|
+
"cards"
|
|
270
|
+
],
|
|
271
|
+
"StatsBarColumns": [
|
|
272
|
+
2,
|
|
273
|
+
3,
|
|
274
|
+
4,
|
|
275
|
+
5,
|
|
276
|
+
6
|
|
236
277
|
]
|
|
237
278
|
},
|
|
238
279
|
"components": [
|
|
@@ -1915,6 +1956,140 @@
|
|
|
1915
1956
|
"<ds-pipeline-funnel [items]=\"funilItems\" />",
|
|
1916
1957
|
"// Items com polaridade invertida (tickets em aberto):\n[{key:'open',label:'Em aberto',value:42,percent:80,variant:'danger',deltaPercent:15,deltaDirection:'up',inversePolarity:true}]"
|
|
1917
1958
|
]
|
|
1959
|
+
},
|
|
1960
|
+
{
|
|
1961
|
+
"name": "OffcanvasComponent",
|
|
1962
|
+
"selector": "ds-offcanvas",
|
|
1963
|
+
"description": "Painel lateral deslizante (slide-out drawer). Thin-wrap de <app-offcanvas> (298 LOC). Forwarda 100% da API + re-exporta types. 4 posicoes (left/right/top/bottom) × 5 sizes (sm/md/lg/xl/full). Backdrop click + ESC + body scroll lock + animacao suave configuravel + focus trap + close button + header/footer slots via TemplateRef. Suporta tambem ng-content direto no body. Two-way binding via [(isOpen)]. Padrao default: position=right, size=md. Pattern tipico para CRUD edits inline, filtros laterais, bottom sheets (mobile), notification centers.",
|
|
1964
|
+
"tags": [
|
|
1965
|
+
"offcanvas",
|
|
1966
|
+
"drawer",
|
|
1967
|
+
"sidebar",
|
|
1968
|
+
"panel",
|
|
1969
|
+
"modal",
|
|
1970
|
+
"slide-out",
|
|
1971
|
+
"sheet",
|
|
1972
|
+
"crud",
|
|
1973
|
+
"form-edit"
|
|
1974
|
+
],
|
|
1975
|
+
"props": [
|
|
1976
|
+
{
|
|
1977
|
+
"name": "isOpen",
|
|
1978
|
+
"type": "boolean",
|
|
1979
|
+
"default": "false",
|
|
1980
|
+
"description": "Estado de abertura. Two-way binding via [(isOpen)]."
|
|
1981
|
+
},
|
|
1982
|
+
{
|
|
1983
|
+
"name": "config",
|
|
1984
|
+
"type": "OffcanvasConfig",
|
|
1985
|
+
"default": "{}",
|
|
1986
|
+
"description": "{position?, size?, showBackdrop?, closeOnBackdrop?, closeOnEscape?, showCloseButton?, containerClass?, panelClass?, zIndex?, blockScroll?, animationDuration?}."
|
|
1987
|
+
},
|
|
1988
|
+
{
|
|
1989
|
+
"name": "title",
|
|
1990
|
+
"type": "string",
|
|
1991
|
+
"default": "''",
|
|
1992
|
+
"description": "Titulo do header. Quando vazio, header so renderiza se showCloseButton."
|
|
1993
|
+
},
|
|
1994
|
+
{
|
|
1995
|
+
"name": "subtitle",
|
|
1996
|
+
"type": "string",
|
|
1997
|
+
"default": "''",
|
|
1998
|
+
"description": "Subtitulo opcional abaixo do titulo."
|
|
1999
|
+
},
|
|
2000
|
+
{
|
|
2001
|
+
"name": "data",
|
|
2002
|
+
"type": "unknown",
|
|
2003
|
+
"default": "null",
|
|
2004
|
+
"description": "Dados passados para templateContext (uso com TemplateRef)."
|
|
2005
|
+
},
|
|
2006
|
+
{
|
|
2007
|
+
"name": "contentTemplate",
|
|
2008
|
+
"type": "TemplateRef<OffcanvasTemplateContext> | undefined",
|
|
2009
|
+
"default": "undefined",
|
|
2010
|
+
"description": "TemplateRef alternativo ao ng-content para o body. Recebe contexto {$implicit: data, close}."
|
|
2011
|
+
},
|
|
2012
|
+
{
|
|
2013
|
+
"name": "footerTemplate",
|
|
2014
|
+
"type": "TemplateRef<OffcanvasTemplateContext> | undefined",
|
|
2015
|
+
"default": "undefined",
|
|
2016
|
+
"description": "TemplateRef para o footer (action buttons). Mesmo contexto do contentTemplate."
|
|
2017
|
+
}
|
|
2018
|
+
],
|
|
2019
|
+
"outputs": [
|
|
2020
|
+
{
|
|
2021
|
+
"name": "opened",
|
|
2022
|
+
"type": "EventEmitter<OffcanvasOpenEvent>",
|
|
2023
|
+
"description": "Emitido apos a animacao de abertura iniciar."
|
|
2024
|
+
},
|
|
2025
|
+
{
|
|
2026
|
+
"name": "closed",
|
|
2027
|
+
"type": "EventEmitter<OffcanvasCloseEvent>",
|
|
2028
|
+
"description": "Emitido ao fechar. reason: backdrop|escape|button|programmatic."
|
|
2029
|
+
},
|
|
2030
|
+
{
|
|
2031
|
+
"name": "isOpenChange",
|
|
2032
|
+
"type": "EventEmitter<boolean>",
|
|
2033
|
+
"description": "Two-way binding [(isOpen)]."
|
|
2034
|
+
}
|
|
2035
|
+
],
|
|
2036
|
+
"publicMethods": [
|
|
2037
|
+
{
|
|
2038
|
+
"name": "open",
|
|
2039
|
+
"signature": "(): void",
|
|
2040
|
+
"description": "Abre o panel imperativamente (via ViewChild)."
|
|
2041
|
+
},
|
|
2042
|
+
{
|
|
2043
|
+
"name": "close",
|
|
2044
|
+
"signature": "(result?: unknown): void",
|
|
2045
|
+
"description": "Fecha o panel imperativamente, com resultado opcional."
|
|
2046
|
+
}
|
|
2047
|
+
],
|
|
2048
|
+
"examples": [
|
|
2049
|
+
"<ds-offcanvas [(isOpen)]=\"isFormOpen\" title=\"Editar Curso\" [config]=\"{ position: 'right', size: 'lg' }\"><form>...</form></ds-offcanvas>",
|
|
2050
|
+
"// Com TemplateRef e footer:\n<ds-offcanvas [(isOpen)]=\"open\" title=\"...\" [contentTemplate]=\"body\" [footerTemplate]=\"footer\" [data]=\"item\" />\n<ng-template #body let-item let-close=\"close\">...</ng-template>"
|
|
2051
|
+
]
|
|
2052
|
+
},
|
|
2053
|
+
{
|
|
2054
|
+
"name": "StatsBarComponent",
|
|
2055
|
+
"selector": "ds-stats-bar",
|
|
2056
|
+
"description": "Barra horizontal de metricas clicaveis (N stat-cards em grid responsivo 2-6 colunas). Thin-wrap de <app-stats-bar> (221 LOC). NAO confundir com <ds-statsbar-card> que renderiza UMA stat individual do dashboard. Cada stat tem id, label, value, color (9 opcoes legacy DEC-DSA-M), opcionalmente icon, percent, trend (up/down/neutral) com trendValue, tooltip, clickable, onClick. Suporta selecao single (default) ou multi-select via config. Skeleton loading built-in. Padrao Listagem CRUD: barra de filtros visuais no topo da pagina (clicar filtra a tabela abaixo).",
|
|
2057
|
+
"tags": [
|
|
2058
|
+
"stats",
|
|
2059
|
+
"metrics",
|
|
2060
|
+
"kpi",
|
|
2061
|
+
"filter",
|
|
2062
|
+
"listagem",
|
|
2063
|
+
"crud",
|
|
2064
|
+
"horizontal",
|
|
2065
|
+
"statsbar"
|
|
2066
|
+
],
|
|
2067
|
+
"props": [
|
|
2068
|
+
{
|
|
2069
|
+
"name": "stats",
|
|
2070
|
+
"type": "StatItem[]",
|
|
2071
|
+
"default": "[]",
|
|
2072
|
+
"description": "Lista de stats. Cada StatItem: {id, label, value (number|string), color?, icon?, percent?, total?, tooltip?, isActive?, clickable?, onClick?, trend?, trendValue?}."
|
|
2073
|
+
},
|
|
2074
|
+
{
|
|
2075
|
+
"name": "config",
|
|
2076
|
+
"type": "StatsBarConfig",
|
|
2077
|
+
"default": "{}",
|
|
2078
|
+
"description": "{columns?: 2-6 (default 4), loading?, showSkeleton?, skeletonCount?, variant?: default|compact|cards, containerClass?, showIcons?, showTrends?, multiSelect?}."
|
|
2079
|
+
}
|
|
2080
|
+
],
|
|
2081
|
+
"outputs": [
|
|
2082
|
+
{
|
|
2083
|
+
"name": "statClick",
|
|
2084
|
+
"type": "EventEmitter<StatSelectEvent>",
|
|
2085
|
+
"description": "Emitido ao clicar em uma stat. Inclui item clicado + lista de selecionados (multi)."
|
|
2086
|
+
}
|
|
2087
|
+
],
|
|
2088
|
+
"examples": [
|
|
2089
|
+
"<ds-stats-bar [stats]=\"courseStats()\" [config]=\"{ columns: 4, showTrends: true }\" (statClick)=\"onStatClick($event)\" />",
|
|
2090
|
+
"// Stat com trend:\n{ id: 'active', label: 'Ativos', value: 89, color: 'success', percent: 72, trend: 'up', trendValue: '+12%' }",
|
|
2091
|
+
"// Pipeline 6 colunas:\n<ds-stats-bar [stats]=\"pipelineStats\" [config]=\"{ columns: 6 }\" />"
|
|
2092
|
+
]
|
|
1918
2093
|
}
|
|
1919
2094
|
],
|
|
1920
2095
|
"services": [
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dgplsoares/singulai-ds-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "MCP server exposing the Singulai Design System (Angular 20) to AI agents \u2014 Claude Desktop, Claude Code, Cursor, Continue.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|