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
@@ -0,0 +1,295 @@
1
+ /** How many tokens a search gives: an agent needs the best and what is close to it. */
2
+ const NEAREST_LIMIT = 3;
3
+ /** The pixels of a rem, the browsers' default. */
4
+ const REM_PIXELS = 16;
5
+ /** Below this the two values are equal, whatever the arithmetic left behind. */
6
+ const EXACT = 1e-6;
7
+ /** Oklab's distance that a person barely tells apart, times 100. */
8
+ const CLOSE_COLOR = 2;
9
+ /** The share of a size or a time that still reads as the same. */
10
+ const CLOSE_SHARE = 0.05;
11
+ /** A number as CSS writes it, with what follows. */
12
+ const MEASURE = /^([+-]?(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?)([a-z%]*)$/i;
13
+ /** The font weights the format names, as numbers. */
14
+ const FONT_WEIGHTS = {
15
+ thin: 100,
16
+ hairline: 100,
17
+ "extra-light": 200,
18
+ "ultra-light": 200,
19
+ light: 300,
20
+ normal: 400,
21
+ regular: 400,
22
+ book: 400,
23
+ medium: 500,
24
+ "semi-bold": 600,
25
+ "demi-bold": 600,
26
+ bold: 700,
27
+ "extra-bold": 800,
28
+ "ultra-bold": 800,
29
+ black: 900,
30
+ heavy: 900,
31
+ "extra-black": 950,
32
+ "ultra-black": 950
33
+ };
34
+ /** What a CSS property or a loose word compares with, for an agent that names what it is writing. */
35
+ const TYPE_WORDS = {
36
+ color: "color",
37
+ colour: "color",
38
+ background: "color",
39
+ "background-color": "color",
40
+ "border-color": "color",
41
+ fill: "color",
42
+ stroke: "color",
43
+ dimension: "dimension",
44
+ size: "dimension",
45
+ spacing: "dimension",
46
+ space: "dimension",
47
+ padding: "dimension",
48
+ margin: "dimension",
49
+ gap: "dimension",
50
+ width: "dimension",
51
+ height: "dimension",
52
+ radius: "dimension",
53
+ "border-radius": "dimension",
54
+ "font-size": "dimension",
55
+ duration: "duration",
56
+ "transition-duration": "duration",
57
+ "animation-duration": "duration",
58
+ number: "number",
59
+ "line-height": "number",
60
+ opacity: "number",
61
+ fontweight: "fontWeight",
62
+ "font-weight": "fontWeight"
63
+ };
64
+ /** A channel without sRGB's curve. */
65
+ const linear = (channel) => channel <= 0.04045 ? channel / 12.92 : ((channel + 0.055) / 1.055) ** 2.4;
66
+ /** Linear sRGB in Oklab, the published conversion. */
67
+ const fromLinear = (r, g, b, alpha) => {
68
+ const l = Math.cbrt(0.4122214708 * r + 0.5363325363 * g + 0.0514459929 * b);
69
+ const m = Math.cbrt(0.2119034982 * r + 0.6806995451 * g + 0.1073969566 * b);
70
+ const s = Math.cbrt(0.0883024619 * r + 0.2817188376 * g + 0.6299787005 * b);
71
+ return {
72
+ l: 0.2104542553 * l + 0.793617785 * m - 0.0040720468 * s,
73
+ a: 1.9779984951 * l - 2.428592205 * m + 0.4505937099 * s,
74
+ b: 0.0259040371 * l + 0.7827717662 * m - 0.808675766 * s,
75
+ alpha
76
+ };
77
+ };
78
+ /** sRGB channels of 0 to 1 in Oklab. */
79
+ const fromSrgb = (r, g, b, alpha) => fromLinear(linear(r), linear(g), linear(b), alpha);
80
+ /** Linear Display P3 in Oklab, through linear sRGB, the standard matrix. */
81
+ const fromDisplayP3 = (r, g, b, alpha) => {
82
+ const [lr, lg, lb] = [linear(r), linear(g), linear(b)];
83
+ return fromLinear(1.2249401 * lr - 0.2249404 * lg, -0.0420569 * lr + 1.0420571 * lg, -0.0196376 * lr - 0.0786361 * lg + 1.0982735 * lb, alpha);
84
+ };
85
+ /** A hex colour; none unless it has 3, 4, 6 or 8 digits. */
86
+ const hexColor = (text) => {
87
+ const digits = /^#((?:[0-9a-f]{3,4}){1,2})$/.exec(text)?.[1];
88
+ if (digits === undefined)
89
+ return undefined;
90
+ const long = digits.length <= 4 ? [...digits].map((digit) => digit + digit).join("") : digits;
91
+ const byte = (start) => Number.parseInt(long.slice(start, start + 2), 16) / 255;
92
+ return fromSrgb(byte(0), byte(2), byte(4), long.length === 8 ? byte(6) : 1);
93
+ };
94
+ /** A function's arguments: its channels and its alpha, commas or spaces, `none` as zero. */
95
+ const functionArguments = (text) => {
96
+ const match = /^([a-z-]+)\((.*)\)$/.exec(text);
97
+ if (match === null)
98
+ return undefined;
99
+ const [channels = "", alpha] = (match[2] ?? "").split("/");
100
+ const parts = channels.trim().split(/[\s,]+/);
101
+ const commaAlpha = alpha === undefined && parts.length === 4 ? parts.pop() : undefined;
102
+ const written = (alpha ?? commaAlpha)?.trim();
103
+ const opacity = written === undefined ? 1 : percentOf(written, 1);
104
+ return { name: match[1] ?? "", parts, alpha: opacity };
105
+ };
106
+ /** A channel that may be a percentage of a full scale; `none` is zero. */
107
+ const percentOf = (text, full) => {
108
+ if (text === "none")
109
+ return 0;
110
+ return text.endsWith("%") ? (Number(text.slice(0, -1)) / 100) * full : Number(text);
111
+ };
112
+ /** Hue, saturation and lightness as sRGB. */
113
+ const hslChannels = (hue, saturation, lightness) => {
114
+ const chroma = saturation * Math.min(lightness, 1 - lightness);
115
+ const channel = (offset) => {
116
+ const k = (offset + hue / 30) % 12;
117
+ return lightness - chroma * Math.max(-1, Math.min(k - 3, 9 - k, 1));
118
+ };
119
+ return [channel(0), channel(8), channel(4)];
120
+ };
121
+ /** Polar Oklab as Oklab. */
122
+ const fromOklch = (l, chroma, hue, alpha) => ({
123
+ l,
124
+ a: chroma * Math.cos((hue * Math.PI) / 180),
125
+ b: chroma * Math.sin((hue * Math.PI) / 180),
126
+ alpha
127
+ });
128
+ /** A CSS colour function; none for one this cannot place in Oklab. */
129
+ const functionColor = (text) => {
130
+ const call = functionArguments(text);
131
+ if (call === undefined)
132
+ return undefined;
133
+ const { name, parts, alpha } = call;
134
+ const [first = "", second = "", third = "", fourth = ""] = parts;
135
+ const fromRgb = () => fromSrgb(percentOf(first, 255) / 255, percentOf(second, 255) / 255, percentOf(third, 255) / 255, alpha);
136
+ const fromHsl = () => {
137
+ const [r, g, b] = hslChannels(percentOf(first, 360), percentOf(second, 1), percentOf(third, 1));
138
+ return fromSrgb(r, g, b, alpha);
139
+ };
140
+ const convert = {
141
+ rgb: fromRgb,
142
+ rgba: fromRgb,
143
+ hsl: fromHsl,
144
+ hsla: fromHsl,
145
+ oklab: () => ({ l: percentOf(first, 1), a: percentOf(second, 0.4), b: percentOf(third, 0.4), alpha }),
146
+ oklch: () => fromOklch(percentOf(first, 1), percentOf(second, 0.4), percentOf(third, 360), alpha),
147
+ color: () => {
148
+ const [r, g, b] = [percentOf(second, 1), percentOf(third, 1), percentOf(fourth, 1)];
149
+ if (first === "srgb")
150
+ return fromSrgb(r, g, b, alpha);
151
+ if (first === "srgb-linear")
152
+ return fromLinear(r, g, b, alpha);
153
+ return first === "display-p3" ? fromDisplayP3(r, g, b, alpha) : undefined;
154
+ }
155
+ };
156
+ return convert[name]?.();
157
+ };
158
+ /** A colour as CSS writes it, in Oklab; none for what cannot be read. Keywords beyond these three carry no design. */
159
+ const parsedColor = (written) => {
160
+ const text = written.trim().toLowerCase();
161
+ if (text === "transparent")
162
+ return fromSrgb(0, 0, 0, 0);
163
+ if (text === "black")
164
+ return fromSrgb(0, 0, 0, 1);
165
+ if (text === "white")
166
+ return fromSrgb(1, 1, 1, 1);
167
+ const color = text.startsWith("#") ? hexColor(text) : functionColor(text);
168
+ const isReadable = color !== undefined && [color.l, color.a, color.b, color.alpha].every(Number.isFinite);
169
+ return isReadable ? color : undefined;
170
+ };
171
+ /** A number with a unit, in the unit a type compares in; none when it is something else. */
172
+ const measure = (text, units) => {
173
+ const match = MEASURE.exec(text.trim());
174
+ const scale = units[(match?.[2] ?? "").toLowerCase()];
175
+ return match === null || scale === undefined ? undefined : Number(match[1]) * scale;
176
+ };
177
+ /** Two measures' distance. */
178
+ const measured = (units) => (first, second) => {
179
+ const [a, b] = [measure(first, units), measure(second, units)];
180
+ return a === undefined || b === undefined ? undefined : Math.abs(a - b);
181
+ };
182
+ /** What counts as near a measure: a share of it, or a floor for small values. */
183
+ const nearMeasure = (units, floor) => (value) => Math.max(floor, Math.abs(measure(value, units) ?? 0) * CLOSE_SHARE);
184
+ /** A font weight as a number. */
185
+ const fontWeight = (text) => {
186
+ const named = FONT_WEIGHTS[text.trim().toLowerCase()];
187
+ return named ?? measure(text, { "": 1 });
188
+ };
189
+ /** The units of dimensions, in pixels. */
190
+ const PIXELS = { px: 1, rem: REM_PIXELS, "": 1 };
191
+ /** The units of durations, in milliseconds. */
192
+ const MILLISECONDS = { ms: 1, s: 1000 };
193
+ /** How each type compares; a type not here has no meaningful distance. */
194
+ const COMPARISONS = {
195
+ color: {
196
+ unit: "Oklab distance × 100: under 2 reads as the same colour; alpha counts",
197
+ distance: (first, second) => {
198
+ const [a, b] = [parsedColor(first), parsedColor(second)];
199
+ if (a === undefined || b === undefined)
200
+ return undefined;
201
+ return (Math.hypot(a.l - b.l, a.a - b.a, a.b - b.b) + Math.abs(a.alpha - b.alpha)) * 100;
202
+ },
203
+ closeAt: () => CLOSE_COLOR
204
+ },
205
+ dimension: {
206
+ unit: "px, a rem being 16",
207
+ distance: measured(PIXELS),
208
+ closeAt: nearMeasure(PIXELS, 1)
209
+ },
210
+ duration: { unit: "ms", distance: measured(MILLISECONDS), closeAt: nearMeasure(MILLISECONDS, 10) },
211
+ number: { unit: "the number", distance: measured({ "": 1 }), closeAt: nearMeasure({ "": 1 }, 0) },
212
+ fontWeight: {
213
+ unit: "weight",
214
+ distance: (first, second) => {
215
+ const [a, b] = [fontWeight(first), fontWeight(second)];
216
+ return a === undefined || b === undefined ? undefined : Math.abs(a - b);
217
+ },
218
+ closeAt: () => 0
219
+ }
220
+ };
221
+ /** The type a value's form tells, for a question that names none. */
222
+ const inferredType = (value) => {
223
+ const text = value.trim().toLowerCase();
224
+ if (parsedColor(text) !== undefined)
225
+ return "color";
226
+ if (measure(text, MILLISECONDS) !== undefined)
227
+ return "duration";
228
+ if (measure(text, { px: 1, rem: 1 }) !== undefined)
229
+ return "dimension";
230
+ if (FONT_WEIGHTS[text] !== undefined)
231
+ return "fontWeight";
232
+ return measure(text, { "": 1 }) === undefined ? undefined : "number";
233
+ };
234
+ /** A token's best match for a value, over its base value and each theme's; a tie goes to the base. */
235
+ const bestMatch = (token, value, comparison) => {
236
+ const options = [
237
+ ...(token.isThemeOnly === true ? [] : [{ mode: undefined, value: token.value }]),
238
+ ...Object.entries(token.modes).map(([mode, text]) => ({ mode, value: text }))
239
+ ];
240
+ const matches = options.flatMap((option) => {
241
+ const distance = comparison.distance(value, option.value);
242
+ if (distance === undefined || !Number.isFinite(distance))
243
+ return [];
244
+ return [
245
+ {
246
+ name: token.name,
247
+ value: option.value,
248
+ ...(option.mode === undefined ? {} : { mode: option.mode }),
249
+ ...(token.alias === undefined ? {} : { alias: token.alias }),
250
+ distance: Math.round(distance * 100) / 100,
251
+ isExact: distance < EXACT,
252
+ isClose: distance <= comparison.closeAt(value)
253
+ }
254
+ ];
255
+ });
256
+ return matches.toSorted((first, second) => first.distance - second.distance)[0];
257
+ };
258
+ /** The order of matches: nearest first, the base before a theme when they tie, since the base holds in every theme. */
259
+ const byDistance = (first, second) => first.distance - second.distance || Number(first.mode !== undefined) - Number(second.mode !== undefined);
260
+ /** The type a word names: a token type, or a CSS property. */
261
+ const typeOfWord = (word) => TYPE_WORDS[word.trim().toLowerCase()];
262
+ /**
263
+ * The tokens nearest a value, nearest first. Deprecated tokens are left out: code must not move onto one.
264
+ *
265
+ * @param tokens - the tokens.
266
+ * @param value - the value, as code writes it (`#1c1b1b`, `rgb(1 2 3 / 50%)`, `hsl(0 100% 50%)`, `16px`, `200ms`).
267
+ * @param asked - a token type, or a CSS property (`background`, `font-size`); none reads it from the value.
268
+ */
269
+ export const nearestTokens = (tokens, value, asked) => {
270
+ const type = asked === undefined ? inferredType(value) : typeOfWord(asked);
271
+ const comparison = type === undefined ? undefined : COMPARISONS[type];
272
+ if (type === undefined || comparison === undefined) {
273
+ const reason = asked === undefined
274
+ ? `Cannot tell what kind of value ${value} is: name its type.`
275
+ : `Cannot compare "${asked}": name color, dimension, duration, number or fontWeight, or a CSS property.`;
276
+ return { type: undefined, unit: undefined, matches: [], uncompared: 0, reason };
277
+ }
278
+ if (comparison.distance(value, value) === undefined) {
279
+ return {
280
+ type,
281
+ unit: undefined,
282
+ matches: [],
283
+ uncompared: 0,
284
+ reason: `Cannot read ${value} as a ${type}.`
285
+ };
286
+ }
287
+ const candidates = tokens.filter((token) => token.type === type && token.deprecated === undefined);
288
+ const found = candidates.flatMap((token) => bestMatch(token, value, comparison) ?? []);
289
+ return {
290
+ type,
291
+ unit: comparison.unit,
292
+ matches: found.toSorted(byDistance).slice(0, NEAREST_LIMIT),
293
+ uncompared: candidates.length - found.length
294
+ };
295
+ };
@@ -0,0 +1,97 @@
1
+ /**
2
+ * What the dev server's two origins answer a browser's request, from what the browser says of it (`Sec-Fetch-*`):
3
+ * the catalogue's origin refuses what another origin's page asks, and the frames' origin serves only the frame page,
4
+ * the public folder and the modules the catalogue imports. Pure: a request's facts in, an answer out.
5
+ *
6
+ * @remarks
7
+ * Vite's CORS lets any page on `localhost` or `127.0.0.1` read the dev server, whatever its port: a frame on a second
8
+ * port would read the catalogue's agent API and files as before. So the catalogue refuses a request another origin
9
+ * sends, unless it opens one of its pages (a link, an embed) or a public file, which shows it but lets nobody read it.
10
+ * No other address is opened for another origin's page: a server's route acts when opened (`/__open-in-editor` opens a
11
+ * file), and a module or a source file has no use as a page.
12
+ *
13
+ * Vite checks `Host` first, on both ports, against `server.allowedHosts`: a page that reaches `127.0.0.1` through its
14
+ * own domain (DNS rebinding) is not told apart here, since it is same-origin for its browser, and over plain HTTP on
15
+ * that domain its browser sends no `Sec-Fetch-*`.
16
+ *
17
+ * The frames' origin would otherwise serve everything the catalogue's does, and a story's script would read the
18
+ * project from there. It serves a script or a `fetch` (whose body a script reads) only for a module that another
19
+ * module of the catalogue imports: the browser learns a module's address only from its importer, which Vite reads and
20
+ * records before answering, so a story's own modules always qualify and a file nothing imports (`/@fs/…?raw`) never
21
+ * does. A request whose body a script cannot read as text (an image, a font, a style sheet, a worker's script, whose
22
+ * exports stay in the worker) is left to Vite: the asset a style sheet names and a worker's file are not modules
23
+ * another module imports.
24
+ *
25
+ * A request without `Sec-Fetch-*` comes from a tool (a command, an agent, `curl`) or an older browser: the `Origin`
26
+ * header then tells another origin's page, and the frames' origin answers it as a script's.
27
+ *
28
+ * @module
29
+ */
30
+ /** What a browser says of a request, from its headers. */
31
+ export type RequestFacts = {
32
+ /**
33
+ * Its path as an address parser reads it, without the query (`/frame.html`): the routes behind the guards read the
34
+ * same, so `//x/__forgebook/api/stories` or `/./__forgebook/api/stories` is the route it would reach.
35
+ */
36
+ readonly path: string;
37
+ /** Its query, with its `?` (`?raw`); empty without one. */
38
+ readonly query: string;
39
+ /** `Sec-Fetch-Site`: whose page sent it (`same-origin`, `same-site`, `cross-site`, `none`); none from a tool. */
40
+ readonly site: string | undefined;
41
+ /** `Sec-Fetch-Mode`: `navigate` for a page or a frame opened. */
42
+ readonly mode: string | undefined;
43
+ /** `Sec-Fetch-Dest`: what the response becomes (`document`, `iframe`, `script`, `empty` for a `fetch`…). */
44
+ readonly dest: string | undefined;
45
+ /** `Origin`: the origin of the page that sent it, on a `fetch` or a module script; none on a plain navigation. */
46
+ readonly origin: string | undefined;
47
+ /** `Host`: the host and port the request was sent to. */
48
+ readonly host: string | undefined;
49
+ };
50
+ /** The frame page's path. */
51
+ export declare const FRAME_PAGE_PATH = "/frame.html";
52
+ /** What the catalogue's origin does with a request. */
53
+ export type CatalogueAnswer = "serve" | "refuse" | "to-frames";
54
+ /**
55
+ * What the catalogue's origin does with a request: the frame page goes to the frames' origin, another origin's
56
+ * request is refused unless it opens a page or a public file, the rest is served.
57
+ *
58
+ * @param request - what the browser says of it.
59
+ * @param framedPages - the server's routes that are pages made to be framed by another origin's page (a client's
60
+ * inline preview), which only show a story and act on nothing.
61
+ * @param isPublic - whether a path names a file of the public folder; asked only of another origin's navigation.
62
+ */
63
+ export declare const catalogueAnswer: (request: RequestFacts, framedPages: ReadonlySet<string>, isPublic?: (path: string) => boolean) => CatalogueAnswer;
64
+ /** What the frames' origin does with a request: `ask-graph` serves it when another module imports it. */
65
+ export type FramesAnswer = "serve" | "refuse" | "not-found" | "ask-graph";
66
+ /** What the frames' origin knows of a request's path. */
67
+ export type FramesPaths = {
68
+ /** Whether it names a file of the public folder. */
69
+ readonly isPublic: boolean;
70
+ /** Whether the frame page names it (its scripts, its head's tags). */
71
+ readonly isPageEntry: boolean;
72
+ /**
73
+ * Whether the frames' origin serves it as the catalogue's does: the project's API through Vite's proxy, or a path
74
+ * the configuration names (`frames.paths`, an API a plugin answers).
75
+ */
76
+ readonly isServedAlike: boolean;
77
+ };
78
+ /**
79
+ * What the frames' origin does with a request.
80
+ *
81
+ * @param request - what the browser says of it.
82
+ * @param paths - what the server knows of its path.
83
+ */
84
+ export declare const framesAnswer: (request: RequestFacts, paths: FramesPaths) => FramesAnswer;
85
+ /**
86
+ * The paths a page's HTML names: its scripts' and links' addresses, and the modules its inline scripts import.
87
+ *
88
+ * @param html - the page's HTML, as Vite transformed it.
89
+ */
90
+ export declare const pageEntries: (html: string) => ReadonlySet<string>;
91
+ /**
92
+ * A request's address as Vite's module graph names the module, as Vite's own transform reads it: decoded, a virtual
93
+ * module's id unwrapped (`/@id/__x00__virtual:…` is `\0virtual:…`); none when it cannot be decoded.
94
+ *
95
+ * @param url - the request's address, with its query.
96
+ */
97
+ export declare const graphUrlOf: (url: string) => string | undefined;
@@ -0,0 +1,172 @@
1
+ /**
2
+ * What the dev server's two origins answer a browser's request, from what the browser says of it (`Sec-Fetch-*`):
3
+ * the catalogue's origin refuses what another origin's page asks, and the frames' origin serves only the frame page,
4
+ * the public folder and the modules the catalogue imports. Pure: a request's facts in, an answer out.
5
+ *
6
+ * @remarks
7
+ * Vite's CORS lets any page on `localhost` or `127.0.0.1` read the dev server, whatever its port: a frame on a second
8
+ * port would read the catalogue's agent API and files as before. So the catalogue refuses a request another origin
9
+ * sends, unless it opens one of its pages (a link, an embed) or a public file, which shows it but lets nobody read it.
10
+ * No other address is opened for another origin's page: a server's route acts when opened (`/__open-in-editor` opens a
11
+ * file), and a module or a source file has no use as a page.
12
+ *
13
+ * Vite checks `Host` first, on both ports, against `server.allowedHosts`: a page that reaches `127.0.0.1` through its
14
+ * own domain (DNS rebinding) is not told apart here, since it is same-origin for its browser, and over plain HTTP on
15
+ * that domain its browser sends no `Sec-Fetch-*`.
16
+ *
17
+ * The frames' origin would otherwise serve everything the catalogue's does, and a story's script would read the
18
+ * project from there. It serves a script or a `fetch` (whose body a script reads) only for a module that another
19
+ * module of the catalogue imports: the browser learns a module's address only from its importer, which Vite reads and
20
+ * records before answering, so a story's own modules always qualify and a file nothing imports (`/@fs/…?raw`) never
21
+ * does. A request whose body a script cannot read as text (an image, a font, a style sheet, a worker's script, whose
22
+ * exports stay in the worker) is left to Vite: the asset a style sheet names and a worker's file are not modules
23
+ * another module imports.
24
+ *
25
+ * A request without `Sec-Fetch-*` comes from a tool (a command, an agent, `curl`) or an older browser: the `Origin`
26
+ * header then tells another origin's page, and the frames' origin answers it as a script's.
27
+ *
28
+ * @module
29
+ */
30
+ /** The frame page's path. */
31
+ export const FRAME_PAGE_PATH = "/frame.html";
32
+ /** What becomes a document: a navigation, or something that opens one. */
33
+ const DOCUMENT_DESTS = new Set(["document", "iframe", "frame", "object", "embed"]);
34
+ /**
35
+ * What a script cannot read as text: drawn, played or applied as styles. Not a worker's or a worklet's script: a
36
+ * module worker's own imports are sent as `worker` (an audio worklet's as `audioworklet`) and its exports go back to
37
+ * the page, so they are served as a script is.
38
+ */
39
+ const OPAQUE_DESTS = new Set([
40
+ "image",
41
+ "font",
42
+ "style",
43
+ "audio",
44
+ "video",
45
+ "track",
46
+ "manifest"
47
+ ]);
48
+ /** The queries that ask Vite for a module made from a file (its text, its address…), never a file as it is. */
49
+ const TRANSFORM_QUERY = /[?&](?:raw|import|inline|url|worker|worker_file|sharedworker)(?:[&=]|$)/;
50
+ /** The catalogue's pages, by their addresses: what another origin's page may open, with public files and framed routes. */
51
+ const CATALOGUE_PAGES = new Set(["/", "/index.html", FRAME_PAGE_PATH]);
52
+ /** The dev server's own routes (`/__forgebook/api/`, `/__open-in-editor`): never a story's. */
53
+ const SERVER_ROUTE_PREFIX = "/__";
54
+ /**
55
+ * Whether a request's `Origin` names another host than the one it was sent to: for a browser that sends no
56
+ * `Sec-Fetch-Site`. Never asked of one that does, so a proxy that rewrites `Host` does not turn a page away from itself.
57
+ *
58
+ * @param request - what the browser says of it.
59
+ */
60
+ const isOriginForeign = (request) => {
61
+ if (request.origin === undefined)
62
+ return false;
63
+ try {
64
+ return new URL(request.origin).host !== request.host;
65
+ }
66
+ catch {
67
+ // `null`, from a sandboxed or opaque document
68
+ return true;
69
+ }
70
+ };
71
+ /**
72
+ * Whether another origin's page sent a request that is not a navigation.
73
+ *
74
+ * @param request - what the browser says of it.
75
+ */
76
+ const isFromAnotherOrigin = (request) => {
77
+ if (request.mode === "navigate")
78
+ return false;
79
+ if (request.site === undefined)
80
+ return isOriginForeign(request);
81
+ return request.site === "same-site" || request.site === "cross-site";
82
+ };
83
+ /**
84
+ * Whether another origin's page sent a request, a navigation included.
85
+ *
86
+ * @param request - what the browser says of it.
87
+ */
88
+ const isAnyFromAnotherOrigin = (request) => request.site === undefined
89
+ ? isOriginForeign(request)
90
+ : request.site === "same-site" || request.site === "cross-site";
91
+ /**
92
+ * Whether a request opens a document: a navigation, or something that opens one.
93
+ *
94
+ * @param request - what the browser says of it.
95
+ */
96
+ const isDocumentRequest = (request) => request.mode === "navigate" || DOCUMENT_DESTS.has(request.dest ?? "");
97
+ /**
98
+ * What the catalogue's origin does with a request: the frame page goes to the frames' origin, another origin's
99
+ * request is refused unless it opens a page or a public file, the rest is served.
100
+ *
101
+ * @param request - what the browser says of it.
102
+ * @param framedPages - the server's routes that are pages made to be framed by another origin's page (a client's
103
+ * inline preview), which only show a story and act on nothing.
104
+ * @param isPublic - whether a path names a file of the public folder; asked only of another origin's navigation.
105
+ */
106
+ export const catalogueAnswer = (request, framedPages, isPublic = () => false) => {
107
+ if (isFromAnotherOrigin(request))
108
+ return "refuse";
109
+ const isOpenable = () => CATALOGUE_PAGES.has(request.path) ||
110
+ (isDocumentRequest(request) && (framedPages.has(request.path) || isPublic(request.path)));
111
+ if (isAnyFromAnotherOrigin(request) && !isOpenable())
112
+ return "refuse";
113
+ return request.path === FRAME_PAGE_PATH ? "to-frames" : "serve";
114
+ };
115
+ /** Vite's own client and helpers, which the project's code does not hold. */
116
+ const VITE_PREFIXES = ["/@vite/", "/@id/__x00__vite/"];
117
+ /**
118
+ * Whether the frames' origin serves a request as it is, without asking the graph: what a script cannot read as text,
119
+ * the paths the server knows for the frames, and Vite's own client.
120
+ *
121
+ * @param request - what the browser says of it.
122
+ * @param paths - what the server knows of its path.
123
+ */
124
+ const isServedAsIs = (request, paths) => (OPAQUE_DESTS.has(request.dest ?? "") && !TRANSFORM_QUERY.test(request.query)) ||
125
+ paths.isPublic ||
126
+ paths.isPageEntry ||
127
+ paths.isServedAlike ||
128
+ VITE_PREFIXES.some((prefix) => request.path.startsWith(prefix));
129
+ /**
130
+ * What the frames' origin does with a request.
131
+ *
132
+ * @param request - what the browser says of it.
133
+ * @param paths - what the server knows of its path.
134
+ */
135
+ export const framesAnswer = (request, paths) => {
136
+ if (isFromAnotherOrigin(request))
137
+ return "refuse";
138
+ // the catalogue's page is the catalogue origin's alone; the frame page holds nothing a script could use
139
+ if (request.path === "/" || request.path === "/index.html")
140
+ return "not-found";
141
+ if (request.path === FRAME_PAGE_PATH)
142
+ return "serve";
143
+ if (isDocumentRequest(request))
144
+ return paths.isPublic || paths.isServedAlike ? "serve" : "not-found";
145
+ if (request.path.startsWith(SERVER_ROUTE_PREFIX))
146
+ return "refuse";
147
+ return isServedAsIs(request, paths) ? "serve" : "ask-graph";
148
+ };
149
+ /**
150
+ * The paths a page's HTML names: its scripts' and links' addresses, and the modules its inline scripts import.
151
+ *
152
+ * @param html - the page's HTML, as Vite transformed it.
153
+ */
154
+ export const pageEntries = (html) => new Set([...html.matchAll(/["'](\/[^"'\s?#]*)/g)].flatMap((match) => (match[1] === undefined ? [] : [match[1]])));
155
+ /** How Vite writes a module id that is no path (a virtual module's) in an address. */
156
+ const ID_PREFIX = "/@id/";
157
+ /**
158
+ * A request's address as Vite's module graph names the module, as Vite's own transform reads it: decoded, a virtual
159
+ * module's id unwrapped (`/@id/__x00__virtual:…` is `\0virtual:…`); none when it cannot be decoded.
160
+ *
161
+ * @param url - the request's address, with its query.
162
+ */
163
+ export const graphUrlOf = (url) => {
164
+ let decoded;
165
+ try {
166
+ decoded = decodeURI(url).replace("__x00__", "\0");
167
+ }
168
+ catch {
169
+ return undefined;
170
+ }
171
+ return decoded.startsWith(ID_PREFIX) ? decoded.slice(ID_PREFIX.length) : decoded;
172
+ };
@@ -0,0 +1,40 @@
1
+ /** Writes a module's JSON as the expression of its value, or of a promise of it. */
2
+ export type PackJson = (json: string) => string;
3
+ /** What the plugin writes a file with: Rolldown's `emitFile`, narrowed to an asset of a known name. */
4
+ export type EmitAsset = (asset: {
5
+ readonly type: "asset";
6
+ readonly fileName: string;
7
+ readonly source: Uint8Array;
8
+ }) => unknown;
9
+ /** The JSON as code of the same value, on a dev server. */
10
+ export declare const inlineJson: PackJson;
11
+ /**
12
+ * The name a build gives a JSON document's gzipped file: its content's hash, so a host may keep it for ever. Twelve
13
+ * hex digits: a build writes up to three per story file, and two documents of one name would show one in place of the
14
+ * other with no error.
15
+ *
16
+ * @param json - the document.
17
+ */
18
+ export declare const packedFileName: (json: string) => string;
19
+ /**
20
+ * A JSON document gzipped, as a build writes it.
21
+ *
22
+ * @param json - the document.
23
+ */
24
+ export declare const gzippedJson: (json: string) => Uint8Array;
25
+ /**
26
+ * The code of a function that makes the loader of a packed file by its name (`packedFileName`): the module the page
27
+ * unpacks with loads on the first such load, never with the code that holds the loaders. A loader keeps its answer,
28
+ * as an imported module's default is kept, and forgets a failure, so the next load asks again.
29
+ *
30
+ * @param name - the function's name in the generated code.
31
+ */
32
+ export declare const packedLoaderMaker: (name: string) => string;
33
+ /**
34
+ * The JSON in a gzipped file named by its content, for a build. The module's value is the promise of it, which its
35
+ * loader (`import(…).then((module) => module.default)`) waits for: no top-level await, which a catalogue's lower
36
+ * `build.target` would refuse.
37
+ *
38
+ * @param emit - writes the file.
39
+ */
40
+ export declare const packedJsonOf: (emit: EmitAsset) => PackJson;