@xosue-utils/services 0.1.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 +70 -0
- package/config/services-config.d.ts +46 -0
- package/fesm2022/xosue-utils-services.mjs +1657 -0
- package/fesm2022/xosue-utils-services.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/ai-autofill-overlay-service/ai-autofill-overlay-service.component.d.ts +13 -0
- package/lib/ai-autofill-overlay-service/ai-autofill-overlay.service.d.ts +19 -0
- package/lib/alert-service/alert-service.component.d.ts +17 -0
- package/lib/alert-service/alert.service.d.ts +25 -0
- package/lib/browser-notification/browser-notification.service.d.ts +42 -0
- package/lib/context-menu-service/context-menu-service.component.d.ts +37 -0
- package/lib/context-menu-service/context-menu.service.d.ts +63 -0
- package/lib/field-help-tooltip/field-help-tooltip.component.d.ts +9 -0
- package/lib/global-loading-service/global-loading-service.component.d.ts +14 -0
- package/lib/global-loading-service/global-loading.service.d.ts +22 -0
- package/lib/index.d.ts +29 -0
- package/lib/media-viewer-service/items/audio-player/audio-player.component.d.ts +14 -0
- package/lib/media-viewer-service/items/image-viewer/image-viewer.component.d.ts +19 -0
- package/lib/media-viewer-service/items/video-player/video-player.component.d.ts +18 -0
- package/lib/media-viewer-service/media-viewer-service.component.d.ts +62 -0
- package/lib/media-viewer-service/media-viewer.service.d.ts +34 -0
- package/lib/navigation-loading/navigation-loading-service.component.d.ts +9 -0
- package/lib/navigation-loading/navigation-loading.service.d.ts +24 -0
- package/lib/session-request-service/session-request-service.component.d.ts +15 -0
- package/lib/session-request-service/session-request.service.d.ts +21 -0
- package/lib/toast-service/toast-service.component.d.ts +16 -0
- package/lib/toast-service/toast.service.d.ts +22 -0
- package/package.json +47 -0
- package/public-api.d.ts +4 -0
- package/vendor/lucide-icon/lucide-icon.component.d.ts +26 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export interface GlobalLoadingProcess {
|
|
3
|
+
id: string;
|
|
4
|
+
message: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Capa global de carga: un mismo backdrop desde el primer `push` hasta el último `pop`.
|
|
8
|
+
* Varios procesos concurrentes se listan con su mensaje.
|
|
9
|
+
*/
|
|
10
|
+
export declare class GlobalLoadingService {
|
|
11
|
+
private readonly config;
|
|
12
|
+
get defaultMessage(): string;
|
|
13
|
+
private seq;
|
|
14
|
+
private readonly processes$;
|
|
15
|
+
get snapshot(): GlobalLoadingProcess[];
|
|
16
|
+
readonly processes: import("rxjs").Observable<GlobalLoadingProcess[]>;
|
|
17
|
+
push(message?: string): string;
|
|
18
|
+
setMessage(id: string, message: string): void;
|
|
19
|
+
pop(id: string): void;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GlobalLoadingService, never>;
|
|
21
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<GlobalLoadingService>;
|
|
22
|
+
}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export { AlertService } from './alert-service/alert.service';
|
|
2
|
+
export type { AlertMode, AlertConfirmOptions, AlertMessage } from './alert-service/alert.service';
|
|
3
|
+
export { AlertServiceComponent } from './alert-service/alert-service.component';
|
|
4
|
+
export { ToastService } from './toast-service/toast.service';
|
|
5
|
+
export type { ToastType, ToastMessage } from './toast-service/toast.service';
|
|
6
|
+
export { ToastServiceComponent } from './toast-service/toast-service.component';
|
|
7
|
+
export { ContextMenuService } from './context-menu-service/context-menu.service';
|
|
8
|
+
export type { ContextMenuOption, ContextMenuInfo, ContextMenuKind, ContextMenuMenuRequest, ContextMenuInfoRequest, ContextMenuRequest, ContextMenuOpenEvent, ContextMenuOpenOptions, } from './context-menu-service/context-menu.service';
|
|
9
|
+
export { ContextMenuServiceComponent } from './context-menu-service/context-menu-service.component';
|
|
10
|
+
export { FieldHelpTooltipComponent } from './field-help-tooltip/field-help-tooltip.component';
|
|
11
|
+
export { MediaViewerService } from './media-viewer-service/media-viewer.service';
|
|
12
|
+
export type { GeneralViewerMode, MediaViewerState, MediaViewerOpenParams, } from './media-viewer-service/media-viewer.service';
|
|
13
|
+
export { MediaViewerServiceComponent } from './media-viewer-service/media-viewer-service.component';
|
|
14
|
+
export { ImageViewerComponent } from './media-viewer-service/items/image-viewer/image-viewer.component';
|
|
15
|
+
export { VideoPlayerComponent } from './media-viewer-service/items/video-player/video-player.component';
|
|
16
|
+
export { AudioPlayerComponent } from './media-viewer-service/items/audio-player/audio-player.component';
|
|
17
|
+
export { SessionRequestService } from './session-request-service/session-request.service';
|
|
18
|
+
export type { SessionRequestMessage } from './session-request-service/session-request.service';
|
|
19
|
+
export { SessionRequestServiceComponent } from './session-request-service/session-request-service.component';
|
|
20
|
+
export { GlobalLoadingService } from './global-loading-service/global-loading.service';
|
|
21
|
+
export type { GlobalLoadingProcess } from './global-loading-service/global-loading.service';
|
|
22
|
+
export { GlobalLoadingServiceComponent } from './global-loading-service/global-loading-service.component';
|
|
23
|
+
export { NavigationLoadingService } from './navigation-loading/navigation-loading.service';
|
|
24
|
+
export { NavigationLoadingServiceComponent } from './navigation-loading/navigation-loading-service.component';
|
|
25
|
+
export { AiAutofillOverlayService } from './ai-autofill-overlay-service/ai-autofill-overlay.service';
|
|
26
|
+
export type { AiAutofillOverlayState } from './ai-autofill-overlay-service/ai-autofill-overlay.service';
|
|
27
|
+
export { AiAutofillOverlayServiceComponent } from './ai-autofill-overlay-service/ai-autofill-overlay-service.component';
|
|
28
|
+
export { BrowserNotificationService } from './browser-notification/browser-notification.service';
|
|
29
|
+
export type { BrowserNotificationPayload } from './browser-notification/browser-notification.service';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ChangeDetectorRef, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/** Lightweight native audio player (no wavesurfer / hls.js). */
|
|
4
|
+
export declare class AudioPlayerComponent implements OnChanges {
|
|
5
|
+
private cdr;
|
|
6
|
+
src: string | null;
|
|
7
|
+
name: string | null;
|
|
8
|
+
loadError: boolean;
|
|
9
|
+
constructor(cdr: ChangeDetectorRef);
|
|
10
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
11
|
+
onError(): void;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AudioPlayerComponent, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AudioPlayerComponent, "app-audio-player", never, { "src": { "alias": "src"; "required": false; }; "name": { "alias": "name"; "required": false; }; }, {}, never, never, true, never>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ChangeDetectorRef, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/** Resoluciones usadas en el visor (referencia para otros componentes). */
|
|
4
|
+
export declare const IMAGE_MULTIRES_WIDTHS: readonly [150, 400, 800];
|
|
5
|
+
/**
|
|
6
|
+
* Visor de imagen: una sola carga del original, sin progresividad (sin versión pequeña previa).
|
|
7
|
+
*/
|
|
8
|
+
export declare class ImageViewerComponent implements OnChanges {
|
|
9
|
+
private cdr;
|
|
10
|
+
src: string | null;
|
|
11
|
+
ready: boolean;
|
|
12
|
+
loadError: boolean;
|
|
13
|
+
constructor(cdr: ChangeDetectorRef);
|
|
14
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
15
|
+
onLoad(): void;
|
|
16
|
+
onError(): void;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ImageViewerComponent, never>;
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ImageViewerComponent, "app-image-viewer", never, { "src": { "alias": "src"; "required": false; }; }, {}, never, never, true, never>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ChangeDetectorRef, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Lightweight native video player (no hls.js).
|
|
5
|
+
* HLS (.m3u8) relies on browser Safari support; other browsers may need host-side remux.
|
|
6
|
+
*/
|
|
7
|
+
export declare class VideoPlayerComponent implements OnChanges {
|
|
8
|
+
private cdr;
|
|
9
|
+
src: string | null;
|
|
10
|
+
/** Informational; native player only. */
|
|
11
|
+
videoFormat: 'hls' | null;
|
|
12
|
+
loadError: boolean;
|
|
13
|
+
constructor(cdr: ChangeDetectorRef);
|
|
14
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
15
|
+
onError(): void;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<VideoPlayerComponent, never>;
|
|
17
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<VideoPlayerComponent, "app-video-player", never, { "src": { "alias": "src"; "required": false; }; "videoFormat": { "alias": "videoFormat"; "required": false; }; }, {}, never, never, true, never>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { OnDestroy } from '@angular/core';
|
|
2
|
+
import { SafeResourceUrl } from '@angular/platform-browser';
|
|
3
|
+
import { GeneralViewerMode } from './media-viewer.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Host singleton media viewer.
|
|
7
|
+
* Expects already-resolved public URLs from the host (no crypto / CDN decrypt).
|
|
8
|
+
*/
|
|
9
|
+
export declare class MediaViewerServiceComponent implements OnDestroy {
|
|
10
|
+
private platformId;
|
|
11
|
+
private readonly viewer;
|
|
12
|
+
private readonly config;
|
|
13
|
+
private cdr;
|
|
14
|
+
private sanitizer;
|
|
15
|
+
private _prevVm;
|
|
16
|
+
open: boolean;
|
|
17
|
+
mode: GeneralViewerMode;
|
|
18
|
+
type: GeneralViewerMode | null | undefined;
|
|
19
|
+
url: string | null;
|
|
20
|
+
urlSafe: SafeResourceUrl | null;
|
|
21
|
+
autoDetectType: boolean;
|
|
22
|
+
downloadUrl: string | null;
|
|
23
|
+
fileName: string;
|
|
24
|
+
downloadContext: unknown;
|
|
25
|
+
detectedMode: GeneralViewerMode | null;
|
|
26
|
+
detectingOrLoading: boolean;
|
|
27
|
+
detectError: boolean;
|
|
28
|
+
documentBlobUrl: string | null;
|
|
29
|
+
documentRenderFailed: boolean;
|
|
30
|
+
resolvedMediaUrl: string | null;
|
|
31
|
+
private blobUrlsToRevoke;
|
|
32
|
+
private documentLoadTimeout;
|
|
33
|
+
private cachedDocumentUrlRaw;
|
|
34
|
+
private cachedDocumentUrlSafe;
|
|
35
|
+
constructor();
|
|
36
|
+
private diffViewerState;
|
|
37
|
+
private applyVmFields;
|
|
38
|
+
get effectiveMode(): GeneralViewerMode;
|
|
39
|
+
get videoPlayerFormat(): 'hls' | null;
|
|
40
|
+
get typeLabel(): string;
|
|
41
|
+
get loadingMessage(): string;
|
|
42
|
+
get mediaSrc(): string | null;
|
|
43
|
+
get documentUrlSafe(): SafeResourceUrl | null;
|
|
44
|
+
private onViewerInputsChanged;
|
|
45
|
+
ngOnDestroy(): void;
|
|
46
|
+
private detectAndLoadFromUrl;
|
|
47
|
+
private fetchContentType;
|
|
48
|
+
private urlPathname;
|
|
49
|
+
private pathnameExtensionFromUrl;
|
|
50
|
+
private detectModeFromUrlPathOnly;
|
|
51
|
+
private detectModeFromContentType;
|
|
52
|
+
private fetchAsBlob;
|
|
53
|
+
private revokeBlobUrls;
|
|
54
|
+
private clearDocumentLoadTimeout;
|
|
55
|
+
onDocumentIframeLoad(): void;
|
|
56
|
+
onBackdropClick(): void;
|
|
57
|
+
onContentClick(event: Event): void;
|
|
58
|
+
close(): void;
|
|
59
|
+
triggerDownload(): void;
|
|
60
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MediaViewerServiceComponent, never>;
|
|
61
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MediaViewerServiceComponent, "media-viewer-service", never, {}, {}, never, never, true, never>;
|
|
62
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { SafeResourceUrl } from '@angular/platform-browser';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export type GeneralViewerMode = 'image' | 'video' | 'audio' | 'document' | 'download';
|
|
4
|
+
export interface MediaViewerState {
|
|
5
|
+
open: boolean;
|
|
6
|
+
mode: GeneralViewerMode;
|
|
7
|
+
/** Pasado al visor hijo; `null`/`undefined` = autodetección según `autoDetectType`. */
|
|
8
|
+
type: GeneralViewerMode | null | undefined;
|
|
9
|
+
url: string | null;
|
|
10
|
+
urlSafe: SafeResourceUrl | null;
|
|
11
|
+
downloadUrl: string | null;
|
|
12
|
+
fileName: string;
|
|
13
|
+
downloadContext: unknown | null;
|
|
14
|
+
autoDetectType: boolean;
|
|
15
|
+
}
|
|
16
|
+
export type MediaViewerOpenParams = Omit<MediaViewerState, 'open' | 'type' | 'downloadContext' | 'autoDetectType' | 'fileName'> & Partial<Pick<MediaViewerState, 'type' | 'downloadContext' | 'autoDetectType' | 'fileName'>> & {
|
|
17
|
+
onDownloadRequested?: (context: unknown) => void;
|
|
18
|
+
};
|
|
19
|
+
export declare class MediaViewerService {
|
|
20
|
+
private readonly config;
|
|
21
|
+
private closedState;
|
|
22
|
+
private readonly state;
|
|
23
|
+
readonly state$: import("rxjs").Observable<MediaViewerState>;
|
|
24
|
+
private onDownloadRequestedCallback;
|
|
25
|
+
/**
|
|
26
|
+
* Opens the viewer with already-resolved URLs.
|
|
27
|
+
* Host is responsible for CDN/crypto resolution before calling `open()`.
|
|
28
|
+
*/
|
|
29
|
+
open(params: MediaViewerOpenParams): void;
|
|
30
|
+
close(): void;
|
|
31
|
+
handleDownloadRequested(context: unknown): void;
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MediaViewerService, never>;
|
|
33
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<MediaViewerService>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { NavigationLoadingService } from './navigation-loading.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class NavigationLoadingServiceComponent implements OnInit {
|
|
5
|
+
readonly navLoading: NavigationLoadingService;
|
|
6
|
+
ngOnInit(): void;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NavigationLoadingServiceComponent, never>;
|
|
8
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NavigationLoadingServiceComponent, "navigation-loading-service", never, {}, {}, never, never, true, never>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class NavigationLoadingService {
|
|
3
|
+
private readonly router;
|
|
4
|
+
private readonly platformId;
|
|
5
|
+
/** Barra visible (solo tras superar el delay en navegaciones lentas). */
|
|
6
|
+
readonly active: import("@angular/core").WritableSignal<boolean>;
|
|
7
|
+
/** Progreso 0–100 para la barra. */
|
|
8
|
+
readonly progress: import("@angular/core").WritableSignal<number>;
|
|
9
|
+
private routerBound;
|
|
10
|
+
private navigationGeneration;
|
|
11
|
+
private showDelayTimer;
|
|
12
|
+
private progressTimer;
|
|
13
|
+
private hideTimer;
|
|
14
|
+
/** Llamar una vez desde el host (evita suscribirse en el constructor). */
|
|
15
|
+
bindToRouter(): void;
|
|
16
|
+
private onNavigationStart;
|
|
17
|
+
private onNavigationEnd;
|
|
18
|
+
private startProgressSimulation;
|
|
19
|
+
private clearShowDelayTimer;
|
|
20
|
+
private clearProgressTimer;
|
|
21
|
+
private clearHideTimer;
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NavigationLoadingService, never>;
|
|
23
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NavigationLoadingService>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { SessionRequestMessage, SessionRequestService } from './session-request.service';
|
|
3
|
+
import { ResolvedXosueUtilsServicesConfig } from '../../config/services-config';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class SessionRequestServiceComponent implements OnInit {
|
|
6
|
+
private sessionRequestService;
|
|
7
|
+
sessionRequests: SessionRequestMessage[];
|
|
8
|
+
readonly config: ResolvedXosueUtilsServicesConfig;
|
|
9
|
+
constructor(sessionRequestService: SessionRequestService);
|
|
10
|
+
ngOnInit(): void;
|
|
11
|
+
closeSessionRequest(id: number): void;
|
|
12
|
+
trackById(_index: number, item: SessionRequestMessage): number;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SessionRequestServiceComponent, never>;
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SessionRequestServiceComponent, "session-request-service", never, {}, {}, never, never, true, never>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export interface SessionRequestMessage {
|
|
3
|
+
id: number;
|
|
4
|
+
lucideIcon: string;
|
|
5
|
+
message: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class SessionRequestService {
|
|
8
|
+
private platformId;
|
|
9
|
+
private sessionRequestSubject;
|
|
10
|
+
sessionRequest$: import("rxjs").Observable<SessionRequestMessage>;
|
|
11
|
+
private idCounter;
|
|
12
|
+
private readonly isBrowser;
|
|
13
|
+
constructor(platformId: object);
|
|
14
|
+
/**
|
|
15
|
+
* Muestra un overlay solicitando sesión.
|
|
16
|
+
* @param lucideIcon Nombre del icono Lucide en kebab-case (ej: shopping-cart).
|
|
17
|
+
*/
|
|
18
|
+
showSessionRequest(lucideIcon: string, message: string): void;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SessionRequestService, never>;
|
|
20
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<SessionRequestService>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { ToastMessage, ToastService } from './toast.service';
|
|
3
|
+
import { ResolvedXosueUtilsServicesConfig } from '../../config/services-config';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class ToastServiceComponent implements OnInit {
|
|
6
|
+
private toastService;
|
|
7
|
+
toasts: ToastMessage[];
|
|
8
|
+
readonly config: ResolvedXosueUtilsServicesConfig;
|
|
9
|
+
constructor(toastService: ToastService);
|
|
10
|
+
ngOnInit(): void;
|
|
11
|
+
successGifSrc(toast: ToastMessage): string;
|
|
12
|
+
removeToast(id: number): void;
|
|
13
|
+
trackById(_index: number, item: ToastMessage): number;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ToastServiceComponent, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ToastServiceComponent, "toast-service", never, {}, {}, never, never, true, never>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { NgZone } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export type ToastType = 'success' | 'warning' | 'error' | 'info';
|
|
4
|
+
export interface ToastMessage {
|
|
5
|
+
id: number;
|
|
6
|
+
type: ToastType;
|
|
7
|
+
message: string;
|
|
8
|
+
}
|
|
9
|
+
export declare class ToastService {
|
|
10
|
+
private platformId;
|
|
11
|
+
private ngZone;
|
|
12
|
+
private toastSubject;
|
|
13
|
+
toast$: import("rxjs").Observable<ToastMessage>;
|
|
14
|
+
private idCounter;
|
|
15
|
+
private readonly isBrowser;
|
|
16
|
+
private readonly config;
|
|
17
|
+
constructor(platformId: object, ngZone: NgZone);
|
|
18
|
+
showToast(type: ToastType, message: string): void;
|
|
19
|
+
private playSound;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ToastService, never>;
|
|
21
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ToastService>;
|
|
22
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@xosue-utils/services",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Angular 19 root-level overlay services (alert, toast, context-menu, media viewer, loading, etc.).",
|
|
5
|
+
"license": "UNLICENSED",
|
|
6
|
+
"private": false,
|
|
7
|
+
"sideEffects": false,
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/YOUR_ORG/xosue-utils.git"
|
|
11
|
+
},
|
|
12
|
+
"keywords": [
|
|
13
|
+
"angular",
|
|
14
|
+
"overlay",
|
|
15
|
+
"services",
|
|
16
|
+
"toast",
|
|
17
|
+
"alert",
|
|
18
|
+
"xosue-utils"
|
|
19
|
+
],
|
|
20
|
+
"peerDependencies": {
|
|
21
|
+
"@angular/animations": "^19.0.0",
|
|
22
|
+
"@angular/common": "^19.0.0",
|
|
23
|
+
"@angular/core": "^19.0.0",
|
|
24
|
+
"@angular/forms": "^19.0.0",
|
|
25
|
+
"@angular/platform-browser": "^19.0.0",
|
|
26
|
+
"@angular/router": "^19.0.0",
|
|
27
|
+
"@lucide/angular": "^0.500.0 || ^1.0.0",
|
|
28
|
+
"rxjs": "^7.8.0"
|
|
29
|
+
},
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"tslib": "^2.6.0"
|
|
32
|
+
},
|
|
33
|
+
"publishConfig": {
|
|
34
|
+
"access": "public"
|
|
35
|
+
},
|
|
36
|
+
"module": "fesm2022/xosue-utils-services.mjs",
|
|
37
|
+
"typings": "index.d.ts",
|
|
38
|
+
"exports": {
|
|
39
|
+
"./package.json": {
|
|
40
|
+
"default": "./package.json"
|
|
41
|
+
},
|
|
42
|
+
".": {
|
|
43
|
+
"types": "./index.d.ts",
|
|
44
|
+
"default": "./fesm2022/xosue-utils-services.mjs"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
package/public-api.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './lib/index';
|
|
2
|
+
export { XOSUE_UTILS_SERVICES_CONFIG, XOSUE_UTILS_SERVICES_DEFAULTS, provideXosueUtilsServices, resolveXosueUtilsServicesConfig, } from './config/services-config';
|
|
3
|
+
export type { XosueUtilsServicesConfig, ResolvedXosueUtilsServicesConfig, ToastDurationKey, } from './config/services-config';
|
|
4
|
+
export { LucideIconComponent } from './vendor/lucide-icon/lucide-icon.component';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
/**
|
|
3
|
+
* Icono Lucide.
|
|
4
|
+
*
|
|
5
|
+
* HTML:
|
|
6
|
+
* <lucide-icon name="star"></lucide-icon>
|
|
7
|
+
* <lucide-icon name="heart" filled></lucide-icon> // relleno + trazo
|
|
8
|
+
*
|
|
9
|
+
* SASS — variables CSS (heredan del padre):
|
|
10
|
+
* --lucide-stroke: var(--primary)
|
|
11
|
+
* --lucide-fill: var(--accent)
|
|
12
|
+
* --lucide-stroke-width: 2
|
|
13
|
+
*/
|
|
14
|
+
export declare class LucideIconComponent {
|
|
15
|
+
readonly name: import("@angular/core").InputSignal<string>;
|
|
16
|
+
readonly size: import("@angular/core").InputSignal<string | number>;
|
|
17
|
+
readonly spin: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
18
|
+
/** Activa relleno (--lucide-fill); el trazo se conserva. */
|
|
19
|
+
readonly filled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
20
|
+
readonly dimStyle: import("@angular/core").Signal<{
|
|
21
|
+
width: string;
|
|
22
|
+
height: string;
|
|
23
|
+
}>;
|
|
24
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LucideIconComponent, never>;
|
|
25
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LucideIconComponent, "lucide-icon", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "spin": { "alias": "spin"; "required": false; "isSignal": true; }; "filled": { "alias": "filled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
26
|
+
}
|