UNPKG

3.35 kBTypeScriptView Raw
1declare module '@ember/-internals/glimmer/lib/component-managers/curly' {
2 import { type default as Owner, type InternalFactory } from '@ember/-internals/owner';
3 import type { Nullable } from '@ember/-internals/utility-types';
4 import type {
5 Bounds,
6 CompilableProgram,
7 Destroyable,
8 ElementOperations,
9 Environment,
10 InternalComponentCapabilities,
11 PreparedArguments,
12 VMArguments,
13 WithCreateInstance,
14 WithDynamicLayout,
15 WithDynamicTagName,
16 } from '@glimmer/interfaces';
17 import type { Reference } from '@glimmer/reference';
18 import type Component from '@ember/-internals/glimmer/lib/component';
19 import type { DynamicScope } from '@ember/-internals/glimmer/lib/renderer';
20 import type RuntimeResolver from '@ember/-internals/glimmer/lib/resolver';
21 import ComponentStateBucket from '@ember/-internals/glimmer/lib/utils/curly-component-state-bucket';
22 export const ARGS: string;
23 export const HAS_BLOCK: string;
24 export const DIRTY_TAG: unique symbol;
25 export const IS_DISPATCHING_ATTRS: unique symbol;
26 export const BOUNDS: unique symbol;
27 type ComponentFactory = InternalFactory<
28 Component,
29 {
30 create(props?: any): Component;
31 positionalParams: string | string[] | undefined | null;
32 name: string;
33 }
34 > & {
35 name: string;
36 positionalParams: string | string[] | undefined | null;
37 };
38 export default class CurlyComponentManager
39 implements
40 WithCreateInstance<ComponentStateBucket>,
41 WithDynamicLayout<ComponentStateBucket, RuntimeResolver>,
42 WithDynamicTagName<ComponentStateBucket>
43 {
44 protected templateFor(component: Component): CompilableProgram | null;
45 getDynamicLayout(bucket: ComponentStateBucket): CompilableProgram | null;
46 getTagName(state: ComponentStateBucket): Nullable<string>;
47 getCapabilities(): InternalComponentCapabilities;
48 prepareArgs(ComponentClass: ComponentFactory, args: VMArguments): Nullable<PreparedArguments>;
49 create(
50 owner: Owner,
51 ComponentClass: ComponentFactory,
52 args: VMArguments,
53 { isInteractive }: Environment,
54 dynamicScope: DynamicScope,
55 callerSelfRef: Reference,
56 hasBlock: boolean
57 ): ComponentStateBucket;
58 getDebugName(definition: ComponentFactory): string;
59 getSelf({ rootRef }: ComponentStateBucket): Reference;
60 didCreateElement(
61 { component, classRef, isInteractive, rootRef }: ComponentStateBucket,
62 element: Element,
63 operations: ElementOperations
64 ): void;
65 didRenderLayout(bucket: ComponentStateBucket, bounds: Bounds): void;
66 didCreate({ component, isInteractive }: ComponentStateBucket): void;
67 update(bucket: ComponentStateBucket): void;
68 didUpdateLayout(bucket: ComponentStateBucket): void;
69 didUpdate({ component, isInteractive }: ComponentStateBucket): void;
70 getDestroyable(bucket: ComponentStateBucket): Nullable<Destroyable>;
71 }
72 export function processComponentInitializationAssertions(component: Component, props: any): void;
73 export function initialRenderInstrumentDetails(component: any): any;
74 export function rerenderInstrumentDetails(component: any): any;
75 export const CURLY_CAPABILITIES: InternalComponentCapabilities;
76 export const CURLY_COMPONENT_MANAGER: CurlyComponentManager;
77 export function isCurlyManager(manager: object): boolean;
78 export {};
79}