chrome-devtools-frontend 1.0.1549484 → 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.
Files changed (196) hide show
  1. package/docs/styleguide/ux/components.md +53 -12
  2. package/docs/styleguide/ux/images/cards.png +0 -0
  3. package/docs/ui_engineering.md +2 -2
  4. package/front_end/core/sdk/NetworkManager.ts +12 -10
  5. package/front_end/core/sdk/PageResourceLoader.ts +8 -1
  6. package/front_end/core/sdk/SourceMapManager.ts +12 -6
  7. package/front_end/entrypoints/main/MainImpl.ts +0 -9
  8. package/front_end/foundation/Universe.ts +7 -0
  9. package/front_end/generated/InspectorBackendCommands.ts +5 -2
  10. package/front_end/generated/protocol-mapping.d.ts +8 -0
  11. package/front_end/generated/protocol-proxy-api.d.ts +6 -0
  12. package/front_end/generated/protocol.ts +76 -0
  13. package/front_end/models/ai_assistance/BuiltInAi.ts +79 -5
  14. package/front_end/models/issues_manager/AttributionReportingIssue.ts +6 -8
  15. package/front_end/models/issues_manager/BounceTrackingIssue.ts +4 -14
  16. package/front_end/models/issues_manager/ClientHintIssue.ts +5 -12
  17. package/front_end/models/issues_manager/ContentSecurityPolicyIssue.ts +5 -12
  18. package/front_end/models/issues_manager/CookieDeprecationMetadataIssue.ts +7 -14
  19. package/front_end/models/issues_manager/CookieIssue.ts +27 -30
  20. package/front_end/models/issues_manager/CorsIssue.ts +8 -17
  21. package/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.ts +5 -8
  22. package/front_end/models/issues_manager/DeprecationIssue.ts +7 -14
  23. package/front_end/models/issues_manager/ElementAccessibilityIssue.ts +7 -14
  24. package/front_end/models/issues_manager/FederatedAuthRequestIssue.ts +4 -11
  25. package/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.ts +4 -11
  26. package/front_end/models/issues_manager/GenericIssue.ts +11 -16
  27. package/front_end/models/issues_manager/HeavyAdIssue.ts +4 -11
  28. package/front_end/models/issues_manager/Issue.ts +12 -4
  29. package/front_end/models/issues_manager/IssueAggregator.ts +8 -2
  30. package/front_end/models/issues_manager/LowTextContrastIssue.ts +3 -10
  31. package/front_end/models/issues_manager/MixedContentIssue.ts +7 -13
  32. package/front_end/models/issues_manager/PartitioningBlobURLIssue.ts +4 -11
  33. package/front_end/models/issues_manager/PropertyRuleIssue.ts +6 -12
  34. package/front_end/models/issues_manager/QuirksModeIssue.ts +3 -10
  35. package/front_end/models/issues_manager/SRIMessageSignatureIssue.ts +7 -13
  36. package/front_end/models/issues_manager/SharedArrayBufferIssue.ts +4 -11
  37. package/front_end/models/issues_manager/SharedDictionaryIssue.ts +6 -13
  38. package/front_end/models/issues_manager/StylesheetLoadingIssue.ts +8 -13
  39. package/front_end/models/issues_manager/UnencodedDigestIssue.ts +2 -9
  40. package/front_end/models/javascript_metadata/NativeFunctions.js +0 -13
  41. package/front_end/panels/application/AppManifestView.ts +4 -4
  42. package/front_end/panels/application/ApplicationPanelSidebar.ts +21 -21
  43. package/front_end/panels/application/BackForwardCacheTreeElement.ts +2 -2
  44. package/front_end/panels/application/BounceTrackingMitigationsTreeElement.ts +2 -2
  45. package/front_end/panels/application/InterestGroupTreeElement.ts +2 -2
  46. package/front_end/panels/application/OpenedWindowDetailsView.ts +2 -2
  47. package/front_end/panels/application/OriginTrialTreeView.ts +1 -1
  48. package/front_end/panels/application/PreloadingTreeElement.ts +3 -3
  49. package/front_end/panels/application/ReportingApiTreeElement.ts +2 -2
  50. package/front_end/panels/application/ServiceWorkerCacheTreeElement.ts +3 -3
  51. package/front_end/panels/application/SharedStorageListTreeElement.ts +2 -2
  52. package/front_end/panels/application/StorageBucketsTreeElement.ts +3 -3
  53. package/front_end/panels/application/StorageView.ts +2 -2
  54. package/front_end/panels/application/TrustTokensTreeElement.ts +2 -2
  55. package/front_end/panels/application/components/PermissionsPolicySection.ts +1 -1
  56. package/front_end/panels/application/components/ProtocolHandlersView.ts +1 -1
  57. package/front_end/panels/application/components/SharedStorageMetadataView.ts +1 -1
  58. package/front_end/panels/application/components/TrustTokensView.ts +1 -1
  59. package/front_end/panels/application/preloading/components/PreloadingGrid.ts +1 -1
  60. package/front_end/panels/application/preloading/components/RuleSetGrid.ts +1 -1
  61. package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +1 -1
  62. package/front_end/panels/changes/ChangesSidebar.ts +2 -0
  63. package/front_end/panels/changes/CombinedDiffView.ts +2 -0
  64. package/front_end/panels/common/AnnotationManager.ts +71 -0
  65. package/front_end/panels/common/PersistenceUtils.ts +6 -7
  66. package/front_end/panels/common/common.ts +1 -0
  67. package/front_end/panels/console/ConsolePrompt.ts +4 -4
  68. package/front_end/panels/console/ConsoleView.ts +2 -2
  69. package/front_end/panels/console/ConsoleViewMessage.ts +10 -11
  70. package/front_end/panels/console_counters/WarningErrorCounter.ts +2 -0
  71. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +1 -1
  72. package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +3 -3
  73. package/front_end/panels/elements/ElementsPanel.ts +49 -0
  74. package/front_end/panels/elements/ElementsTreeElement.ts +156 -108
  75. package/front_end/panels/elements/ElementsTreeOutline.ts +9 -2
  76. package/front_end/panels/elements/ShortcutTreeElement.ts +2 -2
  77. package/front_end/panels/elements/StyleEditorWidget.ts +2 -2
  78. package/front_end/panels/elements/StylePropertyTreeElement.ts +6 -6
  79. package/front_end/panels/elements/StylesSidebarPane.ts +4 -5
  80. package/front_end/panels/elements/TopLayerContainer.ts +2 -2
  81. package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +1 -1
  82. package/front_end/panels/elements/components/ElementsTreeExpandButton.ts +1 -1
  83. package/front_end/panels/elements/components/QueryContainer.ts +1 -1
  84. package/front_end/panels/elements/components/StylePropertyEditor.ts +1 -1
  85. package/front_end/panels/emulation/DeviceModeWrapper.ts +48 -3
  86. package/front_end/panels/explain/components/ConsoleInsight.ts +6 -4
  87. package/front_end/panels/issues/AffectedResourcesView.ts +2 -2
  88. package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +2 -2
  89. package/front_end/panels/issues/IssueKindView.ts +2 -2
  90. package/front_end/panels/issues/IssueView.ts +4 -4
  91. package/front_end/panels/js_timeline/js_timeline-meta.ts +4 -2
  92. package/front_end/panels/linear_memory_inspector/components/LinearMemoryHighlightChipList.ts +1 -1
  93. package/front_end/panels/linear_memory_inspector/components/LinearMemoryNavigator.ts +1 -1
  94. package/front_end/panels/linear_memory_inspector/components/LinearMemoryValueInterpreter.ts +1 -1
  95. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.ts +1 -1
  96. package/front_end/panels/media/PlayerListView.ts +1 -1
  97. package/front_end/panels/mobile_throttling/ThrottlingManager.ts +2 -2
  98. package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +2 -3
  99. package/front_end/panels/network/NetworkDataGridNode.ts +3 -3
  100. package/front_end/panels/network/NetworkFrameGrouper.ts +2 -2
  101. package/front_end/panels/network/NetworkItemView.ts +4 -4
  102. package/front_end/panels/network/NetworkLogViewColumns.ts +3 -3
  103. package/front_end/panels/network/RequestCookiesView.ts +2 -2
  104. package/front_end/panels/network/SignedExchangeInfoView.ts +2 -2
  105. package/front_end/panels/network/components/RequestTrustTokensView.ts +5 -6
  106. package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +3 -3
  107. package/front_end/panels/profiler/ProfileDataGrid.ts +2 -2
  108. package/front_end/panels/profiler/ProfilesPanel.ts +2 -2
  109. package/front_end/panels/protocol_monitor/JSONEditor.ts +1 -1
  110. package/front_end/panels/recorder/components/CreateRecordingView.ts +1 -1
  111. package/front_end/panels/recorder/components/ExtensionView.ts +1 -1
  112. package/front_end/panels/recorder/components/RecordingListView.ts +1 -1
  113. package/front_end/panels/recorder/components/RecordingView.ts +1 -1
  114. package/front_end/panels/recorder/components/StepView.ts +1 -1
  115. package/front_end/panels/screencast/ScreencastView.ts +8 -8
  116. package/front_end/panels/search/SearchView.ts +1 -1
  117. package/front_end/panels/security/CookieControlsTreeElement.ts +2 -2
  118. package/front_end/panels/security/CookieReportTreeElement.ts +2 -2
  119. package/front_end/panels/security/SecurityPanel.ts +5 -5
  120. package/front_end/panels/security/SecurityPanelSidebar.ts +3 -4
  121. package/front_end/panels/settings/KeybindsSettingsTab.ts +4 -4
  122. package/front_end/panels/settings/SettingsScreen.ts +2 -3
  123. package/front_end/panels/snippets/SnippetsQuickOpen.ts +16 -8
  124. package/front_end/panels/sources/BreakpointEditDialog.ts +3 -3
  125. package/front_end/panels/sources/BreakpointsView.ts +1 -1
  126. package/front_end/panels/sources/CSSPlugin.ts +3 -3
  127. package/front_end/panels/sources/CallStackSidebarPane.ts +4 -4
  128. package/front_end/panels/sources/DebuggerPausedMessage.ts +3 -3
  129. package/front_end/panels/sources/FilteredUISourceCodeListProvider.ts +39 -30
  130. package/front_end/panels/sources/GoToLineQuickOpen.ts +11 -7
  131. package/front_end/panels/sources/NavigatorView.ts +2 -2
  132. package/front_end/panels/sources/OpenFileQuickOpen.ts +11 -15
  133. package/front_end/panels/sources/OutlineQuickOpen.ts +23 -26
  134. package/front_end/panels/sources/SourcesView.ts +2 -2
  135. package/front_end/panels/sources/TabbedEditorContainer.ts +4 -5
  136. package/front_end/panels/sources/ThreadsSidebarPane.ts +2 -2
  137. package/front_end/panels/sources/UISourceCodeFrame.ts +5 -5
  138. package/front_end/panels/timeline/TimelineHistoryManager.ts +2 -2
  139. package/front_end/panels/timeline/TimelinePanel.ts +14 -9
  140. package/front_end/panels/timeline/components/CPUThrottlingSelector.ts +1 -1
  141. package/front_end/panels/timeline/components/LiveMetricsView.ts +1 -1
  142. package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +1 -1
  143. package/front_end/panels/timeline/components/NetworkThrottlingSelector.ts +1 -1
  144. package/front_end/panels/timeline/components/OriginMap.ts +1 -1
  145. package/front_end/panels/timeline/components/insights/Checklist.ts +1 -1
  146. package/front_end/panels/timeline/components/insights/DOMSize.ts +1 -1
  147. package/front_end/panels/timeline/components/insights/ImageDelivery.ts +1 -1
  148. package/front_end/panels/timeline/components/insights/NetworkDependencyTree.ts +1 -1
  149. package/front_end/panels/timeline/overlays/components/EntriesLinkOverlay.ts +1 -1
  150. package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +1 -1
  151. package/front_end/panels/timeline/timeline-meta.ts +3 -2
  152. package/front_end/panels/utils/utils.ts +1 -0
  153. package/front_end/third_party/chromium/README.chromium +1 -1
  154. package/front_end/ui/components/adorners/Adorner.ts +20 -0
  155. package/front_end/ui/components/annotations/AnnotationRepository.ts +1 -1
  156. package/front_end/ui/components/buttons/Button.ts +1 -1
  157. package/front_end/ui/components/buttons/FloatingButton.ts +1 -1
  158. package/front_end/ui/components/highlighting/HighlightElement.ts +15 -2
  159. package/front_end/ui/components/icon_button/FileSourceIcon.ts +1 -1
  160. package/front_end/ui/components/icon_button/IconButton.ts +1 -1
  161. package/front_end/ui/components/icon_button/icon_button.ts +0 -2
  162. package/front_end/ui/components/issue_counter/IssueCounter.ts +1 -1
  163. package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +1 -1
  164. package/front_end/ui/components/markdown_view/MarkdownImage.ts +3 -3
  165. package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +1 -1
  166. package/front_end/ui/components/settings/SettingDeprecationWarning.ts +1 -1
  167. package/front_end/ui/components/survey_link/SurveyLink.ts +1 -1
  168. package/front_end/ui/components/text_editor/config.ts +2 -2
  169. package/front_end/ui/kit/cards/Card.docs.ts +43 -0
  170. package/front_end/ui/{components/icon_button → kit/icons}/Icon.docs.ts +3 -4
  171. package/front_end/ui/{components/icon_button → kit/icons}/Icon.ts +4 -4
  172. package/front_end/ui/kit/kit.ts +1 -0
  173. package/front_end/ui/legacy/Infobar.ts +3 -3
  174. package/front_end/ui/legacy/InspectorView.ts +3 -3
  175. package/front_end/ui/legacy/SearchableView.ts +2 -2
  176. package/front_end/ui/legacy/SoftContextMenu.ts +5 -5
  177. package/front_end/ui/legacy/SoftDropDown.ts +2 -2
  178. package/front_end/ui/legacy/TabbedPane.ts +9 -9
  179. package/front_end/ui/legacy/Toolbar.ts +3 -3
  180. package/front_end/ui/legacy/Treeoutline.ts +2 -2
  181. package/front_end/ui/legacy/UIUtils.ts +4 -4
  182. package/front_end/ui/legacy/ViewManager.ts +4 -4
  183. package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +8 -8
  184. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +4 -4
  185. package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +4 -4
  186. package/front_end/ui/legacy/components/inline_editor/FontEditor.ts +2 -2
  187. package/front_end/ui/legacy/components/inline_editor/Swatches.ts +5 -5
  188. package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +3 -3
  189. package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +3 -3
  190. package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +22 -29
  191. package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +8 -15
  192. package/front_end/ui/legacy/components/quick_open/HelpQuickOpen.ts +11 -14
  193. package/front_end/ui/legacy/components/utils/Linkifier.ts +3 -3
  194. package/mcp/mcp.ts +1 -0
  195. package/package.json +1 -1
  196. /package/front_end/ui/{components/icon_button → kit/icons}/icon.css +0 -0
