chrome-devtools-frontend 1.0.1022611 → 1.0.1024166

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 (358) hide show
  1. package/.eslintignore +4 -2
  2. package/.eslintrc.js +1 -0
  3. package/front_end/core/common/AppProvider.ts +1 -1
  4. package/front_end/core/common/Object.ts +7 -2
  5. package/front_end/core/common/SettingRegistration.ts +1 -1
  6. package/front_end/core/common/Settings.ts +2 -3
  7. package/front_end/core/host/InspectorFrontendHost.ts +13 -5
  8. package/front_end/core/host/ResourceLoader.ts +1 -1
  9. package/front_end/core/i18n/locales/en-US.json +24 -0
  10. package/front_end/core/i18n/locales/en-XL.json +24 -0
  11. package/front_end/core/platform/UserVisibleError.ts +1 -1
  12. package/front_end/core/sdk/AccessibilityModel.ts +3 -4
  13. package/front_end/core/sdk/CPUProfileDataModel.ts +1 -1
  14. package/front_end/core/sdk/CPUProfilerModel.ts +3 -3
  15. package/front_end/core/sdk/CPUThrottlingManager.ts +2 -2
  16. package/front_end/core/sdk/CSSContainerQuery.ts +2 -2
  17. package/front_end/core/sdk/CSSLayer.ts +1 -1
  18. package/front_end/core/sdk/CSSMatchedStyles.ts +3 -3
  19. package/front_end/core/sdk/CSSMedia.ts +1 -1
  20. package/front_end/core/sdk/CSSModel.ts +6 -6
  21. package/front_end/core/sdk/CSSProperty.ts +2 -2
  22. package/front_end/core/sdk/CSSQuery.ts +2 -3
  23. package/front_end/core/sdk/CSSRule.ts +2 -2
  24. package/front_end/core/sdk/CSSScope.ts +1 -1
  25. package/front_end/core/sdk/CSSStyleDeclaration.ts +3 -3
  26. package/front_end/core/sdk/CSSStyleSheetHeader.ts +3 -3
  27. package/front_end/core/sdk/CSSSupports.ts +1 -1
  28. package/front_end/core/sdk/ChildTargetManager.ts +2 -2
  29. package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +1 -2
  30. package/front_end/core/sdk/ConsoleModel.ts +15 -12
  31. package/front_end/core/sdk/CookieModel.ts +4 -5
  32. package/front_end/core/sdk/DOMDebuggerModel.ts +7 -7
  33. package/front_end/core/sdk/DOMModel.ts +3 -3
  34. package/front_end/core/sdk/DebuggerModel.ts +5 -6
  35. package/front_end/core/sdk/EmulationModel.ts +2 -2
  36. package/front_end/core/sdk/EventBreakpointsModel.ts +4 -4
  37. package/front_end/core/sdk/FilmStripModel.ts +1 -2
  38. package/front_end/core/sdk/FrameAssociated.ts +1 -1
  39. package/front_end/core/sdk/FrameManager.ts +6 -6
  40. package/front_end/core/sdk/HeapProfilerModel.ts +4 -4
  41. package/front_end/core/sdk/IOModel.ts +2 -2
  42. package/front_end/core/sdk/IsolateManager.ts +3 -3
  43. package/front_end/core/sdk/IssuesModel.ts +1 -2
  44. package/front_end/core/sdk/LayerTreeBase.ts +3 -4
  45. package/front_end/core/sdk/LogModel.ts +1 -2
  46. package/front_end/core/sdk/NetworkManager.ts +18 -9
  47. package/front_end/core/sdk/NetworkRequest.ts +1 -2
  48. package/front_end/core/sdk/OverlayModel.ts +5 -5
  49. package/front_end/core/sdk/PageLoad.ts +1 -1
  50. package/front_end/core/sdk/PageResourceLoader.ts +3 -3
  51. package/front_end/core/sdk/PaintProfiler.ts +1 -2
  52. package/front_end/core/sdk/PerformanceMetricsModel.ts +1 -2
  53. package/front_end/core/sdk/ProfileTreeModel.ts +1 -1
  54. package/front_end/core/sdk/RemoteObject.ts +3 -3
  55. package/front_end/core/sdk/Resource.ts +2 -3
  56. package/front_end/core/sdk/ResourceTreeModel.ts +6 -7
  57. package/front_end/core/sdk/RuntimeModel.ts +5 -5
  58. package/front_end/core/sdk/SDKModel.ts +1 -1
  59. package/front_end/core/sdk/ScreenCaptureModel.ts +2 -2
  60. package/front_end/core/sdk/Script.ts +5 -6
  61. package/front_end/core/sdk/SecurityOriginManager.ts +1 -2
  62. package/front_end/core/sdk/ServerTiming.ts +1 -1
  63. package/front_end/core/sdk/ServiceWorkerCacheModel.ts +3 -3
  64. package/front_end/core/sdk/ServiceWorkerManager.ts +3 -4
  65. package/front_end/core/sdk/SourceMap.ts +2 -2
  66. package/front_end/core/sdk/SourceMapManager.ts +5 -5
  67. package/front_end/core/sdk/StorageKeyManager.ts +1 -2
  68. package/front_end/core/sdk/Target.ts +1 -1
  69. package/front_end/core/sdk/TargetManager.ts +1 -1
  70. package/front_end/core/sdk/TracingManager.ts +2 -3
  71. package/front_end/core/sdk/TracingModel.ts +1 -1
  72. package/front_end/core/sdk/WebAuthnModel.ts +1 -2
  73. package/front_end/entrypoints/formatter_worker/CSSFormatter.ts +1 -1
  74. package/front_end/entrypoints/formatter_worker/CSSRuleParser.ts +1 -2
  75. package/front_end/entrypoints/formatter_worker/FormatterWorker.ts +1 -1
  76. package/front_end/entrypoints/formatter_worker/HTMLFormatter.ts +1 -1
  77. package/front_end/entrypoints/formatter_worker/IdentityFormatter.ts +1 -1
  78. package/front_end/entrypoints/formatter_worker/JSONFormatter.ts +1 -1
  79. package/front_end/entrypoints/formatter_worker/JavaScriptFormatter.ts +2 -3
  80. package/front_end/entrypoints/formatter_worker/JavaScriptOutline.ts +1 -1
  81. package/front_end/entrypoints/formatter_worker/ScopeParser.ts +2 -2
  82. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +1 -1
  83. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshotLoader.ts +3 -3
  84. package/front_end/generated/.clang-format +1 -0
  85. package/front_end/generated/ARIAProperties.js +1515 -517
  86. package/front_end/generated/InspectorBackendCommands.js +960 -3655
  87. package/front_end/generated/SupportedCSSProperties.js +5719 -1314
  88. package/front_end/generated/protocol-mapping.d.ts +1865 -608
  89. package/front_end/generated/protocol-proxy-api.d.ts +384 -576
  90. package/front_end/generated/protocol.ts +9 -12
  91. package/front_end/models/bindings/BreakpointManager.ts +2 -2
  92. package/front_end/models/bindings/CSSWorkspaceBinding.ts +5 -2
  93. package/front_end/models/bindings/CompilerScriptMapping.ts +5 -1
  94. package/front_end/models/bindings/DebuggerLanguagePlugins.ts +2 -2
  95. package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +4 -4
  96. package/front_end/models/bindings/DefaultScriptMapping.ts +1 -1
  97. package/front_end/models/bindings/IgnoreListManager.ts +1 -1
  98. package/front_end/models/bindings/PresentationConsoleMessageHelper.ts +2 -2
  99. package/front_end/models/bindings/ResourceScriptMapping.ts +2 -4
  100. package/front_end/models/bindings/SASSSourceMapping.ts +2 -2
  101. package/front_end/models/bindings/StylesSourceMapping.ts +1 -1
  102. package/front_end/models/bindings/TempFile.ts +1 -2
  103. package/front_end/models/emulation/DeviceModeModel.ts +8 -2
  104. package/front_end/models/extensions/ExtensionPanel.ts +1 -1
  105. package/front_end/models/extensions/ExtensionServer.ts +3 -3
  106. package/front_end/models/extensions/ExtensionView.ts +1 -1
  107. package/front_end/models/extensions/LanguageExtensionEndpoint.ts +1 -1
  108. package/front_end/models/extensions/RecorderPluginManager.ts +1 -1
  109. package/front_end/models/formatter/SourceFormatter.ts +1 -2
  110. package/front_end/models/har/Importer.ts +1 -1
  111. package/front_end/models/har/Writer.ts +2 -2
  112. package/front_end/models/issues_manager/AttributionReportingIssue.ts +1 -1
  113. package/front_end/models/issues_manager/ClientHintIssue.ts +6 -2
  114. package/front_end/models/issues_manager/ContentSecurityPolicyIssue.ts +6 -2
  115. package/front_end/models/issues_manager/CookieIssue.ts +6 -2
  116. package/front_end/models/issues_manager/CorsIssue.ts +1 -1
  117. package/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.ts +6 -2
  118. package/front_end/models/issues_manager/DeprecationIssue.ts +2 -2
  119. package/front_end/models/issues_manager/FederatedAuthRequestIssue.ts +6 -2
  120. package/front_end/models/issues_manager/GenericIssue.ts +6 -2
  121. package/front_end/models/issues_manager/HeavyAdIssue.ts +1 -1
  122. package/front_end/models/issues_manager/Issue.ts +1 -1
  123. package/front_end/models/issues_manager/IssueResolver.ts +2 -3
  124. package/front_end/models/issues_manager/IssuesManager.ts +1 -1
  125. package/front_end/models/issues_manager/LowTextContrastIssue.ts +1 -1
  126. package/front_end/models/issues_manager/MixedContentIssue.ts +1 -1
  127. package/front_end/models/issues_manager/NavigatorUserAgentIssue.ts +1 -1
  128. package/front_end/models/issues_manager/QuirksModeIssue.ts +1 -1
  129. package/front_end/models/issues_manager/RelatedIssue.ts +1 -1
  130. package/front_end/models/issues_manager/SharedArrayBufferIssue.ts +1 -1
  131. package/front_end/models/issues_manager/SourceFrameIssuesManager.ts +3 -3
  132. package/front_end/models/issues_manager/TrustedWebActivityIssue.ts +6 -2
  133. package/front_end/models/javascript_metadata/NativeFunctions.js +22 -32
  134. package/front_end/models/persistence/Automapping.ts +1 -2
  135. package/front_end/models/persistence/EditFileSystemView.ts +1 -1
  136. package/front_end/models/persistence/FileSystemWorkspaceBinding.ts +4 -4
  137. package/front_end/models/persistence/IsolatedFileSystem.ts +1 -2
  138. package/front_end/models/persistence/IsolatedFileSystemManager.ts +2 -2
  139. package/front_end/models/persistence/NetworkPersistenceManager.ts +1 -2
  140. package/front_end/models/persistence/PersistenceImpl.ts +1 -2
  141. package/front_end/models/persistence/PersistenceUtils.ts +1 -2
  142. package/front_end/models/persistence/WorkspaceSettingsTab.ts +2 -2
  143. package/front_end/models/text_utils/StaticContentProvider.ts +1 -1
  144. package/front_end/models/timeline_model/TimelineFrameModel.ts +2 -2
  145. package/front_end/models/timeline_model/TimelineProfileTree.ts +1 -1
  146. package/front_end/models/timeline_model/TracingLayerTree.ts +1 -1
  147. package/front_end/models/workspace/UISourceCode.ts +1 -2
  148. package/front_end/models/workspace/WorkspaceImpl.ts +1 -2
  149. package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +1 -1
  150. package/front_end/panels/animation/AnimationGroupPreviewUI.ts +1 -1
  151. package/front_end/panels/animation/AnimationTimeline.ts +7 -2
  152. package/front_end/panels/animation/AnimationUI.ts +3 -3
  153. package/front_end/panels/application/ApplicationPanelCacheSection.ts +1 -1
  154. package/front_end/panels/application/ApplicationPanelSidebar.ts +13 -7
  155. package/front_end/panels/application/ApplicationPanelTreeElement.ts +1 -1
  156. package/front_end/panels/application/BackgroundServiceView.ts +1 -2
  157. package/front_end/panels/application/DatabaseQueryView.ts +1 -1
  158. package/front_end/panels/application/DatabaseTableView.ts +1 -1
  159. package/front_end/panels/application/IndexedDBViews.ts +9 -2
  160. package/front_end/panels/application/InterestGroupTreeElement.ts +1 -1
  161. package/front_end/panels/application/ReportingApiTreeElement.ts +1 -1
  162. package/front_end/panels/application/ResourcesPanel.ts +1 -1
  163. package/front_end/panels/application/TrustTokensTreeElement.ts +1 -1
  164. package/front_end/panels/application/components/FrameDetailsView.ts +9 -6
  165. package/front_end/panels/console/ConsoleFilter.ts +1 -1
  166. package/front_end/panels/console/ConsoleSidebar.ts +2 -3
  167. package/front_end/panels/console/ConsoleView.ts +2 -4
  168. package/front_end/panels/console/ConsoleViewMessage.ts +2 -2
  169. package/front_end/panels/console/ConsoleViewport.ts +1 -1
  170. package/front_end/panels/coverage/CoverageDecorationManager.ts +1 -1
  171. package/front_end/panels/coverage/CoverageListView.ts +1 -2
  172. package/front_end/panels/coverage/CoverageView.ts +1 -2
  173. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +9 -5
  174. package/front_end/panels/css_overview/CSSOverviewController.ts +2 -2
  175. package/front_end/panels/css_overview/CSSOverviewModel.ts +3 -3
  176. package/front_end/panels/css_overview/CSSOverviewPanel.ts +4 -5
  177. package/front_end/panels/css_overview/CSSOverviewProcessingView.ts +1 -2
  178. package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +3 -3
  179. package/front_end/panels/elements/ComputedStyleWidget.ts +3 -4
  180. package/front_end/panels/elements/DOMLinkifier.ts +5 -1
  181. package/front_end/panels/elements/ElementsPanel.ts +7 -4
  182. package/front_end/panels/elements/ElementsSidebarPane.ts +1 -2
  183. package/front_end/panels/elements/ElementsTreeElement.ts +3 -4
  184. package/front_end/panels/elements/ElementsTreeOutline.ts +1 -1
  185. package/front_end/panels/elements/PlatformFontsWidget.ts +1 -2
  186. package/front_end/panels/elements/StyleEditorWidget.ts +2 -2
  187. package/front_end/panels/elements/StylePropertiesSection.ts +1 -2
  188. package/front_end/panels/elements/StylePropertyHighlighter.ts +2 -2
  189. package/front_end/panels/elements/StylePropertyTreeElement.ts +2 -3
  190. package/front_end/panels/elements/StylesSidebarPane.ts +39 -8
  191. package/front_end/panels/elements/TopLayerContainer.ts +1 -1
  192. package/front_end/panels/elements/components/AdornerSettingsPane.ts +1 -1
  193. package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +2 -3
  194. package/front_end/panels/elements/components/ElementsBreadcrumbsUtils.ts +1 -1
  195. package/front_end/panels/elements/components/LayoutPane.ts +1 -2
  196. package/front_end/panels/elements/components/QueryContainer.ts +1 -1
  197. package/front_end/panels/elements/components/StylePropertyEditor.ts +1 -2
  198. package/front_end/panels/emulation/AdvancedApp.ts +2 -2
  199. package/front_end/panels/emulation/DeviceModeWrapper.ts +1 -1
  200. package/front_end/panels/event_listeners/EventListenersView.ts +1 -2
  201. package/front_end/panels/issues/AffectedResourcesView.ts +2 -2
  202. package/front_end/panels/issues/CorsIssueDetailsView.ts +2 -2
  203. package/front_end/panels/issues/IssueView.ts +2 -2
  204. package/front_end/panels/issues/IssuesPane.ts +6 -2
  205. package/front_end/panels/layer_viewer/LayerDetailsView.ts +8 -2
  206. package/front_end/panels/layer_viewer/LayerTreeOutline.ts +7 -2
  207. package/front_end/panels/layer_viewer/Layers3DView.ts +9 -2
  208. package/front_end/panels/lighthouse/LighthouseController.ts +1 -1
  209. package/front_end/panels/lighthouse/LighthousePanel.ts +10 -6
  210. package/front_end/panels/lighthouse/LighthouseReportRenderer.ts +5 -1
  211. package/front_end/panels/lighthouse/LighthouseStartView.ts +1 -2
  212. package/front_end/panels/lighthouse/LighthouseStatusView.ts +1 -2
  213. package/front_end/panels/lighthouse/LighthouseTimespanView.ts +1 -2
  214. package/front_end/panels/media/EventDisplayTable.ts +1 -1
  215. package/front_end/panels/media/EventTimelineView.ts +9 -3
  216. package/front_end/panels/media/MainView.ts +1 -2
  217. package/front_end/panels/media/PlayerDetailView.ts +4 -3
  218. package/front_end/panels/media/PlayerListView.ts +2 -2
  219. package/front_end/panels/media/PlayerMessagesView.ts +76 -0
  220. package/front_end/panels/media/playerMessagesView.css +15 -0
  221. package/front_end/panels/mobile_throttling/MobileThrottlingSelector.ts +6 -2
  222. package/front_end/panels/mobile_throttling/NetworkThrottlingSelector.ts +1 -2
  223. package/front_end/panels/mobile_throttling/ThrottlingManager.ts +7 -4
  224. package/front_end/panels/network/NetworkDataGridNode.ts +1 -1
  225. package/front_end/panels/network/NetworkFrameGrouper.ts +1 -1
  226. package/front_end/panels/network/NetworkItemView.ts +1 -1
  227. package/front_end/panels/network/NetworkLogView.ts +10 -3
  228. package/front_end/panels/network/NetworkLogViewColumns.ts +7 -6
  229. package/front_end/panels/network/NetworkPanel.ts +3 -4
  230. package/front_end/panels/network/NetworkWaterfallColumn.ts +4 -4
  231. package/front_end/panels/network/RequestTimingView.ts +1 -2
  232. package/front_end/panels/network/components/RequestHeadersView.css +4 -0
  233. package/front_end/panels/network/components/RequestHeadersView.ts +57 -14
  234. package/front_end/panels/profiler/BottomUpProfileDataGrid.ts +2 -3
  235. package/front_end/panels/profiler/CPUProfileView.ts +3 -3
  236. package/front_end/panels/profiler/HeapProfileView.ts +4 -5
  237. package/front_end/panels/profiler/HeapProfilerPanel.ts +2 -2
  238. package/front_end/panels/profiler/HeapSnapshotDataGrids.ts +4 -4
  239. package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +11 -7
  240. package/front_end/panels/profiler/HeapSnapshotProxy.ts +1 -1
  241. package/front_end/panels/profiler/HeapSnapshotView.ts +13 -8
  242. package/front_end/panels/profiler/ProfileLauncherView.ts +2 -2
  243. package/front_end/panels/profiler/ProfileSidebarTreeElement.ts +6 -2
  244. package/front_end/panels/profiler/ProfileView.ts +6 -6
  245. package/front_end/panels/profiler/ProfilesPanel.ts +6 -2
  246. package/front_end/panels/profiler/TopDownProfileDataGrid.ts +1 -2
  247. package/front_end/panels/search/SearchResultsPane.ts +1 -1
  248. package/front_end/panels/search/SearchView.ts +1 -2
  249. package/front_end/panels/security/SecurityPanel.ts +7 -2
  250. package/front_end/panels/settings/SettingsScreen.ts +1 -1
  251. package/front_end/panels/settings/emulation/utils/UserAgentMetadata.ts +11 -2
  252. package/front_end/panels/sources/EditingLocationHistoryManager.ts +2 -2
  253. package/front_end/panels/sources/GoToLineQuickOpen.ts +1 -1
  254. package/front_end/panels/sources/InplaceFormatterEditorAction.ts +7 -2
  255. package/front_end/panels/sources/ScriptFormatterEditorAction.ts +7 -2
  256. package/front_end/panels/sources/SourcesNavigator.ts +1 -2
  257. package/front_end/panels/sources/SourcesPanel.ts +1 -1
  258. package/front_end/panels/sources/SourcesSearchScope.ts +3 -0
  259. package/front_end/panels/sources/SourcesView.ts +6 -2
  260. package/front_end/panels/sources/UISourceCodeFrame.ts +1 -1
  261. package/front_end/panels/timeline/CountersGraph.ts +2 -3
  262. package/front_end/panels/timeline/EventsTimelineTreeView.ts +2 -2
  263. package/front_end/panels/timeline/ExtensionTracingSession.ts +3 -3
  264. package/front_end/panels/timeline/TimelineDetailsView.ts +6 -6
  265. package/front_end/panels/timeline/TimelineEventOverview.ts +3 -3
  266. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +3 -3
  267. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +1 -1
  268. package/front_end/panels/timeline/TimelineFlameChartView.ts +6 -6
  269. package/front_end/panels/timeline/TimelineHistoryManager.ts +1 -1
  270. package/front_end/panels/timeline/TimelinePanel.ts +5 -5
  271. package/front_end/panels/timeline/TimelineTreeView.ts +2 -2
  272. package/front_end/panels/timeline/UIDevtoolsController.ts +1 -2
  273. package/front_end/panels/timeline/components/WebVitalsLane.ts +9 -2
  274. package/front_end/panels/timeline/components/WebVitalsTimeline.ts +1 -1
  275. package/front_end/panels/web_audio/graph_visualizer/EdgeView.ts +1 -1
  276. package/front_end/panels/web_audio/graph_visualizer/GraphView.ts +9 -3
  277. package/front_end/panels/web_audio/graph_visualizer/NodeRendererUtility.ts +2 -1
  278. package/front_end/panels/web_audio/graph_visualizer/NodeView.ts +3 -1
  279. package/front_end/third_party/.clang-format +1 -1
  280. package/front_end/third_party/i18n/localized-string-set.ts +1 -1
  281. package/front_end/ui/components/buttons/Button.ts +32 -7
  282. package/front_end/ui/components/buttons/button.css +16 -0
  283. package/front_end/ui/components/data_grid/DataGrid.ts +5 -1
  284. package/front_end/ui/components/data_grid/DataGridContextMenuUtils.ts +2 -2
  285. package/front_end/ui/components/data_grid/DataGridController.ts +12 -5
  286. package/front_end/ui/components/data_grid/DataGridControllerIntegrator.ts +1 -2
  287. package/front_end/ui/components/data_grid/DataGridEvents.ts +1 -1
  288. package/front_end/ui/components/data_grid/DataGridRenderers.ts +1 -1
  289. package/front_end/ui/components/docs/building-ui-documentation/CreatingComponents.md +112 -0
  290. package/front_end/ui/components/docs/building-ui-documentation/README.md +19 -0
  291. package/front_end/ui/components/docs/button/basic.html +11 -0
  292. package/front_end/ui/components/docs/button/basic.ts +7 -0
  293. package/front_end/ui/components/icon_button/IconButton.ts +1 -3
  294. package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspector.ts +27 -13
  295. package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspectorController.ts +9 -4
  296. package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspectorPane.ts +10 -5
  297. package/front_end/ui/components/linear_memory_inspector/LinearMemoryValueInterpreter.ts +8 -7
  298. package/front_end/ui/components/linear_memory_inspector/LinearMemoryViewer.ts +1 -1
  299. package/front_end/ui/components/markdown_view/MarkdownImage.ts +1 -2
  300. package/front_end/ui/components/markdown_view/MarkdownView.ts +2 -4
  301. package/front_end/ui/components/tree_outline/TreeOutline.ts +3 -1
  302. package/front_end/ui/legacy/ActionRegistry.ts +1 -2
  303. package/front_end/ui/legacy/Context.ts +1 -1
  304. package/front_end/ui/legacy/ContextMenu.ts +2 -2
  305. package/front_end/ui/legacy/Dialog.ts +4 -4
  306. package/front_end/ui/legacy/DockController.ts +4 -4
  307. package/front_end/ui/legacy/FilterBar.ts +3 -3
  308. package/front_end/ui/legacy/FilterSuggestionBuilder.ts +1 -1
  309. package/front_end/ui/legacy/GlassPane.ts +3 -3
  310. package/front_end/ui/legacy/Infobar.ts +1 -1
  311. package/front_end/ui/legacy/InspectorView.ts +10 -10
  312. package/front_end/ui/legacy/ListControl.ts +2 -2
  313. package/front_end/ui/legacy/Panel.ts +1 -1
  314. package/front_end/ui/legacy/ShortcutRegistry.ts +2 -3
  315. package/front_end/ui/legacy/SoftDropDown.ts +4 -4
  316. package/front_end/ui/legacy/SplitWidget.ts +2 -2
  317. package/front_end/ui/legacy/SuggestBox.ts +2 -2
  318. package/front_end/ui/legacy/TabbedPane.ts +2 -2
  319. package/front_end/ui/legacy/TextPrompt.ts +1 -2
  320. package/front_end/ui/legacy/Toolbar.ts +2 -3
  321. package/front_end/ui/legacy/Treeoutline.ts +3 -3
  322. package/front_end/ui/legacy/UIUtils.ts +2 -3
  323. package/front_end/ui/legacy/View.ts +4 -4
  324. package/front_end/ui/legacy/ViewManager.ts +8 -8
  325. package/front_end/ui/legacy/ViewRegistration.ts +2 -2
  326. package/front_end/ui/legacy/XLink.ts +1 -1
  327. package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +1 -2
  328. package/front_end/ui/legacy/components/color_picker/ContrastOverlay.ts +1 -2
  329. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +1 -1
  330. package/front_end/ui/legacy/components/data_grid/SortableDataGrid.ts +1 -2
  331. package/front_end/ui/legacy/components/data_grid/ViewportDataGrid.ts +1 -2
  332. package/front_end/ui/legacy/components/data_grid/dataGrid.css +2 -2
  333. package/front_end/ui/legacy/components/inline_editor/CSSAngle.ts +4 -5
  334. package/front_end/ui/legacy/components/inline_editor/CSSAngleEditor.ts +1 -1
  335. package/front_end/ui/legacy/components/inline_editor/CSSAngleSwatch.ts +1 -2
  336. package/front_end/ui/legacy/components/inline_editor/CSSLength.ts +1 -2
  337. package/front_end/ui/legacy/components/inline_editor/CSSShadowEditor.ts +1 -2
  338. package/front_end/ui/legacy/components/inline_editor/Swatches.ts +1 -1
  339. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +3 -4
  340. package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +1 -2
  341. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +2 -3
  342. package/front_end/ui/legacy/components/quick_open/QuickOpen.ts +1 -2
  343. package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +1 -2
  344. package/inspector_overlay/css_grid_label_helpers.ts +1 -2
  345. package/inspector_overlay/highlight_common.ts +1 -1
  346. package/inspector_overlay/highlight_container_query.ts +3 -3
  347. package/inspector_overlay/highlight_flex_common.ts +12 -3
  348. package/inspector_overlay/highlight_grid_common.ts +3 -3
  349. package/inspector_overlay/highlight_isolated_element.ts +1 -1
  350. package/inspector_overlay/highlight_scroll_snap.ts +3 -3
  351. package/inspector_overlay/main.ts +6 -6
  352. package/inspector_overlay/tool_highlight.ts +26 -12
  353. package/inspector_overlay/tool_persistent.ts +13 -14
  354. package/inspector_overlay/tool_source_order.ts +3 -4
  355. package/package.json +1 -1
  356. package/scripts/build/generate_aria.py +2 -1
  357. package/scripts/build/generate_supported_css.py +6 -3
  358. package/scripts/protocol_typescript/protocol_dts_generator.ts +1 -1
