nudge-ui 0.2.5 → 0.2.6
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/dist/cli/agentCommand.d.ts +0 -1
- package/dist/cli/agentCommand.js +0 -1
- package/dist/client.mjs +238 -122
- package/dist/compiler/ast.d.ts +0 -6
- package/dist/compiler/ast.js +0 -5
- package/dist/compiler/componentContractTypes.d.ts +11 -5
- package/dist/compiler/componentContracts.js +3 -9
- package/dist/compiler/componentInstrumentation.d.ts +2 -13
- package/dist/compiler/componentInstrumentation.js +3 -12
- package/dist/compiler/componentPolicyResolution.d.ts +3 -22
- package/dist/compiler/componentPolicyResolution.js +6 -38
- package/dist/compiler/identityAttributes.d.ts +2 -0
- package/dist/compiler/identityAttributes.js +2 -0
- package/dist/compiler/index.d.ts +0 -1
- package/dist/compiler/index.js +0 -1
- package/dist/compiler/packageComponentContracts.d.ts +10 -19
- package/dist/compiler/packageComponentContracts.js +60 -43
- package/dist/compiler/reactComponentProtocols.d.ts +0 -7
- package/dist/compiler/reactComponentProtocols.js +0 -7
- package/dist/compiler/reactIdentity.d.ts +2 -2
- package/dist/compiler/reactIdentity.js +41 -43
- package/dist/compiler/sourcePaths.d.ts +4 -8
- package/dist/compiler/sourcePaths.js +6 -8
- package/dist/css/dialects/index.d.ts +2 -21
- package/dist/css/dialects/index.js +2 -9
- package/dist/css/dialects/tailwind.d.ts +2 -16
- package/dist/css/dialects/tailwind.js +2 -25
- package/dist/css/dialects/vanillaExtract.d.ts +1 -9
- package/dist/css/dialects/vanillaExtract.js +0 -1
- package/dist/css/index.d.ts +0 -8
- package/dist/css/index.js +0 -8
- package/dist/css/model/index.d.ts +6 -38
- package/dist/css/model/index.js +0 -9
- package/dist/css/token-inventory/index.d.ts +0 -23
- package/dist/css/token-inventory/index.js +0 -23
- package/dist/css/token-inventory/inventory.js +4 -16
- package/dist/css/token-inventory/parseStylesheet.d.ts +1 -9
- package/dist/css/token-inventory/parseStylesheet.js +5 -42
- package/dist/css/token-inventory/policy.d.ts +2 -39
- package/dist/css/token-inventory/policy.js +2 -39
- package/dist/css/token-inventory/types.d.ts +2 -15
- package/dist/css/value-semantics/borderSemantics.d.ts +1 -8
- package/dist/css/value-semantics/borderSemantics.js +5 -23
- package/dist/css/value-semantics/boxSemantics.d.ts +2 -25
- package/dist/css/value-semantics/boxSemantics.js +1 -7
- package/dist/css/value-semantics/colorSemantics.d.ts +6 -60
- package/dist/css/value-semantics/colorSemantics.js +9 -40
- package/dist/css/value-semantics/cssSyntax.d.ts +10 -10
- package/dist/css/value-semantics/cssSyntax.js +39 -11
- package/dist/css/value-semantics/fontSemantics.d.ts +3 -19
- package/dist/css/value-semantics/fontSemantics.js +7 -25
- package/dist/css/value-semantics/index.d.ts +1 -12
- package/dist/css/value-semantics/index.js +1 -12
- package/dist/css/value-semantics/propertyPolicy.d.ts +6 -53
- package/dist/css/value-semantics/propertyPolicy.js +47 -59
- package/dist/css/value-semantics/stringMaps.d.ts +0 -1
- package/dist/css/value-semantics/structuredValues.d.ts +3 -37
- package/dist/css/value-semantics/structuredValues.js +6 -17
- package/dist/css/value-semantics/tokenInterpretation.d.ts +8 -50
- package/dist/css/value-semantics/tokenInterpretation.js +7 -21
- package/dist/hosts/astro/astroRuntimeConfig.d.ts +0 -1
- package/dist/hosts/astro/astroRuntimeConfig.js +0 -1
- package/dist/hosts/astro/clientAsset.d.ts +1 -5
- package/dist/hosts/astro/clientAsset.js +1 -5
- package/dist/hosts/astro/clientTransport.d.ts +0 -1
- package/dist/hosts/astro/clientTransport.js +4 -9
- package/dist/hosts/astro/integration.d.ts +2 -28
- package/dist/hosts/astro/integration.js +7 -36
- package/dist/hosts/astro/markdownIdentity.d.ts +0 -3
- package/dist/hosts/astro/markdownIdentity.js +0 -3
- package/dist/hosts/astro/middleware.d.ts +1 -12
- package/dist/hosts/astro/middleware.js +1 -12
- package/dist/hosts/astro/projectContext.d.ts +1 -9
- package/dist/hosts/astro/projectContext.js +2 -11
- package/dist/hosts/astro/responseInstrumentation.d.ts +4 -33
- package/dist/hosts/astro/responseInstrumentation.js +5 -34
- package/dist/hosts/environment.d.ts +0 -8
- package/dist/hosts/environment.js +0 -1
- package/dist/hosts/next/index.js +1 -3
- package/dist/hosts/next/loader.d.ts +5 -44
- package/dist/hosts/next/loader.js +22 -103
- package/dist/hosts/next/loaders/identity-loader.cjs +111 -65
- package/dist/hosts/next/loaders/loader-plugin.cjs +111 -65
- package/dist/hosts/next/manifest.d.ts +2 -16
- package/dist/hosts/next/manifest.js +18 -20
- package/dist/hosts/next/mount.d.ts +1 -11
- package/dist/hosts/next/mount.js +1 -11
- package/dist/hosts/next/repositoryScope.d.ts +2 -17
- package/dist/hosts/next/repositoryScope.js +2 -17
- package/dist/hosts/next/sidecar.d.ts +0 -13
- package/dist/hosts/next/sidecar.js +25 -110
- package/dist/hosts/next/wrapper.d.ts +0 -31
- package/dist/hosts/next/wrapper.js +13 -64
- package/dist/hosts/projectBridge.d.ts +0 -2
- package/dist/hosts/projectBridge.js +0 -2
- package/dist/hosts/reactRendererCapture.d.ts +2 -0
- package/dist/hosts/reactRendererCapture.js +12 -0
- package/dist/hosts/static/cli.d.ts +0 -4
- package/dist/hosts/static/cli.js +0 -3
- package/dist/hosts/static/html/bootstrap.d.ts +1 -18
- package/dist/hosts/static/html/bootstrap.js +2 -14
- package/dist/hosts/static/manifest.d.ts +2 -15
- package/dist/hosts/static/manifest.js +5 -18
- package/dist/hosts/static/server.d.ts +4 -38
- package/dist/hosts/static/server.js +17 -67
- package/dist/hosts/vite/index.d.ts +0 -10
- package/dist/hosts/vite/index.js +0 -10
- package/dist/hosts/vite/react.d.ts +4 -17
- package/dist/hosts/vite/react.js +18 -35
- package/dist/hosts/vite/tokens/activeStylesheets.d.ts +1 -10
- package/dist/hosts/vite/tokens/activeStylesheets.js +3 -8
- package/dist/hosts/vite/tokens/fileMap.d.ts +0 -1
- package/dist/hosts/vite/tokens/viteStylesheetArtifacts.d.ts +2 -15
- package/dist/hosts/vite/tokens/viteStylesheetArtifacts.js +3 -10
- package/dist/hosts/vite/vite.d.ts +5 -26
- package/dist/hosts/vite/vite.js +44 -80
- package/dist/html/dom.d.ts +0 -1
- package/dist/html/dom.js +0 -1
- package/dist/html/identity.d.ts +1 -15
- package/dist/html/identity.js +1 -8
- package/dist/html/insertions.d.ts +2 -8
- package/dist/html/insertions.js +1 -1
- package/dist/inspector/agent/McpConnectionDialog.d.ts +1 -6
- package/dist/inspector/agent/McpConnectionDialog.js +1 -6
- package/dist/inspector/agent/activity.d.ts +1 -1
- package/dist/inspector/agent/activity.js +1 -1
- package/dist/inspector/agent/client.d.ts +2 -26
- package/dist/inspector/agent/client.js +17 -64
- package/dist/inspector/agent/connectionStatus.d.ts +0 -1
- package/dist/inspector/agent/connectionStatus.js +0 -1
- package/dist/inspector/agent/httpTransport.d.ts +0 -8
- package/dist/inspector/agent/httpTransport.js +21 -39
- package/dist/inspector/agent/protocol.d.ts +1 -10
- package/dist/inspector/agent/protocol.js +1 -9
- package/dist/inspector/agent/verification.d.ts +2 -19
- package/dist/inspector/agent/verification.js +7 -43
- package/dist/inspector/boot.d.ts +3 -1
- package/dist/inspector/boot.js +12 -20
- package/dist/inspector/canvas/AgentActivityOverlay.d.ts +1 -1
- package/dist/inspector/canvas/AgentActivityOverlay.js +1 -1
- package/dist/inspector/canvas/CanvasCard.js +7 -14
- package/dist/inspector/canvas/CanvasElementOverlay.js +117 -50
- package/dist/inspector/canvas/CanvasWorkspace.js +15 -29
- package/dist/inspector/canvas/PageCard.d.ts +0 -1
- package/dist/inspector/canvas/PageCard.js +0 -1
- package/dist/inspector/canvas/SketchToolOptions.d.ts +0 -1
- package/dist/inspector/canvas/SketchToolOptions.js +0 -6
- package/dist/inspector/canvas/ToolOptionsDrawer.d.ts +1 -6
- package/dist/inspector/canvas/ToolOptionsDrawer.js +2 -8
- package/dist/inspector/canvas/activeCanvasDocument.d.ts +0 -2
- package/dist/inspector/canvas/activeCanvasDocument.js +0 -2
- package/dist/inspector/canvas/agentPresentation.d.ts +2 -13
- package/dist/inspector/canvas/agentPresentation.js +3 -14
- package/dist/inspector/canvas/canvasFrame.d.ts +2 -6
- package/dist/inspector/canvas/canvasFrame.js +1 -2
- package/dist/inspector/canvas/canvasResize.d.ts +1 -6
- package/dist/inspector/canvas/canvasResize.js +1 -6
- package/dist/inspector/canvas/canvasStore.d.ts +4 -12
- package/dist/inspector/canvas/canvasStore.js +12 -26
- package/dist/inspector/canvas/frameConnection.d.ts +1 -7
- package/dist/inspector/canvas/frameContent.d.ts +0 -1
- package/dist/inspector/canvas/frameLifecycle.d.ts +12 -0
- package/dist/inspector/canvas/frameLifecycle.js +11 -0
- package/dist/inspector/canvas/frameProtocol.d.ts +5 -40
- package/dist/inspector/canvas/frameProtocol.js +1 -24
- package/dist/inspector/canvas/frameScrollbarStyles.d.ts +0 -1
- package/dist/inspector/canvas/frameScrollbarStyles.js +0 -1
- package/dist/inspector/canvas/layout.d.ts +10 -22
- package/dist/inspector/canvas/layout.js +0 -3
- package/dist/inspector/canvas/normalizeUrl.js +1 -8
- package/dist/inspector/canvas/pageSurface.d.ts +1 -6
- package/dist/inspector/canvas/pageSurface.js +1 -6
- package/dist/inspector/canvas/projection.d.ts +4 -25
- package/dist/inspector/canvas/projection.js +22 -72
- package/dist/inspector/canvas/rendererBootstrap.d.ts +8 -1
- package/dist/inspector/canvas/rendererBootstrap.js +6 -14
- package/dist/inspector/canvas/rendererCidIndex.d.ts +0 -5
- package/dist/inspector/canvas/rendererCidIndex.js +0 -5
- package/dist/inspector/canvas/rendererElementSelector.js +29 -27
- package/dist/inspector/canvas/rendererMessageRouter.d.ts +0 -1
- package/dist/inspector/canvas/rendererMessageRouter.js +0 -1
- package/dist/inspector/canvas/rendererSelectionProxy.d.ts +1 -5
- package/dist/inspector/canvas/rendererSelectionProxy.js +2 -7
- package/dist/inspector/canvas/rendererStylesheet.d.ts +0 -1
- package/dist/inspector/canvas/rendererStylesheet.js +9 -2
- package/dist/inspector/canvas/resizeHandleScale.d.ts +1 -10
- package/dist/inspector/canvas/resizeHandleScale.js +1 -10
- package/dist/inspector/canvas/sessionStore.d.ts +1 -7
- package/dist/inspector/canvas/sessionStore.js +21 -34
- package/dist/inspector/canvas/staleChangeDetector.js +1 -4
- package/dist/inspector/canvas/toolbarScale.d.ts +1 -4
- package/dist/inspector/canvas/toolbarScale.js +1 -4
- package/dist/inspector/canvas/useCanvasLayoutAnimation.d.ts +0 -1
- package/dist/inspector/canvas/useCanvasLayoutAnimation.js +0 -1
- package/dist/inspector/canvas/viewStore.js +1 -1
- package/dist/inspector/canvas/wheelPan.d.ts +1 -1
- package/dist/inspector/canvas/wheelPan.js +1 -1
- package/dist/inspector/canvas/workspaceLease.d.ts +1 -5
- package/dist/inspector/canvas/workspaceLease.js +1 -7
- package/dist/inspector/changes/codecs.js +2 -1
- package/dist/inspector/changes/draftPreview.d.ts +1 -6
- package/dist/inspector/changes/draftPreview.js +15 -30
- package/dist/inspector/changes/editModel.d.ts +3 -13
- package/dist/inspector/changes/editModel.js +1 -2
- package/dist/inspector/changes/managedStyleProjection.js +4 -14
- package/dist/inspector/changes/model.d.ts +0 -5
- package/dist/inspector/changes/model.js +1 -8
- package/dist/inspector/changes/previewDiagnostics.d.ts +2 -12
- package/dist/inspector/changes/previewDiagnostics.js +4 -20
- package/dist/inspector/changes/previewVerification.d.ts +25 -0
- package/dist/inspector/changes/previewVerification.js +34 -0
- package/dist/inspector/changes/structuralTypes.d.ts +2 -4
- package/dist/inspector/changes/types.d.ts +3 -10
- package/dist/inspector/clientManifest.d.ts +17 -6
- package/dist/inspector/clientManifest.js +16 -3
- package/dist/inspector/comments/CommentsOverlay.js +48 -7
- package/dist/inspector/comments/element.d.ts +1 -2
- package/dist/inspector/comments/element.js +1 -2
- package/dist/inspector/comments/store.d.ts +1 -1
- package/dist/inspector/comments/store.js +1 -1
- package/dist/inspector/comments/verification.d.ts +8 -2
- package/dist/inspector/comments/verification.js +18 -10
- package/dist/inspector/componentSemantics/ComponentPropsSection.d.ts +8 -0
- package/dist/inspector/componentSemantics/ComponentPropsSection.js +10 -7
- package/dist/inspector/componentSemantics/adapterRegistry.d.ts +2 -9
- package/dist/inspector/componentSemantics/adapterRegistry.js +2 -9
- package/dist/inspector/componentSemantics/changeModel.js +2 -4
- package/dist/inspector/componentSemantics/react/callsites.d.ts +28 -0
- package/dist/inspector/componentSemantics/react/callsites.js +261 -0
- package/dist/inspector/componentSemantics/react/devtoolsHook.d.ts +23 -0
- package/dist/inspector/componentSemantics/react/devtoolsHook.js +71 -0
- package/dist/inspector/componentSemantics/react/fibers.d.ts +17 -0
- package/dist/inspector/componentSemantics/react/fibers.js +30 -0
- package/dist/inspector/componentSemantics/{reactRuntime.d.ts → react/runtime.d.ts} +3 -2
- package/dist/inspector/componentSemantics/{reactRuntime.js → react/runtime.js} +70 -53
- package/dist/inspector/componentSemantics/runtimeBridge.d.ts +2 -18
- package/dist/inspector/componentSemantics/runtimeBridge.js +5 -19
- package/dist/inspector/componentSemantics/textBinding.d.ts +1 -9
- package/dist/inspector/componentSemantics/textBinding.js +16 -42
- package/dist/inspector/componentSemantics/types.d.ts +8 -27
- package/dist/inspector/componentSemantics/types.js +0 -1
- package/dist/inspector/conformance/borderCases.d.ts +0 -5
- package/dist/inspector/conformance/borderCases.js +0 -5
- package/dist/inspector/conformance/colorCases.d.ts +0 -6
- package/dist/inspector/conformance/colorCases.js +0 -6
- package/dist/inspector/conformance/fixture.d.ts +1 -5
- package/dist/inspector/conformance/fixture.js +1 -5
- package/dist/inspector/conformance/spacingCases.d.ts +0 -4
- package/dist/inspector/conformance/spacingCases.js +0 -4
- package/dist/inspector/conformance/typographyCases.d.ts +0 -5
- package/dist/inspector/conformance/typographyCases.js +0 -5
- package/dist/inspector/drafts/draftStore.d.ts +7 -21
- package/dist/inspector/drafts/draftStore.js +15 -5
- package/dist/inspector/drafts/model.d.ts +7 -15
- package/dist/inspector/drafts/model.js +0 -2
- package/dist/inspector/drafts/store.d.ts +1 -8
- package/dist/inspector/drafts/store.js +3 -10
- package/dist/inspector/editScope.d.ts +0 -1
- package/dist/inspector/editScope.js +0 -1
- package/dist/inspector/inline-text/inlineTextDiagnostics.d.ts +0 -2
- package/dist/inspector/inline-text/inlineTextDiagnostics.js +0 -2
- package/dist/inspector/inline-text/inlineTextEditor.d.ts +2 -8
- package/dist/inspector/inline-text/inlineTextEditor.js +26 -79
- package/dist/inspector/inline-text/inlineTextLifecycle.js +1 -6
- package/dist/inspector/inline-text/textEditChange.d.ts +0 -1
- package/dist/inspector/inspection/bridge.d.ts +2 -6
- package/dist/inspector/inspection/bridge.js +4 -12
- package/dist/inspector/inspection/browserCssInspection.d.ts +4 -11
- package/dist/inspector/inspection/browserCssInspection.js +4 -8
- package/dist/inspector/inspection/browserCssInspectionRegistry.d.ts +0 -7
- package/dist/inspector/inspection/browserCssInspectionRegistry.js +1 -16
- package/dist/inspector/inspection/selectionProperty.d.ts +1 -6
- package/dist/inspector/inspection/selectionProperty.js +1 -5
- package/dist/inspector/inspection/useBrowserCssInspection.d.ts +1 -5
- package/dist/inspector/inspection/useBrowserCssInspection.js +5 -21
- package/dist/inspector/iterations/capture.d.ts +0 -1
- package/dist/inspector/iterations/capture.js +4 -9
- package/dist/inspector/iterations/client.d.ts +0 -1
- package/dist/inspector/iterations/client.js +0 -1
- package/dist/inspector/iterations/coordinator.d.ts +0 -1
- package/dist/inspector/iterations/coordinator.js +0 -1
- package/dist/inspector/iterations/prompt.d.ts +0 -1
- package/dist/inspector/iterations/prompt.js +0 -1
- package/dist/inspector/overlay/DomNavigator.d.ts +3 -1
- package/dist/inspector/overlay/DomNavigator.js +39 -15
- package/dist/inspector/overlay/DropGuideOverlay.d.ts +0 -1
- package/dist/inspector/overlay/DropGuideOverlay.js +0 -1
- package/dist/inspector/overlay/MeasurementGuideOverlay.d.ts +1 -8
- package/dist/inspector/overlay/MeasurementGuideOverlay.js +1 -5
- package/dist/inspector/overlay/clickPolicy.d.ts +3 -14
- package/dist/inspector/overlay/clickPolicy.js +3 -14
- package/dist/inspector/overlay/dropGuide.d.ts +0 -3
- package/dist/inspector/overlay/dropGuide.js +0 -3
- package/dist/inspector/overlay/frameThrottle.d.ts +0 -1
- package/dist/inspector/overlay/frameThrottle.js +0 -1
- package/dist/inspector/overlay/interactionStyles.d.ts +1 -1
- package/dist/inspector/overlay/interactionStyles.js +2 -8
- package/dist/inspector/overlay/measurementGeometry.js +4 -12
- package/dist/inspector/overlay/selectedGeometry.d.ts +1 -6
- package/dist/inspector/overlay/selectedGeometry.js +1 -8
- package/dist/inspector/overlay/spacingGestures.d.ts +14 -21
- package/dist/inspector/overlay/spacingGestures.js +151 -31
- package/dist/inspector/overlay/structuralGestures.d.ts +2 -9
- package/dist/inspector/overlay/structuralGestures.js +1 -4
- package/dist/inspector/pageInspector.d.ts +4 -13
- package/dist/inspector/pageInspector.js +25 -32
- package/dist/inspector/projection/cssEscapes.d.ts +0 -1
- package/dist/inspector/projection/cssEscapes.js +2 -4
- package/dist/inspector/projection/draftProjection.d.ts +2 -14
- package/dist/inspector/projection/draftProjection.js +1 -8
- package/dist/inspector/projection/managedStylesheet.d.ts +1 -7
- package/dist/inspector/projection/managedStylesheet.js +4 -22
- package/dist/inspector/projection/renderedInstance.d.ts +5 -28
- package/dist/inspector/projection/renderedInstance.js +6 -32
- package/dist/inspector/projection/structuralProjection.d.ts +7 -39
- package/dist/inspector/projection/structuralProjection.js +17 -52
- package/dist/inspector/projection/textProjection.d.ts +2 -14
- package/dist/inspector/projection/textProjection.js +17 -70
- package/dist/inspector/prompt/PromptSettingsDialog.d.ts +0 -1
- package/dist/inspector/prompt/PromptSettingsDialog.js +0 -1
- package/dist/inspector/prompt/clipboardHandoff.d.ts +1 -9
- package/dist/inspector/prompt/clipboardHandoff.js +1 -9
- package/dist/inspector/prompt/generatePrompt.d.ts +1 -1
- package/dist/inspector/prompt/generatePrompt.js +10 -25
- package/dist/inspector/prompt/promptSettings.d.ts +0 -3
- package/dist/inspector/prompt/promptSettings.js +0 -3
- package/dist/inspector/runtime/devFlag.d.ts +2 -25
- package/dist/inspector/runtime/devFlag.js +4 -31
- package/dist/inspector/runtime/documentStylesheetOrder.d.ts +0 -2
- package/dist/inspector/runtime/editorShell.d.ts +0 -1
- package/dist/inspector/runtime/editorShell.js +0 -1
- package/dist/inspector/runtime/inspectorStorage.d.ts +1 -7
- package/dist/inspector/runtime/inspectorStorage.js +1 -6
- package/dist/inspector/runtime/ownedStylesheets.d.ts +2 -8
- package/dist/inspector/runtime/ownedStylesheets.js +2 -8
- package/dist/inspector/runtime/runtimeConfig.d.ts +12 -86
- package/dist/inspector/runtime/runtimeConfig.js +9 -50
- package/dist/inspector/runtime/runtimeIdentityClaims.d.ts +3 -13
- package/dist/inspector/runtime/runtimeIdentityClaims.js +9 -19
- package/dist/inspector/runtime/staticHtmlRuntimeIdentity.d.ts +4 -36
- package/dist/inspector/runtime/staticHtmlRuntimeIdentity.js +7 -40
- package/dist/inspector/runtime/useRuntimeConfig.d.ts +1 -8
- package/dist/inspector/runtime/useRuntimeConfig.js +1 -8
- package/dist/inspector/selection/editScope.d.ts +1 -7
- package/dist/inspector/selection/editScope.js +2 -12
- package/dist/inspector/selection/editTarget.d.ts +1 -5
- package/dist/inspector/selection/hierarchy.d.ts +11 -11
- package/dist/inspector/selection/hierarchy.js +42 -24
- package/dist/inspector/selection/selectionStore.d.ts +0 -3
- package/dist/inspector/selection/selectionStore.js +5 -16
- package/dist/inspector/selection/sourceSite.d.ts +1 -5
- package/dist/inspector/selection/sourceSite.js +2 -8
- package/dist/inspector/selection/styleSelection.d.ts +1 -5
- package/dist/inspector/selection/styleSelection.js +1 -5
- package/dist/inspector/session/lifecycle.d.ts +1 -9
- package/dist/inspector/session/lifecycle.js +0 -1
- package/dist/inspector/session/sessionContext.d.ts +0 -4
- package/dist/inspector/session/sessionContext.js +0 -4
- package/dist/inspector/session/sessionFactory.d.ts +0 -9
- package/dist/inspector/session/sessionFactory.js +0 -6
- package/dist/inspector/settings/SettingsDialog.d.ts +0 -1
- package/dist/inspector/settings/SettingsDialog.js +5 -3
- package/dist/inspector/shell/AgentStatusButton.d.ts +3 -2
- package/dist/inspector/shell/AgentStatusButton.js +5 -5
- package/dist/inspector/shell/ChangesLog.js +3 -4
- package/dist/inspector/shell/CopyPromptButton.d.ts +2 -1
- package/dist/inspector/shell/CopyPromptButton.js +12 -11
- package/dist/inspector/shell/InspectorEditors.d.ts +16 -0
- package/dist/inspector/shell/InspectorEditors.js +14 -0
- package/dist/inspector/shell/InspectorPanel.d.ts +12 -0
- package/dist/inspector/shell/InspectorPanel.js +8 -0
- package/dist/inspector/shell/InspectorSelection.d.ts +24 -0
- package/dist/inspector/shell/InspectorSelection.js +20 -0
- package/dist/inspector/shell/InspectorShell.js +26 -48
- package/dist/inspector/shell/NudgeLogoIcon.d.ts +5 -0
- package/dist/inspector/shell/NudgeLogoIcon.js +5 -0
- package/dist/inspector/shell/PeekOriginalButton.d.ts +0 -5
- package/dist/inspector/shell/PeekOriginalButton.js +0 -5
- package/dist/inspector/shell/PeekOriginalIcon.d.ts +0 -5
- package/dist/inspector/shell/PeekOriginalIcon.js +0 -5
- package/dist/inspector/shell/PromptActionButton.d.ts +21 -0
- package/dist/inspector/shell/PromptActionButton.js +14 -0
- package/dist/inspector/shell/elementName.d.ts +5 -0
- package/dist/inspector/shell/elementName.js +29 -0
- package/dist/inspector/shell/interactionStatePreview.d.ts +1 -4
- package/dist/inspector/shell/interactionStatePreview.js +3 -8
- package/dist/inspector/shell/originalPreview.d.ts +1 -6
- package/dist/inspector/shell/originalPreview.js +1 -6
- package/dist/inspector/shell/stateValue.d.ts +1 -2
- package/dist/inspector/shell/stateValue.js +2 -5
- package/dist/inspector/shell/styleState.d.ts +1 -2
- package/dist/inspector/shell/styleState.js +1 -2
- package/dist/inspector/sketch/SketchEditor.js +0 -1
- package/dist/inspector/sketch/SketchFrameOverlay.js +8 -12
- package/dist/inspector/sketch/SketchOverlay.js +5 -6
- package/dist/inspector/sketch/SketchPromptPanel.d.ts +0 -1
- package/dist/inspector/sketch/SketchPromptPanel.js +0 -1
- package/dist/inspector/sketch/SketchWorkspace.js +2 -4
- package/dist/inspector/sketch/capture.d.ts +12 -3
- package/dist/inspector/sketch/capture.js +12 -11
- package/dist/inspector/sketch/copySketch.d.ts +1 -7
- package/dist/inspector/sketch/copySketch.js +2 -11
- package/dist/inspector/sketch/drawingTools.d.ts +1 -3
- package/dist/inspector/sketch/drawingTools.js +1 -2
- package/dist/inspector/sketch/frameHeading.d.ts +1 -7
- package/dist/inspector/sketch/frameHeading.js +1 -8
- package/dist/inspector/sketch/freehand.d.ts +0 -1
- package/dist/inspector/sketch/freehand.js +0 -1
- package/dist/inspector/sketch/geometry.d.ts +1 -6
- package/dist/inspector/sketch/geometry.js +1 -6
- package/dist/inspector/sketch/handoff.js +0 -1
- package/dist/inspector/sketch/history.d.ts +1 -5
- package/dist/inspector/sketch/history.js +1 -4
- package/dist/inspector/sketch/interaction.d.ts +2 -2
- package/dist/inspector/sketch/interaction.js +2 -2
- package/dist/inspector/sketch/model.d.ts +2 -9
- package/dist/inspector/sketch/model.js +2 -19
- package/dist/inspector/sketch/persistence.d.ts +0 -1
- package/dist/inspector/sketch/persistence.js +2 -2
- package/dist/inspector/sketch/raster.d.ts +1 -4
- package/dist/inspector/sketch/raster.js +2 -8
- package/dist/inspector/sketch/store.js +2 -3
- package/dist/inspector/sketch/videoFrames.js +2 -3
- package/dist/inspector/spacing/projection.d.ts +0 -8
- package/dist/inspector/spacing/projection.js +38 -20
- package/dist/inspector/styleEditors/BackgroundEditor.js +1 -1
- package/dist/inspector/styleEditors/BorderEditor.js +1 -6
- package/dist/inspector/styleEditors/ChildPlacement.d.ts +12 -0
- package/dist/inspector/styleEditors/ChildPlacement.js +9 -0
- package/dist/inspector/styleEditors/FlexControls.d.ts +35 -0
- package/dist/inspector/styleEditors/FlexControls.js +158 -0
- package/dist/inspector/styleEditors/GapField.d.ts +5 -2
- package/dist/inspector/styleEditors/GapField.js +3 -4
- package/dist/inspector/styleEditors/GridChildSection.d.ts +0 -5
- package/dist/inspector/styleEditors/GridChildSection.js +0 -5
- package/dist/inspector/styleEditors/GridPicker.d.ts +1 -1
- package/dist/inspector/styleEditors/GridPicker.js +2 -4
- package/dist/inspector/styleEditors/GridSection.d.ts +10 -8
- package/dist/inspector/styleEditors/GridSection.js +22 -9
- package/dist/inspector/styleEditors/GridValueField.d.ts +1 -5
- package/dist/inspector/styleEditors/GridValueField.js +2 -8
- package/dist/inspector/styleEditors/ImageBackgroundEditor.d.ts +0 -1
- package/dist/inspector/styleEditors/ImageBackgroundEditor.js +0 -1
- package/dist/inspector/styleEditors/LayoutBlockedIndicator.d.ts +0 -1
- package/dist/inspector/styleEditors/LayoutBlockedIndicator.js +0 -1
- package/dist/inspector/styleEditors/LayoutComboField.js +0 -5
- package/dist/inspector/styleEditors/LayoutModeRow.d.ts +14 -0
- package/dist/inspector/styleEditors/LayoutModeRow.js +60 -0
- package/dist/inspector/styleEditors/LayoutSection.d.ts +2 -2
- package/dist/inspector/styleEditors/LayoutSection.js +30 -356
- package/dist/inspector/styleEditors/OpacityEditor.js +7 -5
- package/dist/inspector/styleEditors/PositionControls.d.ts +18 -0
- package/dist/inspector/styleEditors/PositionControls.js +16 -0
- package/dist/inspector/styleEditors/SizeSection.d.ts +18 -0
- package/dist/inspector/styleEditors/SizeSection.js +71 -0
- package/dist/inspector/styleEditors/{SpacingBox.d.ts → SpacingField.d.ts} +3 -10
- package/dist/inspector/styleEditors/{SpacingBox.js → SpacingField.js} +15 -29
- package/dist/inspector/styleEditors/Typography.js +2 -4
- package/dist/inspector/styleEditors/borderModel.d.ts +1 -7
- package/dist/inspector/styleEditors/borderModel.js +2 -11
- package/dist/inspector/styleEditors/completeCssValue.d.ts +1 -5
- package/dist/inspector/styleEditors/completeCssValue.js +3 -13
- package/dist/inspector/styleEditors/fieldValue.d.ts +20 -0
- package/dist/inspector/styleEditors/fieldValue.js +26 -0
- package/dist/inspector/styleEditors/gradientValue.d.ts +1 -1
- package/dist/inspector/styleEditors/gradientValue.js +3 -2
- package/dist/inspector/styleEditors/gridChildModel.d.ts +7 -47
- package/dist/inspector/styleEditors/gridChildModel.js +6 -37
- package/dist/inspector/styleEditors/hiddenSizeOverrides.d.ts +5 -0
- package/dist/inspector/styleEditors/hiddenSizeOverrides.js +42 -0
- package/dist/inspector/styleEditors/inlineAuthored.d.ts +1 -8
- package/dist/inspector/styleEditors/inlineAuthored.js +3 -17
- package/dist/inspector/styleEditors/layoutMode.d.ts +15 -0
- package/dist/inspector/styleEditors/layoutMode.js +33 -0
- package/dist/inspector/styleEditors/layoutPreviewState.d.ts +0 -1
- package/dist/inspector/styleEditors/layoutPreviewState.js +0 -1
- package/dist/inspector/styleEditors/layoutValue.d.ts +2 -8
- package/dist/inspector/styleEditors/layoutValue.js +4 -12
- package/dist/inspector/styleEditors/nudgeValue.d.ts +1 -13
- package/dist/inspector/styleEditors/nudgeValue.js +1 -13
- package/dist/inspector/styleEditors/rowLookup.d.ts +1 -5
- package/dist/inspector/styleEditors/rowLookup.js +1 -5
- package/dist/inspector/styleEditors/stringRecord.d.ts +1 -2
- package/dist/inspector/styleEditors/stylePresence.d.ts +0 -2
- package/dist/inspector/styleEditors/stylePresence.js +1 -4
- package/dist/inspector/styleEditors/textRelevance.d.ts +1 -1
- package/dist/inspector/styleEditors/textRelevance.js +1 -1
- package/dist/inspector/styleEditors/useFieldVisibility.js +1 -2
- package/dist/inspector/styleEditors/useLayoutContext.d.ts +13 -0
- package/dist/inspector/styleEditors/useLayoutContext.js +53 -0
- package/dist/inspector/styleEditors/valuePolicy.d.ts +1 -5
- package/dist/inspector/styleEditors/valuePolicy.js +0 -1
- package/dist/inspector/testing.d.ts +1 -4
- package/dist/inspector/testing.js +1 -4
- package/dist/inspector/tokens/TokenChip.d.ts +1 -4
- package/dist/inspector/tokens/TokenChip.js +1 -4
- package/dist/inspector/tokens/TokenField.d.ts +4 -3
- package/dist/inspector/tokens/TokenField.js +19 -29
- package/dist/inspector/tokens/catalog.d.ts +2 -10
- package/dist/inspector/tokens/catalog.js +5 -12
- package/dist/inspector/tokens/dragPointerLock.d.ts +0 -1
- package/dist/inspector/tokens/dragPointerLock.js +2 -3
- package/dist/inspector/tokens/editActions.d.ts +1 -1
- package/dist/inspector/tokens/editActions.js +2 -4
- package/dist/inspector/tokens/resolution/cascade.d.ts +1 -5
- package/dist/inspector/tokens/resolution/cascade.js +1 -5
- package/dist/inspector/tokens/resolution/containerQueryEvaluator.d.ts +1 -5
- package/dist/inspector/tokens/resolution/containerQueryEvaluator.js +1 -5
- package/dist/inspector/tokens/resolution/cssomCollector.d.ts +4 -19
- package/dist/inspector/tokens/resolution/cssomCollector.js +151 -122
- package/dist/inspector/tokens/resolution/nestedSelectors.d.ts +1 -5
- package/dist/inspector/tokens/resolution/nestedSelectors.js +1 -5
- package/dist/inspector/tokens/resolution/ruleMatching.d.ts +4 -14
- package/dist/inspector/tokens/resolution/ruleMatching.js +121 -67
- package/dist/inspector/tokens/resolution/selectorSemantics.d.ts +3 -14
- package/dist/inspector/tokens/resolution/selectorSemantics.js +12 -27
- package/dist/inspector/tokens/resolution.d.ts +5 -24
- package/dist/inspector/tokens/resolution.js +16 -71
- package/dist/inspector/tokens/tokenAvailability.d.ts +2 -14
- package/dist/inspector/tokens/tokenAvailability.js +6 -38
- package/dist/inspector/tokens/valueSemanticsAdapter.d.ts +0 -1
- package/dist/inspector/tokens/valueSemanticsAdapter.js +18 -2
- package/dist/inspector/ui/AtRuleContext.d.ts +5 -5
- package/dist/inspector/ui/AtRuleContext.js +8 -6
- package/dist/inspector/ui/ControlSurface.d.ts +0 -4
- package/dist/inspector/ui/Disclosure.d.ts +0 -5
- package/dist/inspector/ui/Disclosure.js +0 -4
- package/dist/inspector/ui/InlineStyleWarning.d.ts +0 -1
- package/dist/inspector/ui/InspectorPopover.d.ts +1 -5
- package/dist/inspector/ui/InspectorPopover.js +1 -5
- package/dist/inspector/ui/SegmentedControl.d.ts +4 -4
- package/dist/inspector/ui/SegmentedControl.js +6 -4
- package/dist/inspector/ui/SideValuesField.d.ts +1 -6
- package/dist/inspector/ui/SideValuesField.js +2 -8
- package/dist/inspector/ui/Toast.d.ts +0 -4
- package/dist/inspector/ui/Toast.js +0 -4
- package/dist/inspector/ui/atRuleSegments.d.ts +13 -0
- package/dist/inspector/ui/atRuleSegments.js +34 -0
- package/dist/inspector/ui/classNames.d.ts +0 -1
- package/dist/inspector/ui/classNames.js +0 -1
- package/dist/inspector/ui/customCursors.d.ts +7 -1
- package/dist/inspector/ui/customCursors.js +2 -6
- package/dist/inspector/ui/styles.js +18 -20
- package/dist/inspector/workspace/controller.js +20 -1
- package/dist/inspector/workspace/handoff.d.ts +1 -5
- package/dist/inspector/workspace/handoff.js +1 -5
- package/dist/inspector/workspace/timeline.d.ts +5 -2
- package/dist/inspector/workspace/timeline.js +0 -1
- package/dist/internal/agent-protocol.d.ts +20 -42
- package/dist/internal/agent-protocol.js +18 -35
- package/dist/nudge-ui.mjs +75 -28
- package/dist/project/artifacts.js +24 -21
- package/dist/project/files.d.ts +0 -1
- package/dist/project/files.js +2 -9
- package/dist/project/identity.d.ts +1 -5
- package/dist/project/identity.js +1 -5
- package/dist/project/mcpPackage.d.ts +1 -6
- package/dist/project/mcpPackage.js +2 -7
- package/dist/project/pathPolicy.d.ts +1 -6
- package/dist/project/pathPolicy.js +1 -6
- package/dist/project/tokens.d.ts +2 -12
- package/dist/project/tokens.js +4 -15
- package/dist/transport/editor.d.ts +1 -12
- package/dist/transport/editor.js +2 -13
- package/dist/transport/index.d.ts +0 -5
- package/dist/transport/index.js +0 -5
- package/dist/transport/routes.d.ts +0 -5
- package/dist/transport/routes.js +0 -5
- package/package.json +5 -4
- package/dist/inspector/styleEditors/InsetSection.d.ts +0 -15
- package/dist/inspector/styleEditors/InsetSection.js +0 -15
- package/dist/inspector/styleEditors/PositionInsets.d.ts +0 -15
- package/dist/inspector/styleEditors/PositionInsets.js +0 -12
- package/dist/inspector/tokens/TokenDropdown.d.ts +0 -13
- package/dist/inspector/tokens/TokenDropdown.js +0 -59
|
@@ -5,6 +5,5 @@ export interface CanvasRendererMessage {
|
|
|
5
5
|
message: RendererToControllerMessage;
|
|
6
6
|
}
|
|
7
7
|
type CanvasRendererMessageListener = (event: CanvasRendererMessage) => void;
|
|
8
|
-
/** Subscribes to same-origin messages from registered Canvas renderer frames. */
|
|
9
8
|
export declare function subscribeCanvasRendererMessages(listener: CanvasRendererMessageListener): () => void;
|
|
10
9
|
export {};
|
|
@@ -26,7 +26,6 @@ function routeRendererMessage(event) {
|
|
|
26
26
|
for (const listener of listeners)
|
|
27
27
|
listener(routed);
|
|
28
28
|
}
|
|
29
|
-
/** Subscribes to same-origin messages from registered Canvas renderer frames. */
|
|
30
29
|
export function subscribeCanvasRendererMessages(listener) {
|
|
31
30
|
if (listeners.size === 0)
|
|
32
31
|
window.addEventListener("message", routeRendererMessage);
|
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
import type { ElementClickMessage } from "./frameProtocol.js";
|
|
2
2
|
import type { FrameConnection } from "./frameConnection.js";
|
|
3
|
-
/**
|
|
4
|
-
* Selects the exact DOM node the user clicked inside a card's frame, so the
|
|
5
|
-
* controller mutates that physical node. If it no longer exists, the card is
|
|
6
|
-
* selected instead of binding the click to an unrelated node.
|
|
7
|
-
*/
|
|
3
|
+
/** Selects the exact DOM node the user clicked. Falls back to the card when that node is gone. */
|
|
8
4
|
export declare function handleElementClick(msg: ElementClickMessage, frame: FrameConnection): void;
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import { getSelectedElements, setSelectedElement, toggleSelectedElement } from "../selection/selectionStore.js";
|
|
2
2
|
import { selectCard } from "./canvasStore.js";
|
|
3
3
|
import { inspectComponentTargets } from "../componentSemantics/index.js";
|
|
4
|
-
/**
|
|
5
|
-
* Selects the exact DOM node the user clicked inside a card's frame, so the
|
|
6
|
-
* controller mutates that physical node. If it no longer exists, the card is
|
|
7
|
-
* selected instead of binding the click to an unrelated node.
|
|
8
|
-
*/
|
|
4
|
+
/** Selects the exact DOM node the user clicked. Falls back to the card when that node is gone. */
|
|
9
5
|
export function handleElementClick(msg, frame) {
|
|
10
6
|
const el = frame.element(msg);
|
|
11
7
|
if (!el) {
|
|
@@ -24,8 +20,7 @@ export function handleElementClick(msg, frame) {
|
|
|
24
20
|
domElement: el,
|
|
25
21
|
componentTargets,
|
|
26
22
|
};
|
|
27
|
-
//
|
|
28
|
-
// host page, otherwise the selection would be discarded by the unload.
|
|
23
|
+
// Must run before any side effect that could reload the host page, which would drop the selection.
|
|
29
24
|
const current = getSelectedElements();
|
|
30
25
|
if (msg.additive && current.length > 0 && current.every((candidate) => candidate.domElement.ownerDocument === el.ownerDocument)) {
|
|
31
26
|
toggleSelectedElement(selected);
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { type ReplaceStylesMessage } from "./frameProtocol.js";
|
|
2
|
-
/** Installs renderer diagnostics only after the dev-only renderer bootstrap. */
|
|
3
2
|
export declare function startRendererProjectionDiagnostics(): () => void;
|
|
4
3
|
export declare function getLastAppliedRevision(): number;
|
|
5
4
|
export declare function resetRendererRevision(): void;
|
|
@@ -9,16 +9,24 @@ import { applyStructuralProjection, getStructuralProjectionReports, isStructural
|
|
|
9
9
|
import { applyTextContentProjection, getTextProjectionReports, subscribeTextProjectionDiagnostics, } from "../projection/textProjection.js";
|
|
10
10
|
import { isTextContentChangeListValue } from "../changes/types.js";
|
|
11
11
|
import { applyDraftProjection, } from "../projection/draftProjection.js";
|
|
12
|
-
import { adoptStylesheet, allowsStyleElements } from "../runtime/ownedStylesheets.js";
|
|
12
|
+
import { adoptStylesheet, allowsStyleElements, getAdoptedStylesheet } from "../runtime/ownedStylesheets.js";
|
|
13
13
|
import { applyRuntimeIdentityClaims, isRuntimeIdentityClaim } from "../runtime/runtimeIdentityClaims.js";
|
|
14
14
|
const SHEET_ID = "nudge-ui-styles";
|
|
15
|
+
let adoptedCss = null;
|
|
15
16
|
function replaceRendererCss(css) {
|
|
16
17
|
if (!allowsStyleElements(document)) {
|
|
18
|
+
// Structural and text projections resend unchanged CSS; rewriting it would discard cached resolutions.
|
|
19
|
+
const adopted = getAdoptedStylesheet(document, SHEET_ID);
|
|
20
|
+
if (adopted && adoptedCss === css && document.adoptedStyleSheets.includes(adopted))
|
|
21
|
+
return;
|
|
17
22
|
adoptStylesheet(document, SHEET_ID, css);
|
|
23
|
+
adoptedCss = css;
|
|
18
24
|
notifyBrowserStylesheetChange(document);
|
|
19
25
|
return;
|
|
20
26
|
}
|
|
21
27
|
let sheet = document.getElementById(SHEET_ID);
|
|
28
|
+
if (sheet?.textContent === css)
|
|
29
|
+
return;
|
|
22
30
|
if (!sheet) {
|
|
23
31
|
sheet = document.createElement("style");
|
|
24
32
|
sheet.id = SHEET_ID;
|
|
@@ -124,7 +132,6 @@ function sendProjectionApplied(revision) {
|
|
|
124
132
|
};
|
|
125
133
|
sendToParent(msg);
|
|
126
134
|
}
|
|
127
|
-
/** Installs renderer diagnostics only after the dev-only renderer bootstrap. */
|
|
128
135
|
export function startRendererProjectionDiagnostics() {
|
|
129
136
|
if (!isNudgeUiDev() || activeDiagnosticsOwner)
|
|
130
137
|
return () => undefined;
|
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Keep the resize handle usable while the board is zoomed without allowing
|
|
3
|
-
* inverse scaling to make it disproportionately large or small.
|
|
4
|
-
*/
|
|
1
|
+
/** Keeps the resize handle usable at any zoom without letting inverse scaling make it disproportionately large or small. */
|
|
5
2
|
export declare const CANVAS_RESIZE_HANDLE_MIN_SCALE: number;
|
|
6
3
|
export declare const CANVAS_RESIZE_HANDLE_MAX_SCALE = 2;
|
|
7
|
-
/**
|
|
8
|
-
* Returns the scale to apply inside the board's zoomed coordinate space.
|
|
9
|
-
*
|
|
10
|
-
* The lower bound matches the inverse of the largest supported camera zoom,
|
|
11
|
-
* and the upper bound follows the toolbar compensation policy.
|
|
12
|
-
*/
|
|
13
4
|
export declare function getCanvasResizeHandleScale(zoom: number): number;
|
|
@@ -1,17 +1,8 @@
|
|
|
1
1
|
import { MAX_CAMERA_ZOOM } from "./viewStore.js";
|
|
2
2
|
import { CANVAS_TOOLBAR_MAX_SCALE } from "./toolbarScale.js";
|
|
3
|
-
/**
|
|
4
|
-
* Keep the resize handle usable while the board is zoomed without allowing
|
|
5
|
-
* inverse scaling to make it disproportionately large or small.
|
|
6
|
-
*/
|
|
3
|
+
/** Keeps the resize handle usable at any zoom without letting inverse scaling make it disproportionately large or small. */
|
|
7
4
|
export const CANVAS_RESIZE_HANDLE_MIN_SCALE = 1 / MAX_CAMERA_ZOOM;
|
|
8
5
|
export const CANVAS_RESIZE_HANDLE_MAX_SCALE = CANVAS_TOOLBAR_MAX_SCALE;
|
|
9
|
-
/**
|
|
10
|
-
* Returns the scale to apply inside the board's zoomed coordinate space.
|
|
11
|
-
*
|
|
12
|
-
* The lower bound matches the inverse of the largest supported camera zoom,
|
|
13
|
-
* and the upper bound follows the toolbar compensation policy.
|
|
14
|
-
*/
|
|
15
6
|
export function getCanvasResizeHandleScale(zoom) {
|
|
16
7
|
if (!Number.isFinite(zoom) || zoom <= 0) {
|
|
17
8
|
return CANVAS_RESIZE_HANDLE_MAX_SCALE;
|
|
@@ -33,7 +33,6 @@ export interface DurableSession {
|
|
|
33
33
|
export type { SerializableChange, SerializableComponentChange, SerializableElementChange, SerializableTextContentChange, SerializableTokenChange, SerializableTokenRef, } from "../changes/codecs.js";
|
|
34
34
|
export interface HydrationResult {
|
|
35
35
|
restored: boolean;
|
|
36
|
-
changeCount: number;
|
|
37
36
|
}
|
|
38
37
|
export declare function serializeSession(): DurableSession;
|
|
39
38
|
export declare function persistSession(): boolean;
|
|
@@ -42,13 +41,8 @@ export declare function hydrateSession(): HydrationResult;
|
|
|
42
41
|
export declare function clearSelectedFrameChanges(): Promise<void>;
|
|
43
42
|
export declare function clearSession(): void;
|
|
44
43
|
export declare function enableAutoSave(): void;
|
|
45
|
-
/**
|
|
46
|
-
* Coalesces the synchronous full-session `JSON.stringify` + `localStorage`
|
|
47
|
-
* write behind a trailing timer so commits never block on persistence. A
|
|
48
|
-
* refresh or close inside the debounce window still flushes on `beforeunload`.
|
|
49
|
-
*/
|
|
44
|
+
/** Coalesces the synchronous full-session write behind a trailing timer; `beforeunload` still flushes it. */
|
|
50
45
|
export declare function scheduleAutoSave(): void;
|
|
51
|
-
export declare function scheduleCanvasSave(): void;
|
|
52
46
|
export declare function flushAutoSave(): void;
|
|
53
47
|
export declare function getRestoreCount(): number;
|
|
54
48
|
export declare function setRestoreCount(count: number): void;
|
|
@@ -70,10 +70,7 @@ export function persistSession() {
|
|
|
70
70
|
return false;
|
|
71
71
|
return persistSessionUnchecked();
|
|
72
72
|
}
|
|
73
|
-
/**
|
|
74
|
-
* Serializes and writes the session without the write-lease gate. The public
|
|
75
|
-
* persistence path checks the lease before calling this helper.
|
|
76
|
-
*/
|
|
73
|
+
/** Skips the write-lease gate; the public persistence path checks the lease first. */
|
|
77
74
|
function persistSessionUnchecked() {
|
|
78
75
|
if (!projectId())
|
|
79
76
|
return false;
|
|
@@ -84,56 +81,56 @@ function persistSessionUnchecked() {
|
|
|
84
81
|
return true;
|
|
85
82
|
}
|
|
86
83
|
catch {
|
|
87
|
-
// Storage unavailable or quota exceeded
|
|
84
|
+
// Storage unavailable or quota exceeded
|
|
88
85
|
return false;
|
|
89
86
|
}
|
|
90
87
|
}
|
|
91
88
|
export function hydrateSession() {
|
|
92
89
|
if (!projectId())
|
|
93
|
-
return { restored: false
|
|
90
|
+
return { restored: false };
|
|
94
91
|
let raw = null;
|
|
95
92
|
try {
|
|
96
93
|
raw = inspectorStorage()?.getItem(storageKey(projectId())) ?? null;
|
|
97
94
|
}
|
|
98
95
|
catch {
|
|
99
|
-
return { restored: false
|
|
96
|
+
return { restored: false };
|
|
100
97
|
}
|
|
101
98
|
if (!raw)
|
|
102
|
-
return { restored: false
|
|
99
|
+
return { restored: false };
|
|
103
100
|
let session;
|
|
104
101
|
try {
|
|
105
102
|
session = JSON.parse(raw);
|
|
106
103
|
}
|
|
107
104
|
catch {
|
|
108
105
|
safeDiscard();
|
|
109
|
-
return { restored: false
|
|
106
|
+
return { restored: false };
|
|
110
107
|
}
|
|
111
108
|
if (!session || typeof session !== "object") {
|
|
112
109
|
safeDiscard();
|
|
113
|
-
return { restored: false
|
|
110
|
+
return { restored: false };
|
|
114
111
|
}
|
|
115
112
|
const s = session;
|
|
116
113
|
if (typeof s.schemaVersion !== "number" || s.schemaVersion !== SCHEMA_VERSION) {
|
|
117
114
|
safeDiscard();
|
|
118
|
-
return { restored: false
|
|
115
|
+
return { restored: false };
|
|
119
116
|
}
|
|
120
117
|
if (typeof s.projectId !== "string" || s.projectId !== projectId()) {
|
|
121
118
|
safeDiscard();
|
|
122
|
-
return { restored: false
|
|
119
|
+
return { restored: false };
|
|
123
120
|
}
|
|
124
121
|
if (typeof s.mode !== "string" || (s.mode !== "inspect" && s.mode !== "canvas")) {
|
|
125
122
|
safeDiscard();
|
|
126
|
-
return { restored: false
|
|
123
|
+
return { restored: false };
|
|
127
124
|
}
|
|
128
125
|
if (!isSameOriginUrl(s.inspectUrl)) {
|
|
129
126
|
safeDiscard();
|
|
130
|
-
return { restored: false
|
|
127
|
+
return { restored: false };
|
|
131
128
|
}
|
|
132
129
|
const inspectRouteChanged = s.mode === "inspect" && s.inspectUrl !== window.location.href;
|
|
133
130
|
const cards = Array.isArray(s.cards) ? s.cards : null;
|
|
134
131
|
if (!cards) {
|
|
135
132
|
safeDiscard();
|
|
136
|
-
return { restored: false
|
|
133
|
+
return { restored: false };
|
|
137
134
|
}
|
|
138
135
|
const serializableCards = [];
|
|
139
136
|
for (const card of cards) {
|
|
@@ -148,7 +145,7 @@ export function hydrateSession() {
|
|
|
148
145
|
candidate.width <= 0 ||
|
|
149
146
|
candidate.height <= 0) {
|
|
150
147
|
safeDiscard();
|
|
151
|
-
return { restored: false
|
|
148
|
+
return { restored: false };
|
|
152
149
|
}
|
|
153
150
|
const c = card;
|
|
154
151
|
serializableCards.push({
|
|
@@ -164,7 +161,7 @@ export function hydrateSession() {
|
|
|
164
161
|
}
|
|
165
162
|
if (new Set(serializableCards.map((card) => card.id)).size !== serializableCards.length) {
|
|
166
163
|
safeDiscard();
|
|
167
|
-
return { restored: false
|
|
164
|
+
return { restored: false };
|
|
168
165
|
}
|
|
169
166
|
const cardsById = new Map(serializableCards.map((card) => [card.id, card]));
|
|
170
167
|
const cameraRaw = s.camera;
|
|
@@ -173,18 +170,18 @@ export function hydrateSession() {
|
|
|
173
170
|
!isFiniteNumber(cameraRaw.y) ||
|
|
174
171
|
!isFiniteNumber(cameraRaw.zoom)) {
|
|
175
172
|
safeDiscard();
|
|
176
|
-
return { restored: false
|
|
173
|
+
return { restored: false };
|
|
177
174
|
}
|
|
178
175
|
const presentation = s.presentation ?? "focus";
|
|
179
176
|
const groups = Array.isArray(s.groups) ? s.groups.filter((group) => group?.kind !== "linked") : s.groups ?? [];
|
|
180
177
|
if ((presentation !== "focus" && presentation !== "canvas") || !Array.isArray(groups) || !groups.every(isFrameGroup)) {
|
|
181
178
|
safeDiscard();
|
|
182
|
-
return { restored: false
|
|
179
|
+
return { restored: false };
|
|
183
180
|
}
|
|
184
181
|
const clipboardHandoff = s.clipboardHandoff;
|
|
185
182
|
if (!isClipboardHandoffSnapshot(clipboardHandoff)) {
|
|
186
183
|
safeDiscard();
|
|
187
|
-
return { restored: false
|
|
184
|
+
return { restored: false };
|
|
188
185
|
}
|
|
189
186
|
const camera = {
|
|
190
187
|
x: cameraRaw.x,
|
|
@@ -198,24 +195,20 @@ export function hydrateSession() {
|
|
|
198
195
|
: undefined;
|
|
199
196
|
if (focusedCardId === undefined) {
|
|
200
197
|
safeDiscard();
|
|
201
|
-
return { restored: false
|
|
198
|
+
return { restored: false };
|
|
202
199
|
}
|
|
203
200
|
hydrateCanvasStore(s.mode, serializableCards, camera, focusedCardId, presentation, groups);
|
|
204
201
|
hydrateClipboardHandoff(clipboardHandoff);
|
|
205
|
-
// A
|
|
206
|
-
// active. Keep the durable edits, but adopt the new route instead of
|
|
207
|
-
// sending the user back to the previous page. On refresh, the URLs already
|
|
208
|
-
// match and restoration remains unchanged.
|
|
202
|
+
// A changed URL means the user navigated while Inspect was active: keep the edits but adopt the new route.
|
|
209
203
|
if (inspectRouteChanged)
|
|
210
204
|
persistSessionUnchecked();
|
|
211
|
-
return { restored: true
|
|
205
|
+
return { restored: true };
|
|
212
206
|
}
|
|
213
207
|
function safeDiscard() {
|
|
214
208
|
try {
|
|
215
209
|
inspectorStorage()?.removeItem(storageKey(projectId()));
|
|
216
210
|
}
|
|
217
211
|
catch {
|
|
218
|
-
// ignore
|
|
219
212
|
}
|
|
220
213
|
}
|
|
221
214
|
/** Clears the active draft, its comments, and project sketches while preserving canvas geometry and other drafts. */
|
|
@@ -242,7 +235,6 @@ export function clearSession() {
|
|
|
242
235
|
inspectorStorage()?.removeItem(storageKey(projectId()));
|
|
243
236
|
}
|
|
244
237
|
catch {
|
|
245
|
-
// ignore
|
|
246
238
|
}
|
|
247
239
|
clearComments();
|
|
248
240
|
clearActiveDraft();
|
|
@@ -272,11 +264,7 @@ export function enableAutoSave() {
|
|
|
272
264
|
autoSaveEnabled = true;
|
|
273
265
|
window.addEventListener("beforeunload", flushAutoSave);
|
|
274
266
|
}
|
|
275
|
-
/**
|
|
276
|
-
* Coalesces the synchronous full-session `JSON.stringify` + `localStorage`
|
|
277
|
-
* write behind a trailing timer so commits never block on persistence. A
|
|
278
|
-
* refresh or close inside the debounce window still flushes on `beforeunload`.
|
|
279
|
-
*/
|
|
267
|
+
/** Coalesces the synchronous full-session write behind a trailing timer; `beforeunload` still flushes it. */
|
|
280
268
|
export function scheduleAutoSave() {
|
|
281
269
|
if (!autoSaveEnabled)
|
|
282
270
|
return;
|
|
@@ -291,7 +279,6 @@ export function scheduleAutoSave() {
|
|
|
291
279
|
autoSaveDirty = false;
|
|
292
280
|
}, AUTOSAVE_DEBOUNCE_MS);
|
|
293
281
|
}
|
|
294
|
-
export function scheduleCanvasSave() { scheduleAutoSave(); }
|
|
295
282
|
export function flushAutoSave() {
|
|
296
283
|
if (autosaveTimer !== null) {
|
|
297
284
|
clearTimeout(autosaveTimer);
|
|
@@ -148,10 +148,7 @@ function applyStaleResults(changes, attempts) {
|
|
|
148
148
|
continue;
|
|
149
149
|
}
|
|
150
150
|
const routes = evidence.get(i);
|
|
151
|
-
//
|
|
152
|
-
// staleness. Publish target-missing only when the change matches nowhere;
|
|
153
|
-
// a Canvas-only match is verified, not a host conflict. When nowhere,
|
|
154
|
-
// every live document reports the same miss.
|
|
151
|
+
// Publish target-missing only when no live document matches; a Canvas-only match is verified, not a host conflict.
|
|
155
152
|
if (!routes || routes.length === 0) {
|
|
156
153
|
for (const attempt of attempts.values()) {
|
|
157
154
|
publishPreviewDiagnostic(attempt, changeKey(change), buildStaleResult(change.selector, getRequestedValue(change)));
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Keep canvas card controls usable while the board is zoomed out without
|
|
3
|
-
* letting them grow without bound relative to the card.
|
|
4
|
-
*/
|
|
1
|
+
/** Keeps card controls usable while the board is zoomed out, without letting them outgrow the card. */
|
|
5
2
|
export declare const CANVAS_TOOLBAR_MAX_SCALE = 2;
|
|
6
3
|
export declare const CANVAS_TOOLBAR_SCALE_CAP_ZOOM: number;
|
|
7
4
|
export declare function getCanvasToolbarScale(zoom: number): number;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Keep canvas card controls usable while the board is zoomed out without
|
|
3
|
-
* letting them grow without bound relative to the card.
|
|
4
|
-
*/
|
|
1
|
+
/** Keeps card controls usable while the board is zoomed out, without letting them outgrow the card. */
|
|
5
2
|
export const CANVAS_TOOLBAR_MAX_SCALE = 2;
|
|
6
3
|
export const CANVAS_TOOLBAR_SCALE_CAP_ZOOM = 1 / CANVAS_TOOLBAR_MAX_SCALE;
|
|
7
4
|
export function getCanvasToolbarScale(zoom) {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { type RefObject } from "react";
|
|
2
2
|
import { type CanvasCard } from "./canvasStore.js";
|
|
3
3
|
import { type CanvasCamera, type CanvasPresentation } from "./viewStore.js";
|
|
4
|
-
/** Animates frame creation and layout changes without delaying direct manipulation. */
|
|
5
4
|
export declare function useCanvasLayoutAnimation(boardRef: RefObject<HTMLDivElement | null>, cards: readonly CanvasCard[], camera: CanvasCamera, presentation: CanvasPresentation): void;
|
|
@@ -4,7 +4,6 @@ import {} from "./canvasStore.js";
|
|
|
4
4
|
import { setCanvasLayoutTransitioning } from "./viewStore.js";
|
|
5
5
|
const SLIDE_OPTIONS = { duration: 300, easing: "ease-out" };
|
|
6
6
|
const CAMERA_OPTIONS = { duration: 150, easing: "ease-out" };
|
|
7
|
-
/** Animates frame creation and layout changes without delaying direct manipulation. */
|
|
8
7
|
export function useCanvasLayoutAnimation(boardRef, cards, camera, presentation) {
|
|
9
8
|
const previous = useRef({ cards, camera, presentation });
|
|
10
9
|
const animations = useRef([]);
|
|
@@ -2,7 +2,7 @@ import { useSyncExternalStore } from "react";
|
|
|
2
2
|
export const MIN_CAMERA_ZOOM = 0.25;
|
|
3
3
|
export const MAX_CAMERA_ZOOM = 3;
|
|
4
4
|
export const DEFAULT_CAMERA = { x: 0, y: 0, zoom: 1 };
|
|
5
|
-
/**
|
|
5
|
+
/** Frames, groups, and selection live in the canvas store. */
|
|
6
6
|
let mode = "inspect";
|
|
7
7
|
let presentation = "focus";
|
|
8
8
|
let presentationTransitioning = false;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/** deltaMode 1 is lines (16px) and 2 is pages, so both need converting to pixels. */
|
|
2
2
|
export declare function wheelPanDelta(event: Pick<WheelEvent, "deltaX" | "deltaY" | "deltaMode" | "shiftKey">, viewport: {
|
|
3
3
|
width: number;
|
|
4
4
|
height: number;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/** deltaMode 1 is lines (16px) and 2 is pages, so both need converting to pixels. */
|
|
2
2
|
export function wheelPanDelta(event, viewport) {
|
|
3
3
|
const xUnit = event.deltaMode === 1 ? 16 : event.deltaMode === 2 ? viewport.width : 1;
|
|
4
4
|
const yUnit = event.deltaMode === 1 ? 16 : event.deltaMode === 2 ? viewport.height : 1;
|
|
@@ -10,11 +10,7 @@ export declare function acquireLease(): boolean;
|
|
|
10
10
|
export declare function requestTakeover(): boolean;
|
|
11
11
|
/** Enable lease checks for state-changing controller actions in this document. */
|
|
12
12
|
export declare function enableWriteGuard(): void;
|
|
13
|
-
/**
|
|
14
|
-
* Unit-level modules are also used without the browser controller bootstrap.
|
|
15
|
-
* Once the controller enables the guard, only the current lease owner may
|
|
16
|
-
* mutate or persist its canonical workspace state.
|
|
17
|
-
*/
|
|
13
|
+
/** Off by default so unit-level modules work without the controller bootstrap. */
|
|
18
14
|
export declare function canWriteWorkspace(): boolean;
|
|
19
15
|
export declare function releaseLease(): void;
|
|
20
16
|
export declare function hasWriteLease(): boolean;
|
|
@@ -49,7 +49,6 @@ function deleteLease() {
|
|
|
49
49
|
localStorage.removeItem(leaseKey());
|
|
50
50
|
}
|
|
51
51
|
catch {
|
|
52
|
-
/* ignore */
|
|
53
52
|
}
|
|
54
53
|
}
|
|
55
54
|
export function isLeaseExpired(lease, now = Date.now()) {
|
|
@@ -67,7 +66,6 @@ function notifyOwnershipListeners() {
|
|
|
67
66
|
listener(snapshot);
|
|
68
67
|
}
|
|
69
68
|
catch {
|
|
70
|
-
/* ignore */
|
|
71
69
|
}
|
|
72
70
|
}
|
|
73
71
|
}
|
|
@@ -149,11 +147,7 @@ export function requestTakeover() {
|
|
|
149
147
|
export function enableWriteGuard() {
|
|
150
148
|
writeGuardEnabled = true;
|
|
151
149
|
}
|
|
152
|
-
/**
|
|
153
|
-
* Unit-level modules are also used without the browser controller bootstrap.
|
|
154
|
-
* Once the controller enables the guard, only the current lease owner may
|
|
155
|
-
* mutate or persist its canonical workspace state.
|
|
156
|
-
*/
|
|
150
|
+
/** Off by default so unit-level modules work without the controller bootstrap. */
|
|
157
151
|
export function canWriteWorkspace() {
|
|
158
152
|
return !writeGuardEnabled || hasWriteLease();
|
|
159
153
|
}
|
|
@@ -35,7 +35,8 @@ export function isSerializableElementChangeValue(value) {
|
|
|
35
35
|
|| (value.runtimeEvidence !== undefined && !isRuntimeElementEvidenceValue(value.runtimeEvidence))
|
|
36
36
|
|| (value.sourceEvidence !== undefined && !isSourceElementEvidenceValue(value.sourceEvidence))
|
|
37
37
|
|| !isEditScopeValue(value.scope)
|
|
38
|
-
|| (value.sourceInstanceCount !== undefined
|
|
38
|
+
|| (value.sourceInstanceCount !== undefined
|
|
39
|
+
&& (!isNonNegativeSafeInteger(value.sourceInstanceCount) || value.sourceInstanceCount < 1))
|
|
39
40
|
|| (value.instanceOverride !== undefined && value.scope !== "rendered-instance")
|
|
40
41
|
|| (value.scope === "rendered-instance" && !isRenderedInstanceOverride(value.instanceOverride))
|
|
41
42
|
|| (value.state !== undefined && !isElementStateValue(value.state))) {
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import type { DraftChangesSnapshot, DraftProjectionEvent } from "../drafts/draftStore.js";
|
|
2
|
-
/** The host document's preview of the active draft. */
|
|
3
2
|
export interface DraftPreview {
|
|
4
3
|
project(snapshot: DraftChangesSnapshot, event: DraftProjectionEvent): void;
|
|
5
4
|
dispose(): void;
|
|
6
5
|
}
|
|
7
|
-
/**
|
|
8
|
-
* Projects the active draft into the host document and verifies the managed
|
|
9
|
-
* CSS off the commit path (0044). Verification re-checks the full surviving
|
|
10
|
-
* set: a new rule can change cascade or specificity for earlier changes.
|
|
11
|
-
*/
|
|
6
|
+
/** Verification re-checks the full surviving set: a new rule can change cascade or specificity for earlier changes. */
|
|
12
7
|
export declare function createDraftPreview(readActive: () => DraftChangesSnapshot): DraftPreview;
|
|
@@ -1,23 +1,16 @@
|
|
|
1
1
|
import { getSelectedElement } from "../selection/selectionStore.js";
|
|
2
2
|
import { changeKey } from "./model.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { beginPreviewAttempt, clearPreviewDiagnostics, getHostPreviewDocument, publishPreviewDiagnostic, } from "./previewDiagnostics.js";
|
|
3
|
+
import { beginPreviewAttempt, clearPreviewDiagnostics, getHostPreviewDocument, } from "./previewDiagnostics.js";
|
|
4
|
+
import { verifyPreviewChanges } from "./previewVerification.js";
|
|
6
5
|
import { clearStructuralProjectionReports, pruneStructuralProjectionReports } from "../projection/structuralProjection.js";
|
|
7
6
|
import { applyHostDraftProjection, compileDraftProjection } from "../projection/draftProjection.js";
|
|
8
7
|
import { isEditorShellDocument } from "../runtime/editorShell.js";
|
|
9
8
|
import { isOriginalPreviewActive, subscribeOriginalPreview } from "../shell/originalPreview.js";
|
|
10
|
-
/**
|
|
11
|
-
* Projects the active draft into the host document and verifies the managed
|
|
12
|
-
* CSS off the commit path (0044). Verification re-checks the full surviving
|
|
13
|
-
* set: a new rule can change cascade or specificity for earlier changes.
|
|
14
|
-
*/
|
|
9
|
+
/** Verification re-checks the full surviving set: a new rule can change cascade or specificity for earlier changes. */
|
|
15
10
|
export function createDraftPreview(readActive) {
|
|
16
11
|
let pendingTargets = new Map();
|
|
17
12
|
let handle = null;
|
|
18
13
|
function reapply(snapshot) {
|
|
19
|
-
// While hold-to-view-original is active the host document intentionally
|
|
20
|
-
// shows the page without inspector changes. Releasing re-projects.
|
|
21
14
|
if (isOriginalPreviewActive())
|
|
22
15
|
return;
|
|
23
16
|
if (!isEditorShellDocument())
|
|
@@ -25,30 +18,25 @@ export function createDraftPreview(readActive) {
|
|
|
25
18
|
}
|
|
26
19
|
function flushVerification() {
|
|
27
20
|
handle = null;
|
|
28
|
-
// Probing the original preview would report
|
|
29
|
-
// conflicts. Keep the pending targets; releasing re-verifies them.
|
|
21
|
+
// Probing the original preview would report held-back changes as conflicts; keep the targets for re-verification on release.
|
|
30
22
|
if (isOriginalPreviewActive())
|
|
31
23
|
return;
|
|
32
24
|
const targets = pendingTargets;
|
|
33
25
|
pendingTargets = new Map();
|
|
34
|
-
// The editor shell has no application document
|
|
35
|
-
// owned by renderer projection reports.
|
|
26
|
+
// The editor shell has no application document to verify; renderer projection reports cover it.
|
|
36
27
|
if (targets.size === 0 || isEditorShellDocument())
|
|
37
28
|
return;
|
|
38
29
|
const current = readActive();
|
|
39
30
|
const attempt = beginPreviewAttempt(getHostPreviewDocument(), current.revision);
|
|
40
31
|
if (!attempt)
|
|
41
32
|
return;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
if (result)
|
|
50
|
-
publishPreviewDiagnostic(attempt, key, result);
|
|
51
|
-
}
|
|
33
|
+
const targeted = current.changes.filter((change) => targets.has(changeKey(change)));
|
|
34
|
+
verifyPreviewChanges({
|
|
35
|
+
changes: targeted,
|
|
36
|
+
document,
|
|
37
|
+
attempt,
|
|
38
|
+
targetFor: (change) => targets.get(changeKey(change)) ?? null,
|
|
39
|
+
});
|
|
52
40
|
}
|
|
53
41
|
function scheduleVerification() {
|
|
54
42
|
if (handle !== null)
|
|
@@ -70,8 +58,7 @@ export function createDraftPreview(readActive) {
|
|
|
70
58
|
for (const key of snapshot.changes.map(changeKey)) {
|
|
71
59
|
if (!pendingTargets.has(key))
|
|
72
60
|
added = true;
|
|
73
|
-
//
|
|
74
|
-
// an iframe, so this is also the document for verification.
|
|
61
|
+
// Latest commit context wins for a merged key; the element may live in an iframe, which fixes the verification document.
|
|
75
62
|
pendingTargets.set(key, verificationTargets?.get(key) ?? selectedElement);
|
|
76
63
|
}
|
|
77
64
|
if (added)
|
|
@@ -93,8 +80,7 @@ export function createDraftPreview(readActive) {
|
|
|
93
80
|
return;
|
|
94
81
|
}
|
|
95
82
|
reapply(snapshot);
|
|
96
|
-
// A flush during the hold kept its targets without scheduling, so
|
|
97
|
-
// alone would find every key present and schedule nothing.
|
|
83
|
+
// A flush during the hold kept its targets without scheduling, so markForVerification would find every key present and schedule nothing.
|
|
98
84
|
markForVerification(snapshot);
|
|
99
85
|
if (pendingTargets.size > 0)
|
|
100
86
|
scheduleVerification();
|
|
@@ -117,8 +103,7 @@ export function createDraftPreview(readActive) {
|
|
|
117
103
|
markForVerification(snapshot);
|
|
118
104
|
return;
|
|
119
105
|
case "reset":
|
|
120
|
-
// A deferred verification must not inspect a new record with the
|
|
121
|
-
// selection context of the cleared one.
|
|
106
|
+
// A deferred verification must not inspect a new record with the selection context of the cleared one.
|
|
122
107
|
pendingTargets.clear();
|
|
123
108
|
clearPreviewDiagnostics();
|
|
124
109
|
clearStructuralProjectionReports();
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import type { TokenContextWrapper } from "../../css/model/index.js";
|
|
2
2
|
export type EditScope = "source-site" | "rendered-instance";
|
|
3
|
-
/**
|
|
3
|
+
/** JSX instrumentation site; stable across documents. */
|
|
4
4
|
export interface SourceSiteRef {
|
|
5
5
|
cid: string;
|
|
6
6
|
src: string;
|
|
7
7
|
}
|
|
8
|
-
/**
|
|
9
|
-
* Serializable identity for one rendered output. It deliberately contains no
|
|
10
|
-
* DOM reference or generated node id: each document resolves it independently.
|
|
11
|
-
*/
|
|
8
|
+
/** Deliberately free of DOM references and generated node ids; each document resolves it independently. */
|
|
12
9
|
export interface RenderedInstanceRef {
|
|
13
10
|
sourceSite: SourceSiteRef;
|
|
14
11
|
locator: {
|
|
@@ -22,14 +19,10 @@ export interface RenderedInstanceRef {
|
|
|
22
19
|
tagName?: string;
|
|
23
20
|
domPath?: string | null;
|
|
24
21
|
elementId?: string | null;
|
|
25
|
-
/**
|
|
26
|
-
* The component invocation whose entire output is this element. Present
|
|
27
|
-
* only when evidence alone cannot tell identical outputs apart.
|
|
28
|
-
*/
|
|
22
|
+
/** Present only when evidence alone cannot tell identical outputs apart. */
|
|
29
23
|
invocation?: InvocationRef;
|
|
30
24
|
};
|
|
31
25
|
}
|
|
32
|
-
/** A component callsite, as stamped by the compiler, and its component name. */
|
|
33
26
|
export interface InvocationRef {
|
|
34
27
|
callsiteId: string;
|
|
35
28
|
componentName: string;
|
|
@@ -44,9 +37,7 @@ export interface StyleRuleContext {
|
|
|
44
37
|
}
|
|
45
38
|
export declare function isRenderedInstanceRef(value: unknown): value is RenderedInstanceRef;
|
|
46
39
|
export declare function isRenderedInstanceOverride(value: unknown): value is RenderedInstanceOverride;
|
|
47
|
-
/** Validates the serializable context carried by a token change. */
|
|
48
40
|
export declare function isStyleRuleContextValue(value: unknown): value is StyleRuleContext;
|
|
49
|
-
/** A source site shared by text and rendered-instance evidence. */
|
|
50
41
|
export type TextProjectionSourceSite = SourceSiteRef;
|
|
51
42
|
export interface TextProjectionTarget {
|
|
52
43
|
sourceSite: TextProjectionSourceSite;
|
|
@@ -62,7 +53,6 @@ export interface TextProjectionTarget {
|
|
|
62
53
|
textNodePath?: readonly number[];
|
|
63
54
|
}
|
|
64
55
|
export type TextProjectionScope = EditScope;
|
|
65
|
-
/** Bounded semantic evidence retained alongside an instance text projection. */
|
|
66
56
|
export interface TextBindingEvidence {
|
|
67
57
|
callsiteId: string;
|
|
68
58
|
componentName: string;
|
|
@@ -17,7 +17,7 @@ export function isRenderedInstanceRef(value) {
|
|
|
17
17
|
|| !hasOnlyKeys(locator, ["kind", "occurrence", "props", "text", "ariaLabel", "tagName", "domPath", "elementId", "invocation"]))
|
|
18
18
|
return false;
|
|
19
19
|
return locator.kind === "evidence"
|
|
20
|
-
&&
|
|
20
|
+
&& isNonNegativeSafeInteger(locator.occurrence)
|
|
21
21
|
&& (typeof locator.props === "string" || locator.props === null)
|
|
22
22
|
&& (typeof locator.text === "string" || locator.text === null)
|
|
23
23
|
&& (locator.ariaLabel === undefined || typeof locator.ariaLabel === "string" || locator.ariaLabel === null)
|
|
@@ -32,7 +32,6 @@ export function isRenderedInstanceOverride(value) {
|
|
|
32
32
|
&& typeof value.id === "string"
|
|
33
33
|
&& isRenderedInstanceRef(value.target);
|
|
34
34
|
}
|
|
35
|
-
/** Validates the serializable context carried by a token change. */
|
|
36
35
|
export function isStyleRuleContextValue(value) {
|
|
37
36
|
if (!isRecord(value) || !hasOnlyKeys(value, ["wrappers"]))
|
|
38
37
|
return false;
|