forgebook 0.1.8 → 0.2.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 (1124) hide show
  1. package/README.md +875 -23
  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 +161 -40
  6. package/dist/bin/forgebook/agentText.d.ts +74 -3
  7. package/dist/bin/forgebook/agentText.js +192 -8
  8. package/dist/bin/forgebook/agents.md +141 -7
  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 +23 -11
  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/audiences.d.ts +17 -0
  114. package/dist/src/audiences.js +15 -0
  115. package/dist/src/backdrops.d.ts +39 -40
  116. package/dist/src/backdrops.js +37 -174
  117. package/dist/src/catalogue.d.ts +56 -20
  118. package/dist/src/catalogue.js +33 -14
  119. package/dist/src/codeLiteral.d.ts +41 -0
  120. package/dist/src/codeLiteral.js +51 -0
  121. package/dist/src/componentDocs.d.ts +57 -1
  122. package/dist/src/componentDocs.js +20 -3
  123. package/dist/src/controlKeys.d.ts +0 -1
  124. package/dist/src/controlKeys.js +0 -1
  125. package/dist/src/deviceDrawing.d.ts +114 -0
  126. package/dist/src/deviceDrawing.js +358 -0
  127. package/dist/src/deviceMenuView.d.ts +17 -0
  128. package/dist/src/deviceMenuView.js +22 -0
  129. package/dist/src/devicePicture.d.ts +57 -0
  130. package/dist/src/devicePicture.js +104 -0
  131. package/dist/src/deviceView.d.ts +172 -0
  132. package/dist/src/deviceView.js +111 -0
  133. package/dist/src/devices.d.ts +115 -0
  134. package/dist/src/devices.js +135 -0
  135. package/dist/src/docAnchors.d.ts +27 -0
  136. package/dist/src/docAnchors.js +33 -0
  137. package/dist/src/docPages.d.ts +203 -0
  138. package/dist/src/docPages.js +169 -0
  139. package/dist/src/embed.d.ts +32 -0
  140. package/dist/src/embed.js +24 -0
  141. package/dist/src/embedCode.d.ts +31 -0
  142. package/dist/src/embedCode.js +88 -0
  143. package/dist/src/frame/backdropPictures.d.ts +29 -0
  144. package/dist/src/frame/backdropPictures.js +187 -0
  145. package/dist/src/frame/checkStory.d.ts +6 -3
  146. package/dist/src/frame/checkStory.js +76 -5
  147. package/dist/src/frame/followTouch.d.ts +9 -0
  148. package/dist/src/frame/followTouch.js +43 -0
  149. package/dist/src/frame/frame.css +8 -3
  150. package/dist/src/frame/frameClock.d.ts +0 -1
  151. package/dist/src/frame/frameClock.js +0 -1
  152. package/dist/src/frame/frameStatus.d.ts +2 -1
  153. package/dist/src/frame/frameStatus.js +2 -1
  154. package/dist/src/frame/frameView.d.ts +0 -1
  155. package/dist/src/frame/frameView.js +1 -2
  156. package/dist/src/frame/matrixLayout.d.ts +0 -1
  157. package/dist/src/frame/matrixLayout.js +0 -1
  158. package/dist/src/frame/measureTools.d.ts +0 -1
  159. package/dist/src/frame/measureTools.js +0 -1
  160. package/dist/src/frame/mountFrame.d.ts +10 -3
  161. package/dist/src/frame/mountFrame.js +162 -63
  162. package/dist/src/frame/playStory.d.ts +0 -1
  163. package/dist/src/frame/playStory.js +0 -1
  164. package/dist/src/frame/pluginFrames.d.ts +31 -0
  165. package/dist/src/frame/pluginFrames.js +23 -0
  166. package/dist/src/frame/renderer.d.ts +50 -12
  167. package/dist/src/frame/renderer.js +27 -6
  168. package/dist/src/frame/settle.d.ts +0 -1
  169. package/dist/src/frame/settle.js +0 -1
  170. package/dist/src/frame/shellChannel.d.ts +47 -0
  171. package/dist/src/frame/shellChannel.js +39 -0
  172. package/dist/src/frame/spillOutline.d.ts +0 -1
  173. package/dist/src/frame/spillOutline.js +0 -1
  174. package/dist/src/frame/staleModule.d.ts +14 -2
  175. package/dist/src/frame/staleModule.js +19 -2
  176. package/dist/src/frame/storyCanvas.d.ts +0 -1
  177. package/dist/src/frame/storyCanvas.js +0 -1
  178. package/dist/src/frame/storyHooks.d.ts +0 -1
  179. package/dist/src/frame/storyHooks.js +0 -1
  180. package/dist/src/frame/storyModule.d.ts +13 -2
  181. package/dist/src/frame/storyModule.js +45 -3
  182. package/dist/src/frame/storyRun.d.ts +21 -4
  183. package/dist/src/frame/storyRun.js +100 -19
  184. package/dist/src/frame/touchDots.d.ts +0 -1
  185. package/dist/src/frame/touchDots.js +0 -1
  186. package/dist/src/frame/touchEvents.d.ts +0 -1
  187. package/dist/src/frame/touchEvents.js +0 -1
  188. package/dist/src/frame/touchGesture.d.ts +0 -1
  189. package/dist/src/frame/touchGesture.js +0 -1
  190. package/dist/src/frame/touchLayer.d.ts +3 -3
  191. package/dist/src/frame/touchLayer.js +4 -30
  192. package/dist/src/frame/touchScroll.d.ts +0 -1
  193. package/dist/src/frame/touchScroll.js +0 -1
  194. package/dist/src/frameOrigins.d.ts +62 -0
  195. package/dist/src/frameOrigins.js +49 -0
  196. package/dist/src/hotModules.d.ts +48 -0
  197. package/dist/src/hotModules.js +53 -0
  198. package/dist/src/jsxCode.d.ts +22 -0
  199. package/dist/src/jsxCode.js +36 -0
  200. package/dist/src/languages.d.ts +0 -1
  201. package/dist/src/languages.js +0 -1
  202. package/dist/src/liveErrors.d.ts +0 -1
  203. package/dist/src/liveErrors.js +0 -1
  204. package/dist/src/matrix.d.ts +0 -1
  205. package/dist/src/matrix.js +0 -1
  206. package/dist/src/messages.d.ts +28 -2
  207. package/dist/src/messages.js +24 -3
  208. package/dist/src/namedValues.d.ts +11 -1
  209. package/dist/src/namedValues.js +25 -2
  210. package/dist/src/namedViews.d.ts +1 -13
  211. package/dist/src/namedViews.js +30 -7
  212. package/dist/src/packedText.d.ts +21 -0
  213. package/dist/src/packedText.js +36 -0
  214. package/dist/src/pageAddress.d.ts +26 -0
  215. package/dist/src/pageAddress.js +39 -0
  216. package/dist/src/pageConfig.d.ts +3 -1
  217. package/dist/src/pageConfig.js +0 -1
  218. package/dist/src/pageTree.d.ts +79 -0
  219. package/dist/src/pageTree.js +108 -0
  220. package/dist/src/playTrace.d.ts +0 -1
  221. package/dist/src/playTrace.js +0 -1
  222. package/dist/src/plugin.d.ts +230 -0
  223. package/dist/src/plugin.js +12 -0
  224. package/dist/src/pluginReact.d.ts +23 -0
  225. package/dist/src/pluginReact.js +24 -0
  226. package/dist/src/previewRelay.d.ts +40 -0
  227. package/dist/src/previewRelay.js +69 -0
  228. package/dist/src/previewTexts.d.ts +26 -0
  229. package/dist/src/previewTexts.js +33 -0
  230. package/dist/src/previewView.d.ts +31 -0
  231. package/dist/src/previewView.js +264 -0
  232. package/dist/src/propGroups.d.ts +46 -0
  233. package/dist/src/propGroups.js +59 -0
  234. package/dist/src/realTouch.d.ts +1 -2
  235. package/dist/src/realTouch.js +1 -2
  236. package/dist/src/safeAreaParameter.d.ts +42 -0
  237. package/dist/src/safeAreaParameter.js +50 -0
  238. package/dist/src/search.d.ts +154 -0
  239. package/dist/src/search.js +265 -0
  240. package/dist/src/searchIndex.d.ts +61 -0
  241. package/dist/src/searchIndex.js +55 -0
  242. package/dist/src/searchMarks.d.ts +29 -0
  243. package/dist/src/searchMarks.js +165 -0
  244. package/dist/src/searchMatch.d.ts +58 -0
  245. package/dist/src/searchMatch.js +127 -0
  246. package/dist/src/shell/A11yTab.d.ts +0 -7
  247. package/dist/src/shell/A11yTab.js +4 -15
  248. package/dist/src/shell/AnchorScroll.d.ts +25 -0
  249. package/dist/src/shell/AnchorScroll.js +10 -0
  250. package/dist/src/shell/ApiReference.d.ts +11 -4
  251. package/dist/src/shell/ApiReference.js +73 -19
  252. package/dist/src/shell/AppearanceMenu.d.ts +1 -2
  253. package/dist/src/shell/AppearanceMenu.js +8 -5
  254. package/dist/src/shell/AudienceSections.d.ts +106 -0
  255. package/dist/src/shell/AudienceSections.js +154 -0
  256. package/dist/src/shell/AuthoredHome.d.ts +37 -0
  257. package/dist/src/shell/AuthoredHome.js +96 -0
  258. package/dist/src/shell/BoxWidth.d.ts +0 -1
  259. package/dist/src/shell/BoxWidth.js +0 -1
  260. package/dist/src/shell/ClockBar.d.ts +19 -0
  261. package/dist/src/shell/ClockBar.js +15 -0
  262. package/dist/src/shell/ClockControls.d.ts +5 -9
  263. package/dist/src/shell/ClockControls.js +13 -16
  264. package/dist/src/shell/Code.d.ts +0 -1
  265. package/dist/src/shell/Code.js +0 -1
  266. package/dist/src/shell/CodeTab.d.ts +0 -1
  267. package/dist/src/shell/CodeTab.js +2 -2
  268. package/dist/src/shell/CodeText.d.ts +0 -1
  269. package/dist/src/shell/CodeText.js +0 -1
  270. package/dist/src/shell/CompareGrid.d.ts +37 -0
  271. package/dist/src/shell/CompareGrid.js +24 -0
  272. package/dist/src/shell/ComponentPage.d.ts +45 -7
  273. package/dist/src/shell/ComponentPage.js +105 -49
  274. package/dist/src/shell/ControlKeyField.d.ts +0 -1
  275. package/dist/src/shell/ControlKeyField.js +3 -4
  276. package/dist/src/shell/ControlRow.d.ts +4 -4
  277. package/dist/src/shell/ControlRow.js +5 -5
  278. package/dist/src/shell/DeviceControl.d.ts +31 -0
  279. package/dist/src/shell/DeviceControl.js +33 -0
  280. package/dist/src/shell/DeviceSlot.d.ts +114 -0
  281. package/dist/src/shell/DeviceSlot.js +134 -0
  282. package/dist/src/shell/DocBlocks.d.ts +100 -0
  283. package/dist/src/shell/DocBlocks.js +206 -0
  284. package/dist/src/shell/DocContainers.d.ts +70 -0
  285. package/dist/src/shell/DocContainers.js +94 -0
  286. package/dist/src/shell/DocContents.d.ts +29 -0
  287. package/dist/src/shell/DocContents.js +88 -0
  288. package/dist/src/shell/DocPage.d.ts +69 -0
  289. package/dist/src/shell/DocPage.js +141 -0
  290. package/dist/src/shell/Dock.d.ts +1 -2
  291. package/dist/src/shell/Dock.js +1 -2
  292. package/dist/src/shell/DroppedArgsList.d.ts +26 -0
  293. package/dist/src/shell/DroppedArgsList.js +8 -0
  294. package/dist/src/shell/DroppedArgsNote.d.ts +14 -0
  295. package/dist/src/shell/DroppedArgsNote.js +10 -0
  296. package/dist/src/shell/EmbedButton.d.ts +19 -0
  297. package/dist/src/shell/EmbedButton.js +96 -0
  298. package/dist/src/shell/EmbedPage.d.ts +23 -0
  299. package/dist/src/shell/EmbedPage.js +168 -0
  300. package/dist/src/shell/EmbedPanel.d.ts +25 -0
  301. package/dist/src/shell/EmbedPanel.js +46 -0
  302. package/dist/src/shell/EventsTab.d.ts +0 -1
  303. package/dist/src/shell/EventsTab.js +2 -3
  304. package/dist/src/shell/Example.d.ts +20 -2
  305. package/dist/src/shell/Example.js +75 -22
  306. package/dist/src/shell/FrameView.d.ts +1 -2
  307. package/dist/src/shell/FrameView.js +4 -4
  308. package/dist/src/shell/HomePage.d.ts +78 -4
  309. package/dist/src/shell/HomePage.js +53 -14
  310. package/dist/src/shell/HomePieces.d.ts +40 -0
  311. package/dist/src/shell/HomePieces.js +29 -0
  312. package/dist/src/shell/InfoTip.d.ts +0 -1
  313. package/dist/src/shell/InfoTip.js +0 -1
  314. package/dist/src/shell/InteractionsTab.d.ts +0 -7
  315. package/dist/src/shell/InteractionsTab.js +3 -9
  316. package/dist/src/shell/LazyHost.d.ts +16 -0
  317. package/dist/src/shell/LazyHost.js +42 -0
  318. package/dist/src/shell/LazyPage.d.ts +24 -0
  319. package/dist/src/shell/LazyPage.js +9 -0
  320. package/dist/src/shell/LogicMark.d.ts +0 -1
  321. package/dist/src/shell/LogicMark.js +0 -1
  322. package/dist/src/shell/MatrixPicker.d.ts +0 -1
  323. package/dist/src/shell/MatrixPicker.js +0 -1
  324. package/dist/src/shell/NamedViews.d.ts +0 -1
  325. package/dist/src/shell/NamedViews.js +4 -5
  326. package/dist/src/shell/PackageHtml.d.ts +0 -1
  327. package/dist/src/shell/PackageHtml.js +0 -1
  328. package/dist/src/shell/PartsTab.d.ts +0 -7
  329. package/dist/src/shell/PartsTab.js +3 -13
  330. package/dist/src/shell/PinnedControl.d.ts +0 -1
  331. package/dist/src/shell/PinnedControl.js +2 -2
  332. package/dist/src/shell/PluginBlockHost.d.ts +46 -0
  333. package/dist/src/shell/PluginBlockHost.js +39 -0
  334. package/dist/src/shell/PluginTabHost.d.ts +32 -0
  335. package/dist/src/shell/PluginTabHost.js +25 -0
  336. package/dist/src/shell/PluginViewHost.d.ts +37 -0
  337. package/dist/src/shell/PluginViewHost.js +89 -0
  338. package/dist/src/shell/PropFields.d.ts +0 -1
  339. package/dist/src/shell/PropFields.js +0 -1
  340. package/dist/src/shell/PropsTab.d.ts +11 -2
  341. package/dist/src/shell/PropsTab.js +31 -5
  342. package/dist/src/shell/SearchPanel.d.ts +63 -0
  343. package/dist/src/shell/SearchPanel.js +209 -0
  344. package/dist/src/shell/Segmented.d.ts +0 -1
  345. package/dist/src/shell/Segmented.js +0 -1
  346. package/dist/src/shell/Shell.d.ts +34 -6
  347. package/dist/src/shell/Shell.js +271 -70
  348. package/dist/src/shell/Sidebar.d.ts +20 -5
  349. package/dist/src/shell/Sidebar.js +23 -56
  350. package/dist/src/shell/SidebarDocs.d.ts +38 -0
  351. package/dist/src/shell/SidebarDocs.js +30 -0
  352. package/dist/src/shell/SidebarEntries.d.ts +9 -1
  353. package/dist/src/shell/SidebarEntries.js +1 -2
  354. package/dist/src/shell/SidebarHandle.d.ts +0 -1
  355. package/dist/src/shell/SidebarHandle.js +0 -1
  356. package/dist/src/shell/SidebarSearch.d.ts +40 -0
  357. package/dist/src/shell/SidebarSearch.js +85 -0
  358. package/dist/src/shell/SignatureReference.d.ts +0 -1
  359. package/dist/src/shell/SignatureReference.js +1 -2
  360. package/dist/src/shell/Stage.d.ts +9 -4
  361. package/dist/src/shell/Stage.js +112 -59
  362. package/dist/src/shell/StageCompare.d.ts +14 -0
  363. package/dist/src/shell/StageCompare.js +11 -0
  364. package/dist/src/shell/StageTools.d.ts +0 -1
  365. package/dist/src/shell/StageTools.js +0 -1
  366. package/dist/src/shell/StageViewport.d.ts +7 -3
  367. package/dist/src/shell/StageViewport.js +4 -5
  368. package/dist/src/shell/StoryBar.d.ts +40 -0
  369. package/dist/src/shell/StoryBar.js +23 -0
  370. package/dist/src/shell/StoryCodeBlock.d.ts +1 -2
  371. package/dist/src/shell/StoryCodeBlock.js +0 -1
  372. package/dist/src/shell/StoryCoverage.d.ts +36 -0
  373. package/dist/src/shell/StoryCoverage.js +126 -0
  374. package/dist/src/shell/StoryPicker.d.ts +0 -1
  375. package/dist/src/shell/StoryPicker.js +0 -1
  376. package/dist/src/shell/Toolbar.d.ts +7 -3
  377. package/dist/src/shell/Toolbar.js +6 -6
  378. package/dist/src/shell/ToolbarControl.d.ts +6 -8
  379. package/dist/src/shell/ToolbarControl.js +28 -20
  380. package/dist/src/shell/UsedIn.d.ts +5 -6
  381. package/dist/src/shell/UsedIn.js +7 -20
  382. package/dist/src/shell/ViewMenu.d.ts +7 -7
  383. package/dist/src/shell/ViewMenu.js +61 -176
  384. package/dist/src/shell/ViewMenuPanel.d.ts +41 -0
  385. package/dist/src/shell/ViewMenuPanel.js +199 -0
  386. package/dist/src/shell/WidthField.d.ts +3 -2
  387. package/dist/src/shell/WidthField.js +2 -3
  388. package/dist/src/shell/asideStory.d.ts +34 -0
  389. package/dist/src/shell/asideStory.js +55 -0
  390. package/dist/src/shell/audienceLayout.d.ts +39 -0
  391. package/dist/src/shell/audienceLayout.js +33 -0
  392. package/dist/src/shell/audiencePage.d.ts +113 -0
  393. package/dist/src/shell/audiencePage.js +144 -0
  394. package/dist/src/shell/audienceSections.css +95 -0
  395. package/dist/src/shell/catalogueContext.d.ts +24 -2
  396. package/dist/src/shell/catalogueContext.js +12 -9
  397. package/dist/src/shell/codeTokens.d.ts +0 -1
  398. package/dist/src/shell/codeTokens.js +0 -1
  399. package/dist/src/shell/codeWriter.d.ts +0 -1
  400. package/dist/src/shell/codeWriter.js +0 -1
  401. package/dist/src/shell/compareVariants.d.ts +0 -1
  402. package/dist/src/shell/compareVariants.js +2 -2
  403. package/dist/src/shell/controlCycle.d.ts +0 -1
  404. package/dist/src/shell/controlCycle.js +13 -1
  405. package/dist/src/shell/controlLabel.d.ts +7 -0
  406. package/dist/src/shell/controlLabel.js +17 -0
  407. package/dist/src/shell/device/deviceFrame.css +42 -0
  408. package/dist/src/shell/device/deviceParts.d.ts +90 -0
  409. package/dist/src/shell/device/deviceParts.js +120 -0
  410. package/dist/src/shell/docPage.css +451 -0
  411. package/dist/src/shell/dockTabs.d.ts +13 -5
  412. package/dist/src/shell/dockTabs.js +40 -18
  413. package/dist/src/shell/embed.css +74 -0
  414. package/dist/src/shell/filesCode.d.ts +21 -0
  415. package/dist/src/shell/filesCode.js +37 -0
  416. package/dist/src/shell/forgebookMark.d.ts +15 -0
  417. package/dist/src/shell/forgebookMark.js +28 -0
  418. package/dist/src/shell/framesOrigin.d.ts +23 -0
  419. package/dist/src/shell/framesOrigin.js +69 -0
  420. package/dist/src/shell/icons.d.ts +3 -1
  421. package/dist/src/shell/icons.js +3 -1
  422. package/dist/src/shell/keyboard.d.ts +0 -1
  423. package/dist/src/shell/keyboard.js +0 -1
  424. package/dist/src/shell/laterStrings.d.ts +91 -0
  425. package/dist/src/shell/laterStrings.js +102 -0
  426. package/dist/src/shell/lazyModule.d.ts +49 -0
  427. package/dist/src/shell/lazyModule.js +72 -0
  428. package/dist/src/shell/lazyTab.d.ts +21 -0
  429. package/dist/src/shell/lazyTab.js +9 -0
  430. package/dist/src/shell/logicView.d.ts +0 -12
  431. package/dist/src/shell/logicView.js +2 -2
  432. package/dist/src/shell/mountShell.d.ts +5 -3
  433. package/dist/src/shell/mountShell.js +43 -12
  434. package/dist/src/shell/pageStrings.d.ts +24 -0
  435. package/dist/src/shell/pageStrings.js +26 -0
  436. package/dist/src/shell/pluginHosts.d.ts +9 -0
  437. package/dist/src/shell/pluginHosts.js +6 -0
  438. package/dist/src/shell/pluginHostsContext.d.ts +20 -0
  439. package/dist/src/shell/pluginHostsContext.js +16 -0
  440. package/dist/src/shell/pluginTabs.d.ts +63 -0
  441. package/dist/src/shell/pluginTabs.js +60 -0
  442. package/dist/src/shell/search.css +172 -0
  443. package/dist/src/shell/searchStrings.d.ts +24 -0
  444. package/dist/src/shell/searchStrings.js +31 -0
  445. package/dist/src/shell/shell.css +285 -139
  446. package/dist/src/shell/shellScheme.d.ts +37 -0
  447. package/dist/src/shell/shellScheme.js +32 -0
  448. package/dist/src/shell/storyTouch.d.ts +19 -6
  449. package/dist/src/shell/storyTouch.js +26 -4
  450. package/dist/src/shell/strings.d.ts +56 -80
  451. package/dist/src/shell/strings.js +53 -78
  452. package/dist/src/shell/switchView.d.ts +0 -1
  453. package/dist/src/shell/switchView.js +0 -1
  454. package/dist/src/shell/tabSummaries.d.ts +31 -0
  455. package/dist/src/shell/tabSummaries.js +27 -0
  456. package/dist/src/shell/treeSearch.d.ts +39 -3
  457. package/dist/src/shell/treeSearch.js +27 -1
  458. package/dist/src/shell/useAddressArgs.d.ts +55 -0
  459. package/dist/src/shell/useAddressArgs.js +62 -0
  460. package/dist/src/shell/useAnchorScroll.d.ts +24 -0
  461. package/dist/src/shell/useAnchorScroll.js +90 -0
  462. package/dist/src/shell/useAppearance.d.ts +7 -2
  463. package/dist/src/shell/useAppearance.js +14 -5
  464. package/dist/src/shell/useComponentDocs.d.ts +0 -1
  465. package/dist/src/shell/useComponentDocs.js +0 -1
  466. package/dist/src/shell/useControlKeys.d.ts +2 -1
  467. package/dist/src/shell/useControlKeys.js +2 -3
  468. package/dist/src/shell/useCopy.d.ts +2 -1
  469. package/dist/src/shell/useCopy.js +11 -6
  470. package/dist/src/shell/useFold.d.ts +0 -1
  471. package/dist/src/shell/useFold.js +0 -1
  472. package/dist/src/shell/useFrameMessages.d.ts +19 -4
  473. package/dist/src/shell/useFrameMessages.js +23 -7
  474. package/dist/src/shell/useFrameQueue.d.ts +7 -3
  475. package/dist/src/shell/useFrameQueue.js +39 -22
  476. package/dist/src/shell/useFullPage.d.ts +0 -1
  477. package/dist/src/shell/useFullPage.js +0 -1
  478. package/dist/src/shell/useLiveView.d.ts +0 -1
  479. package/dist/src/shell/useLiveView.js +0 -1
  480. package/dist/src/shell/useLoaded.d.ts +1 -2
  481. package/dist/src/shell/useLoaded.js +28 -6
  482. package/dist/src/shell/usePageDoc.d.ts +0 -1
  483. package/dist/src/shell/usePageDoc.js +0 -1
  484. package/dist/src/shell/usePageFrames.d.ts +46 -0
  485. package/dist/src/shell/usePageFrames.js +50 -0
  486. package/dist/src/shell/usePluginTabs.d.ts +18 -0
  487. package/dist/src/shell/usePluginTabs.js +45 -0
  488. package/dist/src/shell/usePopover.d.ts +0 -1
  489. package/dist/src/shell/usePopover.js +0 -1
  490. package/dist/src/shell/useProseLinks.d.ts +14 -0
  491. package/dist/src/shell/useProseLinks.js +30 -0
  492. package/dist/src/shell/useRecentPages.d.ts +3 -4
  493. package/dist/src/shell/useRecentPages.js +1 -2
  494. package/dist/src/shell/useScrollMemory.d.ts +9 -1
  495. package/dist/src/shell/useScrollMemory.js +2 -3
  496. package/dist/src/shell/useSearchIndex.d.ts +24 -0
  497. package/dist/src/shell/useSearchIndex.js +51 -0
  498. package/dist/src/shell/useShownView.d.ts +3 -1
  499. package/dist/src/shell/useShownView.js +5 -5
  500. package/dist/src/shell/useSidebarLayout.d.ts +0 -1
  501. package/dist/src/shell/useSidebarLayout.js +0 -1
  502. package/dist/src/shell/useStored.d.ts +13 -1
  503. package/dist/src/shell/useStored.js +13 -5
  504. package/dist/src/shell/useStoryCheck.d.ts +20 -0
  505. package/dist/src/shell/useStoryCheck.js +33 -0
  506. package/dist/src/shell/useStoryCode.d.ts +0 -1
  507. package/dist/src/shell/useStoryCode.js +0 -1
  508. package/dist/src/shell/useStoryHeights.d.ts +0 -1
  509. package/dist/src/shell/useStoryHeights.js +0 -1
  510. package/dist/src/shell/useStoryIdsElement.d.ts +0 -1
  511. package/dist/src/shell/useStoryIdsElement.js +0 -1
  512. package/dist/src/shell/useStoryKeys.d.ts +0 -1
  513. package/dist/src/shell/useStoryKeys.js +0 -1
  514. package/dist/src/shell/useSyncedTab.d.ts +8 -0
  515. package/dist/src/shell/useSyncedTab.js +60 -0
  516. package/dist/src/shell/useSystemDark.d.ts +0 -1
  517. package/dist/src/shell/useSystemDark.js +0 -1
  518. package/dist/src/shell/useToolbarLayout.d.ts +0 -1
  519. package/dist/src/shell/useToolbarLayout.js +0 -1
  520. package/dist/src/shell/useToolbarOverflow.d.ts +0 -1
  521. package/dist/src/shell/useToolbarOverflow.js +0 -1
  522. package/dist/src/shell/useWorstCase.d.ts +0 -1
  523. package/dist/src/shell/useWorstCase.js +2 -2
  524. package/dist/src/shell/worstArgs.d.ts +0 -1
  525. package/dist/src/shell/worstArgs.js +0 -1
  526. package/dist/src/shellTheme.d.ts +64 -0
  527. package/dist/src/shellTheme.js +274 -0
  528. package/dist/src/shellTheme.types.d.ts +93 -0
  529. package/dist/src/shellTheme.types.js +10 -0
  530. package/dist/src/sourceFiles.d.ts +17 -3
  531. package/dist/src/sourceFiles.js +27 -1
  532. package/dist/src/spills.d.ts +0 -1
  533. package/dist/src/spills.js +0 -1
  534. package/dist/src/storyBackground.d.ts +0 -1
  535. package/dist/src/storyBackground.js +0 -1
  536. package/dist/src/storyCheck.d.ts +86 -2
  537. package/dist/src/storyCheck.js +12 -2
  538. package/dist/src/storyClock.d.ts +0 -1
  539. package/dist/src/storyClock.js +0 -1
  540. package/dist/src/storyGlobals.d.ts +0 -1
  541. package/dist/src/storyGlobals.js +0 -1
  542. package/dist/src/storyHeights.d.ts +0 -1
  543. package/dist/src/storyHeights.js +0 -1
  544. package/dist/src/storyIds.d.ts +36 -0
  545. package/dist/src/storyIds.js +52 -0
  546. package/dist/src/storyIdsElement.d.ts +0 -1
  547. package/dist/src/storyIdsElement.js +0 -1
  548. package/dist/src/storyTexts.d.ts +11 -5
  549. package/dist/src/storyTexts.js +16 -5
  550. package/dist/src/storyTree.d.ts +79 -25
  551. package/dist/src/storyTree.js +211 -127
  552. package/dist/src/switches.d.ts +0 -1
  553. package/dist/src/switches.js +6 -2
  554. package/dist/src/toolbarLayout.d.ts +0 -1
  555. package/dist/src/toolbarLayout.js +0 -1
  556. package/dist/src/treePlaces.d.ts +60 -0
  557. package/dist/src/treePlaces.js +89 -0
  558. package/dist/src/usedIn.d.ts +28 -1
  559. package/dist/src/usedIn.js +93 -3
  560. package/dist/src/viewState.d.ts +37 -9
  561. package/dist/src/viewState.js +67 -9
  562. package/dist/src/viewWords.d.ts +0 -13
  563. package/dist/src/viewWords.js +41 -3
  564. package/dist/src/vite/adapter.d.ts +62 -1
  565. package/dist/src/vite/adapter.js +20 -2
  566. package/dist/src/vite/agent.types.d.ts +279 -7
  567. package/dist/src/vite/agent.types.js +11 -1
  568. package/dist/src/vite/agentApi.d.ts +55 -2
  569. package/dist/src/vite/agentApi.js +130 -8
  570. package/dist/src/vite/agentIds.d.ts +25 -0
  571. package/dist/src/vite/agentIds.js +41 -0
  572. package/dist/src/vite/agentIndex.d.ts +63 -0
  573. package/dist/src/vite/agentIndex.js +91 -0
  574. package/dist/src/vite/agentIndexRoute.d.ts +10 -0
  575. package/dist/src/vite/agentIndexRoute.js +35 -0
  576. package/dist/src/vite/agentRoutes.d.ts +80 -19
  577. package/dist/src/vite/agentRoutes.js +167 -24
  578. package/dist/src/vite/autoTitle.d.ts +0 -1
  579. package/dist/src/vite/autoTitle.js +0 -1
  580. package/dist/src/vite/axeScript.d.ts +20 -0
  581. package/dist/src/vite/axeScript.js +60 -0
  582. package/dist/src/vite/builtTexts.d.ts +75 -0
  583. package/dist/src/vite/builtTexts.js +142 -0
  584. package/dist/src/vite/catalogueConfig.d.ts +10 -0
  585. package/dist/src/vite/catalogueConfig.js +64 -0
  586. package/dist/src/vite/checkCode.d.ts +67 -0
  587. package/dist/src/vite/checkCode.js +145 -0
  588. package/dist/src/vite/closeWatch.d.ts +96 -0
  589. package/dist/src/vite/closeWatch.js +219 -0
  590. package/dist/src/vite/codeFence.d.ts +78 -0
  591. package/dist/src/vite/codeFence.js +267 -0
  592. package/dist/src/vite/componentImport.d.ts +8 -0
  593. package/dist/src/vite/componentImport.js +35 -0
  594. package/dist/src/vite/componentPage.d.ts +15 -2
  595. package/dist/src/vite/componentPage.js +55 -16
  596. package/dist/src/vite/config.d.ts +51 -3
  597. package/dist/src/vite/config.js +0 -1
  598. package/dist/src/vite/configFile.d.ts +65 -9
  599. package/dist/src/vite/configFile.js +182 -28
  600. package/dist/src/vite/designTokens.d.ts +75 -0
  601. package/dist/src/vite/designTokens.js +382 -0
  602. package/dist/src/vite/diskCache.d.ts +51 -0
  603. package/dist/src/vite/diskCache.js +211 -0
  604. package/dist/src/vite/docDirectives.d.ts +116 -0
  605. package/dist/src/vite/docDirectives.js +425 -0
  606. package/dist/src/vite/docMarkdown.d.ts +76 -0
  607. package/dist/src/vite/docMarkdown.js +150 -0
  608. package/dist/src/vite/docPageBlocks.d.ts +64 -0
  609. package/dist/src/vite/docPageBlocks.js +322 -0
  610. package/dist/src/vite/docPageLinks.d.ts +72 -0
  611. package/dist/src/vite/docPageLinks.js +135 -0
  612. package/dist/src/vite/docPageMarkdown.d.ts +86 -0
  613. package/dist/src/vite/docPageMarkdown.js +133 -0
  614. package/dist/src/vite/docPageRender.d.ts +27 -0
  615. package/dist/src/vite/docPageRender.js +199 -0
  616. package/dist/src/vite/docPageTokens.d.ts +91 -0
  617. package/dist/src/vite/docPageTokens.js +186 -0
  618. package/dist/src/vite/docPagesModule.d.ts +50 -0
  619. package/dist/src/vite/docPagesModule.js +118 -0
  620. package/dist/src/vite/docPagesRoute.d.ts +38 -0
  621. package/dist/src/vite/docPagesRoute.js +154 -0
  622. package/dist/src/vite/docsDependencies.d.ts +6 -0
  623. package/dist/src/vite/docsDependencies.js +150 -0
  624. package/dist/src/vite/docsExtractor.d.ts +44 -3
  625. package/dist/src/vite/docsExtractor.js +160 -26
  626. package/dist/src/vite/docsProgram.d.ts +89 -9
  627. package/dist/src/vite/docsProgram.js +413 -50
  628. package/dist/src/vite/docsWorker.d.ts +0 -1
  629. package/dist/src/vite/docsWorker.js +49 -15
  630. package/dist/src/vite/figmaLink.d.ts +26 -0
  631. package/dist/src/vite/figmaLink.js +92 -0
  632. package/dist/src/vite/findComponent.d.ts +32 -0
  633. package/dist/src/vite/findComponent.js +52 -0
  634. package/dist/src/vite/findRoute.d.ts +14 -0
  635. package/dist/src/vite/findRoute.js +62 -0
  636. package/dist/src/vite/forcedStates.d.ts +0 -1
  637. package/dist/src/vite/forcedStates.js +0 -1
  638. package/dist/src/vite/forgebookPlugin.d.ts +1 -2
  639. package/dist/src/vite/forgebookPlugin.js +321 -263
  640. package/dist/src/vite/framesConfig.d.ts +89 -0
  641. package/dist/src/vite/framesConfig.js +149 -0
  642. package/dist/src/vite/framesServer.d.ts +43 -0
  643. package/dist/src/vite/framesServer.js +326 -0
  644. package/dist/src/vite/functionComponentDocs.d.ts +26 -0
  645. package/dist/src/vite/functionComponentDocs.js +193 -0
  646. package/dist/src/vite/gitChange.d.ts +56 -0
  647. package/dist/src/vite/gitChange.js +86 -0
  648. package/dist/src/vite/heightsRoute.d.ts +0 -1
  649. package/dist/src/vite/heightsRoute.js +0 -1
  650. package/dist/src/vite/highlightCode.d.ts +0 -1
  651. package/dist/src/vite/highlightCode.js +8 -27
  652. package/dist/src/vite/hotSnippets.d.ts +86 -0
  653. package/dist/src/vite/hotSnippets.js +168 -0
  654. package/dist/src/vite/indexFields.d.ts +61 -0
  655. package/dist/src/vite/indexFields.js +149 -0
  656. package/dist/src/vite/indexStoryFile.d.ts +19 -18
  657. package/dist/src/vite/indexStoryFile.js +165 -221
  658. package/dist/src/vite/indexedParameters.d.ts +10 -0
  659. package/dist/src/vite/indexedParameters.js +110 -0
  660. package/dist/src/vite/mcpProtocol.d.ts +36 -2
  661. package/dist/src/vite/mcpProtocol.js +100 -15
  662. package/dist/src/vite/moduleSummary.d.ts +17 -0
  663. package/dist/src/vite/moduleSummary.js +40 -0
  664. package/dist/src/vite/nearestToken.d.ts +50 -0
  665. package/dist/src/vite/nearestToken.js +295 -0
  666. package/dist/src/vite/originGuard.d.ts +87 -0
  667. package/dist/src/vite/originGuard.js +163 -0
  668. package/dist/src/vite/packedModule.d.ts +40 -0
  669. package/dist/src/vite/packedModule.js +74 -0
  670. package/dist/src/vite/pages.d.ts +63 -10
  671. package/dist/src/vite/pages.js +264 -33
  672. package/dist/src/vite/parsedFiles.d.ts +18 -0
  673. package/dist/src/vite/parsedFiles.js +91 -0
  674. package/dist/src/vite/plainGrammars.d.ts +20 -0
  675. package/dist/src/vite/plainGrammars.js +113 -0
  676. package/dist/src/vite/pluginConfig.d.ts +47 -0
  677. package/dist/src/vite/pluginConfig.js +220 -0
  678. package/dist/src/vite/pluginIds.d.ts +20 -0
  679. package/dist/src/vite/pluginIds.js +61 -0
  680. package/dist/src/vite/pluginModules.d.ts +140 -0
  681. package/dist/src/vite/pluginModules.js +176 -0
  682. package/dist/src/vite/prebundled.d.ts +18 -5
  683. package/dist/src/vite/prebundled.js +28 -18
  684. package/dist/src/vite/previewPages.d.ts +14 -0
  685. package/dist/src/vite/previewPages.js +81 -0
  686. package/dist/src/vite/previewRoute.d.ts +8 -0
  687. package/dist/src/vite/previewRoute.js +8 -0
  688. package/dist/src/vite/previewRunner.d.ts +56 -0
  689. package/dist/src/vite/previewRunner.js +207 -0
  690. package/dist/src/vite/propDocs.d.ts +60 -0
  691. package/dist/src/vite/propDocs.js +387 -0
  692. package/dist/src/vite/searchModule.d.ts +40 -0
  693. package/dist/src/vite/searchModule.js +212 -0
  694. package/dist/src/vite/searchRoute.d.ts +7 -0
  695. package/dist/src/vite/searchRoute.js +79 -0
  696. package/dist/src/vite/serverConditions.d.ts +31 -0
  697. package/dist/src/vite/serverConditions.js +69 -0
  698. package/dist/src/vite/signatureDocs.d.ts +18 -0
  699. package/dist/src/vite/signatureDocs.js +64 -0
  700. package/dist/src/vite/sourceTokens.d.ts +57 -0
  701. package/dist/src/vite/sourceTokens.js +164 -0
  702. package/dist/src/vite/storyCode.d.ts +0 -1
  703. package/dist/src/vite/storyCode.js +2 -3
  704. package/dist/src/vite/storyExports.d.ts +32 -0
  705. package/dist/src/vite/storyExports.js +27 -0
  706. package/dist/src/vite/storyFilesModule.d.ts +56 -4
  707. package/dist/src/vite/storyFilesModule.js +122 -34
  708. package/dist/src/vite/storyMeta.d.ts +20 -11
  709. package/dist/src/vite/storyMeta.js +74 -38
  710. package/dist/src/vite/storyParse.d.ts +18 -0
  711. package/dist/src/vite/storyParse.js +20 -0
  712. package/dist/src/vite/storyPlay.d.ts +29 -0
  713. package/dist/src/vite/storyPlay.js +54 -0
  714. package/dist/src/vite/storyReach.d.ts +42 -0
  715. package/dist/src/vite/storyReach.js +43 -0
  716. package/dist/src/vite/storylessRoutes.d.ts +29 -0
  717. package/dist/src/vite/storylessRoutes.js +126 -0
  718. package/dist/src/vite/textModules.d.ts +63 -0
  719. package/dist/src/vite/textModules.js +132 -0
  720. package/dist/src/vite/textQueries.d.ts +20 -0
  721. package/dist/src/vite/textQueries.js +20 -0
  722. package/dist/src/vite/themeFromTokens.d.ts +35 -0
  723. package/dist/src/vite/themeFromTokens.js +73 -0
  724. package/dist/src/vite/tokenAnswers.d.ts +20 -0
  725. package/dist/src/vite/tokenAnswers.js +86 -0
  726. package/dist/src/vite/tokenClashes.d.ts +44 -0
  727. package/dist/src/vite/tokenClashes.js +45 -0
  728. package/dist/src/vite/touchMedia.d.ts +0 -1
  729. package/dist/src/vite/touchMedia.js +0 -1
  730. package/dist/src/vite/typeScriptPieces.d.ts +0 -1
  731. package/dist/src/vite/typeScriptPieces.js +2 -3
  732. package/dist/src/vite/usageGraph.d.ts +6 -1
  733. package/dist/src/vite/usageGraph.js +41 -7
  734. package/dist/src/vite/usageGuidance.d.ts +33 -0
  735. package/dist/src/vite/usageGuidance.js +45 -0
  736. package/dist/src/vite/usageModule.d.ts +0 -1
  737. package/dist/src/vite/usageModule.js +0 -1
  738. package/dist/src/vite/vitePaths.d.ts +53 -0
  739. package/dist/src/vite/vitePaths.js +53 -0
  740. package/dist/src/worstCase.d.ts +0 -1
  741. package/dist/src/worstCase.js +0 -1
  742. package/package.json +68 -5
  743. package/dist/bin/forgebook/agentClient.d.ts.map +0 -1
  744. package/dist/bin/forgebook/agentClient.js.map +0 -1
  745. package/dist/bin/forgebook/agentLoopCommands.d.mts.map +0 -1
  746. package/dist/bin/forgebook/agentLoopCommands.mjs.map +0 -1
  747. package/dist/bin/forgebook/agentText.d.ts.map +0 -1
  748. package/dist/bin/forgebook/agentText.js.map +0 -1
  749. package/dist/bin/forgebook/agentsText.d.ts.map +0 -1
  750. package/dist/bin/forgebook/agentsText.js.map +0 -1
  751. package/dist/bin/forgebook/catalogueCommands.d.ts.map +0 -1
  752. package/dist/bin/forgebook/catalogueCommands.js.map +0 -1
  753. package/dist/bin/forgebook/catalogueVite.d.ts.map +0 -1
  754. package/dist/bin/forgebook/catalogueVite.js.map +0 -1
  755. package/dist/bin/forgebook/errorsRun.d.ts.map +0 -1
  756. package/dist/bin/forgebook/errorsRun.js.map +0 -1
  757. package/dist/bin/forgebook/forgebook.d.mts.map +0 -1
  758. package/dist/bin/forgebook/forgebook.mjs.map +0 -1
  759. package/dist/bin/forgebook/importers/storybook.d.ts.map +0 -1
  760. package/dist/bin/forgebook/importers/storybook.js.map +0 -1
  761. package/dist/bin/forgebook/initCommands.d.mts.map +0 -1
  762. package/dist/bin/forgebook/initCommands.mjs.map +0 -1
  763. package/dist/bin/forgebook/initConfig.d.ts.map +0 -1
  764. package/dist/bin/forgebook/initConfig.js.map +0 -1
  765. package/dist/bin/forgebook/mcpTools.d.ts.map +0 -1
  766. package/dist/bin/forgebook/mcpTools.js.map +0 -1
  767. package/dist/bin/forgebook/newStories.d.ts.map +0 -1
  768. package/dist/bin/forgebook/newStories.js.map +0 -1
  769. package/dist/bin/forgebook/newStoriesFile.d.ts.map +0 -1
  770. package/dist/bin/forgebook/newStoriesFile.js.map +0 -1
  771. package/dist/bin/forgebook/storyCheckRun.d.ts.map +0 -1
  772. package/dist/bin/forgebook/storyCheckRun.js.map +0 -1
  773. package/dist/bin/forgebook/touchWindowRun.d.ts.map +0 -1
  774. package/dist/bin/forgebook/touchWindowRun.js.map +0 -1
  775. package/dist/bin/forgebook-docs/catalogueDocs.d.ts.map +0 -1
  776. package/dist/bin/forgebook-docs/catalogueDocs.js.map +0 -1
  777. package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts.map +0 -1
  778. package/dist/bin/forgebook-docs/catalogueDocs.types.js.map +0 -1
  779. package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts.map +0 -1
  780. package/dist/bin/forgebook-docs/catalogueMarkdown.js.map +0 -1
  781. package/dist/bin/forgebook-docs/catalogueOptions.d.ts.map +0 -1
  782. package/dist/bin/forgebook-docs/catalogueOptions.js.map +0 -1
  783. package/dist/bin/forgebook-docs/collectDocs.d.ts.map +0 -1
  784. package/dist/bin/forgebook-docs/collectDocs.js.map +0 -1
  785. package/dist/bin/forgebook-docs/forgebook-docs.d.mts.map +0 -1
  786. package/dist/bin/forgebook-docs/forgebook-docs.mjs.map +0 -1
  787. package/dist/bin/forgebook-docs/llmsText.d.ts.map +0 -1
  788. package/dist/bin/forgebook-docs/llmsText.js.map +0 -1
  789. package/dist/bin/forgebook-docs/moduleDocs.d.ts.map +0 -1
  790. package/dist/bin/forgebook-docs/moduleDocs.js.map +0 -1
  791. package/dist/bin/forgebook-docs/sassDocs.d.ts.map +0 -1
  792. package/dist/bin/forgebook-docs/sassDocs.js.map +0 -1
  793. package/dist/bin/forgebook-docs/sourceId.d.ts +0 -9
  794. package/dist/bin/forgebook-docs/sourceId.d.ts.map +0 -1
  795. package/dist/bin/forgebook-docs/sourceId.js +0 -45
  796. package/dist/bin/forgebook-docs/sourceId.js.map +0 -1
  797. package/dist/bin/forgebook-texts/forgebook-texts.d.mts.map +0 -1
  798. package/dist/bin/forgebook-texts/forgebook-texts.mjs.map +0 -1
  799. package/dist/bin/forgebook-texts/storyTextsReport.d.ts.map +0 -1
  800. package/dist/bin/forgebook-texts/storyTextsReport.js.map +0 -1
  801. package/dist/bin/forgebook-texts/storyTextsReport.types.d.ts.map +0 -1
  802. package/dist/bin/forgebook-texts/storyTextsReport.types.js.map +0 -1
  803. package/dist/bin/frameworkDocs.d.ts.map +0 -1
  804. package/dist/bin/frameworkDocs.js.map +0 -1
  805. package/dist/src/a11y.d.ts.map +0 -1
  806. package/dist/src/a11y.js.map +0 -1
  807. package/dist/src/argTypes.d.ts.map +0 -1
  808. package/dist/src/argTypes.js.map +0 -1
  809. package/dist/src/backdrops.d.ts.map +0 -1
  810. package/dist/src/backdrops.js.map +0 -1
  811. package/dist/src/catalogue.d.ts.map +0 -1
  812. package/dist/src/catalogue.js.map +0 -1
  813. package/dist/src/componentDocs.d.ts.map +0 -1
  814. package/dist/src/componentDocs.js.map +0 -1
  815. package/dist/src/controlKeys.d.ts.map +0 -1
  816. package/dist/src/controlKeys.js.map +0 -1
  817. package/dist/src/frame/checkStory.d.ts.map +0 -1
  818. package/dist/src/frame/checkStory.js.map +0 -1
  819. package/dist/src/frame/frameClock.d.ts.map +0 -1
  820. package/dist/src/frame/frameClock.js.map +0 -1
  821. package/dist/src/frame/frameStatus.d.ts.map +0 -1
  822. package/dist/src/frame/frameStatus.js.map +0 -1
  823. package/dist/src/frame/frameView.d.ts.map +0 -1
  824. package/dist/src/frame/frameView.js.map +0 -1
  825. package/dist/src/frame/matrixLayout.d.ts.map +0 -1
  826. package/dist/src/frame/matrixLayout.js.map +0 -1
  827. package/dist/src/frame/measureTools.d.ts.map +0 -1
  828. package/dist/src/frame/measureTools.js.map +0 -1
  829. package/dist/src/frame/mountFrame.d.ts.map +0 -1
  830. package/dist/src/frame/mountFrame.js.map +0 -1
  831. package/dist/src/frame/playStory.d.ts.map +0 -1
  832. package/dist/src/frame/playStory.js.map +0 -1
  833. package/dist/src/frame/renderer.d.ts.map +0 -1
  834. package/dist/src/frame/renderer.js.map +0 -1
  835. package/dist/src/frame/settle.d.ts.map +0 -1
  836. package/dist/src/frame/settle.js.map +0 -1
  837. package/dist/src/frame/spillOutline.d.ts.map +0 -1
  838. package/dist/src/frame/spillOutline.js.map +0 -1
  839. package/dist/src/frame/staleModule.d.ts.map +0 -1
  840. package/dist/src/frame/staleModule.js.map +0 -1
  841. package/dist/src/frame/storyCanvas.d.ts.map +0 -1
  842. package/dist/src/frame/storyCanvas.js.map +0 -1
  843. package/dist/src/frame/storyHooks.d.ts.map +0 -1
  844. package/dist/src/frame/storyHooks.js.map +0 -1
  845. package/dist/src/frame/storyModule.d.ts.map +0 -1
  846. package/dist/src/frame/storyModule.js.map +0 -1
  847. package/dist/src/frame/storyRun.d.ts.map +0 -1
  848. package/dist/src/frame/storyRun.js.map +0 -1
  849. package/dist/src/frame/touchDots.d.ts.map +0 -1
  850. package/dist/src/frame/touchDots.js.map +0 -1
  851. package/dist/src/frame/touchEvents.d.ts.map +0 -1
  852. package/dist/src/frame/touchEvents.js.map +0 -1
  853. package/dist/src/frame/touchGesture.d.ts.map +0 -1
  854. package/dist/src/frame/touchGesture.js.map +0 -1
  855. package/dist/src/frame/touchLayer.d.ts.map +0 -1
  856. package/dist/src/frame/touchLayer.js.map +0 -1
  857. package/dist/src/frame/touchScroll.d.ts.map +0 -1
  858. package/dist/src/frame/touchScroll.js.map +0 -1
  859. package/dist/src/languages.d.ts.map +0 -1
  860. package/dist/src/languages.js.map +0 -1
  861. package/dist/src/liveErrors.d.ts.map +0 -1
  862. package/dist/src/liveErrors.js.map +0 -1
  863. package/dist/src/matrix.d.ts.map +0 -1
  864. package/dist/src/matrix.js.map +0 -1
  865. package/dist/src/messages.d.ts.map +0 -1
  866. package/dist/src/messages.js.map +0 -1
  867. package/dist/src/namedValues.d.ts.map +0 -1
  868. package/dist/src/namedValues.js.map +0 -1
  869. package/dist/src/namedViews.d.ts.map +0 -1
  870. package/dist/src/namedViews.js.map +0 -1
  871. package/dist/src/pageConfig.d.ts.map +0 -1
  872. package/dist/src/pageConfig.js.map +0 -1
  873. package/dist/src/playTrace.d.ts.map +0 -1
  874. package/dist/src/playTrace.js.map +0 -1
  875. package/dist/src/realTouch.d.ts.map +0 -1
  876. package/dist/src/realTouch.js.map +0 -1
  877. package/dist/src/shell/A11yTab.d.ts.map +0 -1
  878. package/dist/src/shell/A11yTab.js.map +0 -1
  879. package/dist/src/shell/ApiReference.d.ts.map +0 -1
  880. package/dist/src/shell/ApiReference.js.map +0 -1
  881. package/dist/src/shell/AppearanceMenu.d.ts.map +0 -1
  882. package/dist/src/shell/AppearanceMenu.js.map +0 -1
  883. package/dist/src/shell/BoxWidth.d.ts.map +0 -1
  884. package/dist/src/shell/BoxWidth.js.map +0 -1
  885. package/dist/src/shell/ClockControls.d.ts.map +0 -1
  886. package/dist/src/shell/ClockControls.js.map +0 -1
  887. package/dist/src/shell/Code.d.ts.map +0 -1
  888. package/dist/src/shell/Code.js.map +0 -1
  889. package/dist/src/shell/CodeTab.d.ts.map +0 -1
  890. package/dist/src/shell/CodeTab.js.map +0 -1
  891. package/dist/src/shell/CodeText.d.ts.map +0 -1
  892. package/dist/src/shell/CodeText.js.map +0 -1
  893. package/dist/src/shell/ComponentPage.d.ts.map +0 -1
  894. package/dist/src/shell/ComponentPage.js.map +0 -1
  895. package/dist/src/shell/ControlKeyField.d.ts.map +0 -1
  896. package/dist/src/shell/ControlKeyField.js.map +0 -1
  897. package/dist/src/shell/ControlRow.d.ts.map +0 -1
  898. package/dist/src/shell/ControlRow.js.map +0 -1
  899. package/dist/src/shell/Dock.d.ts.map +0 -1
  900. package/dist/src/shell/Dock.js.map +0 -1
  901. package/dist/src/shell/EventsTab.d.ts.map +0 -1
  902. package/dist/src/shell/EventsTab.js.map +0 -1
  903. package/dist/src/shell/Example.d.ts.map +0 -1
  904. package/dist/src/shell/Example.js.map +0 -1
  905. package/dist/src/shell/FrameView.d.ts.map +0 -1
  906. package/dist/src/shell/FrameView.js.map +0 -1
  907. package/dist/src/shell/HomePage.d.ts.map +0 -1
  908. package/dist/src/shell/HomePage.js.map +0 -1
  909. package/dist/src/shell/InfoTip.d.ts.map +0 -1
  910. package/dist/src/shell/InfoTip.js.map +0 -1
  911. package/dist/src/shell/InteractionsTab.d.ts.map +0 -1
  912. package/dist/src/shell/InteractionsTab.js.map +0 -1
  913. package/dist/src/shell/LogicMark.d.ts.map +0 -1
  914. package/dist/src/shell/LogicMark.js.map +0 -1
  915. package/dist/src/shell/MatrixPicker.d.ts.map +0 -1
  916. package/dist/src/shell/MatrixPicker.js.map +0 -1
  917. package/dist/src/shell/NamedViews.d.ts.map +0 -1
  918. package/dist/src/shell/NamedViews.js.map +0 -1
  919. package/dist/src/shell/PackageHtml.d.ts.map +0 -1
  920. package/dist/src/shell/PackageHtml.js.map +0 -1
  921. package/dist/src/shell/PartsTab.d.ts.map +0 -1
  922. package/dist/src/shell/PartsTab.js.map +0 -1
  923. package/dist/src/shell/PinnedControl.d.ts.map +0 -1
  924. package/dist/src/shell/PinnedControl.js.map +0 -1
  925. package/dist/src/shell/PropFields.d.ts.map +0 -1
  926. package/dist/src/shell/PropFields.js.map +0 -1
  927. package/dist/src/shell/PropsTab.d.ts.map +0 -1
  928. package/dist/src/shell/PropsTab.js.map +0 -1
  929. package/dist/src/shell/Segmented.d.ts.map +0 -1
  930. package/dist/src/shell/Segmented.js.map +0 -1
  931. package/dist/src/shell/Shell.d.ts.map +0 -1
  932. package/dist/src/shell/Shell.js.map +0 -1
  933. package/dist/src/shell/Sidebar.d.ts.map +0 -1
  934. package/dist/src/shell/Sidebar.js.map +0 -1
  935. package/dist/src/shell/SidebarEntries.d.ts.map +0 -1
  936. package/dist/src/shell/SidebarEntries.js.map +0 -1
  937. package/dist/src/shell/SidebarHandle.d.ts.map +0 -1
  938. package/dist/src/shell/SidebarHandle.js.map +0 -1
  939. package/dist/src/shell/SignatureReference.d.ts.map +0 -1
  940. package/dist/src/shell/SignatureReference.js.map +0 -1
  941. package/dist/src/shell/Stage.d.ts.map +0 -1
  942. package/dist/src/shell/Stage.js.map +0 -1
  943. package/dist/src/shell/StageTools.d.ts.map +0 -1
  944. package/dist/src/shell/StageTools.js.map +0 -1
  945. package/dist/src/shell/StageViewport.d.ts.map +0 -1
  946. package/dist/src/shell/StageViewport.js.map +0 -1
  947. package/dist/src/shell/StoryCodeBlock.d.ts.map +0 -1
  948. package/dist/src/shell/StoryCodeBlock.js.map +0 -1
  949. package/dist/src/shell/StoryPicker.d.ts.map +0 -1
  950. package/dist/src/shell/StoryPicker.js.map +0 -1
  951. package/dist/src/shell/Toolbar.d.ts.map +0 -1
  952. package/dist/src/shell/Toolbar.js.map +0 -1
  953. package/dist/src/shell/ToolbarControl.d.ts.map +0 -1
  954. package/dist/src/shell/ToolbarControl.js.map +0 -1
  955. package/dist/src/shell/UsedIn.d.ts.map +0 -1
  956. package/dist/src/shell/UsedIn.js.map +0 -1
  957. package/dist/src/shell/ViewMenu.d.ts.map +0 -1
  958. package/dist/src/shell/ViewMenu.js.map +0 -1
  959. package/dist/src/shell/WidthField.d.ts.map +0 -1
  960. package/dist/src/shell/WidthField.js.map +0 -1
  961. package/dist/src/shell/catalogueContext.d.ts.map +0 -1
  962. package/dist/src/shell/catalogueContext.js.map +0 -1
  963. package/dist/src/shell/codeTokens.d.ts.map +0 -1
  964. package/dist/src/shell/codeTokens.js.map +0 -1
  965. package/dist/src/shell/codeWriter.d.ts.map +0 -1
  966. package/dist/src/shell/codeWriter.js.map +0 -1
  967. package/dist/src/shell/compareVariants.d.ts.map +0 -1
  968. package/dist/src/shell/compareVariants.js.map +0 -1
  969. package/dist/src/shell/controlCycle.d.ts.map +0 -1
  970. package/dist/src/shell/controlCycle.js.map +0 -1
  971. package/dist/src/shell/dockTabs.d.ts.map +0 -1
  972. package/dist/src/shell/dockTabs.js.map +0 -1
  973. package/dist/src/shell/icons.d.ts.map +0 -1
  974. package/dist/src/shell/icons.js.map +0 -1
  975. package/dist/src/shell/keyboard.d.ts.map +0 -1
  976. package/dist/src/shell/keyboard.js.map +0 -1
  977. package/dist/src/shell/logicView.d.ts.map +0 -1
  978. package/dist/src/shell/logicView.js.map +0 -1
  979. package/dist/src/shell/mountShell.d.ts.map +0 -1
  980. package/dist/src/shell/mountShell.js.map +0 -1
  981. package/dist/src/shell/storyTouch.d.ts.map +0 -1
  982. package/dist/src/shell/storyTouch.js.map +0 -1
  983. package/dist/src/shell/strings.d.ts.map +0 -1
  984. package/dist/src/shell/strings.js.map +0 -1
  985. package/dist/src/shell/switchView.d.ts.map +0 -1
  986. package/dist/src/shell/switchView.js.map +0 -1
  987. package/dist/src/shell/treeSearch.d.ts.map +0 -1
  988. package/dist/src/shell/treeSearch.js.map +0 -1
  989. package/dist/src/shell/useAppearance.d.ts.map +0 -1
  990. package/dist/src/shell/useAppearance.js.map +0 -1
  991. package/dist/src/shell/useComponentDocs.d.ts.map +0 -1
  992. package/dist/src/shell/useComponentDocs.js.map +0 -1
  993. package/dist/src/shell/useControlKeys.d.ts.map +0 -1
  994. package/dist/src/shell/useControlKeys.js.map +0 -1
  995. package/dist/src/shell/useCopy.d.ts.map +0 -1
  996. package/dist/src/shell/useCopy.js.map +0 -1
  997. package/dist/src/shell/useFold.d.ts.map +0 -1
  998. package/dist/src/shell/useFold.js.map +0 -1
  999. package/dist/src/shell/useFrameMessages.d.ts.map +0 -1
  1000. package/dist/src/shell/useFrameMessages.js.map +0 -1
  1001. package/dist/src/shell/useFrameQueue.d.ts.map +0 -1
  1002. package/dist/src/shell/useFrameQueue.js.map +0 -1
  1003. package/dist/src/shell/useFullPage.d.ts.map +0 -1
  1004. package/dist/src/shell/useFullPage.js.map +0 -1
  1005. package/dist/src/shell/useLiveView.d.ts.map +0 -1
  1006. package/dist/src/shell/useLiveView.js.map +0 -1
  1007. package/dist/src/shell/useLoaded.d.ts.map +0 -1
  1008. package/dist/src/shell/useLoaded.js.map +0 -1
  1009. package/dist/src/shell/usePageDoc.d.ts.map +0 -1
  1010. package/dist/src/shell/usePageDoc.js.map +0 -1
  1011. package/dist/src/shell/usePopover.d.ts.map +0 -1
  1012. package/dist/src/shell/usePopover.js.map +0 -1
  1013. package/dist/src/shell/useRecentPages.d.ts.map +0 -1
  1014. package/dist/src/shell/useRecentPages.js.map +0 -1
  1015. package/dist/src/shell/useScrollMemory.d.ts.map +0 -1
  1016. package/dist/src/shell/useScrollMemory.js.map +0 -1
  1017. package/dist/src/shell/useShownView.d.ts.map +0 -1
  1018. package/dist/src/shell/useShownView.js.map +0 -1
  1019. package/dist/src/shell/useSidebarLayout.d.ts.map +0 -1
  1020. package/dist/src/shell/useSidebarLayout.js.map +0 -1
  1021. package/dist/src/shell/useStored.d.ts.map +0 -1
  1022. package/dist/src/shell/useStored.js.map +0 -1
  1023. package/dist/src/shell/useStoryCode.d.ts.map +0 -1
  1024. package/dist/src/shell/useStoryCode.js.map +0 -1
  1025. package/dist/src/shell/useStoryHeights.d.ts.map +0 -1
  1026. package/dist/src/shell/useStoryHeights.js.map +0 -1
  1027. package/dist/src/shell/useStoryIdsElement.d.ts.map +0 -1
  1028. package/dist/src/shell/useStoryIdsElement.js.map +0 -1
  1029. package/dist/src/shell/useStoryKeys.d.ts.map +0 -1
  1030. package/dist/src/shell/useStoryKeys.js.map +0 -1
  1031. package/dist/src/shell/useSystemDark.d.ts.map +0 -1
  1032. package/dist/src/shell/useSystemDark.js.map +0 -1
  1033. package/dist/src/shell/useToolbarLayout.d.ts.map +0 -1
  1034. package/dist/src/shell/useToolbarLayout.js.map +0 -1
  1035. package/dist/src/shell/useToolbarOverflow.d.ts.map +0 -1
  1036. package/dist/src/shell/useToolbarOverflow.js.map +0 -1
  1037. package/dist/src/shell/useWorstCase.d.ts.map +0 -1
  1038. package/dist/src/shell/useWorstCase.js.map +0 -1
  1039. package/dist/src/shell/worstArgs.d.ts.map +0 -1
  1040. package/dist/src/shell/worstArgs.js.map +0 -1
  1041. package/dist/src/sourceFiles.d.ts.map +0 -1
  1042. package/dist/src/sourceFiles.js.map +0 -1
  1043. package/dist/src/spills.d.ts.map +0 -1
  1044. package/dist/src/spills.js.map +0 -1
  1045. package/dist/src/storyBackground.d.ts.map +0 -1
  1046. package/dist/src/storyBackground.js.map +0 -1
  1047. package/dist/src/storyCheck.d.ts.map +0 -1
  1048. package/dist/src/storyCheck.js.map +0 -1
  1049. package/dist/src/storyClock.d.ts.map +0 -1
  1050. package/dist/src/storyClock.js.map +0 -1
  1051. package/dist/src/storyGlobals.d.ts.map +0 -1
  1052. package/dist/src/storyGlobals.js.map +0 -1
  1053. package/dist/src/storyHeights.d.ts.map +0 -1
  1054. package/dist/src/storyHeights.js.map +0 -1
  1055. package/dist/src/storyIdsElement.d.ts.map +0 -1
  1056. package/dist/src/storyIdsElement.js.map +0 -1
  1057. package/dist/src/storyTexts.d.ts.map +0 -1
  1058. package/dist/src/storyTexts.js.map +0 -1
  1059. package/dist/src/storyTree.d.ts.map +0 -1
  1060. package/dist/src/storyTree.js.map +0 -1
  1061. package/dist/src/switches.d.ts.map +0 -1
  1062. package/dist/src/switches.js.map +0 -1
  1063. package/dist/src/toolbarLayout.d.ts.map +0 -1
  1064. package/dist/src/toolbarLayout.js.map +0 -1
  1065. package/dist/src/usedIn.d.ts.map +0 -1
  1066. package/dist/src/usedIn.js.map +0 -1
  1067. package/dist/src/viewState.d.ts.map +0 -1
  1068. package/dist/src/viewState.js.map +0 -1
  1069. package/dist/src/viewWords.d.ts.map +0 -1
  1070. package/dist/src/viewWords.js.map +0 -1
  1071. package/dist/src/vite/adapter.d.ts.map +0 -1
  1072. package/dist/src/vite/adapter.js.map +0 -1
  1073. package/dist/src/vite/agent.types.d.ts.map +0 -1
  1074. package/dist/src/vite/agent.types.js.map +0 -1
  1075. package/dist/src/vite/agentApi.d.ts.map +0 -1
  1076. package/dist/src/vite/agentApi.js.map +0 -1
  1077. package/dist/src/vite/agentRoutes.d.ts.map +0 -1
  1078. package/dist/src/vite/agentRoutes.js.map +0 -1
  1079. package/dist/src/vite/autoTitle.d.ts.map +0 -1
  1080. package/dist/src/vite/autoTitle.js.map +0 -1
  1081. package/dist/src/vite/componentPage.d.ts.map +0 -1
  1082. package/dist/src/vite/componentPage.js.map +0 -1
  1083. package/dist/src/vite/config.d.ts.map +0 -1
  1084. package/dist/src/vite/config.js.map +0 -1
  1085. package/dist/src/vite/configFile.d.ts.map +0 -1
  1086. package/dist/src/vite/configFile.js.map +0 -1
  1087. package/dist/src/vite/docsExtractor.d.ts.map +0 -1
  1088. package/dist/src/vite/docsExtractor.js.map +0 -1
  1089. package/dist/src/vite/docsProgram.d.ts.map +0 -1
  1090. package/dist/src/vite/docsProgram.js.map +0 -1
  1091. package/dist/src/vite/docsWorker.d.ts.map +0 -1
  1092. package/dist/src/vite/docsWorker.js.map +0 -1
  1093. package/dist/src/vite/forcedStates.d.ts.map +0 -1
  1094. package/dist/src/vite/forcedStates.js.map +0 -1
  1095. package/dist/src/vite/forgebookPlugin.d.ts.map +0 -1
  1096. package/dist/src/vite/forgebookPlugin.js.map +0 -1
  1097. package/dist/src/vite/heightsRoute.d.ts.map +0 -1
  1098. package/dist/src/vite/heightsRoute.js.map +0 -1
  1099. package/dist/src/vite/highlightCode.d.ts.map +0 -1
  1100. package/dist/src/vite/highlightCode.js.map +0 -1
  1101. package/dist/src/vite/indexStoryFile.d.ts.map +0 -1
  1102. package/dist/src/vite/indexStoryFile.js.map +0 -1
  1103. package/dist/src/vite/mcpProtocol.d.ts.map +0 -1
  1104. package/dist/src/vite/mcpProtocol.js.map +0 -1
  1105. package/dist/src/vite/pages.d.ts.map +0 -1
  1106. package/dist/src/vite/pages.js.map +0 -1
  1107. package/dist/src/vite/prebundled.d.ts.map +0 -1
  1108. package/dist/src/vite/prebundled.js.map +0 -1
  1109. package/dist/src/vite/storyCode.d.ts.map +0 -1
  1110. package/dist/src/vite/storyCode.js.map +0 -1
  1111. package/dist/src/vite/storyFilesModule.d.ts.map +0 -1
  1112. package/dist/src/vite/storyFilesModule.js.map +0 -1
  1113. package/dist/src/vite/storyMeta.d.ts.map +0 -1
  1114. package/dist/src/vite/storyMeta.js.map +0 -1
  1115. package/dist/src/vite/touchMedia.d.ts.map +0 -1
  1116. package/dist/src/vite/touchMedia.js.map +0 -1
  1117. package/dist/src/vite/typeScriptPieces.d.ts.map +0 -1
  1118. package/dist/src/vite/typeScriptPieces.js.map +0 -1
  1119. package/dist/src/vite/usageGraph.d.ts.map +0 -1
  1120. package/dist/src/vite/usageGraph.js.map +0 -1
  1121. package/dist/src/vite/usageModule.d.ts.map +0 -1
  1122. package/dist/src/vite/usageModule.js.map +0 -1
  1123. package/dist/src/worstCase.d.ts.map +0 -1
  1124. package/dist/src/worstCase.js.map +0 -1
