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
@@ -38,15 +38,28 @@ export declare const KEPT_PROGRAMS = 4;
38
38
  * one component at a time. A reader of everything asks for it (`programFor`'s `reach`).
39
39
  */
40
40
  export declare const readAskedFilesOnly: () => void;
41
- /** What a program is read for: what the asked file reaches, or every file of its configuration. */
42
- export type ProgramReach = "asked" | "whole";
41
+ /**
42
+ * From now on a program holds the given story files its configuration lists and what they import, not its whole
43
+ * configuration: a build reads every story's docs and "Used in", which need nothing the stories do not reach. Each
44
+ * program is then built once, its roots known from the start. Called again, it adds to the files.
45
+ *
46
+ * @param files - the story files, absolute.
47
+ */
48
+ export declare const readStoryFilesOnly: (files: readonly string[]) => void;
49
+ /**
50
+ * What a program is read for: what the asked file reaches; what every story file of its configuration reaches (a
51
+ * group's "Used in"), which is every file of it unless a build named its story files (`readStoryFilesOnly`); or every
52
+ * file of its configuration (where an application draws a component).
53
+ */
54
+ export type ProgramReach = "asked" | "stories" | "whole";
43
55
  /** How a file's program is read. */
44
56
  export type ProgramOptions = {
45
57
  /** The files read in place of a framework's components; none for a plain program. */
46
58
  readonly sources?: ProgramSources;
47
59
  /**
48
- * What the reader needs: what the file reaches (a component's docs, the default), or every file of its
49
- * configuration (a group's "Used in"); either way a build's programs hold every file.
60
+ * What the reader needs: what the file reaches (a component's docs, the default), what the stories reach (a group's
61
+ * "Used in"), or every file of its configuration; a build's programs hold what its stories reach, or every file
62
+ * when it named none.
50
63
  */
51
64
  readonly reach?: ProgramReach;
52
65
  };
@@ -18,6 +18,9 @@
18
18
  * - a dev server's programs hold the files asked for and what they import (`readAskedFilesOnly`), with the files that
19
19
  * hold for every file (declarations, augmentations), not every file of the configuration, until enough are asked
20
20
  * that the whole is cheaper (`MOST_ASKED`);
21
+ * - a build's programs hold its story files and what they import (`readStoryFilesOnly`), with the same files that hold
22
+ * for every file: a monorepo's root configuration lists every package, its website and its tools, and one story it
23
+ * holds would otherwise parse them all;
21
24
  * - parsed files are kept between programs and shared by every configuration that parses alike (`parsedFiles.ts`),
22
25
  * the standard library's and `@types` without their documentation;
23
26
  * - only the programs read last are kept (`KEPT_PROGRAMS`), with the parses they hold.
@@ -119,6 +122,22 @@ export const readAskedFilesOnly = () => {
119
122
  askedFiles ??= new Map();
120
123
  checkFileChanges();
121
124
  };
125
+ /** A build's story files, in TypeScript's form; none until a build names them, and every file is read then. */
126
+ let storyFiles;
127
+ /** The files a build asked for that its story files do not reach, by program: they stay roots, or it would be rebuilt. */
128
+ const addedRoots = new Map();
129
+ /**
130
+ * From now on a program holds the given story files its configuration lists and what they import, not its whole
131
+ * configuration: a build reads every story's docs and "Used in", which need nothing the stories do not reach. Each
132
+ * program is then built once, its roots known from the start. Called again, it adds to the files.
133
+ *
134
+ * @param files - the story files, absolute.
135
+ */
136
+ export const readStoryFilesOnly = (files) => {
137
+ storyFiles ??= new Set();
138
+ for (const file of files)
139
+ storyFiles.add(file.replaceAll("\\", "/"));
140
+ };
122
141
  /**
123
142
  * The files asked for before a program takes all its configuration's files: each new root makes a new type checker,
124
143
  * so a session that walks a whole library would pay more than the whole program costs at once.
@@ -143,8 +162,26 @@ const ambientOf = (read) => {
143
162
  return found;
144
163
  };
145
164
  /**
146
- * The root files of a configuration's program: all of them, or, once only what is asked for is read, its ambient
147
- * files and the files asked for so far, until enough are asked that the whole is cheaper.
165
+ * The root files of a build's program once it named its story files: the configuration's ambient files, the story files
166
+ * it lists, and the files asked for that none of them reached, kept so the roots stay the same.
167
+ *
168
+ * @param key - the program's key.
169
+ * @param read - its configuration.
170
+ * @param stories - the build's story files.
171
+ * @param asked - a file asked for that the program does not hold yet, which the configuration lists; none otherwise.
172
+ */
173
+ const storyRootsOf = (key, read, stories, asked) => {
174
+ const added = addedRoots.get(key) ?? new Set();
175
+ addedRoots.set(key, added);
176
+ if (asked !== undefined && !stories.has(asked))
177
+ added.add(asked);
178
+ const listed = read.parsed.fileNames.filter((each) => stories.has(each));
179
+ return [...new Set([...ambientOf(read), ...listed, ...added])];
180
+ };
181
+ /**
182
+ * The root files of a configuration's program: all of them; or, once a build named its story files, its ambient files,
183
+ * the story files it lists and a file asked for that none of them reaches; or, once only what is asked for is read, its
184
+ * ambient files and the files asked for so far, until enough are asked that the whole is cheaper.
148
185
  *
149
186
  * @param key - the program's key.
150
187
  * @param read - its configuration.
@@ -153,20 +190,24 @@ const ambientOf = (read) => {
153
190
  */
154
191
  const rootsOf = (key, read, file, reach) => {
155
192
  const { fileNames } = read.parsed;
156
- if (askedFiles === undefined)
157
- return fileNames;
193
+ // a file the kept program reaches through an import needs no root of its own, while that program is current
194
+ const name = file.replaceAll("\\", "/");
195
+ const isHeld = !outdated.has(key) && programs.get(key)?.getSourceFile(name) !== undefined;
196
+ const isOwnRoot = !isHeld && read.fileSet.has(name);
197
+ if (askedFiles === undefined) {
198
+ if (storyFiles === undefined || reach === "whole")
199
+ return fileNames;
200
+ return storyRootsOf(key, read, storyFiles, isOwnRoot ? name : undefined);
201
+ }
158
202
  const asked = askedFiles.get(key) ?? new Set();
159
203
  askedFiles.set(key, asked);
160
204
  // a program read whole stays whole: going back and forth would build it again each time
161
- if (reach === "whole")
162
- for (const name of fileNames)
163
- asked.add(name);
205
+ if (reach !== "asked")
206
+ for (const each of fileNames)
207
+ asked.add(each);
164
208
  if (asked.size >= MOST_ASKED)
165
209
  return fileNames;
166
- // a file the kept program reaches through an import needs no root of its own, while that program is current
167
- const name = file.replaceAll("\\", "/");
168
- const isHeld = !outdated.has(key) && programs.get(key)?.getSourceFile(name) !== undefined;
169
- if (!isHeld && read.fileSet.has(name))
210
+ if (isOwnRoot)
170
211
  asked.add(name);
171
212
  return [...new Set([...ambientOf(read), ...asked])];
172
213
  };
@@ -15,7 +15,8 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
15
15
  * Started by `docsExtractor.ts` with the framework's docs module (`adapter.ts`), which it loads once; it keeps the
16
16
  * programs of `docsProgram.ts` between requests, so only a package's first
17
17
  * read builds one, and a changed source file (`{ kind: "changed" }`) renews them on their next read. A usage request
18
- * (`{ kind: "usage", id, files }`) is answered from the same programs (`usageGraph.ts`). A request is `{ id, storyFile }`, the answer `{ id, result }`, `extractStoryComponent`'s result as
18
+ * (`{ kind: "usage", id, files }`) is answered from the same programs (`usageGraph.ts`). A build names its story files
19
+ * first (`{ kind: "stories", files }`), so its programs hold what they reach (`readStoryFilesOnly`). A request is `{ id, storyFile }`, the answer `{ id, result }`, `extractStoryComponent`'s result as
19
20
  * it is (plain data), with the files it can change with (`docsDependencies.ts`), which the dev server keeps it on disk
20
21
  * with. Unasked, it says `{ kind: "loaded" }` once its modules are loaded.
21
22
  *
@@ -25,7 +26,7 @@ import { parentPort, workerData } from "node:worker_threads";
25
26
  import { isDocsModule } from "./adapter.js";
26
27
  import { isSettledSince, nowNs, stampPaths } from "./diskCache.js";
27
28
  import { docsDependencies } from "./docsDependencies.js";
28
- import { markSourcesChanged, readAskedFilesOnly } from "./docsProgram.js";
29
+ import { markSourcesChanged, readAskedFilesOnly, readStoryFilesOnly } from "./docsProgram.js";
29
30
  import { usageGraph } from "./usageGraph.js";
30
31
  /** Whether the worker's data names a docs module. */
31
32
  const isWorkerData = (value) => typeof value === "object" &&
@@ -104,6 +105,10 @@ parentPort?.on("message", (request) => {
104
105
  });
105
106
  return;
106
107
  }
