chrome-devtools-frontend 1.0.1592362 → 1.0.1593518
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/front_end/Images/src/tab-move.svg +1 -0
- package/front_end/application_tokens.css +4 -4
- package/front_end/core/protocol_client/InspectorBackend.ts +0 -4
- package/front_end/core/sdk/EmulationModel.ts +1 -41
- package/front_end/generated/InspectorBackendCommands.ts +2 -1
- package/front_end/generated/SupportedCSSProperties.js +2 -2
- package/front_end/generated/protocol-mapping.d.ts +7 -0
- package/front_end/generated/protocol-proxy-api.d.ts +5 -0
- package/front_end/generated/protocol.ts +59 -0
- package/front_end/models/ai_assistance/agents/AiAgent.ts +24 -1
- package/front_end/models/ai_assistance/agents/BreakpointDebuggerAgent.ts +26 -86
- package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +14 -4
- package/front_end/models/ai_assistance/agents/StylingAgent.ts +16 -2
- package/front_end/models/emulation/DeviceModeModel.ts +0 -47
- package/front_end/models/javascript_metadata/NativeFunctions.js +6 -6
- package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +5 -3
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +29 -6
- package/front_end/panels/ai_assistance/README.md +61 -0
- package/front_end/panels/ai_assistance/components/ChatMessage.ts +141 -27
- package/front_end/panels/ai_assistance/components/ChatView.ts +5 -1
- package/front_end/panels/ai_assistance/components/WalkthroughView.ts +19 -7
- package/front_end/panels/ai_assistance/components/chatMessage.css +30 -0
- package/front_end/panels/ai_assistance/components/walkthroughView.css +12 -7
- package/front_end/panels/animation/AnimationGroupPreviewUI.ts +1 -1
- package/front_end/panels/application/ServiceWorkerUpdateCycleView.ts +1 -0
- package/front_end/panels/application/components/BackForwardCacheView.ts +4 -2
- package/front_end/panels/autofill/AutofillView.ts +1 -1
- package/front_end/panels/browser_debugger/DOMBreakpointsSidebarPane.ts +161 -154
- package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +1 -0
- package/front_end/panels/browser_debugger/domBreakpointsSidebarPane.css +58 -36
- package/front_end/panels/console/ConsoleViewMessage.ts +1 -0
- package/front_end/panels/console/consoleView.css +7 -2
- package/front_end/panels/elements/ComputedStyleWidget.ts +5 -1
- package/front_end/panels/elements/ElementsTreeElement.ts +1 -0
- package/front_end/panels/elements/LayoutPane.ts +8 -7
- package/front_end/panels/elements/StandaloneStylesContainer.ts +254 -0
- package/front_end/panels/elements/components/ComputedStyleTrace.ts +4 -0
- package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +1 -1
- package/front_end/panels/elements/components/StylePropertyEditor.ts +2 -1
- package/front_end/panels/elements/components/computedStyleProperty.css +1 -1
- package/front_end/panels/elements/elements.ts +2 -0
- package/front_end/panels/emulation/DeviceModeToolbar.ts +0 -25
- package/front_end/panels/lighthouse/LighthouseReportRenderer.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 +1 -1
- package/front_end/panels/network/NetworkLogViewColumns.ts +2 -1
- package/front_end/panels/network/components/RequestHeaderSection.ts +1 -1
- package/front_end/panels/protocol_monitor/JSONEditor.ts +1 -1
- package/front_end/panels/recorder/components/RecordingListView.ts +1 -1
- package/front_end/panels/recorder/components/StepEditor.ts +3 -3
- package/front_end/panels/settings/KeybindsSettingsTab.ts +2 -1
- package/front_end/panels/sources/components/HeadersView.ts +2 -2
- package/front_end/panels/timeline/components/BreadcrumbsUI.ts +1 -1
- package/front_end/panels/timeline/components/SidebarAnnotationsTab.ts +1 -1
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Navigation.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Navigation.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Navigation.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +6 -6
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Navigation.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Navigation.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Navigation.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/package.json +4 -4
- package/front_end/third_party/puppeteer/package/src/bidi/core/Navigation.ts +1 -0
- package/front_end/third_party/puppeteer/package/src/cdp/BrowserContext.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/node/ChromeLauncher.ts +1 -0
- package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
- package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
- package/front_end/ui/components/suggestion_input/SuggestionInput.ts +7 -12
- package/front_end/ui/components/tree_outline/TreeOutline.ts +6 -2
- package/front_end/ui/components/tree_outline/treeOutline.css +5 -0
- package/front_end/ui/legacy/ListControl.ts +5 -3
- package/front_end/ui/legacy/ListWidget.ts +1 -1
- package/front_end/ui/legacy/SoftContextMenu.ts +2 -1
- package/front_end/ui/legacy/Treeoutline.ts +1 -0
- package/front_end/ui/legacy/components/data_grid/DataGrid.ts +4 -2
- package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +1 -1
- package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +31 -0
- package/front_end/ui/visual_logging/KnownContextValues.ts +1 -0
- package/package.json +1 -1
|
@@ -1449,6 +1449,7 @@ export class ConsoleViewMessage implements ConsoleViewportElement {
|
|
|
1449
1449
|
this.elementInternal.className = 'console-message-wrapper';
|
|
1450
1450
|
this.elementInternal.setAttribute('jslog', `${VisualLogging.item('console-message').track({
|
|
1451
1451
|
click: true,
|
|
1452
|
+
resize: true,
|
|
1452
1453
|
keydown: 'ArrowUp|ArrowDown|ArrowLeft|ArrowRight|Enter|Space|Home|End',
|
|
1453
1454
|
})}`);
|
|
1454
1455
|
this.elementInternal.removeChildren();
|
|
@@ -435,11 +435,16 @@
|
|
|
435
435
|
--display-ignored-formatted-stack-frame: var(--display-formatted-stack-frame-default);
|
|
436
436
|
}
|
|
437
437
|
|
|
438
|
-
&:has(.formatted-stack-frame .ignore-list-link):has(.formatted-stack-frame .devtools-link:not(.ignore-list-link))
|
|
438
|
+
&:has(.formatted-stack-frame .ignore-list-link):has(.formatted-stack-frame .devtools-link:not(.ignore-list-link)),
|
|
439
|
+
&:has(.formatted-stack-frame .ignore-list-link):has(.stack-preview-container.has-non-ignored-links) {
|
|
439
440
|
/* If there are ignored frames and unignored frames, then we want
|
|
440
441
|
to enable the show more/less links. To do that we override some
|
|
441
442
|
variables to always display the structured stack trace, but possibly
|
|
442
|
-
only the links at the bottom of it, as we share its show more/less links.
|
|
443
|
+
only the links at the bottom of it, as we share its show more/less links.
|
|
444
|
+
We also check the structured stack trace (StackTracePreviewContent) for
|
|
445
|
+
non-ignored links, so that when all inline Error frames are ignored but
|
|
446
|
+
the console.error() call stack has non-ignored frames (e.g. in async
|
|
447
|
+
traces), the toggle is still shown. See crbug.com/379788109. */
|
|
443
448
|
--override-display-stack-preview-toggle-link: table-row;
|
|
444
449
|
--override-display-stack-preview-hidden-div: block;
|
|
445
450
|
|
|
@@ -369,7 +369,10 @@ export class ComputedStyleWidget extends UI.Widget.VBox {
|
|
|
369
369
|
this.#computedStylesTree.classList.toggle('computed-narrow', isNarrow);
|
|
370
370
|
}
|
|
371
371
|
|
|
372
|
-
get filterText(): string {
|
|
372
|
+
get filterText(): RegExp|string {
|
|
373
|
+
if (this.#filterIsRegex) {
|
|
374
|
+
return new RegExp(this.#filterText);
|
|
375
|
+
}
|
|
373
376
|
return this.#filterText;
|
|
374
377
|
}
|
|
375
378
|
|
|
@@ -385,6 +388,7 @@ export class ComputedStyleWidget extends UI.Widget.VBox {
|
|
|
385
388
|
this.#filterText = newFilter.source;
|
|
386
389
|
this.#filterIsRegex = true;
|
|
387
390
|
}
|
|
391
|
+
this.filterRegex = this.#buildFilterRegex(this.#filterText);
|
|
388
392
|
this.requestUpdate();
|
|
389
393
|
}
|
|
390
394
|
|
|
@@ -1120,6 +1120,7 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
|
1120
1120
|
this.listItemElement.setAttribute(
|
|
1121
1121
|
'jslog', `${VisualLogging.treeItem().parent('elementsTreeOutline').track({
|
|
1122
1122
|
keydown: 'ArrowUp|ArrowDown|ArrowLeft|ArrowRight|Backspace|Delete|Enter|Space|Home|End',
|
|
1123
|
+
resize: true,
|
|
1123
1124
|
drag: true,
|
|
1124
1125
|
click: true,
|
|
1125
1126
|
})}`);
|
|
@@ -228,26 +228,27 @@ const DEFAULT_VIEW: View = (input, output, target) => {
|
|
|
228
228
|
event.preventDefault();
|
|
229
229
|
}
|
|
230
230
|
};
|
|
231
|
+
// clang-format off
|
|
231
232
|
const renderElement = (element: LayoutElement): Lit.LitTemplate => html`<div
|
|
232
233
|
class="element"
|
|
233
|
-
jslog=${VisualLogging.item()}>
|
|
234
|
+
jslog=${VisualLogging.item().track({resize: true})}>
|
|
234
235
|
<devtools-checkbox
|
|
235
236
|
data-element="true"
|
|
236
237
|
class="checkbox-label"
|
|
237
238
|
.checked=${element.enabled}
|
|
238
239
|
@change=${(e: Event) => input.onElementToggle(element, e)}
|
|
239
|
-
jslog=${VisualLogging.toggle().track({
|
|
240
|
-
click: true
|
|
241
|
-
})}>
|
|
240
|
+
jslog=${VisualLogging.toggle().track({click: true, resize: true })}>
|
|
242
241
|
<span
|
|
243
242
|
class="node-text-container"
|
|
244
243
|
data-label="true"
|
|
245
244
|
@mouseenter=${(e: MouseEvent) => input.onMouseEnter(element, e)}
|
|
246
245
|
@mouseleave=${(e: MouseEvent) => input.onMouseLeave(element, e)}>
|
|
247
246
|
<devtools-node-text .data=${{
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
247
|
+
nodeId: element.domId,
|
|
248
|
+
nodeTitle: element.name,
|
|
249
|
+
nodeClasses: element.domClasses
|
|
250
|
+
}}>
|
|
251
|
+
</devtools-node-text>
|
|
251
252
|
</span>
|
|
252
253
|
</devtools-checkbox>
|
|
253
254
|
<label
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
// Copyright 2026 The Chromium Authors
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
import * as Common from '../../core/common/common.js';
|
|
6
|
+
import type * as SDK from '../../core/sdk/sdk.js';
|
|
7
|
+
import * as ComputedStyle from '../../models/computed_style/computed_style.js';
|
|
8
|
+
import type * as TextUtils from '../../models/text_utils/text_utils.js';
|
|
9
|
+
import * as InlineEditor from '../../ui/legacy/components/inline_editor/inline_editor.js';
|
|
10
|
+
import * as Components from '../../ui/legacy/components/utils/utils.js';
|
|
11
|
+
import * as UI from '../../ui/legacy/legacy.js';
|
|
12
|
+
import {html, render} from '../../ui/lit/lit.js';
|
|
13
|
+
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
14
|
+
|
|
15
|
+
import * as ElementsComponents from './components/components.js';
|
|
16
|
+
import {StylePropertiesSection} from './StylePropertiesSection.js';
|
|
17
|
+
import type {StylePropertyTreeElement} from './StylePropertyTreeElement.js';
|
|
18
|
+
import type {StylesContainer} from './StylesContainer.js';
|
|
19
|
+
import stylesSidebarPaneStyles from './stylesSidebarPane.css.js';
|
|
20
|
+
import {WebCustomData} from './WebCustomData.js';
|
|
21
|
+
|
|
22
|
+
interface ViewInput {
|
|
23
|
+
sections: StylePropertiesSection[];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
type View = (input: ViewInput, output_: undefined, target: HTMLElement) => void;
|
|
27
|
+
|
|
28
|
+
export const DEFAULT_VIEW: View = (input, _output, target) => {
|
|
29
|
+
render(
|
|
30
|
+
html`
|
|
31
|
+
<style>${stylesSidebarPaneStyles}</style>
|
|
32
|
+
<div class="style-panes-wrapper" jslog=${VisualLogging.section('standalone-styles').track({
|
|
33
|
+
resize: true
|
|
34
|
+
})}>
|
|
35
|
+
<div class="styles-pane">
|
|
36
|
+
${input.sections.map(section => section.element)}
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
`,
|
|
40
|
+
target);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export class StandaloneStylesContainer extends UI.Widget.VBox implements StylesContainer {
|
|
44
|
+
activeCSSAngle: InlineEditor.CSSAngle.CSSAngle|null = null;
|
|
45
|
+
isEditingStyle = false;
|
|
46
|
+
readonly sectionByElement = new WeakMap<Node, StylePropertiesSection>();
|
|
47
|
+
// TODO: Reference the MAX_LINK_LENGTH from StylesSidebarPane at a later stage, when we have a reference to it.
|
|
48
|
+
readonly linkifier: Components.Linkifier.Linkifier =
|
|
49
|
+
new Components.Linkifier.Linkifier(23, /* useLinkDecorator */ true);
|
|
50
|
+
|
|
51
|
+
#webCustomData: WebCustomData|undefined;
|
|
52
|
+
#userOperation = false;
|
|
53
|
+
#sections: StylePropertiesSection[] = [];
|
|
54
|
+
#swatchPopoverHelper = new InlineEditor.SwatchPopoverHelper.SwatchPopoverHelper();
|
|
55
|
+
#computedStyleModelInternal = new ComputedStyle.ComputedStyleModel.ComputedStyleModel();
|
|
56
|
+
#view: View;
|
|
57
|
+
|
|
58
|
+
constructor(element?: HTMLElement, view: View = DEFAULT_VIEW) {
|
|
59
|
+
super(element, {useShadowDom: true});
|
|
60
|
+
this.#view = view;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
get userOperation(): boolean {
|
|
64
|
+
return this.#userOperation;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
get webCustomData(): WebCustomData|undefined {
|
|
68
|
+
if (!this.#webCustomData &&
|
|
69
|
+
Common.Settings.Settings.instance().moduleSetting('show-css-property-documentation-on-hover').get()) {
|
|
70
|
+
this.#webCustomData = WebCustomData.create();
|
|
71
|
+
}
|
|
72
|
+
return this.#webCustomData;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
async #updateSections(): Promise<void> {
|
|
76
|
+
const node = this.node();
|
|
77
|
+
if (!node) {
|
|
78
|
+
this.#sections = [];
|
|
79
|
+
this.requestUpdate();
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const cssModel = node.domModel().cssModel();
|
|
84
|
+
const matchedStyles = await cssModel.cachedMatchedCascadeForNode(node);
|
|
85
|
+
const parentNodeId = matchedStyles?.getParentLayoutNodeId();
|
|
86
|
+
|
|
87
|
+
const [parentStyles, computedStyles, extraStyles] = await Promise.all([
|
|
88
|
+
parentNodeId ? cssModel.getComputedStyle(parentNodeId) : null, cssModel.getComputedStyle(node.id),
|
|
89
|
+
cssModel.getComputedStyleExtraFields(node.id)
|
|
90
|
+
]);
|
|
91
|
+
|
|
92
|
+
if (!matchedStyles) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
const newSections: StylePropertiesSection[] = [];
|
|
97
|
+
let sectionIdx = 0;
|
|
98
|
+
for (const style of matchedStyles.nodeStyles()) {
|
|
99
|
+
const section = new StylePropertiesSection(
|
|
100
|
+
this, matchedStyles, style, sectionIdx++, computedStyles, parentStyles, extraStyles);
|
|
101
|
+
newSections.push(section);
|
|
102
|
+
this.sectionByElement.set(section.element, section);
|
|
103
|
+
}
|
|
104
|
+
this.#sections = newSections;
|
|
105
|
+
this.swatchPopoverHelper().reposition();
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
override async performUpdate(): Promise<void> {
|
|
109
|
+
if (this.isEditingStyle || this.#userOperation) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
await this.#updateSections();
|
|
114
|
+
|
|
115
|
+
const viewInput: ViewInput = {
|
|
116
|
+
sections: this.#sections,
|
|
117
|
+
};
|
|
118
|
+
this.#view(viewInput, undefined, this.contentElement);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
swatchPopoverHelper(): InlineEditor.SwatchPopoverHelper.SwatchPopoverHelper {
|
|
122
|
+
return this.#swatchPopoverHelper;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// TODO: Refactor StylesContainer to use getter for node(), so that we can have a `node` setter here: set node().
|
|
126
|
+
set domNode(node: SDK.DOMModel.DOMNode|null) {
|
|
127
|
+
if (this.#computedStyleModelInternal.node === node) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
this.#computedStyleModelInternal.node = node;
|
|
131
|
+
this.requestUpdate();
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
node(): SDK.DOMModel.DOMNode|null {
|
|
135
|
+
return this.#computedStyleModelInternal.node;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
cssModel(): SDK.CSSModel.CSSModel|null {
|
|
139
|
+
return this.#computedStyleModelInternal.cssModel();
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
computedStyleModel(): ComputedStyle.ComputedStyleModel.ComputedStyleModel {
|
|
143
|
+
return this.#computedStyleModelInternal;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
setActiveProperty(_treeElement: StylePropertyTreeElement|null): void {
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
refreshUpdate(editedSection: StylePropertiesSection, editedTreeElement?: StylePropertyTreeElement): void {
|
|
150
|
+
if (editedTreeElement) {
|
|
151
|
+
for (const section of this.#sections) {
|
|
152
|
+
section.updateVarFunctions(editedTreeElement);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
if (this.isEditingStyle) {
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
for (const section of this.#sections) {
|
|
161
|
+
section.update(section === editedSection);
|
|
162
|
+
}
|
|
163
|
+
this.swatchPopoverHelper().reposition();
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
filterRegex(): RegExp|null {
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
setEditingStyle(editing: boolean): void {
|
|
171
|
+
this.isEditingStyle = editing;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
setUserOperation(userOperation: boolean): void {
|
|
175
|
+
this.#userOperation = userOperation;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
forceUpdate(): void {
|
|
179
|
+
this.hideAllPopovers();
|
|
180
|
+
this.requestUpdate();
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
hideAllPopovers(): void {
|
|
184
|
+
this.#swatchPopoverHelper.hide();
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
allSections(): StylePropertiesSection[] {
|
|
188
|
+
return this.#sections;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
getVariablePopoverContents(
|
|
192
|
+
matchedStyles: SDK.CSSMatchedStyles.CSSMatchedStyles, variableName: string,
|
|
193
|
+
computedValue: string|null): ElementsComponents.CSSVariableValueView.CSSVariableValueView {
|
|
194
|
+
const registration = matchedStyles.getRegisteredProperty(variableName);
|
|
195
|
+
return new ElementsComponents.CSSVariableValueView.CSSVariableValueView({
|
|
196
|
+
variableName,
|
|
197
|
+
value: computedValue ?? undefined,
|
|
198
|
+
// TODO: provide a goToDefinition to jump to the StylesSidebarPane
|
|
199
|
+
details: registration ? {registration, goToDefinition: () => {}} : undefined,
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
getVariableParserError(_matchedStyles: SDK.CSSMatchedStyles.CSSMatchedStyles, _variableName: string):
|
|
204
|
+
ElementsComponents.CSSVariableValueView.CSSVariableParserError|null {
|
|
205
|
+
return null;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
jumpToFunctionDefinition(_functionName: string): void {
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
continueEditingElement(_sectionIndex: number, _propertyIndex: number): void {
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
revealProperty(_cssProperty: SDK.CSSProperty.CSSProperty): void {
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
resetFocus(): void {
|
|
218
|
+
const firstVisibleSection = this.#sections[0]?.findCurrentOrNextVisible(true);
|
|
219
|
+
if (firstVisibleSection) {
|
|
220
|
+
firstVisibleSection.element.tabIndex = this.hasFocus() ? -1 : 0;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
removeSection(_section: StylePropertiesSection): void {
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
focusedSectionIndex(): number {
|
|
228
|
+
return this.#sections.findIndex(section => section.element.hasFocus());
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
addBlankSection(
|
|
232
|
+
_insertAfterSection: StylePropertiesSection, _styleSheetHeader: SDK.CSSStyleSheetHeader.CSSStyleSheetHeader,
|
|
233
|
+
_ruleLocation: TextUtils.TextRange.TextRange): void {
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
jumpToProperty(_propertyName: string, _sectionName?: string, _blockName?: string): boolean {
|
|
237
|
+
return false;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
jumpToSectionBlock(_section: string): void {
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
jumpToFontPaletteDefinition(_paletteName: string): void {
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
jumpToDeclaration(_valueSource: SDK.CSSMatchedStyles.CSSValueSource): void {
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
addStyleUpdateListener(_listener: () => void): void {
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
removeStyleUpdateListener(_listener: () => void): void {
|
|
253
|
+
}
|
|
254
|
+
}
|
|
@@ -24,6 +24,10 @@ export class ComputedStyleTrace extends HTMLElement {
|
|
|
24
24
|
#onNavigateToSource: ((event?: Event) => void) = () => {};
|
|
25
25
|
#ruleOriginNode?: Node;
|
|
26
26
|
|
|
27
|
+
connectedCallback(): void {
|
|
28
|
+
this.#render();
|
|
29
|
+
}
|
|
30
|
+
|
|
27
31
|
set data(data: ComputedStyleTraceData) {
|
|
28
32
|
this.#selector = data.selector;
|
|
29
33
|
this.#active = data.active;
|
|
@@ -303,7 +303,7 @@ export class ElementsBreadcrumbs extends HTMLElement {
|
|
|
303
303
|
data-crumb="true"
|
|
304
304
|
>
|
|
305
305
|
<a href="#" draggable=false class="crumb-link"
|
|
306
|
-
jslog=${VisualLogging.item().track({click:true})}
|
|
306
|
+
jslog=${VisualLogging.item().track({click:true, resize:true})}
|
|
307
307
|
@click=${this.#onCrumbClick(crumb.node)}
|
|
308
308
|
@mousemove=${this.#onCrumbMouseMove(crumb.node)}
|
|
309
309
|
@mouseleave=${this.#onCrumbMouseLeave(crumb.node)}
|
|
@@ -194,7 +194,8 @@ export class StylePropertyEditor extends HTMLElement {
|
|
|
194
194
|
return html`
|
|
195
195
|
<button title=${title}
|
|
196
196
|
class=${classes}
|
|
197
|
-
jslog=${
|
|
197
|
+
jslog=${
|
|
198
|
+
VisualLogging.item().track({click: true, resize: true}).context(`${propertyName}-${propertyValue}`)}
|
|
198
199
|
@click=${() => this.#onButtonClick(propertyName, propertyValue, selected)}>
|
|
199
200
|
<devtools-icon style=${transform} name=${iconInfo.iconName}>
|
|
200
201
|
</devtools-icon>
|
|
@@ -54,6 +54,7 @@ import * as NodeStackTraceWidget from './NodeStackTraceWidget.js';
|
|
|
54
54
|
import * as PlatformFontsWidget from './PlatformFontsWidget.js';
|
|
55
55
|
import * as PropertiesWidget from './PropertiesWidget.js';
|
|
56
56
|
import * as PropertyRenderer from './PropertyRenderer.js';
|
|
57
|
+
import * as StandaloneStylesContainer from './StandaloneStylesContainer.js';
|
|
57
58
|
import * as StyleEditorWidget from './StyleEditorWidget.js';
|
|
58
59
|
import * as StylePropertiesSection from './StylePropertiesSection.js';
|
|
59
60
|
import * as StylePropertyHighlighter from './StylePropertyHighlighter.js';
|
|
@@ -90,6 +91,7 @@ export {
|
|
|
90
91
|
PlatformFontsWidget,
|
|
91
92
|
PropertiesWidget,
|
|
92
93
|
PropertyRenderer,
|
|
94
|
+
StandaloneStylesContainer,
|
|
93
95
|
StyleEditorWidget,
|
|
94
96
|
StylePropertiesSection,
|
|
95
97
|
StylePropertyHighlighter,
|
|
@@ -163,11 +163,6 @@ const UIStrings = {
|
|
|
163
163
|
* @description Tooltip of the rotate/screen orientation button.
|
|
164
164
|
*/
|
|
165
165
|
screenOrientationOptions: 'Screen orientation options',
|
|
166
|
-
/**
|
|
167
|
-
* @description Tooltip shown on the rotate button when screen orientation is locked by the page
|
|
168
|
-
* via screen.orientation.lock().
|
|
169
|
-
*/
|
|
170
|
-
screenOrientationLocked: 'Screen orientation is locked by the page',
|
|
171
166
|
/**
|
|
172
167
|
* @description Tooltip for a button which turns on/off dual-screen mode, which emulates devices
|
|
173
168
|
* like tablets which have two screens.
|
|
@@ -622,9 +617,6 @@ export class DeviceModeToolbar {
|
|
|
622
617
|
private modeMenuClicked(event: {
|
|
623
618
|
data: Event,
|
|
624
619
|
}): void {
|
|
625
|
-
if (this.model.isScreenOrientationLocked()) {
|
|
626
|
-
return;
|
|
627
|
-
}
|
|
628
620
|
const device = this.model.device();
|
|
629
621
|
const model = this.model;
|
|
630
622
|
const autoAdjustScaleSetting = this.autoAdjustScaleSetting;
|
|
@@ -812,23 +804,6 @@ export class DeviceModeToolbar {
|
|
|
812
804
|
}
|
|
813
805
|
this.persistenceSetting.set(value);
|
|
814
806
|
}
|
|
815
|
-
|
|
816
|
-
// When screen orientation is locked by the page (via screen.orientation.lock()),
|
|
817
|
-
// disable the rotate button to prevent user-initiated rotation.
|
|
818
|
-
// When unlocked, restore the button to its normal state.
|
|
819
|
-
if (this.model.isScreenOrientationLocked()) {
|
|
820
|
-
this.modeButton.setEnabled(false);
|
|
821
|
-
setTitleForButton(this.modeButton, i18nString(UIStrings.screenOrientationLocked));
|
|
822
|
-
} else if (this.cachedModelDevice) {
|
|
823
|
-
const modeCount = this.cachedModelDevice.modes.length;
|
|
824
|
-
this.modeButton.setEnabled(modeCount >= 2);
|
|
825
|
-
setTitleForButton(
|
|
826
|
-
this.modeButton,
|
|
827
|
-
modeCount === 2 ? i18nString(UIStrings.rotate) : i18nString(UIStrings.screenOrientationOptions));
|
|
828
|
-
} else if (this.model.type() === EmulationModel.DeviceModeModel.Type.Responsive) {
|
|
829
|
-
this.modeButton.setEnabled(true);
|
|
830
|
-
setTitleForButton(this.modeButton, i18nString(UIStrings.rotate));
|
|
831
|
-
}
|
|
832
807
|
}
|
|
833
808
|
|
|
834
809
|
restore(): void {
|
|
@@ -197,7 +197,7 @@ export class LighthouseReportRenderer {
|
|
|
197
197
|
continue;
|
|
198
198
|
}
|
|
199
199
|
|
|
200
|
-
auditEl.setAttribute('jslog', `${VisualLogging.item(`lighthouse.audit.${id}`)}`);
|
|
200
|
+
auditEl.setAttribute('jslog', `${VisualLogging.item(`lighthouse.audit.${id}`).track({resize: true})}`);
|
|
201
201
|
|
|
202
202
|
let state: string|undefined;
|
|
203
203
|
for (const className of auditEl.classList) {
|
|
@@ -60,7 +60,7 @@ function renderEndiannessSetting(
|
|
|
60
60
|
data-endianness="true" @change=${(e: Event) => onEndiannessChanged((e.target as HTMLSelectElement).value as Endianness)}>
|
|
61
61
|
${[Endianness.LITTLE, Endianness.BIG].map(endianness => {
|
|
62
62
|
return html`<option value=${endianness} .selected=${currentEndiannes === endianness}
|
|
63
|
-
jslog=${VisualLogging.item(Platform.StringUtilities.toKebabCase(endianness)).track({click: true})}>${
|
|
63
|
+
jslog=${VisualLogging.item(Platform.StringUtilities.toKebabCase(endianness)).track({click: true, resize: true})}>${
|
|
64
64
|
i18n.i18n.lockedString(endianness)}</option>`;
|
|
65
65
|
})}
|
|
66
66
|
</select>
|
|
@@ -104,7 +104,7 @@ export const DEFAULT_VIEW: View = (input: ViewInput, _output: undefined, target:
|
|
|
104
104
|
${VALUE_TYPE_MODE_LIST.filter(x => isValidMode(type, x)).map(mode => {
|
|
105
105
|
return html`
|
|
106
106
|
<option value=${mode} .selected=${input.valueTypeModes.get(type) === mode}
|
|
107
|
-
jslog=${VisualLogging.item(mode).track({click: true})}>${
|
|
107
|
+
jslog=${VisualLogging.item(mode).track({click: true, resize: true})}>${
|
|
108
108
|
i18n.i18n.lockedString(mode)}
|
|
109
109
|
</option>`;
|
|
110
110
|
})}
|
|
@@ -84,7 +84,7 @@ const DEFAULT_VIEW: View = (input, _output, target) => {
|
|
|
84
84
|
@contextmenu=${(e: Event) => input.onPlayerContextMenu(player.playerID, e)}
|
|
85
85
|
role="option"
|
|
86
86
|
aria-selected=${isSelected}
|
|
87
|
-
jslog=${VisualLogging.item('player').track({click: true})}>
|
|
87
|
+
jslog=${VisualLogging.item('player').track({click: true, resize: true})}>
|
|
88
88
|
<div class="player-entry-status-icon vbox">
|
|
89
89
|
<div class="player-entry-status-icon-centering">
|
|
90
90
|
<devtools-icon name=${player.iconName}></devtools-icon>
|
|
@@ -408,7 +408,8 @@ export class NetworkLogViewColumns {
|
|
|
408
408
|
|
|
409
409
|
private createWaterfallHeader(): void {
|
|
410
410
|
this.waterfallHeaderElement = this.waterfallColumn.contentElement.createChild('div', 'network-waterfall-header');
|
|
411
|
-
this.waterfallHeaderElement.setAttribute(
|
|
411
|
+
this.waterfallHeaderElement.setAttribute(
|
|
412
|
+
'jslog', `${VisualLogging.tableHeader('waterfall').track({click: true, resize: true})}`);
|
|
412
413
|
this.waterfallHeaderElement.addEventListener('click', waterfallHeaderClicked.bind(this));
|
|
413
414
|
this.waterfallHeaderElement.addEventListener('contextmenu', event => {
|
|
414
415
|
const contextMenu = new UI.ContextMenu.ContextMenu(event);
|
|
@@ -62,7 +62,7 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
|
|
|
62
62
|
${headers.map(header => html`
|
|
63
63
|
<devtools-header-section-row
|
|
64
64
|
.data=${{ header }}
|
|
65
|
-
jslog=${VisualLogging.item('request-header')}
|
|
65
|
+
jslog=${VisualLogging.item('request-header').track({resize: true})}
|
|
66
66
|
></devtools-header-section-row>
|
|
67
67
|
`)}
|
|
68
68
|
`, target);
|
|
@@ -990,7 +990,7 @@ function renderTargetSelectorRow(input: ViewInput): Lit.TemplateResult|undefined
|
|
|
990
990
|
jslog=${VisualLogging.dropDown('target-selector').track({change: true})}
|
|
991
991
|
@change=${input.onTargetSelected}>
|
|
992
992
|
${input.targets.map(target => html`
|
|
993
|
-
<option jslog=${VisualLogging.item('target').track({click: true})}
|
|
993
|
+
<option jslog=${VisualLogging.item('target').track({click: true, resize: true})}
|
|
994
994
|
value=${target.id()} ?selected=${target.id() === input.targetId}>
|
|
995
995
|
${target.name()} (${target.inspectedURL()})
|
|
996
996
|
</option>`)}
|
|
@@ -140,7 +140,7 @@ export const DEFAULT_VIEW = (input: ViewInput, _output: ViewOutput, target: HTML
|
|
|
140
140
|
@keydown=${(event: Event) => onKeyDown(recording.storageName, event)}
|
|
141
141
|
@click=${(event: Event) => onOpenClick(recording.storageName, event)}
|
|
142
142
|
jslog=${VisualLogging.item()
|
|
143
|
-
.track({ click: true })
|
|
143
|
+
.track({ click: true, resize: true })
|
|
144
144
|
.context('recording')}>
|
|
145
145
|
<div class="icon">
|
|
146
146
|
<devtools-icon name="flow">
|
|
@@ -646,7 +646,7 @@ export class StepEditor extends LitElement {
|
|
|
646
646
|
#renderTypeRow(editable: boolean): Lit.TemplateResult {
|
|
647
647
|
this.#renderedAttributes.add('type');
|
|
648
648
|
// clang-format off
|
|
649
|
-
return html`<div class="row attribute" data-attribute="type" jslog=${VisualLogging.treeItem('type')}>
|
|
649
|
+
return html`<div class="row attribute" data-attribute="type" jslog=${VisualLogging.treeItem('type').track({resize: true})}>
|
|
650
650
|
<div id="type">type<span class="separator">:</span></div>
|
|
651
651
|
<devtools-suggestion-input
|
|
652
652
|
aria-labelledby="type"
|
|
@@ -667,7 +667,7 @@ export class StepEditor extends LitElement {
|
|
|
667
667
|
return;
|
|
668
668
|
}
|
|
669
669
|
// clang-format off
|
|
670
|
-
return html`<div class="row attribute" data-attribute=${attribute} jslog=${VisualLogging.treeItem(Platform.StringUtilities.toKebabCase(attribute))}>
|
|
670
|
+
return html`<div class="row attribute" data-attribute=${attribute} jslog=${VisualLogging.treeItem(Platform.StringUtilities.toKebabCase(attribute)).track({resize: true})}>
|
|
671
671
|
<div id=${attribute}>${attribute}<span class="separator">:</span></div>
|
|
672
672
|
<devtools-suggestion-input
|
|
673
673
|
.disabled=${this.disabled}
|
|
@@ -706,7 +706,7 @@ export class StepEditor extends LitElement {
|
|
|
706
706
|
}
|
|
707
707
|
// clang-format off
|
|
708
708
|
return html`
|
|
709
|
-
<div class="attribute" data-attribute="frame" jslog=${VisualLogging.treeItem('frame')}>
|
|
709
|
+
<div class="attribute" data-attribute="frame" jslog=${VisualLogging.treeItem('frame').track({resize: true})}>
|
|
710
710
|
<div class="row">
|
|
711
711
|
<div id="frame">frame<span class="separator">:</span></div>
|
|
712
712
|
${this.#renderDeleteButton('frame')}
|
|
@@ -345,7 +345,8 @@ export class ShortcutListItem {
|
|
|
345
345
|
this.settingsTab = settingsTab;
|
|
346
346
|
this.item = item;
|
|
347
347
|
this.element = document.createElement('div');
|
|
348
|
-
this.element.setAttribute(
|
|
348
|
+
this.element.setAttribute(
|
|
349
|
+
'jslog', `${VisualLogging.item().context(item.id()).track({keydown: 'Escape', resize: true})}`);
|
|
349
350
|
this.editedShortcuts = new Map();
|
|
350
351
|
this.shortcutInputs = new Map();
|
|
351
352
|
this.shortcuts = UI.ShortcutRegistry.ShortcutRegistry.instance().shortcutsForAction(item.id());
|
|
@@ -404,7 +404,7 @@ export class HeadersViewComponent extends HTMLElement {
|
|
|
404
404
|
// clang-format off
|
|
405
405
|
return html`
|
|
406
406
|
<div class="row" data-block-index=${blockIndex}
|
|
407
|
-
jslog=${VisualLogging.treeItem(pattern === '*' ? pattern : undefined)}>
|
|
407
|
+
jslog=${VisualLogging.treeItem(pattern === '*' ? pattern : undefined).track({resize: true})}>
|
|
408
408
|
<div>${i18n.i18n.lockedString('Apply to')}</div>
|
|
409
409
|
<div class="separator">:</div>
|
|
410
410
|
${this.#renderEditable(pattern, 'apply-to')}
|
|
@@ -427,7 +427,7 @@ export class HeadersViewComponent extends HTMLElement {
|
|
|
427
427
|
// clang-format off
|
|
428
428
|
return html`
|
|
429
429
|
<div class="row padded" data-block-index=${blockIndex} data-header-index=${headerIndex}
|
|
430
|
-
jslog=${VisualLogging.treeItem(header.name).parent('headers-editor-row-parent')}>
|
|
430
|
+
jslog=${VisualLogging.treeItem(header.name).parent('headers-editor-row-parent').track({resize: true})}>
|
|
431
431
|
${this.#renderEditable(header.name, 'header-name red', true)}
|
|
432
432
|
<div class="separator">:</div>
|
|
433
433
|
${this.#renderEditable(header.value, 'header-value')}
|
|
@@ -111,7 +111,7 @@ export class BreadcrumbsUI extends HTMLElement {
|
|
|
111
111
|
// clang-format off
|
|
112
112
|
return html`
|
|
113
113
|
<div class="breadcrumb" @contextmenu=${(event: Event) => this.#onContextMenu(event, breadcrumb)} @click=${() => this.#activateBreadcrumb(breadcrumb)}
|
|
114
|
-
jslog=${VisualLogging.item('timeline.breadcrumb-select').track({click: true})}>
|
|
114
|
+
jslog=${VisualLogging.item('timeline.breadcrumb-select').track({click: true, resize: true})}>
|
|
115
115
|
<span class="${(breadcrumb === this.#activeBreadcrumb) ? 'active-breadcrumb' : ''} range">
|
|
116
116
|
${(index === 0) ?
|
|
117
117
|
`Full range (${i18n.TimeUtilities.preciseMillisToString(breadcrumbRange, 2)})` :
|
|
@@ -424,7 +424,7 @@ export const DEFAULT_VIEW: (input: SidebarAnnotationsTabViewInput, output: objec
|
|
|
424
424
|
@mouseout=${() => (annotation.type === 'ENTRY_LABEL') ? input.onAnnotationHoverOut() : null}
|
|
425
425
|
aria-label=${label}
|
|
426
426
|
tabindex="0"
|
|
427
|
-
jslog=${VisualLogging.item(`timeline.annotation-sidebar.annotation-${jslogForAnnotation(annotation)}`).track({click: true})}
|
|
427
|
+
jslog=${VisualLogging.item(`timeline.annotation-sidebar.annotation-${jslogForAnnotation(annotation)}`).track({click: true, resize: true})}
|
|
428
428
|
>
|
|
429
429
|
<div class="annotation">
|
|
430
430
|
${renderAnnotationIdentifier(annotation, input.annotationEntryToColorMap)}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Name: Dependencies sourced from the upstream `chromium` repository
|
|
2
2
|
URL: Internal
|
|
3
3
|
Version: N/A
|
|
4
|
-
Revision:
|
|
4
|
+
Revision: ccc5d606ce500bcd7af0b441cfc69add07349417
|
|
5
5
|
Update Mechanism: Manual (https://crbug.com/428069060)
|
|
6
6
|
License: BSD-3-Clause
|
|
7
7
|
License File: LICENSE
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Name: Puppeteer Core
|
|
2
2
|
Short Name: Puppeteer Core
|
|
3
3
|
URL: https://github.com/puppeteer/puppeteer/tree/main/packages/puppeteer-core
|
|
4
|
-
Version: 24.
|
|
4
|
+
Version: 24.38.0
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
License File: LICENSE
|
|
7
|
-
Revision:
|
|
7
|
+
Revision: d3356fac46478974c5b88ba2b26b26954cb741ff
|
|
8
8
|
Security Critical: no
|
|
9
9
|
Shipped: yes
|
|
10
10
|
Update Mechanism: Autoroll
|
package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Navigation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigation.d.ts","sourceRoot":"","sources":["../../../../../src/bidi/core/Navigation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAE1D,OAAO,EAAkB,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAExE,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,YAAY,CAAC;IAC3C,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,QAAQ,EAAE,cAAc,CAAC;IACzB,sCAAsC;IACtC,MAAM,EAAE,cAAc,CAAC;IACvB,2CAA2C;IAC3C,OAAO,EAAE,cAAc,CAAC;CACzB,CAAC;;IACA,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,UAAU;IAYjD,OAAO;
|
|
1
|
+
{"version":3,"file":"Navigation.d.ts","sourceRoot":"","sources":["../../../../../src/bidi/core/Navigation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAE1D,OAAO,EAAkB,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAExE,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,YAAY,CAAC;IAC3C,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,QAAQ,EAAE,cAAc,CAAC;IACzB,sCAAsC;IACtC,MAAM,EAAE,cAAc,CAAC;IACvB,2CAA2C;IAC3C,OAAO,EAAE,cAAc,CAAC;CACzB,CAAC;;IACA,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,UAAU;IAYjD,OAAO;IA4GP,IAAI,QAAQ,IAAI,OAAO,CAEtB;IACD,IAAI,OAAO,IAAI,OAAO,GAAG,SAAS,CAEjC;IACD,IAAI,UAAU,IAAI,UAAU,GAAG,SAAS,CAEvC;IAGD,OAAO,CAAC,OAAO;IAIN,CAAC,aAAa,CAAC,IAAI,IAAI;CAIjC"}
|