@@ -0,0 +1,164 @@
1
+ /**
2
+ * What the module of a package's source declares, read without running it: its id and its tokens files; and tokens files
3
+ * read from disk, for the catalogue's answers and for `forgebook docs`.
4
+ *
5
+ * @remarks
6
+ * A source's module imports the stories' index, its texts and whatever its named values need, and only a catalogue's
7
+ * bundler answers those imports, so running it would let a broken story take the tokens down, and `forgebook docs` has
8
+ * no bundler at all. The text is enough when `export const source` is an object written plainly. A source built by code
9
+ * gives no id, and a `tokens` key inside it is a problem, named: its tokens would otherwise vanish in silence.
10
+ *
11
+ * A module that cannot be read says nothing either way, so it is `unread`, apart from `problems`: a tool shows it, but
12
+ * only tokens known to be declared stop a check, or every catalogue would fail on a source mid-edit that has none.
13
+ *
14
+ * A source's paths stay inside its package. A dependency writes them and the answers travel, so a path leading out would
15
+ * read files the dev server's `server.fs` never serves.
16
+ *
17
+ * @module
18
+ */
19
+ import { existsSync, readFileSync, realpathSync } from "node:fs";
20
+ import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
21
+ import { parseSync } from "vite";
22
+ import { readTokens } from "./designTokens.js";
23
+ import { propertyValue, unwrapped } from "./indexFields.js";
24
+ /** What to do about tokens the module's text does not give. */
25
+ const NOT_PLAIN = "tokens are read without running the module: write them as a list of strings or `{ file, mode }` in `export const source = { … }`";
26
+ /** What a top-level `export const source = …` holds, if the statement is one. */
27
+ const sourceValue = (statement) => {
28
+ if (statement.type !== "ExportNamedDeclaration" || statement.declaration?.type !== "VariableDeclaration")
29
+ return undefined;
30
+ for (const declarator of statement.declaration.declarations) {
31
+ if (declarator.id.type === "Identifier" && declarator.id.name === "source" && declarator.init !== null)
32
+ return unwrapped(declarator.init);
33
+ }
34
+ return undefined;
35
+ };
36
+ /** Whether a syntax tree holds a `tokens` key: how a source built by code still shows it means tokens. */
37
+ const holdsTokensKey = (node) => {
38
+ if (Array.isArray(node))
39
+ return node.some(holdsTokensKey);
40
+ if (typeof node !== "object" || node === null)
41
+ return false;
42
+ const isKey = "type" in node &&
43
+ node.type === "Property" &&
44
+ "key" in node &&
45
+ typeof node.key === "object" &&
46
+ node.key !== null &&
47
+ (("name" in node.key && node.key.name === "tokens") ||
48
+ ("value" in node.key && node.key.value === "tokens"));
49
+ return isKey || Object.values(node).some(holdsTokensKey);
50
+ };
51
+ /** A property's text, when it is written as one. */
52
+ const plainText = (object, name) => {
53
+ const value = propertyValue(object, name);
54
+ return value?.type === "Literal" && typeof value.value === "string" ? value.value : undefined;
55
+ };
56
+ /** One entry of the list, or none when it is not written plainly. */
57
+ const tokensEntry = (element) => {
58
+ if (element === null || element.type === "SpreadElement")
59
+ return undefined;
60
+ const entry = unwrapped(element);
61
+ if (entry.type === "Literal" && typeof entry.value === "string")
62
+ return { file: entry.value, mode: undefined };
63
+ if (entry.type !== "ObjectExpression")
64
+ return undefined;
65
+ const file = plainText(entry, "file");
66
+ const mode = plainText(entry, "mode");
67
+ return file === undefined || mode === undefined ? undefined : { file, mode };
68
+ };
69
+ /**
70
+ * What a source's module declares, from its text.
71
+ *
72
+ * @param file - the module's path, for the parser (its extension says TypeScript or JSX).
73
+ * @param text - the module's text.
74
+ */
75
+ export const declaredSource = (file, text) => {
76
+ const { program, errors } = parseSync(file, text);
77
+ if (errors.length > 0) {
78
+ const unread = `it cannot be parsed: ${errors[0]?.message ?? ""}`;
79
+ return { id: undefined, tokens: [], problems: [], unread };
80
+ }
81
+ const value = program.body.map(sourceValue).find((each) => each !== undefined);
82
+ if (value?.type !== "ObjectExpression")
83
+ return { id: undefined, tokens: [], problems: holdsTokensKey(value ?? program.body) ? [NOT_PLAIN] : [] };
84
+ const object = value;
85
+ const id = plainText(object, "id");
86
+ const list = propertyValue(object, "tokens");
87
+ if (list === undefined)
88
+ return { id, tokens: [], problems: [] };
89
+ if (list.type !== "ArrayExpression")
90
+ return { id, tokens: [], problems: [NOT_PLAIN] };
91
+ const entries = list.elements.map(tokensEntry);
92
+ return {
93
+ id,
94
+ tokens: entries.filter((entry) => entry !== undefined),
95
+ problems: entries.includes(undefined) ? [NOT_PLAIN] : []
96
+ };
97
+ };
98
+ /** The folder of the package a module is in: the nearest with a manifest, or the module's own. */
99
+ const packageRoot = (file) => {
100
+ const start = dirname(file);
101
+ for (let dir = start; dir !== dirname(dir); dir = dirname(dir)) {
102
+ if (existsSync(join(dir, "package.json")))
103
+ return dir;
104
+ }
105
+ return start;
106
+ };
107
+ /** Whether a path, its links followed where it exists, is inside a folder. */
108
+ const isInside = (root, path) => {
109
+ const real = (each) => (existsSync(each) ? realpathSync(each) : each);
110
+ const fromRoot = relative(real(root), real(path));
111
+ return fromRoot !== ".." && !fromRoot.startsWith(`..${sep}`) && !isAbsolute(fromRoot);
112
+ };
113
+ /**
114
+ * What the source in a module gives, its paths absolute.
115
+ *
116
+ * @param file - the module's absolute path.
117
+ * @param name - what names the module, for the problems and the files' labels (`@acme/ui/stories`).
118
+ */
119
+ export const sourceTokensIn = (file, name) => {
120
+ let declared;
121
+ try {
122
+ declared = declaredSource(file, readFileSync(file, "utf8"));
123
+ }
124
+ catch (error) {
125
+ const reason = error instanceof Error ? error.message : String(error);
126
+ return { id: undefined, files: [], problems: [], unread: `${name}: ${reason}` };
127
+ }
128
+ const source = declared.id ?? name;
129
+ const root = packageRoot(file);
130
+ const located = declared.tokens.map((each) => ({ ...each, path: resolve(dirname(file), each.file) }));
131
+ const outside = located.filter(({ path }) => !isInside(root, path));
132
+ return {
133
+ id: declared.id,
134
+ files: located
135
+ .filter(({ path }) => isInside(root, path))
136
+ .map(({ file: written, mode, path }) => ({ path, mode, label: `${name}: ${written}`, source })),
137
+ problems: [...declared.problems, ...outside.map((each) => `${each.file} is outside the package`)].map((problem) => `${name}: ${problem}`),
138
+ ...(declared.unread === undefined ? {} : { unread: `${name}: ${declared.unread}` })
139
+ };
140
+ };
141
+ /** A file's content as a reading's input, or none with a problem. */
142
+ const fileInput = (file, unread) => {
143
+ const { path, mode, label, source } = file;
144
+ try {
145
+ const content = JSON.parse(readFileSync(path, "utf8"));
146
+ return [{ label, mode, file: content, ...(source === undefined ? {} : { source }) }];
147
+ }
148
+ catch (error) {
149
+ // the parser's message quotes the file, and a path may not lead to tokens at all
150
+ const reason = error instanceof SyntaxError ? "it is not JSON" : String(error);
151
+ unread.push(`${label}: ${reason}`);
152
+ return [];
153
+ }
154
+ };
155
+ /**
156
+ * Reads tokens files from disk.
157
+ *
158
+ * @param files - the files: each source's, then the catalogue's own.
159
+ */
160
+ export const readTokenFiles = (files) => {
161
+ const unread = [];
162
+ const { tokens, problems, clashes } = readTokens(files.flatMap((file) => fileInput(file, unread)));
163
+ return { tokens, problems: [...unread, ...problems], clashes };
164
+ };
@@ -25,4 +25,3 @@ export declare const dedented: (text: string, indent: number) => string;
25
25
  * @returns the texts by export name, or a message saying why the file cannot be read.