@@ -128,11 +128,56 @@ export class ActionDelegate implements UI.ActionRegistration.ActionDelegate {
128
128
  return;
129
129
  }
130
130
  const result = await object.callFunction(function(this: Element) {
131
+ function getFrameOffset(frame: Element|null): {x: number, y: number} {
132
+ if (!frame) {
133
+ return {x: 0, y: 0};
134
+ }
135
+
136
+ // The offset of the frame's content relative to the frame element
137
+ // contains the border width and the padding.
138
+ // The border width.
139
+ const borderTop = frame.clientTop;
140
+ const borderLeft = frame.clientLeft;
141
+
142
+ // The padding can be retrieved via computed styles.
143
+ const styles = window.getComputedStyle(frame);
144
+ const paddingTop = parseFloat(styles.paddingTop);
145
+ const paddingLeft = parseFloat(styles.paddingLeft);
146
+
147
+ // The position of the frame in it's parent.
148
+ const rect = frame.getBoundingClientRect();
149
+
150
+ // The offset of the parent frame's content relative to the
151
+ // document. If there is no parent frame, the offset is 0.
152
+ // In case of OOPiF, there is no access to the parent frame's
153
+ // offset.
154
+ const parentFrameOffset = getFrameOffset(frame.ownerDocument.defaultView?.frameElement ?? null);
155
+
156
+ // The scroll position of the frame.
157
+ const scrollX = frame.ownerDocument.defaultView?.scrollX ?? 0;
158
+ const scrollY = frame.ownerDocument.defaultView?.scrollY ?? 0;
159
+
160
+ return {
161
+ x: parentFrameOffset.x + rect.left + borderLeft + paddingLeft + scrollX,
162
+ y: parentFrameOffset.y + rect.top + borderTop + paddingTop + scrollY,
163
+ };
164
+ }
165
+
166
+ // The bounding client rect of the node relative to the viewport.
131
167
  const rect = this.getBoundingClientRect();
132
- const docRect = this.ownerDocument.documentElement.getBoundingClientRect();
168
+ const frameOffset = getFrameOffset(this.ownerDocument.defaultView?.frameElement ?? null);
169
+
170
+ // The scroll position of the frame.
171
+ const scrollX = this.ownerDocument.defaultView?.scrollX ?? 0;
172
+ const scrollY = this.ownerDocument.defaultView?.scrollY ?? 0;
173
+
174
+ // The offset of the node's content relative to the top-level
175
+ // document is the sum of the element offset relative to the
176
+ // document's viewport, the document's scroll position, and the
177
+ // parent's offset relative to the top-level document.
133
178
  return JSON.stringify({
134
- x: rect.left - docRect.left,
135
- y: rect.top - docRect.top,
179
+ x: rect.left + frameOffset.x + scrollX,
180
+ y: rect.top + frameOffset.y + scrollY,
136
181
  width: rect.width,
137
182
  height: rect.height,
138
183
  scale: 1,
@@ -529,9 +529,10 @@ function renderSignInFooter(onGoToSignIn: () => void): Lit.LitTemplate {
529
529
  .variant=${Buttons.Button.Variant.PRIMARY}
530
530
  .jslogContext=${'update-settings'}
531
531
  >
532
- ${UIStrings.signIn}
532
+ ${i18nString(UIStrings.signIn)}
533
533
  </devtools-button>
534
534
  </div>`;
535
+ // clang-format on
535
536
  }
536
537
 
537
538
  function renderConsentReminderFooter(onReminderSettingsLink: () => void, onConsentReminderConfirmed: () => void): Lit.LitTemplate {
@@ -541,9 +542,9 @@ function renderConsentReminderFooter(onReminderSettingsLink: () => void, onConse
541
542
  <div class="buttons">
542
543
  <devtools-button
543
544
  @click=${onReminderSettingsLink}
544
- .variant=${Buttons.Button.Variant.TONAL}
545
- jslogContext=${'settings'}
546
- title=${'Settings'}
545
+ .variant=${Buttons.Button.Variant.TONAL}
546
+ .jslogContext=${'settings'}
547
+ .title=${'Settings'}
547
548
  >
548
549
  Settings
549
550
  </devtools-button>
@@ -557,6 +558,7 @@ function renderConsentReminderFooter(onReminderSettingsLink: () => void, onConse
557
558
  Continue
558
559
  </devtools-button>
559
560
  </div>`;
561
+ // clang-format on
560
562
  }
561
563
 
562
564
  function renderInsightFooter(noLogging: ViewInput['noLogging'], selectedRating: ViewInput['selectedRating'], callbacks: ViewInput['callbacks']): Lit.LitTemplate {
@@ -12,8 +12,8 @@ import type * as Protocol from '../../generated/protocol.js';
12
12
  import type * as IssuesManager from '../../models/issues_manager/issues_manager.js';
13
13
  import * as Logs from '../../models/logs/logs.js';
14
14
  import type * as NetworkForward from '../../panels/network/forward/forward.js';
15
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
16
15
  import * as RequestLinkIcon from '../../ui/components/request_link_icon/request_link_icon.js';
16
+ import {Icon} from '../../ui/kit/kit.js';
17
17
  import * as Components from '../../ui/legacy/components/utils/utils.js';
18
18
  import * as UI from '../../ui/legacy/legacy.js';
19
19
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
@@ -180,7 +180,7 @@ export abstract class AffectedResourcesView extends UI.TreeOutline.TreeElement {
180
180
  const frameCell = document.createElement('td');
181
181
  frameCell.classList.add('affected-resource-cell');
182
182
  if (frame) {
183
- const icon = new IconButton.Icon.Icon();
183
+ const icon = new Icon();
184
184
  icon.name = 'code-circle';
185
185
  icon.classList.add('link', 'elements-panel', 'medium');
186
186
  icon.onclick = async () => {
@@ -109,7 +109,7 @@ export class AttributionReportingIssueDetailsView extends AffectedResourcesView
109
109
  const element = document.createElement('tr');
110
110
  element.classList.add('affected-resource-directive');
111
111
 
112
- const details = issue.issueDetails;
112
+ const details = issue.details();
113
113
 
114
114
  switch (issueCode) {
115
115
  case IssuesManager.AttributionReportingIssue.IssueCode.INVALID_REGISTER_SOURCE_HEADER:
@@ -154,7 +154,7 @@ export class AttributionReportingIssueDetailsView extends AffectedResourcesView
154
154
 
155
155
  async #appendElementOrEmptyCell(
156
156
  parent: HTMLElement, issue: IssuesManager.AttributionReportingIssue.AttributionReportingIssue): Promise<void> {
157
- const details = issue.issueDetails;
157
+ const details = issue.details();
158
158
  if (details.violatingNodeId !== undefined) {
159
159
  const target = issue.model()?.target() || null;
160
160
  parent.appendChild(await this.createElementCell(
@@ -7,8 +7,8 @@ import * as Common from '../../core/common/common.js';
7
7
  import * as i18n from '../../core/i18n/i18n.js';
8
8
  import * as IssuesManager from '../../models/issues_manager/issues_manager.js';
9
9
  import * as Adorners from '../../ui/components/adorners/adorners.js';
10
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
11
10
  import * as IssueCounter from '../../ui/components/issue_counter/issue_counter.js';
11
+ import {Icon} from '../../ui/kit/kit.js';
12
12
  import * as UI from '../../ui/legacy/legacy.js';
13
13
 
14
14
  import * as Components from './components/components.js';
@@ -93,7 +93,7 @@ export class IssueKindView extends UI.TreeOutline.TreeElement {
93
93
  const header = document.createElement('div');
94
94
  header.classList.add('header');
95
95
 
96
- const issueKindIcon = new IconButton.Icon.Icon();
96
+ const issueKindIcon = new Icon();
97
97
  issueKindIcon.name = IssueCounter.IssueCounter.getIssueKindIconName(this.#kind);
98
98
  issueKindIcon.classList.add('leading-issue-icon', 'extra-large');
99
99
 
@@ -12,9 +12,9 @@ import type {AggregatedIssue} from '../../models/issues_manager/IssueAggregator.
12
12
  import * as IssuesManager from '../../models/issues_manager/issues_manager.js';
13
13
  import * as NetworkForward from '../../panels/network/forward/forward.js';
14
14
  import * as Adorners from '../../ui/components/adorners/adorners.js';
15
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
16
15
  import * as IssueCounter from '../../ui/components/issue_counter/issue_counter.js';
17
16
  import * as MarkdownView from '../../ui/components/markdown_view/markdown_view.js';
17
+ import {Icon} from '../../ui/kit/kit.js';
18
18
  import * as UI from '../../ui/legacy/legacy.js';
19
19
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
20
20
 
@@ -159,7 +159,7 @@ class AffectedMixedContentView extends AffectedResourcesView {
159
159
 
160
160
  let count = 0;
161
161
  for (const issue of mixedContentIssues) {
162
- const details = issue.getDetails();
162
+ const details = issue.details();
163
163
  this.appendAffectedMixedContent(details);
164
164
  count++;
165
165
  }
@@ -221,7 +221,7 @@ export class IssueView extends UI.TreeOutline.TreeElement {
221
221
  affectedResources: UI.TreeOutline.TreeElement;
222
222
  readonly #affectedResourceViews: AffectedResourcesView[];
223
223
  #aggregatedIssuesCount: HTMLElement|null;
224
- #issueKindIcon: IconButton.Icon.Icon|null = null;
224
+ #issueKindIcon: Icon|null = null;
225
225
  #hasBeenExpandedBefore: boolean;
226
226
  #throttle: Common.Throttler.Throttler;
227
227
  #needsUpdateOnExpand = true;
@@ -336,7 +336,7 @@ export class IssueView extends UI.TreeOutline.TreeElement {
336
336
  #appendHeader(): void {
337
337
  const header = document.createElement('div');
338
338
  header.classList.add('header');
339
- this.#issueKindIcon = new IconButton.Icon.Icon();
339
+ this.#issueKindIcon = new Icon();
340
340
  this.#issueKindIcon.classList.add('leading-issue-icon', 'extra-large');
341
341
  this.#aggregatedIssuesCount = document.createElement('span');
342
342
  const countAdorner = new Adorners.Adorner.Adorner();
@@ -4,6 +4,7 @@
4
4
 
5
5
  import * as Common from '../../core/common/common.js';
6
6
  import * as i18n from '../../core/i18n/i18n.js';
7
+ import * as SDK from '../../core/sdk/sdk.js';
7
8
  import * as UI from '../../ui/legacy/legacy.js';
8
9
  import type * as Timeline from '../timeline/timeline.js';
9
10
 
@@ -61,9 +62,10 @@ UI.ViewManager.registerViewExtension({
61
62
  order: 66,
62
63
  hasToolbar: false,
63
64
  isPreviewFeature: true,
64
- async loadView() {
65
+ async loadView(universe) {
65
66
  const Timeline = await loadTimelineModule();
66
- return Timeline.TimelinePanel.TimelinePanel.instance({forceNew: null});
67
+ const resourceLoader = universe.context.get(SDK.PageResourceLoader.PageResourceLoader);
68
+ return Timeline.TimelinePanel.TimelinePanel.instance({forceNew: true, resourceLoader});
67
69
  },
68
70
  });
69
71
 
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
  /* eslint-disable @devtools/no-lit-render-outside-of-view */
5
5
 
6
- import '../../../ui/components/icon_button/icon_button.js';
6
+ import '../../../ui/kit/kit.js';
7
7
 
8
8
  import * as i18n from '../../../core/i18n/i18n.js';
9
9
  import {Directives, html, render, type TemplateResult} from '../../../ui/lit/lit.js';
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
  /* eslint-disable @devtools/no-lit-render-outside-of-view */
5
5
 
6
- import '../../../ui/components/icon_button/icon_button.js';
6
+ import '../../../ui/kit/kit.js';
7
7
 
8
8
  import * as i18n from '../../../core/i18n/i18n.js';
9
9
  import * as Buttons from '../../../ui/components/buttons/buttons.js';
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
  /* eslint-disable @devtools/no-lit-render-outside-of-view */
5
5
 
6
- import '../../../ui/components/icon_button/icon_button.js';
6
+ import '../../../ui/kit/kit.js';
7
7
  import './ValueInterpreterDisplay.js';
8
8
  import './ValueInterpreterSettings.js';
9
9
 
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
  /* eslint-disable @devtools/no-lit-render-outside-of-view */
5
5
 
6
- import '../../../ui/components/icon_button/icon_button.js';
6
+ import '../../../ui/kit/kit.js';
7
7
 
8
8
  import * as i18n from '../../../core/i18n/i18n.js';
9
9
  import * as UI from '../../../ui/legacy/legacy.js';
@@ -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
 
5
- import '../../ui/components/icon_button/icon_button.js';
5
+ import '../../ui/kit/kit.js';
6
6
 
7
7
  import * as i18n from '../../core/i18n/i18n.js';
8
8
  import type * as Protocol from '../../generated/protocol.js';
@@ -7,7 +7,7 @@ import * as Common from '../../core/common/common.js';
7
7
  import * as Host from '../../core/host/host.js';
8
8
  import * as i18n from '../../core/i18n/i18n.js';
9
9
  import * as SDK from '../../core/sdk/sdk.js';
10
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
10
+ import {Icon} from '../../ui/kit/kit.js';
11
11
  import * as UI from '../../ui/legacy/legacy.js';
12
12
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
13
13
 
@@ -392,7 +392,7 @@ export class ThrottlingManager extends Common.ObjectWrapper.ObjectWrapper<Thrott
392
392
 
393
393
  const reset = new UI.Toolbar.ToolbarButton('Reset concurrency', 'undo', undefined, 'hardware-concurrency-reset');
394
394
  reset.setTitle(i18nString(UIStrings.resetConcurrency));
395
- const icon = new IconButton.Icon.Icon();
395
+ const icon = new Icon();
396
396
  icon.name = 'warning-filled';
397
397
  icon.classList.add('small');
398
398
  const warning = new UI.Toolbar.ToolbarItem(icon);
@@ -9,8 +9,7 @@ import * as Common from '../../core/common/common.js';
9
9
  import * as i18n from '../../core/i18n/i18n.js';
10
10
  import * as SDK from '../../core/sdk/sdk.js';
11
11
  import * as Buttons from '../../ui/components/buttons/buttons.js';
12
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
13
- import type {Card} from '../../ui/kit/kit.js';
12
+ import {type Card, createIcon} from '../../ui/kit/kit.js';
14
13
  import * as UI from '../../ui/legacy/legacy.js';
15
14
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
16
15
 
@@ -352,7 +351,7 @@ export class CPUThrottlingCard {
352
351
  private createTextWithIcon(text: string, icon: string): HTMLElement {
353
352
  const el = document.createElement('div');
354
353
  el.classList.add('text-with-icon');
355
- el.append(IconButton.Icon.create(icon));
354
+ el.append(createIcon(icon));
356
355
  el.append(text);
357
356
  return el;
358
357
  }
@@ -48,7 +48,7 @@ import * as Logs from '../../models/logs/logs.js';
48
48
  import type * as NetworkTimeCalculator from '../../models/network_time_calculator/network_time_calculator.js';
49
49
  import * as NetworkForward from '../../panels/network/forward/forward.js';
50
50
  import * as Buttons from '../../ui/components/buttons/buttons.js';
51
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
51
+ import {createIcon} from '../../ui/kit/kit.js';
52
52
  import * as DataGrid from '../../ui/legacy/components/data_grid/data_grid.js';
53
53
  import * as PerfUI from '../../ui/legacy/components/perf_ui/perf_ui.js';
54
54
  import * as Components from '../../ui/legacy/components/utils/utils.js';
@@ -1428,7 +1428,7 @@ export class NetworkRequestNode extends NetworkNode {
1428
1428
  case SDK.NetworkRequest.InitiatorType.PREFLIGHT: {
1429
1429
  cell.appendChild(document.createTextNode(i18nString(UIStrings.preflight)));
1430
1430
  if (initiator.initiatorRequest) {
1431
- const icon = IconButton.Icon.create('arrow-up-down-circle');
1431
+ const icon = createIcon('arrow-up-down-circle');
1432
1432
  const link = Components.Linkifier.Linkifier.linkifyRevealable(
1433
1433
  initiator.initiatorRequest, icon, undefined, i18nString(UIStrings.selectTheRequestThatTriggered),
1434
1434
  'trailing-link-icon', 'initator-request');
@@ -1513,7 +1513,7 @@ export class NetworkRequestNode extends NetworkNode {
1513
1513
  const throttlingConditionsTitle = typeof throttlingConditions.conditions.title === 'string' ?
1514
1514
  throttlingConditions.conditions.title :
1515
1515
  throttlingConditions.conditions.title();
1516
- const icon = IconButton.Icon.create('watch');
1516
+ const icon = createIcon('watch');
1517
1517
  icon.title = i18nString(UIStrings.wasThrottled, {PH1: throttlingConditionsTitle});
1518
1518
  icon.addEventListener('click', () => void Common.Revealer.reveal(throttlingConditions));
1519
1519
  cell.append(icon);
@@ -4,7 +4,7 @@
4
4
 
5
5
  import * as Common from '../../core/common/common.js';
6
6
  import * as SDK from '../../core/sdk/sdk.js';
7
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
7
+ import {createIcon} from '../../ui/kit/kit.js';
8
8
  import type * as DataGrid from '../../ui/legacy/components/data_grid/data_grid.js';
9
9
  import * as UI from '../../ui/legacy/legacy.js';
10
10
 
@@ -56,7 +56,7 @@ export class FrameGroupNode extends NetworkGroupNode {
56
56
  const columnIndex = (this.dataGrid as DataGrid.DataGrid.DataGridImpl<unknown>).indexOfVisibleColumn(columnId);
57
57
  if (columnIndex === 0) {
58
58
  const name = this.displayName();
59
- cell.appendChild(IconButton.Icon.create('frame', 'network-frame-group-icon'));
59
+ cell.appendChild(createIcon('frame', 'network-frame-group-icon'));
60
60
  UI.UIUtils.createTextChild(cell, name);
61
61
  UI.Tooltip.Tooltip.install(cell, name);
62
62
  this.setCellAccessibleName(cell.textContent || '', cell, columnId);
@@ -10,8 +10,8 @@ import * as Platform from '../../core/platform/platform.js';
10
10
  import * as SDK from '../../core/sdk/sdk.js';
11
11
  import type * as NetworkTimeCalculator from '../../models/network_time_calculator/network_time_calculator.js';
12
12
  import * as NetworkForward from '../../panels/network/forward/forward.js';
13
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
14
13
  import * as LegacyWrapper from '../../ui/components/legacy_wrapper/legacy_wrapper.js';
14
+ import {Icon} from '../../ui/kit/kit.js';
15
15
  import type * as SourceFrame from '../../ui/legacy/components/source_frame/source_frame.js';
16
16
  import * as UI from '../../ui/legacy/legacy.js';
17
17
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
@@ -208,7 +208,7 @@ export class NetworkItemView extends UI.TabbedPane.TabbedPane {
208
208
  i18nString(UIStrings.responsePreview));
209
209
  const signedExchangeInfo = request.signedExchangeInfo();
210
210
  if (signedExchangeInfo?.errors?.length) {
211
- const icon = new IconButton.Icon.Icon();
211
+ const icon = new Icon();
212
212
  icon.name = 'cross-circle-filled';
213
213
  icon.classList.add('small');
214
214
  UI.Tooltip.Tooltip.install(icon, i18nString(UIStrings.signedexchangeError));
@@ -292,7 +292,7 @@ export class NetworkItemView extends UI.TabbedPane.TabbedPane {
292
292
  i18nString(UIStrings.requestAndResponseCookies));
293
293
  }
294
294
  if (this.#request.hasThirdPartyCookiePhaseoutIssue()) {
295
- const icon = new IconButton.Icon.Icon();
295
+ const icon = new Icon();
296
296
  icon.name = 'warning-filled';
297
297
  icon.classList.add('small');
298
298
  icon.title = i18nString(UIStrings.thirdPartyPhaseout);
@@ -317,7 +317,7 @@ export class NetworkItemView extends UI.TabbedPane.TabbedPane {
317
317
  const trustTokenResult = this.#request.trustTokenOperationDoneEvent();
318
318
  if (trustTokenResult &&
319
319
  !NetworkComponents.RequestTrustTokensView.statusConsideredSuccess(trustTokenResult.status)) {
320
- const icon = new IconButton.Icon.Icon();
320
+ const icon = new Icon();
321
321
  icon.name = 'cross-circle-filled';
322
322
  icon.classList.add('small');
323
323
  this.setTabIcon(NetworkForward.UIRequestLocation.UIRequestTabs.TRUST_TOKENS, icon);
@@ -6,7 +6,7 @@
6
6
  import * as Common from '../../core/common/common.js';
7
7
  import * as i18n from '../../core/i18n/i18n.js';
8
8
  import type * as NetworkTimeCalculator from '../../models/network_time_calculator/network_time_calculator.js';
9
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
9
+ import {Icon} from '../../ui/kit/kit.js';
10
10
  import * as DataGrid from '../../ui/legacy/components/data_grid/data_grid.js';
11
11
  import * as Components from '../../ui/legacy/components/utils/utils.js';
12
12
  import * as UI from '../../ui/legacy/legacy.js';
@@ -181,7 +181,7 @@ export class NetworkLogViewColumns {
181
181
  private waterfallScroller!: HTMLElement;
182
182
  private waterfallScrollerContent!: HTMLDivElement;
183
183
  private waterfallHeaderElement!: HTMLElement;
184
- private waterfallColumnSortIcon!: IconButton.Icon.Icon;
184
+ private waterfallColumnSortIcon!: Icon;
185
185
  private activeWaterfallSortId!: string;
186
186
  private popoverHelper?: UI.PopoverHelper.PopoverHelper;
187
187
  private hasScrollerTouchStarted?: boolean;
@@ -415,7 +415,7 @@ export class NetworkLogViewColumns {
415
415
  this.waterfallHeaderElement.createChild('div', 'hover-layer');
416
416
  const innerElement = this.waterfallHeaderElement.createChild('div');
417
417
  innerElement.textContent = i18nString(UIStrings.waterfall);
418
- this.waterfallColumnSortIcon = new IconButton.Icon.Icon();
418
+ this.waterfallColumnSortIcon = new Icon();
419
419
  this.waterfallColumnSortIcon.className = 'sort-order-icon';
420
420
  this.waterfallHeaderElement.createChild('div', 'sort-order-icon-container')
421
421
  .appendChild(this.waterfallColumnSortIcon);
@@ -7,8 +7,8 @@ import * as Common from '../../core/common/common.js';
7
7
  import * as i18n from '../../core/i18n/i18n.js';
8
8
  import * as SDK from '../../core/sdk/sdk.js';
9
9
  import * as Protocol from '../../generated/protocol.js';
10
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
11
10
  import * as uiI18n from '../../ui/i18n/i18n.js';
11
+ import {Icon} from '../../ui/kit/kit.js';
12
12
  import * as CookieTable from '../../ui/legacy/components/cookie_table/cookie_table.js';
13
13
  import * as SettingsUI from '../../ui/legacy/components/settings_ui/settings_ui.js';
14
14
  import * as UI from '../../ui/legacy/legacy.js';
@@ -281,7 +281,7 @@ export class RequestCookiesView extends UI.Widget.Widget {
281
281
  this.malformedResponseCookiesList.removeChildren();
282
282
  for (const malformedCookie of malformedResponseCookies) {
283
283
  const listItem = this.malformedResponseCookiesList.createChild('span', 'cookie-line source-code');
284
- const icon = new IconButton.Icon.Icon();
284
+ const icon = new Icon();
285
285
  icon.name = 'cross-circle-filled';
286
286
  icon.classList.add('cookie-warning-icon', 'small');
287
287
  listItem.appendChild(icon);
@@ -7,7 +7,7 @@ import * as Host from '../../core/host/host.js';
7
7
  import * as i18n from '../../core/i18n/i18n.js';
8
8
  import type * as SDK from '../../core/sdk/sdk.js';
9
9
  import * as Protocol from '../../generated/protocol.js';
10
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
10
+ import {Icon} from '../../ui/kit/kit.js';
11
11
  import * as Components from '../../ui/legacy/components/utils/utils.js';
12
12
  import * as UI from '../../ui/legacy/legacy.js';
13
13
 
@@ -127,7 +127,7 @@ export class SignedExchangeInfoView extends UI.Widget.VBox {
127
127
  const errorMessagesCategory = new Category(root, i18nString(UIStrings.errors));
128
128
  for (const error of signedExchangeInfo.errors) {
129
129
  const fragment = document.createDocumentFragment();
130
- const icon = new IconButton.Icon.Icon();
130
+ const icon = new Icon();
131
131
  icon.name = 'cross-circle-filled';
132
132
  icon.classList.add('prompt-icon', 'small');
133
133
  fragment.appendChild(icon);
@@ -4,13 +4,13 @@
4
4
  /* eslint-disable @devtools/no-lit-render-outside-of-view */
5
5
 
6
6
  import '../../../ui/components/report_view/report_view.js';
7
- import '../../../ui/components/icon_button/icon_button.js';
7
+ import '../../../ui/kit/kit.js';
8
8
 
9
9
  import * as i18n from '../../../core/i18n/i18n.js';
10
10
  import * as SDK from '../../../core/sdk/sdk.js';
11
11
  import * as Protocol from '../../../generated/protocol.js';
12
- import type * as IconButton from '../../../ui/components/icon_button/icon_button.js';
13
12
  import * as LegacyWrapper from '../../../ui/components/legacy_wrapper/legacy_wrapper.js';
13
+ import type {IconWithName} from '../../../ui/kit/kit.js';
14
14
  import * as Lit from '../../../ui/lit/lit.js';
15
15
  import * as VisualLogging from '../../../ui/visual_logging/visual_logging.js';
16
16
 
@@ -223,12 +223,12 @@ export class RequestTrustTokensView extends LegacyWrapper.LegacyWrapper.Wrappabl
223
223
  }
224
224
  }
225
225
 
226
- const SUCCESS_ICON_DATA: IconButton.Icon.IconWithName = {
226
+ const SUCCESS_ICON_DATA: IconWithName = {
227
227
  color: 'var(--icon-checkmark-green)',
228
228
  iconName: 'check-circle',
229
229
  };
230
230
 
231
- const FAILURE_ICON_DATA: IconButton.Icon.IconWithName = {
231
+ const FAILURE_ICON_DATA: IconWithName = {
232
232
  color: 'var(--icon-error)',
233
233
  iconName: 'cross-circle-filled',
234
234
  };
@@ -239,8 +239,7 @@ export function statusConsideredSuccess(status: Protocol.Network.TrustTokenOpera
239
239
  status === Protocol.Network.TrustTokenOperationDoneEventStatus.FulfilledLocally;
240
240
  }
241
241
 
242
- function getIconForStatusCode(status: Protocol.Network.TrustTokenOperationDoneEventStatus):
243
- IconButton.Icon.IconWithName {
242
+ function getIconForStatusCode(status: Protocol.Network.TrustTokenOperationDoneEventStatus): IconWithName {
244
243
  return statusConsideredSuccess(status) ? SUCCESS_ICON_DATA : FAILURE_ICON_DATA;
245
244
  }
246
245
 
@@ -10,7 +10,7 @@ import * as Platform from '../../core/platform/platform.js';
10
10
  import * as SDK from '../../core/sdk/sdk.js';
11
11
  import type * as Protocol from '../../generated/protocol.js';
12
12
  import * as HeapSnapshotModel from '../../models/heap_snapshot_model/heap_snapshot_model.js';
13
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
13
+ import {createIcon} from '../../ui/kit/kit.js';
14
14
  import * as DataGrid from '../../ui/legacy/components/data_grid/data_grid.js';
15
15
  import * as UI from '../../ui/legacy/legacy.js';
16
16
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
@@ -631,12 +631,12 @@ export abstract class HeapSnapshotGenericObjectNode extends HeapSnapshotGridNode
631
631
  const div = fragment.$('container');
632
632
  this.prefixObjectCell(div);
633
633
  if (this.reachableFromWindow) {
634
- const frameIcon = IconButton.Icon.create('frame', 'heap-object-tag');
634
+ const frameIcon = createIcon('frame', 'heap-object-tag');
635
635
  UI.Tooltip.Tooltip.install(frameIcon, i18nString(UIStrings.userObjectReachableFromWindow));
636
636
  div.appendChild(frameIcon);
637
637
  }
638
638
  if (this.detachedDOMTreeNode) {
639
- const frameIcon = IconButton.Icon.create('scissors', 'heap-object-tag');
639
+ const frameIcon = createIcon('scissors', 'heap-object-tag');
640
640
  UI.Tooltip.Tooltip.install(frameIcon, i18nString(UIStrings.detachedFromDomTree));
641
641
  div.appendChild(frameIcon);
642
642
  }
@@ -31,7 +31,7 @@
31
31
  import * as i18n from '../../core/i18n/i18n.js';
32
32
  import * as Platform from '../../core/platform/platform.js';
33
33
  import type * as CPUProfile from '../../models/cpu_profile/cpu_profile.js';
34
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
34
+ import {Icon} from '../../ui/kit/kit.js';
35
35
  import * as DataGrid from '../../ui/legacy/components/data_grid/data_grid.js';
36
36
  import * as UI from '../../ui/legacy/legacy.js';
37
37
 
@@ -203,7 +203,7 @@ export class ProfileDataGridNode extends DataGrid.DataGrid.DataGridNode<unknown>
203
203
  cell.classList.toggle('highlight', this.searchMatchedFunctionColumn);
204
204
  if (this.deoptReason) {
205
205
  cell.classList.add('not-optimized');
206
- const warningIcon = new IconButton.Icon.Icon();
206
+ const warningIcon = new Icon();
207
207
  warningIcon.name = 'warning-filled';
208
208
  warningIcon.classList.add('profile-warn-marker', 'small');
209
209
  UI.Tooltip.Tooltip.install(warningIcon, i18nString(UIStrings.notOptimizedS, {PH1: this.deoptReason}));
@@ -33,7 +33,7 @@ import '../../ui/legacy/legacy.js';
33
33
  import * as Common from '../../core/common/common.js';
34
34
  import * as i18n from '../../core/i18n/i18n.js';
35
35
  import * as SDK from '../../core/sdk/sdk.js';
36
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
36
+ import {createIcon} from '../../ui/kit/kit.js';
37
37
  // eslint-disable-next-line @devtools/es-modules-import
38
38
  import objectValueStyles from '../../ui/legacy/components/object_ui/objectValue.css.js';
39
39
  import * as UI from '../../ui/legacy/legacy.js';
@@ -668,7 +668,7 @@ export class ProfilesSidebarTreeElement extends UI.TreeOutline.TreeElement {
668
668
  .createChild('span', 'title-container')
669
669
  .createChild('span', 'title')
670
670
  .textContent = i18nString(UIStrings.profiles);
671
- this.setLeadingIcons([IconButton.Icon.create('tune')]);
671
+ this.setLeadingIcons([createIcon('tune')]);
672
672
  }
673
673
  }
674
674
 
@@ -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
 
5
- import '../../ui/components/icon_button/icon_button.js';
5
+ import '../../ui/kit/kit.js';
6
6
  import '../../ui/components/menus/menus.js';
7
7
 
8
8
  import * as Common from '../../core/common/common.js';
@@ -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
 
5
- import '../../../ui/components/icon_button/icon_button.js';
5
+ import '../../../ui/kit/kit.js';
6
6
  import './ControlButton.js';
7
7
 
8
8
  import * as i18n from '../../../core/i18n/i18n.js';
@@ -4,7 +4,7 @@
4
4
  /* eslint-disable @devtools/no-lit-render-outside-of-view */
5
5
 
6
6
  import '../../../ui/legacy/legacy.js';
7
- import '../../../ui/components/icon_button/icon_button.js';
7
+ import '../../../ui/kit/kit.js';
8
8
 
9
9
  import * as i18n from '../../../core/i18n/i18n.js';
10
10
  import type * as PublicExtensions from '../../../models/extensions/extensions.js';
@@ -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
 
5
- import '../../../ui/components/icon_button/icon_button.js';
5
+ import '../../../ui/kit/kit.js';
6
6
 
7
7
  import * as i18n from '../../../core/i18n/i18n.js';
8
8
  import * as Buttons from '../../../ui/components/buttons/buttons.js';
@@ -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
 
5
- import '../../../ui/components/icon_button/icon_button.js';
5
+ import '../../../ui/kit/kit.js';
6
6
  import './ExtensionView.js';
7
7
  import './ControlButton.js';
8
8
  import './ReplaySection.js';
@@ -7,7 +7,7 @@
7
7
  do not define any host for Lit.render and the rule is not happy
8
8
  about it. */
9
9
 
10
- import '../../../ui/components/icon_button/icon_button.js';
10
+ import '../../../ui/kit/kit.js';
11
11
  import './StepEditor.js';
12
12
  import './TimelineSection.js';
13
13