@ng-atomic/core 19.50.0 → 19.80.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.
@@ -26,7 +26,6 @@ const DEFAULT_EFFECT_PROPS = {
26
26
  accessor: (action) => action.payload,
27
27
  };
28
28
  function normalizeEffectProps(props = {}) {
29
- // If props has 'scope' but not 'scopes', convert scope to scopes array
30
29
  let scopes;
31
30
  if ('scope' in props && !('scopes' in props)) {
32
31
  scopes = props.scope ? [props.scope] : undefined;
@@ -204,7 +203,7 @@ function proxyFakeComputedInputs(target, inputs) {
204
203
  target[input] = proxyFakeComputedInputValueFn(target[input]);
205
204
  });
206
205
  }
207
- const FAKE_COMPUTED = /* @__PURE__ */ Symbol('FAKE_COMPUTED');
206
+ const FAKE_COMPUTED = Symbol('FAKE_COMPUTED');
208
207
  function compute(target, propName) {
209
208
  let inputValueFn;
210
209
  Object.defineProperty(target, propName, {
@@ -305,15 +304,12 @@ class InjectableComponent {
305
304
  #component = null;
306
305
  #componentMirror = null;
307
306
  injectable = input(false, { ...(ngDevMode ? { debugName: "injectable" } : {}), transform: (value) => value === '' ? true : value });
308
- // TOTO: 消すと一部のActionEffectが動かなくなる。おそらくバインディングの問題。
309
307
  __action = output({ alias: 'action' });
310
308
  get #inputs() {
311
309
  return getInputs(this.constructor);
312
310
  }
313
311
  get #outputs() {
314
312
  return getOutputs(this.constructor);
315
- // const impl = this.#componentMirror!.outputs;
316
- // return abs.filter(abstractOutput => impl.some(implOutput => implOutput.templateName === abstractOutput.templateName));
317
313
  }
318
314
  #setAttribute() {
319
315
  const hostElement = this.#component.hostView.rootNodes[0];
@@ -386,11 +382,7 @@ class InjectableComponent {
386
382
  this.#bindOutputs();
387
383
  this.#bindEvents();
388
384
  this.#setAttribute();
389
- // this.#viewContainerRef.remove(0);
390
385
  this.#component.changeDetectorRef.detectChanges();
391
- // wrapper要素をレイアウトから完全除外
392
- // DOM除去はAngularのview管理(ng-star-inserted)が再挿入するため不可
393
- // !importantでコンポーネントの:host CSSを確実に上書き
394
386
  const el = this.#el.nativeElement;
395
387
  el.style.setProperty('display', 'none', 'important');
396
388
  el.style.setProperty('width', '0', 'important');
@@ -398,7 +390,6 @@ class InjectableComponent {
398
390
  el.style.setProperty('overflow', 'hidden', 'important');
399
391
  el.style.setProperty('position', 'absolute', 'important');
400
392
  }).catch(() => {
401
- // テスト環境で@Component定義が見つからない場合のUnhandled Rejection防止
402
393
  });
403
394
  }
404
395
  this.proxyFakeComputedInputs();
@@ -422,7 +413,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
422
413
  type: Directive,
423
414
  args: [{
424
415
  standalone: true,
425
- // host: {ngSkipHydration: 'true'}
426
416
  }]
427
417
  }], ctorParameters: () => [], propDecorators: { injectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "injectable", required: false }] }], __action: [{ type: i0.Output, args: ["action"] }] } });
