forgebook 0.3.3 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (713) hide show
  1. package/README.md +994 -72
  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 +182 -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 +62 -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 +95 -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 +204 -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 +323 -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 +29 -5
  187. package/dist/src/addressArgs.js +58 -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 +148 -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 +69 -185
  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 +83 -0
  211. package/dist/src/componentDocs.js +20 -3
  212. package/dist/src/controlCode.d.ts +27 -0
  213. package/dist/src/controlCode.js +41 -0
  214. package/dist/src/frame/callValues.d.ts +19 -0
  215. package/dist/src/frame/callValues.js +58 -0
  216. package/dist/src/frame/canvasScheme.d.ts +33 -0
  217. package/dist/src/frame/canvasScheme.js +67 -0
  218. package/dist/src/frame/controlValues.d.ts +39 -0
  219. package/dist/src/frame/controlValues.js +143 -0
  220. package/dist/src/frame/frame.css +36 -3
  221. package/dist/src/frame/frameStatus.d.ts +16 -1
  222. package/dist/src/frame/frameStatus.js +16 -1
  223. package/dist/src/frame/frameView.js +4 -3
  224. package/dist/src/frame/mountFrame.d.ts +10 -1
  225. package/dist/src/frame/mountFrame.js +160 -55
  226. package/dist/src/frame/panelControls.d.ts +67 -0
  227. package/dist/src/frame/panelControls.js +110 -0
  228. package/dist/src/frame/panelValues.d.ts +35 -0
  229. package/dist/src/frame/panelValues.js +127 -0
  230. package/dist/src/frame/playActions.d.ts +39 -0
  231. package/dist/src/frame/playActions.js +98 -0
  232. package/dist/src/frame/playStepper.d.ts +28 -0
  233. package/dist/src/frame/playStepper.js +38 -0
  234. package/dist/src/frame/playStory.d.ts +9 -1
  235. package/dist/src/frame/playStory.js +49 -3
  236. package/dist/src/frame/renderer.d.ts +34 -1
  237. package/dist/src/frame/renderer.js +24 -0
  238. package/dist/src/frame/shellChannel.d.ts +1 -1
  239. package/dist/src/frame/shellChannel.js +1 -1
  240. package/dist/src/frame/shellCheck.d.ts +17 -0
  241. package/dist/src/frame/shellCheck.js +25 -0
  242. package/dist/src/frame/shellMessageCheck.d.ts +7 -0
  243. package/dist/src/frame/shellMessageCheck.js +53 -0
  244. package/dist/src/frame/storyContent.d.ts +50 -0
  245. package/dist/src/frame/storyContent.js +73 -0
  246. package/dist/src/frame/storyModule.d.ts +9 -0
  247. package/dist/src/frame/storyModule.js +20 -2
  248. package/dist/src/frame/storyRun.d.ts +15 -7
  249. package/dist/src/frame/storyRun.js +64 -15
  250. package/dist/src/frame/valueSheets.d.ts +35 -0
  251. package/dist/src/frame/valueSheets.js +99 -0
  252. package/dist/src/hotModules.d.ts +20 -0
  253. package/dist/src/hotModules.js +23 -0
  254. package/dist/src/jsxCode.d.ts +1 -14
  255. package/dist/src/jsxCode.js +46 -10
  256. package/dist/src/liveErrors.d.ts +30 -4
  257. package/dist/src/liveErrors.js +18 -3
  258. package/dist/src/messages.d.ts +77 -27
  259. package/dist/src/messages.js +58 -100
  260. package/dist/src/namedValues.d.ts +2 -26
  261. package/dist/src/namedValues.js +0 -47
  262. package/dist/src/pageConfig.d.ts +2 -0
  263. package/dist/src/playTrace.d.ts +19 -2
  264. package/dist/src/playTrace.js +10 -5
  265. package/dist/src/plugin.d.ts +10 -3
  266. package/dist/src/previewRelay.js +9 -1
  267. package/dist/src/printable.d.ts +12 -0
  268. package/dist/src/printable.js +22 -0
  269. package/dist/src/propsSignature.d.ts +37 -0
  270. package/dist/src/propsSignature.js +40 -0
  271. package/dist/src/search.d.ts +41 -5
  272. package/dist/src/search.js +93 -23
  273. package/dist/src/searchMatch.d.ts +4 -1
  274. package/dist/src/searchMatch.js +26 -5
  275. package/dist/src/searchTypos.d.ts +88 -0
  276. package/dist/src/searchTypos.js +178 -0
  277. package/dist/src/shapeValues.d.ts +86 -0
  278. package/dist/src/shapeValues.js +295 -0
  279. package/dist/src/shell/ApiReference.js +6 -3
  280. package/dist/src/shell/ApiTableBox.d.ts +15 -0
  281. package/dist/src/shell/ApiTableBox.js +11 -0
  282. package/dist/src/shell/AppearanceMenu.d.ts +4 -1
  283. package/dist/src/shell/AppearanceMenu.js +9 -6
  284. package/dist/src/shell/AuthoredHome.js +3 -1
  285. package/dist/src/shell/CodeTab.d.ts +12 -6
  286. package/dist/src/shell/CodeTab.js +47 -3
  287. package/dist/src/shell/CodeText.d.ts +1 -1
  288. package/dist/src/shell/CodeText.js +2 -3
  289. package/dist/src/shell/CompareGrid.js +1 -1
  290. package/dist/src/shell/ComponentPage.d.ts +6 -6
  291. package/dist/src/shell/ComponentPage.js +8 -2
  292. package/dist/src/shell/CustomControl.d.ts +34 -0
  293. package/dist/src/shell/CustomControl.js +125 -0
  294. package/dist/src/shell/DocContainers.js +1 -1
  295. package/dist/src/shell/DocPage.js +2 -2
  296. package/dist/src/shell/DroppedArgsList.d.ts +2 -2
  297. package/dist/src/shell/DroppedArgsList.js +1 -1
  298. package/dist/src/shell/EmbedPage.js +30 -12
  299. package/dist/src/shell/Example.d.ts +5 -1
  300. package/dist/src/shell/Example.js +16 -8
  301. package/dist/src/shell/FrameView.d.ts +6 -3
  302. package/dist/src/shell/FrameView.js +2 -2
  303. package/dist/src/shell/HomePage.d.ts +3 -1
  304. package/dist/src/shell/HomePage.js +18 -6
  305. package/dist/src/shell/InfoTip.js +2 -2
  306. package/dist/src/shell/InteractionsTab.d.ts +11 -4
  307. package/dist/src/shell/InteractionsTab.js +18 -2
  308. package/dist/src/shell/LazyPage.js +1 -1
  309. package/dist/src/shell/PackageHtml.js +3 -1
  310. package/dist/src/shell/PageWidth.d.ts +29 -0
  311. package/dist/src/shell/PageWidth.js +18 -0
  312. package/dist/src/shell/PinnedControl.js +14 -62
  313. package/dist/src/shell/PinnedControlMenu.d.ts +44 -0
  314. package/dist/src/shell/PinnedControlMenu.js +72 -0
  315. package/dist/src/shell/PropFields.d.ts +3 -1
  316. package/dist/src/shell/PropFields.js +9 -6
  317. package/dist/src/shell/PropRows.d.ts +22 -11
  318. package/dist/src/shell/PropRows.js +62 -24
  319. package/dist/src/shell/PropsTab.d.ts +12 -5
  320. package/dist/src/shell/PropsTab.js +9 -22
  321. package/dist/src/shell/RefStoryPage.d.ts +33 -0
  322. package/dist/src/shell/RefStoryPage.js +123 -0
  323. package/dist/src/shell/SearchPanel.js +51 -24
  324. package/dist/src/shell/Shell.d.ts +18 -0
  325. package/dist/src/shell/Shell.js +141 -23
  326. package/dist/src/shell/ShortcutHelp.d.ts +22 -0
  327. package/dist/src/shell/ShortcutHelp.js +66 -0
  328. package/dist/src/shell/Sidebar.d.ts +17 -4
  329. package/dist/src/shell/Sidebar.js +92 -41
  330. package/dist/src/shell/SidebarDocs.js +2 -2
  331. package/dist/src/shell/SidebarEntries.js +5 -3
  332. package/dist/src/shell/SidebarHandle.d.ts +3 -5
  333. package/dist/src/shell/SidebarHandle.js +4 -4
  334. package/dist/src/shell/SidebarRefs.d.ts +39 -0
  335. package/dist/src/shell/SidebarRefs.js +99 -0
  336. package/dist/src/shell/SidebarSearch.js +37 -9
  337. package/dist/src/shell/SignatureReference.js +3 -1
  338. package/dist/src/shell/Stage.d.ts +10 -2
  339. package/dist/src/shell/Stage.js +29 -49
  340. package/dist/src/shell/StatusBadges.d.ts +54 -0
  341. package/dist/src/shell/StatusBadges.js +77 -0
  342. package/dist/src/shell/StoryCodeBlock.d.ts +8 -19
  343. package/dist/src/shell/StoryCodeBlock.js +7 -6
  344. package/dist/src/shell/StoryPicker.d.ts +4 -2
  345. package/dist/src/shell/StoryPicker.js +3 -3
  346. package/dist/src/shell/Switch.d.ts +29 -0
  347. package/dist/src/shell/Switch.js +11 -0
  348. package/dist/src/shell/SwitchGallery.d.ts +36 -0
  349. package/dist/src/shell/SwitchGallery.js +17 -0
  350. package/dist/src/shell/SwitchGalleryPanel.d.ts +37 -0
  351. package/dist/src/shell/SwitchGalleryPanel.js +99 -0
  352. package/dist/src/shell/TagFilter.d.ts +24 -0
  353. package/dist/src/shell/TagFilter.js +45 -0
  354. package/dist/src/shell/TagViews.d.ts +39 -0
  355. package/dist/src/shell/TagViews.js +20 -0
  356. package/dist/src/shell/Toolbar.d.ts +4 -1
  357. package/dist/src/shell/Toolbar.js +17 -7
  358. package/dist/src/shell/ToolbarControl.d.ts +3 -0
  359. package/dist/src/shell/ToolbarControl.js +23 -6
  360. package/dist/src/shell/ViewMenuPanel.js +6 -1
  361. package/dist/src/shell/argChecks.d.ts +22 -0
  362. package/dist/src/shell/argChecks.js +20 -0
  363. package/dist/src/shell/asideStory.js +7 -2
  364. package/dist/src/shell/audienceSections.css +9 -9
  365. package/dist/src/shell/catalogueContext.d.ts +1 -1
  366. package/dist/src/shell/catalogueContext.js +6 -1
  367. package/dist/src/shell/codeSpans.d.ts +27 -0
  368. package/dist/src/shell/codeSpans.js +76 -0
  369. package/dist/src/shell/compareVariants.d.ts +4 -2
  370. package/dist/src/shell/compareVariants.js +16 -8
  371. package/dist/src/shell/composition.d.ts +23 -0
  372. package/dist/src/shell/composition.js +26 -0
  373. package/dist/src/shell/controlCycle.d.ts +1 -1
  374. package/dist/src/shell/controlCycle.js +3 -2
  375. package/dist/src/shell/customControls.d.ts +62 -0
  376. package/dist/src/shell/customControls.js +81 -0
  377. package/dist/src/shell/docPage.css +22 -22
  378. package/dist/src/shell/dockTabs.d.ts +19 -3
  379. package/dist/src/shell/dockTabs.js +29 -20
  380. package/dist/src/shell/embed.css +7 -7
  381. package/dist/src/shell/frameOrder.d.ts +35 -0
  382. package/dist/src/shell/frameOrder.js +45 -0
  383. package/dist/src/shell/framesOrigin.d.ts +7 -0
  384. package/dist/src/shell/framesOrigin.js +1 -1
  385. package/dist/src/shell/galleryPlace.d.ts +20 -0
  386. package/dist/src/shell/galleryPlace.js +26 -0
  387. package/dist/src/shell/icons.d.ts +1 -0
  388. package/dist/src/shell/icons.js +1 -0
  389. package/dist/src/shell/keyboard.d.ts +14 -12
  390. package/dist/src/shell/keyboard.js +21 -6
  391. package/dist/src/shell/laterStrings.d.ts +30 -0
  392. package/dist/src/shell/laterStrings.js +43 -3
  393. package/dist/src/shell/mountShell.js +3 -0
  394. package/dist/src/shell/pageStrings.d.ts +4 -0
  395. package/dist/src/shell/pageStrings.js +4 -0
  396. package/dist/src/shell/pageTagView.d.ts +18 -0
  397. package/dist/src/shell/pageTagView.js +10 -0
  398. package/dist/src/shell/playMemory.d.ts +14 -0
  399. package/dist/src/shell/playMemory.js +8 -0
  400. package/dist/src/shell/propNotes.d.ts +23 -0
  401. package/dist/src/shell/propNotes.js +37 -0
  402. package/dist/src/shell/refIndexLoad.d.ts +17 -0
  403. package/dist/src/shell/refIndexLoad.js +38 -0
  404. package/dist/src/shell/refParts.d.ts +34 -0
  405. package/dist/src/shell/refParts.js +9 -0
  406. package/dist/src/shell/refStory.css +21 -0
  407. package/dist/src/shell/refStrings.d.ts +13 -0
  408. package/dist/src/shell/refStrings.js +21 -0
  409. package/dist/src/shell/search.css +11 -11
  410. package/dist/src/shell/shell.css +376 -169
  411. package/dist/src/shell/shellScheme.js +2 -2
  412. package/dist/src/shell/shortcutHelp.css +64 -0
  413. package/dist/src/shell/stageArgs.d.ts +53 -0
  414. package/dist/src/shell/stageArgs.js +64 -0
  415. package/dist/src/shell/statusBadges.css +51 -0
  416. package/dist/src/shell/strings.d.ts +7 -16
  417. package/dist/src/shell/strings.js +12 -17
  418. package/dist/src/shell/switchGallery.css +104 -0
  419. package/dist/src/shell/tagFilter.css +46 -0
  420. package/dist/src/shell/tagView.d.ts +20 -0
  421. package/dist/src/shell/tagView.js +10 -0
  422. package/dist/src/shell/useAddressArgs.d.ts +9 -0
  423. package/dist/src/shell/useAddressArgs.js +56 -11
  424. package/dist/src/shell/useControlKeys.js +2 -2
  425. package/dist/src/shell/useEditedProblems.d.ts +6 -0
  426. package/dist/src/shell/useEditedProblems.js +40 -0
  427. package/dist/src/shell/useFrameMessages.js +3 -0
  428. package/dist/src/shell/useFrameQueue.d.ts +8 -3
  429. package/dist/src/shell/useFrameQueue.js +42 -12
  430. package/dist/src/shell/useListedTree.d.ts +13 -0
  431. package/dist/src/shell/useListedTree.js +32 -0
  432. package/dist/src/shell/usePageFrames.js +2 -2
  433. package/dist/src/shell/usePopover.d.ts +5 -0
  434. package/dist/src/shell/usePopover.js +7 -1
  435. package/dist/src/shell/useRefIndex.d.ts +22 -0
  436. package/dist/src/shell/useRefIndex.js +36 -0
  437. package/dist/src/shell/useScrollSettled.d.ts +18 -0
  438. package/dist/src/shell/useScrollSettled.js +56 -0
  439. package/dist/src/shell/useScrollStops.d.ts +20 -0
  440. package/dist/src/shell/useScrollStops.js +41 -0
  441. package/dist/src/shell/useShortcutHelp.d.ts +18 -0
  442. package/dist/src/shell/useShortcutHelp.js +32 -0
  443. package/dist/src/shell/useSidebarOverlay.d.ts +2 -1
  444. package/dist/src/shell/useSidebarOverlay.js +12 -4
  445. package/dist/src/shell/useStoryCode.d.ts +2 -1
  446. package/dist/src/shell/useStoryCode.js +12 -7
  447. package/dist/src/shell/useToolbarLayout.d.ts +5 -1
  448. package/dist/src/shell/useToolbarLayout.js +2 -2
  449. package/dist/src/shell/useWorstCase.d.ts +8 -2
  450. package/dist/src/shell/useWorstCase.js +2 -2
  451. package/dist/src/shell/valueEditors/FileEditor.d.ts +28 -0
  452. package/dist/src/shell/valueEditors/FileEditor.js +66 -0
  453. package/dist/src/shell/valueEditors/JsonEditor.d.ts +14 -0
  454. package/dist/src/shell/valueEditors/JsonEditor.js +53 -0
  455. package/dist/src/shell/valueEditors/ListEditor.d.ts +24 -0
  456. package/dist/src/shell/valueEditors/ListEditor.js +82 -0
  457. package/dist/src/shell/valueEditors/ObjectEditor.d.ts +32 -0
  458. package/dist/src/shell/valueEditors/ObjectEditor.js +70 -0
  459. package/dist/src/shell/valueEditors/PropEditor.d.ts +37 -0
  460. package/dist/src/shell/valueEditors/PropEditor.js +53 -0
  461. package/dist/src/shell/valueEditors/RecordEditor.d.ts +20 -0
  462. package/dist/src/shell/valueEditors/RecordEditor.js +84 -0
  463. package/dist/src/shell/valueEditors/SearchSelect.d.ts +42 -0
  464. package/dist/src/shell/valueEditors/SearchSelect.js +80 -0
  465. package/dist/src/shell/valueEditors/TokenEditor.d.ts +49 -0
  466. package/dist/src/shell/valueEditors/TokenEditor.js +74 -0
  467. package/dist/src/shell/valueEditors/UnionEditor.d.ts +20 -0
  468. package/dist/src/shell/valueEditors/UnionEditor.js +64 -0
  469. package/dist/src/shell/valueEditors/ValueField.d.ts +15 -0
  470. package/dist/src/shell/valueEditors/ValueField.js +148 -0
  471. package/dist/src/shell/valueEditors/editorStrings.d.ts +56 -0
  472. package/dist/src/shell/valueEditors/editorStrings.js +66 -0
  473. package/dist/src/shell/valueEditors/fieldTypes.d.ts +31 -0
  474. package/dist/src/shell/valueEditors/fieldTypes.js +0 -0
  475. package/dist/src/shell/valueEditors/valueEditors.css +153 -0
  476. package/dist/src/shell/worstArgs.d.ts +8 -5
  477. package/dist/src/shell/worstArgs.js +14 -7
  478. package/dist/src/shellTheme.d.ts +1 -1
  479. package/dist/src/shellTheme.js +15 -1
  480. package/dist/src/shellTheme.types.d.ts +4 -0
  481. package/dist/src/shellWord.d.ts +12 -0
  482. package/dist/src/shellWord.js +15 -0
  483. package/dist/src/sourceFiles.js +2 -1
  484. package/dist/src/storyArgTypes.d.ts +57 -0
  485. package/dist/src/storyArgTypes.js +195 -0
  486. package/dist/src/storyBackground.js +14 -3
  487. package/dist/src/storyCheck.d.ts +99 -3
  488. package/dist/src/storyCheck.js +39 -1
  489. package/dist/src/storyCodeText.d.ts +52 -0
  490. package/dist/src/storyCodeText.js +30 -0
  491. package/dist/src/storyControls.d.ts +103 -0
  492. package/dist/src/storyControls.js +100 -0
  493. package/dist/src/storyStatuses.d.ts +55 -0
  494. package/dist/src/storyStatuses.js +104 -0
  495. package/dist/src/storyTagNames.d.ts +25 -0
  496. package/dist/src/storyTagNames.js +25 -0
  497. package/dist/src/storyTags.d.ts +29 -0
  498. package/dist/src/storyTags.js +85 -0
  499. package/dist/src/storyTree.d.ts +13 -0
  500. package/dist/src/storyTree.js +24 -4
  501. package/dist/src/storybookArgs.d.ts +24 -0
  502. package/dist/src/storybookArgs.js +185 -0
  503. package/dist/src/switches.d.ts +66 -3
  504. package/dist/src/switches.js +42 -1
  505. package/dist/src/valueSchema.d.ts +28 -0
  506. package/dist/src/valueSchema.js +196 -0
  507. package/dist/src/valueShape.d.ts +94 -0
  508. package/dist/src/valueShape.js +25 -0
  509. package/dist/src/viewState.d.ts +8 -3
  510. package/dist/src/viewState.js +27 -10
  511. package/dist/src/vite/adapter.d.ts +40 -2
  512. package/dist/src/vite/adapter.js +1 -0
  513. package/dist/src/vite/agent.types.d.ts +354 -7
  514. package/dist/src/vite/agentApi.d.ts +23 -0
  515. package/dist/src/vite/agentApi.js +90 -17
  516. package/dist/src/vite/agentIndex.d.ts +0 -2
  517. package/dist/src/vite/agentIndex.js +5 -6
  518. package/dist/src/vite/agentRoutes.d.ts +20 -1
  519. package/dist/src/vite/agentRoutes.js +135 -66
  520. package/dist/src/vite/agentStatuses.d.ts +42 -0
  521. package/dist/src/vite/agentStatuses.js +67 -0
  522. package/dist/src/vite/agentStoryCode.d.ts +51 -0
  523. package/dist/src/vite/agentStoryCode.js +44 -0
  524. package/dist/src/vite/agentVisibility.d.ts +47 -0
  525. package/dist/src/vite/agentVisibility.js +174 -0
  526. package/dist/src/vite/appAudit.d.ts +134 -0
  527. package/dist/src/vite/appAudit.js +333 -0
  528. package/dist/src/vite/appBuildOption.d.ts +53 -0
  529. package/dist/src/vite/appBuildOption.js +55 -0
  530. package/dist/src/vite/appTokenFiles.d.ts +92 -0
  531. package/dist/src/vite/appTokenFiles.js +433 -0
  532. package/dist/src/vite/appTokens.d.ts +23 -0
  533. package/dist/src/vite/appTokens.js +275 -0
  534. package/dist/src/vite/argControlsConfig.d.ts +30 -0
  535. package/dist/src/vite/argControlsConfig.js +176 -0
  536. package/dist/src/vite/builtTexts.d.ts +10 -0
  537. package/dist/src/vite/builtTexts.js +59 -22
  538. package/dist/src/vite/catalogueConfig.d.ts +3 -1
  539. package/dist/src/vite/catalogueConfig.js +21 -4
  540. package/dist/src/vite/changeCoverage.d.ts +74 -0
  541. package/dist/src/vite/changeCoverage.js +120 -0
  542. package/dist/src/vite/changedRoute.d.ts +30 -0
  543. package/dist/src/vite/changedRoute.js +197 -0
  544. package/dist/src/vite/checkCode.d.ts +105 -3
  545. package/dist/src/vite/checkCode.js +323 -36
  546. package/dist/src/vite/checkoutWatch.d.ts +97 -0
  547. package/dist/src/vite/checkoutWatch.js +287 -0
  548. package/dist/src/vite/closeWatch.d.ts +8 -0
  549. package/dist/src/vite/closeWatch.js +1 -1
  550. package/dist/src/vite/componentCache.d.ts +8 -0
  551. package/dist/src/vite/componentCache.js +66 -0
  552. package/dist/src/vite/componentGraph.d.ts +71 -0
  553. package/dist/src/vite/componentGraph.js +133 -0
  554. package/dist/src/vite/componentRules.d.ts +33 -0
  555. package/dist/src/vite/componentRules.js +105 -0
  556. package/dist/src/vite/componentScan.d.ts +69 -0
  557. package/dist/src/vite/componentScan.js +418 -0
  558. package/dist/src/vite/compositionCheck.d.ts +15 -0
  559. package/dist/src/vite/compositionCheck.js +243 -0
  560. package/dist/src/vite/config.d.ts +67 -1
  561. package/dist/src/vite/configFile.d.ts +15 -2
  562. package/dist/src/vite/configFile.js +109 -40
  563. package/dist/src/vite/configKeys.d.ts +15 -0
  564. package/dist/src/vite/configKeys.js +172 -0
  565. package/dist/src/vite/configLoadError.d.ts +23 -0
  566. package/dist/src/vite/configLoadError.js +71 -0
  567. package/dist/src/vite/cssDeclarations.d.ts +71 -0
  568. package/dist/src/vite/cssDeclarations.js +290 -0
  569. package/dist/src/vite/cssImports.d.ts +14 -0
  570. package/dist/src/vite/cssImports.js +48 -0
  571. package/dist/src/vite/cssReferences.d.ts +54 -0
  572. package/dist/src/vite/cssReferences.js +157 -0
  573. package/dist/src/vite/cssTokenValues.d.ts +50 -0
  574. package/dist/src/vite/cssTokenValues.js +233 -0
  575. package/dist/src/vite/designTokens.d.ts +24 -0
  576. package/dist/src/vite/designTokens.js +5 -1
  577. package/dist/src/vite/docsExtractor.d.ts +9 -3
  578. package/dist/src/vite/docsExtractor.js +11 -3
  579. package/dist/src/vite/docsProgram.d.ts +17 -4
  580. package/dist/src/vite/docsProgram.js +52 -11
  581. package/dist/src/vite/docsWorker.js +7 -2
  582. package/dist/src/vite/emptyStoryGlobs.d.ts +41 -0
  583. package/dist/src/vite/emptyStoryGlobs.js +52 -0
  584. package/dist/src/vite/fileImports.d.ts +17 -0
  585. package/dist/src/vite/fileImports.js +57 -0
  586. package/dist/src/vite/findComponent.d.ts +10 -2
  587. package/dist/src/vite/findComponent.js +27 -22
  588. package/dist/src/vite/findRoute.js +3 -2
  589. package/dist/src/vite/forcedStates.d.ts +9 -2
  590. package/dist/src/vite/forcedStates.js +12 -3
  591. package/dist/src/vite/forgebookPlugin.d.ts +2 -0
  592. package/dist/src/vite/forgebookPlugin.js +55 -73
  593. package/dist/src/vite/frameErrors.d.ts +19 -0
  594. package/dist/src/vite/frameErrors.js +70 -0
  595. package/dist/src/vite/framesServer.d.ts +12 -0
  596. package/dist/src/vite/framesServer.js +21 -4
  597. package/dist/src/vite/functionComponentDocs.js +81 -12
  598. package/dist/src/vite/generatedModules.js +4 -2
  599. package/dist/src/vite/gitChange.d.ts +38 -5
  600. package/dist/src/vite/gitChange.js +71 -11
  601. package/dist/src/vite/hiddenStoryFiles.d.ts +23 -0
  602. package/dist/src/vite/hiddenStoryFiles.js +107 -0
  603. package/dist/src/vite/hotSnippets.d.ts +38 -14
  604. package/dist/src/vite/hotSnippets.js +137 -39
  605. package/dist/src/vite/importedNames.d.ts +37 -0
  606. package/dist/src/vite/importedNames.js +138 -0
  607. package/dist/src/vite/indexFields.d.ts +6 -0
  608. package/dist/src/vite/indexFields.js +21 -0
  609. package/dist/src/vite/indexStoryFile.d.ts +8 -1
  610. package/dist/src/vite/indexStoryFile.js +22 -157
  611. package/dist/src/vite/jsxCallSites.d.ts +33 -0
  612. package/dist/src/vite/jsxCallSites.js +200 -0
  613. package/dist/src/vite/jsxInScripts.d.ts +67 -0
  614. package/dist/src/vite/jsxInScripts.js +138 -0
  615. package/dist/src/vite/jsxTree.d.ts +20 -0
  616. package/dist/src/vite/jsxTree.js +163 -0
  617. package/dist/src/vite/lineAndColumn.d.ts +13 -0
  618. package/dist/src/vite/lineAndColumn.js +18 -0
  619. package/dist/src/vite/lookAlikes.d.ts +65 -0
  620. package/dist/src/vite/lookAlikes.js +228 -0
  621. package/dist/src/vite/nearestToken.d.ts +17 -0
  622. package/dist/src/vite/nearestToken.js +9 -2
  623. package/dist/src/vite/packageEntries.d.ts +42 -0
  624. package/dist/src/vite/packageEntries.js +127 -0
  625. package/dist/src/vite/pages.d.ts +9 -1
  626. package/dist/src/vite/pages.js +119 -4
  627. package/dist/src/vite/pluginConfig.js +4 -0
  628. package/dist/src/vite/pluginIds.d.ts +2 -0
  629. package/dist/src/vite/pluginIds.js +5 -1
  630. package/dist/src/vite/pluginModules.d.ts +81 -11
  631. package/dist/src/vite/pluginModules.js +109 -21
  632. package/dist/src/vite/prebundled.d.ts +57 -15
  633. package/dist/src/vite/prebundled.js +80 -0
  634. package/dist/src/vite/previewTags.d.ts +25 -0
  635. package/dist/src/vite/previewTags.js +56 -0
  636. package/dist/src/vite/projectFiles.d.ts +54 -0
  637. package/dist/src/vite/projectFiles.js +116 -0
  638. package/dist/src/vite/projectPostcss.d.ts +70 -0
  639. package/dist/src/vite/projectPostcss.js +250 -0
  640. package/dist/src/vite/propDocs.d.ts +12 -0
  641. package/dist/src/vite/propDocs.js +187 -60
  642. package/dist/src/vite/propKind.d.ts +40 -0
  643. package/dist/src/vite/propKind.js +71 -0
  644. package/dist/src/vite/propTypeNotes.d.ts +22 -0
  645. package/dist/src/vite/propTypeNotes.js +51 -0
  646. package/dist/src/vite/publishedExports.d.ts +27 -0
  647. package/dist/src/vite/publishedExports.js +298 -0
  648. package/dist/src/vite/realFolder.d.ts +6 -0
  649. package/dist/src/vite/realFolder.js +25 -0
  650. package/dist/src/vite/refsConfig.d.ts +39 -0
  651. package/dist/src/vite/refsConfig.js +54 -0
  652. package/dist/src/vite/reuseCheck.d.ts +45 -0
  653. package/dist/src/vite/reuseCheck.js +260 -0
  654. package/dist/src/vite/runningVersions.d.ts +33 -0
  655. package/dist/src/vite/runningVersions.js +25 -0
  656. package/dist/src/vite/scriptProblems.d.ts +60 -0
  657. package/dist/src/vite/scriptProblems.js +155 -0
  658. package/dist/src/vite/searchModule.js +3 -2
  659. package/dist/src/vite/searchRoute.js +4 -2
  660. package/dist/src/vite/shapeDocs.d.ts +36 -0
  661. package/dist/src/vite/shapeDocs.js +177 -0
  662. package/dist/src/vite/singleFileComponent.d.ts +17 -0
  663. package/dist/src/vite/singleFileComponent.js +83 -0
  664. package/dist/src/vite/sourceText.d.ts +34 -0
  665. package/dist/src/vite/sourceText.js +72 -0
  666. package/dist/src/vite/sourceTokens.d.ts +7 -0
  667. package/dist/src/vite/sourceTokens.js +7 -2
  668. package/dist/src/vite/stackLines.d.ts +49 -0
  669. package/dist/src/vite/stackLines.js +96 -0
  670. package/dist/src/vite/storyCode.d.ts +22 -7
  671. package/dist/src/vite/storyCode.js +263 -37
  672. package/dist/src/vite/storyCoverage.d.ts +48 -0
  673. package/dist/src/vite/storyCoverage.js +179 -0
  674. package/dist/src/vite/storyFilesModule.d.ts +48 -3
  675. package/dist/src/vite/storyFilesModule.js +105 -15
  676. package/dist/src/vite/storyPatterns.d.ts +31 -0
  677. package/dist/src/vite/storyPatterns.js +140 -5
  678. package/dist/src/vite/storyReach.d.ts +10 -2
  679. package/dist/src/vite/storyReach.js +15 -11
  680. package/dist/src/vite/storyTopLevel.d.ts +51 -0
  681. package/dist/src/vite/storyTopLevel.js +146 -0
  682. package/dist/src/vite/storylessRoutes.d.ts +4 -3
  683. package/dist/src/vite/storylessRoutes.js +210 -19
  684. package/dist/src/vite/switchValuesCheck.d.ts +19 -0
  685. package/dist/src/vite/switchValuesCheck.js +164 -0
  686. package/dist/src/vite/switchesDocument.d.ts +15 -0
  687. package/dist/src/vite/switchesDocument.js +47 -0
  688. package/dist/src/vite/tailwindConfigTokens.d.ts +41 -0
  689. package/dist/src/vite/tailwindConfigTokens.js +306 -0
  690. package/dist/src/vite/textImports.d.ts +15 -0
  691. package/dist/src/vite/textImports.js +58 -0
  692. package/dist/src/vite/textModules.d.ts +6 -5
  693. package/dist/src/vite/textModules.js +13 -8
  694. package/dist/src/vite/tokenAnswers.d.ts +6 -2
  695. package/dist/src/vite/tokenAnswers.js +11 -7
  696. package/dist/src/vite/typeParameters.d.ts +83 -0
  697. package/dist/src/vite/typeParameters.js +270 -0
  698. package/dist/src/vite/typedControls.d.ts +31 -0
  699. package/dist/src/vite/typedControls.js +66 -0
  700. package/dist/src/vite/unionProps.d.ts +37 -0
  701. package/dist/src/vite/unionProps.js +121 -0
  702. package/dist/src/vite/unresolvedTokens.d.ts +20 -0
  703. package/dist/src/vite/unresolvedTokens.js +193 -0
  704. package/dist/src/vite/usageGraph.js +10 -52
  705. package/dist/src/vite/usageGuidance.d.ts +9 -2
  706. package/dist/src/vite/usageGuidance.js +36 -8
  707. package/dist/src/vite/usageImports.d.ts +35 -0
  708. package/dist/src/vite/usageImports.js +280 -0
  709. package/dist/src/vite/visibilityRoute.d.ts +16 -0
  710. package/dist/src/vite/visibilityRoute.js +320 -0
  711. package/dist/src/worstCase.d.ts +2 -0
  712. package/dist/src/worstCase.js +2 -0
  713. 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);
