forgebook 0.3.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (693) hide show
  1. package/README.md +917 -74
  2. package/dist/bin/forgebook/agentClient.d.ts +2 -1
  3. package/dist/bin/forgebook/agentClient.js +13 -6
  4. package/dist/bin/forgebook/agentGuide.d.ts +59 -0
  5. package/dist/bin/forgebook/agentGuide.js +203 -0
  6. package/dist/bin/forgebook/agentLoopCommands.mjs +22 -42
  7. package/dist/bin/forgebook/agentSetup/agentFiles.d.ts +55 -0
  8. package/dist/bin/forgebook/agentSetup/agentFiles.js +319 -0
  9. package/dist/bin/forgebook/agentSetup/assistantHooks.d.ts +71 -0
  10. package/dist/bin/forgebook/agentSetup/assistantHooks.js +125 -0
  11. package/dist/bin/forgebook/agentSetup/ciWorkflow.d.ts +23 -0
  12. package/dist/bin/forgebook/agentSetup/ciWorkflow.js +55 -0
  13. package/dist/bin/forgebook/agentSetup/drawCandidates.d.ts +25 -0
  14. package/dist/bin/forgebook/agentSetup/drawCandidates.js +116 -0
  15. package/dist/bin/forgebook/agentSetup/drawDiagnosis.d.ts +28 -0
  16. package/dist/bin/forgebook/agentSetup/drawDiagnosis.js +134 -0
  17. package/dist/bin/forgebook/agentSetup/drawRun.d.ts +91 -0
  18. package/dist/bin/forgebook/agentSetup/drawRun.js +353 -0
  19. package/dist/bin/forgebook/agentSetup/hookNames.d.ts +7 -0
  20. package/dist/bin/forgebook/agentSetup/hookNames.js +7 -0
  21. package/dist/bin/forgebook/agentSetup/initAgentSteps.d.ts +48 -0
  22. package/dist/bin/forgebook/agentSetup/initAgentSteps.js +104 -0
  23. package/dist/bin/forgebook/agentSetup/liftedProviders.d.ts +17 -0
  24. package/dist/bin/forgebook/agentSetup/liftedProviders.js +186 -0
  25. package/dist/bin/forgebook/agentSetup/projectRunner.d.ts +46 -0
  26. package/dist/bin/forgebook/agentSetup/projectRunner.js +85 -0
  27. package/dist/bin/forgebook/agentSetup/stopHook.d.ts +65 -0
  28. package/dist/bin/forgebook/agentSetup/stopHook.js +202 -0
  29. package/dist/bin/forgebook/agentSetup/uniformPicture.d.ts +7 -0
  30. package/dist/bin/forgebook/agentSetup/uniformPicture.js +98 -0
  31. package/dist/bin/forgebook/agentSetupCommands.d.mts +14 -0
  32. package/dist/bin/forgebook/agentSetupCommands.mjs +98 -0
  33. package/dist/bin/forgebook/agentText.d.ts +23 -3
  34. package/dist/bin/forgebook/agentText.js +175 -28
  35. package/dist/bin/forgebook/agents.md +20 -191
  36. package/dist/bin/forgebook/agentsText.js +2 -1
  37. package/dist/bin/forgebook/appBuild/appBuild.d.ts +59 -0
  38. package/dist/bin/forgebook/appBuild/appBuild.js +213 -0
  39. package/dist/bin/forgebook/appBuild/appViteConfig.d.ts +96 -0
  40. package/dist/bin/forgebook/appBuild/appViteConfig.js +320 -0
  41. package/dist/bin/forgebook/appBuild/tsconfigPaths.d.ts +14 -0
  42. package/dist/bin/forgebook/appBuild/tsconfigPaths.js +80 -0
  43. package/dist/bin/forgebook/auditCommand.d.mts +8 -0
  44. package/dist/bin/forgebook/auditCommand.mjs +75 -0
  45. package/dist/bin/forgebook/auditRun.d.ts +95 -0
  46. package/dist/bin/forgebook/auditRun.js +270 -0
  47. package/dist/bin/forgebook/browserRun.d.ts +21 -0
  48. package/dist/bin/forgebook/browserRun.js +57 -0
  49. package/dist/bin/forgebook/buildFailure.d.ts +7 -0
  50. package/dist/bin/forgebook/buildFailure.js +47 -0
  51. package/dist/bin/forgebook/buildWatch.d.ts +52 -0
  52. package/dist/bin/forgebook/buildWatch.js +137 -0
  53. package/dist/bin/forgebook/builtCatalogue.js +9 -5
  54. package/dist/bin/forgebook/catalogueCommands.d.ts +9 -0
  55. package/dist/bin/forgebook/catalogueCommands.js +23 -0
  56. package/dist/bin/forgebook/catalogueVite.d.ts +5 -1
  57. package/dist/bin/forgebook/catalogueVite.js +14 -6
  58. package/dist/bin/forgebook/commandCacheClaim.d.ts +18 -0
  59. package/dist/bin/forgebook/commandCacheClaim.js +170 -0
  60. package/dist/bin/forgebook/commandServer.d.ts +8 -0
  61. package/dist/bin/forgebook/commandServer.js +61 -13
  62. package/dist/bin/forgebook/forgebookCommands.mjs +105 -28
  63. package/dist/bin/forgebook/graphCommand.d.mts +8 -0
  64. package/dist/bin/forgebook/graphCommand.mjs +84 -0
  65. package/dist/bin/forgebook/guide/commands.md +57 -0
  66. package/dist/bin/forgebook/guide/devices.md +17 -0
  67. package/dist/bin/forgebook/guide/docs-pages.md +13 -0
  68. package/dist/bin/forgebook/guide/frameworks/angular.md +22 -0
  69. package/dist/bin/forgebook/guide/frameworks/html.md +22 -0
  70. package/dist/bin/forgebook/guide/frameworks/nextjs.md +23 -0
  71. package/dist/bin/forgebook/guide/frameworks/nuxt.md +22 -0
  72. package/dist/bin/forgebook/guide/frameworks/preact.md +16 -0
  73. package/dist/bin/forgebook/guide/frameworks/react-native-web.md +21 -0
  74. package/dist/bin/forgebook/guide/frameworks/react.md +16 -0
  75. package/dist/bin/forgebook/guide/frameworks/solid.md +18 -0
  76. package/dist/bin/forgebook/guide/frameworks/svelte.md +18 -0
  77. package/dist/bin/forgebook/guide/frameworks/sveltekit.md +23 -0
  78. package/dist/bin/forgebook/guide/frameworks/vue.md +18 -0
  79. package/dist/bin/forgebook/guide/frameworks/web-components.md +21 -0
  80. package/dist/bin/forgebook/guide/links.md +29 -0
  81. package/dist/bin/forgebook/guide/setup.md +23 -0
  82. package/dist/bin/forgebook/guide/stories.md +90 -0
  83. package/dist/bin/forgebook/guide/switches.md +43 -0
  84. package/dist/bin/forgebook/guideCommand.d.mts +13 -0
  85. package/dist/bin/forgebook/guideCommand.mjs +37 -0
  86. package/dist/bin/forgebook/importers/storybook.d.ts +21 -0
  87. package/dist/bin/forgebook/importers/storybook.js +11 -5
  88. package/dist/bin/forgebook/importers/storybookFrameworks.js +1 -1
  89. package/dist/bin/forgebook/initCommands.d.mts +11 -0
  90. package/dist/bin/forgebook/initCommands.mjs +51 -78
  91. package/dist/bin/forgebook/initConfig.d.ts +5 -3
  92. package/dist/bin/forgebook/initConfig.js +6 -3
  93. package/dist/bin/forgebook/initInstall.d.ts +15 -0
  94. package/dist/bin/forgebook/initInstall.js +77 -0
  95. package/dist/bin/forgebook/initPrint.d.ts +9 -0
  96. package/dist/bin/forgebook/initPrint.js +60 -0
  97. package/dist/bin/forgebook/initRefusals.d.ts +45 -0
  98. package/dist/bin/forgebook/initRefusals.js +91 -0
  99. package/dist/bin/forgebook/initRun.d.ts +28 -0
  100. package/dist/bin/forgebook/initRun.js +311 -0
  101. package/dist/bin/forgebook/mcpCommand.mjs +38 -4
  102. package/dist/bin/forgebook/mcpGraph.d.ts +13 -0
  103. package/dist/bin/forgebook/mcpGraph.js +24 -0
  104. package/dist/bin/forgebook/mcpTokens.d.ts +14 -0
  105. package/dist/bin/forgebook/mcpTokens.js +58 -0
  106. package/dist/bin/forgebook/mcpToolParts.d.ts +7 -0
  107. package/dist/bin/forgebook/mcpToolParts.js +10 -0
  108. package/dist/bin/forgebook/mcpTools.d.ts +13 -6
  109. package/dist/bin/forgebook/mcpTools.js +57 -90
  110. package/dist/bin/forgebook/mcpVerify.d.ts +16 -0
  111. package/dist/bin/forgebook/mcpVerify.js +36 -0
  112. package/dist/bin/forgebook/migrate/codemods.d.ts +11 -0
  113. package/dist/bin/forgebook/migrate/codemods.js +61 -0
  114. package/dist/bin/forgebook/migrate/migrate.types.d.ts +117 -0
  115. package/dist/bin/forgebook/migrate/migrate.types.js +5 -0
  116. package/dist/bin/forgebook/migrate/migrateCommand.d.mts +8 -0
  117. package/dist/bin/forgebook/migrate/migrateCommand.mjs +76 -0
  118. package/dist/bin/forgebook/migrate/migrateRun.d.ts +61 -0
  119. package/dist/bin/forgebook/migrate/migrateRun.js +210 -0
  120. package/dist/bin/forgebook/migrate/migrateText.d.ts +12 -0
  121. package/dist/bin/forgebook/migrate/migrateText.js +30 -0
  122. package/dist/bin/forgebook/migrate/migrateWrite.d.ts +27 -0
  123. package/dist/bin/forgebook/migrate/migrateWrite.js +66 -0
  124. package/dist/bin/forgebook/migrate/objectEdits.d.ts +70 -0
  125. package/dist/bin/forgebook/migrate/objectEdits.js +241 -0
  126. package/dist/bin/forgebook/migrate/playOnInBuilds.d.ts +3 -0
  127. package/dist/bin/forgebook/migrate/playOnInBuilds.js +86 -0
  128. package/dist/bin/forgebook/migrate/propGroupStrings.d.ts +5 -0
  129. package/dist/bin/forgebook/migrate/propGroupStrings.js +81 -0
  130. package/dist/bin/forgebook/newProject/newProject.d.ts +39 -0
  131. package/dist/bin/forgebook/newProject/newProject.js +180 -0
  132. package/dist/bin/forgebook/newProject/newProject.types.d.ts +97 -0
  133. package/dist/bin/forgebook/newProject/newProject.types.js +6 -0
  134. package/dist/bin/forgebook/newProject/packageManagers.d.ts +51 -0
  135. package/dist/bin/forgebook/newProject/packageManagers.js +121 -0
  136. package/dist/bin/forgebook/newProject/projectEntries.d.ts +62 -0
  137. package/dist/bin/forgebook/newProject/projectEntries.js +191 -0
  138. package/dist/bin/forgebook/newProject/projectFrameworks.d.ts +57 -0
  139. package/dist/bin/forgebook/newProject/projectFrameworks.js +148 -0
  140. package/dist/bin/forgebook/newProject/projectLook.d.ts +23 -0
  141. package/dist/bin/forgebook/newProject/projectLook.js +293 -0
  142. package/dist/bin/forgebook/newProject/projectPackages.d.ts +66 -0
  143. package/dist/bin/forgebook/newProject/projectPackages.js +178 -0
  144. package/dist/bin/forgebook/newRepair.d.ts +45 -0
  145. package/dist/bin/forgebook/newRepair.js +157 -0
  146. package/dist/bin/forgebook/newRepairRun.d.ts +69 -0
  147. package/dist/bin/forgebook/newRepairRun.js +148 -0
  148. package/dist/bin/forgebook/newStories.d.ts +23 -1
  149. package/dist/bin/forgebook/newStories.js +101 -11
  150. package/dist/bin/forgebook/newStoriesFile.d.ts +20 -1
  151. package/dist/bin/forgebook/newStoriesFile.js +43 -4
  152. package/dist/bin/forgebook/prebundleRun.d.ts +3 -1
  153. package/dist/bin/forgebook/prebundleRun.js +28 -8
  154. package/dist/bin/forgebook/proofCommand.d.mts +15 -0
  155. package/dist/bin/forgebook/proofCommand.mjs +212 -0
  156. package/dist/bin/forgebook/proofRun.d.ts +63 -0
  157. package/dist/bin/forgebook/proofRun.js +412 -0
  158. package/dist/bin/forgebook/proofText.d.ts +36 -0
  159. package/dist/bin/forgebook/proofText.js +131 -0
  160. package/dist/bin/forgebook/proofWorkflow.d.ts +29 -0
  161. package/dist/bin/forgebook/proofWorkflow.js +205 -0
  162. package/dist/bin/forgebook/setArgsTool.d.ts +8 -0
  163. package/dist/bin/forgebook/setArgsTool.js +70 -0
  164. package/dist/bin/forgebook/storyCheckCommands.mjs +42 -3
  165. package/dist/bin/forgebook/storyCheckRun.d.ts +50 -0
  166. package/dist/bin/forgebook/storyCheckRun.js +83 -9
  167. package/dist/bin/forgebook/storyFileIds.d.ts +15 -0
  168. package/dist/bin/forgebook/storyFileIds.js +14 -0
  169. package/dist/bin/forgebook/stressCases.d.ts +31 -0
  170. package/dist/bin/forgebook/stressCases.js +79 -0
  171. package/dist/bin/forgebook/stressRun.d.ts +12 -0
  172. package/dist/bin/forgebook/stressRun.js +61 -0
  173. package/dist/bin/forgebook/stressText.d.ts +27 -0
  174. package/dist/bin/forgebook/stressText.js +46 -0
  175. package/dist/bin/forgebook/verifyBase.d.ts +45 -0
  176. package/dist/bin/forgebook/verifyBase.js +196 -0
  177. package/dist/bin/forgebook/verifyCommand.d.mts +13 -0
  178. package/dist/bin/forgebook/verifyCommand.mjs +125 -0
  179. package/dist/bin/forgebook/verifyRun.d.ts +63 -0
  180. package/dist/bin/forgebook/verifyRun.js +108 -0
  181. package/dist/bin/forgebook/verifyVerdict.d.ts +40 -0
  182. package/dist/bin/forgebook/verifyVerdict.js +297 -0
  183. package/dist/bin/forgebook/workflowActions.d.ts +23 -0
  184. package/dist/bin/forgebook/workflowActions.js +23 -0
  185. package/dist/bin/forgebook-docs/catalogueMarkdown.js +12 -1
  186. package/dist/src/addressArgs.d.ts +54 -6
  187. package/dist/src/addressArgs.js +72 -16
  188. package/dist/src/addressArgsParam.d.ts +54 -0
  189. package/dist/src/addressArgsParam.js +51 -0
  190. package/dist/src/addressTexts.d.ts +14 -0
  191. package/dist/src/addressTexts.js +28 -21
  192. package/dist/src/agentIndexFile.d.ts +11 -0
  193. package/dist/src/agentIndexFile.js +11 -0
  194. package/dist/src/argConditions.d.ts +52 -0
  195. package/dist/src/argConditions.js +80 -0
  196. package/dist/src/argControl.d.ts +100 -0
  197. package/dist/src/argControl.js +0 -0
  198. package/dist/src/argExpression.d.ts +21 -0
  199. package/dist/src/argExpression.js +30 -0
  200. package/dist/src/argTypes.d.ts +40 -51
  201. package/dist/src/argTypes.js +66 -184
  202. package/dist/src/argsProps.d.ts +3 -3
  203. package/dist/src/argsProps.js +11 -5
  204. package/dist/src/bundlerErrors.d.ts +29 -0
  205. package/dist/src/bundlerErrors.js +49 -0
  206. package/dist/src/catalogue.d.ts +31 -0
  207. package/dist/src/catalogue.js +13 -2
  208. package/dist/src/catalogueRefs.d.ts +75 -0
  209. package/dist/src/catalogueRefs.js +122 -0
  210. package/dist/src/componentDocs.d.ts +71 -0
  211. package/dist/src/componentDocs.js +15 -2
  212. package/dist/src/frame/callValues.d.ts +19 -0
  213. package/dist/src/frame/callValues.js +58 -0
  214. package/dist/src/frame/canvasScheme.d.ts +33 -0
  215. package/dist/src/frame/canvasScheme.js +67 -0
  216. package/dist/src/frame/frame.css +36 -3
  217. package/dist/src/frame/frameStatus.d.ts +16 -1
  218. package/dist/src/frame/frameStatus.js +16 -1
  219. package/dist/src/frame/frameView.js +4 -3
  220. package/dist/src/frame/mountFrame.d.ts +7 -1
  221. package/dist/src/frame/mountFrame.js +153 -46
  222. package/dist/src/frame/panelValues.d.ts +35 -0
  223. package/dist/src/frame/panelValues.js +127 -0
  224. package/dist/src/frame/playActions.d.ts +39 -0
  225. package/dist/src/frame/playActions.js +98 -0
  226. package/dist/src/frame/playStepper.d.ts +28 -0
  227. package/dist/src/frame/playStepper.js +38 -0
  228. package/dist/src/frame/playStory.d.ts +9 -1
  229. package/dist/src/frame/playStory.js +49 -3
  230. package/dist/src/frame/renderer.d.ts +34 -1
  231. package/dist/src/frame/renderer.js +24 -0
  232. package/dist/src/frame/shellChannel.d.ts +1 -1
  233. package/dist/src/frame/shellChannel.js +1 -1
  234. package/dist/src/frame/shellCheck.d.ts +17 -0
  235. package/dist/src/frame/shellCheck.js +25 -0
  236. package/dist/src/frame/shellMessageCheck.d.ts +7 -0
  237. package/dist/src/frame/shellMessageCheck.js +53 -0
  238. package/dist/src/frame/storyContent.d.ts +50 -0
  239. package/dist/src/frame/storyContent.js +73 -0
  240. package/dist/src/frame/storyModule.d.ts +9 -0
  241. package/dist/src/frame/storyModule.js +20 -2
  242. package/dist/src/frame/storyRun.d.ts +15 -7
  243. package/dist/src/frame/storyRun.js +64 -15
  244. package/dist/src/frame/valueSheets.d.ts +35 -0
  245. package/dist/src/frame/valueSheets.js +99 -0
  246. package/dist/src/hotModules.d.ts +20 -0
  247. package/dist/src/hotModules.js +23 -0
  248. package/dist/src/jsxCode.d.ts +1 -14
  249. package/dist/src/jsxCode.js +46 -10
  250. package/dist/src/liveErrors.d.ts +30 -4
  251. package/dist/src/liveErrors.js +18 -3
  252. package/dist/src/messages.d.ts +77 -27
  253. package/dist/src/messages.js +58 -100
  254. package/dist/src/namedValues.d.ts +2 -26
  255. package/dist/src/namedValues.js +0 -47
  256. package/dist/src/pageConfig.d.ts +2 -0
  257. package/dist/src/playTrace.d.ts +19 -2
  258. package/dist/src/playTrace.js +10 -5
  259. package/dist/src/plugin.d.ts +10 -3
  260. package/dist/src/previewRelay.js +9 -1
  261. package/dist/src/printable.d.ts +12 -0
  262. package/dist/src/printable.js +22 -0
  263. package/dist/src/propsSignature.d.ts +37 -0
  264. package/dist/src/propsSignature.js +40 -0
  265. package/dist/src/search.d.ts +41 -5
  266. package/dist/src/search.js +93 -23
  267. package/dist/src/searchMatch.d.ts +4 -1
  268. package/dist/src/searchMatch.js +26 -5
  269. package/dist/src/searchTypos.d.ts +88 -0
  270. package/dist/src/searchTypos.js +178 -0
  271. package/dist/src/shapeValues.d.ts +86 -0
  272. package/dist/src/shapeValues.js +295 -0
  273. package/dist/src/shell/ApiReference.js +6 -3
  274. package/dist/src/shell/ApiTableBox.d.ts +15 -0
  275. package/dist/src/shell/ApiTableBox.js +11 -0
  276. package/dist/src/shell/AppearanceMenu.d.ts +4 -1
  277. package/dist/src/shell/AppearanceMenu.js +9 -6
  278. package/dist/src/shell/CodeTab.d.ts +3 -2
  279. package/dist/src/shell/CodeTab.js +3 -2
  280. package/dist/src/shell/CodeText.d.ts +1 -1
  281. package/dist/src/shell/CodeText.js +2 -3
  282. package/dist/src/shell/CompareGrid.js +1 -1
  283. package/dist/src/shell/ComponentPage.d.ts +1 -1
  284. package/dist/src/shell/ComponentPage.js +5 -1
  285. package/dist/src/shell/CustomControl.d.ts +34 -0
  286. package/dist/src/shell/CustomControl.js +132 -0
  287. package/dist/src/shell/DocContainers.js +1 -1
  288. package/dist/src/shell/DocPage.js +2 -2
  289. package/dist/src/shell/DroppedArgsList.d.ts +2 -2
  290. package/dist/src/shell/DroppedArgsList.js +1 -1
  291. package/dist/src/shell/EmbedPage.js +58 -14
  292. package/dist/src/shell/Example.d.ts +5 -1
  293. package/dist/src/shell/Example.js +16 -8
  294. package/dist/src/shell/FrameView.d.ts +6 -3
  295. package/dist/src/shell/FrameView.js +2 -2
  296. package/dist/src/shell/HomePage.d.ts +3 -1
  297. package/dist/src/shell/HomePage.js +16 -6
  298. package/dist/src/shell/InfoTip.js +2 -2
  299. package/dist/src/shell/InteractionsTab.d.ts +11 -4
  300. package/dist/src/shell/InteractionsTab.js +18 -2
  301. package/dist/src/shell/LazyPage.js +1 -1
  302. package/dist/src/shell/PackageHtml.js +3 -1
  303. package/dist/src/shell/PinnedControl.js +14 -62
  304. package/dist/src/shell/PinnedControlMenu.d.ts +44 -0
  305. package/dist/src/shell/PinnedControlMenu.js +72 -0
  306. package/dist/src/shell/PluginBlockHost.js +2 -1
  307. package/dist/src/shell/PluginTabHost.js +19 -2
  308. package/dist/src/shell/PropFields.d.ts +3 -1
  309. package/dist/src/shell/PropFields.js +9 -6
  310. package/dist/src/shell/PropRows.d.ts +23 -2
  311. package/dist/src/shell/PropRows.js +58 -19
  312. package/dist/src/shell/PropsTab.d.ts +12 -5
  313. package/dist/src/shell/PropsTab.js +9 -21
  314. package/dist/src/shell/RefStoryPage.d.ts +33 -0
  315. package/dist/src/shell/RefStoryPage.js +123 -0
  316. package/dist/src/shell/SearchPanel.js +51 -24
  317. package/dist/src/shell/Shell.d.ts +18 -0
  318. package/dist/src/shell/Shell.js +137 -22
  319. package/dist/src/shell/ShortcutHelp.d.ts +22 -0
  320. package/dist/src/shell/ShortcutHelp.js +66 -0
  321. package/dist/src/shell/Sidebar.d.ts +17 -4
  322. package/dist/src/shell/Sidebar.js +92 -41
  323. package/dist/src/shell/SidebarDocs.js +2 -2
  324. package/dist/src/shell/SidebarEntries.js +5 -3
  325. package/dist/src/shell/SidebarHandle.d.ts +3 -5
  326. package/dist/src/shell/SidebarHandle.js +4 -4
  327. package/dist/src/shell/SidebarRefs.d.ts +39 -0
  328. package/dist/src/shell/SidebarRefs.js +99 -0
  329. package/dist/src/shell/SidebarSearch.js +37 -9
  330. package/dist/src/shell/SignatureReference.js +3 -1
  331. package/dist/src/shell/Stage.d.ts +10 -2
  332. package/dist/src/shell/Stage.js +35 -60
  333. package/dist/src/shell/StatusBadges.d.ts +54 -0
  334. package/dist/src/shell/StatusBadges.js +77 -0
  335. package/dist/src/shell/StoryCodeBlock.d.ts +8 -19
  336. package/dist/src/shell/StoryCodeBlock.js +7 -6
  337. package/dist/src/shell/SwitchGallery.d.ts +36 -0
  338. package/dist/src/shell/SwitchGallery.js +17 -0
  339. package/dist/src/shell/SwitchGalleryPanel.d.ts +37 -0
  340. package/dist/src/shell/SwitchGalleryPanel.js +99 -0
  341. package/dist/src/shell/TagFilter.d.ts +24 -0
  342. package/dist/src/shell/TagFilter.js +45 -0
  343. package/dist/src/shell/TagViews.d.ts +39 -0
  344. package/dist/src/shell/TagViews.js +20 -0
  345. package/dist/src/shell/Toolbar.d.ts +4 -1
  346. package/dist/src/shell/Toolbar.js +17 -7
  347. package/dist/src/shell/ToolbarControl.d.ts +3 -0
  348. package/dist/src/shell/ToolbarControl.js +23 -6
  349. package/dist/src/shell/ViewMenuPanel.js +6 -1
  350. package/dist/src/shell/argChecks.d.ts +22 -0
  351. package/dist/src/shell/argChecks.js +20 -0
  352. package/dist/src/shell/asideStory.d.ts +17 -4
  353. package/dist/src/shell/asideStory.js +21 -4
  354. package/dist/src/shell/audienceSections.css +9 -9
  355. package/dist/src/shell/catalogueContext.d.ts +1 -1
  356. package/dist/src/shell/catalogueContext.js +6 -1
  357. package/dist/src/shell/codeSpans.d.ts +27 -0
  358. package/dist/src/shell/codeSpans.js +76 -0
  359. package/dist/src/shell/compareVariants.d.ts +4 -2
  360. package/dist/src/shell/compareVariants.js +16 -8
  361. package/dist/src/shell/composition.d.ts +23 -0
  362. package/dist/src/shell/composition.js +26 -0
  363. package/dist/src/shell/controlCycle.d.ts +1 -1
  364. package/dist/src/shell/controlCycle.js +3 -2
  365. package/dist/src/shell/customControls.d.ts +55 -0
  366. package/dist/src/shell/customControls.js +70 -0
  367. package/dist/src/shell/docPage.css +22 -22
  368. package/dist/src/shell/dockTabs.d.ts +19 -3
  369. package/dist/src/shell/dockTabs.js +28 -20
  370. package/dist/src/shell/embed.css +7 -7
  371. package/dist/src/shell/framesOrigin.d.ts +7 -0
  372. package/dist/src/shell/framesOrigin.js +1 -1
  373. package/dist/src/shell/galleryPlace.d.ts +20 -0
  374. package/dist/src/shell/galleryPlace.js +26 -0
  375. package/dist/src/shell/icons.d.ts +1 -0
  376. package/dist/src/shell/icons.js +1 -0
  377. package/dist/src/shell/keyboard.d.ts +14 -12
  378. package/dist/src/shell/keyboard.js +21 -6
  379. package/dist/src/shell/laterStrings.d.ts +29 -0
  380. package/dist/src/shell/laterStrings.js +42 -3
  381. package/dist/src/shell/mountShell.js +3 -0
  382. package/dist/src/shell/pageStrings.d.ts +4 -0
  383. package/dist/src/shell/pageStrings.js +4 -0
  384. package/dist/src/shell/pageTagView.d.ts +18 -0
  385. package/dist/src/shell/pageTagView.js +10 -0
  386. package/dist/src/shell/playMemory.d.ts +14 -0
  387. package/dist/src/shell/playMemory.js +8 -0
  388. package/dist/src/shell/propNotes.d.ts +23 -0
  389. package/dist/src/shell/propNotes.js +37 -0
  390. package/dist/src/shell/refIndexLoad.d.ts +17 -0
  391. package/dist/src/shell/refIndexLoad.js +38 -0
  392. package/dist/src/shell/refParts.d.ts +34 -0
  393. package/dist/src/shell/refParts.js +9 -0
  394. package/dist/src/shell/refStory.css +21 -0
  395. package/dist/src/shell/refStrings.d.ts +13 -0
  396. package/dist/src/shell/refStrings.js +21 -0
  397. package/dist/src/shell/search.css +11 -11
  398. package/dist/src/shell/shell.css +348 -168
  399. package/dist/src/shell/shellScheme.js +2 -2
  400. package/dist/src/shell/shortcutHelp.css +64 -0
  401. package/dist/src/shell/stageArgs.d.ts +53 -0
  402. package/dist/src/shell/stageArgs.js +64 -0
  403. package/dist/src/shell/statusBadges.css +51 -0
  404. package/dist/src/shell/strings.d.ts +7 -16
  405. package/dist/src/shell/strings.js +12 -17
  406. package/dist/src/shell/switchGallery.css +104 -0
  407. package/dist/src/shell/tagFilter.css +46 -0
  408. package/dist/src/shell/tagView.d.ts +20 -0
  409. package/dist/src/shell/tagView.js +10 -0
  410. package/dist/src/shell/useAddressArgs.d.ts +27 -2
  411. package/dist/src/shell/useAddressArgs.js +71 -14
  412. package/dist/src/shell/useControlKeys.js +2 -2
  413. package/dist/src/shell/useEditedProblems.d.ts +6 -0
  414. package/dist/src/shell/useEditedProblems.js +40 -0
  415. package/dist/src/shell/useFrameMessages.js +3 -0
  416. package/dist/src/shell/useListedTree.d.ts +13 -0
  417. package/dist/src/shell/useListedTree.js +32 -0
  418. package/dist/src/shell/usePageFrames.js +2 -2
  419. package/dist/src/shell/usePopover.d.ts +5 -0
  420. package/dist/src/shell/usePopover.js +7 -1
  421. package/dist/src/shell/useRefIndex.d.ts +22 -0
  422. package/dist/src/shell/useRefIndex.js +36 -0
  423. package/dist/src/shell/useScrollStops.d.ts +20 -0
  424. package/dist/src/shell/useScrollStops.js +41 -0
  425. package/dist/src/shell/useShortcutHelp.d.ts +18 -0
  426. package/dist/src/shell/useShortcutHelp.js +32 -0
  427. package/dist/src/shell/useSidebarOverlay.d.ts +2 -1
  428. package/dist/src/shell/useSidebarOverlay.js +12 -4
  429. package/dist/src/shell/useStoryCode.d.ts +2 -1
  430. package/dist/src/shell/useStoryCode.js +12 -7
  431. package/dist/src/shell/useToolbarLayout.d.ts +5 -1
  432. package/dist/src/shell/useToolbarLayout.js +2 -2
  433. package/dist/src/shell/useWorstCase.d.ts +8 -2
  434. package/dist/src/shell/useWorstCase.js +2 -2
  435. package/dist/src/shell/valueEditors/FileEditor.d.ts +28 -0
  436. package/dist/src/shell/valueEditors/FileEditor.js +66 -0
  437. package/dist/src/shell/valueEditors/JsonEditor.d.ts +14 -0
  438. package/dist/src/shell/valueEditors/JsonEditor.js +53 -0
  439. package/dist/src/shell/valueEditors/ListEditor.d.ts +24 -0
  440. package/dist/src/shell/valueEditors/ListEditor.js +82 -0
  441. package/dist/src/shell/valueEditors/ObjectEditor.d.ts +32 -0
  442. package/dist/src/shell/valueEditors/ObjectEditor.js +70 -0
  443. package/dist/src/shell/valueEditors/PropEditor.d.ts +37 -0
  444. package/dist/src/shell/valueEditors/PropEditor.js +53 -0
  445. package/dist/src/shell/valueEditors/RecordEditor.d.ts +20 -0
  446. package/dist/src/shell/valueEditors/RecordEditor.js +84 -0
  447. package/dist/src/shell/valueEditors/SearchSelect.d.ts +42 -0
  448. package/dist/src/shell/valueEditors/SearchSelect.js +80 -0
  449. package/dist/src/shell/valueEditors/TokenEditor.d.ts +49 -0
  450. package/dist/src/shell/valueEditors/TokenEditor.js +74 -0
  451. package/dist/src/shell/valueEditors/UnionEditor.d.ts +20 -0
  452. package/dist/src/shell/valueEditors/UnionEditor.js +64 -0
  453. package/dist/src/shell/valueEditors/ValueField.d.ts +15 -0
  454. package/dist/src/shell/valueEditors/ValueField.js +147 -0
  455. package/dist/src/shell/valueEditors/editorStrings.d.ts +56 -0
  456. package/dist/src/shell/valueEditors/editorStrings.js +66 -0
  457. package/dist/src/shell/valueEditors/fieldTypes.d.ts +31 -0
  458. package/dist/src/shell/valueEditors/fieldTypes.js +0 -0
  459. package/dist/src/shell/valueEditors/valueEditors.css +153 -0
  460. package/dist/src/shell/worstArgs.d.ts +8 -5
  461. package/dist/src/shell/worstArgs.js +14 -7
  462. package/dist/src/shellTheme.d.ts +1 -1
  463. package/dist/src/shellTheme.js +15 -1
  464. package/dist/src/shellTheme.types.d.ts +4 -0
  465. package/dist/src/shellWord.d.ts +12 -0
  466. package/dist/src/shellWord.js +15 -0
  467. package/dist/src/sourceFiles.js +2 -1
  468. package/dist/src/storyArgTypes.d.ts +57 -0
  469. package/dist/src/storyArgTypes.js +195 -0
  470. package/dist/src/storyBackground.js +14 -3
  471. package/dist/src/storyCheck.d.ts +85 -3
  472. package/dist/src/storyCheck.js +23 -1
  473. package/dist/src/storyCodeText.d.ts +46 -0
  474. package/dist/src/storyCodeText.js +27 -0
  475. package/dist/src/storyControls.d.ts +100 -0
  476. package/dist/src/storyControls.js +100 -0
  477. package/dist/src/storyStatuses.d.ts +55 -0
  478. package/dist/src/storyStatuses.js +104 -0
  479. package/dist/src/storyTagNames.d.ts +25 -0
  480. package/dist/src/storyTagNames.js +25 -0
  481. package/dist/src/storyTags.d.ts +29 -0
  482. package/dist/src/storyTags.js +85 -0
  483. package/dist/src/storyTree.d.ts +13 -0
  484. package/dist/src/storyTree.js +24 -4
  485. package/dist/src/storybookArgs.d.ts +24 -0
  486. package/dist/src/storybookArgs.js +185 -0
  487. package/dist/src/switches.d.ts +66 -3
  488. package/dist/src/switches.js +42 -1
  489. package/dist/src/valueSchema.d.ts +28 -0
  490. package/dist/src/valueSchema.js +196 -0
  491. package/dist/src/valueShape.d.ts +94 -0
  492. package/dist/src/valueShape.js +25 -0
  493. package/dist/src/viewState.d.ts +8 -3
  494. package/dist/src/viewState.js +27 -10
  495. package/dist/src/vite/adapter.d.ts +40 -2
  496. package/dist/src/vite/adapter.js +1 -0
  497. package/dist/src/vite/agent.types.d.ts +347 -7
  498. package/dist/src/vite/agentApi.d.ts +23 -0
  499. package/dist/src/vite/agentApi.js +90 -17
  500. package/dist/src/vite/agentIndex.d.ts +0 -2
  501. package/dist/src/vite/agentIndex.js +5 -6
  502. package/dist/src/vite/agentRoutes.d.ts +20 -1
  503. package/dist/src/vite/agentRoutes.js +106 -65
  504. package/dist/src/vite/agentStatuses.d.ts +42 -0
  505. package/dist/src/vite/agentStatuses.js +67 -0
  506. package/dist/src/vite/agentStoryCode.d.ts +48 -0
  507. package/dist/src/vite/agentStoryCode.js +38 -0
  508. package/dist/src/vite/agentVisibility.d.ts +47 -0
  509. package/dist/src/vite/agentVisibility.js +174 -0
  510. package/dist/src/vite/appAudit.d.ts +134 -0
  511. package/dist/src/vite/appAudit.js +333 -0
  512. package/dist/src/vite/appBuildOption.d.ts +53 -0
  513. package/dist/src/vite/appBuildOption.js +55 -0
  514. package/dist/src/vite/appTokenFiles.d.ts +92 -0
  515. package/dist/src/vite/appTokenFiles.js +433 -0
  516. package/dist/src/vite/appTokens.d.ts +23 -0
  517. package/dist/src/vite/appTokens.js +275 -0
  518. package/dist/src/vite/builtTexts.d.ts +10 -0
  519. package/dist/src/vite/builtTexts.js +59 -22
  520. package/dist/src/vite/catalogueConfig.d.ts +3 -1
  521. package/dist/src/vite/catalogueConfig.js +15 -3
  522. package/dist/src/vite/changeCoverage.d.ts +74 -0
  523. package/dist/src/vite/changeCoverage.js +120 -0
  524. package/dist/src/vite/changedRoute.d.ts +30 -0
  525. package/dist/src/vite/changedRoute.js +197 -0
  526. package/dist/src/vite/checkCode.d.ts +105 -3
  527. package/dist/src/vite/checkCode.js +323 -36
  528. package/dist/src/vite/checkoutWatch.d.ts +97 -0
  529. package/dist/src/vite/checkoutWatch.js +287 -0
  530. package/dist/src/vite/closeWatch.d.ts +8 -0
  531. package/dist/src/vite/closeWatch.js +1 -1
  532. package/dist/src/vite/componentCache.d.ts +8 -0
  533. package/dist/src/vite/componentCache.js +66 -0
  534. package/dist/src/vite/componentGraph.d.ts +71 -0
  535. package/dist/src/vite/componentGraph.js +133 -0
  536. package/dist/src/vite/componentRules.d.ts +33 -0
  537. package/dist/src/vite/componentRules.js +105 -0
  538. package/dist/src/vite/componentScan.d.ts +69 -0
  539. package/dist/src/vite/componentScan.js +418 -0
  540. package/dist/src/vite/compositionCheck.d.ts +15 -0
  541. package/dist/src/vite/compositionCheck.js +243 -0
  542. package/dist/src/vite/config.d.ts +32 -1
  543. package/dist/src/vite/configFile.d.ts +14 -2
  544. package/dist/src/vite/configFile.js +124 -40
  545. package/dist/src/vite/configKeys.d.ts +15 -0
  546. package/dist/src/vite/configKeys.js +171 -0
  547. package/dist/src/vite/configLoadError.d.ts +23 -0
  548. package/dist/src/vite/configLoadError.js +71 -0
  549. package/dist/src/vite/cssDeclarations.d.ts +71 -0
  550. package/dist/src/vite/cssDeclarations.js +290 -0
  551. package/dist/src/vite/cssImports.d.ts +14 -0
  552. package/dist/src/vite/cssImports.js +48 -0
  553. package/dist/src/vite/cssReferences.d.ts +54 -0
  554. package/dist/src/vite/cssReferences.js +157 -0
  555. package/dist/src/vite/cssTokenValues.d.ts +50 -0
  556. package/dist/src/vite/cssTokenValues.js +233 -0
  557. package/dist/src/vite/designTokens.d.ts +24 -0
  558. package/dist/src/vite/designTokens.js +5 -1
  559. package/dist/src/vite/docsExtractor.d.ts +9 -3
  560. package/dist/src/vite/docsExtractor.js +11 -3
  561. package/dist/src/vite/docsProgram.d.ts +17 -4
  562. package/dist/src/vite/docsProgram.js +52 -11
  563. package/dist/src/vite/docsWorker.js +7 -2
  564. package/dist/src/vite/emptyStoryGlobs.d.ts +41 -0
  565. package/dist/src/vite/emptyStoryGlobs.js +52 -0
  566. package/dist/src/vite/fileImports.d.ts +17 -0
  567. package/dist/src/vite/fileImports.js +57 -0
  568. package/dist/src/vite/findComponent.d.ts +10 -2
  569. package/dist/src/vite/findComponent.js +27 -22
  570. package/dist/src/vite/findRoute.js +3 -2
  571. package/dist/src/vite/forcedStates.d.ts +9 -2
  572. package/dist/src/vite/forcedStates.js +12 -3
  573. package/dist/src/vite/forgebookPlugin.d.ts +2 -0
  574. package/dist/src/vite/forgebookPlugin.js +52 -72
  575. package/dist/src/vite/frameErrors.d.ts +19 -0
  576. package/dist/src/vite/frameErrors.js +70 -0
  577. package/dist/src/vite/framesServer.d.ts +12 -0
  578. package/dist/src/vite/framesServer.js +21 -4
  579. package/dist/src/vite/functionComponentDocs.js +81 -12
  580. package/dist/src/vite/generatedModules.js +4 -2
  581. package/dist/src/vite/gitChange.d.ts +38 -5
  582. package/dist/src/vite/gitChange.js +71 -11
  583. package/dist/src/vite/hiddenStoryFiles.d.ts +23 -0
  584. package/dist/src/vite/hiddenStoryFiles.js +107 -0
  585. package/dist/src/vite/hotSnippets.d.ts +38 -14
  586. package/dist/src/vite/hotSnippets.js +137 -39
  587. package/dist/src/vite/importedNames.d.ts +37 -0
  588. package/dist/src/vite/importedNames.js +138 -0
  589. package/dist/src/vite/indexFields.d.ts +6 -0
  590. package/dist/src/vite/indexFields.js +21 -0
  591. package/dist/src/vite/indexStoryFile.d.ts +8 -1
  592. package/dist/src/vite/indexStoryFile.js +22 -157
  593. package/dist/src/vite/jsxCallSites.d.ts +33 -0
  594. package/dist/src/vite/jsxCallSites.js +200 -0
  595. package/dist/src/vite/jsxInScripts.d.ts +67 -0
  596. package/dist/src/vite/jsxInScripts.js +138 -0
  597. package/dist/src/vite/jsxTree.d.ts +20 -0
  598. package/dist/src/vite/jsxTree.js +163 -0
  599. package/dist/src/vite/lineAndColumn.d.ts +13 -0
  600. package/dist/src/vite/lineAndColumn.js +18 -0
  601. package/dist/src/vite/lookAlikes.d.ts +65 -0
  602. package/dist/src/vite/lookAlikes.js +228 -0
  603. package/dist/src/vite/nearestToken.d.ts +17 -0
  604. package/dist/src/vite/nearestToken.js +9 -2
  605. package/dist/src/vite/packageEntries.d.ts +42 -0
  606. package/dist/src/vite/packageEntries.js +127 -0
  607. package/dist/src/vite/pages.d.ts +9 -1
  608. package/dist/src/vite/pages.js +108 -4
  609. package/dist/src/vite/pluginConfig.js +4 -0
  610. package/dist/src/vite/pluginIds.d.ts +2 -0
  611. package/dist/src/vite/pluginIds.js +5 -1
  612. package/dist/src/vite/pluginModules.d.ts +81 -11
  613. package/dist/src/vite/pluginModules.js +109 -21
  614. package/dist/src/vite/prebundled.d.ts +57 -15
  615. package/dist/src/vite/prebundled.js +80 -0
  616. package/dist/src/vite/previewTags.d.ts +25 -0
  617. package/dist/src/vite/previewTags.js +56 -0
  618. package/dist/src/vite/projectFiles.d.ts +54 -0
  619. package/dist/src/vite/projectFiles.js +116 -0
  620. package/dist/src/vite/projectPostcss.d.ts +70 -0
  621. package/dist/src/vite/projectPostcss.js +250 -0
  622. package/dist/src/vite/propDocs.d.ts +12 -0
  623. package/dist/src/vite/propDocs.js +130 -58
  624. package/dist/src/vite/propKind.d.ts +40 -0
  625. package/dist/src/vite/propKind.js +71 -0
  626. package/dist/src/vite/propTypeNotes.d.ts +22 -0
  627. package/dist/src/vite/propTypeNotes.js +51 -0
  628. package/dist/src/vite/publishedExports.d.ts +27 -0
  629. package/dist/src/vite/publishedExports.js +298 -0
  630. package/dist/src/vite/realFolder.d.ts +6 -0
  631. package/dist/src/vite/realFolder.js +25 -0
  632. package/dist/src/vite/refsConfig.d.ts +39 -0
  633. package/dist/src/vite/refsConfig.js +54 -0
  634. package/dist/src/vite/reuseCheck.d.ts +45 -0
  635. package/dist/src/vite/reuseCheck.js +260 -0
  636. package/dist/src/vite/runningVersions.d.ts +33 -0
  637. package/dist/src/vite/runningVersions.js +25 -0
  638. package/dist/src/vite/scriptProblems.d.ts +60 -0
  639. package/dist/src/vite/scriptProblems.js +155 -0
  640. package/dist/src/vite/searchModule.js +3 -2
  641. package/dist/src/vite/searchRoute.js +4 -2
  642. package/dist/src/vite/shapeDocs.d.ts +36 -0
  643. package/dist/src/vite/shapeDocs.js +177 -0
  644. package/dist/src/vite/singleFileComponent.d.ts +17 -0
  645. package/dist/src/vite/singleFileComponent.js +83 -0
  646. package/dist/src/vite/sourceText.d.ts +34 -0
  647. package/dist/src/vite/sourceText.js +72 -0
  648. package/dist/src/vite/sourceTokens.d.ts +7 -0
  649. package/dist/src/vite/sourceTokens.js +7 -2
  650. package/dist/src/vite/stackLines.d.ts +49 -0
  651. package/dist/src/vite/stackLines.js +96 -0
  652. package/dist/src/vite/storyCode.d.ts +22 -7
  653. package/dist/src/vite/storyCode.js +263 -37
  654. package/dist/src/vite/storyCoverage.d.ts +48 -0
  655. package/dist/src/vite/storyCoverage.js +179 -0
  656. package/dist/src/vite/storyFilesModule.d.ts +48 -3
  657. package/dist/src/vite/storyFilesModule.js +105 -15
  658. package/dist/src/vite/storyPatterns.d.ts +31 -0
  659. package/dist/src/vite/storyPatterns.js +140 -5
  660. package/dist/src/vite/storyReach.d.ts +10 -2
  661. package/dist/src/vite/storyReach.js +15 -11
  662. package/dist/src/vite/storyTopLevel.d.ts +51 -0
  663. package/dist/src/vite/storyTopLevel.js +146 -0
  664. package/dist/src/vite/storylessRoutes.d.ts +4 -3
  665. package/dist/src/vite/storylessRoutes.js +210 -19
  666. package/dist/src/vite/switchValuesCheck.d.ts +19 -0
  667. package/dist/src/vite/switchValuesCheck.js +164 -0
  668. package/dist/src/vite/switchesDocument.d.ts +15 -0
  669. package/dist/src/vite/switchesDocument.js +47 -0
  670. package/dist/src/vite/tailwindConfigTokens.d.ts +41 -0
  671. package/dist/src/vite/tailwindConfigTokens.js +306 -0
  672. package/dist/src/vite/textImports.d.ts +15 -0
  673. package/dist/src/vite/textImports.js +58 -0
  674. package/dist/src/vite/textModules.d.ts +6 -5
  675. package/dist/src/vite/textModules.js +13 -8
  676. package/dist/src/vite/tokenAnswers.d.ts +6 -2
  677. package/dist/src/vite/tokenAnswers.js +11 -7
  678. package/dist/src/vite/typeParameters.d.ts +83 -0
  679. package/dist/src/vite/typeParameters.js +270 -0
  680. package/dist/src/vite/unionProps.d.ts +37 -0
  681. package/dist/src/vite/unionProps.js +121 -0
  682. package/dist/src/vite/unresolvedTokens.d.ts +20 -0
  683. package/dist/src/vite/unresolvedTokens.js +193 -0
  684. package/dist/src/vite/usageGraph.js +10 -52
  685. package/dist/src/vite/usageGuidance.d.ts +9 -2
  686. package/dist/src/vite/usageGuidance.js +36 -8
  687. package/dist/src/vite/usageImports.d.ts +35 -0
  688. package/dist/src/vite/usageImports.js +280 -0
  689. package/dist/src/vite/visibilityRoute.d.ts +16 -0
  690. package/dist/src/vite/visibilityRoute.js +320 -0
  691. package/dist/src/worstCase.d.ts +2 -0
  692. package/dist/src/worstCase.js +2 -0
  693. package/package.json +28 -8