@@ -17,7 +17,16 @@ declare global {
17
17
  export const enum Variant {
18
18
  PRIMARY = 'primary',
19
19
  SECONDARY = 'secondary',
20
+ // This is a bit confusing: the TOOLBAR variant is the historical variant
21
+ // that has been used when adding toolbar icons to legacy DevTools toolbars.
22
+ // In July 2022 we began work on the new unified toolbar, which will first be
23
+ // built for Performance Insights and then rolled out across the panels. Once
24
+ // that work is done, we can remove these two variants and revert back to
25
+ // having one.
26
+ // We need to differentiate because the unified toolbar icons are 16px in
27
+ // size, not 18px (which the toolbar small icons are).
20
28
  TOOLBAR = 'toolbar',
29
+ UNIFIED_TOOLBAR_2022 = 'unified_toolbar_2022',
21
30
  ROUND = 'round',
22
31
  }
23
32
 
@@ -60,10 +69,16 @@ export type ButtonData = {
60
69
  type?: ButtonType,
61
70
  value?: string,
62
71
  title?: string,
72
+ }|{
73
+ variant: Variant.UNIFIED_TOOLBAR_2022,
74
+ iconUrl: string,
75
+ disabled?: boolean,
76
+ active?: boolean,
77
+ title?: string,
63
78
  };
64
79
 
65
80
  interface ButtonElementInternals extends ElementInternals {
66
- readonly form?: HTMLFormElement;
81
+ readonly form: HTMLFormElement|null;
67
82
  readonly validity: ValidityState;
68
83
  readonly willValidate: boolean;
69
84
  readonly validationMessage: string;
@@ -100,10 +115,19 @@ export class Button extends HTMLElement {
100
115
  set data(data: ButtonData) {
101
116
  this.#props.variant = data.variant;
102
117
  this.#props.iconUrl = data.iconUrl;
103
- this.#props.size = data.size || Size.MEDIUM;
118
+ this.#props.size = Size.MEDIUM;
119
+
120
+ if ('size' in data && data.size) {
121
+ this.#props.size = data.size;
122
+ }
123
+
104
124
  this.#props.active = Boolean(data.active);
105
- this.#props.spinner = Boolean(data.spinner);
106
- this.#props.type = data.type || 'button';
125
+ this.#props.spinner = Boolean('spinner' in data ? data.spinner : false);
126
+
127
+ this.#props.type = 'button';
128
+ if ('type' in data && data.type) {
129
+ this.#props.type = data.type;
130
+ }
107
131
  this.#setDisabledProperty(data.disabled || false);
108
132
  this.#props.title = data.title;
109
133
  void ComponentHelpers.ScheduledRender.scheduleRender(this, this.#boundRender);
@@ -192,7 +216,7 @@ export class Button extends HTMLElement {
192
216
  if (!this.#props.variant) {
193
217
  throw new Error('Button requires a variant to be defined');
194
218
  }
195
- if (this.#props.variant === Variant.TOOLBAR) {
219
+ if (this.#props.variant === Variant.TOOLBAR || this.#props.variant === Variant.UNIFIED_TOOLBAR_2022) {
196
220
  if (!this.#props.iconUrl) {
197
221
  throw new Error('Toolbar button requires an icon');
198
222
  }
@@ -211,7 +235,8 @@ export class Button extends HTMLElement {
211
235
  const classes = {
212
236
  primary: this.#props.variant === Variant.PRIMARY,
213
237
  secondary: this.#props.variant === Variant.SECONDARY,
214
- toolbar: this.#props.variant === Variant.TOOLBAR,
238
+ toolbar: this.#props.variant === Variant.TOOLBAR || this.#props.variant === Variant.UNIFIED_TOOLBAR_2022,
239
+ 'unified-toolbar-2022': this.#props.variant === Variant.UNIFIED_TOOLBAR_2022,
215
240
  round: this.#props.variant === Variant.ROUND,
216
241
  'text-with-icon': Boolean(this.#props.iconUrl) && !this.#isEmpty,
217
242
  'only-icon': Boolean(this.#props.iconUrl) && this.#isEmpty,
@@ -254,7 +279,7 @@ export class Button extends HTMLElement {
254
279
  // The following properties and methods aren't strictly required,
255
280
  // but browser-level form controls provide them. Providing them helps
256
281
  // ensure consistency with browser-provided controls.
257
- get form(): HTMLFormElement|undefined {
282
+ get form(): HTMLFormElement|null {
258
283
  return this.#internals.form;
259
284
  }
260
285
  get name(): string|null {
@@ -85,6 +85,15 @@ button.toolbar.small {
85
85
  width: 18px;
86
86
  }
87
87
 
88
+ button.unified-toolbar-2022 {
89
+ /* These buttons are always 16px in dimension, and don't have different
90
+ * sizes, hence the lack of a size class above and the use of important! to
91
+ * ensure no sizing classes accidentally interfere.
92
+ */
93
+ height: 16px !important; /* stylelint-disable-line declaration-no-important */
94
+ width: 16px !important;/* stylelint-disable-line declaration-no-important */
95
+ }
96
+
88
97
  button.round.small {
89
98
  height: 24px;
90
99
  width: 24px;
@@ -199,6 +208,13 @@ button.round devtools-icon {
199
208
  --icon-color: var(--color-text-secondary);
200
209
  }
201
210
 
211
+ button.unified-toolbar-2022 devtools-icon {
212
+ width: 16px;
213
+ height: 16px;
214
+
215
+ --icon-color: var(--color-text-secondary);
216
+ }
217
+
202
218
  button.primary devtools-icon {
203
219
  --icon-color: var(--color-background);
204
220
  }
@@ -15,7 +15,7 @@ import {BodyCellFocusedEvent, ColumnHeaderClickEvent, ContextMenuHeaderResetClic
15
15
  const coordinator = Coordinator.RenderCoordinator.RenderCoordinator.instance();
16
16
 
17
17
  import {addColumnVisibilityCheckboxes, addSortableColumnItems} from './DataGridContextMenuUtils.js';
18
- import type {CellPosition, Column, Row, SortState} from './DataGridUtils.js';
18
+
19
19
  import {
20
20
  calculateColumnWidthPercentageFromWeighting,
21
21
  calculateFirstFocusableCell,
@@ -24,6 +24,10 @@ import {
24
24
  handleArrowKeyNavigation,
25
25
  renderCellValue,
26
26
  SortDirection,
27
+ type CellPosition,
28
+ type Column,
29
+ type Row,
30
+ type SortState,
27
31
  } from './DataGridUtils.js';
28
32
 
29
33
  import * as i18n from '../../../core/i18n/i18n.js';
@@ -3,9 +3,9 @@
3
3
  // found in the LICENSE file.
4
4
  import type * as UI from '../../legacy/legacy.js';
5
5
 
6
- import type {DataGrid} from './DataGrid.js';
6
+ import {type DataGrid} from './DataGrid.js';
7
7
  import {ContextMenuColumnSortClickEvent} from './DataGridEvents.js';
8
- import type {Column} from './DataGridUtils.js';
8
+ import {type Column} from './DataGridUtils.js';
9
9
 
10
10
  function toggleColumnVisibility(dataGrid: DataGrid, column: Column): void {
11
11
  const newVisibility = !column.visible;
@@ -5,11 +5,18 @@
5
5
  import * as LitHtml from '../../../ui/lit-html/lit-html.js';
6
6
  import * as ComponentHelpers from '../helpers/helpers.js';
7
7
  import type * as TextUtils from '../../../models/text_utils/text_utils.js';
8
- import type {SortState, Column, Row} from './DataGridUtils.js';
9
- import {SortDirection, getRowEntryForColumnId, getStringifiedCellValues} from './DataGridUtils.js';
10
- import type {DataGridData, DataGridContextMenusConfiguration} from './DataGrid.js';
11
- import type {ContextMenuColumnSortClickEvent, ColumnHeaderClickEvent} from './DataGridEvents.js';
12
- import {DataGrid} from './DataGrid.js';
8
+
9
+ import {
10
+ SortDirection,
11
+ getRowEntryForColumnId,
12
+ getStringifiedCellValues,
13
+ type SortState,
14
+ type Column,
15
+ type Row,
16
+ } from './DataGridUtils.js';
17
+
18
+ import {type ContextMenuColumnSortClickEvent, type ColumnHeaderClickEvent} from './DataGridEvents.js';
19
+ import {DataGrid, type DataGridData, type DataGridContextMenusConfiguration} from './DataGrid.js';
13
20
  import dataGridControllerStyles from './dataGridController.css.js';
14
21
 
15
22
  export interface DataGridControllerData {
@@ -3,8 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import * as UI from '../../legacy/legacy.js';
6
- import {DataGridController} from './DataGridController.js';
7
- import type {DataGridControllerData} from './DataGridController.js';
6
+ import {DataGridController, type DataGridControllerData} from './DataGridController.js';
8
7
 
9
8
  export class DataGridControllerIntegrator extends UI.Widget.VBox {
10
9
  readonly dataGrid: DataGridController;
@@ -1,7 +1,7 @@
1
1
  // Copyright (c) 2021 The Chromium Authors. All rights reserved.
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
- import type {Cell, Column, Row} from './DataGridUtils.js';
4
+ import {type Cell, type Column, type Row} from './DataGridUtils.js';
5
5
 
6
6
  export class ColumnHeaderClickEvent extends Event {
7
7
  static readonly eventName = 'columnheaderclick';
@@ -2,7 +2,7 @@
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
4
  import * as LitHtml from '../../../ui/lit-html/lit-html.js';
5
- import type {CellValue} from './DataGridUtils.js';
5
+ import {type CellValue} from './DataGridUtils.js';
6
6
 
7
7
  export const primitiveRenderer = (value: CellValue): LitHtml.TemplateResult => {
8
8
  return LitHtml.html`${value}`;
@@ -0,0 +1,112 @@
1
+ # Creating components
2
+
3
+ A component is created by extending `HTMLElement`. The name of the component should match the filename. The component should be exported by the file.
4
+
5
+ ```ts
6
+ // ElementBreadcrumbs.ts
7
+ export class ElementBreadcrumbs extends HTMLElement {
8
+ }
9
+ ```
10
+
11
+ ## Where to put components
12
+
13
+ If the component is for a specific panel, and not expected to be re-usable, it should be created within the panel's folder, within a sub-directory of `components`:
14
+
15
+ ```
16
+ front_end/panels/elements/components/ElementsBreadcrumbs.ts
17
+ ```
18
+
19
+ If a component is designed to be re-usable, it should live in `front_end/ui/components`, in its own folder. That folder also contains an entrypoint, along with files for the component's definition.
20
+
21
+ ```
22
+ front_end/ui/components/button/button.ts // entrypoint
23
+ front_end/ui/components/button/Button.ts // component definition
24
+ ```
25
+
26
+ ## Defining and naming a component
27
+
28
+ A component should be given a `static readonly litTagName` property, which defines its name:
29
+
30
+ ```ts
31
+ // ElementBreadcrumbs.ts
32
+ export class ElementBreadcrumbs extends HTMLElement {
33
+ static readonly litTagName = LitHtml.literal`devtools-elements-breadcrumbs`;
34
+ }
35
+ ```
36
+
37
+ > Remember that all custom elements **must** contain a hyphen. Prefer `devtools-` as the prefix by default.
38
+
39
+ We then use the `ComponentHelpers` module (`front_end/ui/components/helpers`) to define the component and register it with the browser:
40
+
41
+ ```ts
42
+ ComponentHelpers.CustomElements.defineComponent('devtools-elements-breadcrumbs', ElementsBreadcrumbs);
43
+ ```
44
+
45
+ And finally we tell TypeScript that this component exists:
46
+
47
+ ```ts
48
+ declare global {
49
+ interface HTMLElementTagNameMap {
50
+ 'devtools-elements-breadcrumbs': ElementsBreadcrumbs;
51
+ }
52
+ }
53
+ ```
54
+
55
+ By doing this, TypeScript understands that `document.querySelector('devtools-elements-breadcrumbs')` returns an `ElementsBreadcrumbs` instance.
56
+
57
+ We have a custom ESLint rule that ensures that the tag name is used consistently in all the locations where it is required.
58
+
59
+ ## Creating a shadow root
60
+
61
+ Each component gets its own Shadow Root to ensure that styles and events that occur within it are encapsulated and do not leak out:
62
+
63
+ ```ts
64
+ export class ElementsBreadcrumbs extends HTMLElement {
65
+ static readonly litTagName = LitHtml.literal`devtools-elements-breadcrumbs`;
66
+ readonly #shadow = this.attachShadow({mode: 'open'});
67
+ }
68
+ ```
69
+
70
+ > We set the mode to `open` so it's open to inspection via DevTools. [See this MDN explainer](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/mode) for more details.
71
+
72
+ ## Rendering a component
73
+
74
+ Each component defines a `#render` method which is responsible for invoking LitHtml and having the component render HTML into the DOM.
75
+
76
+ > The `#` symbol indicates a [private class method](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Private_class_fields).
77
+
78
+ The `#render` method calls `LitHtml.render`, building up a template with `LitHtml.html`:
79
+
80
+ ```ts
81
+ LitHtml.render(LitHtml.html``, this.#shadow, {host: this});
82
+ ```
83
+
84
+ There is unfortunately a [clang-format bug](crbug.com/1079231) which makes its auto-formatting of LitHtml templates very unreadable, so we usually disable clang-format round the call:
85
+
86
+ ```ts
87
+ // clang-format off
88
+ LitHtml.render(...)
89
+ // clang-format on
90
+ ```
91
+
92
+ ## Scheduled and batched rendering
93
+
94
+ To have your component render, you could manually call `this.#render()`. However, if you were to have multiple updates to a component (perhaps some values it's passed get changed), we want to avoid having multiple renders where possible and instead batch them.
95
+
96
+ We can use the `ScheduledRender` helper (`front_end/ui/components/helpers/scheduled-render.ts`) to achieve this. First, bind the `#render` method of your component, to ensure it's always bound to the component instance's scope:
97
+
98
+ ```ts
99
+ export class ElementsBreadcrumbs extends HTMLElement {
100
+ static readonly litTagName = LitHtml.literal`devtools-chrome-link`;
101
+ readonly #shadow = this.attachShadow({mode: 'open'});
102
+ readonly #boundRender = this.#render.bind(this);
103
+ }
104
+ ```
105
+
106
+ Then, rather than call `this.#render()` directly, you instead call the scheduler:
107
+
108
+ ```ts
109
+ void ComponentHelpers.ScheduledRender.scheduleRender(this, this.#boundRender);
110
+ ```
111
+
112
+ > `scheduleRender` returns a promise; we use the `void` keyword to instruct TypeScript that we are purposefully not using `await` to wait for the promise to resolve. When scheduling a render it's most common to "fire and forget".
@@ -0,0 +1,19 @@
1
+ # Building UI elements in DevTools
2
+
3
+ This is the documentation containing all the information you need to be able to build UI in DevTools and get familiar with our front-end stack.
4
+
5
+ Note that this documentation is a work in progress as it is migrated from the [original Google Doc](https://docs.google.com/document/d/1Gwd-w7LoW1qnWu3uku438-MQ82m4AinKDIdy9z3fl3Q/edit?resourcekey=0-vxHqiKAvfJ4JAOj4bZ4EFA#). crbug.com/1344124 tracks this work.
6
+
7
+ ## Table of Contents
8
+
9
+ 1. [Creating components](./CreatingComponents.md)
10
+
11
+ ## FAQs
12
+
13
+ > Wasn't this a google doc before?
14
+
15
+ Yes. The original version of this documentation was a publicly accessible Google Doc. However, keeping the documentation apart from the code was a challenge, along with the fact that Docs aren't the best for dealing with lots of code. That motivated the change to move the documentation into the repository, hopefully helping it keep up to date and still remaining public.
16
+
17
+ > What should I do if I want to make a change?
18
+
19
+ Please send a CL and ask jacktfranklin@ to review it. If you're not sure on the change, feel free to ping jacktfranklin@ to discuss.
@@ -35,6 +35,15 @@
35
35
  padding: 0px 5px;
36
36
  height: 23px;
37
37
  }
38
+ #unified-toolbar {
39
+ background-color: var(--color-background);
40
+ display: flex;
41
+ flex-direction: row;
42
+ align-items: center;
43
+ border-bottom: 1px solid var(--color-details-hairline);
44
+ padding: 5px 6px;
45
+ height: 26px;
46
+ }
38
47
  .separator {
39
48
  background-color: var(--color-details-hairline);
40
49
  width: 1px;
@@ -50,6 +59,8 @@
50
59
  </div>
51
60
  <div id="small-toolbar">
52
61
  </div>
62
+ <div id="unified-toolbar">
63
+ </div>
53
64
  <form onsubmit="event.preventDefault(); alert('submitted');" id="form">
54
65
  <input name="field" placeholder="Enter smth" />
55
66
  </form>
@@ -299,6 +299,13 @@ for (let i = 0; i < 6; i++) {
299
299
  }
300
300
  }
301
301
 
302
+ const unifiedToolbarButton = new Buttons.Button.Button();
303
+ unifiedToolbarButton.data = {
304
+ variant: Buttons.Button.Variant.UNIFIED_TOOLBAR_2022,
305
+ iconUrl: testIcon,
306
+ };
307
+ document.querySelector('#unified-toolbar')?.appendChild(unifiedToolbarButton);
308
+
302
309
  // Submit Button
303
310
  const submitButton = new Buttons.Button.Button();
304
311
  submitButton.data = {
@@ -5,11 +5,9 @@
5
5
  import * as ComponentHelpers from '../../components/helpers/helpers.js';
6
6
  import * as LitHtml from '../../lit-html/lit-html.js';
7
7
 
8
- import {Icon} from './Icon.js';
8
+ import {Icon, type IconData} from './Icon.js';
9
9
  import iconButtonStyles from './iconButton.css.js';
10
10
 
11
- import type {IconData} from './Icon.js';
12
-
13
11
  export interface IconWithTextData {
14
12
  iconName: string;
15
13
  iconColor?: string;
@@ -9,25 +9,39 @@ import linearMemoryInspectorStyles from './linearMemoryInspector.css.js';
9
9
 
10
10
  const {render, html} = LitHtml;
11
11
 
12
- import type {
13
- AddressInputChangedEvent, HistoryNavigationEvent, LinearMemoryNavigatorData, PageNavigationEvent} from
14
- './LinearMemoryNavigator.js';
15
- import {Mode, Navigation, LinearMemoryNavigator} from './LinearMemoryNavigator.js';
16
- import type {
17
- EndiannessChangedEvent, LinearMemoryValueInterpreterData, ValueTypeToggledEvent} from
18
- './LinearMemoryValueInterpreter.js';
19
- import {LinearMemoryValueInterpreter} from './LinearMemoryValueInterpreter.js';
20
- import type {ByteSelectedEvent, LinearMemoryViewerData, ResizeEvent} from './LinearMemoryViewer.js';
21
- import type {ValueType, ValueTypeMode} from './ValueInterpreterDisplayUtils.js';
12
+ import {
13
+ Mode,
14
+ Navigation,
15
+ LinearMemoryNavigator,
16
+ type AddressInputChangedEvent,
17
+ type HistoryNavigationEvent,
18
+ type LinearMemoryNavigatorData,
19
+ type PageNavigationEvent,
20
+ } from './LinearMemoryNavigator.js';
21
+
22
+ import {
23
+ LinearMemoryValueInterpreter,
24
+ type EndiannessChangedEvent,
25
+ type LinearMemoryValueInterpreterData,
26
+ type ValueTypeToggledEvent,
27
+ } from './LinearMemoryValueInterpreter.js';
28
+
22
29
  import {
23
30
  VALUE_INTEPRETER_MAX_NUM_BYTES,
24
31
  Endianness,
25
32
  getDefaultValueTypeMapping,
33
+ type ValueType,
34
+ type ValueTypeMode,
26
35
  } from './ValueInterpreterDisplayUtils.js';
27
36
  import {formatAddress, parseAddress} from './LinearMemoryInspectorUtils.js';
28
- import type {JumpToPointerAddressEvent, ValueTypeModeChangedEvent} from './ValueInterpreterDisplay.js';
29
- import {LinearMemoryViewer} from './LinearMemoryViewer.js';
30
- import type {HighlightInfo} from './LinearMemoryViewerUtils.js';
37
+ import {type JumpToPointerAddressEvent, type ValueTypeModeChangedEvent} from './ValueInterpreterDisplay.js';
38
+ import {
39
+ LinearMemoryViewer,
40
+ type ByteSelectedEvent,
41
+ type LinearMemoryViewerData,
42
+ type ResizeEvent,
43
+ } from './LinearMemoryViewer.js';
44
+ import {type HighlightInfo} from './LinearMemoryViewerUtils.js';
31
45
 
32
46
  import * as i18n from '../../../core/i18n/i18n.js';
33
47
  const UIStrings = {
@@ -9,12 +9,17 @@ import * as SDK from '../../../core/sdk/sdk.js';
9
9
  import * as Protocol from '../../../generated/protocol.js';
10
10
  import * as UI from '../../legacy/legacy.js';
11
11
 
12
- import type {Settings} from './LinearMemoryInspector.js';
12
+ import {type Settings} from './LinearMemoryInspector.js';
13
13
  import {Events as LmiEvents, LinearMemoryInspectorPaneImpl} from './LinearMemoryInspectorPane.js';
14
- import type {ValueType, ValueTypeMode} from './ValueInterpreterDisplayUtils.js';
15
- import {Endianness, getDefaultValueTypeMapping} from './ValueInterpreterDisplayUtils.js';
14
+
15
+ import {
16
+ Endianness,
17
+ getDefaultValueTypeMapping,
18
+ type ValueType,
19
+ type ValueTypeMode,
20
+ } from './ValueInterpreterDisplayUtils.js';
16
21
  import * as Bindings from '../../../models/bindings/bindings.js';
17
- import type {HighlightInfo} from './LinearMemoryViewerUtils.js';
22
+ import {type HighlightInfo} from './LinearMemoryViewerUtils.js';
18
23
 
19
24
  const UIStrings = {
20
25
  /**
@@ -6,11 +6,16 @@ import * as Common from '../../../core/common/common.js';
6
6
  import * as i18n from '../../../core/i18n/i18n.js';
7
7
  import * as UI from '../../legacy/legacy.js';
8
8
 
9
- import type {AddressChangedEvent, MemoryRequestEvent, Settings, SettingsChangedEvent} from './LinearMemoryInspector.js';
10
- import {LinearMemoryInspector} from './LinearMemoryInspector.js';
11
- import type {LazyUint8Array} from './LinearMemoryInspectorController.js';
12
- import {LinearMemoryInspectorController} from './LinearMemoryInspectorController.js';
13
- import type {HighlightInfo} from './LinearMemoryViewerUtils.js';
9
+ import {
10
+ LinearMemoryInspector,
11
+ type AddressChangedEvent,
12
+ type MemoryRequestEvent,
13
+ type Settings,
14
+ type SettingsChangedEvent,
15
+ } from './LinearMemoryInspector.js';
16
+
17
+ import {LinearMemoryInspectorController, type LazyUint8Array} from './LinearMemoryInspectorController.js';
18
+ import {type HighlightInfo} from './LinearMemoryViewerUtils.js';
14
19
 
15
20
  const UIStrings = {
16
21
  /**
@@ -7,13 +7,14 @@ import * as ComponentHelpers from '../helpers/helpers.js';
7
7
  import * as IconButton from '../icon_button/icon_button.js';
8
8
  import linearMemoryValueInterpreterStyles from './linearMemoryValueInterpreter.css.js';
9
9
 
10
- import {ValueInterpreterDisplay} from './ValueInterpreterDisplay.js';
11
- import {ValueInterpreterSettings} from './ValueInterpreterSettings.js';
12
-
13
- import type {ValueDisplayData} from './ValueInterpreterDisplay.js';
14
- import type {ValueType, ValueTypeMode} from './ValueInterpreterDisplayUtils.js';
15
- import {Endianness} from './ValueInterpreterDisplayUtils.js';
16
- import type {TypeToggleEvent, ValueInterpreterSettingsData} from './ValueInterpreterSettings.js';
10
+ import {ValueInterpreterDisplay, type ValueDisplayData} from './ValueInterpreterDisplay.js';
11
+ import {
12
+ ValueInterpreterSettings,
13
+ type TypeToggleEvent,
14
+ type ValueInterpreterSettingsData,
15
+ } from './ValueInterpreterSettings.js';
16
+
17
+ import {Endianness, type ValueType, type ValueTypeMode} from './ValueInterpreterDisplayUtils.js';
17
18
 
18
19
  import * as i18n from '../../../core/i18n/i18n.js';
19
20
 
@@ -4,7 +4,7 @@
4
4
  import * as LitHtml from '../../lit-html/lit-html.js';
5
5
  import * as ComponentHelpers from '../helpers/helpers.js';
6
6
 
7
- import type {HighlightInfo} from './LinearMemoryViewerUtils.js';
7
+ import {type HighlightInfo} from './LinearMemoryViewerUtils.js';
8
8
  import {toHexString} from './LinearMemoryInspectorUtils.js';
9
9
  import linearMemoryViewerStyles from './linearMemoryViewer.css.js';
10
10
 
@@ -7,8 +7,7 @@ import * as IconButton from '../../components/icon_button/icon_button.js';
7
7
  import * as LitHtml from '../../lit-html/lit-html.js';
8
8
  import markdownImageStyles from './markdownImage.css.js';
9
9
 
10
- import type {ImageData} from './MarkdownImagesMap.js';
11
- import {getMarkdownImage} from './MarkdownImagesMap.js';
10
+ import {getMarkdownImage, type ImageData} from './MarkdownImagesMap.js';
12
11
 
13
12
  export interface MarkdownImageData {
14
13
  key: string;
@@ -7,10 +7,8 @@ import type * as Marked from '../../../third_party/marked/marked.js';
7
7
  import * as ComponentHelpers from '../../components/helpers/helpers.js';
8
8
  import markdownViewStyles from './markdownView.css.js';
9
9
 
10
- import type {MarkdownImageData} from './MarkdownImage.js';
11
- import type {MarkdownLinkData} from './MarkdownLink.js';
12
- import {MarkdownLink} from './MarkdownLink.js';
13
- import {MarkdownImage} from './MarkdownImage.js';
10
+ import {MarkdownLink, type MarkdownLinkData} from './MarkdownLink.js';
11
+ import {MarkdownImage, type MarkdownImageData} from './MarkdownImage.js';
14
12
 
15
13
  const html = LitHtml.html;
16
14
  const render = LitHtml.render;
@@ -10,13 +10,15 @@ import * as Coordinator from '../render_coordinator/render_coordinator.js';
10
10
 
11
11
  import treeOutlineStyles from './treeOutline.css.js';
12
12
 
13
- import type {TreeNodeId, TreeNode, TreeNodeWithChildren} from './TreeOutlineUtils.js';
14
13
  import {
15
14
  findNextNodeForTreeOutlineKeyboardNavigation,
16
15
  getNodeChildren,
17
16
  getPathToTreeNode,
18
17
  isExpandableNode,
19
18
  trackDOMNodeToTreeNode,
19
+ type TreeNodeId,
20
+ type TreeNode,
21
+ type TreeNodeWithChildren,
20
22
  } from './TreeOutlineUtils.js';
21
23
 
22
24
  const coordinator = Coordinator.RenderCoordinator.RenderCoordinator.instance();
@@ -2,8 +2,7 @@
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
4
 
5
- import type {Action} from './ActionRegistration.js';
6
- import {getRegisteredActionExtensions} from './ActionRegistration.js';
5
+ import {getRegisteredActionExtensions, type Action} from './ActionRegistration.js';
7
6
  import {Context} from './Context.js';
8
7
 
9
8
  let actionRegistryInstance: ActionRegistry|undefined;
@@ -5,7 +5,7 @@
5
5
  import * as Common from '../../core/common/common.js';
6
6
  import * as Root from '../../core/root/root.js'; // eslint-disable-line @typescript-eslint/no-unused-vars
7
7
 
8
- import type {ContextFlavorListener} from './ContextFlavorListener.js';
8
+ import {type ContextFlavorListener} from './ContextFlavorListener.js';
9
9
 
10
10
  let contextInstance: Context;
11
11
 
@@ -34,8 +34,8 @@ import * as Root from '../../core/root/root.js';
34
34
 
35
35
  import {ActionRegistry} from './ActionRegistry.js';
36
36
  import {ShortcutRegistry} from './ShortcutRegistry.js';
37
- import type {SoftContextMenuDescriptor} from './SoftContextMenu.js';
38
- import {SoftContextMenu} from './SoftContextMenu.js';
37
+
38
+ import {SoftContextMenu, type SoftContextMenuDescriptor} from './SoftContextMenu.js';
39
39
  import {deepElementFromEvent} from './UIUtils.js';
40
40
 
41
41
  export class Item {
@@ -34,10 +34,10 @@ import * as ARIAUtils from './ARIAUtils.js';
34
34
  import {GlassPane, PointerEventsBehavior} from './GlassPane.js';
35
35
  import {InspectorView} from './InspectorView.js';
36
36
  import {KeyboardShortcut, Keys} from './KeyboardShortcut.js';
37
- import type {SplitWidget} from './SplitWidget.js';
38
- import type {DevToolsCloseButton} from './UIUtils.js';
39
- import type {WidgetElement} from './Widget.js';
40
- import {WidgetFocusRestorer} from './Widget.js';
37
+ import {type SplitWidget} from './SplitWidget.js';
38
+ import {type DevToolsCloseButton} from './UIUtils.js';
39
+
40
+ import {WidgetFocusRestorer, type WidgetElement} from './Widget.js';
41
41
 
42
42
  import dialogStyles from './dialog.css.legacy.js';
43
43
 
@@ -33,10 +33,10 @@ import * as Host from '../../core/host/host.js';
33
33
  import * as i18n from '../../core/i18n/i18n.js';
34
34
  import * as Platform from '../../core/platform/platform.js';
35
35
 
36
- import type {ActionDelegate} from './ActionRegistration.js';
37
- import type {Context} from './Context.js';
38
- import type {Provider, ToolbarItem} from './Toolbar.js';
39
- import {ToolbarButton} from './Toolbar.js';
36
+ import {type ActionDelegate} from './ActionRegistration.js';
37
+ import {type Context} from './Context.js';
38
+
39
+ import {ToolbarButton, type Provider, type ToolbarItem} from './Toolbar.js';
40
40
 
41
41
  const UIStrings = {
42
42
  /**
@@ -36,10 +36,10 @@ import * as ARIAUtils from './ARIAUtils.js';
36
36
  import {Icon} from './Icon.js';
37
37
  import {KeyboardShortcut, Modifiers} from './KeyboardShortcut.js';
38
38
  import {bindCheckbox} from './SettingsUI.js';
39
- import type {Suggestions} from './SuggestBox.js';
39
+ import {type Suggestions} from './SuggestBox.js';
40
40
  import {Events, TextPrompt} from './TextPrompt.js';
41
- import type {ToolbarButton} from './Toolbar.js';
42
- import {ToolbarSettingToggle} from './Toolbar.js';
41
+
42
+ import {ToolbarSettingToggle, type ToolbarButton} from './Toolbar.js';
43
43
  import {Tooltip} from './Tooltip.js';
44
44
  import {CheckboxLabel, createTextChild} from './UIUtils.js';
45
45
  import {HBox} from './Widget.js';