forgebook 0.1.8 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1144) hide show
  1. package/README.md +987 -28
  2. package/dist/bin/forgebook/agentClient.d.ts +30 -1
  3. package/dist/bin/forgebook/agentClient.js +155 -14
  4. package/dist/bin/forgebook/agentLoopCommands.d.mts +0 -1
  5. package/dist/bin/forgebook/agentLoopCommands.mjs +164 -40
  6. package/dist/bin/forgebook/agentText.d.ts +76 -5
  7. package/dist/bin/forgebook/agentText.js +197 -11
  8. package/dist/bin/forgebook/agents.md +158 -9
  9. package/dist/bin/forgebook/agentsText.d.ts +7 -3
  10. package/dist/bin/forgebook/agentsText.js +7 -3
  11. package/dist/bin/forgebook/builtCatalogue.d.ts +31 -0
  12. package/dist/bin/forgebook/builtCatalogue.js +96 -0
  13. package/dist/bin/forgebook/catalogueCommands.d.ts +22 -3
  14. package/dist/bin/forgebook/catalogueCommands.js +21 -2
  15. package/dist/bin/forgebook/catalogueVite.d.ts +51 -9
  16. package/dist/bin/forgebook/catalogueVite.js +95 -9
  17. package/dist/bin/forgebook/checkCodeRun.d.ts +8 -0
  18. package/dist/bin/forgebook/checkCodeRun.js +27 -0
  19. package/dist/bin/forgebook/commandServer.d.ts +11 -0
  20. package/dist/bin/forgebook/commandServer.js +39 -0
  21. package/dist/bin/forgebook/compileCache.d.ts +7 -0
  22. package/dist/bin/forgebook/compileCache.js +24 -0
  23. package/dist/bin/forgebook/devCommands.d.mts +14 -0
  24. package/dist/bin/forgebook/devCommands.mjs +104 -0
  25. package/dist/bin/forgebook/errorsRun.d.ts +0 -1
  26. package/dist/bin/forgebook/errorsRun.js +0 -1
  27. package/dist/bin/forgebook/forgebook.d.mts +0 -1
  28. package/dist/bin/forgebook/forgebook.mjs +18 -302
  29. package/dist/bin/forgebook/forgebookCommands.d.mts +1 -0
  30. package/dist/bin/forgebook/forgebookCommands.mjs +292 -0
  31. package/dist/bin/forgebook/importers/storybook.d.ts +10 -4
  32. package/dist/bin/forgebook/importers/storybook.js +71 -45
  33. package/dist/bin/forgebook/importers/storybookAngular.d.ts +15 -0
  34. package/dist/bin/forgebook/importers/storybookAngular.js +97 -0
  35. package/dist/bin/forgebook/importers/storybookFrameworks.d.ts +53 -0
  36. package/dist/bin/forgebook/importers/storybookFrameworks.js +180 -0
  37. package/dist/bin/forgebook/importers/storybookReactNative.d.ts +40 -0
  38. package/dist/bin/forgebook/importers/storybookReactNative.js +179 -0
  39. package/dist/bin/forgebook/initCommands.d.mts +0 -1
  40. package/dist/bin/forgebook/initCommands.mjs +23 -12
  41. package/dist/bin/forgebook/initConfig.d.ts +0 -1
  42. package/dist/bin/forgebook/initConfig.js +17 -3
  43. package/dist/bin/forgebook/mcpCommand.d.mts +8 -0
  44. package/dist/bin/forgebook/mcpCommand.mjs +99 -0
  45. package/dist/bin/forgebook/mcpPreview.d.ts +32 -0
  46. package/dist/bin/forgebook/mcpPreview.js +107 -0
  47. package/dist/bin/forgebook/mcpToolParts.d.ts +28 -0
  48. package/dist/bin/forgebook/mcpToolParts.js +24 -0
  49. package/dist/bin/forgebook/mcpTools.d.ts +12 -6
  50. package/dist/bin/forgebook/mcpTools.js +148 -27
  51. package/dist/bin/forgebook/newStories.d.ts +2 -3
  52. package/dist/bin/forgebook/newStories.js +4 -3
  53. package/dist/bin/forgebook/newStoriesFile.d.ts +3 -4
  54. package/dist/bin/forgebook/newStoriesFile.js +30 -13
  55. package/dist/bin/forgebook/pageTools.d.ts +8 -0
  56. package/dist/bin/forgebook/pageTools.js +71 -0
  57. package/dist/bin/forgebook/pagesCommands.d.mts +14 -0
  58. package/dist/bin/forgebook/pagesCommands.mjs +109 -0
  59. package/dist/bin/forgebook/prebundleChild.d.ts +1 -0
  60. package/dist/bin/forgebook/prebundleChild.js +34 -0
  61. package/dist/bin/forgebook/prebundleRun.d.ts +22 -0
  62. package/dist/bin/forgebook/prebundleRun.js +49 -0
  63. package/dist/bin/forgebook/prebundleStart.d.ts +44 -0
  64. package/dist/bin/forgebook/prebundleStart.js +82 -0
  65. package/dist/bin/forgebook/semanticOptions.d.ts +45 -0
  66. package/dist/bin/forgebook/semanticOptions.js +36 -0
  67. package/dist/bin/forgebook/storyCheckCommands.d.mts +13 -0
  68. package/dist/bin/forgebook/storyCheckCommands.mjs +69 -0
  69. package/dist/bin/forgebook/storyCheckRun.d.ts +40 -6
  70. package/dist/bin/forgebook/storyCheckRun.js +90 -17
  71. package/dist/bin/forgebook/tokensRun.d.ts +41 -0
  72. package/dist/bin/forgebook/tokensRun.js +42 -0
  73. package/dist/bin/forgebook/touchWindowRun.d.ts +0 -1
  74. package/dist/bin/forgebook/touchWindowRun.js +0 -1
  75. package/dist/bin/forgebook/visualCommands.d.mts +37 -0
  76. package/dist/bin/forgebook/visualCommands.mjs +162 -0
  77. package/dist/bin/forgebook/viteCache.d.ts +48 -0
  78. package/dist/bin/forgebook/viteCache.js +112 -0
  79. package/dist/bin/forgebook-docs/catalogueDocs.d.ts +1 -2
  80. package/dist/bin/forgebook-docs/catalogueDocs.js +8 -5
  81. package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts +22 -3
  82. package/dist/bin/forgebook-docs/catalogueDocs.types.js +0 -1
  83. package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts +0 -1
  84. package/dist/bin/forgebook-docs/catalogueMarkdown.js +67 -19
  85. package/dist/bin/forgebook-docs/catalogueOptions.d.ts +1 -2
  86. package/dist/bin/forgebook-docs/catalogueOptions.js +8 -2
  87. package/dist/bin/forgebook-docs/collectDocs.d.ts +4 -4
  88. package/dist/bin/forgebook-docs/collectDocs.js +122 -30
  89. package/dist/bin/forgebook-docs/forgebook-docs.d.mts +0 -1
  90. package/dist/bin/forgebook-docs/forgebook-docs.mjs +0 -1
  91. package/dist/bin/forgebook-docs/llmsText.d.ts +5 -1
  92. package/dist/bin/forgebook-docs/llmsText.js +5 -2
  93. package/dist/bin/forgebook-docs/moduleDocs.d.ts +0 -1
  94. package/dist/bin/forgebook-docs/moduleDocs.js +0 -1
  95. package/dist/bin/forgebook-docs/sassDocs.d.ts +0 -1
  96. package/dist/bin/forgebook-docs/sassDocs.js +0 -1
  97. package/dist/bin/forgebook-texts/forgebook-texts.d.mts +0 -1
  98. package/dist/bin/forgebook-texts/forgebook-texts.mjs +1 -2
  99. package/dist/bin/forgebook-texts/storyTextsReport.d.ts +0 -1
  100. package/dist/bin/forgebook-texts/storyTextsReport.js +0 -1
  101. package/dist/bin/forgebook-texts/storyTextsReport.types.d.ts +0 -1
  102. package/dist/bin/forgebook-texts/storyTextsReport.types.js +0 -1
  103. package/dist/bin/frameworkDocs.d.ts +0 -1
  104. package/dist/bin/frameworkDocs.js +0 -1
  105. package/dist/src/a11y.d.ts +0 -1
  106. package/dist/src/a11y.js +0 -1
  107. package/dist/src/addressArgs.d.ts +74 -0
  108. package/dist/src/addressArgs.js +109 -0
  109. package/dist/src/addressTexts.d.ts +35 -0
  110. package/dist/src/addressTexts.js +51 -0
  111. package/dist/src/argTypes.d.ts +0 -1
  112. package/dist/src/argTypes.js +2 -2
  113. package/dist/src/argsProps.d.ts +32 -0
  114. package/dist/src/argsProps.js +69 -0
  115. package/dist/src/audiences.d.ts +17 -0
  116. package/dist/src/audiences.js +15 -0
  117. package/dist/src/backdrops.d.ts +39 -40
  118. package/dist/src/backdrops.js +37 -174
  119. package/dist/src/catalogue.d.ts +103 -24
  120. package/dist/src/catalogue.js +78 -20
  121. package/dist/src/codeLiteral.d.ts +41 -0
  122. package/dist/src/codeLiteral.js +51 -0
  123. package/dist/src/componentDocs.d.ts +57 -1
  124. package/dist/src/componentDocs.js +20 -3
  125. package/dist/src/controlKeys.d.ts +0 -1
  126. package/dist/src/controlKeys.js +0 -1
  127. package/dist/src/deviceDrawing.d.ts +114 -0
  128. package/dist/src/deviceDrawing.js +358 -0
  129. package/dist/src/deviceMenuView.d.ts +17 -0
  130. package/dist/src/deviceMenuView.js +22 -0
  131. package/dist/src/devicePicture.d.ts +57 -0
  132. package/dist/src/devicePicture.js +104 -0
  133. package/dist/src/deviceView.d.ts +172 -0
  134. package/dist/src/deviceView.js +111 -0
  135. package/dist/src/devices.d.ts +115 -0
  136. package/dist/src/devices.js +135 -0
  137. package/dist/src/docAnchors.d.ts +27 -0
  138. package/dist/src/docAnchors.js +33 -0
  139. package/dist/src/docPages.d.ts +203 -0
  140. package/dist/src/docPages.js +169 -0
  141. package/dist/src/embed.d.ts +32 -0
  142. package/dist/src/embed.js +24 -0
  143. package/dist/src/embedCode.d.ts +31 -0
  144. package/dist/src/embedCode.js +88 -0
  145. package/dist/src/frame/backdropPictures.d.ts +29 -0
  146. package/dist/src/frame/backdropPictures.js +187 -0
  147. package/dist/src/frame/checkStory.d.ts +6 -3
  148. package/dist/src/frame/checkStory.js +76 -5
  149. package/dist/src/frame/followTouch.d.ts +9 -0
  150. package/dist/src/frame/followTouch.js +43 -0
  151. package/dist/src/frame/frame.css +8 -3
  152. package/dist/src/frame/frameClock.d.ts +0 -1
  153. package/dist/src/frame/frameClock.js +0 -1
  154. package/dist/src/frame/frameStatus.d.ts +2 -1
  155. package/dist/src/frame/frameStatus.js +2 -1
  156. package/dist/src/frame/frameView.d.ts +0 -1
  157. package/dist/src/frame/frameView.js +1 -2
  158. package/dist/src/frame/matrixLayout.d.ts +0 -1
  159. package/dist/src/frame/matrixLayout.js +0 -1
  160. package/dist/src/frame/measureTools.d.ts +0 -1
  161. package/dist/src/frame/measureTools.js +0 -1
  162. package/dist/src/frame/mountFrame.d.ts +10 -3
  163. package/dist/src/frame/mountFrame.js +184 -66
  164. package/dist/src/frame/playStory.d.ts +0 -1
  165. package/dist/src/frame/playStory.js +0 -1
  166. package/dist/src/frame/pluginFrames.d.ts +31 -0
  167. package/dist/src/frame/pluginFrames.js +23 -0
  168. package/dist/src/frame/renderer.d.ts +50 -12
  169. package/dist/src/frame/renderer.js +27 -6
  170. package/dist/src/frame/settle.d.ts +0 -1
  171. package/dist/src/frame/settle.js +0 -1
  172. package/dist/src/frame/shellChannel.d.ts +47 -0
  173. package/dist/src/frame/shellChannel.js +39 -0
  174. package/dist/src/frame/spillOutline.d.ts +0 -1
  175. package/dist/src/frame/spillOutline.js +0 -1
  176. package/dist/src/frame/staleModule.d.ts +14 -2
  177. package/dist/src/frame/staleModule.js +19 -2
  178. package/dist/src/frame/storyCanvas.d.ts +0 -1
  179. package/dist/src/frame/storyCanvas.js +0 -1
  180. package/dist/src/frame/storyHooks.d.ts +0 -1
  181. package/dist/src/frame/storyHooks.js +0 -1
  182. package/dist/src/frame/storyModule.d.ts +13 -2
  183. package/dist/src/frame/storyModule.js +45 -3
  184. package/dist/src/frame/storyRun.d.ts +21 -4
  185. package/dist/src/frame/storyRun.js +100 -19
  186. package/dist/src/frame/touchCaret.d.ts +43 -0
  187. package/dist/src/frame/touchCaret.js +195 -0
  188. package/dist/src/frame/touchDots.d.ts +0 -1
  189. package/dist/src/frame/touchDots.js +0 -1
  190. package/dist/src/frame/touchEvents.d.ts +3 -3
  191. package/dist/src/frame/touchEvents.js +17 -19
  192. package/dist/src/frame/touchGesture.d.ts +0 -1
  193. package/dist/src/frame/touchGesture.js +0 -1
  194. package/dist/src/frame/touchLayer.d.ts +3 -3
  195. package/dist/src/frame/touchLayer.js +52 -37
  196. package/dist/src/frame/touchScroll.d.ts +0 -1
  197. package/dist/src/frame/touchScroll.js +0 -1
  198. package/dist/src/frameOrigins.d.ts +62 -0
  199. package/dist/src/frameOrigins.js +49 -0
  200. package/dist/src/hotModules.d.ts +48 -0
  201. package/dist/src/hotModules.js +53 -0
  202. package/dist/src/jsxCode.d.ts +22 -0
  203. package/dist/src/jsxCode.js +36 -0
  204. package/dist/src/languages.d.ts +0 -1
  205. package/dist/src/languages.js +0 -1
  206. package/dist/src/liveErrors.d.ts +0 -1
  207. package/dist/src/liveErrors.js +0 -1
  208. package/dist/src/matrix.d.ts +0 -1
  209. package/dist/src/matrix.js +0 -1
  210. package/dist/src/messages.d.ts +28 -2
  211. package/dist/src/messages.js +24 -3
  212. package/dist/src/namedValues.d.ts +11 -1
  213. package/dist/src/namedValues.js +25 -2
  214. package/dist/src/namedViews.d.ts +1 -13
  215. package/dist/src/namedViews.js +30 -7
  216. package/dist/src/packedText.d.ts +21 -0
  217. package/dist/src/packedText.js +36 -0
  218. package/dist/src/pageAddress.d.ts +26 -0
  219. package/dist/src/pageAddress.js +39 -0
  220. package/dist/src/pageConfig.d.ts +3 -1
  221. package/dist/src/pageConfig.js +0 -1
  222. package/dist/src/pageTree.d.ts +79 -0
  223. package/dist/src/pageTree.js +108 -0
  224. package/dist/src/playTrace.d.ts +0 -1
  225. package/dist/src/playTrace.js +0 -1
  226. package/dist/src/plugin.d.ts +230 -0
  227. package/dist/src/plugin.js +12 -0
  228. package/dist/src/pluginReact.d.ts +23 -0
  229. package/dist/src/pluginReact.js +24 -0
  230. package/dist/src/previewRelay.d.ts +40 -0
  231. package/dist/src/previewRelay.js +69 -0
  232. package/dist/src/previewTexts.d.ts +26 -0
  233. package/dist/src/previewTexts.js +33 -0
  234. package/dist/src/previewView.d.ts +31 -0
  235. package/dist/src/previewView.js +264 -0
  236. package/dist/src/propGroups.d.ts +109 -0
  237. package/dist/src/propGroups.js +113 -0
  238. package/dist/src/realTouch.d.ts +1 -2
  239. package/dist/src/realTouch.js +1 -2
  240. package/dist/src/safeAreaParameter.d.ts +42 -0
  241. package/dist/src/safeAreaParameter.js +50 -0
  242. package/dist/src/search.d.ts +154 -0
  243. package/dist/src/search.js +265 -0
  244. package/dist/src/searchIndex.d.ts +61 -0
  245. package/dist/src/searchIndex.js +55 -0
  246. package/dist/src/searchMarks.d.ts +29 -0
  247. package/dist/src/searchMarks.js +165 -0
  248. package/dist/src/searchMatch.d.ts +58 -0
  249. package/dist/src/searchMatch.js +127 -0
  250. package/dist/src/shell/A11yTab.d.ts +0 -7
  251. package/dist/src/shell/A11yTab.js +4 -15
  252. package/dist/src/shell/AnchorScroll.d.ts +25 -0
  253. package/dist/src/shell/AnchorScroll.js +10 -0
  254. package/dist/src/shell/ApiReference.d.ts +16 -4
  255. package/dist/src/shell/ApiReference.js +82 -20
  256. package/dist/src/shell/AppearanceMenu.d.ts +1 -2
  257. package/dist/src/shell/AppearanceMenu.js +8 -5
  258. package/dist/src/shell/AudienceSections.d.ts +106 -0
  259. package/dist/src/shell/AudienceSections.js +154 -0
  260. package/dist/src/shell/AuthoredHome.d.ts +37 -0
  261. package/dist/src/shell/AuthoredHome.js +96 -0
  262. package/dist/src/shell/BoxWidth.d.ts +0 -1
  263. package/dist/src/shell/BoxWidth.js +0 -1
  264. package/dist/src/shell/ClockBar.d.ts +19 -0
  265. package/dist/src/shell/ClockBar.js +15 -0
  266. package/dist/src/shell/ClockControls.d.ts +5 -9
  267. package/dist/src/shell/ClockControls.js +13 -16
  268. package/dist/src/shell/Code.d.ts +0 -1
  269. package/dist/src/shell/Code.js +0 -1
  270. package/dist/src/shell/CodeTab.d.ts +0 -1
  271. package/dist/src/shell/CodeTab.js +2 -2
  272. package/dist/src/shell/CodeText.d.ts +0 -1
  273. package/dist/src/shell/CodeText.js +0 -1
  274. package/dist/src/shell/CompareGrid.d.ts +37 -0
  275. package/dist/src/shell/CompareGrid.js +24 -0
  276. package/dist/src/shell/ComponentPage.d.ts +48 -7
  277. package/dist/src/shell/ComponentPage.js +101 -59
  278. package/dist/src/shell/ControlKeyField.d.ts +0 -1
  279. package/dist/src/shell/ControlKeyField.js +3 -4
  280. package/dist/src/shell/ControlRow.d.ts +4 -4
  281. package/dist/src/shell/ControlRow.js +5 -5
  282. package/dist/src/shell/DeviceControl.d.ts +31 -0
  283. package/dist/src/shell/DeviceControl.js +33 -0
  284. package/dist/src/shell/DeviceSlot.d.ts +114 -0
  285. package/dist/src/shell/DeviceSlot.js +134 -0
  286. package/dist/src/shell/DocBlocks.d.ts +100 -0
  287. package/dist/src/shell/DocBlocks.js +206 -0
  288. package/dist/src/shell/DocContainers.d.ts +70 -0
  289. package/dist/src/shell/DocContainers.js +94 -0
  290. package/dist/src/shell/DocContents.d.ts +29 -0
  291. package/dist/src/shell/DocContents.js +88 -0
  292. package/dist/src/shell/DocPage.d.ts +69 -0
  293. package/dist/src/shell/DocPage.js +141 -0
  294. package/dist/src/shell/Dock.d.ts +1 -2
  295. package/dist/src/shell/Dock.js +1 -2
  296. package/dist/src/shell/DroppedArgsList.d.ts +26 -0
  297. package/dist/src/shell/DroppedArgsList.js +8 -0
  298. package/dist/src/shell/DroppedArgsNote.d.ts +14 -0
  299. package/dist/src/shell/DroppedArgsNote.js +10 -0
  300. package/dist/src/shell/EmbedButton.d.ts +19 -0
  301. package/dist/src/shell/EmbedButton.js +96 -0
  302. package/dist/src/shell/EmbedPage.d.ts +23 -0
  303. package/dist/src/shell/EmbedPage.js +168 -0
  304. package/dist/src/shell/EmbedPanel.d.ts +25 -0
  305. package/dist/src/shell/EmbedPanel.js +46 -0
  306. package/dist/src/shell/EventsTab.d.ts +0 -1
  307. package/dist/src/shell/EventsTab.js +2 -3
  308. package/dist/src/shell/Example.d.ts +20 -2
  309. package/dist/src/shell/Example.js +75 -22
  310. package/dist/src/shell/FrameView.d.ts +1 -2
  311. package/dist/src/shell/FrameView.js +4 -4
  312. package/dist/src/shell/HomePage.d.ts +78 -4
  313. package/dist/src/shell/HomePage.js +53 -14
  314. package/dist/src/shell/HomePieces.d.ts +40 -0
  315. package/dist/src/shell/HomePieces.js +29 -0
  316. package/dist/src/shell/InfoTip.d.ts +0 -1
  317. package/dist/src/shell/InfoTip.js +0 -1
  318. package/dist/src/shell/InteractionsTab.d.ts +0 -7
  319. package/dist/src/shell/InteractionsTab.js +3 -9
  320. package/dist/src/shell/LazyHost.d.ts +16 -0
  321. package/dist/src/shell/LazyHost.js +42 -0
  322. package/dist/src/shell/LazyPage.d.ts +24 -0
  323. package/dist/src/shell/LazyPage.js +9 -0
  324. package/dist/src/shell/LogicMark.d.ts +0 -1
  325. package/dist/src/shell/LogicMark.js +0 -1
  326. package/dist/src/shell/MatrixPicker.d.ts +0 -1
  327. package/dist/src/shell/MatrixPicker.js +0 -1
  328. package/dist/src/shell/NamedViews.d.ts +0 -1
  329. package/dist/src/shell/NamedViews.js +4 -5
  330. package/dist/src/shell/PackageHtml.d.ts +0 -1
  331. package/dist/src/shell/PackageHtml.js +0 -1
  332. package/dist/src/shell/PartsTab.d.ts +0 -7
  333. package/dist/src/shell/PartsTab.js +3 -13
  334. package/dist/src/shell/PinnedControl.d.ts +0 -1
  335. package/dist/src/shell/PinnedControl.js +2 -2
  336. package/dist/src/shell/PluginBlockHost.d.ts +46 -0
  337. package/dist/src/shell/PluginBlockHost.js +39 -0
  338. package/dist/src/shell/PluginTabHost.d.ts +32 -0
  339. package/dist/src/shell/PluginTabHost.js +25 -0
  340. package/dist/src/shell/PluginViewHost.d.ts +37 -0
  341. package/dist/src/shell/PluginViewHost.js +89 -0
  342. package/dist/src/shell/PropFields.d.ts +0 -1
  343. package/dist/src/shell/PropFields.js +0 -1
  344. package/dist/src/shell/PropRows.d.ts +42 -0
  345. package/dist/src/shell/PropRows.js +60 -0
  346. package/dist/src/shell/PropsTab.d.ts +24 -11
  347. package/dist/src/shell/PropsTab.js +31 -45
  348. package/dist/src/shell/RequiredFirstSwitch.d.ts +16 -0
  349. package/dist/src/shell/RequiredFirstSwitch.js +8 -0
  350. package/dist/src/shell/SearchPanel.d.ts +63 -0
  351. package/dist/src/shell/SearchPanel.js +209 -0
  352. package/dist/src/shell/Segmented.d.ts +0 -1
  353. package/dist/src/shell/Segmented.js +0 -1
  354. package/dist/src/shell/Shell.d.ts +34 -6
  355. package/dist/src/shell/Shell.js +271 -70
  356. package/dist/src/shell/Sidebar.d.ts +20 -5
  357. package/dist/src/shell/Sidebar.js +23 -56
  358. package/dist/src/shell/SidebarDocs.d.ts +38 -0
  359. package/dist/src/shell/SidebarDocs.js +30 -0
  360. package/dist/src/shell/SidebarEntries.d.ts +9 -1
  361. package/dist/src/shell/SidebarEntries.js +1 -2
  362. package/dist/src/shell/SidebarHandle.d.ts +0 -1
  363. package/dist/src/shell/SidebarHandle.js +0 -1
  364. package/dist/src/shell/SidebarSearch.d.ts +40 -0
  365. package/dist/src/shell/SidebarSearch.js +85 -0
  366. package/dist/src/shell/SignatureReference.d.ts +0 -1
  367. package/dist/src/shell/SignatureReference.js +1 -2
  368. package/dist/src/shell/Stage.d.ts +9 -4
  369. package/dist/src/shell/Stage.js +116 -75
  370. package/dist/src/shell/StageCompare.d.ts +14 -0
  371. package/dist/src/shell/StageCompare.js +11 -0
  372. package/dist/src/shell/StageTools.d.ts +0 -1
  373. package/dist/src/shell/StageTools.js +0 -1
  374. package/dist/src/shell/StageViewport.d.ts +7 -3
  375. package/dist/src/shell/StageViewport.js +4 -5
  376. package/dist/src/shell/StoryBar.d.ts +40 -0
  377. package/dist/src/shell/StoryBar.js +23 -0
  378. package/dist/src/shell/StoryCodeBlock.d.ts +1 -2
  379. package/dist/src/shell/StoryCodeBlock.js +0 -1
  380. package/dist/src/shell/StoryCoverage.d.ts +36 -0
  381. package/dist/src/shell/StoryCoverage.js +129 -0
  382. package/dist/src/shell/StoryPicker.d.ts +0 -1
  383. package/dist/src/shell/StoryPicker.js +0 -1
  384. package/dist/src/shell/Toolbar.d.ts +7 -3
  385. package/dist/src/shell/Toolbar.js +6 -6
  386. package/dist/src/shell/ToolbarControl.d.ts +6 -8
  387. package/dist/src/shell/ToolbarControl.js +28 -20
  388. package/dist/src/shell/UsedIn.d.ts +5 -6
  389. package/dist/src/shell/UsedIn.js +7 -20
  390. package/dist/src/shell/ViewMenu.d.ts +7 -7
  391. package/dist/src/shell/ViewMenu.js +61 -176
  392. package/dist/src/shell/ViewMenuPanel.d.ts +41 -0
  393. package/dist/src/shell/ViewMenuPanel.js +199 -0
  394. package/dist/src/shell/WidthField.d.ts +3 -2
  395. package/dist/src/shell/WidthField.js +2 -3
  396. package/dist/src/shell/asideStory.d.ts +34 -0
  397. package/dist/src/shell/asideStory.js +55 -0
  398. package/dist/src/shell/audienceLayout.d.ts +39 -0
  399. package/dist/src/shell/audienceLayout.js +33 -0
  400. package/dist/src/shell/audiencePage.d.ts +113 -0
  401. package/dist/src/shell/audiencePage.js +144 -0
  402. package/dist/src/shell/audienceSections.css +95 -0
  403. package/dist/src/shell/catalogueContext.d.ts +24 -2
  404. package/dist/src/shell/catalogueContext.js +12 -9
  405. package/dist/src/shell/codeTokens.d.ts +0 -1
  406. package/dist/src/shell/codeTokens.js +0 -1
  407. package/dist/src/shell/codeWriter.d.ts +0 -1
  408. package/dist/src/shell/codeWriter.js +0 -1
  409. package/dist/src/shell/compareVariants.d.ts +0 -1
  410. package/dist/src/shell/compareVariants.js +2 -2
  411. package/dist/src/shell/controlCycle.d.ts +0 -1
  412. package/dist/src/shell/controlCycle.js +13 -1
  413. package/dist/src/shell/controlLabel.d.ts +7 -0
  414. package/dist/src/shell/controlLabel.js +17 -0
  415. package/dist/src/shell/device/deviceFrame.css +42 -0
  416. package/dist/src/shell/device/deviceParts.d.ts +90 -0
  417. package/dist/src/shell/device/deviceParts.js +120 -0
  418. package/dist/src/shell/docPage.css +457 -0
  419. package/dist/src/shell/dockTabs.d.ts +20 -10
  420. package/dist/src/shell/dockTabs.js +42 -20
  421. package/dist/src/shell/embed.css +74 -0
  422. package/dist/src/shell/filesCode.d.ts +21 -0
  423. package/dist/src/shell/filesCode.js +37 -0
  424. package/dist/src/shell/forgebookMark.d.ts +15 -0
  425. package/dist/src/shell/forgebookMark.js +28 -0
  426. package/dist/src/shell/framesOrigin.d.ts +23 -0
  427. package/dist/src/shell/framesOrigin.js +69 -0
  428. package/dist/src/shell/icons.d.ts +3 -1
  429. package/dist/src/shell/icons.js +3 -1
  430. package/dist/src/shell/keyboard.d.ts +0 -1
  431. package/dist/src/shell/keyboard.js +0 -1
  432. package/dist/src/shell/laterStrings.d.ts +91 -0
  433. package/dist/src/shell/laterStrings.js +102 -0
  434. package/dist/src/shell/lazyModule.d.ts +49 -0
  435. package/dist/src/shell/lazyModule.js +72 -0
  436. package/dist/src/shell/lazyTab.d.ts +21 -0
  437. package/dist/src/shell/lazyTab.js +9 -0
  438. package/dist/src/shell/logicView.d.ts +0 -12
  439. package/dist/src/shell/logicView.js +2 -2
  440. package/dist/src/shell/mountShell.d.ts +5 -3
  441. package/dist/src/shell/mountShell.js +43 -12
  442. package/dist/src/shell/pageStrings.d.ts +24 -0
  443. package/dist/src/shell/pageStrings.js +26 -0
  444. package/dist/src/shell/pluginHosts.d.ts +9 -0
  445. package/dist/src/shell/pluginHosts.js +6 -0
  446. package/dist/src/shell/pluginHostsContext.d.ts +20 -0
  447. package/dist/src/shell/pluginHostsContext.js +16 -0
  448. package/dist/src/shell/pluginTabs.d.ts +63 -0
  449. package/dist/src/shell/pluginTabs.js +60 -0
  450. package/dist/src/shell/reportedPanel.d.ts +12 -0
  451. package/dist/src/shell/reportedPanel.js +19 -0
  452. package/dist/src/shell/search.css +172 -0
  453. package/dist/src/shell/searchStrings.d.ts +24 -0
  454. package/dist/src/shell/searchStrings.js +31 -0
  455. package/dist/src/shell/shell.css +341 -140
  456. package/dist/src/shell/shellScheme.d.ts +37 -0
  457. package/dist/src/shell/shellScheme.js +32 -0
  458. package/dist/src/shell/storyTouch.d.ts +19 -6
  459. package/dist/src/shell/storyTouch.js +26 -4
  460. package/dist/src/shell/strings.d.ts +58 -80
  461. package/dist/src/shell/strings.js +55 -78
  462. package/dist/src/shell/switchView.d.ts +0 -1
  463. package/dist/src/shell/switchView.js +0 -1
  464. package/dist/src/shell/tabSummaries.d.ts +31 -0
  465. package/dist/src/shell/tabSummaries.js +27 -0
  466. package/dist/src/shell/treeSearch.d.ts +39 -3
  467. package/dist/src/shell/treeSearch.js +27 -1
  468. package/dist/src/shell/useAddressArgs.d.ts +55 -0
  469. package/dist/src/shell/useAddressArgs.js +62 -0
  470. package/dist/src/shell/useAnchorScroll.d.ts +24 -0
  471. package/dist/src/shell/useAnchorScroll.js +90 -0
  472. package/dist/src/shell/useAppearance.d.ts +7 -2
  473. package/dist/src/shell/useAppearance.js +14 -5
  474. package/dist/src/shell/useComponentDocs.d.ts +0 -1
  475. package/dist/src/shell/useComponentDocs.js +0 -1
  476. package/dist/src/shell/useControlKeys.d.ts +2 -1
  477. package/dist/src/shell/useControlKeys.js +2 -3
  478. package/dist/src/shell/useCopy.d.ts +2 -1
  479. package/dist/src/shell/useCopy.js +11 -6
  480. package/dist/src/shell/useFold.d.ts +0 -1
  481. package/dist/src/shell/useFold.js +0 -1
  482. package/dist/src/shell/useFrameMessages.d.ts +19 -4
  483. package/dist/src/shell/useFrameMessages.js +23 -7
  484. package/dist/src/shell/useFrameQueue.d.ts +7 -3
  485. package/dist/src/shell/useFrameQueue.js +39 -22
  486. package/dist/src/shell/useFullPage.d.ts +0 -1
  487. package/dist/src/shell/useFullPage.js +0 -1
  488. package/dist/src/shell/useLiveView.d.ts +0 -1
  489. package/dist/src/shell/useLiveView.js +0 -1
  490. package/dist/src/shell/useLoaded.d.ts +1 -2
  491. package/dist/src/shell/useLoaded.js +28 -6
  492. package/dist/src/shell/usePageDoc.d.ts +0 -1
  493. package/dist/src/shell/usePageDoc.js +0 -1
  494. package/dist/src/shell/usePageFrames.d.ts +46 -0
  495. package/dist/src/shell/usePageFrames.js +50 -0
  496. package/dist/src/shell/usePanelDocs.d.ts +11 -0
  497. package/dist/src/shell/usePanelDocs.js +29 -0
  498. package/dist/src/shell/usePluginTabs.d.ts +18 -0
  499. package/dist/src/shell/usePluginTabs.js +45 -0
  500. package/dist/src/shell/usePopover.d.ts +0 -1
  501. package/dist/src/shell/usePopover.js +0 -1
  502. package/dist/src/shell/useProseLinks.d.ts +14 -0
  503. package/dist/src/shell/useProseLinks.js +30 -0
  504. package/dist/src/shell/useRecentPages.d.ts +3 -4
  505. package/dist/src/shell/useRecentPages.js +1 -2
  506. package/dist/src/shell/useRequiredFirst.d.ts +27 -0
  507. package/dist/src/shell/useRequiredFirst.js +67 -0
  508. package/dist/src/shell/useScrollMemory.d.ts +9 -1
  509. package/dist/src/shell/useScrollMemory.js +2 -3
  510. package/dist/src/shell/useSearchIndex.d.ts +24 -0
  511. package/dist/src/shell/useSearchIndex.js +51 -0
  512. package/dist/src/shell/useShownView.d.ts +3 -1
  513. package/dist/src/shell/useShownView.js +5 -5
  514. package/dist/src/shell/useSidebarLayout.d.ts +0 -1
  515. package/dist/src/shell/useSidebarLayout.js +0 -1
  516. package/dist/src/shell/useStored.d.ts +13 -1
  517. package/dist/src/shell/useStored.js +13 -5
  518. package/dist/src/shell/useStoryCheck.d.ts +20 -0
  519. package/dist/src/shell/useStoryCheck.js +33 -0
  520. package/dist/src/shell/useStoryCode.d.ts +0 -1
  521. package/dist/src/shell/useStoryCode.js +0 -1
  522. package/dist/src/shell/useStoryHeights.d.ts +0 -1
  523. package/dist/src/shell/useStoryHeights.js +0 -1
  524. package/dist/src/shell/useStoryIdsElement.d.ts +0 -1
  525. package/dist/src/shell/useStoryIdsElement.js +0 -1
  526. package/dist/src/shell/useStoryKeys.d.ts +0 -1
  527. package/dist/src/shell/useStoryKeys.js +0 -1
  528. package/dist/src/shell/useSyncedTab.d.ts +8 -0
  529. package/dist/src/shell/useSyncedTab.js +60 -0
  530. package/dist/src/shell/useSystemDark.d.ts +0 -1
  531. package/dist/src/shell/useSystemDark.js +0 -1
  532. package/dist/src/shell/useToolbarLayout.d.ts +0 -1
  533. package/dist/src/shell/useToolbarLayout.js +0 -1
  534. package/dist/src/shell/useToolbarOverflow.d.ts +0 -1
  535. package/dist/src/shell/useToolbarOverflow.js +0 -1
  536. package/dist/src/shell/useWorstCase.d.ts +0 -1
  537. package/dist/src/shell/useWorstCase.js +2 -2
  538. package/dist/src/shell/worstArgs.d.ts +0 -1
  539. package/dist/src/shell/worstArgs.js +0 -1
  540. package/dist/src/shellTheme.d.ts +64 -0
  541. package/dist/src/shellTheme.js +274 -0
  542. package/dist/src/shellTheme.types.d.ts +93 -0
  543. package/dist/src/shellTheme.types.js +10 -0
  544. package/dist/src/sourceFiles.d.ts +17 -3
  545. package/dist/src/sourceFiles.js +27 -1
  546. package/dist/src/spills.d.ts +0 -1
  547. package/dist/src/spills.js +0 -1
  548. package/dist/src/storyBackground.d.ts +0 -1
  549. package/dist/src/storyBackground.js +0 -1
  550. package/dist/src/storyCheck.d.ts +88 -2
  551. package/dist/src/storyCheck.js +14 -3
  552. package/dist/src/storyClock.d.ts +0 -1
  553. package/dist/src/storyClock.js +0 -1
  554. package/dist/src/storyGlobals.d.ts +0 -1
  555. package/dist/src/storyGlobals.js +2 -2
  556. package/dist/src/storyHeights.d.ts +0 -1
  557. package/dist/src/storyHeights.js +0 -1
  558. package/dist/src/storyIds.d.ts +36 -0
  559. package/dist/src/storyIds.js +52 -0
  560. package/dist/src/storyIdsElement.d.ts +0 -1
  561. package/dist/src/storyIdsElement.js +0 -1
  562. package/dist/src/storyTexts.d.ts +11 -5
  563. package/dist/src/storyTexts.js +16 -5
  564. package/dist/src/storyTree.d.ts +89 -25
  565. package/dist/src/storyTree.js +213 -127
  566. package/dist/src/switches.d.ts +0 -1
  567. package/dist/src/switches.js +6 -2
  568. package/dist/src/toolbarLayout.d.ts +0 -1
  569. package/dist/src/toolbarLayout.js +0 -1
  570. package/dist/src/treePlaces.d.ts +60 -0
  571. package/dist/src/treePlaces.js +89 -0
  572. package/dist/src/usedIn.d.ts +28 -1
  573. package/dist/src/usedIn.js +93 -3
  574. package/dist/src/viewState.d.ts +44 -9
  575. package/dist/src/viewState.js +80 -9
  576. package/dist/src/viewWords.d.ts +0 -13
  577. package/dist/src/viewWords.js +41 -3
  578. package/dist/src/vite/adapter.d.ts +62 -1
  579. package/dist/src/vite/adapter.js +20 -2
  580. package/dist/src/vite/agent.types.d.ts +291 -7
  581. package/dist/src/vite/agent.types.js +11 -1
  582. package/dist/src/vite/agentApi.d.ts +55 -2
  583. package/dist/src/vite/agentApi.js +136 -9
  584. package/dist/src/vite/agentIds.d.ts +25 -0
  585. package/dist/src/vite/agentIds.js +41 -0
  586. package/dist/src/vite/agentIndex.d.ts +63 -0
  587. package/dist/src/vite/agentIndex.js +91 -0
  588. package/dist/src/vite/agentIndexRoute.d.ts +10 -0
  589. package/dist/src/vite/agentIndexRoute.js +35 -0
  590. package/dist/src/vite/agentRoutes.d.ts +80 -19
  591. package/dist/src/vite/agentRoutes.js +184 -27
  592. package/dist/src/vite/autoTitle.d.ts +0 -1
  593. package/dist/src/vite/autoTitle.js +0 -1
  594. package/dist/src/vite/axeScript.d.ts +20 -0
  595. package/dist/src/vite/axeScript.js +60 -0
  596. package/dist/src/vite/builtTexts.d.ts +75 -0
  597. package/dist/src/vite/builtTexts.js +143 -0
  598. package/dist/src/vite/catalogueConfig.d.ts +10 -0
  599. package/dist/src/vite/catalogueConfig.js +64 -0
  600. package/dist/src/vite/checkCode.d.ts +67 -0
  601. package/dist/src/vite/checkCode.js +145 -0
  602. package/dist/src/vite/closeWatch.d.ts +96 -0
  603. package/dist/src/vite/closeWatch.js +219 -0
  604. package/dist/src/vite/codeFence.d.ts +78 -0
  605. package/dist/src/vite/codeFence.js +267 -0
  606. package/dist/src/vite/componentImport.d.ts +8 -0
  607. package/dist/src/vite/componentImport.js +35 -0
  608. package/dist/src/vite/componentPage.d.ts +15 -2
  609. package/dist/src/vite/componentPage.js +55 -16
  610. package/dist/src/vite/config.d.ts +51 -3
  611. package/dist/src/vite/config.js +0 -1
  612. package/dist/src/vite/configFile.d.ts +66 -9
  613. package/dist/src/vite/configFile.js +236 -33
  614. package/dist/src/vite/designTokens.d.ts +75 -0
  615. package/dist/src/vite/designTokens.js +382 -0
  616. package/dist/src/vite/diskCache.d.ts +51 -0
  617. package/dist/src/vite/diskCache.js +211 -0
  618. package/dist/src/vite/docDirectives.d.ts +116 -0
  619. package/dist/src/vite/docDirectives.js +425 -0
  620. package/dist/src/vite/docMarkdown.d.ts +76 -0
  621. package/dist/src/vite/docMarkdown.js +150 -0
  622. package/dist/src/vite/docPageBlocks.d.ts +64 -0
  623. package/dist/src/vite/docPageBlocks.js +322 -0
  624. package/dist/src/vite/docPageLinks.d.ts +72 -0
  625. package/dist/src/vite/docPageLinks.js +135 -0
  626. package/dist/src/vite/docPageMarkdown.d.ts +86 -0
  627. package/dist/src/vite/docPageMarkdown.js +133 -0
  628. package/dist/src/vite/docPageRender.d.ts +27 -0
  629. package/dist/src/vite/docPageRender.js +199 -0
  630. package/dist/src/vite/docPageTokens.d.ts +91 -0
  631. package/dist/src/vite/docPageTokens.js +186 -0
  632. package/dist/src/vite/docPagesModule.d.ts +53 -0
  633. package/dist/src/vite/docPagesModule.js +121 -0
  634. package/dist/src/vite/docPagesRoute.d.ts +38 -0
  635. package/dist/src/vite/docPagesRoute.js +154 -0
  636. package/dist/src/vite/docsDependencies.d.ts +6 -0
  637. package/dist/src/vite/docsDependencies.js +150 -0
  638. package/dist/src/vite/docsExtractor.d.ts +50 -3
  639. package/dist/src/vite/docsExtractor.js +173 -26
  640. package/dist/src/vite/docsProgram.d.ts +89 -9
  641. package/dist/src/vite/docsProgram.js +413 -50
  642. package/dist/src/vite/docsWorker.d.ts +0 -1
  643. package/dist/src/vite/docsWorker.js +49 -15
  644. package/dist/src/vite/figmaLink.d.ts +26 -0
  645. package/dist/src/vite/figmaLink.js +92 -0
  646. package/dist/src/vite/fileAccess.d.ts +51 -0
  647. package/dist/src/vite/fileAccess.js +109 -0
  648. package/dist/src/vite/findComponent.d.ts +32 -0
  649. package/dist/src/vite/findComponent.js +52 -0
  650. package/dist/src/vite/findRoute.d.ts +14 -0
  651. package/dist/src/vite/findRoute.js +62 -0
  652. package/dist/src/vite/forcedStates.d.ts +0 -1
  653. package/dist/src/vite/forcedStates.js +0 -1
  654. package/dist/src/vite/forgebookPlugin.d.ts +0 -1
  655. package/dist/src/vite/forgebookPlugin.js +305 -282
  656. package/dist/src/vite/framesConfig.d.ts +89 -0
  657. package/dist/src/vite/framesConfig.js +149 -0
  658. package/dist/src/vite/framesServer.d.ts +43 -0
  659. package/dist/src/vite/framesServer.js +342 -0
  660. package/dist/src/vite/functionComponentDocs.d.ts +26 -0
  661. package/dist/src/vite/functionComponentDocs.js +193 -0
  662. package/dist/src/vite/generatedModules.d.ts +23 -0
  663. package/dist/src/vite/generatedModules.js +58 -0
  664. package/dist/src/vite/gitChange.d.ts +56 -0
  665. package/dist/src/vite/gitChange.js +86 -0
  666. package/dist/src/vite/heightsRoute.d.ts +0 -1
  667. package/dist/src/vite/heightsRoute.js +0 -1
  668. package/dist/src/vite/highlightCode.d.ts +0 -1
  669. package/dist/src/vite/highlightCode.js +8 -27
  670. package/dist/src/vite/hotSnippets.d.ts +86 -0
  671. package/dist/src/vite/hotSnippets.js +172 -0
  672. package/dist/src/vite/indexFields.d.ts +61 -0
  673. package/dist/src/vite/indexFields.js +149 -0
  674. package/dist/src/vite/indexStoryFile.d.ts +19 -18
  675. package/dist/src/vite/indexStoryFile.js +165 -221
  676. package/dist/src/vite/indexedParameters.d.ts +10 -0
  677. package/dist/src/vite/indexedParameters.js +130 -0
  678. package/dist/src/vite/mcpProtocol.d.ts +36 -2
  679. package/dist/src/vite/mcpProtocol.js +100 -15
  680. package/dist/src/vite/moduleSummary.d.ts +17 -0
  681. package/dist/src/vite/moduleSummary.js +40 -0
  682. package/dist/src/vite/nearestToken.d.ts +50 -0
  683. package/dist/src/vite/nearestToken.js +295 -0
  684. package/dist/src/vite/originGuard.d.ts +97 -0
  685. package/dist/src/vite/originGuard.js +172 -0
  686. package/dist/src/vite/packedModule.d.ts +40 -0
  687. package/dist/src/vite/packedModule.js +74 -0
  688. package/dist/src/vite/pages.d.ts +64 -10
  689. package/dist/src/vite/pages.js +278 -40
  690. package/dist/src/vite/parsedFiles.d.ts +18 -0
  691. package/dist/src/vite/parsedFiles.js +91 -0
  692. package/dist/src/vite/plainGrammars.d.ts +20 -0
  693. package/dist/src/vite/plainGrammars.js +113 -0
  694. package/dist/src/vite/pluginConfig.d.ts +47 -0
  695. package/dist/src/vite/pluginConfig.js +220 -0
  696. package/dist/src/vite/pluginIds.d.ts +27 -0
  697. package/dist/src/vite/pluginIds.js +76 -0
  698. package/dist/src/vite/pluginModules.d.ts +169 -0
  699. package/dist/src/vite/pluginModules.js +221 -0
  700. package/dist/src/vite/prebundled.d.ts +18 -5
  701. package/dist/src/vite/prebundled.js +29 -18
  702. package/dist/src/vite/previewPages.d.ts +14 -0
  703. package/dist/src/vite/previewPages.js +81 -0
  704. package/dist/src/vite/previewRoute.d.ts +8 -0
  705. package/dist/src/vite/previewRoute.js +8 -0
  706. package/dist/src/vite/previewRunner.d.ts +56 -0
  707. package/dist/src/vite/previewRunner.js +207 -0
  708. package/dist/src/vite/propDocs.d.ts +60 -0
  709. package/dist/src/vite/propDocs.js +387 -0
  710. package/dist/src/vite/searchModule.d.ts +42 -0
  711. package/dist/src/vite/searchModule.js +213 -0
  712. package/dist/src/vite/searchRoute.d.ts +7 -0
  713. package/dist/src/vite/searchRoute.js +79 -0
  714. package/dist/src/vite/serverConditions.d.ts +31 -0
  715. package/dist/src/vite/serverConditions.js +69 -0
  716. package/dist/src/vite/signatureDocs.d.ts +18 -0
  717. package/dist/src/vite/signatureDocs.js +64 -0
  718. package/dist/src/vite/sourceTokens.d.ts +57 -0
  719. package/dist/src/vite/sourceTokens.js +164 -0
  720. package/dist/src/vite/storyCode.d.ts +0 -1
  721. package/dist/src/vite/storyCode.js +2 -3
  722. package/dist/src/vite/storyExports.d.ts +32 -0
  723. package/dist/src/vite/storyExports.js +27 -0
  724. package/dist/src/vite/storyFilesModule.d.ts +104 -20
  725. package/dist/src/vite/storyFilesModule.js +178 -60
  726. package/dist/src/vite/storyMeta.d.ts +20 -11
  727. package/dist/src/vite/storyMeta.js +74 -38
  728. package/dist/src/vite/storyParse.d.ts +18 -0
  729. package/dist/src/vite/storyParse.js +20 -0
  730. package/dist/src/vite/storyPatterns.d.ts +39 -0
  731. package/dist/src/vite/storyPatterns.js +100 -0
  732. package/dist/src/vite/storyPlay.d.ts +29 -0
  733. package/dist/src/vite/storyPlay.js +54 -0
  734. package/dist/src/vite/storyReach.d.ts +42 -0
  735. package/dist/src/vite/storyReach.js +43 -0
  736. package/dist/src/vite/storylessRoutes.d.ts +29 -0
  737. package/dist/src/vite/storylessRoutes.js +126 -0
  738. package/dist/src/vite/textModules.d.ts +63 -0
  739. package/dist/src/vite/textModules.js +132 -0
  740. package/dist/src/vite/textQueries.d.ts +26 -0
  741. package/dist/src/vite/textQueries.js +26 -0
  742. package/dist/src/vite/themeFromTokens.d.ts +35 -0
  743. package/dist/src/vite/themeFromTokens.js +73 -0
  744. package/dist/src/vite/tokenAnswers.d.ts +20 -0
  745. package/dist/src/vite/tokenAnswers.js +86 -0
  746. package/dist/src/vite/tokenClashes.d.ts +44 -0
  747. package/dist/src/vite/tokenClashes.js +45 -0
  748. package/dist/src/vite/touchMedia.d.ts +0 -1
  749. package/dist/src/vite/touchMedia.js +0 -1
  750. package/dist/src/vite/typeScriptPieces.d.ts +0 -1
  751. package/dist/src/vite/typeScriptPieces.js +2 -3
  752. package/dist/src/vite/usageGraph.d.ts +6 -1
  753. package/dist/src/vite/usageGraph.js +41 -7
  754. package/dist/src/vite/usageGuidance.d.ts +33 -0
  755. package/dist/src/vite/usageGuidance.js +45 -0
  756. package/dist/src/vite/usageModule.d.ts +0 -1
  757. package/dist/src/vite/usageModule.js +0 -1
  758. package/dist/src/vite/vitePaths.d.ts +53 -0
  759. package/dist/src/vite/vitePaths.js +53 -0
  760. package/dist/src/worstCase.d.ts +0 -1
  761. package/dist/src/worstCase.js +0 -1
  762. package/package.json +68 -5
  763. package/dist/bin/forgebook/agentClient.d.ts.map +0 -1
  764. package/dist/bin/forgebook/agentClient.js.map +0 -1
  765. package/dist/bin/forgebook/agentLoopCommands.d.mts.map +0 -1
  766. package/dist/bin/forgebook/agentLoopCommands.mjs.map +0 -1
  767. package/dist/bin/forgebook/agentText.d.ts.map +0 -1
  768. package/dist/bin/forgebook/agentText.js.map +0 -1
  769. package/dist/bin/forgebook/agentsText.d.ts.map +0 -1
  770. package/dist/bin/forgebook/agentsText.js.map +0 -1
  771. package/dist/bin/forgebook/catalogueCommands.d.ts.map +0 -1
  772. package/dist/bin/forgebook/catalogueCommands.js.map +0 -1
  773. package/dist/bin/forgebook/catalogueVite.d.ts.map +0 -1
  774. package/dist/bin/forgebook/catalogueVite.js.map +0 -1
  775. package/dist/bin/forgebook/errorsRun.d.ts.map +0 -1
  776. package/dist/bin/forgebook/errorsRun.js.map +0 -1
  777. package/dist/bin/forgebook/forgebook.d.mts.map +0 -1
  778. package/dist/bin/forgebook/forgebook.mjs.map +0 -1
  779. package/dist/bin/forgebook/importers/storybook.d.ts.map +0 -1
  780. package/dist/bin/forgebook/importers/storybook.js.map +0 -1
  781. package/dist/bin/forgebook/initCommands.d.mts.map +0 -1
  782. package/dist/bin/forgebook/initCommands.mjs.map +0 -1
  783. package/dist/bin/forgebook/initConfig.d.ts.map +0 -1
  784. package/dist/bin/forgebook/initConfig.js.map +0 -1
  785. package/dist/bin/forgebook/mcpTools.d.ts.map +0 -1
  786. package/dist/bin/forgebook/mcpTools.js.map +0 -1
  787. package/dist/bin/forgebook/newStories.d.ts.map +0 -1
  788. package/dist/bin/forgebook/newStories.js.map +0 -1
  789. package/dist/bin/forgebook/newStoriesFile.d.ts.map +0 -1
  790. package/dist/bin/forgebook/newStoriesFile.js.map +0 -1
  791. package/dist/bin/forgebook/storyCheckRun.d.ts.map +0 -1
  792. package/dist/bin/forgebook/storyCheckRun.js.map +0 -1
  793. package/dist/bin/forgebook/touchWindowRun.d.ts.map +0 -1
  794. package/dist/bin/forgebook/touchWindowRun.js.map +0 -1
  795. package/dist/bin/forgebook-docs/catalogueDocs.d.ts.map +0 -1
  796. package/dist/bin/forgebook-docs/catalogueDocs.js.map +0 -1
  797. package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts.map +0 -1
  798. package/dist/bin/forgebook-docs/catalogueDocs.types.js.map +0 -1
  799. package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts.map +0 -1
  800. package/dist/bin/forgebook-docs/catalogueMarkdown.js.map +0 -1
  801. package/dist/bin/forgebook-docs/catalogueOptions.d.ts.map +0 -1
  802. package/dist/bin/forgebook-docs/catalogueOptions.js.map +0 -1
  803. package/dist/bin/forgebook-docs/collectDocs.d.ts.map +0 -1
  804. package/dist/bin/forgebook-docs/collectDocs.js.map +0 -1
  805. package/dist/bin/forgebook-docs/forgebook-docs.d.mts.map +0 -1
  806. package/dist/bin/forgebook-docs/forgebook-docs.mjs.map +0 -1
  807. package/dist/bin/forgebook-docs/llmsText.d.ts.map +0 -1
  808. package/dist/bin/forgebook-docs/llmsText.js.map +0 -1
  809. package/dist/bin/forgebook-docs/moduleDocs.d.ts.map +0 -1
  810. package/dist/bin/forgebook-docs/moduleDocs.js.map +0 -1
  811. package/dist/bin/forgebook-docs/sassDocs.d.ts.map +0 -1
  812. package/dist/bin/forgebook-docs/sassDocs.js.map +0 -1
  813. package/dist/bin/forgebook-docs/sourceId.d.ts +0 -9
  814. package/dist/bin/forgebook-docs/sourceId.d.ts.map +0 -1
  815. package/dist/bin/forgebook-docs/sourceId.js +0 -45
  816. package/dist/bin/forgebook-docs/sourceId.js.map +0 -1
  817. package/dist/bin/forgebook-texts/forgebook-texts.d.mts.map +0 -1
  818. package/dist/bin/forgebook-texts/forgebook-texts.mjs.map +0 -1
  819. package/dist/bin/forgebook-texts/storyTextsReport.d.ts.map +0 -1
  820. package/dist/bin/forgebook-texts/storyTextsReport.js.map +0 -1
  821. package/dist/bin/forgebook-texts/storyTextsReport.types.d.ts.map +0 -1
  822. package/dist/bin/forgebook-texts/storyTextsReport.types.js.map +0 -1
  823. package/dist/bin/frameworkDocs.d.ts.map +0 -1
  824. package/dist/bin/frameworkDocs.js.map +0 -1
  825. package/dist/src/a11y.d.ts.map +0 -1
  826. package/dist/src/a11y.js.map +0 -1
  827. package/dist/src/argTypes.d.ts.map +0 -1
  828. package/dist/src/argTypes.js.map +0 -1
  829. package/dist/src/backdrops.d.ts.map +0 -1
  830. package/dist/src/backdrops.js.map +0 -1
  831. package/dist/src/catalogue.d.ts.map +0 -1
  832. package/dist/src/catalogue.js.map +0 -1
  833. package/dist/src/componentDocs.d.ts.map +0 -1
  834. package/dist/src/componentDocs.js.map +0 -1
  835. package/dist/src/controlKeys.d.ts.map +0 -1
  836. package/dist/src/controlKeys.js.map +0 -1
  837. package/dist/src/frame/checkStory.d.ts.map +0 -1
  838. package/dist/src/frame/checkStory.js.map +0 -1
  839. package/dist/src/frame/frameClock.d.ts.map +0 -1
  840. package/dist/src/frame/frameClock.js.map +0 -1
  841. package/dist/src/frame/frameStatus.d.ts.map +0 -1
  842. package/dist/src/frame/frameStatus.js.map +0 -1
  843. package/dist/src/frame/frameView.d.ts.map +0 -1
  844. package/dist/src/frame/frameView.js.map +0 -1
  845. package/dist/src/frame/matrixLayout.d.ts.map +0 -1
  846. package/dist/src/frame/matrixLayout.js.map +0 -1
  847. package/dist/src/frame/measureTools.d.ts.map +0 -1
  848. package/dist/src/frame/measureTools.js.map +0 -1
  849. package/dist/src/frame/mountFrame.d.ts.map +0 -1
  850. package/dist/src/frame/mountFrame.js.map +0 -1
  851. package/dist/src/frame/playStory.d.ts.map +0 -1
  852. package/dist/src/frame/playStory.js.map +0 -1
  853. package/dist/src/frame/renderer.d.ts.map +0 -1
  854. package/dist/src/frame/renderer.js.map +0 -1
  855. package/dist/src/frame/settle.d.ts.map +0 -1
  856. package/dist/src/frame/settle.js.map +0 -1
  857. package/dist/src/frame/spillOutline.d.ts.map +0 -1
  858. package/dist/src/frame/spillOutline.js.map +0 -1
  859. package/dist/src/frame/staleModule.d.ts.map +0 -1
  860. package/dist/src/frame/staleModule.js.map +0 -1
  861. package/dist/src/frame/storyCanvas.d.ts.map +0 -1
  862. package/dist/src/frame/storyCanvas.js.map +0 -1
  863. package/dist/src/frame/storyHooks.d.ts.map +0 -1
  864. package/dist/src/frame/storyHooks.js.map +0 -1
  865. package/dist/src/frame/storyModule.d.ts.map +0 -1
  866. package/dist/src/frame/storyModule.js.map +0 -1
  867. package/dist/src/frame/storyRun.d.ts.map +0 -1
  868. package/dist/src/frame/storyRun.js.map +0 -1
  869. package/dist/src/frame/touchDots.d.ts.map +0 -1
  870. package/dist/src/frame/touchDots.js.map +0 -1
  871. package/dist/src/frame/touchEvents.d.ts.map +0 -1
  872. package/dist/src/frame/touchEvents.js.map +0 -1
  873. package/dist/src/frame/touchGesture.d.ts.map +0 -1
  874. package/dist/src/frame/touchGesture.js.map +0 -1
  875. package/dist/src/frame/touchLayer.d.ts.map +0 -1
  876. package/dist/src/frame/touchLayer.js.map +0 -1
  877. package/dist/src/frame/touchScroll.d.ts.map +0 -1
  878. package/dist/src/frame/touchScroll.js.map +0 -1
  879. package/dist/src/languages.d.ts.map +0 -1
  880. package/dist/src/languages.js.map +0 -1
  881. package/dist/src/liveErrors.d.ts.map +0 -1
  882. package/dist/src/liveErrors.js.map +0 -1
  883. package/dist/src/matrix.d.ts.map +0 -1
  884. package/dist/src/matrix.js.map +0 -1
  885. package/dist/src/messages.d.ts.map +0 -1
  886. package/dist/src/messages.js.map +0 -1
  887. package/dist/src/namedValues.d.ts.map +0 -1
  888. package/dist/src/namedValues.js.map +0 -1
  889. package/dist/src/namedViews.d.ts.map +0 -1
  890. package/dist/src/namedViews.js.map +0 -1
  891. package/dist/src/pageConfig.d.ts.map +0 -1
  892. package/dist/src/pageConfig.js.map +0 -1
  893. package/dist/src/playTrace.d.ts.map +0 -1
  894. package/dist/src/playTrace.js.map +0 -1
  895. package/dist/src/realTouch.d.ts.map +0 -1
  896. package/dist/src/realTouch.js.map +0 -1
  897. package/dist/src/shell/A11yTab.d.ts.map +0 -1
  898. package/dist/src/shell/A11yTab.js.map +0 -1
  899. package/dist/src/shell/ApiReference.d.ts.map +0 -1
  900. package/dist/src/shell/ApiReference.js.map +0 -1
  901. package/dist/src/shell/AppearanceMenu.d.ts.map +0 -1
  902. package/dist/src/shell/AppearanceMenu.js.map +0 -1
  903. package/dist/src/shell/BoxWidth.d.ts.map +0 -1
  904. package/dist/src/shell/BoxWidth.js.map +0 -1
  905. package/dist/src/shell/ClockControls.d.ts.map +0 -1
  906. package/dist/src/shell/ClockControls.js.map +0 -1
  907. package/dist/src/shell/Code.d.ts.map +0 -1
  908. package/dist/src/shell/Code.js.map +0 -1
  909. package/dist/src/shell/CodeTab.d.ts.map +0 -1
  910. package/dist/src/shell/CodeTab.js.map +0 -1
  911. package/dist/src/shell/CodeText.d.ts.map +0 -1
  912. package/dist/src/shell/CodeText.js.map +0 -1
  913. package/dist/src/shell/ComponentPage.d.ts.map +0 -1
  914. package/dist/src/shell/ComponentPage.js.map +0 -1
  915. package/dist/src/shell/ControlKeyField.d.ts.map +0 -1
  916. package/dist/src/shell/ControlKeyField.js.map +0 -1
  917. package/dist/src/shell/ControlRow.d.ts.map +0 -1
  918. package/dist/src/shell/ControlRow.js.map +0 -1
  919. package/dist/src/shell/Dock.d.ts.map +0 -1
  920. package/dist/src/shell/Dock.js.map +0 -1
  921. package/dist/src/shell/EventsTab.d.ts.map +0 -1
  922. package/dist/src/shell/EventsTab.js.map +0 -1
  923. package/dist/src/shell/Example.d.ts.map +0 -1
  924. package/dist/src/shell/Example.js.map +0 -1
  925. package/dist/src/shell/FrameView.d.ts.map +0 -1
  926. package/dist/src/shell/FrameView.js.map +0 -1
  927. package/dist/src/shell/HomePage.d.ts.map +0 -1
  928. package/dist/src/shell/HomePage.js.map +0 -1
  929. package/dist/src/shell/InfoTip.d.ts.map +0 -1
  930. package/dist/src/shell/InfoTip.js.map +0 -1
  931. package/dist/src/shell/InteractionsTab.d.ts.map +0 -1
  932. package/dist/src/shell/InteractionsTab.js.map +0 -1
  933. package/dist/src/shell/LogicMark.d.ts.map +0 -1
  934. package/dist/src/shell/LogicMark.js.map +0 -1
  935. package/dist/src/shell/MatrixPicker.d.ts.map +0 -1
  936. package/dist/src/shell/MatrixPicker.js.map +0 -1
  937. package/dist/src/shell/NamedViews.d.ts.map +0 -1
  938. package/dist/src/shell/NamedViews.js.map +0 -1
  939. package/dist/src/shell/PackageHtml.d.ts.map +0 -1
  940. package/dist/src/shell/PackageHtml.js.map +0 -1
  941. package/dist/src/shell/PartsTab.d.ts.map +0 -1
  942. package/dist/src/shell/PartsTab.js.map +0 -1
  943. package/dist/src/shell/PinnedControl.d.ts.map +0 -1
  944. package/dist/src/shell/PinnedControl.js.map +0 -1
  945. package/dist/src/shell/PropFields.d.ts.map +0 -1
  946. package/dist/src/shell/PropFields.js.map +0 -1
  947. package/dist/src/shell/PropsTab.d.ts.map +0 -1
  948. package/dist/src/shell/PropsTab.js.map +0 -1
  949. package/dist/src/shell/Segmented.d.ts.map +0 -1
  950. package/dist/src/shell/Segmented.js.map +0 -1
  951. package/dist/src/shell/Shell.d.ts.map +0 -1
  952. package/dist/src/shell/Shell.js.map +0 -1
  953. package/dist/src/shell/Sidebar.d.ts.map +0 -1
  954. package/dist/src/shell/Sidebar.js.map +0 -1
  955. package/dist/src/shell/SidebarEntries.d.ts.map +0 -1
  956. package/dist/src/shell/SidebarEntries.js.map +0 -1
  957. package/dist/src/shell/SidebarHandle.d.ts.map +0 -1
  958. package/dist/src/shell/SidebarHandle.js.map +0 -1
  959. package/dist/src/shell/SignatureReference.d.ts.map +0 -1
  960. package/dist/src/shell/SignatureReference.js.map +0 -1
  961. package/dist/src/shell/Stage.d.ts.map +0 -1
  962. package/dist/src/shell/Stage.js.map +0 -1
  963. package/dist/src/shell/StageTools.d.ts.map +0 -1
  964. package/dist/src/shell/StageTools.js.map +0 -1
  965. package/dist/src/shell/StageViewport.d.ts.map +0 -1
  966. package/dist/src/shell/StageViewport.js.map +0 -1
  967. package/dist/src/shell/StoryCodeBlock.d.ts.map +0 -1
  968. package/dist/src/shell/StoryCodeBlock.js.map +0 -1
  969. package/dist/src/shell/StoryPicker.d.ts.map +0 -1
  970. package/dist/src/shell/StoryPicker.js.map +0 -1
  971. package/dist/src/shell/Toolbar.d.ts.map +0 -1
  972. package/dist/src/shell/Toolbar.js.map +0 -1
  973. package/dist/src/shell/ToolbarControl.d.ts.map +0 -1
  974. package/dist/src/shell/ToolbarControl.js.map +0 -1
  975. package/dist/src/shell/UsedIn.d.ts.map +0 -1
  976. package/dist/src/shell/UsedIn.js.map +0 -1
  977. package/dist/src/shell/ViewMenu.d.ts.map +0 -1
  978. package/dist/src/shell/ViewMenu.js.map +0 -1
  979. package/dist/src/shell/WidthField.d.ts.map +0 -1
  980. package/dist/src/shell/WidthField.js.map +0 -1
  981. package/dist/src/shell/catalogueContext.d.ts.map +0 -1
  982. package/dist/src/shell/catalogueContext.js.map +0 -1
  983. package/dist/src/shell/codeTokens.d.ts.map +0 -1
  984. package/dist/src/shell/codeTokens.js.map +0 -1
  985. package/dist/src/shell/codeWriter.d.ts.map +0 -1
  986. package/dist/src/shell/codeWriter.js.map +0 -1
  987. package/dist/src/shell/compareVariants.d.ts.map +0 -1
  988. package/dist/src/shell/compareVariants.js.map +0 -1
  989. package/dist/src/shell/controlCycle.d.ts.map +0 -1
  990. package/dist/src/shell/controlCycle.js.map +0 -1
  991. package/dist/src/shell/dockTabs.d.ts.map +0 -1
  992. package/dist/src/shell/dockTabs.js.map +0 -1
  993. package/dist/src/shell/icons.d.ts.map +0 -1
  994. package/dist/src/shell/icons.js.map +0 -1
  995. package/dist/src/shell/keyboard.d.ts.map +0 -1
  996. package/dist/src/shell/keyboard.js.map +0 -1
  997. package/dist/src/shell/logicView.d.ts.map +0 -1
  998. package/dist/src/shell/logicView.js.map +0 -1
  999. package/dist/src/shell/mountShell.d.ts.map +0 -1
  1000. package/dist/src/shell/mountShell.js.map +0 -1
  1001. package/dist/src/shell/storyTouch.d.ts.map +0 -1
  1002. package/dist/src/shell/storyTouch.js.map +0 -1
  1003. package/dist/src/shell/strings.d.ts.map +0 -1
  1004. package/dist/src/shell/strings.js.map +0 -1
  1005. package/dist/src/shell/switchView.d.ts.map +0 -1
  1006. package/dist/src/shell/switchView.js.map +0 -1
  1007. package/dist/src/shell/treeSearch.d.ts.map +0 -1
  1008. package/dist/src/shell/treeSearch.js.map +0 -1
  1009. package/dist/src/shell/useAppearance.d.ts.map +0 -1
  1010. package/dist/src/shell/useAppearance.js.map +0 -1
  1011. package/dist/src/shell/useComponentDocs.d.ts.map +0 -1
  1012. package/dist/src/shell/useComponentDocs.js.map +0 -1
  1013. package/dist/src/shell/useControlKeys.d.ts.map +0 -1
  1014. package/dist/src/shell/useControlKeys.js.map +0 -1
  1015. package/dist/src/shell/useCopy.d.ts.map +0 -1
  1016. package/dist/src/shell/useCopy.js.map +0 -1
  1017. package/dist/src/shell/useFold.d.ts.map +0 -1
  1018. package/dist/src/shell/useFold.js.map +0 -1
  1019. package/dist/src/shell/useFrameMessages.d.ts.map +0 -1
  1020. package/dist/src/shell/useFrameMessages.js.map +0 -1
  1021. package/dist/src/shell/useFrameQueue.d.ts.map +0 -1
  1022. package/dist/src/shell/useFrameQueue.js.map +0 -1
  1023. package/dist/src/shell/useFullPage.d.ts.map +0 -1
  1024. package/dist/src/shell/useFullPage.js.map +0 -1
  1025. package/dist/src/shell/useLiveView.d.ts.map +0 -1
  1026. package/dist/src/shell/useLiveView.js.map +0 -1
  1027. package/dist/src/shell/useLoaded.d.ts.map +0 -1
  1028. package/dist/src/shell/useLoaded.js.map +0 -1
  1029. package/dist/src/shell/usePageDoc.d.ts.map +0 -1
  1030. package/dist/src/shell/usePageDoc.js.map +0 -1
  1031. package/dist/src/shell/usePopover.d.ts.map +0 -1
  1032. package/dist/src/shell/usePopover.js.map +0 -1
  1033. package/dist/src/shell/useRecentPages.d.ts.map +0 -1
  1034. package/dist/src/shell/useRecentPages.js.map +0 -1
  1035. package/dist/src/shell/useScrollMemory.d.ts.map +0 -1
  1036. package/dist/src/shell/useScrollMemory.js.map +0 -1
  1037. package/dist/src/shell/useShownView.d.ts.map +0 -1
  1038. package/dist/src/shell/useShownView.js.map +0 -1
  1039. package/dist/src/shell/useSidebarLayout.d.ts.map +0 -1
  1040. package/dist/src/shell/useSidebarLayout.js.map +0 -1
  1041. package/dist/src/shell/useStored.d.ts.map +0 -1
  1042. package/dist/src/shell/useStored.js.map +0 -1
  1043. package/dist/src/shell/useStoryCode.d.ts.map +0 -1
  1044. package/dist/src/shell/useStoryCode.js.map +0 -1
  1045. package/dist/src/shell/useStoryHeights.d.ts.map +0 -1
  1046. package/dist/src/shell/useStoryHeights.js.map +0 -1
  1047. package/dist/src/shell/useStoryIdsElement.d.ts.map +0 -1
  1048. package/dist/src/shell/useStoryIdsElement.js.map +0 -1
  1049. package/dist/src/shell/useStoryKeys.d.ts.map +0 -1
  1050. package/dist/src/shell/useStoryKeys.js.map +0 -1
  1051. package/dist/src/shell/useSystemDark.d.ts.map +0 -1
  1052. package/dist/src/shell/useSystemDark.js.map +0 -1
  1053. package/dist/src/shell/useToolbarLayout.d.ts.map +0 -1
  1054. package/dist/src/shell/useToolbarLayout.js.map +0 -1
  1055. package/dist/src/shell/useToolbarOverflow.d.ts.map +0 -1
  1056. package/dist/src/shell/useToolbarOverflow.js.map +0 -1
  1057. package/dist/src/shell/useWorstCase.d.ts.map +0 -1
  1058. package/dist/src/shell/useWorstCase.js.map +0 -1
  1059. package/dist/src/shell/worstArgs.d.ts.map +0 -1
  1060. package/dist/src/shell/worstArgs.js.map +0 -1
  1061. package/dist/src/sourceFiles.d.ts.map +0 -1
  1062. package/dist/src/sourceFiles.js.map +0 -1
  1063. package/dist/src/spills.d.ts.map +0 -1
  1064. package/dist/src/spills.js.map +0 -1
  1065. package/dist/src/storyBackground.d.ts.map +0 -1
  1066. package/dist/src/storyBackground.js.map +0 -1
  1067. package/dist/src/storyCheck.d.ts.map +0 -1
  1068. package/dist/src/storyCheck.js.map +0 -1
  1069. package/dist/src/storyClock.d.ts.map +0 -1
  1070. package/dist/src/storyClock.js.map +0 -1
  1071. package/dist/src/storyGlobals.d.ts.map +0 -1
  1072. package/dist/src/storyGlobals.js.map +0 -1
  1073. package/dist/src/storyHeights.d.ts.map +0 -1
  1074. package/dist/src/storyHeights.js.map +0 -1
  1075. package/dist/src/storyIdsElement.d.ts.map +0 -1
  1076. package/dist/src/storyIdsElement.js.map +0 -1
  1077. package/dist/src/storyTexts.d.ts.map +0 -1
  1078. package/dist/src/storyTexts.js.map +0 -1
  1079. package/dist/src/storyTree.d.ts.map +0 -1
  1080. package/dist/src/storyTree.js.map +0 -1
  1081. package/dist/src/switches.d.ts.map +0 -1
  1082. package/dist/src/switches.js.map +0 -1
  1083. package/dist/src/toolbarLayout.d.ts.map +0 -1
  1084. package/dist/src/toolbarLayout.js.map +0 -1
  1085. package/dist/src/usedIn.d.ts.map +0 -1
  1086. package/dist/src/usedIn.js.map +0 -1
  1087. package/dist/src/viewState.d.ts.map +0 -1
  1088. package/dist/src/viewState.js.map +0 -1
  1089. package/dist/src/viewWords.d.ts.map +0 -1
  1090. package/dist/src/viewWords.js.map +0 -1
  1091. package/dist/src/vite/adapter.d.ts.map +0 -1
  1092. package/dist/src/vite/adapter.js.map +0 -1
  1093. package/dist/src/vite/agent.types.d.ts.map +0 -1
  1094. package/dist/src/vite/agent.types.js.map +0 -1
  1095. package/dist/src/vite/agentApi.d.ts.map +0 -1
  1096. package/dist/src/vite/agentApi.js.map +0 -1
  1097. package/dist/src/vite/agentRoutes.d.ts.map +0 -1
  1098. package/dist/src/vite/agentRoutes.js.map +0 -1
  1099. package/dist/src/vite/autoTitle.d.ts.map +0 -1
  1100. package/dist/src/vite/autoTitle.js.map +0 -1
  1101. package/dist/src/vite/componentPage.d.ts.map +0 -1
  1102. package/dist/src/vite/componentPage.js.map +0 -1
  1103. package/dist/src/vite/config.d.ts.map +0 -1
  1104. package/dist/src/vite/config.js.map +0 -1
  1105. package/dist/src/vite/configFile.d.ts.map +0 -1
  1106. package/dist/src/vite/configFile.js.map +0 -1
  1107. package/dist/src/vite/docsExtractor.d.ts.map +0 -1
  1108. package/dist/src/vite/docsExtractor.js.map +0 -1
  1109. package/dist/src/vite/docsProgram.d.ts.map +0 -1
  1110. package/dist/src/vite/docsProgram.js.map +0 -1
  1111. package/dist/src/vite/docsWorker.d.ts.map +0 -1
  1112. package/dist/src/vite/docsWorker.js.map +0 -1
  1113. package/dist/src/vite/forcedStates.d.ts.map +0 -1
  1114. package/dist/src/vite/forcedStates.js.map +0 -1
  1115. package/dist/src/vite/forgebookPlugin.d.ts.map +0 -1
  1116. package/dist/src/vite/forgebookPlugin.js.map +0 -1
  1117. package/dist/src/vite/heightsRoute.d.ts.map +0 -1
  1118. package/dist/src/vite/heightsRoute.js.map +0 -1
  1119. package/dist/src/vite/highlightCode.d.ts.map +0 -1
  1120. package/dist/src/vite/highlightCode.js.map +0 -1
  1121. package/dist/src/vite/indexStoryFile.d.ts.map +0 -1
  1122. package/dist/src/vite/indexStoryFile.js.map +0 -1
  1123. package/dist/src/vite/mcpProtocol.d.ts.map +0 -1
  1124. package/dist/src/vite/mcpProtocol.js.map +0 -1
  1125. package/dist/src/vite/pages.d.ts.map +0 -1
  1126. package/dist/src/vite/pages.js.map +0 -1
  1127. package/dist/src/vite/prebundled.d.ts.map +0 -1
  1128. package/dist/src/vite/prebundled.js.map +0 -1
  1129. package/dist/src/vite/storyCode.d.ts.map +0 -1
  1130. package/dist/src/vite/storyCode.js.map +0 -1
  1131. package/dist/src/vite/storyFilesModule.d.ts.map +0 -1
  1132. package/dist/src/vite/storyFilesModule.js.map +0 -1
  1133. package/dist/src/vite/storyMeta.d.ts.map +0 -1
  1134. package/dist/src/vite/storyMeta.js.map +0 -1
  1135. package/dist/src/vite/touchMedia.d.ts.map +0 -1
  1136. package/dist/src/vite/touchMedia.js.map +0 -1
  1137. package/dist/src/vite/typeScriptPieces.d.ts.map +0 -1
  1138. package/dist/src/vite/typeScriptPieces.js.map +0 -1
  1139. package/dist/src/vite/usageGraph.d.ts.map +0 -1
  1140. package/dist/src/vite/usageGraph.js.map +0 -1
  1141. package/dist/src/vite/usageModule.d.ts.map +0 -1
  1142. package/dist/src/vite/usageModule.js.map +0 -1
  1143. package/dist/src/worstCase.d.ts.map +0 -1
  1144. package/dist/src/worstCase.js.map +0 -1