@@ -5,6 +5,18 @@
5
5
  --forgebook-radius-control-small: 6px;
6
6
  --forgebook-radius-control: 7px;
7
7
  --forgebook-radius-card: 12px;
8
+ --forgebook-focus-edge: inset 0 0 0 1px var(--forgebook-accent);
9
+ --forgebook-focus-halo: color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
10
+ --forgebook-text-display: 700 1.375rem/1.2 var(--forgebook-font-sans);
11
+ --forgebook-text-card-title: 600 0.875rem/1.3 var(--forgebook-font-sans);
12
+ --forgebook-text-body: 400 0.8125rem/1.4 var(--forgebook-font-sans);
13
+ --forgebook-text-row-label: 500 0.8125rem/1.35 var(--forgebook-font-sans);
14
+ --forgebook-text-row-compact: 400 0.78125rem/1.4 var(--forgebook-font-sans);
15
+ --forgebook-text-control: 500 0.75rem/1.3 var(--forgebook-font-sans);
16
+ --forgebook-text-caption: 400 0.6875rem/1.35 var(--forgebook-font-sans);
17
+ --forgebook-text-label: 600 0.6875rem/1.3 var(--forgebook-font-sans);
18
+ --forgebook-text-mono: 400 0.71875rem/1.4 var(--forgebook-font-mono);
19
+ --forgebook-text-mono-small: 400 0.6875rem/1.6 var(--forgebook-font-mono);
8
20
  --forgebook-window: #f6f6f8;