108
+ if (request.kind === "stories") {
109
+ readStoryFilesOnly(request.files);
110
+ return;
111
+ }
107
112
  if (request.kind === "usage") {
108
113
  const since = nowNs();
109
114
  const result = usage(request.files);
@@ -0,0 +1,41 @@
1
+ /**
2
+ * The patterns of a catalogue's own stories that match no story file, and what the plugin, the commands and the agent API
3
+ * say of them.
4
+ *
5
+ * @module
6
+ */
7
+ import type { Logger } from "vite";
8
+ import type { ResolvedConfig } from "./configFile.ts";
9
+ /**
10
+ * The patterns of a catalogue's own stories that match no story file, each of them a mistake or a first story not yet
11
+ * written: a `forgebook build` stops on them, a dev server says so and waits. A source's patterns are its own module's,
12
+ * which only Vite can read.
13
+ *
14
+ * @param config - the catalogue's folder and stories.
15
+ */
16
+ export declare const emptyStoryGlobs: (config: Pick<ResolvedConfig, "dir" | "stories">) => readonly string[];
17
+ /**
18
+ * What to say of the patterns of `emptyStoryGlobs`.
19
+ *
20
+ * @param globs - the patterns, at least one.
21
+ */
22
+ export declare const emptyStoryGlobsMessage: (globs: readonly string[]) => string;
23
+ /**
24
+ * What `verify` says of the patterns of `emptyStoryGlobs`, as problems of the catalogue that leave its answer not
25
+ * verified while the rest of it is still given.
26
+ *
27
+ * @param config - the catalogue's folder and stories.
28
+ * @returns one problem naming every such pattern; none when each matches a file.
29
+ */
30
+ export declare const emptyStoryGlobsProblems: (config: Pick<ResolvedConfig, "dir" | "stories">) => string[];
31
+ /**
32
+ * Says what the plugin has to say of the patterns of `emptyStoryGlobs`, and of story files in hidden folders they pass
33
+ * over (`hiddenStoryFolders.ts`), which only warn: a hidden folder may be left out on purpose.
34
+ *
35
+ * @param config - the catalogue's folder and stories.
36
+ * @param isServing - whether a dev server runs: whoever runs one may be about to write the first story, while a build's
37
+ * reader would find nothing.
38
+ * @param logger - where a dev server's warning goes.
39
+ * @throws in a build, when a pattern matches nothing.
40
+ */
41
+ export declare const sayEmptyStoryGlobs: (config: Pick<ResolvedConfig, "dir" | "stories">, isServing: boolean, logger: Pick<Logger, "warn">) => void;
@@ -0,0 +1,52 @@
1
+ import { hiddenStoryFolders, hiddenStoryFoldersMessage } from "./hiddenStoryFiles.js";
2
+ import { unmatchedPatterns } from "./storyPatterns.js";
3
+ /**
4
+ * The patterns of a catalogue's own stories that match no story file, each of them a mistake or a first story not yet
5
+ * written: a `forgebook build` stops on them, a dev server says so and waits. A source's patterns are its own module's,
6
+ * which only Vite can read.
7
+ *
8
+ * @param config - the catalogue's folder and stories.
9
+ */
10
+ export const emptyStoryGlobs = (config) => unmatchedPatterns(config.dir, config.stories);
11
+ /**
12
+ * What to say of the patterns of `emptyStoryGlobs`.
13
+ *
14
+ * @param globs - the patterns, at least one.
15
+ */
16
+ export const emptyStoryGlobsMessage = (globs) => `No story file matches ${globs.map((glob) => `"${glob}"`).join(", ")} (\`stories\` in the configuration)`;
17
+ /**
18
+ * What `verify` says of the patterns of `emptyStoryGlobs`, as problems of the catalogue that leave its answer not
19
+ * verified while the rest of it is still given.
20
+ *
21
+ * @param config - the catalogue's folder and stories.
22
+ * @returns one problem naming every such pattern; none when each matches a file.
23
+ */
24
+ export const emptyStoryGlobsProblems = (config) => {
25
+ const globs = emptyStoryGlobs(config);
26
+ return globs.length === 0
27
+ ? []
28
+ : [
29
+ `${emptyStoryGlobsMessage(globs)}: correct the pattern, or write the first story (npx forgebook new <component file>)`
30
+ ];
31
+ };
32
+ /**
33
+ * Says what the plugin has to say of the patterns of `emptyStoryGlobs`, and of story files in hidden folders they pass
34
+ * over (`hiddenStoryFolders.ts`), which only warn: a hidden folder may be left out on purpose.
35
+ *
36
+ * @param config - the catalogue's folder and stories.
37
+ * @param isServing - whether a dev server runs: whoever runs one may be about to write the first story, while a build's
38
+ * reader would find nothing.
39
+ * @param logger - where a dev server's warning goes.
40
+ * @throws in a build, when a pattern matches nothing.
41
+ */
42
+ export const sayEmptyStoryGlobs = (config, isServing, logger) => {
43
+ const hidden = hiddenStoryFolders(config);
44
+ if (hidden.length > 0)
45
+ logger.warn(`Forgebook: ${hiddenStoryFoldersMessage(hidden)}.`);
46
+ const globs = emptyStoryGlobs(config);
47
+ if (globs.length === 0)
48
+ return;
49
+ if (!isServing)
50
+ throw new Error(emptyStoryGlobsMessage(globs));
51
+ logger.warn(`Forgebook: ${emptyStoryGlobsMessage(globs)}. The catalogue shows them as soon as a file does.`);
52
+ };
@@ -0,0 +1,17 @@
1
+ /** An import a file writes. */
2
+ export type WrittenImport = {
3
+ /** The names it brings in, as the module exports them; `default` for a default import. */
4
+ readonly names: readonly string[];
5
+ /** The module. */
6
+ readonly module: string;
7
+ /** Its first and last lines. */
8
+ readonly lines: readonly [number, number];
9
+ };
10
+ /**
11
+ * The value imports a file writes, read from its syntax, so a comment or a string holding the word is not one; a
12
+ * single-file component's from its scripts.
13
+ *
14
+ * @param file - its path.
15
+ * @param text - its text.
16
+ */
17
+ export declare const importsOfFile: (file: string, text: string) => WrittenImport[];
@@ -0,0 +1,57 @@
1
+ /**
2
+ * The imports a file writes, read from its syntax, so a comment or a string holding the word is not one.
3
+ *
4
+ * @module
5
+ */
6
+ import { parseSync } from "vite";
7
+ import { isTooDeep, lineAt, lineStarts } from "./sourceText.js";
8
+ /** The value imports of a script's text, whose lines start from an offset. */
9
+ const importsOfScript = (file, text, firstLine) => {
10
+ if (isTooDeep(text))
11
+ return [];
12
+ const { program, errors } = parseSync(file, text);
13
+ if (errors.length > 0)
14
+ return [];
15
+ const starts = lineStarts(text);
16
+ return program.body.flatMap((statement) => {
17
+ if (statement.type !== "ImportDeclaration" || statement.importKind === "type")
18
+ return [];
19
+ const names = statement.specifiers.flatMap((each) => {
20
+ if (each.type === "ImportDefaultSpecifier")
21
+ return ["default"];
22
+ if (each.type !== "ImportSpecifier" || each.importKind === "type")
23
+ return [];
24
+ return ["name" in each.imported ? String(each.imported.name) : String(each.imported.value)];
25
+ });
26
+ const lines = [statement.start, statement.end].map((offset) => lineAt(starts, offset) + firstLine - 1);
27
+ return [{ names, module: statement.source.value, lines: [lines[0] ?? firstLine, lines[1] ?? firstLine] }];
28
+ });
29
+ };
30
+ /** A framework's own single-file component. */
31
+ const SINGLE_FILE = /\.(?:vue|svelte|astro)$/;
32
+ /**
33
+ * The value imports a file writes, read from its syntax, so a comment or a string holding the word is not one; a
34
+ * single-file component's from its scripts.
35
+ *
36
+ * @param file - its path.
37
+ * @param text - its text.
38
+ */
39
+ export const importsOfFile = (file, text) => {
40
+ try {
41
+ if (!SINGLE_FILE.test(file))
42
+ return importsOfScript(file, text, 1);
43
+ const found = [];
44
+ const starts = lineStarts(text);
45
+ for (let open = text.indexOf("<script"); open !== -1; open = text.indexOf("<script", open + 1)) {
46
+ const opened = text.indexOf(">", open);
47
+ const close = text.indexOf("</script>", opened);
48
+ if (opened === -1 || close === -1)
49
+ break;
50
+ found.push(...importsOfScript("script.ts", text.slice(opened + 1, close), lineAt(starts, opened)));
51
+ }
52
+ return found;
53
+ }
54
+ catch {
55
+ return [];
56
+ }
57
+ };
@@ -1,3 +1,4 @@
1
+ import { type SearchCorrection } from "../searchTypos.ts";
1
2
  /** What the search reads of a component. */
2
3
  export type FindableComponent = {
3
4
  /** Its id. */
@@ -22,11 +23,18 @@ export type FoundComponent = {
22
23
  /** The words of the query it does not. */
23
24
  readonly missed: readonly string[];
24
25
  };
26
+ /** What a query finds. */
27
+ export type FoundComponents = {
28
+ /** Up to five, best first; none when no word matches. */
29
+ readonly components: readonly FoundComponent[];
30
+ /** The words nothing held as typed, and what each was read as; empty when the query was read as typed. */
31
+ readonly corrections: readonly SearchCorrection[];
32
+ };
25
33
  /**
26
34
  * The components a query describes, best first.
27
35
  *
28
36
  * @param components - the catalogue's components.
29
37
  * @param query - what is being looked for, in any words.
30
- * @returns up to five; none when no word matches.
38
+ * @returns up to five, and the words read as others.
31
39
  */
32
- export declare const findComponents: (components: readonly FindableComponent[], query: string) => FoundComponent[];
40
+ export declare const findComponents: (components: readonly FindableComponent[], query: string) => FoundComponents;
@@ -7,11 +7,12 @@
7
7
  * (`keywords` in the meta, the way to say "radio tile group" of `OptionCards`), then its title and its stories' text. A
8
8
  * short list of synonyms bridges the words designers and code use for the same thing (`searchMatch.ts`, which the
9
9
  * catalogue's text search reads too). The answer says which words matched, so an agent can tell a strong result from a
10
- * guess.
10
+ * guess, and which words nothing held as typed and were read as a name a letter or two away.
11
11
  *
12
12
  * @module
13
13
  */
14
14
  import { wordsOf, worthOf } from "../searchMatch.js";
15
+ import { correctedQuery } from "../searchTypos.js";
15
16
  /** How many components an answer gives. */
16
17
  const LIMIT = 5;
17
18
  /** A component's words. */
@@ -21,32 +22,36 @@ const partsOf = (component) => ({
21
22
  title: wordsOf(component.title),
22
23
  story: component.stories.flatMap(wordsOf)
23
24
  });
25
+ /** Each component holding a word, best first. */
26
+ const ranked = (components, words) => components
27
+ .flatMap(({ component, parts }) => {
28
+ const scores = words.map((word) => ({ word, score: worthOf(parts, word) }));
29
+ const score = scores.reduce((sum, each) => sum + each.score, 0);
30
+ if (score === 0)
31
+ return [];
32
+ return [
33
+ {
34
+ id: component.id,
35
+ title: component.title,
36
+ score,
37
+ matched: scores.filter((each) => each.score > 0).map((each) => each.word),
38
+ missed: scores.filter((each) => each.score === 0).map((each) => each.word)
39
+ }
40
+ ];
41
+ })
42
+ .toSorted((first, second) => second.score - first.score);
24
43
  /**
25
44
  * The components a query describes, best first.
26
45
  *
27
46
  * @param components - the catalogue's components.
28
47
  * @param query - what is being looked for, in any words.
29
- * @returns up to five; none when no word matches.
48
+ * @returns up to five, and the words read as others.
30
49
  */
31
50
  export const findComponents = (components, query) => {
32
- const words = wordsOf(query);
33
- return components
34
- .flatMap((component) => {
35
- const parts = partsOf(component);
36
- const scores = words.map((word) => ({ word, score: worthOf(parts, word) }));
37
- const score = scores.reduce((sum, each) => sum + each.score, 0);
38
- if (score === 0)
39
- return [];
40
- return [
41
- {
42
- id: component.id,
43
- title: component.title,
44
- score,
45
- matched: scores.filter((each) => each.score > 0).map((each) => each.word),
46
- missed: scores.filter((each) => each.score === 0).map((each) => each.word)
47
- }
48
- ];
49
- })
50
- .toSorted((first, second) => second.score - first.score)
51
- .slice(0, LIMIT);
51
+ const typed = [...new Set(wordsOf(query))];
52
+ const parted = components.map((component) => ({ component, parts: partsOf(component) }));
53
+ const strict = ranked(parted, typed);
54
+ const { corrections, words } = correctedQuery(typed, new Set(strict.flatMap((each) => each.matched)), parted.map(({ parts }) => parts));
55
+ const found = corrections.length === 0 ? strict : ranked(parted, words);
56
+ return { components: found.slice(0, LIMIT), corrections };
52
57
  };
@@ -45,7 +45,8 @@ export const findAnswer = async ({ tree, params, pages, view, loaded }) => {
45
45
  return { status: 400, body: { error: "No words to look for" } };
46
46
  const located = treeComponents(tree);
47
47
  const findable = located.map(({ component }) => findableOf(component));
48
- const components = await Promise.all(findComponents(findable, query).map(async (found) => {
48
+ const { components: found, corrections } = findComponents(findable, query);
49
+ const components = await Promise.all(found.map(async (found) => {
49
50
  const place = located.find(({ component }) => component.id === found.id);
50
51
  const story = place?.component.stories[0]?.id;
51
52
  const source = loaded.sources.find((each) => each.id === place?.source.id);
@@ -57,6 +58,6 @@ export const findAnswer = async ({ tree, params, pages, view, loaded }) => {
57
58
  ...(guidance === undefined ? {} : { guidance })
58
59
  };
59
60
  }));
60
- const body = { schema: 1, query, components };
61
+ const body = { schema: 1, query, components, corrections };
61
62
  return { status: 200, body };
62
63
  };
@@ -24,7 +24,14 @@ export declare const FORCE_ATTRIBUTE = "data-forgebook-force";
24
24
  */
25
25
  export declare const forcedSelector: (selector: Selector) => Selector;
26
26
  /**
27
- * The Lightning CSS visitor that applies the rewrite to every style sheet the catalogue builds, with the touch
28
- * simulation's (`touchMedia.ts`): the media rules that ask about the pointer follow the simulated touch.
27
+ * Whether a selector styles the catalogue's own interface: a story never forces a state on it, and nothing simulates
28
+ * touch on the shell's page, so the rewrite would only add to the catalogue's CSS.
29
+ *
30
+ * @param selector - a selector, as Lightning CSS parses it.
31
+ */
32
+ export declare const isCatalogueSelector: (selector: Selector) => boolean;
33
+ /**
34
+ * The Lightning CSS visitor that applies the rewrite to every style sheet the catalogue builds but its own, with the
35
+ * touch simulation's (`touchMedia.ts`): the media rules that ask about the pointer follow the simulated touch.
29
36
  */
30
37
  export declare const FORCED_STATES_VISITOR: Visitor<CustomAtRules>;
@@ -65,11 +65,20 @@ const withNested = (component) => {
65
65
  export const forcedSelector = (selector) => selector.map((component) => component.type === "pseudo-class" && isForceable(component.kind)
66
66
  ? realOrForced(component.kind)
67
67
  : withNested(component));
68
+ /** The prefix of every class of the catalogue's own interface, in the shell and in the frame. */
69
+ const CATALOGUE_CLASS = "forgebook-";
68
70
  /**
69
- * The Lightning CSS visitor that applies the rewrite to every style sheet the catalogue builds, with the touch
70
- * simulation's (`touchMedia.ts`): the media rules that ask about the pointer follow the simulated touch.
71
+ * Whether a selector styles the catalogue's own interface: a story never forces a state on it, and nothing simulates
72
+ * touch on the shell's page, so the rewrite would only add to the catalogue's CSS.
73
+ *
74
+ * @param selector - a selector, as Lightning CSS parses it.
75
+ */
76
+ export const isCatalogueSelector = (selector) => selector.some((component) => component.type === "class" && component.name.startsWith(CATALOGUE_CLASS));
77
+ /**
78
+ * The Lightning CSS visitor that applies the rewrite to every style sheet the catalogue builds but its own, with the
79
+ * touch simulation's (`touchMedia.ts`): the media rules that ask about the pointer follow the simulated touch.
71
80
  */
72
81
  export const FORCED_STATES_VISITOR = {
73
- Selector: forcedSelector,
82
+ Selector: (selector) => isCatalogueSelector(selector) ? selector : forcedSelector(selector),
74
83
  Rule: { media: touchMediaRules }
75
84
  };
@@ -15,6 +15,8 @@ export type ForgebookPluginOptions = {
15
15
  readonly framework?: FrameworkAdapter;
16
16
  /** Folders outside the app the dev server watches for new story files, beside the configuration's `watch`. */
17
17
  readonly watch?: readonly string[];
18
+ /** Whether the dependency scan is a first start's quick one (`ScanFindings.isQuick`); off by default. */
19
+ readonly isQuickScan?: boolean;
18
20
  };
19
21
  /**
20
22
  * The catalogue's Vite plugin: the story index, the docs, the code and the Markdown of the stories, the forced-states