@@ -594,6 +624,9 @@
594
624
  min-height: 0;
595
625
  overflow: auto;
596
626
  }
627
+ .forgebook-dock__body:has(.forgebook-tab-foot) {
628
+ scroll-padding-block-end: 2.5rem;
629
+ }
597
630
  .forgebook-icon-button {
598
631
  display: inline-flex;
599
632
  align-self: center;
@@ -608,9 +641,9 @@
608
641
  cursor: pointer;
609
642
  }
610
643
  .forgebook-icon-button:focus-visible {
611
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
644
+ outline: 2px solid var(--forgebook-focus-halo);
612
645
  outline-offset: 0;
613
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
646
+ box-shadow: var(--forgebook-focus-edge);
614
647
  }
615
648
  .forgebook-icon-button:hover {
616
649
  background: var(--forgebook-hover);
@@ -633,19 +666,23 @@
633
666
  .forgebook-tab-note {
634
667
  margin: 0;
635
668
  padding: 0.75rem 0.875rem 0;
636
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
669
+ font: var(--forgebook-text-caption);
637
670
  color: var(--forgebook-text-secondary);
638
671
  }
639
672
  .forgebook-tab-foot {
673
+ position: sticky;
674
+ bottom: 0;
675
+ z-index: 1;
640
676
  display: flex;
641
677
  align-items: center;
642
678
  gap: 0.75rem;
643
679
  padding: 0.625rem 0.875rem;
680
+ background: var(--forgebook-surface);
644
681
  box-shadow: inset 0 1px 0 var(--forgebook-separator);
645
682
  }
646
683
  .forgebook-tab-foot__note {
647
684
  margin-inline-start: auto;
648
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
685
+ font: var(--forgebook-text-caption);
649
686
  color: var(--forgebook-text-secondary);
650
687
  }
651
688
  .forgebook-tab-foot__note[data-has-spills=true] {
@@ -739,7 +776,7 @@
739
776
  height: 1.375rem;
740
777
  padding: 0 0.5rem 0 0.25rem;
741
778
  border-radius: var(--forgebook-radius-control-small);
742
- font: 500 0.75rem/1.3 var(--forgebook-font-sans);
779
+ font: var(--forgebook-text-control);
743
780
  color: var(--forgebook-text-secondary);
744
781
  transition: background-color 150ms ease-out, box-shadow 150ms ease-out;
745
782
  }
@@ -755,20 +792,19 @@
755
792
  border: 0;
756
793
  border-radius: var(--forgebook-radius-control-small);
757
794
  background: none;
758
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
795
+ font: var(--forgebook-text-mono-small);
759
796
  font-variant-numeric: tabular-nums;
760
797
  color: inherit;
761
798
  text-align: end;
762
799
  }
