@lickle/docs 0.0.0-dev.1

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 (407) hide show
  1. package/README.md +3 -0
  2. package/dist/esm/_lib/fs/index.js +20 -0
  3. package/dist/esm/_lib/fs/index.js.map +1 -0
  4. package/dist/esm/_lib/fs/watch.js +30 -0
  5. package/dist/esm/_lib/fs/watch.js.map +1 -0
  6. package/dist/esm/_lib/index.js +9 -0
  7. package/dist/esm/_lib/index.js.map +1 -0
  8. package/dist/esm/_lib/jiti/index.js +16 -0
  9. package/dist/esm/_lib/jiti/index.js.map +1 -0
  10. package/dist/esm/_lib/path/index.js +42 -0
  11. package/dist/esm/_lib/path/index.js.map +1 -0
  12. package/dist/esm/_lib/pkg/index.js +128 -0
  13. package/dist/esm/_lib/pkg/index.js.map +1 -0
  14. package/dist/esm/_lib/repo/index.js +100 -0
  15. package/dist/esm/_lib/repo/index.js.map +1 -0
  16. package/dist/esm/_lib/slug/index.js +23 -0
  17. package/dist/esm/_lib/slug/index.js.map +1 -0
  18. package/dist/esm/_lib/t.js +2 -0
  19. package/dist/esm/_lib/t.js.map +1 -0
  20. package/dist/esm/_lib/tsconfig/index.js +12 -0
  21. package/dist/esm/_lib/tsconfig/index.js.map +1 -0
  22. package/dist/esm/_lib/util/index.js +54 -0
  23. package/dist/esm/_lib/util/index.js.map +1 -0
  24. package/dist/esm/cli/cmd/dev.js +74 -0
  25. package/dist/esm/cli/cmd/dev.js.map +1 -0
  26. package/dist/esm/cli/cmd/index.js +4 -0
  27. package/dist/esm/cli/cmd/index.js.map +1 -0
  28. package/dist/esm/cli/cmd/init.js +74 -0
  29. package/dist/esm/cli/cmd/init.js.map +1 -0
  30. package/dist/esm/cli/cmd/json.js +28 -0
  31. package/dist/esm/cli/cmd/json.js.map +1 -0
  32. package/dist/esm/cli/env.js +5 -0
  33. package/dist/esm/cli/env.js.map +1 -0
  34. package/dist/esm/cli/index.js +13 -0
  35. package/dist/esm/cli/index.js.map +1 -0
  36. package/dist/esm/cli/vite/client/index.jsx +20 -0
  37. package/dist/esm/cli/vite/client/index.jsx.map +1 -0
  38. package/dist/esm/cli/vite/index.js +100 -0
  39. package/dist/esm/cli/vite/index.js.map +1 -0
  40. package/dist/esm/cli.js +5 -0
  41. package/dist/esm/cli.js.map +1 -0
  42. package/dist/esm/config/defaults.js +32 -0
  43. package/dist/esm/config/defaults.js.map +1 -0
  44. package/dist/esm/config/file.js +48 -0
  45. package/dist/esm/config/file.js.map +1 -0
  46. package/dist/esm/config/index.js +7 -0
  47. package/dist/esm/config/index.js.map +1 -0
  48. package/dist/esm/config/load.js +79 -0
  49. package/dist/esm/config/load.js.map +1 -0
  50. package/dist/esm/config/types.js +2 -0
  51. package/dist/esm/config/types.js.map +1 -0
  52. package/dist/esm/core/index.js +3 -0
  53. package/dist/esm/core/index.js.map +1 -0
  54. package/dist/esm/core/project/debug.js +26 -0
  55. package/dist/esm/core/project/debug.js.map +1 -0
  56. package/dist/esm/core/project/index.js +39 -0
  57. package/dist/esm/core/project/index.js.map +1 -0
  58. package/dist/esm/core/project/naming.js +39 -0
  59. package/dist/esm/core/project/naming.js.map +1 -0
  60. package/dist/esm/core/project/routing.js +173 -0
  61. package/dist/esm/core/project/routing.js.map +1 -0
  62. package/dist/esm/core/project/types.js +4 -0
  63. package/dist/esm/core/project/types.js.map +1 -0
  64. package/dist/esm/core/reflect/index.js +10 -0
  65. package/dist/esm/core/reflect/index.js.map +1 -0
  66. package/dist/esm/core/reflect/indexed.js +195 -0
  67. package/dist/esm/core/reflect/indexed.js.map +1 -0
  68. package/dist/esm/core/reflect/resolve.js +157 -0
  69. package/dist/esm/core/reflect/resolve.js.map +1 -0
  70. package/dist/esm/core/reflect/scan.js +787 -0
  71. package/dist/esm/core/reflect/scan.js.map +1 -0
  72. package/dist/esm/core/reflect/state.js +29 -0
  73. package/dist/esm/core/reflect/state.js.map +1 -0
  74. package/dist/esm/core/reflect/types.js +16 -0
  75. package/dist/esm/core/reflect/types.js.map +1 -0
  76. package/dist/esm/core/reflect/walk.js +106 -0
  77. package/dist/esm/core/reflect/walk.js.map +1 -0
  78. package/dist/esm/solidjs/index.js +2 -0
  79. package/dist/esm/solidjs/index.js.map +1 -0
  80. package/dist/esm/solidjs/jsx-runtime.js +2 -0
  81. package/dist/esm/solidjs/jsx-runtime.js.map +1 -0
  82. package/dist/esm/ui/App.jsx +71 -0
  83. package/dist/esm/ui/App.jsx.map +1 -0
  84. package/dist/esm/ui/components/Breadcrumb.jsx +45 -0
  85. package/dist/esm/ui/components/Breadcrumb.jsx.map +1 -0
  86. package/dist/esm/ui/components/Code/index.jsx +89 -0
  87. package/dist/esm/ui/components/Code/index.jsx.map +1 -0
  88. package/dist/esm/ui/components/Comment.jsx +176 -0
  89. package/dist/esm/ui/components/Comment.jsx.map +1 -0
  90. package/dist/esm/ui/components/Declaration.jsx +147 -0
  91. package/dist/esm/ui/components/Declaration.jsx.map +1 -0
  92. package/dist/esm/ui/components/Header.jsx +66 -0
  93. package/dist/esm/ui/components/Header.jsx.map +1 -0
  94. package/dist/esm/ui/components/Layout.jsx +44 -0
  95. package/dist/esm/ui/components/Layout.jsx.map +1 -0
  96. package/dist/esm/ui/components/Link.jsx +34 -0
  97. package/dist/esm/ui/components/Link.jsx.map +1 -0
  98. package/dist/esm/ui/components/LivePreview/Example.jsx +76 -0
  99. package/dist/esm/ui/components/LivePreview/Example.jsx.map +1 -0
  100. package/dist/esm/ui/components/LivePreview/Sandbox.jsx +25 -0
  101. package/dist/esm/ui/components/LivePreview/Sandbox.jsx.map +1 -0
  102. package/dist/esm/ui/components/LivePreview/index.js +4 -0
  103. package/dist/esm/ui/components/LivePreview/index.js.map +1 -0
  104. package/dist/esm/ui/components/LivePreview/transform.js +16 -0
  105. package/dist/esm/ui/components/LivePreview/transform.js.map +1 -0
  106. package/dist/esm/ui/components/Markdown.jsx +14 -0
  107. package/dist/esm/ui/components/Markdown.jsx.map +1 -0
  108. package/dist/esm/ui/components/Page.jsx +121 -0
  109. package/dist/esm/ui/components/Page.jsx.map +1 -0
  110. package/dist/esm/ui/components/References.jsx +32 -0
  111. package/dist/esm/ui/components/References.jsx.map +1 -0
  112. package/dist/esm/ui/components/SearchPalette.jsx +178 -0
  113. package/dist/esm/ui/components/SearchPalette.jsx.map +1 -0
  114. package/dist/esm/ui/components/Sidebar.jsx +63 -0
  115. package/dist/esm/ui/components/Sidebar.jsx.map +1 -0
  116. package/dist/esm/ui/components/Syntax.jsx +10 -0
  117. package/dist/esm/ui/components/Syntax.jsx.map +1 -0
  118. package/dist/esm/ui/components/ThemeToggle.jsx +25 -0
  119. package/dist/esm/ui/components/ThemeToggle.jsx.map +1 -0
  120. package/dist/esm/ui/components/Type.jsx +444 -0
  121. package/dist/esm/ui/components/Type.jsx.map +1 -0
  122. package/dist/esm/ui/components/index.js +16 -0
  123. package/dist/esm/ui/components/index.js.map +1 -0
  124. package/dist/esm/ui/context/components.jsx +30 -0
  125. package/dist/esm/ui/context/components.jsx.map +1 -0
  126. package/dist/esm/ui/context/global.js +15 -0
  127. package/dist/esm/ui/context/global.js.map +1 -0
  128. package/dist/esm/ui/context/index.js +5 -0
  129. package/dist/esm/ui/context/index.js.map +1 -0
  130. package/dist/esm/ui/context/markup/index.jsx +25 -0
  131. package/dist/esm/ui/context/markup/index.jsx.map +1 -0
  132. package/dist/esm/ui/context/markup/markdown.js +34 -0
  133. package/dist/esm/ui/context/markup/markdown.js.map +1 -0
  134. package/dist/esm/ui/context/markup/shiki.js +58 -0
  135. package/dist/esm/ui/context/markup/shiki.js.map +1 -0
  136. package/dist/esm/ui/context/markup/util.js +22 -0
  137. package/dist/esm/ui/context/markup/util.js.map +1 -0
  138. package/dist/esm/ui/context/project/index.jsx +27 -0
  139. package/dist/esm/ui/context/project/index.jsx.map +1 -0
  140. package/dist/esm/ui/context/project/indexed.js +47 -0
  141. package/dist/esm/ui/context/project/indexed.js.map +1 -0
  142. package/dist/esm/ui/context/project/types.js +2 -0
  143. package/dist/esm/ui/context/project/types.js.map +1 -0
  144. package/dist/esm/ui/context/theme.jsx +36 -0
  145. package/dist/esm/ui/context/theme.jsx.map +1 -0
  146. package/dist/esm/ui/hooks/index.js +94 -0
  147. package/dist/esm/ui/hooks/index.js.map +1 -0
  148. package/dist/esm/ui/index.js +5 -0
  149. package/dist/esm/ui/index.js.map +1 -0
  150. package/dist/esm/ui/renderer.jsx +21 -0
  151. package/dist/esm/ui/renderer.jsx.map +1 -0
  152. package/dist/esm/ui/util/comment.js +14 -0
  153. package/dist/esm/ui/util/comment.js.map +1 -0
  154. package/dist/esm/ui/util/kind.js +85 -0
  155. package/dist/esm/ui/util/kind.js.map +1 -0
  156. package/dist/esm/ui/util/markdown.js +66 -0
  157. package/dist/esm/ui/util/markdown.js.map +1 -0
  158. package/dist/esm/ui/util/search.js +75 -0
  159. package/dist/esm/ui/util/search.js.map +1 -0
  160. package/dist/ts/_lib/fs/index.d.ts +6 -0
  161. package/dist/ts/_lib/fs/index.d.ts.map +1 -0
  162. package/dist/ts/_lib/fs/watch.d.ts +14 -0
  163. package/dist/ts/_lib/fs/watch.d.ts.map +1 -0
  164. package/dist/ts/_lib/index.d.ts +10 -0
  165. package/dist/ts/_lib/index.d.ts.map +1 -0
  166. package/dist/ts/_lib/jiti/index.d.ts +2 -0
  167. package/dist/ts/_lib/jiti/index.d.ts.map +1 -0
  168. package/dist/ts/_lib/path/index.d.ts +12 -0
  169. package/dist/ts/_lib/path/index.d.ts.map +1 -0
  170. package/dist/ts/_lib/pkg/index.d.ts +28 -0
  171. package/dist/ts/_lib/pkg/index.d.ts.map +1 -0
  172. package/dist/ts/_lib/repo/index.d.ts +30 -0
  173. package/dist/ts/_lib/repo/index.d.ts.map +1 -0
  174. package/dist/ts/_lib/slug/index.d.ts +4 -0
  175. package/dist/ts/_lib/slug/index.d.ts.map +1 -0
  176. package/dist/ts/_lib/t.d.ts +11 -0
  177. package/dist/ts/_lib/t.d.ts.map +1 -0
  178. package/dist/ts/_lib/tsconfig/index.d.ts +8 -0
  179. package/dist/ts/_lib/tsconfig/index.d.ts.map +1 -0
  180. package/dist/ts/_lib/util/index.d.ts +9 -0
  181. package/dist/ts/_lib/util/index.d.ts.map +1 -0
  182. package/dist/ts/cli/cmd/dev.d.ts +27 -0
  183. package/dist/ts/cli/cmd/dev.d.ts.map +1 -0
  184. package/dist/ts/cli/cmd/index.d.ts +4 -0
  185. package/dist/ts/cli/cmd/index.d.ts.map +1 -0
  186. package/dist/ts/cli/cmd/init.d.ts +14 -0
  187. package/dist/ts/cli/cmd/init.d.ts.map +1 -0
  188. package/dist/ts/cli/cmd/json.d.ts +12 -0
  189. package/dist/ts/cli/cmd/json.d.ts.map +1 -0
  190. package/dist/ts/cli/env.d.ts +2 -0
  191. package/dist/ts/cli/env.d.ts.map +1 -0
  192. package/dist/ts/cli/index.d.ts +78 -0
  193. package/dist/ts/cli/index.d.ts.map +1 -0
  194. package/dist/ts/cli/vite/client/index.d.ts +10 -0
  195. package/dist/ts/cli/vite/client/index.d.ts.map +1 -0
  196. package/dist/ts/cli/vite/index.d.ts +12 -0
  197. package/dist/ts/cli/vite/index.d.ts.map +1 -0
  198. package/dist/ts/cli.d.ts +3 -0
  199. package/dist/ts/cli.d.ts.map +1 -0
  200. package/dist/ts/config/defaults.d.ts +10 -0
  201. package/dist/ts/config/defaults.d.ts.map +1 -0
  202. package/dist/ts/config/file.d.ts +3 -0
  203. package/dist/ts/config/file.d.ts.map +1 -0
  204. package/dist/ts/config/index.d.ts +6 -0
  205. package/dist/ts/config/index.d.ts.map +1 -0
  206. package/dist/ts/config/load.d.ts +36 -0
  207. package/dist/ts/config/load.d.ts.map +1 -0
  208. package/dist/ts/config/types.d.ts +56 -0
  209. package/dist/ts/config/types.d.ts.map +1 -0
  210. package/dist/ts/core/index.d.ts +3 -0
  211. package/dist/ts/core/index.d.ts.map +1 -0
  212. package/dist/ts/core/project/debug.d.ts +3 -0
  213. package/dist/ts/core/project/debug.d.ts.map +1 -0
  214. package/dist/ts/core/project/index.d.ts +17 -0
  215. package/dist/ts/core/project/index.d.ts.map +1 -0
  216. package/dist/ts/core/project/naming.d.ts +23 -0
  217. package/dist/ts/core/project/naming.d.ts.map +1 -0
  218. package/dist/ts/core/project/routing.d.ts +61 -0
  219. package/dist/ts/core/project/routing.d.ts.map +1 -0
  220. package/dist/ts/core/project/types.d.ts +56 -0
  221. package/dist/ts/core/project/types.d.ts.map +1 -0
  222. package/dist/ts/core/reflect/index.d.ts +22 -0
  223. package/dist/ts/core/reflect/index.d.ts.map +1 -0
  224. package/dist/ts/core/reflect/indexed.d.ts +83 -0
  225. package/dist/ts/core/reflect/indexed.d.ts.map +1 -0
  226. package/dist/ts/core/reflect/resolve.d.ts +3 -0
  227. package/dist/ts/core/reflect/resolve.d.ts.map +1 -0
  228. package/dist/ts/core/reflect/scan.d.ts +218 -0
  229. package/dist/ts/core/reflect/scan.d.ts.map +1 -0
  230. package/dist/ts/core/reflect/state.d.ts +44 -0
  231. package/dist/ts/core/reflect/state.d.ts.map +1 -0
  232. package/dist/ts/core/reflect/types.d.ts +289 -0
  233. package/dist/ts/core/reflect/types.d.ts.map +1 -0
  234. package/dist/ts/core/reflect/walk.d.ts +28 -0
  235. package/dist/ts/core/reflect/walk.d.ts.map +1 -0
  236. package/dist/ts/solidjs/index.d.ts +2 -0
  237. package/dist/ts/solidjs/index.d.ts.map +1 -0
  238. package/dist/ts/solidjs/jsx-runtime.d.ts +2 -0
  239. package/dist/ts/solidjs/jsx-runtime.d.ts.map +1 -0
  240. package/dist/ts/ui/App.d.ts +17 -0
  241. package/dist/ts/ui/App.d.ts.map +1 -0
  242. package/dist/ts/ui/components/Breadcrumb.d.ts +4 -0
  243. package/dist/ts/ui/components/Breadcrumb.d.ts.map +1 -0
  244. package/dist/ts/ui/components/Code/index.d.ts +17 -0
  245. package/dist/ts/ui/components/Code/index.d.ts.map +1 -0
  246. package/dist/ts/ui/components/Comment.d.ts +49 -0
  247. package/dist/ts/ui/components/Comment.d.ts.map +1 -0
  248. package/dist/ts/ui/components/Declaration.d.ts +122 -0
  249. package/dist/ts/ui/components/Declaration.d.ts.map +1 -0
  250. package/dist/ts/ui/components/Header.d.ts +5 -0
  251. package/dist/ts/ui/components/Header.d.ts.map +1 -0
  252. package/dist/ts/ui/components/Layout.d.ts +5 -0
  253. package/dist/ts/ui/components/Layout.d.ts.map +1 -0
  254. package/dist/ts/ui/components/Link.d.ts +15 -0
  255. package/dist/ts/ui/components/Link.d.ts.map +1 -0
  256. package/dist/ts/ui/components/LivePreview/Example.d.ts +16 -0
  257. package/dist/ts/ui/components/LivePreview/Example.d.ts.map +1 -0
  258. package/dist/ts/ui/components/LivePreview/Sandbox.d.ts +20 -0
  259. package/dist/ts/ui/components/LivePreview/Sandbox.d.ts.map +1 -0
  260. package/dist/ts/ui/components/LivePreview/index.d.ts +4 -0
  261. package/dist/ts/ui/components/LivePreview/index.d.ts.map +1 -0
  262. package/dist/ts/ui/components/LivePreview/transform.d.ts +19 -0
  263. package/dist/ts/ui/components/LivePreview/transform.d.ts.map +1 -0
  264. package/dist/ts/ui/components/Markdown.d.ts +11 -0
  265. package/dist/ts/ui/components/Markdown.d.ts.map +1 -0
  266. package/dist/ts/ui/components/Page.d.ts +21 -0
  267. package/dist/ts/ui/components/Page.d.ts.map +1 -0
  268. package/dist/ts/ui/components/References.d.ts +2 -0
  269. package/dist/ts/ui/components/References.d.ts.map +1 -0
  270. package/dist/ts/ui/components/SearchPalette.d.ts +5 -0
  271. package/dist/ts/ui/components/SearchPalette.d.ts.map +1 -0
  272. package/dist/ts/ui/components/Sidebar.d.ts +5 -0
  273. package/dist/ts/ui/components/Sidebar.d.ts.map +1 -0
  274. package/dist/ts/ui/components/Syntax.d.ts +15 -0
  275. package/dist/ts/ui/components/Syntax.d.ts.map +1 -0
  276. package/dist/ts/ui/components/ThemeToggle.d.ts +2 -0
  277. package/dist/ts/ui/components/ThemeToggle.d.ts.map +1 -0
  278. package/dist/ts/ui/components/Type.d.ts +82 -0
  279. package/dist/ts/ui/components/Type.d.ts.map +1 -0
  280. package/dist/ts/ui/components/index.d.ts +15 -0
  281. package/dist/ts/ui/components/index.d.ts.map +1 -0
  282. package/dist/ts/ui/context/components.d.ts +124 -0
  283. package/dist/ts/ui/context/components.d.ts.map +1 -0
  284. package/dist/ts/ui/context/global.d.ts +210 -0
  285. package/dist/ts/ui/context/global.d.ts.map +1 -0
  286. package/dist/ts/ui/context/index.d.ts +5 -0
  287. package/dist/ts/ui/context/index.d.ts.map +1 -0
  288. package/dist/ts/ui/context/markup/index.d.ts +20 -0
  289. package/dist/ts/ui/context/markup/index.d.ts.map +1 -0
  290. package/dist/ts/ui/context/markup/markdown.d.ts +4 -0
  291. package/dist/ts/ui/context/markup/markdown.d.ts.map +1 -0
  292. package/dist/ts/ui/context/markup/shiki.d.ts +17 -0
  293. package/dist/ts/ui/context/markup/shiki.d.ts.map +1 -0
  294. package/dist/ts/ui/context/markup/util.d.ts +11 -0
  295. package/dist/ts/ui/context/markup/util.d.ts.map +1 -0
  296. package/dist/ts/ui/context/project/index.d.ts +25 -0
  297. package/dist/ts/ui/context/project/index.d.ts.map +1 -0
  298. package/dist/ts/ui/context/project/indexed.d.ts +4 -0
  299. package/dist/ts/ui/context/project/indexed.d.ts.map +1 -0
  300. package/dist/ts/ui/context/project/types.d.ts +13 -0
  301. package/dist/ts/ui/context/project/types.d.ts.map +1 -0
  302. package/dist/ts/ui/context/theme.d.ts +12 -0
  303. package/dist/ts/ui/context/theme.d.ts.map +1 -0
  304. package/dist/ts/ui/hooks/index.d.ts +29 -0
  305. package/dist/ts/ui/hooks/index.d.ts.map +1 -0
  306. package/dist/ts/ui/index.d.ts +5 -0
  307. package/dist/ts/ui/index.d.ts.map +1 -0
  308. package/dist/ts/ui/renderer.d.ts +200 -0
  309. package/dist/ts/ui/renderer.d.ts.map +1 -0
  310. package/dist/ts/ui/util/comment.d.ts +4 -0
  311. package/dist/ts/ui/util/comment.d.ts.map +1 -0
  312. package/dist/ts/ui/util/kind.d.ts +15 -0
  313. package/dist/ts/ui/util/kind.d.ts.map +1 -0
  314. package/dist/ts/ui/util/markdown.d.ts +8 -0
  315. package/dist/ts/ui/util/markdown.d.ts.map +1 -0
  316. package/dist/ts/ui/util/search.d.ts +20 -0
  317. package/dist/ts/ui/util/search.d.ts.map +1 -0
  318. package/package.json +89 -0
  319. package/src/_lib/fs/index.ts +23 -0
  320. package/src/_lib/fs/watch.ts +40 -0
  321. package/src/_lib/index.ts +9 -0
  322. package/src/_lib/jiti/index.ts +18 -0
  323. package/src/_lib/path/index.ts +44 -0
  324. package/src/_lib/pkg/index.ts +165 -0
  325. package/src/_lib/repo/index.ts +138 -0
  326. package/src/_lib/slug/index.ts +26 -0
  327. package/src/_lib/t.ts +17 -0
  328. package/src/_lib/tsconfig/index.ts +20 -0
  329. package/src/_lib/util/index.ts +53 -0
  330. package/src/cli/cmd/dev.ts +86 -0
  331. package/src/cli/cmd/index.ts +3 -0
  332. package/src/cli/cmd/init.ts +80 -0
  333. package/src/cli/cmd/json.ts +28 -0
  334. package/src/cli/env.ts +6 -0
  335. package/src/cli/index.ts +14 -0
  336. package/src/cli/vite/client/index.html +27 -0
  337. package/src/cli/vite/client/index.tsx +30 -0
  338. package/src/cli/vite/client/public/apple-touch-icon.png +0 -0
  339. package/src/cli/vite/client/public/favicon-96x96.png +0 -0
  340. package/src/cli/vite/client/public/favicon.ico +0 -0
  341. package/src/cli/vite/client/public/favicon.svg +1 -0
  342. package/src/cli/vite/client/public/site.webmanifest +21 -0
  343. package/src/cli/vite/client/public/web-app-manifest-192x192.png +0 -0
  344. package/src/cli/vite/client/public/web-app-manifest-512x512.png +0 -0
  345. package/src/cli/vite/index.ts +115 -0
  346. package/src/cli.ts +6 -0
  347. package/src/config/defaults.ts +36 -0
  348. package/src/config/file.ts +53 -0
  349. package/src/config/index.ts +11 -0
  350. package/src/config/load.ts +95 -0
  351. package/src/config/types.ts +59 -0
  352. package/src/core/index.ts +2 -0
  353. package/src/core/project/debug.ts +30 -0
  354. package/src/core/project/index.ts +58 -0
  355. package/src/core/project/naming.ts +49 -0
  356. package/src/core/project/routing.ts +234 -0
  357. package/src/core/project/types.ts +47 -0
  358. package/src/core/reflect/index.ts +18 -0
  359. package/src/core/reflect/indexed.ts +242 -0
  360. package/src/core/reflect/resolve.ts +159 -0
  361. package/src/core/reflect/scan.ts +816 -0
  362. package/src/core/reflect/state.ts +75 -0
  363. package/src/core/reflect/types.ts +164 -0
  364. package/src/core/reflect/walk.ts +121 -0
  365. package/src/solidjs/index.ts +1 -0
  366. package/src/solidjs/jsx-runtime.ts +1 -0
  367. package/src/ui/App.tsx +115 -0
  368. package/src/ui/components/Breadcrumb.tsx +53 -0
  369. package/src/ui/components/Code/index.tsx +112 -0
  370. package/src/ui/components/Comment.tsx +221 -0
  371. package/src/ui/components/Declaration.tsx +210 -0
  372. package/src/ui/components/Header.tsx +99 -0
  373. package/src/ui/components/Layout.tsx +62 -0
  374. package/src/ui/components/Link.tsx +43 -0
  375. package/src/ui/components/LivePreview/Example.tsx +104 -0
  376. package/src/ui/components/LivePreview/Sandbox.tsx +36 -0
  377. package/src/ui/components/LivePreview/index.ts +3 -0
  378. package/src/ui/components/LivePreview/transform.ts +28 -0
  379. package/src/ui/components/Markdown.tsx +16 -0
  380. package/src/ui/components/Page.tsx +162 -0
  381. package/src/ui/components/References.tsx +34 -0
  382. package/src/ui/components/SearchPalette.tsx +266 -0
  383. package/src/ui/components/Sidebar.tsx +107 -0
  384. package/src/ui/components/Syntax.tsx +10 -0
  385. package/src/ui/components/ThemeToggle.tsx +50 -0
  386. package/src/ui/components/Type.tsx +583 -0
  387. package/src/ui/components/index.ts +15 -0
  388. package/src/ui/context/components.tsx +103 -0
  389. package/src/ui/context/global.ts +33 -0
  390. package/src/ui/context/index.ts +4 -0
  391. package/src/ui/context/markup/index.tsx +39 -0
  392. package/src/ui/context/markup/markdown.ts +37 -0
  393. package/src/ui/context/markup/shiki.ts +72 -0
  394. package/src/ui/context/markup/util.ts +20 -0
  395. package/src/ui/context/project/index.tsx +47 -0
  396. package/src/ui/context/project/indexed.ts +52 -0
  397. package/src/ui/context/project/types.ts +14 -0
  398. package/src/ui/context/theme.tsx +45 -0
  399. package/src/ui/hooks/index.ts +116 -0
  400. package/src/ui/index.ts +4 -0
  401. package/src/ui/renderer.tsx +31 -0
  402. package/src/ui/util/comment.ts +12 -0
  403. package/src/ui/util/kind.ts +120 -0
  404. package/src/ui/util/markdown.ts +74 -0
  405. package/src/ui/util/search.ts +84 -0
  406. package/theme.css +301 -0
  407. package/tsconfig.client.json +12 -0
