nudge-ui 0.2.5 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (575) hide show
  1. package/dist/cli/agentCommand.d.ts +0 -1
  2. package/dist/cli/agentCommand.js +0 -1
  3. package/dist/client.mjs +238 -122
  4. package/dist/compiler/ast.d.ts +0 -6
  5. package/dist/compiler/ast.js +0 -5
  6. package/dist/compiler/componentContractTypes.d.ts +11 -5
  7. package/dist/compiler/componentContracts.js +3 -9
  8. package/dist/compiler/componentInstrumentation.d.ts +2 -13
  9. package/dist/compiler/componentInstrumentation.js +3 -12
  10. package/dist/compiler/componentPolicyResolution.d.ts +3 -22
  11. package/dist/compiler/componentPolicyResolution.js +6 -38
  12. package/dist/compiler/identityAttributes.d.ts +2 -0
  13. package/dist/compiler/identityAttributes.js +2 -0
  14. package/dist/compiler/index.d.ts +0 -1
  15. package/dist/compiler/index.js +0 -1
  16. package/dist/compiler/packageComponentContracts.d.ts +10 -19
  17. package/dist/compiler/packageComponentContracts.js +60 -43
  18. package/dist/compiler/reactComponentProtocols.d.ts +0 -7
  19. package/dist/compiler/reactComponentProtocols.js +0 -7
  20. package/dist/compiler/reactIdentity.d.ts +2 -2
  21. package/dist/compiler/reactIdentity.js +41 -43
  22. package/dist/compiler/sourcePaths.d.ts +4 -8
  23. package/dist/compiler/sourcePaths.js +6 -8
  24. package/dist/css/dialects/index.d.ts +2 -21
  25. package/dist/css/dialects/index.js +2 -9
  26. package/dist/css/dialects/tailwind.d.ts +2 -16
  27. package/dist/css/dialects/tailwind.js +2 -25
  28. package/dist/css/dialects/vanillaExtract.d.ts +1 -9
  29. package/dist/css/dialects/vanillaExtract.js +0 -1
  30. package/dist/css/index.d.ts +0 -8
  31. package/dist/css/index.js +0 -8
  32. package/dist/css/model/index.d.ts +6 -38
  33. package/dist/css/model/index.js +0 -9
  34. package/dist/css/token-inventory/index.d.ts +0 -23
  35. package/dist/css/token-inventory/index.js +0 -23
  36. package/dist/css/token-inventory/inventory.js +4 -16
  37. package/dist/css/token-inventory/parseStylesheet.d.ts +1 -9
  38. package/dist/css/token-inventory/parseStylesheet.js +5 -42
  39. package/dist/css/token-inventory/policy.d.ts +2 -39
  40. package/dist/css/token-inventory/policy.js +2 -39
  41. package/dist/css/token-inventory/types.d.ts +2 -15
  42. package/dist/css/value-semantics/borderSemantics.d.ts +1 -8
  43. package/dist/css/value-semantics/borderSemantics.js +5 -23
  44. package/dist/css/value-semantics/boxSemantics.d.ts +2 -25
  45. package/dist/css/value-semantics/boxSemantics.js +1 -7
  46. package/dist/css/value-semantics/colorSemantics.d.ts +6 -60
  47. package/dist/css/value-semantics/colorSemantics.js +9 -40
  48. package/dist/css/value-semantics/cssSyntax.d.ts +10 -10
  49. package/dist/css/value-semantics/cssSyntax.js +39 -11
  50. package/dist/css/value-semantics/fontSemantics.d.ts +3 -19
  51. package/dist/css/value-semantics/fontSemantics.js +7 -25
  52. package/dist/css/value-semantics/index.d.ts +1 -12
  53. package/dist/css/value-semantics/index.js +1 -12
  54. package/dist/css/value-semantics/propertyPolicy.d.ts +6 -53
  55. package/dist/css/value-semantics/propertyPolicy.js +47 -59
  56. package/dist/css/value-semantics/stringMaps.d.ts +0 -1
  57. package/dist/css/value-semantics/structuredValues.d.ts +3 -37
  58. package/dist/css/value-semantics/structuredValues.js +6 -17
  59. package/dist/css/value-semantics/tokenInterpretation.d.ts +8 -50
  60. package/dist/css/value-semantics/tokenInterpretation.js +7 -21
  61. package/dist/hosts/astro/astroRuntimeConfig.d.ts +0 -1
  62. package/dist/hosts/astro/astroRuntimeConfig.js +0 -1
  63. package/dist/hosts/astro/clientAsset.d.ts +1 -5
  64. package/dist/hosts/astro/clientAsset.js +1 -5
  65. package/dist/hosts/astro/clientTransport.d.ts +0 -1
  66. package/dist/hosts/astro/clientTransport.js +4 -9
  67. package/dist/hosts/astro/integration.d.ts +2 -28
  68. package/dist/hosts/astro/integration.js +7 -36
  69. package/dist/hosts/astro/markdownIdentity.d.ts +0 -3
  70. package/dist/hosts/astro/markdownIdentity.js +0 -3
  71. package/dist/hosts/astro/middleware.d.ts +1 -12
  72. package/dist/hosts/astro/middleware.js +1 -12
  73. package/dist/hosts/astro/projectContext.d.ts +1 -9
  74. package/dist/hosts/astro/projectContext.js +2 -11
  75. package/dist/hosts/astro/responseInstrumentation.d.ts +4 -33
  76. package/dist/hosts/astro/responseInstrumentation.js +5 -34
  77. package/dist/hosts/environment.d.ts +0 -8
  78. package/dist/hosts/environment.js +0 -1
  79. package/dist/hosts/next/index.js +1 -3
  80. package/dist/hosts/next/loader.d.ts +5 -44
  81. package/dist/hosts/next/loader.js +22 -103
  82. package/dist/hosts/next/loaders/identity-loader.cjs +111 -65
  83. package/dist/hosts/next/loaders/loader-plugin.cjs +111 -65
  84. package/dist/hosts/next/manifest.d.ts +2 -16
  85. package/dist/hosts/next/manifest.js +18 -20
  86. package/dist/hosts/next/mount.d.ts +1 -11
  87. package/dist/hosts/next/mount.js +1 -11
  88. package/dist/hosts/next/repositoryScope.d.ts +2 -17
  89. package/dist/hosts/next/repositoryScope.js +2 -17
  90. package/dist/hosts/next/sidecar.d.ts +0 -13
  91. package/dist/hosts/next/sidecar.js +25 -110
  92. package/dist/hosts/next/wrapper.d.ts +0 -31
  93. package/dist/hosts/next/wrapper.js +13 -64
  94. package/dist/hosts/projectBridge.d.ts +0 -2
  95. package/dist/hosts/projectBridge.js +0 -2
  96. package/dist/hosts/reactRendererCapture.d.ts +2 -0
  97. package/dist/hosts/reactRendererCapture.js +12 -0
  98. package/dist/hosts/static/cli.d.ts +0 -4
  99. package/dist/hosts/static/cli.js +0 -3
  100. package/dist/hosts/static/html/bootstrap.d.ts +1 -18
  101. package/dist/hosts/static/html/bootstrap.js +2 -14
  102. package/dist/hosts/static/manifest.d.ts +2 -15
  103. package/dist/hosts/static/manifest.js +5 -18
  104. package/dist/hosts/static/server.d.ts +4 -38
  105. package/dist/hosts/static/server.js +17 -67
  106. package/dist/hosts/vite/index.d.ts +0 -10
  107. package/dist/hosts/vite/index.js +0 -10
  108. package/dist/hosts/vite/react.d.ts +4 -17
  109. package/dist/hosts/vite/react.js +18 -35
  110. package/dist/hosts/vite/tokens/activeStylesheets.d.ts +1 -10
  111. package/dist/hosts/vite/tokens/activeStylesheets.js +3 -8
  112. package/dist/hosts/vite/tokens/fileMap.d.ts +0 -1
  113. package/dist/hosts/vite/tokens/viteStylesheetArtifacts.d.ts +2 -15
  114. package/dist/hosts/vite/tokens/viteStylesheetArtifacts.js +3 -10
  115. package/dist/hosts/vite/vite.d.ts +5 -26
  116. package/dist/hosts/vite/vite.js +44 -80
  117. package/dist/html/dom.d.ts +0 -1
  118. package/dist/html/dom.js +0 -1
  119. package/dist/html/identity.d.ts +1 -15
  120. package/dist/html/identity.js +1 -8
  121. package/dist/html/insertions.d.ts +2 -8
  122. package/dist/html/insertions.js +1 -1
  123. package/dist/inspector/agent/McpConnectionDialog.d.ts +1 -6
  124. package/dist/inspector/agent/McpConnectionDialog.js +1 -6
  125. package/dist/inspector/agent/activity.d.ts +1 -1
  126. package/dist/inspector/agent/activity.js +1 -1
  127. package/dist/inspector/agent/client.d.ts +2 -26
  128. package/dist/inspector/agent/client.js +17 -64
  129. package/dist/inspector/agent/connectionStatus.d.ts +0 -1
  130. package/dist/inspector/agent/connectionStatus.js +0 -1
  131. package/dist/inspector/agent/httpTransport.d.ts +0 -8
  132. package/dist/inspector/agent/httpTransport.js +21 -39
  133. package/dist/inspector/agent/protocol.d.ts +1 -10
  134. package/dist/inspector/agent/protocol.js +1 -9
  135. package/dist/inspector/agent/verification.d.ts +2 -19
  136. package/dist/inspector/agent/verification.js +7 -43
  137. package/dist/inspector/boot.d.ts +3 -1
  138. package/dist/inspector/boot.js +12 -20
  139. package/dist/inspector/canvas/AgentActivityOverlay.d.ts +1 -1
  140. package/dist/inspector/canvas/AgentActivityOverlay.js +1 -1
  141. package/dist/inspector/canvas/CanvasCard.js +7 -14
  142. package/dist/inspector/canvas/CanvasElementOverlay.js +117 -50
  143. package/dist/inspector/canvas/CanvasWorkspace.js +15 -29
  144. package/dist/inspector/canvas/PageCard.d.ts +0 -1
  145. package/dist/inspector/canvas/PageCard.js +0 -1
  146. package/dist/inspector/canvas/SketchToolOptions.d.ts +0 -1
  147. package/dist/inspector/canvas/SketchToolOptions.js +0 -6
  148. package/dist/inspector/canvas/ToolOptionsDrawer.d.ts +1 -6
  149. package/dist/inspector/canvas/ToolOptionsDrawer.js +2 -8
  150. package/dist/inspector/canvas/activeCanvasDocument.d.ts +0 -2
  151. package/dist/inspector/canvas/activeCanvasDocument.js +0 -2
  152. package/dist/inspector/canvas/agentPresentation.d.ts +2 -13
  153. package/dist/inspector/canvas/agentPresentation.js +3 -14
  154. package/dist/inspector/canvas/canvasFrame.d.ts +2 -6
  155. package/dist/inspector/canvas/canvasFrame.js +1 -2
  156. package/dist/inspector/canvas/canvasResize.d.ts +1 -6
  157. package/dist/inspector/canvas/canvasResize.js +1 -6
  158. package/dist/inspector/canvas/canvasStore.d.ts +4 -12
  159. package/dist/inspector/canvas/canvasStore.js +12 -26
  160. package/dist/inspector/canvas/frameConnection.d.ts +1 -7
  161. package/dist/inspector/canvas/frameContent.d.ts +0 -1
  162. package/dist/inspector/canvas/frameLifecycle.d.ts +12 -0
  163. package/dist/inspector/canvas/frameLifecycle.js +11 -0
  164. package/dist/inspector/canvas/frameProtocol.d.ts +5 -40
  165. package/dist/inspector/canvas/frameProtocol.js +1 -24
  166. package/dist/inspector/canvas/frameScrollbarStyles.d.ts +0 -1
  167. package/dist/inspector/canvas/frameScrollbarStyles.js +0 -1
  168. package/dist/inspector/canvas/layout.d.ts +10 -22
  169. package/dist/inspector/canvas/layout.js +0 -3
  170. package/dist/inspector/canvas/normalizeUrl.js +1 -8
  171. package/dist/inspector/canvas/pageSurface.d.ts +1 -6
  172. package/dist/inspector/canvas/pageSurface.js +1 -6
  173. package/dist/inspector/canvas/projection.d.ts +4 -25
  174. package/dist/inspector/canvas/projection.js +22 -72
  175. package/dist/inspector/canvas/rendererBootstrap.d.ts +8 -1
  176. package/dist/inspector/canvas/rendererBootstrap.js +6 -14
  177. package/dist/inspector/canvas/rendererCidIndex.d.ts +0 -5
  178. package/dist/inspector/canvas/rendererCidIndex.js +0 -5
  179. package/dist/inspector/canvas/rendererElementSelector.js +29 -27
  180. package/dist/inspector/canvas/rendererMessageRouter.d.ts +0 -1
  181. package/dist/inspector/canvas/rendererMessageRouter.js +0 -1
  182. package/dist/inspector/canvas/rendererSelectionProxy.d.ts +1 -5
  183. package/dist/inspector/canvas/rendererSelectionProxy.js +2 -7
  184. package/dist/inspector/canvas/rendererStylesheet.d.ts +0 -1
  185. package/dist/inspector/canvas/rendererStylesheet.js +9 -2
  186. package/dist/inspector/canvas/resizeHandleScale.d.ts +1 -10
  187. package/dist/inspector/canvas/resizeHandleScale.js +1 -10
  188. package/dist/inspector/canvas/sessionStore.d.ts +1 -7
  189. package/dist/inspector/canvas/sessionStore.js +21 -34
  190. package/dist/inspector/canvas/staleChangeDetector.js +1 -4
  191. package/dist/inspector/canvas/toolbarScale.d.ts +1 -4
  192. package/dist/inspector/canvas/toolbarScale.js +1 -4
  193. package/dist/inspector/canvas/useCanvasLayoutAnimation.d.ts +0 -1
  194. package/dist/inspector/canvas/useCanvasLayoutAnimation.js +0 -1
  195. package/dist/inspector/canvas/viewStore.js +1 -1
  196. package/dist/inspector/canvas/wheelPan.d.ts +1 -1
  197. package/dist/inspector/canvas/wheelPan.js +1 -1
  198. package/dist/inspector/canvas/workspaceLease.d.ts +1 -5
  199. package/dist/inspector/canvas/workspaceLease.js +1 -7
  200. package/dist/inspector/changes/codecs.js +2 -1
  201. package/dist/inspector/changes/draftPreview.d.ts +1 -6
  202. package/dist/inspector/changes/draftPreview.js +15 -30
  203. package/dist/inspector/changes/editModel.d.ts +3 -13
  204. package/dist/inspector/changes/editModel.js +1 -2
  205. package/dist/inspector/changes/managedStyleProjection.js +4 -14
  206. package/dist/inspector/changes/model.d.ts +0 -5
  207. package/dist/inspector/changes/model.js +1 -8
  208. package/dist/inspector/changes/previewDiagnostics.d.ts +2 -12
  209. package/dist/inspector/changes/previewDiagnostics.js +4 -20
  210. package/dist/inspector/changes/previewVerification.d.ts +25 -0
  211. package/dist/inspector/changes/previewVerification.js +34 -0
  212. package/dist/inspector/changes/structuralTypes.d.ts +2 -4
  213. package/dist/inspector/changes/types.d.ts +3 -10
  214. package/dist/inspector/clientManifest.d.ts +17 -6
  215. package/dist/inspector/clientManifest.js +16 -3
  216. package/dist/inspector/comments/CommentsOverlay.js +48 -7
  217. package/dist/inspector/comments/element.d.ts +1 -2
  218. package/dist/inspector/comments/element.js +1 -2
  219. package/dist/inspector/comments/store.d.ts +1 -1
  220. package/dist/inspector/comments/store.js +1 -1
  221. package/dist/inspector/comments/verification.d.ts +8 -2
  222. package/dist/inspector/comments/verification.js +18 -10
  223. package/dist/inspector/componentSemantics/ComponentPropsSection.d.ts +8 -0
  224. package/dist/inspector/componentSemantics/ComponentPropsSection.js +10 -7
  225. package/dist/inspector/componentSemantics/adapterRegistry.d.ts +2 -9
  226. package/dist/inspector/componentSemantics/adapterRegistry.js +2 -9
  227. package/dist/inspector/componentSemantics/changeModel.js +2 -4
  228. package/dist/inspector/componentSemantics/react/callsites.d.ts +28 -0
  229. package/dist/inspector/componentSemantics/react/callsites.js +261 -0
  230. package/dist/inspector/componentSemantics/react/devtoolsHook.d.ts +23 -0
  231. package/dist/inspector/componentSemantics/react/devtoolsHook.js +71 -0
  232. package/dist/inspector/componentSemantics/react/fibers.d.ts +17 -0
  233. package/dist/inspector/componentSemantics/react/fibers.js +30 -0
  234. package/dist/inspector/componentSemantics/{reactRuntime.d.ts → react/runtime.d.ts} +3 -2
  235. package/dist/inspector/componentSemantics/{reactRuntime.js → react/runtime.js} +70 -53
  236. package/dist/inspector/componentSemantics/runtimeBridge.d.ts +2 -18
  237. package/dist/inspector/componentSemantics/runtimeBridge.js +5 -19
  238. package/dist/inspector/componentSemantics/textBinding.d.ts +1 -9
  239. package/dist/inspector/componentSemantics/textBinding.js +16 -42
  240. package/dist/inspector/componentSemantics/types.d.ts +8 -27
  241. package/dist/inspector/componentSemantics/types.js +0 -1
  242. package/dist/inspector/conformance/borderCases.d.ts +0 -5
  243. package/dist/inspector/conformance/borderCases.js +0 -5
  244. package/dist/inspector/conformance/colorCases.d.ts +0 -6
  245. package/dist/inspector/conformance/colorCases.js +0 -6
  246. package/dist/inspector/conformance/fixture.d.ts +1 -5
  247. package/dist/inspector/conformance/fixture.js +1 -5
  248. package/dist/inspector/conformance/spacingCases.d.ts +0 -4
  249. package/dist/inspector/conformance/spacingCases.js +0 -4
  250. package/dist/inspector/conformance/typographyCases.d.ts +0 -5
  251. package/dist/inspector/conformance/typographyCases.js +0 -5
  252. package/dist/inspector/drafts/draftStore.d.ts +7 -21
  253. package/dist/inspector/drafts/draftStore.js +15 -5
  254. package/dist/inspector/drafts/model.d.ts +7 -15
  255. package/dist/inspector/drafts/model.js +0 -2
  256. package/dist/inspector/drafts/store.d.ts +1 -8
  257. package/dist/inspector/drafts/store.js +3 -10
  258. package/dist/inspector/editScope.d.ts +0 -1
  259. package/dist/inspector/editScope.js +0 -1
  260. package/dist/inspector/inline-text/inlineTextDiagnostics.d.ts +0 -2
  261. package/dist/inspector/inline-text/inlineTextDiagnostics.js +0 -2
  262. package/dist/inspector/inline-text/inlineTextEditor.d.ts +2 -8
  263. package/dist/inspector/inline-text/inlineTextEditor.js +26 -79
  264. package/dist/inspector/inline-text/inlineTextLifecycle.js +1 -6
  265. package/dist/inspector/inline-text/textEditChange.d.ts +0 -1
  266. package/dist/inspector/inspection/bridge.d.ts +2 -6
  267. package/dist/inspector/inspection/bridge.js +4 -12
  268. package/dist/inspector/inspection/browserCssInspection.d.ts +4 -11
  269. package/dist/inspector/inspection/browserCssInspection.js +4 -8
  270. package/dist/inspector/inspection/browserCssInspectionRegistry.d.ts +0 -7
  271. package/dist/inspector/inspection/browserCssInspectionRegistry.js +1 -16
  272. package/dist/inspector/inspection/selectionProperty.d.ts +1 -6
  273. package/dist/inspector/inspection/selectionProperty.js +1 -5
  274. package/dist/inspector/inspection/useBrowserCssInspection.d.ts +1 -5
  275. package/dist/inspector/inspection/useBrowserCssInspection.js +5 -21
  276. package/dist/inspector/iterations/capture.d.ts +0 -1
  277. package/dist/inspector/iterations/capture.js +4 -9
  278. package/dist/inspector/iterations/client.d.ts +0 -1
  279. package/dist/inspector/iterations/client.js +0 -1
  280. package/dist/inspector/iterations/coordinator.d.ts +0 -1
  281. package/dist/inspector/iterations/coordinator.js +0 -1
  282. package/dist/inspector/iterations/prompt.d.ts +0 -1
  283. package/dist/inspector/iterations/prompt.js +0 -1
  284. package/dist/inspector/overlay/DomNavigator.d.ts +3 -1
  285. package/dist/inspector/overlay/DomNavigator.js +39 -15
  286. package/dist/inspector/overlay/DropGuideOverlay.d.ts +0 -1
  287. package/dist/inspector/overlay/DropGuideOverlay.js +0 -1
  288. package/dist/inspector/overlay/MeasurementGuideOverlay.d.ts +1 -8
  289. package/dist/inspector/overlay/MeasurementGuideOverlay.js +1 -5
  290. package/dist/inspector/overlay/clickPolicy.d.ts +3 -14
  291. package/dist/inspector/overlay/clickPolicy.js +3 -14
  292. package/dist/inspector/overlay/dropGuide.d.ts +0 -3
  293. package/dist/inspector/overlay/dropGuide.js +0 -3
  294. package/dist/inspector/overlay/frameThrottle.d.ts +0 -1
  295. package/dist/inspector/overlay/frameThrottle.js +0 -1
  296. package/dist/inspector/overlay/interactionStyles.d.ts +1 -1
  297. package/dist/inspector/overlay/interactionStyles.js +2 -8
  298. package/dist/inspector/overlay/measurementGeometry.js +4 -12
  299. package/dist/inspector/overlay/selectedGeometry.d.ts +1 -6
  300. package/dist/inspector/overlay/selectedGeometry.js +1 -8
  301. package/dist/inspector/overlay/spacingGestures.d.ts +14 -21
  302. package/dist/inspector/overlay/spacingGestures.js +151 -31
  303. package/dist/inspector/overlay/structuralGestures.d.ts +2 -9
  304. package/dist/inspector/overlay/structuralGestures.js +1 -4
  305. package/dist/inspector/pageInspector.d.ts +4 -13
  306. package/dist/inspector/pageInspector.js +25 -32
  307. package/dist/inspector/projection/cssEscapes.d.ts +0 -1
  308. package/dist/inspector/projection/cssEscapes.js +2 -4
  309. package/dist/inspector/projection/draftProjection.d.ts +2 -14
  310. package/dist/inspector/projection/draftProjection.js +1 -8
  311. package/dist/inspector/projection/managedStylesheet.d.ts +1 -7
  312. package/dist/inspector/projection/managedStylesheet.js +4 -22
  313. package/dist/inspector/projection/renderedInstance.d.ts +5 -28
  314. package/dist/inspector/projection/renderedInstance.js +6 -32
  315. package/dist/inspector/projection/structuralProjection.d.ts +7 -39
  316. package/dist/inspector/projection/structuralProjection.js +17 -52
  317. package/dist/inspector/projection/textProjection.d.ts +2 -14
  318. package/dist/inspector/projection/textProjection.js +17 -70
  319. package/dist/inspector/prompt/PromptSettingsDialog.d.ts +0 -1
  320. package/dist/inspector/prompt/PromptSettingsDialog.js +0 -1
  321. package/dist/inspector/prompt/clipboardHandoff.d.ts +1 -9
  322. package/dist/inspector/prompt/clipboardHandoff.js +1 -9
  323. package/dist/inspector/prompt/generatePrompt.d.ts +1 -1
  324. package/dist/inspector/prompt/generatePrompt.js +10 -25
  325. package/dist/inspector/prompt/promptSettings.d.ts +0 -3
  326. package/dist/inspector/prompt/promptSettings.js +0 -3
  327. package/dist/inspector/runtime/devFlag.d.ts +2 -25
  328. package/dist/inspector/runtime/devFlag.js +4 -31
  329. package/dist/inspector/runtime/documentStylesheetOrder.d.ts +0 -2
  330. package/dist/inspector/runtime/editorShell.d.ts +0 -1
  331. package/dist/inspector/runtime/editorShell.js +0 -1
  332. package/dist/inspector/runtime/inspectorStorage.d.ts +1 -7
  333. package/dist/inspector/runtime/inspectorStorage.js +1 -6
  334. package/dist/inspector/runtime/ownedStylesheets.d.ts +2 -8
  335. package/dist/inspector/runtime/ownedStylesheets.js +2 -8
  336. package/dist/inspector/runtime/runtimeConfig.d.ts +12 -86
  337. package/dist/inspector/runtime/runtimeConfig.js +9 -50
  338. package/dist/inspector/runtime/runtimeIdentityClaims.d.ts +3 -13
  339. package/dist/inspector/runtime/runtimeIdentityClaims.js +9 -19
  340. package/dist/inspector/runtime/staticHtmlRuntimeIdentity.d.ts +4 -36
  341. package/dist/inspector/runtime/staticHtmlRuntimeIdentity.js +7 -40
  342. package/dist/inspector/runtime/useRuntimeConfig.d.ts +1 -8
  343. package/dist/inspector/runtime/useRuntimeConfig.js +1 -8
  344. package/dist/inspector/selection/editScope.d.ts +1 -7
  345. package/dist/inspector/selection/editScope.js +2 -12
  346. package/dist/inspector/selection/editTarget.d.ts +1 -5
  347. package/dist/inspector/selection/hierarchy.d.ts +11 -11
  348. package/dist/inspector/selection/hierarchy.js +42 -24
  349. package/dist/inspector/selection/selectionStore.d.ts +0 -3
  350. package/dist/inspector/selection/selectionStore.js +5 -16
  351. package/dist/inspector/selection/sourceSite.d.ts +1 -5
  352. package/dist/inspector/selection/sourceSite.js +2 -8
  353. package/dist/inspector/selection/styleSelection.d.ts +1 -5
  354. package/dist/inspector/selection/styleSelection.js +1 -5
  355. package/dist/inspector/session/lifecycle.d.ts +1 -9
  356. package/dist/inspector/session/lifecycle.js +0 -1
  357. package/dist/inspector/session/sessionContext.d.ts +0 -4
  358. package/dist/inspector/session/sessionContext.js +0 -4
  359. package/dist/inspector/session/sessionFactory.d.ts +0 -9
  360. package/dist/inspector/session/sessionFactory.js +0 -6
  361. package/dist/inspector/settings/SettingsDialog.d.ts +0 -1
  362. package/dist/inspector/settings/SettingsDialog.js +5 -3
  363. package/dist/inspector/shell/AgentStatusButton.d.ts +3 -2
  364. package/dist/inspector/shell/AgentStatusButton.js +5 -5
  365. package/dist/inspector/shell/ChangesLog.js +3 -4
  366. package/dist/inspector/shell/CopyPromptButton.d.ts +2 -1
  367. package/dist/inspector/shell/CopyPromptButton.js +12 -11
  368. package/dist/inspector/shell/InspectorEditors.d.ts +16 -0
  369. package/dist/inspector/shell/InspectorEditors.js +14 -0
  370. package/dist/inspector/shell/InspectorPanel.d.ts +12 -0
  371. package/dist/inspector/shell/InspectorPanel.js +8 -0
  372. package/dist/inspector/shell/InspectorSelection.d.ts +24 -0
  373. package/dist/inspector/shell/InspectorSelection.js +20 -0
  374. package/dist/inspector/shell/InspectorShell.js +26 -48
  375. package/dist/inspector/shell/NudgeLogoIcon.d.ts +5 -0
  376. package/dist/inspector/shell/NudgeLogoIcon.js +5 -0
  377. package/dist/inspector/shell/PeekOriginalButton.d.ts +0 -5
  378. package/dist/inspector/shell/PeekOriginalButton.js +0 -5
  379. package/dist/inspector/shell/PeekOriginalIcon.d.ts +0 -5
  380. package/dist/inspector/shell/PeekOriginalIcon.js +0 -5
  381. package/dist/inspector/shell/PromptActionButton.d.ts +21 -0
  382. package/dist/inspector/shell/PromptActionButton.js +14 -0
  383. package/dist/inspector/shell/elementName.d.ts +5 -0
  384. package/dist/inspector/shell/elementName.js +29 -0
  385. package/dist/inspector/shell/interactionStatePreview.d.ts +1 -4
  386. package/dist/inspector/shell/interactionStatePreview.js +3 -8
  387. package/dist/inspector/shell/originalPreview.d.ts +1 -6
  388. package/dist/inspector/shell/originalPreview.js +1 -6
  389. package/dist/inspector/shell/stateValue.d.ts +1 -2
  390. package/dist/inspector/shell/stateValue.js +2 -5
  391. package/dist/inspector/shell/styleState.d.ts +1 -2
  392. package/dist/inspector/shell/styleState.js +1 -2
  393. package/dist/inspector/sketch/SketchEditor.js +0 -1
  394. package/dist/inspector/sketch/SketchFrameOverlay.js +8 -12
  395. package/dist/inspector/sketch/SketchOverlay.js +5 -6
  396. package/dist/inspector/sketch/SketchPromptPanel.d.ts +0 -1
  397. package/dist/inspector/sketch/SketchPromptPanel.js +0 -1
  398. package/dist/inspector/sketch/SketchWorkspace.js +2 -4
  399. package/dist/inspector/sketch/capture.d.ts +12 -3
  400. package/dist/inspector/sketch/capture.js +12 -11
  401. package/dist/inspector/sketch/copySketch.d.ts +1 -7
  402. package/dist/inspector/sketch/copySketch.js +2 -11
  403. package/dist/inspector/sketch/drawingTools.d.ts +1 -3
  404. package/dist/inspector/sketch/drawingTools.js +1 -2
  405. package/dist/inspector/sketch/frameHeading.d.ts +1 -7
  406. package/dist/inspector/sketch/frameHeading.js +1 -8
  407. package/dist/inspector/sketch/freehand.d.ts +0 -1
  408. package/dist/inspector/sketch/freehand.js +0 -1
  409. package/dist/inspector/sketch/geometry.d.ts +1 -6
  410. package/dist/inspector/sketch/geometry.js +1 -6
  411. package/dist/inspector/sketch/handoff.js +0 -1
  412. package/dist/inspector/sketch/history.d.ts +1 -5
  413. package/dist/inspector/sketch/history.js +1 -4
  414. package/dist/inspector/sketch/interaction.d.ts +2 -2
  415. package/dist/inspector/sketch/interaction.js +2 -2
  416. package/dist/inspector/sketch/model.d.ts +2 -9
  417. package/dist/inspector/sketch/model.js +2 -19
  418. package/dist/inspector/sketch/persistence.d.ts +0 -1
  419. package/dist/inspector/sketch/persistence.js +2 -2
  420. package/dist/inspector/sketch/raster.d.ts +1 -4
  421. package/dist/inspector/sketch/raster.js +2 -8
  422. package/dist/inspector/sketch/store.js +2 -3
  423. package/dist/inspector/sketch/videoFrames.js +2 -3
  424. package/dist/inspector/spacing/projection.d.ts +0 -8
  425. package/dist/inspector/spacing/projection.js +38 -20
  426. package/dist/inspector/styleEditors/BackgroundEditor.js +1 -1
  427. package/dist/inspector/styleEditors/BorderEditor.js +1 -6
  428. package/dist/inspector/styleEditors/ChildPlacement.d.ts +12 -0
  429. package/dist/inspector/styleEditors/ChildPlacement.js +9 -0
  430. package/dist/inspector/styleEditors/FlexControls.d.ts +35 -0
  431. package/dist/inspector/styleEditors/FlexControls.js +158 -0
  432. package/dist/inspector/styleEditors/GapField.d.ts +5 -2
  433. package/dist/inspector/styleEditors/GapField.js +3 -4
  434. package/dist/inspector/styleEditors/GridChildSection.d.ts +0 -5
  435. package/dist/inspector/styleEditors/GridChildSection.js +0 -5
  436. package/dist/inspector/styleEditors/GridPicker.d.ts +1 -1
  437. package/dist/inspector/styleEditors/GridPicker.js +2 -4
  438. package/dist/inspector/styleEditors/GridSection.d.ts +10 -8
  439. package/dist/inspector/styleEditors/GridSection.js +22 -9
  440. package/dist/inspector/styleEditors/GridValueField.d.ts +1 -5
  441. package/dist/inspector/styleEditors/GridValueField.js +2 -8
  442. package/dist/inspector/styleEditors/ImageBackgroundEditor.d.ts +0 -1
  443. package/dist/inspector/styleEditors/ImageBackgroundEditor.js +0 -1
  444. package/dist/inspector/styleEditors/LayoutBlockedIndicator.d.ts +0 -1
  445. package/dist/inspector/styleEditors/LayoutBlockedIndicator.js +0 -1
  446. package/dist/inspector/styleEditors/LayoutComboField.js +0 -5
  447. package/dist/inspector/styleEditors/LayoutModeRow.d.ts +14 -0
  448. package/dist/inspector/styleEditors/LayoutModeRow.js +60 -0
  449. package/dist/inspector/styleEditors/LayoutSection.d.ts +2 -2
  450. package/dist/inspector/styleEditors/LayoutSection.js +30 -356
  451. package/dist/inspector/styleEditors/OpacityEditor.js +7 -5
  452. package/dist/inspector/styleEditors/PositionControls.d.ts +18 -0
  453. package/dist/inspector/styleEditors/PositionControls.js +16 -0
  454. package/dist/inspector/styleEditors/SizeSection.d.ts +18 -0
  455. package/dist/inspector/styleEditors/SizeSection.js +71 -0
  456. package/dist/inspector/styleEditors/{SpacingBox.d.ts → SpacingField.d.ts} +3 -10
  457. package/dist/inspector/styleEditors/{SpacingBox.js → SpacingField.js} +15 -29
  458. package/dist/inspector/styleEditors/Typography.js +2 -4
  459. package/dist/inspector/styleEditors/borderModel.d.ts +1 -7
  460. package/dist/inspector/styleEditors/borderModel.js +2 -11
  461. package/dist/inspector/styleEditors/completeCssValue.d.ts +1 -5
  462. package/dist/inspector/styleEditors/completeCssValue.js +3 -13
  463. package/dist/inspector/styleEditors/fieldValue.d.ts +20 -0
  464. package/dist/inspector/styleEditors/fieldValue.js +26 -0
  465. package/dist/inspector/styleEditors/gradientValue.d.ts +1 -1
  466. package/dist/inspector/styleEditors/gradientValue.js +3 -2
  467. package/dist/inspector/styleEditors/gridChildModel.d.ts +7 -47
  468. package/dist/inspector/styleEditors/gridChildModel.js +6 -37
  469. package/dist/inspector/styleEditors/hiddenSizeOverrides.d.ts +5 -0
  470. package/dist/inspector/styleEditors/hiddenSizeOverrides.js +42 -0
  471. package/dist/inspector/styleEditors/inlineAuthored.d.ts +1 -8
  472. package/dist/inspector/styleEditors/inlineAuthored.js +3 -17
  473. package/dist/inspector/styleEditors/layoutMode.d.ts +15 -0
  474. package/dist/inspector/styleEditors/layoutMode.js +33 -0
  475. package/dist/inspector/styleEditors/layoutPreviewState.d.ts +0 -1
  476. package/dist/inspector/styleEditors/layoutPreviewState.js +0 -1
  477. package/dist/inspector/styleEditors/layoutValue.d.ts +2 -8
  478. package/dist/inspector/styleEditors/layoutValue.js +4 -12
  479. package/dist/inspector/styleEditors/nudgeValue.d.ts +1 -13
  480. package/dist/inspector/styleEditors/nudgeValue.js +1 -13
  481. package/dist/inspector/styleEditors/rowLookup.d.ts +1 -5
  482. package/dist/inspector/styleEditors/rowLookup.js +1 -5
  483. package/dist/inspector/styleEditors/stringRecord.d.ts +1 -2
  484. package/dist/inspector/styleEditors/stylePresence.d.ts +0 -2
  485. package/dist/inspector/styleEditors/stylePresence.js +1 -4
  486. package/dist/inspector/styleEditors/textRelevance.d.ts +1 -1
  487. package/dist/inspector/styleEditors/textRelevance.js +1 -1
  488. package/dist/inspector/styleEditors/useFieldVisibility.js +1 -2
  489. package/dist/inspector/styleEditors/useLayoutContext.d.ts +13 -0
  490. package/dist/inspector/styleEditors/useLayoutContext.js +53 -0
  491. package/dist/inspector/styleEditors/valuePolicy.d.ts +1 -5
  492. package/dist/inspector/styleEditors/valuePolicy.js +0 -1
  493. package/dist/inspector/testing.d.ts +1 -4
  494. package/dist/inspector/testing.js +1 -4
  495. package/dist/inspector/tokens/TokenChip.d.ts +1 -4
  496. package/dist/inspector/tokens/TokenChip.js +1 -4
  497. package/dist/inspector/tokens/TokenField.d.ts +4 -3
  498. package/dist/inspector/tokens/TokenField.js +19 -29
  499. package/dist/inspector/tokens/catalog.d.ts +2 -10
  500. package/dist/inspector/tokens/catalog.js +5 -12
  501. package/dist/inspector/tokens/dragPointerLock.d.ts +0 -1
  502. package/dist/inspector/tokens/dragPointerLock.js +2 -3
  503. package/dist/inspector/tokens/editActions.d.ts +1 -1
  504. package/dist/inspector/tokens/editActions.js +2 -4
  505. package/dist/inspector/tokens/resolution/cascade.d.ts +1 -5
  506. package/dist/inspector/tokens/resolution/cascade.js +1 -5
  507. package/dist/inspector/tokens/resolution/containerQueryEvaluator.d.ts +1 -5
  508. package/dist/inspector/tokens/resolution/containerQueryEvaluator.js +1 -5
  509. package/dist/inspector/tokens/resolution/cssomCollector.d.ts +4 -19
  510. package/dist/inspector/tokens/resolution/cssomCollector.js +151 -122
  511. package/dist/inspector/tokens/resolution/nestedSelectors.d.ts +1 -5
  512. package/dist/inspector/tokens/resolution/nestedSelectors.js +1 -5
  513. package/dist/inspector/tokens/resolution/ruleMatching.d.ts +4 -14
  514. package/dist/inspector/tokens/resolution/ruleMatching.js +121 -67
  515. package/dist/inspector/tokens/resolution/selectorSemantics.d.ts +3 -14
  516. package/dist/inspector/tokens/resolution/selectorSemantics.js +12 -27
  517. package/dist/inspector/tokens/resolution.d.ts +5 -24
  518. package/dist/inspector/tokens/resolution.js +16 -71
  519. package/dist/inspector/tokens/tokenAvailability.d.ts +2 -14
  520. package/dist/inspector/tokens/tokenAvailability.js +6 -38
  521. package/dist/inspector/tokens/valueSemanticsAdapter.d.ts +0 -1
  522. package/dist/inspector/tokens/valueSemanticsAdapter.js +18 -2
  523. package/dist/inspector/ui/AtRuleContext.d.ts +5 -5
  524. package/dist/inspector/ui/AtRuleContext.js +8 -6
  525. package/dist/inspector/ui/ControlSurface.d.ts +0 -4
  526. package/dist/inspector/ui/Disclosure.d.ts +0 -5
  527. package/dist/inspector/ui/Disclosure.js +0 -4
  528. package/dist/inspector/ui/InlineStyleWarning.d.ts +0 -1
  529. package/dist/inspector/ui/InspectorPopover.d.ts +1 -5
  530. package/dist/inspector/ui/InspectorPopover.js +1 -5
  531. package/dist/inspector/ui/SegmentedControl.d.ts +4 -4
  532. package/dist/inspector/ui/SegmentedControl.js +6 -4
  533. package/dist/inspector/ui/SideValuesField.d.ts +1 -6
  534. package/dist/inspector/ui/SideValuesField.js +2 -8
  535. package/dist/inspector/ui/Toast.d.ts +0 -4
  536. package/dist/inspector/ui/Toast.js +0 -4
  537. package/dist/inspector/ui/atRuleSegments.d.ts +13 -0
  538. package/dist/inspector/ui/atRuleSegments.js +34 -0
  539. package/dist/inspector/ui/classNames.d.ts +0 -1
  540. package/dist/inspector/ui/classNames.js +0 -1
  541. package/dist/inspector/ui/customCursors.d.ts +7 -1
  542. package/dist/inspector/ui/customCursors.js +2 -6
  543. package/dist/inspector/ui/styles.js +18 -20
  544. package/dist/inspector/workspace/controller.js +20 -1
  545. package/dist/inspector/workspace/handoff.d.ts +1 -5
  546. package/dist/inspector/workspace/handoff.js +1 -5
  547. package/dist/inspector/workspace/timeline.d.ts +5 -2
  548. package/dist/inspector/workspace/timeline.js +0 -1
  549. package/dist/internal/agent-protocol.d.ts +20 -42
  550. package/dist/internal/agent-protocol.js +18 -35
  551. package/dist/nudge-ui.mjs +75 -28
  552. package/dist/project/artifacts.js +24 -21
  553. package/dist/project/files.d.ts +0 -1
  554. package/dist/project/files.js +2 -9
  555. package/dist/project/identity.d.ts +1 -5
  556. package/dist/project/identity.js +1 -5
  557. package/dist/project/mcpPackage.d.ts +1 -6
  558. package/dist/project/mcpPackage.js +2 -7
  559. package/dist/project/pathPolicy.d.ts +1 -6
  560. package/dist/project/pathPolicy.js +1 -6
  561. package/dist/project/tokens.d.ts +2 -12
  562. package/dist/project/tokens.js +4 -15
  563. package/dist/transport/editor.d.ts +1 -12
  564. package/dist/transport/editor.js +2 -13
  565. package/dist/transport/index.d.ts +0 -5
  566. package/dist/transport/index.js +0 -5
  567. package/dist/transport/routes.d.ts +0 -5
  568. package/dist/transport/routes.js +0 -5
  569. package/package.json +5 -4
  570. package/dist/inspector/styleEditors/InsetSection.d.ts +0 -15
  571. package/dist/inspector/styleEditors/InsetSection.js +0 -15
  572. package/dist/inspector/styleEditors/PositionInsets.d.ts +0 -15
  573. package/dist/inspector/styleEditors/PositionInsets.js +0 -12
  574. package/dist/inspector/tokens/TokenDropdown.d.ts +0 -13
  575. package/dist/inspector/tokens/TokenDropdown.js +0 -59