763
800
  .forgebook-width-field__input::placeholder {
764
- color: var(--forgebook-text-tertiary);
801
+ color: var(--forgebook-text-secondary);
765
802
  }
766
803
  .forgebook-width-field__input:focus-visible {
767
804
  outline: none;
768
805
  }
769
806
  .forgebook-width-field__unit {
770
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
771
- color: var(--forgebook-text-tertiary);
807
+ font: var(--forgebook-text-mono-small);
772
808
  }
773
809
  .forgebook-stage-tools {
774
810
  position: absolute;
@@ -819,9 +855,9 @@
819
855
  }
820
856
  .forgebook-stage-tools__button:focus-visible:focus-visible,
821
857
  .forgebook-stage-tools__zoom:focus-visible:focus-visible {
822
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
858
+ outline: 2px solid var(--forgebook-focus-halo);
823
859
  outline-offset: 0;
824
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
860
+ box-shadow: var(--forgebook-focus-edge);
825
861
  }
826
862
  .forgebook-stage-tools__button:disabled,
827
863
  .forgebook-stage-tools__zoom:disabled {
@@ -838,7 +874,7 @@
838
874
  .forgebook-stage-tools__zoom {
839
875
  min-width: 3.25rem;
840
876
  padding: 0 0.375rem;
841
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
877
+ font: var(--forgebook-text-mono-small);
842
878
  font-variant-numeric: tabular-nums;
843
879
  color: var(--forgebook-text);
844
880
  }
@@ -861,15 +897,15 @@
861
897
  border-radius: var(--forgebook-radius-control);
862
898
  background: var(--forgebook-surface);
863
899
  box-shadow: inset 0 0 0 1px var(--forgebook-edge);
864
- font: 500 0.75rem/1.3 var(--forgebook-font-sans);
900
+ font: var(--forgebook-text-control);
865
901
  color: var(--forgebook-text);
866
902
  text-decoration: none;
867
903
  white-space: nowrap;
868
904
  }