9
21
  --forgebook-sidebar: #ebebef;
10
22
  --forgebook-surface: #fff;
@@ -19,6 +31,8 @@
19
31
  --forgebook-accent-text: #0059d2;
20
32
  --forgebook-on-accent: #fff;
21
33
  --forgebook-danger-text: #bc1f16;
34
+ --forgebook-caution-text: #935200;
35
+ --forgebook-positive-text: #077229;
22
36
  --forgebook-code-keyword: #7036c4;
23
37
  --forgebook-code-type: #0059d2;
24
38
  --forgebook-code-string: #077229;
@@ -52,6 +66,8 @@
52
66
  --forgebook-accent-text: #7ab3ff;
53
67
  --forgebook-on-accent: #fff;
54
68
  --forgebook-danger-text: #ff8a80;
69
+ --forgebook-caution-text: #f2b46b;
70
+ --forgebook-positive-text: #7fdc8f;
55
71
  --forgebook-code-keyword: #c9a8ff;
56
72
  --forgebook-code-type: #7ab3ff;
57
73
  --forgebook-code-string: #7fdc8f;
@@ -85,6 +101,8 @@
85
101
  --forgebook-accent-text: #7ab3ff;
86
102
  --forgebook-on-accent: #fff;
87
103
  --forgebook-danger-text: #ff8a80;
