mn-angular-lib 0.0.9 → 0.0.11
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/fesm2022/mn-angular-lib.mjs +63 -3
- package/fesm2022/mn-angular-lib.mjs.map +1 -1
- package/index.d.ts +26 -2
- package/package.json +1 -1
|
@@ -1,8 +1,42 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { signal, Injectable, InjectionToken, inject, computed, Optional, Inject, Input, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
3
|
import { BehaviorSubject } from 'rxjs';
|
|
4
4
|
import * as i1 from '@angular/common';
|
|
5
|
-
import { CommonModule } from '@angular/common';
|
|
5
|
+
import { CommonModule, NgStyle } from '@angular/common';
|
|
6
|
+
|
|
7
|
+
class MnThemeService {
|
|
8
|
+
_theme = signal(MN_THEME_DEFAULTS, ...(ngDevMode ? [{ debugName: "_theme" }] : []));
|
|
9
|
+
theme = this._theme.asReadonly();
|
|
10
|
+
setTheme(partial) {
|
|
11
|
+
const merged = { ...this._theme(), ...partial };
|
|
12
|
+
this._theme.set(merged);
|
|
13
|
+
}
|
|
14
|
+
setAll(next) {
|
|
15
|
+
this._theme.set(next);
|
|
16
|
+
}
|
|
17
|
+
reset() {
|
|
18
|
+
this._theme.set(MN_THEME_DEFAULTS);
|
|
19
|
+
}
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: MnThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
21
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: MnThemeService, providedIn: 'root' });
|
|
22
|
+
}
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: MnThemeService, decorators: [{
|
|
24
|
+
type: Injectable,
|
|
25
|
+
args: [{ providedIn: 'root' }]
|
|
26
|
+
}] });
|
|
27
|
+
// Provider to initialize dynamic theme easily at component/app level
|
|
28
|
+
function provideMnThemeDynamic(initial) {
|
|
29
|
+
return {
|
|
30
|
+
provide: MnThemeService,
|
|
31
|
+
useFactory: () => {
|
|
32
|
+
const svc = new MnThemeService();
|
|
33
|
+
if (initial) {
|
|
34
|
+
svc.setTheme({ ...initial });
|
|
35
|
+
}
|
|
36
|
+
return svc;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}
|
|
6
40
|
|
|
7
41
|
const MN_THEME_DEFAULTS = {
|
|
8
42
|
primary: '#0d6efd',
|
|
@@ -19,6 +53,19 @@ function provideMnTheme(partial) {
|
|
|
19
53
|
useValue: { ...MN_THEME_DEFAULTS, ...partial },
|
|
20
54
|
};
|
|
21
55
|
}
|
|
56
|
+
function injectTheme() {
|
|
57
|
+
const t = inject(MN_THEME, { optional: true });
|
|
58
|
+
return t ?? MN_THEME_DEFAULTS;
|
|
59
|
+
}
|
|
60
|
+
/** Reactive variant: altijd een Signal<MnTheme> teruggeven */
|
|
61
|
+
function injectThemeSignal() {
|
|
62
|
+
const svc = inject(MnThemeService, { optional: true });
|
|
63
|
+
if (svc) {
|
|
64
|
+
return (('asReadonly' in svc.theme) ? svc.theme.asReadonly() : svc.theme);
|
|
65
|
+
}
|
|
66
|
+
const snap = injectTheme();
|
|
67
|
+
return computed(() => snap);
|
|
68
|
+
}
|
|
22
69
|
|
|
23
70
|
// projects/mn-angular-lib/src/lib/mn-mn-alert/mn-mn-alert.tokens.ts
|
|
24
71
|
const MN_ALERT_CONFIG = new InjectionToken('MN_ALERT_CONFIG');
|
|
@@ -203,6 +250,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImpor
|
|
|
203
250
|
args: [{ required: true }]
|
|
204
251
|
}] } });
|
|
205
252
|
|
|
253
|
+
class Test {
|
|
254
|
+
// Reactive theme signal; templates read via theme().primary
|
|
255
|
+
theme = injectThemeSignal();
|
|
256
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: Test, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
257
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.9", type: Test, isStandalone: true, selector: "lib-test", ngImport: i0, template: "<p [ngStyle]=\"{'color' : theme().primary }\">test works!</p>\n", styles: [""], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
258
|
+
}
|
|
259
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: Test, decorators: [{
|
|
260
|
+
type: Component,
|
|
261
|
+
args: [{ selector: 'lib-test', imports: [
|
|
262
|
+
NgStyle
|
|
263
|
+
], template: "<p [ngStyle]=\"{'color' : theme().primary }\">test works!</p>\n" }]
|
|
264
|
+
}] });
|
|
265
|
+
|
|
206
266
|
/*
|
|
207
267
|
* Public API Surface of mn-lib
|
|
208
268
|
*/
|
|
@@ -211,5 +271,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImpor
|
|
|
211
271
|
* Generated bundle index. Do not edit.
|
|
212
272
|
*/
|
|
213
273
|
|
|
214
|
-
export { DEFAULT_MN_ALERT_CONFIG, MN_ALERT_CONFIG, MN_THEME, MN_THEME_DEFAULTS, MnAlertOutletComponent, MnAlertService, MnAlertStore, provideMnAlerts, provideMnTheme };
|
|
274
|
+
export { DEFAULT_MN_ALERT_CONFIG, MN_ALERT_CONFIG, MN_THEME, MN_THEME_DEFAULTS, MnAlertOutletComponent, MnAlertService, MnAlertStore, MnThemeService, Test, injectTheme, injectThemeSignal, provideMnAlerts, provideMnTheme, provideMnThemeDynamic };
|
|
215
275
|
//# sourceMappingURL=mn-angular-lib.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mn-angular-lib.mjs","sources":["../../../projects/mn-angular-lib/src/lib/styles/themes.ts","../../../projects/mn-angular-lib/src/lib/features/mn-alert/mn-alert.tokens.ts","../../../projects/mn-angular-lib/src/lib/features/mn-alert/mn-alert.providers.ts","../../../projects/mn-angular-lib/src/lib/features/mn-alert/mn-alert.store.ts","../../../projects/mn-angular-lib/src/lib/features/mn-alert/mn-alert.service.ts","../../../projects/mn-angular-lib/src/lib/features/mn-alert/mn-alert-outlet/mn-alert-outlet.ts","../../../projects/mn-angular-lib/src/lib/features/mn-alert/mn-alert-outlet/mn-alert-outlet.html","../../../projects/mn-angular-lib/src/public-api.ts","../../../projects/mn-angular-lib/src/mn-angular-lib.ts"],"sourcesContent":[" import { InjectionToken, inject } from '@angular/core';\n\n export interface MnTheme {\n primary: string;\n radius: string;\n padding: string;\n }\n\n export const MN_THEME_DEFAULTS: MnTheme = {\n primary: '#0d6efd',\n radius: '0.375rem',\n padding: '0.5rem 0.75rem',\n };\n\n export const MN_THEME = new InjectionToken<MnTheme>('MN_THEME', {\n providedIn: 'root',\n factory: () => MN_THEME_DEFAULTS,\n });\n\n export function provideMnTheme(partial: Partial<MnTheme>) {\n return {\n provide: MN_THEME,\n useValue: { ...MN_THEME_DEFAULTS, ...partial },\n };\n }\n","// projects/mn-angular-lib/src/lib/mn-mn-alert/mn-mn-alert.tokens.ts\nimport { InjectionToken } from '@angular/core';\nimport { MnAlert } from './mn-alert.types';\n\nexport type MnAlertKind = 'success' | 'info' | 'warning' | 'error' | 'default';\n\nexport interface MnAlertConfig {\n durations?: Partial<Record<MnAlertKind, number | null>>;\n cssClasses?: Partial<Record<MnAlertKind, string>>;\n icons?: Partial<Record<MnAlertKind, unknown>>;\n defaultDuration?: number | null;\n finalize?: (a: MnAlert) => MnAlert;\n}\n\nexport const MN_ALERT_CONFIG = new InjectionToken<MnAlertConfig>('MN_ALERT_CONFIG');\n\nexport const DEFAULT_MN_ALERT_CONFIG: Required<MnAlertConfig> = {\n durations: { success: 3000, info: 4000, warning: 5000, error: 7000, default: 4000 },\n cssClasses: {\n success: 'mn-alert-success',\n info: 'mn-alert-info',\n warning: 'mn-alert-warning',\n error: 'mn-alert-error',\n default: 'alert'\n },\n icons: {},\n defaultDuration: 4000,\n finalize: (a) => a\n};\n","// projects/mn-angular-lib/src/lib/mn-mn-alert/mn-mn-alert.providers.ts\nimport { Provider } from '@angular/core';\nimport { MN_ALERT_CONFIG, MnAlertConfig, DEFAULT_MN_ALERT_CONFIG } from './mn-alert.tokens';\n\nexport function provideMnAlerts(config: MnAlertConfig = {}): Provider {\n const merged: MnAlertConfig = {\n ...DEFAULT_MN_ALERT_CONFIG,\n ...config,\n durations: { ...DEFAULT_MN_ALERT_CONFIG.durations, ...(config.durations ?? {}) },\n cssClasses: { ...DEFAULT_MN_ALERT_CONFIG.cssClasses, ...(config.cssClasses ?? {}) },\n icons: { ...DEFAULT_MN_ALERT_CONFIG.icons, ...(config.icons ?? {}) }\n };\n return { provide: MN_ALERT_CONFIG, useValue: merged };\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { MnAlert, MnAlertId } from './mn-alert.types';\nimport { DEFAULT_MN_ALERT_CONFIG } from './mn-alert.tokens';\n\nlet COUNTER = 0;\nconst uid = () => `mn_${++COUNTER}`;\n\n@Injectable({ providedIn: 'root' })\nexport class MnAlertStore {\n private readonly _alerts$ = new BehaviorSubject<MnAlert[]>([]);\n readonly alerts$ = this._alerts$.asObservable();\n\n show(partial: Omit<MnAlert, 'id'>): MnAlertId {\n // Ensure every alert has a numeric duration: use provided or fall back to per-kind default\n const computedDuration = (partial as any).duration ?? (DEFAULT_MN_ALERT_CONFIG.durations as any)[(partial as any).kind] ?? DEFAULT_MN_ALERT_CONFIG.defaultDuration;\n const a: MnAlert = { id: uid(), ...partial, duration: computedDuration } as MnAlert;\n this._alerts$.next([...this._alerts$.value, a]);\n\n if (typeof a.duration === 'number' && a.duration > 0) {\n setTimeout(() => this.dismiss(a.id), a.duration);\n }\n return a.id;\n }\n\n dismiss(id: MnAlertId) {\n const list = this._alerts$.value;\n if (list.some(x => x.id === id)) {\n this._alerts$.next(list.filter(x => x.id !== id));\n }\n }\n\n clear() {\n this._alerts$.next([]);\n }\n}\n","// projects/mn-angular-lib/src/lib/mn-mn-alert/mn-mn-alert.service.ts\nimport { Injectable, Inject, Optional } from '@angular/core';\nimport { MnAlertStore } from './mn-alert.store';\nimport { MnAlert, MnAlertId } from './mn-alert.types';\nimport { MN_ALERT_CONFIG, DEFAULT_MN_ALERT_CONFIG, MnAlertConfig, MnAlertKind } from './mn-alert.tokens';\n\nexport interface MnShowInput {\n title: string;\n subTitle?: string;\n duration?: number;\n icon?: unknown;\n cssClass?: string;\n meta?: Record<string, unknown>;\n kind: MnAlertKind;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class MnAlertService {\n private readonly cfg: Required<MnAlertConfig>;\n private readonly userDurations?: Partial<Record<MnAlertKind, number | null>>;\n private readonly hasUserDurations: boolean;\n\n constructor(\n private readonly store: MnAlertStore,\n @Optional() @Inject(MN_ALERT_CONFIG) cfg: MnAlertConfig | null\n ) {\n this.userDurations = cfg?.durations;\n this.hasUserDurations = !!cfg?.durations;\n this.cfg = {\n ...DEFAULT_MN_ALERT_CONFIG,\n ...(cfg ?? {}),\n // Do not pre-merge durations; keep defaults separate and use logic in kind()\n durations: DEFAULT_MN_ALERT_CONFIG.durations,\n cssClasses: { ...DEFAULT_MN_ALERT_CONFIG.cssClasses, ...(cfg?.cssClasses ?? {}) },\n icons: { ...DEFAULT_MN_ALERT_CONFIG.icons, ...(cfg?.icons ?? {}) }\n };\n }\n\n show(input: MnShowInput): MnAlertId {\n // Always ensure a numeric duration is set\n let duration = input.duration;\n if (duration == null) {\n // Prefer user defaultDuration if provided and not null, otherwise use library per-kind default\n const userDefault = this.cfg.defaultDuration;\n if (typeof userDefault === 'number') {\n duration = userDefault;\n } else {\n duration = DEFAULT_MN_ALERT_CONFIG.durations[input.kind as keyof typeof DEFAULT_MN_ALERT_CONFIG.durations] as number;\n }\n }\n\n const a: Omit<MnAlert, 'id'> = {\n title: input.title,\n subTitle: input.subTitle,\n duration,\n icon: input.icon,\n cssClass: input.cssClass,\n meta: input.meta,\n kind: input.kind\n };\n return this.store.show(this.cfg.finalize(a as MnAlert));\n }\n\n success(title: string, subTitle?: string, extra?: Partial<MnShowInput>) {\n return this.kind('success', title, subTitle, extra);\n }\n info(title: string, subTitle?: string, extra?: Partial<MnShowInput>) {\n return this.kind('info', title, subTitle, extra);\n }\n warning(title: string, subTitle?: string, extra?: Partial<MnShowInput>) {\n return this.kind('warning', title, subTitle, extra);\n }\n error(title: string, subTitle?: string, extra?: Partial<MnShowInput>) {\n return this.kind('error', title, subTitle, extra);\n }\n\n dismiss(id: MnAlertId) { this.store.dismiss(id); }\n clear() { this.store.clear(); }\n\n private kind(kind: MnAlertKind, title: string, subTitle?: string, extra?: Partial<MnShowInput>) {\n let duration: number | null | undefined = extra?.duration;\n\n if (duration == null) {\n if (this.hasUserDurations) {\n const userDur = this.userDurations?.[kind];\n if (typeof userDur === 'number') {\n duration = userDur;\n } else {\n // userDur is undefined or null -> fallback to user defaultDuration if numeric\n if (typeof this.cfg.defaultDuration === 'number') {\n duration = this.cfg.defaultDuration;\n } else {\n duration = this.cfg.durations[kind as keyof typeof this.cfg.durations];\n }\n }\n } else {\n // No user durations provided at all; use library defaults per kind\n duration = this.cfg.durations[kind as keyof typeof this.cfg.durations];\n }\n }\n\n const cssClass = extra?.cssClass ?? this.cfg.cssClasses[kind];\n const icon = (extra?.icon ?? this.cfg.icons[kind]) as unknown;\n\n return this.show({ title, subTitle, duration: duration as number, cssClass, icon, meta: extra?.meta , kind: kind});\n }\n}\n","\nimport {Component, Input, TemplateRef, ChangeDetectionStrategy, inject} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport {MnAlertStore} from '../mn-alert.store';\nimport {MnAlert} from '../mn-alert.types';\n\nexport interface MnAlertTemplateContext {\n $implicit: MnAlert;\n alert: MnAlert;\n dismiss: () => void;\n}\n\n@Component({\n selector: 'mn-alert-outlet',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './mn-alert-outlet.html',\n styleUrl: './mn-alert-outlet.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MnAlertOutletComponent {\n @Input({ required: true }) template!: TemplateRef<MnAlertTemplateContext>;\n\n private store = inject(MnAlertStore);\n alerts$: Observable<MnAlert[]> = this.store.alerts$;\n\n constructor() {}\n\n dismissAlert(id: string) {\n this.store.dismiss(id);\n }\n\n trackById = (_: number, a: MnAlert) => a.id;\n\n contextFor(a: MnAlert) {\n return {\n $implicit: a,\n alert: a,\n dismiss: () => this.dismissAlert(a.id)\n } as const;\n }\n\n}\n","@if (alerts$ | async; as alerts) {\n @for (a of alerts; track trackById) {\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"contextFor(a)\">\n </ng-container>\n }\n}\n","/*\n * Public API Surface of mn-lib\n */\nexport * from './lib';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mn-angular-lib.mjs","sources":["../../../projects/mn-angular-lib/src/lib/styles/theme.service.ts","../../../projects/mn-angular-lib/src/lib/styles/themes.ts","../../../projects/mn-angular-lib/src/lib/features/mn-alert/mn-alert.tokens.ts","../../../projects/mn-angular-lib/src/lib/features/mn-alert/mn-alert.providers.ts","../../../projects/mn-angular-lib/src/lib/features/mn-alert/mn-alert.store.ts","../../../projects/mn-angular-lib/src/lib/features/mn-alert/mn-alert.service.ts","../../../projects/mn-angular-lib/src/lib/features/mn-alert/mn-alert-outlet/mn-alert-outlet.ts","../../../projects/mn-angular-lib/src/lib/features/mn-alert/mn-alert-outlet/mn-alert-outlet.html","../../../projects/mn-angular-lib/src/lib/features/test/test.ts","../../../projects/mn-angular-lib/src/lib/features/test/test.html","../../../projects/mn-angular-lib/src/public-api.ts","../../../projects/mn-angular-lib/src/mn-angular-lib.ts"],"sourcesContent":["import { Injectable, signal, WritableSignal, inject } from '@angular/core';\nimport { MnTheme, MN_THEME_DEFAULTS } from './themes';\n\n@Injectable({ providedIn: 'root' })\nexport class MnThemeService {\n private readonly _theme: WritableSignal<MnTheme> = signal<MnTheme>(MN_THEME_DEFAULTS);\n\n theme = this._theme.asReadonly();\n\n setTheme(partial: Partial<MnTheme>) {\n const merged = { ...this._theme(), ...partial } as MnTheme;\n this._theme.set(merged);\n }\n\n setAll(next: MnTheme) {\n this._theme.set(next);\n }\n\n reset() {\n this._theme.set(MN_THEME_DEFAULTS);\n }\n}\n\n// Provider to initialize dynamic theme easily at component/app level\nexport function provideMnThemeDynamic(initial?: Partial<MnTheme>) {\n return {\n provide: MnThemeService,\n useFactory: () => {\n const svc = new MnThemeService();\n if (initial) {\n svc.setTheme({ ...initial });\n }\n return svc;\n }\n };\n}\n","import { InjectionToken, inject, Signal, computed } from '@angular/core';\nimport { MnThemeService } from './theme.service';\n\nexport interface MnTheme {\n primary: string;\n radius: string;\n padding: string;\n}\n\nexport const MN_THEME_DEFAULTS: MnTheme = {\n primary: '#0d6efd',\n radius: '0.375rem',\n padding: '0.5rem 0.75rem',\n};\n\nexport const MN_THEME = new InjectionToken<MnTheme>('MN_THEME', {\n providedIn: 'root',\n factory: () => MN_THEME_DEFAULTS,\n});\n\nexport function provideMnTheme(partial: Partial<MnTheme>) {\n return {\n provide: MN_THEME,\n useValue: { ...MN_THEME_DEFAULTS, ...partial },\n };\n}\n\nexport function injectTheme(): MnTheme {\n const t = inject<MnTheme>(MN_THEME, { optional: true });\n return t ?? MN_THEME_DEFAULTS;\n}\n\n/** Reactive variant: altijd een Signal<MnTheme> teruggeven */\nexport function injectThemeSignal(): Signal<MnTheme> {\n const svc = inject(MnThemeService, { optional: true });\n\n if (svc) {\n return (('asReadonly' in svc.theme) ? (svc.theme as any).asReadonly() : svc.theme) as Signal<MnTheme>;\n }\n const snap = injectTheme();\n return computed(() => snap);\n}\n","// projects/mn-angular-lib/src/lib/mn-mn-alert/mn-mn-alert.tokens.ts\nimport { InjectionToken } from '@angular/core';\nimport { MnAlert } from './mn-alert.types';\n\nexport type MnAlertKind = 'success' | 'info' | 'warning' | 'error' | 'default';\n\nexport interface MnAlertConfig {\n durations?: Partial<Record<MnAlertKind, number | null>>;\n cssClasses?: Partial<Record<MnAlertKind, string>>;\n icons?: Partial<Record<MnAlertKind, unknown>>;\n defaultDuration?: number | null;\n finalize?: (a: MnAlert) => MnAlert;\n}\n\nexport const MN_ALERT_CONFIG = new InjectionToken<MnAlertConfig>('MN_ALERT_CONFIG');\n\nexport const DEFAULT_MN_ALERT_CONFIG: Required<MnAlertConfig> = {\n durations: { success: 3000, info: 4000, warning: 5000, error: 7000, default: 4000 },\n cssClasses: {\n success: 'mn-alert-success',\n info: 'mn-alert-info',\n warning: 'mn-alert-warning',\n error: 'mn-alert-error',\n default: 'alert'\n },\n icons: {},\n defaultDuration: 4000,\n finalize: (a) => a\n};\n","// projects/mn-angular-lib/src/lib/mn-mn-alert/mn-mn-alert.providers.ts\nimport { Provider } from '@angular/core';\nimport { MN_ALERT_CONFIG, MnAlertConfig, DEFAULT_MN_ALERT_CONFIG } from './mn-alert.tokens';\n\nexport function provideMnAlerts(config: MnAlertConfig = {}): Provider {\n const merged: MnAlertConfig = {\n ...DEFAULT_MN_ALERT_CONFIG,\n ...config,\n durations: { ...DEFAULT_MN_ALERT_CONFIG.durations, ...(config.durations ?? {}) },\n cssClasses: { ...DEFAULT_MN_ALERT_CONFIG.cssClasses, ...(config.cssClasses ?? {}) },\n icons: { ...DEFAULT_MN_ALERT_CONFIG.icons, ...(config.icons ?? {}) }\n };\n return { provide: MN_ALERT_CONFIG, useValue: merged };\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { MnAlert, MnAlertId } from './mn-alert.types';\nimport { DEFAULT_MN_ALERT_CONFIG } from './mn-alert.tokens';\n\nlet COUNTER = 0;\nconst uid = () => `mn_${++COUNTER}`;\n\n@Injectable({ providedIn: 'root' })\nexport class MnAlertStore {\n private readonly _alerts$ = new BehaviorSubject<MnAlert[]>([]);\n readonly alerts$ = this._alerts$.asObservable();\n\n show(partial: Omit<MnAlert, 'id'>): MnAlertId {\n // Ensure every alert has a numeric duration: use provided or fall back to per-kind default\n const computedDuration = (partial as any).duration ?? (DEFAULT_MN_ALERT_CONFIG.durations as any)[(partial as any).kind] ?? DEFAULT_MN_ALERT_CONFIG.defaultDuration;\n const a: MnAlert = { id: uid(), ...partial, duration: computedDuration } as MnAlert;\n this._alerts$.next([...this._alerts$.value, a]);\n\n if (typeof a.duration === 'number' && a.duration > 0) {\n setTimeout(() => this.dismiss(a.id), a.duration);\n }\n return a.id;\n }\n\n dismiss(id: MnAlertId) {\n const list = this._alerts$.value;\n if (list.some(x => x.id === id)) {\n this._alerts$.next(list.filter(x => x.id !== id));\n }\n }\n\n clear() {\n this._alerts$.next([]);\n }\n}\n","// projects/mn-angular-lib/src/lib/mn-mn-alert/mn-mn-alert.service.ts\nimport { Injectable, Inject, Optional } from '@angular/core';\nimport { MnAlertStore } from './mn-alert.store';\nimport { MnAlert, MnAlertId } from './mn-alert.types';\nimport { MN_ALERT_CONFIG, DEFAULT_MN_ALERT_CONFIG, MnAlertConfig, MnAlertKind } from './mn-alert.tokens';\n\nexport interface MnShowInput {\n title: string;\n subTitle?: string;\n duration?: number;\n icon?: unknown;\n cssClass?: string;\n meta?: Record<string, unknown>;\n kind: MnAlertKind;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class MnAlertService {\n private readonly cfg: Required<MnAlertConfig>;\n private readonly userDurations?: Partial<Record<MnAlertKind, number | null>>;\n private readonly hasUserDurations: boolean;\n\n constructor(\n private readonly store: MnAlertStore,\n @Optional() @Inject(MN_ALERT_CONFIG) cfg: MnAlertConfig | null\n ) {\n this.userDurations = cfg?.durations;\n this.hasUserDurations = !!cfg?.durations;\n this.cfg = {\n ...DEFAULT_MN_ALERT_CONFIG,\n ...(cfg ?? {}),\n // Do not pre-merge durations; keep defaults separate and use logic in kind()\n durations: DEFAULT_MN_ALERT_CONFIG.durations,\n cssClasses: { ...DEFAULT_MN_ALERT_CONFIG.cssClasses, ...(cfg?.cssClasses ?? {}) },\n icons: { ...DEFAULT_MN_ALERT_CONFIG.icons, ...(cfg?.icons ?? {}) }\n };\n }\n\n show(input: MnShowInput): MnAlertId {\n // Always ensure a numeric duration is set\n let duration = input.duration;\n if (duration == null) {\n // Prefer user defaultDuration if provided and not null, otherwise use library per-kind default\n const userDefault = this.cfg.defaultDuration;\n if (typeof userDefault === 'number') {\n duration = userDefault;\n } else {\n duration = DEFAULT_MN_ALERT_CONFIG.durations[input.kind as keyof typeof DEFAULT_MN_ALERT_CONFIG.durations] as number;\n }\n }\n\n const a: Omit<MnAlert, 'id'> = {\n title: input.title,\n subTitle: input.subTitle,\n duration,\n icon: input.icon,\n cssClass: input.cssClass,\n meta: input.meta,\n kind: input.kind\n };\n return this.store.show(this.cfg.finalize(a as MnAlert));\n }\n\n success(title: string, subTitle?: string, extra?: Partial<MnShowInput>) {\n return this.kind('success', title, subTitle, extra);\n }\n info(title: string, subTitle?: string, extra?: Partial<MnShowInput>) {\n return this.kind('info', title, subTitle, extra);\n }\n warning(title: string, subTitle?: string, extra?: Partial<MnShowInput>) {\n return this.kind('warning', title, subTitle, extra);\n }\n error(title: string, subTitle?: string, extra?: Partial<MnShowInput>) {\n return this.kind('error', title, subTitle, extra);\n }\n\n dismiss(id: MnAlertId) { this.store.dismiss(id); }\n clear() { this.store.clear(); }\n\n private kind(kind: MnAlertKind, title: string, subTitle?: string, extra?: Partial<MnShowInput>) {\n let duration: number | null | undefined = extra?.duration;\n\n if (duration == null) {\n if (this.hasUserDurations) {\n const userDur = this.userDurations?.[kind];\n if (typeof userDur === 'number') {\n duration = userDur;\n } else {\n // userDur is undefined or null -> fallback to user defaultDuration if numeric\n if (typeof this.cfg.defaultDuration === 'number') {\n duration = this.cfg.defaultDuration;\n } else {\n duration = this.cfg.durations[kind as keyof typeof this.cfg.durations];\n }\n }\n } else {\n // No user durations provided at all; use library defaults per kind\n duration = this.cfg.durations[kind as keyof typeof this.cfg.durations];\n }\n }\n\n const cssClass = extra?.cssClass ?? this.cfg.cssClasses[kind];\n const icon = (extra?.icon ?? this.cfg.icons[kind]) as unknown;\n\n return this.show({ title, subTitle, duration: duration as number, cssClass, icon, meta: extra?.meta , kind: kind});\n }\n}\n","\nimport {Component, Input, TemplateRef, ChangeDetectionStrategy, inject} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport {MnAlertStore} from '../mn-alert.store';\nimport {MnAlert} from '../mn-alert.types';\n\nexport interface MnAlertTemplateContext {\n $implicit: MnAlert;\n alert: MnAlert;\n dismiss: () => void;\n}\n\n@Component({\n selector: 'mn-alert-outlet',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './mn-alert-outlet.html',\n styleUrl: './mn-alert-outlet.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MnAlertOutletComponent {\n @Input({ required: true }) template!: TemplateRef<MnAlertTemplateContext>;\n\n private store = inject(MnAlertStore);\n alerts$: Observable<MnAlert[]> = this.store.alerts$;\n\n constructor() {}\n\n dismissAlert(id: string) {\n this.store.dismiss(id);\n }\n\n trackById = (_: number, a: MnAlert) => a.id;\n\n contextFor(a: MnAlert) {\n return {\n $implicit: a,\n alert: a,\n dismiss: () => this.dismissAlert(a.id)\n } as const;\n }\n\n}\n","@if (alerts$ | async; as alerts) {\n @for (a of alerts; track trackById) {\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"contextFor(a)\">\n </ng-container>\n }\n}\n","import { Component } from '@angular/core';\nimport { injectThemeSignal } from '../../styles';\nimport { NgStyle } from '@angular/common';\n\n@Component({\n selector: 'lib-test',\n imports: [\n NgStyle\n ],\n templateUrl: './test.html',\n styleUrl: './test.css',\n})\nexport class Test {\n // Reactive theme signal; templates read via theme().primary\n theme = injectThemeSignal();\n}\n","<p [ngStyle]=\"{'color' : theme().primary }\">test works!</p>\n","/*\n * Public API Surface of mn-lib\n */\nexport * from './lib';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, Provider, TemplateRef } from '@angular/core';
|
|
2
|
+
import { InjectionToken, Signal, Provider, TemplateRef } from '@angular/core';
|
|
3
3
|
import * as rxjs from 'rxjs';
|
|
4
4
|
import { Observable } from 'rxjs';
|
|
5
|
+
import * as mn_angular_lib from 'mn-angular-lib';
|
|
5
6
|
|
|
6
7
|
interface MnTheme {
|
|
7
8
|
primary: string;
|
|
@@ -18,6 +19,23 @@ declare function provideMnTheme(partial: Partial<MnTheme>): {
|
|
|
18
19
|
padding: string;
|
|
19
20
|
};
|
|
20
21
|
};
|
|
22
|
+
declare function injectTheme(): MnTheme;
|
|
23
|
+
/** Reactive variant: altijd een Signal<MnTheme> teruggeven */
|
|
24
|
+
declare function injectThemeSignal(): Signal<MnTheme>;
|
|
25
|
+
|
|
26
|
+
declare class MnThemeService {
|
|
27
|
+
private readonly _theme;
|
|
28
|
+
theme: i0.Signal<MnTheme>;
|
|
29
|
+
setTheme(partial: Partial<MnTheme>): void;
|
|
30
|
+
setAll(next: MnTheme): void;
|
|
31
|
+
reset(): void;
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MnThemeService, never>;
|
|
33
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<MnThemeService>;
|
|
34
|
+
}
|
|
35
|
+
declare function provideMnThemeDynamic(initial?: Partial<MnTheme>): {
|
|
36
|
+
provide: typeof MnThemeService;
|
|
37
|
+
useFactory: () => MnThemeService;
|
|
38
|
+
};
|
|
21
39
|
|
|
22
40
|
type MnAlertId = string;
|
|
23
41
|
interface MnAlert {
|
|
@@ -102,5 +120,11 @@ declare class MnAlertOutletComponent {
|
|
|
102
120
|
static ɵcmp: i0.ɵɵComponentDeclaration<MnAlertOutletComponent, "mn-alert-outlet", never, { "template": { "alias": "template"; "required": true; }; }, {}, never, never, true, never>;
|
|
103
121
|
}
|
|
104
122
|
|
|
105
|
-
|
|
123
|
+
declare class Test {
|
|
124
|
+
theme: i0.Signal<mn_angular_lib.MnTheme>;
|
|
125
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Test, never>;
|
|
126
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Test, "lib-test", never, {}, {}, never, never, true, never>;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export { DEFAULT_MN_ALERT_CONFIG, MN_ALERT_CONFIG, MN_THEME, MN_THEME_DEFAULTS, MnAlertOutletComponent, MnAlertService, MnAlertStore, MnThemeService, Test, injectTheme, injectThemeSignal, provideMnAlerts, provideMnTheme, provideMnThemeDynamic };
|
|
106
130
|
export type { MnAlert, MnAlertConfig, MnAlertId, MnAlertKind, MnAlertTemplateContext, MnShowInput, MnTheme };
|