869
905
  .forgebook-button:focus-visible {
870
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
906
+ outline: 2px solid var(--forgebook-focus-halo);
871
907
  outline-offset: 0;
872
- box-shadow: inset 0 0 0 1px var(--forgebook-accent), inset 0 0 0 1px var(--forgebook-edge);
908
+ box-shadow: var(--forgebook-focus-edge), inset 0 0 0 1px var(--forgebook-edge);
873
909
  }
874
910
  .forgebook-button:hover {
875
911
  box-shadow: inset 0 0 0 1px var(--forgebook-edge-hover);
@@ -913,13 +949,13 @@
913
949
  padding: 0;
914
950
  border: 0;
915
951
  background: none;
916
- font: 500 0.75rem/1.3 var(--forgebook-font-sans);
952
+ font: var(--forgebook-text-control);
917
953
  color: var(--forgebook-accent-text);
918
954
  }
919
955
  .forgebook-text-button:focus-visible {
920
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
956
+ outline: 2px solid var(--forgebook-focus-halo);
921
957
  outline-offset: 0;
922
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
958
+ box-shadow: var(--forgebook-focus-edge);
923
959
  }
924
960
  .forgebook-text-button:disabled {
925
961
  color: var(--forgebook-text-tertiary);
@@ -942,6 +978,9 @@
942
978
  .forgebook-segmented:disabled {
943
979
  opacity: 0.45;
944
980
  }
981
+ .forgebook-segmented__option {
982
+ position: relative;
983
+ }
945
984
  .forgebook-segmented__face {
946
985
  display: inline-flex;
947
986
  align-items: center;
@@ -950,7 +989,7 @@
950
989
  min-width: 1.5rem;
951
990
  padding: 0 0.5rem;
952
991
  border-radius: var(--forgebook-radius-control-small);
953
- font: 500 0.75rem/1.3 var(--forgebook-font-sans);
992
+ font: var(--forgebook-text-control);
954
993
  color: var(--forgebook-text-secondary);
955
994
  }
956
995
  input:checked + .forgebook-segmented__face {
@@ -959,8 +998,8 @@
959
998
  color: var(--forgebook-text);
960
999
  }
961
1000
  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);
1001
+ box-shadow: var(--forgebook-focus-edge);
1002
+ outline: 2px solid var(--forgebook-focus-halo);
964
1003
  }
965
1004
  .forgebook-view-menu {
966
1005
  position: relative;
@@ -984,8 +1023,20 @@
984
1023
  top: auto;
985
1024
  bottom: calc(100% - 0.25rem);
986
1025
  left: 0.75rem;
1026
+ box-sizing: border-box;
1027
+ width: min(14.75rem, 100% - 1.5rem);
1028
+ white-space: normal;
987
1029
  transform-origin: bottom left;
988
1030
  }
1031
+ .forgebook-popover.forgebook-popover--up .forgebook-choices {
1032
+ min-width: 0;
1033
+ }
1034
+ .forgebook-popover.forgebook-popover--up .forgebook-choice {
1035
+ flex-wrap: nowrap;
1036
+ }
1037
+ .forgebook-popover.forgebook-popover--up .forgebook-choice svg {
1038
+ flex: none;
1039
+ }
989
1040
  .forgebook-popover.forgebook-popover--end {
990
1041
  inset-inline: auto 0;
991
1042
  transform-origin: top right;
@@ -1005,7 +1056,7 @@
1005
1056
  gap: 0.5rem;
1006
1057
  padding: 0.25rem 0.375rem;
1007
1058
  border-radius: var(--forgebook-radius-control-small);
1008
- font: 500 0.75rem/1.3 var(--forgebook-font-sans);
1059
+ font: var(--forgebook-text-control);
1009
1060
  cursor: pointer;
1010
1061
  }
1011
1062
  .forgebook-choice:hover {
@@ -1041,9 +1092,9 @@
1041
1092
  color: var(--forgebook-text-tertiary);
1042
1093
  }
1043
1094
  .forgebook-info-tip:focus-visible {
1044
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1095
+ outline: 2px solid var(--forgebook-focus-halo);
1045
1096
  outline-offset: 0;
1046
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1097
+ box-shadow: var(--forgebook-focus-edge);
1047
1098
  }
1048
1099
  .forgebook-info-tip:hover {
1049
1100
  color: var(--forgebook-text);
@@ -1058,7 +1109,7 @@
1058
1109
  border-radius: var(--forgebook-radius-control);
1059
1110
  background: var(--forgebook-surface);
1060
1111
  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);
