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,31 @@
|
|
|
1
|
+
import type { PreviewTexts } from "./previewTexts.ts";
|
|
2
|
+
/** What the page is given when it is written. */
|
|
3
|
+
export type PreviewViewOptions = {
|
|
4
|
+
/** Its words. */
|
|
5
|
+
readonly texts: PreviewTexts;
|
|
6
|
+
/** Forgebook's version, which it names to the host. */
|
|
7
|
+
readonly version: string;
|
|
8
|
+
/** The MCP Apps version it speaks. */
|
|
9
|
+
readonly protocolVersion: string;
|
|
10
|
+
/** The tool that takes the picture. */
|
|
11
|
+
readonly shotTool: string;
|
|
12
|
+
/** How long a story may stay silent before its picture is asked for, in ms. */
|
|
13
|
+
readonly silenceMs: number;
|
|
14
|
+
/** The class of a frame still loading, which the style sheet keeps out of sight. */
|
|
15
|
+
readonly loadingClass: string;
|
|
16
|
+
};
|
|
17
|
+
/** The ids of the elements `previewPages.ts` writes, which the page fills. */
|
|
18
|
+
export declare const PREVIEW_ELEMENTS: {
|
|
19
|
+
readonly title: "story";
|
|
20
|
+
readonly open: "open";
|
|
21
|
+
readonly status: "status";
|
|
22
|
+
readonly frame: "frame";
|
|
23
|
+
readonly picture: "picture";
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Runs the page.
|
|
27
|
+
*
|
|
28
|
+
* @param options - what it is given.
|
|
29
|
+
* @param elements - the ids of its elements.
|
|
30
|
+
*/
|
|
31
|
+
export declare const previewView: (options: PreviewViewOptions, elements: typeof PREVIEW_ELEMENTS) => void;
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
/** The ids of the elements `previewPages.ts` writes, which the page fills. */
|
|
2
|
+
export const PREVIEW_ELEMENTS = {
|
|
3
|
+
title: "story",
|
|
4
|
+
open: "open",
|
|
5
|
+
status: "status",
|
|
6
|
+
frame: "frame",
|
|
7
|
+
picture: "picture"
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Runs the page.
|
|
11
|
+
*
|
|
12
|
+
* @param options - what it is given.
|
|
13
|
+
* @param elements - the ids of its elements.
|
|
14
|
+
*/
|
|
15
|
+
export const previewView = (options, elements) => {
|
|
16
|
+
const { texts } = options;
|
|
17
|
+
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
18
|
+
const textOf = (value) => typeof value === "string" && value !== "" ? value : undefined;
|
|
19
|
+
const required = (id, type) => {
|
|
20
|
+
const found = document.getElementById(id);
|
|
21
|
+
if (!(found instanceof type))
|
|
22
|
+
throw new Error(`The page has no ${id}`);
|
|
23
|
+
return found;
|
|
24
|
+
};
|
|
25
|
+
const title = required(elements.title, HTMLElement);
|
|
26
|
+
const open = required(elements.open, HTMLButtonElement);
|
|
27
|
+
const status = required(elements.status, HTMLElement);
|
|
28
|
+
const frame = required(elements.frame, HTMLIFrameElement);
|
|
29
|
+
const picture = required(elements.picture, HTMLImageElement);
|
|
30
|
+
/* the host's side of the conversation */
|
|
31
|
+
let lastId = 0;
|
|
32
|
+
const waiting = new Map();
|
|
33
|
+
const post = (message) => {
|
|
34
|
+
window.parent.postMessage({ jsonrpc: "2.0", ...message }, "*");
|
|
35
|
+
};
|
|
36
|
+
const notify = (method, params) => {
|
|
37
|
+
post({ method, params });
|
|
38
|
+
};
|
|
39
|
+
const ask = (method, params) => new Promise((done) => {
|
|
40
|
+
lastId += 1;
|
|
41
|
+
waiting.set(lastId, done);
|
|
42
|
+
post({ id: lastId, method, params });
|
|
43
|
+
});
|
|
44
|
+
/* what the page knows */
|
|
45
|
+
let storyId;
|
|
46
|
+
let view;
|
|
47
|
+
let address;
|
|
48
|
+
let hostOpensLinks = false;
|
|
49
|
+
let hostCallsTools = false;
|
|
50
|
+
let isLive = false;
|
|
51
|
+
let isFallingBack = false;
|
|
52
|
+
let hasRelay = false;
|
|
53
|
+
let storyOrigin;
|
|
54
|
+
let silence;
|
|
55
|
+
const say = (text) => {
|
|
56
|
+
status.textContent = text;
|
|
57
|
+
status.hidden = text === "";
|
|
58
|
+
};
|
|
59
|
+
const showLink = () => {
|
|
60
|
+
open.hidden = !(hostOpensLinks && address !== undefined);
|
|
61
|
+
};
|
|
62
|
+
const showLive = () => {
|
|
63
|
+
isLive = true;
|
|
64
|
+
clearTimeout(silence);
|
|
65
|
+
say("");
|
|
66
|
+
picture.hidden = true;
|
|
67
|
+
frame.classList.remove(options.loadingClass);
|
|
68
|
+
};
|
|
69
|
+
// at this page's own width, so that the picture is not a whole window shrunk into it
|
|
70
|
+
const pictureView = () => {
|
|
71
|
+
const search = new URLSearchParams(view);
|
|
72
|
+
if (!search.has("width"))
|
|
73
|
+
search.set("width", String(document.body.clientWidth));
|
|
74
|
+
return search.toString();
|
|
75
|
+
};
|
|
76
|
+
const showPicture = async () => {
|
|
77
|
+
if (isLive || isFallingBack || storyId === undefined)
|
|
78
|
+
return;
|
|
79
|
+
isFallingBack = true;
|
|
80
|
+
clearTimeout(silence);
|
|
81
|
+
if (!hostCallsTools) {
|
|
82
|
+
say(texts.previewUnavailable);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
say(texts.previewTakingPicture);
|
|
86
|
+
const { result } = await ask("tools/call", {
|
|
87
|
+
name: options.shotTool,
|
|
88
|
+
arguments: { id: storyId, views: [pictureView()] }
|
|
89
|
+
});
|
|
90
|
+
if (isLive)
|
|
91
|
+
return;
|
|
92
|
+
const content = isRecord(result) && Array.isArray(result["content"]) ? result["content"] : [];
|
|
93
|
+
const image = content.find((block) => isRecord(block) && block["type"] === "image");
|
|
94
|
+
if (!isRecord(image) || typeof image["data"] !== "string") {
|
|
95
|
+
say(texts.previewUnavailable);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
picture.src = `data:image/png;base64,${image["data"]}`;
|
|
99
|
+
picture.hidden = false;
|
|
100
|
+
say("");
|
|
101
|
+
};
|
|
102
|
+
const showStory = (preview) => {
|
|
103
|
+
const url = new URL(preview);
|
|
104
|
+
if (url.protocol !== "http:" && url.protocol !== "https:")
|
|
105
|
+
return;
|
|
106
|
+
say(texts.previewLoading);
|
|
107
|
+
silence = setTimeout(() => void showPicture(), options.silenceMs);
|
|
108
|
+
storyOrigin = url.origin;
|
|
109
|
+
// laid out while it loads, only out of sight: a frame with no box has no viewport and no animation frames, so a
|
|
110
|
+
// story measuring itself gets zero and a play waiting on either never ends
|
|
111
|
+
frame.classList.add(options.loadingClass);
|
|
112
|
+
frame.hidden = false;
|
|
113
|
+
frame.src = url.href;
|
|
114
|
+
};
|
|
115
|
+
const showFailure = (structured) => {
|
|
116
|
+
const reason = isRecord(structured) ? textOf(structured["error"]) : undefined;
|
|
117
|
+
say(reason ?? texts.previewUnavailable);
|
|
118
|
+
};
|
|
119
|
+
const showAnswer = (answer) => {
|
|
120
|
+
const structured = isRecord(answer) ? answer["structuredContent"] : undefined;
|
|
121
|
+
const hasFailed = !isRecord(answer) || answer["isError"] === true;
|
|
122
|
+
if (hasFailed || !isRecord(structured)) {
|
|
123
|
+
showFailure(structured);
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
const links = structured["links"];
|
|
127
|
+
address = isRecord(links) ? textOf(links["address"]) : undefined;
|
|
128
|
+
storyId = textOf(structured["id"]) ?? storyId;
|
|
129
|
+
title.textContent = storyId ?? "";
|
|
130
|
+
showLink();
|
|
131
|
+
const preview = textOf(structured["preview"]);
|
|
132
|
+
if (preview === undefined)
|
|
133
|
+
void showPicture();
|
|
134
|
+
else
|
|
135
|
+
showStory(preview);
|
|
136
|
+
};
|
|
137
|
+
const applyVariables = (styles) => {
|
|
138
|
+
const variables = isRecord(styles) ? styles["variables"] : undefined;
|
|
139
|
+
if (!isRecord(variables))
|
|
140
|
+
return;
|
|
141
|
+
for (const [name, value] of Object.entries(variables))
|
|
142
|
+
if (typeof value === "string")
|
|
143
|
+
document.documentElement.style.setProperty(name, value);
|
|
144
|
+
};
|
|
145
|
+
const applyBox = (box) => {
|
|
146
|
+
if (!isRecord(box))
|
|
147
|
+
return;
|
|
148
|
+
const { style } = document.documentElement;
|
|
149
|
+
style.height = "";
|
|
150
|
+
style.maxHeight = "";
|
|
151
|
+
if ("height" in box)
|
|
152
|
+
style.height = "100vh";
|
|
153
|
+
else if (typeof box["maxHeight"] === "number")
|
|
154
|
+
style.maxHeight = `${box["maxHeight"]}px`;
|
|
155
|
+
};
|
|
156
|
+
const applyContext = (context) => {
|
|
157
|
+
if (!isRecord(context))
|
|
158
|
+
return;
|
|
159
|
+
const { theme } = context;
|
|
160
|
+
if (theme === "light" || theme === "dark")
|
|
161
|
+
document.documentElement.style.colorScheme = theme;
|
|
162
|
+
applyVariables(context["styles"]);
|
|
163
|
+
applyBox(context["containerDimensions"]);
|
|
164
|
+
};
|
|
165
|
+
let lastSize = "";
|
|
166
|
+
const reportSize = () => {
|
|
167
|
+
const { width, height } = document.body.getBoundingClientRect();
|
|
168
|
+
const size = { width: Math.ceil(width), height: Math.ceil(height) };
|
|
169
|
+
if (JSON.stringify(size) === lastSize)
|
|
170
|
+
return;
|
|
171
|
+
lastSize = JSON.stringify(size);
|
|
172
|
+
notify("ui/notifications/size-changed", size);
|
|
173
|
+
};
|
|
174
|
+
const applyInitialized = (result) => {
|
|
175
|
+
if (!isRecord(result))
|
|
176
|
+
return;
|
|
177
|
+
const capabilities = result["hostCapabilities"];
|
|
178
|
+
hostOpensLinks = isRecord(capabilities) && isRecord(capabilities["openLinks"]);
|
|
179
|
+
hostCallsTools = isRecord(capabilities) && isRecord(capabilities["serverTools"]);
|
|
180
|
+
applyContext(result["hostContext"]);
|
|
181
|
+
showLink();
|
|
182
|
+
notify("ui/notifications/initialized", {});
|
|
183
|
+
new ResizeObserver(reportSize).observe(document.body);
|
|
184
|
+
};
|
|
185
|
+
const answerHost = (id, method) => {
|
|
186
|
+
// the host waits for the answer before it takes the page down; a story in a frame has nothing to save
|
|
187
|
+
if (method === "ping" || method === "ui/resource-teardown")
|
|
188
|
+
post({ id, result: {} });
|
|
189
|
+
else
|
|
190
|
+
post({ id, error: { code: -32601, message: `Method not found: ${method}` } });
|
|
191
|
+
};
|
|
192
|
+
const hearHost = (method, params) => {
|
|
193
|
+
if (method === "ui/notifications/tool-result")
|
|
194
|
+
showAnswer(params);
|
|
195
|
+
if (method === "ui/notifications/host-context-changed")
|
|
196
|
+
applyContext(params);
|
|
197
|
+
if (method === "ui/notifications/tool-cancelled")
|
|
198
|
+
say(texts.previewCancelled);
|
|
199
|
+
if (method === "ui/notifications/tool-input" && isRecord(params) && isRecord(params["arguments"])) {
|
|
200
|
+
storyId = textOf(params["arguments"]["id"]);
|
|
201
|
+
view = textOf(params["arguments"]["view"]);
|
|
202
|
+
title.textContent = storyId ?? "";
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
const hearStory = (message) => {
|
|
206
|
+
if (!isRecord(message))
|
|
207
|
+
return;
|
|
208
|
+
const started = "forgebook:preview-started";
|
|
209
|
+
const ready = "forgebook:preview-ready";
|
|
210
|
+
const size = "forgebook:preview-size";
|
|
211
|
+
if (message["type"] === started)
|
|
212
|
+
hasRelay = true;
|
|
213
|
+
if (message["type"] === ready)
|
|
214
|
+
showLive();
|
|
215
|
+
if (message["type"] === size && typeof message["height"] === "number" && message["height"] > 0)
|
|
216
|
+
frame.style.height = `${message["height"]}px`;
|
|
217
|
+
};
|
|
218
|
+
window.addEventListener("message", (event) => {
|
|
219
|
+
if (event.source === frame.contentWindow) {
|
|
220
|
+
// the source alone would also let a frame that navigated elsewhere speak for the story
|
|
221
|
+
if (event.origin === storyOrigin)
|
|
222
|
+
hearStory(event.data);
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
if (event.source !== window.parent || !isRecord(event.data))
|
|
226
|
+
return;
|
|
227
|
+
const { id, method, params } = event.data;
|
|
228
|
+
if (typeof method === "string") {
|
|
229
|
+
if (id === undefined)
|
|
230
|
+
hearHost(method, params);
|
|
231
|
+
else
|
|
232
|
+
answerHost(id, method);
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
if (typeof id !== "number")
|
|
236
|
+
return;
|
|
237
|
+
waiting.get(id)?.(event.data);
|
|
238
|
+
waiting.delete(id);
|
|
239
|
+
});
|
|
240
|
+
// a frame the host's policy refuses never says so to the frame, only to the document that asked for it
|
|
241
|
+
document.addEventListener("securitypolicyviolation", (event) => {
|
|
242
|
+
if (event.effectiveDirective === "frame-src")
|
|
243
|
+
void showPicture();
|
|
244
|
+
});
|
|
245
|
+
frame.addEventListener("load", () => {
|
|
246
|
+
if (!hasRelay)
|
|
247
|
+
void showPicture();
|
|
248
|
+
});
|
|
249
|
+
open.addEventListener("click", () => {
|
|
250
|
+
if (address !== undefined)
|
|
251
|
+
void ask("ui/open-link", { url: address });
|
|
252
|
+
});
|
|
253
|
+
open.textContent = texts.previewOpen;
|
|
254
|
+
frame.title = texts.previewFrame;
|
|
255
|
+
picture.alt = texts.previewPicture;
|
|
256
|
+
say(texts.previewWaiting);
|
|
257
|
+
void ask("ui/initialize", {
|
|
258
|
+
appInfo: { name: "forgebook-story-preview", version: options.version },
|
|
259
|
+
appCapabilities: { availableDisplayModes: ["inline"] },
|
|
260
|
+
protocolVersion: options.protocolVersion
|
|
261
|
+
}).then(({ result }) => {
|
|
262
|
+
applyInitialized(result);
|
|
263
|
+
});
|
|
264
|
+
};
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A component's props in their groups, as its TSDoc names them (`@group Selection`), with its required props where the
|
|
3
|
+
* catalogue, the component or the story asks (`requiredFirst`): the API reference and the Props tab list them the same
|
|
4
|
+
* way.
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* The props that name no group come first: they are the ones an author left out of every group, most often the few
|
|
8
|
+
* every use of the component sets (`value`, `onChange`). Then each group, in the order a configuration names them
|
|
9
|
+
* (the component's meta, then the catalogue), the others in the order they first appear among the props. A component
|
|
10
|
+
* whose props name no group is one list, as it always was. Every group starts open: a reader folds one away, never the
|
|
11
|
+
* catalogue.
|
|
12
|
+
*
|
|
13
|
+
* The required props come first inside each group by default, the others keeping the order of the source, so a reader
|
|
14
|
+
* sees at once what every use must set. A `section` layout gathers them in one section before the groups instead,
|
|
15
|
+
* which only means something when there are groups: without, it is the same single list. The narrowest setting wins
|
|
16
|
+
* (the story's, the component's, the catalogue's), and a reader's switch turns the ordering on or off over them,
|
|
17
|
+
* never choosing the layout, which stays the developer's. Pure.
|
|
18
|
+
*
|
|
19
|
+
* @module
|
|
20
|
+
*/
|
|
21
|
+
import type { RequiredFirst } from "@forgebook/story-format/csf";
|
|
22
|
+
/** A group of props: its name, none for the props that name no group, and its props in their order. */
|
|
23
|
+
export type PropGroup<TProp> = {
|
|
24
|
+
/** The group's name, as `@group` writes it; none for the props that name no group. */
|
|
25
|
+
readonly name: string | undefined;
|
|
26
|
+
/** Its props, in their order among the component's. */
|
|
27
|
+
readonly props: readonly TProp[];
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* The order of the groups named first: the component's own (its meta's `parameters.propGroups`), then the
|
|
31
|
+
* catalogue's (`propGroups` in its configuration) not already named, each once.
|
|
32
|
+
*
|
|
33
|
+
* @param componentOrder - the groups the component names first; none by default.
|
|
34
|
+
* @param catalogueOrder - the groups the catalogue names first; none by default.
|
|
35
|
+
*/
|
|
36
|
+
export declare const propGroupOrder: (componentOrder?: readonly string[], catalogueOrder?: readonly string[]) => readonly string[];
|
|
37
|
+
/**
|
|
38
|
+
* Props in their groups: those naming no group first, then the groups named in `order`, in its order, then the others
|
|
39
|
+
* in the order they first appear. A group with no props is never listed, even when `order` names it.
|
|
40
|
+
*
|
|
41
|
+
* @param props - the props, in their order.
|
|
42
|
+
* @param order - the groups to show first, in this order (`propGroupOrder`).
|
|
43
|
+
*/
|
|
44
|
+
export declare const groupedProps: <TProp extends {
|
|
45
|
+
readonly group?: string | undefined;
|
|
46
|
+
}>(props: readonly TProp[], order: readonly string[]) => PropGroup<TProp>[];
|
|
47
|
+
/**
|
|
48
|
+
* Whether any of the props names a group: when none does, the props are listed as one list, as before groups.
|
|
49
|
+
*
|
|
50
|
+
* @param props - the props.
|
|
51
|
+
*/
|
|
52
|
+
export declare const hasPropGroups: (props: readonly {
|
|
53
|
+
readonly group?: string | undefined;
|
|
54
|
+
}[]) => boolean;
|
|
55
|
+
/** The layouts the required props can take, as a configuration and `parameters.requiredFirst` write them. */
|
|
56
|
+
export declare const REQUIRED_FIRST_LAYOUTS: readonly RequiredFirst[];
|
|
57
|
+
/**
|
|
58
|
+
* The layout a reader sees: the narrowest the developer set (the story's or the component's, else the catalogue's),
|
|
59
|
+
* with the reader's switch over it. Turned off, the source's order; turned on where the developer chose the source's
|
|
60
|
+
* order, the catalogue's layout, else `in-groups`.
|
|
61
|
+
*
|
|
62
|
+
* @param own - the story's or the component's setting; none leaves it to the catalogue.
|
|
63
|
+
* @param catalogue - the catalogue's setting.
|
|
64
|
+
* @param isReaderOn - the reader's switch; none when the reader never turned it.
|
|
65
|
+
*/
|
|
66
|
+
export declare const requiredFirstLayout: (own: RequiredFirst | undefined, catalogue: RequiredFirst, isReaderOn: boolean | undefined) => RequiredFirst;
|
|
67
|
+
/** A prop as the layout reads it: its group, whether it is required, and whether it is an event. */
|
|
68
|
+
type LaidOutProp = {
|
|
69
|
+
readonly group?: string | undefined;
|
|
70
|
+
readonly isRequired: boolean;
|
|
71
|
+
readonly kind?: string;
|
|
72
|
+
};
|
|
73
|
+
/** Props laid out for reading: the "Required" section, the groups, the events. */
|
|
74
|
+
export type PropLayout<TProp> = {
|
|
75
|
+
/**
|
|
76
|
+
* The "Required" section's props, those naming no group first, then each group's in the groups' order, then the
|
|
77
|
+
* events; empty unless the layout is `section` and the props name a group.
|
|
78
|
+
*/
|
|
79
|
+
readonly required: readonly TProp[];
|
|
80
|
+
/** The props but the events in their groups (`groupedProps`), without those in `required`; no group left empty. */
|
|
81
|
+
readonly groups: readonly PropGroup<TProp>[];
|
|
82
|
+
/** The events, without those in `required`. */
|
|
83
|
+
readonly events: readonly TProp[];
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Whether putting the required props first changes anything: a required prop and one that is not. A table without
|
|
87
|
+
* shows no "Required first" switch.
|
|
88
|
+
*
|
|
89
|
+
* @param props - the props shown.
|
|
90
|
+
*/
|
|
91
|
+
export declare const canOrderRequired: (props: readonly {
|
|
92
|
+
readonly isRequired: boolean;
|
|
93
|
+
}[]) => boolean;
|
|
94
|
+
/**
|
|
95
|
+
* Props with the required ones first, the rest in their order.
|
|
96
|
+
*
|
|
97
|
+
* @param props - the props, in their order.
|
|
98
|
+
*/
|
|
99
|
+
export declare const requiredPropsFirst: <TProp extends LaidOutProp>(props: readonly TProp[]) => TProp[];
|
|
100
|
+
/**
|
|
101
|
+
* Props laid out for reading: in their groups (`groupedProps`), the events apart, the required ones where the layout
|
|
102
|
+
* puts them.
|
|
103
|
+
*
|
|
104
|
+
* @param props - the props, events among them (`kind: "event"`), in the order of the source.
|
|
105
|
+
* @param order - the groups to show first, in this order (`propGroupOrder`).
|
|
106
|
+
* @param layout - where the required props go (`requiredFirstLayout`).
|
|
107
|
+
*/
|
|
108
|
+
export declare const laidOutProps: <TProp extends LaidOutProp>(props: readonly TProp[], order: readonly string[], layout: RequiredFirst) => PropLayout<TProp>;
|
|
109
|
+
export {};
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The order of the groups named first: the component's own (its meta's `parameters.propGroups`), then the
|
|
3
|
+
* catalogue's (`propGroups` in its configuration) not already named, each once.
|
|
4
|
+
*
|
|
5
|
+
* @param componentOrder - the groups the component names first; none by default.
|
|
6
|
+
* @param catalogueOrder - the groups the catalogue names first; none by default.
|
|
7
|
+
*/
|
|
8
|
+
export const propGroupOrder = (componentOrder = [], catalogueOrder = []) => [...new Set([...componentOrder, ...catalogueOrder])];
|
|
9
|
+
/**
|
|
10
|
+
* Props in their groups: those naming no group first, then the groups named in `order`, in its order, then the others
|
|
11
|
+
* in the order they first appear. A group with no props is never listed, even when `order` names it.
|
|
12
|
+
*
|
|
13
|
+
* @param props - the props, in their order.
|
|
14
|
+
* @param order - the groups to show first, in this order (`propGroupOrder`).
|
|
15
|
+
*/
|
|
16
|
+
export const groupedProps = (props, order) => {
|
|
17
|
+
const ungrouped = [];
|
|
18
|
+
// a map keeps its keys in the order they were first set: the order the groups first appear
|
|
19
|
+
const named = new Map();
|
|
20
|
+
for (const prop of props) {
|
|
21
|
+
if (prop.group === undefined) {
|
|
22
|
+
ungrouped.push(prop);
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
const group = named.get(prop.group);
|
|
26
|
+
if (group === undefined)
|
|
27
|
+
named.set(prop.group, [prop]);
|
|
28
|
+
else
|
|
29
|
+
group.push(prop);
|
|
30
|
+
}
|
|
31
|
+
const rank = (name) => {
|
|
32
|
+
const index = order.indexOf(name);
|
|
33
|
+
return index === -1 ? order.length : index;
|
|
34
|
+
};
|
|
35
|
+
const groups = [...named.entries()]
|
|
36
|
+
.map(([name, grouped]) => ({ name, props: grouped }))
|
|
37
|
+
// a stable sort: the groups `order` does not name keep the order they appear in
|
|
38
|
+
.sort((left, right) => rank(left.name ?? "") - rank(right.name ?? ""));
|
|
39
|
+
return ungrouped.length === 0 ? groups : [{ name: undefined, props: ungrouped }, ...groups];
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Whether any of the props names a group: when none does, the props are listed as one list, as before groups.
|
|
43
|
+
*
|
|
44
|
+
* @param props - the props.
|
|
45
|
+
*/
|
|
46
|
+
export const hasPropGroups = (props) => props.some((prop) => prop.group !== undefined);
|
|
47
|
+
/** The layouts the required props can take, as a configuration and `parameters.requiredFirst` write them. */
|
|
48
|
+
export const REQUIRED_FIRST_LAYOUTS = ["in-groups", "section", false];
|
|
49
|
+
/**
|
|
50
|
+
* The layout a reader sees: the narrowest the developer set (the story's or the component's, else the catalogue's),
|
|
51
|
+
* with the reader's switch over it. Turned off, the source's order; turned on where the developer chose the source's
|
|
52
|
+
* order, the catalogue's layout, else `in-groups`.
|
|
53
|
+
*
|
|
54
|
+
* @param own - the story's or the component's setting; none leaves it to the catalogue.
|
|
55
|
+
* @param catalogue - the catalogue's setting.
|
|
56
|
+
* @param isReaderOn - the reader's switch; none when the reader never turned it.
|
|
57
|
+
*/
|
|
58
|
+
export const requiredFirstLayout = (own, catalogue, isReaderOn) => {
|
|
59
|
+
const chosen = own ?? catalogue;
|
|
60
|
+
if (isReaderOn === undefined)
|
|
61
|
+
return chosen;
|
|
62
|
+
if (!isReaderOn)
|
|
63
|
+
return false;
|
|
64
|
+
if (chosen !== false)
|
|
65
|
+
return chosen;
|
|
66
|
+
return catalogue === false ? "in-groups" : catalogue;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Whether putting the required props first changes anything: a required prop and one that is not. A table without
|
|
70
|
+
* shows no "Required first" switch.
|
|
71
|
+
*
|
|
72
|
+
* @param props - the props shown.
|
|
73
|
+
*/
|
|
74
|
+
export const canOrderRequired = (props) => props.some((prop) => prop.isRequired) && props.some((prop) => !prop.isRequired);
|
|
75
|
+
/**
|
|
76
|
+
* Props with the required ones first, the rest in their order.
|
|
77
|
+
*
|
|
78
|
+
* @param props - the props, in their order.
|
|
79
|
+
*/
|
|
80
|
+
export const requiredPropsFirst = (props) => [
|
|
81
|
+
...props.filter((prop) => prop.isRequired),
|
|
82
|
+
...props.filter((prop) => !prop.isRequired)
|
|
83
|
+
];
|
|
84
|
+
/**
|
|
85
|
+
* Props laid out for reading: in their groups (`groupedProps`), the events apart, the required ones where the layout
|
|
86
|
+
* puts them.
|
|
87
|
+
*
|
|
88
|
+
* @param props - the props, events among them (`kind: "event"`), in the order of the source.
|
|
89
|
+
* @param order - the groups to show first, in this order (`propGroupOrder`).
|
|
90
|
+
* @param layout - where the required props go (`requiredFirstLayout`).
|
|
91
|
+
*/
|
|
92
|
+
export const laidOutProps = (props, order, layout) => {
|
|
93
|
+
const isEvent = (prop) => prop.kind === "event";
|
|
94
|
+
const listed = props.filter((prop) => !isEvent(prop));
|
|
95
|
+
const groups = groupedProps(listed, order);
|
|
96
|
+
const events = props.filter(isEvent);
|
|
97
|
+
if (layout === false)
|
|
98
|
+
return { required: [], groups, events };
|
|
99
|
+
if (layout === "in-groups" || !hasPropGroups(listed)) {
|
|
100
|
+
return {
|
|
101
|
+
required: [],
|
|
102
|
+
groups: groups.map((group) => ({ name: group.name, props: requiredPropsFirst(group.props) })),
|
|
103
|
+
events: requiredPropsFirst(events)
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
required: [...groups.flatMap((group) => group.props), ...events].filter((prop) => prop.isRequired),
|
|
108
|
+
groups: groups
|
|
109
|
+
.map((group) => ({ name: group.name, props: group.props.filter((prop) => !prop.isRequired) }))
|
|
110
|
+
.filter((group) => group.props.length > 0),
|
|
111
|
+
events: events.filter((prop) => !prop.isRequired)
|
|
112
|
+
};
|
|
113
|
+
};
|
package/dist/src/realTouch.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The mark of a window where Chromium's own touch emulation runs (`forgebook dev --touch`): its pages see real touch,
|
|
3
3
|
* so the catalogue's simulated touch stays off there. Shared by the window that sets it (`@forgebook/testing/touch`)
|
|
4
|
-
* and the frame that reads it (`
|
|
4
|
+
* and the frame that reads it (`followTouch.ts`).
|
|
5
5
|
*
|
|
6
6
|
* @module
|
|
7
7
|
*/
|
|
@@ -18,4 +18,3 @@ export type TouchWindowRequest = {
|
|
|
18
18
|
/** The catalogue's address. */
|
|
19
19
|
readonly url: string;
|
|
20
20
|
};
|
|
21
|
-
//# sourceMappingURL=realTouch.d.ts.map
|
package/dist/src/realTouch.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The mark of a window where Chromium's own touch emulation runs (`forgebook dev --touch`): its pages see real touch,
|
|
3
3
|
* so the catalogue's simulated touch stays off there. Shared by the window that sets it (`@forgebook/testing/touch`)
|
|
4
|
-
* and the frame that reads it (`
|
|
4
|
+
* and the frame that reads it (`followTouch.ts`).
|
|
5
5
|
*
|
|
6
6
|
* @module
|
|
7
7
|
*/
|
|
@@ -13,4 +13,3 @@ export const REAL_TOUCH_FLAG = "__forgebookRealTouch";
|
|
|
13
13
|
* @param view - the window.
|
|
14
14
|
*/
|
|
15
15
|
export const isRealTouchWindow = (view) => REAL_TOUCH_FLAG in view;
|
|
16
|
-
//# sourceMappingURL=realTouch.js.map
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The safe areas a story drawn edge to edge in a device is told, in its frame's address: the parameter that carries
|
|
3
|
+
* them (`forgebook.safe-area=59,0,34,0`, top, right, bottom and left in CSS px) and the custom properties the frame
|
|
4
|
+
* writes from it on its root, which such a story pads itself with.
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* A page in a frame cannot be given `env(safe-area-inset-*)`: browsers keep them at zero there, and only a browser's
|
|
8
|
+
* own protocol can change them. So the frame writes `--forgebook-safe-area-top`, `-right`, `-bottom` and `-left`
|
|
9
|
+
* instead, and a story reads them with the real insets as the fallback, for the page it ships in:
|
|
10
|
+
* `padding-top: var(--forgebook-safe-area-top, env(safe-area-inset-top))`. A story that is not drawn edge to edge
|
|
11
|
+
* sits inside the safe area and is told nothing. Read by the frame, written by the shell and `forgebook shot`, so
|
|
12
|
+
* every side reads one format. Pure.
|
|
13
|
+
*
|
|
14
|
+
* @module
|
|
15
|
+
*/
|
|
16
|
+
/** The frame's address parameter of the safe areas. */
|
|
17
|
+
export declare const SAFE_AREA_PARAMETER = "forgebook.safe-area";
|
|
18
|
+
/** The sides of the safe areas, in the parameter's order and the custom properties' names. */
|
|
19
|
+
declare const SIDES: readonly ["top", "right", "bottom", "left"];
|
|
20
|
+
/** The safe areas on each side, in CSS px. */
|
|
21
|
+
export type SafeArea = Readonly<Record<(typeof SIDES)[number], number>>;
|
|
22
|
+
/**
|
|
23
|
+
* A frame's address with the safe areas a story drawn edge to edge is told.
|
|
24
|
+
*
|
|
25
|
+
* @param address - the frame's address.
|
|
26
|
+
* @param safeArea - the safe areas.
|
|
27
|
+
*/
|
|
28
|
+
export declare const withSafeArea: (address: string, safeArea: SafeArea) => string;
|
|
29
|
+
/**
|
|
30
|
+
* The custom properties a frame's address asks for: none when it carries no safe areas, or carries them wrongly.
|
|
31
|
+
*
|
|
32
|
+
* @param search - the frame's query.
|
|
33
|
+
*/
|
|
34
|
+
export declare const safeAreaProperties: (search: string) => readonly (readonly [string, string])[];
|
|
35
|
+
/**
|
|
36
|
+
* Tells a page the safe areas its address carries, as CSS properties on its root.
|
|
37
|
+
*
|
|
38
|
+
* @param root - the page's root element.
|
|
39
|
+
* @param search - the page's address's query.
|
|
40
|
+
*/
|
|
41
|
+
export declare const applySafeArea: (root: HTMLElement, search: string) => void;
|
|
42
|
+
export {};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The safe areas a story drawn edge to edge in a device is told, in its frame's address: the parameter that carries
|
|
3
|
+
* them (`forgebook.safe-area=59,0,34,0`, top, right, bottom and left in CSS px) and the custom properties the frame
|
|
4
|
+
* writes from it on its root, which such a story pads itself with.
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* A page in a frame cannot be given `env(safe-area-inset-*)`: browsers keep them at zero there, and only a browser's
|
|
8
|
+
* own protocol can change them. So the frame writes `--forgebook-safe-area-top`, `-right`, `-bottom` and `-left`
|
|
9
|
+
* instead, and a story reads them with the real insets as the fallback, for the page it ships in:
|
|
10
|
+
* `padding-top: var(--forgebook-safe-area-top, env(safe-area-inset-top))`. A story that is not drawn edge to edge
|
|
11
|
+
* sits inside the safe area and is told nothing. Read by the frame, written by the shell and `forgebook shot`, so
|
|
12
|
+
* every side reads one format. Pure.
|
|
13
|
+
*
|
|
14
|
+
* @module
|
|
15
|
+
*/
|
|
16
|
+
/** The frame's address parameter of the safe areas. */
|
|
17
|
+
export const SAFE_AREA_PARAMETER = "forgebook.safe-area";
|
|
18
|
+
/** The sides of the safe areas, in the parameter's order and the custom properties' names. */
|
|
19
|
+
const SIDES = ["top", "right", "bottom", "left"];
|
|
20
|
+
/**
|
|
21
|
+
* A frame's address with the safe areas a story drawn edge to edge is told.
|
|
22
|
+
*
|
|
23
|
+
* @param address - the frame's address.
|
|
24
|
+
* @param safeArea - the safe areas.
|
|
25
|
+
*/
|
|
26
|
+
export const withSafeArea = (address, safeArea) => {
|
|
27
|
+
const value = SIDES.map((side) => String(Math.round(safeArea[side]))).join(",");
|
|
28
|
+
return `${address}${address.includes("?") ? "&" : "?"}${SAFE_AREA_PARAMETER}=${value}`;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* The custom properties a frame's address asks for: none when it carries no safe areas, or carries them wrongly.
|
|
32
|
+
*
|
|
33
|
+
* @param search - the frame's query.
|
|
34
|
+
*/
|
|
35
|
+
export const safeAreaProperties = (search) => {
|
|
36
|
+
const values = (new URLSearchParams(search).get(SAFE_AREA_PARAMETER) ?? "").split(",").map(Number);
|
|
37
|
+
if (values.length !== SIDES.length || values.some((value) => !Number.isFinite(value) || value < 0))
|
|
38
|
+
return [];
|
|
39
|
+
return SIDES.map((side, index) => [`--forgebook-safe-area-${side}`, `${values[index] ?? 0}px`]);
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Tells a page the safe areas its address carries, as CSS properties on its root.
|
|
43
|
+
*
|
|
44
|
+
* @param root - the page's root element.
|
|
45
|
+
* @param search - the page's address's query.
|
|
46
|
+
*/
|
|
47
|
+
export const applySafeArea = (root, search) => {
|
|
48
|
+
for (const [name, value] of safeAreaProperties(search))
|
|
49
|
+
root.style.setProperty(name, value);
|
|
50
|
+
};
|