@alloy-js/core 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/src/binder.d.ts +43 -18
  3. package/dist/src/binder.d.ts.map +1 -1
  4. package/dist/src/binder.js +120 -16
  5. package/dist/src/binder.js.map +1 -1
  6. package/dist/src/components/Declaration.d.ts +2 -2
  7. package/dist/src/components/Declaration.d.ts.map +1 -1
  8. package/dist/src/components/Declaration.js.map +1 -1
  9. package/dist/src/components/Indent.d.ts +2 -2
  10. package/dist/src/components/Indent.d.ts.map +1 -1
  11. package/dist/src/components/Indent.js.map +1 -1
  12. package/dist/src/components/MemberDeclaration.d.ts +2 -2
  13. package/dist/src/components/MemberDeclaration.d.ts.map +1 -1
  14. package/dist/src/components/MemberDeclaration.js.map +1 -1
  15. package/dist/src/components/MemberName.d.ts +1 -1
  16. package/dist/src/components/MemberName.d.ts.map +1 -1
  17. package/dist/src/components/MemberScope.d.ts +2 -2
  18. package/dist/src/components/MemberScope.d.ts.map +1 -1
  19. package/dist/src/components/Name.d.ts +1 -1
  20. package/dist/src/components/Name.d.ts.map +1 -1
  21. package/dist/src/components/Output.d.ts +2 -2
  22. package/dist/src/components/Output.d.ts.map +1 -1
  23. package/dist/src/components/Output.js +6 -2
  24. package/dist/src/components/Output.js.map +1 -1
  25. package/dist/src/components/Scope.d.ts +2 -2
  26. package/dist/src/components/Scope.d.ts.map +1 -1
  27. package/dist/src/components/Scope.js.map +1 -1
  28. package/dist/src/components/SourceDirectory.d.ts +3 -3
  29. package/dist/src/components/SourceDirectory.d.ts.map +1 -1
  30. package/dist/src/components/SourceDirectory.js +1 -1
  31. package/dist/src/components/SourceDirectory.js.map +1 -1
  32. package/dist/src/components/SourceFile.d.ts +3 -3
  33. package/dist/src/components/SourceFile.d.ts.map +1 -1
  34. package/dist/src/components/SourceFile.js +1 -1
  35. package/dist/src/components/SourceFile.js.map +1 -1
  36. package/dist/src/components/stc/index.d.ts +18 -18
  37. package/dist/src/context/assignment.d.ts.map +1 -1
  38. package/dist/src/context/assignment.js +2 -2
  39. package/dist/src/context/assignment.js.map +1 -1
  40. package/dist/src/context/binder.d.ts.map +1 -1
  41. package/dist/src/context/binder.js +2 -2
  42. package/dist/src/context/binder.js.map +1 -1
  43. package/dist/src/context/declaration.d.ts.map +1 -1
  44. package/dist/src/context/declaration.js +2 -2
  45. package/dist/src/context/declaration.js.map +1 -1
  46. package/dist/src/context/indent.d.ts.map +1 -1
  47. package/dist/src/context/indent.js +2 -2
  48. package/dist/src/context/indent.js.map +1 -1
  49. package/dist/src/context/member-declaration.d.ts +1 -0
  50. package/dist/src/context/member-declaration.d.ts.map +1 -1
  51. package/dist/src/context/member-declaration.js +5 -2
  52. package/dist/src/context/member-declaration.js.map +1 -1
  53. package/dist/src/context/member-scope.d.ts.map +1 -1
  54. package/dist/src/context/member-scope.js +2 -2
  55. package/dist/src/context/member-scope.js.map +1 -1
  56. package/dist/src/context/name-policy.d.ts.map +1 -1
  57. package/dist/src/context/name-policy.js +2 -2
  58. package/dist/src/context/name-policy.js.map +1 -1
  59. package/dist/src/context/scope.d.ts.map +1 -1
  60. package/dist/src/context/scope.js +2 -2
  61. package/dist/src/context/scope.js.map +1 -1
  62. package/dist/src/context/source-directory.d.ts.map +1 -1
  63. package/dist/src/context/source-directory.js +2 -2
  64. package/dist/src/context/source-directory.js.map +1 -1
  65. package/dist/src/context/source-file.d.ts.map +1 -1
  66. package/dist/src/context/source-file.js +2 -2
  67. package/dist/src/context/source-file.js.map +1 -1
  68. package/dist/src/context.d.ts +5 -2
  69. package/dist/src/context.d.ts.map +1 -1
  70. package/dist/src/context.js +11 -4
  71. package/dist/src/context.js.map +1 -1
  72. package/dist/src/debug.d.ts +14 -0
  73. package/dist/src/debug.d.ts.map +1 -0
  74. package/dist/src/debug.js +163 -0
  75. package/dist/src/debug.js.map +1 -0
  76. package/dist/src/index.d.ts +3 -1
  77. package/dist/src/index.d.ts.map +1 -1
  78. package/dist/src/index.js +3 -1
  79. package/dist/src/index.js.map +1 -1
  80. package/dist/src/jsx-runtime.d.ts +27 -4
  81. package/dist/src/jsx-runtime.d.ts.map +1 -1
  82. package/dist/src/jsx-runtime.js +20 -7
  83. package/dist/src/jsx-runtime.js.map +1 -1
  84. package/dist/src/render.d.ts +1 -1
  85. package/dist/src/render.d.ts.map +1 -1
  86. package/dist/src/render.js +15 -13
  87. package/dist/src/render.js.map +1 -1
  88. package/dist/src/slot.d.ts +15 -0
  89. package/dist/src/slot.d.ts.map +1 -0
  90. package/dist/src/slot.js +51 -0
  91. package/dist/src/slot.js.map +1 -0
  92. package/dist/src/tap.d.ts +19 -0
  93. package/dist/src/tap.d.ts.map +1 -0
  94. package/dist/src/tap.js +39 -0
  95. package/dist/src/tap.js.map +1 -0
  96. package/dist/src/utils.d.ts +1 -6
  97. package/dist/src/utils.d.ts.map +1 -1
  98. package/dist/src/utils.js +1 -34
  99. package/dist/src/utils.js.map +1 -1
  100. package/dist/src/write-output.browser.d.ts +2 -0
  101. package/dist/src/write-output.browser.d.ts.map +1 -0
  102. package/dist/src/write-output.browser.js +4 -0
  103. package/dist/src/write-output.browser.js.map +1 -0
  104. package/dist/src/write-output.d.ts +7 -0
  105. package/dist/src/write-output.d.ts.map +1 -0
  106. package/dist/src/write-output.js +34 -0
  107. package/dist/src/write-output.js.map +1 -0
  108. package/dist/test/components/slot.test.d.ts +2 -0
  109. package/dist/test/components/slot.test.d.ts.map +1 -0
  110. package/dist/testing/render.d.ts +1 -1
  111. package/dist/testing/render.d.ts.map +1 -1
  112. package/dist/tsconfig.tsbuildinfo +1 -1
  113. package/package.json +10 -6
  114. package/src/binder.ts +214 -50
  115. package/src/components/Declaration.tsx +1 -1
  116. package/src/components/Indent.tsx +1 -1
  117. package/src/components/MemberDeclaration.tsx +1 -1
  118. package/src/components/MemberScope.tsx +1 -1
  119. package/src/components/Output.tsx +4 -2
  120. package/src/components/Scope.tsx +1 -1
  121. package/src/components/SourceDirectory.tsx +2 -2
  122. package/src/components/SourceFile.tsx +2 -6
  123. package/src/context/assignment.ts +6 -2
  124. package/src/context/binder.ts +7 -2
  125. package/src/context/declaration.ts +2 -2
  126. package/src/context/indent.ts +13 -6
  127. package/src/context/member-declaration.ts +10 -2
  128. package/src/context/member-scope.ts +6 -2
  129. package/src/context/name-policy.ts +6 -2
  130. package/src/context/scope.ts +7 -2
  131. package/src/context/source-directory.ts +2 -2
  132. package/src/context/source-file.ts +2 -2
  133. package/src/context.ts +15 -4
  134. package/src/debug.ts +209 -0
  135. package/src/index.ts +3 -1
  136. package/src/jsx-runtime.ts +46 -11
  137. package/src/render.ts +21 -19
  138. package/src/slot.ts +90 -0
  139. package/src/tap.ts +69 -0
  140. package/src/utils.ts +2 -34
  141. package/src/write-output.browser.ts +3 -0
  142. package/src/write-output.ts +33 -0
  143. package/temp/api.json +1848 -203
  144. package/test/components/slot.test.tsx +172 -0
  145. package/test/rendering/basic.test.tsx +1 -1
  146. package/test/symbols.test.ts +161 -3
  147. package/testing/render.ts +1 -1