@@ -9,48 +9,45 @@
9
9
  * `?forgebook-docs`, answered with the component's props as the framework reads them (`adapter.ts`, in a worker) or
10
10
  * `{ error }` for the panel, `?forgebook-code`, answered with each story's `render` as written (`storyCode.ts`),
11
11
  * `?forgebook-page`, answered with the component's documentation file as HTML (`componentPage.ts`), and
12
- * `?forgebook-markdown`, a source's own Markdown file (its introduction on the home) as HTML. It also sets
13
- * Lightning CSS as the CSS transformer with the forced-states visitor (`forcedStates.ts`) and lets Sass resolve
12
+ * `?forgebook-markdown`, a source's own Markdown file (its introduction on the home) as HTML. A source's docs pages
13
+ * come the same way, with `?forgebook-docs-pages` (`docPagesModule.ts`), and the written home with `?forgebook-home`. It also sets Lightning CSS as the CSS transformer with the forced-states visitor (`forcedStates.ts`) and lets Sass resolve
14
14
  * `pkg:` URLs, which the library's style sheets use.
15
15
  *
16
- * A pattern's module watches its story files, so an edit renews it. Vite watches only its root for new files, and the
16
+ * A group's module watches its story files, so an edit renews it. Vite watches only its root for new files, and the
17
17
  * sources' story files live in other packages: `watch` names their folders, and a story file added or removed there