26
26
  */
27
27
  export declare const storyCode: (file: string, text: string) => Readonly<Record<string, string>> | string;
28
- //# sourceMappingURL=storyCode.d.ts.map
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * @module
11
11
  */
12
- import { parseSync } from "vite";
12
+ import { parseStoryFile } from "./storyParse.js";
13
13
  /** An expression without the TypeScript wrappers around it (`satisfies`, `as`, parentheses). */
14
14
  const unwrapped = (expression) => {
15
15
  if (expression.type === "TSSatisfiesExpression" ||
@@ -61,7 +61,7 @@ const renderText = (declarator, text) => {
61
61
  * @returns the texts by export name, or a message saying why the file cannot be read.
62
62
  */
63
63
  export const storyCode = (file, text) => {
64
- const { program, errors } = parseSync(file, text);
64
+ const { program, errors } = parseStoryFile(file, text);
65
65
  const [error] = errors;
66
66
  if (error !== undefined)
67
67
  return `${file} does not parse: ${error.message}`;
@@ -77,4 +77,3 @@ export const storyCode = (file, text) => {
77
77
  }
78
78
  return code;
79
79
  };
80
- //# sourceMappingURL=storyCode.js.map
@@ -0,0 +1,32 @@
1
+ /**
2
+ * A story file's named exports, read from its parsed source: the names the index takes as stories.
3
+ *
4
+ * @remarks
5
+ * Kept apart from `indexStoryFile.ts`, which reads each export's fields. Pure.
6
+ *
7
+ * @module
8
+ */
9
+ import type { ESTree } from "vite";
10
+ /**
11
+ * One named export of the file: its exported name, the local name it points at (none for a re-export from another
12
+ * file), whether its statement declares it (`export const A = …`, not `export { A }`), and where the statement starts.
13
+ */
14
+ export type NamedExport = {
15
+ /** The name it is exported as. */
16
+ readonly exportName: string;
17
+ /** The local name it points at; none for a re-export from another file. */
18
+ readonly local: string | undefined;
19
+ /** Whether its statement declares it (`export const A = …`), not only names it (`export { A }`). */
20
+ readonly isDeclared: boolean;
21
+ /** Where its statement starts. */
22
+ readonly start: number;
23
+ };
24
+ /** An export's or an import's name: an identifier's, or a string's (`export { A as "a story" }`). */
25
+ export declare const moduleName: (name: ESTree.ModuleExportName) => string;
26
+ /**
27
+ * The file's named exports that exist when it runs, in their order: declared ones and re-exports (`export { A as B }`,
28
+ * from this file or another); never the default export, a type, or the names of an `export *`.
29
+ *
30
+ * @param program - the parsed file.
31
+ */
32
+ export declare const namedExports: (program: ESTree.Program) => NamedExport[];
@@ -0,0 +1,27 @@
1
+ /** An export's or an import's name: an identifier's, or a string's (`export { A as "a story" }`). */
2
+ export const moduleName = (name) => name.type === "Literal" ? String(name.value) : name.name;
3
+ /**
4
+ * The file's named exports that exist when it runs, in their order: declared ones and re-exports (`export { A as B }`,
5
+ * from this file or another); never the default export, a type, or the names of an `export *`.
6
+ *
7
+ * @param program - the parsed file.
8
+ */
9
+ export const namedExports = (program) => program.body.flatMap((statement) => {
10
+ if (statement.type !== "ExportNamedDeclaration" || statement.exportKind === "type")
11
+ return [];
12
+ const { declaration, start } = statement;
13
+ if (declaration?.type === "VariableDeclaration") {
14
+ return declaration.declarations.flatMap((declarator) => declarator.id.type === "Identifier"
15
+ ? [{ exportName: declarator.id.name, local: declarator.id.name, isDeclared: true, start }]
16
+ : []);
17
+ }
18
+ if (declaration?.type === "FunctionDeclaration" && declaration.id !== null)
19
+ return [{ exportName: declaration.id.name, local: declaration.id.name, isDeclared: true, start }];
20
+ return statement.specifiers.flatMap((specifier) => {
21
+ const exportName = moduleName(specifier.exported);
22
+ if (specifier.exportKind === "type" || exportName === "default")
23
+ return [];
24
+ const local = statement.source === null ? moduleName(specifier.local) : undefined;
25
+ return [{ exportName, local, isDeclared: false, start }];
26
+ });
27
+ });
@@ -1,4 +1,5 @@
1
1
  import type { StoryFileIndex } from "@forgebook/story-format/source";
2
+ import { type DiskCache } from "./diskCache.ts";
2
3
  /** A pattern of story files and the folder it is read from: the declaring module's folder, the import's pattern. */
3
4
  export type StoryFilesGroup = {
4
5
  /** The declaring module's folder, absolute: the files' keys are relative to it. */
@@ -35,6 +36,23 @@ export declare const storyFileKeys: (root: string, patterns: readonly string[])
35
36
  * module's id. The plugin answers it (`usageModule.ts`) only when a page asks.
36
37
  */
37
38
  export declare const USAGE_PREFIX = "virtual:forgebook-usage:";
39
+ /**
40
+ * The id prefix of a group's search index: the group follows (`storyFilesGroupText`). The plugin answers it
41
+ * (`searchModule.ts`) only when a page asks, on the first search.
42
+ */
43
+ export declare const SEARCH_PREFIX = "virtual:forgebook-search:";
44
+ /** The id prefix of a docs pages' search index, the same way: the plugin answers it only on the first search. */
45
+ export declare const PAGES_SEARCH_PREFIX = "virtual:forgebook-search-pages:";
46
+ /**
47
+ * The id prefix of a group's texts module, the same way: a build's, imported by the group's module, which holds each
48
+ * file's docs, code and page as data (`builtTexts.ts`).
49
+ */
50
+ export declare const TEXTS_PREFIX = "virtual:forgebook-texts:";
51
+ /**
52
+ * The id prefix of a group's reach module, what each story reaches, the same way: only the dev server's tools ask for
53
+ * it, so a page that shows "Used in" never downloads it.
54
+ */
55
+ export declare const REACH_PREFIX = "virtual:forgebook-reach:";
38
56
  /** A story file a pattern matches, with its key and its index. */
39
57
  export type IndexedStoryFile = {
40
58
  /** Its path relative to the declaring module (`../src/x.stories.tsx`). */
@@ -44,23 +62,57 @@ export type IndexedStoryFile = {
44
62
  /** Its index. */
45
63
  readonly index: StoryFileIndex;
46
64
  };
65
+ /** A pattern's index as it is kept between starts, by file key. */
66
+ export type KeptIndex = Readonly<Record<string, StoryFileIndex>>;
67
+ /** Whether what a cache file holds is a pattern's index. */
68
+ export declare const isKeptIndex: (value: unknown) => value is KeptIndex;
69
+ /**
70
+ * One story file a pattern matches, indexed from its text on disk, with the title its path makes when it writes none.
71
+ *
72
+ * @internal
73
+ * @param root - the declaring module's folder.
74
+ * @param pattern - the pattern.
75
+ * @param key - the file's path relative to the declaring module.
76
+ * @returns the index, or a message saying why the file cannot be indexed.
77
+ */
78
+ export declare const storyFileIndex: (root: string, pattern: string, key: string) => StoryFileIndex | string;
47
79
  /**
48
80
  * Every story file a pattern matches, indexed.
49
81
  *
50
82
  * @param root - the declaring module's folder.
51
83
  * @param pattern - the pattern.
52
84
  * @param watch - adds a file whose edit renews the module that read it.
85
+ * @param cache - the index kept between starts, which holds while the files it came from do; none reads them all.
53
86
  * @throws when a story file cannot be indexed.
54
87
  */
55
- export declare const indexedStoryFiles: (root: string, pattern: string, watch: (file: string) => void) => IndexedStoryFile[];
88
+ export declare const indexedStoryFiles: (root: string, pattern: string, watch: (file: string) => void, cache?: DiskCache<KeptIndex>) => IndexedStoryFile[];
89
+ /** The loaders a group offers besides its story files'. */
90
+ export type GroupLoaders = {
91
+ /** Whether it offers its "Used in" (the catalogue did not turn it off). */
92
+ readonly hasUsage: boolean;
93
+ /** Whether it offers what each story reaches: only on a dev server, for its tools. */
94
+ readonly hasReach: boolean;
95
+ };
56
96
  /**
57
97
  * The code of the module for one pattern.
58
98
  *
59
99
  * @param root - the declaring module's folder.
60
100
  * @param pattern - the pattern before `?forgebook-files`.
61
101
  * @param watch - adds a file whose edit renews the module (each story file: its index is in the module).
62
- * @param hasUsage - whether the group offers its "Used in" loader (the catalogue did not turn it off).
102
+ * @param loaders - the group's loaders besides its story files'; both by default.
103
+ * @param cache - the index kept between starts.
63
104
  * @returns the module's code, or a message saying which file cannot be indexed.
64
105
  */
65
- export declare const storyFilesModule: (root: string, pattern: string, watch: (file: string) => void, hasUsage?: boolean) => string;
66
- //# sourceMappingURL=storyFilesModule.d.ts.map
106
+ export declare const storyFilesModule: (root: string, pattern: string, watch: (file: string) => void, loaders?: GroupLoaders, cache?: DiskCache<KeptIndex>) => string;
107
+ /**
108
+ * The code of the module for one pattern, from its story files indexed.
109
+ *
110
+ * @internal
111
+ * @param root - the declaring module's folder.
112
+ * @param pattern - the pattern before `?forgebook-files`.
113
+ * @param files - the story files it matches, indexed.
114
+ * @param loaders - the group's loaders besides its story files'.
115
+ * @param hasTexts - a build's: whether each file's docs, code and page come from the group's texts module, in the
116
+ * rows' order (`TEXTS_PREFIX`), and not each from its query.
117
+ */
118
+ export declare const storyFilesCode: (root: string, pattern: string, files: readonly IndexedStoryFile[], loaders: GroupLoaders, hasTexts?: boolean) => string;
@@ -6,14 +6,18 @@
6
6
  * @remarks
7
7
  * One module per pattern, instead of an import per file: in development the browser fetched every index module one by
8
8
  * one, a few hundred requests per frame. The keys are the files' paths relative to the declaring module
9
- * (`../src/x.stories.tsx`), the same keys `storyFileKeys` gives the tests that read the files from the disk.
9
+ * (`../src/x.stories.tsx`), the same keys `storyFileKeys` gives the tests that read the files from the disk. A build
10
+ * takes each file's docs, code and page from the group's texts module, written as data, instead of their loaders'
11
+ * imports (`builtTexts.ts`).
10
12
  *
11
13
  * @module
12
14
  */
13
15
  import { globSync, readFileSync } from "node:fs";
14
- import { join, relative, resolve } from "node:path";
16
+ import { codeLiteral } from "../codeLiteral.js";
15
17
  import { autoTitle, patternBase } from "./autoTitle.js";
18
+ import { isSettledSince, nowNs, stampPaths } from "./diskCache.js";
16
19
  import { indexStoryFile } from "./indexStoryFile.js";
20
+ import { VITE_PATHS } from "./vitePaths.js";
17
21
  /** Between a group's parts in a module's id: no path or pattern holds it. */
18
22
  const GROUP_SEPARATOR = "::";
19
23
  /**
@@ -43,6 +47,15 @@ export const storyFilesGroupOf = (text) => {
43
47
  const [root = "", up = "0", own = ""] = text.split(GROUP_SEPARATOR);
44
48
  return { root, pattern: `${"../".repeat(Number(up))}${own}` };
45
49
  };
50
+ /** The folder of a project's dependencies. */
51
+ const DEPENDENCIES = "node_modules";
52
+ /**
53
+ * What a pattern leaves out: the dependencies, unless it names them. A `**` from a monorepo's root would otherwise walk
54
+ * every package's, seconds on the server's thread for files nobody asked for, as Storybook's own globs skip them.
55
+ *
56
+ * @param pattern - the pattern.
57
+ */
58
+ const excludedFrom = (pattern) => pattern.includes(DEPENDENCIES) ? () => false : (name) => name === DEPENDENCIES;
46
59
  /**
47
60
  * The story files patterns match, as paths relative to `root` starting with `./` or `../`, sorted.
48
61
  *
@@ -50,62 +63,137 @@ export const storyFilesGroupOf = (text) => {
50
63
  * @param patterns - the patterns (`../src/**\/*.stories.tsx`).
51
64
  */
52
65
  export const storyFileKeys = (root, patterns) => patterns
53
- .flatMap((pattern) => globSync(pattern, { cwd: root }))
54
- .map((file) => {
55
- const path = relative(root, join(root, file)).split("\\").join("/");
56
- return path.startsWith(".") ? path : `./${path}`;
57
- })
66
+ .flatMap((pattern) => globSync(pattern, { cwd: root, exclude: excludedFrom(pattern) }))
67
+ // with forward slashes on every system, so a story file has the same key wherever the catalogue runs
68
+ .map((file) => VITE_PATHS.relativeKey(root, file))
58
69
  .sort();
59
70
  /**
60
71
  * The id prefix of a group's "Used in" module: the group follows (`storyFilesGroupText`), as in a `?forgebook-files`
61
72
  * module's id. The plugin answers it (`usageModule.ts`) only when a page asks.
62
73
  */
63
74
  export const USAGE_PREFIX = "virtual:forgebook-usage:";
75
+ /**
76
+ * The id prefix of a group's search index: the group follows (`storyFilesGroupText`). The plugin answers it
77
+ * (`searchModule.ts`) only when a page asks, on the first search.
78
+ */
79
+ export const SEARCH_PREFIX = "virtual:forgebook-search:";
80
+ /** The id prefix of a docs pages' search index, the same way: the plugin answers it only on the first search. */
81
+ export const PAGES_SEARCH_PREFIX = "virtual:forgebook-search-pages:";
82
+ /**
83
+ * The id prefix of a group's texts module, the same way: a build's, imported by the group's module, which holds each
84
+ * file's docs, code and page as data (`builtTexts.ts`).
85
+ */
86
+ export const TEXTS_PREFIX = "virtual:forgebook-texts:";
87
+ /**
88
+ * The id prefix of a group's reach module, what each story reaches, the same way: only the dev server's tools ask for
89
+ * it, so a page that shows "Used in" never downloads it.
90
+ */
91
+ export const REACH_PREFIX = "virtual:forgebook-reach:";
92
+ /** Whether what a cache file holds is a pattern's index. */
93
+ export const isKeptIndex = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
94
+ /**
95
+ * One story file a pattern matches, indexed from its text on disk, with the title its path makes when it writes none.
96
+ *
97
+ * @internal
98
+ * @param root - the declaring module's folder.
99
+ * @param pattern - the pattern.
100
+ * @param key - the file's path relative to the declaring module.
101
+ * @returns the index, or a message saying why the file cannot be indexed.
102
+ */
103
+ export const storyFileIndex = (root, pattern, key) => {
104
+ const file = VITE_PATHS.resolve(root, key);
105
+ const title = autoTitle(patternBase(pattern), key);
106
+ return indexStoryFile(file, readFileSync(file, "utf8"), title === undefined ? {} : { autoTitle: title });
107
+ };
64
108
  /**
65
109
  * Every story file a pattern matches, indexed.
66
110
  *
67
111
  * @param root - the declaring module's folder.
68
112
  * @param pattern - the pattern.
69
113
  * @param watch - adds a file whose edit renews the module that read it.
114
+ * @param cache - the index kept between starts, which holds while the files it came from do; none reads them all.
70
115
  * @throws when a story file cannot be indexed.
71
116
  */
72
- export const indexedStoryFiles = (root, pattern, watch) => storyFileKeys(root, [pattern]).map((key) => {
73
- const file = resolve(root, key);
74
- watch(file);
75
- const title = autoTitle(patternBase(pattern), key);
76
- const index = indexStoryFile(file, readFileSync(file, "utf8"), title === undefined ? {} : { autoTitle: title });
77
- if (typeof index === "string")
78
- throw new Error(index);
79
- return { key, file, index };
80
- });
81
- /** An object literal of a key per file, each value written by `value`. */
82
- const objectOf = (keys, value) => `{${keys.map((key) => `${JSON.stringify(key)}: ${value(key)}`).join(",\n")}}`;
117
+ export const indexedStoryFiles = (root, pattern, watch, cache) => {
118
+ const name = storyFilesGroupText(VITE_PATHS.normalize(root), pattern);
119
+ const since = nowNs();
120
+ const kept = cache?.read(name);
121
+ const files = storyFileKeys(root, [pattern]).map((key) => {
122
+ const file = VITE_PATHS.resolve(root, key);
123
+ watch(file);
124
+ const known = kept?.[key];
125
+ if (known !== undefined)
126
+ return { key, file, index: known };
127
+ const index = storyFileIndex(root, pattern, key);
128
+ if (typeof index === "string")
129
+ throw new Error(index);
130
+ return { key, file, index };
131
+ });
132
+ // kept again when anything was read anew: a file added, or the kept index out of date
133
+ if (cache !== undefined && files.some(({ key }) => kept?.[key] === undefined)) {
134
+ const stamps = stampPaths(files.map((each) => each.file));
135
+ const index = Object.fromEntries(files.map((each) => [each.key, each.index]));
136
+ if (isSettledSince(stamps, since))
137
+ cache.write(name, index, stamps);
138
+ }
139
+ return files;
140
+ };
83
141
  /**
84
142
  * The code of the module for one pattern.
85
143
  *
86
144
  * @param root - the declaring module's folder.
87
145
  * @param pattern - the pattern before `?forgebook-files`.
88
146
  * @param watch - adds a file whose edit renews the module (each story file: its index is in the module).
89
- * @param hasUsage - whether the group offers its "Used in" loader (the catalogue did not turn it off).
147
+ * @param loaders - the group's loaders besides its story files'; both by default.
148
+ * @param cache - the index kept between starts.
90
149
  * @returns the module's code, or a message saying which file cannot be indexed.
91
150
  */
92
- export const storyFilesModule = (root, pattern, watch, hasUsage = true) => {
93
- const files = indexedStoryFiles(root, pattern, watch);
94
- const keys = files.map((file) => file.key);
95
- const index = Object.fromEntries(files.map((file) => [file.key, file.index]));
96
- const usage = JSON.stringify(`${USAGE_PREFIX}${storyFilesGroupText(root, pattern)}`);
97
- // absolute paths: the module has no folder of its own; Vite serves them under /@fs/ in development
98
- const path = (key) => JSON.stringify(resolve(root, key));
99
- const query = (key, name) => JSON.stringify(`${resolve(root, key)}?${name}`);
151
+ export const storyFilesModule = (root, pattern, watch, loaders = { hasUsage: true, hasReach: true }, cache) => storyFilesCode(root, pattern, indexedStoryFiles(root, pattern, watch, cache), loaders);
152
+ /**
153
+ * The code of the module for one pattern, from its story files indexed.
154
+ *
155
+ * @internal
156
+ * @param root - the declaring module's folder.
157
+ * @param pattern - the pattern before `?forgebook-files`.
158
+ * @param files - the story files it matches, indexed.
159
+ * @param loaders - the group's loaders besides its story files'.
160
+ * @param hasTexts - a build's: whether each file's docs, code and page come from the group's texts module, in the
161
+ * rows' order (`TEXTS_PREFIX`), and not each from its query.
162
+ */
163
+ export const storyFilesCode = (root, pattern, files, loaders, hasTexts = false) => {
164
+ const { hasUsage, hasReach } = loaders;
165
+ // the group's id in Vite's form, as the plugin names the declaring module's folder
166
+ const folder = VITE_PATHS.normalize(root);
167
+ const usage = codeLiteral(`${USAGE_PREFIX}${storyFilesGroupText(folder, pattern)}`);
168
+ const search = codeLiteral(`${SEARCH_PREFIX}${storyFilesGroupText(folder, pattern)}`);
169
+ const reach = codeLiteral(`${REACH_PREFIX}${storyFilesGroupText(folder, pattern)}`);
170
+ const texts = codeLiteral(`${TEXTS_PREFIX}${storyFilesGroupText(folder, pattern)}`);
171
+ // absolute paths in Vite's form: the module has no folder of its own, Vite serves them under /@fs/ in development,
172
+ // and the queries' ids come back to the plugin as written here
173
+ const absolute = (key) => VITE_PATHS.resolve(folder, key);
174
+ const path = (key) => codeLiteral(absolute(key));
175
+ const query = (key, name) => `() => import(${codeLiteral(`${absolute(key)}?${name}`)}).then((module) => module.default)`;
176
+ const textLoaders = (key) => hasTexts
177
+ ? []
178
+ : [query(key, "forgebook-docs"), query(key, "forgebook-code"), query(key, "forgebook-page")];
179
+ // a row per file, its name written once and not once per column (its index, each loader): a large catalogue's
180
+ // names are a tenth of its index
181
+ const rows = files.map(({ key, index }) => [codeLiteral(key), codeLiteral(index), `() => import(${path(key)})`, ...textLoaders(key)].join(", "));
182
+ const written = `[${rows.map((row) => `[${row}]`).join(",\n")}]`;
100
183
  return [
184
+ ...(hasTexts ? [`import texts from ${texts};`] : []),
185
+ // a build's texts are their module's rows, in the same order: each joins its file's
186
+ `const rows = ${hasTexts ? `${written}.map((row, at) => row.concat(texts[at]))` : written};`,
187
+ "const column = (at) => Object.fromEntries(rows.map((row) => [row[0], row[at]]));",
101
188
  "export default {",
102
- `index: ${JSON.stringify(index)},`,
103
- `stories: ${objectOf(keys, (key) => `() => import(${path(key)})`)},`,
104
- `docs: ${objectOf(keys, (key) => `() => import(${query(key, "forgebook-docs")}).then((module) => module.default)`)},`,
105
- `code: ${objectOf(keys, (key) => `() => import(${query(key, "forgebook-code")}).then((module) => module.default)`)},`,
106
- `pages: ${objectOf(keys, (key) => `() => import(${query(key, "forgebook-page")}).then((module) => module.default)`)}${hasUsage ? "," : ""}`,
107
- ...(hasUsage ? [`usage: () => import(${usage}).then((module) => module.default)`] : []),
189
+ "index: column(1),",
190
+ "stories: column(2),",
191
+ "docs: column(3),",
192
+ "code: column(4),",
193
+ "pages: column(5),",
194
+ `search: () => import(${search}).then((module) => module.default),`,
195
+ ...(hasUsage ? [`usage: () => import(${usage}).then((module) => module.default),`] : []),
196
+ ...(hasReach ? [`reach: () => import(${reach}).then((module) => module.default),`] : []),
108
197
  "};"
109
198
  ].join("\n");
110
199
  };
111
- //# sourceMappingURL=storyFilesModule.js.map
@@ -1,10 +1,11 @@
1
1
  /**
2
- * A story file's meta, read from its source with the TypeScript compiler's parser: the value of one of its fields, the
3
- * component it names and the module it imports that component from.
2
+ * A story file's meta, read from its source with the TypeScript compiler's parser, for the docs: the value of one of its
3
+ * fields, the component it names and its subcomponents.
4
4
  *
5
5
  * @remarks
6
- * CSF is the same whatever framework a story is written for, so the plugin, `forgebook-docs` and every framework's
7
- * docs extractor read the meta through this module. Pure: a parsed file in, nodes or a specifier out.
6
+ * CSF is the same whatever framework a story is written for, so `forgebook-docs` and every framework's docs extractor
7
+ * read the meta through this module, inside their TypeScript program. The plugin's own reading, outside any program,
8
+ * is `componentImport.ts`. Pure: a parsed file in, nodes out.
8
9
  *
9
10
  * @module
10
11
  */
@@ -22,13 +23,21 @@ export declare const metaField: (source: ts.SourceFile, name: string) => ts.Expr
22
23
  * @param source - the story file, parsed.
23
24
  */
24
25
  export declare const metaComponent: (source: ts.SourceFile) => ts.Expression | undefined;
26
+ /** An expression without the wrappers around a literal list (`as const`, `satisfies`, parentheses). */
27
+ export declare const unwrapped: (expression: ts.Expression) => ts.Expression;
28
+ /** A subcomponent the meta names: the name it gives it, and where the code names its value. */
29
+ export type MetaSubcomponent = {
30
+ /** Its key in `subcomponents`. */
31
+ readonly name: string;
32
+ /** The expression that names the component, the location the checker reads its type at. */
33
+ readonly expression: ts.Expression;
34
+ /** The component's symbol as written there; a shorthand (`{ ChipList }`) names the value, not the key. */
35
+ readonly symbol: ts.Symbol | undefined;
36
+ };
25
37
  /**
26
- * The module a story file imports its meta's component from (`./Button`), read from the file alone: no program, so
27
- * it answers at once, where the docs need the package's program.
38
+ * The subcomponents the meta names, in the order it writes them: `subcomponents: { ChipList, Items: MenuItem }`.
28
39
  *
29
- * @param storyFile - the story file's path, for the parser.
30
- * @param text - the story file's text.
31
- * @returns the import's module specifier, or none when the meta names no imported component.
40
+ * @param source - the story file, parsed.
41
+ * @param checker - the program's checker.
32
42
  */
33
- export declare const componentImport: (storyFile: string, text: string) => string | undefined;
34
- //# sourceMappingURL=storyMeta.d.ts.map
43
+ export declare const metaSubcomponents: (source: ts.SourceFile, checker: ts.TypeChecker) => MetaSubcomponent[];