@kaskad/angular 0.0.17 → 0.0.18
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.
|
@@ -267,11 +267,14 @@ function injectCommands(record) {
|
|
|
267
267
|
return Object.fromEntries(Object.entries(record).map(([name, cmd]) => [name, injectCommand(cmd)]));
|
|
268
268
|
}
|
|
269
269
|
|
|
270
|
+
// Auto-generated from package.json — do not edit manually
|
|
271
|
+
const VERSION = '0.0.18';
|
|
272
|
+
|
|
270
273
|
const KASKAD_VERSION = new InjectionToken('KASKAD_VERSION');
|
|
271
274
|
const builtinPlugins = [sys, common, browser, forms];
|
|
272
275
|
function provideKaskad(config) {
|
|
273
276
|
return makeEnvironmentProviders([
|
|
274
|
-
{ provide: KASKAD_VERSION, useValue:
|
|
277
|
+
{ provide: KASKAD_VERSION, useValue: VERSION },
|
|
275
278
|
{ provide: ComponentStore, useValue: ComponentStore.getInstance() },
|
|
276
279
|
{ provide: DefinitionStore, useValue: DefinitionStore.getInstance() },
|
|
277
280
|
provideEnvironmentInitializer(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kaskad-angular.mjs","sources":["../../../../libs/angular/src/lib/plugins/browser/animated.directive.ts","../../../../libs/angular/src/lib/plugins/browser/clickable.directive.ts","../../../../libs/angular/src/lib/plugins/browser/focusable.directive.ts","../../../../libs/angular/src/lib/plugins/browser/hoverable.directive.ts","../../../../libs/angular/src/lib/plugins/browser/key-listener.directive.ts","../../../../libs/angular/src/lib/plugins/browser/resizable.directive.ts","../../../../libs/angular/src/lib/plugins/browser/scrollable.directive.ts","../../../../libs/angular/src/lib/plugins/browser/visible.directive.ts","../../../../libs/angular/src/lib/component-registry.ts","../../../../libs/angular/src/lib/inject.ts","../../../../libs/angular/src/lib/provider.ts","../../../../libs/angular/src/lib/util.ts","../../../../libs/angular/src/lib/component-outlet.directive.ts","../../../../libs/angular/src/lib/signal-kaskad-sync.ts","../../../../libs/angular/src/lib/view-outlet.directive.ts","../../../../libs/angular/src/kaskad-angular.ts"],"sourcesContent":["import { CommandNodeViewModel } from '@kaskad/component-tree';\nimport { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[kkAnimated]',\n host: {\n '(animationend)': 'onAnimationEnd()',\n '(transitionend)': 'onTransitionEnd()',\n },\n})\nexport class AnimatedDirective {\n animationEnd = input<CommandNodeViewModel>();\n transitionEnd = input<CommandNodeViewModel>();\n\n onAnimationEnd() {\n this.animationEnd()?.execute();\n }\n\n onTransitionEnd() {\n this.transitionEnd()?.execute();\n }\n}\n","import { CommandNodeViewModel } from '@kaskad/component-tree';\nimport { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[kkClickable]',\n host: {\n '(click)': 'handleClick($event)',\n '(contextmenu)': 'handleContextMenu($event)',\n style: 'cursor: pointer',\n },\n})\nexport class ClickableDirective {\n click = input.required<CommandNodeViewModel>();\n stopPropagation = input<boolean>(false);\n contextMenu = input<CommandNodeViewModel>();\n\n handleClick(event: Event) {\n if (this.stopPropagation()) {\n event.stopPropagation();\n }\n this.click().execute();\n }\n\n handleContextMenu(event: Event) {\n const cmd = this.contextMenu();\n if (!cmd) return;\n event.preventDefault();\n cmd.execute();\n }\n}\n","import { CommandNodeViewModel } from '@kaskad/component-tree';\nimport { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[kkFocusable]',\n host: {\n '[tabIndex]': 'tabIndex()',\n '(blur)': 'onBlur()',\n },\n})\nexport class FocusableDirective {\n tabIndex = input<number>(0);\n blur = input<CommandNodeViewModel>();\n\n onBlur() {\n this.blur()?.execute();\n }\n}\n","import { CommandNodeViewModel } from '@kaskad/component-tree';\nimport { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[kkHoverable]',\n host: {\n '(mouseenter)': 'onMouseEnter()',\n '(mouseleave)': 'onMouseLeave()',\n },\n})\nexport class HoverableDirective {\n mouseEnter = input<CommandNodeViewModel>();\n mouseLeave = input<CommandNodeViewModel>();\n\n onMouseEnter() {\n this.mouseEnter()?.execute();\n }\n\n onMouseLeave() {\n this.mouseLeave()?.execute();\n }\n}\n","import { CommandNodeViewModel } from '@kaskad/component-tree';\nimport { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[kkKeyListener]',\n host: {\n '(keydown)': 'onKeyDown($event)',\n '(keyup)': 'onKeyUp($event)',\n },\n})\nexport class KeyListenerDirective {\n keyDown = input<CommandNodeViewModel>();\n keyUp = input<CommandNodeViewModel>();\n\n onKeyDown(event: KeyboardEvent) {\n this.keyDown()?.execute(event.key);\n }\n\n onKeyUp(event: KeyboardEvent) {\n this.keyUp()?.execute(event.key);\n }\n}\n","import { CommandNodeViewModel } from '@kaskad/component-tree';\nimport { DestroyRef, Directive, ElementRef, inject, input, NgZone } from '@angular/core';\n\n@Directive({\n selector: '[kkResizable]',\n})\nexport class ResizableDirective {\n resize = input<CommandNodeViewModel>();\n\n constructor() {\n const el = inject(ElementRef);\n const zone = inject(NgZone);\n const destroyRef = inject(DestroyRef);\n\n const observer = zone.runOutsideAngular(\n () =>\n new ResizeObserver(() => {\n this.resize()?.execute();\n }),\n );\n\n observer.observe(el.nativeElement);\n destroyRef.onDestroy(() => observer.disconnect());\n }\n}\n","import { CommandNodeViewModel } from '@kaskad/component-tree';\nimport { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[kkScrollable]',\n host: {\n '(scroll)': 'onScroll()',\n },\n})\nexport class ScrollableDirective {\n scroll = input<CommandNodeViewModel>();\n\n onScroll() {\n this.scroll()?.execute();\n }\n}\n","import { CommandNodeViewModel } from '@kaskad/component-tree';\nimport { DestroyRef, Directive, ElementRef, inject, input, NgZone } from '@angular/core';\n\n@Directive({\n selector: '[kkVisible]',\n})\nexport class VisibleDirective {\n visible = input<CommandNodeViewModel>();\n invisible = input<CommandNodeViewModel>();\n\n constructor() {\n const el = inject(ElementRef);\n const zone = inject(NgZone);\n const destroyRef = inject(DestroyRef);\n\n const observer = zone.runOutsideAngular(\n () =>\n new IntersectionObserver((entries) => {\n for (const entry of entries) {\n if (entry.isIntersecting) {\n this.visible()?.execute();\n } else {\n this.invisible()?.execute();\n }\n }\n }),\n );\n\n observer.observe(el.nativeElement);\n destroyRef.onDestroy(() => observer.disconnect());\n }\n}\n","import { Injectable, Type } from '@angular/core';\n\nimport { AnimatedDirective } from './plugins/browser/animated.directive';\nimport { ClickableDirective } from './plugins/browser/clickable.directive';\nimport { FocusableDirective } from './plugins/browser/focusable.directive';\nimport { HoverableDirective } from './plugins/browser/hoverable.directive';\nimport { KeyListenerDirective } from './plugins/browser/key-listener.directive';\nimport { ResizableDirective } from './plugins/browser/resizable.directive';\nimport { ScrollableDirective } from './plugins/browser/scrollable.directive';\nimport { VisibleDirective } from './plugins/browser/visible.directive';\n\ntype LazyComponent = () => Promise<Type<unknown>>;\n\nexport type ComponentEntry =\n | Type<unknown> // eager Angular component\n | LazyComponent // lazy Angular component\n | { directive: Type<unknown> }; // Angular directive\n\n@Injectable({ providedIn: 'root' })\nexport class ComponentRegistry {\n private components: Record<string, ComponentEntry> = {\n default: () => import('./components/default.component').then((m) => m.DefaultComponent),\n\n 'sys.Box': () => import('./plugins/sys/box.component').then((m) => m.BoxComponent),\n 'sys.Group': () => import('./plugins/sys/group.component').then((m) => m.GroupComponent),\n 'sys.RefSpace': () => import('./plugins/sys/ref-space.component').then((m) => m.RefSpaceComponent),\n 'sys.Facade': () => import('./plugins/sys/facade.component').then((m) => m.FacadeComponent),\n\n 'forms.InputGroup': () => import('./plugins/forms/input-group.component').then((m) => m.InputGroupComponent),\n 'forms.InputArray': () => import('./plugins/forms/input-array.component').then((m) => m.InputArrayComponent),\n 'forms.BooleanInputGroup': () =>\n import('./plugins/forms/boolean-input-group.component').then((m) => m.BooleanInputGroupComponent),\n 'forms.CustomInput': () => import('./plugins/forms/custom-input.component').then((m) => m.CustomInputComponent),\n\n 'browser.Clickable': { directive: ClickableDirective },\n 'browser.Focusable': { directive: FocusableDirective },\n 'browser.Hoverable': { directive: HoverableDirective },\n 'browser.KeyListener': { directive: KeyListenerDirective },\n 'browser.Scrollable': { directive: ScrollableDirective },\n 'browser.Animated': { directive: AnimatedDirective },\n 'browser.Visible': { directive: VisibleDirective },\n 'browser.Resizable': { directive: ResizableDirective },\n 'browser.Element': () => import('./plugins/browser/element.component').then((m) => m.ElementComponent),\n 'browser.Dialog': () => import('./plugins/browser/dialog.component').then((m) => m.DialogComponent),\n 'browser.Popover': () => import('./plugins/browser/popover.component').then((m) => m.PopoverComponent),\n 'browser.Link': () => import('./plugins/browser/link.component').then((m) => m.LinkComponent),\n 'browser.Image': () => import('./plugins/browser/image.component').then((m) => m.ImageComponent),\n };\n\n setAll(entries: Record<string, ComponentEntry>): void {\n for (const [componentType, component] of Object.entries(entries)) {\n this.set(componentType, component);\n }\n }\n\n set(type: string, component: ComponentEntry): void {\n this.components[type] = component;\n }\n\n get(type: string): ComponentEntry {\n return this.components[type] || this.components['default'];\n }\n\n getAll(): Record<string, ComponentEntry> {\n return this.components;\n }\n}\n\nexport function isLazyComponent(entry: ComponentEntry): entry is LazyComponent {\n return typeof entry === 'function' && !/^class\\s/.test(Function.prototype.toString.call(entry));\n}\n","import { type CommandDefinition, type FunctionDefinition, type ImperativeFunctionDefinition } from '@kaskad/core';\nimport { EnvironmentInjector, inject, runInInjectionContext } from '@angular/core';\n\nexport function injectCommand(command: CommandDefinition): CommandDefinition {\n const injector = inject(EnvironmentInjector);\n return {\n execute: (...args) => runInInjectionContext(injector, () => command.execute(...args)),\n };\n}\n\nexport function injectFunction(definition: ImperativeFunctionDefinition): ImperativeFunctionDefinition {\n const injector = inject(EnvironmentInjector);\n return {\n ...definition,\n execute: (...args: unknown[]) =>\n runInInjectionContext(injector, () => (definition.execute as (...args: unknown[]) => unknown)(...args)),\n };\n}\n\nexport function injectFunctions(record: Record<string, FunctionDefinition>): Record<string, FunctionDefinition> {\n return Object.fromEntries(\n Object.entries(record).map(([name, fn]) => [name, fn.kind === 'imperative' ? injectFunction(fn) : fn]),\n );\n}\n\nexport function injectCommands(record: Record<string, CommandDefinition>): Record<string, CommandDefinition> {\n return Object.fromEntries(Object.entries(record).map(([name, cmd]) => [name, injectCommand(cmd)]));\n}\n","import { log, LogLevel } from '@kaskad/config';\nimport {\n browser,\n common,\n ComponentStore,\n DefinitionStore,\n forms,\n initRuntime,\n registerPlugin,\n sys,\n type KaskadPlugin,\n} from '@kaskad/core';\nimport { EnvironmentProviders, inject, InjectionToken, makeEnvironmentProviders, provideEnvironmentInitializer } from '@angular/core';\n\nimport { ComponentEntry, ComponentRegistry } from './component-registry';\nimport { injectCommands, injectFunctions } from './inject';\n\nexport interface NgKaskadPlugin extends KaskadPlugin {\n components?: Record<string, ComponentEntry>;\n}\n\nexport const KASKAD_VERSION = new InjectionToken<string>('KASKAD_VERSION');\n\nexport interface KaskadConfig {\n version?: string;\n logLevel?: LogLevel;\n plugins?: NgKaskadPlugin[];\n}\n\nconst builtinPlugins: NgKaskadPlugin[] = [sys, common, browser, forms];\n\nexport function provideKaskad(config?: KaskadConfig): EnvironmentProviders {\n return makeEnvironmentProviders([\n { provide: KASKAD_VERSION, useValue: config?.version ?? '' },\n { provide: ComponentStore, useValue: ComponentStore.getInstance() },\n { provide: DefinitionStore, useValue: DefinitionStore.getInstance() },\n\n provideEnvironmentInitializer(() => {\n if (config?.logLevel) {\n log.level = config.logLevel;\n }\n\n for (const plugin of config?.plugins ?? builtinPlugins) {\n // Wrap commands and imperative functions with Angular DI context\n const wrappedPlugin = { ...plugin };\n\n if (plugin.commands) {\n wrappedPlugin.commands = injectCommands(plugin.commands);\n }\n\n if (plugin.functions) {\n wrappedPlugin.functions = injectFunctions(plugin.functions);\n }\n\n registerPlugin(wrappedPlugin);\n\n if (plugin.components) {\n inject(ComponentRegistry).setAll(plugin.components);\n }\n }\n\n initRuntime();\n\n // Expose stores globally for debugging\n const store = inject(ComponentStore);\n const defStore = inject(DefinitionStore);\n if (typeof window !== 'undefined') {\n const global = window as Window & { store?: ComponentStore; defStore?: DefinitionStore };\n global.store = store;\n global.defStore = defStore;\n }\n }),\n ]);\n}\n","import { AbstractNode } from '@kaskad/component-tree';\nimport { ComponentId, ValueType } from '@kaskad/core';\nimport { Type } from '@angular/core';\n\nimport type { ComponentEntry } from './component-registry';\n\nexport function isDirective(entry: ComponentEntry): entry is { directive: Type<unknown> } {\n return typeof entry === 'object' && entry !== null && 'directive' in entry;\n}\n\nexport function prepareValueToRender(node: AbstractNode<ValueType>) {\n // Filter out empty component IDs\n if (node.valueType.type === 'array' && node.valueType.item.type === 'component') {\n return (node.viewModel as ComponentId[]).filter(Boolean);\n }\n\n return node.viewModel;\n}\n","import { ComponentId, componentInstanceMap, ComponentStore, TComponent } from '@kaskad/core';\nimport { IReactionOptions, IReactionPublic, reaction } from 'mobx';\nimport {\n Binding,\n ComponentRef,\n createComponent,\n DestroyRef,\n Directive,\n effect,\n EnvironmentInjector,\n inject,\n Injector,\n input,\n inputBinding,\n model,\n NgZone,\n signal,\n Type,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ComponentRegistry, isLazyComponent } from './component-registry';\nimport { KASKAD_VERSION } from './provider';\nimport { KComponent } from './types';\nimport { isDirective, prepareValueToRender } from './util';\n\n@Directive({ selector: '[kkComponentOutlet]' })\nexport class ComponentOutletDirective {\n componentId = model<ComponentId | null>(null, { alias: 'kkComponentOutlet' });\n elementInjector = input<Injector>();\n\n private readonly store = inject(ComponentStore);\n private readonly componentRegistry = inject(ComponentRegistry);\n private readonly vcr = inject(ViewContainerRef);\n private readonly destroyRef = inject(DestroyRef);\n private readonly ngZone = inject(NgZone);\n private readonly environmentInjector = inject(EnvironmentInjector);\n private readonly version = inject(KASKAD_VERSION, { optional: true });\n\n private static versionStamped = false;\n private disposers: Array<() => void> = [];\n private componentRef: ComponentRef<unknown> | null = null;\n\n constructor() {\n effect(() => {\n const id = this.componentId();\n if (!id) {\n this.clear();\n return;\n }\n\n this.ngZone.runOutsideAngular(() => {\n const rootComponent = this.store.getComponent(id);\n if (rootComponent) {\n this.renderComponent(rootComponent);\n }\n });\n });\n\n this.destroyRef.onDestroy(() => this.clear());\n }\n\n private renderComponent(component: TComponent): void {\n const { finalComponent, directives } = this.collectDirectives(component);\n\n // Clear any existing component\n if (this.componentRef) {\n this.vcr.clear();\n this.componentRef = null;\n }\n\n // Create new component\n this.componentRef = this.createComponent(finalComponent, directives);\n }\n\n private collectDirectives(component: TComponent): { finalComponent: TComponent; directives: TComponent[] } {\n const directives: TComponent[] = [];\n let current = component;\n\n while (isDirective(this.componentRegistry.get(current.componentType))) {\n directives.push(current);\n const contentId = current.getNodeValue<ComponentId>('content');\n if (!contentId) break;\n\n const contentComponent = this.store.getComponent(contentId);\n if (!contentComponent) break;\n\n current = contentComponent;\n }\n\n return { finalComponent: current, directives };\n }\n\n private createComponent(model: TComponent, directives: TComponent[] = []): ComponentRef<unknown> | null {\n const entry = this.componentRegistry.get(model.componentType);\n\n // All components should be preloaded at this point\n if (isLazyComponent(entry)) {\n throw new Error(`Component \"${model.componentType}\" is not preloaded. This is a bug in the preloading logic.`);\n }\n\n return this.mapComponentToAngular(entry as Type<KComponent>, model, directives);\n }\n\n private mapComponentToAngular(\n componentType: Type<KComponent>,\n model: TComponent,\n directives: TComponent[] = [],\n ): ComponentRef<unknown> {\n const directivesWithBindings = directives.map((d) => {\n const entry = this.componentRegistry.get(d.componentType) as { directive: Type<unknown> };\n const bindings = this.createDirectiveBindings(d);\n return { type: entry.directive, bindings };\n });\n\n // Build reactive inputs\n const bindings = this.createPropsBindings(model);\n\n const elementInjector =\n this.elementInjector() ??\n Injector.create({\n providers: [{ provide: ComponentOutletDirective, useValue: this }],\n parent: this.vcr.injector,\n });\n\n const compRef = createComponent(componentType, {\n environmentInjector: this.environmentInjector,\n elementInjector,\n directives: directivesWithBindings,\n bindings,\n });\n\n this.vcr.insert(compRef.hostView);\n\n // Bookkeeping\n componentInstanceMap.set(model.id, compRef.instance);\n compRef.onDestroy(() => componentInstanceMap.delete(model.id));\n\n // Input & metadata wiring\n compRef.location.nativeElement.setAttribute('data-component-id', model.id);\n compRef.location.nativeElement.setAttribute('data-ref-space-id', model.refSpaceId);\n\n if (!ComponentOutletDirective.versionStamped && this.version) {\n compRef.location.nativeElement.setAttribute('kk-version', this.version);\n ComponentOutletDirective.versionStamped = true;\n }\n\n return compRef;\n }\n\n private createPropsBindings(model: TComponent): Binding[] {\n const bindings: Binding[] = [];\n\n for (const [key, node] of model.props.entries()) {\n const s = signal(prepareValueToRender(node));\n bindings.push(inputBinding(key, s));\n\n this.addReaction(\n () => node.extractedValue,\n () => s.set(prepareValueToRender(node)),\n );\n }\n\n return bindings;\n }\n\n private createDirectiveBindings(model: TComponent): Binding[] {\n const bindings: Binding[] = [];\n\n for (const [propName, node] of model.props.entries()) {\n if (propName === 'content') continue;\n\n const directiveSignal = signal(prepareValueToRender(node));\n\n this.addReaction(\n () => node.extractedValue,\n () => directiveSignal.set(prepareValueToRender(node)),\n );\n\n bindings.push(inputBinding(propName, directiveSignal));\n }\n return bindings;\n }\n\n private clear(): void {\n this.vcr.clear();\n this.componentRef = null;\n this.disposeReactions();\n }\n\n private addReaction<T>(\n trackFn: (r: IReactionPublic) => T,\n effectFn: (value: T, prevValue?: T) => void,\n options?: IReactionOptions<T, true>,\n ): void {\n const disposer = reaction(trackFn, effectFn, options);\n this.disposers.push(disposer);\n }\n\n private disposeReactions(): void {\n this.disposers.forEach((dispose) => dispose());\n this.disposers = [];\n }\n}\n","import { ComponentTreeApi } from '@kaskad/component-tree';\nimport { log } from '@kaskad/config';\nimport { ComponentId, NodeSchema } from '@kaskad/core';\nimport { templateRegistry, unfoldNodeSchema } from '@kaskad/schema';\nimport { comparer, IReactionDisposer, IReactionOptions, IReactionPublic, reaction } from 'mobx';\nimport {\n DestroyRef,\n effect,\n inject,\n Injectable,\n Injector,\n isSignal,\n runInInjectionContext,\n Signal,\n WritableSignal,\n} from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class SignalKaskadSync {\n private injector = inject(Injector);\n private destroyRef = inject(DestroyRef);\n\n public run(rootId: ComponentId, templateUrl: string, props: Signal<Record<string, unknown>>) {\n const writableSignals = Object.entries(props()).filter(([, v]) => isSignal(v)) as [\n string,\n WritableSignal<unknown>,\n ][];\n if (!writableSignals.length) {\n return; // nothing to bind\n }\n\n const template = templateRegistry.get(templateUrl);\n if (!template) {\n log.error('failed to setup two-way binding, unable to find template in registry', templateUrl);\n return;\n }\n\n const component = ComponentTreeApi.findComponent(rootId, ':' + template.recipe.componentType);\n if (!component) {\n log.error(\n 'failed to setup two-way binding, unable to find root schema component:',\n template.recipe.componentType,\n );\n return;\n }\n\n const disposers: IReactionDisposer[] = [];\n for (const [key, signal] of writableSignals) {\n const contract = template.recipe['contract'] as Record<string, string> | undefined;\n const entry = contract?.[key];\n if (!entry) {\n log.warn(`unable to find contract entry for signal \"${key}\" in template ${templateUrl}`);\n continue;\n }\n\n const node = component.getNode(entry);\n const schema = unfoldNodeSchema(signal(), node.valueType, node.position.path);\n if (this.hasComponentOrComputation(schema)) {\n log.warn(`skipping signal/kaskad sync for \"${key}\" as it contains component or computation schema`);\n continue;\n }\n\n // mobx to signal\n const disposer = this.addReaction(\n () => component.getNode(entry).extractedValue,\n (v) => signal.set(v),\n { equals: comparer.structural },\n );\n\n disposers.push(disposer);\n\n // signal to mobx\n runInInjectionContext(this.injector, () => {\n let firstRun = true;\n effect(() => {\n const signalValue = signal();\n\n // skip first run as it's already handled by mobx\n if (firstRun) {\n firstRun = false;\n return;\n }\n\n ComponentTreeApi.setNodeRawSchema(component.id, entry, signalValue);\n });\n });\n }\n\n this.destroyRef.onDestroy(() => {\n disposers.forEach((dispose) => dispose());\n });\n }\n\n private addReaction<T>(\n trackFn: (r: IReactionPublic) => T,\n effectFn: (value: T, prevValue?: T) => void,\n options?: IReactionOptions<T, boolean>,\n ): IReactionDisposer {\n return reaction(trackFn, effectFn, options);\n }\n\n private hasComponentOrComputation(schema: NodeSchema): boolean {\n if (schema.valueType.type === 'component' || schema.computation !== null) {\n return true;\n }\n\n if (!schema.value) {\n return false;\n }\n\n if (schema.valueType.type === 'object') {\n const objectValue = schema.value as Record<string, NodeSchema>;\n for (const childSchema of Object.values(objectValue || {})) {\n if (this.hasComponentOrComputation(childSchema)) {\n return true;\n }\n }\n }\n if (schema.valueType.type === 'array') {\n const arrayValue = schema.value as NodeSchema[];\n for (const childSchema of arrayValue || []) {\n if (this.hasComponentOrComputation(childSchema)) {\n return true;\n }\n }\n }\n if (schema.valueType.type === 'map') {\n const mapValue = schema.value as Record<string, NodeSchema>;\n for (const childSchema of Object.values(mapValue || {})) {\n if (this.hasComponentOrComputation(childSchema)) {\n return true;\n }\n }\n }\n\n return false;\n }\n}\n","import {\n activateNode,\n ComponentId,\n ComponentRecipe,\n ComponentStore,\n ComponentTreeApi,\n createRootNode,\n unfoldNodeSchema,\n} from '@kaskad/core';\nimport { log } from '@kaskad/config';\nimport { loadTemplates, templateRegistry } from '@kaskad/schema';\nimport { computed, DestroyRef, Directive, effect, inject, input, isSignal, untracked } from '@angular/core';\n\nimport { ComponentOutletDirective } from './component-outlet.directive';\nimport { ComponentRegistry, isLazyComponent } from './component-registry';\nimport { SignalKaskadSync } from './signal-kaskad-sync';\nimport { isDirective } from './util';\n\n@Directive({\n selector: '[kkViewOutlet]',\n exportAs: 'outlet',\n hostDirectives: [\n {\n directive: ComponentOutletDirective,\n inputs: ['elementInjector'],\n },\n ],\n})\nexport class ViewOutletDirective {\n static counter = 0;\n src = input.required<string>({ alias: 'kkViewOutlet' });\n props = input<Record<string, unknown>>({});\n refSpaceId = computed(() => this.src() + '-' + ViewOutletDirective.counter++);\n rawSchema = computed<ComponentRecipe>(() => ({\n componentType: 'sys.Facade',\n content: { templateUrl: this.src() },\n }));\n private destroyRef = inject(DestroyRef);\n private store = inject(ComponentStore);\n private componentOutlet = inject(ComponentOutletDirective);\n private componentRegistry = inject(ComponentRegistry);\n private signalKaskadSync = inject(SignalKaskadSync);\n private currentComponentId: ComponentId | null = null;\n private processingGeneration = 0;\n\n constructor() {\n // Rebuild tree when src changes\n effect(() => {\n this.processRawSchema(this.rawSchema()).catch((e) =>\n log.error('processRawSchema failed', e),\n );\n });\n\n // Patch props in-place when they change\n effect(() => {\n this.props();\n untracked(() => this.patchProps());\n });\n\n this.destroyRef.onDestroy(() => {\n if (this.currentComponentId) {\n this.store.removeComponent(this.currentComponentId);\n }\n });\n }\n\n private patchProps(): void {\n if (!this.currentComponentId) return;\n\n const template = templateRegistry.get(this.src());\n if (!template) return;\n\n const contract = template.recipe.contract;\n if (!contract) return;\n\n const component = ComponentTreeApi.findComponent(this.currentComponentId, ':' + template.recipe.componentType);\n if (!component) return;\n\n for (const [key, value] of Object.entries(this.props())) {\n if (isSignal(value)) continue;\n const entry = contract[key];\n if (!entry) continue;\n if (component.getNodeValue(entry) === value) continue;\n ComponentTreeApi.setNodeRawSchema(component.id, entry, value);\n }\n }\n\n private async processRawSchema(rawSchema: ComponentRecipe) {\n const generation = ++this.processingGeneration;\n\n await this.preloadComponentTypes(new Set<string>(['sys.Box', 'sys.Group', 'sys.RefSpace', 'sys.Facade']));\n if (generation !== this.processingGeneration) return;\n\n await loadTemplates(rawSchema);\n if (generation !== this.processingGeneration) return;\n\n const componentTypes = templateRegistry.getAggregatedComponentTypes(this.src());\n await this.preloadComponentTypes(componentTypes);\n if (generation !== this.processingGeneration) return;\n\n const schema = unfoldNodeSchema(rawSchema, { type: 'component' });\n const root = createRootNode(this.refSpaceId(), schema, null, null, this.src());\n\n activateNode(root);\n\n const rootId = root.extractedValue as ComponentId;\n\n // Clean up previous component if schema changes\n if (this.currentComponentId && this.currentComponentId !== rootId) {\n this.store.removeComponent(this.currentComponentId);\n }\n\n this.currentComponentId = rootId;\n\n this.signalKaskadSync.run(rootId, this.src(), this.props);\n // Apply latest props — they may have changed during the async flow\n this.patchProps();\n this.componentOutlet.componentId.set(rootId);\n }\n\n private async preloadComponentTypes(componentTypes: Set<string>): Promise<void> {\n const promises: Promise<void>[] = [];\n\n for (const componentType of componentTypes) {\n const entry = this.componentRegistry.get(componentType);\n\n // Skip directive (?)\n if (isDirective(entry)) {\n continue;\n }\n\n // Only preload if it's still lazy\n if (isLazyComponent(entry)) {\n promises.push(\n entry().then((component) => {\n // Replace lazy entry with loaded component in registry\n this.componentRegistry.set(componentType, component);\n }),\n );\n }\n }\n\n if (promises.length > 0) {\n await Promise.all(promises);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["ComponentTreeApi","unfoldNodeSchema","i1.ComponentOutletDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kaskad-angular.mjs","sources":["../../../../libs/angular/src/lib/plugins/browser/animated.directive.ts","../../../../libs/angular/src/lib/plugins/browser/clickable.directive.ts","../../../../libs/angular/src/lib/plugins/browser/focusable.directive.ts","../../../../libs/angular/src/lib/plugins/browser/hoverable.directive.ts","../../../../libs/angular/src/lib/plugins/browser/key-listener.directive.ts","../../../../libs/angular/src/lib/plugins/browser/resizable.directive.ts","../../../../libs/angular/src/lib/plugins/browser/scrollable.directive.ts","../../../../libs/angular/src/lib/plugins/browser/visible.directive.ts","../../../../libs/angular/src/lib/component-registry.ts","../../../../libs/angular/src/lib/inject.ts","../../../../libs/angular/src/lib/version.ts","../../../../libs/angular/src/lib/provider.ts","../../../../libs/angular/src/lib/util.ts","../../../../libs/angular/src/lib/component-outlet.directive.ts","../../../../libs/angular/src/lib/signal-kaskad-sync.ts","../../../../libs/angular/src/lib/view-outlet.directive.ts","../../../../libs/angular/src/kaskad-angular.ts"],"sourcesContent":["import { CommandNodeViewModel } from '@kaskad/component-tree';\nimport { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[kkAnimated]',\n host: {\n '(animationend)': 'onAnimationEnd()',\n '(transitionend)': 'onTransitionEnd()',\n },\n})\nexport class AnimatedDirective {\n animationEnd = input<CommandNodeViewModel>();\n transitionEnd = input<CommandNodeViewModel>();\n\n onAnimationEnd() {\n this.animationEnd()?.execute();\n }\n\n onTransitionEnd() {\n this.transitionEnd()?.execute();\n }\n}\n","import { CommandNodeViewModel } from '@kaskad/component-tree';\nimport { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[kkClickable]',\n host: {\n '(click)': 'handleClick($event)',\n '(contextmenu)': 'handleContextMenu($event)',\n style: 'cursor: pointer',\n },\n})\nexport class ClickableDirective {\n click = input.required<CommandNodeViewModel>();\n stopPropagation = input<boolean>(false);\n contextMenu = input<CommandNodeViewModel>();\n\n handleClick(event: Event) {\n if (this.stopPropagation()) {\n event.stopPropagation();\n }\n this.click().execute();\n }\n\n handleContextMenu(event: Event) {\n const cmd = this.contextMenu();\n if (!cmd) return;\n event.preventDefault();\n cmd.execute();\n }\n}\n","import { CommandNodeViewModel } from '@kaskad/component-tree';\nimport { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[kkFocusable]',\n host: {\n '[tabIndex]': 'tabIndex()',\n '(blur)': 'onBlur()',\n },\n})\nexport class FocusableDirective {\n tabIndex = input<number>(0);\n blur = input<CommandNodeViewModel>();\n\n onBlur() {\n this.blur()?.execute();\n }\n}\n","import { CommandNodeViewModel } from '@kaskad/component-tree';\nimport { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[kkHoverable]',\n host: {\n '(mouseenter)': 'onMouseEnter()',\n '(mouseleave)': 'onMouseLeave()',\n },\n})\nexport class HoverableDirective {\n mouseEnter = input<CommandNodeViewModel>();\n mouseLeave = input<CommandNodeViewModel>();\n\n onMouseEnter() {\n this.mouseEnter()?.execute();\n }\n\n onMouseLeave() {\n this.mouseLeave()?.execute();\n }\n}\n","import { CommandNodeViewModel } from '@kaskad/component-tree';\nimport { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[kkKeyListener]',\n host: {\n '(keydown)': 'onKeyDown($event)',\n '(keyup)': 'onKeyUp($event)',\n },\n})\nexport class KeyListenerDirective {\n keyDown = input<CommandNodeViewModel>();\n keyUp = input<CommandNodeViewModel>();\n\n onKeyDown(event: KeyboardEvent) {\n this.keyDown()?.execute(event.key);\n }\n\n onKeyUp(event: KeyboardEvent) {\n this.keyUp()?.execute(event.key);\n }\n}\n","import { CommandNodeViewModel } from '@kaskad/component-tree';\nimport { DestroyRef, Directive, ElementRef, inject, input, NgZone } from '@angular/core';\n\n@Directive({\n selector: '[kkResizable]',\n})\nexport class ResizableDirective {\n resize = input<CommandNodeViewModel>();\n\n constructor() {\n const el = inject(ElementRef);\n const zone = inject(NgZone);\n const destroyRef = inject(DestroyRef);\n\n const observer = zone.runOutsideAngular(\n () =>\n new ResizeObserver(() => {\n this.resize()?.execute();\n }),\n );\n\n observer.observe(el.nativeElement);\n destroyRef.onDestroy(() => observer.disconnect());\n }\n}\n","import { CommandNodeViewModel } from '@kaskad/component-tree';\nimport { Directive, input } from '@angular/core';\n\n@Directive({\n selector: '[kkScrollable]',\n host: {\n '(scroll)': 'onScroll()',\n },\n})\nexport class ScrollableDirective {\n scroll = input<CommandNodeViewModel>();\n\n onScroll() {\n this.scroll()?.execute();\n }\n}\n","import { CommandNodeViewModel } from '@kaskad/component-tree';\nimport { DestroyRef, Directive, ElementRef, inject, input, NgZone } from '@angular/core';\n\n@Directive({\n selector: '[kkVisible]',\n})\nexport class VisibleDirective {\n visible = input<CommandNodeViewModel>();\n invisible = input<CommandNodeViewModel>();\n\n constructor() {\n const el = inject(ElementRef);\n const zone = inject(NgZone);\n const destroyRef = inject(DestroyRef);\n\n const observer = zone.runOutsideAngular(\n () =>\n new IntersectionObserver((entries) => {\n for (const entry of entries) {\n if (entry.isIntersecting) {\n this.visible()?.execute();\n } else {\n this.invisible()?.execute();\n }\n }\n }),\n );\n\n observer.observe(el.nativeElement);\n destroyRef.onDestroy(() => observer.disconnect());\n }\n}\n","import { Injectable, Type } from '@angular/core';\n\nimport { AnimatedDirective } from './plugins/browser/animated.directive';\nimport { ClickableDirective } from './plugins/browser/clickable.directive';\nimport { FocusableDirective } from './plugins/browser/focusable.directive';\nimport { HoverableDirective } from './plugins/browser/hoverable.directive';\nimport { KeyListenerDirective } from './plugins/browser/key-listener.directive';\nimport { ResizableDirective } from './plugins/browser/resizable.directive';\nimport { ScrollableDirective } from './plugins/browser/scrollable.directive';\nimport { VisibleDirective } from './plugins/browser/visible.directive';\n\ntype LazyComponent = () => Promise<Type<unknown>>;\n\nexport type ComponentEntry =\n | Type<unknown> // eager Angular component\n | LazyComponent // lazy Angular component\n | { directive: Type<unknown> }; // Angular directive\n\n@Injectable({ providedIn: 'root' })\nexport class ComponentRegistry {\n private components: Record<string, ComponentEntry> = {\n default: () => import('./components/default.component').then((m) => m.DefaultComponent),\n\n 'sys.Box': () => import('./plugins/sys/box.component').then((m) => m.BoxComponent),\n 'sys.Group': () => import('./plugins/sys/group.component').then((m) => m.GroupComponent),\n 'sys.RefSpace': () => import('./plugins/sys/ref-space.component').then((m) => m.RefSpaceComponent),\n 'sys.Facade': () => import('./plugins/sys/facade.component').then((m) => m.FacadeComponent),\n\n 'forms.InputGroup': () => import('./plugins/forms/input-group.component').then((m) => m.InputGroupComponent),\n 'forms.InputArray': () => import('./plugins/forms/input-array.component').then((m) => m.InputArrayComponent),\n 'forms.BooleanInputGroup': () =>\n import('./plugins/forms/boolean-input-group.component').then((m) => m.BooleanInputGroupComponent),\n 'forms.CustomInput': () => import('./plugins/forms/custom-input.component').then((m) => m.CustomInputComponent),\n\n 'browser.Clickable': { directive: ClickableDirective },\n 'browser.Focusable': { directive: FocusableDirective },\n 'browser.Hoverable': { directive: HoverableDirective },\n 'browser.KeyListener': { directive: KeyListenerDirective },\n 'browser.Scrollable': { directive: ScrollableDirective },\n 'browser.Animated': { directive: AnimatedDirective },\n 'browser.Visible': { directive: VisibleDirective },\n 'browser.Resizable': { directive: ResizableDirective },\n 'browser.Element': () => import('./plugins/browser/element.component').then((m) => m.ElementComponent),\n 'browser.Dialog': () => import('./plugins/browser/dialog.component').then((m) => m.DialogComponent),\n 'browser.Popover': () => import('./plugins/browser/popover.component').then((m) => m.PopoverComponent),\n 'browser.Link': () => import('./plugins/browser/link.component').then((m) => m.LinkComponent),\n 'browser.Image': () => import('./plugins/browser/image.component').then((m) => m.ImageComponent),\n };\n\n setAll(entries: Record<string, ComponentEntry>): void {\n for (const [componentType, component] of Object.entries(entries)) {\n this.set(componentType, component);\n }\n }\n\n set(type: string, component: ComponentEntry): void {\n this.components[type] = component;\n }\n\n get(type: string): ComponentEntry {\n return this.components[type] || this.components['default'];\n }\n\n getAll(): Record<string, ComponentEntry> {\n return this.components;\n }\n}\n\nexport function isLazyComponent(entry: ComponentEntry): entry is LazyComponent {\n return typeof entry === 'function' && !/^class\\s/.test(Function.prototype.toString.call(entry));\n}\n","import { type CommandDefinition, type FunctionDefinition, type ImperativeFunctionDefinition } from '@kaskad/core';\nimport { EnvironmentInjector, inject, runInInjectionContext } from '@angular/core';\n\nexport function injectCommand(command: CommandDefinition): CommandDefinition {\n const injector = inject(EnvironmentInjector);\n return {\n execute: (...args) => runInInjectionContext(injector, () => command.execute(...args)),\n };\n}\n\nexport function injectFunction(definition: ImperativeFunctionDefinition): ImperativeFunctionDefinition {\n const injector = inject(EnvironmentInjector);\n return {\n ...definition,\n execute: (...args: unknown[]) =>\n runInInjectionContext(injector, () => (definition.execute as (...args: unknown[]) => unknown)(...args)),\n };\n}\n\nexport function injectFunctions(record: Record<string, FunctionDefinition>): Record<string, FunctionDefinition> {\n return Object.fromEntries(\n Object.entries(record).map(([name, fn]) => [name, fn.kind === 'imperative' ? injectFunction(fn) : fn]),\n );\n}\n\nexport function injectCommands(record: Record<string, CommandDefinition>): Record<string, CommandDefinition> {\n return Object.fromEntries(Object.entries(record).map(([name, cmd]) => [name, injectCommand(cmd)]));\n}\n","// Auto-generated from package.json — do not edit manually\nexport const VERSION = '0.0.18';\n","import { log, LogLevel } from '@kaskad/config';\nimport {\n browser,\n common,\n ComponentStore,\n DefinitionStore,\n forms,\n initRuntime,\n registerPlugin,\n sys,\n type KaskadPlugin,\n} from '@kaskad/core';\nimport { EnvironmentProviders, inject, InjectionToken, makeEnvironmentProviders, provideEnvironmentInitializer } from '@angular/core';\n\nimport { ComponentEntry, ComponentRegistry } from './component-registry';\nimport { injectCommands, injectFunctions } from './inject';\nimport { VERSION } from './version';\n\nexport interface NgKaskadPlugin extends KaskadPlugin {\n components?: Record<string, ComponentEntry>;\n}\n\nexport const KASKAD_VERSION = new InjectionToken<string>('KASKAD_VERSION');\n\nexport interface KaskadConfig {\n logLevel?: LogLevel;\n plugins?: NgKaskadPlugin[];\n}\n\nconst builtinPlugins: NgKaskadPlugin[] = [sys, common, browser, forms];\n\nexport function provideKaskad(config?: KaskadConfig): EnvironmentProviders {\n return makeEnvironmentProviders([\n { provide: KASKAD_VERSION, useValue: VERSION },\n { provide: ComponentStore, useValue: ComponentStore.getInstance() },\n { provide: DefinitionStore, useValue: DefinitionStore.getInstance() },\n\n provideEnvironmentInitializer(() => {\n if (config?.logLevel) {\n log.level = config.logLevel;\n }\n\n for (const plugin of config?.plugins ?? builtinPlugins) {\n // Wrap commands and imperative functions with Angular DI context\n const wrappedPlugin = { ...plugin };\n\n if (plugin.commands) {\n wrappedPlugin.commands = injectCommands(plugin.commands);\n }\n\n if (plugin.functions) {\n wrappedPlugin.functions = injectFunctions(plugin.functions);\n }\n\n registerPlugin(wrappedPlugin);\n\n if (plugin.components) {\n inject(ComponentRegistry).setAll(plugin.components);\n }\n }\n\n initRuntime();\n\n // Expose stores globally for debugging\n const store = inject(ComponentStore);\n const defStore = inject(DefinitionStore);\n if (typeof window !== 'undefined') {\n const global = window as Window & { store?: ComponentStore; defStore?: DefinitionStore };\n global.store = store;\n global.defStore = defStore;\n }\n }),\n ]);\n}\n","import { AbstractNode } from '@kaskad/component-tree';\nimport { ComponentId, ValueType } from '@kaskad/core';\nimport { Type } from '@angular/core';\n\nimport type { ComponentEntry } from './component-registry';\n\nexport function isDirective(entry: ComponentEntry): entry is { directive: Type<unknown> } {\n return typeof entry === 'object' && entry !== null && 'directive' in entry;\n}\n\nexport function prepareValueToRender(node: AbstractNode<ValueType>) {\n // Filter out empty component IDs\n if (node.valueType.type === 'array' && node.valueType.item.type === 'component') {\n return (node.viewModel as ComponentId[]).filter(Boolean);\n }\n\n return node.viewModel;\n}\n","import { ComponentId, componentInstanceMap, ComponentStore, TComponent } from '@kaskad/core';\nimport { IReactionOptions, IReactionPublic, reaction } from 'mobx';\nimport {\n Binding,\n ComponentRef,\n createComponent,\n DestroyRef,\n Directive,\n effect,\n EnvironmentInjector,\n inject,\n Injector,\n input,\n inputBinding,\n model,\n NgZone,\n signal,\n Type,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ComponentRegistry, isLazyComponent } from './component-registry';\nimport { KASKAD_VERSION } from './provider';\nimport { KComponent } from './types';\nimport { isDirective, prepareValueToRender } from './util';\n\n@Directive({ selector: '[kkComponentOutlet]' })\nexport class ComponentOutletDirective {\n componentId = model<ComponentId | null>(null, { alias: 'kkComponentOutlet' });\n elementInjector = input<Injector>();\n\n private readonly store = inject(ComponentStore);\n private readonly componentRegistry = inject(ComponentRegistry);\n private readonly vcr = inject(ViewContainerRef);\n private readonly destroyRef = inject(DestroyRef);\n private readonly ngZone = inject(NgZone);\n private readonly environmentInjector = inject(EnvironmentInjector);\n private readonly version = inject(KASKAD_VERSION, { optional: true });\n\n private static versionStamped = false;\n private disposers: Array<() => void> = [];\n private componentRef: ComponentRef<unknown> | null = null;\n\n constructor() {\n effect(() => {\n const id = this.componentId();\n if (!id) {\n this.clear();\n return;\n }\n\n this.ngZone.runOutsideAngular(() => {\n const rootComponent = this.store.getComponent(id);\n if (rootComponent) {\n this.renderComponent(rootComponent);\n }\n });\n });\n\n this.destroyRef.onDestroy(() => this.clear());\n }\n\n private renderComponent(component: TComponent): void {\n const { finalComponent, directives } = this.collectDirectives(component);\n\n // Clear any existing component\n if (this.componentRef) {\n this.vcr.clear();\n this.componentRef = null;\n }\n\n // Create new component\n this.componentRef = this.createComponent(finalComponent, directives);\n }\n\n private collectDirectives(component: TComponent): { finalComponent: TComponent; directives: TComponent[] } {\n const directives: TComponent[] = [];\n let current = component;\n\n while (isDirective(this.componentRegistry.get(current.componentType))) {\n directives.push(current);\n const contentId = current.getNodeValue<ComponentId>('content');\n if (!contentId) break;\n\n const contentComponent = this.store.getComponent(contentId);\n if (!contentComponent) break;\n\n current = contentComponent;\n }\n\n return { finalComponent: current, directives };\n }\n\n private createComponent(model: TComponent, directives: TComponent[] = []): ComponentRef<unknown> | null {\n const entry = this.componentRegistry.get(model.componentType);\n\n // All components should be preloaded at this point\n if (isLazyComponent(entry)) {\n throw new Error(`Component \"${model.componentType}\" is not preloaded. This is a bug in the preloading logic.`);\n }\n\n return this.mapComponentToAngular(entry as Type<KComponent>, model, directives);\n }\n\n private mapComponentToAngular(\n componentType: Type<KComponent>,\n model: TComponent,\n directives: TComponent[] = [],\n ): ComponentRef<unknown> {\n const directivesWithBindings = directives.map((d) => {\n const entry = this.componentRegistry.get(d.componentType) as { directive: Type<unknown> };\n const bindings = this.createDirectiveBindings(d);\n return { type: entry.directive, bindings };\n });\n\n // Build reactive inputs\n const bindings = this.createPropsBindings(model);\n\n const elementInjector =\n this.elementInjector() ??\n Injector.create({\n providers: [{ provide: ComponentOutletDirective, useValue: this }],\n parent: this.vcr.injector,\n });\n\n const compRef = createComponent(componentType, {\n environmentInjector: this.environmentInjector,\n elementInjector,\n directives: directivesWithBindings,\n bindings,\n });\n\n this.vcr.insert(compRef.hostView);\n\n // Bookkeeping\n componentInstanceMap.set(model.id, compRef.instance);\n compRef.onDestroy(() => componentInstanceMap.delete(model.id));\n\n // Input & metadata wiring\n compRef.location.nativeElement.setAttribute('data-component-id', model.id);\n compRef.location.nativeElement.setAttribute('data-ref-space-id', model.refSpaceId);\n\n if (!ComponentOutletDirective.versionStamped && this.version) {\n compRef.location.nativeElement.setAttribute('kk-version', this.version);\n ComponentOutletDirective.versionStamped = true;\n }\n\n return compRef;\n }\n\n private createPropsBindings(model: TComponent): Binding[] {\n const bindings: Binding[] = [];\n\n for (const [key, node] of model.props.entries()) {\n const s = signal(prepareValueToRender(node));\n bindings.push(inputBinding(key, s));\n\n this.addReaction(\n () => node.extractedValue,\n () => s.set(prepareValueToRender(node)),\n );\n }\n\n return bindings;\n }\n\n private createDirectiveBindings(model: TComponent): Binding[] {\n const bindings: Binding[] = [];\n\n for (const [propName, node] of model.props.entries()) {\n if (propName === 'content') continue;\n\n const directiveSignal = signal(prepareValueToRender(node));\n\n this.addReaction(\n () => node.extractedValue,\n () => directiveSignal.set(prepareValueToRender(node)),\n );\n\n bindings.push(inputBinding(propName, directiveSignal));\n }\n return bindings;\n }\n\n private clear(): void {\n this.vcr.clear();\n this.componentRef = null;\n this.disposeReactions();\n }\n\n private addReaction<T>(\n trackFn: (r: IReactionPublic) => T,\n effectFn: (value: T, prevValue?: T) => void,\n options?: IReactionOptions<T, true>,\n ): void {\n const disposer = reaction(trackFn, effectFn, options);\n this.disposers.push(disposer);\n }\n\n private disposeReactions(): void {\n this.disposers.forEach((dispose) => dispose());\n this.disposers = [];\n }\n}\n","import { ComponentTreeApi } from '@kaskad/component-tree';\nimport { log } from '@kaskad/config';\nimport { ComponentId, NodeSchema } from '@kaskad/core';\nimport { templateRegistry, unfoldNodeSchema } from '@kaskad/schema';\nimport { comparer, IReactionDisposer, IReactionOptions, IReactionPublic, reaction } from 'mobx';\nimport {\n DestroyRef,\n effect,\n inject,\n Injectable,\n Injector,\n isSignal,\n runInInjectionContext,\n Signal,\n WritableSignal,\n} from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class SignalKaskadSync {\n private injector = inject(Injector);\n private destroyRef = inject(DestroyRef);\n\n public run(rootId: ComponentId, templateUrl: string, props: Signal<Record<string, unknown>>) {\n const writableSignals = Object.entries(props()).filter(([, v]) => isSignal(v)) as [\n string,\n WritableSignal<unknown>,\n ][];\n if (!writableSignals.length) {\n return; // nothing to bind\n }\n\n const template = templateRegistry.get(templateUrl);\n if (!template) {\n log.error('failed to setup two-way binding, unable to find template in registry', templateUrl);\n return;\n }\n\n const component = ComponentTreeApi.findComponent(rootId, ':' + template.recipe.componentType);\n if (!component) {\n log.error(\n 'failed to setup two-way binding, unable to find root schema component:',\n template.recipe.componentType,\n );\n return;\n }\n\n const disposers: IReactionDisposer[] = [];\n for (const [key, signal] of writableSignals) {\n const contract = template.recipe['contract'] as Record<string, string> | undefined;\n const entry = contract?.[key];\n if (!entry) {\n log.warn(`unable to find contract entry for signal \"${key}\" in template ${templateUrl}`);\n continue;\n }\n\n const node = component.getNode(entry);\n const schema = unfoldNodeSchema(signal(), node.valueType, node.position.path);\n if (this.hasComponentOrComputation(schema)) {\n log.warn(`skipping signal/kaskad sync for \"${key}\" as it contains component or computation schema`);\n continue;\n }\n\n // mobx to signal\n const disposer = this.addReaction(\n () => component.getNode(entry).extractedValue,\n (v) => signal.set(v),\n { equals: comparer.structural },\n );\n\n disposers.push(disposer);\n\n // signal to mobx\n runInInjectionContext(this.injector, () => {\n let firstRun = true;\n effect(() => {\n const signalValue = signal();\n\n // skip first run as it's already handled by mobx\n if (firstRun) {\n firstRun = false;\n return;\n }\n\n ComponentTreeApi.setNodeRawSchema(component.id, entry, signalValue);\n });\n });\n }\n\n this.destroyRef.onDestroy(() => {\n disposers.forEach((dispose) => dispose());\n });\n }\n\n private addReaction<T>(\n trackFn: (r: IReactionPublic) => T,\n effectFn: (value: T, prevValue?: T) => void,\n options?: IReactionOptions<T, boolean>,\n ): IReactionDisposer {\n return reaction(trackFn, effectFn, options);\n }\n\n private hasComponentOrComputation(schema: NodeSchema): boolean {\n if (schema.valueType.type === 'component' || schema.computation !== null) {\n return true;\n }\n\n if (!schema.value) {\n return false;\n }\n\n if (schema.valueType.type === 'object') {\n const objectValue = schema.value as Record<string, NodeSchema>;\n for (const childSchema of Object.values(objectValue || {})) {\n if (this.hasComponentOrComputation(childSchema)) {\n return true;\n }\n }\n }\n if (schema.valueType.type === 'array') {\n const arrayValue = schema.value as NodeSchema[];\n for (const childSchema of arrayValue || []) {\n if (this.hasComponentOrComputation(childSchema)) {\n return true;\n }\n }\n }\n if (schema.valueType.type === 'map') {\n const mapValue = schema.value as Record<string, NodeSchema>;\n for (const childSchema of Object.values(mapValue || {})) {\n if (this.hasComponentOrComputation(childSchema)) {\n return true;\n }\n }\n }\n\n return false;\n }\n}\n","import {\n activateNode,\n ComponentId,\n ComponentRecipe,\n ComponentStore,\n ComponentTreeApi,\n createRootNode,\n unfoldNodeSchema,\n} from '@kaskad/core';\nimport { log } from '@kaskad/config';\nimport { loadTemplates, templateRegistry } from '@kaskad/schema';\nimport { computed, DestroyRef, Directive, effect, inject, input, isSignal, untracked } from '@angular/core';\n\nimport { ComponentOutletDirective } from './component-outlet.directive';\nimport { ComponentRegistry, isLazyComponent } from './component-registry';\nimport { SignalKaskadSync } from './signal-kaskad-sync';\nimport { isDirective } from './util';\n\n@Directive({\n selector: '[kkViewOutlet]',\n exportAs: 'outlet',\n hostDirectives: [\n {\n directive: ComponentOutletDirective,\n inputs: ['elementInjector'],\n },\n ],\n})\nexport class ViewOutletDirective {\n static counter = 0;\n src = input.required<string>({ alias: 'kkViewOutlet' });\n props = input<Record<string, unknown>>({});\n refSpaceId = computed(() => this.src() + '-' + ViewOutletDirective.counter++);\n rawSchema = computed<ComponentRecipe>(() => ({\n componentType: 'sys.Facade',\n content: { templateUrl: this.src() },\n }));\n private destroyRef = inject(DestroyRef);\n private store = inject(ComponentStore);\n private componentOutlet = inject(ComponentOutletDirective);\n private componentRegistry = inject(ComponentRegistry);\n private signalKaskadSync = inject(SignalKaskadSync);\n private currentComponentId: ComponentId | null = null;\n private processingGeneration = 0;\n\n constructor() {\n // Rebuild tree when src changes\n effect(() => {\n this.processRawSchema(this.rawSchema()).catch((e) =>\n log.error('processRawSchema failed', e),\n );\n });\n\n // Patch props in-place when they change\n effect(() => {\n this.props();\n untracked(() => this.patchProps());\n });\n\n this.destroyRef.onDestroy(() => {\n if (this.currentComponentId) {\n this.store.removeComponent(this.currentComponentId);\n }\n });\n }\n\n private patchProps(): void {\n if (!this.currentComponentId) return;\n\n const template = templateRegistry.get(this.src());\n if (!template) return;\n\n const contract = template.recipe.contract;\n if (!contract) return;\n\n const component = ComponentTreeApi.findComponent(this.currentComponentId, ':' + template.recipe.componentType);\n if (!component) return;\n\n for (const [key, value] of Object.entries(this.props())) {\n if (isSignal(value)) continue;\n const entry = contract[key];\n if (!entry) continue;\n if (component.getNodeValue(entry) === value) continue;\n ComponentTreeApi.setNodeRawSchema(component.id, entry, value);\n }\n }\n\n private async processRawSchema(rawSchema: ComponentRecipe) {\n const generation = ++this.processingGeneration;\n\n await this.preloadComponentTypes(new Set<string>(['sys.Box', 'sys.Group', 'sys.RefSpace', 'sys.Facade']));\n if (generation !== this.processingGeneration) return;\n\n await loadTemplates(rawSchema);\n if (generation !== this.processingGeneration) return;\n\n const componentTypes = templateRegistry.getAggregatedComponentTypes(this.src());\n await this.preloadComponentTypes(componentTypes);\n if (generation !== this.processingGeneration) return;\n\n const schema = unfoldNodeSchema(rawSchema, { type: 'component' });\n const root = createRootNode(this.refSpaceId(), schema, null, null, this.src());\n\n activateNode(root);\n\n const rootId = root.extractedValue as ComponentId;\n\n // Clean up previous component if schema changes\n if (this.currentComponentId && this.currentComponentId !== rootId) {\n this.store.removeComponent(this.currentComponentId);\n }\n\n this.currentComponentId = rootId;\n\n this.signalKaskadSync.run(rootId, this.src(), this.props);\n // Apply latest props — they may have changed during the async flow\n this.patchProps();\n this.componentOutlet.componentId.set(rootId);\n }\n\n private async preloadComponentTypes(componentTypes: Set<string>): Promise<void> {\n const promises: Promise<void>[] = [];\n\n for (const componentType of componentTypes) {\n const entry = this.componentRegistry.get(componentType);\n\n // Skip directive (?)\n if (isDirective(entry)) {\n continue;\n }\n\n // Only preload if it's still lazy\n if (isLazyComponent(entry)) {\n promises.push(\n entry().then((component) => {\n // Replace lazy entry with loaded component in registry\n this.componentRegistry.set(componentType, component);\n }),\n );\n }\n }\n\n if (promises.length > 0) {\n await Promise.all(promises);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["ComponentTreeApi","unfoldNodeSchema","i1.ComponentOutletDirective"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kaskad/angular",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.18",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/core": "^21.0.0",
|
|
6
6
|
"@angular/platform-browser": "^21.0.0",
|
|
7
|
-
"@kaskad/config": "0.0.
|
|
8
|
-
"@kaskad/core": "0.0.
|
|
7
|
+
"@kaskad/config": "0.0.18",
|
|
8
|
+
"@kaskad/core": "0.0.18",
|
|
9
9
|
"mobx": "^6.13.7",
|
|
10
|
-
"@kaskad/component-tree": "0.0.
|
|
11
|
-
"@kaskad/schema": "0.0.
|
|
10
|
+
"@kaskad/component-tree": "0.0.18",
|
|
11
|
+
"@kaskad/schema": "0.0.18"
|
|
12
12
|
},
|
|
13
13
|
"sideEffects": false,
|
|
14
14
|
"module": "fesm2022/kaskad-angular.mjs",
|
|
@@ -25,4 +25,4 @@
|
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"tslib": "^2.3.0"
|
|
27
27
|
}
|
|
28
|
-
}
|
|
28
|
+
}
|