chrome-devtools-frontend 1.0.1548980 → 1.0.1550444
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/contributing/settings-experiments-features.md +35 -0
- package/docs/styleguide/ux/components.md +53 -12
- package/docs/styleguide/ux/images/cards.png +0 -0
- package/docs/styleguide/ux/patterns.md +27 -0
- package/docs/ui_engineering.md +2 -2
- package/eslint.config.mjs +1 -0
- package/front_end/Tests.js +2 -0
- package/front_end/core/host/InspectorFrontendHost.ts +26 -558
- package/front_end/core/host/InspectorFrontendHostAPI.ts +6 -3
- package/front_end/core/host/InspectorFrontendHostStub.ts +558 -0
- package/front_end/core/host/ResourceLoader.ts +9 -23
- package/front_end/core/host/UserMetrics.ts +4 -4
- package/front_end/core/root/DevToolsContext.ts +4 -0
- package/front_end/core/root/Runtime.ts +10 -0
- package/front_end/core/sdk/CSSMatchedStyles.ts +2 -2
- package/front_end/core/sdk/CSSModel.ts +24 -24
- package/front_end/core/sdk/CSSPropertyParserMatchers.ts +11 -11
- package/front_end/core/sdk/CSSQuery.ts +1 -1
- package/front_end/core/sdk/CSSRule.ts +2 -2
- package/front_end/core/sdk/CSSStyleDeclaration.ts +1 -1
- package/front_end/core/sdk/CSSStyleSheetHeader.ts +1 -1
- package/front_end/core/sdk/DOMModel.ts +3 -0
- package/front_end/core/sdk/NetworkManager.ts +41 -41
- package/front_end/core/sdk/NetworkRequest.ts +4 -0
- package/front_end/core/sdk/OverlayModel.ts +2 -2
- package/front_end/core/sdk/PageResourceLoader.ts +71 -38
- package/front_end/core/sdk/SourceMap.ts +6 -0
- package/front_end/core/sdk/SourceMapCache.ts +21 -0
- package/front_end/core/sdk/SourceMapManager.ts +14 -7
- package/front_end/core/sdk/SourceMapScopesInfo.ts +6 -2
- package/front_end/core/sdk/TargetManager.ts +14 -2
- package/front_end/core/sdk/sdk-meta.ts +13 -0
- package/front_end/entrypoints/formatter_worker/FormatterActions.ts +1 -0
- package/front_end/entrypoints/formatter_worker/ScopeParser.ts +1 -1
- package/front_end/entrypoints/main/MainImpl.ts +5 -4
- package/front_end/foundation/Universe.ts +8 -1
- package/front_end/generated/Deprecation.ts +18 -4
- package/front_end/generated/InspectorBackendCommands.ts +38 -33
- package/front_end/generated/SupportedCSSProperties.js +41 -41
- package/front_end/generated/protocol-mapping.d.ts +20 -0
- package/front_end/generated/protocol-proxy-api.d.ts +17 -0
- package/front_end/generated/protocol.ts +146 -35
- package/front_end/models/ai_assistance/AiConversation.ts +5 -4
- package/front_end/models/ai_assistance/BuiltInAi.ts +79 -5
- package/front_end/models/ai_assistance/ChangeManager.ts +4 -4
- package/front_end/models/ai_assistance/ConversationHandler.ts +0 -15
- package/front_end/models/ai_assistance/agents/AiAgent.ts +9 -6
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +135 -3
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +24 -0
- package/front_end/models/bindings/CompilerScriptMapping.ts +43 -0
- package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +19 -0
- package/front_end/models/bindings/ResourceMapping.ts +73 -0
- package/front_end/models/bindings/ResourceScriptMapping.ts +50 -0
- package/front_end/models/issues_manager/AttributionReportingIssue.ts +6 -8
- package/front_end/models/issues_manager/BounceTrackingIssue.ts +4 -14
- package/front_end/models/issues_manager/ClientHintIssue.ts +5 -12
- package/front_end/models/issues_manager/ContentSecurityPolicyIssue.ts +5 -12
- package/front_end/models/issues_manager/CookieDeprecationMetadataIssue.ts +7 -14
- package/front_end/models/issues_manager/CookieIssue.ts +27 -30
- package/front_end/models/issues_manager/CorsIssue.ts +8 -17
- package/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.ts +5 -8
- package/front_end/models/issues_manager/DeprecationIssue.ts +7 -14
- package/front_end/models/issues_manager/ElementAccessibilityIssue.ts +7 -14
- package/front_end/models/issues_manager/FederatedAuthRequestIssue.ts +4 -11
- package/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.ts +4 -11
- package/front_end/models/issues_manager/GenericIssue.ts +28 -16
- package/front_end/models/issues_manager/HeavyAdIssue.ts +4 -11
- package/front_end/models/issues_manager/Issue.ts +12 -4
- package/front_end/models/issues_manager/IssueAggregator.ts +8 -2
- package/front_end/models/issues_manager/LowTextContrastIssue.ts +3 -10
- package/front_end/models/issues_manager/MixedContentIssue.ts +7 -13
- package/front_end/models/issues_manager/PartitioningBlobURLIssue.ts +4 -11
- package/front_end/models/issues_manager/PropertyRuleIssue.ts +6 -12
- package/front_end/models/issues_manager/QuirksModeIssue.ts +3 -10
- package/front_end/models/issues_manager/SRIMessageSignatureIssue.ts +7 -13
- package/front_end/models/issues_manager/SharedArrayBufferIssue.ts +4 -11
- package/front_end/models/issues_manager/SharedDictionaryIssue.ts +6 -13
- package/front_end/models/issues_manager/StylesheetLoadingIssue.ts +8 -13
- package/front_end/models/issues_manager/UnencodedDigestIssue.ts +2 -9
- package/front_end/models/issues_manager/descriptions/genericNavigationEntryMarkedSkippable.md +7 -0
- package/front_end/models/javascript_metadata/NativeFunctions.js +7 -16
- package/front_end/models/source_map_scopes/FunctionCodeResolver.snapshot.txt +98 -0
- package/front_end/models/source_map_scopes/FunctionCodeResolver.ts +270 -0
- package/front_end/models/source_map_scopes/source_map_scopes.ts +2 -0
- package/front_end/models/workspace/UISourceCode.ts +51 -44
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +76 -34
- package/front_end/panels/ai_assistance/aiAssistancePanel.css +1 -0
- package/front_end/panels/ai_assistance/components/ChatView.ts +23 -11
- package/front_end/panels/application/AppManifestView.ts +7 -6
- package/front_end/panels/application/ApplicationPanelSidebar.ts +21 -21
- package/front_end/panels/application/BackForwardCacheTreeElement.ts +2 -2
- package/front_end/panels/application/BounceTrackingMitigationsTreeElement.ts +2 -2
- package/front_end/panels/application/FrameDetailsView.ts +5 -6
- package/front_end/panels/application/InterestGroupTreeElement.ts +2 -2
- package/front_end/panels/application/OpenedWindowDetailsView.ts +2 -2
- package/front_end/panels/application/OriginTrialTreeView.ts +1 -1
- package/front_end/panels/application/PreloadingTreeElement.ts +3 -3
- package/front_end/panels/application/ReportingApiTreeElement.ts +2 -2
- package/front_end/panels/application/ServiceWorkerCacheTreeElement.ts +3 -3
- package/front_end/panels/application/ServiceWorkersView.ts +2 -2
- package/front_end/panels/application/SharedStorageListTreeElement.ts +2 -2
- package/front_end/panels/application/StorageBucketsTreeElement.ts +3 -3
- package/front_end/panels/application/StorageView.ts +2 -2
- package/front_end/panels/application/TrustTokensTreeElement.ts +4 -8
- package/front_end/panels/application/components/PermissionsPolicySection.ts +202 -158
- package/front_end/panels/application/components/ProtocolHandlersView.ts +118 -81
- package/front_end/panels/application/components/ServiceWorkerRouterView.ts +47 -41
- package/front_end/panels/application/components/SharedStorageMetadataView.ts +1 -1
- package/front_end/panels/application/components/StorageMetadataView.ts +31 -34
- package/front_end/panels/application/components/TrustTokensView.ts +77 -69
- package/front_end/panels/application/preloading/components/PreloadingGrid.ts +1 -1
- package/front_end/panels/application/preloading/components/RuleSetGrid.ts +1 -1
- package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +1 -1
- package/front_end/panels/changes/ChangesSidebar.ts +2 -0
- package/front_end/panels/changes/CombinedDiffView.ts +2 -0
- package/front_end/panels/common/AnnotationManager.ts +71 -0
- package/front_end/panels/common/PersistenceUtils.ts +6 -7
- package/front_end/panels/common/common.ts +1 -0
- package/front_end/panels/console/ConsolePrompt.ts +4 -4
- package/front_end/panels/console/ConsoleView.ts +5 -4
- package/front_end/panels/console/ConsoleViewMessage.ts +16 -15
- package/front_end/panels/console/console-meta.ts +0 -13
- package/front_end/panels/console_counters/WarningErrorCounter.ts +2 -0
- package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +1 -1
- package/front_end/panels/developer_resources/DeveloperResourcesView.ts +3 -1
- package/front_end/panels/elements/CSSRuleValidator.ts +7 -7
- package/front_end/panels/elements/CSSRuleValidatorHelper.ts +2 -2
- package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +3 -3
- package/front_end/panels/elements/ElementsPanel.ts +49 -0
- package/front_end/panels/elements/ElementsTreeElement.ts +172 -121
- package/front_end/panels/elements/ElementsTreeOutline.ts +11 -3
- package/front_end/panels/elements/LayoutPane.ts +12 -10
- package/front_end/panels/elements/ShortcutTreeElement.ts +2 -2
- package/front_end/panels/elements/StyleEditorWidget.ts +2 -2
- package/front_end/panels/elements/StylePropertyTreeElement.ts +18 -18
- package/front_end/panels/elements/StylesSidebarPane.ts +4 -5
- package/front_end/panels/elements/TopLayerContainer.ts +2 -2
- package/front_end/panels/elements/components/AdornerManager.ts +3 -3
- package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +1 -1
- package/front_end/panels/elements/components/ElementsTreeExpandButton.ts +1 -1
- package/front_end/panels/elements/components/QueryContainer.ts +1 -1
- package/front_end/panels/elements/components/StylePropertyEditor.ts +7 -7
- package/front_end/panels/emulation/DeviceModeWrapper.ts +48 -3
- package/front_end/panels/explain/components/ConsoleInsight.ts +6 -4
- package/front_end/panels/issues/AffectedResourcesView.ts +2 -2
- package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +2 -2
- package/front_end/panels/issues/IssueKindView.ts +2 -2
- package/front_end/panels/issues/IssueView.ts +4 -4
- package/front_end/panels/js_timeline/js_timeline-meta.ts +4 -2
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryHighlightChipList.ts +28 -50
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +15 -11
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryNavigator.ts +1 -1
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryValueInterpreter.ts +1 -1
- package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.ts +1 -1
- package/front_end/panels/media/PlayerListView.ts +100 -73
- package/front_end/panels/media/playerListView.css +5 -0
- package/front_end/panels/mobile_throttling/ThrottlingManager.ts +2 -2
- package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +4 -5
- package/front_end/panels/network/NetworkDataGridNode.ts +3 -3
- package/front_end/panels/network/NetworkFrameGrouper.ts +2 -2
- package/front_end/panels/network/NetworkItemView.ts +4 -4
- package/front_end/panels/network/NetworkLogViewColumns.ts +3 -3
- package/front_end/panels/network/RequestConditionsDrawer.ts +5 -5
- package/front_end/panels/network/RequestCookiesView.ts +2 -2
- package/front_end/panels/network/SignedExchangeInfoView.ts +2 -2
- package/front_end/panels/network/components/DirectSocketConnectionView.ts +17 -0
- package/front_end/panels/network/components/RequestTrustTokensView.ts +5 -6
- package/front_end/panels/network/resourceChunkView.css +4 -0
- package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +3 -3
- package/front_end/panels/profiler/ProfileDataGrid.ts +2 -2
- package/front_end/panels/profiler/ProfilesPanel.ts +2 -2
- package/front_end/panels/protocol_monitor/JSONEditor.ts +1 -1
- package/front_end/panels/recorder/components/CreateRecordingView.ts +1 -1
- package/front_end/panels/recorder/components/ExtensionView.ts +1 -1
- package/front_end/panels/recorder/components/RecordingListView.ts +1 -1
- package/front_end/panels/recorder/components/RecordingView.ts +1 -1
- package/front_end/panels/recorder/components/StepView.ts +1 -1
- package/front_end/panels/screencast/ScreencastView.ts +8 -8
- package/front_end/panels/search/SearchView.ts +1 -1
- package/front_end/panels/security/CookieControlsTreeElement.ts +2 -2
- package/front_end/panels/security/CookieControlsView.ts +1 -1
- package/front_end/panels/security/CookieReportTreeElement.ts +2 -2
- package/front_end/panels/security/SecurityPanel.ts +5 -5
- package/front_end/panels/security/SecurityPanelSidebar.ts +3 -4
- package/front_end/panels/sensors/LocationsSettingsTab.ts +1 -1
- package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +1 -1
- package/front_end/panels/settings/KeybindsSettingsTab.ts +5 -5
- package/front_end/panels/settings/SettingsScreen.ts +7 -8
- package/front_end/panels/settings/WorkspaceSettingsTab.ts +1 -1
- package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +1 -1
- package/front_end/panels/snippets/SnippetsQuickOpen.ts +16 -6
- package/front_end/panels/sources/BreakpointEditDialog.ts +3 -3
- package/front_end/panels/sources/BreakpointsView.ts +1 -1
- package/front_end/panels/sources/CSSPlugin.ts +4 -4
- package/front_end/panels/sources/CallStackSidebarPane.ts +4 -4
- package/front_end/panels/sources/DebuggerPausedMessage.ts +3 -3
- package/front_end/panels/sources/FilteredUISourceCodeListProvider.ts +40 -23
- package/front_end/panels/sources/GoToLineQuickOpen.ts +11 -5
- package/front_end/panels/sources/NavigatorView.ts +4 -4
- package/front_end/panels/sources/OpenFileQuickOpen.ts +11 -16
- package/front_end/panels/sources/OutlineQuickOpen.ts +23 -23
- package/front_end/panels/sources/ProfilePlugin.ts +21 -12
- package/front_end/panels/sources/SourcesView.ts +2 -2
- package/front_end/panels/sources/TabbedEditorContainer.ts +4 -5
- package/front_end/panels/sources/ThreadsSidebarPane.ts +2 -2
- package/front_end/panels/sources/UISourceCodeFrame.ts +5 -6
- package/front_end/panels/sources/filteredUISourceCodeListProvider.css +41 -0
- package/front_end/panels/timeline/TimelineHistoryManager.ts +2 -2
- package/front_end/panels/timeline/TimelinePanel.ts +29 -25
- package/front_end/panels/timeline/TimelineSelectorStatsView.ts +3 -3
- package/front_end/panels/timeline/components/CPUThrottlingSelector.ts +1 -1
- package/front_end/panels/timeline/components/LiveMetricsView.ts +1 -1
- package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +1 -1
- package/front_end/panels/timeline/components/NetworkThrottlingSelector.ts +1 -1
- package/front_end/panels/timeline/components/OriginMap.ts +1 -1
- package/front_end/panels/timeline/components/insights/Checklist.ts +1 -1
- package/front_end/panels/timeline/components/insights/DOMSize.ts +1 -1
- package/front_end/panels/timeline/components/insights/ImageDelivery.ts +1 -1
- package/front_end/panels/timeline/components/insights/NetworkDependencyTree.ts +1 -1
- package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +2 -2
- package/front_end/panels/timeline/docs/flame_chart_migration.md +11 -16
- package/front_end/panels/timeline/overlays/components/EntriesLinkOverlay.ts +1 -1
- package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +1 -1
- package/front_end/panels/timeline/timeline-meta.ts +3 -2
- package/front_end/panels/utils/utils.ts +18 -3
- package/front_end/panels/whats_new/ReleaseNoteText.ts +10 -20
- package/front_end/panels/whats_new/resources/WNDT.md +8 -8
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/puppeteer/third_party/mitt/README.chromium +1 -0
- package/front_end/third_party/puppeteer/third_party/parsel/README.chromium +1 -0
- package/front_end/third_party/puppeteer/third_party/rxjs/README.chromium +1 -0
- package/front_end/ui/components/adorners/Adorner.ts +21 -1
- package/front_end/ui/components/annotations/AnnotationRepository.ts +98 -0
- package/front_end/ui/components/annotations/AnnotationType.ts +10 -0
- package/front_end/ui/components/annotations/annotations.ts +6 -0
- package/front_end/ui/components/buttons/Button.ts +2 -2
- package/front_end/ui/components/buttons/FloatingButton.ts +2 -2
- package/front_end/ui/components/chrome_link/ChromeLink.ts +1 -1
- package/front_end/ui/components/dialogs/ButtonDialog.ts +1 -1
- package/front_end/ui/components/dialogs/Dialog.ts +1 -1
- package/front_end/ui/components/dialogs/ShortcutDialog.ts +1 -0
- package/front_end/ui/components/diff_view/DiffView.ts +1 -1
- package/front_end/ui/components/expandable_list/ExpandableList.ts +1 -1
- package/front_end/ui/components/highlighting/HighlightElement.ts +16 -2
- package/front_end/ui/components/highlighting/MarkupHighlight.ts +162 -0
- package/front_end/ui/components/highlighting/highlighting.ts +7 -0
- package/front_end/ui/components/icon_button/FileSourceIcon.ts +2 -2
- package/front_end/ui/components/icon_button/IconButton.ts +2 -2
- package/front_end/ui/components/icon_button/icon_button.ts +0 -2
- package/front_end/ui/components/issue_counter/IssueCounter.ts +2 -2
- package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +2 -2
- package/front_end/ui/components/legacy_wrapper/LegacyWrapper.ts +1 -1
- package/front_end/ui/components/linkifier/LinkifierImpl.ts +1 -1
- package/front_end/ui/components/list/List.ts +184 -0
- package/front_end/ui/components/list/list.css +90 -0
- package/front_end/ui/components/{cards/cards.ts → list/lists.ts} +3 -3
- package/front_end/ui/components/markdown_view/CodeBlock.ts +1 -1
- package/front_end/ui/components/markdown_view/MarkdownImage.ts +4 -4
- package/front_end/ui/components/markdown_view/MarkdownLink.ts +1 -1
- package/front_end/ui/components/markdown_view/MarkdownView.ts +1 -1
- package/front_end/ui/components/menus/Menu.ts +1 -1
- package/front_end/ui/components/menus/SelectMenu.ts +1 -1
- package/front_end/ui/components/node_text/NodeText.ts +1 -1
- package/front_end/ui/components/panel_feedback/FeedbackButton.ts +1 -1
- package/front_end/ui/components/panel_feedback/PanelFeedback.ts +1 -1
- package/front_end/ui/components/panel_feedback/PreviewToggle.ts +1 -1
- package/front_end/ui/components/panel_introduction_steps/PanelIntroductionSteps.ts +1 -1
- package/front_end/ui/components/report_view/ReportView.ts +1 -1
- package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +2 -2
- package/front_end/ui/components/settings/SettingCheckbox.ts +1 -1
- package/front_end/ui/components/settings/SettingDeprecationWarning.ts +2 -2
- package/front_end/ui/components/snackbars/Snackbar.ts +1 -1
- package/front_end/ui/components/spinners/Spinner.ts +1 -1
- package/front_end/ui/components/srgb_overlay/SrgbOverlay.ts +1 -1
- package/front_end/ui/components/suggestion_input/SuggestionInput.ts +1 -0
- package/front_end/ui/components/survey_link/SurveyLink.ts +2 -2
- package/front_end/ui/components/switch/SwitchImpl.ts +1 -1
- package/front_end/ui/components/text_editor/TextEditor.ts +1 -0
- package/front_end/ui/components/text_editor/config.ts +2 -2
- package/front_end/ui/components/text_prompt/TextPrompt.ts +1 -1
- package/front_end/ui/components/tooltips/Tooltip.ts +1 -1
- package/front_end/ui/components/tree_outline/TreeOutline.ts +1 -1
- package/front_end/ui/kit/cards/Card.docs.ts +43 -0
- package/front_end/ui/{components/icon_button → kit/icons}/Icon.docs.ts +3 -4
- package/front_end/ui/{components/icon_button → kit/icons}/Icon.ts +6 -4
- package/front_end/ui/kit/kit.ts +6 -0
- package/front_end/ui/legacy/Infobar.ts +3 -3
- package/front_end/ui/legacy/InspectorView.ts +3 -3
- package/front_end/ui/legacy/SearchableView.ts +2 -2
- package/front_end/ui/legacy/SoftContextMenu.ts +5 -5
- package/front_end/ui/legacy/SoftDropDown.ts +2 -2
- package/front_end/ui/legacy/TabbedPane.ts +106 -8
- package/front_end/ui/legacy/Toolbar.ts +3 -3
- package/front_end/ui/legacy/Treeoutline.ts +2 -2
- package/front_end/ui/legacy/UIUtils.ts +4 -188
- package/front_end/ui/legacy/ViewManager.ts +27 -12
- package/front_end/ui/legacy/ViewRegistration.ts +21 -22
- package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +8 -8
- package/front_end/ui/legacy/components/color_picker/Spectrum.ts +4 -4
- package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +4 -4
- package/front_end/ui/legacy/components/inline_editor/FontEditor.ts +2 -2
- package/front_end/ui/legacy/components/inline_editor/Swatches.ts +5 -5
- package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +3 -3
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +5 -4
- package/front_end/ui/legacy/components/perf_ui/LineLevelProfile.ts +73 -35
- package/front_end/ui/legacy/components/perf_ui/LiveHeapProfile.ts +11 -2
- package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +3 -3
- package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +23 -31
- package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +11 -27
- package/front_end/ui/legacy/components/quick_open/HelpQuickOpen.ts +11 -15
- package/front_end/ui/legacy/components/quick_open/filteredListWidget.css +18 -65
- package/front_end/ui/legacy/components/source_frame/JSONView.ts +2 -1
- package/front_end/ui/legacy/components/utils/Linkifier.ts +3 -3
- package/front_end/ui/legacy/tabbedPane.css +10 -0
- package/front_end/ui/visual_logging/KnownContextValues.ts +3 -0
- package/inspector_overlay/README.md +3 -3
- package/mcp/HostBindings.ts +310 -0
- package/mcp/mcp.ts +18 -0
- package/mcp/tsconfig.json +6 -1
- package/package.json +26 -24
- /package/front_end/ui/{components → kit}/cards/Card.ts +0 -0
- /package/front_end/ui/{components → kit}/cards/card.css +0 -0
- /package/front_end/ui/{components/icon_button → kit/icons}/icon.css +0 -0
|
@@ -35,8 +35,8 @@ export type IconData = IconWithName|{
|
|
|
35
35
|
*
|
|
36
36
|
* ```js
|
|
37
37
|
* // Instantiate programmatically via the `create()` helper:
|
|
38
|
-
* const icon =
|
|
39
|
-
* const iconWithClassName =
|
|
38
|
+
* const icon = createIcon('bin');
|
|
39
|
+
* const iconWithClassName = createIcon('bin', 'delete-icon');
|
|
40
40
|
*
|
|
41
41
|
* // Use within a template:
|
|
42
42
|
* Lit.html`
|
|
@@ -74,7 +74,9 @@ export class Icon extends HTMLElement {
|
|
|
74
74
|
|
|
75
75
|
constructor() {
|
|
76
76
|
super();
|
|
77
|
-
this.role
|
|
77
|
+
if (!this.role) {
|
|
78
|
+
this.role = 'presentation';
|
|
79
|
+
}
|
|
78
80
|
const style = document.createElement('style');
|
|
79
81
|
style.textContent = iconStyles;
|
|
80
82
|
this.#icon = document.createElement('span');
|
|
@@ -165,7 +167,7 @@ export class Icon extends HTMLElement {
|
|
|
165
167
|
* @param className optional CSS class name(s) to put onto the element.
|
|
166
168
|
* @returns the newly created `Icon` instance.
|
|
167
169
|
*/
|
|
168
|
-
export const
|
|
170
|
+
export const createIcon = (name: string, className?: string): Icon => {
|
|
169
171
|
const icon = new Icon();
|
|
170
172
|
icon.name = name;
|
|
171
173
|
if (className !== undefined) {
|
|
@@ -7,7 +7,7 @@ import type * as Common from '../../core/common/common.js';
|
|
|
7
7
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
8
8
|
import * as Buttons from '../../ui/components/buttons/buttons.js';
|
|
9
9
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
10
|
-
import
|
|
10
|
+
import {createIcon} from '../kit/kit.js';
|
|
11
11
|
|
|
12
12
|
import * as ARIAUtils from './ARIAUtils.js';
|
|
13
13
|
import infobarStyles from './infobar.css.js';
|
|
@@ -55,7 +55,7 @@ export class Infobar {
|
|
|
55
55
|
this.shadowRoot = createShadowRootWithCoreStyles(this.element, {cssFile: infobarStyles});
|
|
56
56
|
|
|
57
57
|
this.contentElement = this.shadowRoot.createChild('div', 'infobar infobar-' + type);
|
|
58
|
-
const icon =
|
|
58
|
+
const icon = createIcon(TYPE_TO_ICON[type], type + '-icon');
|
|
59
59
|
this.contentElement.createChild('div', 'icon-container').appendChild(icon);
|
|
60
60
|
|
|
61
61
|
this.mainRow = this.contentElement.createChild('div', 'infobar-main-row');
|
|
@@ -180,7 +180,7 @@ export class Infobar {
|
|
|
180
180
|
if (!this.detailsRows) {
|
|
181
181
|
const details = document.createElement('details');
|
|
182
182
|
const summary = details.createChild('summary');
|
|
183
|
-
const triangleIcon =
|
|
183
|
+
const triangleIcon = createIcon('arrow-drop-down');
|
|
184
184
|
summary.createChild('div', 'icon-container').appendChild(triangleIcon);
|
|
185
185
|
this.contentElement.insertBefore(details, this.mainRow);
|
|
186
186
|
summary.appendChild(this.mainRow);
|
|
@@ -9,7 +9,7 @@ import * as i18n from '../../core/i18n/i18n.js';
|
|
|
9
9
|
import * as Root from '../../core/root/root.js';
|
|
10
10
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
11
11
|
import * as Buttons from '../../ui/components/buttons/buttons.js';
|
|
12
|
-
import
|
|
12
|
+
import {createIcon, type Icon} from '../kit/kit.js';
|
|
13
13
|
import * as VisualLogging from '../visual_logging/visual_logging.js';
|
|
14
14
|
|
|
15
15
|
import type {ActionDelegate as ActionDelegateInterface} from './ActionRegistration.js';
|
|
@@ -429,10 +429,10 @@ export class InspectorView extends VBox implements ViewLocationResolver {
|
|
|
429
429
|
// Find the tabbed location where the panel lives
|
|
430
430
|
const tabbedPane = this.getTabbedPaneForTabId(tabId);
|
|
431
431
|
if (tabbedPane) {
|
|
432
|
-
let icon:
|
|
432
|
+
let icon: Icon|null = null;
|
|
433
433
|
if (warnings.length !== 0) {
|
|
434
434
|
const warning = warnings.length === 1 ? warnings[0] : '· ' + warnings.join('\n· ');
|
|
435
|
-
icon =
|
|
435
|
+
icon = createIcon('warning-filled', 'small');
|
|
436
436
|
icon.classList.add('warning');
|
|
437
437
|
Tooltip.install(icon, warning);
|
|
438
438
|
}
|
|
@@ -41,7 +41,7 @@ import * as i18n from '../../core/i18n/i18n.js';
|
|
|
41
41
|
import * as Platform from '../../core/platform/platform.js';
|
|
42
42
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
43
43
|
import * as Buttons from '../components/buttons/buttons.js';
|
|
44
|
-
import
|
|
44
|
+
import {createIcon} from '../kit/kit.js';
|
|
45
45
|
|
|
46
46
|
import * as ARIAUtils from './ARIAUtils.js';
|
|
47
47
|
import {InspectorView} from './InspectorView.js';
|
|
@@ -189,7 +189,7 @@ export class SearchableView extends VBox {
|
|
|
189
189
|
// Elements within `searchInputElements` are added according to their expected tab order.
|
|
190
190
|
const searchInputElements = this.footerElement.createChild('div', 'search-inputs');
|
|
191
191
|
const iconAndInput = searchInputElements.createChild('div', 'icon-and-input');
|
|
192
|
-
const searchIcon =
|
|
192
|
+
const searchIcon = createIcon('search');
|
|
193
193
|
iconAndInput.appendChild(searchIcon);
|
|
194
194
|
|
|
195
195
|
this.searchInputElement = createHistoryInput('search', 'search-replace search');
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
8
8
|
import type * as Platform from '../../core/platform/platform.js';
|
|
9
|
-
import
|
|
9
|
+
import {createIcon} from '../../ui/kit/kit.js';
|
|
10
10
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
11
11
|
|
|
12
12
|
import * as ARIAUtils from './ARIAUtils.js';
|
|
@@ -218,7 +218,7 @@ export class SoftContextMenu {
|
|
|
218
218
|
|
|
219
219
|
// If the menu contains a checkbox, add checkbox space in front of the label to align the items
|
|
220
220
|
if (menuContainsCheckbox) {
|
|
221
|
-
const checkMarkElement =
|
|
221
|
+
const checkMarkElement = createIcon('checkmark', 'checkmark');
|
|
222
222
|
menuItemElement.appendChild(checkMarkElement);
|
|
223
223
|
}
|
|
224
224
|
if (item.tooltip) {
|
|
@@ -293,7 +293,7 @@ export class SoftContextMenu {
|
|
|
293
293
|
ARIAUtils.setLabel(menuItemElement, accessibleName);
|
|
294
294
|
|
|
295
295
|
if (item.isExperimentalFeature) {
|
|
296
|
-
const experimentIcon =
|
|
296
|
+
const experimentIcon = createIcon('experiment');
|
|
297
297
|
menuItemElement.appendChild(experimentIcon);
|
|
298
298
|
}
|
|
299
299
|
|
|
@@ -317,14 +317,14 @@ export class SoftContextMenu {
|
|
|
317
317
|
|
|
318
318
|
// If the menu contains a checkbox, add checkbox space in front of the label to align the items
|
|
319
319
|
if (menuContainsCheckbox) {
|
|
320
|
-
const checkMarkElement =
|
|
320
|
+
const checkMarkElement = createIcon('checkmark', 'checkmark soft-context-menu-item-checkmark');
|
|
321
321
|
menuItemElement.appendChild(checkMarkElement);
|
|
322
322
|
}
|
|
323
323
|
|
|
324
324
|
createTextChild(menuItemElement, item.label || '');
|
|
325
325
|
ARIAUtils.setExpanded(menuItemElement, false);
|
|
326
326
|
|
|
327
|
-
const subMenuArrowElement =
|
|
327
|
+
const subMenuArrowElement = createIcon('keyboard-arrow-right', 'soft-context-menu-item-submenu-arrow');
|
|
328
328
|
menuItemElement.appendChild(subMenuArrowElement);
|
|
329
329
|
|
|
330
330
|
menuItemElement.addEventListener('mousedown', this.menuItemMouseDown.bind(this), false);
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import type * as Common from '../../core/common/common.js';
|
|
7
7
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
8
8
|
import * as Geometry from '../../models/geometry/geometry.js';
|
|
9
|
-
import
|
|
9
|
+
import {createIcon} from '../kit/kit.js';
|
|
10
10
|
import * as VisualLogging from '../visual_logging/visual_logging.js';
|
|
11
11
|
|
|
12
12
|
import * as ARIAUtils from './ARIAUtils.js';
|
|
@@ -56,7 +56,7 @@ export class SoftDropDown<T> implements ListDelegate<T> {
|
|
|
56
56
|
this.element.classList.add('soft-dropdown');
|
|
57
57
|
appendStyle(this.element, softDropDownButtonStyles);
|
|
58
58
|
this.titleElement = this.element.createChild('span', 'title');
|
|
59
|
-
const dropdownArrowIcon =
|
|
59
|
+
const dropdownArrowIcon = createIcon('triangle-down');
|
|
60
60
|
this.element.appendChild(dropdownArrowIcon);
|
|
61
61
|
ARIAUtils.setExpanded(this.element, false);
|
|
62
62
|
|
|
@@ -10,9 +10,10 @@ import * as Common from '../../core/common/common.js';
|
|
|
10
10
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
11
11
|
import * as Platform from '../../core/platform/platform.js';
|
|
12
12
|
import * as Geometry from '../../models/geometry/geometry.js';
|
|
13
|
+
import * as Annotations from '../../ui/components/annotations/annotations.js';
|
|
13
14
|
import * as Buttons from '../../ui/components/buttons/buttons.js';
|
|
14
15
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
15
|
-
import
|
|
16
|
+
import {createIcon, Icon} from '../kit/kit.js';
|
|
16
17
|
|
|
17
18
|
import * as ARIAUtils from './ARIAUtils.js';
|
|
18
19
|
import {ContextMenu} from './ContextMenu.js';
|
|
@@ -53,6 +54,10 @@ const UIStrings = {
|
|
|
53
54
|
* @description Indicates that a tab contains a preview feature (i.e., a beta / experimental feature).
|
|
54
55
|
*/
|
|
55
56
|
previewFeature: 'Preview feature',
|
|
57
|
+
/**
|
|
58
|
+
* @description Indicates that a tab contains annotation(s).
|
|
59
|
+
*/
|
|
60
|
+
panelContainsAnnotation: 'This panel has one or more annotations',
|
|
56
61
|
/**
|
|
57
62
|
* @description Text to move a tab forwar.
|
|
58
63
|
*/
|
|
@@ -121,6 +126,11 @@ export class TabbedPane extends Common.ObjectWrapper.eventMixin<EventTypes, type
|
|
|
121
126
|
this.currentDevicePixelRatio = window.devicePixelRatio;
|
|
122
127
|
ZoomManager.instance().addEventListener(ZoomManagerEvents.ZOOM_CHANGED, this.zoomChanged, this);
|
|
123
128
|
this.makeTabSlider();
|
|
129
|
+
|
|
130
|
+
if (Annotations.AnnotationRepository.annotationsEnabled()) {
|
|
131
|
+
Annotations.AnnotationRepository.instance().addEventListener(
|
|
132
|
+
Annotations.Events.ANNOTATION_ADDED, this.#onAnnotationAdded, this);
|
|
133
|
+
}
|
|
124
134
|
}
|
|
125
135
|
|
|
126
136
|
setAccessibleName(name: string): void {
|
|
@@ -392,7 +402,7 @@ export class TabbedPane extends Common.ObjectWrapper.eventMixin<EventTypes, type
|
|
|
392
402
|
return this.tabsHistory.slice(0, tabsCount).map(tabToTabId);
|
|
393
403
|
}
|
|
394
404
|
|
|
395
|
-
setTabIcon(id: string, icon:
|
|
405
|
+
setTabIcon(id: string, icon: Icon|null): void {
|
|
396
406
|
const tab = this.tabsById.get(id);
|
|
397
407
|
if (!tab) {
|
|
398
408
|
return;
|
|
@@ -401,7 +411,7 @@ export class TabbedPane extends Common.ObjectWrapper.eventMixin<EventTypes, type
|
|
|
401
411
|
this.requestUpdate();
|
|
402
412
|
}
|
|
403
413
|
|
|
404
|
-
setTrailingTabIcon(id: string, icon:
|
|
414
|
+
setTrailingTabIcon(id: string, icon: Icon|null): void {
|
|
405
415
|
const tab = this.tabsById.get(id);
|
|
406
416
|
if (!tab) {
|
|
407
417
|
return;
|
|
@@ -555,6 +565,36 @@ export class TabbedPane extends Common.ObjectWrapper.eventMixin<EventTypes, type
|
|
|
555
565
|
this.performUpdate();
|
|
556
566
|
}
|
|
557
567
|
|
|
568
|
+
updateTabAnnotationIcons(): void {
|
|
569
|
+
if (!Annotations.AnnotationRepository.annotationsEnabled()) {
|
|
570
|
+
return;
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
const annotations = Annotations.AnnotationRepository.instance();
|
|
574
|
+
if (!annotations) {
|
|
575
|
+
return;
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
for (const tab of this.tabs) {
|
|
579
|
+
let primaryType = -1;
|
|
580
|
+
let secondaryType = -1;
|
|
581
|
+
switch (tab.id) {
|
|
582
|
+
case 'elements':
|
|
583
|
+
primaryType = Annotations.AnnotationType.ELEMENT_NODE;
|
|
584
|
+
secondaryType = Annotations.AnnotationType.STYLE_RULE;
|
|
585
|
+
break;
|
|
586
|
+
case 'network':
|
|
587
|
+
primaryType = Annotations.AnnotationType.NETWORK_REQUEST;
|
|
588
|
+
secondaryType = Annotations.AnnotationType.NETWORK_REQUEST_SUBPANEL_HEADERS;
|
|
589
|
+
break;
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
const showTabAnnotationIcon = annotations.getAnnotationsByType(primaryType).length > 0 ||
|
|
593
|
+
annotations.getAnnotationsByType(secondaryType).length > 0;
|
|
594
|
+
this.setTabAnnotationIcon(tab.id, showTabAnnotationIcon);
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
|
|
558
598
|
override performUpdate(): void {
|
|
559
599
|
if (!this.isShowing()) {
|
|
560
600
|
return;
|
|
@@ -583,6 +623,7 @@ export class TabbedPane extends Common.ObjectWrapper.eventMixin<EventTypes, type
|
|
|
583
623
|
this.updateWidths();
|
|
584
624
|
this.updateTabsDropDown();
|
|
585
625
|
this.updateTabSlider();
|
|
626
|
+
this.updateTabAnnotationIcons();
|
|
586
627
|
}
|
|
587
628
|
|
|
588
629
|
private adjustToolbarWidth(): void {
|
|
@@ -621,7 +662,7 @@ export class TabbedPane extends Common.ObjectWrapper.eventMixin<EventTypes, type
|
|
|
621
662
|
const dropDownContainer = document.createElement('div');
|
|
622
663
|
dropDownContainer.classList.add('tabbed-pane-header-tabs-drop-down-container');
|
|
623
664
|
dropDownContainer.setAttribute('jslog', `${VisualLogging.dropDown('more-tabs').track({click: true})}`);
|
|
624
|
-
const chevronIcon =
|
|
665
|
+
const chevronIcon = createIcon('chevron-double-right', 'chevron-icon');
|
|
625
666
|
const moreTabsString = i18nString(UIStrings.moreTabs);
|
|
626
667
|
dropDownContainer.title = moreTabsString;
|
|
627
668
|
ARIAUtils.markAsMenuButton(dropDownContainer);
|
|
@@ -939,6 +980,17 @@ export class TabbedPane extends Common.ObjectWrapper.eventMixin<EventTypes, type
|
|
|
939
980
|
this.automaticReorder = automatic;
|
|
940
981
|
}
|
|
941
982
|
|
|
983
|
+
setTabAnnotationIcon(id: string, iconVisible: boolean): void {
|
|
984
|
+
const tab = this.tabsById.get(id);
|
|
985
|
+
if (tab) {
|
|
986
|
+
tab.tabAnnotationIcon = iconVisible;
|
|
987
|
+
}
|
|
988
|
+
}
|
|
989
|
+
|
|
990
|
+
#onAnnotationAdded(): void {
|
|
991
|
+
this.updateTabAnnotationIcons();
|
|
992
|
+
}
|
|
993
|
+
|
|
942
994
|
private keyDown(event: KeyboardEvent): void {
|
|
943
995
|
if (!this.currentTab) {
|
|
944
996
|
return;
|
|
@@ -1009,6 +1061,7 @@ export interface EventTypes {
|
|
|
1009
1061
|
export class TabbedPaneTab {
|
|
1010
1062
|
closeable: boolean;
|
|
1011
1063
|
previewFeature = false;
|
|
1064
|
+
#tabAnnotationIcon = false;
|
|
1012
1065
|
private readonly tabbedPane: TabbedPane;
|
|
1013
1066
|
#id: string;
|
|
1014
1067
|
#title: string;
|
|
@@ -1017,7 +1070,7 @@ export class TabbedPaneTab {
|
|
|
1017
1070
|
shown: boolean;
|
|
1018
1071
|
measuredWidth!: number|undefined;
|
|
1019
1072
|
#tabElement!: HTMLElement|undefined;
|
|
1020
|
-
private icon:
|
|
1073
|
+
private icon: Icon|null = null;
|
|
1021
1074
|
private suffixElement: HTMLElement|null = null;
|
|
1022
1075
|
#width?: number;
|
|
1023
1076
|
private delegate?: TabbedPaneTabDelegate;
|
|
@@ -1064,11 +1117,37 @@ export class TabbedPaneTab {
|
|
|
1064
1117
|
return this.#jslogContext ?? (this.#id === 'console-view' ? 'console' : this.#id);
|
|
1065
1118
|
}
|
|
1066
1119
|
|
|
1120
|
+
get tabAnnotationIcon(): boolean {
|
|
1121
|
+
return this.#tabAnnotationIcon;
|
|
1122
|
+
}
|
|
1123
|
+
|
|
1124
|
+
set tabAnnotationIcon(iconVisible: boolean) {
|
|
1125
|
+
if (this.#tabAnnotationIcon === iconVisible) {
|
|
1126
|
+
return;
|
|
1127
|
+
}
|
|
1128
|
+
this.#tabAnnotationIcon = iconVisible;
|
|
1129
|
+
if (!this.#tabElement) {
|
|
1130
|
+
return;
|
|
1131
|
+
}
|
|
1132
|
+
const iconElement = this.#tabElement.querySelector('.ai-icon');
|
|
1133
|
+
if (iconVisible) {
|
|
1134
|
+
if (!iconElement) {
|
|
1135
|
+
const closeButton = this.#tabElement.querySelector('.close-button');
|
|
1136
|
+
this.#tabElement.insertBefore(this.createTabAnnotationIcon(), closeButton);
|
|
1137
|
+
}
|
|
1138
|
+
} else {
|
|
1139
|
+
iconElement?.remove();
|
|
1140
|
+
}
|
|
1141
|
+
this.#tabElement.classList.toggle('ai', iconVisible);
|
|
1142
|
+
delete this.measuredWidth;
|
|
1143
|
+
this.tabbedPane.requestUpdate();
|
|
1144
|
+
}
|
|
1145
|
+
|
|
1067
1146
|
isCloseable(): boolean {
|
|
1068
1147
|
return this.closeable;
|
|
1069
1148
|
}
|
|
1070
1149
|
|
|
1071
|
-
setIcon(icon:
|
|
1150
|
+
setIcon(icon: Icon|null): void {
|
|
1072
1151
|
this.icon = icon;
|
|
1073
1152
|
if (this.#tabElement && this.titleElement) {
|
|
1074
1153
|
this.createIconElement(this.#tabElement, this.titleElement, false);
|
|
@@ -1171,7 +1250,7 @@ export class TabbedPaneTab {
|
|
|
1171
1250
|
tabSuffixElements.set(tabElement, suffixElementContainer);
|
|
1172
1251
|
}
|
|
1173
1252
|
|
|
1174
|
-
private createMeasureClone(original:
|
|
1253
|
+
private createMeasureClone(original: Icon): Element {
|
|
1175
1254
|
// Cloning doesn't work for the icon component because the shadow
|
|
1176
1255
|
// root isn't copied, but it is sufficient to create a div styled
|
|
1177
1256
|
// to be the same size.
|
|
@@ -1204,6 +1283,12 @@ export class TabbedPaneTab {
|
|
|
1204
1283
|
tabElement.classList.add('preview');
|
|
1205
1284
|
}
|
|
1206
1285
|
|
|
1286
|
+
if (this.tabAnnotationIcon) {
|
|
1287
|
+
const tabAnnotationIcon = this.createTabAnnotationIcon();
|
|
1288
|
+
tabElement.appendChild(tabAnnotationIcon);
|
|
1289
|
+
tabElement.classList.add('ai');
|
|
1290
|
+
}
|
|
1291
|
+
|
|
1207
1292
|
if (this.closeable) {
|
|
1208
1293
|
const closeIcon = this.createCloseIconButton();
|
|
1209
1294
|
tabElement.appendChild(closeIcon);
|
|
@@ -1230,6 +1315,19 @@ export class TabbedPaneTab {
|
|
|
1230
1315
|
return tabElement as HTMLElement;
|
|
1231
1316
|
}
|
|
1232
1317
|
|
|
1318
|
+
private createTabAnnotationIcon(): HTMLDivElement {
|
|
1319
|
+
// TODO(finnur): Replace the ai-icon with the squiggly svg once it becomes available.
|
|
1320
|
+
const iconContainer = document.createElement('div');
|
|
1321
|
+
iconContainer.classList.add('ai-icon');
|
|
1322
|
+
const tabAnnotationIcon = new Icon();
|
|
1323
|
+
tabAnnotationIcon.name = 'smart-assistant';
|
|
1324
|
+
tabAnnotationIcon.classList.add('small');
|
|
1325
|
+
iconContainer.appendChild(tabAnnotationIcon);
|
|
1326
|
+
iconContainer.setAttribute('title', i18nString(UIStrings.panelContainsAnnotation));
|
|
1327
|
+
iconContainer.setAttribute('aria-label', i18nString(UIStrings.panelContainsAnnotation));
|
|
1328
|
+
return iconContainer;
|
|
1329
|
+
}
|
|
1330
|
+
|
|
1233
1331
|
private createCloseIconButton(): Buttons.Button.Button {
|
|
1234
1332
|
const closeButton = new Buttons.Button.Button();
|
|
1235
1333
|
closeButton.data = {
|
|
@@ -1248,7 +1346,7 @@ export class TabbedPaneTab {
|
|
|
1248
1346
|
private createPreviewIcon(): HTMLDivElement {
|
|
1249
1347
|
const iconContainer = document.createElement('div');
|
|
1250
1348
|
iconContainer.classList.add('preview-icon');
|
|
1251
|
-
const previewIcon = new
|
|
1349
|
+
const previewIcon = new Icon();
|
|
1252
1350
|
previewIcon.name = 'experiment';
|
|
1253
1351
|
previewIcon.classList.add('small');
|
|
1254
1352
|
iconContainer.appendChild(previewIcon);
|
|
@@ -10,7 +10,7 @@ import * as Platform from '../../core/platform/platform.js';
|
|
|
10
10
|
import * as Root from '../../core/root/root.js';
|
|
11
11
|
import * as Buttons from '../../ui/components/buttons/buttons.js';
|
|
12
12
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
13
|
-
import
|
|
13
|
+
import {createIcon} from '../kit/kit.js';
|
|
14
14
|
|
|
15
15
|
import {type Action, Events as ActionEvents} from './ActionRegistration.js';
|
|
16
16
|
import {ActionRegistry} from './ActionRegistry.js';
|
|
@@ -824,7 +824,7 @@ export class ToolbarFilter extends ToolbarInput {
|
|
|
824
824
|
filterPlaceholder, filterPlaceholder, growFactor, shrinkFactor, tooltip, completions, dynamicCompletions,
|
|
825
825
|
jslogContext || 'filter', element);
|
|
826
826
|
|
|
827
|
-
const filterIcon =
|
|
827
|
+
const filterIcon = createIcon('filter');
|
|
828
828
|
this.element.prepend(filterIcon);
|
|
829
829
|
this.element.classList.add('toolbar-filter');
|
|
830
830
|
}
|
|
@@ -997,7 +997,7 @@ export class ToolbarMenuButton extends ToolbarItem<ToolbarButton.EventTypes> {
|
|
|
997
997
|
this.title = '';
|
|
998
998
|
if (!isIconDropdown) {
|
|
999
999
|
this.element.classList.add('toolbar-has-dropdown');
|
|
1000
|
-
const dropdownArrowIcon =
|
|
1000
|
+
const dropdownArrowIcon = createIcon('triangle-down', 'toolbar-dropdown-arrow');
|
|
1001
1001
|
this.element.appendChild(dropdownArrowIcon);
|
|
1002
1002
|
}
|
|
1003
1003
|
if (jslogContext) {
|
|
@@ -40,7 +40,7 @@ import * as SDK from '../../core/sdk/sdk.js';
|
|
|
40
40
|
import type * as TextUtils from '../../models/text_utils/text_utils.js';
|
|
41
41
|
import type * as Buttons from '../components/buttons/buttons.js';
|
|
42
42
|
import * as Highlighting from '../components/highlighting/highlighting.js';
|
|
43
|
-
import type
|
|
43
|
+
import type {Icon} from '../kit/kit.js';
|
|
44
44
|
import * as Lit from '../lit/lit.js';
|
|
45
45
|
import * as VisualLogging from '../visual_logging/visual_logging.js';
|
|
46
46
|
|
|
@@ -810,7 +810,7 @@ export class TreeElement {
|
|
|
810
810
|
}
|
|
811
811
|
}
|
|
812
812
|
|
|
813
|
-
setLeadingIcons(icons:
|
|
813
|
+
setLeadingIcons(icons: Icon[]|Lit.TemplateResult[]): void {
|
|
814
814
|
if (!this.leadingIconsElement && !icons.length) {
|
|
815
815
|
return;
|
|
816
816
|
}
|