@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,4402 @@
|
|
|
1
|
+
{
|
|
2
|
+
"categories": {
|
|
3
|
+
"inputs": {
|
|
4
|
+
"description": "Input and action components",
|
|
5
|
+
"components": [
|
|
6
|
+
{
|
|
7
|
+
"name": "button",
|
|
8
|
+
"selector": "s-button",
|
|
9
|
+
"description": "Componente de botão versátil que suporta ícones, tooltip, menu de opções (tiered menu), badge, animações e diferentes prioridades visuais. Pode ser configurado como botão de ação simples, botão com menu dropdown ou botão deslizante (slide).",
|
|
10
|
+
"package": "@seniorsistemas/angular-components/button",
|
|
11
|
+
"priority": "high",
|
|
12
|
+
"keywords": [
|
|
13
|
+
"button",
|
|
14
|
+
"inputs"
|
|
15
|
+
],
|
|
16
|
+
"inputs": [
|
|
17
|
+
{
|
|
18
|
+
"name": "id",
|
|
19
|
+
"description": "Identificador único do elemento botão no DOM. Gerado automaticamente se não informado.",
|
|
20
|
+
"type": "string"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "label",
|
|
24
|
+
"description": "Texto exibido dentro do botão.",
|
|
25
|
+
"type": "string"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "tooltip",
|
|
29
|
+
"description": "Texto do tooltip exibido ao passar o mouse sobre o botão.",
|
|
30
|
+
"type": "string"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "tooltipPosition",
|
|
34
|
+
"description": "Posição do tooltip em relação ao botão.",
|
|
35
|
+
"default": "'top'",
|
|
36
|
+
"type": "TooltipPositions"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "iconClass",
|
|
40
|
+
"description": "Classe de ícone exibida à esquerda do label (ex.: `'fas fa-save'`).",
|
|
41
|
+
"type": "string"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"name": "rightIconClass",
|
|
45
|
+
"description": "Classe de ícone exibida à direita do label.",
|
|
46
|
+
"type": "string"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "caret",
|
|
50
|
+
"description": "Exibe o ícone de caret (seta) quando o botão possui um menu de opções.",
|
|
51
|
+
"default": "true",
|
|
52
|
+
"type": "boolean"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"name": "styleClass",
|
|
56
|
+
"description": "Classe CSS adicional aplicada ao elemento `<button>` interno.",
|
|
57
|
+
"default": "''",
|
|
58
|
+
"type": "string"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"name": "baseZIndex",
|
|
62
|
+
"description": "Z-index base do painel do menu dropdown associado ao botão.",
|
|
63
|
+
"default": "0",
|
|
64
|
+
"type": "number"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"name": "disabled",
|
|
68
|
+
"description": "Desabilita o botão, impedindo cliques e interação do usuário.",
|
|
69
|
+
"default": "false",
|
|
70
|
+
"type": "boolean"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"name": "auxiliary",
|
|
74
|
+
"description": "Aplica estilo auxiliar (menos destaque visual) ao botão.",
|
|
75
|
+
"default": "false",
|
|
76
|
+
"type": "boolean"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "type",
|
|
80
|
+
"description": "Tipo do elemento `<button>` HTML (`'button'`, `'submit'`, `'reset'`).",
|
|
81
|
+
"default": "'button'",
|
|
82
|
+
"type": "string"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"name": "priority",
|
|
86
|
+
"description": "Prioridade visual do botão, que determina seu estilo. Aceita `'primary'`, `'default'`, `'danger'`, `'link'`, entre outros.",
|
|
87
|
+
"default": "'primary'",
|
|
88
|
+
"type": "ButtonPriority"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"name": "menuOptions",
|
|
92
|
+
"description": "Lista de itens do menu dropdown exibido ao clicar no caret do botão.",
|
|
93
|
+
"default": "[]",
|
|
94
|
+
"type": "TieredMenuItemData[]"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"name": "menuAriaLabel",
|
|
98
|
+
"description": "Tamanho visual do botão. Aceita `'default'` ou `'small'`.",
|
|
99
|
+
"default": "'default'",
|
|
100
|
+
"type": "string"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"name": "size",
|
|
104
|
+
"type": "'default' | 'small'"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"name": "slide",
|
|
108
|
+
"description": "Habilita o modo slide, que exibe uma animação de deslize ao passar o mouse. Requer `priority` igual a `'default'` ou `'link'` e um `label` definido.",
|
|
109
|
+
"default": "false",
|
|
110
|
+
"type": "boolean"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"name": "animation",
|
|
114
|
+
"description": "Tipo de animação aplicada ao botão (`'rotate'`, `'pulse'`, etc.).",
|
|
115
|
+
"type": "ButtonAnimations"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"name": "badge",
|
|
119
|
+
"description": "Configuração do badge exibido sobre o botão, com contador ou indicador visual.",
|
|
120
|
+
"type": "ButtonBadgeConfig"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"name": "iconColor",
|
|
124
|
+
"description": "Cor aplicada ao ícone do botão, sobrescrevendo a cor padrão do tema.",
|
|
125
|
+
"type": "string"
|
|
126
|
+
}
|
|
127
|
+
],
|
|
128
|
+
"outputs": [
|
|
129
|
+
{
|
|
130
|
+
"name": "clicked",
|
|
131
|
+
"description": "Emitido ao clicar no botão, desde que não esteja desabilitado.",
|
|
132
|
+
"type": "EventEmitter<any>"
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"name": "dynamic-form",
|
|
138
|
+
"selector": "s-dynamic-form",
|
|
139
|
+
"description": "Componente de formulário dinâmico que renderiza campos configuráveis a partir de uma estrutura de dados (`DynamicStructure[]` ou `DynamicType[]`). Suporta múltiplos tipos de campo (texto, número, select, data, arquivo, etc.) e integra-se a um `FormGroup` Angular existente.",
|
|
140
|
+
"package": "@seniorsistemas/angular-components/dynamic-form",
|
|
141
|
+
"priority": "high",
|
|
142
|
+
"keywords": [
|
|
143
|
+
"dynamic-form",
|
|
144
|
+
"dynamic",
|
|
145
|
+
"form",
|
|
146
|
+
"inputs"
|
|
147
|
+
],
|
|
148
|
+
"inputs": [
|
|
149
|
+
{
|
|
150
|
+
"name": "id",
|
|
151
|
+
"description": "Identificador único do formulário dinâmico no DOM.",
|
|
152
|
+
"type": "string"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"name": "configs",
|
|
156
|
+
"description": "Lista de estruturas de campos dinâmicos a serem renderizados.",
|
|
157
|
+
"default": "[]",
|
|
158
|
+
"type": "DynamicStructure[]"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"name": "fields",
|
|
162
|
+
"description": "Lista legada de campos dinâmicos no formato `DynamicType[]`.",
|
|
163
|
+
"type": "DynamicType[]",
|
|
164
|
+
"deprecated": true
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"name": "form",
|
|
168
|
+
"description": "`FormGroup` Angular ao qual os campos dinâmicos serão vinculados. Campo obrigatório."
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"name": "errorMessages",
|
|
172
|
+
"description": "Mapa de mensagens de erro customizadas por nome de validador, aplicadas globalmente aos campos do formulário.",
|
|
173
|
+
"default": "{}",
|
|
174
|
+
"type": "any"
|
|
175
|
+
}
|
|
176
|
+
],
|
|
177
|
+
"mustUse": true,
|
|
178
|
+
"reason": "Always prefer dynamic-form over individual form components for better UX consistency"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"name": "accordion",
|
|
182
|
+
"selector": "s-accordion",
|
|
183
|
+
"description": "Componente de acordeão que gerencia a abertura e o fechamento de painéis {",
|
|
184
|
+
"package": "@seniorsistemas/angular-components/accordion",
|
|
185
|
+
"priority": "medium",
|
|
186
|
+
"keywords": [
|
|
187
|
+
"accordion",
|
|
188
|
+
"inputs"
|
|
189
|
+
],
|
|
190
|
+
"inputs": [
|
|
191
|
+
{
|
|
192
|
+
"name": "activeIndex",
|
|
193
|
+
"description": "Índice (ou lista de índices) do(s) painel(is) que devem iniciar abertos. Aceita um número para painel único ou um array de números para o modo múltiplo.",
|
|
194
|
+
"type": "number | number[]"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"name": "multiple",
|
|
198
|
+
"description": "Permite que múltiplos painéis estejam abertos ao mesmo tempo. Quando `false`, abrir um painel fecha automaticamente o anterior.",
|
|
199
|
+
"default": "false",
|
|
200
|
+
"type": "boolean"
|
|
201
|
+
}
|
|
202
|
+
]
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"name": "autocomplete",
|
|
206
|
+
"selector": "s-autocomplete",
|
|
207
|
+
"description": "Componente de autocompletar com sugestões dinâmicas, suportando seleção simples e múltipla. Implementa {",
|
|
208
|
+
"package": "@seniorsistemas/angular-components/autocomplete",
|
|
209
|
+
"priority": "medium",
|
|
210
|
+
"keywords": [
|
|
211
|
+
"autocomplete",
|
|
212
|
+
"inputs"
|
|
213
|
+
],
|
|
214
|
+
"inputs": [
|
|
215
|
+
{
|
|
216
|
+
"name": "suggestions",
|
|
217
|
+
"description": "Lista estática de sugestões exibidas no dropdown. No modo lazy, prefira usar o output `lazyLoad`.",
|
|
218
|
+
"default": "[]",
|
|
219
|
+
"type": "T[]"
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
"name": "placeholder",
|
|
223
|
+
"description": "Texto exibido no input quando nenhum valor está selecionado.",
|
|
224
|
+
"type": "string"
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"name": "suggestionValue",
|
|
228
|
+
"description": "Chave do objeto de sugestão cujo valor será emitido ao formulário.",
|
|
229
|
+
"type": "keyof T"
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"name": "suggestionLabel",
|
|
233
|
+
"description": "Chave do objeto de sugestão usada como texto de exibição no dropdown.",
|
|
234
|
+
"type": "keyof T"
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"name": "readonly",
|
|
238
|
+
"description": "Torna o campo somente leitura, impedindo digitação e seleção.",
|
|
239
|
+
"default": "false",
|
|
240
|
+
"type": "boolean"
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"name": "emptyMessage",
|
|
244
|
+
"description": "Mensagem exibida no dropdown quando nenhuma sugestão é encontrada.",
|
|
245
|
+
"type": "string"
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"name": "delay",
|
|
249
|
+
"description": "Tempo de espera em ms após a última tecla antes de acionar a busca por sugestões.",
|
|
250
|
+
"default": "300",
|
|
251
|
+
"type": "number"
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"name": "invalid",
|
|
255
|
+
"description": "Exibe estado de erro visual no campo de input.",
|
|
256
|
+
"default": "false",
|
|
257
|
+
"type": "boolean"
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"name": "virtualScroll",
|
|
261
|
+
"description": "Habilita virtualização da lista de sugestões para melhor performance com grandes volumes de dados.",
|
|
262
|
+
"default": "false",
|
|
263
|
+
"type": "boolean"
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"name": "virtualScrollItemSize",
|
|
267
|
+
"description": "Altura fixa em pixels de cada item no virtual scroll.",
|
|
268
|
+
"default": "37",
|
|
269
|
+
"type": "number"
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"name": "lazy",
|
|
273
|
+
"description": "Ativa o carregamento assíncrono de sugestões via o output `lazyLoad`.",
|
|
274
|
+
"default": "false",
|
|
275
|
+
"type": "boolean"
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"name": "dropdown",
|
|
279
|
+
"description": "Exibe um botão de dropdown para abrir a lista sem necessidade de digitação.",
|
|
280
|
+
"default": "false",
|
|
281
|
+
"type": "boolean"
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"name": "forceSelection",
|
|
285
|
+
"description": "Quando `true`, o valor do campo deve ser obrigatoriamente uma das opções sugeridas.",
|
|
286
|
+
"default": "false",
|
|
287
|
+
"type": "boolean"
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"name": "checkmark",
|
|
291
|
+
"description": "Exibe ícone de checkmark ao lado da opção selecionada no dropdown.",
|
|
292
|
+
"default": "false",
|
|
293
|
+
"type": "boolean"
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"name": "multiple",
|
|
297
|
+
"description": "Habilita seleção de múltiplos itens exibidos como chips no campo.",
|
|
298
|
+
"default": "false",
|
|
299
|
+
"type": "boolean"
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
"name": "minLengthToSearch",
|
|
303
|
+
"description": "Quantidade mínima de caracteres necessária para acionar a busca por sugestões.",
|
|
304
|
+
"default": "1",
|
|
305
|
+
"type": "number"
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"name": "inputClass",
|
|
309
|
+
"description": "Classe CSS adicional aplicada ao elemento `<input>` interno.",
|
|
310
|
+
"default": "''",
|
|
311
|
+
"type": "string"
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"name": "dataKey",
|
|
315
|
+
"description": "Chave do objeto usada para comparação de identidade entre opções, evitando duplicatas na seleção múltipla.",
|
|
316
|
+
"type": "keyof T"
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
"name": "value",
|
|
320
|
+
"description": "Valor atualmente selecionado no modo simples, via two-way binding.",
|
|
321
|
+
"type": "T | null"
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"name": "values",
|
|
325
|
+
"description": "Lista de valores selecionados no modo múltiplo, via two-way binding.",
|
|
326
|
+
"default": "[]",
|
|
327
|
+
"type": "T[]"
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"name": "disabled",
|
|
331
|
+
"description": "Controla o estado desabilitado do componente via two-way binding.",
|
|
332
|
+
"default": "false",
|
|
333
|
+
"type": "boolean"
|
|
334
|
+
}
|
|
335
|
+
],
|
|
336
|
+
"outputs": [
|
|
337
|
+
{
|
|
338
|
+
"name": "lazyLoad",
|
|
339
|
+
"description": "Emitido no modo lazy quando o usuário digita e o componente está pronto para receber novas sugestões. O evento contém `query` (texto digitado) e `response` (função callback para fornecer os dados).",
|
|
340
|
+
"type": "{ query: string; response: (data: T[]) ="
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
"name": "selected",
|
|
344
|
+
"description": "Emitido quando o usuário seleciona uma sugestão do dropdown.",
|
|
345
|
+
"type": "T"
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"name": "unselected",
|
|
349
|
+
"description": "Emitido quando o usuário remove uma sugestão selecionada (modo múltiplo).",
|
|
350
|
+
"type": "T"
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"name": "blurred",
|
|
354
|
+
"description": "Emitido quando o campo perde o foco.",
|
|
355
|
+
"type": "Event"
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"name": "cleared",
|
|
359
|
+
"description": "Emitido quando o campo é limpo pelo usuário."
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
"name": "keyUp",
|
|
363
|
+
"description": "Emitido a cada pressionamento de tecla no campo de input.",
|
|
364
|
+
"type": "Event"
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
"name": "focused",
|
|
368
|
+
"description": "Emitido quando o campo recebe foco.",
|
|
369
|
+
"type": "any"
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
"name": "completeMethod",
|
|
373
|
+
"description": "Emitido quando o usuário digita no campo, fornecendo o texto atual para filtragem de sugestões.",
|
|
374
|
+
"type": "{ query: string }"
|
|
375
|
+
}
|
|
376
|
+
]
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
"name": "checkbox",
|
|
380
|
+
"selector": "s-checkbox",
|
|
381
|
+
"description": "Componente de caixa de seleção (checkbox) com suporte a três estados: marcado, desmarcado e indeterminado. Implementa {",
|
|
382
|
+
"package": "@seniorsistemas/angular-components/checkbox",
|
|
383
|
+
"priority": "medium",
|
|
384
|
+
"keywords": [
|
|
385
|
+
"checkbox",
|
|
386
|
+
"inputs"
|
|
387
|
+
],
|
|
388
|
+
"inputs": [
|
|
389
|
+
{
|
|
390
|
+
"name": "disabled",
|
|
391
|
+
"description": "Controla o estado desabilitado via two-way binding.",
|
|
392
|
+
"default": "false",
|
|
393
|
+
"type": "boolean"
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
"name": "checked",
|
|
397
|
+
"description": "Valor marcado/desmarcado do checkbox via two-way binding.",
|
|
398
|
+
"default": "false",
|
|
399
|
+
"type": "boolean"
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
"name": "indeterminate",
|
|
403
|
+
"description": "Quando `true`, o checkbox inicia no estado indeterminado (traço) até a primeira interação do usuário.",
|
|
404
|
+
"default": "false",
|
|
405
|
+
"type": "boolean"
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"name": "label",
|
|
409
|
+
"description": "Texto do label exibido ao lado do checkbox.",
|
|
410
|
+
"default": "''",
|
|
411
|
+
"type": "string"
|
|
412
|
+
}
|
|
413
|
+
],
|
|
414
|
+
"outputs": [
|
|
415
|
+
{
|
|
416
|
+
"name": "checkedChange",
|
|
417
|
+
"description": "Emitido quando o valor do checkbox é alterado pelo usuário. Emite o novo valor booleano (`true` para marcado, `false` para desmarcado).",
|
|
418
|
+
"type": "boolean"
|
|
419
|
+
}
|
|
420
|
+
],
|
|
421
|
+
"note": "Prefer using dynamic-form with appropriate field type instead"
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
"name": "select",
|
|
425
|
+
"selector": "s-select",
|
|
426
|
+
"description": "Componente de seleção dropdown genérico com suporte a seleção simples e múltipla, filtro, agrupamento, virtual scroll e acessibilidade (ARIA combobox). Implementa {",
|
|
427
|
+
"package": "@seniorsistemas/angular-components/select",
|
|
428
|
+
"priority": "medium",
|
|
429
|
+
"keywords": [
|
|
430
|
+
"select",
|
|
431
|
+
"inputs"
|
|
432
|
+
],
|
|
433
|
+
"inputs": [
|
|
434
|
+
{
|
|
435
|
+
"name": "placeholder",
|
|
436
|
+
"description": "Texto exibido quando nenhuma opção está selecionada.",
|
|
437
|
+
"default": "''",
|
|
438
|
+
"type": "string"
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
"name": "multiple",
|
|
442
|
+
"description": "Habilita a seleção de múltiplas opções simultâneas.",
|
|
443
|
+
"default": "false",
|
|
444
|
+
"type": "boolean"
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
"name": "options",
|
|
448
|
+
"description": "Lista de opções disponíveis para seleção. Campo obrigatório."
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
"name": "optionLabel",
|
|
452
|
+
"description": "Chave do objeto de opção usada como label de exibição.",
|
|
453
|
+
"type": "keyof T"
|
|
454
|
+
},
|
|
455
|
+
{
|
|
456
|
+
"name": "optionValue",
|
|
457
|
+
"description": "Chave do objeto de opção usada como valor a ser emitido ao formulário.",
|
|
458
|
+
"type": "keyof T"
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
"name": "showClear",
|
|
462
|
+
"description": "Exibe um botão para limpar a seleção atual.",
|
|
463
|
+
"default": "false",
|
|
464
|
+
"type": "boolean"
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
"name": "filter",
|
|
468
|
+
"description": "Habilita um campo de filtro textual para pesquisa nas opções.",
|
|
469
|
+
"default": "false",
|
|
470
|
+
"type": "boolean"
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
"name": "checkmark",
|
|
474
|
+
"description": "Exibe um ícone de checkmark ao lado da opção selecionada.",
|
|
475
|
+
"default": "false",
|
|
476
|
+
"type": "boolean"
|
|
477
|
+
},
|
|
478
|
+
{
|
|
479
|
+
"name": "filterBy",
|
|
480
|
+
"description": "Chave(s) do objeto usada(s) para filtragem textual. Quando não informado, usa `optionLabel`.",
|
|
481
|
+
"type": "keyof T | (keyof T)[]"
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
"name": "group",
|
|
485
|
+
"description": "Habilita agrupamento de opções. As opções devem conter itens filhos conforme a estrutura de grupo suportada.",
|
|
486
|
+
"default": "false",
|
|
487
|
+
"type": "boolean"
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
"name": "virtualScroll",
|
|
491
|
+
"description": "Habilita virtualização da lista para melhor performance com grandes volumes de opções.",
|
|
492
|
+
"default": "false",
|
|
493
|
+
"type": "boolean"
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
"name": "virtualScrollItemSize",
|
|
497
|
+
"description": "Altura fixa de cada item da lista em pixels, necessária para o cálculo do virtual scroll.",
|
|
498
|
+
"default": "37",
|
|
499
|
+
"type": "number"
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
"name": "emptyMessage",
|
|
503
|
+
"description": "Mensagem exibida quando nenhuma opção corresponde ao filtro aplicado.",
|
|
504
|
+
"default": "null",
|
|
505
|
+
"type": "string | null"
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
"name": "disabled",
|
|
509
|
+
"description": "Controla o estado desabilitado do componente via two-way binding.",
|
|
510
|
+
"default": "false",
|
|
511
|
+
"type": "boolean"
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
"name": "showOptions",
|
|
515
|
+
"description": "Controla a visibilidade do painel de opções via two-way binding.",
|
|
516
|
+
"default": "false",
|
|
517
|
+
"type": "boolean"
|
|
518
|
+
}
|
|
519
|
+
],
|
|
520
|
+
"note": "Prefer using dynamic-form with appropriate field type instead"
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
"name": "bignumber-input",
|
|
524
|
+
"selector": "input[sBignumberInput]",
|
|
525
|
+
"description": "Diretiva de máscara para campos de entrada de números de grande precisão, adaptada do `CurrencyMaskDirective`. Permite configurar precisão, escala, separadores decimais e de milhar de acordo com o locale da aplicação.",
|
|
526
|
+
"package": "@seniorsistemas/angular-components/bignumber-input",
|
|
527
|
+
"priority": "low",
|
|
528
|
+
"keywords": [
|
|
529
|
+
"bignumber-input",
|
|
530
|
+
"bignumber",
|
|
531
|
+
"input",
|
|
532
|
+
"inputs"
|
|
533
|
+
],
|
|
534
|
+
"inputs": [
|
|
535
|
+
{
|
|
536
|
+
"name": "precision",
|
|
537
|
+
"description": "Número total de dígitos significativos aceitos pelo campo.",
|
|
538
|
+
"default": "15",
|
|
539
|
+
"type": "number"
|
|
540
|
+
},
|
|
541
|
+
{
|
|
542
|
+
"name": "scale",
|
|
543
|
+
"description": "Número de casas decimais exibidas e aceitas pelo campo.",
|
|
544
|
+
"default": "0",
|
|
545
|
+
"type": "number"
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
"name": "decimalSeparator",
|
|
549
|
+
"description": "Separador decimal personalizado. Quando não informado, utiliza o separador definido pelo locale ativo da aplicação.",
|
|
550
|
+
"type": "string"
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
"name": "thousandsSeparator",
|
|
554
|
+
"description": "Separador de milhar personalizado. Quando não informado, utiliza o separador definido pelo locale ativo da aplicação.",
|
|
555
|
+
"type": "string"
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
"name": "alignTo",
|
|
559
|
+
"description": "Alinhamento do conteúdo do campo. Aceita `'left'` ou `'right'`.",
|
|
560
|
+
"default": "'left'",
|
|
561
|
+
"type": "'left' | 'right'"
|
|
562
|
+
},
|
|
563
|
+
{
|
|
564
|
+
"name": "allowNegative",
|
|
565
|
+
"description": "Permite a entrada de valores negativos.",
|
|
566
|
+
"default": "true",
|
|
567
|
+
"type": "boolean"
|
|
568
|
+
},
|
|
569
|
+
{
|
|
570
|
+
"name": "placeholder",
|
|
571
|
+
"description": "Texto de placeholder exibido quando o campo está vazio.",
|
|
572
|
+
"type": "string"
|
|
573
|
+
}
|
|
574
|
+
],
|
|
575
|
+
"outputs": [
|
|
576
|
+
{
|
|
577
|
+
"name": "pasteRejected",
|
|
578
|
+
"description": "Emitido quando uma colé (paste) é rejeitada pela validação do campo. Emite a string colada que foi recusada."
|
|
579
|
+
}
|
|
580
|
+
]
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
"name": "calendar-mask",
|
|
584
|
+
"selector": "p-calendar[sCalendarMask]",
|
|
585
|
+
"description": "Diretiva que aplica máscara de entrada a um componente `p-calendar` do PrimeNG, formatando automaticamente a data conforme o formato configurado no calendário. Intercepta os eventos de teclado e input do campo interno do calendar para garantir que apenas entradas válidas sejam aceitas.",
|
|
586
|
+
"package": "@seniorsistemas/angular-components/calendar-mask",
|
|
587
|
+
"priority": "low",
|
|
588
|
+
"keywords": [
|
|
589
|
+
"calendar-mask",
|
|
590
|
+
"calendar",
|
|
591
|
+
"mask",
|
|
592
|
+
"inputs"
|
|
593
|
+
],
|
|
594
|
+
"inputs": [
|
|
595
|
+
{
|
|
596
|
+
"name": "slotChar",
|
|
597
|
+
"description": "Caractere usado como placeholder para as posições ainda não preenchidas na máscara.",
|
|
598
|
+
"default": "'_'",
|
|
599
|
+
"type": "string"
|
|
600
|
+
},
|
|
601
|
+
{
|
|
602
|
+
"name": "autoClear",
|
|
603
|
+
"description": "Quando `true`, limpa automaticamente o campo caso o valor digitado seja inválido ao perder o foco.",
|
|
604
|
+
"default": "false",
|
|
605
|
+
"type": "boolean"
|
|
606
|
+
}
|
|
607
|
+
]
|
|
608
|
+
},
|
|
609
|
+
{
|
|
610
|
+
"name": "chat",
|
|
611
|
+
"selector": "s-chat",
|
|
612
|
+
"description": "Componente de interface de chat que exibe uma lista de mensagens e faz scroll automático até a última mensagem sempre que novas são adicionadas. Renderiza cada mensagem via {",
|
|
613
|
+
"package": "@seniorsistemas/angular-components/chat",
|
|
614
|
+
"priority": "low",
|
|
615
|
+
"keywords": [
|
|
616
|
+
"chat",
|
|
617
|
+
"inputs"
|
|
618
|
+
],
|
|
619
|
+
"inputs": [
|
|
620
|
+
{
|
|
621
|
+
"name": "messages",
|
|
622
|
+
"description": "Lista de mensagens exibidas no chat. Cada item é do tipo {",
|
|
623
|
+
"default": "[]",
|
|
624
|
+
"type": "ChatMessage[]"
|
|
625
|
+
}
|
|
626
|
+
]
|
|
627
|
+
},
|
|
628
|
+
{
|
|
629
|
+
"name": "checkbox-list",
|
|
630
|
+
"selector": "s-checkbox-list",
|
|
631
|
+
"description": "Componente de lista de checkboxes hierárquica, com suporte a estados pai/filho e indeterminado. Ao marcar/desmarcar o item pai, todos os filhos são afetados, e o estado do pai é calculado automaticamente com base nos filhos. Implementa {",
|
|
632
|
+
"package": "@seniorsistemas/angular-components/checkbox-list",
|
|
633
|
+
"priority": "low",
|
|
634
|
+
"keywords": [
|
|
635
|
+
"checkbox-list",
|
|
636
|
+
"checkbox",
|
|
637
|
+
"list",
|
|
638
|
+
"inputs"
|
|
639
|
+
],
|
|
640
|
+
"inputs": [
|
|
641
|
+
{
|
|
642
|
+
"name": "data",
|
|
643
|
+
"description": "Estrutura de dados que define o item raiz e seus filhos. Cada `CheckboxListData` pode conter o label, estado inicial e uma lista de filhos recursiva. Campo obrigatório."
|
|
644
|
+
}
|
|
645
|
+
]
|
|
646
|
+
},
|
|
647
|
+
{
|
|
648
|
+
"name": "chips",
|
|
649
|
+
"selector": "s-chip-item",
|
|
650
|
+
"description": "Componente interno de item individual de chip, utilizado pelo {",
|
|
651
|
+
"package": "@seniorsistemas/angular-components/chips",
|
|
652
|
+
"priority": "low",
|
|
653
|
+
"keywords": [
|
|
654
|
+
"chips",
|
|
655
|
+
"inputs"
|
|
656
|
+
],
|
|
657
|
+
"inputs": [
|
|
658
|
+
{
|
|
659
|
+
"name": "dataRender",
|
|
660
|
+
"description": "Conteúdo a ser exibido no chip (string ou objeto). Campo obrigatório."
|
|
661
|
+
},
|
|
662
|
+
{
|
|
663
|
+
"name": "objectField",
|
|
664
|
+
"description": "Chave do objeto usada para exibição quando `dataRender` for um objeto. Campo obrigatório."
|
|
665
|
+
},
|
|
666
|
+
{
|
|
667
|
+
"name": "disabled",
|
|
668
|
+
"description": "Desabilita os eventos de clique do chip. Campo obrigatório.",
|
|
669
|
+
"type": "boolean"
|
|
670
|
+
},
|
|
671
|
+
{
|
|
672
|
+
"name": "templateRef",
|
|
673
|
+
"description": "Template personalizado para renderização interna do chip."
|
|
674
|
+
},
|
|
675
|
+
{
|
|
676
|
+
"name": "itemIndex",
|
|
677
|
+
"description": "Índice do chip na lista, usado ao emitir o evento de remoção. Campo obrigatório.",
|
|
678
|
+
"type": "number"
|
|
679
|
+
},
|
|
680
|
+
{
|
|
681
|
+
"name": "showTooltip",
|
|
682
|
+
"description": "Habilita o tooltip para chips com texto truncado. Campo obrigatório.",
|
|
683
|
+
"type": "boolean"
|
|
684
|
+
},
|
|
685
|
+
{
|
|
686
|
+
"name": "maxLengthRenderWithoutTooltip",
|
|
687
|
+
"description": "Limite de caracteres exibidos antes de truncar o texto do chip. Campo obrigatório.",
|
|
688
|
+
"type": "number"
|
|
689
|
+
}
|
|
690
|
+
],
|
|
691
|
+
"outputs": [
|
|
692
|
+
{
|
|
693
|
+
"name": "clickRemove",
|
|
694
|
+
"description": "Emitido ao clicar no botão de remoção do chip."
|
|
695
|
+
},
|
|
696
|
+
{
|
|
697
|
+
"name": "chipClicked",
|
|
698
|
+
"description": "Emitido ao clicar sobre o chip (fora do botão de remoção)."
|
|
699
|
+
}
|
|
700
|
+
]
|
|
701
|
+
},
|
|
702
|
+
{
|
|
703
|
+
"name": "code-editor",
|
|
704
|
+
"selector": "s-code-editor",
|
|
705
|
+
"description": "Componente de editor de código com syntax highlighting, construído sobre um editor Monaco/CodeMirror. Implementa {",
|
|
706
|
+
"package": "@seniorsistemas/angular-components/code-editor",
|
|
707
|
+
"priority": "low",
|
|
708
|
+
"keywords": [
|
|
709
|
+
"code-editor",
|
|
710
|
+
"code",
|
|
711
|
+
"editor",
|
|
712
|
+
"inputs"
|
|
713
|
+
],
|
|
714
|
+
"inputs": [
|
|
715
|
+
{
|
|
716
|
+
"name": "set",
|
|
717
|
+
"description": "Opções de configuração do editor (linguagem, tema, readonly, etc.). Ao atribuir um novo valor, as opções são aplicadas imediatamente ao editor."
|
|
718
|
+
},
|
|
719
|
+
{
|
|
720
|
+
"name": "set",
|
|
721
|
+
"description": "Conteúdo textual do editor. Ao atribuir, o código é propagado ao núcleo do editor."
|
|
722
|
+
},
|
|
723
|
+
{
|
|
724
|
+
"name": "isCodeValid",
|
|
725
|
+
"description": "Indica se o código atual é válido segundo as regras do editor. Pode ser usado para exibir indicadores visuais de erro.",
|
|
726
|
+
"default": "false",
|
|
727
|
+
"type": "boolean | undefined"
|
|
728
|
+
},
|
|
729
|
+
{
|
|
730
|
+
"name": "set",
|
|
731
|
+
"description": "Payload adicional passado ao núcleo do editor, utilizado para contexto de autocompletar ou validações específicas da linguagem."
|
|
732
|
+
}
|
|
733
|
+
],
|
|
734
|
+
"outputs": [
|
|
735
|
+
{
|
|
736
|
+
"name": "codeChange",
|
|
737
|
+
"description": "Emitido sempre que o conteúdo do editor é alterado. Emite o código atual como string."
|
|
738
|
+
},
|
|
739
|
+
{
|
|
740
|
+
"name": "isCodeValidChange",
|
|
741
|
+
"description": "Emitido quando o estado de validade do código muda."
|
|
742
|
+
},
|
|
743
|
+
{
|
|
744
|
+
"name": "onCodeChange",
|
|
745
|
+
"description": "Emitido sempre que o conteúdo do editor é alterado.",
|
|
746
|
+
"deprecated": true
|
|
747
|
+
},
|
|
748
|
+
{
|
|
749
|
+
"name": "onComponentFinishLoad",
|
|
750
|
+
"description": "Emitido quando o componente finaliza o carregamento e o editor está pronto para uso."
|
|
751
|
+
}
|
|
752
|
+
]
|
|
753
|
+
},
|
|
754
|
+
{
|
|
755
|
+
"name": "content-generator",
|
|
756
|
+
"selector": "s-content-generator, s-text-area-ia",
|
|
757
|
+
"description": "Componente de área de texto com geração de conteúdo por inteligência artificial. Integra-se ao serviço IAssist para sugerir e completar textos com base em um prompt configurável. Suporta reconhecimento de voz opcional e mantém contexto entre gerações quando `keepContext` é `true`. Implementa {",
|
|
758
|
+
"package": "@seniorsistemas/angular-components/content-generator",
|
|
759
|
+
"priority": "low",
|
|
760
|
+
"keywords": [
|
|
761
|
+
"content-generator",
|
|
762
|
+
"content",
|
|
763
|
+
"generator",
|
|
764
|
+
"inputs"
|
|
765
|
+
],
|
|
766
|
+
"inputs": [
|
|
767
|
+
{
|
|
768
|
+
"name": "id",
|
|
769
|
+
"description": "Identificador único do componente no DOM. Gerado automaticamente se não informado.",
|
|
770
|
+
"type": "string"
|
|
771
|
+
},
|
|
772
|
+
{
|
|
773
|
+
"name": "label",
|
|
774
|
+
"description": "Label exibido acima da área de texto."
|
|
775
|
+
},
|
|
776
|
+
{
|
|
777
|
+
"name": "placeholder",
|
|
778
|
+
"description": "Texto de placeholder exibido na área de texto quando vazia.",
|
|
779
|
+
"default": "''",
|
|
780
|
+
"type": "string"
|
|
781
|
+
},
|
|
782
|
+
{
|
|
783
|
+
"name": "prompt",
|
|
784
|
+
"description": "Instrução (prompt) enviada ao serviço de IA para gerar o conteúdo sugerido."
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
"name": "readonly",
|
|
788
|
+
"description": "Torna a área de texto somente leitura.",
|
|
789
|
+
"default": "false",
|
|
790
|
+
"type": "boolean"
|
|
791
|
+
},
|
|
792
|
+
{
|
|
793
|
+
"name": "rows",
|
|
794
|
+
"description": "Número de linhas visíveis da área de texto.",
|
|
795
|
+
"default": "10",
|
|
796
|
+
"type": "number"
|
|
797
|
+
},
|
|
798
|
+
{
|
|
799
|
+
"name": "cols",
|
|
800
|
+
"description": "Número de colunas visíveis da área de texto.",
|
|
801
|
+
"default": "10",
|
|
802
|
+
"type": "number"
|
|
803
|
+
},
|
|
804
|
+
{
|
|
805
|
+
"name": "speechRecognition",
|
|
806
|
+
"description": "Habilita o botão de reconhecimento de voz para ditado de texto.",
|
|
807
|
+
"default": "false",
|
|
808
|
+
"type": "boolean"
|
|
809
|
+
},
|
|
810
|
+
{
|
|
811
|
+
"name": "keepContext",
|
|
812
|
+
"description": "Quando `true`, o histórico de gerações anteriores é enviado ao serviço de IA como contexto.",
|
|
813
|
+
"default": "false",
|
|
814
|
+
"type": "boolean"
|
|
815
|
+
},
|
|
816
|
+
{
|
|
817
|
+
"name": "speechRecognitionPlaceholder",
|
|
818
|
+
"description": "Texto de placeholder exibido no campo de reconhecimento de voz.",
|
|
819
|
+
"default": "''",
|
|
820
|
+
"type": "string"
|
|
821
|
+
},
|
|
822
|
+
{
|
|
823
|
+
"name": "maxLength",
|
|
824
|
+
"description": "Limite máximo de caracteres permitidos na área de texto. `null` desabilita o limite.",
|
|
825
|
+
"default": "null",
|
|
826
|
+
"type": "number | null"
|
|
827
|
+
},
|
|
828
|
+
{
|
|
829
|
+
"name": "textAreaStyle",
|
|
830
|
+
"description": "Estilos CSS inline aplicados à área de texto interna.",
|
|
831
|
+
"type": "Partial<CSSStyleDeclaration"
|
|
832
|
+
}
|
|
833
|
+
]
|
|
834
|
+
},
|
|
835
|
+
{
|
|
836
|
+
"name": "country-phone-picker",
|
|
837
|
+
"selector": "s-country-phone-picker",
|
|
838
|
+
"description": "Componente seletor de país e número de telefone com máscara dinâmica. Exibe uma lista de países com seus códigos DDI e aplica automaticamente a máscara de formatação do número conforme o país selecionado. Implementa {",
|
|
839
|
+
"package": "@seniorsistemas/angular-components/country-phone-picker",
|
|
840
|
+
"priority": "low",
|
|
841
|
+
"keywords": [
|
|
842
|
+
"country-phone-picker",
|
|
843
|
+
"country",
|
|
844
|
+
"phone",
|
|
845
|
+
"picker",
|
|
846
|
+
"inputs"
|
|
847
|
+
],
|
|
848
|
+
"inputs": [
|
|
849
|
+
{
|
|
850
|
+
"name": "countries",
|
|
851
|
+
"description": "Lista de códigos de país (ISO 3166-1 alpha-2) exibidos no seletor. Quando vazia, todos os países disponíveis são listados.",
|
|
852
|
+
"default": "[]",
|
|
853
|
+
"type": "string[]"
|
|
854
|
+
},
|
|
855
|
+
{
|
|
856
|
+
"name": "ordination",
|
|
857
|
+
"description": "Critério de ordenação dos países na lista. Aceita os valores do enum `Ordination` (ex.: por nome, por DDI, sem ordenação).",
|
|
858
|
+
"default": "Ordination.NO",
|
|
859
|
+
"type": "Ordination"
|
|
860
|
+
}
|
|
861
|
+
],
|
|
862
|
+
"outputs": [
|
|
863
|
+
{
|
|
864
|
+
"name": "selected",
|
|
865
|
+
"description": "Emitido quando o usuário seleciona um país no dropdown. Emite um objeto {",
|
|
866
|
+
"type": "EventEmitter<CountryPhoneData>"
|
|
867
|
+
},
|
|
868
|
+
{
|
|
869
|
+
"name": "focusLost",
|
|
870
|
+
"description": "Emitido quando o campo de número de telefone perde o foco. Emite o objeto {",
|
|
871
|
+
"type": "EventEmitter<PhoneSelectionData | null>"
|
|
872
|
+
}
|
|
873
|
+
]
|
|
874
|
+
},
|
|
875
|
+
{
|
|
876
|
+
"name": "custom-fields",
|
|
877
|
+
"selector": "s-custom-fields",
|
|
878
|
+
"description": "Componente que carrega e renderiza campos customizados dinamicamente a partir da API de customização de campos do Senior. Realiza chamadas HTTP para obter a configuração dos campos, gera o formulário reativamente via {",
|
|
879
|
+
"package": "@seniorsistemas/angular-components/custom-fields",
|
|
880
|
+
"priority": "low",
|
|
881
|
+
"keywords": [
|
|
882
|
+
"custom-fields",
|
|
883
|
+
"custom",
|
|
884
|
+
"fields",
|
|
885
|
+
"inputs"
|
|
886
|
+
],
|
|
887
|
+
"inputs": [
|
|
888
|
+
{
|
|
889
|
+
"name": "domain",
|
|
890
|
+
"description": "Domínio utilizado para buscar os campos customizados na API. Campo obrigatório."
|
|
891
|
+
},
|
|
892
|
+
{
|
|
893
|
+
"name": "service",
|
|
894
|
+
"description": "Nome do serviço utilizado para identificar os campos customizados. Campo obrigatório."
|
|
895
|
+
},
|
|
896
|
+
{
|
|
897
|
+
"name": "entity",
|
|
898
|
+
"description": "Nome da entidade para a qual os campos customizados são carregados. Campo obrigatório."
|
|
899
|
+
},
|
|
900
|
+
{
|
|
901
|
+
"name": "invalidErrorLabel",
|
|
902
|
+
"description": "Mensagem de erro exibida quando algum campo customizado está inválido.",
|
|
903
|
+
"default": "''",
|
|
904
|
+
"type": "string"
|
|
905
|
+
},
|
|
906
|
+
{
|
|
907
|
+
"name": "entityObject",
|
|
908
|
+
"description": "Objeto com dados pré-carregados da entidade, evitando chamadas extras à API.",
|
|
909
|
+
"type": "CustomFieldsResponse"
|
|
910
|
+
},
|
|
911
|
+
{
|
|
912
|
+
"name": "customFieldsEndpoint",
|
|
913
|
+
"description": "Endpoint para buscar a configuração dos campos customizados.",
|
|
914
|
+
"type": "string"
|
|
915
|
+
},
|
|
916
|
+
{
|
|
917
|
+
"name": "fileLocationEndpoint",
|
|
918
|
+
"description": "Endpoint para solicitar o upload de arquivos em campos do tipo blob.",
|
|
919
|
+
"type": "string"
|
|
920
|
+
},
|
|
921
|
+
{
|
|
922
|
+
"name": "requestAccessEndpoint",
|
|
923
|
+
"description": "Endpoint para solicitar acesso a arquivos já enviados.",
|
|
924
|
+
"type": "string"
|
|
925
|
+
},
|
|
926
|
+
{
|
|
927
|
+
"name": "requiredErrorMessage",
|
|
928
|
+
"description": "Mensagem de erro exibida quando um campo obrigatório não está preenchido.",
|
|
929
|
+
"default": "''",
|
|
930
|
+
"type": "string"
|
|
931
|
+
},
|
|
932
|
+
{
|
|
933
|
+
"name": "displayTimeInfoSign",
|
|
934
|
+
"description": "Tempo em ms após o qual o info-sign de campos do tipo data é exibido.",
|
|
935
|
+
"default": "0",
|
|
936
|
+
"type": "number"
|
|
937
|
+
},
|
|
938
|
+
{
|
|
939
|
+
"name": "showFileUploadDate",
|
|
940
|
+
"description": "Exibe a data de upload nos campos do tipo arquivo.",
|
|
941
|
+
"default": "false",
|
|
942
|
+
"type": "boolean"
|
|
943
|
+
},
|
|
944
|
+
{
|
|
945
|
+
"name": "ready",
|
|
946
|
+
"description": "Observable que sinaliza quando o componente deve iniciar o carregamento dos campos.",
|
|
947
|
+
"default": "null",
|
|
948
|
+
"type": "null"
|
|
949
|
+
},
|
|
950
|
+
{
|
|
951
|
+
"name": "disableFields",
|
|
952
|
+
"description": "Quando `true`, todos os campos customizados são desabilitados.",
|
|
953
|
+
"type": "boolean | undefined"
|
|
954
|
+
}
|
|
955
|
+
]
|
|
956
|
+
},
|
|
957
|
+
{
|
|
958
|
+
"name": "fieldset",
|
|
959
|
+
"selector": "s-fieldset",
|
|
960
|
+
"description": "Componente de fieldset com legenda, ícone configurável e suporte a toggle (recolher/expandir) com animação. Suporta template personalizado para o cabeçalho via diretiva `TemplateDirective` com tipo `'header'`.",
|
|
961
|
+
"package": "@seniorsistemas/angular-components/fieldset",
|
|
962
|
+
"priority": "low",
|
|
963
|
+
"keywords": [
|
|
964
|
+
"fieldset",
|
|
965
|
+
"inputs"
|
|
966
|
+
],
|
|
967
|
+
"inputs": [
|
|
968
|
+
{
|
|
969
|
+
"name": "legend",
|
|
970
|
+
"description": "Texto exibido como título do fieldset.",
|
|
971
|
+
"default": "''",
|
|
972
|
+
"type": "string"
|
|
973
|
+
},
|
|
974
|
+
{
|
|
975
|
+
"name": "toggleable",
|
|
976
|
+
"description": "Habilita o botão de toggle que permite recolher e expandir o conteúdo.",
|
|
977
|
+
"default": "false",
|
|
978
|
+
"type": "boolean"
|
|
979
|
+
},
|
|
980
|
+
{
|
|
981
|
+
"name": "icon",
|
|
982
|
+
"description": "Classe de ícone exibida ao lado da legenda (ex.: `'fas fa-cog'`).",
|
|
983
|
+
"default": "''",
|
|
984
|
+
"type": "string"
|
|
985
|
+
},
|
|
986
|
+
{
|
|
987
|
+
"name": "destroyOnHide",
|
|
988
|
+
"description": "Quando `true`, remove o conteúdo do DOM ao recolher o fieldset.",
|
|
989
|
+
"default": "true",
|
|
990
|
+
"type": "boolean"
|
|
991
|
+
}
|
|
992
|
+
],
|
|
993
|
+
"outputs": [
|
|
994
|
+
{
|
|
995
|
+
"name": "beforeToggle",
|
|
996
|
+
"description": "Emitido imediatamente antes da animação de toggle iniciar, com o estado atual."
|
|
997
|
+
},
|
|
998
|
+
{
|
|
999
|
+
"name": "afterToggle",
|
|
1000
|
+
"description": "Emitido após a animação de toggle concluir, com o novo estado."
|
|
1001
|
+
}
|
|
1002
|
+
]
|
|
1003
|
+
},
|
|
1004
|
+
{
|
|
1005
|
+
"name": "file-picker",
|
|
1006
|
+
"selector": "s-file-picker, s-file-upload",
|
|
1007
|
+
"description": "Componente de upload de arquivos com suporte a seleção múltipla, validação de tipo/tamanho, controle de permissões (adicionar, ler, remover), download e cancelamento de uploads em andamento.",
|
|
1008
|
+
"package": "@seniorsistemas/angular-components/file-picker",
|
|
1009
|
+
"priority": "low",
|
|
1010
|
+
"keywords": [
|
|
1011
|
+
"file-picker",
|
|
1012
|
+
"file",
|
|
1013
|
+
"picker",
|
|
1014
|
+
"inputs"
|
|
1015
|
+
],
|
|
1016
|
+
"inputs": [
|
|
1017
|
+
{
|
|
1018
|
+
"name": "id",
|
|
1019
|
+
"description": "Identificador do componente no DOM. Gerado automaticamente se não informado.",
|
|
1020
|
+
"type": "string"
|
|
1021
|
+
},
|
|
1022
|
+
{
|
|
1023
|
+
"name": "chooseLabel",
|
|
1024
|
+
"description": "Rótulo do botão de seleção de arquivo.",
|
|
1025
|
+
"type": "string"
|
|
1026
|
+
},
|
|
1027
|
+
{
|
|
1028
|
+
"name": "removeLabel",
|
|
1029
|
+
"description": "Rótulo do botão de remoção de arquivo.",
|
|
1030
|
+
"type": "string"
|
|
1031
|
+
},
|
|
1032
|
+
{
|
|
1033
|
+
"name": "cancelLabel",
|
|
1034
|
+
"description": "Rótulo do botão de cancelamento de upload.",
|
|
1035
|
+
"type": "string"
|
|
1036
|
+
},
|
|
1037
|
+
{
|
|
1038
|
+
"name": "successTooltip",
|
|
1039
|
+
"description": "Texto do tooltip exibido após upload bem-sucedido.",
|
|
1040
|
+
"type": "string"
|
|
1041
|
+
},
|
|
1042
|
+
{
|
|
1043
|
+
"name": "multiple",
|
|
1044
|
+
"description": "Permite selecionar múltiplos arquivos ao mesmo tempo.",
|
|
1045
|
+
"type": "boolean"
|
|
1046
|
+
},
|
|
1047
|
+
{
|
|
1048
|
+
"name": "accept",
|
|
1049
|
+
"description": "Tipos MIME aceitos pelo seletor de arquivo (ex.: `'application/pdf,image/*'`).",
|
|
1050
|
+
"type": "string"
|
|
1051
|
+
},
|
|
1052
|
+
{
|
|
1053
|
+
"name": "supportedExtensions",
|
|
1054
|
+
"description": "Lista de extensões de arquivo aceitas para validação (ex.: `['.pdf', '.docx']`).",
|
|
1055
|
+
"default": "[]",
|
|
1056
|
+
"type": "string[]"
|
|
1057
|
+
},
|
|
1058
|
+
{
|
|
1059
|
+
"name": "ariaLabelFileName",
|
|
1060
|
+
"description": "Label ARIA para o nome do arquivo, para leitores de tela.",
|
|
1061
|
+
"type": "string"
|
|
1062
|
+
},
|
|
1063
|
+
{
|
|
1064
|
+
"name": "maxFileSize",
|
|
1065
|
+
"description": "Tamanho máximo por arquivo em bytes.",
|
|
1066
|
+
"type": "number"
|
|
1067
|
+
},
|
|
1068
|
+
{
|
|
1069
|
+
"name": "maxCombinedFileSize",
|
|
1070
|
+
"description": "Tamanho máximo combinado de todos os arquivos em bytes.",
|
|
1071
|
+
"type": "number"
|
|
1072
|
+
},
|
|
1073
|
+
{
|
|
1074
|
+
"name": "fileLimit",
|
|
1075
|
+
"description": "Número máximo de arquivos que podem ser selecionados.",
|
|
1076
|
+
"type": "number"
|
|
1077
|
+
},
|
|
1078
|
+
{
|
|
1079
|
+
"name": "ariaLabelProgress",
|
|
1080
|
+
"description": "Label ARIA para a barra de progresso do upload.",
|
|
1081
|
+
"type": "string"
|
|
1082
|
+
},
|
|
1083
|
+
{
|
|
1084
|
+
"name": "ariaLabelSuccess",
|
|
1085
|
+
"description": "Label ARIA para o ícone de sucesso.",
|
|
1086
|
+
"type": "string"
|
|
1087
|
+
},
|
|
1088
|
+
{
|
|
1089
|
+
"name": "ariaLabelError",
|
|
1090
|
+
"description": "Label ARIA para mensagens de erro de validação.",
|
|
1091
|
+
"type": "string"
|
|
1092
|
+
},
|
|
1093
|
+
{
|
|
1094
|
+
"name": "ariaLabelRemove",
|
|
1095
|
+
"description": "Label ARIA para o botão de remoção de arquivo.",
|
|
1096
|
+
"type": "string"
|
|
1097
|
+
},
|
|
1098
|
+
{
|
|
1099
|
+
"name": "formControl",
|
|
1100
|
+
"description": "FormControl externo vinculado ao componente para controle de estado.",
|
|
1101
|
+
"type": "FormControl"
|
|
1102
|
+
},
|
|
1103
|
+
{
|
|
1104
|
+
"name": "disabled",
|
|
1105
|
+
"description": "Desabilita todas as interações do componente.",
|
|
1106
|
+
"default": "false",
|
|
1107
|
+
"type": "boolean"
|
|
1108
|
+
},
|
|
1109
|
+
{
|
|
1110
|
+
"name": "showFileUploadDate",
|
|
1111
|
+
"description": "Exibe a data de upload de cada arquivo.",
|
|
1112
|
+
"default": "false",
|
|
1113
|
+
"type": "boolean"
|
|
1114
|
+
},
|
|
1115
|
+
{
|
|
1116
|
+
"name": "permissions",
|
|
1117
|
+
"description": "Lista de permissões habilitadas no componente: `'add'`, `'read'`, `'remove'`.",
|
|
1118
|
+
"default": "ALL_PERMISSIONS",
|
|
1119
|
+
"type": "FilePickerPermissions[]"
|
|
1120
|
+
},
|
|
1121
|
+
{
|
|
1122
|
+
"name": "set",
|
|
1123
|
+
"description": "Lista de arquivos já enviados a serem exibidos no componente. Ao atribuir, os arquivos são processados e suas URLs são geradas para preview."
|
|
1124
|
+
}
|
|
1125
|
+
],
|
|
1126
|
+
"outputs": [
|
|
1127
|
+
{
|
|
1128
|
+
"name": "uploadHandler",
|
|
1129
|
+
"description": "Emitido quando o usuário seleciona arquivos válidos para upload.",
|
|
1130
|
+
"type": "EventEmitter<{ files: FileDto[] }>"
|
|
1131
|
+
},
|
|
1132
|
+
{
|
|
1133
|
+
"name": "removeFile",
|
|
1134
|
+
"description": "Emitido quando o usuário remove um arquivo da lista.",
|
|
1135
|
+
"type": "EventEmitter<{ file: File }>"
|
|
1136
|
+
},
|
|
1137
|
+
{
|
|
1138
|
+
"name": "cancelUpload",
|
|
1139
|
+
"description": "Emitido quando o usuário cancela um upload em andamento. Emite o índice do arquivo cancelado.",
|
|
1140
|
+
"type": "EventEmitter<number>"
|
|
1141
|
+
},
|
|
1142
|
+
{
|
|
1143
|
+
"name": "downloadFile",
|
|
1144
|
+
"description": "Emitido quando o usuário clica para baixar um arquivo.",
|
|
1145
|
+
"type": "EventEmitter<{ index: number"
|
|
1146
|
+
},
|
|
1147
|
+
{
|
|
1148
|
+
"name": "validateErrors",
|
|
1149
|
+
"description": "Emitido quando um arquivo não passa na validação de tipo, tamanho ou limite.",
|
|
1150
|
+
"type": "EventEmitter<UploadError>"
|
|
1151
|
+
}
|
|
1152
|
+
]
|
|
1153
|
+
},
|
|
1154
|
+
{
|
|
1155
|
+
"name": "image-cropper",
|
|
1156
|
+
"selector": "s-image-cropper",
|
|
1157
|
+
"description": "Componente de recorte de imagem que integra a biblioteca `cropperjs`. Exibe um dialog com uma área interativa para selecionar, recortar e remover imagens, suportando razão de aspecto configurável, formato circular e templates de cabeçalho/rodapé.",
|
|
1158
|
+
"package": "@seniorsistemas/angular-components/image-cropper",
|
|
1159
|
+
"priority": "low",
|
|
1160
|
+
"keywords": [
|
|
1161
|
+
"image-cropper",
|
|
1162
|
+
"image",
|
|
1163
|
+
"cropper",
|
|
1164
|
+
"inputs"
|
|
1165
|
+
],
|
|
1166
|
+
"inputs": [
|
|
1167
|
+
{
|
|
1168
|
+
"name": "id",
|
|
1169
|
+
"description": "Identificador único do componente no DOM. Gerado automaticamente se não informado.",
|
|
1170
|
+
"type": "string"
|
|
1171
|
+
},
|
|
1172
|
+
{
|
|
1173
|
+
"name": "visible",
|
|
1174
|
+
"description": "Controla a visibilidade do dialog de corte.",
|
|
1175
|
+
"default": "false",
|
|
1176
|
+
"type": "boolean"
|
|
1177
|
+
},
|
|
1178
|
+
{
|
|
1179
|
+
"name": "header",
|
|
1180
|
+
"description": "Título exibido no cabeçalho do dialog.",
|
|
1181
|
+
"default": "'Recortar imagem'",
|
|
1182
|
+
"type": "string"
|
|
1183
|
+
},
|
|
1184
|
+
{
|
|
1185
|
+
"name": "cropLabel",
|
|
1186
|
+
"description": "Rótulo do botão de confirmar o corte.",
|
|
1187
|
+
"default": "'Recortar'",
|
|
1188
|
+
"type": "string"
|
|
1189
|
+
},
|
|
1190
|
+
{
|
|
1191
|
+
"name": "selectAnotherLabel",
|
|
1192
|
+
"description": "Rótulo do botão de trocar a imagem.",
|
|
1193
|
+
"default": "'Trocar'",
|
|
1194
|
+
"type": "string"
|
|
1195
|
+
},
|
|
1196
|
+
{
|
|
1197
|
+
"name": "removeLabel",
|
|
1198
|
+
"description": "Rótulo do botão de remover a imagem.",
|
|
1199
|
+
"default": "'Remover'",
|
|
1200
|
+
"type": "string"
|
|
1201
|
+
},
|
|
1202
|
+
{
|
|
1203
|
+
"name": "cancelLabel",
|
|
1204
|
+
"description": "Rótulo do botão de cancelar.",
|
|
1205
|
+
"default": "'Cancelar'",
|
|
1206
|
+
"type": "string"
|
|
1207
|
+
},
|
|
1208
|
+
{
|
|
1209
|
+
"name": "emptyStateTitle",
|
|
1210
|
+
"description": "Título do empty state quando nenhuma imagem foi selecionada.",
|
|
1211
|
+
"type": "string"
|
|
1212
|
+
},
|
|
1213
|
+
{
|
|
1214
|
+
"name": "emptyStateActionLabel",
|
|
1215
|
+
"description": "Rótulo do botão de ação do empty state.",
|
|
1216
|
+
"default": "'Escolher imagem'",
|
|
1217
|
+
"type": "string"
|
|
1218
|
+
},
|
|
1219
|
+
{
|
|
1220
|
+
"name": "emptyStateIconClass",
|
|
1221
|
+
"description": "Classe do ícone exibido no empty state.",
|
|
1222
|
+
"default": "'fa fa-picture-o'",
|
|
1223
|
+
"type": "string"
|
|
1224
|
+
},
|
|
1225
|
+
{
|
|
1226
|
+
"name": "aspectRatio",
|
|
1227
|
+
"description": "Razão de aspecto para o recorte (ex.: `1` para quadrado, `16/9`).",
|
|
1228
|
+
"default": "NaN (livre)"
|
|
1229
|
+
},
|
|
1230
|
+
{
|
|
1231
|
+
"name": "rounded",
|
|
1232
|
+
"description": "Quando `true`, exibe a área de recorte no formato circular.",
|
|
1233
|
+
"default": "false",
|
|
1234
|
+
"type": "boolean"
|
|
1235
|
+
},
|
|
1236
|
+
{
|
|
1237
|
+
"name": "allowSelectAnother",
|
|
1238
|
+
"description": "Exibe o botão para trocar a imagem selecionada.",
|
|
1239
|
+
"default": "true",
|
|
1240
|
+
"type": "boolean"
|
|
1241
|
+
},
|
|
1242
|
+
{
|
|
1243
|
+
"name": "allowRemove",
|
|
1244
|
+
"description": "Exibe o botão para remover a imagem.",
|
|
1245
|
+
"default": "true",
|
|
1246
|
+
"type": "boolean"
|
|
1247
|
+
},
|
|
1248
|
+
{
|
|
1249
|
+
"name": "allowCancel",
|
|
1250
|
+
"description": "Exibe o botão para cancelar o recorte.",
|
|
1251
|
+
"default": "true",
|
|
1252
|
+
"type": "boolean"
|
|
1253
|
+
},
|
|
1254
|
+
{
|
|
1255
|
+
"name": "imageSource",
|
|
1256
|
+
"description": "URL ou base64 da imagem a ser carregada no cropper.",
|
|
1257
|
+
"type": "string"
|
|
1258
|
+
}
|
|
1259
|
+
],
|
|
1260
|
+
"outputs": [
|
|
1261
|
+
{
|
|
1262
|
+
"name": "visibleChange",
|
|
1263
|
+
"description": "Emitido quando o valor de `visible` muda, habilitando two-way binding com `[(visible)]`."
|
|
1264
|
+
},
|
|
1265
|
+
{
|
|
1266
|
+
"name": "changeImage",
|
|
1267
|
+
"description": "Emitido quando o usuário troca a imagem selecionada."
|
|
1268
|
+
},
|
|
1269
|
+
{
|
|
1270
|
+
"name": "croppedImage",
|
|
1271
|
+
"description": "Emitido com a imagem recortada em formato base64 string."
|
|
1272
|
+
},
|
|
1273
|
+
{
|
|
1274
|
+
"name": "croppedCanvas",
|
|
1275
|
+
"description": "Emitido com o `HTMLCanvasElement` resultante do recorte."
|
|
1276
|
+
},
|
|
1277
|
+
{
|
|
1278
|
+
"name": "removedImage",
|
|
1279
|
+
"description": "Emitido quando o usuário confirma a remoção da imagem."
|
|
1280
|
+
},
|
|
1281
|
+
{
|
|
1282
|
+
"name": "cancel",
|
|
1283
|
+
"description": "Emitido quando o usuário cancela o recorte."
|
|
1284
|
+
}
|
|
1285
|
+
]
|
|
1286
|
+
},
|
|
1287
|
+
{
|
|
1288
|
+
"name": "inline-edit",
|
|
1289
|
+
"selector": "s-inline-edit",
|
|
1290
|
+
"description": "Componente de edição inline que renderiza dinamicamente campos editáveis (texto, número, data, textarea, lookup e gerador de conteúdo) a partir de uma lista de configurações `InlineEditField[]`. Integrado a um `FormGroup` Angular fornecido externamente.",
|
|
1291
|
+
"package": "@seniorsistemas/angular-components/inline-edit",
|
|
1292
|
+
"priority": "low",
|
|
1293
|
+
"keywords": [
|
|
1294
|
+
"inline-edit",
|
|
1295
|
+
"inline",
|
|
1296
|
+
"edit",
|
|
1297
|
+
"inputs"
|
|
1298
|
+
],
|
|
1299
|
+
"inputs": [
|
|
1300
|
+
{
|
|
1301
|
+
"name": "formGroup",
|
|
1302
|
+
"description": "`FormGroup` Angular ao qual os campos inline serão vinculados.",
|
|
1303
|
+
"default": "new FormGroup({})",
|
|
1304
|
+
"type": "FormGroup"
|
|
1305
|
+
},
|
|
1306
|
+
{
|
|
1307
|
+
"name": "fields",
|
|
1308
|
+
"description": "Lista de configurações dos campos inline a serem renderizados.",
|
|
1309
|
+
"default": "[]",
|
|
1310
|
+
"type": "InlineEditField[]"
|
|
1311
|
+
},
|
|
1312
|
+
{
|
|
1313
|
+
"name": "errorMessages",
|
|
1314
|
+
"description": "Mapa de mensagens de erro customizadas por nome de validador.",
|
|
1315
|
+
"type": "any"
|
|
1316
|
+
}
|
|
1317
|
+
]
|
|
1318
|
+
},
|
|
1319
|
+
{
|
|
1320
|
+
"name": "interactive-content",
|
|
1321
|
+
"selector": "[sInteractiveContent]",
|
|
1322
|
+
"description": "Diretiva de acessibilidade que torna qualquer elemento HTML interativo, adicionando suporte a eventos de foco e navegação por teclado (Enter e Espaço) além do clique padrão. Gerencia automaticamente o atributo `tabindex`.",
|
|
1323
|
+
"package": "@seniorsistemas/angular-components/interactive-content",
|
|
1324
|
+
"priority": "low",
|
|
1325
|
+
"keywords": [
|
|
1326
|
+
"interactive-content",
|
|
1327
|
+
"interactive",
|
|
1328
|
+
"content",
|
|
1329
|
+
"inputs"
|
|
1330
|
+
],
|
|
1331
|
+
"inputs": [
|
|
1332
|
+
{
|
|
1333
|
+
"name": "focusable",
|
|
1334
|
+
"description": "Habilita o foco via teclado (tabindex).",
|
|
1335
|
+
"default": "true",
|
|
1336
|
+
"type": "boolean"
|
|
1337
|
+
},
|
|
1338
|
+
{
|
|
1339
|
+
"name": "disabled",
|
|
1340
|
+
"description": "Desabilita os eventos de interação do elemento.",
|
|
1341
|
+
"default": "false",
|
|
1342
|
+
"type": "boolean"
|
|
1343
|
+
},
|
|
1344
|
+
{
|
|
1345
|
+
"name": "stopPropagation",
|
|
1346
|
+
"description": "Quando `true`, chama `event.stopPropagation()` ao ativar.",
|
|
1347
|
+
"default": "false",
|
|
1348
|
+
"type": "boolean"
|
|
1349
|
+
}
|
|
1350
|
+
],
|
|
1351
|
+
"outputs": [
|
|
1352
|
+
{
|
|
1353
|
+
"name": "activated",
|
|
1354
|
+
"description": "Emitido quando o usuário clica ou pressiona Enter/Espaço no elemento.",
|
|
1355
|
+
"default": "{ alias: 'sInteractiveContent' }",
|
|
1356
|
+
"type": "PointerEvent | KeyboardEvent"
|
|
1357
|
+
}
|
|
1358
|
+
]
|
|
1359
|
+
},
|
|
1360
|
+
{
|
|
1361
|
+
"name": "localized-number-input",
|
|
1362
|
+
"selector": "input[sLocalizedNumberInput]",
|
|
1363
|
+
"description": "Diretiva de validação para campos `<input>` que verificam se o valor digitado é um número localizado válido (considerando separadores decimal e de milhar do locale ativo). Ao ser integrada ao `NG_VALIDATORS`, adiciona o erro `invalidNumber` ao control quando o valor não corresponde ao formato esperado.",
|
|
1364
|
+
"package": "@seniorsistemas/angular-components/localized-number-input",
|
|
1365
|
+
"priority": "low",
|
|
1366
|
+
"keywords": [
|
|
1367
|
+
"localized-number-input",
|
|
1368
|
+
"localized",
|
|
1369
|
+
"number",
|
|
1370
|
+
"input",
|
|
1371
|
+
"inputs"
|
|
1372
|
+
],
|
|
1373
|
+
"inputs": [
|
|
1374
|
+
{
|
|
1375
|
+
"name": "decimalSeparator",
|
|
1376
|
+
"description": "Separador decimal personalizado. Usa o do locale ativo se não informado.",
|
|
1377
|
+
"type": "string"
|
|
1378
|
+
},
|
|
1379
|
+
{
|
|
1380
|
+
"name": "thousandsSeparator",
|
|
1381
|
+
"description": "Separador de milhar personalizado. Usa o do locale ativo se não informado.",
|
|
1382
|
+
"type": "string"
|
|
1383
|
+
},
|
|
1384
|
+
{
|
|
1385
|
+
"name": "precision",
|
|
1386
|
+
"description": "Número máximo de casas decimais aceitas na validação.",
|
|
1387
|
+
"default": "2",
|
|
1388
|
+
"type": "number"
|
|
1389
|
+
}
|
|
1390
|
+
]
|
|
1391
|
+
},
|
|
1392
|
+
{
|
|
1393
|
+
"name": "mouse-events",
|
|
1394
|
+
"selector": "[sDoubleClick]",
|
|
1395
|
+
"description": "Diretiva que detecta duplo clique em um elemento com um intervalo configurável entre cliques (`_DOUBLE_CLICK_DELAY`). Emite o evento `doubleClicked` somente quando dois cliques ocorrem dentro do intervalo definido.",
|
|
1396
|
+
"package": "@seniorsistemas/angular-components/mouse-events",
|
|
1397
|
+
"priority": "low",
|
|
1398
|
+
"keywords": [
|
|
1399
|
+
"mouse-events",
|
|
1400
|
+
"mouse",
|
|
1401
|
+
"events",
|
|
1402
|
+
"inputs"
|
|
1403
|
+
],
|
|
1404
|
+
"outputs": [
|
|
1405
|
+
{
|
|
1406
|
+
"name": "doubleClicked",
|
|
1407
|
+
"description": "Emitido quando um duplo clique é detectado dentro do intervalo de tempo.",
|
|
1408
|
+
"type": "EventEmitter<PointerEvent>"
|
|
1409
|
+
}
|
|
1410
|
+
]
|
|
1411
|
+
},
|
|
1412
|
+
{
|
|
1413
|
+
"name": "navigation-button",
|
|
1414
|
+
"selector": "s-navigation-button",
|
|
1415
|
+
"description": "Componente de navegação por etapas que exibe o estado atual (step) com suporte a avanço, retrocesso e seleção direta via dropdown (`TieredMenu`). Implementa `ControlValueAccessor` para integração com formulários Angular.",
|
|
1416
|
+
"package": "@seniorsistemas/angular-components/navigation-button",
|
|
1417
|
+
"priority": "low",
|
|
1418
|
+
"keywords": [
|
|
1419
|
+
"navigation-button",
|
|
1420
|
+
"navigation",
|
|
1421
|
+
"button",
|
|
1422
|
+
"inputs"
|
|
1423
|
+
],
|
|
1424
|
+
"inputs": [
|
|
1425
|
+
{
|
|
1426
|
+
"name": "steps",
|
|
1427
|
+
"description": "Lista de etapas de navegação. Campo obrigatório."
|
|
1428
|
+
},
|
|
1429
|
+
{
|
|
1430
|
+
"name": "defaultValue",
|
|
1431
|
+
"description": "Valor padrão a ser selecionado ao inicializar o componente.",
|
|
1432
|
+
"type": "unknown"
|
|
1433
|
+
},
|
|
1434
|
+
{
|
|
1435
|
+
"name": "tooltip",
|
|
1436
|
+
"description": "Texto exibido no tooltip do botão principal.",
|
|
1437
|
+
"type": "string"
|
|
1438
|
+
},
|
|
1439
|
+
{
|
|
1440
|
+
"name": "changeOnInit",
|
|
1441
|
+
"description": "Quando `true`, emite `stepChanged` durante a inicialização com a etapa atual.",
|
|
1442
|
+
"default": "false",
|
|
1443
|
+
"type": "boolean"
|
|
1444
|
+
}
|
|
1445
|
+
],
|
|
1446
|
+
"outputs": [
|
|
1447
|
+
{
|
|
1448
|
+
"name": "stepChanged",
|
|
1449
|
+
"description": "Emitido quando o usuário navega para uma nova etapa, com informações da etapa anterior e atual.",
|
|
1450
|
+
"type": "EventEmitter<NavigationButtonStepChangedInfo>"
|
|
1451
|
+
}
|
|
1452
|
+
]
|
|
1453
|
+
},
|
|
1454
|
+
{
|
|
1455
|
+
"name": "number-input",
|
|
1456
|
+
"selector": "input[sNumberInput]",
|
|
1457
|
+
"description": "Diretiva de entrada numérica com formatação localizada (separador decimal e de milhar), suporte a precisão, escala e alinhamento. Extende `CurrencyMaskDirective`.",
|
|
1458
|
+
"package": "@seniorsistemas/angular-components/number-input",
|
|
1459
|
+
"priority": "low",
|
|
1460
|
+
"keywords": [
|
|
1461
|
+
"number-input",
|
|
1462
|
+
"number",
|
|
1463
|
+
"input",
|
|
1464
|
+
"inputs"
|
|
1465
|
+
],
|
|
1466
|
+
"inputs": [
|
|
1467
|
+
{
|
|
1468
|
+
"name": "precision",
|
|
1469
|
+
"description": "Número total de dígitos (inteiros + decimais).",
|
|
1470
|
+
"default": "15",
|
|
1471
|
+
"type": "number"
|
|
1472
|
+
},
|
|
1473
|
+
{
|
|
1474
|
+
"name": "scale",
|
|
1475
|
+
"description": "Número de casas decimais.",
|
|
1476
|
+
"default": "0",
|
|
1477
|
+
"type": "number"
|
|
1478
|
+
},
|
|
1479
|
+
{
|
|
1480
|
+
"name": "decimalSeparator",
|
|
1481
|
+
"description": "Separador decimal personalizado. Usa o do locale ativo se não informado.",
|
|
1482
|
+
"type": "string"
|
|
1483
|
+
},
|
|
1484
|
+
{
|
|
1485
|
+
"name": "thousandsSeparator",
|
|
1486
|
+
"description": "Separador de milhar personalizado. Usa o do locale ativo se não informado.",
|
|
1487
|
+
"type": "string"
|
|
1488
|
+
},
|
|
1489
|
+
{
|
|
1490
|
+
"name": "alignTo",
|
|
1491
|
+
"description": "Alinhamento do texto no campo.",
|
|
1492
|
+
"default": "NumberAlignmentOption.LEFT"
|
|
1493
|
+
},
|
|
1494
|
+
{
|
|
1495
|
+
"name": "allowNegative",
|
|
1496
|
+
"description": "Habilita a entrada de valores negativos.",
|
|
1497
|
+
"default": "true",
|
|
1498
|
+
"type": "boolean"
|
|
1499
|
+
},
|
|
1500
|
+
{
|
|
1501
|
+
"name": "placeholder",
|
|
1502
|
+
"description": "Placeholder exibido quando o campo está vazio.",
|
|
1503
|
+
"type": "string"
|
|
1504
|
+
}
|
|
1505
|
+
],
|
|
1506
|
+
"outputs": [
|
|
1507
|
+
{
|
|
1508
|
+
"name": "pasteRejected",
|
|
1509
|
+
"description": "Emitido quando o conteúdo colado pelo usuário é rejeitado por ser inválido."
|
|
1510
|
+
}
|
|
1511
|
+
]
|
|
1512
|
+
},
|
|
1513
|
+
{
|
|
1514
|
+
"name": "password-strength",
|
|
1515
|
+
"selector": "s-password-strength",
|
|
1516
|
+
"description": "Componente interno que exibe visualmente os indicadores de força de senha. Utilizado em conjunto com a diretiva {",
|
|
1517
|
+
"package": "@seniorsistemas/angular-components/password-strength",
|
|
1518
|
+
"priority": "low",
|
|
1519
|
+
"keywords": [
|
|
1520
|
+
"password-strength",
|
|
1521
|
+
"password",
|
|
1522
|
+
"strength",
|
|
1523
|
+
"inputs"
|
|
1524
|
+
],
|
|
1525
|
+
"inputs": [
|
|
1526
|
+
{
|
|
1527
|
+
"name": "weakTitle",
|
|
1528
|
+
"description": "Texto personalizado exibido quando a senha é classificada como fraca. Se não informado, utiliza a tradução padrão do token `platform.angular_components.weak`.",
|
|
1529
|
+
"type": "string"
|
|
1530
|
+
},
|
|
1531
|
+
{
|
|
1532
|
+
"name": "mediumTitle",
|
|
1533
|
+
"description": "Texto personalizado exibido quando a senha é classificada como média. Se não informado, utiliza a tradução padrão do token `platform.angular_components.medium`.",
|
|
1534
|
+
"type": "string"
|
|
1535
|
+
},
|
|
1536
|
+
{
|
|
1537
|
+
"name": "strongTitle",
|
|
1538
|
+
"description": "Texto personalizado exibido quando a senha é classificada como forte. Se não informado, utiliza a tradução padrão do token `platform.angular_components.strong`.",
|
|
1539
|
+
"type": "string"
|
|
1540
|
+
},
|
|
1541
|
+
{
|
|
1542
|
+
"name": "description",
|
|
1543
|
+
"description": "Descrição complementar exibida abaixo dos indicadores de força, orientando o usuário sobre os requisitos esperados para a senha. Campo obrigatório."
|
|
1544
|
+
}
|
|
1545
|
+
]
|
|
1546
|
+
},
|
|
1547
|
+
{
|
|
1548
|
+
"name": "pin-code-field",
|
|
1549
|
+
"selector": "s-pin-code-field",
|
|
1550
|
+
"description": "Componente de entrada de código PIN/OTP com campos individuais para cada dígito. Implementa {",
|
|
1551
|
+
"package": "@seniorsistemas/angular-components/pin-code-field",
|
|
1552
|
+
"priority": "low",
|
|
1553
|
+
"keywords": [
|
|
1554
|
+
"pin-code-field",
|
|
1555
|
+
"pin",
|
|
1556
|
+
"code",
|
|
1557
|
+
"field",
|
|
1558
|
+
"inputs"
|
|
1559
|
+
],
|
|
1560
|
+
"inputs": [
|
|
1561
|
+
{
|
|
1562
|
+
"name": "length",
|
|
1563
|
+
"description": "Número de campos de entrada (comprimento do código PIN). Deve ser ao menos 1.",
|
|
1564
|
+
"default": "6",
|
|
1565
|
+
"type": "number"
|
|
1566
|
+
},
|
|
1567
|
+
{
|
|
1568
|
+
"name": "alphanumeric",
|
|
1569
|
+
"description": "Permite entrada alfanumérica e de caracteres especiais. Quando `false`, aceita apenas dígitos numéricos (0–9).",
|
|
1570
|
+
"default": "false",
|
|
1571
|
+
"type": "boolean"
|
|
1572
|
+
},
|
|
1573
|
+
{
|
|
1574
|
+
"name": "helpText",
|
|
1575
|
+
"description": "Texto de ajuda exibido abaixo dos campos de entrada, fornecendo instruções adicionais ao usuário.",
|
|
1576
|
+
"default": "''",
|
|
1577
|
+
"type": "string"
|
|
1578
|
+
},
|
|
1579
|
+
{
|
|
1580
|
+
"name": "invalid",
|
|
1581
|
+
"description": "Controla a visualização do estado de erro do componente. Quando `true`, exibe borda vermelha nos campos de entrada. Normalmente vinculado ao estado `invalid && dirty` do `FormControl`.",
|
|
1582
|
+
"default": "false",
|
|
1583
|
+
"type": "boolean"
|
|
1584
|
+
},
|
|
1585
|
+
{
|
|
1586
|
+
"name": "disabled",
|
|
1587
|
+
"description": "Controla o estado desabilitado do componente via two-way binding. Quando `true`, todos os campos ficam desabilitados e a interação do usuário é bloqueada.",
|
|
1588
|
+
"default": "false",
|
|
1589
|
+
"type": "boolean"
|
|
1590
|
+
}
|
|
1591
|
+
],
|
|
1592
|
+
"outputs": [
|
|
1593
|
+
{
|
|
1594
|
+
"name": "codeFilled",
|
|
1595
|
+
"description": "Emitido quando todos os campos do código PIN são preenchidos. Emite o código completo como string.",
|
|
1596
|
+
"type": "string"
|
|
1597
|
+
}
|
|
1598
|
+
]
|
|
1599
|
+
},
|
|
1600
|
+
{
|
|
1601
|
+
"name": "profile-picture-picker",
|
|
1602
|
+
"selector": "s-profile-picture-picker",
|
|
1603
|
+
"description": "Componente para seleção, edição e remoção de foto de perfil do usuário. Permite ao usuário fazer upload de uma imagem, recortá-la com o {",
|
|
1604
|
+
"package": "@seniorsistemas/angular-components/profile-picture-picker",
|
|
1605
|
+
"priority": "low",
|
|
1606
|
+
"keywords": [
|
|
1607
|
+
"profile-picture-picker",
|
|
1608
|
+
"profile",
|
|
1609
|
+
"picture",
|
|
1610
|
+
"picker",
|
|
1611
|
+
"inputs"
|
|
1612
|
+
],
|
|
1613
|
+
"inputs": [
|
|
1614
|
+
{
|
|
1615
|
+
"name": "simpleTitle",
|
|
1616
|
+
"description": "Título simples exibido quando nenhuma imagem está selecionada."
|
|
1617
|
+
},
|
|
1618
|
+
{
|
|
1619
|
+
"name": "actionTitle",
|
|
1620
|
+
"description": "Título de ação exibido como label principal do botão de upload."
|
|
1621
|
+
},
|
|
1622
|
+
{
|
|
1623
|
+
"name": "subtitle",
|
|
1624
|
+
"description": "Legenda exibida abaixo do título, descrevendo formatos suportados ou outras orientações para o usuário. Campo obrigatório."
|
|
1625
|
+
},
|
|
1626
|
+
{
|
|
1627
|
+
"name": "aspectRatio",
|
|
1628
|
+
"description": "Proporção (aspect ratio) do recorte da imagem. Por exemplo, `1` para quadrado, `16/9` para widescreen.",
|
|
1629
|
+
"default": "1",
|
|
1630
|
+
"type": "number"
|
|
1631
|
+
},
|
|
1632
|
+
{
|
|
1633
|
+
"name": "cropperLabelsConfig",
|
|
1634
|
+
"description": "Configurações de rótulos exibidos no componente de recorte de imagem (cropper). Permite sobrescrever os textos padrão dos botões e instruções do cropper.",
|
|
1635
|
+
"type": "CropperLabelsConfig"
|
|
1636
|
+
},
|
|
1637
|
+
{
|
|
1638
|
+
"name": "removeButtonLabel",
|
|
1639
|
+
"description": "Texto do botão de remoção da foto atual. Se não informado, utiliza o label padrão de remoção.",
|
|
1640
|
+
"type": "string"
|
|
1641
|
+
},
|
|
1642
|
+
{
|
|
1643
|
+
"name": "changeButtonLabel",
|
|
1644
|
+
"description": "Texto do botão de troca da foto atual. Se não informado, utiliza o label padrão de alteração.",
|
|
1645
|
+
"type": "string"
|
|
1646
|
+
},
|
|
1647
|
+
{
|
|
1648
|
+
"name": "confirmationTexts",
|
|
1649
|
+
"description": "Textos personalizados exibidos no diálogo de confirmação ao remover ou substituir a foto. Permite sobrescrever título, mensagem e botões.",
|
|
1650
|
+
"type": "ConfirmationTexts"
|
|
1651
|
+
},
|
|
1652
|
+
{
|
|
1653
|
+
"name": "maxFileSize",
|
|
1654
|
+
"description": "Tamanho máximo permitido para o arquivo de imagem, em bytes. Quando o arquivo excede esse limite, o output `invalidFile` é emitido.",
|
|
1655
|
+
"type": "number"
|
|
1656
|
+
},
|
|
1657
|
+
{
|
|
1658
|
+
"name": "accept",
|
|
1659
|
+
"description": "Tipos MIME aceitos pelo input de arquivo. Exemplo: `\"image/jpeg,image/png\"`.",
|
|
1660
|
+
"type": "string"
|
|
1661
|
+
},
|
|
1662
|
+
{
|
|
1663
|
+
"name": "supportedExtensions",
|
|
1664
|
+
"description": "Lista de extensões de arquivo aceitas para validação. Exemplo: `['.jpg', '.jpeg', '.png']`.",
|
|
1665
|
+
"default": "[]",
|
|
1666
|
+
"type": "string[]"
|
|
1667
|
+
},
|
|
1668
|
+
{
|
|
1669
|
+
"name": "image",
|
|
1670
|
+
"description": "Imagem atual do componente. Pode ser uma string base64, um objeto {",
|
|
1671
|
+
"default": "null",
|
|
1672
|
+
"type": "string | ProfilePicturePickerData | null"
|
|
1673
|
+
}
|
|
1674
|
+
],
|
|
1675
|
+
"outputs": [
|
|
1676
|
+
{
|
|
1677
|
+
"name": "changedImage",
|
|
1678
|
+
"description": "Emitido ao selecionar ou recortar uma nova imagem. Emite a string base64 da imagem.",
|
|
1679
|
+
"type": "EventEmitter<string>",
|
|
1680
|
+
"deprecated": true
|
|
1681
|
+
},
|
|
1682
|
+
{
|
|
1683
|
+
"name": "imageChange",
|
|
1684
|
+
"description": "Emitido ao selecionar, recortar ou alterar a imagem. Emite a string base64 ou um objeto {"
|
|
1685
|
+
},
|
|
1686
|
+
{
|
|
1687
|
+
"name": "removedImage",
|
|
1688
|
+
"description": "Emitido quando o usuário confirma a remoção da foto atual."
|
|
1689
|
+
},
|
|
1690
|
+
{
|
|
1691
|
+
"name": "invalidFile",
|
|
1692
|
+
"description": "Emitido quando o arquivo selecionado não passa na validação. Emite um objeto {",
|
|
1693
|
+
"type": "EventEmitter<FileValidationErrors>"
|
|
1694
|
+
}
|
|
1695
|
+
]
|
|
1696
|
+
},
|
|
1697
|
+
{
|
|
1698
|
+
"name": "radio-button",
|
|
1699
|
+
"selector": "s-radiobutton",
|
|
1700
|
+
"description": "Componente de botão de opção (radio button) individual que implementa {",
|
|
1701
|
+
"package": "@seniorsistemas/angular-components/radio-button",
|
|
1702
|
+
"priority": "low",
|
|
1703
|
+
"keywords": [
|
|
1704
|
+
"radio-button",
|
|
1705
|
+
"radio",
|
|
1706
|
+
"button",
|
|
1707
|
+
"inputs"
|
|
1708
|
+
],
|
|
1709
|
+
"inputs": [
|
|
1710
|
+
{
|
|
1711
|
+
"name": "buttonDisabled",
|
|
1712
|
+
"description": "Controla o estado desabilitado do botão via two-way binding.",
|
|
1713
|
+
"default": "false",
|
|
1714
|
+
"type": "boolean"
|
|
1715
|
+
},
|
|
1716
|
+
{
|
|
1717
|
+
"name": "label",
|
|
1718
|
+
"description": "Texto do label exibido ao lado do botão de opção. Campo obrigatório."
|
|
1719
|
+
},
|
|
1720
|
+
{
|
|
1721
|
+
"name": "name",
|
|
1722
|
+
"description": "Nome do grupo de radio buttons. Deve ser igual para todos os botões do mesmo grupo. Campo obrigatório."
|
|
1723
|
+
},
|
|
1724
|
+
{
|
|
1725
|
+
"name": "value",
|
|
1726
|
+
"description": "Valor associado a este botão de opção. Emitido ao formulário quando o item é selecionado. Campo obrigatório."
|
|
1727
|
+
},
|
|
1728
|
+
{
|
|
1729
|
+
"name": "inputId",
|
|
1730
|
+
"description": "Identificador único do elemento `<input>` interno, usado para acessibilidade. Gerado automaticamente se não informado.",
|
|
1731
|
+
"default": "`RadioButton_${RadioButtonComponent.ID++}`",
|
|
1732
|
+
"type": "string"
|
|
1733
|
+
}
|
|
1734
|
+
],
|
|
1735
|
+
"outputs": [
|
|
1736
|
+
{
|
|
1737
|
+
"name": "focusedInput",
|
|
1738
|
+
"description": "Emitido quando o campo interno recebe foco.",
|
|
1739
|
+
"type": "FocusEvent"
|
|
1740
|
+
},
|
|
1741
|
+
{
|
|
1742
|
+
"name": "inputFocusLost",
|
|
1743
|
+
"description": "Emitido quando o campo interno perde o foco.",
|
|
1744
|
+
"type": "FocusEvent"
|
|
1745
|
+
}
|
|
1746
|
+
]
|
|
1747
|
+
},
|
|
1748
|
+
{
|
|
1749
|
+
"name": "select-button",
|
|
1750
|
+
"selector": "s-select-button",
|
|
1751
|
+
"description": "Componente de seleção por botões agrupados, onde cada opção é representada visualmente como um botão clicável. Suporta seleção simples e múltipla. Implementa {",
|
|
1752
|
+
"package": "@seniorsistemas/angular-components/select-button",
|
|
1753
|
+
"priority": "low",
|
|
1754
|
+
"keywords": [
|
|
1755
|
+
"select-button",
|
|
1756
|
+
"select",
|
|
1757
|
+
"button",
|
|
1758
|
+
"inputs"
|
|
1759
|
+
],
|
|
1760
|
+
"inputs": [
|
|
1761
|
+
{
|
|
1762
|
+
"name": "items",
|
|
1763
|
+
"description": "Lista de itens exibidos como botões de seleção. Cada item pode possuir `label`, `value` e `disabled`. Campo obrigatório."
|
|
1764
|
+
},
|
|
1765
|
+
{
|
|
1766
|
+
"name": "multiple",
|
|
1767
|
+
"description": "Habilita a seleção de múltiplos itens ao mesmo tempo. Quando `false`, apenas um item pode estar ativo por vez.",
|
|
1768
|
+
"default": "false",
|
|
1769
|
+
"type": "boolean"
|
|
1770
|
+
}
|
|
1771
|
+
],
|
|
1772
|
+
"outputs": [
|
|
1773
|
+
{
|
|
1774
|
+
"name": "itemSelected",
|
|
1775
|
+
"description": "Emitido após a seleção de um item, com a lista completa dos itens atualmente selecionados (array de {"
|
|
1776
|
+
},
|
|
1777
|
+
{
|
|
1778
|
+
"name": "itemClicked",
|
|
1779
|
+
"description": "Emitido no momento do clique em um item, antes da atualização do estado de seleção. Útil para side-effects imediatos ao clique."
|
|
1780
|
+
}
|
|
1781
|
+
]
|
|
1782
|
+
},
|
|
1783
|
+
{
|
|
1784
|
+
"name": "slider",
|
|
1785
|
+
"selector": "s-slider",
|
|
1786
|
+
"description": "Componente de controle deslizante (slider) para seleção de valores numéricos dentro de um intervalo definido. Suporta modo simples (um valor) e modo de intervalo (dois valores: início e fim). Implementa {",
|
|
1787
|
+
"package": "@seniorsistemas/angular-components/slider",
|
|
1788
|
+
"priority": "low",
|
|
1789
|
+
"keywords": [
|
|
1790
|
+
"slider",
|
|
1791
|
+
"inputs"
|
|
1792
|
+
],
|
|
1793
|
+
"inputs": [
|
|
1794
|
+
{
|
|
1795
|
+
"name": "multiple",
|
|
1796
|
+
"description": "Habilita o modo de intervalo, permitindo selecionar um valor mínimo e máximo. Quando `true`, o valor do componente é um array `[inicio, fim]`.",
|
|
1797
|
+
"default": "false",
|
|
1798
|
+
"type": "boolean"
|
|
1799
|
+
},
|
|
1800
|
+
{
|
|
1801
|
+
"name": "value",
|
|
1802
|
+
"description": "Valor atual do slider. No modo simples é um número; no modo de intervalo (`multiple: true`) é um array `[inicio, fim]`.",
|
|
1803
|
+
"default": "0",
|
|
1804
|
+
"type": "number | [number, number]"
|
|
1805
|
+
},
|
|
1806
|
+
{
|
|
1807
|
+
"name": "step",
|
|
1808
|
+
"description": "Incremento aplicado a cada movimento do thumb do slider.",
|
|
1809
|
+
"default": "1",
|
|
1810
|
+
"type": "number"
|
|
1811
|
+
},
|
|
1812
|
+
{
|
|
1813
|
+
"name": "hiddenThumb",
|
|
1814
|
+
"description": "Oculta visualmente o thumb (botão arrastável) do slider. Útil para visualizações onde apenas a faixa de progresso deve ser exibida.",
|
|
1815
|
+
"default": "false",
|
|
1816
|
+
"type": "boolean"
|
|
1817
|
+
},
|
|
1818
|
+
{
|
|
1819
|
+
"name": "disabled",
|
|
1820
|
+
"description": "Desabilita a interação do usuário com o slider.",
|
|
1821
|
+
"default": "false",
|
|
1822
|
+
"type": "boolean"
|
|
1823
|
+
},
|
|
1824
|
+
{
|
|
1825
|
+
"name": "min",
|
|
1826
|
+
"description": "Valor mínimo permitido no slider.",
|
|
1827
|
+
"default": "0"
|
|
1828
|
+
},
|
|
1829
|
+
{
|
|
1830
|
+
"name": "max",
|
|
1831
|
+
"description": "Valor máximo permitido no slider.",
|
|
1832
|
+
"default": "100"
|
|
1833
|
+
},
|
|
1834
|
+
{
|
|
1835
|
+
"name": "minValueLabel",
|
|
1836
|
+
"description": "Label exibido abaixo ou ao lado do valor mínimo do slider. Útil para indicar semanticamente os extremos do intervalo.",
|
|
1837
|
+
"type": "string"
|
|
1838
|
+
},
|
|
1839
|
+
{
|
|
1840
|
+
"name": "maxValueLabel",
|
|
1841
|
+
"description": "Label exibido abaixo ou ao lado do valor máximo do slider. Útil para indicar semanticamente os extremos do intervalo.",
|
|
1842
|
+
"type": "string"
|
|
1843
|
+
},
|
|
1844
|
+
{
|
|
1845
|
+
"name": "tabindex",
|
|
1846
|
+
"description": "Índice de tabulação do elemento, controlando a ordem de foco via teclado.",
|
|
1847
|
+
"default": "0",
|
|
1848
|
+
"type": "number"
|
|
1849
|
+
}
|
|
1850
|
+
],
|
|
1851
|
+
"outputs": [
|
|
1852
|
+
{
|
|
1853
|
+
"name": "valueChange",
|
|
1854
|
+
"description": "Emitido sempre que o valor do slider é alterado pelo usuário. Emite o novo valor (número ou array de dois números no modo de intervalo)."
|
|
1855
|
+
}
|
|
1856
|
+
]
|
|
1857
|
+
},
|
|
1858
|
+
{
|
|
1859
|
+
"name": "speech-recognition",
|
|
1860
|
+
"selector": "s-speech-recognition",
|
|
1861
|
+
"description": "Componente de reconhecimento de voz que integra a Web Speech API para transcrever a fala do usuário em texto, inserída diretamente em um `<textarea>` fornecido. Suporta também text-to-speech para leitura em voz alta do conteúdo do campo.",
|
|
1862
|
+
"package": "@seniorsistemas/angular-components/speech-recognition",
|
|
1863
|
+
"priority": "low",
|
|
1864
|
+
"keywords": [
|
|
1865
|
+
"speech-recognition",
|
|
1866
|
+
"speech",
|
|
1867
|
+
"recognition",
|
|
1868
|
+
"inputs"
|
|
1869
|
+
],
|
|
1870
|
+
"inputs": [
|
|
1871
|
+
{
|
|
1872
|
+
"name": "textAreaElement",
|
|
1873
|
+
"description": "Referência ao elemento `<textarea>` nativo que receberá o texto transcrito. Campo obrigatório."
|
|
1874
|
+
},
|
|
1875
|
+
{
|
|
1876
|
+
"name": "keepContext",
|
|
1877
|
+
"description": "Quando `true`, mantém o texto existente no campo ao iniciar novo reconhecimento.",
|
|
1878
|
+
"default": "false",
|
|
1879
|
+
"type": "boolean"
|
|
1880
|
+
},
|
|
1881
|
+
{
|
|
1882
|
+
"name": "speechRecognitionPlaceholder",
|
|
1883
|
+
"description": "Placeholder exibido no textarea durante o reconhecimento de voz.",
|
|
1884
|
+
"default": "''",
|
|
1885
|
+
"type": "string"
|
|
1886
|
+
}
|
|
1887
|
+
],
|
|
1888
|
+
"outputs": [
|
|
1889
|
+
{
|
|
1890
|
+
"name": "recognizedText",
|
|
1891
|
+
"description": "Emitido quando o reconhecimento de voz é concluído, com o texto transcrito."
|
|
1892
|
+
}
|
|
1893
|
+
]
|
|
1894
|
+
},
|
|
1895
|
+
{
|
|
1896
|
+
"name": "split-button",
|
|
1897
|
+
"selector": "s-split-button",
|
|
1898
|
+
"description": "Botão composto com ação principal e dropdown de opções adicionais. Ao clicar no botão principal emite `buttonClicked`; ao clicar no ícone de seta abre/fecha o dropdown com a lista de `options`.",
|
|
1899
|
+
"package": "@seniorsistemas/angular-components/split-button",
|
|
1900
|
+
"priority": "low",
|
|
1901
|
+
"keywords": [
|
|
1902
|
+
"split-button",
|
|
1903
|
+
"split",
|
|
1904
|
+
"button",
|
|
1905
|
+
"inputs"
|
|
1906
|
+
],
|
|
1907
|
+
"inputs": [
|
|
1908
|
+
{
|
|
1909
|
+
"name": "disabled",
|
|
1910
|
+
"description": "Desabilita o botão principal e o dropdown.",
|
|
1911
|
+
"default": "false",
|
|
1912
|
+
"type": "boolean"
|
|
1913
|
+
},
|
|
1914
|
+
{
|
|
1915
|
+
"name": "iconClass",
|
|
1916
|
+
"description": "Classe do ícone exibido no botão principal. Campo obrigatório."
|
|
1917
|
+
},
|
|
1918
|
+
{
|
|
1919
|
+
"name": "label",
|
|
1920
|
+
"description": "Rótulo do botão principal. Campo obrigatório."
|
|
1921
|
+
},
|
|
1922
|
+
{
|
|
1923
|
+
"name": "type",
|
|
1924
|
+
"description": "Estilo visual do botão (`'primary'` ou `'secondary'`).",
|
|
1925
|
+
"default": "'primary'",
|
|
1926
|
+
"type": "SplitButtonType"
|
|
1927
|
+
},
|
|
1928
|
+
{
|
|
1929
|
+
"name": "options",
|
|
1930
|
+
"description": "Lista de opções exibidas no dropdown. Campo obrigatório."
|
|
1931
|
+
}
|
|
1932
|
+
],
|
|
1933
|
+
"outputs": [
|
|
1934
|
+
{
|
|
1935
|
+
"name": "buttonClicked",
|
|
1936
|
+
"description": "Emitido quando o usuário clica no botão principal (não no dropdown)."
|
|
1937
|
+
}
|
|
1938
|
+
]
|
|
1939
|
+
},
|
|
1940
|
+
{
|
|
1941
|
+
"name": "star-rating",
|
|
1942
|
+
"selector": "s-star-rating",
|
|
1943
|
+
"description": "Componente de avaliação por estrelas com suporte a `ControlValueAccessor` para integração com formulários Angular. Permite configurar o número de estrelas, alinhamento e estado desabilitado. Clicar na estrela já selecionada a deseleciona.",
|
|
1944
|
+
"package": "@seniorsistemas/angular-components/star-rating",
|
|
1945
|
+
"priority": "low",
|
|
1946
|
+
"keywords": [
|
|
1947
|
+
"star-rating",
|
|
1948
|
+
"star",
|
|
1949
|
+
"rating",
|
|
1950
|
+
"inputs"
|
|
1951
|
+
],
|
|
1952
|
+
"inputs": [
|
|
1953
|
+
{
|
|
1954
|
+
"name": "selectedStar",
|
|
1955
|
+
"description": "Índice da estrela atualmente selecionada (1-based).",
|
|
1956
|
+
"default": "0",
|
|
1957
|
+
"type": "number"
|
|
1958
|
+
},
|
|
1959
|
+
{
|
|
1960
|
+
"name": "starsRange",
|
|
1961
|
+
"description": "Número total de estrelas exibidas.",
|
|
1962
|
+
"default": "5",
|
|
1963
|
+
"type": "number"
|
|
1964
|
+
},
|
|
1965
|
+
{
|
|
1966
|
+
"name": "justifyContent",
|
|
1967
|
+
"description": "Alinhamento horizontal das estrelas.",
|
|
1968
|
+
"default": "'center'",
|
|
1969
|
+
"type": "JustifyTypes"
|
|
1970
|
+
},
|
|
1971
|
+
{
|
|
1972
|
+
"name": "disabled",
|
|
1973
|
+
"description": "Desabilita a seleção de estrelas.",
|
|
1974
|
+
"default": "false",
|
|
1975
|
+
"type": "boolean"
|
|
1976
|
+
}
|
|
1977
|
+
]
|
|
1978
|
+
},
|
|
1979
|
+
{
|
|
1980
|
+
"name": "switch",
|
|
1981
|
+
"selector": "s-switch",
|
|
1982
|
+
"description": "Componente de chave tipo switch (liga/desliga) que implementa `ControlValueAccessor` para uso em formulários Angular. Suporta rótulos personalizados para os estados verdadeiro e falso, além de modo somente leitura.",
|
|
1983
|
+
"package": "@seniorsistemas/angular-components/switch",
|
|
1984
|
+
"priority": "low",
|
|
1985
|
+
"keywords": [
|
|
1986
|
+
"switch",
|
|
1987
|
+
"inputs"
|
|
1988
|
+
],
|
|
1989
|
+
"inputs": [
|
|
1990
|
+
{
|
|
1991
|
+
"name": "readonly",
|
|
1992
|
+
"description": "Impede alterações pelo usuário sem desabilitar o campo.",
|
|
1993
|
+
"default": "false",
|
|
1994
|
+
"type": "boolean"
|
|
1995
|
+
},
|
|
1996
|
+
{
|
|
1997
|
+
"name": "trueLabel",
|
|
1998
|
+
"description": "Rótulo exibido quando o valor é `true`.",
|
|
1999
|
+
"type": "string"
|
|
2000
|
+
},
|
|
2001
|
+
{
|
|
2002
|
+
"name": "falseLabel",
|
|
2003
|
+
"description": "Rótulo exibido quando o valor é `false`.",
|
|
2004
|
+
"type": "string"
|
|
2005
|
+
},
|
|
2006
|
+
{
|
|
2007
|
+
"name": "inputId",
|
|
2008
|
+
"description": "`id` do elemento `<input>` interno para associação com `<label>`.",
|
|
2009
|
+
"type": "string"
|
|
2010
|
+
},
|
|
2011
|
+
{
|
|
2012
|
+
"name": "inputName",
|
|
2013
|
+
"description": "Atributo `name` do `<input>` interno.",
|
|
2014
|
+
"type": "string"
|
|
2015
|
+
},
|
|
2016
|
+
{
|
|
2017
|
+
"name": "disabled",
|
|
2018
|
+
"description": "Desabilita o componente, impedindo interação e alterações.",
|
|
2019
|
+
"default": "false",
|
|
2020
|
+
"type": "boolean"
|
|
2021
|
+
},
|
|
2022
|
+
{
|
|
2023
|
+
"name": "value",
|
|
2024
|
+
"description": "Valor atual do switch.",
|
|
2025
|
+
"default": "false",
|
|
2026
|
+
"type": "boolean"
|
|
2027
|
+
}
|
|
2028
|
+
],
|
|
2029
|
+
"outputs": [
|
|
2030
|
+
{
|
|
2031
|
+
"name": "valueChanged",
|
|
2032
|
+
"description": "Emitido quando o valor do switch muda, com o novo estado booleano."
|
|
2033
|
+
}
|
|
2034
|
+
]
|
|
2035
|
+
},
|
|
2036
|
+
{
|
|
2037
|
+
"name": "text-area",
|
|
2038
|
+
"selector": "s-textarea",
|
|
2039
|
+
"description": "Componente de área de texto com suporte a reconhecimento de voz, filtro de teclas, comprimento máximo e integração com `ControlValueAccessor`. Renderiza condicionalmente o componente `SpeechRecognitionComponent` quando a flag `speechRecognition` está ativa.",
|
|
2040
|
+
"package": "@seniorsistemas/angular-components/text-area",
|
|
2041
|
+
"priority": "low",
|
|
2042
|
+
"keywords": [
|
|
2043
|
+
"text-area",
|
|
2044
|
+
"text",
|
|
2045
|
+
"area",
|
|
2046
|
+
"inputs"
|
|
2047
|
+
],
|
|
2048
|
+
"inputs": [
|
|
2049
|
+
{
|
|
2050
|
+
"name": "inputId",
|
|
2051
|
+
"description": "Identificador do elemento `<textarea>` no DOM.",
|
|
2052
|
+
"default": "'textarea-{random}'",
|
|
2053
|
+
"type": "string"
|
|
2054
|
+
},
|
|
2055
|
+
{
|
|
2056
|
+
"name": "rows",
|
|
2057
|
+
"description": "Número de linhas visíveis no textarea.",
|
|
2058
|
+
"default": "5",
|
|
2059
|
+
"type": "number"
|
|
2060
|
+
},
|
|
2061
|
+
{
|
|
2062
|
+
"name": "speechRecognition",
|
|
2063
|
+
"description": "Habilita o botão de reconhecimento de voz.",
|
|
2064
|
+
"default": "false",
|
|
2065
|
+
"type": "boolean"
|
|
2066
|
+
},
|
|
2067
|
+
{
|
|
2068
|
+
"name": "keyFilter",
|
|
2069
|
+
"description": "Filtro de teclas aceitas, usando padrão ou expressão regular.",
|
|
2070
|
+
"type": "RegExp | KeyFilterPattern | null | undefined"
|
|
2071
|
+
},
|
|
2072
|
+
{
|
|
2073
|
+
"name": "keepContext",
|
|
2074
|
+
"description": "Quando `true`, mantém o contexto ao reiniciar o reconhecimento de voz.",
|
|
2075
|
+
"default": "false",
|
|
2076
|
+
"type": "boolean"
|
|
2077
|
+
},
|
|
2078
|
+
{
|
|
2079
|
+
"name": "speechRecognitionPlaceholder",
|
|
2080
|
+
"description": "Placeholder exibido durante o reconhecimento de voz.",
|
|
2081
|
+
"default": "''",
|
|
2082
|
+
"type": "string"
|
|
2083
|
+
},
|
|
2084
|
+
{
|
|
2085
|
+
"name": "maxLength",
|
|
2086
|
+
"description": "Número máximo de caracteres aceitos.",
|
|
2087
|
+
"default": "null (ilimitado)",
|
|
2088
|
+
"type": "number | null"
|
|
2089
|
+
},
|
|
2090
|
+
{
|
|
2091
|
+
"name": "placeholder",
|
|
2092
|
+
"description": "Texto exibido quando o campo está vazio.",
|
|
2093
|
+
"type": "string | undefined"
|
|
2094
|
+
},
|
|
2095
|
+
{
|
|
2096
|
+
"name": "get",
|
|
2097
|
+
"description": "Estilos inline aplicados ao elemento `<textarea>` interno.",
|
|
2098
|
+
"default": "`{ resize: 'vertical' }`"
|
|
2099
|
+
},
|
|
2100
|
+
{
|
|
2101
|
+
"name": "readOnly",
|
|
2102
|
+
"description": "Coloca o textarea em modo somente leitura.",
|
|
2103
|
+
"default": "false",
|
|
2104
|
+
"type": "boolean"
|
|
2105
|
+
}
|
|
2106
|
+
],
|
|
2107
|
+
"note": "Prefer using dynamic-form with appropriate field type instead"
|
|
2108
|
+
}
|
|
2109
|
+
]
|
|
2110
|
+
},
|
|
2111
|
+
"feedback": {
|
|
2112
|
+
"description": "User feedback components",
|
|
2113
|
+
"components": [
|
|
2114
|
+
{
|
|
2115
|
+
"name": "alert",
|
|
2116
|
+
"selector": "s-alert",
|
|
2117
|
+
"description": "Componente de alerta que exibe mensagens informativas, de sucesso, aviso ou erro. Suporta fechamento manual pelo usuário e emite um evento ao ser fechado.",
|
|
2118
|
+
"package": "@seniorsistemas/angular-components/alert",
|
|
2119
|
+
"priority": "high",
|
|
2120
|
+
"keywords": [
|
|
2121
|
+
"alert",
|
|
2122
|
+
"feedback"
|
|
2123
|
+
],
|
|
2124
|
+
"inputs": [
|
|
2125
|
+
{
|
|
2126
|
+
"name": "severity",
|
|
2127
|
+
"description": "Nível de severidade do alerta, que define a cor e o ícone exibidos. - `'info'`: alerta informativo (padrão). - `'success'`: alerta de sucesso. - `'warning'`: alerta de aviso. - `'error'`: alerta de erro.",
|
|
2128
|
+
"default": "'info'",
|
|
2129
|
+
"type": "'info' | 'success' | 'warning' | 'error'"
|
|
2130
|
+
},
|
|
2131
|
+
{
|
|
2132
|
+
"name": "summary",
|
|
2133
|
+
"description": "Título principal do alerta exibido em destaque. Campo obrigatório."
|
|
2134
|
+
},
|
|
2135
|
+
{
|
|
2136
|
+
"name": "detail",
|
|
2137
|
+
"description": "Mensagem detalhada exibida abaixo do título do alerta. Campo obrigatório."
|
|
2138
|
+
},
|
|
2139
|
+
{
|
|
2140
|
+
"name": "closable",
|
|
2141
|
+
"description": "Quando `true`, exibe o botão de fechar o alerta. Quando `false`, o alerta não pode ser dispensado pelo usuário.",
|
|
2142
|
+
"default": "true",
|
|
2143
|
+
"type": "boolean"
|
|
2144
|
+
}
|
|
2145
|
+
],
|
|
2146
|
+
"outputs": [
|
|
2147
|
+
{
|
|
2148
|
+
"name": "closed",
|
|
2149
|
+
"description": "Emitido quando o usuário fecha o alerta clicando no botão de fechar."
|
|
2150
|
+
}
|
|
2151
|
+
]
|
|
2152
|
+
},
|
|
2153
|
+
{
|
|
2154
|
+
"name": "toast",
|
|
2155
|
+
"selector": "s-toast",
|
|
2156
|
+
"description": "Componente individual de notificação (toast) que exibe uma mensagem temporária na tela. Gerencia automaticamente o timer de dismiss quando `toast.sticky` é `false`. Recomenda-se utilizar o `ToastService` para criar e empilhar toasts na aplicação.",
|
|
2157
|
+
"package": "@seniorsistemas/angular-components/toast",
|
|
2158
|
+
"priority": "high",
|
|
2159
|
+
"keywords": [
|
|
2160
|
+
"toast",
|
|
2161
|
+
"feedback"
|
|
2162
|
+
],
|
|
2163
|
+
"inputs": [
|
|
2164
|
+
{
|
|
2165
|
+
"name": "toast",
|
|
2166
|
+
"description": "Objeto com os dados da notificação a ser exibida. Inclui propriedades como `severity`, `summary`, `detail`, `duration` e `sticky`."
|
|
2167
|
+
}
|
|
2168
|
+
],
|
|
2169
|
+
"outputs": [
|
|
2170
|
+
{
|
|
2171
|
+
"name": "dismiss",
|
|
2172
|
+
"description": "Emitido quando a notificação é descartada, seja pelo timer automático (ao expirar `toast.duration`) ou pela ação manual do usuário."
|
|
2173
|
+
}
|
|
2174
|
+
]
|
|
2175
|
+
},
|
|
2176
|
+
{
|
|
2177
|
+
"name": "badge",
|
|
2178
|
+
"selector": "s-badge",
|
|
2179
|
+
"description": "Componente de badge (etiqueta) para exibir rótulos coloridos e clicáveis, com suporte a ícones, variantes visuais (pill, tag) e estado selecionável.",
|
|
2180
|
+
"package": "@seniorsistemas/angular-components/badge",
|
|
2181
|
+
"priority": "medium",
|
|
2182
|
+
"keywords": [
|
|
2183
|
+
"badge",
|
|
2184
|
+
"feedback"
|
|
2185
|
+
],
|
|
2186
|
+
"inputs": [
|
|
2187
|
+
{
|
|
2188
|
+
"name": "type",
|
|
2189
|
+
"description": "Variante visual do badge.",
|
|
2190
|
+
"default": "'pill'",
|
|
2191
|
+
"type": "BadgeTypes"
|
|
2192
|
+
},
|
|
2193
|
+
{
|
|
2194
|
+
"name": "color",
|
|
2195
|
+
"description": "Cor do badge.",
|
|
2196
|
+
"default": "'blue'",
|
|
2197
|
+
"type": "BadgeColors"
|
|
2198
|
+
},
|
|
2199
|
+
{
|
|
2200
|
+
"name": "title",
|
|
2201
|
+
"description": "Texto de título exibido no badge.",
|
|
2202
|
+
"type": "string"
|
|
2203
|
+
},
|
|
2204
|
+
{
|
|
2205
|
+
"name": "text",
|
|
2206
|
+
"description": "Texto principal exibido dentro do badge.",
|
|
2207
|
+
"type": "string"
|
|
2208
|
+
},
|
|
2209
|
+
{
|
|
2210
|
+
"name": "selectable",
|
|
2211
|
+
"description": "Habilita o modo selecionável, emitindo o evento `selected` ao clicar.",
|
|
2212
|
+
"default": "false",
|
|
2213
|
+
"type": "boolean"
|
|
2214
|
+
},
|
|
2215
|
+
{
|
|
2216
|
+
"name": "iconClass",
|
|
2217
|
+
"description": "Classe CSS do ícone exibido no badge (ex.: `'fa fa-check'`).",
|
|
2218
|
+
"type": "string"
|
|
2219
|
+
},
|
|
2220
|
+
{
|
|
2221
|
+
"name": "iconPosition",
|
|
2222
|
+
"description": "Posição do ícone em relação ao texto.",
|
|
2223
|
+
"default": "'left'",
|
|
2224
|
+
"type": "'left' | 'right'"
|
|
2225
|
+
},
|
|
2226
|
+
{
|
|
2227
|
+
"name": "infoSign",
|
|
2228
|
+
"description": "Configuração do info-sign exibido no badge, com texto e tempo de exibição opcional."
|
|
2229
|
+
},
|
|
2230
|
+
{
|
|
2231
|
+
"name": "enableTruncateText",
|
|
2232
|
+
"default": "false",
|
|
2233
|
+
"type": "boolean"
|
|
2234
|
+
}
|
|
2235
|
+
],
|
|
2236
|
+
"outputs": [
|
|
2237
|
+
{
|
|
2238
|
+
"name": "selected",
|
|
2239
|
+
"description": "Emitido ao clicar no badge, enviando o valor de `text`."
|
|
2240
|
+
}
|
|
2241
|
+
]
|
|
2242
|
+
},
|
|
2243
|
+
{
|
|
2244
|
+
"name": "control-errors",
|
|
2245
|
+
"selector": "s-control-errors",
|
|
2246
|
+
"description": "Componente que exibe as mensagens de erro de validação associadas a um controle de formulário. Observa as alterações de estado do controle e renderiza as mensagens mapeadas em `errorMessages`. Compativel com `AbstractControl` do Reactive Forms e `NgModel` do Template-Driven Forms.",
|
|
2247
|
+
"package": "@seniorsistemas/angular-components/control-errors",
|
|
2248
|
+
"priority": "low",
|
|
2249
|
+
"keywords": [
|
|
2250
|
+
"control-errors",
|
|
2251
|
+
"control",
|
|
2252
|
+
"errors",
|
|
2253
|
+
"feedback"
|
|
2254
|
+
],
|
|
2255
|
+
"inputs": [
|
|
2256
|
+
{
|
|
2257
|
+
"name": "id",
|
|
2258
|
+
"description": "Identificador único do componente. Gerado automaticamente se não informado. Usado para associação acessível com o campo correspondente.",
|
|
2259
|
+
"type": "string"
|
|
2260
|
+
},
|
|
2261
|
+
{
|
|
2262
|
+
"name": "control",
|
|
2263
|
+
"description": "Controle do formulário cujos erros serão exibidos. Aceita `AbstractControl` (Reactive Forms) ou `NgModel` (Template-Driven Forms). Campo obrigatório."
|
|
2264
|
+
},
|
|
2265
|
+
{
|
|
2266
|
+
"name": "errorMessages",
|
|
2267
|
+
"description": "Mapa de chaves de erro para mensagens de texto exibidas ao usuário. Cada chave corresponde a um erro que pode estar presente em `control.errors`.",
|
|
2268
|
+
"type": "any"
|
|
2269
|
+
},
|
|
2270
|
+
{
|
|
2271
|
+
"name": "form",
|
|
2272
|
+
"description": "Referência ao formulário pai. Utilizado em cenários de validação customizada que dependem do estado geral do formulário.",
|
|
2273
|
+
"type": "any"
|
|
2274
|
+
}
|
|
2275
|
+
]
|
|
2276
|
+
},
|
|
2277
|
+
{
|
|
2278
|
+
"name": "empty-state",
|
|
2279
|
+
"selector": "s-empty-state",
|
|
2280
|
+
"description": "Componente de estado vazio exibido quando não há conteúdo para mostrar. Apresenta um ícone, título, descrição e até duas ações configuráveis (primária com suporte a tiered menu e secundária simples).",
|
|
2281
|
+
"package": "@seniorsistemas/angular-components/empty-state",
|
|
2282
|
+
"priority": "low",
|
|
2283
|
+
"keywords": [
|
|
2284
|
+
"empty-state",
|
|
2285
|
+
"empty",
|
|
2286
|
+
"state",
|
|
2287
|
+
"feedback"
|
|
2288
|
+
],
|
|
2289
|
+
"inputs": [
|
|
2290
|
+
{
|
|
2291
|
+
"name": "id",
|
|
2292
|
+
"description": "Identificador único do componente. Gerado automaticamente se não informado.",
|
|
2293
|
+
"type": "string"
|
|
2294
|
+
},
|
|
2295
|
+
{
|
|
2296
|
+
"name": "title",
|
|
2297
|
+
"description": "Título principal exibido no estado vazio. Campo obrigatório."
|
|
2298
|
+
},
|
|
2299
|
+
{
|
|
2300
|
+
"name": "iconClass",
|
|
2301
|
+
"description": "Classe CSS do ícone exibido no estado vazio. Aceita classes de bibliotecas de ícones como Font Awesome.",
|
|
2302
|
+
"default": "'fa fa-inbox'",
|
|
2303
|
+
"type": "string"
|
|
2304
|
+
},
|
|
2305
|
+
{
|
|
2306
|
+
"name": "description",
|
|
2307
|
+
"description": "Texto descritivo exibido abaixo do título, explicando o motivo do estado vazio ou orientando o usuário sobre as próximas ações.",
|
|
2308
|
+
"type": "string"
|
|
2309
|
+
},
|
|
2310
|
+
{
|
|
2311
|
+
"name": "showPrimaryAction",
|
|
2312
|
+
"description": "Controla a visibilidade do botão de ação primária.",
|
|
2313
|
+
"default": "true",
|
|
2314
|
+
"type": "boolean"
|
|
2315
|
+
},
|
|
2316
|
+
{
|
|
2317
|
+
"name": "showSecondaryAction",
|
|
2318
|
+
"description": "Controla a visibilidade do botão de ação secundária.",
|
|
2319
|
+
"default": "true",
|
|
2320
|
+
"type": "boolean"
|
|
2321
|
+
},
|
|
2322
|
+
{
|
|
2323
|
+
"name": "primaryActionLabel",
|
|
2324
|
+
"description": "Texto do botão de ação primária. Quando `primaryModel` possui itens, o botão exibe um tiered menu ao clicar.",
|
|
2325
|
+
"type": "string"
|
|
2326
|
+
},
|
|
2327
|
+
{
|
|
2328
|
+
"name": "secondaryActionLabel",
|
|
2329
|
+
"description": "Texto do botão de ação secundária.",
|
|
2330
|
+
"type": "string"
|
|
2331
|
+
},
|
|
2332
|
+
{
|
|
2333
|
+
"name": "primaryModel",
|
|
2334
|
+
"description": "Lista de itens para o tiered menu da ação primária. Quando informado com itens, o botão primário exibe um menu de opções ao invés de emitir o evento `primaryAction` diretamente.",
|
|
2335
|
+
"type": "TieredMenuItemData[]"
|
|
2336
|
+
}
|
|
2337
|
+
],
|
|
2338
|
+
"outputs": [
|
|
2339
|
+
{
|
|
2340
|
+
"name": "primaryAction",
|
|
2341
|
+
"description": "Emitido quando o usuário clica no botão de ação primária e `primaryModel` está vazio."
|
|
2342
|
+
},
|
|
2343
|
+
{
|
|
2344
|
+
"name": "secondaryAction",
|
|
2345
|
+
"description": "Emitido quando o usuário clica no botão de ação secundária."
|
|
2346
|
+
}
|
|
2347
|
+
]
|
|
2348
|
+
},
|
|
2349
|
+
{
|
|
2350
|
+
"name": "loading-state",
|
|
2351
|
+
"selector": "s-loading-state",
|
|
2352
|
+
"description": "Componente de estado de carregamento que exibe um indicador animado enquanto um processo assíncrono está em andamento. Suporta bloqueio da janela inteira e diferentes tipos de indicadores visuais. Também pode ser usado como diretiva estrutural `[sLoadingState]`.",
|
|
2353
|
+
"package": "@seniorsistemas/angular-components/loading-state",
|
|
2354
|
+
"priority": "low",
|
|
2355
|
+
"keywords": [
|
|
2356
|
+
"loading-state",
|
|
2357
|
+
"loading",
|
|
2358
|
+
"state",
|
|
2359
|
+
"feedback"
|
|
2360
|
+
],
|
|
2361
|
+
"inputs": [
|
|
2362
|
+
{
|
|
2363
|
+
"name": "indicator",
|
|
2364
|
+
"description": "Tipo de indicador visual exibido durante o carregamento. - `LoadingStateIndicators.Dots`: indicador de pontos animados (padrão). - `LoadingStateIndicators.Logo`: indicador com logotipo animado.",
|
|
2365
|
+
"default": "LoadingStateIndicators.Dots",
|
|
2366
|
+
"type": "LoadingStateIndicators"
|
|
2367
|
+
},
|
|
2368
|
+
{
|
|
2369
|
+
"name": "id",
|
|
2370
|
+
"description": "Identificador único do componente. Gerado automaticamente se não informado.",
|
|
2371
|
+
"type": "string"
|
|
2372
|
+
},
|
|
2373
|
+
{
|
|
2374
|
+
"name": "blockWindow",
|
|
2375
|
+
"description": "Quando `true`, bloqueia a janela inteira durante o carregamento, sobrepondo todo o conteúdo da página com o indicador.",
|
|
2376
|
+
"default": "false",
|
|
2377
|
+
"type": "boolean"
|
|
2378
|
+
},
|
|
2379
|
+
{
|
|
2380
|
+
"name": "set",
|
|
2381
|
+
"description": "Controla o estado de carregamento do componente. Campo obrigatório. Quando `true`, exibe o indicador de carregamento após um breve delay. Quando `false`, remove o indicador após um breve delay (evita flash)."
|
|
2382
|
+
}
|
|
2383
|
+
]
|
|
2384
|
+
},
|
|
2385
|
+
{
|
|
2386
|
+
"name": "progressbar",
|
|
2387
|
+
"selector": "s-progressbar",
|
|
2388
|
+
"description": "Componente de barra de progresso que representa visualmente o avanço de uma tarefa. Suporta modo determinado (valor percentual) e indeterminado (progresso desconhecido), além de um valor-alvo para comparação.",
|
|
2389
|
+
"package": "@seniorsistemas/angular-components/progressbar",
|
|
2390
|
+
"priority": "low",
|
|
2391
|
+
"keywords": [
|
|
2392
|
+
"progressbar",
|
|
2393
|
+
"feedback"
|
|
2394
|
+
],
|
|
2395
|
+
"inputs": [
|
|
2396
|
+
{
|
|
2397
|
+
"name": "value",
|
|
2398
|
+
"description": "Valor atual do progresso, em percentual (0 a 100). Não utilizado quando `mode` é `'indeterminate'`. Lança erro se o valor estiver fora do intervalo permitido."
|
|
2399
|
+
},
|
|
2400
|
+
{
|
|
2401
|
+
"name": "activeColor",
|
|
2402
|
+
"description": "Cor ativa da barra de progresso. Campo obrigatório. Valores aceitos: `'blue'`, `'green'`, `'red'`, `'yellow'`."
|
|
2403
|
+
},
|
|
2404
|
+
{
|
|
2405
|
+
"name": "numberFormatOptions",
|
|
2406
|
+
"description": "Opções de formatação numérica utilizadas para exibir o valor percentual. Baseado na API `Intl.NumberFormat`.",
|
|
2407
|
+
"default": "`{ style: 'decimal', minimumFractionDigits: 0, maximumFractionDigits: 2 }`",
|
|
2408
|
+
"type": "Intl.NumberFormatOptions"
|
|
2409
|
+
},
|
|
2410
|
+
{
|
|
2411
|
+
"name": "targetValue",
|
|
2412
|
+
"description": "Valor-alvo em percentual (0 a 100), exibido como marcador de referência na barra. Não utilizado quando `mode` é `'indeterminate'`.",
|
|
2413
|
+
"type": "number"
|
|
2414
|
+
},
|
|
2415
|
+
{
|
|
2416
|
+
"name": "label",
|
|
2417
|
+
"description": "Rótulo descritivo exibido ao lado da barra de progresso principal.",
|
|
2418
|
+
"type": "string"
|
|
2419
|
+
},
|
|
2420
|
+
{
|
|
2421
|
+
"name": "targetLabel",
|
|
2422
|
+
"description": "Rótulo descritivo exibido ao lado do marcador de valor-alvo.",
|
|
2423
|
+
"type": "string"
|
|
2424
|
+
},
|
|
2425
|
+
{
|
|
2426
|
+
"name": "showValue",
|
|
2427
|
+
"description": "Quando `true`, exibe o valor percentual atual sobre ou próximo da barra.",
|
|
2428
|
+
"default": "true",
|
|
2429
|
+
"type": "boolean"
|
|
2430
|
+
},
|
|
2431
|
+
{
|
|
2432
|
+
"name": "mode",
|
|
2433
|
+
"description": "Modo de operação da barra de progresso. - `'determinate'`: exibe o progresso baseado em `value` (padrão). - `'indeterminate'`: animação contínua sem valor definido; `value`, `targetValue` e `targetLabel` não devem ser usados.",
|
|
2434
|
+
"default": "'determinate'",
|
|
2435
|
+
"type": "ProgressBarMode"
|
|
2436
|
+
}
|
|
2437
|
+
]
|
|
2438
|
+
},
|
|
2439
|
+
{
|
|
2440
|
+
"name": "rating-scale",
|
|
2441
|
+
"selector": "s-rating-scale",
|
|
2442
|
+
"description": "Componente de escala de avaliação que permite ao usuário selecionar um nó de uma escala visual. Implementa `ControlValueAccessor` para integração com Reactive Forms e Template-Driven Forms. Ideal para pesquisas de satisfação (NPS, CSAT) e questionários de feedback.",
|
|
2443
|
+
"package": "@seniorsistemas/angular-components/rating-scale",
|
|
2444
|
+
"priority": "low",
|
|
2445
|
+
"keywords": [
|
|
2446
|
+
"rating-scale",
|
|
2447
|
+
"rating",
|
|
2448
|
+
"scale",
|
|
2449
|
+
"feedback"
|
|
2450
|
+
],
|
|
2451
|
+
"inputs": [
|
|
2452
|
+
{
|
|
2453
|
+
"name": "nodes",
|
|
2454
|
+
"description": "Lista de nós que compõem a escala de avaliação. Campo obrigatório. Cada `RatingScaleNode` define o valor, rótulo e cor do item na escala."
|
|
2455
|
+
},
|
|
2456
|
+
{
|
|
2457
|
+
"name": "startLabel",
|
|
2458
|
+
"description": "Rótulo exibido no início (extremidade esquerda) da escala.",
|
|
2459
|
+
"type": "string"
|
|
2460
|
+
},
|
|
2461
|
+
{
|
|
2462
|
+
"name": "endLabel",
|
|
2463
|
+
"description": "Rótulo exibido no final (extremidade direita) da escala.",
|
|
2464
|
+
"type": "string"
|
|
2465
|
+
},
|
|
2466
|
+
{
|
|
2467
|
+
"name": "disabled",
|
|
2468
|
+
"description": "Quando `true`, a escala fica desabilitada e o usuário não pode selecionar nenhum nó.",
|
|
2469
|
+
"default": "false",
|
|
2470
|
+
"type": "boolean"
|
|
2471
|
+
}
|
|
2472
|
+
]
|
|
2473
|
+
}
|
|
2474
|
+
]
|
|
2475
|
+
},
|
|
2476
|
+
"navegação": {
|
|
2477
|
+
"description": "Navegação components",
|
|
2478
|
+
"components": [
|
|
2479
|
+
{
|
|
2480
|
+
"name": "tabs",
|
|
2481
|
+
"selector": "s-tab-item",
|
|
2482
|
+
"description": "Componente de item de aba, utilizado como filho direto de `TabsComponent`. Define o rótulo, ícone e conteúdo de cada aba individualmente. Suporta templates customizados para cabeçalho e corpo via `TemplateDirective`.",
|
|
2483
|
+
"package": "@seniorsistemas/angular-components/tabs",
|
|
2484
|
+
"priority": "high",
|
|
2485
|
+
"keywords": [
|
|
2486
|
+
"tabs",
|
|
2487
|
+
"navegação"
|
|
2488
|
+
],
|
|
2489
|
+
"inputs": [
|
|
2490
|
+
{
|
|
2491
|
+
"name": "icon",
|
|
2492
|
+
"description": "Classe de ícone exibida ao lado do rótulo da aba (ex: classe de Font Awesome.",
|
|
2493
|
+
"type": "string"
|
|
2494
|
+
},
|
|
2495
|
+
{
|
|
2496
|
+
"name": "header",
|
|
2497
|
+
"description": "Texto do rótulo exibido na aba.",
|
|
2498
|
+
"type": "string"
|
|
2499
|
+
},
|
|
2500
|
+
{
|
|
2501
|
+
"name": "disabled",
|
|
2502
|
+
"description": "Quando `true`, a aba fica desabilitada e não pode ser selecionada pelo usuário.",
|
|
2503
|
+
"default": "false",
|
|
2504
|
+
"type": "boolean"
|
|
2505
|
+
},
|
|
2506
|
+
{
|
|
2507
|
+
"name": "value",
|
|
2508
|
+
"description": "Valor identificador único da aba, utilizado pelo `TabsComponent` para controlar a aba ativa. Quando não informado, é atribuído automaticamente o índice da aba (baseado em zero).",
|
|
2509
|
+
"type": "string | number"
|
|
2510
|
+
},
|
|
2511
|
+
{
|
|
2512
|
+
"name": "destroyOnHide",
|
|
2513
|
+
"description": "Quando `true`, destrói o conteúdo da aba ao escondê-la, liberando recursos. Exige que o conteúdo seja envolvido em um template com `sTemplate=\"body\"`.",
|
|
2514
|
+
"default": "false",
|
|
2515
|
+
"type": "boolean"
|
|
2516
|
+
}
|
|
2517
|
+
]
|
|
2518
|
+
},
|
|
2519
|
+
{
|
|
2520
|
+
"name": "breadcrumb",
|
|
2521
|
+
"selector": "s-breadcrumb-list",
|
|
2522
|
+
"description": "Componente de trilha de navegação (breadcrumb) que detecta automaticamente a rota ativa do Angular Router e constrói o caminho hierárquico de páginas. Cada segmento da rota precisa ter a propriedade `routeTitle` definida nos `data` da rota.",
|
|
2523
|
+
"package": "@seniorsistemas/angular-components/breadcrumb",
|
|
2524
|
+
"priority": "medium",
|
|
2525
|
+
"keywords": [
|
|
2526
|
+
"breadcrumb",
|
|
2527
|
+
"navegação"
|
|
2528
|
+
],
|
|
2529
|
+
"inputs": [
|
|
2530
|
+
{
|
|
2531
|
+
"name": "items"
|
|
2532
|
+
}
|
|
2533
|
+
]
|
|
2534
|
+
},
|
|
2535
|
+
{
|
|
2536
|
+
"name": "grid-menu",
|
|
2537
|
+
"selector": "s-grid-menu",
|
|
2538
|
+
"description": "Componente de menu em grade que exibe uma coleção de itens como cards clicáveis. Suporta seleção de item ativo e pode utilizar ícones do Font Awesome ou ícones padrão.",
|
|
2539
|
+
"package": "@seniorsistemas/angular-components/grid-menu",
|
|
2540
|
+
"priority": "low",
|
|
2541
|
+
"keywords": [
|
|
2542
|
+
"grid-menu",
|
|
2543
|
+
"grid",
|
|
2544
|
+
"menu",
|
|
2545
|
+
"navegação"
|
|
2546
|
+
],
|
|
2547
|
+
"inputs": [
|
|
2548
|
+
{
|
|
2549
|
+
"name": "set",
|
|
2550
|
+
"description": "Lista de itens exibidos no grid. Aceita um único item ou um array de `GridMenuItem`. Valores nulos ou indefinidos resultam em uma lista vazia."
|
|
2551
|
+
},
|
|
2552
|
+
{
|
|
2553
|
+
"name": "useFontAwesomeIcons",
|
|
2554
|
+
"description": "Quando `true`, utiliza classes de ícones do Font Awesome nos itens do grid. Quando `false`, utiliza o sistema de ícones padrão do projeto.",
|
|
2555
|
+
"default": "false",
|
|
2556
|
+
"type": "boolean"
|
|
2557
|
+
},
|
|
2558
|
+
{
|
|
2559
|
+
"name": "selectable",
|
|
2560
|
+
"description": "Habilita o modo de seleção do grid. Quando `true`, permite que o usuário clique em um item para selecioná-lo, marcando-o como ativo.",
|
|
2561
|
+
"default": "false",
|
|
2562
|
+
"type": "boolean"
|
|
2563
|
+
},
|
|
2564
|
+
{
|
|
2565
|
+
"name": "selected",
|
|
2566
|
+
"description": "Item atualmente selecionado no grid. Usado em conjunto com `selectable = true` e suporta two-way binding via `[(selected)]`."
|
|
2567
|
+
}
|
|
2568
|
+
],
|
|
2569
|
+
"outputs": [
|
|
2570
|
+
{
|
|
2571
|
+
"name": "selectedChange",
|
|
2572
|
+
"description": "Emitido quando o usuário seleciona um novo item no grid. Retorna o `GridMenuItem` selecionado. Usado para two-way binding com `[(selected)]`."
|
|
2573
|
+
}
|
|
2574
|
+
]
|
|
2575
|
+
},
|
|
2576
|
+
{
|
|
2577
|
+
"name": "tiered-menu",
|
|
2578
|
+
"selector": "[sTieredMenu]",
|
|
2579
|
+
"description": "Diretiva que anexa um menu multinível (tiered menu) a qualquer elemento do DOM. Ao disparar o evento configurado no elemento hospedeiro, exibe um painel flutuante com itens de menu hierárquicos, suportando submenus aninhados e divisores. Em telas estreitas (< 600px), o menu é exibido em modo aninhado fullscreen.",
|
|
2580
|
+
"package": "@seniorsistemas/angular-components/tiered-menu",
|
|
2581
|
+
"priority": "low",
|
|
2582
|
+
"keywords": [
|
|
2583
|
+
"tiered-menu",
|
|
2584
|
+
"tiered",
|
|
2585
|
+
"menu",
|
|
2586
|
+
"navegação"
|
|
2587
|
+
],
|
|
2588
|
+
"inputs": [
|
|
2589
|
+
{
|
|
2590
|
+
"name": "items",
|
|
2591
|
+
"description": "Lista de itens exibidos no menu. Cada item pode conter um array de `children` para criar submenus aninhados, além de propriedades como `label`, `icon`, `disabled`, `command` e `divider`.",
|
|
2592
|
+
"type": "TieredMenuItemData[]"
|
|
2593
|
+
},
|
|
2594
|
+
{
|
|
2595
|
+
"name": "focusedItem",
|
|
2596
|
+
"description": "Item que receberá o foco inicial ao abrir o menu. Útil para destacar uma opção pré-selecionada ou contextual.",
|
|
2597
|
+
"type": "TieredMenuItemData | undefined"
|
|
2598
|
+
},
|
|
2599
|
+
{
|
|
2600
|
+
"name": "triggerEvent",
|
|
2601
|
+
"description": "Define o evento do elemento hospedeiro que dispara a abertura do menu. - `'click'`: abre o menu ao clicar no elemento (padrão). - `'hover'`: abre o menu ao passar o mouse sobre o elemento.",
|
|
2602
|
+
"default": "'click'",
|
|
2603
|
+
"type": "'click' | 'hover'"
|
|
2604
|
+
},
|
|
2605
|
+
{
|
|
2606
|
+
"name": "ariaLabel",
|
|
2607
|
+
"type": "string"
|
|
2608
|
+
}
|
|
2609
|
+
]
|
|
2610
|
+
},
|
|
2611
|
+
{
|
|
2612
|
+
"name": "workspace-switch",
|
|
2613
|
+
"selector": "s-workspace-switch",
|
|
2614
|
+
"description": "Componente de seleção de workspace exibe um dropdown com a lista de espaços de trabalho disponíveis, permitindo ao usuário alternar entre eles. Suporta navegação por teclado (setas, Enter, Escape), estado desabilitado e um botão de ação customizável no rodapé.",
|
|
2615
|
+
"package": "@seniorsistemas/angular-components/workspace-switch",
|
|
2616
|
+
"priority": "low",
|
|
2617
|
+
"keywords": [
|
|
2618
|
+
"workspace-switch",
|
|
2619
|
+
"workspace",
|
|
2620
|
+
"switch",
|
|
2621
|
+
"navegação"
|
|
2622
|
+
],
|
|
2623
|
+
"inputs": [
|
|
2624
|
+
{
|
|
2625
|
+
"name": "workspaces",
|
|
2626
|
+
"description": "Lista de workspaces disponíveis para seleção. Campo obrigatório. Cada item deve implementar a interface `Workspace`. Lança um erro em runtime se a lista estiver vazia.",
|
|
2627
|
+
"type": "Workspace[]"
|
|
2628
|
+
},
|
|
2629
|
+
{
|
|
2630
|
+
"name": "footerButtonLabel",
|
|
2631
|
+
"description": "Rótulo exibido no botão de ação localizado no rodapé do dropdown.",
|
|
2632
|
+
"default": "'Adicionar'",
|
|
2633
|
+
"type": "string"
|
|
2634
|
+
},
|
|
2635
|
+
{
|
|
2636
|
+
"name": "showFooterButton",
|
|
2637
|
+
"description": "Controla a visibilidade do botão de ação no rodapé do dropdown. Quando `false`, o botão não é renderizado.",
|
|
2638
|
+
"default": "true",
|
|
2639
|
+
"type": "boolean"
|
|
2640
|
+
},
|
|
2641
|
+
{
|
|
2642
|
+
"name": "disabled",
|
|
2643
|
+
"description": "Quando `true`, o componente fica desabilitado: não abre o dropdown, não emite eventos e fica inacessível via teclado (`tabindex = -1`).",
|
|
2644
|
+
"default": "false",
|
|
2645
|
+
"type": "boolean"
|
|
2646
|
+
}
|
|
2647
|
+
],
|
|
2648
|
+
"outputs": [
|
|
2649
|
+
{
|
|
2650
|
+
"name": "footerButtonClicked",
|
|
2651
|
+
"description": "Emitido quando o usuário clica no botão de ação do rodapé do dropdown."
|
|
2652
|
+
},
|
|
2653
|
+
{
|
|
2654
|
+
"name": "selected",
|
|
2655
|
+
"description": "Emitido quando o usuário seleciona um workspace da lista. Retorna o objeto `Workspace` selecionado.",
|
|
2656
|
+
"type": "EventEmitter<Workspace>"
|
|
2657
|
+
}
|
|
2658
|
+
]
|
|
2659
|
+
}
|
|
2660
|
+
]
|
|
2661
|
+
},
|
|
2662
|
+
"structure": {
|
|
2663
|
+
"description": "Structural layout components",
|
|
2664
|
+
"components": [
|
|
2665
|
+
{
|
|
2666
|
+
"name": "card",
|
|
2667
|
+
"selector": "s-card",
|
|
2668
|
+
"description": "Componente de cartão com suporte a banner, cabeçalho (título, subtítulo e ícone) e templates customizáveis para cabeçalho, corpo e rodapé via `TemplateDirective`.",
|
|
2669
|
+
"package": "@seniorsistemas/angular-components/card",
|
|
2670
|
+
"priority": "high",
|
|
2671
|
+
"keywords": [
|
|
2672
|
+
"card",
|
|
2673
|
+
"structure"
|
|
2674
|
+
],
|
|
2675
|
+
"inputs": [
|
|
2676
|
+
{
|
|
2677
|
+
"name": "bannerImage",
|
|
2678
|
+
"description": "URL da imagem exibida como banner no topo do card.",
|
|
2679
|
+
"type": "string"
|
|
2680
|
+
},
|
|
2681
|
+
{
|
|
2682
|
+
"name": "fullWidth",
|
|
2683
|
+
"description": "Faz o card ocupar 100% da largura disponível.",
|
|
2684
|
+
"default": "false",
|
|
2685
|
+
"type": "boolean"
|
|
2686
|
+
},
|
|
2687
|
+
{
|
|
2688
|
+
"name": "title",
|
|
2689
|
+
"description": "Título exibido no cabeçalho do card.",
|
|
2690
|
+
"default": "''",
|
|
2691
|
+
"type": "string"
|
|
2692
|
+
},
|
|
2693
|
+
{
|
|
2694
|
+
"name": "subtitle",
|
|
2695
|
+
"description": "Subtítulo exibido abaixo do título.",
|
|
2696
|
+
"default": "''",
|
|
2697
|
+
"type": "string"
|
|
2698
|
+
},
|
|
2699
|
+
{
|
|
2700
|
+
"name": "icon",
|
|
2701
|
+
"description": "Classe do ícone exibido no cabeçalho.",
|
|
2702
|
+
"default": "''",
|
|
2703
|
+
"type": "string"
|
|
2704
|
+
}
|
|
2705
|
+
]
|
|
2706
|
+
},
|
|
2707
|
+
{
|
|
2708
|
+
"name": "stepper",
|
|
2709
|
+
"selector": "s-stepper, s-steps",
|
|
2710
|
+
"description": "Componente de progresso em etapas (stepper) com animações. Exibe uma linha do tempo horizontal de passos, permitindo navegar entre eles. Suporta passos ocultos e desabilitados. Também responde ao seletor legado `s-steps`.",
|
|
2711
|
+
"package": "@seniorsistemas/angular-components/stepper",
|
|
2712
|
+
"priority": "high",
|
|
2713
|
+
"keywords": [
|
|
2714
|
+
"stepper",
|
|
2715
|
+
"structure"
|
|
2716
|
+
],
|
|
2717
|
+
"inputs": [
|
|
2718
|
+
{
|
|
2719
|
+
"name": "id",
|
|
2720
|
+
"description": "Identificador único do componente no DOM. Gerado automaticamente se não informado.",
|
|
2721
|
+
"type": "string"
|
|
2722
|
+
},
|
|
2723
|
+
{
|
|
2724
|
+
"name": "steps",
|
|
2725
|
+
"description": "Lista de etapas exibidas no stepper. Campo obrigatório."
|
|
2726
|
+
},
|
|
2727
|
+
{
|
|
2728
|
+
"name": "activeIndex",
|
|
2729
|
+
"description": "Índice (0-based) da etapa atualmente ativa. Campo obrigatório.",
|
|
2730
|
+
"type": "number"
|
|
2731
|
+
}
|
|
2732
|
+
],
|
|
2733
|
+
"outputs": [
|
|
2734
|
+
{
|
|
2735
|
+
"name": "stepSelected",
|
|
2736
|
+
"description": "Emitido quando o usuário clica em uma etapa não desabilitada.",
|
|
2737
|
+
"type": "EventEmitter<StepSelectionEvent>"
|
|
2738
|
+
}
|
|
2739
|
+
]
|
|
2740
|
+
},
|
|
2741
|
+
{
|
|
2742
|
+
"name": "collapse-link",
|
|
2743
|
+
"selector": "s-collapse-link",
|
|
2744
|
+
"description": "Componente de link expansor que mostra/oculta conteúdo transclusão com animação de colapso. Exibe rótulos diferentes para os estados expandido e colapsado.",
|
|
2745
|
+
"package": "@seniorsistemas/angular-components/collapse-link",
|
|
2746
|
+
"priority": "low",
|
|
2747
|
+
"keywords": [
|
|
2748
|
+
"collapse-link",
|
|
2749
|
+
"collapse",
|
|
2750
|
+
"link",
|
|
2751
|
+
"structure"
|
|
2752
|
+
],
|
|
2753
|
+
"inputs": [
|
|
2754
|
+
{
|
|
2755
|
+
"name": "buttonId",
|
|
2756
|
+
"description": "Identificador do botão de toggle. Gerado automaticamente se não informado.",
|
|
2757
|
+
"type": "string"
|
|
2758
|
+
},
|
|
2759
|
+
{
|
|
2760
|
+
"name": "expandedLabel",
|
|
2761
|
+
"description": "Rótulo exibido quando o conteúdo está expandido.",
|
|
2762
|
+
"default": "'Mostrar menos'",
|
|
2763
|
+
"type": "string"
|
|
2764
|
+
},
|
|
2765
|
+
{
|
|
2766
|
+
"name": "collapsedLabel",
|
|
2767
|
+
"description": "Rótulo exibido quando o conteúdo está colapsado.",
|
|
2768
|
+
"default": "'Mostrar mais'",
|
|
2769
|
+
"type": "string"
|
|
2770
|
+
},
|
|
2771
|
+
{
|
|
2772
|
+
"name": "disabled",
|
|
2773
|
+
"description": "Desabilita o botão de toggle.",
|
|
2774
|
+
"default": "false",
|
|
2775
|
+
"type": "boolean"
|
|
2776
|
+
},
|
|
2777
|
+
{
|
|
2778
|
+
"name": "collapse",
|
|
2779
|
+
"description": "Controla externamente o estado colapsado do componente.",
|
|
2780
|
+
"default": "true",
|
|
2781
|
+
"type": "boolean"
|
|
2782
|
+
}
|
|
2783
|
+
]
|
|
2784
|
+
},
|
|
2785
|
+
{
|
|
2786
|
+
"name": "global-search",
|
|
2787
|
+
"selector": "s-global-search",
|
|
2788
|
+
"description": "Componente de busca global com input, dropdown de resultados, estado de carregamento, empty state e suporte a itens customizáveis via `GlobalSearchDropdownItemComponent`.",
|
|
2789
|
+
"package": "@seniorsistemas/angular-components/global-search",
|
|
2790
|
+
"priority": "low",
|
|
2791
|
+
"keywords": [
|
|
2792
|
+
"global-search",
|
|
2793
|
+
"global",
|
|
2794
|
+
"search",
|
|
2795
|
+
"structure"
|
|
2796
|
+
],
|
|
2797
|
+
"inputs": [
|
|
2798
|
+
{
|
|
2799
|
+
"name": "id",
|
|
2800
|
+
"description": "Identificador único do componente no DOM. Gerado automaticamente se não informado.",
|
|
2801
|
+
"type": "string"
|
|
2802
|
+
},
|
|
2803
|
+
{
|
|
2804
|
+
"name": "delay",
|
|
2805
|
+
"description": "Tempo de debounce em ms antes de emitir o evento de busca.",
|
|
2806
|
+
"default": "500",
|
|
2807
|
+
"type": "number"
|
|
2808
|
+
},
|
|
2809
|
+
{
|
|
2810
|
+
"name": "totalItensLabel",
|
|
2811
|
+
"description": "Label que acompanha o total de resultados. Campo obrigatório."
|
|
2812
|
+
},
|
|
2813
|
+
{
|
|
2814
|
+
"name": "showMoreLabel",
|
|
2815
|
+
"description": "Rótulo do link para exibir mais resultados. Campo obrigatório."
|
|
2816
|
+
},
|
|
2817
|
+
{
|
|
2818
|
+
"name": "placeholder",
|
|
2819
|
+
"description": "Placeholder do input de busca.",
|
|
2820
|
+
"type": "string"
|
|
2821
|
+
},
|
|
2822
|
+
{
|
|
2823
|
+
"name": "isLoading",
|
|
2824
|
+
"description": "Exibe indicador de carregamento no dropdown.",
|
|
2825
|
+
"default": "false",
|
|
2826
|
+
"type": "boolean"
|
|
2827
|
+
},
|
|
2828
|
+
{
|
|
2829
|
+
"name": "totalElements",
|
|
2830
|
+
"description": "Número total de resultados encontrados.",
|
|
2831
|
+
"type": "number"
|
|
2832
|
+
},
|
|
2833
|
+
{
|
|
2834
|
+
"name": "emptyTitle",
|
|
2835
|
+
"description": "Título do empty state quando não há resultados.",
|
|
2836
|
+
"type": "string"
|
|
2837
|
+
},
|
|
2838
|
+
{
|
|
2839
|
+
"name": "emptyDescription",
|
|
2840
|
+
"description": "Descrição do empty state exibida abaixo do título.",
|
|
2841
|
+
"type": "string"
|
|
2842
|
+
},
|
|
2843
|
+
{
|
|
2844
|
+
"name": "emptyIcon",
|
|
2845
|
+
"description": "Classe do ícone exibido no empty state.",
|
|
2846
|
+
"type": "string"
|
|
2847
|
+
},
|
|
2848
|
+
{
|
|
2849
|
+
"name": "showFooter",
|
|
2850
|
+
"description": "Exibe o rodapé com o link \"ver mais\" e contagem de resultados.",
|
|
2851
|
+
"default": "true",
|
|
2852
|
+
"type": "boolean"
|
|
2853
|
+
}
|
|
2854
|
+
],
|
|
2855
|
+
"outputs": [
|
|
2856
|
+
{
|
|
2857
|
+
"name": "searched",
|
|
2858
|
+
"description": "Emitido ao digitar no campo de busca, com o valor atual da pesquisa."
|
|
2859
|
+
},
|
|
2860
|
+
{
|
|
2861
|
+
"name": "focused",
|
|
2862
|
+
"description": "Emitido quando o campo de busca ganha ou perde foco (`true` = focado)."
|
|
2863
|
+
},
|
|
2864
|
+
{
|
|
2865
|
+
"name": "moreShown",
|
|
2866
|
+
"description": "Emitido ao clicar no link para exibir mais resultados."
|
|
2867
|
+
}
|
|
2868
|
+
]
|
|
2869
|
+
},
|
|
2870
|
+
{
|
|
2871
|
+
"name": "insights",
|
|
2872
|
+
"selector": "s-insights, s-ia-insight",
|
|
2873
|
+
"description": "Componente de painel lateral de insights com IA. Exibe uma lista de itens de insights em um sidebar, suportando templates customizáveis para o conteúdo de introdução, estado vazio e sem permissão. Também exporta como seletor legado `s-ia-insight`.",
|
|
2874
|
+
"package": "@seniorsistemas/angular-components/insights",
|
|
2875
|
+
"priority": "low",
|
|
2876
|
+
"keywords": [
|
|
2877
|
+
"insights",
|
|
2878
|
+
"structure"
|
|
2879
|
+
],
|
|
2880
|
+
"inputs": [
|
|
2881
|
+
{
|
|
2882
|
+
"name": "insights",
|
|
2883
|
+
"description": "Lista de itens de insight a serem exibidos no painel.",
|
|
2884
|
+
"default": "[]",
|
|
2885
|
+
"type": "InsightsItem[]"
|
|
2886
|
+
},
|
|
2887
|
+
{
|
|
2888
|
+
"name": "hasPermission",
|
|
2889
|
+
"description": "Indica se o usuário tem permissão para ver os insights.",
|
|
2890
|
+
"default": "true",
|
|
2891
|
+
"type": "boolean"
|
|
2892
|
+
},
|
|
2893
|
+
{
|
|
2894
|
+
"name": "introText",
|
|
2895
|
+
"description": "Texto de introdução exibido no topo do painel (quando sem template customizado).",
|
|
2896
|
+
"type": "string"
|
|
2897
|
+
},
|
|
2898
|
+
{
|
|
2899
|
+
"name": "emptyText",
|
|
2900
|
+
"description": "Texto exibido quando não há insights disponíveis.",
|
|
2901
|
+
"type": "string"
|
|
2902
|
+
},
|
|
2903
|
+
{
|
|
2904
|
+
"name": "noPermissionText",
|
|
2905
|
+
"description": "Texto exibido quando o usuário não tem permissão.",
|
|
2906
|
+
"type": "string"
|
|
2907
|
+
}
|
|
2908
|
+
],
|
|
2909
|
+
"outputs": [
|
|
2910
|
+
{
|
|
2911
|
+
"name": "openInsights",
|
|
2912
|
+
"description": "Emitido quando o painel de insights é aberto.",
|
|
2913
|
+
"type": "void"
|
|
2914
|
+
},
|
|
2915
|
+
{
|
|
2916
|
+
"name": "closedInsights",
|
|
2917
|
+
"description": "Emitido quando o painel de insights é fechado.",
|
|
2918
|
+
"type": "void"
|
|
2919
|
+
}
|
|
2920
|
+
]
|
|
2921
|
+
},
|
|
2922
|
+
{
|
|
2923
|
+
"name": "object-card",
|
|
2924
|
+
"selector": "s-object-card",
|
|
2925
|
+
"description": "Card de exibição de objeto com setor principal, campos extras e painel expansível. Calcula automaticamente quantos campos cábem visíveis conforme a largura do container e suporta nível de severidade.",
|
|
2926
|
+
"package": "@seniorsistemas/angular-components/object-card",
|
|
2927
|
+
"priority": "low",
|
|
2928
|
+
"keywords": [
|
|
2929
|
+
"object-card",
|
|
2930
|
+
"object",
|
|
2931
|
+
"card",
|
|
2932
|
+
"structure"
|
|
2933
|
+
],
|
|
2934
|
+
"inputs": [
|
|
2935
|
+
{
|
|
2936
|
+
"name": "id",
|
|
2937
|
+
"description": "Identificador do componente no DOM. Gerado automaticamente se não informado.",
|
|
2938
|
+
"type": "string"
|
|
2939
|
+
},
|
|
2940
|
+
{
|
|
2941
|
+
"name": "expanded",
|
|
2942
|
+
"description": "Define se o painel expansível está aberto.",
|
|
2943
|
+
"default": "false",
|
|
2944
|
+
"type": "boolean"
|
|
2945
|
+
},
|
|
2946
|
+
{
|
|
2947
|
+
"name": "expandTooltip",
|
|
2948
|
+
"description": "Tooltip do botão de expandir.",
|
|
2949
|
+
"default": "'Abrir painel'",
|
|
2950
|
+
"type": "string"
|
|
2951
|
+
},
|
|
2952
|
+
{
|
|
2953
|
+
"name": "collapseTooltip",
|
|
2954
|
+
"description": "Tooltip do botão de colapsar.",
|
|
2955
|
+
"default": "'Fechar painel'",
|
|
2956
|
+
"type": "string"
|
|
2957
|
+
},
|
|
2958
|
+
{
|
|
2959
|
+
"name": "fieldsMinWidth",
|
|
2960
|
+
"description": "Largura mínima em pixels de cada campo visível.",
|
|
2961
|
+
"default": "200",
|
|
2962
|
+
"type": "number"
|
|
2963
|
+
},
|
|
2964
|
+
{
|
|
2965
|
+
"name": "severity",
|
|
2966
|
+
"description": "Nível de severidade que altera o estilo visual.",
|
|
2967
|
+
"default": "'default'",
|
|
2968
|
+
"type": "Severities"
|
|
2969
|
+
},
|
|
2970
|
+
{
|
|
2971
|
+
"name": "borderButtonOptions",
|
|
2972
|
+
"description": "Opções de configuração do botão de borda lateral.",
|
|
2973
|
+
"type": "BorderButtonOptions"
|
|
2974
|
+
}
|
|
2975
|
+
],
|
|
2976
|
+
"outputs": [
|
|
2977
|
+
{
|
|
2978
|
+
"name": "expandedChange",
|
|
2979
|
+
"description": "Emitido quando o estado de expansão muda, com o novo valor booleano."
|
|
2980
|
+
}
|
|
2981
|
+
]
|
|
2982
|
+
},
|
|
2983
|
+
{
|
|
2984
|
+
"name": "paginator",
|
|
2985
|
+
"selector": "s-paginator",
|
|
2986
|
+
"description": "Componente de paginação standalone que exibe botões de páginas, seletor de itens por página e navegação para primeira/última página. Emite `pageChange` a cada mudança de página ou tamanho de página.",
|
|
2987
|
+
"package": "@seniorsistemas/angular-components/paginator",
|
|
2988
|
+
"priority": "low",
|
|
2989
|
+
"keywords": [
|
|
2990
|
+
"paginator",
|
|
2991
|
+
"structure"
|
|
2992
|
+
],
|
|
2993
|
+
"inputs": [
|
|
2994
|
+
{
|
|
2995
|
+
"name": "totalRecords",
|
|
2996
|
+
"description": "Número total de registros. Campo obrigatório."
|
|
2997
|
+
},
|
|
2998
|
+
{
|
|
2999
|
+
"name": "rows",
|
|
3000
|
+
"description": "Número de itens por página. Suporta two-way binding.",
|
|
3001
|
+
"default": "10",
|
|
3002
|
+
"type": "number"
|
|
3003
|
+
},
|
|
3004
|
+
{
|
|
3005
|
+
"name": "rowsPerPageOptions",
|
|
3006
|
+
"description": "Opções do seletor de itens por página.",
|
|
3007
|
+
"default": "[10, 20, 50, 100, 200]",
|
|
3008
|
+
"type": "number[]"
|
|
3009
|
+
}
|
|
3010
|
+
],
|
|
3011
|
+
"outputs": [
|
|
3012
|
+
{
|
|
3013
|
+
"name": "pageChange",
|
|
3014
|
+
"description": "Emitido sempre que a página ou o número de itens por página muda.",
|
|
3015
|
+
"type": "PageChange"
|
|
3016
|
+
}
|
|
3017
|
+
]
|
|
3018
|
+
},
|
|
3019
|
+
{
|
|
3020
|
+
"name": "structure",
|
|
3021
|
+
"selector": "s-footer",
|
|
3022
|
+
"description": "Componente de rodapé da estrutura da página. Projeta conteúdo via ng-content.",
|
|
3023
|
+
"package": "@seniorsistemas/angular-components/structure",
|
|
3024
|
+
"priority": "low",
|
|
3025
|
+
"keywords": [
|
|
3026
|
+
"structure"
|
|
3027
|
+
]
|
|
3028
|
+
},
|
|
3029
|
+
{
|
|
3030
|
+
"name": "timeline",
|
|
3031
|
+
"selector": "s-timeline",
|
|
3032
|
+
"description": "Componente de linha do tempo que renderiza itens de forma horizontal ou vertical (ou autodetectável por largura de tela). Suporta navegação entre etapas, destaque do item ativo e modo colapsável para muitos itens.",
|
|
3033
|
+
"package": "@seniorsistemas/angular-components/timeline",
|
|
3034
|
+
"priority": "low",
|
|
3035
|
+
"keywords": [
|
|
3036
|
+
"timeline",
|
|
3037
|
+
"structure"
|
|
3038
|
+
],
|
|
3039
|
+
"inputs": [
|
|
3040
|
+
{
|
|
3041
|
+
"name": "set",
|
|
3042
|
+
"description": "Lista de itens da linha do tempo. Campo obrigatório. IDs duplicados são rejeitados com exceção."
|
|
3043
|
+
},
|
|
3044
|
+
{
|
|
3045
|
+
"name": "activeIndex",
|
|
3046
|
+
"description": "Índice ativo (0-based) que define o item em destaque. Campo obrigatório."
|
|
3047
|
+
},
|
|
3048
|
+
{
|
|
3049
|
+
"name": "highlightActiveItem",
|
|
3050
|
+
"description": "Aplica destaque visual ao item ativo.",
|
|
3051
|
+
"default": "true",
|
|
3052
|
+
"type": "boolean"
|
|
3053
|
+
},
|
|
3054
|
+
{
|
|
3055
|
+
"name": "direction",
|
|
3056
|
+
"description": "Direção de renderização: `'horizontal'` ou `'vertical'`.",
|
|
3057
|
+
"default": "'horizontal'",
|
|
3058
|
+
"type": "typeof HORIZONTAL | typeof VERTICAL"
|
|
3059
|
+
},
|
|
3060
|
+
{
|
|
3061
|
+
"name": "collapsable",
|
|
3062
|
+
"description": "Habilita o modo colapsável quando há muitos itens.",
|
|
3063
|
+
"default": "true",
|
|
3064
|
+
"type": "boolean"
|
|
3065
|
+
},
|
|
3066
|
+
{
|
|
3067
|
+
"name": "counterLabel",
|
|
3068
|
+
"description": "Rótulo exibido no contador de itens colapsados.",
|
|
3069
|
+
"default": "'items'",
|
|
3070
|
+
"type": "string"
|
|
3071
|
+
}
|
|
3072
|
+
]
|
|
3073
|
+
},
|
|
3074
|
+
{
|
|
3075
|
+
"name": "topbar",
|
|
3076
|
+
"selector": "s-topbar, s-product-header",
|
|
3077
|
+
"description": "Componente de barra superior (topbar) com título e suporte a conteúdo transclusão. Também responde ao seletor legado `s-product-header`.",
|
|
3078
|
+
"package": "@seniorsistemas/angular-components/topbar",
|
|
3079
|
+
"priority": "low",
|
|
3080
|
+
"keywords": [
|
|
3081
|
+
"topbar",
|
|
3082
|
+
"structure"
|
|
3083
|
+
],
|
|
3084
|
+
"inputs": [
|
|
3085
|
+
{
|
|
3086
|
+
"name": "id",
|
|
3087
|
+
"description": "Identificador único do componente no DOM. Gerado automaticamente se não informado.",
|
|
3088
|
+
"type": "string"
|
|
3089
|
+
},
|
|
3090
|
+
{
|
|
3091
|
+
"name": "header",
|
|
3092
|
+
"description": "Título exibido na barra superior. Campo obrigatório."
|
|
3093
|
+
},
|
|
3094
|
+
{
|
|
3095
|
+
"name": "baseZIndex",
|
|
3096
|
+
"description": "Z-index base aplicado ao componente.",
|
|
3097
|
+
"default": "0",
|
|
3098
|
+
"type": "number"
|
|
3099
|
+
},
|
|
3100
|
+
{
|
|
3101
|
+
"name": "isHeaderFrame",
|
|
3102
|
+
"description": "Quando `true`, aplica borda inferior; quando `false`, aplica borda superior.",
|
|
3103
|
+
"default": "true",
|
|
3104
|
+
"type": "boolean"
|
|
3105
|
+
}
|
|
3106
|
+
]
|
|
3107
|
+
}
|
|
3108
|
+
]
|
|
3109
|
+
},
|
|
3110
|
+
"common": {
|
|
3111
|
+
"description": "Common components",
|
|
3112
|
+
"components": [
|
|
3113
|
+
{
|
|
3114
|
+
"name": "common",
|
|
3115
|
+
"selector": "s-common",
|
|
3116
|
+
"description": "Componente de ícone do IAssist, exibido a partir de um template SVG externo.",
|
|
3117
|
+
"package": "@seniorsistemas/angular-components/common",
|
|
3118
|
+
"priority": "low",
|
|
3119
|
+
"keywords": [
|
|
3120
|
+
"common"
|
|
3121
|
+
]
|
|
3122
|
+
}
|
|
3123
|
+
]
|
|
3124
|
+
},
|
|
3125
|
+
"overlay": {
|
|
3126
|
+
"description": "Overlay components",
|
|
3127
|
+
"components": [
|
|
3128
|
+
{
|
|
3129
|
+
"name": "dialog",
|
|
3130
|
+
"selector": "s-dialog",
|
|
3131
|
+
"description": "Componente de diálogo modal que exibe conteúdo em uma janela sobreposta. Suporta templates customizados para cabeçalho, corpo e rodapé via `sTemplate`. Pode ser utilizado de forma declarativa (via `visible`) ou programática (via `DialogService`).",
|
|
3132
|
+
"package": "@seniorsistemas/angular-components/dialog",
|
|
3133
|
+
"priority": "high",
|
|
3134
|
+
"keywords": [
|
|
3135
|
+
"dialog",
|
|
3136
|
+
"overlay"
|
|
3137
|
+
],
|
|
3138
|
+
"inputs": [
|
|
3139
|
+
{
|
|
3140
|
+
"name": "header",
|
|
3141
|
+
"description": "Texto exibido no cabeçalho do diálogo. Pode ser substituído por um template com `sTemplate=\"header\"`."
|
|
3142
|
+
},
|
|
3143
|
+
{
|
|
3144
|
+
"name": "visible",
|
|
3145
|
+
"description": "Controla a visibilidade do diálogo. Suporta two-way binding via `[(visible)]`. Ao definir `true`, o diálogo é aberto; ao definir `false`, é fechado. Não deve ser usado em conjunto com `DialogService` (modo programático).",
|
|
3146
|
+
"default": "undefined",
|
|
3147
|
+
"type": "boolean | undefined"
|
|
3148
|
+
},
|
|
3149
|
+
{
|
|
3150
|
+
"name": "size",
|
|
3151
|
+
"description": "Tamanho do diálogo. Valores aceitos: `'sm'`, `'md'` (padrão), `'lg'`, `'xl'`, `'fullscreen'`.",
|
|
3152
|
+
"default": "'md'",
|
|
3153
|
+
"type": "DialogSize"
|
|
3154
|
+
},
|
|
3155
|
+
{
|
|
3156
|
+
"name": "contentClassName",
|
|
3157
|
+
"description": "Classes CSS adicionais aplicadas ao container de conteúdo do diálogo.",
|
|
3158
|
+
"default": "''",
|
|
3159
|
+
"type": "string"
|
|
3160
|
+
},
|
|
3161
|
+
{
|
|
3162
|
+
"name": "escapeOnEsc",
|
|
3163
|
+
"description": "Quando `true`, pressionar a tecla Escape fecha o diálogo.",
|
|
3164
|
+
"default": "true",
|
|
3165
|
+
"type": "boolean"
|
|
3166
|
+
},
|
|
3167
|
+
{
|
|
3168
|
+
"name": "destroyClickOutside",
|
|
3169
|
+
"description": "Quando `true`, clicar fora do diálogo (no backdrop) fecha o diálogo.",
|
|
3170
|
+
"default": "true",
|
|
3171
|
+
"type": "boolean"
|
|
3172
|
+
}
|
|
3173
|
+
]
|
|
3174
|
+
},
|
|
3175
|
+
{
|
|
3176
|
+
"name": "confirm-dialog",
|
|
3177
|
+
"selector": "s-confirm-dialog",
|
|
3178
|
+
"description": "Componente interno do diálogo de confirmação, renderizado pelo `ConfirmDialogService`. Exibe uma janela modal com uma mensagem, título e botões de aceitar e rejeitar configuráveis. Não deve ser instanciado diretamente; utilize `ConfirmDialogService.open()` para exibi-lo.",
|
|
3179
|
+
"package": "@seniorsistemas/angular-components/confirm-dialog",
|
|
3180
|
+
"priority": "low",
|
|
3181
|
+
"keywords": [
|
|
3182
|
+
"confirm-dialog",
|
|
3183
|
+
"confirm",
|
|
3184
|
+
"dialog",
|
|
3185
|
+
"overlay"
|
|
3186
|
+
]
|
|
3187
|
+
},
|
|
3188
|
+
{
|
|
3189
|
+
"name": "editable-overlay",
|
|
3190
|
+
"selector": "p-table[sEditableOverlay]",
|
|
3191
|
+
"description": "Diretiva aplicada a um `p-table` do PrimeNG para corrigir o comportamento de clique fora da célula editável, evitando que cliques em overlays (como dropdowns e modais) fechem indevidamente o modo de edição da célula.",
|
|
3192
|
+
"package": "@seniorsistemas/angular-components/editable-overlay",
|
|
3193
|
+
"priority": "low",
|
|
3194
|
+
"keywords": [
|
|
3195
|
+
"editable-overlay",
|
|
3196
|
+
"editable",
|
|
3197
|
+
"overlay"
|
|
3198
|
+
],
|
|
3199
|
+
"inputs": [
|
|
3200
|
+
{
|
|
3201
|
+
"name": "table",
|
|
3202
|
+
"description": "Referência direta à instância do `p-table` ao qual a diretiva está aplicada. Utilizada para sobrescrever o comportamento padrão de `bindDocumentEditListener`.",
|
|
3203
|
+
"type": "any"
|
|
3204
|
+
}
|
|
3205
|
+
]
|
|
3206
|
+
},
|
|
3207
|
+
{
|
|
3208
|
+
"name": "help-popover",
|
|
3209
|
+
"selector": "[sHelpPopover]",
|
|
3210
|
+
"description": "Diretiva que exibe um popover de ajuda ao clicar no elemento hospedeiro. O popover suporta conteúdo como texto simples ou `TemplateRef`, além de botão de fechar, ícone, cabeçalho, rodapé e posição configurável. Pode ser acionado programaticamente.",
|
|
3211
|
+
"package": "@seniorsistemas/angular-components/help-popover",
|
|
3212
|
+
"priority": "low",
|
|
3213
|
+
"keywords": [
|
|
3214
|
+
"help-popover",
|
|
3215
|
+
"help",
|
|
3216
|
+
"popover",
|
|
3217
|
+
"overlay"
|
|
3218
|
+
],
|
|
3219
|
+
"inputs": [
|
|
3220
|
+
{
|
|
3221
|
+
"name": "sHelpPopover",
|
|
3222
|
+
"description": "Conteúdo do popover. Aceita uma `string` com texto simples ou um `TemplateRef` para renderizar conteúdo Angular customizado dentro do popover.",
|
|
3223
|
+
"type": "string | TemplateRef<any> | null"
|
|
3224
|
+
},
|
|
3225
|
+
{
|
|
3226
|
+
"name": "closeButton",
|
|
3227
|
+
"description": "Quando `true`, exibe o botão de fechar (X) no cabeçalho do popover.",
|
|
3228
|
+
"default": "true",
|
|
3229
|
+
"type": "boolean"
|
|
3230
|
+
},
|
|
3231
|
+
{
|
|
3232
|
+
"name": "popoverIcon",
|
|
3233
|
+
"description": "Classe de ícone exibida no cabeçalho do popover (ex: classe de Font Awesome).",
|
|
3234
|
+
"type": "string"
|
|
3235
|
+
},
|
|
3236
|
+
{
|
|
3237
|
+
"name": "popoverHeader",
|
|
3238
|
+
"description": "Texto exibido no cabeçalho do popover.",
|
|
3239
|
+
"type": "string"
|
|
3240
|
+
},
|
|
3241
|
+
{
|
|
3242
|
+
"name": "popoverFooter",
|
|
3243
|
+
"description": "Texto exibido no rodapé do popover.",
|
|
3244
|
+
"type": "string"
|
|
3245
|
+
},
|
|
3246
|
+
{
|
|
3247
|
+
"name": "popoverButtonText",
|
|
3248
|
+
"description": "Texto do botão de ação exibido no rodapé do popover. Ao clicar, emite o evento `buttonClicked`.",
|
|
3249
|
+
"type": "string"
|
|
3250
|
+
},
|
|
3251
|
+
{
|
|
3252
|
+
"name": "popoverArrowPosition",
|
|
3253
|
+
"description": "Alinhamento da seta indicadora em relação ao lado do popover. Valores aceitos: `'beginning'` (padrão), `'middle'`, `'end'`.",
|
|
3254
|
+
"default": "'beginning'",
|
|
3255
|
+
"type": "HelpPopoverArrowPosition"
|
|
3256
|
+
},
|
|
3257
|
+
{
|
|
3258
|
+
"name": "set",
|
|
3259
|
+
"description": "Posição do popover em relação ao elemento hospedeiro. Valores aceitos: `'top'`, `'bottom'` (padrão), `'left'`, `'right'`. O componente tenta reposicionar automaticamente caso não haja espaço.",
|
|
3260
|
+
"default": "'bottom'"
|
|
3261
|
+
}
|
|
3262
|
+
],
|
|
3263
|
+
"outputs": [
|
|
3264
|
+
{
|
|
3265
|
+
"name": "buttonClicked",
|
|
3266
|
+
"description": "Emitido quando o usuário clica no botão de ação do rodapé do popover."
|
|
3267
|
+
}
|
|
3268
|
+
]
|
|
3269
|
+
},
|
|
3270
|
+
{
|
|
3271
|
+
"name": "info-sign",
|
|
3272
|
+
"selector": "[sInfoSign]",
|
|
3273
|
+
"description": "Diretiva estrutural que exibe um ícone de informação ao lado do elemento hospedeiro. Ao interagir com o ícone, um tooltip com a mensagem configurada é exibido temporariamente. Suporta sincronização de posição com um campo de input referenciado.",
|
|
3274
|
+
"package": "@seniorsistemas/angular-components/info-sign",
|
|
3275
|
+
"priority": "low",
|
|
3276
|
+
"keywords": [
|
|
3277
|
+
"info-sign",
|
|
3278
|
+
"info",
|
|
3279
|
+
"sign",
|
|
3280
|
+
"overlay"
|
|
3281
|
+
],
|
|
3282
|
+
"inputs": [
|
|
3283
|
+
{
|
|
3284
|
+
"name": "sInfoSign",
|
|
3285
|
+
"description": "Mensagem exibida no tooltip do ícone de informação. Campo obrigatório."
|
|
3286
|
+
},
|
|
3287
|
+
{
|
|
3288
|
+
"name": "displayTime",
|
|
3289
|
+
"description": "Tempo em milissegundos que o tooltip permanece visível após ser exibido.",
|
|
3290
|
+
"default": "5000",
|
|
3291
|
+
"type": "number"
|
|
3292
|
+
},
|
|
3293
|
+
{
|
|
3294
|
+
"name": "focusedInputRef",
|
|
3295
|
+
"description": "Referência a um elemento de input HTML para posicionamento relativo do info sign. Utilizado quando `useFocusedInputRef` é `true`.",
|
|
3296
|
+
"type": "HTMLInputElement | HTMLElement | undefined | null"
|
|
3297
|
+
},
|
|
3298
|
+
{
|
|
3299
|
+
"name": "useFocusedInputRef",
|
|
3300
|
+
"description": "Quando `true`, utiliza `focusedInputRef` para calcular o posicionamento do ícone.",
|
|
3301
|
+
"default": "true",
|
|
3302
|
+
"type": "boolean"
|
|
3303
|
+
}
|
|
3304
|
+
]
|
|
3305
|
+
},
|
|
3306
|
+
{
|
|
3307
|
+
"name": "sidebar",
|
|
3308
|
+
"selector": "s-sidebar",
|
|
3309
|
+
"description": "Componente de painel lateral deslizante (sidebar) que aparece sobre o conteúdo vindo do lado direito da tela. Suporta templates customizados para cabeçalho, corpo e rodapé via `sTemplate`, bloqueio de scroll automático e confirmação de fechamento.",
|
|
3310
|
+
"package": "@seniorsistemas/angular-components/sidebar",
|
|
3311
|
+
"priority": "low",
|
|
3312
|
+
"keywords": [
|
|
3313
|
+
"sidebar",
|
|
3314
|
+
"overlay"
|
|
3315
|
+
],
|
|
3316
|
+
"inputs": [
|
|
3317
|
+
{
|
|
3318
|
+
"name": "visible",
|
|
3319
|
+
"description": "Controla a visibilidade da sidebar. Suporta two-way binding via `[(visible)]`.",
|
|
3320
|
+
"default": "false",
|
|
3321
|
+
"type": "boolean"
|
|
3322
|
+
},
|
|
3323
|
+
{
|
|
3324
|
+
"name": "closable",
|
|
3325
|
+
"description": "Quando `true`, exibe o botão de fechar (X) no cabeçalho da sidebar.",
|
|
3326
|
+
"default": "true",
|
|
3327
|
+
"type": "boolean"
|
|
3328
|
+
},
|
|
3329
|
+
{
|
|
3330
|
+
"name": "dismissible",
|
|
3331
|
+
"description": "Quando `true`, clicar no backdrop (área escurecida fora da sidebar) fecha o painel.",
|
|
3332
|
+
"default": "true",
|
|
3333
|
+
"type": "boolean"
|
|
3334
|
+
},
|
|
3335
|
+
{
|
|
3336
|
+
"name": "closeOnEscape",
|
|
3337
|
+
"description": "Quando `true`, pressionar a tecla Escape fecha a sidebar.",
|
|
3338
|
+
"default": "true",
|
|
3339
|
+
"type": "boolean"
|
|
3340
|
+
},
|
|
3341
|
+
{
|
|
3342
|
+
"name": "header",
|
|
3343
|
+
"description": "Texto exibido no cabeçalho padrão da sidebar. Pode ser substituído por um template customizado via `sTemplate=\"header\"`.",
|
|
3344
|
+
"type": "string"
|
|
3345
|
+
},
|
|
3346
|
+
{
|
|
3347
|
+
"name": "largeSized",
|
|
3348
|
+
"description": "Quando `true`, aumenta a largura da sidebar para acomodar mais conteúdo.",
|
|
3349
|
+
"default": "false",
|
|
3350
|
+
"type": "boolean"
|
|
3351
|
+
},
|
|
3352
|
+
{
|
|
3353
|
+
"name": "cache",
|
|
3354
|
+
"description": "Quando `true`, mantém o conteúdo da sidebar no DOM mesmo quando oculta, preservando o estado interno dos componentes filhos.",
|
|
3355
|
+
"default": "false",
|
|
3356
|
+
"type": "boolean"
|
|
3357
|
+
},
|
|
3358
|
+
{
|
|
3359
|
+
"name": "set",
|
|
3360
|
+
"description": "Função de confirmação chamada antes de fechar a sidebar. Quando retornar `false`, o fechamento é bloqueado. Útil para validar formulários não salvos."
|
|
3361
|
+
}
|
|
3362
|
+
]
|
|
3363
|
+
},
|
|
3364
|
+
{
|
|
3365
|
+
"name": "slide-in-bar",
|
|
3366
|
+
"selector": "s-slide-in-bar, s-slide-panel",
|
|
3367
|
+
"description": "Componente de painel deslizante lateral que expande/colapsa ao clicar em um botão de toggle. Em telas pequenas (≤ 420px), o painel entra em modo overlay, sobrepondo o conteúdo. Substitui o seletor `s-slide-panel` (deprecado desde v20.0.0).",
|
|
3368
|
+
"package": "@seniorsistemas/angular-components/slide-in-bar",
|
|
3369
|
+
"priority": "low",
|
|
3370
|
+
"keywords": [
|
|
3371
|
+
"slide-in-bar",
|
|
3372
|
+
"slide",
|
|
3373
|
+
"in",
|
|
3374
|
+
"bar",
|
|
3375
|
+
"overlay"
|
|
3376
|
+
],
|
|
3377
|
+
"inputs": [
|
|
3378
|
+
{
|
|
3379
|
+
"name": "id",
|
|
3380
|
+
"description": "Identificador único do painel. Gerado automaticamente se não informado. Usado internamente pelo `SlideInBarService` para comunicação entre painéis.",
|
|
3381
|
+
"type": "string"
|
|
3382
|
+
},
|
|
3383
|
+
{
|
|
3384
|
+
"name": "openIcon",
|
|
3385
|
+
"description": "Classe de ícone exibida no botão de abertura do painel.",
|
|
3386
|
+
"default": "'fas fa-chevron-right'",
|
|
3387
|
+
"type": "string"
|
|
3388
|
+
},
|
|
3389
|
+
{
|
|
3390
|
+
"name": "closeIcon",
|
|
3391
|
+
"description": "Classe de ícone exibida no botão de fechamento do painel.",
|
|
3392
|
+
"default": "'fas fa-chevron-left'",
|
|
3393
|
+
"type": "string"
|
|
3394
|
+
},
|
|
3395
|
+
{
|
|
3396
|
+
"name": "cache",
|
|
3397
|
+
"description": "Quando `true`, mantém o conteúdo do painel no DOM mesmo quando fechado, preservando o estado interno dos componentes filhos.",
|
|
3398
|
+
"default": "false",
|
|
3399
|
+
"type": "boolean"
|
|
3400
|
+
},
|
|
3401
|
+
{
|
|
3402
|
+
"name": "createOpen",
|
|
3403
|
+
"description": "Quando `true`, o painel é iniciado já aberto.",
|
|
3404
|
+
"default": "false",
|
|
3405
|
+
"type": "boolean"
|
|
3406
|
+
},
|
|
3407
|
+
{
|
|
3408
|
+
"name": "noOverlap",
|
|
3409
|
+
"description": "Quando `true`, o painel não sobrepõe o conteúdo ao expandir, empurrando o layout adjacente.",
|
|
3410
|
+
"default": "false",
|
|
3411
|
+
"type": "boolean"
|
|
3412
|
+
}
|
|
3413
|
+
],
|
|
3414
|
+
"outputs": [
|
|
3415
|
+
{
|
|
3416
|
+
"name": "panelOpened",
|
|
3417
|
+
"description": "Emitido quando o painel é aberto pelo usuário."
|
|
3418
|
+
},
|
|
3419
|
+
{
|
|
3420
|
+
"name": "panelClosed",
|
|
3421
|
+
"description": "Emitido quando o painel é fechado pelo usuário."
|
|
3422
|
+
}
|
|
3423
|
+
]
|
|
3424
|
+
},
|
|
3425
|
+
{
|
|
3426
|
+
"name": "tooltip",
|
|
3427
|
+
"selector": "[sTooltip]",
|
|
3428
|
+
"description": "Diretiva que exibe um tooltip (dica de ferramenta) flutuante ao interagir com o elemento hospedeiro. Posiciona-se automaticamente considerando o espaço disponível na tela. Suporta eventos de hover, click e focus, além de comportamentos customizados para mobile.",
|
|
3429
|
+
"package": "@seniorsistemas/angular-components/tooltip",
|
|
3430
|
+
"priority": "low",
|
|
3431
|
+
"keywords": [
|
|
3432
|
+
"tooltip",
|
|
3433
|
+
"overlay"
|
|
3434
|
+
],
|
|
3435
|
+
"inputs": [
|
|
3436
|
+
{
|
|
3437
|
+
"name": "tooltip",
|
|
3438
|
+
"description": "Texto exibido no tooltip. Quando vazio ou `undefined`, o tooltip não é renderizado.",
|
|
3439
|
+
"type": "string"
|
|
3440
|
+
},
|
|
3441
|
+
{
|
|
3442
|
+
"name": "tooltipPosition",
|
|
3443
|
+
"description": "Posição preferencial do tooltip em relação ao elemento hospedeiro. O tooltip se reposiciona automaticamente se não houver espaço suficiente.",
|
|
3444
|
+
"default": "'top'",
|
|
3445
|
+
"type": "TooltipPositions"
|
|
3446
|
+
},
|
|
3447
|
+
{
|
|
3448
|
+
"name": "showDelay",
|
|
3449
|
+
"description": "Tempo em milissegundos antes do tooltip aparecer após o evento de ativação.",
|
|
3450
|
+
"default": "500",
|
|
3451
|
+
"type": "number"
|
|
3452
|
+
},
|
|
3453
|
+
{
|
|
3454
|
+
"name": "displayTime",
|
|
3455
|
+
"description": "Tempo em milissegundos que o tooltip permanece visível após aparecer. Quando não informado, o tooltip permanece até o usuário sair do elemento.",
|
|
3456
|
+
"type": "number"
|
|
3457
|
+
},
|
|
3458
|
+
{
|
|
3459
|
+
"name": "tooltipEvent",
|
|
3460
|
+
"description": "Evento do elemento hospedeiro que dispara a exibição do tooltip. - `'hover'`: exibe ao passar o mouse (padrão). - `'click'`: exibe ao clicar. - `'focus'`: exibe ao focar no elemento.",
|
|
3461
|
+
"default": "'hover'",
|
|
3462
|
+
"type": "TooltipEvent"
|
|
3463
|
+
},
|
|
3464
|
+
{
|
|
3465
|
+
"name": "escape",
|
|
3466
|
+
"description": "Quando `true`, o conteúdo HTML do tooltip é escapado antes de ser renderizado.",
|
|
3467
|
+
"default": "false",
|
|
3468
|
+
"type": "boolean"
|
|
3469
|
+
},
|
|
3470
|
+
{
|
|
3471
|
+
"name": "visible",
|
|
3472
|
+
"description": "Quando `false`, o tooltip nunca é exibido, mesmo que haja interação do usuário. Útil para desabilitar tooltips dinamicamente.",
|
|
3473
|
+
"default": "true",
|
|
3474
|
+
"type": "boolean"
|
|
3475
|
+
},
|
|
3476
|
+
{
|
|
3477
|
+
"name": "mobileBehavior",
|
|
3478
|
+
"description": "Comportamento do tooltip em dispositivos móveis (touch). - `'pressing'`: exibe ao pressionar e manter o toque (padrão). - `'none'`: desabilita o tooltip em dispositivos táteis.",
|
|
3479
|
+
"default": "'pressing'",
|
|
3480
|
+
"type": "MobileBehavior"
|
|
3481
|
+
},
|
|
3482
|
+
{
|
|
3483
|
+
"name": "focusedInputRef",
|
|
3484
|
+
"description": "Referência a um input HTML para sincronizar a exibição do tooltip com o foco no campo.",
|
|
3485
|
+
"type": "HTMLInputElement | null"
|
|
3486
|
+
},
|
|
3487
|
+
{
|
|
3488
|
+
"name": "checkTruncatedText",
|
|
3489
|
+
"description": "Quando `true`, o tooltip só é exibido se o texto do elemento estiver truncado (overflow). Útil para cells de tabela ou elementos com `text-overflow: ellipsis`.",
|
|
3490
|
+
"default": "false",
|
|
3491
|
+
"type": "boolean"
|
|
3492
|
+
}
|
|
3493
|
+
]
|
|
3494
|
+
}
|
|
3495
|
+
]
|
|
3496
|
+
},
|
|
3497
|
+
"data": {
|
|
3498
|
+
"description": "Data components",
|
|
3499
|
+
"components": [
|
|
3500
|
+
{
|
|
3501
|
+
"name": "table",
|
|
3502
|
+
"selector": "s-table-columns",
|
|
3503
|
+
"description": "Componente interno que renderiza uma linha de colunas da tabela, aplicando formatação localizada (data, número, moeda, token, etc.) para cada coluna. Normalmente usado dentro do contexto de uma tabela PrimeNG.",
|
|
3504
|
+
"package": "@seniorsistemas/angular-components/table",
|
|
3505
|
+
"priority": "high",
|
|
3506
|
+
"keywords": [
|
|
3507
|
+
"table",
|
|
3508
|
+
"data"
|
|
3509
|
+
],
|
|
3510
|
+
"inputs": [
|
|
3511
|
+
{
|
|
3512
|
+
"name": "columns",
|
|
3513
|
+
"description": "Lista de configurações das colunas a serem renderizadas.",
|
|
3514
|
+
"default": "[]",
|
|
3515
|
+
"type": "Column[]"
|
|
3516
|
+
},
|
|
3517
|
+
{
|
|
3518
|
+
"name": "rowValue",
|
|
3519
|
+
"description": "Objeto da linha com os valores a serem exibidos nas colunas. Campo obrigatório."
|
|
3520
|
+
},
|
|
3521
|
+
{
|
|
3522
|
+
"name": "locale",
|
|
3523
|
+
"description": "Opções de localização (calendário e número) usadas para formatação.",
|
|
3524
|
+
"default": "null",
|
|
3525
|
+
"type": "TableColumnLocaleOptions | null"
|
|
3526
|
+
}
|
|
3527
|
+
]
|
|
3528
|
+
},
|
|
3529
|
+
{
|
|
3530
|
+
"name": "panel",
|
|
3531
|
+
"selector": "s-panel",
|
|
3532
|
+
"description": "Componente de painel com cabeçalho, corpo e rodapé customizáveis via `TemplateDirective`. Suporta colapsar/expandir com animação, nível de severidade para estilo visual e botão de borda configurável.",
|
|
3533
|
+
"package": "@seniorsistemas/angular-components/panel",
|
|
3534
|
+
"priority": "medium",
|
|
3535
|
+
"keywords": [
|
|
3536
|
+
"panel",
|
|
3537
|
+
"data"
|
|
3538
|
+
],
|
|
3539
|
+
"inputs": [
|
|
3540
|
+
{
|
|
3541
|
+
"name": "header",
|
|
3542
|
+
"description": "Título exibido no cabeçalho do painel.",
|
|
3543
|
+
"type": "string"
|
|
3544
|
+
},
|
|
3545
|
+
{
|
|
3546
|
+
"name": "toggleable",
|
|
3547
|
+
"description": "Habilita o botão de toggle para colapsar/expandir o painel.",
|
|
3548
|
+
"default": "false",
|
|
3549
|
+
"type": "boolean"
|
|
3550
|
+
},
|
|
3551
|
+
{
|
|
3552
|
+
"name": "collapsed",
|
|
3553
|
+
"description": "Define o estado inicial do painel como colapsado.",
|
|
3554
|
+
"default": "false",
|
|
3555
|
+
"type": "boolean"
|
|
3556
|
+
},
|
|
3557
|
+
{
|
|
3558
|
+
"name": "severity",
|
|
3559
|
+
"description": "Nível de severidade que altera o estilo visual do painel.",
|
|
3560
|
+
"default": "'default'",
|
|
3561
|
+
"type": "Severities"
|
|
3562
|
+
},
|
|
3563
|
+
{
|
|
3564
|
+
"name": "borderButtonOptions",
|
|
3565
|
+
"description": "Opções de configuração do botão de borda lateral do painel.",
|
|
3566
|
+
"type": "BorderButtonOptions"
|
|
3567
|
+
},
|
|
3568
|
+
{
|
|
3569
|
+
"name": "class",
|
|
3570
|
+
"description": "Classes CSS adicionais aplicadas ao elemento raíz do painel.",
|
|
3571
|
+
"default": "''",
|
|
3572
|
+
"type": "string"
|
|
3573
|
+
}
|
|
3574
|
+
],
|
|
3575
|
+
"outputs": [
|
|
3576
|
+
{
|
|
3577
|
+
"name": "collapsedChange",
|
|
3578
|
+
"description": "Emitido quando o estado de colapso muda, com o novo valor booleano."
|
|
3579
|
+
}
|
|
3580
|
+
]
|
|
3581
|
+
},
|
|
3582
|
+
{
|
|
3583
|
+
"name": "gantt",
|
|
3584
|
+
"selector": "s-gantt",
|
|
3585
|
+
"description": "Componente de diagrama de Gantt para visualização e manipulação de tarefas em linha do tempo. Suporta diferentes modos de visualização (dia, semana, mês), movimentação de tarefas via drag e popup de detalhes ao clicar.",
|
|
3586
|
+
"package": "@seniorsistemas/angular-components/gantt",
|
|
3587
|
+
"priority": "low",
|
|
3588
|
+
"keywords": [
|
|
3589
|
+
"gantt",
|
|
3590
|
+
"data"
|
|
3591
|
+
],
|
|
3592
|
+
"inputs": [
|
|
3593
|
+
{
|
|
3594
|
+
"name": "columnTitle",
|
|
3595
|
+
"description": "Título da coluna lateral de identificação das tarefas.",
|
|
3596
|
+
"type": "string"
|
|
3597
|
+
},
|
|
3598
|
+
{
|
|
3599
|
+
"name": "multipleTaskPerLine",
|
|
3600
|
+
"description": "Permite renderizar múltiplas tarefas na mesma linha.",
|
|
3601
|
+
"default": "false",
|
|
3602
|
+
"type": "boolean"
|
|
3603
|
+
},
|
|
3604
|
+
{
|
|
3605
|
+
"name": "showSideTable",
|
|
3606
|
+
"description": "Exibe a tabela lateral com os nomes das tarefas.",
|
|
3607
|
+
"default": "true",
|
|
3608
|
+
"type": "boolean"
|
|
3609
|
+
},
|
|
3610
|
+
{
|
|
3611
|
+
"name": "viewMode",
|
|
3612
|
+
"description": "Modo de visualização do gantt (dia, semana, mês, etc.).",
|
|
3613
|
+
"default": "ViewMode.Day"
|
|
3614
|
+
},
|
|
3615
|
+
{
|
|
3616
|
+
"name": "tasks",
|
|
3617
|
+
"description": "Lista de grupos de tarefas a serem renderizados. Campo obrigatório."
|
|
3618
|
+
},
|
|
3619
|
+
{
|
|
3620
|
+
"name": "marginBeforeStart",
|
|
3621
|
+
"description": "Margem em dias antes do início da primeira tarefa.",
|
|
3622
|
+
"type": "number"
|
|
3623
|
+
},
|
|
3624
|
+
{
|
|
3625
|
+
"name": "marginAfterEnd",
|
|
3626
|
+
"description": "Margem em dias após o fim da última tarefa.",
|
|
3627
|
+
"type": "number"
|
|
3628
|
+
},
|
|
3629
|
+
{
|
|
3630
|
+
"name": "allowMovement",
|
|
3631
|
+
"description": "Habilita o arrastar de tarefas para alterar datas.",
|
|
3632
|
+
"default": "true",
|
|
3633
|
+
"type": "boolean"
|
|
3634
|
+
},
|
|
3635
|
+
{
|
|
3636
|
+
"name": "hasPopup",
|
|
3637
|
+
"description": "Exibe popup com detalhes ao clicar em uma tarefa.",
|
|
3638
|
+
"default": "true",
|
|
3639
|
+
"type": "boolean"
|
|
3640
|
+
},
|
|
3641
|
+
{
|
|
3642
|
+
"name": "containerWidth",
|
|
3643
|
+
"description": "Largura do container em pixels. Se omitido, usa a largura natural.",
|
|
3644
|
+
"type": "number"
|
|
3645
|
+
},
|
|
3646
|
+
{
|
|
3647
|
+
"name": "fullWidth",
|
|
3648
|
+
"description": "Faz o gantt ocupar 100% da largura disponível.",
|
|
3649
|
+
"default": "false",
|
|
3650
|
+
"type": "boolean"
|
|
3651
|
+
},
|
|
3652
|
+
{
|
|
3653
|
+
"name": "showOnlyHours",
|
|
3654
|
+
"description": "Exibe apenas horas na linha do tempo (ignora dias).",
|
|
3655
|
+
"default": "false",
|
|
3656
|
+
"type": "boolean"
|
|
3657
|
+
},
|
|
3658
|
+
{
|
|
3659
|
+
"name": "showOnlyDays",
|
|
3660
|
+
"description": "Exibe apenas dias na linha do tempo (ignora horas).",
|
|
3661
|
+
"default": "false",
|
|
3662
|
+
"type": "boolean"
|
|
3663
|
+
}
|
|
3664
|
+
],
|
|
3665
|
+
"outputs": [
|
|
3666
|
+
{
|
|
3667
|
+
"name": "taskClicked",
|
|
3668
|
+
"description": "Emitido quando o usuário clica em uma tarefa.",
|
|
3669
|
+
"type": "EventEmitter<Task>"
|
|
3670
|
+
},
|
|
3671
|
+
{
|
|
3672
|
+
"name": "taskDateChanged",
|
|
3673
|
+
"description": "Emitido quando o usuário arrasta e modifica as datas de uma tarefa.",
|
|
3674
|
+
"type": "EventEmitter<any>"
|
|
3675
|
+
},
|
|
3676
|
+
{
|
|
3677
|
+
"name": "viewChanged",
|
|
3678
|
+
"description": "Emitido quando o modo de visualização é alterado.",
|
|
3679
|
+
"type": "EventEmitter<ViewMode>"
|
|
3680
|
+
}
|
|
3681
|
+
]
|
|
3682
|
+
},
|
|
3683
|
+
{
|
|
3684
|
+
"name": "infinite-scroll",
|
|
3685
|
+
"selector": "[sInfiniteScroll]",
|
|
3686
|
+
"description": "Diretiva de scroll infinito que detecta quando o usuário chega ao final do elemento e emite o evento `scrolled`. Deve ser aplicada a um elemento com overflow e scroll habilitado.",
|
|
3687
|
+
"package": "@seniorsistemas/angular-components/infinite-scroll",
|
|
3688
|
+
"priority": "low",
|
|
3689
|
+
"keywords": [
|
|
3690
|
+
"infinite-scroll",
|
|
3691
|
+
"infinite",
|
|
3692
|
+
"scroll",
|
|
3693
|
+
"data"
|
|
3694
|
+
],
|
|
3695
|
+
"outputs": [
|
|
3696
|
+
{
|
|
3697
|
+
"name": "scrolled",
|
|
3698
|
+
"description": "Emitido quando o usuário atinge o final do elemento com scroll."
|
|
3699
|
+
}
|
|
3700
|
+
]
|
|
3701
|
+
},
|
|
3702
|
+
{
|
|
3703
|
+
"name": "kanban",
|
|
3704
|
+
"selector": "s-kanban",
|
|
3705
|
+
"description": "Componente de quadro Kanban com suporte a arrastar e soltar colunas e itens. Permite seleção via checkboxes, templates customizáveis para cabeçalho, corpo e rodapé dos cards, além de emitir eventos de movição e seleção.",
|
|
3706
|
+
"package": "@seniorsistemas/angular-components/kanban",
|
|
3707
|
+
"priority": "low",
|
|
3708
|
+
"keywords": [
|
|
3709
|
+
"kanban",
|
|
3710
|
+
"data"
|
|
3711
|
+
],
|
|
3712
|
+
"inputs": [
|
|
3713
|
+
{
|
|
3714
|
+
"name": "data",
|
|
3715
|
+
"description": "Dados do quadro Kanban com colunas e itens. Campo obrigatório."
|
|
3716
|
+
},
|
|
3717
|
+
{
|
|
3718
|
+
"name": "showItemCheckboxes",
|
|
3719
|
+
"description": "Exibe checkboxes de seleção em cada item Kanban.",
|
|
3720
|
+
"default": "true",
|
|
3721
|
+
"type": "boolean"
|
|
3722
|
+
},
|
|
3723
|
+
{
|
|
3724
|
+
"name": "showColumnCheckboxes",
|
|
3725
|
+
"description": "Exibe checkboxes de seleção no cabeçalho de cada coluna.",
|
|
3726
|
+
"default": "true",
|
|
3727
|
+
"type": "boolean"
|
|
3728
|
+
}
|
|
3729
|
+
],
|
|
3730
|
+
"outputs": [
|
|
3731
|
+
{
|
|
3732
|
+
"name": "itemsMoved",
|
|
3733
|
+
"description": "Emitido quando o usuário move um item entre colunas ou posições."
|
|
3734
|
+
},
|
|
3735
|
+
{
|
|
3736
|
+
"name": "dataUpdated",
|
|
3737
|
+
"description": "Emitido quando os dados do quadro são atualizados após movição."
|
|
3738
|
+
},
|
|
3739
|
+
{
|
|
3740
|
+
"name": "itemsSelected",
|
|
3741
|
+
"description": "Emitido quando a seleção de itens muda, com a lista de itens selecionados."
|
|
3742
|
+
}
|
|
3743
|
+
]
|
|
3744
|
+
},
|
|
3745
|
+
{
|
|
3746
|
+
"name": "mask",
|
|
3747
|
+
"selector": "s-mask",
|
|
3748
|
+
"description": "Pipe que aplica uma máscara de formatação a uma string, suportando os tokens `9` (dígito), `a` (letra) e `*` (alfanumérico), além de suporte a posições opcionais com `?`.",
|
|
3749
|
+
"package": "@seniorsistemas/angular-components/mask",
|
|
3750
|
+
"priority": "low",
|
|
3751
|
+
"keywords": [
|
|
3752
|
+
"mask",
|
|
3753
|
+
"data"
|
|
3754
|
+
]
|
|
3755
|
+
},
|
|
3756
|
+
{
|
|
3757
|
+
"name": "picklist",
|
|
3758
|
+
"selector": "s-picklist",
|
|
3759
|
+
"description": "Componente de lista de dupla seleção (picklist) com suporte a arrastar e soltar, filtro, checkboxes e template customizável para cada item. Emite eventos ao mover itens entre as listas.",
|
|
3760
|
+
"package": "@seniorsistemas/angular-components/picklist",
|
|
3761
|
+
"priority": "low",
|
|
3762
|
+
"keywords": [
|
|
3763
|
+
"picklist",
|
|
3764
|
+
"data"
|
|
3765
|
+
],
|
|
3766
|
+
"inputs": [
|
|
3767
|
+
{
|
|
3768
|
+
"name": "itensToSelect",
|
|
3769
|
+
"description": "Lista de itens disponíveis para seleção (coluna esquerda).",
|
|
3770
|
+
"default": "[]",
|
|
3771
|
+
"type": "PickListItem<any>[]"
|
|
3772
|
+
},
|
|
3773
|
+
{
|
|
3774
|
+
"name": "selectedItens",
|
|
3775
|
+
"description": "Lista de itens já selecionados (coluna direita).",
|
|
3776
|
+
"default": "[]",
|
|
3777
|
+
"type": "PickListItem<any>[]"
|
|
3778
|
+
},
|
|
3779
|
+
{
|
|
3780
|
+
"name": "availableItensLabel",
|
|
3781
|
+
"description": "Rótulo do título da lista de disponíveis.",
|
|
3782
|
+
"type": "string"
|
|
3783
|
+
},
|
|
3784
|
+
{
|
|
3785
|
+
"name": "availableItensPlaceholder",
|
|
3786
|
+
"description": "Placeholder da busca na lista de disponíveis.",
|
|
3787
|
+
"type": "string"
|
|
3788
|
+
},
|
|
3789
|
+
{
|
|
3790
|
+
"name": "addSelectedItensLabel",
|
|
3791
|
+
"description": "Rótulo do botão de adicionar itens selecionados.",
|
|
3792
|
+
"type": "string"
|
|
3793
|
+
},
|
|
3794
|
+
{
|
|
3795
|
+
"name": "addAllItensLabel",
|
|
3796
|
+
"description": "Rótulo do botão de adicionar todos os itens.",
|
|
3797
|
+
"type": "string"
|
|
3798
|
+
},
|
|
3799
|
+
{
|
|
3800
|
+
"name": "selectedItensLabel",
|
|
3801
|
+
"description": "Rótulo do título da lista de selecionados.",
|
|
3802
|
+
"type": "string"
|
|
3803
|
+
},
|
|
3804
|
+
{
|
|
3805
|
+
"name": "selectedItensPlaceholder",
|
|
3806
|
+
"description": "Placeholder da busca na lista de selecionados.",
|
|
3807
|
+
"type": "string"
|
|
3808
|
+
},
|
|
3809
|
+
{
|
|
3810
|
+
"name": "removeSelectedItemsLabel",
|
|
3811
|
+
"description": "Rótulo do botão de remover itens selecionados.",
|
|
3812
|
+
"type": "string"
|
|
3813
|
+
},
|
|
3814
|
+
{
|
|
3815
|
+
"name": "removeAllItemsLabel",
|
|
3816
|
+
"description": "Rótulo do botão de remover todos os itens.",
|
|
3817
|
+
"type": "string"
|
|
3818
|
+
},
|
|
3819
|
+
{
|
|
3820
|
+
"name": "showCheckbox",
|
|
3821
|
+
"description": "Exibe checkbox nos itens das listas.",
|
|
3822
|
+
"default": "false",
|
|
3823
|
+
"type": "boolean"
|
|
3824
|
+
},
|
|
3825
|
+
{
|
|
3826
|
+
"name": "filterBy",
|
|
3827
|
+
"description": "Propriedade usada para filtrar os itens das listas.",
|
|
3828
|
+
"default": "''",
|
|
3829
|
+
"type": "string"
|
|
3830
|
+
}
|
|
3831
|
+
],
|
|
3832
|
+
"outputs": [
|
|
3833
|
+
{
|
|
3834
|
+
"name": "selectedItensChange",
|
|
3835
|
+
"description": "Emitido quando a lista de selecionados muda."
|
|
3836
|
+
},
|
|
3837
|
+
{
|
|
3838
|
+
"name": "itensToSelectChange",
|
|
3839
|
+
"description": "Emitido quando a lista de disponíveis muda."
|
|
3840
|
+
}
|
|
3841
|
+
]
|
|
3842
|
+
},
|
|
3843
|
+
{
|
|
3844
|
+
"name": "table-header",
|
|
3845
|
+
"selector": "s-table-header-checkbox",
|
|
3846
|
+
"description": "Componente de checkbox de cabeçalho para tabelas PrimeNG. Integra-se automaticamente ao `TableService` para sincronizar o estado de seleção total/parcial com as linhas da tabela.",
|
|
3847
|
+
"package": "@seniorsistemas/angular-components/table-header",
|
|
3848
|
+
"priority": "low",
|
|
3849
|
+
"keywords": [
|
|
3850
|
+
"table-header",
|
|
3851
|
+
"table",
|
|
3852
|
+
"header",
|
|
3853
|
+
"data"
|
|
3854
|
+
],
|
|
3855
|
+
"inputs": [
|
|
3856
|
+
{
|
|
3857
|
+
"name": "id",
|
|
3858
|
+
"description": "Identificador único do componente no DOM. Gerado automaticamente se não informado.",
|
|
3859
|
+
"type": "string"
|
|
3860
|
+
},
|
|
3861
|
+
{
|
|
3862
|
+
"name": "disabled",
|
|
3863
|
+
"description": "Desabilita o checkbox de cabeçalho.",
|
|
3864
|
+
"default": "false",
|
|
3865
|
+
"type": "boolean"
|
|
3866
|
+
},
|
|
3867
|
+
{
|
|
3868
|
+
"name": "rowProps",
|
|
3869
|
+
"description": "Lista de propriedades dos itens da linha usadas para identificação.",
|
|
3870
|
+
"type": "string[]"
|
|
3871
|
+
},
|
|
3872
|
+
{
|
|
3873
|
+
"name": "useAllObject",
|
|
3874
|
+
"description": "Quando `true`, usa o objeto completo da linha em vez de propriedades específicas.",
|
|
3875
|
+
"type": "boolean"
|
|
3876
|
+
}
|
|
3877
|
+
]
|
|
3878
|
+
},
|
|
3879
|
+
{
|
|
3880
|
+
"name": "thumbnail",
|
|
3881
|
+
"selector": "s-thumbnail",
|
|
3882
|
+
"description": "Componente de miniatura de imagem com suporte a imagem de fallback, ícone de ação sobrepôsto, orientação automática e diferentes tamanhos predefinidos.",
|
|
3883
|
+
"package": "@seniorsistemas/angular-components/thumbnail",
|
|
3884
|
+
"priority": "low",
|
|
3885
|
+
"keywords": [
|
|
3886
|
+
"thumbnail",
|
|
3887
|
+
"data"
|
|
3888
|
+
],
|
|
3889
|
+
"inputs": [
|
|
3890
|
+
{
|
|
3891
|
+
"name": "id",
|
|
3892
|
+
"description": "Identificador único do componente no DOM. Gerado automaticamente se não informado.",
|
|
3893
|
+
"type": "string"
|
|
3894
|
+
},
|
|
3895
|
+
{
|
|
3896
|
+
"name": "size",
|
|
3897
|
+
"description": "Tamanho da miniatura: `'small'`, `'medium'`, `'large'`, etc.",
|
|
3898
|
+
"default": "'medium'",
|
|
3899
|
+
"type": "ThumbnailSize"
|
|
3900
|
+
},
|
|
3901
|
+
{
|
|
3902
|
+
"name": "imageSource",
|
|
3903
|
+
"description": "URL da imagem principal.",
|
|
3904
|
+
"type": "string"
|
|
3905
|
+
},
|
|
3906
|
+
{
|
|
3907
|
+
"name": "imageFallback",
|
|
3908
|
+
"description": "URL da imagem de fallback exibida quando a principal falha ao carregar.",
|
|
3909
|
+
"type": "string"
|
|
3910
|
+
},
|
|
3911
|
+
{
|
|
3912
|
+
"name": "imageAlt",
|
|
3913
|
+
"description": "Texto alternativo (atributo `alt`) da imagem.",
|
|
3914
|
+
"type": "string"
|
|
3915
|
+
},
|
|
3916
|
+
{
|
|
3917
|
+
"name": "iconClass",
|
|
3918
|
+
"description": "Classe do ícone exibido quando não há imagem disponível.",
|
|
3919
|
+
"default": "'far fa-image'",
|
|
3920
|
+
"type": "string"
|
|
3921
|
+
},
|
|
3922
|
+
{
|
|
3923
|
+
"name": "hasAction",
|
|
3924
|
+
"description": "Habilita a exibição de um botão de ação sobrepôsto.",
|
|
3925
|
+
"default": "false",
|
|
3926
|
+
"type": "boolean"
|
|
3927
|
+
},
|
|
3928
|
+
{
|
|
3929
|
+
"name": "actionIconClass",
|
|
3930
|
+
"description": "Classe do ícone do botão de ação.",
|
|
3931
|
+
"default": "'fas fa-camera'",
|
|
3932
|
+
"type": "string"
|
|
3933
|
+
},
|
|
3934
|
+
{
|
|
3935
|
+
"name": "isTile",
|
|
3936
|
+
"description": "Aplica estilo de tile ao thumbnail.",
|
|
3937
|
+
"default": "false",
|
|
3938
|
+
"type": "boolean"
|
|
3939
|
+
},
|
|
3940
|
+
{
|
|
3941
|
+
"name": "isBrand",
|
|
3942
|
+
"description": "Aplica estilo de marca ao thumbnail.",
|
|
3943
|
+
"default": "false",
|
|
3944
|
+
"type": "boolean"
|
|
3945
|
+
}
|
|
3946
|
+
]
|
|
3947
|
+
},
|
|
3948
|
+
{
|
|
3949
|
+
"name": "thumbnails",
|
|
3950
|
+
"selector": "s-thumbnails",
|
|
3951
|
+
"description": "Componente de galeria de miniaturas com suporte a seleção múltipla e abertura de itens. Gerencia o estado de seleção internamente e emite eventos para o componente pai.",
|
|
3952
|
+
"package": "@seniorsistemas/angular-components/thumbnails",
|
|
3953
|
+
"priority": "low",
|
|
3954
|
+
"keywords": [
|
|
3955
|
+
"thumbnails",
|
|
3956
|
+
"data"
|
|
3957
|
+
],
|
|
3958
|
+
"inputs": [
|
|
3959
|
+
{
|
|
3960
|
+
"name": "items",
|
|
3961
|
+
"description": "Lista de itens exibidos na galeria.",
|
|
3962
|
+
"default": "[]",
|
|
3963
|
+
"type": "ThumbnailsItem[]"
|
|
3964
|
+
},
|
|
3965
|
+
{
|
|
3966
|
+
"name": "selectable",
|
|
3967
|
+
"description": "Habilita a seleção de itens.",
|
|
3968
|
+
"default": "true",
|
|
3969
|
+
"type": "boolean"
|
|
3970
|
+
},
|
|
3971
|
+
{
|
|
3972
|
+
"name": "combineCheckboxEvent",
|
|
3973
|
+
"description": "Quando `true`, combina o evento de checkbox com o de seleção.",
|
|
3974
|
+
"default": "true",
|
|
3975
|
+
"type": "boolean"
|
|
3976
|
+
},
|
|
3977
|
+
{
|
|
3978
|
+
"name": "set",
|
|
3979
|
+
"description": "Lista de itens atualmente selecionados. Suporta two-way binding.",
|
|
3980
|
+
"default": "[]"
|
|
3981
|
+
}
|
|
3982
|
+
],
|
|
3983
|
+
"outputs": [
|
|
3984
|
+
{
|
|
3985
|
+
"name": "selectionChange",
|
|
3986
|
+
"description": "Emitido quando a seleção de itens muda."
|
|
3987
|
+
},
|
|
3988
|
+
{
|
|
3989
|
+
"name": "itemOpened",
|
|
3990
|
+
"description": "Emitido quando o usuário abre um item (clique duplo ou ação de abrir)."
|
|
3991
|
+
}
|
|
3992
|
+
]
|
|
3993
|
+
},
|
|
3994
|
+
{
|
|
3995
|
+
"name": "tree",
|
|
3996
|
+
"selector": "s-tree",
|
|
3997
|
+
"description": "Componente de árvore hierárquica com suporte a seleção única ou múltipla, checkboxes, noós expansíveis e edição inline de rótulos. Gerencia o estado interno dos nós e emite eventos na seleção, expansão, colapso e edição.",
|
|
3998
|
+
"package": "@seniorsistemas/angular-components/tree",
|
|
3999
|
+
"priority": "low",
|
|
4000
|
+
"keywords": [
|
|
4001
|
+
"tree",
|
|
4002
|
+
"data"
|
|
4003
|
+
],
|
|
4004
|
+
"inputs": [
|
|
4005
|
+
{
|
|
4006
|
+
"name": "treeData",
|
|
4007
|
+
"description": "Lista de nós raíz da árvore.",
|
|
4008
|
+
"default": "[]",
|
|
4009
|
+
"type": "TreeNodeItem[]"
|
|
4010
|
+
},
|
|
4011
|
+
{
|
|
4012
|
+
"name": "get",
|
|
4013
|
+
"description": "Nó(s) selecionado(s). Suporta array ou item único dependendo de `selectionMode`.",
|
|
4014
|
+
"default": "[]"
|
|
4015
|
+
},
|
|
4016
|
+
{
|
|
4017
|
+
"name": "loading",
|
|
4018
|
+
"description": "Exibe indicador de carregamento nos nós.",
|
|
4019
|
+
"default": "false",
|
|
4020
|
+
"type": "boolean"
|
|
4021
|
+
},
|
|
4022
|
+
{
|
|
4023
|
+
"name": "selectionMode",
|
|
4024
|
+
"description": "Modo de seleção: `'single'` ou `'multiple'`.",
|
|
4025
|
+
"default": "'single'",
|
|
4026
|
+
"type": "'single' | 'multiple'"
|
|
4027
|
+
},
|
|
4028
|
+
{
|
|
4029
|
+
"name": "showCheckbox",
|
|
4030
|
+
"description": "Exibe checkboxes nos nós para seleção visual.",
|
|
4031
|
+
"default": "false",
|
|
4032
|
+
"type": "boolean"
|
|
4033
|
+
},
|
|
4034
|
+
{
|
|
4035
|
+
"name": "allExpanded",
|
|
4036
|
+
"description": "Expão todos os nós inicialmente.",
|
|
4037
|
+
"default": "false",
|
|
4038
|
+
"type": "boolean"
|
|
4039
|
+
}
|
|
4040
|
+
],
|
|
4041
|
+
"outputs": [
|
|
4042
|
+
{
|
|
4043
|
+
"name": "selectedChange",
|
|
4044
|
+
"description": "Emitido quando a seleção muda, com o(s) nó(s) selecionado(s).",
|
|
4045
|
+
"type": "EventEmitter<TreeNodeItem[] | TreeNodeItem>"
|
|
4046
|
+
},
|
|
4047
|
+
{
|
|
4048
|
+
"name": "treeNodeItemClicked",
|
|
4049
|
+
"description": "Emitido quando o usuário clica em um nó da árvore.",
|
|
4050
|
+
"type": "EventEmitter<TreeNodeItem>"
|
|
4051
|
+
},
|
|
4052
|
+
{
|
|
4053
|
+
"name": "treeNodeEdit",
|
|
4054
|
+
"description": "Emitido após uma edição inline de rótulo de nó.",
|
|
4055
|
+
"type": "EventEmitter<TreeNodeEdit>"
|
|
4056
|
+
},
|
|
4057
|
+
{
|
|
4058
|
+
"name": "nodeExpanded",
|
|
4059
|
+
"description": "Emitido quando um nó é expandido pelo usuário.",
|
|
4060
|
+
"type": "EventEmitter<TreeNodeItem>"
|
|
4061
|
+
},
|
|
4062
|
+
{
|
|
4063
|
+
"name": "nodeCollapsed",
|
|
4064
|
+
"description": "Emitido quando um nó é colapsado pelo usuário.",
|
|
4065
|
+
"type": "EventEmitter<TreeNodeItem>"
|
|
4066
|
+
}
|
|
4067
|
+
]
|
|
4068
|
+
}
|
|
4069
|
+
]
|
|
4070
|
+
},
|
|
4071
|
+
"summary": {
|
|
4072
|
+
"description": "Summary components",
|
|
4073
|
+
"components": [
|
|
4074
|
+
{
|
|
4075
|
+
"name": "label-value",
|
|
4076
|
+
"selector": "s-label-value",
|
|
4077
|
+
"description": "Componente de exibição de par label/valor que suporta diferentes tipos de conteúdo configurados via `LabelValueConfiguration`: texto, número, moeda, data e badge.",
|
|
4078
|
+
"package": "@seniorsistemas/angular-components/label-value",
|
|
4079
|
+
"priority": "low",
|
|
4080
|
+
"keywords": [
|
|
4081
|
+
"label-value",
|
|
4082
|
+
"label",
|
|
4083
|
+
"value",
|
|
4084
|
+
"summary"
|
|
4085
|
+
],
|
|
4086
|
+
"inputs": [
|
|
4087
|
+
{
|
|
4088
|
+
"name": "configuration",
|
|
4089
|
+
"description": "Configuração do par label/valor, incluindo tipo e dados para renderização. Campo obrigatório."
|
|
4090
|
+
}
|
|
4091
|
+
]
|
|
4092
|
+
},
|
|
4093
|
+
{
|
|
4094
|
+
"name": "stats-card",
|
|
4095
|
+
"selector": "s-stats-card",
|
|
4096
|
+
"description": "Card de estatística que exibe um valor numérico com ícone, rótulo e animação de contagem. Suporta diferentes estilos visuais (borda, versão leve) e pode emitir evento ao ser clicado.",
|
|
4097
|
+
"package": "@seniorsistemas/angular-components/stats-card",
|
|
4098
|
+
"priority": "low",
|
|
4099
|
+
"keywords": [
|
|
4100
|
+
"stats-card",
|
|
4101
|
+
"stats",
|
|
4102
|
+
"card",
|
|
4103
|
+
"summary"
|
|
4104
|
+
],
|
|
4105
|
+
"inputs": [
|
|
4106
|
+
{
|
|
4107
|
+
"name": "id",
|
|
4108
|
+
"description": "Identificador único do card no DOM. Gerado automaticamente se não informado.",
|
|
4109
|
+
"type": "string"
|
|
4110
|
+
},
|
|
4111
|
+
{
|
|
4112
|
+
"name": "label",
|
|
4113
|
+
"description": "Rótulo descritivo da estatística exibida. Campo obrigatório."
|
|
4114
|
+
},
|
|
4115
|
+
{
|
|
4116
|
+
"name": "alwaysWithBorder",
|
|
4117
|
+
"description": "Exibe borda mesmo quando o card não está em destaque.",
|
|
4118
|
+
"default": "false",
|
|
4119
|
+
"type": "boolean"
|
|
4120
|
+
},
|
|
4121
|
+
{
|
|
4122
|
+
"name": "lightVersion",
|
|
4123
|
+
"description": "Ativa a versão visual leve (sem sombra e com fundo claro).",
|
|
4124
|
+
"default": "false",
|
|
4125
|
+
"type": "boolean"
|
|
4126
|
+
},
|
|
4127
|
+
{
|
|
4128
|
+
"name": "lightMode",
|
|
4129
|
+
"description": "Ativa o modo de cores claras para o card.",
|
|
4130
|
+
"default": "true",
|
|
4131
|
+
"type": "boolean"
|
|
4132
|
+
},
|
|
4133
|
+
{
|
|
4134
|
+
"name": "iconClass",
|
|
4135
|
+
"description": "Classe do ícone exibido no card.",
|
|
4136
|
+
"default": "'fa fa-bar-chart'",
|
|
4137
|
+
"type": "string"
|
|
4138
|
+
},
|
|
4139
|
+
{
|
|
4140
|
+
"name": "color",
|
|
4141
|
+
"description": "Cor de destaque do card em formato CSS.",
|
|
4142
|
+
"default": "'#339966'",
|
|
4143
|
+
"type": "string"
|
|
4144
|
+
},
|
|
4145
|
+
{
|
|
4146
|
+
"name": "animateNumbers",
|
|
4147
|
+
"description": "Habilita a animação de contagem ao atualizar o valor.",
|
|
4148
|
+
"default": "true",
|
|
4149
|
+
"type": "boolean"
|
|
4150
|
+
},
|
|
4151
|
+
{
|
|
4152
|
+
"name": "clickable",
|
|
4153
|
+
"description": "Habilita o cursor de ponteiro e o evento de clique.",
|
|
4154
|
+
"default": "false",
|
|
4155
|
+
"type": "boolean"
|
|
4156
|
+
},
|
|
4157
|
+
{
|
|
4158
|
+
"name": "tooltip",
|
|
4159
|
+
"description": "Texto do tooltip exibido ao passar o mouse sobre o card.",
|
|
4160
|
+
"default": "''",
|
|
4161
|
+
"type": "string"
|
|
4162
|
+
},
|
|
4163
|
+
{
|
|
4164
|
+
"name": "set",
|
|
4165
|
+
"description": "Valor numérico exibido no card. Quando `animateNumbers` está ativo, a contagem é animada."
|
|
4166
|
+
}
|
|
4167
|
+
],
|
|
4168
|
+
"outputs": [
|
|
4169
|
+
{
|
|
4170
|
+
"name": "clicked",
|
|
4171
|
+
"description": "Emitido quando o usuário clica no card (requer `clickable = true`)."
|
|
4172
|
+
}
|
|
4173
|
+
]
|
|
4174
|
+
},
|
|
4175
|
+
{
|
|
4176
|
+
"name": "tile",
|
|
4177
|
+
"selector": "s-tile",
|
|
4178
|
+
"description": "Card clicável que representa uma opção ou destino de navegação, exibindo ícone (por classe ou imagem), rótulo e descrição opcional. Suporta navegação por teclado e exibe as iniciais do rótulo como fallback.",
|
|
4179
|
+
"package": "@seniorsistemas/angular-components/tile",
|
|
4180
|
+
"priority": "low",
|
|
4181
|
+
"keywords": [
|
|
4182
|
+
"tile",
|
|
4183
|
+
"summary"
|
|
4184
|
+
],
|
|
4185
|
+
"inputs": [
|
|
4186
|
+
{
|
|
4187
|
+
"name": "id",
|
|
4188
|
+
"description": "Identificador único do elemento no DOM. Gerado automaticamente se não informado.",
|
|
4189
|
+
"type": "string"
|
|
4190
|
+
},
|
|
4191
|
+
{
|
|
4192
|
+
"name": "label",
|
|
4193
|
+
"description": "Rótulo principal exibido no tile. Campo obrigatório."
|
|
4194
|
+
},
|
|
4195
|
+
{
|
|
4196
|
+
"name": "description",
|
|
4197
|
+
"description": "Texto descritivo exibido abaixo do rótulo.",
|
|
4198
|
+
"type": "string"
|
|
4199
|
+
},
|
|
4200
|
+
{
|
|
4201
|
+
"name": "iconClass",
|
|
4202
|
+
"description": "Classe do ícone exibido no tile (ex.: `'fas fa-home'`).",
|
|
4203
|
+
"type": "string"
|
|
4204
|
+
},
|
|
4205
|
+
{
|
|
4206
|
+
"name": "imageSource",
|
|
4207
|
+
"description": "URL da imagem exibida no tile.",
|
|
4208
|
+
"type": "string"
|
|
4209
|
+
},
|
|
4210
|
+
{
|
|
4211
|
+
"name": "imageAlt",
|
|
4212
|
+
"description": "Texto alternativo para a imagem (`alt`).",
|
|
4213
|
+
"type": "string"
|
|
4214
|
+
},
|
|
4215
|
+
{
|
|
4216
|
+
"name": "disabled",
|
|
4217
|
+
"description": "Desabilita o tile, removendo interações e aplicando estilo desativado.",
|
|
4218
|
+
"default": "false",
|
|
4219
|
+
"type": "boolean"
|
|
4220
|
+
},
|
|
4221
|
+
{
|
|
4222
|
+
"name": "tabIndex",
|
|
4223
|
+
"description": "`tabindex` do tile para navegação por teclado.",
|
|
4224
|
+
"default": "0",
|
|
4225
|
+
"type": "number"
|
|
4226
|
+
},
|
|
4227
|
+
{
|
|
4228
|
+
"name": "thumbnail",
|
|
4229
|
+
"description": "Exibe o thumbnail (miniatura) no tile.",
|
|
4230
|
+
"default": "true",
|
|
4231
|
+
"type": "boolean"
|
|
4232
|
+
}
|
|
4233
|
+
],
|
|
4234
|
+
"outputs": [
|
|
4235
|
+
{
|
|
4236
|
+
"name": "clicked",
|
|
4237
|
+
"description": "Emitido quando o usuário clica ou pressiona Enter/Espaço no tile."
|
|
4238
|
+
}
|
|
4239
|
+
]
|
|
4240
|
+
},
|
|
4241
|
+
{
|
|
4242
|
+
"name": "token-list",
|
|
4243
|
+
"selector": "s-token-list",
|
|
4244
|
+
"description": "Componente de lista de tokens (etiquetas) clicáveis e opcionalmente removíveis. Emite eventos ao selecionar ou remover um token.",
|
|
4245
|
+
"package": "@seniorsistemas/angular-components/token-list",
|
|
4246
|
+
"priority": "low",
|
|
4247
|
+
"keywords": [
|
|
4248
|
+
"token-list",
|
|
4249
|
+
"token",
|
|
4250
|
+
"list",
|
|
4251
|
+
"summary"
|
|
4252
|
+
],
|
|
4253
|
+
"inputs": [
|
|
4254
|
+
{
|
|
4255
|
+
"name": "id",
|
|
4256
|
+
"description": "Identificador único do componente no DOM. Gerado automaticamente se não informado.",
|
|
4257
|
+
"type": "string"
|
|
4258
|
+
},
|
|
4259
|
+
{
|
|
4260
|
+
"name": "tokens",
|
|
4261
|
+
"description": "Lista de tokens exibidos. Campo obrigatório."
|
|
4262
|
+
},
|
|
4263
|
+
{
|
|
4264
|
+
"name": "removableTokens",
|
|
4265
|
+
"description": "Exibe o botão de remoção em cada token.",
|
|
4266
|
+
"default": "false",
|
|
4267
|
+
"type": "boolean"
|
|
4268
|
+
},
|
|
4269
|
+
{
|
|
4270
|
+
"name": "hidePointerEvents",
|
|
4271
|
+
"description": "Quando `true`, remove os eventos de ponteiro (hover/clique) dos tokens.",
|
|
4272
|
+
"default": "false",
|
|
4273
|
+
"type": "boolean"
|
|
4274
|
+
}
|
|
4275
|
+
],
|
|
4276
|
+
"outputs": [
|
|
4277
|
+
{
|
|
4278
|
+
"name": "tokenSelected",
|
|
4279
|
+
"description": "Emitido quando o usuário clica em um token não desabilitado.",
|
|
4280
|
+
"type": "EventEmitter<IToken>"
|
|
4281
|
+
},
|
|
4282
|
+
{
|
|
4283
|
+
"name": "tokenRemoved",
|
|
4284
|
+
"description": "Emitido quando o usuário remove um token não desabilitado.",
|
|
4285
|
+
"type": "EventEmitter<IToken>"
|
|
4286
|
+
}
|
|
4287
|
+
]
|
|
4288
|
+
}
|
|
4289
|
+
]
|
|
4290
|
+
},
|
|
4291
|
+
"numeric": {
|
|
4292
|
+
"description": "Numeric components",
|
|
4293
|
+
"components": [
|
|
4294
|
+
{
|
|
4295
|
+
"name": "numeric",
|
|
4296
|
+
"selector": "s-numeric",
|
|
4297
|
+
"description": "Angular pipe for formatting numeric values according to the active locale. Wraps `NumericService.instant()` and reactively responds to locale changes via `LocaleService`. Accepts an optional `locale` override and `Intl.NumberFormatOptions` for fine-grained control.",
|
|
4298
|
+
"package": "@seniorsistemas/angular-components/numeric",
|
|
4299
|
+
"priority": "low",
|
|
4300
|
+
"keywords": [
|
|
4301
|
+
"numeric"
|
|
4302
|
+
]
|
|
4303
|
+
},
|
|
4304
|
+
{
|
|
4305
|
+
"name": "numeric-mask",
|
|
4306
|
+
"selector": "[sNumericMask]",
|
|
4307
|
+
"description": "Diretiva de máscara numérica com suporte a internacionalização. Formata valores numéricos de acordo com o locale especificado, aplicando separadores de milhar e decimal adequados, com suporte a valores negativos, controle de casas decimais mín/máx e notação científica.",
|
|
4308
|
+
"package": "@seniorsistemas/angular-components/numeric-mask",
|
|
4309
|
+
"priority": "low",
|
|
4310
|
+
"keywords": [
|
|
4311
|
+
"numeric-mask",
|
|
4312
|
+
"numeric",
|
|
4313
|
+
"mask"
|
|
4314
|
+
],
|
|
4315
|
+
"inputs": [
|
|
4316
|
+
{
|
|
4317
|
+
"name": "locale",
|
|
4318
|
+
"default": "undefined",
|
|
4319
|
+
"type": "string | undefined"
|
|
4320
|
+
},
|
|
4321
|
+
{
|
|
4322
|
+
"name": "minDecimalPlaces",
|
|
4323
|
+
"default": "0",
|
|
4324
|
+
"type": "number"
|
|
4325
|
+
},
|
|
4326
|
+
{
|
|
4327
|
+
"name": "maxDecimalPlaces",
|
|
4328
|
+
"default": "10",
|
|
4329
|
+
"type": "number"
|
|
4330
|
+
},
|
|
4331
|
+
{
|
|
4332
|
+
"name": "allowNegative",
|
|
4333
|
+
"default": "false",
|
|
4334
|
+
"type": "boolean"
|
|
4335
|
+
},
|
|
4336
|
+
{
|
|
4337
|
+
"name": "allowScientificNotation",
|
|
4338
|
+
"default": "true",
|
|
4339
|
+
"type": "boolean"
|
|
4340
|
+
},
|
|
4341
|
+
{
|
|
4342
|
+
"name": "min",
|
|
4343
|
+
"default": "undefined",
|
|
4344
|
+
"type": "number | undefined"
|
|
4345
|
+
},
|
|
4346
|
+
{
|
|
4347
|
+
"name": "max",
|
|
4348
|
+
"default": "undefined",
|
|
4349
|
+
"type": "number | undefined"
|
|
4350
|
+
}
|
|
4351
|
+
]
|
|
4352
|
+
}
|
|
4353
|
+
]
|
|
4354
|
+
},
|
|
4355
|
+
"shared": {
|
|
4356
|
+
"description": "Shared components",
|
|
4357
|
+
"components": [
|
|
4358
|
+
{
|
|
4359
|
+
"name": "shared",
|
|
4360
|
+
"selector": "s-border-button",
|
|
4361
|
+
"description": "Botão com borda que varia de estilo de acordo com a severidade informada. Utilizado internamente por outros componentes da biblioteca.",
|
|
4362
|
+
"package": "@seniorsistemas/angular-components/shared",
|
|
4363
|
+
"priority": "low",
|
|
4364
|
+
"keywords": [
|
|
4365
|
+
"shared"
|
|
4366
|
+
],
|
|
4367
|
+
"inputs": [
|
|
4368
|
+
{
|
|
4369
|
+
"name": "severity",
|
|
4370
|
+
"description": "Nível de severidade que define a cor e estilo do botão.",
|
|
4371
|
+
"default": "'default'",
|
|
4372
|
+
"type": "Severities"
|
|
4373
|
+
},
|
|
4374
|
+
{
|
|
4375
|
+
"name": "options",
|
|
4376
|
+
"description": "Opções de configuração do botão (rótulo, ação, etc.).",
|
|
4377
|
+
"type": "BorderButtonOptions"
|
|
4378
|
+
}
|
|
4379
|
+
]
|
|
4380
|
+
},
|
|
4381
|
+
{
|
|
4382
|
+
"name": "template",
|
|
4383
|
+
"selector": "[sTemplate]",
|
|
4384
|
+
"description": "Diretiva estrutural que marca um `<ng-template>` com um alias nomeado, permitindo que componentes pai identifiquem e projetem templates específicos por nome.",
|
|
4385
|
+
"package": "@seniorsistemas/angular-components/template",
|
|
4386
|
+
"priority": "low",
|
|
4387
|
+
"keywords": [
|
|
4388
|
+
"template",
|
|
4389
|
+
"shared"
|
|
4390
|
+
],
|
|
4391
|
+
"inputs": [
|
|
4392
|
+
{
|
|
4393
|
+
"name": "alias",
|
|
4394
|
+
"description": "Nome (alias) que identifica o template nomeado. Utilizado como valor do atributo `sTemplate`.",
|
|
4395
|
+
"type": "'sTemplate',"
|
|
4396
|
+
}
|
|
4397
|
+
]
|
|
4398
|
+
}
|
|
4399
|
+
]
|
|
4400
|
+
}
|
|
4401
|
+
}
|
|
4402
|
+
}
|