@ciderpress/ui 1.0.0-rc.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 (428) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +23 -0
  3. package/dist/0~142.js +2 -0
  4. package/dist/0~164.js +2 -0
  5. package/dist/0~2.js +2 -0
  6. package/dist/0~225.js +2 -0
  7. package/dist/0~288.js +2 -0
  8. package/dist/0~299.js +2 -0
  9. package/dist/0~3.js +2 -0
  10. package/dist/0~301.js +2 -0
  11. package/dist/0~311.js +2 -0
  12. package/dist/0~326.js +2 -0
  13. package/dist/0~40.js +2 -0
  14. package/dist/0~43.js +2 -0
  15. package/dist/0~433.js +2 -0
  16. package/dist/0~453.js +2 -0
  17. package/dist/0~457.js +2 -0
  18. package/dist/0~497.js +2 -0
  19. package/dist/0~511.js +2 -0
  20. package/dist/0~603.js +2 -0
  21. package/dist/0~616.js +2 -0
  22. package/dist/0~659.js +2 -0
  23. package/dist/0~670.js +2 -0
  24. package/dist/0~687.js +2 -0
  25. package/dist/0~706.js +2 -0
  26. package/dist/0~729.js +2 -0
  27. package/dist/0~768.js +2 -0
  28. package/dist/0~819.js +2 -0
  29. package/dist/0~830.js +2 -0
  30. package/dist/0~854.js +2 -0
  31. package/dist/0~863.js +2 -0
  32. package/dist/0~879.js +2 -0
  33. package/dist/0~96.js +2 -0
  34. package/dist/0~97.js +2 -0
  35. package/dist/components/FileTree/FileTree.css +90 -0
  36. package/dist/components/FileTree/FileTree.d.ts +7 -0
  37. package/dist/components/FileTree/FileTree.js +531 -0
  38. package/dist/components/FileTree/FileTreeItem.d.ts +8 -0
  39. package/dist/components/FileTree/RemoteSvgIcon.d.ts +11 -0
  40. package/dist/components/FileTree/index.d.ts +4 -0
  41. package/dist/components/folder-icons.d.ts +32 -0
  42. package/dist/components/languages.d.ts +7 -0
  43. package/dist/components/tree-parser/tree-parser.d.ts +12 -0
  44. package/dist/components/tree-parser/types.d.ts +11 -0
  45. package/dist/head/css/loader-apple.css +1 -0
  46. package/dist/head/css/loader-backdrop.css +1 -0
  47. package/dist/head/css/loader-dots.css +1 -0
  48. package/dist/head/css/themes/amber.css +1 -0
  49. package/dist/head/css/themes/arcade.css +1 -0
  50. package/dist/head/css/themes/grannysmith.css +1 -0
  51. package/dist/head/css/themes/honeycrisp.css +1 -0
  52. package/dist/head/css/themes/midnight.css +1 -0
  53. package/dist/head/css/themes/mulled.css +1 -0
  54. package/dist/head/js/loader-dots.js +1 -0
  55. package/dist/head/js/vscode-nav.js +1 -0
  56. package/dist/index.d.ts +43 -0
  57. package/dist/index.mjs +40 -0
  58. package/dist/node.d.ts +81 -0
  59. package/dist/node.mjs +17762 -0
  60. package/dist/plugins/mermaid/MermaidRenderer.tsx +480 -0
  61. package/dist/plugins/mermaid/mermaid.css +199 -0
  62. package/dist/theme/components/announcement/announcement-bar.css +103 -0
  63. package/dist/theme/components/announcement/announcement-bar.tsx +173 -0
  64. package/dist/theme/components/ask-ai/ask-ai-button.css +52 -0
  65. package/dist/theme/components/ask-ai/ask-ai-button.tsx +56 -0
  66. package/dist/theme/components/content-footer/content-footer-portal.tsx +70 -0
  67. package/dist/theme/components/content-footer/feedback.css +47 -0
  68. package/dist/theme/components/content-footer/feedback.tsx +96 -0
  69. package/dist/theme/components/content-footer/meta-actions.css +25 -0
  70. package/dist/theme/components/content-footer/meta-actions.tsx +57 -0
  71. package/dist/theme/components/content-footer/page-pager.css +61 -0
  72. package/dist/theme/components/content-footer/page-pager.tsx +110 -0
  73. package/dist/theme/components/edit-source-button.tsx +97 -0
  74. package/dist/theme/components/footer/site-footer.css +179 -0
  75. package/dist/theme/components/footer/site-footer.tsx +115 -0
  76. package/dist/theme/components/home/cta.css +67 -0
  77. package/dist/theme/components/home/cta.tsx +77 -0
  78. package/dist/theme/components/home/feature-card.css +52 -0
  79. package/dist/theme/components/home/feature-card.tsx +131 -0
  80. package/dist/theme/components/home/feature.tsx +79 -0
  81. package/dist/theme/components/home/hero-demo.css +66 -0
  82. package/dist/theme/components/home/hero-demo.tsx +46 -0
  83. package/dist/theme/components/home/hero.css +96 -0
  84. package/dist/theme/components/home/hero.tsx +111 -0
  85. package/dist/theme/components/home/layout.tsx +183 -0
  86. package/dist/theme/components/home/page-rail.css +21 -0
  87. package/dist/theme/components/home/page-rail.tsx +19 -0
  88. package/dist/theme/components/home/split.css +148 -0
  89. package/dist/theme/components/home/split.tsx +120 -0
  90. package/dist/theme/components/home/trust-strip.css +33 -0
  91. package/dist/theme/components/home/trust-strip.tsx +43 -0
  92. package/dist/theme/components/home/workspaces.tsx +71 -0
  93. package/dist/theme/components/nav/branch-tag.css +54 -0
  94. package/dist/theme/components/nav/branch-tag.tsx +101 -0
  95. package/dist/theme/components/nav/ciderpress-doc-layout.tsx +247 -0
  96. package/dist/theme/components/nav/ciderpress-docs-bar.css +505 -0
  97. package/dist/theme/components/nav/ciderpress-docs-bar.tsx +426 -0
  98. package/dist/theme/components/nav/ciderpress-header.css +172 -0
  99. package/dist/theme/components/nav/ciderpress-header.tsx +113 -0
  100. package/dist/theme/components/nav/ciderpress-layout-context.tsx +49 -0
  101. package/dist/theme/components/nav/ciderpress-nav-hamburger.css +193 -0
  102. package/dist/theme/components/nav/ciderpress-nav-hamburger.tsx +112 -0
  103. package/dist/theme/components/nav/ciderpress-nav-menu.css +130 -0
  104. package/dist/theme/components/nav/ciderpress-nav-menu.tsx +372 -0
  105. package/dist/theme/components/nav/ciderpress-nav-search.css +73 -0
  106. package/dist/theme/components/nav/ciderpress-nav-search.tsx +55 -0
  107. package/dist/theme/components/nav/ciderpress-nav-social-links.css +35 -0
  108. package/dist/theme/components/nav/ciderpress-nav-social-links.tsx +87 -0
  109. package/dist/theme/components/nav/floating-branch-indicator.css +106 -0
  110. package/dist/theme/components/nav/floating-branch-indicator.tsx +109 -0
  111. package/dist/theme/components/nav/layout.tsx +268 -0
  112. package/dist/theme/components/nav/mobile-nav-cta.tsx +79 -0
  113. package/dist/theme/components/nav/nav-divider.css +15 -0
  114. package/dist/theme/components/nav/nav-divider.tsx +19 -0
  115. package/dist/theme/components/nav/nav-logo.css +42 -0
  116. package/dist/theme/components/nav/nav-logo.tsx +262 -0
  117. package/dist/theme/components/nav/theme-switcher.css +92 -0
  118. package/dist/theme/components/nav/theme-switcher.tsx +298 -0
  119. package/dist/theme/components/nav/topbar-cta.css +45 -0
  120. package/dist/theme/components/nav/topbar-cta.tsx +39 -0
  121. package/dist/theme/components/nav/variant-toggle.css +70 -0
  122. package/dist/theme/components/nav/variant-toggle.tsx +83 -0
  123. package/dist/theme/components/nav/version-chip.css +31 -0
  124. package/dist/theme/components/nav/version-chip.tsx +45 -0
  125. package/dist/theme/components/nav/vscode-tag.css +32 -0
  126. package/dist/theme/components/nav/vscode-tag.tsx +20 -0
  127. package/dist/theme/components/openapi/code-sample.tsx +341 -0
  128. package/dist/theme/components/openapi/copy-markdown-button.tsx +41 -0
  129. package/dist/theme/components/openapi/icons.tsx +45 -0
  130. package/dist/theme/components/openapi/index.ts +6 -0
  131. package/dist/theme/components/openapi/method-badge.tsx +24 -0
  132. package/dist/theme/components/openapi/openapi.css +665 -0
  133. package/dist/theme/components/openapi/operation.tsx +200 -0
  134. package/dist/theme/components/openapi/overview.tsx +207 -0
  135. package/dist/theme/components/openapi/parameters-table.tsx +149 -0
  136. package/dist/theme/components/openapi/request-body.tsx +90 -0
  137. package/dist/theme/components/openapi/response-list.tsx +112 -0
  138. package/dist/theme/components/openapi/schema-viewer.tsx +277 -0
  139. package/dist/theme/components/openapi/security-badges.tsx +63 -0
  140. package/dist/theme/components/openapi/spec-utils.ts +122 -0
  141. package/dist/theme/components/shared/accordion.css +118 -0
  142. package/dist/theme/components/shared/accordion.stories.tsx +96 -0
  143. package/dist/theme/components/shared/accordion.tsx +191 -0
  144. package/dist/theme/components/shared/brand-logo.stories.tsx +49 -0
  145. package/dist/theme/components/shared/brand-mark.stories.tsx +53 -0
  146. package/dist/theme/components/shared/browser-window.css +1 -0
  147. package/dist/theme/components/shared/browser-window.stories.tsx +100 -0
  148. package/dist/theme/components/shared/browser-window.tsx +2 -0
  149. package/dist/theme/components/shared/card.stories.tsx +50 -0
  150. package/dist/theme/components/shared/card.tsx +35 -0
  151. package/dist/theme/components/shared/ciderpress-logo.tsx +93 -0
  152. package/dist/theme/components/shared/ciderpress-mark.tsx +77 -0
  153. package/dist/theme/components/shared/color.css +56 -0
  154. package/dist/theme/components/shared/color.stories.tsx +47 -0
  155. package/dist/theme/components/shared/color.tsx +69 -0
  156. package/dist/theme/components/shared/columns.css +37 -0
  157. package/dist/theme/components/shared/columns.stories.tsx +91 -0
  158. package/dist/theme/components/shared/columns.tsx +50 -0
  159. package/dist/theme/components/shared/desktop-window.css +339 -0
  160. package/dist/theme/components/shared/desktop-window.tsx +535 -0
  161. package/dist/theme/components/shared/field.css +158 -0
  162. package/dist/theme/components/shared/field.stories.tsx +100 -0
  163. package/dist/theme/components/shared/field.tsx +186 -0
  164. package/dist/theme/components/shared/frame.css +39 -0
  165. package/dist/theme/components/shared/frame.stories.tsx +49 -0
  166. package/dist/theme/components/shared/frame.tsx +76 -0
  167. package/dist/theme/components/shared/icon.stories.tsx +90 -0
  168. package/dist/theme/components/shared/icon.tsx +41 -0
  169. package/dist/theme/components/shared/prompt.css +178 -0
  170. package/dist/theme/components/shared/prompt.stories.tsx +57 -0
  171. package/dist/theme/components/shared/prompt.tsx +369 -0
  172. package/dist/theme/components/shared/resolve-card-icon.ts +28 -0
  173. package/dist/theme/components/shared/section-card.stories.tsx +51 -0
  174. package/dist/theme/components/shared/section-card.tsx +44 -0
  175. package/dist/theme/components/shared/section-grid.stories.tsx +46 -0
  176. package/dist/theme/components/shared/section-grid.tsx +15 -0
  177. package/dist/theme/components/shared/status-badge.css +37 -0
  178. package/dist/theme/components/shared/status-badge.stories.tsx +61 -0
  179. package/dist/theme/components/shared/status-badge.tsx +74 -0
  180. package/dist/theme/components/shared/steps.css +88 -0
  181. package/dist/theme/components/shared/steps.stories.tsx +68 -0
  182. package/dist/theme/components/shared/steps.tsx +100 -0
  183. package/dist/theme/components/shared/tech-icon-table.stories.tsx +29 -0
  184. package/dist/theme/components/shared/tech-icon-table.tsx +71 -0
  185. package/dist/theme/components/shared/tech-tag.stories.tsx +40 -0
  186. package/dist/theme/components/shared/tech-tag.tsx +31 -0
  187. package/dist/theme/components/shared/theme-color-palette.css +80 -0
  188. package/dist/theme/components/shared/theme-color-palette.stories.tsx +52 -0
  189. package/dist/theme/components/shared/theme-color-palette.tsx +275 -0
  190. package/dist/theme/components/shared/tooltip.css +69 -0
  191. package/dist/theme/components/shared/tooltip.stories.tsx +72 -0
  192. package/dist/theme/components/shared/tooltip.tsx +77 -0
  193. package/dist/theme/components/sidebar/framework-picker.css +77 -0
  194. package/dist/theme/components/sidebar/framework-picker.tsx +78 -0
  195. package/dist/theme/components/sidebar/sidebar-filter.test.ts +140 -0
  196. package/dist/theme/components/sidebar/sidebar-filter.ts +79 -0
  197. package/dist/theme/components/sidebar/sidebar-links.css +102 -0
  198. package/dist/theme/components/sidebar/sidebar-links.tsx +122 -0
  199. package/dist/theme/components/sidebar/sidebar-promo.css +42 -0
  200. package/dist/theme/components/sidebar/sidebar-promo.tsx +52 -0
  201. package/dist/theme/components/sidebar/sidebar-scope.tsx +151 -0
  202. package/dist/theme/components/sidebar/sidebar-toggle.css +181 -0
  203. package/dist/theme/components/sidebar/sidebar-toggle.tsx +127 -0
  204. package/dist/theme/components/theme-provider.tsx +637 -0
  205. package/dist/theme/components/workspaces/card.css +151 -0
  206. package/dist/theme/components/workspaces/card.tsx +166 -0
  207. package/dist/theme/components/workspaces/grid.tsx +62 -0
  208. package/dist/theme/css.d.ts +1 -0
  209. package/dist/theme/env.d.ts +12 -0
  210. package/dist/theme/fonts/GeistMono-Variable.woff2 +0 -0
  211. package/dist/theme/fonts/GeistPixel-Square.woff2 +0 -0
  212. package/dist/theme/fonts/GeistSans-Variable.woff2 +0 -0
  213. package/dist/theme/hooks/use-ciderpress.ts +61 -0
  214. package/dist/theme/hooks/use-nav-items.ts +76 -0
  215. package/dist/theme/icons/index.ts +2 -0
  216. package/dist/theme/icons/tech-map.ts +228 -0
  217. package/dist/theme/index.tsx +180 -0
  218. package/dist/theme/lib/read-social-links.ts +27 -0
  219. package/dist/theme/lib/route-link.tsx +126 -0
  220. package/dist/theme/lib/safe-url.test.ts +0 -0
  221. package/dist/theme/lib/safe-url.ts +68 -0
  222. package/dist/theme/lib/theme-favicon.ts +125 -0
  223. package/dist/theme/lib/user-config-stub.ts +12 -0
  224. package/dist/theme/styles/layers.css +32 -0
  225. package/dist/theme/styles/overrides/badge.css +26 -0
  226. package/dist/theme/styles/overrides/content-footer.css +80 -0
  227. package/dist/theme/styles/overrides/details.css +61 -0
  228. package/dist/theme/styles/overrides/fonts.css +32 -0
  229. package/dist/theme/styles/overrides/home-card.css +133 -0
  230. package/dist/theme/styles/overrides/home.css +243 -0
  231. package/dist/theme/styles/overrides/rail.css +337 -0
  232. package/dist/theme/styles/overrides/rspress.css +62 -0
  233. package/dist/theme/styles/overrides/scrollbar.css +25 -0
  234. package/dist/theme/styles/overrides/section-card.css +114 -0
  235. package/dist/theme/styles/overrides/sidebar.css +144 -0
  236. package/dist/theme/styles/overrides/tokens.css +288 -0
  237. package/dist/theme/styles/overrides/vscode.css +88 -0
  238. package/dist/theme/styles/themes/amber.css +545 -0
  239. package/dist/theme/styles/themes/arcade-fx.css +366 -0
  240. package/dist/theme/styles/themes/arcade.css +273 -0
  241. package/dist/theme/styles/themes/grannysmith.css +545 -0
  242. package/dist/theme/styles/themes/honeycrisp.css +545 -0
  243. package/dist/theme/styles/themes/midnight.css +273 -0
  244. package/dist/theme/styles/themes/mulled.css +817 -0
  245. package/package.json +103 -0
  246. package/src/theme/components/announcement/announcement-bar.css +103 -0
  247. package/src/theme/components/announcement/announcement-bar.tsx +173 -0
  248. package/src/theme/components/ask-ai/ask-ai-button.css +52 -0
  249. package/src/theme/components/ask-ai/ask-ai-button.tsx +56 -0
  250. package/src/theme/components/content-footer/content-footer-portal.tsx +70 -0
  251. package/src/theme/components/content-footer/feedback.css +47 -0
  252. package/src/theme/components/content-footer/feedback.tsx +96 -0
  253. package/src/theme/components/content-footer/meta-actions.css +25 -0
  254. package/src/theme/components/content-footer/meta-actions.tsx +57 -0
  255. package/src/theme/components/content-footer/page-pager.css +61 -0
  256. package/src/theme/components/content-footer/page-pager.tsx +110 -0
  257. package/src/theme/components/edit-source-button.tsx +97 -0
  258. package/src/theme/components/footer/site-footer.css +179 -0
  259. package/src/theme/components/footer/site-footer.tsx +115 -0
  260. package/src/theme/components/home/cta.css +67 -0
  261. package/src/theme/components/home/cta.tsx +77 -0
  262. package/src/theme/components/home/feature-card.css +52 -0
  263. package/src/theme/components/home/feature-card.tsx +131 -0
  264. package/src/theme/components/home/feature.tsx +79 -0
  265. package/src/theme/components/home/hero-demo.css +66 -0
  266. package/src/theme/components/home/hero-demo.tsx +46 -0
  267. package/src/theme/components/home/hero.css +96 -0
  268. package/src/theme/components/home/hero.tsx +111 -0
  269. package/src/theme/components/home/layout.tsx +183 -0
  270. package/src/theme/components/home/page-rail.css +21 -0
  271. package/src/theme/components/home/page-rail.tsx +19 -0
  272. package/src/theme/components/home/split.css +148 -0
  273. package/src/theme/components/home/split.tsx +120 -0
  274. package/src/theme/components/home/trust-strip.css +33 -0
  275. package/src/theme/components/home/trust-strip.tsx +43 -0
  276. package/src/theme/components/home/workspaces.tsx +71 -0
  277. package/src/theme/components/nav/branch-tag.css +54 -0
  278. package/src/theme/components/nav/branch-tag.tsx +101 -0
  279. package/src/theme/components/nav/ciderpress-doc-layout.tsx +247 -0
  280. package/src/theme/components/nav/ciderpress-docs-bar.css +505 -0
  281. package/src/theme/components/nav/ciderpress-docs-bar.tsx +426 -0
  282. package/src/theme/components/nav/ciderpress-header.css +172 -0
  283. package/src/theme/components/nav/ciderpress-header.tsx +113 -0
  284. package/src/theme/components/nav/ciderpress-layout-context.tsx +49 -0
  285. package/src/theme/components/nav/ciderpress-nav-hamburger.css +193 -0
  286. package/src/theme/components/nav/ciderpress-nav-hamburger.tsx +112 -0
  287. package/src/theme/components/nav/ciderpress-nav-menu.css +130 -0
  288. package/src/theme/components/nav/ciderpress-nav-menu.tsx +372 -0
  289. package/src/theme/components/nav/ciderpress-nav-search.css +73 -0
  290. package/src/theme/components/nav/ciderpress-nav-search.tsx +55 -0
  291. package/src/theme/components/nav/ciderpress-nav-social-links.css +35 -0
  292. package/src/theme/components/nav/ciderpress-nav-social-links.tsx +87 -0
  293. package/src/theme/components/nav/floating-branch-indicator.css +106 -0
  294. package/src/theme/components/nav/floating-branch-indicator.tsx +109 -0
  295. package/src/theme/components/nav/layout.tsx +268 -0
  296. package/src/theme/components/nav/mobile-nav-cta.tsx +79 -0
  297. package/src/theme/components/nav/nav-divider.css +15 -0
  298. package/src/theme/components/nav/nav-divider.tsx +19 -0
  299. package/src/theme/components/nav/nav-logo.css +42 -0
  300. package/src/theme/components/nav/nav-logo.tsx +262 -0
  301. package/src/theme/components/nav/theme-switcher.css +92 -0
  302. package/src/theme/components/nav/theme-switcher.tsx +298 -0
  303. package/src/theme/components/nav/topbar-cta.css +45 -0
  304. package/src/theme/components/nav/topbar-cta.tsx +39 -0
  305. package/src/theme/components/nav/variant-toggle.css +70 -0
  306. package/src/theme/components/nav/variant-toggle.tsx +83 -0
  307. package/src/theme/components/nav/version-chip.css +31 -0
  308. package/src/theme/components/nav/version-chip.tsx +45 -0
  309. package/src/theme/components/nav/vscode-tag.css +32 -0
  310. package/src/theme/components/nav/vscode-tag.tsx +20 -0
  311. package/src/theme/components/openapi/code-sample.tsx +341 -0
  312. package/src/theme/components/openapi/copy-markdown-button.tsx +41 -0
  313. package/src/theme/components/openapi/icons.tsx +45 -0
  314. package/src/theme/components/openapi/index.ts +6 -0
  315. package/src/theme/components/openapi/method-badge.tsx +24 -0
  316. package/src/theme/components/openapi/openapi.css +665 -0
  317. package/src/theme/components/openapi/operation.tsx +200 -0
  318. package/src/theme/components/openapi/overview.tsx +207 -0
  319. package/src/theme/components/openapi/parameters-table.tsx +149 -0
  320. package/src/theme/components/openapi/request-body.tsx +90 -0
  321. package/src/theme/components/openapi/response-list.tsx +112 -0
  322. package/src/theme/components/openapi/schema-viewer.tsx +277 -0
  323. package/src/theme/components/openapi/security-badges.tsx +63 -0
  324. package/src/theme/components/openapi/spec-utils.ts +122 -0
  325. package/src/theme/components/shared/accordion.css +118 -0
  326. package/src/theme/components/shared/accordion.stories.tsx +96 -0
  327. package/src/theme/components/shared/accordion.tsx +191 -0
  328. package/src/theme/components/shared/brand-logo.stories.tsx +49 -0
  329. package/src/theme/components/shared/brand-mark.stories.tsx +53 -0
  330. package/src/theme/components/shared/browser-window.css +1 -0
  331. package/src/theme/components/shared/browser-window.stories.tsx +100 -0
  332. package/src/theme/components/shared/browser-window.tsx +2 -0
  333. package/src/theme/components/shared/card.stories.tsx +50 -0
  334. package/src/theme/components/shared/card.tsx +35 -0
  335. package/src/theme/components/shared/ciderpress-logo.tsx +93 -0
  336. package/src/theme/components/shared/ciderpress-mark.tsx +77 -0
  337. package/src/theme/components/shared/color.css +56 -0
  338. package/src/theme/components/shared/color.stories.tsx +47 -0
  339. package/src/theme/components/shared/color.tsx +69 -0
  340. package/src/theme/components/shared/columns.css +37 -0
  341. package/src/theme/components/shared/columns.stories.tsx +91 -0
  342. package/src/theme/components/shared/columns.tsx +50 -0
  343. package/src/theme/components/shared/desktop-window.css +339 -0
  344. package/src/theme/components/shared/desktop-window.tsx +535 -0
  345. package/src/theme/components/shared/field.css +158 -0
  346. package/src/theme/components/shared/field.stories.tsx +100 -0
  347. package/src/theme/components/shared/field.tsx +186 -0
  348. package/src/theme/components/shared/frame.css +39 -0
  349. package/src/theme/components/shared/frame.stories.tsx +49 -0
  350. package/src/theme/components/shared/frame.tsx +76 -0
  351. package/src/theme/components/shared/icon.stories.tsx +90 -0
  352. package/src/theme/components/shared/icon.tsx +41 -0
  353. package/src/theme/components/shared/prompt.css +178 -0
  354. package/src/theme/components/shared/prompt.stories.tsx +57 -0
  355. package/src/theme/components/shared/prompt.tsx +369 -0
  356. package/src/theme/components/shared/resolve-card-icon.ts +28 -0
  357. package/src/theme/components/shared/section-card.stories.tsx +51 -0
  358. package/src/theme/components/shared/section-card.tsx +44 -0
  359. package/src/theme/components/shared/section-grid.stories.tsx +46 -0
  360. package/src/theme/components/shared/section-grid.tsx +15 -0
  361. package/src/theme/components/shared/status-badge.css +37 -0
  362. package/src/theme/components/shared/status-badge.stories.tsx +61 -0
  363. package/src/theme/components/shared/status-badge.tsx +74 -0
  364. package/src/theme/components/shared/steps.css +88 -0
  365. package/src/theme/components/shared/steps.stories.tsx +68 -0
  366. package/src/theme/components/shared/steps.tsx +100 -0
  367. package/src/theme/components/shared/tech-icon-table.stories.tsx +29 -0
  368. package/src/theme/components/shared/tech-icon-table.tsx +71 -0
  369. package/src/theme/components/shared/tech-tag.stories.tsx +40 -0
  370. package/src/theme/components/shared/tech-tag.tsx +31 -0
  371. package/src/theme/components/shared/theme-color-palette.css +80 -0
  372. package/src/theme/components/shared/theme-color-palette.stories.tsx +52 -0
  373. package/src/theme/components/shared/theme-color-palette.tsx +275 -0
  374. package/src/theme/components/shared/tooltip.css +69 -0
  375. package/src/theme/components/shared/tooltip.stories.tsx +72 -0
  376. package/src/theme/components/shared/tooltip.tsx +77 -0
  377. package/src/theme/components/sidebar/framework-picker.css +77 -0
  378. package/src/theme/components/sidebar/framework-picker.tsx +78 -0
  379. package/src/theme/components/sidebar/sidebar-filter.test.ts +140 -0
  380. package/src/theme/components/sidebar/sidebar-filter.ts +79 -0
  381. package/src/theme/components/sidebar/sidebar-links.css +102 -0
  382. package/src/theme/components/sidebar/sidebar-links.tsx +122 -0
  383. package/src/theme/components/sidebar/sidebar-promo.css +42 -0
  384. package/src/theme/components/sidebar/sidebar-promo.tsx +52 -0
  385. package/src/theme/components/sidebar/sidebar-scope.tsx +151 -0
  386. package/src/theme/components/sidebar/sidebar-toggle.css +181 -0
  387. package/src/theme/components/sidebar/sidebar-toggle.tsx +127 -0
  388. package/src/theme/components/theme-provider.tsx +637 -0
  389. package/src/theme/components/workspaces/card.css +151 -0
  390. package/src/theme/components/workspaces/card.tsx +166 -0
  391. package/src/theme/components/workspaces/grid.tsx +62 -0
  392. package/src/theme/css.d.ts +1 -0
  393. package/src/theme/env.d.ts +12 -0
  394. package/src/theme/fonts/GeistMono-Variable.woff2 +0 -0
  395. package/src/theme/fonts/GeistPixel-Square.woff2 +0 -0
  396. package/src/theme/fonts/GeistSans-Variable.woff2 +0 -0
  397. package/src/theme/hooks/use-ciderpress.ts +61 -0
  398. package/src/theme/hooks/use-nav-items.ts +76 -0
  399. package/src/theme/icons/index.ts +2 -0
  400. package/src/theme/icons/tech-map.ts +228 -0
  401. package/src/theme/index.tsx +180 -0
  402. package/src/theme/lib/read-social-links.ts +27 -0
  403. package/src/theme/lib/route-link.tsx +126 -0
  404. package/src/theme/lib/safe-url.test.ts +0 -0
  405. package/src/theme/lib/safe-url.ts +68 -0
  406. package/src/theme/lib/theme-favicon.ts +125 -0
  407. package/src/theme/lib/user-config-stub.ts +12 -0
  408. package/src/theme/styles/layers.css +32 -0
  409. package/src/theme/styles/overrides/badge.css +26 -0
  410. package/src/theme/styles/overrides/content-footer.css +80 -0
  411. package/src/theme/styles/overrides/details.css +61 -0
  412. package/src/theme/styles/overrides/fonts.css +32 -0
  413. package/src/theme/styles/overrides/home-card.css +133 -0
  414. package/src/theme/styles/overrides/home.css +243 -0
  415. package/src/theme/styles/overrides/rail.css +337 -0
  416. package/src/theme/styles/overrides/rspress.css +62 -0
  417. package/src/theme/styles/overrides/scrollbar.css +25 -0
  418. package/src/theme/styles/overrides/section-card.css +114 -0
  419. package/src/theme/styles/overrides/sidebar.css +144 -0
  420. package/src/theme/styles/overrides/tokens.css +288 -0
  421. package/src/theme/styles/overrides/vscode.css +88 -0
  422. package/src/theme/styles/themes/amber.css +545 -0
  423. package/src/theme/styles/themes/arcade-fx.css +366 -0
  424. package/src/theme/styles/themes/arcade.css +273 -0
  425. package/src/theme/styles/themes/grannysmith.css +545 -0
  426. package/src/theme/styles/themes/honeycrisp.css +545 -0
  427. package/src/theme/styles/themes/midnight.css +273 -0
  428. package/src/theme/styles/themes/mulled.css +817 -0
