@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.
- package/LICENSE +21 -0
- package/package.json +36 -0
- package/src/index.d.ts +40 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js +38 -0
- package/src/index.js.map +1 -0
- package/src/lib/a11y-control.d.ts +58 -0
- package/src/lib/a11y-control.d.ts.map +1 -0
- package/src/lib/a11y-control.js +74 -0
- package/src/lib/a11y-control.js.map +1 -0
- package/src/lib/a11y.d.ts +87 -0
- package/src/lib/a11y.d.ts.map +1 -0
- package/src/lib/a11y.js +96 -0
- package/src/lib/a11y.js.map +1 -0
- package/src/lib/ai/ai-context-menu.d.ts +140 -0
- package/src/lib/ai/ai-context-menu.d.ts.map +1 -0
- package/src/lib/ai/ai-context-menu.js +66 -0
- package/src/lib/ai/ai-context-menu.js.map +1 -0
- package/src/lib/ai/ai-send-dialog.d.ts +1263 -0
- package/src/lib/ai/ai-send-dialog.d.ts.map +1 -0
- package/src/lib/ai/ai-send-dialog.js +288 -0
- package/src/lib/ai/ai-send-dialog.js.map +1 -0
- package/src/lib/ai/send-context-to-ai.d.ts +29 -0
- package/src/lib/ai/send-context-to-ai.d.ts.map +1 -0
- package/src/lib/ai/send-context-to-ai.js +127 -0
- package/src/lib/ai/send-context-to-ai.js.map +1 -0
- package/src/lib/assert-defined-input.d.ts +26 -0
- package/src/lib/assert-defined-input.d.ts.map +1 -0
- package/src/lib/assert-defined-input.js +47 -0
- package/src/lib/assert-defined-input.js.map +1 -0
- package/src/lib/block.d.ts +36 -0
- package/src/lib/block.d.ts.map +1 -0
- package/src/lib/block.js +55 -0
- package/src/lib/block.js.map +1 -0
- package/src/lib/bootstrap.d.ts +32 -0
- package/src/lib/bootstrap.d.ts.map +1 -0
- package/src/lib/bootstrap.js +60 -0
- package/src/lib/bootstrap.js.map +1 -0
- package/src/lib/bridge.d.ts +56 -0
- package/src/lib/bridge.d.ts.map +1 -0
- package/src/lib/bridge.js +81 -0
- package/src/lib/bridge.js.map +1 -0
- package/src/lib/component.d.ts +46 -0
- package/src/lib/component.d.ts.map +1 -0
- package/src/lib/component.js +118 -0
- package/src/lib/component.js.map +1 -0
- package/src/lib/composition.d.ts +17 -0
- package/src/lib/composition.d.ts.map +1 -0
- package/src/lib/composition.js +28 -0
- package/src/lib/composition.js.map +1 -0
- package/src/lib/craft-defaults.d.ts +2 -0
- package/src/lib/craft-defaults.d.ts.map +1 -0
- package/src/lib/craft-defaults.js +41 -0
- package/src/lib/craft-defaults.js.map +1 -0
- package/src/lib/craft-host-tokens.d.ts +6 -0
- package/src/lib/craft-host-tokens.d.ts.map +1 -0
- package/src/lib/craft-host-tokens.js +7 -0
- package/src/lib/craft-host-tokens.js.map +1 -0
- package/src/lib/craft-router-outlet.d.ts +15 -0
- package/src/lib/craft-router-outlet.d.ts.map +1 -0
- package/src/lib/craft-router-outlet.js +10 -0
- package/src/lib/craft-router-outlet.js.map +1 -0
- package/src/lib/css-vars.d.ts +31 -0
- package/src/lib/css-vars.d.ts.map +1 -0
- package/src/lib/css-vars.js +43 -0
- package/src/lib/css-vars.js.map +1 -0
- package/src/lib/css-vars.type.d.ts +151 -0
- package/src/lib/css-vars.type.d.ts.map +1 -0
- package/src/lib/css-vars.type.js +1 -0
- package/src/lib/css-vars.type.js.map +1 -0
- package/src/lib/defer.d.ts +31 -0
- package/src/lib/defer.d.ts.map +1 -0
- package/src/lib/defer.js +19 -0
- package/src/lib/defer.js.map +1 -0
- package/src/lib/directive.d.ts +9 -0
- package/src/lib/directive.d.ts.map +1 -0
- package/src/lib/directive.js +31 -0
- package/src/lib/directive.js.map +1 -0
- package/src/lib/each-scheduling.d.ts +59 -0
- package/src/lib/each-scheduling.d.ts.map +1 -0
- package/src/lib/each-scheduling.js +120 -0
- package/src/lib/each-scheduling.js.map +1 -0
- package/src/lib/each.d.ts +29 -0
- package/src/lib/each.d.ts.map +1 -0
- package/src/lib/each.js +23 -0
- package/src/lib/each.js.map +1 -0
- package/src/lib/factory-runtime.d.ts +5 -0
- package/src/lib/factory-runtime.d.ts.map +1 -0
- package/src/lib/factory-runtime.js +26 -0
- package/src/lib/factory-runtime.js.map +1 -0
- package/src/lib/field-exception-block.d.ts +96 -0
- package/src/lib/field-exception-block.d.ts.map +1 -0
- package/src/lib/field-exception-block.js +44 -0
- package/src/lib/field-exception-block.js.map +1 -0
- package/src/lib/host-runtime.d.ts +60 -0
- package/src/lib/host-runtime.d.ts.map +1 -0
- package/src/lib/host-runtime.js +16 -0
- package/src/lib/host-runtime.js.map +1 -0
- package/src/lib/hydrate.d.ts +15 -0
- package/src/lib/hydrate.d.ts.map +1 -0
- package/src/lib/hydrate.js +79 -0
- package/src/lib/hydrate.js.map +1 -0
- package/src/lib/hyperscript.d.ts +148 -0
- package/src/lib/hyperscript.d.ts.map +1 -0
- package/src/lib/hyperscript.js +96 -0
- package/src/lib/hyperscript.js.map +1 -0
- package/src/lib/if-block.d.ts +8 -0
- package/src/lib/if-block.d.ts.map +1 -0
- package/src/lib/if-block.js +16 -0
- package/src/lib/if-block.js.map +1 -0
- package/src/lib/locator.d.ts +170 -0
- package/src/lib/locator.d.ts.map +1 -0
- package/src/lib/locator.js +151 -0
- package/src/lib/locator.js.map +1 -0
- package/src/lib/match-block.d.ts +38 -0
- package/src/lib/match-block.d.ts.map +1 -0
- package/src/lib/match-block.js +29 -0
- package/src/lib/match-block.js.map +1 -0
- package/src/lib/pending-block.d.ts +125 -0
- package/src/lib/pending-block.d.ts.map +1 -0
- package/src/lib/pending-block.js +48 -0
- package/src/lib/pending-block.js.map +1 -0
- package/src/lib/project.d.ts +19 -0
- package/src/lib/project.d.ts.map +1 -0
- package/src/lib/project.js +56 -0
- package/src/lib/project.js.map +1 -0
- package/src/lib/render/hydration-metadata.d.ts +3 -0
- package/src/lib/render/hydration-metadata.d.ts.map +1 -0
- package/src/lib/render/hydration-metadata.js +8 -0
- package/src/lib/render/hydration-metadata.js.map +1 -0
- package/src/lib/render/hydration.d.ts +24 -0
- package/src/lib/render/hydration.d.ts.map +1 -0
- package/src/lib/render/hydration.js +181 -0
- package/src/lib/render/hydration.js.map +1 -0
- package/src/lib/render/interpreter.d.ts +32 -0
- package/src/lib/render/interpreter.d.ts.map +1 -0
- package/src/lib/render/interpreter.js +3588 -0
- package/src/lib/render/interpreter.js.map +1 -0
- package/src/lib/render/server-style-collector.d.ts +6 -0
- package/src/lib/render/server-style-collector.d.ts.map +1 -0
- package/src/lib/render/server-style-collector.js +23 -0
- package/src/lib/render/server-style-collector.js.map +1 -0
- package/src/lib/render/ssr-coordinator.d.ts +20 -0
- package/src/lib/render/ssr-coordinator.d.ts.map +1 -0
- package/src/lib/render/ssr-coordinator.js +99 -0
- package/src/lib/render/ssr-coordinator.js.map +1 -0
- package/src/lib/render/string-dom.d.ts +9 -0
- package/src/lib/render/string-dom.d.ts.map +1 -0
- package/src/lib/render/string-dom.js +377 -0
- package/src/lib/render/string-dom.js.map +1 -0
- package/src/lib/render/style-registry.d.ts +14 -0
- package/src/lib/render/style-registry.d.ts.map +1 -0
- package/src/lib/render/style-registry.js +79 -0
- package/src/lib/render/style-registry.js.map +1 -0
- package/src/lib/render/style-scope.d.ts +30 -0
- package/src/lib/render/style-scope.d.ts.map +1 -0
- package/src/lib/render/style-scope.js +261 -0
- package/src/lib/render/style-scope.js.map +1 -0
- package/src/lib/render/vnode.d.ts +330 -0
- package/src/lib/render/vnode.d.ts.map +1 -0
- package/src/lib/render/vnode.js +293 -0
- package/src/lib/render/vnode.js.map +1 -0
- package/src/lib/server-render.d.ts +34 -0
- package/src/lib/server-render.d.ts.map +1 -0
- package/src/lib/server-render.js +84 -0
- package/src/lib/server-render.js.map +1 -0
- package/src/lib/start.d.ts +13 -0
- package/src/lib/start.d.ts.map +1 -0
- package/src/lib/start.js +20 -0
- package/src/lib/start.js.map +1 -0
- package/src/lib/template-contract.d.ts +347 -0
- package/src/lib/template-contract.d.ts.map +1 -0
- package/src/lib/template-contract.js +1 -0
- package/src/lib/template-contract.js.map +1 -0
- package/src/lib/template.d.ts +11 -0
- package/src/lib/template.d.ts.map +1 -0
- package/src/lib/template.js +21 -0
- package/src/lib/template.js.map +1 -0
- package/src/lib/testing.d.ts +157 -0
- package/src/lib/testing.d.ts.map +1 -0
- package/src/lib/testing.js +416 -0
- package/src/lib/testing.js.map +1 -0
- package/src/lib/types.d.ts +442 -0
- package/src/lib/types.d.ts.map +1 -0
- package/src/lib/types.js +22 -0
- package/src/lib/types.js.map +1 -0
- package/testing/public-api.d.ts +3 -0
- package/testing/public-api.d.ts.map +1 -0
- package/testing/public-api.js +3 -0
- package/testing/public-api.js.map +1 -0
|
@@ -0,0 +1,442 @@
|
|
|
1
|
+
import type { AnyCraftException, ComponentDepsCarrier, CraftComponentDependencies, CraftServiceProvider, ExtractCraftGenExceptions, ResolveGeneratorResult, Yieldable, YieldableMethod, NamedYieldableValue, CatchTagExhaustiveCodesCheck, CraftRegistrationTarget, CraftNodeDirectiveMount, CRAFT_FIELD_VALIDATION_CASES, CraftFieldValidationCasesCarrier, ReactiveReadRequest, DEEP_YIELDABLE, YIELDABLE_DEPENDENCY, YieldableReactiveValue } from '@craft-ts/core';
|
|
2
|
+
import { CRAFT_SERVICE_PROVIDER_BRAND } from '@craft-ts/core';
|
|
3
|
+
import type { ɵRAW_REACTIVE_VALUE as RAW_REACTIVE_VALUE, REACTIVE_VALUE_TYPE, YIELDABLE_VALUE } from '@craft-ts/core';
|
|
4
|
+
import type { HostProps } from './hyperscript';
|
|
5
|
+
import type { StaticLocatorCriteria } from './locator';
|
|
6
|
+
import type { CraftNodeChildren, CraftNodeChildrenDependencies, CraftNodeChildrenCssVars, CraftNodeChildrenPendingSources, CraftNodeChildrenHeadingNeed, CraftNodeChildrenSettledExceptions, CraftNodeChildrenExceptions, CraftNodeChildrenRawFieldExceptions, CraftNodeChildrenHandledExceptionCodes, CraftNodeDepsCarrier, ComponentNode, ContentDependenciesFromProps, ElementNodeBase } from './render/vnode';
|
|
7
|
+
import type { CssVarContract, CssVarsAfterCall, CssVarsCallProps, CssVarsContractOfMeta, CssVarsMetaDeclaration, MergeCssVarContracts } from './css-vars.type';
|
|
8
|
+
import type { FieldExceptionBlockDirective, FieldExceptionBlockExhaustiveCheck, FieldExceptionBlockPartialCheck, FieldExceptionBlockOptions, FieldExceptionHandlerFieldExceptions, FieldExceptionHandlerChildren, FieldExceptionHandlers, ResidualFieldValidationCases, ResidualFieldValidationCasesByIdentity, FieldValidationHandledIdentitiesOf, UnhandledFieldValidationCases } from './field-exception-block';
|
|
9
|
+
export type CraftProvider = unknown;
|
|
10
|
+
type HostReader<T> = () => T;
|
|
11
|
+
type HostSignal<T> = HostReader<T> & Omit<YieldableReactiveValue<T, string>, typeof RAW_REACTIVE_VALUE | typeof REACTIVE_VALUE_TYPE | typeof YIELDABLE_VALUE>;
|
|
12
|
+
declare const INPUT_BRAND: unique symbol;
|
|
13
|
+
declare const OUTPUT_BRAND: unique symbol;
|
|
14
|
+
declare const TEMPLATE_METHOD_USE: unique symbol;
|
|
15
|
+
declare const COMPONENT_TEMPLATE_NAME: unique symbol;
|
|
16
|
+
declare const COMPONENT_INITIALIZATION_EXCEPTIONS: unique symbol;
|
|
17
|
+
declare const COMPONENT_FIELD_EXCEPTIONS: unique symbol;
|
|
18
|
+
declare const COMPONENT_LOGIC_OUTPUT: unique symbol;
|
|
19
|
+
declare const COMPONENT_OPERATOR_PROVIDERS: unique symbol;
|
|
20
|
+
declare const COMPONENT_OPERATOR_CODES: unique symbol;
|
|
21
|
+
export declare const CONTENT_STYLE_POLICY: unique symbol;
|
|
22
|
+
export declare const CONTENT_OUTPUT: unique symbol;
|
|
23
|
+
export declare const CONTENT_REQUIREMENT: unique symbol;
|
|
24
|
+
export declare const CONTENT_RENDERABLE: unique symbol;
|
|
25
|
+
export declare const CONTENT_DECLARATION_CONTEXT: unique symbol;
|
|
26
|
+
export declare const PROJECTION_CONTRACT: unique symbol;
|
|
27
|
+
export declare const CRAFT_TEMPLATE: unique symbol;
|
|
28
|
+
/** Type-only carrier for exceptions raised while evaluating a component input. */
|
|
29
|
+
export declare const CRAFT_INPUT_EXCEPTIONS: unique symbol;
|
|
30
|
+
export type CraftInputExceptionsCarrier<Exceptions extends string = string> = {
|
|
31
|
+
readonly [CRAFT_INPUT_EXCEPTIONS]?: Exceptions;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* A component input is a yieldable reader.
|
|
35
|
+
*
|
|
36
|
+
* Inputs deliberately use the same read contract as Craft primitives: callers
|
|
37
|
+
* can pass a primitive reader directly and component logic/templates consume
|
|
38
|
+
* it with `yield* input()`.
|
|
39
|
+
*/
|
|
40
|
+
export type Input<T> = Yieldable<[], T> & {
|
|
41
|
+
readonly [INPUT_BRAND]?: T;
|
|
42
|
+
};
|
|
43
|
+
export type Output<Handler extends (...args: any[]) => unknown> = Handler & {
|
|
44
|
+
readonly [OUTPUT_BRAND]: Handler;
|
|
45
|
+
};
|
|
46
|
+
/** A callback that a Craft template may delegate with `yield*`. */
|
|
47
|
+
export type YieldableTemplateCallback<Args extends unknown[] = unknown[], Result = unknown, Yielded = unknown, ContextMethod extends string = never> = (...args: Args) => Generator<Yielded | TemplateMethodUse<ContextMethod>, Result, unknown>;
|
|
48
|
+
export type TemplateMethodUse<ContextMethod extends string> = {
|
|
49
|
+
readonly [TEMPLATE_METHOD_USE]: ContextMethod;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Projects branded Craft methods and outputs to generator callbacks only while
|
|
53
|
+
* a template is type-checked. Inputs already use the generator reader
|
|
54
|
+
* contract, while ordinary render-time functions stay unchanged.
|
|
55
|
+
*/
|
|
56
|
+
type ContextPathKey<Prefix extends string, Key extends PropertyKey> = Key extends string | number ? Prefix extends '' ? `${Key}` : `${Prefix}.${Key}` : Prefix;
|
|
57
|
+
type ProjectTemplateObject<Value extends object, ContextMethod extends string> = {
|
|
58
|
+
[Key in keyof Value as Key extends typeof YIELDABLE_VALUE ? never : Key extends typeof RAW_REACTIVE_VALUE ? never : Key extends typeof REACTIVE_VALUE_TYPE ? never : Key extends typeof YIELDABLE_DEPENDENCY ? never : Key extends typeof DEEP_YIELDABLE ? never : Key extends '__craftDeepYieldable' ? never : Key]: Key extends typeof CRAFT_FIELD_VALIDATION_CASES ? Value[Key] : ProjectTemplateValue<Value[Key], ContextPathKey<ContextMethod, Key>>;
|
|
59
|
+
};
|
|
60
|
+
type ProjectTemplateSignalProperties<Value extends object, ContextMethod extends string> = {
|
|
61
|
+
[Key in keyof Value as Key extends typeof YIELDABLE_VALUE ? never : Key extends typeof REACTIVE_VALUE_TYPE ? never : Key extends keyof HostSignal<any> ? never : Key]: ProjectTemplateValue<Value[Key], ContextPathKey<ContextMethod, Key>>;
|
|
62
|
+
};
|
|
63
|
+
type ProjectTemplateValue<Value, ContextMethod extends string> = Value extends {
|
|
64
|
+
readonly [CONTENT_RENDERABLE]: true;
|
|
65
|
+
} ? Value : Value extends ProjectionUnit<any> ? Value : Value extends {
|
|
66
|
+
readonly __craftDeepYieldable: true;
|
|
67
|
+
} ? ProjectTemplateDeepYieldableValue<Value, ContextMethod> : Value extends {
|
|
68
|
+
readonly [REACTIVE_VALUE_TYPE]: infer ReactiveState;
|
|
69
|
+
} ? YieldableTemplateCallback<[
|
|
70
|
+
], ReactiveState, ReactiveReadRequest<ReactiveState>, ContextMethod> & {
|
|
71
|
+
readonly [YIELDABLE_VALUE]: ContextMethod;
|
|
72
|
+
} & ProjectTemplateObject<Value & object, ContextMethod> : Value extends YieldableMethod<infer Args, infer Result, infer Yielded> ? Value extends NamedYieldableValue<infer _Name extends string, infer _Value> ? NamedYieldableValue<ContextMethod, YieldableTemplateCallback<Args, Result, Yielded, ContextMethod>> : YieldableTemplateCallback<Args, Result, Yielded, ContextMethod> : Value extends NamedYieldableValue<infer _Name extends string, infer _Value> ? Value extends HostSignal<infer State> ? NamedYieldableValue<ContextMethod, () => State & TemplateMethodUse<ContextMethod>> & ProjectTemplateSignalProperties<Value & object, ContextMethod> : Value extends object ? ProjectTemplateObject<Value & object, ContextMethod> : Value : Value extends {
|
|
73
|
+
readonly [OUTPUT_BRAND]: infer Handler extends (...args: any[]) => unknown;
|
|
74
|
+
} ? YieldableTemplateCallback<Parameters<Handler>, ReturnType<Handler>, unknown, ContextMethod> : Value extends HostSignal<infer State> ? NamedYieldableValue<ContextMethod, () => State & TemplateMethodUse<ContextMethod>> & ProjectTemplateObject<Value, ContextMethod> : Value extends readonly (infer Item)[] ? readonly ProjectTemplateValue<Item, ContextMethod>[] : Value extends (...args: infer Args) => Generator<infer Yielded, infer Result, any> ? (...args: Args) => Generator<Yielded | TemplateMethodUse<ContextMethod>, Result, unknown> : Value extends (...args: infer Args) => infer Result ? ((...args: Args) => ProjectTemplateValue<Result, ContextMethod>) & ProjectTemplateObject<Value & object, ContextMethod> : Value extends object ? ProjectTemplateObject<Value, ContextMethod> : Value;
|
|
75
|
+
type ProjectTemplateDeepYieldableValue<Value, ContextMethod extends string> = Value extends (...args: infer Args) => Generator<infer Yielded, infer Result, any> ? ((...args: Args) => Generator<Yielded | TemplateMethodUse<ContextMethod>, Result, unknown>) & ProjectTemplateObject<Value & object, ContextMethod> : ProjectTemplateObject<Value & object, ContextMethod>;
|
|
76
|
+
type DirectTemplateContextMethod<Context> = Context extends NamedYieldableValue<infer Name extends string, any> ? Name : '';
|
|
77
|
+
export type YieldableTemplateContext<Context> = Context extends {
|
|
78
|
+
readonly [REACTIVE_VALUE_TYPE]: unknown;
|
|
79
|
+
} ? ProjectTemplateValue<Context, DirectTemplateContextMethod<Context>> : {
|
|
80
|
+
[Key in keyof Context]: ProjectTemplateValue<Context[Key], ContextPathKey<'', Key>>;
|
|
81
|
+
};
|
|
82
|
+
/** Public call-site shape of an {@link Input}. */
|
|
83
|
+
export type InputValue<T> = Yieldable<[], T>;
|
|
84
|
+
export type ContentStylePolicy = 'isolated' | 'allow-container-styles';
|
|
85
|
+
/** A lazily evaluated, declaration-context-preserving piece of Craft content. */
|
|
86
|
+
export type RenderableContent<Output extends CraftNodeChildren = CraftNodeChildren> = (() => Output) & CraftNodeDepsCarrier<CraftNodeChildrenDependencies<Output>> & {
|
|
87
|
+
readonly [CONTENT_RENDERABLE]: true;
|
|
88
|
+
};
|
|
89
|
+
export type ContentSlot<Output extends CraftNodeChildren = CraftNodeChildren> = RenderableContent<Output>;
|
|
90
|
+
export type ContentOptions = {
|
|
91
|
+
readonly allowContainerStyles?: boolean;
|
|
92
|
+
};
|
|
93
|
+
export type ContentRequirement = {
|
|
94
|
+
readonly selector: ContentSelector;
|
|
95
|
+
};
|
|
96
|
+
/** A content slot whose DOM shape is checked at each component call site. */
|
|
97
|
+
export type RequiredContent<Requirement extends ContentRequirement> = RenderableContent & {
|
|
98
|
+
readonly [CONTENT_REQUIREMENT]: Requirement;
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* Styles explicitement exposés par un composant à son contenu projeté.
|
|
102
|
+
*
|
|
103
|
+
* `styles` s'applique au template propre du composant. `contentStyles` ne
|
|
104
|
+
* s'applique qu'à un contenu rendu via `renderContent(slotName, content)` lorsque
|
|
105
|
+
* le parent a activé `allowContainerStyles` sur ce fragment.
|
|
106
|
+
*
|
|
107
|
+
* Le contenu projeté conserve l'injecteur de son lieu de déclaration. Ces
|
|
108
|
+
* styles peuvent affecter les nœuds DOM ordinaires du fragment, mais ne
|
|
109
|
+
* traversent pas les frontières des composants Craft ou Angular imbriqués.
|
|
110
|
+
*/
|
|
111
|
+
export type ContentStyles<SlotName extends string> = Partial<Record<SlotName, string>>;
|
|
112
|
+
/** Contraintes DOM statiques qu'un fragment projeté doit satisfaire. */
|
|
113
|
+
export type ContentSelector = {
|
|
114
|
+
readonly tag?: keyof HTMLElementTagNameMap;
|
|
115
|
+
readonly class?: string;
|
|
116
|
+
readonly [dataAttribute: `data-${string}`]: string | undefined;
|
|
117
|
+
readonly [ariaAttribute: `aria-${string}`]: string | undefined;
|
|
118
|
+
};
|
|
119
|
+
export type ContentSelectorCondition = ContentRequirement;
|
|
120
|
+
/** A reusable, parameterized Craft fragment. */
|
|
121
|
+
export interface CraftTemplate<Context, Output extends CraftNodeChildren = CraftNodeChildren> extends CraftNodeDepsCarrier<CraftNodeChildrenDependencies<Output>> {
|
|
122
|
+
(context: Context): Output;
|
|
123
|
+
readonly [CRAFT_TEMPLATE]: true;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Contrats DOM vérifiés statiquement chez l'appelant. Le type est volontairement
|
|
127
|
+
* structurel : `content(...)` ne connaît pas le slot consommateur.
|
|
128
|
+
*/
|
|
129
|
+
export type ContentRequirementOf<Value> = Value extends {
|
|
130
|
+
readonly [CONTENT_REQUIREMENT]: infer Requirement extends ContentRequirement;
|
|
131
|
+
} ? Requirement : never;
|
|
132
|
+
type SlotOutput<Value> = Value extends (...args: any[]) => infer Output ? Output : never;
|
|
133
|
+
/** Dependencies declared by the renderers stored in a slot map. */
|
|
134
|
+
export type ContentDependencies<Slots extends object> = CraftNodeChildrenDependencies<SlotOutput<NonNullable<Slots[keyof Slots]>>>;
|
|
135
|
+
export type ComponentFactory = (...args: any[]) => any;
|
|
136
|
+
export type FactoryContext<Factory extends ComponentFactory> = Awaited<ResolveGeneratorResult<ReturnType<Factory>>>;
|
|
137
|
+
type DirectComponentLogicFieldExceptions<Value> = 0 extends 1 & Value ? never : Value extends CraftFieldValidationCasesCarrier<infer Cases> ? unknown extends Cases ? never : Cases : never;
|
|
138
|
+
/** Typed field-validation cases exposed by a component logic factory. */
|
|
139
|
+
export type ComponentLogicFieldExceptions<Context> = DirectComponentLogicFieldExceptions<Context> | (Context extends (...args: any[]) => any ? never : Context extends object ? {
|
|
140
|
+
[Key in keyof Context]: DirectComponentLogicFieldExceptions<Context[Key]>;
|
|
141
|
+
}[keyof Context] : never);
|
|
142
|
+
type ComponentTemplateFieldExceptions<Template> = Template extends (...args: any[]) => any ? CraftNodeChildrenRawFieldExceptions<ReturnType<Template>> : never;
|
|
143
|
+
export type ComponentResidualFieldExceptions<Factory, Template> = 0 extends 1 & Factory ? any : 0 extends 1 & Template ? any : Factory extends ComponentFactory ? Template extends (...args: any[]) => any ? ResidualFieldValidationCasesByIdentity<ComponentLogicFieldExceptions<FactoryContext<Factory>>, FieldValidationHandledIdentitiesOf<ComponentTemplateFieldExceptions<Template>>> | UnhandledFieldValidationCases<ComponentTemplateFieldExceptions<Template>> : never : never;
|
|
144
|
+
export type FactoryYielded<Factory extends ComponentFactory> = ReturnType<Factory> extends Generator<infer Yielded, any, any> ? Yielded : never;
|
|
145
|
+
export type ComponentTemplate<Context = unknown, Output extends CraftNodeChildren = CraftNodeChildren> = (context: YieldableTemplateContext<Context>, hostProps?: HostProps) => Output;
|
|
146
|
+
type NamedComponentTemplate<Template, Name extends string> = Template & {
|
|
147
|
+
readonly [COMPONENT_TEMPLATE_NAME]?: Name;
|
|
148
|
+
};
|
|
149
|
+
export type ComponentTemplateNameOf<Template> = Template extends {
|
|
150
|
+
readonly [COMPONENT_TEMPLATE_NAME]?: infer Name extends string;
|
|
151
|
+
} ? Name : string;
|
|
152
|
+
export type TemplateDependencies<Template> = Template extends (...args: any[]) => infer Output ? CraftNodeChildrenDependencies<Output> : {};
|
|
153
|
+
export type TemplateCssVars<Template> = Template extends (...args: any[]) => infer Output ? CraftNodeChildrenCssVars<Output> : import('./css-vars.type').EmptyCssVarContract;
|
|
154
|
+
/** Async sources a template renders without covering them with a `pendingBlock`. */
|
|
155
|
+
export type TemplatePendingSources<Template> = Template extends (...args: any[]) => infer Output ? CraftNodeChildrenPendingSources<Output> : never;
|
|
156
|
+
/**
|
|
157
|
+
* Heading outline a template still exposes. Local `heading()` is `'heading'`.
|
|
158
|
+
* A child component with an uncovered `heading()` is `'heading-from-child'`.
|
|
159
|
+
*/
|
|
160
|
+
export type TemplateHeadingNeed<Template> = Template extends (...args: any[]) => infer Output ? CraftNodeChildrenHeadingNeed<Output> : never;
|
|
161
|
+
/**
|
|
162
|
+
* Exception codes a template can reach through a settled read without covering
|
|
163
|
+
* them with a `catchBlock`.
|
|
164
|
+
*/
|
|
165
|
+
export type TemplateSettledExceptions<Template> = Template extends (...args: any[]) => infer Output ? CraftNodeChildrenSettledExceptions<Output> : never;
|
|
166
|
+
export type HostRequiredLogic<Context extends object> = (...args: any[]) => Context;
|
|
167
|
+
export type HostTemplate<Context extends object> = ComponentTemplate<Context>;
|
|
168
|
+
export type LogicDecorator = (baseLogic: ComponentFactory) => ComponentFactory;
|
|
169
|
+
export type TemplateDecorator = (baseTemplate: ComponentTemplate<any>) => ComponentTemplate<any>;
|
|
170
|
+
type DirectiveInstance<Logic extends LogicDecorator> = ReturnType<Logic> extends ComponentFactory ? FactoryContext<ReturnType<Logic>> : unknown;
|
|
171
|
+
export declare const CRAFT_DIRECTIVE: unique symbol;
|
|
172
|
+
declare const CRAFT_DIRECTIVE_DEPS: unique symbol;
|
|
173
|
+
export interface CraftDirective<Logic extends LogicDecorator = LogicDecorator, Template extends (baseTemplate: ComponentTemplate<any>) => any = TemplateDecorator, TemplateDependencies extends object = {}> extends CraftRegistrationTarget<string, 'directive', DirectiveInstance<Logic>> {
|
|
174
|
+
readonly [CRAFT_DIRECTIVE]: {
|
|
175
|
+
readonly name: string;
|
|
176
|
+
readonly meta: DirectiveMeta;
|
|
177
|
+
readonly logic: Logic;
|
|
178
|
+
readonly template: Template;
|
|
179
|
+
readonly componentOperator?: ComponentOperatorDefinition;
|
|
180
|
+
};
|
|
181
|
+
readonly [CRAFT_DIRECTIVE_DEPS]?: TemplateDependencies;
|
|
182
|
+
}
|
|
183
|
+
export type CraftDirectiveTemplateDependencies<Directive> = Directive extends CraftDirective<any, any, infer Dependencies extends object> ? Dependencies : {};
|
|
184
|
+
export declare function isCraftDirective(value: unknown): value is CraftDirective;
|
|
185
|
+
type Simplify<T> = {
|
|
186
|
+
[K in keyof T]: T[K];
|
|
187
|
+
} & {};
|
|
188
|
+
type IsInputContextValue<Value> = Value extends object ? typeof INPUT_BRAND extends keyof Value ? true : false : false;
|
|
189
|
+
type InputValueOfContextValue<Value> = IsInputContextValue<Value> extends true ? Value extends Yieldable<[], infer Result> ? Result : never : never;
|
|
190
|
+
export type PropsFromContext<Context> = Simplify<{
|
|
191
|
+
[Key in keyof Context as IsInputContextValue<Context[Key]> extends true ? Key : Context[Key] extends RenderableContent ? Key : ContentRequirementOf<Context[Key]> extends never ? Context[Key] extends Output<(...args: any[]) => unknown> ? Key : never : Key]: IsInputContextValue<Context[Key]> extends true ? InputValue<InputValueOfContextValue<Context[Key]>> : Context[Key] extends RenderableContent ? Context[Key] : ContentRequirementOf<Context[Key]> extends never ? Context[Key] extends Output<infer Handler> ? Handler : never : Context[Key];
|
|
192
|
+
}>;
|
|
193
|
+
export declare const CRAFT_COMPONENT: unique symbol;
|
|
194
|
+
type ComponentProvider = (CraftProvider & any) | (CraftProvider & any)[];
|
|
195
|
+
export interface ComponentMeta<Providers extends readonly ComponentProvider[] = readonly ComponentProvider[], SlotName extends string = string> {
|
|
196
|
+
readonly providers?: Providers;
|
|
197
|
+
readonly host?: Readonly<Record<string, unknown>>;
|
|
198
|
+
readonly styles?: string | readonly string[];
|
|
199
|
+
/** CSS text imported from an external stylesheet with the build text loader. */
|
|
200
|
+
readonly stylesUrl?: string | readonly string[];
|
|
201
|
+
/** Explicit contract for opaque external styles. */
|
|
202
|
+
readonly cssVars?: CssVarsMetaDeclaration;
|
|
203
|
+
/** Styles exposed explicitly to opted-in projected fragments, by slot. */
|
|
204
|
+
readonly contentStyles?: ContentStyles<SlotName>;
|
|
205
|
+
}
|
|
206
|
+
export interface DirectiveMeta {
|
|
207
|
+
readonly styles?: string | readonly string[];
|
|
208
|
+
/** CSS text imported from an external stylesheet with the build text loader. */
|
|
209
|
+
readonly stylesUrl?: string | readonly string[];
|
|
210
|
+
/** Optional behavior mounted against the concrete DOM node being decorated. */
|
|
211
|
+
readonly node?: {
|
|
212
|
+
readonly inputs?: readonly string[];
|
|
213
|
+
readonly mount: CraftNodeDirectiveMount<any>;
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
export interface StyleOwner {
|
|
217
|
+
readonly name: string;
|
|
218
|
+
readonly styles?: string | readonly string[];
|
|
219
|
+
readonly definition?: object;
|
|
220
|
+
readonly registrationTarget?: unknown;
|
|
221
|
+
}
|
|
222
|
+
export interface ComponentDefinition<Context = unknown> {
|
|
223
|
+
readonly name: string;
|
|
224
|
+
readonly meta: ComponentMeta;
|
|
225
|
+
readonly factory: ComponentFactory;
|
|
226
|
+
readonly template: ComponentTemplate<Context>;
|
|
227
|
+
readonly styleOwners: readonly StyleOwner[];
|
|
228
|
+
readonly scopeDefinition: object;
|
|
229
|
+
readonly composition?: ComponentCompositionDefinition;
|
|
230
|
+
}
|
|
231
|
+
export type ComponentExceptionHandler = (exception: AnyCraftException) => CraftNodeChildren;
|
|
232
|
+
export type ComponentExceptionHandlerOptions = {
|
|
233
|
+
/** Keep the component template visible while rendering the fallback. */
|
|
234
|
+
readonly showSource?: boolean;
|
|
235
|
+
/** Place the fallback before or after the source block. */
|
|
236
|
+
readonly position?: 'before' | 'after';
|
|
237
|
+
};
|
|
238
|
+
export type ComponentExceptionHandlerDefinition = ComponentExceptionHandlerOptions & {
|
|
239
|
+
readonly render: ComponentExceptionHandler;
|
|
240
|
+
};
|
|
241
|
+
export type ComponentExceptionHandlerEntry = ComponentExceptionHandler | ComponentExceptionHandlerDefinition;
|
|
242
|
+
export type ComponentExceptionHandlerChildren<Handler> = Handler extends (...args: any[]) => infer Children ? Children : Handler extends {
|
|
243
|
+
readonly render: (...args: any[]) => infer Children;
|
|
244
|
+
} ? Children : never;
|
|
245
|
+
export type ComponentExceptionGenerator = (exception: AnyCraftException) => Generator<unknown, void, unknown>;
|
|
246
|
+
export type ComponentCompositionDefinition = {
|
|
247
|
+
readonly providers?: readonly CraftServiceProvider[];
|
|
248
|
+
readonly catchHandlers?: Readonly<Record<string, ComponentExceptionHandlerEntry>>;
|
|
249
|
+
readonly catchTagHandlers?: Readonly<Record<string, ComponentExceptionGenerator>>;
|
|
250
|
+
readonly catchBlockPosition?: 'before' | 'after';
|
|
251
|
+
readonly fieldExceptionHandlers?: FieldExceptionHandlers;
|
|
252
|
+
readonly fieldExceptionOptions?: Required<Pick<FieldExceptionBlockOptions, 'mode' | 'position'>> & Pick<FieldExceptionBlockOptions, 'visibility'>;
|
|
253
|
+
};
|
|
254
|
+
export type ComponentOperatorDefinition = ComponentCompositionDefinition;
|
|
255
|
+
/** Internal marker carried by operators that alter component composition. */
|
|
256
|
+
export declare const COMPONENT_OPERATOR: unique symbol;
|
|
257
|
+
export declare const COMPONENT_CATCH_BLOCK: unique symbol;
|
|
258
|
+
export declare const COMPONENT_FIELD_EXCEPTION_BLOCK: unique symbol;
|
|
259
|
+
export declare const FIELD_EXCEPTION_BLOCK_DIRECTIVE: unique symbol;
|
|
260
|
+
export type ComponentOperator<Providers extends readonly CraftServiceProvider[] = readonly CraftServiceProvider[], Codes extends string = never> = CraftDirective & {
|
|
261
|
+
readonly [COMPONENT_OPERATOR_PROVIDERS]: Providers;
|
|
262
|
+
readonly [COMPONENT_OPERATOR_CODES]: Codes;
|
|
263
|
+
readonly [COMPONENT_OPERATOR]: ComponentCompositionDefinition & (Codes extends never ? {
|
|
264
|
+
readonly kind: 'providers';
|
|
265
|
+
readonly providers: Providers;
|
|
266
|
+
} : {
|
|
267
|
+
readonly kind: 'catchTag';
|
|
268
|
+
readonly catchTagHandlers: Record<Codes, ComponentExceptionGenerator>;
|
|
269
|
+
} | {
|
|
270
|
+
readonly kind: 'catchBlock';
|
|
271
|
+
readonly catchHandlers: Record<Codes, ComponentExceptionHandlerEntry>;
|
|
272
|
+
readonly catchBlockPosition?: 'before' | 'after';
|
|
273
|
+
});
|
|
274
|
+
};
|
|
275
|
+
type PublicComponentProps<Props extends object> = {
|
|
276
|
+
[Key in keyof Props]: NonNullable<Props[Key]> extends RenderableContent ? () => CraftNodeChildren : Props[Key];
|
|
277
|
+
};
|
|
278
|
+
type ComponentCallProps<Props extends object, Contract extends CssVarContract> = PublicComponentProps<Props> & HostProps & CssVarsCallProps<Contract>;
|
|
279
|
+
export type ComponentCssVars<Meta, Template> = MergeCssVarContracts<CssVarsContractOfMeta<Meta>, TemplateCssVars<Template>>;
|
|
280
|
+
type CraftInputExceptionsOf<Value> = Value extends CraftInputExceptionsCarrier<infer Exceptions extends string> ? Exceptions : never;
|
|
281
|
+
export type ComponentInputExceptionsOf<Props extends object> = CraftInputExceptionsOf<Props[keyof Props]>;
|
|
282
|
+
type ProvidersFromMeta<Meta extends ComponentMeta> = Meta extends {
|
|
283
|
+
readonly providers: infer Providers;
|
|
284
|
+
} ? Providers : readonly [];
|
|
285
|
+
export type ProviderExceptions<Providers> = Providers extends readonly (infer Provider)[] ? ProviderExceptions<Provider> : Providers extends {
|
|
286
|
+
readonly [CRAFT_SERVICE_PROVIDER_BRAND]?: infer Metadata;
|
|
287
|
+
} ? Metadata extends {
|
|
288
|
+
readonly yielded: infer Yielded;
|
|
289
|
+
readonly output: infer Output;
|
|
290
|
+
} ? ExtractCraftGenExceptions<Yielded> | Extract<Output, {
|
|
291
|
+
readonly _tag: string;
|
|
292
|
+
}> : never : never;
|
|
293
|
+
type ComponentFactoryExceptions<Factory extends ComponentFactory> = ExtractCraftGenExceptions<FactoryYielded<Factory>> | Extract<FactoryContext<Factory>, {
|
|
294
|
+
readonly _tag: string;
|
|
295
|
+
}>;
|
|
296
|
+
export type ComponentInitializationExceptions<Factory extends ComponentFactory, Providers> = ComponentFactoryExceptions<Factory> | ProviderExceptions<Providers>;
|
|
297
|
+
type ComponentExceptionCodes<Exceptions> = Exceptions extends {
|
|
298
|
+
readonly _tag: infer Code extends string;
|
|
299
|
+
} ? Code : never;
|
|
300
|
+
export type ComponentInitializationExceptionCodes<Factory extends ComponentFactory, Providers> = ComponentExceptionCodes<ComponentInitializationExceptions<Factory, Providers>>;
|
|
301
|
+
export type ComponentInitializationExceptionCodesForTemplate<Factory extends ComponentFactory, Providers, Template extends ComponentTemplate<FactoryContext<Factory>>> = Exclude<ComponentInitializationExceptionCodes<Factory, Providers>, Extract<CraftNodeChildrenHandledExceptionCodes<ReturnType<Template>>, string>>;
|
|
302
|
+
type ComponentOperatorProviders<Operator> = Operator extends {
|
|
303
|
+
readonly [COMPONENT_OPERATOR_PROVIDERS]: infer Providers;
|
|
304
|
+
} ? Providers : readonly [];
|
|
305
|
+
type ComponentOperatorHandlers<Operator> = Operator extends {
|
|
306
|
+
readonly [COMPONENT_OPERATOR_CODES]: infer Codes;
|
|
307
|
+
} ? Codes : never;
|
|
308
|
+
type ComponentOperatorExceptionCodes<Operator> = ComponentExceptionCodes<ProviderExceptions<ComponentOperatorProviders<Operator>>>;
|
|
309
|
+
type ComponentOperatorFallbackExceptionCodes<Operator> = Operator extends {
|
|
310
|
+
readonly [COMPONENT_OPERATOR]: {
|
|
311
|
+
readonly catchHandlers: infer Handlers extends Record<string, ComponentExceptionHandlerEntry>;
|
|
312
|
+
};
|
|
313
|
+
} ? CraftNodeChildrenExceptions<ComponentExceptionHandlerChildren<Handlers[keyof Handlers]>> : never;
|
|
314
|
+
type ComponentExceptionsBeforeOperator<Factory extends ComponentFactory, Meta extends ComponentMeta, Operator, ExistingExceptions extends string> = ExistingExceptions | ComponentInitializationExceptionCodes<Factory, ProvidersFromMeta<Meta>> | ComponentOperatorExceptionCodes<Operator>;
|
|
315
|
+
type ComponentExceptionsAfterOperator<Factory extends ComponentFactory, Meta extends ComponentMeta, Operator, ExistingExceptions extends string = never> = [ComponentOperatorHandlers<Operator>] extends [never] ? ComponentExceptionsBeforeOperator<Factory, Meta, Operator, ExistingExceptions> : Exclude<ComponentExceptionsBeforeOperator<Factory, Meta, Operator, ExistingExceptions>, ComponentOperatorHandlers<Operator>> | ComponentOperatorFallbackExceptionCodes<Operator>;
|
|
316
|
+
type ComponentOperatorExhaustiveCheck<Factory extends ComponentFactory, Meta extends ComponentMeta, Operator, ExistingExceptions extends string, HandledByTemplate extends string = never> = [ComponentOperatorHandlers<Operator>] extends [never] ? unknown : CatchTagExhaustiveCodesCheck<ComponentExceptionsBeforeOperator<Factory, Meta, Operator, ExistingExceptions>, Record<Extract<ComponentOperatorHandlers<Operator>, string>, unknown>> & (Operator extends {
|
|
317
|
+
readonly [COMPONENT_CATCH_BLOCK]: true;
|
|
318
|
+
} ? [
|
|
319
|
+
Extract<ComponentOperatorHandlers<Operator>, HandledByTemplate>
|
|
320
|
+
] extends [never] ? unknown : {
|
|
321
|
+
'catchBlock.exhaustive has handlers for codes already handled by the template': Extract<ComponentOperatorHandlers<Operator>, HandledByTemplate>;
|
|
322
|
+
} : unknown);
|
|
323
|
+
type ComponentTemplateHandledExceptionCodes<Template extends ComponentTemplate<any>> = Extract<CraftNodeChildrenHandledExceptionCodes<ReturnType<Template>>, string>;
|
|
324
|
+
type NextContentSelectorDepth<Depth extends readonly unknown[]> = [
|
|
325
|
+
...Depth,
|
|
326
|
+
unknown
|
|
327
|
+
];
|
|
328
|
+
type IsAnyContentSelector<Value> = 0 extends 1 & Value ? true : false;
|
|
329
|
+
type ContentSelectorCandidate<Tag extends keyof HTMLElementTagNameMap, Criteria extends object> = {
|
|
330
|
+
readonly tag: Tag;
|
|
331
|
+
readonly criteria: Criteria;
|
|
332
|
+
};
|
|
333
|
+
type VisitProjectedContent<Node, Depth extends readonly unknown[] = []> = Depth['length'] extends 8 ? never : IsAnyContentSelector<Node> extends true ? never : Node extends readonly (infer Child)[] ? VisitProjectedContent<Child, NextContentSelectorDepth<Depth>> : Node extends ElementNodeBase<any, infer Tag extends keyof HTMLElementTagNameMap, infer Props, infer Children> ? ContentSelectorCandidate<Tag, StaticLocatorCriteria<Props>> | VisitProjectedContent<Children, NextContentSelectorDepth<Depth>> : Node extends {
|
|
334
|
+
readonly kind: 'directive';
|
|
335
|
+
readonly node: infer DirectiveNode;
|
|
336
|
+
} ? VisitProjectedContent<DirectiveNode, NextContentSelectorDepth<Depth>> : Node extends {
|
|
337
|
+
readonly kind: 'if';
|
|
338
|
+
readonly whenTrue: () => infer TrueChildren;
|
|
339
|
+
readonly whenFalse?: () => infer FalseChildren;
|
|
340
|
+
} ? VisitProjectedContent<TrueChildren | FalseChildren, NextContentSelectorDepth<Depth>> : Node extends {
|
|
341
|
+
readonly kind: 'each';
|
|
342
|
+
readonly itemTemplate: (...args: any[]) => infer ItemChildren;
|
|
343
|
+
readonly empty?: () => infer EmptyChildren;
|
|
344
|
+
} ? VisitProjectedContent<ItemChildren | EmptyChildren, NextContentSelectorDepth<Depth>> : Node extends {
|
|
345
|
+
readonly kind: 'defer';
|
|
346
|
+
readonly resolve: (...args: any[]) => infer Resolved;
|
|
347
|
+
} ? VisitProjectedContent<Resolved, NextContentSelectorDepth<Depth>> : never;
|
|
348
|
+
type ContentSelectorCriteria<Selector extends ContentSelector> = Omit<Selector, 'tag'>;
|
|
349
|
+
type ContentSelectorMatches<Candidate, Selector extends ContentSelector> = Candidate extends ContentSelectorCandidate<infer Tag, infer Available> ? Selector extends {
|
|
350
|
+
readonly tag: infer WantedTag extends keyof HTMLElementTagNameMap;
|
|
351
|
+
} ? Tag extends WantedTag ? ContentSelectorCriteria<Selector> extends Partial<Available> ? true : false : false : ContentSelectorCriteria<Selector> extends Partial<Available> ? true : false : false;
|
|
352
|
+
type MatchingProjectedContent<Candidates, Selector extends ContentSelector> = Candidates extends unknown ? ContentSelectorMatches<Candidates, Selector> extends true ? Candidates : never : never;
|
|
353
|
+
type ContentSelectorContractCheck<Output, Selector extends ContentSelector> = [
|
|
354
|
+
MatchingProjectedContent<VisitProjectedContent<Output>, Selector>
|
|
355
|
+
] extends [never] ? {
|
|
356
|
+
readonly 'projected content does not satisfy the declared selector': Selector;
|
|
357
|
+
} : unknown;
|
|
358
|
+
type ContentConditionsCheck<Actual extends object, Requirements extends object> = {
|
|
359
|
+
[Key in keyof Actual & keyof Requirements]: Requirements[Key] extends {
|
|
360
|
+
readonly selector: infer Selector extends ContentSelector;
|
|
361
|
+
} ? ContentSelectorContractCheck<SlotOutput<NonNullable<Actual[Key]>>, Selector> : unknown;
|
|
362
|
+
};
|
|
363
|
+
type IsLogicInputObject<Value> = Value extends (...args: any[]) => any ? false : Value extends object ? true : false;
|
|
364
|
+
type LogicInputProps<Factory extends ComponentFactory> = Parameters<Factory> extends [infer Input] ? IsLogicInputObject<Input> extends true ? Simplify<Input & object> : never : never;
|
|
365
|
+
export type PropsFromFactory<Factory extends ComponentFactory> = [
|
|
366
|
+
LogicInputProps<Factory>
|
|
367
|
+
] extends [never] ? PropsFromContext<FactoryContext<Factory>> : LogicInputProps<Factory>;
|
|
368
|
+
type ContentRequirementsFromContext<Context> = Simplify<{
|
|
369
|
+
[Key in keyof Context as ContentRequirementOf<Context[Key]> extends never ? never : Key]: ContentRequirementOf<Context[Key]>;
|
|
370
|
+
}>;
|
|
371
|
+
type ContentRequirementsOfFactory<Factory extends ComponentFactory> = ContentRequirementsFromContext<FactoryContext<Factory>>;
|
|
372
|
+
type ProjectionOutputOf<Component> = Component extends {
|
|
373
|
+
readonly [COMPONENT_LOGIC_OUTPUT]: infer Output;
|
|
374
|
+
} ? Output : never;
|
|
375
|
+
export type ProjectionContractOf<Component> = ProjectionOutputOf<Component> extends {
|
|
376
|
+
readonly contract: infer Contract;
|
|
377
|
+
} ? Contract : never;
|
|
378
|
+
type ProjectionKeyOf<Component> = ProjectionOutputOf<Component> extends {
|
|
379
|
+
readonly key: infer Key extends PropertyKey;
|
|
380
|
+
} ? Key : never;
|
|
381
|
+
export type ProjectionUnit<Contract = unknown, Key extends PropertyKey = PropertyKey> = ComponentNode<any, any> & {
|
|
382
|
+
readonly key: Key;
|
|
383
|
+
readonly [PROJECTION_CONTRACT]?: Contract;
|
|
384
|
+
};
|
|
385
|
+
export type ProjectionSlot<Contract> = readonly ProjectionUnit<Contract>[];
|
|
386
|
+
export type ProjectionOf<Component> = [
|
|
387
|
+
ProjectionContractOf<Component>
|
|
388
|
+
] extends [never] ? never : ProjectionUnit<ProjectionContractOf<Component>, ProjectionKeyOf<Component>>;
|
|
389
|
+
type ComponentCallNode<CallProps extends object, ComponentDeps extends object, Component extends CraftComponent<any, ComponentDeps>, Factory extends ComponentFactory, InputProps extends object = {}, CssVars extends CssVarContract = import('./css-vars.type').EmptyCssVarContract> = ComponentInputExceptionsOf<Pick<CallProps, keyof InputProps & keyof CallProps>> extends infer InputExceptions extends string ? FactoryContext<Factory> extends {
|
|
390
|
+
readonly contract: infer Contract;
|
|
391
|
+
readonly key: infer Key extends PropertyKey;
|
|
392
|
+
} ? ComponentNode<CallProps, ComponentDeps, Component, ContentDependenciesFromProps<CallProps>, InputExceptions, CssVars> & ProjectionUnit<Contract, Key> : ComponentNode<CallProps, ComponentDeps, Component, ContentDependenciesFromProps<CallProps>, InputExceptions, CssVars> : never;
|
|
393
|
+
type AppliedDirectiveFactory<Factory extends ComponentFactory, Directive extends CraftDirective> = Directive extends {
|
|
394
|
+
readonly [COMPONENT_FIELD_EXCEPTION_BLOCK]: true;
|
|
395
|
+
} ? Factory : Directive extends ComponentOperator<any, any> ? Factory : Directive extends CraftDirective<infer Logic, any> ? ReturnType<Logic> extends ComponentFactory ? ReturnType<Logic> : Factory : Factory;
|
|
396
|
+
type MissingProviderMap<Dependencies> = Dependencies extends {
|
|
397
|
+
missingProvider: infer Missing extends object;
|
|
398
|
+
} ? Missing : {};
|
|
399
|
+
type MergePipedComponentDependencies<Existing extends object, Recomputed extends object> = Simplify<Omit<Recomputed, 'missingProvider'> & {
|
|
400
|
+
missingProvider: Simplify<MissingProviderMap<Existing> & MissingProviderMap<Recomputed>>;
|
|
401
|
+
}>;
|
|
402
|
+
type ComponentFieldExceptionsAfterOperator<ExistingFieldExceptions, Directive> = Directive extends FieldExceptionBlockDirective<infer Handlers extends FieldExceptionHandlers, boolean> ? ResidualFieldValidationCases<ExistingFieldExceptions, Handlers> | FieldExceptionHandlerFieldExceptions<Handlers> : ExistingFieldExceptions;
|
|
403
|
+
type ComponentFieldExceptionOperatorCheck<ExistingFieldExceptions, Directive> = Directive extends FieldExceptionBlockDirective<infer Handlers extends FieldExceptionHandlers, infer Exhaustive extends boolean> ? Exhaustive extends true ? FieldExceptionBlockExhaustiveCheck<ExistingFieldExceptions, Handlers> : FieldExceptionBlockPartialCheck<ExistingFieldExceptions, Handlers> : unknown;
|
|
404
|
+
type ComponentFieldExceptionFallbackExceptionCodes<Directive> = Directive extends FieldExceptionBlockDirective<infer Handlers extends FieldExceptionHandlers, boolean> ? CraftNodeChildrenExceptions<FieldExceptionHandlerChildren<Handlers[keyof Handlers]>> : never;
|
|
405
|
+
type PipedComponent<Factory extends ComponentFactory, Meta extends ComponentMeta, Directive extends CraftDirective, RootFactory extends ComponentFactory, ExistingComponentDeps extends object, ExistingExceptions extends string, ExistingFieldExceptions, TemplateDependencies extends object, Template extends ComponentTemplate<FactoryContext<Factory>> = ComponentTemplate<FactoryContext<Factory>>, Name extends string = string> = AppliedDirectiveFactory<Factory, Directive> extends infer NextFactory extends ComponentFactory ? CraftComponent<PropsFromFactory<NextFactory>, MergePipedComponentDependencies<ExistingComponentDeps, CraftComponentDependencies<FactoryYielded<RootFactory> | FactoryYielded<NextFactory>, FactoryContext<NextFactory>, ProvidersFromMeta<Meta> | ComponentOperatorProviders<Directive>, PropsFromFactory<NextFactory>, TemplateDependencies | CraftDirectiveTemplateDependencies<Directive>>>, NextFactory, Meta, RootFactory, TemplateDependencies | CraftDirectiveTemplateDependencies<Directive>, Template & ComponentTemplate<FactoryContext<NextFactory>, ReturnType<Template>>, Name, (ComponentExceptionsAfterOperator<Factory, Meta, Directive, ExistingExceptions> | ComponentFieldExceptionFallbackExceptionCodes<Directive>) & ComponentOperatorExhaustiveCheck<Factory, Meta, Directive, ExistingExceptions>, ContentRequirementsOfFactory<NextFactory>, ComponentFieldExceptionsAfterOperator<ExistingFieldExceptions, Directive>> : never;
|
|
406
|
+
export interface CraftComponent<Props extends object = Record<never, never>, ComponentDeps extends object = Record<never, never>, Factory extends ComponentFactory = ComponentFactory, Meta extends ComponentMeta = ComponentMeta, RootFactory extends ComponentFactory = Factory, TemplateDependencies extends object = never, Template extends ComponentTemplate<FactoryContext<Factory>> = ComponentTemplate<FactoryContext<Factory>>, Name extends string = string, InitializationExceptions extends string = string, ContentRequirements extends object = {}, FieldExceptions = any> extends ComponentDepsCarrier<ComponentDeps>, CraftRegistrationTarget<Name, 'component', FactoryContext<Factory>> {
|
|
407
|
+
<CallProps extends ComponentCallProps<Props, ComponentCssVars<Meta, Template>> = ComponentCallProps<Props, ComponentCssVars<Meta, Template>>>(...args: keyof Props extends never ? [
|
|
408
|
+
props?: CallProps & ContentConditionsCheck<NoInfer<CallProps>, ContentRequirements>
|
|
409
|
+
] : [
|
|
410
|
+
props: CallProps & ContentConditionsCheck<NoInfer<CallProps>, ContentRequirements>
|
|
411
|
+
]): ComponentCallNode<CallProps, ComponentDeps, CraftComponent<Props, ComponentDeps, Factory, Meta, RootFactory, TemplateDependencies, Template, Name, InitializationExceptions, ContentRequirements, FieldExceptions>, Factory, Props, CssVarsAfterCall<ComponentCssVars<Meta, Template>, CallProps>>;
|
|
412
|
+
readonly [CRAFT_COMPONENT]: ComponentDefinition<unknown> & {
|
|
413
|
+
readonly name: Name;
|
|
414
|
+
readonly factory: Factory;
|
|
415
|
+
};
|
|
416
|
+
readonly [COMPONENT_INITIALIZATION_EXCEPTIONS]: InitializationExceptions;
|
|
417
|
+
readonly [COMPONENT_FIELD_EXCEPTIONS]: FieldExceptions;
|
|
418
|
+
readonly [COMPONENT_LOGIC_OUTPUT]: FactoryContext<Factory>;
|
|
419
|
+
readonly pipe: {
|
|
420
|
+
<Directive extends CraftDirective>(directiveFactory: (component: CraftComponent<Props, ComponentDeps, Factory, Meta, RootFactory, TemplateDependencies, Template, Name, InitializationExceptions, ContentRequirements, FieldExceptions>) => Directive & ComponentOperatorExhaustiveCheck<Factory, Meta, Directive, InitializationExceptions, ComponentTemplateHandledExceptionCodes<Template>> & ComponentFieldExceptionOperatorCheck<FieldExceptions, Directive>): PipedComponent<Factory, Meta, Directive, RootFactory, ComponentDeps, InitializationExceptions, FieldExceptions, TemplateDependencies, Template, Name>;
|
|
421
|
+
<Directive extends CraftDirective>(directive: Directive & ComponentOperatorExhaustiveCheck<Factory, Meta, Directive, InitializationExceptions, ComponentTemplateHandledExceptionCodes<Template>> & ComponentFieldExceptionOperatorCheck<FieldExceptions, Directive>): PipedComponent<Factory, Meta, Directive, RootFactory, ComponentDeps, InitializationExceptions, FieldExceptions, TemplateDependencies, Template, Name>;
|
|
422
|
+
(...directives: readonly [CraftDirective, CraftDirective]): CraftComponent<any, any>;
|
|
423
|
+
};
|
|
424
|
+
}
|
|
425
|
+
export type ComponentCssVarsOf<Component> = Component extends CraftComponent<any, any, any, infer Meta, any, any, infer Template, any, any, any, any> ? ComponentCssVars<Meta, Template> : import('./css-vars.type').EmptyCssVarContract;
|
|
426
|
+
export type ComponentNameOf<Component> = Component extends CraftComponent<any, any, any, any, any, any, any, infer Name, any, any, any> ? Name : string;
|
|
427
|
+
export type ComponentInitializationExceptionsOf<Component> = Component extends {
|
|
428
|
+
readonly [COMPONENT_INITIALIZATION_EXCEPTIONS]: infer Exceptions extends string;
|
|
429
|
+
} ? Exceptions : never;
|
|
430
|
+
export type ComponentFieldExceptionsOf<Component> = Component extends {
|
|
431
|
+
readonly [COMPONENT_FIELD_EXCEPTIONS]: infer FieldExceptions;
|
|
432
|
+
} ? Exclude<FieldExceptions, undefined> : never;
|
|
433
|
+
/** The value returned by a component's logic factory. */
|
|
434
|
+
export type ComponentLogicOutputOf<Component> = Component extends {
|
|
435
|
+
readonly [COMPONENT_LOGIC_OUTPUT]: infer Output;
|
|
436
|
+
} ? Output : never;
|
|
437
|
+
export type ContentRequirementsOfContext<Context> = ContentRequirementsFromContext<Context>;
|
|
438
|
+
export type ComponentTemplateOf<Component> = Component extends CraftComponent<any, any, any, any, any, any, infer Template extends ComponentTemplate<any>, infer Name extends string> ? NamedComponentTemplate<Template, Name> : never;
|
|
439
|
+
export type PropsOf<Component> = Component extends CraftComponent<infer Props, any> ? Props : never;
|
|
440
|
+
export declare function isCraftComponent(value: unknown): value is CraftComponent<object>;
|
|
441
|
+
export {};
|
|
442
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../libs/component/src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,4BAA4B,EAC5B,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,gCAAgC,EAChC,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EACV,mBAAmB,IAAI,kBAAkB,EACzC,mBAAmB,EACnB,eAAe,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,KAAK,EACV,iBAAiB,EACjB,6BAA6B,EAC7B,wBAAwB,EACxB,+BAA+B,EAC/B,4BAA4B,EAC5B,kCAAkC,EAClC,2BAA2B,EAE3B,mCAAmC,EACnC,sCAAsC,EACtC,oBAAoB,EACpB,aAAa,EACb,4BAA4B,EAC5B,eAAe,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EACV,4BAA4B,EAC5B,kCAAkC,EAClC,+BAA+B,EAC/B,0BAA0B,EAC1B,oCAAoC,EACpC,6BAA6B,EAC7B,sBAAsB,EACtB,4BAA4B,EAC5B,sCAAsC,EACtC,kCAAkC,EAClC,6BAA6B,EAC9B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC;AACpC,KAAK,UAAU,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;AAC7B,KAAK,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,GAChC,IAAI,CACF,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC,EAC/B,OAAO,kBAAkB,GACzB,OAAO,mBAAmB,GAC1B,OAAO,eAAe,CACzB,CAAC;AAEJ,OAAO,CAAC,MAAM,WAAW,EAAE,OAAO,MAAM,CAAC;AACzC,OAAO,CAAC,MAAM,YAAY,EAAE,OAAO,MAAM,CAAC;AAC1C,OAAO,CAAC,MAAM,mBAAmB,EAAE,OAAO,MAAM,CAAC;AACjD,OAAO,CAAC,MAAM,uBAAuB,EAAE,OAAO,MAAM,CAAC;AACrD,OAAO,CAAC,MAAM,mCAAmC,EAAE,OAAO,MAAM,CAAC;AACjE,OAAO,CAAC,MAAM,0BAA0B,EAAE,OAAO,MAAM,CAAC;AACxD,OAAO,CAAC,MAAM,sBAAsB,EAAE,OAAO,MAAM,CAAC;AACpD,OAAO,CAAC,MAAM,4BAA4B,EAAE,OAAO,MAAM,CAAC;AAC1D,OAAO,CAAC,MAAM,wBAAwB,EAAE,OAAO,MAAM,CAAC;AACtD,eAAO,MAAM,oBAAoB,eAAuC,CAAC;AACzE,eAAO,MAAM,cAAc,eAAiC,CAAC;AAC7D,eAAO,MAAM,mBAAmB,eAAsC,CAAC;AACvE,eAAO,MAAM,kBAAkB,eAAqC,CAAC;AACrE,eAAO,MAAM,2BAA2B,eAEvC,CAAC;AACF,eAAO,MAAM,mBAAmB,eAAsC,CAAC;AACvE,eAAO,MAAM,cAAc,eAA2B,CAAC;AAEvD,kFAAkF;AAClF,MAAM,CAAC,OAAO,CAAC,MAAM,sBAAsB,EAAE,OAAO,MAAM,CAAC;AAE3D,MAAM,MAAM,2BAA2B,CAAC,UAAU,SAAS,MAAM,GAAG,MAAM,IAAI;IAC5E,QAAQ,CAAC,CAAC,sBAAsB,CAAC,CAAC,EAAE,UAAU,CAAC;CAChD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG;IACxC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,OAAO,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,IAAI,OAAO,GAAG;IAC1E,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,yBAAyB,CACnC,IAAI,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAClC,MAAM,GAAG,OAAO,EAChB,OAAO,GAAG,OAAO,EACjB,aAAa,SAAS,MAAM,GAAG,KAAK,IAClC,CACF,GAAG,IAAI,EAAE,IAAI,KACV,SAAS,CAAC,OAAO,GAAG,iBAAiB,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5E,MAAM,MAAM,iBAAiB,CAAC,aAAa,SAAS,MAAM,IAAI;IAC5D,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,aAAa,CAAC;CAC/C,CAAC;AAEF;;;;GAIG;AACH,KAAK,cAAc,CACjB,MAAM,SAAS,MAAM,EACrB,GAAG,SAAS,WAAW,IACrB,GAAG,SAAS,MAAM,GAAG,MAAM,GAC3B,MAAM,SAAS,EAAE,GACf,GAAG,GAAG,EAAE,GACR,GAAG,MAAM,IAAI,GAAG,EAAE,GACpB,MAAM,CAAC;AAEX,KAAK,qBAAqB,CACxB,KAAK,SAAS,MAAM,EACpB,aAAa,SAAS,MAAM,IAC1B;KACD,GAAG,IAAI,MAAM,KAAK,IAAI,GAAG,SAAS,OAAO,eAAe,GACrD,KAAK,GACL,GAAG,SAAS,OAAO,kBAAkB,GACnC,KAAK,GACL,GAAG,SAAS,OAAO,mBAAmB,GACpC,KAAK,GACL,GAAG,SAAS,OAAO,oBAAoB,GACrC,KAAK,GACL,GAAG,SAAS,OAAO,cAAc,GAC/B,KAAK,GACL,GAAG,SAAS,sBAAsB,GAChC,KAAK,GACL,GAAG,GAAG,GAAG,SAAS,OAAO,4BAA4B,GAC/D,KAAK,CAAC,GAAG,CAAC,GACV,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;CACzE,CAAC;AAEF,KAAK,+BAA+B,CAClC,KAAK,SAAS,MAAM,EACpB,aAAa,SAAS,MAAM,IAC1B;KACD,GAAG,IAAI,MAAM,KAAK,IAAI,GAAG,SAAS,OAAO,eAAe,GACrD,KAAK,GACL,GAAG,SAAS,OAAO,mBAAmB,GACpC,KAAK,GACL,GAAG,SAAS,MAAM,UAAU,CAAC,GAAG,CAAC,GAC/B,KAAK,GACL,GAAG,GAAG,oBAAoB,CAChC,KAAK,CAAC,GAAG,CAAC,EACV,cAAc,CAAC,aAAa,EAAE,GAAG,CAAC,CACnC;CACF,CAAC;AAIF,KAAK,oBAAoB,CAAC,KAAK,EAAE,aAAa,SAAS,MAAM,IAAI,KAAK,SAAS;IAC7E,QAAQ,CAAC,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC;CACrC,GACG,KAAK,GACL,KAAK,SAAS,cAAc,CAAC,GAAG,CAAC,GAC/B,KAAK,GACL,KAAK,SAAS;IAAE,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAA;CAAE,GACnD,iCAAiC,CAAC,KAAK,EAAE,aAAa,CAAC,GACvD,KAAK,SAAS;IACV,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,MAAM,aAAa,CAAC;CACrD,GACD,yBAAyB,CACvB;CAAE,EACF,aAAa,EACb,mBAAmB,CAAC,aAAa,CAAC,EAClC,aAAa,CACd,GAAG;IACF,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,aAAa,CAAC;CAC3C,GAAG,qBAAqB,CAAC,KAAK,GAAG,MAAM,EAAE,aAAa,CAAC,GACxD,KAAK,SAAS,eAAe,CAAC,MAAM,IAAI,EAAE,MAAM,MAAM,EAAE,MAAM,OAAO,CAAC,GACpE,KAAK,SAAS,mBAAmB,CAC/B,MAAM,KAAK,SAAS,MAAM,EAC1B,MAAM,MAAM,CACb,GACC,mBAAmB,CACjB,aAAa,EACb,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAChE,GACD,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,GACjE,KAAK,SAAS,mBAAmB,CAC7B,MAAM,KAAK,SAAS,MAAM,EAC1B,MAAM,MAAM,CACb,GACD,KAAK,SAAS,UAAU,CAAC,MAAM,KAAK,CAAC,GACnC,mBAAmB,CACjB,aAAa,EACb,MAAM,KAAK,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAC/C,GACC,+BAA+B,CAAC,KAAK,GAAG,MAAM,EAAE,aAAa,CAAC,GAChE,KAAK,SAAS,MAAM,GAClB,qBAAqB,CAAC,KAAK,GAAG,MAAM,EAAE,aAAa,CAAC,GACpD,KAAK,GACT,KAAK,SAAS;IACV,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,OAAO,SAAS,CAC7C,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,OAAO,CAAC;CACd,GACD,yBAAyB,CACvB,UAAU,CAAC,OAAO,CAAC,EACnB,UAAU,CAAC,OAAO,CAAC,EACnB,OAAO,EACP,aAAa,CACd,GACD,KAAK,SAAS,UAAU,CAAC,MAAM,KAAK,CAAC,GACnC,mBAAmB,CACjB,aAAa,EACb,MAAM,KAAK,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAC/C,GACC,qBAAqB,CAAC,KAAK,EAAE,aAAa,CAAC,GAC7C,KAAK,SAAS,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,GACnC,SAAS,oBAAoB,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,GACpD,KAAK,SAAS,CACV,GAAG,IAAI,EAAE,MAAM,IAAI,KAChB,SAAS,CAAC,MAAM,OAAO,EAAE,MAAM,MAAM,EAAE,GAAG,CAAC,GAChD,CACE,GAAG,IAAI,EAAE,IAAI,KACV,SAAS,CACZ,OAAO,GAAG,iBAAiB,CAAC,aAAa,CAAC,EAC1C,MAAM,EACN,OAAO,CACR,GACD,KAAK,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,IAAI,KAAK,MAAM,MAAM,GACjD,CAAC,CACC,GAAG,IAAI,EAAE,IAAI,KACV,oBAAoB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,GAC/C,qBAAqB,CAAC,KAAK,GAAG,MAAM,EAAE,aAAa,CAAC,GACtD,KAAK,SAAS,MAAM,GAClB,qBAAqB,CAAC,KAAK,EAAE,aAAa,CAAC,GAC3C,KAAK,CAAC;AAEhC,KAAK,iCAAiC,CACpC,KAAK,EACL,aAAa,SAAS,MAAM,IAC1B,KAAK,SAAS,CAChB,GAAG,IAAI,EAAE,MAAM,IAAI,KAChB,SAAS,CAAC,MAAM,OAAO,EAAE,MAAM,MAAM,EAAE,GAAG,CAAC,GAC5C,CAAC,CACC,GAAG,IAAI,EAAE,IAAI,KACV,SAAS,CACZ,OAAO,GAAG,iBAAiB,CAAC,aAAa,CAAC,EAC1C,MAAM,EACN,OAAO,CACR,CAAC,GACA,qBAAqB,CAAC,KAAK,GAAG,MAAM,EAAE,aAAa,CAAC,GACtD,qBAAqB,CAAC,KAAK,GAAG,MAAM,EAAE,aAAa,CAAC,CAAC;AAEzD,KAAK,2BAA2B,CAAC,OAAO,IACtC,OAAO,SAAS,mBAAmB,CAAC,MAAM,IAAI,SAAS,MAAM,EAAE,GAAG,CAAC,GAC/D,IAAI,GACJ,EAAE,CAAC;AAET,MAAM,MAAM,wBAAwB,CAAC,OAAO,IAAI,OAAO,SAAS;IAC9D,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACzC,GACG,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,CAAC,OAAO,CAAC,CAAC,GACnE;KACG,GAAG,IAAI,MAAM,OAAO,GAAG,oBAAoB,CAC1C,OAAO,CAAC,GAAG,CAAC,EACZ,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,CACxB;CACF,CAAC;AAEN,kDAAkD;AAClD,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAE7C,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,wBAAwB,CAAC;AAEvE,iFAAiF;AACjF,MAAM,MAAM,iBAAiB,CAC3B,MAAM,SAAS,iBAAiB,GAAG,iBAAiB,IAClD,CAAC,MAAM,MAAM,CAAC,GAChB,oBAAoB,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,GAAG;IAC5D,QAAQ,CAAC,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC;CACrC,CAAC;AAEJ,MAAM,MAAM,WAAW,CAAC,MAAM,SAAS,iBAAiB,GAAG,iBAAiB,IAC1E,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAE5B,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACpC,CAAC;AAEF,6EAA6E;AAC7E,MAAM,MAAM,eAAe,CAAC,WAAW,SAAS,kBAAkB,IAChE,iBAAiB,GAAG;IAAE,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,aAAa,CAAC,QAAQ,SAAS,MAAM,IAAI,OAAO,CAC1D,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CACzB,CAAC;AAEF,wEAAwE;AACxE,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,qBAAqB,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,aAAa,EAAE,QAAQ,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/D,QAAQ,EAAE,aAAa,EAAE,QAAQ,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAAC;CAChE,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,kBAAkB,CAAC;AAE1D,gDAAgD;AAChD,MAAM,WAAW,aAAa,CAC5B,OAAO,EACP,MAAM,SAAS,iBAAiB,GAAG,iBAAiB,CACpD,SAAQ,oBAAoB,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,CAAC,KAAK,IAAI,KAAK,SAAS;IACtD,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,MAAM,WAAW,SAAS,kBAAkB,CAAC;CAC9E,GACG,WAAW,GACX,KAAK,CAAC;AAEV,KAAK,UAAU,CAAC,KAAK,IAAI,KAAK,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,MAAM,GACnE,MAAM,GACN,KAAK,CAAC;AAEV,mEAAmE;AACnE,MAAM,MAAM,mBAAmB,CAAC,KAAK,SAAS,MAAM,IAClD,6BAA6B,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7E,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAEvD,MAAM,MAAM,cAAc,CAAC,OAAO,SAAS,gBAAgB,IAAI,OAAO,CACpE,sBAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAC5C,CAAC;AAEF,KAAK,mCAAmC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK,GACjE,KAAK,GACL,KAAK,SAAS,gCAAgC,CAAC,MAAM,KAAK,CAAC,GACzD,OAAO,SAAS,KAAK,GACnB,KAAK,GACL,KAAK,GACP,KAAK,CAAC;AAEZ,yEAAyE;AACzE,MAAM,MAAM,6BAA6B,CAAC,OAAO,IAC7C,mCAAmC,CAAC,OAAO,CAAC,GAC5C,CAAC,OAAO,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GACpC,KAAK,GACL,OAAO,SAAS,MAAM,GACpB;KACG,GAAG,IAAI,MAAM,OAAO,GAAG,mCAAmC,CACzD,OAAO,CAAC,GAAG,CAAC,CACb;CACF,CAAC,MAAM,OAAO,CAAC,GAChB,KAAK,CAAC,CAAC;AAEjB,KAAK,gCAAgC,CAAC,QAAQ,IAAI,QAAQ,SAAS,CACjE,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,GAAG,GACJ,mCAAmC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,GACzD,KAAK,CAAC;AAEV,MAAM,MAAM,gCAAgC,CAAC,OAAO,EAAE,QAAQ,IAAI,CAAC,SAAS,CAAC,GAC3E,OAAO,GACL,GAAG,GACH,CAAC,SAAS,CAAC,GAAG,QAAQ,GACpB,GAAG,GACH,OAAO,SAAS,gBAAgB,GAC9B,QAAQ,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAElC,sCAAsC,CACpC,6BAA6B,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EACtD,kCAAkC,CAChC,gCAAgC,CAAC,QAAQ,CAAC,CAC3C,CACF,GACD,6BAA6B,CAC3B,gCAAgC,CAAC,QAAQ,CAAC,CAC3C,GACL,KAAK,GACP,KAAK,CAAC;AAEd,MAAM,MAAM,cAAc,CAAC,OAAO,SAAS,gBAAgB,IACzD,UAAU,CAAC,OAAO,CAAC,SAAS,SAAS,CAAC,MAAM,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAC1D,OAAO,GACP,KAAK,CAAC;AAEZ,MAAM,MAAM,iBAAiB,CAC3B,OAAO,GAAG,OAAO,EACjB,MAAM,SAAS,iBAAiB,GAAG,iBAAiB,IAClD,CACF,OAAO,EAAE,wBAAwB,CAAC,OAAO,CAAC,EAC1C,SAAS,CAAC,EAAE,SAAS,KAClB,MAAM,CAAC;AAEZ,KAAK,sBAAsB,CAAC,QAAQ,EAAE,IAAI,SAAS,MAAM,IAAI,QAAQ,GAAG;IACtE,QAAQ,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,IAAI,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,QAAQ,IAAI,QAAQ,SAAS;IAC/D,QAAQ,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,MAAM,IAAI,SAAS,MAAM,CAAC;CAChE,GACG,IAAI,GACJ,MAAM,CAAC;AAEX,MAAM,MAAM,oBAAoB,CAAC,QAAQ,IAAI,QAAQ,SAAS,CAC5D,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,MAAM,MAAM,GACb,6BAA6B,CAAC,MAAM,CAAC,GACrC,EAAE,CAAC;AAEP,MAAM,MAAM,eAAe,CAAC,QAAQ,IAAI,QAAQ,SAAS,CACvD,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,MAAM,MAAM,GACb,wBAAwB,CAAC,MAAM,CAAC,GAChC,OAAO,iBAAiB,EAAE,mBAAmB,CAAC;AAElD,oFAAoF;AACpF,MAAM,MAAM,sBAAsB,CAAC,QAAQ,IAAI,QAAQ,SAAS,CAC9D,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,MAAM,MAAM,GACb,+BAA+B,CAAC,MAAM,CAAC,GACvC,KAAK,CAAC;AAEV;;;GAGG;AACH,MAAM,MAAM,mBAAmB,CAAC,QAAQ,IAAI,QAAQ,SAAS,CAC3D,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,MAAM,MAAM,GACb,4BAA4B,CAAC,MAAM,CAAC,GACpC,KAAK,CAAC;AAEV;;;GAGG;AACH,MAAM,MAAM,yBAAyB,CAAC,QAAQ,IAAI,QAAQ,SAAS,CACjE,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,MAAM,MAAM,GACb,kCAAkC,CAAC,MAAM,CAAC,GAC1C,KAAK,CAAC;AAEV,MAAM,MAAM,iBAAiB,CAAC,OAAO,SAAS,MAAM,IAAI,CACtD,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,OAAO,CAAC;AAEb,MAAM,MAAM,YAAY,CAAC,OAAO,SAAS,MAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAE9E,MAAM,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,gBAAgB,KAAK,gBAAgB,CAAC;AAE/E,MAAM,MAAM,iBAAiB,GAAG,CAC9B,YAAY,EAAE,iBAAiB,CAAC,GAAG,CAAC,KACjC,iBAAiB,CAAC,GAAG,CAAC,CAAC;AAE5B,KAAK,iBAAiB,CAAC,KAAK,SAAS,cAAc,IACjD,UAAU,CAAC,KAAK,CAAC,SAAS,gBAAgB,GACtC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GACjC,OAAO,CAAC;AAEd,eAAO,MAAM,eAAe,eAA4B,CAAC;AACzD,OAAO,CAAC,MAAM,oBAAoB,EAAE,OAAO,MAAM,CAAC;AAElD,MAAM,WAAW,cAAc,CAC7B,KAAK,SAAS,cAAc,GAAG,cAAc,EAC7C,QAAQ,SAAS,CACf,YAAY,EAAE,iBAAiB,CAAC,GAAG,CAAC,KACjC,GAAG,GAAG,iBAAiB,EAC5B,oBAAoB,SAAS,MAAM,GAAG,EAAE,CACxC,SAAQ,uBAAuB,CAC7B,MAAM,EACN,WAAW,EACX,iBAAiB,CAAC,KAAK,CAAC,CACzB;IACD,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE;QAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;QAC7B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;QACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAC5B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,2BAA2B,CAAC;KAC1D,CAAC;IACF,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC,EAAE,oBAAoB,CAAC;CACxD;AAED,MAAM,MAAM,kCAAkC,CAAC,SAAS,IACtD,SAAS,SAAS,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,YAAY,SAAS,MAAM,CAAC,GACzE,YAAY,GACZ,EAAE,CAAC;AAET,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAED,KAAK,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,EAAE,CAAC;AAEjD,KAAK,mBAAmB,CAAC,KAAK,IAAI,KAAK,SAAS,MAAM,GAClD,OAAO,WAAW,SAAS,MAAM,KAAK,GACpC,IAAI,GACJ,KAAK,GACP,KAAK,CAAC;AAEV,KAAK,wBAAwB,CAAC,KAAK,IACjC,mBAAmB,CAAC,KAAK,CAAC,SAAS,IAAI,GACnC,KAAK,SAAS,SAAS,CAAC,EAAE,EAAE,MAAM,MAAM,CAAC,GACvC,MAAM,GACN,KAAK,GACP,KAAK,CAAC;AAEZ,MAAM,MAAM,gBAAgB,CAAC,OAAO,IAAI,QAAQ,CAAC;KAC9C,GAAG,IAAI,MAAM,OAAO,IAAI,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,GACnE,GAAG,GACH,OAAO,CAAC,GAAG,CAAC,SAAS,iBAAiB,GACpC,GAAG,GACH,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,GAC9C,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GACtD,GAAG,GACH,KAAK,GACP,GAAG,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,GACxD,UAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAClD,OAAO,CAAC,GAAG,CAAC,SAAS,iBAAiB,GACpC,OAAO,CAAC,GAAG,CAAC,GACZ,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,GAC9C,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM,OAAO,CAAC,GACxC,OAAO,GACP,KAAK,GACP,OAAO,CAAC,GAAG,CAAC;CACrB,CAAC,CAAC;AAEH,eAAO,MAAM,eAAe,eAA4B,CAAC;AAEzD,KAAK,iBAAiB,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,EAAE,CAAC;AAEzE,MAAM,WAAW,aAAa,CAC5B,SAAS,SAAS,SAAS,iBAAiB,EAAE,GAAG,SAAS,iBAAiB,EAAE,EAC7E,QAAQ,SAAS,MAAM,GAAG,MAAM;IAEhC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IAC7C,gFAAgF;IAChF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IAChD,oDAAoD;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IAC1C,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IAC7C,gFAAgF;IAChF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IAChD,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE;QACd,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACpC,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC,GAAG,CAAC,CAAC;KAC9C,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CACvC;AAED,MAAM,WAAW,mBAAmB,CAAC,OAAO,GAAG,OAAO;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,8BAA8B,CAAC;CACvD;AAED,MAAM,MAAM,yBAAyB,GAAG,CACtC,SAAS,EAAE,iBAAiB,KACzB,iBAAiB,CAAC;AAEvB,MAAM,MAAM,gCAAgC,GAAG;IAC7C,wEAAwE;IACxE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAC7C,gCAAgC,GAAG;IACjC,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;CAC5C,CAAC;AAEJ,MAAM,MAAM,8BAA8B,GACtC,yBAAyB,GACzB,mCAAmC,CAAC;AAExC,MAAM,MAAM,iCAAiC,CAAC,OAAO,IAAI,OAAO,SAAS,CACvE,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,MAAM,QAAQ,GACf,QAAQ,GACR,OAAO,SAAS;IAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,QAAQ,CAAA;CAAE,GACrE,QAAQ,GACR,KAAK,CAAC;AAEZ,MAAM,MAAM,2BAA2B,GAAG,CACxC,SAAS,EAAE,iBAAiB,KACzB,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAEvC,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACrD,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAC/B,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAC/C,CAAC;IACF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAClC,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAC5C,CAAC;IACF,QAAQ,CAAC,kBAAkB,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACjD,QAAQ,CAAC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IACzD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,QAAQ,CACvC,IAAI,CAAC,0BAA0B,EAAE,MAAM,GAAG,UAAU,CAAC,CACtD,GACC,IAAI,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,8BAA8B,CAAC;AAEzE,6EAA6E;AAC7E,eAAO,MAAM,kBAAkB,eAAqC,CAAC;AACrE,eAAO,MAAM,qBAAqB,eAAwC,CAAC;AAC3E,eAAO,MAAM,+BAA+B,eAE3C,CAAC;AACF,eAAO,MAAM,+BAA+B,eAE3C,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAC3B,SAAS,SACP,SAAS,oBAAoB,EAAE,GAAG,SAAS,oBAAoB,EAAE,EACnE,KAAK,SAAS,MAAM,GAAG,KAAK,IAC1B,cAAc,GAAG;IACnB,QAAQ,CAAC,CAAC,4BAA4B,CAAC,EAAE,SAAS,CAAC;IACnD,QAAQ,CAAC,CAAC,wBAAwB,CAAC,EAAE,KAAK,CAAC;IAC3C,QAAQ,CAAC,CAAC,kBAAkB,CAAC,EAAE,8BAA8B,GAC3D,CAAC,KAAK,SAAS,KAAK,GAChB;QAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;KAAE,GAEzD;QACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAC/B,KAAK,EACL,2BAA2B,CAC5B,CAAC;KACH,GACD;QACE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;QAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAC5B,KAAK,EACL,8BAA8B,CAC/B,CAAC;QACF,QAAQ,CAAC,kBAAkB,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;KAClD,CAAC,CAAC;CACd,CAAC;AAEF,KAAK,oBAAoB,CAAC,KAAK,SAAS,MAAM,IAAI;KAC/C,GAAG,IAAI,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,iBAAiB,GACnE,MAAM,iBAAiB,GACvB,KAAK,CAAC,GAAG,CAAC;CACf,CAAC;AAEF,KAAK,kBAAkB,CACrB,KAAK,SAAS,MAAM,EACpB,QAAQ,SAAS,cAAc,IAC7B,oBAAoB,CAAC,KAAK,CAAC,GAAG,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAEzE,MAAM,MAAM,gBAAgB,CAAC,IAAI,EAAE,QAAQ,IAAI,oBAAoB,CACjE,qBAAqB,CAAC,IAAI,CAAC,EAC3B,eAAe,CAAC,QAAQ,CAAC,CAC1B,CAAC;AAEF,KAAK,sBAAsB,CAAC,KAAK,IAC/B,KAAK,SAAS,2BAA2B,CAAC,MAAM,UAAU,SAAS,MAAM,CAAC,GACtE,UAAU,GACV,KAAK,CAAC;AAEZ,MAAM,MAAM,0BAA0B,CAAC,KAAK,SAAS,MAAM,IACzD,sBAAsB,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;AAE7C,KAAK,iBAAiB,CAAC,IAAI,SAAS,aAAa,IAAI,IAAI,SAAS;IAChE,QAAQ,CAAC,SAAS,EAAE,MAAM,SAAS,CAAC;CACrC,GACG,SAAS,GACT,SAAS,EAAE,CAAC;AAEhB,MAAM,MAAM,kBAAkB,CAAC,SAAS,IACtC,SAAS,SAAS,SAAS,CAAC,MAAM,QAAQ,CAAC,EAAE,GACzC,kBAAkB,CAAC,QAAQ,CAAC,GAC5B,SAAS,SAAS;IACd,QAAQ,CAAC,CAAC,4BAA4B,CAAC,CAAC,EAAE,MAAM,QAAQ,CAAC;CAC1D,GACD,QAAQ,SAAS;IACf,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC;CAC/B,GAEK,yBAAyB,CAAC,OAAO,CAAC,GAClC,OAAO,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAC9C,KAAK,GACP,KAAK,CAAC;AAEd,KAAK,0BAA0B,CAAC,OAAO,SAAS,gBAAgB,IAC5D,yBAAyB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAClD,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEhE,MAAM,MAAM,iCAAiC,CAC3C,OAAO,SAAS,gBAAgB,EAChC,SAAS,IACP,0BAA0B,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAExE,KAAK,uBAAuB,CAAC,UAAU,IAAI,UAAU,SAAS;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,SAAS,MAAM,CAAC;CAC1C,GACG,IAAI,GACJ,KAAK,CAAC;AAEV,MAAM,MAAM,qCAAqC,CAC/C,OAAO,SAAS,gBAAgB,EAChC,SAAS,IACP,uBAAuB,CACzB,iCAAiC,CAAC,OAAO,EAAE,SAAS,CAAC,CACtD,CAAC;AAEF,MAAM,MAAM,gDAAgD,CAC1D,OAAO,SAAS,gBAAgB,EAChC,SAAS,EACT,QAAQ,SAAS,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IACzD,OAAO,CACT,qCAAqC,CAAC,OAAO,EAAE,SAAS,CAAC,EACzD,OAAO,CAAC,sCAAsC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAC9E,CAAC;AAEF,KAAK,0BAA0B,CAAC,QAAQ,IAAI,QAAQ,SAAS;IAC3D,QAAQ,CAAC,CAAC,4BAA4B,CAAC,EAAE,MAAM,SAAS,CAAC;CAC1D,GACG,SAAS,GACT,SAAS,EAAE,CAAC;AAEhB,KAAK,yBAAyB,CAAC,QAAQ,IAAI,QAAQ,SAAS;IAC1D,QAAQ,CAAC,CAAC,wBAAwB,CAAC,EAAE,MAAM,KAAK,CAAC;CAClD,GACG,KAAK,GACL,KAAK,CAAC;AAEV,KAAK,+BAA+B,CAAC,QAAQ,IAAI,uBAAuB,CACtE,kBAAkB,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CACzD,CAAC;AAEF,KAAK,uCAAuC,CAAC,QAAQ,IAAI,QAAQ,SAAS;IACxE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,EAAE;QAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,QAAQ,SAAS,MAAM,CACnD,MAAM,EACN,8BAA8B,CAC/B,CAAC;KACH,CAAC;CACH,GACG,2BAA2B,CACzB,iCAAiC,CAAC,QAAQ,CAAC,MAAM,QAAQ,CAAC,CAAC,CAC5D,GACD,KAAK,CAAC;AAEV,KAAK,iCAAiC,CACpC,OAAO,SAAS,gBAAgB,EAChC,IAAI,SAAS,aAAa,EAC1B,QAAQ,EACR,kBAAkB,SAAS,MAAM,IAE/B,kBAAkB,GAClB,qCAAqC,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,GACvE,+BAA+B,CAAC,QAAQ,CAAC,CAAC;AAE9C,KAAK,gCAAgC,CACnC,OAAO,SAAS,gBAAgB,EAChC,IAAI,SAAS,aAAa,EAC1B,QAAQ,EACR,kBAAkB,SAAS,MAAM,GAAG,KAAK,IACvC,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACrD,iCAAiC,CAC/B,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,kBAAkB,CACnB,GAEG,OAAO,CACL,iCAAiC,CAC/B,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,kBAAkB,CACnB,EACD,yBAAyB,CAAC,QAAQ,CAAC,CACpC,GACD,uCAAuC,CAAC,QAAQ,CAAC,CAAC;AAE1D,KAAK,gCAAgC,CACnC,OAAO,SAAS,gBAAgB,EAChC,IAAI,SAAS,aAAa,EAC1B,QAAQ,EACR,kBAAkB,SAAS,MAAM,EACjC,iBAAiB,SAAS,MAAM,GAAG,KAAK,IACtC,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACrD,OAAO,GACP,4BAA4B,CAC1B,iCAAiC,CAC/B,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,kBAAkB,CACnB,EACD,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CACtE,GACC,CAAC,QAAQ,SAAS;IAAE,QAAQ,CAAC,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAA;CAAE,GACxD;IACE,OAAO,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAChE,SAAS,CAAC,KAAK,CAAC,GACf,OAAO,GACP;IACE,8EAA8E,EAAE,OAAO,CACrF,yBAAyB,CAAC,QAAQ,CAAC,EACnC,iBAAiB,CAClB,CAAC;CACH,GACH,OAAO,CAAC,CAAC;AAEnB,KAAK,sCAAsC,CACzC,QAAQ,SAAS,iBAAiB,CAAC,GAAG,CAAC,IACrC,OAAO,CACT,sCAAsC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAC5D,MAAM,CACP,CAAC;AAEF,KAAK,wBAAwB,CAAC,KAAK,SAAS,SAAS,OAAO,EAAE,IAAI;IAChE,GAAG,KAAK;IACR,OAAO;CACR,CAAC;AAEF,KAAK,oBAAoB,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;AAEtE,KAAK,wBAAwB,CAC3B,GAAG,SAAS,MAAM,qBAAqB,EACvC,QAAQ,SAAS,MAAM,IACrB;IACF,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B,CAAC;AAEF,KAAK,qBAAqB,CACxB,IAAI,EACJ,KAAK,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,IACnC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GACzB,KAAK,GACL,oBAAoB,CAAC,IAAI,CAAC,SAAS,IAAI,GACrC,KAAK,GACL,IAAI,SAAS,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,GACnC,qBAAqB,CAAC,KAAK,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC,GAC7D,IAAI,SAAS,eAAe,CACxB,GAAG,EACH,MAAM,GAAG,SAAS,MAAM,qBAAqB,EAC7C,MAAM,KAAK,EACX,MAAM,QAAQ,CACf,GAEG,wBAAwB,CAAC,GAAG,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,GAC3D,qBAAqB,CAAC,QAAQ,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC,GACpE,IAAI,SAAS;IACT,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,aAAa,CAAC;CACpC,GACD,qBAAqB,CACnB,aAAa,EACb,wBAAwB,CAAC,KAAK,CAAC,CAChC,GACD,IAAI,SAAS;IACT,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,MAAM,YAAY,CAAC;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,MAAM,aAAa,CAAC;CAChD,GACD,qBAAqB,CACnB,YAAY,GAAG,aAAa,EAC5B,wBAAwB,CAAC,KAAK,CAAC,CAChC,GACD,IAAI,SAAS;IACT,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,YAAY,CAAC;IAC9D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,aAAa,CAAC;CAC5C,GACD,qBAAqB,CACnB,YAAY,GAAG,aAAa,EAC5B,wBAAwB,CAAC,KAAK,CAAC,CAChC,GACD,IAAI,SAAS;IACT,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,QAAQ,CAAC;CACtD,GACD,qBAAqB,CACnB,QAAQ,EACR,wBAAwB,CAAC,KAAK,CAAC,CAChC,GACD,KAAK,CAAC;AAExB,KAAK,uBAAuB,CAAC,QAAQ,SAAS,eAAe,IAAI,IAAI,CACnE,QAAQ,EACR,KAAK,CACN,CAAC;AAEF,KAAK,sBAAsB,CAAC,SAAS,EAAE,QAAQ,SAAS,eAAe,IACrE,SAAS,SAAS,wBAAwB,CAAC,MAAM,GAAG,EAAE,MAAM,SAAS,CAAC,GAClE,QAAQ,SAAS;IACf,QAAQ,CAAC,GAAG,EAAE,MAAM,SAAS,SAAS,MAAM,qBAAqB,CAAC;CACnE,GACC,GAAG,SAAS,SAAS,GACnB,uBAAuB,CAAC,QAAQ,CAAC,SAAS,OAAO,CAAC,SAAS,CAAC,GAC1D,IAAI,GACJ,KAAK,GACP,KAAK,GACP,uBAAuB,CAAC,QAAQ,CAAC,SAAS,OAAO,CAAC,SAAS,CAAC,GAC1D,IAAI,GACJ,KAAK,GACT,KAAK,CAAC;AAEZ,KAAK,wBAAwB,CAC3B,UAAU,EACV,QAAQ,SAAS,eAAe,IAC9B,UAAU,SAAS,OAAO,GAC1B,sBAAsB,CAAC,UAAU,EAAE,QAAQ,CAAC,SAAS,IAAI,GACvD,UAAU,GACV,KAAK,GACP,KAAK,CAAC;AAEV,KAAK,4BAA4B,CAAC,MAAM,EAAE,QAAQ,SAAS,eAAe,IAAI;IAC5E,wBAAwB,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;CAClE,SAAS,CAAC,KAAK,CAAC,GACb;IACE,QAAQ,CAAC,0DAA0D,EAAE,QAAQ,CAAC;CAC/E,GACD,OAAO,CAAC;AAEZ,KAAK,sBAAsB,CACzB,MAAM,SAAS,MAAM,EACrB,YAAY,SAAS,MAAM,IACzB;KACD,GAAG,IAAI,MAAM,MAAM,GAAG,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS;QACpE,QAAQ,CAAC,QAAQ,EAAE,MAAM,QAAQ,SAAS,eAAe,CAAC;KAC3D,GACG,4BAA4B,CAC1B,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EACpC,QAAQ,CACT,GACD,OAAO;CACZ,CAAC;AAEF,KAAK,kBAAkB,CAAC,KAAK,IAAI,KAAK,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAClE,KAAK,GACL,KAAK,SAAS,MAAM,GAClB,IAAI,GACJ,KAAK,CAAC;AAEZ,KAAK,eAAe,CAAC,OAAO,SAAS,gBAAgB,IACnD,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,GACrC,kBAAkB,CAAC,KAAK,CAAC,SAAS,IAAI,GACpC,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,GACxB,KAAK,GACP,KAAK,CAAC;AAEZ,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,gBAAgB,IAAI;IAC/D,eAAe,CAAC,OAAO,CAAC;CACzB,SAAS,CAAC,KAAK,CAAC,GACb,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GACzC,eAAe,CAAC,OAAO,CAAC,CAAC;AAE7B,KAAK,8BAA8B,CAAC,OAAO,IAAI,QAAQ,CAAC;KACrD,GAAG,IAAI,MAAM,OAAO,IAAI,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,GACrE,KAAK,GACL,GAAG,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;CAC7C,CAAC,CAAC;AAEH,KAAK,4BAA4B,CAAC,OAAO,SAAS,gBAAgB,IAChE,8BAA8B,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AAE1D,KAAK,kBAAkB,CAAC,SAAS,IAAI,SAAS,SAAS;IACrD,QAAQ,CAAC,CAAC,sBAAsB,CAAC,EAAE,MAAM,MAAM,CAAC;CACjD,GACG,MAAM,GACN,KAAK,CAAC;AAEV,MAAM,MAAM,oBAAoB,CAAC,SAAS,IACxC,kBAAkB,CAAC,SAAS,CAAC,SAAS;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,QAAQ,CAAC;CACnC,GACG,QAAQ,GACR,KAAK,CAAC;AAEZ,KAAK,eAAe,CAAC,SAAS,IAC5B,kBAAkB,CAAC,SAAS,CAAC,SAAS;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,WAAW,CAAC;CAC7C,GACG,GAAG,GACH,KAAK,CAAC;AAEZ,MAAM,MAAM,cAAc,CACxB,QAAQ,GAAG,OAAO,EAClB,GAAG,SAAS,WAAW,GAAG,WAAW,IACnC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG;IAC5B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,QAAQ,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,QAAQ,IAAI,SAAS,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;AAE3E,MAAM,MAAM,YAAY,CAAC,SAAS,IAAI;IACpC,oBAAoB,CAAC,SAAS,CAAC;CAChC,SAAS,CAAC,KAAK,CAAC,GACb,KAAK,GACL,cAAc,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;AAEhF,KAAK,iBAAiB,CACpB,SAAS,SAAS,MAAM,EACxB,aAAa,SAAS,MAAM,EAC5B,SAAS,SAAS,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,EACpD,OAAO,SAAS,gBAAgB,EAChC,UAAU,SAAS,MAAM,GAAG,EAAE,EAC9B,OAAO,SACL,cAAc,GAAG,OAAO,iBAAiB,EAAE,mBAAmB,IAEhE,0BAA0B,CACxB,IAAI,CAAC,SAAS,EAAE,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,CACpD,SAAS,MAAM,eAAe,SAAS,MAAM,GAC1C,cAAc,CAAC,OAAO,CAAC,SAAS;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,QAAQ,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,WAAW,CAAC;CAC7C,GACC,aAAa,CACX,SAAS,EACT,aAAa,EACb,SAAS,EACT,4BAA4B,CAAC,SAAS,CAAC,EACvC,eAAe,EACf,OAAO,CACR,GACC,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,GAC/B,aAAa,CACX,SAAS,EACT,aAAa,EACb,SAAS,EACT,4BAA4B,CAAC,SAAS,CAAC,EACvC,eAAe,EACf,OAAO,CACR,GACH,KAAK,CAAC;AAEZ,KAAK,uBAAuB,CAC1B,OAAO,SAAS,gBAAgB,EAChC,SAAS,SAAS,cAAc,IAC9B,SAAS,SAAS;IAAE,QAAQ,CAAC,CAAC,+BAA+B,CAAC,EAAE,IAAI,CAAA;CAAE,GACtE,OAAO,GACP,SAAS,SAAS,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,GAC3C,OAAO,GACP,SAAS,SAAS,cAAc,CAAC,MAAM,KAAK,EAAE,GAAG,CAAC,GAChD,UAAU,CAAC,KAAK,CAAC,SAAS,gBAAgB,GACxC,UAAU,CAAC,KAAK,CAAC,GACjB,OAAO,GACT,OAAO,CAAC;AAEhB,KAAK,kBAAkB,CAAC,YAAY,IAAI,YAAY,SAAS;IAC3D,eAAe,EAAE,MAAM,OAAO,SAAS,MAAM,CAAC;CAC/C,GACG,OAAO,GACP,EAAE,CAAC;AAEP,KAAK,+BAA+B,CAClC,QAAQ,SAAS,MAAM,EACvB,UAAU,SAAS,MAAM,IACvB,QAAQ,CACV,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,GAAG;IACpC,eAAe,EAAE,QAAQ,CACvB,kBAAkB,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAC9D,CAAC;CACH,CACF,CAAC;AAEF,KAAK,qCAAqC,CAAC,uBAAuB,EAAE,SAAS,IAC3E,SAAS,SAAS,4BAA4B,CAC5C,MAAM,QAAQ,SAAS,sBAAsB,EAC7C,OAAO,CACR,GAEO,4BAA4B,CAAC,uBAAuB,EAAE,QAAQ,CAAC,GAC/D,oCAAoC,CAAC,QAAQ,CAAC,GAClD,uBAAuB,CAAC;AAE9B,KAAK,oCAAoC,CAAC,uBAAuB,EAAE,SAAS,IAC1E,SAAS,SAAS,4BAA4B,CAC5C,MAAM,QAAQ,SAAS,sBAAsB,EAC7C,MAAM,UAAU,SAAS,OAAO,CACjC,GACG,UAAU,SAAS,IAAI,GACrB,kCAAkC,CAAC,uBAAuB,EAAE,QAAQ,CAAC,GACrE,+BAA+B,CAAC,uBAAuB,EAAE,QAAQ,CAAC,GACpE,OAAO,CAAC;AAEd,KAAK,6CAA6C,CAAC,SAAS,IAC1D,SAAS,SAAS,4BAA4B,CAC5C,MAAM,QAAQ,SAAS,sBAAsB,EAC7C,OAAO,CACR,GACG,2BAA2B,CACzB,6BAA6B,CAAC,QAAQ,CAAC,MAAM,QAAQ,CAAC,CAAC,CACxD,GACD,KAAK,CAAC;AAEZ,KAAK,cAAc,CACjB,OAAO,SAAS,gBAAgB,EAChC,IAAI,SAAS,aAAa,EAC1B,SAAS,SAAS,cAAc,EAChC,WAAW,SAAS,gBAAgB,EACpC,qBAAqB,SAAS,MAAM,EACpC,kBAAkB,SAAS,MAAM,EACjC,uBAAuB,EACvB,oBAAoB,SAAS,MAAM,EACnC,QAAQ,SAAS,iBAAiB,CAChC,cAAc,CAAC,OAAO,CAAC,CACxB,GAAG,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAC9C,IAAI,SAAS,MAAM,GAAG,MAAM,IAE5B,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,MAAM,WAAW,SACnE,gBAAgB,GACd,cAAc,CACZ,gBAAgB,CAAC,WAAW,CAAC,EAC7B,+BAA+B,CAC7B,qBAAqB,EACrB,0BAA0B,CACxB,cAAc,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,EACzD,cAAc,CAAC,WAAW,CAAC,EAC3B,iBAAiB,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC,SAAS,CAAC,EAC/D,gBAAgB,CAAC,WAAW,CAAC,EAC7B,oBAAoB,GAAG,kCAAkC,CAAC,SAAS,CAAC,CACrE,CACF,EACD,WAAW,EACX,IAAI,EACJ,WAAW,EACX,oBAAoB,GAAG,kCAAkC,CAAC,SAAS,CAAC,EACpE,QAAQ,GACN,iBAAiB,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,EACtE,IAAI,EACJ,CACI,gCAAgC,CAC9B,OAAO,EACP,IAAI,EACJ,SAAS,EACT,kBAAkB,CACnB,GACD,6CAA6C,CAAC,SAAS,CAAC,CAC3D,GACC,gCAAgC,CAC9B,OAAO,EACP,IAAI,EACJ,SAAS,EACT,kBAAkB,CACnB,EACH,4BAA4B,CAAC,WAAW,CAAC,EACzC,qCAAqC,CACnC,uBAAuB,EACvB,SAAS,CACV,CACF,GACD,KAAK,CAAC;AAEZ,MAAM,WAAW,cAAc,CAC7B,KAAK,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAC3C,aAAa,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EACnD,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EACnD,IAAI,SAAS,aAAa,GAAG,aAAa,EAC1C,WAAW,SAAS,gBAAgB,GAAG,OAAO,EAC9C,oBAAoB,SAAS,MAAM,GAAG,KAAK,EAC3C,QAAQ,SAAS,iBAAiB,CAChC,cAAc,CAAC,OAAO,CAAC,CACxB,GAAG,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAC9C,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,wBAAwB,SAAS,MAAM,GAAG,MAAM,EAChD,mBAAmB,SAAS,MAAM,GAAG,EAAE,EACvC,eAAe,GAAG,GAAG,CACrB,SAAQ,oBAAoB,CAAC,aAAa,CAAC,EACzC,uBAAuB,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACrE,CACE,SAAS,SAAS,kBAAkB,CAClC,KAAK,EACL,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CACjC,GAAG,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAE/D,GAAG,IAAI,EAAE,MAAM,KAAK,SAAS,KAAK,GAC9B;QACE,KAAK,CAAC,EAAE,SAAS,GACf,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;KAClE,GACD;QACE,KAAK,EAAE,SAAS,GACd,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;KAClE,GACJ,iBAAiB,CAClB,SAAS,EACT,aAAa,EACb,cAAc,CACZ,KAAK,EACL,aAAa,EACb,OAAO,EACP,IAAI,EACJ,WAAW,EACX,oBAAoB,EACpB,QAAQ,EACR,IAAI,EACJ,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,CAChB,EACD,OAAO,EACP,KAAK,EACL,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,CAC9D,CAAC;IACF,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,GAAG;QACzD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;QACpB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF,QAAQ,CAAC,CAAC,mCAAmC,CAAC,EAAE,wBAAwB,CAAC;IACzE,QAAQ,CAAC,CAAC,0BAA0B,CAAC,EAAE,eAAe,CAAC;IACvD,QAAQ,CAAC,CAAC,sBAAsB,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3D,QAAQ,CAAC,IAAI,EAAE;QACb,CAAC,SAAS,SAAS,cAAc,EAC/B,gBAAgB,EAAE,CAChB,SAAS,EAAE,cAAc,CACvB,KAAK,EACL,aAAa,EACb,OAAO,EACP,IAAI,EACJ,WAAW,EACX,oBAAoB,EACpB,QAAQ,EACR,IAAI,EACJ,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,CAChB,KACE,SAAS,GACZ,gCAAgC,CAC9B,OAAO,EACP,IAAI,EACJ,SAAS,EACT,wBAAwB,EACxB,sCAAsC,CAAC,QAAQ,CAAC,CACjD,GACD,oCAAoC,CAAC,eAAe,EAAE,SAAS,CAAC,GACjE,cAAc,CACf,OAAO,EACP,IAAI,EACJ,SAAS,EACT,WAAW,EACX,aAAa,EACb,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,QAAQ,EACR,IAAI,CACL,CAAC;QACF,CAAC,SAAS,SAAS,cAAc,EAC/B,SAAS,EAAE,SAAS,GAClB,gCAAgC,CAC9B,OAAO,EACP,IAAI,EACJ,SAAS,EACT,wBAAwB,EACxB,sCAAsC,CAAC,QAAQ,CAAC,CACjD,GACD,oCAAoC,CAAC,eAAe,EAAE,SAAS,CAAC,GACjE,cAAc,CACf,OAAO,EACP,IAAI,EACJ,SAAS,EACT,WAAW,EACX,aAAa,EACb,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,QAAQ,EACR,IAAI,CACL,CAAC;QACF,CACE,GAAG,UAAU,EAAE,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC,GACvD,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KAC7B,CAAC;CACH;AAED,MAAM,MAAM,kBAAkB,CAAC,SAAS,IACtC,SAAS,SAAS,cAAc,CAC9B,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,IAAI,EACV,GAAG,EACH,GAAG,EACH,MAAM,QAAQ,EACd,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACJ,GACG,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,GAChC,OAAO,iBAAiB,EAAE,mBAAmB,CAAC;AAEpD,MAAM,MAAM,eAAe,CAAC,SAAS,IACnC,SAAS,SAAS,cAAc,CAC9B,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,IAAI,EACV,GAAG,EACH,GAAG,EACH,GAAG,CACJ,GACG,IAAI,GACJ,MAAM,CAAC;AAEb,MAAM,MAAM,mCAAmC,CAAC,SAAS,IAAI,SAAS,SAAS;IAC7E,QAAQ,CAAC,CAAC,mCAAmC,CAAC,EAAE,MAAM,UAAU,SAC9D,MAAM,CAAC;CACV,GACG,UAAU,GACV,KAAK,CAAC;AAEV,MAAM,MAAM,0BAA0B,CAAC,SAAS,IAAI,SAAS,SAAS;IACpE,QAAQ,CAAC,CAAC,0BAA0B,CAAC,EAAE,MAAM,eAAe,CAAC;CAC9D,GACG,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,GACnC,KAAK,CAAC;AAEV,yDAAyD;AACzD,MAAM,MAAM,sBAAsB,CAAC,SAAS,IAAI,SAAS,SAAS;IAChE,QAAQ,CAAC,CAAC,sBAAsB,CAAC,EAAE,MAAM,MAAM,CAAC;CACjD,GACG,MAAM,GACN,KAAK,CAAC;AAEV,MAAM,MAAM,4BAA4B,CAAC,OAAO,IAC9C,8BAA8B,CAAC,OAAO,CAAC,CAAC;AAE1C,MAAM,MAAM,mBAAmB,CAAC,SAAS,IACvC,SAAS,SAAS,cAAc,CAC9B,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,QAAQ,SAAS,iBAAiB,CAAC,GAAG,CAAC,EAC7C,MAAM,IAAI,SAAS,MAAM,CAC1B,GACG,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,GACtC,KAAK,CAAC;AAEZ,MAAM,MAAM,OAAO,CAAC,SAAS,IAC3B,SAAS,SAAS,cAAc,CAAC,MAAM,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;AAErE,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,cAAc,CAAC,MAAM,CAAC,CAEjC"}
|
package/src/lib/types.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { CRAFT_SERVICE_PROVIDER_BRAND } from '@craft-ts/core';
|
|
2
|
+
export const CONTENT_STYLE_POLICY = Symbol('craft-content-style-policy');
|
|
3
|
+
export const CONTENT_OUTPUT = Symbol('craft-content-output');
|
|
4
|
+
export const CONTENT_REQUIREMENT = Symbol('craft-content-requirement');
|
|
5
|
+
export const CONTENT_RENDERABLE = Symbol('craft-content-renderable');
|
|
6
|
+
export const CONTENT_DECLARATION_CONTEXT = Symbol('craft-content-declaration-context');
|
|
7
|
+
export const PROJECTION_CONTRACT = Symbol('craft-projection-contract');
|
|
8
|
+
export const CRAFT_TEMPLATE = Symbol('craft-template');
|
|
9
|
+
export const CRAFT_DIRECTIVE = Symbol('craft-directive');
|
|
10
|
+
export function isCraftDirective(value) {
|
|
11
|
+
return typeof value === 'function' && CRAFT_DIRECTIVE in value;
|
|
12
|
+
}
|
|
13
|
+
export const CRAFT_COMPONENT = Symbol('craft-component');
|
|
14
|
+
/** Internal marker carried by operators that alter component composition. */
|
|
15
|
+
export const COMPONENT_OPERATOR = Symbol('craft-component-operator');
|
|
16
|
+
export const COMPONENT_CATCH_BLOCK = Symbol('craft-component-catch-block');
|
|
17
|
+
export const COMPONENT_FIELD_EXCEPTION_BLOCK = Symbol('craft-component-field-exception-block');
|
|
18
|
+
export const FIELD_EXCEPTION_BLOCK_DIRECTIVE = Symbol('craft-field-exception-block-directive');
|
|
19
|
+
export function isCraftComponent(value) {
|
|
20
|
+
return typeof value === 'function' && CRAFT_COMPONENT in value;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=types.js.map
|