1112
+ font: var(--forgebook-text-caption);
1062
1113
  color: var(--forgebook-text);
1063
1114
  white-space: normal;
1064
1115
  }
@@ -1088,13 +1139,13 @@
1088
1139
  border: 0;
1089
1140
  border-radius: var(--forgebook-radius-control);
1090
1141
  background: transparent;
1091
- font: 500 0.75rem/1.3 var(--forgebook-font-sans);
1142
+ font: var(--forgebook-text-control);
1092
1143
  color: var(--forgebook-text);
1093
1144
  }
1094
1145
  .forgebook-named-view__pick:focus-visible {
1095
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1146
+ outline: 2px solid var(--forgebook-focus-halo);
1096
1147
  outline-offset: 0;
1097
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1148
+ box-shadow: var(--forgebook-focus-edge);
1098
1149
  }
1099
1150
  .forgebook-named-view__pick[aria-pressed=true] {
1100
1151
  background: color-mix(in srgb, var(--forgebook-accent) 12%, transparent);
@@ -1112,9 +1163,9 @@
1112
1163
  color: var(--forgebook-text-tertiary);
1113
1164
  }
1114
1165
  .forgebook-named-view__remove:focus-visible {
1115
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1166
+ outline: 2px solid var(--forgebook-focus-halo);
1116
1167
  outline-offset: 0;
1117
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1168
+ box-shadow: var(--forgebook-focus-edge);
1118
1169
  }
1119
1170
  .forgebook-named-view__remove:hover {
1120
1171
  color: var(--forgebook-text);
@@ -1126,13 +1177,13 @@
1126
1177
  border-radius: var(--forgebook-radius-control);
1127
1178
  background: var(--forgebook-surface);
1128
1179
  box-shadow: inset 0 0 0 1px var(--forgebook-edge-field);
1129
- font: 500 0.75rem/1.3 var(--forgebook-font-sans);
1180
+ font: var(--forgebook-text-control);
1130
1181
  color: var(--forgebook-text);
1131
1182
  }
1132
1183
  .forgebook-named-views__form input:focus-visible {
1133
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1184
+ outline: 2px solid var(--forgebook-focus-halo);
1134
1185
  outline-offset: 0;
1135
- box-shadow: inset 0 0 0 1px var(--forgebook-accent), inset 0 0 0 1px var(--forgebook-edge-field);
1186
+ box-shadow: var(--forgebook-focus-edge), inset 0 0 0 1px var(--forgebook-edge-field);
1136
1187
  }
1137
1188
  .forgebook-key-field {
1138
1189
  position: relative;
@@ -1146,13 +1197,13 @@
1146
1197
  border: 0;
1147
1198
  border-radius: var(--forgebook-radius-control-small);
1148
1199
  background: transparent;
1149
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1200
+ font: var(--forgebook-text-caption);
1150
1201
  color: var(--forgebook-text-secondary);
1151
1202
  }
1152
1203
  .forgebook-key-field__button:focus-visible {
1153
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1204
+ outline: 2px solid var(--forgebook-focus-halo);
1154
1205
  outline-offset: 0;
1155
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1206
+ box-shadow: var(--forgebook-focus-edge);
1156
1207
  }
1157
1208
  .forgebook-key-field__button:hover {
1158
1209
  background: var(--forgebook-hover);
@@ -1162,14 +1213,14 @@
1162
1213
  color: var(--forgebook-accent-text);
1163
1214
  }
1164
1215
  .forgebook-key-field__button kbd {
1165
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
1216
+ font: var(--forgebook-text-mono-small);
1166
1217
  }
1167
1218
  .forgebook-key-field__problem {
1168
1219
  position: absolute;
1169
1220
  top: 100%;
1170
1221
  right: 0;
1171
1222
  z-index: 1;
1172
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1223
+ font: var(--forgebook-text-caption);
1173
1224
  color: var(--forgebook-danger-text);
1174
1225
  white-space: nowrap;
1175
1226
  }
@@ -1222,9 +1273,9 @@
1222
1273
  touch-action: none;
1223
1274
  }
1224
1275
  .forgebook-arrange__handle:focus-visible {
1225
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1276
+ outline: 2px solid var(--forgebook-focus-halo);
1226
1277
  outline-offset: 0;
1227
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1278
+ box-shadow: var(--forgebook-focus-edge);
1228
1279
  }
1229
1280
  .forgebook-arrange__handle:hover {
1230
1281
  background: var(--forgebook-hover);
@@ -1269,8 +1320,23 @@
1269
1320
  align-items: center;
1270
1321
  gap: 0.5rem;
1271
1322
  }
1323
+ .forgebook-gallery-names {
1324
+ display: inline-grid;
1325
+ max-width: 10rem;
1326
+ text-align: start;
1327
+ }
1328
+ .forgebook-gallery-names span {
1329
+ grid-area: 1/1;
1330
+ overflow: hidden;
1331
+ text-overflow: ellipsis;
1332
+ visibility: hidden;
1333
+ white-space: nowrap;
1334
+ }
1335
+ .forgebook-gallery-names [data-shown] {
1336
+ visibility: visible;
1337
+ }
1272
1338
  .forgebook-toolbar__label {
1273
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1339
+ font: var(--forgebook-text-caption);
1274
1340
  color: var(--forgebook-text-secondary);
1275
1341
  white-space: nowrap;
1276
1342
  }
@@ -1289,15 +1355,15 @@
1289
1355
  border: 0;
1290
1356
  border-radius: var(--forgebook-radius-control-small);
1291
1357
  background: none;
1292
- font: 500 0.75rem/1.3 var(--forgebook-font-sans);
1358
+ font: var(--forgebook-text-control);
1293
1359
  color: var(--forgebook-text);
1294
1360
  text-align: start;
1295
1361
  cursor: pointer;
1296
1362
  }
1297
1363
  .forgebook-context-menu__item:focus-visible {
1298
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1364
+ outline: 2px solid var(--forgebook-focus-halo);
1299
1365
  outline-offset: 0;
1300
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1366
+ box-shadow: var(--forgebook-focus-edge);
1301
1367
  }
1302
1368
  .forgebook-context-menu__item:hover, .forgebook-context-menu__item:focus-visible {
1303
1369
  background: var(--forgebook-hover);
@@ -1314,7 +1380,7 @@
1314
1380
  background-repeat: no-repeat;
1315
1381
  background-size: 0.875rem;
1316
1382
  box-shadow: inset 0 0 0 1px var(--forgebook-edge);
1317
- font: 500 0.75rem/1.3 var(--forgebook-font-sans);
1383
+ font: var(--forgebook-text-control);
1318
1384
  color: var(--forgebook-text);
1319
1385
  text-overflow: ellipsis;
1320
1386
  appearance: none;
@@ -1322,9 +1388,9 @@
1322
1388
  transition: box-shadow 150ms ease-out;
1323
1389
  }
1324
1390
  .forgebook-select:focus-visible {
1325
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1391
+ outline: 2px solid var(--forgebook-focus-halo);
1326
1392
  outline-offset: 0;
1327
- box-shadow: inset 0 0 0 1px var(--forgebook-accent), inset 0 0 0 1px var(--forgebook-edge);
1393
+ box-shadow: var(--forgebook-focus-edge), inset 0 0 0 1px var(--forgebook-edge);
1328
1394
  }
1329
1395
  .forgebook-select:hover:not(:disabled) {
1330
1396
  box-shadow: inset 0 0 0 1px var(--forgebook-edge-hover);
@@ -1337,7 +1403,7 @@
1337
1403
  display: inline-flex;
1338
1404
  align-items: center;
1339
1405
  gap: 0.25rem;
1340
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1406
+ font: var(--forgebook-text-caption);
1341
1407
  color: var(--forgebook-text-secondary);
1342
1408
  }
1343
1409
  .forgebook-switch {
@@ -1354,9 +1420,9 @@
1354
1420
  transition: background-color 150ms ease-out, box-shadow 150ms ease-out;
1355
1421
  }
1356
1422
  .forgebook-switch:focus-visible {
1357
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1423
+ outline: 2px solid var(--forgebook-focus-halo);
1358
1424
  outline-offset: 0;
1359
- box-shadow: inset 0 0 0 1px var(--forgebook-accent), inset 0 0 0 1px var(--forgebook-edge);
1425
+ box-shadow: var(--forgebook-focus-edge), inset 0 0 0 1px var(--forgebook-edge);
1360
1426
  }
1361
1427
  .forgebook-switch::before {
1362
1428
  content: "";
@@ -1381,7 +1447,7 @@
1381
1447
  display: flex;
1382
1448
  align-items: center;
1383
1449
  gap: 0.5rem;
1384
- font: 500 0.75rem/1.3 var(--forgebook-font-sans);
1450
+ font: var(--forgebook-text-control);
1385
1451
  color: var(--forgebook-text);
1386
1452
  cursor: pointer;
1387
1453
  }
@@ -1393,7 +1459,7 @@
1393
1459
  box-shadow: inset 0 1px 0 var(--forgebook-separator);
1394
1460
  }
1395
1461
  .forgebook-popover__note {
1396
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1462
+ font: var(--forgebook-text-caption);
1397
1463
  color: var(--forgebook-text-tertiary);
1398
1464
  }
1399
1465
  .forgebook-problems {
@@ -1418,7 +1484,7 @@
1418
1484
  border-radius: var(--forgebook-radius-card);
1419
1485
  background: var(--forgebook-surface);
1420
1486
  box-shadow: inset 0 0 0 1px var(--forgebook-separator);
1421
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1487
+ font: var(--forgebook-text-caption);
1422
1488
  color: var(--forgebook-text-secondary);
1423
1489
  }
1424
1490
  .forgebook-dropped-args__text {
@@ -1437,6 +1503,7 @@
1437
1503
  }
1438
1504
  .forgebook-empty {
1439
1505
  margin: 2rem;
1506
+ font: inherit;
1440
1507
  color: var(--forgebook-text-secondary);
1441
1508
  }
1442
1509
  .forgebook-header {
@@ -1446,7 +1513,7 @@
1446
1513
  }
1447
1514
  .forgebook-header__path {
1448
1515
  margin: 0 0 0.375rem;
1449
- font: 600 0.6875rem/1.3 var(--forgebook-font-sans);
1516
+ font: var(--forgebook-text-label);
1450
1517
  letter-spacing: 0.04em;
1451
1518
  text-transform: uppercase;
1452
1519
  color: var(--forgebook-accent-text);
@@ -1460,10 +1527,10 @@
1460
1527
  align-items: baseline;
1461
1528
  gap: 0.25rem 0.75rem;
1462
1529
  margin-top: 0.5rem;
1463
- font: 400 0.78125rem/1.4 var(--forgebook-font-sans);
1530
+ font: var(--forgebook-text-row-compact);
1464
1531
  }
