@dgplsoares/singulai-ds-mcp 0.7.0 → 0.9.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 +34 -29
- package/package.json +2 -2
package/dist/data/catalog.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
3
|
-
"generated_at": "2026-05-
|
|
2
|
+
"version": "0.9.0",
|
|
3
|
+
"generated_at": "2026-05-18",
|
|
4
4
|
"design_system": {
|
|
5
5
|
"name": "Singulai Design System",
|
|
6
6
|
"version": "DS-2.1",
|
|
@@ -276,7 +276,7 @@
|
|
|
276
276
|
{
|
|
277
277
|
"name": "ButtonComponent",
|
|
278
278
|
"selector": "ds-button",
|
|
279
|
-
"description": "Botão unificado do DS —
|
|
279
|
+
"description": "Botão unificado do DS — 14 variants estruturais × 11 cores semânticas. Variants: primary-cta (gradient animado, card welcome), solid + outline (DS-2.1 — substituem modal-primary/modal-cancel), action (header dashboard principal — Reorganizar/Personalizar), action-icon (BTN-1 v2 — label-aware: sem children = icon-only 28×28 neumorphic row action; com children = pill icon+text inline accordion ou Plataformas header), action-add (BTN-1 v2 — mode-aware: default outline branco neumorphic; variantColor=primary = filled azul; '+ Adicionar X' em header datatable), icon (LEGACY — usar action-icon), submit, sidebar, modal-cancel/modal-primary (DEPRECATED), nav-tab, pagination, toggle-status. Suporta ícones left/right (heroicons via iconLeft/iconRight ou imagens via iconImageSrc), estados loading/disabled, flag active, e override de tamanho de ícone via iconSizeOverride (G.4.3 — DEC-G4.3-N).",
|
|
280
280
|
"tags": [
|
|
281
281
|
"button",
|
|
282
282
|
"cta",
|
|
@@ -329,6 +329,12 @@
|
|
|
329
329
|
"default": "'20px'",
|
|
330
330
|
"description": "Tamanho do ícone via path."
|
|
331
331
|
},
|
|
332
|
+
{
|
|
333
|
+
"name": "iconSizeOverride",
|
|
334
|
+
"type": "string | null",
|
|
335
|
+
"default": "null",
|
|
336
|
+
"description": "Override do tamanho do ícone heroicon (iconLeft/iconRight). Default null usa o mapeamento size→iconSize (sm=12/md=14/lg=16px). Útil quando o ícone precisa diferir do tamanho do botão (ex: action-icon size=md com ícone 17px em row actions de datatable — DEC-G4.3-N)."
|
|
337
|
+
},
|
|
332
338
|
{
|
|
333
339
|
"name": "iconRight",
|
|
334
340
|
"type": "string | null",
|
|
@@ -368,7 +374,10 @@
|
|
|
368
374
|
],
|
|
369
375
|
"examples": [
|
|
370
376
|
"<ds-button variant=\"solid\" variantColor=\"primary\" (clicked)=\"onSave()\">Salvar</ds-button>",
|
|
371
|
-
"<ds-button variant=\"icon\" iconLeft=\"
|
|
377
|
+
"<ds-button variant=\"action-icon\" size=\"sm\" variantColor=\"danger\" iconLeft=\"heroTrash\" ariaLabel=\"Excluir\" (clicked)=\"onDelete()\" />",
|
|
378
|
+
"<ds-button variant=\"action-icon\" size=\"lg\" iconLeft=\"heroSquares2x2\" variantColor=\"info\">Plataformas</ds-button>",
|
|
379
|
+
"<ds-button variant=\"action-add\" size=\"lg\" variantColor=\"primary\" iconLeft=\"heroPlus\">Adicionar Aluno</ds-button>",
|
|
380
|
+
"<ds-button variant=\"action-icon\" size=\"md\" iconSizeOverride=\"17px\" variantColor=\"info\" iconLeft=\"heroEye\" ariaLabel=\"Ver\" (clicked)=\"onView()\" />",
|
|
372
381
|
"<ds-button variant=\"primary-cta\" [loading]=\"saving()\" type=\"submit\">Criar conta</ds-button>"
|
|
373
382
|
]
|
|
374
383
|
},
|
|
@@ -946,7 +955,7 @@
|
|
|
946
955
|
{
|
|
947
956
|
"name": "AiAssistantPanelComponent",
|
|
948
957
|
"selector": "ds-ai-assistant-panel",
|
|
949
|
-
"description": "Painel lateral do Agente IA — header com tabs (current/new/chats) + créditos pill + actions (settings, maximize/minimize, close) + timeline de mensagens + action prompts + composer. Modo embedded para projeção em mobile bottom-sheet. CHAT-1.3: adicionado slot [ai-panel-body] para embedar brain do chat + showMaximize input + settings dropdown com 4 data-switchers (G1) + send button hover micro-anim (G6).",
|
|
958
|
+
"description": "Painel lateral do Agente IA — header com tabs (current/new/chats) + créditos pill + actions (settings, maximize/minimize, close) + timeline de mensagens + action prompts + composer. Modo embedded para projeção em mobile bottom-sheet. CHAT-1.3: adicionado slot [ai-panel-body] para embedar brain do chat + showMaximize input + settings dropdown com 4 data-switchers (G1) + send button hover micro-anim (G6). CHAT-1.5: input showTabs adicionado para evitar duplicacao de tabs quando body projetado ja tem.",
|
|
950
959
|
"tags": [
|
|
951
960
|
"ai",
|
|
952
961
|
"assistant",
|
|
@@ -1051,6 +1060,12 @@
|
|
|
1051
1060
|
"type": "AiPromptConfig",
|
|
1052
1061
|
"default": "DEFAULT_AI_PROMPT_CONFIG",
|
|
1053
1062
|
"description": "G1: config dos 4 data-switchers do settings dropdown (criatividade, tomVoz, searchExternal, extendedThinking)."
|
|
1063
|
+
},
|
|
1064
|
+
{
|
|
1065
|
+
"name": "showTabs",
|
|
1066
|
+
"type": "boolean",
|
|
1067
|
+
"default": "true",
|
|
1068
|
+
"description": "CHAT-1.5: controla render da row de tabs no header. Quando useBodySlot=true (caller projeta body com suas proprias tabs ex: app-ai-chat-timeline), passar `false` evita duplicacao visual. Tech debt CHAT-2: refactor timeline para usar tabs do DS panel como source of truth."
|
|
1054
1069
|
}
|
|
1055
1070
|
],
|
|
1056
1071
|
"examples": [
|
|
@@ -1162,7 +1177,7 @@
|
|
|
1162
1177
|
{
|
|
1163
1178
|
"name": "StatsbarCardComponent",
|
|
1164
1179
|
"selector": "ds-statsbar-card",
|
|
1165
|
-
"description": "Card de KPI para statsbar — title + value + delta (com seta up/down) + ícone neumorphic embutido.
|
|
1180
|
+
"description": "Card de KPI para statsbar — title + value + delta (com seta up/down) + ícone neumorphic embutido. 7 variants de cor (success/purple/warning/info/danger/neutral/pink). Polaridade invertida disponível (deltaDirection 'down' = bom em métricas onde 'menos é melhor', ex: Tempo Médio, Tickets Abertos).",
|
|
1166
1181
|
"tags": [
|
|
1167
1182
|
"kpi",
|
|
1168
1183
|
"statsbar",
|
|
@@ -1205,7 +1220,7 @@
|
|
|
1205
1220
|
"name": "variant",
|
|
1206
1221
|
"type": "StatsbarCardVariant",
|
|
1207
1222
|
"default": "'neutral'",
|
|
1208
|
-
"description": "
|
|
1223
|
+
"description": "Cor semântica do card. 7 variants: 'success' (verde), 'purple' (roxo, ex: Tempo Médio), 'warning' (amarelo), 'info' (azul claro), 'danger' (vermelho), 'neutral' (cinza default), 'pink' (rosa)."
|
|
1209
1224
|
},
|
|
1210
1225
|
{
|
|
1211
1226
|
"name": "iconImageSrc",
|
|
@@ -1470,7 +1485,7 @@
|
|
|
1470
1485
|
{
|
|
1471
1486
|
"name": "DatatableComponent",
|
|
1472
1487
|
"selector": "ds-datatable",
|
|
1473
|
-
"description": "Tabela de dados com search
|
|
1488
|
+
"description": "Tabela de dados com toolbar (search + filter dropdown + secondaryAction + count badge + add button), body 2-camadas neumorphic, e pagination footer pixel-perfect (Figma 892:9019/9046/9396). Wrapper thin de <app-data-table> shared — composição config-only (DEC-PREP3-A). Refator G.4.3 (2026-05-18) trouxe pixel-perfect: toolbar usa <ds-form-field variant=search> + <ds-filter-dropdown mode=single> + <ds-button action-icon> (secondaryAction) + <ds-button action-add> (addButton). Row actions usam <ds-button variant=action-icon size=md iconSizeOverride=17px> com mapeamento RowAction.variant → colorVariant (default→info, warning→warning, danger→danger). Pagination footer: prev/next SVG icon-only, inactive numbers só texto, active pill 32×30 neumorphic. Estrutura 2-camadas via 2-border (estratégia ds-stats-bar). LIGHTMODE-FIRST estrito (zero classes dark:). Config aceita: columns, rowActions, bulkActions, filterDropdown, secondaryAction (DEC-G4.3-D — pill action-icon variantColor=info, ex: 'Categorias'/'Etiquetas'/'Tags'), addButton, itemCountBadge, serverSide + serverSideMeta, paginated, searchable. Suporta server-side ou client-side. Custom cells: badge, avatar, composite (avatar+título+desc), progress, switch, dateRelative.",
|
|
1474
1489
|
"tags": [
|
|
1475
1490
|
"datatable",
|
|
1476
1491
|
"data-table",
|
|
@@ -1562,23 +1577,7 @@
|
|
|
1562
1577
|
}
|
|
1563
1578
|
],
|
|
1564
1579
|
"examples": [
|
|
1565
|
-
"
|
|
1566
|
-
" columns: [",
|
|
1567
|
-
" { key: 'name', label: 'Curso', type: 'text', sortable: true },",
|
|
1568
|
-
" { key: 'isActive', label: 'Status', type: 'switch', switchConfig: { activeLabel: 'Ativo' } },",
|
|
1569
|
-
" { key: 'level', label: 'Nivel', type: 'badge' },",
|
|
1570
|
-
" ],",
|
|
1571
|
-
" searchable: true,",
|
|
1572
|
-
" paginated: true,",
|
|
1573
|
-
" initialPageSize: 20,",
|
|
1574
|
-
"};",
|
|
1575
|
-
"",
|
|
1576
|
-
"<ds-datatable",
|
|
1577
|
-
" [data]=\"courses()\"",
|
|
1578
|
-
" [config]=\"tableConfig\"",
|
|
1579
|
-
" [loading]=\"isLoading()\"",
|
|
1580
|
-
" (rowClick)=\"onRowClick($event)\"",
|
|
1581
|
-
"/>"
|
|
1580
|
+
"<ds-datatable [data]=\"items()\" [config]=\"tableConfig()\" [loading]=\"loading()\" (pageChange)=\"onPage($event)\" (filterChange)=\"onFilter($event)\" />"
|
|
1582
1581
|
]
|
|
1583
1582
|
},
|
|
1584
1583
|
{
|
|
@@ -2120,7 +2119,7 @@
|
|
|
2120
2119
|
{
|
|
2121
2120
|
"name": "FilterDropdownComponent",
|
|
2122
2121
|
"selector": "ds-filter-dropdown",
|
|
2123
|
-
"description": "Filtro multi-select via overlay com checkboxes round neumorphic. Pattern
|
|
2122
|
+
"description": "Filtro single OU multi-select via overlay com checkboxes round neumorphic. Pattern Figma DEC-FIG-A-4 (952-15654/16189/16231/16238). Trigger pill neumorphic 48px altura (bg #EDF1F6 + drop shadow + inset top white / bottom dark — DEC-G4.3-A) com icon filter + label dinâmico + chevron. Overlay com border 1px #ADC2DD + checkboxes 16px round (selecionado: gradient azul #5C8DE2→#27467C + outer shadow neumorphic; não-selecionado: bg #E3EDF7 + inset shadow). Modo controlado via prop `mode`: 'multi' (default — toggla values, mantém overlay aberto) ou 'single' (substitui seleção + fecha overlay automaticamente — DEC-G4.3-F, padrão para filtros de listagem). Estado controlado pelo caller via selectedValues array. Click fora ou ESC fecha. Usa CDK Overlay.",
|
|
2124
2123
|
"tags": [
|
|
2125
2124
|
"filter",
|
|
2126
2125
|
"dropdown",
|
|
@@ -2173,6 +2172,12 @@
|
|
|
2173
2172
|
"type": "string",
|
|
2174
2173
|
"default": "'200px'",
|
|
2175
2174
|
"description": "Largura minima do overlay (CSS)."
|
|
2175
|
+
},
|
|
2176
|
+
{
|
|
2177
|
+
"name": "mode",
|
|
2178
|
+
"type": "FilterDropdownMode",
|
|
2179
|
+
"default": "'multi'",
|
|
2180
|
+
"description": "Modo de seleção: 'single' (click substitui seleção por [value] e fecha overlay) ou 'multi' (toggla value no array, overlay permanece aberto). Default 'multi' retrocompat. Single é o padrão para filtros de listagem em datatables (DEC-G4.3-F)."
|
|
2176
2181
|
}
|
|
2177
2182
|
],
|
|
2178
2183
|
"outputs": [
|
|
@@ -2188,8 +2193,8 @@
|
|
|
2188
2193
|
}
|
|
2189
2194
|
],
|
|
2190
2195
|
"examples": [
|
|
2191
|
-
"<ds-filter-dropdown
|
|
2192
|
-
"
|
|
2196
|
+
"<ds-filter-dropdown [options]=\"statusOptions\" [selectedValues]=\"selected()\" triggerLabel=\"Status\" mode=\"multi\" (filtersChange)=\"onFilters($event)\" />",
|
|
2197
|
+
"<ds-filter-dropdown [options]=\"statusOptions\" [selectedValues]=\"[currentFilter()]\" triggerLabel=\"Todos\" mode=\"single\" (filtersChange)=\"onFilterChange($event)\" />"
|
|
2193
2198
|
]
|
|
2194
2199
|
}
|
|
2195
2200
|
],
|
|
@@ -2320,4 +2325,4 @@
|
|
|
2320
2325
|
]
|
|
2321
2326
|
}
|
|
2322
2327
|
]
|
|
2323
|
-
}
|
|
2328
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dgplsoares/singulai-ds-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.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",
|
|
@@ -50,4 +50,4 @@
|
|
|
50
50
|
"tsx": "^4.19.2",
|
|
51
51
|
"typescript": "^5.7.2"
|
|
52
52
|
}
|
|
53
|
-
}
|
|
53
|
+
}
|