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
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { isArgValue, isUnsetArg } from "../messages.js";
|
|
2
|
+
import { panelArgTypesOf } from "../storyArgTypes.js";
|
|
3
|
+
/** Whether a value is a plain object. */
|
|
4
|
+
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
5
|
+
/**
|
|
6
|
+
* The controls the catalogue gives the component's props by type, by prop, from its docs as the plugin served them.
|
|
7
|
+
*
|
|
8
|
+
* @param docs - the docs module's value.
|
|
9
|
+
*/
|
|
10
|
+
const typedControlsOf = (docs) => {
|
|
11
|
+
const props = isRecord(docs) && Array.isArray(docs["props"]) ? docs["props"] : [];
|
|
12
|
+
return Object.fromEntries(props.flatMap((prop) => isRecord(prop) && typeof prop["name"] === "string" && typeof prop["customControl"] === "string"
|
|
13
|
+
? [[prop["name"], prop["customControl"]]]
|
|
14
|
+
: []));
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* The custom control of each arg, as the panel draws it: a control the story's `argTypes` name, else the one the
|
|
18
|
+
* catalogue gives the prop by type, unless the `argTypes` name another control for it.
|
|
19
|
+
*
|
|
20
|
+
* @param argTypes - the story's `argTypes`, as the panel reads them.
|
|
21
|
+
* @param docs - its component's docs, as the plugin served them.
|
|
22
|
+
*/
|
|
23
|
+
export const argControlsOf = (argTypes, docs) => {
|
|
24
|
+
const typed = Object.entries(typedControlsOf(docs)).filter(([name]) => argTypes[name]?.control === undefined && argTypes[name]?.customControl === undefined);
|
|
25
|
+
const named = Object.entries(argTypes).flatMap(([name, argType]) => argType.customControl === undefined ? [] : [[name, argType.customControl]]);
|
|
26
|
+
return Object.fromEntries([...typed, ...named]);
|
|
27
|
+
};
|
|
28
|
+
/** Each story file's docs, loaded once by the frame. */
|
|
29
|
+
const docsLoads = new Map();
|
|
30
|
+
/**
|
|
31
|
+
* A story's component docs, or none when they cannot load: the panel then has no docs either, so no control by type.
|
|
32
|
+
*
|
|
33
|
+
* @param load - the loader.
|
|
34
|
+
*/
|
|
35
|
+
const loadedDocs = (load) => {
|
|
36
|
+
if (load === undefined)
|
|
37
|
+
return Promise.resolve(undefined);
|
|
38
|
+
// a load that failed is tried again by the next values: the docs may be there by then
|
|
39
|
+
const started = docsLoads.get(load) ??
|
|
40
|
+
load().catch(() => {
|
|
41
|
+
docsLoads.delete(load);
|
|
42
|
+
return undefined;
|
|
43
|
+
});
|
|
44
|
+
docsLoads.set(load, started);
|
|
45
|
+
return started;
|
|
46
|
+
};
|
|
47
|
+
/** Whether a module exports a `toStoryValue` function, and a `toPanelValue` function or none. */
|
|
48
|
+
const isFrameModule = (value) => typeof value === "object" &&
|
|
49
|
+
value !== null &&
|
|
50
|
+
"toStoryValue" in value &&
|
|
51
|
+
typeof value.toStoryValue === "function" &&
|
|
52
|
+
(!("toPanelValue" in value) ||
|
|
53
|
+
value.toPanelValue === undefined ||
|
|
54
|
+
typeof value.toPanelValue === "function");
|
|
55
|
+
/** Each frame module's load, kept: every value of a page shares one. */
|
|
56
|
+
const loads = new Map();
|
|
57
|
+
/** The reason an error gives. */
|
|
58
|
+
const reasonOf = (error) => (error instanceof Error ? error.message : String(error));
|
|
59
|
+
/** A frame module, loaded once, or why it cannot be. */
|
|
60
|
+
const loadedModule = async (control, load) => {
|
|
61
|
+
try {
|
|
62
|
+
const started = loads.get(load) ?? load();
|
|
63
|
+
loads.set(load, started);
|
|
64
|
+
const module = await started;
|
|
65
|
+
return isFrameModule(module)
|
|
66
|
+
? module
|
|
67
|
+
: `The control "${control}" names a frame module that exports no toStoryValue function`;
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
return `The control "${control}" could not load its frame module: ${reasonOf(error)}`;
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* One arg's values as its control's frame module turns them.
|
|
75
|
+
*
|
|
76
|
+
* @param module - the module.
|
|
77
|
+
* @param control - the control's name.
|
|
78
|
+
* @param argType - the arg.
|
|
79
|
+
* @param args - the panel's values.
|
|
80
|
+
* @param story - the story.
|
|
81
|
+
*/
|
|
82
|
+
const argOutcome = (module, control, argType, args, story) => {
|
|
83
|
+
const { name } = argType;
|
|
84
|
+
const problems = [];
|
|
85
|
+
let own;
|
|
86
|
+
const ownValue = Object.hasOwn(story.args, name) ? story.args[name] : undefined;
|
|
87
|
+
if (module.toPanelValue !== undefined && ownValue !== undefined) {
|
|
88
|
+
try {
|
|
89
|
+
const named = module.toPanelValue(ownValue, argType);
|
|
90
|
+
own = named !== undefined && isArgValue(named) ? named : undefined;
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
problems.push(`The control "${control}" could not name the story's value of "${name}": ${reasonOf(error)}`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
const named = own === undefined ? {} : { own };
|
|
97
|
+
const given = Object.hasOwn(args, name) ? args[name] : undefined;
|
|
98
|
+
if (given === undefined)
|
|
99
|
+
return { isDropped: false, problems, ...named };
|
|
100
|
+
// the panel's "no value" stays one: the story receives `undefined`, as for any arg
|
|
101
|
+
if (isUnsetArg(given))
|
|
102
|
+
return { value: { made: undefined }, isDropped: false, problems, ...named };
|
|
103
|
+
try {
|
|
104
|
+
return { value: { made: module.toStoryValue(given, argType) }, isDropped: false, problems, ...named };
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
problems.push(`The control "${control}" could not turn the value of "${name}": ${reasonOf(error)}`);
|
|
108
|
+
return { isDropped: true, problems, ...named };
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* The values of the controls with a frame module, as the story and the panel take them.
|
|
113
|
+
*
|
|
114
|
+
* @param args - the panel's values, checked by the shell.
|
|
115
|
+
* @param loaders - the frame modules, by control.
|
|
116
|
+
* @param story - the story's own args, its `argTypes` and its docs.
|
|
117
|
+
*/
|
|
118
|
+
export const controlValuesOf = async (args, loaders, story) => {
|
|
119
|
+
const types = panelArgTypesOf(story.argTypes, []);
|
|
120
|
+
const controls = argControlsOf(types, await loadedDocs(story.loadDocs));
|
|
121
|
+
const outcomes = await Promise.all(Object.entries(controls).flatMap(([name, control]) => {
|
|
122
|
+
const load = Object.hasOwn(loaders, control) ? loaders[control] : undefined;
|
|
123
|
+
if (load === undefined)
|
|
124
|
+
return [];
|
|
125
|
+
const settings = Object.hasOwn(types, name) ? types[name]?.settings : undefined;
|
|
126
|
+
const argType = { name, ...(settings === undefined ? {} : { settings }) };
|
|
127
|
+
return [
|
|
128
|
+
loadedModule(control, load).then((module) => [
|
|
129
|
+
name,
|
|
130
|
+
typeof module === "string"
|
|
131
|
+
? { isDropped: Object.hasOwn(args, name), problems: [module] }
|
|
132
|
+
: argOutcome(module, control, argType, args, story)
|
|
133
|
+
])
|
|
134
|
+
];
|
|
135
|
+
}));
|
|
136
|
+
return {
|
|
137
|
+
values: Object.fromEntries(outcomes.flatMap(([name, outcome]) => (outcome.value === undefined ? [] : [[name, outcome.value.made]]))),
|
|
138
|
+
dropped: outcomes.flatMap(([name, outcome]) => (outcome.isDropped ? [name] : [])),
|
|
139
|
+
own: Object.fromEntries(outcomes.flatMap(([name, outcome]) => (outcome.own === undefined ? [] : [[name, outcome.own]]))),
|
|
140
|
+
// a module that fails is said once, however many args use it
|
|
141
|
+
problems: [...new Set(outcomes.flatMap(([, outcome]) => outcome.problems))]
|
|
142
|
+
};
|
|
143
|
+
};
|
package/dist/src/frame/frame.css
CHANGED
|
@@ -5,6 +5,18 @@
|
|
|
5
5
|
--forgebook-radius-control-small: 6px;
|
|
6
6
|
--forgebook-radius-control: 7px;
|
|
7
7
|
--forgebook-radius-card: 12px;
|
|
8
|
+
--forgebook-focus-edge: inset 0 0 0 1px var(--forgebook-accent);
|
|
9
|
+
--forgebook-focus-halo: color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
|
|
10
|
+
--forgebook-text-display: 700 1.375rem/1.2 var(--forgebook-font-sans);
|
|
11
|
+
--forgebook-text-card-title: 600 0.875rem/1.3 var(--forgebook-font-sans);
|
|
12
|
+
--forgebook-text-body: 400 0.8125rem/1.4 var(--forgebook-font-sans);
|
|
13
|
+
--forgebook-text-row-label: 500 0.8125rem/1.35 var(--forgebook-font-sans);
|
|
14
|
+
--forgebook-text-row-compact: 400 0.78125rem/1.4 var(--forgebook-font-sans);
|
|
15
|
+
--forgebook-text-control: 500 0.75rem/1.3 var(--forgebook-font-sans);
|
|
16
|
+
--forgebook-text-caption: 400 0.6875rem/1.35 var(--forgebook-font-sans);
|
|
17
|
+
--forgebook-text-label: 600 0.6875rem/1.3 var(--forgebook-font-sans);
|
|
18
|
+
--forgebook-text-mono: 400 0.71875rem/1.4 var(--forgebook-font-mono);
|
|
19
|
+
--forgebook-text-mono-small: 400 0.6875rem/1.6 var(--forgebook-font-mono);
|
|
8
20
|
--forgebook-window: #f6f6f8;
|
|
9
21
|
--forgebook-sidebar: #ebebef;
|
|
10
22
|
--forgebook-surface: #fff;
|
|
@@ -19,6 +31,8 @@
|
|
|
19
31
|
--forgebook-accent-text: #0059d2;
|
|
20
32
|
--forgebook-on-accent: #fff;
|
|
21
33
|
--forgebook-danger-text: #bc1f16;
|
|
34
|
+
--forgebook-caution-text: #935200;
|
|
35
|
+
--forgebook-positive-text: #077229;
|
|
22
36
|
--forgebook-code-keyword: #7036c4;
|
|
23
37
|
--forgebook-code-type: #0059d2;
|
|
24
38
|
--forgebook-code-string: #077229;
|
|
@@ -59,7 +73,7 @@
|
|
|
59
73
|
.forgebook-matrix__corner,
|
|
60
74
|
.forgebook-matrix__name {
|
|
61
75
|
padding: 0.5rem 0.75rem;
|
|
62
|
-
font:
|
|
76
|
+
font: var(--forgebook-text-mono-small);
|
|
63
77
|
text-align: start;
|
|
64
78
|
white-space: nowrap;
|
|
65
79
|
opacity: 0.7;
|
|
@@ -68,9 +82,28 @@
|
|
|
68
82
|
padding: 0.75rem;
|
|
69
83
|
vertical-align: middle;
|
|
70
84
|
}
|
|
85
|
+
.forgebook-frame-pending {
|
|
86
|
+
margin: 0;
|
|
87
|
+
padding: 0.5rem 0.75rem;
|
|
88
|
+
font: var(--forgebook-text-mono-small);
|
|
89
|
+
color: #fff;
|
|
90
|
+
background: #8a1c1c;
|
|
91
|
+
}
|
|
71
92
|
.forgebook-frame-error {
|
|
93
|
+
--forgebook-focus-edge: inset 0 0 0 1px var(--forgebook-accent);
|
|
94
|
+
--forgebook-focus-halo: color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
|
|
95
|
+
--forgebook-text-display: 700 1.375rem/1.2 var(--forgebook-font-sans);
|
|
96
|
+
--forgebook-text-card-title: 600 0.875rem/1.3 var(--forgebook-font-sans);
|
|
97
|
+
--forgebook-text-body: 400 0.8125rem/1.4 var(--forgebook-font-sans);
|
|
98
|
+
--forgebook-text-row-label: 500 0.8125rem/1.35 var(--forgebook-font-sans);
|
|
99
|
+
--forgebook-text-row-compact: 400 0.78125rem/1.4 var(--forgebook-font-sans);
|
|
100
|
+
--forgebook-text-control: 500 0.75rem/1.3 var(--forgebook-font-sans);
|
|
101
|
+
--forgebook-text-caption: 400 0.6875rem/1.35 var(--forgebook-font-sans);
|
|
102
|
+
--forgebook-text-label: 600 0.6875rem/1.3 var(--forgebook-font-sans);
|
|
103
|
+
--forgebook-text-mono: 400 0.71875rem/1.4 var(--forgebook-font-mono);
|
|
104
|
+
--forgebook-text-mono-small: 400 0.6875rem/1.6 var(--forgebook-font-mono);
|
|
72
105
|
margin: 1.5rem;
|
|
73
|
-
font:
|
|
106
|
+
font: var(--forgebook-text-body);
|
|
74
107
|
color: var(--forgebook-danger-text);
|
|
75
108
|
}
|
|
76
109
|
.forgebook-frame-error__message {
|
|
@@ -80,7 +113,7 @@
|
|
|
80
113
|
.forgebook-frame-error__stack {
|
|
81
114
|
margin: 0.75rem 0 0;
|
|
82
115
|
overflow-x: auto;
|
|
83
|
-
font:
|
|
116
|
+
font: var(--forgebook-text-mono-small);
|
|
84
117
|
color: var(--forgebook-text-secondary);
|
|
85
118
|
white-space: pre;
|
|
86
119
|
}
|
|
@@ -3,7 +3,22 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module
|
|
5
5
|
*/
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* `ready` once the story rendered, what it waits for came and its play function is over; `error` when it could not
|
|
8
|
+
* render; `pending` when the frame gave up waiting, or cannot tell, so what it shows was not seen in its final state: a
|
|
9
|
+
* check reads that as not verified, never as passed.
|
|
10
|
+
*/
|
|
7
11
|
export declare const STATUS_ATTRIBUTE = "data-forgebook-status";
|
|
12
|
+
/** The root's attribute that says why the status is `pending`, in a sentence a person reads. */
|
|
13
|
+
export declare const PENDING_REASON_ATTRIBUTE = "data-forgebook-pending-reason";
|
|
14
|
+
/**
|
|
15
|
+
* The root's attribute set on a story that says it stays in a loading state (`parameters.suspense.expected`): the frame
|
|
16
|
+
* did not wait for it, and a check says so rather than let a preview turn the wait off unseen.
|
|
17
|
+
*/
|
|
18
|
+
export declare const NOT_AWAITED_ATTRIBUTE = "data-forgebook-not-awaited";
|
|
8
19
|
/** The root's attribute set once the frame's code runs; the page's guard against code that fails earlier reads it. */
|
|
9
20
|
export declare const FRAME_STARTED_ATTRIBUTE = "data-forgebook-started";
|
|
21
|
+
/** The class of the text saying why a frame's story could not be drawn: what a check reports as the reason. */
|
|
22
|
+
export declare const ERROR_MESSAGE_CLASS = "forgebook-frame-error__message";
|
|
23
|
+
/** The class of a thrown error's stack under its message: the dev server's answer rewrites it in the lines as written. */
|
|
24
|
+
export declare const ERROR_STACK_CLASS = "forgebook-frame-error__stack";
|
|
@@ -3,7 +3,22 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module
|
|
5
5
|
*/
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* `ready` once the story rendered, what it waits for came and its play function is over; `error` when it could not
|
|
8
|
+
* render; `pending` when the frame gave up waiting, or cannot tell, so what it shows was not seen in its final state: a
|
|
9
|
+
* check reads that as not verified, never as passed.
|
|
10
|
+
*/
|
|
7
11
|
export const STATUS_ATTRIBUTE = "data-forgebook-status";
|
|
12
|
+
/** The root's attribute that says why the status is `pending`, in a sentence a person reads. */
|
|
13
|
+
export const PENDING_REASON_ATTRIBUTE = "data-forgebook-pending-reason";
|
|
14
|
+
/**
|
|
15
|
+
* The root's attribute set on a story that says it stays in a loading state (`parameters.suspense.expected`): the frame
|
|
16
|
+
* did not wait for it, and a check says so rather than let a preview turn the wait off unseen.
|
|
17
|
+
*/
|
|
18
|
+
export const NOT_AWAITED_ATTRIBUTE = "data-forgebook-not-awaited";
|
|
8
19
|
/** The root's attribute set once the frame's code runs; the page's guard against code that fails earlier reads it. */
|
|
9
20
|
export const FRAME_STARTED_ATTRIBUTE = "data-forgebook-started";
|
|
21
|
+
/** The class of the text saying why a frame's story could not be drawn: what a check reports as the reason. */
|
|
22
|
+
export const ERROR_MESSAGE_CLASS = "forgebook-frame-error__message";
|
|
23
|
+
/** The class of a thrown error's stack under its message: the dev server's answer rewrites it in the lines as written. */
|
|
24
|
+
export const ERROR_STACK_CLASS = "forgebook-frame-error__stack";
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @module
|
|
6
6
|
*/
|
|
7
|
-
import { switchValueOf, switchWithRole } from "../switches.js";
|
|
7
|
+
import { shownSwitches, switchValueOf, switchWithRole } from "../switches.js";
|
|
8
8
|
import { schemeOf } from "../viewState.js";
|
|
9
9
|
import { backdropSheet } from "./backdropPictures.js";
|
|
10
10
|
/** The id of the style sheet that draws the backdrop. */
|
|
@@ -96,12 +96,13 @@ const applySwitch = (root, each, value) => {
|
|
|
96
96
|
* @param catalogue - the catalogue's switches and backdrops.
|
|
97
97
|
*/
|
|
98
98
|
export const applyView = (root, view, catalogue) => {
|
|
99
|
+
const shown = shownSwitches(view.switches, catalogue.switches);
|
|
99
100
|
for (const each of catalogue.switches)
|
|
100
|
-
applySwitch(root, each,
|
|
101
|
+
applySwitch(root, each, shown[each.id]);
|
|
101
102
|
// a language read right to left draws the story right to left; leaving it gives the root its own direction back,
|
|
102
103
|
// unless a switch writes `dir` itself (the direction switch, applied above)
|
|
103
104
|
const language = switchWithRole(catalogue.switches, "language");
|
|
104
|
-
const isRightToLeft = language !== undefined && switchValueOf(language,
|
|
105
|
+
const isRightToLeft = language !== undefined && switchValueOf(language, shown[language.id])?.isRightToLeft === true;
|
|
105
106
|
const isDirWritten = catalogue.switches.some((each) => each.apply.kind === "attribute" && each.apply.name === "dir");
|
|
106
107
|
if (isRightToLeft)
|
|
107
108
|
root.setAttribute("dir", "rtl");
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @remarks
|
|
6
6
|
* One document per story: the style sheets of the Styles setting, the switches on the root and anything the
|
|
7
7
|
* story mounts on `body` stay in this document. The tests open the same address and wait for `data-forgebook-status`
|
|
8
|
-
* on the root (`ready` or `
|
|
8
|
+
* on the root (`ready`, `error` or `pending`), never for a delay. A Live story's clock runs from its start, or stays held there when
|
|
9
9
|
* the address says so (`clock=held`, what the tests open). The framework is the renderer the framework package
|
|
10
10
|
* passes (`renderer.ts`); nothing here depends on one.
|
|
11
11
|
*
|
|
@@ -16,9 +16,11 @@ import type { StoryLanguage, StorySource } from "@forgebook/story-format/source"
|
|
|
16
16
|
import { type CatalogueLists } from "../catalogue.ts";
|
|
17
17
|
import { type FramesPlacement } from "../frameOrigins.ts";
|
|
18
18
|
import { type ViewSwitch } from "../switches.ts";
|
|
19
|
+
import { type ControlFrameLoaders } from "./panelControls.ts";
|
|
19
20
|
import type { PlayToolsLoader } from "./playStory.ts";
|
|
20
21
|
import { type FramePlugin } from "./pluginFrames.ts";
|
|
21
22
|
import type { FrameRenderer } from "./renderer.ts";
|
|
23
|
+
import type { ValueSheets } from "./valueSheets.ts";
|
|
22
24
|
/** What an app passes to the frame. */
|
|
23
25
|
export type FrameConfig = {
|
|
24
26
|
/** The framework that draws the stories (`@forgebook/react` passes its own). */
|
|
@@ -36,6 +38,11 @@ export type FrameConfig = {
|
|
|
36
38
|
readonly previews?: readonly unknown[];
|
|
37
39
|
/** The switches of the toolbar and the View menu, as the shell's configuration gives them; the theme and contrast by default. */
|
|
38
40
|
readonly switches?: readonly ViewSwitch[];
|
|
41
|
+
/**
|
|
42
|
+
* The address of each switch value's own style sheet, by `<switch id>=<value>`; none when no value has one. The
|
|
43
|
+
* generated frame gives addresses the configuration's check allowed; the page checks nothing itself.
|
|
44
|
+
*/
|
|
45
|
+
readonly valueSheets?: ValueSheets;
|
|
39
46
|
/** The catalogue's lists (its backgrounds, text sizes, grid step, accessibility rules…); the defaults when none. */
|
|
40
47
|
readonly lists?: CatalogueLists;
|
|
41
48
|
/** Loads the play tools, when the project installs Testing Library (the generated frame passes it then). */
|
|
@@ -44,6 +51,8 @@ export type FrameConfig = {
|
|
|
44
51
|
readonly plugins?: readonly FramePlugin[];
|
|
45
52
|
/** Where the frames run, so the frame hears only its shell: on the catalogue's own origin by default. */
|
|
46
53
|
readonly frames?: FramesPlacement;
|
|
54
|
+
/** The custom controls' frame modules, by control, each loaded when first needed (the generated frame passes them). */
|
|
55
|
+
readonly argControls?: ControlFrameLoaders;
|
|
47
56
|
};
|
|
48
57
|
/**
|
|
49
58
|
* Shows the story the address names in the given element.
|