1465
1532
  .forgebook-header__related-label {
1466
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1533
+ font: var(--forgebook-text-caption);
1467
1534
  color: var(--forgebook-text-tertiary);
1468
1535
  }
1469
1536
  .forgebook-header__related-link {
@@ -1472,9 +1539,9 @@
1472
1539
  border-radius: var(--forgebook-radius-control-small);
1473
1540
  }
1474
1541
  .forgebook-header__related-link:focus-visible {
1475
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1542
+ outline: 2px solid var(--forgebook-focus-halo);
1476
1543
  outline-offset: 0;
1477
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1544
+ box-shadow: var(--forgebook-focus-edge);
1478
1545
  }
1479
1546
  .forgebook-header__related-link:hover {
1480
1547
  text-decoration: underline;
@@ -1494,13 +1561,35 @@
1494
1561
  .forgebook-picker__select {
1495
1562
  max-width: 22rem;
1496
1563
  }
1564
+ .forgebook-page-width {
1565
+ flex: none;
1566
+ width: 1.625rem;
1567
+ }
1568
+ .forgebook-home__tools {
1569
+ display: flex;
1570
+ justify-content: flex-end;
1571
+ height: 0;
1572
+ padding: 0 2rem;
1573
+ }
1574
+ .forgebook-home__tools > * {
1575
+ position: relative;
1576
+ z-index: 1;
1577
+ margin-top: 2rem;
1578
+ }
1497
1579
  .forgebook-header__title {
1498
1580
  margin: 0;
1499
- font: 700 1.375rem/1.2 var(--forgebook-font-sans);
1581
+ font: var(--forgebook-text-display);
1500
1582
  letter-spacing: -0.02em;
1501
1583
  }
1584
+ .forgebook-play__switch {
1585
+ display: flex;
1586
+ gap: 0.375rem;
1587
+ align-items: center;
1588
+ font: var(--forgebook-text-row-compact);
1589
+ color: var(--forgebook-text-secondary);
1590
+ }
1502
1591
  .forgebook-play__status {
1503
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1592
+ font: var(--forgebook-text-caption);
1504
1593
  font-weight: 400;
1505
1594
  text-transform: none;
1506
1595
  letter-spacing: 0;
@@ -1509,6 +1598,28 @@
1509
1598
  .forgebook-play__status[data-status=failed] {
1510
1599
  color: var(--forgebook-danger-text);
1511
1600
  }
1601
+ .forgebook-play__buttons {
1602
+ display: flex;
1603
+ flex-wrap: wrap;
1604
+ gap: 0.375rem;
1605
+ }
1606
+ .forgebook-play__paused {
1607
+ margin: 0;
1608
+ font: var(--forgebook-text-row-compact);
1609
+ color: var(--forgebook-text-secondary);
1610
+ overflow-wrap: anywhere;
1611
+ }
1612
+ .forgebook-play__actions {
1613
+ display: grid;
1614
+ gap: 0.25rem;
1615
+ margin: 0.25rem 0 0;
1616
+ padding-inline-start: 1.25rem;
1617
+ font: var(--forgebook-text-mono-small);
1618
+ overflow-wrap: anywhere;
1619
+ }
1620
+ .forgebook-play__action {
1621
+ font: var(--forgebook-text-mono-small);
1622
+ }
1512
1623
  .forgebook-play__steps {
1513
1624
  display: grid;
1514
1625
  gap: 0.375rem;
@@ -1516,14 +1627,14 @@
1516
1627
  padding-inline-start: 1.25rem;
1517
1628
  }
1518
1629
  .forgebook-play__step {
1519
- font: 400 0.78125rem/1.4 var(--forgebook-font-sans);
1630
+ font: var(--forgebook-text-row-compact);
1520
1631
  }
1521
1632
  .forgebook-play__label {
1522
1633
  margin-inline-end: 0.5rem;
1523
1634
  }
1524
1635
  .forgebook-play__error {
1525
1636
  margin: 0.125rem 0 0;
1526
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
1637
+ font: var(--forgebook-text-mono-small);
1527
1638
  color: var(--forgebook-danger-text);
1528
1639
  }
1529
1640
  .forgebook-calls__details > summary {
@@ -1552,12 +1663,12 @@
1552
1663
  gap: 0.5rem;
1553
1664
  }
1554
1665
  .forgebook-violation__rule {
1555
- font: 400 0.71875rem/1.4 var(--forgebook-font-mono);
1666
+ font: var(--forgebook-text-mono);
1556
1667
  font-weight: 500;
1557
1668
  color: var(--forgebook-accent-text);
1558
1669
  }
1559
1670
  .forgebook-violation__impact {
1560
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1671
+ font: var(--forgebook-text-caption);
1561
1672
  color: var(--forgebook-text-secondary);
1562
1673
  }
1563
1674
  .forgebook-violation:is([data-impact=serious], [data-impact=critical]) .forgebook-violation__impact {
@@ -1565,7 +1676,7 @@
1565
1676
  }
1566
1677
  .forgebook-violation__targets {
1567
1678
  gap: 0.125rem;
1568
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
1679
+ font: var(--forgebook-text-mono-small);
1569
1680
  color: var(--forgebook-text-secondary);
1570
1681
  overflow-wrap: anywhere;
1571
1682
  }
@@ -1578,7 +1689,7 @@
1578
1689
  white-space: pre;
1579
1690
  }
1580
1691
  .forgebook-code-block .forgebook-code {
1581
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
1692
+ font: var(--forgebook-text-mono-small);
1582
1693
  }
1583
1694
  .forgebook-stage__heading {
1584
1695
  flex: 1 1 10rem;
@@ -1589,7 +1700,7 @@
1589
1700
  }
1590
1701
  .forgebook-stage__title {
1591
1702
  margin: 0;
1592
- font: 500 0.8125rem/1.35 var(--forgebook-font-sans);
1703
+ font: var(--forgebook-text-row-label);
1593
1704
  font-weight: 600;
1594
1705
  color: var(--forgebook-text);
1595
1706
  overflow-wrap: break-word;
@@ -1599,7 +1710,7 @@
1599
1710
  overflow: hidden;
1600
1711
  min-height: 2lh;
1601
1712
  margin: 0;
1602
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1713
+ font: var(--forgebook-text-caption);
1603
1714
  color: var(--forgebook-text-secondary);
1604
1715
  -webkit-box-orient: vertical;
1605
1716
  -webkit-line-clamp: 2;
@@ -1623,7 +1734,7 @@
1623
1734
  border-radius: 999px;
1624
1735
  background: var(--forgebook-surface);
1625
1736
  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);
1737
+ font: var(--forgebook-text-caption);
1627
1738
  color: var(--forgebook-text-secondary);
1628
1739
  }
1629
1740
  .forgebook-spinner {
@@ -1653,6 +1764,7 @@
1653
1764
  display: block;
1654
1765
  width: 100%;
1655
1766
  border: 0;
1767
+ color-scheme: light;
1656
1768
  }
1657
1769
  .forgebook-viewport {
1658
1770
  display: grid;
@@ -1706,15 +1818,15 @@
1706
1818
  background: var(--forgebook-accent);
1707
1819
  }
1708
1820
  .forgebook-viewport__foot:focus-visible {
1709
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1821
+ outline: 2px solid var(--forgebook-focus-halo);
1710
1822
  outline-offset: -2px;
1711
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1823
+ box-shadow: var(--forgebook-focus-edge);
1712
1824
  }
1713
1825
  .forgebook-viewport__foot-label {
1714
1826
  position: absolute;
1715
1827
  inset: 50% auto auto calc(50% + 1.75rem);
1716
1828
  transform: translateY(-50%);
1717
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
1829
+ font: var(--forgebook-text-mono-small);
1718
1830
  color: var(--forgebook-text-tertiary);
1719
1831
  white-space: nowrap;
1720
1832
  }
@@ -1750,9 +1862,9 @@
1750
1862
  background: var(--forgebook-accent);
1751
1863
  }
1752
1864
  .forgebook-viewport__handle:focus-visible {
1753
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1865
+ outline: 2px solid var(--forgebook-focus-halo);
1754
1866
  outline-offset: -2px;
1755
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1867
+ box-shadow: var(--forgebook-focus-edge);
1756
1868
  }
1757
1869
  .forgebook-frame-placeholder {
1758
1870
  background: var(--forgebook-fill-quiet);
@@ -1775,6 +1887,22 @@
1775
1887
  grid-template-columns: minmax(0, 1fr);
1776
1888
  gap: 0.5rem;
1777
1889
  }
1890
+ .forgebook-home__no-story {
1891
+ display: grid;
1892
+ gap: 0.5rem;
1893
+ min-width: 0;
1894
+ }
1895
+ .forgebook-home__no-story p,
1896
+ .forgebook-home__no-story ul,
1897
+ .forgebook-home__no-story pre {
1898
+ margin: 0;
1899
+ }
1900
+ .forgebook-home__no-story ul {
1901
+ padding-inline-start: 1rem;
1902
+ }
1903
+ .forgebook-home__no-story code {
1904
+ overflow-wrap: anywhere;
1905
+ }
1778
1906
  .forgebook-home__title {
1779
1907
  margin: 0;
1780
1908
  font-size: 1.75rem;
@@ -1818,19 +1946,19 @@
1818
1946
  box-shadow: 0 0 0 1px var(--forgebook-card-edge-hover), 0 4px 14px var(--forgebook-shadow-lift);
1819
1947
  }
1820
1948
  .forgebook-home__recent-link:focus-visible:focus-visible {
1821
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1949
+ outline: 2px solid var(--forgebook-focus-halo);
1822
1950
  outline-offset: 0;
1823
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1951
+ box-shadow: var(--forgebook-focus-edge);
1824
1952
  }
1825
1953
  .forgebook-home__recent-name {
1826
- font: 500 0.8125rem/1.35 var(--forgebook-font-sans);
1954
+ font: var(--forgebook-text-row-label);
1827
1955
  overflow: hidden;
1828
1956
  white-space: nowrap;
1829
1957
  text-overflow: ellipsis;
1830
1958
  min-width: 0;
1831
1959
  }
1832
1960
  .forgebook-home__recent-place {
1833
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1961
+ font: var(--forgebook-text-caption);
1834
1962
  color: var(--forgebook-text-tertiary);
1835
1963
  overflow: hidden;
1836
1964
  white-space: nowrap;
@@ -1860,11 +1988,11 @@
1860
1988
  gap: 0.5rem;
1861
1989
  width: 100%;
1862
1990
  margin: 0;
1863
- font: 600 0.875rem/1.3 var(--forgebook-font-sans);
1991
+ font: var(--forgebook-text-card-title);
1864
1992
  overflow-wrap: anywhere;
1865
1993
  }
