nudge-ui 0.2.4 → 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 +4 -29
- package/dist/client.mjs +987 -221
- 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 +14 -71
- package/dist/hosts/projectBridge.d.ts +0 -2
- package/dist/hosts/projectBridge.js +3 -19
- 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 +8 -9
- package/dist/inspector/agent/activity.d.ts +2 -2
- package/dist/inspector/agent/activity.js +4 -3
- package/dist/inspector/agent/client.d.ts +3 -27
- package/dist/inspector/agent/client.js +43 -91
- package/dist/inspector/agent/connectionStatus.d.ts +3 -2
- package/dist/inspector/agent/connectionStatus.js +25 -1
- package/dist/inspector/agent/httpTransport.d.ts +0 -8
- package/dist/inspector/agent/httpTransport.js +42 -176
- package/dist/inspector/agent/protocol.d.ts +1 -10
- package/dist/inspector/agent/protocol.js +1 -9
- package/dist/inspector/agent/verification.d.ts +3 -20
- package/dist/inspector/agent/verification.js +10 -43
- package/dist/inspector/boot.d.ts +5 -0
- package/dist/inspector/boot.js +289 -0
- package/dist/inspector/canvas/AgentActivityOverlay.d.ts +3 -2
- package/dist/inspector/canvas/AgentActivityOverlay.js +7 -4
- package/dist/inspector/canvas/CanvasCard.js +26 -24
- package/dist/inspector/canvas/CanvasElementOverlay.js +196 -174
- package/dist/inspector/canvas/CanvasToolbar.js +2 -1
- package/dist/inspector/canvas/CanvasWorkspace.js +87 -124
- package/dist/inspector/canvas/LockedWorkspaceNotice.d.ts +3 -2
- package/dist/inspector/canvas/LockedWorkspaceNotice.js +10 -6
- package/dist/inspector/canvas/PageCard.d.ts +9 -0
- package/dist/inspector/canvas/PageCard.js +50 -0
- package/dist/inspector/canvas/SketchToolOptions.d.ts +4 -0
- package/dist/inspector/canvas/SketchToolOptions.js +80 -0
- package/dist/inspector/canvas/StaleChangeIndicator.d.ts +1 -1
- package/dist/inspector/canvas/StaleChangeIndicator.js +1 -1
- package/dist/inspector/canvas/ToolOptionsDrawer.d.ts +16 -0
- package/dist/inspector/canvas/ToolOptionsDrawer.js +71 -0
- package/dist/inspector/canvas/activeCanvasDocument.d.ts +3 -4
- 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/assets/eraser.svg +28 -0
- package/dist/inspector/canvas/assets/pen.svg +25 -0
- package/dist/inspector/canvas/canvasFrame.d.ts +12 -0
- package/dist/inspector/canvas/canvasFrame.js +9 -0
- package/dist/inspector/canvas/canvasGestures.d.ts +0 -1
- package/dist/inspector/canvas/canvasGestures.js +0 -6
- package/dist/inspector/canvas/canvasResize.d.ts +1 -6
- package/dist/inspector/canvas/canvasResize.js +1 -6
- package/dist/inspector/canvas/canvasStore.d.ts +5 -7
- package/dist/inspector/canvas/canvasStore.js +42 -21
- package/dist/inspector/canvas/frameConnection.d.ts +42 -0
- package/dist/inspector/canvas/frameConnection.js +73 -0
- 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 +20 -38
- package/dist/inspector/canvas/frameProtocol.js +37 -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 +6 -0
- package/dist/inspector/canvas/pageSurface.js +29 -0
- package/dist/inspector/canvas/projection.d.ts +14 -25
- package/dist/inspector/canvas/projection.js +64 -87
- package/dist/inspector/canvas/rendererBootstrap.d.ts +8 -1
- package/dist/inspector/canvas/rendererBootstrap.js +10 -15
- package/dist/inspector/canvas/rendererCidIndex.d.ts +0 -5
- package/dist/inspector/canvas/rendererCidIndex.js +0 -5
- package/dist/inspector/canvas/rendererElementSelector.js +38 -28
- package/dist/inspector/canvas/rendererMessageRouter.d.ts +4 -6
- package/dist/inspector/canvas/rendererMessageRouter.js +12 -17
- package/dist/inspector/canvas/rendererSelectionProxy.d.ts +3 -1
- package/dist/inspector/canvas/rendererSelectionProxy.js +7 -40
- package/dist/inspector/canvas/rendererStylesheet.d.ts +0 -1
- package/dist/inspector/canvas/rendererStylesheet.js +23 -1
- package/dist/inspector/canvas/resizeHandleScale.d.ts +1 -10
- package/dist/inspector/canvas/resizeHandleScale.js +1 -10
- package/dist/inspector/canvas/sessionStore.d.ts +3 -9
- package/dist/inspector/canvas/sessionStore.js +33 -43
- package/dist/inspector/canvas/staleChangeDetector.d.ts +1 -1
- package/dist/inspector/canvas/staleChangeDetector.js +11 -26
- 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.d.ts +1 -0
- package/dist/inspector/changes/codecs.js +21 -5
- package/dist/inspector/changes/draftPreview.d.ts +7 -0
- package/dist/inspector/changes/draftPreview.js +118 -0
- package/dist/inspector/changes/editModel.d.ts +11 -13
- package/dist/inspector/changes/editModel.js +9 -4
- package/dist/inspector/changes/managedStyleProjection.js +6 -15
- 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 +5 -21
- 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 +11 -8
- package/dist/inspector/clientManifest.d.ts +17 -6
- package/dist/inspector/clientManifest.js +16 -3
- package/dist/inspector/comments/CommentsOverlay.js +66 -23
- 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 +4 -3
- package/dist/inspector/comments/verification.d.ts +8 -2
- package/dist/inspector/comments/verification.js +19 -11
- package/dist/inspector/componentSemantics/ComponentPropsSection.d.ts +8 -0
- package/dist/inspector/componentSemantics/ComponentPropsSection.js +12 -8
- package/dist/inspector/componentSemantics/adapterRegistry.d.ts +2 -9
- package/dist/inspector/componentSemantics/adapterRegistry.js +2 -9
- package/dist/inspector/componentSemantics/changeAction.js +1 -1
- 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 +2 -11
- package/dist/inspector/componentSemantics/textBinding.js +20 -87
- 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 +95 -0
- package/dist/inspector/drafts/draftStore.js +461 -0
- package/dist/inspector/drafts/model.d.ts +14 -14
- package/dist/inspector/drafts/model.js +4 -2
- package/dist/inspector/drafts/store.d.ts +47 -16
- package/dist/inspector/drafts/store.js +137 -170
- package/dist/inspector/editScope.d.ts +0 -1
- package/dist/inspector/editScope.js +0 -1
- package/dist/inspector/index.d.ts +2 -4
- package/dist/inspector/index.js +2 -264
- 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 +3 -9
- package/dist/inspector/inline-text/inlineTextEditor.js +27 -81
- package/dist/inspector/inline-text/inlineTextLifecycle.js +1 -6
- package/dist/inspector/inline-text/textEditChange.d.ts +1 -2
- package/dist/inspector/inspection/bridge.d.ts +3 -7
- package/dist/inspector/inspection/bridge.js +6 -13
- package/dist/inspector/inspection/browserCssInspection.d.ts +12 -11
- package/dist/inspector/inspection/browserCssInspection.js +32 -14
- package/dist/inspector/inspection/browserCssInspectionRegistry.d.ts +0 -7
- package/dist/inspector/inspection/browserCssInspectionRegistry.js +1 -16
- package/dist/inspector/inspection/inspectionSnapshot.d.ts +6 -0
- package/dist/inspector/inspection/inspectionSnapshot.js +10 -0
- package/dist/inspector/inspection/performanceDiagnostics.d.ts +18 -0
- package/dist/inspector/inspection/performanceDiagnostics.js +31 -0
- 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 +22 -59
- package/dist/inspector/iterations/capture.d.ts +2 -2
- package/dist/inspector/iterations/capture.js +4 -9
- package/dist/inspector/iterations/client.d.ts +2 -2
- package/dist/inspector/iterations/client.js +0 -1
- package/dist/inspector/iterations/coordinator.d.ts +4 -4
- package/dist/inspector/iterations/coordinator.js +5 -4
- package/dist/inspector/iterations/prompt.d.ts +0 -1
- package/dist/inspector/iterations/prompt.js +9 -9
- 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 +19 -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 +33 -0
- package/dist/inspector/pageInspector.js +335 -0
- package/dist/inspector/projection/cssEscapes.d.ts +0 -1
- package/dist/inspector/projection/cssEscapes.js +2 -4
- package/dist/inspector/projection/draftProjection.d.ts +6 -10
- package/dist/inspector/projection/draftProjection.js +8 -7
- package/dist/inspector/projection/managedStylesheet.d.ts +1 -7
- package/dist/inspector/projection/managedStylesheet.js +28 -26
- package/dist/inspector/projection/renderedInstance.d.ts +5 -28
- package/dist/inspector/projection/renderedInstance.js +13 -33
- package/dist/inspector/projection/structuralProjection.d.ts +7 -48
- package/dist/inspector/projection/structuralProjection.js +31 -96
- package/dist/inspector/projection/textProjection.d.ts +7 -13
- package/dist/inspector/projection/textProjection.js +35 -80
- 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 -0
- package/dist/inspector/prompt/clipboardHandoff.js +34 -16
- package/dist/inspector/prompt/generatePrompt.d.ts +2 -2
- package/dist/inspector/prompt/generatePrompt.js +247 -166
- package/dist/inspector/prompt/promptDocument.d.ts +3 -0
- package/dist/inspector/prompt/promptDocument.js +8 -0
- package/dist/inspector/prompt/promptSettings.d.ts +0 -3
- package/dist/inspector/prompt/promptSettings.js +7 -8
- 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 +11 -0
- package/dist/inspector/runtime/inspectorStorage.js +37 -0
- package/dist/inspector/runtime/ownedStylesheets.d.ts +14 -0
- package/dist/inspector/runtime/ownedStylesheets.js +66 -0
- package/dist/inspector/runtime/runtimeConfig.d.ts +14 -84
- package/dist/inspector/runtime/runtimeConfig.js +18 -50
- package/dist/inspector/runtime/runtimeIdentityClaims.d.ts +19 -0
- package/dist/inspector/runtime/runtimeIdentityClaims.js +178 -0
- package/dist/inspector/runtime/staticHtmlRuntimeIdentity.d.ts +6 -23
- package/dist/inspector/runtime/staticHtmlRuntimeIdentity.js +103 -52
- package/dist/inspector/runtime/useRuntimeConfig.d.ts +1 -8
- package/dist/inspector/runtime/useRuntimeConfig.js +1 -8
- package/dist/inspector/selection/editScope.d.ts +2 -7
- package/dist/inspector/selection/editScope.js +15 -14
- 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 +7 -7
- package/dist/inspector/shell/AppShell.js +6 -2
- package/dist/inspector/shell/ChangesLog.js +29 -12
- package/dist/inspector/shell/CopyPromptButton.d.ts +2 -1
- package/dist/inspector/shell/CopyPromptButton.js +62 -55
- package/dist/inspector/shell/EmptyState.js +3 -3
- 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.d.ts +0 -3
- package/dist/inspector/shell/InspectorShell.js +44 -58
- 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 +3 -8
- 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 +6 -0
- package/dist/inspector/shell/interactionStatePreview.js +107 -0
- package/dist/inspector/shell/originalPreview.d.ts +1 -5
- package/dist/inspector/shell/originalPreview.js +5 -37
- package/dist/inspector/shell/stateValue.d.ts +1 -2
- package/dist/inspector/shell/stateValue.js +4 -8
- package/dist/inspector/shell/styleState.d.ts +1 -2
- package/dist/inspector/shell/styleState.js +1 -2
- package/dist/inspector/sketch/SketchEditor.js +5 -5
- package/dist/inspector/sketch/SketchFrameOverlay.d.ts +2 -1
- package/dist/inspector/sketch/SketchFrameOverlay.js +13 -16
- package/dist/inspector/sketch/SketchOverlay.d.ts +3 -5
- package/dist/inspector/sketch/SketchOverlay.js +138 -263
- package/dist/inspector/sketch/SketchPromptPanel.d.ts +1 -2
- package/dist/inspector/sketch/SketchPromptPanel.js +8 -2
- package/dist/inspector/sketch/SketchThumbnail.d.ts +5 -0
- package/dist/inspector/sketch/SketchThumbnail.js +18 -0
- package/dist/inspector/sketch/SketchWorkspace.d.ts +1 -2
- package/dist/inspector/sketch/SketchWorkspace.js +70 -37
- package/dist/inspector/sketch/capture.d.ts +12 -3
- package/dist/inspector/sketch/capture.js +31 -14
- package/dist/inspector/sketch/copySketch.d.ts +4 -0
- package/dist/inspector/sketch/copySketch.js +43 -0
- package/dist/inspector/sketch/drawingTools.d.ts +15 -0
- package/dist/inspector/sketch/drawingTools.js +46 -0
- package/dist/inspector/sketch/frameHeading.d.ts +3 -0
- package/dist/inspector/sketch/frameHeading.js +23 -0
- package/dist/inspector/sketch/freehand.d.ts +0 -1
- package/dist/inspector/sketch/freehand.js +3 -4
- package/dist/inspector/sketch/geometry.d.ts +2 -1
- package/dist/inspector/sketch/geometry.js +15 -1
- package/dist/inspector/sketch/handoff.js +0 -1
- package/dist/inspector/sketch/history.d.ts +26 -0
- package/dist/inspector/sketch/history.js +55 -0
- package/dist/inspector/sketch/interaction.d.ts +3 -5
- package/dist/inspector/sketch/interaction.js +8 -11
- package/dist/inspector/sketch/model.d.ts +33 -6
- package/dist/inspector/sketch/model.js +101 -63
- package/dist/inspector/sketch/persistence.d.ts +14 -1
- package/dist/inspector/sketch/persistence.js +64 -8
- package/dist/inspector/sketch/raster.d.ts +3 -2
- package/dist/inspector/sketch/raster.js +40 -20
- package/dist/inspector/sketch/store.d.ts +1 -1
- package/dist/inspector/sketch/store.js +3 -4
- package/dist/inspector/sketch/videoFrames.d.ts +6 -0
- package/dist/inspector/sketch/videoFrames.js +80 -0
- package/dist/inspector/spacing/projection.d.ts +0 -8
- package/dist/inspector/spacing/projection.js +38 -20
- package/dist/inspector/styleEditors/BackgroundEditor.js +3 -2
- package/dist/inspector/styleEditors/BorderEditor.js +30 -135
- package/dist/inspector/styleEditors/BorderRadiusEditor.js +8 -3
- 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 +1 -2
- 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 +36 -0
- package/dist/inspector/styleEditors/borderModel.js +105 -0
- 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 +6 -15
- 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 +53 -32
- package/dist/inspector/tokens/TokensPanel.js +2 -1
- 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 +4 -4
- package/dist/inspector/tokens/editActions.js +11 -7
- 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 +11 -0
- package/dist/inspector/tokens/resolution/containerQueryEvaluator.js +82 -0
- package/dist/inspector/tokens/resolution/cssomCollector.d.ts +4 -19
- package/dist/inspector/tokens/resolution/cssomCollector.js +186 -122
- package/dist/inspector/tokens/resolution/nestedSelectors.d.ts +2 -0
- package/dist/inspector/tokens/resolution/nestedSelectors.js +63 -0
- package/dist/inspector/tokens/resolution/ruleMatching.d.ts +4 -14
- package/dist/inspector/tokens/resolution/ruleMatching.js +136 -63
- 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 +11 -27
- package/dist/inspector/tokens/resolution.js +105 -181
- package/dist/inspector/tokens/tokenAvailability.d.ts +2 -14
- package/dist/inspector/tokens/tokenAvailability.js +6 -38
- package/dist/inspector/tokens/tokenEdits.d.ts +1 -1
- package/dist/inspector/tokens/tokenEdits.js +1 -1
- 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/InlineStyleWarning.js +2 -2
- package/dist/inspector/ui/InspectorPopover.d.ts +1 -5
- package/dist/inspector/ui/InspectorPopover.js +1 -5
- package/dist/inspector/ui/InspectorStyle.d.ts +8 -0
- package/dist/inspector/ui/InspectorStyle.js +26 -0
- package/dist/inspector/ui/PopoverListbox.d.ts +2 -1
- package/dist/inspector/ui/PopoverListbox.js +3 -3
- 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 +10 -0
- package/dist/inspector/ui/Toast.js +26 -0
- package/dist/inspector/ui/assets/canvasIllustration.d.ts +2 -0
- package/dist/inspector/ui/assets/canvasIllustration.js +21 -0
- package/dist/inspector/ui/assets/gridIllustration.d.ts +2 -0
- package/dist/inspector/ui/assets/{grid.svg → gridIllustration.js} +3 -2
- 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 +11 -0
- package/dist/inspector/ui/customCursors.js +29 -7
- package/dist/inspector/ui/styles.js +25 -25
- package/dist/inspector/workspace/commands.js +1 -2
- package/dist/inspector/workspace/controller.js +20 -2
- package/dist/inspector/workspace/handoff.d.ts +1 -5
- package/dist/inspector/workspace/handoff.js +4 -7
- package/dist/inspector/workspace/sentItems.d.ts +3 -6
- package/dist/inspector/workspace/sentItems.js +6 -24
- package/dist/inspector/workspace/timeline.d.ts +28 -11
- package/dist/inspector/workspace/timeline.js +117 -96
- package/dist/internal/agent-protocol.d.ts +53 -38
- package/dist/internal/agent-protocol.js +151 -42
- package/dist/nudge-ui.mjs +155 -92
- 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 +3 -0
- package/dist/project/mcpPackage.js +55 -0
- 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 +16 -5
- package/dist/inspector/canvas/measurementProjection.d.ts +0 -8
- package/dist/inspector/canvas/measurementProjection.js +0 -16
- package/dist/inspector/changes/changesLog.d.ts +0 -49
- package/dist/inspector/changes/changesLog.js +0 -255
- package/dist/inspector/changes/draftChanges.d.ts +0 -58
- package/dist/inspector/changes/draftChanges.js +0 -304
- package/dist/inspector/conformance/projection.d.ts +0 -2
- package/dist/inspector/conformance/projection.js +0 -3
- package/dist/inspector/inline-text/textChangeBoundary.d.ts +0 -6
- package/dist/inspector/inline-text/textChangeBoundary.js +0 -1
- package/dist/inspector/overlay/InspectorOverlay.d.ts +0 -5
- package/dist/inspector/overlay/InspectorOverlay.js +0 -332
- package/dist/inspector/overlay/elementSelector.d.ts +0 -1
- package/dist/inspector/overlay/elementSelector.js +0 -111
- package/dist/inspector/sketch/SketchChanges.d.ts +0 -2
- package/dist/inspector/sketch/SketchChanges.js +0 -72
- package/dist/inspector/sketch/SketchEntryButton.d.ts +0 -4
- package/dist/inspector/sketch/SketchEntryButton.js +0 -11
- package/dist/inspector/sketch/SketchLayersPanel.d.ts +0 -2
- package/dist/inspector/sketch/SketchLayersPanel.js +0 -71
- 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
|
@@ -3,6 +3,7 @@ import { posix } from "node:path";
|
|
|
3
3
|
import { elementName, isNode, jsxMemberName, parseModule, SKIP_KEYS, } from "./ast.js";
|
|
4
4
|
import { createComponentInstrumentationPolicy, } from "./componentInstrumentation.js";
|
|
5
5
|
import { relativePath, stripModuleExtension } from "./sourcePaths.js";
|
|
6
|
+
import { IDENTITY_ATTRIBUTES } from "./identityAttributes.js";
|
|
6
7
|
export const DEFAULT_COMPONENT_RUNTIME_MODULE = "nudge-ui/internal/component-runtime";
|
|
7
8
|
const PARSEABLE_EXT = /\.(tsx|jsx)$/;
|
|
8
9
|
const EXPRESSION_SCOPE_TYPES = new Set([
|
|
@@ -10,15 +11,12 @@ const EXPRESSION_SCOPE_TYPES = new Set([
|
|
|
10
11
|
"ArrowFunctionExpression",
|
|
11
12
|
"ClassExpression",
|
|
12
13
|
]);
|
|
13
|
-
// Scopes that contribute an id to the scope stack: declarations push their
|
|
14
|
-
// own name; expressions are pushed at their VariableDeclarator binding, or
|
|
15
|
-
// here by their own id (may be null) when anonymous.
|
|
16
14
|
const ALL_SCOPE_TYPES = new Set([
|
|
17
15
|
"FunctionDeclaration",
|
|
18
16
|
"ClassDeclaration",
|
|
19
17
|
...EXPRESSION_SCOPE_TYPES,
|
|
20
18
|
]);
|
|
21
|
-
const IDENTITY_ATTRS = new Set(
|
|
19
|
+
const IDENTITY_ATTRS = new Set(IDENTITY_ATTRIBUTES);
|
|
22
20
|
function isComponentName(name) {
|
|
23
21
|
return /^[A-Z]/.test(name);
|
|
24
22
|
}
|
|
@@ -78,9 +76,7 @@ function serialiseAttribute(attr) {
|
|
|
78
76
|
if (expr.type === "BooleanLiteral") {
|
|
79
77
|
return `${key}:${expr.value ? "true" : "false"}`;
|
|
80
78
|
}
|
|
81
|
-
// Inline
|
|
82
|
-
// Bare identifiers are omitted (they may reference any type — PLAN.md's
|
|
83
|
-
// canonical example omits `onClick={handleClick}`).
|
|
79
|
+
// Inline functions render as `fn(key)`; bare identifiers and other expressions are omitted.
|
|
84
80
|
if (expr.type === "ArrowFunctionExpression" ||
|
|
85
81
|
expr.type === "FunctionExpression") {
|
|
86
82
|
return `${key}:fn(${key})`;
|
|
@@ -135,11 +131,7 @@ function authoredPropKinds(attrs, children = []) {
|
|
|
135
131
|
result.children = childKind;
|
|
136
132
|
return result;
|
|
137
133
|
}
|
|
138
|
-
/**
|
|
139
|
-
* Preserve the authored shape of primitive JSX children in invocation
|
|
140
|
-
* metadata. This is metadata for the dev runtime only; it does not add a
|
|
141
|
-
* production attribute or wrapper to the application output.
|
|
142
|
-
*/
|
|
134
|
+
/** Dev-runtime metadata only; nothing here reaches production output. */
|
|
143
135
|
function authoredChildrenKind(children) {
|
|
144
136
|
if (children.length === 0)
|
|
145
137
|
return null;
|
|
@@ -193,9 +185,7 @@ function walkChildren(node, scopeStack, ms, relPath, options, state, allowCompon
|
|
|
193
185
|
if (Array.isArray(value)) {
|
|
194
186
|
for (const child of value) {
|
|
195
187
|
if (isNode(child)) {
|
|
196
|
-
// A component
|
|
197
|
-
// renders them. Preserve those element values unless the receiving
|
|
198
|
-
// interface explicitly promises to render them.
|
|
188
|
+
// A component may inspect children or slot props before rendering them; only promised slots are traversed.
|
|
199
189
|
const renderedChild = !customElement
|
|
200
190
|
|| (key === "children" && state.componentPolicy.rendersChildren(componentName))
|
|
201
191
|
|| (key === "attributes" && state.componentPolicy.rendersProp(componentName, elementName(child.name) ?? ""))
|
|
@@ -210,8 +200,7 @@ function walkChildren(node, scopeStack, ms, relPath, options, state, allowCompon
|
|
|
210
200
|
}
|
|
211
201
|
}
|
|
212
202
|
function walk(node, parent, scopeStack, ms, relPath, options, state, allowComponentWrapping) {
|
|
213
|
-
// A function/class expression
|
|
214
|
-
// name as its component name (arrows have no own id).
|
|
203
|
+
// A function/class expression inherits the variable's name as its component name (arrows have no own id).
|
|
215
204
|
if (node.type === "VariableDeclarator") {
|
|
216
205
|
const init = node.init ?? null;
|
|
217
206
|
const varName = node.id?.name ?? null;
|
|
@@ -223,13 +212,12 @@ function walk(node, parent, scopeStack, ms, relPath, options, state, allowCompon
|
|
|
223
212
|
}
|
|
224
213
|
}
|
|
225
214
|
if (ALL_SCOPE_TYPES.has(node.type)) {
|
|
226
|
-
// Named/anonymous function and class scopes: push their own id (may be null).
|
|
227
215
|
scopeStack.push(getScopeName(node));
|
|
228
216
|
walkChildren(node, scopeStack, ms, relPath, options, state, allowComponentWrapping);
|
|
229
217
|
scopeStack.pop();
|
|
230
218
|
return;
|
|
231
219
|
}
|
|
232
|
-
if (node.type === "JSXElement" && options.instrumentComponents
|
|
220
|
+
if (node.type === "JSXElement" && options.instrumentComponents) {
|
|
233
221
|
const opening = node.openingElement;
|
|
234
222
|
const openingName = opening?.name;
|
|
235
223
|
const componentName = elementName(openingName);
|
|
@@ -238,14 +226,11 @@ function walk(node, parent, scopeStack, ms, relPath, options, state, allowCompon
|
|
|
238
226
|
const loc = openingName?.loc;
|
|
239
227
|
const line = loc?.start?.line;
|
|
240
228
|
const column = loc?.start?.column;
|
|
229
|
+
const attrs = opening?.attributes ?? [];
|
|
241
230
|
if (componentName
|
|
242
231
|
&& (isComponentName(componentName) || componentName.includes("."))
|
|
243
|
-
&& state.componentPolicy.canWrap(componentName)
|
|
244
|
-
&& typeof start === "number"
|
|
245
|
-
&& typeof end === "number"
|
|
246
232
|
&& typeof line === "number"
|
|
247
233
|
&& typeof column === "number") {
|
|
248
|
-
const attrs = opening?.attributes ?? [];
|
|
249
234
|
const meta = {
|
|
250
235
|
callsiteId: `${relPath}:${line}:${column + 1}`,
|
|
251
236
|
componentId: state.componentPolicy.componentId(componentName)
|
|
@@ -256,25 +241,28 @@ function walk(node, parent, scopeStack, ms, relPath, options, state, allowCompon
|
|
|
256
241
|
column: column + 1,
|
|
257
242
|
authoredProps: authoredPropKinds(attrs, node.children ?? []),
|
|
258
243
|
};
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
244
|
+
if (allowComponentWrapping
|
|
245
|
+
&& state.componentPolicy.canWrap(componentName)
|
|
246
|
+
&& typeof start === "number"
|
|
247
|
+
&& typeof end === "number") {
|
|
248
|
+
const needsExpression = parent?.type === "JSXElement" || parent?.type === "JSXFragment";
|
|
249
|
+
// appendRight preserves insertion order at a shared `</First><Second>` boundary.
|
|
250
|
+
ms.appendRight(start, `${needsExpression ? "{" : ""}__nudgeUiInstrumentComponent(`);
|
|
251
|
+
ms.appendRight(end, `, ${JSON.stringify(meta)})${needsExpression ? "}" : ""}`);
|
|
252
|
+
state.changed = true;
|
|
253
|
+
state.instrumentedComponents = true;
|
|
254
|
+
}
|
|
255
|
+
else if (!hasAttr(attrs, "data-src")) {
|
|
256
|
+
// Not safe to wrap; the injected `data-src` still reaches the component's props, which is all the runtime needs to name it.
|
|
257
|
+
state.registeredCallsites.push(meta);
|
|
258
|
+
state.changed = true;
|
|
259
|
+
}
|
|
268
260
|
}
|
|
269
261
|
}
|
|
270
262
|
if (node.type === "JSXOpeningElement") {
|
|
271
263
|
const attrs = node.attributes ?? [];
|
|
272
264
|
const nameNode = node.name;
|
|
273
|
-
//
|
|
274
|
-
// attributes (`<Button<Props> size="small" />`). Injecting immediately
|
|
275
|
-
// after the name would produce the invalid `<Button data-cid...<Props>`
|
|
276
|
-
// shape, so place identity attributes after the complete type argument
|
|
277
|
-
// list when one is present.
|
|
265
|
+
// JSX type arguments (`<Button<Props> size="small" />`) must stay adjacent to the name, so attributes go after the complete type argument list.
|
|
278
266
|
const typeArguments = node.typeArguments ??
|
|
279
267
|
node.typeParameters;
|
|
280
268
|
const end = typeArguments?.end ??
|
|
@@ -321,19 +309,29 @@ export function injectIdentity(code, id, root, options = {}) {
|
|
|
321
309
|
changed: false,
|
|
322
310
|
instrumentedComponents: false,
|
|
323
311
|
componentPolicy: createComponentInstrumentationPolicy(ast, options),
|
|
312
|
+
registeredCallsites: [],
|
|
324
313
|
};
|
|
325
314
|
walk(ast, null, [], ms, relPath, options, state, true);
|
|
326
315
|
if (!state.changed)
|
|
327
316
|
return null;
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
ms.prepend(
|
|
331
|
-
}
|
|
317
|
+
const prelude = componentRuntimePrelude(options.componentRuntimeModule ?? DEFAULT_COMPONENT_RUNTIME_MODULE, state);
|
|
318
|
+
if (prelude)
|
|
319
|
+
ms.prepend(prelude);
|
|
332
320
|
return {
|
|
333
321
|
code: ms.toString(),
|
|
334
322
|
map: ms.generateMap({ source: id, hires: true }),
|
|
323
|
+
prelude,
|
|
335
324
|
};
|
|
336
325
|
}
|
|
337
|
-
|
|
338
|
-
|
|
326
|
+
function componentRuntimePrelude(runtimeModule, state) {
|
|
327
|
+
const bindings = [
|
|
328
|
+
...(state.instrumentedComponents ? ["instrumentReactComponent as __nudgeUiInstrumentComponent"] : []),
|
|
329
|
+
...(state.registeredCallsites.length > 0 ? ["registerReactCallsites as __nudgeUiRegisterCallsites"] : []),
|
|
330
|
+
];
|
|
331
|
+
if (bindings.length === 0)
|
|
332
|
+
return null;
|
|
333
|
+
const registration = state.registeredCallsites.length > 0
|
|
334
|
+
? ` __nudgeUiRegisterCallsites(${JSON.stringify(state.registeredCallsites)});`
|
|
335
|
+
: "";
|
|
336
|
+
return `import { ${bindings.join(", ")} } from ${JSON.stringify(runtimeModule)};${registration}\n`;
|
|
339
337
|
}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
/** Strip a TypeScript or JavaScript module extension from a resolved path. */
|
|
2
1
|
export declare function stripModuleExtension(value: string): string;
|
|
3
2
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* A file outside the project root (an authored workspace package) keeps a
|
|
8
|
-
* `../`-prefixed relative path, so identity stays unique across packages and
|
|
9
|
-
* machine paths never reach the DOM or a prompt. Every host Adapter reads this
|
|
10
|
-
* function so their identity strings cannot drift.
|
|
3
|
+
* The one component identity format: extensionless module source, a `#` marker,
|
|
4
|
+
* then the export name. Identity and policy both match on this exact string.
|
|
11
5
|
*/
|
|
6
|
+
export declare function componentIdentity(moduleSource: string, exportName: string): string;
|
|
7
|
+
/** Project-relative identity path; files outside the root keep a `../` prefix so ids stay unique and machine paths never reach the DOM or a prompt. */
|
|
12
8
|
export declare function relativePath(id: string, root?: string): string;
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import { posix } from "node:path";
|
|
2
|
-
/** Strip a TypeScript or JavaScript module extension from a resolved path. */
|
|
3
2
|
export function stripModuleExtension(value) {
|
|
4
3
|
return value.replace(/\.(?:d\.)?[cm]?[jt]sx?$/, "");
|
|
5
4
|
}
|
|
6
5
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* A file outside the project root (an authored workspace package) keeps a
|
|
11
|
-
* `../`-prefixed relative path, so identity stays unique across packages and
|
|
12
|
-
* machine paths never reach the DOM or a prompt. Every host Adapter reads this
|
|
13
|
-
* function so their identity strings cannot drift.
|
|
6
|
+
* The one component identity format: extensionless module source, a `#` marker,
|
|
7
|
+
* then the export name. Identity and policy both match on this exact string.
|
|
14
8
|
*/
|
|
9
|
+
export function componentIdentity(moduleSource, exportName) {
|
|
10
|
+
return `${stripModuleExtension(moduleSource)}#${exportName}`;
|
|
11
|
+
}
|
|
12
|
+
/** Project-relative identity path; files outside the root keep a `../` prefix so ids stay unique and machine paths never reach the DOM or a prompt. */
|
|
15
13
|
export function relativePath(id, root) {
|
|
16
14
|
if (root) {
|
|
17
15
|
const rootPrefix = root.endsWith("/") ? root : `${root}/`;
|
|
@@ -2,43 +2,28 @@ import type { TokenCatalogDiagnostic } from "../model/index.js";
|
|
|
2
2
|
import type { InventoryDiagnostic, TokenContribution } from "../token-inventory/types.js";
|
|
3
3
|
export * from "./tailwind.js";
|
|
4
4
|
export * from "./vanillaExtract.js";
|
|
5
|
-
/**
|
|
6
|
-
* Host-neutral interpretation of CSS dialects. Hosts see very different things
|
|
7
|
-
* — a Vite host watches the whole transform pipeline, a static-file host only
|
|
8
|
-
* reads `.css` off disk — so each supplies the evidence it can observe and this
|
|
9
|
-
* module turns exactly that into token knowledge. It is pure, so the same
|
|
10
|
-
* evidence yields the same tokens on every host and dialect behaviour can be
|
|
11
|
-
* tested without a build tool. A host that observes less reports less through
|
|
12
|
-
* `DialectObservation` rather than quietly producing a thinner catalog.
|
|
13
|
-
*/
|
|
14
5
|
export type DialectName = "tailwind-v3" | "tailwind-v4" | "vanilla-extract";
|
|
15
6
|
export interface TailwindV3Evidence {
|
|
16
7
|
readonly config: unknown;
|
|
17
|
-
/** Path recorded on the resulting tokens. */
|
|
18
8
|
readonly source?: string;
|
|
19
9
|
}
|
|
20
|
-
/** A theme contract written inline in host configuration. */
|
|
21
10
|
export interface InlineThemeContractEvidence {
|
|
22
11
|
readonly contract: unknown;
|
|
23
|
-
/**
|
|
12
|
+
/** Only when the host observed the emitted CSS. */
|
|
24
13
|
readonly cssValues?: Readonly<Record<string, string>>;
|
|
25
14
|
readonly source?: string;
|
|
26
15
|
}
|
|
27
|
-
/** A theme contract loaded from a published module. */
|
|
28
16
|
export interface PublishedThemeContractEvidence {
|
|
29
17
|
/** Separates "never looked" from "looked and found nothing"; only the latter clears a held contract. */
|
|
30
18
|
readonly attempted: boolean;
|
|
31
19
|
readonly contract: unknown;
|
|
32
|
-
/** Whether the contract came from a dependency rather than project source. */
|
|
33
20
|
readonly fromPackage?: boolean;
|
|
34
21
|
readonly prefix?: string;
|
|
35
22
|
readonly source?: string;
|
|
36
23
|
readonly diagnostics?: readonly TokenCatalogDiagnostic[];
|
|
37
24
|
}
|
|
38
|
-
/** Everything a host managed to observe about the project's dialects. */
|
|
39
25
|
export interface DialectEvidence {
|
|
40
26
|
readonly tailwindV3?: TailwindV3Evidence;
|
|
41
|
-
/** True when any observed stylesheet carried Tailwind v4 markers. */
|
|
42
27
|
readonly tailwindV4Css?: boolean;
|
|
43
28
|
readonly inlineThemeContract?: InlineThemeContractEvidence;
|
|
44
29
|
readonly publishedThemeContract?: PublishedThemeContractEvidence;
|
|
@@ -54,9 +39,5 @@ export interface DialectInterpretation {
|
|
|
54
39
|
readonly contributions: readonly TokenContribution[];
|
|
55
40
|
readonly observed: readonly DialectObservation[];
|
|
56
41
|
}
|
|
57
|
-
/**
|
|
58
|
-
* Every contribution is emitted on every call, empty when a dialect has no
|
|
59
|
-
* evidence: they are id-keyed and replaceable, so omitting one would leave
|
|
60
|
-
* stale facts in the inventory rather than clearing them.
|
|
61
|
-
*/
|
|
42
|
+
/** Emitted even with no evidence: contributions are id-keyed, so omitting one would leave stale facts. */
|
|
62
43
|
export declare function interpretDialects(evidence?: DialectEvidence): DialectInterpretation;
|
|
@@ -2,11 +2,7 @@ import { isTailwindV3Config, readTailwindV3Config, tailwindV4Relabelling } from
|
|
|
2
2
|
import { readThemeContract } from "./vanillaExtract.js";
|
|
3
3
|
export * from "./tailwind.js";
|
|
4
4
|
export * from "./vanillaExtract.js";
|
|
5
|
-
/**
|
|
6
|
-
* Every contribution is emitted on every call, empty when a dialect has no
|
|
7
|
-
* evidence: they are id-keyed and replaceable, so omitting one would leave
|
|
8
|
-
* stale facts in the inventory rather than clearing them.
|
|
9
|
-
*/
|
|
5
|
+
/** Emitted even with no evidence: contributions are id-keyed, so omitting one would leave stale facts. */
|
|
10
6
|
export function interpretDialects(evidence = {}) {
|
|
11
7
|
const observed = [];
|
|
12
8
|
const tailwindV3Tokens = readTailwindV3Evidence(evidence.tailwindV3);
|
|
@@ -54,10 +50,7 @@ function readInlineContract(evidence) {
|
|
|
54
50
|
...(evidence.cssValues === undefined ? {} : { cssValues: evidence.cssValues }),
|
|
55
51
|
});
|
|
56
52
|
}
|
|
57
|
-
/**
|
|
58
|
-
* Contributes identity only: the emitted CSS stays authoritative on value,
|
|
59
|
-
* cascade, and editability, so entries carry no declarations and merge by CSS name.
|
|
60
|
-
*/
|
|
53
|
+
/** Contributes identity only: the emitted CSS stays authoritative on value and editability. */
|
|
61
54
|
function readPublishedContract(evidence) {
|
|
62
55
|
const empty = { id: "vanilla-extract-contract", order: 1 };
|
|
63
56
|
if (evidence === undefined || !evidence.attempted)
|
|
@@ -1,30 +1,18 @@
|
|
|
1
1
|
import type { TokenEntry } from "../model/index.js";
|
|
2
2
|
import type { TokenContribution } from "../token-inventory/types.js";
|
|
3
|
-
/** Markers proving a stylesheet participates in Tailwind v4. */
|
|
4
3
|
export declare function detectTailwindV4(css: string): boolean;
|
|
5
|
-
/**
|
|
6
|
-
* v4 tokens reach the CSS whether authored or Tailwind-generated, and the
|
|
7
|
-
* generic parser cannot tell those apart. Authored `@theme` entries stay
|
|
8
|
-
* project-owned and editable; generated ones are framework-owned and are not.
|
|
9
|
-
*/
|
|
4
|
+
/** The generic parser cannot tell authored from generated v4 tokens, so this corrects provenance and editability. */
|
|
10
5
|
export declare function tailwindV4Relabelling(): TokenContribution;
|
|
11
6
|
/** A color utility that applies alpha to a catalog token, e.g. `bg-brand/40`. */
|
|
12
7
|
export interface TailwindAlphaUtility {
|
|
13
8
|
readonly utility: string;
|
|
14
|
-
/** The base catalog token the utility draws its color from. */
|
|
15
9
|
readonly baseName: string;
|
|
16
10
|
/** Normalized alpha, always percent-suffixed. */
|
|
17
11
|
readonly alpha: string;
|
|
18
12
|
}
|
|
19
|
-
/**
|
|
20
|
-
* Null when the class is not an alpha utility. The build-time catalog and the
|
|
21
|
-
* browser runtime both parse this and must agree, or an edit gets attributed
|
|
22
|
-
* to the wrong token.
|
|
23
|
-
*/
|
|
13
|
+
/** Parsed by both the build-time catalog and the browser runtime, which must agree on attribution. */
|
|
24
14
|
export declare function readTailwindV4AlphaUtility(className: string): TailwindAlphaUtility | null;
|
|
25
|
-
/** The CSS Tailwind v4 emits for an alpha utility. */
|
|
26
15
|
export declare function tailwindV4AlphaExpression(baseCssName: string, alpha: string): string;
|
|
27
|
-
/** The parts of a v3 config that carry design tokens. */
|
|
28
16
|
export interface TailwindV3Config {
|
|
29
17
|
theme?: {
|
|
30
18
|
colors?: Record<string, unknown>;
|
|
@@ -40,7 +28,5 @@ export interface TailwindV3Config {
|
|
|
40
28
|
plugins?: unknown[];
|
|
41
29
|
[key: string]: unknown;
|
|
42
30
|
}
|
|
43
|
-
/** Distinguishes a v3 config object from a v4 one, which has no `theme` key. */
|
|
44
31
|
export declare function isTailwindV3Config(config: unknown): config is TailwindV3Config;
|
|
45
|
-
/** Flattens a v3 config's theme into token entries, applying `theme.extend`. */
|
|
46
32
|
export declare function readTailwindV3Config(config: TailwindV3Config, source?: string): TokenEntry[];
|
|
@@ -1,26 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tailwind's two major versions keep tokens in different places, so they get
|
|
3
|
-
* separate treatment rather than a shared "Tailwind" concept. v3 keeps them in
|
|
4
|
-
* a JavaScript config and compiles literal values into utilities, making the
|
|
5
|
-
* config the only source of authored names. v4 declares them as custom
|
|
6
|
-
* properties in `@theme`, so parsed CSS is the source of truth and this module
|
|
7
|
-
* only corrects provenance the generic parser cannot infer.
|
|
8
|
-
*/
|
|
9
1
|
function isRecord(value) {
|
|
10
2
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
11
3
|
}
|
|
12
|
-
// ---------------------------------------------------------------------------
|
|
13
|
-
// Tailwind v4
|
|
14
|
-
// ---------------------------------------------------------------------------
|
|
15
|
-
/** Markers proving a stylesheet participates in Tailwind v4. */
|
|
16
4
|
export function detectTailwindV4(css) {
|
|
17
5
|
return /@(?:import\s+["']tailwindcss|theme\b)/i.test(css) || /--tw-[\w-]+/.test(css);
|
|
18
6
|
}
|
|
19
|
-
/**
|
|
20
|
-
* v4 tokens reach the CSS whether authored or Tailwind-generated, and the
|
|
21
|
-
* generic parser cannot tell those apart. Authored `@theme` entries stay
|
|
22
|
-
* project-owned and editable; generated ones are framework-owned and are not.
|
|
23
|
-
*/
|
|
7
|
+
/** The generic parser cannot tell authored from generated v4 tokens, so this corrects provenance and editability. */
|
|
24
8
|
export function tailwindV4Relabelling() {
|
|
25
9
|
return {
|
|
26
10
|
id: "tailwind-v4-naming",
|
|
@@ -32,11 +16,7 @@ export function tailwindV4Relabelling() {
|
|
|
32
16
|
};
|
|
33
17
|
}
|
|
34
18
|
const V4_ALPHA_UTILITY = /^bg-([\w-]+)\/(\d{1,3}%?)$/;
|
|
35
|
-
/**
|
|
36
|
-
* Null when the class is not an alpha utility. The build-time catalog and the
|
|
37
|
-
* browser runtime both parse this and must agree, or an edit gets attributed
|
|
38
|
-
* to the wrong token.
|
|
39
|
-
*/
|
|
19
|
+
/** Parsed by both the build-time catalog and the browser runtime, which must agree on attribution. */
|
|
40
20
|
export function readTailwindV4AlphaUtility(className) {
|
|
41
21
|
const match = V4_ALPHA_UTILITY.exec(className.trim());
|
|
42
22
|
const color = match?.[1];
|
|
@@ -48,11 +28,9 @@ export function readTailwindV4AlphaUtility(className) {
|
|
|
48
28
|
return null;
|
|
49
29
|
return { utility: className, baseName: `--color-${color}`, alpha: `${numeric}%` };
|
|
50
30
|
}
|
|
51
|
-
/** The CSS Tailwind v4 emits for an alpha utility. */
|
|
52
31
|
export function tailwindV4AlphaExpression(baseCssName, alpha) {
|
|
53
32
|
return `color-mix(in oklab, var(${baseCssName}) ${alpha}, transparent)`;
|
|
54
33
|
}
|
|
55
|
-
/** Distinguishes a v3 config object from a v4 one, which has no `theme` key. */
|
|
56
34
|
export function isTailwindV3Config(config) {
|
|
57
35
|
return isRecord(config)
|
|
58
36
|
&& isRecord(config.theme)
|
|
@@ -109,7 +87,6 @@ function sectionEntries(values, section, source, path = []) {
|
|
|
109
87
|
}
|
|
110
88
|
return entries;
|
|
111
89
|
}
|
|
112
|
-
/** Flattens a v3 config's theme into token entries, applying `theme.extend`. */
|
|
113
90
|
export function readTailwindV3Config(config, source = "tailwind.config.js") {
|
|
114
91
|
return TOKEN_SECTIONS.flatMap((section) => {
|
|
115
92
|
const base = isRecord(config.theme?.[section]) ? config.theme[section] : {};
|
|
@@ -1,20 +1,12 @@
|
|
|
1
1
|
import type { TokenEntry } from "../model/index.js";
|
|
2
|
-
/**
|
|
3
|
-
* vanilla-extract generates the custom-property names, so the contract is the
|
|
4
|
-
* only place the authored path (`theme.color.brand`) survives. Reading it is
|
|
5
|
-
* how a host recovers names the emitted CSS cannot supply.
|
|
6
|
-
*/
|
|
7
|
-
/** A compiled contract: nested objects whose leaves are `var()` references. */
|
|
2
|
+
/** vanilla-extract generates custom-property names, so the contract is the only source of the authored path. */
|
|
8
3
|
export type ThemeContract = Record<string, unknown>;
|
|
9
4
|
export interface ReadThemeContractOptions {
|
|
10
|
-
/** Prefix for generated token paths. Defaults to `theme`. */
|
|
11
5
|
readonly prefix?: string;
|
|
12
|
-
/** Source label recorded on every entry. */
|
|
13
6
|
readonly source: string;
|
|
14
7
|
readonly origin: TokenEntry["origin"];
|
|
15
8
|
readonly editable: boolean;
|
|
16
9
|
/** Omit when the host did not observe the emitted CSS; entries then keep their `var()` reference. */
|
|
17
10
|
readonly cssValues?: Readonly<Record<string, string>>;
|
|
18
11
|
}
|
|
19
|
-
/** Flattens a contract into token entries keyed by their authored path. */
|
|
20
12
|
export declare function readThemeContract(contract: unknown, options: ReadThemeContractOptions): TokenEntry[];
|
|
@@ -3,7 +3,6 @@ const CONTRACT_REFERENCE = /^var\(\s*(--[\w-]+)(?:\s*,[\s\S]*)?\)$/;
|
|
|
3
3
|
function isRecord(value) {
|
|
4
4
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
5
5
|
}
|
|
6
|
-
/** Flattens a contract into token entries keyed by their authored path. */
|
|
7
6
|
export function readThemeContract(contract, options) {
|
|
8
7
|
const entries = [];
|
|
9
8
|
const walk = (value, path) => {
|
package/dist/css/index.d.ts
CHANGED
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `nudge-ui/css` — shared, browser-safe CSS/token knowledge.
|
|
3
|
-
*
|
|
4
|
-
* Root entry re-exports the browser-safe subpaths only. The Node/build-time
|
|
5
|
-
* token-inventory subpath arrives in Stage 2 and must NOT be reachable from
|
|
6
|
-
* this entry so importing value semantics cannot pull PostCSS or filesystem
|
|
7
|
-
* assumptions into the inspector bundle.
|
|
8
|
-
*/
|
|
9
1
|
export * from "./model/index.js";
|
|
10
2
|
export * from "./value-semantics/index.js";
|
package/dist/css/index.js
CHANGED
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `nudge-ui/css` — shared, browser-safe CSS/token knowledge.
|
|
3
|
-
*
|
|
4
|
-
* Root entry re-exports the browser-safe subpaths only. The Node/build-time
|
|
5
|
-
* token-inventory subpath arrives in Stage 2 and must NOT be reachable from
|
|
6
|
-
* this entry so importing value semantics cannot pull PostCSS or filesystem
|
|
7
|
-
* assumptions into the inspector bundle.
|
|
8
|
-
*/
|
|
9
1
|
export * from "./model/index.js";
|
|
10
2
|
export * from "./value-semantics/index.js";
|
|
@@ -1,15 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared CSS/token knowledge types for `nudge-ui/css`.
|
|
3
|
-
*
|
|
4
|
-
* This module is the browser-safe shared model consumed by the runtime
|
|
5
|
-
* inspector (`nudge-ui/internal/inspector`), the Vite adapter transport
|
|
6
|
-
* (`virtual:design-tokens`), and — in later slices — the token inventory
|
|
7
|
-
* Module. It MUST NOT import React, Vite, PostCSS, Node, or filesystem code;
|
|
8
|
-
* the import-graph test in `src/importGraph.test.ts` enforces that contract.
|
|
9
|
-
*/
|
|
10
|
-
/** Provenance of a token entry or definition. */
|
|
11
1
|
export type TokenOrigin = "project" | "package" | "framework" | "generated" | "runtime";
|
|
12
|
-
/** How faithfully an authored value can be edited by the inspector. */
|
|
13
2
|
export type EditCapability = "atomic" | "color" | "box-sides" | "structured" | "composite" | "raw";
|
|
14
3
|
export interface TokenReference {
|
|
15
4
|
name: string;
|
|
@@ -26,7 +15,6 @@ export interface ColorOpacity {
|
|
|
26
15
|
tokenName: string | null;
|
|
27
16
|
token?: TokenReference;
|
|
28
17
|
}
|
|
29
|
-
/** The effective opacity of an element's `opacity` property. */
|
|
30
18
|
export interface OpacityValue {
|
|
31
19
|
value: string;
|
|
32
20
|
authoredValue: string;
|
|
@@ -35,7 +23,7 @@ export interface OpacityValue {
|
|
|
35
23
|
/** False when the authored expression cannot be rewritten losslessly. */
|
|
36
24
|
editable: boolean;
|
|
37
25
|
}
|
|
38
|
-
/**
|
|
26
|
+
/** Derived by value semantics, never by React fields. */
|
|
39
27
|
export interface ColorValueFacts {
|
|
40
28
|
/** The authored or resolved color already carries an alpha channel. */
|
|
41
29
|
hasEmbeddedAlpha: boolean;
|
|
@@ -63,19 +51,12 @@ export interface AttributionEvidence {
|
|
|
63
51
|
inaccessibleStylesheet?: boolean;
|
|
64
52
|
reason: string;
|
|
65
53
|
}
|
|
66
|
-
/**
|
|
67
|
-
* A token as published by the Vite transport or materialized by a styling
|
|
68
|
-
* adapter. `name` is the human/design name, `cssName` is the CSS custom
|
|
69
|
-
* property implementation name; they may differ and must not be conflated.
|
|
70
|
-
*/
|
|
54
|
+
/** `name` is the human/design name, `cssName` the custom-property implementation name; they may differ and must not be conflated. */
|
|
71
55
|
export interface TokenEntry {
|
|
72
56
|
name: string;
|
|
73
57
|
value: string;
|
|
74
58
|
source: string;
|
|
75
|
-
/**
|
|
76
|
-
* CSS to place in a managed preview when this token has no CSS custom
|
|
77
|
-
* property. Tailwind v3 config tokens compile to literals, for example.
|
|
78
|
-
*/
|
|
59
|
+
/** Managed-preview CSS for tokens with no custom property (e.g. Tailwind v3 config literals). */
|
|
79
60
|
cssValue?: string;
|
|
80
61
|
adapter?: string;
|
|
81
62
|
cssName?: string;
|
|
@@ -83,10 +64,7 @@ export interface TokenEntry {
|
|
|
83
64
|
editable?: boolean;
|
|
84
65
|
}
|
|
85
66
|
export type TokenContextWrapperKind = "media" | "supports" | "scope" | "layer";
|
|
86
|
-
/**
|
|
87
|
-
* An ordered source wrapper around a token declaration. Keeping one stack
|
|
88
|
-
* retains nesting and interleaving, including repeated wrapper kinds.
|
|
89
|
-
*/
|
|
67
|
+
/** One ordered stack preserves nesting and interleaving, including repeated kinds. */
|
|
90
68
|
export interface TokenContextWrapper {
|
|
91
69
|
kind: TokenContextWrapperKind;
|
|
92
70
|
params: string;
|
|
@@ -113,7 +91,6 @@ export interface TokenDefinition {
|
|
|
113
91
|
origin?: TokenOrigin;
|
|
114
92
|
editable?: boolean;
|
|
115
93
|
}
|
|
116
|
-
/** Diagnostic codes emitted by token sources and the token inventory Module. */
|
|
117
94
|
export type TokenCatalogDiagnosticCode = "vanilla-extract-contract-unresolved" | "vanilla-extract-contract-missing-export" | "vanilla-extract-contract-unsupported-shape" | "stylesheet-unreadable" | "stylesheet-unresolved" | "stylesheet-unsupported" | "stylesheet-parse-failed" | "transform-observation-failed" | "token-order-unresolved";
|
|
118
95
|
export interface TokenCatalogDiagnostic {
|
|
119
96
|
code: TokenCatalogDiagnosticCode;
|
|
@@ -137,7 +114,6 @@ export interface AtRuleContext {
|
|
|
137
114
|
/** The CSSOM-normalised prelude, without the leading `@kind`. */
|
|
138
115
|
params: string;
|
|
139
116
|
}
|
|
140
|
-
/** A conditional wrapper that participates in a property's source candidates. */
|
|
141
117
|
export interface AtRuleCandidate extends AtRuleContext {
|
|
142
118
|
/** True when this context belongs to the declaration currently winning the cascade. */
|
|
143
119
|
active: boolean;
|
|
@@ -155,16 +131,12 @@ export interface MatchedRule {
|
|
|
155
131
|
active?: boolean;
|
|
156
132
|
atRules?: AtRuleContext[];
|
|
157
133
|
}
|
|
158
|
-
/** One attributed, resolvable property on the inspected element. */
|
|
159
134
|
export interface ResolvedProperty {
|
|
160
135
|
property: string;
|
|
161
136
|
tokenName: string | null;
|
|
162
137
|
declaredValue: string;
|
|
163
138
|
resolvedValue: string;
|
|
164
|
-
/**
|
|
165
|
-
* CSSOM-declared serialization used by the UI as the authored expression.
|
|
166
|
-
* This preserves CSS meaning, not the source file's exact spelling.
|
|
167
|
-
*/
|
|
139
|
+
/** CSSOM serialization used as the authored expression; preserves CSS meaning, not source spelling. */
|
|
168
140
|
authored?: string;
|
|
169
141
|
sourceProperty?: string;
|
|
170
142
|
computed?: string;
|
|
@@ -177,11 +149,7 @@ export interface ResolvedProperty {
|
|
|
177
149
|
resolvedTokenValue?: string;
|
|
178
150
|
diagnostic?: string;
|
|
179
151
|
structure?: BorderStructure;
|
|
180
|
-
/**
|
|
181
|
-
* Conditional source wrappers that apply to the declaration currently
|
|
182
|
-
* attributed to this field. These include responsive, container, and
|
|
183
|
-
* capability conditions which can affect the winning declaration.
|
|
184
|
-
*/
|
|
152
|
+
/** Conditional wrappers affecting the declaration attributed to this field. */
|
|
185
153
|
atRules?: AtRuleContext[];
|
|
186
154
|
/** All media-query contexts found on declarations for this property. */
|
|
187
155
|
atRuleCandidates?: AtRuleCandidate[];
|
package/dist/css/model/index.js
CHANGED
|
@@ -1,10 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared CSS/token knowledge types for `nudge-ui/css`.
|
|
3
|
-
*
|
|
4
|
-
* This module is the browser-safe shared model consumed by the runtime
|
|
5
|
-
* inspector (`nudge-ui/internal/inspector`), the Vite adapter transport
|
|
6
|
-
* (`virtual:design-tokens`), and — in later slices — the token inventory
|
|
7
|
-
* Module. It MUST NOT import React, Vite, PostCSS, Node, or filesystem code;
|
|
8
|
-
* the import-graph test in `src/importGraph.test.ts` enforces that contract.
|
|
9
|
-
*/
|
|
10
1
|
export {};
|
|
@@ -1,26 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `nudge-ui/css/token-inventory` — Node/build-time stylesheet parsing and
|
|
3
|
-
* aggregation.
|
|
4
|
-
*
|
|
5
|
-
* This subpath is intentionally NOT browser-safe (see the import-graph test):
|
|
6
|
-
* importing it pulls PostCSS into the consumer. Node consumers use it directly
|
|
7
|
-
* through `nudge-ui/css/token-inventory`; the root `nudge-ui/css`
|
|
8
|
-
* entry stays browser-safe and never re-exports this module.
|
|
9
|
-
*
|
|
10
|
-
* The deep Interface is `createTokenInventory()` — feed ordered stylesheet
|
|
11
|
-
* artifacts and Adapter literal tokens, read immutable deterministic snapshots.
|
|
12
|
-
* Parsing and policy remain internal seams used by the engine and direct tests.
|
|
13
|
-
*
|
|
14
|
-
* ## Deletion test
|
|
15
|
-
*
|
|
16
|
-
* This Module earns its seam: deleting it would force the Vite Adapter to
|
|
17
|
-
* re-own PostCSS parsing, authored/transformed reconciliation, declaration
|
|
18
|
-
* identity and ordering, project/package/generated provenance, contribution
|
|
19
|
-
* merging, structured diagnostics, and the generation fingerprint that
|
|
20
|
-
* `BrowserTokenKnowledge` uses to refresh inspection sessions. The Adapter
|
|
21
|
-
* would also have to re-solve the determinism/no-op guarantees that keep
|
|
22
|
-
* equivalent HMR event batches from churning the snapshot.
|
|
23
|
-
*/
|
|
24
1
|
export { createTokenInventory } from "./inventory.js";
|
|
25
2
|
export type { TokenInventory } from "./inventory.js";
|
|
26
3
|
export type { ArtifactProvenance, ArtifactStage, TokenDefinitionRelabelling, ArtifactDiagnosticInput, InventoryContribution, InventoryDiagnostic, InventoryOrderEvidence, InventorySnapshot, InventoryTokenDeclaration, InventoryTokenDefinition, StylesheetArtifact, TokenContribution, } from "./types.js";
|
|
@@ -1,24 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `nudge-ui/css/token-inventory` — Node/build-time stylesheet parsing and
|
|
3
|
-
* aggregation.
|
|
4
|
-
*
|
|
5
|
-
* This subpath is intentionally NOT browser-safe (see the import-graph test):
|
|
6
|
-
* importing it pulls PostCSS into the consumer. Node consumers use it directly
|
|
7
|
-
* through `nudge-ui/css/token-inventory`; the root `nudge-ui/css`
|
|
8
|
-
* entry stays browser-safe and never re-exports this module.
|
|
9
|
-
*
|
|
10
|
-
* The deep Interface is `createTokenInventory()` — feed ordered stylesheet
|
|
11
|
-
* artifacts and Adapter literal tokens, read immutable deterministic snapshots.
|
|
12
|
-
* Parsing and policy remain internal seams used by the engine and direct tests.
|
|
13
|
-
*
|
|
14
|
-
* ## Deletion test
|
|
15
|
-
*
|
|
16
|
-
* This Module earns its seam: deleting it would force the Vite Adapter to
|
|
17
|
-
* re-own PostCSS parsing, authored/transformed reconciliation, declaration
|
|
18
|
-
* identity and ordering, project/package/generated provenance, contribution
|
|
19
|
-
* merging, structured diagnostics, and the generation fingerprint that
|
|
20
|
-
* `BrowserTokenKnowledge` uses to refresh inspection sessions. The Adapter
|
|
21
|
-
* would also have to re-solve the determinism/no-op guarantees that keep
|
|
22
|
-
* equivalent HMR event batches from churning the snapshot.
|
|
23
|
-
*/
|
|
24
1
|
export { createTokenInventory } from "./inventory.js";
|