@mt-gloss/ui 0.1.113 → 0.1.115
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/COMMITS-CeuMPpjt.js +812 -0
- package/composites-panels.js +718 -554
- package/index.js +1759 -2027
- package/lib/composites/panels/coordinator/settingsBufferSchemas.d.ts +7 -2
- package/lib/composites/panels/shells/PageMgmtShell.d.ts +21 -1
- package/lib/composites/panels/shells/SettingsShell.d.ts +4 -0
- package/lib/composites/panels/shells/internals/PageMgmtFooter.d.ts +4 -0
- package/lib/composites/panels/shells/internals/PageMgmtRow.d.ts +4 -2
- package/lib/composites/panels/shells/settings/ColorControls.d.ts +5 -1
- package/lib/composites/panels/shells/settings/ThresholdControls.d.ts +5 -1
- package/package.json +1 -1
- package/ui.css +1 -1
- package/COMMITS-DG0Q_9DU.js +0 -538
package/composites-panels.js
CHANGED
|
@@ -1,29 +1,51 @@
|
|
|
1
|
-
import { u as
|
|
2
|
-
import { C as
|
|
3
|
-
import { jsx as
|
|
4
|
-
import
|
|
5
|
-
import { useSensors as
|
|
6
|
-
import { sortableKeyboardCoordinates as
|
|
7
|
-
import { CSS as
|
|
8
|
-
import { M as
|
|
9
|
-
function
|
|
10
|
-
const e =
|
|
1
|
+
import { u as F, h as pe, g as Ne, S as Se, b as we, j as I, d as M } from "./COMMITS-CeuMPpjt.js";
|
|
2
|
+
import { C as It, c as Mt, P as $t, f as Rt, i as Ft, r as Ut, e as zt } from "./COMMITS-CeuMPpjt.js";
|
|
3
|
+
import { jsx as a, jsxs as h, Fragment as me } from "react/jsx-runtime";
|
|
4
|
+
import se, { useState as E, useRef as U, createContext as he, useContext as fe, useMemo as re, useEffect as L, useCallback as x, useLayoutEffect as Ee } from "react";
|
|
5
|
+
import { useSensors as Pe, useSensor as le, PointerSensor as xe, KeyboardSensor as Ae, DndContext as ke, closestCenter as De } from "@dnd-kit/core";
|
|
6
|
+
import { sortableKeyboardCoordinates as Oe, SortableContext as Le, horizontalListSortingStrategy as Ie, arrayMove as Me, useSortable as $e } from "@dnd-kit/sortable";
|
|
7
|
+
import { CSS as Re } from "@dnd-kit/utilities";
|
|
8
|
+
import { M as oe } from "./MetricCard-Cyoxhb_S.js";
|
|
9
|
+
function Nt() {
|
|
10
|
+
const e = F();
|
|
11
11
|
if (e?.state.activePanelId !== "settings") return null;
|
|
12
12
|
const t = e.state.activeTrigger;
|
|
13
13
|
return t?.kind === "card-overflow" ? t.cardId : null;
|
|
14
14
|
}
|
|
15
|
-
function
|
|
16
|
-
return /* @__PURE__ */
|
|
15
|
+
function Fe({ children: e }) {
|
|
16
|
+
return /* @__PURE__ */ a("div", { className: "clone-stage", children: e });
|
|
17
17
|
}
|
|
18
|
-
function
|
|
19
|
-
const i = ["clone-card", `span-${e}`, t ? "rotating" : ""].filter(Boolean).join(" "), n =
|
|
20
|
-
return /* @__PURE__ */
|
|
18
|
+
function Ue({ span: e, rotating: t = !0, children: r }) {
|
|
19
|
+
const i = ["clone-card", `span-${e}`, t ? "rotating" : ""].filter(Boolean).join(" "), n = r != null ? "full" : "fallback";
|
|
20
|
+
return /* @__PURE__ */ a("div", { className: i, "data-clone-fidelity": n, children: r });
|
|
21
21
|
}
|
|
22
|
-
function
|
|
22
|
+
function ze({
|
|
23
|
+
value: e,
|
|
24
|
+
onChange: t,
|
|
25
|
+
enabled: r = !1,
|
|
26
|
+
onToggleEnabled: i
|
|
27
|
+
}) {
|
|
28
|
+
const n = "settings-threshold-enabled";
|
|
23
29
|
return /* @__PURE__ */ h("div", { className: "settings-shell__field settings-shell__field--threshold", children: [
|
|
24
|
-
/* @__PURE__ */
|
|
25
|
-
|
|
26
|
-
/* @__PURE__ */
|
|
30
|
+
/* @__PURE__ */ h("div", { className: "settings-shell__toggle-row", children: [
|
|
31
|
+
/* @__PURE__ */ a("label", { htmlFor: n, className: "settings-shell__toggle-label", children: "Show threshold indicator" }),
|
|
32
|
+
/* @__PURE__ */ a(
|
|
33
|
+
"input",
|
|
34
|
+
{
|
|
35
|
+
id: n,
|
|
36
|
+
type: "checkbox",
|
|
37
|
+
role: "switch",
|
|
38
|
+
"aria-label": "Enable threshold indicator",
|
|
39
|
+
"aria-checked": r,
|
|
40
|
+
checked: r,
|
|
41
|
+
onChange: (o) => i?.(o.target.checked),
|
|
42
|
+
className: "settings-shell__toggle"
|
|
43
|
+
}
|
|
44
|
+
)
|
|
45
|
+
] }),
|
|
46
|
+
/* @__PURE__ */ a("span", { className: "settings-shell__label", "aria-hidden": "true", children: "Alert level (%)" }),
|
|
47
|
+
/* @__PURE__ */ h("div", { className: "settings-shell__slider-row", "aria-disabled": !r, children: [
|
|
48
|
+
/* @__PURE__ */ a(
|
|
27
49
|
"input",
|
|
28
50
|
{
|
|
29
51
|
id: "settings-threshold-input",
|
|
@@ -36,6 +58,7 @@ function De({ value: e, onChange: t }) {
|
|
|
36
58
|
"aria-valuenow": e,
|
|
37
59
|
"aria-valuemin": 0,
|
|
38
60
|
"aria-valuemax": 100,
|
|
61
|
+
disabled: !r,
|
|
39
62
|
className: "settings-shell__slider"
|
|
40
63
|
}
|
|
41
64
|
),
|
|
@@ -43,14 +66,15 @@ function De({ value: e, onChange: t }) {
|
|
|
43
66
|
e,
|
|
44
67
|
"%"
|
|
45
68
|
] })
|
|
46
|
-
] })
|
|
69
|
+
] }),
|
|
70
|
+
!r && /* @__PURE__ */ a("p", { className: "settings-shell__help", "aria-live": "polite", children: "Off — the card uses its default styling. Turn on to tint values below the threshold." })
|
|
47
71
|
] });
|
|
48
72
|
}
|
|
49
|
-
function
|
|
73
|
+
function Ve({ value: e, onChange: t }) {
|
|
50
74
|
return /* @__PURE__ */ h("div", { className: "settings-shell__field settings-shell__field--timeframe", children: [
|
|
51
|
-
/* @__PURE__ */
|
|
75
|
+
/* @__PURE__ */ a("span", { className: "settings-shell__label", "aria-hidden": "true", children: "Rolling period (days)" }),
|
|
52
76
|
/* @__PURE__ */ h("div", { className: "settings-shell__slider-row", children: [
|
|
53
|
-
/* @__PURE__ */
|
|
77
|
+
/* @__PURE__ */ a(
|
|
54
78
|
"input",
|
|
55
79
|
{
|
|
56
80
|
id: "settings-timeframe-input",
|
|
@@ -73,32 +97,32 @@ function Oe({ value: e, onChange: t }) {
|
|
|
73
97
|
] })
|
|
74
98
|
] });
|
|
75
99
|
}
|
|
76
|
-
function
|
|
77
|
-
const { attributes:
|
|
78
|
-
transform:
|
|
100
|
+
function He({ id: e, onRemove: t }) {
|
|
101
|
+
const { attributes: r, listeners: i, setNodeRef: n, transform: o, transition: u, isDragging: s } = $e({ id: e }), l = {
|
|
102
|
+
transform: Re.Transform.toString(o),
|
|
79
103
|
transition: u,
|
|
80
|
-
opacity:
|
|
104
|
+
opacity: s ? 0.6 : 1
|
|
81
105
|
};
|
|
82
106
|
return /* @__PURE__ */ h(
|
|
83
107
|
"li",
|
|
84
108
|
{
|
|
85
109
|
ref: n,
|
|
86
|
-
style:
|
|
87
|
-
className: `settings-shell__slot-pill${
|
|
110
|
+
style: l,
|
|
111
|
+
className: `settings-shell__slot-pill${s ? " settings-shell__slot-pill--dragging" : ""}`,
|
|
88
112
|
children: [
|
|
89
|
-
/* @__PURE__ */
|
|
113
|
+
/* @__PURE__ */ a(
|
|
90
114
|
"button",
|
|
91
115
|
{
|
|
92
116
|
type: "button",
|
|
93
117
|
className: "settings-shell__slot-pill__handle",
|
|
94
118
|
"aria-label": `Reorder ${e}`,
|
|
95
|
-
...
|
|
119
|
+
...r,
|
|
96
120
|
...i,
|
|
97
|
-
children: /* @__PURE__ */
|
|
121
|
+
children: /* @__PURE__ */ a("span", { "aria-hidden": "true", className: "settings-shell__slot-pill__grip", children: "⋮⋮" })
|
|
98
122
|
}
|
|
99
123
|
),
|
|
100
|
-
/* @__PURE__ */
|
|
101
|
-
/* @__PURE__ */
|
|
124
|
+
/* @__PURE__ */ a("span", { className: "settings-shell__slot-pill__label", children: e }),
|
|
125
|
+
/* @__PURE__ */ a(
|
|
102
126
|
"button",
|
|
103
127
|
{
|
|
104
128
|
type: "button",
|
|
@@ -112,82 +136,110 @@ function Le({ id: e, onRemove: t }) {
|
|
|
112
136
|
}
|
|
113
137
|
);
|
|
114
138
|
}
|
|
115
|
-
function
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
), i = (
|
|
120
|
-
const { active: u, over:
|
|
121
|
-
if (!
|
|
122
|
-
const
|
|
123
|
-
|
|
124
|
-
}, n = (
|
|
125
|
-
t(e.filter((u) => u !==
|
|
139
|
+
function Ke({ value: e, onChange: t }) {
|
|
140
|
+
const r = Pe(
|
|
141
|
+
le(xe, { activationConstraint: { distance: 4 } }),
|
|
142
|
+
le(Ae, { coordinateGetter: Oe })
|
|
143
|
+
), i = (o) => {
|
|
144
|
+
const { active: u, over: s } = o;
|
|
145
|
+
if (!s || u.id === s.id) return;
|
|
146
|
+
const l = e.findIndex((d) => d === u.id), c = e.findIndex((d) => d === s.id);
|
|
147
|
+
l === -1 || c === -1 || t(Me([...e], l, c));
|
|
148
|
+
}, n = (o) => {
|
|
149
|
+
t(e.filter((u) => u !== o));
|
|
126
150
|
};
|
|
127
151
|
return /* @__PURE__ */ h("div", { className: "settings-shell__field settings-shell__field--slots", "aria-label": "Stack slots", children: [
|
|
128
|
-
/* @__PURE__ */
|
|
129
|
-
/* @__PURE__ */
|
|
130
|
-
e.length === 0 && /* @__PURE__ */
|
|
131
|
-
/* @__PURE__ */
|
|
152
|
+
/* @__PURE__ */ a("span", { className: "settings-shell__label", children: "Stack slots" }),
|
|
153
|
+
/* @__PURE__ */ a(ke, { sensors: r, collisionDetection: De, onDragEnd: i, children: /* @__PURE__ */ a(Le, { items: [...e], strategy: Ie, children: /* @__PURE__ */ a("ul", { className: "settings-shell__slots-list", role: "list", children: e.map((o) => /* @__PURE__ */ a(He, { id: o, onRemove: () => n(o) }, o)) }) }) }),
|
|
154
|
+
e.length === 0 && /* @__PURE__ */ a("p", { className: "settings-shell__help", children: "All slots removed. Apply to commit, or Reset to restore." }),
|
|
155
|
+
/* @__PURE__ */ a("p", { className: "settings-shell__help settings-shell__help--small", children: "Drag to reorder · click × to remove" })
|
|
132
156
|
] });
|
|
133
157
|
}
|
|
134
|
-
const
|
|
135
|
-
function
|
|
158
|
+
const Ye = ["#1d6fd8", "#10b981", "#f59e0b", "#ef4444", "#8b5cf6"];
|
|
159
|
+
function Be({
|
|
160
|
+
value: e,
|
|
161
|
+
onSelect: t,
|
|
162
|
+
enabled: r = !1,
|
|
163
|
+
onToggleEnabled: i
|
|
164
|
+
}) {
|
|
165
|
+
const n = "settings-accent-enabled";
|
|
136
166
|
return /* @__PURE__ */ h("div", { className: "settings-shell__field settings-shell__field--color", role: "group", "aria-label": "Accent color", children: [
|
|
137
|
-
/* @__PURE__ */
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
167
|
+
/* @__PURE__ */ h("div", { className: "settings-shell__toggle-row", children: [
|
|
168
|
+
/* @__PURE__ */ a("label", { htmlFor: n, className: "settings-shell__toggle-label", children: "Override default accent" }),
|
|
169
|
+
/* @__PURE__ */ a(
|
|
170
|
+
"input",
|
|
171
|
+
{
|
|
172
|
+
id: n,
|
|
173
|
+
type: "checkbox",
|
|
174
|
+
role: "switch",
|
|
175
|
+
"aria-label": "Enable accent override",
|
|
176
|
+
"aria-checked": r,
|
|
177
|
+
checked: r,
|
|
178
|
+
onChange: (o) => i?.(o.target.checked),
|
|
179
|
+
className: "settings-shell__toggle"
|
|
180
|
+
}
|
|
181
|
+
)
|
|
182
|
+
] }),
|
|
183
|
+
/* @__PURE__ */ a("span", { className: "settings-shell__label", children: "Accent color" }),
|
|
184
|
+
/* @__PURE__ */ a("div", { className: "settings-shell__swatch-row", "aria-disabled": !r, children: Ye.map((o) => {
|
|
185
|
+
const u = e === o;
|
|
186
|
+
return /* @__PURE__ */ a(
|
|
141
187
|
"button",
|
|
142
188
|
{
|
|
143
189
|
type: "button",
|
|
144
|
-
"aria-pressed":
|
|
145
|
-
"aria-label": `Accent ${
|
|
146
|
-
className: `settings-shell__swatch${
|
|
147
|
-
style: { backgroundColor:
|
|
148
|
-
|
|
190
|
+
"aria-pressed": u,
|
|
191
|
+
"aria-label": `Accent ${o}`,
|
|
192
|
+
className: `settings-shell__swatch${u ? " settings-shell__swatch--active" : ""}`,
|
|
193
|
+
style: { backgroundColor: o },
|
|
194
|
+
disabled: !r,
|
|
195
|
+
onClick: () => t(o)
|
|
149
196
|
},
|
|
150
|
-
|
|
197
|
+
o
|
|
151
198
|
);
|
|
152
|
-
}) })
|
|
199
|
+
}) }),
|
|
200
|
+
!r && /* @__PURE__ */ a("p", { className: "settings-shell__help", "aria-live": "polite", children: "Off — the card uses its default accent. Turn on to override." })
|
|
153
201
|
] });
|
|
154
202
|
}
|
|
155
|
-
const
|
|
156
|
-
function
|
|
203
|
+
const We = ["Orders", "Quota", "Unassigned"], Ge = ["threshold", "timeframe", "color"];
|
|
204
|
+
function St({
|
|
157
205
|
isOpen: e,
|
|
158
206
|
cardSpan: t,
|
|
159
|
-
cardLabel:
|
|
207
|
+
cardLabel: r = "Metric",
|
|
160
208
|
cardValue: i = "—",
|
|
161
209
|
previewSlot: n,
|
|
162
|
-
dimensions:
|
|
210
|
+
dimensions: o = Ge,
|
|
163
211
|
initialTab: u,
|
|
164
|
-
initialValues:
|
|
212
|
+
initialValues: s
|
|
165
213
|
}) {
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
}, [
|
|
170
|
-
const
|
|
171
|
-
d == null ||
|
|
172
|
-
},
|
|
173
|
-
d == null ||
|
|
174
|
-
},
|
|
175
|
-
d == null ||
|
|
176
|
-
},
|
|
177
|
-
d == null ||
|
|
214
|
+
const l = F(), c = l?.state.activeTrigger, d = c?.kind === "card-overflow" ? c.cardId : null, m = pe(), f = c?.span, v = t ?? f ?? 1, p = o[0] ?? "threshold", [b, w] = se.useState(u ?? p);
|
|
215
|
+
se.useEffect(() => {
|
|
216
|
+
o.includes(b) || w(p);
|
|
217
|
+
}, [o, b, p]);
|
|
218
|
+
const T = d != null ? l?.state?.bufferByCard?.[d]?.changes ?? {} : {}, y = typeof T.threshold == "number" ? T.threshold : typeof s?.threshold == "number" ? s.threshold : 80, A = typeof T.timeframe == "number" ? T.timeframe : typeof s?.timeframe == "number" ? s.timeframe : 30, z = typeof T.accent == "string" ? T.accent : typeof s?.accent == "string" ? s.accent : null, V = Array.isArray(T.slots) ? T.slots : Array.isArray(s?.slots) ? s.slots : We, D = typeof T.thresholdEnabled == "boolean" ? T.thresholdEnabled : typeof s?.thresholdEnabled == "boolean" ? s.thresholdEnabled : !1, H = typeof T.accentEnabled == "boolean" ? T.accentEnabled : typeof s?.accentEnabled == "boolean" ? s.accentEnabled : !1, K = (C) => {
|
|
219
|
+
d == null || l == null || l.dispatch({ type: "SET_BUFFER_VALUE", cardId: d, key: "threshold", value: Number(C.target.value) });
|
|
220
|
+
}, Y = (C) => {
|
|
221
|
+
d == null || l == null || l.dispatch({ type: "SET_BUFFER_VALUE", cardId: d, key: "timeframe", value: Number(C.target.value) });
|
|
222
|
+
}, ae = (C) => {
|
|
223
|
+
d == null || l == null || l.dispatch({ type: "SET_BUFFER_VALUE", cardId: d, key: "accent", value: C });
|
|
224
|
+
}, B = (C) => {
|
|
225
|
+
d == null || l == null || l.dispatch({ type: "SET_BUFFER_VALUE", cardId: d, key: "slots", value: C });
|
|
226
|
+
}, g = (C) => {
|
|
227
|
+
d == null || l == null || l.dispatch({ type: "SET_BUFFER_VALUE", cardId: d, key: "thresholdEnabled", value: C });
|
|
228
|
+
}, N = (C) => {
|
|
229
|
+
d == null || l == null || l.dispatch({ type: "SET_BUFFER_VALUE", cardId: d, key: "accentEnabled", value: C });
|
|
178
230
|
};
|
|
179
231
|
return /* @__PURE__ */ h("div", { className: "settings-shell", "data-shell": "settings", "aria-hidden": !e, children: [
|
|
180
|
-
/* @__PURE__ */
|
|
181
|
-
/* @__PURE__ */
|
|
182
|
-
/* @__PURE__ */
|
|
232
|
+
/* @__PURE__ */ a("div", { "aria-hidden": "true", children: /* @__PURE__ */ a(Fe, { children: /* @__PURE__ */ a(Ue, { span: v, rotating: !m, children: n ?? /* @__PURE__ */ h(me, { children: [
|
|
233
|
+
/* @__PURE__ */ a("div", { style: { fontSize: 9, textTransform: "uppercase", letterSpacing: "0.06em", color: "#9ca3af", marginBottom: 6 }, children: r }),
|
|
234
|
+
/* @__PURE__ */ a("div", { style: { fontSize: 22, fontWeight: 700, color: "#111827", lineHeight: 1 }, children: i })
|
|
183
235
|
] }) }) }) }),
|
|
184
|
-
/* @__PURE__ */
|
|
185
|
-
|
|
236
|
+
/* @__PURE__ */ a(
|
|
237
|
+
Ne,
|
|
186
238
|
{
|
|
187
|
-
dimensions:
|
|
239
|
+
dimensions: o,
|
|
188
240
|
activeTab: b,
|
|
189
|
-
onSelect:
|
|
190
|
-
reduced:
|
|
241
|
+
onSelect: w,
|
|
242
|
+
reduced: m
|
|
191
243
|
}
|
|
192
244
|
),
|
|
193
245
|
/* @__PURE__ */ h(
|
|
@@ -199,16 +251,32 @@ function gt({
|
|
|
199
251
|
tabIndex: 0,
|
|
200
252
|
className: "settings-shell__tabpanel",
|
|
201
253
|
children: [
|
|
202
|
-
b === "threshold" && /* @__PURE__ */
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
254
|
+
b === "threshold" && /* @__PURE__ */ a(
|
|
255
|
+
ze,
|
|
256
|
+
{
|
|
257
|
+
value: y,
|
|
258
|
+
onChange: K,
|
|
259
|
+
enabled: D,
|
|
260
|
+
onToggleEnabled: g
|
|
261
|
+
}
|
|
262
|
+
),
|
|
263
|
+
b === "timeframe" && /* @__PURE__ */ a(Ve, { value: A, onChange: Y }),
|
|
264
|
+
b === "slots" && /* @__PURE__ */ a(Ke, { value: V, onChange: B }),
|
|
265
|
+
b === "color" && /* @__PURE__ */ a(
|
|
266
|
+
Be,
|
|
267
|
+
{
|
|
268
|
+
value: z,
|
|
269
|
+
onSelect: ae,
|
|
270
|
+
enabled: H,
|
|
271
|
+
onToggleEnabled: N
|
|
272
|
+
}
|
|
273
|
+
)
|
|
206
274
|
]
|
|
207
275
|
}
|
|
208
276
|
)
|
|
209
277
|
] });
|
|
210
278
|
}
|
|
211
|
-
const
|
|
279
|
+
const ge = [
|
|
212
280
|
"Overbought",
|
|
213
281
|
"What's selling",
|
|
214
282
|
"On track vs plan",
|
|
@@ -216,7 +284,7 @@ const ne = [
|
|
|
216
284
|
"Vendor performance",
|
|
217
285
|
"Assortment mix",
|
|
218
286
|
"Customer retention"
|
|
219
|
-
],
|
|
287
|
+
], be = "Overbought", ee = {
|
|
220
288
|
Overbought: {
|
|
221
289
|
headline: "Am I overbought?",
|
|
222
290
|
helper: "Find slow-moving inventory before discount cycles eat margin."
|
|
@@ -246,8 +314,8 @@ const ne = [
|
|
|
246
314
|
helper: "Repeat-rate and lapsed-account signals from the buyer file."
|
|
247
315
|
}
|
|
248
316
|
};
|
|
249
|
-
|
|
250
|
-
const
|
|
317
|
+
ee["Customer retention"].beta = !0;
|
|
318
|
+
const ve = {
|
|
251
319
|
Overbought: {
|
|
252
320
|
primary: [
|
|
253
321
|
{
|
|
@@ -712,47 +780,47 @@ const se = {
|
|
|
712
780
|
]
|
|
713
781
|
}
|
|
714
782
|
};
|
|
715
|
-
function
|
|
783
|
+
function ye({
|
|
716
784
|
lenses: e,
|
|
717
785
|
activeLens: t,
|
|
718
|
-
onLensChange:
|
|
786
|
+
onLensChange: r,
|
|
719
787
|
variant: i = "pills",
|
|
720
|
-
lensMeta: n =
|
|
788
|
+
lensMeta: n = ee
|
|
721
789
|
}) {
|
|
722
|
-
return i === "pills" ? /* @__PURE__ */
|
|
723
|
-
const u =
|
|
724
|
-
return u &&
|
|
790
|
+
return i === "pills" ? /* @__PURE__ */ a("div", { className: "cat-pills-wrap", children: /* @__PURE__ */ a("div", { className: "cat-pills", role: "tablist", "aria-label": "Metric lenses", children: e.map((o) => {
|
|
791
|
+
const u = o === t, s = n[o], l = ["cat-pill"];
|
|
792
|
+
return u && l.push("active"), /* @__PURE__ */ h(
|
|
725
793
|
"button",
|
|
726
794
|
{
|
|
727
795
|
type: "button",
|
|
728
796
|
role: "tab",
|
|
729
797
|
"aria-selected": u,
|
|
730
|
-
className:
|
|
731
|
-
"data-lens":
|
|
798
|
+
className: l.join(" "),
|
|
799
|
+
"data-lens": o,
|
|
732
800
|
onClick: () => {
|
|
733
|
-
u ||
|
|
801
|
+
u || r(o);
|
|
734
802
|
},
|
|
735
803
|
children: [
|
|
736
|
-
|
|
737
|
-
|
|
804
|
+
o,
|
|
805
|
+
s?.beta && /* @__PURE__ */ a("span", { className: "cat-pill-beta", "aria-label": "Beta", children: "BETA" })
|
|
738
806
|
]
|
|
739
807
|
},
|
|
740
|
-
|
|
808
|
+
o
|
|
741
809
|
);
|
|
742
|
-
}) }) }) : /* @__PURE__ */
|
|
810
|
+
}) }) }) : /* @__PURE__ */ a(Qe, { lenses: e, activeLens: t, onLensChange: r });
|
|
743
811
|
}
|
|
744
|
-
function
|
|
812
|
+
function Qe({
|
|
745
813
|
lenses: e,
|
|
746
814
|
activeLens: t,
|
|
747
|
-
onLensChange:
|
|
815
|
+
onLensChange: r
|
|
748
816
|
}) {
|
|
749
|
-
const [i, n] =
|
|
750
|
-
|
|
751
|
-
},
|
|
752
|
-
u(),
|
|
753
|
-
},
|
|
754
|
-
return /* @__PURE__ */
|
|
755
|
-
/* @__PURE__ */
|
|
817
|
+
const [i, n] = E(!1), o = U(null), u = () => {
|
|
818
|
+
o.current != null && (window.clearTimeout(o.current), o.current = null);
|
|
819
|
+
}, s = () => {
|
|
820
|
+
u(), o.current = window.setTimeout(() => n(!1), 100);
|
|
821
|
+
}, l = e.filter((c) => c !== t);
|
|
822
|
+
return /* @__PURE__ */ a("div", { className: "cat-segmented-wrap", children: /* @__PURE__ */ h("div", { className: "cat-segmented", children: [
|
|
823
|
+
/* @__PURE__ */ a(
|
|
756
824
|
"button",
|
|
757
825
|
{
|
|
758
826
|
type: "button",
|
|
@@ -769,28 +837,28 @@ function Ue({
|
|
|
769
837
|
onMouseEnter: () => {
|
|
770
838
|
u(), n(!0);
|
|
771
839
|
},
|
|
772
|
-
onMouseLeave:
|
|
840
|
+
onMouseLeave: s,
|
|
773
841
|
children: [
|
|
774
|
-
/* @__PURE__ */
|
|
775
|
-
i && /* @__PURE__ */
|
|
842
|
+
/* @__PURE__ */ a("button", { type: "button", className: "cat-seg cat-seg-more-btn", "aria-haspopup": "menu", "aria-expanded": i, children: "More ▾" }),
|
|
843
|
+
i && /* @__PURE__ */ a(
|
|
776
844
|
"div",
|
|
777
845
|
{
|
|
778
846
|
className: "cat-seg-overflow",
|
|
779
847
|
role: "menu",
|
|
780
848
|
onMouseEnter: u,
|
|
781
|
-
onMouseLeave:
|
|
782
|
-
children:
|
|
849
|
+
onMouseLeave: s,
|
|
850
|
+
children: l.map((c) => /* @__PURE__ */ a(
|
|
783
851
|
"button",
|
|
784
852
|
{
|
|
785
853
|
type: "button",
|
|
786
|
-
"data-lens":
|
|
854
|
+
"data-lens": c,
|
|
787
855
|
role: "menuitem",
|
|
788
856
|
onClick: () => {
|
|
789
|
-
|
|
857
|
+
r(c), n(!1);
|
|
790
858
|
},
|
|
791
|
-
children:
|
|
859
|
+
children: c
|
|
792
860
|
},
|
|
793
|
-
|
|
861
|
+
c
|
|
794
862
|
))
|
|
795
863
|
}
|
|
796
864
|
)
|
|
@@ -799,46 +867,46 @@ function Ue({
|
|
|
799
867
|
)
|
|
800
868
|
] }) });
|
|
801
869
|
}
|
|
802
|
-
function
|
|
803
|
-
return /* @__PURE__ */
|
|
804
|
-
const
|
|
805
|
-
let
|
|
806
|
-
u ? n.subStats.length === 5 ?
|
|
807
|
-
const
|
|
808
|
-
|
|
809
|
-
const
|
|
870
|
+
function X({ tiles: e, selectedTileId: t, onSelectTile: r, renderTile: i }) {
|
|
871
|
+
return /* @__PURE__ */ a("div", { className: "cat-tiles", children: e.map((n) => {
|
|
872
|
+
const o = n.id === t, u = n.subStats != null && n.subStats.length > 0;
|
|
873
|
+
let s = null;
|
|
874
|
+
u ? n.subStats.length === 5 ? s = "span-5" : n.subStats.length === 3 ? s = "span-3" : s = "span-2" : n.stack === !0 && (s = "span-2");
|
|
875
|
+
const l = ["cat-tile"];
|
|
876
|
+
s && l.push(s), o && l.push("selected"), n.isNew && l.push("is-new"), n.startHere && l.push("start-here"), n.donut && l.push("has-donut");
|
|
877
|
+
const c = 1;
|
|
810
878
|
let d = 0.7;
|
|
811
879
|
if (n.donut) {
|
|
812
|
-
const
|
|
813
|
-
if (
|
|
814
|
-
const
|
|
815
|
-
Number.isFinite(
|
|
880
|
+
const m = /([\d.]+)\s*%/.exec(n.value);
|
|
881
|
+
if (m) {
|
|
882
|
+
const f = parseFloat(m[1]);
|
|
883
|
+
Number.isFinite(f) && (d = Math.max(0, Math.min(1, f / 100)));
|
|
816
884
|
}
|
|
817
885
|
}
|
|
818
886
|
return /* @__PURE__ */ h(
|
|
819
887
|
"button",
|
|
820
888
|
{
|
|
821
889
|
type: "button",
|
|
822
|
-
className:
|
|
890
|
+
className: l.join(" "),
|
|
823
891
|
"data-metric": n.id,
|
|
824
892
|
"data-desc": n.desc,
|
|
825
|
-
"data-col-span": String(
|
|
893
|
+
"data-col-span": String(c),
|
|
826
894
|
"data-donut": n.donut ? "true" : void 0,
|
|
827
895
|
"data-accent": n.accent,
|
|
828
|
-
"aria-pressed":
|
|
829
|
-
onClick: () =>
|
|
896
|
+
"aria-pressed": o,
|
|
897
|
+
onClick: () => r(n.id, n.desc),
|
|
830
898
|
style: n.accent ? { "--cat-tile-accent": n.accent } : void 0,
|
|
831
899
|
children: [
|
|
832
|
-
n.startHere && /* @__PURE__ */
|
|
833
|
-
i ? i(n) : /* @__PURE__ */
|
|
900
|
+
n.startHere && /* @__PURE__ */ a("span", { className: "cat-tile-start-here", "aria-hidden": "true", children: "START HERE" }),
|
|
901
|
+
i ? i(n) : /* @__PURE__ */ a(
|
|
834
902
|
"div",
|
|
835
903
|
{
|
|
836
904
|
className: "cat-tile-primitive-wrapper gloss-metric-card",
|
|
837
905
|
"data-col-span": "1",
|
|
838
906
|
style: { pointerEvents: "none", width: "100%", height: "100%" },
|
|
839
907
|
"aria-hidden": "true",
|
|
840
|
-
children: n.donut ? /* @__PURE__ */
|
|
841
|
-
|
|
908
|
+
children: n.donut ? /* @__PURE__ */ a(
|
|
909
|
+
oe,
|
|
842
910
|
{
|
|
843
911
|
variant: "donut",
|
|
844
912
|
label: n.label,
|
|
@@ -846,40 +914,40 @@ function V({ tiles: e, selectedTileId: t, onSelectTile: l, renderTile: i }) {
|
|
|
846
914
|
donutValue: d,
|
|
847
915
|
donutMax: 1,
|
|
848
916
|
accentColor: n.accent,
|
|
849
|
-
colSpan:
|
|
917
|
+
colSpan: c
|
|
850
918
|
}
|
|
851
|
-
) : /* @__PURE__ */
|
|
852
|
-
|
|
919
|
+
) : /* @__PURE__ */ a(
|
|
920
|
+
oe,
|
|
853
921
|
{
|
|
854
922
|
variant: "standard",
|
|
855
923
|
label: n.label,
|
|
856
924
|
value: n.value,
|
|
857
|
-
colSpan:
|
|
925
|
+
colSpan: c
|
|
858
926
|
}
|
|
859
927
|
)
|
|
860
928
|
}
|
|
861
929
|
),
|
|
862
|
-
n.variants && n.variants.length > 0 && /* @__PURE__ */
|
|
863
|
-
n.isNew && /* @__PURE__ */
|
|
930
|
+
n.variants && n.variants.length > 0 && /* @__PURE__ */ a("span", { className: "cat-tile-variants", "aria-hidden": "true", children: n.variants.map((m) => /* @__PURE__ */ a("span", { children: m }, m)) }),
|
|
931
|
+
n.isNew && /* @__PURE__ */ a("span", { className: "cat-tile-new-dot", "aria-hidden": "true" })
|
|
864
932
|
]
|
|
865
933
|
},
|
|
866
934
|
n.id
|
|
867
935
|
);
|
|
868
936
|
}) });
|
|
869
937
|
}
|
|
870
|
-
const
|
|
871
|
-
function
|
|
872
|
-
return te
|
|
938
|
+
const te = he(null);
|
|
939
|
+
function qe() {
|
|
940
|
+
return fe(te);
|
|
873
941
|
}
|
|
874
|
-
function
|
|
875
|
-
const
|
|
876
|
-
if (
|
|
877
|
-
const i =
|
|
942
|
+
function je({ mode: e, dispatch: t }) {
|
|
943
|
+
const r = qe();
|
|
944
|
+
if (r == null && e == null) return null;
|
|
945
|
+
const i = r?.mode ?? e ?? "add", n = r?.selectedTileId ?? null, o = r?.description ?? null, u = n == null;
|
|
878
946
|
return /* @__PURE__ */ h("div", { className: "panel-footer catalog", children: [
|
|
879
|
-
/* @__PURE__ */
|
|
947
|
+
/* @__PURE__ */ a("div", { className: "cat-description", id: "cat-desc", children: o ?? /* @__PURE__ */ a("em", { children: "Tap a metric to see its description" }) }),
|
|
880
948
|
/* @__PURE__ */ h("div", { style: { display: "flex", padding: "10px 14px", gap: 8 }, children: [
|
|
881
|
-
/* @__PURE__ */
|
|
882
|
-
/* @__PURE__ */
|
|
949
|
+
/* @__PURE__ */ a("div", { className: "spacer", style: { flex: 1 } }),
|
|
950
|
+
/* @__PURE__ */ a(
|
|
883
951
|
"button",
|
|
884
952
|
{
|
|
885
953
|
id: "btn-cat-cancel",
|
|
@@ -889,7 +957,7 @@ function He({ mode: e, dispatch: t }) {
|
|
|
889
957
|
children: "Cancel"
|
|
890
958
|
}
|
|
891
959
|
),
|
|
892
|
-
i === "add" && /* @__PURE__ */
|
|
960
|
+
i === "add" && /* @__PURE__ */ a(
|
|
893
961
|
"button",
|
|
894
962
|
{
|
|
895
963
|
id: "btn-cat-add",
|
|
@@ -900,7 +968,7 @@ function He({ mode: e, dispatch: t }) {
|
|
|
900
968
|
children: "Add metric"
|
|
901
969
|
}
|
|
902
970
|
),
|
|
903
|
-
i === "replace" && /* @__PURE__ */
|
|
971
|
+
i === "replace" && /* @__PURE__ */ a(
|
|
904
972
|
"button",
|
|
905
973
|
{
|
|
906
974
|
id: "btn-cat-replace",
|
|
@@ -914,170 +982,174 @@ function He({ mode: e, dispatch: t }) {
|
|
|
914
982
|
] })
|
|
915
983
|
] });
|
|
916
984
|
}
|
|
917
|
-
function
|
|
985
|
+
function ie(e, t) {
|
|
918
986
|
if (t.length === 0) return !0;
|
|
919
|
-
const
|
|
920
|
-
if (e.label.toLowerCase().includes(
|
|
987
|
+
const r = t.toLowerCase();
|
|
988
|
+
if (e.label.toLowerCase().includes(r) || e.value.toLowerCase().includes(r)) return !0;
|
|
921
989
|
if (e.subStats) {
|
|
922
990
|
for (const i of e.subStats)
|
|
923
|
-
if (i.label.toLowerCase().includes(
|
|
991
|
+
if (i.label.toLowerCase().includes(r) || i.value.toLowerCase().includes(r)) return !0;
|
|
924
992
|
}
|
|
925
993
|
return !1;
|
|
926
994
|
}
|
|
927
|
-
function
|
|
995
|
+
function wt({
|
|
928
996
|
isOpen: e,
|
|
929
|
-
lenses: t =
|
|
930
|
-
defaultLens:
|
|
931
|
-
tilesByLens: i =
|
|
932
|
-
lensMeta: n =
|
|
933
|
-
footerSlot:
|
|
997
|
+
lenses: t = ge,
|
|
998
|
+
defaultLens: r = be,
|
|
999
|
+
tilesByLens: i = ve,
|
|
1000
|
+
lensMeta: n = ee,
|
|
1001
|
+
footerSlot: o,
|
|
934
1002
|
renderTile: u
|
|
935
1003
|
}) {
|
|
936
|
-
const [
|
|
937
|
-
() => b.primary.filter((y) =>
|
|
938
|
-
[b.primary,
|
|
939
|
-
),
|
|
940
|
-
() => (b.secondary ?? []).filter((y) =>
|
|
941
|
-
[b.secondary,
|
|
1004
|
+
const [s, l] = E(r), [c, d] = E(null), [m, f] = E(null), [v, p] = E(""), b = i[s] ?? { primary: [] }, w = n[s], S = re(
|
|
1005
|
+
() => b.primary.filter((y) => ie(y, v)),
|
|
1006
|
+
[b.primary, v]
|
|
1007
|
+
), T = re(
|
|
1008
|
+
() => (b.secondary ?? []).filter((y) => ie(y, v)),
|
|
1009
|
+
[b.secondary, v]
|
|
942
1010
|
);
|
|
943
1011
|
return /* @__PURE__ */ h(
|
|
944
|
-
|
|
1012
|
+
te.Provider,
|
|
945
1013
|
{
|
|
946
|
-
value: { mode: "add", selectedTileId:
|
|
1014
|
+
value: { mode: "add", selectedTileId: c, description: m },
|
|
947
1015
|
children: [
|
|
948
1016
|
/* @__PURE__ */ h("div", { "data-shell": "catalog-add", "aria-hidden": !e, children: [
|
|
949
|
-
/* @__PURE__ */
|
|
1017
|
+
/* @__PURE__ */ a("div", { className: "cat-search", children: /* @__PURE__ */ a(
|
|
950
1018
|
"input",
|
|
951
1019
|
{
|
|
952
1020
|
type: "search",
|
|
953
1021
|
className: "cat-search-input",
|
|
954
1022
|
placeholder: "Search metrics",
|
|
955
1023
|
"aria-label": "Search metrics",
|
|
956
|
-
value:
|
|
957
|
-
onChange: (y) =>
|
|
1024
|
+
value: v,
|
|
1025
|
+
onChange: (y) => p(y.target.value)
|
|
958
1026
|
}
|
|
959
1027
|
) }),
|
|
960
|
-
/* @__PURE__ */
|
|
961
|
-
|
|
1028
|
+
/* @__PURE__ */ a(
|
|
1029
|
+
ye,
|
|
962
1030
|
{
|
|
963
1031
|
lenses: t,
|
|
964
|
-
activeLens:
|
|
1032
|
+
activeLens: s,
|
|
965
1033
|
lensMeta: n,
|
|
966
1034
|
variant: "pills",
|
|
967
1035
|
onLensChange: (y) => {
|
|
968
|
-
|
|
1036
|
+
l(y), d(null), f(null), p("");
|
|
969
1037
|
}
|
|
970
1038
|
}
|
|
971
1039
|
),
|
|
972
|
-
|
|
973
|
-
/* @__PURE__ */
|
|
974
|
-
/* @__PURE__ */
|
|
1040
|
+
w && /* @__PURE__ */ h("div", { className: "cat-lens-meta", children: [
|
|
1041
|
+
/* @__PURE__ */ a("h3", { className: "cat-lens-headline", children: w.headline }),
|
|
1042
|
+
/* @__PURE__ */ a("p", { className: "cat-lens-helper", children: w.helper })
|
|
975
1043
|
] }),
|
|
976
|
-
/* @__PURE__ */
|
|
977
|
-
|
|
1044
|
+
/* @__PURE__ */ a(
|
|
1045
|
+
X,
|
|
978
1046
|
{
|
|
979
|
-
tiles:
|
|
980
|
-
selectedTileId:
|
|
981
|
-
onSelectTile: (y,
|
|
982
|
-
d(y),
|
|
1047
|
+
tiles: S,
|
|
1048
|
+
selectedTileId: c,
|
|
1049
|
+
onSelectTile: (y, A) => {
|
|
1050
|
+
d(y), f(A);
|
|
983
1051
|
},
|
|
984
1052
|
renderTile: u
|
|
985
1053
|
}
|
|
986
1054
|
),
|
|
987
|
-
|
|
988
|
-
/* @__PURE__ */
|
|
989
|
-
/* @__PURE__ */
|
|
990
|
-
|
|
1055
|
+
T.length > 0 && /* @__PURE__ */ h("div", { className: "cat-more-in-lens", children: [
|
|
1056
|
+
/* @__PURE__ */ a("div", { className: "cat-more-in-lens__heading", children: "MORE IN THIS LENS" }),
|
|
1057
|
+
/* @__PURE__ */ a(
|
|
1058
|
+
X,
|
|
991
1059
|
{
|
|
992
|
-
tiles:
|
|
993
|
-
selectedTileId:
|
|
994
|
-
onSelectTile: (y,
|
|
995
|
-
d(y),
|
|
1060
|
+
tiles: T,
|
|
1061
|
+
selectedTileId: c,
|
|
1062
|
+
onSelectTile: (y, A) => {
|
|
1063
|
+
d(y), f(A);
|
|
996
1064
|
},
|
|
997
1065
|
renderTile: u
|
|
998
1066
|
}
|
|
999
1067
|
)
|
|
1000
1068
|
] }),
|
|
1001
|
-
|
|
1069
|
+
S.length === 0 && T.length === 0 && v.length > 0 && /* @__PURE__ */ h("div", { className: "cat-empty", children: [
|
|
1002
1070
|
'No metrics match "',
|
|
1003
|
-
|
|
1071
|
+
v,
|
|
1004
1072
|
'".'
|
|
1005
1073
|
] })
|
|
1006
1074
|
] }),
|
|
1007
|
-
|
|
1075
|
+
o
|
|
1008
1076
|
]
|
|
1009
1077
|
}
|
|
1010
1078
|
);
|
|
1011
1079
|
}
|
|
1012
|
-
function
|
|
1080
|
+
function Et({
|
|
1013
1081
|
isOpen: e,
|
|
1014
1082
|
replacingLabel: t,
|
|
1015
|
-
lenses:
|
|
1016
|
-
defaultLens: i =
|
|
1017
|
-
tilesByLens: n =
|
|
1018
|
-
footerSlot:
|
|
1083
|
+
lenses: r = ge,
|
|
1084
|
+
defaultLens: i = be,
|
|
1085
|
+
tilesByLens: n = ve,
|
|
1086
|
+
footerSlot: o,
|
|
1019
1087
|
renderTile: u
|
|
1020
1088
|
}) {
|
|
1021
|
-
const [
|
|
1089
|
+
const [s, l] = E(i), [c, d] = E(null), [m, f] = E(null), v = n[s] ?? { primary: [] }, p = [...v.primary, ...v.secondary ?? []];
|
|
1022
1090
|
return /* @__PURE__ */ h(
|
|
1023
|
-
|
|
1091
|
+
te.Provider,
|
|
1024
1092
|
{
|
|
1025
|
-
value: { mode: "replace", selectedTileId:
|
|
1093
|
+
value: { mode: "replace", selectedTileId: c, description: m },
|
|
1026
1094
|
children: [
|
|
1027
1095
|
/* @__PURE__ */ h("div", { "data-shell": "catalog-replace", "aria-hidden": !e, children: [
|
|
1028
1096
|
t && /* @__PURE__ */ h("p", { className: "cat-subtitle", children: [
|
|
1029
1097
|
"replacing ",
|
|
1030
1098
|
t
|
|
1031
1099
|
] }),
|
|
1032
|
-
/* @__PURE__ */
|
|
1033
|
-
|
|
1100
|
+
/* @__PURE__ */ a(
|
|
1101
|
+
ye,
|
|
1034
1102
|
{
|
|
1035
|
-
lenses:
|
|
1036
|
-
activeLens:
|
|
1103
|
+
lenses: r,
|
|
1104
|
+
activeLens: s,
|
|
1037
1105
|
onLensChange: (b) => {
|
|
1038
|
-
|
|
1106
|
+
l(b), d(null), f(null);
|
|
1039
1107
|
}
|
|
1040
1108
|
}
|
|
1041
1109
|
),
|
|
1042
|
-
/* @__PURE__ */
|
|
1043
|
-
|
|
1110
|
+
/* @__PURE__ */ a(
|
|
1111
|
+
X,
|
|
1044
1112
|
{
|
|
1045
|
-
tiles:
|
|
1046
|
-
selectedTileId:
|
|
1047
|
-
onSelectTile: (b,
|
|
1048
|
-
d(b),
|
|
1113
|
+
tiles: p,
|
|
1114
|
+
selectedTileId: c,
|
|
1115
|
+
onSelectTile: (b, w) => {
|
|
1116
|
+
d(b), f(w);
|
|
1049
1117
|
},
|
|
1050
1118
|
renderTile: u
|
|
1051
1119
|
}
|
|
1052
1120
|
)
|
|
1053
1121
|
] }),
|
|
1054
|
-
|
|
1122
|
+
o
|
|
1055
1123
|
]
|
|
1056
1124
|
}
|
|
1057
1125
|
);
|
|
1058
1126
|
}
|
|
1059
|
-
const
|
|
1060
|
-
function
|
|
1061
|
-
return
|
|
1127
|
+
const Ce = he(null);
|
|
1128
|
+
function _e() {
|
|
1129
|
+
return fe(Ce);
|
|
1062
1130
|
}
|
|
1063
|
-
function
|
|
1064
|
-
const
|
|
1131
|
+
function Ze(e = {}) {
|
|
1132
|
+
const t = _e(), r = t?.createPage, i = t?.setPages;
|
|
1065
1133
|
return /* @__PURE__ */ h(
|
|
1066
1134
|
"div",
|
|
1067
1135
|
{
|
|
1068
1136
|
className: "panel-footer pm",
|
|
1069
1137
|
style: { display: "flex", justifyContent: "flex-end", padding: "10px 14px" },
|
|
1070
1138
|
children: [
|
|
1071
|
-
/* @__PURE__ */
|
|
1072
|
-
/* @__PURE__ */
|
|
1139
|
+
/* @__PURE__ */ a("div", { className: "spacer", style: { flex: 1 } }),
|
|
1140
|
+
/* @__PURE__ */ a(
|
|
1073
1141
|
"button",
|
|
1074
1142
|
{
|
|
1075
1143
|
id: "btn-new-page",
|
|
1076
1144
|
type: "button",
|
|
1077
1145
|
className: "btn btn-primary",
|
|
1078
1146
|
onClick: () => {
|
|
1079
|
-
|
|
1080
|
-
|
|
1147
|
+
if (r) {
|
|
1148
|
+
r();
|
|
1149
|
+
return;
|
|
1150
|
+
}
|
|
1151
|
+
i && i((n) => [
|
|
1152
|
+
...n,
|
|
1081
1153
|
{ id: `new-${Date.now()}`, name: "Untitled", active: !1 }
|
|
1082
1154
|
]);
|
|
1083
1155
|
},
|
|
@@ -1088,27 +1160,29 @@ function ze(e = {}) {
|
|
|
1088
1160
|
}
|
|
1089
1161
|
);
|
|
1090
1162
|
}
|
|
1091
|
-
function
|
|
1092
|
-
const
|
|
1093
|
-
|
|
1094
|
-
if (!
|
|
1095
|
-
const
|
|
1096
|
-
|
|
1163
|
+
function ce({ page: e, onRename: t, onKebab: r, onDragStart: i, onSwitchPage: n }) {
|
|
1164
|
+
const o = _e(), [u, s] = E(!1), l = U(null);
|
|
1165
|
+
L(() => {
|
|
1166
|
+
if (!u) return;
|
|
1167
|
+
const p = (b) => {
|
|
1168
|
+
l.current && (l.current.contains(b.target) || s(!1));
|
|
1097
1169
|
};
|
|
1098
|
-
return document.addEventListener("mousedown",
|
|
1099
|
-
}, [
|
|
1100
|
-
const
|
|
1101
|
-
if (
|
|
1102
|
-
if (!
|
|
1103
|
-
const
|
|
1104
|
-
|
|
1105
|
-
}, o = () => {
|
|
1106
|
-
u(!1), n?.duplicatePage?.(e.id);
|
|
1170
|
+
return document.addEventListener("mousedown", p, !0), () => document.removeEventListener("mousedown", p, !0);
|
|
1171
|
+
}, [u]);
|
|
1172
|
+
const c = () => {
|
|
1173
|
+
if (s(!1), t) return t(e.id);
|
|
1174
|
+
if (!o?.renamePage) return;
|
|
1175
|
+
const p = window.prompt("Rename page", e.name);
|
|
1176
|
+
p != null && p.trim().length > 0 && o.renamePage(e.id, p.trim());
|
|
1107
1177
|
}, d = () => {
|
|
1108
|
-
|
|
1109
|
-
},
|
|
1110
|
-
|
|
1111
|
-
|
|
1178
|
+
s(!1), o?.duplicatePage?.(e.id);
|
|
1179
|
+
}, m = () => {
|
|
1180
|
+
s(!1), o?.deletePage?.(e.id);
|
|
1181
|
+
}, f = (p) => {
|
|
1182
|
+
p.stopPropagation(), n && !e.active && n(e.id);
|
|
1183
|
+
}, v = ["pm-row"];
|
|
1184
|
+
return e.active && v.push("active"), /* @__PURE__ */ h("div", { ref: l, className: v.join(" "), "data-page-id": e.id, role: "listitem", children: [
|
|
1185
|
+
/* @__PURE__ */ a(
|
|
1112
1186
|
"div",
|
|
1113
1187
|
{
|
|
1114
1188
|
className: "pm-handle",
|
|
@@ -1117,83 +1191,173 @@ function Ye({ page: e, onRename: t, onKebab: l, onDragStart: i }) {
|
|
|
1117
1191
|
children: "⋮⋮"
|
|
1118
1192
|
}
|
|
1119
1193
|
),
|
|
1120
|
-
/* @__PURE__ */
|
|
1121
|
-
|
|
1194
|
+
/* @__PURE__ */ a(
|
|
1195
|
+
"div",
|
|
1196
|
+
{
|
|
1197
|
+
className: "pm-name",
|
|
1198
|
+
role: n && !e.active ? "button" : void 0,
|
|
1199
|
+
tabIndex: n && !e.active ? 0 : void 0,
|
|
1200
|
+
onClick: n ? f : void 0,
|
|
1201
|
+
onKeyDown: (p) => {
|
|
1202
|
+
!n || e.active || (p.key === "Enter" || p.key === " ") && (p.preventDefault(), p.stopPropagation(), n(e.id));
|
|
1203
|
+
},
|
|
1204
|
+
"aria-label": n && !e.active ? `Switch to ${e.name}` : void 0,
|
|
1205
|
+
children: e.name
|
|
1206
|
+
}
|
|
1207
|
+
),
|
|
1208
|
+
/* @__PURE__ */ a(
|
|
1122
1209
|
"button",
|
|
1123
1210
|
{
|
|
1124
1211
|
type: "button",
|
|
1125
1212
|
className: "pm-kebab",
|
|
1126
1213
|
"aria-label": "Page options",
|
|
1127
1214
|
"aria-haspopup": "menu",
|
|
1128
|
-
"aria-expanded":
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1215
|
+
"aria-expanded": u,
|
|
1216
|
+
onPointerDown: (p) => p.stopPropagation(),
|
|
1217
|
+
onMouseDown: (p) => p.stopPropagation(),
|
|
1218
|
+
onClick: (p) => {
|
|
1219
|
+
if (p.stopPropagation(), r) return r(e.id);
|
|
1220
|
+
s((b) => !b);
|
|
1132
1221
|
},
|
|
1133
1222
|
children: "⋯"
|
|
1134
1223
|
}
|
|
1135
1224
|
),
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
"
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
onClick:
|
|
1146
|
-
"
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1225
|
+
u && /* @__PURE__ */ h(
|
|
1226
|
+
"div",
|
|
1227
|
+
{
|
|
1228
|
+
className: "pm-kebab-menu",
|
|
1229
|
+
role: "menu",
|
|
1230
|
+
"data-page-id": e.id,
|
|
1231
|
+
onPointerDown: (p) => p.stopPropagation(),
|
|
1232
|
+
onMouseDown: (p) => p.stopPropagation(),
|
|
1233
|
+
children: [
|
|
1234
|
+
/* @__PURE__ */ a("button", { type: "button", role: "menuitem", className: "pm-kebab-menu__item", onClick: c, children: "Rename" }),
|
|
1235
|
+
/* @__PURE__ */ a("button", { type: "button", role: "menuitem", className: "pm-kebab-menu__item", onClick: d, children: "Duplicate" }),
|
|
1236
|
+
/* @__PURE__ */ a(
|
|
1237
|
+
"button",
|
|
1238
|
+
{
|
|
1239
|
+
type: "button",
|
|
1240
|
+
role: "menuitem",
|
|
1241
|
+
className: "pm-kebab-menu__item pm-kebab-menu__item--danger",
|
|
1242
|
+
onClick: m,
|
|
1243
|
+
children: "Delete"
|
|
1244
|
+
}
|
|
1245
|
+
)
|
|
1246
|
+
]
|
|
1247
|
+
}
|
|
1248
|
+
)
|
|
1151
1249
|
] });
|
|
1152
1250
|
}
|
|
1153
|
-
const
|
|
1251
|
+
const Xe = [
|
|
1154
1252
|
{ id: "p-pipeline", name: "My Pipeline", active: !0 },
|
|
1155
1253
|
{ id: "p-numbers", name: "My Numbers", active: !1 },
|
|
1156
1254
|
{ id: "p-morning", name: "My Morning", active: !1 },
|
|
1157
1255
|
{ id: "p-accounts", name: "My Accounts", active: !1 }
|
|
1158
1256
|
];
|
|
1159
|
-
function
|
|
1257
|
+
function Pt({
|
|
1160
1258
|
isOpen: e,
|
|
1161
|
-
pages: t =
|
|
1162
|
-
footerSlot:
|
|
1259
|
+
pages: t = Xe,
|
|
1260
|
+
footerSlot: r,
|
|
1261
|
+
externalPages: i,
|
|
1262
|
+
activePageId: n,
|
|
1263
|
+
onRename: o,
|
|
1264
|
+
onDuplicate: u,
|
|
1265
|
+
onDelete: s,
|
|
1266
|
+
onReorder: l,
|
|
1267
|
+
onCreatePage: c,
|
|
1268
|
+
onSwitchPage: d
|
|
1163
1269
|
}) {
|
|
1164
|
-
const [
|
|
1165
|
-
|
|
1166
|
-
}, []),
|
|
1167
|
-
|
|
1168
|
-
const
|
|
1169
|
-
if (!
|
|
1170
|
-
const
|
|
1171
|
-
id: `${
|
|
1172
|
-
name: `${
|
|
1270
|
+
const [m, f] = E(() => [...t]), v = x((g, N) => {
|
|
1271
|
+
f((C) => C.map((P) => P.id === g ? { ...P, name: N } : P));
|
|
1272
|
+
}, []), p = x((g) => {
|
|
1273
|
+
f((N) => {
|
|
1274
|
+
const C = N.find((W) => W.id === g);
|
|
1275
|
+
if (!C) return N;
|
|
1276
|
+
const P = {
|
|
1277
|
+
id: `${C.id}-copy-${Date.now()}`,
|
|
1278
|
+
name: `${C.name} copy`,
|
|
1173
1279
|
active: !1
|
|
1174
|
-
},
|
|
1175
|
-
return [...
|
|
1280
|
+
}, k = N.findIndex((W) => W.id === g);
|
|
1281
|
+
return [...N.slice(0, k + 1), P, ...N.slice(k + 1)];
|
|
1176
1282
|
});
|
|
1177
|
-
}, []),
|
|
1178
|
-
|
|
1179
|
-
}, [])
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1283
|
+
}, []), b = x((g) => {
|
|
1284
|
+
f((N) => N.filter((C) => C.id !== g));
|
|
1285
|
+
}, []), w = x((g) => {
|
|
1286
|
+
f((N) => {
|
|
1287
|
+
const C = new Map(N.map((k) => [k.id, k])), P = g.map((k) => C.get(k)).filter(Boolean);
|
|
1288
|
+
return P.length === N.length ? P : N;
|
|
1289
|
+
});
|
|
1290
|
+
}, []), S = i != null, T = S ? i : m, y = n != null ? T.map((g) => ({ ...g, active: g.id === n })) : [...T], A = o ?? (S ? void 0 : v), z = u ?? (S ? void 0 : p), V = s ?? (S ? void 0 : b), D = l ?? (S ? void 0 : w), H = x(
|
|
1291
|
+
(g) => {
|
|
1292
|
+
S || f(g);
|
|
1293
|
+
},
|
|
1294
|
+
[S]
|
|
1295
|
+
), K = x(
|
|
1296
|
+
(g) => {
|
|
1297
|
+
const N = g[0]?.items.map((C) => C.id) ?? [];
|
|
1298
|
+
N.length > 0 && D && D(N);
|
|
1299
|
+
},
|
|
1300
|
+
[D]
|
|
1301
|
+
), Y = y.map((g) => `${g.id}:${g.name}`).join("|"), B = D != null && y.length > 1 ? /* @__PURE__ */ a(
|
|
1302
|
+
Se,
|
|
1303
|
+
{
|
|
1304
|
+
zones: [
|
|
1305
|
+
{
|
|
1306
|
+
zoneKey: "pm-pages",
|
|
1307
|
+
items: y.map((g) => ({ ...g, id: g.id }))
|
|
1308
|
+
}
|
|
1309
|
+
],
|
|
1310
|
+
onZoneChange: K,
|
|
1311
|
+
renderZone: (g, N, C) => /* @__PURE__ */ a("div", { className: "pm-list", role: "list", children: C }),
|
|
1312
|
+
renderItem: (g) => /* @__PURE__ */ a(
|
|
1313
|
+
ce,
|
|
1314
|
+
{
|
|
1315
|
+
page: g,
|
|
1316
|
+
onSwitchPage: d
|
|
1317
|
+
},
|
|
1318
|
+
g.id
|
|
1319
|
+
)
|
|
1320
|
+
},
|
|
1321
|
+
Y
|
|
1322
|
+
) : /* @__PURE__ */ a("div", { className: "pm-list", role: "list", children: y.map((g) => /* @__PURE__ */ a(
|
|
1323
|
+
ce,
|
|
1324
|
+
{
|
|
1325
|
+
page: g,
|
|
1326
|
+
onSwitchPage: d
|
|
1327
|
+
},
|
|
1328
|
+
g.id
|
|
1329
|
+
)) });
|
|
1330
|
+
return /* @__PURE__ */ a(
|
|
1331
|
+
Ce.Provider,
|
|
1332
|
+
{
|
|
1333
|
+
value: {
|
|
1334
|
+
pages: y,
|
|
1335
|
+
setPages: H,
|
|
1336
|
+
renamePage: A,
|
|
1337
|
+
duplicatePage: z,
|
|
1338
|
+
deletePage: V,
|
|
1339
|
+
// Sprint 2026-05-20 — propagate live create binding for footer.
|
|
1340
|
+
createPage: c
|
|
1341
|
+
},
|
|
1342
|
+
children: /* @__PURE__ */ h("div", { "data-shell": "page-management", "aria-hidden": !e, children: [
|
|
1343
|
+
B,
|
|
1344
|
+
r != null && /* @__PURE__ */ a("div", { className: "pm-footer-pin", children: r })
|
|
1345
|
+
] })
|
|
1346
|
+
}
|
|
1347
|
+
);
|
|
1184
1348
|
}
|
|
1185
|
-
const
|
|
1349
|
+
const xt = {
|
|
1186
1350
|
SETTINGS: "settings",
|
|
1187
1351
|
CATALOG_ADD: "catalog-add",
|
|
1188
1352
|
CATALOG_REPLACE: "catalog-replace",
|
|
1189
1353
|
PAGE_MGMT: "page-management",
|
|
1190
1354
|
NOTIFICATION_CENTER: "notification-center"
|
|
1191
|
-
},
|
|
1355
|
+
}, Je = {
|
|
1192
1356
|
position: "fixed",
|
|
1193
1357
|
inset: 0,
|
|
1194
1358
|
pointerEvents: "none",
|
|
1195
1359
|
zIndex: 55
|
|
1196
|
-
},
|
|
1360
|
+
}, et = {
|
|
1197
1361
|
position: "absolute",
|
|
1198
1362
|
inset: 0,
|
|
1199
1363
|
zIndex: 1,
|
|
@@ -1202,94 +1366,94 @@ const Ct = {
|
|
|
1202
1366
|
pointerEvents: "none",
|
|
1203
1367
|
background: "rgba(0, 0, 0, 0.04)"
|
|
1204
1368
|
};
|
|
1205
|
-
function
|
|
1206
|
-
const { state: e, dispatch: t, getCloseLog:
|
|
1207
|
-
|
|
1369
|
+
function At() {
|
|
1370
|
+
const { state: e, dispatch: t, getCloseLog: r } = we();
|
|
1371
|
+
L(() => {
|
|
1208
1372
|
if (e.activePanelId == null) return;
|
|
1209
|
-
function
|
|
1373
|
+
function o(u) {
|
|
1210
1374
|
u.key === "Escape" && t({ type: "CLOSE_PANEL", reason: "escape-key" });
|
|
1211
1375
|
}
|
|
1212
|
-
return document.addEventListener("keydown",
|
|
1376
|
+
return document.addEventListener("keydown", o), () => document.removeEventListener("keydown", o);
|
|
1213
1377
|
}, [e.activePanelId, t]);
|
|
1214
|
-
const i =
|
|
1215
|
-
|
|
1378
|
+
const i = U(e);
|
|
1379
|
+
Ee(() => {
|
|
1216
1380
|
i.current = e;
|
|
1217
|
-
}),
|
|
1381
|
+
}), L(() => {
|
|
1218
1382
|
if (process.env.NODE_ENV === "production") return;
|
|
1219
|
-
const
|
|
1220
|
-
return
|
|
1383
|
+
const o = window;
|
|
1384
|
+
return o.__panelsHostHandle && console.warn("[panels] multiple PanelHost/PanelHostShell instances mounted; dev handle is unreliable"), o.__panelsHostHandle = {
|
|
1221
1385
|
dispatch: t,
|
|
1222
1386
|
getState: () => i.current,
|
|
1223
|
-
getCloseLog:
|
|
1387
|
+
getCloseLog: r
|
|
1224
1388
|
}, () => {
|
|
1225
|
-
|
|
1389
|
+
o.__panelsHostHandle?.dispatch === t && delete window.__panelsHostHandle;
|
|
1226
1390
|
};
|
|
1227
|
-
}, [t,
|
|
1391
|
+
}, [t, r]);
|
|
1228
1392
|
const n = x(() => {
|
|
1229
1393
|
t({ type: "CLOSE_PANEL", reason: "nav-escape-hatch" });
|
|
1230
1394
|
}, [t]);
|
|
1231
|
-
return /* @__PURE__ */
|
|
1395
|
+
return /* @__PURE__ */ a("div", { "data-panel-host": "true", style: Je, children: e.activePanelId != null && /* @__PURE__ */ a(
|
|
1232
1396
|
"div",
|
|
1233
1397
|
{
|
|
1234
1398
|
"data-panel-scrim": "true",
|
|
1235
|
-
style:
|
|
1399
|
+
style: et,
|
|
1236
1400
|
onClick: n
|
|
1237
1401
|
}
|
|
1238
1402
|
) });
|
|
1239
1403
|
}
|
|
1240
|
-
const
|
|
1241
|
-
function
|
|
1242
|
-
const [t,
|
|
1243
|
-
return
|
|
1404
|
+
const tt = 700;
|
|
1405
|
+
function nt(e) {
|
|
1406
|
+
const [t, r] = E(null), i = U(null);
|
|
1407
|
+
return L(() => {
|
|
1244
1408
|
if (e != null) {
|
|
1245
|
-
i.current != null && (clearTimeout(i.current), i.current = null),
|
|
1409
|
+
i.current != null && (clearTimeout(i.current), i.current = null), r(null);
|
|
1246
1410
|
return;
|
|
1247
1411
|
}
|
|
1248
|
-
return
|
|
1249
|
-
|
|
1250
|
-
},
|
|
1412
|
+
return r((n) => n), i.current = setTimeout(() => {
|
|
1413
|
+
r(null), i.current = null;
|
|
1414
|
+
}, tt), () => {
|
|
1251
1415
|
i.current != null && (clearTimeout(i.current), i.current = null);
|
|
1252
1416
|
};
|
|
1253
|
-
}, [e]),
|
|
1254
|
-
e != null &&
|
|
1417
|
+
}, [e]), L(() => {
|
|
1418
|
+
e != null && r(e);
|
|
1255
1419
|
}, [e]), e != null ? { panelId: e, isOpen: !0 } : t != null ? { panelId: t, isOpen: !1 } : { panelId: null, isOpen: !1 };
|
|
1256
1420
|
}
|
|
1257
|
-
function
|
|
1258
|
-
const
|
|
1259
|
-
if (
|
|
1260
|
-
const { state: i, dispatch: n } =
|
|
1261
|
-
if (
|
|
1262
|
-
const u =
|
|
1263
|
-
if (
|
|
1421
|
+
function kt({ panelComponents: e, children: t }) {
|
|
1422
|
+
const r = F();
|
|
1423
|
+
if (r == null) return null;
|
|
1424
|
+
const { state: i, dispatch: n } = r, o = nt(i.activePanelId);
|
|
1425
|
+
if (o.panelId == null) return null;
|
|
1426
|
+
const u = o.panelId, s = o.isOpen, l = e?.[u];
|
|
1427
|
+
if (l == null && t == null)
|
|
1264
1428
|
return process.env.NODE_ENV !== "production" && console.error(
|
|
1265
1429
|
"[panels] No panel component registered for activePanelId:",
|
|
1266
1430
|
u
|
|
1267
1431
|
), null;
|
|
1268
1432
|
if (u === "settings") {
|
|
1269
|
-
const
|
|
1270
|
-
return /* @__PURE__ */
|
|
1271
|
-
|
|
1433
|
+
const c = i.isDirty, d = i.activeTrigger, m = d?.kind === "card-overflow" ? d.cardId : null;
|
|
1434
|
+
return /* @__PURE__ */ a(I, { isOpen: s, children: /* @__PURE__ */ a(
|
|
1435
|
+
M,
|
|
1272
1436
|
{
|
|
1273
|
-
isOpen:
|
|
1437
|
+
isOpen: s,
|
|
1274
1438
|
title: "Configure metric",
|
|
1275
1439
|
variant: "merged-stage",
|
|
1276
1440
|
onClose: () => n({ type: "CLOSE_PANEL", reason: "header-x" }),
|
|
1277
|
-
footer: /* @__PURE__ */ h(
|
|
1278
|
-
/* @__PURE__ */
|
|
1441
|
+
footer: /* @__PURE__ */ h(me, { children: [
|
|
1442
|
+
/* @__PURE__ */ a(
|
|
1279
1443
|
"button",
|
|
1280
1444
|
{
|
|
1281
1445
|
id: "btn-reset",
|
|
1282
1446
|
type: "button",
|
|
1283
1447
|
className: "gloss-panel-chrome__footer-btn",
|
|
1284
|
-
disabled: !
|
|
1448
|
+
disabled: !c,
|
|
1285
1449
|
onClick: () => {
|
|
1286
|
-
|
|
1450
|
+
m != null && n({ type: "CLEAR_BUFFER", cardId: m });
|
|
1287
1451
|
},
|
|
1288
1452
|
children: "Reset"
|
|
1289
1453
|
}
|
|
1290
1454
|
),
|
|
1291
|
-
/* @__PURE__ */
|
|
1292
|
-
/* @__PURE__ */
|
|
1455
|
+
/* @__PURE__ */ a("span", { style: { flex: 1 } }),
|
|
1456
|
+
/* @__PURE__ */ a(
|
|
1293
1457
|
"button",
|
|
1294
1458
|
{
|
|
1295
1459
|
id: "settings-cancel",
|
|
@@ -1299,350 +1463,350 @@ function Tt({ panelComponents: e, children: t }) {
|
|
|
1299
1463
|
children: "Cancel"
|
|
1300
1464
|
}
|
|
1301
1465
|
),
|
|
1302
|
-
/* @__PURE__ */
|
|
1466
|
+
/* @__PURE__ */ a(
|
|
1303
1467
|
"button",
|
|
1304
1468
|
{
|
|
1305
1469
|
id: "settings-apply",
|
|
1306
1470
|
type: "button",
|
|
1307
1471
|
className: "gloss-panel-chrome__footer-btn gloss-panel-chrome__footer-btn--primary",
|
|
1308
|
-
disabled: !
|
|
1472
|
+
disabled: !c,
|
|
1309
1473
|
onClick: () => n({ type: "CLOSE_PANEL", reason: "apply-button" }),
|
|
1310
1474
|
children: "Apply"
|
|
1311
1475
|
}
|
|
1312
1476
|
)
|
|
1313
1477
|
] }),
|
|
1314
|
-
children:
|
|
1478
|
+
children: l != null ? /* @__PURE__ */ a(l, { isOpen: s }) : t
|
|
1315
1479
|
}
|
|
1316
1480
|
) });
|
|
1317
1481
|
}
|
|
1318
1482
|
if (u === "catalog-add" || u === "catalog-replace") {
|
|
1319
|
-
if (
|
|
1320
|
-
const
|
|
1321
|
-
return /* @__PURE__ */
|
|
1322
|
-
|
|
1483
|
+
if (l == null) return null;
|
|
1484
|
+
const c = u === "catalog-replace" ? "replace" : "add";
|
|
1485
|
+
return /* @__PURE__ */ a(I, { isOpen: s, children: /* @__PURE__ */ a(
|
|
1486
|
+
M,
|
|
1323
1487
|
{
|
|
1324
|
-
isOpen:
|
|
1488
|
+
isOpen: s,
|
|
1325
1489
|
onClose: () => n({ type: "CLOSE_PANEL", reason: "header-x" }),
|
|
1326
1490
|
footer: null,
|
|
1327
|
-
title:
|
|
1328
|
-
children: /* @__PURE__ */
|
|
1329
|
-
|
|
1491
|
+
title: c === "replace" ? "Replace metric" : "Add a metric",
|
|
1492
|
+
children: /* @__PURE__ */ a(
|
|
1493
|
+
l,
|
|
1330
1494
|
{
|
|
1331
|
-
isOpen:
|
|
1332
|
-
footerSlot: /* @__PURE__ */
|
|
1495
|
+
isOpen: s,
|
|
1496
|
+
footerSlot: /* @__PURE__ */ a(je, { mode: c, dispatch: n })
|
|
1333
1497
|
}
|
|
1334
1498
|
)
|
|
1335
1499
|
}
|
|
1336
1500
|
) });
|
|
1337
1501
|
}
|
|
1338
|
-
return u === "page-management" ?
|
|
1339
|
-
|
|
1502
|
+
return u === "page-management" ? l == null ? null : /* @__PURE__ */ a(I, { isOpen: s, children: /* @__PURE__ */ a(
|
|
1503
|
+
M,
|
|
1340
1504
|
{
|
|
1341
|
-
isOpen:
|
|
1505
|
+
isOpen: s,
|
|
1342
1506
|
onClose: () => n({ type: "CLOSE_PANEL", reason: "header-x" }),
|
|
1343
1507
|
footer: null,
|
|
1344
1508
|
title: "Manage pages",
|
|
1345
|
-
children: /* @__PURE__ */
|
|
1509
|
+
children: /* @__PURE__ */ a(l, { isOpen: s, footerSlot: /* @__PURE__ */ a(Ze, {}) })
|
|
1346
1510
|
}
|
|
1347
|
-
) }) : /* @__PURE__ */
|
|
1348
|
-
|
|
1511
|
+
) }) : /* @__PURE__ */ a(I, { isOpen: s, children: /* @__PURE__ */ a(
|
|
1512
|
+
M,
|
|
1349
1513
|
{
|
|
1350
1514
|
isOpen: !0,
|
|
1351
1515
|
onClose: () => n({ type: "CLOSE_PANEL", reason: "header-x" }),
|
|
1352
1516
|
footer: null,
|
|
1353
|
-
children:
|
|
1517
|
+
children: l != null ? /* @__PURE__ */ a(l, { isOpen: s }) : t
|
|
1354
1518
|
}
|
|
1355
1519
|
) });
|
|
1356
1520
|
}
|
|
1357
|
-
function
|
|
1521
|
+
function de(e) {
|
|
1358
1522
|
return e === null ? null : e.kind === "manage-pages-action" ? `global-${e.align ?? "left"}` : e.kind === "card-overflow" || e.kind === "empty-cell" ? `section-${e.sectionIndex}` : null;
|
|
1359
1523
|
}
|
|
1360
|
-
const
|
|
1361
|
-
function
|
|
1524
|
+
const at = 685, ue = 627, st = "cubic-bezier(0.22, 1, 0.36, 1)", rt = 200;
|
|
1525
|
+
function Te(e, t) {
|
|
1362
1526
|
if (typeof window > "u") return t;
|
|
1363
|
-
const
|
|
1364
|
-
if (!
|
|
1365
|
-
const i = parseFloat(
|
|
1366
|
-
return Number.isNaN(i) ? t :
|
|
1527
|
+
const r = window.getComputedStyle(document.documentElement).getPropertyValue(e).trim();
|
|
1528
|
+
if (!r) return t;
|
|
1529
|
+
const i = parseFloat(r);
|
|
1530
|
+
return Number.isNaN(i) ? t : r.endsWith("s") && !r.endsWith("ms") ? i * 1e3 : i;
|
|
1367
1531
|
}
|
|
1368
|
-
function
|
|
1532
|
+
function lt(e, t) {
|
|
1369
1533
|
return typeof window > "u" ? t : window.getComputedStyle(document.documentElement).getPropertyValue(e).trim() || t;
|
|
1370
1534
|
}
|
|
1371
|
-
function
|
|
1535
|
+
function $(e) {
|
|
1372
1536
|
e.dispatch({ type: "OPEN_PANEL", panelId: e.panelId, trigger: e.trigger });
|
|
1373
1537
|
}
|
|
1374
|
-
function
|
|
1375
|
-
const { mountEl: t, chromeEl:
|
|
1376
|
-
if (t == null ||
|
|
1377
|
-
|
|
1538
|
+
function ot(e) {
|
|
1539
|
+
const { mountEl: t, chromeEl: r, reducedMotion: i, onAssert: n } = e;
|
|
1540
|
+
if (t == null || r == null) {
|
|
1541
|
+
$(e), n?.({ branch: "slide-fallback-no-dom", timestamp: Date.now() });
|
|
1378
1542
|
return;
|
|
1379
1543
|
}
|
|
1380
1544
|
if (i) {
|
|
1381
1545
|
e.dispatch({ type: "OPEN_PANEL", panelId: e.panelId, trigger: e.trigger }), n?.({ branch: "slide-reduced-motion", timestamp: Date.now() });
|
|
1382
1546
|
return;
|
|
1383
1547
|
}
|
|
1384
|
-
if (typeof
|
|
1385
|
-
|
|
1548
|
+
if (typeof r.animate != "function") {
|
|
1549
|
+
$(e), n?.({ branch: "slide-no-waapi", timestamp: Date.now() });
|
|
1386
1550
|
return;
|
|
1387
1551
|
}
|
|
1388
|
-
const
|
|
1389
|
-
|
|
1390
|
-
const u =
|
|
1552
|
+
const o = r.cloneNode(!0);
|
|
1553
|
+
o.id = "panel-chrome-frozen", o.style.cssText = "position:absolute;left:8px;right:8px;top:8px;z-index:1;pointer-events:none;", t.appendChild(o), r.style.zIndex = "2", e.dispatch({ type: "OPEN_PANEL", panelId: e.panelId, trigger: e.trigger });
|
|
1554
|
+
const u = Te("--panel-open-dur", at), s = lt("--panel-easing", st), l = r.animate(
|
|
1391
1555
|
[{ transform: "translateY(100%)" }, { transform: "translateY(0)" }],
|
|
1392
|
-
{ duration: u, easing:
|
|
1556
|
+
{ duration: u, easing: s, fill: "forwards" }
|
|
1393
1557
|
);
|
|
1394
|
-
|
|
1558
|
+
l.addEventListener(
|
|
1395
1559
|
"finish",
|
|
1396
1560
|
() => {
|
|
1397
|
-
|
|
1561
|
+
o.remove(), r.style.zIndex = "", l.cancel(), n?.({ branch: "slide-complete", frozen: "cleaned", timestamp: Date.now() });
|
|
1398
1562
|
},
|
|
1399
1563
|
{ once: !0 }
|
|
1400
1564
|
);
|
|
1401
1565
|
}
|
|
1402
|
-
function
|
|
1403
|
-
const { mountEl: t, onAssert:
|
|
1566
|
+
function it(e) {
|
|
1567
|
+
const { mountEl: t, onAssert: r } = e;
|
|
1404
1568
|
if (t == null) {
|
|
1405
|
-
e.dispatch({ type: "CLOSE_PANEL", reason: "mutex-handoff" }), setTimeout(() =>
|
|
1569
|
+
e.dispatch({ type: "CLOSE_PANEL", reason: "mutex-handoff" }), setTimeout(() => $(e), ue), r?.({ branch: "handoff-fallback-no-mount", timestamp: Date.now() });
|
|
1406
1570
|
return;
|
|
1407
1571
|
}
|
|
1408
|
-
const i =
|
|
1409
|
-
let n = !1,
|
|
1410
|
-
const u = (
|
|
1411
|
-
|
|
1412
|
-
},
|
|
1413
|
-
n || (n = !0, t.removeEventListener("transitionend", u), e.dispatch({ type: "OPEN_PANEL", panelId: e.panelId, trigger: e.trigger }),
|
|
1572
|
+
const i = Te("--panel-close-dur", ue);
|
|
1573
|
+
let n = !1, o = null;
|
|
1574
|
+
const u = (l) => {
|
|
1575
|
+
l.target !== t || l.propertyName !== "max-height" || n || (n = !0, o != null && clearTimeout(o), t.removeEventListener("transitionend", u), e.dispatch({ type: "OPEN_PANEL", panelId: e.panelId, trigger: e.trigger }), r?.({ branch: "handoff-complete", timestamp: Date.now() }));
|
|
1576
|
+
}, s = () => {
|
|
1577
|
+
n || (n = !0, t.removeEventListener("transitionend", u), e.dispatch({ type: "OPEN_PANEL", panelId: e.panelId, trigger: e.trigger }), r?.({ branch: "handoff-forced", timestamp: Date.now() }));
|
|
1414
1578
|
};
|
|
1415
|
-
t.addEventListener("transitionend", u), e.dispatch({ type: "CLOSE_PANEL", reason: "mutex-handoff" }),
|
|
1579
|
+
t.addEventListener("transitionend", u), e.dispatch({ type: "CLOSE_PANEL", reason: "mutex-handoff" }), o = setTimeout(s, i + rt);
|
|
1416
1580
|
}
|
|
1417
|
-
function
|
|
1418
|
-
const { state: t, onAssert:
|
|
1581
|
+
function ct(e) {
|
|
1582
|
+
const { state: t, onAssert: r } = e;
|
|
1419
1583
|
if (t.activePanelId && t.isDirty) {
|
|
1420
|
-
e.dispatch({ type: "OPEN_PANEL", panelId: e.panelId, trigger: e.trigger }),
|
|
1584
|
+
e.dispatch({ type: "OPEN_PANEL", panelId: e.panelId, trigger: e.trigger }), r?.({ branch: "blocked-dirty", timestamp: Date.now() });
|
|
1421
1585
|
return;
|
|
1422
1586
|
}
|
|
1423
|
-
const i =
|
|
1587
|
+
const i = de(t.activeTrigger), n = de(e.trigger);
|
|
1424
1588
|
if (!!t.activePanelId && i != null && i === n) {
|
|
1425
|
-
|
|
1589
|
+
ot(e);
|
|
1426
1590
|
return;
|
|
1427
1591
|
}
|
|
1428
1592
|
if (t.activePanelId) {
|
|
1429
|
-
|
|
1593
|
+
it(e);
|
|
1430
1594
|
return;
|
|
1431
1595
|
}
|
|
1432
|
-
|
|
1596
|
+
$(e), r?.({ branch: "fresh-open", timestamp: Date.now() });
|
|
1433
1597
|
}
|
|
1434
|
-
function
|
|
1598
|
+
function dt() {
|
|
1435
1599
|
if (!(typeof window > "u"))
|
|
1436
1600
|
return window.__panelsAsserter;
|
|
1437
1601
|
}
|
|
1438
|
-
function
|
|
1439
|
-
const e =
|
|
1602
|
+
function Dt() {
|
|
1603
|
+
const e = F(), t = pe();
|
|
1440
1604
|
return x(
|
|
1441
|
-
(
|
|
1605
|
+
(r, i) => {
|
|
1442
1606
|
if (!e)
|
|
1443
1607
|
return;
|
|
1444
|
-
const n = typeof document < "u" ? document.querySelector('[data-mount="panel"]') : null,
|
|
1445
|
-
panelId:
|
|
1608
|
+
const n = typeof document < "u" ? document.querySelector('[data-mount="panel"]') : null, o = typeof document < "u" ? document.querySelector('[data-chrome="panel"]') : null, u = {
|
|
1609
|
+
panelId: r,
|
|
1446
1610
|
trigger: i,
|
|
1447
1611
|
state: e.state,
|
|
1448
1612
|
dispatch: e.dispatch,
|
|
1449
1613
|
mountEl: n,
|
|
1450
|
-
chromeEl:
|
|
1614
|
+
chromeEl: o,
|
|
1451
1615
|
reducedMotion: t,
|
|
1452
|
-
onAssert: (
|
|
1453
|
-
|
|
1616
|
+
onAssert: (s) => {
|
|
1617
|
+
dt()?.recordTransition?.(s);
|
|
1454
1618
|
}
|
|
1455
1619
|
};
|
|
1456
|
-
|
|
1620
|
+
ct(u);
|
|
1457
1621
|
},
|
|
1458
1622
|
[e, t]
|
|
1459
1623
|
);
|
|
1460
1624
|
}
|
|
1461
|
-
let
|
|
1462
|
-
function
|
|
1625
|
+
let R = !1, G = null;
|
|
1626
|
+
function J() {
|
|
1463
1627
|
const e = [];
|
|
1464
1628
|
let t = "cleaned";
|
|
1465
1629
|
document.querySelectorAll("#panel-chrome-frozen").length > 0 && (e.push("#panel-chrome-frozen"), t = "lingering");
|
|
1466
1630
|
const i = document.querySelectorAll(".gloss-panel-mount");
|
|
1467
1631
|
i.length > 1 && e.push(`mount-count=${i.length}`);
|
|
1468
|
-
const n = i[0] ?? null,
|
|
1469
|
-
|
|
1470
|
-
const u =
|
|
1632
|
+
const n = i[0] ?? null, o = n ? n.querySelectorAll(".gloss-panel-chrome") : [];
|
|
1633
|
+
o.length > 1 && e.push(`chrome-count=${o.length}`);
|
|
1634
|
+
const u = o[0] ?? null;
|
|
1471
1635
|
if (u) {
|
|
1472
1636
|
const d = u.style.zIndex;
|
|
1473
1637
|
d !== "" && d !== "2" && e.push(`chrome-zindex=${d}`);
|
|
1474
1638
|
}
|
|
1475
|
-
const
|
|
1639
|
+
const s = n ? "present" : "absent", l = u ? "present" : "absent";
|
|
1476
1640
|
return {
|
|
1477
1641
|
valid: e.length === 0,
|
|
1478
|
-
mount:
|
|
1479
|
-
chrome:
|
|
1642
|
+
mount: s,
|
|
1643
|
+
chrome: l,
|
|
1480
1644
|
frozen: t,
|
|
1481
1645
|
orphans: e,
|
|
1482
1646
|
timestamp: Date.now()
|
|
1483
1647
|
};
|
|
1484
1648
|
}
|
|
1485
|
-
const
|
|
1486
|
-
function
|
|
1487
|
-
return { id: e, constraint: t, expected:
|
|
1649
|
+
const Q = "8px 8px 0px", q = "64px", j = "inset(0px 0px 60px 0px)", Z = "inset(0px -40px -40px -40px)";
|
|
1650
|
+
function _(e, t, r, i, n) {
|
|
1651
|
+
return { id: e, constraint: t, expected: r, actual: i, pass: n };
|
|
1488
1652
|
}
|
|
1489
|
-
function
|
|
1653
|
+
function O(e) {
|
|
1490
1654
|
const t = parseInt(e, 10);
|
|
1491
1655
|
return Number.isFinite(t) ? t : NaN;
|
|
1492
1656
|
}
|
|
1493
|
-
function
|
|
1494
|
-
const e = [], t = document.querySelector(".gloss-panel-mount"),
|
|
1657
|
+
function ne() {
|
|
1658
|
+
const e = [], t = document.querySelector(".gloss-panel-mount"), r = t?.querySelector(".gloss-panel-chrome") ?? null, i = document.querySelector(".gloss-panel-coordinator") ?? document.querySelector("[data-panel-coordinator]"), n = document.querySelector(".bell-cutout"), o = document.querySelector(".bell-popover"), u = document.querySelector(".gloss-bottom-toolbar");
|
|
1495
1659
|
if (!t)
|
|
1496
|
-
e.push(
|
|
1660
|
+
e.push(_("C1", "mount --reveal-y matches clip-path inset-bottom Npx", "mount present", "absent", !1));
|
|
1497
1661
|
else {
|
|
1498
|
-
const
|
|
1662
|
+
const s = getComputedStyle(t), l = s.getPropertyValue("--reveal-y").trim() || t.style.getPropertyValue("--reveal-y").trim(), c = s.clipPath || t.style.clipPath || "", d = c.match(/inset\(\s*0(?:px)?\s+0(?:px)?\s+(\d+)px\s+0(?:px)?\s*\)/), m = d ? parseInt(d[1], 10) : NaN, f = O(l), v = Number.isFinite(m) && Number.isFinite(f) && m === f;
|
|
1499
1663
|
e.push(
|
|
1500
|
-
|
|
1664
|
+
_(
|
|
1501
1665
|
"C1",
|
|
1502
1666
|
"mount --reveal-y matches clip-path inset-bottom Npx",
|
|
1503
|
-
`inset(0 0 ${
|
|
1504
|
-
`--reveal-y=${
|
|
1505
|
-
|
|
1667
|
+
`inset(0 0 ${f}px 0) === --reveal-y(${f}px)`,
|
|
1668
|
+
`--reveal-y=${l || "n/a"} clip-path=${c || "n/a"}`,
|
|
1669
|
+
v
|
|
1506
1670
|
)
|
|
1507
1671
|
);
|
|
1508
1672
|
}
|
|
1509
1673
|
if (!t)
|
|
1510
|
-
e.push(
|
|
1674
|
+
e.push(_("C2", "mount padding constant", Q, "absent", !1));
|
|
1511
1675
|
else {
|
|
1512
|
-
const
|
|
1513
|
-
e.push(
|
|
1676
|
+
const s = t.style.padding, l = getComputedStyle(t), c = s || l.padding || "", d = c === Q || c === "8px 8px 0px 8px";
|
|
1677
|
+
e.push(_("C2", "mount padding constant", Q, c || "n/a", d));
|
|
1514
1678
|
}
|
|
1515
1679
|
if (!t)
|
|
1516
|
-
e.push(
|
|
1680
|
+
e.push(_("C3", "mount.bottom resolves to var(--tb-h)=64px", q, "absent", !1));
|
|
1517
1681
|
else {
|
|
1518
|
-
const
|
|
1519
|
-
e.push(
|
|
1682
|
+
const l = getComputedStyle(t).bottom || t.style.bottom || "", c = l === q;
|
|
1683
|
+
e.push(_("C3", "mount.bottom resolves to var(--tb-h)=64px", q, l || "n/a", c));
|
|
1520
1684
|
}
|
|
1521
|
-
if (!
|
|
1522
|
-
e.push(
|
|
1685
|
+
if (!r)
|
|
1686
|
+
e.push(_("C4", "panel-chrome height formula = (row-h*3)+(row-gap*3)-8px", "formula match", "absent", !1));
|
|
1523
1687
|
else {
|
|
1524
|
-
const
|
|
1525
|
-
|
|
1526
|
-
),
|
|
1527
|
-
|
|
1528
|
-
), d =
|
|
1688
|
+
const s = getComputedStyle(r), l = O(
|
|
1689
|
+
s.getPropertyValue("--row-h").trim() || r.style.getPropertyValue("--row-h").trim() || "0"
|
|
1690
|
+
), c = O(
|
|
1691
|
+
s.getPropertyValue("--row-gap").trim() || r.style.getPropertyValue("--row-gap").trim() || "0"
|
|
1692
|
+
), d = l * 3 + c * 3 - 8, m = O(s.height || r.style.height || ""), f = Number.isFinite(l) && Number.isFinite(c) && Number.isFinite(m) && Number.isFinite(d) && m === d;
|
|
1529
1693
|
e.push(
|
|
1530
|
-
|
|
1694
|
+
_(
|
|
1531
1695
|
"C4",
|
|
1532
1696
|
"panel-chrome height formula = (row-h*3)+(row-gap*3)-8px",
|
|
1533
|
-
`${d}px (rh=${
|
|
1534
|
-
`${
|
|
1535
|
-
|
|
1697
|
+
`${d}px (rh=${l} rg=${c})`,
|
|
1698
|
+
`${m}px`,
|
|
1699
|
+
f
|
|
1536
1700
|
)
|
|
1537
1701
|
);
|
|
1538
1702
|
}
|
|
1539
|
-
if (!i || !
|
|
1703
|
+
if (!i || !r)
|
|
1540
1704
|
e.push(
|
|
1541
|
-
|
|
1705
|
+
_(
|
|
1542
1706
|
"C5",
|
|
1543
1707
|
'coordinator perspective + origin "center bottom"; chrome perspective-style flat',
|
|
1544
1708
|
"present",
|
|
1545
|
-
`coordinator=${i ? "present" : "absent"} chrome=${
|
|
1709
|
+
`coordinator=${i ? "present" : "absent"} chrome=${r ? "present" : "absent"}`,
|
|
1546
1710
|
!1
|
|
1547
1711
|
)
|
|
1548
1712
|
);
|
|
1549
1713
|
else {
|
|
1550
|
-
const
|
|
1714
|
+
const s = getComputedStyle(i), l = getComputedStyle(r), c = s.perspective || i.style.perspective || "", d = (s.perspectiveOrigin || i.style.perspectiveOrigin || "").trim(), m = l.perspectiveStyle || r.style.perspectiveStyle || "", b = c !== "" && c !== "none" && (d === "center bottom" || d === "50% 100%") && m === "flat";
|
|
1551
1715
|
e.push(
|
|
1552
|
-
|
|
1716
|
+
_(
|
|
1553
1717
|
"C5",
|
|
1554
1718
|
'coordinator perspective + origin "center bottom"; chrome perspective-style flat',
|
|
1555
1719
|
"perspective:not-none, origin:center bottom, chrome-style:flat",
|
|
1556
|
-
`perspective=${
|
|
1720
|
+
`perspective=${c} origin=${d} chrome-style=${m}`,
|
|
1557
1721
|
b
|
|
1558
1722
|
)
|
|
1559
1723
|
);
|
|
1560
1724
|
}
|
|
1561
1725
|
{
|
|
1562
|
-
let
|
|
1726
|
+
let s = !1, l = "absent";
|
|
1563
1727
|
try {
|
|
1564
|
-
for (const
|
|
1728
|
+
for (const c of Array.from(document.styleSheets)) {
|
|
1565
1729
|
let d = [];
|
|
1566
1730
|
try {
|
|
1567
|
-
d = Array.from(
|
|
1731
|
+
d = Array.from(c.cssRules ?? []);
|
|
1568
1732
|
} catch {
|
|
1569
1733
|
continue;
|
|
1570
1734
|
}
|
|
1571
|
-
for (const
|
|
1572
|
-
if (
|
|
1573
|
-
const
|
|
1574
|
-
|
|
1735
|
+
for (const m of d)
|
|
1736
|
+
if (m.name === "stage-spin") {
|
|
1737
|
+
const v = Array.from(m.cssRules), p = v.find((y) => y.keyText === "0%" || y.keyText === "from"), b = v.find((y) => y.keyText === "100%" || y.keyText === "to"), w = p?.style.transform ?? "", S = b?.style.transform ?? "", T = /rotateY\(\s*0(?:deg)?\s*\)/;
|
|
1738
|
+
s = T.test(w) && T.test(S), l = `0%=${w || "n/a"} 100%=${S || "n/a"}`;
|
|
1575
1739
|
break;
|
|
1576
1740
|
}
|
|
1577
|
-
if (
|
|
1741
|
+
if (l !== "absent") break;
|
|
1578
1742
|
}
|
|
1579
1743
|
} catch {
|
|
1580
|
-
|
|
1744
|
+
l = "inspection-error";
|
|
1581
1745
|
}
|
|
1582
1746
|
e.push(
|
|
1583
|
-
|
|
1747
|
+
_(
|
|
1584
1748
|
"C6",
|
|
1585
1749
|
"@keyframes stage-spin 0% AND 100% anchor at rotateY(0)",
|
|
1586
1750
|
"both frames rotateY(0)",
|
|
1587
|
-
|
|
1588
|
-
|
|
1751
|
+
l,
|
|
1752
|
+
s
|
|
1589
1753
|
)
|
|
1590
1754
|
);
|
|
1591
1755
|
}
|
|
1592
1756
|
{
|
|
1593
|
-
const
|
|
1757
|
+
const s = document.documentElement, l = getComputedStyle(s), c = l.getPropertyValue("--panel-open-dur").trim() || s.style.getPropertyValue("--panel-open-dur").trim(), d = l.getPropertyValue("--panel-close-dur").trim() || s.style.getPropertyValue("--panel-close-dur").trim(), m = O(c) || parseFloat(c) * (c.endsWith("s") && !c.endsWith("ms") ? 1e3 : 1), f = O(d) || parseFloat(d) * (d.endsWith("s") && !d.endsWith("ms") ? 1e3 : 1), v = Number.isFinite(m) && Number.isFinite(f) && m > f;
|
|
1594
1758
|
e.push(
|
|
1595
|
-
|
|
1759
|
+
_("C7", "--panel-open-dur > --panel-close-dur", "open > close", `open=${c || "n/a"} close=${d || "n/a"}`, v)
|
|
1596
1760
|
);
|
|
1597
1761
|
}
|
|
1598
1762
|
if (!n)
|
|
1599
|
-
e.push(
|
|
1763
|
+
e.push(_("C8", "BellCutout zero computed animation/transition", "no inline timing", "absent", !1));
|
|
1600
1764
|
else {
|
|
1601
|
-
const
|
|
1765
|
+
const s = getComputedStyle(n), l = s.animationName || "", c = s.transitionProperty || "", d = (l === "" || l === "none") && (c === "" || c === "none" || c === "all");
|
|
1602
1766
|
e.push(
|
|
1603
|
-
|
|
1767
|
+
_(
|
|
1604
1768
|
"C8",
|
|
1605
1769
|
"BellCutout zero computed animation/transition",
|
|
1606
1770
|
"animation:none AND transition:none",
|
|
1607
|
-
`animation=${
|
|
1771
|
+
`animation=${l || "n/a"} transition=${c || "n/a"}`,
|
|
1608
1772
|
d
|
|
1609
1773
|
)
|
|
1610
1774
|
);
|
|
1611
1775
|
}
|
|
1612
1776
|
if (!t)
|
|
1613
|
-
e.push(
|
|
1777
|
+
e.push(_("C9", "mount closed-state clipPath", j, "absent", !1));
|
|
1614
1778
|
else {
|
|
1615
|
-
const
|
|
1616
|
-
e.push(
|
|
1779
|
+
const s = t.style.clipPath, l = getComputedStyle(t), c = s || l.clipPath || "", d = c === j;
|
|
1780
|
+
e.push(_("C9", "mount closed-state clipPath", j, c || "n/a", d));
|
|
1617
1781
|
}
|
|
1618
|
-
if (!
|
|
1619
|
-
e.push(
|
|
1782
|
+
if (!o)
|
|
1783
|
+
e.push(_("C10", "bell-popover parentElement === document.body (open)", "body", "absent", !1));
|
|
1620
1784
|
else {
|
|
1621
|
-
const
|
|
1785
|
+
const s = o.parentElement, l = s === document.body;
|
|
1622
1786
|
e.push(
|
|
1623
|
-
|
|
1787
|
+
_(
|
|
1624
1788
|
"C10",
|
|
1625
1789
|
"bell-popover parentElement === document.body (open)",
|
|
1626
1790
|
"body",
|
|
1627
|
-
|
|
1628
|
-
|
|
1791
|
+
s === document.body ? "body" : s?.tagName ?? "n/a",
|
|
1792
|
+
l
|
|
1629
1793
|
)
|
|
1630
1794
|
);
|
|
1631
1795
|
}
|
|
1632
1796
|
if (!i)
|
|
1633
|
-
e.push(
|
|
1797
|
+
e.push(_("C11", "coordinator overflow === visible", "visible", "absent", !1));
|
|
1634
1798
|
else {
|
|
1635
|
-
const
|
|
1636
|
-
e.push(
|
|
1799
|
+
const l = getComputedStyle(i).overflow || i.style.overflow || "", c = l === "visible";
|
|
1800
|
+
e.push(_("C11", "coordinator overflow === visible", "visible", l || "n/a", c));
|
|
1637
1801
|
}
|
|
1638
1802
|
if (!u)
|
|
1639
|
-
e.push(
|
|
1803
|
+
e.push(_("C12", "toolbar clipPath = inset(0 -40 -40 -40)", Z, "absent", !1));
|
|
1640
1804
|
else {
|
|
1641
|
-
const
|
|
1642
|
-
e.push(
|
|
1805
|
+
const s = u.style.clipPath, l = getComputedStyle(u), c = s || l.clipPath || "", d = c === Z;
|
|
1806
|
+
e.push(_("C12", "toolbar clipPath = inset(0 -40 -40 -40)", Z, c || "n/a", d));
|
|
1643
1807
|
}
|
|
1644
1808
|
return e.push(
|
|
1645
|
-
|
|
1809
|
+
_(
|
|
1646
1810
|
"C13",
|
|
1647
1811
|
"same-position slide via WAAPI (mid-transition getAnimations().length > 0)",
|
|
1648
1812
|
"WAAPI driver wired in orchestrator (source-proof)",
|
|
@@ -1650,7 +1814,7 @@ function K() {
|
|
|
1650
1814
|
"wiring_only"
|
|
1651
1815
|
)
|
|
1652
1816
|
), e.push(
|
|
1653
|
-
|
|
1817
|
+
_(
|
|
1654
1818
|
"C14",
|
|
1655
1819
|
'cross-position handoff transitionend filtered by propertyName="max-height"',
|
|
1656
1820
|
"transitionend filter wired in orchestrator (source-proof)",
|
|
@@ -1659,11 +1823,11 @@ function K() {
|
|
|
1659
1823
|
)
|
|
1660
1824
|
), e;
|
|
1661
1825
|
}
|
|
1662
|
-
function
|
|
1663
|
-
return
|
|
1826
|
+
function ut(e) {
|
|
1827
|
+
return ne().find((t) => t.id === e);
|
|
1664
1828
|
}
|
|
1665
|
-
function
|
|
1666
|
-
const e =
|
|
1829
|
+
function pt() {
|
|
1830
|
+
const e = J();
|
|
1667
1831
|
return { q12: [
|
|
1668
1832
|
{
|
|
1669
1833
|
id: "Q12-12",
|
|
@@ -1672,76 +1836,76 @@ function st() {
|
|
|
1672
1836
|
actual: `valid=${e.valid} mount=${e.mount} chrome=${e.chrome} frozen=${e.frozen} orphans=[${e.orphans.join(",")}]`,
|
|
1673
1837
|
pass: e.valid
|
|
1674
1838
|
}
|
|
1675
|
-
], cc:
|
|
1839
|
+
], cc: ne() };
|
|
1676
1840
|
}
|
|
1677
|
-
function
|
|
1841
|
+
function mt() {
|
|
1678
1842
|
return {
|
|
1679
|
-
enable:
|
|
1680
|
-
disable:
|
|
1681
|
-
isEnabled: () =>
|
|
1682
|
-
getLastReport: () =>
|
|
1843
|
+
enable: ht,
|
|
1844
|
+
disable: ft,
|
|
1845
|
+
isEnabled: () => R,
|
|
1846
|
+
getLastReport: () => G,
|
|
1683
1847
|
recordTransition: (e) => {
|
|
1684
|
-
|
|
1848
|
+
R && (G = { ...e, ...J() });
|
|
1685
1849
|
},
|
|
1686
1850
|
assertOnce: () => {
|
|
1687
|
-
const e =
|
|
1688
|
-
return
|
|
1851
|
+
const e = J();
|
|
1852
|
+
return G = e, e;
|
|
1689
1853
|
},
|
|
1690
|
-
assertCcOnly:
|
|
1691
|
-
getCcRowById:
|
|
1692
|
-
assertPanelTruths:
|
|
1854
|
+
assertCcOnly: ne,
|
|
1855
|
+
getCcRowById: ut,
|
|
1856
|
+
assertPanelTruths: pt
|
|
1693
1857
|
};
|
|
1694
1858
|
}
|
|
1695
|
-
function
|
|
1696
|
-
if (
|
|
1697
|
-
window.__panelsAsserter || (window.__panelsAsserter =
|
|
1859
|
+
function ht() {
|
|
1860
|
+
if (R = !0, typeof window > "u") return;
|
|
1861
|
+
window.__panelsAsserter || (window.__panelsAsserter = mt(), console.info(
|
|
1698
1862
|
"[panels] asserter enabled (P3b Q12-12 + P6 W5 cc:C1..C14). Inspect via window.__panelsAsserter."
|
|
1699
1863
|
));
|
|
1700
1864
|
}
|
|
1701
|
-
function
|
|
1702
|
-
|
|
1865
|
+
function ft() {
|
|
1866
|
+
R = !1;
|
|
1703
1867
|
}
|
|
1704
1868
|
export {
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1869
|
+
It as COMMITS,
|
|
1870
|
+
wt as CatalogAddShell,
|
|
1871
|
+
je as CatalogFooter,
|
|
1872
|
+
Et as CatalogReplaceShell,
|
|
1873
|
+
te as CatalogStateContext,
|
|
1874
|
+
Ue as CloneCard,
|
|
1875
|
+
Fe as CloneStage,
|
|
1876
|
+
be as MOCK_DEFAULT_LENS,
|
|
1877
|
+
ge as MOCK_LENSES,
|
|
1878
|
+
ee as MOCK_LENS_META,
|
|
1879
|
+
Xe as MOCK_PAGES,
|
|
1880
|
+
ve as MOCK_TILES_BY_LENS,
|
|
1881
|
+
xt as PANEL_IDS,
|
|
1882
|
+
Ze as PageMgmtFooter,
|
|
1883
|
+
Pt as PageMgmtShell,
|
|
1884
|
+
Ce as PageMgmtStateContext,
|
|
1885
|
+
M as PanelChrome,
|
|
1886
|
+
Mt as PanelHost,
|
|
1887
|
+
At as PanelHostShell,
|
|
1888
|
+
I as PanelMount,
|
|
1889
|
+
$t as PanelProvider,
|
|
1890
|
+
kt as PanelSlot,
|
|
1891
|
+
St as SettingsShell,
|
|
1892
|
+
ne as assertCcOnly,
|
|
1893
|
+
J as assertPanelDomShape,
|
|
1894
|
+
pt as assertPanelTruths,
|
|
1895
|
+
Rt as deriveSurfaceState,
|
|
1896
|
+
ft as disablePanelAsserter,
|
|
1897
|
+
ht as enablePanelAsserter,
|
|
1898
|
+
ut as getCcRowById,
|
|
1899
|
+
Ft as initialState,
|
|
1900
|
+
de as positionKey,
|
|
1901
|
+
Ut as reducer,
|
|
1902
|
+
ct as transitionToPanel,
|
|
1903
|
+
qe as useCatalogState,
|
|
1904
|
+
Nt as useEditingCardId,
|
|
1905
|
+
_e as usePageMgmtState,
|
|
1906
|
+
we as usePanelContext,
|
|
1907
|
+
F as usePanelContextOptional,
|
|
1908
|
+
zt as usePanelCoordinator,
|
|
1909
|
+
pe as useReducedMotionPanel,
|
|
1910
|
+
Dt as useTransitionToPanel
|
|
1747
1911
|
};
|