@@ -0,0 +1,163 @@
1
+ import { isReactive } from "@vue/reactivity";
2
+ import { Chalk } from "chalk";
3
+ import Table from "cli-table3";
4
+ import { contextsByKey } from "./context.js";
5
+ import { getContext } from "./jsx-runtime.js";
6
+ const debug = {
7
+ component: {
8
+ stack: debugStack,
9
+ tree() {
10
+ console.log("tree");
11
+ },
12
+ watch() {
13
+ console.log("watch");
14
+ },
15
+ render() {
16
+ console.log("render");
17
+ },
18
+ context: debugContext
19
+ }
20
+ };
21
+ function debugStack() {
22
+ let currentContext = getContext();
23
+ let foundContexts = [];
24
+ while (currentContext !== null) {
25
+ if (currentContext.context && Object.getOwnPropertySymbols(currentContext.context)[0]) {
26
+ foundContexts.push(currentContext);
27
+ }
28
+ if (currentContext.componentOwner && currentContext.componentOwner.component.name !== "Provider") {
29
+ process.stdout.write(style.component.name(currentContext.componentOwner.component.name) + "\n");
30
+ const table = kvTable();
31
+ const props = currentContext.componentOwner.props;
32
+ table.push([{
33
+ hAlign: "right",
34
+ content: "props"
35
+ }, props && Object.keys(props).length > 0 ? dumpValue(props) : chalk.gray("(none)")]);
36
+ table.push([{
37
+ hAlign: "right",
38
+ content: "contexts"
39
+ }, foundContexts.length > 0 ? foundContexts.map(c => printContext(c, true)).join("\n") : chalk.gray("(none)")]);
40
+ process.stdout.write(table.toString() + "\n\n");
41
+ foundContexts = [];
42
+ }
43
+ currentContext = currentContext.owner;
44
+ }
45
+ }
46
+ function debugContext() {
47
+ let currentContext = getContext();
48
+ while (currentContext !== null) {
49
+ console.log(printContext(currentContext));
50
+ currentContext = currentContext.owner;
51
+ }
52
+ }
53
+ function printContext(context, omitOwner = false) {
54
+ if (!context.context) return "";
55
+ const key = Object.getOwnPropertySymbols(context.context)[0];
56
+ if (!key) return "";
57
+ const contextDefinition = contextsByKey.get(key);
58
+ const contextName = contextDefinition?.name ?? "unknown context";
59
+ const value = context.context[key];
60
+ let output = style.context.name(contextName);
61
+ if (!omitOwner) {
62
+ const owner = findContextOwner(context);
63
+ output += " provided by " + style.component.name(owner);
64
+ }
65
+ output += "\n" + dumpValue(value) + "\n";
66
+ return output;
67
+ }
68
+ function findContextOwner(context) {
69
+ let currentContext = context;
70
+ while (currentContext && (currentContext.componentOwner === undefined || currentContext.componentOwner.component.name === "Provider")) {
71
+ currentContext = currentContext.owner;
72
+ }
73
+ return currentContext?.componentOwner?.component.name ?? "unknown";
74
+ }
75
+ globalThis.debug = debug;
76
+ const chalk = new Chalk();
77
+ const style = {
78
+ value: {
79
+ primitive(value) {
80
+ switch (typeof value) {
81
+ case "string":
82
+ return chalk.blue(`"${value}"`);
83
+ case "object":
84
+ case "undefined":
85
+ return chalk.gray(String(value));
86
+ default:
87
+ return chalk.blue(String(value));
88
+ }
89
+ },
90
+ symbol(value) {
91
+ return chalk.gray(String(value));
92
+ }
93
+ },
94
+ context: {
95
+ name(name) {
96
+ return chalk.bgGray(` ${chalk.white(name)} `);
97
+ }
98
+ },
99
+ component: {
100
+ name(name) {
101
+ return chalk.bgBlue(` <${chalk.white(name)}> `);
102
+ }
103
+ }
104
+ };
105
+ function reactiveTag(value) {
106
+ if (isReactive(value)) {
107
+ return " " + chalk.greenBright(`reactive`) + " ";
108
+ }
109
+ return "";
110
+ }
111
+ function dumpValue(value, level = 0) {
112
+ switch (typeof value) {
113
+ case "boolean":
114
+ case "string":
115
+ case "number":
116
+ return style.value.primitive(value) + reactiveTag(value);
117
+ case "symbol":
118
+ return style.value.symbol(value) + reactiveTag(value);
119
+ case "object":
120
+ if (value === null) {
121
+ return style.value.primitive(null) + reactiveTag(value);
122
+ } else {
123
+ if (level > 0) return chalk.gray(`{ ... }` + reactiveTag(value));
124
+ const table = kvTable(" ");
125
+ for (const [key, propValue] of Object.entries(value)) {
126
+ table.push([{
127
+ content: key
128
+ }, dumpValue(propValue, level + 1)]);
129
+ }
130
+ return table.toString();
131
+ }
132
+ case "function":
133
+ return chalk.gray("ƒ ()");
134
+ case "undefined":
135
+ return style.value.primitive(undefined);
136
+ }
137
+ }
138
+ function kvTable(sep = " ") {
139
+ return new Table({
140
+ chars: {
141
+ top: "",
142
+ "top-mid": "",
143
+ "top-left": "",
144
+ "top-right": "",
145
+ bottom: "",
146
+ "bottom-mid": "",
147
+ "bottom-left": "",
148
+ "bottom-right": "",
149
+ left: "",
150
+ "left-mid": "",
151
+ mid: "",
152
+ "mid-mid": "",
153
+ right: "",
154
+ "right-mid": "",
155
+ middle: sep
156
+ },
157
+ style: {
158
+ "padding-left": 0,
159
+ "padding-right": 0
160
+ }
161
+ });
162
+ }
163
+ //# sourceMappingURL=debug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.js","names":["isReactive","Chalk","Table","contextsByKey","getContext","debug","component","stack","debugStack","tree","console","log","watch","render","context","debugContext","currentContext","foundContexts","Object","getOwnPropertySymbols","push","componentOwner","name","process","stdout","write","style","table","kvTable","props","hAlign","content","keys","length","dumpValue","chalk","gray","map","c","printContext","join","toString","owner","omitOwner","key","contextDefinition","get","contextName","value","output","findContextOwner","undefined","globalThis","primitive","blue","String","symbol","bgGray","white","bgBlue","reactiveTag","greenBright","level","propValue","entries","sep","chars","top","bottom","left","mid","right","middle"],"sources":["../../src/debug.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- export * from "@alloy-js/core/jsx-runtime";
2
1
  export { computed, isProxy, reactive, ref, shallowReactive, shallowRef, toRaw, type Ref, } from "@vue/reactivity";
