@react-perfscope/ui 0.4.0 → 0.5.0
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/dist/index.cjs +390 -198
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +390 -198
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
package/dist/index.js
CHANGED
|
@@ -145,7 +145,8 @@ var en = {
|
|
|
145
145
|
inputDelay: "input delay",
|
|
146
146
|
processingTime: "processing",
|
|
147
147
|
presentation: "presentation",
|
|
148
|
-
interactionThresholdHint: "Only interactions \u226540ms are shown \u2014 INP surfaces the slow ones; fast clicks are omitted."
|
|
148
|
+
interactionThresholdHint: "Only interactions \u226540ms are shown \u2014 INP surfaces the slow ones; fast clicks are omitted.",
|
|
149
|
+
layoutShiftHint: "Every layout shift, including ones triggered by your interactions. The CLS metric excludes input-driven shifts, so this is not a CLS score."
|
|
149
150
|
};
|
|
150
151
|
var KIND_LABELS_KO = {
|
|
151
152
|
render: "\uB80C\uB354",
|
|
@@ -238,7 +239,8 @@ var ko = {
|
|
|
238
239
|
inputDelay: "\uC785\uB825 \uC9C0\uC5F0",
|
|
239
240
|
processingTime: "\uCC98\uB9AC",
|
|
240
241
|
presentation: "\uD654\uBA74 \uBC18\uC601",
|
|
241
|
-
interactionThresholdHint: "40ms \uC774\uC0C1 \uAC78\uB9B0 \uC0C1\uD638\uC791\uC6A9\uB9CC \uD45C\uC2DC\uB3FC\uC694 \u2014 \uB290\uB9B0 \uAC83\uB9CC INP\uB85C \uC7A1\uACE0, \uBE60\uB978 \uD074\uB9AD\uC740 \uC0DD\uB7B5\uD574\uC694."
|
|
242
|
+
interactionThresholdHint: "40ms \uC774\uC0C1 \uAC78\uB9B0 \uC0C1\uD638\uC791\uC6A9\uB9CC \uD45C\uC2DC\uB3FC\uC694 \u2014 \uB290\uB9B0 \uAC83\uB9CC INP\uB85C \uC7A1\uACE0, \uBE60\uB978 \uD074\uB9AD\uC740 \uC0DD\uB7B5\uD574\uC694.",
|
|
243
|
+
layoutShiftHint: "\uC0AC\uC6A9\uC790 \uC778\uD130\uB799\uC158\uC73C\uB85C \uC0DD\uAE34 \uAC83\uAE4C\uC9C0 \uD3EC\uD568\uD55C \uBAA8\uB4E0 \uB808\uC774\uC544\uC6C3 \uC2DC\uD504\uD2B8\uC608\uC694. CLS \uC9C0\uD45C\uB294 \uC785\uB825\uC73C\uB85C \uC778\uD55C \uC2DC\uD504\uD2B8\uB97C \uC81C\uC678\uD558\uBBC0\uB85C, \uC774\uAC74 CLS \uC810\uC218\uAC00 \uC544\uB2C8\uC5D0\uC694."
|
|
242
244
|
};
|
|
243
245
|
var STRINGS = { en, ko };
|
|
244
246
|
function isLang(v) {
|
|
@@ -1860,6 +1862,177 @@ function RenderInsights({ signals, onSelect }) {
|
|
|
1860
1862
|
);
|
|
1861
1863
|
}
|
|
1862
1864
|
|
|
1865
|
+
// src/inp-episode.tsx
|
|
1866
|
+
import { correlate } from "@react-perfscope/core";
|
|
1867
|
+
|
|
1868
|
+
// src/episode-shared.tsx
|
|
1869
|
+
import { Fragment as Fragment2, jsx as jsx5, jsxs as jsxs5 } from "preact/jsx-runtime";
|
|
1870
|
+
function memberLabel(m) {
|
|
1871
|
+
const s = m.signal;
|
|
1872
|
+
if (s.kind === "render") return `${s.component} (${s.reason})`;
|
|
1873
|
+
if (s.kind === "forced-reflow") {
|
|
1874
|
+
const top = s.stack[0];
|
|
1875
|
+
return top ? `forced reflow \xB7 ${top.file}:${top.line}` : "forced reflow";
|
|
1876
|
+
}
|
|
1877
|
+
return `layout shift ${s.value.toFixed(3)}`;
|
|
1878
|
+
}
|
|
1879
|
+
function EpisodeMemberRow({ member }) {
|
|
1880
|
+
return /* @__PURE__ */ jsxs5(
|
|
1881
|
+
"div",
|
|
1882
|
+
{
|
|
1883
|
+
"data-member-kind": member.signal.kind,
|
|
1884
|
+
style: { display: "flex", alignItems: "center", gap: "6px", padding: "1px 0", color: "#ccc" },
|
|
1885
|
+
children: [
|
|
1886
|
+
/* @__PURE__ */ jsx5("span", { style: { overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: memberLabel(member) }),
|
|
1887
|
+
member.causedBy && /* @__PURE__ */ jsxs5("span", { style: { flex: "0 0 auto", color: "#888" }, children: [
|
|
1888
|
+
"\u2190 ",
|
|
1889
|
+
member.causedBy.component
|
|
1890
|
+
] }),
|
|
1891
|
+
member.confidence === "caused" && /* @__PURE__ */ jsx5(
|
|
1892
|
+
"span",
|
|
1893
|
+
{
|
|
1894
|
+
style: {
|
|
1895
|
+
flex: "0 0 auto",
|
|
1896
|
+
fontSize: "9px",
|
|
1897
|
+
color: "#e0a030",
|
|
1898
|
+
border: "1px solid #5a4410",
|
|
1899
|
+
borderRadius: "3px",
|
|
1900
|
+
padding: "0 4px"
|
|
1901
|
+
},
|
|
1902
|
+
children: "caused"
|
|
1903
|
+
}
|
|
1904
|
+
)
|
|
1905
|
+
]
|
|
1906
|
+
}
|
|
1907
|
+
);
|
|
1908
|
+
}
|
|
1909
|
+
function EpisodeMemberList({ members }) {
|
|
1910
|
+
if (members.length === 0) return /* @__PURE__ */ jsx5("span", { style: { color: "#555" }, children: "\u2014" });
|
|
1911
|
+
return /* @__PURE__ */ jsx5(Fragment2, { children: members.map((m, i) => /* @__PURE__ */ jsx5(EpisodeMemberRow, { member: m }, i)) });
|
|
1912
|
+
}
|
|
1913
|
+
|
|
1914
|
+
// src/inp-episode.tsx
|
|
1915
|
+
import { jsx as jsx6, jsxs as jsxs6 } from "preact/jsx-runtime";
|
|
1916
|
+
var PHASES = [
|
|
1917
|
+
{ phase: "input-delay", labelKey: "inputDelay" },
|
|
1918
|
+
{ phase: "processing", labelKey: "processingTime" },
|
|
1919
|
+
{ phase: "presentation", labelKey: "presentation" }
|
|
1920
|
+
];
|
|
1921
|
+
function worstInteractionEpisode(signals) {
|
|
1922
|
+
let worst = null;
|
|
1923
|
+
for (const ep of correlate(signals)) {
|
|
1924
|
+
if (ep.anchor.kind !== "interaction") continue;
|
|
1925
|
+
if (!worst || ep.anchor.duration > worst.anchor.duration) worst = ep;
|
|
1926
|
+
}
|
|
1927
|
+
return worst;
|
|
1928
|
+
}
|
|
1929
|
+
function phaseMs(episode, phase) {
|
|
1930
|
+
const a = episode.anchor;
|
|
1931
|
+
if (a.kind !== "interaction") return 0;
|
|
1932
|
+
return phase === "input-delay" ? a.inputDelay : phase === "processing" ? a.processing : a.presentation;
|
|
1933
|
+
}
|
|
1934
|
+
function InpEpisode({ signals }) {
|
|
1935
|
+
const { t } = useI18n();
|
|
1936
|
+
const episode = worstInteractionEpisode(signals);
|
|
1937
|
+
if (!episode || episode.anchor.kind !== "interaction") return null;
|
|
1938
|
+
const a = episode.anchor;
|
|
1939
|
+
const target = a.target ? ` on ${a.target}` : "";
|
|
1940
|
+
return /* @__PURE__ */ jsxs6(
|
|
1941
|
+
"div",
|
|
1942
|
+
{
|
|
1943
|
+
"data-inp-episode": true,
|
|
1944
|
+
style: {
|
|
1945
|
+
margin: "0 0 8px",
|
|
1946
|
+
border: "1px solid #1f1f1f",
|
|
1947
|
+
borderRadius: "6px",
|
|
1948
|
+
background: "#121212",
|
|
1949
|
+
fontFamily: "SF Mono, Menlo, Consolas, monospace",
|
|
1950
|
+
fontSize: "11px",
|
|
1951
|
+
overflow: "hidden"
|
|
1952
|
+
},
|
|
1953
|
+
children: [
|
|
1954
|
+
/* @__PURE__ */ jsxs6("div", { style: { padding: "6px 8px", borderBottom: "1px solid #1f1f1f", color: "#ddd" }, children: [
|
|
1955
|
+
/* @__PURE__ */ jsx6("strong", { children: a.eventType }),
|
|
1956
|
+
target,
|
|
1957
|
+
" \u2014 ",
|
|
1958
|
+
/* @__PURE__ */ jsxs6("strong", { children: [
|
|
1959
|
+
Math.round(a.duration),
|
|
1960
|
+
"ms"
|
|
1961
|
+
] }),
|
|
1962
|
+
" ",
|
|
1963
|
+
/* @__PURE__ */ jsx6("span", { style: { color: "#888" }, children: "INP" })
|
|
1964
|
+
] }),
|
|
1965
|
+
PHASES.map(({ phase, labelKey }) => {
|
|
1966
|
+
const members = episode.members.filter((m) => m.phase === phase);
|
|
1967
|
+
return /* @__PURE__ */ jsxs6(
|
|
1968
|
+
"div",
|
|
1969
|
+
{
|
|
1970
|
+
"data-inp-phase": phase,
|
|
1971
|
+
style: { display: "flex", gap: "8px", padding: "5px 8px", borderTop: "1px solid #1a1a1a" },
|
|
1972
|
+
children: [
|
|
1973
|
+
/* @__PURE__ */ jsxs6("div", { style: { flex: "0 0 92px", color: "#aaa" }, children: [
|
|
1974
|
+
t[labelKey],
|
|
1975
|
+
/* @__PURE__ */ jsxs6("div", { style: { color: "#666", fontSize: "10px" }, children: [
|
|
1976
|
+
Math.round(phaseMs(episode, phase)),
|
|
1977
|
+
"ms"
|
|
1978
|
+
] })
|
|
1979
|
+
] }),
|
|
1980
|
+
/* @__PURE__ */ jsx6("div", { style: { flex: 1, minWidth: 0 }, children: /* @__PURE__ */ jsx6(EpisodeMemberList, { members }) })
|
|
1981
|
+
]
|
|
1982
|
+
},
|
|
1983
|
+
phase
|
|
1984
|
+
);
|
|
1985
|
+
})
|
|
1986
|
+
]
|
|
1987
|
+
}
|
|
1988
|
+
);
|
|
1989
|
+
}
|
|
1990
|
+
|
|
1991
|
+
// src/long-task-episode.tsx
|
|
1992
|
+
import { correlate as correlate2 } from "@react-perfscope/core";
|
|
1993
|
+
import { jsx as jsx7, jsxs as jsxs7 } from "preact/jsx-runtime";
|
|
1994
|
+
function worstLongTaskEpisode(signals) {
|
|
1995
|
+
let worst = null;
|
|
1996
|
+
for (const ep of correlate2(signals)) {
|
|
1997
|
+
if (ep.anchor.kind !== "long-task") continue;
|
|
1998
|
+
if (!worst || ep.anchor.duration > worst.anchor.duration) worst = ep;
|
|
1999
|
+
}
|
|
2000
|
+
return worst;
|
|
2001
|
+
}
|
|
2002
|
+
function LongTaskEpisode({ signals }) {
|
|
2003
|
+
const { t } = useI18n();
|
|
2004
|
+
const episode = worstLongTaskEpisode(signals);
|
|
2005
|
+
if (!episode || episode.anchor.kind !== "long-task") return null;
|
|
2006
|
+
if (episode.members.length === 0) return null;
|
|
2007
|
+
const a = episode.anchor;
|
|
2008
|
+
return /* @__PURE__ */ jsxs7(
|
|
2009
|
+
"div",
|
|
2010
|
+
{
|
|
2011
|
+
"data-long-task-episode": true,
|
|
2012
|
+
style: {
|
|
2013
|
+
margin: "0 0 8px",
|
|
2014
|
+
border: "1px solid #1f1f1f",
|
|
2015
|
+
borderRadius: "6px",
|
|
2016
|
+
background: "#121212",
|
|
2017
|
+
fontFamily: "SF Mono, Menlo, Consolas, monospace",
|
|
2018
|
+
fontSize: "11px",
|
|
2019
|
+
overflow: "hidden"
|
|
2020
|
+
},
|
|
2021
|
+
children: [
|
|
2022
|
+
/* @__PURE__ */ jsxs7("div", { style: { padding: "6px 8px", borderBottom: "1px solid #1f1f1f", color: "#ddd" }, children: [
|
|
2023
|
+
/* @__PURE__ */ jsx7("strong", { children: t.kindLabel("long-task") }),
|
|
2024
|
+
" \u2014 ",
|
|
2025
|
+
/* @__PURE__ */ jsxs7("strong", { children: [
|
|
2026
|
+
Math.round(a.duration),
|
|
2027
|
+
"ms"
|
|
2028
|
+
] })
|
|
2029
|
+
] }),
|
|
2030
|
+
/* @__PURE__ */ jsx7("div", { style: { padding: "5px 8px" }, children: /* @__PURE__ */ jsx7(EpisodeMemberList, { members: episode.members }) })
|
|
2031
|
+
]
|
|
2032
|
+
}
|
|
2033
|
+
);
|
|
2034
|
+
}
|
|
2035
|
+
|
|
1863
2036
|
// src/filter.ts
|
|
1864
2037
|
function signalSearchText(signal) {
|
|
1865
2038
|
switch (signal.kind) {
|
|
@@ -1900,7 +2073,7 @@ function signalMatchesFilter(signal, query) {
|
|
|
1900
2073
|
}
|
|
1901
2074
|
|
|
1902
2075
|
// src/panel.tsx
|
|
1903
|
-
import { Fragment as
|
|
2076
|
+
import { Fragment as Fragment3, jsx as jsx8, jsxs as jsxs8 } from "preact/jsx-runtime";
|
|
1904
2077
|
var RENDER_REASON_COLOR = {
|
|
1905
2078
|
mount: "#5ac8fa",
|
|
1906
2079
|
state: "#34c759",
|
|
@@ -1924,7 +2097,7 @@ function RenderReasonTag({ reason, changedProps }) {
|
|
|
1924
2097
|
const color = RENDER_REASON_COLOR[reason];
|
|
1925
2098
|
const label = renderReasonLabel(t, reason);
|
|
1926
2099
|
const keys = reason === "props" && changedProps && changedProps.length > 0 ? `: ${changedProps.join(", ")}` : "";
|
|
1927
|
-
return /* @__PURE__ */
|
|
2100
|
+
return /* @__PURE__ */ jsxs8(
|
|
1928
2101
|
"span",
|
|
1929
2102
|
{
|
|
1930
2103
|
style: {
|
|
@@ -1980,7 +2153,7 @@ var WEB_VITAL_UNIT2 = {
|
|
|
1980
2153
|
};
|
|
1981
2154
|
function RatingDot({ rating }) {
|
|
1982
2155
|
const { t } = useI18n();
|
|
1983
|
-
return /* @__PURE__ */
|
|
2156
|
+
return /* @__PURE__ */ jsx8(
|
|
1984
2157
|
"span",
|
|
1985
2158
|
{
|
|
1986
2159
|
"data-rating": rating,
|
|
@@ -2038,18 +2211,18 @@ var monoStyle = {
|
|
|
2038
2211
|
};
|
|
2039
2212
|
function LayoutShiftDetail({ s }) {
|
|
2040
2213
|
const { t } = useI18n();
|
|
2041
|
-
return /* @__PURE__ */
|
|
2042
|
-
/* @__PURE__ */
|
|
2043
|
-
/* @__PURE__ */
|
|
2044
|
-
/* @__PURE__ */
|
|
2214
|
+
return /* @__PURE__ */ jsxs8("div", { style: { paddingLeft: "12px" }, children: [
|
|
2215
|
+
/* @__PURE__ */ jsxs8("div", { style: detailRowStyle, children: [
|
|
2216
|
+
/* @__PURE__ */ jsx8("span", { style: detailLabelStyle, children: t.value }),
|
|
2217
|
+
/* @__PURE__ */ jsx8("span", { children: s.value.toFixed(4) })
|
|
2045
2218
|
] }),
|
|
2046
|
-
s.sources.length === 0 ? /* @__PURE__ */
|
|
2047
|
-
/* @__PURE__ */
|
|
2219
|
+
s.sources.length === 0 ? /* @__PURE__ */ jsx8("div", { style: { color: "#666" }, children: t.noSourceRects }) : s.sources.map((r, i) => /* @__PURE__ */ jsxs8("div", { style: { ...detailRowStyle, ...monoStyle }, children: [
|
|
2220
|
+
/* @__PURE__ */ jsxs8("span", { style: { color: "#888" }, children: [
|
|
2048
2221
|
t.rect,
|
|
2049
2222
|
" ",
|
|
2050
2223
|
i + 1
|
|
2051
2224
|
] }),
|
|
2052
|
-
/* @__PURE__ */
|
|
2225
|
+
/* @__PURE__ */ jsxs8("span", { children: [
|
|
2053
2226
|
"x=",
|
|
2054
2227
|
r.x.toFixed(0),
|
|
2055
2228
|
" y=",
|
|
@@ -2064,25 +2237,25 @@ function LayoutShiftDetail({ s }) {
|
|
|
2064
2237
|
}
|
|
2065
2238
|
function NetworkDetail({ s }) {
|
|
2066
2239
|
const { t } = useI18n();
|
|
2067
|
-
return /* @__PURE__ */
|
|
2068
|
-
/* @__PURE__ */
|
|
2069
|
-
/* @__PURE__ */
|
|
2070
|
-
/* @__PURE__ */
|
|
2071
|
-
/* @__PURE__ */
|
|
2240
|
+
return /* @__PURE__ */ jsxs8("div", { style: { paddingLeft: "12px" }, children: [
|
|
2241
|
+
/* @__PURE__ */ jsx8("div", { style: { ...detailRowStyle, ...monoStyle, wordBreak: "break-all" }, children: /* @__PURE__ */ jsx8("span", { children: s.url }) }),
|
|
2242
|
+
/* @__PURE__ */ jsxs8("div", { style: detailRowStyle, children: [
|
|
2243
|
+
/* @__PURE__ */ jsx8("span", { style: detailLabelStyle, children: t.started }),
|
|
2244
|
+
/* @__PURE__ */ jsxs8("span", { children: [
|
|
2072
2245
|
s.startedAt.toFixed(0),
|
|
2073
2246
|
"ms"
|
|
2074
2247
|
] })
|
|
2075
2248
|
] }),
|
|
2076
|
-
/* @__PURE__ */
|
|
2077
|
-
/* @__PURE__ */
|
|
2078
|
-
/* @__PURE__ */
|
|
2249
|
+
/* @__PURE__ */ jsxs8("div", { style: detailRowStyle, children: [
|
|
2250
|
+
/* @__PURE__ */ jsx8("span", { style: detailLabelStyle, children: t.duration }),
|
|
2251
|
+
/* @__PURE__ */ jsxs8("span", { children: [
|
|
2079
2252
|
s.duration.toFixed(0),
|
|
2080
2253
|
"ms"
|
|
2081
2254
|
] })
|
|
2082
2255
|
] }),
|
|
2083
|
-
/* @__PURE__ */
|
|
2084
|
-
/* @__PURE__ */
|
|
2085
|
-
/* @__PURE__ */
|
|
2256
|
+
/* @__PURE__ */ jsxs8("div", { style: detailRowStyle, children: [
|
|
2257
|
+
/* @__PURE__ */ jsx8("span", { style: detailLabelStyle, children: t.size }),
|
|
2258
|
+
/* @__PURE__ */ jsxs8("span", { children: [
|
|
2086
2259
|
(s.size / 1024).toFixed(2),
|
|
2087
2260
|
"KB (",
|
|
2088
2261
|
s.size,
|
|
@@ -2091,69 +2264,69 @@ function NetworkDetail({ s }) {
|
|
|
2091
2264
|
")"
|
|
2092
2265
|
] })
|
|
2093
2266
|
] }),
|
|
2094
|
-
/* @__PURE__ */
|
|
2095
|
-
/* @__PURE__ */
|
|
2096
|
-
/* @__PURE__ */
|
|
2267
|
+
/* @__PURE__ */ jsxs8("div", { style: detailRowStyle, children: [
|
|
2268
|
+
/* @__PURE__ */ jsx8("span", { style: detailLabelStyle, children: t.renderBlocking }),
|
|
2269
|
+
/* @__PURE__ */ jsx8("span", { children: s.blocking ? t.yes : t.no })
|
|
2097
2270
|
] })
|
|
2098
2271
|
] });
|
|
2099
2272
|
}
|
|
2100
2273
|
function WebVitalDetail({ s }) {
|
|
2101
2274
|
const { t } = useI18n();
|
|
2102
|
-
return /* @__PURE__ */
|
|
2103
|
-
/* @__PURE__ */
|
|
2104
|
-
/* @__PURE__ */
|
|
2105
|
-
/* @__PURE__ */
|
|
2275
|
+
return /* @__PURE__ */ jsxs8("div", { style: { paddingLeft: "12px" }, children: [
|
|
2276
|
+
/* @__PURE__ */ jsxs8("div", { style: detailRowStyle, children: [
|
|
2277
|
+
/* @__PURE__ */ jsx8("span", { style: detailLabelStyle, children: t.metric }),
|
|
2278
|
+
/* @__PURE__ */ jsx8("span", { children: s.name })
|
|
2106
2279
|
] }),
|
|
2107
|
-
/* @__PURE__ */
|
|
2108
|
-
/* @__PURE__ */
|
|
2109
|
-
/* @__PURE__ */
|
|
2280
|
+
/* @__PURE__ */ jsxs8("div", { style: detailRowStyle, children: [
|
|
2281
|
+
/* @__PURE__ */ jsx8("span", { style: detailLabelStyle, children: t.value }),
|
|
2282
|
+
/* @__PURE__ */ jsx8("span", { children: s.value.toFixed(2) })
|
|
2110
2283
|
] })
|
|
2111
2284
|
] });
|
|
2112
2285
|
}
|
|
2113
2286
|
function RenderDetail({ s }) {
|
|
2114
2287
|
const { t } = useI18n();
|
|
2115
2288
|
if (s.members && s.members.length > 0) {
|
|
2116
|
-
return /* @__PURE__ */
|
|
2117
|
-
/* @__PURE__ */
|
|
2118
|
-
/* @__PURE__ */
|
|
2119
|
-
/* @__PURE__ */
|
|
2289
|
+
return /* @__PURE__ */ jsxs8("div", { style: { paddingLeft: "12px" }, children: [
|
|
2290
|
+
/* @__PURE__ */ jsxs8("div", { style: detailRowStyle, children: [
|
|
2291
|
+
/* @__PURE__ */ jsx8("span", { style: detailLabelStyle, children: t.duration }),
|
|
2292
|
+
/* @__PURE__ */ jsxs8("span", { children: [
|
|
2120
2293
|
s.duration.toFixed(3),
|
|
2121
2294
|
"ms"
|
|
2122
2295
|
] })
|
|
2123
2296
|
] }),
|
|
2124
|
-
/* @__PURE__ */
|
|
2125
|
-
/* @__PURE__ */
|
|
2126
|
-
/* @__PURE__ */
|
|
2297
|
+
/* @__PURE__ */ jsxs8("div", { style: detailRowStyle, children: [
|
|
2298
|
+
/* @__PURE__ */ jsx8("span", { style: detailLabelStyle, children: t.at }),
|
|
2299
|
+
/* @__PURE__ */ jsxs8("span", { children: [
|
|
2127
2300
|
s.at.toFixed(2),
|
|
2128
2301
|
"ms"
|
|
2129
2302
|
] })
|
|
2130
2303
|
] }),
|
|
2131
|
-
/* @__PURE__ */
|
|
2304
|
+
/* @__PURE__ */ jsx8("div", { style: { marginTop: "6px" }, children: /* @__PURE__ */ jsx8(CascadeMembers, { members: s.members }) })
|
|
2132
2305
|
] });
|
|
2133
2306
|
}
|
|
2134
|
-
return /* @__PURE__ */
|
|
2135
|
-
/* @__PURE__ */
|
|
2136
|
-
/* @__PURE__ */
|
|
2137
|
-
/* @__PURE__ */
|
|
2307
|
+
return /* @__PURE__ */ jsxs8("div", { style: { paddingLeft: "12px" }, children: [
|
|
2308
|
+
/* @__PURE__ */ jsxs8("div", { style: detailRowStyle, children: [
|
|
2309
|
+
/* @__PURE__ */ jsx8("span", { style: detailLabelStyle, children: t.component }),
|
|
2310
|
+
/* @__PURE__ */ jsx8("span", { children: s.component })
|
|
2138
2311
|
] }),
|
|
2139
|
-
/* @__PURE__ */
|
|
2140
|
-
/* @__PURE__ */
|
|
2141
|
-
/* @__PURE__ */
|
|
2312
|
+
/* @__PURE__ */ jsxs8("div", { style: detailRowStyle, children: [
|
|
2313
|
+
/* @__PURE__ */ jsx8("span", { style: detailLabelStyle, children: t.reason }),
|
|
2314
|
+
/* @__PURE__ */ jsx8(RenderReasonTag, { reason: s.reason, changedProps: s.changedProps })
|
|
2142
2315
|
] }),
|
|
2143
|
-
s.reason === "props" && s.changedProps && s.changedProps.length > 0 && /* @__PURE__ */
|
|
2144
|
-
/* @__PURE__ */
|
|
2145
|
-
/* @__PURE__ */
|
|
2316
|
+
s.reason === "props" && s.changedProps && s.changedProps.length > 0 && /* @__PURE__ */ jsxs8("div", { style: { ...detailRowStyle, ...monoStyle }, children: [
|
|
2317
|
+
/* @__PURE__ */ jsx8("span", { style: detailLabelStyle, children: t.changedProps }),
|
|
2318
|
+
/* @__PURE__ */ jsx8("span", { children: s.changedProps.join(", ") })
|
|
2146
2319
|
] }),
|
|
2147
|
-
/* @__PURE__ */
|
|
2148
|
-
/* @__PURE__ */
|
|
2149
|
-
/* @__PURE__ */
|
|
2320
|
+
/* @__PURE__ */ jsxs8("div", { style: detailRowStyle, children: [
|
|
2321
|
+
/* @__PURE__ */ jsx8("span", { style: detailLabelStyle, children: t.duration }),
|
|
2322
|
+
/* @__PURE__ */ jsxs8("span", { children: [
|
|
2150
2323
|
s.duration.toFixed(3),
|
|
2151
2324
|
"ms"
|
|
2152
2325
|
] })
|
|
2153
2326
|
] }),
|
|
2154
|
-
/* @__PURE__ */
|
|
2155
|
-
/* @__PURE__ */
|
|
2156
|
-
/* @__PURE__ */
|
|
2327
|
+
/* @__PURE__ */ jsxs8("div", { style: detailRowStyle, children: [
|
|
2328
|
+
/* @__PURE__ */ jsx8("span", { style: detailLabelStyle, children: t.at }),
|
|
2329
|
+
/* @__PURE__ */ jsxs8("span", { children: [
|
|
2157
2330
|
s.at.toFixed(2),
|
|
2158
2331
|
"ms"
|
|
2159
2332
|
] })
|
|
@@ -2183,11 +2356,11 @@ function StackFrames({
|
|
|
2183
2356
|
cancelled = true;
|
|
2184
2357
|
};
|
|
2185
2358
|
}, [raw]);
|
|
2186
|
-
return /* @__PURE__ */
|
|
2187
|
-
resolving && /* @__PURE__ */
|
|
2188
|
-
frames.length === 0 ? /* @__PURE__ */
|
|
2189
|
-
f.fnName ? /* @__PURE__ */
|
|
2190
|
-
/* @__PURE__ */
|
|
2359
|
+
return /* @__PURE__ */ jsxs8(Fragment3, { children: [
|
|
2360
|
+
resolving && /* @__PURE__ */ jsx8("div", { style: { color: "#666", fontSize: "10px", marginBottom: "4px" }, children: t.resolvingSourceMaps }),
|
|
2361
|
+
frames.length === 0 ? /* @__PURE__ */ jsx8("div", { style: { color: "#666" }, children: t.noStack }) : frames.map((f, i) => /* @__PURE__ */ jsxs8("div", { style: { ...detailRowStyle, ...monoStyle }, children: [
|
|
2362
|
+
f.fnName ? /* @__PURE__ */ jsx8("span", { children: f.fnName }) : /* @__PURE__ */ jsx8("span", { style: { color: "#666" }, children: t.anonymous }),
|
|
2363
|
+
/* @__PURE__ */ jsxs8("span", { style: { color: "#888" }, children: [
|
|
2191
2364
|
f.file,
|
|
2192
2365
|
":",
|
|
2193
2366
|
f.line,
|
|
@@ -2201,7 +2374,7 @@ function ForcedReflowDetail({
|
|
|
2201
2374
|
s,
|
|
2202
2375
|
resolveFrame
|
|
2203
2376
|
}) {
|
|
2204
|
-
return /* @__PURE__ */
|
|
2377
|
+
return /* @__PURE__ */ jsx8("div", { style: { paddingLeft: "12px" }, children: /* @__PURE__ */ jsx8(StackFrames, { raw: s.stack, resolveFrame }) });
|
|
2205
2378
|
}
|
|
2206
2379
|
function HotFunctions({
|
|
2207
2380
|
attribution,
|
|
@@ -2220,26 +2393,26 @@ function HotFunctions({
|
|
|
2220
2393
|
cancelled = true;
|
|
2221
2394
|
};
|
|
2222
2395
|
}, [attribution]);
|
|
2223
|
-
return /* @__PURE__ */
|
|
2224
|
-
/* @__PURE__ */
|
|
2225
|
-
/* @__PURE__ */
|
|
2396
|
+
return /* @__PURE__ */ jsxs8("div", { style: { marginTop: "6px" }, children: [
|
|
2397
|
+
/* @__PURE__ */ jsx8("div", { style: { ...detailLabelStyle, textTransform: "uppercase", fontSize: "10px", letterSpacing: "0.5px", marginBottom: "1px", color: "#ff9f0a" }, children: t.hotFunctions }),
|
|
2398
|
+
/* @__PURE__ */ jsx8("div", { style: { color: "#666", fontSize: "10px", marginBottom: "4px" }, children: t.hotFunctionsHint }),
|
|
2226
2399
|
attribution.map((a, i) => {
|
|
2227
2400
|
const f = frames[i] ?? a.frame;
|
|
2228
2401
|
const pct = Math.round(a.selfRatio * 100);
|
|
2229
|
-
return /* @__PURE__ */
|
|
2230
|
-
/* @__PURE__ */
|
|
2231
|
-
/* @__PURE__ */
|
|
2232
|
-
/* @__PURE__ */
|
|
2402
|
+
return /* @__PURE__ */ jsxs8("div", { style: { ...monoStyle, padding: "3px 0", borderTop: i > 0 ? "1px dashed #1f1f1f" : "none" }, children: [
|
|
2403
|
+
/* @__PURE__ */ jsxs8("div", { children: [
|
|
2404
|
+
/* @__PURE__ */ jsx8("span", { style: { color: "#ff9f0a", fontWeight: 600 }, children: f.fnName || /* @__PURE__ */ jsx8("span", { style: { color: "#666" }, children: t.anonymous }) }),
|
|
2405
|
+
/* @__PURE__ */ jsxs8("span", { style: { color: SEVERITY_COLOR.medium, marginLeft: "6px" }, children: [
|
|
2233
2406
|
pct,
|
|
2234
2407
|
"%"
|
|
2235
2408
|
] }),
|
|
2236
|
-
/* @__PURE__ */
|
|
2409
|
+
/* @__PURE__ */ jsxs8("span", { style: { color: "#666", marginLeft: "6px" }, children: [
|
|
2237
2410
|
"(",
|
|
2238
2411
|
a.sampleCount,
|
|
2239
2412
|
")"
|
|
2240
2413
|
] })
|
|
2241
2414
|
] }),
|
|
2242
|
-
/* @__PURE__ */
|
|
2415
|
+
/* @__PURE__ */ jsxs8("div", { style: { color: "#888", wordBreak: "break-all" }, children: [
|
|
2243
2416
|
f.file,
|
|
2244
2417
|
":",
|
|
2245
2418
|
f.line,
|
|
@@ -2256,59 +2429,59 @@ function LongTaskDetail({
|
|
|
2256
2429
|
}) {
|
|
2257
2430
|
const { t } = useI18n();
|
|
2258
2431
|
const scripts = s.scripts ? [...s.scripts].sort((a, b) => b.duration - a.duration) : [];
|
|
2259
|
-
return /* @__PURE__ */
|
|
2260
|
-
/* @__PURE__ */
|
|
2261
|
-
/* @__PURE__ */
|
|
2262
|
-
/* @__PURE__ */
|
|
2432
|
+
return /* @__PURE__ */ jsxs8("div", { style: { paddingLeft: "12px" }, children: [
|
|
2433
|
+
/* @__PURE__ */ jsxs8("div", { style: detailRowStyle, children: [
|
|
2434
|
+
/* @__PURE__ */ jsx8("span", { style: detailLabelStyle, children: t.started }),
|
|
2435
|
+
/* @__PURE__ */ jsxs8("span", { children: [
|
|
2263
2436
|
s.at.toFixed(2),
|
|
2264
2437
|
"ms"
|
|
2265
2438
|
] })
|
|
2266
2439
|
] }),
|
|
2267
|
-
/* @__PURE__ */
|
|
2268
|
-
/* @__PURE__ */
|
|
2269
|
-
/* @__PURE__ */
|
|
2440
|
+
/* @__PURE__ */ jsxs8("div", { style: detailRowStyle, children: [
|
|
2441
|
+
/* @__PURE__ */ jsx8("span", { style: detailLabelStyle, children: t.ended }),
|
|
2442
|
+
/* @__PURE__ */ jsxs8("span", { children: [
|
|
2270
2443
|
(s.at + s.duration).toFixed(2),
|
|
2271
2444
|
"ms"
|
|
2272
2445
|
] })
|
|
2273
2446
|
] }),
|
|
2274
|
-
/* @__PURE__ */
|
|
2275
|
-
/* @__PURE__ */
|
|
2276
|
-
/* @__PURE__ */
|
|
2447
|
+
/* @__PURE__ */ jsxs8("div", { style: detailRowStyle, children: [
|
|
2448
|
+
/* @__PURE__ */ jsx8("span", { style: detailLabelStyle, children: t.duration }),
|
|
2449
|
+
/* @__PURE__ */ jsxs8("span", { children: [
|
|
2277
2450
|
s.duration.toFixed(2),
|
|
2278
2451
|
"ms"
|
|
2279
2452
|
] })
|
|
2280
2453
|
] }),
|
|
2281
|
-
typeof s.blockingDuration === "number" && /* @__PURE__ */
|
|
2282
|
-
/* @__PURE__ */
|
|
2283
|
-
/* @__PURE__ */
|
|
2454
|
+
typeof s.blockingDuration === "number" && /* @__PURE__ */ jsxs8("div", { style: detailRowStyle, children: [
|
|
2455
|
+
/* @__PURE__ */ jsx8("span", { style: detailLabelStyle, children: t.blockingTime }),
|
|
2456
|
+
/* @__PURE__ */ jsxs8("span", { children: [
|
|
2284
2457
|
s.blockingDuration.toFixed(2),
|
|
2285
2458
|
"ms"
|
|
2286
2459
|
] })
|
|
2287
2460
|
] }),
|
|
2288
|
-
s.attribution !== void 0 && s.attribution.length > 0 && /* @__PURE__ */
|
|
2289
|
-
s.scripts !== void 0 && /* @__PURE__ */
|
|
2290
|
-
/* @__PURE__ */
|
|
2291
|
-
scripts.length === 0 ? /* @__PURE__ */
|
|
2292
|
-
/* @__PURE__ */
|
|
2293
|
-
/* @__PURE__ */
|
|
2294
|
-
/* @__PURE__ */
|
|
2295
|
-
/* @__PURE__ */
|
|
2461
|
+
s.attribution !== void 0 && s.attribution.length > 0 && /* @__PURE__ */ jsx8(HotFunctions, { attribution: s.attribution, resolveFrame }),
|
|
2462
|
+
s.scripts !== void 0 && /* @__PURE__ */ jsxs8("div", { style: { marginTop: "6px" }, children: [
|
|
2463
|
+
/* @__PURE__ */ jsx8("div", { style: { ...detailLabelStyle, textTransform: "uppercase", fontSize: "10px", letterSpacing: "0.5px", marginBottom: "4px" }, children: t.scripts }),
|
|
2464
|
+
scripts.length === 0 ? /* @__PURE__ */ jsx8("div", { style: { color: "#666" }, children: t.noScripts }) : scripts.map((script, i) => /* @__PURE__ */ jsxs8("div", { style: { ...monoStyle, padding: "3px 0", borderTop: i > 0 ? "1px dashed #1f1f1f" : "none" }, children: [
|
|
2465
|
+
/* @__PURE__ */ jsxs8("div", { children: [
|
|
2466
|
+
/* @__PURE__ */ jsx8("span", { children: script.sourceFunctionName || /* @__PURE__ */ jsx8("span", { style: { color: "#666" }, children: t.anonymous }) }),
|
|
2467
|
+
/* @__PURE__ */ jsx8("span", { style: { color: "#5ac8fa", marginLeft: "6px" }, children: script.invokerType }),
|
|
2468
|
+
/* @__PURE__ */ jsxs8("span", { style: { color: SEVERITY_COLOR.medium, marginLeft: "6px" }, children: [
|
|
2296
2469
|
script.duration.toFixed(1),
|
|
2297
2470
|
"ms"
|
|
2298
2471
|
] })
|
|
2299
2472
|
] }),
|
|
2300
|
-
script.sourceURL && /* @__PURE__ */
|
|
2473
|
+
script.sourceURL && /* @__PURE__ */ jsxs8("div", { style: { color: "#888", wordBreak: "break-all" }, children: [
|
|
2301
2474
|
script.sourceURL,
|
|
2302
2475
|
script.charPosition >= 0 ? `@${script.charPosition}` : ""
|
|
2303
2476
|
] }),
|
|
2304
|
-
script.invoker && /* @__PURE__ */
|
|
2477
|
+
script.invoker && /* @__PURE__ */ jsxs8("div", { style: { color: "#666" }, children: [
|
|
2305
2478
|
t.invoker,
|
|
2306
2479
|
": ",
|
|
2307
2480
|
script.invoker
|
|
2308
2481
|
] })
|
|
2309
2482
|
] }, i))
|
|
2310
2483
|
] }),
|
|
2311
|
-
s.scripts === void 0 && s.stack.length > 0 && /* @__PURE__ */
|
|
2484
|
+
s.scripts === void 0 && s.stack.length > 0 && /* @__PURE__ */ jsx8("div", { style: { marginTop: "4px" }, children: /* @__PURE__ */ jsx8(StackFrames, { raw: s.stack, resolveFrame, limit: 5 }) })
|
|
2312
2485
|
] });
|
|
2313
2486
|
}
|
|
2314
2487
|
var INTERACTION_PHASE_COLOR = { input: "#8e8e93", processing: "#5ac8fa", presentation: "#34c759" };
|
|
@@ -2323,33 +2496,33 @@ function InteractionDetail({
|
|
|
2323
2496
|
{ label: t.processingTime, ms: s.processing, color: INTERACTION_PHASE_COLOR.processing },
|
|
2324
2497
|
{ label: t.presentation, ms: s.presentation, color: INTERACTION_PHASE_COLOR.presentation }
|
|
2325
2498
|
];
|
|
2326
|
-
return /* @__PURE__ */
|
|
2327
|
-
/* @__PURE__ */
|
|
2328
|
-
/* @__PURE__ */
|
|
2329
|
-
/* @__PURE__ */
|
|
2499
|
+
return /* @__PURE__ */ jsxs8("div", { style: { paddingLeft: "12px" }, children: [
|
|
2500
|
+
/* @__PURE__ */ jsxs8("div", { style: detailRowStyle, children: [
|
|
2501
|
+
/* @__PURE__ */ jsx8("span", { style: detailLabelStyle, children: t.interactionEvent }),
|
|
2502
|
+
/* @__PURE__ */ jsxs8("span", { children: [
|
|
2330
2503
|
s.eventType,
|
|
2331
2504
|
s.target ? ` \xB7 ${s.target}` : ""
|
|
2332
2505
|
] })
|
|
2333
2506
|
] }),
|
|
2334
|
-
/* @__PURE__ */
|
|
2335
|
-
/* @__PURE__ */
|
|
2336
|
-
/* @__PURE__ */
|
|
2507
|
+
/* @__PURE__ */ jsxs8("div", { style: detailRowStyle, children: [
|
|
2508
|
+
/* @__PURE__ */ jsx8("span", { style: detailLabelStyle, children: t.duration }),
|
|
2509
|
+
/* @__PURE__ */ jsxs8("span", { children: [
|
|
2337
2510
|
s.duration.toFixed(0),
|
|
2338
2511
|
"ms"
|
|
2339
2512
|
] })
|
|
2340
2513
|
] }),
|
|
2341
|
-
/* @__PURE__ */
|
|
2342
|
-
phases.map((p, i) => /* @__PURE__ */
|
|
2343
|
-
/* @__PURE__ */
|
|
2344
|
-
/* @__PURE__ */
|
|
2514
|
+
/* @__PURE__ */ jsx8("div", { style: { display: "flex", height: "10px", borderRadius: "3px", overflow: "hidden", margin: "5px 0 7px", background: "#1a1a1a" }, children: phases.map((p, i) => /* @__PURE__ */ jsx8("div", { style: { width: `${p.ms / total * 100}%`, background: p.color } }, i)) }),
|
|
2515
|
+
phases.map((p, i) => /* @__PURE__ */ jsxs8("div", { style: detailRowStyle, children: [
|
|
2516
|
+
/* @__PURE__ */ jsxs8("span", { style: { ...detailLabelStyle, display: "inline-flex", alignItems: "center", gap: "5px" }, children: [
|
|
2517
|
+
/* @__PURE__ */ jsx8("span", { style: { width: "7px", height: "7px", borderRadius: "2px", background: p.color, flex: "0 0 7px" } }),
|
|
2345
2518
|
p.label
|
|
2346
2519
|
] }),
|
|
2347
|
-
/* @__PURE__ */
|
|
2520
|
+
/* @__PURE__ */ jsxs8("span", { children: [
|
|
2348
2521
|
p.ms.toFixed(0),
|
|
2349
2522
|
"ms"
|
|
2350
2523
|
] })
|
|
2351
2524
|
] }, i)),
|
|
2352
|
-
s.attribution !== void 0 && s.attribution.length > 0 && /* @__PURE__ */
|
|
2525
|
+
s.attribution !== void 0 && s.attribution.length > 0 && /* @__PURE__ */ jsx8(HotFunctions, { attribution: s.attribution, resolveFrame })
|
|
2353
2526
|
] });
|
|
2354
2527
|
}
|
|
2355
2528
|
function SignalDetail({
|
|
@@ -2358,24 +2531,24 @@ function SignalDetail({
|
|
|
2358
2531
|
}) {
|
|
2359
2532
|
switch (s.kind) {
|
|
2360
2533
|
case "forced-reflow":
|
|
2361
|
-
return /* @__PURE__ */
|
|
2534
|
+
return /* @__PURE__ */ jsx8(ForcedReflowDetail, { s, resolveFrame });
|
|
2362
2535
|
case "layout-shift":
|
|
2363
|
-
return /* @__PURE__ */
|
|
2536
|
+
return /* @__PURE__ */ jsx8(LayoutShiftDetail, { s });
|
|
2364
2537
|
case "long-task":
|
|
2365
|
-
return /* @__PURE__ */
|
|
2538
|
+
return /* @__PURE__ */ jsx8(LongTaskDetail, { s, resolveFrame });
|
|
2366
2539
|
case "interaction":
|
|
2367
|
-
return /* @__PURE__ */
|
|
2540
|
+
return /* @__PURE__ */ jsx8(InteractionDetail, { s, resolveFrame });
|
|
2368
2541
|
case "network":
|
|
2369
|
-
return /* @__PURE__ */
|
|
2542
|
+
return /* @__PURE__ */ jsx8(NetworkDetail, { s });
|
|
2370
2543
|
case "web-vital":
|
|
2371
|
-
return /* @__PURE__ */
|
|
2544
|
+
return /* @__PURE__ */ jsx8(WebVitalDetail, { s });
|
|
2372
2545
|
case "render":
|
|
2373
|
-
return /* @__PURE__ */
|
|
2546
|
+
return /* @__PURE__ */ jsx8(RenderDetail, { s });
|
|
2374
2547
|
}
|
|
2375
2548
|
}
|
|
2376
2549
|
function SeverityDot({ sev, title }) {
|
|
2377
2550
|
const { t } = useI18n();
|
|
2378
|
-
return /* @__PURE__ */
|
|
2551
|
+
return /* @__PURE__ */ jsx8(
|
|
2379
2552
|
"span",
|
|
2380
2553
|
{
|
|
2381
2554
|
"data-severity": sev,
|
|
@@ -2398,9 +2571,9 @@ function SummaryLine({ signal }) {
|
|
|
2398
2571
|
if (signal.kind === "web-vital") {
|
|
2399
2572
|
const rating = webVitalRating(signal.name, signal.value);
|
|
2400
2573
|
const unit = WEB_VITAL_UNIT2[signal.name];
|
|
2401
|
-
return /* @__PURE__ */
|
|
2402
|
-
/* @__PURE__ */
|
|
2403
|
-
/* @__PURE__ */
|
|
2574
|
+
return /* @__PURE__ */ jsxs8("span", { children: [
|
|
2575
|
+
/* @__PURE__ */ jsx8(RatingDot, { rating }),
|
|
2576
|
+
/* @__PURE__ */ jsx8("strong", { children: signal.name }),
|
|
2404
2577
|
": ",
|
|
2405
2578
|
signal.value.toFixed(2),
|
|
2406
2579
|
unit
|
|
@@ -2409,12 +2582,12 @@ function SummaryLine({ signal }) {
|
|
|
2409
2582
|
const sev = severityForSignal(signal);
|
|
2410
2583
|
const color = SEVERITY_COLOR[sev];
|
|
2411
2584
|
if (signal.kind === "long-task") {
|
|
2412
|
-
return /* @__PURE__ */
|
|
2585
|
+
return /* @__PURE__ */ jsxs8("span", { children: [
|
|
2413
2586
|
"@ ",
|
|
2414
2587
|
signal.at.toFixed(1),
|
|
2415
2588
|
"ms \u2022 duration",
|
|
2416
2589
|
" ",
|
|
2417
|
-
/* @__PURE__ */
|
|
2590
|
+
/* @__PURE__ */ jsxs8("span", { style: { color }, children: [
|
|
2418
2591
|
signal.duration.toFixed(1),
|
|
2419
2592
|
"ms"
|
|
2420
2593
|
] })
|
|
@@ -2422,59 +2595,59 @@ function SummaryLine({ signal }) {
|
|
|
2422
2595
|
}
|
|
2423
2596
|
if (signal.kind === "forced-reflow") {
|
|
2424
2597
|
const count = signal.count ?? 1;
|
|
2425
|
-
return /* @__PURE__ */
|
|
2598
|
+
return /* @__PURE__ */ jsxs8("span", { children: [
|
|
2426
2599
|
"@ ",
|
|
2427
2600
|
signal.at.toFixed(1),
|
|
2428
2601
|
"ms \u2022 duration",
|
|
2429
2602
|
" ",
|
|
2430
|
-
/* @__PURE__ */
|
|
2603
|
+
/* @__PURE__ */ jsxs8("span", { style: { color }, children: [
|
|
2431
2604
|
signal.duration.toFixed(2),
|
|
2432
2605
|
"ms"
|
|
2433
2606
|
] }),
|
|
2434
|
-
count > 1 && /* @__PURE__ */
|
|
2607
|
+
count > 1 && /* @__PURE__ */ jsxs8("span", { style: { color: "#888" }, children: [
|
|
2435
2608
|
" \u2022 ",
|
|
2436
2609
|
t.coalescedReads(count)
|
|
2437
2610
|
] })
|
|
2438
2611
|
] });
|
|
2439
2612
|
}
|
|
2440
2613
|
if (signal.kind === "layout-shift") {
|
|
2441
|
-
return /* @__PURE__ */
|
|
2614
|
+
return /* @__PURE__ */ jsxs8("span", { children: [
|
|
2442
2615
|
"@ ",
|
|
2443
2616
|
signal.at.toFixed(1),
|
|
2444
2617
|
"ms \u2022 value",
|
|
2445
2618
|
" ",
|
|
2446
|
-
/* @__PURE__ */
|
|
2619
|
+
/* @__PURE__ */ jsx8("span", { style: { color }, children: formatCls(signal.value) }),
|
|
2447
2620
|
" \u2022 ",
|
|
2448
2621
|
t.sourceCount(signal.sources.length)
|
|
2449
2622
|
] });
|
|
2450
2623
|
}
|
|
2451
2624
|
if (signal.kind === "render") {
|
|
2452
|
-
return /* @__PURE__ */
|
|
2453
|
-
/* @__PURE__ */
|
|
2454
|
-
/* @__PURE__ */
|
|
2455
|
-
/* @__PURE__ */
|
|
2625
|
+
return /* @__PURE__ */ jsxs8("span", { style: { display: "inline-flex", alignItems: "center", gap: "6px" }, children: [
|
|
2626
|
+
/* @__PURE__ */ jsx8("strong", { children: signal.component }),
|
|
2627
|
+
/* @__PURE__ */ jsx8(RenderReasonTag, { reason: signal.reason, changedProps: signal.changedProps }),
|
|
2628
|
+
/* @__PURE__ */ jsxs8("span", { style: { color }, children: [
|
|
2456
2629
|
signal.duration.toFixed(2),
|
|
2457
2630
|
"ms"
|
|
2458
2631
|
] }),
|
|
2459
|
-
signal.count && signal.count > 1 && /* @__PURE__ */
|
|
2632
|
+
signal.count && signal.count > 1 && /* @__PURE__ */ jsx8("span", { style: { color: "#888" }, children: t.cascadeComponents(signal.count) })
|
|
2460
2633
|
] });
|
|
2461
2634
|
}
|
|
2462
2635
|
if (signal.kind === "network") {
|
|
2463
2636
|
const url = signal.url.length > 60 ? signal.url.slice(0, 57) + "..." : signal.url;
|
|
2464
|
-
return /* @__PURE__ */
|
|
2637
|
+
return /* @__PURE__ */ jsxs8("span", { children: [
|
|
2465
2638
|
url,
|
|
2466
2639
|
" \u2022 ",
|
|
2467
|
-
/* @__PURE__ */
|
|
2640
|
+
/* @__PURE__ */ jsxs8("span", { style: { color }, children: [
|
|
2468
2641
|
signal.duration.toFixed(0),
|
|
2469
2642
|
"ms"
|
|
2470
2643
|
] }),
|
|
2471
|
-
signal.blocking && /* @__PURE__ */
|
|
2644
|
+
signal.blocking && /* @__PURE__ */ jsxs8("span", { style: { color: SEVERITY_COLOR.high }, children: [
|
|
2472
2645
|
" \u2022 ",
|
|
2473
2646
|
t.blocking
|
|
2474
2647
|
] })
|
|
2475
2648
|
] });
|
|
2476
2649
|
}
|
|
2477
|
-
return /* @__PURE__ */
|
|
2650
|
+
return /* @__PURE__ */ jsx8("span", { children: summary(signal) });
|
|
2478
2651
|
}
|
|
2479
2652
|
function tabSupportsGrouping(kind) {
|
|
2480
2653
|
return kind === "render" || kind === "forced-reflow";
|
|
@@ -2548,7 +2721,7 @@ function groupSignals(signals, mode, kind) {
|
|
|
2548
2721
|
function SignalRow({ signal, expanded, onToggleExpand, onHoverGeometry, resolveFrame }) {
|
|
2549
2722
|
const hasGeometry = signal.kind === "layout-shift" && signal.sources.length > 0;
|
|
2550
2723
|
const sev = severityForSignal(signal);
|
|
2551
|
-
return /* @__PURE__ */
|
|
2724
|
+
return /* @__PURE__ */ jsxs8(
|
|
2552
2725
|
"li",
|
|
2553
2726
|
{
|
|
2554
2727
|
"aria-expanded": expanded,
|
|
@@ -2570,22 +2743,22 @@ function SignalRow({ signal, expanded, onToggleExpand, onHoverGeometry, resolveF
|
|
|
2570
2743
|
userSelect: "none"
|
|
2571
2744
|
},
|
|
2572
2745
|
children: [
|
|
2573
|
-
/* @__PURE__ */
|
|
2574
|
-
/* @__PURE__ */
|
|
2575
|
-
/* @__PURE__ */
|
|
2576
|
-
/* @__PURE__ */
|
|
2746
|
+
/* @__PURE__ */ jsxs8("div", { style: { display: "flex", alignItems: "center", gap: "6px" }, children: [
|
|
2747
|
+
/* @__PURE__ */ jsx8("span", { style: { color: "#888", width: "10px" }, children: expanded ? "\u25BC" : "\u25B6" }),
|
|
2748
|
+
/* @__PURE__ */ jsx8(SeverityDot, { sev }),
|
|
2749
|
+
/* @__PURE__ */ jsx8(SummaryLine, { signal })
|
|
2577
2750
|
] }),
|
|
2578
|
-
expanded && /* @__PURE__ */
|
|
2751
|
+
expanded && /* @__PURE__ */ jsx8("div", { style: { marginTop: "6px", paddingTop: "6px", borderTop: "1px dashed #2a2a2a" }, children: /* @__PURE__ */ jsx8(SignalDetail, { s: signal, resolveFrame }) })
|
|
2579
2752
|
]
|
|
2580
2753
|
}
|
|
2581
2754
|
);
|
|
2582
2755
|
}
|
|
2583
2756
|
function CascadeMembers({ members }) {
|
|
2584
2757
|
const minDepth = members.reduce((m, s) => Math.min(m, s.depth), Infinity);
|
|
2585
|
-
return /* @__PURE__ */
|
|
2758
|
+
return /* @__PURE__ */ jsx8("div", { children: members.map((m, i) => {
|
|
2586
2759
|
const indent = (m.depth - minDepth) * 14;
|
|
2587
2760
|
const isCascade = m.reason === "parent";
|
|
2588
|
-
return /* @__PURE__ */
|
|
2761
|
+
return /* @__PURE__ */ jsxs8(
|
|
2589
2762
|
"div",
|
|
2590
2763
|
{
|
|
2591
2764
|
style: {
|
|
@@ -2596,10 +2769,10 @@ function CascadeMembers({ members }) {
|
|
|
2596
2769
|
gap: "6px"
|
|
2597
2770
|
},
|
|
2598
2771
|
children: [
|
|
2599
|
-
/* @__PURE__ */
|
|
2600
|
-
/* @__PURE__ */
|
|
2601
|
-
/* @__PURE__ */
|
|
2602
|
-
/* @__PURE__ */
|
|
2772
|
+
/* @__PURE__ */ jsx8("span", { style: { color: isCascade ? RENDER_REASON_COLOR.parent : "#555" }, children: m.depth > minDepth ? "\u2514" : "\u2022" }),
|
|
2773
|
+
/* @__PURE__ */ jsx8("strong", { children: m.component }),
|
|
2774
|
+
/* @__PURE__ */ jsx8(RenderReasonTag, { reason: m.reason, changedProps: m.changedProps }),
|
|
2775
|
+
/* @__PURE__ */ jsxs8("span", { style: { color: "#888" }, children: [
|
|
2603
2776
|
m.duration.toFixed(2),
|
|
2604
2777
|
"ms"
|
|
2605
2778
|
] })
|
|
@@ -2613,7 +2786,7 @@ function LanguageToggle() {
|
|
|
2613
2786
|
const { lang, setLang, t } = useI18n();
|
|
2614
2787
|
const langs = ["en", "ko"];
|
|
2615
2788
|
const labels = { en: "EN", ko: "\uD55C" };
|
|
2616
|
-
return /* @__PURE__ */
|
|
2789
|
+
return /* @__PURE__ */ jsx8(
|
|
2617
2790
|
"div",
|
|
2618
2791
|
{
|
|
2619
2792
|
role: "group",
|
|
@@ -2626,7 +2799,7 @@ function LanguageToggle() {
|
|
|
2626
2799
|
},
|
|
2627
2800
|
children: langs.map((l) => {
|
|
2628
2801
|
const active = lang === l;
|
|
2629
|
-
return /* @__PURE__ */
|
|
2802
|
+
return /* @__PURE__ */ jsx8(
|
|
2630
2803
|
"button",
|
|
2631
2804
|
{
|
|
2632
2805
|
type: "button",
|
|
@@ -2720,12 +2893,12 @@ function Panel(props) {
|
|
|
2720
2893
|
flexDirection: "column",
|
|
2721
2894
|
overflow: "hidden"
|
|
2722
2895
|
};
|
|
2723
|
-
return /* @__PURE__ */
|
|
2724
|
-
/* @__PURE__ */
|
|
2725
|
-
/* @__PURE__ */
|
|
2726
|
-
/* @__PURE__ */
|
|
2727
|
-
/* @__PURE__ */
|
|
2728
|
-
/* @__PURE__ */
|
|
2896
|
+
return /* @__PURE__ */ jsxs8("div", { role: "region", "aria-label": t.panelRegion, style: panelStyle, children: [
|
|
2897
|
+
/* @__PURE__ */ jsxs8("header", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", marginBottom: "8px" }, children: [
|
|
2898
|
+
/* @__PURE__ */ jsx8("strong", { children: "react-perfscope" }),
|
|
2899
|
+
/* @__PURE__ */ jsxs8("div", { style: { display: "flex", gap: "4px", alignItems: "center" }, children: [
|
|
2900
|
+
/* @__PURE__ */ jsx8(LanguageToggle, {}),
|
|
2901
|
+
/* @__PURE__ */ jsx8(
|
|
2729
2902
|
"button",
|
|
2730
2903
|
{
|
|
2731
2904
|
type: "button",
|
|
@@ -2744,7 +2917,7 @@ function Panel(props) {
|
|
|
2744
2917
|
children: t.save
|
|
2745
2918
|
}
|
|
2746
2919
|
),
|
|
2747
|
-
/* @__PURE__ */
|
|
2920
|
+
/* @__PURE__ */ jsx8(
|
|
2748
2921
|
"button",
|
|
2749
2922
|
{
|
|
2750
2923
|
type: "button",
|
|
@@ -2756,9 +2929,9 @@ function Panel(props) {
|
|
|
2756
2929
|
)
|
|
2757
2930
|
] })
|
|
2758
2931
|
] }),
|
|
2759
|
-
kindsPresent.length === 0 && /* @__PURE__ */
|
|
2760
|
-
kindsPresent.length > 0 && /* @__PURE__ */
|
|
2761
|
-
/* @__PURE__ */
|
|
2932
|
+
kindsPresent.length === 0 && /* @__PURE__ */ jsx8("div", { style: { color: "#888" }, children: t.noSignals }),
|
|
2933
|
+
kindsPresent.length > 0 && /* @__PURE__ */ jsxs8(Fragment3, { children: [
|
|
2934
|
+
/* @__PURE__ */ jsx8(
|
|
2762
2935
|
SummaryHeader,
|
|
2763
2936
|
{
|
|
2764
2937
|
signals: result.signals,
|
|
@@ -2770,8 +2943,8 @@ function Panel(props) {
|
|
|
2770
2943
|
}
|
|
2771
2944
|
}
|
|
2772
2945
|
),
|
|
2773
|
-
/* @__PURE__ */
|
|
2774
|
-
hasTimelineSignals && /* @__PURE__ */
|
|
2946
|
+
/* @__PURE__ */ jsxs8("nav", { style: { display: "flex", gap: "4px", flexWrap: "wrap", marginBottom: "8px" }, children: [
|
|
2947
|
+
hasTimelineSignals && /* @__PURE__ */ jsx8(
|
|
2775
2948
|
"button",
|
|
2776
2949
|
{
|
|
2777
2950
|
type: "button",
|
|
@@ -2796,7 +2969,7 @@ function Panel(props) {
|
|
|
2796
2969
|
kindsPresent.map((kind) => {
|
|
2797
2970
|
const worst = worstSeverity(grouped[kind]);
|
|
2798
2971
|
const active = activeKind === kind;
|
|
2799
|
-
return /* @__PURE__ */
|
|
2972
|
+
return /* @__PURE__ */ jsxs8(
|
|
2800
2973
|
"button",
|
|
2801
2974
|
{
|
|
2802
2975
|
type: "button",
|
|
@@ -2819,7 +2992,7 @@ function Panel(props) {
|
|
|
2819
2992
|
gap: "6px"
|
|
2820
2993
|
},
|
|
2821
2994
|
children: [
|
|
2822
|
-
worst !== "low" && /* @__PURE__ */
|
|
2995
|
+
worst !== "low" && /* @__PURE__ */ jsx8(SeverityDot, { sev: worst, title: t.worstLabel(worst) }),
|
|
2823
2996
|
t.kindLabel(kind),
|
|
2824
2997
|
" ",
|
|
2825
2998
|
grouped[kind].length
|
|
@@ -2829,10 +3002,10 @@ function Panel(props) {
|
|
|
2829
3002
|
);
|
|
2830
3003
|
})
|
|
2831
3004
|
] }),
|
|
2832
|
-
activeKind && activeTab !== "timeline" && /* @__PURE__ */
|
|
2833
|
-
/* @__PURE__ */
|
|
3005
|
+
activeKind && activeTab !== "timeline" && /* @__PURE__ */ jsxs8("div", { style: { display: "flex", alignItems: "center", gap: "12px", marginBottom: "6px", fontSize: "11px", color: "#888", flexWrap: "wrap" }, children: [
|
|
3006
|
+
/* @__PURE__ */ jsxs8("label", { style: { display: "flex", alignItems: "center", gap: "6px" }, children: [
|
|
2834
3007
|
t.sort,
|
|
2835
|
-
/* @__PURE__ */
|
|
3008
|
+
/* @__PURE__ */ jsxs8(
|
|
2836
3009
|
"select",
|
|
2837
3010
|
{
|
|
2838
3011
|
"aria-label": t.sort,
|
|
@@ -2844,15 +3017,15 @@ function Panel(props) {
|
|
|
2844
3017
|
},
|
|
2845
3018
|
style: { background: "#1a1a1a", color: "#e6e6e6", border: "1px solid #2a2a2a", borderRadius: "4px", padding: "2px 6px", fontSize: "11px" },
|
|
2846
3019
|
children: [
|
|
2847
|
-
/* @__PURE__ */
|
|
2848
|
-
/* @__PURE__ */
|
|
3020
|
+
/* @__PURE__ */ jsx8("option", { value: "chronological", children: t.sortChronological }),
|
|
3021
|
+
/* @__PURE__ */ jsx8("option", { value: "severity", children: t.sortSeverity })
|
|
2849
3022
|
]
|
|
2850
3023
|
}
|
|
2851
3024
|
)
|
|
2852
3025
|
] }),
|
|
2853
|
-
tabSupportsGrouping(activeKind) && /* @__PURE__ */
|
|
3026
|
+
tabSupportsGrouping(activeKind) && /* @__PURE__ */ jsxs8("label", { style: { display: "flex", alignItems: "center", gap: "6px" }, children: [
|
|
2854
3027
|
t.groupBy,
|
|
2855
|
-
/* @__PURE__ */
|
|
3028
|
+
/* @__PURE__ */ jsxs8(
|
|
2856
3029
|
"select",
|
|
2857
3030
|
{
|
|
2858
3031
|
"aria-label": t.groupBy,
|
|
@@ -2864,15 +3037,15 @@ function Panel(props) {
|
|
|
2864
3037
|
},
|
|
2865
3038
|
style: { background: "#1a1a1a", color: "#e6e6e6", border: "1px solid #2a2a2a", borderRadius: "4px", padding: "2px 6px", fontSize: "11px" },
|
|
2866
3039
|
children: [
|
|
2867
|
-
/* @__PURE__ */
|
|
2868
|
-
activeKind === "render" && /* @__PURE__ */
|
|
2869
|
-
activeKind === "render" && /* @__PURE__ */
|
|
2870
|
-
activeKind === "forced-reflow" && /* @__PURE__ */
|
|
3040
|
+
/* @__PURE__ */ jsx8("option", { value: "chronological", children: t.groupChronological }),
|
|
3041
|
+
activeKind === "render" && /* @__PURE__ */ jsx8("option", { value: "commit", children: t.groupCommit }),
|
|
3042
|
+
activeKind === "render" && /* @__PURE__ */ jsx8("option", { value: "component", children: t.groupComponent }),
|
|
3043
|
+
activeKind === "forced-reflow" && /* @__PURE__ */ jsx8("option", { value: "source", children: t.groupSource })
|
|
2871
3044
|
]
|
|
2872
3045
|
}
|
|
2873
3046
|
)
|
|
2874
3047
|
] }),
|
|
2875
|
-
/* @__PURE__ */
|
|
3048
|
+
/* @__PURE__ */ jsx8(
|
|
2876
3049
|
"input",
|
|
2877
3050
|
{
|
|
2878
3051
|
type: "text",
|
|
@@ -2887,7 +3060,7 @@ function Panel(props) {
|
|
|
2887
3060
|
}
|
|
2888
3061
|
)
|
|
2889
3062
|
] }),
|
|
2890
|
-
activeTab === "timeline" && /* @__PURE__ */
|
|
3063
|
+
activeTab === "timeline" && /* @__PURE__ */ jsx8("div", { style: { flexGrow: 1, overflowY: "auto", paddingTop: "4px", paddingBottom: "24px" }, children: /* @__PURE__ */ jsx8(
|
|
2891
3064
|
Timeline,
|
|
2892
3065
|
{
|
|
2893
3066
|
signals: result.signals,
|
|
@@ -2903,7 +3076,7 @@ function Panel(props) {
|
|
|
2903
3076
|
}
|
|
2904
3077
|
}
|
|
2905
3078
|
) }),
|
|
2906
|
-
activeKind === "render" && activeTab !== "timeline" && /* @__PURE__ */
|
|
3079
|
+
activeKind === "render" && activeTab !== "timeline" && /* @__PURE__ */ jsx8(
|
|
2907
3080
|
RenderInsights,
|
|
2908
3081
|
{
|
|
2909
3082
|
signals: grouped.render.flatMap((s) => s.kind === "render" ? s.members ?? [s] : []).filter((s) => signalMatchesFilter(s, filterText.render ?? "")),
|
|
@@ -2913,7 +3086,8 @@ function Panel(props) {
|
|
|
2913
3086
|
}
|
|
2914
3087
|
}
|
|
2915
3088
|
),
|
|
2916
|
-
activeKind === "
|
|
3089
|
+
activeKind === "long-task" && activeTab !== "timeline" && /* @__PURE__ */ jsx8(LongTaskEpisode, { signals: result.signals }),
|
|
3090
|
+
activeKind === "layout-shift" && activeTab !== "timeline" && /* @__PURE__ */ jsx8(
|
|
2917
3091
|
"div",
|
|
2918
3092
|
{
|
|
2919
3093
|
style: {
|
|
@@ -2925,10 +3099,28 @@ function Panel(props) {
|
|
|
2925
3099
|
border: "1px solid #1f1f1f",
|
|
2926
3100
|
borderRadius: "6px"
|
|
2927
3101
|
},
|
|
2928
|
-
children: t.
|
|
3102
|
+
children: t.layoutShiftHint
|
|
2929
3103
|
}
|
|
2930
3104
|
),
|
|
2931
|
-
|
|
3105
|
+
activeKind === "interaction" && activeTab !== "timeline" && /* @__PURE__ */ jsxs8(Fragment3, { children: [
|
|
3106
|
+
/* @__PURE__ */ jsx8(InpEpisode, { signals: result.signals }),
|
|
3107
|
+
/* @__PURE__ */ jsx8(
|
|
3108
|
+
"div",
|
|
3109
|
+
{
|
|
3110
|
+
style: {
|
|
3111
|
+
padding: "6px 8px",
|
|
3112
|
+
marginBottom: "6px",
|
|
3113
|
+
fontSize: "11px",
|
|
3114
|
+
color: "#888",
|
|
3115
|
+
background: "#141414",
|
|
3116
|
+
border: "1px solid #1f1f1f",
|
|
3117
|
+
borderRadius: "6px"
|
|
3118
|
+
},
|
|
3119
|
+
children: t.interactionThresholdHint
|
|
3120
|
+
}
|
|
3121
|
+
)
|
|
3122
|
+
] }),
|
|
3123
|
+
/* @__PURE__ */ jsx8("ul", { style: { listStyle: "none", margin: 0, padding: 0, overflowY: "auto", flexGrow: 1, display: activeTab === "timeline" ? "none" : void 0 }, children: activeKind && (() => {
|
|
2932
3124
|
const filtered = grouped[activeKind].filter(
|
|
2933
3125
|
(s) => signalMatchesFilter(s, filterText[activeKind] ?? "")
|
|
2934
3126
|
);
|
|
@@ -2938,7 +3130,7 @@ function Panel(props) {
|
|
|
2938
3130
|
const currentMode = groupMode[activeKind] ?? "chronological";
|
|
2939
3131
|
if (currentMode === "chronological") {
|
|
2940
3132
|
const key2 = `${activeKind}-${gi}`;
|
|
2941
|
-
return /* @__PURE__ */
|
|
3133
|
+
return /* @__PURE__ */ jsx8(
|
|
2942
3134
|
SignalRow,
|
|
2943
3135
|
{
|
|
2944
3136
|
signal: g.signals[0],
|
|
@@ -2955,7 +3147,7 @@ function Panel(props) {
|
|
|
2955
3147
|
const isCascade = activeKind === "render" && currentMode === "commit";
|
|
2956
3148
|
const renderMembers = g.signals.filter((s) => s.kind === "render");
|
|
2957
3149
|
const unnecessary = isCascade ? renderMembers.filter((s) => s.reason === "parent").length : 0;
|
|
2958
|
-
return /* @__PURE__ */
|
|
3150
|
+
return /* @__PURE__ */ jsxs8(
|
|
2959
3151
|
"li",
|
|
2960
3152
|
{
|
|
2961
3153
|
"aria-expanded": isOpen,
|
|
@@ -2970,34 +3162,34 @@ function Panel(props) {
|
|
|
2970
3162
|
userSelect: "none"
|
|
2971
3163
|
},
|
|
2972
3164
|
children: [
|
|
2973
|
-
/* @__PURE__ */
|
|
2974
|
-
/* @__PURE__ */
|
|
2975
|
-
/* @__PURE__ */
|
|
2976
|
-
/* @__PURE__ */
|
|
3165
|
+
/* @__PURE__ */ jsxs8("div", { style: { display: "flex", alignItems: "center", gap: "6px", flexWrap: "wrap" }, children: [
|
|
3166
|
+
/* @__PURE__ */ jsx8("span", { style: { color: "#888", width: "10px" }, children: isOpen ? "\u25BC" : "\u25B6" }),
|
|
3167
|
+
/* @__PURE__ */ jsxs8("span", { children: [
|
|
3168
|
+
/* @__PURE__ */ jsx8("strong", { children: g.label }),
|
|
2977
3169
|
" \xD7",
|
|
2978
3170
|
g.count
|
|
2979
3171
|
] }),
|
|
2980
|
-
isCascade && unnecessary > 0 && /* @__PURE__ */
|
|
3172
|
+
isCascade && unnecessary > 0 && /* @__PURE__ */ jsxs8("span", { style: { color: RENDER_REASON_COLOR.parent, fontSize: "10px" }, children: [
|
|
2981
3173
|
"\u26A0 ",
|
|
2982
3174
|
t.unnecessaryRenders(unnecessary)
|
|
2983
3175
|
] })
|
|
2984
3176
|
] }),
|
|
2985
|
-
isOpen && /* @__PURE__ */
|
|
2986
|
-
g.signals.slice(0, 20).map((s, si) => /* @__PURE__ */
|
|
2987
|
-
g.signals.length > 20 && /* @__PURE__ */
|
|
3177
|
+
isOpen && /* @__PURE__ */ jsx8("div", { style: { marginTop: "6px", paddingTop: "6px", borderTop: "1px dashed #2a2a2a", paddingLeft: "8px" }, children: isCascade ? /* @__PURE__ */ jsx8(CascadeMembers, { members: renderMembers }) : /* @__PURE__ */ jsxs8(Fragment3, { children: [
|
|
3178
|
+
g.signals.slice(0, 20).map((s, si) => /* @__PURE__ */ jsx8("div", { style: { padding: "2px 0" }, children: /* @__PURE__ */ jsx8(SummaryLine, { signal: s }) }, si)),
|
|
3179
|
+
g.signals.length > 20 && /* @__PURE__ */ jsx8("div", { style: { color: "#888", marginTop: "4px" }, children: t.moreItems(g.signals.length - 20) })
|
|
2988
3180
|
] }) })
|
|
2989
3181
|
]
|
|
2990
3182
|
},
|
|
2991
3183
|
key
|
|
2992
3184
|
);
|
|
2993
3185
|
}) }),
|
|
2994
|
-
activeKind && activeTab !== "timeline" && (filterText[activeKind] ?? "").trim() !== "" && grouped[activeKind].length > 0 && grouped[activeKind].every((s) => !signalMatchesFilter(s, filterText[activeKind] ?? "")) && /* @__PURE__ */
|
|
3186
|
+
activeKind && activeTab !== "timeline" && (filterText[activeKind] ?? "").trim() !== "" && grouped[activeKind].length > 0 && grouped[activeKind].every((s) => !signalMatchesFilter(s, filterText[activeKind] ?? "")) && /* @__PURE__ */ jsx8("div", { style: { padding: "12px 8px", fontSize: "11px", color: "#888" }, children: t.filterNoMatches })
|
|
2995
3187
|
] })
|
|
2996
3188
|
] });
|
|
2997
3189
|
}
|
|
2998
3190
|
|
|
2999
3191
|
// src/app.tsx
|
|
3000
|
-
import { jsx as
|
|
3192
|
+
import { jsx as jsx9, jsxs as jsxs9 } from "preact/jsx-runtime";
|
|
3001
3193
|
function App(props) {
|
|
3002
3194
|
const { recorder, position = "bottom-right", resolveFrame, finalize } = props;
|
|
3003
3195
|
const [recording, setRecording] = useState4(false);
|
|
@@ -3043,8 +3235,8 @@ function App(props) {
|
|
|
3043
3235
|
function onClose() {
|
|
3044
3236
|
setResult(null);
|
|
3045
3237
|
}
|
|
3046
|
-
return /* @__PURE__ */
|
|
3047
|
-
result === null && /* @__PURE__ */
|
|
3238
|
+
return /* @__PURE__ */ jsxs9(I18nProvider, { children: [
|
|
3239
|
+
result === null && /* @__PURE__ */ jsx9(
|
|
3048
3240
|
Widget,
|
|
3049
3241
|
{
|
|
3050
3242
|
recording,
|
|
@@ -3053,16 +3245,16 @@ function App(props) {
|
|
|
3053
3245
|
position
|
|
3054
3246
|
}
|
|
3055
3247
|
),
|
|
3056
|
-
result !== null && /* @__PURE__ */
|
|
3248
|
+
result !== null && /* @__PURE__ */ jsx9(Panel, { result, position, onClose, resolveFrame })
|
|
3057
3249
|
] });
|
|
3058
3250
|
}
|
|
3059
3251
|
|
|
3060
3252
|
// src/mount.tsx
|
|
3061
|
-
import { jsx as
|
|
3253
|
+
import { jsx as jsx10 } from "preact/jsx-runtime";
|
|
3062
3254
|
function mount(opts) {
|
|
3063
3255
|
const { recorder, position = "bottom-right", host = document.body, resolveFrame, finalize } = opts;
|
|
3064
3256
|
return mountShadow(
|
|
3065
|
-
/* @__PURE__ */
|
|
3257
|
+
/* @__PURE__ */ jsx10(App, { recorder, position, resolveFrame, finalize }),
|
|
3066
3258
|
{ parent: host }
|
|
3067
3259
|
);
|
|
3068
3260
|
}
|