104
+ --forgebook-caution-text: #f2b46b;
105
+ --forgebook-positive-text: #7fdc8f;
88
106
  --forgebook-code-keyword: #c9a8ff;
89
107
  --forgebook-code-type: #7ab3ff;
90
108
  --forgebook-code-string: #7fdc8f;
@@ -104,7 +122,7 @@
104
122
  }
105
123
  body {
106
124
  margin: 0;
107
- font: 400 0.8125rem/1.4 var(--forgebook-font-sans);
125
+ font: var(--forgebook-text-body);
108
126
  color: var(--forgebook-text);
109
127
  background: var(--forgebook-window);
110
128
  }
@@ -169,15 +187,19 @@
169
187
  box-shadow: inset 0 1px 0 var(--forgebook-separator);
170
188
  }
171
189
  .forgebook-sidebar-handle {
172
- flex: none;
190
+ position: absolute;
191
+ inset-block: 0;
192
+ inset-inline-end: 0;
173
193
  width: 5px;
174
- margin-inline-start: -3px;
175
194
  cursor: ew-resize;
176
195
  touch-action: none;
177
196
  z-index: 1;
178
197
  }
179
- .forgebook-sidebar-handle:hover, .forgebook-sidebar-handle:active, .forgebook-sidebar-handle:focus-visible {
198
+ .forgebook-sidebar-handle:hover, .forgebook-sidebar-handle:active {
180
199
  background: color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
200
+ }
201
+ .forgebook-sidebar-handle:focus-visible {
202
+ background: var(--forgebook-accent);
181
203
  outline: none;
182
204
  }
183
205
  .forgebook-brand__hide {
@@ -196,7 +218,7 @@
196
218
  border-radius: var(--forgebook-radius-control);
197
219
  }
198
220
  .forgebook-brand__name {
199
- font: 600 0.875rem/1.3 var(--forgebook-font-sans);
221
+ font: var(--forgebook-text-card-title);
200
222
  }
201
223
  .forgebook-brand__home {
202
224
  display: flex;
@@ -213,14 +235,22 @@
213
235
  background: var(--forgebook-hover);
214
236
  }
215
237
  .forgebook-brand__home:focus-visible:focus-visible {
216
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
238
+ outline: 2px solid var(--forgebook-focus-halo);
217
239
  outline-offset: 0;
218
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
240
+ box-shadow: var(--forgebook-focus-edge);
219
241
  }
220
- .forgebook-search {
242
+ .forgebook-search-row {
243
+ position: relative;
221
244
  display: flex;
222
245
  flex: none;
223
246
  align-items: center;
247
+ gap: 0.25rem;
248
+ }
249
+ .forgebook-search {
250
+ display: flex;
251
+ flex: 1;
252
+ min-width: 0;
253
+ align-items: center;
224
254
  gap: 0.375rem;
225
255
  height: 1.75rem;
226
256
  padding: 0 0.5rem;
@@ -229,15 +259,15 @@
229
259
  color: var(--forgebook-text-secondary);
230
260
  }
231
261
  .forgebook-search:focus-within {
232
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
233
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
262
+ box-shadow: var(--forgebook-focus-edge);
263
+ outline: 2px solid var(--forgebook-focus-halo);
234
264
  }
235
265
  .forgebook-search input {
236
266
  flex: 1;
237
267
  min-width: 0;
238
268
  border: 0;
239
269
  background: none;
240
- font: 400 0.78125rem/1.4 var(--forgebook-font-sans);
270
+ font: var(--forgebook-text-row-compact);
241
271
  color: var(--forgebook-text);
242
272
  outline: none;
243
273
  }
@@ -263,9 +293,9 @@
263
293
  background: var(--forgebook-text-secondary);
264
294
  }
265
295
  .forgebook-search__clear:focus-visible:focus-visible {
266
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
296
+ outline: 2px solid var(--forgebook-focus-halo);
267
297
  outline-offset: 0;
268
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
298
+ box-shadow: var(--forgebook-focus-edge);
269
299
  }
270
300
  .forgebook-search:focus-within .forgebook-search__key {
271
301
  display: none;
@@ -275,7 +305,7 @@
275
305
  padding: 0 0.375rem;
276
306
  border-radius: var(--forgebook-radius-control-small);
277
307
  box-shadow: inset 0 0 0 1px var(--forgebook-edge);
278
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
308
+ font: var(--forgebook-text-mono-small);
279
309
  color: var(--forgebook-text-tertiary);
280
310
  }
281
311
  .forgebook-tree {
@@ -301,7 +331,7 @@
301
331
  gap: 0.375rem;
302
332
  margin: 0;
303
333
  padding: 0.25rem 0.5rem;
304
- font: 600 0.6875rem/1.3 var(--forgebook-font-sans);
334
+ font: var(--forgebook-text-label);
305
335
  letter-spacing: 0.04em;
306
336
  text-transform: uppercase;
307
337
  color: var(--forgebook-text-secondary);
@@ -322,16 +352,16 @@
322
352
  border: 0;
323
353
  border-radius: var(--forgebook-radius-control-small);
324
354
  background: none;
325
- font: 500 0.8125rem/1.35 var(--forgebook-font-sans);
355
+ font: var(--forgebook-text-row-label);
326
356
  color: var(--forgebook-text);
327
357
  text-align: start;
328
358
  text-decoration: none;
329
359
  }
330
360
  .forgebook-tree__family-button:focus-visible,
331
361
  .forgebook-tree__item:focus-visible {
332
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
362
+ outline: 2px solid var(--forgebook-focus-halo);
333
363
  outline-offset: -2px;
334
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
364
+ box-shadow: var(--forgebook-focus-edge);
335
365
  }
336
366
  .forgebook-tree__family-button:hover,
337
367
  .forgebook-tree__item:hover {
@@ -363,7 +393,7 @@
363
393
  .forgebook-tree__docs-source {
364
394
  margin: 0.375rem 0 0;
365
395
  padding: 0.25rem 0.5rem;
366
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
396
+ font: var(--forgebook-text-caption);
367
397
  color: var(--forgebook-text-tertiary);
368
398
  }
369
399
  .forgebook-tree__group > .forgebook-tree__fold {
@@ -380,23 +410,23 @@
380
410
  border-radius: var(--forgebook-radius-control-small);
381
411
  background: none;
382
412
  min-height: 1.625rem;
383
- font: 500 0.8125rem/1.35 var(--forgebook-font-sans);
413
+ font: var(--forgebook-text-row-label);
384
414
  font-weight: 500;
385
415
  color: var(--forgebook-text-secondary);
386
416
  text-align: start;
387
417
  cursor: pointer;
388
418
  }
389
419
  .forgebook-tree__group-button:focus-visible {
390
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
420
+ outline: 2px solid var(--forgebook-focus-halo);
391
421
  outline-offset: 0;
392
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
422
+ box-shadow: var(--forgebook-focus-edge);
393
423
  }
394
424
  .forgebook-tree__group-button:hover {
395
425
  background: var(--forgebook-hover);
396
426
  color: var(--forgebook-text);
397
427
  }
398
428
  .forgebook-tree__item {
399
- font: 400 0.78125rem/1.4 var(--forgebook-font-sans);
429
+ font: var(--forgebook-text-row-compact);
400
430
  }
401
431
  .forgebook-tree__item[aria-current=page], .forgebook-tree__item[aria-current=location] {
402
432
  background: var(--forgebook-surface);
@@ -413,7 +443,7 @@
413
443
  display: inline-flex;
414
444
  align-items: center;
415
445
  gap: 0.125rem;
416
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
446
+ font: var(--forgebook-text-caption);
417
447
  color: var(--forgebook-text-tertiary);
418
448
  }
419
449
  .forgebook-tree__logic {
@@ -428,7 +458,7 @@
428
458
  padding: 0 0.375rem;
429
459
  border-radius: 999px;
430
460
  box-shadow: inset 0 0 0 1px var(--forgebook-edge);
431
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
461
+ font: var(--forgebook-text-caption);
432
462
  font-weight: 500;
433
463
  color: var(--forgebook-text-secondary);
434
464
  }
@@ -437,15 +467,15 @@
437
467
  }
438
468
  .forgebook-signature__call {
439
469
  margin: 0 0 0.75rem;
440
- font: 400 0.71875rem/1.4 var(--forgebook-font-mono);
470
+ font: var(--forgebook-text-mono);
441
471
  white-space: pre-wrap;
442
472
  }
443
473
  .forgebook-signature__returns {
444
474
  margin: 1rem 0 0.25rem;
445
- font: 600 0.6875rem/1.3 var(--forgebook-font-sans);
475
+ font: var(--forgebook-text-label);
446
476
  }
447
477
  .forgebook-tree__count {
448
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
478
+ font: var(--forgebook-text-caption);
449
479
  font-variant-numeric: tabular-nums;
450
480
  color: var(--forgebook-text-tertiary);
451
481
  }
@@ -509,7 +539,7 @@
509
539
  padding: 0.125rem 0.125rem 0.125rem 0.5rem;
510
540
  border-radius: var(--forgebook-radius-control);
511
541
  background: var(--forgebook-fill);
512
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
542
+ font: var(--forgebook-text-caption);
513
543
  color: var(--forgebook-text-secondary);
514
544
  }
