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
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { HTML_ARTIFACT_REVISION_ATTRIBUTE } from "../../transport/artifacts.js";
|
|
2
2
|
import { FRAME_SCROLLBAR_STYLE_ID } from "../canvas/frameScrollbarStyles.js";
|
|
3
|
-
/** Captures the visible DOM of a same-origin frame as a script-free HTML iteration. */
|
|
4
3
|
export async function captureHtmlIteration(frame) {
|
|
5
4
|
const source = frame.contentDocument;
|
|
6
5
|
const view = frame.contentWindow;
|
|
@@ -19,11 +18,9 @@ export async function captureHtmlIteration(frame) {
|
|
|
19
18
|
const copied = copiedElements[index];
|
|
20
19
|
if (sourceElement.nodeType !== 1 || copied.nodeType !== 1)
|
|
21
20
|
continue;
|
|
22
|
-
// Renderer IDs belong to the source iframe's
|
|
23
|
-
// fresh registry can reuse those values for different nodes.
|
|
21
|
+
// Renderer IDs belong to the source iframe's registry; the iteration's fresh registry can reuse them for different nodes.
|
|
24
22
|
copied.removeAttribute("data-renderer-id");
|
|
25
|
-
//
|
|
26
|
-
// than replacing them with computed dimensions at the capture viewport.
|
|
23
|
+
// Keep authored inline values (percentages, variables, calc) instead of computed dimensions.
|
|
27
24
|
const inline = copied.getAttribute("style");
|
|
28
25
|
if (inline)
|
|
29
26
|
copied.setAttribute("style", await resolveCssUrls(inline, source.baseURI, assets));
|
|
@@ -100,8 +97,7 @@ async function captureStylesheets(document, copy, sourceElements, copiedElements
|
|
|
100
97
|
css = await response.text();
|
|
101
98
|
}
|
|
102
99
|
catch {
|
|
103
|
-
// Keep the stylesheet link when CORS prevents embedding it
|
|
104
|
-
// still resolves against the original base and retains responsiveness.
|
|
100
|
+
// Keep the stylesheet link when CORS prevents embedding it; its URL still resolves against the original base.
|
|
105
101
|
continue;
|
|
106
102
|
}
|
|
107
103
|
}
|
|
@@ -112,8 +108,7 @@ async function captureStylesheets(document, copy, sourceElements, copiedElements
|
|
|
112
108
|
}
|
|
113
109
|
}
|
|
114
110
|
style.textContent = await resolveCssUrls(css, sheet.href ?? document.baseURI, assets);
|
|
115
|
-
// Captured edits become the iteration's base
|
|
116
|
-
// managed stylesheet for new edits instead of clearing these captured rules.
|
|
111
|
+
// Captured edits become the iteration's base; the renderer must create its own managed stylesheet for new edits.
|
|
117
112
|
if (style.id === "nudge-ui-styles") {
|
|
118
113
|
style.removeAttribute("id");
|
|
119
114
|
style.removeAttribute("data-nudge-ui");
|
|
@@ -2,7 +2,6 @@ import type { CanvasFrame } from "../canvas/canvasFrame.js";
|
|
|
2
2
|
import { type HtmlArtifactRevision } from "../../transport/artifacts.js";
|
|
3
3
|
export declare function artifactDocumentUrl(id: string): string;
|
|
4
4
|
export declare function readHtmlArtifactRevision(id: string): Promise<HtmlArtifactRevision>;
|
|
5
|
-
/** Checks the editing base before saving and promoting a captured document. */
|
|
6
5
|
export declare function commitHtmlArtifact(id: string, expected: HtmlArtifactRevision, html?: string): Promise<HtmlArtifactRevision>;
|
|
7
6
|
export declare function createHtmlArtifact(frame: CanvasFrame, sourceUrl: string, title: string, capturedHtml?: string): Promise<string>;
|
|
8
7
|
export declare function removeHtmlArtifact(id: string): Promise<void>;
|
|
@@ -13,7 +13,6 @@ export async function readHtmlArtifactRevision(id) {
|
|
|
13
13
|
throw new Error("The HTML iteration returned an invalid revision.");
|
|
14
14
|
return revision;
|
|
15
15
|
}
|
|
16
|
-
/** Checks the editing base before saving and promoting a captured document. */
|
|
17
16
|
export async function commitHtmlArtifact(id, expected, html) {
|
|
18
17
|
const response = await fetch(`${NUDGE_UI_ARTIFACTS_PATH}/${id}/commit`, {
|
|
19
18
|
method: "POST",
|
|
@@ -6,7 +6,6 @@ export interface HtmlIterationStorage {
|
|
|
6
6
|
readRevision(id: string): Promise<HtmlArtifactRevision>;
|
|
7
7
|
commit(id: string, expected: HtmlArtifactRevision, html?: string): Promise<HtmlArtifactRevision>;
|
|
8
8
|
}
|
|
9
|
-
/** Owns save ordering, draft settlement, and external document promotion. */
|
|
10
9
|
export declare function createHtmlIterationCoordinator(storage: HtmlIterationStorage): {
|
|
11
10
|
prepare(cardId: string, artifactId: string, baseRevision: string, capture: () => Promise<string>): Promise<DraftContents>;
|
|
12
11
|
refresh(cardId: string, artifactId: string, baseRevision: string, available: () => boolean): Promise<boolean>;
|
|
@@ -6,7 +6,6 @@ import { projectDraftToDocument, isCanvasProjectionRevisionCurrent, projectToAll
|
|
|
6
6
|
import { isInlineTextEditingActive } from "../inline-text/inlineTextEditor.js";
|
|
7
7
|
import { captureHtmlIteration } from "./capture.js";
|
|
8
8
|
import { artifactDocumentUrl, commitHtmlArtifact, readHtmlArtifactRevision } from "./client.js";
|
|
9
|
-
/** Owns save ordering, draft settlement, and external document promotion. */
|
|
10
9
|
export function createHtmlIterationCoordinator(storage) {
|
|
11
10
|
const operations = new Map();
|
|
12
11
|
async function serialize(id, operation) {
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
/** Defines the edit destination for every HTML-iteration handoff, including fallback copies. */
|
|
2
1
|
export declare function htmlIterationPrompt(id: string, changes: string, noInspectorChanges: boolean, hasSketches: boolean, customInstructions?: string): string;
|
|
3
2
|
export declare function htmlIterationImplementationPrompt(id: string, label: string, page: string, changes: string): string;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { withPromptContext } from "../prompt/promptDocument.js";
|
|
2
|
-
/** Defines the edit destination for every HTML-iteration handoff, including fallback copies. */
|
|
3
2
|
export function htmlIterationPrompt(id, changes, noInspectorChanges, hasSketches, customInstructions = "") {
|
|
4
3
|
const directory = `.nudge/artifacts/${id}`;
|
|
5
4
|
return withPromptContext([
|
|
@@ -6,5 +6,7 @@ export interface DomNavigatorProps {
|
|
|
6
6
|
hierarchy: HTMLElement[];
|
|
7
7
|
anchor: Rect;
|
|
8
8
|
project: (element: HTMLElement) => Rect | null;
|
|
9
|
+
/** The selection is a component or shares its source with other elements. */
|
|
10
|
+
linked?: boolean;
|
|
9
11
|
}
|
|
10
|
-
export declare function DomNavigator({ selected, hierarchy, anchor, project }: DomNavigatorProps): ReactElement | null;
|
|
12
|
+
export declare function DomNavigator({ selected, hierarchy, anchor, project, linked }: DomNavigatorProps): ReactElement | null;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from "react";
|
|
3
|
-
import { IconMenu2 } from "@tabler/icons-react";
|
|
3
|
+
import { IconChevronDown, IconChevronRight, IconMenu2 } from "@tabler/icons-react";
|
|
4
4
|
import { Popover as BasePopover } from "@base-ui/react/popover";
|
|
5
5
|
import { setSelectedElement } from "../selection/selectionStore.js";
|
|
6
|
-
import {
|
|
6
|
+
import { computeNavigationParents, computeTrackedChildren, hasTrackedChildren } from "../selection/hierarchy.js";
|
|
7
7
|
import { resolveSelectionFromElement } from "../selection/resolveSelection.js";
|
|
8
8
|
import { portalContainer } from "../ui/portalContainer.js";
|
|
9
9
|
import { cx } from "../ui/classNames.js";
|
|
@@ -19,28 +19,52 @@ function selectNode(node) {
|
|
|
19
19
|
if (resolved)
|
|
20
20
|
setSelectedElement(resolved);
|
|
21
21
|
}
|
|
22
|
-
export function DomNavigator({ selected, hierarchy, anchor, project }) {
|
|
23
|
-
const
|
|
24
|
-
const parents =
|
|
25
|
-
const children = nodes.filter((node) => node.direction === "down");
|
|
22
|
+
export function DomNavigator({ selected, hierarchy, anchor, project, linked = false }) {
|
|
23
|
+
const children = computeTrackedChildren(selected.domElement);
|
|
24
|
+
const parents = computeNavigationParents(hierarchy, children.elements.length > 0);
|
|
26
25
|
const [expanded, setExpanded] = useState(false);
|
|
27
26
|
const [hovered, setHovered] = useState(null);
|
|
28
|
-
|
|
27
|
+
const [opened, setOpened] = useState(new Set());
|
|
28
|
+
if (parents.length === 0 && children.elements.length === 0)
|
|
29
29
|
return null;
|
|
30
30
|
const preview = hovered ? project(hovered) : null;
|
|
31
31
|
const setOpen = (next) => {
|
|
32
32
|
setExpanded(next);
|
|
33
|
-
if (!next)
|
|
33
|
+
if (!next) {
|
|
34
34
|
setHovered(null);
|
|
35
|
+
setOpened(new Set());
|
|
36
|
+
}
|
|
35
37
|
};
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
const toggleOpened = (element) => {
|
|
39
|
+
setOpened((current) => {
|
|
40
|
+
const next = new Set(current);
|
|
41
|
+
if (!next.delete(element))
|
|
42
|
+
next.add(element);
|
|
43
|
+
return next;
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
const renderItem = (key, element, depth) => {
|
|
47
|
+
const current = element === null;
|
|
48
|
+
const target = element ?? selected.domElement;
|
|
49
|
+
return (_jsx("button", { type: "button", className: cx("dom-navigator__item", current && "dom-navigator__item--selected"), "data-test": "dom-navigator-item", "data-current": current ? "true" : undefined, "data-depth": depth, "data-cid": target.getAttribute("data-cid") ?? undefined, style: { paddingLeft: `calc(var(--space-8) + ${depth * 16}px)` }, role: "menuitem", "aria-current": current ? "true" : undefined, onMouseEnter: () => setHovered(current ? null : target), onClick: () => {
|
|
40
50
|
if (!current)
|
|
41
|
-
selectNode(
|
|
51
|
+
selectNode(target);
|
|
42
52
|
setOpen(false);
|
|
43
|
-
}, children: _jsx("span", { children: nodeDescription(
|
|
53
|
+
}, children: _jsx("span", { children: nodeDescription(target) }) }, key));
|
|
44
54
|
};
|
|
45
|
-
|
|
55
|
+
const renderChildren = (list, depth, path) => [
|
|
56
|
+
...list.elements.flatMap((element, index) => {
|
|
57
|
+
const key = `${path}/${index}`;
|
|
58
|
+
const nested = opened.has(element) ? computeTrackedChildren(element) : null;
|
|
59
|
+
const expandable = hasTrackedChildren(element);
|
|
60
|
+
return [
|
|
61
|
+
_jsxs("div", { className: "dom-navigator__row", "data-test": "dom-navigator-row", children: [expandable ? (_jsx("button", { type: "button", className: "dom-navigator__expander", "data-test": "dom-navigator-expander", "aria-label": `${nested ? "Collapse" : "Expand"} ${nodeDescription(element)}`, "aria-expanded": nested !== null, style: { left: `calc(var(--space-4) + ${(depth - 1) * 16}px)` }, onMouseEnter: () => setHovered(null), onClick: () => toggleOpened(element), children: nested ? _jsx(IconChevronDown, { size: 12, "aria-hidden": "true" }) : _jsx(IconChevronRight, { size: 12, "aria-hidden": "true" }) })) : null, renderItem(key, element, depth)] }, key),
|
|
62
|
+
...(nested ? renderChildren(nested, depth + 1, key) : []),
|
|
63
|
+
];
|
|
64
|
+
}),
|
|
65
|
+
...(list.hidden > 0
|
|
66
|
+
? [(_jsxs("div", { className: "dom-navigator__more", "data-test": "dom-navigator-more", style: { paddingLeft: `calc(var(--space-8) + ${depth * 16}px)` }, children: ["+", list.hidden, " more"] }, `${path}/more`))]
|
|
67
|
+
: []),
|
|
68
|
+
];
|
|
69
|
+
return (_jsxs(_Fragment, { children: [preview ? _jsx("div", { className: "dom-navigator-preview", "data-test": "dom-navigator-preview", style: preview, "aria-hidden": "true" }) : null, _jsx("div", { className: "dom-navigator", "data-test": "dom-navigator", "data-linked": linked ? "true" : undefined, "aria-label": "DOM navigator", style: { left: Math.max(4, anchor.left), top: Math.max(4, anchor.top - 28) }, children: _jsxs(BasePopover.Root, { open: expanded, onOpenChange: setOpen, children: [_jsx(BasePopover.Trigger, { render: _jsx("button", { type: "button", className: "dom-navigator__trigger", "data-test": "dom-navigator-trigger", "aria-label": "Open DOM navigator", "aria-haspopup": "menu", "aria-expanded": expanded, onMouseEnter: () => setHovered(null) }), children: _jsx(IconMenu2, { size: 14, "aria-hidden": "true" }) }), _jsx("span", { className: "dom-navigator__label", children: nodeDescription(selected.domElement) }), _jsx(BasePopover.Portal, { container: portalContainer(), children: _jsx(BasePopover.Positioner, { className: "dom-navigator__positioner", side: "top", align: "start", sideOffset: 4, children: _jsxs(BasePopover.Popup, { className: "dom-navigator__menu", role: "menu", "aria-label": "DOM navigator", onMouseLeave: () => setHovered(null), children: [parents.slice().reverse().map((element, index) => renderItem(`up-${index}`, element, index)), renderItem("current", null, parents.length), renderChildren(children, parents.length + 1, "down")] }) }) })] }) })] }));
|
|
46
70
|
}
|
|
@@ -12,6 +12,5 @@ interface DropGuideOverlayProps {
|
|
|
12
12
|
targetClassName?: string;
|
|
13
13
|
targetTestId?: string;
|
|
14
14
|
}
|
|
15
|
-
/** Shared visual wrapper; each view only supplies its projected viewport geometry. */
|
|
16
15
|
export declare function DropGuideOverlay({ guide, lineClassName, lineTestId, targetClassName, targetTestId, }: DropGuideOverlayProps): ReactElement | null;
|
|
17
16
|
export {};
|
|
@@ -9,7 +9,6 @@ function fixedRect(rect) {
|
|
|
9
9
|
pointerEvents: "none",
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
|
-
/** Shared visual wrapper; each view only supplies its projected viewport geometry. */
|
|
13
12
|
export function DropGuideOverlay({ guide, lineClassName, lineTestId, targetClassName, targetTestId, }) {
|
|
14
13
|
if (!guide)
|
|
15
14
|
return null;
|
|
@@ -2,18 +2,11 @@ import { type ReactElement } from "react";
|
|
|
2
2
|
import type { Rect } from "./overlayGeometry.js";
|
|
3
3
|
import type { MeasurementSegment } from "./measurementGeometry.js";
|
|
4
4
|
interface MeasurementGuideOverlayProps {
|
|
5
|
-
/** The selected element in the overlay's screen coordinate system. */
|
|
6
5
|
selectedRect: Rect;
|
|
7
|
-
/** The viewport that alignment guides should span. */
|
|
8
6
|
guideViewport?: Rect;
|
|
9
|
-
/** Measurement geometry in the overlay's screen coordinate system. */
|
|
10
7
|
segments: MeasurementSegment[];
|
|
11
8
|
testId?: string;
|
|
12
9
|
}
|
|
13
|
-
/**
|
|
14
|
-
* Renders measurement geometry over a viewport. The Inspect surface passes
|
|
15
|
-
* browser coordinates directly; Canvas projects iframe-local coordinates into
|
|
16
|
-
* the same screen coordinate system before rendering here.
|
|
17
|
-
*/
|
|
10
|
+
/** Geometry arrives in the overlay's screen coordinates; Canvas projects iframe-local coordinates before rendering here. */
|
|
18
11
|
export declare function MeasurementGuideOverlay({ selectedRect, guideViewport, segments, testId, }: MeasurementGuideOverlayProps): ReactElement;
|
|
19
12
|
export {};
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useState } from "react";
|
|
3
|
-
/**
|
|
4
|
-
* Renders measurement geometry over a viewport. The Inspect surface passes
|
|
5
|
-
* browser coordinates directly; Canvas projects iframe-local coordinates into
|
|
6
|
-
* the same screen coordinate system before rendering here.
|
|
7
|
-
*/
|
|
3
|
+
/** Geometry arrives in the overlay's screen coordinates; Canvas projects iframe-local coordinates before rendering here. */
|
|
8
4
|
export function MeasurementGuideOverlay({ selectedRect, guideViewport, segments, testId = "measurement-overlay", }) {
|
|
9
5
|
const [windowViewport, setWindowViewport] = useState(() => ({
|
|
10
6
|
width: window.innerWidth,
|
|
@@ -1,23 +1,12 @@
|
|
|
1
1
|
export type ClickModifiers = Pick<MouseEvent, "ctrlKey" | "metaKey" | "shiftKey">;
|
|
2
|
-
/**
|
|
3
|
-
* Press and release gestures that application widgets use to open menus,
|
|
4
|
-
* dialogs, and popovers before any `click` fires. The Design tool keeps them
|
|
5
|
-
* from reaching the application.
|
|
6
|
-
*/
|
|
2
|
+
/** Press/release gestures widgets use to open menus and popovers before any `click` fires. */
|
|
7
3
|
export declare const APPLICATION_GESTURE_EVENTS: readonly ["pointerdown", "pointerup", "mousedown", "mouseup", "touchstart", "touchend", "auxclick", "contextmenu"];
|
|
8
4
|
/** Command/Ctrl-click selects the deepest tracked element unless Shift is held. */
|
|
9
5
|
export declare function isDeepSelectionClick(event: ClickModifiers): boolean;
|
|
10
|
-
/**
|
|
11
|
-
* Only input from a person becomes inspector selection. Script events such
|
|
12
|
-
* as `element.click()` keep reaching the application.
|
|
13
|
-
*/
|
|
6
|
+
/** Synthetic events like `element.click()` keep reaching the application. */
|
|
14
7
|
export declare function isUserClick(event: Pick<Event, "isTrusted">): boolean;
|
|
15
8
|
/** The active inline text editor needs native press events for caret placement. */
|
|
16
9
|
export declare function isInlineEditorTarget(target: EventTarget | null): boolean;
|
|
17
|
-
/**
|
|
18
|
-
* Keeps an application press gesture from reaching application listeners.
|
|
19
|
-
* Listeners on the document itself, including the inspector's own, still run.
|
|
20
|
-
*/
|
|
10
|
+
/** Document-level listeners, including the inspector's own, still run. */
|
|
21
11
|
export declare function blockApplicationGesture(event: Event): void;
|
|
22
|
-
/** Prevent an inspected application click from reaching the host application. */
|
|
23
12
|
export declare function blockApplicationClick(event: MouseEvent): void;
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Press and release gestures that application widgets use to open menus,
|
|
3
|
-
* dialogs, and popovers before any `click` fires. The Design tool keeps them
|
|
4
|
-
* from reaching the application.
|
|
5
|
-
*/
|
|
1
|
+
/** Press/release gestures widgets use to open menus and popovers before any `click` fires. */
|
|
6
2
|
export const APPLICATION_GESTURE_EVENTS = [
|
|
7
3
|
"pointerdown",
|
|
8
4
|
"pointerup",
|
|
@@ -17,10 +13,7 @@ export const APPLICATION_GESTURE_EVENTS = [
|
|
|
17
13
|
export function isDeepSelectionClick(event) {
|
|
18
14
|
return (event.ctrlKey || event.metaKey) && !event.shiftKey;
|
|
19
15
|
}
|
|
20
|
-
/**
|
|
21
|
-
* Only input from a person becomes inspector selection. Script events such
|
|
22
|
-
* as `element.click()` keep reaching the application.
|
|
23
|
-
*/
|
|
16
|
+
/** Synthetic events like `element.click()` keep reaching the application. */
|
|
24
17
|
export function isUserClick(event) {
|
|
25
18
|
return event.isTrusted;
|
|
26
19
|
}
|
|
@@ -30,14 +23,10 @@ export function isInlineEditorTarget(target) {
|
|
|
30
23
|
&& target instanceof Element
|
|
31
24
|
&& target.closest('[data-inline-editor="true"]') !== null;
|
|
32
25
|
}
|
|
33
|
-
/**
|
|
34
|
-
* Keeps an application press gesture from reaching application listeners.
|
|
35
|
-
* Listeners on the document itself, including the inspector's own, still run.
|
|
36
|
-
*/
|
|
26
|
+
/** Document-level listeners, including the inspector's own, still run. */
|
|
37
27
|
export function blockApplicationGesture(event) {
|
|
38
28
|
event.stopPropagation();
|
|
39
29
|
}
|
|
40
|
-
/** Prevent an inspected application click from reaching the host application. */
|
|
41
30
|
export function blockApplicationClick(event) {
|
|
42
31
|
event.preventDefault();
|
|
43
32
|
event.stopPropagation();
|
|
@@ -14,9 +14,6 @@ export interface DropGuide {
|
|
|
14
14
|
line: DropGuideRect;
|
|
15
15
|
target: DropGuideRect;
|
|
16
16
|
}
|
|
17
|
-
/** Publishes one guide model from a DOM insertion location. */
|
|
18
17
|
export declare function showDropGuide(owner: DropGuideOwner, document: Document, drop: DropLocation): void;
|
|
19
|
-
/** Clears only the guide belonging to the caller, preserving another active view. */
|
|
20
18
|
export declare function clearDropGuide(owner: DropGuideOwner): void;
|
|
21
|
-
/** Subscribes a visual adapter to its guide without exposing shared mutable state. */
|
|
22
19
|
export declare function useDropGuide(owner: DropGuideOwner): DropGuide | null;
|
|
@@ -17,7 +17,6 @@ function sameRect(left, right) {
|
|
|
17
17
|
&& left.width === right.width
|
|
18
18
|
&& left.height === right.height;
|
|
19
19
|
}
|
|
20
|
-
/** Publishes one guide model from a DOM insertion location. */
|
|
21
20
|
export function showDropGuide(owner, document, drop) {
|
|
22
21
|
const target = drop.parent.getBoundingClientRect();
|
|
23
22
|
const nextGuide = {
|
|
@@ -35,14 +34,12 @@ export function showDropGuide(owner, document, drop) {
|
|
|
35
34
|
currentGuide = nextGuide;
|
|
36
35
|
notify();
|
|
37
36
|
}
|
|
38
|
-
/** Clears only the guide belonging to the caller, preserving another active view. */
|
|
39
37
|
export function clearDropGuide(owner) {
|
|
40
38
|
if (currentGuide?.owner !== owner)
|
|
41
39
|
return;
|
|
42
40
|
currentGuide = null;
|
|
43
41
|
notify();
|
|
44
42
|
}
|
|
45
|
-
/** Subscribes a visual adapter to its guide without exposing shared mutable state. */
|
|
46
43
|
export function useDropGuide(owner) {
|
|
47
44
|
return useSyncExternalStore(subscribe, () => snapshotFor(owner), () => null);
|
|
48
45
|
}
|
|
@@ -2,7 +2,6 @@ export interface FrameScheduler {
|
|
|
2
2
|
request(callback: FrameRequestCallback): number;
|
|
3
3
|
cancel(handle: number): void;
|
|
4
4
|
}
|
|
5
|
-
/** Retains only the newest value and performs at most one update per frame. */
|
|
6
5
|
export declare function createFrameThrottle<T>(run: (value: T) => void, scheduler?: FrameScheduler): {
|
|
7
6
|
schedule(value: T): void;
|
|
8
7
|
flush: () => void;
|
|
@@ -2,7 +2,6 @@ const browserScheduler = {
|
|
|
2
2
|
request: (callback) => requestAnimationFrame(callback),
|
|
3
3
|
cancel: (handle) => cancelAnimationFrame(handle),
|
|
4
4
|
};
|
|
5
|
-
/** Retains only the newest value and performs at most one update per frame. */
|
|
6
5
|
export function createFrameThrottle(run, scheduler = browserScheduler) {
|
|
7
6
|
let handle = 0;
|
|
8
7
|
let latest = null;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export declare function isInteractionStylesInstalled(doc?: Document): boolean;
|
|
2
|
-
/** Installs
|
|
2
|
+
/** Installs affordances via a stylesheet, leaving tracked nodes untouched. */
|
|
3
3
|
export declare function installInteractionStyles(doc?: Document): () => void;
|
|
@@ -20,13 +20,7 @@ const INTERACTION_CSS = `
|
|
|
20
20
|
outline: 0 !important;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
/*
|
|
24
|
-
* An empty rendered-text projection has no glyph for the browser to hit
|
|
25
|
-
* test. The projection module inserts this inspector-owned slot beside the
|
|
26
|
-
* original empty Text node. It is intentionally borderless: the blue fill
|
|
27
|
-
* is the affordance, while the normal selected-element outline remains a
|
|
28
|
-
* separate overlay.
|
|
29
|
-
*/
|
|
23
|
+
/* Inspector-owned hit target for empty text projections, which have no glyph to hit test. */
|
|
30
24
|
[data-empty-text] {
|
|
31
25
|
display: inline-block !important;
|
|
32
26
|
width: 0.75em !important;
|
|
@@ -46,7 +40,7 @@ const INTERACTION_CSS = `
|
|
|
46
40
|
export function isInteractionStylesInstalled(doc = document) {
|
|
47
41
|
return interactionStyleDocuments.has(doc);
|
|
48
42
|
}
|
|
49
|
-
/** Installs
|
|
43
|
+
/** Installs affordances via a stylesheet, leaving tracked nodes untouched. */
|
|
50
44
|
export function installInteractionStyles(doc = document) {
|
|
51
45
|
if (!allowsStyleElements(doc))
|
|
52
46
|
return installAdoptedInteractionStyles(doc);
|
|
@@ -22,11 +22,7 @@ function centerFromBounds(range) {
|
|
|
22
22
|
function hasLength(from, to) {
|
|
23
23
|
return Math.abs(to - from) > EPSILON;
|
|
24
24
|
}
|
|
25
|
-
/**
|
|
26
|
-
* Finds the labelled ruler(s) for one axis. A positive gap gets a single
|
|
27
|
-
* nearest-edge ruler. On overlap, the measurement changes to the hovered
|
|
28
|
-
* element's far edge; containment has two meaningful inset measurements.
|
|
29
|
-
*/
|
|
25
|
+
/** On overlap the ruler switches to the hovered element's far edge; containment gets two inset measurements. */
|
|
30
26
|
function getAxisRulers(selected, hovered, selectedInner, hoveredInner) {
|
|
31
27
|
if (selected.max < hovered.min - EPSILON) {
|
|
32
28
|
return [{ selectedEdge: selected.max, hoveredEdge: hovered.min }];
|
|
@@ -56,8 +52,8 @@ function getAxisRulers(selected, hovered, selectedInner, hoveredInner) {
|
|
|
56
52
|
{ selectedEdge: selected.max, hoveredEdge: hoveredInner.max },
|
|
57
53
|
].filter((ruler) => hasLength(ruler.selectedEdge, ruler.hoveredEdge));
|
|
58
54
|
}
|
|
59
|
-
//
|
|
60
|
-
//
|
|
55
|
+
// Partially overlapping boxes measure from the selected outside edge to the
|
|
56
|
+
// hover's far edge rather than a zero or negative gap.
|
|
61
57
|
if (centerFromBounds(selected) >= centerFromBounds(hovered)) {
|
|
62
58
|
return [{ selectedEdge: selected.min, hoveredEdge: hovered.min }];
|
|
63
59
|
}
|
|
@@ -74,11 +70,7 @@ function createSegment(id, kind, axis, from, to, cross) {
|
|
|
74
70
|
...(kind === "ruler" ? { distance: Math.abs(to - from) } : {}),
|
|
75
71
|
};
|
|
76
72
|
}
|
|
77
|
-
/**
|
|
78
|
-
* Solid rulers always run through the selected element's centerline. If the
|
|
79
|
-
* centerline does not meet the hovered edge, a perpendicular dotted extension
|
|
80
|
-
* starts at that hovered edge and joins the ruler.
|
|
81
|
-
*/
|
|
73
|
+
/** A perpendicular dotted extension joins the centerline ruler when it misses the hovered edge. */
|
|
82
74
|
function appendPrimaryRulers(segments, selected, hovered, axis, options) {
|
|
83
75
|
const crossAxis = axis === "horizontal" ? "vertical" : "horizontal";
|
|
84
76
|
const cross = center(selected, crossAxis);
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Watches the small set of browser events that can change a selected element's
|
|
3
|
-
* viewport rect without changing its selection identity. Structural gestures
|
|
4
|
-
* can move a selected element between containers, so the child-list observer
|
|
5
|
-
* follows the element's current parent after each mutation.
|
|
6
|
-
*/
|
|
1
|
+
/** Follows the element's current parent after mutations, since gestures can move it between containers. */
|
|
7
2
|
export declare function observeSelectedGeometry(element: HTMLElement, onChange: () => void): () => void;
|
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
import { getElementWindow } from "../runtime/domRealm.js";
|
|
2
|
-
/**
|
|
3
|
-
* Watches the small set of browser events that can change a selected element's
|
|
4
|
-
* viewport rect without changing its selection identity. Structural gestures
|
|
5
|
-
* can move a selected element between containers, so the child-list observer
|
|
6
|
-
* follows the element's current parent after each mutation.
|
|
7
|
-
*/
|
|
2
|
+
/** Follows the element's current parent after mutations, since gestures can move it between containers. */
|
|
8
3
|
export function observeSelectedGeometry(element, onChange) {
|
|
9
4
|
const view = getElementWindow(element);
|
|
10
|
-
// getElementWindow returns the cross-realm Window interface, while the
|
|
11
|
-
// project-wide browser global also carries the observer constructors.
|
|
12
5
|
// SAFETY: view is a same-realm Window, and the runtime realm exposes the observer constructors as project-wide globals.
|
|
13
6
|
const { ResizeObserver: ResizeObserverCtor, MutationObserver: MutationObserverCtor } = view;
|
|
14
7
|
let frame = null;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { Rect } from "./overlayGeometry.js";
|
|
2
|
-
export type
|
|
3
|
-
export type SpacingKind = "padding" | "gap";
|
|
2
|
+
export type BoxSide = "top" | "right" | "bottom" | "left";
|
|
3
|
+
export type SpacingKind = "padding" | "margin" | "gap";
|
|
4
4
|
export type SpacingAxis = "horizontal" | "vertical";
|
|
5
5
|
export type SpacingDragAxis = "x" | "y";
|
|
6
|
-
export type SpacingProperty = `padding-${
|
|
6
|
+
export type SpacingProperty = `padding-${BoxSide}` | `margin-${BoxSide}` | "row-gap" | "column-gap";
|
|
7
7
|
export interface SpacingGuideData {
|
|
8
8
|
kind: SpacingKind;
|
|
9
9
|
property: SpacingProperty;
|
|
10
|
-
side:
|
|
10
|
+
side: BoxSide | null;
|
|
11
11
|
axis: SpacingAxis;
|
|
12
12
|
dragAxis: SpacingDragAxis;
|
|
13
13
|
value: number;
|
|
@@ -16,7 +16,7 @@ export interface SpacingGuideData {
|
|
|
16
16
|
guide: Rect;
|
|
17
17
|
affectedGuides: Rect[];
|
|
18
18
|
affectedAreas: Rect[];
|
|
19
|
-
/**
|
|
19
|
+
/** Pointer target centred on the visible guide handle. */
|
|
20
20
|
hit: Rect;
|
|
21
21
|
}
|
|
22
22
|
export interface SpacingAffordance extends SpacingGuideData {
|
|
@@ -25,26 +25,19 @@ export interface SpacingAffordance extends SpacingGuideData {
|
|
|
25
25
|
export interface SpacingDescriptor {
|
|
26
26
|
kind: SpacingKind;
|
|
27
27
|
property: SpacingProperty;
|
|
28
|
-
side:
|
|
28
|
+
side: BoxSide | null;
|
|
29
29
|
}
|
|
30
30
|
export declare const SPACING_GUIDE_HANDLE_LENGTH = 40;
|
|
31
|
-
/** Finds the spacing target under a document-local pointer location. */
|
|
32
31
|
export declare function getSpacingAffordanceAtPoint(doc: Document, x: number, y: number): SpacingAffordance | null;
|
|
33
|
-
/**
|
|
34
|
-
* pointer, even when the pointer is outside the drag handle. Hover previews use
|
|
35
|
-
* this; drags and the resize cursor still require the handle hit from
|
|
36
|
-
* getSpacingAffordanceAtPoint. */
|
|
32
|
+
/** Hover previews use this; drags and the resize cursor require the handle from getSpacingAffordanceAtPoint. */
|
|
37
33
|
export declare function getSpacingHoverAtPoint(doc: Document, x: number, y: number): SpacingAffordance | null;
|
|
38
|
-
|
|
34
|
+
export declare function getElementSpacingHandleAtPoint(doc: Document, element: HTMLElement, x: number, y: number): SpacingAffordance | null;
|
|
35
|
+
export declare function getElementSpacingAtPoint(doc: Document, element: HTMLElement, x: number, y: number): {
|
|
36
|
+
handle: SpacingAffordance | null;
|
|
37
|
+
area: SpacingAffordance | null;
|
|
38
|
+
};
|
|
39
39
|
export declare function getSpacingAffordanceForDescriptor(element: HTMLElement, descriptor: SpacingDescriptor): SpacingAffordance | null;
|
|
40
|
-
/**
|
|
41
|
-
* Calculates a direct-manipulation value, optionally stepping changes by 8px.
|
|
42
|
-
* While Shift is held the value snaps to a step anchor: the first displacement
|
|
43
|
-
* picks the nearest multiple of 8 from the authored value in the drag
|
|
44
|
-
* direction (ties resolve upward), and further movement adds whole 8px steps
|
|
45
|
-
* from that anchor, so the result is always a multiple of 8 once the drag
|
|
46
|
-
* moves. At the exact start point the authored value is preserved.
|
|
47
|
-
*/
|
|
40
|
+
/** With Shift, snaps to a multiple of 8 from the authored value in the drag direction. */
|
|
48
41
|
export declare function spacingValueForDrag(affordance: Pick<SpacingAffordance, "dragAxis" | "direction" | "value">, start: {
|
|
49
42
|
x: number;
|
|
50
43
|
y: number;
|
|
@@ -53,5 +46,5 @@ export declare function spacingValueForDrag(affordance: Pick<SpacingAffordance,
|
|
|
53
46
|
y: number;
|
|
54
47
|
}, shiftKey?: boolean): number;
|
|
55
48
|
export declare function spacingValueCss(value: number): string;
|
|
56
|
-
/**
|
|
49
|
+
/** The stable subset sent across the renderer boundary. */
|
|
57
50
|
export declare function toSpacingDescriptor(affordance: SpacingAffordance): SpacingDescriptor;
|