forgebook 0.1.8 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1144) hide show
  1. package/README.md +987 -28
  2. package/dist/bin/forgebook/agentClient.d.ts +30 -1
  3. package/dist/bin/forgebook/agentClient.js +155 -14
  4. package/dist/bin/forgebook/agentLoopCommands.d.mts +0 -1
  5. package/dist/bin/forgebook/agentLoopCommands.mjs +164 -40
  6. package/dist/bin/forgebook/agentText.d.ts +76 -5
  7. package/dist/bin/forgebook/agentText.js +197 -11
  8. package/dist/bin/forgebook/agents.md +158 -9
  9. package/dist/bin/forgebook/agentsText.d.ts +7 -3
  10. package/dist/bin/forgebook/agentsText.js +7 -3
  11. package/dist/bin/forgebook/builtCatalogue.d.ts +31 -0
  12. package/dist/bin/forgebook/builtCatalogue.js +96 -0
  13. package/dist/bin/forgebook/catalogueCommands.d.ts +22 -3
  14. package/dist/bin/forgebook/catalogueCommands.js +21 -2
  15. package/dist/bin/forgebook/catalogueVite.d.ts +51 -9
  16. package/dist/bin/forgebook/catalogueVite.js +95 -9
  17. package/dist/bin/forgebook/checkCodeRun.d.ts +8 -0
  18. package/dist/bin/forgebook/checkCodeRun.js +27 -0
  19. package/dist/bin/forgebook/commandServer.d.ts +11 -0
  20. package/dist/bin/forgebook/commandServer.js +39 -0
  21. package/dist/bin/forgebook/compileCache.d.ts +7 -0
  22. package/dist/bin/forgebook/compileCache.js +24 -0
  23. package/dist/bin/forgebook/devCommands.d.mts +14 -0
  24. package/dist/bin/forgebook/devCommands.mjs +104 -0
  25. package/dist/bin/forgebook/errorsRun.d.ts +0 -1
  26. package/dist/bin/forgebook/errorsRun.js +0 -1
  27. package/dist/bin/forgebook/forgebook.d.mts +0 -1
  28. package/dist/bin/forgebook/forgebook.mjs +18 -302
  29. package/dist/bin/forgebook/forgebookCommands.d.mts +1 -0
  30. package/dist/bin/forgebook/forgebookCommands.mjs +292 -0
  31. package/dist/bin/forgebook/importers/storybook.d.ts +10 -4
  32. package/dist/bin/forgebook/importers/storybook.js +71 -45
  33. package/dist/bin/forgebook/importers/storybookAngular.d.ts +15 -0
  34. package/dist/bin/forgebook/importers/storybookAngular.js +97 -0
  35. package/dist/bin/forgebook/importers/storybookFrameworks.d.ts +53 -0
  36. package/dist/bin/forgebook/importers/storybookFrameworks.js +180 -0
  37. package/dist/bin/forgebook/importers/storybookReactNative.d.ts +40 -0
  38. package/dist/bin/forgebook/importers/storybookReactNative.js +179 -0
  39. package/dist/bin/forgebook/initCommands.d.mts +0 -1
  40. package/dist/bin/forgebook/initCommands.mjs +23 -12
  41. package/dist/bin/forgebook/initConfig.d.ts +0 -1
  42. package/dist/bin/forgebook/initConfig.js +17 -3
  43. package/dist/bin/forgebook/mcpCommand.d.mts +8 -0
  44. package/dist/bin/forgebook/mcpCommand.mjs +99 -0
  45. package/dist/bin/forgebook/mcpPreview.d.ts +32 -0
  46. package/dist/bin/forgebook/mcpPreview.js +107 -0
  47. package/dist/bin/forgebook/mcpToolParts.d.ts +28 -0
  48. package/dist/bin/forgebook/mcpToolParts.js +24 -0
  49. package/dist/bin/forgebook/mcpTools.d.ts +12 -6
  50. package/dist/bin/forgebook/mcpTools.js +148 -27
  51. package/dist/bin/forgebook/newStories.d.ts +2 -3
  52. package/dist/bin/forgebook/newStories.js +4 -3
  53. package/dist/bin/forgebook/newStoriesFile.d.ts +3 -4
  54. package/dist/bin/forgebook/newStoriesFile.js +30 -13
  55. package/dist/bin/forgebook/pageTools.d.ts +8 -0
  56. package/dist/bin/forgebook/pageTools.js +71 -0
  57. package/dist/bin/forgebook/pagesCommands.d.mts +14 -0
  58. package/dist/bin/forgebook/pagesCommands.mjs +109 -0
  59. package/dist/bin/forgebook/prebundleChild.d.ts +1 -0
  60. package/dist/bin/forgebook/prebundleChild.js +34 -0
  61. package/dist/bin/forgebook/prebundleRun.d.ts +22 -0
  62. package/dist/bin/forgebook/prebundleRun.js +49 -0
  63. package/dist/bin/forgebook/prebundleStart.d.ts +44 -0
  64. package/dist/bin/forgebook/prebundleStart.js +82 -0
  65. package/dist/bin/forgebook/semanticOptions.d.ts +45 -0
  66. package/dist/bin/forgebook/semanticOptions.js +36 -0
  67. package/dist/bin/forgebook/storyCheckCommands.d.mts +13 -0
  68. package/dist/bin/forgebook/storyCheckCommands.mjs +69 -0
  69. package/dist/bin/forgebook/storyCheckRun.d.ts +40 -6
  70. package/dist/bin/forgebook/storyCheckRun.js +90 -17
  71. package/dist/bin/forgebook/tokensRun.d.ts +41 -0
  72. package/dist/bin/forgebook/tokensRun.js +42 -0
  73. package/dist/bin/forgebook/touchWindowRun.d.ts +0 -1
  74. package/dist/bin/forgebook/touchWindowRun.js +0 -1
  75. package/dist/bin/forgebook/visualCommands.d.mts +37 -0
  76. package/dist/bin/forgebook/visualCommands.mjs +162 -0
  77. package/dist/bin/forgebook/viteCache.d.ts +48 -0
  78. package/dist/bin/forgebook/viteCache.js +112 -0
  79. package/dist/bin/forgebook-docs/catalogueDocs.d.ts +1 -2
  80. package/dist/bin/forgebook-docs/catalogueDocs.js +8 -5
  81. package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts +22 -3
  82. package/dist/bin/forgebook-docs/catalogueDocs.types.js +0 -1
  83. package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts +0 -1
  84. package/dist/bin/forgebook-docs/catalogueMarkdown.js +67 -19
  85. package/dist/bin/forgebook-docs/catalogueOptions.d.ts +1 -2
  86. package/dist/bin/forgebook-docs/catalogueOptions.js +8 -2
  87. package/dist/bin/forgebook-docs/collectDocs.d.ts +4 -4
  88. package/dist/bin/forgebook-docs/collectDocs.js +122 -30
  89. package/dist/bin/forgebook-docs/forgebook-docs.d.mts +0 -1
  90. package/dist/bin/forgebook-docs/forgebook-docs.mjs +0 -1
  91. package/dist/bin/forgebook-docs/llmsText.d.ts +5 -1
  92. package/dist/bin/forgebook-docs/llmsText.js +5 -2
  93. package/dist/bin/forgebook-docs/moduleDocs.d.ts +0 -1
  94. package/dist/bin/forgebook-docs/moduleDocs.js +0 -1
  95. package/dist/bin/forgebook-docs/sassDocs.d.ts +0 -1
  96. package/dist/bin/forgebook-docs/sassDocs.js +0 -1
  97. package/dist/bin/forgebook-texts/forgebook-texts.d.mts +0 -1
  98. package/dist/bin/forgebook-texts/forgebook-texts.mjs +1 -2
  99. package/dist/bin/forgebook-texts/storyTextsReport.d.ts +0 -1
  100. package/dist/bin/forgebook-texts/storyTextsReport.js +0 -1
  101. package/dist/bin/forgebook-texts/storyTextsReport.types.d.ts +0 -1
  102. package/dist/bin/forgebook-texts/storyTextsReport.types.js +0 -1
  103. package/dist/bin/frameworkDocs.d.ts +0 -1
  104. package/dist/bin/frameworkDocs.js +0 -1
  105. package/dist/src/a11y.d.ts +0 -1
  106. package/dist/src/a11y.js +0 -1
  107. package/dist/src/addressArgs.d.ts +74 -0
  108. package/dist/src/addressArgs.js +109 -0
  109. package/dist/src/addressTexts.d.ts +35 -0
  110. package/dist/src/addressTexts.js +51 -0
  111. package/dist/src/argTypes.d.ts +0 -1
  112. package/dist/src/argTypes.js +2 -2
  113. package/dist/src/argsProps.d.ts +32 -0
  114. package/dist/src/argsProps.js +69 -0
  115. package/dist/src/audiences.d.ts +17 -0
  116. package/dist/src/audiences.js +15 -0
  117. package/dist/src/backdrops.d.ts +39 -40
  118. package/dist/src/backdrops.js +37 -174
  119. package/dist/src/catalogue.d.ts +103 -24
  120. package/dist/src/catalogue.js +78 -20
  121. package/dist/src/codeLiteral.d.ts +41 -0
  122. package/dist/src/codeLiteral.js +51 -0
  123. package/dist/src/componentDocs.d.ts +57 -1
  124. package/dist/src/componentDocs.js +20 -3
  125. package/dist/src/controlKeys.d.ts +0 -1
  126. package/dist/src/controlKeys.js +0 -1
  127. package/dist/src/deviceDrawing.d.ts +114 -0
  128. package/dist/src/deviceDrawing.js +358 -0
  129. package/dist/src/deviceMenuView.d.ts +17 -0
  130. package/dist/src/deviceMenuView.js +22 -0
  131. package/dist/src/devicePicture.d.ts +57 -0
  132. package/dist/src/devicePicture.js +104 -0
  133. package/dist/src/deviceView.d.ts +172 -0
  134. package/dist/src/deviceView.js +111 -0
  135. package/dist/src/devices.d.ts +115 -0
  136. package/dist/src/devices.js +135 -0
  137. package/dist/src/docAnchors.d.ts +27 -0
  138. package/dist/src/docAnchors.js +33 -0
  139. package/dist/src/docPages.d.ts +203 -0
  140. package/dist/src/docPages.js +169 -0
  141. package/dist/src/embed.d.ts +32 -0
  142. package/dist/src/embed.js +24 -0
  143. package/dist/src/embedCode.d.ts +31 -0
  144. package/dist/src/embedCode.js +88 -0
  145. package/dist/src/frame/backdropPictures.d.ts +29 -0
  146. package/dist/src/frame/backdropPictures.js +187 -0
  147. package/dist/src/frame/checkStory.d.ts +6 -3
  148. package/dist/src/frame/checkStory.js +76 -5
  149. package/dist/src/frame/followTouch.d.ts +9 -0
  150. package/dist/src/frame/followTouch.js +43 -0
  151. package/dist/src/frame/frame.css +8 -3
  152. package/dist/src/frame/frameClock.d.ts +0 -1
  153. package/dist/src/frame/frameClock.js +0 -1
  154. package/dist/src/frame/frameStatus.d.ts +2 -1
  155. package/dist/src/frame/frameStatus.js +2 -1
  156. package/dist/src/frame/frameView.d.ts +0 -1
  157. package/dist/src/frame/frameView.js +1 -2
  158. package/dist/src/frame/matrixLayout.d.ts +0 -1
  159. package/dist/src/frame/matrixLayout.js +0 -1
  160. package/dist/src/frame/measureTools.d.ts +0 -1
  161. package/dist/src/frame/measureTools.js +0 -1
  162. package/dist/src/frame/mountFrame.d.ts +10 -3
  163. package/dist/src/frame/mountFrame.js +184 -66
  164. package/dist/src/frame/playStory.d.ts +0 -1
  165. package/dist/src/frame/playStory.js +0 -1
  166. package/dist/src/frame/pluginFrames.d.ts +31 -0
  167. package/dist/src/frame/pluginFrames.js +23 -0
  168. package/dist/src/frame/renderer.d.ts +50 -12
  169. package/dist/src/frame/renderer.js +27 -6
  170. package/dist/src/frame/settle.d.ts +0 -1
  171. package/dist/src/frame/settle.js +0 -1
  172. package/dist/src/frame/shellChannel.d.ts +47 -0
  173. package/dist/src/frame/shellChannel.js +39 -0
  174. package/dist/src/frame/spillOutline.d.ts +0 -1
  175. package/dist/src/frame/spillOutline.js +0 -1
  176. package/dist/src/frame/staleModule.d.ts +14 -2
  177. package/dist/src/frame/staleModule.js +19 -2
  178. package/dist/src/frame/storyCanvas.d.ts +0 -1
  179. package/dist/src/frame/storyCanvas.js +0 -1
  180. package/dist/src/frame/storyHooks.d.ts +0 -1
  181. package/dist/src/frame/storyHooks.js +0 -1
  182. package/dist/src/frame/storyModule.d.ts +13 -2
  183. package/dist/src/frame/storyModule.js +45 -3
  184. package/dist/src/frame/storyRun.d.ts +21 -4
  185. package/dist/src/frame/storyRun.js +100 -19
  186. package/dist/src/frame/touchCaret.d.ts +43 -0
  187. package/dist/src/frame/touchCaret.js +195 -0
  188. package/dist/src/frame/touchDots.d.ts +0 -1
  189. package/dist/src/frame/touchDots.js +0 -1
  190. package/dist/src/frame/touchEvents.d.ts +3 -3
  191. package/dist/src/frame/touchEvents.js +17 -19
  192. package/dist/src/frame/touchGesture.d.ts +0 -1
  193. package/dist/src/frame/touchGesture.js +0 -1
  194. package/dist/src/frame/touchLayer.d.ts +3 -3
  195. package/dist/src/frame/touchLayer.js +52 -37
  196. package/dist/src/frame/touchScroll.d.ts +0 -1
  197. package/dist/src/frame/touchScroll.js +0 -1
  198. package/dist/src/frameOrigins.d.ts +62 -0
  199. package/dist/src/frameOrigins.js +49 -0
  200. package/dist/src/hotModules.d.ts +48 -0
  201. package/dist/src/hotModules.js +53 -0
  202. package/dist/src/jsxCode.d.ts +22 -0
  203. package/dist/src/jsxCode.js +36 -0
  204. package/dist/src/languages.d.ts +0 -1
  205. package/dist/src/languages.js +0 -1
  206. package/dist/src/liveErrors.d.ts +0 -1
  207. package/dist/src/liveErrors.js +0 -1
  208. package/dist/src/matrix.d.ts +0 -1
  209. package/dist/src/matrix.js +0 -1
  210. package/dist/src/messages.d.ts +28 -2
  211. package/dist/src/messages.js +24 -3
  212. package/dist/src/namedValues.d.ts +11 -1
  213. package/dist/src/namedValues.js +25 -2
  214. package/dist/src/namedViews.d.ts +1 -13
  215. package/dist/src/namedViews.js +30 -7
  216. package/dist/src/packedText.d.ts +21 -0
  217. package/dist/src/packedText.js +36 -0
  218. package/dist/src/pageAddress.d.ts +26 -0
  219. package/dist/src/pageAddress.js +39 -0
  220. package/dist/src/pageConfig.d.ts +3 -1
  221. package/dist/src/pageConfig.js +0 -1
  222. package/dist/src/pageTree.d.ts +79 -0
  223. package/dist/src/pageTree.js +108 -0
  224. package/dist/src/playTrace.d.ts +0 -1
  225. package/dist/src/playTrace.js +0 -1
  226. package/dist/src/plugin.d.ts +230 -0
  227. package/dist/src/plugin.js +12 -0
  228. package/dist/src/pluginReact.d.ts +23 -0
  229. package/dist/src/pluginReact.js +24 -0
  230. package/dist/src/previewRelay.d.ts +40 -0
  231. package/dist/src/previewRelay.js +69 -0
  232. package/dist/src/previewTexts.d.ts +26 -0
  233. package/dist/src/previewTexts.js +33 -0
  234. package/dist/src/previewView.d.ts +31 -0
  235. package/dist/src/previewView.js +264 -0
  236. package/dist/src/propGroups.d.ts +109 -0
  237. package/dist/src/propGroups.js +113 -0
  238. package/dist/src/realTouch.d.ts +1 -2
  239. package/dist/src/realTouch.js +1 -2
  240. package/dist/src/safeAreaParameter.d.ts +42 -0
  241. package/dist/src/safeAreaParameter.js +50 -0
  242. package/dist/src/search.d.ts +154 -0
  243. package/dist/src/search.js +265 -0
  244. package/dist/src/searchIndex.d.ts +61 -0
  245. package/dist/src/searchIndex.js +55 -0
  246. package/dist/src/searchMarks.d.ts +29 -0
  247. package/dist/src/searchMarks.js +165 -0
  248. package/dist/src/searchMatch.d.ts +58 -0
  249. package/dist/src/searchMatch.js +127 -0
  250. package/dist/src/shell/A11yTab.d.ts +0 -7
  251. package/dist/src/shell/A11yTab.js +4 -15
  252. package/dist/src/shell/AnchorScroll.d.ts +25 -0
  253. package/dist/src/shell/AnchorScroll.js +10 -0
  254. package/dist/src/shell/ApiReference.d.ts +16 -4
  255. package/dist/src/shell/ApiReference.js +82 -20
  256. package/dist/src/shell/AppearanceMenu.d.ts +1 -2
  257. package/dist/src/shell/AppearanceMenu.js +8 -5
  258. package/dist/src/shell/AudienceSections.d.ts +106 -0
  259. package/dist/src/shell/AudienceSections.js +154 -0
  260. package/dist/src/shell/AuthoredHome.d.ts +37 -0
  261. package/dist/src/shell/AuthoredHome.js +96 -0
  262. package/dist/src/shell/BoxWidth.d.ts +0 -1
  263. package/dist/src/shell/BoxWidth.js +0 -1
  264. package/dist/src/shell/ClockBar.d.ts +19 -0
  265. package/dist/src/shell/ClockBar.js +15 -0
  266. package/dist/src/shell/ClockControls.d.ts +5 -9
  267. package/dist/src/shell/ClockControls.js +13 -16
  268. package/dist/src/shell/Code.d.ts +0 -1
  269. package/dist/src/shell/Code.js +0 -1
  270. package/dist/src/shell/CodeTab.d.ts +0 -1
  271. package/dist/src/shell/CodeTab.js +2 -2
  272. package/dist/src/shell/CodeText.d.ts +0 -1
  273. package/dist/src/shell/CodeText.js +0 -1
  274. package/dist/src/shell/CompareGrid.d.ts +37 -0
  275. package/dist/src/shell/CompareGrid.js +24 -0
  276. package/dist/src/shell/ComponentPage.d.ts +48 -7
  277. package/dist/src/shell/ComponentPage.js +101 -59
  278. package/dist/src/shell/ControlKeyField.d.ts +0 -1
  279. package/dist/src/shell/ControlKeyField.js +3 -4
  280. package/dist/src/shell/ControlRow.d.ts +4 -4
  281. package/dist/src/shell/ControlRow.js +5 -5
  282. package/dist/src/shell/DeviceControl.d.ts +31 -0
  283. package/dist/src/shell/DeviceControl.js +33 -0
  284. package/dist/src/shell/DeviceSlot.d.ts +114 -0
  285. package/dist/src/shell/DeviceSlot.js +134 -0
  286. package/dist/src/shell/DocBlocks.d.ts +100 -0
  287. package/dist/src/shell/DocBlocks.js +206 -0
  288. package/dist/src/shell/DocContainers.d.ts +70 -0
  289. package/dist/src/shell/DocContainers.js +94 -0
  290. package/dist/src/shell/DocContents.d.ts +29 -0
  291. package/dist/src/shell/DocContents.js +88 -0
  292. package/dist/src/shell/DocPage.d.ts +69 -0
  293. package/dist/src/shell/DocPage.js +141 -0
  294. package/dist/src/shell/Dock.d.ts +1 -2
  295. package/dist/src/shell/Dock.js +1 -2
  296. package/dist/src/shell/DroppedArgsList.d.ts +26 -0
  297. package/dist/src/shell/DroppedArgsList.js +8 -0
  298. package/dist/src/shell/DroppedArgsNote.d.ts +14 -0
  299. package/dist/src/shell/DroppedArgsNote.js +10 -0
  300. package/dist/src/shell/EmbedButton.d.ts +19 -0
  301. package/dist/src/shell/EmbedButton.js +96 -0
  302. package/dist/src/shell/EmbedPage.d.ts +23 -0
  303. package/dist/src/shell/EmbedPage.js +168 -0
  304. package/dist/src/shell/EmbedPanel.d.ts +25 -0
  305. package/dist/src/shell/EmbedPanel.js +46 -0
  306. package/dist/src/shell/EventsTab.d.ts +0 -1
  307. package/dist/src/shell/EventsTab.js +2 -3
  308. package/dist/src/shell/Example.d.ts +20 -2
  309. package/dist/src/shell/Example.js +75 -22
  310. package/dist/src/shell/FrameView.d.ts +1 -2
  311. package/dist/src/shell/FrameView.js +4 -4
  312. package/dist/src/shell/HomePage.d.ts +78 -4
  313. package/dist/src/shell/HomePage.js +53 -14
  314. package/dist/src/shell/HomePieces.d.ts +40 -0
  315. package/dist/src/shell/HomePieces.js +29 -0
  316. package/dist/src/shell/InfoTip.d.ts +0 -1
  317. package/dist/src/shell/InfoTip.js +0 -1
  318. package/dist/src/shell/InteractionsTab.d.ts +0 -7
  319. package/dist/src/shell/InteractionsTab.js +3 -9
  320. package/dist/src/shell/LazyHost.d.ts +16 -0
  321. package/dist/src/shell/LazyHost.js +42 -0
  322. package/dist/src/shell/LazyPage.d.ts +24 -0
  323. package/dist/src/shell/LazyPage.js +9 -0
  324. package/dist/src/shell/LogicMark.d.ts +0 -1
  325. package/dist/src/shell/LogicMark.js +0 -1
  326. package/dist/src/shell/MatrixPicker.d.ts +0 -1
  327. package/dist/src/shell/MatrixPicker.js +0 -1
  328. package/dist/src/shell/NamedViews.d.ts +0 -1
  329. package/dist/src/shell/NamedViews.js +4 -5
  330. package/dist/src/shell/PackageHtml.d.ts +0 -1
  331. package/dist/src/shell/PackageHtml.js +0 -1
  332. package/dist/src/shell/PartsTab.d.ts +0 -7
  333. package/dist/src/shell/PartsTab.js +3 -13
  334. package/dist/src/shell/PinnedControl.d.ts +0 -1
  335. package/dist/src/shell/PinnedControl.js +2 -2
  336. package/dist/src/shell/PluginBlockHost.d.ts +46 -0
  337. package/dist/src/shell/PluginBlockHost.js +39 -0
  338. package/dist/src/shell/PluginTabHost.d.ts +32 -0
  339. package/dist/src/shell/PluginTabHost.js +25 -0
  340. package/dist/src/shell/PluginViewHost.d.ts +37 -0
  341. package/dist/src/shell/PluginViewHost.js +89 -0
  342. package/dist/src/shell/PropFields.d.ts +0 -1
  343. package/dist/src/shell/PropFields.js +0 -1
  344. package/dist/src/shell/PropRows.d.ts +42 -0
  345. package/dist/src/shell/PropRows.js +60 -0
  346. package/dist/src/shell/PropsTab.d.ts +24 -11
  347. package/dist/src/shell/PropsTab.js +31 -45
  348. package/dist/src/shell/RequiredFirstSwitch.d.ts +16 -0
  349. package/dist/src/shell/RequiredFirstSwitch.js +8 -0
  350. package/dist/src/shell/SearchPanel.d.ts +63 -0
  351. package/dist/src/shell/SearchPanel.js +209 -0
  352. package/dist/src/shell/Segmented.d.ts +0 -1
  353. package/dist/src/shell/Segmented.js +0 -1
  354. package/dist/src/shell/Shell.d.ts +34 -6
  355. package/dist/src/shell/Shell.js +271 -70
  356. package/dist/src/shell/Sidebar.d.ts +20 -5
  357. package/dist/src/shell/Sidebar.js +23 -56
  358. package/dist/src/shell/SidebarDocs.d.ts +38 -0
  359. package/dist/src/shell/SidebarDocs.js +30 -0
  360. package/dist/src/shell/SidebarEntries.d.ts +9 -1
  361. package/dist/src/shell/SidebarEntries.js +1 -2
  362. package/dist/src/shell/SidebarHandle.d.ts +0 -1
  363. package/dist/src/shell/SidebarHandle.js +0 -1
  364. package/dist/src/shell/SidebarSearch.d.ts +40 -0
  365. package/dist/src/shell/SidebarSearch.js +85 -0
  366. package/dist/src/shell/SignatureReference.d.ts +0 -1
  367. package/dist/src/shell/SignatureReference.js +1 -2
  368. package/dist/src/shell/Stage.d.ts +9 -4
  369. package/dist/src/shell/Stage.js +116 -75
  370. package/dist/src/shell/StageCompare.d.ts +14 -0
  371. package/dist/src/shell/StageCompare.js +11 -0
  372. package/dist/src/shell/StageTools.d.ts +0 -1
  373. package/dist/src/shell/StageTools.js +0 -1
  374. package/dist/src/shell/StageViewport.d.ts +7 -3
  375. package/dist/src/shell/StageViewport.js +4 -5
  376. package/dist/src/shell/StoryBar.d.ts +40 -0
  377. package/dist/src/shell/StoryBar.js +23 -0
  378. package/dist/src/shell/StoryCodeBlock.d.ts +1 -2
  379. package/dist/src/shell/StoryCodeBlock.js +0 -1
  380. package/dist/src/shell/StoryCoverage.d.ts +36 -0
  381. package/dist/src/shell/StoryCoverage.js +129 -0
  382. package/dist/src/shell/StoryPicker.d.ts +0 -1
  383. package/dist/src/shell/StoryPicker.js +0 -1
  384. package/dist/src/shell/Toolbar.d.ts +7 -3
  385. package/dist/src/shell/Toolbar.js +6 -6
  386. package/dist/src/shell/ToolbarControl.d.ts +6 -8
  387. package/dist/src/shell/ToolbarControl.js +28 -20
  388. package/dist/src/shell/UsedIn.d.ts +5 -6
  389. package/dist/src/shell/UsedIn.js +7 -20
  390. package/dist/src/shell/ViewMenu.d.ts +7 -7
  391. package/dist/src/shell/ViewMenu.js +61 -176
  392. package/dist/src/shell/ViewMenuPanel.d.ts +41 -0
  393. package/dist/src/shell/ViewMenuPanel.js +199 -0
  394. package/dist/src/shell/WidthField.d.ts +3 -2
  395. package/dist/src/shell/WidthField.js +2 -3
  396. package/dist/src/shell/asideStory.d.ts +34 -0
  397. package/dist/src/shell/asideStory.js +55 -0
  398. package/dist/src/shell/audienceLayout.d.ts +39 -0
  399. package/dist/src/shell/audienceLayout.js +33 -0
  400. package/dist/src/shell/audiencePage.d.ts +113 -0
  401. package/dist/src/shell/audiencePage.js +144 -0
  402. package/dist/src/shell/audienceSections.css +95 -0
  403. package/dist/src/shell/catalogueContext.d.ts +24 -2
  404. package/dist/src/shell/catalogueContext.js +12 -9
  405. package/dist/src/shell/codeTokens.d.ts +0 -1
  406. package/dist/src/shell/codeTokens.js +0 -1
  407. package/dist/src/shell/codeWriter.d.ts +0 -1
  408. package/dist/src/shell/codeWriter.js +0 -1
  409. package/dist/src/shell/compareVariants.d.ts +0 -1
  410. package/dist/src/shell/compareVariants.js +2 -2
  411. package/dist/src/shell/controlCycle.d.ts +0 -1
  412. package/dist/src/shell/controlCycle.js +13 -1
  413. package/dist/src/shell/controlLabel.d.ts +7 -0
  414. package/dist/src/shell/controlLabel.js +17 -0
  415. package/dist/src/shell/device/deviceFrame.css +42 -0
  416. package/dist/src/shell/device/deviceParts.d.ts +90 -0
  417. package/dist/src/shell/device/deviceParts.js +120 -0
  418. package/dist/src/shell/docPage.css +457 -0
  419. package/dist/src/shell/dockTabs.d.ts +20 -10
  420. package/dist/src/shell/dockTabs.js +42 -20
  421. package/dist/src/shell/embed.css +74 -0
  422. package/dist/src/shell/filesCode.d.ts +21 -0
  423. package/dist/src/shell/filesCode.js +37 -0
  424. package/dist/src/shell/forgebookMark.d.ts +15 -0
  425. package/dist/src/shell/forgebookMark.js +28 -0
  426. package/dist/src/shell/framesOrigin.d.ts +23 -0
  427. package/dist/src/shell/framesOrigin.js +69 -0
  428. package/dist/src/shell/icons.d.ts +3 -1
  429. package/dist/src/shell/icons.js +3 -1
  430. package/dist/src/shell/keyboard.d.ts +0 -1
  431. package/dist/src/shell/keyboard.js +0 -1
  432. package/dist/src/shell/laterStrings.d.ts +91 -0
  433. package/dist/src/shell/laterStrings.js +102 -0
  434. package/dist/src/shell/lazyModule.d.ts +49 -0
  435. package/dist/src/shell/lazyModule.js +72 -0
  436. package/dist/src/shell/lazyTab.d.ts +21 -0
  437. package/dist/src/shell/lazyTab.js +9 -0
  438. package/dist/src/shell/logicView.d.ts +0 -12
  439. package/dist/src/shell/logicView.js +2 -2
  440. package/dist/src/shell/mountShell.d.ts +5 -3
  441. package/dist/src/shell/mountShell.js +43 -12
  442. package/dist/src/shell/pageStrings.d.ts +24 -0
  443. package/dist/src/shell/pageStrings.js +26 -0
  444. package/dist/src/shell/pluginHosts.d.ts +9 -0
  445. package/dist/src/shell/pluginHosts.js +6 -0
  446. package/dist/src/shell/pluginHostsContext.d.ts +20 -0
  447. package/dist/src/shell/pluginHostsContext.js +16 -0
  448. package/dist/src/shell/pluginTabs.d.ts +63 -0
  449. package/dist/src/shell/pluginTabs.js +60 -0
  450. package/dist/src/shell/reportedPanel.d.ts +12 -0
  451. package/dist/src/shell/reportedPanel.js +19 -0
  452. package/dist/src/shell/search.css +172 -0
  453. package/dist/src/shell/searchStrings.d.ts +24 -0
  454. package/dist/src/shell/searchStrings.js +31 -0
  455. package/dist/src/shell/shell.css +341 -140
  456. package/dist/src/shell/shellScheme.d.ts +37 -0
  457. package/dist/src/shell/shellScheme.js +32 -0
  458. package/dist/src/shell/storyTouch.d.ts +19 -6
  459. package/dist/src/shell/storyTouch.js +26 -4
  460. package/dist/src/shell/strings.d.ts +58 -80
  461. package/dist/src/shell/strings.js +55 -78
  462. package/dist/src/shell/switchView.d.ts +0 -1
  463. package/dist/src/shell/switchView.js +0 -1
  464. package/dist/src/shell/tabSummaries.d.ts +31 -0
  465. package/dist/src/shell/tabSummaries.js +27 -0
  466. package/dist/src/shell/treeSearch.d.ts +39 -3
  467. package/dist/src/shell/treeSearch.js +27 -1
  468. package/dist/src/shell/useAddressArgs.d.ts +55 -0
  469. package/dist/src/shell/useAddressArgs.js +62 -0
  470. package/dist/src/shell/useAnchorScroll.d.ts +24 -0
  471. package/dist/src/shell/useAnchorScroll.js +90 -0
  472. package/dist/src/shell/useAppearance.d.ts +7 -2
  473. package/dist/src/shell/useAppearance.js +14 -5
  474. package/dist/src/shell/useComponentDocs.d.ts +0 -1
  475. package/dist/src/shell/useComponentDocs.js +0 -1
  476. package/dist/src/shell/useControlKeys.d.ts +2 -1
  477. package/dist/src/shell/useControlKeys.js +2 -3
  478. package/dist/src/shell/useCopy.d.ts +2 -1
  479. package/dist/src/shell/useCopy.js +11 -6
  480. package/dist/src/shell/useFold.d.ts +0 -1
  481. package/dist/src/shell/useFold.js +0 -1
  482. package/dist/src/shell/useFrameMessages.d.ts +19 -4
  483. package/dist/src/shell/useFrameMessages.js +23 -7
  484. package/dist/src/shell/useFrameQueue.d.ts +7 -3
  485. package/dist/src/shell/useFrameQueue.js +39 -22
  486. package/dist/src/shell/useFullPage.d.ts +0 -1
  487. package/dist/src/shell/useFullPage.js +0 -1
  488. package/dist/src/shell/useLiveView.d.ts +0 -1
  489. package/dist/src/shell/useLiveView.js +0 -1
  490. package/dist/src/shell/useLoaded.d.ts +1 -2
  491. package/dist/src/shell/useLoaded.js +28 -6
  492. package/dist/src/shell/usePageDoc.d.ts +0 -1
  493. package/dist/src/shell/usePageDoc.js +0 -1
  494. package/dist/src/shell/usePageFrames.d.ts +46 -0
  495. package/dist/src/shell/usePageFrames.js +50 -0
  496. package/dist/src/shell/usePanelDocs.d.ts +11 -0
  497. package/dist/src/shell/usePanelDocs.js +29 -0
  498. package/dist/src/shell/usePluginTabs.d.ts +18 -0
  499. package/dist/src/shell/usePluginTabs.js +45 -0
  500. package/dist/src/shell/usePopover.d.ts +0 -1
  501. package/dist/src/shell/usePopover.js +0 -1
  502. package/dist/src/shell/useProseLinks.d.ts +14 -0
  503. package/dist/src/shell/useProseLinks.js +30 -0
  504. package/dist/src/shell/useRecentPages.d.ts +3 -4
  505. package/dist/src/shell/useRecentPages.js +1 -2
  506. package/dist/src/shell/useRequiredFirst.d.ts +27 -0
  507. package/dist/src/shell/useRequiredFirst.js +67 -0
  508. package/dist/src/shell/useScrollMemory.d.ts +9 -1
  509. package/dist/src/shell/useScrollMemory.js +2 -3
  510. package/dist/src/shell/useSearchIndex.d.ts +24 -0
  511. package/dist/src/shell/useSearchIndex.js +51 -0
  512. package/dist/src/shell/useShownView.d.ts +3 -1
  513. package/dist/src/shell/useShownView.js +5 -5
  514. package/dist/src/shell/useSidebarLayout.d.ts +0 -1
  515. package/dist/src/shell/useSidebarLayout.js +0 -1
  516. package/dist/src/shell/useStored.d.ts +13 -1
  517. package/dist/src/shell/useStored.js +13 -5
  518. package/dist/src/shell/useStoryCheck.d.ts +20 -0
  519. package/dist/src/shell/useStoryCheck.js +33 -0
  520. package/dist/src/shell/useStoryCode.d.ts +0 -1
  521. package/dist/src/shell/useStoryCode.js +0 -1
  522. package/dist/src/shell/useStoryHeights.d.ts +0 -1
  523. package/dist/src/shell/useStoryHeights.js +0 -1
  524. package/dist/src/shell/useStoryIdsElement.d.ts +0 -1
  525. package/dist/src/shell/useStoryIdsElement.js +0 -1
  526. package/dist/src/shell/useStoryKeys.d.ts +0 -1
  527. package/dist/src/shell/useStoryKeys.js +0 -1
  528. package/dist/src/shell/useSyncedTab.d.ts +8 -0
  529. package/dist/src/shell/useSyncedTab.js +60 -0
  530. package/dist/src/shell/useSystemDark.d.ts +0 -1
  531. package/dist/src/shell/useSystemDark.js +0 -1
  532. package/dist/src/shell/useToolbarLayout.d.ts +0 -1
  533. package/dist/src/shell/useToolbarLayout.js +0 -1
  534. package/dist/src/shell/useToolbarOverflow.d.ts +0 -1
  535. package/dist/src/shell/useToolbarOverflow.js +0 -1
  536. package/dist/src/shell/useWorstCase.d.ts +0 -1
  537. package/dist/src/shell/useWorstCase.js +2 -2
  538. package/dist/src/shell/worstArgs.d.ts +0 -1
  539. package/dist/src/shell/worstArgs.js +0 -1
  540. package/dist/src/shellTheme.d.ts +64 -0
  541. package/dist/src/shellTheme.js +274 -0
  542. package/dist/src/shellTheme.types.d.ts +93 -0
  543. package/dist/src/shellTheme.types.js +10 -0
  544. package/dist/src/sourceFiles.d.ts +17 -3
  545. package/dist/src/sourceFiles.js +27 -1
  546. package/dist/src/spills.d.ts +0 -1
  547. package/dist/src/spills.js +0 -1
  548. package/dist/src/storyBackground.d.ts +0 -1
  549. package/dist/src/storyBackground.js +0 -1
  550. package/dist/src/storyCheck.d.ts +88 -2
  551. package/dist/src/storyCheck.js +14 -3
  552. package/dist/src/storyClock.d.ts +0 -1
  553. package/dist/src/storyClock.js +0 -1
  554. package/dist/src/storyGlobals.d.ts +0 -1
  555. package/dist/src/storyGlobals.js +2 -2
  556. package/dist/src/storyHeights.d.ts +0 -1
  557. package/dist/src/storyHeights.js +0 -1
  558. package/dist/src/storyIds.d.ts +36 -0
  559. package/dist/src/storyIds.js +52 -0
  560. package/dist/src/storyIdsElement.d.ts +0 -1
  561. package/dist/src/storyIdsElement.js +0 -1
  562. package/dist/src/storyTexts.d.ts +11 -5
  563. package/dist/src/storyTexts.js +16 -5
  564. package/dist/src/storyTree.d.ts +89 -25
  565. package/dist/src/storyTree.js +213 -127
  566. package/dist/src/switches.d.ts +0 -1
  567. package/dist/src/switches.js +6 -2
  568. package/dist/src/toolbarLayout.d.ts +0 -1
  569. package/dist/src/toolbarLayout.js +0 -1
  570. package/dist/src/treePlaces.d.ts +60 -0
  571. package/dist/src/treePlaces.js +89 -0
  572. package/dist/src/usedIn.d.ts +28 -1
  573. package/dist/src/usedIn.js +93 -3
  574. package/dist/src/viewState.d.ts +44 -9
  575. package/dist/src/viewState.js +80 -9
  576. package/dist/src/viewWords.d.ts +0 -13
  577. package/dist/src/viewWords.js +41 -3
  578. package/dist/src/vite/adapter.d.ts +62 -1
  579. package/dist/src/vite/adapter.js +20 -2
  580. package/dist/src/vite/agent.types.d.ts +291 -7
  581. package/dist/src/vite/agent.types.js +11 -1
  582. package/dist/src/vite/agentApi.d.ts +55 -2
  583. package/dist/src/vite/agentApi.js +136 -9
  584. package/dist/src/vite/agentIds.d.ts +25 -0
  585. package/dist/src/vite/agentIds.js +41 -0
  586. package/dist/src/vite/agentIndex.d.ts +63 -0
  587. package/dist/src/vite/agentIndex.js +91 -0
  588. package/dist/src/vite/agentIndexRoute.d.ts +10 -0
  589. package/dist/src/vite/agentIndexRoute.js +35 -0
  590. package/dist/src/vite/agentRoutes.d.ts +80 -19
  591. package/dist/src/vite/agentRoutes.js +184 -27
  592. package/dist/src/vite/autoTitle.d.ts +0 -1
  593. package/dist/src/vite/autoTitle.js +0 -1
  594. package/dist/src/vite/axeScript.d.ts +20 -0
  595. package/dist/src/vite/axeScript.js +60 -0
  596. package/dist/src/vite/builtTexts.d.ts +75 -0
  597. package/dist/src/vite/builtTexts.js +143 -0
  598. package/dist/src/vite/catalogueConfig.d.ts +10 -0
  599. package/dist/src/vite/catalogueConfig.js +64 -0
  600. package/dist/src/vite/checkCode.d.ts +67 -0
  601. package/dist/src/vite/checkCode.js +145 -0
  602. package/dist/src/vite/closeWatch.d.ts +96 -0
  603. package/dist/src/vite/closeWatch.js +219 -0
  604. package/dist/src/vite/codeFence.d.ts +78 -0
  605. package/dist/src/vite/codeFence.js +267 -0
  606. package/dist/src/vite/componentImport.d.ts +8 -0
  607. package/dist/src/vite/componentImport.js +35 -0
  608. package/dist/src/vite/componentPage.d.ts +15 -2
  609. package/dist/src/vite/componentPage.js +55 -16
  610. package/dist/src/vite/config.d.ts +51 -3
  611. package/dist/src/vite/config.js +0 -1
  612. package/dist/src/vite/configFile.d.ts +66 -9
  613. package/dist/src/vite/configFile.js +236 -33
  614. package/dist/src/vite/designTokens.d.ts +75 -0
  615. package/dist/src/vite/designTokens.js +382 -0
  616. package/dist/src/vite/diskCache.d.ts +51 -0
  617. package/dist/src/vite/diskCache.js +211 -0
  618. package/dist/src/vite/docDirectives.d.ts +116 -0
  619. package/dist/src/vite/docDirectives.js +425 -0
  620. package/dist/src/vite/docMarkdown.d.ts +76 -0
  621. package/dist/src/vite/docMarkdown.js +150 -0
  622. package/dist/src/vite/docPageBlocks.d.ts +64 -0
  623. package/dist/src/vite/docPageBlocks.js +322 -0
  624. package/dist/src/vite/docPageLinks.d.ts +72 -0
  625. package/dist/src/vite/docPageLinks.js +135 -0
  626. package/dist/src/vite/docPageMarkdown.d.ts +86 -0
  627. package/dist/src/vite/docPageMarkdown.js +133 -0
  628. package/dist/src/vite/docPageRender.d.ts +27 -0
  629. package/dist/src/vite/docPageRender.js +199 -0
  630. package/dist/src/vite/docPageTokens.d.ts +91 -0
  631. package/dist/src/vite/docPageTokens.js +186 -0
  632. package/dist/src/vite/docPagesModule.d.ts +53 -0
  633. package/dist/src/vite/docPagesModule.js +121 -0
  634. package/dist/src/vite/docPagesRoute.d.ts +38 -0
  635. package/dist/src/vite/docPagesRoute.js +154 -0
  636. package/dist/src/vite/docsDependencies.d.ts +6 -0
  637. package/dist/src/vite/docsDependencies.js +150 -0
  638. package/dist/src/vite/docsExtractor.d.ts +50 -3
  639. package/dist/src/vite/docsExtractor.js +173 -26
  640. package/dist/src/vite/docsProgram.d.ts +89 -9
  641. package/dist/src/vite/docsProgram.js +413 -50
  642. package/dist/src/vite/docsWorker.d.ts +0 -1
  643. package/dist/src/vite/docsWorker.js +49 -15
  644. package/dist/src/vite/figmaLink.d.ts +26 -0
  645. package/dist/src/vite/figmaLink.js +92 -0
  646. package/dist/src/vite/fileAccess.d.ts +51 -0
  647. package/dist/src/vite/fileAccess.js +109 -0
  648. package/dist/src/vite/findComponent.d.ts +32 -0
  649. package/dist/src/vite/findComponent.js +52 -0
  650. package/dist/src/vite/findRoute.d.ts +14 -0
  651. package/dist/src/vite/findRoute.js +62 -0
  652. package/dist/src/vite/forcedStates.d.ts +0 -1
  653. package/dist/src/vite/forcedStates.js +0 -1
  654. package/dist/src/vite/forgebookPlugin.d.ts +0 -1
  655. package/dist/src/vite/forgebookPlugin.js +305 -282
  656. package/dist/src/vite/framesConfig.d.ts +89 -0
  657. package/dist/src/vite/framesConfig.js +149 -0
  658. package/dist/src/vite/framesServer.d.ts +43 -0
  659. package/dist/src/vite/framesServer.js +342 -0
  660. package/dist/src/vite/functionComponentDocs.d.ts +26 -0
  661. package/dist/src/vite/functionComponentDocs.js +193 -0
  662. package/dist/src/vite/generatedModules.d.ts +23 -0
  663. package/dist/src/vite/generatedModules.js +58 -0
  664. package/dist/src/vite/gitChange.d.ts +56 -0
  665. package/dist/src/vite/gitChange.js +86 -0
  666. package/dist/src/vite/heightsRoute.d.ts +0 -1
  667. package/dist/src/vite/heightsRoute.js +0 -1
  668. package/dist/src/vite/highlightCode.d.ts +0 -1
  669. package/dist/src/vite/highlightCode.js +8 -27
  670. package/dist/src/vite/hotSnippets.d.ts +86 -0
  671. package/dist/src/vite/hotSnippets.js +172 -0
  672. package/dist/src/vite/indexFields.d.ts +61 -0
  673. package/dist/src/vite/indexFields.js +149 -0
  674. package/dist/src/vite/indexStoryFile.d.ts +19 -18
  675. package/dist/src/vite/indexStoryFile.js +165 -221
  676. package/dist/src/vite/indexedParameters.d.ts +10 -0
  677. package/dist/src/vite/indexedParameters.js +130 -0
  678. package/dist/src/vite/mcpProtocol.d.ts +36 -2
  679. package/dist/src/vite/mcpProtocol.js +100 -15
  680. package/dist/src/vite/moduleSummary.d.ts +17 -0
  681. package/dist/src/vite/moduleSummary.js +40 -0
  682. package/dist/src/vite/nearestToken.d.ts +50 -0
  683. package/dist/src/vite/nearestToken.js +295 -0
  684. package/dist/src/vite/originGuard.d.ts +97 -0
  685. package/dist/src/vite/originGuard.js +172 -0
  686. package/dist/src/vite/packedModule.d.ts +40 -0
  687. package/dist/src/vite/packedModule.js +74 -0
  688. package/dist/src/vite/pages.d.ts +64 -10
  689. package/dist/src/vite/pages.js +278 -40
  690. package/dist/src/vite/parsedFiles.d.ts +18 -0
  691. package/dist/src/vite/parsedFiles.js +91 -0
  692. package/dist/src/vite/plainGrammars.d.ts +20 -0
  693. package/dist/src/vite/plainGrammars.js +113 -0
  694. package/dist/src/vite/pluginConfig.d.ts +47 -0
  695. package/dist/src/vite/pluginConfig.js +220 -0
  696. package/dist/src/vite/pluginIds.d.ts +27 -0
  697. package/dist/src/vite/pluginIds.js +76 -0
  698. package/dist/src/vite/pluginModules.d.ts +169 -0
  699. package/dist/src/vite/pluginModules.js +221 -0
  700. package/dist/src/vite/prebundled.d.ts +18 -5
  701. package/dist/src/vite/prebundled.js +29 -18
  702. package/dist/src/vite/previewPages.d.ts +14 -0
  703. package/dist/src/vite/previewPages.js +81 -0
  704. package/dist/src/vite/previewRoute.d.ts +8 -0
  705. package/dist/src/vite/previewRoute.js +8 -0
  706. package/dist/src/vite/previewRunner.d.ts +56 -0
  707. package/dist/src/vite/previewRunner.js +207 -0
  708. package/dist/src/vite/propDocs.d.ts +60 -0
  709. package/dist/src/vite/propDocs.js +387 -0
  710. package/dist/src/vite/searchModule.d.ts +42 -0
  711. package/dist/src/vite/searchModule.js +213 -0
  712. package/dist/src/vite/searchRoute.d.ts +7 -0
  713. package/dist/src/vite/searchRoute.js +79 -0
  714. package/dist/src/vite/serverConditions.d.ts +31 -0
  715. package/dist/src/vite/serverConditions.js +69 -0
  716. package/dist/src/vite/signatureDocs.d.ts +18 -0
  717. package/dist/src/vite/signatureDocs.js +64 -0
  718. package/dist/src/vite/sourceTokens.d.ts +57 -0
  719. package/dist/src/vite/sourceTokens.js +164 -0
  720. package/dist/src/vite/storyCode.d.ts +0 -1
  721. package/dist/src/vite/storyCode.js +2 -3
  722. package/dist/src/vite/storyExports.d.ts +32 -0
  723. package/dist/src/vite/storyExports.js +27 -0
  724. package/dist/src/vite/storyFilesModule.d.ts +104 -20
  725. package/dist/src/vite/storyFilesModule.js +178 -60
  726. package/dist/src/vite/storyMeta.d.ts +20 -11
  727. package/dist/src/vite/storyMeta.js +74 -38
  728. package/dist/src/vite/storyParse.d.ts +18 -0
  729. package/dist/src/vite/storyParse.js +20 -0
  730. package/dist/src/vite/storyPatterns.d.ts +39 -0
  731. package/dist/src/vite/storyPatterns.js +100 -0
  732. package/dist/src/vite/storyPlay.d.ts +29 -0
  733. package/dist/src/vite/storyPlay.js +54 -0
  734. package/dist/src/vite/storyReach.d.ts +42 -0
  735. package/dist/src/vite/storyReach.js +43 -0
  736. package/dist/src/vite/storylessRoutes.d.ts +29 -0
  737. package/dist/src/vite/storylessRoutes.js +126 -0
  738. package/dist/src/vite/textModules.d.ts +63 -0
  739. package/dist/src/vite/textModules.js +132 -0
  740. package/dist/src/vite/textQueries.d.ts +26 -0
  741. package/dist/src/vite/textQueries.js +26 -0
  742. package/dist/src/vite/themeFromTokens.d.ts +35 -0
  743. package/dist/src/vite/themeFromTokens.js +73 -0
  744. package/dist/src/vite/tokenAnswers.d.ts +20 -0
  745. package/dist/src/vite/tokenAnswers.js +86 -0
  746. package/dist/src/vite/tokenClashes.d.ts +44 -0
  747. package/dist/src/vite/tokenClashes.js +45 -0
  748. package/dist/src/vite/touchMedia.d.ts +0 -1
  749. package/dist/src/vite/touchMedia.js +0 -1
  750. package/dist/src/vite/typeScriptPieces.d.ts +0 -1
  751. package/dist/src/vite/typeScriptPieces.js +2 -3
  752. package/dist/src/vite/usageGraph.d.ts +6 -1
  753. package/dist/src/vite/usageGraph.js +41 -7
  754. package/dist/src/vite/usageGuidance.d.ts +33 -0
  755. package/dist/src/vite/usageGuidance.js +45 -0
  756. package/dist/src/vite/usageModule.d.ts +0 -1
  757. package/dist/src/vite/usageModule.js +0 -1
  758. package/dist/src/vite/vitePaths.d.ts +53 -0
  759. package/dist/src/vite/vitePaths.js +53 -0
  760. package/dist/src/worstCase.d.ts +0 -1
  761. package/dist/src/worstCase.js +0 -1
  762. package/package.json +68 -5
  763. package/dist/bin/forgebook/agentClient.d.ts.map +0 -1
  764. package/dist/bin/forgebook/agentClient.js.map +0 -1
  765. package/dist/bin/forgebook/agentLoopCommands.d.mts.map +0 -1
  766. package/dist/bin/forgebook/agentLoopCommands.mjs.map +0 -1
  767. package/dist/bin/forgebook/agentText.d.ts.map +0 -1
  768. package/dist/bin/forgebook/agentText.js.map +0 -1
  769. package/dist/bin/forgebook/agentsText.d.ts.map +0 -1
  770. package/dist/bin/forgebook/agentsText.js.map +0 -1
  771. package/dist/bin/forgebook/catalogueCommands.d.ts.map +0 -1
  772. package/dist/bin/forgebook/catalogueCommands.js.map +0 -1
  773. package/dist/bin/forgebook/catalogueVite.d.ts.map +0 -1
  774. package/dist/bin/forgebook/catalogueVite.js.map +0 -1
  775. package/dist/bin/forgebook/errorsRun.d.ts.map +0 -1
  776. package/dist/bin/forgebook/errorsRun.js.map +0 -1
  777. package/dist/bin/forgebook/forgebook.d.mts.map +0 -1
  778. package/dist/bin/forgebook/forgebook.mjs.map +0 -1
  779. package/dist/bin/forgebook/importers/storybook.d.ts.map +0 -1
  780. package/dist/bin/forgebook/importers/storybook.js.map +0 -1
  781. package/dist/bin/forgebook/initCommands.d.mts.map +0 -1
  782. package/dist/bin/forgebook/initCommands.mjs.map +0 -1
  783. package/dist/bin/forgebook/initConfig.d.ts.map +0 -1
  784. package/dist/bin/forgebook/initConfig.js.map +0 -1
  785. package/dist/bin/forgebook/mcpTools.d.ts.map +0 -1
  786. package/dist/bin/forgebook/mcpTools.js.map +0 -1
  787. package/dist/bin/forgebook/newStories.d.ts.map +0 -1
  788. package/dist/bin/forgebook/newStories.js.map +0 -1
  789. package/dist/bin/forgebook/newStoriesFile.d.ts.map +0 -1
  790. package/dist/bin/forgebook/newStoriesFile.js.map +0 -1
  791. package/dist/bin/forgebook/storyCheckRun.d.ts.map +0 -1
  792. package/dist/bin/forgebook/storyCheckRun.js.map +0 -1
  793. package/dist/bin/forgebook/touchWindowRun.d.ts.map +0 -1
  794. package/dist/bin/forgebook/touchWindowRun.js.map +0 -1
  795. package/dist/bin/forgebook-docs/catalogueDocs.d.ts.map +0 -1
  796. package/dist/bin/forgebook-docs/catalogueDocs.js.map +0 -1
  797. package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts.map +0 -1
  798. package/dist/bin/forgebook-docs/catalogueDocs.types.js.map +0 -1
  799. package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts.map +0 -1
  800. package/dist/bin/forgebook-docs/catalogueMarkdown.js.map +0 -1
  801. package/dist/bin/forgebook-docs/catalogueOptions.d.ts.map +0 -1
  802. package/dist/bin/forgebook-docs/catalogueOptions.js.map +0 -1
  803. package/dist/bin/forgebook-docs/collectDocs.d.ts.map +0 -1
  804. package/dist/bin/forgebook-docs/collectDocs.js.map +0 -1
  805. package/dist/bin/forgebook-docs/forgebook-docs.d.mts.map +0 -1
  806. package/dist/bin/forgebook-docs/forgebook-docs.mjs.map +0 -1
  807. package/dist/bin/forgebook-docs/llmsText.d.ts.map +0 -1
  808. package/dist/bin/forgebook-docs/llmsText.js.map +0 -1
  809. package/dist/bin/forgebook-docs/moduleDocs.d.ts.map +0 -1
  810. package/dist/bin/forgebook-docs/moduleDocs.js.map +0 -1
  811. package/dist/bin/forgebook-docs/sassDocs.d.ts.map +0 -1
  812. package/dist/bin/forgebook-docs/sassDocs.js.map +0 -1
  813. package/dist/bin/forgebook-docs/sourceId.d.ts +0 -9
  814. package/dist/bin/forgebook-docs/sourceId.d.ts.map +0 -1
  815. package/dist/bin/forgebook-docs/sourceId.js +0 -45
  816. package/dist/bin/forgebook-docs/sourceId.js.map +0 -1
  817. package/dist/bin/forgebook-texts/forgebook-texts.d.mts.map +0 -1
  818. package/dist/bin/forgebook-texts/forgebook-texts.mjs.map +0 -1
  819. package/dist/bin/forgebook-texts/storyTextsReport.d.ts.map +0 -1
  820. package/dist/bin/forgebook-texts/storyTextsReport.js.map +0 -1
  821. package/dist/bin/forgebook-texts/storyTextsReport.types.d.ts.map +0 -1
  822. package/dist/bin/forgebook-texts/storyTextsReport.types.js.map +0 -1
  823. package/dist/bin/frameworkDocs.d.ts.map +0 -1
  824. package/dist/bin/frameworkDocs.js.map +0 -1
  825. package/dist/src/a11y.d.ts.map +0 -1
  826. package/dist/src/a11y.js.map +0 -1
  827. package/dist/src/argTypes.d.ts.map +0 -1
  828. package/dist/src/argTypes.js.map +0 -1
  829. package/dist/src/backdrops.d.ts.map +0 -1
  830. package/dist/src/backdrops.js.map +0 -1
  831. package/dist/src/catalogue.d.ts.map +0 -1
  832. package/dist/src/catalogue.js.map +0 -1
  833. package/dist/src/componentDocs.d.ts.map +0 -1
  834. package/dist/src/componentDocs.js.map +0 -1
  835. package/dist/src/controlKeys.d.ts.map +0 -1
  836. package/dist/src/controlKeys.js.map +0 -1
  837. package/dist/src/frame/checkStory.d.ts.map +0 -1
  838. package/dist/src/frame/checkStory.js.map +0 -1
  839. package/dist/src/frame/frameClock.d.ts.map +0 -1
  840. package/dist/src/frame/frameClock.js.map +0 -1
  841. package/dist/src/frame/frameStatus.d.ts.map +0 -1
  842. package/dist/src/frame/frameStatus.js.map +0 -1
  843. package/dist/src/frame/frameView.d.ts.map +0 -1
  844. package/dist/src/frame/frameView.js.map +0 -1
  845. package/dist/src/frame/matrixLayout.d.ts.map +0 -1
  846. package/dist/src/frame/matrixLayout.js.map +0 -1
  847. package/dist/src/frame/measureTools.d.ts.map +0 -1
  848. package/dist/src/frame/measureTools.js.map +0 -1
  849. package/dist/src/frame/mountFrame.d.ts.map +0 -1
  850. package/dist/src/frame/mountFrame.js.map +0 -1
  851. package/dist/src/frame/playStory.d.ts.map +0 -1
  852. package/dist/src/frame/playStory.js.map +0 -1
  853. package/dist/src/frame/renderer.d.ts.map +0 -1
  854. package/dist/src/frame/renderer.js.map +0 -1
  855. package/dist/src/frame/settle.d.ts.map +0 -1
  856. package/dist/src/frame/settle.js.map +0 -1
  857. package/dist/src/frame/spillOutline.d.ts.map +0 -1
  858. package/dist/src/frame/spillOutline.js.map +0 -1
  859. package/dist/src/frame/staleModule.d.ts.map +0 -1
  860. package/dist/src/frame/staleModule.js.map +0 -1
  861. package/dist/src/frame/storyCanvas.d.ts.map +0 -1
  862. package/dist/src/frame/storyCanvas.js.map +0 -1
  863. package/dist/src/frame/storyHooks.d.ts.map +0 -1
  864. package/dist/src/frame/storyHooks.js.map +0 -1
  865. package/dist/src/frame/storyModule.d.ts.map +0 -1
  866. package/dist/src/frame/storyModule.js.map +0 -1
  867. package/dist/src/frame/storyRun.d.ts.map +0 -1
  868. package/dist/src/frame/storyRun.js.map +0 -1
  869. package/dist/src/frame/touchDots.d.ts.map +0 -1
  870. package/dist/src/frame/touchDots.js.map +0 -1
  871. package/dist/src/frame/touchEvents.d.ts.map +0 -1
  872. package/dist/src/frame/touchEvents.js.map +0 -1
  873. package/dist/src/frame/touchGesture.d.ts.map +0 -1
  874. package/dist/src/frame/touchGesture.js.map +0 -1
  875. package/dist/src/frame/touchLayer.d.ts.map +0 -1
  876. package/dist/src/frame/touchLayer.js.map +0 -1
  877. package/dist/src/frame/touchScroll.d.ts.map +0 -1
  878. package/dist/src/frame/touchScroll.js.map +0 -1
  879. package/dist/src/languages.d.ts.map +0 -1
  880. package/dist/src/languages.js.map +0 -1
  881. package/dist/src/liveErrors.d.ts.map +0 -1
  882. package/dist/src/liveErrors.js.map +0 -1
  883. package/dist/src/matrix.d.ts.map +0 -1
  884. package/dist/src/matrix.js.map +0 -1
  885. package/dist/src/messages.d.ts.map +0 -1
  886. package/dist/src/messages.js.map +0 -1
  887. package/dist/src/namedValues.d.ts.map +0 -1
  888. package/dist/src/namedValues.js.map +0 -1
  889. package/dist/src/namedViews.d.ts.map +0 -1
  890. package/dist/src/namedViews.js.map +0 -1
  891. package/dist/src/pageConfig.d.ts.map +0 -1
  892. package/dist/src/pageConfig.js.map +0 -1
  893. package/dist/src/playTrace.d.ts.map +0 -1
  894. package/dist/src/playTrace.js.map +0 -1
  895. package/dist/src/realTouch.d.ts.map +0 -1
  896. package/dist/src/realTouch.js.map +0 -1
  897. package/dist/src/shell/A11yTab.d.ts.map +0 -1
  898. package/dist/src/shell/A11yTab.js.map +0 -1
  899. package/dist/src/shell/ApiReference.d.ts.map +0 -1
  900. package/dist/src/shell/ApiReference.js.map +0 -1
  901. package/dist/src/shell/AppearanceMenu.d.ts.map +0 -1
  902. package/dist/src/shell/AppearanceMenu.js.map +0 -1
  903. package/dist/src/shell/BoxWidth.d.ts.map +0 -1
  904. package/dist/src/shell/BoxWidth.js.map +0 -1
  905. package/dist/src/shell/ClockControls.d.ts.map +0 -1
  906. package/dist/src/shell/ClockControls.js.map +0 -1
  907. package/dist/src/shell/Code.d.ts.map +0 -1
  908. package/dist/src/shell/Code.js.map +0 -1
  909. package/dist/src/shell/CodeTab.d.ts.map +0 -1
  910. package/dist/src/shell/CodeTab.js.map +0 -1
  911. package/dist/src/shell/CodeText.d.ts.map +0 -1
  912. package/dist/src/shell/CodeText.js.map +0 -1
  913. package/dist/src/shell/ComponentPage.d.ts.map +0 -1
  914. package/dist/src/shell/ComponentPage.js.map +0 -1
  915. package/dist/src/shell/ControlKeyField.d.ts.map +0 -1
  916. package/dist/src/shell/ControlKeyField.js.map +0 -1
  917. package/dist/src/shell/ControlRow.d.ts.map +0 -1
  918. package/dist/src/shell/ControlRow.js.map +0 -1
  919. package/dist/src/shell/Dock.d.ts.map +0 -1
  920. package/dist/src/shell/Dock.js.map +0 -1
  921. package/dist/src/shell/EventsTab.d.ts.map +0 -1
  922. package/dist/src/shell/EventsTab.js.map +0 -1
  923. package/dist/src/shell/Example.d.ts.map +0 -1
  924. package/dist/src/shell/Example.js.map +0 -1
  925. package/dist/src/shell/FrameView.d.ts.map +0 -1
  926. package/dist/src/shell/FrameView.js.map +0 -1
  927. package/dist/src/shell/HomePage.d.ts.map +0 -1
  928. package/dist/src/shell/HomePage.js.map +0 -1
  929. package/dist/src/shell/InfoTip.d.ts.map +0 -1
  930. package/dist/src/shell/InfoTip.js.map +0 -1
  931. package/dist/src/shell/InteractionsTab.d.ts.map +0 -1
  932. package/dist/src/shell/InteractionsTab.js.map +0 -1
  933. package/dist/src/shell/LogicMark.d.ts.map +0 -1
  934. package/dist/src/shell/LogicMark.js.map +0 -1
  935. package/dist/src/shell/MatrixPicker.d.ts.map +0 -1
  936. package/dist/src/shell/MatrixPicker.js.map +0 -1
  937. package/dist/src/shell/NamedViews.d.ts.map +0 -1
  938. package/dist/src/shell/NamedViews.js.map +0 -1
  939. package/dist/src/shell/PackageHtml.d.ts.map +0 -1
  940. package/dist/src/shell/PackageHtml.js.map +0 -1
  941. package/dist/src/shell/PartsTab.d.ts.map +0 -1
  942. package/dist/src/shell/PartsTab.js.map +0 -1
  943. package/dist/src/shell/PinnedControl.d.ts.map +0 -1
  944. package/dist/src/shell/PinnedControl.js.map +0 -1
  945. package/dist/src/shell/PropFields.d.ts.map +0 -1
  946. package/dist/src/shell/PropFields.js.map +0 -1
  947. package/dist/src/shell/PropsTab.d.ts.map +0 -1
  948. package/dist/src/shell/PropsTab.js.map +0 -1
  949. package/dist/src/shell/Segmented.d.ts.map +0 -1
  950. package/dist/src/shell/Segmented.js.map +0 -1
  951. package/dist/src/shell/Shell.d.ts.map +0 -1
  952. package/dist/src/shell/Shell.js.map +0 -1
  953. package/dist/src/shell/Sidebar.d.ts.map +0 -1
  954. package/dist/src/shell/Sidebar.js.map +0 -1
  955. package/dist/src/shell/SidebarEntries.d.ts.map +0 -1
  956. package/dist/src/shell/SidebarEntries.js.map +0 -1
  957. package/dist/src/shell/SidebarHandle.d.ts.map +0 -1
  958. package/dist/src/shell/SidebarHandle.js.map +0 -1
  959. package/dist/src/shell/SignatureReference.d.ts.map +0 -1
  960. package/dist/src/shell/SignatureReference.js.map +0 -1
  961. package/dist/src/shell/Stage.d.ts.map +0 -1
  962. package/dist/src/shell/Stage.js.map +0 -1
  963. package/dist/src/shell/StageTools.d.ts.map +0 -1
  964. package/dist/src/shell/StageTools.js.map +0 -1
  965. package/dist/src/shell/StageViewport.d.ts.map +0 -1
  966. package/dist/src/shell/StageViewport.js.map +0 -1
  967. package/dist/src/shell/StoryCodeBlock.d.ts.map +0 -1
  968. package/dist/src/shell/StoryCodeBlock.js.map +0 -1
  969. package/dist/src/shell/StoryPicker.d.ts.map +0 -1
  970. package/dist/src/shell/StoryPicker.js.map +0 -1
  971. package/dist/src/shell/Toolbar.d.ts.map +0 -1
  972. package/dist/src/shell/Toolbar.js.map +0 -1
  973. package/dist/src/shell/ToolbarControl.d.ts.map +0 -1
  974. package/dist/src/shell/ToolbarControl.js.map +0 -1
  975. package/dist/src/shell/UsedIn.d.ts.map +0 -1
  976. package/dist/src/shell/UsedIn.js.map +0 -1
  977. package/dist/src/shell/ViewMenu.d.ts.map +0 -1
  978. package/dist/src/shell/ViewMenu.js.map +0 -1
  979. package/dist/src/shell/WidthField.d.ts.map +0 -1
  980. package/dist/src/shell/WidthField.js.map +0 -1
  981. package/dist/src/shell/catalogueContext.d.ts.map +0 -1
  982. package/dist/src/shell/catalogueContext.js.map +0 -1
  983. package/dist/src/shell/codeTokens.d.ts.map +0 -1
  984. package/dist/src/shell/codeTokens.js.map +0 -1
  985. package/dist/src/shell/codeWriter.d.ts.map +0 -1
  986. package/dist/src/shell/codeWriter.js.map +0 -1
  987. package/dist/src/shell/compareVariants.d.ts.map +0 -1
  988. package/dist/src/shell/compareVariants.js.map +0 -1
  989. package/dist/src/shell/controlCycle.d.ts.map +0 -1
  990. package/dist/src/shell/controlCycle.js.map +0 -1
  991. package/dist/src/shell/dockTabs.d.ts.map +0 -1
  992. package/dist/src/shell/dockTabs.js.map +0 -1
  993. package/dist/src/shell/icons.d.ts.map +0 -1
  994. package/dist/src/shell/icons.js.map +0 -1
  995. package/dist/src/shell/keyboard.d.ts.map +0 -1
  996. package/dist/src/shell/keyboard.js.map +0 -1
  997. package/dist/src/shell/logicView.d.ts.map +0 -1
  998. package/dist/src/shell/logicView.js.map +0 -1
  999. package/dist/src/shell/mountShell.d.ts.map +0 -1
  1000. package/dist/src/shell/mountShell.js.map +0 -1
  1001. package/dist/src/shell/storyTouch.d.ts.map +0 -1
  1002. package/dist/src/shell/storyTouch.js.map +0 -1
  1003. package/dist/src/shell/strings.d.ts.map +0 -1
  1004. package/dist/src/shell/strings.js.map +0 -1
  1005. package/dist/src/shell/switchView.d.ts.map +0 -1
  1006. package/dist/src/shell/switchView.js.map +0 -1
  1007. package/dist/src/shell/treeSearch.d.ts.map +0 -1
  1008. package/dist/src/shell/treeSearch.js.map +0 -1
  1009. package/dist/src/shell/useAppearance.d.ts.map +0 -1
  1010. package/dist/src/shell/useAppearance.js.map +0 -1
  1011. package/dist/src/shell/useComponentDocs.d.ts.map +0 -1
  1012. package/dist/src/shell/useComponentDocs.js.map +0 -1
  1013. package/dist/src/shell/useControlKeys.d.ts.map +0 -1
  1014. package/dist/src/shell/useControlKeys.js.map +0 -1
  1015. package/dist/src/shell/useCopy.d.ts.map +0 -1
  1016. package/dist/src/shell/useCopy.js.map +0 -1
  1017. package/dist/src/shell/useFold.d.ts.map +0 -1
  1018. package/dist/src/shell/useFold.js.map +0 -1
  1019. package/dist/src/shell/useFrameMessages.d.ts.map +0 -1
  1020. package/dist/src/shell/useFrameMessages.js.map +0 -1
  1021. package/dist/src/shell/useFrameQueue.d.ts.map +0 -1
  1022. package/dist/src/shell/useFrameQueue.js.map +0 -1
  1023. package/dist/src/shell/useFullPage.d.ts.map +0 -1
  1024. package/dist/src/shell/useFullPage.js.map +0 -1
  1025. package/dist/src/shell/useLiveView.d.ts.map +0 -1
  1026. package/dist/src/shell/useLiveView.js.map +0 -1
  1027. package/dist/src/shell/useLoaded.d.ts.map +0 -1
  1028. package/dist/src/shell/useLoaded.js.map +0 -1
  1029. package/dist/src/shell/usePageDoc.d.ts.map +0 -1
  1030. package/dist/src/shell/usePageDoc.js.map +0 -1
  1031. package/dist/src/shell/usePopover.d.ts.map +0 -1
  1032. package/dist/src/shell/usePopover.js.map +0 -1
  1033. package/dist/src/shell/useRecentPages.d.ts.map +0 -1
  1034. package/dist/src/shell/useRecentPages.js.map +0 -1
  1035. package/dist/src/shell/useScrollMemory.d.ts.map +0 -1
  1036. package/dist/src/shell/useScrollMemory.js.map +0 -1
  1037. package/dist/src/shell/useShownView.d.ts.map +0 -1
  1038. package/dist/src/shell/useShownView.js.map +0 -1
  1039. package/dist/src/shell/useSidebarLayout.d.ts.map +0 -1
  1040. package/dist/src/shell/useSidebarLayout.js.map +0 -1
  1041. package/dist/src/shell/useStored.d.ts.map +0 -1
  1042. package/dist/src/shell/useStored.js.map +0 -1
  1043. package/dist/src/shell/useStoryCode.d.ts.map +0 -1
  1044. package/dist/src/shell/useStoryCode.js.map +0 -1
  1045. package/dist/src/shell/useStoryHeights.d.ts.map +0 -1
  1046. package/dist/src/shell/useStoryHeights.js.map +0 -1
  1047. package/dist/src/shell/useStoryIdsElement.d.ts.map +0 -1
  1048. package/dist/src/shell/useStoryIdsElement.js.map +0 -1
  1049. package/dist/src/shell/useStoryKeys.d.ts.map +0 -1
  1050. package/dist/src/shell/useStoryKeys.js.map +0 -1
  1051. package/dist/src/shell/useSystemDark.d.ts.map +0 -1
  1052. package/dist/src/shell/useSystemDark.js.map +0 -1
  1053. package/dist/src/shell/useToolbarLayout.d.ts.map +0 -1
  1054. package/dist/src/shell/useToolbarLayout.js.map +0 -1
  1055. package/dist/src/shell/useToolbarOverflow.d.ts.map +0 -1
  1056. package/dist/src/shell/useToolbarOverflow.js.map +0 -1
  1057. package/dist/src/shell/useWorstCase.d.ts.map +0 -1
  1058. package/dist/src/shell/useWorstCase.js.map +0 -1
  1059. package/dist/src/shell/worstArgs.d.ts.map +0 -1
  1060. package/dist/src/shell/worstArgs.js.map +0 -1
  1061. package/dist/src/sourceFiles.d.ts.map +0 -1
  1062. package/dist/src/sourceFiles.js.map +0 -1
  1063. package/dist/src/spills.d.ts.map +0 -1
  1064. package/dist/src/spills.js.map +0 -1
  1065. package/dist/src/storyBackground.d.ts.map +0 -1
  1066. package/dist/src/storyBackground.js.map +0 -1
  1067. package/dist/src/storyCheck.d.ts.map +0 -1
  1068. package/dist/src/storyCheck.js.map +0 -1
  1069. package/dist/src/storyClock.d.ts.map +0 -1
  1070. package/dist/src/storyClock.js.map +0 -1
  1071. package/dist/src/storyGlobals.d.ts.map +0 -1
  1072. package/dist/src/storyGlobals.js.map +0 -1
  1073. package/dist/src/storyHeights.d.ts.map +0 -1
  1074. package/dist/src/storyHeights.js.map +0 -1
  1075. package/dist/src/storyIdsElement.d.ts.map +0 -1
  1076. package/dist/src/storyIdsElement.js.map +0 -1
  1077. package/dist/src/storyTexts.d.ts.map +0 -1
  1078. package/dist/src/storyTexts.js.map +0 -1
  1079. package/dist/src/storyTree.d.ts.map +0 -1
  1080. package/dist/src/storyTree.js.map +0 -1
  1081. package/dist/src/switches.d.ts.map +0 -1
  1082. package/dist/src/switches.js.map +0 -1
  1083. package/dist/src/toolbarLayout.d.ts.map +0 -1
  1084. package/dist/src/toolbarLayout.js.map +0 -1
  1085. package/dist/src/usedIn.d.ts.map +0 -1
  1086. package/dist/src/usedIn.js.map +0 -1
  1087. package/dist/src/viewState.d.ts.map +0 -1
  1088. package/dist/src/viewState.js.map +0 -1
  1089. package/dist/src/viewWords.d.ts.map +0 -1
  1090. package/dist/src/viewWords.js.map +0 -1
  1091. package/dist/src/vite/adapter.d.ts.map +0 -1
  1092. package/dist/src/vite/adapter.js.map +0 -1
  1093. package/dist/src/vite/agent.types.d.ts.map +0 -1
  1094. package/dist/src/vite/agent.types.js.map +0 -1
  1095. package/dist/src/vite/agentApi.d.ts.map +0 -1
  1096. package/dist/src/vite/agentApi.js.map +0 -1
  1097. package/dist/src/vite/agentRoutes.d.ts.map +0 -1
  1098. package/dist/src/vite/agentRoutes.js.map +0 -1
  1099. package/dist/src/vite/autoTitle.d.ts.map +0 -1
  1100. package/dist/src/vite/autoTitle.js.map +0 -1
  1101. package/dist/src/vite/componentPage.d.ts.map +0 -1
  1102. package/dist/src/vite/componentPage.js.map +0 -1
  1103. package/dist/src/vite/config.d.ts.map +0 -1
  1104. package/dist/src/vite/config.js.map +0 -1
  1105. package/dist/src/vite/configFile.d.ts.map +0 -1
  1106. package/dist/src/vite/configFile.js.map +0 -1
  1107. package/dist/src/vite/docsExtractor.d.ts.map +0 -1
  1108. package/dist/src/vite/docsExtractor.js.map +0 -1
  1109. package/dist/src/vite/docsProgram.d.ts.map +0 -1
  1110. package/dist/src/vite/docsProgram.js.map +0 -1
  1111. package/dist/src/vite/docsWorker.d.ts.map +0 -1
  1112. package/dist/src/vite/docsWorker.js.map +0 -1
  1113. package/dist/src/vite/forcedStates.d.ts.map +0 -1
  1114. package/dist/src/vite/forcedStates.js.map +0 -1
  1115. package/dist/src/vite/forgebookPlugin.d.ts.map +0 -1
  1116. package/dist/src/vite/forgebookPlugin.js.map +0 -1
  1117. package/dist/src/vite/heightsRoute.d.ts.map +0 -1
  1118. package/dist/src/vite/heightsRoute.js.map +0 -1
  1119. package/dist/src/vite/highlightCode.d.ts.map +0 -1
  1120. package/dist/src/vite/highlightCode.js.map +0 -1
  1121. package/dist/src/vite/indexStoryFile.d.ts.map +0 -1
  1122. package/dist/src/vite/indexStoryFile.js.map +0 -1
  1123. package/dist/src/vite/mcpProtocol.d.ts.map +0 -1
  1124. package/dist/src/vite/mcpProtocol.js.map +0 -1
  1125. package/dist/src/vite/pages.d.ts.map +0 -1
  1126. package/dist/src/vite/pages.js.map +0 -1
  1127. package/dist/src/vite/prebundled.d.ts.map +0 -1
  1128. package/dist/src/vite/prebundled.js.map +0 -1
  1129. package/dist/src/vite/storyCode.d.ts.map +0 -1
  1130. package/dist/src/vite/storyCode.js.map +0 -1
  1131. package/dist/src/vite/storyFilesModule.d.ts.map +0 -1
  1132. package/dist/src/vite/storyFilesModule.js.map +0 -1
  1133. package/dist/src/vite/storyMeta.d.ts.map +0 -1
  1134. package/dist/src/vite/storyMeta.js.map +0 -1
  1135. package/dist/src/vite/touchMedia.d.ts.map +0 -1
  1136. package/dist/src/vite/touchMedia.js.map +0 -1
  1137. package/dist/src/vite/typeScriptPieces.d.ts.map +0 -1
  1138. package/dist/src/vite/typeScriptPieces.js.map +0 -1
  1139. package/dist/src/vite/usageGraph.d.ts.map +0 -1
  1140. package/dist/src/vite/usageGraph.js.map +0 -1
  1141. package/dist/src/vite/usageModule.d.ts.map +0 -1
  1142. package/dist/src/vite/usageModule.js.map +0 -1
  1143. package/dist/src/worstCase.d.ts.map +0 -1
  1144. package/dist/src/worstCase.js.map +0 -1