3
2
  export * from "./binder.js";
4
3
  export * from "./code.js";
@@ -9,5 +8,8 @@ export * from "./jsx-runtime.js";
9
8
  export * from "./name-policy.js";
10
9
  export * from "./refkey.js";
11
10
  export * from "./render.js";
11
+ export * from "./tap.js";
12
12
  export * from "./utils.js";
13
+ export * from "./write-output.js";
14
+ import "./debug.js";
13
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,GAAG,EACH,eAAe,EACf,UAAU,EACV,KAAK,EACL,KAAK,GAAG,GACT,MAAM,iBAAiB,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,GAAG,EACH,eAAe,EACf,UAAU,EACV,KAAK,EACL,KAAK,GAAG,GACT,MAAM,iBAAiB,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,OAAO,YAAY,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,4 +1,3 @@
1
- export * from "@alloy-js/core/jsx-runtime";
2
1
  export { computed, isProxy, reactive, ref, shallowReactive, shallowRef, toRaw } from "@vue/reactivity";
3
2
  export * from "./binder.js";
4
3
  export * from "./code.js";
@@ -9,5 +8,8 @@ export * from "./jsx-runtime.js";
9
8
  export * from "./name-policy.js";
10
9
  export * from "./refkey.js";
11
10
  export * from "./render.js";
