@alloy-js/core 0.4.0 → 0.6.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 (228) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/babel.config.cjs +4 -1
  3. package/dist/src/binder.d.ts +20 -13
  4. package/dist/src/binder.d.ts.map +1 -1
  5. package/dist/src/binder.js +33 -15
  6. package/dist/src/binder.js.map +1 -1
  7. package/dist/src/code.d.ts +2 -2
  8. package/dist/src/code.d.ts.map +1 -1
  9. package/dist/src/code.js +4 -4
  10. package/dist/src/code.js.map +1 -1
  11. package/dist/src/components/Block.d.ts +25 -0
  12. package/dist/src/components/Block.d.ts.map +1 -0
  13. package/dist/src/components/Block.js +25 -0
  14. package/dist/src/components/Block.js.map +1 -0
  15. package/dist/src/components/Declaration.d.ts +1 -1
  16. package/dist/src/components/Declaration.d.ts.map +1 -1
  17. package/dist/src/components/Declaration.js +4 -0
  18. package/dist/src/components/Declaration.js.map +1 -1
  19. package/dist/src/components/For.d.ts +44 -0
  20. package/dist/src/components/For.d.ts.map +1 -0
  21. package/dist/src/components/For.js +41 -0
  22. package/dist/src/components/For.js.map +1 -0
  23. package/dist/src/components/Indent.d.ts +6 -10
  24. package/dist/src/components/Indent.d.ts.map +1 -1
  25. package/dist/src/components/Indent.js +7 -18
  26. package/dist/src/components/Indent.js.map +1 -1
  27. package/dist/src/components/List.d.ts +38 -0
  28. package/dist/src/components/List.d.ts.map +1 -0
  29. package/dist/src/components/List.js +40 -0
  30. package/dist/src/components/List.js.map +1 -0
  31. package/dist/src/components/MemberDeclaration.d.ts +1 -1
  32. package/dist/src/components/MemberDeclaration.d.ts.map +1 -1
  33. package/dist/src/components/MemberDeclaration.js.map +1 -1
  34. package/dist/src/components/MemberName.d.ts +1 -1
  35. package/dist/src/components/MemberName.d.ts.map +1 -1
  36. package/dist/src/components/MemberName.js +1 -1
  37. package/dist/src/components/MemberName.js.map +1 -1
  38. package/dist/src/components/MemberScope.d.ts +1 -1
  39. package/dist/src/components/MemberScope.d.ts.map +1 -1
  40. package/dist/src/components/MemberScope.js.map +1 -1
  41. package/dist/src/components/Name.d.ts +1 -1
  42. package/dist/src/components/Name.d.ts.map +1 -1
  43. package/dist/src/components/Name.js +1 -1
  44. package/dist/src/components/Name.js.map +1 -1
  45. package/dist/src/components/Output.d.ts +3 -2
  46. package/dist/src/components/Output.d.ts.map +1 -1
  47. package/dist/src/components/Output.js +12 -2
  48. package/dist/src/components/Output.js.map +1 -1
  49. package/dist/src/components/Scope.d.ts +1 -1
  50. package/dist/src/components/Scope.d.ts.map +1 -1
  51. package/dist/src/components/Scope.js.map +1 -1
  52. package/dist/src/components/Show.d.ts +8 -0
  53. package/dist/src/components/Show.d.ts.map +1 -0
  54. package/dist/src/components/Show.js +4 -0
  55. package/dist/src/components/Show.js.map +1 -0
  56. package/dist/src/components/SourceDirectory.d.ts +2 -2
  57. package/dist/src/components/SourceDirectory.d.ts.map +1 -1
  58. package/dist/src/components/SourceDirectory.js +1 -0
  59. package/dist/src/components/SourceDirectory.js.map +1 -1
  60. package/dist/src/components/SourceFile.d.ts +4 -8
  61. package/dist/src/components/SourceFile.d.ts.map +1 -1
  62. package/dist/src/components/SourceFile.js +6 -13
  63. package/dist/src/components/SourceFile.js.map +1 -1
  64. package/dist/src/components/StatementList.d.ts +9 -0
  65. package/dist/src/components/StatementList.d.ts.map +1 -0
  66. package/dist/src/components/StatementList.js +17 -0
  67. package/dist/src/components/StatementList.js.map +1 -0
  68. package/dist/src/components/Switch.d.ts +41 -0
  69. package/dist/src/components/Switch.d.ts.map +1 -0
  70. package/dist/src/components/Switch.js +41 -0
  71. package/dist/src/components/Switch.js.map +1 -0
  72. package/dist/src/components/Wrap.d.ts +20 -0
  73. package/dist/src/components/Wrap.d.ts.map +1 -0
  74. package/dist/src/components/Wrap.js +15 -0
  75. package/dist/src/components/Wrap.js.map +1 -0
  76. package/dist/src/components/index.d.ts +8 -1
  77. package/dist/src/components/index.d.ts.map +1 -1
  78. package/dist/src/components/index.js +7 -0
  79. package/dist/src/components/index.js.map +1 -1
  80. package/dist/src/components/stc/index.d.ts +89 -18
  81. package/dist/src/components/stc/index.d.ts.map +1 -1
  82. package/dist/src/components/stc/index.js +17 -1
  83. package/dist/src/components/stc/index.js.map +1 -1
  84. package/dist/src/context/index.d.ts +0 -1
  85. package/dist/src/context/index.d.ts.map +1 -1
  86. package/dist/src/context/index.js +0 -1
  87. package/dist/src/context/index.js.map +1 -1
  88. package/dist/src/context/member-declaration.d.ts +1 -0
  89. package/dist/src/context/member-declaration.d.ts.map +1 -1
  90. package/dist/src/context/member-declaration.js +4 -1
  91. package/dist/src/context/member-declaration.js.map +1 -1
  92. package/dist/src/context.d.ts.map +1 -1
  93. package/dist/src/context.js +3 -3
  94. package/dist/src/context.js.map +1 -1
  95. package/dist/src/index.browser.d.ts +3 -0
  96. package/dist/src/index.browser.d.ts.map +1 -0
  97. package/dist/src/index.browser.js +3 -0
  98. package/dist/src/index.browser.js.map +1 -0
  99. package/dist/src/index.d.ts +2 -0
  100. package/dist/src/index.d.ts.map +1 -1
  101. package/dist/src/index.js +2 -0
  102. package/dist/src/index.js.map +1 -1
  103. package/dist/src/jsx-runtime.d.ts +151 -7
  104. package/dist/src/jsx-runtime.d.ts.map +1 -1
  105. package/dist/src/jsx-runtime.js +113 -12
  106. package/dist/src/jsx-runtime.js.map +1 -1
  107. package/dist/src/render.d.ts +107 -132
  108. package/dist/src/render.d.ts.map +1 -1
  109. package/dist/src/render.js +272 -178
  110. package/dist/src/render.js.map +1 -1
  111. package/dist/src/stc.d.ts +14 -0
  112. package/dist/src/stc.d.ts.map +1 -0
  113. package/dist/src/stc.js +52 -0
  114. package/dist/src/stc.js.map +1 -0
  115. package/dist/src/tap.d.ts +19 -0
  116. package/dist/src/tap.d.ts.map +1 -0
  117. package/dist/src/tap.js +39 -0
  118. package/dist/src/tap.js.map +1 -0
  119. package/dist/src/utils.d.ts +22 -15
  120. package/dist/src/utils.d.ts.map +1 -1
  121. package/dist/src/utils.js +95 -59
  122. package/dist/src/utils.js.map +1 -1
  123. package/dist/test/browser-build.test.d.ts +2 -0
  124. package/dist/test/browser-build.test.d.ts.map +1 -0
  125. package/dist/test/components/block.test.d.ts +2 -0
  126. package/dist/test/components/block.test.d.ts.map +1 -0
  127. package/dist/test/components/declaration.test.d.ts +2 -0
  128. package/dist/test/components/declaration.test.d.ts.map +1 -0
  129. package/dist/test/components/list.test.d.ts +2 -0
  130. package/dist/test/components/list.test.d.ts.map +1 -0
  131. package/dist/test/components/wrap.test.d.ts +2 -0
  132. package/dist/test/components/wrap.test.d.ts.map +1 -0
  133. package/dist/test/control-flow/for.test.d.ts +2 -0
  134. package/dist/test/control-flow/for.test.d.ts.map +1 -0
  135. package/dist/test/control-flow/match.test.d.ts +2 -0
  136. package/dist/test/control-flow/match.test.d.ts.map +1 -0
  137. package/dist/test/control-flow/show.test.d.ts +2 -0
  138. package/dist/test/control-flow/show.test.d.ts.map +1 -0
  139. package/dist/test/reactivity/cleanup.test.d.ts +2 -0
  140. package/dist/test/reactivity/cleanup.test.d.ts.map +1 -0
  141. package/dist/test/reactivity/memo.test.d.ts +2 -0
  142. package/dist/test/reactivity/memo.test.d.ts.map +1 -0
  143. package/dist/test/reactivity/untrack.test.d.ts +2 -0
  144. package/dist/test/reactivity/untrack.test.d.ts.map +1 -0
  145. package/dist/test/rendering/formatting.test.d.ts +2 -0
  146. package/dist/test/rendering/formatting.test.d.ts.map +1 -0
  147. package/dist/test/rendering/memoization.test.d.ts +2 -0
  148. package/dist/test/rendering/memoization.test.d.ts.map +1 -0
  149. package/dist/test/split-props.test.d.ts +2 -0
  150. package/dist/test/split-props.test.d.ts.map +1 -0
  151. package/dist/test/stc.test.d.ts.map +1 -1
  152. package/dist/test/utils.test.d.ts.map +1 -1
  153. package/dist/testing/extend-expect.js +4 -4
  154. package/dist/testing/extend-expect.js.map +1 -1
  155. package/dist/testing/render.d.ts +2 -3
  156. package/dist/testing/render.d.ts.map +1 -1
  157. package/dist/testing/render.js +2 -4
  158. package/dist/testing/render.js.map +1 -1
  159. package/dist/tsconfig.tsbuildinfo +1 -1
  160. package/package.json +8 -9
  161. package/src/binder.ts +60 -50
  162. package/src/code.ts +17 -12
  163. package/src/components/Block.tsx +44 -0
  164. package/src/components/Declaration.tsx +10 -4
  165. package/src/components/For.tsx +81 -0
  166. package/src/components/Indent.tsx +20 -27
  167. package/src/components/List.tsx +94 -0
  168. package/src/components/MemberDeclaration.tsx +9 -6
  169. package/src/components/MemberScope.tsx +4 -2
  170. package/src/components/Output.tsx +27 -14
  171. package/src/components/Scope.tsx +4 -2
  172. package/src/components/Show.tsx +11 -0
  173. package/src/components/SourceDirectory.tsx +6 -2
  174. package/src/components/SourceFile.tsx +13 -17
  175. package/src/components/StatementList.tsx +16 -0
  176. package/src/components/Switch.tsx +62 -0
  177. package/src/components/Wrap.tsx +29 -0
  178. package/src/components/index.tsx +8 -1
  179. package/src/components/stc/index.ts +18 -1
  180. package/src/context/index.ts +0 -1
  181. package/src/context/member-declaration.ts +9 -1
  182. package/src/context.ts +2 -3
  183. package/src/index.browser.ts +2 -0
  184. package/src/index.ts +2 -0
  185. package/src/jsx-runtime.ts +265 -23
  186. package/src/render.ts +382 -200
  187. package/src/stc.ts +95 -0
  188. package/src/tap.ts +69 -0
  189. package/src/utils.ts +162 -95
  190. package/temp/api.json +8042 -1886
  191. package/test/browser-build.test.ts +91 -0
  192. package/test/children.test.tsx +8 -10
  193. package/test/components/block.test.tsx +48 -0
  194. package/test/components/declaration.test.tsx +37 -0
  195. package/test/components/list.test.tsx +91 -0
  196. package/test/components/slot.test.tsx +31 -25
  197. package/test/components/source-file.test.tsx +11 -31
  198. package/test/components/wrap.test.tsx +42 -0
  199. package/test/control-flow/for.test.tsx +194 -0
  200. package/test/control-flow/match.test.tsx +49 -0
  201. package/test/control-flow/show.test.tsx +25 -0
  202. package/test/name-policy.test.tsx +5 -5
  203. package/test/reactivity/cleanup.test.tsx +91 -0
  204. package/test/reactivity/memo.test.tsx +17 -0
  205. package/test/reactivity/ref-rendering.test.tsx +3 -8
  206. package/test/reactivity/test.test.tsx +7 -6
  207. package/test/reactivity/untrack.test.ts +33 -0
  208. package/test/rendering/basic.test.tsx +25 -47
  209. package/test/rendering/code.test.tsx +3 -3
  210. package/test/rendering/formatting.test.tsx +487 -0
  211. package/test/rendering/indent.test.tsx +42 -529
  212. package/test/rendering/memoization.test.tsx +30 -0
  213. package/test/split-props.test.ts +87 -0
  214. package/test/stc.test.tsx +29 -8
  215. package/test/symbols.test.ts +132 -3
  216. package/test/utils.test.tsx +129 -20
  217. package/testing/extend-expect.ts +14 -4
  218. package/testing/render.ts +2 -4
  219. package/testing/vitest.d.ts +6 -1
  220. package/vitest.config.ts +1 -1
  221. package/dist/src/context/indent.d.ts +0 -5
  222. package/dist/src/context/indent.d.ts.map +0 -1
  223. package/dist/src/context/indent.js +0 -8
  224. package/dist/src/context/indent.js.map +0 -1
  225. package/dist/test/rendering/linebreaks.test.d.ts +0 -2
  226. package/dist/test/rendering/linebreaks.test.d.ts.map +0 -1
  227. package/src/context/indent.ts +0 -17
  228. package/test/rendering/linebreaks.test.tsx +0 -72