@@ -0,0 +1,444 @@
1
+ import { For, Show, createMemo } from 'solid-js';
2
+ import { A } from '@solidjs/router';
3
+ import {} from "../context/index.js";
4
+ import { labelOf, shortOf } from "../util/kind.js";
5
+ import { useSlugFor } from "../hooks/index.js";
6
+ import { Markdown } from "./Markdown.jsx";
7
+ import { Comment } from "./Comment.jsx";
8
+ import { Syntax } from "./Syntax.jsx";
9
+ import { Link } from "./Link.jsx";
10
+ /**
11
+ * Render an arbitrary type. The body re-evaluates when `props.type` changes
12
+ * so that navigating between pages with different type shapes swaps the
13
+ * sub-renderer instead of freezing on the original branch (a classic Solid
14
+ * pitfall where a top-level `switch` in a component runs only on mount).
15
+ */
16
+ export const Type = (props) => <>{() => renderType(props.type)}</>;
17
+ const renderType = (t) => {
18
+ if (!t)
19
+ return null;
20
+ switch (t.kind) {
21
+ case 'intrinsic':
22
+ return <Syntax.Kw>{t.name}</Syntax.Kw>;
23
+ case 'literal':
24
+ if (typeof t.value === 'string')
25
+ return <span class="text-fg">"{t.value}"</span>;
26
+ if (t.value === null)
27
+ return <Syntax.Kw>null</Syntax.Kw>;
28
+ return <span>{String(t.value)}</span>;
29
+ case 'reference':
30
+ return <Type.ReferenceType type={t}/>;
31
+ case 'array':
32
+ return (<>
33
+ <Type type={t.elementType}/>
34
+ <Syntax.Punct>[]</Syntax.Punct>
35
+ </>);
36
+ case 'tuple':
37
+ return (<>
38
+ <Syntax.Punct>[</Syntax.Punct>
39
+ <For each={t.elements}>
40
+ {(el, i) => (<>
41
+ <Show when={i() > 0}>
42
+ <Syntax.Punct>{', '}</Syntax.Punct>
43
+ </Show>
44
+ <TupleElement el={el}/>
45
+ </>)}
46
+ </For>
47
+ <Syntax.Punct>]</Syntax.Punct>
48
+ </>);
49
+ case 'union':
50
+ return <Type.Join sep=" | " items={t.types}/>;
51
+ case 'intersection':
52
+ return <Type.Join sep=" & " items={t.types}/>;
53
+ case 'function-type':
54
+ return (<Show when={t.signatures[0]} fallback={<Syntax.Kw>function</Syntax.Kw>}>
55
+ {(sig) => <Type.SignatureExpr sig={sig()} arrow/>}
56
+ </Show>);
57
+ case 'record':
58
+ return <Type.RecordType type={t}/>;
59
+ case 'type-operator':
60
+ return (<>
61
+ <Syntax.Kw>{t.operator}</Syntax.Kw>
62
+ <span> </span>
63
+ <Type type={t.target}/>
64
+ </>);
65
+ case 'conditional':
66
+ return <Type.ConditionalType type={t}/>;
67
+ case 'infer':
68
+ return (<>
69
+ <Syntax.Kw>infer </Syntax.Kw>
70
+ <Syntax.Name>{t.name}</Syntax.Name>
71
+ <Show when={t.constraint}>
72
+ <>
73
+ <Syntax.Kw> extends </Syntax.Kw>
74
+ <Type type={t.constraint}/>
75
+ </>
76
+ </Show>
77
+ </>);
78
+ case 'indexed-access':
79
+ return (<>
80
+ <Type type={t.object}/>
81
+ <Syntax.Punct>[</Syntax.Punct>
82
+ <Type type={t.index}/>
83
+ <Syntax.Punct>]</Syntax.Punct>
84
+ </>);
85
+ case 'mapped':
86
+ return (<>
87
+ <Syntax.Punct>{'{ '}</Syntax.Punct>
88
+ <Show when={t.readonly}>
89
+ <Syntax.Kw>readonly </Syntax.Kw>
90
+ </Show>
91
+ <Syntax.Punct>[</Syntax.Punct>
92
+ <Syntax.Name>{t.typeParameter.name}</Syntax.Name>
93
+ <Show when={t.typeParameter.constraint}>
94
+ <>
95
+ <Syntax.Kw> in </Syntax.Kw>
96
+ <Type type={t.typeParameter.constraint}/>
97
+ </>
98
+ </Show>
99
+ <Show when={t.nameType}>
100
+ <>
101
+ <Syntax.Kw> as </Syntax.Kw>
102
+ <Type type={t.nameType}/>
103
+ </>
104
+ </Show>
105
+ <Syntax.Punct>]</Syntax.Punct>
106
+ <Show when={t.optional}>
107
+ <Syntax.Punct>?</Syntax.Punct>
108
+ </Show>
109
+ <Syntax.Punct>: </Syntax.Punct>
110
+ <Type type={t.type}/>
111
+ <Syntax.Punct>{' }'}</Syntax.Punct>
112
+ </>);
113
+ case 'query':
114
+ return (<>
115
+ <Syntax.Kw>typeof </Syntax.Kw>
116
+ <Syntax.Name>{t.name}</Syntax.Name>
117
+ <Type.TypeArgs args={t.args}/>
118
+ </>);
119
+ case 'template-literal':
120
+ return (<>
121
+ <span class="text-fg">
122
+ {'`'}
123
+ {t.head}
124
+ </span>
125
+ <For each={t.spans}>
126
+ {(sp) => (<>
127
+ <Syntax.Punct>{'${'}</Syntax.Punct>
128
+ <Type type={sp.type}/>
129
+ <Syntax.Punct>{'}'}</Syntax.Punct>
130
+ <span class="text-fg">{sp.literal}</span>
131
+ </>)}
132
+ </For>
133
+ <span class="text-fg">{'`'}</span>
134
+ </>);
135
+ case 'predicate':
136
+ return (<>
137
+ <Show when={t.asserts}>
138
+ <Syntax.Kw>asserts </Syntax.Kw>
139
+ </Show>
140
+ <Syntax.Name>{t.parameter}</Syntax.Name>
141
+ <Show when={t.type}>
142
+ <>
143
+ <Syntax.Kw> is </Syntax.Kw>
144
+ <Type type={t.type}/>
145
+ </>
146
+ </Show>
147
+ </>);
148
+ case 'import-type':
149
+ return (<>
150
+ <Show when={t.isTypeOf}>
151
+ <Syntax.Kw>typeof </Syntax.Kw>
152
+ </Show>
153
+ <Syntax.Kw>import</Syntax.Kw>
154
+ <Syntax.Punct>(</Syntax.Punct>
155
+ <span class="text-fg">"{t.argument}"</span>
156
+ <Syntax.Punct>)</Syntax.Punct>
157
+ <Show when={t.qualifier}>
158
+ <>
159
+ <Syntax.Punct>.</Syntax.Punct>
160
+ <Syntax.Name>{t.qualifier}</Syntax.Name>
161
+ </>
162
+ </Show>
163
+ <Type.TypeArgs args={t.args}/>
164
+ </>);
165
+ case 'unknown':
166
+ return <Syntax.Name>{t.text}</Syntax.Name>;
167
+ default:
168
+ return <Syntax.Name>{t.kind}</Syntax.Name>;
169
+ }
170
+ };
171
+ Type.Join = (props) => (<For each={props.items}>
172
+ {(t, i) => (<>
173
+ <Show when={i() > 0}>
174
+ <Syntax.Punct>{props.sep}</Syntax.Punct>
175
+ </Show>
176
+ <Type type={t}/>
177
+ </>)}
178
+ </For>);
179
+ Type.TypeArgs = (props) => (<Show when={props.args?.length}>
180
+ <Syntax.Punct>{'<'}</Syntax.Punct>
181
+ <Type.Join sep=", " items={props.args}/>
182
+ <Syntax.Punct>{'>'}</Syntax.Punct>
183
+ </Show>);
184
+ Type.ReferenceType = (props) => {
185
+ const t = props.type;
186
+ return (<>
187
+ <Link.Type id={t.type === 'internal' ? t.targetId : undefined} name={t.name} external={t.type === 'external' ? t.external : undefined}/>
188
+ <Type.TypeArgs args={t.args}/>
189
+ </>);
190
+ };
191
+ /**
192
+ * Conditional type. Right-nested chains (`A extends B ? X : C extends D ? …`)
193
+ * are flattened and rendered as an aligned `: ` ladder, the way Prettier
194
+ * formats long conditional-type maps, instead of one runaway inline line.
195
+ */
196
+ Type.ConditionalType = (props) => {
197
+ const chain = createMemo(() => {
198
+ const branches = [];
199
+ let cur = props.type;
200
+ while (cur?.kind === 'conditional') {
201
+ branches.push(cur);
202
+ cur = cur.false;
203
+ }
204
+ return { branches, tail: cur };
205
+ });
206
+ const head = (b) => (<>
207
+ <Type type={b.check}/>
208
+ <Syntax.Kw> extends </Syntax.Kw>
209
+ <Type type={b.extends}/>
210
+ <Syntax.Punct> ? </Syntax.Punct>
211
+ <Type type={b.true}/>
212
+ </>);
213
+ return (<Show when={chain().branches.length > 1} fallback={<>
214
+ {head(props.type)}
215
+ <Syntax.Punct> : </Syntax.Punct>
216
+ <Type type={props.type.false}/>
217
+ </>}>
218
+ <span class="inline-flex flex-col align-top">
219
+ <For each={chain().branches}>
220
+ {(b, i) => (<span classList={{ 'pl-4': i() > 0 }}>
221
+ <Show when={i() > 0}>
222
+ <Syntax.Punct>: </Syntax.Punct>
223
+ </Show>
224
+ {head(b)}
225
+ </span>)}
226
+ </For>
227
+ <span class="pl-4">
228
+ <Syntax.Punct>: </Syntax.Punct>
229
+ <Type type={chain().tail}/>
230
+ </span>
231
+ </span>
232
+ </Show>);
233
+ };
234
+ Type.RecordType = (props) => {
235
+ const decl = props.type;
236
+ const onlySignatures = decl.callSignatures?.length === 1 &&
237
+ !decl.properties.length &&
238
+ !decl.methods?.length &&
239
+ !decl.indexSignature &&
240
+ !decl.constructSignatures?.length;
241
+ if (onlySignatures)
242
+ return <Type.SignatureExpr sig={decl.callSignatures[0]} arrow/>;
243
+ // Every member kind, flattened to renderers so a single `<For>` lays them
244
+ // out with consistent `; ` separators.
245
+ const members = () => [
246
+ ...decl.properties.map((p) => () => <RecordProperty prop={p}/>),
247
+ ...(decl.methods ?? []).flatMap((m) => m.signatures.map((sig) => () => <RecordMethod name={m.name} sig={sig}/>)),
248
+ ...(decl.indexSignature ? [() => <RecordIndex sig={decl.indexSignature}/>] : []),
249
+ ...(decl.callSignatures ?? []).map((sig) => () => <Type.SignatureExpr sig={sig}/>),
250
+ ...(decl.constructSignatures ?? []).map((sig) => () => (<>
251
+ <Syntax.Kw>new </Syntax.Kw>
252
+ <Type.SignatureExpr sig={sig}/>
253
+ </>)),
254
+ ];
255
+ return (<Show when={members().length} fallback={<Syntax.Punct>{'{}'}</Syntax.Punct>}>
256
+ <Syntax.Punct>{'{ '}</Syntax.Punct>
257
+ <For each={members()}>
258
+ {(render, i) => (<>
259
+ <Show when={i() > 0}>
260
+ <Syntax.Punct>{'; '}</Syntax.Punct>
261
+ </Show>
262
+ {render()}
263
+ </>)}
264
+ </For>
265
+ <Syntax.Punct>{' }'}</Syntax.Punct>
266
+ </Show>);
267
+ };
268
+ const RecordProperty = (props) => (<>
269
+ <Syntax.Name>{props.prop.name}</Syntax.Name>
270
+ <Show when={props.prop.optional}>
271
+ <Syntax.Punct>?</Syntax.Punct>
272
+ </Show>
273
+ <Syntax.Punct>: </Syntax.Punct>
274
+ <Type type={props.prop.type}/>
275
+ </>);
276
+ const RecordMethod = (props) => (<>
277
+ <Syntax.Name>{props.name}</Syntax.Name>
278
+ <Type.SignatureExpr sig={props.sig}/>
279
+ </>);
280
+ const RecordIndex = (props) => (<>
281
+ <Syntax.Punct>[</Syntax.Punct>
282
+ <Syntax.Name>{props.sig.parameter.name}</Syntax.Name>
283
+ <Syntax.Punct>: </Syntax.Punct>
284
+ <Type type={props.sig.parameter.type}/>
285
+ <Syntax.Punct>]: </Syntax.Punct>
286
+ <Type type={props.sig.type}/>
287
+ </>);
288
+ const TupleElement = (props) => (<>
289
+ <Show when={props.el.rest}>
290
+ <Syntax.Punct>...</Syntax.Punct>
291
+ </Show>
292
+ <Show when={props.el.name}>
293
+ <>
294
+ <Syntax.Name>{props.el.name}</Syntax.Name>
295
+ <Show when={props.el.optional}>
296
+ <Syntax.Punct>?</Syntax.Punct>
297
+ </Show>
298
+ <Syntax.Punct>: </Syntax.Punct>
299
+ </>
300
+ </Show>
301
+ <Type type={props.el.type}/>
302
+ <Show when={!props.el.name && props.el.optional}>
303
+ <Syntax.Punct>?</Syntax.Punct>
304
+ </Show>
305
+ </>);
306
+ Type.SignatureExpr = (props) => (<>
307
+ <Type.Generics generics={props.sig.generics}/>
308
+ <Syntax.Punct>(</Syntax.Punct>
309
+ <For each={props.sig.params}>
310
+ {(p, i) => (<>
311
+ <Show when={i() > 0}>
312
+ <Syntax.Punct>{', '}</Syntax.Punct>
313
+ </Show>
314
+ <Show when={p.rest}>
315
+ <Syntax.Punct>...</Syntax.Punct>
316
+ </Show>
317
+ <Syntax.Name>{p.name}</Syntax.Name>
318
+ <Show when={p.optional || p.default != null}>
319
+ <Syntax.Punct>?</Syntax.Punct>
320
+ </Show>
321
+ <Syntax.Punct>: </Syntax.Punct>
322
+ <Type type={p.type}/>
323
+ </>)}
324
+ </For>
325
+ <Syntax.Punct>)</Syntax.Punct>
326
+ <Syntax.Punct>{props.arrow ? ' => ' : ': '}</Syntax.Punct>
327
+ <Type type={props.sig.return}/>
328
+ </>);
329
+ /** Type parameter list — `<T extends C = D>`. */
330
+ Type.Generics = (props) => (<Show when={props.generics?.length}>
331
+ <Syntax.Punct>{'<'}</Syntax.Punct>
332
+ <For each={props.generics}>
333
+ {(tp, i) => (<>
334
+ <Show when={i() > 0}>
335
+ <Syntax.Punct>{', '}</Syntax.Punct>
336
+ </Show>
337
+ <Syntax.Name>{tp.name}</Syntax.Name>
338
+ <Show when={tp.constraint}>
339
+ <>
340
+ <Syntax.Kw> extends </Syntax.Kw>
341
+ <Type type={tp.constraint}/>
342
+ </>
343
+ </Show>
344
+ <Show when={tp.default}>
345
+ <>
346
+ <Syntax.Punct> = </Syntax.Punct>
347
+ <Type type={tp.default}/>
348
+ </>
349
+ </Show>
350
+ </>)}
351
+ </For>
352
+ <Syntax.Punct>{'>'}</Syntax.Punct>
353
+ </Show>);
354
+ Type.TypeBlock = (props) => (<code class="font-mono text-[0.85em] leading-relaxed">
355
+ <Type type={props.type}/>
356
+ </code>);
357
+ Type.TypeBox = (props) => (<div class={`codeblock ${props.class ?? ''}`}>
358
+ <Type type={props.type}/>
359
+ </div>);
360
+ Type.Inline = (props) => (<>
361
+ <Show when={props.type}>
362
+ <div class="font-mono text-sm mb-1">
363
+ <Type type={props.type}/>
364
+ </div>
365
+ </Show>
366
+ <Show when={props.text?.trim()}>
367
+ <Markdown.Inline source={props.text}/>
368
+ </Show>
369
+ </>);
370
+ /**
371
+ * Single-glyph badge for a declaration kind. Use in dense lists (sidebar,
372
+ * member cards, search palette) where a `K` / `ƒ` cue is enough.
373
+ */
374
+ Type.KindBadge = (props) => (<span class={`font-mono text-xs text-mute text-center ${props.class ?? ''}`} title={labelOf(props.kind)}>
375
+ {shortOf(props.kind)}
376
+ </span>);
377
+ /** Tracked uppercase label for a declaration kind (`MODULE`, `FUNCTION`, …). */
378
+ Type.KindLabel = (props) => (<span class={`text-xs uppercase tracking-wider text-mute ${props.class ?? ''}`}>{labelOf(props.kind)}</span>);
379
+ /**
380
+ * Declaration name rendered as a link to its own page when a routable id
381
+ * resolves. Used in compact module-export lists where the signature is
382
+ * read-only context and the name itself is the navigation target.
383
+ */
384
+ Type.NameLink = (props) => {
385
+ const slugs = useSlugFor();
386
+ const slug = () => (props.id != null ? slugs.byId(props.id) : undefined);
387
+ return (<Show when={slug()} fallback={<span class={props.class}>{props.name}</span>}>
388
+ {(s) => (<A href={`/${s()}`} class={`${props.class ?? ''} hover:opacity-70 underline decoration-line decoration-dotted underline-offset-[3px]`}>
389
+ {props.name}
390
+ </A>)}
391
+ </Show>);
392
+ };
393
+ const Punct = (p) => <span class="text-mute">{p.children}</span>;
394
+ const Kw = (p) => <span class="text-accent">{p.children}</span>;
395
+ const isOptional = (p) => p.optional || p.default != null;
396
+ Type.SignatureLine = (props) => (<div class="font-mono text-sm leading-relaxed py-2">
397
+ <Show when={props.kind === 'constructor'}>
398
+ <Kw>new </Kw>
399
+ </Show>
400
+ <Show when={props.name}>
401
+ <Type.NameLink id={props.id} name={props.name} class="font-semibold"/>
402
+ </Show>
403
+ <Type.Generics generics={props.sig.generics}/>
404
+ <Punct>(</Punct>
405
+ <For each={props.sig.params}>
406
+ {(p, i) => (<>
407
+ <Show when={i() > 0}>
408
+ <Punct>{', '}</Punct>
409
+ </Show>
410
+ <Show when={p.rest}>
411
+ <Punct>...</Punct>
412
+ </Show>
413
+ <span>{p.name}</span>
414
+ <Show when={isOptional(p)}>
415
+ <Punct>?</Punct>
416
+ </Show>
417
+ <Punct>: </Punct>
418
+ <Type type={p.type}/>
419
+ </>)}
420
+ </For>
421
+ <Punct>)</Punct>
422
+ <Punct>: </Punct>
423
+ <Type type={props.sig.return}/>
424
+ </div>);
425
+ /**
426
+ * Type signature + its doc block. Parameter descriptions come from the
427
+ * `@param` tags inside `sig.comment` and are rendered by `<Comment>` itself,
428
+ * so there's no separate parameter table here.
429
+ */
430
+ Type.Signature = (props) => {
431
+ return (<div class="mb-8">
432
+ <Type.SignatureLine sig={props.sig} name={props.name} id={props.id} kind={props.kind}/>
433
+ <Show when={props.sig.comment}>
434
+ <div class="mt-2">
435
+ <Comment comment={props.sig.comment}/>
436
+ </div>
437
+ </Show>
438
+ </div>);
439
+ };
440
+ Type.SignatureCompact = (props) => (<>
441
+ <Type.SignatureLine sig={props.sig} name={props.name} id={props.id} kind={props.kind}/>
442
+ <Comment comment={props.sig.comment}/>
443
+ </>);
444
+ //# sourceMappingURL=Type.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Type.jsx","sourceRoot":"","sources":["../../../../src/ui/components/Type.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export * from "./LivePreview/index.js";
2
+ export * from "./Breadcrumb.jsx";
3
+ export * from "./Code/index.jsx";
4
+ export * from "./Comment.jsx";
5
+ export * from "./Declaration.jsx";
6
+ export * from "./Header.jsx";
7
+ export * from "./Layout.jsx";
8
+ export * from "./Link.jsx";
9
+ export * from "./Markdown.jsx";
10
+ export * from "./Page.jsx";
11
+ export * from "./References.jsx";
12
+ export * from "./Sidebar.jsx";
13
+ // export * from './Source.tsx'
14
+ export * from "./Syntax.jsx";
15
+ export * from "./Type.jsx";
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,+BAA+B;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
@@ -0,0 +1,30 @@
1
+ import { createContext, createMemo, Show, useContext } from 'solid-js';
2
+ import { Dynamic } from 'solid-js/web';
3
+ const ComponentsCtx = createContext(() => ({}));
4
+ /**
5
+ * Provide a component registry to descendants. When nested inside another
6
+ * `<ComponentsProvider>` the inner value is shallow-merged onto the outer one,
7
+ * so a wrapper preset can establish defaults that an app extends without
8
+ * losing the outer's entries.
9
+ */
10
+ export const ComponentsProvider = (props) => {
11
+ const outer = useContext(ComponentsCtx);
12
+ const merged = createMemo(() => ({ ...outer(), ...window.lickle.components[0](), ...props.value }));
13
+ return <ComponentsCtx.Provider value={merged}>{props.children}</ComponentsCtx.Provider>;
14
+ };
15
+ /** Read the active (already-merged) component registry. */
16
+ export const useComponents = () => useContext(ComponentsCtx);
17
+ /**
18
+ * Build a slot dispatcher in one line: look up the override under `key`,
19
+ * forward `Default` so it can decorate, otherwise render the default. The
20
+ * override and default share the same prop shape — that's what the
21
+ * `WithDefault<P>` wrapper in {@link Slots} pins down.
22
+ */
23
+ export const createSlot = (key, Default) => (props) => {
24
+ const slots = useComponents();
25
+ const override = createMemo(() => slots()[key]);
26
+ return (<Show when={override()} fallback={<Default {...props}/>} keyed>
27
+ {(Override) => <Dynamic component={Override} {...props} Default={Default}/>}
28
+ </Show>);
29
+ };
30
+ //# sourceMappingURL=components.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.jsx","sourceRoot":"","sources":["../../../../src/ui/context/components.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAGtE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAKtC,MAAM,aAAa,GAAG,aAAa,CAAuB,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAErE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAoD,EAAE,EAAE;IACzF,MAAM,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,UAAU,CAAa,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAC/G,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;AACzF,CAAC,CAAA;AAED,2DAA2D;AAC3D,MAAM,CAAC,MAAM,aAAa,GAAG,GAAyB,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;AAElF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GACrB,CACE,GAAM,EACN,OAAwE,EACP,EAAE,CACrE,CAAC,KAAK,EAAE,EAAE;IACR,MAAM,KAAK,GAAG,aAAa,EAAE,CAAA;IAC7B,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAA+B,CAAC,CAAA;IAC7E,OAAO,CACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAK,KAAa,CAAC,EAAG,CAAC,CAAC,KAAK,CACtE;QAAA,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAK,KAAa,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAG,CACvF;MAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { createSignal } from 'solid-js';
2
+ if (typeof window !== 'undefined') {
3
+ window.lickle = {
4
+ components: createSignal({}),
5
+ json: createSignal(null),
6
+ rendered: createSignal(false),
7
+ };
8
+ }
9
+ export const getComponents = () => window.lickle.components[0]();
10
+ export const setComponents = (components) => window.lickle.components[1]({ ...window.lickle.components[0](), ...components });
11
+ export const getJson = () => window.lickle.json[0]();
12
+ export const setJson = (json) => window.lickle.json[1](json);
13
+ export const getRendered = () => window.lickle.rendered[0]();
14
+ export const setRendered = (rendered) => window.lickle.rendered[1](rendered);
15
+ //# sourceMappingURL=global.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global.js","sourceRoot":"","sources":["../../../../src/ui/context/global.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,MAAM,UAAU,CAAA;AAgBpD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IAClC,MAAM,CAAC,MAAM,GAAG;QACd,UAAU,EAAE,YAAY,CAAa,EAAE,CAAC;QACxC,IAAI,EAAE,YAAY,CAA2B,IAAI,CAAC;QAClD,QAAQ,EAAE,YAAY,CAAU,KAAK,CAAC;KACvC,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;AAChE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAA+B,EAAE,EAAE,CAC/D,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,CAAA;AAElF,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;AACpD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAA8B,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAEtF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;AAC5D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from "./project/index.jsx";
2
+ export * from "./markup/index.jsx";
3
+ export * from "./components.jsx";
4
+ export * from "./theme.jsx";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/context/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { createContext, createMemo, createResource, useContext } from 'solid-js';
2
+ import { highlighter } from "./shiki.js";
3
+ import { useProject } from "../project/index.jsx";
4
+ import { buildMarked } from "./markdown.js";
5
+ export * from "./util.js";
6
+ const H = highlighter();
7
+ const Context = createContext();
8
+ export const MarkupProvider = (props) => {
9
+ const project = useProject();
10
+ const lookup = (name) => project().routeByName(name)?.slug;
11
+ const [h] = createResource(async () => await H);
12
+ const marked = createMemo(() => buildMarked(h(), lookup));
13
+ return <Context.Provider value={{ promise: H, highlighter: () => h(), marked }}>{props.children}</Context.Provider>;
14
+ };
15
+ export const useMarkup = () => {
16
+ const ctx = useContext(Context);
17
+ if (!ctx)
18
+ throw new Error('useMarkup must be used within a <MarkupProvider>');
19
+ return ctx;
20
+ };
21
+ export const useCodeToHtml = (p) => {
22
+ const markup = useMarkup();
23
+ return createMemo(() => markup.highlighter()?.codeToHtml({ ...p, text: p.code, markdown: true }));
24
+ };
25
+ //# sourceMappingURL=index.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../../../src/ui/context/markup/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAIhF,OAAO,EAAE,WAAW,EAA4C,MAAM,YAAY,CAAA;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,cAAc,WAAW,CAAA;AAIzB,MAAM,CAAC,GAAG,WAAW,EAAE,CAAA;AAOvB,MAAM,OAAO,GAAG,aAAa,EAAiB,CAAA;AAE9C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAgC,EAAE,EAAE;IACjE,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,CAAA;IAClE,MAAM,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/C,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAA;IACzD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;AACrH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,GAAkB,EAAE;IAC3C,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAC/B,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IAC7E,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAoE,EAAE,EAAE;IACpG,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AACnG,CAAC,CAAA"}
@@ -0,0 +1,34 @@
1
+ import { Marked } from 'marked';
2
+ import { langOf } from "./util.js";
3
+ export const buildMarked = (h, lookup) => {
4
+ const m = new Marked({
5
+ gfm: true,
6
+ breaks: false,
7
+ renderer: {
8
+ code({ text, lang }) {
9
+ const language = langOf(lang);
10
+ if (h && language !== 'text') {
11
+ try {
12
+ return h.codeToHtml({ text, lang: language });
13
+ }
14
+ catch {
15
+ /* fall through */
16
+ }
17
+ }
18
+ return `<pre class="codeblock"><code>${escape(text)}</code></pre>`;
19
+ },
20
+ codespan({ text }) {
21
+ if (lookup && ID.test(text)) {
22
+ const slug = lookup(text);
23
+ if (slug)
24
+ return `<a href="/${slug}" class="codelink"><code>${text}</code></a>`;
25
+ }
26
+ return `<code>${text}</code>`;
27
+ },
28
+ },
29
+ });
30
+ return m;
31
+ };
32
+ const escape = (s) => s.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
33
+ const ID = /^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*)*$/;
34
+ //# sourceMappingURL=markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../../../src/ui/context/markup/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAA0B,EAAE,MAA4C,EAAE,EAAE;IACtG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC;QACnB,GAAG,EAAE,IAAI;QACT,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE;YACR,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;gBAC7B,IAAI,CAAC,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;oBAC7B,IAAI,CAAC;wBACH,OAAO,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;oBAC/C,CAAC;oBAAC,MAAM,CAAC;wBACP,kBAAkB;oBACpB,CAAC;gBACH,CAAC;gBACD,OAAO,gCAAgC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAA;YACpE,CAAC;YACD,QAAQ,CAAC,EAAE,IAAI,EAAE;gBACf,IAAI,MAAM,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;oBACzB,IAAI,IAAI;wBAAE,OAAO,aAAa,IAAI,4BAA4B,IAAI,aAAa,CAAA;gBACjF,CAAC;gBACD,OAAO,SAAS,IAAI,SAAS,CAAA;YAC/B,CAAC;SACF;KACF,CAAC,CAAA;IACF,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAC3B,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;AAE9F,MAAM,EAAE,GAAG,2CAA2C,CAAA"}