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
@@ -14,4 +14,9 @@ export const NO_PLUGINS = [];
14
14
  *
15
15
  * @param config - its name, its switches, its languages, its lists and its plugins (whose tabs it may turn off).
16
16
  */
17
- export const useConfiguredCatalogue = ({ title, switches, languages = NO_LANGUAGES, lists, plugins = NO_PLUGINS }) => useMemo(() => catalogueSettings(title, catalogueSwitches(switches, languages, lists?.controls), lists, plugins.flatMap((plugin) => plugin.tabs.map((tab) => tab.id))), [title, switches, languages, lists, plugins]);
17
+ export const useConfiguredCatalogue = ({ title, switches, languages = NO_LANGUAGES, lists, plugins = NO_PLUGINS }, readStored) => useMemo(() => {
18
+ const settings = catalogueSettings(title, catalogueSwitches(switches, languages, lists?.controls), lists, plugins.flatMap((plugin) => plugin.tabs.map((tab) => tab.id)));
19
+ // a reader's choice stands in for the catalogue's default on their own pages; an address that names one comes first
20
+ const remembered = readStored?.(`${settings.id}:play`);
21
+ return remembered === "on" || remembered === "off" ? { ...settings, readerPlay: remembered } : settings;
22
+ }, [title, switches, languages, lists, plugins, readStored]);
@@ -0,0 +1,27 @@
1
+ /**
2
+ * A sentence's code spans, read as CommonMark reads them: a run of backticks opens a span that the next run of the same
3
+ * length closes, so a span holding a backtick is written with a longer run of them. Used by `CodeText.tsx`, and by
4
+ * what writes a sentence around a type that may hold backticks (a template literal type).
5
+ *
6
+ * @module
7
+ */
8
+ /** One piece of a sentence: text, or code. */
9
+ export type SentencePiece = {
10
+ /** The piece's text, a code span's without its backticks. */
11
+ readonly text: string;
12
+ /** Whether it is code. */
13
+ readonly isCode: boolean;
14
+ };
15
+ /**
16
+ * A sentence split into text and code spans. A run of backticks no run of the same length closes stays text.
17
+ *
18
+ * @param sentence - the sentence.
19
+ */
20
+ export declare const sentencePieces: (sentence: string) => SentencePiece[];
21
+ /**
22
+ * A text written as one code span, whatever backticks it holds: a run longer than any inside, with a space each side
23
+ * when the text starts or ends with a backtick.
24
+ *
25
+ * @param text - the code.
26
+ */
27
+ export declare const codeSpan: (text: string) => string;
@@ -0,0 +1,76 @@
1
+ /**
2
+ * A sentence's code spans, read as CommonMark reads them: a run of backticks opens a span that the next run of the same
3
+ * length closes, so a span holding a backtick is written with a longer run of them. Used by `CodeText.tsx`, and by
4
+ * what writes a sentence around a type that may hold backticks (a template literal type).
5
+ *
6
+ * @module
7
+ */
8
+ /** A code span's text as CommonMark trims it: one space each side, when both are there and it is not only spaces. */
9
+ const trimmedSpan = (text) => text.length >= 2 && text.startsWith(" ") && text.endsWith(" ") && text.trim() !== ""
10
+ ? text.slice(1, -1)
11
+ : text;
12
+ /**
13
+ * A sentence split into text and code spans. A run of backticks no run of the same length closes stays text.
14
+ *
15
+ * @param sentence - the sentence.
16
+ */
17
+ export const sentencePieces = (sentence) => {
18
+ const pieces = [];
19
+ let text = "";
20
+ let at = 0;
21
+ while (at < sentence.length) {
22
+ const open = sentence.indexOf("`", at);
23
+ if (open === -1)
24
+ break;
25
+ let length = 1;
26
+ while (sentence[open + length] === "`")
27
+ length += 1;
28
+ const close = closingRun(sentence, open + length, length);
29
+ if (close === -1) {
30
+ text += sentence.slice(at, open + length);
31
+ at = open + length;
32
+ continue;
33
+ }
34
+ text += sentence.slice(at, open);
35
+ if (text !== "")
36
+ pieces.push({ text, isCode: false });
37
+ text = "";
38
+ pieces.push({ text: trimmedSpan(sentence.slice(open + length, close)), isCode: true });
39
+ at = close + length;
40
+ }
41
+ text += sentence.slice(at);
42
+ if (text !== "")
43
+ pieces.push({ text, isCode: false });
44
+ return pieces;
45
+ };
46
+ /**
47
+ * Where the run of exactly `length` backticks that closes a span starts, or -1.
48
+ *
49
+ * @param sentence - the sentence.
50
+ * @param from - where the span's text starts.
51
+ * @param length - the opening run's length.
52
+ */
53
+ const closingRun = (sentence, from, length) => {
54
+ let at = sentence.indexOf("`", from);
55
+ while (at !== -1) {
56
+ let run = 1;
57
+ while (sentence[at + run] === "`")
58
+ run += 1;
59
+ if (run === length)
60
+ return at;
61
+ at = sentence.indexOf("`", at + run);
62
+ }
63
+ return -1;
64
+ };
65
+ /**
66
+ * A text written as one code span, whatever backticks it holds: a run longer than any inside, with a space each side
67
+ * when the text starts or ends with a backtick.
68
+ *
69
+ * @param text - the code.
70
+ */
71
+ export const codeSpan = (text) => {
72
+ const longest = Math.max(0, ...(text.match(/`+/g) ?? []).map((run) => run.length));
73
+ const fence = "`".repeat(longest + 1);
74
+ const padding = text.startsWith("`") || text.endsWith("`") ? " " : "";
75
+ return `${fence}${padding}${text}${padding}${fence}`;
76
+ };
@@ -6,7 +6,8 @@
6
6
  * Every value of a switch is drawn, its default too, so the frames show where the story starts; only the colour
7
7
  * scheme's system value is left out, since it draws as light or as dark, one of the others. A value that writes
8
8
  * nothing on the root (`isUnset`: the stories' own text, left to right, the mouse) is a value like the rest. In a pair, a cell's label leaves out the second switch's default (`Light`, `Light · More contrast`), so the familiar
9
- * value reads alone. Pure.
9
+ * value reads alone. A cell another switch's value contradicts is left out (a look drawn only for dark, at light): it
10
+ * would draw the same as the cell of the implied value, under a name that is not what it shows. Pure.
10
11
  *
11
12
  * @module
12
13
  */
@@ -31,5 +32,6 @@ export type CompareVariant = {
31
32
  *
32
33
  * @param axes - the compared axes.
33
34
  * @param catalogue - the catalogue's switches and text sizes.
35
+ * @param view - the stage's view, whose other switches may imply a compared one.
34
36
  */
35
- export declare const compareVariants: (axes: CompareAxes, catalogue: CompareCatalogue) => CompareVariant[];
37
+ export declare const compareVariants: (axes: CompareAxes, catalogue: CompareCatalogue, view: ViewState) => CompareVariant[];
@@ -6,10 +6,12 @@
6
6
  * Every value of a switch is drawn, its default too, so the frames show where the story starts; only the colour
7
7
  * scheme's system value is left out, since it draws as light or as dark, one of the others. A value that writes
8
8
  * nothing on the root (`isUnset`: the stories' own text, left to right, the mouse) is a value like the rest. In a pair, a cell's label leaves out the second switch's default (`Light`, `Light · More contrast`), so the familiar
9
- * value reads alone. Pure.
9
+ * value reads alone. A cell another switch's value contradicts is left out (a look drawn only for dark, at light): it
10
+ * would draw the same as the cell of the implied value, under a name that is not what it shows. Pure.
10
11
  *
11
12
  * @module
12
13
  */
14
+ import { shownSwitches } from "../switches.js";
13
15
  import { SHEETS_CHOICES } from "../viewState.js";
14
16
  import { LATER_STRINGS } from "./laterStrings.js";
15
17
  import { STRINGS } from "./strings.js";
@@ -54,16 +56,22 @@ const axisVariants = (axis, catalogue) => {
54
56
  *
55
57
  * @param axes - the compared axes.
56
58
  * @param catalogue - the catalogue's switches and text sizes.
59
+ * @param view - the stage's view, whose other switches may imply a compared one.
57
60
  */
58
- export const compareVariants = (axes, catalogue) => {
61
+ export const compareVariants = (axes, catalogue, view) => {
59
62
  const [first, second] = axes;
60
63
  if (first === undefined)
61
64
  return [];
62
65
  const firsts = axisVariants(first, catalogue);
63
- if (second === undefined)
64
- return firsts;
65
- return axisVariants(second, catalogue).flatMap((outer) => firsts.map((inner) => ({
66
- label: LATER_STRINGS.compareCell(outer.isDefault ? [inner.label] : [inner.label, outer.label]),
67
- viewOf: (view) => outer.viewOf(inner.viewOf(view))
68
- })));
66
+ const cells = second === undefined
67
+ ? firsts
68
+ : axisVariants(second, catalogue).flatMap((outer) => firsts.map((inner) => ({
69
+ label: LATER_STRINGS.compareCell(outer.isDefault ? [inner.label] : [inner.label, outer.label]),
70
+ viewOf: (stage) => outer.viewOf(inner.viewOf(stage))
71
+ })));
72
+ return cells.filter((cell) => {
73
+ const { switches } = cell.viewOf(view);
74
+ const shown = shownSwitches(switches, catalogue.switches);
75
+ return axes.every((axis) => shown[axis] === switches[axis]);
76
+ });
69
77
  };
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Whether this catalogue composes others (`refs`): a constant the plugin writes into the build (`define`), so a
3
+ * catalogue that composes none has every part of composition removed from its shell, and its first load carries none of
4
+ * it. And the composed catalogues themselves, set by `mountShell` behind that constant: a page holds one shell, so they
5
+ * are a fact of the page, as the frames' origin is, and a shell that composes none keeps not even their name.
6
+ *
7
+ * @remarks
8
+ * Read as a value that may be missing, so a shell bundled by something other than Forgebook's plugin (a test) runs with
9
+ * composition off rather than failing on a name nobody defined.
10
+ *
11
+ * @module
12
+ */
13
+ import type { ShellRefs } from "./refParts.tsx";
14
+ /** Whether this catalogue composes others. */
15
+ export declare const HAS_REFS: boolean;
16
+ /**
17
+ * Sets the composed catalogues, before the shell renders.
18
+ *
19
+ * @param refs - the composed catalogues, if the generated page gives any.
20
+ */
21
+ export declare const setShellRefs: (refs: ShellRefs | undefined) => void;
22
+ /** The composed catalogues; none until `mountShell` set them, or for a catalogue that composes none. */
23
+ export declare const shellRefs: () => ShellRefs | undefined;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Whether this catalogue composes others (`refs`): a constant the plugin writes into the build (`define`), so a
3
+ * catalogue that composes none has every part of composition removed from its shell, and its first load carries none of
4
+ * it. And the composed catalogues themselves, set by `mountShell` behind that constant: a page holds one shell, so they
5
+ * are a fact of the page, as the frames' origin is, and a shell that composes none keeps not even their name.
6
+ *
7
+ * @remarks
8
+ * Read as a value that may be missing, so a shell bundled by something other than Forgebook's plugin (a test) runs with
9
+ * composition off rather than failing on a name nobody defined.
10
+ *
11
+ * @module
12
+ */
13
+ /** Whether this catalogue composes others. */
14
+ export const HAS_REFS = typeof __FORGEBOOK_REFS__ !== "undefined" && __FORGEBOOK_REFS__ === true;
15
+ /** The composed catalogues, once `mountShell` set them. */
16
+ let pageRefs;
17
+ /**
18
+ * Sets the composed catalogues, before the shell renders.
19
+ *
20
+ * @param refs - the composed catalogues, if the generated page gives any.
21
+ */
22
+ export const setShellRefs = (refs) => {
23
+ pageRefs = refs;
24
+ };
25
+ /** The composed catalogues; none until `mountShell` set them, or for a catalogue that composes none. */
26
+ export const shellRefs = () => pageRefs;
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * @remarks
6
6
  * Pure. A control its toolbar control leaves disabled is left as it is here too: a switch or a background the story
7
- * fixes (or a width), and a control the compare view draws side by side.
7
+ * fixes (or a width), a switch another switch's value implies, and a control the compare view draws side by side.
8
8
  *
9
9
  * @module
10
10
  */
@@ -4,12 +4,13 @@
4
4
  *
5
5
  * @remarks
6
6
  * Pure. A control its toolbar control leaves disabled is left as it is here too: a switch or a background the story
7
- * fixes (or a width), and a control the compare view draws side by side.
7
+ * fixes (or a width), a switch another switch's value implies, and a control the compare view draws side by side.
8
8
  *
9
9
  * @module
10
10
  */
11
11
  import { AUDIENCE_IDS } from "../audiences.js";
12
12
  import { cycledValue, switchValues } from "../controlKeys.js";
13
+ import { impliedSwitches } from "../switches.js";
13
14
  import { isComparing, PLAIN_BACKDROP, SHEETS_CHOICES } from "../viewState.js";
14
15
  import { withSwitch } from "./switchView.js";
15
16
  /**
@@ -52,7 +53,7 @@ export const cycledView = (view, id, step, catalogue, fixed, isStoryPage) => {
52
53
  return undefined;
53
54
  const each = catalogue.switches.find((candidate) => candidate.id === id);
54
55
  if (each !== undefined) {
55
- if (fixed.switches[id] !== undefined)
56
+ if (fixed.switches[id] !== undefined || impliedSwitches(view.switches, catalogue.switches).has(id))
56
57
  return undefined;
57
58
  const current = view.switches[id] ?? each.default;
58
59
  return withSwitch(view, each, cycledValue(switchValues(each), current, step));
@@ -0,0 +1,62 @@
1
+ /**
2
+ * The custom controls of a catalogue, as the shell loads them: a module's check on arrival, and the check of a value before
3
+ * it reaches the story. Loaded with the first story that names such a control, so a catalogue with none never asks for it.
4
+ *
5
+ * @remarks
6
+ * A module is the catalogue's own code, run with a plugin's trust, and it can be wrong in every way: named by no one, gone,
7
+ * throwing as it loads, exporting something else. Each ends in a sentence beside the field; none reaches the panel as an
8
+ * exception.
9
+ *
10
+ * @module
11
+ */
12
+ import type { ArgControlModule } from "../argControl.ts";
13
+ import type { ArgValue } from "../messages.ts";
14
+ /** The texts of the custom controls' host. */
15
+ export declare const CONTROL_STRINGS: {
16
+ controlUnknown: (name: string) => string;
17
+ controlFailed: (name: string, reason: string) => string;
18
+ controlMalformed: (name: string) => string;
19
+ controlThrew: (name: string, reason: string) => string;
20
+ controlValue: (name: string, reason: string) => string;
21
+ controlUnsafe: string;
22
+ };
23
+ /** A catalogue's custom controls: how to load each, by name. */
24
+ export type ArgControlLoaders = Readonly<Record<string, () => Promise<unknown>>>;
25
+ /** A control as loading it ended. */
26
+ export type LoadedControl = {
27
+ readonly status: "ready";
28
+ readonly module: ArgControlModule;
29
+ } | {
30
+ readonly status: "failed";
31
+ readonly message: string;
32
+ };
33
+ /**
34
+ * A control, loaded.
35
+ *
36
+ * @param name - its name.
37
+ * @param loaders - the catalogue's custom controls.
38
+ */
39
+ export declare const loadControl: (name: string, loaders: ArgControlLoaders) => Promise<LoadedControl>;
40
+ /**
41
+ * What is wrong with a value for a control: its schema's word, or that it holds what would run if a component spread it on
42
+ * an element, which no schema's author is asked to think of.
43
+ *
44
+ * @param module - the control's module.
45
+ * @param value - the value.
46
+ * @returns the sentence; none when it fits.
47
+ */
48
+ export declare const controlValueProblem: (module: ArgControlModule, value: ArgValue) => string | undefined;
49
+ /**
50
+ * The checks of a story's custom controls, by name; a control that cannot load has none, which refuses its values.
51
+ *
52
+ * @param names - the controls the story names.
53
+ * @param loaders - the catalogue's custom controls.
54
+ */
55
+ export declare const customChecksOf: (names: readonly string[], loaders: ArgControlLoaders) => Promise<Readonly<Record<string, (value: ArgValue) => string | undefined>>>;
56
+ /**
57
+ * A control's texts as the catalogue words them: its `strings` under `argControls.<name>.`, by the rest of the key.
58
+ *
59
+ * @param strings - the catalogue's replaced texts.
60
+ * @param name - the control's name.
61
+ */
62
+ export declare const controlStringsOf: (strings: Readonly<Record<string, string>>, name: string) => Readonly<Record<string, string>>;
@@ -0,0 +1,81 @@
1
+ import { holdsUnsafePart } from "../shapeValues.js";
2
+ import { isValueSchema, schemaProblem } from "../valueSchema.js";
3
+ import { lateStrings } from "./strings.js";
4
+ /** The texts of the custom controls' host. */
5
+ export const CONTROL_STRINGS = lateStrings({
6
+ controlUnknown: (name) => `No control is registered as "${name}": add it to argControls in forgebook.config`,
7
+ controlFailed: (name, reason) => `The control "${name}" could not be loaded: ${reason}`,
8
+ controlMalformed: (name) => `The control "${name}" must export mount, a function, and schema, of JSON Schema's keywords Forgebook reads`,
9
+ controlThrew: (name, reason) => `The control "${name}" failed: ${reason}`,
10
+ controlValue: (name, reason) => `The control "${name}" was given a value it refuses: ${reason}`,
11
+ controlUnsafe: "It holds what a link may not give"
12
+ });
13
+ /** Whether a value is a plain object with a function `mount`. */
14
+ const isControlModule = (value) => typeof value === "object" &&
15
+ value !== null &&
16
+ "mount" in value &&
17
+ typeof value.mount === "function" &&
18
+ "schema" in value &&
19
+ isValueSchema(value.schema) &&
20
+ (!("toCode" in value) || value.toCode === undefined || typeof value.toCode === "function");
21
+ /** Each control's load, kept: every field and check of a page share one. */
22
+ const loads = new Map();
23
+ /** Loads one control's module, once, and reads what it exports. */
24
+ const readControl = async (name, load) => {
25
+ try {
26
+ const module = await load();
27
+ return isControlModule(module)
28
+ ? { status: "ready", module }
29
+ : { status: "failed", message: CONTROL_STRINGS.controlMalformed(name) };
30
+ }
31
+ catch (error) {
32
+ const reason = error instanceof Error ? error.message : String(error);
33
+ return { status: "failed", message: CONTROL_STRINGS.controlFailed(name, reason) };
34
+ }
35
+ };
36
+ /**
37
+ * A control, loaded.
38
+ *
39
+ * @param name - its name.
40
+ * @param loaders - the catalogue's custom controls.
41
+ */
42
+ export const loadControl = (name, loaders) => {
43
+ const load = Object.hasOwn(loaders, name) ? loaders[name] : undefined;
44
+ if (load === undefined)
45
+ return Promise.resolve({ status: "failed", message: CONTROL_STRINGS.controlUnknown(name) });
46
+ const started = loads.get(load) ?? readControl(name, load);
47
+ loads.set(load, started);
48
+ return started;
49
+ };
50
+ /**
51
+ * What is wrong with a value for a control: its schema's word, or that it holds what would run if a component spread it on
52
+ * an element, which no schema's author is asked to think of.
53
+ *
54
+ * @param module - the control's module.
55
+ * @param value - the value.
56
+ * @returns the sentence; none when it fits.
57
+ */
58
+ export const controlValueProblem = (module, value) => schemaProblem(module.schema, value) ??
59
+ (holdsUnsafePart(value, true) ? CONTROL_STRINGS.controlUnsafe : undefined);
60
+ /**
61
+ * The checks of a story's custom controls, by name; a control that cannot load has none, which refuses its values.
62
+ *
63
+ * @param names - the controls the story names.
64
+ * @param loaders - the catalogue's custom controls.
65
+ */
66
+ export const customChecksOf = async (names, loaders) => {
67
+ const controls = await Promise.all(names.map(async (name) => [name, await loadControl(name, loaders)]));
68
+ return Object.fromEntries(controls.flatMap(([name, control]) => control.status === "ready"
69
+ ? [[name, (value) => controlValueProblem(control.module, value)]]
70
+ : []));
71
+ };
72
+ /**
73
+ * A control's texts as the catalogue words them: its `strings` under `argControls.<name>.`, by the rest of the key.
74
+ *
75
+ * @param strings - the catalogue's replaced texts.
76
+ * @param name - the control's name.
77
+ */
78
+ export const controlStringsOf = (strings, name) => {
79
+ const prefix = `argControls.${name}.`;
80
+ return Object.fromEntries(Object.entries(strings).flatMap(([key, text]) => key.startsWith(prefix) && key.length > prefix.length ? [[key.slice(prefix.length), text]] : []));
81
+ };
@@ -92,9 +92,9 @@
92
92
  opacity: 1;
93
93
  }
94
94
  .forgebook-anchor:focus-visible {
95
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
95
+ outline: 2px solid var(--forgebook-focus-halo);
96
96
  outline-offset: 0;
97
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
97
+ box-shadow: var(--forgebook-focus-edge);
98
98
  }
99
99
  .forgebook-docs__code {
100
100
  position: relative;
@@ -118,7 +118,7 @@
118
118
  margin: 0;
119
119
  padding: 0.5rem 1rem;
120
120
  box-shadow: inset 0 -1px 0 var(--forgebook-separator);
121
- font: 400 0.6875rem/1.6 var(--forgebook-font-mono);
121
+ font: var(--forgebook-text-mono-small);
122
122
  color: var(--forgebook-text-secondary);
123
123
  padding-inline-end: 5rem;
124
124
  overflow: hidden;
@@ -194,7 +194,7 @@
194
194
  }
195
195
  .forgebook-aside__title {
196
196
  margin: 0;
197
- font: 500 0.8125rem/1.35 var(--forgebook-font-sans);
197
+ font: var(--forgebook-text-row-label);
198
198
  font-weight: 600;
199
199
  color: var(--forgebook-tone);
200
200
  }
@@ -217,7 +217,7 @@
217
217
  border-radius: var(--forgebook-radius-control-small) var(--forgebook-radius-control-small) 0 0;
218
218
  background: none;
219
219
  box-shadow: inset 0 -2px 0 transparent;
220
- font: 500 0.8125rem/1.35 var(--forgebook-font-sans);
220
+ font: var(--forgebook-text-row-label);
221
221
  color: var(--forgebook-text-secondary);
222
222
  cursor: pointer;
223
223
  transition: color 150ms ease-out, box-shadow 150ms ease-out;
@@ -230,9 +230,9 @@
230
230
  box-shadow: inset 0 -2px 0 var(--forgebook-accent);
231
231
  }
232
232
  .forgebook-tabs__tab:focus-visible {
233
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
233
+ outline: 2px solid var(--forgebook-focus-halo);
234
234
  outline-offset: -2px;
235
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
235
+ box-shadow: var(--forgebook-focus-edge);
236
236
  }
237
237
  .forgebook-tabs__panel {
238
238
  display: grid;
@@ -273,7 +273,7 @@
273
273
  border-radius: 50%;
274
274
  background: var(--forgebook-surface);
275
275
  box-shadow: inset 0 0 0 1px var(--forgebook-edge);
276
- font: 500 0.8125rem/1.35 var(--forgebook-font-sans);
276
+ font: var(--forgebook-text-row-label);
277
277
  font-weight: 600;
278
278
  color: var(--forgebook-text-secondary);
279
279
  }
@@ -311,7 +311,7 @@
311
311
  align-items: center;
312
312
  gap: 0.25rem;
313
313
  margin: 0;
314
- font: 600 0.875rem/1.3 var(--forgebook-font-sans);
314
+ font: var(--forgebook-text-card-title);
315
315
  }
316
316
  .forgebook-card--link {
317
317
  text-decoration: none;
@@ -324,12 +324,12 @@
324
324
  box-shadow: 0 0 0 1px var(--forgebook-card-edge-hover), 0 4px 14px var(--forgebook-shadow-lift);
325
325
  }
326
326
  .forgebook-card--link:focus-visible {
327
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
327
+ outline: 2px solid var(--forgebook-focus-halo);
328
328
  outline-offset: 0;
329
- box-shadow: inset 0 0 0 1px var(--forgebook-accent), 0 0 0 1px var(--forgebook-card-edge), 0 1px 3px var(--forgebook-shadow-soft);
329
+ box-shadow: var(--forgebook-focus-edge), 0 0 0 1px var(--forgebook-card-edge), 0 1px 3px var(--forgebook-shadow-soft);
330
330
  }
331
331
  .forgebook-card__description {
332
- font: 400 0.8125rem/1.4 var(--forgebook-font-sans);
332
+ font: var(--forgebook-text-body);
333
333
  color: var(--forgebook-text-secondary);
334
334
  }
335
335
  .forgebook-docs__foot {
@@ -357,24 +357,24 @@
357
357
  box-shadow: 0 0 0 1px var(--forgebook-card-edge-hover), 0 4px 14px var(--forgebook-shadow-lift);
358
358
  }
359
359
  .forgebook-docs__around:focus-visible {
360
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
360
+ outline: 2px solid var(--forgebook-focus-halo);
361
361
  outline-offset: 0;
362
- box-shadow: inset 0 0 0 1px var(--forgebook-accent), 0 0 0 1px var(--forgebook-card-edge), 0 1px 3px var(--forgebook-shadow-soft);
362
+ box-shadow: var(--forgebook-focus-edge), 0 0 0 1px var(--forgebook-card-edge), 0 1px 3px var(--forgebook-shadow-soft);
363
363
  }
364
364
  .forgebook-docs__around-label {
365
- font: 400 0.6875rem/1.35 var(--forgebook-font-sans);
365
+ font: var(--forgebook-text-caption);
366
366
  color: var(--forgebook-text-tertiary);
367
367
  }
368
368
  .forgebook-docs__around-name {
369
369
  display: inline-flex;
370
370
  align-items: center;
371
371
  gap: 0.25rem;
372
- font: 500 0.8125rem/1.35 var(--forgebook-font-sans);
372
+ font: var(--forgebook-text-row-label);
373
373
  color: var(--forgebook-accent-text);
374
374
  }
375
375
  .forgebook-contents__title {
376
376
  margin: 0;
377
- font: 600 0.6875rem/1.3 var(--forgebook-font-sans);
377
+ font: var(--forgebook-text-label);
378
378
  color: var(--forgebook-text-tertiary);
379
379
  }
380
380
  .forgebook-contents__list {
@@ -392,7 +392,7 @@
392
392
  padding: 0.25rem 0.5rem;
393
393
  border-radius: var(--forgebook-radius-control-small);
394
394
  box-shadow: inset 2px 0 0 transparent;
395
- font: 400 0.78125rem/1.4 var(--forgebook-font-sans);
395
+ font: var(--forgebook-text-row-compact);
396
396
  color: var(--forgebook-text-secondary);
397
397
  text-decoration: none;
398
398
  transition: color 150ms ease-out, background-color 150ms ease-out;
@@ -406,9 +406,9 @@
406
406
  font-weight: 500;
407
407
  }
408
408
  .forgebook-contents__link:focus-visible {
409
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
409
+ outline: 2px solid var(--forgebook-focus-halo);
410
410
  outline-offset: -2px;
411
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
411
+ box-shadow: var(--forgebook-focus-edge);
412
412
  }
413
413
  .forgebook-contents--column {
414
414
  position: sticky;
@@ -433,9 +433,9 @@
433
433
  border-radius: var(--forgebook-radius-control-small);
434
434
  }
435
435
  .forgebook-contents--fold > summary:focus-visible {
436
- outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
436
+ outline: 2px solid var(--forgebook-focus-halo);
437
437
  outline-offset: 0;
438
- box-shadow: inset 0 0 0 1px var(--forgebook-accent);
438
+ box-shadow: var(--forgebook-focus-edge);
439
439
  }
440
440
  .forgebook-contents--fold > nav {
441
441
  margin-top: 0.5rem;
@@ -13,11 +13,13 @@
13
13
  import type { StoryControlsSetting, StoryFileCode } from "@forgebook/story-format/source";
14
14
  import { type PanelArgTypes } from "../argTypes.ts";
15
15
  import { type ComponentDocs } from "../componentDocs.ts";
16
- import type { ArgValue, PanelArgs } from "../messages.ts";
16
+ import type { ArgValue, PanelArgs, PlayStepCommand } from "../messages.ts";
17
17
  import type { NamedValues } from "../namedValues.ts";
18
18
  import type { PlayTrace } from "../playTrace.ts";
19
19
  import type { TreeStory } from "../storyTree.ts";
20
+ import type { ViewState } from "../viewState.ts";
20
21
  import type { CheckState } from "./A11yTab.tsx";
22
+ import type { ArgControlLoaders } from "./customControls.ts";
21
23
  import type { DockTab } from "./Dock.tsx";
22
24
  import type { TextArgNote } from "./PropRows.tsx";
23
25
  import type { EventCall } from "./useFrameMessages.ts";
@@ -44,6 +46,16 @@ export type DockTabsInput = {
44
46
  readonly actions: readonly string[];
45
47
  /** The values of the moment: the story's args with the panel's over them. */
46
48
  readonly values: PanelArgs;
49
+ /** The panel's own values, for what can go back to the story's. */
50
+ readonly panelArgs: PanelArgs;
51
+ /** The story's own args, for a control no type describes. */
52
+ readonly storyArgs: PanelArgs;
53
+ /** Loads the catalogue's design tokens; none when it has none. */
54
+ readonly loadTokens: (() => Promise<unknown>) | undefined;
55
+ /** Loads each custom control the catalogue registers, by name; none when it registers none. */
56
+ readonly argControls?: ArgControlLoaders | undefined;
57
+ /** The switches' values of the moment, for the args whose `argTypes.if` reads a global. */
58
+ readonly globals: Readonly<Record<string, unknown>>;
47
59
  /** Called with a changed value; `undefined` removes the panel's value. */
48
60
  readonly onValueChange: (name: string, value: ArgValue | undefined) => void;
49
61
  /** Removes every value the panel set. */
@@ -62,8 +74,12 @@ export type DockTabsInput = {
62
74
  readonly onClearCalls: () => void;
63
75
  /** The play function's trace; none for a story without a play (or before it ran). */
64
76
  readonly trace: PlayTrace | undefined;
65
- /** Runs the play again. */
66
- readonly onPlayAgain: () => void;
77
+ /** Runs the play again, or steps through it. */
78
+ readonly onPlayStep: (command: PlayStepCommand) => void;
79
+ /** The view, whose play switch the Interactions tab shows. */
80
+ readonly view: ViewState;
81
+ /** Changes the view. */
82
+ readonly onViewChange: (view: ViewState) => void;
67
83
  /** The accessibility check. */
68
84
  readonly check: CheckState;
69
85
  /** Runs it; none when it cannot run. */