@c80/ui 1.0.56 → 1.0.58
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/esm2022/index.js +12 -8
- package/esm2022/index.js.map +1 -1
- package/esm2022/lib/action-list/action-list.component.js +7 -0
- package/esm2022/lib/action-list/action-list.component.js.map +1 -1
- package/esm2022/lib/action-list/action-list.types.js.map +1 -1
- package/esm2022/lib/card-level/card-level.component.js +3 -0
- package/esm2022/lib/card-level/card-level.component.js.map +1 -1
- package/esm2022/lib/header/header.component.js +8 -2
- package/esm2022/lib/header/header.component.js.map +1 -1
- package/esm2022/lib/header/header.types.js.map +1 -1
- package/esm2022/lib/icon/icon.component.js +10 -2
- package/esm2022/lib/icon/icon.component.js.map +1 -1
- package/esm2022/lib/icon/icon.definitions.js +34 -1
- package/esm2022/lib/icon/icon.definitions.js.map +1 -1
- package/esm2022/lib/icon/icon.types.js.map +1 -1
- package/esm2022/lib/icon/icon.utils.js +7 -0
- package/esm2022/lib/icon/icon.utils.js.map +1 -1
- package/esm2022/lib/icon/theme.service.js +17 -0
- package/esm2022/lib/icon/theme.service.js.map +1 -1
- package/esm2022/lib/info-list/info-list.component.js +3 -0
- package/esm2022/lib/info-list/info-list.component.js.map +1 -1
- package/esm2022/lib/input-field/input-field.component.js +19 -2
- package/esm2022/lib/input-field/input-field.component.js.map +1 -1
- package/esm2022/lib/input-search/c80-input-search.component.js +26 -0
- package/esm2022/lib/input-search/c80-input-search.component.js.map +1 -0
- package/esm2022/lib/input-search/index.js +2 -0
- package/esm2022/lib/input-search/index.js.map +1 -0
- package/esm2022/lib/modal/modal.component.js +59 -2
- package/esm2022/lib/modal/modal.component.js.map +1 -1
- package/esm2022/lib/modal/modal.service.js +60 -3
- package/esm2022/lib/modal/modal.service.js.map +1 -1
- package/esm2022/lib/profile-stats/profile-stats.component.js +6 -2
- package/esm2022/lib/profile-stats/profile-stats.component.js.map +1 -1
- package/esm2022/lib/profile-stats/profile-stats.types.js.map +1 -1
- package/esm2022/lib/rating-display/index.js +2 -0
- package/esm2022/lib/rating-display/index.js.map +1 -0
- package/esm2022/lib/rating-display/rating-display.component.js +24 -0
- package/esm2022/lib/rating-display/rating-display.component.js.map +1 -0
- package/esm2022/lib/rating-stars/index.js +2 -0
- package/esm2022/lib/rating-stars/index.js.map +1 -0
- package/esm2022/lib/rating-stars/rating-stars.component.js +33 -0
- package/esm2022/lib/rating-stars/rating-stars.component.js.map +1 -0
- package/esm2022/lib/select/select.component.js +27 -0
- package/esm2022/lib/select/select.component.js.map +1 -1
- package/esm2022/lib/snackbar/snackbar.component.js +19 -2
- package/esm2022/lib/snackbar/snackbar.component.js.map +1 -1
- package/esm2022/lib/snackbar/snackbar.service.js +9 -0
- package/esm2022/lib/snackbar/snackbar.service.js.map +1 -1
- package/esm2022/lib/spinner/index.js +2 -0
- package/esm2022/lib/spinner/index.js.map +1 -0
- package/esm2022/lib/spinner/spinner.component.js +22 -0
- package/esm2022/lib/spinner/spinner.component.js.map +1 -0
- package/esm2022/lib/stat-card/stat-card.component.js +3 -0
- package/esm2022/lib/stat-card/stat-card.component.js.map +1 -1
- package/esm2022/lib/tab/c80-tab.component.js +19 -2
- package/esm2022/lib/tab/c80-tab.component.js.map +1 -1
- package/esm2022/lib/tab/directives/c80-tab-item.directive.js +3 -0
- package/esm2022/lib/tab/directives/c80-tab-item.directive.js.map +1 -1
- package/esm2022/lib/tab/directives/c80-tab-label.directive.js +3 -0
- package/esm2022/lib/tab/directives/c80-tab-label.directive.js.map +1 -1
- package/esm2022/lib/table/table-column-visibility.service.js +27 -34
- package/esm2022/lib/table/table-column-visibility.service.js.map +1 -1
- package/esm2022/lib/table/table-crud-state.service.js +7 -7
- package/esm2022/lib/table/table-crud-state.service.js.map +1 -1
- package/esm2022/lib/table/table-data-converter.service.js +18 -10
- package/esm2022/lib/table/table-data-converter.service.js.map +1 -1
- package/esm2022/lib/table/table-data-utils.service.js +17 -1
- package/esm2022/lib/table/table-data-utils.service.js.map +1 -1
- package/esm2022/lib/table/table-selection.service.js +14 -3
- package/esm2022/lib/table/table-selection.service.js.map +1 -1
- package/esm2022/lib/table/table.component.js +60 -18
- package/esm2022/lib/table/table.component.js.map +1 -1
- package/esm2022/lib/table/table.types.js.map +1 -1
- package/esm2022/lib/table/table.utils.js +7 -0
- package/esm2022/lib/table/table.utils.js.map +1 -1
- package/index.d.ts +12 -8
- package/lib/action-list/action-list.component.d.ts +7 -0
- package/lib/action-list/action-list.types.d.ts +2 -1
- package/lib/card-level/card-level.component.d.ts +3 -0
- package/lib/header/header.component.d.ts +7 -1
- package/lib/header/header.types.d.ts +2 -0
- package/lib/icon/icon.component.d.ts +9 -1
- package/lib/icon/icon.types.d.ts +2 -0
- package/lib/icon/icon.utils.d.ts +7 -0
- package/lib/icon/theme.service.d.ts +17 -0
- package/lib/info-list/info-list.component.d.ts +3 -0
- package/lib/input-field/input-field.component.d.ts +17 -0
- package/lib/input-search/c80-input-search.component.d.ts +16 -0
- package/lib/input-search/index.d.ts +1 -0
- package/lib/modal/modal.component.d.ts +57 -0
- package/lib/modal/modal.service.d.ts +72 -3
- package/lib/profile-stats/profile-stats.component.d.ts +4 -0
- package/lib/profile-stats/profile-stats.types.d.ts +6 -2
- package/lib/rating-display/index.d.ts +1 -0
- package/lib/rating-display/rating-display.component.d.ts +12 -0
- package/lib/rating-stars/index.d.ts +1 -0
- package/lib/rating-stars/rating-stars.component.d.ts +19 -0
- package/lib/select/select.component.d.ts +27 -0
- package/lib/snackbar/snackbar.component.d.ts +18 -1
- package/lib/snackbar/snackbar.service.d.ts +9 -0
- package/lib/spinner/index.d.ts +1 -0
- package/lib/spinner/spinner.component.d.ts +12 -0
- package/lib/stat-card/stat-card.component.d.ts +3 -0
- package/lib/tab/c80-tab.component.d.ts +17 -0
- package/lib/tab/directives/c80-tab-item.directive.d.ts +3 -0
- package/lib/tab/directives/c80-tab-label.directive.d.ts +3 -0
- package/lib/table/table-column-visibility.service.d.ts +19 -6
- package/lib/table/table-crud-state.service.d.ts +23 -13
- package/lib/table/table-data-converter.service.d.ts +2 -0
- package/lib/table/table-data-utils.service.d.ts +7 -0
- package/lib/table/table-selection.service.d.ts +14 -12
- package/lib/table/table.component.d.ts +3 -0
- package/lib/table/table.types.d.ts +1 -0
- package/lib/table/table.utils.d.ts +2 -0
- package/package.json +1 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Transform function para convertir valores string/boolean a boolean
|
|
3
3
|
* Usado en @Input() con transform para habilitar sintaxis de atributos booleanos
|
|
4
|
+
* @param value
|
|
5
|
+
* @returns Valor convertido a boolean
|
|
4
6
|
* @example [searchable]="true" o simplemente searchable
|
|
5
7
|
*/
|
|
6
8
|
export function booleanAttribute(value) {
|
|
@@ -53,6 +55,9 @@ function convertInputValueByType(rawValue, type) {
|
|
|
53
55
|
}
|
|
54
56
|
/**
|
|
55
57
|
* Convierte string a number o integer
|
|
58
|
+
* @param value
|
|
59
|
+
* @param isInteger
|
|
60
|
+
* @returns Número convertido o undefined si no es válido
|
|
56
61
|
*/
|
|
57
62
|
function convertToNumber(value, isInteger) {
|
|
58
63
|
if (value === '' || value === null || value === undefined) {
|
|
@@ -66,6 +71,8 @@ function convertToNumber(value, isInteger) {
|
|
|
66
71
|
}
|
|
67
72
|
/**
|
|
68
73
|
* Convierte valor de enum (intenta convertir a número si es posible)
|
|
74
|
+
* @param value
|
|
75
|
+
* @returns Valor convertido a número si es posible, sino string
|
|
69
76
|
*/
|
|
70
77
|
function convertEnumValue(value) {
|
|
71
78
|
const num = Number(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.utils.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/table/table.utils.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"table.utils.js","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/table/table.utils.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAuB;IACtD,OAAO,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC;AAC5D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,MAAM,KAAK,GAAG,GAA2B,CAAC;IAC1C,OAAO,KAAK,EAAE,OAAO,IAAI,uBAAuB,CAAC;AACnD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAAY,EAAE,GAAiB;IAC3D,IAAI,GAAG,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAQ,KAAK,CAAC,MAA2B,CAAC,OAAO,CAAC;IACpD,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAA8C,CAAC;IACpE,MAAM,QAAQ,GAAG,MAAM,EAAE,KAAK,CAAC;IAE/B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,uBAAuB,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAC9B,QAAgB,EAChB,IAAiF;IAEjF,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACzE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,eAAe,CAAC,QAAQ,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,KAAa,EAAE,SAAkB;IACxD,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAoC,KAAa,EAAE,GAAM;IAChF,MAAM,EAAE,GAAG,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,IAAI,IAAI,GAAG;QACtD,CAAC,CAAE,GAA+B,CAAC,IAAI,CAAC;QACxC,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAyB,EACzB,GAAM;IAEN,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAyB;IACxD,OAAO,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC;AACvC,CAAC","sourcesContent":["import type { TableColDef, CustomTableAction } from './table.types';\n\n/**\n * Transform function para convertir valores string/boolean a boolean\n * Usado en @Input() con transform para habilitar sintaxis de atributos booleanos\n * @param value\n * @returns Valor convertido a boolean\n * @example [searchable]=\"true\" o simplemente searchable\n */\nexport function booleanAttribute(value: boolean | string): boolean {\n return value === '' || value === true || value === 'true';\n}\n\n/**\n * Extrae mensaje de error de forma segura desde un objeto unknown\n * @param err - Error desconocido (puede ser Error, string, object, etc.)\n * @returns Mensaje de error legible\n */\nexport function getErrorMessage(err: unknown): string {\n const error = err as { message?: string };\n return error?.message ?? 'Error al cargar datos';\n}\n\n/**\n * Obtiene el valor de un input HTML según el tipo de columna\n * IMPORTANTE: Convierte el valor al tipo correcto antes de retornarlo\n * @param event - Evento del input\n * @param col - Definición de columna (opcional)\n * @returns Valor extraído y convertido según el tipo de columna\n */\nexport function getInputValue(event: Event, col?: TableColDef): unknown {\n if (col?.type === 'boolean') {\n return (event.target as HTMLInputElement).checked;\n }\n\n const target = event.target as HTMLInputElement | HTMLSelectElement;\n const rawValue = target?.value;\n\n if (!col) {\n return rawValue;\n }\n\n return convertInputValueByType(rawValue, col.type);\n}\n\n/**\n * Convierte un valor de input según el tipo de columna especificado\n * @param rawValue - Valor crudo del input (string)\n * @param type - Tipo de columna\n * @returns Valor convertido al tipo apropiado\n */\nfunction convertInputValueByType(\n rawValue: string,\n type?: 'string' | 'number' | 'integer' | 'boolean' | 'password' | 'enum' | 'date'\n): unknown {\n if (!type || type === 'string' || type === 'password' || type === 'date') {\n return rawValue;\n }\n\n if (type === 'integer' || type === 'number') {\n return convertToNumber(rawValue, type === 'integer');\n }\n\n if (type === 'enum') {\n return convertEnumValue(rawValue);\n }\n\n return rawValue;\n}\n\n/**\n * Convierte string a number o integer\n * @param value\n * @param isInteger\n * @returns Número convertido o undefined si no es válido\n */\nfunction convertToNumber(value: string, isInteger: boolean): number | undefined {\n if (value === '' || value === null || value === undefined) {\n return undefined;\n }\n const num = Number(value);\n if (Number.isNaN(num)) {\n return undefined;\n }\n return isInteger ? Math.floor(num) : num;\n}\n\n/**\n * Convierte valor de enum (intenta convertir a número si es posible)\n * @param value\n * @returns Valor convertido a número si es posible, sino string\n */\nfunction convertEnumValue(value: string): string | number {\n const num = Number(value);\n return Number.isNaN(num) ? value : num;\n}\n\n/**\n * Extrae el ID de una fila para usar como trackBy en ngFor\n * @param index - Índice de la fila\n * @param row - Fila de datos\n * @returns ID como string o índice como fallback\n */\nexport function trackById<T extends Record<string, unknown>>(index: number, row: T): string | number {\n const id = row && typeof row === 'object' && 'id' in row\n ? (row as Record<string, unknown>)['id']\n : undefined;\n return typeof id === 'string' ? id : index;\n}\n\n/**\n * Verifica si una acción debe mostrarse para una fila específica\n * CREATE se excluye porque se maneja con el botón \"+\" en el header\n * @param action - Acción a verificar\n * @param row - Fila de datos\n * @returns true si la acción debe mostrarse\n */\nexport function shouldShowAction<T extends Record<string, unknown>>(\n action: CustomTableAction,\n row: T\n): boolean {\n if (action.name === 'create') {\n return false;\n }\n return !action.condition || action.condition(row);\n}\n\n/**\n * Obtiene el tooltip de una acción (usa tooltip personalizado o name por defecto)\n * @param action - Acción\n * @returns Texto del tooltip\n */\nexport function getActionTooltip(action: CustomTableAction): string {\n return action.tooltip ?? action.name;\n}\n"]}
|
package/index.d.ts
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
export * from './lib/
|
|
2
|
-
export * from './lib/icon';
|
|
3
|
-
export * from './lib/stat-card';
|
|
1
|
+
export * from './lib/action-list';
|
|
4
2
|
export * from './lib/card-level';
|
|
3
|
+
export * from './lib/header';
|
|
4
|
+
export * from './lib/icon';
|
|
5
|
+
export * from './lib/info-list';
|
|
6
|
+
export * from './lib/input-field';
|
|
7
|
+
export * from './lib/input-search';
|
|
5
8
|
export * from './lib/modal';
|
|
9
|
+
export * from './lib/profile-stats';
|
|
10
|
+
export * from './lib/rating-display';
|
|
11
|
+
export * from './lib/rating-stars';
|
|
6
12
|
export * from './lib/select';
|
|
7
13
|
export * from './lib/snackbar';
|
|
14
|
+
export * from './lib/spinner';
|
|
15
|
+
export * from './lib/stat-card';
|
|
8
16
|
export * from './lib/tab';
|
|
9
|
-
export * from './lib/
|
|
10
|
-
export * from './lib/action-list';
|
|
11
|
-
export * from './lib/header';
|
|
12
|
-
export * from './lib/profile-stats';
|
|
13
|
-
export * from './lib//input-field';
|
|
17
|
+
export * from './lib/table';
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import type { ActionItem } from './action-list.types';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
3
6
|
export declare class ActionListComponent {
|
|
4
7
|
title: import("@angular/core").InputSignal<string>;
|
|
5
8
|
actions: import("@angular/core").InputSignal<ActionItem[]>;
|
|
6
9
|
actionClick: import("@angular/core").OutputEmitterRef<string>;
|
|
10
|
+
/**
|
|
11
|
+
*
|
|
12
|
+
* @param action
|
|
13
|
+
*/
|
|
7
14
|
protected onActionClick(action: ActionItem): void;
|
|
8
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<ActionListComponent, never>;
|
|
9
16
|
static ɵcmp: i0.ɵɵComponentDeclaration<ActionListComponent, "c80-action-list", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; }, { "actionClick": "actionClick"; }, never, never, true, never>;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { CardLevelData } from './card-level.interface';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
3
6
|
export declare class CardLevelComponent {
|
|
4
7
|
cardLevelData: import("@angular/core").InputSignal<CardLevelData>;
|
|
5
8
|
size: import("@angular/core").InputSignal<number>;
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import type { HeaderConfig } from './header.types';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
3
6
|
export declare class HeaderComponent {
|
|
4
7
|
private readonly location;
|
|
5
8
|
config: import("@angular/core").InputSignal<HeaderConfig>;
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
6
12
|
protected onBackClick(): void;
|
|
7
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<HeaderComponent, never>;
|
|
8
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<HeaderComponent, "c80-header", never, { "config": { "alias": "config"; "required": true; "isSignal": true; }; }, {}, never,
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<HeaderComponent, "c80-header", never, { "config": { "alias": "config"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
9
15
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { ColorType, ButtonType } from './icon.types';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
3
6
|
export declare class IconComponent {
|
|
4
7
|
private readonly themeService;
|
|
5
8
|
readonly icon: import("@angular/core").InputSignal<string>;
|
|
@@ -17,18 +20,23 @@ export declare class IconComponent {
|
|
|
17
20
|
readonly iconSize: import("@angular/core").Signal<number>;
|
|
18
21
|
readonly isDarkMode: import("@angular/core").Signal<boolean>;
|
|
19
22
|
readonly iconColor: import("@angular/core").Signal<string>;
|
|
20
|
-
readonly iconOpacity: import("@angular/core").Signal<0.5 | 0.7
|
|
23
|
+
readonly iconOpacity: import("@angular/core").Signal<1 | 0.5 | 0.7>;
|
|
21
24
|
readonly iconDefinition: import("@angular/core").Signal<import("@c80/ui").IconDefinition>;
|
|
22
25
|
readonly iconPath: import("@angular/core").Signal<string>;
|
|
23
26
|
readonly additionalShapes: import("@angular/core").Signal<import("@c80/ui").ShapeAttributes[]>;
|
|
24
27
|
readonly shouldFillIcon: import("@angular/core").Signal<boolean>;
|
|
25
28
|
readonly multiColorIcon: import("@angular/core").Signal<import("@c80/ui").MultiColorIconConfig | undefined>;
|
|
26
29
|
readonly hasMultiPaths: import("@angular/core").Signal<boolean>;
|
|
30
|
+
readonly iconStrokeWidth: import("@angular/core").Signal<string>;
|
|
27
31
|
readonly svgStrokeAttrs: {
|
|
28
32
|
readonly strokeWidth: "1";
|
|
29
33
|
readonly strokeLinecap: "round";
|
|
30
34
|
readonly strokeLinejoin: "round";
|
|
31
35
|
};
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @param event
|
|
39
|
+
*/
|
|
32
40
|
onButtonClick(event: Event): void;
|
|
33
41
|
static ɵfac: i0.ɵɵFactoryDeclaration<IconComponent, never>;
|
|
34
42
|
static ɵcmp: i0.ɵɵComponentDeclaration<IconComponent, "c80-icon", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "customColor": { "alias": "customColor"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "button": { "alias": "button"; "required": false; "isSignal": true; }; "border": { "alias": "border"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "textLeft": { "alias": "textLeft"; "required": false; "isSignal": true; }; "textRight": { "alias": "textRight"; "required": false; "isSignal": true; }; "dark": { "alias": "dark"; "required": false; "isSignal": true; }; }, { "iconClick": "iconClick"; }, never, never, true, never>;
|
package/lib/icon/icon.types.d.ts
CHANGED
|
@@ -40,6 +40,8 @@ export interface IconDefinition {
|
|
|
40
40
|
multiColor?: MultiColorIconConfig;
|
|
41
41
|
/** Especifica si el path principal debe ser relleno (fill) en lugar de outline (stroke) */
|
|
42
42
|
fill?: boolean;
|
|
43
|
+
/** Grosor del stroke personalizado (por defecto '1') */
|
|
44
|
+
strokeWidth?: string;
|
|
43
45
|
}
|
|
44
46
|
export type IconType = keyof typeof ICON_DEFINITIONS;
|
|
45
47
|
export {};
|
package/lib/icon/icon.utils.d.ts
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import type { IconType } from './icon.types';
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param val
|
|
5
|
+
* @returns Valor convertido a boolean
|
|
6
|
+
*/
|
|
2
7
|
export declare function transformToBoolean(val: boolean | string | null | undefined): boolean;
|
|
3
8
|
/**
|
|
4
9
|
* Determina si un icono debería usar fill basado en su definición explícita
|
|
10
|
+
* @param iconName
|
|
11
|
+
* @returns true si el icono debe usar fill
|
|
5
12
|
*/
|
|
6
13
|
export declare function shouldIconUseFill(iconName: IconType): boolean;
|
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
*/
|
|
2
5
|
export declare class ThemeService {
|
|
3
6
|
readonly isDark: import("@angular/core").WritableSignal<boolean>;
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* @returns true si el tema es oscuro
|
|
10
|
+
*/
|
|
4
11
|
private getInitialTheme;
|
|
12
|
+
/**
|
|
13
|
+
*
|
|
14
|
+
*/
|
|
5
15
|
toggle(): void;
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* @param isDark
|
|
19
|
+
*/
|
|
6
20
|
private applyTheme;
|
|
21
|
+
/**
|
|
22
|
+
*
|
|
23
|
+
*/
|
|
7
24
|
initialize(): void;
|
|
8
25
|
static ɵfac: i0.ɵɵFactoryDeclaration<ThemeService, never>;
|
|
9
26
|
static ɵprov: i0.ɵɵInjectableDeclaration<ThemeService>;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { InfoItem } from './info-list.types';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
3
6
|
export declare class InfoListComponent {
|
|
4
7
|
readonly items: import("@angular/core").InputSignal<InfoItem[]>;
|
|
5
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<InfoListComponent, never>;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
*/
|
|
2
5
|
export declare class InputFieldComponent {
|
|
3
6
|
readonly label: import("@angular/core").WritableSignal<string>;
|
|
4
7
|
readonly value: import("@angular/core").WritableSignal<string>;
|
|
@@ -10,9 +13,23 @@ export declare class InputFieldComponent {
|
|
|
10
13
|
valueChange: import("@angular/core").OutputEmitterRef<string>;
|
|
11
14
|
enterPressed: import("@angular/core").OutputEmitterRef<void>;
|
|
12
15
|
protected readonly isFocused: import("@angular/core").WritableSignal<boolean>;
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* @param event
|
|
19
|
+
*/
|
|
13
20
|
protected onValueChange(event: Event): void;
|
|
21
|
+
/**
|
|
22
|
+
*
|
|
23
|
+
*/
|
|
14
24
|
protected onFocus(): void;
|
|
25
|
+
/**
|
|
26
|
+
*
|
|
27
|
+
*/
|
|
15
28
|
protected onBlur(): void;
|
|
29
|
+
/**
|
|
30
|
+
*
|
|
31
|
+
* @param event
|
|
32
|
+
*/
|
|
16
33
|
protected onKeyDown(event: KeyboardEvent): void;
|
|
17
34
|
static ɵfac: i0.ɵɵFactoryDeclaration<InputFieldComponent, never>;
|
|
18
35
|
static ɵcmp: i0.ɵɵComponentDeclaration<InputFieldComponent, "c80-input-field", never, {}, { "valueChange": "valueChange"; "enterPressed": "enterPressed"; }, never, never, true, never>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
*/
|
|
5
|
+
export declare class InputSearchComponent {
|
|
6
|
+
readonly value: import("@angular/core").InputSignal<string>;
|
|
7
|
+
readonly placeholder: import("@angular/core").InputSignal<string>;
|
|
8
|
+
readonly inputChange: import("@angular/core").OutputEmitterRef<string>;
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* @param event
|
|
12
|
+
*/
|
|
13
|
+
protected onInput(event: Event): void;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InputSearchComponent, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InputSearchComponent, "c80-input-search", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, { "inputChange": "inputChange"; }, never, never, true, never>;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './c80-input-search.component';
|
|
@@ -14,25 +14,82 @@ export interface ModalResult {
|
|
|
14
14
|
action: 'confirm' | 'cancel' | 'yes' | 'no';
|
|
15
15
|
confirmed: boolean;
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
*/
|
|
17
20
|
export declare class ModalComponent {
|
|
18
21
|
private readonly modalService;
|
|
19
22
|
readonly isOpen: import("@angular/core").Signal<boolean>;
|
|
20
23
|
readonly config: import("@angular/core").Signal<ModalConfig>;
|
|
21
24
|
readonly isVisible: import("@angular/core").Signal<boolean>;
|
|
25
|
+
/**
|
|
26
|
+
*
|
|
27
|
+
*/
|
|
22
28
|
constructor();
|
|
29
|
+
/**
|
|
30
|
+
* Maneja la confirmación del modal
|
|
31
|
+
*/
|
|
23
32
|
onConfirm(): void;
|
|
33
|
+
/**
|
|
34
|
+
* Maneja la cancelación del modal
|
|
35
|
+
*/
|
|
24
36
|
onCancel(): void;
|
|
37
|
+
/**
|
|
38
|
+
* Maneja la respuesta afirmativa del modal
|
|
39
|
+
*/
|
|
25
40
|
onYes(): void;
|
|
41
|
+
/**
|
|
42
|
+
* Maneja la respuesta negativa del modal
|
|
43
|
+
*/
|
|
26
44
|
onNo(): void;
|
|
45
|
+
/**
|
|
46
|
+
* Cierra el modal actual
|
|
47
|
+
*/
|
|
27
48
|
closeModal(): void;
|
|
49
|
+
/**
|
|
50
|
+
* Maneja el clic en el backdrop del modal
|
|
51
|
+
* @param event - Evento de clic
|
|
52
|
+
*/
|
|
28
53
|
onBackdropClick(event: Event): void;
|
|
54
|
+
/**
|
|
55
|
+
*
|
|
56
|
+
* @returns Clase CSS del botón primario según el tipo de modal
|
|
57
|
+
*/
|
|
29
58
|
getPrimaryButtonClass(): string;
|
|
59
|
+
/**
|
|
60
|
+
*
|
|
61
|
+
* @returns true si debe mostrar botones Sí/No
|
|
62
|
+
*/
|
|
30
63
|
showYesNoButtons(): boolean;
|
|
64
|
+
/**
|
|
65
|
+
*
|
|
66
|
+
* @returns true si debe mostrar botones Confirmar/Cancelar
|
|
67
|
+
*/
|
|
31
68
|
showConfirmButtons(): boolean;
|
|
69
|
+
/**
|
|
70
|
+
*
|
|
71
|
+
* @returns true si debe mostrar botón OK
|
|
72
|
+
*/
|
|
32
73
|
showOkButton(): boolean;
|
|
74
|
+
/**
|
|
75
|
+
*
|
|
76
|
+
* @returns Texto del botón de confirmación
|
|
77
|
+
*/
|
|
33
78
|
getConfirmText(): string;
|
|
79
|
+
/**
|
|
80
|
+
*
|
|
81
|
+
* @returns Texto del botón de cancelar
|
|
82
|
+
*/
|
|
34
83
|
getCancelText(): string;
|
|
84
|
+
/**
|
|
85
|
+
*
|
|
86
|
+
* @returns Texto del botón Sí
|
|
87
|
+
*/
|
|
35
88
|
getYesText(): string;
|
|
89
|
+
/**
|
|
90
|
+
*
|
|
91
|
+
* @returns Texto del botón No
|
|
92
|
+
*/
|
|
36
93
|
getNoText(): string;
|
|
37
94
|
static ɵfac: i0.ɵɵFactoryDeclaration<ModalComponent, never>;
|
|
38
95
|
static ɵcmp: i0.ɵɵComponentDeclaration<ModalComponent, "c80-modal", never, {}, {}, never, never, true, never>;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { ModalConfig, ModalResult } from './modal.component';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
3
6
|
export declare class ModalService {
|
|
4
7
|
private readonly isOpen;
|
|
5
8
|
private readonly config;
|
|
@@ -8,13 +11,79 @@ export declare class ModalService {
|
|
|
8
11
|
isOpen: import("@angular/core").Signal<boolean>;
|
|
9
12
|
config: import("@angular/core").Signal<ModalConfig>;
|
|
10
13
|
};
|
|
14
|
+
/**
|
|
15
|
+
*
|
|
16
|
+
* @param config
|
|
17
|
+
*/
|
|
11
18
|
showModal(config: ModalConfig): Promise<ModalResult>;
|
|
12
|
-
|
|
13
|
-
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
* @param options
|
|
22
|
+
* @param options.title
|
|
23
|
+
* @param options.message
|
|
24
|
+
* @param options.confirmText
|
|
25
|
+
* @param options.cancelText
|
|
26
|
+
* @returns Promise que resuelve true si se confirmó
|
|
27
|
+
*/
|
|
28
|
+
confirm(options: {
|
|
29
|
+
title: string;
|
|
30
|
+
message: string;
|
|
31
|
+
confirmText?: string;
|
|
32
|
+
cancelText?: string;
|
|
33
|
+
}): Promise<boolean>;
|
|
34
|
+
/**
|
|
35
|
+
*
|
|
36
|
+
* @param options
|
|
37
|
+
* @param options.title
|
|
38
|
+
* @param options.message
|
|
39
|
+
* @param options.yesText
|
|
40
|
+
* @param options.noText
|
|
41
|
+
* @returns Promise que resuelve true si se eligió Sí
|
|
42
|
+
*/
|
|
43
|
+
yesNo(options: {
|
|
44
|
+
title: string;
|
|
45
|
+
message: string;
|
|
46
|
+
yesText?: string;
|
|
47
|
+
noText?: string;
|
|
48
|
+
}): Promise<boolean>;
|
|
49
|
+
/**
|
|
50
|
+
*
|
|
51
|
+
* @param title
|
|
52
|
+
* @param message
|
|
53
|
+
* @returns Promise que resuelve cuando se cierra el modal
|
|
54
|
+
*/
|
|
14
55
|
info(title: string, message: string): Promise<void>;
|
|
15
|
-
|
|
56
|
+
/**
|
|
57
|
+
*
|
|
58
|
+
* @param options
|
|
59
|
+
* @param options.title
|
|
60
|
+
* @param options.message
|
|
61
|
+
* @param options.confirmText
|
|
62
|
+
* @param options.cancelText
|
|
63
|
+
* @returns Promise que resuelve true si se confirmó
|
|
64
|
+
*/
|
|
65
|
+
warning(options: {
|
|
66
|
+
title: string;
|
|
67
|
+
message: string;
|
|
68
|
+
confirmText?: string;
|
|
69
|
+
cancelText?: string;
|
|
70
|
+
}): Promise<boolean>;
|
|
71
|
+
/**
|
|
72
|
+
*
|
|
73
|
+
* @param title
|
|
74
|
+
* @param message
|
|
75
|
+
* @param confirmText
|
|
76
|
+
* @returns Promise que resuelve true si se confirmó
|
|
77
|
+
*/
|
|
16
78
|
error(title: string, message: string, confirmText?: string): Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* Maneja el resultado del modal y resuelve la promesa
|
|
81
|
+
* @param result - Resultado de la acción del modal
|
|
82
|
+
*/
|
|
17
83
|
handleResult(result: ModalResult): void;
|
|
84
|
+
/**
|
|
85
|
+
* Cierra el modal actual
|
|
86
|
+
*/
|
|
18
87
|
closeModal(): void;
|
|
19
88
|
static ɵfac: i0.ɵɵFactoryDeclaration<ModalService, never>;
|
|
20
89
|
static ɵprov: i0.ɵɵInjectableDeclaration<ModalService>;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { StatItem } from './profile-stats.types';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Componente para mostrar estadísticas del usuario
|
|
5
|
+
* Soporta valores con etiquetas o botones de acción
|
|
6
|
+
*/
|
|
3
7
|
export declare class ProfileStatsComponent {
|
|
4
8
|
stats: import("@angular/core").InputSignal<StatItem[]>;
|
|
5
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<ProfileStatsComponent, never>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './rating-display.component';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
*/
|
|
5
|
+
export declare class RatingDisplayComponent {
|
|
6
|
+
rating: import("@angular/core").InputSignal<number>;
|
|
7
|
+
size: import("@angular/core").InputSignal<number>;
|
|
8
|
+
spacing: import("@angular/core").InputSignal<number>;
|
|
9
|
+
protected readonly stars: import("@angular/core").Signal<unknown[]>;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RatingDisplayComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RatingDisplayComponent, "c80-rating-display", never, { "rating": { "alias": "rating"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "spacing": { "alias": "spacing"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './rating-stars.component';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
*/
|
|
5
|
+
export declare class RatingStarsComponent {
|
|
6
|
+
rating: import("@angular/core").InputSignal<number>;
|
|
7
|
+
showLabel: import("@angular/core").InputSignal<boolean>;
|
|
8
|
+
readonly: import("@angular/core").InputSignal<boolean>;
|
|
9
|
+
ratingChange: import("@angular/core").OutputEmitterRef<number>;
|
|
10
|
+
protected readonly currentRating: import("@angular/core").Signal<number>;
|
|
11
|
+
protected readonly stars: import("@angular/core").Signal<boolean[]>;
|
|
12
|
+
/**
|
|
13
|
+
*
|
|
14
|
+
* @param rating
|
|
15
|
+
*/
|
|
16
|
+
protected onStarClick(rating: number): void;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RatingStarsComponent, never>;
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RatingStarsComponent, "c80-rating-stars", never, { "rating": { "alias": "rating"; "required": false; "isSignal": true; }; "showLabel": { "alias": "showLabel"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; }, { "ratingChange": "ratingChange"; }, never, never, true, never>;
|
|
19
|
+
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { type ElementRef } from '@angular/core';
|
|
2
2
|
import type { SelectOption } from './select.model';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
4
7
|
export declare class SelectComponent<T = string> {
|
|
5
8
|
readonly label: import("@angular/core").InputSignal<string>;
|
|
6
9
|
readonly placeholder: import("@angular/core").InputSignal<string>;
|
|
@@ -18,12 +21,36 @@ export declare class SelectComponent<T = string> {
|
|
|
18
21
|
readonly controlId: string;
|
|
19
22
|
readonly searchInput: import("@angular/core").Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
20
23
|
readonly filteredOptions: import("@angular/core").Signal<SelectOption<T>[]>;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
*/
|
|
21
27
|
toggleDropdown(): void;
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
* @param option
|
|
31
|
+
*/
|
|
22
32
|
selectOption(option: SelectOption<T>): void;
|
|
33
|
+
/**
|
|
34
|
+
*
|
|
35
|
+
*/
|
|
23
36
|
selectNull(): void;
|
|
37
|
+
/**
|
|
38
|
+
*
|
|
39
|
+
* @returns Etiqueta del valor seleccionado o placeholder
|
|
40
|
+
*/
|
|
24
41
|
getSelectedLabel(): string;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
*/
|
|
25
45
|
closeDropdown(): void;
|
|
46
|
+
/**
|
|
47
|
+
*
|
|
48
|
+
* @param term
|
|
49
|
+
*/
|
|
26
50
|
onSearchChange(term: string): void;
|
|
51
|
+
/**
|
|
52
|
+
*
|
|
53
|
+
*/
|
|
27
54
|
clearSearch(): void;
|
|
28
55
|
static ɵfac: i0.ɵɵFactoryDeclaration<SelectComponent<any>, never>;
|
|
29
56
|
static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent<any>, "c80-select", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "filterable": { "alias": "filterable"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "opened": "opened"; }, never, never, true, never>;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { SnackbarData } from './snackbar.model';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
3
6
|
export declare class SnackbarComponent {
|
|
4
7
|
private readonly elementRef;
|
|
5
8
|
private readonly renderer;
|
|
@@ -8,10 +11,24 @@ export declare class SnackbarComponent {
|
|
|
8
11
|
readonly visible: import("@angular/core").WritableSignal<boolean>;
|
|
9
12
|
private timerId?;
|
|
10
13
|
readonly panelClasses: import("@angular/core").Signal<string>;
|
|
14
|
+
/**
|
|
15
|
+
*
|
|
16
|
+
* @param data
|
|
17
|
+
*/
|
|
11
18
|
show(data: SnackbarData): void;
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
*/
|
|
12
22
|
dismiss(): void;
|
|
23
|
+
/**
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
13
26
|
private clearTimer;
|
|
27
|
+
/**
|
|
28
|
+
*
|
|
29
|
+
* @param config
|
|
30
|
+
*/
|
|
14
31
|
private applyPosition;
|
|
15
32
|
static ɵfac: i0.ɵɵFactoryDeclaration<SnackbarComponent, never>;
|
|
16
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SnackbarComponent, "
|
|
33
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SnackbarComponent, "c80-snackbar", never, {}, {}, never, never, true, never>;
|
|
17
34
|
}
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
import type { SnackbarConfig } from './snackbar.model';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
3
6
|
export declare class SnackbarService {
|
|
4
7
|
private readonly appRef;
|
|
5
8
|
private readonly injector;
|
|
6
9
|
private componentRef?;
|
|
7
10
|
private readonly defaultConfig;
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @param message
|
|
14
|
+
* @param action
|
|
15
|
+
* @param config
|
|
16
|
+
*/
|
|
8
17
|
open(message: string, action?: string, config?: SnackbarConfig): void;
|
|
9
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<SnackbarService, never>;
|
|
10
19
|
static ɵprov: i0.ɵɵInjectableDeclaration<SnackbarService>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './spinner.component';
|