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
|
@@ -1,11 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A catalogue's configuration file read: found in its folder, loaded, checked, and merged with its presets, as the
|
|
3
|
+
* plugin and the `forgebook` command use it.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Node loads the file with its types stripped (`forgebook.config.ts`, `.mts` or `.js`). A preset's switches,
|
|
7
|
+
* languages and head come before the catalogue's, and a switch or language the catalogue declares with the same id
|
|
8
|
+
* replaces the preset's; its preview sits under the catalogue's. Every problem is named with the file it comes from.
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
1
12
|
import type { StoryLanguage } from "@forgebook/story-format/source";
|
|
2
13
|
import type { CatalogueLists } from "../catalogue.ts";
|
|
14
|
+
import type { ForgebookPlugin } from "../plugin.ts";
|
|
3
15
|
import { type ViewSwitch } from "../switches.ts";
|
|
4
16
|
import type { FrameworkAdapter } from "./adapter.ts";
|
|
5
|
-
import type { ForgebookConfig } from "./config.ts";
|
|
17
|
+
import type { BuildOptions, ForgebookConfig } from "./config.ts";
|
|
18
|
+
import { type ResolvedFrames } from "./framesConfig.ts";
|
|
19
|
+
import { type VitePaths } from "./vitePaths.ts";
|
|
6
20
|
/** The names a configuration file may have, in the order they are looked for. */
|
|
7
21
|
export declare const CONFIG_FILES: string[];
|
|
8
|
-
/**
|
|
22
|
+
/**
|
|
23
|
+
* The name the written home has beside the configuration. Prefixed as the preview is, so a `home.md` a project
|
|
24
|
+
* keeps for another reason never replaces the generated home of a catalogue that did not ask for it.
|
|
25
|
+
*/
|
|
26
|
+
export declare const HOME_FILE = "forgebook.home.md";
|
|
27
|
+
/** The shell's look, ready for its page. */
|
|
28
|
+
export type ResolvedShell = {
|
|
29
|
+
/** The theme, as CSS; empty for none. */
|
|
30
|
+
readonly themeCss: string;
|
|
31
|
+
/** What the frames need of the theme, as CSS; empty for none. */
|
|
32
|
+
readonly frameCss: string;
|
|
33
|
+
/** Whether Forgebook's mark stands in for a catalogue without a logo. */
|
|
34
|
+
readonly hasBranding: boolean;
|
|
35
|
+
/** The style sheets it loads after its own, absolute, the presets' first. */
|
|
36
|
+
readonly styleSheets: readonly string[];
|
|
37
|
+
/** What in the theme will not work, for a warning. */
|
|
38
|
+
readonly problems: readonly string[];
|
|
39
|
+
};
|
|
40
|
+
/** A tokens file, its path absolute. */
|
|
41
|
+
export type ResolvedTokensFile = {
|
|
42
|
+
/** The file's absolute path. */
|
|
43
|
+
readonly path: string;
|
|
44
|
+
/** The theme it belongs to; none for the base. */
|
|
45
|
+
readonly mode: string | undefined;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* A configuration ready for the pages: its folder, its presets merged, its paths absolute and in Vite's form (forward
|
|
49
|
+
* slashes on every system, `vitePaths.ts`), so they compare with Vite's ids and can be written into generated code.
|
|
50
|
+
*/
|
|
9
51
|
export type ResolvedConfig = {
|
|
10
52
|
/** The folder the configuration file is in: Vite's root. */
|
|
11
53
|
readonly dir: string;
|
|
@@ -13,12 +55,16 @@ export type ResolvedConfig = {
|
|
|
13
55
|
readonly framework: FrameworkAdapter;
|
|
14
56
|
/** The catalogue's name. */
|
|
15
57
|
readonly title: string;
|
|
16
|
-
/** The logo's absolute path; none for Forgebook's own mark. */
|
|
58
|
+
/** The logo's absolute path; none for Forgebook's own mark, or the title alone without branding. */
|
|
17
59
|
readonly logo: string | undefined;
|
|
18
60
|
/** The heights file's address, relative to the pages. */
|
|
19
61
|
readonly heights: string | undefined;
|
|
20
62
|
/** The project's own story globs, from the configuration's folder. */
|
|
21
63
|
readonly stories: readonly string[];
|
|
64
|
+
/** The project's own docs pages' globs, from the configuration's folder. */
|
|
65
|
+
readonly docs: readonly string[];
|
|
66
|
+
/** The written home's absolute path; none for the generated home. */
|
|
67
|
+
readonly home: string | undefined;
|
|
22
68
|
/** The sources' module specifiers. */
|
|
23
69
|
readonly sources: readonly string[];
|
|
24
70
|
/** The switches, the presets' and the catalogue's merged; none when neither declares any. */
|
|
@@ -29,12 +75,22 @@ export type ResolvedConfig = {
|
|
|
29
75
|
readonly previews: readonly string[];
|
|
30
76
|
/** The tags for every frame's `<head>`. */
|
|
31
77
|
readonly head: string;
|
|
78
|
+
/** The shell's look, the presets' and the catalogue's merged. */
|
|
79
|
+
readonly shell: ResolvedShell;
|
|
80
|
+
/** The tokens files, absolute, the base first. */
|
|
81
|
+
readonly tokens: readonly ResolvedTokensFile[];
|
|
32
82
|
/** The folders the dev server watches for new story files, absolute. */
|
|
33
83
|
readonly watch: readonly string[];
|
|
34
84
|
/** The lists (widths, backgrounds, story groups…), the presets' and the catalogue's merged. */
|
|
35
85
|
readonly lists: CatalogueLists;
|
|
36
86
|
/** Whether the project installs Testing Library, whose `canvas` and `userEvent` every play then receives. */
|
|
37
87
|
readonly hasPlayTools: boolean;
|
|
88
|
+
/** The plugins, checked, in the configuration's order. */
|
|
89
|
+
readonly plugins: readonly ForgebookPlugin[];
|
|
90
|
+
/** Where the stories' frames run. */
|
|
91
|
+
readonly frames: ResolvedFrames;
|
|
92
|
+
/** How `forgebook build` writes the catalogue, every option given its default. */
|
|
93
|
+
readonly build: Required<BuildOptions>;
|
|
38
94
|
};
|
|
39
95
|
/** The packages of the play tools: both installed, or the plays get neither. */
|
|
40
96
|
export declare const PLAY_TOOLS_PACKAGES: readonly ["@testing-library/dom", "@testing-library/user-event"];
|
|
@@ -53,20 +109,22 @@ export declare const findConfigFile: (dir: string) => string | undefined;
|
|
|
53
109
|
/**
|
|
54
110
|
* The lists of the presets and the catalogue, in that order, merged: a single value (a width range, the grid's step)
|
|
55
111
|
* the last that gives one; the backgrounds, the story groups and the texts entry by entry, a later one replacing an
|
|
56
|
-
* earlier one with the same id or name; the tabs, the controls and the rules turned off by any
|
|
57
|
-
*
|
|
112
|
+
* earlier one with the same id or name; the tabs, the controls and the rules turned off by any, and the accessibility
|
|
113
|
+
* check too (`a11y: false`); the toolbar, the prop groups' order, where the required props go and whether the
|
|
114
|
+
* component docs are read the last that names one; the device field by field.
|
|
58
115
|
*
|
|
59
116
|
* @param all - the presets' lists, then the catalogue's.
|
|
60
117
|
*/
|
|
61
118
|
export declare const mergedLists: (all: readonly CatalogueLists[]) => CatalogueLists;
|
|
62
119
|
/**
|
|
63
|
-
* A configuration with its presets merged and its paths made absolute.
|
|
120
|
+
* A configuration with its presets merged and its paths made absolute, in Vite's form.
|
|
64
121
|
*
|
|
65
122
|
* @param config - the configuration.
|
|
66
|
-
* @param
|
|
123
|
+
* @param fileDir - the folder of its file.
|
|
124
|
+
* @param paths - the path functions; the running system's unless a test names another.
|
|
67
125
|
* @throws when the merged switches cannot be used.
|
|
68
126
|
*/
|
|
69
|
-
export declare const resolveConfig: (config: ForgebookConfig,
|
|
127
|
+
export declare const resolveConfig: (config: ForgebookConfig, fileDir: string, paths?: VitePaths) => ResolvedConfig;
|
|
70
128
|
/**
|
|
71
129
|
* Loads a configuration file and resolves it.
|
|
72
130
|
*
|
|
@@ -74,4 +132,3 @@ export declare const resolveConfig: (config: ForgebookConfig, dir: string) => Re
|
|
|
74
132
|
* @throws when the file does not load, or exports no usable configuration.
|
|
75
133
|
*/
|
|
76
134
|
export declare const loadConfigFile: (file: string) => Promise<ResolvedConfig>;
|
|
77
|
-
//# sourceMappingURL=configFile.d.ts.map
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
2
|
-
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
3
|
-
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
4
|
-
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
5
|
-
});
|
|
6
|
-
}
|
|
7
|
-
return path;
|
|
8
|
-
};
|
|
9
1
|
/**
|
|
10
2
|
* A catalogue's configuration file read: found in its folder, loaded, checked, and merged with its presets, as the
|
|
11
3
|
* plugin and the `forgebook` command use it.
|
|
@@ -17,13 +9,35 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
17
9
|
*
|
|
18
10
|
* @module
|
|
19
11
|
*/
|
|
20
|
-
|
|
12
|
+
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
13
|
+
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
14
|
+
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
15
|
+
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return path;
|
|
19
|
+
};
|
|
20
|
+
import { existsSync, statSync } from "node:fs";
|
|
21
21
|
import { createRequire } from "node:module";
|
|
22
|
-
import { dirname,
|
|
22
|
+
import { dirname, resolve } from "node:path";
|
|
23
23
|
import { pathToFileURL } from "node:url";
|
|
24
|
+
import { AUDIENCE_IDS } from "../audiences.js";
|
|
25
|
+
import { deviceSettingProblem } from "../deviceView.js";
|
|
26
|
+
import { REQUIRED_FIRST_LAYOUTS } from "../propGroups.js";
|
|
27
|
+
import { frameThemeCss, mergedThemes, shellThemeCss, shellThemeProblems, themeValueProblem } from "../shellTheme.js";
|
|
24
28
|
import { switchesProblem } from "../switches.js";
|
|
29
|
+
import { framesProblem, resolvedFrames } from "./framesConfig.js";
|
|
30
|
+
import { pluginsProblem, withPluginSwitches } from "./pluginConfig.js";
|
|
31
|
+
import { patternsProblem } from "./storyPatterns.js";
|
|
32
|
+
import { tokenThemeOf } from "./themeFromTokens.js";
|
|
33
|
+
import { VITE_PATHS } from "./vitePaths.js";
|
|
25
34
|
/** The names a configuration file may have, in the order they are looked for. */
|
|
26
35
|
export const CONFIG_FILES = ["forgebook.config.ts", "forgebook.config.mts", "forgebook.config.js"];
|
|
36
|
+
/**
|
|
37
|
+
* The name the written home has beside the configuration. Prefixed as the preview is, so a `home.md` a project
|
|
38
|
+
* keeps for another reason never replaces the generated home of a catalogue that did not ask for it.
|
|
39
|
+
*/
|
|
40
|
+
export const HOME_FILE = "forgebook.home.md";
|
|
27
41
|
/** The names a preview may have beside the configuration, in the order they are looked for. */
|
|
28
42
|
const PREVIEW_FILES = ["forgebook.preview.ts", "forgebook.preview.tsx", "forgebook.preview.js"];
|
|
29
43
|
/** The packages of the play tools: both installed, or the plays get neither. */
|
|
@@ -84,13 +98,18 @@ const singleValues = (lists) => ({
|
|
|
84
98
|
...(lists.gridStep === undefined ? {} : { gridStep: lists.gridStep }),
|
|
85
99
|
...(lists.toolbar === undefined ? {} : { toolbar: lists.toolbar }),
|
|
86
100
|
...(lists.usedIn === undefined ? {} : { usedIn: lists.usedIn }),
|
|
87
|
-
...(lists.
|
|
101
|
+
...(lists.componentDocs === undefined ? {} : { componentDocs: lists.componentDocs }),
|
|
102
|
+
...(lists.audience === undefined ? {} : { audience: lists.audience }),
|
|
103
|
+
...(lists.appearance === undefined ? {} : { appearance: lists.appearance }),
|
|
104
|
+
...(lists.propGroups === undefined ? {} : { propGroups: lists.propGroups }),
|
|
105
|
+
...(lists.requiredFirst === undefined ? {} : { requiredFirst: lists.requiredFirst })
|
|
88
106
|
});
|
|
89
107
|
/**
|
|
90
108
|
* The lists of the presets and the catalogue, in that order, merged: a single value (a width range, the grid's step)
|
|
91
109
|
* the last that gives one; the backgrounds, the story groups and the texts entry by entry, a later one replacing an
|
|
92
|
-
* earlier one with the same id or name; the tabs, the controls and the rules turned off by any
|
|
93
|
-
*
|
|
110
|
+
* earlier one with the same id or name; the tabs, the controls and the rules turned off by any, and the accessibility
|
|
111
|
+
* check too (`a11y: false`); the toolbar, the prop groups' order, where the required props go and whether the
|
|
112
|
+
* component docs are read the last that names one; the device field by field.
|
|
94
113
|
*
|
|
95
114
|
* @param all - the presets' lists, then the catalogue's.
|
|
96
115
|
*/
|
|
@@ -100,7 +119,11 @@ export const mergedLists = (all) => {
|
|
|
100
119
|
const strings = {};
|
|
101
120
|
const keys = {};
|
|
102
121
|
let merged = {};
|
|
122
|
+
// the device field by field, as a story's lies over its meta's: a preset's model stays under a catalogue's frame
|
|
123
|
+
let device;
|
|
103
124
|
for (const lists of all) {
|
|
125
|
+
if (lists.device !== undefined)
|
|
126
|
+
device = { ...device, ...lists.device };
|
|
104
127
|
Object.assign(tabs, lists.tabs);
|
|
105
128
|
Object.assign(controls, lists.controls);
|
|
106
129
|
Object.assign(strings, lists.strings);
|
|
@@ -108,9 +131,11 @@ export const mergedLists = (all) => {
|
|
|
108
131
|
merged = { ...merged, ...singleValues(lists) };
|
|
109
132
|
}
|
|
110
133
|
const builtIn = all.findLast((lists) => lists.backgrounds?.builtIn !== undefined)?.backgrounds?.builtIn;
|
|
111
|
-
const
|
|
134
|
+
const rules = all.flatMap((lists) => lists.a11y === undefined || lists.a11y === false ? [] : [lists.a11y]);
|
|
135
|
+
const tags = rules.findLast((each) => each.tags !== undefined)?.tags;
|
|
112
136
|
return {
|
|
113
137
|
...merged,
|
|
138
|
+
...(device === undefined ? {} : { device }),
|
|
114
139
|
backgrounds: {
|
|
115
140
|
...(builtIn === undefined ? {} : { builtIn }),
|
|
116
141
|
custom: mergedById(all.map((lists) => lists.backgrounds?.custom))
|
|
@@ -118,16 +143,36 @@ export const mergedLists = (all) => {
|
|
|
118
143
|
storyGroups: mergedById(all.map((lists) => lists.storyGroups)),
|
|
119
144
|
tabs,
|
|
120
145
|
controls,
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
146
|
+
// a check one list turns off stays off, as a tab does: a preset's library may have no use for it
|
|
147
|
+
a11y: all.some((lists) => lists.a11y === false)
|
|
148
|
+
? false
|
|
149
|
+
: {
|
|
150
|
+
...(tags === undefined ? {} : { tags }),
|
|
151
|
+
disabledRules: [...new Set(rules.flatMap((each) => each.disabledRules ?? []))]
|
|
152
|
+
},
|
|
125
153
|
strings,
|
|
126
154
|
keys,
|
|
127
155
|
// a later list's view of the same name replaces an earlier one's, where it was
|
|
128
156
|
views: [...new Map(all.flatMap((lists) => lists.views ?? []).map((view) => [view.name, view])).values()]
|
|
129
157
|
};
|
|
130
158
|
};
|
|
159
|
+
/** Whether a configuration's list has something in it. */
|
|
160
|
+
const isListed = (config, key) => {
|
|
161
|
+
const list = Reflect.get(config, key);
|
|
162
|
+
return Array.isArray(list) && list.length > 0;
|
|
163
|
+
};
|
|
164
|
+
/**
|
|
165
|
+
* Why a configuration's list of globs lists nothing by construction (only `!` patterns), or none.
|
|
166
|
+
*
|
|
167
|
+
* @param config - what the file exports by default.
|
|
168
|
+
* @param key - the list's key.
|
|
169
|
+
*/
|
|
170
|
+
const globsProblem = (config, key) => {
|
|
171
|
+
const list = Reflect.get(config, key);
|
|
172
|
+
return Array.isArray(list)
|
|
173
|
+
? patternsProblem(list.filter((item) => typeof item === "string"))
|
|
174
|
+
: undefined;
|
|
175
|
+
};
|
|
131
176
|
/**
|
|
132
177
|
* Why a loaded configuration cannot be used, or none.
|
|
133
178
|
*
|
|
@@ -140,11 +185,19 @@ const configProblem = (config) => {
|
|
|
140
185
|
return "it names no framework (`framework: react()`)";
|
|
141
186
|
if (!("title" in config) || typeof config.title !== "string")
|
|
142
187
|
return "it names no title";
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
188
|
+
if ("home" in config &&
|
|
189
|
+
config.home !== undefined &&
|
|
190
|
+
config.home !== false &&
|
|
191
|
+
typeof config.home !== "string")
|
|
192
|
+
return 'its home is neither a path (`home: "docs/home.md"`) nor false';
|
|
193
|
+
if (!["stories", "sources", "docs"].some((key) => isListed(config, key)))
|
|
146
194
|
return 'it names no stories (`stories: ["src/**/*.stories.tsx"]`) and no sources';
|
|
147
|
-
|
|
195
|
+
for (const key of ["stories", "docs"]) {
|
|
196
|
+
const problem = globsProblem(config, key);
|
|
197
|
+
if (problem !== undefined)
|
|
198
|
+
return `its ${key} list nothing: ${problem}`;
|
|
199
|
+
}
|
|
200
|
+
return framesProblem("frames" in config ? config.frames : undefined);
|
|
148
201
|
};
|
|
149
202
|
/**
|
|
150
203
|
* Whether a loaded configuration is one: checked by `configProblem`.
|
|
@@ -152,44 +205,195 @@ const configProblem = (config) => {
|
|
|
152
205
|
* @param config - what the file exports by default.
|
|
153
206
|
*/
|
|
154
207
|
const isConfig = (config) => configProblem(config) === undefined;
|
|
208
|
+
/** The fields of a device setting, by name, and the type each is written in. */
|
|
209
|
+
const DEVICE_FIELDS = {
|
|
210
|
+
frame: "boolean",
|
|
211
|
+
model: "string",
|
|
212
|
+
orientation: "string",
|
|
213
|
+
touch: "boolean",
|
|
214
|
+
edgeToEdge: "boolean"
|
|
215
|
+
};
|
|
216
|
+
/**
|
|
217
|
+
* Why a device setting cannot be used, or none: not an object of `frame`, `model`, `orientation` and `touch`, a field
|
|
218
|
+
* of another type, or a model or an orientation that is none. A configuration is code, so its types are not a
|
|
219
|
+
* promise.
|
|
220
|
+
*
|
|
221
|
+
* @param device - the setting as a configuration or a preset gives it.
|
|
222
|
+
*/
|
|
223
|
+
const deviceProblem = (device) => {
|
|
224
|
+
if (typeof device !== "object" || device === null || Array.isArray(device))
|
|
225
|
+
return 'write it as an object: { frame: true, model: "iphone-16" }';
|
|
226
|
+
for (const [name, value] of Object.entries(device)) {
|
|
227
|
+
const type = DEVICE_FIELDS[name];
|
|
228
|
+
if (type === undefined)
|
|
229
|
+
return `it has no field "${name}": it takes ${Object.keys(DEVICE_FIELDS).join(", ")}`;
|
|
230
|
+
if (value !== undefined && typeof value !== type)
|
|
231
|
+
return `its ${name} must be ${type === "boolean" ? "true or false" : "a text"}`;
|
|
232
|
+
}
|
|
233
|
+
const model = Reflect.get(device, "model");
|
|
234
|
+
const orientation = Reflect.get(device, "orientation");
|
|
235
|
+
return deviceSettingProblem({
|
|
236
|
+
...(typeof model === "string" ? { model } : {}),
|
|
237
|
+
...(typeof orientation === "string" ? { orientation } : {})
|
|
238
|
+
});
|
|
239
|
+
};
|
|
240
|
+
/**
|
|
241
|
+
* The configuration's and the presets' lists, once checked where the shell would leave a mistake out: a device that
|
|
242
|
+
* cannot be used, a place for the required props that is none, an accessibility setting that is neither rules nor
|
|
243
|
+
* `false`.
|
|
244
|
+
*
|
|
245
|
+
* @param all - the presets' lists, then the configuration's.
|
|
246
|
+
* @param dir - the configuration's folder, for the message.
|
|
247
|
+
* @throws when a device cannot be used, `requiredFirst` is none of its layouts, or `a11y` is neither rules nor
|
|
248
|
+
* `false`.
|
|
249
|
+
*/
|
|
250
|
+
const checkedLists = (all, dir) => {
|
|
251
|
+
for (const lists of all) {
|
|
252
|
+
const problem = lists.device === undefined ? undefined : deviceProblem(lists.device);
|
|
253
|
+
if (problem !== undefined)
|
|
254
|
+
throw new Error(`${resolve(dir, "forgebook.config")}: Forgebook's device: ${problem}`);
|
|
255
|
+
// a configuration is written by JavaScript too, which no type stops
|
|
256
|
+
if (lists.requiredFirst !== undefined && !REQUIRED_FIRST_LAYOUTS.includes(lists.requiredFirst))
|
|
257
|
+
throw new Error(`${resolve(dir, "forgebook.config")}: requiredFirst is ${typeof lists.requiredFirst === "string" ? `"${lists.requiredFirst}"` : String(lists.requiredFirst)}, none of "in-groups", "section" and false`);
|
|
258
|
+
const a11y = lists.a11y;
|
|
259
|
+
if (a11y !== undefined &&
|
|
260
|
+
a11y !== false &&
|
|
261
|
+
(typeof a11y !== "object" || a11y === null || Array.isArray(a11y)))
|
|
262
|
+
throw new Error(`${resolve(dir, "forgebook.config")}: a11y is ${String(a11y)}: write its rules ({ tags, disabledRules }), or false to check nothing`);
|
|
263
|
+
}
|
|
264
|
+
return all;
|
|
265
|
+
};
|
|
266
|
+
/**
|
|
267
|
+
* Why the merged lists ask for what cannot be, or none: an audience that is none of the ids (the page reads it as one,
|
|
268
|
+
* and a configuration is written by JavaScript too, which no type stops), or "Used in" turned on with the component
|
|
269
|
+
* docs off, whose TypeScript programs read the import graph it is joined from.
|
|
270
|
+
*
|
|
271
|
+
* @param lists - the presets' lists and the configuration's, merged.
|
|
272
|
+
*/
|
|
273
|
+
const mergedListsProblem = (lists) => {
|
|
274
|
+
if (lists.audience !== undefined && !AUDIENCE_IDS.includes(lists.audience))
|
|
275
|
+
return `the audience "${lists.audience}" is none of ${AUDIENCE_IDS.join(", ")}`;
|
|
276
|
+
if (lists.usedIn === true && lists.componentDocs === false)
|
|
277
|
+
return "usedIn is true with componentDocs false: Used in reads the import graph with the programs componentDocs turns off";
|
|
278
|
+
return undefined;
|
|
279
|
+
};
|
|
280
|
+
/** What a catalogue shows: its own stories and docs pages, and the sources; none where it names none. */
|
|
281
|
+
const shownFiles = (config) => ({
|
|
282
|
+
stories: config.stories ?? [],
|
|
283
|
+
docs: config.docs ?? [],
|
|
284
|
+
sources: config.sources ?? []
|
|
285
|
+
});
|
|
286
|
+
/**
|
|
287
|
+
* The written home's absolute path: the configuration's `home`, else `forgebook.home.md` beside it when there; none
|
|
288
|
+
* with `home: false`.
|
|
289
|
+
*
|
|
290
|
+
* @param config - the configuration.
|
|
291
|
+
* @param dir - the folder of its file.
|
|
292
|
+
* @throws when the configuration names a home that is not there.
|
|
293
|
+
*/
|
|
294
|
+
const homeOf = (config, dir) => {
|
|
295
|
+
if (config.home === false)
|
|
296
|
+
return undefined;
|
|
297
|
+
if (config.home === undefined) {
|
|
298
|
+
const beside = VITE_PATHS.join(dir, HOME_FILE);
|
|
299
|
+
return existsSync(beside) ? beside : undefined;
|
|
300
|
+
}
|
|
301
|
+
const home = VITE_PATHS.resolve(dir, config.home);
|
|
302
|
+
if (!existsSync(home) || !statSync(home).isFile())
|
|
303
|
+
throw new Error(`${resolve(dir, "forgebook.config")}: its home "${config.home}" is not a file there`);
|
|
304
|
+
return home;
|
|
305
|
+
};
|
|
155
306
|
/**
|
|
156
|
-
* A configuration
|
|
307
|
+
* A configuration's plugins, once they can be used.
|
|
157
308
|
*
|
|
158
309
|
* @param config - the configuration.
|
|
159
310
|
* @param dir - the folder of its file.
|
|
311
|
+
* @throws when they cannot.
|
|
312
|
+
*/
|
|
313
|
+
const checkedPlugins = (config, dir) => {
|
|
314
|
+
const plugins = config.plugins ?? [];
|
|
315
|
+
const problem = pluginsProblem(plugins, config.framework.name, dir);
|
|
316
|
+
if (problem !== undefined)
|
|
317
|
+
throw new Error(`${resolve(dir, "forgebook.config")}: ${problem}`);
|
|
318
|
+
return plugins;
|
|
319
|
+
};
|
|
320
|
+
/**
|
|
321
|
+
* Whether Forgebook's mark may stand in for a logo: on, unless the last that says so turns it off.
|
|
322
|
+
*
|
|
323
|
+
* @param all - the presets, then the catalogue.
|
|
324
|
+
*/
|
|
325
|
+
const hasBrandingIn = (all) => all.findLast((each) => each.shell?.branding !== undefined)?.shell?.branding !== false;
|
|
326
|
+
/**
|
|
327
|
+
* A configuration with its presets merged and its paths made absolute, in Vite's form.
|
|
328
|
+
*
|
|
329
|
+
* @param config - the configuration.
|
|
330
|
+
* @param fileDir - the folder of its file.
|
|
331
|
+
* @param paths - the path functions; the running system's unless a test names another.
|
|
160
332
|
* @throws when the merged switches cannot be used.
|
|
161
333
|
*/
|
|
162
|
-
export const resolveConfig = (config,
|
|
334
|
+
export const resolveConfig = (config, fileDir, paths = VITE_PATHS) => {
|
|
163
335
|
const presets = config.presets ?? [];
|
|
164
|
-
const
|
|
336
|
+
const dir = paths.normalize(fileDir);
|
|
337
|
+
const absolute = (path) => paths.resolve(dir, path);
|
|
338
|
+
// a preset's preview and style sheet are absolute paths (its own files) or a package's specifier, kept as written
|
|
339
|
+
const ownPath = (path) => (paths.isAbsolute(path) ? paths.normalize(path) : path);
|
|
165
340
|
const declared = [...presets.map((preset) => preset.switches), config.switches];
|
|
166
|
-
const
|
|
341
|
+
const plugins = checkedPlugins(config, dir);
|
|
342
|
+
const switches = withPluginSwitches(declared.some((list) => list !== undefined) ? mergedById(declared) : undefined, plugins);
|
|
167
343
|
const problem = switches === undefined ? undefined : switchesProblem(switches);
|
|
168
344
|
if (problem !== undefined)
|
|
169
345
|
throw new Error(`${resolve(dir, "forgebook.config")}: ${problem}`);
|
|
346
|
+
const declaredThemes = [...presets.map((preset) => preset.shell?.theme ?? {}), config.shell?.theme ?? {}];
|
|
347
|
+
const tokens = (config.tokens ?? []).map((each) => typeof each === "string"
|
|
348
|
+
? { path: absolute(each), mode: undefined }
|
|
349
|
+
: { path: absolute(each.file), mode: each.mode });
|
|
350
|
+
const fromTokens = Object.assign({}, ...declaredThemes.map((each) => each.fromTokens));
|
|
351
|
+
const tokenThemed = tokenThemeOf(fromTokens, tokens, dir);
|
|
352
|
+
const theme = mergedThemes([tokenThemed.theme, ...declaredThemes]);
|
|
353
|
+
const lists = mergedLists(checkedLists([...presets, config], dir));
|
|
354
|
+
const listsProblem = mergedListsProblem(lists);
|
|
355
|
+
if (listsProblem !== undefined)
|
|
356
|
+
throw new Error(`${resolve(dir, "forgebook.config")}: ${listsProblem}`);
|
|
357
|
+
const themeProblem = themeValueProblem(theme);
|
|
358
|
+
if (themeProblem !== undefined)
|
|
359
|
+
throw new Error(`${resolve(dir, "forgebook.config")}: ${themeProblem}`);
|
|
170
360
|
const ownPreview = config.preview === undefined
|
|
171
|
-
? PREVIEW_FILES.map((name) =>
|
|
361
|
+
? PREVIEW_FILES.map((name) => paths.join(dir, name)).find((file) => existsSync(file))
|
|
172
362
|
: absolute(config.preview);
|
|
173
363
|
return {
|
|
174
364
|
dir,
|
|
175
365
|
framework: config.framework,
|
|
176
366
|
title: config.title,
|
|
367
|
+
home: homeOf(config, dir),
|
|
177
368
|
logo: config.logo === undefined ? undefined : absolute(config.logo),
|
|
178
369
|
heights: config.heights,
|
|
179
|
-
|
|
180
|
-
sources: config.sources ?? [],
|
|
370
|
+
...shownFiles(config),
|
|
181
371
|
switches,
|
|
182
372
|
languages: mergedById([...presets.map((preset) => preset.languages), config.languages]),
|
|
183
373
|
previews: [
|
|
184
|
-
...presets.flatMap((preset) => (preset.preview === undefined ? [] : [preset.preview])),
|
|
374
|
+
...presets.flatMap((preset) => (preset.preview === undefined ? [] : [ownPath(preset.preview)])),
|
|
185
375
|
...(ownPreview === undefined ? [] : [ownPreview])
|
|
186
376
|
],
|
|
187
377
|
head: [...presets.map((preset) => preset.head ?? ""), config.head ?? ""]
|
|
188
378
|
.filter((tags) => tags !== "")
|
|
189
379
|
.join("\n"),
|
|
380
|
+
shell: {
|
|
381
|
+
themeCss: shellThemeCss(theme),
|
|
382
|
+
frameCss: frameThemeCss(theme),
|
|
383
|
+
hasBranding: hasBrandingIn([...presets, config]),
|
|
384
|
+
styleSheets: [
|
|
385
|
+
...presets.flatMap((preset) => (preset.shell?.css === undefined ? [] : [ownPath(preset.shell.css)])),
|
|
386
|
+
...(config.shell?.css === undefined ? [] : [absolute(config.shell.css)])
|
|
387
|
+
],
|
|
388
|
+
problems: [...tokenThemed.problems, ...shellThemeProblems(theme)]
|
|
389
|
+
},
|
|
390
|
+
tokens,
|
|
190
391
|
watch: (config.watch ?? []).map(absolute),
|
|
191
|
-
lists
|
|
192
|
-
hasPlayTools: hasPlayToolsIn(dir)
|
|
392
|
+
lists,
|
|
393
|
+
hasPlayTools: hasPlayToolsIn(dir),
|
|
394
|
+
plugins,
|
|
395
|
+
frames: resolvedFrames(config.frames),
|
|
396
|
+
build: { readableNames: config.build?.readableNames === true }
|
|
193
397
|
};
|
|
194
398
|
};
|
|
195
399
|
/**
|
|
@@ -205,4 +409,3 @@ export const loadConfigFile = async (file) => {
|
|
|
205
409
|
throw new Error(`${file}: ${configProblem(config) ?? "it cannot be read"}`);
|
|
206
410
|
return resolveConfig(config, dirname(file));
|
|
207
411
|
};
|
|
208
|
-
//# sourceMappingURL=configFile.js.map
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Design tokens read from DTCG files (the Design Tokens Format, 2025.10): a flat list with references followed and
|
|
3
|
+
* themes applied, every value as CSS writes it.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Pure: parsed JSON in, tokens out. The format has no themes of its own, so a theme is a file of its own read over the
|
|
7
|
+
* base (`tokens: ["tokens.json", { file: "dark.json", mode: "dark" }]`). References are followed over base and theme
|
|
8
|
+
* together: a theme can alias the base, and a base alias follows what a theme overrides, which is why semantic tokens
|
|
9
|
+
* over a palette change with the theme at all. That is why files are collected first and resolved only once all are
|
|
10
|
+
* known. A token that cannot be used is named in `problems` with its file, and the others stay usable: nothing vanishes
|
|
11
|
+
* in silence, since a token an agent cannot find is a colour it writes by hand.
|
|
12
|
+
*
|
|
13
|
+
* Files of a catalogue's sources are read before its own, so its aliases reach a library's palette and a later file
|
|
14
|
+
* replaces an earlier one's token. Within one author's files that is plain layering; between authors it is a clash,
|
|
15
|
+
* reported and never refused: the catalogue is what puts the libraries together, so its value is the one in use.
|
|
16
|
+
*
|
|
17
|
+
* @module
|
|
18
|
+
*/
|
|
19
|
+
import { type TokenClash } from "./tokenClashes.ts";
|
|
20
|
+
/** A token, ready to read. */
|
|
21
|
+
export type DesignToken = {
|
|
22
|
+
/** Its name, the groups joined by dots (`color.brand.primary`). */
|
|
23
|
+
readonly name: string;
|
|
24
|
+
/** Its type (`color`, `dimension`…). */
|
|
25
|
+
readonly type: string;
|
|
26
|
+
/** Its value, as CSS writes it; the first theme's when only themes define it. */
|
|
27
|
+
readonly value: string;
|
|
28
|
+
/** The token it is an alias of. */
|
|
29
|
+
readonly alias?: string;
|
|
30
|
+
/** What it is for. */
|
|
31
|
+
readonly description?: string;
|
|
32
|
+
/** Why not to use it, when it is deprecated. */
|
|
33
|
+
readonly deprecated?: string;
|
|
34
|
+
/** Its value in each theme where it differs, by theme. */
|
|
35
|
+
readonly modes: Readonly<Record<string, string>>;
|
|
36
|
+
/** Whether only themes define it, so `value` does not hold everywhere. */
|
|
37
|
+
readonly isThemeOnly?: true;
|
|
38
|
+
/** The source that gives it, by its id or, when it writes none, by its module; none for the catalogue's own. */
|
|
39
|
+
readonly source?: string;
|
|
40
|
+
};
|
|
41
|
+
/** What the files gave. */
|
|
42
|
+
export type ParsedTokens = {
|
|
43
|
+
/** The tokens that can be used, in the files' order. */
|
|
44
|
+
readonly tokens: readonly DesignToken[];
|
|
45
|
+
/** What could not be used, one line each, naming its file. */
|
|
46
|
+
readonly problems: readonly string[];
|
|
47
|
+
/** The names two authors give different values, with whose stands. */
|
|
48
|
+
readonly clashes: readonly TokenClash[];
|
|
49
|
+
};
|
|
50
|
+
/** A tokens file, parsed. */
|
|
51
|
+
export type TokensInput = {
|
|
52
|
+
/** What a problem calls it: its name in the configuration. */
|
|
53
|
+
readonly label: string;
|
|
54
|
+
/** The theme; none for the base. */
|
|
55
|
+
readonly mode: string | undefined;
|
|
56
|
+
/** The file's content. */
|
|
57
|
+
readonly file: unknown;
|
|
58
|
+
/** The source it comes from; none for the catalogue's own. */
|
|
59
|
+
readonly source?: string;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Reads the files of a catalogue: the base first, then each theme over it. A theme gives a token a value when it names
|
|
63
|
+
* the token, or when a reference brings it a different one. The files of one theme are one layer, the later replacing,
|
|
64
|
+
* so a catalogue's dark file reaches what a library's dark file sets.
|
|
65
|
+
*
|
|
66
|
+
* @param inputs - the files: each source's in the catalogue's order, then the catalogue's own.
|
|
67
|
+
*/
|
|
68
|
+
export declare const readTokens: (inputs: readonly TokensInput[]) => ParsedTokens;
|
|
69
|
+
/**
|
|
70
|
+
* The tokens of a category: a type (`color`), or a first group (`space`).
|
|
71
|
+
*
|
|
72
|
+
* @param tokens - the tokens.
|
|
73
|
+
* @param category - the category; none for all of them.
|
|
74
|
+
*/
|
|
75
|
+
export declare const filteredTokens: (tokens: readonly DesignToken[], category: string | undefined) => DesignToken[];
|