515
545
  .forgebook-matrix-picker .forgebook-popover__label {
@@ -571,15 +601,15 @@
571
601
  border: 0;
572
602
  border-block-end: 2px solid transparent;
573
603
  background: none;
574
- font: 500 0.75rem/1.3 var(--forgebook-font-sans);
604
+ font: var(--forgebook-text-control);
575
605
  color: var(--forgebook-text-secondary);
576
606
  white-space: nowrap;
577
607
  cursor: pointer;
578
608
  }
579
609
  .forgebook-dock__tab:focus-visible {
580
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
610
+ outline: 2px solid var(--forgebook-focus-halo);
581
611
  outline-offset: -2px;
582
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
612
+ box-shadow: var(--forgebook-focus-edge);
583
613
  }
584
614
  .forgebook-dock__tab:hover {
585
615
  color: var(--forgebook-text);
@@ -608,9 +638,9 @@
608
638
  cursor: pointer;
609
639
  }
610
640
  .forgebook-icon-button:focus-visible {
611
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
641
+ outline: 2px solid var(--forgebook-focus-halo);
612
642
  outline-offset: 0;
613
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
643
+ box-shadow: var(--forgebook-focus-edge);
614
644
  }
615
645
  .forgebook-icon-button:hover {
616
646
  background: var(--forgebook-hover);
@@ -633,7 +663,7 @@
633
663
  .forgebook-tab-note {
634
664
  margin: 0;
635
665
  padding: 0.75rem 0.875rem 0;
636
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
666
+ font: var(--forgebook-text-caption);
637
667
  color: var(--forgebook-text-secondary);
638
668
  }
639
669
  .forgebook-tab-foot {
@@ -645,7 +675,7 @@
645
675
  }
646
676
  .forgebook-tab-foot__note {
647
677
  margin-inline-start: auto;
648
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
678
+ font: var(--forgebook-text-caption);
649
679
  color: var(--forgebook-text-secondary);
650
680
  }
651
681
  .forgebook-tab-foot__note[data-has-spills=true] {
@@ -739,7 +769,7 @@
739
769
  height: 1.375rem;
740
770
  padding: 0 0.5rem 0 0.25rem;
741
771
  border-radius: var(--forgebook-radius-control-small);
742
- font: 500 0.75rem/1.3 var(--forgebook-font-sans);
772
+ font: var(--forgebook-text-control);
743
773
  color: var(--forgebook-text-secondary);
744
774
  transition: background-color 150ms ease-out, box-shadow 150ms ease-out;
745
775
  }
@@ -755,20 +785,19 @@
755
785
  border: 0;
756
786
  border-radius: var(--forgebook-radius-control-small);
757
787
  background: none;
758
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
788
+ font: var(--forgebook-text-mono-small);
759
789
  font-variant-numeric: tabular-nums;
760
790
  color: inherit;
761
791
  text-align: end;
762
792
  }
763
793
  .forgebook-width-field__input::placeholder {
764
- color: var(--forgebook-text-tertiary);
794
+ color: var(--forgebook-text-secondary);
765
795
  }
766
796
  .forgebook-width-field__input:focus-visible {
767
797
  outline: none;
768
798
  }
769
799
  .forgebook-width-field__unit {
770
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
771
- color: var(--forgebook-text-tertiary);
800
+ font: var(--forgebook-text-mono-small);
772
801
  }
773
802
  .forgebook-stage-tools {
774
803
  position: absolute;
@@ -819,9 +848,9 @@
819
848
  }
820
849
  .forgebook-stage-tools__button:focus-visible:focus-visible,
821
850
  .forgebook-stage-tools__zoom:focus-visible:focus-visible {
822
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
851
+ outline: 2px solid var(--forgebook-focus-halo);
823
852
  outline-offset: 0;
824
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
853
+ box-shadow: var(--forgebook-focus-edge);
825
854
  }
826
855
  .forgebook-stage-tools__button:disabled,
827
856
  .forgebook-stage-tools__zoom:disabled {
@@ -838,7 +867,7 @@
838
867
  .forgebook-stage-tools__zoom {
839
868
  min-width: 3.25rem;
840
869
  padding: 0 0.375rem;
841
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
870
+ font: var(--forgebook-text-mono-small);
842
871
  font-variant-numeric: tabular-nums;
843
872
  color: var(--forgebook-text);
844
873
  }
@@ -861,15 +890,15 @@
861
890
  border-radius: var(--forgebook-radius-control);
862
891
  background: var(--forgebook-surface);
863
892
  box-shadow: inset 0 0 0 1px var(--forgebook-edge);
864
- font: 500 0.75rem/1.3 var(--forgebook-font-sans);
893
+ font: var(--forgebook-text-control);
865
894
  color: var(--forgebook-text);
866
895
  text-decoration: none;
867
896
  white-space: nowrap;
868
897
  }
869
898
  .forgebook-button:focus-visible {
870
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
899
+ outline: 2px solid var(--forgebook-focus-halo);
871
900
  outline-offset: 0;
872
- box-shadow: inset 0 0 0 1px var(--forgebook-accent), inset 0 0 0 1px var(--forgebook-edge);
901
+ box-shadow: var(--forgebook-focus-edge), inset 0 0 0 1px var(--forgebook-edge);
873
902
  }
874
903
  .forgebook-button:hover {
875
904
  box-shadow: inset 0 0 0 1px var(--forgebook-edge-hover);
@@ -913,13 +942,13 @@
913
942
  padding: 0;
914
943
  border: 0;
915
944
  background: none;
916
- font: 500 0.75rem/1.3 var(--forgebook-font-sans);
945
+ font: var(--forgebook-text-control);
917
946
  color: var(--forgebook-accent-text);
918
947
  }
919
948
  .forgebook-text-button:focus-visible {
920
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
949
+ outline: 2px solid var(--forgebook-focus-halo);
921
950
  outline-offset: 0;
922
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
951
+ box-shadow: var(--forgebook-focus-edge);
923
952
  }
924
953
  .forgebook-text-button:disabled {
925
954
  color: var(--forgebook-text-tertiary);
@@ -942,6 +971,9 @@
942
971
  .forgebook-segmented:disabled {
943
972
  opacity: 0.45;
944
973
  }
974
+ .forgebook-segmented__option {
975
+ position: relative;
976
+ }
945
977
  .forgebook-segmented__face {
946
978
  display: inline-flex;
947
979
  align-items: center;
@@ -950,7 +982,7 @@
950
982
  min-width: 1.5rem;
951
983
  padding: 0 0.5rem;
952
984
  border-radius: var(--forgebook-radius-control-small);
953
- font: 500 0.75rem/1.3 var(--forgebook-font-sans);
985
+ font: var(--forgebook-text-control);
954
986
  color: var(--forgebook-text-secondary);
955
987
  }
956
988
  input:checked + .forgebook-segmented__face {
@@ -959,8 +991,8 @@
959
991
  color: var(--forgebook-text);
960
992
  }
961
993
  input:focus-visible + .forgebook-segmented__face {
962
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
963
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
994
+ box-shadow: var(--forgebook-focus-edge);
995
+ outline: 2px solid var(--forgebook-focus-halo);
964
996
  }
965
997
  .forgebook-view-menu {
966
998
  position: relative;
@@ -984,8 +1016,20 @@
984
1016
  top: auto;
985
1017
  bottom: calc(100% - 0.25rem);
986
1018
  left: 0.75rem;
1019
+ box-sizing: border-box;
1020
+ width: min(14.75rem, 100% - 1.5rem);
1021
+ white-space: normal;
987
1022
  transform-origin: bottom left;
988
1023
  }
1024
+ .forgebook-popover.forgebook-popover--up .forgebook-choices {
1025
+ min-width: 0;
1026
+ }
1027
+ .forgebook-popover.forgebook-popover--up .forgebook-choice {
1028
+ flex-wrap: nowrap;
1029
+ }
1030
+ .forgebook-popover.forgebook-popover--up .forgebook-choice svg {
1031
+ flex: none;
1032
+ }
989
1033
  .forgebook-popover.forgebook-popover--end {
990
1034
  inset-inline: auto 0;
991
1035
  transform-origin: top right;
@@ -1005,7 +1049,7 @@
1005
1049
  gap: 0.5rem;
1006
1050
  padding: 0.25rem 0.375rem;
1007
1051
  border-radius: var(--forgebook-radius-control-small);
1008
- font: 500 0.75rem/1.3 var(--forgebook-font-sans);
1052
+ font: var(--forgebook-text-control);
1009
1053
  cursor: pointer;
1010
1054
  }
1011
1055
  .forgebook-choice:hover {
@@ -1041,9 +1085,9 @@
1041
1085
  color: var(--forgebook-text-tertiary);
1042
1086
  }
1043
1087
  .forgebook-info-tip:focus-visible {
1044
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1088
+ outline: 2px solid var(--forgebook-focus-halo);
1045
1089
  outline-offset: 0;
1046
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1090
+ box-shadow: var(--forgebook-focus-edge);
1047
1091
  }
1048
1092
  .forgebook-info-tip:hover {
1049
1093
  color: var(--forgebook-text);
@@ -1058,7 +1102,7 @@
1058
1102
  border-radius: var(--forgebook-radius-control);
1059
1103
  background: var(--forgebook-surface);
1060
1104
  box-shadow: 0 0 0 1px var(--forgebook-edge), 0 18px 48px var(--forgebook-shadow-deep), 0 4px 12px var(--forgebook-shadow-lift);
1061
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1105
+ font: var(--forgebook-text-caption);
1062
1106
  color: var(--forgebook-text);
1063
1107
  white-space: normal;
1064
1108
  }
@@ -1088,13 +1132,13 @@
1088
1132
  border: 0;
1089
1133
  border-radius: var(--forgebook-radius-control);
1090
1134
  background: transparent;
1091
- font: 500 0.75rem/1.3 var(--forgebook-font-sans);
1135
+ font: var(--forgebook-text-control);
1092
1136
  color: var(--forgebook-text);
1093
1137
  }