428
418
 
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-core.mjs","sources":["../../../../../packages/@ng-atomic/core/src/lib/logger.ts","../../../../../packages/@ng-atomic/core/src/lib/effect.ts","../../../../../packages/@ng-atomic/core/src/lib/action-store.ts","../../../../../packages/@ng-atomic/core/src/lib/action.ts","../../../../../packages/@ng-atomic/core/src/lib/signals.ts","../../../../../packages/@ng-atomic/core/src/lib/injectable-component.ts","../../../../../packages/@ng-atomic/core/src/lib/input.ts","../../../../../packages/@ng-atomic/core/src/lib/route.ts","../../../../../packages/@ng-atomic/core/src/lib/ng-atomic-debug.ts","../../../../../packages/@ng-atomic/core/src/lib/debug/debug.directive.ts","../../../../../packages/@ng-atomic/core/src/lib/ng-atomic-component.ts","../../../../../packages/@ng-atomic/core/src/lib/ng-atomic-core.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { Action } from \"./action\";\n\n@Injectable({providedIn: 'root'})\nexport class NgAtomicActionLogger {\n log(action: Action, scope = 'default') {\n console.info(`[NgAtomicActionLogger] ${action?.name}`, {action, scope});\n }\n}\n","import { InjectionToken, Injector, Provider, inject, runInInjectionContext } from \"@angular/core\";\nimport { Action } from \"./action\";\nimport type { NgAtomicComponent } from \"./ng-atomic-component\";\n\nexport interface EffectProps {\n dispatch: boolean;\n scopes: string[];\n accessor: (action: Action) => any;\n}\n\nexport const DEFAULT_EFFECT_PROPS: EffectProps = {\n dispatch: false,\n scopes: ['host'],\n accessor: (action: Action) => action.payload,\n} as const;\n\nexport function normalizeEffectProps(props: Partial<EffectProps & { scope?: string }> = {}) {\n // If props has 'scope' but not 'scopes', convert scope to scopes array\n let scopes: string[] | undefined;\n if ('scope' in props && !('scopes' in props)) {\n scopes = props.scope ? [props.scope] : undefined;\n } else {\n scopes = props.scopes;\n }\n\n return {\n dispatch: props.dispatch ?? DEFAULT_EFFECT_PROPS.dispatch,\n scopes: scopes ? [...scopes] : [...DEFAULT_EFFECT_PROPS.scopes],\n accessor: props.accessor ?? DEFAULT_EFFECT_PROPS.accessor,\n };\n}\n\nexport interface EffectContext {\n hostInjector: Injector,\n}\n\nexport interface ActionContext {\n scope: 'root' | 'host' | string,\n component?: NgAtomicComponent,\n}\n\ntype Effect = (payload?: any, context?: ActionContext) => any | Promise<any>;\ntype EffectFactory = (hostInjector?: Injector) => Effect;\nexport type EffectResult = { dispatch: boolean };\n\nexport interface EffectEntry {\n\tactionIds: string | string[];\n effectFactory?: EffectFactory;\n props?: EffectProps;\n context?: EffectContext;\n}\n\ninterface ResolvedEffectEntry {\n effectFactory: () => Effect;\n props: EffectProps;\n}\n\nconst EFFECT_ENTRY = new InjectionToken<EffectEntry>('[@ng-atomic/core] EFFECT_ENTRY');\n\nfunction provideEffectEntryMulti(useFactory: (factoryInjector: Injector) => EffectEntry): Provider {\n return {\n provide: EFFECT_ENTRY,\n useFactory,\n\t\tmulti: true,\n\t\tdeps: [Injector],\n }\n}\n\nexport function provideEffect(\n ActionIds: string[] | string,\n _effectFactory: (factoryInjector: Injector) => Effect,\n props?: Partial<EffectProps & { scope?: string }>,\n): Provider {\n return provideEffectEntryMulti((factoryInjector: Injector) => ({\n actionIds: ActionIds,\n effectFactory: ((host?: Injector) => runInInjectionContext(host!, () => _effectFactory(factoryInjector))) as EffectFactory,\n props: normalizeEffectProps(props),\n }));\n}\n\nexport function injectEffectEntries(injector: Injector = inject(Injector)) {\n const raw = injector.get<EffectEntry[]>(EFFECT_ENTRY, [], { optional: true });\n return raw.map((entry) => ({\n ...entry, context: { hostInjector: injector, scope: null }\n }));\n}\n\nconst EFFECT_ENTRIES_KEY = Symbol('_effectEntries_');\n\nexport function getEffectEntries(target: any): EffectEntry[] {\n return target[EFFECT_ENTRIES_KEY] ??= [];\n}\n\nexport function Effect(actionId: string, props: Partial<EffectProps & { scope?: string }> = {}) {\n const normalizedProps = normalizeEffectProps(props);\n return function (target: any, _: string, descriptor: PropertyDescriptor) {\n getEffectEntries(target).push({\n actionIds: [actionId],\n props: normalizedProps, \n effectFactory: () => ((payload?: any, context?: ActionContext) => descriptor.value.call(context?.component, payload)) as Effect,\n context: { hostInjector: Injector.NULL }\n });\n };\n}\n\nexport class EffectResolver {\n protected readonly effectEntryMap = new Map<string, ResolvedEffectEntry>();\n\n register(effectEntry: EffectEntry) {\n const actionIds = Array.isArray(effectEntry.actionIds) ? effectEntry.actionIds : [effectEntry.actionIds];\n for (const actionId of actionIds) {\n for (const scope of effectEntry.props!.scopes) {\n const key = this.makeKey(actionId, scope);\n this.effectEntryMap.set(key, {\n effectFactory: () => effectEntry.effectFactory!(effectEntry.context!.hostInjector),\n props: effectEntry.props!,\n });\n }\n }\n }\n\n registerMany(entries: EffectEntry[]) {\n for (const entry of entries) this.register(entry);\n }\n\n resolve(actionId: string, scope = 'host'): ResolvedEffectEntry | undefined {\n return this.effectEntryMap.get(this.makeKey(actionId, scope));\n }\n\n private makeKey(actionId: string, scope = 'host') {\n return `[${scope}]#${actionId}`;\n }\n}\n\nexport async function applyEffect(resolver: EffectResolver, action: Action, context: ActionContext): Promise<EffectResult> {\n const entry = resolver.resolve(action.id, context.scope);\n if (entry?.effectFactory) {\n const effect = entry.effectFactory();\n const payload = entry.props.accessor(action);\n await effect(payload, context);\n return { dispatch: entry.props.dispatch };\n }\n return { dispatch: true };\n}\n","import { EventEmitter, inject, Injectable } from \"@angular/core\";\nimport { Action } from \"./action\";\nimport { NgAtomicActionLogger } from \"./logger\";\nimport { applyEffect, EffectEntry, EffectResolver } from \"./effect\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\n\n@Injectable({providedIn: 'root'})\nexport class NgAtomicRootActionStore {\n protected readonly logger = inject(NgAtomicActionLogger);\n protected readonly actions$ = new EventEmitter<Action>();\n protected readonly resolver = new EffectResolver();\n\n constructor() {\n this.actions$.pipe(takeUntilDestroyed()).subscribe(action => {\n this.logger.log(action, 'root')\n applyEffect(this.resolver, action, { component: undefined, scope: 'root' });\n });\n }\n\n async dispatch(action: Action): Promise<void> {\n this.actions$.emit(action);\n }\n\n register(effectEntry: EffectEntry): void {\n this.resolver.register(effectEntry);\n }\n\n registerMany(effectEntries: EffectEntry[]): void {\n this.resolver.registerMany(effectEntries);\n }\n}","import Ajv from \"ajv\";\nimport { ClassConstructor, plainToInstance } from \"class-transformer\";\nimport { validateSync } from \"class-validator\";\nimport { JsonSchema } from \"json-schema-library\";\n\nexport interface Action<T = any> {\n id: string;\n payload?: T;\n name?: string;\n icon?: string;\n color?: string;\n disabled?: boolean;\n children?: Action<T>[],\n meta?: {componentId?: string | number | null} | any;\n}\n\nexport type ActionsFactory<T = any> = (...args: any[]) => Action<T>[];\n\n/** @deprecated */\nexport type Actions = ActionsFactory | Action[];\n\nexport type NavActions = Action[][] | Action[];\nexport type ItemActions<T = any> = (item: T) => Action[];\n\nexport function resolveActions(actions: Actions, ...args: any[]) {\n if (typeof actions === 'function') {\n return actions(...args);\n }\n return actions;\n}\n\nexport function wrapActions(actions: Actions): ActionsFactory {\n return typeof actions === 'function' ? actions : () => actions;\n}\n\nexport interface CreateActionsOptions<P extends object = any> {\n validator?: (item: P) => null | string | string[];\n name?: string;\n icon?: string;\n}\n\nexport type ActionFactory<P extends object = any> = (payload?: P, meta?: CreateActionsOptions) => Action<P>;\n\nexport function createAction<P extends object = any>(\n type: string,\n schema: JsonSchema | ClassConstructor<P>,\n options: CreateActionsOptions<P> = {},\n): {validate: (item: P) => null | string | string[], create: ActionFactory<P>} { \n const defaultValidator = (item: P) => {\n if (typeof schema === 'object') {\n const _schema = {\n ...schema,\n required: schema.required.filter((key: string) => key in item),\n };\n const isValid = new Ajv().compile(_schema)(item);\n if (!isValid) return 'invalid';\n return null;\n } else {\n const errors = validateSync(plainToInstance(schema, {...item}) as object);\n if (errors.length) return 'invalid';\n return null;\n }\n }\n return {\n validate: options?.validator ?? defaultValidator,\n create: (payload: P = {} as any, meta: {name?: string, icon?: string} = {}): Action => ({\n id: type,\n payload,\n name: options.name ?? type,\n icon: options.icon,\n ...meta,\n }),\n }\n}\n","import { CreateComputedOptions, Pipe, Signal, computed, isSignal, PipeTransform } from \"@angular/core\";\n\nfunction call<T>(valueOrSignal: Signal<T> | T): T {\n return isSignal(valueOrSignal) ? call(valueOrSignal()) : valueOrSignal;\n}\n\nexport function proxyFakeComputedInputValueFn(inputValueFn: any) {\n return new Proxy(inputValueFn, {\n apply: function (target, _, args) {\n return computeFake(target(...args));\n }\n });\n}\n\nexport function computeFake<T>(valueOrFakeComputed: T): T {\n return isFakeComputed(valueOrFakeComputed) ? valueOrFakeComputed() as T : valueOrFakeComputed;\n}\n\nexport function isSignalOrFakeComputed<T>(value: any): value is (Signal<T> | ReturnType<typeof computed<T>>) {\n return isSignal(value) || isFakeComputed(value);\n}\n\nexport function computeFakeV2<T>(valueOrFakeComputed: Signal<T> | T): T {\n return isSignalOrFakeComputed<T>(valueOrFakeComputed) ? computeFakeV2(valueOrFakeComputed()) as T : valueOrFakeComputed;\n}\n\nexport function proxyFakeComputedInputs(target: any, inputs: string[]) {\n inputs.filter(input => isSignal(target[input])).forEach(input => {\n target[input] = proxyFakeComputedInputValueFn(target[input]);\n });\n}\n\nexport const FAKE_COMPUTED = /* @__PURE__ */ Symbol('FAKE_COMPUTED');\n\nexport function compute(target: any, propName: string) {\n let inputValueFn: any;\n Object.defineProperty(target, propName, {\n get() {\n return new Proxy(inputValueFn, {\n apply: function (target, _, args) {\n const valueOrSignal: any = target(...args);\n return isSignal(valueOrSignal) ? valueOrSignal() : valueOrSignal;\n }\n });\n },\n set(value) {\n inputValueFn = value;\n },\n });\n}\n\nexport function fakeComputed<T>(computation: () => T, options?: CreateComputedOptions<T>): T {\n const _computed = computed(computation, options) as never as T;\n (_computed as Record<symbol, unknown>)[FAKE_COMPUTED] = true;\n return _computed;\n}\n\nexport function _computed<T>(computation: () => T, options?: CreateComputedOptions<T>): T {\n return fakeComputed(computation, options);\n}\n\nexport function isFakeComputed(_computed: any): _computed is ReturnType<typeof computed> {\n return !!_computed?.[FAKE_COMPUTED];\n}\n\n@Pipe({ name: 'call', standalone: true, pure: true})\nexport class CallPipe implements PipeTransform {\n transform<T>(value: Signal<T> | T): T {\n return call(value);\n }\n}\n","import {\n ComponentMirror, ComponentRef, DestroyRef,\n Directive,\n ElementRef, EmbeddedViewRef,\n InjectionToken, Injector, SimpleChange, SimpleChanges,\n Type, ViewContainerRef, inject, input, PLATFORM_ID,\n EventEmitter,\n OutputRef,\n output\n} from \"@angular/core\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport { reflectComponentType, OnInit, OnChanges } from \"@angular/core\";\nimport { isPlatformBrowser } from \"@angular/common\";\nimport { proxyFakeComputedInputs } from \"./signals\";\nimport { Action } from \"./action\";\n\nexport type TypeFactoryAsync<T> = () => Promise<Type<T>>;\nexport type TypeFactory<T> = () => (Type<T> | Promise<Type<T>>);\nexport type TypeOrTypeFactory<T> = Type<T> | TypeFactory<T>;\n\nexport const TOKEN = 'Δtkn';\n\nexport function provideComponent<ABS = any, IMPL = any>(\n abstract: Type<ABS>,\n typeOrFactory: TypeOrTypeFactory<IMPL>,\n) {\n async function loadComponentType(): Promise<Type<IMPL>> {\n if (typeof typeOrFactory === 'function' && !typeOrFactory.prototype) {\n return await (typeOrFactory as TypeFactory<IMPL>)();\n } else {\n return typeOrFactory as Type<IMPL>;\n }\n }\n return { provide: (abstract as any)[TOKEN], useValue: loadComponentType };\n}\n\nexport function makeProvideComopnentConfigure<Store = any, Component = any>(abstract: Type<Store>) {\n return (typeOrFactory: TypeOrTypeFactory<Component>) => provideComponent(abstract, typeOrFactory);\n}\n\nexport function TokenizedType() {\n return function <T extends Type<any>>(type: T) {\n (type as any)[TOKEN] = new InjectionToken<T>(type.name);\n };\n}\n\nexport function getToken(type: Type<any>) {\n return (type as any)[TOKEN];\n}\n\nexport enum HostType {\n Dir = 'ɵdir',\n Cmp = 'ɵcmp',\n}\n\ntype IO = {propName: string, templateName: string};\n\nexport function getMeta<T>(type: Type<T>) {\n if (HostType.Cmp in type) {\n return type[HostType.Cmp];\n } else if (HostType.Dir in type) {\n return type[HostType.Dir];\n }\n}\n\nexport function getInputs<T>(type: Type<T>): IO[] {\n const meta = getMeta(type) as Record<string, any>;\n return Object.entries<string>(meta['inputs'])\n .map(([templateName, [propName]]) => ({propName, templateName}));\n}\n\nexport function getOutputs<T>(type: Type<T>): IO[] {\n const meta = getMeta(type) as Record<string, any>;\n return Object.entries<string>(meta['outputs'])\n .map(([templateName, propName]) => ({propName, templateName}));\n}\n\nexport function getInputsByComponentRef<T extends {} = any>(cmp: ComponentRef<T>): IO[] {\n return getInputs(cmp.instance.constructor as Type<T>);\n}\n\nexport function getOutputsByInstance<T extends {} = any>(cmp: ComponentRef<T>): IO[] {\n return getOutputs(cmp.instance.constructor as Type<T>);\n}\n\n@Directive({\n standalone: true,\n // host: {ngSkipHydration: 'true'}\n})\nexport class InjectableComponent<T = any> implements OnInit, OnChanges {\n readonly #platformId = inject(PLATFORM_ID);\n readonly #viewContainerRef = inject(ViewContainerRef);\n readonly #injector = inject(Injector);\n readonly #destroyRef = inject(DestroyRef);\n readonly #el: ElementRef<HTMLElement> = inject(ElementRef);\n #component: ComponentRef<T> | null = null;\n #componentMirror: ComponentMirror<T> | null = null;\n\n readonly injectable = input(false, {transform: (value: any) => value === '' ? true : value});\n // TOTO: 消すと一部のActionEffectが動かなくなる。おそらくバインディングの問題。\n readonly __action = output<Action>({alias: 'action'});\n\n get #inputs(): IO[] {\n return getInputs(this.constructor as Type<T>);\n }\n\n get #outputs(): IO[] {\n return getOutputs(this.constructor as Type<T>);\n // const impl = this.#componentMirror!.outputs;\n // return abs.filter(abstractOutput => impl.some(implOutput => implOutput.templateName === abstractOutput.templateName));\n }\n\n #setAttribute() {\n const hostElement = (this.#component!.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n const attributes: NamedNodeMap = this.#el.nativeElement.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i)!;\n if (attr.name === 'injectable') {\n hostElement.setAttribute('injected', '');\n } else {\n hostElement.setAttribute(attr.name, attr.value);\n }\n }\n }\n\n #bindInputs() {\n for (const input of this.#inputs) {\n if (input.propName === 'injectable') continue;\n const valueOrInputValueFn = (this as Record<string, any>)[input.propName];\n const value = typeof valueOrInputValueFn === 'function' ? valueOrInputValueFn() : valueOrInputValueFn;\n this.#setInput(input, value);\n }\n }\n\n get propNames() {\n return this.#inputs.map(input => input.propName);\n }\n\n get injected(): T | null {\n return this.#component?.instance ?? null;\n }\n\n proxyFakeComputedInputs() {\n proxyFakeComputedInputs(this, this.propNames);\n }\n\n #bindOutputs() {\n for (const output of this.#outputs) {\n const outputFn = (this.#component!.instance as any)?.[output.propName] as EventEmitter<any> | OutputRef<any>;\n if (!outputFn) {\n continue;\n } else if (outputFn instanceof EventEmitter) {\n outputFn.pipe(\n takeUntilDestroyed(this.#destroyRef)\n ).subscribe((value) => (this as Record<string, any>)[output.propName].emit(value));\n } else {\n outputFn.subscribe((value) => (this as Record<string, any>)[output.propName].emit(value));\n }\n }\n }\n\n #bindEvents() {\n for (const name of ['click']) {\n this.#component!.injector.get(ElementRef).nativeElement.addEventListener(name, (_event: Event) => {\n this.#el.nativeElement.dispatchEvent(new Event(name, {}));\n });\n }\n }\n\n #setInput(input: {propName: string, templateName: string}, value: any) {\n this.#component!.setInput(input?.templateName, value);\n }\n \n constructor() {\n this.proxyFakeComputedInputs();\n }\n\n ngOnInit() {\n if (this.injectable() && isPlatformBrowser(this.#platformId)) {\n this.#injector.get<TypeFactoryAsync<T>>(getToken(this.constructor as any))().then(type => {\n this.#component = this.#viewContainerRef.createComponent<T>(type, {\n projectableNodes: [\n Array.from(this.#el.nativeElement.childNodes)\n ],\n });\n this.#componentMirror = reflectComponentType(type);\n this.#bindInputs();\n this.#bindOutputs();\n this.#bindEvents();\n this.#setAttribute();\n // this.#viewContainerRef.remove(0);\n this.#component.changeDetectorRef.detectChanges();\n // wrapper要素をレイアウトから完全除外\n // DOM除去はAngularのview管理(ng-star-inserted)が再挿入するため不可\n // !importantでコンポーネントの:host CSSを確実に上書き\n const el = this.#el.nativeElement;\n el.style.setProperty('display', 'none', 'important');\n el.style.setProperty('width', '0', 'important');\n el.style.setProperty('height', '0', 'important');\n el.style.setProperty('overflow', 'hidden', 'important');\n el.style.setProperty('position', 'absolute', 'important');\n }).catch(() => {\n // テスト環境で@Component定義が見つからない場合のUnhandled Rejection防止\n });\n }\n this.proxyFakeComputedInputs();\n }\n\n ngOnChanges(simpleChanges: SimpleChanges) {\n if (this.injectable() && this.#componentMirror) {\n for (const input of this.#inputs) {\n if (input.propName === 'injectable') continue;\n const change = simpleChanges[input.propName] as SimpleChange;\n if (change) {\n this.#setInput(input, change.currentValue);\n }\n }\n }\n }\n}\n","import { InputSignal, ɵInputSignalNode as InputSignalNode, ɵSIGNAL as SIGNAL } from '@angular/core';\n\nfunction applyValueToInputField<T>(\n instance: T,\n inputSignalNode: null | InputSignalNode<unknown, unknown>,\n privateName: string,\n value: unknown,\n) {\n if (inputSignalNode !== null) {\n inputSignalNode.applyValueToInputSignal(inputSignalNode, value);\n } else {\n (instance as any)[privateName] = value;\n }\n}\n\ntype InputSignalType<T> = T extends InputSignal<infer U> ? U : never;\n\nexport function applyToInput<T, K extends keyof T>(\n instance: T,\n propName: K,\n value: InputSignalType<T[K]>,\n) {\n\tconst inputSignalNode = (instance as any)[propName][SIGNAL] as InputSignalNode<unknown, unknown>;\n\tif (inputSignalNode !== null) {\n\t\tinputSignalNode.applyValueToInputSignal(inputSignalNode, value);\n\t} else {\n\t\t(instance as any)[propName] = value;\n\t}\n}\n\nexport function updateInput<T, K extends keyof T>(\n instance: T,\n propName: K,\n updater: (value: InputSignalType<T[K]>) => InputSignalType<T[K]>,\n) {\n const inputSignalNode = (instance as any)[propName][SIGNAL] as InputSignalNode<unknown, unknown>;\n if (inputSignalNode !== null) {\n const value = updater((instance as any)[propName]());\n inputSignalNode.applyValueToInputSignal(inputSignalNode, value);\n } else {\n (instance as any)[propName] = updater((instance as any)[propName]);\n }\n}\n","import { LoadChildrenCallback, Route, Routes } from '@angular/router';\nimport { isObservable, lastValueFrom } from 'rxjs';\n\nexport async function wrapLoadChildren(\n loadChildrenCallback: LoadChildrenCallback\n): Promise<Routes> {\n const children = await loadChildrenCallback();\n const _children = isObservable(children) ? await lastValueFrom(children) : children;\n const __children = 'default' in _children \n ? _children.default\n : 'routes' in _children\n ? _children.routes\n : _children;\n return __children as never as Promise<Routes>;\n}\n\nexport function recursiveWrapRoute(route: Route, ...wrappers: ((route: Route) => Route)[]): Route {\n const wrappedRoute = wrappers.reduce((acc, wrapper) => wrapper(acc), route);\n return {\n ...wrappedRoute,\n children: wrappedRoute.children \n ? recursiveWrapRoutes(wrappedRoute.children, ...wrappers)\n : undefined,\n loadChildren: wrappedRoute.loadChildren \n ? () => wrapLoadChildren(wrappedRoute.loadChildren!).then(routes => recursiveWrapRoutes(routes, ...wrappers))\n : undefined,\n };\n}\n\nexport function recursiveWrapRoutes(routes: Routes, ...wrappers: ((route: Route) => Route)[]): Routes {\n return routes.map(route => recursiveWrapRoute(route, ...wrappers));\n}\n","import { InjectionToken } from \"@angular/core\";\n\nexport const NG_ATOMIC_DEBUG = new InjectionToken<boolean>('NG_ATOMIC_DEBUG');\nexport function withNgAtomicDebug() {\n return {provide: NG_ATOMIC_DEBUG, useValue: true};\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, PLATFORM_ID, inject, OnInit, input } from '@angular/core';\nimport { NG_ATOMIC_DEBUG } from '../ng-atomic-debug';\n\nconst DEBUG_CONFIG = {\n outline: '1px',\n colors: {\n 'templates': '#f00',\n 'organisms': '#0f0',\n 'molecules': '#00f',\n 'atoms': '#ff0',\n 'frames': 'transparent',\n 'default': '#000',\n },\n excludes: ['frames', 'app', 'pages', 'atoms'],\n};\n\nfunction getType(element: HTMLElement): string {\n return element.tagName.toLowerCase().split('-')[0];\n}\n\nfunction getName(element: HTMLElement): string {\n return element.tagName.toLowerCase();\n}\n\nfunction getLabel(element: HTMLElement): string {\n const name = getName(element);\n const type = getType(element);\n if (DEBUG_CONFIG.excludes.includes(type)) return '';\n return `${name}${element.hasAttribute('injected') ? '[injected]' : ''}`;\n}\n\n@Directive({standalone: true, selector: 'debug'})\nexport class DebugDirective implements OnInit {\n protected el: ElementRef<HTMLElement> = inject(ElementRef);\n protected platformId = inject(PLATFORM_ID);\n protected isDebug = input(inject(NG_ATOMIC_DEBUG, {optional: true}) ?? false);\n protected label = input(getLabel(this.el.nativeElement));\n\n ngOnInit() {\n if (isPlatformBrowser(this.platformId) && this.isDebug()) {\n const type = getType(this.el.nativeElement);\n const color = (DEBUG_CONFIG.colors as Record<string, string>)?.[type] ?? DEBUG_CONFIG.colors.default;\n this.createLabelElement({ label: this.label(), color });\n this.createOutline(color);\n }\n }\n\n protected createLabelElement(options: {\n label: string\n color: string\n }) {\n const el = document.createElement('span');\n el.textContent = options.label;\n el.style.backgroundColor = `${options.color}`;\n el.style.color = '#fff';\n el.style.padding = '2px 4px';\n el.style.position = 'absolute';\n el.style.fontSize = '10px';\n el.style.top = '0';\n el.style.left = '0';\n el.style.zIndex = '9999';\n el.style.lineHeight = '1.5em';\n el.style.whiteSpace = 'nowrap';\n this.el.nativeElement.appendChild(el);\n }\n\n protected createOutline(color: string) {\n this.el.nativeElement.style.outline = `${DEBUG_CONFIG.outline} solid ${color}`;\n this.el.nativeElement.style.outlineOffset = '-1px';\n this.el.nativeElement.style.position = 'relative';\n }\n}","import { ApplicationRef, Directive, ElementRef, Injector, output, inject } from \"@angular/core\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { Action } from \"./action\";\nimport { InjectableComponent } from \"./injectable-component\";\nimport { NgAtomicRootActionStore } from \"./action-store\";\nimport { NgAtomicActionLogger } from \"./logger\";\nimport { DebugDirective } from './debug';\nimport { ActionContext, applyEffect, EffectResolver, getEffectEntries } from \"./effect\";\nimport { injectEffectEntries } from \"./effect\";\n\n\n@Directive({ standalone: true })\nexport class NgAtomicHostActionStore {\n protected readonly logger = inject(NgAtomicActionLogger);\n readonly root = inject(NgAtomicRootActionStore);\n readonly appRef = inject(ApplicationRef);\n readonly route = inject(ActivatedRoute);\n readonly injector = inject(Injector);\n\n async dispatch(action: Action, context: ActionContext): Promise<void> {\n this.logger.log(action, context.scope);\n\n if (context.scope === 'root'){\n return this.root.dispatch(action);\n }\n\n const resolver = new EffectResolver();\n const entries = [...getEffectEntries(context.component!), ...injectEffectEntries(this.injector)];\n resolver.registerMany(entries);\n\n const result = await applyEffect(resolver, action, context);\n if (!result.dispatch) return;\n\n if (this.isBootstrapOrRouteComponent(context)) {\n return this.dispatchToParentInjector(action, context);\n } else {\n return context.component!.__action.emit(action);\n }\n }\n\n protected async dispatchToParentInjector(action: Action, context: ActionContext, injector = this.injector): Promise<void> {\n this.logger.log(action, 'injector');\n const parentInjector = injector.get(Injector, null, { skipSelf: true });\n if (parentInjector && parentInjector !== Injector.NULL) {\n const effectEntries = injectEffectEntries(parentInjector);\n const resolver = new EffectResolver();\n resolver.registerMany(effectEntries);\n const result = await applyEffect(resolver, action, context);\n \n if (result.dispatch) {\n await this.dispatchToParentInjector(action, context, parentInjector);\n }\n } else {\n await this.root.dispatch(action); \n }\n }\n\n protected isBootstrapOrRouteComponent(context: ActionContext): boolean {\n return this.isBootstrapComponent(context) || this.isRouteComponent(context);\n }\n \n protected isRouteComponent(context: ActionContext): boolean {\n return this.route.snapshot.component === context.component?.constructor;\n }\n\n protected isBootstrapComponent(context: ActionContext): boolean {\n return this.appRef.components.some(component => component.instance === context.component);\n }\n\n registerRootEffectEntries(component: NgAtomicComponent): void {\n const entries = [...getEffectEntries(component), ...injectEffectEntries(this.injector)]\n .filter(entry => entry.props?.scopes.includes('root'));\n this.root.registerMany(entries);\n }\n}\n\n@Directive({\n standalone: true,\n hostDirectives: [\n NgAtomicHostActionStore,\n DebugDirective,\n ],\n})\nexport class NgAtomicComponent<T = any> extends InjectableComponent<T> {\n protected readonly actionStore = inject(NgAtomicHostActionStore);\n protected readonly logger = inject(NgAtomicActionLogger);\n readonly __injector = inject(Injector);\n readonly __action = output<Action>({alias: 'action'});\n readonly #el = inject(ElementRef);\n\n get selector() {\n return this.#el.nativeElement.tagName.toLowerCase();\n }\n\n constructor() {\n super();\n this.actionStore.registerRootEffectEntries(this);\n }\n\n async dispatch(\n action_: Action,\n scope = 'host',\n componentId: string | number | null = null,\n ) {\n const action = {...action_, meta: { componentId, selector: this.selector }};\n return this.actionStore.dispatch(action, { component: this, scope });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["SIGNAL","i1.DebugDirective"],"mappings":"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"}
1
+ {"version":3,"file":"ng-atomic-core.mjs","sources":["../../../../../packages/@ng-atomic/core/src/lib/logger.ts","../../../../../packages/@ng-atomic/core/src/lib/effect.ts","../../../../../packages/@ng-atomic/core/src/lib/action-store.ts","../../../../../packages/@ng-atomic/core/src/lib/action.ts","../../../../../packages/@ng-atomic/core/src/lib/signals.ts","../../../../../packages/@ng-atomic/core/src/lib/injectable-component.ts","../../../../../packages/@ng-atomic/core/src/lib/input.ts","../../../../../packages/@ng-atomic/core/src/lib/route.ts","../../../../../packages/@ng-atomic/core/src/lib/ng-atomic-debug.ts","../../../../../packages/@ng-atomic/core/src/lib/debug/debug.directive.ts","../../../../../packages/@ng-atomic/core/src/lib/ng-atomic-component.ts","../../../../../packages/@ng-atomic/core/src/lib/ng-atomic-core.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { Action } from \"./action\";\n\n@Injectable({providedIn: 'root'})\nexport class NgAtomicActionLogger {\n log(action: Action, scope = 'default') {\n console.info(`[NgAtomicActionLogger] ${action?.name}`, {action, scope});\n }\n}\n","import { InjectionToken, Injector, Provider, inject, runInInjectionContext } from \"@angular/core\";\nimport { Action } from \"./action\";\nimport type { NgAtomicComponent } from \"./ng-atomic-component\";\n\nexport interface EffectProps {\n dispatch: boolean;\n scopes: string[];\n accessor: (action: Action) => any;\n}\n\nexport const DEFAULT_EFFECT_PROPS: EffectProps = {\n dispatch: false,\n scopes: ['host'],\n accessor: (action: Action) => action.payload,\n} as const;\n\nexport function normalizeEffectProps(props: Partial<EffectProps & { scope?: string }> = {}) {\n \n let scopes: string[] | undefined;\n if ('scope' in props && !('scopes' in props)) {\n scopes = props.scope ? [props.scope] : undefined;\n } else {\n scopes = props.scopes;\n }\n\n return {\n dispatch: props.dispatch ?? DEFAULT_EFFECT_PROPS.dispatch,\n scopes: scopes ? [...scopes] : [...DEFAULT_EFFECT_PROPS.scopes],\n accessor: props.accessor ?? DEFAULT_EFFECT_PROPS.accessor,\n };\n}\n\nexport interface EffectContext {\n hostInjector: Injector,\n}\n\nexport interface ActionContext {\n scope: 'root' | 'host' | string,\n component?: NgAtomicComponent,\n}\n\ntype Effect = (payload?: any, context?: ActionContext) => any | Promise<any>;\ntype EffectFactory = (hostInjector?: Injector) => Effect;\nexport type EffectResult = { dispatch: boolean };\n\nexport interface EffectEntry {\n\tactionIds: string | string[];\n effectFactory?: EffectFactory;\n props?: EffectProps;\n context?: EffectContext;\n}\n\ninterface ResolvedEffectEntry {\n effectFactory: () => Effect;\n props: EffectProps;\n}\n\nconst EFFECT_ENTRY = new InjectionToken<EffectEntry>('[@ng-atomic/core] EFFECT_ENTRY');\n\nfunction provideEffectEntryMulti(useFactory: (factoryInjector: Injector) => EffectEntry): Provider {\n return {\n provide: EFFECT_ENTRY,\n useFactory,\n\t\tmulti: true,\n\t\tdeps: [Injector],\n }\n}\n\nexport function provideEffect(\n ActionIds: string[] | string,\n _effectFactory: (factoryInjector: Injector) => Effect,\n props?: Partial<EffectProps & { scope?: string }>,\n): Provider {\n return provideEffectEntryMulti((factoryInjector: Injector) => ({\n actionIds: ActionIds,\n effectFactory: ((host?: Injector) => runInInjectionContext(host!, () => _effectFactory(factoryInjector))) as EffectFactory,\n props: normalizeEffectProps(props),\n }));\n}\n\nexport function injectEffectEntries(injector: Injector = inject(Injector)) {\n const raw = injector.get<EffectEntry[]>(EFFECT_ENTRY, [], { optional: true });\n return raw.map((entry) => ({\n ...entry, context: { hostInjector: injector, scope: null }\n }));\n}\n\nconst EFFECT_ENTRIES_KEY = Symbol('_effectEntries_');\n\nexport function getEffectEntries(target: any): EffectEntry[] {\n return target[EFFECT_ENTRIES_KEY] ??= [];\n}\n\nexport function Effect(actionId: string, props: Partial<EffectProps & { scope?: string }> = {}) {\n const normalizedProps = normalizeEffectProps(props);\n return function (target: any, _: string, descriptor: PropertyDescriptor) {\n getEffectEntries(target).push({\n actionIds: [actionId],\n props: normalizedProps, \n effectFactory: () => ((payload?: any, context?: ActionContext) => descriptor.value.call(context?.component, payload)) as Effect,\n context: { hostInjector: Injector.NULL }\n });\n };\n}\n\nexport class EffectResolver {\n protected readonly effectEntryMap = new Map<string, ResolvedEffectEntry>();\n\n register(effectEntry: EffectEntry) {\n const actionIds = Array.isArray(effectEntry.actionIds) ? effectEntry.actionIds : [effectEntry.actionIds];\n for (const actionId of actionIds) {\n for (const scope of effectEntry.props!.scopes) {\n const key = this.makeKey(actionId, scope);\n this.effectEntryMap.set(key, {\n effectFactory: () => effectEntry.effectFactory!(effectEntry.context!.hostInjector),\n props: effectEntry.props!,\n });\n }\n }\n }\n\n registerMany(entries: EffectEntry[]) {\n for (const entry of entries) this.register(entry);\n }\n\n resolve(actionId: string, scope = 'host'): ResolvedEffectEntry | undefined {\n return this.effectEntryMap.get(this.makeKey(actionId, scope));\n }\n\n private makeKey(actionId: string, scope = 'host') {\n return `[${scope}]#${actionId}`;\n }\n}\n\nexport async function applyEffect(resolver: EffectResolver, action: Action, context: ActionContext): Promise<EffectResult> {\n const entry = resolver.resolve(action.id, context.scope);\n if (entry?.effectFactory) {\n const effect = entry.effectFactory();\n const payload = entry.props.accessor(action);\n await effect(payload, context);\n return { dispatch: entry.props.dispatch };\n }\n return { dispatch: true };\n}\n","import { EventEmitter, inject, Injectable } from \"@angular/core\";\nimport { Action } from \"./action\";\nimport { NgAtomicActionLogger } from \"./logger\";\nimport { applyEffect, EffectEntry, EffectResolver } from \"./effect\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\n\n@Injectable({providedIn: 'root'})\nexport class NgAtomicRootActionStore {\n protected readonly logger = inject(NgAtomicActionLogger);\n protected readonly actions$ = new EventEmitter<Action>();\n protected readonly resolver = new EffectResolver();\n\n constructor() {\n this.actions$.pipe(takeUntilDestroyed()).subscribe(action => {\n this.logger.log(action, 'root')\n applyEffect(this.resolver, action, { component: undefined, scope: 'root' });\n });\n }\n\n async dispatch(action: Action): Promise<void> {\n this.actions$.emit(action);\n }\n\n register(effectEntry: EffectEntry): void {\n this.resolver.register(effectEntry);\n }\n\n registerMany(effectEntries: EffectEntry[]): void {\n this.resolver.registerMany(effectEntries);\n }\n}","import Ajv from \"ajv\";\nimport { ClassConstructor, plainToInstance } from \"class-transformer\";\nimport { validateSync } from \"class-validator\";\nimport { JsonSchema } from \"json-schema-library\";\n\nexport interface Action<T = any> {\n id: string;\n payload?: T;\n name?: string;\n icon?: string;\n color?: string;\n disabled?: boolean;\n children?: Action<T>[],\n meta?: {componentId?: string | number | null} | any;\n}\n\nexport type ActionsFactory<T = any> = (...args: any[]) => Action<T>[];\n\n\nexport type Actions = ActionsFactory | Action[];\n\nexport type NavActions = Action[][] | Action[];\nexport type ItemActions<T = any> = (item: T) => Action[];\n\nexport function resolveActions(actions: Actions, ...args: any[]) {\n if (typeof actions === 'function') {\n return actions(...args);\n }\n return actions;\n}\n\nexport function wrapActions(actions: Actions): ActionsFactory {\n return typeof actions === 'function' ? actions : () => actions;\n}\n\nexport interface CreateActionsOptions<P extends object = any> {\n validator?: (item: P) => null | string | string[];\n name?: string;\n icon?: string;\n}\n\nexport type ActionFactory<P extends object = any> = (payload?: P, meta?: CreateActionsOptions) => Action<P>;\n\nexport function createAction<P extends object = any>(\n type: string,\n schema: JsonSchema | ClassConstructor<P>,\n options: CreateActionsOptions<P> = {},\n): {validate: (item: P) => null | string | string[], create: ActionFactory<P>} { \n const defaultValidator = (item: P) => {\n if (typeof schema === 'object') {\n const _schema = {\n ...schema,\n required: schema.required.filter((key: string) => key in item),\n };\n const isValid = new Ajv().compile(_schema)(item);\n if (!isValid) return 'invalid';\n return null;\n } else {\n const errors = validateSync(plainToInstance(schema, {...item}) as object);\n if (errors.length) return 'invalid';\n return null;\n }\n }\n return {\n validate: options?.validator ?? defaultValidator,\n create: (payload: P = {} as any, meta: {name?: string, icon?: string} = {}): Action => ({\n id: type,\n payload,\n name: options.name ?? type,\n icon: options.icon,\n ...meta,\n }),\n }\n}\n","import { CreateComputedOptions, Pipe, Signal, computed, isSignal, PipeTransform } from \"@angular/core\";\n\nfunction call<T>(valueOrSignal: Signal<T> | T): T {\n return isSignal(valueOrSignal) ? call(valueOrSignal()) : valueOrSignal;\n}\n\nexport function proxyFakeComputedInputValueFn(inputValueFn: any) {\n return new Proxy(inputValueFn, {\n apply: function (target, _, args) {\n return computeFake(target(...args));\n }\n });\n}\n\nexport function computeFake<T>(valueOrFakeComputed: T): T {\n return isFakeComputed(valueOrFakeComputed) ? valueOrFakeComputed() as T : valueOrFakeComputed;\n}\n\nexport function isSignalOrFakeComputed<T>(value: any): value is (Signal<T> | ReturnType<typeof computed<T>>) {\n return isSignal(value) || isFakeComputed(value);\n}\n\nexport function computeFakeV2<T>(valueOrFakeComputed: Signal<T> | T): T {\n return isSignalOrFakeComputed<T>(valueOrFakeComputed) ? computeFakeV2(valueOrFakeComputed()) as T : valueOrFakeComputed;\n}\n\nexport function proxyFakeComputedInputs(target: any, inputs: string[]) {\n inputs.filter(input => isSignal(target[input])).forEach(input => {\n target[input] = proxyFakeComputedInputValueFn(target[input]);\n });\n}\n\nexport const FAKE_COMPUTED = Symbol('FAKE_COMPUTED');\n\nexport function compute(target: any, propName: string) {\n let inputValueFn: any;\n Object.defineProperty(target, propName, {\n get() {\n return new Proxy(inputValueFn, {\n apply: function (target, _, args) {\n const valueOrSignal: any = target(...args);\n return isSignal(valueOrSignal) ? valueOrSignal() : valueOrSignal;\n }\n });\n },\n set(value) {\n inputValueFn = value;\n },\n });\n}\n\nexport function fakeComputed<T>(computation: () => T, options?: CreateComputedOptions<T>): T {\n const _computed = computed(computation, options) as never as T;\n (_computed as Record<symbol, unknown>)[FAKE_COMPUTED] = true;\n return _computed;\n}\n\nexport function _computed<T>(computation: () => T, options?: CreateComputedOptions<T>): T {\n return fakeComputed(computation, options);\n}\n\nexport function isFakeComputed(_computed: any): _computed is ReturnType<typeof computed> {\n return !!_computed?.[FAKE_COMPUTED];\n}\n\n@Pipe({ name: 'call', standalone: true, pure: true})\nexport class CallPipe implements PipeTransform {\n transform<T>(value: Signal<T> | T): T {\n return call(value);\n }\n}\n","import {\n ComponentMirror, ComponentRef, DestroyRef,\n Directive,\n ElementRef, EmbeddedViewRef,\n InjectionToken, Injector, SimpleChange, SimpleChanges,\n Type, ViewContainerRef, inject, input, PLATFORM_ID,\n EventEmitter,\n OutputRef,\n output\n} from \"@angular/core\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport { reflectComponentType, OnInit, OnChanges } from \"@angular/core\";\nimport { isPlatformBrowser } from \"@angular/common\";\nimport { proxyFakeComputedInputs } from \"./signals\";\nimport { Action } from \"./action\";\n\nexport type TypeFactoryAsync<T> = () => Promise<Type<T>>;\nexport type TypeFactory<T> = () => (Type<T> | Promise<Type<T>>);\nexport type TypeOrTypeFactory<T> = Type<T> | TypeFactory<T>;\n\nexport const TOKEN = 'Δtkn';\n\nexport function provideComponent<ABS = any, IMPL = any>(\n abstract: Type<ABS>,\n typeOrFactory: TypeOrTypeFactory<IMPL>,\n) {\n async function loadComponentType(): Promise<Type<IMPL>> {\n if (typeof typeOrFactory === 'function' && !typeOrFactory.prototype) {\n return await (typeOrFactory as TypeFactory<IMPL>)();\n } else {\n return typeOrFactory as Type<IMPL>;\n }\n }\n return { provide: (abstract as any)[TOKEN], useValue: loadComponentType };\n}\n\nexport function makeProvideComopnentConfigure<Store = any, Component = any>(abstract: Type<Store>) {\n return (typeOrFactory: TypeOrTypeFactory<Component>) => provideComponent(abstract, typeOrFactory);\n}\n\nexport function TokenizedType() {\n return function <T extends Type<any>>(type: T) {\n (type as any)[TOKEN] = new InjectionToken<T>(type.name);\n };\n}\n\nexport function getToken(type: Type<any>) {\n return (type as any)[TOKEN];\n}\n\nexport enum HostType {\n Dir = 'ɵdir',\n Cmp = 'ɵcmp',\n}\n\ntype IO = {propName: string, templateName: string};\n\nexport function getMeta<T>(type: Type<T>) {\n if (HostType.Cmp in type) {\n return type[HostType.Cmp];\n } else if (HostType.Dir in type) {\n return type[HostType.Dir];\n }\n}\n\nexport function getInputs<T>(type: Type<T>): IO[] {\n const meta = getMeta(type) as Record<string, any>;\n return Object.entries<string>(meta['inputs'])\n .map(([templateName, [propName]]) => ({propName, templateName}));\n}\n\nexport function getOutputs<T>(type: Type<T>): IO[] {\n const meta = getMeta(type) as Record<string, any>;\n return Object.entries<string>(meta['outputs'])\n .map(([templateName, propName]) => ({propName, templateName}));\n}\n\nexport function getInputsByComponentRef<T extends {} = any>(cmp: ComponentRef<T>): IO[] {\n return getInputs(cmp.instance.constructor as Type<T>);\n}\n\nexport function getOutputsByInstance<T extends {} = any>(cmp: ComponentRef<T>): IO[] {\n return getOutputs(cmp.instance.constructor as Type<T>);\n}\n\n@Directive({\n standalone: true,\n \n})\nexport class InjectableComponent<T = any> implements OnInit, OnChanges {\n readonly #platformId = inject(PLATFORM_ID);\n readonly #viewContainerRef = inject(ViewContainerRef);\n readonly #injector = inject(Injector);\n readonly #destroyRef = inject(DestroyRef);\n readonly #el: ElementRef<HTMLElement> = inject(ElementRef);\n #component: ComponentRef<T> | null = null;\n #componentMirror: ComponentMirror<T> | null = null;\n\n readonly injectable = input(false, {transform: (value: any) => value === '' ? true : value});\n \n readonly __action = output<Action>({alias: 'action'});\n\n get #inputs(): IO[] {\n return getInputs(this.constructor as Type<T>);\n }\n\n get #outputs(): IO[] {\n return getOutputs(this.constructor as Type<T>);\n \n \n }\n\n #setAttribute() {\n const hostElement = (this.#component!.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n const attributes: NamedNodeMap = this.#el.nativeElement.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i)!;\n if (attr.name === 'injectable') {\n hostElement.setAttribute('injected', '');\n } else {\n hostElement.setAttribute(attr.name, attr.value);\n }\n }\n }\n\n #bindInputs() {\n for (const input of this.#inputs) {\n if (input.propName === 'injectable') continue;\n const valueOrInputValueFn = (this as Record<string, any>)[input.propName];\n const value = typeof valueOrInputValueFn === 'function' ? valueOrInputValueFn() : valueOrInputValueFn;\n this.#setInput(input, value);\n }\n }\n\n get propNames() {\n return this.#inputs.map(input => input.propName);\n }\n\n get injected(): T | null {\n return this.#component?.instance ?? null;\n }\n\n proxyFakeComputedInputs() {\n proxyFakeComputedInputs(this, this.propNames);\n }\n\n #bindOutputs() {\n for (const output of this.#outputs) {\n const outputFn = (this.#component!.instance as any)?.[output.propName] as EventEmitter<any> | OutputRef<any>;\n if (!outputFn) {\n continue;\n } else if (outputFn instanceof EventEmitter) {\n outputFn.pipe(\n takeUntilDestroyed(this.#destroyRef)\n ).subscribe((value) => (this as Record<string, any>)[output.propName].emit(value));\n } else {\n outputFn.subscribe((value) => (this as Record<string, any>)[output.propName].emit(value));\n }\n }\n }\n\n #bindEvents() {\n for (const name of ['click']) {\n this.#component!.injector.get(ElementRef).nativeElement.addEventListener(name, (_event: Event) => {\n this.#el.nativeElement.dispatchEvent(new Event(name, {}));\n });\n }\n }\n\n #setInput(input: {propName: string, templateName: string}, value: any) {\n this.#component!.setInput(input?.templateName, value);\n }\n \n constructor() {\n this.proxyFakeComputedInputs();\n }\n\n ngOnInit() {\n if (this.injectable() && isPlatformBrowser(this.#platformId)) {\n this.#injector.get<TypeFactoryAsync<T>>(getToken(this.constructor as any))().then(type => {\n this.#component = this.#viewContainerRef.createComponent<T>(type, {\n projectableNodes: [\n Array.from(this.#el.nativeElement.childNodes)\n ],\n });\n this.#componentMirror = reflectComponentType(type);\n this.#bindInputs();\n this.#bindOutputs();\n this.#bindEvents();\n this.#setAttribute();\n \n this.#component.changeDetectorRef.detectChanges();\n \n \n \n const el = this.#el.nativeElement;\n el.style.setProperty('display', 'none', 'important');\n el.style.setProperty('width', '0', 'important');\n el.style.setProperty('height', '0', 'important');\n el.style.setProperty('overflow', 'hidden', 'important');\n el.style.setProperty('position', 'absolute', 'important');\n }).catch(() => {\n \n });\n }\n this.proxyFakeComputedInputs();\n }\n\n ngOnChanges(simpleChanges: SimpleChanges) {\n if (this.injectable() && this.#componentMirror) {\n for (const input of this.#inputs) {\n if (input.propName === 'injectable') continue;\n const change = simpleChanges[input.propName] as SimpleChange;\n if (change) {\n this.#setInput(input, change.currentValue);\n }\n }\n }\n }\n}\n","import { InputSignal, ɵInputSignalNode as InputSignalNode, ɵSIGNAL as SIGNAL } from '@angular/core';\n\nfunction applyValueToInputField<T>(\n instance: T,\n inputSignalNode: null | InputSignalNode<unknown, unknown>,\n privateName: string,\n value: unknown,\n) {\n if (inputSignalNode !== null) {\n inputSignalNode.applyValueToInputSignal(inputSignalNode, value);\n } else {\n (instance as any)[privateName] = value;\n }\n}\n\ntype InputSignalType<T> = T extends InputSignal<infer U> ? U : never;\n\nexport function applyToInput<T, K extends keyof T>(\n instance: T,\n propName: K,\n value: InputSignalType<T[K]>,\n) {\n\tconst inputSignalNode = (instance as any)[propName][SIGNAL] as InputSignalNode<unknown, unknown>;\n\tif (inputSignalNode !== null) {\n\t\tinputSignalNode.applyValueToInputSignal(inputSignalNode, value);\n\t} else {\n\t\t(instance as any)[propName] = value;\n\t}\n}\n\nexport function updateInput<T, K extends keyof T>(\n instance: T,\n propName: K,\n updater: (value: InputSignalType<T[K]>) => InputSignalType<T[K]>,\n) {\n const inputSignalNode = (instance as any)[propName][SIGNAL] as InputSignalNode<unknown, unknown>;\n if (inputSignalNode !== null) {\n const value = updater((instance as any)[propName]());\n inputSignalNode.applyValueToInputSignal(inputSignalNode, value);\n } else {\n (instance as any)[propName] = updater((instance as any)[propName]);\n }\n}\n","import { LoadChildrenCallback, Route, Routes } from '@angular/router';\nimport { isObservable, lastValueFrom } from 'rxjs';\n\nexport async function wrapLoadChildren(\n loadChildrenCallback: LoadChildrenCallback\n): Promise<Routes> {\n const children = await loadChildrenCallback();\n const _children = isObservable(children) ? await lastValueFrom(children) : children;\n const __children = 'default' in _children \n ? _children.default\n : 'routes' in _children\n ? _children.routes\n : _children;\n return __children as never as Promise<Routes>;\n}\n\nexport function recursiveWrapRoute(route: Route, ...wrappers: ((route: Route) => Route)[]): Route {\n const wrappedRoute = wrappers.reduce((acc, wrapper) => wrapper(acc), route);\n return {\n ...wrappedRoute,\n children: wrappedRoute.children \n ? recursiveWrapRoutes(wrappedRoute.children, ...wrappers)\n : undefined,\n loadChildren: wrappedRoute.loadChildren \n ? () => wrapLoadChildren(wrappedRoute.loadChildren!).then(routes => recursiveWrapRoutes(routes, ...wrappers))\n : undefined,\n };\n}\n\nexport function recursiveWrapRoutes(routes: Routes, ...wrappers: ((route: Route) => Route)[]): Routes {\n return routes.map(route => recursiveWrapRoute(route, ...wrappers));\n}\n","import { InjectionToken } from \"@angular/core\";\n\nexport const NG_ATOMIC_DEBUG = new InjectionToken<boolean>('NG_ATOMIC_DEBUG');\nexport function withNgAtomicDebug() {\n return {provide: NG_ATOMIC_DEBUG, useValue: true};\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, PLATFORM_ID, inject, OnInit, input } from '@angular/core';\nimport { NG_ATOMIC_DEBUG } from '../ng-atomic-debug';\n\nconst DEBUG_CONFIG = {\n outline: '1px',\n colors: {\n 'templates': '#f00',\n 'organisms': '#0f0',\n 'molecules': '#00f',\n 'atoms': '#ff0',\n 'frames': 'transparent',\n 'default': '#000',\n },\n excludes: ['frames', 'app', 'pages', 'atoms'],\n};\n\nfunction getType(element: HTMLElement): string {\n return element.tagName.toLowerCase().split('-')[0];\n}\n\nfunction getName(element: HTMLElement): string {\n return element.tagName.toLowerCase();\n}\n\nfunction getLabel(element: HTMLElement): string {\n const name = getName(element);\n const type = getType(element);\n if (DEBUG_CONFIG.excludes.includes(type)) return '';\n return `${name}${element.hasAttribute('injected') ? '[injected]' : ''}`;\n}\n\n@Directive({standalone: true, selector: 'debug'})\nexport class DebugDirective implements OnInit {\n protected el: ElementRef<HTMLElement> = inject(ElementRef);\n protected platformId = inject(PLATFORM_ID);\n protected isDebug = input(inject(NG_ATOMIC_DEBUG, {optional: true}) ?? false);\n protected label = input(getLabel(this.el.nativeElement));\n\n ngOnInit() {\n if (isPlatformBrowser(this.platformId) && this.isDebug()) {\n const type = getType(this.el.nativeElement);\n const color = (DEBUG_CONFIG.colors as Record<string, string>)?.[type] ?? DEBUG_CONFIG.colors.default;\n this.createLabelElement({ label: this.label(), color });\n this.createOutline(color);\n }\n }\n\n protected createLabelElement(options: {\n label: string\n color: string\n }) {\n const el = document.createElement('span');\n el.textContent = options.label;\n el.style.backgroundColor = `${options.color}`;\n el.style.color = '#fff';\n el.style.padding = '2px 4px';\n el.style.position = 'absolute';\n el.style.fontSize = '10px';\n el.style.top = '0';\n el.style.left = '0';\n el.style.zIndex = '9999';\n el.style.lineHeight = '1.5em';\n el.style.whiteSpace = 'nowrap';\n this.el.nativeElement.appendChild(el);\n }\n\n protected createOutline(color: string) {\n this.el.nativeElement.style.outline = `${DEBUG_CONFIG.outline} solid ${color}`;\n this.el.nativeElement.style.outlineOffset = '-1px';\n this.el.nativeElement.style.position = 'relative';\n }\n}","import { ApplicationRef, Directive, ElementRef, Injector, output, inject } from \"@angular/core\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { Action } from \"./action\";\nimport { InjectableComponent } from \"./injectable-component\";\nimport { NgAtomicRootActionStore } from \"./action-store\";\nimport { NgAtomicActionLogger } from \"./logger\";\nimport { DebugDirective } from './debug';\nimport { ActionContext, applyEffect, EffectResolver, getEffectEntries } from \"./effect\";\nimport { injectEffectEntries } from \"./effect\";\n\n\n@Directive({ standalone: true })\nexport class NgAtomicHostActionStore {\n protected readonly logger = inject(NgAtomicActionLogger);\n readonly root = inject(NgAtomicRootActionStore);\n readonly appRef = inject(ApplicationRef);\n readonly route = inject(ActivatedRoute);\n readonly injector = inject(Injector);\n\n async dispatch(action: Action, context: ActionContext): Promise<void> {\n this.logger.log(action, context.scope);\n\n if (context.scope === 'root'){\n return this.root.dispatch(action);\n }\n\n const resolver = new EffectResolver();\n const entries = [...getEffectEntries(context.component!), ...injectEffectEntries(this.injector)];\n resolver.registerMany(entries);\n\n const result = await applyEffect(resolver, action, context);\n if (!result.dispatch) return;\n\n if (this.isBootstrapOrRouteComponent(context)) {\n return this.dispatchToParentInjector(action, context);\n } else {\n return context.component!.__action.emit(action);\n }\n }\n\n protected async dispatchToParentInjector(action: Action, context: ActionContext, injector = this.injector): Promise<void> {\n this.logger.log(action, 'injector');\n const parentInjector = injector.get(Injector, null, { skipSelf: true });\n if (parentInjector && parentInjector !== Injector.NULL) {\n const effectEntries = injectEffectEntries(parentInjector);\n const resolver = new EffectResolver();\n resolver.registerMany(effectEntries);\n const result = await applyEffect(resolver, action, context);\n \n if (result.dispatch) {\n await this.dispatchToParentInjector(action, context, parentInjector);\n }\n } else {\n await this.root.dispatch(action); \n }\n }\n\n protected isBootstrapOrRouteComponent(context: ActionContext): boolean {\n return this.isBootstrapComponent(context) || this.isRouteComponent(context);\n }\n \n protected isRouteComponent(context: ActionContext): boolean {\n return this.route.snapshot.component === context.component?.constructor;\n }\n\n protected isBootstrapComponent(context: ActionContext): boolean {\n return this.appRef.components.some(component => component.instance === context.component);\n }\n\n registerRootEffectEntries(component: NgAtomicComponent): void {\n const entries = [...getEffectEntries(component), ...injectEffectEntries(this.injector)]\n .filter(entry => entry.props?.scopes.includes('root'));\n this.root.registerMany(entries);\n }\n}\n\n@Directive({\n standalone: true,\n hostDirectives: [\n NgAtomicHostActionStore,\n DebugDirective,\n ],\n})\nexport class NgAtomicComponent<T = any> extends InjectableComponent<T> {\n protected readonly actionStore = inject(NgAtomicHostActionStore);\n protected readonly logger = inject(NgAtomicActionLogger);\n readonly __injector = inject(Injector);\n readonly __action = output<Action>({alias: 'action'});\n readonly #el = inject(ElementRef);\n\n get selector() {\n return this.#el.nativeElement.tagName.toLowerCase();\n }\n\n constructor() {\n super();\n this.actionStore.registerRootEffectEntries(this);\n }\n\n async dispatch(\n action_: Action,\n scope = 'host',\n componentId: string | number | null = null,\n ) {\n const action = {...action_, meta: { componentId, selector: this.selector }};\n return this.actionStore.dispatch(action, { component: this, scope });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["SIGNAL","i1.DebugDirective"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-atomic/core",
3
- "version": "19.50.0",
3
+ "version": "19.80.0",
4
4
  "homepage": "https://github.com/xx-machina/plaform/tree/main/packages/@ng-atomic/core",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,7 +17,6 @@ interface Action<T = any> {
17
17
  } | any;
18
18
  }
19
19
  type ActionsFactory<T = any> = (...args: any[]) => Action<T>[];
20
- /** @deprecated */
21
20
  type Actions = ActionsFactory | Action[];
22
21
  type NavActions = Action[][] | Action[];
23
22
  type ItemActions<T = any> = (item: T) => Action[];
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-core.d.ts","sources":["../../../../../packages/@ng-atomic/core/src/lib/action.ts","../../../../../packages/@ng-atomic/core/src/lib/logger.ts","../../../../../packages/@ng-atomic/core/src/lib/injectable-component.ts","../../../../../packages/@ng-atomic/core/src/lib/debug/debug.directive.ts","../../../../../packages/@ng-atomic/core/src/lib/ng-atomic-component.ts","../../../../../packages/@ng-atomic/core/src/lib/effect.ts","../../../../../packages/@ng-atomic/core/src/lib/action-store.ts","../../../../../packages/@ng-atomic/core/src/lib/input.ts","../../../../../packages/@ng-atomic/core/src/lib/route.ts","../../../../../packages/@ng-atomic/core/src/lib/signals.ts","../../../../../packages/@ng-atomic/core/src/lib/ng-atomic-debug.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;AAKM;;;;;;;AAOJ;AACA;AAAQ;AAAqC;AAC9C;;AAID;;AAGM;AACA;AAEN;AAOA;;AAKE;;;AAGD;AAEK;AAEN;AAII;AAAiD;;;AC5CrD;AAEE;;;AAGD;;ACQK;AACA;AACA;AAEN;AAEA;;AAIsC;AAQrC;AAED;;;AAEC;AAED;AAMA;AAIA;AACE;AACA;AACD;AAED;;;;AAEA;AAQA;AAMA;AAMA;AAIA;AAIA;;;;AAiDE;AAIA;;;;;;;AAiFD;;AC3LD;AAEE;;;;;AAcA;;;AAGC;AAgBD;;;AAKD;;AC7DD;AAEE;;;;;AAMM;AAqBU;AAiBhB;AAIA;AAIA;AAIA;;;AAKD;AAED;;AAQE;AACA;;;AAKA;;AASM;;AAhBK;AAwBZ;;;;;ACpGC;AACD;AAED;AAMA;;;;;AATqB;AAuBpB;;;AAIA;;AAGC;;AAED;AAGD;AACM;;;;AAGL;;;;AAIA;AAED;;;AAGC;AAaD;;;AAYA;;;;;;;;AAKC;AAID;AAhDA;AAoDA;;;AAYA;AACE;;AAeA;;AAQA;AAGD;AAED;;AChIA;AAEE;AACA;AACA;;;AAaA;AAIA;;;AAGD;;ACfD;AAEA;AAaA;;AC3BA;AAaA;AAaA;;ACvBA;AAQA;AAIA;AAIA;AAIA;AAMA;AAEA;AAiBA;AAMA;AAIA;AAIA;AAEE;;;AAGD;;ACpED;AACA;;;AAEC;;;"}
1
+ {"version":3,"file":"ng-atomic-core.d.ts","sources":["../../../../../packages/@ng-atomic/core/src/lib/action.ts","../../../../../packages/@ng-atomic/core/src/lib/logger.ts","../../../../../packages/@ng-atomic/core/src/lib/injectable-component.ts","../../../../../packages/@ng-atomic/core/src/lib/debug/debug.directive.ts","../../../../../packages/@ng-atomic/core/src/lib/ng-atomic-component.ts","../../../../../packages/@ng-atomic/core/src/lib/effect.ts","../../../../../packages/@ng-atomic/core/src/lib/action-store.ts","../../../../../packages/@ng-atomic/core/src/lib/input.ts","../../../../../packages/@ng-atomic/core/src/lib/route.ts","../../../../../packages/@ng-atomic/core/src/lib/signals.ts","../../../../../packages/@ng-atomic/core/src/lib/ng-atomic-debug.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;AAKM;;;;;;;AAOJ;AACA;AAAQ;AAAqC;AAC9C;;;AAOK;AACA;AAEN;AAOA;;AAKE;;;AAGD;AAEK;AAEN;AAII;AAAiD;;;AC5CrD;AAEE;;;AAGD;;ACQK;AACA;AACA;AAEN;AAEA;;AAIsC;AAQrC;AAED;;;AAEC;AAED;AAMA;AAIA;AACE;AACA;AACD;AAED;;;;AAEA;AAQA;AAMA;AAMA;AAIA;AAIA;;;;AAiDE;AAIA;;;;;;;AAiFD;;AC3LD;AAEE;;;;;AAcA;;;AAGC;AAgBD;;;AAKD;;AC7DD;AAEE;;;;;AAMM;AAqBU;AAiBhB;AAIA;AAIA;AAIA;;;AAKD;AAED;;AAQE;AACA;;;AAKA;;AASM;;AAhBK;AAwBZ;;;;;ACpGC;AACD;AAED;AAMA;;;;;AATqB;AAuBpB;;;AAIA;;AAGC;;AAED;AAGD;AACM;;;;AAGL;;;;AAIA;AAED;;;AAGC;AAaD;;;AAYA;;;;;;;;AAKC;AAID;AAhDA;AAoDA;;;AAYA;AACE;;AAeA;;AAQA;AAGD;AAED;;AChIA;AAEE;AACA;AACA;;;AAaA;AAIA;;;AAGD;;ACfD;AAEA;AAaA;;AC3BA;AAaA;AAaA;;ACvBA;AAQA;AAIA;AAIA;AAIA;AAMA;AAEA;AAiBA;AAMA;AAIA;AAIA;AAEE;;;AAGD;;ACpED;AACA;;;AAEC;;;"}