@dsh-workbench/core 0.2.4 → 0.2.5
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/client.js +248 -39
- package/dist/client/client.body.js +248 -39
- package/dist/client/index.js +249 -40
- package/dist/host/index.js +3 -0
- package/dist/types/app/client.d.ts +102 -21
- package/dist/types/modules/sessions/index.d.ts +1 -0
- package/dist/types/modules/sessions/model/scroll-edges.d.ts +10 -0
- package/dist/types/modules/sessions/model/scroll-edges.test.d.ts +1 -0
- package/dist/types/modules/sessions/model/session-node.d.ts +1 -0
- package/package.json +2 -2
package/client.js
CHANGED
|
@@ -24,6 +24,51 @@ window.__ModuleLoader__.load({
|
|
|
24
24
|
return parts.filter(Boolean).join(" ");
|
|
25
25
|
}
|
|
26
26
|
var MINUTE = 6e4;
|
|
27
|
+
var HOUR = 60 * MINUTE;
|
|
28
|
+
var DAY = 24 * HOUR;
|
|
29
|
+
var MONTH = 30 * DAY;
|
|
30
|
+
var YEAR = 365 * DAY;
|
|
31
|
+
function relativeTimeBucket(epochMs, now = Date.now()) {
|
|
32
|
+
if (!Number.isFinite(epochMs) || !Number.isFinite(now)) return null;
|
|
33
|
+
const diff = Math.max(0, now - epochMs);
|
|
34
|
+
if (diff < MINUTE) return {
|
|
35
|
+
unit: "now",
|
|
36
|
+
n: 0
|
|
37
|
+
};
|
|
38
|
+
if (diff < HOUR) return {
|
|
39
|
+
unit: "minutes",
|
|
40
|
+
n: Math.floor(diff / MINUTE)
|
|
41
|
+
};
|
|
42
|
+
if (diff < DAY) return {
|
|
43
|
+
unit: "hours",
|
|
44
|
+
n: Math.floor(diff / HOUR)
|
|
45
|
+
};
|
|
46
|
+
if (diff < MONTH) return {
|
|
47
|
+
unit: "days",
|
|
48
|
+
n: Math.floor(diff / DAY)
|
|
49
|
+
};
|
|
50
|
+
if (diff < YEAR) return {
|
|
51
|
+
unit: "months",
|
|
52
|
+
n: Math.floor(diff / MONTH)
|
|
53
|
+
};
|
|
54
|
+
return {
|
|
55
|
+
unit: "years",
|
|
56
|
+
n: Math.floor(diff / YEAR)
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function bucketLabel(bucket, t) {
|
|
60
|
+
return bucket.unit === "now" ? t("time.now") : t(`time.short.${bucket.unit}`, { n: bucket.n });
|
|
61
|
+
}
|
|
62
|
+
function relativeTimeCompact(epochMs, t, now) {
|
|
63
|
+
const bucket = relativeTimeBucket(epochMs, now);
|
|
64
|
+
return bucket === null ? "" : bucketLabel(bucket, t);
|
|
65
|
+
}
|
|
66
|
+
function relativeTimeAgo(epochMs, t, now) {
|
|
67
|
+
const bucket = relativeTimeBucket(epochMs, now);
|
|
68
|
+
if (bucket === null) return "";
|
|
69
|
+
const label = bucketLabel(bucket, t);
|
|
70
|
+
return bucket.unit === "now" ? label : t("time.ago", { t: label });
|
|
71
|
+
}
|
|
27
72
|
function relativeTime(epochMs, t) {
|
|
28
73
|
if (!Number.isFinite(epochMs)) return "";
|
|
29
74
|
const diff = Date.now() - epochMs;
|
|
@@ -1260,20 +1305,32 @@ window.__ModuleLoader__.load({
|
|
|
1260
1305
|
"session.new.label": "Start a session in the current project",
|
|
1261
1306
|
"session.empty": "No sessions in this project yet.",
|
|
1262
1307
|
"session.noProject": "Add a project first.",
|
|
1308
|
+
"session.list.label": "Sessions",
|
|
1309
|
+
"session.copy": "Copy",
|
|
1263
1310
|
"session.pinned": "Pinned",
|
|
1264
1311
|
"session.actions": "Actions for {name}",
|
|
1265
1312
|
"status.idle": "Idle",
|
|
1266
1313
|
"status.running": "Running",
|
|
1267
1314
|
"status.waitingApproval": "Waiting for approval",
|
|
1268
|
-
"status.planReview": "
|
|
1315
|
+
"status.planReview": "Plan awaiting review",
|
|
1269
1316
|
"status.waitingAnswer": "Waiting for your answer",
|
|
1317
|
+
"status.compact.approval": "Approval",
|
|
1318
|
+
"status.compact.planReview": "Plan review",
|
|
1319
|
+
"status.compact.answer": "Answer",
|
|
1270
1320
|
"status.completed": "Completed",
|
|
1271
1321
|
"status.subagentsRunning.one": "{n} subagent running",
|
|
1272
1322
|
"status.subagentsRunning.other": "{n} subagents running",
|
|
1323
|
+
"hover.copied": "Copied",
|
|
1273
1324
|
"time.now": "just now",
|
|
1274
1325
|
"time.minutes": "{n} min ago",
|
|
1275
1326
|
"time.hours": "{n} h ago",
|
|
1276
1327
|
"time.days": "{n} d ago",
|
|
1328
|
+
"time.ago": "{t} ago",
|
|
1329
|
+
"time.short.minutes": "{n}min",
|
|
1330
|
+
"time.short.hours": "{n}h",
|
|
1331
|
+
"time.short.days": "{n}d",
|
|
1332
|
+
"time.short.months": "{n}mo",
|
|
1333
|
+
"time.short.years": "{n}y",
|
|
1277
1334
|
"panels.title": "Panel modules",
|
|
1278
1335
|
"panels.groupBoardless": "No-board modules",
|
|
1279
1336
|
"panels.groupPlugins": "opencli plugins",
|
|
@@ -1608,20 +1665,32 @@ window.__ModuleLoader__.load({
|
|
|
1608
1665
|
"session.new.label": "在当前项目新建会话",
|
|
1609
1666
|
"session.empty": "这个项目还没有会话。",
|
|
1610
1667
|
"session.noProject": "先添加一个项目。",
|
|
1668
|
+
"session.list.label": "会话",
|
|
1669
|
+
"session.copy": "复制",
|
|
1611
1670
|
"session.pinned": "已置顶",
|
|
1612
1671
|
"session.actions": "{name} 的操作",
|
|
1613
1672
|
"status.idle": "空闲",
|
|
1614
|
-
"status.running": "
|
|
1615
|
-
"status.waitingApproval": "
|
|
1616
|
-
"status.planReview": "
|
|
1673
|
+
"status.running": "进行中",
|
|
1674
|
+
"status.waitingApproval": "等待审批",
|
|
1675
|
+
"status.planReview": "计划待审",
|
|
1617
1676
|
"status.waitingAnswer": "等待回答",
|
|
1677
|
+
"status.compact.approval": "待审批",
|
|
1678
|
+
"status.compact.planReview": "计划待审",
|
|
1679
|
+
"status.compact.answer": "待回答",
|
|
1618
1680
|
"status.completed": "已完成",
|
|
1619
1681
|
"status.subagentsRunning.one": "{n} 个子代理运行中",
|
|
1620
1682
|
"status.subagentsRunning.other": "{n} 个子代理运行中",
|
|
1683
|
+
"hover.copied": "已复制",
|
|
1621
1684
|
"time.now": "刚刚",
|
|
1622
1685
|
"time.minutes": "{n} 分钟前",
|
|
1623
1686
|
"time.hours": "{n} 小时前",
|
|
1624
1687
|
"time.days": "{n} 天前",
|
|
1688
|
+
"time.ago": "{t}前",
|
|
1689
|
+
"time.short.minutes": "{n}分钟",
|
|
1690
|
+
"time.short.hours": "{n}小时",
|
|
1691
|
+
"time.short.days": "{n}天",
|
|
1692
|
+
"time.short.months": "{n}个月",
|
|
1693
|
+
"time.short.years": "{n}年",
|
|
1625
1694
|
"panels.title": "面板模块",
|
|
1626
1695
|
"panels.groupBoardless": "无看板模块",
|
|
1627
1696
|
"panels.groupPlugins": "opencli 插件",
|
|
@@ -2379,6 +2448,9 @@ window.__ModuleLoader__.load({
|
|
|
2379
2448
|
readFlag: () => readFlag,
|
|
2380
2449
|
readText: () => readText,
|
|
2381
2450
|
relativeTime: () => relativeTime,
|
|
2451
|
+
relativeTimeAgo: () => relativeTimeAgo,
|
|
2452
|
+
relativeTimeBucket: () => relativeTimeBucket,
|
|
2453
|
+
relativeTimeCompact: () => relativeTimeCompact,
|
|
2382
2454
|
runsRouteOf: () => runsRouteOf,
|
|
2383
2455
|
scopePrefixOf: () => scopePrefixOf,
|
|
2384
2456
|
shortenPath: () => shortenPath,
|
|
@@ -5040,19 +5112,22 @@ window.__ModuleLoader__.load({
|
|
|
5040
5112
|
case "approval":
|
|
5041
5113
|
pending = {
|
|
5042
5114
|
state: "warning",
|
|
5043
|
-
label: t("status.waitingApproval")
|
|
5115
|
+
label: t("status.waitingApproval"),
|
|
5116
|
+
trailingLabel: t("status.compact.approval")
|
|
5044
5117
|
};
|
|
5045
5118
|
break;
|
|
5046
5119
|
case "plan-review":
|
|
5047
5120
|
pending = {
|
|
5048
5121
|
state: "warning",
|
|
5049
|
-
label: t("status.planReview")
|
|
5122
|
+
label: t("status.planReview"),
|
|
5123
|
+
trailingLabel: t("status.compact.planReview")
|
|
5050
5124
|
};
|
|
5051
5125
|
break;
|
|
5052
5126
|
case "question":
|
|
5053
5127
|
pending = {
|
|
5054
5128
|
state: "warning",
|
|
5055
|
-
label: t("status.waitingAnswer")
|
|
5129
|
+
label: t("status.waitingAnswer"),
|
|
5130
|
+
trailingLabel: t("status.compact.answer")
|
|
5056
5131
|
};
|
|
5057
5132
|
break;
|
|
5058
5133
|
default: pending = void 0;
|
|
@@ -5108,6 +5183,16 @@ window.__ModuleLoader__.load({
|
|
|
5108
5183
|
return rows;
|
|
5109
5184
|
}
|
|
5110
5185
|
//#endregion
|
|
5186
|
+
//#region src/modules/sessions/model/scroll-edges.ts
|
|
5187
|
+
var EDGE_SLACK_PX = 1;
|
|
5188
|
+
function scrollEdgesOf(metrics) {
|
|
5189
|
+
const rest = metrics.scrollHeight - metrics.clientHeight;
|
|
5190
|
+
return {
|
|
5191
|
+
canScrollUp: metrics.scrollTop > EDGE_SLACK_PX,
|
|
5192
|
+
canScrollDown: metrics.scrollTop < rest - EDGE_SLACK_PX
|
|
5193
|
+
};
|
|
5194
|
+
}
|
|
5195
|
+
//#endregion
|
|
5111
5196
|
//#region src/app/layouts/project-selection.ts
|
|
5112
5197
|
var listeners$1 = /* @__PURE__ */ new Set();
|
|
5113
5198
|
function selectedProjectId() {
|
|
@@ -9014,6 +9099,64 @@ window.__ModuleLoader__.load({
|
|
|
9014
9099
|
}
|
|
9015
9100
|
//#endregion
|
|
9016
9101
|
//#region src/app/layouts/sidebar/SessionList.tsx
|
|
9102
|
+
var MIN_TITLE_REVEAL_PX = 8;
|
|
9103
|
+
var TITLE_MARQUEE_PX_PER_MS = .03;
|
|
9104
|
+
var REST_EDGES = {
|
|
9105
|
+
canScrollUp: false,
|
|
9106
|
+
canScrollDown: false
|
|
9107
|
+
};
|
|
9108
|
+
function placeTitle(title, left, range) {
|
|
9109
|
+
title.scrollTo({
|
|
9110
|
+
left,
|
|
9111
|
+
behavior: "instant"
|
|
9112
|
+
});
|
|
9113
|
+
if (left > 0) title.dataset.scrolled = "";
|
|
9114
|
+
else delete title.dataset.scrolled;
|
|
9115
|
+
if (left < range) title.dataset.clipped = "";
|
|
9116
|
+
else delete title.dataset.clipped;
|
|
9117
|
+
}
|
|
9118
|
+
function restTitle(title) {
|
|
9119
|
+
title.scrollTo({
|
|
9120
|
+
left: 0,
|
|
9121
|
+
behavior: "instant"
|
|
9122
|
+
});
|
|
9123
|
+
delete title.dataset.scrolled;
|
|
9124
|
+
delete title.dataset.clipped;
|
|
9125
|
+
}
|
|
9126
|
+
function useTitleMarquee(title) {
|
|
9127
|
+
const frame = useRef(0);
|
|
9128
|
+
useEffect(() => () => {
|
|
9129
|
+
cancelAnimationFrame(frame.current);
|
|
9130
|
+
}, []);
|
|
9131
|
+
return useMemo(() => ({
|
|
9132
|
+
enter: () => {
|
|
9133
|
+
const element = title.current;
|
|
9134
|
+
if (element === null) return;
|
|
9135
|
+
const range = element.scrollWidth - element.clientWidth;
|
|
9136
|
+
if (range <= MIN_TITLE_REVEAL_PX) return;
|
|
9137
|
+
if (window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
|
|
9138
|
+
placeTitle(element, range, range);
|
|
9139
|
+
return;
|
|
9140
|
+
}
|
|
9141
|
+
cancelAnimationFrame(frame.current);
|
|
9142
|
+
let previous;
|
|
9143
|
+
let position = 0;
|
|
9144
|
+
const step = (now) => {
|
|
9145
|
+
position += previous === void 0 ? 0 : (now - previous) * TITLE_MARQUEE_PX_PER_MS;
|
|
9146
|
+
previous = now;
|
|
9147
|
+
placeTitle(element, Math.min(position, range), range);
|
|
9148
|
+
if (position < range) frame.current = requestAnimationFrame(step);
|
|
9149
|
+
};
|
|
9150
|
+
frame.current = requestAnimationFrame(step);
|
|
9151
|
+
},
|
|
9152
|
+
leave: () => {
|
|
9153
|
+
cancelAnimationFrame(frame.current);
|
|
9154
|
+
const element = title.current;
|
|
9155
|
+
if (element === null) return;
|
|
9156
|
+
restTitle(element);
|
|
9157
|
+
}
|
|
9158
|
+
}), [title]);
|
|
9159
|
+
}
|
|
9017
9160
|
function SessionLeading({ node, statuses, renderSlot }) {
|
|
9018
9161
|
if (node.blank) return null;
|
|
9019
9162
|
const primary = statuses[0];
|
|
@@ -9023,43 +9166,98 @@ window.__ModuleLoader__.load({
|
|
|
9023
9166
|
key: status.label
|
|
9024
9167
|
}, status.label)));
|
|
9025
9168
|
}
|
|
9169
|
+
function SessionHoverContent({ node, statuses, renderSlot, t }) {
|
|
9170
|
+
return /* @__PURE__ */ h("div", { className: "wb-sessionHover" }, /* @__PURE__ */ h("div", { className: "wb-sessionHoverTitle" }, node.blank ? t("session.new") : node.title), node.blank ? null : /* @__PURE__ */ h("div", { className: "wb-sessionHoverTime" }, relativeTimeAgo(node.updatedAt, t)), renderSlot("sidebar.session.row.hover", { sessionId: node.id }), statuses.map((status) => /* @__PURE__ */ h("div", {
|
|
9171
|
+
className: "wb-sessionHoverStatus",
|
|
9172
|
+
key: status.label
|
|
9173
|
+
}, /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.StateDot, { state: status.state }), /* @__PURE__ */ h("span", null, status.label))));
|
|
9174
|
+
}
|
|
9026
9175
|
function SessionRow({ node, active, onOpen, renderSlot, t }) {
|
|
9027
9176
|
const [menuOpen, setMenuOpen] = useState(false);
|
|
9028
9177
|
const menuState = useMemo(() => [menuOpen, setMenuOpen], [menuOpen]);
|
|
9029
9178
|
const statuses = sessionStatuses(node, t);
|
|
9030
9179
|
const label = node.blank ? t("session.new") : node.title;
|
|
9180
|
+
const titleRef = useRef(null);
|
|
9181
|
+
const marquee = useTitleMarquee(titleRef);
|
|
9182
|
+
const trailing = statuses[0]?.trailingLabel;
|
|
9031
9183
|
const owner = {
|
|
9032
9184
|
sessionId: node.id,
|
|
9033
|
-
displayTitle:
|
|
9034
|
-
};
|
|
9035
|
-
return /* @__PURE__ */ h(
|
|
9036
|
-
|
|
9037
|
-
|
|
9038
|
-
|
|
9039
|
-
|
|
9040
|
-
|
|
9041
|
-
|
|
9042
|
-
|
|
9043
|
-
|
|
9044
|
-
|
|
9045
|
-
|
|
9046
|
-
|
|
9047
|
-
|
|
9048
|
-
|
|
9049
|
-
|
|
9050
|
-
|
|
9051
|
-
|
|
9052
|
-
|
|
9053
|
-
|
|
9054
|
-
"
|
|
9055
|
-
|
|
9056
|
-
|
|
9057
|
-
|
|
9058
|
-
|
|
9059
|
-
|
|
9060
|
-
}, /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.
|
|
9061
|
-
|
|
9062
|
-
|
|
9185
|
+
displayTitle: node.title
|
|
9186
|
+
};
|
|
9187
|
+
return /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.HoverCard, {
|
|
9188
|
+
anchor: /* @__PURE__ */ h("div", {
|
|
9189
|
+
className: cx("wb-sessionRow", active && "wb-selected", menuOpen && "wb-menuOpen"),
|
|
9190
|
+
role: "treeitem",
|
|
9191
|
+
"aria-selected": active,
|
|
9192
|
+
onClick: () => onOpen(node.id),
|
|
9193
|
+
onPointerEnter: marquee.enter,
|
|
9194
|
+
onPointerLeave: marquee.leave
|
|
9195
|
+
}, /* @__PURE__ */ h("span", { className: "wb-sessionLeading" }, /* @__PURE__ */ h(SessionLeading, {
|
|
9196
|
+
node,
|
|
9197
|
+
statuses,
|
|
9198
|
+
renderSlot
|
|
9199
|
+
})), /* @__PURE__ */ h("span", {
|
|
9200
|
+
className: "wb-sessionTitle",
|
|
9201
|
+
ref: titleRef
|
|
9202
|
+
}, label), node.blank ? null : /* @__PURE__ */ h("span", {
|
|
9203
|
+
className: "wb-sessionTime",
|
|
9204
|
+
"aria-hidden": trailing === void 0 ? void 0 : true
|
|
9205
|
+
}, trailing ?? relativeTimeCompact(node.updatedAt, t)), node.pinned ? /* @__PURE__ */ h(Tip, { label: t("session.pinned") }, /* @__PURE__ */ h("span", {
|
|
9206
|
+
className: "wb-sessionPin",
|
|
9207
|
+
role: "img",
|
|
9208
|
+
"aria-label": t("session.pinned")
|
|
9209
|
+
}, /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.IconPinFillRegular, { size: 14 }))) : null, node.blank ? null : /* @__PURE__ */ h("span", {
|
|
9210
|
+
className: "wb-rowActions",
|
|
9211
|
+
onClick: (event) => event.stopPropagation()
|
|
9212
|
+
}, /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.Menu, {
|
|
9213
|
+
open: menuOpen,
|
|
9214
|
+
portal: true,
|
|
9215
|
+
closeOnPointerLeave: true,
|
|
9216
|
+
anchor: /* @__PURE__ */ h("button", {
|
|
9217
|
+
type: "button",
|
|
9218
|
+
className: "wb-iconButton",
|
|
9219
|
+
"aria-haspopup": "menu",
|
|
9220
|
+
"aria-expanded": menuOpen,
|
|
9221
|
+
"aria-label": t("session.actions", { name: label }),
|
|
9222
|
+
onClick: (event) => {
|
|
9223
|
+
event.stopPropagation();
|
|
9224
|
+
setMenuOpen((value) => !value);
|
|
9225
|
+
}
|
|
9226
|
+
}, /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.IconEllipsisOutlineRegular, { size: 16 })),
|
|
9227
|
+
onClose: () => setMenuOpen(false)
|
|
9228
|
+
}, renderSlot("sidebar.workspaces.session.menu.item", owner, { hookContext: menuState })), renderSlot("sidebar.workspaces.session.row.action", owner))),
|
|
9229
|
+
content: /* @__PURE__ */ h(SessionHoverContent, {
|
|
9230
|
+
node,
|
|
9231
|
+
statuses,
|
|
9232
|
+
renderSlot,
|
|
9233
|
+
t
|
|
9234
|
+
}),
|
|
9235
|
+
openDelayMs: 800,
|
|
9236
|
+
disabled: menuOpen,
|
|
9237
|
+
copyText: node.blank || node.title === "" ? void 0 : node.title,
|
|
9238
|
+
copyLabel: t("session.copy"),
|
|
9239
|
+
copiedLabel: t("hover.copied")
|
|
9240
|
+
});
|
|
9241
|
+
}
|
|
9242
|
+
function useScrollEdges(list, rows) {
|
|
9243
|
+
const [edges, setEdges] = useState(REST_EDGES);
|
|
9244
|
+
useEffect(() => {
|
|
9245
|
+
const element = list.current;
|
|
9246
|
+
if (element === null) return;
|
|
9247
|
+
const sync = () => {
|
|
9248
|
+
const next = scrollEdgesOf(element);
|
|
9249
|
+
setEdges((current) => current.canScrollUp === next.canScrollUp && current.canScrollDown === next.canScrollDown ? current : next);
|
|
9250
|
+
};
|
|
9251
|
+
sync();
|
|
9252
|
+
element.addEventListener("scroll", sync, { passive: true });
|
|
9253
|
+
const observer = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(sync);
|
|
9254
|
+
observer?.observe(element);
|
|
9255
|
+
return () => {
|
|
9256
|
+
element.removeEventListener("scroll", sync);
|
|
9257
|
+
observer?.disconnect();
|
|
9258
|
+
};
|
|
9259
|
+
}, [list, rows]);
|
|
9260
|
+
return edges;
|
|
9063
9261
|
}
|
|
9064
9262
|
function SessionList({ workspace, pinnedIds, archived, panelActive, useSessions, useSessionStatus, onOpen, renderSlot, t }) {
|
|
9065
9263
|
const list = useSessions((state) => state);
|
|
@@ -9077,9 +9275,16 @@ window.__ModuleLoader__.load({
|
|
|
9077
9275
|
currentId,
|
|
9078
9276
|
pinned
|
|
9079
9277
|
]);
|
|
9278
|
+
const listRef = useRef(null);
|
|
9279
|
+
const edges = useScrollEdges(listRef, rows);
|
|
9080
9280
|
if (workspace === null) return /* @__PURE__ */ h("div", { className: "wb-empty" }, t("session.noProject"));
|
|
9081
9281
|
if (rows.length === 0) return /* @__PURE__ */ h("div", { className: "wb-empty" }, t("session.empty"));
|
|
9082
|
-
return /* @__PURE__ */ h("div", {
|
|
9282
|
+
return /* @__PURE__ */ h("div", {
|
|
9283
|
+
ref: listRef,
|
|
9284
|
+
className: cx("wb-sessions", edges.canScrollUp && "wb-fadeTop", edges.canScrollDown && "wb-fadeBottom"),
|
|
9285
|
+
role: "tree",
|
|
9286
|
+
"aria-label": t("session.list.label")
|
|
9287
|
+
}, rows.map((row) => /* @__PURE__ */ h(SessionRow, {
|
|
9083
9288
|
key: row.id,
|
|
9084
9289
|
node: sessionNode(row, statusById, list, pinned, archivedSet),
|
|
9085
9290
|
active: row.id === currentId,
|
|
@@ -9224,7 +9429,7 @@ window.__ModuleLoader__.load({
|
|
|
9224
9429
|
var scale_default = ":root {\n --wb-dur-0-12: 0.12s;\n --wb-dur-0-15: 0.15s;\n --wb-dur-0-9: 0.9s;\n --wb-dur-1-4: 1.4s;\n --wb-dur-1-5: 1.5s;\n --wb-font-10: 10px;\n --wb-font-11-5: 11.5px;\n --wb-font-12-5: 12.5px;\n --wb-font-17: 17px;\n --wb-font-18: 18px;\n --wb-font-6: 6px;\n --wb-len-0-5: 0.5px;\n --wb-len-1: 1px;\n --wb-len-10: 10px;\n --wb-len-12: 12px;\n --wb-len-120: 120px;\n --wb-len-13: 13px;\n --wb-len-132: 132px;\n --wb-len-14: 14px;\n --wb-len-144: 144px;\n --wb-len-15: 15px;\n --wb-len-16: 16px;\n --wb-len-18: 18px;\n --wb-len-2: 2px;\n --wb-len-20: 20px;\n --wb-len-200: 200px;\n --wb-len-22: 22px;\n --wb-len-220: 220px;\n --wb-len-24: 24px;\n --wb-len-240: 240px;\n --wb-len-26: 26px;\n --wb-len-260: 260px;\n --wb-len-28: 28px;\n --wb-len-3: 3px;\n --wb-len-3-4em: 3.4em;\n --wb-len-30: 30px;\n --wb-len-300: 300px;\n --wb-len-32: 32px;\n --wb-len-320: 320px;\n --wb-len-34: 34px;\n --wb-len-36: 36px;\n --wb-len-360: 360px;\n --wb-len-38: 38px;\n --wb-len-4: 4px;\n --wb-len-440: 440px;\n --wb-len-40: 40px;\n --wb-len-420: 420px;\n --wb-len-42em: 42em;\n --wb-len-44: 44px;\n --wb-len-48: 48px;\n --wb-len-5: 5px;\n --wb-len-52: 52px;\n --wb-len-520: 520px;\n --wb-len-56: 56px;\n --wb-len-560: 560px;\n --wb-len-6: 6px;\n --wb-len-60: 60px;\n --wb-len-64: 64px;\n --wb-len-7: 7px;\n --wb-len-72: 72px;\n --wb-len-8: 8px;\n --wb-len-800: 800px;\n --wb-len-9: 9px;\n --wb-len-96: 96px;\n --wb-len-960: 960px;\n --wb-len-neg-0-5: -0.5px;\n --wb-len-neg-1-5: -1.5px;\n --wb-len-neg-12: -12px;\n --wb-len-neg-2: -2px;\n --wb-len-neg-3: -3px;\n --wb-len-neg-4: -4px;\n --wb-len-neg-6: -6px;\n --wb-len-neg-8: -8px;\n --wb-line-10: 10px;\n --wb-line-13: 13px;\n --wb-line-14: 14px;\n --wb-line-15: 15px;\n --wb-line-16: 16px;\n --wb-line-17: 17px;\n --wb-line-18: 18px;\n --wb-line-19: 19px;\n --wb-line-20: 20px;\n --wb-line-22: 22px;\n --wb-line-24: 24px;\n --wb-radius-14: 14px;\n --wb-radius-2: 2px;\n --wb-radius-6: 6px;\n --wb-radius-pill: 999px;\n --wb-track-brand: .04em;\n --wb-z-1100: 1100;\n --wb-z-10: 10;\n --wb-z-30: 30;\n --wb-z-40: 40;\n --wb-z-top: 2147483000;\n --wb-project-menu-min-width: 0;\n}\n";
|
|
9225
9430
|
//#endregion
|
|
9226
9431
|
//#region src/shared/styles/sidebar-app.css?raw
|
|
9227
|
-
var sidebar_app_default = ".wb-wsSection {\n position: relative;\n flex: none;\n --dsh-session-list-edge-inset: var(--dsh-sidebar-inline-padding);\n --dsh-session-list-scrollbar-width: 5px;\n --dsh-session-list-scrollbar-offset: 2px;\n margin: 0 var(--dsh-session-list-scrollbar-offset) var(--wb-len-4) 0;\n padding-right: calc( var(--dsh-session-list-edge-inset) - var(--dsh-session-list-scrollbar-width) - var(--dsh-session-list-scrollbar-offset) );\n}.wb-sectionHeader {\n box-sizing: border-box;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n gap: var(--wb-len-4);\n height: var(--wb-len-36);\n flex: none;\n margin-bottom: var(--wb-len-4);\n padding-left: var(--wb-len-8);\n padding-right: var(--wb-len-2);\n border-radius: var(--dsw-radius-md);\n color: var(--dsw-alias-label-tertiary);\n overflow: hidden;\n}.wb-wsNew {\n margin-left: auto;\n}.wb-sectionLabel {\n flex: none;\n min-width: 0;\n max-width: 45%;\n overflow: hidden;\n white-space: nowrap;\n line-height: var(--wb-line-20);\n}.wb-collapsed .wb-wsSection {\n margin: 0 0 var(--wb-len-12);\n padding-right: 0;\n}.wb-collapsed .wb-sectionHeader {\n justify-content: flex-start;\n gap: 0;\n margin-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n}.wb-collapsed .wb-wsNew {\n margin-left: 0;\n}.wb-project {\n position: relative;\n flex: none;\n margin: 0 var(--wb-len-2) var(--wb-len-4);\n}.wb-projectAnchor {\n display: block;\n width: 100%;\n min-width: var(--wb-project-menu-min-width, 0);\n}.wb-projectButton {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: var(--wb-gap-xs);\n width: 100%;\n height: var(--wb-len-34);\n padding: 0 var(--wb-len-8);\n border: none;\n border-radius: var(--dsw-radius-md);\n background: transparent;\n color: var(--dsw-alias-label-primary);\n font: inherit;\n text-align: left;\n cursor: pointer;\n user-select: none;\n}.wb-projectButton:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}.wb-projectButton:focus-visible {\n outline: var(--dsw-focus-ring-width) solid\n var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}.wb-collapsed .wb-projectButton {\n justify-content: center;\n width: var(--wb-bar-height);\n height: var(--wb-bar-height);\n padding: 0;\n}.wb-collapsed .wb-projectName,\n.wb-collapsed .wb-projectChevron {\n display: none;\n}.wb-projectGlyph {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-16);\n height: var(--wb-len-20);\n color: var(--dsw-alias-label-tertiary);\n}.wb-projectGlyphActive {\n color: var(--dsw-alias-state-business-primary);\n}.wb-projectName {\n flex: 1;\n min-width: 0;\n font-size: var(--wb-font-row);\n line-height: var(--wb-line-20);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}.wb-projectChevron {\n flex: none;\n display: inline-flex;\n color: var(--dsw-alias-label-caption);\n transition: transform var(--wb-dur-0-15) var(--ds-ease-in-out);\n}.wb-projectChevronOpen {\n transform: rotate(180deg);\n}.wb-sessions {\n --dsh-session-list-edge-inset: var(--dsh-sidebar-inline-padding);\n --dsh-session-list-scrollbar-width: 5px;\n --dsh-session-list-scrollbar-offset: 2px;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n margin-left: var(--wb-len-neg-4);\n margin-right: var(--dsh-session-list-scrollbar-offset);\n padding-left: var(--wb-len-4);\n padding-right: calc( var(--dsh-session-list-edge-inset) - var(--dsh-session-list-scrollbar-width) - var(--dsh-session-list-scrollbar-offset) );\n padding-bottom: var(--wb-len-16);\n scrollbar-gutter: stable;\n --dsh-scrollbar-thumb: var(--dsw-alias-scrollbar-bg-l2);\n --dsh-scrollbar-thumb-hover: var(--dsw-alias-scrollbar-hover-l2);\n}.wb-sessions > * + * {\n margin-top: var(--wb-len-2);\n}.wb-sessionLeading {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-16);\n height: var(--wb-len-20);\n color: var(--dsw-alias-label-tertiary);\n}.wb-sessionPin {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-16);\n height: var(--wb-len-20);\n margin-left: var(--wb-len-6);\n color: var(--dsw-alias-label-caption);\n}.wb-rowActions {\n flex: none;\n display: none;\n align-items: center;\n gap: var(--wb-len-
|
|
9432
|
+
var sidebar_app_default = ".wb-wsSection {\n position: relative;\n flex: none;\n --dsh-session-list-edge-inset: var(--dsh-sidebar-inline-padding);\n --dsh-session-list-scrollbar-width: 5px;\n --dsh-session-list-scrollbar-offset: 2px;\n margin: 0 var(--dsh-session-list-scrollbar-offset) var(--wb-len-4) 0;\n padding-right: calc( var(--dsh-session-list-edge-inset) - var(--dsh-session-list-scrollbar-width) - var(--dsh-session-list-scrollbar-offset) );\n}.wb-sectionHeader {\n box-sizing: border-box;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n gap: var(--wb-len-4);\n height: var(--wb-len-36);\n flex: none;\n margin-bottom: var(--wb-len-4);\n padding-left: var(--wb-len-8);\n padding-right: var(--wb-len-2);\n border-radius: var(--dsw-radius-md);\n color: var(--dsw-alias-label-tertiary);\n overflow: hidden;\n}.wb-wsNew {\n margin-left: auto;\n}.wb-sectionLabel {\n flex: none;\n min-width: 0;\n max-width: 45%;\n overflow: hidden;\n white-space: nowrap;\n line-height: var(--wb-line-20);\n}.wb-collapsed .wb-wsSection {\n margin: 0 0 var(--wb-len-12);\n padding-right: 0;\n}.wb-collapsed .wb-sectionHeader {\n justify-content: flex-start;\n gap: 0;\n margin-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n}.wb-collapsed .wb-wsNew {\n margin-left: 0;\n}.wb-project {\n position: relative;\n flex: none;\n margin: 0 var(--wb-len-2) var(--wb-len-4);\n}.wb-projectAnchor {\n display: block;\n width: 100%;\n min-width: var(--wb-project-menu-min-width, 0);\n}.wb-projectButton {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: var(--wb-gap-xs);\n width: 100%;\n height: var(--wb-len-34);\n padding: 0 var(--wb-len-8);\n border: none;\n border-radius: var(--dsw-radius-md);\n background: transparent;\n color: var(--dsw-alias-label-primary);\n font: inherit;\n text-align: left;\n cursor: pointer;\n user-select: none;\n}.wb-projectButton:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}.wb-projectButton:focus-visible {\n outline: var(--dsw-focus-ring-width) solid\n var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}.wb-collapsed .wb-projectButton {\n justify-content: center;\n width: var(--wb-bar-height);\n height: var(--wb-bar-height);\n padding: 0;\n}.wb-collapsed .wb-projectName,\n.wb-collapsed .wb-projectChevron {\n display: none;\n}.wb-projectGlyph {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-16);\n height: var(--wb-len-20);\n color: var(--dsw-alias-label-tertiary);\n}.wb-projectGlyphActive {\n color: var(--dsw-alias-state-business-primary);\n}.wb-projectName {\n flex: 1;\n min-width: 0;\n font-size: var(--wb-font-row);\n line-height: var(--wb-line-20);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}.wb-projectChevron {\n flex: none;\n display: inline-flex;\n color: var(--dsw-alias-label-caption);\n transition: transform var(--wb-dur-0-15) var(--ds-ease-in-out);\n}.wb-projectChevronOpen {\n transform: rotate(180deg);\n}.wb-sessions {\n --dsh-session-list-edge-inset: var(--dsh-sidebar-inline-padding);\n --dsh-session-list-scrollbar-width: 5px;\n --dsh-session-list-scrollbar-offset: 2px;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n margin-left: var(--wb-len-neg-4);\n margin-right: var(--dsh-session-list-scrollbar-offset);\n padding-left: var(--wb-len-4);\n padding-right: calc( var(--dsh-session-list-edge-inset) - var(--dsh-session-list-scrollbar-width) - var(--dsh-session-list-scrollbar-offset) );\n padding-bottom: var(--wb-len-16);\n scrollbar-gutter: stable;\n --dsh-scrollbar-thumb: var(--dsw-alias-scrollbar-bg-l2);\n --dsh-scrollbar-thumb-hover: var(--dsw-alias-scrollbar-hover-l2);\n}.wb-sessions.wb-fadeTop {\n mask-image: linear-gradient(\n to bottom,\n transparent 0,\n var(--wb-static-mask-opaque) var(--wb-len-24),\n var(--wb-static-mask-opaque) 100%\n );\n}.wb-sessions.wb-fadeBottom {\n mask-image: linear-gradient(\n to bottom,\n var(--wb-static-mask-opaque) 0,\n var(--wb-static-mask-opaque) calc(100% - var(--wb-len-24)),\n transparent 100%\n );\n}.wb-sessions.wb-fadeTop.wb-fadeBottom {\n mask-image: linear-gradient(\n to bottom,\n transparent 0,\n var(--wb-static-mask-opaque) var(--wb-len-24),\n var(--wb-static-mask-opaque) calc(100% - var(--wb-len-24)),\n transparent 100%\n );\n}.wb-sessions > * {\n flex: none;\n}.wb-sessions > * + * {\n margin-top: var(--wb-len-2);\n}.wb-sessionLeading {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-16);\n height: var(--wb-len-20);\n color: var(--dsw-alias-label-tertiary);\n}.wb-sessionPin {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-16);\n height: var(--wb-len-20);\n margin-left: var(--wb-len-6);\n color: var(--dsw-alias-label-caption);\n}.wb-rowActions {\n flex: none;\n display: none;\n align-items: center;\n gap: var(--wb-len-15);\n}.wb-rowActions .wb-iconButton {\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n border-radius: var(--dsw-radius-xs);\n color: var(--dsw-alias-label-tertiary);\n}.wb-rowActions .wb-iconButton:hover {\n background: transparent;\n color: var(--dsw-alias-label-primary);\n}.wb-sessionRow:hover .wb-rowActions,\n.wb-sessionRow.wb-menuOpen .wb-rowActions {\n display: inline-flex;\n}.wb-sessionRow:hover .wb-sessionTime,\n.wb-sessionRow.wb-menuOpen .wb-sessionTime,\n.wb-sessionRow:hover .wb-sessionPin,\n.wb-sessionRow.wb-menuOpen .wb-sessionPin {\n display: none;\n}.wb-sessionRow.wb-menuOpen {\n background: var(--dsw-alias-interactive-bg-hover);\n}.wb-rowMenu {\n left: auto;\n right: 0;\n min-width: var(--wb-len-144);\n max-width: var(--wb-len-260);\n}.wb-sessionRow {\n position: relative;\n flex: none;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: 0;\n width: 100%;\n height: var(--wb-len-32);\n padding: 0 var(--wb-len-8);\n border: none;\n border-radius: var(--dsw-radius-md);\n background: transparent;\n color: var(--dsw-alias-label-primary);\n font: inherit;\n text-align: left;\n cursor: pointer;\n user-select: none;\n}.wb-sessionRow:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}.wb-sessionRow:focus-visible {\n outline: var(--dsw-focus-ring-width) solid\n var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}.wb-visuallyHidden {\n clip: rect(0 0 0 0);\n white-space: nowrap;\n width: var(--wb-len-1);\n height: var(--wb-len-1);\n position: absolute;\n overflow: hidden;\n}.wb-sessionTitle {\n flex: 1;\n min-width: 0;\n margin: 0 var(--wb-len-6) 0 var(--wb-len-4);\n font-size: var(--wb-font-row);\n line-height: var(--wb-line-20);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}.wb-sessionTitle[data-scrolled] {\n mask-image: linear-gradient(90deg, transparent, var(--wb-static-mask-opaque) var(--wb-len-12));\n}.wb-sessionTitle[data-clipped] {\n mask-image: linear-gradient(270deg, transparent, var(--wb-static-mask-opaque) var(--wb-len-12));\n}.wb-sessionTitle[data-scrolled][data-clipped] {\n mask-image: linear-gradient(\n 90deg,\n transparent,\n var(--wb-static-mask-opaque) var(--wb-len-12) calc(100% - var(--wb-len-12)),\n transparent\n );\n}@media (hover: hover) {\n .wb-sessionRow:hover .wb-sessionTitle,\n .wb-sessionRow.wb-menuOpen .wb-sessionTitle {\n text-overflow: clip;\n }\n}.wb-sessionHover {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n}.wb-sessionHoverTitle {\n color: var(--dsw-static-neutral-bluish-00);\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-20);\n overflow-wrap: break-word;\n}.wb-sessionHoverTime {\n color: var(--dsw-static-neutral-bluish-300);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-16);\n}.wb-sessionHoverStatus {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n color: var(--dsw-static-neutral-bluish-400);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-20);\n}.wb-sessionTime {\n flex: none;\n font-size: var(--wb-font-10);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n}.wb-workspaceBusy {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: var(--wb-len-4) var(--wb-len-8) 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n}.wb-workspaceError {\n margin: var(--wb-len-4) var(--wb-len-8) 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-state-error-primary);\n}.wb-empty {\n padding: var(--wb-len-16) var(--wb-len-12);\n font-size: var(--dsw-font-xs-13-font-size);\n color: var(--dsw-alias-label-tertiary);\n}@media (prefers-reduced-motion: reduce) {\n .wb-projectChevron {\n transition: none;\n }}.wb-sessionRow.wb-selected {\n background: var(--dsw-alias-interactive-bg-hover);\n}.wb-panelTag {\n flex: none;\n margin-left: auto;\n}.wb-panelGlyph {\n position: relative;\n}.wb-panelDot {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: var(--wb-len-neg-3);\n right: var(--wb-len-neg-3);\n}button.pXSMma_workspace {\n display: none;\n}";
|
|
9228
9433
|
//#endregion
|
|
9229
9434
|
//#region src/shared/styles/sidebar.css?raw
|
|
9230
9435
|
var sidebar_default = ".wb-root{--dsh-sidebar-inline-padding:12px;height:100%;padding:var(--wb-len-6) var(--dsh-sidebar-inline-padding);box-sizing:border-box;background:var(--dsw-specific-sidebar-fill);color:var(--dsw-alias-label-primary);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);flex-direction:column;font-size:var(--dsw-font-s-14-font-size);display:flex}[data-platform=darwin] .wb-root{background:0 0}.wb-root.wb-collapsed{padding:var(--wb-len-18) var(--wb-len-10) var(--wb-len-6)}[data-windows-titlebar] .wb-root .wb-logoRow{height:var(--wb-len-40);margin:0;padding:0}[data-windows-titlebar] .wb-toggle{top:calc((var(--dsh-windows-titlebar-height) - var(--wb-len-28)) / 2);z-index:var(--wb-z-30);-webkit-app-region:no-drag;position:fixed;left:var(--wb-len-12)}[data-windows-titlebar] .wb-root.wb-collapsed .wb-logoRow{height:0}[data-windows-titlebar] .wb-root:not(.wb-collapsed) .wb-brand{padding-left:var(--wb-len-4)}[data-windows-titlebar] .wb-brandIdentity{transform:translateY(1px)}[data-windows-titlebar] .wb-brandMark{transform:translate(1px)}[data-windows-titlebar] .wb-brandName{font-weight:400}[data-windows-titlebar] .wb-root.wb-collapsed{padding:0}[data-windows-titlebar] .wb-root:not(.wb-collapsed) .wb-newSession{margin-top:var(--wb-len-8);margin-left:0}[data-windows-titlebar] .wb-collapsed .wb-panelList,[data-windows-titlebar] .wb-collapsed .wb-regionArea,[data-windows-titlebar] .wb-collapsed .wb-footArea{display:none}html[data-windows-titlebar]:has([data-sidebar-collapsed=true]){--dsh-windows-menu-start:84px}[data-windows-titlebar] .wb-collapsed .wb-newSession{top:calc((var(--dsh-windows-titlebar-height) - var(--wb-len-28)) / 2);z-index:var(--wb-z-30);-webkit-app-region:no-drag;border:none;margin:0;padding:0;position:fixed;left:var(--wb-len-48)}[data-windows-titlebar] .wb-railIn .wb-iconButton,[data-windows-titlebar] .wb-railIn .wb-newSession{animation:none}[data-windows-titlebar] .wb-collapsed .wb-toggle,[data-windows-titlebar] .wb-collapsed .wb-newSession{corner-shape:round;width:var(--wb-len-28);height:var(--wb-len-28);color:var(--dsw-alias-label-secondary);border-radius:50%}[data-windows-titlebar] .wb-collapsed .wb-toggle .wb-panelIcon{display:inline-flex}.wb-root.wb-quietBars{--dsh-scrollbar-thumb:transparent;--dsh-scrollbar-thumb-hover:transparent}.wb-fading>*{opacity:0;transition:opacity var(--wb-dur-0-15) var(--ds-ease-in-out)}.wb-wide{animation:wb-wide-in var(--ds-transition-duration) var(--ds-ease-in-out)}@keyframes wb-wide-in{0%{opacity:0}}.wb-railIn .wb-iconButton,.wb-railIn .wb-newSession,.wb-railIn .wb-panelList,.wb-railIn .wb-regionArea{animation:wb-rail-in var(--wb-dur-0-15) var(--ds-ease-in-out) backwards}.wb-railIn .wb-footArea{animation:wb-rail-fade-in var(--wb-dur-0-15) var(--ds-ease-in-out) backwards}@keyframes wb-rail-in{0%{opacity:0;transform:translate(49px)}}@keyframes wb-rail-fade-in{0%{opacity:0}}.wb-topStrip{box-sizing:border-box;height:var(--wb-len-52);margin:var(--wb-len-neg-6) calc(-1 * var(--dsh-sidebar-inline-padding)) 0;flex:none;justify-content:flex-end;align-items:center;padding:0 var(--wb-len-12) var(--wb-len-2);display:flex}[data-fullscreen] .wb-topStrip{justify-content:flex-start}.wb-topStrip+.wb-logoRow{margin-top:var(--wb-len-neg-12)}.wb-logoRow{box-sizing:border-box;flex:none;justify-content:flex-end;align-items:center;gap:var(--wb-len-8);height:var(--wb-len-60);margin-bottom:var(--wb-len-4);padding:var(--wb-len-8) 0 var(--wb-len-8) var(--wb-len-4);display:flex;overflow:hidden}.wb-collapsed .wb-logoRow{justify-content:flex-start;height:var(--wb-len-36);margin-bottom:var(--wb-len-12);padding:0;overflow:visible}.wb-brand{min-width:0;color:inherit;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;padding:0;display:inline-flex;overflow:hidden}[data-platform=darwin] .wb-brand{cursor:default}.wb-brandIdentity{align-items:center;gap:var(--wb-len-8);min-width:0;height:var(--wb-len-24);display:inline-flex}.wb-brandMark{flex:none;justify-content:center;align-items:center;display:inline-flex}.wb-brandName{letter-spacing:var(--wb-track-brand);align-items:center;gap:var(--wb-len-6);min-width:0;height:var(--wb-len-24);font-size:var(--wb-font-18);font-weight:600;line-height:var(--wb-line-24);display:inline-flex}.wb-fallbackBrandName{letter-spacing:0;white-space:nowrap;font-size:var(--wb-font-17)}.wb-localBuildBrand{white-space:nowrap;flex-direction:column;flex:none;justify-content:center;align-items:flex-start;gap:var(--wb-len-1);height:var(--wb-len-24);display:inline-flex}.wb-localBuildTitle{letter-spacing:0;font-size:var(--dsw-font-xxs-12-font-size);line-height:var(--wb-line-13)}.wb-panelIcon{display:inline-flex;align-items:center;justify-content:center}.wb-iconButton{border-radius:var(--dsw-radius-sm);cursor:pointer;width:var(--wb-len-28);height:var(--wb-len-28);color:var(--dsw-alias-label-secondary);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.wb-iconButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.wb-iconButton.wb-toggle:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:-2px}.wb-collapsed .wb-iconButton{border-radius:var(--dsw-radius-md);width:var(--wb-len-36);height:var(--wb-len-36)}.wb-collapsed .wb-toggle .wb-panelIcon{display:none}.wb-collapsed .wb-toggle:hover .wb-panelIcon{display:inline}.wb-collapsed .wb-toggle:hover .wb-railMark{display:none}.wb-railMark{justify-content:center;align-items:center;display:inline-flex}.wb-collapsed .wb-iconButton{color:var(--dsw-alias-label-primary)}.wb-buildVersion{height:var(--wb-len-10);color:var(--dsw-alias-label-primary-inverted);background:var(--dsw-alias-label-primary);font-family:var(--ds-font-family-code);white-space:nowrap;border-radius:var(--wb-radius-2);flex:none;align-items:center;padding:0 var(--wb-len-3);font-size:var(--wb-font-6);font-weight:500;line-height:var(--wb-line-10);display:inline-flex}.wb-newSession{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l3);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-button-elevated-fill);height:var(--wb-len-38);color:var(--dsw-alias-label-primary);cursor:pointer;flex:none;justify-content:center;align-items:center;gap:0;margin:0 var(--wb-len-2) var(--wb-len-12);padding:var(--wb-len-8) var(--wb-len-12);font-size:var(--dsw-font-s-14-font-size);font-weight:500;line-height:var(--wb-line-22);display:flex;position:relative;overflow:hidden;container-type:inline-size}.wb-newSession:hover{background:var(--dsw-alias-button-floating-hover)}[data-platform=darwin] .wb-newSession{background:var(--wb-static-titlebar-fill)}[data-platform=darwin] .wb-newSession:hover{background:var(--wb-static-titlebar-fill-hover)}[data-platform=darwin] [data-ds-dark-theme] .wb-newSession{background:var(--wb-static-titlebar-fill-dark)}[data-platform=darwin] [data-ds-dark-theme] .wb-newSession:hover{background:var(--wb-static-titlebar-fill-dark-hover)}.wb-collapsed .wb-newSession{background:0 0;border-color:transparent;align-self:flex-start;gap:0;width:var(--wb-len-36);height:var(--wb-len-36);margin:0 0 var(--wb-len-12);padding:0}.wb-collapsed .wb-newSession:hover{background:var(--dsw-alias-interactive-bg-hover)}.wb-newSessionLabel{white-space:nowrap;max-width:var(--wb-len-200);overflow:hidden}.wb-collapsed .wb-newSessionLabel{max-width:0}.wb-newSessionLabelMask{flex:1;min-width:0}.wb-newSession:is(:hover,:focus-visible) .wb-newSessionLabelMask:has(+.wb-newSessionShortcut){overflow:hidden;mask-image:linear-gradient(90deg,var(--wb-static-mask-opaque) calc(100% - var(--wb-len-16)),transparent)}.wb-newSessionContent{justify-content:center;align-items:center;gap:var(--wb-len-6);width:100cqw;display:flex}.wb-newSessionContent>svg{flex:none}.wb-newSessionShortcut{opacity:0;pointer-events:none;flex:none;font-weight:400;display:inline-flex}.wb-newSession:is(:hover,:focus-visible) .wb-newSessionShortcut{opacity:1}.wb-panelList{flex-direction:column;flex:none;gap:var(--wb-len-4);margin-bottom:var(--wb-len-8);display:flex}.wb-panelRow{box-sizing:border-box;border-radius:var(--dsw-radius-md);min-height:var(--wb-len-36);color:var(--dsw-alias-label-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:var(--wb-len-8);margin:0 var(--wb-len-2);padding:var(--wb-len-7) var(--wb-len-8);line-height:var(--wb-line-22);display:flex}.wb-panelRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.wb-panelRow.wb-panelActive{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.wb-panelRow:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:-2px}.wb-panelGlyph{flex:none;justify-content:center;align-items:center;display:inline-flex}.wb-panelTitle{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.wb-collapsed .wb-panelList{gap:var(--wb-len-12);margin-bottom:var(--wb-len-12)}.wb-collapsed .wb-panelRow{width:var(--wb-len-36);height:var(--wb-len-36);color:var(--dsw-alias-label-primary);justify-content:center;margin:0;padding:0}.wb-regionArea{min-height:0;margin-left:var(--wb-len-neg-4);margin-right:calc(-1 * var(--dsh-sidebar-inline-padding));flex-direction:column;flex:1;padding-left:var(--wb-len-4);display:flex;overflow:hidden}.wb-collapsed .wb-regionArea{margin-left:0;margin-right:0;padding-left:0}.wb-footArea{flex-direction:column;flex:none;display:flex}.wb-settingsArea,.wb-footerActions{flex:none;width:100%;min-width:0}.wb-footerActions{display:flex}.wb-collapsed .wb-footArea{align-items:center}.wb-collapsed .wb-settingsArea,.wb-collapsed .wb-footerActions{justify-content:center;width:auto;display:flex}@media (prefers-reduced-motion:reduce){.wb-wide,.wb-fading>*,.wb-railIn .wb-iconButton,.wb-railIn .wb-newSession,.wb-railIn .wb-panelList,.wb-railIn .wb-footArea,.wb-railIn .wb-regionArea{transition:none;animation:none}}\n";
|
|
@@ -9914,6 +10119,10 @@ window.__ModuleLoader__.load({
|
|
|
9914
10119
|
"sidebar.session.row.leading": {
|
|
9915
10120
|
kind: "list",
|
|
9916
10121
|
scope: "root"
|
|
10122
|
+
},
|
|
10123
|
+
"sidebar.session.row.hover": {
|
|
10124
|
+
kind: "list",
|
|
10125
|
+
scope: "root"
|
|
9917
10126
|
}
|
|
9918
10127
|
};
|
|
9919
10128
|
}
|