1094
1138
  .forgebook-named-view__pick:focus-visible {
1095
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1139
+ outline: 2px solid var(--forgebook-focus-halo);
1096
1140
  outline-offset: 0;
1097
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1141
+ box-shadow: var(--forgebook-focus-edge);
1098
1142
  }
1099
1143
  .forgebook-named-view__pick[aria-pressed=true] {
1100
1144
  background: color-mix(in srgb, var(--forgebook-accent) 12%, transparent);
@@ -1112,9 +1156,9 @@
1112
1156
  color: var(--forgebook-text-tertiary);
1113
1157
  }
1114
1158
  .forgebook-named-view__remove:focus-visible {
1115
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1159
+ outline: 2px solid var(--forgebook-focus-halo);
1116
1160
  outline-offset: 0;
1117
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1161
+ box-shadow: var(--forgebook-focus-edge);
1118
1162
  }
1119
1163
  .forgebook-named-view__remove:hover {
1120
1164
  color: var(--forgebook-text);
@@ -1126,13 +1170,13 @@
1126
1170
  border-radius: var(--forgebook-radius-control);
1127
1171
  background: var(--forgebook-surface);
1128
1172
  box-shadow: inset 0 0 0 1px var(--forgebook-edge-field);
1129
- font: 500 0.75rem/1.3 var(--forgebook-font-sans);
1173
+ font: var(--forgebook-text-control);
1130
1174
  color: var(--forgebook-text);
1131
1175
  }
1132
1176
  .forgebook-named-views__form input:focus-visible {
1133
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1177
+ outline: 2px solid var(--forgebook-focus-halo);
1134
1178
  outline-offset: 0;
1135
- box-shadow: inset 0 0 0 1px var(--forgebook-accent), inset 0 0 0 1px var(--forgebook-edge-field);
1179
+ box-shadow: var(--forgebook-focus-edge), inset 0 0 0 1px var(--forgebook-edge-field);
1136
1180
  }
1137
1181
  .forgebook-key-field {
1138
1182
  position: relative;
@@ -1146,13 +1190,13 @@
1146
1190
  border: 0;
1147
1191
  border-radius: var(--forgebook-radius-control-small);
1148
1192
  background: transparent;
1149
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1193
+ font: var(--forgebook-text-caption);
1150
1194
  color: var(--forgebook-text-secondary);
1151
1195
  }
1152
1196
  .forgebook-key-field__button:focus-visible {
1153
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1197
+ outline: 2px solid var(--forgebook-focus-halo);
1154
1198
  outline-offset: 0;
1155
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1199
+ box-shadow: var(--forgebook-focus-edge);
1156
1200
  }
1157
1201
  .forgebook-key-field__button:hover {
1158
1202
  background: var(--forgebook-hover);
@@ -1162,14 +1206,14 @@
1162
1206
  color: var(--forgebook-accent-text);
1163
1207
  }
1164
1208
  .forgebook-key-field__button kbd {
1165
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
1209
+ font: var(--forgebook-text-mono-small);
1166
1210
  }
1167
1211
  .forgebook-key-field__problem {
1168
1212
  position: absolute;
1169
1213
  top: 100%;
1170
1214
  right: 0;
1171
1215
  z-index: 1;
1172
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1216
+ font: var(--forgebook-text-caption);
1173
1217
  color: var(--forgebook-danger-text);
1174
1218
  white-space: nowrap;
1175
1219
  }
@@ -1222,9 +1266,9 @@
1222
1266
  touch-action: none;
1223
1267
  }
1224
1268
  .forgebook-arrange__handle:focus-visible {
1225
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1269
+ outline: 2px solid var(--forgebook-focus-halo);
1226
1270
  outline-offset: 0;
1227
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1271
+ box-shadow: var(--forgebook-focus-edge);
1228
1272
  }
1229
1273
  .forgebook-arrange__handle:hover {
1230
1274
  background: var(--forgebook-hover);
@@ -1269,8 +1313,23 @@
1269
1313
  align-items: center;
1270
1314
  gap: 0.5rem;
1271
1315
  }
1316
+ .forgebook-gallery-names {
1317
+ display: inline-grid;
1318
+ max-width: 10rem;
1319
+ text-align: start;
1320
+ }
1321
+ .forgebook-gallery-names span {
1322
+ grid-area: 1/1;
1323
+ overflow: hidden;
1324
+ text-overflow: ellipsis;
1325
+ visibility: hidden;
1326
+ white-space: nowrap;
1327
+ }
1328
+ .forgebook-gallery-names [data-shown] {
1329
+ visibility: visible;
1330
+ }
1272
1331
  .forgebook-toolbar__label {
1273
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1332
+ font: var(--forgebook-text-caption);
1274
1333
  color: var(--forgebook-text-secondary);
1275
1334
  white-space: nowrap;
1276
1335
  }
@@ -1289,15 +1348,15 @@
1289
1348
  border: 0;
1290
1349
  border-radius: var(--forgebook-radius-control-small);
1291
1350
  background: none;
1292
- font: 500 0.75rem/1.3 var(--forgebook-font-sans);
1351
+ font: var(--forgebook-text-control);
1293
1352
  color: var(--forgebook-text);
1294
1353
  text-align: start;
1295
1354
  cursor: pointer;
1296
1355
  }
1297
1356
  .forgebook-context-menu__item:focus-visible {
1298
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1357
+ outline: 2px solid var(--forgebook-focus-halo);
1299
1358
  outline-offset: 0;
1300
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1359
+ box-shadow: var(--forgebook-focus-edge);
1301
1360
  }
1302
1361
  .forgebook-context-menu__item:hover, .forgebook-context-menu__item:focus-visible {
1303
1362
  background: var(--forgebook-hover);
@@ -1314,7 +1373,7 @@
1314
1373
  background-repeat: no-repeat;
1315
1374
  background-size: 0.875rem;
1316
1375
  box-shadow: inset 0 0 0 1px var(--forgebook-edge);
1317
- font: 500 0.75rem/1.3 var(--forgebook-font-sans);
1376
+ font: var(--forgebook-text-control);
1318
1377
  color: var(--forgebook-text);
1319
1378
  text-overflow: ellipsis;
1320
1379
  appearance: none;
@@ -1322,9 +1381,9 @@
1322
1381
  transition: box-shadow 150ms ease-out;
1323
1382
  }
1324
1383
  .forgebook-select:focus-visible {
1325
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1384
+ outline: 2px solid var(--forgebook-focus-halo);
1326
1385
  outline-offset: 0;
1327
- box-shadow: inset 0 0 0 1px var(--forgebook-accent), inset 0 0 0 1px var(--forgebook-edge);
1386
+ box-shadow: var(--forgebook-focus-edge), inset 0 0 0 1px var(--forgebook-edge);
1328
1387
  }
1329
1388
  .forgebook-select:hover:not(:disabled) {
1330
1389
  box-shadow: inset 0 0 0 1px var(--forgebook-edge-hover);
@@ -1337,7 +1396,7 @@
1337
1396
  display: inline-flex;
1338
1397
  align-items: center;
1339
1398
  gap: 0.25rem;
1340
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1399
+ font: var(--forgebook-text-caption);
1341
1400
  color: var(--forgebook-text-secondary);
1342
1401
  }
1343
1402
  .forgebook-switch {
@@ -1354,9 +1413,9 @@
1354
1413
  transition: background-color 150ms ease-out, box-shadow 150ms ease-out;
1355
1414
  }
1356
1415
  .forgebook-switch:focus-visible {
1357
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1416
+ outline: 2px solid var(--forgebook-focus-halo);
1358
1417
  outline-offset: 0;
1359
- box-shadow: inset 0 0 0 1px var(--forgebook-accent), inset 0 0 0 1px var(--forgebook-edge);
1418
+ box-shadow: var(--forgebook-focus-edge), inset 0 0 0 1px var(--forgebook-edge);
1360
1419
  }
1361
1420
  .forgebook-switch::before {
1362
1421
  content: "";
@@ -1381,7 +1440,7 @@
1381
1440
  display: flex;
1382
1441
  align-items: center;
1383
1442
  gap: 0.5rem;
1384
- font: 500 0.75rem/1.3 var(--forgebook-font-sans);
1443
+ font: var(--forgebook-text-control);
1385
1444
  color: var(--forgebook-text);
1386
1445
  cursor: pointer;
1387
1446
  }
@@ -1393,7 +1452,7 @@
1393
1452
  box-shadow: inset 0 1px 0 var(--forgebook-separator);
1394
1453
  }
1395
1454
  .forgebook-popover__note {
1396
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1455
+ font: var(--forgebook-text-caption);
1397
1456
  color: var(--forgebook-text-tertiary);
1398
1457
  }
1399
1458
  .forgebook-problems {
@@ -1418,7 +1477,7 @@
1418
1477
  border-radius: var(--forgebook-radius-card);
1419
1478
  background: var(--forgebook-surface);
1420
1479
  box-shadow: inset 0 0 0 1px var(--forgebook-separator);
1421
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1480
+ font: var(--forgebook-text-caption);
1422
1481
  color: var(--forgebook-text-secondary);
1423
1482
  }
1424
1483
  .forgebook-dropped-args__text {
@@ -1437,6 +1496,7 @@
1437
1496
  }
1438
1497
  .forgebook-empty {
1439
1498
  margin: 2rem;
1499
+ font: inherit;
1440
1500
  color: var(--forgebook-text-secondary);
1441
1501
  }
1442
1502
  .forgebook-header {
@@ -1446,7 +1506,7 @@
1446
1506
  }
1447
1507
  .forgebook-header__path {
1448
1508
  margin: 0 0 0.375rem;
1449
- font: 600 0.6875rem/1.3 var(--forgebook-font-sans);
1509
+ font: var(--forgebook-text-label);
1450
1510
  letter-spacing: 0.04em;
1451
1511
  text-transform: uppercase;
1452
1512
  color: var(--forgebook-accent-text);
@@ -1460,10 +1520,10 @@
1460
1520
  align-items: baseline;
1461
1521
  gap: 0.25rem 0.75rem;
1462
1522
  margin-top: 0.5rem;
1463
- font: 400 0.78125rem/1.4 var(--forgebook-font-sans);
1523
+ font: var(--forgebook-text-row-compact);
1464
1524
  }
1465
1525
  .forgebook-header__related-label {
1466
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1526
+ font: var(--forgebook-text-caption);
1467
1527
  color: var(--forgebook-text-tertiary);
1468
1528
  }
1469
1529
  .forgebook-header__related-link {
@@ -1472,9 +1532,9 @@
1472
1532
  border-radius: var(--forgebook-radius-control-small);
1473
1533
  }
1474
1534
  .forgebook-header__related-link:focus-visible {
1475
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1535
+ outline: 2px solid var(--forgebook-focus-halo);
1476
1536
  outline-offset: 0;
1477
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1537
+ box-shadow: var(--forgebook-focus-edge);
1478
1538
  }
1479
1539
  .forgebook-header__related-link:hover {
1480
1540
  text-decoration: underline;
@@ -1496,11 +1556,18 @@
1496
1556
  }
1497
1557
  .forgebook-header__title {
1498
1558
  margin: 0;
1499
- font: 700 1.375rem/1.2 var(--forgebook-font-sans);
1559
+ font: var(--forgebook-text-display);
1500
1560
  letter-spacing: -0.02em;
1501
1561
  }
