forgebook 0.1.7 → 0.2.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 +906 -23
- 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 +161 -40
- package/dist/bin/forgebook/agentText.d.ts +74 -3
- package/dist/bin/forgebook/agentText.js +192 -8
- package/dist/bin/forgebook/agents.md +145 -7
- 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 +23 -11
- 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 -16
- 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 +24 -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 +88 -24
- 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 +128 -29
- 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/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 +57 -21
- package/dist/src/catalogue.js +34 -15
- package/dist/src/codeLiteral.d.ts +41 -0
- package/dist/src/codeLiteral.js +51 -0
- package/dist/src/componentDocs.d.ts +86 -1
- package/dist/src/componentDocs.js +33 -3
- package/dist/src/controlKeys.d.ts +0 -1
- package/dist/src/controlKeys.js +2 -2
- 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 +162 -63
- 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/touchDots.d.ts +0 -1
- package/dist/src/frame/touchDots.js +0 -1
- package/dist/src/frame/touchEvents.d.ts +0 -1
- package/dist/src/frame/touchEvents.js +0 -1
- 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 +4 -30
- 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 +46 -0
- package/dist/src/propGroups.js +59 -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 +12 -4
- package/dist/src/shell/ApiReference.js +74 -19
- 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 +45 -7
- package/dist/src/shell/ComponentPage.js +107 -49
- 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 +9 -0
- package/dist/src/shell/LogicMark.js +5 -0
- 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/PropsTab.d.ts +11 -2
- package/dist/src/shell/PropsTab.js +31 -5
- 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 +292 -84
- 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 +10 -2
- package/dist/src/shell/SidebarEntries.js +3 -3
- 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 +25 -0
- package/dist/src/shell/SignatureReference.js +25 -0
- package/dist/src/shell/Stage.d.ts +9 -4
- package/dist/src/shell/Stage.js +121 -60
- 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 +126 -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 +9 -3
- package/dist/src/shell/Toolbar.js +12 -7
- 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 +3 -3
- package/dist/src/shell/compareVariants.js +6 -5
- 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 +451 -0
- package/dist/src/shell/dockTabs.d.ts +15 -4
- package/dist/src/shell/dockTabs.js +69 -26
- 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 +4 -1
- package/dist/src/shell/icons.js +4 -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 +24 -0
- package/dist/src/shell/logicView.js +39 -0
- 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/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 +310 -136
- 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 +62 -80
- package/dist/src/shell/strings.js +60 -79
- 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/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/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 +35 -0
- package/dist/src/shell/useShownView.js +36 -0
- 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 +12 -2
- 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 +0 -1
- 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 +88 -25
- package/dist/src/storyTree.js +219 -126
- 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 +37 -9
- package/dist/src/viewState.js +67 -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 +281 -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 +131 -8
- 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 +167 -24
- 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 +142 -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 +65 -9
- package/dist/src/vite/configFile.js +182 -28
- 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 +50 -0
- package/dist/src/vite/docPagesModule.js +118 -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 +44 -3
- package/dist/src/vite/docsExtractor.js +160 -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/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 +1 -2
- package/dist/src/vite/forgebookPlugin.js +330 -263
- 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 +326 -0
- package/dist/src/vite/functionComponentDocs.d.ts +26 -0
- package/dist/src/vite/functionComponentDocs.js +193 -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 +24 -0
- package/dist/src/vite/heightsRoute.js +42 -0
- 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 +168 -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 +20 -19
- package/dist/src/vite/indexStoryFile.js +172 -201
- package/dist/src/vite/indexedParameters.d.ts +10 -0
- package/dist/src/vite/indexedParameters.js +110 -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 +87 -0
- package/dist/src/vite/originGuard.js +163 -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 +63 -10
- package/dist/src/vite/pages.js +264 -33
- 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 +20 -0
- package/dist/src/vite/pluginIds.js +61 -0
- package/dist/src/vite/pluginModules.d.ts +140 -0
- package/dist/src/vite/pluginModules.js +176 -0
- package/dist/src/vite/prebundled.d.ts +18 -5
- package/dist/src/vite/prebundled.js +28 -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 +40 -0
- package/dist/src/vite/searchModule.js +212 -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 +56 -4
- package/dist/src/vite/storyFilesModule.js +122 -34
- 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/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 +20 -0
- package/dist/src/vite/textQueries.js +20 -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 +66 -3
- 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/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/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/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/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/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
|
@@ -26,6 +26,46 @@ export type EventSignature = {
|
|
|
26
26
|
/** The return type, as the source writes it. */
|
|
27
27
|
readonly returns: string;
|
|
28
28
|
};
|
|
29
|
+
/** One parameter of a hook's or a function's signature. */
|
|
30
|
+
export type FunctionParameterDocs = {
|
|
31
|
+
/** The parameter's name; a destructured one's pattern as written (`{ start }`). */
|
|
32
|
+
readonly name: string;
|
|
33
|
+
/** Its type, as the source writes it. */
|
|
34
|
+
readonly type: string;
|
|
35
|
+
/** Its `@param` text; empty when it has none. */
|
|
36
|
+
readonly description: string;
|
|
37
|
+
/** Whether it may be left out (a `?` or a default). */
|
|
38
|
+
readonly isOptional: boolean;
|
|
39
|
+
/** Whether it takes the rest of the arguments (`...values`). */
|
|
40
|
+
readonly isRest: boolean;
|
|
41
|
+
};
|
|
42
|
+
/** A hook's or a function's signature: what a story about logic documents first. */
|
|
43
|
+
export type FunctionSignatureDocs = {
|
|
44
|
+
/** Its type parameters as written (`TValue`, `TUnit extends string`); empty when it has none. */
|
|
45
|
+
readonly typeParameters: readonly string[];
|
|
46
|
+
/** The parameters, in order. */
|
|
47
|
+
readonly parameters: readonly FunctionParameterDocs[];
|
|
48
|
+
/** The return type, as the source writes it. */
|
|
49
|
+
readonly returns: string;
|
|
50
|
+
/** Its `@returns` text; empty when it has none. */
|
|
51
|
+
readonly returnsDescription: string;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* One member of a prop's object type (a `texts` prop's `FileFinderTexts`), listed under the prop in the API
|
|
55
|
+
* reference.
|
|
56
|
+
*/
|
|
57
|
+
export type MemberDocs = {
|
|
58
|
+
/** The member's name. */
|
|
59
|
+
readonly name: string;
|
|
60
|
+
/** Its type as the source writes it, without `undefined` and `null`. */
|
|
61
|
+
readonly type: string;
|
|
62
|
+
/** The first paragraph of its TSDoc; empty when it has none. */
|
|
63
|
+
readonly description: string;
|
|
64
|
+
/** Its `@defaultValue`, when the TSDoc gives one. */
|
|
65
|
+
readonly defaultValue?: string;
|
|
66
|
+
/** Whether the member must be given. */
|
|
67
|
+
readonly isRequired: boolean;
|
|
68
|
+
};
|
|
29
69
|
/** One prop of a component. */
|
|
30
70
|
export type PropDocs = {
|
|
31
71
|
/** The prop's name. */
|
|
@@ -53,6 +93,16 @@ export type PropDocs = {
|
|
|
53
93
|
* field for it. Left out when `false`.
|
|
54
94
|
*/
|
|
55
95
|
readonly canTakeText?: boolean;
|
|
96
|
+
/**
|
|
97
|
+
* The group its TSDoc puts it in (`@group Selection`): the API reference and the Props tab list it under that
|
|
98
|
+
* heading. Left out when it names none.
|
|
99
|
+
*/
|
|
100
|
+
readonly group?: string;
|
|
101
|
+
/**
|
|
102
|
+
* The members of its type, when that type is an object the package declares and documents (`texts?: FileFinderTexts`),
|
|
103
|
+
* in the order the source declares them: the API reference lists them under the prop, folded. Left out otherwise.
|
|
104
|
+
*/
|
|
105
|
+
readonly members?: readonly MemberDocs[];
|
|
56
106
|
};
|
|
57
107
|
/** A part the component is used with, named in the meta's `subcomponents`: listed under it on its page. */
|
|
58
108
|
export type SubcomponentDocs = {
|
|
@@ -63,6 +113,22 @@ export type SubcomponentDocs = {
|
|
|
63
113
|
/** Its props declared in the package, in the same order as the component's. */
|
|
64
114
|
readonly props: readonly PropDocs[];
|
|
65
115
|
};
|
|
116
|
+
/**
|
|
117
|
+
* When to use a component and when not, as its TSDoc says: the rule a person knows and an agent has no way to guess.
|
|
118
|
+
* Tags: `@useWhen`, `@avoidWhen`, `@alternatives`, `@deprecated`, `@replacedBy`.
|
|
119
|
+
*/
|
|
120
|
+
export type UsageGuidance = {
|
|
121
|
+
/** The situations it is for, one per `@useWhen`. */
|
|
122
|
+
readonly useWhen?: readonly string[];
|
|
123
|
+
/** The situations it is not for, one per `@avoidWhen`. */
|
|
124
|
+
readonly avoidWhen?: readonly string[];
|
|
125
|
+
/** Components to consider instead, from `@alternatives`, comma-separated. */
|
|
126
|
+
readonly alternatives?: readonly string[];
|
|
127
|
+
/** Why not to use it any more, from `@deprecated`. */
|
|
128
|
+
readonly deprecated?: string;
|
|
129
|
+
/** What to use instead, from `@replacedBy`. */
|
|
130
|
+
readonly replacedBy?: string;
|
|
131
|
+
};
|
|
66
132
|
/** A story file's component. */
|
|
67
133
|
export type ComponentDocs = {
|
|
68
134
|
/** The component's name. */
|
|
@@ -83,7 +149,27 @@ export type ComponentDocs = {
|
|
|
83
149
|
readonly parts: readonly string[];
|
|
84
150
|
/** The parts the meta names in `subcomponents`, in the order it writes them; empty when it names none. */
|
|
85
151
|
readonly subcomponents: readonly SubcomponentDocs[];
|
|
152
|
+
/** When to use it and when not, from its TSDoc; left out when it says nothing. */
|
|
153
|
+
readonly guidance?: UsageGuidance;
|
|
154
|
+
/**
|
|
155
|
+
* Its call signature, when it has one: the parameters and the return value a story about logic shows first (the
|
|
156
|
+
* meta's `component` is then the hook or the function).
|
|
157
|
+
*/
|
|
158
|
+
readonly signature?: FunctionSignatureDocs;
|
|
159
|
+
/**
|
|
160
|
+
* The CSS selector a template writes the component with, for a framework whose components are matched by one rather
|
|
161
|
+
* than named (an Angular component's `fb-badge`, a directive's `button[fbButton]`): the code writer writes the story's
|
|
162
|
+
* markup from it. Left out when the component is written by its name.
|
|
163
|
+
*/
|
|
164
|
+
readonly selector?: string;
|
|
86
165
|
};
|
|
166
|
+
/**
|
|
167
|
+
* The name a story's code writes the component with: its selector when its framework matches components by one, its
|
|
168
|
+
* name otherwise.
|
|
169
|
+
*
|
|
170
|
+
* @param docs - the component's docs.
|
|
171
|
+
*/
|
|
172
|
+
export declare const codeNameOf: (docs: ComponentDocs) => string;
|
|
87
173
|
/** What the plugin answers for a story file whose meta names no component (a foundations page). */
|
|
88
174
|
export type NoComponentDocs = {
|
|
89
175
|
/** No component. */
|
|
@@ -95,4 +181,3 @@ export type NoComponentDocs = {
|
|
|
95
181
|
* @param value - the module's default export.
|
|
96
182
|
*/
|
|
97
183
|
export declare const isComponentDocs: (value: unknown) => value is ComponentDocs;
|
|
98
|
-
//# sourceMappingURL=componentDocs.d.ts.map
|
|
@@ -10,12 +10,26 @@
|
|
|
10
10
|
*
|
|
11
11
|
* @module
|
|
12
12
|
*/
|
|
13
|
+
/**
|
|
14
|
+
* The name a story's code writes the component with: its selector when its framework matches components by one, its
|
|
15
|
+
* name otherwise.
|
|
16
|
+
*
|
|
17
|
+
* @param docs - the component's docs.
|
|
18
|
+
*/
|
|
19
|
+
export const codeNameOf = (docs) => docs.selector ?? docs.name;
|
|
13
20
|
/** Whether a value is a plain object. */
|
|
14
21
|
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
15
22
|
/** Whether a value is a list of strings. */
|
|
16
23
|
const isStringList = (value) => Array.isArray(value) && value.every((item) => typeof item === "string");
|
|
17
24
|
/** The prop kinds, for the check. */
|
|
18
25
|
const PROP_KINDS = ["choice", "text", "number", "toggle", "event", "other"];
|
|
26
|
+
/** Whether a value is one member's docs. */
|
|
27
|
+
const isMemberDocs = (value) => isRecord(value) &&
|
|
28
|
+
typeof value["name"] === "string" &&
|
|
29
|
+
typeof value["type"] === "string" &&
|
|
30
|
+
typeof value["description"] === "string" &&
|
|
31
|
+
typeof value["isRequired"] === "boolean" &&
|
|
32
|
+
(value["defaultValue"] === undefined || typeof value["defaultValue"] === "string");
|
|
19
33
|
/** Whether a value is one prop's docs. */
|
|
20
34
|
const isPropDocs = (value) => isRecord(value) &&
|
|
21
35
|
typeof value["name"] === "string" &&
|
|
@@ -23,13 +37,28 @@ const isPropDocs = (value) => isRecord(value) &&
|
|
|
23
37
|
typeof value["type"] === "string" &&
|
|
24
38
|
typeof value["description"] === "string" &&
|
|
25
39
|
typeof value["isRequired"] === "boolean" &&
|
|
26
|
-
(value["canTakeText"] === undefined || typeof value["canTakeText"] === "boolean")
|
|
40
|
+
(value["canTakeText"] === undefined || typeof value["canTakeText"] === "boolean") &&
|
|
41
|
+
(value["group"] === undefined || typeof value["group"] === "string") &&
|
|
42
|
+
(value["members"] === undefined ||
|
|
43
|
+
(Array.isArray(value["members"]) && value["members"].every(isMemberDocs)));
|
|
27
44
|
/** Whether a value is a subcomponent's docs. */
|
|
28
45
|
const isSubcomponentDocs = (value) => isRecord(value) &&
|
|
29
46
|
typeof value["name"] === "string" &&
|
|
30
47
|
typeof value["description"] === "string" &&
|
|
31
48
|
Array.isArray(value["props"]) &&
|
|
32
49
|
value["props"].every(isPropDocs);
|
|
50
|
+
/** Whether a value is a signature's docs. */
|
|
51
|
+
const isFunctionSignatureDocs = (value) => isRecord(value) &&
|
|
52
|
+
typeof value["returns"] === "string" &&
|
|
53
|
+
typeof value["returnsDescription"] === "string" &&
|
|
54
|
+
isStringList(value["typeParameters"]) &&
|
|
55
|
+
Array.isArray(value["parameters"]) &&
|
|
56
|
+
value["parameters"].every((parameter) => isRecord(parameter) &&
|
|
57
|
+
typeof parameter["name"] === "string" &&
|
|
58
|
+
typeof parameter["type"] === "string" &&
|
|
59
|
+
typeof parameter["description"] === "string" &&
|
|
60
|
+
typeof parameter["isOptional"] === "boolean" &&
|
|
61
|
+
typeof parameter["isRest"] === "boolean");
|
|
33
62
|
/**
|
|
34
63
|
* Whether a value received from the plugin is a component's docs.
|
|
35
64
|
*
|
|
@@ -43,5 +72,6 @@ export const isComponentDocs = (value) => isRecord(value) &&
|
|
|
43
72
|
value["props"].every(isPropDocs) &&
|
|
44
73
|
isStringList(value["parts"]) &&
|
|
45
74
|
Array.isArray(value["subcomponents"]) &&
|
|
46
|
-
value["subcomponents"].every(isSubcomponentDocs)
|
|
47
|
-
|
|
75
|
+
value["subcomponents"].every(isSubcomponentDocs) &&
|
|
76
|
+
(value["signature"] === undefined || isFunctionSignatureDocs(value["signature"])) &&
|
|
77
|
+
(value["selector"] === undefined || typeof value["selector"] === "string");
|
package/dist/src/controlKeys.js
CHANGED
|
@@ -3,7 +3,8 @@ export const DEFAULT_KEYS = {
|
|
|
3
3
|
theme: "t",
|
|
4
4
|
contrast: "c",
|
|
5
5
|
lang: "l",
|
|
6
|
-
dir: "d"
|
|
6
|
+
dir: "d",
|
|
7
|
+
touch: "m"
|
|
7
8
|
};
|
|
8
9
|
/**
|
|
9
10
|
* A key as the shell keeps it: one letter, lower case; none when the text is not one.
|
|
@@ -119,4 +120,3 @@ export const cycledValue = (values, current, step) => {
|
|
|
119
120
|
* @param each - the switch.
|
|
120
121
|
*/
|
|
121
122
|
export const switchValues = (each) => each.values.map((value) => value.value);
|
|
122
|
-
//# sourceMappingURL=controlKeys.js.map
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A device's drawing: the hardware around the screen (its band, its bezel, its buttons) and what sits over the story
|
|
3
|
+
* (the camera's cut, the status bar, the home indicator), as shapes in CSS px, for the shell's frame and for
|
|
4
|
+
* `forgebook shot`'s framed pictures to draw the same device.
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* Shapes and not markup, so each side draws them its own way (React elements in the shell, an SVG text in the
|
|
8
|
+
* pictures) from one geometry. The hardware is laid out upright and turned with its top to the left for landscape,
|
|
9
|
+
* as a phone is turned; the status bar is laid out for the screen as held, since a system lays it out again when
|
|
10
|
+
* the phone turns (an iPhone on its side shows none). The paints are named, not coloured: the frame takes the
|
|
11
|
+
* shell's appearance, the status bar's ink the story's scheme, as a phone's status bar follows the app under it.
|
|
12
|
+
* Pure.
|
|
13
|
+
*
|
|
14
|
+
* @module
|
|
15
|
+
*/
|
|
16
|
+
import type { DeviceOrientation } from "@forgebook/story-format/csf";
|
|
17
|
+
import { type DeviceModel } from "./devices.ts";
|
|
18
|
+
/** What a shape is painted with: the hardware's band, its outline, the bezel, the camera's cut, the status bar's ink. */
|
|
19
|
+
export type DevicePaint = "frame" | "edge" | "bezel" | "cutout" | "ink";
|
|
20
|
+
/** One shape of a drawing, in CSS px. */
|
|
21
|
+
export type DeviceShape = {
|
|
22
|
+
/** A rectangle, its corners rounded. */
|
|
23
|
+
readonly kind: "rect";
|
|
24
|
+
/** Its left. */
|
|
25
|
+
readonly x: number;
|
|
26
|
+
/** Its top. */
|
|
27
|
+
readonly y: number;
|
|
28
|
+
/** Its width. */
|
|
29
|
+
readonly width: number;
|
|
30
|
+
/** Its height. */
|
|
31
|
+
readonly height: number;
|
|
32
|
+
/** Its corners' radius. */
|
|
33
|
+
readonly radius: number;
|
|
34
|
+
/** Its fill; none for an outline only. */
|
|
35
|
+
readonly fill?: DevicePaint;
|
|
36
|
+
/** Its outline, 1 px wide; none by default. */
|
|
37
|
+
readonly stroke?: DevicePaint;
|
|
38
|
+
/** Its opacity, from 0 to 1; 1 by default. */
|
|
39
|
+
readonly opacity?: number;
|
|
40
|
+
} | {
|
|
41
|
+
/** A disc. */
|
|
42
|
+
readonly kind: "circle";
|
|
43
|
+
/** Its centre's left. */
|
|
44
|
+
readonly cx: number;
|
|
45
|
+
/** Its centre's top. */
|
|
46
|
+
readonly cy: number;
|
|
47
|
+
/** Its radius. */
|
|
48
|
+
readonly r: number;
|
|
49
|
+
/** Its fill. */
|
|
50
|
+
readonly fill: DevicePaint;
|
|
51
|
+
} | {
|
|
52
|
+
/** A path, in SVG's path syntax. */
|
|
53
|
+
readonly kind: "path";
|
|
54
|
+
/** Its commands. */
|
|
55
|
+
readonly d: string;
|
|
56
|
+
/** Its fill. */
|
|
57
|
+
readonly fill: DevicePaint;
|
|
58
|
+
} | {
|
|
59
|
+
/** A line of text, centred on its height. */
|
|
60
|
+
readonly kind: "text";
|
|
61
|
+
/** Where it starts, or its middle. */
|
|
62
|
+
readonly x: number;
|
|
63
|
+
/** Its middle's height. */
|
|
64
|
+
readonly y: number;
|
|
65
|
+
/** What it says. */
|
|
66
|
+
readonly text: string;
|
|
67
|
+
/** Its size, in CSS px. */
|
|
68
|
+
readonly size: number;
|
|
69
|
+
/** Its weight. */
|
|
70
|
+
readonly weight: number;
|
|
71
|
+
/** Whether `x` is its start or its middle. */
|
|
72
|
+
readonly anchor: "start" | "middle";
|
|
73
|
+
/** Its fill. */
|
|
74
|
+
readonly fill: DevicePaint;
|
|
75
|
+
};
|
|
76
|
+
/** A rectangle, its corners rounded, in CSS px. */
|
|
77
|
+
export type DeviceRect = {
|
|
78
|
+
/** Its left. */
|
|
79
|
+
readonly x: number;
|
|
80
|
+
/** Its top. */
|
|
81
|
+
readonly y: number;
|
|
82
|
+
/** Its width. */
|
|
83
|
+
readonly width: number;
|
|
84
|
+
/** Its height. */
|
|
85
|
+
readonly height: number;
|
|
86
|
+
/** Its corners' radius. */
|
|
87
|
+
readonly radius: number;
|
|
88
|
+
};
|
|
89
|
+
/** A device drawn: its size, where its screen is, and its shapes under and over the screen. */
|
|
90
|
+
export type DeviceDrawing = {
|
|
91
|
+
/** The drawing's width, the buttons included, in CSS px. */
|
|
92
|
+
readonly width: number;
|
|
93
|
+
/** The drawing's height, in CSS px. */
|
|
94
|
+
readonly height: number;
|
|
95
|
+
/** The screen, where the story goes: its viewport's size, at its place in the drawing. */
|
|
96
|
+
readonly screen: DeviceRect;
|
|
97
|
+
/** Drawn under the screen: the buttons, the band and the bezel. */
|
|
98
|
+
readonly under: readonly DeviceShape[];
|
|
99
|
+
/** Drawn over the story, never taking the pointer: the camera's cut, the status bar, the home indicator. */
|
|
100
|
+
readonly over: readonly DeviceShape[];
|
|
101
|
+
};
|
|
102
|
+
/** The paints of the hardware in each of the shell's appearances: quiet greys, a black bezel, as phones are. */
|
|
103
|
+
export declare const DEVICE_PAINTS: Readonly<Record<"light" | "dark", Readonly<Record<Exclude<DevicePaint, "ink">, string>>>>;
|
|
104
|
+
/** The status bar's ink over a story of each scheme: dark on a light story, light on a dark one. */
|
|
105
|
+
export declare const DEVICE_INK: Readonly<Record<"light" | "dark", string>>;
|
|
106
|
+
/** The status bar's font: the system's, as the devices' own. */
|
|
107
|
+
export declare const DEVICE_FONT = "-apple-system, BlinkMacSystemFont, \"SF Pro Text\", Roboto, system-ui, sans-serif";
|
|
108
|
+
/**
|
|
109
|
+
* A model drawn, held one way.
|
|
110
|
+
*
|
|
111
|
+
* @param model - the model.
|
|
112
|
+
* @param orientation - how it is held: on its side, its top to the left.
|
|
113
|
+
*/
|
|
114
|
+
export declare const deviceDrawing: (model: DeviceModel, orientation: DeviceOrientation) => DeviceDrawing;
|
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
import { deviceScreen } from "./devices.js";
|
|
2
|
+
/** The paints of the hardware in each of the shell's appearances: quiet greys, a black bezel, as phones are. */
|
|
3
|
+
export const DEVICE_PAINTS = {
|
|
4
|
+
light: { frame: "#d6d6db", edge: "#1d1d1f2e", bezel: "#0c0c0e", cutout: "#000" },
|
|
5
|
+
dark: { frame: "#46464d", edge: "#ffffff2b", bezel: "#050506", cutout: "#000" }
|
|
6
|
+
};
|
|
7
|
+
/** The status bar's ink over a story of each scheme: dark on a light story, light on a dark one. */
|
|
8
|
+
export const DEVICE_INK = { light: "#000", dark: "#fff" };
|
|
9
|
+
/** The status bar's font: the system's, as the devices' own. */
|
|
10
|
+
export const DEVICE_FONT = '-apple-system, BlinkMacSystemFont, "SF Pro Text", Roboto, system-ui, sans-serif';
|
|
11
|
+
/** The time the status bar shows: the one phones are photographed at. */
|
|
12
|
+
const STATUS_TIME = "9:41";
|
|
13
|
+
/** How far a button stands out of the band, in CSS px: the drawing's margin on every side. */
|
|
14
|
+
const BUTTON_DEPTH = 3;
|
|
15
|
+
/** The band's and the bezel's thickness, in CSS px, by kind. */
|
|
16
|
+
const THICKNESS = {
|
|
17
|
+
phone: { band: 4, bezel: 10 },
|
|
18
|
+
tablet: { band: 4, bezel: 18 }
|
|
19
|
+
};
|
|
20
|
+
/** Each model's buttons, as its maker places them. */
|
|
21
|
+
const BUTTONS = {
|
|
22
|
+
"iphone-16": [
|
|
23
|
+
{ side: "left", at: 0.18, length: 0.04 },
|
|
24
|
+
{ side: "left", at: 0.26, length: 0.075 },
|
|
25
|
+
{ side: "left", at: 0.36, length: 0.075 },
|
|
26
|
+
{ side: "right", at: 0.29, length: 0.12 },
|
|
27
|
+
{ side: "right", at: 0.62, length: 0.06 }
|
|
28
|
+
],
|
|
29
|
+
"iphone-16-pro-max": [
|
|
30
|
+
{ side: "left", at: 0.18, length: 0.04 },
|
|
31
|
+
{ side: "left", at: 0.26, length: 0.075 },
|
|
32
|
+
{ side: "left", at: 0.36, length: 0.075 },
|
|
33
|
+
{ side: "right", at: 0.29, length: 0.12 },
|
|
34
|
+
{ side: "right", at: 0.62, length: 0.06 }
|
|
35
|
+
],
|
|
36
|
+
"iphone-16e": [
|
|
37
|
+
{ side: "left", at: 0.18, length: 0.04 },
|
|
38
|
+
{ side: "left", at: 0.26, length: 0.075 },
|
|
39
|
+
{ side: "left", at: 0.36, length: 0.075 },
|
|
40
|
+
{ side: "right", at: 0.29, length: 0.12 }
|
|
41
|
+
],
|
|
42
|
+
"pixel-9": [
|
|
43
|
+
{ side: "right", at: 0.22, length: 0.07 },
|
|
44
|
+
{ side: "right", at: 0.32, length: 0.13 }
|
|
45
|
+
],
|
|
46
|
+
"galaxy-s24": [
|
|
47
|
+
{ side: "right", at: 0.22, length: 0.12 },
|
|
48
|
+
{ side: "right", at: 0.38, length: 0.07 }
|
|
49
|
+
],
|
|
50
|
+
phone: [
|
|
51
|
+
{ side: "right", at: 0.24, length: 0.12 },
|
|
52
|
+
{ side: "right", at: 0.4, length: 0.06 }
|
|
53
|
+
],
|
|
54
|
+
"ipad-mini": [
|
|
55
|
+
{ side: "top", at: 0.8, length: 0.07 },
|
|
56
|
+
{ side: "right", at: 0.07, length: 0.045 },
|
|
57
|
+
{ side: "right", at: 0.13, length: 0.045 }
|
|
58
|
+
],
|
|
59
|
+
"ipad-pro-13": [
|
|
60
|
+
{ side: "top", at: 0.82, length: 0.05 },
|
|
61
|
+
{ side: "right", at: 0.06, length: 0.035 },
|
|
62
|
+
{ side: "right", at: 0.105, length: 0.035 }
|
|
63
|
+
]
|
|
64
|
+
};
|
|
65
|
+
/** A length kept to two decimals: the drawings' numbers stay short and stable. */
|
|
66
|
+
const round = (value) => Math.round(value * 100) / 100;
|
|
67
|
+
/** A rectangle of the upright drawing, moved as the drawing is held: on its side, its width and height swap. */
|
|
68
|
+
const placedRect = (map, isTurned, rect) => {
|
|
69
|
+
const [x, y] = isTurned ? map(rect.x + rect.width, rect.y) : map(rect.x, rect.y);
|
|
70
|
+
return {
|
|
71
|
+
x: round(x),
|
|
72
|
+
y: round(y),
|
|
73
|
+
width: round(isTurned ? rect.height : rect.width),
|
|
74
|
+
height: round(isTurned ? rect.width : rect.height),
|
|
75
|
+
radius: round(rect.radius)
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
/** The upright size of a model's drawing, and the hardware's thickness around its screen. */
|
|
79
|
+
const uprightBox = (model) => {
|
|
80
|
+
const { band, bezel } = THICKNESS[model.kind];
|
|
81
|
+
const around = BUTTON_DEPTH + band + bezel;
|
|
82
|
+
return { width: model.width + 2 * around, height: model.height + 2 * around, around };
|
|
83
|
+
};
|
|
84
|
+
/** The buttons, upright, standing out of the band. */
|
|
85
|
+
const buttonRects = (model, body) => BUTTONS[model.id].map((button) => {
|
|
86
|
+
const along = button.side === "top" ? body.width : body.height;
|
|
87
|
+
const start = along * button.at;
|
|
88
|
+
const length = along * button.length;
|
|
89
|
+
if (button.side === "top")
|
|
90
|
+
return { x: body.x + start, y: 0, width: length, height: BUTTON_DEPTH + 2, radius: 1 };
|
|
91
|
+
return {
|
|
92
|
+
x: button.side === "left" ? 0 : body.x + body.width - 2,
|
|
93
|
+
y: body.y + start,
|
|
94
|
+
width: BUTTON_DEPTH + 2,
|
|
95
|
+
height: length,
|
|
96
|
+
radius: 1
|
|
97
|
+
};
|
|
98
|
+
});
|
|
99
|
+
/**
|
|
100
|
+
* The camera's cut, upright, then moved as held: a notch is a path, drawn point by point through the map, since
|
|
101
|
+
* turning keeps its arcs' direction.
|
|
102
|
+
*/
|
|
103
|
+
const cutoutShapes = (model, screen, map, isTurned) => {
|
|
104
|
+
const cutout = model.cutout;
|
|
105
|
+
if (cutout === undefined)
|
|
106
|
+
return [];
|
|
107
|
+
const middle = screen.x + screen.width / 2;
|
|
108
|
+
if (cutout.kind === "island") {
|
|
109
|
+
const rect = placedRect(map, isTurned, {
|
|
110
|
+
x: middle - cutout.width / 2,
|
|
111
|
+
y: screen.y + cutout.top,
|
|
112
|
+
width: cutout.width,
|
|
113
|
+
height: cutout.height,
|
|
114
|
+
radius: cutout.height / 2
|
|
115
|
+
});
|
|
116
|
+
return [{ kind: "rect", ...rect, fill: "cutout" }];
|
|
117
|
+
}
|
|
118
|
+
if (cutout.kind === "hole") {
|
|
119
|
+
const [cx, cy] = map(middle, screen.y + cutout.top + cutout.diameter / 2);
|
|
120
|
+
return [{ kind: "circle", cx: round(cx), cy: round(cy), r: cutout.diameter / 2, fill: "cutout" }];
|
|
121
|
+
}
|
|
122
|
+
// a notch: straight sides from the top edge, its lower corners rounded, its upper ones flaring into the edge
|
|
123
|
+
const point = (x, y) => {
|
|
124
|
+
const [px, py] = map(x, y);
|
|
125
|
+
return `${round(px)} ${round(py)}`;
|
|
126
|
+
};
|
|
127
|
+
const left = middle - cutout.width / 2;
|
|
128
|
+
const right = middle + cutout.width / 2;
|
|
129
|
+
const top = screen.y;
|
|
130
|
+
const bottom = top + cutout.height;
|
|
131
|
+
const flare = 6;
|
|
132
|
+
const corner = 20;
|
|
133
|
+
return [
|
|
134
|
+
{
|
|
135
|
+
kind: "path",
|
|
136
|
+
d: [
|
|
137
|
+
`M${point(left - flare, top)}`,
|
|
138
|
+
`A${flare} ${flare} 0 0 1 ${point(left, top + flare)}`,
|
|
139
|
+
`L${point(left, bottom - corner)}`,
|
|
140
|
+
`A${corner} ${corner} 0 0 0 ${point(left + corner, bottom)}`,
|
|
141
|
+
`L${point(right - corner, bottom)}`,
|
|
142
|
+
`A${corner} ${corner} 0 0 0 ${point(right, bottom - corner)}`,
|
|
143
|
+
`L${point(right, top + flare)}`,
|
|
144
|
+
`A${flare} ${flare} 0 0 1 ${point(right + flare, top)}`,
|
|
145
|
+
"Z"
|
|
146
|
+
].join(" "),
|
|
147
|
+
fill: "cutout"
|
|
148
|
+
}
|
|
149
|
+
];
|
|
150
|
+
};
|
|
151
|
+
/** The iOS signal bars, from their left, on a line through their middle; 17 px wide. */
|
|
152
|
+
const iosSignal = (x, y) => [4, 6.3, 8.7, 11].map((height, index) => ({
|
|
153
|
+
kind: "rect",
|
|
154
|
+
x: round(x + index * 4.6),
|
|
155
|
+
y: round(y + 5.5 - height),
|
|
156
|
+
width: 3,
|
|
157
|
+
height,
|
|
158
|
+
radius: 1,
|
|
159
|
+
fill: "ink"
|
|
160
|
+
}));
|
|
161
|
+
/**
|
|
162
|
+
* A fan of a Wi-Fi mark, as a path: the ring between two radii (none inside makes a wedge), a quarter turn wide,
|
|
163
|
+
* pointing up from its centre.
|
|
164
|
+
*/
|
|
165
|
+
const fanBand = (cx, cy, outer, inner) => {
|
|
166
|
+
const at = (radius, degrees) => {
|
|
167
|
+
const angle = (degrees * Math.PI) / 180;
|
|
168
|
+
return `${round(cx + radius * Math.cos(angle))} ${round(cy + radius * Math.sin(angle))}`;
|
|
169
|
+
};
|
|
170
|
+
const inside = inner === 0
|
|
171
|
+
? `L${round(cx)} ${round(cy)}`
|
|
172
|
+
: `L${at(inner, -45)} A${inner} ${inner} 0 0 0 ${at(inner, -135)}`;
|
|
173
|
+
return `M${at(outer, -135)} A${outer} ${outer} 0 0 1 ${at(outer, -45)} ${inside} Z`;
|
|
174
|
+
};
|
|
175
|
+
/** The iOS Wi-Fi mark, three bands, from its left; 15.5 px wide. */
|
|
176
|
+
const iosWifi = (x, y) => [
|
|
177
|
+
[11, 8.6],
|
|
178
|
+
[7.2, 4.8],
|
|
179
|
+
[3.4, 0]
|
|
180
|
+
].map(([outer = 0, inner = 0]) => ({
|
|
181
|
+
kind: "path",
|
|
182
|
+
d: fanBand(x + 7.78, y + 5.5, outer, inner),
|
|
183
|
+
fill: "ink"
|
|
184
|
+
}));
|
|
185
|
+
/** The iOS battery, full, from its left; 27 px wide. */
|
|
186
|
+
const iosBattery = (x, y) => [
|
|
187
|
+
{ kind: "rect", x, y: y - 6, width: 24.3, height: 12, radius: 3.8, stroke: "ink", opacity: 0.4 },
|
|
188
|
+
{ kind: "rect", x: x + 2, y: y - 4, width: 20.3, height: 8, radius: 2.4, fill: "ink" },
|
|
189
|
+
{ kind: "rect", x: x + 25.3, y: y - 2, width: 1.5, height: 4, radius: 0.75, fill: "ink", opacity: 0.4 }
|
|
190
|
+
];
|
|
191
|
+
/** The Android signal, a triangle, from its left; 11 px wide. */
|
|
192
|
+
const androidSignal = (x, y) => [
|
|
193
|
+
{ kind: "path", d: `M${round(x)} ${round(y + 5.5)}H${round(x + 11)}V${round(y - 5.5)}Z`, fill: "ink" }
|
|
194
|
+
];
|
|
195
|
+
/** The Android Wi-Fi mark, one wedge, from its left; 14 px wide. */
|
|
196
|
+
const androidWifi = (x, y) => [
|
|
197
|
+
{ kind: "path", d: fanBand(x + 7, y + 4.5, 9.9, 0), fill: "ink" }
|
|
198
|
+
];
|
|
199
|
+
/** The Android battery, upright and full, from its left; 7 px wide. */
|
|
200
|
+
const androidBattery = (x, y) => [
|
|
201
|
+
{ kind: "rect", x: x + 2, y: y - 7.5, width: 3, height: 1.5, radius: 0.5, fill: "ink" },
|
|
202
|
+
{ kind: "rect", x, y: y - 6.5, width: 7, height: 13, radius: 1.5, fill: "ink" }
|
|
203
|
+
];
|
|
204
|
+
/** A row of marks from a left edge, each drawn by its maker and as wide as it says, with a gap between. */
|
|
205
|
+
const markRow = (x, y, marks, gap) => {
|
|
206
|
+
let left = x;
|
|
207
|
+
return marks.flatMap((mark) => {
|
|
208
|
+
const shapes = mark.draw(left, y);
|
|
209
|
+
left += mark.width + gap;
|
|
210
|
+
return shapes;
|
|
211
|
+
});
|
|
212
|
+
};
|
|
213
|
+
/** A row's width: its marks' and the gaps between them. */
|
|
214
|
+
const rowWidth = (marks, gap) => marks.reduce((sum, mark) => sum + mark.width, 0) + gap * (marks.length - 1);
|
|
215
|
+
/** The marks at an iPhone's status bar's end. */
|
|
216
|
+
const IOS_PHONE_MARKS = [
|
|
217
|
+
{ draw: iosSignal, width: 17 },
|
|
218
|
+
{ draw: iosWifi, width: 15.5 },
|
|
219
|
+
{ draw: iosBattery, width: 27 }
|
|
220
|
+
];
|
|
221
|
+
/** The marks at an iPad's status bar's end. */
|
|
222
|
+
const IOS_TABLET_MARKS = [
|
|
223
|
+
{ draw: iosWifi, width: 15.5 },
|
|
224
|
+
{ draw: iosBattery, width: 27 }
|
|
225
|
+
];
|
|
226
|
+
/** The marks at an Android device's status bar's end. */
|
|
227
|
+
const ANDROID_MARKS = [
|
|
228
|
+
{ draw: androidWifi, width: 14 },
|
|
229
|
+
{ draw: androidSignal, width: 11 },
|
|
230
|
+
{ draw: androidBattery, width: 7 }
|
|
231
|
+
];
|
|
232
|
+
/**
|
|
233
|
+
* An iPhone's status bar, upright: the time and the marks in the middle of the two ears the camera's cut leaves.
|
|
234
|
+
*/
|
|
235
|
+
const iphoneStatusBar = (model, screen) => {
|
|
236
|
+
const { safeArea } = deviceScreen(model, "portrait");
|
|
237
|
+
const cutout = model.cutout;
|
|
238
|
+
const cutWidth = cutout?.kind === "island" || cutout?.kind === "notch" ? cutout.width : 0;
|
|
239
|
+
const ear = (screen.width - cutWidth) / 2;
|
|
240
|
+
const middle = cutout?.kind === "island" ? cutout.top + cutout.height / 2 : Math.min(safeArea.top / 2 + 1, 24);
|
|
241
|
+
const y = screen.y + middle;
|
|
242
|
+
const width = rowWidth(IOS_PHONE_MARKS, 5.5);
|
|
243
|
+
return [
|
|
244
|
+
{
|
|
245
|
+
kind: "text",
|
|
246
|
+
x: round(screen.x + ear / 2 + 4),
|
|
247
|
+
y: round(y),
|
|
248
|
+
text: STATUS_TIME,
|
|
249
|
+
size: 17,
|
|
250
|
+
weight: 600,
|
|
251
|
+
anchor: "middle",
|
|
252
|
+
fill: "ink"
|
|
253
|
+
},
|
|
254
|
+
...markRow(screen.x + screen.width - ear / 2 - width / 2 - 4, y, IOS_PHONE_MARKS, 5.5)
|
|
255
|
+
];
|
|
256
|
+
};
|
|
257
|
+
/** The status bar, laid out for the screen as held; none on an iPhone on its side, as iOS shows none there. */
|
|
258
|
+
const statusBar = (model, orientation, screen) => {
|
|
259
|
+
const isUpright = orientation === "portrait";
|
|
260
|
+
if (model.platform === "ios" && model.kind === "phone")
|
|
261
|
+
return isUpright ? iphoneStatusBar(model, screen) : [];
|
|
262
|
+
const { safeArea } = deviceScreen(model, orientation);
|
|
263
|
+
const isTablet = model.kind === "tablet";
|
|
264
|
+
const marks = model.platform === "ios" ? IOS_TABLET_MARKS : ANDROID_MARKS;
|
|
265
|
+
const gap = model.platform === "ios" ? 5.5 : 6;
|
|
266
|
+
const hole = model.cutout?.kind === "hole" ? model.cutout : undefined;
|
|
267
|
+
// an upright punch hole sets the bar's middle; on its side the hole is at the left, out of the bar
|
|
268
|
+
const middle = hole !== undefined && isUpright ? hole.top + hole.diameter / 2 : (isTablet ? 24 : safeArea.top) / 2;
|
|
269
|
+
const y = screen.y + middle;
|
|
270
|
+
const edge = isTablet ? 20 : 22;
|
|
271
|
+
return [
|
|
272
|
+
{
|
|
273
|
+
kind: "text",
|
|
274
|
+
x: round(screen.x + Math.max(edge, safeArea.left + 10)),
|
|
275
|
+
y: round(y),
|
|
276
|
+
text: STATUS_TIME,
|
|
277
|
+
size: isTablet ? 13 : 14,
|
|
278
|
+
weight: isTablet ? 600 : 500,
|
|
279
|
+
anchor: "start",
|
|
280
|
+
fill: "ink"
|
|
281
|
+
},
|
|
282
|
+
...markRow(screen.x + screen.width - edge - rowWidth(marks, gap), y, marks, gap)
|
|
283
|
+
];
|
|
284
|
+
};
|
|
285
|
+
/** The home indicator at the screen's foot: iOS's bar, or Android's gesture handle. */
|
|
286
|
+
const homeIndicator = (model, orientation, screen) => {
|
|
287
|
+
const isIos = model.platform === "ios";
|
|
288
|
+
const phoneRatio = orientation === "portrait" ? 0.34 : 0.25;
|
|
289
|
+
const ratio = model.kind === "tablet" ? 0.3 : phoneRatio;
|
|
290
|
+
const width = isIos ? Math.min(315, screen.width * ratio) : 108;
|
|
291
|
+
const height = isIos ? 5 : 4;
|
|
292
|
+
return {
|
|
293
|
+
kind: "rect",
|
|
294
|
+
x: round(screen.x + (screen.width - width) / 2),
|
|
295
|
+
y: round(screen.y + screen.height - 8 - height),
|
|
296
|
+
width: round(width),
|
|
297
|
+
height,
|
|
298
|
+
radius: height / 2,
|
|
299
|
+
fill: "ink"
|
|
300
|
+
};
|
|
301
|
+
};
|
|
302
|
+
/**
|
|
303
|
+
* A model drawn, held one way.
|
|
304
|
+
*
|
|
305
|
+
* @param model - the model.
|
|
306
|
+
* @param orientation - how it is held: on its side, its top to the left.
|
|
307
|
+
*/
|
|
308
|
+
export const deviceDrawing = (model, orientation) => {
|
|
309
|
+
const upright = uprightBox(model);
|
|
310
|
+
const isTurned = orientation === "landscape";
|
|
311
|
+
// turning the phone with its top to the left: the upright top edge becomes the left one
|
|
312
|
+
const map = isTurned
|
|
313
|
+
? (x, y) => [y, upright.width - x]
|
|
314
|
+
: (x, y) => [x, y];
|
|
315
|
+
const { band, bezel } = THICKNESS[model.kind];
|
|
316
|
+
const body = {
|
|
317
|
+
x: BUTTON_DEPTH,
|
|
318
|
+
y: BUTTON_DEPTH,
|
|
319
|
+
width: upright.width - 2 * BUTTON_DEPTH,
|
|
320
|
+
height: upright.height - 2 * BUTTON_DEPTH,
|
|
321
|
+
radius: model.radius + bezel + band
|
|
322
|
+
};
|
|
323
|
+
const glass = {
|
|
324
|
+
x: body.x + band,
|
|
325
|
+
y: body.y + band,
|
|
326
|
+
width: body.width - 2 * band,
|
|
327
|
+
height: body.height - 2 * band,
|
|
328
|
+
radius: model.radius + bezel
|
|
329
|
+
};
|
|
330
|
+
const uprightScreen = {
|
|
331
|
+
x: upright.around,
|
|
332
|
+
y: upright.around,
|
|
333
|
+
width: model.width,
|
|
334
|
+
height: model.height,
|
|
335
|
+
radius: model.radius
|
|
336
|
+
};
|
|
337
|
+
const screen = placedRect(map, isTurned, uprightScreen);
|
|
338
|
+
return {
|
|
339
|
+
width: isTurned ? upright.height : upright.width,
|
|
340
|
+
height: isTurned ? upright.width : upright.height,
|
|
341
|
+
screen,
|
|
342
|
+
under: [
|
|
343
|
+
...buttonRects(model, body).map((rect) => ({
|
|
344
|
+
kind: "rect",
|
|
345
|
+
...placedRect(map, isTurned, rect),
|
|
346
|
+
fill: "frame",
|
|
347
|
+
stroke: "edge"
|
|
348
|
+
})),
|
|
349
|
+
{ kind: "rect", ...placedRect(map, isTurned, body), fill: "frame", stroke: "edge" },
|
|
350
|
+
{ kind: "rect", ...placedRect(map, isTurned, glass), fill: "bezel" }
|
|
351
|
+
],
|
|
352
|
+
over: [
|
|
353
|
+
...cutoutShapes(model, uprightScreen, map, isTurned),
|
|
354
|
+
...statusBar(model, orientation, screen),
|
|
355
|
+
homeIndicator(model, orientation, screen)
|
|
356
|
+
]
|
|
357
|
+
};
|
|
358
|
+
};
|