1866
1994
  .forgebook-home__count {
1867
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
1995
+ font: var(--forgebook-text-caption);
1868
1996
  font-weight: 400;
1869
1997
  color: var(--forgebook-text-tertiary);
1870
1998
  }
@@ -1875,16 +2003,23 @@
1875
2003
  margin: 0;
1876
2004
  padding: 0;
1877
2005
  list-style: none;
1878
- font: 400 0.8125rem/1.4 var(--forgebook-font-sans);
2006
+ font: var(--forgebook-text-body);
1879
2007
  }
1880
2008
  .forgebook-audience-note {
1881
2009
  margin: 0;
1882
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2010
+ font: var(--forgebook-text-caption);
1883
2011
  color: var(--forgebook-text-tertiary);
1884
2012
  }
1885
2013
  .forgebook-doc[data-audience=designer] {
1886
2014
  max-width: 72rem;
1887
2015
  }
2016
+ [data-page-width] {
2017
+ transition: max-width 260ms cubic-bezier(0.22, 1, 0.36, 1);
2018
+ }
2019
+ .forgebook-doc[data-page-width=full],
2020
+ .forgebook-home[data-page-width=full] {
2021
+ max-width: 100%;
2022
+ }
1888
2023
  .forgebook-doc__lead {
1889
2024
  margin: 0;
1890
2025
  font-size: 1.0625rem;
@@ -1903,9 +2038,9 @@
1903
2038
  cursor: pointer;
1904
2039
  }
1905
2040
  .forgebook-used-in__toggle:focus-visible {
1906
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
2041
+ outline: 2px solid var(--forgebook-focus-halo);
1907
2042
  outline-offset: 0;
1908
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
2043
+ box-shadow: var(--forgebook-focus-edge);
1909
2044
  }
1910
2045
  .forgebook-used-in__list {
1911
2046
  display: grid;
@@ -1925,7 +2060,7 @@
1925
2060
  }
1926
2061
  .forgebook-used-in__note {
1927
2062
  margin: 0;
1928
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2063
+ font: var(--forgebook-text-caption);
1929
2064
  color: var(--forgebook-text-tertiary);
1930
2065
  }
1931
2066
  .forgebook-used-in__stories {
@@ -1935,7 +2070,7 @@
1935
2070
  flex-basis: 100%;
1936
2071
  }
1937
2072
  .forgebook-used-in__story {
1938
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2073
+ font: var(--forgebook-text-caption);
1939
2074
  color: var(--forgebook-text-secondary);
1940
2075
  text-decoration: none;
1941
2076
  }
@@ -1950,7 +2085,7 @@
1950
2085
  }
1951
2086
  .forgebook-doc__section > h2 {
1952
2087
  margin: 1rem 0 0;
1953
- font: 700 1.375rem/1.2 var(--forgebook-font-sans);
2088
+ font: var(--forgebook-text-display);
1954
2089
  }
1955
2090
  .forgebook-doc__section > h3 {
1956
2091
  margin: 0.5rem 0 0;
@@ -1964,7 +2099,7 @@
1964
2099
  }
1965
2100
  .forgebook-doc__group-name {
1966
2101
  margin: 0.5rem 0 0;
1967
- font: 600 0.6875rem/1.3 var(--forgebook-font-sans);
2102
+ font: var(--forgebook-text-label);
1968
2103
  color: var(--forgebook-text-tertiary);
1969
2104
  text-transform: uppercase;
1970
2105
  letter-spacing: 0.06em;
@@ -1997,7 +2132,7 @@
1997
2132
  }
1998
2133
  .forgebook-example__description {
1999
2134
  margin: 0;
2000
- font: 400 0.8125rem/1.4 var(--forgebook-font-sans);
2135
+ font: var(--forgebook-text-body);
2001
2136
  color: var(--forgebook-text-secondary);
2002
2137
  }
2003
2138
  .forgebook-example__box {
@@ -2025,7 +2160,7 @@
2025
2160
  min-height: 2.25rem;
2026
2161
  padding: 0 0.75rem;
2027
2162
  box-shadow: inset 0 1px 0 var(--forgebook-separator);
2028
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2163
+ font: var(--forgebook-text-caption);
2029
2164
  }
2030
2165
  .forgebook-example__toggle {
2031
2166
  display: inline-flex;
@@ -2046,9 +2181,9 @@
2046
2181
  background: var(--forgebook-hover);
2047
2182
  }
2048
2183
  .forgebook-example__toggle:focus-visible:focus-visible {
2049
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
2184
+ outline: 2px solid var(--forgebook-focus-halo);
2050
2185
  outline-offset: 0;
2051
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
2186
+ box-shadow: var(--forgebook-focus-edge);
2052
2187
  }
2053
2188
  .forgebook-example__toggle svg {
2054
2189
  transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
@@ -2105,9 +2240,9 @@
2105
2240
  transition: color 150ms ease-out;
2106
2241
  }
2107
2242
  .forgebook-example__full:focus-visible {
2108
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
2243
+ outline: 2px solid var(--forgebook-focus-halo);
2109
2244
  outline-offset: 0;
2110
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
2245
+ box-shadow: var(--forgebook-focus-edge);
2111
2246
  }
2112
2247
  .forgebook-example__full:hover {
2113
2248
  color: var(--forgebook-text);
@@ -2174,7 +2309,7 @@
2174
2309
  border-radius: var(--forgebook-radius-control-small);
2175
2310
  background: var(--forgebook-surface);
2176
2311
  box-shadow: inset 0 0 0 1px var(--forgebook-separator);
2177
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2312
+ font: var(--forgebook-text-caption);
2178
2313
  color: var(--forgebook-text-secondary);
2179
2314
  cursor: pointer;
2180
2315
  transition: color 150ms ease-out;
@@ -2183,9 +2318,9 @@
2183
2318
  color: var(--forgebook-text);
2184
2319
  }
2185
2320
  .forgebook-example__copy:focus-visible:focus-visible {
2186
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
2321
+ outline: 2px solid var(--forgebook-focus-halo);
2187
2322
  outline-offset: 0;
2188
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
2323
+ box-shadow: var(--forgebook-focus-edge);
2189
2324
  }
2190
2325
  .forgebook-inline-code {
2191
2326
  padding: 0.1em 0.35em;
@@ -2196,7 +2331,7 @@
2196
2331
  color: var(--forgebook-code-name);
2197
2332
  }
2198
2333
  .forgebook-prose {
2199
- font: 400 0.8125rem/1.4 var(--forgebook-font-sans);
2334
+ font: var(--forgebook-text-body);
2200
2335
  line-height: 1.6;
2201
2336
  overflow-wrap: break-word;
2202
2337
  }
@@ -2208,7 +2343,7 @@
2208
2343
  }
2209
2344
  .forgebook-prose h2 {
2210
2345
  margin: 2rem 0 0.75rem;
2211
- font: 700 1.375rem/1.2 var(--forgebook-font-sans);
2346
+ font: var(--forgebook-text-display);
2212
2347
  }
2213
2348
  .forgebook-prose h3 {
2214
2349
  margin: 1.5rem 0 0.5rem;
@@ -2245,9 +2380,14 @@
2245
2380
  background: var(--forgebook-surface);
2246
2381
  box-shadow: 0 0 0 1px var(--forgebook-card-edge), 0 1px 3px var(--forgebook-shadow-soft);
2247
2382
  overflow-x: auto;
2248
- font: 400 0.71875rem/1.4 var(--forgebook-font-mono);
2383
+ font: var(--forgebook-text-mono);
2249
2384
  line-height: 1.6;
2250
2385
  }
2386
+ .forgebook-prose pre:focus-visible {
2387
+ outline: 2px solid var(--forgebook-focus-halo);
2388
+ outline-offset: 0;
2389
+ box-shadow: var(--forgebook-focus-edge), 0 0 0 1px var(--forgebook-card-edge), 0 1px 3px var(--forgebook-shadow-soft);
2390
+ }
2251
2391
  .forgebook-prose pre code {
2252
2392
  padding: 0;
2253
2393
  background: none;
@@ -2257,7 +2397,7 @@
2257
2397
  width: 100%;
2258
2398
  margin-bottom: 1rem;
2259
2399
  border-collapse: collapse;
2260
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2400
+ font: var(--forgebook-text-caption);
2261
2401
  }
2262
2402
  .forgebook-prose th,
2263
2403
  .forgebook-prose td {
@@ -2274,10 +2414,15 @@
2274
2414
  .forgebook-api {
2275
2415
  overflow-x: auto;
2276
2416
  }
2417
+ .forgebook-api:focus-visible {
2418
+ outline: 2px solid var(--forgebook-focus-halo);
2419
+ outline-offset: -2px;
2420
+ box-shadow: var(--forgebook-focus-edge);
2421
+ }
2277
2422
  .forgebook-api__table {
2278
2423
  width: 100%;
2279
2424
  border-collapse: collapse;
2280
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2425
+ font: var(--forgebook-text-caption);
2281
2426
  }
2282
2427
  .forgebook-api__table th,
2283
2428
  .forgebook-api__table td {
@@ -2287,7 +2432,7 @@
2287
2432
  box-shadow: inset 0 -1px 0 var(--forgebook-separator);
2288
2433
  }
2289
2434
  .forgebook-api__table thead th {
2290
- font: 600 0.6875rem/1.3 var(--forgebook-font-sans);
2435
+ font: var(--forgebook-text-label);
2291
2436
  color: var(--forgebook-text-tertiary);
2292
2437
  }
2293
2438
  .forgebook-api__table tbody tr {
@@ -2305,7 +2450,7 @@
2305
2450
  background: none;
2306
2451
  }
2307
2452
  .forgebook-api__name {
2308
- font: 400 0.71875rem/1.4 var(--forgebook-font-mono);
2453
+ font: var(--forgebook-text-mono);
2309
2454
  font-weight: 600;
2310
2455
  color: var(--forgebook-code-name);
2311
2456
  }
@@ -2319,13 +2464,13 @@
2319
2464
  }
2320
2465
  .forgebook-api__head > h2 {
2321
2466
  margin: 0;
2322
- font: 700 1.375rem/1.2 var(--forgebook-font-sans);
2467
+ font: var(--forgebook-text-display);
2323
2468
  }
