@craft-ts/component 0.7.0-beta.13

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.
Files changed (190) hide show
  1. package/LICENSE +21 -0
  2. package/package.json +36 -0
  3. package/src/index.d.ts +40 -0
  4. package/src/index.d.ts.map +1 -0
  5. package/src/index.js +38 -0
  6. package/src/index.js.map +1 -0
  7. package/src/lib/a11y-control.d.ts +58 -0
  8. package/src/lib/a11y-control.d.ts.map +1 -0
  9. package/src/lib/a11y-control.js +74 -0
  10. package/src/lib/a11y-control.js.map +1 -0
  11. package/src/lib/a11y.d.ts +87 -0
  12. package/src/lib/a11y.d.ts.map +1 -0
  13. package/src/lib/a11y.js +96 -0
  14. package/src/lib/a11y.js.map +1 -0
  15. package/src/lib/ai/ai-context-menu.d.ts +140 -0
  16. package/src/lib/ai/ai-context-menu.d.ts.map +1 -0
  17. package/src/lib/ai/ai-context-menu.js +66 -0
  18. package/src/lib/ai/ai-context-menu.js.map +1 -0
  19. package/src/lib/ai/ai-send-dialog.d.ts +1263 -0
  20. package/src/lib/ai/ai-send-dialog.d.ts.map +1 -0
  21. package/src/lib/ai/ai-send-dialog.js +288 -0
  22. package/src/lib/ai/ai-send-dialog.js.map +1 -0
  23. package/src/lib/ai/send-context-to-ai.d.ts +29 -0
  24. package/src/lib/ai/send-context-to-ai.d.ts.map +1 -0
  25. package/src/lib/ai/send-context-to-ai.js +127 -0
  26. package/src/lib/ai/send-context-to-ai.js.map +1 -0
  27. package/src/lib/assert-defined-input.d.ts +26 -0
  28. package/src/lib/assert-defined-input.d.ts.map +1 -0
  29. package/src/lib/assert-defined-input.js +47 -0
  30. package/src/lib/assert-defined-input.js.map +1 -0
  31. package/src/lib/block.d.ts +36 -0
  32. package/src/lib/block.d.ts.map +1 -0
  33. package/src/lib/block.js +55 -0
  34. package/src/lib/block.js.map +1 -0
  35. package/src/lib/bootstrap.d.ts +32 -0
  36. package/src/lib/bootstrap.d.ts.map +1 -0
  37. package/src/lib/bootstrap.js +60 -0
  38. package/src/lib/bootstrap.js.map +1 -0
  39. package/src/lib/bridge.d.ts +56 -0
  40. package/src/lib/bridge.d.ts.map +1 -0
  41. package/src/lib/bridge.js +81 -0
  42. package/src/lib/bridge.js.map +1 -0
  43. package/src/lib/component.d.ts +46 -0
  44. package/src/lib/component.d.ts.map +1 -0
  45. package/src/lib/component.js +118 -0
  46. package/src/lib/component.js.map +1 -0
  47. package/src/lib/composition.d.ts +17 -0
  48. package/src/lib/composition.d.ts.map +1 -0
  49. package/src/lib/composition.js +28 -0
  50. package/src/lib/composition.js.map +1 -0
  51. package/src/lib/craft-defaults.d.ts +2 -0
  52. package/src/lib/craft-defaults.d.ts.map +1 -0
  53. package/src/lib/craft-defaults.js +41 -0
  54. package/src/lib/craft-defaults.js.map +1 -0
  55. package/src/lib/craft-host-tokens.d.ts +6 -0
  56. package/src/lib/craft-host-tokens.d.ts.map +1 -0
  57. package/src/lib/craft-host-tokens.js +7 -0
  58. package/src/lib/craft-host-tokens.js.map +1 -0
  59. package/src/lib/craft-router-outlet.d.ts +15 -0
  60. package/src/lib/craft-router-outlet.d.ts.map +1 -0
  61. package/src/lib/craft-router-outlet.js +10 -0
  62. package/src/lib/craft-router-outlet.js.map +1 -0
  63. package/src/lib/css-vars.d.ts +31 -0
  64. package/src/lib/css-vars.d.ts.map +1 -0
  65. package/src/lib/css-vars.js +43 -0
  66. package/src/lib/css-vars.js.map +1 -0
  67. package/src/lib/css-vars.type.d.ts +151 -0
  68. package/src/lib/css-vars.type.d.ts.map +1 -0
  69. package/src/lib/css-vars.type.js +1 -0
  70. package/src/lib/css-vars.type.js.map +1 -0
  71. package/src/lib/defer.d.ts +31 -0
  72. package/src/lib/defer.d.ts.map +1 -0
  73. package/src/lib/defer.js +19 -0
  74. package/src/lib/defer.js.map +1 -0
  75. package/src/lib/directive.d.ts +9 -0
  76. package/src/lib/directive.d.ts.map +1 -0
  77. package/src/lib/directive.js +31 -0
  78. package/src/lib/directive.js.map +1 -0
  79. package/src/lib/each-scheduling.d.ts +59 -0
  80. package/src/lib/each-scheduling.d.ts.map +1 -0
  81. package/src/lib/each-scheduling.js +120 -0
  82. package/src/lib/each-scheduling.js.map +1 -0
  83. package/src/lib/each.d.ts +29 -0
  84. package/src/lib/each.d.ts.map +1 -0
  85. package/src/lib/each.js +23 -0
  86. package/src/lib/each.js.map +1 -0
  87. package/src/lib/factory-runtime.d.ts +5 -0
  88. package/src/lib/factory-runtime.d.ts.map +1 -0
  89. package/src/lib/factory-runtime.js +26 -0
  90. package/src/lib/factory-runtime.js.map +1 -0
  91. package/src/lib/field-exception-block.d.ts +96 -0
  92. package/src/lib/field-exception-block.d.ts.map +1 -0
  93. package/src/lib/field-exception-block.js +44 -0
  94. package/src/lib/field-exception-block.js.map +1 -0
  95. package/src/lib/host-runtime.d.ts +60 -0
  96. package/src/lib/host-runtime.d.ts.map +1 -0
  97. package/src/lib/host-runtime.js +16 -0
  98. package/src/lib/host-runtime.js.map +1 -0
  99. package/src/lib/hydrate.d.ts +15 -0
  100. package/src/lib/hydrate.d.ts.map +1 -0
  101. package/src/lib/hydrate.js +79 -0
  102. package/src/lib/hydrate.js.map +1 -0
  103. package/src/lib/hyperscript.d.ts +148 -0
  104. package/src/lib/hyperscript.d.ts.map +1 -0
  105. package/src/lib/hyperscript.js +96 -0
  106. package/src/lib/hyperscript.js.map +1 -0
  107. package/src/lib/if-block.d.ts +8 -0
  108. package/src/lib/if-block.d.ts.map +1 -0
  109. package/src/lib/if-block.js +16 -0
  110. package/src/lib/if-block.js.map +1 -0
  111. package/src/lib/locator.d.ts +170 -0
  112. package/src/lib/locator.d.ts.map +1 -0
  113. package/src/lib/locator.js +151 -0
  114. package/src/lib/locator.js.map +1 -0
  115. package/src/lib/match-block.d.ts +38 -0
  116. package/src/lib/match-block.d.ts.map +1 -0
  117. package/src/lib/match-block.js +29 -0
  118. package/src/lib/match-block.js.map +1 -0
  119. package/src/lib/pending-block.d.ts +125 -0
  120. package/src/lib/pending-block.d.ts.map +1 -0
  121. package/src/lib/pending-block.js +48 -0
  122. package/src/lib/pending-block.js.map +1 -0
  123. package/src/lib/project.d.ts +19 -0
  124. package/src/lib/project.d.ts.map +1 -0
  125. package/src/lib/project.js +56 -0
  126. package/src/lib/project.js.map +1 -0
  127. package/src/lib/render/hydration-metadata.d.ts +3 -0
  128. package/src/lib/render/hydration-metadata.d.ts.map +1 -0
  129. package/src/lib/render/hydration-metadata.js +8 -0
  130. package/src/lib/render/hydration-metadata.js.map +1 -0
  131. package/src/lib/render/hydration.d.ts +24 -0
  132. package/src/lib/render/hydration.d.ts.map +1 -0
  133. package/src/lib/render/hydration.js +181 -0
  134. package/src/lib/render/hydration.js.map +1 -0
  135. package/src/lib/render/interpreter.d.ts +32 -0
  136. package/src/lib/render/interpreter.d.ts.map +1 -0
  137. package/src/lib/render/interpreter.js +3588 -0
  138. package/src/lib/render/interpreter.js.map +1 -0
  139. package/src/lib/render/server-style-collector.d.ts +6 -0
  140. package/src/lib/render/server-style-collector.d.ts.map +1 -0
  141. package/src/lib/render/server-style-collector.js +23 -0
  142. package/src/lib/render/server-style-collector.js.map +1 -0
  143. package/src/lib/render/ssr-coordinator.d.ts +20 -0
  144. package/src/lib/render/ssr-coordinator.d.ts.map +1 -0
  145. package/src/lib/render/ssr-coordinator.js +99 -0
  146. package/src/lib/render/ssr-coordinator.js.map +1 -0
  147. package/src/lib/render/string-dom.d.ts +9 -0
  148. package/src/lib/render/string-dom.d.ts.map +1 -0
  149. package/src/lib/render/string-dom.js +377 -0
  150. package/src/lib/render/string-dom.js.map +1 -0
  151. package/src/lib/render/style-registry.d.ts +14 -0
  152. package/src/lib/render/style-registry.d.ts.map +1 -0
  153. package/src/lib/render/style-registry.js +79 -0
  154. package/src/lib/render/style-registry.js.map +1 -0
  155. package/src/lib/render/style-scope.d.ts +30 -0
  156. package/src/lib/render/style-scope.d.ts.map +1 -0
  157. package/src/lib/render/style-scope.js +261 -0
  158. package/src/lib/render/style-scope.js.map +1 -0
  159. package/src/lib/render/vnode.d.ts +330 -0
  160. package/src/lib/render/vnode.d.ts.map +1 -0
  161. package/src/lib/render/vnode.js +293 -0
  162. package/src/lib/render/vnode.js.map +1 -0
  163. package/src/lib/server-render.d.ts +34 -0
  164. package/src/lib/server-render.d.ts.map +1 -0
  165. package/src/lib/server-render.js +84 -0
  166. package/src/lib/server-render.js.map +1 -0
  167. package/src/lib/start.d.ts +13 -0
  168. package/src/lib/start.d.ts.map +1 -0
  169. package/src/lib/start.js +20 -0
  170. package/src/lib/start.js.map +1 -0
  171. package/src/lib/template-contract.d.ts +347 -0
  172. package/src/lib/template-contract.d.ts.map +1 -0
  173. package/src/lib/template-contract.js +1 -0
  174. package/src/lib/template-contract.js.map +1 -0
  175. package/src/lib/template.d.ts +11 -0
  176. package/src/lib/template.d.ts.map +1 -0
  177. package/src/lib/template.js +21 -0
  178. package/src/lib/template.js.map +1 -0
  179. package/src/lib/testing.d.ts +157 -0
  180. package/src/lib/testing.d.ts.map +1 -0
  181. package/src/lib/testing.js +416 -0
  182. package/src/lib/testing.js.map +1 -0
  183. package/src/lib/types.d.ts +442 -0
  184. package/src/lib/types.d.ts.map +1 -0
  185. package/src/lib/types.js +22 -0
  186. package/src/lib/types.js.map +1 -0
  187. package/testing/public-api.d.ts +3 -0
  188. package/testing/public-api.d.ts.map +1 -0
  189. package/testing/public-api.js +3 -0
  190. package/testing/public-api.js.map +1 -0