18
- * renews every pattern's module and reloads the page, so the sidebar lists it at once.
18
+ * renews the modules of the groups whose list it changes and reloads the page, so the sidebar lists it at once; one no
19
+ * group lists (a `!` pattern leaves it out) reloads nothing.
19
20
  *
20
21
  * @module
21
22
  */
22
- import { existsSync, readFileSync } from "node:fs";
23
- import { dirname, join, resolve } from "node:path";
24
- import ts from "typescript-6";
23
+ import { extname, join, resolve } from "node:path";
24
+ import { checksA11y, offersUsedIn, readsComponentDocs } from "../catalogue.js";
25
+ import { SAME_ORIGIN } from "../frameOrigins.js";
25
26
  import { createLiveErrors, isLiveErrorReport, LIVE_ERROR_EVENT } from "../liveErrors.js";
26
- import { agentMiddleware } from "./agentRoutes.js";
27
+ import { agentMiddleware, FRAMED_AGENT_PAGES } from "./agentRoutes.js";
27
28
  import { STORY_FILE } from "./autoTitle.js";
28
- import { componentPage, markdownHtml } from "./componentPage.js";
29
+ import { axeBuildAsset } from "./axeScript.js";
30
+ import { groupTexts } from "./builtTexts.js";
31
+ import { catalogueConfig } from "./catalogueConfig.js";
32
+ import { currentCloseWatch } from "./closeWatch.js";
29
33
  import { findConfigFile, loadConfigFile, packageResolver } from "./configFile.js";