11
+ export * from "./tap.js";
12
12
  export * from "./utils.js";
13
+ export * from "./write-output.js";
14
+ import "./debug.js";
13
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["computed","isProxy","reactive","ref","shallowReactive","shallowRef","toRaw"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc,4BAA4B;AAC1C,SACEA,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACRC,GAAG,EACHC,eAAe,EACfC,UAAU,EACVC,KAAK,QAEA,iBAAiB;AACxB,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,uBAAuB;AACrC,cAAc,cAAc;AAC5B,cAAc,oBAAoB;AAClC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,YAAY","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["computed","isProxy","reactive","ref","shallowReactive","shallowRef","toRaw"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACRC,GAAG,EACHC,eAAe,EACfC,UAAU,EACVC,KAAK,QAEA,iBAAiB;AACxB,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,uBAAuB;AACrC,cAAc,cAAc;AAC5B,cAAc,oBAAoB;AAClC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,UAAU;AACxB,cAAc,YAAY;AAC1B,cAAc,mBAAmB;AACjC,OAAO,YAAY","ignoreList":[]}
@@ -8,15 +8,21 @@ export interface Context {
8
8
  owner: Context | null;
9
9
  context?: Record<symbol, unknown>;
10
10
  meta?: Record<string, any>;
11
+ /**
12
+ * When this context was created by a component, this will
13
+ * be the component that created it.
14
+ */
15
+ componentOwner?: ComponentCreator<unknown>;
11
16
  }
12
17
  export declare function getContext(): Context | null;
13
- export declare function root<T>(fn: (d: Disposable) => T, src?: string): T;
18
+ export declare function root<T>(fn: (d: Disposable) => T, componentOwner?: ComponentCreator<any>): T;
14
19
  export declare function untrack<T>(fn: () => T): T;
15
20
  export declare function memo<T>(fn: () => T, equal?: boolean): () => T;
16
21
  export declare function effect<T>(fn: (prev?: T) => T, current?: T): void;
17
- export type Child = string | boolean | number | undefined | null | (() => Child | Children) | Child[] | Ref | Refkey;
22
+ export declare function cleanup(fn: Disposable): void;
23
+ export type Child = string | boolean | number | undefined | null | void | (() => Children) | Child[] | Ref | Refkey;
18
24
  export type Children = Child | Child[];
19
- export type Props = Record<string, unknown>;
25
+ export type Props = Record<string, any>;
20
26
  export interface ComponentDefinition<TProps = Props> {
21
27
  (props: TProps): Child | Children;
22
28
  }
@@ -30,11 +36,28 @@ export interface ComponentCreator<TProps = Props> {
30
36
  props: Props;
31
37
  tag?: symbol;
32
38
  }
33
- export declare const shouldDebug: boolean;
34
39
  export declare function pushStack(component: Component<any>, props: Props): void;
35
40
  export declare function popStack(): void;
36
41
  export declare function printRenderStack(): void;
37
42
  export declare function isComponentCreator(item: unknown): item is ComponentCreator;
43
+ /**
44
+ * This namespace is predominantly for interop with React tooling in VSCode
45
+ * and controls the type of JSX elements, components, and the like.
46
+ */
47
+ export declare namespace JSX {
48
+ interface IntrinsicElements {
49
+ }
50
+ type ElementType = ComponentDefinition<any>;
51
+ type Element = Children;
52
+ interface ElementChildrenAttribute {
53
+ children: {};
54
+ }
55
+ interface ElementAttributesProperty {
56
+ props: {};
57
+ }
58
+ }
59
+ export declare function jsx(type: Component<any>, props: Record<string, unknown>): ComponentCreator<Record<string, unknown>>;
60
+ export declare const jsxs: typeof jsx;
38
61
  export declare function createComponent<TProps extends Props = Props>(C: Component<TProps>, props: TProps): ComponentCreator<TProps>;
39
62
  export declare function taggedComponent<TProps = Props>(tag: symbol, component: Component<TProps>): Component<TProps>;
40
63
  export declare function mergeProps<T, U>(source: T, source1: U): T & U;
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../../src/jsx-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../../src/jsx-runtime.ts"],"names":[],"mappings":"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"}
@@ -9,9 +9,9 @@ let globalContext = null;
9
9
  export function getContext() {
10
10
  return globalContext;
11
11
  }
12
- export function root(fn, src) {
12
+ export function root(fn, componentOwner) {
13
13
  globalContext = {
14
- src,
14
+ componentOwner,
15
15
  disposables: [],
16
16
  owner: globalContext,
17
17
  context: {}
@@ -70,27 +70,26 @@ export function effect(fn, current) {
70
70
  });
71
71
  cleanup(() => cleanupFn(true));
72
72
  }
73
- function cleanup(fn) {
73
+ export function cleanup(fn) {
74
74
  if (globalContext != null) {
75
75
  globalContext.disposables.push(fn);
76
76
  }
77
77
  }
78
78
  // debugging utilities
79
79
  const renderStack = [];
80
- export const shouldDebug = !!process.env.ALLOY_DEBUG;
81
80
  export function pushStack(component, props) {
82
- if (!shouldDebug) return;
81
+ if (!shouldDebug()) return;
83
82
  renderStack.push({
84
83
  component,
85
84
  props
86
85
  });
87
86
  }
88
87
  export function popStack() {
89
- if (!shouldDebug) return;
88
+ if (!shouldDebug()) return;
90
89
  renderStack.pop();
91
90
  }
92
91
  export function printRenderStack() {
93
- if (!shouldDebug) return;
92
+ if (!shouldDebug()) return;
94
93
 
95
94
  // eslint-disable-next-line no-console
96
95
  console.error("Error rendering:");
@@ -131,6 +130,17 @@ function inspectProps(props) {
131
130
  export function isComponentCreator(item) {
132
131
  return typeof item === "function" && item.component;
133
132
  }
133
+
134
+ /**
135
+ * This namespace is predominantly for interop with React tooling in VSCode
136
+ * and controls the type of JSX elements, components, and the like.
137
+ */
138
+ // eslint-disable-next-line @typescript-eslint/no-namespace
139
+ export let JSX;
140
+ export function jsx(type, props) {
141
+ return createComponent(type, props);
142
+ }
143
+ export const jsxs = jsx;
134
144
  export function createComponent(C, props) {
135
145
  const creator = () => /* */C(props);
136
146
  creator.props = props;
@@ -169,4 +179,7 @@ export function mergeProps(...sources) {
169
179
  }
170
180
  return target;
171
181
  }
182
+ function shouldDebug() {
183
+ return typeof process !== "undefined" && !!process.env?.ALLOY_DEBUG;
184
+ }
172
185
  //# sourceMappingURL=jsx-runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-runtime.js","names":["pauseTracking","resetTracking","shallowRef","stop","effect","vueEffect","globalThis","ALLOY","Error","globalContext","getContext","root","fn","src","disposables","owner","context","ret","untrack","d","v","memo","equal","o","prev","res","value","current","cleanupFn","final","k","len","length","c","oldContext","cleanup","push","renderStack","shouldDebug","process","env","ALLOY_DEBUG","pushStack","component","props","popStack","pop","printRenderStack","console","error","i","name","inspectProps","JSON","stringify","Object","fromEntries","entries","map","key","safeValue","isComponentCreator","item","createComponent","C","creator","tag","taggedComponent","mergeProps","sources","target","source","descriptors","getOwnPropertyDescriptors","defineProperty","enumerable","get","s","undefined"],"sources":["../../src/jsx-runtime.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"jsx-runtime.js","names":["pauseTracking","resetTracking","shallowRef","stop","effect","vueEffect","globalThis","ALLOY","Error","globalContext","getContext","root","fn","componentOwner","disposables","owner","context","ret","untrack","d","v","memo","equal","o","prev","res","value","current","src","cleanupFn","final","k","len","length","c","oldContext","cleanup","push","renderStack","pushStack","component","props","shouldDebug","popStack","pop","printRenderStack","console","error","i","name","inspectProps","JSON","stringify","Object","fromEntries","entries","map","key","safeValue","isComponentCreator","item","JSX","jsx","type","createComponent","jsxs","C","creator","tag","taggedComponent","mergeProps","sources","target","source","descriptors","getOwnPropertyDescriptors","defineProperty","enumerable","get","s","undefined","process","env","ALLOY_DEBUG"],"sources":["../../src/jsx-runtime.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { Children, Context } from "@alloy-js/core/jsx-runtime";
1
+ import { Children, Context } from "./jsx-runtime.js";
2
2
  /**
3
3
  * The component tree is constructed as the result of transforming JSX with
4
4
  * `@alloy-js/babel-preset`. Elements in the component tree (represented by the type
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,OAAO,EASR,MAAM,4BAA4B,CAAC;AAQpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgIG;AAGH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,CAAC,eAAe,GAAG,UAAU,CAAC,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,cAAc,uBAE3D;AACD,MAAM,MAAM,eAAe,GAAG,EAAE,CAAC;AAEjC,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC;AAOzD,wBAAgB,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,eAAe,CAgE1D;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,kBAe5C"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/render.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,QAAQ,EACR,OAAO,EASR,MAAM,kBAAkB,CAAC;AAG1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgIG;AAGH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,CAAC,eAAe,GAAG,UAAU,CAAC,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,cAAc,uBAE3D;AACD,MAAM,MAAM,eAAe,GAAG,EAAE,CAAC;AAEjC,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC;AAOzD,wBAAgB,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,eAAe,CAgE1D;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,kBAe5C"}
@@ -1,9 +1,9 @@
1
- import { effect, getContext, isComponentCreator, popStack, printRenderStack, pushStack, root, untrack } from "@alloy-js/core/jsx-runtime";
2
1
  import { isRef } from "@vue/reactivity";
3
2
  import { Indent } from "./components/Indent.js";
4
3
  import { useContext } from "./context.js";
5
4
  import { IndentContext } from "./context/indent.js";
6
5
  import { SourceFileContext } from "./context/source-file.js";
6
+ import { effect, getContext, isComponentCreator, popStack, printRenderStack, pushStack, root, untrack } from "./jsx-runtime.js";
7
7
  import { isRefkey } from "./refkey.js";
8
8
 
9
9
  /**
@@ -204,7 +204,7 @@ export function renderTree(children) {
204
204
  try {
205
205
  root(() => {
206
206
  renderWorker(rootElem, children, state);
207
- }, "render worker");
207
+ });
208
208
  } catch (e) {
209
209
  printRenderStack();
210
210
  throw e;
@@ -212,7 +212,7 @@ export function renderTree(children) {
212
212
  return rootElem;
213
213
  }
214
214
  function renderWorker(node, children, state) {
215
- traceRender("render", dumpChildren(children));
215
+ traceRender("render", () => dumpChildren(children));
216
216
  if (Array.isArray(node)) {
217
217
  nodesToContext.set(node, getContext());
218
218
  }
@@ -226,7 +226,7 @@ function renderWorker(node, children, state) {
226
226
  }
227
227
  }
228
228
  function appendChild(node, rawChild, indentState, state) {
229
- traceRender("appendChild", printChild(rawChild));
229
+ traceRender("appendChild", () => printChild(rawChild));
230
230
  const child = normalizeChild(rawChild);
231
231
  if (typeof child === "string") {
232
232
  if (child.match(/\n\s*$/)) {
@@ -235,11 +235,11 @@ function appendChild(node, rawChild, indentState, state) {
235
235
  state.newline = false;
236
236
  }
237
237
  const reindented = reindent(child, indentState.indentString);
238
- traceRender("appendChild:string", JSON.stringify(reindented));
238
+ traceRender("appendChild:string", () => JSON.stringify(reindented));
239
239
  node.push(reindented);
240
240
  } else if (isComponentCreator(child)) {
241
241
  root(() => {
242
- traceRender("appendChild:component", printChild(child));
242
+ traceRender("appendChild:component", () => printChild(child));
243
243
  if (child.component === Indent && state.newline) {
244
244
  node.push(indentState.indent);
245
245
  }
@@ -248,13 +248,13 @@ function appendChild(node, rawChild, indentState, state) {
248
248
  renderWorker(componentRoot, untrack(child), state);
249
249
  popStack();
250
250
  node.push(componentRoot);
251
- traceRender("appendChild:component-done", printChild(child));
252
- }, child.component.name);
251
+ traceRender("appendChild:component-done", () => printChild(child));
252
+ }, child);
253
253
  } else if (typeof child === "function") {
254
- traceRender("appendChild:memo", child.toString());
254
+ traceRender("appendChild:memo", () => child.toString());
255
255
  const index = node.length;
256
256
  effect(prev => {
257
- traceRender("memoEffect:run", "");
257
+ traceRender("memoEffect:run", () => "");
258
258
  let res = child();
259
259
  while (typeof res === "function" && !isComponentCreator(res)) {
260
260
  res = res();
@@ -265,11 +265,11 @@ function appendChild(node, rawChild, indentState, state) {
265
265
  node[index] = newNodes;
266
266
  return newNodes;
267
267
  });
268
- traceRender("appendChild:memo-done", "");
268
+ traceRender("appendChild:memo-done", () => "");
269
269
  } else {
270
- traceRender("appendChild:array", dumpChildren(child));
270
+ traceRender("appendChild:array", () => dumpChildren(child));
271
271
  renderWorker(node, child, state);
272
- traceRender("appendChild:array-done", dumpChildren(child));
272
+ traceRender("appendChild:array-done", () => dumpChildren(child));
273
273
  }
274
274
  }
275
275
  function reindent(str, indent) {
@@ -310,6 +310,8 @@ function printChild(child) {
310
310
  return "<" + child.component.name + ">";
311
311
  } else if (typeof child === "function") {
312
312
  return "$memo";
313
+ } else if (isRef(child)) {
314
+ return "$ref";
313
315
  } else {
314
316
  return JSON.stringify(child);
315
317
  }
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","names":["effect","getContext","isComponentCreator","popStack","printRenderStack","pushStack","root","untrack","isRef","Indent","useContext","IndentContext","SourceFileContext","isRefkey","nodesToContext","WeakMap","getContextForRenderNode","node","get","traceRender","phase","message","render","children","tree","renderTree","rootDirectory","undefined","collectSourceFiles","Error","currentDirectory","Array","isArray","context","recurse","meta","directory","kind","path","contents","push","sourceFile","filetype","flat","Infinity","join","cwd","child","rootElem","state","newline","renderWorker","e","dumpChildren","set","indent","appendChild","rawChild","indentState","printChild","normalizeChild","match","reindented","reindent","indentString","JSON","stringify","component","componentRoot","props","name","toString","index","length","prev","res","newNodes","str","lines","split","slice","map","line","value","sfContext","reference","refkey","String"],"sources":["../../src/render.ts"],"sourcesContent":[null],"mappings":"AAAA,SAIEA,MAAM,EACNC,UAAU,EACVC,kBAAkB,EAClBC,QAAQ,EACRC,gBAAgB,EAChBC,SAAS,EACTC,IAAI,EACJC,OAAO,QACF,4BAA4B;AACnC,SAASC,KAAK,QAAQ,iBAAiB;AACvC,SAASC,MAAM,QAAqB,wBAAwB;AAC5D,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,aAAa,QAAQ,qBAAqB;AACnD,SAASC,iBAAiB,QAAQ,0BAA0B;AAC5D,SAASC,QAAQ,QAAQ,aAAa;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAcA,MAAMC,cAAc,GAAG,IAAIC,OAAO,CAA0B,CAAC;AAE7D,OAAO,SAASC,uBAAuBA,CAACC,IAAoB,EAAE;EAC5D,OAAOH,cAAc,CAACI,GAAG,CAACD,IAAI,CAAC;AACjC;AAKA,SAASE,WAAWA,CAACC,KAAa,EAAEC,OAAe,EAAE;EACnD,OAAO,KAAK;EACZ;AACF;AAEA,OAAO,SAASC,MAAMA,CAACC,QAAkB,EAAmB;EAC1D,MAAMC,IAAI,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","ignoreList":[]}
1
+ {"version":3,"file":"render.js","names":["isRef","Indent","useContext","IndentContext","SourceFileContext","effect","getContext","isComponentCreator","popStack","printRenderStack","pushStack","root","untrack","isRefkey","nodesToContext","WeakMap","getContextForRenderNode","node","get","traceRender","phase","message","render","children","tree","renderTree","rootDirectory","undefined","collectSourceFiles","Error","currentDirectory","Array","isArray","context","recurse","meta","directory","kind","path","contents","push","sourceFile","filetype","flat","Infinity","join","cwd","child","rootElem","state","newline","renderWorker","e","dumpChildren","set","indent","appendChild","rawChild","indentState","printChild","normalizeChild","match","reindented","reindent","indentString","JSON","stringify","component","componentRoot","props","toString","index","length","prev","res","newNodes","str","lines","split","slice","map","line","value","sfContext","reference","refkey","String","name"],"sources":["../../src/render.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,iBAAiB;AACvC,SAASC,MAAM,QAAqB,wBAAwB;AAC5D,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,aAAa,QAAQ,qBAAqB;AACnD,SAASC,iBAAiB,QAAQ,0BAA0B;AAC5D,SAIEC,MAAM,EACNC,UAAU,EACVC,kBAAkB,EAClBC,QAAQ,EACRC,gBAAgB,EAChBC,SAAS,EACTC,IAAI,EACJC,OAAO,QACF,kBAAkB;AACzB,SAASC,QAAQ,QAAQ,aAAa;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAcA,MAAMC,cAAc,GAAG,IAAIC,OAAO,CAA0B,CAAC;AAE7D,OAAO,SAASC,uBAAuBA,CAACC,IAAoB,EAAE;EAC5D,OAAOH,cAAc,CAACI,GAAG,CAACD,IAAI,CAAC;AACjC;AAKA,SAASE,WAAWA,CAACC,KAAa,EAAEC,OAAqB,EAAE;EACzD,OAAO,KAAK;EACZ;AACF;AAEA,OAAO,SAASC,MAAMA,CAACC,QAAkB,EAAmB;EAC1D,MAAMC,IAAI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","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ import { Ref } from "@vue/reactivity";
2
+ import { OutputSymbol } from "./binder.js";
3
+ import { Children, Component, ComponentDefinition } from "./jsx-runtime.js";
4
+ export interface SlotInstance extends ComponentDefinition {
5
+ }
6
+ export interface SlotDefinition<TSlotProps> {
7
+ find: (...args: any[]) => () => Ref<unknown>;
8
+ create(key: unknown, props: TSlotProps, defaultContent?: Children): ComponentDefinition;
9
+ }
10
+ export type SlotKey = Ref<unknown>;
11
+ export declare function defineSlot<TSlotProps, TFinder extends (...args: any[]) => Ref<unknown> | unknown = (...args: any[]) => Ref<unknown> | unknown>(finder: TFinder): SlotDefinition<TSlotProps>;
12
+ export declare const extensionEffects: (() => void)[];
13
+ export declare function replace<T>(slotKeyFn: () => SlotKey, replacement: Component<T>): void;
14
+ export declare function rename(slotKeyFn: () => Ref<OutputSymbol | undefined>, newName: string): void;
15
+ //# sourceMappingURL=slot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slot.d.ts","sourceRoot":"","sources":["../../src/slot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EACL,QAAQ,EACR,SAAS,EACT,mBAAmB,EAGpB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,YAAa,SAAQ,mBAAmB;CAAG;AAE5D,MAAM,WAAW,cAAc,CAAC,UAAU;IACxC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,CACJ,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,UAAU,EACjB,cAAc,CAAC,EAAE,QAAQ,GACxB,mBAAmB,CAAC;CACxB;AAED,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;AAInC,wBAAgB,UAAU,CACxB,UAAU,EACV,OAAO,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,CAC3D,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,GAAG,CAAC,OAAO,CAAC,GAAG,OAAO,EAC3B,MAAM,EAAE,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,CAsB7C;AAED,eAAO,MAAM,gBAAgB,EAAE,CAAC,MAAM,IAAI,CAAC,EAAO,CAAC;AAEnD,wBAAgB,OAAO,CAAC,CAAC,EACvB,SAAS,EAAE,MAAM,OAAO,EACxB,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,QAkB1B;AAED,wBAAgB,MAAM,CACpB,SAAS,EAAE,MAAM,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,EAC9C,OAAO,EAAE,MAAM,QAShB"}
@@ -0,0 +1,51 @@
1
+ import { ref } from "@vue/reactivity";
2
+ import { effect, memo } from "./jsx-runtime.js";
3
+ const slotMappers = new Map();
4
+ export function defineSlot(finder) {
5
+ return {
6
+ find: (...args) => () => ref(finder(...args)),
7
+ create(key, props, defaultContent) {
8
+ return function () {
9
+ return memo(() => {
10
+ if (key === undefined) {
11
+ return defaultContent;
12
+ }
13
+ const component = slotMappers.get(key);
14
+ if (!component) {
15
+ return defaultContent;
16
+ }
17
+ return component({
18
+ ...props,
19
+ original: defaultContent
20
+ });
21
+ });
22
+ };
23
+ }
24
+ };
25
+ }
26
+ export const extensionEffects = [];
27
+ export function replace(slotKeyFn, replacement) {
28
+ extensionEffects.push(() => {
29
+ effect(prev => {
30
+ if (prev) {
31
+ slotMappers.delete(prev.value);
32
+ }
33
+ const slotKey = slotKeyFn();
34
+ if (slotKey.value === undefined) {
35
+ return slotKey;
36
+ }
37
+ slotMappers.set(slotKey.value, replacement);
38
+ return slotKey;
39
+ });
40
+ });
41
+ }
42
+ export function rename(slotKeyFn, newName) {
43
+ extensionEffects.push(() => {
44
+ effect(() => {
45
+ const sym = slotKeyFn().value;
46
+ if (!sym) return;
47
+ sym.name = newName;
48
+ });
49
+ });
50
+ }
51
+ //# sourceMappingURL=slot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slot.js","names":["ref","effect","memo","slotMappers","Map","defineSlot","finder","find","args","create","key","props","defaultContent","undefined","component","get","original","extensionEffects","replace","slotKeyFn","replacement","push","prev","delete","value","slotKey","set","rename","newName","sym","name"],"sources":["../../src/slot.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAG,QAAa,iBAAiB;AAE1C,SAIEC,MAAM,EACNC,IAAI,QACC,kBAAkB;AAezB,MAAMC,WAAW,GAAG,IAAIC,GAAG,CAAoC,CAAC;AAEhE,OAAO,SAASC,UAAUA,CAKxBC,MAAe,EAA8B;EAC7C,OAAO;IACLC,IAAI,EAAGA,CAAC,GAAGC,IAAW,KACpB,MACER,GAAG,CAACM,MAAM,CAAC,GAAGE,IAAI,CAAC,CAAS;IAChCC,MAAMA,CAACC,GAAG,EAAEC,KAAK,EAAEC,cAAc,EAAE;MACjC,OAAO,YAAY;QACjB,OAAOV,IAAI,CAAC,MAAM;UAChB,IAAIQ,GAAG,KAAKG,SAAS,EAAE;YACrB,OAAOD,cAAc;UACvB;UAEA,MAAME,SAAS,GAAGX,WAAW,CAACY,GAAG,CAACL,GAAG,CAAC;UACtC,IAAI,CAACI,SAAS,EAAE;YACd,OAAOF,cAAc;UACvB;UAEA,OAAOE,SAAS,CAAC;YAAE,GAAGH,KAAK;YAAEK,QAAQ,EAAEJ;UAAe,CAAC,CAAC;QAC1D,CAAC,CAAC;MACJ,CAAC;IACH;EACF,CAAC;AACH;AAEA,OAAO,MAAMK,gBAAgC,GAAG,EAAE;AAElD,OAAO,SAASC,OAAOA,CACrBC,SAAwB,EACxBC,WAAyB,EACzB;EACAH,gBAAgB,CAACI,IAAI,CAAC,MAAM;IAC1BpB,MAAM,CAAEqB,IAAyB,IAAK;MACpC,IAAIA,IAAI,EAAE;QACRnB,WAAW,CAACoB,MAAM,CAACD,IAAI,CAACE,KAAK,CAAC;MAChC;MAEA,MAAMC,OAAO,GAAGN,SAAS,CAAC,CAAC;MAC3B,IAAIM,OAAO,CAACD,KAAK,KAAKX,SAAS,EAAE;QAC/B,OAAOY,OAAO;MAChB;MAEAtB,WAAW,CAACuB,GAAG,CAACD,OAAO,CAACD,KAAK,EAAEJ,WAAW,CAAC;MAE3C,OAAOK,OAAO;IAChB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAEA,OAAO,SAASE,MAAMA,CACpBR,SAA8C,EAC9CS,OAAe,EACf;EACAX,gBAAgB,CAACI,IAAI,CAAC,MAAM;IAC1BpB,MAAM,CAAC,MAAM;MACX,MAAM4B,GAAG,GAAGV,SAAS,CAAC,CAAC,CAACK,KAAK;MAC7B,IAAI,CAACK,GAAG,EAAE;MACVA,GAAG,CAACC,IAAI,GAAGF,OAAO;IACpB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ","ignoreList":[]}