nudge-ui 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +66 -0
- package/bin/nudge-ui.mjs +7 -0
- package/dist/LICENSE +21 -0
- package/dist/client.mjs +261 -0
- package/dist/compiler/ast.d.ts +18 -0
- package/dist/compiler/ast.js +75 -0
- package/dist/compiler/componentContractTypes.d.ts +19 -0
- package/dist/compiler/componentContractTypes.js +1 -0
- package/dist/compiler/componentContracts.d.ts +2 -0
- package/dist/compiler/componentContracts.js +260 -0
- package/dist/compiler/componentInstrumentation.d.ts +32 -0
- package/dist/compiler/componentInstrumentation.js +140 -0
- package/dist/compiler/componentPolicyResolution.d.ts +71 -0
- package/dist/compiler/componentPolicyResolution.js +388 -0
- package/dist/compiler/index.d.ts +9 -0
- package/dist/compiler/index.js +9 -0
- package/dist/compiler/packageComponentContracts.d.ts +32 -0
- package/dist/compiler/packageComponentContracts.js +308 -0
- package/dist/compiler/reactComponentProtocols.d.ts +145 -0
- package/dist/compiler/reactComponentProtocols.js +47 -0
- package/dist/compiler/reactIdentity.d.ts +15 -0
- package/dist/compiler/reactIdentity.js +339 -0
- package/dist/compiler/sourcePaths.d.ts +12 -0
- package/dist/compiler/sourcePaths.js +27 -0
- package/dist/css/dialects/index.d.ts +62 -0
- package/dist/css/dialects/index.js +103 -0
- package/dist/css/dialects/tailwind.d.ts +46 -0
- package/dist/css/dialects/tailwind.js +119 -0
- package/dist/css/dialects/vanillaExtract.d.ts +20 -0
- package/dist/css/dialects/vanillaExtract.js +32 -0
- package/dist/css/index.d.ts +10 -0
- package/dist/css/index.js +10 -0
- package/dist/css/model/index.d.ts +190 -0
- package/dist/css/model/index.js +10 -0
- package/dist/css/token-inventory/index.d.ts +26 -0
- package/dist/css/token-inventory/index.js +24 -0
- package/dist/css/token-inventory/inventory.d.ts +8 -0
- package/dist/css/token-inventory/inventory.js +421 -0
- package/dist/css/token-inventory/parseStylesheet.d.ts +16 -0
- package/dist/css/token-inventory/parseStylesheet.js +155 -0
- package/dist/css/token-inventory/policy.d.ts +47 -0
- package/dist/css/token-inventory/policy.js +50 -0
- package/dist/css/token-inventory/types.d.ts +97 -0
- package/dist/css/token-inventory/types.js +1 -0
- package/dist/css/value-semantics/borderSemantics.d.ts +28 -0
- package/dist/css/value-semantics/borderSemantics.js +91 -0
- package/dist/css/value-semantics/boxSemantics.d.ts +37 -0
- package/dist/css/value-semantics/boxSemantics.js +71 -0
- package/dist/css/value-semantics/colorSemantics.d.ts +99 -0
- package/dist/css/value-semantics/colorSemantics.js +526 -0
- package/dist/css/value-semantics/cssSyntax.d.ts +19 -0
- package/dist/css/value-semantics/cssSyntax.js +111 -0
- package/dist/css/value-semantics/fontSemantics.d.ts +35 -0
- package/dist/css/value-semantics/fontSemantics.js +131 -0
- package/dist/css/value-semantics/index.d.ts +20 -0
- package/dist/css/value-semantics/index.js +15 -0
- package/dist/css/value-semantics/propertyPolicy.d.ts +118 -0
- package/dist/css/value-semantics/propertyPolicy.js +356 -0
- package/dist/css/value-semantics/stringMaps.d.ts +2 -0
- package/dist/css/value-semantics/stringMaps.js +1 -0
- package/dist/css/value-semantics/structuredValues.d.ts +64 -0
- package/dist/css/value-semantics/structuredValues.js +250 -0
- package/dist/css/value-semantics/tokenInterpretation.d.ts +90 -0
- package/dist/css/value-semantics/tokenInterpretation.js +193 -0
- package/dist/css/virtual-design-tokens.d.ts +17 -0
- package/dist/hosts/astro/astroRuntimeConfig.d.ts +12 -0
- package/dist/hosts/astro/astroRuntimeConfig.js +26 -0
- package/dist/hosts/astro/clientAsset.d.ts +12 -0
- package/dist/hosts/astro/clientAsset.js +51 -0
- package/dist/hosts/astro/clientTransport.d.ts +3 -0
- package/dist/hosts/astro/clientTransport.js +57 -0
- package/dist/hosts/astro/index.d.ts +3 -0
- package/dist/hosts/astro/index.js +2 -0
- package/dist/hosts/astro/integration.d.ts +35 -0
- package/dist/hosts/astro/integration.js +96 -0
- package/dist/hosts/astro/middleware.d.ts +13 -0
- package/dist/hosts/astro/middleware.js +22 -0
- package/dist/hosts/astro/projectContext.d.ts +11 -0
- package/dist/hosts/astro/projectContext.js +34 -0
- package/dist/hosts/astro/responseInstrumentation.d.ts +41 -0
- package/dist/hosts/astro/responseInstrumentation.js +80 -0
- package/dist/hosts/next/index.d.ts +4 -0
- package/dist/hosts/next/index.js +7 -0
- package/dist/hosts/next/loader.d.ts +66 -0
- package/dist/hosts/next/loader.js +346 -0
- package/dist/hosts/next/loaders/identity-loader.cjs +228257 -0
- package/dist/hosts/next/loaders/loader-plugin.cjs +228257 -0
- package/dist/hosts/next/manifest.d.ts +38 -0
- package/dist/hosts/next/manifest.js +30 -0
- package/dist/hosts/next/mount.d.ts +12 -0
- package/dist/hosts/next/mount.js +23 -0
- package/dist/hosts/next/repositoryScope.d.ts +20 -0
- package/dist/hosts/next/repositoryScope.js +33 -0
- package/dist/hosts/next/sidecar.d.ts +27 -0
- package/dist/hosts/next/sidecar.js +526 -0
- package/dist/hosts/next/wrapper.d.ts +67 -0
- package/dist/hosts/next/wrapper.js +310 -0
- package/dist/hosts/static/cli.d.ts +12 -0
- package/dist/hosts/static/cli.js +77 -0
- package/dist/hosts/static/html/bootstrap.d.ts +27 -0
- package/dist/hosts/static/html/bootstrap.js +93 -0
- package/dist/hosts/static/index.d.ts +4 -0
- package/dist/hosts/static/index.js +4 -0
- package/dist/hosts/static/manifest.d.ts +18 -0
- package/dist/hosts/static/manifest.js +51 -0
- package/dist/hosts/static/server.d.ts +72 -0
- package/dist/hosts/static/server.js +554 -0
- package/dist/hosts/vite/index.d.ts +20 -0
- package/dist/hosts/vite/index.js +48 -0
- package/dist/hosts/vite/react.d.ts +67 -0
- package/dist/hosts/vite/react.js +231 -0
- package/dist/hosts/vite/tokens/activeStylesheets.d.ts +28 -0
- package/dist/hosts/vite/tokens/activeStylesheets.js +70 -0
- package/dist/hosts/vite/tokens/fileMap.d.ts +2 -0
- package/dist/hosts/vite/tokens/fileMap.js +1 -0
- package/dist/hosts/vite/tokens/viteStylesheetArtifacts.d.ts +46 -0
- package/dist/hosts/vite/tokens/viteStylesheetArtifacts.js +104 -0
- package/dist/hosts/vite/virtual/design-tokens.d.ts +9 -0
- package/dist/hosts/vite/virtual/design-tokens.js +7 -0
- package/dist/hosts/vite/virtual-design-tokens.d.ts +1 -0
- package/dist/hosts/vite/vite.d.ts +62 -0
- package/dist/hosts/vite/vite.js +854 -0
- package/dist/html/dom.d.ts +13 -0
- package/dist/html/dom.js +46 -0
- package/dist/html/identity.d.ts +40 -0
- package/dist/html/identity.js +196 -0
- package/dist/html/insertions.d.ts +26 -0
- package/dist/html/insertions.js +59 -0
- package/dist/inspector/agent/McpConnectionDialog.d.ts +26 -0
- package/dist/inspector/agent/McpConnectionDialog.js +135 -0
- package/dist/inspector/agent/client.d.ts +98 -0
- package/dist/inspector/agent/client.js +728 -0
- package/dist/inspector/agent/connectionStatus.d.ts +13 -0
- package/dist/inspector/agent/connectionStatus.js +35 -0
- package/dist/inspector/agent/httpTransport.d.ts +21 -0
- package/dist/inspector/agent/httpTransport.js +347 -0
- package/dist/inspector/agent/protocol.d.ts +95 -0
- package/dist/inspector/agent/protocol.js +9 -0
- package/dist/inspector/agent/verification.d.ts +39 -0
- package/dist/inspector/agent/verification.js +207 -0
- package/dist/inspector/canvas/CanvasCard.d.ts +10 -0
- package/dist/inspector/canvas/CanvasCard.js +275 -0
- package/dist/inspector/canvas/CanvasElementOverlay.d.ts +2 -0
- package/dist/inspector/canvas/CanvasElementOverlay.js +301 -0
- package/dist/inspector/canvas/CanvasWorkspace.d.ts +2 -0
- package/dist/inspector/canvas/CanvasWorkspace.js +301 -0
- package/dist/inspector/canvas/LockedWorkspaceNotice.d.ts +6 -0
- package/dist/inspector/canvas/LockedWorkspaceNotice.js +17 -0
- package/dist/inspector/canvas/StaleChangeIndicator.d.ts +7 -0
- package/dist/inspector/canvas/StaleChangeIndicator.js +43 -0
- package/dist/inspector/canvas/agentPresentation.d.ts +87 -0
- package/dist/inspector/canvas/agentPresentation.js +421 -0
- package/dist/inspector/canvas/canvasGestures.d.ts +12 -0
- package/dist/inspector/canvas/canvasGestures.js +21 -0
- package/dist/inspector/canvas/canvasStore.d.ts +108 -0
- package/dist/inspector/canvas/canvasStore.js +448 -0
- package/dist/inspector/canvas/frameProtocol.d.ts +231 -0
- package/dist/inspector/canvas/frameProtocol.js +165 -0
- package/dist/inspector/canvas/linkEligibility.d.ts +8 -0
- package/dist/inspector/canvas/linkEligibility.js +68 -0
- package/dist/inspector/canvas/measurementProjection.d.ts +8 -0
- package/dist/inspector/canvas/measurementProjection.js +16 -0
- package/dist/inspector/canvas/normalizeUrl.d.ts +7 -0
- package/dist/inspector/canvas/normalizeUrl.js +27 -0
- package/dist/inspector/canvas/projection.d.ts +41 -0
- package/dist/inspector/canvas/projection.js +232 -0
- package/dist/inspector/canvas/rendererBootstrap.d.ts +4 -0
- package/dist/inspector/canvas/rendererBootstrap.js +410 -0
- package/dist/inspector/canvas/rendererCidIndex.d.ts +11 -0
- package/dist/inspector/canvas/rendererCidIndex.js +21 -0
- package/dist/inspector/canvas/rendererElementSelector.d.ts +2 -0
- package/dist/inspector/canvas/rendererElementSelector.js +378 -0
- package/dist/inspector/canvas/rendererSelectionProxy.d.ts +2 -0
- package/dist/inspector/canvas/rendererSelectionProxy.js +61 -0
- package/dist/inspector/canvas/rendererStylesheet.d.ts +16 -0
- package/dist/inspector/canvas/rendererStylesheet.js +221 -0
- package/dist/inspector/canvas/resizeHandleScale.d.ts +13 -0
- package/dist/inspector/canvas/resizeHandleScale.js +20 -0
- package/dist/inspector/canvas/roleDetection.d.ts +5 -0
- package/dist/inspector/canvas/roleDetection.js +21 -0
- package/dist/inspector/canvas/sessionStore.d.ts +71 -0
- package/dist/inspector/canvas/sessionStore.js +453 -0
- package/dist/inspector/canvas/staleChangeDetector.d.ts +11 -0
- package/dist/inspector/canvas/staleChangeDetector.js +217 -0
- package/dist/inspector/canvas/toolbarScale.d.ts +7 -0
- package/dist/inspector/canvas/toolbarScale.js +11 -0
- package/dist/inspector/canvas/workspaceLease.d.ts +26 -0
- package/dist/inspector/canvas/workspaceLease.js +214 -0
- package/dist/inspector/changes/changesLog.d.ts +46 -0
- package/dist/inspector/changes/changesLog.js +209 -0
- package/dist/inspector/changes/codecs.d.ts +98 -0
- package/dist/inspector/changes/codecs.js +389 -0
- package/dist/inspector/changes/editModel.d.ts +74 -0
- package/dist/inspector/changes/editModel.js +120 -0
- package/dist/inspector/changes/managedStyleProjection.d.ts +6 -0
- package/dist/inspector/changes/managedStyleProjection.js +109 -0
- package/dist/inspector/changes/model.d.ts +13 -0
- package/dist/inspector/changes/model.js +163 -0
- package/dist/inspector/changes/presentation.d.ts +14 -0
- package/dist/inspector/changes/presentation.js +81 -0
- package/dist/inspector/changes/previewDiagnostics.d.ts +39 -0
- package/dist/inspector/changes/previewDiagnostics.js +172 -0
- package/dist/inspector/changes/structuralTypes.d.ts +35 -0
- package/dist/inspector/changes/structuralTypes.js +1 -0
- package/dist/inspector/changes/types.d.ts +76 -0
- package/dist/inspector/changes/types.js +16 -0
- package/dist/inspector/changes/workspaceChanges.d.ts +43 -0
- package/dist/inspector/changes/workspaceChanges.js +239 -0
- package/dist/inspector/clientManifest.d.ts +24 -0
- package/dist/inspector/clientManifest.js +69 -0
- package/dist/inspector/componentSemantics/ComponentPropsSection.d.ts +5 -0
- package/dist/inspector/componentSemantics/ComponentPropsSection.js +44 -0
- package/dist/inspector/componentSemantics/adapterRegistry.d.ts +11 -0
- package/dist/inspector/componentSemantics/adapterRegistry.js +75 -0
- package/dist/inspector/componentSemantics/boundaries.d.ts +2 -0
- package/dist/inspector/componentSemantics/boundaries.js +10 -0
- package/dist/inspector/componentSemantics/changeAction.d.ts +3 -0
- package/dist/inspector/componentSemantics/changeAction.js +6 -0
- package/dist/inspector/componentSemantics/changeModel.d.ts +8 -0
- package/dist/inspector/componentSemantics/changeModel.js +60 -0
- package/dist/inspector/componentSemantics/index.d.ts +4 -0
- package/dist/inspector/componentSemantics/index.js +2 -0
- package/dist/inspector/componentSemantics/reactRuntime.d.ts +10 -0
- package/dist/inspector/componentSemantics/reactRuntime.js +186 -0
- package/dist/inspector/componentSemantics/runtimeBridge.d.ts +25 -0
- package/dist/inspector/componentSemantics/runtimeBridge.js +161 -0
- package/dist/inspector/componentSemantics/runtimeTypes.d.ts +2 -0
- package/dist/inspector/componentSemantics/runtimeTypes.js +1 -0
- package/dist/inspector/componentSemantics/textBinding.d.ts +69 -0
- package/dist/inspector/componentSemantics/textBinding.js +514 -0
- package/dist/inspector/componentSemantics/types.d.ts +96 -0
- package/dist/inspector/componentSemantics/types.js +5 -0
- package/dist/inspector/conformance/borderCases.d.ts +7 -0
- package/dist/inspector/conformance/borderCases.js +428 -0
- package/dist/inspector/conformance/colorCases.d.ts +8 -0
- package/dist/inspector/conformance/colorCases.js +470 -0
- package/dist/inspector/conformance/fixture.d.ts +68 -0
- package/dist/inspector/conformance/fixture.js +153 -0
- package/dist/inspector/conformance/projection.d.ts +2 -0
- package/dist/inspector/conformance/projection.js +3 -0
- package/dist/inspector/conformance/spacingCases.d.ts +6 -0
- package/dist/inspector/conformance/spacingCases.js +417 -0
- package/dist/inspector/conformance/typographyCases.d.ts +7 -0
- package/dist/inspector/conformance/typographyCases.js +174 -0
- package/dist/inspector/editScope.d.ts +4 -0
- package/dist/inspector/editScope.js +5 -0
- package/dist/inspector/index.d.ts +20 -0
- package/dist/inspector/index.js +236 -0
- package/dist/inspector/inline-text/inlineTextEditor.d.ts +74 -0
- package/dist/inspector/inline-text/inlineTextEditor.js +1207 -0
- package/dist/inspector/inline-text/inlineTextLifecycle.d.ts +2 -0
- package/dist/inspector/inline-text/inlineTextLifecycle.js +17 -0
- package/dist/inspector/inline-text/textChangeBoundary.d.ts +6 -0
- package/dist/inspector/inline-text/textChangeBoundary.js +1 -0
- package/dist/inspector/inspection/bridge.d.ts +72 -0
- package/dist/inspector/inspection/bridge.js +134 -0
- package/dist/inspector/inspection/browserCssInspection.d.ts +74 -0
- package/dist/inspector/inspection/browserCssInspection.js +317 -0
- package/dist/inspector/inspection/browserCssInspectionRegistry.d.ts +12 -0
- package/dist/inspector/inspection/browserCssInspectionRegistry.js +66 -0
- package/dist/inspector/inspection/selectionProperty.d.ts +32 -0
- package/dist/inspector/inspection/selectionProperty.js +33 -0
- package/dist/inspector/inspection/useBrowserCssInspection.d.ts +20 -0
- package/dist/inspector/inspection/useBrowserCssInspection.js +159 -0
- package/dist/inspector/overlay/DropGuideOverlay.d.ts +17 -0
- package/dist/inspector/overlay/DropGuideOverlay.js +17 -0
- package/dist/inspector/overlay/InspectorOverlay.d.ts +5 -0
- package/dist/inspector/overlay/InspectorOverlay.js +328 -0
- package/dist/inspector/overlay/MeasurementGuideOverlay.d.ts +19 -0
- package/dist/inspector/overlay/MeasurementGuideOverlay.js +40 -0
- package/dist/inspector/overlay/clickPolicy.d.ts +7 -0
- package/dist/inspector/overlay/clickPolicy.js +13 -0
- package/dist/inspector/overlay/dropGuide.d.ts +22 -0
- package/dist/inspector/overlay/dropGuide.js +48 -0
- package/dist/inspector/overlay/elementSelector.d.ts +1 -0
- package/dist/inspector/overlay/elementSelector.js +100 -0
- package/dist/inspector/overlay/frameThrottle.d.ts +10 -0
- package/dist/inspector/overlay/frameThrottle.js +38 -0
- package/dist/inspector/overlay/interactionStyles.d.ts +3 -0
- package/dist/inspector/overlay/interactionStyles.js +70 -0
- package/dist/inspector/overlay/measurementGeometry.d.ts +25 -0
- package/dist/inspector/overlay/measurementGeometry.js +104 -0
- package/dist/inspector/overlay/overlayGeometry.d.ts +40 -0
- package/dist/inspector/overlay/overlayGeometry.js +59 -0
- package/dist/inspector/overlay/selectedGeometry.d.ts +7 -0
- package/dist/inspector/overlay/selectedGeometry.js +51 -0
- package/dist/inspector/overlay/structuralGestures.d.ts +28 -0
- package/dist/inspector/overlay/structuralGestures.js +180 -0
- package/dist/inspector/projection/cssEscapes.d.ts +3 -0
- package/dist/inspector/projection/cssEscapes.js +20 -0
- package/dist/inspector/projection/managedStylesheet.d.ts +33 -0
- package/dist/inspector/projection/managedStylesheet.js +240 -0
- package/dist/inspector/projection/renderedInstance.d.ts +56 -0
- package/dist/inspector/projection/renderedInstance.js +306 -0
- package/dist/inspector/projection/structuralProjection.d.ts +93 -0
- package/dist/inspector/projection/structuralProjection.js +560 -0
- package/dist/inspector/projection/structuralProjectionBoundary.d.ts +5 -0
- package/dist/inspector/projection/structuralProjectionBoundary.js +65 -0
- package/dist/inspector/projection/textProjection.d.ts +53 -0
- package/dist/inspector/projection/textProjection.js +705 -0
- package/dist/inspector/projection/workspaceProjection.d.ts +43 -0
- package/dist/inspector/projection/workspaceProjection.js +58 -0
- package/dist/inspector/prompt/PromptSettingsDialog.d.ts +15 -0
- package/dist/inspector/prompt/PromptSettingsDialog.js +17 -0
- package/dist/inspector/prompt/clipboardHandoff.d.ts +34 -0
- package/dist/inspector/prompt/clipboardHandoff.js +212 -0
- package/dist/inspector/prompt/copyToClipboard.d.ts +1 -0
- package/dist/inspector/prompt/copyToClipboard.js +34 -0
- package/dist/inspector/prompt/detectFramework.d.ts +6 -0
- package/dist/inspector/prompt/detectFramework.js +4 -0
- package/dist/inspector/prompt/generatePrompt.d.ts +7 -0
- package/dist/inspector/prompt/generatePrompt.js +391 -0
- package/dist/inspector/prompt/promptSettings.d.ts +8 -0
- package/dist/inspector/prompt/promptSettings.js +28 -0
- package/dist/inspector/runtime/devFlag.d.ts +28 -0
- package/dist/inspector/runtime/devFlag.js +50 -0
- package/dist/inspector/runtime/documentStylesheetOrder.d.ts +19 -0
- package/dist/inspector/runtime/documentStylesheetOrder.js +89 -0
- package/dist/inspector/runtime/domRealm.d.ts +4 -0
- package/dist/inspector/runtime/domRealm.js +11 -0
- package/dist/inspector/runtime/runtimeConfig.d.ts +119 -0
- package/dist/inspector/runtime/runtimeConfig.js +276 -0
- package/dist/inspector/runtime/staticHtmlRuntimeIdentity.d.ts +32 -0
- package/dist/inspector/runtime/staticHtmlRuntimeIdentity.js +149 -0
- package/dist/inspector/runtime/useRuntimeConfig.d.ts +10 -0
- package/dist/inspector/runtime/useRuntimeConfig.js +13 -0
- package/dist/inspector/selection/editScope.d.ts +32 -0
- package/dist/inspector/selection/editScope.js +140 -0
- package/dist/inspector/selection/editTarget.d.ts +8 -0
- package/dist/inspector/selection/editTarget.js +11 -0
- package/dist/inspector/selection/hierarchy.d.ts +7 -0
- package/dist/inspector/selection/hierarchy.js +42 -0
- package/dist/inspector/selection/resolveSelection.d.ts +10 -0
- package/dist/inspector/selection/resolveSelection.js +60 -0
- package/dist/inspector/selection/selectionStore.d.ts +41 -0
- package/dist/inspector/selection/selectionStore.js +262 -0
- package/dist/inspector/selection/selectionTarget.d.ts +5 -0
- package/dist/inspector/selection/selectionTarget.js +50 -0
- package/dist/inspector/selection/sourceSite.d.ts +2 -0
- package/dist/inspector/selection/sourceSite.js +12 -0
- package/dist/inspector/selection/styleSelection.d.ts +22 -0
- package/dist/inspector/selection/styleSelection.js +104 -0
- package/dist/inspector/session/index.d.ts +3 -0
- package/dist/inspector/session/index.js +2 -0
- package/dist/inspector/session/lifecycle.d.ts +22 -0
- package/dist/inspector/session/lifecycle.js +63 -0
- package/dist/inspector/session/sessionContext.d.ts +21 -0
- package/dist/inspector/session/sessionContext.js +28 -0
- package/dist/inspector/session/sessionFactory.d.ts +29 -0
- package/dist/inspector/session/sessionFactory.js +73 -0
- package/dist/inspector/settings/SettingsDialog.d.ts +12 -0
- package/dist/inspector/settings/SettingsDialog.js +46 -0
- package/dist/inspector/shell/AppShell.d.ts +2 -0
- package/dist/inspector/shell/AppShell.js +9 -0
- package/dist/inspector/shell/ChangesLog.d.ts +6 -0
- package/dist/inspector/shell/ChangesLog.js +92 -0
- package/dist/inspector/shell/CopyPromptButton.d.ts +9 -0
- package/dist/inspector/shell/CopyPromptButton.js +159 -0
- package/dist/inspector/shell/DomNavigation.d.ts +8 -0
- package/dist/inspector/shell/DomNavigation.js +30 -0
- package/dist/inspector/shell/EmptyState.d.ts +2 -0
- package/dist/inspector/shell/EmptyState.js +15 -0
- package/dist/inspector/shell/InspectorShell.d.ts +11 -0
- package/dist/inspector/shell/InspectorShell.js +268 -0
- package/dist/inspector/shell/openStore.d.ts +6 -0
- package/dist/inspector/shell/openStore.js +29 -0
- package/dist/inspector/shell/panelLayout.d.ts +2 -0
- package/dist/inspector/shell/panelLayout.js +29 -0
- package/dist/inspector/shell/shortcuts.d.ts +3 -0
- package/dist/inspector/shell/shortcuts.js +25 -0
- package/dist/inspector/shell/stateValue.d.ts +3 -0
- package/dist/inspector/shell/stateValue.js +34 -0
- package/dist/inspector/shell/styleState.d.ts +7 -0
- package/dist/inspector/shell/styleState.js +13 -0
- package/dist/inspector/spacing/projection.d.ts +43 -0
- package/dist/inspector/spacing/projection.js +136 -0
- package/dist/inspector/styleEditors/AppearanceSection.d.ts +13 -0
- package/dist/inspector/styleEditors/AppearanceSection.js +6 -0
- package/dist/inspector/styleEditors/AspectRatioField.d.ts +17 -0
- package/dist/inspector/styleEditors/AspectRatioField.js +10 -0
- package/dist/inspector/styleEditors/BorderEditor.d.ts +13 -0
- package/dist/inspector/styleEditors/BorderEditor.js +295 -0
- package/dist/inspector/styleEditors/BorderRadiusEditor.d.ts +14 -0
- package/dist/inspector/styleEditors/BorderRadiusEditor.js +108 -0
- package/dist/inspector/styleEditors/BoxShadowEditor.d.ts +13 -0
- package/dist/inspector/styleEditors/BoxShadowEditor.js +13 -0
- package/dist/inspector/styleEditors/ColorPicker.d.ts +15 -0
- package/dist/inspector/styleEditors/ColorPicker.js +73 -0
- package/dist/inspector/styleEditors/GapField.d.ts +17 -0
- package/dist/inspector/styleEditors/GapField.js +12 -0
- package/dist/inspector/styleEditors/GridChildSection.d.ts +14 -0
- package/dist/inspector/styleEditors/GridChildSection.js +91 -0
- package/dist/inspector/styleEditors/GridPicker.d.ts +13 -0
- package/dist/inspector/styleEditors/GridPicker.js +179 -0
- package/dist/inspector/styleEditors/GridSection.d.ts +17 -0
- package/dist/inspector/styleEditors/GridSection.js +27 -0
- package/dist/inspector/styleEditors/GridValueField.d.ts +17 -0
- package/dist/inspector/styleEditors/GridValueField.js +70 -0
- package/dist/inspector/styleEditors/InsetSection.d.ts +15 -0
- package/dist/inspector/styleEditors/InsetSection.js +15 -0
- package/dist/inspector/styleEditors/LayoutBlockedIndicator.d.ts +6 -0
- package/dist/inspector/styleEditors/LayoutBlockedIndicator.js +6 -0
- package/dist/inspector/styleEditors/LayoutComboField.d.ts +18 -0
- package/dist/inspector/styleEditors/LayoutComboField.js +138 -0
- package/dist/inspector/styleEditors/LayoutDropdown.d.ts +14 -0
- package/dist/inspector/styleEditors/LayoutDropdown.js +34 -0
- package/dist/inspector/styleEditors/LayoutSection.d.ts +13 -0
- package/dist/inspector/styleEditors/LayoutSection.js +342 -0
- package/dist/inspector/styleEditors/OpacityEditor.d.ts +13 -0
- package/dist/inspector/styleEditors/OpacityEditor.js +34 -0
- package/dist/inspector/styleEditors/PositionInsets.d.ts +15 -0
- package/dist/inspector/styleEditors/PositionInsets.js +12 -0
- package/dist/inspector/styleEditors/SpacingBox.d.ts +29 -0
- package/dist/inspector/styleEditors/SpacingBox.js +189 -0
- package/dist/inspector/styleEditors/Typography.d.ts +13 -0
- package/dist/inspector/styleEditors/Typography.js +137 -0
- package/dist/inspector/styleEditors/completeCssValue.d.ts +8 -0
- package/dist/inspector/styleEditors/completeCssValue.js +34 -0
- package/dist/inspector/styleEditors/gridChildModel.d.ts +74 -0
- package/dist/inspector/styleEditors/gridChildModel.js +138 -0
- package/dist/inspector/styleEditors/layoutValue.d.ts +24 -0
- package/dist/inspector/styleEditors/layoutValue.js +103 -0
- package/dist/inspector/styleEditors/nudgeValue.d.ts +8 -0
- package/dist/inspector/styleEditors/nudgeValue.js +71 -0
- package/dist/inspector/styleEditors/rowLookup.d.ts +11 -0
- package/dist/inspector/styleEditors/rowLookup.js +13 -0
- package/dist/inspector/styleEditors/stringRecord.d.ts +4 -0
- package/dist/inspector/styleEditors/stringRecord.js +1 -0
- package/dist/inspector/styleEditors/valuePolicy.d.ts +20 -0
- package/dist/inspector/styleEditors/valuePolicy.js +82 -0
- package/dist/inspector/testing.d.ts +10 -0
- package/dist/inspector/testing.js +9 -0
- package/dist/inspector/tokens/TokenChip.d.ts +24 -0
- package/dist/inspector/tokens/TokenChip.js +23 -0
- package/dist/inspector/tokens/TokenDropdown.d.ts +13 -0
- package/dist/inspector/tokens/TokenDropdown.js +59 -0
- package/dist/inspector/tokens/TokenField.d.ts +68 -0
- package/dist/inspector/tokens/TokenField.js +485 -0
- package/dist/inspector/tokens/TokenLabel.d.ts +7 -0
- package/dist/inspector/tokens/TokenLabel.js +23 -0
- package/dist/inspector/tokens/TokensPanel.d.ts +5 -0
- package/dist/inspector/tokens/TokensPanel.js +47 -0
- package/dist/inspector/tokens/catalog.d.ts +51 -0
- package/dist/inspector/tokens/catalog.js +184 -0
- package/dist/inspector/tokens/editActions.d.ts +35 -0
- package/dist/inspector/tokens/editActions.js +164 -0
- package/dist/inspector/tokens/resolution/cascade.d.ts +14 -0
- package/dist/inspector/tokens/resolution/cascade.js +31 -0
- package/dist/inspector/tokens/resolution/cssomCollector.d.ts +43 -0
- package/dist/inspector/tokens/resolution/cssomCollector.js +528 -0
- package/dist/inspector/tokens/resolution/selectorSemantics.d.ts +12 -0
- package/dist/inspector/tokens/resolution/selectorSemantics.js +106 -0
- package/dist/inspector/tokens/resolution.d.ts +56 -0
- package/dist/inspector/tokens/resolution.js +1401 -0
- package/dist/inspector/tokens/tokenEdits.d.ts +3 -0
- package/dist/inspector/tokens/tokenEdits.js +22 -0
- package/dist/inspector/tokens/valueSemanticsAdapter.d.ts +6 -0
- package/dist/inspector/tokens/valueSemanticsAdapter.js +68 -0
- package/dist/inspector/ui/AtRuleContext.d.ts +18 -0
- package/dist/inspector/ui/AtRuleContext.js +54 -0
- package/dist/inspector/ui/Button.d.ts +9 -0
- package/dist/inspector/ui/Button.js +4 -0
- package/dist/inspector/ui/ColorSwatch.d.ts +7 -0
- package/dist/inspector/ui/ColorSwatch.js +6 -0
- package/dist/inspector/ui/ControlSurface.d.ts +14 -0
- package/dist/inspector/ui/ControlSurface.js +10 -0
- package/dist/inspector/ui/FieldRow.d.ts +14 -0
- package/dist/inspector/ui/FieldRow.js +15 -0
- package/dist/inspector/ui/IconButton.d.ts +14 -0
- package/dist/inspector/ui/IconButton.js +5 -0
- package/dist/inspector/ui/InspectorPopover.d.ts +17 -0
- package/dist/inspector/ui/InspectorPopover.js +13 -0
- package/dist/inspector/ui/PopoverListbox.d.ts +37 -0
- package/dist/inspector/ui/PopoverListbox.js +21 -0
- package/dist/inspector/ui/SegmentedControl.d.ts +24 -0
- package/dist/inspector/ui/SegmentedControl.js +16 -0
- package/dist/inspector/ui/Select.d.ts +25 -0
- package/dist/inspector/ui/Select.js +56 -0
- package/dist/inspector/ui/SideValuesField.d.ts +44 -0
- package/dist/inspector/ui/SideValuesField.js +76 -0
- package/dist/inspector/ui/StatusCallout.d.ts +9 -0
- package/dist/inspector/ui/StatusCallout.js +4 -0
- package/dist/inspector/ui/TextInput.d.ts +12 -0
- package/dist/inspector/ui/TextInput.js +5 -0
- package/dist/inspector/ui/ToggleButton.d.ts +11 -0
- package/dist/inspector/ui/ToggleButton.js +6 -0
- package/dist/inspector/ui/assets/grid.svg +14 -0
- package/dist/inspector/ui/css.d.ts +9 -0
- package/dist/inspector/ui/labels.d.ts +1 -0
- package/dist/inspector/ui/labels.js +7 -0
- package/dist/inspector/ui/styles.d.ts +1 -0
- package/dist/inspector/ui/styles.js +68 -0
- package/dist/inspector/virtual-modules.d.ts +7 -0
- package/dist/inspector/vite-env.d.ts +10 -0
- package/dist/internal/agent-protocol.d.ts +232 -0
- package/dist/internal/agent-protocol.js +237 -0
- package/dist/nudge-ui.mjs +15722 -0
- package/dist/project/files.d.ts +19 -0
- package/dist/project/files.js +226 -0
- package/dist/project/identity.d.ts +6 -0
- package/dist/project/identity.js +19 -0
- package/dist/project/pathPolicy.d.ts +8 -0
- package/dist/project/pathPolicy.js +12 -0
- package/dist/project/tokens.d.ts +36 -0
- package/dist/project/tokens.js +223 -0
- package/dist/transport/index.d.ts +8 -0
- package/dist/transport/index.js +8 -0
- package/dist/transport/routes.d.ts +13 -0
- package/dist/transport/routes.js +16 -0
- package/package.json +137 -0
|
@@ -0,0 +1,119 @@
|
|
|
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
|
+
function isRecord(value) {
|
|
10
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
11
|
+
}
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
// Tailwind v4
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
/** Markers proving a stylesheet participates in Tailwind v4. */
|
|
16
|
+
export function detectTailwindV4(css) {
|
|
17
|
+
return /@(?:import\s+["']tailwindcss|theme\b)/i.test(css) || /--tw-[\w-]+/.test(css);
|
|
18
|
+
}
|
|
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
|
+
*/
|
|
24
|
+
export function tailwindV4Relabelling() {
|
|
25
|
+
return {
|
|
26
|
+
id: "tailwind-v4-naming",
|
|
27
|
+
order: 0,
|
|
28
|
+
relabellings: [
|
|
29
|
+
{ adapter: "tailwind-v4", fromOrigin: "project", origin: "project", editable: true },
|
|
30
|
+
{ adapter: "tailwind-v4", fromOrigin: "generated", origin: "framework", editable: false },
|
|
31
|
+
],
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
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
|
+
*/
|
|
40
|
+
export function readTailwindV4AlphaUtility(className) {
|
|
41
|
+
const match = V4_ALPHA_UTILITY.exec(className.trim());
|
|
42
|
+
const color = match?.[1];
|
|
43
|
+
const rawAlpha = match?.[2];
|
|
44
|
+
if (color === undefined || rawAlpha === undefined)
|
|
45
|
+
return null;
|
|
46
|
+
const numeric = Number(rawAlpha.replace(/%$/, ""));
|
|
47
|
+
if (!Number.isFinite(numeric) || numeric < 0 || numeric > 100)
|
|
48
|
+
return null;
|
|
49
|
+
return { utility: className, baseName: `--color-${color}`, alpha: `${numeric}%` };
|
|
50
|
+
}
|
|
51
|
+
/** The CSS Tailwind v4 emits for an alpha utility. */
|
|
52
|
+
export function tailwindV4AlphaExpression(baseCssName, alpha) {
|
|
53
|
+
return `color-mix(in oklab, var(${baseCssName}) ${alpha}, transparent)`;
|
|
54
|
+
}
|
|
55
|
+
/** Distinguishes a v3 config object from a v4 one, which has no `theme` key. */
|
|
56
|
+
export function isTailwindV3Config(config) {
|
|
57
|
+
return isRecord(config)
|
|
58
|
+
&& isRecord(config.theme)
|
|
59
|
+
&& !("contentSource" in config)
|
|
60
|
+
&& !("__tailwindVersion" in config && config.__tailwindVersion === 4);
|
|
61
|
+
}
|
|
62
|
+
const TOKEN_SECTIONS = [
|
|
63
|
+
"colors",
|
|
64
|
+
"spacing",
|
|
65
|
+
"borderWidth",
|
|
66
|
+
"borderRadius",
|
|
67
|
+
"fontSize",
|
|
68
|
+
"fontWeight",
|
|
69
|
+
"lineHeight",
|
|
70
|
+
"letterSpacing",
|
|
71
|
+
];
|
|
72
|
+
function mergeSection(base, extension) {
|
|
73
|
+
const merged = { ...base };
|
|
74
|
+
for (const [key, value] of Object.entries(extension)) {
|
|
75
|
+
const existing = merged[key];
|
|
76
|
+
merged[key] = isRecord(existing) && isRecord(value) ? mergeSection(existing, value) : value;
|
|
77
|
+
}
|
|
78
|
+
return merged;
|
|
79
|
+
}
|
|
80
|
+
function leafValue(value) {
|
|
81
|
+
if (typeof value === "string" || typeof value === "number")
|
|
82
|
+
return String(value);
|
|
83
|
+
// A font-size may be a [size, lineHeight] tuple; the companion belongs to the lineHeight section.
|
|
84
|
+
const first = Array.isArray(value) ? value[0] : undefined;
|
|
85
|
+
if (typeof first === "string" || typeof first === "number")
|
|
86
|
+
return String(first);
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
function sectionEntries(values, section, source, path = []) {
|
|
90
|
+
const entries = [];
|
|
91
|
+
for (const [key, value] of Object.entries(values)) {
|
|
92
|
+
const nextPath = [...path, key];
|
|
93
|
+
const leaf = leafValue(value);
|
|
94
|
+
if (leaf !== null) {
|
|
95
|
+
entries.push({
|
|
96
|
+
name: ["theme", section, ...nextPath].join("."),
|
|
97
|
+
// v3 compiles values into utility rules, so this is a literal, not a custom property.
|
|
98
|
+
value: leaf,
|
|
99
|
+
cssValue: leaf,
|
|
100
|
+
source,
|
|
101
|
+
adapter: "tailwind-v3",
|
|
102
|
+
origin: "project",
|
|
103
|
+
editable: true,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
else if (isRecord(value)) {
|
|
107
|
+
entries.push(...sectionEntries(value, section, source, nextPath));
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return entries;
|
|
111
|
+
}
|
|
112
|
+
/** Flattens a v3 config's theme into token entries, applying `theme.extend`. */
|
|
113
|
+
export function readTailwindV3Config(config, source = "tailwind.config.js") {
|
|
114
|
+
return TOKEN_SECTIONS.flatMap((section) => {
|
|
115
|
+
const base = isRecord(config.theme?.[section]) ? config.theme[section] : {};
|
|
116
|
+
const extend = isRecord(config.theme?.extend?.[section]) ? config.theme.extend[section] : {};
|
|
117
|
+
return sectionEntries(mergeSection(base, extend), section, source);
|
|
118
|
+
});
|
|
119
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
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. */
|
|
8
|
+
export type ThemeContract = Record<string, unknown>;
|
|
9
|
+
export interface ReadThemeContractOptions {
|
|
10
|
+
/** Prefix for generated token paths. Defaults to `theme`. */
|
|
11
|
+
readonly prefix?: string;
|
|
12
|
+
/** Source label recorded on every entry. */
|
|
13
|
+
readonly source: string;
|
|
14
|
+
readonly origin: TokenEntry["origin"];
|
|
15
|
+
readonly editable: boolean;
|
|
16
|
+
/** Omit when the host did not observe the emitted CSS; entries then keep their `var()` reference. */
|
|
17
|
+
readonly cssValues?: Readonly<Record<string, string>>;
|
|
18
|
+
}
|
|
19
|
+
/** Flattens a contract into token entries keyed by their authored path. */
|
|
20
|
+
export declare function readThemeContract(contract: unknown, options: ReadThemeContractOptions): TokenEntry[];
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// Anchored: `var(--border) solid` is a composed style, not a token identity.
|
|
2
|
+
const CONTRACT_REFERENCE = /^var\(\s*(--[\w-]+)(?:\s*,[\s\S]*)?\)$/;
|
|
3
|
+
function isRecord(value) {
|
|
4
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
5
|
+
}
|
|
6
|
+
/** Flattens a contract into token entries keyed by their authored path. */
|
|
7
|
+
export function readThemeContract(contract, options) {
|
|
8
|
+
const entries = [];
|
|
9
|
+
const walk = (value, path) => {
|
|
10
|
+
if (typeof value === "string") {
|
|
11
|
+
const cssName = CONTRACT_REFERENCE.exec(value.trim())?.[1];
|
|
12
|
+
if (cssName === undefined)
|
|
13
|
+
return;
|
|
14
|
+
entries.push({
|
|
15
|
+
name: path.join("."),
|
|
16
|
+
cssName,
|
|
17
|
+
value: options.cssValues?.[cssName] ?? value,
|
|
18
|
+
source: options.source,
|
|
19
|
+
adapter: "vanilla-extract",
|
|
20
|
+
origin: options.origin,
|
|
21
|
+
editable: options.editable,
|
|
22
|
+
});
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (!isRecord(value))
|
|
26
|
+
return;
|
|
27
|
+
for (const [key, child] of Object.entries(value))
|
|
28
|
+
walk(child, [...path, key]);
|
|
29
|
+
};
|
|
30
|
+
walk(contract, [options.prefix ?? "theme"]);
|
|
31
|
+
return entries;
|
|
32
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
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
|
+
export * from "./model/index.js";
|
|
10
|
+
export * from "./value-semantics/index.js";
|
|
@@ -0,0 +1,10 @@
|
|
|
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
|
+
export * from "./model/index.js";
|
|
10
|
+
export * from "./value-semantics/index.js";
|
|
@@ -0,0 +1,190 @@
|
|
|
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
|
+
export type TokenOrigin = "project" | "package" | "framework" | "generated" | "runtime";
|
|
12
|
+
/** How faithfully an authored value can be edited by the inspector. */
|
|
13
|
+
export type EditCapability = "atomic" | "color" | "box-sides" | "structured" | "composite" | "raw";
|
|
14
|
+
export interface TokenReference {
|
|
15
|
+
name: string;
|
|
16
|
+
origin: TokenOrigin;
|
|
17
|
+
}
|
|
18
|
+
export interface ValueModifier {
|
|
19
|
+
kind: "alpha" | "fallback" | "expression";
|
|
20
|
+
value: string;
|
|
21
|
+
}
|
|
22
|
+
export interface ColorOpacity {
|
|
23
|
+
value: string;
|
|
24
|
+
authoredValue: string;
|
|
25
|
+
source: "hex" | "rgb" | "hsl" | "color-mix";
|
|
26
|
+
tokenName: string | null;
|
|
27
|
+
token?: TokenReference;
|
|
28
|
+
}
|
|
29
|
+
/** The effective opacity of an element's `opacity` property. */
|
|
30
|
+
export interface OpacityValue {
|
|
31
|
+
value: string;
|
|
32
|
+
authoredValue: string;
|
|
33
|
+
tokenName: string | null;
|
|
34
|
+
token?: TokenReference;
|
|
35
|
+
/** False when the authored expression cannot be rewritten losslessly. */
|
|
36
|
+
editable: boolean;
|
|
37
|
+
}
|
|
38
|
+
/** UI-relevant color facts derived by value semantics, never by React fields. */
|
|
39
|
+
export interface ColorValueFacts {
|
|
40
|
+
/** The authored or resolved color already carries an alpha channel. */
|
|
41
|
+
hasEmbeddedAlpha: boolean;
|
|
42
|
+
/** The authored color is a compound expression that must remain raw unless separable. */
|
|
43
|
+
isExpression: boolean;
|
|
44
|
+
/** The authored shape can represent an opacity edit without losing meaning. */
|
|
45
|
+
opacityEditable: boolean;
|
|
46
|
+
}
|
|
47
|
+
export interface BorderStructure {
|
|
48
|
+
kind: "border";
|
|
49
|
+
sourceProperty: "border" | "border-top" | "border-right" | "border-bottom" | "border-left";
|
|
50
|
+
width: string;
|
|
51
|
+
style: string;
|
|
52
|
+
color: string;
|
|
53
|
+
colorTokenName: string | null;
|
|
54
|
+
}
|
|
55
|
+
export interface AttributionEvidence {
|
|
56
|
+
selector?: string;
|
|
57
|
+
sourceOrder?: number;
|
|
58
|
+
specificity?: number;
|
|
59
|
+
important?: boolean;
|
|
60
|
+
layer?: string;
|
|
61
|
+
layerOrder?: number;
|
|
62
|
+
inheritedFrom?: string;
|
|
63
|
+
inaccessibleStylesheet?: boolean;
|
|
64
|
+
reason: string;
|
|
65
|
+
}
|
|
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
|
+
*/
|
|
71
|
+
export interface TokenEntry {
|
|
72
|
+
name: string;
|
|
73
|
+
value: string;
|
|
74
|
+
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
|
+
*/
|
|
79
|
+
cssValue?: string;
|
|
80
|
+
adapter?: string;
|
|
81
|
+
cssName?: string;
|
|
82
|
+
origin?: TokenOrigin;
|
|
83
|
+
editable?: boolean;
|
|
84
|
+
}
|
|
85
|
+
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
|
+
*/
|
|
90
|
+
export interface TokenContextWrapper {
|
|
91
|
+
kind: TokenContextWrapperKind;
|
|
92
|
+
params: string;
|
|
93
|
+
}
|
|
94
|
+
export interface TokenContext {
|
|
95
|
+
selector?: string;
|
|
96
|
+
wrappers?: TokenContextWrapper[];
|
|
97
|
+
}
|
|
98
|
+
export interface TokenDeclaration {
|
|
99
|
+
id?: string;
|
|
100
|
+
order?: number;
|
|
101
|
+
value: string;
|
|
102
|
+
source: string;
|
|
103
|
+
important: boolean;
|
|
104
|
+
context: TokenContext;
|
|
105
|
+
}
|
|
106
|
+
/** A grouped token with every authored declaration across the project. */
|
|
107
|
+
export interface TokenDefinition {
|
|
108
|
+
cssName: string;
|
|
109
|
+
name: string;
|
|
110
|
+
declarations: TokenDeclaration[];
|
|
111
|
+
cssValue?: string;
|
|
112
|
+
adapter?: string;
|
|
113
|
+
origin?: TokenOrigin;
|
|
114
|
+
editable?: boolean;
|
|
115
|
+
}
|
|
116
|
+
/** Diagnostic codes emitted by token sources and the token inventory Module. */
|
|
117
|
+
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
|
+
export interface TokenCatalogDiagnostic {
|
|
119
|
+
code: TokenCatalogDiagnosticCode;
|
|
120
|
+
message: string;
|
|
121
|
+
module: string;
|
|
122
|
+
exportName?: string;
|
|
123
|
+
}
|
|
124
|
+
/** Custom-property lookup table keyed by name and cssName. */
|
|
125
|
+
export interface TokenTable {
|
|
126
|
+
[varName: string]: TokenEntry;
|
|
127
|
+
}
|
|
128
|
+
export interface StyleDeclaration {
|
|
129
|
+
property: string;
|
|
130
|
+
value: string;
|
|
131
|
+
important?: boolean;
|
|
132
|
+
}
|
|
133
|
+
export type AtRuleKind = "media" | "container" | "supports";
|
|
134
|
+
/** A conditional wrapper retained from CSSOM in source nesting order. */
|
|
135
|
+
export interface AtRuleContext {
|
|
136
|
+
kind: AtRuleKind;
|
|
137
|
+
/** The CSSOM-normalised prelude, without the leading `@kind`. */
|
|
138
|
+
params: string;
|
|
139
|
+
}
|
|
140
|
+
/** A conditional wrapper that participates in a property's source candidates. */
|
|
141
|
+
export interface AtRuleCandidate extends AtRuleContext {
|
|
142
|
+
/** True when this context belongs to the declaration currently winning the cascade. */
|
|
143
|
+
active: boolean;
|
|
144
|
+
}
|
|
145
|
+
export interface MatchedRule {
|
|
146
|
+
selectorText: string;
|
|
147
|
+
declarations: StyleDeclaration[];
|
|
148
|
+
specificity: number;
|
|
149
|
+
/** Runtime stylesheet identity, such as Vite's data-vite-dev-id. */
|
|
150
|
+
source?: string;
|
|
151
|
+
sourceOrder?: number;
|
|
152
|
+
layer?: string;
|
|
153
|
+
/** First-declaration order of the named cascade layer in this document. */
|
|
154
|
+
layerOrder?: number;
|
|
155
|
+
active?: boolean;
|
|
156
|
+
atRules?: AtRuleContext[];
|
|
157
|
+
}
|
|
158
|
+
/** One attributed, resolvable property on the inspected element. */
|
|
159
|
+
export interface ResolvedProperty {
|
|
160
|
+
property: string;
|
|
161
|
+
tokenName: string | null;
|
|
162
|
+
declaredValue: string;
|
|
163
|
+
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
|
+
*/
|
|
168
|
+
authored?: string;
|
|
169
|
+
sourceProperty?: string;
|
|
170
|
+
computed?: string;
|
|
171
|
+
tokens?: TokenReference[];
|
|
172
|
+
opacity?: ColorOpacity;
|
|
173
|
+
propertyOpacity?: OpacityValue;
|
|
174
|
+
color?: ColorValueFacts;
|
|
175
|
+
modifiers?: ValueModifier[];
|
|
176
|
+
capability?: EditCapability;
|
|
177
|
+
resolvedTokenValue?: string;
|
|
178
|
+
diagnostic?: string;
|
|
179
|
+
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
|
+
*/
|
|
185
|
+
atRules?: AtRuleContext[];
|
|
186
|
+
/** All media-query contexts found on declarations for this property. */
|
|
187
|
+
atRuleCandidates?: AtRuleCandidate[];
|
|
188
|
+
confidence: "exact" | "probable" | "unknown";
|
|
189
|
+
evidence: AttributionEvidence;
|
|
190
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
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
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
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
|
+
export { createTokenInventory } from "./inventory.js";
|
|
25
|
+
export type { TokenInventory } from "./inventory.js";
|
|
26
|
+
export type { ArtifactProvenance, ArtifactStage, TokenDefinitionRelabelling, ArtifactDiagnosticInput, InventoryContribution, InventoryDiagnostic, InventoryOrderEvidence, InventorySnapshot, InventoryTokenDeclaration, InventoryTokenDefinition, StylesheetArtifact, TokenContribution, } from "./types.js";
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
export { createTokenInventory } from "./inventory.js";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { InventorySnapshot, StylesheetArtifact, TokenContribution } from "./types.js";
|
|
2
|
+
export interface TokenInventory {
|
|
3
|
+
apply(artifact: StylesheetArtifact): void;
|
|
4
|
+
snapshot(): InventorySnapshot;
|
|
5
|
+
applyContribution(contribution: TokenContribution): void;
|
|
6
|
+
removeContribution(id: string): void;
|
|
7
|
+
}
|
|
8
|
+
export declare function createTokenInventory(): TokenInventory;
|