1562
+ .forgebook-play__switch {
1563
+ display: flex;
1564
+ gap: 0.375rem;
1565
+ align-items: center;
1566
+ font: var(--forgebook-text-row-compact);
1567
+ color: var(--forgebook-text-secondary);
1568
+ }
1502
1569
  .forgebook-play__status {
1503
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1570
+ font: var(--forgebook-text-caption);
1504
1571
  font-weight: 400;
1505
1572
  text-transform: none;
1506
1573
  letter-spacing: 0;
@@ -1509,6 +1576,28 @@
1509
1576
  .forgebook-play__status[data-status=failed] {
1510
1577
  color: var(--forgebook-danger-text);
1511
1578
  }
1579
+ .forgebook-play__buttons {
1580
+ display: flex;
1581
+ flex-wrap: wrap;
1582
+ gap: 0.375rem;
1583
+ }
1584
+ .forgebook-play__paused {
1585
+ margin: 0;
1586
+ font: var(--forgebook-text-row-compact);
1587
+ color: var(--forgebook-text-secondary);
1588
+ overflow-wrap: anywhere;
1589
+ }
1590
+ .forgebook-play__actions {
1591
+ display: grid;
1592
+ gap: 0.25rem;
1593
+ margin: 0.25rem 0 0;
1594
+ padding-inline-start: 1.25rem;
1595
+ font: var(--forgebook-text-mono-small);
1596
+ overflow-wrap: anywhere;
1597
+ }
1598
+ .forgebook-play__action {
1599
+ font: var(--forgebook-text-mono-small);
1600
+ }
1512
1601
  .forgebook-play__steps {
1513
1602
  display: grid;
1514
1603
  gap: 0.375rem;
@@ -1516,14 +1605,14 @@
1516
1605
  padding-inline-start: 1.25rem;
1517
1606
  }
1518
1607
  .forgebook-play__step {
1519
- font: 400 0.78125rem/1.4 var(--forgebook-font-sans);
1608
+ font: var(--forgebook-text-row-compact);
1520
1609
  }
1521
1610
  .forgebook-play__label {
1522
1611
  margin-inline-end: 0.5rem;
1523
1612
  }
1524
1613
  .forgebook-play__error {
1525
1614
  margin: 0.125rem 0 0;
1526
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
1615
+ font: var(--forgebook-text-mono-small);
1527
1616
  color: var(--forgebook-danger-text);
1528
1617
  }
1529
1618
  .forgebook-calls__details > summary {
@@ -1552,12 +1641,12 @@
1552
1641
  gap: 0.5rem;
1553
1642
  }
1554
1643
  .forgebook-violation__rule {
1555
- font: 400 0.71875rem/1.4 var(--forgebook-font-mono);
1644
+ font: var(--forgebook-text-mono);
1556
1645
  font-weight: 500;
1557
1646
  color: var(--forgebook-accent-text);
1558
1647
  }
1559
1648
  .forgebook-violation__impact {
1560
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1649
+ font: var(--forgebook-text-caption);
1561
1650
  color: var(--forgebook-text-secondary);
1562
1651
  }
1563
1652
  .forgebook-violation:is([data-impact=serious], [data-impact=critical]) .forgebook-violation__impact {
@@ -1565,7 +1654,7 @@
1565
1654
  }
1566
1655
  .forgebook-violation__targets {
1567
1656
  gap: 0.125rem;
1568
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
1657
+ font: var(--forgebook-text-mono-small);
1569
1658
  color: var(--forgebook-text-secondary);
1570
1659
  overflow-wrap: anywhere;
1571
1660
  }
@@ -1578,7 +1667,7 @@
1578
1667
  white-space: pre;
1579
1668
  }
1580
1669
  .forgebook-code-block .forgebook-code {
1581
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
1670
+ font: var(--forgebook-text-mono-small);
1582
1671
  }
1583
1672
  .forgebook-stage__heading {
1584
1673
  flex: 1 1 10rem;
@@ -1589,7 +1678,7 @@
1589
1678
  }
1590
1679
  .forgebook-stage__title {
1591
1680
  margin: 0;
1592
- font: 500 0.8125rem/1.35 var(--forgebook-font-sans);
1681
+ font: var(--forgebook-text-row-label);
1593
1682
  font-weight: 600;
1594
1683
  color: var(--forgebook-text);
1595
1684
  overflow-wrap: break-word;
@@ -1599,7 +1688,7 @@
1599
1688
  overflow: hidden;
1600
1689
  min-height: 2lh;
1601
1690
  margin: 0;
1602
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1691
+ font: var(--forgebook-text-caption);
1603
1692
  color: var(--forgebook-text-secondary);
1604
1693
  -webkit-box-orient: vertical;
1605
1694
  -webkit-line-clamp: 2;
@@ -1623,7 +1712,7 @@
1623
1712
  border-radius: 999px;
1624
1713
  background: var(--forgebook-surface);
1625
1714
  box-shadow: 0 0 0 1px var(--forgebook-card-edge), 0 1px 3px var(--forgebook-shadow-soft);
1626
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1715
+ font: var(--forgebook-text-caption);
1627
1716
  color: var(--forgebook-text-secondary);
1628
1717
  }
1629
1718
  .forgebook-spinner {
@@ -1653,6 +1742,7 @@
1653
1742
  display: block;
1654
1743
  width: 100%;
1655
1744
  border: 0;
1745
+ color-scheme: light;
1656
1746
  }
1657
1747
  .forgebook-viewport {
1658
1748
  display: grid;
@@ -1706,15 +1796,15 @@
1706
1796
  background: var(--forgebook-accent);
1707
1797
  }
1708
1798
  .forgebook-viewport__foot:focus-visible {
1709
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1799
+ outline: 2px solid var(--forgebook-focus-halo);
1710
1800
  outline-offset: -2px;
1711
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1801
+ box-shadow: var(--forgebook-focus-edge);
1712
1802
  }
1713
1803
  .forgebook-viewport__foot-label {
1714
1804
  position: absolute;
1715
1805
  inset: 50% auto auto calc(50% + 1.75rem);
1716
1806
  transform: translateY(-50%);
1717
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
1807
+ font: var(--forgebook-text-mono-small);
1718
1808
  color: var(--forgebook-text-tertiary);
1719
1809
  white-space: nowrap;
1720
1810
  }
@@ -1750,9 +1840,9 @@
1750
1840
  background: var(--forgebook-accent);
1751
1841
  }
1752
1842
  .forgebook-viewport__handle:focus-visible {
1753
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1843
+ outline: 2px solid var(--forgebook-focus-halo);
1754
1844
  outline-offset: -2px;
1755
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1845
+ box-shadow: var(--forgebook-focus-edge);
1756
1846
  }
1757
1847
  .forgebook-frame-placeholder {
1758
1848
  background: var(--forgebook-fill-quiet);
@@ -1775,6 +1865,22 @@
1775
1865
  grid-template-columns: minmax(0, 1fr);
1776
1866
  gap: 0.5rem;
1777
1867
  }
1868
+ .forgebook-home__no-story {
1869
+ display: grid;
1870
+ gap: 0.5rem;
1871
+ min-width: 0;
1872
+ }
1873
+ .forgebook-home__no-story p,
1874
+ .forgebook-home__no-story ul,
1875
+ .forgebook-home__no-story pre {
1876
+ margin: 0;
1877
+ }
1878
+ .forgebook-home__no-story ul {
1879
+ padding-inline-start: 1rem;
1880
+ }
1881
+ .forgebook-home__no-story code {
1882
+ overflow-wrap: anywhere;
1883
+ }
1778
1884
  .forgebook-home__title {
1779
1885
  margin: 0;
1780
1886
  font-size: 1.75rem;
@@ -1818,19 +1924,19 @@
1818
1924
  box-shadow: 0 0 0 1px var(--forgebook-card-edge-hover), 0 4px 14px var(--forgebook-shadow-lift);
1819
1925
  }
1820
1926
  .forgebook-home__recent-link:focus-visible:focus-visible {
1821
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1927
+ outline: 2px solid var(--forgebook-focus-halo);
1822
1928
  outline-offset: 0;
1823
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1929
+ box-shadow: var(--forgebook-focus-edge);
1824
1930
  }
1825
1931
  .forgebook-home__recent-name {
1826
- font: 500 0.8125rem/1.35 var(--forgebook-font-sans);
1932
+ font: var(--forgebook-text-row-label);
1827
1933
  overflow: hidden;
1828
1934
  white-space: nowrap;
1829
1935
  text-overflow: ellipsis;
1830
1936
  min-width: 0;
1831
1937
  }
1832
1938
  .forgebook-home__recent-place {
1833
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1939
+ font: var(--forgebook-text-caption);
1834
1940
  color: var(--forgebook-text-tertiary);
1835
1941
  overflow: hidden;
1836
1942
  white-space: nowrap;
@@ -1860,11 +1966,11 @@
1860
1966
  gap: 0.5rem;
1861
1967
  width: 100%;
1862
1968
  margin: 0;
1863
- font: 600 0.875rem/1.3 var(--forgebook-font-sans);
1969
+ font: var(--forgebook-text-card-title);
1864
1970
  overflow-wrap: anywhere;
1865
1971
  }
1866
1972
  .forgebook-home__count {
1867
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1973
+ font: var(--forgebook-text-caption);
1868
1974
  font-weight: 400;
1869
1975
  color: var(--forgebook-text-tertiary);
1870
1976
  }
@@ -1875,11 +1981,11 @@
1875
1981
  margin: 0;
1876
1982
  padding: 0;
1877
1983
  list-style: none;
1878
- font: 400 0.8125rem/1.4 var(--forgebook-font-sans);
1984
+ font: var(--forgebook-text-body);
1879
1985
  }
1880
1986
  .forgebook-audience-note {
1881
1987
  margin: 0;
1882
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1988
+ font: var(--forgebook-text-caption);
1883
1989
  color: var(--forgebook-text-tertiary);
1884
1990
  }
1885
1991
  .forgebook-doc[data-audience=designer] {
@@ -1903,9 +2009,9 @@
1903
2009
  cursor: pointer;
1904
2010
  }
1905
2011
  .forgebook-used-in__toggle:focus-visible {
1906
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
2012
+ outline: 2px solid var(--forgebook-focus-halo);
1907
2013
  outline-offset: 0;
1908
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
2014
+ box-shadow: var(--forgebook-focus-edge);
1909
2015
  }
1910
2016
  .forgebook-used-in__list {
1911
2017
  display: grid;
@@ -1925,7 +2031,7 @@
1925
2031
  }
1926
2032
  .forgebook-used-in__note {
1927
2033
  margin: 0;
1928
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2034
+ font: var(--forgebook-text-caption);
1929
2035
  color: var(--forgebook-text-tertiary);
1930
2036
  }
1931
2037
  .forgebook-used-in__stories {
@@ -1935,7 +2041,7 @@
1935
2041
  flex-basis: 100%;
1936
2042
  }
1937
2043
  .forgebook-used-in__story {
1938
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2044
+ font: var(--forgebook-text-caption);
1939
2045
  color: var(--forgebook-text-secondary);
1940
2046
  text-decoration: none;
1941
2047
  }
@@ -1950,7 +2056,7 @@
1950
2056
  }
1951
2057
  .forgebook-doc__section > h2 {
1952
2058
  margin: 1rem 0 0;
1953
- font: 700 1.375rem/1.2 var(--forgebook-font-sans);
2059
+ font: var(--forgebook-text-display);
1954
2060
  }
1955
2061
  .forgebook-doc__section > h3 {
1956
2062
  margin: 0.5rem 0 0;
@@ -1964,7 +2070,7 @@
1964
2070
  }
1965
2071
  .forgebook-doc__group-name {
1966
2072
  margin: 0.5rem 0 0;
1967
- font: 600 0.6875rem/1.3 var(--forgebook-font-sans);
2073
+ font: var(--forgebook-text-label);
1968
2074
  color: var(--forgebook-text-tertiary);
1969
2075
  text-transform: uppercase;
1970
2076
  letter-spacing: 0.06em;
@@ -1997,7 +2103,7 @@
1997
2103
  }
1998
2104
  .forgebook-example__description {
1999
2105
  margin: 0;
2000
- font: 400 0.8125rem/1.4 var(--forgebook-font-sans);
2106
+ font: var(--forgebook-text-body);
2001
2107
  color: var(--forgebook-text-secondary);
2002
2108
  }
2003
2109
  .forgebook-example__box {
@@ -2025,7 +2131,7 @@
2025
2131
  min-height: 2.25rem;
2026
2132
  padding: 0 0.75rem;
2027
2133
  box-shadow: inset 0 1px 0 var(--forgebook-separator);
2028
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2134
+ font: var(--forgebook-text-caption);
2029
2135
  }
2030
2136
  .forgebook-example__toggle {
2031
2137
  display: inline-flex;
@@ -2046,9 +2152,9 @@
2046
2152
  background: var(--forgebook-hover);
2047
2153
  }
2048
2154
  .forgebook-example__toggle:focus-visible:focus-visible {
2049
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
2155
+ outline: 2px solid var(--forgebook-focus-halo);
2050
2156
  outline-offset: 0;
2051
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
2157
+ box-shadow: var(--forgebook-focus-edge);
2052
2158
  }
2053
2159
  .forgebook-example__toggle svg {
2054
2160
  transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
@@ -2105,9 +2211,9 @@
2105
2211
  transition: color 150ms ease-out;
2106
2212
  }
2107
2213
  .forgebook-example__full:focus-visible {
2108
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
2214
+ outline: 2px solid var(--forgebook-focus-halo);
2109
2215
  outline-offset: 0;
2110
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
2216
+ box-shadow: var(--forgebook-focus-edge);
2111
2217
  }
2112
2218
  .forgebook-example__full:hover {
2113
2219
  color: var(--forgebook-text);
@@ -2174,7 +2280,7 @@
2174
2280
  border-radius: var(--forgebook-radius-control-small);
2175
2281
  background: var(--forgebook-surface);
2176
2282
  box-shadow: inset 0 0 0 1px var(--forgebook-separator);
2177
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2283
+ font: var(--forgebook-text-caption);
2178
2284
  color: var(--forgebook-text-secondary);
2179
2285
  cursor: pointer;
2180
2286
  transition: color 150ms ease-out;
@@ -2183,9 +2289,9 @@
2183
2289
  color: var(--forgebook-text);
2184
2290
  }
2185
2291
  .forgebook-example__copy:focus-visible:focus-visible {
2186
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
2292
+ outline: 2px solid var(--forgebook-focus-halo);
2187
2293
  outline-offset: 0;
2188
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
2294
+ box-shadow: var(--forgebook-focus-edge);
2189
2295
  }
2190
2296
  .forgebook-inline-code {
2191
2297
  padding: 0.1em 0.35em;
@@ -2196,7 +2302,7 @@
2196
2302
  color: var(--forgebook-code-name);
2197
2303
  }
2198
2304
  .forgebook-prose {
2199
- font: 400 0.8125rem/1.4 var(--forgebook-font-sans);
2305
+ font: var(--forgebook-text-body);
2200
2306
  line-height: 1.6;
2201
2307
  overflow-wrap: break-word;
2202
2308
  }
@@ -2208,7 +2314,7 @@
2208
2314
  }
2209
2315
  .forgebook-prose h2 {
2210
2316
  margin: 2rem 0 0.75rem;
2211
- font: 700 1.375rem/1.2 var(--forgebook-font-sans);
2317
+ font: var(--forgebook-text-display);
2212
2318
  }