30
- import { createDocsExtractor } from "./docsExtractor.js";
31
- import { moduleSummaryOf } from "./docsProgram.js";
34
+ import { codeStamp, diskCache } from "./diskCache.js";
35
+ import { createDocsExtractor, NO_DOCS_EXTRACTOR } from "./docsExtractor.js";
36
+ import { devServerAccess } from "./fileAccess.js";
32
37
  import { FORCED_STATES_VISITOR } from "./forcedStates.js";
38
+ import { builtPlacement } from "./framesConfig.js";
39
+ import { serveFrames } from "./framesServer.js";
40
+ import { generatedId, generatedModule } from "./generatedModules.js";
33
41
  import { missingHeightsMiddleware } from "./heightsRoute.js";
34
- import { highlightCode } from "./highlightCode.js";
35
- import { AGENT_SOURCES_FILE, agentSourcesModule, CONFIG_MODULE, configModule, frameEntry, PAGE_ENTRIES, PAGE_FILES, pageHtml, STORIES_SOURCE_FILE, shellEntry, storiesSourceModule } from "./pages.js";
36
- import { prebundled, scannedEntries } from "./prebundled.js";
37
- import { storyCode } from "./storyCode.js";
38
- import { indexedStoryFiles, storyFilesGroupOf, storyFilesGroupText, storyFilesModule, USAGE_PREFIX } from "./storyFilesModule.js";
39
- import { componentImport } from "./storyMeta.js";
40
- import { joinedUsage } from "./usageModule.js";
41
- /**
42
- * A file's text, or none when it cannot be read.
43
- *
44
- * @param file - the file.
45
- */
46
- const readTextFile = (file) => {
47
- try {
48
- return readFileSync(file, "utf8");
49
- }
50
- catch {
51
- return undefined;
52
- }
53
- };
42
+ import { FILES_MODULE_HOT, renewedModule, servedPatterns, storyFileHotHooks } from "./hotSnippets.js";
43
+ import { inlineJson, packedJsonOf } from "./packedModule.js";
44
+ import { AGENT_SOURCES_FILE, configModule, PAGE_FILES, pageHtml, pageModulePath } from "./pages.js";
45
+ import { CONFIG_ID, DOCS_PAGES_PREFIX, patternId, TOKENS_ID, virtualId } from "./pluginIds.js";
46
+ import { docsModule, docsValue, FILES_PREFIX, listingRenewals, patternModule, REACH_ID_PREFIX, reachModule, searchIndexes, USAGE_ID_PREFIX, usageModule } from "./pluginModules.js";
47
+ import { isKeptIndex, storyFilesGroupOf } from "./storyFilesModule.js";
48
+ import { tokensModule } from "./storylessRoutes.js";
49
+ import { DOCS_PAGE_QUERY, DOCS_QUERY, HOME_QUERY, RENEWED_QUERIES, TEXT_QUERIES } from "./textQueries.js";
50
+ import { VITE_PATHS } from "./vitePaths.js";
54
51
  /** This module's folder, in the core's package: the core's own dependencies resolve from here, not the project's. */