2324
2469
  .forgebook-required-first {
2325
2470
  display: inline-flex;
2326
2471
  align-items: center;
2327
2472
  gap: 0.375rem;
2328
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2473
+ font: var(--forgebook-text-caption);
2329
2474
  font-weight: 500;
2330
2475
  color: var(--forgebook-text-secondary);
2331
2476
  cursor: pointer;
@@ -2335,7 +2480,7 @@
2335
2480
  padding: 0 0.375rem;
2336
2481
  border-radius: 999px;
2337
2482
  background: var(--forgebook-fill);
2338
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2483
+ font: var(--forgebook-text-caption);
2339
2484
  font-weight: 400;
2340
2485
  color: var(--forgebook-text-secondary);
2341
2486
  white-space: nowrap;
@@ -2343,6 +2488,11 @@
2343
2488
  .forgebook-api__type {
2344
2489
  min-width: 10rem;
2345
2490
  }
2491
+ .forgebook-api__note {
2492
+ display: block;
2493
+ margin: 0.25rem 0 0;
2494
+ color: var(--forgebook-text-secondary);
2495
+ }
2346
2496
  .forgebook-api__subcomponent {
2347
2497
  display: grid;
2348
2498
  grid-template-columns: minmax(0, 1fr);
@@ -2383,9 +2533,9 @@
2383
2533
  border-radius: var(--forgebook-radius-control);
2384
2534
  }
2385
2535
  .forgebook-fold__summary:focus-visible {
2386
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
2536
+ outline: 2px solid var(--forgebook-focus-halo);
2387
2537
  outline-offset: 0;
2388
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
2538
+ box-shadow: var(--forgebook-focus-edge);
2389
2539
  }
2390
2540
  .forgebook-fold__summary::-webkit-details-marker {
2391
2541
  display: none;
@@ -2403,7 +2553,7 @@
2403
2553
  font: inherit;
2404
2554
  }
2405
2555
  .forgebook-fold__count {
2406
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2556
+ font: var(--forgebook-text-caption);
2407
2557
  font-variant-numeric: tabular-nums;
2408
2558
  text-transform: none;
2409
2559
  letter-spacing: normal;
@@ -2426,15 +2576,15 @@
2426
2576
  border: 0;
2427
2577
  border-radius: var(--forgebook-radius-control);
2428
2578
  background: none;
2429
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2579
+ font: var(--forgebook-text-caption);
2430
2580
  color: var(--forgebook-text-secondary);
2431
2581
  white-space: nowrap;
2432
2582
  cursor: pointer;
2433
2583
  }
2434
2584
  .forgebook-api__members-toggle:focus-visible {
2435
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
2585
+ outline: 2px solid var(--forgebook-focus-halo);
2436
2586
  outline-offset: 0;
2437
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
2587
+ box-shadow: var(--forgebook-focus-edge);
2438
2588
  }
2439
2589
  .forgebook-api__members-toggle:hover {
2440
2590
  color: var(--forgebook-text);
@@ -2501,6 +2651,9 @@
2501
2651
  .forgebook-stage-tools {
2502
2652
  animation-name: forgebook-appear;
2503
2653
  }
2654
+ [data-page-width] {
2655
+ transition: none;
2656
+ }
2504
2657
  .forgebook-sidebar,
2505
2658
  .forgebook-sidebar[data-overlay],
2506
2659
  .forgebook-sidebar-shade {
@@ -2527,14 +2680,15 @@
2527
2680
  }
2528
2681
  .forgebook-compare__label {
2529
2682
  padding: 0.5rem 0.75rem;
2530
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2683
+ background: var(--forgebook-surface);
2684
+ font: var(--forgebook-text-caption);
2531
2685
  color: var(--forgebook-text-secondary);
2532
2686
  }
2533
2687
  .forgebook-dock__hint {
2534
2688
  padding: 0 0.375rem;
2535
2689
  border-radius: 999px;
2536
2690
  background: var(--forgebook-fill);
2537
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2691
+ font: var(--forgebook-text-caption);
2538
2692
  font-variant-numeric: tabular-nums;
2539
2693
  color: var(--forgebook-text-secondary);
2540
2694
  }
@@ -2549,7 +2703,7 @@
2549
2703
  }
2550
2704
  .forgebook-prop-group__title {
2551
2705
  margin: 0;
2552
- font: 600 0.6875rem/1.3 var(--forgebook-font-sans);
2706
+ font: var(--forgebook-text-label);
2553
2707
  letter-spacing: 0.04em;
2554
2708
  text-transform: uppercase;
2555
2709
  color: var(--forgebook-text-secondary);
@@ -2560,7 +2714,8 @@
2560
2714
  gap: 0.375rem;
2561
2715
  }
2562
2716
  .forgebook-prop select,
2563
- .forgebook-prop input {
2717
+ .forgebook-prop input:not(.forgebook-switch),
2718
+ .forgebook-prop textarea {
2564
2719
  box-sizing: border-box;
2565
2720
  height: 1.625rem;
2566
2721
  padding: 0 0.5rem;
@@ -2568,30 +2723,87 @@
2568
2723
  border-radius: var(--forgebook-radius-control);
2569
2724
  background: var(--forgebook-surface);
2570
2725
  box-shadow: inset 0 0 0 1px var(--forgebook-edge-field);
2571
- font: 400 0.78125rem/1.4 var(--forgebook-font-sans);
2726
+ font: var(--forgebook-text-row-compact);
2572
2727
  color: var(--forgebook-text);
2573
2728
  }
2574
2729
  .forgebook-prop select:focus-visible,
2575
- .forgebook-prop input:focus-visible {
2576
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
2730
+ .forgebook-prop input:not(.forgebook-switch):focus-visible,
2731
+ .forgebook-prop textarea:focus-visible {
2732
+ outline: 2px solid var(--forgebook-focus-halo);
2577
2733
  outline-offset: 0;
2578
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
2734
+ box-shadow: var(--forgebook-focus-edge);
2735
+ }
2736
+ .forgebook-prop textarea {
2737
+ flex: 1;
2738
+ min-width: 0;
2739
+ height: auto;
2740
+ padding: 0.25rem 0.5rem;
2741
+ resize: vertical;
2742
+ }
2743
+ .forgebook-prop input[type=checkbox]:not(.forgebook-switch),
2744
+ .forgebook-prop input[type=radio] {
2745
+ height: auto;
2746
+ box-shadow: none;
2747
+ }
2748
+ .forgebook-prop[data-wide] {
2749
+ grid-column: 1/-1;
2750
+ max-width: 48rem;
2751
+ }
2752
+ .forgebook-prop__actions {
2753
+ display: inline-flex;
2754
+ flex: none;
2755
+ gap: 0.125rem;
2756
+ }
2757
+ .forgebook-prop__action {
2758
+ display: inline-grid;
2759
+ place-items: center;
2760
+ width: 1.25rem;
2761
+ height: 1.25rem;
2762
+ padding: 0;
2763
+ border: 0;
2764
+ border-radius: var(--forgebook-radius-control-small);
2765
+ background: none;
2766
+ color: var(--forgebook-text-secondary);
2767
+ cursor: pointer;
2768
+ }
2769
+ .forgebook-prop__action:focus-visible {
2770
+ outline: 2px solid var(--forgebook-focus-halo);
2771
+ outline-offset: 0;
2772
+ box-shadow: var(--forgebook-focus-edge);
2773
+ }
2774
+ .forgebook-prop__action:hover:not([aria-disabled=true]) {
2775
+ color: var(--forgebook-text);
2776
+ background: var(--forgebook-hover);
2777
+ }
2778
+ .forgebook-prop__action[aria-disabled=true] {
2779
+ opacity: 0.4;
2780
+ cursor: default;
2781
+ }
2782
+ .forgebook-prop__description.forgebook-prop__problem {
2783
+ color: var(--forgebook-danger-text);
2784
+ }
2785
+ .forgebook-prop__state {
2786
+ flex: none;
2787
+ font: var(--forgebook-text-caption);
2788
+ color: var(--forgebook-text-tertiary);
2579
2789
  }
2580
2790
  .forgebook-prop__head {
2581
2791
  display: flex;
2582
- justify-content: space-between;
2583
- align-items: baseline;
2792
+ align-items: center;
2584
2793
  gap: 0.5rem;
2794
+ min-height: 1.25rem;
2585
2795
  }
2586
2796
  .forgebook-prop__name {
2587
- font: 400 0.71875rem/1.4 var(--forgebook-font-mono);
2797
+ flex: none;
2798
+ margin-inline-end: auto;
2799
+ font: var(--forgebook-text-mono);
2588
2800
  font-weight: 500;
2589
2801
  }
2590
2802
  .forgebook-prop__field {
2591
2803
  display: flex;
2592
2804
  gap: 0.375rem;
2593
2805
  }
2594
- .forgebook-prop__field > input:first-child {
2806
+ .forgebook-prop__field > input:first-child:not(.forgebook-switch) {
2595
2807
  flex: 1;
2596
2808
  min-width: 0;
2597
2809
  }
@@ -2614,12 +2826,12 @@
2614
2826
  white-space: nowrap;
2615
2827
  text-overflow: ellipsis;
2616
2828
  min-width: 0;
2617
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
2829
+ font: var(--forgebook-text-mono-small);
2618
2830
  color: var(--forgebook-text-secondary);
2619
2831
  }
2620
2832
  .forgebook-prop__description {
2621
2833
  margin: 0;
2622
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2834
+ font: var(--forgebook-text-caption);
2623
2835
  color: var(--forgebook-text-secondary);
2624
2836
  }
2625
2837
  .forgebook-prop__text-arg {
@@ -2628,18 +2840,13 @@
2628
2840
  align-items: baseline;
2629
2841
  gap: 0.375rem;
2630
2842
  margin: 0;
2631
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2843
+ font: var(--forgebook-text-caption);
2632
2844
  color: var(--forgebook-text-tertiary);
2633
2845
  }
2634
2846
  .forgebook-prop__text-arg code {
2635
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
2847
+ font: var(--forgebook-text-mono-small);
2636
2848
  color: var(--forgebook-text-secondary);
2637
2849
  }
2638
- .forgebook-toggles {
2639
- display: grid;
2640
- grid-template-columns: repeat(2, minmax(0, 1fr));
2641
- gap: 0.5rem 0.75rem;
2642
- }
2643
2850
  .forgebook-toggle {
2644
2851
  display: flex;
2645
2852
  align-items: center;
@@ -2651,7 +2858,7 @@
2651
2858
  white-space: nowrap;
2652
2859
  text-overflow: ellipsis;
2653
2860
  min-width: 0;
2654
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
2861
+ font: var(--forgebook-text-mono-small);
2655
2862
  }
2656
2863
  .forgebook-event {
2657
2864
  display: flex;
@@ -2667,7 +2874,7 @@
2667
2874
  padding: 0.25rem 0.5rem;
2668
2875
  border-radius: var(--forgebook-radius-control-small);
2669
2876
  background: var(--forgebook-fill-quiet);
2670
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
2877
+ font: var(--forgebook-text-mono-small);
2671
2878
  white-space: pre-wrap;
2672
2879
  overflow-wrap: anywhere;
2673
2880
  }
@@ -2720,7 +2927,7 @@
2720
2927
  min-width: 0;
2721
2928
  }
2722
2929
  .forgebook-calls__time {
2723
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
2930
+ font: var(--forgebook-text-caption);
2724
2931
  font-variant-numeric: tabular-nums;
2725
2932
  color: var(--forgebook-text-tertiary);
2726
2933
  }