@@ -0,0 +1,531 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useMemo, useState } from "react";
3
+ var __webpack_modules__ = {};
4
+ var __webpack_module_cache__ = {};
5
+ function __webpack_require__(moduleId) {
6
+ var cachedModule = __webpack_module_cache__[moduleId];
7
+ if (void 0 !== cachedModule) return cachedModule.exports;
8
+ var module = __webpack_module_cache__[moduleId] = {
9
+ exports: {}
10
+ };
11
+ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
12
+ return module.exports;
13
+ }
14
+ __webpack_require__.m = __webpack_modules__;
15
+ (()=>{
16
+ __webpack_require__.add = function(modules) {
17
+ Object.assign(__webpack_require__.m, modules);
18
+ };
19
+ })();
20
+ const FileTree_module = {
21
+ container: "container-ZPDb1C"
22
+ };
23
+ const SUPPORTED_LANGUAGES = [
24
+ {
25
+ id: "javascript",
26
+ icons: [
27
+ {
28
+ name: "javascript",
29
+ content: ()=>import("../../0~311.js").then((mod)=>({
30
+ default: mod.javascriptraw_namespaceObject
31
+ })),
32
+ matcher: /^.*\.js$/
33
+ },
34
+ {
35
+ name: "javascript-beta",
36
+ content: ()=>import("../../0~311.js").then((mod)=>({
37
+ default: mod.javascriptraw_namespaceObject
38
+ })),
39
+ matcher: /^.*\.cjs$/
40
+ },
41
+ {
42
+ name: "javascript-beta",
43
+ content: ()=>import("../../0~311.js").then((mod)=>({
44
+ default: mod.javascriptraw_namespaceObject
45
+ })),
46
+ matcher: /^.*\.mjs$/
47
+ }
48
+ ]
49
+ },
50
+ {
51
+ id: "typescript",
52
+ icons: [
53
+ {
54
+ name: "typescript",
55
+ content: ()=>import("../../0~687.js").then((mod)=>({
56
+ default: mod.typescriptraw_namespaceObject
57
+ })),
58
+ matcher: /^.*\.ts$/
59
+ },
60
+ {
61
+ name: "typescript-beta",
62
+ content: ()=>import("../../0~687.js").then((mod)=>({
63
+ default: mod.typescriptraw_namespaceObject
64
+ })),
65
+ matcher: /^.*\.mts$/
66
+ },
67
+ {
68
+ name: "typescript-beta",
69
+ content: ()=>import("../../0~687.js").then((mod)=>({
70
+ default: mod.typescriptraw_namespaceObject
71
+ })),
72
+ matcher: /^.*\.cts$/
73
+ },
74
+ {
75
+ name: 'react_ts',
76
+ content: ()=>import("../../0~453.js").then((mod)=>({
77
+ default: mod.react_tsraw_namespaceObject
78
+ })),
79
+ matcher: /^.*\.tsx$/
80
+ }
81
+ ]
82
+ },
83
+ {
84
+ id: 'react',
85
+ icons: [
86
+ {
87
+ name: 'react',
88
+ content: ()=>import("../../0~3.js").then((mod)=>({
89
+ default: mod.reactraw_namespaceObject
90
+ })),
91
+ matcher: /^.*\.jsx$/
92
+ }
93
+ ]
94
+ },
95
+ {
96
+ id: 'css',
97
+ icons: [
98
+ {
99
+ name: 'css',
100
+ content: ()=>import("../../0~659.js").then((mod)=>({
101
+ default: mod.cssraw_namespaceObject
102
+ })),
103
+ matcher: /^.*\.css$/
104
+ },
105
+ {
106
+ name: 'less',
107
+ content: ()=>import("../../0~225.js").then((mod)=>({
108
+ default: mod.lessraw_namespaceObject
109
+ })),
110
+ matcher: /^.*\.less$/
111
+ },
112
+ {
113
+ name: 'sass',
114
+ content: ()=>import("../../0~670.js").then((mod)=>({
115
+ default: mod.sassraw_namespaceObject
116
+ })),
117
+ matcher: /^.*\.scss$/
118
+ }
119
+ ]
120
+ },
121
+ {
122
+ id: 'json',
123
+ icons: [
124
+ {
125
+ name: 'json',
126
+ content: ()=>import("../../0~706.js").then((mod)=>({
127
+ default: mod.jsonraw_namespaceObject
128
+ })),
129
+ matcher: /^.*\.json$/
130
+ }
131
+ ]
132
+ },
133
+ {
134
+ id: 'markdown',
135
+ icons: [
136
+ {
137
+ name: 'markdown',
138
+ content: ()=>import("../../0~497.js").then((mod)=>({
139
+ default: mod.markdownraw_namespaceObject
140
+ })),
141
+ matcher: /^.*\.(md|mdx)$/
142
+ }
143
+ ]
144
+ },
145
+ {
146
+ id: 'html',
147
+ icons: [
148
+ {
149
+ name: 'html',
150
+ content: ()=>import("../../0~301.js").then((mod)=>({
151
+ default: mod.htmlraw_namespaceObject
152
+ })),
153
+ matcher: /^.*\.html?$/
154
+ }
155
+ ]
156
+ }
157
+ ];
158
+ const FOLDER_ICONS = {
159
+ src: {
160
+ name: 'folder-src',
161
+ content: ()=>import("../../0~603.js").then((mod)=>({
162
+ default: mod.folder_srcraw_namespaceObject
163
+ }))
164
+ },
165
+ source: {
166
+ name: 'folder-src',
167
+ content: ()=>import("../../0~603.js").then((mod)=>({
168
+ default: mod.folder_srcraw_namespaceObject
169
+ }))
170
+ },
171
+ components: {
172
+ name: 'folder-components',
173
+ content: ()=>import("../../0~299.js").then((mod)=>({
174
+ default: mod.folder_componentsraw_namespaceObject
175
+ }))
176
+ },
177
+ component: {
178
+ name: 'folder-components',
179
+ content: ()=>import("../../0~299.js").then((mod)=>({
180
+ default: mod.folder_componentsraw_namespaceObject
181
+ }))
182
+ },
183
+ hooks: {
184
+ name: 'folder-hook',
185
+ content: ()=>import("../../0~40.js").then((mod)=>({
186
+ default: mod.folder_hookraw_namespaceObject
187
+ }))
188
+ },
189
+ hook: {
190
+ name: 'folder-hook',
191
+ content: ()=>import("../../0~40.js").then((mod)=>({
192
+ default: mod.folder_hookraw_namespaceObject
193
+ }))
194
+ },
195
+ utils: {
196
+ name: 'folder-utils',
197
+ content: ()=>import("../../0~288.js").then((mod)=>({
198
+ default: mod.folder_utilsraw_namespaceObject
199
+ }))
200
+ },
201
+ util: {
202
+ name: 'folder-utils',
203
+ content: ()=>import("../../0~288.js").then((mod)=>({
204
+ default: mod.folder_utilsraw_namespaceObject
205
+ }))
206
+ },
207
+ lib: {
208
+ name: 'folder-lib',
209
+ content: ()=>import("../../0~2.js").then((mod)=>({
210
+ default: mod.folder_libraw_namespaceObject
211
+ }))
212
+ },
213
+ libs: {
214
+ name: 'folder-lib',
215
+ content: ()=>import("../../0~2.js").then((mod)=>({
216
+ default: mod.folder_libraw_namespaceObject
217
+ }))
218
+ },
219
+ core: {
220
+ name: 'folder-core',
221
+ content: ()=>import("../../0~164.js").then((mod)=>({
222
+ default: mod.folder_coreraw_namespaceObject
223
+ }))
224
+ },
225
+ runtime: {
226
+ name: 'folder-core',
227
+ content: ()=>import("../../0~164.js").then((mod)=>({
228
+ default: mod.folder_coreraw_namespaceObject
229
+ }))
230
+ },
231
+ locales: {
232
+ name: 'folder-i18n',
233
+ content: ()=>import("../../0~511.js").then((mod)=>({
234
+ default: mod.folder_i18nraw_namespaceObject
235
+ }))
236
+ },
237
+ locale: {
238
+ name: 'folder-i18n',
239
+ content: ()=>import("../../0~511.js").then((mod)=>({
240
+ default: mod.folder_i18nraw_namespaceObject
241
+ }))
242
+ },
243
+ i18n: {
244
+ name: 'folder-i18n',
245
+ content: ()=>import("../../0~511.js").then((mod)=>({
246
+ default: mod.folder_i18nraw_namespaceObject
247
+ }))
248
+ },
249
+ assets: {
250
+ name: 'folder-images',
251
+ content: ()=>import("../../0~433.js").then((mod)=>({
252
+ default: mod.folder_imagesraw_namespaceObject
253
+ }))
254
+ },
255
+ images: {
256
+ name: 'folder-images',
257
+ content: ()=>import("../../0~433.js").then((mod)=>({
258
+ default: mod.folder_imagesraw_namespaceObject
259
+ }))
260
+ },
261
+ styles: {
262
+ name: 'folder-css',
263
+ content: ()=>import("../../0~854.js").then((mod)=>({
264
+ default: mod.folder_cssraw_namespaceObject
265
+ }))
266
+ },
267
+ css: {
268
+ name: 'folder-css',
269
+ content: ()=>import("../../0~854.js").then((mod)=>({
270
+ default: mod.folder_cssraw_namespaceObject
271
+ }))
272
+ },
273
+ test: {
274
+ name: 'folder-test',
275
+ content: ()=>import("../../0~43.js").then((mod)=>({
276
+ default: mod.folder_testraw_namespaceObject
277
+ }))
278
+ },
279
+ tests: {
280
+ name: 'folder-test',
281
+ content: ()=>import("../../0~43.js").then((mod)=>({
282
+ default: mod.folder_testraw_namespaceObject
283
+ }))
284
+ },
285
+ __tests__: {
286
+ name: 'folder-test',
287
+ content: ()=>import("../../0~43.js").then((mod)=>({
288
+ default: mod.folder_testraw_namespaceObject
289
+ }))
290
+ },
291
+ config: {
292
+ name: 'folder-config',
293
+ content: ()=>import("../../0~729.js").then((mod)=>({
294
+ default: mod.folder_configraw_namespaceObject
295
+ }))
296
+ },
297
+ configs: {
298
+ name: 'folder-config',
299
+ content: ()=>import("../../0~729.js").then((mod)=>({
300
+ default: mod.folder_configraw_namespaceObject
301
+ }))
302
+ },
303
+ api: {
304
+ name: 'folder-api',
305
+ content: ()=>import("../../0~97.js").then((mod)=>({
306
+ default: mod.folder_apiraw_namespaceObject
307
+ }))
308
+ },
309
+ apis: {
310
+ name: 'folder-api',
311
+ content: ()=>import("../../0~97.js").then((mod)=>({
312
+ default: mod.folder_apiraw_namespaceObject
313
+ }))
314
+ },
315
+ public: {
316
+ name: 'folder-public',
317
+ content: ()=>import("../../0~830.js").then((mod)=>({
318
+ default: mod.folder_publicraw_namespaceObject
319
+ }))
320
+ },
321
+ dist: {
322
+ name: 'folder-dist',
323
+ content: ()=>import("../../0~879.js").then((mod)=>({
324
+ default: mod.folder_distraw_namespaceObject
325
+ }))
326
+ },
327
+ build: {
328
+ name: 'folder-dist',
329
+ content: ()=>import("../../0~879.js").then((mod)=>({
330
+ default: mod.folder_distraw_namespaceObject
331
+ }))
332
+ },
333
+ node_modules: {
334
+ name: 'folder-node',
335
+ content: ()=>import("../../0~863.js").then((mod)=>({
336
+ default: mod.folder_noderaw_namespaceObject
337
+ }))
338
+ },
339
+ types: {
340
+ name: "folder-typescript",
341
+ content: ()=>import("../../0~616.js").then((mod)=>({
342
+ default: mod.folder_typescriptraw_namespaceObject
343
+ }))
344
+ },
345
+ typings: {
346
+ name: "folder-typescript",
347
+ content: ()=>import("../../0~616.js").then((mod)=>({
348
+ default: mod.folder_typescriptraw_namespaceObject
349
+ }))
350
+ },
351
+ pages: {
352
+ name: 'folder-views',
353
+ content: ()=>import("../../0~819.js").then((mod)=>({
354
+ default: mod.folder_viewsraw_namespaceObject
355
+ }))
356
+ },
357
+ views: {
358
+ name: 'folder-views',
359
+ content: ()=>import("../../0~819.js").then((mod)=>({
360
+ default: mod.folder_viewsraw_namespaceObject
361
+ }))
362
+ },
363
+ routes: {
364
+ name: 'folder-routes',
365
+ content: ()=>import("../../0~457.js").then((mod)=>({
366
+ default: mod.folder_routesraw_namespaceObject
367
+ }))
368
+ },
369
+ docs: {
370
+ name: 'folder-docs',
371
+ content: ()=>import("../../0~768.js").then((mod)=>({
372
+ default: mod.folder_docsraw_namespaceObject
373
+ }))
374
+ },
375
+ services: {
376
+ name: 'folder-app',
377
+ content: ()=>import("../../0~142.js").then((mod)=>({
378
+ default: mod.folder_appraw_namespaceObject
379
+ }))
380
+ },
381
+ app: {
382
+ name: 'folder-app',
383
+ content: ()=>import("../../0~142.js").then((mod)=>({
384
+ default: mod.folder_appraw_namespaceObject
385
+ }))
386
+ }
387
+ };
388
+ const DEFAULT_FOLDER_ICON = {
389
+ name: 'folder',
390
+ content: ()=>import("../../0~96.js").then((mod)=>({
391
+ default: mod.folderraw_namespaceObject
392
+ }))
393
+ };
394
+ const DEFAULT_FILE_ICON = {
395
+ name: 'file',
396
+ content: ()=>import("../../0~326.js").then((mod)=>({
397
+ default: mod.fileraw_namespaceObject
398
+ })),
399
+ matcher: /^.*$/
400
+ };
401
+ function getFolderIcon(name) {
402
+ const lowerName = name.toLowerCase();
403
+ return FOLDER_ICONS[lowerName] || DEFAULT_FOLDER_ICON;
404
+ }
405
+ function getFileIcon(fileName) {
406
+ for (const language of SUPPORTED_LANGUAGES)for (const icon of language.icons)if (icon.matcher.test(fileName)) return {
407
+ name: icon.name,
408
+ content: icon.content,
409
+ matcher: icon.matcher
410
+ };
411
+ return DEFAULT_FILE_ICON;
412
+ }
413
+ const FileTreeItem_module = {
414
+ item: "item-mfHlfR",
415
+ row: "row-AOLrYw",
416
+ chevron: "chevron-Zi120f",
417
+ iconWrapper: "iconWrapper-SwAXs4",
418
+ name: "name-ItNtUc",
419
+ comment: "comment-_zMtnb",
420
+ children: "children-yp3kEz",
421
+ indentGuide: "indentGuide-bjr2fi"
422
+ };
423
+ const RemoteSvgIcon = ({ content, className })=>{
424
+ const [svgContent, setSvgContent] = useState('');
425
+ useEffect(()=>{
426
+ let cancelled = false;
427
+ content().then((mod)=>{
428
+ if (cancelled) return;
429
+ const svg = 'string' == typeof mod ? mod : mod.default;
430
+ setSvgContent(svg);
431
+ });
432
+ return ()=>{
433
+ cancelled = true;
434
+ };
435
+ }, [
436
+ content
437
+ ]);
438
+ if (!svgContent) return null;
439
+ return /*#__PURE__*/ jsx("div", {
440
+ className: className,
441
+ dangerouslySetInnerHTML: {
442
+ __html: svgContent
443
+ }
444
+ });
445
+ };
446
+ const INDENT_SIZE = 12;
447
+ const FileTreeItem = ({ node, depth })=>{
448
+ const hasChildren = 'directory' === node.type && node.children.length > 0;
449
+ const [expanded, setExpanded] = useState(hasChildren);
450
+ const icon = useMemo(()=>{
451
+ if ('directory' === node.type) return getFolderIcon(node.name);
452
+ return getFileIcon(node.name);
453
+ }, [
454
+ node.name,
455
+ node.type
456
+ ]);
457
+ const isDirectory = 'directory' === node.type;
458
+ const toggle = (e)=>{
459
+ e.stopPropagation();
460
+ if (isDirectory) setExpanded((p)=>!p);
461
+ };
462
+ return /*#__PURE__*/ jsxs("div", {
463
+ className: FileTreeItem_module.item,
464
+ children: [
465
+ /*#__PURE__*/ jsxs("div", {
466
+ className: FileTreeItem_module.row,
467
+ onClick: toggle,
468
+ style: {
469
+ paddingLeft: `${depth * INDENT_SIZE}px`
470
+ },
471
+ children: [
472
+ /*#__PURE__*/ jsx("div", {
473
+ className: FileTreeItem_module.chevron,
474
+ "data-expanded": expanded,
475
+ style: {
476
+ visibility: isDirectory ? 'visible' : 'hidden'
477
+ },
478
+ children: /*#__PURE__*/ jsx("svg", {
479
+ width: "16",
480
+ height: "16",
481
+ viewBox: "0 0 16 16",
482
+ fill: "currentColor",
483
+ children: /*#__PURE__*/ jsx("path", {
484
+ fillRule: "evenodd",
485
+ clipRule: "evenodd",
486
+ d: "M10.072 8.024L5.715 3.667l.618-.62L11 8.024l-4.667 4.977-.618-.62L10.072 8.024z"
487
+ })
488
+ })
489
+ }),
490
+ /*#__PURE__*/ jsx(RemoteSvgIcon, {
491
+ content: icon.content,
492
+ className: FileTreeItem_module.iconWrapper
493
+ }),
494
+ /*#__PURE__*/ jsx("span", {
495
+ className: FileTreeItem_module.name,
496
+ children: node.name
497
+ }),
498
+ node.comment && /*#__PURE__*/ jsx("span", {
499
+ className: FileTreeItem_module.comment,
500
+ children: node.comment
501
+ })
502
+ ]
503
+ }),
504
+ isDirectory && node.children.length > 0 && expanded && /*#__PURE__*/ jsxs("div", {
505
+ className: FileTreeItem_module.children,
506
+ children: [
507
+ /*#__PURE__*/ jsx("div", {
508
+ className: FileTreeItem_module.indentGuide,
509
+ style: {
510
+ left: `${depth * INDENT_SIZE + 6}px`
511
+ }
512
+ }),
513
+ node.children.map((child, index)=>/*#__PURE__*/ jsx(FileTreeItem, {
514
+ node: child,
515
+ depth: depth + 1
516
+ }, `${child.name}-${index}`))
517
+ ]
518
+ })
519
+ ]
520
+ });
521
+ };
522
+ const FileTree = ({ nodes })=>/*#__PURE__*/ jsx("div", {
523
+ className: FileTree_module.container,
524
+ children: nodes.map((node, index)=>/*#__PURE__*/ jsx(FileTreeItem, {
525
+ node: node,
526
+ depth: 0
527
+ }, `${node.name}-${index}`))
528
+ });
529
+ const FileTree_FileTree = FileTree;
530
+ export default FileTree_FileTree;
531
+ export { __webpack_require__, FileTree };
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { TreeNode } from '../tree-parser/types';
3
+ interface FileTreeItemProps {
4
+ node: TreeNode;
5
+ depth: number;
6
+ }
7
+ export declare const FileTreeItem: React.FC<FileTreeItemProps>;
8
+ export {};
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ interface RemoteSvgIconProps {
3
+ content: () => Promise<{
4
+ default: string;
5
+ } | string>;
6
+ size?: 'sm' | 'md';
7
+ delay?: number;
8
+ className?: string;
9
+ }
10
+ export declare const RemoteSvgIcon: React.FC<RemoteSvgIconProps>;
11
+ export {};
@@ -0,0 +1,4 @@
1
+ import { FileTree } from './FileTree';
2
+ export default FileTree;
3
+ export { FileTree };
4
+ export { FileTreeItem } from './FileTreeItem';
@@ -0,0 +1,32 @@
1
+ /// <reference path="../../src/env.d.ts" />
2
+ export interface FolderIconDefinition {
3
+ name: string;
4
+ content: () => Promise<typeof import('*.svg')>;
5
+ }
6
+ export interface FileIconDefinition {
7
+ name: string;
8
+ content: () => Promise<typeof import('*.svg')>;
9
+ matcher: RegExp;
10
+ }
11
+ /**
12
+ * Special folder icons mapping
13
+ * Maps folder names to their corresponding icons
14
+ */
15
+ export declare const FOLDER_ICONS: Record<string, FolderIconDefinition>;
16
+ /**
17
+ * Default folder icon
18
+ */
19
+ export declare const DEFAULT_FOLDER_ICON: FolderIconDefinition;
20
+ /**
21
+ * Default file icon
22
+ */
23
+ export declare const DEFAULT_FILE_ICON: FileIconDefinition;
24
+ /**
25
+ * Get folder icon by folder name
26
+ */
27
+ export declare function getFolderIcon(name: string): FolderIconDefinition;
28
+ /**
29
+ * Get file icon by file name
30
+ * Searches through all supported languages for matching icon
31
+ */
32
+ export declare function getFileIcon(fileName: string): FileIconDefinition;
@@ -0,0 +1,7 @@
1
+ import { FileIconDefinition } from './folder-icons';
2
+ interface LanguageDefinition {
3
+ id: string;
4
+ icons: FileIconDefinition[];
5
+ }
6
+ export declare const SUPPORTED_LANGUAGES: LanguageDefinition[];
7
+ export {};
@@ -0,0 +1,12 @@
1
+ import { ParsedTree } from './types';
2
+ /**
3
+ * Parse tree-style directory structure text into TreeNode array
4
+ *
5
+ * Supported formats:
6
+ * doc_build
7
+ * ├── file.ts
8
+ * └── folder
9
+ * ├── nested.ts
10
+ * └── another.ts
11
+ */
12
+ export declare function parseTreeContent(content: string): ParsedTree;
@@ -0,0 +1,11 @@
1
+ export interface TreeNode {
2
+ name: string;
3
+ type: 'file' | 'directory';
4
+ children: TreeNode[];
5
+ extension?: string;
6
+ comment?: string;
7
+ }
8
+ export interface ParsedTree {
9
+ nodes: TreeNode[];
10
+ raw: string;
11
+ }
@@ -0,0 +1 @@
1
+ @property --bite{syntax: "<length>"; inherits: false; initial-value: 0px;}html:before{content:"";position:fixed;top:50%;left:50%;width:36px;height:40px;margin-left:-88px;margin-top:-20px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="60 40 190 220" shape-rendering="crispEdges"><path d="M90,80h20v10h30v10h30v-10h30v-10h20v10h10v10h10v10h10v90h-10v20h-10v20h-10v10h-10v10h-30v-10h-10v-10h-10v-10h-10v10h-10v10h-10v10h-30v-10h-10v-10h-10v-20h-10v-20h-10v-90h10v-10h10v-10h10v-10zM220,200h10v-30h-10v-10h-10v40h-10v20h-10v20h10v-10h10v-10h10v-20z" fill="%23dc2626"/><path d="M110,80h30v10h-30v-10zM170,80h30v10h-30v-10zM140,90h30v10h-30v-10zM210,160h10v10h10v30h-10v20h-10v10h-10v10h-10v-20h10v-20h10v-40zM150,230h10v10h10v10h10v10h-50v-10h10v-10h10v-10z" fill="%237f1d1d"/></svg>');background-repeat:no-repeat;background-size:100% 100%;image-rendering:pixelated;z-index:9999;pointer-events:none;opacity:1;transition:opacity .2s ease;transform-origin:center center;-webkit-mask-image:radial-gradient(circle at right center,transparent 0,transparent var(--bite),#000 calc(var(--bite) + 1px));mask-image:radial-gradient(circle at right center,transparent 0,transparent var(--bite),#000 calc(var(--bite) + 1px));animation:cp-apple-cycle 4.2s linear infinite}body:after{content:"";position:fixed;top:50%;left:50%;width:36px;height:40px;margin-left:-88px;margin-top:-20px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="60 40 190 220" shape-rendering="crispEdges"><path d="M80,40h10v10h-10v-10zM90,50h30v10h10v10h-30v-10h-10v-10z" fill="%2399e550"/><path d="M90,40h30v10h-30v-10zM120,50h10v10h-10v-10zM130,60h10v10h-10v-10z" fill="%236abe30"/><path d="M120,40h20v10h10v20h-10v-10h-10v-10h-10v-10z" fill="%234b692f"/><path d="M160,40h20v10h-10v10h-10v10h-10v-20h10v-10z" fill="%23d9a066"/><path d="M150,70h10v20h-10v-20z" fill="%238f563b"/></svg>');background-repeat:no-repeat;background-size:100% 100%;image-rendering:pixelated;z-index:10000;pointer-events:none;opacity:1;transition:opacity .2s ease;transform-origin:center center;animation:cp-apple-cycle 4.2s linear infinite}@keyframes cp-apple-cycle{0%,14%{--bite: 0px;transform:perspective(220px) rotateY(0)}14.01%{--bite: 3px}21%{--bite: 3px}21.01%{--bite: 6px}28%{--bite: 6px}28.01%{--bite: 9px}35%{--bite: 9px}35.01%{--bite: 11px}42%{--bite: 11px}42.01%{--bite: 13px}50%{--bite: 13px;transform:perspective(220px) rotateY(0)}50.01%{--bite: 0px;transform:perspective(220px) rotateY(0)}85%{--bite: 0px;transform:perspective(220px) rotateY(360deg)}to{--bite: 0px;transform:perspective(220px) rotateY(360deg)}}html:after{content:"loading";position:fixed;top:50%;left:50%;width:160px;margin-left:-40px;margin-top:-14px;text-align:left;color:var(--cp-c-text-2, #888);font-family:Geist Pixel Square,ui-sans-serif,system-ui,sans-serif;font-size:28px;font-weight:400;line-height:1;letter-spacing:.04em;z-index:9999;pointer-events:none;opacity:1;transition:opacity .2s ease}html.cp-loader-fade:before,html.cp-loader-fade:after,html.cp-loader-fade body:after{opacity:0}html[data-cp-ready]:before,html[data-cp-ready]:after,html[data-cp-ready] body:after{display:none}
@@ -0,0 +1 @@
1
+ body:before{content:"";position:fixed;inset:0;background-color:var(--cp-c-bg, #fff);z-index:9998;pointer-events:none;opacity:1;transition:opacity .2s ease}html.cp-loader-fade body:before{opacity:0}html[data-cp-ready] body:before{display:none}
@@ -0,0 +1 @@
1
+ html:after{content:attr(data-cp-loader-text);position:fixed;top:50%;left:50%;width:200px;margin-left:-50px;margin-top:-14px;text-align:left;color:var(--cp-c-text-2, #888);font-family:Geist Pixel Square,ui-sans-serif,system-ui,sans-serif;font-size:28px;font-weight:400;line-height:1;letter-spacing:.04em;z-index:9999;pointer-events:none;opacity:1;transition:opacity .2s ease}html.cp-loader-fade:after{opacity:0}html[data-cp-ready]:after{display:none}
@@ -0,0 +1 @@
1
+ html[data-cp-theme=amber][data-cp-variant=dark]{--cp-c-brand-1: #d97706;--cp-c-brand-2: #b45309;--cp-c-brand-3: #78350f;--cp-c-brand-fg: #ffffff;--cp-c-brand-soft: rgba(217, 119, 6, .14);--cp-c-on-brand: #ffffff;--cp-c-brand-light: #fbbf24;--cp-c-brand-lighter: #fcd34d;--cp-c-success: #16a34a;--cp-c-error: #dc2626;--cp-c-warn: #d97706;--cp-c-info: #2563eb;--cp-c-muted: #888888;--cp-c-bg: #0a0a0a;--cp-c-bg-alt: #0f0f0f;--cp-c-bg-elv: #161616;--cp-c-bg-soft: #1c1c1c;--cp-c-bg-icon: #2a2a2a;--cp-c-home-bg: #0a0a0a;--cp-c-overlay-faint: rgba(255, 255, 255, .06);--cp-c-gutter: #0f0f0f;--cp-code-block-bg: #141414;--cp-c-text-1: #f5f5f5;--cp-c-text-2: rgba(245, 245, 245, .72);--cp-c-text-3: rgba(245, 245, 245, .48);--cp-c-border: #2a2a2a;--cp-c-divider: #1e1e1e;--cp-c-sidebar-alt-border-dark: #484848;--cp-c-tint-purple-bg: rgba(167, 139, 250, .12);--cp-c-tint-purple-fg: #a78bfa;--cp-c-tint-blue-bg: rgba(96, 165, 250, .12);--cp-c-tint-blue-fg: #60a5fa;--cp-c-tint-green-bg: rgba(52, 211, 153, .12);--cp-c-tint-green-fg: #34d399;--cp-c-tint-amber-bg: rgba(251, 191, 36, .12);--cp-c-tint-amber-fg: #fbbf24;--cp-c-tint-red-bg: rgba(248, 113, 113, .12);--cp-c-tint-red-fg: #f87171;--cp-c-tint-slate-bg: rgba(148, 163, 184, .12);--cp-c-tint-slate-fg: #94a3b8;--cp-c-tint-cyan-bg: rgba(14, 165, 233, .12);--cp-c-tint-cyan-fg: #0ea5e9;--cp-c-tint-pink-bg: rgba(244, 114, 182, .12);--cp-c-tint-pink-fg: #f472b6;--cp-c-tint-purple-bright-fg: #c084fc;--cp-c-tint-amber-bright-fg: #fcd34d;--cp-c-tint-purple-glow: rgba(167, 139, 250, .08);--cp-c-term-bg: #0d0d0d;--cp-c-term-titlebar-bg: #161616;--cp-c-term-border: #222222;--cp-c-term-title: #888888;--cp-c-term-text: #d4d4d4;--cp-c-term-prompt-prefix: #888888;--cp-c-term-output: #aaaaaa;--cp-c-term-red: #f87171;--cp-c-term-green: #4ade80;--cp-c-term-blue: #60a5fa;--cp-c-term-yellow: #fbbf24;--cp-c-term-cyan: #22d3ee;--cp-c-term-magenta: #c084fc;--cp-c-term-white: #f5f5f5;--cp-c-term-gray: #888888;--cp-c-term-success: #4ade80;--cp-c-term-error: #f87171;--cp-c-term-warn: #fbbf24;--cp-c-term-info: #60a5fa;--cp-c-term-muted: #888888;--cp-c-term-bar: #888888;--cp-c-term-step: #c084fc;--cp-c-window-dot-close: #ff5f57;--cp-c-window-dot-minimize: #febc2e;--cp-c-window-dot-maximize: #28c840;--cp-c-window-title-fallback: #888888;--cp-c-badge-info-bg: rgba(37, 99, 235, .12);--cp-c-badge-info-fg: #2563eb;--cp-c-badge-success-bg: rgba(16, 185, 129, .12);--cp-c-badge-success-fg: #059669;--cp-c-badge-warning-bg: rgba(217, 119, 6, .12);--cp-c-badge-warning-fg: #d97706;--cp-c-badge-error-bg: rgba(220, 38, 38, .12);--cp-c-badge-error-fg: #dc2626;--cp-c-scrollbar-thumb: #3a3a3a;--cp-c-scrollbar-thumb-hover: #4a4a4a;--cp-c-syntax-kw: #c084fc;--cp-c-syntax-str: #fcd34d;--cp-c-syntax-fn: #60a5fa;--cp-c-gradient-hero-cyan: #06b6d4;--cp-c-gradient-hero-purple: #a855f7;--cp-oas-get: #16a34a;--cp-oas-post: #2563eb;--cp-oas-put: #d97706;--cp-oas-patch: #d97706;--cp-oas-delete: #dc2626;--cp-oas-deprecated: var(--cp-c-text-3);--cp-oas-required: #dc2626;--cp-button-brand-bg: #d97706;--cp-button-brand-hover-bg: #fbbf24;--cp-button-brand-active-bg: #b45309;--cp-button-brand-text: #ffffff;--cp-s-1: 1px;--cp-s-2: 2px;--cp-s-3: 3px;--cp-s-4: 4px;--cp-s-5: 5px;--cp-s-6: 6px;--cp-s-8: 8px;--cp-s-10: 10px;--cp-s-12: 12px;--cp-s-14: 14px;--cp-s-16: 16px;--cp-s-18: 18px;--cp-s-20: 20px;--cp-s-24: 24px;--cp-s-28: 28px;--cp-s-32: 32px;--cp-s-40: 40px;--cp-s-48: 48px;--cp-s-56: 56px;--cp-s-64: 64px;--cp-s-72: 72px;--cp-s-96: 96px;--cp-radius-xs: 2px;--cp-radius-xs-sm: 3px;--cp-radius-sm: 4px;--cp-radius-md-sm: 6px;--cp-radius-md: 8px;--cp-radius-lg: 10px;--cp-radius-md-lg: 12px;--cp-radius-pill: 9999px;--cp-ff-sans: "Geist", ui-sans-serif, system-ui, sans-serif;--cp-ff-mono: "Geist Mono", ui-monospace, "SFMono-Regular", monospace;--cp-fw-regular: 400;--cp-fw-medium: 500;--cp-fw-semibold: 600;--cp-fw-bold: 700;--cp-fs-body: 16px;--cp-fs-btn: 14px;--cp-fs-bullet: 14px;--cp-fs-code: 13px;--cp-fs-eyebrow: 11px;--cp-fs-tagline: 18px;--cp-fs-hero-title: clamp(40px, 6.5vw, 76px);--cp-fs-split-title: clamp(28px, 4vw, 40px);--cp-fs-feature-title: 18px;--cp-fs-feature-desc: 16px;--cp-fs-feature-link: 12px;--cp-fs-section-title: 14px;--cp-fs-section-desc: 12.5px;--cp-fs-badge: 11px;--cp-fs-tooltip: 13px;--cp-fs-tooltip-headline: 13px;--cp-fs-tooltip-cta: 12px;--cp-fs-check: 11px;--cp-fs-field-name: 14px;--cp-fs-field-type: 11px;--cp-fs-field-badge: 11px;--cp-fs-field-default: 12px;--cp-fs-field-default-code: 11px;--cp-fs-field-body: 14px;--cp-fs-field-group-title: 14px;--cp-fs-field-trigger: 12px;--cp-fs-prompt-desc: 14px;--cp-fs-prompt-feedback: 12px;--cp-fs-prompt-btn: 12px;--cp-fs-prompt-menu-item: 13px;--cp-fs-prompt-menu-desc: 11px;--cp-fs-color-name: 12px;--cp-fs-color-value: 11px;--cp-fs-window-title: 12px;--cp-fs-window-tab: 12px;--cp-fs-window-url: 11px;--cp-fs-term-body: 13px;--cp-fs-demo-title: 11px;--cp-fs-demo-body: 13px;--cp-fs-ask-ai: 13px;--cp-fs-ask-ai-mark: 10px;--cp-fs-ask-ai-shortcut: 10px;--cp-fs-sidebar-link: 14px;--cp-shadow-card-hover: 0 2px 12px var(--cp-c-tint-purple-glow);--cp-shadow-menu: 0 8px 24px rgba(0, 0, 0, .12);--cp-shadow-tooltip: 0 4px 12px rgba(0, 0, 0, .08);--cp-shadow-hero-demo: 0 0 0 1px rgba(0, 0, 0, .5), 0 24px 48px -12px rgba(0, 0, 0, .6), 0 0 80px var(--cp-c-brand-soft);--cp-shadow-ask-ai: 0 8px 24px rgba(0, 0, 0, .4), 0 0 0 4px rgba(0, 0, 0, .5);--cp-duration-fast: .15s;--cp-duration-base: .2s;--cp-ease-base: ease;--cp-z-dropdown: 50;--cp-z-floating: 60;--cp-z-tooltip: 100;--cp-lh-display: 1;--cp-lh-tight: 1.4;--cp-lh-tighter: 1.3;--cp-lh-snug: 1.45;--cp-lh-base: 1.5;--cp-lh-relaxed: 1.6;--cp-lh-demo: 1.65;--cp-lh-code: 1.7;--cp-lh-sidebar: 24px;--cp-letter-wide: .02em;--cp-letter-eyebrow: .1em;--cp-letter-display: -.025em;--cp-letter-hero: -.04em;--cp-opacity-muted: .5;--cp-opacity-deprecated: .6;--cp-opacity-hover: .8;--cp-size-titlebar: 36px;--cp-size-window-dot: 10px;--cp-size-window-tab-dot: 6px;--cp-size-browser-tab-max: 200px;--cp-size-browser-icon: 14px;--cp-size-browser-urlbar: 28px;--cp-size-icon-box: 36px;--cp-size-icon-box-sm: 28px;--cp-size-icon-svg: 18px;--cp-size-icon-svg-sm: 16px;--cp-size-icon-sm: 16px;--cp-size-content-max: 1152px;--cp-size-focus-ring: 2px;--cp-size-focus-ring-offset: 2px;--cp-size-tooltip-max: 320px;--cp-size-swatch: 24px;--cp-size-demo-max: 920px;--cp-size-split-max: 1200px;--cp-size-hero-grid: 24px;--cp-size-hero-max: 1100px;--cp-size-tagline-max: 640px;--cp-size-prompt-icon: 20px;--cp-size-prompt-btn: 30px;--cp-size-menu-min: 220px;--cp-size-prompt-menu-icon: 18px;--cp-size-check: 18px;--cp-size-chevron: 14px;--cp-size-ask-ai-icon: 18px;--cp-size-sidebar-circle: 36px;--cp-size-scrollbar: 6px;--cp-bp-sm: 768px;--cp-bp-md: 720px;--cp-bp-md-lg: 880px;--cp-bp-content: 1184px;--cp-blur-base: 8px;--cp-gradient-brand: linear-gradient(135deg, var(--cp-c-brand-1), var(--cp-c-brand-3));--cp-gradient-hero-title: linear-gradient(135deg, var(--cp-c-brand-1), var(--cp-c-brand-light));--rp-c-bg: #0a0a0a;--rp-c-bg-alt: #0f0f0f;--rp-c-bg-dark: #0f0f0f;--rp-c-bg-mute: #0a0a0a;--rp-c-bg-soft: #1c1c1c;--rp-c-brand: #d97706;--rp-c-brand-light: #fbbf24;--rp-c-brand-lighter: #fcd34d;--rp-c-brand-dark: #b45309;--rp-c-brand-darker: #78350f;--rp-c-brand-tint: rgba(217, 119, 6, .14);--rp-c-divider: #1e1e1e;--rp-c-divider-dark: #2a2a2a;--rp-c-divider-light: #1e1e1e;--rp-c-link: #d97706;--rp-c-text-1: #f5f5f5;--rp-c-text-2: rgba(245, 245, 245, .72);--rp-c-text-3: rgba(245, 245, 245, .48);--rp-c-text-4: rgba(245, 245, 245, .48);--rp-c-text-code: #f5f5f5;--rp-code-block-bg: #141414;--rp-home-background-bg: #0a0a0a;--rp-home-feature-bg: #1c1c1c;--rp-home-hero-secondary-color: rgba(245, 245, 245, .72);--rp-home-hero-title-color: #f5f5f5}html[data-cp-theme=amber][data-cp-variant=light]{--cp-c-brand-1: #d97706;--cp-c-brand-2: #b45309;--cp-c-brand-3: #78350f;--cp-c-brand-fg: #ffffff;--cp-c-brand-soft: rgba(217, 119, 6, .14);--cp-c-on-brand: #ffffff;--cp-c-brand-light: #fbbf24;--cp-c-brand-lighter: #fcd34d;--cp-c-success: #16a34a;--cp-c-error: #dc2626;--cp-c-warn: #d97706;--cp-c-info: #2563eb;--cp-c-muted: #888888;--cp-c-bg: #fffaf2;--cp-c-bg-alt: #fdf4e1;--cp-c-bg-elv: #f7ebd0;--cp-c-bg-soft: #f0dfb8;--cp-c-bg-icon: #caa97a;--cp-c-home-bg: #fffaf2;--cp-c-overlay-faint: rgba(58, 31, 4, .08);--cp-c-gutter: #fdf4e1;--cp-code-block-bg: #fdf4e1;--cp-c-text-1: #3a1f04;--cp-c-text-2: rgba(58, 31, 4, .72);--cp-c-text-3: rgba(58, 31, 4, .48);--cp-c-border: #d5c2a3;--cp-c-divider: #e6d8b8;--cp-c-sidebar-alt-border-dark: #5a4020;--cp-c-tint-purple-bg: rgba(167, 139, 250, .12);--cp-c-tint-purple-fg: #a78bfa;--cp-c-tint-blue-bg: rgba(96, 165, 250, .12);--cp-c-tint-blue-fg: #60a5fa;--cp-c-tint-green-bg: rgba(52, 211, 153, .12);--cp-c-tint-green-fg: #34d399;--cp-c-tint-amber-bg: rgba(251, 191, 36, .12);--cp-c-tint-amber-fg: #fbbf24;--cp-c-tint-red-bg: rgba(248, 113, 113, .12);--cp-c-tint-red-fg: #f87171;--cp-c-tint-slate-bg: rgba(148, 163, 184, .12);--cp-c-tint-slate-fg: #94a3b8;--cp-c-tint-cyan-bg: rgba(14, 165, 233, .12);--cp-c-tint-cyan-fg: #0ea5e9;--cp-c-tint-pink-bg: rgba(244, 114, 182, .12);--cp-c-tint-pink-fg: #f472b6;--cp-c-tint-purple-bright-fg: #c084fc;--cp-c-tint-amber-bright-fg: #fcd34d;--cp-c-tint-purple-glow: rgba(167, 139, 250, .08);--cp-c-term-bg: #0d0d0d;--cp-c-term-titlebar-bg: #161616;--cp-c-term-border: #222222;--cp-c-term-title: #888888;--cp-c-term-text: #d4d4d4;--cp-c-term-prompt-prefix: #888888;--cp-c-term-output: #aaaaaa;--cp-c-term-red: #f87171;--cp-c-term-green: #4ade80;--cp-c-term-blue: #60a5fa;--cp-c-term-yellow: #fbbf24;--cp-c-term-cyan: #22d3ee;--cp-c-term-magenta: #c084fc;--cp-c-term-white: #f5f5f5;--cp-c-term-gray: #888888;--cp-c-term-success: #4ade80;--cp-c-term-error: #f87171;--cp-c-term-warn: #fbbf24;--cp-c-term-info: #60a5fa;--cp-c-term-muted: #888888;--cp-c-term-bar: #888888;--cp-c-term-step: #c084fc;--cp-c-window-dot-close: #ff5f57;--cp-c-window-dot-minimize: #febc2e;--cp-c-window-dot-maximize: #28c840;--cp-c-window-title-fallback: #888888;--cp-c-badge-info-bg: rgba(37, 99, 235, .12);--cp-c-badge-info-fg: #2563eb;--cp-c-badge-success-bg: rgba(16, 185, 129, .12);--cp-c-badge-success-fg: #059669;--cp-c-badge-warning-bg: rgba(217, 119, 6, .12);--cp-c-badge-warning-fg: #d97706;--cp-c-badge-error-bg: rgba(220, 38, 38, .12);--cp-c-badge-error-fg: #dc2626;--cp-c-scrollbar-thumb: #3a3a3a;--cp-c-scrollbar-thumb-hover: #4a4a4a;--cp-c-syntax-kw: #c084fc;--cp-c-syntax-str: #fcd34d;--cp-c-syntax-fn: #60a5fa;--cp-c-gradient-hero-cyan: #06b6d4;--cp-c-gradient-hero-purple: #a855f7;--cp-oas-get: #16a34a;--cp-oas-post: #2563eb;--cp-oas-put: #d97706;--cp-oas-patch: #d97706;--cp-oas-delete: #dc2626;--cp-oas-deprecated: var(--cp-c-text-3);--cp-oas-required: #dc2626;--cp-button-brand-bg: #b45309;--cp-button-brand-hover-bg: #d97706;--cp-button-brand-active-bg: #78350f;--cp-button-brand-text: #ffffff;--cp-s-1: 1px;--cp-s-2: 2px;--cp-s-3: 3px;--cp-s-4: 4px;--cp-s-5: 5px;--cp-s-6: 6px;--cp-s-8: 8px;--cp-s-10: 10px;--cp-s-12: 12px;--cp-s-14: 14px;--cp-s-16: 16px;--cp-s-18: 18px;--cp-s-20: 20px;--cp-s-24: 24px;--cp-s-28: 28px;--cp-s-32: 32px;--cp-s-40: 40px;--cp-s-48: 48px;--cp-s-56: 56px;--cp-s-64: 64px;--cp-s-72: 72px;--cp-s-96: 96px;--cp-radius-xs: 2px;--cp-radius-xs-sm: 3px;--cp-radius-sm: 4px;--cp-radius-md-sm: 6px;--cp-radius-md: 8px;--cp-radius-lg: 10px;--cp-radius-md-lg: 12px;--cp-radius-pill: 9999px;--cp-ff-sans: "Geist", ui-sans-serif, system-ui, sans-serif;--cp-ff-mono: "Geist Mono", ui-monospace, "SFMono-Regular", monospace;--cp-fw-regular: 400;--cp-fw-medium: 500;--cp-fw-semibold: 600;--cp-fw-bold: 700;--cp-fs-body: 16px;--cp-fs-btn: 14px;--cp-fs-bullet: 14px;--cp-fs-code: 13px;--cp-fs-eyebrow: 11px;--cp-fs-tagline: 18px;--cp-fs-hero-title: clamp(40px, 6.5vw, 76px);--cp-fs-split-title: clamp(28px, 4vw, 40px);--cp-fs-feature-title: 18px;--cp-fs-feature-desc: 16px;--cp-fs-feature-link: 12px;--cp-fs-section-title: 14px;--cp-fs-section-desc: 12.5px;--cp-fs-badge: 11px;--cp-fs-tooltip: 13px;--cp-fs-tooltip-headline: 13px;--cp-fs-tooltip-cta: 12px;--cp-fs-check: 11px;--cp-fs-field-name: 14px;--cp-fs-field-type: 11px;--cp-fs-field-badge: 11px;--cp-fs-field-default: 12px;--cp-fs-field-default-code: 11px;--cp-fs-field-body: 14px;--cp-fs-field-group-title: 14px;--cp-fs-field-trigger: 12px;--cp-fs-prompt-desc: 14px;--cp-fs-prompt-feedback: 12px;--cp-fs-prompt-btn: 12px;--cp-fs-prompt-menu-item: 13px;--cp-fs-prompt-menu-desc: 11px;--cp-fs-color-name: 12px;--cp-fs-color-value: 11px;--cp-fs-window-title: 12px;--cp-fs-window-tab: 12px;--cp-fs-window-url: 11px;--cp-fs-term-body: 13px;--cp-fs-demo-title: 11px;--cp-fs-demo-body: 13px;--cp-fs-ask-ai: 13px;--cp-fs-ask-ai-mark: 10px;--cp-fs-ask-ai-shortcut: 10px;--cp-fs-sidebar-link: 14px;--cp-shadow-card-hover: 0 2px 12px var(--cp-c-tint-purple-glow);--cp-shadow-menu: 0 8px 24px rgba(0, 0, 0, .12);--cp-shadow-tooltip: 0 4px 12px rgba(0, 0, 0, .08);--cp-shadow-hero-demo: 0 0 0 1px rgba(0, 0, 0, .5), 0 24px 48px -12px rgba(0, 0, 0, .6), 0 0 80px var(--cp-c-brand-soft);--cp-shadow-ask-ai: 0 8px 24px rgba(0, 0, 0, .4), 0 0 0 4px rgba(0, 0, 0, .5);--cp-duration-fast: .15s;--cp-duration-base: .2s;--cp-ease-base: ease;--cp-z-dropdown: 50;--cp-z-floating: 60;--cp-z-tooltip: 100;--cp-lh-display: 1;--cp-lh-tight: 1.4;--cp-lh-tighter: 1.3;--cp-lh-snug: 1.45;--cp-lh-base: 1.5;--cp-lh-relaxed: 1.6;--cp-lh-demo: 1.65;--cp-lh-code: 1.7;--cp-lh-sidebar: 24px;--cp-letter-wide: .02em;--cp-letter-eyebrow: .1em;--cp-letter-display: -.025em;--cp-letter-hero: -.04em;--cp-opacity-muted: .5;--cp-opacity-deprecated: .6;--cp-opacity-hover: .8;--cp-size-titlebar: 36px;--cp-size-window-dot: 10px;--cp-size-window-tab-dot: 6px;--cp-size-browser-tab-max: 200px;--cp-size-browser-icon: 14px;--cp-size-browser-urlbar: 28px;--cp-size-icon-box: 36px;--cp-size-icon-box-sm: 28px;--cp-size-icon-svg: 18px;--cp-size-icon-svg-sm: 16px;--cp-size-icon-sm: 16px;--cp-size-content-max: 1152px;--cp-size-focus-ring: 2px;--cp-size-focus-ring-offset: 2px;--cp-size-tooltip-max: 320px;--cp-size-swatch: 24px;--cp-size-demo-max: 920px;--cp-size-split-max: 1200px;--cp-size-hero-grid: 24px;--cp-size-hero-max: 1100px;--cp-size-tagline-max: 640px;--cp-size-prompt-icon: 20px;--cp-size-prompt-btn: 30px;--cp-size-menu-min: 220px;--cp-size-prompt-menu-icon: 18px;--cp-size-check: 18px;--cp-size-chevron: 14px;--cp-size-ask-ai-icon: 18px;--cp-size-sidebar-circle: 36px;--cp-size-scrollbar: 6px;--cp-bp-sm: 768px;--cp-bp-md: 720px;--cp-bp-md-lg: 880px;--cp-bp-content: 1184px;--cp-blur-base: 8px;--cp-gradient-brand: linear-gradient(135deg, var(--cp-c-brand-1), var(--cp-c-brand-3));--cp-gradient-hero-title: linear-gradient(135deg, var(--cp-c-brand-1), var(--cp-c-brand-light));--rp-c-bg: #fffaf2;--rp-c-bg-alt: #fdf4e1;--rp-c-bg-dark: #fdf4e1;--rp-c-bg-mute: #fffaf2;--rp-c-bg-soft: #f0dfb8;--rp-c-brand: #d97706;--rp-c-brand-light: #fbbf24;--rp-c-brand-lighter: #fcd34d;--rp-c-brand-dark: #b45309;--rp-c-brand-darker: #78350f;--rp-c-brand-tint: rgba(217, 119, 6, .14);--rp-c-divider: #e6d8b8;--rp-c-divider-dark: #d5c2a3;--rp-c-divider-light: #e6d8b8;--rp-c-link: #d97706;--rp-c-text-1: #3a1f04;--rp-c-text-2: rgba(58, 31, 4, .72);--rp-c-text-3: rgba(58, 31, 4, .48);--rp-c-text-4: rgba(58, 31, 4, .48);--rp-c-text-code: #3a1f04;--rp-code-block-bg: #fdf4e1;--rp-home-background-bg: #fffaf2;--rp-home-feature-bg: #f0dfb8;--rp-home-hero-secondary-color: rgba(58, 31, 4, .72);--rp-home-hero-title-color: #3a1f04}