forgebook 0.1.8 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +987 -28
- package/dist/bin/forgebook/agentClient.d.ts +30 -1
- package/dist/bin/forgebook/agentClient.js +155 -14
- package/dist/bin/forgebook/agentLoopCommands.d.mts +0 -1
- package/dist/bin/forgebook/agentLoopCommands.mjs +164 -40
- package/dist/bin/forgebook/agentText.d.ts +76 -5
- package/dist/bin/forgebook/agentText.js +197 -11
- package/dist/bin/forgebook/agents.md +158 -9
- package/dist/bin/forgebook/agentsText.d.ts +7 -3
- package/dist/bin/forgebook/agentsText.js +7 -3
- package/dist/bin/forgebook/builtCatalogue.d.ts +31 -0
- package/dist/bin/forgebook/builtCatalogue.js +96 -0
- package/dist/bin/forgebook/catalogueCommands.d.ts +22 -3
- package/dist/bin/forgebook/catalogueCommands.js +21 -2
- package/dist/bin/forgebook/catalogueVite.d.ts +51 -9
- package/dist/bin/forgebook/catalogueVite.js +95 -9
- package/dist/bin/forgebook/checkCodeRun.d.ts +8 -0
- package/dist/bin/forgebook/checkCodeRun.js +27 -0
- package/dist/bin/forgebook/commandServer.d.ts +11 -0
- package/dist/bin/forgebook/commandServer.js +39 -0
- package/dist/bin/forgebook/compileCache.d.ts +7 -0
- package/dist/bin/forgebook/compileCache.js +24 -0
- package/dist/bin/forgebook/devCommands.d.mts +14 -0
- package/dist/bin/forgebook/devCommands.mjs +104 -0
- package/dist/bin/forgebook/errorsRun.d.ts +0 -1
- package/dist/bin/forgebook/errorsRun.js +0 -1
- package/dist/bin/forgebook/forgebook.d.mts +0 -1
- package/dist/bin/forgebook/forgebook.mjs +18 -302
- package/dist/bin/forgebook/forgebookCommands.d.mts +1 -0
- package/dist/bin/forgebook/forgebookCommands.mjs +292 -0
- package/dist/bin/forgebook/importers/storybook.d.ts +10 -4
- package/dist/bin/forgebook/importers/storybook.js +71 -45
- package/dist/bin/forgebook/importers/storybookAngular.d.ts +15 -0
- package/dist/bin/forgebook/importers/storybookAngular.js +97 -0
- package/dist/bin/forgebook/importers/storybookFrameworks.d.ts +53 -0
- package/dist/bin/forgebook/importers/storybookFrameworks.js +180 -0
- package/dist/bin/forgebook/importers/storybookReactNative.d.ts +40 -0
- package/dist/bin/forgebook/importers/storybookReactNative.js +179 -0
- package/dist/bin/forgebook/initCommands.d.mts +0 -1
- package/dist/bin/forgebook/initCommands.mjs +23 -12
- package/dist/bin/forgebook/initConfig.d.ts +0 -1
- package/dist/bin/forgebook/initConfig.js +17 -3
- package/dist/bin/forgebook/mcpCommand.d.mts +8 -0
- package/dist/bin/forgebook/mcpCommand.mjs +99 -0
- package/dist/bin/forgebook/mcpPreview.d.ts +32 -0
- package/dist/bin/forgebook/mcpPreview.js +107 -0
- package/dist/bin/forgebook/mcpToolParts.d.ts +28 -0
- package/dist/bin/forgebook/mcpToolParts.js +24 -0
- package/dist/bin/forgebook/mcpTools.d.ts +12 -6
- package/dist/bin/forgebook/mcpTools.js +148 -27
- package/dist/bin/forgebook/newStories.d.ts +2 -3
- package/dist/bin/forgebook/newStories.js +4 -3
- package/dist/bin/forgebook/newStoriesFile.d.ts +3 -4
- package/dist/bin/forgebook/newStoriesFile.js +30 -13
- package/dist/bin/forgebook/pageTools.d.ts +8 -0
- package/dist/bin/forgebook/pageTools.js +71 -0
- package/dist/bin/forgebook/pagesCommands.d.mts +14 -0
- package/dist/bin/forgebook/pagesCommands.mjs +109 -0
- package/dist/bin/forgebook/prebundleChild.d.ts +1 -0
- package/dist/bin/forgebook/prebundleChild.js +34 -0
- package/dist/bin/forgebook/prebundleRun.d.ts +22 -0
- package/dist/bin/forgebook/prebundleRun.js +49 -0
- package/dist/bin/forgebook/prebundleStart.d.ts +44 -0
- package/dist/bin/forgebook/prebundleStart.js +82 -0
- package/dist/bin/forgebook/semanticOptions.d.ts +45 -0
- package/dist/bin/forgebook/semanticOptions.js +36 -0
- package/dist/bin/forgebook/storyCheckCommands.d.mts +13 -0
- package/dist/bin/forgebook/storyCheckCommands.mjs +69 -0
- package/dist/bin/forgebook/storyCheckRun.d.ts +40 -6
- package/dist/bin/forgebook/storyCheckRun.js +90 -17
- package/dist/bin/forgebook/tokensRun.d.ts +41 -0
- package/dist/bin/forgebook/tokensRun.js +42 -0
- package/dist/bin/forgebook/touchWindowRun.d.ts +0 -1
- package/dist/bin/forgebook/touchWindowRun.js +0 -1
- package/dist/bin/forgebook/visualCommands.d.mts +37 -0
- package/dist/bin/forgebook/visualCommands.mjs +162 -0
- package/dist/bin/forgebook/viteCache.d.ts +48 -0
- package/dist/bin/forgebook/viteCache.js +112 -0
- package/dist/bin/forgebook-docs/catalogueDocs.d.ts +1 -2
- package/dist/bin/forgebook-docs/catalogueDocs.js +8 -5
- package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts +22 -3
- package/dist/bin/forgebook-docs/catalogueDocs.types.js +0 -1
- package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts +0 -1
- package/dist/bin/forgebook-docs/catalogueMarkdown.js +67 -19
- package/dist/bin/forgebook-docs/catalogueOptions.d.ts +1 -2
- package/dist/bin/forgebook-docs/catalogueOptions.js +8 -2
- package/dist/bin/forgebook-docs/collectDocs.d.ts +4 -4
- package/dist/bin/forgebook-docs/collectDocs.js +122 -30
- package/dist/bin/forgebook-docs/forgebook-docs.d.mts +0 -1
- package/dist/bin/forgebook-docs/forgebook-docs.mjs +0 -1
- package/dist/bin/forgebook-docs/llmsText.d.ts +5 -1
- package/dist/bin/forgebook-docs/llmsText.js +5 -2
- package/dist/bin/forgebook-docs/moduleDocs.d.ts +0 -1
- package/dist/bin/forgebook-docs/moduleDocs.js +0 -1
- package/dist/bin/forgebook-docs/sassDocs.d.ts +0 -1
- package/dist/bin/forgebook-docs/sassDocs.js +0 -1
- package/dist/bin/forgebook-texts/forgebook-texts.d.mts +0 -1
- package/dist/bin/forgebook-texts/forgebook-texts.mjs +1 -2
- package/dist/bin/forgebook-texts/storyTextsReport.d.ts +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.js +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.types.d.ts +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.types.js +0 -1
- package/dist/bin/frameworkDocs.d.ts +0 -1
- package/dist/bin/frameworkDocs.js +0 -1
- package/dist/src/a11y.d.ts +0 -1
- package/dist/src/a11y.js +0 -1
- package/dist/src/addressArgs.d.ts +74 -0
- package/dist/src/addressArgs.js +109 -0
- package/dist/src/addressTexts.d.ts +35 -0
- package/dist/src/addressTexts.js +51 -0
- package/dist/src/argTypes.d.ts +0 -1
- package/dist/src/argTypes.js +2 -2
- package/dist/src/argsProps.d.ts +32 -0
- package/dist/src/argsProps.js +69 -0
- package/dist/src/audiences.d.ts +17 -0
- package/dist/src/audiences.js +15 -0
- package/dist/src/backdrops.d.ts +39 -40
- package/dist/src/backdrops.js +37 -174
- package/dist/src/catalogue.d.ts +103 -24
- package/dist/src/catalogue.js +78 -20
- package/dist/src/codeLiteral.d.ts +41 -0
- package/dist/src/codeLiteral.js +51 -0
- package/dist/src/componentDocs.d.ts +57 -1
- package/dist/src/componentDocs.js +20 -3
- package/dist/src/controlKeys.d.ts +0 -1
- package/dist/src/controlKeys.js +0 -1
- package/dist/src/deviceDrawing.d.ts +114 -0
- package/dist/src/deviceDrawing.js +358 -0
- package/dist/src/deviceMenuView.d.ts +17 -0
- package/dist/src/deviceMenuView.js +22 -0
- package/dist/src/devicePicture.d.ts +57 -0
- package/dist/src/devicePicture.js +104 -0
- package/dist/src/deviceView.d.ts +172 -0
- package/dist/src/deviceView.js +111 -0
- package/dist/src/devices.d.ts +115 -0
- package/dist/src/devices.js +135 -0
- package/dist/src/docAnchors.d.ts +27 -0
- package/dist/src/docAnchors.js +33 -0
- package/dist/src/docPages.d.ts +203 -0
- package/dist/src/docPages.js +169 -0
- package/dist/src/embed.d.ts +32 -0
- package/dist/src/embed.js +24 -0
- package/dist/src/embedCode.d.ts +31 -0
- package/dist/src/embedCode.js +88 -0
- package/dist/src/frame/backdropPictures.d.ts +29 -0
- package/dist/src/frame/backdropPictures.js +187 -0
- package/dist/src/frame/checkStory.d.ts +6 -3
- package/dist/src/frame/checkStory.js +76 -5
- package/dist/src/frame/followTouch.d.ts +9 -0
- package/dist/src/frame/followTouch.js +43 -0
- package/dist/src/frame/frame.css +8 -3
- package/dist/src/frame/frameClock.d.ts +0 -1
- package/dist/src/frame/frameClock.js +0 -1
- package/dist/src/frame/frameStatus.d.ts +2 -1
- package/dist/src/frame/frameStatus.js +2 -1
- package/dist/src/frame/frameView.d.ts +0 -1
- package/dist/src/frame/frameView.js +1 -2
- package/dist/src/frame/matrixLayout.d.ts +0 -1
- package/dist/src/frame/matrixLayout.js +0 -1
- package/dist/src/frame/measureTools.d.ts +0 -1
- package/dist/src/frame/measureTools.js +0 -1
- package/dist/src/frame/mountFrame.d.ts +10 -3
- package/dist/src/frame/mountFrame.js +184 -66
- package/dist/src/frame/playStory.d.ts +0 -1
- package/dist/src/frame/playStory.js +0 -1
- package/dist/src/frame/pluginFrames.d.ts +31 -0
- package/dist/src/frame/pluginFrames.js +23 -0
- package/dist/src/frame/renderer.d.ts +50 -12
- package/dist/src/frame/renderer.js +27 -6
- package/dist/src/frame/settle.d.ts +0 -1
- package/dist/src/frame/settle.js +0 -1
- package/dist/src/frame/shellChannel.d.ts +47 -0
- package/dist/src/frame/shellChannel.js +39 -0
- package/dist/src/frame/spillOutline.d.ts +0 -1
- package/dist/src/frame/spillOutline.js +0 -1
- package/dist/src/frame/staleModule.d.ts +14 -2
- package/dist/src/frame/staleModule.js +19 -2
- package/dist/src/frame/storyCanvas.d.ts +0 -1
- package/dist/src/frame/storyCanvas.js +0 -1
- package/dist/src/frame/storyHooks.d.ts +0 -1
- package/dist/src/frame/storyHooks.js +0 -1
- package/dist/src/frame/storyModule.d.ts +13 -2
- package/dist/src/frame/storyModule.js +45 -3
- package/dist/src/frame/storyRun.d.ts +21 -4
- package/dist/src/frame/storyRun.js +100 -19
- package/dist/src/frame/touchCaret.d.ts +43 -0
- package/dist/src/frame/touchCaret.js +195 -0
- package/dist/src/frame/touchDots.d.ts +0 -1
- package/dist/src/frame/touchDots.js +0 -1
- package/dist/src/frame/touchEvents.d.ts +3 -3
- package/dist/src/frame/touchEvents.js +17 -19
- package/dist/src/frame/touchGesture.d.ts +0 -1
- package/dist/src/frame/touchGesture.js +0 -1
- package/dist/src/frame/touchLayer.d.ts +3 -3
- package/dist/src/frame/touchLayer.js +52 -37
- package/dist/src/frame/touchScroll.d.ts +0 -1
- package/dist/src/frame/touchScroll.js +0 -1
- package/dist/src/frameOrigins.d.ts +62 -0
- package/dist/src/frameOrigins.js +49 -0
- package/dist/src/hotModules.d.ts +48 -0
- package/dist/src/hotModules.js +53 -0
- package/dist/src/jsxCode.d.ts +22 -0
- package/dist/src/jsxCode.js +36 -0
- package/dist/src/languages.d.ts +0 -1
- package/dist/src/languages.js +0 -1
- package/dist/src/liveErrors.d.ts +0 -1
- package/dist/src/liveErrors.js +0 -1
- package/dist/src/matrix.d.ts +0 -1
- package/dist/src/matrix.js +0 -1
- package/dist/src/messages.d.ts +28 -2
- package/dist/src/messages.js +24 -3
- package/dist/src/namedValues.d.ts +11 -1
- package/dist/src/namedValues.js +25 -2
- package/dist/src/namedViews.d.ts +1 -13
- package/dist/src/namedViews.js +30 -7
- package/dist/src/packedText.d.ts +21 -0
- package/dist/src/packedText.js +36 -0
- package/dist/src/pageAddress.d.ts +26 -0
- package/dist/src/pageAddress.js +39 -0
- package/dist/src/pageConfig.d.ts +3 -1
- package/dist/src/pageConfig.js +0 -1
- package/dist/src/pageTree.d.ts +79 -0
- package/dist/src/pageTree.js +108 -0
- package/dist/src/playTrace.d.ts +0 -1
- package/dist/src/playTrace.js +0 -1
- package/dist/src/plugin.d.ts +230 -0
- package/dist/src/plugin.js +12 -0
- package/dist/src/pluginReact.d.ts +23 -0
- package/dist/src/pluginReact.js +24 -0
- package/dist/src/previewRelay.d.ts +40 -0
- package/dist/src/previewRelay.js +69 -0
- package/dist/src/previewTexts.d.ts +26 -0
- package/dist/src/previewTexts.js +33 -0
- package/dist/src/previewView.d.ts +31 -0
- package/dist/src/previewView.js +264 -0
- package/dist/src/propGroups.d.ts +109 -0
- package/dist/src/propGroups.js +113 -0
- package/dist/src/realTouch.d.ts +1 -2
- package/dist/src/realTouch.js +1 -2
- package/dist/src/safeAreaParameter.d.ts +42 -0
- package/dist/src/safeAreaParameter.js +50 -0
- package/dist/src/search.d.ts +154 -0
- package/dist/src/search.js +265 -0
- package/dist/src/searchIndex.d.ts +61 -0
- package/dist/src/searchIndex.js +55 -0
- package/dist/src/searchMarks.d.ts +29 -0
- package/dist/src/searchMarks.js +165 -0
- package/dist/src/searchMatch.d.ts +58 -0
- package/dist/src/searchMatch.js +127 -0
- package/dist/src/shell/A11yTab.d.ts +0 -7
- package/dist/src/shell/A11yTab.js +4 -15
- package/dist/src/shell/AnchorScroll.d.ts +25 -0
- package/dist/src/shell/AnchorScroll.js +10 -0
- package/dist/src/shell/ApiReference.d.ts +16 -4
- package/dist/src/shell/ApiReference.js +82 -20
- package/dist/src/shell/AppearanceMenu.d.ts +1 -2
- package/dist/src/shell/AppearanceMenu.js +8 -5
- package/dist/src/shell/AudienceSections.d.ts +106 -0
- package/dist/src/shell/AudienceSections.js +154 -0
- package/dist/src/shell/AuthoredHome.d.ts +37 -0
- package/dist/src/shell/AuthoredHome.js +96 -0
- package/dist/src/shell/BoxWidth.d.ts +0 -1
- package/dist/src/shell/BoxWidth.js +0 -1
- package/dist/src/shell/ClockBar.d.ts +19 -0
- package/dist/src/shell/ClockBar.js +15 -0
- package/dist/src/shell/ClockControls.d.ts +5 -9
- package/dist/src/shell/ClockControls.js +13 -16
- package/dist/src/shell/Code.d.ts +0 -1
- package/dist/src/shell/Code.js +0 -1
- package/dist/src/shell/CodeTab.d.ts +0 -1
- package/dist/src/shell/CodeTab.js +2 -2
- package/dist/src/shell/CodeText.d.ts +0 -1
- package/dist/src/shell/CodeText.js +0 -1
- package/dist/src/shell/CompareGrid.d.ts +37 -0
- package/dist/src/shell/CompareGrid.js +24 -0
- package/dist/src/shell/ComponentPage.d.ts +48 -7
- package/dist/src/shell/ComponentPage.js +101 -59
- package/dist/src/shell/ControlKeyField.d.ts +0 -1
- package/dist/src/shell/ControlKeyField.js +3 -4
- package/dist/src/shell/ControlRow.d.ts +4 -4
- package/dist/src/shell/ControlRow.js +5 -5
- package/dist/src/shell/DeviceControl.d.ts +31 -0
- package/dist/src/shell/DeviceControl.js +33 -0
- package/dist/src/shell/DeviceSlot.d.ts +114 -0
- package/dist/src/shell/DeviceSlot.js +134 -0
- package/dist/src/shell/DocBlocks.d.ts +100 -0
- package/dist/src/shell/DocBlocks.js +206 -0
- package/dist/src/shell/DocContainers.d.ts +70 -0
- package/dist/src/shell/DocContainers.js +94 -0
- package/dist/src/shell/DocContents.d.ts +29 -0
- package/dist/src/shell/DocContents.js +88 -0
- package/dist/src/shell/DocPage.d.ts +69 -0
- package/dist/src/shell/DocPage.js +141 -0
- package/dist/src/shell/Dock.d.ts +1 -2
- package/dist/src/shell/Dock.js +1 -2
- package/dist/src/shell/DroppedArgsList.d.ts +26 -0
- package/dist/src/shell/DroppedArgsList.js +8 -0
- package/dist/src/shell/DroppedArgsNote.d.ts +14 -0
- package/dist/src/shell/DroppedArgsNote.js +10 -0
- package/dist/src/shell/EmbedButton.d.ts +19 -0
- package/dist/src/shell/EmbedButton.js +96 -0
- package/dist/src/shell/EmbedPage.d.ts +23 -0
- package/dist/src/shell/EmbedPage.js +168 -0
- package/dist/src/shell/EmbedPanel.d.ts +25 -0
- package/dist/src/shell/EmbedPanel.js +46 -0
- package/dist/src/shell/EventsTab.d.ts +0 -1
- package/dist/src/shell/EventsTab.js +2 -3
- package/dist/src/shell/Example.d.ts +20 -2
- package/dist/src/shell/Example.js +75 -22
- package/dist/src/shell/FrameView.d.ts +1 -2
- package/dist/src/shell/FrameView.js +4 -4
- package/dist/src/shell/HomePage.d.ts +78 -4
- package/dist/src/shell/HomePage.js +53 -14
- package/dist/src/shell/HomePieces.d.ts +40 -0
- package/dist/src/shell/HomePieces.js +29 -0
- package/dist/src/shell/InfoTip.d.ts +0 -1
- package/dist/src/shell/InfoTip.js +0 -1
- package/dist/src/shell/InteractionsTab.d.ts +0 -7
- package/dist/src/shell/InteractionsTab.js +3 -9
- package/dist/src/shell/LazyHost.d.ts +16 -0
- package/dist/src/shell/LazyHost.js +42 -0
- package/dist/src/shell/LazyPage.d.ts +24 -0
- package/dist/src/shell/LazyPage.js +9 -0
- package/dist/src/shell/LogicMark.d.ts +0 -1
- package/dist/src/shell/LogicMark.js +0 -1
- package/dist/src/shell/MatrixPicker.d.ts +0 -1
- package/dist/src/shell/MatrixPicker.js +0 -1
- package/dist/src/shell/NamedViews.d.ts +0 -1
- package/dist/src/shell/NamedViews.js +4 -5
- package/dist/src/shell/PackageHtml.d.ts +0 -1
- package/dist/src/shell/PackageHtml.js +0 -1
- package/dist/src/shell/PartsTab.d.ts +0 -7
- package/dist/src/shell/PartsTab.js +3 -13
- package/dist/src/shell/PinnedControl.d.ts +0 -1
- package/dist/src/shell/PinnedControl.js +2 -2
- package/dist/src/shell/PluginBlockHost.d.ts +46 -0
- package/dist/src/shell/PluginBlockHost.js +39 -0
- package/dist/src/shell/PluginTabHost.d.ts +32 -0
- package/dist/src/shell/PluginTabHost.js +25 -0
- package/dist/src/shell/PluginViewHost.d.ts +37 -0
- package/dist/src/shell/PluginViewHost.js +89 -0
- package/dist/src/shell/PropFields.d.ts +0 -1
- package/dist/src/shell/PropFields.js +0 -1
- package/dist/src/shell/PropRows.d.ts +42 -0
- package/dist/src/shell/PropRows.js +60 -0
- package/dist/src/shell/PropsTab.d.ts +24 -11
- package/dist/src/shell/PropsTab.js +31 -45
- package/dist/src/shell/RequiredFirstSwitch.d.ts +16 -0
- package/dist/src/shell/RequiredFirstSwitch.js +8 -0
- package/dist/src/shell/SearchPanel.d.ts +63 -0
- package/dist/src/shell/SearchPanel.js +209 -0
- package/dist/src/shell/Segmented.d.ts +0 -1
- package/dist/src/shell/Segmented.js +0 -1
- package/dist/src/shell/Shell.d.ts +34 -6
- package/dist/src/shell/Shell.js +271 -70
- package/dist/src/shell/Sidebar.d.ts +20 -5
- package/dist/src/shell/Sidebar.js +23 -56
- package/dist/src/shell/SidebarDocs.d.ts +38 -0
- package/dist/src/shell/SidebarDocs.js +30 -0
- package/dist/src/shell/SidebarEntries.d.ts +9 -1
- package/dist/src/shell/SidebarEntries.js +1 -2
- package/dist/src/shell/SidebarHandle.d.ts +0 -1
- package/dist/src/shell/SidebarHandle.js +0 -1
- package/dist/src/shell/SidebarSearch.d.ts +40 -0
- package/dist/src/shell/SidebarSearch.js +85 -0
- package/dist/src/shell/SignatureReference.d.ts +0 -1
- package/dist/src/shell/SignatureReference.js +1 -2
- package/dist/src/shell/Stage.d.ts +9 -4
- package/dist/src/shell/Stage.js +116 -75
- package/dist/src/shell/StageCompare.d.ts +14 -0
- package/dist/src/shell/StageCompare.js +11 -0
- package/dist/src/shell/StageTools.d.ts +0 -1
- package/dist/src/shell/StageTools.js +0 -1
- package/dist/src/shell/StageViewport.d.ts +7 -3
- package/dist/src/shell/StageViewport.js +4 -5
- package/dist/src/shell/StoryBar.d.ts +40 -0
- package/dist/src/shell/StoryBar.js +23 -0
- package/dist/src/shell/StoryCodeBlock.d.ts +1 -2
- package/dist/src/shell/StoryCodeBlock.js +0 -1
- package/dist/src/shell/StoryCoverage.d.ts +36 -0
- package/dist/src/shell/StoryCoverage.js +129 -0
- package/dist/src/shell/StoryPicker.d.ts +0 -1
- package/dist/src/shell/StoryPicker.js +0 -1
- package/dist/src/shell/Toolbar.d.ts +7 -3
- package/dist/src/shell/Toolbar.js +6 -6
- package/dist/src/shell/ToolbarControl.d.ts +6 -8
- package/dist/src/shell/ToolbarControl.js +28 -20
- package/dist/src/shell/UsedIn.d.ts +5 -6
- package/dist/src/shell/UsedIn.js +7 -20
- package/dist/src/shell/ViewMenu.d.ts +7 -7
- package/dist/src/shell/ViewMenu.js +61 -176
- package/dist/src/shell/ViewMenuPanel.d.ts +41 -0
- package/dist/src/shell/ViewMenuPanel.js +199 -0
- package/dist/src/shell/WidthField.d.ts +3 -2
- package/dist/src/shell/WidthField.js +2 -3
- package/dist/src/shell/asideStory.d.ts +34 -0
- package/dist/src/shell/asideStory.js +55 -0
- package/dist/src/shell/audienceLayout.d.ts +39 -0
- package/dist/src/shell/audienceLayout.js +33 -0
- package/dist/src/shell/audiencePage.d.ts +113 -0
- package/dist/src/shell/audiencePage.js +144 -0
- package/dist/src/shell/audienceSections.css +95 -0
- package/dist/src/shell/catalogueContext.d.ts +24 -2
- package/dist/src/shell/catalogueContext.js +12 -9
- package/dist/src/shell/codeTokens.d.ts +0 -1
- package/dist/src/shell/codeTokens.js +0 -1
- package/dist/src/shell/codeWriter.d.ts +0 -1
- package/dist/src/shell/codeWriter.js +0 -1
- package/dist/src/shell/compareVariants.d.ts +0 -1
- package/dist/src/shell/compareVariants.js +2 -2
- package/dist/src/shell/controlCycle.d.ts +0 -1
- package/dist/src/shell/controlCycle.js +13 -1
- package/dist/src/shell/controlLabel.d.ts +7 -0
- package/dist/src/shell/controlLabel.js +17 -0
- package/dist/src/shell/device/deviceFrame.css +42 -0
- package/dist/src/shell/device/deviceParts.d.ts +90 -0
- package/dist/src/shell/device/deviceParts.js +120 -0
- package/dist/src/shell/docPage.css +457 -0
- package/dist/src/shell/dockTabs.d.ts +20 -10
- package/dist/src/shell/dockTabs.js +42 -20
- package/dist/src/shell/embed.css +74 -0
- package/dist/src/shell/filesCode.d.ts +21 -0
- package/dist/src/shell/filesCode.js +37 -0
- package/dist/src/shell/forgebookMark.d.ts +15 -0
- package/dist/src/shell/forgebookMark.js +28 -0
- package/dist/src/shell/framesOrigin.d.ts +23 -0
- package/dist/src/shell/framesOrigin.js +69 -0
- package/dist/src/shell/icons.d.ts +3 -1
- package/dist/src/shell/icons.js +3 -1
- package/dist/src/shell/keyboard.d.ts +0 -1
- package/dist/src/shell/keyboard.js +0 -1
- package/dist/src/shell/laterStrings.d.ts +91 -0
- package/dist/src/shell/laterStrings.js +102 -0
- package/dist/src/shell/lazyModule.d.ts +49 -0
- package/dist/src/shell/lazyModule.js +72 -0
- package/dist/src/shell/lazyTab.d.ts +21 -0
- package/dist/src/shell/lazyTab.js +9 -0
- package/dist/src/shell/logicView.d.ts +0 -12
- package/dist/src/shell/logicView.js +2 -2
- package/dist/src/shell/mountShell.d.ts +5 -3
- package/dist/src/shell/mountShell.js +43 -12
- package/dist/src/shell/pageStrings.d.ts +24 -0
- package/dist/src/shell/pageStrings.js +26 -0
- package/dist/src/shell/pluginHosts.d.ts +9 -0
- package/dist/src/shell/pluginHosts.js +6 -0
- package/dist/src/shell/pluginHostsContext.d.ts +20 -0
- package/dist/src/shell/pluginHostsContext.js +16 -0
- package/dist/src/shell/pluginTabs.d.ts +63 -0
- package/dist/src/shell/pluginTabs.js +60 -0
- package/dist/src/shell/reportedPanel.d.ts +12 -0
- package/dist/src/shell/reportedPanel.js +19 -0
- package/dist/src/shell/search.css +172 -0
- package/dist/src/shell/searchStrings.d.ts +24 -0
- package/dist/src/shell/searchStrings.js +31 -0
- package/dist/src/shell/shell.css +341 -140
- package/dist/src/shell/shellScheme.d.ts +37 -0
- package/dist/src/shell/shellScheme.js +32 -0
- package/dist/src/shell/storyTouch.d.ts +19 -6
- package/dist/src/shell/storyTouch.js +26 -4
- package/dist/src/shell/strings.d.ts +58 -80
- package/dist/src/shell/strings.js +55 -78
- package/dist/src/shell/switchView.d.ts +0 -1
- package/dist/src/shell/switchView.js +0 -1
- package/dist/src/shell/tabSummaries.d.ts +31 -0
- package/dist/src/shell/tabSummaries.js +27 -0
- package/dist/src/shell/treeSearch.d.ts +39 -3
- package/dist/src/shell/treeSearch.js +27 -1
- package/dist/src/shell/useAddressArgs.d.ts +55 -0
- package/dist/src/shell/useAddressArgs.js +62 -0
- package/dist/src/shell/useAnchorScroll.d.ts +24 -0
- package/dist/src/shell/useAnchorScroll.js +90 -0
- package/dist/src/shell/useAppearance.d.ts +7 -2
- package/dist/src/shell/useAppearance.js +14 -5
- package/dist/src/shell/useComponentDocs.d.ts +0 -1
- package/dist/src/shell/useComponentDocs.js +0 -1
- package/dist/src/shell/useControlKeys.d.ts +2 -1
- package/dist/src/shell/useControlKeys.js +2 -3
- package/dist/src/shell/useCopy.d.ts +2 -1
- package/dist/src/shell/useCopy.js +11 -6
- package/dist/src/shell/useFold.d.ts +0 -1
- package/dist/src/shell/useFold.js +0 -1
- package/dist/src/shell/useFrameMessages.d.ts +19 -4
- package/dist/src/shell/useFrameMessages.js +23 -7
- package/dist/src/shell/useFrameQueue.d.ts +7 -3
- package/dist/src/shell/useFrameQueue.js +39 -22
- package/dist/src/shell/useFullPage.d.ts +0 -1
- package/dist/src/shell/useFullPage.js +0 -1
- package/dist/src/shell/useLiveView.d.ts +0 -1
- package/dist/src/shell/useLiveView.js +0 -1
- package/dist/src/shell/useLoaded.d.ts +1 -2
- package/dist/src/shell/useLoaded.js +28 -6
- package/dist/src/shell/usePageDoc.d.ts +0 -1
- package/dist/src/shell/usePageDoc.js +0 -1
- package/dist/src/shell/usePageFrames.d.ts +46 -0
- package/dist/src/shell/usePageFrames.js +50 -0
- package/dist/src/shell/usePanelDocs.d.ts +11 -0
- package/dist/src/shell/usePanelDocs.js +29 -0
- package/dist/src/shell/usePluginTabs.d.ts +18 -0
- package/dist/src/shell/usePluginTabs.js +45 -0
- package/dist/src/shell/usePopover.d.ts +0 -1
- package/dist/src/shell/usePopover.js +0 -1
- package/dist/src/shell/useProseLinks.d.ts +14 -0
- package/dist/src/shell/useProseLinks.js +30 -0
- package/dist/src/shell/useRecentPages.d.ts +3 -4
- package/dist/src/shell/useRecentPages.js +1 -2
- package/dist/src/shell/useRequiredFirst.d.ts +27 -0
- package/dist/src/shell/useRequiredFirst.js +67 -0
- package/dist/src/shell/useScrollMemory.d.ts +9 -1
- package/dist/src/shell/useScrollMemory.js +2 -3
- package/dist/src/shell/useSearchIndex.d.ts +24 -0
- package/dist/src/shell/useSearchIndex.js +51 -0
- package/dist/src/shell/useShownView.d.ts +3 -1
- package/dist/src/shell/useShownView.js +5 -5
- package/dist/src/shell/useSidebarLayout.d.ts +0 -1
- package/dist/src/shell/useSidebarLayout.js +0 -1
- package/dist/src/shell/useStored.d.ts +13 -1
- package/dist/src/shell/useStored.js +13 -5
- package/dist/src/shell/useStoryCheck.d.ts +20 -0
- package/dist/src/shell/useStoryCheck.js +33 -0
- package/dist/src/shell/useStoryCode.d.ts +0 -1
- package/dist/src/shell/useStoryCode.js +0 -1
- package/dist/src/shell/useStoryHeights.d.ts +0 -1
- package/dist/src/shell/useStoryHeights.js +0 -1
- package/dist/src/shell/useStoryIdsElement.d.ts +0 -1
- package/dist/src/shell/useStoryIdsElement.js +0 -1
- package/dist/src/shell/useStoryKeys.d.ts +0 -1
- package/dist/src/shell/useStoryKeys.js +0 -1
- package/dist/src/shell/useSyncedTab.d.ts +8 -0
- package/dist/src/shell/useSyncedTab.js +60 -0
- package/dist/src/shell/useSystemDark.d.ts +0 -1
- package/dist/src/shell/useSystemDark.js +0 -1
- package/dist/src/shell/useToolbarLayout.d.ts +0 -1
- package/dist/src/shell/useToolbarLayout.js +0 -1
- package/dist/src/shell/useToolbarOverflow.d.ts +0 -1
- package/dist/src/shell/useToolbarOverflow.js +0 -1
- package/dist/src/shell/useWorstCase.d.ts +0 -1
- package/dist/src/shell/useWorstCase.js +2 -2
- package/dist/src/shell/worstArgs.d.ts +0 -1
- package/dist/src/shell/worstArgs.js +0 -1
- package/dist/src/shellTheme.d.ts +64 -0
- package/dist/src/shellTheme.js +274 -0
- package/dist/src/shellTheme.types.d.ts +93 -0
- package/dist/src/shellTheme.types.js +10 -0
- package/dist/src/sourceFiles.d.ts +17 -3
- package/dist/src/sourceFiles.js +27 -1
- package/dist/src/spills.d.ts +0 -1
- package/dist/src/spills.js +0 -1
- package/dist/src/storyBackground.d.ts +0 -1
- package/dist/src/storyBackground.js +0 -1
- package/dist/src/storyCheck.d.ts +88 -2
- package/dist/src/storyCheck.js +14 -3
- package/dist/src/storyClock.d.ts +0 -1
- package/dist/src/storyClock.js +0 -1
- package/dist/src/storyGlobals.d.ts +0 -1
- package/dist/src/storyGlobals.js +2 -2
- package/dist/src/storyHeights.d.ts +0 -1
- package/dist/src/storyHeights.js +0 -1
- package/dist/src/storyIds.d.ts +36 -0
- package/dist/src/storyIds.js +52 -0
- package/dist/src/storyIdsElement.d.ts +0 -1
- package/dist/src/storyIdsElement.js +0 -1
- package/dist/src/storyTexts.d.ts +11 -5
- package/dist/src/storyTexts.js +16 -5
- package/dist/src/storyTree.d.ts +89 -25
- package/dist/src/storyTree.js +213 -127
- package/dist/src/switches.d.ts +0 -1
- package/dist/src/switches.js +6 -2
- package/dist/src/toolbarLayout.d.ts +0 -1
- package/dist/src/toolbarLayout.js +0 -1
- package/dist/src/treePlaces.d.ts +60 -0
- package/dist/src/treePlaces.js +89 -0
- package/dist/src/usedIn.d.ts +28 -1
- package/dist/src/usedIn.js +93 -3
- package/dist/src/viewState.d.ts +44 -9
- package/dist/src/viewState.js +80 -9
- package/dist/src/viewWords.d.ts +0 -13
- package/dist/src/viewWords.js +41 -3
- package/dist/src/vite/adapter.d.ts +62 -1
- package/dist/src/vite/adapter.js +20 -2
- package/dist/src/vite/agent.types.d.ts +291 -7
- package/dist/src/vite/agent.types.js +11 -1
- package/dist/src/vite/agentApi.d.ts +55 -2
- package/dist/src/vite/agentApi.js +136 -9
- package/dist/src/vite/agentIds.d.ts +25 -0
- package/dist/src/vite/agentIds.js +41 -0
- package/dist/src/vite/agentIndex.d.ts +63 -0
- package/dist/src/vite/agentIndex.js +91 -0
- package/dist/src/vite/agentIndexRoute.d.ts +10 -0
- package/dist/src/vite/agentIndexRoute.js +35 -0
- package/dist/src/vite/agentRoutes.d.ts +80 -19
- package/dist/src/vite/agentRoutes.js +184 -27
- package/dist/src/vite/autoTitle.d.ts +0 -1
- package/dist/src/vite/autoTitle.js +0 -1
- package/dist/src/vite/axeScript.d.ts +20 -0
- package/dist/src/vite/axeScript.js +60 -0
- package/dist/src/vite/builtTexts.d.ts +75 -0
- package/dist/src/vite/builtTexts.js +143 -0
- package/dist/src/vite/catalogueConfig.d.ts +10 -0
- package/dist/src/vite/catalogueConfig.js +64 -0
- package/dist/src/vite/checkCode.d.ts +67 -0
- package/dist/src/vite/checkCode.js +145 -0
- package/dist/src/vite/closeWatch.d.ts +96 -0
- package/dist/src/vite/closeWatch.js +219 -0
- package/dist/src/vite/codeFence.d.ts +78 -0
- package/dist/src/vite/codeFence.js +267 -0
- package/dist/src/vite/componentImport.d.ts +8 -0
- package/dist/src/vite/componentImport.js +35 -0
- package/dist/src/vite/componentPage.d.ts +15 -2
- package/dist/src/vite/componentPage.js +55 -16
- package/dist/src/vite/config.d.ts +51 -3
- package/dist/src/vite/config.js +0 -1
- package/dist/src/vite/configFile.d.ts +66 -9
- package/dist/src/vite/configFile.js +236 -33
- package/dist/src/vite/designTokens.d.ts +75 -0
- package/dist/src/vite/designTokens.js +382 -0
- package/dist/src/vite/diskCache.d.ts +51 -0
- package/dist/src/vite/diskCache.js +211 -0
- package/dist/src/vite/docDirectives.d.ts +116 -0
- package/dist/src/vite/docDirectives.js +425 -0
- package/dist/src/vite/docMarkdown.d.ts +76 -0
- package/dist/src/vite/docMarkdown.js +150 -0
- package/dist/src/vite/docPageBlocks.d.ts +64 -0
- package/dist/src/vite/docPageBlocks.js +322 -0
- package/dist/src/vite/docPageLinks.d.ts +72 -0
- package/dist/src/vite/docPageLinks.js +135 -0
- package/dist/src/vite/docPageMarkdown.d.ts +86 -0
- package/dist/src/vite/docPageMarkdown.js +133 -0
- package/dist/src/vite/docPageRender.d.ts +27 -0
- package/dist/src/vite/docPageRender.js +199 -0
- package/dist/src/vite/docPageTokens.d.ts +91 -0
- package/dist/src/vite/docPageTokens.js +186 -0
- package/dist/src/vite/docPagesModule.d.ts +53 -0
- package/dist/src/vite/docPagesModule.js +121 -0
- package/dist/src/vite/docPagesRoute.d.ts +38 -0
- package/dist/src/vite/docPagesRoute.js +154 -0
- package/dist/src/vite/docsDependencies.d.ts +6 -0
- package/dist/src/vite/docsDependencies.js +150 -0
- package/dist/src/vite/docsExtractor.d.ts +50 -3
- package/dist/src/vite/docsExtractor.js +173 -26
- package/dist/src/vite/docsProgram.d.ts +89 -9
- package/dist/src/vite/docsProgram.js +413 -50
- package/dist/src/vite/docsWorker.d.ts +0 -1
- package/dist/src/vite/docsWorker.js +49 -15
- package/dist/src/vite/figmaLink.d.ts +26 -0
- package/dist/src/vite/figmaLink.js +92 -0
- package/dist/src/vite/fileAccess.d.ts +51 -0
- package/dist/src/vite/fileAccess.js +109 -0
- package/dist/src/vite/findComponent.d.ts +32 -0
- package/dist/src/vite/findComponent.js +52 -0
- package/dist/src/vite/findRoute.d.ts +14 -0
- package/dist/src/vite/findRoute.js +62 -0
- package/dist/src/vite/forcedStates.d.ts +0 -1
- package/dist/src/vite/forcedStates.js +0 -1
- package/dist/src/vite/forgebookPlugin.d.ts +0 -1
- package/dist/src/vite/forgebookPlugin.js +305 -282
- package/dist/src/vite/framesConfig.d.ts +89 -0
- package/dist/src/vite/framesConfig.js +149 -0
- package/dist/src/vite/framesServer.d.ts +43 -0
- package/dist/src/vite/framesServer.js +342 -0
- package/dist/src/vite/functionComponentDocs.d.ts +26 -0
- package/dist/src/vite/functionComponentDocs.js +193 -0
- package/dist/src/vite/generatedModules.d.ts +23 -0
- package/dist/src/vite/generatedModules.js +58 -0
- package/dist/src/vite/gitChange.d.ts +56 -0
- package/dist/src/vite/gitChange.js +86 -0
- package/dist/src/vite/heightsRoute.d.ts +0 -1
- package/dist/src/vite/heightsRoute.js +0 -1
- package/dist/src/vite/highlightCode.d.ts +0 -1
- package/dist/src/vite/highlightCode.js +8 -27
- package/dist/src/vite/hotSnippets.d.ts +86 -0
- package/dist/src/vite/hotSnippets.js +172 -0
- package/dist/src/vite/indexFields.d.ts +61 -0
- package/dist/src/vite/indexFields.js +149 -0
- package/dist/src/vite/indexStoryFile.d.ts +19 -18
- package/dist/src/vite/indexStoryFile.js +165 -221
- package/dist/src/vite/indexedParameters.d.ts +10 -0
- package/dist/src/vite/indexedParameters.js +130 -0
- package/dist/src/vite/mcpProtocol.d.ts +36 -2
- package/dist/src/vite/mcpProtocol.js +100 -15
- package/dist/src/vite/moduleSummary.d.ts +17 -0
- package/dist/src/vite/moduleSummary.js +40 -0
- package/dist/src/vite/nearestToken.d.ts +50 -0
- package/dist/src/vite/nearestToken.js +295 -0
- package/dist/src/vite/originGuard.d.ts +97 -0
- package/dist/src/vite/originGuard.js +172 -0
- package/dist/src/vite/packedModule.d.ts +40 -0
- package/dist/src/vite/packedModule.js +74 -0
- package/dist/src/vite/pages.d.ts +64 -10
- package/dist/src/vite/pages.js +278 -40
- package/dist/src/vite/parsedFiles.d.ts +18 -0
- package/dist/src/vite/parsedFiles.js +91 -0
- package/dist/src/vite/plainGrammars.d.ts +20 -0
- package/dist/src/vite/plainGrammars.js +113 -0
- package/dist/src/vite/pluginConfig.d.ts +47 -0
- package/dist/src/vite/pluginConfig.js +220 -0
- package/dist/src/vite/pluginIds.d.ts +27 -0
- package/dist/src/vite/pluginIds.js +76 -0
- package/dist/src/vite/pluginModules.d.ts +169 -0
- package/dist/src/vite/pluginModules.js +221 -0
- package/dist/src/vite/prebundled.d.ts +18 -5
- package/dist/src/vite/prebundled.js +29 -18
- package/dist/src/vite/previewPages.d.ts +14 -0
- package/dist/src/vite/previewPages.js +81 -0
- package/dist/src/vite/previewRoute.d.ts +8 -0
- package/dist/src/vite/previewRoute.js +8 -0
- package/dist/src/vite/previewRunner.d.ts +56 -0
- package/dist/src/vite/previewRunner.js +207 -0
- package/dist/src/vite/propDocs.d.ts +60 -0
- package/dist/src/vite/propDocs.js +387 -0
- package/dist/src/vite/searchModule.d.ts +42 -0
- package/dist/src/vite/searchModule.js +213 -0
- package/dist/src/vite/searchRoute.d.ts +7 -0
- package/dist/src/vite/searchRoute.js +79 -0
- package/dist/src/vite/serverConditions.d.ts +31 -0
- package/dist/src/vite/serverConditions.js +69 -0
- package/dist/src/vite/signatureDocs.d.ts +18 -0
- package/dist/src/vite/signatureDocs.js +64 -0
- package/dist/src/vite/sourceTokens.d.ts +57 -0
- package/dist/src/vite/sourceTokens.js +164 -0
- package/dist/src/vite/storyCode.d.ts +0 -1
- package/dist/src/vite/storyCode.js +2 -3
- package/dist/src/vite/storyExports.d.ts +32 -0
- package/dist/src/vite/storyExports.js +27 -0
- package/dist/src/vite/storyFilesModule.d.ts +104 -20
- package/dist/src/vite/storyFilesModule.js +178 -60
- package/dist/src/vite/storyMeta.d.ts +20 -11
- package/dist/src/vite/storyMeta.js +74 -38
- package/dist/src/vite/storyParse.d.ts +18 -0
- package/dist/src/vite/storyParse.js +20 -0
- package/dist/src/vite/storyPatterns.d.ts +39 -0
- package/dist/src/vite/storyPatterns.js +100 -0
- package/dist/src/vite/storyPlay.d.ts +29 -0
- package/dist/src/vite/storyPlay.js +54 -0
- package/dist/src/vite/storyReach.d.ts +42 -0
- package/dist/src/vite/storyReach.js +43 -0
- package/dist/src/vite/storylessRoutes.d.ts +29 -0
- package/dist/src/vite/storylessRoutes.js +126 -0
- package/dist/src/vite/textModules.d.ts +63 -0
- package/dist/src/vite/textModules.js +132 -0
- package/dist/src/vite/textQueries.d.ts +26 -0
- package/dist/src/vite/textQueries.js +26 -0
- package/dist/src/vite/themeFromTokens.d.ts +35 -0
- package/dist/src/vite/themeFromTokens.js +73 -0
- package/dist/src/vite/tokenAnswers.d.ts +20 -0
- package/dist/src/vite/tokenAnswers.js +86 -0
- package/dist/src/vite/tokenClashes.d.ts +44 -0
- package/dist/src/vite/tokenClashes.js +45 -0
- package/dist/src/vite/touchMedia.d.ts +0 -1
- package/dist/src/vite/touchMedia.js +0 -1
- package/dist/src/vite/typeScriptPieces.d.ts +0 -1
- package/dist/src/vite/typeScriptPieces.js +2 -3
- package/dist/src/vite/usageGraph.d.ts +6 -1
- package/dist/src/vite/usageGraph.js +41 -7
- package/dist/src/vite/usageGuidance.d.ts +33 -0
- package/dist/src/vite/usageGuidance.js +45 -0
- package/dist/src/vite/usageModule.d.ts +0 -1
- package/dist/src/vite/usageModule.js +0 -1
- package/dist/src/vite/vitePaths.d.ts +53 -0
- package/dist/src/vite/vitePaths.js +53 -0
- package/dist/src/worstCase.d.ts +0 -1
- package/dist/src/worstCase.js +0 -1
- package/package.json +68 -5
- package/dist/bin/forgebook/agentClient.d.ts.map +0 -1
- package/dist/bin/forgebook/agentClient.js.map +0 -1
- package/dist/bin/forgebook/agentLoopCommands.d.mts.map +0 -1
- package/dist/bin/forgebook/agentLoopCommands.mjs.map +0 -1
- package/dist/bin/forgebook/agentText.d.ts.map +0 -1
- package/dist/bin/forgebook/agentText.js.map +0 -1
- package/dist/bin/forgebook/agentsText.d.ts.map +0 -1
- package/dist/bin/forgebook/agentsText.js.map +0 -1
- package/dist/bin/forgebook/catalogueCommands.d.ts.map +0 -1
- package/dist/bin/forgebook/catalogueCommands.js.map +0 -1
- package/dist/bin/forgebook/catalogueVite.d.ts.map +0 -1
- package/dist/bin/forgebook/catalogueVite.js.map +0 -1
- package/dist/bin/forgebook/errorsRun.d.ts.map +0 -1
- package/dist/bin/forgebook/errorsRun.js.map +0 -1
- package/dist/bin/forgebook/forgebook.d.mts.map +0 -1
- package/dist/bin/forgebook/forgebook.mjs.map +0 -1
- package/dist/bin/forgebook/importers/storybook.d.ts.map +0 -1
- package/dist/bin/forgebook/importers/storybook.js.map +0 -1
- package/dist/bin/forgebook/initCommands.d.mts.map +0 -1
- package/dist/bin/forgebook/initCommands.mjs.map +0 -1
- package/dist/bin/forgebook/initConfig.d.ts.map +0 -1
- package/dist/bin/forgebook/initConfig.js.map +0 -1
- package/dist/bin/forgebook/mcpTools.d.ts.map +0 -1
- package/dist/bin/forgebook/mcpTools.js.map +0 -1
- package/dist/bin/forgebook/newStories.d.ts.map +0 -1
- package/dist/bin/forgebook/newStories.js.map +0 -1
- package/dist/bin/forgebook/newStoriesFile.d.ts.map +0 -1
- package/dist/bin/forgebook/newStoriesFile.js.map +0 -1
- package/dist/bin/forgebook/storyCheckRun.d.ts.map +0 -1
- package/dist/bin/forgebook/storyCheckRun.js.map +0 -1
- package/dist/bin/forgebook/touchWindowRun.d.ts.map +0 -1
- package/dist/bin/forgebook/touchWindowRun.js.map +0 -1
- package/dist/bin/forgebook-docs/catalogueDocs.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/catalogueDocs.js.map +0 -1
- package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/catalogueDocs.types.js.map +0 -1
- package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/catalogueMarkdown.js.map +0 -1
- package/dist/bin/forgebook-docs/catalogueOptions.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/catalogueOptions.js.map +0 -1
- package/dist/bin/forgebook-docs/collectDocs.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/collectDocs.js.map +0 -1
- package/dist/bin/forgebook-docs/forgebook-docs.d.mts.map +0 -1
- package/dist/bin/forgebook-docs/forgebook-docs.mjs.map +0 -1
- package/dist/bin/forgebook-docs/llmsText.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/llmsText.js.map +0 -1
- package/dist/bin/forgebook-docs/moduleDocs.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/moduleDocs.js.map +0 -1
- package/dist/bin/forgebook-docs/sassDocs.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/sassDocs.js.map +0 -1
- package/dist/bin/forgebook-docs/sourceId.d.ts +0 -9
- package/dist/bin/forgebook-docs/sourceId.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/sourceId.js +0 -45
- package/dist/bin/forgebook-docs/sourceId.js.map +0 -1
- package/dist/bin/forgebook-texts/forgebook-texts.d.mts.map +0 -1
- package/dist/bin/forgebook-texts/forgebook-texts.mjs.map +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.d.ts.map +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.js.map +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.types.d.ts.map +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.types.js.map +0 -1
- package/dist/bin/frameworkDocs.d.ts.map +0 -1
- package/dist/bin/frameworkDocs.js.map +0 -1
- package/dist/src/a11y.d.ts.map +0 -1
- package/dist/src/a11y.js.map +0 -1
- package/dist/src/argTypes.d.ts.map +0 -1
- package/dist/src/argTypes.js.map +0 -1
- package/dist/src/backdrops.d.ts.map +0 -1
- package/dist/src/backdrops.js.map +0 -1
- package/dist/src/catalogue.d.ts.map +0 -1
- package/dist/src/catalogue.js.map +0 -1
- package/dist/src/componentDocs.d.ts.map +0 -1
- package/dist/src/componentDocs.js.map +0 -1
- package/dist/src/controlKeys.d.ts.map +0 -1
- package/dist/src/controlKeys.js.map +0 -1
- package/dist/src/frame/checkStory.d.ts.map +0 -1
- package/dist/src/frame/checkStory.js.map +0 -1
- package/dist/src/frame/frameClock.d.ts.map +0 -1
- package/dist/src/frame/frameClock.js.map +0 -1
- package/dist/src/frame/frameStatus.d.ts.map +0 -1
- package/dist/src/frame/frameStatus.js.map +0 -1
- package/dist/src/frame/frameView.d.ts.map +0 -1
- package/dist/src/frame/frameView.js.map +0 -1
- package/dist/src/frame/matrixLayout.d.ts.map +0 -1
- package/dist/src/frame/matrixLayout.js.map +0 -1
- package/dist/src/frame/measureTools.d.ts.map +0 -1
- package/dist/src/frame/measureTools.js.map +0 -1
- package/dist/src/frame/mountFrame.d.ts.map +0 -1
- package/dist/src/frame/mountFrame.js.map +0 -1
- package/dist/src/frame/playStory.d.ts.map +0 -1
- package/dist/src/frame/playStory.js.map +0 -1
- package/dist/src/frame/renderer.d.ts.map +0 -1
- package/dist/src/frame/renderer.js.map +0 -1
- package/dist/src/frame/settle.d.ts.map +0 -1
- package/dist/src/frame/settle.js.map +0 -1
- package/dist/src/frame/spillOutline.d.ts.map +0 -1
- package/dist/src/frame/spillOutline.js.map +0 -1
- package/dist/src/frame/staleModule.d.ts.map +0 -1
- package/dist/src/frame/staleModule.js.map +0 -1
- package/dist/src/frame/storyCanvas.d.ts.map +0 -1
- package/dist/src/frame/storyCanvas.js.map +0 -1
- package/dist/src/frame/storyHooks.d.ts.map +0 -1
- package/dist/src/frame/storyHooks.js.map +0 -1
- package/dist/src/frame/storyModule.d.ts.map +0 -1
- package/dist/src/frame/storyModule.js.map +0 -1
- package/dist/src/frame/storyRun.d.ts.map +0 -1
- package/dist/src/frame/storyRun.js.map +0 -1
- package/dist/src/frame/touchDots.d.ts.map +0 -1
- package/dist/src/frame/touchDots.js.map +0 -1
- package/dist/src/frame/touchEvents.d.ts.map +0 -1
- package/dist/src/frame/touchEvents.js.map +0 -1
- package/dist/src/frame/touchGesture.d.ts.map +0 -1
- package/dist/src/frame/touchGesture.js.map +0 -1
- package/dist/src/frame/touchLayer.d.ts.map +0 -1
- package/dist/src/frame/touchLayer.js.map +0 -1
- package/dist/src/frame/touchScroll.d.ts.map +0 -1
- package/dist/src/frame/touchScroll.js.map +0 -1
- package/dist/src/languages.d.ts.map +0 -1
- package/dist/src/languages.js.map +0 -1
- package/dist/src/liveErrors.d.ts.map +0 -1
- package/dist/src/liveErrors.js.map +0 -1
- package/dist/src/matrix.d.ts.map +0 -1
- package/dist/src/matrix.js.map +0 -1
- package/dist/src/messages.d.ts.map +0 -1
- package/dist/src/messages.js.map +0 -1
- package/dist/src/namedValues.d.ts.map +0 -1
- package/dist/src/namedValues.js.map +0 -1
- package/dist/src/namedViews.d.ts.map +0 -1
- package/dist/src/namedViews.js.map +0 -1
- package/dist/src/pageConfig.d.ts.map +0 -1
- package/dist/src/pageConfig.js.map +0 -1
- package/dist/src/playTrace.d.ts.map +0 -1
- package/dist/src/playTrace.js.map +0 -1
- package/dist/src/realTouch.d.ts.map +0 -1
- package/dist/src/realTouch.js.map +0 -1
- package/dist/src/shell/A11yTab.d.ts.map +0 -1
- package/dist/src/shell/A11yTab.js.map +0 -1
- package/dist/src/shell/ApiReference.d.ts.map +0 -1
- package/dist/src/shell/ApiReference.js.map +0 -1
- package/dist/src/shell/AppearanceMenu.d.ts.map +0 -1
- package/dist/src/shell/AppearanceMenu.js.map +0 -1
- package/dist/src/shell/BoxWidth.d.ts.map +0 -1
- package/dist/src/shell/BoxWidth.js.map +0 -1
- package/dist/src/shell/ClockControls.d.ts.map +0 -1
- package/dist/src/shell/ClockControls.js.map +0 -1
- package/dist/src/shell/Code.d.ts.map +0 -1
- package/dist/src/shell/Code.js.map +0 -1
- package/dist/src/shell/CodeTab.d.ts.map +0 -1
- package/dist/src/shell/CodeTab.js.map +0 -1
- package/dist/src/shell/CodeText.d.ts.map +0 -1
- package/dist/src/shell/CodeText.js.map +0 -1
- package/dist/src/shell/ComponentPage.d.ts.map +0 -1
- package/dist/src/shell/ComponentPage.js.map +0 -1
- package/dist/src/shell/ControlKeyField.d.ts.map +0 -1
- package/dist/src/shell/ControlKeyField.js.map +0 -1
- package/dist/src/shell/ControlRow.d.ts.map +0 -1
- package/dist/src/shell/ControlRow.js.map +0 -1
- package/dist/src/shell/Dock.d.ts.map +0 -1
- package/dist/src/shell/Dock.js.map +0 -1
- package/dist/src/shell/EventsTab.d.ts.map +0 -1
- package/dist/src/shell/EventsTab.js.map +0 -1
- package/dist/src/shell/Example.d.ts.map +0 -1
- package/dist/src/shell/Example.js.map +0 -1
- package/dist/src/shell/FrameView.d.ts.map +0 -1
- package/dist/src/shell/FrameView.js.map +0 -1
- package/dist/src/shell/HomePage.d.ts.map +0 -1
- package/dist/src/shell/HomePage.js.map +0 -1
- package/dist/src/shell/InfoTip.d.ts.map +0 -1
- package/dist/src/shell/InfoTip.js.map +0 -1
- package/dist/src/shell/InteractionsTab.d.ts.map +0 -1
- package/dist/src/shell/InteractionsTab.js.map +0 -1
- package/dist/src/shell/LogicMark.d.ts.map +0 -1
- package/dist/src/shell/LogicMark.js.map +0 -1
- package/dist/src/shell/MatrixPicker.d.ts.map +0 -1
- package/dist/src/shell/MatrixPicker.js.map +0 -1
- package/dist/src/shell/NamedViews.d.ts.map +0 -1
- package/dist/src/shell/NamedViews.js.map +0 -1
- package/dist/src/shell/PackageHtml.d.ts.map +0 -1
- package/dist/src/shell/PackageHtml.js.map +0 -1
- package/dist/src/shell/PartsTab.d.ts.map +0 -1
- package/dist/src/shell/PartsTab.js.map +0 -1
- package/dist/src/shell/PinnedControl.d.ts.map +0 -1
- package/dist/src/shell/PinnedControl.js.map +0 -1
- package/dist/src/shell/PropFields.d.ts.map +0 -1
- package/dist/src/shell/PropFields.js.map +0 -1
- package/dist/src/shell/PropsTab.d.ts.map +0 -1
- package/dist/src/shell/PropsTab.js.map +0 -1
- package/dist/src/shell/Segmented.d.ts.map +0 -1
- package/dist/src/shell/Segmented.js.map +0 -1
- package/dist/src/shell/Shell.d.ts.map +0 -1
- package/dist/src/shell/Shell.js.map +0 -1
- package/dist/src/shell/Sidebar.d.ts.map +0 -1
- package/dist/src/shell/Sidebar.js.map +0 -1
- package/dist/src/shell/SidebarEntries.d.ts.map +0 -1
- package/dist/src/shell/SidebarEntries.js.map +0 -1
- package/dist/src/shell/SidebarHandle.d.ts.map +0 -1
- package/dist/src/shell/SidebarHandle.js.map +0 -1
- package/dist/src/shell/SignatureReference.d.ts.map +0 -1
- package/dist/src/shell/SignatureReference.js.map +0 -1
- package/dist/src/shell/Stage.d.ts.map +0 -1
- package/dist/src/shell/Stage.js.map +0 -1
- package/dist/src/shell/StageTools.d.ts.map +0 -1
- package/dist/src/shell/StageTools.js.map +0 -1
- package/dist/src/shell/StageViewport.d.ts.map +0 -1
- package/dist/src/shell/StageViewport.js.map +0 -1
- package/dist/src/shell/StoryCodeBlock.d.ts.map +0 -1
- package/dist/src/shell/StoryCodeBlock.js.map +0 -1
- package/dist/src/shell/StoryPicker.d.ts.map +0 -1
- package/dist/src/shell/StoryPicker.js.map +0 -1
- package/dist/src/shell/Toolbar.d.ts.map +0 -1
- package/dist/src/shell/Toolbar.js.map +0 -1
- package/dist/src/shell/ToolbarControl.d.ts.map +0 -1
- package/dist/src/shell/ToolbarControl.js.map +0 -1
- package/dist/src/shell/UsedIn.d.ts.map +0 -1
- package/dist/src/shell/UsedIn.js.map +0 -1
- package/dist/src/shell/ViewMenu.d.ts.map +0 -1
- package/dist/src/shell/ViewMenu.js.map +0 -1
- package/dist/src/shell/WidthField.d.ts.map +0 -1
- package/dist/src/shell/WidthField.js.map +0 -1
- package/dist/src/shell/catalogueContext.d.ts.map +0 -1
- package/dist/src/shell/catalogueContext.js.map +0 -1
- package/dist/src/shell/codeTokens.d.ts.map +0 -1
- package/dist/src/shell/codeTokens.js.map +0 -1
- package/dist/src/shell/codeWriter.d.ts.map +0 -1
- package/dist/src/shell/codeWriter.js.map +0 -1
- package/dist/src/shell/compareVariants.d.ts.map +0 -1
- package/dist/src/shell/compareVariants.js.map +0 -1
- package/dist/src/shell/controlCycle.d.ts.map +0 -1
- package/dist/src/shell/controlCycle.js.map +0 -1
- package/dist/src/shell/dockTabs.d.ts.map +0 -1
- package/dist/src/shell/dockTabs.js.map +0 -1
- package/dist/src/shell/icons.d.ts.map +0 -1
- package/dist/src/shell/icons.js.map +0 -1
- package/dist/src/shell/keyboard.d.ts.map +0 -1
- package/dist/src/shell/keyboard.js.map +0 -1
- package/dist/src/shell/logicView.d.ts.map +0 -1
- package/dist/src/shell/logicView.js.map +0 -1
- package/dist/src/shell/mountShell.d.ts.map +0 -1
- package/dist/src/shell/mountShell.js.map +0 -1
- package/dist/src/shell/storyTouch.d.ts.map +0 -1
- package/dist/src/shell/storyTouch.js.map +0 -1
- package/dist/src/shell/strings.d.ts.map +0 -1
- package/dist/src/shell/strings.js.map +0 -1
- package/dist/src/shell/switchView.d.ts.map +0 -1
- package/dist/src/shell/switchView.js.map +0 -1
- package/dist/src/shell/treeSearch.d.ts.map +0 -1
- package/dist/src/shell/treeSearch.js.map +0 -1
- package/dist/src/shell/useAppearance.d.ts.map +0 -1
- package/dist/src/shell/useAppearance.js.map +0 -1
- package/dist/src/shell/useComponentDocs.d.ts.map +0 -1
- package/dist/src/shell/useComponentDocs.js.map +0 -1
- package/dist/src/shell/useControlKeys.d.ts.map +0 -1
- package/dist/src/shell/useControlKeys.js.map +0 -1
- package/dist/src/shell/useCopy.d.ts.map +0 -1
- package/dist/src/shell/useCopy.js.map +0 -1
- package/dist/src/shell/useFold.d.ts.map +0 -1
- package/dist/src/shell/useFold.js.map +0 -1
- package/dist/src/shell/useFrameMessages.d.ts.map +0 -1
- package/dist/src/shell/useFrameMessages.js.map +0 -1
- package/dist/src/shell/useFrameQueue.d.ts.map +0 -1
- package/dist/src/shell/useFrameQueue.js.map +0 -1
- package/dist/src/shell/useFullPage.d.ts.map +0 -1
- package/dist/src/shell/useFullPage.js.map +0 -1
- package/dist/src/shell/useLiveView.d.ts.map +0 -1
- package/dist/src/shell/useLiveView.js.map +0 -1
- package/dist/src/shell/useLoaded.d.ts.map +0 -1
- package/dist/src/shell/useLoaded.js.map +0 -1
- package/dist/src/shell/usePageDoc.d.ts.map +0 -1
- package/dist/src/shell/usePageDoc.js.map +0 -1
- package/dist/src/shell/usePopover.d.ts.map +0 -1
- package/dist/src/shell/usePopover.js.map +0 -1
- package/dist/src/shell/useRecentPages.d.ts.map +0 -1
- package/dist/src/shell/useRecentPages.js.map +0 -1
- package/dist/src/shell/useScrollMemory.d.ts.map +0 -1
- package/dist/src/shell/useScrollMemory.js.map +0 -1
- package/dist/src/shell/useShownView.d.ts.map +0 -1
- package/dist/src/shell/useShownView.js.map +0 -1
- package/dist/src/shell/useSidebarLayout.d.ts.map +0 -1
- package/dist/src/shell/useSidebarLayout.js.map +0 -1
- package/dist/src/shell/useStored.d.ts.map +0 -1
- package/dist/src/shell/useStored.js.map +0 -1
- package/dist/src/shell/useStoryCode.d.ts.map +0 -1
- package/dist/src/shell/useStoryCode.js.map +0 -1
- package/dist/src/shell/useStoryHeights.d.ts.map +0 -1
- package/dist/src/shell/useStoryHeights.js.map +0 -1
- package/dist/src/shell/useStoryIdsElement.d.ts.map +0 -1
- package/dist/src/shell/useStoryIdsElement.js.map +0 -1
- package/dist/src/shell/useStoryKeys.d.ts.map +0 -1
- package/dist/src/shell/useStoryKeys.js.map +0 -1
- package/dist/src/shell/useSystemDark.d.ts.map +0 -1
- package/dist/src/shell/useSystemDark.js.map +0 -1
- package/dist/src/shell/useToolbarLayout.d.ts.map +0 -1
- package/dist/src/shell/useToolbarLayout.js.map +0 -1
- package/dist/src/shell/useToolbarOverflow.d.ts.map +0 -1
- package/dist/src/shell/useToolbarOverflow.js.map +0 -1
- package/dist/src/shell/useWorstCase.d.ts.map +0 -1
- package/dist/src/shell/useWorstCase.js.map +0 -1
- package/dist/src/shell/worstArgs.d.ts.map +0 -1
- package/dist/src/shell/worstArgs.js.map +0 -1
- package/dist/src/sourceFiles.d.ts.map +0 -1
- package/dist/src/sourceFiles.js.map +0 -1
- package/dist/src/spills.d.ts.map +0 -1
- package/dist/src/spills.js.map +0 -1
- package/dist/src/storyBackground.d.ts.map +0 -1
- package/dist/src/storyBackground.js.map +0 -1
- package/dist/src/storyCheck.d.ts.map +0 -1
- package/dist/src/storyCheck.js.map +0 -1
- package/dist/src/storyClock.d.ts.map +0 -1
- package/dist/src/storyClock.js.map +0 -1
- package/dist/src/storyGlobals.d.ts.map +0 -1
- package/dist/src/storyGlobals.js.map +0 -1
- package/dist/src/storyHeights.d.ts.map +0 -1
- package/dist/src/storyHeights.js.map +0 -1
- package/dist/src/storyIdsElement.d.ts.map +0 -1
- package/dist/src/storyIdsElement.js.map +0 -1
- package/dist/src/storyTexts.d.ts.map +0 -1
- package/dist/src/storyTexts.js.map +0 -1
- package/dist/src/storyTree.d.ts.map +0 -1
- package/dist/src/storyTree.js.map +0 -1
- package/dist/src/switches.d.ts.map +0 -1
- package/dist/src/switches.js.map +0 -1
- package/dist/src/toolbarLayout.d.ts.map +0 -1
- package/dist/src/toolbarLayout.js.map +0 -1
- package/dist/src/usedIn.d.ts.map +0 -1
- package/dist/src/usedIn.js.map +0 -1
- package/dist/src/viewState.d.ts.map +0 -1
- package/dist/src/viewState.js.map +0 -1
- package/dist/src/viewWords.d.ts.map +0 -1
- package/dist/src/viewWords.js.map +0 -1
- package/dist/src/vite/adapter.d.ts.map +0 -1
- package/dist/src/vite/adapter.js.map +0 -1
- package/dist/src/vite/agent.types.d.ts.map +0 -1
- package/dist/src/vite/agent.types.js.map +0 -1
- package/dist/src/vite/agentApi.d.ts.map +0 -1
- package/dist/src/vite/agentApi.js.map +0 -1
- package/dist/src/vite/agentRoutes.d.ts.map +0 -1
- package/dist/src/vite/agentRoutes.js.map +0 -1
- package/dist/src/vite/autoTitle.d.ts.map +0 -1
- package/dist/src/vite/autoTitle.js.map +0 -1
- package/dist/src/vite/componentPage.d.ts.map +0 -1
- package/dist/src/vite/componentPage.js.map +0 -1
- package/dist/src/vite/config.d.ts.map +0 -1
- package/dist/src/vite/config.js.map +0 -1
- package/dist/src/vite/configFile.d.ts.map +0 -1
- package/dist/src/vite/configFile.js.map +0 -1
- package/dist/src/vite/docsExtractor.d.ts.map +0 -1
- package/dist/src/vite/docsExtractor.js.map +0 -1
- package/dist/src/vite/docsProgram.d.ts.map +0 -1
- package/dist/src/vite/docsProgram.js.map +0 -1
- package/dist/src/vite/docsWorker.d.ts.map +0 -1
- package/dist/src/vite/docsWorker.js.map +0 -1
- package/dist/src/vite/forcedStates.d.ts.map +0 -1
- package/dist/src/vite/forcedStates.js.map +0 -1
- package/dist/src/vite/forgebookPlugin.d.ts.map +0 -1
- package/dist/src/vite/forgebookPlugin.js.map +0 -1
- package/dist/src/vite/heightsRoute.d.ts.map +0 -1
- package/dist/src/vite/heightsRoute.js.map +0 -1
- package/dist/src/vite/highlightCode.d.ts.map +0 -1
- package/dist/src/vite/highlightCode.js.map +0 -1
- package/dist/src/vite/indexStoryFile.d.ts.map +0 -1
- package/dist/src/vite/indexStoryFile.js.map +0 -1
- package/dist/src/vite/mcpProtocol.d.ts.map +0 -1
- package/dist/src/vite/mcpProtocol.js.map +0 -1
- package/dist/src/vite/pages.d.ts.map +0 -1
- package/dist/src/vite/pages.js.map +0 -1
- package/dist/src/vite/prebundled.d.ts.map +0 -1
- package/dist/src/vite/prebundled.js.map +0 -1
- package/dist/src/vite/storyCode.d.ts.map +0 -1
- package/dist/src/vite/storyCode.js.map +0 -1
- package/dist/src/vite/storyFilesModule.d.ts.map +0 -1
- package/dist/src/vite/storyFilesModule.js.map +0 -1
- package/dist/src/vite/storyMeta.d.ts.map +0 -1
- package/dist/src/vite/storyMeta.js.map +0 -1
- package/dist/src/vite/touchMedia.d.ts.map +0 -1
- package/dist/src/vite/touchMedia.js.map +0 -1
- package/dist/src/vite/typeScriptPieces.d.ts.map +0 -1
- package/dist/src/vite/typeScriptPieces.js.map +0 -1
- package/dist/src/vite/usageGraph.d.ts.map +0 -1
- package/dist/src/vite/usageGraph.js.map +0 -1
- package/dist/src/vite/usageModule.d.ts.map +0 -1
- package/dist/src/vite/usageModule.js.map +0 -1
- package/dist/src/worstCase.d.ts.map +0 -1
- package/dist/src/worstCase.js.map +0 -1
|
@@ -1,31 +1,26 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
/**
|
|
3
|
-
* The View menu:
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* The View menu: its button, with a dot when one of its values is changed, and its panel (`ViewMenuPanel`): every
|
|
4
|
+
* control the person did not hide in it, in their order, each with its value, a handle to move it, a pin that puts it
|
|
5
|
+
* on the toolbar and a button that hides it here (a pinned one stays on the toolbar); at its foot the hidden controls,
|
|
6
|
+
* the wrap choice, the values' reset and the toolbar's reset.
|
|
6
7
|
*
|
|
7
8
|
* @remarks
|
|
8
|
-
* The
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* The button is on every page and the panel only once asked for, so the panel's module loads the first time the menu
|
|
10
|
+
* opens, fetched already when the pointer comes over the button or the focus reaches it. The popover opens at once as
|
|
11
|
+
* before, and its content is drawn as soon as the module is there, the focus then going to its chosen option.
|
|
11
12
|
*
|
|
12
13
|
* @module
|
|
13
14
|
*/
|
|
14
|
-
import { useEffect,
|
|
15
|
-
import {
|
|
16
|
-
import { ControlRow } from "./ControlRow.js";
|
|
15
|
+
import { useEffect, useLayoutEffect, useState } from "react";
|
|
16
|
+
import { hasViewChanges } from "../viewState.js";
|
|
17
17
|
import { useCatalogue } from "./catalogueContext.js";
|
|
18
18
|
import { Icon } from "./icons.js";
|
|
19
|
-
import { NamedViews } from "./NamedViews.js";
|
|
20
19
|
import { STRINGS } from "./strings.js";
|
|
21
|
-
import {
|
|
20
|
+
import { ToolbarControl } from "./ToolbarControl.js";
|
|
22
21
|
import { usePopover } from "./usePopover.js";
|
|
23
22
|
/** The room the menu keeps from the window's right edge, in CSS px. */
|
|
24
23
|
const EDGE_PX = 12;
|
|
25
|
-
/** How long the rows take to move out of a dragged row's way, in ms: the shell's `$duration-quick`. */
|
|
26
|
-
const SHIFT_MS = 150;
|
|
27
|
-
/** How they move: the shell's `$ease-out`, decelerating. */
|
|
28
|
-
const SHIFT_EASING = "cubic-bezier(0.22, 1, 0.36, 1)";
|
|
29
24
|
/**
|
|
30
25
|
* The ids of the controls whose values the View menu answers for: those not on the toolbar (in it, or hidden, whose
|
|
31
26
|
* value still applies, or pinned but moved into it for want of room), the stage's width aside, which is not a view
|
|
@@ -37,74 +32,20 @@ const SHIFT_EASING = "cubic-bezier(0.22, 1, 0.36, 1)";
|
|
|
37
32
|
export const menuControlIds = (placed, movedIds = []) => placed
|
|
38
33
|
.filter((each) => (!each.isPinned || movedIds.includes(each.control.id)) && each.control.id !== "width")
|
|
39
34
|
.map((each) => each.control.id);
|
|
40
|
-
/**
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
...Object.fromEntries(switches.filter((each) => ids.includes(each.id)).map((each) => [each.id, each.default]))
|
|
52
|
-
},
|
|
53
|
-
backdrop: ids.includes("backdrop") ? DEFAULT_VIEW.backdrop : view.backdrop,
|
|
54
|
-
sheets: ids.includes("sheets") ? DEFAULT_VIEW.sheets : view.sheets,
|
|
55
|
-
text: ids.includes("text") ? DEFAULT_VIEW.text : view.text
|
|
56
|
-
});
|
|
57
|
-
/**
|
|
58
|
-
* Moves the rows out of the way animated when the order changes: each row starts from where it was drawn and slides
|
|
59
|
-
* to its new place (the dragged row aside, which follows the pointer); without motion they jump.
|
|
60
|
-
*
|
|
61
|
-
* @param list - the list.
|
|
62
|
-
* @param order - the rows' ids in their order.
|
|
63
|
-
* @param draggedId - the dragged row's id, if one is dragged.
|
|
64
|
-
*/
|
|
65
|
-
const useShiftedRows = (list, order, draggedId) => {
|
|
66
|
-
const tops = useRef(new Map());
|
|
67
|
-
// biome-ignore lint/correctness/useExhaustiveDependencies: the rows are measured again whenever their order changes
|
|
68
|
-
useLayoutEffect(() => {
|
|
69
|
-
const rows = [...(list.current?.querySelectorAll("[data-control]") ?? [])];
|
|
70
|
-
const isReduced = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
71
|
-
for (const row of rows) {
|
|
72
|
-
const id = row.dataset["control"] ?? "";
|
|
73
|
-
const before = tops.current.get(id);
|
|
74
|
-
tops.current.set(id, row.offsetTop);
|
|
75
|
-
if (before === undefined || id === draggedId || isReduced)
|
|
76
|
-
continue;
|
|
77
|
-
// where the row is drawn now: its last place plus what a running move still shifts it by
|
|
78
|
-
const shift = new DOMMatrixReadOnly(getComputedStyle(row).transform).m42;
|
|
79
|
-
const start = before + shift - row.offsetTop;
|
|
80
|
-
for (const running of row.getAnimations())
|
|
81
|
-
running.cancel();
|
|
82
|
-
if (start === 0)
|
|
83
|
-
continue;
|
|
84
|
-
row.animate([{ transform: `translateY(${start}px)` }, { transform: "translateY(0)" }], {
|
|
85
|
-
duration: SHIFT_MS,
|
|
86
|
-
easing: SHIFT_EASING
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
}, [order]);
|
|
90
|
-
};
|
|
91
|
-
/**
|
|
92
|
-
* The controls hidden in the menu, at its foot: their count, which opens them as rows like the others, each one usable
|
|
93
|
-
* while it stays hidden, with its pin (a hidden control may still sit on the toolbar) and a button that shows it
|
|
94
|
-
* again in its place.
|
|
95
|
-
*
|
|
96
|
-
* @param props - the hidden controls, the arrangement, and what every control shares.
|
|
97
|
-
*/
|
|
98
|
-
const HiddenControls = ({ hidden, layout, ...context }) => {
|
|
99
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
100
|
-
const listId = useId();
|
|
101
|
-
if (hidden.length === 0)
|
|
102
|
-
return null;
|
|
103
|
-
return (_jsxs("div", { className: "forgebook-hidden-controls", children: [_jsxs("button", { type: "button", className: "forgebook-text-button", "aria-expanded": isOpen, "aria-controls": listId, onClick: () => setIsOpen(!isOpen), children: [STRINGS.hiddenControls(hidden.length, hidden.filter((each) => each.isPinned).length), _jsx(Icon, { name: isOpen ? "chevronDown" : "chevronRight", size: 12 })] }), isOpen ? (_jsx("ul", { id: listId, className: "forgebook-arrange-list", children: hidden.map(({ control, isPinned }) => {
|
|
104
|
-
const label = controlLabel(control);
|
|
105
|
-
return (_jsxs("li", { className: "forgebook-arrange", "data-control": control.id, "data-hidden": "", children: [_jsx("span", { className: "forgebook-arrange__no-handle" }), _jsx("span", { className: "forgebook-popover__label", children: label }), _jsx("div", { className: "forgebook-arrange__control", children: _jsx(ToolbarControl, { control: control, form: "row", ...context }) }), _jsx("button", { type: "button", className: "forgebook-icon-button", "aria-label": STRINGS.pinControl(label), title: STRINGS.pinControl(label), "aria-pressed": isPinned, onClick: () => layout.pin(control.id, !isPinned), children: _jsx(Icon, { name: "pin", size: 14 }) }), _jsx("button", { type: "button", className: "forgebook-icon-button", "aria-label": STRINGS.showControl(label), title: STRINGS.showControl(label), onClick: () => layout.hide(control.id, false), children: _jsx(Icon, { name: "eye", size: 14 }) })] }, control.id));
|
|
106
|
-
}) })) : null] }));
|
|
35
|
+
/** The panel, once its module is there: a menu drawn after the first draws it at once. */
|
|
36
|
+
let loadedPanel;
|
|
37
|
+
/** The panel's module, fetched once: a second call while it loads, or after, gets the same answer. */
|
|
38
|
+
let panelModule;
|
|
39
|
+
/** Loads the panel's module, or gives the load already asked for. */
|
|
40
|
+
const loadPanel = () => {
|
|
41
|
+
panelModule ??= import("./ViewMenuPanel.js").then((module) => {
|
|
42
|
+
loadedPanel = module.ViewMenuPanel;
|
|
43
|
+
return module.ViewMenuPanel;
|
|
44
|
+
});
|
|
45
|
+
return panelModule;
|
|
107
46
|
};
|
|
47
|
+
/** The panel as the menu first finds it: there when an earlier menu loaded it. */
|
|
48
|
+
const initialPanel = () => loadedPanel === undefined ? { status: "loading" } : { status: "ready", value: loadedPanel };
|
|
108
49
|
/**
|
|
109
50
|
* The View menu.
|
|
110
51
|
*
|
|
@@ -112,112 +53,56 @@ const HiddenControls = ({ hidden, layout, ...context }) => {
|
|
|
112
53
|
*/
|
|
113
54
|
export const ViewMenu = ({ layout, ownView, movedIds, ...context }) => {
|
|
114
55
|
const { isOpen, isDrawn, setIsOpen, buttonRef, panelRef, panelId } = usePopover();
|
|
115
|
-
const
|
|
116
|
-
const
|
|
117
|
-
const
|
|
118
|
-
const [draggedId, setDraggedId] = useState(undefined);
|
|
119
|
-
const [announced, setAnnounced] = useState("");
|
|
120
|
-
const hintId = useId();
|
|
121
|
-
const shown = layout.placed.filter((each) => !each.isHidden);
|
|
122
|
-
const hidden = layout.placed.filter((each) => each.isHidden);
|
|
56
|
+
const catalogue = useCatalogue();
|
|
57
|
+
const { switches } = catalogue;
|
|
58
|
+
const [panel, setPanel] = useState(initialPanel);
|
|
123
59
|
const ids = menuControlIds(layout.placed, movedIds);
|
|
124
|
-
const order = shown.map((each) => each.control.id).join(",");
|
|
125
|
-
useShiftedRows(listRef, order, draggedId);
|
|
126
60
|
// the menu never runs past the window's edges: a narrow window keeps it inside, its widest values then scroll; a
|
|
127
61
|
// short one scrolls its rows, the foot staying in sight
|
|
128
62
|
useLayoutEffect(() => {
|
|
129
|
-
const
|
|
130
|
-
if (!isDrawn ||
|
|
63
|
+
const drawn = panelRef.current;
|
|
64
|
+
if (!isDrawn || drawn === null)
|
|
131
65
|
return;
|
|
132
66
|
const keepInside = () => {
|
|
133
|
-
const box =
|
|
134
|
-
|
|
135
|
-
|
|
67
|
+
const box = drawn.getBoundingClientRect();
|
|
68
|
+
drawn.style.maxWidth = `${window.innerWidth - box.left - EDGE_PX}px`;
|
|
69
|
+
drawn.style.maxHeight = `${window.innerHeight - box.top - EDGE_PX}px`;
|
|
136
70
|
};
|
|
137
71
|
keepInside();
|
|
138
72
|
window.addEventListener("resize", keepInside);
|
|
139
73
|
return () => window.removeEventListener("resize", keepInside);
|
|
140
74
|
}, [isDrawn, panelRef]);
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
const row = listRef.current?.querySelector(`[data-control="${current?.id}"]`);
|
|
145
|
-
if (current === undefined || row === null || row === undefined)
|
|
146
|
-
return;
|
|
147
|
-
const offset = current.pointerY - current.startY - (row.offsetTop - current.startTop);
|
|
148
|
-
row.style.transform = `translateY(${offset}px)`;
|
|
149
|
-
};
|
|
150
|
-
// after a move, the dragged row is drawn at its new place: it stays under the pointer
|
|
151
|
-
// biome-ignore lint/correctness/useExhaustiveDependencies: follows each new order while a row is dragged
|
|
152
|
-
useLayoutEffect(follow, [order]);
|
|
153
|
-
/** The list's rows as they are drawn now. */
|
|
154
|
-
const rowsNow = () => [
|
|
155
|
-
...(listRef.current?.querySelectorAll("[data-control]") ?? [])
|
|
156
|
-
];
|
|
157
|
-
/**
|
|
158
|
-
* Where the dragged row goes: past every other row whose middle its own middle passed, both read from the layout
|
|
159
|
-
* (never from how a running move draws them, which would move the target under the pointer and back).
|
|
160
|
-
*
|
|
161
|
-
* @param id - the dragged row's id.
|
|
162
|
-
* @param current - the drag.
|
|
163
|
-
*/
|
|
164
|
-
const targetIndex = (id, current) => {
|
|
165
|
-
const rows = rowsNow();
|
|
166
|
-
const row = rows.find((each) => each.dataset["control"] === id);
|
|
167
|
-
if (row === undefined)
|
|
168
|
-
return 0;
|
|
169
|
-
const center = current.startTop + (current.pointerY - current.startY) + row.offsetHeight / 2;
|
|
170
|
-
return rows.filter((each) => each !== row && center > each.offsetTop + each.offsetHeight / 2).length;
|
|
171
|
-
};
|
|
172
|
-
// a menu closed while a row is dragged ends the drag
|
|
173
|
-
const stopDrag = useRef(undefined);
|
|
174
|
-
useEffect(() => () => stopDrag.current?.(), []);
|
|
175
|
-
const grab = (event, id) => {
|
|
176
|
-
const row = event.currentTarget.closest("[data-control]");
|
|
177
|
-
if (row === null || event.button !== 0)
|
|
75
|
+
// the panel's module loads when the menu is first drawn, if the pointer or the focus did not ask for it already
|
|
76
|
+
useEffect(() => {
|
|
77
|
+
if (!isDrawn || panel.status !== "loading")
|
|
178
78
|
return;
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
current.pointerY = moved.clientY;
|
|
192
|
-
follow();
|
|
193
|
-
const index = targetIndex(id, current);
|
|
194
|
-
if (index !== rowsNow().findIndex((each) => each.dataset["control"] === id))
|
|
195
|
-
layout.move(id, index);
|
|
196
|
-
};
|
|
197
|
-
const drop = () => {
|
|
198
|
-
window.removeEventListener("pointermove", moveTo);
|
|
199
|
-
window.removeEventListener("pointerup", drop);
|
|
200
|
-
window.removeEventListener("pointercancel", drop);
|
|
201
|
-
stopDrag.current = undefined;
|
|
202
|
-
drag.current = undefined;
|
|
203
|
-
setDraggedId(undefined);
|
|
204
|
-
// the row settles into its place from where the pointer left it
|
|
205
|
-
const dropped = rowsNow().find((each) => each.dataset["control"] === id);
|
|
206
|
-
if (dropped === undefined)
|
|
207
|
-
return;
|
|
208
|
-
const from = dropped.style.transform;
|
|
209
|
-
dropped.style.transform = "";
|
|
210
|
-
if (from !== "" && !window.matchMedia("(prefers-reduced-motion: reduce)").matches)
|
|
211
|
-
dropped.animate([{ transform: from }, { transform: "translateY(0)" }], {
|
|
212
|
-
duration: SHIFT_MS,
|
|
213
|
-
easing: SHIFT_EASING
|
|
214
|
-
});
|
|
79
|
+
let isCurrent = true;
|
|
80
|
+
loadPanel()
|
|
81
|
+
.then((value) => {
|
|
82
|
+
if (isCurrent)
|
|
83
|
+
setPanel({ status: "ready", value });
|
|
84
|
+
})
|
|
85
|
+
.catch((error) => {
|
|
86
|
+
if (isCurrent)
|
|
87
|
+
setPanel({ status: "error", message: error instanceof Error ? error.message : String(error) });
|
|
88
|
+
});
|
|
89
|
+
return () => {
|
|
90
|
+
isCurrent = false;
|
|
215
91
|
};
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
92
|
+
}, [isDrawn, panel.status]);
|
|
93
|
+
// a panel drawn after the menu opened takes the focus to its chosen option, as the popover does for one drawn with it
|
|
94
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: only the panel's arrival moves the focus
|
|
95
|
+
useEffect(() => {
|
|
96
|
+
if (panel.status !== "ready" || !isOpen)
|
|
97
|
+
return;
|
|
98
|
+
const panelElement = panelRef.current;
|
|
99
|
+
if (panelElement === null || panelElement.contains(document.activeElement))
|
|
100
|
+
return;
|
|
101
|
+
panelElement.querySelector("input:checked")?.focus();
|
|
102
|
+
}, [panel.status]);
|
|
103
|
+
/** Fetches the panel ahead of a press, so the menu draws it at once. */
|
|
104
|
+
const preload = () => {
|
|
105
|
+
loadPanel().catch(() => undefined);
|
|
220
106
|
};
|
|
221
|
-
return (_jsxs("div", { className: "forgebook-view-menu", children: [_jsxs("button", { ref: buttonRef, type: "button", className: "forgebook-button", "aria-expanded": isOpen, "aria-controls": panelId, onClick: (event) => setIsOpen(!isOpen, event), children: [_jsx(Icon, { name: "sliders", size: 14 }), STRINGS.view, hasViewChanges(ownView, switches, ids) ? (_jsx("span", { className: "forgebook-dot", role: "img", "aria-label": STRINGS.viewChanged })) : null, _jsx(Icon, { name: "chevronDown", size: 12 })] }), isDrawn ? (_jsxs("div", { ref: panelRef, id: panelId, className: "forgebook-popover forgebook-popover--arrange", role: "dialog", "aria-label": STRINGS.view, children: [
|
|
107
|
+
return (_jsxs("div", { className: "forgebook-view-menu", children: [_jsxs("button", { ref: buttonRef, type: "button", className: "forgebook-button", "aria-expanded": isOpen, "aria-controls": panelId, onPointerEnter: preload, onFocus: preload, onClick: (event) => setIsOpen(!isOpen, event), children: [_jsx(Icon, { name: "sliders", size: 14 }), STRINGS.view, hasViewChanges(ownView, switches, ids, catalogue.audience) ? (_jsx("span", { className: "forgebook-dot", role: "img", "aria-label": STRINGS.viewChanged })) : null, _jsx(Icon, { name: "chevronDown", size: 12 })] }), isDrawn ? (_jsxs("div", { ref: panelRef, id: panelId, className: "forgebook-popover forgebook-popover--arrange", role: "dialog", "aria-label": STRINGS.view, children: [panel.status === "ready" ? (_jsx(panel.value, { layout: layout, ownView: ownView, movedIds: movedIds, ids: ids, drawControl: (control) => (_jsx(ToolbarControl, { control: control, form: "row", ...context })), ...context })) : null, panel.status === "error" ? (_jsxs("p", { className: "forgebook-problems", role: "alert", children: [STRINGS.viewMenuError, ": ", panel.message] })) : null] })) : null] }));
|
|
222
108
|
};
|
|
223
|
-
//# sourceMappingURL=ViewMenu.js.map
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The View menu's panel: the named views, the controls in their order with their handles, pins and buttons, the hidden
|
|
3
|
+
* controls, the wrap choice and the resets.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Loaded the first time the menu opens (`ViewMenu`): the menu's button is on every page, its panel only once asked
|
|
7
|
+
* for. The order is set here only, and the toolbar shows the pinned controls in it: nothing is dragged on the toolbar.
|
|
8
|
+
* A row follows the pointer one to one while it is dragged, and the others move out of its way animated; with the
|
|
9
|
+
* keyboard, the handle moves its row with the arrow keys and the new position is announced.
|
|
10
|
+
*
|
|
11
|
+
* @module
|
|
12
|
+
*/
|
|
13
|
+
import { type ReactNode } from "react";
|
|
14
|
+
import type { ToolbarControl as Control } from "../toolbarLayout.ts";
|
|
15
|
+
import { type ViewState } from "../viewState.ts";
|
|
16
|
+
import type { ControlContext } from "./ToolbarControl.tsx";
|
|
17
|
+
import type { ToolbarLayout } from "./useToolbarLayout.ts";
|
|
18
|
+
/** The View menu panel's props. */
|
|
19
|
+
export type ViewMenuPanelProps = ControlContext & {
|
|
20
|
+
/** The toolbar's arrangement. */
|
|
21
|
+
readonly layout: ToolbarLayout;
|
|
22
|
+
/** The pinned controls the bar has no room for now: listed here as pinned, shown here until there is room. */
|
|
23
|
+
readonly movedIds: readonly string[];
|
|
24
|
+
/** The person's own view, without what the story fixes: a value the story fixes is not a change of theirs. */
|
|
25
|
+
readonly ownView: ViewState;
|
|
26
|
+
/** The ids of the controls whose values the menu answers for (`menuControlIds`), which its reset puts back. */
|
|
27
|
+
readonly ids: readonly string[];
|
|
28
|
+
/**
|
|
29
|
+
* Draws a control in a row's form. The menu hands in the toolbar's own controls, which the page already has: imported
|
|
30
|
+
* here, they would take the modules they share with the page into chunks of their own, and the first load would grow
|
|
31
|
+
* by more than the panel saves.
|
|
32
|
+
*/
|
|
33
|
+
readonly drawControl: (control: Control) => ReactNode;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* The View menu's panel.
|
|
37
|
+
*
|
|
38
|
+
* @param props - the arrangement, the person's own view, the controls the menu answers for, and what every control
|
|
39
|
+
* shares.
|
|
40
|
+
*/
|
|
41
|
+
export declare const ViewMenuPanel: ({ layout, ownView, movedIds, ids, drawControl, ...context }: ViewMenuPanelProps) => ReactNode;
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* The View menu's panel: the named views, the controls in their order with their handles, pins and buttons, the hidden
|
|
4
|
+
* controls, the wrap choice and the resets.
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* Loaded the first time the menu opens (`ViewMenu`): the menu's button is on every page, its panel only once asked
|
|
8
|
+
* for. The order is set here only, and the toolbar shows the pinned controls in it: nothing is dragged on the toolbar.
|
|
9
|
+
* A row follows the pointer one to one while it is dragged, and the others move out of its way animated; with the
|
|
10
|
+
* keyboard, the handle moves its row with the arrow keys and the new position is announced.
|
|
11
|
+
*
|
|
12
|
+
* @module
|
|
13
|
+
*/
|
|
14
|
+
import { useEffect, useId, useLayoutEffect, useRef, useState } from "react";
|
|
15
|
+
import { DEVICE_PARAMETER } from "../deviceView.js";
|
|
16
|
+
import { DEFAULT_VIEW, hasViewChanges } from "../viewState.js";
|
|
17
|
+
import { ControlRow } from "./ControlRow.js";
|
|
18
|
+
import { useCatalogue } from "./catalogueContext.js";
|
|
19
|
+
import { controlLabel } from "./controlLabel.js";
|
|
20
|
+
import { Icon } from "./icons.js";
|
|
21
|
+
import { LATER_STRINGS } from "./laterStrings.js";
|
|
22
|
+
import { NamedViews } from "./NamedViews.js";
|
|
23
|
+
/** How long the rows take to move out of a dragged row's way, in ms: the shell's `$duration-quick`. */
|
|
24
|
+
const SHIFT_MS = 150;
|
|
25
|
+
/** How they move: the shell's `$ease-out`, decelerating. */
|
|
26
|
+
const SHIFT_EASING = "cubic-bezier(0.22, 1, 0.36, 1)";
|
|
27
|
+
/**
|
|
28
|
+
* The view with the given controls' values back at their defaults.
|
|
29
|
+
*
|
|
30
|
+
* @param view - the view.
|
|
31
|
+
* @param switches - the catalogue's switches.
|
|
32
|
+
* @param ids - the controls' ids.
|
|
33
|
+
* @param defaultAudience - the audience the catalogue starts with.
|
|
34
|
+
*/
|
|
35
|
+
const withDefaults = (view, switches, ids, defaultAudience) => ({
|
|
36
|
+
...view,
|
|
37
|
+
switches: {
|
|
38
|
+
...view.switches,
|
|
39
|
+
...Object.fromEntries(switches.filter((each) => ids.includes(each.id)).map((each) => [each.id, each.default]))
|
|
40
|
+
},
|
|
41
|
+
backdrop: ids.includes("backdrop") ? DEFAULT_VIEW.backdrop : view.backdrop,
|
|
42
|
+
sheets: ids.includes("sheets") ? DEFAULT_VIEW.sheets : view.sheets,
|
|
43
|
+
text: ids.includes("text") ? DEFAULT_VIEW.text : view.text,
|
|
44
|
+
audience: ids.includes("audience") ? defaultAudience : view.audience,
|
|
45
|
+
...(ids.includes(DEVICE_PARAMETER)
|
|
46
|
+
? { device: DEFAULT_VIEW.device, orientation: DEFAULT_VIEW.orientation }
|
|
47
|
+
: {})
|
|
48
|
+
});
|
|
49
|
+
/**
|
|
50
|
+
* Moves the rows out of the way animated when the order changes: each row starts from where it was drawn and slides
|
|
51
|
+
* to its new place (the dragged row aside, which follows the pointer); without motion they jump.
|
|
52
|
+
*
|
|
53
|
+
* @param list - the list.
|
|
54
|
+
* @param order - the rows' ids in their order.
|
|
55
|
+
* @param draggedId - the dragged row's id, if one is dragged.
|
|
56
|
+
*/
|
|
57
|
+
const useShiftedRows = (list, order, draggedId) => {
|
|
58
|
+
const tops = useRef(new Map());
|
|
59
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: the rows are measured again whenever their order changes
|
|
60
|
+
useLayoutEffect(() => {
|
|
61
|
+
const rows = [...(list.current?.querySelectorAll("[data-control]") ?? [])];
|
|
62
|
+
const isReduced = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
63
|
+
for (const row of rows) {
|
|
64
|
+
const id = row.dataset["control"] ?? "";
|
|
65
|
+
const before = tops.current.get(id);
|
|
66
|
+
tops.current.set(id, row.offsetTop);
|
|
67
|
+
if (before === undefined || id === draggedId || isReduced)
|
|
68
|
+
continue;
|
|
69
|
+
// where the row is drawn now: its last place plus what a running move still shifts it by
|
|
70
|
+
const shift = new DOMMatrixReadOnly(getComputedStyle(row).transform).m42;
|
|
71
|
+
const start = before + shift - row.offsetTop;
|
|
72
|
+
for (const running of row.getAnimations())
|
|
73
|
+
running.cancel();
|
|
74
|
+
if (start === 0)
|
|
75
|
+
continue;
|
|
76
|
+
row.animate([{ transform: `translateY(${start}px)` }, { transform: "translateY(0)" }], {
|
|
77
|
+
duration: SHIFT_MS,
|
|
78
|
+
easing: SHIFT_EASING
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}, [order]);
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* The controls hidden in the menu, at its foot: their count, which opens them as rows like the others, each one usable
|
|
85
|
+
* while it stays hidden, with its pin (a hidden control may still sit on the toolbar) and a button that shows it
|
|
86
|
+
* again in its place.
|
|
87
|
+
*
|
|
88
|
+
* @param props - the hidden controls, the arrangement, and how a control is drawn.
|
|
89
|
+
*/
|
|
90
|
+
const HiddenControls = ({ hidden, layout, drawControl }) => {
|
|
91
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
92
|
+
const listId = useId();
|
|
93
|
+
if (hidden.length === 0)
|
|
94
|
+
return null;
|
|
95
|
+
return (_jsxs("div", { className: "forgebook-hidden-controls", children: [_jsxs("button", { type: "button", className: "forgebook-text-button", "aria-expanded": isOpen, "aria-controls": listId, onClick: () => setIsOpen(!isOpen), children: [LATER_STRINGS.hiddenControls(hidden.length, hidden.filter((each) => each.isPinned).length), _jsx(Icon, { name: isOpen ? "chevronDown" : "chevronRight", size: 12 })] }), isOpen ? (_jsx("ul", { id: listId, className: "forgebook-arrange-list", children: hidden.map(({ control, isPinned }) => {
|
|
96
|
+
const label = controlLabel(control);
|
|
97
|
+
return (_jsxs("li", { className: "forgebook-arrange", "data-control": control.id, "data-hidden": "", children: [_jsx("span", { className: "forgebook-arrange__no-handle" }), _jsx("span", { className: "forgebook-popover__label", children: label }), _jsx("div", { className: "forgebook-arrange__control", children: drawControl(control) }), _jsx("button", { type: "button", className: "forgebook-icon-button", "aria-label": LATER_STRINGS.pinControl(label), title: LATER_STRINGS.pinControl(label), "aria-pressed": isPinned, onClick: () => layout.pin(control.id, !isPinned), children: _jsx(Icon, { name: "pin", size: 14 }) }), _jsx("button", { type: "button", className: "forgebook-icon-button", "aria-label": LATER_STRINGS.showControl(label), title: LATER_STRINGS.showControl(label), onClick: () => layout.hide(control.id, false), children: _jsx(Icon, { name: "eye", size: 14 }) })] }, control.id));
|
|
98
|
+
}) })) : null] }));
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* The View menu's panel.
|
|
102
|
+
*
|
|
103
|
+
* @param props - the arrangement, the person's own view, the controls the menu answers for, and what every control
|
|
104
|
+
* shares.
|
|
105
|
+
*/
|
|
106
|
+
export const ViewMenuPanel = ({ layout, ownView, movedIds, ids, drawControl, ...context }) => {
|
|
107
|
+
const catalogue = useCatalogue();
|
|
108
|
+
const { switches } = catalogue;
|
|
109
|
+
const listRef = useRef(null);
|
|
110
|
+
const drag = useRef(undefined);
|
|
111
|
+
const [draggedId, setDraggedId] = useState(undefined);
|
|
112
|
+
const [announced, setAnnounced] = useState("");
|
|
113
|
+
const hintId = useId();
|
|
114
|
+
const shown = layout.placed.filter((each) => !each.isHidden);
|
|
115
|
+
const hidden = layout.placed.filter((each) => each.isHidden);
|
|
116
|
+
const order = shown.map((each) => each.control.id).join(",");
|
|
117
|
+
useShiftedRows(listRef, order, draggedId);
|
|
118
|
+
/** Keeps the dragged row under the pointer, from where its row is drawn now. */
|
|
119
|
+
const follow = () => {
|
|
120
|
+
const current = drag.current;
|
|
121
|
+
const row = listRef.current?.querySelector(`[data-control="${current?.id}"]`);
|
|
122
|
+
if (current === undefined || row === null || row === undefined)
|
|
123
|
+
return;
|
|
124
|
+
const offset = current.pointerY - current.startY - (row.offsetTop - current.startTop);
|
|
125
|
+
row.style.transform = `translateY(${offset}px)`;
|
|
126
|
+
};
|
|
127
|
+
// after a move, the dragged row is drawn at its new place: it stays under the pointer
|
|
128
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: follows each new order while a row is dragged
|
|
129
|
+
useLayoutEffect(follow, [order]);
|
|
130
|
+
/** The list's rows as they are drawn now. */
|
|
131
|
+
const rowsNow = () => [
|
|
132
|
+
...(listRef.current?.querySelectorAll("[data-control]") ?? [])
|
|
133
|
+
];
|
|
134
|
+
/**
|
|
135
|
+
* Where the dragged row goes: past every other row whose middle its own middle passed, both read from the layout
|
|
136
|
+
* (never from how a running move draws them, which would move the target under the pointer and back).
|
|
137
|
+
*
|
|
138
|
+
* @param id - the dragged row's id.
|
|
139
|
+
* @param current - the drag.
|
|
140
|
+
*/
|
|
141
|
+
const targetIndex = (id, current) => {
|
|
142
|
+
const rows = rowsNow();
|
|
143
|
+
const row = rows.find((each) => each.dataset["control"] === id);
|
|
144
|
+
if (row === undefined)
|
|
145
|
+
return 0;
|
|
146
|
+
const center = current.startTop + (current.pointerY - current.startY) + row.offsetHeight / 2;
|
|
147
|
+
return rows.filter((each) => each !== row && center > each.offsetTop + each.offsetHeight / 2).length;
|
|
148
|
+
};
|
|
149
|
+
// a menu closed while a row is dragged ends the drag
|
|
150
|
+
const stopDrag = useRef(undefined);
|
|
151
|
+
useEffect(() => () => stopDrag.current?.(), []);
|
|
152
|
+
const grab = (event, id) => {
|
|
153
|
+
const row = event.currentTarget.closest("[data-control]");
|
|
154
|
+
if (row === null || event.button !== 0)
|
|
155
|
+
return;
|
|
156
|
+
// no text selection while dragging; the handle still takes the focus, so the arrow keys move its row next
|
|
157
|
+
event.preventDefault();
|
|
158
|
+
event.currentTarget.focus();
|
|
159
|
+
window.getSelection()?.removeAllRanges();
|
|
160
|
+
drag.current = { id, startY: event.clientY, startTop: row.offsetTop, pointerY: event.clientY };
|
|
161
|
+
setDraggedId(id);
|
|
162
|
+
// the window, not the handle, follows the pointer: moving the row in the page takes the handle's pointer capture
|
|
163
|
+
// away, and the release would never arrive
|
|
164
|
+
const moveTo = (moved) => {
|
|
165
|
+
const current = drag.current;
|
|
166
|
+
if (current === undefined)
|
|
167
|
+
return;
|
|
168
|
+
current.pointerY = moved.clientY;
|
|
169
|
+
follow();
|
|
170
|
+
const index = targetIndex(id, current);
|
|
171
|
+
if (index !== rowsNow().findIndex((each) => each.dataset["control"] === id))
|
|
172
|
+
layout.move(id, index);
|
|
173
|
+
};
|
|
174
|
+
const drop = () => {
|
|
175
|
+
window.removeEventListener("pointermove", moveTo);
|
|
176
|
+
window.removeEventListener("pointerup", drop);
|
|
177
|
+
window.removeEventListener("pointercancel", drop);
|
|
178
|
+
stopDrag.current = undefined;
|
|
179
|
+
drag.current = undefined;
|
|
180
|
+
setDraggedId(undefined);
|
|
181
|
+
// the row settles into its place from where the pointer left it
|
|
182
|
+
const dropped = rowsNow().find((each) => each.dataset["control"] === id);
|
|
183
|
+
if (dropped === undefined)
|
|
184
|
+
return;
|
|
185
|
+
const from = dropped.style.transform;
|
|
186
|
+
dropped.style.transform = "";
|
|
187
|
+
if (from !== "" && !window.matchMedia("(prefers-reduced-motion: reduce)").matches)
|
|
188
|
+
dropped.animate([{ transform: from }, { transform: "translateY(0)" }], {
|
|
189
|
+
duration: SHIFT_MS,
|
|
190
|
+
easing: SHIFT_EASING
|
|
191
|
+
});
|
|
192
|
+
};
|
|
193
|
+
stopDrag.current = drop;
|
|
194
|
+
window.addEventListener("pointermove", moveTo);
|
|
195
|
+
window.addEventListener("pointerup", drop);
|
|
196
|
+
window.addEventListener("pointercancel", drop);
|
|
197
|
+
};
|
|
198
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "forgebook-popover__body", children: [_jsx(NamedViews, { view: context.view, ownView: ownView, onViewChange: context.onViewChange }), _jsx("ol", { ref: listRef, className: "forgebook-arrange-list", "data-dragging": draggedId === undefined ? undefined : "", children: shown.map((each, index) => (_jsx(ControlRow, { each: each, index: index, count: shown.length, isDragged: each.control.id === draggedId, isMoved: movedIds.includes(each.control.id), isChanged: hasViewChanges(ownView, switches, [each.control.id], catalogue.audience), layout: layout, hintId: hintId, onGrab: grab, onAnnounce: setAnnounced, drawControl: drawControl }, each.control.id))) }), _jsx("span", { id: hintId, className: "forgebook-visually-hidden", children: LATER_STRINGS.moveControlHint }), _jsx("span", { className: "forgebook-visually-hidden", "aria-live": "polite", children: announced }), _jsx(HiddenControls, { hidden: hidden, layout: layout, drawControl: drawControl }), _jsxs("label", { className: "forgebook-wrap-choice", children: [_jsx("input", { type: "checkbox", role: "switch", "aria-checked": layout.isWrapped, className: "forgebook-switch", checked: layout.isWrapped, onChange: (event) => layout.setIsWrapped(event.currentTarget.checked) }), LATER_STRINGS.wrapToolbar] })] }), _jsxs("div", { className: "forgebook-popover__foot", children: [_jsx("button", { type: "button", className: "forgebook-text-button", onClick: () => context.onViewChange(withDefaults(context.view, switches, ids, catalogue.audience)), children: LATER_STRINGS.resetView }), _jsx("button", { type: "button", className: "forgebook-text-button", title: LATER_STRINGS.toolbarInBrowser, disabled: !layout.isArranged, onClick: layout.reset, children: LATER_STRINGS.resetToolbar }), _jsx("span", { className: "forgebook-popover__note", children: LATER_STRINGS.viewInAddress })] })] }));
|
|
199
|
+
};
|
|
@@ -14,11 +14,12 @@ export type WidthFieldProps = {
|
|
|
14
14
|
readonly shownWidth: number | undefined;
|
|
15
15
|
/** Called with a typed width, kept within the catalogue's range. */
|
|
16
16
|
readonly onWidthChange: (width: StageWidth) => void;
|
|
17
|
+
/** Why the width cannot be typed (a device sets it), shown as the field's tooltip; none while it can. */
|
|
18
|
+
readonly disabledNote?: string | undefined;
|
|
17
19
|
};
|
|
18
20
|
/**
|
|
19
21
|
* The width field.
|
|
20
22
|
*
|
|
21
23
|
* @param props - the set and the shown width, and what a typed width does.
|
|
22
24
|
*/
|
|
23
|
-
export declare const WidthField: ({ width, shownWidth, onWidthChange }: WidthFieldProps) => ReactNode;
|
|
24
|
-
//# sourceMappingURL=WidthField.d.ts.map
|
|
25
|
+
export declare const WidthField: ({ width, shownWidth, onWidthChange, disabledNote }: WidthFieldProps) => ReactNode;
|
|
@@ -14,7 +14,7 @@ import { STRINGS } from "./strings.js";
|
|
|
14
14
|
*
|
|
15
15
|
* @param props - the set and the shown width, and what a typed width does.
|
|
16
16
|
*/
|
|
17
|
-
export const WidthField = ({ width, shownWidth, onWidthChange }) => {
|
|
17
|
+
export const WidthField = ({ width, shownWidth, onWidthChange, disabledNote }) => {
|
|
18
18
|
// the field's text while it is being typed in
|
|
19
19
|
const [draft, setDraft] = useState(undefined);
|
|
20
20
|
const { widths, widthRange } = useCatalogue();
|
|
@@ -30,11 +30,10 @@ export const WidthField = ({ width, shownWidth, onWidthChange }) => {
|
|
|
30
30
|
};
|
|
31
31
|
return (_jsxs("span", { className: "forgebook-width-field", "data-custom": isCustom ? "" : undefined, children: [_jsx("input", { className: "forgebook-width-field__input",
|
|
32
32
|
// a text field with the numeric keyboard: a number field draws spin buttons the presets already do better
|
|
33
|
-
type: "text", inputMode: "numeric", pattern: "[0-9]*", "aria-label": STRINGS.widthTyped, title: width === "fill" ? STRINGS.widthFillNote : undefined, placeholder: STRINGS.widthAuto, value: draft ?? (shown === undefined ? "" : String(shown)), onChange: (event) => setDraft(event.currentTarget.value), onBlur: commit, onKeyDown: (event) => {
|
|
33
|
+
type: "text", inputMode: "numeric", pattern: "[0-9]*", "aria-label": STRINGS.widthTyped, disabled: disabledNote !== undefined, title: disabledNote ?? (width === "fill" ? STRINGS.widthFillNote : undefined), placeholder: STRINGS.widthAuto, value: draft ?? (shown === undefined ? "" : String(shown)), onChange: (event) => setDraft(event.currentTarget.value), onBlur: commit, onKeyDown: (event) => {
|
|
34
34
|
if (event.key === "Enter")
|
|
35
35
|
commit();
|
|
36
36
|
if (event.key === "Escape")
|
|
37
37
|
setDraft(undefined);
|
|
38
38
|
} }), _jsx("span", { className: "forgebook-width-field__unit", "aria-hidden": "true", children: "px" })] }));
|
|
39
39
|
};
|
|
40
|
-
//# sourceMappingURL=WidthField.js.map
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A story's second frame, for a plugin's tab: the story beside what the tab shows, as the stage has it now.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* The tab answers this frame itself, with the panel's values and the view, and the stage leaves it alone
|
|
6
|
+
* (`FRAME_ASIDE_ATTRIBUTE`), so the messages stay private to the shell.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
import { type PanelArgs } from "../messages.ts";
|
|
11
|
+
import type { PluginStoryFrame } from "../plugin.ts";
|
|
12
|
+
import type { LiveView, StageWidth } from "../viewState.ts";
|
|
13
|
+
/** How the story is drawn again. */
|
|
14
|
+
export type AsideStory = {
|
|
15
|
+
/** The frame's address, in the view shown. */
|
|
16
|
+
readonly address: string;
|
|
17
|
+
/** Its width on the stage. */
|
|
18
|
+
readonly width: StageWidth;
|
|
19
|
+
/** The colour its page has in the view; none without one. */
|
|
20
|
+
readonly background: string | undefined;
|
|
21
|
+
/** The values set in the panel, sent once it is ready. */
|
|
22
|
+
readonly args: PanelArgs;
|
|
23
|
+
/** The view's live part, sent once it is ready; none when the address already says it all (the compare view). */
|
|
24
|
+
readonly view: LiveView | undefined;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Draws a story's second frame in an element.
|
|
28
|
+
*
|
|
29
|
+
* @param target - the element.
|
|
30
|
+
* @param title - the frame's accessible name.
|
|
31
|
+
* @param aside - how the story is drawn.
|
|
32
|
+
* @returns what takes it away.
|
|
33
|
+
*/
|
|
34
|
+
export declare const showAsideStory: (target: HTMLElement, title: string, aside: AsideStory) => PluginStoryFrame;
|