@@ -11,8 +11,7 @@ const listeners = new Set();
11
11
  let activeSession = null;
12
12
  let activeSessionDocument = null;
13
13
  let pendingEditIntent = null;
14
- // This remains armed if blur replaces the DOM between the second pointer-down
15
- // and dblclick; only the next handoff attempt or explicit teardown consumes it.
14
+ // Stays armed if blur replaces the DOM between the second pointer-down and dblclick; the next handoff attempt or teardown consumes it.
16
15
  let handoffPointerArmed = false;
17
16
  let pendingReplayScheduled = false;
18
17
  let sessionRevision = 0;
@@ -51,7 +50,6 @@ export function cancelInlineTextEdit() {
51
50
  else
52
51
  clearInlineTextDiagnostics();
53
52
  }
54
- /** End a session owned by a document/frame that is about to be disposed. */
55
53
  export function disposeInlineTextEdit(reason = "frame-disposed", ownerDocument) {
56
54
  if (!ownerDocument) {
57
55
  discardPendingInlineTextEdit();
@@ -134,11 +132,7 @@ function schedulePendingInlineTextEdit() {
134
132
  drainPendingInlineTextEdit();
135
133
  });
136
134
  }
137
- /**
138
- * Request inline editing from a document gesture. This is the interaction
139
- * seam: it owns active-session handoff so gesture routers never discard a
140
- * valid target switch merely because another draft is settling.
141
- */
135
+ /** Owns active-session handoff so gesture routers never discard a valid target switch. */
142
136
  function requestInlineTextEdit(target, point) {
143
137
  if (activeSession) {
144
138
  const hitTarget = target.ownerDocument.elementFromPoint?.(point.x, point.y);
@@ -147,10 +141,7 @@ function requestInlineTextEdit(target, point) {
147
141
  return "stop-propagation";
148
142
  }
149
143
  }
150
- // Application-owned contenteditable surfaces must retain native editing
151
- // semantics. They are intentionally rejected by text binding, but that
152
- // rejection must not become an inspector-level suppression when another
153
- // inline edit is already active.
144
+ // Application-owned contenteditable surfaces keep native editing semantics; their binding rejection must not become an inspector-level suppression.
154
145
  if (isApplicationOwnedEditingSurface(target))
155
146
  return "pass-through";
156
147
  const intent = {
@@ -170,11 +161,7 @@ function requestInlineTextEdit(target, point) {
170
161
  drainPendingInlineTextEdit();
171
162
  return "suppress";
172
163
  }
173
- /**
174
- * Handle one native interaction while keeping session-transition policy
175
- * local. Pointer-down preserves double-click intent across the first click's
176
- * blur commit, even when canonical projection replaces the target DOM.
177
- */
164
+ /** Pointer-down preserves double-click intent across the first click's blur commit. */
178
165
  export function handleInlineTextEditIntent(intent) {
179
166
  if (intent.kind === "double-click") {
180
167
  return requestInlineTextEdit(intent.target, intent.point);
@@ -221,9 +208,7 @@ function restoreSelection(doc, snapshot) {
221
208
  selection.addRange(range);
222
209
  }
223
210
  catch {
224
- // A framework rerender can invalidate a saved range between cleanup
225
- // and restoration. Removing the transient selection is safer than
226
- // retaining a range in a detached editing wrapper.
211
+ // A framework rerender can invalidate a saved range; dropping the selection beats keeping a range in a detached wrapper.
227
212
  selection.removeAllRanges();
228
213
  }
229
214
  }
@@ -240,14 +225,11 @@ function restoreDraft(candidate, host, text, ownership) {
240
225
  if (!hostIsOwned(candidate, host, ownership))
241
226
  return false;
242
227
  const original = candidate.textNode;
243
- // Normal typing replaces the original node inside the wrapper, leaving it
244
- // detached. If reconciliation moved that node into another live tree,
245
- // never move it back into the captured position.
228
+ // Typing detaches the original node inside the wrapper; if reconciliation moved it into another live tree, never move it back.
246
229
  if (original.isConnected && original.parentNode !== host)
247
230
  return false;
248
231
  original.nodeValue = text;
249
- // Keep the original Text node and replace only the transient wrapper. This
250
- // preserves every sibling/descendant of an icon-plus-label host.
232
+ // Replacing only the transient wrapper preserves siblings/descendants of an icon-plus-label host.
251
233
  host.replaceWith(original);
252
234
  return true;
253
235
  }
@@ -268,8 +250,7 @@ function rangeInsideHost(host, range) {
268
250
  if (!isNodeInsideHost(host, range.startContainer)
269
251
  || !isNodeInsideHost(host, range.endContainer))
270
252
  return false;
271
- // A host ancestor contains the common ancestor whenever both endpoints are
272
- // inside it; StaticRange does not expose commonAncestorContainer.
253
+ // Endpoints inside the host imply the common ancestor is too; StaticRange does not expose commonAncestorContainer.
273
254
  return true;
274
255
  }
275
256
  function selectionInsideHost(host) {
@@ -411,8 +392,7 @@ function makeSession(candidate) {
411
392
  const originalParent = candidate.textNode.parentNode;
412
393
  const originalNextSibling = candidate.textNode.nextSibling;
413
394
  if (!originalParent) {
414
- // `resolveTextBinding` only returns connected text nodes, but keep this
415
- // boundary defensive if a framework mutates between resolution and wrap.
395
+ // resolveTextBinding returns connected text nodes, but a framework can mutate between resolution and wrap.
416
396
  throw new Error("Inline text target lost its parent before editing began.");
417
397
  }
418
398
  const ownership = { parent: originalParent, nextSibling: originalNextSibling };
@@ -423,12 +403,7 @@ function makeSession(candidate) {
423
403
  host.setAttribute("contenteditable", "plaintext-only");
424
404
  host.contentEditable = "plaintext-only";
425
405
  candidate.textNode.replaceWith(host);
426
- // An empty Text node is retained for exact restoration, but leaving it as
427
- // the first child of a native contenteditable makes Chromium insert the
428
- // first character beside it. The input handler then has to coalesce two
429
- // text nodes and the browser resets the caret to the start, reversing the
430
- // visible draft. Let the empty editor start childless; restoreDraft still
431
- // puts the captured node back at the owned insertion point on exit.
406
+ // A leading empty Text node makes Chromium insert the first character beside it and reset the caret; start childless and let restoreDraft put the node back on exit.
432
407
  if (candidate.before.length > 0)
433
408
  host.append(candidate.textNode);
434
409
  let finished = false;
@@ -486,8 +461,7 @@ function makeSession(candidate) {
486
461
  if (finished)
487
462
  return;
488
463
  const restoreFocus = editorOwnsFocus();
489
- // A moved/reordered host has no safe insertion point. Remove only the
490
- // temporary wrapper; never reinsert the original node into a new tree.
464
+ // A moved host has no safe insertion point: remove the wrapper, never reinsert the original node.
491
465
  if (host.isConnected)
492
466
  host.remove();
493
467
  finish("app-reconciled", "cancelled", discardedDraft, restoreFocus);
@@ -553,9 +527,7 @@ function makeSession(candidate) {
553
527
  }
554
528
  }
555
529
  }
556
- // A cancelled/unchanged re-entry keeps the same affordance. A committed
557
- // non-empty value is synchronously reconciled by the text projection,
558
- // which removes it after this session cleanup.
530
+ // Restore the affordance on cancel/unchanged; a committed non-empty value is removed by projection reconciliation.
559
531
  if (candidate.emptyProjectionMarker?.isConnected) {
560
532
  candidate.emptyProjectionMarker.hidden = false;
561
533
  }
@@ -566,8 +538,7 @@ function makeSession(candidate) {
566
538
  if (finished)
567
539
  return;
568
540
  if (event.isComposing || composing) {
569
- // Enter/Escape belong to the IME until compositionend. Keeping the
570
- // session alive makes the composition one canonical edit.
541
+ // Enter/Escape belong to the IME until compositionend; keeping the session alive makes the composition one canonical edit.
571
542
  event.stopPropagation();
572
543
  if (event.key === "Enter" || event.key === "Escape" || event.key === "Esc") {
573
544
  event.preventDefault();
@@ -592,10 +563,7 @@ function makeSession(candidate) {
592
563
  session.cancel();
593
564
  return;
594
565
  }
595
- // Keep inspector keyboard authority out of the draft while allowing the
596
- // browser to handle ordinary typing and caret movement natively. The
597
- // listener is scoped to this host so it does not intercept native input
598
- // before the contenteditable target sees it.
566
+ // Keep inspector shortcuts out of the draft while native typing and caret movement still run.
599
567
  event.stopPropagation();
600
568
  }
601
569
  function onBlur() {
@@ -604,8 +572,7 @@ function makeSession(candidate) {
604
572
  blurPending = true;
605
573
  if (composing)
606
574
  return;
607
- // Deferring one macrotask lets Escape cancel a browser blur that occurs
608
- // while a contenteditable host is handling the key event.
575
+ // Deferring one macrotask lets Escape cancel a blur that fires while the host handles the key event.
609
576
  blurCommitHandle = setTimeout(() => {
610
577
  blurCommitHandle = null;
611
578
  if (!finished) {
@@ -618,8 +585,7 @@ function makeSession(candidate) {
618
585
  if (finished)
619
586
  return;
620
587
  const rejectBeforeInput = (reason) => {
621
- // Some browsers still deliver input after a non-cancelable beforeinput.
622
- // Remember the safe plain draft so that onInput can undo that mutation.
588
+ // Some browsers still deliver input after a non-cancelable beforeinput; remember the safe draft so onInput can undo it.
623
589
  if (!event.cancelable)
624
590
  rejectedNextInput = reason;
625
591
  if (event.cancelable)
@@ -737,9 +703,7 @@ function makeSession(candidate) {
737
703
  event.stopPropagation();
738
704
  if (blurPending && !finished) {
739
705
  blurPending = false;
740
- // Browsers may dispatch the final insertCompositionText/input after
741
- // compositionend. Commit on the next macrotask so those final chars are
742
- // part of this one canonical edit.
706
+ // Browsers may dispatch the final composition input after compositionend; commit on the next macrotask to include it.
743
707
  compositionFinalizeHandle = setTimeout(() => {
744
708
  compositionFinalizeHandle = null;
745
709
  if (!finished && !composing)
@@ -752,16 +716,14 @@ function makeSession(candidate) {
752
716
  return;
753
717
  const selection = doc.getSelection?.();
754
718
  if (!selection || selection.rangeCount === 0) {
755
- // A panel click can clear the page selection before blur; let blur own
756
- // the normal commit path unless the editing host still owns focus.
719
+ // A panel click can clear the page selection before blur; let blur own the commit path unless the host still owns focus.
757
720
  if (doc.activeElement === host)
758
721
  endLifecycle("selection-removed");
759
722
  return;
760
723
  }
761
724
  if (selection && selection.rangeCount > 0 && selectionInsideHost(host))
762
725
  return;
763
- // A removed selection/host is a lifecycle end, not a text operation. The
764
- // original node is restored only while its owning host is still connected.
726
+ // A removed selection/host is a lifecycle end, not a text operation.
765
727
  if (!host.isConnected || !candidate.element.isConnected) {
766
728
  endLifecycle(!host.isConnected ? "host-removed" : "selection-removed");
767
729
  return;
@@ -777,9 +739,7 @@ function makeSession(candidate) {
777
739
  if (!OwnerNode || !(target instanceof OwnerNode))
778
740
  return;
779
741
  if (host.contains(target)) {
780
- // All down/up events must reach the native editing host so caret and
781
- // drag-selection behavior remains intact. The click itself is held so
782
- // the app cannot activate the surrounding button/link.
742
+ // Down/up events must reach the host so caret and drag-selection work; the click is held so the app cannot activate the surrounding button/link.
783
743
  if (event.type === "mousedown" || event.type === "mouseup"
784
744
  || event.type === "pointerdown" || event.type === "pointerup")
785
745
  return;
@@ -790,9 +750,7 @@ function makeSession(candidate) {
790
750
  const inspectorRoot = doc.getElementById("nudge-ui-root");
791
751
  if (inspectorRoot && (target === inspectorRoot || inspectorRoot.contains(target)))
792
752
  return;
793
- // At the document boundary, application actions are suspended for the
794
- // duration of the draft. Inspector controls live in the scoped shadow
795
- // host above and remain usable.
753
+ // Outside the inspector root, application actions are suspended for the duration of the draft.
796
754
  if (event.type !== "mousedown" && event.type !== "mouseup"
797
755
  && event.type !== "pointerdown" && event.type !== "pointerup") {
798
756
  event.preventDefault();
@@ -800,9 +758,7 @@ function makeSession(candidate) {
800
758
  event.stopPropagation();
801
759
  }
802
760
  function suppressHostPointer(event) {
803
- // Keep the native default (focus transfer, caret placement, and drag
804
- // selection) while preventing an application ancestor from observing the
805
- // temporary host's pointer sequence.
761
+ // Keep native defaults; only stop an application ancestor from observing the host's pointer sequence.
806
762
  event.stopPropagation();
807
763
  }
808
764
  function onFrameDisposed() {
@@ -849,9 +805,6 @@ function makeSession(candidate) {
849
805
  }
850
806
  }
851
807
  else if (host.isConnected) {
852
- // A reconciliation can move the temporary host before removing the
853
- // original root. It no longer has an owned insertion point, so remove
854
- // the wrapper rather than leaking an editor into the new tree.
855
808
  host.remove();
856
809
  }
857
810
  finish(reason, "cancelled", discardedDraft, restoreFocus);
@@ -914,17 +867,14 @@ function makeSession(candidate) {
914
867
  endLifecycle("app-reconciled", after);
915
868
  return null;
916
869
  }
917
- // Always remove the temporary host before appending the canonical
918
- // change. The React Adapter must own the permanent preview.
870
+ // Remove the temporary host before appending the change: the React Adapter must own the permanent preview.
919
871
  const restoreFocus = editorOwnsFocus();
920
872
  if (!restoreDraft(candidate, host, candidate.before, ownership)) {
921
873
  cancelForReconciliation();
922
874
  return null;
923
875
  }
924
876
  if (change?.kind === "text-content" && editDecision.scope === "rendered-instance") {
925
- // The second text value is alternate evidence for re-entry after a
926
- // previous projection. Validation happens after unwrapping because a
927
- // mounted draft can make another identical root look unique.
877
+ // candidate.before is alternate evidence for re-entry; validate after unwrapping, when a mounted draft can make another identical root look unique.
928
878
  const resolved = resolveTextProjectionTarget(doc, change.target, candidate.before);
929
879
  if (resolved.status !== "resolved") {
930
880
  if (!resumeDraft(after))
@@ -1026,8 +976,7 @@ export const inlineTextEditor = {
1026
976
  return makeSession(candidate);
1027
977
  },
1028
978
  };
1029
- /** Re-enter an existing canonical rendered-text projection through its empty
1030
- * inspector affordance. This never guesses a new DOM target or source node. */
979
+ /** Re-enters an existing projection; never guesses a new DOM target or source node. */
1031
980
  export function beginInlineTextEditFromEmptyProjection(marker) {
1032
981
  if (!canEditDraft()) {
1033
982
  return { kind: "rejected", reason: "editing-active", message: "Wait for the iteration to finish saving before editing text." };
@@ -1049,9 +998,7 @@ export function beginInlineTextEditFromEmptyProjection(marker) {
1049
998
  const candidate = resolveEmptyProjectionCandidate(marker);
1050
999
  if (isTextEditRejection(candidate))
1051
1000
  return recordTextEditRejection(marker, candidate);
1052
- // Hide the affordance while its retained empty Text node is wrapped by the
1053
- // native editor. The marker is restored on cancel and removed by projection
1054
- // reconciliation on a successful non-empty commit.
1001
+ // Hide the affordance while the editor wraps its empty Text node; cancel restores it, a non-empty commit removes it via reconciliation.
1055
1002
  marker.hidden = true;
1056
1003
  try {
1057
1004
  return makeSession(candidate);
@@ -1,9 +1,4 @@
1
- /**
2
- * A tiny lifecycle seam keeps canonical-history clearing independent from the
3
- * editor implementation. The editor registers its active-session disposer;
4
- * changesLog can then cancel it without importing the editor back through a
5
- * circular module edge.
6
- */
1
+ // Keeps canonical-history clearing independent of the editor without importing it back through a circular edge.
7
2
  import { clearInlineTextDiagnostics } from "./inlineTextDiagnostics.js";
8
3
  let clearHandler = null;
9
4
  export function registerInlineTextClearHandler(handler) {
@@ -1,7 +1,6 @@
1
1
  import type { TextBindingCandidate, TextEditBinding } from "../componentSemantics/textBinding.js";
2
2
  import type { ChangeRecord } from "../changes/types.js";
3
3
  import type { TextProjectionScope, TextProjectionTarget } from "../changes/editModel.js";
4
- /** Binding and scope decisions, independent of native editor lifecycle state. */
5
4
  export interface TextEditDecision {
6
5
  bindingIndex: number | null;
7
6
  scope: TextProjectionScope;
@@ -53,11 +53,7 @@ export interface InspectElementOptions {
53
53
  catalog?: readonly TokenDefinition[];
54
54
  tokens?: readonly TokenEntry[];
55
55
  }
56
- /**
57
- * Returns the inspector's stable, read-only facts for one rendered element.
58
- * Compatibility tests and the React UI cross the same resolver/projection seam;
59
- * this function deliberately performs no selection or edit side effects.
60
- */
56
+ /** Deliberately performs no selection or edit side effects. */
61
57
  export declare function inspectElement(element: HTMLElement, options?: InspectElementOptions): ElementInspection;
62
58
  export interface NudgeUiInspectionBridge {
63
59
  version: typeof NUDGE_UI_INSPECTION_VERSION;
@@ -68,5 +64,5 @@ declare global {
68
64
  __nudgeUi?: NudgeUiInspectionBridge;
69
65
  }
70
66
  }
71
- /** Installs the dev-only browser seam used by compatibility applications. */
67
+ /** Dev-only seam used by compatibility applications. */
72
68
  export declare function installInspectionBridge(target?: Window): () => void;
@@ -21,9 +21,7 @@ function inspectBrowserFacts(element, definitions, entries) {
21
21
  tokens: session.inspectTokens(element),
22
22
  };
23
23
  }
24
- // Compatibility callers may provide a fixture-local catalog. Keep that
25
- // Adapter isolated from the document registry so one caller cannot replace
26
- // the token knowledge used by the live inspector session.
24
+ // Fixture-local catalogs stay out of the document registry so they cannot replace the live session's token knowledge.
27
25
  const session = createBrowserCssInspection({
28
26
  document: doc,
29
27
  tokenKnowledge: { definitions, entries, generation: "compatibility" },
@@ -53,11 +51,7 @@ function catalogEntry(definition) {
53
51
  })),
54
52
  };
55
53
  }
56
- /**
57
- * Returns the inspector's stable, read-only facts for one rendered element.
58
- * Compatibility tests and the React UI cross the same resolver/projection seam;
59
- * this function deliberately performs no selection or edit side effects.
60
- */
54
+ /** Deliberately performs no selection or edit side effects. */
61
55
  export function inspectElement(element, options = {}) {
62
56
  const runtimeConfig = getNudgeUiRuntimeConfig();
63
57
  const definitions = options.catalog ?? runtimeConfig.tokenCatalog;
@@ -82,9 +76,7 @@ export function inspectElement(element, options = {}) {
82
76
  return diagnostic ? [{ property: change.property, ...diagnostic.result }] : [];
83
77
  }),
84
78
  };
85
- // Local vanilla-extract themes attach contract variables to a theme class,
86
- // not necessarily :root. The selected element is therefore the correct
87
- // availability context for an element inspection.
79
+ // vanilla-extract themes attach contract variables to a theme class, not :root, so the element is the availability context.
88
80
  const controls = properties
89
81
  .filter((property) => !property.property.startsWith("--"))
90
82
  .map((property) => ({
@@ -118,7 +110,7 @@ export function inspectElement(element, options = {}) {
118
110
  : null,
119
111
  };
120
112
  }
121
- /** Installs the dev-only browser seam used by compatibility applications. */
113
+ /** Dev-only seam used by compatibility applications. */
122
114
  export function installInspectionBridge(target = window) {
123
115
  const bridge = {
124
116
  version: NUDGE_UI_INSPECTION_VERSION,
@@ -6,8 +6,7 @@ import { type TokenCatalogRow } from "../tokens/catalog.js";
6
6
  export interface BrowserTokenKnowledge {
7
7
  /** Build-time definitions normalized by a build-tool Adapter. */
8
8
  definitions: readonly TokenDefinition[];
9
- /** Optional compiler entries used to resolve authored references that are
10
- * intentionally not mounted as custom properties in the current document. */
9
+ /** Compiler entries for authored references intentionally not mounted as custom properties. */
11
10
  entries?: readonly TokenEntry[];
12
11
  /** Changes whenever the Adapter publishes a new token inventory. */
13
12
  generation: string | number;
@@ -16,12 +15,7 @@ export interface BrowserCssInspectionConfig {
16
15
  document: Document;
17
16
  tokenKnowledge: BrowserTokenKnowledge;
18
17
  }
19
- /**
20
- * Cascade transform owned exclusively by this module:
21
- * - authored: interaction-state attribution (default; state defaults to base)
22
- * - live: raw CSSOM matching as currently painted
23
- * - stable: drops transient pseudo-class rules for editor token linking
24
- */
18
+ /** authored: interaction-state attribution; live: raw CSSOM as painted; stable: drops transient pseudo-class rules for token linking. */
25
19
  export type InspectionCascade = "authored" | "live" | "stable";
26
20
  export interface BrowserCssInspectionOptions {
27
21
  state?: InteractionState;
@@ -72,10 +66,9 @@ export interface BrowserCssInspection {
72
66
  };
73
67
  inspectTokens(root?: HTMLElement): DocumentTokenInspectionSnapshot;
74
68
  subscribe(listener: (revision: InspectionRevision) => void): () => void;
75
- /** Integration hook for managed CSSOM writes. */
69
+ /** Integration hook for writes to the inspector's own managed stylesheets. */
76
70
  notifyStylesheetChange(): void;
77
- /** Optional: warms the CSSOM rule snapshot so the next inspect does not pay
78
- * the stylesheet walk inside its own budget. Cheap when already warm. */
71
+ /** Warms the CSSOM rule snapshot so the next inspect does not pay the stylesheet walk. */
79
72
  prewarmRules?(): void;
80
73
  dispose(): void;
81
74
  }
@@ -3,7 +3,7 @@ import { isNudgeUiDev } from "../runtime/devFlag.js";
3
3
  import { countInspectionWork } from "./performanceDiagnostics.js";
4
4
  import { buildTokenTable, getAvailableInteractionStates, getAvailableTokenCatalog, getAvailableTokenEntriesForElement, getResolvedProperties, getResolvedPropertiesForState, getResolvedPropertiesStable, invalidateStyleResolutionCache, prewarmCssomRuleSnapshot, prefetchContainerQueries, } from "../tokens/resolution.js";
5
5
  import { buildTokenCatalogRows } from "../tokens/catalog.js";
6
- import { documentRevisions, registerResolutionElement, retainDocumentResolution, subscribeDocumentRevision, } from "../tokens/resolution/cssomCollector.js";
6
+ import { documentRevisions, invalidateOwnedStyleResolution, registerResolutionElement, retainDocumentResolution, subscribeDocumentRevision, } from "../tokens/resolution/cssomCollector.js";
7
7
  function revisionSnapshot(revisions, tokenGeneration) {
8
8
  return {
9
9
  element: revisions.element,
@@ -138,8 +138,7 @@ export function createBrowserCssInspection(config) {
138
138
  const releaseDocumentResolution = retainDocumentResolution(config.document);
139
139
  const revisionUnsubscribers = new Set();
140
140
  const elementTables = new WeakMap();
141
- // When compiler entries are merged ahead of runtime availability, keep one
142
- // table per availableTokens identity so resolver caches stay warm.
141
+ // When compiler entries are merged ahead of runtime availability, keep one table per availableTokens identity so resolver caches stay warm.
143
142
  const mergedTables = new WeakMap();
144
143
  const mediaCleanup = [];
145
144
  const mediaQueries = new Set(definitions.flatMap((definition) => definition.declarations.flatMap((declaration) => (declaration.context.wrappers ?? [])
@@ -217,10 +216,7 @@ export function createBrowserCssInspection(config) {
217
216
  }
218
217
  try {
219
218
  const { availableTokens, table } = tokenTableFor(element);
220
- // Only the authored cascade reports which interaction states have
221
- // authored rules (the panel's state selector reads it there). Stable
222
- // and live consumers project properties only, so skip the O(rules)
223
- // per-state matching sweep for them.
219
+ // Only the authored cascade reports authored interaction states; the O(rules) per-state sweep is skipped elsewhere.
224
220
  const availableStates = cascade === "stable"
225
221
  ? ["base"]
226
222
  : getAvailableInteractionStates(element);
@@ -318,7 +314,7 @@ export function createBrowserCssInspection(config) {
318
314
  },
319
315
  notifyStylesheetChange() {
320
316
  if (!disposed)
321
- invalidateStyleResolutionCache(config.document);
317
+ invalidateOwnedStyleResolution(config.document);
322
318
  },
323
319
  prewarmRules() {
324
320
  if (!disposed)
@@ -1,12 +1,5 @@
1
1
  import { type BrowserCssInspection, type BrowserTokenKnowledge } from "./browserCssInspection.js";
2
- /**
3
- * Binds a document to token knowledge. When generation changes, the previous
4
- * session is disposed and replaced so callers never keep a stale catalog.
5
- */
6
2
  export declare function bindBrowserCssInspection(doc: Document, knowledge: BrowserTokenKnowledge): BrowserCssInspection;
7
- /** Returns the one browser inspection session owned by a document. */
8
3
  export declare function getBrowserCssInspection(doc?: Document): BrowserCssInspection;
9
- /** Invalidates every browser-inspection snapshot affected by a CSSOM write. */
10
4
  export declare function notifyBrowserStylesheetChange(doc?: Document): void;
11
- /** Releases a document session when its inspector/Canvas lifecycle ends. */
12
5
  export declare function disposeBrowserCssInspection(doc: Document): void;
@@ -6,15 +6,7 @@ let catalogSignature = "";
6
6
  let catalogRevision = 0;
7
7
  function currentTokenKnowledge() {
8
8
  const { tokenCatalog, tokenGeneration } = getNudgeUiRuntimeConfig();
9
- // The inventory snapshot generation is the authoritative fingerprint: when
10
- // observable inventory facts change, the virtual module re-evaluates and
11
- // `tokenGeneration` carries a new value, so document sessions recreate with
12
- // the new definitions instead of freezing the first catalog snapshot.
13
- //
14
- // A catalog signature supplements the inventory generation because S2-B
15
- // still has temporary post-snapshot Tailwind/vanilla-extract enrichment.
16
- // It advances only when those observable transport definitions change, not
17
- // for a no-op virtual-module replacement.
9
+ // The inventory generation recreates document sessions with new definitions; the catalog signature supplements it for post-snapshot enrichment.
18
10
  if (catalogReference !== tokenCatalog) {
19
11
  catalogReference = tokenCatalog;
20
12
  const nextSignature = JSON.stringify(tokenCatalog);
@@ -28,10 +20,6 @@ function currentTokenKnowledge() {
28
20
  : catalogRevision === 0 ? tokenGeneration : `${tokenGeneration}:${catalogRevision}`;
29
21
  return { definitions: tokenCatalog, generation };
30
22
  }
31
- /**
32
- * Binds a document to token knowledge. When generation changes, the previous
33
- * session is disposed and replaced so callers never keep a stale catalog.
34
- */
35
23
  export function bindBrowserCssInspection(doc, knowledge) {
36
24
  const existing = sessions.get(doc);
37
25
  if (existing && existing.generation === knowledge.generation) {
@@ -48,15 +36,12 @@ export function bindBrowserCssInspection(doc, knowledge) {
48
36
  sessions.set(doc, { session, generation: knowledge.generation });
49
37
  return session;
50
38
  }
51
- /** Returns the one browser inspection session owned by a document. */
52
39
  export function getBrowserCssInspection(doc = document) {
53
40
  return bindBrowserCssInspection(doc, currentTokenKnowledge());
54
41
  }
55
- /** Invalidates every browser-inspection snapshot affected by a CSSOM write. */
56
42
  export function notifyBrowserStylesheetChange(doc = document) {
57
43
  getBrowserCssInspection(doc).notifyStylesheetChange();
58
44
  }
59
- /** Releases a document session when its inspector/Canvas lifecycle ends. */
60
45
  export function disposeBrowserCssInspection(doc) {
61
46
  const entry = sessions.get(doc);
62
47
  if (!entry)
@@ -13,7 +13,6 @@ export type SelectionToken = {
13
13
  } | {
14
14
  kind: "mixed";
15
15
  };
16
- /** One CSS property projected across every element in the current selection. */
17
16
  export interface SelectionProperty {
18
17
  property: string;
19
18
  value: SelectionValue;
@@ -21,12 +20,8 @@ export interface SelectionProperty {
21
20
  primaryRow: ResolvedProperty | null;
22
21
  rows: readonly (ResolvedProperty | null)[];
23
22
  }
24
- /**
25
- * Projects browser values and authored inspection rows into group-safe facts.
26
- * The returned type cannot masquerade as an authored CSS row.
27
- */
23
+ /** The result cannot masquerade as an authored CSS row. */
28
24
  export declare function projectSelectionProperty(property: string, rows: readonly (ResolvedProperty | null)[], values: readonly string[], primaryIndex: number): SelectionProperty | null;
29
- /** Returns the token entries available to every inspected target. */
30
25
  export declare function intersectTokenEntries<T extends {
31
26
  name: string;
32
27
  value: string;
@@ -7,10 +7,7 @@ function tokenFor(rows) {
7
7
  ? { kind: "common", name: first }
8
8
  : { kind: "mixed" };
9
9
  }
10
- /**
11
- * Projects browser values and authored inspection rows into group-safe facts.
12
- * The returned type cannot masquerade as an authored CSS row.
13
- */
10
+ /** The result cannot masquerade as an authored CSS row. */
14
11
  export function projectSelectionProperty(property, rows, values, primaryIndex) {
15
12
  if (values.length === 0 || rows.length !== values.length)
16
13
  return null;
@@ -25,7 +22,6 @@ export function projectSelectionProperty(property, rows, values, primaryIndex) {
25
22
  rows,
26
23
  };
27
24
  }
28
- /** Returns the token entries available to every inspected target. */
29
25
  export function intersectTokenEntries(entries) {
30
26
  const first = entries[0];
31
27
  if (!first)
@@ -12,9 +12,5 @@ export interface BrowserCssInspectionViewOptions {
12
12
  includeDocumentTokens?: boolean;
13
13
  session?: BrowserCssInspection;
14
14
  }
15
- /**
16
- * React Adapter for one revision-aware browser inspection view. This is the
17
- * sole owner of subscription and scheduling policy; UI callers only project
18
- * the returned snapshots.
19
- */
15
+ /** Sole owner of subscription and scheduling policy; callers only project the returned snapshots. */
20
16
  export declare function useBrowserCssInspection(selected: SelectedElement | readonly SelectedElement[] | null, state?: InteractionState, options?: BrowserCssInspectionViewOptions): BrowserCssInspectionView;
@@ -32,11 +32,7 @@ function inspectView(session, selected, state, includeDocumentTokens) {
32
32
  documentTokens: includeDocumentTokens ? session.inspectTokens() : null,
33
33
  };
34
34
  }
35
- /**
36
- * React Adapter for one revision-aware browser inspection view. This is the
37
- * sole owner of subscription and scheduling policy; UI callers only project
38
- * the returned snapshots.
39
- */
35
+ /** Sole owner of subscription and scheduling policy; callers only project the returned snapshots. */
40
36
  export function useBrowserCssInspection(selected, state = "base", options = {}) {
41
37
  const selectedElements = useMemo(() => normalizeSelection(selected), [selected]);
42
38
  const selectedDocument = selectedElements[0]?.domElement.ownerDocument ?? document;
@@ -83,10 +79,7 @@ export function useBrowserCssInspection(selected, state = "base", options = {})
83
79
  };
84
80
  const scheduleSelectionInspection = () => {
85
81
  cancelScheduledInspection();
86
- // Leading-edge resolve: a selection change resolves immediately instead
87
- // of always waiting out the debounce. Rapid re-selections inside the
88
- // trailing window still coalesce onto one trailing resolve, so the final
89
- // view is identical and repeated selections cannot stack full sweeps.
82
+ // Leading-edge resolve: a selection change resolves immediately, and rapid re-selections coalesce onto one trailing resolve.
90
83
  const sinceLast = performance.now() - lastSelectionResolveAtRef.current;
91
84
  if (sinceLast >= SELECTION_DEBOUNCE_MS) {
92
85
  resolveSync();
@@ -99,12 +92,7 @@ export function useBrowserCssInspection(selected, state = "base", options = {})
99
92
  };
100
93
  const scheduleRevisionInspection = () => {
101
94
  cancelScheduledInspection();
102
- // Let the host commit and paint before refreshing the inspector
103
- // projection. The extra frames keep the refresh start past the gap
104
- // between rapid successive edits, so a new revision cancels the pending
105
- // refresh instead of colliding with a running one, and they give the
106
- // stylesheet walk its own frame so no single refresh task blocks for the
107
- // combined duration of the walk plus a cascade sweep.
95
+ // Let the host commit and paint: the extra frames let a new revision cancel the pending refresh and give the stylesheet walk its own frame.
108
96
  revisionFrameRef.current = requestAnimationFrame(() => {
109
97
  revisionFrameRef.current = null;
110
98
  revisionSecondFrameRef.current = requestAnimationFrame(() => {
@@ -125,10 +113,7 @@ export function useBrowserCssInspection(selected, state = "base", options = {})
125
113
  return cancelScheduledInspection;
126
114
  }, [includeDocumentTokens, selectedElements, state, session]);
127
115
  useEffect(() => session.subscribe(scheduleRevisionInspection), [session]);
128
- // Warm the CSSOM rule snapshot during idle time so the first selection does
129
- // not pay the stylesheet walk inside its own interaction. The idle timeout
130
- // bounds the wait without competing with page-load paint; the walk is
131
- // idempotent per stylesheet revision, so this is a no-op once warm.
116
+ // Warm during idle so the first selection does not pay the stylesheet walk; the walk is idempotent per stylesheet revision.
132
117
  const prewarmedSessionRef = useRef(null);
133
118
  useEffect(() => {
134
119
  if (prewarmedSessionRef.current === session)
@@ -143,8 +128,7 @@ export function useBrowserCssInspection(selected, state = "base", options = {})
143
128
  const timeoutId = setTimeout(warm, 200);
144
129
  return () => clearTimeout(timeoutId);
145
130
  }, [session, selectedDocument]);
146
- // Selection effects run after children render. Never expose the previous
147
- // element's authored rows while the new selection is waiting for inspection.
131
+ // Selection effects run after children render; never expose the previous element's rows while inspection is pending.
148
132
  const matchesSelection = view.session === session && view.state === state
149
133
  && view.selection.length === selectedElements.length
150
134
  && view.selection.every((element, index) => element.domElement === selectedElements[index]?.domElement);
@@ -1,3 +1,2 @@
1
1
  import type { CanvasFrame } from "../canvas/canvasFrame.js";
2
- /** Captures the visible DOM of a same-origin frame as a script-free HTML iteration. */
3
2
  export declare function captureHtmlIteration(frame: CanvasFrame): Promise<string>;