2213
2319
  .forgebook-prose h3 {
2214
2320
  margin: 1.5rem 0 0.5rem;
@@ -2245,9 +2351,14 @@
2245
2351
  background: var(--forgebook-surface);
2246
2352
  box-shadow: 0 0 0 1px var(--forgebook-card-edge), 0 1px 3px var(--forgebook-shadow-soft);
2247
2353
  overflow-x: auto;
2248
- font: 400 0.71875rem/1.4 var(--forgebook-font-mono);
2354
+ font: var(--forgebook-text-mono);
2249
2355
  line-height: 1.6;
2250
2356
  }
2357
+ .forgebook-prose pre:focus-visible {
2358
+ outline: 2px solid var(--forgebook-focus-halo);
2359
+ outline-offset: 0;
2360
+ box-shadow: var(--forgebook-focus-edge), 0 0 0 1px var(--forgebook-card-edge), 0 1px 3px var(--forgebook-shadow-soft);
2361
+ }
2251
2362
  .forgebook-prose pre code {
2252
2363
  padding: 0;
2253
2364
  background: none;
@@ -2257,7 +2368,7 @@
2257
2368
  width: 100%;
2258
2369
  margin-bottom: 1rem;
2259
2370
  border-collapse: collapse;
2260
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2371
+ font: var(--forgebook-text-caption);
2261
2372
  }
2262
2373
  .forgebook-prose th,
2263
2374
  .forgebook-prose td {
@@ -2274,10 +2385,15 @@
2274
2385
  .forgebook-api {
2275
2386
  overflow-x: auto;
2276
2387
  }
2388
+ .forgebook-api:focus-visible {
2389
+ outline: 2px solid var(--forgebook-focus-halo);
2390
+ outline-offset: -2px;
2391
+ box-shadow: var(--forgebook-focus-edge);
2392
+ }
2277
2393
  .forgebook-api__table {
2278
2394
  width: 100%;
2279
2395
  border-collapse: collapse;
2280
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2396
+ font: var(--forgebook-text-caption);
2281
2397
  }
2282
2398
  .forgebook-api__table th,
2283
2399
  .forgebook-api__table td {
@@ -2287,7 +2403,7 @@
2287
2403
  box-shadow: inset 0 -1px 0 var(--forgebook-separator);
2288
2404
  }
2289
2405
  .forgebook-api__table thead th {
2290
- font: 600 0.6875rem/1.3 var(--forgebook-font-sans);
2406
+ font: var(--forgebook-text-label);
2291
2407
  color: var(--forgebook-text-tertiary);
2292
2408
  }
2293
2409
  .forgebook-api__table tbody tr {
@@ -2305,7 +2421,7 @@
2305
2421
  background: none;
2306
2422
  }
2307
2423
  .forgebook-api__name {
2308
- font: 400 0.71875rem/1.4 var(--forgebook-font-mono);
2424
+ font: var(--forgebook-text-mono);
2309
2425
  font-weight: 600;
2310
2426
  color: var(--forgebook-code-name);
2311
2427
  }
@@ -2319,13 +2435,13 @@
2319
2435
  }
2320
2436
  .forgebook-api__head > h2 {
2321
2437
  margin: 0;
2322
- font: 700 1.375rem/1.2 var(--forgebook-font-sans);
2438
+ font: var(--forgebook-text-display);
2323
2439
  }
2324
2440
  .forgebook-required-first {
2325
2441
  display: inline-flex;
2326
2442
  align-items: center;
2327
2443
  gap: 0.375rem;
2328
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2444
+ font: var(--forgebook-text-caption);
2329
2445
  font-weight: 500;
2330
2446
  color: var(--forgebook-text-secondary);
2331
2447
  cursor: pointer;
@@ -2335,7 +2451,7 @@
2335
2451
  padding: 0 0.375rem;
2336
2452
  border-radius: 999px;
2337
2453
  background: var(--forgebook-fill);
2338
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2454
+ font: var(--forgebook-text-caption);
2339
2455
  font-weight: 400;
2340
2456
  color: var(--forgebook-text-secondary);
2341
2457
  white-space: nowrap;
@@ -2343,6 +2459,11 @@
2343
2459
  .forgebook-api__type {
2344
2460
  min-width: 10rem;
2345
2461
  }
2462
+ .forgebook-api__note {
2463
+ display: block;
2464
+ margin: 0.25rem 0 0;
2465
+ color: var(--forgebook-text-secondary);
2466
+ }
2346
2467
  .forgebook-api__subcomponent {
2347
2468
  display: grid;
2348
2469
  grid-template-columns: minmax(0, 1fr);
@@ -2383,9 +2504,9 @@
2383
2504
  border-radius: var(--forgebook-radius-control);
2384
2505
  }
2385
2506
  .forgebook-fold__summary:focus-visible {
2386
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
2507
+ outline: 2px solid var(--forgebook-focus-halo);
2387
2508
  outline-offset: 0;
2388
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
2509
+ box-shadow: var(--forgebook-focus-edge);
2389
2510
  }
2390
2511
  .forgebook-fold__summary::-webkit-details-marker {
2391
2512
  display: none;
@@ -2403,7 +2524,7 @@
2403
2524
  font: inherit;
2404
2525
  }
2405
2526
  .forgebook-fold__count {
2406
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2527
+ font: var(--forgebook-text-caption);
2407
2528
  font-variant-numeric: tabular-nums;
2408
2529
  text-transform: none;
2409
2530
  letter-spacing: normal;
@@ -2426,15 +2547,15 @@
2426
2547
  border: 0;
2427
2548
  border-radius: var(--forgebook-radius-control);
2428
2549
  background: none;
2429
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2550
+ font: var(--forgebook-text-caption);
2430
2551
  color: var(--forgebook-text-secondary);
2431
2552
  white-space: nowrap;
2432
2553
  cursor: pointer;
2433
2554
  }
2434
2555
  .forgebook-api__members-toggle:focus-visible {
2435
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
2556
+ outline: 2px solid var(--forgebook-focus-halo);
2436
2557
  outline-offset: 0;
2437
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
2558
+ box-shadow: var(--forgebook-focus-edge);
2438
2559
  }
2439
2560
  .forgebook-api__members-toggle:hover {
2440
2561
  color: var(--forgebook-text);
@@ -2527,14 +2648,15 @@
2527
2648
  }
2528
2649
  .forgebook-compare__label {
2529
2650
  padding: 0.5rem 0.75rem;
2530
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2651
+ background: var(--forgebook-surface);
2652
+ font: var(--forgebook-text-caption);
2531
2653
  color: var(--forgebook-text-secondary);
2532
2654
  }
2533
2655
  .forgebook-dock__hint {
2534
2656
  padding: 0 0.375rem;
2535
2657
  border-radius: 999px;
2536
2658
  background: var(--forgebook-fill);
2537
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2659
+ font: var(--forgebook-text-caption);
2538
2660
  font-variant-numeric: tabular-nums;
2539
2661
  color: var(--forgebook-text-secondary);
2540
2662
  }
@@ -2549,7 +2671,7 @@
2549
2671
  }
2550
2672
  .forgebook-prop-group__title {
2551
2673
  margin: 0;
2552
- font: 600 0.6875rem/1.3 var(--forgebook-font-sans);
2674
+ font: var(--forgebook-text-label);
2553
2675
  letter-spacing: 0.04em;
2554
2676
  text-transform: uppercase;
2555
2677
  color: var(--forgebook-text-secondary);
@@ -2560,7 +2682,8 @@
2560
2682
  gap: 0.375rem;
2561
2683
  }
2562
2684
  .forgebook-prop select,
2563
- .forgebook-prop input {
2685
+ .forgebook-prop input,
2686
+ .forgebook-prop textarea {
2564
2687
  box-sizing: border-box;
2565
2688
  height: 1.625rem;
2566
2689
  padding: 0 0.5rem;
@@ -2568,23 +2691,85 @@
2568
2691
  border-radius: var(--forgebook-radius-control);
2569
2692
  background: var(--forgebook-surface);
2570
2693
  box-shadow: inset 0 0 0 1px var(--forgebook-edge-field);
2571
- font: 400 0.78125rem/1.4 var(--forgebook-font-sans);
2694
+ font: var(--forgebook-text-row-compact);
2572
2695
  color: var(--forgebook-text);
2573
2696
  }
2574
2697
  .forgebook-prop select:focus-visible,
2575
- .forgebook-prop input:focus-visible {
2576
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
2698
+ .forgebook-prop input:focus-visible,
2699
+ .forgebook-prop textarea:focus-visible {
2700
+ outline: 2px solid var(--forgebook-focus-halo);
2577
2701
  outline-offset: 0;
2578
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
2702
+ box-shadow: var(--forgebook-focus-edge);
2703
+ }
2704
+ .forgebook-prop textarea {
2705
+ flex: 1;
2706
+ min-width: 0;
2707
+ height: auto;
2708
+ padding: 0.25rem 0.5rem;
2709
+ resize: vertical;
2710
+ }
2711
+ .forgebook-prop input[type=checkbox],
2712
+ .forgebook-prop input[type=radio] {
2713
+ height: auto;
2714
+ box-shadow: none;
2715
+ }
2716
+ .forgebook-prop[data-wide] {
2717
+ grid-column: 1/-1;
2718
+ max-width: 48rem;
2719
+ }
2720
+ .forgebook-prop__actions {
2721
+ display: inline-flex;
2722
+ flex: none;
2723
+ gap: 0.125rem;
2724
+ }
2725
+ .forgebook-prop__action {
2726
+ display: inline-grid;
2727
+ place-items: center;
2728
+ width: 1.25rem;
2729
+ height: 1.25rem;
2730
+ padding: 0;
2731
+ border: 0;
2732
+ border-radius: var(--forgebook-radius-control-small);
2733
+ background: none;
2734
+ color: var(--forgebook-text-secondary);
2735
+ cursor: pointer;
2736
+ }
2737
+ .forgebook-prop__action:focus-visible {
2738
+ outline: 2px solid var(--forgebook-focus-halo);
2739
+ outline-offset: 0;
2740
+ box-shadow: var(--forgebook-focus-edge);
2741
+ }
2742
+ .forgebook-prop__action:hover:not([aria-disabled=true]) {
2743
+ color: var(--forgebook-text);
2744
+ background: var(--forgebook-hover);
2745
+ }
2746
+ .forgebook-prop__action[aria-disabled=true] {
2747
+ opacity: 0.4;
2748
+ cursor: default;
2749
+ }
2750
+ .forgebook-prop__description.forgebook-prop__problem {
2751
+ color: var(--forgebook-danger-text);
2752
+ }
2753
+ .forgebook-prop__state {
2754
+ flex: none;
2755
+ font: var(--forgebook-text-caption);
2756
+ color: var(--forgebook-text-tertiary);
2757
+ }
2758
+ .forgebook-toggle-row {
2759
+ display: inline-flex;
2760
+ align-items: center;
2761
+ gap: 0.25rem;
2579
2762
  }
2580
2763
  .forgebook-prop__head {
2581
2764
  display: flex;
2582
- justify-content: space-between;
2583
- align-items: baseline;
2765
+ align-items: center;
2584
2766
  gap: 0.5rem;
2767
+ min-height: 1.25rem;
2585
2768
  }
2586
2769
  .forgebook-prop__name {
2587
- font: 400 0.71875rem/1.4 var(--forgebook-font-mono);
2770
+ flex: none;
2771
+ margin-inline-end: auto;
2772
+ font: var(--forgebook-text-mono);
2588
2773
  font-weight: 500;
2589
2774
  }
2590
2775
  .forgebook-prop__field {
@@ -2614,12 +2799,12 @@
2614
2799
  white-space: nowrap;
2615
2800
  text-overflow: ellipsis;
2616
2801
  min-width: 0;
2617
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
2802
+ font: var(--forgebook-text-mono-small);
2618
2803
  color: var(--forgebook-text-secondary);
2619
2804
  }
2620
2805
  .forgebook-prop__description {
2621
2806
  margin: 0;
2622
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2807
+ font: var(--forgebook-text-caption);
2623
2808
  color: var(--forgebook-text-secondary);
2624
2809
  }
2625
2810
  .forgebook-prop__text-arg {
@@ -2628,18 +2813,13 @@
2628
2813
  align-items: baseline;
2629
2814
  gap: 0.375rem;
2630
2815
  margin: 0;
2631
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2816
+ font: var(--forgebook-text-caption);
2632
2817
  color: var(--forgebook-text-tertiary);
2633
2818
  }
2634
2819
  .forgebook-prop__text-arg code {
2635
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
2820
+ font: var(--forgebook-text-mono-small);
2636
2821
  color: var(--forgebook-text-secondary);
2637
2822
  }
2638
- .forgebook-toggles {
2639
- display: grid;
2640
- grid-template-columns: repeat(2, minmax(0, 1fr));
2641
- gap: 0.5rem 0.75rem;
2642
- }
2643
2823
  .forgebook-toggle {
2644
2824
  display: flex;
2645
2825
  align-items: center;
@@ -2651,7 +2831,7 @@
2651
2831
  white-space: nowrap;
2652
2832
  text-overflow: ellipsis;
2653
2833
  min-width: 0;
2654
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
2834
+ font: var(--forgebook-text-mono-small);
2655
2835
  }
2656
2836
  .forgebook-event {
2657
2837
  display: flex;
@@ -2667,7 +2847,7 @@
2667
2847
  padding: 0.25rem 0.5rem;
2668
2848
  border-radius: var(--forgebook-radius-control-small);
2669
2849
  background: var(--forgebook-fill-quiet);
2670
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
2850
+ font: var(--forgebook-text-mono-small);
2671
2851
  white-space: pre-wrap;
2672
2852
  overflow-wrap: anywhere;
2673
2853
  }
@@ -2720,7 +2900,7 @@
2720
2900
  min-width: 0;
2721
2901
  }
2722
2902
  .forgebook-calls__time {
2723
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2903
+ font: var(--forgebook-text-caption);
2724
2904
  font-variant-numeric: tabular-nums;
2725
2905
  color: var(--forgebook-text-tertiary);
2726
2906
  }