55
52
  const PACKAGE_DIR = import.meta.dirname;
56
53
  /**
@@ -63,160 +60,25 @@ const sassOptions = async () => {
63
60
  const { NodePackageImporter } = await import("sass-embedded");
64
61
  return { preprocessorOptions: { scss: { importers: [new NodePackageImporter()] } } };
65
62
  };
66
- /** The query that asks for the story files a pattern matches (`../src/**\/*.stories.tsx?forgebook-files`). */
67
- const FILES_QUERY = "?forgebook-files";
68
- /** The id of a pattern's module: virtual, with the declaring module's folder and the pattern after it. */
69
- const FILES_PREFIX = "\0forgebook-files:";
70
- /** The query that asks for a story file's code: each story's `render` as written. */
71
- const CODE_QUERY = "?forgebook-code";
72
- /** The query that asks for a story file's component page: its documentation file as HTML. */
73
- const PAGE_QUERY = "?forgebook-page";
74
- /** The query a source's Markdown file is imported with (its introduction on the home), answered with its HTML. */
75
- const MARKDOWN_QUERY = "?forgebook-markdown";
63
+ /** A docs page, whose file added or removed changes what the sidebar lists. */
64
+ const DOCS_PAGE_FILE = /\.md$/;
76
65
  /** A TypeScript source file, whose edit may change a component's docs. */