@@ -1 +1 @@
1
- {"version":3,"file":"Indent.d.ts","sourceRoot":"","sources":["../../../src/components/Indent.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,OAgBxC"}
1
+ {"version":3,"file":"Indent.d.ts","sourceRoot":"","sources":["../../../src/components/Indent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AACD,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,YAiBxC"}
@@ -1,23 +1,12 @@
1
- import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
- import { useContext } from "../context.js";
3
- import { IndentContext } from "../context/indent.js";
1
+ import { memo as _$memo } from "@alloy-js/core/jsx-runtime";
2
+ import { createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
4
3
  export function Indent(props) {
5
- const previousIndent = useContext(IndentContext) ?? {
6
- level: 0,
7
- indent: props.indent ?? " ",
8
- indentString: ""
9
- };
10
- const level = previousIndent.level + 1;
11
- const currentIndent = {
12
- level,
13
- indent: props.indent ?? previousIndent.indent,
14
- indentString: (props.indent ?? previousIndent.indent).repeat(level)
15
- };
16
- return _$createComponent(IndentContext.Provider, {
17
- value: currentIndent,
4
+ const breakStyle = props.break ?? "hard";
5
+ const breakElem = props.nobreak ? "" : breakStyle === "hard" ? _$createIntrinsic("hbr", {}) : breakStyle === "soft" ? _$createIntrinsic("sbr", {}) : _$createIntrinsic("br", {});
6
+ return [_$createIntrinsic("indent", {
18
7
  get children() {
19
- return props.children;
8
+ return [breakElem, _$memo(() => props.children)];
20
9
  }
21
- });
10
+ }), _$memo(() => props.trailingBreak && breakElem)];
22
11
  }
23
12
  //# sourceMappingURL=Indent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Indent.js","names":["useContext","IndentContext","Indent","props","previousIndent","level","indent","indentString","currentIndent","repeat","_$createComponent","Provider","value","children"],"sources":["../../../src/components/Indent.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,UAAU,QAAQ,eAAe;AAC1C,SAASC,aAAa,QAAQ,sBAAsB;AAepD,OAAO,SAASC,MAAMA,CAACC,KAAkB,EAAE;EACzC,MAAMC,cAAc,GAAGJ,UAAU,CAACC,aAAa,CAAC,IAAI;IAClDI,KAAK,EAAE,CAAC;IACRC,MAAM,EAAEH,KAAK,CAACG,MAAM,IAAI,IAAI;IAC5BC,YAAY,EAAE;EAChB,CAAC;EAED,MAAMF,KAAK,GAAGD,cAAc,CAACC,KAAK,GAAG,CAAC;EAEtC,MAAMG,aAAa,GAAG;IACpBH,KAAK;IACLC,MAAM,EAAEH,KAAK,CAACG,MAAM,IAAIF,cAAc,CAACE,MAAM;IAC7CC,YAAY,EAAE,CAACJ,KAAK,CAACG,MAAM,IAAIF,cAAc,CAACE,MAAM,EAAEG,MAAM,CAACJ,KAAK;EACpE,CAAC;EAED,OAAAK,iBAAA,CAAQT,aAAa,CAACU,QAAQ;IAACC,KAAK,EAAEJ,aAAa;IAAA,IAAAK,SAAA;MAAA,OAAGV,KAAK,CAACU,QAAQ;IAAA;EAAA;AACtE","ignoreList":[]}
1
+ {"version":3,"file":"Indent.js","names":["Indent","props","breakStyle","break","breakElem","nobreak","_$createIntrinsic","children","_$memo","trailingBreak"],"sources":["../../../src/components/Indent.tsx"],"sourcesContent":[null],"mappings":";;AAQA,OAAO,SAASA,MAAMA,CAACC,KAAkB,EAAE;EACzC,MAAMC,UAAU,GAAGD,KAAK,CAACE,KAAK,IAAI,MAAM;EACxC,MAAMC,SAAS,GACbH,KAAK,CAACI,OAAO,GAAG,EAAE,GAChBH,UAAU,KAAK,MAAM,GAAAI,iBAAA,cACrBJ,UAAU,KAAK,MAAM,GAAAI,iBAAA,cAAAA,iBAAA,UACf;EAEV,QAAAA,iBAAA;IAAA,IAAAC,SAAA;MAAA,QAGOH,SAAS,EAAAI,MAAA,OACTP,KAAK,CAACM,QAAQ;IAAA;EAAA,IAAAC,MAAA,OAEhBP,KAAK,CAACQ,aAAa,IAAIL,SAAS;AAGvC","ignoreList":[]}
@@ -0,0 +1,38 @@
1
+ import { Children } from "@alloy-js/core/jsx-runtime";
2
+ import { JoinOptions } from "../utils.js";
3
+ export type BreakKind = "none" | "space" | "soft" | "hard" | "literal";
4
+ export interface BaseListProps {
5
+ /** Text to place between each element */
6
+ joiner?: Children;
7
+ /** Place a comma between each element */
8
+ comma?: boolean;
9
+ /** Place a semicolon between each element */
10
+ semicolon?: boolean;
11
+ line?: boolean;
12
+ softline?: boolean;
13
+ hardline?: boolean;
14
+ literalline?: boolean;
15
+ space?: boolean;
16
+ /**
17
+ * Text to place at the end of the list when there is at least one item. If
18
+ * set to true, the joiner is used.
19
+ **/
20
+ ender?: Children;
21
+ /**
22
+ * Place the join punctuation at the end, but without a line break.
23
+ */
24
+ enderPunctuation?: boolean;
25
+ }
26
+ export declare function baseListPropsToMapJoinArgs(props: BaseListProps): JoinOptions;
27
+ export interface ListProps extends BaseListProps {
28
+ children?: Children;
29
+ }
30
+ /**
31
+ * Create a list of children with text between each child. The text to join with
32
+ * is specified by providing either `joiner` children, or providing boolean
33
+ * props for the punctuation and line breaks. The default joiner is no
34
+ * punctuation and a hard break. The `ender` prop can provide text to place at
35
+ * the end of the list when there is at least one child.
36
+ */
37
+ export declare function List(props: ListProps): Children;
38
+ //# sourceMappingURL=List.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../src/components/List.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAoB,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAiB,WAAW,EAAE,MAAM,aAAa,CAAC;AAGzD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAEvE,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,MAAM,CAAC,EAAE,QAAQ,CAAC;IAElB,yCAAyC;IACzC,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;QAGI;IACJ,KAAK,CAAC,EAAE,QAAQ,CAAC;IAEjB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,GAAG,WAAW,CAkC5E;AAED,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,YAYpC"}
@@ -0,0 +1,40 @@
1
+ import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
+ import { mergeProps as _$mergeProps } from "@alloy-js/core/jsx-runtime";
3
+ import { createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
4
+ import { memo as _$memo } from "@alloy-js/core/jsx-runtime";
5
+ import { memo, splitProps } from "@alloy-js/core/jsx-runtime";
6
+ import { childrenArray } from "../utils.js";
7
+ import { For } from "./For.js";
8
+ export function baseListPropsToMapJoinArgs(props) {
9
+ let joiner, punctuation;
10
+ if ("joiner" in props) {
11
+ joiner = props.joiner;
12
+ } else {
13
+ punctuation = props.comma ? "," : props.semicolon ? ";" : "";
14
+ joiner = [punctuation, _$memo(() => _$memo(() => !!props.softline)() ? _$createIntrinsic("sbr", {}) : _$memo(() => !!props.hardline)() ? _$createIntrinsic("hbr", {}) : _$memo(() => !!props.literalline)() ? _$createIntrinsic("lbr", {}) : _$memo(() => !!props.line)() ? _$createIntrinsic("br", {}) : _$memo(() => !!props.space)() ? [" "] : _$createIntrinsic("hbr", {}))];
15
+ }
16
+ const ender = "ender" in props ? props.ender : props.enderPunctuation ? punctuation : undefined;
17
+ return {
18
+ joiner,
19
+ ender
20
+ };
21
+ }
22
+ /**
23
+ * Create a list of children with text between each child. The text to join with
24
+ * is specified by providing either `joiner` children, or providing boolean
25
+ * props for the punctuation and line breaks. The default joiner is no
26
+ * punctuation and a hard break. The `ender` prop can provide text to place at
27
+ * the end of the list when there is at least one child.
28
+ */
29
+ export function List(props) {
30
+ const [rest, forProps] = splitProps(props, ["children"]);
31
+ const resolvedChildren = memo(() => childrenArray(() => rest.children, {
32
+ preserveFragments: true
33
+ }));
34
+ return _$createComponent(For, _$mergeProps({
35
+ each: resolvedChildren
36
+ }, forProps, {
37
+ children: child => child
38
+ }));
39
+ }
40
+ //# sourceMappingURL=List.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"List.js","names":["memo","splitProps","childrenArray","For","baseListPropsToMapJoinArgs","props","joiner","punctuation","comma","semicolon","_$memo","softline","_$createIntrinsic","hardline","literalline","line","space","ender","enderPunctuation","undefined","List","rest","forProps","resolvedChildren","children","preserveFragments","_$createComponent","_$mergeProps","each","child"],"sources":["../../../src/components/List.tsx"],"sourcesContent":[null],"mappings":";;;;AAAA,SAAmBA,IAAI,EAAEC,UAAU,QAAQ,4BAA4B;AACvE,SAASC,aAAa,QAAqB,aAAa;AACxD,SAASC,GAAG;AAgCZ,OAAO,SAASC,0BAA0BA,CAACC,KAAoB,EAAe;EAC5E,IAAIC,MAAM,EAAEC,WAAW;EACvB,IAAI,QAAQ,IAAIF,KAAK,EAAE;IACrBC,MAAM,GAAGD,KAAK,CAACC,MAAM;EACvB,CAAC,MAAM;IACLC,WAAW,GACTF,KAAK,CAACG,KAAK,GAAG,GAAG,GACfH,KAAK,CAACI,SAAS,GAAG,GAAG,GACrB,EAAE;IAENH,MAAM,IAEDC,WAAW,EAAAG,MAAA,OACXA,MAAA,SAAAL,KAAK,CAACM,QAAQ,MAAAC,iBAAA,cAEbF,MAAA,SAAAL,KAAK,CAACQ,QAAQ,MAAAD,iBAAA,cAEdF,MAAA,SAAAL,KAAK,CAACS,WAAW,MAAAF,iBAAA,cAEjBF,MAAA,SAAAL,KAAK,CAACU,IAAI,MAAAH,iBAAA,aAEVF,MAAA,SAAAL,KAAK,CAACW,KAAK,cAAAJ,iBAAA,WAEJ,EAEZ;EACH;EAEA,MAAMK,KAAK,GACT,OAAO,IAAIZ,KAAK,GAAGA,KAAK,CAACY,KAAK,GAC5BZ,KAAK,CAACa,gBAAgB,GAAGX,WAAW,GACpCY,SAAS;EAEb,OAAO;IAAEb,MAAM;IAAEW;EAAM,CAAC;AAC1B;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,IAAIA,CAACf,KAAgB,EAAE;EACrC,MAAM,CAACgB,IAAI,EAAEC,QAAQ,CAAC,GAAGrB,UAAU,CAACI,KAAK,EAAE,CAAC,UAAU,CAAC,CAAC;EACxD,MAAMkB,gBAAgB,GAAGvB,IAAI,CAAC,MAC5BE,aAAa,CAAC,MAAMmB,IAAI,CAACG,QAAQ,EAAE;IACjCC,iBAAiB,EAAE;EACrB,CAAC,CACH,CAAC;EACD,OAAAC,iBAAA,CACGvB,GAAG,EAAAwB,YAAA;IAACC,IAAI,EAAEL;EAAgB,GAAMD,QAAQ;IAAAE,QAAA,EACrCK,KAAK,IAAKA;EAAK;AAGvB","ignoreList":[]}
@@ -26,5 +26,5 @@ export interface MemberDeclarationProps {
26
26
  *
27
27
  * @see {@link BinderContext}
28
28
  */
29
- export declare function MemberDeclaration(props: MemberDeclarationProps): any;
29
+ export declare function MemberDeclaration(props: MemberDeclarationProps): Children;
30
30
  //# sourceMappingURL=MemberDeclaration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemberDeclaration.d.ts","sourceRoot":"","sources":["../../../src/components/MemberDeclaration.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqB,MAAM,cAAc,CAAC;AAI/D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAU,MAAM,cAAc,CAAC;AAE9C,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,OA4B9D"}
1
+ {"version":3,"file":"MemberDeclaration.d.ts","sourceRoot":"","sources":["../../../src/components/MemberDeclaration.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqB,MAAM,cAAc,CAAC;AAI/D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAU,MAAM,cAAc,CAAC;AAE9C,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,YA+B9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"MemberDeclaration.js","names":["OutputSymbolFlags","useContext","BinderContext","MemberDeclarationContext","refkey","MemberDeclaration","props","binder","Error","declaration","symbol","name","rk","createSymbol","flags","static","StaticMember","InstanceMember","_$createComponent","Provider","value","children"],"sources":["../../../src/components/MemberDeclaration.tsx"],"sourcesContent":[null],"mappings":";;AAAA,SAAuBA,iBAAiB,QAAQ,cAAc;AAC9D,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,wBAAwB,QAAQ,kCAAkC;AAE3E,SAAiBC,MAAM,QAAQ,cAAc;AAU7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,KAA6B,EAAE;EAC/D,MAAMC,MAAM,GAAGN,UAAU,CAACC,aAAa,CAAC;EACxC,IAAI,CAACK,MAAM,EAAE;IACX,MAAM,IAAIC,KAAK,CAAC,4CAA4C,CAAC;EAC/D;EAEA,IAAIC,WAAW;EACf,IAAIH,KAAK,CAACI,MAAM,EAAE;IAChBD,WAAW,GAAGH,KAAK,CAACI,MAAM;EAC5B,CAAC,MAAM;IACL,IAAI,CAACJ,KAAK,CAACK,IAAI,EAAE;MACf,MAAM,IAAIH,KAAK,CACb,6DACF,CAAC;IACH;IACA,MAAMI,EAAE,GAAGN,KAAK,CAACF,MAAM,GAAGE,KAAK,CAACF,MAAM,GAAGA,MAAM,CAACE,KAAK,CAACK,IAAI,CAAC;IAC3DF,WAAW,GAAGF,MAAM,CAACM,YAAY,CAAC;MAChCF,IAAI,EAAEL,KAAK,CAACK,IAAK;MACjBP,MAAM,EAAEQ,EAAE;MACVE,KAAK,EAAER,KAAK,CAACS,MAAM,GACjBf,iBAAiB,CAACgB,YAAY,GAC9BhB,iBAAiB,CAACiB;IACtB,CAAC,CAAC;EACJ;EAEA,OAAAC,iBAAA,CAAQf,wBAAwB,CAACgB,QAAQ;IAACC,KAAK,EAAEX,WAAW;IAAA,IAAAY,SAAA;MAAA,OACzDf,KAAK,CAACe,QAAQ;IAAA;EAAA;AAEnB","ignoreList":[]}
1
+ {"version":3,"file":"MemberDeclaration.js","names":["OutputSymbolFlags","useContext","BinderContext","MemberDeclarationContext","refkey","MemberDeclaration","props","binder","Error","declaration","symbol","name","rk","createSymbol","flags","static","StaticMember","InstanceMember","_$createComponent","Provider","value","children"],"sources":["../../../src/components/MemberDeclaration.tsx"],"sourcesContent":[null],"mappings":";;AAAA,SAAuBA,iBAAiB,QAAQ,cAAc;AAC9D,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,wBAAwB,QAAQ,kCAAkC;AAE3E,SAAiBC,MAAM,QAAQ,cAAc;AAU7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,KAA6B,EAAE;EAC/D,MAAMC,MAAM,GAAGN,UAAU,CAACC,aAAa,CAAC;EACxC,IAAI,CAACK,MAAM,EAAE;IACX,MAAM,IAAIC,KAAK,CAAC,4CAA4C,CAAC;EAC/D;EAEA,IAAIC,WAAW;EACf,IAAIH,KAAK,CAACI,MAAM,EAAE;IAChBD,WAAW,GAAGH,KAAK,CAACI,MAAM;EAC5B,CAAC,MAAM;IACL,IAAI,CAACJ,KAAK,CAACK,IAAI,EAAE;MACf,MAAM,IAAIH,KAAK,CACb,6DACF,CAAC;IACH;IACA,MAAMI,EAAE,GAAGN,KAAK,CAACF,MAAM,GAAGE,KAAK,CAACF,MAAM,GAAGA,MAAM,CAACE,KAAK,CAACK,IAAI,CAAC;IAC3DF,WAAW,GAAGF,MAAM,CAACM,YAAY,CAAC;MAChCF,IAAI,EAAEL,KAAK,CAACK,IAAK;MACjBP,MAAM,EAAEQ,EAAE;MACVE,KAAK,EACHR,KAAK,CAACS,MAAM,GACVf,iBAAiB,CAACgB,YAAY,GAC9BhB,iBAAiB,CAACiB;IACxB,CAAC,CAAC;EACJ;EAEA,OAAAC,iBAAA,CACGf,wBAAwB,CAACgB,QAAQ;IAACC,KAAK,EAAEX,WAAW;IAAA,IAAAY,SAAA;MAAA,OAClDf,KAAK,CAACe,QAAQ;IAAA;EAAA;AAGrB","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export declare function MemberName(): any;
1
+ export declare function MemberName(): import("@alloy-js/core/jsx-runtime").Children;
2
2
  //# sourceMappingURL=MemberName.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemberName.d.ts","sourceRoot":"","sources":["../../../src/components/MemberName.tsx"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,QAOzB"}
1
+ {"version":3,"file":"MemberName.d.ts","sourceRoot":"","sources":["../../../src/components/MemberName.tsx"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,kDAOzB"}
@@ -6,6 +6,6 @@ export function MemberName() {
6
6
  if (!declSymbol) {
7
7
  return "(no member declaration context)";
8
8
  }
9
- return _$memo(() => declSymbol.name);
9
+ return [_$memo(() => declSymbol.name)];
10
10
  }
11
11
  //# sourceMappingURL=MemberName.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemberName.js","names":["useContext","MemberDeclarationContext","MemberName","declSymbol","_$memo","name"],"sources":["../../../src/components/MemberName.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,UAAU,QAAQ,eAAe;AAC1C,SAASC,wBAAwB,QAAQ,kCAAkC;AAE3E,OAAO,SAASC,UAAUA,CAAA,EAAG;EAC3B,MAAMC,UAAU,GAAGH,UAAU,CAACC,wBAAwB,CAAC;EACvD,IAAI,CAACE,UAAU,EAAE;IACf,OAAO,iCAAiC;EAC1C;EAEA,OAAAC,MAAA,OAAUD,UAAU,CAACE,IAAI;AAC3B","ignoreList":[]}
1
+ {"version":3,"file":"MemberName.js","names":["useContext","MemberDeclarationContext","MemberName","declSymbol","_$memo","name"],"sources":["../../../src/components/MemberName.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,UAAU,QAAQ,eAAe;AAC1C,SAASC,wBAAwB,QAAQ,kCAAkC;AAE3E,OAAO,SAASC,UAAUA,CAAA,EAAG;EAC3B,MAAMC,UAAU,GAAGH,UAAU,CAACC,wBAAwB,CAAC;EACvD,IAAI,CAACE,UAAU,EAAE;IACf,OAAO,iCAAiC;EAC1C;EAEA,QAAAC,MAAA,OAAUD,UAAU,CAACE,IAAI;AAC3B","ignoreList":[]}
@@ -23,5 +23,5 @@ export interface MemberScopeProps {
23
23
  * The member scope contains scopes for both instance and static members.
24
24
  * However, it does not affect the resolution of static members.
25
25
  */
26
- export declare function MemberScope(props: MemberScopeProps): any;
26
+ export declare function MemberScope(props: MemberScopeProps): Children;
27
27
  //# sourceMappingURL=MemberScope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemberScope.d.ts","sourceRoot":"","sources":["../../../src/components/MemberScope.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAK7C,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,OAQlD"}
1
+ {"version":3,"file":"MemberScope.d.ts","sourceRoot":"","sources":["../../../src/components/MemberScope.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAK7C,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,YAUlD"}
@@ -1 +1 @@
1
- {"version":3,"file":"MemberScope.js","names":["MemberScopeContext","MemberScope","props","context","instanceMembers","owner","instanceMemberScope","staticMembers","staticMemberScope","_$createComponent","Provider","value","children"],"sources":["../../../src/components/MemberScope.tsx"],"sourcesContent":[null],"mappings":";;AAGA;;AAEA,SAASA,kBAAkB,QAAQ,4BAA4B;AAgB/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAACC,KAAuB,EAAE;EACnD,MAAMC,OAA2B,GAAG;IAClCC,eAAe,EAAEF,KAAK,CAACG,KAAK,CAACC,mBAAmB;IAChDC,aAAa,EAAEL,KAAK,CAACG,KAAK,CAACG;EAC7B,CAAC;EACD,OAAAC,iBAAA,CAAQT,kBAAkB,CAACU,QAAQ;IAACC,KAAK,EAAER,OAAO;IAAA,IAAAS,SAAA;MAAA,OAC7CV,KAAK,CAACU,QAAQ;IAAA;EAAA;AAErB","ignoreList":[]}
1
+ {"version":3,"file":"MemberScope.js","names":["MemberScopeContext","MemberScope","props","context","instanceMembers","owner","instanceMemberScope","staticMembers","staticMemberScope","_$createComponent","Provider","value","children"],"sources":["../../../src/components/MemberScope.tsx"],"sourcesContent":[null],"mappings":";;AAGA;;AAEA,SAASA,kBAAkB,QAAQ,4BAA4B;AAgB/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAACC,KAAuB,EAAE;EACnD,MAAMC,OAA2B,GAAG;IAClCC,eAAe,EAAEF,KAAK,CAACG,KAAK,CAACC,mBAAmB;IAChDC,aAAa,EAAEL,KAAK,CAACG,KAAK,CAACG;EAC7B,CAAC;EACD,OAAAC,iBAAA,CACGT,kBAAkB,CAACU,QAAQ;IAACC,KAAK,EAAER,OAAO;IAAA,IAAAS,SAAA;MAAA,OACxCV,KAAK,CAACU,QAAQ;IAAA;EAAA;AAGrB","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export declare function Name(): any;
1
+ export declare function Name(): import("@alloy-js/core/jsx-runtime").Children;
2
2
  //# sourceMappingURL=Name.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Name.d.ts","sourceRoot":"","sources":["../../../src/components/Name.tsx"],"names":[],"mappings":"AAGA,wBAAgB,IAAI,QAOnB"}
1
+ {"version":3,"file":"Name.d.ts","sourceRoot":"","sources":["../../../src/components/Name.tsx"],"names":[],"mappings":"AAGA,wBAAgB,IAAI,kDAOnB"}
@@ -6,6 +6,6 @@ export function Name() {
6
6
  if (!declSymbol) {
7
7
  return "";
8
8
  }
9
- return _$memo(() => declSymbol.name);
9
+ return [_$memo(() => declSymbol.name)];
10
10
  }
11
11
  //# sourceMappingURL=Name.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Name.js","names":["useContext","DeclarationContext","Name","declSymbol","_$memo","name"],"sources":["../../../src/components/Name.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,UAAU,QAAQ,eAAe;AAC1C,SAASC,kBAAkB,QAAQ,2BAA2B;AAE9D,OAAO,SAASC,IAAIA,CAAA,EAAG;EACrB,MAAMC,UAAU,GAAGH,UAAU,CAACC,kBAAkB,CAAC;EACjD,IAAI,CAACE,UAAU,EAAE;IACf,OAAO,EAAE;EACX;EAEA,OAAAC,MAAA,OAAUD,UAAU,CAACE,IAAI;AAC3B","ignoreList":[]}
1
+ {"version":3,"file":"Name.js","names":["useContext","DeclarationContext","Name","declSymbol","_$memo","name"],"sources":["../../../src/components/Name.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,UAAU,QAAQ,eAAe;AAC1C,SAASC,kBAAkB,QAAQ,2BAA2B;AAE9D,OAAO,SAASC,IAAIA,CAAA,EAAG;EACrB,MAAMC,UAAU,GAAGH,UAAU,CAACC,kBAAkB,CAAC;EACjD,IAAI,CAACE,UAAU,EAAE;IACf,OAAO,EAAE;EACX;EAEA,QAAAC,MAAA,OAAUD,UAAU,CAACE,IAAI;AAC3B","ignoreList":[]}
@@ -1,7 +1,8 @@
1
1
  import { SymbolCreator } from "../binder.js";
2
2
  import { Children } from "../jsx-runtime.js";
3
3
  import { NamePolicy } from "../name-policy.js";
4
- export interface OutputProps {
4
+ import { PrintTreeOptions } from "../render.js";
5
+ export interface OutputProps extends PrintTreeOptions {
5
6
  children?: Children;
6
7
  /**
7
8
  * External libraries whose symbols should be available for reference.
@@ -27,5 +28,5 @@ export interface OutputProps {
27
28
  *
28
29
  * @see {@link NamePolicyContext}
29
30
  */
30
- export declare function Output(props: OutputProps): any;
31
+ export declare function Output(props: OutputProps): Children;
31
32
  //# sourceMappingURL=Output.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Output.d.ts","sourceRoot":"","sources":["../../../src/components/Output.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,aAAa,EACd,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAM/C,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAE5B;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAEhC;;OAEG;IACH,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAE9D;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,OAyBxC"}
1
+ {"version":3,"file":"Output.d.ts","sourceRoot":"","sources":["../../../src/components/Output.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,aAAa,EACd,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,QAAQ,EAAc,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAOhD,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACnD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAE5B;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAEhC;;OAEG;IACH,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAE9D;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,YAoCxC"}
@@ -1,11 +1,14 @@
1
- import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
1
  import { memo as _$memo } from "@alloy-js/core/jsx-runtime";
2
+ import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
3
3
  import { createOutputBinder, getSymbolCreator } from "../binder.js";
4
4
  import { BinderContext } from "../context/binder.js";
5
5
  import { NamePolicyContext } from "../context/name-policy.js";
6
+ import { getContext } from "../jsx-runtime.js";
7
+ import { extensionEffects } from "../slot.js";
6
8
  import { SourceDirectory } from "./SourceDirectory.js";
9
+
7
10
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
8
- import { extensionEffects } from "../slot.js";
11
+
9
12
  /**
10
13
  * This component is the root component for all your emitted output. Place your
11
14
  * various {@link SourceDirectory} and {@link SourceFile} components inside
@@ -18,6 +21,13 @@ export function Output(props) {
18
21
  const binder = createOutputBinder({
19
22
  nameConflictResolver: props.nameConflictResolver
20
23
  });
24
+ const nodeContext = getContext();
25
+ nodeContext.meta ??= {};
26
+ nodeContext.meta.printOptions = {
27
+ printWidth: props.printWidth,
28
+ tabWidth: props.tabWidth,
29
+ useTabs: props.useTabs
30
+ };
21
31
  const dir = _$createComponent(SourceDirectory, {
22
32
  path: basePath,
23
33
  get children() {
@@ -1 +1 @@
1
- {"version":3,"file":"Output.js","names":["createOutputBinder","getSymbolCreator","BinderContext","NamePolicyContext","SourceDirectory","extensionEffects","Output","props","basePath","binder","nameConflictResolver","dir","_$createComponent","path","children","externals","global","Provider","value","forEach","e","_$memo","namePolicy"],"sources":["../../../src/components/Output.tsx"],"sourcesContent":[null],"mappings":";;AAAA,SACEA,kBAAkB,EAClBC,gBAAgB,QAEX,cAAc;AACrB,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,iBAAiB,QAAQ,2BAA2B;AAG7D,SAASC,eAAe,QAAQ,sBAAsB;AACtD;AACA,SAASC,gBAAgB,QAAQ,YAAY;AA0B7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,MAAMA,CAACC,KAAkB,EAAE;EACzC,MAAMC,QAAQ,GAAGD,KAAK,CAACC,QAAQ,IAAI,IAAI;EACvC,MAAMC,MAAM,GAAGT,kBAAkB,CAAC;IAChCU,oBAAoB,EAAEH,KAAK,CAACG;EAC9B,CAAC,CAAC;EACF,MAAMC,GAAG,GAAAC,iBAAA,CACNR,eAAe;IAACS,IAAI,EAAEL,QAAQ;IAAA,IAAAM,SAAA;MAAA,OAC9BP,KAAK,CAACO,QAAQ;IAAA;EAAA,EACC;EAElB,IAAIP,KAAK,CAACQ,SAAS,EAAE;IACnB,KAAK,MAAMC,MAAM,IAAIT,KAAK,CAACQ,SAAS,EAAE;MACpCd,gBAAgB,CAACe,MAAM,CAAC,CAACP,MAAM,CAAC;IAClC;EACF;EAEA,OAAAG,iBAAA,CAAQV,aAAa,CAACe,QAAQ;IAACC,KAAK,EAAET,MAAM;IAAA,IAAAK,SAAA;MAAA,QACzC,MAAM;QAAET,gBAAgB,CAACc,OAAO,CAACC,CAAC,IAAIA,CAAC,CAAC,CAAC,CAAC;MAAA,CAAC,EAAAC,MAAA,OAC1CA,MAAA,SAAAd,KAAK,CAACe,UAAU,MAAAV,iBAAA,CACbT,iBAAiB,CAACc,QAAQ;QAAA,IAACC,KAAKA,CAAA;UAAA,OAAEX,KAAK,CAACe,UAAU;QAAA;QAAAR,QAAA,EAChDH;MAAG,KAENA,GAAG;IAAA;EAAA;AAGX","ignoreList":[]}
1
+ {"version":3,"file":"Output.js","names":["createOutputBinder","getSymbolCreator","BinderContext","NamePolicyContext","getContext","extensionEffects","SourceDirectory","Output","props","basePath","binder","nameConflictResolver","nodeContext","meta","printOptions","printWidth","tabWidth","useTabs","dir","_$createComponent","path","children","externals","global","Provider","value","forEach","e","_$memo","namePolicy"],"sources":["../../../src/components/Output.tsx"],"sourcesContent":[null],"mappings":";;AAAA,SACEA,kBAAkB,EAClBC,gBAAgB,QAEX,cAAc;AACrB,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,iBAAiB,QAAQ,2BAA2B;AAC7D,SAAmBC,UAAU,QAAQ,mBAAmB;AAGxD,SAASC,gBAAgB,QAAQ,YAAY;AAC7C,SAASC,eAAe,QAAQ,sBAAsB;;AAEtD;;AA0BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,MAAMA,CAACC,KAAkB,EAAE;EACzC,MAAMC,QAAQ,GAAGD,KAAK,CAACC,QAAQ,IAAI,IAAI;EACvC,MAAMC,MAAM,GAAGV,kBAAkB,CAAC;IAChCW,oBAAoB,EAAEH,KAAK,CAACG;EAC9B,CAAC,CAAC;EAEF,MAAMC,WAAW,GAAGR,UAAU,CAAC,CAAE;EACjCQ,WAAW,CAACC,IAAI,KAAK,CAAC,CAAC;EACvBD,WAAW,CAACC,IAAI,CAACC,YAAY,GAAG;IAC9BC,UAAU,EAAEP,KAAK,CAACO,UAAU;IAC5BC,QAAQ,EAAER,KAAK,CAACQ,QAAQ;IACxBC,OAAO,EAAET,KAAK,CAACS;EACjB,CAAC;EAED,MAAMC,GAAG,GAAAC,iBAAA,CACNb,eAAe;IAACc,IAAI,EAAEX,QAAQ;IAAA,IAAAY,SAAA;MAAA,OAAGb,KAAK,CAACa,QAAQ;IAAA;EAAA,EACjD;EAED,IAAIb,KAAK,CAACc,SAAS,EAAE;IACnB,KAAK,MAAMC,MAAM,IAAIf,KAAK,CAACc,SAAS,EAAE;MACpCrB,gBAAgB,CAACsB,MAAM,CAAC,CAACb,MAAM,CAAC;IAClC;EACF;EAEA,OAAAS,iBAAA,CACGjB,aAAa,CAACsB,QAAQ;IAACC,KAAK,EAAEf,MAAM;IAAA,IAAAW,SAAA;MAAA,QAClC,MAAM;QACLhB,gBAAgB,CAACqB,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAAC,CAAC,CAAC;MACtC,CAAC,EAAAC,MAAA,OACAA,MAAA,SAAApB,KAAK,CAACqB,UAAU,MAAAV,iBAAA,CACdhB,iBAAiB,CAACqB,QAAQ;QAAA,IAACC,KAAKA,CAAA;UAAA,OAAEjB,KAAK,CAACqB,UAAU;QAAA;QAAAR,QAAA,EAChDH;MAAG,KAENA,GAAG;IAAA;EAAA;AAGX","ignoreList":[]}
@@ -6,5 +6,5 @@ export interface ScopeProps {
6
6
  value?: OutputScope;
7
7
  children?: Children;
8
8
  }
9
- export declare function Scope(props: ScopeProps): any;
9
+ export declare function Scope(props: ScopeProps): Children;
10
10
  //# sourceMappingURL=Scope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Scope.d.ts","sourceRoot":"","sources":["../../../src/components/Scope.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,OAatC"}
1
+ {"version":3,"file":"Scope.d.ts","sourceRoot":"","sources":["../../../src/components/Scope.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,YAetC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Scope.js","names":["useContext","BinderContext","ScopeContext","Scope","props","scope","value","kind","binder","createScope","name","_$createComponent","Provider","children"],"sources":["../../../src/components/Scope.tsx"],"sourcesContent":[null],"mappings":";;AACA,SAASA,UAAU,QAAQ,eAAe;AAC1C,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,YAAY,QAAQ,qBAAqB;AAUlD,OAAO,SAASC,KAAKA,CAACC,KAAiB,EAAE;EACvC,IAAIC,KAAkB;EACtB,IAAID,KAAK,CAACE,KAAK,EAAE;IACfD,KAAK,GAAGD,KAAK,CAACE,KAAK;EACrB,CAAC,MAAM;IACL,MAAMC,IAAI,GAAGH,KAAK,CAACG,IAAI,IAAI,MAAM;IACjC,MAAMC,MAAM,GAAGR,UAAU,CAACC,aAAa,CAAE;IACzCI,KAAK,GAAGG,MAAM,CAACC,WAAW,CAAC;MAAEF,IAAI;MAAEG,IAAI,EAAEN,KAAK,CAACM;IAAM,CAAC,CAAC;EACzD;EAEA,OAAAC,iBAAA,CAAQT,YAAY,CAACU,QAAQ;IAACN,KAAK,EAAED,KAAK;IAAA,IAAAQ,SAAA;MAAA,OACrCT,KAAK,CAACS,QAAQ;IAAA;EAAA;AAErB","ignoreList":[]}
1
+ {"version":3,"file":"Scope.js","names":["useContext","BinderContext","ScopeContext","Scope","props","scope","value","kind","binder","createScope","name","_$createComponent","Provider","children"],"sources":["../../../src/components/Scope.tsx"],"sourcesContent":[null],"mappings":";;AACA,SAASA,UAAU,QAAQ,eAAe;AAC1C,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,YAAY,QAAQ,qBAAqB;AAUlD,OAAO,SAASC,KAAKA,CAACC,KAAiB,EAAE;EACvC,IAAIC,KAAkB;EACtB,IAAID,KAAK,CAACE,KAAK,EAAE;IACfD,KAAK,GAAGD,KAAK,CAACE,KAAK;EACrB,CAAC,MAAM;IACL,MAAMC,IAAI,GAAGH,KAAK,CAACG,IAAI,IAAI,MAAM;IACjC,MAAMC,MAAM,GAAGR,UAAU,CAACC,aAAa,CAAE;IACzCI,KAAK,GAAGG,MAAM,CAACC,WAAW,CAAC;MAAEF,IAAI;MAAEG,IAAI,EAAEN,KAAK,CAACM;IAAM,CAAC,CAAC;EACzD;EAEA,OAAAC,iBAAA,CACGT,YAAY,CAACU,QAAQ;IAACN,KAAK,EAAED,KAAK;IAAA,IAAAQ,SAAA;MAAA,OAChCT,KAAK,CAACS,QAAQ;IAAA;EAAA;AAGrB","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import { Children } from "@alloy-js/core/jsx-runtime";
2
+ export interface ShowProps {
3
+ children: Children;
4
+ fallback?: Children;
5
+ when: boolean | undefined | null;
6
+ }
7
+ export declare function Show(props: ShowProps): () => Children;
8
+ //# sourceMappingURL=Show.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Show.d.ts","sourceRoot":"","sources":["../../../src/components/Show.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;CAClC;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,kBAEpC"}
@@ -0,0 +1,4 @@
1
+ export function Show(props) {
2
+ return () => props.when ? props.children : props.fallback;
3
+ }
4
+ //# sourceMappingURL=Show.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Show.js","names":["Show","props","when","children","fallback"],"sources":["../../../src/components/Show.tsx"],"sourcesContent":[null],"mappings":"AAQA,OAAO,SAASA,IAAIA,CAACC,KAAgB,EAAE;EACrC,OAAO,MAAOA,KAAK,CAACC,IAAI,GAAGD,KAAK,CAACE,QAAQ,GAAGF,KAAK,CAACG,QAAS;AAC7D","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import { Children } from "../jsx-runtime.js";
2
2
  export interface SourceDirectoryProps {
3
3
  path: string;
4
- children?: Children[];
4
+ children?: Children;
5
5
  }
6
- export declare function SourceDirectory(props: SourceDirectoryProps): any;
6
+ export declare function SourceDirectory(props: SourceDirectoryProps): Children;
7
7
  //# sourceMappingURL=SourceDirectory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SourceDirectory.d.ts","sourceRoot":"","sources":["../../../src/components/SourceDirectory.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAc,MAAM,mBAAmB,CAAC;AAEzD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,OAY1D"}
1
+ {"version":3,"file":"SourceDirectory.d.ts","sourceRoot":"","sources":["../../../src/components/SourceDirectory.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAc,MAAM,mBAAmB,CAAC;AAEzD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,YAgB1D"}
@@ -1,4 +1,5 @@
1
1
  import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
+ import { memo as _$memo } from "@alloy-js/core/jsx-runtime";
2
3
  import { shallowReactive } from "@vue/reactivity";
3
4
  import { join } from "pathe";
4
5
  import { useContext } from "../context.js";
@@ -1 +1 @@
1
- {"version":3,"file":"SourceDirectory.js","names":["shallowReactive","join","useContext","SourceDirectoryContext","getContext","SourceDirectory","props","parentDir","sdPath","path","nodeContext","context","createSourceDirectoryContext","meta","directory","_$createComponent","Provider","value","children","contents","addContent","content","push"],"sources":["../../../src/components/SourceDirectory.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,eAAe,QAAQ,iBAAiB;AACjD,SAASC,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,SAAmBC,UAAU,QAAQ,mBAAmB;AAOxD,OAAO,SAASC,eAAeA,CAACC,KAA2B,EAAE;EAC3D,MAAMC,SAAS,GAAGL,UAAU,CAACC,sBAAsB,CAAC;EACpD;EACA,MAAMK,MAAM,GAAGD,SAAS,GAAGN,IAAI,CAACM,SAAS,CAACE,IAAI,EAAEH,KAAK,CAACG,IAAI,CAAC,GAAGH,KAAK,CAACG,IAAI;EACxE,MAAMC,WAAW,GAAGN,UAAU,CAAC,CAAE;EACjC,MAAMO,OAAO,GAAGC,4BAA4B,CAACN,KAAK,CAACG,IAAI,EAAEF,SAAS,CAAC;EAEnEG,WAAW,CAACG,IAAI,KAAK,CAAC,CAAC;EACvBH,WAAW,CAACG,IAAI,CAACC,SAAS,GAAG;IAC3BL,IAAI,EAAED;EACR,CAAC;EACD,OAAAO,iBAAA,CAAQZ,sBAAsB,CAACa,QAAQ;IAACC,KAAK,EAAEN,OAAO;IAAA,IAAAO,SAAA;MAAA,OAAGZ,KAAK,CAACY,QAAQ;IAAA;EAAA;AACzE;AAEA,SAASN,4BAA4BA,CACnCH,IAAY,GAAG,IAAI,EACnBF,SAAkC,EACV;EACxB,MAAMY,QAAQ,GAAGnB,eAAe,CAAC,EAAS,CAAC;EAC3C,MAAMW,OAA+B,GAAG;IACtCF,IAAI,EAAEF,SAAS,GAAGN,IAAI,CAACM,SAAS,CAACE,IAAI,EAAEA,IAAI,CAAC,GAAGA,IAAI;IACnDU,QAAQ;IACRC,UAAUA,CAACC,OAAO,EAAE;MAClBF,QAAQ,CAACG,IAAI,CAACD,OAAO,CAAC;IACxB;EACF,CAAC;EACD,IAAId,SAAS,EAAE;IACbA,SAAS,CAACa,UAAU,CAACT,OAAO,CAAC;EAC/B;EAEA,OAAOA,OAAO;AAChB","ignoreList":[]}
1
+ {"version":3,"file":"SourceDirectory.js","names":["shallowReactive","join","useContext","SourceDirectoryContext","getContext","SourceDirectory","props","parentDir","sdPath","path","nodeContext","context","createSourceDirectoryContext","meta","directory","_$createComponent","Provider","value","children","contents","addContent","content","push"],"sources":["../../../src/components/SourceDirectory.tsx"],"sourcesContent":[null],"mappings":";;AAAA,SAASA,eAAe,QAAQ,iBAAiB;AACjD,SAASC,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,SAAmBC,UAAU,QAAQ,mBAAmB;AAOxD,OAAO,SAASC,eAAeA,CAACC,KAA2B,EAAE;EAC3D,MAAMC,SAAS,GAAGL,UAAU,CAACC,sBAAsB,CAAC;EACpD;EACA,MAAMK,MAAM,GAAGD,SAAS,GAAGN,IAAI,CAACM,SAAS,CAACE,IAAI,EAAEH,KAAK,CAACG,IAAI,CAAC,GAAGH,KAAK,CAACG,IAAI;EACxE,MAAMC,WAAW,GAAGN,UAAU,CAAC,CAAE;EACjC,MAAMO,OAAO,GAAGC,4BAA4B,CAACN,KAAK,CAACG,IAAI,EAAEF,SAAS,CAAC;EAEnEG,WAAW,CAACG,IAAI,KAAK,CAAC,CAAC;EACvBH,WAAW,CAACG,IAAI,CAACC,SAAS,GAAG;IAC3BL,IAAI,EAAED;EACR,CAAC;EACD,OAAAO,iBAAA,CACGZ,sBAAsB,CAACa,QAAQ;IAACC,KAAK,EAAEN,OAAO;IAAA,IAAAO,SAAA;MAAA,OAC5CZ,KAAK,CAACY,QAAQ;IAAA;EAAA;AAGrB;AAEA,SAASN,4BAA4BA,CACnCH,IAAY,GAAG,IAAI,EACnBF,SAAkC,EACV;EACxB,MAAMY,QAAQ,GAAGnB,eAAe,CAAC,EAAS,CAAC;EAC3C,MAAMW,OAA+B,GAAG;IACtCF,IAAI,EAAEF,SAAS,GAAGN,IAAI,CAACM,SAAS,CAACE,IAAI,EAAEA,IAAI,CAAC,GAAGA,IAAI;IACnDU,QAAQ;IACRC,UAAUA,CAACC,OAAO,EAAE;MAClBF,QAAQ,CAACG,IAAI,CAACD,OAAO,CAAC;IACxB;EACF,CAAC;EACD,IAAId,SAAS,EAAE;IACbA,SAAS,CAACa,UAAU,CAACT,OAAO,CAAC;EAC/B;EAEA,OAAOA,OAAO;AAChB","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import { Children, ComponentDefinition } from "../jsx-runtime.js";
2
2
  import { Refkey } from "../refkey.js";
3
- export interface SourceFileProps {
3
+ import { PrintTreeOptions } from "../render.js";
4
+ export interface SourceFileProps extends PrintTreeOptions {
4
5
  /**
5
6
  * The path of this file relative to its parent directory
6
7
  */
@@ -9,7 +10,7 @@ export interface SourceFileProps {
9
10
  * The type of contents in this file.
10
11
  */
11
12
  filetype: string;
12
- children?: Children[];
13
+ children?: Children;
13
14
  /**
14
15
  * The component to use to render refkeys references within the file's
15
16
  * contents.
@@ -17,11 +18,6 @@ export interface SourceFileProps {
17
18
  reference?: ComponentDefinition<{
18
19
  refkey: Refkey;
19
20
  }>;
20
- /**
21
- * A string representing one indent level, used when reindenting contents of
22
- * this file.
23
- */
24
- indent?: string;
25
21
  }
26
- export declare function SourceFile(props: SourceFileProps): any;
22
+ export declare function SourceFile(props: SourceFileProps): Children;
27
23
  //# sourceMappingURL=SourceFile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SourceFile.d.ts","sourceRoot":"","sources":["../../../src/components/SourceFile.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAc,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEtB;;;OAGG;IACH,SAAS,CAAC,EAAE,mBAAmB,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEpD;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,OAoBhD"}
1
+ {"version":3,"file":"SourceFile.d.ts","sourceRoot":"","sources":["../../../src/components/SourceFile.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAc,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,mBAAmB,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,YAsBhD"}
@@ -2,7 +2,6 @@ import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime
2
2
  import { memo as _$memo } from "@alloy-js/core/jsx-runtime";
3
3
  import { join } from "pathe";
4
4
  import { useContext } from "../context.js";
5
- import { IndentContext } from "../context/indent.js";
6
5
  import { SourceDirectoryContext } from "../context/source-directory.js";
7
6
  import { SourceFileContext } from "../context/source-file.js";
8
7
  import { getContext } from "../jsx-runtime.js";
@@ -17,21 +16,15 @@ export function SourceFile(props) {
17
16
  const nodeContext = getContext();
18
17
  nodeContext.meta ??= {};
19
18
  nodeContext.meta.sourceFile = context;
19
+ nodeContext.meta.printOptions = {
20
+ printWidth: props.printWidth,
21
+ tabWidth: props.tabWidth,
22
+ useTabs: props.useTabs
23
+ };
20
24
  return _$createComponent(SourceFileContext.Provider, {
21
25
  value: context,
22
26
  get children() {
23
- return _$memo(() => !!props.indent)() ? _$createComponent(IndentContext.Provider, {
24
- get value() {
25
- return {
26
- level: 0,
27
- indent: props.indent,
28
- indentString: ""
29
- };
30
- },
31
- get children() {
32
- return props.children;
33
- }
34
- }) : props.children;
27
+ return props.children;
35
28
  }
36
29
  });
37
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SourceFile.js","names":["join","useContext","IndentContext","SourceDirectoryContext","SourceFileContext","getContext","SourceFile","props","parentDirectory","context","path","filetype","reference","addContent","nodeContext","meta","sourceFile","_$createComponent","Provider","value","children","_$memo","indent","level","indentString"],"sources":["../../../src/components/SourceFile.tsx"],"sourcesContent":[null],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,SAASC,iBAAiB,QAAQ,2BAA2B;AAC7D,SAAwCC,UAAU,QAAQ,mBAAmB;AA6B7E,OAAO,SAASC,UAAUA,CAACC,KAAsB,EAAE;EACjD,MAAMC,eAAe,GAAGP,UAAU,CAACE,sBAAsB,CAAE;EAC3D,MAAMM,OAA0B,GAAG;IACjCC,IAAI,EAAEV,IAAI,CAACQ,eAAe,GAAGA,eAAe,CAACE,IAAI,GAAG,EAAE,EAAEH,KAAK,CAACG,IAAI,CAAC;IACnEC,QAAQ,EAAEJ,KAAK,CAACI,QAAQ;IACxBC,SAAS,EAAEL,KAAK,CAACK;EACnB,CAAC;EACDJ,eAAe,EAAEK,UAAU,CAACJ,OAAO,CAAC;EACpC,MAAMK,WAAW,GAAGT,UAAU,CAAC,CAAE;EACjCS,WAAW,CAACC,IAAI,KAAK,CAAC,CAAC;EACvBD,WAAW,CAACC,IAAI,CAACC,UAAU,GAAGP,OAAO;EAErC,OAAAQ,iBAAA,CAAQb,iBAAiB,CAACc,QAAQ;IAACC,KAAK,EAAEV,OAAO;IAAA,IAAAW,SAAA;MAAA,OAC7CC,MAAA,SAAAd,KAAK,CAACe,MAAM,MAAAL,iBAAA,CACTf,aAAa,CAACgB,QAAQ;QAAA,IAACC,KAAKA,CAAA;UAAA,OAAE;YAAEI,KAAK,EAAE,CAAC;YAAED,MAAM,EAAEf,KAAK,CAACe,MAAM;YAAEE,YAAY,EAAE;UAAG,CAAC;QAAA;QAAA,IAAAJ,SAAA;UAAA,OAChFb,KAAK,CAACa,QAAQ;QAAA;MAAA,KAEjBb,KAAK,CAACa,QAAQ;IAAA;EAAA;AAGtB","ignoreList":[]}
1
+ {"version":3,"file":"SourceFile.js","names":["join","useContext","SourceDirectoryContext","SourceFileContext","getContext","SourceFile","props","parentDirectory","context","path","filetype","reference","addContent","nodeContext","meta","sourceFile","printOptions","printWidth","tabWidth","useTabs","_$createComponent","Provider","value","children"],"sources":["../../../src/components/SourceFile.tsx"],"sourcesContent":[null],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,SAASC,iBAAiB,QAAQ,2BAA2B;AAC7D,SAAwCC,UAAU,QAAQ,mBAAmB;AAwB7E,OAAO,SAASC,UAAUA,CAACC,KAAsB,EAAE;EACjD,MAAMC,eAAe,GAAGN,UAAU,CAACC,sBAAsB,CAAE;EAC3D,MAAMM,OAA0B,GAAG;IACjCC,IAAI,EAAET,IAAI,CAACO,eAAe,GAAGA,eAAe,CAACE,IAAI,GAAG,EAAE,EAAEH,KAAK,CAACG,IAAI,CAAC;IACnEC,QAAQ,EAAEJ,KAAK,CAACI,QAAQ;IACxBC,SAAS,EAAEL,KAAK,CAACK;EACnB,CAAC;EACDJ,eAAe,EAAEK,UAAU,CAACJ,OAAO,CAAC;EACpC,MAAMK,WAAW,GAAGT,UAAU,CAAC,CAAE;EACjCS,WAAW,CAACC,IAAI,KAAK,CAAC,CAAC;EACvBD,WAAW,CAACC,IAAI,CAACC,UAAU,GAAGP,OAAO;EACrCK,WAAW,CAACC,IAAI,CAACE,YAAY,GAAG;IAC9BC,UAAU,EAAEX,KAAK,CAACW,UAAU;IAC5BC,QAAQ,EAAEZ,KAAK,CAACY,QAAQ;IACxBC,OAAO,EAAEb,KAAK,CAACa;EACjB,CAAC;EAED,OAAAC,iBAAA,CACGjB,iBAAiB,CAACkB,QAAQ;IAACC,KAAK,EAAEd,OAAO;IAAA,IAAAe,SAAA;MAAA,OACvCjB,KAAK,CAACiB,QAAQ;IAAA;EAAA;AAGrB","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import { Children } from "@alloy-js/core";
2
+ export interface StatementListProps {
3
+ children: Children;
4
+ }
5
+ /**
6
+ * Join child elements with semicolons and hardlines.
7
+ */
8
+ export declare function StatementList(props: StatementListProps): Children;
9
+ //# sourceMappingURL=StatementList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatementList.d.ts","sourceRoot":"","sources":["../../../src/components/StatementList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAQ,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,YAMtD"}
@@ -0,0 +1,17 @@
1
+ import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
+ import { memo as _$memo } from "@alloy-js/core/jsx-runtime";
3
+ import { List } from "@alloy-js/core";
4
+ /**
5
+ * Join child elements with semicolons and hardlines.
6
+ */
7
+ export function StatementList(props) {
8
+ return _$createComponent(List, {
9
+ semicolon: true,
10
+ hardline: true,
11
+ enderPunctuation: true,
12
+ get children() {
13
+ return props.children;
14
+ }
15
+ });
16
+ }
17
+ //# sourceMappingURL=StatementList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatementList.js","names":["List","StatementList","props","_$createComponent","semicolon","hardline","enderPunctuation","children"],"sources":["../../../src/components/StatementList.tsx"],"sourcesContent":[null],"mappings":";;AAAA,SAAmBA,IAAI,QAAQ,gBAAgB;AAM/C;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACC,KAAyB,EAAE;EACvD,OAAAC,iBAAA,CACGH,IAAI;IAACI,SAAS;IAACC,QAAQ;IAACC,gBAAgB;IAAA,IAAAC,SAAA;MAAA,OACtCL,KAAK,CAACK,QAAQ;IAAA;EAAA;AAGrB","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ import { Children } from "@alloy-js/core/jsx-runtime";
2
+ export interface SwitchProps {
3
+ children: Children;
4
+ }
5
+ /**
6
+ * Conditionally render blocks of content based on the `when` prop of nested
7
+ * {@link Match} components.
8
+ *
9
+ * @example
10
+ *
11
+ * ```tsx
12
+ * <Switch>
13
+ * <Match when={someCondition}>
14
+ * <div>Condition met!</div>
15
+ * </Match>
16
+ * <Match else>
17
+ * <div>Condition not met!</div>
18
+ * </Match>
19
+ * </Switch>
20
+ * ```
21
+ */
22
+ export declare function Switch(props: SwitchProps): () => any;
23
+ export interface MatchProps {
24
+ /**
25
+ * Condition under which the children of this element will be rendered.
26
+ */
27
+ when?: boolean;
28
+ /**
29
+ * If no `when` is matched, the children of this element will be rendered.
30
+ * The `else` match must be placed last.
31
+ */
32
+ else?: boolean;
33
+ children: Children;
34
+ }
35
+ export declare const matchTag: unique symbol;
36
+ /**
37
+ * The Match component is used inside of a {@link Switch} component to
38
+ * define conditionally rendered blocks of content.
39
+ */
40
+ export declare const Match: import("@alloy-js/core/jsx-runtime").Component<MatchProps>;
41
+ //# sourceMappingURL=Switch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../src/components/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAyB,MAAM,4BAA4B,CAAC;AAG7E,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,aAaxC;AAED,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,eAAO,MAAM,QAAQ,eAAW,CAAC;AAEjC;;;GAGG;AACH,eAAO,MAAM,KAAK,4DAEhB,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { memo, taggedComponent } from "@alloy-js/core/jsx-runtime";
2
+ import { childrenArray, findKeyedChildren } from "../utils.js";
3
+ /**
4
+ * Conditionally render blocks of content based on the `when` prop of nested
5
+ * {@link Match} components.
6
+ *
7
+ * @example
8
+ *
9
+ * ```tsx
10
+ * <Switch>
11
+ * <Match when={someCondition}>
12
+ * <div>Condition met!</div>
13
+ * </Match>
14
+ * <Match else>
15
+ * <div>Condition not met!</div>
16
+ * </Match>
17
+ * </Switch>
18
+ * ```
19
+ */
20
+ export function Switch(props) {
21
+ const children = childrenArray(() => props.children);
22
+ const matches = findKeyedChildren(children, matchTag);
23
+ return memo(() => {
24
+ for (const match of matches) {
25
+ if (match.props.when || match.props.else) {
26
+ return match.props.children;
27
+ }
28
+ }
29
+ return undefined;
30
+ });
31
+ }
32
+ export const matchTag = Symbol();
33
+
34
+ /**
35
+ * The Match component is used inside of a {@link Switch} component to
36
+ * define conditionally rendered blocks of content.
37
+ */
38
+ export const Match = taggedComponent(matchTag, props => {
39
+ return () => props.when ? props.children : undefined;
40
+ });
41
+ //# sourceMappingURL=Switch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Switch.js","names":["memo","taggedComponent","childrenArray","findKeyedChildren","Switch","props","children","matches","matchTag","match","when","else","undefined","Symbol","Match"],"sources":["../../../src/components/Switch.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAAmBA,IAAI,EAAEC,eAAe,QAAQ,4BAA4B;AAC5E,SAASC,aAAa,EAAEC,iBAAiB,QAAQ,aAAa;AAM9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,MAAMA,CAACC,KAAkB,EAAE;EACzC,MAAMC,QAAQ,GAAGJ,aAAa,CAAC,MAAMG,KAAK,CAACC,QAAQ,CAAC;EACpD,MAAMC,OAAO,GAAGJ,iBAAiB,CAACG,QAAQ,EAAEE,QAAQ,CAAC;EAErD,OAAOR,IAAI,CAAC,MAAM;IAChB,KAAK,MAAMS,KAAK,IAAIF,OAAO,EAAE;MAC3B,IAAIE,KAAK,CAACJ,KAAK,CAACK,IAAI,IAAID,KAAK,CAACJ,KAAK,CAACM,IAAI,EAAE;QACxC,OAAOF,KAAK,CAACJ,KAAK,CAACC,QAAQ;MAC7B;IACF;IAEA,OAAOM,SAAS;EAClB,CAAC,CAAC;AACJ;AAgBA,OAAO,MAAMJ,QAAQ,GAAGK,MAAM,CAAC,CAAC;;AAEhC;AACA;AACA;AACA;AACA,OAAO,MAAMC,KAAK,GAAGb,eAAe,CAACO,QAAQ,EAAGH,KAAiB,IAAK;EACpE,OAAO,MAAOA,KAAK,CAACK,IAAI,GAAGL,KAAK,CAACC,QAAQ,GAAGM,SAAU;AACxD,CAAC,CAAC","ignoreList":[]}