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.
- package/README.md +987 -28
- package/dist/bin/forgebook/agentClient.d.ts +30 -1
- package/dist/bin/forgebook/agentClient.js +155 -14
- package/dist/bin/forgebook/agentLoopCommands.d.mts +0 -1
- package/dist/bin/forgebook/agentLoopCommands.mjs +164 -40
- package/dist/bin/forgebook/agentText.d.ts +76 -5
- package/dist/bin/forgebook/agentText.js +197 -11
- package/dist/bin/forgebook/agents.md +158 -9
- package/dist/bin/forgebook/agentsText.d.ts +7 -3
- package/dist/bin/forgebook/agentsText.js +7 -3
- package/dist/bin/forgebook/builtCatalogue.d.ts +31 -0
- package/dist/bin/forgebook/builtCatalogue.js +96 -0
- package/dist/bin/forgebook/catalogueCommands.d.ts +22 -3
- package/dist/bin/forgebook/catalogueCommands.js +21 -2
- package/dist/bin/forgebook/catalogueVite.d.ts +51 -9
- package/dist/bin/forgebook/catalogueVite.js +95 -9
- package/dist/bin/forgebook/checkCodeRun.d.ts +8 -0
- package/dist/bin/forgebook/checkCodeRun.js +27 -0
- package/dist/bin/forgebook/commandServer.d.ts +11 -0
- package/dist/bin/forgebook/commandServer.js +39 -0
- package/dist/bin/forgebook/compileCache.d.ts +7 -0
- package/dist/bin/forgebook/compileCache.js +24 -0
- package/dist/bin/forgebook/devCommands.d.mts +14 -0
- package/dist/bin/forgebook/devCommands.mjs +104 -0
- package/dist/bin/forgebook/errorsRun.d.ts +0 -1
- package/dist/bin/forgebook/errorsRun.js +0 -1
- package/dist/bin/forgebook/forgebook.d.mts +0 -1
- package/dist/bin/forgebook/forgebook.mjs +18 -302
- package/dist/bin/forgebook/forgebookCommands.d.mts +1 -0
- package/dist/bin/forgebook/forgebookCommands.mjs +292 -0
- package/dist/bin/forgebook/importers/storybook.d.ts +10 -4
- package/dist/bin/forgebook/importers/storybook.js +71 -45
- package/dist/bin/forgebook/importers/storybookAngular.d.ts +15 -0
- package/dist/bin/forgebook/importers/storybookAngular.js +97 -0
- package/dist/bin/forgebook/importers/storybookFrameworks.d.ts +53 -0
- package/dist/bin/forgebook/importers/storybookFrameworks.js +180 -0
- package/dist/bin/forgebook/importers/storybookReactNative.d.ts +40 -0
- package/dist/bin/forgebook/importers/storybookReactNative.js +179 -0
- package/dist/bin/forgebook/initCommands.d.mts +0 -1
- package/dist/bin/forgebook/initCommands.mjs +23 -12
- package/dist/bin/forgebook/initConfig.d.ts +0 -1
- package/dist/bin/forgebook/initConfig.js +17 -3
- package/dist/bin/forgebook/mcpCommand.d.mts +8 -0
- package/dist/bin/forgebook/mcpCommand.mjs +99 -0
- package/dist/bin/forgebook/mcpPreview.d.ts +32 -0
- package/dist/bin/forgebook/mcpPreview.js +107 -0
- package/dist/bin/forgebook/mcpToolParts.d.ts +28 -0
- package/dist/bin/forgebook/mcpToolParts.js +24 -0
- package/dist/bin/forgebook/mcpTools.d.ts +12 -6
- package/dist/bin/forgebook/mcpTools.js +148 -27
- package/dist/bin/forgebook/newStories.d.ts +2 -3
- package/dist/bin/forgebook/newStories.js +4 -3
- package/dist/bin/forgebook/newStoriesFile.d.ts +3 -4
- package/dist/bin/forgebook/newStoriesFile.js +30 -13
- package/dist/bin/forgebook/pageTools.d.ts +8 -0
- package/dist/bin/forgebook/pageTools.js +71 -0
- package/dist/bin/forgebook/pagesCommands.d.mts +14 -0
- package/dist/bin/forgebook/pagesCommands.mjs +109 -0
- package/dist/bin/forgebook/prebundleChild.d.ts +1 -0
- package/dist/bin/forgebook/prebundleChild.js +34 -0
- package/dist/bin/forgebook/prebundleRun.d.ts +22 -0
- package/dist/bin/forgebook/prebundleRun.js +49 -0
- package/dist/bin/forgebook/prebundleStart.d.ts +44 -0
- package/dist/bin/forgebook/prebundleStart.js +82 -0
- package/dist/bin/forgebook/semanticOptions.d.ts +45 -0
- package/dist/bin/forgebook/semanticOptions.js +36 -0
- package/dist/bin/forgebook/storyCheckCommands.d.mts +13 -0
- package/dist/bin/forgebook/storyCheckCommands.mjs +69 -0
- package/dist/bin/forgebook/storyCheckRun.d.ts +40 -6
- package/dist/bin/forgebook/storyCheckRun.js +90 -17
- package/dist/bin/forgebook/tokensRun.d.ts +41 -0
- package/dist/bin/forgebook/tokensRun.js +42 -0
- package/dist/bin/forgebook/touchWindowRun.d.ts +0 -1
- package/dist/bin/forgebook/touchWindowRun.js +0 -1
- package/dist/bin/forgebook/visualCommands.d.mts +37 -0
- package/dist/bin/forgebook/visualCommands.mjs +162 -0
- package/dist/bin/forgebook/viteCache.d.ts +48 -0
- package/dist/bin/forgebook/viteCache.js +112 -0
- package/dist/bin/forgebook-docs/catalogueDocs.d.ts +1 -2
- package/dist/bin/forgebook-docs/catalogueDocs.js +8 -5
- package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts +22 -3
- package/dist/bin/forgebook-docs/catalogueDocs.types.js +0 -1
- package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts +0 -1
- package/dist/bin/forgebook-docs/catalogueMarkdown.js +67 -19
- package/dist/bin/forgebook-docs/catalogueOptions.d.ts +1 -2
- package/dist/bin/forgebook-docs/catalogueOptions.js +8 -2
- package/dist/bin/forgebook-docs/collectDocs.d.ts +4 -4
- package/dist/bin/forgebook-docs/collectDocs.js +122 -30
- package/dist/bin/forgebook-docs/forgebook-docs.d.mts +0 -1
- package/dist/bin/forgebook-docs/forgebook-docs.mjs +0 -1
- package/dist/bin/forgebook-docs/llmsText.d.ts +5 -1
- package/dist/bin/forgebook-docs/llmsText.js +5 -2
- package/dist/bin/forgebook-docs/moduleDocs.d.ts +0 -1
- package/dist/bin/forgebook-docs/moduleDocs.js +0 -1
- package/dist/bin/forgebook-docs/sassDocs.d.ts +0 -1
- package/dist/bin/forgebook-docs/sassDocs.js +0 -1
- package/dist/bin/forgebook-texts/forgebook-texts.d.mts +0 -1
- package/dist/bin/forgebook-texts/forgebook-texts.mjs +1 -2
- package/dist/bin/forgebook-texts/storyTextsReport.d.ts +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.js +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.types.d.ts +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.types.js +0 -1
- package/dist/bin/frameworkDocs.d.ts +0 -1
- package/dist/bin/frameworkDocs.js +0 -1
- package/dist/src/a11y.d.ts +0 -1
- package/dist/src/a11y.js +0 -1
- package/dist/src/addressArgs.d.ts +74 -0
- package/dist/src/addressArgs.js +109 -0
- package/dist/src/addressTexts.d.ts +35 -0
- package/dist/src/addressTexts.js +51 -0
- package/dist/src/argTypes.d.ts +0 -1
- package/dist/src/argTypes.js +2 -2
- package/dist/src/argsProps.d.ts +32 -0
- package/dist/src/argsProps.js +69 -0
- package/dist/src/audiences.d.ts +17 -0
- package/dist/src/audiences.js +15 -0
- package/dist/src/backdrops.d.ts +39 -40
- package/dist/src/backdrops.js +37 -174
- package/dist/src/catalogue.d.ts +103 -24
- package/dist/src/catalogue.js +78 -20
- package/dist/src/codeLiteral.d.ts +41 -0
- package/dist/src/codeLiteral.js +51 -0
- package/dist/src/componentDocs.d.ts +57 -1
- package/dist/src/componentDocs.js +20 -3
- package/dist/src/controlKeys.d.ts +0 -1
- package/dist/src/controlKeys.js +0 -1
- package/dist/src/deviceDrawing.d.ts +114 -0
- package/dist/src/deviceDrawing.js +358 -0
- package/dist/src/deviceMenuView.d.ts +17 -0
- package/dist/src/deviceMenuView.js +22 -0
- package/dist/src/devicePicture.d.ts +57 -0
- package/dist/src/devicePicture.js +104 -0
- package/dist/src/deviceView.d.ts +172 -0
- package/dist/src/deviceView.js +111 -0
- package/dist/src/devices.d.ts +115 -0
- package/dist/src/devices.js +135 -0
- package/dist/src/docAnchors.d.ts +27 -0
- package/dist/src/docAnchors.js +33 -0
- package/dist/src/docPages.d.ts +203 -0
- package/dist/src/docPages.js +169 -0
- package/dist/src/embed.d.ts +32 -0
- package/dist/src/embed.js +24 -0
- package/dist/src/embedCode.d.ts +31 -0
- package/dist/src/embedCode.js +88 -0
- package/dist/src/frame/backdropPictures.d.ts +29 -0
- package/dist/src/frame/backdropPictures.js +187 -0
- package/dist/src/frame/checkStory.d.ts +6 -3
- package/dist/src/frame/checkStory.js +76 -5
- package/dist/src/frame/followTouch.d.ts +9 -0
- package/dist/src/frame/followTouch.js +43 -0
- package/dist/src/frame/frame.css +8 -3
- package/dist/src/frame/frameClock.d.ts +0 -1
- package/dist/src/frame/frameClock.js +0 -1
- package/dist/src/frame/frameStatus.d.ts +2 -1
- package/dist/src/frame/frameStatus.js +2 -1
- package/dist/src/frame/frameView.d.ts +0 -1
- package/dist/src/frame/frameView.js +1 -2
- package/dist/src/frame/matrixLayout.d.ts +0 -1
- package/dist/src/frame/matrixLayout.js +0 -1
- package/dist/src/frame/measureTools.d.ts +0 -1
- package/dist/src/frame/measureTools.js +0 -1
- package/dist/src/frame/mountFrame.d.ts +10 -3
- package/dist/src/frame/mountFrame.js +184 -66
- package/dist/src/frame/playStory.d.ts +0 -1
- package/dist/src/frame/playStory.js +0 -1
- package/dist/src/frame/pluginFrames.d.ts +31 -0
- package/dist/src/frame/pluginFrames.js +23 -0
- package/dist/src/frame/renderer.d.ts +50 -12
- package/dist/src/frame/renderer.js +27 -6
- package/dist/src/frame/settle.d.ts +0 -1
- package/dist/src/frame/settle.js +0 -1
- package/dist/src/frame/shellChannel.d.ts +47 -0
- package/dist/src/frame/shellChannel.js +39 -0
- package/dist/src/frame/spillOutline.d.ts +0 -1
- package/dist/src/frame/spillOutline.js +0 -1
- package/dist/src/frame/staleModule.d.ts +14 -2
- package/dist/src/frame/staleModule.js +19 -2
- package/dist/src/frame/storyCanvas.d.ts +0 -1
- package/dist/src/frame/storyCanvas.js +0 -1
- package/dist/src/frame/storyHooks.d.ts +0 -1
- package/dist/src/frame/storyHooks.js +0 -1
- package/dist/src/frame/storyModule.d.ts +13 -2
- package/dist/src/frame/storyModule.js +45 -3
- package/dist/src/frame/storyRun.d.ts +21 -4
- package/dist/src/frame/storyRun.js +100 -19
- package/dist/src/frame/touchCaret.d.ts +43 -0
- package/dist/src/frame/touchCaret.js +195 -0
- package/dist/src/frame/touchDots.d.ts +0 -1
- package/dist/src/frame/touchDots.js +0 -1
- package/dist/src/frame/touchEvents.d.ts +3 -3
- package/dist/src/frame/touchEvents.js +17 -19
- package/dist/src/frame/touchGesture.d.ts +0 -1
- package/dist/src/frame/touchGesture.js +0 -1
- package/dist/src/frame/touchLayer.d.ts +3 -3
- package/dist/src/frame/touchLayer.js +52 -37
- package/dist/src/frame/touchScroll.d.ts +0 -1
- package/dist/src/frame/touchScroll.js +0 -1
- package/dist/src/frameOrigins.d.ts +62 -0
- package/dist/src/frameOrigins.js +49 -0
- package/dist/src/hotModules.d.ts +48 -0
- package/dist/src/hotModules.js +53 -0
- package/dist/src/jsxCode.d.ts +22 -0
- package/dist/src/jsxCode.js +36 -0
- package/dist/src/languages.d.ts +0 -1
- package/dist/src/languages.js +0 -1
- package/dist/src/liveErrors.d.ts +0 -1
- package/dist/src/liveErrors.js +0 -1
- package/dist/src/matrix.d.ts +0 -1
- package/dist/src/matrix.js +0 -1
- package/dist/src/messages.d.ts +28 -2
- package/dist/src/messages.js +24 -3
- package/dist/src/namedValues.d.ts +11 -1
- package/dist/src/namedValues.js +25 -2
- package/dist/src/namedViews.d.ts +1 -13
- package/dist/src/namedViews.js +30 -7
- package/dist/src/packedText.d.ts +21 -0
- package/dist/src/packedText.js +36 -0
- package/dist/src/pageAddress.d.ts +26 -0
- package/dist/src/pageAddress.js +39 -0
- package/dist/src/pageConfig.d.ts +3 -1
- package/dist/src/pageConfig.js +0 -1
- package/dist/src/pageTree.d.ts +79 -0
- package/dist/src/pageTree.js +108 -0
- package/dist/src/playTrace.d.ts +0 -1
- package/dist/src/playTrace.js +0 -1
- package/dist/src/plugin.d.ts +230 -0
- package/dist/src/plugin.js +12 -0
- package/dist/src/pluginReact.d.ts +23 -0
- package/dist/src/pluginReact.js +24 -0
- package/dist/src/previewRelay.d.ts +40 -0
- package/dist/src/previewRelay.js +69 -0
- package/dist/src/previewTexts.d.ts +26 -0
- package/dist/src/previewTexts.js +33 -0
- package/dist/src/previewView.d.ts +31 -0
- package/dist/src/previewView.js +264 -0
- package/dist/src/propGroups.d.ts +109 -0
- package/dist/src/propGroups.js +113 -0
- package/dist/src/realTouch.d.ts +1 -2
- package/dist/src/realTouch.js +1 -2
- package/dist/src/safeAreaParameter.d.ts +42 -0
- package/dist/src/safeAreaParameter.js +50 -0
- package/dist/src/search.d.ts +154 -0
- package/dist/src/search.js +265 -0
- package/dist/src/searchIndex.d.ts +61 -0
- package/dist/src/searchIndex.js +55 -0
- package/dist/src/searchMarks.d.ts +29 -0
- package/dist/src/searchMarks.js +165 -0
- package/dist/src/searchMatch.d.ts +58 -0
- package/dist/src/searchMatch.js +127 -0
- package/dist/src/shell/A11yTab.d.ts +0 -7
- package/dist/src/shell/A11yTab.js +4 -15
- package/dist/src/shell/AnchorScroll.d.ts +25 -0
- package/dist/src/shell/AnchorScroll.js +10 -0
- package/dist/src/shell/ApiReference.d.ts +16 -4
- package/dist/src/shell/ApiReference.js +82 -20
- package/dist/src/shell/AppearanceMenu.d.ts +1 -2
- package/dist/src/shell/AppearanceMenu.js +8 -5
- package/dist/src/shell/AudienceSections.d.ts +106 -0
- package/dist/src/shell/AudienceSections.js +154 -0
- package/dist/src/shell/AuthoredHome.d.ts +37 -0
- package/dist/src/shell/AuthoredHome.js +96 -0
- package/dist/src/shell/BoxWidth.d.ts +0 -1
- package/dist/src/shell/BoxWidth.js +0 -1
- package/dist/src/shell/ClockBar.d.ts +19 -0
- package/dist/src/shell/ClockBar.js +15 -0
- package/dist/src/shell/ClockControls.d.ts +5 -9
- package/dist/src/shell/ClockControls.js +13 -16
- package/dist/src/shell/Code.d.ts +0 -1
- package/dist/src/shell/Code.js +0 -1
- package/dist/src/shell/CodeTab.d.ts +0 -1
- package/dist/src/shell/CodeTab.js +2 -2
- package/dist/src/shell/CodeText.d.ts +0 -1
- package/dist/src/shell/CodeText.js +0 -1
- package/dist/src/shell/CompareGrid.d.ts +37 -0
- package/dist/src/shell/CompareGrid.js +24 -0
- package/dist/src/shell/ComponentPage.d.ts +48 -7
- package/dist/src/shell/ComponentPage.js +101 -59
- package/dist/src/shell/ControlKeyField.d.ts +0 -1
- package/dist/src/shell/ControlKeyField.js +3 -4
- package/dist/src/shell/ControlRow.d.ts +4 -4
- package/dist/src/shell/ControlRow.js +5 -5
- package/dist/src/shell/DeviceControl.d.ts +31 -0
- package/dist/src/shell/DeviceControl.js +33 -0
- package/dist/src/shell/DeviceSlot.d.ts +114 -0
- package/dist/src/shell/DeviceSlot.js +134 -0
- package/dist/src/shell/DocBlocks.d.ts +100 -0
- package/dist/src/shell/DocBlocks.js +206 -0
- package/dist/src/shell/DocContainers.d.ts +70 -0
- package/dist/src/shell/DocContainers.js +94 -0
- package/dist/src/shell/DocContents.d.ts +29 -0
- package/dist/src/shell/DocContents.js +88 -0
- package/dist/src/shell/DocPage.d.ts +69 -0
- package/dist/src/shell/DocPage.js +141 -0
- package/dist/src/shell/Dock.d.ts +1 -2
- package/dist/src/shell/Dock.js +1 -2
- package/dist/src/shell/DroppedArgsList.d.ts +26 -0
- package/dist/src/shell/DroppedArgsList.js +8 -0
- package/dist/src/shell/DroppedArgsNote.d.ts +14 -0
- package/dist/src/shell/DroppedArgsNote.js +10 -0
- package/dist/src/shell/EmbedButton.d.ts +19 -0
- package/dist/src/shell/EmbedButton.js +96 -0
- package/dist/src/shell/EmbedPage.d.ts +23 -0
- package/dist/src/shell/EmbedPage.js +168 -0
- package/dist/src/shell/EmbedPanel.d.ts +25 -0
- package/dist/src/shell/EmbedPanel.js +46 -0
- package/dist/src/shell/EventsTab.d.ts +0 -1
- package/dist/src/shell/EventsTab.js +2 -3
- package/dist/src/shell/Example.d.ts +20 -2
- package/dist/src/shell/Example.js +75 -22
- package/dist/src/shell/FrameView.d.ts +1 -2
- package/dist/src/shell/FrameView.js +4 -4
- package/dist/src/shell/HomePage.d.ts +78 -4
- package/dist/src/shell/HomePage.js +53 -14
- package/dist/src/shell/HomePieces.d.ts +40 -0
- package/dist/src/shell/HomePieces.js +29 -0
- package/dist/src/shell/InfoTip.d.ts +0 -1
- package/dist/src/shell/InfoTip.js +0 -1
- package/dist/src/shell/InteractionsTab.d.ts +0 -7
- package/dist/src/shell/InteractionsTab.js +3 -9
- package/dist/src/shell/LazyHost.d.ts +16 -0
- package/dist/src/shell/LazyHost.js +42 -0
- package/dist/src/shell/LazyPage.d.ts +24 -0
- package/dist/src/shell/LazyPage.js +9 -0
- package/dist/src/shell/LogicMark.d.ts +0 -1
- package/dist/src/shell/LogicMark.js +0 -1
- package/dist/src/shell/MatrixPicker.d.ts +0 -1
- package/dist/src/shell/MatrixPicker.js +0 -1
- package/dist/src/shell/NamedViews.d.ts +0 -1
- package/dist/src/shell/NamedViews.js +4 -5
- package/dist/src/shell/PackageHtml.d.ts +0 -1
- package/dist/src/shell/PackageHtml.js +0 -1
- package/dist/src/shell/PartsTab.d.ts +0 -7
- package/dist/src/shell/PartsTab.js +3 -13
- package/dist/src/shell/PinnedControl.d.ts +0 -1
- package/dist/src/shell/PinnedControl.js +2 -2
- package/dist/src/shell/PluginBlockHost.d.ts +46 -0
- package/dist/src/shell/PluginBlockHost.js +39 -0
- package/dist/src/shell/PluginTabHost.d.ts +32 -0
- package/dist/src/shell/PluginTabHost.js +25 -0
- package/dist/src/shell/PluginViewHost.d.ts +37 -0
- package/dist/src/shell/PluginViewHost.js +89 -0
- package/dist/src/shell/PropFields.d.ts +0 -1
- package/dist/src/shell/PropFields.js +0 -1
- package/dist/src/shell/PropRows.d.ts +42 -0
- package/dist/src/shell/PropRows.js +60 -0
- package/dist/src/shell/PropsTab.d.ts +24 -11
- package/dist/src/shell/PropsTab.js +31 -45
- package/dist/src/shell/RequiredFirstSwitch.d.ts +16 -0
- package/dist/src/shell/RequiredFirstSwitch.js +8 -0
- package/dist/src/shell/SearchPanel.d.ts +63 -0
- package/dist/src/shell/SearchPanel.js +209 -0
- package/dist/src/shell/Segmented.d.ts +0 -1
- package/dist/src/shell/Segmented.js +0 -1
- package/dist/src/shell/Shell.d.ts +34 -6
- package/dist/src/shell/Shell.js +271 -70
- package/dist/src/shell/Sidebar.d.ts +20 -5
- package/dist/src/shell/Sidebar.js +23 -56
- package/dist/src/shell/SidebarDocs.d.ts +38 -0
- package/dist/src/shell/SidebarDocs.js +30 -0
- package/dist/src/shell/SidebarEntries.d.ts +9 -1
- package/dist/src/shell/SidebarEntries.js +1 -2
- package/dist/src/shell/SidebarHandle.d.ts +0 -1
- package/dist/src/shell/SidebarHandle.js +0 -1
- package/dist/src/shell/SidebarSearch.d.ts +40 -0
- package/dist/src/shell/SidebarSearch.js +85 -0
- package/dist/src/shell/SignatureReference.d.ts +0 -1
- package/dist/src/shell/SignatureReference.js +1 -2
- package/dist/src/shell/Stage.d.ts +9 -4
- package/dist/src/shell/Stage.js +116 -75
- package/dist/src/shell/StageCompare.d.ts +14 -0
- package/dist/src/shell/StageCompare.js +11 -0
- package/dist/src/shell/StageTools.d.ts +0 -1
- package/dist/src/shell/StageTools.js +0 -1
- package/dist/src/shell/StageViewport.d.ts +7 -3
- package/dist/src/shell/StageViewport.js +4 -5
- package/dist/src/shell/StoryBar.d.ts +40 -0
- package/dist/src/shell/StoryBar.js +23 -0
- package/dist/src/shell/StoryCodeBlock.d.ts +1 -2
- package/dist/src/shell/StoryCodeBlock.js +0 -1
- package/dist/src/shell/StoryCoverage.d.ts +36 -0
- package/dist/src/shell/StoryCoverage.js +129 -0
- package/dist/src/shell/StoryPicker.d.ts +0 -1
- package/dist/src/shell/StoryPicker.js +0 -1
- package/dist/src/shell/Toolbar.d.ts +7 -3
- package/dist/src/shell/Toolbar.js +6 -6
- package/dist/src/shell/ToolbarControl.d.ts +6 -8
- package/dist/src/shell/ToolbarControl.js +28 -20
- package/dist/src/shell/UsedIn.d.ts +5 -6
- package/dist/src/shell/UsedIn.js +7 -20
- package/dist/src/shell/ViewMenu.d.ts +7 -7
- package/dist/src/shell/ViewMenu.js +61 -176
- package/dist/src/shell/ViewMenuPanel.d.ts +41 -0
- package/dist/src/shell/ViewMenuPanel.js +199 -0
- package/dist/src/shell/WidthField.d.ts +3 -2
- package/dist/src/shell/WidthField.js +2 -3
- package/dist/src/shell/asideStory.d.ts +34 -0
- package/dist/src/shell/asideStory.js +55 -0
- package/dist/src/shell/audienceLayout.d.ts +39 -0
- package/dist/src/shell/audienceLayout.js +33 -0
- package/dist/src/shell/audiencePage.d.ts +113 -0
- package/dist/src/shell/audiencePage.js +144 -0
- package/dist/src/shell/audienceSections.css +95 -0
- package/dist/src/shell/catalogueContext.d.ts +24 -2
- package/dist/src/shell/catalogueContext.js +12 -9
- package/dist/src/shell/codeTokens.d.ts +0 -1
- package/dist/src/shell/codeTokens.js +0 -1
- package/dist/src/shell/codeWriter.d.ts +0 -1
- package/dist/src/shell/codeWriter.js +0 -1
- package/dist/src/shell/compareVariants.d.ts +0 -1
- package/dist/src/shell/compareVariants.js +2 -2
- package/dist/src/shell/controlCycle.d.ts +0 -1
- package/dist/src/shell/controlCycle.js +13 -1
- package/dist/src/shell/controlLabel.d.ts +7 -0
- package/dist/src/shell/controlLabel.js +17 -0
- package/dist/src/shell/device/deviceFrame.css +42 -0
- package/dist/src/shell/device/deviceParts.d.ts +90 -0
- package/dist/src/shell/device/deviceParts.js +120 -0
- package/dist/src/shell/docPage.css +457 -0
- package/dist/src/shell/dockTabs.d.ts +20 -10
- package/dist/src/shell/dockTabs.js +42 -20
- package/dist/src/shell/embed.css +74 -0
- package/dist/src/shell/filesCode.d.ts +21 -0
- package/dist/src/shell/filesCode.js +37 -0
- package/dist/src/shell/forgebookMark.d.ts +15 -0
- package/dist/src/shell/forgebookMark.js +28 -0
- package/dist/src/shell/framesOrigin.d.ts +23 -0
- package/dist/src/shell/framesOrigin.js +69 -0
- package/dist/src/shell/icons.d.ts +3 -1
- package/dist/src/shell/icons.js +3 -1
- package/dist/src/shell/keyboard.d.ts +0 -1
- package/dist/src/shell/keyboard.js +0 -1
- package/dist/src/shell/laterStrings.d.ts +91 -0
- package/dist/src/shell/laterStrings.js +102 -0
- package/dist/src/shell/lazyModule.d.ts +49 -0
- package/dist/src/shell/lazyModule.js +72 -0
- package/dist/src/shell/lazyTab.d.ts +21 -0
- package/dist/src/shell/lazyTab.js +9 -0
- package/dist/src/shell/logicView.d.ts +0 -12
- package/dist/src/shell/logicView.js +2 -2
- package/dist/src/shell/mountShell.d.ts +5 -3
- package/dist/src/shell/mountShell.js +43 -12
- package/dist/src/shell/pageStrings.d.ts +24 -0
- package/dist/src/shell/pageStrings.js +26 -0
- package/dist/src/shell/pluginHosts.d.ts +9 -0
- package/dist/src/shell/pluginHosts.js +6 -0
- package/dist/src/shell/pluginHostsContext.d.ts +20 -0
- package/dist/src/shell/pluginHostsContext.js +16 -0
- package/dist/src/shell/pluginTabs.d.ts +63 -0
- package/dist/src/shell/pluginTabs.js +60 -0
- package/dist/src/shell/reportedPanel.d.ts +12 -0
- package/dist/src/shell/reportedPanel.js +19 -0
- package/dist/src/shell/search.css +172 -0
- package/dist/src/shell/searchStrings.d.ts +24 -0
- package/dist/src/shell/searchStrings.js +31 -0
- package/dist/src/shell/shell.css +341 -140
- package/dist/src/shell/shellScheme.d.ts +37 -0
- package/dist/src/shell/shellScheme.js +32 -0
- package/dist/src/shell/storyTouch.d.ts +19 -6
- package/dist/src/shell/storyTouch.js +26 -4
- package/dist/src/shell/strings.d.ts +58 -80
- package/dist/src/shell/strings.js +55 -78
- package/dist/src/shell/switchView.d.ts +0 -1
- package/dist/src/shell/switchView.js +0 -1
- package/dist/src/shell/tabSummaries.d.ts +31 -0
- package/dist/src/shell/tabSummaries.js +27 -0
- package/dist/src/shell/treeSearch.d.ts +39 -3
- package/dist/src/shell/treeSearch.js +27 -1
- package/dist/src/shell/useAddressArgs.d.ts +55 -0
- package/dist/src/shell/useAddressArgs.js +62 -0
- package/dist/src/shell/useAnchorScroll.d.ts +24 -0
- package/dist/src/shell/useAnchorScroll.js +90 -0
- package/dist/src/shell/useAppearance.d.ts +7 -2
- package/dist/src/shell/useAppearance.js +14 -5
- package/dist/src/shell/useComponentDocs.d.ts +0 -1
- package/dist/src/shell/useComponentDocs.js +0 -1
- package/dist/src/shell/useControlKeys.d.ts +2 -1
- package/dist/src/shell/useControlKeys.js +2 -3
- package/dist/src/shell/useCopy.d.ts +2 -1
- package/dist/src/shell/useCopy.js +11 -6
- package/dist/src/shell/useFold.d.ts +0 -1
- package/dist/src/shell/useFold.js +0 -1
- package/dist/src/shell/useFrameMessages.d.ts +19 -4
- package/dist/src/shell/useFrameMessages.js +23 -7
- package/dist/src/shell/useFrameQueue.d.ts +7 -3
- package/dist/src/shell/useFrameQueue.js +39 -22
- package/dist/src/shell/useFullPage.d.ts +0 -1
- package/dist/src/shell/useFullPage.js +0 -1
- package/dist/src/shell/useLiveView.d.ts +0 -1
- package/dist/src/shell/useLiveView.js +0 -1
- package/dist/src/shell/useLoaded.d.ts +1 -2
- package/dist/src/shell/useLoaded.js +28 -6
- package/dist/src/shell/usePageDoc.d.ts +0 -1
- package/dist/src/shell/usePageDoc.js +0 -1
- package/dist/src/shell/usePageFrames.d.ts +46 -0
- package/dist/src/shell/usePageFrames.js +50 -0
- package/dist/src/shell/usePanelDocs.d.ts +11 -0
- package/dist/src/shell/usePanelDocs.js +29 -0
- package/dist/src/shell/usePluginTabs.d.ts +18 -0
- package/dist/src/shell/usePluginTabs.js +45 -0
- package/dist/src/shell/usePopover.d.ts +0 -1
- package/dist/src/shell/usePopover.js +0 -1
- package/dist/src/shell/useProseLinks.d.ts +14 -0
- package/dist/src/shell/useProseLinks.js +30 -0
- package/dist/src/shell/useRecentPages.d.ts +3 -4
- package/dist/src/shell/useRecentPages.js +1 -2
- package/dist/src/shell/useRequiredFirst.d.ts +27 -0
- package/dist/src/shell/useRequiredFirst.js +67 -0
- package/dist/src/shell/useScrollMemory.d.ts +9 -1
- package/dist/src/shell/useScrollMemory.js +2 -3
- package/dist/src/shell/useSearchIndex.d.ts +24 -0
- package/dist/src/shell/useSearchIndex.js +51 -0
- package/dist/src/shell/useShownView.d.ts +3 -1
- package/dist/src/shell/useShownView.js +5 -5
- package/dist/src/shell/useSidebarLayout.d.ts +0 -1
- package/dist/src/shell/useSidebarLayout.js +0 -1
- package/dist/src/shell/useStored.d.ts +13 -1
- package/dist/src/shell/useStored.js +13 -5
- package/dist/src/shell/useStoryCheck.d.ts +20 -0
- package/dist/src/shell/useStoryCheck.js +33 -0
- package/dist/src/shell/useStoryCode.d.ts +0 -1
- package/dist/src/shell/useStoryCode.js +0 -1
- package/dist/src/shell/useStoryHeights.d.ts +0 -1
- package/dist/src/shell/useStoryHeights.js +0 -1
- package/dist/src/shell/useStoryIdsElement.d.ts +0 -1
- package/dist/src/shell/useStoryIdsElement.js +0 -1
- package/dist/src/shell/useStoryKeys.d.ts +0 -1
- package/dist/src/shell/useStoryKeys.js +0 -1
- package/dist/src/shell/useSyncedTab.d.ts +8 -0
- package/dist/src/shell/useSyncedTab.js +60 -0
- package/dist/src/shell/useSystemDark.d.ts +0 -1
- package/dist/src/shell/useSystemDark.js +0 -1
- package/dist/src/shell/useToolbarLayout.d.ts +0 -1
- package/dist/src/shell/useToolbarLayout.js +0 -1
- package/dist/src/shell/useToolbarOverflow.d.ts +0 -1
- package/dist/src/shell/useToolbarOverflow.js +0 -1
- package/dist/src/shell/useWorstCase.d.ts +0 -1
- package/dist/src/shell/useWorstCase.js +2 -2
- package/dist/src/shell/worstArgs.d.ts +0 -1
- package/dist/src/shell/worstArgs.js +0 -1
- package/dist/src/shellTheme.d.ts +64 -0
- package/dist/src/shellTheme.js +274 -0
- package/dist/src/shellTheme.types.d.ts +93 -0
- package/dist/src/shellTheme.types.js +10 -0
- package/dist/src/sourceFiles.d.ts +17 -3
- package/dist/src/sourceFiles.js +27 -1
- package/dist/src/spills.d.ts +0 -1
- package/dist/src/spills.js +0 -1
- package/dist/src/storyBackground.d.ts +0 -1
- package/dist/src/storyBackground.js +0 -1
- package/dist/src/storyCheck.d.ts +88 -2
- package/dist/src/storyCheck.js +14 -3
- package/dist/src/storyClock.d.ts +0 -1
- package/dist/src/storyClock.js +0 -1
- package/dist/src/storyGlobals.d.ts +0 -1
- package/dist/src/storyGlobals.js +2 -2
- package/dist/src/storyHeights.d.ts +0 -1
- package/dist/src/storyHeights.js +0 -1
- package/dist/src/storyIds.d.ts +36 -0
- package/dist/src/storyIds.js +52 -0
- package/dist/src/storyIdsElement.d.ts +0 -1
- package/dist/src/storyIdsElement.js +0 -1
- package/dist/src/storyTexts.d.ts +11 -5
- package/dist/src/storyTexts.js +16 -5
- package/dist/src/storyTree.d.ts +89 -25
- package/dist/src/storyTree.js +213 -127
- package/dist/src/switches.d.ts +0 -1
- package/dist/src/switches.js +6 -2
- package/dist/src/toolbarLayout.d.ts +0 -1
- package/dist/src/toolbarLayout.js +0 -1
- package/dist/src/treePlaces.d.ts +60 -0
- package/dist/src/treePlaces.js +89 -0
- package/dist/src/usedIn.d.ts +28 -1
- package/dist/src/usedIn.js +93 -3
- package/dist/src/viewState.d.ts +44 -9
- package/dist/src/viewState.js +80 -9
- package/dist/src/viewWords.d.ts +0 -13
- package/dist/src/viewWords.js +41 -3
- package/dist/src/vite/adapter.d.ts +62 -1
- package/dist/src/vite/adapter.js +20 -2
- package/dist/src/vite/agent.types.d.ts +291 -7
- package/dist/src/vite/agent.types.js +11 -1
- package/dist/src/vite/agentApi.d.ts +55 -2
- package/dist/src/vite/agentApi.js +136 -9
- package/dist/src/vite/agentIds.d.ts +25 -0
- package/dist/src/vite/agentIds.js +41 -0
- package/dist/src/vite/agentIndex.d.ts +63 -0
- package/dist/src/vite/agentIndex.js +91 -0
- package/dist/src/vite/agentIndexRoute.d.ts +10 -0
- package/dist/src/vite/agentIndexRoute.js +35 -0
- package/dist/src/vite/agentRoutes.d.ts +80 -19
- package/dist/src/vite/agentRoutes.js +184 -27
- package/dist/src/vite/autoTitle.d.ts +0 -1
- package/dist/src/vite/autoTitle.js +0 -1
- package/dist/src/vite/axeScript.d.ts +20 -0
- package/dist/src/vite/axeScript.js +60 -0
- package/dist/src/vite/builtTexts.d.ts +75 -0
- package/dist/src/vite/builtTexts.js +143 -0
- package/dist/src/vite/catalogueConfig.d.ts +10 -0
- package/dist/src/vite/catalogueConfig.js +64 -0
- package/dist/src/vite/checkCode.d.ts +67 -0
- package/dist/src/vite/checkCode.js +145 -0
- package/dist/src/vite/closeWatch.d.ts +96 -0
- package/dist/src/vite/closeWatch.js +219 -0
- package/dist/src/vite/codeFence.d.ts +78 -0
- package/dist/src/vite/codeFence.js +267 -0
- package/dist/src/vite/componentImport.d.ts +8 -0
- package/dist/src/vite/componentImport.js +35 -0
- package/dist/src/vite/componentPage.d.ts +15 -2
- package/dist/src/vite/componentPage.js +55 -16
- package/dist/src/vite/config.d.ts +51 -3
- package/dist/src/vite/config.js +0 -1
- package/dist/src/vite/configFile.d.ts +66 -9
- package/dist/src/vite/configFile.js +236 -33
- package/dist/src/vite/designTokens.d.ts +75 -0
- package/dist/src/vite/designTokens.js +382 -0
- package/dist/src/vite/diskCache.d.ts +51 -0
- package/dist/src/vite/diskCache.js +211 -0
- package/dist/src/vite/docDirectives.d.ts +116 -0
- package/dist/src/vite/docDirectives.js +425 -0
- package/dist/src/vite/docMarkdown.d.ts +76 -0
- package/dist/src/vite/docMarkdown.js +150 -0
- package/dist/src/vite/docPageBlocks.d.ts +64 -0
- package/dist/src/vite/docPageBlocks.js +322 -0
- package/dist/src/vite/docPageLinks.d.ts +72 -0
- package/dist/src/vite/docPageLinks.js +135 -0
- package/dist/src/vite/docPageMarkdown.d.ts +86 -0
- package/dist/src/vite/docPageMarkdown.js +133 -0
- package/dist/src/vite/docPageRender.d.ts +27 -0
- package/dist/src/vite/docPageRender.js +199 -0
- package/dist/src/vite/docPageTokens.d.ts +91 -0
- package/dist/src/vite/docPageTokens.js +186 -0
- package/dist/src/vite/docPagesModule.d.ts +53 -0
- package/dist/src/vite/docPagesModule.js +121 -0
- package/dist/src/vite/docPagesRoute.d.ts +38 -0
- package/dist/src/vite/docPagesRoute.js +154 -0
- package/dist/src/vite/docsDependencies.d.ts +6 -0
- package/dist/src/vite/docsDependencies.js +150 -0
- package/dist/src/vite/docsExtractor.d.ts +50 -3
- package/dist/src/vite/docsExtractor.js +173 -26
- package/dist/src/vite/docsProgram.d.ts +89 -9
- package/dist/src/vite/docsProgram.js +413 -50
- package/dist/src/vite/docsWorker.d.ts +0 -1
- package/dist/src/vite/docsWorker.js +49 -15
- package/dist/src/vite/figmaLink.d.ts +26 -0
- package/dist/src/vite/figmaLink.js +92 -0
- package/dist/src/vite/fileAccess.d.ts +51 -0
- package/dist/src/vite/fileAccess.js +109 -0
- package/dist/src/vite/findComponent.d.ts +32 -0
- package/dist/src/vite/findComponent.js +52 -0
- package/dist/src/vite/findRoute.d.ts +14 -0
- package/dist/src/vite/findRoute.js +62 -0
- package/dist/src/vite/forcedStates.d.ts +0 -1
- package/dist/src/vite/forcedStates.js +0 -1
- package/dist/src/vite/forgebookPlugin.d.ts +0 -1
- package/dist/src/vite/forgebookPlugin.js +305 -282
- package/dist/src/vite/framesConfig.d.ts +89 -0
- package/dist/src/vite/framesConfig.js +149 -0
- package/dist/src/vite/framesServer.d.ts +43 -0
- package/dist/src/vite/framesServer.js +342 -0
- package/dist/src/vite/functionComponentDocs.d.ts +26 -0
- package/dist/src/vite/functionComponentDocs.js +193 -0
- package/dist/src/vite/generatedModules.d.ts +23 -0
- package/dist/src/vite/generatedModules.js +58 -0
- package/dist/src/vite/gitChange.d.ts +56 -0
- package/dist/src/vite/gitChange.js +86 -0
- package/dist/src/vite/heightsRoute.d.ts +0 -1
- package/dist/src/vite/heightsRoute.js +0 -1
- package/dist/src/vite/highlightCode.d.ts +0 -1
- package/dist/src/vite/highlightCode.js +8 -27
- package/dist/src/vite/hotSnippets.d.ts +86 -0
- package/dist/src/vite/hotSnippets.js +172 -0
- package/dist/src/vite/indexFields.d.ts +61 -0
- package/dist/src/vite/indexFields.js +149 -0
- package/dist/src/vite/indexStoryFile.d.ts +19 -18
- package/dist/src/vite/indexStoryFile.js +165 -221
- package/dist/src/vite/indexedParameters.d.ts +10 -0
- package/dist/src/vite/indexedParameters.js +130 -0
- package/dist/src/vite/mcpProtocol.d.ts +36 -2
- package/dist/src/vite/mcpProtocol.js +100 -15
- package/dist/src/vite/moduleSummary.d.ts +17 -0
- package/dist/src/vite/moduleSummary.js +40 -0
- package/dist/src/vite/nearestToken.d.ts +50 -0
- package/dist/src/vite/nearestToken.js +295 -0
- package/dist/src/vite/originGuard.d.ts +97 -0
- package/dist/src/vite/originGuard.js +172 -0
- package/dist/src/vite/packedModule.d.ts +40 -0
- package/dist/src/vite/packedModule.js +74 -0
- package/dist/src/vite/pages.d.ts +64 -10
- package/dist/src/vite/pages.js +278 -40
- package/dist/src/vite/parsedFiles.d.ts +18 -0
- package/dist/src/vite/parsedFiles.js +91 -0
- package/dist/src/vite/plainGrammars.d.ts +20 -0
- package/dist/src/vite/plainGrammars.js +113 -0
- package/dist/src/vite/pluginConfig.d.ts +47 -0
- package/dist/src/vite/pluginConfig.js +220 -0
- package/dist/src/vite/pluginIds.d.ts +27 -0
- package/dist/src/vite/pluginIds.js +76 -0
- package/dist/src/vite/pluginModules.d.ts +169 -0
- package/dist/src/vite/pluginModules.js +221 -0
- package/dist/src/vite/prebundled.d.ts +18 -5
- package/dist/src/vite/prebundled.js +29 -18
- package/dist/src/vite/previewPages.d.ts +14 -0
- package/dist/src/vite/previewPages.js +81 -0
- package/dist/src/vite/previewRoute.d.ts +8 -0
- package/dist/src/vite/previewRoute.js +8 -0
- package/dist/src/vite/previewRunner.d.ts +56 -0
- package/dist/src/vite/previewRunner.js +207 -0
- package/dist/src/vite/propDocs.d.ts +60 -0
- package/dist/src/vite/propDocs.js +387 -0
- package/dist/src/vite/searchModule.d.ts +42 -0
- package/dist/src/vite/searchModule.js +213 -0
- package/dist/src/vite/searchRoute.d.ts +7 -0
- package/dist/src/vite/searchRoute.js +79 -0
- package/dist/src/vite/serverConditions.d.ts +31 -0
- package/dist/src/vite/serverConditions.js +69 -0
- package/dist/src/vite/signatureDocs.d.ts +18 -0
- package/dist/src/vite/signatureDocs.js +64 -0
- package/dist/src/vite/sourceTokens.d.ts +57 -0
- package/dist/src/vite/sourceTokens.js +164 -0
- package/dist/src/vite/storyCode.d.ts +0 -1
- package/dist/src/vite/storyCode.js +2 -3
- package/dist/src/vite/storyExports.d.ts +32 -0
- package/dist/src/vite/storyExports.js +27 -0
- package/dist/src/vite/storyFilesModule.d.ts +104 -20
- package/dist/src/vite/storyFilesModule.js +178 -60
- package/dist/src/vite/storyMeta.d.ts +20 -11
- package/dist/src/vite/storyMeta.js +74 -38
- package/dist/src/vite/storyParse.d.ts +18 -0
- package/dist/src/vite/storyParse.js +20 -0
- package/dist/src/vite/storyPatterns.d.ts +39 -0
- package/dist/src/vite/storyPatterns.js +100 -0
- package/dist/src/vite/storyPlay.d.ts +29 -0
- package/dist/src/vite/storyPlay.js +54 -0
- package/dist/src/vite/storyReach.d.ts +42 -0
- package/dist/src/vite/storyReach.js +43 -0
- package/dist/src/vite/storylessRoutes.d.ts +29 -0
- package/dist/src/vite/storylessRoutes.js +126 -0
- package/dist/src/vite/textModules.d.ts +63 -0
- package/dist/src/vite/textModules.js +132 -0
- package/dist/src/vite/textQueries.d.ts +26 -0
- package/dist/src/vite/textQueries.js +26 -0
- package/dist/src/vite/themeFromTokens.d.ts +35 -0
- package/dist/src/vite/themeFromTokens.js +73 -0
- package/dist/src/vite/tokenAnswers.d.ts +20 -0
- package/dist/src/vite/tokenAnswers.js +86 -0
- package/dist/src/vite/tokenClashes.d.ts +44 -0
- package/dist/src/vite/tokenClashes.js +45 -0
- package/dist/src/vite/touchMedia.d.ts +0 -1
- package/dist/src/vite/touchMedia.js +0 -1
- package/dist/src/vite/typeScriptPieces.d.ts +0 -1
- package/dist/src/vite/typeScriptPieces.js +2 -3
- package/dist/src/vite/usageGraph.d.ts +6 -1
- package/dist/src/vite/usageGraph.js +41 -7
- package/dist/src/vite/usageGuidance.d.ts +33 -0
- package/dist/src/vite/usageGuidance.js +45 -0
- package/dist/src/vite/usageModule.d.ts +0 -1
- package/dist/src/vite/usageModule.js +0 -1
- package/dist/src/vite/vitePaths.d.ts +53 -0
- package/dist/src/vite/vitePaths.js +53 -0
- package/dist/src/worstCase.d.ts +0 -1
- package/dist/src/worstCase.js +0 -1
- package/package.json +68 -5
- package/dist/bin/forgebook/agentClient.d.ts.map +0 -1
- package/dist/bin/forgebook/agentClient.js.map +0 -1
- package/dist/bin/forgebook/agentLoopCommands.d.mts.map +0 -1
- package/dist/bin/forgebook/agentLoopCommands.mjs.map +0 -1
- package/dist/bin/forgebook/agentText.d.ts.map +0 -1
- package/dist/bin/forgebook/agentText.js.map +0 -1
- package/dist/bin/forgebook/agentsText.d.ts.map +0 -1
- package/dist/bin/forgebook/agentsText.js.map +0 -1
- package/dist/bin/forgebook/catalogueCommands.d.ts.map +0 -1
- package/dist/bin/forgebook/catalogueCommands.js.map +0 -1
- package/dist/bin/forgebook/catalogueVite.d.ts.map +0 -1
- package/dist/bin/forgebook/catalogueVite.js.map +0 -1
- package/dist/bin/forgebook/errorsRun.d.ts.map +0 -1
- package/dist/bin/forgebook/errorsRun.js.map +0 -1
- package/dist/bin/forgebook/forgebook.d.mts.map +0 -1
- package/dist/bin/forgebook/forgebook.mjs.map +0 -1
- package/dist/bin/forgebook/importers/storybook.d.ts.map +0 -1
- package/dist/bin/forgebook/importers/storybook.js.map +0 -1
- package/dist/bin/forgebook/initCommands.d.mts.map +0 -1
- package/dist/bin/forgebook/initCommands.mjs.map +0 -1
- package/dist/bin/forgebook/initConfig.d.ts.map +0 -1
- package/dist/bin/forgebook/initConfig.js.map +0 -1
- package/dist/bin/forgebook/mcpTools.d.ts.map +0 -1
- package/dist/bin/forgebook/mcpTools.js.map +0 -1
- package/dist/bin/forgebook/newStories.d.ts.map +0 -1
- package/dist/bin/forgebook/newStories.js.map +0 -1
- package/dist/bin/forgebook/newStoriesFile.d.ts.map +0 -1
- package/dist/bin/forgebook/newStoriesFile.js.map +0 -1
- package/dist/bin/forgebook/storyCheckRun.d.ts.map +0 -1
- package/dist/bin/forgebook/storyCheckRun.js.map +0 -1
- package/dist/bin/forgebook/touchWindowRun.d.ts.map +0 -1
- package/dist/bin/forgebook/touchWindowRun.js.map +0 -1
- package/dist/bin/forgebook-docs/catalogueDocs.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/catalogueDocs.js.map +0 -1
- package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/catalogueDocs.types.js.map +0 -1
- package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/catalogueMarkdown.js.map +0 -1
- package/dist/bin/forgebook-docs/catalogueOptions.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/catalogueOptions.js.map +0 -1
- package/dist/bin/forgebook-docs/collectDocs.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/collectDocs.js.map +0 -1
- package/dist/bin/forgebook-docs/forgebook-docs.d.mts.map +0 -1
- package/dist/bin/forgebook-docs/forgebook-docs.mjs.map +0 -1
- package/dist/bin/forgebook-docs/llmsText.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/llmsText.js.map +0 -1
- package/dist/bin/forgebook-docs/moduleDocs.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/moduleDocs.js.map +0 -1
- package/dist/bin/forgebook-docs/sassDocs.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/sassDocs.js.map +0 -1
- package/dist/bin/forgebook-docs/sourceId.d.ts +0 -9
- package/dist/bin/forgebook-docs/sourceId.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/sourceId.js +0 -45
- package/dist/bin/forgebook-docs/sourceId.js.map +0 -1
- package/dist/bin/forgebook-texts/forgebook-texts.d.mts.map +0 -1
- package/dist/bin/forgebook-texts/forgebook-texts.mjs.map +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.d.ts.map +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.js.map +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.types.d.ts.map +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.types.js.map +0 -1
- package/dist/bin/frameworkDocs.d.ts.map +0 -1
- package/dist/bin/frameworkDocs.js.map +0 -1
- package/dist/src/a11y.d.ts.map +0 -1
- package/dist/src/a11y.js.map +0 -1
- package/dist/src/argTypes.d.ts.map +0 -1
- package/dist/src/argTypes.js.map +0 -1
- package/dist/src/backdrops.d.ts.map +0 -1
- package/dist/src/backdrops.js.map +0 -1
- package/dist/src/catalogue.d.ts.map +0 -1
- package/dist/src/catalogue.js.map +0 -1
- package/dist/src/componentDocs.d.ts.map +0 -1
- package/dist/src/componentDocs.js.map +0 -1
- package/dist/src/controlKeys.d.ts.map +0 -1
- package/dist/src/controlKeys.js.map +0 -1
- package/dist/src/frame/checkStory.d.ts.map +0 -1
- package/dist/src/frame/checkStory.js.map +0 -1
- package/dist/src/frame/frameClock.d.ts.map +0 -1
- package/dist/src/frame/frameClock.js.map +0 -1
- package/dist/src/frame/frameStatus.d.ts.map +0 -1
- package/dist/src/frame/frameStatus.js.map +0 -1
- package/dist/src/frame/frameView.d.ts.map +0 -1
- package/dist/src/frame/frameView.js.map +0 -1
- package/dist/src/frame/matrixLayout.d.ts.map +0 -1
- package/dist/src/frame/matrixLayout.js.map +0 -1
- package/dist/src/frame/measureTools.d.ts.map +0 -1
- package/dist/src/frame/measureTools.js.map +0 -1
- package/dist/src/frame/mountFrame.d.ts.map +0 -1
- package/dist/src/frame/mountFrame.js.map +0 -1
- package/dist/src/frame/playStory.d.ts.map +0 -1
- package/dist/src/frame/playStory.js.map +0 -1
- package/dist/src/frame/renderer.d.ts.map +0 -1
- package/dist/src/frame/renderer.js.map +0 -1
- package/dist/src/frame/settle.d.ts.map +0 -1
- package/dist/src/frame/settle.js.map +0 -1
- package/dist/src/frame/spillOutline.d.ts.map +0 -1
- package/dist/src/frame/spillOutline.js.map +0 -1
- package/dist/src/frame/staleModule.d.ts.map +0 -1
- package/dist/src/frame/staleModule.js.map +0 -1
- package/dist/src/frame/storyCanvas.d.ts.map +0 -1
- package/dist/src/frame/storyCanvas.js.map +0 -1
- package/dist/src/frame/storyHooks.d.ts.map +0 -1
- package/dist/src/frame/storyHooks.js.map +0 -1
- package/dist/src/frame/storyModule.d.ts.map +0 -1
- package/dist/src/frame/storyModule.js.map +0 -1
- package/dist/src/frame/storyRun.d.ts.map +0 -1
- package/dist/src/frame/storyRun.js.map +0 -1
- package/dist/src/frame/touchDots.d.ts.map +0 -1
- package/dist/src/frame/touchDots.js.map +0 -1
- package/dist/src/frame/touchEvents.d.ts.map +0 -1
- package/dist/src/frame/touchEvents.js.map +0 -1
- package/dist/src/frame/touchGesture.d.ts.map +0 -1
- package/dist/src/frame/touchGesture.js.map +0 -1
- package/dist/src/frame/touchLayer.d.ts.map +0 -1
- package/dist/src/frame/touchLayer.js.map +0 -1
- package/dist/src/frame/touchScroll.d.ts.map +0 -1
- package/dist/src/frame/touchScroll.js.map +0 -1
- package/dist/src/languages.d.ts.map +0 -1
- package/dist/src/languages.js.map +0 -1
- package/dist/src/liveErrors.d.ts.map +0 -1
- package/dist/src/liveErrors.js.map +0 -1
- package/dist/src/matrix.d.ts.map +0 -1
- package/dist/src/matrix.js.map +0 -1
- package/dist/src/messages.d.ts.map +0 -1
- package/dist/src/messages.js.map +0 -1
- package/dist/src/namedValues.d.ts.map +0 -1
- package/dist/src/namedValues.js.map +0 -1
- package/dist/src/namedViews.d.ts.map +0 -1
- package/dist/src/namedViews.js.map +0 -1
- package/dist/src/pageConfig.d.ts.map +0 -1
- package/dist/src/pageConfig.js.map +0 -1
- package/dist/src/playTrace.d.ts.map +0 -1
- package/dist/src/playTrace.js.map +0 -1
- package/dist/src/realTouch.d.ts.map +0 -1
- package/dist/src/realTouch.js.map +0 -1
- package/dist/src/shell/A11yTab.d.ts.map +0 -1
- package/dist/src/shell/A11yTab.js.map +0 -1
- package/dist/src/shell/ApiReference.d.ts.map +0 -1
- package/dist/src/shell/ApiReference.js.map +0 -1
- package/dist/src/shell/AppearanceMenu.d.ts.map +0 -1
- package/dist/src/shell/AppearanceMenu.js.map +0 -1
- package/dist/src/shell/BoxWidth.d.ts.map +0 -1
- package/dist/src/shell/BoxWidth.js.map +0 -1
- package/dist/src/shell/ClockControls.d.ts.map +0 -1
- package/dist/src/shell/ClockControls.js.map +0 -1
- package/dist/src/shell/Code.d.ts.map +0 -1
- package/dist/src/shell/Code.js.map +0 -1
- package/dist/src/shell/CodeTab.d.ts.map +0 -1
- package/dist/src/shell/CodeTab.js.map +0 -1
- package/dist/src/shell/CodeText.d.ts.map +0 -1
- package/dist/src/shell/CodeText.js.map +0 -1
- package/dist/src/shell/ComponentPage.d.ts.map +0 -1
- package/dist/src/shell/ComponentPage.js.map +0 -1
- package/dist/src/shell/ControlKeyField.d.ts.map +0 -1
- package/dist/src/shell/ControlKeyField.js.map +0 -1
- package/dist/src/shell/ControlRow.d.ts.map +0 -1
- package/dist/src/shell/ControlRow.js.map +0 -1
- package/dist/src/shell/Dock.d.ts.map +0 -1
- package/dist/src/shell/Dock.js.map +0 -1
- package/dist/src/shell/EventsTab.d.ts.map +0 -1
- package/dist/src/shell/EventsTab.js.map +0 -1
- package/dist/src/shell/Example.d.ts.map +0 -1
- package/dist/src/shell/Example.js.map +0 -1
- package/dist/src/shell/FrameView.d.ts.map +0 -1
- package/dist/src/shell/FrameView.js.map +0 -1
- package/dist/src/shell/HomePage.d.ts.map +0 -1
- package/dist/src/shell/HomePage.js.map +0 -1
- package/dist/src/shell/InfoTip.d.ts.map +0 -1
- package/dist/src/shell/InfoTip.js.map +0 -1
- package/dist/src/shell/InteractionsTab.d.ts.map +0 -1
- package/dist/src/shell/InteractionsTab.js.map +0 -1
- package/dist/src/shell/LogicMark.d.ts.map +0 -1
- package/dist/src/shell/LogicMark.js.map +0 -1
- package/dist/src/shell/MatrixPicker.d.ts.map +0 -1
- package/dist/src/shell/MatrixPicker.js.map +0 -1
- package/dist/src/shell/NamedViews.d.ts.map +0 -1
- package/dist/src/shell/NamedViews.js.map +0 -1
- package/dist/src/shell/PackageHtml.d.ts.map +0 -1
- package/dist/src/shell/PackageHtml.js.map +0 -1
- package/dist/src/shell/PartsTab.d.ts.map +0 -1
- package/dist/src/shell/PartsTab.js.map +0 -1
- package/dist/src/shell/PinnedControl.d.ts.map +0 -1
- package/dist/src/shell/PinnedControl.js.map +0 -1
- package/dist/src/shell/PropFields.d.ts.map +0 -1
- package/dist/src/shell/PropFields.js.map +0 -1
- package/dist/src/shell/PropsTab.d.ts.map +0 -1
- package/dist/src/shell/PropsTab.js.map +0 -1
- package/dist/src/shell/Segmented.d.ts.map +0 -1
- package/dist/src/shell/Segmented.js.map +0 -1
- package/dist/src/shell/Shell.d.ts.map +0 -1
- package/dist/src/shell/Shell.js.map +0 -1
- package/dist/src/shell/Sidebar.d.ts.map +0 -1
- package/dist/src/shell/Sidebar.js.map +0 -1
- package/dist/src/shell/SidebarEntries.d.ts.map +0 -1
- package/dist/src/shell/SidebarEntries.js.map +0 -1
- package/dist/src/shell/SidebarHandle.d.ts.map +0 -1
- package/dist/src/shell/SidebarHandle.js.map +0 -1
- package/dist/src/shell/SignatureReference.d.ts.map +0 -1
- package/dist/src/shell/SignatureReference.js.map +0 -1
- package/dist/src/shell/Stage.d.ts.map +0 -1
- package/dist/src/shell/Stage.js.map +0 -1
- package/dist/src/shell/StageTools.d.ts.map +0 -1
- package/dist/src/shell/StageTools.js.map +0 -1
- package/dist/src/shell/StageViewport.d.ts.map +0 -1
- package/dist/src/shell/StageViewport.js.map +0 -1
- package/dist/src/shell/StoryCodeBlock.d.ts.map +0 -1
- package/dist/src/shell/StoryCodeBlock.js.map +0 -1
- package/dist/src/shell/StoryPicker.d.ts.map +0 -1
- package/dist/src/shell/StoryPicker.js.map +0 -1
- package/dist/src/shell/Toolbar.d.ts.map +0 -1
- package/dist/src/shell/Toolbar.js.map +0 -1
- package/dist/src/shell/ToolbarControl.d.ts.map +0 -1
- package/dist/src/shell/ToolbarControl.js.map +0 -1
- package/dist/src/shell/UsedIn.d.ts.map +0 -1
- package/dist/src/shell/UsedIn.js.map +0 -1
- package/dist/src/shell/ViewMenu.d.ts.map +0 -1
- package/dist/src/shell/ViewMenu.js.map +0 -1
- package/dist/src/shell/WidthField.d.ts.map +0 -1
- package/dist/src/shell/WidthField.js.map +0 -1
- package/dist/src/shell/catalogueContext.d.ts.map +0 -1
- package/dist/src/shell/catalogueContext.js.map +0 -1
- package/dist/src/shell/codeTokens.d.ts.map +0 -1
- package/dist/src/shell/codeTokens.js.map +0 -1
- package/dist/src/shell/codeWriter.d.ts.map +0 -1
- package/dist/src/shell/codeWriter.js.map +0 -1
- package/dist/src/shell/compareVariants.d.ts.map +0 -1
- package/dist/src/shell/compareVariants.js.map +0 -1
- package/dist/src/shell/controlCycle.d.ts.map +0 -1
- package/dist/src/shell/controlCycle.js.map +0 -1
- package/dist/src/shell/dockTabs.d.ts.map +0 -1
- package/dist/src/shell/dockTabs.js.map +0 -1
- package/dist/src/shell/icons.d.ts.map +0 -1
- package/dist/src/shell/icons.js.map +0 -1
- package/dist/src/shell/keyboard.d.ts.map +0 -1
- package/dist/src/shell/keyboard.js.map +0 -1
- package/dist/src/shell/logicView.d.ts.map +0 -1
- package/dist/src/shell/logicView.js.map +0 -1
- package/dist/src/shell/mountShell.d.ts.map +0 -1
- package/dist/src/shell/mountShell.js.map +0 -1
- package/dist/src/shell/storyTouch.d.ts.map +0 -1
- package/dist/src/shell/storyTouch.js.map +0 -1
- package/dist/src/shell/strings.d.ts.map +0 -1
- package/dist/src/shell/strings.js.map +0 -1
- package/dist/src/shell/switchView.d.ts.map +0 -1
- package/dist/src/shell/switchView.js.map +0 -1
- package/dist/src/shell/treeSearch.d.ts.map +0 -1
- package/dist/src/shell/treeSearch.js.map +0 -1
- package/dist/src/shell/useAppearance.d.ts.map +0 -1
- package/dist/src/shell/useAppearance.js.map +0 -1
- package/dist/src/shell/useComponentDocs.d.ts.map +0 -1
- package/dist/src/shell/useComponentDocs.js.map +0 -1
- package/dist/src/shell/useControlKeys.d.ts.map +0 -1
- package/dist/src/shell/useControlKeys.js.map +0 -1
- package/dist/src/shell/useCopy.d.ts.map +0 -1
- package/dist/src/shell/useCopy.js.map +0 -1
- package/dist/src/shell/useFold.d.ts.map +0 -1
- package/dist/src/shell/useFold.js.map +0 -1
- package/dist/src/shell/useFrameMessages.d.ts.map +0 -1
- package/dist/src/shell/useFrameMessages.js.map +0 -1
- package/dist/src/shell/useFrameQueue.d.ts.map +0 -1
- package/dist/src/shell/useFrameQueue.js.map +0 -1
- package/dist/src/shell/useFullPage.d.ts.map +0 -1
- package/dist/src/shell/useFullPage.js.map +0 -1
- package/dist/src/shell/useLiveView.d.ts.map +0 -1
- package/dist/src/shell/useLiveView.js.map +0 -1
- package/dist/src/shell/useLoaded.d.ts.map +0 -1
- package/dist/src/shell/useLoaded.js.map +0 -1
- package/dist/src/shell/usePageDoc.d.ts.map +0 -1
- package/dist/src/shell/usePageDoc.js.map +0 -1
- package/dist/src/shell/usePopover.d.ts.map +0 -1
- package/dist/src/shell/usePopover.js.map +0 -1
- package/dist/src/shell/useRecentPages.d.ts.map +0 -1
- package/dist/src/shell/useRecentPages.js.map +0 -1
- package/dist/src/shell/useScrollMemory.d.ts.map +0 -1
- package/dist/src/shell/useScrollMemory.js.map +0 -1
- package/dist/src/shell/useShownView.d.ts.map +0 -1
- package/dist/src/shell/useShownView.js.map +0 -1
- package/dist/src/shell/useSidebarLayout.d.ts.map +0 -1
- package/dist/src/shell/useSidebarLayout.js.map +0 -1
- package/dist/src/shell/useStored.d.ts.map +0 -1
- package/dist/src/shell/useStored.js.map +0 -1
- package/dist/src/shell/useStoryCode.d.ts.map +0 -1
- package/dist/src/shell/useStoryCode.js.map +0 -1
- package/dist/src/shell/useStoryHeights.d.ts.map +0 -1
- package/dist/src/shell/useStoryHeights.js.map +0 -1
- package/dist/src/shell/useStoryIdsElement.d.ts.map +0 -1
- package/dist/src/shell/useStoryIdsElement.js.map +0 -1
- package/dist/src/shell/useStoryKeys.d.ts.map +0 -1
- package/dist/src/shell/useStoryKeys.js.map +0 -1
- package/dist/src/shell/useSystemDark.d.ts.map +0 -1
- package/dist/src/shell/useSystemDark.js.map +0 -1
- package/dist/src/shell/useToolbarLayout.d.ts.map +0 -1
- package/dist/src/shell/useToolbarLayout.js.map +0 -1
- package/dist/src/shell/useToolbarOverflow.d.ts.map +0 -1
- package/dist/src/shell/useToolbarOverflow.js.map +0 -1
- package/dist/src/shell/useWorstCase.d.ts.map +0 -1
- package/dist/src/shell/useWorstCase.js.map +0 -1
- package/dist/src/shell/worstArgs.d.ts.map +0 -1
- package/dist/src/shell/worstArgs.js.map +0 -1
- package/dist/src/sourceFiles.d.ts.map +0 -1
- package/dist/src/sourceFiles.js.map +0 -1
- package/dist/src/spills.d.ts.map +0 -1
- package/dist/src/spills.js.map +0 -1
- package/dist/src/storyBackground.d.ts.map +0 -1
- package/dist/src/storyBackground.js.map +0 -1
- package/dist/src/storyCheck.d.ts.map +0 -1
- package/dist/src/storyCheck.js.map +0 -1
- package/dist/src/storyClock.d.ts.map +0 -1
- package/dist/src/storyClock.js.map +0 -1
- package/dist/src/storyGlobals.d.ts.map +0 -1
- package/dist/src/storyGlobals.js.map +0 -1
- package/dist/src/storyHeights.d.ts.map +0 -1
- package/dist/src/storyHeights.js.map +0 -1
- package/dist/src/storyIdsElement.d.ts.map +0 -1
- package/dist/src/storyIdsElement.js.map +0 -1
- package/dist/src/storyTexts.d.ts.map +0 -1
- package/dist/src/storyTexts.js.map +0 -1
- package/dist/src/storyTree.d.ts.map +0 -1
- package/dist/src/storyTree.js.map +0 -1
- package/dist/src/switches.d.ts.map +0 -1
- package/dist/src/switches.js.map +0 -1
- package/dist/src/toolbarLayout.d.ts.map +0 -1
- package/dist/src/toolbarLayout.js.map +0 -1
- package/dist/src/usedIn.d.ts.map +0 -1
- package/dist/src/usedIn.js.map +0 -1
- package/dist/src/viewState.d.ts.map +0 -1
- package/dist/src/viewState.js.map +0 -1
- package/dist/src/viewWords.d.ts.map +0 -1
- package/dist/src/viewWords.js.map +0 -1
- package/dist/src/vite/adapter.d.ts.map +0 -1
- package/dist/src/vite/adapter.js.map +0 -1
- package/dist/src/vite/agent.types.d.ts.map +0 -1
- package/dist/src/vite/agent.types.js.map +0 -1
- package/dist/src/vite/agentApi.d.ts.map +0 -1
- package/dist/src/vite/agentApi.js.map +0 -1
- package/dist/src/vite/agentRoutes.d.ts.map +0 -1
- package/dist/src/vite/agentRoutes.js.map +0 -1
- package/dist/src/vite/autoTitle.d.ts.map +0 -1
- package/dist/src/vite/autoTitle.js.map +0 -1
- package/dist/src/vite/componentPage.d.ts.map +0 -1
- package/dist/src/vite/componentPage.js.map +0 -1
- package/dist/src/vite/config.d.ts.map +0 -1
- package/dist/src/vite/config.js.map +0 -1
- package/dist/src/vite/configFile.d.ts.map +0 -1
- package/dist/src/vite/configFile.js.map +0 -1
- package/dist/src/vite/docsExtractor.d.ts.map +0 -1
- package/dist/src/vite/docsExtractor.js.map +0 -1
- package/dist/src/vite/docsProgram.d.ts.map +0 -1
- package/dist/src/vite/docsProgram.js.map +0 -1
- package/dist/src/vite/docsWorker.d.ts.map +0 -1
- package/dist/src/vite/docsWorker.js.map +0 -1
- package/dist/src/vite/forcedStates.d.ts.map +0 -1
- package/dist/src/vite/forcedStates.js.map +0 -1
- package/dist/src/vite/forgebookPlugin.d.ts.map +0 -1
- package/dist/src/vite/forgebookPlugin.js.map +0 -1
- package/dist/src/vite/heightsRoute.d.ts.map +0 -1
- package/dist/src/vite/heightsRoute.js.map +0 -1
- package/dist/src/vite/highlightCode.d.ts.map +0 -1
- package/dist/src/vite/highlightCode.js.map +0 -1
- package/dist/src/vite/indexStoryFile.d.ts.map +0 -1
- package/dist/src/vite/indexStoryFile.js.map +0 -1
- package/dist/src/vite/mcpProtocol.d.ts.map +0 -1
- package/dist/src/vite/mcpProtocol.js.map +0 -1
- package/dist/src/vite/pages.d.ts.map +0 -1
- package/dist/src/vite/pages.js.map +0 -1
- package/dist/src/vite/prebundled.d.ts.map +0 -1
- package/dist/src/vite/prebundled.js.map +0 -1
- package/dist/src/vite/storyCode.d.ts.map +0 -1
- package/dist/src/vite/storyCode.js.map +0 -1
- package/dist/src/vite/storyFilesModule.d.ts.map +0 -1
- package/dist/src/vite/storyFilesModule.js.map +0 -1
- package/dist/src/vite/storyMeta.d.ts.map +0 -1
- package/dist/src/vite/storyMeta.js.map +0 -1
- package/dist/src/vite/touchMedia.d.ts.map +0 -1
- package/dist/src/vite/touchMedia.js.map +0 -1
- package/dist/src/vite/typeScriptPieces.d.ts.map +0 -1
- package/dist/src/vite/typeScriptPieces.js.map +0 -1
- package/dist/src/vite/usageGraph.d.ts.map +0 -1
- package/dist/src/vite/usageGraph.js.map +0 -1
- package/dist/src/vite/usageModule.d.ts.map +0 -1
- package/dist/src/vite/usageModule.js.map +0 -1
- package/dist/src/worstCase.d.ts.map +0 -1
- package/dist/src/worstCase.js.map +0 -1
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { ComponentFiles } from "./adapter.ts";
|
|
2
|
+
import { type DiskCache } from "./diskCache.ts";
|
|
3
|
+
/** A module the plugin answers. */
|
|
4
|
+
type AnsweredModule = {
|
|
5
|
+
code: string;
|
|
6
|
+
moduleType: "js";
|
|
7
|
+
};
|
|
8
|
+
/** A story file's code as the Code tab reads it: each story's `render` text and its coloured HTML, or why it cannot. */
|
|
9
|
+
export type KeptCode = {
|
|
10
|
+
readonly error: string;
|
|
11
|
+
} | Readonly<Record<string, {
|
|
12
|
+
readonly text: string;
|
|
13
|
+
readonly html: string;
|
|
14
|
+
}>>;
|
|
15
|
+
/** Whether what a cache file holds is a story file's code. */
|
|
16
|
+
export declare const isKeptCode: (value: unknown) => value is KeptCode;
|
|
17
|
+
/**
|
|
18
|
+
* A story file's code as the Code tab reads it, what a `?forgebook-code` import answers: each story's `render` text and
|
|
19
|
+
* its coloured HTML, or `{ error }` for the card.
|
|
20
|
+
*
|
|
21
|
+
* @param storyFile - the story file's absolute path; Vite renews the module when it changes, as the id names it.
|
|
22
|
+
* @param cache - the code kept between starts; none reads the file every time.
|
|
23
|
+
*/
|
|
24
|
+
export declare const storyFileCode: (storyFile: string, cache: DiskCache<KeptCode> | undefined) => Promise<KeptCode>;
|
|
25
|
+
/** A component's page as a story file's query answers it. */
|
|
26
|
+
export type ComponentPageText = {
|
|
27
|
+
/** Its documentation file as HTML; empty without one. */
|
|
28
|
+
readonly html: string;
|
|
29
|
+
/** The first paragraph of its file's `@module` comment, for the page's lead; empty without one. */
|
|
30
|
+
readonly summary: string;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* A story file's component page, what a `?forgebook-page` import answers: the component's documentation file as HTML
|
|
34
|
+
* (empty without one), and its file's summary, the first paragraph of its `@module` comment, for the page's lead.
|
|
35
|
+
*
|
|
36
|
+
* @remarks
|
|
37
|
+
* The summary is read here, from the component's file alone, rather than with the docs: the docs wait for the
|
|
38
|
+
* package's TypeScript program, and the lead would come seconds after the rest of the page.
|
|
39
|
+
*
|
|
40
|
+
* @param storyFile - the story file's absolute path.
|
|
41
|
+
* @param context - what the plugin gives: the watch (the documentation file, the component's file), how an import of
|
|
42
|
+
* the component resolves, and the framework's own kind of component file.
|
|
43
|
+
*/
|
|
44
|
+
export declare const storyFilePage: (storyFile: string, context: Pick<TextModuleContext, "watch" | "resolveImport" | "componentFiles">) => Promise<ComponentPageText>;
|
|
45
|
+
/** What the text modules need of the plugin. */
|
|
46
|
+
export type TextModuleContext = {
|
|
47
|
+
/** Adds a file whose edit renews the module. */
|
|
48
|
+
readonly watch: (file: string) => void;
|
|
49
|
+
/** Resolves an import of a file as the app resolves it; none when it does not resolve. */
|
|
50
|
+
readonly resolveImport: (specifier: string, importer: string) => Promise<string | undefined>;
|
|
51
|
+
/** The framework's own kind of component file; none when it has none. */
|
|
52
|
+
readonly componentFiles: ComponentFiles | undefined;
|
|
53
|
+
/** The story files' code kept between starts; none reads every time. */
|
|
54
|
+
readonly cache: DiskCache<KeptCode> | undefined;
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* The module a query asks for, when the id is one of these.
|
|
58
|
+
*
|
|
59
|
+
* @param id - the module's id.
|
|
60
|
+
* @param context - what the plugin gives.
|
|
61
|
+
*/
|
|
62
|
+
export declare const textModule: (id: string, context: TextModuleContext) => Promise<AnsweredModule | undefined>;
|
|
63
|
+
export {};
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The modules the plugin makes from a file's text: a story file's code (`?forgebook-code`), a component's page
|
|
3
|
+
* (`?forgebook-page`) and a source's Markdown file (`?forgebook-markdown`).
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Colouring code loads highlight.js and the TypeScript compiler's scanner, and Markdown its reader: each is imported
|
|
7
|
+
* only when a query needs it, code only when a story has a `render` to colour, and a story file's code is kept on disk
|
|
8
|
+
* between starts (`diskCache.ts`), so a story's page reads it without either on a later start.
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
import { readFileSync } from "node:fs";
|
|
13
|
+
import { codeLiteral } from "../codeLiteral.js";
|
|
14
|
+
import { componentImport } from "./componentImport.js";
|
|
15
|
+
import { isSettledSince, nowNs, stampPaths } from "./diskCache.js";
|
|
16
|
+
import { moduleSummaryOf } from "./moduleSummary.js";
|
|
17
|
+
import { storyCode } from "./storyCode.js";
|
|
18
|
+
import { CODE_QUERY, MARKDOWN_QUERY, PAGE_QUERY } from "./textQueries.js";
|
|
19
|
+
/**
|
|
20
|
+
* The module whose default export is a value.
|
|
21
|
+
*
|
|
22
|
+
* @param value - the value, as JSON.
|
|
23
|
+
*/
|
|
24
|
+
const valueModule = (value) => ({
|
|
25
|
+
code: `export default ${codeLiteral(value)};`,
|
|
26
|
+
moduleType: "js"
|
|
27
|
+
});
|
|
28
|
+
/** Whether what a cache file holds is a story file's code. */
|
|
29
|
+
export const isKeptCode = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
30
|
+
/**
|
|
31
|
+
* Each story's `render` text with its coloured HTML.
|
|
32
|
+
*
|
|
33
|
+
* @remarks
|
|
34
|
+
* The colouring loads the TypeScript compiler, tens of megabytes the server then holds for as long as it runs: only a
|
|
35
|
+
* file with a `render` to colour loads it. A file whose stories are all args has none, and its Code tab writes them
|
|
36
|
+
* from the args (the framework's code writer), so a story's page of a library written that way leaves the compiler to
|
|
37
|
+
* the docs worker; a component's page or a Markdown page still loads it, to colour their examples.
|
|
38
|
+
*
|
|
39
|
+
* @param code - each story's `render` text, by export name.
|
|
40
|
+
*/
|
|
41
|
+
const colouredCode = async (code) => {
|
|
42
|
+
const entries = Object.entries(code);
|
|
43
|
+
if (entries.length === 0)
|
|
44
|
+
return {};
|
|
45
|
+
const { highlightCode } = await import("./highlightCode.js");
|
|
46
|
+
return Object.fromEntries(entries.map(([name, text]) => [name, { text, html: highlightCode(text, "tsx") }]));
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* A story file's code as the Code tab reads it, what a `?forgebook-code` import answers: each story's `render` text and
|
|
50
|
+
* its coloured HTML, or `{ error }` for the card.
|
|
51
|
+
*
|
|
52
|
+
* @param storyFile - the story file's absolute path; Vite renews the module when it changes, as the id names it.
|
|
53
|
+
* @param cache - the code kept between starts; none reads the file every time.
|
|
54
|
+
*/
|
|
55
|
+
export const storyFileCode = async (storyFile, cache) => {
|
|
56
|
+
const kept = cache?.read(storyFile);
|
|
57
|
+
if (kept !== undefined)
|
|
58
|
+
return kept;
|
|
59
|
+
const since = nowNs();
|
|
60
|
+
const code = storyCode(storyFile, readFileSync(storyFile, "utf8"));
|
|
61
|
+
const value = typeof code === "string" ? { error: code } : await colouredCode(code);
|
|
62
|
+
// colouring loads the compiler's scanner: kept, a story's page reads its code without it on a later start
|
|
63
|
+
const stamps = stampPaths([storyFile]);
|
|
64
|
+
if (typeof code !== "string" && isSettledSince(stamps, since))
|
|
65
|
+
cache?.write(storyFile, value, stamps);
|
|
66
|
+
return value;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* The text a component's file opens with: a framework's own kind of file (`.vue`) by its script.
|
|
70
|
+
*
|
|
71
|
+
* @param file - the file's absolute path.
|
|
72
|
+
* @param componentFiles - the framework's own kind of file; none when it has none.
|
|
73
|
+
*/
|
|
74
|
+
const scriptOfFile = (file, componentFiles) => {
|
|
75
|
+
const text = readFileSync(file, "utf8");
|
|
76
|
+
return componentFiles !== undefined && file.endsWith(componentFiles.extension)
|
|
77
|
+
? componentFiles.scriptOf(text)
|
|
78
|
+
: text;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* A story file's component page, what a `?forgebook-page` import answers: the component's documentation file as HTML
|
|
82
|
+
* (empty without one), and its file's summary, the first paragraph of its `@module` comment, for the page's lead.
|
|
83
|
+
*
|
|
84
|
+
* @remarks
|
|
85
|
+
* The summary is read here, from the component's file alone, rather than with the docs: the docs wait for the
|
|
86
|
+
* package's TypeScript program, and the lead would come seconds after the rest of the page.
|
|
87
|
+
*
|
|
88
|
+
* @param storyFile - the story file's absolute path.
|
|
89
|
+
* @param context - what the plugin gives: the watch (the documentation file, the component's file), how an import of
|
|
90
|
+
* the component resolves, and the framework's own kind of component file.
|
|
91
|
+
*/
|
|
92
|
+
export const storyFilePage = async (storyFile, context) => {
|
|
93
|
+
const specifier = componentImport(storyFile, readFileSync(storyFile, "utf8"));
|
|
94
|
+
const componentFile = specifier === undefined ? undefined : await context.resolveImport(specifier, storyFile);
|
|
95
|
+
const { componentPage } = await import("./componentPage.js");
|
|
96
|
+
const page = componentPage(storyFile);
|
|
97
|
+
if (page !== undefined)
|
|
98
|
+
context.watch(page.file);
|
|
99
|
+
if (componentFile !== undefined)
|
|
100
|
+
context.watch(componentFile);
|
|
101
|
+
const summary = componentFile === undefined ? "" : moduleSummaryOf(scriptOfFile(componentFile, context.componentFiles));
|
|
102
|
+
return { html: page?.html ?? "", summary };
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* The module that answers a `?forgebook-markdown` import: a source's Markdown file (its introduction) as HTML.
|
|
106
|
+
*
|
|
107
|
+
* @param file - the Markdown file's absolute path.
|
|
108
|
+
* @param watch - adds a file whose edit renews the module (the Markdown file).
|
|
109
|
+
*/
|
|
110
|
+
const markdownModule = async (file, watch) => {
|
|
111
|
+
watch(file);
|
|
112
|
+
const { markdownHtml } = await import("./componentPage.js");
|
|
113
|
+
const value = { html: markdownHtml(readFileSync(file, "utf8")) };
|
|
114
|
+
return { code: `export default ${codeLiteral(value)};`, moduleType: "js" };
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* The module a query asks for, when the id is one of these.
|
|
118
|
+
*
|
|
119
|
+
* @param id - the module's id.
|
|
120
|
+
* @param context - what the plugin gives.
|
|
121
|
+
*/
|
|
122
|
+
export const textModule = async (id, context) => {
|
|
123
|
+
if (id.endsWith(PAGE_QUERY)) {
|
|
124
|
+
return valueModule(await storyFilePage(id.slice(0, -PAGE_QUERY.length), context));
|
|
125
|
+
}
|
|
126
|
+
if (id.endsWith(CODE_QUERY)) {
|
|
127
|
+
return valueModule(await storyFileCode(id.slice(0, -CODE_QUERY.length), context.cache));
|
|
128
|
+
}
|
|
129
|
+
if (id.endsWith(MARKDOWN_QUERY))
|
|
130
|
+
return markdownModule(id.slice(0, -MARKDOWN_QUERY.length), context.watch);
|
|
131
|
+
return undefined;
|
|
132
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The queries the plugin answers with a module made from a file: a story file's docs and code, its component's page, a
|
|
3
|
+
* source's Markdown, a docs page.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Their own module, so the plugin and the modules that answer them share the names without the plugin loading what
|
|
7
|
+
* answers them (the Markdown reader, the highlighter, the compiler) at start.
|
|
8
|
+
*
|
|
9
|
+
* @module
|
|
10
|
+
*/
|
|
11
|
+
/** The query that asks for a story file's component docs. */
|
|
12
|
+
export declare const DOCS_QUERY = "?forgebook-docs";
|
|
13
|
+
/** The query that asks for a story file's code: each story's `render` as written. */
|
|
14
|
+
export declare const CODE_QUERY = "?forgebook-code";
|
|
15
|
+
/** The query that asks for a story file's component page: its documentation file as HTML. */
|
|
16
|
+
export declare const PAGE_QUERY = "?forgebook-page";
|
|
17
|
+
/** The query a source's Markdown file is imported with (its introduction on the home), answered with its HTML. */
|
|
18
|
+
export declare const MARKDOWN_QUERY = "?forgebook-markdown";
|
|
19
|
+
/** The query that asks for one docs page, compiled. */
|
|
20
|
+
export declare const DOCS_PAGE_QUERY = "?forgebook-docs-page";
|
|
21
|
+
/** The query that asks for the written home (`forgebook.home.md`), rendered: its file, then this. */
|
|
22
|
+
export declare const HOME_QUERY = "?forgebook-home";
|
|
23
|
+
/** The queries `textModules.ts` answers. */
|
|
24
|
+
export declare const TEXT_QUERIES: readonly string[];
|
|
25
|
+
/** The queries of a story file's modules the shell reads, which hand an edit to it in place on a dev server. */
|
|
26
|
+
export declare const RENEWED_QUERIES: readonly string[];
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The queries the plugin answers with a module made from a file: a story file's docs and code, its component's page, a
|
|
3
|
+
* source's Markdown, a docs page.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Their own module, so the plugin and the modules that answer them share the names without the plugin loading what
|
|
7
|
+
* answers them (the Markdown reader, the highlighter, the compiler) at start.
|
|
8
|
+
*
|
|
9
|
+
* @module
|
|
10
|
+
*/
|
|
11
|
+
/** The query that asks for a story file's component docs. */
|
|
12
|
+
export const DOCS_QUERY = "?forgebook-docs";
|
|
13
|
+
/** The query that asks for a story file's code: each story's `render` as written. */
|
|
14
|
+
export const CODE_QUERY = "?forgebook-code";
|
|
15
|
+
/** The query that asks for a story file's component page: its documentation file as HTML. */
|
|
16
|
+
export const PAGE_QUERY = "?forgebook-page";
|
|
17
|
+
/** The query a source's Markdown file is imported with (its introduction on the home), answered with its HTML. */
|
|
18
|
+
export const MARKDOWN_QUERY = "?forgebook-markdown";
|
|
19
|
+
/** The query that asks for one docs page, compiled. */
|
|
20
|
+
export const DOCS_PAGE_QUERY = "?forgebook-docs-page";
|
|
21
|
+
/** The query that asks for the written home (`forgebook.home.md`), rendered: its file, then this. */
|
|
22
|
+
export const HOME_QUERY = "?forgebook-home";
|
|
23
|
+
/** The queries `textModules.ts` answers. */
|
|
24
|
+
export const TEXT_QUERIES = [CODE_QUERY, PAGE_QUERY, MARKDOWN_QUERY];
|
|
25
|
+
/** The queries of a story file's modules the shell reads, which hand an edit to it in place on a dev server. */
|
|
26
|
+
export const RENEWED_QUERIES = [DOCS_QUERY, CODE_QUERY, PAGE_QUERY];
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ShellPalette, ShellTheme } from "../shellTheme.types.ts";
|
|
2
|
+
import { type DesignToken } from "./designTokens.ts";
|
|
3
|
+
/** A tokens file, as the configuration resolves it. */
|
|
4
|
+
type TokensFileRef = {
|
|
5
|
+
/** Its absolute path. */
|
|
6
|
+
readonly path: string;
|
|
7
|
+
/** The theme it belongs to; none for the base. */
|
|
8
|
+
readonly mode: string | undefined;
|
|
9
|
+
};
|
|
10
|
+
/** The roles and their token names. */
|
|
11
|
+
type TokenMapping = Partial<ShellPalette>;
|
|
12
|
+
/** A theme read from tokens, with what could not be used. */
|
|
13
|
+
export type TokenTheme = {
|
|
14
|
+
/** The colours. */
|
|
15
|
+
readonly theme: ShellTheme;
|
|
16
|
+
/** What will not work, for a warning. */
|
|
17
|
+
readonly problems: readonly string[];
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* The theme a mapping gives.
|
|
21
|
+
*
|
|
22
|
+
* @param mapping - the token's name for each role.
|
|
23
|
+
* @param tokens - the tokens.
|
|
24
|
+
* @returns the colours of each appearance, and what could not be used.
|
|
25
|
+
*/
|
|
26
|
+
export declare const tokenTheme: (mapping: TokenMapping, tokens: readonly DesignToken[]) => TokenTheme;
|
|
27
|
+
/**
|
|
28
|
+
* Reads a catalogue's tokens files and the theme a mapping gives; no mapping reads nothing.
|
|
29
|
+
*
|
|
30
|
+
* @param mapping - the token's name for each role.
|
|
31
|
+
* @param files - the tokens files.
|
|
32
|
+
* @param dir - the configuration's folder, which problems name files from.
|
|
33
|
+
*/
|
|
34
|
+
export declare const tokenThemeOf: (mapping: TokenMapping, files: readonly TokensFileRef[], dir: string) => TokenTheme;
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A shell's theme from a library's design tokens: a few lines of mapping instead of a palette written twice.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* Read once, when the configuration is, since the theme is written into the page at build. A role takes the token's value
|
|
6
|
+
* in each appearance, the themes named `light` and `dark` first: a token with no such theme holds in both, as DTCG means,
|
|
7
|
+
* and the contrast checks say when that does not work. What cannot be used is reported, never a build's failure: the
|
|
8
|
+
* shell keeps its own colour for that role.
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
import { readFileSync } from "node:fs";
|
|
13
|
+
import { relative } from "node:path";
|
|
14
|
+
import { readTokens } from "./designTokens.js";
|
|
15
|
+
/** A token's colour in an appearance; none when only other themes define it. */
|
|
16
|
+
const colorIn = (token, appearance) => token.modes[appearance] ?? (token.isThemeOnly === true ? undefined : token.value);
|
|
17
|
+
/**
|
|
18
|
+
* The theme a mapping gives.
|
|
19
|
+
*
|
|
20
|
+
* @param mapping - the token's name for each role.
|
|
21
|
+
* @param tokens - the tokens.
|
|
22
|
+
* @returns the colours of each appearance, and what could not be used.
|
|
23
|
+
*/
|
|
24
|
+
export const tokenTheme = (mapping, tokens) => {
|
|
25
|
+
const light = {};
|
|
26
|
+
const dark = {};
|
|
27
|
+
const problems = [];
|
|
28
|
+
for (const [role, name] of Object.entries(mapping)) {
|
|
29
|
+
const token = tokens.find((each) => each.name === name);
|
|
30
|
+
if (token === undefined) {
|
|
31
|
+
problems.push(`shell.theme.fromTokens: ${role} names "${name}", which is not a token`);
|
|
32
|
+
}
|
|
33
|
+
else if (token.type !== "color") {
|
|
34
|
+
problems.push(`shell.theme.fromTokens: ${role} names "${name}", a ${token.type}, not a color`);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
const inLight = colorIn(token, "light");
|
|
38
|
+
const inDark = colorIn(token, "dark");
|
|
39
|
+
if (inLight !== undefined)
|
|
40
|
+
light[role] = inLight;
|
|
41
|
+
if (inDark !== undefined)
|
|
42
|
+
dark[role] = inDark;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return { theme: { light, dark }, problems };
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Reads a catalogue's tokens files and the theme a mapping gives; no mapping reads nothing.
|
|
49
|
+
*
|
|
50
|
+
* @param mapping - the token's name for each role.
|
|
51
|
+
* @param files - the tokens files.
|
|
52
|
+
* @param dir - the configuration's folder, which problems name files from.
|
|
53
|
+
*/
|
|
54
|
+
export const tokenThemeOf = (mapping, files, dir) => {
|
|
55
|
+
if (Object.keys(mapping).length === 0)
|
|
56
|
+
return { theme: {}, problems: [] };
|
|
57
|
+
if (files.length === 0) {
|
|
58
|
+
return { theme: {}, problems: ["shell.theme.fromTokens: the configuration names no tokens file"] };
|
|
59
|
+
}
|
|
60
|
+
const unread = [];
|
|
61
|
+
const inputs = files.flatMap(({ path, mode }) => {
|
|
62
|
+
try {
|
|
63
|
+
return [{ label: relative(dir, path), mode, file: JSON.parse(readFileSync(path, "utf8")) }];
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
unread.push(`${path}: ${error instanceof Error ? error.message : String(error)}`);
|
|
67
|
+
return [];
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
const { tokens, problems } = readTokens(inputs);
|
|
71
|
+
const { theme, problems: mapped } = tokenTheme(mapping, tokens);
|
|
72
|
+
return { theme, problems: [...unread, ...problems, ...mapped] };
|
|
73
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The answers about a catalogue's design tokens, from tokens already read: the dev server reads its files at each
|
|
3
|
+
* question, a built catalogue has them in its index.
|
|
4
|
+
*
|
|
5
|
+
* @module
|
|
6
|
+
*/
|
|
7
|
+
import type { AgentTokenSummary } from "./agent.types.ts";
|
|
8
|
+
import type { AgentAnswer } from "./agentRoutes.ts";
|
|
9
|
+
import { type DesignToken, type ParsedTokens } from "./designTokens.ts";
|
|
10
|
+
/** The tokens read, with whether anything names some: a file that cannot be read is named, which is not "no tokens". */
|
|
11
|
+
export type TokenReading = ParsedTokens & {
|
|
12
|
+
/** Whether the catalogue or a source names a tokens file. */
|
|
13
|
+
readonly isConfigured: boolean;
|
|
14
|
+
/** The sources whose modules could not be read: whether they hold tokens is not known. */
|
|
15
|
+
readonly unread: readonly string[];
|
|
16
|
+
};
|
|
17
|
+
/** A token as a list gives it: no description, and no empty fields, since each one costs an agent's context. */
|
|
18
|
+
export declare const tokenSummary: (token: DesignToken) => AgentTokenSummary;
|
|
19
|
+
/** The token questions, by the API's path. */
|
|
20
|
+
export declare const TOKEN_ANSWERS: Readonly<Record<string, (reading: TokenReading, params: URLSearchParams) => AgentAnswer>>;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { filteredTokens } from "./designTokens.js";
|
|
2
|
+
import { nearestTokens } from "./nearestToken.js";
|
|
3
|
+
/** A list's size unless asked otherwise: an agent degrades on long answers, and asks `nearest` or one token. */
|
|
4
|
+
const TOKENS_LIMIT = 100;
|
|
5
|
+
/** The one answer a question about a catalogue with no tokens gets, so an agent does not read it as "no such token". */
|
|
6
|
+
const NO_TOKENS_FILE = {
|
|
7
|
+
status: 404,
|
|
8
|
+
body: {
|
|
9
|
+
error: 'This catalogue names no tokens file: `tokens: ["tokens.json"]` in forgebook.config.ts, or on a source it shows'
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
/** How many tokens of each type. */
|
|
13
|
+
const typeCounts = (tokens) => {
|
|
14
|
+
const counts = {};
|
|
15
|
+
for (const { type } of tokens)
|
|
16
|
+
counts[type] = (counts[type] ?? 0) + 1;
|
|
17
|
+
return counts;
|
|
18
|
+
};
|
|
19
|
+
/** A token as a list gives it: no description, and no empty fields, since each one costs an agent's context. */
|
|
20
|
+
export const tokenSummary = (token) => {
|
|
21
|
+
const { name, type, value, modes, deprecated, isThemeOnly } = token;
|
|
22
|
+
return {
|
|
23
|
+
name,
|
|
24
|
+
type,
|
|
25
|
+
value,
|
|
26
|
+
modes,
|
|
27
|
+
...(deprecated === undefined ? {} : { deprecated }),
|
|
28
|
+
...(isThemeOnly === undefined ? {} : { isThemeOnly })
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
/** The tokens, of a category when one is asked for, up to a limit, with how many there are. */
|
|
32
|
+
const tokensAnswer = ({ tokens, problems, unread, clashes, isConfigured }, params) => {
|
|
33
|
+
const chosen = filteredTokens(tokens, params.get("category") || undefined);
|
|
34
|
+
const limit = Number(params.get("limit") || TOKENS_LIMIT);
|
|
35
|
+
const listed = chosen.slice(0, Number.isFinite(limit) ? limit : TOKENS_LIMIT);
|
|
36
|
+
const names = new Set(listed.map((token) => token.name));
|
|
37
|
+
const body = {
|
|
38
|
+
schema: 1,
|
|
39
|
+
isConfigured,
|
|
40
|
+
total: chosen.length,
|
|
41
|
+
types: typeCounts(chosen),
|
|
42
|
+
tokens: listed.map(tokenSummary),
|
|
43
|
+
problems: [...unread, ...problems],
|
|
44
|
+
clashes: clashes.filter((clash) => names.has(clash.name))
|
|
45
|
+
};
|
|
46
|
+
return { status: 200, body };
|
|
47
|
+
};
|
|
48
|
+
/** One token; what broke in the files is said, since a token that failed to read looks like one that is not there. */
|
|
49
|
+
const tokenAnswer = (reading, params) => {
|
|
50
|
+
if (!reading.isConfigured)
|
|
51
|
+
return NO_TOKENS_FILE;
|
|
52
|
+
const { tokens, clashes } = reading;
|
|
53
|
+
const problems = [...reading.unread, ...reading.problems];
|
|
54
|
+
const name = params.get("name") ?? "";
|
|
55
|
+
const token = tokens.find((each) => each.name === name);
|
|
56
|
+
if (token === undefined) {
|
|
57
|
+
const read = problems.length === 0 ? "" : ` (and the tokens files have problems: ${problems.join("; ")})`;
|
|
58
|
+
return { status: 404, body: { error: `No token "${name}"${read}` } };
|
|
59
|
+
}
|
|
60
|
+
const body = {
|
|
61
|
+
schema: 1,
|
|
62
|
+
token,
|
|
63
|
+
problems,
|
|
64
|
+
clashes: clashes.filter((clash) => clash.name === name)
|
|
65
|
+
};
|
|
66
|
+
return { status: 200, body };
|
|
67
|
+
};
|
|
68
|
+
/** The tokens nearest a value; a question that cannot be answered is an error, never an empty list. */
|
|
69
|
+
const nearestTokenAnswer = ({ tokens, problems, unread, isConfigured }, params) => {
|
|
70
|
+
if (!isConfigured)
|
|
71
|
+
return NO_TOKENS_FILE;
|
|
72
|
+
const value = params.get("value") ?? "";
|
|
73
|
+
if (value === "")
|
|
74
|
+
return { status: 400, body: { error: "No value to compare" } };
|
|
75
|
+
const nearest = nearestTokens(tokens, value, params.get("type") || undefined);
|
|
76
|
+
if (nearest.reason !== undefined)
|
|
77
|
+
return { status: 400, body: { error: nearest.reason } };
|
|
78
|
+
const body = { schema: 1, value, ...nearest, problems: [...unread, ...problems] };
|
|
79
|
+
return { status: 200, body };
|
|
80
|
+
};
|
|
81
|
+
/** The token questions, by the API's path. */
|
|
82
|
+
export const TOKEN_ANSWERS = {
|
|
83
|
+
tokens: tokensAnswer,
|
|
84
|
+
token: tokenAnswer,
|
|
85
|
+
"nearest-token": nearestTokenAnswer
|
|
86
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The tokens two authors name with different values: a catalogue and a library it shows, or two libraries.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* Pure, kept apart from reading the format. One author's files are layers and replace each other on purpose, so only a
|
|
6
|
+
* change of author counts, and the same value from two authors is not a clash: a catalogue that still lists a library's
|
|
7
|
+
* file, or two sources of one package, agree. Each theme is compared with itself: a catalogue giving a dark value to a
|
|
8
|
+
* library's token that has none adds to it and replaces nothing.
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
/** A name two authors give different values. */
|
|
13
|
+
export type TokenClash = {
|
|
14
|
+
/** The token's name. */
|
|
15
|
+
readonly name: string;
|
|
16
|
+
/** The theme the values are in; none for the base. */
|
|
17
|
+
readonly mode?: string;
|
|
18
|
+
/** The file whose value stands, by what problems call it: the last one, so the catalogue's when it names the token. */
|
|
19
|
+
readonly kept: string;
|
|
20
|
+
/** The files it replaced. */
|
|
21
|
+
readonly replaced: readonly string[];
|
|
22
|
+
};
|
|
23
|
+
/** A token as far as a clash reads it. */
|
|
24
|
+
type WrittenToken = {
|
|
25
|
+
/** Its name. */
|
|
26
|
+
readonly name: string;
|
|
27
|
+
/** Its value, as the file writes it. */
|
|
28
|
+
readonly value: unknown;
|
|
29
|
+
/** Its file, by what problems call it. */
|
|
30
|
+
readonly label: string;
|
|
31
|
+
/** The source it comes from; none for the catalogue. */
|
|
32
|
+
readonly source: string | undefined;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* The clashes between files.
|
|
36
|
+
*
|
|
37
|
+
* @param files - each file's theme and tokens, in the order they are read.
|
|
38
|
+
* @returns one clash per name and theme, in the files' order.
|
|
39
|
+
*/
|
|
40
|
+
export declare const tokenClashes: (files: readonly {
|
|
41
|
+
readonly mode: string | undefined;
|
|
42
|
+
readonly raw: readonly WrittenToken[];
|
|
43
|
+
}[]) => TokenClash[];
|
|
44
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The tokens two authors name with different values: a catalogue and a library it shows, or two libraries.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* Pure, kept apart from reading the format. One author's files are layers and replace each other on purpose, so only a
|
|
6
|
+
* change of author counts, and the same value from two authors is not a clash: a catalogue that still lists a library's
|
|
7
|
+
* file, or two sources of one package, agree. Each theme is compared with itself: a catalogue giving a dark value to a
|
|
8
|
+
* library's token that has none adds to it and replaces nothing.
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
/** Each other author's last word on a name, when it differs from the value that stands. */
|
|
13
|
+
const replacedBy = (latest, tokens) => {
|
|
14
|
+
const byAuthor = new Map(tokens.map((token) => [token.source, token]));
|
|
15
|
+
const standing = JSON.stringify(latest.value);
|
|
16
|
+
return [...byAuthor.values()]
|
|
17
|
+
.filter((token) => token.source !== latest.source && JSON.stringify(token.value) !== standing)
|
|
18
|
+
.map((token) => token.label);
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* The clashes between files.
|
|
22
|
+
*
|
|
23
|
+
* @param files - each file's theme and tokens, in the order they are read.
|
|
24
|
+
* @returns one clash per name and theme, in the files' order.
|
|
25
|
+
*/
|
|
26
|
+
export const tokenClashes = (files) => {
|
|
27
|
+
const written = new Map();
|
|
28
|
+
for (const { mode, raw } of files) {
|
|
29
|
+
for (const token of raw) {
|
|
30
|
+
const key = JSON.stringify([mode ?? null, token.name]);
|
|
31
|
+
const known = written.get(key);
|
|
32
|
+
if (known === undefined)
|
|
33
|
+
written.set(key, { name: token.name, mode, tokens: [token] });
|
|
34
|
+
else
|
|
35
|
+
known.tokens.push(token);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return [...written.values()].flatMap(({ name, mode, tokens }) => {
|
|
39
|
+
const latest = tokens.at(-1);
|
|
40
|
+
const replaced = latest === undefined ? [] : replacedBy(latest, tokens);
|
|
41
|
+
if (latest === undefined || replaced.length === 0)
|
|
42
|
+
return [];
|
|
43
|
+
return [{ name, ...(mode === undefined ? {} : { mode }), kept: latest.label, replaced }];
|
|
44
|
+
});
|
|
45
|
+
};
|
|
@@ -20,4 +20,3 @@ export declare const isTypeScriptLanguage: (language: string) => boolean;
|
|
|
20
20
|
* @param language - its fence name (`tsx`, `ts`, `js`, `jsx`…); one outside the family is read as TSX.
|
|
21
21
|
*/
|
|
22
22
|
export declare const typeScriptPieces: (code: string, language: string) => CodePiece[];
|
|
23
|
-
//# sourceMappingURL=typeScriptPieces.d.ts.map
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* the TypeScript compiler's syntactic classifications, for `highlightCode.ts` to colour.
|
|
4
4
|
*
|
|
5
5
|
* @remarks
|
|
6
|
-
*
|
|
7
|
-
* early and the rest of the example
|
|
6
|
+
* The compiler parses JSX as the language defines it: read as HTML, an attribute holding a function or a `>` would end
|
|
7
|
+
* the tag early and leave the rest of the example plain.
|
|
8
8
|
*
|
|
9
9
|
* One language service in syntactic mode, created on the first block and kept: it parses the block alone (no
|
|
10
10
|
* program, no library, no type checker), so a block costs a parse, not a type check. Its classifications tell
|
|
@@ -233,4 +233,3 @@ export const typeScriptPieces = (code, language) => {
|
|
|
233
233
|
push(code.length);
|
|
234
234
|
return pieces;
|
|
235
235
|
};
|
|
236
|
-
//# sourceMappingURL=typeScriptPieces.js.map
|
|
@@ -38,8 +38,13 @@ export type UsageRequestFile = {
|
|
|
38
38
|
/**
|
|
39
39
|
* The facts of a group of story files: what each story renders, and the import graph the rendered components reach.
|
|
40
40
|
*
|
|
41
|
+
* @remarks
|
|
42
|
+
* A monorepo has a configuration per package, and holding every package's whole program at once is what stops a
|
|
43
|
+
* worker: the story files a configuration holds are read together, so a configuration's program is let go with the
|
|
44
|
+
* others the docs no longer keep (`KEPT_PROGRAMS`) once its group is read. An import graph is followed inside the
|
|
45
|
+
* program that holds its start, which holds what that start imports.
|
|
46
|
+
*
|
|
41
47
|
* @param requests - the story files and their stories' exports.
|
|
42
48
|
* @returns the facts, or why a story file's program could not be read.
|
|
43
49
|
*/
|
|
44
50
|
export declare const usageGraph: (requests: readonly UsageRequestFile[]) => UsageGraph | string;
|
|
45
|
-
//# sourceMappingURL=usageGraph.d.ts.map
|