77
66
  const SOURCE_FILE = /\.tsx?$/;
78
- /** The query that asks for a story file's component docs. */
79
- const DOCS_QUERY = "?forgebook-docs";
80
67
  /**
81
- * The module that answers a `?forgebook-docs` import: the story file's component docs, or `{ error }` for the panel.
68
+ * Renews modules in every environment that loaded them: the agents' routes load them on the server too.
82
69
  *
83
- * @param component - what the extractor read for the story file.
84
- * @param watch - adds a file whose edit renews the module.
70
+ * @param server - the dev server.
71
+ * @param ids - the modules' ids.
85
72
  */
86
- const docsModule = (component, watch) => {
87
- // the docs come from the component's files, not the story file the id names: Vite renews them on an edit only if
88
- // it watches those files too
89
- if (typeof component !== "string" && "sources" in component) {
90
- for (const file of component.sources)
91
- watch(file);
73
+ const invalidateEverywhere = (server, ids) => {
74
+ for (const environment of Object.values(server.environments)) {
75
+ for (const id of ids) {
76
+ const module = environment.moduleGraph.getModuleById(id);
77
+ if (module !== undefined)
78
+ environment.moduleGraph.invalidateModule(module);
79
+ }
92
80
  }
93
- const value = typeof component === "string" ? { error: component } : component.docs;
94
- return { code: `export default ${JSON.stringify(value)};`, moduleType: "js" };
95
- };
96
- /**
97
- * The module that answers a `?forgebook-code` import: each story's `render` text and its coloured HTML, or `{ error }`
98
- * for the card.
99
- *
100
- * @param storyFile - the story file's absolute path; Vite renews the module when it changes, as the id names it.
101
- */
102
- const codeModule = (storyFile) => {
103
- const code = storyCode(storyFile, readFileSync(storyFile, "utf8"));
104
- const value = typeof code === "string"
105
- ? { error: code }
106
- : Object.fromEntries(Object.entries(code).map(([name, text]) => [name, { text, html: highlightCode(text, "tsx") }]));
107
- return { code: `export default ${JSON.stringify(value)};`, moduleType: "js" };
108
81
  };
109
- /**
110
- * The file of a story file's component, from the meta's import, resolved as the app resolves it.
111
- *
112
- * @param storyFile - the story file's absolute path.
113
- * @param resolve - resolves an import of the story file to its file; none when it does not resolve.
114
- * @returns the component's file, or none when the meta names no imported component.
115
- */
116
- const componentFileOf = async (storyFile, resolve) => {
117
- const specifier = componentImport(storyFile, readFileSync(storyFile, "utf8"));
118
- return specifier === undefined ? undefined : resolve(specifier);
119
- };
120
- /**
121
- * The module that answers a `?forgebook-page` import: the component's documentation file as HTML (empty without
122
- * one), and its file's summary, the first paragraph of its `@module` comment, for the page's lead.
123
- *
124
- * @remarks
125
- * The summary is read here, from the component's file alone, rather than with the docs: the docs wait for the
126
- * package's TypeScript program, and the lead would come seconds after the rest of the page.
127
- *
128
- * @param storyFile - the story file's absolute path.
129
- * @param componentFile - the component's file, as the story file's import resolves; none when it names none.
130
- * @param watch - adds a file whose edit renews the module (the documentation file, the component's file).
131
- */
132
- const pageModule = (storyFile, componentFile, watch) => {
133
- const page = componentPage(storyFile);
134
- if (page !== undefined)
135
- watch(page.file);
136
- if (componentFile !== undefined)
137
- watch(componentFile);
138
- const summary = componentFile === undefined
139
- ? ""
140
- : moduleSummaryOf(ts.createSourceFile(componentFile, readFileSync(componentFile, "utf8"), ts.ScriptTarget.Latest, true));
141
- const value = { html: page?.html ?? "", summary };
142
- return { code: `export default ${JSON.stringify(value)};`, moduleType: "js" };
143
- };
144
- /**
145
- * The module that answers a `?forgebook-markdown` import: a source's Markdown file (its introduction) as HTML.
146
- *
147
- * @param file - the Markdown file's absolute path.
148
- * @param watch - adds a file whose edit renews the module (the Markdown file).
149
- */
150
- const markdownModule = (file, watch) => {
151
- watch(file);
152
- const value = { html: markdownHtml(readFileSync(file, "utf8")) };
153
- return { code: `export default ${JSON.stringify(value)};`, moduleType: "js" };
154
- };
155
- /**
156
- * The id of a `?forgebook-files` module: its prefix, then its group (`storyFilesGroupText`), which holds no `..`.
157
- *
158
- * @param folder - the importing module's folder.
159
- * @param pattern - the pattern as the import writes it.
160
- */
161
- const filesId = (folder, pattern) => `${FILES_PREFIX}${storyFilesGroupText(folder, pattern)}`;
162
- /**
163
- * The module of a `?forgebook-files` pattern: every matched story file's index and loaders.
164
- *
165
- * @param id - the module's id (`FILES_PREFIX`, then the group: `storyFilesGroupText`).
166
- * @param watch - adds a file whose edit renews the module (each story file).
167
- * @param warm - builds the program that holds a story file, so the package's docs are ready before a page asks.
168
- * @param hasUsage - whether the group offers its "Used in" loader.
169
- * @throws when a story file cannot be indexed.
170
- */
171
- const patternModule = (id, watch, warm, hasUsage) => {
172
- const { root, pattern } = storyFilesGroupOf(id.slice(FILES_PREFIX.length));
173
- let first;
174
- const code = storyFilesModule(root, pattern, (file) => {
175
- first ??= file;
176
- watch(file);
177
- }, hasUsage);
178
- if (first !== undefined)
179
- warm(first);
180
- return { code, moduleType: "js" };
181
- };
182
- /** The resolved id of a group's "Used in" module: Rollup's mark of a virtual module, then its import's specifier. */
183
- const USAGE_ID_PREFIX = `\0${USAGE_PREFIX}`;
184
- /**
185
- * The id of a virtual module the plugin makes (the configuration's data, a group's "Used in"), when the import names
186
- * one.
187
- *
188
- * @param source - the import's specifier.
189
- */
190
- const virtualId = (source) => {
191
- if (source === CONFIG_MODULE)
192
- return CONFIG_ID;
193
- return source.startsWith(USAGE_PREFIX) ? `\0${source}` : undefined;
194
- };
195
- /**
196
- * A group's "Used in" module: its story files indexed, what their stories render read in the docs worker, joined.
197
- *
198
- * @param id - the module's id (`USAGE_ID_PREFIX`, then the group: `storyFilesGroupText`).
199
- * @param watch - adds a file whose edit renews the module (each story file).
200
- * @param usage - reads the facts in the docs worker.
201
- */
202
- const usageModule = async (id, watch, usage) => {
203
- const { root, pattern } = storyFilesGroupOf(id.slice(USAGE_ID_PREFIX.length));
204
- const files = indexedStoryFiles(root, pattern, watch);
205
- const graph = await usage(files.map((file) => ({
206
- storyFile: file.file,
207
- exports: file.index.stories.map((story) => story.exportName)
208
- })));
209
- const answer = typeof graph === "string"
210
- ? { error: graph }
211
- : joinedUsage(graph, files.map((file) => ({
212
- storyFile: file.file,
213
- title: file.index.title,
214
- related: file.index.related ?? []
215
- })));
216
- return { code: `export default ${JSON.stringify(answer)};`, moduleType: "js" };
217
- };
218
- /** The resolved id of the configuration's data module. */
219
- const CONFIG_ID = `\0${CONFIG_MODULE}`;
220
82
  /**
221
83
  * The page a request names, when it names one: `/` is the shell's.
222
84
  *
@@ -228,39 +90,29 @@ const requestedPage = (url) => {
228
90
  return PAGE_FILES.find((page) => page === name);
229
91
  };
230
92
  /**
231
- * A module the plugin answers from a file's text alone, when the id asks for one: a story file's code, or a Markdown
232
- * file as HTML.
93
+ * A docs pages' module, when the id is a pattern's, a page's or the written home's. The Markdown reader loads with the
94
+ * first: a catalogue may have no docs pages, and a story's page reads none.
233
95
  *
234
96
  * @param id - the module's id.
235
97
  * @param watch - adds a file whose edit renews the module.
98
+ * @param isServing - whether a dev server runs.
99
+ * @param plugins - the catalogue's plugins, whose fences a page may draw.
100
+ * @param isKept - whether a page its group lists may be read.
236
101
  */
237
- const textModule = (id, watch) => {
238
- if (id.endsWith(CODE_QUERY))
239
- return codeModule(id.slice(0, -CODE_QUERY.length));
240
- if (id.endsWith(MARKDOWN_QUERY))
241
- return markdownModule(id.slice(0, -MARKDOWN_QUERY.length), watch);
242
- return undefined;
243
- };
244
- /**
245
- * A module the plugin generates for a catalogue's pages, when the id names one: the configuration's data, an entry,
246
- * the project's own stories' source, or a page's HTML (unless the folder has one of its own).
247
- *
248
- * @param id - the module's id.
249
- * @param config - the catalogue's configuration.
250
- */
251
- const generatedModule = (id, config) => {
252
- if (id === CONFIG_ID)
253
- return { code: configModule(config), moduleType: "js" };
254
- if (id === join(config.dir, PAGE_ENTRIES["index.html"]))
255
- return { code: shellEntry(config), moduleType: "js" };
256
- if (id === join(config.dir, PAGE_ENTRIES["frame.html"]))
257
- return { code: frameEntry(config), moduleType: "js" };
258
- if (id === join(config.dir, STORIES_SOURCE_FILE))
259
- return { code: storiesSourceModule(config), moduleType: "js" };
260
- if (id === join(config.dir, AGENT_SOURCES_FILE))
261
- return { code: agentSourcesModule(config), moduleType: "js" };
262
- const page = PAGE_FILES.find((candidate) => id === join(config.dir, candidate));
263
- return page !== undefined && !existsSync(id) ? pageHtml(page, config) : undefined;
102
+ const docsModuleOf = async (id, watch, isServing, plugins, isKept) => {
103
+ const isHome = id.endsWith(HOME_QUERY);
104
+ const isPage = id.endsWith(DOCS_PAGE_QUERY);
105
+ if (!isHome && !isPage && !id.startsWith(DOCS_PAGES_PREFIX))
106
+ return undefined;
107
+ const { docPageModule, docPagesModule, homeModule } = await import("./docPagesModule.js");
108
+ if (isHome)
109
+ return { code: homeModule(id.slice(0, -HOME_QUERY.length), watch, isServing, plugins), moduleType: "js" };
110
+ if (isPage) {
111
+ const file = id.slice(0, -DOCS_PAGE_QUERY.length);
112
+ return { code: docPageModule(file, watch, isServing, plugins), moduleType: "js" };
113
+ }
114
+ const { root, patterns } = storyFilesGroupOf(id.slice(DOCS_PAGES_PREFIX.length));
115
+ return { code: docPagesModule(root, patterns, watch, isServing, plugins, isKept), moduleType: "js" };
264
116
  };
265
117
  /**
266
118
  * The catalogue's Vite plugin: the story index, the docs, the code and the Markdown of the stories, the forced-states
@@ -271,61 +123,169 @@ const generatedModule = (id, config) => {
271
123
  * @returns the plugin, for the app's `plugins`.
272
124
  */
273
125
  export const forgebookPlugin = (options = {}) => {
274
- /** The modules of the patterns, renewed when a story file is added or removed. */
275
- const filesModules = new Set();
126
+ /**
127
+ * The modules of the groups of story files, with the files each listed when served (none while it could not be
128
+ * made), renewed when a story file is added to or removed from what one lists.
129
+ */
130
+ const filesModules = new Map();
131
+ // what each pattern's module was served with: an edit of a story file that changes its list reloads the pages
132
+ const served = servedPatterns();
276
133
  /** The groups' "Used in" modules, renewed when a source file changes: any edit may change what reaches what. */
277
134
  const usageModules = new Set();
135
+ /** The docs pages' modules, renewed when a Markdown file is added or removed. */
136
+ const docsModules = new Set();
137
+ /** The groups' search indexes: any edit may change what a component's docs say. */
138
+ const searchModules = new Set();
139
+ /** What a client may read of a dev server. */
140
+ const access = devServerAccess(invalidateEverywhere);
278
141
  /** The errors the open frames report, for `forgebook errors` and the agents. */
279
142
  const live = createLiveErrors();
143
+ /** Where the frames run: the dev server's second port once it listens, the configuration's choice in a build. */
144
+ let framesPlacement = async () => config === undefined ? SAME_ORIGIN : builtPlacement(config.frames);
280
145
  let config = options.config;
146
+ /**
147
+ * A module the plugin generates for the catalogue's pages: the configuration's data, once the frames are placed, or
148
+ * one `generatedModule` makes; none without a configuration or for another id.
149
+ *
150
+ * @param id - the module's id.
151
+ */
152
+ const pagesModule = async (id) => {
153
+ if (config === undefined)
154
+ return undefined;
155
+ if (id === CONFIG_ID)
156
+ return { code: configModule(config, await framesPlacement()), moduleType: "js" };
157
+ return generatedModule(id, config, command);
158
+ };
159
+ /** The files followed one by one, so an edit reaches the dev server at once. */
160
+ const watching = currentCloseWatch();
161
+ /** Whether a dev server runs, or a build: tools ask only the former. */
162
+ let command = "serve";
163
+ const isServing = () => command === "serve";
164
+ // the search's indexes, a build reading each component's docs once for its page and its index
165
+ const search = searchIndexes({
166
+ extract: (storyFile) => extractor().extract(storyFile),
167
+ isServing,
168
+ track: (id, isPages) => (isPages ? docsModules : searchModules).add(id),
169
+ isKept: access.isKept
170
+ });
171
+ // a build's docs, code and pages of each group's story files, read while the build loads the stories
172
+ const texts = groupTexts();
173
+ // whether an edited story file is drawn anew in its open frames: a dev server's, unless the framework cannot
174
+ const isRedrawing = () => isServing() && (config?.framework ?? options.framework)?.redrawsEditedStories !== false;
175
+ /**
176
+ * Whether the server runs tests (Vitest's mode): no person waits for a page, so no docs program is warmed. A worker
177
+ * still loading TypeScript when the tests end is stopped by Node mid-parse, which aborts the process.
178
+ */
179
+ let isTestRun = false;
180
+ /** Where answers are kept between starts (`diskCache.ts`): in Vite's cache folder, so what clears it clears them. */
181
+ let cacheFolder;
182
+ /** The stamp of the plugin's own code, which makes the kept indexes and code: another version is a miss. */
183
+ let pluginCode;
184
+ const keptCache = (kind, isValue) => {
185
+ if (cacheFolder === undefined)
186
+ return undefined;
187
+ // the plugin's own folder holds the code that makes them, with the parser and the highlighter it reads with: an
188
+ // edit or another version of any is a miss; a stamp that cannot be read keeps nothing
189
+ try {
190
+ const resolvePackage = packageResolver(PACKAGE_DIR);
191
+ const tools = ["vite", "typescript-6", "highlight.js"].flatMap((name) => resolvePackage(name) ?? []);
192
+ pluginCode ??= codeStamp([PACKAGE_DIR], tools);
193
+ }
194
+ catch {
195
+ return undefined;
196
+ }
197
+ return diskCache(join(cacheFolder, kind), pluginCode, isValue);
198
+ };
199
+ const indexCache = () => keptCache("index", isKeptIndex);
281
200
  // the docs are read in a worker, made once the framework is known: a package's TypeScript program takes seconds to
282
201
  // build and would hold every other answer of the dev server meanwhile
283
202
  let docs;
284
203
  const extractor = () => {
204
+ // a catalogue that reads no component docs never starts the worker: its programs are most of the server's memory
205
+ if (config !== undefined && !readsComponentDocs(config.lists))
206
+ return NO_DOCS_EXTRACTOR;
285
207
  const framework = config?.framework ?? options.framework;
286
208
  if (framework === undefined)
287
209
  throw new Error("Forgebook has no framework: add forgebook.config.ts, or give the plugin `framework`");
288
- docs ??= createDocsExtractor(framework.docsModule);
210
+ // a build reads every story's docs, a dev server one component at a time
211
+ docs ??= createDocsExtractor(framework.docsModule, {
212
+ readsEverything: !isServing(),
213
+ ...(cacheFolder === undefined ? {} : { cacheFolder })
214
+ });
289
215
  return docs;
290
216
  };
291
217
  /**
292
- * Renews what an edited source file may change: the docs' programs, and every group's "Used in".
218
+ * Renews what an edited source file may change: the docs' programs, and every group's "Used in" and search index.
293
219
  *
294
220
  * @param server - the dev server.
295
221
  * @param file - the edited file.
296
222
  */
297
223
  const renewOnChange = (server, file) => {
298
- if (!SOURCE_FILE.test(file))
224
+ const componentFiles = (config?.framework ?? options.framework)?.componentFiles;
225
+ if (!SOURCE_FILE.test(file) && componentFiles?.extension !== extname(file))
299
226
  return;
300
227
  docs?.changed();
301
- const graph = server.environments.client.moduleGraph;
302
- for (const id of usageModules) {
303
- const module = graph.getModuleById(id);
304
- if (module !== undefined)
305
- graph.invalidateModule(module);
306
- }
228
+ invalidateEverywhere(server, [...usageModules, ...searchModules]);
307
229
  };
308
230
  /**
309
- * A pattern's module or a group's "Used in" module, when the id is one.
231
+ * A pattern's module, or a group's "Used in" or reach module, when the id is one.
310
232
  *
311
233
  * @param id - the module's id.
312
234
  * @param watch - adds a file whose edit renews the module.
235
+ * @param pack - writes a module's JSON as its value: as it is, or kept out of a build's JavaScript.
236
+ * @param startTexts - a build's browser files': starts reading a pattern's docs, code and pages, which its module
237
+ * imports from the group's texts module; none imports each from its query.
313
238
  * @throws when a story file cannot be indexed.
314
239
  */
315
- const storiesModule = async (id, watch) => {
240
+ const storiesModule = async (id, watch, pack, startTexts) => {
316
241
  if (id.startsWith(USAGE_ID_PREFIX)) {
317
242
  usageModules.add(id);
318
- return usageModule(id, watch, extractor().usage);
243
+ return usageModule(id, watch, extractor().usage, indexCache(), pack, access.isKept);
244
+ }
245
+ // what each story reaches is for the dev server's tools only: a build ships none of it
246
+ if (id.startsWith(REACH_ID_PREFIX)) {
247
+ usageModules.add(id);
248
+ return isServing()
249
+ ? reachModule(id, watch, extractor().usage, indexCache(), access.isKept)
250
+ : { code: "export default [];", moduleType: "js" };
319
251
  }
320
252
  if (!id.startsWith(FILES_PREFIX))
321
253
  return undefined;
322
- filesModules.add(id);
323
- return patternModule(id, watch, extractor().warm, config?.lists.usedIn !== false);
254
+ filesModules.set(id, undefined);
255
+ const lists = config?.lists ?? {};
256
+ const hasUsage = offersUsedIn(lists);
257
+ // the worker starts while Vite loads the pages, unless the disk keeps the docs; a test run asks for no page
258
+ const { files, code } = patternModule(id, watch, { hasDocs: readsComponentDocs(lists), hasUsage, hasReach: hasUsage && isServing() }, indexCache(), isTestRun ? undefined : extractor().warm, startTexts, access.isKept);
259
+ filesModules.set(id, new Set(files.map((file) => file.file)));
260
+ if (!isRedrawing())
261
+ return { code, moduleType: "js" };
262
+ served.keep(id, files);
263
+ return { code: `${code}\n${FILES_MODULE_HOT}`, moduleType: "js" };
264
+ };
265
+ /**
266
+ * Tells the docs a source file was added or removed: it may be what an import now finds, so no kept docs are read
267
+ * again this session.
268
+ *
269
+ * @param file - the file.
270
+ */
271
+ const noteListing = (file) => {
272
+ const framework = config?.framework ?? options.framework;
273
+ if (framework === undefined)
274
+ return;
275
+ if (SOURCE_FILE.test(file) || framework.componentFiles?.extension === extname(file))
276
+ extractor().listed();
277
+ };
278
+ /**
279
+ * The modules a file added or removed changes; none when it changes no list.
280
+ *
281
+ * @param file - the file.
282
+ */
283
+ const modulesListing = (file) => {
284
+ // the groups' modules list the story files, their "Used in" and search indexes read them
285
+ if (STORY_FILE.test(file))
286
+ return listingRenewals(filesModules, file, [...usageModules, ...searchModules], access.isKept);
287
+ return DOCS_PAGE_FILE.test(file) && docsModules.size > 0 ? [...docsModules] : undefined;
324
288
  };
325
- const pagePath = (page) => config === undefined ? undefined : join(config.dir, page);
326
- const entryPath = (page) => config === undefined ? undefined : join(config.dir, PAGE_ENTRIES[page]);
327
- const storiesSource = () => config === undefined ? undefined : join(config.dir, STORIES_SOURCE_FILE);
328
- const agentSources = () => config === undefined ? undefined : join(config.dir, AGENT_SOURCES_FILE);
329
289
  /**
330
290
  * A module a story file's query asks for (`?forgebook-docs`, `-code`, `-page`, `-markdown`), when the id is one.
331
291
  *
@@ -334,41 +294,66 @@ export const forgebookPlugin = (options = {}) => {
334
294
  * @param resolveImport - resolves an import of a file as the app resolves it.
335
295
  */
336
296
  const queryModule = async (id, watch, resolveImport) => {
337
- if (id.endsWith(DOCS_QUERY)) {
338
- return docsModule(await extractor().extract(id.slice(0, -DOCS_QUERY.length)), watch);
297
+ if (id === TOKENS_ID && config !== undefined) {
298
+ // a source's tokens are found from its module, imported as the generated pages import it
299
+ const importer = pageModulePath(config.dir, AGENT_SOURCES_FILE);
300
+ return tokensModule(config, watch, (specifier) => resolveImport(specifier, importer));
339
301
  }
340
- if (id.endsWith(PAGE_QUERY)) {
341
- const storyFile = id.slice(0, -PAGE_QUERY.length);
342
- const componentFile = await componentFileOf(storyFile, (specifier) => resolveImport(specifier, storyFile));
343
- return pageModule(storyFile, componentFile, watch);
302
+ if (id.endsWith(DOCS_QUERY)) {
303
+ return docsModule(await search.docsOf(id.slice(0, -DOCS_QUERY.length)), watch);
344
304
  }
345
- return textModule(id, watch);
305
+ if (id.startsWith(DOCS_PAGES_PREFIX))
306
+ docsModules.add(id);
307
+ const docsPages = await docsModuleOf(id, watch, isServing(), config?.plugins ?? [], access.isKept);
308
+ if (docsPages !== undefined)
309
+ return docsPages;
310
+ if (!TEXT_QUERIES.some((query) => id.endsWith(query)))
311
+ return undefined;
312
+ // loaded on the first of these queries: the highlighter, the Markdown reader and what they need stay out of a
313
+ // server whose pages never ask
314
+ const { isKeptCode, textModule } = await import("./textModules.js");
315
+ const componentFiles = (config?.framework ?? options.framework)?.componentFiles;
316
+ return textModule(id, { watch, resolveImport, componentFiles, cache: keptCache("code", isKeptCode) });
317
+ };
318
+ /**
319
+ * A group's module (a pattern's, its search index, its "Used in", a build's texts), when the id names one.
320
+ *
321
+ * @param id - the module's id.
322
+ * @param watch - adds a file whose edit renews the module.
323
+ * @param resolveImport - resolves an import of a file as the app resolves it.
324
+ * @param emit - a build's browser files': writes a packed file; none keeps the JSON in the modules.
325
+ * @throws when a story file cannot be indexed.
326
+ */
327
+ const groupModule = async (id, watch, resolveImport, emit) => {
328
+ const pack = emit === undefined ? inlineJson : packedJsonOf(emit);
329
+ const componentFiles = (config?.framework ?? options.framework)?.componentFiles;
330
+ const docsOf = async (storyFile) => docsValue(await search.docsOf(storyFile), watch);
331
+ const hasDocs = config === undefined || readsComponentDocs(config.lists);
332
+ const sources = {
333
+ docsOf: hasDocs ? docsOf : undefined,
334
+ watch,
335
+ resolveImport,
336
+ componentFiles
337
+ };
338
+ // a build's browser files only: a dev server answers each text from its query, and no texts module
339
+ const startTexts = emit === undefined ? undefined : texts.starter(id, sources);
340
+ return ((emit === undefined ? undefined : await texts.moduleOf(id, sources, emit)) ??
341
+ (await search.moduleOf(id, watch, pack)) ??
342
+ (await storiesModule(id, watch, pack, startTexts)) ??
343
+ null);
346
344
  };
347
345
  return {
348
346
  name: "forgebook",
349
347
  enforce: "pre",
350
- config: async (userConfig) => {
348
+ config: async (userConfig, environment) => {
349
+ command = environment.command;
350
+ isTestRun = environment.mode === "test";
351
351
  if (config === undefined && options.framework === undefined) {
352
352
  const file = findConfigFile(resolve(userConfig.root ?? process.cwd()));
353
353
  if (file !== undefined)
354
354
  config = await loadConfigFile(file);
355
355
  }
356
- const pages = config === undefined
357
- ? {}
358
- : {
359
- root: config.dir,
360
- // the pages are generated, so Vite's scanner cannot find what they import: it is named here, and the
361
- // story files (the project's and the sources') are scanned for what their components import
362
- optimizeDeps: {
363
- include: prebundled(config, packageResolver(config.dir), packageResolver(PACKAGE_DIR)),
364
- entries: scannedEntries(config, packageResolver(config.dir), readTextFile)
365
- },
366
- build: {
367
- rolldownOptions: {
368
- input: { index: join(config.dir, "index.html"), frame: join(config.dir, "frame.html") }
369
- }
370
- }
371
- };
356
+ const pages = config === undefined ? {} : catalogueConfig(config, userConfig);
372
357
  return {
373
358
  ...pages,
374
359
  css: {
@@ -379,28 +364,46 @@ export const forgebookPlugin = (options = {}) => {
379
364
  };
380
365
  },
381
366
  resolveId(source, importer) {
367
+ const isModule = access.isModule(importer);
382
368
  const virtual = virtualId(source);
383
- if (virtual !== undefined)
369
+ if (virtual !== undefined) {
370
+ if (isModule)
371
+ access.noteImported(virtual);
384
372
  return virtual;
385
- const entry = PAGE_FILES.find((page) => source === `/${PAGE_ENTRIES[page]}` || source === entryPath(page));
386
- if (entry !== undefined)
387
- return entryPath(entry) ?? null;
388
- if (source === storiesSource() || source === agentSources())
389
- return source;
390
- const page = PAGE_FILES.find((candidate) => source === pagePath(candidate) || source === `/${candidate}`);
391
- if (page !== undefined)
392
- return pagePath(page) ?? null;
393
- if (!source.endsWith(FILES_QUERY) || importer === undefined)
373
+ }
374
+ const generated = config === undefined ? undefined : generatedId(source, config.dir);
375
+ if (generated !== undefined)
376
+ return generated;
377
+ if (!access.isModule(importer))
394
378
  return null;
395
- return filesId(dirname(importer), source.slice(0, -FILES_QUERY.length));
379
+ // the importer's file: its id may carry whatever query an address gave it
380
+ const pattern = patternId(source, VITE_PATHS.dirname(importer.split("?")[0] ?? importer));
381
+ if (pattern !== null)
382
+ access.noteImported(pattern);
383
+ return pattern;
384
+ },
385
+ // a warning and not a failure: a theme a reader can still use must not stop a catalogue from building
386
+ configResolved: (resolved) => {
387
+ // a dev server's answers only: a build reads everything once, and stamping each answer's files costs it more than
388
+ // a later build would save
389
+ if (isServing())
390
+ cacheFolder = join(resolved.cacheDir, "forgebook");
391
+ for (const problem of config?.shell.problems ?? [])
392
+ resolved.logger.warn(`Forgebook's shell theme: ${problem}`);
396
393
  },
397
394
  configureServer: (server) => {
395
+ access.serve(server);
396
+ // no person waits for a page in a test run
397
+ watching.serve(isTestRun ? undefined : server);
398
398
  server.httpServer?.on("close", () => void docs?.close());
399
+ // first: the frames' own origin, and the guard that keeps every other origin's page from reading this one
400
+ if (config !== undefined)
401
+ serveFrames(server, config, (placement) => (framesPlacement = placement), FRAMED_AGENT_PAGES);
399
402
  // an edited component or type file changes its docs: the worker renews its programs on their next read
400
403
  server.watcher.on("change", (file) => renewOnChange(server, file));
401
404
  // the answers to tools and agents (`forgebook stories`, `forgebook mcp`), from the same sources as the pages
402
405
  if (config !== undefined)
403
- server.middlewares.use(agentMiddleware(server, config, live));
406
+ server.middlewares.use(agentMiddleware(server, config, live, () => framesPlacement()));
404
407
  if (config?.heights !== undefined) {
405
408
  const file = {
406
409
  heights: config.heights,
@@ -416,12 +419,13 @@ export const forgebookPlugin = (options = {}) => {
416
419
  // the catalogue's pages, made here: no HTML file is written
417
420
  server.middlewares.use((request, response, next) => {
418
421
  const page = requestedPage(request.url ?? "/");
419
- if (config === undefined || page === undefined) {
422
+ const served = config;
423
+ if (served === undefined || page === undefined) {
420
424
  next();
421
425
  return;
422
426
  }
423
- server
424
- .transformIndexHtml(request.url ?? "/", pageHtml(page, config))
427
+ framesPlacement()
428
+ .then((placement) => server.transformIndexHtml(request.url ?? "/", pageHtml(page, served, placement)))
425
429
  .then((html) => {
426
430
  response.setHeader("Content-Type", "text/html");
427
431
  response.end(html);
@@ -429,41 +433,61 @@ export const forgebookPlugin = (options = {}) => {
429
433
  .catch(next);
430
434
  });
431
435
  // folders outside the configuration's are watched only when named; a story file added or removed anywhere the
432
- // server watches (its own folder, a story file it loaded) renews the lists either way
436
+ // server watches (its own folder, a story file it loaded) renews the lists that change either way
433
437
  const watched = [...(config?.watch ?? []), ...(options.watch ?? [])];
434
438
  if (watched.length > 0)
435
439
  server.watcher.add(watched);
436
440
  const refresh = (file) => {
437
- if (!STORY_FILE.test(file))
441
+ noteListing(file);
442
+ const renewed = modulesListing(file);
443
+ if (renewed === undefined)
438
444
  return;
439
- const graph = server.environments.client.moduleGraph;
440
- // the patterns' modules list the files; the groups' "Used in" read them
441
- for (const id of [...filesModules, ...usageModules]) {
442
- const module = graph.getModuleById(id);
443
- if (module !== undefined)
444
- graph.invalidateModule(module);
445
- }
445
+ invalidateEverywhere(server, renewed);
446
446
  server.ws.send({ type: "full-reload" });
447
447
  };
448
448
  server.watcher.on("add", refresh);
449
449
  server.watcher.on("unlink", refresh);
450
450
  },
451
+ generateBundle() {
452
+ // axe's script, for the frames' Accessibility card: loaded by the frame, never imported; the browser's build only
453
+ if (this.environment.name !== "client")
454
+ return;
455
+ // a catalogue that checks no accessibility ships none of it
456
+ const axe = config === undefined || !checksA11y(config.lists) ? undefined : axeBuildAsset(PACKAGE_DIR);
457
+ if (axe !== undefined)
458
+ this.emitFile({ type: "asset", fileName: axe.fileName, source: axe.source });
459
+ },
460
+ // a dev server without an HTTP server of its own (middleware mode) ends its close watch here only
461
+ closeServer: (context) => {
462
+ if (context.reason === "close")
463
+ watching.close();
464
+ },
451
465
  closeBundle: async () => {
452
466
  await docs?.close();
453
467
  },
468
+ ...storyFileHotHooks(isRedrawing, served.changedBy, watching),
454
469
  async load(id) {
455
- const generated = config === undefined ? undefined : generatedModule(id, config);
470
+ const generated = await pagesModule(id);
456
471
  if (generated !== undefined)
457
472
  return generated;
458
- const watch = (file) => this.addWatchFile(file);
459
- const answered = await queryModule(id, watch, async (specifier, importer) => {
473
+ // an answer, not an error: an error would raise Vite's overlay on every reader's open page
474
+ if (access.isRefused(id))
475
+ return { code: "export default null;", moduleType: "js" };
476
+ // in Vite's form, the text Vite's module graph knows a file by: a Node path on Windows (`C:\app\x.md`) is another
477
+ const watch = (file) => this.addWatchFile(VITE_PATHS.normalize(file));
478
+ const resolveImport = async (specifier, importer) => {
460
479
  const resolved = await this.resolve(specifier, importer);
461
480
  return resolved?.id;
462
- });
481
+ };
482
+ const answered = await queryModule(id, watch, resolveImport);
463
483
  if (answered !== undefined)
464
- return answered;
484
+ return renewedModule(id, answered, RENEWED_QUERIES, isServing());
485
+ // a build's browser files only: a server environment's output is no page's to fetch
486
+ const emit = isServing() || this.environment.name !== "client"
487
+ ? undefined
488
+ : (asset) => this.emitFile(asset);
465
489
  try {
466
- return (await storiesModule(id, watch)) ?? null;
490
+ return await groupModule(id, watch, resolveImport, emit);
467
491
  }
468
492
  catch (error) {
469
493
  this.error(error instanceof Error ? error.message : String(error));
@@ -471,4 +495,3 @@ export const forgebookPlugin = (options = {}) => {
471
495
  }
472
496
  };
473
497
  };
474
- //# sourceMappingURL=forgebookPlugin.js.map