@@ -0,0 +1,330 @@
1
+ import type { AnyCraftException, CraftNodeDirective, CraftLazyLoadHelpers, CatchTagExhaustiveCodesCheck, CraftSettledCodesOf, CraftSettledSourcesOf, ExtractCraftGenExceptions, ExtractCraftPendingSources, FieldValidationCasesOf, SsrMode } from '@craft-ts/core';
2
+ import type { CraftComponent, CraftDirectiveTemplateDependencies, ComponentInitializationExceptionsOf, ComponentFieldExceptionsOf, CraftTemplate, ContentStylePolicy, InputValue } from '../types';
3
+ import { type CraftDirective } from '../types';
4
+ import type { CssVarContract, EmptyCssVarContract } from '../css-vars.type';
5
+ import { CATCH_BLOCK_DIRECTIVE, type CatchBlockDirective, type CatchBlockHandlerChildren, type CatchBlockHandlers, type CatchBlockPosition } from '../block';
6
+ import { type PendingBlockDirective, type PendingBlockHandlers, type PendingBlockPosition, type PendingFallback, type PendingBlockExhaustiveCheck, type PendingBlockResidualSources } from '../pending-block';
7
+ import { type FieldExceptionBlockDirective, type FieldExceptionBlockExhaustiveCheck, type FieldExceptionBlockPartialCheck, type FieldExceptionBlockOptions, type FieldExceptionHandlerFieldExceptions, type FieldExceptionHandlerChildren, type FieldExceptionHandlers, type FieldValidationHandledIdentities, type FieldValidationHandledIdentitiesCarrier, type ResidualFieldValidationCases, type UnhandledFieldValidationCases } from '../field-exception-block';
8
+ import type { EachSchedulePolicy, ScheduleEachDirective } from '../each-scheduling';
9
+ export type CraftHostInjector = unknown;
10
+ type HostInjector = CraftHostInjector & any;
11
+ type CraftHostType<T> = Function & {
12
+ new (...args: any[]): T;
13
+ };
14
+ export declare const CRAFT_NODE_DEPS: unique symbol;
15
+ export declare const CRAFT_NODE_CSS_VARS: unique symbol;
16
+ export declare const CRAFT_NODE_DIRECTIVES: unique symbol;
17
+ declare const CRAFT_NODE_EXCEPTIONS: unique symbol;
18
+ declare const CRAFT_NODE_HANDLED_EXCEPTIONS: unique symbol;
19
+ declare const CRAFT_NODE_PENDING: unique symbol;
20
+ declare const CRAFT_NODE_SETTLED_EXCEPTIONS: unique symbol;
21
+ declare const CRAFT_NODE_HEADING_NEED: unique symbol;
22
+ export declare const CRAFT_NODE_FIELD_EXCEPTIONS: unique symbol;
23
+ /** Internal bridge used by factories that create nodes while a template runs. */
24
+ export declare function withCraftRenderContext<T>(context: unknown, work: () => T): T;
25
+ export declare function currentCraftRenderContext(): unknown;
26
+ export type CraftNodeDepsCarrier<Dependencies extends object = {}> = {
27
+ readonly [CRAFT_NODE_DEPS]?: Dependencies;
28
+ };
29
+ /** Type-only contract propagated from descendant component calls. */
30
+ export type CraftNodeCssVarsCarrier<Contract extends CssVarContract = EmptyCssVarContract> = {
31
+ readonly __craftNodeCssVars__?: Contract;
32
+ };
33
+ type IsAny<Value> = 0 extends 1 & Value ? true : false;
34
+ export type CraftNodeExceptionsCarrier<Exceptions extends string = string> = {
35
+ readonly [CRAFT_NODE_EXCEPTIONS]?: Exceptions;
36
+ };
37
+ export type CraftNodeHandledExceptionsCarrier<Codes extends string = string> = {
38
+ readonly [CRAFT_NODE_HANDLED_EXCEPTIONS]?: Codes;
39
+ };
40
+ export type CraftNodeFieldExceptionsCarrier<Cases = never> = {
41
+ readonly [CRAFT_NODE_FIELD_EXCEPTIONS]?: Cases;
42
+ };
43
+ /**
44
+ * Type-only carrier for the async sources a subtree reads through a
45
+ * `settledValue` (directly, or through a `craftComputed` that consumed one with
46
+ * `yield* settled(...)`).
47
+ *
48
+ * It is the pending twin of {@link CraftNodeExceptionsCarrier}: sources bubble up
49
+ * from children to parents until a `pendingBlock` boundary clears them, and any
50
+ * source still uncovered when the template reaches `craftComponent(...)` is a
51
+ * compile error.
52
+ */
53
+ export type CraftNodePendingCarrier<Sources extends string = string> = {
54
+ readonly [CRAFT_NODE_PENDING]?: Sources;
55
+ };
56
+ /**
57
+ * Type-only carrier for the exception codes a subtree can reach **through a
58
+ * settled read** — codes that only become reachable because the template renders
59
+ * the value, not because a component declared them.
60
+ *
61
+ * They travel apart from {@link CraftNodeExceptionsCarrier} on purpose:
62
+ * `RequireCaughtComponentExceptions` fires on the children of the tag helper
63
+ * that receives them, and a text binding has no place to host a boundary
64
+ * (`span(userName)` would demand a `catchBlock` inside `span`'s own children).
65
+ * These bubble silently instead, are cleared by any ancestor `catchBlock`, and
66
+ * are checked once at `craftComponent(...)`.
67
+ */
68
+ export type CraftNodeSettledExceptionsCarrier<Codes extends string = string> = {
69
+ readonly [CRAFT_NODE_SETTLED_EXCEPTIONS]?: Codes;
70
+ };
71
+ /**
72
+ * Type-only carrier for a relative heading outline. `heading()` marks a
73
+ * subtree as needing a parent `headingSection` (or the route-level outline).
74
+ * `headingSection` absorbs that need for its children.
75
+ *
76
+ * `'heading'` is a local `heading()` in this template (allowed on the
77
+ * component that declares it). `'heading-from-child'` is a nested component
78
+ * that still exposes an uncovered heading — the parent must wrap that call in
79
+ * `headingSection`.
80
+ */
81
+ export type CraftNodeHeadingNeedCarrier<Need extends string = never> = {
82
+ readonly [CRAFT_NODE_HEADING_NEED]?: Need;
83
+ };
84
+ export type ChildHeadingNeed = 'heading-from-child';
85
+ export type RemapToChildHeadingNeed<Need> = [Need] extends [never] ? never : string extends Need ? never : ChildHeadingNeed;
86
+ type UnionToIntersection<Union> = (Union extends any ? (value: Union) => void : never) extends (value: infer Intersection) => void ? Intersection : never;
87
+ type CraftNodeChildrenDependenciesOf<Value> = IsAny<Value> extends true ? {} : string extends Value ? {} : Value extends readonly (infer Child)[] ? CraftNodeChildrenDependenciesOf<Child> : Value extends object ? typeof CRAFT_NODE_DEPS extends keyof Value ? Value extends CraftNodeDepsCarrier<infer Dependencies extends object> ? IsAny<Dependencies> extends true ? {} : Dependencies : {} : {} : {};
88
+ export type CraftNodeChildrenDependencies<Value> = {
89
+ [Key in keyof UnionToIntersection<CraftNodeChildrenDependenciesOf<Value>>]: UnionToIntersection<CraftNodeChildrenDependenciesOf<Value>>[Key];
90
+ } & {};
91
+ type CraftNodeChildrenCssVarsOf<Value, Depth extends unknown[] = []> = Depth['length'] extends 8 ? never : IsAny<Value> extends true ? never : Value extends readonly (infer Child)[] ? CraftNodeChildrenCssVarsOf<Child, [...Depth, unknown]> : Value extends CraftNodeCssVarsCarrier<infer Contract> ? Contract : never;
92
+ type CssVarField<Contracts, Key extends keyof CssVarContract> = Contracts extends CssVarContract ? Contracts[Key] : never;
93
+ export type CraftNodeChildrenCssVars<Value> = [CraftNodeChildren] extends [
94
+ Value
95
+ ] ? EmptyCssVarContract : IsAny<Value> extends true ? CssVarContract : [CraftNodeChildrenCssVarsOf<Value>] extends [never] ? EmptyCssVarContract : {
96
+ readonly required: CssVarField<CraftNodeChildrenCssVarsOf<Value>, 'required'>;
97
+ readonly optional: CssVarField<CraftNodeChildrenCssVarsOf<Value>, 'optional'>;
98
+ readonly declared: CssVarField<CraftNodeChildrenCssVarsOf<Value>, 'declared'>;
99
+ readonly inherited: CssVarField<CraftNodeChildrenCssVarsOf<Value>, 'inherited'>;
100
+ readonly nonInherited: CssVarField<CraftNodeChildrenCssVarsOf<Value>, 'nonInherited'>;
101
+ readonly unknownCss: true extends CssVarField<CraftNodeChildrenCssVarsOf<Value>, 'unknownCss'> ? true : false;
102
+ };
103
+ export type CraftTextValue = string | number | bigint | boolean;
104
+ /**
105
+ * A text binding. Two shapes, both already supported by the renderer:
106
+ *
107
+ * - a plain read — `() => user.name()`;
108
+ * - a generator — the projected form of a `craftComputed` bound by reference
109
+ * (`span(fullName)`), whose yields carry its exception and pending markers.
110
+ */
111
+ export type CraftTextBinding = (() => CraftTextValue | null | undefined) | (() => Generator<any, CraftTextValue | null | undefined, any>);
112
+ type ElementNodeExceptions<Children extends CraftNodeChildren, Exceptions extends string> = string extends CraftNodeChildrenExceptions<Children> ? Exceptions : CraftNodeChildrenExceptions<Children>;
113
+ /**
114
+ * The async sources an element still needs a `pendingBlock` for: the ones read
115
+ * by its children, the ones bound to its own props, plus any inherited from a
116
+ * node it was piped from.
117
+ */
118
+ type ElementNodePendingSources<Props extends object, Children extends CraftNodeChildren, PendingSources extends string> = PendingSources | CraftNodeChildrenPendingSources<Children> | CraftNodeChildrenPendingSources<Props[keyof Props]>;
119
+ type ElementNodeSettledExceptions<Props extends object, Children extends CraftNodeChildren, SettledExceptions extends string> = SettledExceptions | CraftNodeChildrenSettledExceptions<Children> | CraftNodeChildrenSettledExceptions<Props[keyof Props]>;
120
+ export interface ElementNodeBase<Dependencies extends object = {}, Tag extends string = string, Props extends object = Readonly<Record<string, unknown>>, Children extends CraftNodeChildren = CraftNodeChildren, LocalName extends string | undefined = string | undefined, Exceptions extends string = string, HandledExceptions extends string = string, FieldExceptions = unknown, PendingSources extends string = never, SettledExceptions extends string = never> extends CraftNodeDepsCarrier<Dependencies>, CraftNodeExceptionsCarrier<ElementNodeExceptions<Children, Exceptions>>, CraftNodeHandledExceptionsCarrier<HandledExceptions>, CraftNodePendingCarrier<ElementNodePendingSources<Props, Children, PendingSources>>, CraftNodeSettledExceptionsCarrier<ElementNodeSettledExceptions<Props, Children, SettledExceptions>>, CraftNodeHeadingNeedCarrier<CraftNodeChildrenHeadingNeed<Children>>, CraftNodeFieldExceptionsCarrier<FieldExceptions | CraftNodeChildrenRawFieldExceptions<Children>> {
121
+ readonly kind: 'element';
122
+ readonly tag: Tag;
123
+ readonly localName?: LocalName;
124
+ readonly props: Props;
125
+ readonly children: Children;
126
+ readonly [CRAFT_NODE_DIRECTIVES]?: readonly AppliedCraftNodeDirective[];
127
+ }
128
+ export interface ElementNode<Dependencies extends object = {}, Tag extends string = string, Props extends object = Readonly<Record<string, unknown>>, Children extends CraftNodeChildren = CraftNodeChildren, LocalName extends string | undefined = string | undefined, Exceptions extends string = string, HandledExceptions extends string = string, FieldExceptions = never, CssVars extends CssVarContract = EmptyCssVarContract, PendingSources extends string = never, SettledExceptions extends string = never> extends ElementNodeBase<Dependencies, Tag, Props, Children, LocalName, Exceptions, HandledExceptions, FieldExceptions, PendingSources, SettledExceptions>, CraftNodeCssVarsCarrier<CssVars> {
129
+ readonly [CRAFT_NODE_EXCEPTIONS]: ElementNodeExceptions<Children, Exceptions>;
130
+ readonly [CRAFT_NODE_FIELD_EXCEPTIONS]: FieldExceptions | CraftNodeChildrenRawFieldExceptions<Children>;
131
+ readonly pipe: CraftNodePipe<Dependencies, ElementNodeExceptions<Children, Exceptions>, FieldExceptions | CraftNodeChildrenRawFieldExceptions<Children>, ElementNodePendingSources<Props, Children, PendingSources>, ElementNodeSettledExceptions<Props, Children, SettledExceptions>>;
132
+ }
133
+ type PipedNode<Dependencies extends object, Exceptions extends string, FieldExceptions, Directive extends CraftDirective, PendingSources extends string = never, SettledExceptions extends string = never> = Directive extends PendingBlockDirective<infer Handlers extends PendingBlockHandlers | undefined, infer FallbackChildren extends CraftNodeChildren> ? PendingBlockNode<Dependencies | CraftNodeChildrenDependencies<FallbackChildren>, Exceptions | CraftNodeChildrenExceptions<FallbackChildren>, FieldExceptions | CraftNodeChildrenRawFieldExceptions<FallbackChildren>, PendingBlockResidualSources<PendingSources, Handlers> | CraftNodeChildrenPendingSources<FallbackChildren>, SettledExceptions | CraftNodeChildrenSettledExceptions<FallbackChildren>> : PipedNodeWithoutPending<Dependencies, Exceptions, FieldExceptions, Directive, PendingSources, SettledExceptions>;
134
+ type PipedNodeWithoutPending<Dependencies extends object, Exceptions extends string, FieldExceptions, Directive extends CraftDirective, PendingSources extends string, SettledExceptions extends string> = Directive extends FieldExceptionBlockDirective<infer FieldHandlers extends FieldExceptionHandlers, boolean> ? FieldExceptionBlockNode<Dependencies | CraftDirectiveTemplateDependencies<Directive>, Exceptions | CraftNodeChildrenExceptions<FieldExceptionHandlerChildren<FieldHandlers[keyof FieldHandlers]>>, ResidualFieldValidationCases<UnhandledFieldValidationCases<FieldExceptions>, FieldHandlers> | FieldExceptionHandlerFieldExceptions<FieldHandlers> | Extract<FieldExceptions, FieldValidationHandledIdentitiesCarrier<any>> | FieldValidationHandledIdentitiesCarrier<FieldValidationHandledIdentities<FieldExceptions, FieldHandlers>>, FieldHandlers, PendingSources | CraftNodeChildrenPendingSources<FieldExceptionHandlerChildren<FieldHandlers[keyof FieldHandlers]>>, SettledExceptions | CraftNodeChildrenSettledExceptions<FieldExceptionHandlerChildren<FieldHandlers[keyof FieldHandlers]>>> : Directive extends CatchBlockDirective<infer Handlers extends CatchBlockHandlers> ? CatchBlockNode<Dependencies | CraftDirectiveTemplateDependencies<Directive>, Exclude<Exceptions, Extract<keyof Handlers, string>> | CraftNodeChildrenExceptions<CatchBlockHandlerChildren<Handlers[keyof Handlers]>>, Handlers, Directive[typeof CATCH_BLOCK_DIRECTIVE]['position'], FieldExceptions, PendingSources | CraftNodeChildrenPendingSources<CatchBlockHandlerChildren<Handlers[keyof Handlers]>>, Exclude<SettledExceptions, Extract<keyof Handlers, string>> | CraftNodeChildrenSettledExceptions<CatchBlockHandlerChildren<Handlers[keyof Handlers]>>> : CraftDirectiveNode<Dependencies | CraftDirectiveTemplateDependencies<Directive>, Exceptions, FieldExceptions, PendingSources, SettledExceptions>;
135
+ type PipedCraftNodeDirective<Dependencies extends object, Exceptions extends string, FieldExceptions, Directive extends CraftNodeDirective<any>, PendingSources extends string = never, SettledExceptions extends string = never> = ElementNode<Dependencies, string, Readonly<Record<string, unknown>>, CraftNodeChildren, string | undefined, Exceptions, string, FieldExceptions | FieldValidationCasesOf<Directive>, EmptyCssVarContract, PendingSources, SettledExceptions>;
136
+ export type CraftNodePipe<Dependencies extends object = {}, Exceptions extends string = string, FieldExceptions = never, PendingSources extends string = never, SettledExceptions extends string = never> = {
137
+ <Directive extends CraftDirective>(directive: (Directive extends ScheduleEachDirective ? never : Directive) & (Directive extends PendingBlockDirective<infer PendingHandlers extends PendingBlockHandlers | undefined, CraftNodeChildren> ? PendingHandlers extends PendingBlockHandlers ? PendingBlockExhaustiveCheck<PendingSources, PendingHandlers> : unknown : Directive extends CatchBlockDirective<infer Handlers extends CatchBlockHandlers> ? CatchTagExhaustiveCodesCheck<Exceptions | SettledExceptions, Record<Extract<keyof Handlers, string>, unknown>> : Directive extends FieldExceptionBlockDirective<infer FieldHandlers extends FieldExceptionHandlers, infer Exhaustive extends boolean> ? Exhaustive extends true ? [UnhandledFieldValidationCases<FieldExceptions>] extends [never] ? unknown : FieldExceptionBlockExhaustiveCheck<UnhandledFieldValidationCases<FieldExceptions>, FieldHandlers> : [UnhandledFieldValidationCases<FieldExceptions>] extends [never] ? unknown : FieldExceptionBlockPartialCheck<UnhandledFieldValidationCases<FieldExceptions>, FieldHandlers> : unknown)): PipedNode<Dependencies, Exceptions, FieldExceptions, Directive, PendingSources, SettledExceptions>;
138
+ <Directive extends CraftNodeDirective<any>>(directive: Directive): PipedCraftNodeDirective<Dependencies, Exceptions, FieldExceptions, Directive, PendingSources, SettledExceptions>;
139
+ (directive: CraftHostType<unknown>): CraftNode;
140
+ };
141
+ export type EachNodePipe<Dependencies extends object = {}, Exceptions extends string = string, FieldExceptions = never, PendingSources extends string = never, SettledExceptions extends string = never, Item = unknown, Key = unknown, SourceName extends string | undefined = string | undefined, ItemChildren extends CraftNodeChildren = CraftNodeChildren, EmptyChildren extends CraftNodeChildren = CraftNodeChildren, Schedule extends EachSchedulePolicy | undefined = EachSchedulePolicy | undefined> = CraftNodePipe<Dependencies, Exceptions, FieldExceptions, PendingSources, SettledExceptions> & {
142
+ <Policy extends EachSchedulePolicy>(directive: ScheduleEachDirective<Policy>): EachNode<Item, Key, Dependencies, SourceName, ItemChildren, EmptyChildren, Policy>;
143
+ };
144
+ export interface AppliedCraftNodeDirective {
145
+ readonly directive: CraftNodeDirective<any>;
146
+ readonly inputs: Readonly<Record<string, unknown>>;
147
+ }
148
+ export interface CraftDirectiveNode<Dependencies extends object = {}, Exceptions extends string = string, FieldExceptions = unknown, PendingSources extends string = never, SettledExceptions extends string = never> extends CraftNodeDepsCarrier<Dependencies>, CraftNodeExceptionsCarrier<Exceptions>, CraftNodePendingCarrier<PendingSources>, CraftNodeSettledExceptionsCarrier<SettledExceptions>, CraftNodeFieldExceptionsCarrier<FieldExceptions> {
149
+ readonly [CRAFT_NODE_EXCEPTIONS]: Exceptions;
150
+ readonly [CRAFT_NODE_FIELD_EXCEPTIONS]: FieldExceptions;
151
+ readonly kind: 'directive';
152
+ readonly node: CraftNode;
153
+ readonly directives: readonly CraftDirective[];
154
+ readonly pipe: CraftNodePipe<Dependencies, Exceptions, FieldExceptions, PendingSources, SettledExceptions>;
155
+ }
156
+ export interface TextNode {
157
+ readonly kind: 'text';
158
+ readonly value: string;
159
+ }
160
+ /**
161
+ * Internal VNode used to retain a text binding until it is mounted. Keeping
162
+ * the callback intact lets the renderer give every binding its own reactive
163
+ * effect instead of collecting its dependencies in the component render.
164
+ */
165
+ export interface ReactiveTextNode {
166
+ readonly kind: 'reactive-text';
167
+ readonly binding: CraftTextBinding;
168
+ }
169
+ export interface ComponentNode<Props extends object = object, ComponentDeps extends object = {}, Component extends CraftComponent<any, ComponentDeps, any, any, any, any, any, any, any> = CraftComponent<any, ComponentDeps, any, any, any, any, any, any, any>, ContentDependencies extends object = ContentDependenciesFromProps<Props>, InputExceptions extends string = never, CssVars extends CssVarContract = EmptyCssVarContract, PendingSources extends string = never, SettledExceptions extends string = never> extends CraftNodeDepsCarrier<ComponentDeps & ContentDependencies>, CraftNodeCssVarsCarrier<CssVars>, CraftNodeExceptionsCarrier<ComponentInitializationExceptionsOf<Component> | InputExceptions>, CraftNodePendingCarrier<PendingSources | ContentPendingSourcesFromProps<Props>>, CraftNodeSettledExceptionsCarrier<SettledExceptions | ContentSettledExceptionsFromProps<Props>>, CraftNodeHeadingNeedCarrier<RemapToChildHeadingNeed<ComponentHeadingNeedOf<Component> | ContentHeadingNeedFromProps<Props>>>, CraftNodeFieldExceptionsCarrier<ComponentFieldExceptionsOf<Component> | ContentFieldExceptionsFromProps<Props>> {
170
+ readonly kind: 'component';
171
+ readonly component: Component;
172
+ readonly props: Props;
173
+ /** Optional route/feature injector used as this component's DI parent. */
174
+ readonly injector?: HostInjector;
175
+ readonly declarationContext?: unknown;
176
+ readonly [CRAFT_NODE_EXCEPTIONS]: ComponentInitializationExceptionsOf<Component> | InputExceptions;
177
+ readonly [CRAFT_NODE_FIELD_EXCEPTIONS]: ComponentFieldExceptionsOf<Component> | ContentFieldExceptionsFromProps<Props>;
178
+ readonly pipe: CraftNodePipe<ComponentDeps & ContentDependencies, ComponentInitializationExceptionsOf<Component> | InputExceptions, ComponentFieldExceptionsOf<Component> | ContentFieldExceptionsFromProps<Props>, PendingSources | ContentPendingSourcesFromProps<Props>, SettledExceptions | ContentSettledExceptionsFromProps<Props>>;
179
+ }
180
+ export interface CatchBlockNode<Dependencies extends object = {}, Exceptions extends string = string, Handlers extends CatchBlockHandlers = CatchBlockHandlers, Position extends CatchBlockPosition = CatchBlockPosition, FieldExceptions = unknown, PendingSources extends string = never, SettledExceptions extends string = never> extends CraftNodeDepsCarrier<Dependencies>, CraftNodeExceptionsCarrier<Exceptions>, CraftNodeHandledExceptionsCarrier<Extract<keyof Handlers, string>>, CraftNodePendingCarrier<PendingSources>, CraftNodeSettledExceptionsCarrier<SettledExceptions>, CraftNodeFieldExceptionsCarrier<FieldExceptions> {
181
+ readonly kind: 'catch-block';
182
+ readonly source: CraftNode;
183
+ readonly handlers: Handlers;
184
+ readonly position: Position;
185
+ }
186
+ export interface FieldExceptionBlockNode<Dependencies extends object = {}, Exceptions extends string = string, FieldExceptions = never, Handlers extends FieldExceptionHandlers = FieldExceptionHandlers, PendingSources extends string = never, SettledExceptions extends string = never> extends CraftNodeDepsCarrier<Dependencies>, CraftNodeExceptionsCarrier<Exceptions>, CraftNodePendingCarrier<PendingSources>, CraftNodeSettledExceptionsCarrier<SettledExceptions>, CraftNodeFieldExceptionsCarrier<FieldExceptions> {
187
+ readonly kind: 'field-exception-block';
188
+ readonly [CRAFT_NODE_FIELD_EXCEPTIONS]: FieldExceptions;
189
+ readonly source: CraftNodeChildren;
190
+ readonly handlers: Handlers;
191
+ readonly options: Required<Pick<FieldExceptionBlockOptions, 'mode' | 'position'>> & Pick<FieldExceptionBlockOptions, 'visibility'>;
192
+ readonly pipe: CraftNodePipe<Dependencies, Exceptions, FieldExceptions, PendingSources, SettledExceptions>;
193
+ }
194
+ export interface MatchBlockNode<Dependencies extends object = {}, Source extends ((...args: any[]) => unknown) | object = () => object | undefined, Children extends CraftNodeChildren = CraftNodeChildren, HandledExceptions extends string = string> extends CraftNodeDepsCarrier<Dependencies>, CraftNodeHandledExceptionsCarrier<HandledExceptions>, CraftNodePendingCarrier<CraftNodeChildrenPendingSources<Children>>, CraftNodeSettledExceptionsCarrier<CraftNodeChildrenSettledExceptions<Children>> {
195
+ readonly kind: 'match-block';
196
+ readonly source: Source;
197
+ readonly key: PropertyKey;
198
+ readonly handlers: Record<string, (exception: AnyCraftException) => Children>;
199
+ }
200
+ export interface EachNode<Item = unknown, Key = unknown, Dependencies extends object = {}, SourceName extends string | undefined = string | undefined, ItemChildren extends CraftNodeChildren = CraftNodeChildren, EmptyChildren extends CraftNodeChildren = CraftNodeChildren, Schedule extends EachSchedulePolicy | undefined = EachSchedulePolicy | undefined> extends CraftNodeDepsCarrier<Dependencies>, CraftNodeCssVarsCarrier<CraftNodeChildrenCssVars<ItemChildren | EmptyChildren>>, CraftNodePendingCarrier<CraftNodeChildrenPendingSources<ItemChildren> | CraftNodeChildrenPendingSources<EmptyChildren>>, CraftNodeSettledExceptionsCarrier<CraftNodeChildrenSettledExceptions<ItemChildren> | CraftNodeChildrenSettledExceptions<EmptyChildren>>, CraftNodeHeadingNeedCarrier<CraftNodeChildrenHeadingNeed<ItemChildren> | CraftNodeChildrenHeadingNeed<EmptyChildren>>, CraftNodeFieldExceptionsCarrier<CraftNodeChildrenRawFieldExceptions<ItemChildren> | CraftNodeChildrenRawFieldExceptions<EmptyChildren>> {
201
+ readonly kind: 'each';
202
+ readonly source: readonly Item[] | null | undefined | (() => readonly Item[] | null | undefined) | (() => Generator<unknown, readonly Item[] | null | undefined, unknown>);
203
+ readonly sourceName?: SourceName;
204
+ readonly track: (item: Item, index: number) => Key;
205
+ readonly empty?: () => EmptyChildren;
206
+ readonly schedule?: Schedule;
207
+ readonly itemTemplate: (item: InputValue<Item>, index: number) => ItemChildren;
208
+ readonly pipe: EachNodePipe<Dependencies, CraftNodeChildrenExceptions<ItemChildren | EmptyChildren>, CraftNodeChildrenRawFieldExceptions<ItemChildren | EmptyChildren>, CraftNodeChildrenPendingSources<ItemChildren> | CraftNodeChildrenPendingSources<EmptyChildren>, CraftNodeChildrenSettledExceptions<ItemChildren | EmptyChildren>, Item, Key, SourceName, ItemChildren, EmptyChildren, Schedule>;
209
+ }
210
+ export interface IfBlockNode<ConditionName extends string = string, Dependencies extends object = {}, TrueChildren extends CraftNodeChildren = CraftNodeChildren, FalseChildren extends CraftNodeChildren = CraftNodeChildren> extends CraftNodeDepsCarrier<Dependencies>, CraftNodeCssVarsCarrier<CraftNodeChildrenCssVars<TrueChildren | FalseChildren>>, CraftNodePendingCarrier<CraftNodeChildrenPendingSources<TrueChildren> | CraftNodeChildrenPendingSources<FalseChildren>>, CraftNodeSettledExceptionsCarrier<CraftNodeChildrenSettledExceptions<TrueChildren> | CraftNodeChildrenSettledExceptions<FalseChildren>>, CraftNodeHeadingNeedCarrier<CraftNodeChildrenHeadingNeed<TrueChildren> | CraftNodeChildrenHeadingNeed<FalseChildren>>, CraftNodeFieldExceptionsCarrier<CraftNodeChildrenRawFieldExceptions<TrueChildren> | CraftNodeChildrenRawFieldExceptions<FalseChildren>> {
211
+ readonly kind: 'if';
212
+ readonly condition: () => boolean;
213
+ readonly conditionName: ConditionName;
214
+ readonly whenTrue: () => TrueChildren;
215
+ readonly whenFalse?: () => FalseChildren;
216
+ }
217
+ /**
218
+ * Relative heading. The runtime picks `h1`–`h6` from the current outline
219
+ * level. The node brands the subtree as needing a parent outline.
220
+ */
221
+ export interface HeadingNode<Dependencies extends object = {}, Children extends CraftNodeChildren = CraftNodeChildren, Props extends object = Readonly<Record<string, unknown>>, Need extends string = never> extends CraftNodeDepsCarrier<Dependencies>, CraftNodeCssVarsCarrier<CraftNodeChildrenCssVars<Children>>, CraftNodePendingCarrier<CraftNodeChildrenPendingSources<Children>>, CraftNodeSettledExceptionsCarrier<CraftNodeChildrenSettledExceptions<Children>>, CraftNodeHeadingNeedCarrier<Need>, CraftNodeFieldExceptionsCarrier<CraftNodeChildrenRawFieldExceptions<Children>> {
222
+ readonly kind: 'heading';
223
+ readonly props: Props;
224
+ readonly children: Children;
225
+ readonly pipe: CraftNodePipe<Dependencies, CraftNodeChildrenExceptions<Children>, CraftNodeChildrenRawFieldExceptions<Children>, CraftNodeChildrenPendingSources<Children>, CraftNodeChildrenSettledExceptions<Children>>;
226
+ }
227
+ /**
228
+ * Increments the heading outline for its subtree without a DOM wrapper.
229
+ * Absorbs children's heading need — the parent established the outline.
230
+ * `reset: true` (`headingRoot`) starts the outline at level 1 instead of
231
+ * incrementing — used by route pages and skip-link shells.
232
+ */
233
+ export interface HeadingSectionNode<Dependencies extends object = {}, Children extends CraftNodeChildren = CraftNodeChildren> extends CraftNodeDepsCarrier<Dependencies>, CraftNodeCssVarsCarrier<CraftNodeChildrenCssVars<Children>>, CraftNodePendingCarrier<CraftNodeChildrenPendingSources<Children>>, CraftNodeSettledExceptionsCarrier<CraftNodeChildrenSettledExceptions<Children>>, CraftNodeHeadingNeedCarrier<never>, CraftNodeFieldExceptionsCarrier<CraftNodeChildrenRawFieldExceptions<Children>> {
234
+ readonly kind: 'heading-section';
235
+ readonly reset?: boolean;
236
+ readonly children: Children;
237
+ }
238
+ export type DeferTrigger = 'immediate' | 'idle' | 'viewport' | 'interaction';
239
+ export interface DeferNode<Loaded = unknown, Dependencies extends object = {}, Children extends CraftNodeChildren = CraftNodeChildren> extends CraftNodeDepsCarrier<Dependencies>, CraftNodeCssVarsCarrier<CraftNodeChildrenCssVars<Children>>, CraftNodePendingCarrier<CraftNodeChildrenPendingSources<Children>>, CraftNodeSettledExceptionsCarrier<CraftNodeChildrenSettledExceptions<Children>>, CraftNodeHeadingNeedCarrier<CraftNodeChildrenHeadingNeed<Children>>, CraftNodeFieldExceptionsCarrier<CraftNodeChildrenRawFieldExceptions<Children>> {
240
+ readonly kind: 'defer';
241
+ readonly loader: (helpers: CraftLazyLoadHelpers) => Promise<Loaded>;
242
+ readonly resolve: (loaded: Loaded) => CraftNodeChildren;
243
+ readonly trigger: DeferTrigger;
244
+ readonly placeholder?: () => CraftNodeChildren;
245
+ readonly loading?: () => CraftNodeChildren;
246
+ readonly error?: (error: unknown) => CraftNodeChildren;
247
+ }
248
+ /**
249
+ * A suspension boundary. Its source subtree stays mounted while it is pending —
250
+ * hidden, not destroyed — and the fallback is inserted next to it.
251
+ */
252
+ export interface PendingBlockNode<Dependencies extends object = {}, Exceptions extends string = string, FieldExceptions = unknown, PendingSources extends string = never, SettledExceptions extends string = never> extends CraftNodeDepsCarrier<Dependencies>, CraftNodeExceptionsCarrier<Exceptions>, CraftNodePendingCarrier<PendingSources>, CraftNodeSettledExceptionsCarrier<SettledExceptions>, CraftNodeFieldExceptionsCarrier<FieldExceptions> {
253
+ readonly [CRAFT_NODE_EXCEPTIONS]: Exceptions;
254
+ readonly kind: 'pending-block';
255
+ readonly source: CraftNode;
256
+ readonly handlers: PendingBlockHandlers | undefined;
257
+ readonly fallback: PendingFallback | undefined;
258
+ readonly reloading: PendingFallback | undefined;
259
+ readonly position: PendingBlockPosition;
260
+ readonly ssr: SsrMode | undefined;
261
+ readonly pipe: CraftNodePipe<Dependencies, Exceptions, FieldExceptions, PendingSources, SettledExceptions>;
262
+ }
263
+ export type CraftNode = ElementNodeBase<any> | TextNode | ReactiveTextNode | ComponentNode<any, any, any, any, any, any> | CraftDirectiveNode<any> | EachNode<any, any, any, any, any, any> | IfBlockNode<any, any, any, any> | HeadingNode<any, any, any> | HeadingSectionNode<any, any> | DeferNode<any, any, any> | CatchBlockNode<any, any> | PendingBlockNode<any, any, any, any> | FieldExceptionBlockNode<any, any, any> | MatchBlockNode<any, any> | ProjectionNode<any, any> | TemplateNode<any, any, any>;
264
+ export type CraftNodeChild = CraftNode | {
265
+ readonly kind: CraftNode['kind'];
266
+ } | CraftTextValue | CraftTextBinding | null | undefined | readonly CraftNodeChild[];
267
+ export type CraftNodeChildren = CraftNodeChild | readonly CraftNodeChild[];
268
+ type ContentChildrenFromProps<Props extends object> = Props[keyof Props] extends infer Value ? Value extends (...args: any[]) => infer Output ? Output : Value extends readonly (infer Item)[] ? Item : Value extends CraftNode ? Value : never : never;
269
+ export type ContentDependenciesFromProps<Props extends object> = CraftNodeChildrenDependencies<ContentChildrenFromProps<Props>>;
270
+ export type ContentFieldExceptionsFromProps<Props extends object> = CraftNodeChildrenRawFieldExceptions<ContentChildrenFromProps<Props>>;
271
+ /**
272
+ * Async sources read by content a caller projects into a component. They are the
273
+ * caller's responsibility: the nodes are declared in the caller's template, so
274
+ * the boundary belongs there too.
275
+ */
276
+ export type ContentPendingSourcesFromProps<Props extends object> = CraftNodeChildrenPendingSources<ContentChildrenFromProps<Props>>;
277
+ /** Settled exceptions reachable through content a caller projects in. */
278
+ export type ContentSettledExceptionsFromProps<Props extends object> = CraftNodeChildrenSettledExceptions<ContentChildrenFromProps<Props>>;
279
+ export type ContentHeadingNeedFromProps<Props extends object> = CraftNodeChildrenHeadingNeed<ContentChildrenFromProps<Props>>;
280
+ export type ComponentHeadingNeedOf<Component> = Component extends CraftComponent<any, any, any, any, any, any, infer Template> ? Template extends (...args: any[]) => infer Output ? CraftNodeChildrenHeadingNeed<Output> : never : never;
281
+ export interface ProjectionNode<Dependencies extends object = {}, Output extends CraftNodeChildren = CraftNodeChildren> extends CraftNodeDepsCarrier<Dependencies>, CraftNodeCssVarsCarrier<CraftNodeChildrenCssVars<Output>>, CraftNodePendingCarrier<CraftNodeChildrenPendingSources<Output>>, CraftNodeSettledExceptionsCarrier<CraftNodeChildrenSettledExceptions<Output>>, CraftNodeFieldExceptionsCarrier<CraftNodeChildrenRawFieldExceptions<Output>> {
282
+ readonly kind: 'projection';
283
+ readonly render: () => Output;
284
+ readonly slotName?: string;
285
+ readonly stylePolicy: ContentStylePolicy;
286
+ readonly declarationContext?: unknown;
287
+ }
288
+ export interface TemplateNode<Context = unknown, Output extends CraftNodeChildren = CraftNodeChildren, Dependencies extends object = CraftNodeChildrenDependencies<Output>> extends CraftNodeDepsCarrier<Dependencies>, CraftNodePendingCarrier<CraftNodeChildrenPendingSources<Output>>, CraftNodeSettledExceptionsCarrier<CraftNodeChildrenSettledExceptions<Output>> {
289
+ readonly __craftNodeCssVars__?: CraftNodeChildrenCssVars<Output>;
290
+ readonly [CRAFT_NODE_FIELD_EXCEPTIONS]?: CraftNodeChildrenRawFieldExceptions<Output>;
291
+ readonly kind: 'template';
292
+ readonly template: CraftTemplate<Context, Output>;
293
+ readonly context: Context;
294
+ readonly declarationContext?: unknown;
295
+ }
296
+ /** The yields of a child written as (or projected to) a generator callback. */
297
+ type ChildBindingYielded<Value> = Value extends (...args: any[]) => Generator<infer Yielded, any, any> ? Yielded : never;
298
+ type CraftNodeDirectExceptions<Value> = IsAny<Value> extends true ? never : Value extends CraftNodeExceptionsCarrier<infer Exceptions> ? string extends Exceptions ? never : Exceptions : never;
299
+ export type CraftNodeChildrenExceptions<Value> = Value extends unknown ? Value extends readonly (infer Child)[] ? CraftNodeDirectExceptions<Child> : CraftNodeDirectExceptions<Value> : never;
300
+ type CraftNodeDirectPendingSources<Value> = IsAny<Value> extends true ? never : CraftSettledSourcesOf<Value> | ExtractCraftPendingSources<ChildBindingYielded<Value>> | (Value extends CraftNodePendingCarrier<infer Sources> ? string extends Sources ? never : Sources : never);
301
+ export type CraftNodeChildrenPendingSources<Value> = Value extends unknown ? Value extends readonly (infer Child)[] ? CraftNodeDirectPendingSources<Child> : CraftNodeDirectPendingSources<Value> : never;
302
+ type CraftNodeDirectSettledExceptions<Value> = IsAny<Value> extends true ? never : CraftSettledCodesOf<Value> | Extract<ExtractCraftGenExceptions<ChildBindingYielded<Value>>, {
303
+ readonly _tag: string;
304
+ }>['_tag'] | (Value extends CraftNodeSettledExceptionsCarrier<infer Codes> ? string extends Codes ? never : Codes : never);
305
+ export type CraftNodeChildrenSettledExceptions<Value> = Value extends unknown ? Value extends readonly (infer Child)[] ? CraftNodeDirectSettledExceptions<Child> : CraftNodeDirectSettledExceptions<Value> : never;
306
+ type CraftNodeDirectHeadingNeed<Value> = IsAny<Value> extends true ? never : Value extends CraftNodeHeadingNeedCarrier<infer Need> ? string extends Need ? never : Need : never;
307
+ export type CraftNodeChildrenHeadingNeed<Value> = Value extends unknown ? Value extends readonly (infer Child)[] ? CraftNodeDirectHeadingNeed<Child> : CraftNodeDirectHeadingNeed<Value> : never;
308
+ type CraftNodeDirectFieldExceptions<Value> = IsAny<Value> extends true ? never : Value extends CraftNodeFieldExceptionsCarrier<infer Cases> ? IsAny<Cases> extends true ? never : unknown extends Cases ? never : Exclude<Cases, undefined> : never;
309
+ export type CraftNodeChildrenRawFieldExceptions<Value> = Value extends unknown ? Value extends readonly (infer Child)[] ? CraftNodeDirectFieldExceptions<Child> : CraftNodeDirectFieldExceptions<Value> : never;
310
+ export type CraftNodeChildrenFieldExceptions<Value> = UnhandledFieldValidationCases<CraftNodeChildrenRawFieldExceptions<Value>>;
311
+ type CraftNodeDirectHandledExceptionCodes<Value> = IsAny<Value> extends true ? never : Value extends CraftNodeHandledExceptionsCarrier<infer Codes extends string> ? string extends Codes ? never : Codes : never;
312
+ export type CraftNodeChildrenHandledExceptionCodes<Value> = Value extends unknown ? Value extends readonly (infer Child)[] ? CraftNodeDirectHandledExceptionCodes<Child> : CraftNodeDirectHandledExceptionCodes<Value> : never;
313
+ /** A template child is renderable only after its component exceptions are handled. */
314
+ type RequireCaughtInitializationExceptions<Children extends CraftNodeChildren> = IsAny<CraftNodeChildrenExceptions<Children>> extends true ? unknown : [CraftNodeChildrenExceptions<Children>] extends [never] ? unknown : {
315
+ 'catchTag.exhaustive or catchBlock.exhaustive is required before rendering component exceptions': CraftNodeChildrenExceptions<Children>;
316
+ };
317
+ type DirectComponentFieldExceptions<Value> = IsAny<Value> extends true ? never : Value extends ComponentNode<any, any, infer Component> ? ComponentFieldExceptionsOf<Component> extends infer Cases ? IsAny<Cases> extends true ? never : Cases : never : never;
318
+ type ComponentFieldExceptionsInChildren<Value> = Value extends readonly (infer Child)[] ? DirectComponentFieldExceptions<Child> : DirectComponentFieldExceptions<Value>;
319
+ type RequireHandledComponentFieldExceptions<Children extends CraftNodeChildren> = unknown extends ComponentFieldExceptionsInChildren<Children> ? unknown : [ComponentFieldExceptionsInChildren<Children>] extends [never] ? unknown : {
320
+ 'fieldExceptionBlock.exhaustive is required before rendering component field exceptions': ComponentFieldExceptionsInChildren<Children>;
321
+ };
322
+ export type RequireCaughtComponentExceptions<Children extends CraftNodeChildren> = RequireCaughtInitializationExceptions<Children> & RequireHandledComponentFieldExceptions<Children>;
323
+ export declare function isCraftNode(value: unknown): value is CraftNode;
324
+ export declare function pipeCraftNode(node: CraftNode, directive: CraftDirective | CraftNodeDirective<any> | ScheduleEachDirective | CraftHostType<unknown>): CraftNode;
325
+ export declare function mergeHostProps(base: Readonly<Record<string, unknown>>, added: Readonly<Record<string, unknown>>): Readonly<Record<string, unknown>>;
326
+ /** Adds host properties to the first host node produced by a template. */
327
+ export declare function applyHostPropsToChildren(children: CraftNodeChildren, props: Readonly<Record<string, unknown>> | undefined): CraftNodeChildren;
328
+ export declare function normalizeChildren(children: CraftNodeChildren): CraftNode[];
329
+ export {};
330
+ //# sourceMappingURL=vnode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vnode.d.ts","sourceRoot":"","sources":["../../../../../../libs/component/src/lib/render/vnode.ts"],"names":[],"mappings":"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"}