ngx-dsxlibrary 2.21.21 → 2.21.23

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.
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-dsxlibrary",
3
- "version": "2.21.21",
3
+ "version": "2.21.23",
4
4
  "description": "Libreria para control de código automatizado.",
5
5
  "author": "DevSoftXela",
6
6
  "dependencies": {
@@ -177,6 +177,131 @@ declare class PdfPreviewComponent implements OnDestroy {
177
177
  static ɵcmp: i0.ɵɵComponentDeclaration<PdfPreviewComponent, "app-pdf-preview", never, { "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "blob": { "alias": "blob"; "required": false; "isSignal": true; }; }, { "visible": "visibleChange"; }, never, never, true, never>;
178
178
  }
179
179
 
180
+ /**
181
+ * Tipos de acción disponibles para el componente `dsx-button`.
182
+ *
183
+ * Usa `ACTION_TYPES` en el consumidor para evitar typos.
184
+ *
185
+ * **Persistencia de datos (formulario)**
186
+ * - `create` → Navega a la ruta de nuevo registro (azul)
187
+ * - `saveOrUpdate` → Muestra "Guardar" si `id` es 0, "Actualizar" si `id` > 0 (amarillo)
188
+ *
189
+ * **Eliminar**
190
+ * - `delete` → Eliminar registro permanentemente (rojo)
191
+ * - `softDelete` → Borrar registro con borrado lógico (amarillo)
192
+ *
193
+ * **Formulario**
194
+ * - `validate` → Validar formulario sin guardar (gris)
195
+ * - `restore` → Restaurar datos originales (gris)
196
+ *
197
+ * **Navegación / Utilidades**
198
+ * - `home` → Ir al inicio (gris)
199
+ * - `refresh` → Recargar datos desde el servidor (morado)
200
+ */
201
+ declare const ACTION_TYPES: {
202
+ readonly delete: "delete";
203
+ readonly softDelete: "softDelete";
204
+ readonly home: "home";
205
+ readonly validate: "validate";
206
+ readonly restore: "restore";
207
+ readonly edit: "edit";
208
+ readonly create: "create";
209
+ readonly saveOrUpdate: "saveOrUpdate";
210
+ readonly refresh: "refresh";
211
+ };
212
+ type ActionType = (typeof ACTION_TYPES)[keyof typeof ACTION_TYPES];
213
+ /**
214
+ * Paleta corporativa de colores para `dsx-button`.
215
+ *
216
+ * Cada token tiene un significado semántico fijo. Úsala como referencia
217
+ * para asignar `colorToken` al añadir nuevos tipos de botón.
218
+ *
219
+ * | Token | Color | Uso semántico |
220
+ * |-----------|----------------|---------------------------------------------------|
221
+ * | danger | Coral rojo | Acción destructiva e irreversible (eliminar) |
222
+ * | warning | Naranja cálido | Acción con riesgo moderado / borrado lógico |
223
+ * | caution | Ámbar dorado | Requiere verificación del usuario (actualizar) |
224
+ * | success | Verde menta | Guardar nuevo registro / agregar |
225
+ * | primary | Azul claro | Editar / navegar con contexto de registro |
226
+ * | info | Cian suave | Recargar datos / refrescar vista |
227
+ * | neutral | Gris azulado | Acción secundaria / navegación sin contexto |
228
+ * | restore | Violeta suave | Deshacer / restaurar estado anterior |
229
+ */
230
+ declare const DSX_PALETTE: {
231
+ readonly danger: "#EF5350";
232
+ readonly warning: "#FF7043";
233
+ readonly caution: "#FFB300";
234
+ readonly success: "#66BB6A";
235
+ readonly primary: "#42A5F5";
236
+ readonly info: "#26C6DA";
237
+ readonly neutral: "#90A4AE";
238
+ readonly restore: "#AB47BC";
239
+ };
240
+ type DsxColorToken = keyof typeof DSX_PALETTE;
241
+ type DsxButtonConfig = {
242
+ label: string;
243
+ icon: string;
244
+ tooltip: string;
245
+ /** Token de la paleta corporativa que determina el color del botón. */
246
+ colorToken: DsxColorToken;
247
+ primeIcon?: string;
248
+ /** Si es `true`, el botón se renderiza con contorno en lugar de relleno sólido. */
249
+ outlined?: boolean;
250
+ };
251
+ declare class DsxButtonComponent {
252
+ private readonly _paramService;
253
+ private readonly _router;
254
+ type: i0.InputSignal<"delete" | "softDelete" | "home" | "validate" | "restore" | "edit" | "create" | "saveOrUpdate" | "refresh">;
255
+ disabled: i0.InputSignal<boolean>;
256
+ routerLink: i0.InputSignal<string | any[] | undefined>;
257
+ /**
258
+ * Ruta de navegación simplificada. La `/` inicial se agrega automáticamente.
259
+ * Cada segmento solo admite: letras, números, `-`, `_`, `.` y `:` (params de ruta).
260
+ * Ejemplos válidos: `'home'`, `'container/nuevo'`, `'item/123'`
261
+ * Ejemplos inválidos: `'item/*'`, `'item?foo=bar'`, `'item/../other'`
262
+ * Para rutas dinámicas complejas usa `[routerLink]` directamente.
263
+ */
264
+ routerPath: i0.InputSignal<string | undefined>;
265
+ /** Ancho del botón. Usa `rem` para que escale con la preferencia de fuente del usuario.
266
+ * Ejemplo: `'8rem'`, `'12rem'`. Valor por defecto: `'9rem'`.
267
+ */
268
+ width: i0.InputSignal<string>;
269
+ iconOnly: i0.InputSignal<boolean>;
270
+ iconOnlyWidth: i0.InputSignal<string>;
271
+ raised: i0.InputSignal<boolean>;
272
+ rounded: i0.InputSignal<boolean>;
273
+ parameterName: i0.InputSignal<string | undefined>;
274
+ parameterExpectedValue: i0.InputSignal<any>;
275
+ parameterIndex: i0.InputSignal<number>;
276
+ id: i0.InputSignal<string | number | null | undefined>;
277
+ requireIdInput: i0.InputSignal<boolean>;
278
+ requiresIdGreaterThanZero: i0.InputSignal<boolean>;
279
+ labelOverride: i0.InputSignal<string | undefined>;
280
+ tooltipOverride: i0.InputSignal<string | undefined>;
281
+ iconOverride: i0.InputSignal<string | undefined>;
282
+ primeIconOverride: i0.InputSignal<string | undefined>;
283
+ action: i0.OutputEmitterRef<void>;
284
+ /** Valida y normaliza `routerPath`: agrega `/` inicial y rechaza caracteres inválidos. */
285
+ readonly resolvedRouterLink: i0.Signal<string | undefined>;
286
+ /** Prioriza routerPath (validado) sobre routerLink (libre). */
287
+ readonly effectiveRouterLink: i0.Signal<string | any[] | undefined>;
288
+ get buttonStyle(): Record<string, string>;
289
+ get buttonLabel(): string | undefined;
290
+ get config(): DsxButtonConfig;
291
+ get label(): string;
292
+ get tooltip(): string;
293
+ get icon(): string;
294
+ get primeIcon(): string | undefined;
295
+ showButton(): boolean;
296
+ onButtonClick(): Promise<void>;
297
+ private passesIdValidation;
298
+ private getNormalizedId;
299
+ private navigateToTarget;
300
+ private passesParameterValidation;
301
+ static ɵfac: i0.ɵɵFactoryDeclaration<DsxButtonComponent, never>;
302
+ static ɵcmp: i0.ɵɵComponentDeclaration<DsxButtonComponent, "dsx-button", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "routerLink": { "alias": "routerLink"; "required": false; "isSignal": true; }; "routerPath": { "alias": "routerPath"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "iconOnly": { "alias": "iconOnly"; "required": false; "isSignal": true; }; "iconOnlyWidth": { "alias": "iconOnlyWidth"; "required": false; "isSignal": true; }; "raised": { "alias": "raised"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "parameterName": { "alias": "parameterName"; "required": false; "isSignal": true; }; "parameterExpectedValue": { "alias": "parameterExpectedValue"; "required": false; "isSignal": true; }; "parameterIndex": { "alias": "parameterIndex"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "requireIdInput": { "alias": "requireIdInput"; "required": false; "isSignal": true; }; "requiresIdGreaterThanZero": { "alias": "requiresIdGreaterThanZero"; "required": false; "isSignal": true; }; "labelOverride": { "alias": "labelOverride"; "required": false; "isSignal": true; }; "tooltipOverride": { "alias": "tooltipOverride"; "required": false; "isSignal": true; }; "iconOverride": { "alias": "iconOverride"; "required": false; "isSignal": true; }; "primeIconOverride": { "alias": "primeIconOverride"; "required": false; "isSignal": true; }; }, { "action": "action"; }, never, never, true, never>;
303
+ }
304
+
180
305
  declare class IconDsxService {
181
306
  private http;
182
307
  private sanitizer;
@@ -192,12 +317,12 @@ declare class IconDsxService {
192
317
 
193
318
  declare class IconDsxComponent {
194
319
  private iconService;
195
- name: string;
320
+ name: i0.InputSignal<string>;
196
321
  svg$: Observable<SafeHtml>;
197
322
  constructor(iconService: IconDsxService);
198
323
  ngOnInit(): void;
199
324
  static ɵfac: i0.ɵɵFactoryDeclaration<IconDsxComponent, never>;
200
- static ɵcmp: i0.ɵɵComponentDeclaration<IconDsxComponent, "icon-dsx", never, { "name": { "alias": "name"; "required": false; }; }, {}, never, never, true, never>;
325
+ static ɵcmp: i0.ɵɵComponentDeclaration<IconDsxComponent, "icon-dsx", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
201
326
  }
202
327
 
203
328
  declare class JsonValuesDebujComponent {
@@ -3016,5 +3141,5 @@ interface AsyncExistsValidatorOptions {
3016
3141
  */
3017
3142
  declare function asyncExistsValidator<T extends string | number = string | number>(serviceMethod: (value: T, currentId: string | number) => Observable<boolean>, options?: AsyncExistsValidatorOptions): AsyncValidatorFn;
3018
3143
 
3019
- export { AlertaService, AppMessageErrorComponent, ArrowNavigationDirective, AuthorizeService, BaseCRUDService, CACHE_KEYS, CacheService, CssV2Component, DocxPreviewComponent, DsxAddToolsModule, DteService, ENVIRONMENT, EndpointService, ErrorHandlerService, FileComponent, GTQFormatter, HttpHelpersService, INITIAL_PARAMETERS, IconDsxComponent, JoinByPipe, JsonHighlightPipe, JsonValuesDebujComponent, JsonViewerComponent, KpicardComponent, LoadingComponent, LoadingLottieComponent, LogoDsxComponent, MasterDetailChangeService, NavbarDsxComponent, NetworkStatusComponent, OnlyRangoPatternDirective, ParameterValuesService, PdfPreviewComponent, PrimeNgModule, SWEET_ALERT_THEMES, SecurityService, SelectAllOnFocusDirective, SpinnerLoadingService, TruncatePipe, UtilityAddService, asyncExistsValidator, atLeastOneFieldRequiredValidator, createCurrencyFormatter, createInitialCache, createTypedCacheProvider, cuiValidator, dateMinMaxValidator, dateRangeValidator, dateRangeValidatorFromTo, developmentEnvironment, getZeroBasedRolIndex, httpAuthorizeInterceptor, nitValidator, productionEnvironment, provideEnvironment, validateEnvironmentConfig };
3020
- export type { AppEnvironment, AsyncExistsValidatorOptions, BlobRequestOptions, Certificacion, Column, Complemento, Complementos, DatosEmision, DatosGenerales, DevEnvironmentComplete, DevEnvironmentDefaults, Direccion, DocumentoFelResponse, DsxValidateUnique, Dte, Emisor, EnvironmentConfig, ExportColumn, FechasConversion, FieldConfig, FilterOption, FormRule, Frase, Frases, Impuesto, Impuestos, InferCacheKeyType, InferCacheOptions, Item, Items, MasterDetailChangeResult, MasterDetailDifference, MasterDetailRawEntity, MasterDetailSimpleFormOptions, MasterDetailSimpleFormTracker, MasterDetailState, MyParameterValues, NITResponse, NumeroAutorizacion, ParameterSecurity, ParameterValue, ProdEnvironmentComplete, ProdEnvironmentDefaults, ReactiveForm, Receptor, ResponseHttpModel, Sat, SeguridadITParameter, ServiceResult, ServiceResultVoid, SweetAlertThemeType, T, TipoFechaConversion, TotalImpuesto, Totales, TypedForm, typeModel };
3144
+ export { ACTION_TYPES, AlertaService, AppMessageErrorComponent, ArrowNavigationDirective, AuthorizeService, BaseCRUDService, CACHE_KEYS, CacheService, CssV2Component, DSX_PALETTE, DocxPreviewComponent, DsxAddToolsModule, DsxButtonComponent, DteService, ENVIRONMENT, EndpointService, ErrorHandlerService, FileComponent, GTQFormatter, HttpHelpersService, INITIAL_PARAMETERS, IconDsxComponent, JoinByPipe, JsonHighlightPipe, JsonValuesDebujComponent, JsonViewerComponent, KpicardComponent, LoadingComponent, LoadingLottieComponent, LogoDsxComponent, MasterDetailChangeService, NavbarDsxComponent, NetworkStatusComponent, OnlyRangoPatternDirective, ParameterValuesService, PdfPreviewComponent, PrimeNgModule, SWEET_ALERT_THEMES, SecurityService, SelectAllOnFocusDirective, SpinnerLoadingService, TruncatePipe, UtilityAddService, asyncExistsValidator, atLeastOneFieldRequiredValidator, createCurrencyFormatter, createInitialCache, createTypedCacheProvider, cuiValidator, dateMinMaxValidator, dateRangeValidator, dateRangeValidatorFromTo, developmentEnvironment, getZeroBasedRolIndex, httpAuthorizeInterceptor, nitValidator, productionEnvironment, provideEnvironment, validateEnvironmentConfig };
3145
+ export type { ActionType, AppEnvironment, AsyncExistsValidatorOptions, BlobRequestOptions, Certificacion, Column, Complemento, Complementos, DatosEmision, DatosGenerales, DevEnvironmentComplete, DevEnvironmentDefaults, Direccion, DocumentoFelResponse, DsxColorToken, DsxValidateUnique, Dte, Emisor, EnvironmentConfig, ExportColumn, FechasConversion, FieldConfig, FilterOption, FormRule, Frase, Frases, Impuesto, Impuestos, InferCacheKeyType, InferCacheOptions, Item, Items, MasterDetailChangeResult, MasterDetailDifference, MasterDetailRawEntity, MasterDetailSimpleFormOptions, MasterDetailSimpleFormTracker, MasterDetailState, MyParameterValues, NITResponse, NumeroAutorizacion, ParameterSecurity, ParameterValue, ProdEnvironmentComplete, ProdEnvironmentDefaults, ReactiveForm, Receptor, ResponseHttpModel, Sat, SeguridadITParameter, ServiceResult, ServiceResultVoid, SweetAlertThemeType, T, TipoFechaConversion, TotalImpuesto, Totales, TypedForm, typeModel };
Binary file