@@ -1,33 +1,64 @@
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
  */
11
12
  import ts from "typescript-6";
12
13
  /**
13
- * The meta's object literal in a story file: its default export, without `satisfies`, `as` and parentheses.
14
+ * The value a constant at the top of the file is declared with, without its wrappers.
15
+ *
16
+ * @param source - the file, parsed.
17
+ * @param name - the constant's name.
18
+ */
19
+ const constantValue = (source, name) => {
20
+ for (const statement of source.statements) {
21
+ if (!ts.isVariableStatement(statement))
22
+ continue;
23
+ const declaration = statement.declarationList.declarations.find((each) => ts.isIdentifier(each.name) && each.name.text === name);
24
+ if (declaration?.initializer !== undefined)
25
+ return unwrapped(declaration.initializer);
26
+ }
27
+ return undefined;
28
+ };
29
+ /**
30
+ * The expression a story file exports as its default: `export default …`, or the local name of
31
+ * `export { meta as default }`.
14
32
  *
15
33
  * @param source - the story file, parsed.
16
34
  */
17
- const metaObject = (source) => {
35
+ const defaultExport = (source) => {
18
36
  for (const statement of source.statements) {
19
- if (!ts.isExportAssignment(statement) || statement.isExportEquals)
37
+ if (ts.isExportAssignment(statement) && !statement.isExportEquals)
38
+ return unwrapped(statement.expression);
39
+ if (!ts.isExportDeclaration(statement) || statement.moduleSpecifier !== undefined)
20
40
  continue;
21
- let expression = statement.expression;
22
- while (ts.isSatisfiesExpression(expression) ||
23
- ts.isAsExpression(expression) ||
24
- ts.isParenthesizedExpression(expression)) {
25
- expression = expression.expression;
26
- }
27
- return ts.isObjectLiteralExpression(expression) ? expression : undefined;
41
+ const clause = statement.exportClause;
42
+ const specifier = clause !== undefined && ts.isNamedExports(clause)
43
+ ? clause.elements.find((element) => element.name.text === "default")
44
+ : undefined;
45
+ if (specifier !== undefined)
46
+ return specifier.propertyName ?? specifier.name;
28
47
  }
29
48
  return undefined;
30
49
  };
50
+ /**
51
+ * The meta's object literal in a story file: its default export, written in place or held in a constant of the file
52
+ * (`export default meta`, `export { meta as default }`), as Storybook reads it; without `satisfies`, `as` and
53
+ * parentheses.
54
+ *
55
+ * @param source - the story file, parsed.
56
+ */
57
+ const metaObject = (source) => {
58
+ const exported = defaultExport(source);
59
+ const value = exported !== undefined && ts.isIdentifier(exported) ? constantValue(source, exported.text) : exported;
60
+ return value !== undefined && ts.isObjectLiteralExpression(value) ? value : undefined;
61
+ };
31
62
  /**
32
63
  * The value the meta writes for one of its fields.
33
64
  *
@@ -44,31 +75,36 @@ export const metaField = (source, name) => {
44
75
  * @param source - the story file, parsed.
45
76
  */
46
77
  export const metaComponent = (source) => metaField(source, "component");
78
+ /** An expression without the wrappers around a literal list (`as const`, `satisfies`, parentheses). */
79
+ export const unwrapped = (expression) => {
80
+ let inner = expression;
81
+ while (ts.isAsExpression(inner) || ts.isSatisfiesExpression(inner) || ts.isParenthesizedExpression(inner)) {
82
+ inner = inner.expression;
83
+ }
84
+ return inner;
85
+ };
47
86
  /**
48
- * The module a story file imports its meta's component from (`./Button`), read from the file alone: no program, so
49
- * it answers at once, where the docs need the package's program.
87
+ * The subcomponents the meta names, in the order it writes them: `subcomponents: { ChipList, Items: MenuItem }`.
50
88
  *
51
- * @param storyFile - the story file's path, for the parser.
52
- * @param text - the story file's text.
53
- * @returns the import's module specifier, or none when the meta names no imported component.
89
+ * @param source - the story file, parsed.
90
+ * @param checker - the program's checker.
54
91
  */
55
- export const componentImport = (storyFile, text) => {
56
- const source = ts.createSourceFile(storyFile, text, ts.ScriptTarget.Latest, true);
57
- const expression = metaComponent(source);
58
- if (expression === undefined || !ts.isIdentifier(expression))
59
- return undefined;
60
- const name = expression.text;
61
- for (const statement of source.statements) {
62
- if (!ts.isImportDeclaration(statement) || !ts.isStringLiteral(statement.moduleSpecifier))
63
- continue;
64
- const clause = statement.importClause;
65
- const bindings = clause?.namedBindings;
66
- const isNamed = bindings !== undefined &&
67
- ts.isNamedImports(bindings) &&
68
- bindings.elements.some((element) => element.name.text === name);
69
- if (clause?.name?.text === name || isNamed)
70
- return statement.moduleSpecifier.text;
71
- }
72
- return undefined;
92
+ export const metaSubcomponents = (source, checker) => {
93
+ const field = metaField(source, "subcomponents");
94
+ const object = field === undefined ? undefined : unwrapped(field);
95
+ if (object === undefined || !ts.isObjectLiteralExpression(object))
96
+ return [];
97
+ return object.properties.flatMap((property) => {
98
+ if (ts.isShorthandPropertyAssignment(property)) {
99
+ const symbol = checker.getShorthandAssignmentValueSymbol(property);
100
+ return [{ name: property.name.text, expression: property.name, symbol }];
101
+ }
102
+ if (!ts.isPropertyAssignment(property))
103
+ return [];
104
+ const name = ts.isIdentifier(property.name) || ts.isStringLiteral(property.name)
105
+ ? property.name.text
106
+ : property.name.getText(source);
107
+ const symbol = checker.getSymbolAtLocation(property.initializer);
108
+ return [{ name, expression: property.initializer, symbol }];
109
+ });
73
110
  };
74
- //# sourceMappingURL=storyMeta.js.map
@@ -0,0 +1,18 @@
1
+ /**
2
+ * A story file parsed with Vite's parser, as the index and the story's code read it.
3
+ *
4
+ * @remarks
5
+ * A `.js` story file parses as JSX: the libraries that write their stories in JavaScript write JSX there (Carbon's
6
+ * do), and JSX is a superset of what a `.js` file can otherwise hold. Without it such a file is an error and its stories
7
+ * are missing from the sidebar.
8
+ *
9
+ * @module
10
+ */
11
+ import { parseSync } from "vite";
12
+ /**
13
+ * A story file parsed.
14
+ *
15
+ * @param file - the file's path; its extension decides TypeScript and JSX.
16
+ * @param text - the file's source.
17
+ */
18
+ export declare const parseStoryFile: (file: string, text: string) => ReturnType<typeof parseSync>;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * A story file parsed with Vite's parser, as the index and the story's code read it.
3
+ *
4
+ * @remarks
5
+ * A `.js` story file parses as JSX: the libraries that write their stories in JavaScript write JSX there (Carbon's
6
+ * do), and JSX is a superset of what a `.js` file can otherwise hold. Without it such a file is an error and its stories
7
+ * are missing from the sidebar.
8
+ *
9
+ * @module
10
+ */
11
+ import { parseSync } from "vite";
12
+ /** The extension of a file that says nothing about JSX. */
13
+ const PLAIN_SCRIPT = /\.[cm]?js$/;
14
+ /**
15
+ * A story file parsed.
16
+ *
17
+ * @param file - the file's path; its extension decides TypeScript and JSX.
18
+ * @param text - the file's source.
19
+ */
20
+ export const parseStoryFile = (file, text) => parseSync(file, text, PLAIN_SCRIPT.test(file) ? { lang: "jsx" } : {});
@@ -0,0 +1,39 @@
1
+ import { type VitePaths } from "./vitePaths.ts";
2
+ /**
3
+ * Whether a pattern leaves files out (`!src/**\/legacy/*`) rather than listing them. One that starts with an extglob's
4
+ * `!(…)` lists the names its group does not match, as fast-glob reads it.
5
+ *
6
+ * @param pattern - the pattern.
7
+ */
8
+ export declare const isNegated: (pattern: string) => boolean;
9
+ /**
10
+ * Why a list of patterns lists nothing by construction, or none: every pattern in it is a `!` one, which only leaves
11
+ * files out of what the others list.
12
+ *
13
+ * @param patterns - the patterns.
14
+ */
15
+ export declare const patternsProblem: (patterns: readonly string[]) => string | undefined;
16
+ /**
17
+ * The paths one pattern matches, as Node's `globSync` gives them (backslashes on Windows), relative to the folder.
18
+ *
19
+ * @param root - the folder the pattern is relative to.
20
+ * @param pattern - the pattern, without a `!`.
21
+ */
22
+ export type FindFiles = (root: string, pattern: string) => readonly string[];
23
+ /** A file a list of patterns lists, with the pattern that lists it. */
24
+ export type ListedFile = {
25
+ /** Its path relative to the patterns' folder, starting with `./` or `../`, with forward slashes. */
26
+ readonly key: string;
27
+ /** The first pattern that lists it: its static start begins the file's title when its meta writes none. */
28
+ readonly pattern: string;
29
+ };
30
+ /**
31
+ * The files a list of patterns lists, each once, sorted by key.
32
+ *
33
+ * @param root - the folder the patterns are relative to: the declaring module's.
34
+ * @param patterns - the patterns (`../src/**\/*.stories.tsx`, `!../src/**\/legacy/*`), in any order.
35
+ * @param find - what matches one pattern; the disk's by default, another system's in a test.
36
+ * @param paths - the path functions; the running system's unless a test names another.
37
+ * @throws when every pattern is a `!` one (`patternsProblem`).
38
+ */
39
+ export declare const listedFiles: (root: string, patterns: readonly string[], find?: FindFiles, paths?: VitePaths) => ListedFile[];
@@ -0,0 +1,100 @@
1
+ /**
2
+ * The files a list of patterns names, as Vite's `import.meta.glob` and fast-glob read one: the union of its patterns,
3
+ * less what its `!` patterns match, whatever their order. Used for a catalogue's story files and docs pages, by the
4
+ * plugin and by the testing package, so both list the same files.
5
+ *
6
+ * @remarks
7
+ * A `!` pattern is matched by the same engine as the others (Node's `globSync`), from the same folder, so it follows
8
+ * the same syntax: `!src/**\/legacy/*.stories.tsx` leaves out what `src/**\/legacy/*.stories.tsx` would list, and one
9
+ * that matches a folder (`!src/drafts`) leaves out every file in it, as fast-glob does. A file two
10
+ * patterns list is listed once, by the first, whose static start begins its title (as Storybook's first specifier
11
+ * does). A list of `!` patterns alone lists nothing, which is a mistake, never what its author meant: it is refused.
12
+ *
13
+ * @module
14
+ */
15
+ import { globSync } from "node:fs";
16
+ import { VITE_PATHS } from "./vitePaths.js";
17
+ /** What starts a pattern that leaves files out. */
18
+ const NEGATION = "!";
19
+ /**
20
+ * Whether a pattern leaves files out (`!src/**\/legacy/*`) rather than listing them. One that starts with an extglob's
21
+ * `!(…)` lists the names its group does not match, as fast-glob reads it.
22
+ *
23
+ * @param pattern - the pattern.
24
+ */
25
+ export const isNegated = (pattern) => pattern.startsWith(NEGATION) && !pattern.startsWith(`${NEGATION}(`);
26
+ /**
27
+ * Why a list of patterns lists nothing by construction, or none: every pattern in it is a `!` one, which only leaves
28
+ * files out of what the others list.
29
+ *
30
+ * @param patterns - the patterns.
31
+ */
32
+ export const patternsProblem = (patterns) => patterns.length > 0 && patterns.every(isNegated)
33
+ ? `every pattern is a \`!\` one (${patterns.map((pattern) => `"${pattern}"`).join(", ")}), which only leaves files out of what the others list: add a pattern that lists files beside them`
34
+ : undefined;
35
+ /** The folder of a project's dependencies. */
36
+ const DEPENDENCIES = "node_modules";
37
+ /**
38
+ * What a pattern leaves out: the dependencies, unless it names them. A `**` from a monorepo's root would otherwise walk
39
+ * every package's, seconds on the server's thread for files nobody asked for, as Storybook's own globs skip them.
40
+ *
41
+ * @param pattern - the pattern.
42
+ */
43
+ const excludedFrom = (pattern) => pattern.includes(DEPENDENCIES) ? () => false : (name) => name === DEPENDENCIES;
44
+ /** The files a pattern matches on the disk, the dependencies left out unless it names them. */
45
+ const globbed = (root, pattern) => globSync(pattern, { cwd: root, exclude: excludedFrom(pattern) });
46
+ /**
47
+ * Whether a file is left out: a `!` pattern matched it, or one of the folders it is in (`!src/drafts`), as fast-glob
48
+ * leaves out a folder's every file.
49
+ *
50
+ * @param key - the file's key (`./src/drafts/x.stories.tsx`).
51
+ * @param left - the keys of the files and folders the `!` patterns matched.
52
+ */
53
+ const isLeftOut = (key, left) => {
54
+ const segments = key.split("/");
55
+ return segments.some((_segment, at) => at > 0 && left.has(segments.slice(0, at + 1).join("/")));
56
+ };
57
+ /**
58
+ * A pattern without its trailing slashes (`src/drafts/`): the glob gives the folder it names without them. A loop,
59
+ * not a regular expression, whose backtracking a long run of slashes would make quadratic.
60
+ *
61
+ * @param pattern - the pattern.
62
+ */
63
+ const withoutTrailingSlashes = (pattern) => {
64
+ let end = pattern.length;
65
+ while (end > 0 && pattern[end - 1] === "/")
66
+ end -= 1;
67
+ return pattern.slice(0, end);
68
+ };
69
+ /**
70
+ * The files a list of patterns lists, each once, sorted by key.
71
+ *
72
+ * @param root - the folder the patterns are relative to: the declaring module's.
73
+ * @param patterns - the patterns (`../src/**\/*.stories.tsx`, `!../src/**\/legacy/*`), in any order.
74
+ * @param find - what matches one pattern; the disk's by default, another system's in a test.
75
+ * @param paths - the path functions; the running system's unless a test names another.
76
+ * @throws when every pattern is a `!` one (`patternsProblem`).
77
+ */
78
+ export const listedFiles = (root, patterns, find = globbed, paths = VITE_PATHS) => {
79
+ const problem = patternsProblem(patterns);
80
+ if (problem !== undefined)
81
+ throw new Error(problem);
82
+ // with forward slashes on every system, so a file has the same key wherever the catalogue runs
83
+ const keysOf = (pattern) => find(root, pattern).map((file) => paths.relativeKey(root, file));
84
+ const listing = patterns.filter((each) => !isNegated(each));
85
+ // a `!` pattern that names the dependencies leaves out only what a listing one names there: walked otherwise, it
86
+ // would read every package's folder for files no pattern lists
87
+ const isWalkedFor = (pattern) => !pattern.includes(DEPENDENCIES) || listing.some((each) => each.includes(DEPENDENCIES));
88
+ const left = new Set(patterns
89
+ .filter((each) => isNegated(each) && isWalkedFor(each))
90
+ .flatMap((pattern) => keysOf(withoutTrailingSlashes(pattern.slice(NEGATION.length)))));
91
+ const listed = new Map();
92
+ for (const pattern of listing)
93
+ for (const key of keysOf(pattern))
94
+ if (!isLeftOut(key, left) && !listed.has(key))
95
+ listed.set(key, pattern);
96
+ // by code unit, as a plain `sort()` orders the keys: the keys are unique
97
+ return [...listed]
98
+ .sort(([first], [second]) => (first < second ? -1 : 1))
99
+ .map(([key, pattern]) => ({ key, pattern }));
100
+ };
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Whether a story file writes a `play` for a story, read without running it: the story's own field, one assigned to it
3
+ * (`Story.play = …`), or one it takes from a story of the file it spreads (`{ ...Other, args }`).
4
+ *
5
+ * @remarks
6
+ * Among an object's fields the last one written wins, as when it runs. A `play` spread from another file, or written
7
+ * by code the index cannot follow, is not seen. Pure.
8
+ *
9
+ * @module
10
+ */
11
+ import type { ESTree } from "vite";
12
+ /** What the file's top level holds, by local name. */
13
+ export type StoryValues = {
14
+ /** Each constant's value. */
15
+ readonly values: ReadonlyMap<string, ESTree.Expression>;
16
+ /** The properties assigned to each name after its declaration. */
17
+ readonly assigned: ReadonlyMap<string, ReadonlyMap<string, ESTree.Expression>>;
18
+ };
19
+ /**
20
+ * The index's field for a `play`: set when the story has one of its own or the meta does, which runs for every story
21
+ * of the file; left out otherwise.
22
+ *
23
+ * @param local - the story's local name; none for a story re-exported from another file, whose own `play` is not seen.
24
+ * @param top - the file's top level.
25
+ * @param metaPlay - the meta's `play`; none when it writes none.
26
+ */
27
+ export declare const playField: (local: string | undefined, top: StoryValues, metaPlay: ESTree.Expression | undefined) => {
28
+ readonly hasPlay?: true;
29
+ };
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Whether an expression is a `play`: `undefined` written out takes one away.
3
+ *
4
+ * @param value - the field's value; none when there is no such field.
5
+ */
6
+ const isPlay = (value) => value !== undefined && !(value.type === "Identifier" && value.name === "undefined");
7
+ /**
8
+ * What an object says of `play`, its last word first; none when it says nothing.
9
+ *
10
+ * @param object - the object.
11
+ * @param top - the file's top level, for what it spreads.
12
+ * @param seen - the names followed so far, so stories spreading each other end.
13
+ */
14
+ const objectPlay = (object, top, seen) => {
15
+ for (const property of object.properties.toReversed()) {
16
+ if (property.type === "SpreadElement") {
17
+ const spread = property.argument;
18
+ const said = spread.type === "Identifier" ? namedPlay(spread.name, top, seen) : undefined;
19
+ if (said !== undefined)
20
+ return said;
21
+ }
22
+ else if (!property.computed && property.key.type === "Identifier" && property.key.name === "play") {
23
+ return isPlay(property.value);
24
+ }
25
+ }
26
+ return undefined;
27
+ };
28
+ /**
29
+ * What a local name says of `play`: an assignment outranks its object's fields, since it runs after them.
30
+ *
31
+ * @param name - the local name.
32
+ * @param top - the file's top level.
33
+ * @param seen - the names followed so far.
34
+ */
35
+ const namedPlay = (name, top, seen) => {
36
+ if (seen.has(name))
37
+ return undefined;
38
+ const assigned = top.assigned.get(name)?.get("play");
39
+ if (assigned !== undefined)
40
+ return isPlay(assigned);
41
+ const value = top.values.get(name);
42
+ return value?.type === "ObjectExpression" ? objectPlay(value, top, new Set([...seen, name])) : undefined;
43
+ };
44
+ /**
45
+ * The index's field for a `play`: set when the story has one of its own or the meta does, which runs for every story
46
+ * of the file; left out otherwise.
47
+ *
48
+ * @param local - the story's local name; none for a story re-exported from another file, whose own `play` is not seen.
49
+ * @param top - the file's top level.
50
+ * @param metaPlay - the meta's `play`; none when it writes none.
51
+ */
52
+ export const playField = (local, top, metaPlay) => (local !== undefined && namedPlay(local, top, new Set()) === true) || isPlay(metaPlay)
53
+ ? { hasPlay: true }
54
+ : {};
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Which stories a change touches: each story with the files it reaches, and from changed files back to stories.
3
+ *
4
+ * @remarks
5
+ * Pure, on the same graph "Used in" reads (`usageGraph.ts`), so what cannot be followed there cannot be followed here: a
6
+ * computed lazy import, a component handed in as a prop. A story file reaches its meta's component whatever its stories
7
+ * render, since a story with no JSX draws that component. Style sheets and other files outside the graph are not known
8
+ * to reach anything: `verify` says so by checking the stories it can name, not by claiming the rest are safe.
9
+ *
10
+ * @module
11
+ */
12
+ import type { UsageGraph } from "./usageGraph.ts";
13
+ /** A story file's title, to name its stories by. */
14
+ export type ReachFile = {
15
+ /** The story file's absolute path. */
16
+ readonly storyFile: string;
17
+ /** Its title. */
18
+ readonly title: string;
19
+ };
20
+ /** A story with what it reaches. */
21
+ export type ReachedStory = {
22
+ /** Its component's title. */
23
+ readonly title: string;
24
+ /** Its export. */
25
+ readonly exportName: string;
26
+ /** Every file it reaches, its own story file included, absolute. */
27
+ readonly files: readonly string[];
28
+ };
29
+ /**
30
+ * Each story with the files it reaches.
31
+ *
32
+ * @param graph - what the stories render and what the modules import.
33
+ * @param files - each story file's title.
34
+ */
35
+ export declare const storyReach: (graph: UsageGraph, files: readonly ReachFile[]) => ReachedStory[];
36
+ /**
37
+ * The stories that reach any of the changed files, each once, in the graph's order.
38
+ *
39
+ * @param reach - each story with what it reaches.
40
+ * @param changed - the changed files, absolute.
41
+ */
42
+ export declare const affectedStories: (reach: readonly ReachedStory[], changed: readonly string[]) => ReachedStory[];
@@ -0,0 +1,43 @@
1
+ /** The files a module reaches, itself included, through the graph's imports. */
2
+ const reachedFrom = (imports, starts) => {
3
+ const reached = new Set();
4
+ const queue = [...starts];
5
+ while (queue.length > 0) {
6
+ const file = queue.pop() ?? "";
7
+ if (reached.has(file))
8
+ continue;
9
+ reached.add(file);
10
+ queue.push(...(imports[file] ?? []));
11
+ }
12
+ return reached;
13
+ };
14
+ /**
15
+ * Each story with the files it reaches.
16
+ *
17
+ * @param graph - what the stories render and what the modules import.
18
+ * @param files - each story file's title.
19
+ */
20
+ export const storyReach = (graph, files) => {
21
+ const titles = new Map(files.map((file) => [file.storyFile, file.title]));
22
+ return graph.files.flatMap((file) => file.stories.map((story) => ({
23
+ title: titles.get(file.storyFile) ?? "",
24
+ exportName: story.exportName,
25
+ files: [
26
+ ...reachedFrom(graph.imports, [
27
+ file.storyFile,
28
+ ...(file.component === undefined ? [] : [file.component.file]),
29
+ ...story.renders.map((ref) => ref.file)
30
+ ])
31
+ ]
32
+ })));
33
+ };
34
+ /**
35
+ * The stories that reach any of the changed files, each once, in the graph's order.
36
+ *
37
+ * @param reach - each story with what it reaches.
38
+ * @param changed - the changed files, absolute.
39
+ */
40
+ export const affectedStories = (reach, changed) => {
41
+ const files = new Set(changed);
42
+ return reach.filter((story) => story.files.some((file) => files.has(file)));
43
+ };
@@ -0,0 +1,29 @@
1
+ import type { AgentAnswer } from "./agentRoutes.ts";
2
+ import type { ResolvedConfig } from "./configFile.ts";
3
+ import { type TokenReading } from "./tokenAnswers.ts";
4
+ /** Finds the file of a source's module specifier. */
5
+ export type ResolveSource = (specifier: string) => Promise<string | undefined>;
6
+ /**
7
+ * The catalogue's tokens, read at each question, so an edited file answers at once and costs nothing unasked. Sources
8
+ * are read from their modules' text, each source's files before the catalogue's, which win a clash.
9
+ *
10
+ * @param config - the catalogue's configuration.
11
+ * @param resolveSource - finds the file of a source's module.
12
+ * @param watch - told of every file read: the sources' modules and the tokens files; none by default.
13
+ */
14
+ export declare const catalogueTokens: (config: ResolvedConfig, resolveSource: ResolveSource, watch?: (file: string) => void) => Promise<TokenReading>;
15
+ /**
16
+ * The tokens' module, for a designer's page: what a list gives, and what could not be read. A static build has no
17
+ * server to ask, so the page imports them; a problem names a file from the catalogue's folder (`./tokens.json`),
18
+ * since a published page must not carry the building machine's paths.
19
+ *
20
+ * @param config - the catalogue's configuration.
21
+ * @param watch - adds a file whose edit renews the module.
22
+ * @param resolveSource - finds the file of a source's module.
23
+ */
24
+ export declare const tokensModule: (config: ResolvedConfig, watch: (file: string) => void, resolveSource: ResolveSource) => Promise<{
25
+ code: string;
26
+ moduleType: "js";
27
+ }>;
28
+ /** The answers that need nothing of the stories, so a story broken mid-edit cannot take them down. */
29
+ export declare const STORYLESS_ROUTES: Readonly<Record<string, (config: ResolvedConfig, params: URLSearchParams, resolveSource: ResolveSource) => Promise<AgentAnswer>>>;
@@ -0,0 +1,126 @@
1
+ /**
2
+ * The answers that read no story: the design tokens, and what a change adds against them.
3
+ *
4
+ * @remarks
5
+ * Kept from the stories' answers on purpose: the sources are not loaded for them, so a story broken mid-edit, which is
6
+ * when an agent asks, cannot take them down, and a token question costs no bundling. A source's tokens are read from
7
+ * its module's text for the same reason: the module imports the stories' index, a language's texts, its named values.
8
+ *
9
+ * @module
10
+ */
11
+ import { readFile } from "node:fs/promises";
12
+ import { isAbsolute, join, relative, resolve } from "node:path";
13
+ import { codeLiteral } from "../codeLiteral.js";
14
+ import { addedLines, checkedCode, deletedTests, fileLines } from "./checkCode.js";
15
+ import { gitChange, gitOutput } from "./gitChange.js";
16
+ import { readTokenFiles, sourceTokensIn } from "./sourceTokens.js";
17
+ import { TOKEN_ANSWERS, tokenSummary } from "./tokenAnswers.js";
18
+ /**
19
+ * What one source's module declares; a module the bundler answers itself has no text to read, so it declares none.
20
+ *
21
+ * @param specifier - the source's module, as the configuration names it.
22
+ * @param resolveSource - finds its file.
23
+ * @param watch - told of the module's file, whose edit may name other tokens files.
24
+ */
25
+ const sourceDeclaration = async (specifier, resolveSource, watch) => {
26
+ const none = { id: undefined, files: [], problems: [] };
27
+ try {
28
+ const id = await resolveSource(specifier);
29
+ if (id === undefined)
30
+ return { ...none, unread: `${specifier}: not found` };
31
+ const file = id.split("?")[0] ?? id;
32
+ if (!isAbsolute(file))
33
+ return none;
34
+ watch(file);
35
+ return sourceTokensIn(file, specifier);
36
+ }
37
+ catch (error) {
38
+ return { ...none, unread: `${specifier}: ${error instanceof Error ? error.message : String(error)}` };
39
+ }
40
+ };
41
+ /**
42
+ * The catalogue's tokens, read at each question, so an edited file answers at once and costs nothing unasked. Sources
43
+ * are read from their modules' text, each source's files before the catalogue's, which win a clash.
44
+ *
45
+ * @param config - the catalogue's configuration.
46
+ * @param resolveSource - finds the file of a source's module.
47
+ * @param watch - told of every file read: the sources' modules and the tokens files; none by default.
48
+ */
49
+ export const catalogueTokens = async (config, resolveSource, watch = () => undefined) => {
50
+ const declared = await Promise.all(config.sources.map((specifier) => sourceDeclaration(specifier, resolveSource, watch)));
51
+ const own = config.tokens.map(({ path, mode }) => ({ path, mode, label: relative(config.dir, path) }));
52
+ const files = [...declared.flatMap((source) => source.files), ...own];
53
+ for (const { path } of files)
54
+ watch(path);
55
+ const { tokens, problems, clashes } = readTokenFiles(files);
56
+ const declaring = declared.flatMap((source) => source.problems);
57
+ return {
58
+ tokens,
59
+ clashes,
60
+ problems: [...declaring, ...problems],
61
+ unread: declared.flatMap((source) => (source.unread === undefined ? [] : [source.unread])),
62
+ isConfigured: files.length > 0 || declaring.length > 0
63
+ };
64
+ };
65
+ /**
66
+ * The tokens' module, for a designer's page: what a list gives, and what could not be read. A static build has no
67
+ * server to ask, so the page imports them; a problem names a file from the catalogue's folder (`./tokens.json`),
68
+ * since a published page must not carry the building machine's paths.
69
+ *
70
+ * @param config - the catalogue's configuration.
71
+ * @param watch - adds a file whose edit renews the module.
72
+ * @param resolveSource - finds the file of a source's module.
73
+ */
74
+ export const tokensModule = async (config, watch, resolveSource) => {
75
+ const { tokens, problems, unread } = await catalogueTokens(config, resolveSource, watch);
76
+ // in both forms: Vite's, and the system's, which a Windows error message writes
77
+ const shown = (problem) => problem.replaceAll(config.dir, ".").replaceAll(resolve(config.dir), ".");
78
+ const value = { tokens: tokens.map(tokenSummary), problems: [...unread, ...problems].map(shown) };
79
+ return { code: `export default ${codeLiteral(value)};`, moduleType: "js" };
80
+ };
81
+ /**
82
+ * What a change adds that breaks the design system. It needs nothing of the stories, like the tokens, so a story broken
83
+ * mid-edit does not stop it; tokens that were asked for and cannot be read do, or a check would pass having checked less.
84
+ * A source whose module cannot be read is only `skipped`: it may hold no tokens at all.
85
+ *
86
+ * @param config - the catalogue's configuration.
87
+ * @param params - the query: `since`, the commit to compare with.
88
+ * @param resolveSource - finds the file of a source's module.
89
+ */
90
+ const checkCodeAnswer = async (config, params, resolveSource) => {
91
+ const since = params.get("since") || "HEAD";
92
+ const { tokens, problems, unread } = await catalogueTokens(config, resolveSource);
93
+ if (problems.length > 0) {
94
+ return { status: 400, body: { error: `The tokens files have problems: ${problems.join("; ")}` } };
95
+ }
96
+ const change = await gitChange(config.dir, since);
97
+ if (typeof change === "string")
98
+ return { status: 400, body: { error: change } };
99
+ const root = (await gitOutput(config.dir, "rev-parse", "--show-toplevel")).trim();
100
+ const fresh = await Promise.all(change.untracked.map(async (file) => fileLines(file, await readFile(join(root, file), "utf8").catch(() => ""))));
101
+ const hasTokens = tokens.length > 0;
102
+ const body = {
103
+ schema: 1,
104
+ since,
105
+ checked: hasTokens
106
+ ? ["raw-color", "raw-size", "suppression", "deleted-test"]
107
+ : ["suppression", "deleted-test"],
108
+ skipped: [
109
+ ...(hasTokens ? [] : ["Colours and sizes: this catalogue names no tokens file."]),
110
+ ...unread.map((source) => `Tokens of a source: ${source}`)
111
+ ],
112
+ problems: [
113
+ ...checkedCode([...addedLines(change.diff), ...fresh.flat()], tokens),
114
+ ...deletedTests(change.deleted)
115
+ ]
116
+ };
117
+ return { status: 200, body };
118
+ };
119
+ /** The answers that need nothing of the stories, so a story broken mid-edit cannot take them down. */
120
+ export const STORYLESS_ROUTES = {
121
+ ...Object.fromEntries(Object.entries(TOKEN_ANSWERS).map(([route, answer]) => [
122
+ route,
123
+ async (config, params, resolveSource) => answer(await catalogueTokens(config, resolveSource), params)
124
+ ])),
125
+ "check-code": checkCodeAnswer
126
+ };