ngx-opalbytes-components 1.6.1 → 1.8.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/README.md +337 -20
- package/fesm2022/ngx-opalbytes-components.mjs +1591 -730
- package/fesm2022/ngx-opalbytes-components.mjs.map +1 -1
- package/package.json +3 -2
- package/types/ngx-opalbytes-components.d.ts +459 -182
package/README.md
CHANGED
|
@@ -71,32 +71,349 @@ src/
|
|
|
71
71
|
└── lib/
|
|
72
72
|
└── shared/
|
|
73
73
|
└── components/
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
74
|
+
| ├── autocomplete/
|
|
75
|
+
| ├── base-button/
|
|
76
|
+
| ├── base-input/
|
|
77
|
+
| ├── base-time-range/
|
|
78
|
+
| ├── drop-down/
|
|
79
|
+
| ├── footer/
|
|
80
|
+
| ├── links-button/
|
|
81
|
+
| ├── paginator/
|
|
82
|
+
| └── time-picker/
|
|
83
|
+
└── features/
|
|
84
|
+
├── base-modal/
|
|
78
85
|
├── base-table/
|
|
79
|
-
├── base-
|
|
80
|
-
├──
|
|
81
|
-
|
|
82
|
-
|
|
86
|
+
├── base-table-paginated/
|
|
87
|
+
├── base-dialog/
|
|
88
|
+
└── base-alert/
|
|
89
|
+
|
|
83
90
|
```
|
|
84
91
|
|
|
85
92
|
---
|
|
86
93
|
|
|
87
|
-
## Componentes
|
|
94
|
+
## Detalhes dos Componentes
|
|
95
|
+
|
|
96
|
+
### `BaseButton`
|
|
97
|
+
Um botão customizável com suporte a ícones, estado de loading e tooltip.
|
|
98
|
+
|
|
99
|
+
**Seletor:** `<cao-base-button>`
|
|
100
|
+
|
|
101
|
+
**Atributos (Inputs)**
|
|
102
|
+
|
|
103
|
+
| Atributo | Tipo | Padrão | Descrição |
|
|
104
|
+
| --- | --- | --- | --- |
|
|
105
|
+
| `buttonText` | `string` | `'Clique!'` | O texto exibido no botão. |
|
|
106
|
+
| `isDarkMode` | `boolean` | `false` | Aplica o tema escuro ao botão. |
|
|
107
|
+
| `isDisabled` | `boolean` | `false` | Desabilita o botão. |
|
|
108
|
+
| `isLoading` | `boolean` | `false` | Exibe um spinner de carregamento no botão. |
|
|
109
|
+
| `btnClass` | `string` | `''` | Classes CSS customizadas para o botão. |
|
|
110
|
+
| `tooltip` | `string` | `undefined` | Texto a ser exibido em uma tooltip. |
|
|
111
|
+
| `trailingIcon` | `string` | `undefined` | Ícone a ser exibido após o texto. |
|
|
112
|
+
| `leadingIcon` | `string` | `undefined` | Ícone a ser exibido antes do texto. |
|
|
113
|
+
| `isLucideIcon` | `boolean` | `true` | Define se o ícone é do pacote Lucide. |
|
|
114
|
+
| `dataCy` | `string` | `undefined` | Atributo para testes E2E com Cypress. |
|
|
115
|
+
|
|
116
|
+
**Eventos (Outputs)**
|
|
117
|
+
|
|
118
|
+
| Evento | Tipo | Descrição |
|
|
119
|
+
| --- | --- | --- |
|
|
120
|
+
| `buttonClick` | `EventEmitter<void>` | Emitido quando o botão é clicado. |
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
### `BaseInput`
|
|
125
|
+
Um campo de entrada de texto customizável com suporte a ícones, máscaras e validação.
|
|
126
|
+
|
|
127
|
+
**Seletor:** `<cao-input>`
|
|
128
|
+
|
|
129
|
+
**Atributos (Inputs)**
|
|
130
|
+
|
|
131
|
+
| Atributo | Tipo | Padrão | Descrição |
|
|
132
|
+
| --- | --- | --- | --- |
|
|
133
|
+
| `type` | `string` | `'text'` | O tipo de input (text, password, email, etc). |
|
|
134
|
+
| `placeholder` | `string` | `''` | O texto de placeholder. |
|
|
135
|
+
| `label` | `string` | `''` | O rótulo do campo. |
|
|
136
|
+
| `inputClass` | `string` | `''` | Classes CSS customizadas para o input. |
|
|
137
|
+
| `value` | `string` \| `number` \| `boolean` \| `Date` | `''` | O valor do input. |
|
|
138
|
+
| `errorMessage` | `string` | `''` | Mensagem de erro a ser exibida. |
|
|
139
|
+
| `isDisabled` | `boolean` | `false` | Desabilita o input. |
|
|
140
|
+
| `maxLength` | `number` | `undefined` | Número máximo de caracteres. |
|
|
141
|
+
| `searchMode` | `boolean` | `false` | Ativa o modo de busca, exibindo um ícone de busca. |
|
|
142
|
+
| `showBorder` | `boolean` | `false` | Exibe uma borda no input. |
|
|
143
|
+
| `isLucideIcon` | `boolean` | `false` | Define se o ícone é do pacote Lucide. |
|
|
144
|
+
| `mask` | `string` | `undefined` | Máscara a ser aplicada ao input (usando `ngx-mask`). |
|
|
145
|
+
| `control` | `AbstractControl` \| `null` | `null` | O `FormControl` associado. |
|
|
146
|
+
| `tooltip` | `string` | `''` | Texto a ser exibido em uma tooltip. |
|
|
147
|
+
| `dataCy` | `string` | `undefined` | Atributo para testes E2E com Cypress. |
|
|
148
|
+
| `textareaRows` | `string` | `undefined` | Número de linhas para um textarea. |
|
|
149
|
+
| `decimalMarker` | `'.' \| ',' \| ['.', ',']` | `','` | Marcador decimal para números. |
|
|
150
|
+
| `thousandSeparator` | `string` | `'.'` | Separador de milhares para números. |
|
|
151
|
+
| `allowNegativeNumbers`| `boolean`| `false`| Permite números negativos. |
|
|
152
|
+
| `separatorLimit` | `string` | `''` | Limite do separador. |
|
|
153
|
+
| `leadingIcon` | `string` | `undefined` | Ícone a ser exibido antes do texto. |
|
|
154
|
+
| `trailingIcon` | `string` | `undefined` | Ícone a ser exibido após o texto. |
|
|
155
|
+
|
|
156
|
+
**Eventos (Outputs)**
|
|
157
|
+
|
|
158
|
+
| Evento | Tipo | Descrição |
|
|
159
|
+
| --- | --- | --- |
|
|
160
|
+
| `valueChange` | `EventEmitter<string>` | Emitido quando o valor do input muda. |
|
|
161
|
+
| `searchClick` | `EventEmitter<void>` | Emitido quando o ícone de busca é clicado. |
|
|
162
|
+
| `inputChange` | `EventEmitter<string>` | Emitido a cada mudança no input. |
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
### `BaseAlert`
|
|
167
|
+
Um componente para exibir alertas de sucesso, erro, informação ou aviso. Geralmente utilizado com um serviço de diálogo.
|
|
168
|
+
|
|
169
|
+
**Seletor:** `<cao-base-alert>`
|
|
170
|
+
|
|
171
|
+
**Atributos (Inputs via `data`)**
|
|
172
|
+
|
|
173
|
+
| Atributo | Tipo | Descrição |
|
|
174
|
+
| --- | --- | --- |
|
|
175
|
+
| `type` | `'success' \| 'error' \| 'info' \| 'warning'` | O tipo de alerta a ser exibido. |
|
|
176
|
+
| `title` | `string` | O título do alerta. |
|
|
177
|
+
| `message` | `string` | A mensagem do alerta. |
|
|
178
|
+
| `alertIcon` | `string` | (Opcional) Caminho para um ícone customizado. |
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
### `BaseDialog`
|
|
183
|
+
Exibe uma caixa de diálogo modal para interações que exigem confirmação do usuário.
|
|
184
|
+
|
|
185
|
+
**Seletor:** `<cao-base-dialog>`
|
|
186
|
+
|
|
187
|
+
**Atributos (Inputs via `config`)**
|
|
188
|
+
|
|
189
|
+
| Atributo | Tipo | Descrição |
|
|
190
|
+
| --- | --- | --- |
|
|
191
|
+
| `type` | `'success' \| 'error' \| 'info' \| 'warning'` | O tipo de diálogo. |
|
|
192
|
+
| `title` | `string` | O título do diálogo. |
|
|
193
|
+
| `logoIcon` | `string` | (Opcional) Caminho para o ícone do logo. |
|
|
194
|
+
| `message` | `string` | A mensagem principal do diálogo. |
|
|
195
|
+
| `confirmButtonText`| `string` | Texto para o botão de confirmação. |
|
|
196
|
+
| `cancelButtonText` | `string` | Texto para o botão de cancelamento. |
|
|
197
|
+
| `onConfirm` | `() => void` | Função a ser executada na confirmação. |
|
|
198
|
+
| `onCancel` | `() => void` | Função a ser executada no cancelamento. |
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
### `FeatureBaseModal`
|
|
203
|
+
Um componente de modal genérico que pode ser customizado.
|
|
204
|
+
|
|
205
|
+
**Seletor:** `<cao-feature-base-modal>`
|
|
206
|
+
|
|
207
|
+
**Atributos (Inputs)**
|
|
208
|
+
|
|
209
|
+
| Atributo | Tipo | Padrão | Descrição |
|
|
210
|
+
| --- | --- | --- | --- |
|
|
211
|
+
| `showModal` | `boolean` | `false` | Controla a visibilidade do modal. |
|
|
212
|
+
| `title` | `string` | `''` | O título do modal. |
|
|
213
|
+
| `data` | `T` | `undefined` | Dados a serem passados para o conteúdo do modal. |
|
|
214
|
+
| `modalTypeClass` | `'default' \| 'custom'` | `'default'` | Classe de tipo de modal. |
|
|
215
|
+
| `modalClass` | `string` | `'modal-default'` | Classe CSS customizada para o modal. |
|
|
216
|
+
| `modalSize` | `'w-100' \| 'w-90' \| ...` | `'w-70'` | Largura do modal. |
|
|
217
|
+
| `closeOnOverlayClick`| `boolean`| `false`| Fecha o modal ao clicar no overlay. |
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
### `Autocomplete`
|
|
222
|
+
Um campo de preenchimento automático que funciona com `ngModel` ou `formControlName`.
|
|
223
|
+
|
|
224
|
+
**Seletor:** `<cao-autocomplete>`
|
|
225
|
+
|
|
226
|
+
**Atributos (Inputs)**
|
|
227
|
+
|
|
228
|
+
| Atributo | Tipo | Descrição |
|
|
229
|
+
| --- | --- | --- |
|
|
230
|
+
| `label` | `string` | O rótulo do campo. |
|
|
231
|
+
| `placeholder` | `string` | O texto de placeholder. |
|
|
232
|
+
| `options` | `IAutoCompleteOption[]` | A lista de opções para o autocomplete. |
|
|
233
|
+
| `control` | `AbstractControl` | O `FormControl` associado. |
|
|
234
|
+
| `dataCy` | `string` | Atributo para testes E2E. |
|
|
235
|
+
| `controlName` | `string` | O nome do controle de formulário. |
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
### `BaseTable`
|
|
240
|
+
Uma tabela de dados com ordenação, paginação e seleção de linhas. A configuração é feita através do `TableService`.
|
|
241
|
+
|
|
242
|
+
**Seletor:** `<cao-base-table>`
|
|
243
|
+
|
|
244
|
+
**Atributos (Inputs)**
|
|
245
|
+
|
|
246
|
+
| Atributo | Tipo | Padrão | Descrição |
|
|
247
|
+
| --- | --- | --- | --- |
|
|
248
|
+
| `customClass` | `string` | `''` | Classe CSS customizada para a tabela. |
|
|
249
|
+
| `pageSizeOptions` | `number[]` | `[5, 10, 20, 50]` | Opções para o número de itens por página. |
|
|
250
|
+
| `showFirstLastButtons`| `boolean`| `true` | Exibe os botões de primeira/última página. |
|
|
251
|
+
| `isPaginatedByServer`| `boolean`| `false` | Define se a paginação é controlada pelo servidor. |
|
|
252
|
+
|
|
253
|
+
**Eventos (Outputs)**
|
|
254
|
+
|
|
255
|
+
| Evento | Tipo | Descrição |
|
|
256
|
+
| --- | --- | --- |
|
|
257
|
+
| `pageChanged` | `EventEmitter<number>` | Emitido quando a página muda. |
|
|
258
|
+
| `pageSizeChanged` | `EventEmitter<number>` | Emitido quando o tamanho da página muda. |
|
|
259
|
+
| `firstPageClicked` | `EventEmitter<void>` | Emitido ao clicar no botão de primeira página. |
|
|
260
|
+
| `lastPageClicked` | `EventEmitter<void>` | Emitido ao clicar no botão de última página. |
|
|
261
|
+
| `selectionChanged` | `EventEmitter<any[]>` | Emitido quando a seleção de linhas muda. |
|
|
262
|
+
| `pageEvent` | `EventEmitter<PageEvent>`| Emitido em qualquer evento de paginação. |
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
### `TableLightPaginated`
|
|
267
|
+
Uma tabela de dados leve com paginação no lado do cliente. Herda a maioria de suas funcionalidades do `BaseTable`.
|
|
268
|
+
|
|
269
|
+
**Seletor:** `<cao-table-light-paginated>`
|
|
270
|
+
|
|
271
|
+
**Atributos (Inputs)**
|
|
272
|
+
|
|
273
|
+
| Atributo | Tipo | Padrão | Descrição |
|
|
274
|
+
| --- | --- | --- | --- |
|
|
275
|
+
| `getColumnCssClass`| `(columnKey: string, value: any) => string` | `null` | Função para obter classes CSS customizadas para células. |
|
|
276
|
+
| `customClass` | `string` | `''` | Classe CSS customizada para a tabela. |
|
|
277
|
+
| `pageSizeOptions` | `number[]` | `[5, 10, 20, 50]` | Opções para o número de itens por página. |
|
|
278
|
+
| `showFirstLastButtons`| `boolean`| `true` | Exibe os botões de primeira/última página. |
|
|
279
|
+
| `isPaginatedByServer`| `boolean`| `true` | Define se a paginação é controlada pelo servidor (sempre `true` neste componente). |
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
**Eventos (Outputs)**
|
|
283
|
+
|
|
284
|
+
| Evento | Tipo | Descrição |
|
|
285
|
+
| --- | --- | --- |
|
|
286
|
+
| `rowClicked` | `EventEmitter<any>` | Emitido quando uma linha da tabela é clicada. |
|
|
287
|
+
| `pageChanged` | `EventEmitter<number>` | Emitido quando a página muda. |
|
|
288
|
+
| `pageSizeChanged` | `EventEmitter<number>` | Emitido quando o tamanho da página muda. |
|
|
289
|
+
| `firstPageClicked` | `EventEmitter<void>` | Emitido ao clicar no botão de primeira página. |
|
|
290
|
+
| `lastPageClicked` | `EventEmitter<void>` | Emitido ao clicar no botão de última página. |
|
|
291
|
+
| `selectionChanged` | `EventEmitter<any[]>` | Emitido quando a seleção de linhas muda. |
|
|
292
|
+
| `pageEvent` | `EventEmitter<PageEvent>`| Emitido em qualquer evento de paginação. |
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
### `BaseTimeRange`
|
|
297
|
+
Um seletor de intervalo de datas.
|
|
298
|
+
|
|
299
|
+
**Seletor:** `<cao-base-time-range>`
|
|
300
|
+
|
|
301
|
+
**Atributos (Inputs)**
|
|
302
|
+
|
|
303
|
+
| Atributo | Tipo | Descrição |
|
|
304
|
+
| --- | --- | --- |
|
|
305
|
+
| `label` | `string` | O rótulo do campo. |
|
|
306
|
+
| `max` | `Date` | A data máxima permitida. |
|
|
307
|
+
| `minDate` | `Date` | A data mínima permitida. |
|
|
308
|
+
| `maxDate` | `Date` | A data máxima permitida para o segundo campo. |
|
|
309
|
+
| `startDate` | `Date` | A data de início pré-selecionada. |
|
|
310
|
+
| `finalDate` | `Date` | A data final pré-selecionada. |
|
|
311
|
+
| `dataCy` | `string` | Atributo para testes E2E. |
|
|
312
|
+
| `controlName` | `string` | O nome do controle de formulário. |
|
|
313
|
+
|
|
314
|
+
**Eventos (Outputs)**
|
|
315
|
+
|
|
316
|
+
| Evento | Tipo | Descrição |
|
|
317
|
+
| --- | --- | --- |
|
|
318
|
+
| `rangeSelected`| `EventEmitter<Date[]>` | Emitido quando um intervalo de datas é selecionado. |
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
### `DropDown`
|
|
323
|
+
Um menu suspenso (dropdown) com busca, que funciona com `ngModel` ou `formControlName`.
|
|
324
|
+
|
|
325
|
+
**Seletor:** `<cao-drop-down>`
|
|
326
|
+
|
|
327
|
+
**Atributos (Inputs)**
|
|
328
|
+
|
|
329
|
+
| Atributo | Tipo | Descrição |
|
|
330
|
+
| --- | --- | --- |
|
|
331
|
+
| `textHeader` | `string` | Texto do cabeçalho do dropdown. |
|
|
332
|
+
| `options` | `IDropDownOption[]` | Lista de opções. |
|
|
333
|
+
| `isDisabled` | `boolean` | Desabilita o componente. |
|
|
334
|
+
| `tooltip` | `string` | Texto para a tooltip. |
|
|
335
|
+
| `dropDirectionInput`| `'up' \| 'down'` | Direção em que o dropdown abrirá. |
|
|
336
|
+
| `control` | `AbstractControl` | O `FormControl` associado. |
|
|
337
|
+
|
|
338
|
+
**Eventos (Outputs)**
|
|
339
|
+
|
|
340
|
+
| Evento | Tipo | Descrição |
|
|
341
|
+
| --- | --- | --- |
|
|
342
|
+
| `itemSelected`| `EventEmitter<IDropDownOption>` | Emitido quando um item é selecionado. |
|
|
343
|
+
|
|
344
|
+
---
|
|
345
|
+
|
|
346
|
+
### `Footer`
|
|
347
|
+
Um rodapé simples para a aplicação.
|
|
348
|
+
|
|
349
|
+
**Seletor:** `<cao-footer>`
|
|
350
|
+
|
|
351
|
+
**Atributos (Inputs)**
|
|
352
|
+
|
|
353
|
+
| Atributo | Tipo | Padrão | Descrição |
|
|
354
|
+
| --- | --- | --- | --- |
|
|
355
|
+
| `currentRoute` | `string` | `undefined` | A rota atual (usado para lógica interna). |
|
|
356
|
+
| `footerText` | `string` | `undefined` | Texto customizado para o rodapé. |
|
|
357
|
+
| `isFixed` | `boolean` | `true` | Fixa o rodapé na parte inferior da página. |
|
|
358
|
+
|
|
359
|
+
---
|
|
360
|
+
|
|
361
|
+
### `LinksButton`
|
|
362
|
+
Exibe uma lista de links de navegação como botões.
|
|
363
|
+
|
|
364
|
+
**Seletor:** `<cao-links-button>`
|
|
365
|
+
|
|
366
|
+
**Atributos (Inputs)**
|
|
367
|
+
|
|
368
|
+
| Atributo | Tipo | Descrição |
|
|
369
|
+
| --- | --- | --- |
|
|
370
|
+
| `navContent` | `Signal<INavContent>` | **Obrigatório.** Objeto com o título e a lista de links. |
|
|
371
|
+
|
|
372
|
+
---
|
|
373
|
+
|
|
374
|
+
### `Paginator`
|
|
375
|
+
Controle de paginação para tabelas ou listas.
|
|
376
|
+
|
|
377
|
+
**Seletor:** `<cao-paginator>`
|
|
378
|
+
|
|
379
|
+
**Atributos (Inputs)**
|
|
380
|
+
|
|
381
|
+
| Atributo | Tipo | Padrão | Descrição |
|
|
382
|
+
| --- | --- | --- | --- |
|
|
383
|
+
| `totalItems` | `number` | `0` | O número total de itens. |
|
|
384
|
+
| `pageSize` | `number` | `10` | O número de itens por página. |
|
|
385
|
+
| `currentPage`| `number` | `1` | A página atual. |
|
|
386
|
+
| `pageSizeOptions`| `number[]` | `[5, 10, 20, 50]` | Opções para o tamanho da página. |
|
|
387
|
+
| `showFirstLastButtons`| `boolean`| `true` | Exibe os botões de primeira/última página. |
|
|
388
|
+
|
|
389
|
+
**Eventos (Outputs)**
|
|
390
|
+
|
|
391
|
+
| Evento | Tipo | Descrição |
|
|
392
|
+
| --- | --- | --- |
|
|
393
|
+
| `pageEvent` | `EventEmitter<PageEvent>` | Emitido em qualquer evento de paginação. |
|
|
394
|
+
|
|
395
|
+
---
|
|
396
|
+
|
|
397
|
+
### `TimePicker`
|
|
398
|
+
Um seletor de horário.
|
|
399
|
+
|
|
400
|
+
**Seletor:** `<cao-time-picker>`
|
|
401
|
+
|
|
402
|
+
**Atributos (Inputs)**
|
|
403
|
+
|
|
404
|
+
| Atributo | Tipo | Descrição |
|
|
405
|
+
| --- | --- | --- |
|
|
406
|
+
| `control` | `FormControl<Date \| null>` | O `FormControl` associado. |
|
|
407
|
+
| `isDisabled` | `boolean` | Desabilita o seletor. |
|
|
408
|
+
| `dataCy` | `string` | Atributo para testes E2E. |
|
|
409
|
+
| `min` | `string` | (setter) Horário mínimo no formato 'HH:mm'. |
|
|
410
|
+
| `max` | `string` | (setter) Horário máximo no formato 'HH:mm'. |
|
|
411
|
+
|
|
412
|
+
**Eventos (Outputs)**
|
|
88
413
|
|
|
89
|
-
|
|
|
90
|
-
|
|
|
91
|
-
| `
|
|
92
|
-
| `BaseAlert` | `<cao-base-alert>` | Um componente para exibir alertas de sucesso, erro, informação ou aviso. |
|
|
93
|
-
| `BaseDialog` | `<cao-base-dialog>` | Exibe uma caixa de diálogo modal para interações que exigem confirmação do usuário. |
|
|
94
|
-
| `Autocomplete` | `<cao-autocomplete>` | Um campo de preenchimento automático com suporte a filtragem de opções. |
|
|
95
|
-
| `BaseTable` | `<cao-base-table>` | Uma tabela de dados com ordenação, paginação e seleção de linhas. |
|
|
96
|
-
| `BaseTimeRange` | `<cao-base-time-range>` | Um seletor de intervalo de datas. |
|
|
97
|
-
| `DropDown` | `<cao-drop-down>` | Um menu suspenso com busca e suporte a ícones. |
|
|
98
|
-
| `Footer` | `<cao-footer>` | Um rodapé simples para a aplicação. |
|
|
99
|
-
| `LinksButton` | `<cao-links-button>` | Exibe uma lista de links de navegação como botões. |
|
|
414
|
+
| Evento | Tipo | Descrição |
|
|
415
|
+
| --- | --- | --- |
|
|
416
|
+
| `timeChange` | `EventEmitter<Date>` | Emitido quando o horário é alterado. |
|
|
100
417
|
|
|
101
418
|
---
|
|
102
419
|
|