forgebook 0.3.3 → 0.4.1
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 +994 -72
- package/dist/bin/forgebook/agentClient.d.ts +2 -1
- package/dist/bin/forgebook/agentClient.js +13 -6
- package/dist/bin/forgebook/agentGuide.d.ts +59 -0
- package/dist/bin/forgebook/agentGuide.js +203 -0
- package/dist/bin/forgebook/agentLoopCommands.mjs +22 -42
- package/dist/bin/forgebook/agentSetup/agentFiles.d.ts +55 -0
- package/dist/bin/forgebook/agentSetup/agentFiles.js +319 -0
- package/dist/bin/forgebook/agentSetup/assistantHooks.d.ts +71 -0
- package/dist/bin/forgebook/agentSetup/assistantHooks.js +125 -0
- package/dist/bin/forgebook/agentSetup/ciWorkflow.d.ts +23 -0
- package/dist/bin/forgebook/agentSetup/ciWorkflow.js +55 -0
- package/dist/bin/forgebook/agentSetup/drawCandidates.d.ts +25 -0
- package/dist/bin/forgebook/agentSetup/drawCandidates.js +116 -0
- package/dist/bin/forgebook/agentSetup/drawDiagnosis.d.ts +28 -0
- package/dist/bin/forgebook/agentSetup/drawDiagnosis.js +134 -0
- package/dist/bin/forgebook/agentSetup/drawRun.d.ts +91 -0
- package/dist/bin/forgebook/agentSetup/drawRun.js +353 -0
- package/dist/bin/forgebook/agentSetup/hookNames.d.ts +7 -0
- package/dist/bin/forgebook/agentSetup/hookNames.js +7 -0
- package/dist/bin/forgebook/agentSetup/initAgentSteps.d.ts +48 -0
- package/dist/bin/forgebook/agentSetup/initAgentSteps.js +104 -0
- package/dist/bin/forgebook/agentSetup/liftedProviders.d.ts +17 -0
- package/dist/bin/forgebook/agentSetup/liftedProviders.js +186 -0
- package/dist/bin/forgebook/agentSetup/projectRunner.d.ts +46 -0
- package/dist/bin/forgebook/agentSetup/projectRunner.js +85 -0
- package/dist/bin/forgebook/agentSetup/stopHook.d.ts +65 -0
- package/dist/bin/forgebook/agentSetup/stopHook.js +202 -0
- package/dist/bin/forgebook/agentSetup/uniformPicture.d.ts +7 -0
- package/dist/bin/forgebook/agentSetup/uniformPicture.js +98 -0
- package/dist/bin/forgebook/agentSetupCommands.d.mts +14 -0
- package/dist/bin/forgebook/agentSetupCommands.mjs +98 -0
- package/dist/bin/forgebook/agentText.d.ts +23 -3
- package/dist/bin/forgebook/agentText.js +182 -28
- package/dist/bin/forgebook/agents.md +20 -191
- package/dist/bin/forgebook/agentsText.js +2 -1
- package/dist/bin/forgebook/appBuild/appBuild.d.ts +59 -0
- package/dist/bin/forgebook/appBuild/appBuild.js +213 -0
- package/dist/bin/forgebook/appBuild/appViteConfig.d.ts +96 -0
- package/dist/bin/forgebook/appBuild/appViteConfig.js +320 -0
- package/dist/bin/forgebook/appBuild/tsconfigPaths.d.ts +14 -0
- package/dist/bin/forgebook/appBuild/tsconfigPaths.js +80 -0
- package/dist/bin/forgebook/auditCommand.d.mts +8 -0
- package/dist/bin/forgebook/auditCommand.mjs +75 -0
- package/dist/bin/forgebook/auditRun.d.ts +95 -0
- package/dist/bin/forgebook/auditRun.js +270 -0
- package/dist/bin/forgebook/browserRun.d.ts +21 -0
- package/dist/bin/forgebook/browserRun.js +57 -0
- package/dist/bin/forgebook/buildFailure.d.ts +7 -0
- package/dist/bin/forgebook/buildFailure.js +47 -0
- package/dist/bin/forgebook/buildWatch.d.ts +52 -0
- package/dist/bin/forgebook/buildWatch.js +137 -0
- package/dist/bin/forgebook/builtCatalogue.js +9 -5
- package/dist/bin/forgebook/catalogueCommands.d.ts +9 -0
- package/dist/bin/forgebook/catalogueCommands.js +23 -0
- package/dist/bin/forgebook/catalogueVite.d.ts +5 -1
- package/dist/bin/forgebook/catalogueVite.js +14 -6
- package/dist/bin/forgebook/commandCacheClaim.d.ts +18 -0
- package/dist/bin/forgebook/commandCacheClaim.js +170 -0
- package/dist/bin/forgebook/commandServer.d.ts +8 -0
- package/dist/bin/forgebook/commandServer.js +61 -13
- package/dist/bin/forgebook/forgebookCommands.mjs +105 -28
- package/dist/bin/forgebook/graphCommand.d.mts +8 -0
- package/dist/bin/forgebook/graphCommand.mjs +84 -0
- package/dist/bin/forgebook/guide/commands.md +62 -0
- package/dist/bin/forgebook/guide/devices.md +17 -0
- package/dist/bin/forgebook/guide/docs-pages.md +13 -0
- package/dist/bin/forgebook/guide/frameworks/angular.md +22 -0
- package/dist/bin/forgebook/guide/frameworks/html.md +22 -0
- package/dist/bin/forgebook/guide/frameworks/nextjs.md +23 -0
- package/dist/bin/forgebook/guide/frameworks/nuxt.md +22 -0
- package/dist/bin/forgebook/guide/frameworks/preact.md +16 -0
- package/dist/bin/forgebook/guide/frameworks/react-native-web.md +21 -0
- package/dist/bin/forgebook/guide/frameworks/react.md +16 -0
- package/dist/bin/forgebook/guide/frameworks/solid.md +18 -0
- package/dist/bin/forgebook/guide/frameworks/svelte.md +18 -0
- package/dist/bin/forgebook/guide/frameworks/sveltekit.md +23 -0
- package/dist/bin/forgebook/guide/frameworks/vue.md +18 -0
- package/dist/bin/forgebook/guide/frameworks/web-components.md +21 -0
- package/dist/bin/forgebook/guide/links.md +29 -0
- package/dist/bin/forgebook/guide/setup.md +23 -0
- package/dist/bin/forgebook/guide/stories.md +95 -0
- package/dist/bin/forgebook/guide/switches.md +43 -0
- package/dist/bin/forgebook/guideCommand.d.mts +13 -0
- package/dist/bin/forgebook/guideCommand.mjs +37 -0
- package/dist/bin/forgebook/importers/storybook.d.ts +21 -0
- package/dist/bin/forgebook/importers/storybook.js +11 -5
- package/dist/bin/forgebook/importers/storybookFrameworks.js +1 -1
- package/dist/bin/forgebook/initCommands.d.mts +11 -0
- package/dist/bin/forgebook/initCommands.mjs +51 -78
- package/dist/bin/forgebook/initConfig.d.ts +5 -3
- package/dist/bin/forgebook/initConfig.js +6 -3
- package/dist/bin/forgebook/initInstall.d.ts +15 -0
- package/dist/bin/forgebook/initInstall.js +77 -0
- package/dist/bin/forgebook/initPrint.d.ts +9 -0
- package/dist/bin/forgebook/initPrint.js +60 -0
- package/dist/bin/forgebook/initRefusals.d.ts +45 -0
- package/dist/bin/forgebook/initRefusals.js +91 -0
- package/dist/bin/forgebook/initRun.d.ts +28 -0
- package/dist/bin/forgebook/initRun.js +311 -0
- package/dist/bin/forgebook/mcpCommand.mjs +38 -4
- package/dist/bin/forgebook/mcpGraph.d.ts +13 -0
- package/dist/bin/forgebook/mcpGraph.js +24 -0
- package/dist/bin/forgebook/mcpTokens.d.ts +14 -0
- package/dist/bin/forgebook/mcpTokens.js +58 -0
- package/dist/bin/forgebook/mcpToolParts.d.ts +7 -0
- package/dist/bin/forgebook/mcpToolParts.js +10 -0
- package/dist/bin/forgebook/mcpTools.d.ts +13 -6
- package/dist/bin/forgebook/mcpTools.js +57 -90
- package/dist/bin/forgebook/mcpVerify.d.ts +16 -0
- package/dist/bin/forgebook/mcpVerify.js +36 -0
- package/dist/bin/forgebook/migrate/codemods.d.ts +11 -0
- package/dist/bin/forgebook/migrate/codemods.js +61 -0
- package/dist/bin/forgebook/migrate/migrate.types.d.ts +117 -0
- package/dist/bin/forgebook/migrate/migrate.types.js +5 -0
- package/dist/bin/forgebook/migrate/migrateCommand.d.mts +8 -0
- package/dist/bin/forgebook/migrate/migrateCommand.mjs +76 -0
- package/dist/bin/forgebook/migrate/migrateRun.d.ts +61 -0
- package/dist/bin/forgebook/migrate/migrateRun.js +210 -0
- package/dist/bin/forgebook/migrate/migrateText.d.ts +12 -0
- package/dist/bin/forgebook/migrate/migrateText.js +30 -0
- package/dist/bin/forgebook/migrate/migrateWrite.d.ts +27 -0
- package/dist/bin/forgebook/migrate/migrateWrite.js +66 -0
- package/dist/bin/forgebook/migrate/objectEdits.d.ts +70 -0
- package/dist/bin/forgebook/migrate/objectEdits.js +241 -0
- package/dist/bin/forgebook/migrate/playOnInBuilds.d.ts +3 -0
- package/dist/bin/forgebook/migrate/playOnInBuilds.js +86 -0
- package/dist/bin/forgebook/migrate/propGroupStrings.d.ts +5 -0
- package/dist/bin/forgebook/migrate/propGroupStrings.js +81 -0
- package/dist/bin/forgebook/newProject/newProject.d.ts +39 -0
- package/dist/bin/forgebook/newProject/newProject.js +180 -0
- package/dist/bin/forgebook/newProject/newProject.types.d.ts +97 -0
- package/dist/bin/forgebook/newProject/newProject.types.js +6 -0
- package/dist/bin/forgebook/newProject/packageManagers.d.ts +51 -0
- package/dist/bin/forgebook/newProject/packageManagers.js +121 -0
- package/dist/bin/forgebook/newProject/projectEntries.d.ts +62 -0
- package/dist/bin/forgebook/newProject/projectEntries.js +191 -0
- package/dist/bin/forgebook/newProject/projectFrameworks.d.ts +57 -0
- package/dist/bin/forgebook/newProject/projectFrameworks.js +148 -0
- package/dist/bin/forgebook/newProject/projectLook.d.ts +23 -0
- package/dist/bin/forgebook/newProject/projectLook.js +293 -0
- package/dist/bin/forgebook/newProject/projectPackages.d.ts +66 -0
- package/dist/bin/forgebook/newProject/projectPackages.js +178 -0
- package/dist/bin/forgebook/newRepair.d.ts +45 -0
- package/dist/bin/forgebook/newRepair.js +157 -0
- package/dist/bin/forgebook/newRepairRun.d.ts +69 -0
- package/dist/bin/forgebook/newRepairRun.js +148 -0
- package/dist/bin/forgebook/newStories.d.ts +23 -1
- package/dist/bin/forgebook/newStories.js +101 -11
- package/dist/bin/forgebook/newStoriesFile.d.ts +20 -1
- package/dist/bin/forgebook/newStoriesFile.js +43 -4
- package/dist/bin/forgebook/prebundleRun.d.ts +3 -1
- package/dist/bin/forgebook/prebundleRun.js +28 -8
- package/dist/bin/forgebook/proofCommand.d.mts +15 -0
- package/dist/bin/forgebook/proofCommand.mjs +212 -0
- package/dist/bin/forgebook/proofRun.d.ts +63 -0
- package/dist/bin/forgebook/proofRun.js +412 -0
- package/dist/bin/forgebook/proofText.d.ts +36 -0
- package/dist/bin/forgebook/proofText.js +131 -0
- package/dist/bin/forgebook/proofWorkflow.d.ts +29 -0
- package/dist/bin/forgebook/proofWorkflow.js +205 -0
- package/dist/bin/forgebook/setArgsTool.d.ts +8 -0
- package/dist/bin/forgebook/setArgsTool.js +70 -0
- package/dist/bin/forgebook/storyCheckCommands.mjs +42 -3
- package/dist/bin/forgebook/storyCheckRun.d.ts +50 -0
- package/dist/bin/forgebook/storyCheckRun.js +83 -9
- package/dist/bin/forgebook/storyFileIds.d.ts +15 -0
- package/dist/bin/forgebook/storyFileIds.js +14 -0
- package/dist/bin/forgebook/stressCases.d.ts +31 -0
- package/dist/bin/forgebook/stressCases.js +79 -0
- package/dist/bin/forgebook/stressRun.d.ts +12 -0
- package/dist/bin/forgebook/stressRun.js +61 -0
- package/dist/bin/forgebook/stressText.d.ts +27 -0
- package/dist/bin/forgebook/stressText.js +46 -0
- package/dist/bin/forgebook/verifyBase.d.ts +45 -0
- package/dist/bin/forgebook/verifyBase.js +204 -0
- package/dist/bin/forgebook/verifyCommand.d.mts +13 -0
- package/dist/bin/forgebook/verifyCommand.mjs +125 -0
- package/dist/bin/forgebook/verifyRun.d.ts +63 -0
- package/dist/bin/forgebook/verifyRun.js +108 -0
- package/dist/bin/forgebook/verifyVerdict.d.ts +40 -0
- package/dist/bin/forgebook/verifyVerdict.js +323 -0
- package/dist/bin/forgebook/workflowActions.d.ts +23 -0
- package/dist/bin/forgebook/workflowActions.js +23 -0
- package/dist/bin/forgebook-docs/catalogueMarkdown.js +12 -1
- package/dist/src/addressArgs.d.ts +29 -5
- package/dist/src/addressArgs.js +58 -16
- package/dist/src/addressArgsParam.d.ts +54 -0
- package/dist/src/addressArgsParam.js +51 -0
- package/dist/src/addressTexts.d.ts +14 -0
- package/dist/src/addressTexts.js +28 -21
- package/dist/src/agentIndexFile.d.ts +11 -0
- package/dist/src/agentIndexFile.js +11 -0
- package/dist/src/argConditions.d.ts +52 -0
- package/dist/src/argConditions.js +80 -0
- package/dist/src/argControl.d.ts +148 -0
- package/dist/src/argControl.js +0 -0
- package/dist/src/argExpression.d.ts +21 -0
- package/dist/src/argExpression.js +30 -0
- package/dist/src/argTypes.d.ts +40 -51
- package/dist/src/argTypes.js +69 -185
- package/dist/src/argsProps.d.ts +3 -3
- package/dist/src/argsProps.js +11 -5
- package/dist/src/bundlerErrors.d.ts +29 -0
- package/dist/src/bundlerErrors.js +49 -0
- package/dist/src/catalogue.d.ts +31 -0
- package/dist/src/catalogue.js +13 -2
- package/dist/src/catalogueRefs.d.ts +75 -0
- package/dist/src/catalogueRefs.js +122 -0
- package/dist/src/componentDocs.d.ts +83 -0
- package/dist/src/componentDocs.js +20 -3
- package/dist/src/controlCode.d.ts +27 -0
- package/dist/src/controlCode.js +41 -0
- package/dist/src/frame/callValues.d.ts +19 -0
- package/dist/src/frame/callValues.js +58 -0
- package/dist/src/frame/canvasScheme.d.ts +33 -0
- package/dist/src/frame/canvasScheme.js +67 -0
- package/dist/src/frame/controlValues.d.ts +39 -0
- package/dist/src/frame/controlValues.js +143 -0
- package/dist/src/frame/frame.css +36 -3
- package/dist/src/frame/frameStatus.d.ts +16 -1
- package/dist/src/frame/frameStatus.js +16 -1
- package/dist/src/frame/frameView.js +4 -3
- package/dist/src/frame/mountFrame.d.ts +10 -1
- package/dist/src/frame/mountFrame.js +160 -55
- package/dist/src/frame/panelControls.d.ts +67 -0
- package/dist/src/frame/panelControls.js +110 -0
- package/dist/src/frame/panelValues.d.ts +35 -0
- package/dist/src/frame/panelValues.js +127 -0
- package/dist/src/frame/playActions.d.ts +39 -0
- package/dist/src/frame/playActions.js +98 -0
- package/dist/src/frame/playStepper.d.ts +28 -0
- package/dist/src/frame/playStepper.js +38 -0
- package/dist/src/frame/playStory.d.ts +9 -1
- package/dist/src/frame/playStory.js +49 -3
- package/dist/src/frame/renderer.d.ts +34 -1
- package/dist/src/frame/renderer.js +24 -0
- package/dist/src/frame/shellChannel.d.ts +1 -1
- package/dist/src/frame/shellChannel.js +1 -1
- package/dist/src/frame/shellCheck.d.ts +17 -0
- package/dist/src/frame/shellCheck.js +25 -0
- package/dist/src/frame/shellMessageCheck.d.ts +7 -0
- package/dist/src/frame/shellMessageCheck.js +53 -0
- package/dist/src/frame/storyContent.d.ts +50 -0
- package/dist/src/frame/storyContent.js +73 -0
- package/dist/src/frame/storyModule.d.ts +9 -0
- package/dist/src/frame/storyModule.js +20 -2
- package/dist/src/frame/storyRun.d.ts +15 -7
- package/dist/src/frame/storyRun.js +64 -15
- package/dist/src/frame/valueSheets.d.ts +35 -0
- package/dist/src/frame/valueSheets.js +99 -0
- package/dist/src/hotModules.d.ts +20 -0
- package/dist/src/hotModules.js +23 -0
- package/dist/src/jsxCode.d.ts +1 -14
- package/dist/src/jsxCode.js +46 -10
- package/dist/src/liveErrors.d.ts +30 -4
- package/dist/src/liveErrors.js +18 -3
- package/dist/src/messages.d.ts +77 -27
- package/dist/src/messages.js +58 -100
- package/dist/src/namedValues.d.ts +2 -26
- package/dist/src/namedValues.js +0 -47
- package/dist/src/pageConfig.d.ts +2 -0
- package/dist/src/playTrace.d.ts +19 -2
- package/dist/src/playTrace.js +10 -5
- package/dist/src/plugin.d.ts +10 -3
- package/dist/src/previewRelay.js +9 -1
- package/dist/src/printable.d.ts +12 -0
- package/dist/src/printable.js +22 -0
- package/dist/src/propsSignature.d.ts +37 -0
- package/dist/src/propsSignature.js +40 -0
- package/dist/src/search.d.ts +41 -5
- package/dist/src/search.js +93 -23
- package/dist/src/searchMatch.d.ts +4 -1
- package/dist/src/searchMatch.js +26 -5
- package/dist/src/searchTypos.d.ts +88 -0
- package/dist/src/searchTypos.js +178 -0
- package/dist/src/shapeValues.d.ts +86 -0
- package/dist/src/shapeValues.js +295 -0
- package/dist/src/shell/ApiReference.js +6 -3
- package/dist/src/shell/ApiTableBox.d.ts +15 -0
- package/dist/src/shell/ApiTableBox.js +11 -0
- package/dist/src/shell/AppearanceMenu.d.ts +4 -1
- package/dist/src/shell/AppearanceMenu.js +9 -6
- package/dist/src/shell/AuthoredHome.js +3 -1
- package/dist/src/shell/CodeTab.d.ts +12 -6
- package/dist/src/shell/CodeTab.js +47 -3
- package/dist/src/shell/CodeText.d.ts +1 -1
- package/dist/src/shell/CodeText.js +2 -3
- package/dist/src/shell/CompareGrid.js +1 -1
- package/dist/src/shell/ComponentPage.d.ts +6 -6
- package/dist/src/shell/ComponentPage.js +8 -2
- package/dist/src/shell/CustomControl.d.ts +34 -0
- package/dist/src/shell/CustomControl.js +125 -0
- package/dist/src/shell/DocContainers.js +1 -1
- package/dist/src/shell/DocPage.js +2 -2
- package/dist/src/shell/DroppedArgsList.d.ts +2 -2
- package/dist/src/shell/DroppedArgsList.js +1 -1
- package/dist/src/shell/EmbedPage.js +30 -12
- package/dist/src/shell/Example.d.ts +5 -1
- package/dist/src/shell/Example.js +16 -8
- package/dist/src/shell/FrameView.d.ts +6 -3
- package/dist/src/shell/FrameView.js +2 -2
- package/dist/src/shell/HomePage.d.ts +3 -1
- package/dist/src/shell/HomePage.js +18 -6
- package/dist/src/shell/InfoTip.js +2 -2
- package/dist/src/shell/InteractionsTab.d.ts +11 -4
- package/dist/src/shell/InteractionsTab.js +18 -2
- package/dist/src/shell/LazyPage.js +1 -1
- package/dist/src/shell/PackageHtml.js +3 -1
- package/dist/src/shell/PageWidth.d.ts +29 -0
- package/dist/src/shell/PageWidth.js +18 -0
- package/dist/src/shell/PinnedControl.js +14 -62
- package/dist/src/shell/PinnedControlMenu.d.ts +44 -0
- package/dist/src/shell/PinnedControlMenu.js +72 -0
- package/dist/src/shell/PropFields.d.ts +3 -1
- package/dist/src/shell/PropFields.js +9 -6
- package/dist/src/shell/PropRows.d.ts +22 -11
- package/dist/src/shell/PropRows.js +62 -24
- package/dist/src/shell/PropsTab.d.ts +12 -5
- package/dist/src/shell/PropsTab.js +9 -22
- package/dist/src/shell/RefStoryPage.d.ts +33 -0
- package/dist/src/shell/RefStoryPage.js +123 -0
- package/dist/src/shell/SearchPanel.js +51 -24
- package/dist/src/shell/Shell.d.ts +18 -0
- package/dist/src/shell/Shell.js +141 -23
- package/dist/src/shell/ShortcutHelp.d.ts +22 -0
- package/dist/src/shell/ShortcutHelp.js +66 -0
- package/dist/src/shell/Sidebar.d.ts +17 -4
- package/dist/src/shell/Sidebar.js +92 -41
- package/dist/src/shell/SidebarDocs.js +2 -2
- package/dist/src/shell/SidebarEntries.js +5 -3
- package/dist/src/shell/SidebarHandle.d.ts +3 -5
- package/dist/src/shell/SidebarHandle.js +4 -4
- package/dist/src/shell/SidebarRefs.d.ts +39 -0
- package/dist/src/shell/SidebarRefs.js +99 -0
- package/dist/src/shell/SidebarSearch.js +37 -9
- package/dist/src/shell/SignatureReference.js +3 -1
- package/dist/src/shell/Stage.d.ts +10 -2
- package/dist/src/shell/Stage.js +29 -49
- package/dist/src/shell/StatusBadges.d.ts +54 -0
- package/dist/src/shell/StatusBadges.js +77 -0
- package/dist/src/shell/StoryCodeBlock.d.ts +8 -19
- package/dist/src/shell/StoryCodeBlock.js +7 -6
- package/dist/src/shell/StoryPicker.d.ts +4 -2
- package/dist/src/shell/StoryPicker.js +3 -3
- package/dist/src/shell/Switch.d.ts +29 -0
- package/dist/src/shell/Switch.js +11 -0
- package/dist/src/shell/SwitchGallery.d.ts +36 -0
- package/dist/src/shell/SwitchGallery.js +17 -0
- package/dist/src/shell/SwitchGalleryPanel.d.ts +37 -0
- package/dist/src/shell/SwitchGalleryPanel.js +99 -0
- package/dist/src/shell/TagFilter.d.ts +24 -0
- package/dist/src/shell/TagFilter.js +45 -0
- package/dist/src/shell/TagViews.d.ts +39 -0
- package/dist/src/shell/TagViews.js +20 -0
- package/dist/src/shell/Toolbar.d.ts +4 -1
- package/dist/src/shell/Toolbar.js +17 -7
- package/dist/src/shell/ToolbarControl.d.ts +3 -0
- package/dist/src/shell/ToolbarControl.js +23 -6
- package/dist/src/shell/ViewMenuPanel.js +6 -1
- package/dist/src/shell/argChecks.d.ts +22 -0
- package/dist/src/shell/argChecks.js +20 -0
- package/dist/src/shell/asideStory.js +7 -2
- package/dist/src/shell/audienceSections.css +9 -9
- package/dist/src/shell/catalogueContext.d.ts +1 -1
- package/dist/src/shell/catalogueContext.js +6 -1
- package/dist/src/shell/codeSpans.d.ts +27 -0
- package/dist/src/shell/codeSpans.js +76 -0
- package/dist/src/shell/compareVariants.d.ts +4 -2
- package/dist/src/shell/compareVariants.js +16 -8
- package/dist/src/shell/composition.d.ts +23 -0
- package/dist/src/shell/composition.js +26 -0
- package/dist/src/shell/controlCycle.d.ts +1 -1
- package/dist/src/shell/controlCycle.js +3 -2
- package/dist/src/shell/customControls.d.ts +62 -0
- package/dist/src/shell/customControls.js +81 -0
- package/dist/src/shell/docPage.css +22 -22
- package/dist/src/shell/dockTabs.d.ts +19 -3
- package/dist/src/shell/dockTabs.js +29 -20
- package/dist/src/shell/embed.css +7 -7
- package/dist/src/shell/frameOrder.d.ts +35 -0
- package/dist/src/shell/frameOrder.js +45 -0
- package/dist/src/shell/framesOrigin.d.ts +7 -0
- package/dist/src/shell/framesOrigin.js +1 -1
- package/dist/src/shell/galleryPlace.d.ts +20 -0
- package/dist/src/shell/galleryPlace.js +26 -0
- package/dist/src/shell/icons.d.ts +1 -0
- package/dist/src/shell/icons.js +1 -0
- package/dist/src/shell/keyboard.d.ts +14 -12
- package/dist/src/shell/keyboard.js +21 -6
- package/dist/src/shell/laterStrings.d.ts +30 -0
- package/dist/src/shell/laterStrings.js +43 -3
- package/dist/src/shell/mountShell.js +3 -0
- package/dist/src/shell/pageStrings.d.ts +4 -0
- package/dist/src/shell/pageStrings.js +4 -0
- package/dist/src/shell/pageTagView.d.ts +18 -0
- package/dist/src/shell/pageTagView.js +10 -0
- package/dist/src/shell/playMemory.d.ts +14 -0
- package/dist/src/shell/playMemory.js +8 -0
- package/dist/src/shell/propNotes.d.ts +23 -0
- package/dist/src/shell/propNotes.js +37 -0
- package/dist/src/shell/refIndexLoad.d.ts +17 -0
- package/dist/src/shell/refIndexLoad.js +38 -0
- package/dist/src/shell/refParts.d.ts +34 -0
- package/dist/src/shell/refParts.js +9 -0
- package/dist/src/shell/refStory.css +21 -0
- package/dist/src/shell/refStrings.d.ts +13 -0
- package/dist/src/shell/refStrings.js +21 -0
- package/dist/src/shell/search.css +11 -11
- package/dist/src/shell/shell.css +376 -169
- package/dist/src/shell/shellScheme.js +2 -2
- package/dist/src/shell/shortcutHelp.css +64 -0
- package/dist/src/shell/stageArgs.d.ts +53 -0
- package/dist/src/shell/stageArgs.js +64 -0
- package/dist/src/shell/statusBadges.css +51 -0
- package/dist/src/shell/strings.d.ts +7 -16
- package/dist/src/shell/strings.js +12 -17
- package/dist/src/shell/switchGallery.css +104 -0
- package/dist/src/shell/tagFilter.css +46 -0
- package/dist/src/shell/tagView.d.ts +20 -0
- package/dist/src/shell/tagView.js +10 -0
- package/dist/src/shell/useAddressArgs.d.ts +9 -0
- package/dist/src/shell/useAddressArgs.js +56 -11
- package/dist/src/shell/useControlKeys.js +2 -2
- package/dist/src/shell/useEditedProblems.d.ts +6 -0
- package/dist/src/shell/useEditedProblems.js +40 -0
- package/dist/src/shell/useFrameMessages.js +3 -0
- package/dist/src/shell/useFrameQueue.d.ts +8 -3
- package/dist/src/shell/useFrameQueue.js +42 -12
- package/dist/src/shell/useListedTree.d.ts +13 -0
- package/dist/src/shell/useListedTree.js +32 -0
- package/dist/src/shell/usePageFrames.js +2 -2
- package/dist/src/shell/usePopover.d.ts +5 -0
- package/dist/src/shell/usePopover.js +7 -1
- package/dist/src/shell/useRefIndex.d.ts +22 -0
- package/dist/src/shell/useRefIndex.js +36 -0
- package/dist/src/shell/useScrollSettled.d.ts +18 -0
- package/dist/src/shell/useScrollSettled.js +56 -0
- package/dist/src/shell/useScrollStops.d.ts +20 -0
- package/dist/src/shell/useScrollStops.js +41 -0
- package/dist/src/shell/useShortcutHelp.d.ts +18 -0
- package/dist/src/shell/useShortcutHelp.js +32 -0
- package/dist/src/shell/useSidebarOverlay.d.ts +2 -1
- package/dist/src/shell/useSidebarOverlay.js +12 -4
- package/dist/src/shell/useStoryCode.d.ts +2 -1
- package/dist/src/shell/useStoryCode.js +12 -7
- package/dist/src/shell/useToolbarLayout.d.ts +5 -1
- package/dist/src/shell/useToolbarLayout.js +2 -2
- package/dist/src/shell/useWorstCase.d.ts +8 -2
- package/dist/src/shell/useWorstCase.js +2 -2
- package/dist/src/shell/valueEditors/FileEditor.d.ts +28 -0
- package/dist/src/shell/valueEditors/FileEditor.js +66 -0
- package/dist/src/shell/valueEditors/JsonEditor.d.ts +14 -0
- package/dist/src/shell/valueEditors/JsonEditor.js +53 -0
- package/dist/src/shell/valueEditors/ListEditor.d.ts +24 -0
- package/dist/src/shell/valueEditors/ListEditor.js +82 -0
- package/dist/src/shell/valueEditors/ObjectEditor.d.ts +32 -0
- package/dist/src/shell/valueEditors/ObjectEditor.js +70 -0
- package/dist/src/shell/valueEditors/PropEditor.d.ts +37 -0
- package/dist/src/shell/valueEditors/PropEditor.js +53 -0
- package/dist/src/shell/valueEditors/RecordEditor.d.ts +20 -0
- package/dist/src/shell/valueEditors/RecordEditor.js +84 -0
- package/dist/src/shell/valueEditors/SearchSelect.d.ts +42 -0
- package/dist/src/shell/valueEditors/SearchSelect.js +80 -0
- package/dist/src/shell/valueEditors/TokenEditor.d.ts +49 -0
- package/dist/src/shell/valueEditors/TokenEditor.js +74 -0
- package/dist/src/shell/valueEditors/UnionEditor.d.ts +20 -0
- package/dist/src/shell/valueEditors/UnionEditor.js +64 -0
- package/dist/src/shell/valueEditors/ValueField.d.ts +15 -0
- package/dist/src/shell/valueEditors/ValueField.js +148 -0
- package/dist/src/shell/valueEditors/editorStrings.d.ts +56 -0
- package/dist/src/shell/valueEditors/editorStrings.js +66 -0
- package/dist/src/shell/valueEditors/fieldTypes.d.ts +31 -0
- package/dist/src/shell/valueEditors/fieldTypes.js +0 -0
- package/dist/src/shell/valueEditors/valueEditors.css +153 -0
- package/dist/src/shell/worstArgs.d.ts +8 -5
- package/dist/src/shell/worstArgs.js +14 -7
- package/dist/src/shellTheme.d.ts +1 -1
- package/dist/src/shellTheme.js +15 -1
- package/dist/src/shellTheme.types.d.ts +4 -0
- package/dist/src/shellWord.d.ts +12 -0
- package/dist/src/shellWord.js +15 -0
- package/dist/src/sourceFiles.js +2 -1
- package/dist/src/storyArgTypes.d.ts +57 -0
- package/dist/src/storyArgTypes.js +195 -0
- package/dist/src/storyBackground.js +14 -3
- package/dist/src/storyCheck.d.ts +99 -3
- package/dist/src/storyCheck.js +39 -1
- package/dist/src/storyCodeText.d.ts +52 -0
- package/dist/src/storyCodeText.js +30 -0
- package/dist/src/storyControls.d.ts +103 -0
- package/dist/src/storyControls.js +100 -0
- package/dist/src/storyStatuses.d.ts +55 -0
- package/dist/src/storyStatuses.js +104 -0
- package/dist/src/storyTagNames.d.ts +25 -0
- package/dist/src/storyTagNames.js +25 -0
- package/dist/src/storyTags.d.ts +29 -0
- package/dist/src/storyTags.js +85 -0
- package/dist/src/storyTree.d.ts +13 -0
- package/dist/src/storyTree.js +24 -4
- package/dist/src/storybookArgs.d.ts +24 -0
- package/dist/src/storybookArgs.js +185 -0
- package/dist/src/switches.d.ts +66 -3
- package/dist/src/switches.js +42 -1
- package/dist/src/valueSchema.d.ts +28 -0
- package/dist/src/valueSchema.js +196 -0
- package/dist/src/valueShape.d.ts +94 -0
- package/dist/src/valueShape.js +25 -0
- package/dist/src/viewState.d.ts +8 -3
- package/dist/src/viewState.js +27 -10
- package/dist/src/vite/adapter.d.ts +40 -2
- package/dist/src/vite/adapter.js +1 -0
- package/dist/src/vite/agent.types.d.ts +354 -7
- package/dist/src/vite/agentApi.d.ts +23 -0
- package/dist/src/vite/agentApi.js +90 -17
- package/dist/src/vite/agentIndex.d.ts +0 -2
- package/dist/src/vite/agentIndex.js +5 -6
- package/dist/src/vite/agentRoutes.d.ts +20 -1
- package/dist/src/vite/agentRoutes.js +135 -66
- package/dist/src/vite/agentStatuses.d.ts +42 -0
- package/dist/src/vite/agentStatuses.js +67 -0
- package/dist/src/vite/agentStoryCode.d.ts +51 -0
- package/dist/src/vite/agentStoryCode.js +44 -0
- package/dist/src/vite/agentVisibility.d.ts +47 -0
- package/dist/src/vite/agentVisibility.js +174 -0
- package/dist/src/vite/appAudit.d.ts +134 -0
- package/dist/src/vite/appAudit.js +333 -0
- package/dist/src/vite/appBuildOption.d.ts +53 -0
- package/dist/src/vite/appBuildOption.js +55 -0
- package/dist/src/vite/appTokenFiles.d.ts +92 -0
- package/dist/src/vite/appTokenFiles.js +433 -0
- package/dist/src/vite/appTokens.d.ts +23 -0
- package/dist/src/vite/appTokens.js +275 -0
- package/dist/src/vite/argControlsConfig.d.ts +30 -0
- package/dist/src/vite/argControlsConfig.js +176 -0
- package/dist/src/vite/builtTexts.d.ts +10 -0
- package/dist/src/vite/builtTexts.js +59 -22
- package/dist/src/vite/catalogueConfig.d.ts +3 -1
- package/dist/src/vite/catalogueConfig.js +21 -4
- package/dist/src/vite/changeCoverage.d.ts +74 -0
- package/dist/src/vite/changeCoverage.js +120 -0
- package/dist/src/vite/changedRoute.d.ts +30 -0
- package/dist/src/vite/changedRoute.js +197 -0
- package/dist/src/vite/checkCode.d.ts +105 -3
- package/dist/src/vite/checkCode.js +323 -36
- package/dist/src/vite/checkoutWatch.d.ts +97 -0
- package/dist/src/vite/checkoutWatch.js +287 -0
- package/dist/src/vite/closeWatch.d.ts +8 -0
- package/dist/src/vite/closeWatch.js +1 -1
- package/dist/src/vite/componentCache.d.ts +8 -0
- package/dist/src/vite/componentCache.js +66 -0
- package/dist/src/vite/componentGraph.d.ts +71 -0
- package/dist/src/vite/componentGraph.js +133 -0
- package/dist/src/vite/componentRules.d.ts +33 -0
- package/dist/src/vite/componentRules.js +105 -0
- package/dist/src/vite/componentScan.d.ts +69 -0
- package/dist/src/vite/componentScan.js +418 -0
- package/dist/src/vite/compositionCheck.d.ts +15 -0
- package/dist/src/vite/compositionCheck.js +243 -0
- package/dist/src/vite/config.d.ts +67 -1
- package/dist/src/vite/configFile.d.ts +15 -2
- package/dist/src/vite/configFile.js +109 -40
- package/dist/src/vite/configKeys.d.ts +15 -0
- package/dist/src/vite/configKeys.js +172 -0
- package/dist/src/vite/configLoadError.d.ts +23 -0
- package/dist/src/vite/configLoadError.js +71 -0
- package/dist/src/vite/cssDeclarations.d.ts +71 -0
- package/dist/src/vite/cssDeclarations.js +290 -0
- package/dist/src/vite/cssImports.d.ts +14 -0
- package/dist/src/vite/cssImports.js +48 -0
- package/dist/src/vite/cssReferences.d.ts +54 -0
- package/dist/src/vite/cssReferences.js +157 -0
- package/dist/src/vite/cssTokenValues.d.ts +50 -0
- package/dist/src/vite/cssTokenValues.js +233 -0
- package/dist/src/vite/designTokens.d.ts +24 -0
- package/dist/src/vite/designTokens.js +5 -1
- package/dist/src/vite/docsExtractor.d.ts +9 -3
- package/dist/src/vite/docsExtractor.js +11 -3
- package/dist/src/vite/docsProgram.d.ts +17 -4
- package/dist/src/vite/docsProgram.js +52 -11
- package/dist/src/vite/docsWorker.js +7 -2
- package/dist/src/vite/emptyStoryGlobs.d.ts +41 -0
- package/dist/src/vite/emptyStoryGlobs.js +52 -0
- package/dist/src/vite/fileImports.d.ts +17 -0
- package/dist/src/vite/fileImports.js +57 -0
- package/dist/src/vite/findComponent.d.ts +10 -2
- package/dist/src/vite/findComponent.js +27 -22
- package/dist/src/vite/findRoute.js +3 -2
- package/dist/src/vite/forcedStates.d.ts +9 -2
- package/dist/src/vite/forcedStates.js +12 -3
- package/dist/src/vite/forgebookPlugin.d.ts +2 -0
- package/dist/src/vite/forgebookPlugin.js +55 -73
- package/dist/src/vite/frameErrors.d.ts +19 -0
- package/dist/src/vite/frameErrors.js +70 -0
- package/dist/src/vite/framesServer.d.ts +12 -0
- package/dist/src/vite/framesServer.js +21 -4
- package/dist/src/vite/functionComponentDocs.js +81 -12
- package/dist/src/vite/generatedModules.js +4 -2
- package/dist/src/vite/gitChange.d.ts +38 -5
- package/dist/src/vite/gitChange.js +71 -11
- package/dist/src/vite/hiddenStoryFiles.d.ts +23 -0
- package/dist/src/vite/hiddenStoryFiles.js +107 -0
- package/dist/src/vite/hotSnippets.d.ts +38 -14
- package/dist/src/vite/hotSnippets.js +137 -39
- package/dist/src/vite/importedNames.d.ts +37 -0
- package/dist/src/vite/importedNames.js +138 -0
- package/dist/src/vite/indexFields.d.ts +6 -0
- package/dist/src/vite/indexFields.js +21 -0
- package/dist/src/vite/indexStoryFile.d.ts +8 -1
- package/dist/src/vite/indexStoryFile.js +22 -157
- package/dist/src/vite/jsxCallSites.d.ts +33 -0
- package/dist/src/vite/jsxCallSites.js +200 -0
- package/dist/src/vite/jsxInScripts.d.ts +67 -0
- package/dist/src/vite/jsxInScripts.js +138 -0
- package/dist/src/vite/jsxTree.d.ts +20 -0
- package/dist/src/vite/jsxTree.js +163 -0
- package/dist/src/vite/lineAndColumn.d.ts +13 -0
- package/dist/src/vite/lineAndColumn.js +18 -0
- package/dist/src/vite/lookAlikes.d.ts +65 -0
- package/dist/src/vite/lookAlikes.js +228 -0
- package/dist/src/vite/nearestToken.d.ts +17 -0
- package/dist/src/vite/nearestToken.js +9 -2
- package/dist/src/vite/packageEntries.d.ts +42 -0
- package/dist/src/vite/packageEntries.js +127 -0
- package/dist/src/vite/pages.d.ts +9 -1
- package/dist/src/vite/pages.js +119 -4
- package/dist/src/vite/pluginConfig.js +4 -0
- package/dist/src/vite/pluginIds.d.ts +2 -0
- package/dist/src/vite/pluginIds.js +5 -1
- package/dist/src/vite/pluginModules.d.ts +81 -11
- package/dist/src/vite/pluginModules.js +109 -21
- package/dist/src/vite/prebundled.d.ts +57 -15
- package/dist/src/vite/prebundled.js +80 -0
- package/dist/src/vite/previewTags.d.ts +25 -0
- package/dist/src/vite/previewTags.js +56 -0
- package/dist/src/vite/projectFiles.d.ts +54 -0
- package/dist/src/vite/projectFiles.js +116 -0
- package/dist/src/vite/projectPostcss.d.ts +70 -0
- package/dist/src/vite/projectPostcss.js +250 -0
- package/dist/src/vite/propDocs.d.ts +12 -0
- package/dist/src/vite/propDocs.js +187 -60
- package/dist/src/vite/propKind.d.ts +40 -0
- package/dist/src/vite/propKind.js +71 -0
- package/dist/src/vite/propTypeNotes.d.ts +22 -0
- package/dist/src/vite/propTypeNotes.js +51 -0
- package/dist/src/vite/publishedExports.d.ts +27 -0
- package/dist/src/vite/publishedExports.js +298 -0
- package/dist/src/vite/realFolder.d.ts +6 -0
- package/dist/src/vite/realFolder.js +25 -0
- package/dist/src/vite/refsConfig.d.ts +39 -0
- package/dist/src/vite/refsConfig.js +54 -0
- package/dist/src/vite/reuseCheck.d.ts +45 -0
- package/dist/src/vite/reuseCheck.js +260 -0
- package/dist/src/vite/runningVersions.d.ts +33 -0
- package/dist/src/vite/runningVersions.js +25 -0
- package/dist/src/vite/scriptProblems.d.ts +60 -0
- package/dist/src/vite/scriptProblems.js +155 -0
- package/dist/src/vite/searchModule.js +3 -2
- package/dist/src/vite/searchRoute.js +4 -2
- package/dist/src/vite/shapeDocs.d.ts +36 -0
- package/dist/src/vite/shapeDocs.js +177 -0
- package/dist/src/vite/singleFileComponent.d.ts +17 -0
- package/dist/src/vite/singleFileComponent.js +83 -0
- package/dist/src/vite/sourceText.d.ts +34 -0
- package/dist/src/vite/sourceText.js +72 -0
- package/dist/src/vite/sourceTokens.d.ts +7 -0
- package/dist/src/vite/sourceTokens.js +7 -2
- package/dist/src/vite/stackLines.d.ts +49 -0
- package/dist/src/vite/stackLines.js +96 -0
- package/dist/src/vite/storyCode.d.ts +22 -7
- package/dist/src/vite/storyCode.js +263 -37
- package/dist/src/vite/storyCoverage.d.ts +48 -0
- package/dist/src/vite/storyCoverage.js +179 -0
- package/dist/src/vite/storyFilesModule.d.ts +48 -3
- package/dist/src/vite/storyFilesModule.js +105 -15
- package/dist/src/vite/storyPatterns.d.ts +31 -0
- package/dist/src/vite/storyPatterns.js +140 -5
- package/dist/src/vite/storyReach.d.ts +10 -2
- package/dist/src/vite/storyReach.js +15 -11
- package/dist/src/vite/storyTopLevel.d.ts +51 -0
- package/dist/src/vite/storyTopLevel.js +146 -0
- package/dist/src/vite/storylessRoutes.d.ts +4 -3
- package/dist/src/vite/storylessRoutes.js +210 -19
- package/dist/src/vite/switchValuesCheck.d.ts +19 -0
- package/dist/src/vite/switchValuesCheck.js +164 -0
- package/dist/src/vite/switchesDocument.d.ts +15 -0
- package/dist/src/vite/switchesDocument.js +47 -0
- package/dist/src/vite/tailwindConfigTokens.d.ts +41 -0
- package/dist/src/vite/tailwindConfigTokens.js +306 -0
- package/dist/src/vite/textImports.d.ts +15 -0
- package/dist/src/vite/textImports.js +58 -0
- package/dist/src/vite/textModules.d.ts +6 -5
- package/dist/src/vite/textModules.js +13 -8
- package/dist/src/vite/tokenAnswers.d.ts +6 -2
- package/dist/src/vite/tokenAnswers.js +11 -7
- package/dist/src/vite/typeParameters.d.ts +83 -0
- package/dist/src/vite/typeParameters.js +270 -0
- package/dist/src/vite/typedControls.d.ts +31 -0
- package/dist/src/vite/typedControls.js +66 -0
- package/dist/src/vite/unionProps.d.ts +37 -0
- package/dist/src/vite/unionProps.js +121 -0
- package/dist/src/vite/unresolvedTokens.d.ts +20 -0
- package/dist/src/vite/unresolvedTokens.js +193 -0
- package/dist/src/vite/usageGraph.js +10 -52
- package/dist/src/vite/usageGuidance.d.ts +9 -2
- package/dist/src/vite/usageGuidance.js +36 -8
- package/dist/src/vite/usageImports.d.ts +35 -0
- package/dist/src/vite/usageImports.js +280 -0
- package/dist/src/vite/visibilityRoute.d.ts +16 -0
- package/dist/src/vite/visibilityRoute.js +320 -0
- package/dist/src/worstCase.d.ts +2 -0
- package/dist/src/worstCase.js +2 -0
- package/package.json +28 -8
|
@@ -14,4 +14,9 @@ export const NO_PLUGINS = [];
|
|
|
14
14
|
*
|
|
15
15
|
* @param config - its name, its switches, its languages, its lists and its plugins (whose tabs it may turn off).
|
|
16
16
|
*/
|
|
17
|
-
export const useConfiguredCatalogue = ({ title, switches, languages = NO_LANGUAGES, lists, plugins = NO_PLUGINS }
|
|
17
|
+
export const useConfiguredCatalogue = ({ title, switches, languages = NO_LANGUAGES, lists, plugins = NO_PLUGINS }, readStored) => useMemo(() => {
|
|
18
|
+
const settings = catalogueSettings(title, catalogueSwitches(switches, languages, lists?.controls), lists, plugins.flatMap((plugin) => plugin.tabs.map((tab) => tab.id)));
|
|
19
|
+
// a reader's choice stands in for the catalogue's default on their own pages; an address that names one comes first
|
|
20
|
+
const remembered = readStored?.(`${settings.id}:play`);
|
|
21
|
+
return remembered === "on" || remembered === "off" ? { ...settings, readerPlay: remembered } : settings;
|
|
22
|
+
}, [title, switches, languages, lists, plugins, readStored]);
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A sentence's code spans, read as CommonMark reads them: a run of backticks opens a span that the next run of the same
|
|
3
|
+
* length closes, so a span holding a backtick is written with a longer run of them. Used by `CodeText.tsx`, and by
|
|
4
|
+
* what writes a sentence around a type that may hold backticks (a template literal type).
|
|
5
|
+
*
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
/** One piece of a sentence: text, or code. */
|
|
9
|
+
export type SentencePiece = {
|
|
10
|
+
/** The piece's text, a code span's without its backticks. */
|
|
11
|
+
readonly text: string;
|
|
12
|
+
/** Whether it is code. */
|
|
13
|
+
readonly isCode: boolean;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* A sentence split into text and code spans. A run of backticks no run of the same length closes stays text.
|
|
17
|
+
*
|
|
18
|
+
* @param sentence - the sentence.
|
|
19
|
+
*/
|
|
20
|
+
export declare const sentencePieces: (sentence: string) => SentencePiece[];
|
|
21
|
+
/**
|
|
22
|
+
* A text written as one code span, whatever backticks it holds: a run longer than any inside, with a space each side
|
|
23
|
+
* when the text starts or ends with a backtick.
|
|
24
|
+
*
|
|
25
|
+
* @param text - the code.
|
|
26
|
+
*/
|
|
27
|
+
export declare const codeSpan: (text: string) => string;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A sentence's code spans, read as CommonMark reads them: a run of backticks opens a span that the next run of the same
|
|
3
|
+
* length closes, so a span holding a backtick is written with a longer run of them. Used by `CodeText.tsx`, and by
|
|
4
|
+
* what writes a sentence around a type that may hold backticks (a template literal type).
|
|
5
|
+
*
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
/** A code span's text as CommonMark trims it: one space each side, when both are there and it is not only spaces. */
|
|
9
|
+
const trimmedSpan = (text) => text.length >= 2 && text.startsWith(" ") && text.endsWith(" ") && text.trim() !== ""
|
|
10
|
+
? text.slice(1, -1)
|
|
11
|
+
: text;
|
|
12
|
+
/**
|
|
13
|
+
* A sentence split into text and code spans. A run of backticks no run of the same length closes stays text.
|
|
14
|
+
*
|
|
15
|
+
* @param sentence - the sentence.
|
|
16
|
+
*/
|
|
17
|
+
export const sentencePieces = (sentence) => {
|
|
18
|
+
const pieces = [];
|
|
19
|
+
let text = "";
|
|
20
|
+
let at = 0;
|
|
21
|
+
while (at < sentence.length) {
|
|
22
|
+
const open = sentence.indexOf("`", at);
|
|
23
|
+
if (open === -1)
|
|
24
|
+
break;
|
|
25
|
+
let length = 1;
|
|
26
|
+
while (sentence[open + length] === "`")
|
|
27
|
+
length += 1;
|
|
28
|
+
const close = closingRun(sentence, open + length, length);
|
|
29
|
+
if (close === -1) {
|
|
30
|
+
text += sentence.slice(at, open + length);
|
|
31
|
+
at = open + length;
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
text += sentence.slice(at, open);
|
|
35
|
+
if (text !== "")
|
|
36
|
+
pieces.push({ text, isCode: false });
|
|
37
|
+
text = "";
|
|
38
|
+
pieces.push({ text: trimmedSpan(sentence.slice(open + length, close)), isCode: true });
|
|
39
|
+
at = close + length;
|
|
40
|
+
}
|
|
41
|
+
text += sentence.slice(at);
|
|
42
|
+
if (text !== "")
|
|
43
|
+
pieces.push({ text, isCode: false });
|
|
44
|
+
return pieces;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Where the run of exactly `length` backticks that closes a span starts, or -1.
|
|
48
|
+
*
|
|
49
|
+
* @param sentence - the sentence.
|
|
50
|
+
* @param from - where the span's text starts.
|
|
51
|
+
* @param length - the opening run's length.
|
|
52
|
+
*/
|
|
53
|
+
const closingRun = (sentence, from, length) => {
|
|
54
|
+
let at = sentence.indexOf("`", from);
|
|
55
|
+
while (at !== -1) {
|
|
56
|
+
let run = 1;
|
|
57
|
+
while (sentence[at + run] === "`")
|
|
58
|
+
run += 1;
|
|
59
|
+
if (run === length)
|
|
60
|
+
return at;
|
|
61
|
+
at = sentence.indexOf("`", at + run);
|
|
62
|
+
}
|
|
63
|
+
return -1;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* A text written as one code span, whatever backticks it holds: a run longer than any inside, with a space each side
|
|
67
|
+
* when the text starts or ends with a backtick.
|
|
68
|
+
*
|
|
69
|
+
* @param text - the code.
|
|
70
|
+
*/
|
|
71
|
+
export const codeSpan = (text) => {
|
|
72
|
+
const longest = Math.max(0, ...(text.match(/`+/g) ?? []).map((run) => run.length));
|
|
73
|
+
const fence = "`".repeat(longest + 1);
|
|
74
|
+
const padding = text.startsWith("`") || text.endsWith("`") ? " " : "";
|
|
75
|
+
return `${fence}${padding}${text}${padding}${fence}`;
|
|
76
|
+
};
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* Every value of a switch is drawn, its default too, so the frames show where the story starts; only the colour
|
|
7
7
|
* scheme's system value is left out, since it draws as light or as dark, one of the others. A value that writes
|
|
8
8
|
* nothing on the root (`isUnset`: the stories' own text, left to right, the mouse) is a value like the rest. In a pair, a cell's label leaves out the second switch's default (`Light`, `Light · More contrast`), so the familiar
|
|
9
|
-
* value reads alone.
|
|
9
|
+
* value reads alone. A cell another switch's value contradicts is left out (a look drawn only for dark, at light): it
|
|
10
|
+
* would draw the same as the cell of the implied value, under a name that is not what it shows. Pure.
|
|
10
11
|
*
|
|
11
12
|
* @module
|
|
12
13
|
*/
|
|
@@ -31,5 +32,6 @@ export type CompareVariant = {
|
|
|
31
32
|
*
|
|
32
33
|
* @param axes - the compared axes.
|
|
33
34
|
* @param catalogue - the catalogue's switches and text sizes.
|
|
35
|
+
* @param view - the stage's view, whose other switches may imply a compared one.
|
|
34
36
|
*/
|
|
35
|
-
export declare const compareVariants: (axes: CompareAxes, catalogue: CompareCatalogue) => CompareVariant[];
|
|
37
|
+
export declare const compareVariants: (axes: CompareAxes, catalogue: CompareCatalogue, view: ViewState) => CompareVariant[];
|
|
@@ -6,10 +6,12 @@
|
|
|
6
6
|
* Every value of a switch is drawn, its default too, so the frames show where the story starts; only the colour
|
|
7
7
|
* scheme's system value is left out, since it draws as light or as dark, one of the others. A value that writes
|
|
8
8
|
* nothing on the root (`isUnset`: the stories' own text, left to right, the mouse) is a value like the rest. In a pair, a cell's label leaves out the second switch's default (`Light`, `Light · More contrast`), so the familiar
|
|
9
|
-
* value reads alone.
|
|
9
|
+
* value reads alone. A cell another switch's value contradicts is left out (a look drawn only for dark, at light): it
|
|
10
|
+
* would draw the same as the cell of the implied value, under a name that is not what it shows. Pure.
|
|
10
11
|
*
|
|
11
12
|
* @module
|
|
12
13
|
*/
|
|
14
|
+
import { shownSwitches } from "../switches.js";
|
|
13
15
|
import { SHEETS_CHOICES } from "../viewState.js";
|
|
14
16
|
import { LATER_STRINGS } from "./laterStrings.js";
|
|
15
17
|
import { STRINGS } from "./strings.js";
|
|
@@ -54,16 +56,22 @@ const axisVariants = (axis, catalogue) => {
|
|
|
54
56
|
*
|
|
55
57
|
* @param axes - the compared axes.
|
|
56
58
|
* @param catalogue - the catalogue's switches and text sizes.
|
|
59
|
+
* @param view - the stage's view, whose other switches may imply a compared one.
|
|
57
60
|
*/
|
|
58
|
-
export const compareVariants = (axes, catalogue) => {
|
|
61
|
+
export const compareVariants = (axes, catalogue, view) => {
|
|
59
62
|
const [first, second] = axes;
|
|
60
63
|
if (first === undefined)
|
|
61
64
|
return [];
|
|
62
65
|
const firsts = axisVariants(first, catalogue);
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
const cells = second === undefined
|
|
67
|
+
? firsts
|
|
68
|
+
: axisVariants(second, catalogue).flatMap((outer) => firsts.map((inner) => ({
|
|
69
|
+
label: LATER_STRINGS.compareCell(outer.isDefault ? [inner.label] : [inner.label, outer.label]),
|
|
70
|
+
viewOf: (stage) => outer.viewOf(inner.viewOf(stage))
|
|
71
|
+
})));
|
|
72
|
+
return cells.filter((cell) => {
|
|
73
|
+
const { switches } = cell.viewOf(view);
|
|
74
|
+
const shown = shownSwitches(switches, catalogue.switches);
|
|
75
|
+
return axes.every((axis) => shown[axis] === switches[axis]);
|
|
76
|
+
});
|
|
69
77
|
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether this catalogue composes others (`refs`): a constant the plugin writes into the build (`define`), so a
|
|
3
|
+
* catalogue that composes none has every part of composition removed from its shell, and its first load carries none of
|
|
4
|
+
* it. And the composed catalogues themselves, set by `mountShell` behind that constant: a page holds one shell, so they
|
|
5
|
+
* are a fact of the page, as the frames' origin is, and a shell that composes none keeps not even their name.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* Read as a value that may be missing, so a shell bundled by something other than Forgebook's plugin (a test) runs with
|
|
9
|
+
* composition off rather than failing on a name nobody defined.
|
|
10
|
+
*
|
|
11
|
+
* @module
|
|
12
|
+
*/
|
|
13
|
+
import type { ShellRefs } from "./refParts.tsx";
|
|
14
|
+
/** Whether this catalogue composes others. */
|
|
15
|
+
export declare const HAS_REFS: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Sets the composed catalogues, before the shell renders.
|
|
18
|
+
*
|
|
19
|
+
* @param refs - the composed catalogues, if the generated page gives any.
|
|
20
|
+
*/
|
|
21
|
+
export declare const setShellRefs: (refs: ShellRefs | undefined) => void;
|
|
22
|
+
/** The composed catalogues; none until `mountShell` set them, or for a catalogue that composes none. */
|
|
23
|
+
export declare const shellRefs: () => ShellRefs | undefined;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether this catalogue composes others (`refs`): a constant the plugin writes into the build (`define`), so a
|
|
3
|
+
* catalogue that composes none has every part of composition removed from its shell, and its first load carries none of
|
|
4
|
+
* it. And the composed catalogues themselves, set by `mountShell` behind that constant: a page holds one shell, so they
|
|
5
|
+
* are a fact of the page, as the frames' origin is, and a shell that composes none keeps not even their name.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* Read as a value that may be missing, so a shell bundled by something other than Forgebook's plugin (a test) runs with
|
|
9
|
+
* composition off rather than failing on a name nobody defined.
|
|
10
|
+
*
|
|
11
|
+
* @module
|
|
12
|
+
*/
|
|
13
|
+
/** Whether this catalogue composes others. */
|
|
14
|
+
export const HAS_REFS = typeof __FORGEBOOK_REFS__ !== "undefined" && __FORGEBOOK_REFS__ === true;
|
|
15
|
+
/** The composed catalogues, once `mountShell` set them. */
|
|
16
|
+
let pageRefs;
|
|
17
|
+
/**
|
|
18
|
+
* Sets the composed catalogues, before the shell renders.
|
|
19
|
+
*
|
|
20
|
+
* @param refs - the composed catalogues, if the generated page gives any.
|
|
21
|
+
*/
|
|
22
|
+
export const setShellRefs = (refs) => {
|
|
23
|
+
pageRefs = refs;
|
|
24
|
+
};
|
|
25
|
+
/** The composed catalogues; none until `mountShell` set them, or for a catalogue that composes none. */
|
|
26
|
+
export const shellRefs = () => pageRefs;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @remarks
|
|
6
6
|
* Pure. A control its toolbar control leaves disabled is left as it is here too: a switch or a background the story
|
|
7
|
-
* fixes (or a width), and a control the compare view draws side by side.
|
|
7
|
+
* fixes (or a width), a switch another switch's value implies, and a control the compare view draws side by side.
|
|
8
8
|
*
|
|
9
9
|
* @module
|
|
10
10
|
*/
|
|
@@ -4,12 +4,13 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @remarks
|
|
6
6
|
* Pure. A control its toolbar control leaves disabled is left as it is here too: a switch or a background the story
|
|
7
|
-
* fixes (or a width), and a control the compare view draws side by side.
|
|
7
|
+
* fixes (or a width), a switch another switch's value implies, and a control the compare view draws side by side.
|
|
8
8
|
*
|
|
9
9
|
* @module
|
|
10
10
|
*/
|
|
11
11
|
import { AUDIENCE_IDS } from "../audiences.js";
|
|
12
12
|
import { cycledValue, switchValues } from "../controlKeys.js";
|
|
13
|
+
import { impliedSwitches } from "../switches.js";
|
|
13
14
|
import { isComparing, PLAIN_BACKDROP, SHEETS_CHOICES } from "../viewState.js";
|
|
14
15
|
import { withSwitch } from "./switchView.js";
|
|
15
16
|
/**
|
|
@@ -52,7 +53,7 @@ export const cycledView = (view, id, step, catalogue, fixed, isStoryPage) => {
|
|
|
52
53
|
return undefined;
|
|
53
54
|
const each = catalogue.switches.find((candidate) => candidate.id === id);
|
|
54
55
|
if (each !== undefined) {
|
|
55
|
-
if (fixed.switches[id] !== undefined)
|
|
56
|
+
if (fixed.switches[id] !== undefined || impliedSwitches(view.switches, catalogue.switches).has(id))
|
|
56
57
|
return undefined;
|
|
57
58
|
const current = view.switches[id] ?? each.default;
|
|
58
59
|
return withSwitch(view, each, cycledValue(switchValues(each), current, step));
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The custom controls of a catalogue, as the shell loads them: a module's check on arrival, and the check of a value before
|
|
3
|
+
* it reaches the story. Loaded with the first story that names such a control, so a catalogue with none never asks for it.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* A module is the catalogue's own code, run with a plugin's trust, and it can be wrong in every way: named by no one, gone,
|
|
7
|
+
* throwing as it loads, exporting something else. Each ends in a sentence beside the field; none reaches the panel as an
|
|
8
|
+
* exception.
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
import type { ArgControlModule } from "../argControl.ts";
|
|
13
|
+
import type { ArgValue } from "../messages.ts";
|
|
14
|
+
/** The texts of the custom controls' host. */
|
|
15
|
+
export declare const CONTROL_STRINGS: {
|
|
16
|
+
controlUnknown: (name: string) => string;
|
|
17
|
+
controlFailed: (name: string, reason: string) => string;
|
|
18
|
+
controlMalformed: (name: string) => string;
|
|
19
|
+
controlThrew: (name: string, reason: string) => string;
|
|
20
|
+
controlValue: (name: string, reason: string) => string;
|
|
21
|
+
controlUnsafe: string;
|
|
22
|
+
};
|
|
23
|
+
/** A catalogue's custom controls: how to load each, by name. */
|
|
24
|
+
export type ArgControlLoaders = Readonly<Record<string, () => Promise<unknown>>>;
|
|
25
|
+
/** A control as loading it ended. */
|
|
26
|
+
export type LoadedControl = {
|
|
27
|
+
readonly status: "ready";
|
|
28
|
+
readonly module: ArgControlModule;
|
|
29
|
+
} | {
|
|
30
|
+
readonly status: "failed";
|
|
31
|
+
readonly message: string;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* A control, loaded.
|
|
35
|
+
*
|
|
36
|
+
* @param name - its name.
|
|
37
|
+
* @param loaders - the catalogue's custom controls.
|
|
38
|
+
*/
|
|
39
|
+
export declare const loadControl: (name: string, loaders: ArgControlLoaders) => Promise<LoadedControl>;
|
|
40
|
+
/**
|
|
41
|
+
* What is wrong with a value for a control: its schema's word, or that it holds what would run if a component spread it on
|
|
42
|
+
* an element, which no schema's author is asked to think of.
|
|
43
|
+
*
|
|
44
|
+
* @param module - the control's module.
|
|
45
|
+
* @param value - the value.
|
|
46
|
+
* @returns the sentence; none when it fits.
|
|
47
|
+
*/
|
|
48
|
+
export declare const controlValueProblem: (module: ArgControlModule, value: ArgValue) => string | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* The checks of a story's custom controls, by name; a control that cannot load has none, which refuses its values.
|
|
51
|
+
*
|
|
52
|
+
* @param names - the controls the story names.
|
|
53
|
+
* @param loaders - the catalogue's custom controls.
|
|
54
|
+
*/
|
|
55
|
+
export declare const customChecksOf: (names: readonly string[], loaders: ArgControlLoaders) => Promise<Readonly<Record<string, (value: ArgValue) => string | undefined>>>;
|
|
56
|
+
/**
|
|
57
|
+
* A control's texts as the catalogue words them: its `strings` under `argControls.<name>.`, by the rest of the key.
|
|
58
|
+
*
|
|
59
|
+
* @param strings - the catalogue's replaced texts.
|
|
60
|
+
* @param name - the control's name.
|
|
61
|
+
*/
|
|
62
|
+
export declare const controlStringsOf: (strings: Readonly<Record<string, string>>, name: string) => Readonly<Record<string, string>>;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { holdsUnsafePart } from "../shapeValues.js";
|
|
2
|
+
import { isValueSchema, schemaProblem } from "../valueSchema.js";
|
|
3
|
+
import { lateStrings } from "./strings.js";
|
|
4
|
+
/** The texts of the custom controls' host. */
|
|
5
|
+
export const CONTROL_STRINGS = lateStrings({
|
|
6
|
+
controlUnknown: (name) => `No control is registered as "${name}": add it to argControls in forgebook.config`,
|
|
7
|
+
controlFailed: (name, reason) => `The control "${name}" could not be loaded: ${reason}`,
|
|
8
|
+
controlMalformed: (name) => `The control "${name}" must export mount, a function, and schema, of JSON Schema's keywords Forgebook reads`,
|
|
9
|
+
controlThrew: (name, reason) => `The control "${name}" failed: ${reason}`,
|
|
10
|
+
controlValue: (name, reason) => `The control "${name}" was given a value it refuses: ${reason}`,
|
|
11
|
+
controlUnsafe: "It holds what a link may not give"
|
|
12
|
+
});
|
|
13
|
+
/** Whether a value is a plain object with a function `mount`. */
|
|
14
|
+
const isControlModule = (value) => typeof value === "object" &&
|
|
15
|
+
value !== null &&
|
|
16
|
+
"mount" in value &&
|
|
17
|
+
typeof value.mount === "function" &&
|
|
18
|
+
"schema" in value &&
|
|
19
|
+
isValueSchema(value.schema) &&
|
|
20
|
+
(!("toCode" in value) || value.toCode === undefined || typeof value.toCode === "function");
|
|
21
|
+
/** Each control's load, kept: every field and check of a page share one. */
|
|
22
|
+
const loads = new Map();
|
|
23
|
+
/** Loads one control's module, once, and reads what it exports. */
|
|
24
|
+
const readControl = async (name, load) => {
|
|
25
|
+
try {
|
|
26
|
+
const module = await load();
|
|
27
|
+
return isControlModule(module)
|
|
28
|
+
? { status: "ready", module }
|
|
29
|
+
: { status: "failed", message: CONTROL_STRINGS.controlMalformed(name) };
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
33
|
+
return { status: "failed", message: CONTROL_STRINGS.controlFailed(name, reason) };
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* A control, loaded.
|
|
38
|
+
*
|
|
39
|
+
* @param name - its name.
|
|
40
|
+
* @param loaders - the catalogue's custom controls.
|
|
41
|
+
*/
|
|
42
|
+
export const loadControl = (name, loaders) => {
|
|
43
|
+
const load = Object.hasOwn(loaders, name) ? loaders[name] : undefined;
|
|
44
|
+
if (load === undefined)
|
|
45
|
+
return Promise.resolve({ status: "failed", message: CONTROL_STRINGS.controlUnknown(name) });
|
|
46
|
+
const started = loads.get(load) ?? readControl(name, load);
|
|
47
|
+
loads.set(load, started);
|
|
48
|
+
return started;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* What is wrong with a value for a control: its schema's word, or that it holds what would run if a component spread it on
|
|
52
|
+
* an element, which no schema's author is asked to think of.
|
|
53
|
+
*
|
|
54
|
+
* @param module - the control's module.
|
|
55
|
+
* @param value - the value.
|
|
56
|
+
* @returns the sentence; none when it fits.
|
|
57
|
+
*/
|
|
58
|
+
export const controlValueProblem = (module, value) => schemaProblem(module.schema, value) ??
|
|
59
|
+
(holdsUnsafePart(value, true) ? CONTROL_STRINGS.controlUnsafe : undefined);
|
|
60
|
+
/**
|
|
61
|
+
* The checks of a story's custom controls, by name; a control that cannot load has none, which refuses its values.
|
|
62
|
+
*
|
|
63
|
+
* @param names - the controls the story names.
|
|
64
|
+
* @param loaders - the catalogue's custom controls.
|
|
65
|
+
*/
|
|
66
|
+
export const customChecksOf = async (names, loaders) => {
|
|
67
|
+
const controls = await Promise.all(names.map(async (name) => [name, await loadControl(name, loaders)]));
|
|
68
|
+
return Object.fromEntries(controls.flatMap(([name, control]) => control.status === "ready"
|
|
69
|
+
? [[name, (value) => controlValueProblem(control.module, value)]]
|
|
70
|
+
: []));
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* A control's texts as the catalogue words them: its `strings` under `argControls.<name>.`, by the rest of the key.
|
|
74
|
+
*
|
|
75
|
+
* @param strings - the catalogue's replaced texts.
|
|
76
|
+
* @param name - the control's name.
|
|
77
|
+
*/
|
|
78
|
+
export const controlStringsOf = (strings, name) => {
|
|
79
|
+
const prefix = `argControls.${name}.`;
|
|
80
|
+
return Object.fromEntries(Object.entries(strings).flatMap(([key, text]) => key.startsWith(prefix) && key.length > prefix.length ? [[key.slice(prefix.length), text]] : []));
|
|
81
|
+
};
|
|
@@ -92,9 +92,9 @@
|
|
|
92
92
|
opacity: 1;
|
|
93
93
|
}
|
|
94
94
|
.forgebook-anchor:focus-visible {
|
|
95
|
-
outline: 2px solid
|
|
95
|
+
outline: 2px solid var(--forgebook-focus-halo);
|
|
96
96
|
outline-offset: 0;
|
|
97
|
-
box-shadow:
|
|
97
|
+
box-shadow: var(--forgebook-focus-edge);
|
|
98
98
|
}
|
|
99
99
|
.forgebook-docs__code {
|
|
100
100
|
position: relative;
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
margin: 0;
|
|
119
119
|
padding: 0.5rem 1rem;
|
|
120
120
|
box-shadow: inset 0 -1px 0 var(--forgebook-separator);
|
|
121
|
-
font:
|
|
121
|
+
font: var(--forgebook-text-mono-small);
|
|
122
122
|
color: var(--forgebook-text-secondary);
|
|
123
123
|
padding-inline-end: 5rem;
|
|
124
124
|
overflow: hidden;
|
|
@@ -194,7 +194,7 @@
|
|
|
194
194
|
}
|
|
195
195
|
.forgebook-aside__title {
|
|
196
196
|
margin: 0;
|
|
197
|
-
font:
|
|
197
|
+
font: var(--forgebook-text-row-label);
|
|
198
198
|
font-weight: 600;
|
|
199
199
|
color: var(--forgebook-tone);
|
|
200
200
|
}
|
|
@@ -217,7 +217,7 @@
|
|
|
217
217
|
border-radius: var(--forgebook-radius-control-small) var(--forgebook-radius-control-small) 0 0;
|
|
218
218
|
background: none;
|
|
219
219
|
box-shadow: inset 0 -2px 0 transparent;
|
|
220
|
-
font:
|
|
220
|
+
font: var(--forgebook-text-row-label);
|
|
221
221
|
color: var(--forgebook-text-secondary);
|
|
222
222
|
cursor: pointer;
|
|
223
223
|
transition: color 150ms ease-out, box-shadow 150ms ease-out;
|
|
@@ -230,9 +230,9 @@
|
|
|
230
230
|
box-shadow: inset 0 -2px 0 var(--forgebook-accent);
|
|
231
231
|
}
|
|
232
232
|
.forgebook-tabs__tab:focus-visible {
|
|
233
|
-
outline: 2px solid
|
|
233
|
+
outline: 2px solid var(--forgebook-focus-halo);
|
|
234
234
|
outline-offset: -2px;
|
|
235
|
-
box-shadow:
|
|
235
|
+
box-shadow: var(--forgebook-focus-edge);
|
|
236
236
|
}
|
|
237
237
|
.forgebook-tabs__panel {
|
|
238
238
|
display: grid;
|
|
@@ -273,7 +273,7 @@
|
|
|
273
273
|
border-radius: 50%;
|
|
274
274
|
background: var(--forgebook-surface);
|
|
275
275
|
box-shadow: inset 0 0 0 1px var(--forgebook-edge);
|
|
276
|
-
font:
|
|
276
|
+
font: var(--forgebook-text-row-label);
|
|
277
277
|
font-weight: 600;
|
|
278
278
|
color: var(--forgebook-text-secondary);
|
|
279
279
|
}
|
|
@@ -311,7 +311,7 @@
|
|
|
311
311
|
align-items: center;
|
|
312
312
|
gap: 0.25rem;
|
|
313
313
|
margin: 0;
|
|
314
|
-
font:
|
|
314
|
+
font: var(--forgebook-text-card-title);
|
|
315
315
|
}
|
|
316
316
|
.forgebook-card--link {
|
|
317
317
|
text-decoration: none;
|
|
@@ -324,12 +324,12 @@
|
|
|
324
324
|
box-shadow: 0 0 0 1px var(--forgebook-card-edge-hover), 0 4px 14px var(--forgebook-shadow-lift);
|
|
325
325
|
}
|
|
326
326
|
.forgebook-card--link:focus-visible {
|
|
327
|
-
outline: 2px solid
|
|
327
|
+
outline: 2px solid var(--forgebook-focus-halo);
|
|
328
328
|
outline-offset: 0;
|
|
329
|
-
box-shadow:
|
|
329
|
+
box-shadow: var(--forgebook-focus-edge), 0 0 0 1px var(--forgebook-card-edge), 0 1px 3px var(--forgebook-shadow-soft);
|
|
330
330
|
}
|
|
331
331
|
.forgebook-card__description {
|
|
332
|
-
font:
|
|
332
|
+
font: var(--forgebook-text-body);
|
|
333
333
|
color: var(--forgebook-text-secondary);
|
|
334
334
|
}
|
|
335
335
|
.forgebook-docs__foot {
|
|
@@ -357,24 +357,24 @@
|
|
|
357
357
|
box-shadow: 0 0 0 1px var(--forgebook-card-edge-hover), 0 4px 14px var(--forgebook-shadow-lift);
|
|
358
358
|
}
|
|
359
359
|
.forgebook-docs__around:focus-visible {
|
|
360
|
-
outline: 2px solid
|
|
360
|
+
outline: 2px solid var(--forgebook-focus-halo);
|
|
361
361
|
outline-offset: 0;
|
|
362
|
-
box-shadow:
|
|
362
|
+
box-shadow: var(--forgebook-focus-edge), 0 0 0 1px var(--forgebook-card-edge), 0 1px 3px var(--forgebook-shadow-soft);
|
|
363
363
|
}
|
|
364
364
|
.forgebook-docs__around-label {
|
|
365
|
-
font:
|
|
365
|
+
font: var(--forgebook-text-caption);
|
|
366
366
|
color: var(--forgebook-text-tertiary);
|
|
367
367
|
}
|
|
368
368
|
.forgebook-docs__around-name {
|
|
369
369
|
display: inline-flex;
|
|
370
370
|
align-items: center;
|
|
371
371
|
gap: 0.25rem;
|
|
372
|
-
font:
|
|
372
|
+
font: var(--forgebook-text-row-label);
|
|
373
373
|
color: var(--forgebook-accent-text);
|
|
374
374
|
}
|
|
375
375
|
.forgebook-contents__title {
|
|
376
376
|
margin: 0;
|
|
377
|
-
font:
|
|
377
|
+
font: var(--forgebook-text-label);
|
|
378
378
|
color: var(--forgebook-text-tertiary);
|
|
379
379
|
}
|
|
380
380
|
.forgebook-contents__list {
|
|
@@ -392,7 +392,7 @@
|
|
|
392
392
|
padding: 0.25rem 0.5rem;
|
|
393
393
|
border-radius: var(--forgebook-radius-control-small);
|
|
394
394
|
box-shadow: inset 2px 0 0 transparent;
|
|
395
|
-
font:
|
|
395
|
+
font: var(--forgebook-text-row-compact);
|
|
396
396
|
color: var(--forgebook-text-secondary);
|
|
397
397
|
text-decoration: none;
|
|
398
398
|
transition: color 150ms ease-out, background-color 150ms ease-out;
|
|
@@ -406,9 +406,9 @@
|
|
|
406
406
|
font-weight: 500;
|
|
407
407
|
}
|
|
408
408
|
.forgebook-contents__link:focus-visible {
|
|
409
|
-
outline: 2px solid
|
|
409
|
+
outline: 2px solid var(--forgebook-focus-halo);
|
|
410
410
|
outline-offset: -2px;
|
|
411
|
-
box-shadow:
|
|
411
|
+
box-shadow: var(--forgebook-focus-edge);
|
|
412
412
|
}
|
|
413
413
|
.forgebook-contents--column {
|
|
414
414
|
position: sticky;
|
|
@@ -433,9 +433,9 @@
|
|
|
433
433
|
border-radius: var(--forgebook-radius-control-small);
|
|
434
434
|
}
|
|
435
435
|
.forgebook-contents--fold > summary:focus-visible {
|
|
436
|
-
outline: 2px solid
|
|
436
|
+
outline: 2px solid var(--forgebook-focus-halo);
|
|
437
437
|
outline-offset: 0;
|
|
438
|
-
box-shadow:
|
|
438
|
+
box-shadow: var(--forgebook-focus-edge);
|
|
439
439
|
}
|
|
440
440
|
.forgebook-contents--fold > nav {
|
|
441
441
|
margin-top: 0.5rem;
|
|
@@ -13,11 +13,13 @@
|
|
|
13
13
|
import type { StoryControlsSetting, StoryFileCode } from "@forgebook/story-format/source";
|
|
14
14
|
import { type PanelArgTypes } from "../argTypes.ts";
|
|
15
15
|
import { type ComponentDocs } from "../componentDocs.ts";
|
|
16
|
-
import type { ArgValue, PanelArgs } from "../messages.ts";
|
|
16
|
+
import type { ArgValue, PanelArgs, PlayStepCommand } from "../messages.ts";
|
|
17
17
|
import type { NamedValues } from "../namedValues.ts";
|
|
18
18
|
import type { PlayTrace } from "../playTrace.ts";
|
|
19
19
|
import type { TreeStory } from "../storyTree.ts";
|
|
20
|
+
import type { ViewState } from "../viewState.ts";
|
|
20
21
|
import type { CheckState } from "./A11yTab.tsx";
|
|
22
|
+
import type { ArgControlLoaders } from "./customControls.ts";
|
|
21
23
|
import type { DockTab } from "./Dock.tsx";
|
|
22
24
|
import type { TextArgNote } from "./PropRows.tsx";
|
|
23
25
|
import type { EventCall } from "./useFrameMessages.ts";
|
|
@@ -44,6 +46,16 @@ export type DockTabsInput = {
|
|
|
44
46
|
readonly actions: readonly string[];
|
|
45
47
|
/** The values of the moment: the story's args with the panel's over them. */
|
|
46
48
|
readonly values: PanelArgs;
|
|
49
|
+
/** The panel's own values, for what can go back to the story's. */
|
|
50
|
+
readonly panelArgs: PanelArgs;
|
|
51
|
+
/** The story's own args, for a control no type describes. */
|
|
52
|
+
readonly storyArgs: PanelArgs;
|
|
53
|
+
/** Loads the catalogue's design tokens; none when it has none. */
|
|
54
|
+
readonly loadTokens: (() => Promise<unknown>) | undefined;
|
|
55
|
+
/** Loads each custom control the catalogue registers, by name; none when it registers none. */
|
|
56
|
+
readonly argControls?: ArgControlLoaders | undefined;
|
|
57
|
+
/** The switches' values of the moment, for the args whose `argTypes.if` reads a global. */
|
|
58
|
+
readonly globals: Readonly<Record<string, unknown>>;
|
|
47
59
|
/** Called with a changed value; `undefined` removes the panel's value. */
|
|
48
60
|
readonly onValueChange: (name: string, value: ArgValue | undefined) => void;
|
|
49
61
|
/** Removes every value the panel set. */
|
|
@@ -62,8 +74,12 @@ export type DockTabsInput = {
|
|
|
62
74
|
readonly onClearCalls: () => void;
|
|
63
75
|
/** The play function's trace; none for a story without a play (or before it ran). */
|
|
64
76
|
readonly trace: PlayTrace | undefined;
|
|
65
|
-
/** Runs the play again. */
|
|
66
|
-
readonly
|
|
77
|
+
/** Runs the play again, or steps through it. */
|
|
78
|
+
readonly onPlayStep: (command: PlayStepCommand) => void;
|
|
79
|
+
/** The view, whose play switch the Interactions tab shows. */
|
|
80
|
+
readonly view: ViewState;
|
|
81
|
+
/** Changes the view. */
|
|
82
|
+
readonly onViewChange: (view: ViewState) => void;
|
|
67
83
|
/** The accessibility check. */
|
|
68
84
|
readonly check: CheckState;
|
|
69
85
|
/** Runs it; none when it cannot run. */
|