@dsh-workbench/core 1.1.2 → 1.1.3
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 +698 -305
- package/dist/client/client.body.js +698 -305
- package/dist/client/index.js +550 -157
- package/dist/host/index.js +78 -3
- package/dist/types/app/layouts/market/discover-confirm.d.ts +1 -1
- package/dist/types/app/layouts/market/discover-detail.d.ts +1 -0
- package/dist/types/app/layouts/market/discover-installing.d.ts +8 -0
- package/dist/types/app/layouts/market/discover-rows.d.ts +4 -2
- package/dist/types/app/layouts/market/discover-states.d.ts +6 -0
- package/dist/types/app/layouts/market/discover-transport.d.ts +7 -0
- package/dist/types/app/layouts/market/discover-versions.d.ts +2 -1
- package/dist/types/app/layouts/market/use-discover.d.ts +8 -1
- package/dist/types/app/layouts/market/use-git-transport.d.ts +19 -0
- package/dist/types/app/layouts/market/use-module-versions.d.ts +1 -0
- package/dist/types/kernel/contract/market-index.d.ts +2 -2
- package/dist/types/shared/api/host/git-exec.d.ts +2 -0
- package/dist/types/shared/api/host/git-probe.d.ts +6 -0
- package/dist/types/shared/api/host/git-routes.d.ts +3 -0
- package/dist/types/shared/hooks/market-queries.d.ts +2 -1
- package/package.json +3 -3
package/client.js
CHANGED
|
@@ -788,17 +788,17 @@ window.__ModuleLoader__.load({
|
|
|
788
788
|
//#endregion
|
|
789
789
|
//#region ../shared/dist/lib/react.js
|
|
790
790
|
var react$1 = require("react");
|
|
791
|
-
var h$
|
|
792
|
-
var Fragment$
|
|
791
|
+
var h$66 = react$1.createElement;
|
|
792
|
+
var Fragment$23 = react$1.Fragment;
|
|
793
793
|
var Component = react$1.Component;
|
|
794
794
|
react$1.createContext;
|
|
795
795
|
react$1.useContext;
|
|
796
|
-
var useState$
|
|
797
|
-
var useEffect$
|
|
796
|
+
var useState$37 = react$1.useState;
|
|
797
|
+
var useEffect$29 = react$1.useEffect;
|
|
798
798
|
react$1.useLayoutEffect;
|
|
799
|
-
var useMemo$
|
|
799
|
+
var useMemo$10 = react$1.useMemo;
|
|
800
800
|
react$1.useCallback;
|
|
801
|
-
var useRef$
|
|
801
|
+
var useRef$23 = react$1.useRef;
|
|
802
802
|
react$1.useSyncExternalStore;
|
|
803
803
|
//#endregion
|
|
804
804
|
//#region ../shared/dist/components/Activity.js
|
|
@@ -809,7 +809,7 @@ window.__ModuleLoader__.load({
|
|
|
809
809
|
* @returns 一个 div。
|
|
810
810
|
*/
|
|
811
811
|
function ActivityBlock({ head, children }) {
|
|
812
|
-
return h$
|
|
812
|
+
return h$66("div", { className: "wb-activityBlock" }, head === void 0 ? null : h$66("div", { className: "wb-activityBlockHead" }, head), children);
|
|
813
813
|
}
|
|
814
814
|
/**
|
|
815
815
|
* 一条活动:状态点 + 正文 + 时间,行尾可挂动作;时间一律用它,别自己拼。
|
|
@@ -820,7 +820,7 @@ window.__ModuleLoader__.load({
|
|
|
820
820
|
* @returns 一行。
|
|
821
821
|
*/
|
|
822
822
|
function ActivityLine({ dot, text, at, actions }) {
|
|
823
|
-
return h$
|
|
823
|
+
return h$66("div", { className: "wb-activityLine" }, dot, h$66("span", { className: "wb-activityLineText" }, text), at === void 0 ? null : h$66("span", { className: "wb-activityLineAt" }, at), actions === void 0 ? null : h$66("span", { className: "wb-activityLineActions" }, actions));
|
|
824
824
|
}
|
|
825
825
|
/**
|
|
826
826
|
* 活动行尾那颗动作:给 `href` 就是外链,否则是图标钮并带上 tooltip。
|
|
@@ -834,7 +834,7 @@ window.__ModuleLoader__.load({
|
|
|
834
834
|
*/
|
|
835
835
|
function ActivityAction({ label, hint, icon, href, onClick, failed }) {
|
|
836
836
|
const tip = hint ?? label;
|
|
837
|
-
if (href !== void 0) return h$
|
|
837
|
+
if (href !== void 0) return h$66("a", {
|
|
838
838
|
className: "wb-iconButton",
|
|
839
839
|
href,
|
|
840
840
|
target: "_blank",
|
|
@@ -842,13 +842,13 @@ window.__ModuleLoader__.load({
|
|
|
842
842
|
title: tip,
|
|
843
843
|
"aria-label": label
|
|
844
844
|
}, icon);
|
|
845
|
-
return h$
|
|
845
|
+
return h$66(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
|
|
846
846
|
side: "bottom",
|
|
847
847
|
align: "end",
|
|
848
848
|
gap: 6,
|
|
849
849
|
portal: true,
|
|
850
850
|
label: tip
|
|
851
|
-
}, h$
|
|
851
|
+
}, h$66(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
852
852
|
type: "button",
|
|
853
853
|
variant: "ghost",
|
|
854
854
|
size: "sm",
|
|
@@ -870,10 +870,10 @@ window.__ModuleLoader__.load({
|
|
|
870
870
|
*/
|
|
871
871
|
function Note({ tone = "muted", as, role, children }) {
|
|
872
872
|
const className = tone === "problem" ? "wb-problem" : "wb-note";
|
|
873
|
-
return as === "span" ? h$
|
|
873
|
+
return as === "span" ? h$66("span", {
|
|
874
874
|
className,
|
|
875
875
|
role
|
|
876
|
-
}, children) : h$
|
|
876
|
+
}, children) : h$66("p", {
|
|
877
877
|
className,
|
|
878
878
|
role
|
|
879
879
|
}, children);
|
|
@@ -917,10 +917,10 @@ window.__ModuleLoader__.load({
|
|
|
917
917
|
render() {
|
|
918
918
|
const { reason } = this.state;
|
|
919
919
|
if (reason === null) return this.props.children;
|
|
920
|
-
return h$
|
|
920
|
+
return h$66(Note, { tone: "problem" }, h$66("span", null, this.props.t("panels.cardBroken", {
|
|
921
921
|
unit: this.props.unit,
|
|
922
922
|
reason
|
|
923
|
-
})), " ", h$
|
|
923
|
+
})), " ", h$66(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
924
924
|
type: "button",
|
|
925
925
|
variant: "outline",
|
|
926
926
|
size: "sm",
|
|
@@ -970,19 +970,19 @@ window.__ModuleLoader__.load({
|
|
|
970
970
|
const owner = (props.units ?? []).find((face) => face.approval?.tools.includes(input.tool) === true);
|
|
971
971
|
if (owner?.approval !== void 0) {
|
|
972
972
|
const Render = owner.approval.render;
|
|
973
|
-
return h$
|
|
973
|
+
return h$66(CardBoundary, {
|
|
974
974
|
unit: owner.unit,
|
|
975
975
|
resetKey: props.callId ?? "",
|
|
976
976
|
t
|
|
977
|
-
}, h$
|
|
977
|
+
}, h$66(Render, {
|
|
978
978
|
input,
|
|
979
979
|
t
|
|
980
980
|
}));
|
|
981
981
|
}
|
|
982
982
|
const shell = props.renderShell?.(input, t);
|
|
983
|
-
if (shell !== void 0 && shell !== null) return h$
|
|
983
|
+
if (shell !== void 0 && shell !== null) return h$66(Fragment$23, null, shell);
|
|
984
984
|
if (command === "") return null;
|
|
985
|
-
return h$
|
|
985
|
+
return h$66(_deepseek_ai_dsh_client_ui_primitives.CodeBlock, {
|
|
986
986
|
code: command,
|
|
987
987
|
className: "wb-approvalCommand",
|
|
988
988
|
copyLabel: t("blocker.copy"),
|
|
@@ -1000,10 +1000,10 @@ window.__ModuleLoader__.load({
|
|
|
1000
1000
|
* @returns 一个 div。
|
|
1001
1001
|
*/
|
|
1002
1002
|
function ApprovalPlan({ rows, hint, warn, children }) {
|
|
1003
|
-
return h$
|
|
1003
|
+
return h$66("div", { className: "wb-approvalPlan" }, hint === void 0 ? null : h$66("p", { className: "wb-approvalHint" }, hint), h$66("dl", { className: "wb-approvalRows" }, rows.map((row, index) => h$66("div", {
|
|
1004
1004
|
className: "wb-approvalRow",
|
|
1005
1005
|
key: String(index)
|
|
1006
|
-
}, h$
|
|
1006
|
+
}, h$66("dt", { className: "wb-approvalLabel" }, row.label), h$66("dd", { className: "wb-approvalValue" }, row.value)))), children, warn === void 0 ? null : h$66("p", { className: "wb-approvalWarn" }, warn));
|
|
1007
1007
|
}
|
|
1008
1008
|
//#endregion
|
|
1009
1009
|
//#region ../shared/dist/components/CardHead.js
|
|
@@ -1020,47 +1020,47 @@ window.__ModuleLoader__.load({
|
|
|
1020
1020
|
function CardHead({ t, title, meta, refreshing, onRefresh, gear, gearOpen, onToggleGear, platformHref, platform, platformTitle }) {
|
|
1021
1021
|
const refreshLabel = refreshing ? t("rightbar.refreshing") : t("rightbar.refresh");
|
|
1022
1022
|
const platformLabel = platformTitle ?? platform ?? t("rightbar.openPlatform");
|
|
1023
|
-
return h$
|
|
1023
|
+
return h$66("header", { className: "wb-cardHead" }, h$66("h2", { className: "wb-cardTitle" }, title), meta === void 0 ? null : h$66("span", { className: "wb-cardMeta" }, meta), platformHref === void 0 ? null : h$66(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
|
|
1024
1024
|
side: "bottom",
|
|
1025
1025
|
align: "end",
|
|
1026
1026
|
gap: 6,
|
|
1027
1027
|
portal: true,
|
|
1028
1028
|
label: platformLabel
|
|
1029
|
-
}, h$
|
|
1029
|
+
}, h$66("a", {
|
|
1030
1030
|
className: "wb-iconButton wb-cardOpen",
|
|
1031
1031
|
href: platformHref,
|
|
1032
1032
|
target: "_blank",
|
|
1033
1033
|
rel: "noreferrer noopener",
|
|
1034
1034
|
"aria-label": platform ?? platformLabel
|
|
1035
|
-
}, h$
|
|
1035
|
+
}, h$66(_deepseek_ai_dsh_client_ui_primitives.IconRightUpOutlineRegular, { size: 14 }))), h$66(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
|
|
1036
1036
|
side: "bottom",
|
|
1037
1037
|
align: "end",
|
|
1038
1038
|
gap: 6,
|
|
1039
1039
|
portal: true,
|
|
1040
1040
|
label: refreshLabel
|
|
1041
|
-
}, h$
|
|
1041
|
+
}, h$66(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
1042
1042
|
type: "button",
|
|
1043
1043
|
size: "sm",
|
|
1044
1044
|
variant: "ghost",
|
|
1045
1045
|
className: `wb-cardRefresh${refreshing ? " wb-spinning" : ""}`,
|
|
1046
1046
|
"aria-label": refreshLabel,
|
|
1047
1047
|
disabled: refreshing,
|
|
1048
|
-
icon: h$
|
|
1048
|
+
icon: h$66(_deepseek_ai_dsh_client_ui_primitives.IconRefreshOutlineRegular, { size: 14 }),
|
|
1049
1049
|
onClick: onRefresh
|
|
1050
|
-
})), gear === void 0 || onToggleGear === void 0 ? null : h$
|
|
1050
|
+
})), gear === void 0 || onToggleGear === void 0 ? null : h$66(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
|
|
1051
1051
|
side: "bottom",
|
|
1052
1052
|
align: "end",
|
|
1053
1053
|
gap: 6,
|
|
1054
1054
|
portal: true,
|
|
1055
1055
|
label: gear
|
|
1056
|
-
}, h$
|
|
1056
|
+
}, h$66(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
1057
1057
|
type: "button",
|
|
1058
1058
|
size: "sm",
|
|
1059
1059
|
variant: "ghost",
|
|
1060
1060
|
className: `wb-cardGear${gearOpen === true ? " wb-iconButtonActive" : ""}`,
|
|
1061
1061
|
"aria-label": gear,
|
|
1062
1062
|
"aria-expanded": gearOpen === true,
|
|
1063
|
-
icon: h$
|
|
1063
|
+
icon: h$66(_deepseek_ai_dsh_client_ui_primitives.IconSettingsOutlineRegular, { size: 15 }),
|
|
1064
1064
|
onClick: onToggleGear
|
|
1065
1065
|
})));
|
|
1066
1066
|
}
|
|
@@ -1077,13 +1077,13 @@ window.__ModuleLoader__.load({
|
|
|
1077
1077
|
* @returns 一个 `<section>`。
|
|
1078
1078
|
*/
|
|
1079
1079
|
function Card({ t, title, refreshing, onRefresh, meta, head, children }) {
|
|
1080
|
-
return h$
|
|
1080
|
+
return h$66("section", { className: "wb-card" }, head === void 0 ? h$66(CardHead, {
|
|
1081
1081
|
t,
|
|
1082
1082
|
title,
|
|
1083
1083
|
refreshing,
|
|
1084
1084
|
onRefresh,
|
|
1085
1085
|
meta
|
|
1086
|
-
}) : head, h$
|
|
1086
|
+
}) : head, h$66("div", { className: "wb-cardBody" }, children));
|
|
1087
1087
|
}
|
|
1088
1088
|
var CardAnchor_module_default = { anchor: "_anchor_yq4s2_1" };
|
|
1089
1089
|
//#endregion
|
|
@@ -1103,7 +1103,7 @@ window.__ModuleLoader__.load({
|
|
|
1103
1103
|
* @returns 带 id 的占位 div。
|
|
1104
1104
|
*/
|
|
1105
1105
|
function CardAnchor({ unit, children }) {
|
|
1106
|
-
return h$
|
|
1106
|
+
return h$66("div", {
|
|
1107
1107
|
id: cardIdOf(unit),
|
|
1108
1108
|
className: CardAnchor_module_default.anchor
|
|
1109
1109
|
}, children);
|
|
@@ -1117,13 +1117,13 @@ window.__ModuleLoader__.load({
|
|
|
1117
1117
|
* @returns 一枚 `StateDot state="ongoing"`,自身不带文字。
|
|
1118
1118
|
*/
|
|
1119
1119
|
function Spinner({ size = 14, label }) {
|
|
1120
|
-
return h$
|
|
1120
|
+
return h$66("span", {
|
|
1121
1121
|
className: "wb-spinner",
|
|
1122
1122
|
...label === void 0 ? { "aria-hidden": true } : {
|
|
1123
1123
|
role: "status",
|
|
1124
1124
|
"aria-label": label
|
|
1125
1125
|
}
|
|
1126
|
-
}, h$
|
|
1126
|
+
}, h$66(_deepseek_ai_dsh_client_ui_primitives.StateDot, {
|
|
1127
1127
|
state: "ongoing",
|
|
1128
1128
|
size
|
|
1129
1129
|
}));
|
|
@@ -1131,24 +1131,24 @@ window.__ModuleLoader__.load({
|
|
|
1131
1131
|
//#endregion
|
|
1132
1132
|
//#region ../shared/dist/components/ChoiceGroup.js
|
|
1133
1133
|
function ChoiceMenu(input) {
|
|
1134
|
-
const body = input.loading ? h$
|
|
1134
|
+
const body = input.loading ? h$66("span", {
|
|
1135
1135
|
className: "wb-choiceLoading",
|
|
1136
1136
|
role: "status"
|
|
1137
|
-
}, h$
|
|
1137
|
+
}, h$66(Spinner, { size: 14 }), h$66("span", { className: "wb-choiceLoadingText" }, input.loadingText ?? "…")) : input.options.length === 0 ? input.emptyText === void 0 ? null : h$66("span", { className: "wb-choiceEmpty" }, input.emptyText) : input.options.map((option) => {
|
|
1138
1138
|
const row = input.rowOf(option.value);
|
|
1139
|
-
return h$
|
|
1139
|
+
return h$66(Fragment$23, { key: option.value }, h$66("label", { className: `wb-choiceOption${row.checked ? " wb-choiceOptionOn" : ""}` }, h$66("input", {
|
|
1140
1140
|
className: input.multi ? "wb-checkbox" : "wb-radio",
|
|
1141
1141
|
type: input.multi ? "checkbox" : "radio",
|
|
1142
1142
|
name: input.name,
|
|
1143
1143
|
checked: row.checked,
|
|
1144
1144
|
disabled: input.disabled,
|
|
1145
1145
|
onChange: row.onSelect
|
|
1146
|
-
}), input.multi ? h$
|
|
1146
|
+
}), input.multi ? h$66("span", {
|
|
1147
1147
|
className: "wb-checkboxBox",
|
|
1148
1148
|
"aria-hidden": "true"
|
|
1149
|
-
}, row.checked ? h$
|
|
1149
|
+
}, row.checked ? h$66(_deepseek_ai_dsh_client_ui_primitives.IconCheckOutlineRegular, { size: 12 }) : null) : null, h$66("span", { className: "wb-choiceLabel" }, h$66("span", { className: "wb-choiceLabelText" }, option.label), option.description === void 0 ? null : h$66("span", { className: "wb-choiceDescription" }, option.description))));
|
|
1150
1150
|
});
|
|
1151
|
-
return h$
|
|
1151
|
+
return h$66("div", {
|
|
1152
1152
|
className: "wb-choiceMenu",
|
|
1153
1153
|
"data-variant": input.variant,
|
|
1154
1154
|
role: input.multi ? "group" : "radiogroup",
|
|
@@ -1182,7 +1182,7 @@ window.__ModuleLoader__.load({
|
|
|
1182
1182
|
if (props.multi === true) {
|
|
1183
1183
|
const values = props.values;
|
|
1184
1184
|
const onChange = props.onChange;
|
|
1185
|
-
return h$
|
|
1185
|
+
return h$66(ChoiceMenu, {
|
|
1186
1186
|
label: common.label,
|
|
1187
1187
|
name: common.name,
|
|
1188
1188
|
options: common.options,
|
|
@@ -1202,7 +1202,7 @@ window.__ModuleLoader__.load({
|
|
|
1202
1202
|
}
|
|
1203
1203
|
const value = props.value;
|
|
1204
1204
|
const onChange = props.onChange;
|
|
1205
|
-
return h$
|
|
1205
|
+
return h$66(ChoiceMenu, {
|
|
1206
1206
|
label: common.label,
|
|
1207
1207
|
name: common.name,
|
|
1208
1208
|
options: common.options,
|
|
@@ -1255,17 +1255,17 @@ window.__ModuleLoader__.load({
|
|
|
1255
1255
|
function FormActions({ actions }) {
|
|
1256
1256
|
if (actions.length === 0) return null;
|
|
1257
1257
|
reportExtraPrimaries(actions);
|
|
1258
|
-
return h$
|
|
1258
|
+
return h$66("div", { className: "wb-formActions" }, ordered(actions).map((action) => {
|
|
1259
1259
|
const kind = kindOf(action);
|
|
1260
1260
|
const busy = action.busy === true;
|
|
1261
|
-
return h$
|
|
1261
|
+
return h$66(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
1262
1262
|
key: action.key,
|
|
1263
1263
|
type: "button",
|
|
1264
1264
|
size: "sm",
|
|
1265
1265
|
variant: variantOf(kind),
|
|
1266
1266
|
className: kind === "danger" ? "wb-formActionDanger" : void 0,
|
|
1267
1267
|
disabled: busy || action.disabled === true,
|
|
1268
|
-
icon: busy ? h$
|
|
1268
|
+
icon: busy ? h$66(Spinner, { size: 12 }) : void 0,
|
|
1269
1269
|
onClick: action.onClick
|
|
1270
1270
|
}, action.label);
|
|
1271
1271
|
}));
|
|
@@ -1278,7 +1278,7 @@ window.__ModuleLoader__.load({
|
|
|
1278
1278
|
* @returns 竖排的 div。
|
|
1279
1279
|
*/
|
|
1280
1280
|
function Rows({ children }) {
|
|
1281
|
-
return h$
|
|
1281
|
+
return h$66("div", { className: "wb-rows" }, children);
|
|
1282
1282
|
}
|
|
1283
1283
|
/**
|
|
1284
1284
|
* 一行键值:左边名字、右边值;要成对说明一项数据就用它,别自己写两栏。
|
|
@@ -1287,7 +1287,7 @@ window.__ModuleLoader__.load({
|
|
|
1287
1287
|
* @returns 一行两格。
|
|
1288
1288
|
*/
|
|
1289
1289
|
function Row({ label, value }) {
|
|
1290
|
-
return h$
|
|
1290
|
+
return h$66("div", { className: "wb-row" }, h$66("span", { className: "wb-rowKey" }, label), h$66("span", { className: "wb-rowValue" }, value));
|
|
1291
1291
|
}
|
|
1292
1292
|
//#endregion
|
|
1293
1293
|
//#region ../shared/dist/components/ConfirmBar.js
|
|
@@ -1304,19 +1304,19 @@ window.__ModuleLoader__.load({
|
|
|
1304
1304
|
* @returns 一个 `role="group"` 的条;`actions` 空数组时最后那一块不渲染。
|
|
1305
1305
|
*/
|
|
1306
1306
|
function ConfirmBar({ title, hint, rows, actions, problem, busy, label }) {
|
|
1307
|
-
return h$
|
|
1307
|
+
return h$66("div", {
|
|
1308
1308
|
className: "wb-confirmBar",
|
|
1309
1309
|
role: "group",
|
|
1310
1310
|
"aria-label": label ?? (typeof title === "string" ? title : void 0),
|
|
1311
1311
|
"aria-busy": busy
|
|
1312
|
-
}, h$
|
|
1312
|
+
}, h$66("p", { className: "wb-confirmBarTitle" }, title), hint === void 0 ? null : h$66("p", { className: "wb-confirmBarHint" }, hint), rows === void 0 || rows.length === 0 ? null : h$66(Rows, null, rows.map((row) => h$66(Row, {
|
|
1313
1313
|
key: row.key,
|
|
1314
1314
|
label: row.label,
|
|
1315
1315
|
value: row.value
|
|
1316
|
-
}))), problem === void 0 ? null : h$
|
|
1316
|
+
}))), problem === void 0 ? null : h$66(Note, {
|
|
1317
1317
|
tone: "problem",
|
|
1318
1318
|
role: "alert"
|
|
1319
|
-
}, problem), h$
|
|
1319
|
+
}, problem), h$66(FormActions, { actions }));
|
|
1320
1320
|
}
|
|
1321
1321
|
//#endregion
|
|
1322
1322
|
//#region ../shared/dist/components/Field.js
|
|
@@ -1328,7 +1328,7 @@ window.__ModuleLoader__.load({
|
|
|
1328
1328
|
* @returns 一个 `<label>`,点标签会聚焦里面的控件。
|
|
1329
1329
|
*/
|
|
1330
1330
|
function Field({ label, hint, children }) {
|
|
1331
|
-
return h$
|
|
1331
|
+
return h$66("label", { className: "wb-field" }, h$66("span", { className: "wb-fieldLabel" }, label), children, hint === void 0 ? null : h$66("span", { className: "wb-fieldHint" }, hint));
|
|
1332
1332
|
}
|
|
1333
1333
|
//#endregion
|
|
1334
1334
|
//#region ../shared/dist/components/FormRows.js
|
|
@@ -1338,7 +1338,7 @@ window.__ModuleLoader__.load({
|
|
|
1338
1338
|
* @returns 竖排的 div。
|
|
1339
1339
|
*/
|
|
1340
1340
|
function FormRows({ children }) {
|
|
1341
|
-
return h$
|
|
1341
|
+
return h$66("div", { className: "wb-formRows" }, children);
|
|
1342
1342
|
}
|
|
1343
1343
|
/**
|
|
1344
1344
|
* 表单一行:左边标签、右边控件,提示与错误占控件下面那一格。
|
|
@@ -1351,14 +1351,14 @@ window.__ModuleLoader__.load({
|
|
|
1351
1351
|
* @returns 一个 `<div>`:里面的 `<label>` 只包标签文字,不包控件、提示与整行的空白。
|
|
1352
1352
|
*/
|
|
1353
1353
|
function FormRow({ label, htmlFor, hint, problem, layout = "inline", children }) {
|
|
1354
|
-
return h$
|
|
1354
|
+
return h$66("div", {
|
|
1355
1355
|
className: "wb-formRow",
|
|
1356
1356
|
"data-layout": layout,
|
|
1357
1357
|
"data-wb-problem": problem === void 0 ? void 0 : ""
|
|
1358
|
-
}, h$
|
|
1358
|
+
}, h$66("label", {
|
|
1359
1359
|
className: "wb-formLabel",
|
|
1360
1360
|
htmlFor
|
|
1361
|
-
}, label), h$
|
|
1361
|
+
}, label), h$66("span", { className: "wb-formControl" }, children), problem === void 0 ? hint === void 0 ? null : h$66("span", { className: "wb-formHint" }, hint) : h$66("span", { className: "wb-formProblem" }, problem));
|
|
1362
1362
|
}
|
|
1363
1363
|
//#endregion
|
|
1364
1364
|
//#region ../shared/dist/components/FormNodes.js
|
|
@@ -1505,7 +1505,7 @@ window.__ModuleLoader__.load({
|
|
|
1505
1505
|
* @returns `FormRow` 组成的数组;没有可画的格子时给空数组。
|
|
1506
1506
|
*/
|
|
1507
1507
|
function formRowsOf(args) {
|
|
1508
|
-
return args.fields.map((field) => h$
|
|
1508
|
+
return args.fields.map((field) => h$66(FormRow, {
|
|
1509
1509
|
key: field.key,
|
|
1510
1510
|
label: field.label,
|
|
1511
1511
|
htmlFor: controlIdOf(field.key),
|
|
@@ -1581,13 +1581,13 @@ window.__ModuleLoader__.load({
|
|
|
1581
1581
|
*/
|
|
1582
1582
|
function Form(props) {
|
|
1583
1583
|
const { fields, onSubmit, submit, cancel, extra, busy = false, disabled = false, problem } = props;
|
|
1584
|
-
const [done, setDone] = useState$
|
|
1585
|
-
const [reveal, setReveal] = useState$
|
|
1586
|
-
const rootRef = useRef$
|
|
1584
|
+
const [done, setDone] = useState$37(false);
|
|
1585
|
+
const [reveal, setReveal] = useState$37(0);
|
|
1586
|
+
const rootRef = useRef$23(null);
|
|
1587
1587
|
const shown = visibleFieldsOf(fields);
|
|
1588
1588
|
const problems = formProblemsOf(shown, done);
|
|
1589
1589
|
reportDuplicateKeys(shown);
|
|
1590
|
-
useEffect$
|
|
1590
|
+
useEffect$29(() => {
|
|
1591
1591
|
if (reveal === 0) return;
|
|
1592
1592
|
const root = rootRef.current;
|
|
1593
1593
|
if (root !== null) revealFirstProblem(root);
|
|
@@ -1602,7 +1602,7 @@ window.__ModuleLoader__.load({
|
|
|
1602
1602
|
}
|
|
1603
1603
|
onSubmit(outcome.values);
|
|
1604
1604
|
};
|
|
1605
|
-
return h$
|
|
1605
|
+
return h$66("form", {
|
|
1606
1606
|
className: "wb-form",
|
|
1607
1607
|
ref: rootRef,
|
|
1608
1608
|
noValidate: true,
|
|
@@ -1610,15 +1610,15 @@ window.__ModuleLoader__.load({
|
|
|
1610
1610
|
event.preventDefault();
|
|
1611
1611
|
submitForm();
|
|
1612
1612
|
}
|
|
1613
|
-
}, h$
|
|
1613
|
+
}, h$66(FormRows, null, formRowsOf({
|
|
1614
1614
|
fields: shown,
|
|
1615
1615
|
problems,
|
|
1616
1616
|
showProblem: done,
|
|
1617
1617
|
busy
|
|
1618
|
-
})), problem === void 0 ? null : h$
|
|
1618
|
+
})), problem === void 0 ? null : h$66(Note, {
|
|
1619
1619
|
tone: "problem",
|
|
1620
1620
|
role: "alert"
|
|
1621
|
-
}, problem), h$
|
|
1621
|
+
}, problem), h$66(FormActions, { actions: formActionsOf({
|
|
1622
1622
|
extra,
|
|
1623
1623
|
cancel,
|
|
1624
1624
|
submit,
|
|
@@ -1639,7 +1639,7 @@ window.__ModuleLoader__.load({
|
|
|
1639
1639
|
* @returns 一个 `<a>`。
|
|
1640
1640
|
*/
|
|
1641
1641
|
function Link({ href, children, title, external = true, className }) {
|
|
1642
|
-
return h$
|
|
1642
|
+
return h$66("a", {
|
|
1643
1643
|
className: className === void 0 ? "wb-link" : `wb-link ${className}`,
|
|
1644
1644
|
href,
|
|
1645
1645
|
...title === void 0 ? {} : { title },
|
|
@@ -1647,7 +1647,7 @@ window.__ModuleLoader__.load({
|
|
|
1647
1647
|
target: "_blank",
|
|
1648
1648
|
rel: "noopener noreferrer"
|
|
1649
1649
|
} : {}
|
|
1650
|
-
}, children, external ? h$
|
|
1650
|
+
}, children, external ? h$66(_deepseek_ai_dsh_client_ui_primitives.IconRightUpOutlineRegular, { size: 12 }) : null);
|
|
1651
1651
|
}
|
|
1652
1652
|
//#endregion
|
|
1653
1653
|
//#region ../shared/dist/contract/long-task.js
|
|
@@ -1739,7 +1739,7 @@ window.__ModuleLoader__.load({
|
|
|
1739
1739
|
//#endregion
|
|
1740
1740
|
//#region ../shared/dist/components/LongTaskRow.js
|
|
1741
1741
|
function RowLink({ href, text }) {
|
|
1742
|
-
return h$
|
|
1742
|
+
return h$66(Link, {
|
|
1743
1743
|
href,
|
|
1744
1744
|
className: "wb-longTaskLink"
|
|
1745
1745
|
}, text);
|
|
@@ -1759,9 +1759,9 @@ window.__ModuleLoader__.load({
|
|
|
1759
1759
|
* @returns 一行长任务。
|
|
1760
1760
|
*/
|
|
1761
1761
|
function LongTaskRow(props) {
|
|
1762
|
-
const [stepsOpen, setStepsOpen] = useState$
|
|
1763
|
-
const [rawOpen, setRawOpen] = useState$
|
|
1764
|
-
const [armed, setArmed] = useState$
|
|
1762
|
+
const [stepsOpen, setStepsOpen] = useState$37(false);
|
|
1763
|
+
const [rawOpen, setRawOpen] = useState$37(false);
|
|
1764
|
+
const [armed, setArmed] = useState$37(false);
|
|
1765
1765
|
const failed = props.status === "failed";
|
|
1766
1766
|
const problem = props.problem ?? "";
|
|
1767
1767
|
const raw = (props.raw ?? "").trim();
|
|
@@ -1769,7 +1769,7 @@ window.__ModuleLoader__.load({
|
|
|
1769
1769
|
const stop = props.stop;
|
|
1770
1770
|
const busy = stop?.busy === true;
|
|
1771
1771
|
const stopWhy = stop?.failed ?? "";
|
|
1772
|
-
useEffect$
|
|
1772
|
+
useEffect$29(() => {
|
|
1773
1773
|
if (!armed) return void 0;
|
|
1774
1774
|
const timer = setTimeout(() => setArmed(false), LONG_TASK_STOP_ARM_MS);
|
|
1775
1775
|
return () => clearTimeout(timer);
|
|
@@ -1788,14 +1788,14 @@ window.__ModuleLoader__.load({
|
|
|
1788
1788
|
setArmed(false);
|
|
1789
1789
|
stop.onStop();
|
|
1790
1790
|
};
|
|
1791
|
-
return h$
|
|
1791
|
+
return h$66("div", { className: "wb-longTask" }, h$66("p", { className: "wb-longTaskHead" }, h$66(_deepseek_ai_dsh_client_ui_primitives.StateDot, {
|
|
1792
1792
|
state: longTaskDot(props.status),
|
|
1793
1793
|
size: 10
|
|
1794
|
-
}), h$
|
|
1794
|
+
}), h$66("span", { className: "wb-longTaskHeadline" }, props.headline), (props.links ?? []).map((link) => h$66(RowLink, {
|
|
1795
1795
|
href: link.href,
|
|
1796
1796
|
key: `${link.text}@${link.href}`,
|
|
1797
1797
|
text: link.text
|
|
1798
|
-
})), stop === void 0 ? null : h$
|
|
1798
|
+
})), stop === void 0 ? null : h$66("button", {
|
|
1799
1799
|
type: "button",
|
|
1800
1800
|
className: `wb-longTaskStop${armed ? " wb-longTaskStopArmed" : ""}`,
|
|
1801
1801
|
"data-stop-state": longTaskStopStage({
|
|
@@ -1806,31 +1806,31 @@ window.__ModuleLoader__.load({
|
|
|
1806
1806
|
disabled: busy,
|
|
1807
1807
|
onClick: onStopPress,
|
|
1808
1808
|
onBlur: () => setArmed(false)
|
|
1809
|
-
}, h$
|
|
1809
|
+
}, h$66(_deepseek_ai_dsh_client_ui_primitives.IconStopFillRegular, { size: 12 }), armed ? h$66("span", { className: "wb-longTaskStopLabel" }, stop.askLabel) : null)), problem === "" ? null : h$66("p", { className: "wb-longTaskProblem" }, problem), stopWhy === "" ? null : h$66("p", { className: "wb-longTaskStopWhy" }, stopWhy), !failed ? null : h$66(Fragment$23, null, steps.length === 0 || props.stepsTitle === void 0 ? null : h$66(_deepseek_ai_dsh_client_ui_primitives.DisclosureRow, {
|
|
1810
1810
|
className: "wb-longTaskDump",
|
|
1811
|
-
icon: h$
|
|
1811
|
+
icon: h$66(_deepseek_ai_dsh_client_ui_primitives.IconFlatListOutlineRegular, { size: 14 }),
|
|
1812
1812
|
title: props.stepsTitle,
|
|
1813
1813
|
open: stepsOpen,
|
|
1814
1814
|
expandable: true,
|
|
1815
1815
|
expandOnRowClick: true,
|
|
1816
1816
|
previewChevron: true,
|
|
1817
1817
|
onToggle: () => setStepsOpen(!stepsOpen)
|
|
1818
|
-
}, h$
|
|
1818
|
+
}, h$66(_deepseek_ai_dsh_client_ui_primitives.CodeBlock, {
|
|
1819
1819
|
code: steps.join("\n"),
|
|
1820
1820
|
className: "wb-longTaskDump",
|
|
1821
1821
|
showHeader: props.copyLabel !== void 0,
|
|
1822
1822
|
copyLabel: props.copyLabel ?? "",
|
|
1823
1823
|
copiedLabel: props.copiedLabel ?? ""
|
|
1824
|
-
})), raw === "" || props.rawTitle === void 0 ? null : h$
|
|
1824
|
+
})), raw === "" || props.rawTitle === void 0 ? null : h$66(_deepseek_ai_dsh_client_ui_primitives.DisclosureRow, {
|
|
1825
1825
|
className: "wb-longTaskDump",
|
|
1826
|
-
icon: h$
|
|
1826
|
+
icon: h$66(_deepseek_ai_dsh_client_ui_primitives.IconCodeOutlineRegular, { size: 14 }),
|
|
1827
1827
|
title: props.rawTitle,
|
|
1828
1828
|
open: rawOpen,
|
|
1829
1829
|
expandable: true,
|
|
1830
1830
|
expandOnRowClick: true,
|
|
1831
1831
|
previewChevron: true,
|
|
1832
1832
|
onToggle: () => setRawOpen(!rawOpen)
|
|
1833
|
-
}, h$
|
|
1833
|
+
}, h$66(_deepseek_ai_dsh_client_ui_primitives.CodeBlock, {
|
|
1834
1834
|
code: raw,
|
|
1835
1835
|
className: "wb-longTaskDump",
|
|
1836
1836
|
showHeader: props.copyLabel !== void 0,
|
|
@@ -1846,13 +1846,13 @@ window.__ModuleLoader__.load({
|
|
|
1846
1846
|
* @returns 一叠占位条。
|
|
1847
1847
|
*/
|
|
1848
1848
|
function SkeletonRows({ rows = 4 }) {
|
|
1849
|
-
return h$
|
|
1849
|
+
return h$66("div", {
|
|
1850
1850
|
className: "wb-skeleton",
|
|
1851
1851
|
"aria-hidden": "true"
|
|
1852
|
-
}, Array.from({ length: rows }, (_, index) => h$
|
|
1852
|
+
}, Array.from({ length: rows }, (_, index) => h$66("span", {
|
|
1853
1853
|
key: index,
|
|
1854
1854
|
className: "wb-skeletonRow"
|
|
1855
|
-
}, h$
|
|
1855
|
+
}, h$66("span", { className: "wb-skeletonBar wb-skeletonBarTitle" }), h$66("span", { className: "wb-skeletonBar wb-skeletonBarMeta" }))));
|
|
1856
1856
|
}
|
|
1857
1857
|
/**
|
|
1858
1858
|
* 居中一屏:要他先选一个 / 正在读 / 读不到时用它占住卡片版面。
|
|
@@ -1865,13 +1865,13 @@ window.__ModuleLoader__.load({
|
|
|
1865
1865
|
* @returns 一个 `role="status"` 的居中块。
|
|
1866
1866
|
*/
|
|
1867
1867
|
function CenteredState({ icon, title, hint, detail, action, compact = false }) {
|
|
1868
|
-
return h$
|
|
1868
|
+
return h$66("div", {
|
|
1869
1869
|
className: compact ? "wb-centered wb-centeredCompact" : "wb-centered",
|
|
1870
1870
|
role: "status"
|
|
1871
|
-
}, icon === null ? null : h$
|
|
1871
|
+
}, icon === null ? null : h$66("span", {
|
|
1872
1872
|
className: "wb-centeredHero",
|
|
1873
1873
|
"aria-hidden": "true"
|
|
1874
|
-
}, icon), h$
|
|
1874
|
+
}, icon), h$66("div", { className: "wb-centeredTitle" }, title), hint === void 0 ? null : h$66("div", { className: "wb-centeredHint" }, hint), detail === void 0 ? null : h$66("div", { className: "wb-centeredDetail" }, detail), action === void 0 ? null : h$66("div", { className: "wb-centeredAction" }, action));
|
|
1875
1875
|
}
|
|
1876
1876
|
/**
|
|
1877
1877
|
* 就绪但空:它只是 `CenteredState` 的简写,标题就是那句空态文案。
|
|
@@ -1881,7 +1881,7 @@ window.__ModuleLoader__.load({
|
|
|
1881
1881
|
* @returns 一个居中块。
|
|
1882
1882
|
*/
|
|
1883
1883
|
function EmptyState({ text, icon = null, compact = false }) {
|
|
1884
|
-
return h$
|
|
1884
|
+
return h$66(CenteredState, {
|
|
1885
1885
|
icon,
|
|
1886
1886
|
title: text,
|
|
1887
1887
|
compact
|
|
@@ -1899,7 +1899,7 @@ window.__ModuleLoader__.load({
|
|
|
1899
1899
|
* @returns 一组按钮。
|
|
1900
1900
|
*/
|
|
1901
1901
|
function SaveBar({ busy, disabled, labels, onCancel, onSave }) {
|
|
1902
|
-
return h$
|
|
1902
|
+
return h$66(FormActions, { actions: [{
|
|
1903
1903
|
key: "cancel",
|
|
1904
1904
|
label: labels.cancel,
|
|
1905
1905
|
kind: "default",
|
|
@@ -1932,7 +1932,7 @@ window.__ModuleLoader__.load({
|
|
|
1932
1932
|
* @returns 一颗 `<button>`。
|
|
1933
1933
|
*/
|
|
1934
1934
|
function selectTriggerNode(args) {
|
|
1935
|
-
return h$
|
|
1935
|
+
return h$66("button", {
|
|
1936
1936
|
type: "button",
|
|
1937
1937
|
id: args.id,
|
|
1938
1938
|
className: args.className,
|
|
@@ -1943,7 +1943,7 @@ window.__ModuleLoader__.load({
|
|
|
1943
1943
|
"aria-label": args.ariaLabel,
|
|
1944
1944
|
title: args.title,
|
|
1945
1945
|
onClick: args.onOpen
|
|
1946
|
-
}, args.iconOnly ? h$
|
|
1946
|
+
}, args.iconOnly ? h$66("span", { className: "wb-selectIcon" }, args.icon) : h$66(Fragment$23, null, args.icon === void 0 ? null : h$66("span", { className: "wb-selectIcon" }, args.icon), h$66("span", { className: "wb-selectValue" }, args.value), h$66("span", { className: "wb-selectChevron" }, h$66(_deepseek_ai_dsh_client_ui_primitives.IconChevronDownOutlineRegular, { size: 14 }))));
|
|
1947
1947
|
}
|
|
1948
1948
|
/**
|
|
1949
1949
|
* 名单还没读到时的触发器:禁用 + `aria-busy` 的按钮,`SelectField` 在 `loading` 那档画它。
|
|
@@ -1955,7 +1955,7 @@ window.__ModuleLoader__.load({
|
|
|
1955
1955
|
* @returns 一颗禁用且 `aria-busy` 的按钮。
|
|
1956
1956
|
*/
|
|
1957
1957
|
function selectLoadingNode(args) {
|
|
1958
|
-
return h$
|
|
1958
|
+
return h$66("button", {
|
|
1959
1959
|
type: "button",
|
|
1960
1960
|
id: args.id,
|
|
1961
1961
|
className: `${args.className} wb-selectLoading`,
|
|
@@ -1964,7 +1964,7 @@ window.__ModuleLoader__.load({
|
|
|
1964
1964
|
"aria-invalid": args.invalid || void 0,
|
|
1965
1965
|
"aria-label": args.ariaLabel,
|
|
1966
1966
|
title: args.loadingText
|
|
1967
|
-
}, h$
|
|
1967
|
+
}, h$66("span", { className: "wb-selectValue" }, h$66(_deepseek_ai_dsh_client_ui_primitives.TextShimmer, { active: true }, args.loadingText ?? "…")), h$66("span", { className: "wb-selectChevron" }, h$66(Spinner, { size: 14 })));
|
|
1968
1968
|
}
|
|
1969
1969
|
//#endregion
|
|
1970
1970
|
//#region ../shared/dist/components/TextField.js
|
|
@@ -1974,7 +1974,7 @@ window.__ModuleLoader__.load({
|
|
|
1974
1974
|
* @returns 输入框元素;`className` 是追加在基础类名之后,而不是替换它。
|
|
1975
1975
|
*/
|
|
1976
1976
|
function TextField({ invalid = false, className, ...rest }) {
|
|
1977
|
-
return h$
|
|
1977
|
+
return h$66("input", {
|
|
1978
1978
|
...rest,
|
|
1979
1979
|
className: className === void 0 ? "wb-textField" : `wb-textField ${className}`,
|
|
1980
1980
|
"aria-invalid": invalid || void 0
|
|
@@ -1997,7 +1997,7 @@ window.__ModuleLoader__.load({
|
|
|
1997
1997
|
...option.icon === void 0 ? {} : { icon: option.icon },
|
|
1998
1998
|
...option.disabled === true ? { disabled: true } : {}
|
|
1999
1999
|
};
|
|
2000
|
-
const revealed = (node) => h$
|
|
2000
|
+
const revealed = (node) => h$66("span", {
|
|
2001
2001
|
className: "wb-selectReveal",
|
|
2002
2002
|
"data-wb-select-reveal": ""
|
|
2003
2003
|
}, node);
|
|
@@ -2013,20 +2013,20 @@ window.__ModuleLoader__.load({
|
|
|
2013
2013
|
return found instanceof HTMLElement ? found : null;
|
|
2014
2014
|
}
|
|
2015
2015
|
function useRevealOnOpen(open, revealId) {
|
|
2016
|
-
useEffect$
|
|
2016
|
+
useEffect$29(() => {
|
|
2017
2017
|
if (!open || revealId === void 0) return;
|
|
2018
2018
|
revealNode()?.scrollIntoView({ block: "nearest" });
|
|
2019
2019
|
}, [open, revealId]);
|
|
2020
2020
|
}
|
|
2021
2021
|
function selectValueNode(current, renderValue, placeholder) {
|
|
2022
|
-
if (current === void 0) return h$
|
|
2022
|
+
if (current === void 0) return h$66("span", { className: "wb-selectPlaceholder" }, placeholder ?? "—");
|
|
2023
2023
|
return renderValue === void 0 ? current.label : renderValue(current);
|
|
2024
2024
|
}
|
|
2025
2025
|
function searchNode(args) {
|
|
2026
|
-
return h$
|
|
2026
|
+
return h$66("span", {
|
|
2027
2027
|
ref: args.boxRef,
|
|
2028
2028
|
className: args.className
|
|
2029
|
-
}, h$
|
|
2029
|
+
}, h$66("span", { className: "wb-selectSearchIcon" }, h$66(_deepseek_ai_dsh_client_ui_primitives.IconSearchOutlineRegular, { size: 14 })), h$66(TextField, {
|
|
2030
2030
|
id: args.id,
|
|
2031
2031
|
name: args.name,
|
|
2032
2032
|
className: "wb-selectSearchInput",
|
|
@@ -2041,7 +2041,7 @@ window.__ModuleLoader__.load({
|
|
|
2041
2041
|
}));
|
|
2042
2042
|
}
|
|
2043
2043
|
function menuNode(args) {
|
|
2044
|
-
return h$
|
|
2044
|
+
return h$66(_deepseek_ai_dsh_client_ui_primitives.Menu, {
|
|
2045
2045
|
open: args.open,
|
|
2046
2046
|
portal: true,
|
|
2047
2047
|
className: "wb-selectAnchor",
|
|
@@ -2058,11 +2058,11 @@ window.__ModuleLoader__.load({
|
|
|
2058
2058
|
});
|
|
2059
2059
|
}
|
|
2060
2060
|
function framed(label, hint, className, control) {
|
|
2061
|
-
const inner = label === void 0 ? hint === void 0 ? control : h$
|
|
2061
|
+
const inner = label === void 0 ? hint === void 0 ? control : h$66("span", { className: "wb-select" }, control, h$66("span", { className: "wb-selectHint" }, hint)) : h$66(Field, {
|
|
2062
2062
|
label,
|
|
2063
2063
|
hint
|
|
2064
2064
|
}, control);
|
|
2065
|
-
return className === void 0 ? inner : h$
|
|
2065
|
+
return className === void 0 ? inner : h$66("div", { className }, inner);
|
|
2066
2066
|
}
|
|
2067
2067
|
/** 算候选项用来匹配搜索的文本:有 `searchText` 就用它,否则取字符串标签;标签不是字符串又没给它是空串(这项搜不到)。 */
|
|
2068
2068
|
function searchTextOf(option) {
|
|
@@ -2114,24 +2114,24 @@ window.__ModuleLoader__.load({
|
|
|
2114
2114
|
}
|
|
2115
2115
|
function useSelectState(props) {
|
|
2116
2116
|
const { options, filter = defaultSelectFilter, emptyText, open: openProp, onOpenChange } = props;
|
|
2117
|
-
const [openState, setOpenState] = useState$
|
|
2118
|
-
const [query, setQuery] = useState$
|
|
2119
|
-
const [cursor, setCursor] = useState$
|
|
2120
|
-
const boxRef = useRef$
|
|
2121
|
-
const triggerRef = useRef$
|
|
2122
|
-
const wasOpenRef = useRef$
|
|
2123
|
-
const pickedRef = useRef$
|
|
2124
|
-
const closedByUsRef = useRef$
|
|
2117
|
+
const [openState, setOpenState] = useState$37(false);
|
|
2118
|
+
const [query, setQuery] = useState$37("");
|
|
2119
|
+
const [cursor, setCursor] = useState$37(null);
|
|
2120
|
+
const boxRef = useRef$23(null);
|
|
2121
|
+
const triggerRef = useRef$23(null);
|
|
2122
|
+
const wasOpenRef = useRef$23(false);
|
|
2123
|
+
const pickedRef = useRef$23(false);
|
|
2124
|
+
const closedByUsRef = useRef$23(false);
|
|
2125
2125
|
const open = openProp ?? openState;
|
|
2126
2126
|
const setOpen = (next) => {
|
|
2127
2127
|
if (openProp === void 0) setOpenState(next);
|
|
2128
2128
|
onOpenChange?.(next);
|
|
2129
2129
|
};
|
|
2130
|
-
useEffect$
|
|
2130
|
+
useEffect$29(() => {
|
|
2131
2131
|
if (!open || props.search === false) return;
|
|
2132
2132
|
boxRef.current?.querySelector("input")?.focus();
|
|
2133
2133
|
}, [open, props.search]);
|
|
2134
|
-
useEffect$
|
|
2134
|
+
useEffect$29(() => {
|
|
2135
2135
|
if (open) {
|
|
2136
2136
|
wasOpenRef.current = true;
|
|
2137
2137
|
return;
|
|
@@ -2145,7 +2145,7 @@ window.__ModuleLoader__.load({
|
|
|
2145
2145
|
if (!closedByUs || picked) return;
|
|
2146
2146
|
triggerRef.current?.focus();
|
|
2147
2147
|
}, [open]);
|
|
2148
|
-
const shown = useMemo$
|
|
2148
|
+
const shown = useMemo$10(() => filterSelectOptions(options, query, filter), [
|
|
2149
2149
|
options,
|
|
2150
2150
|
query,
|
|
2151
2151
|
filter
|
|
@@ -2201,7 +2201,7 @@ window.__ModuleLoader__.load({
|
|
|
2201
2201
|
ariaLabel,
|
|
2202
2202
|
loadingText
|
|
2203
2203
|
}));
|
|
2204
|
-
if (fallback !== void 0 && options.length === 0) return framed(label, hint, className, h$
|
|
2204
|
+
if (fallback !== void 0 && options.length === 0) return framed(label, hint, className, h$66(TextField, {
|
|
2205
2205
|
id,
|
|
2206
2206
|
name,
|
|
2207
2207
|
className: "wb-selectFallback",
|
|
@@ -2284,11 +2284,11 @@ window.__ModuleLoader__.load({
|
|
|
2284
2284
|
* @returns 一个 `role="group"` 的 section。
|
|
2285
2285
|
*/
|
|
2286
2286
|
function SettingsSection({ label, title, action, children }) {
|
|
2287
|
-
return h$
|
|
2287
|
+
return h$66("section", {
|
|
2288
2288
|
className: "wb-settings",
|
|
2289
2289
|
role: "group",
|
|
2290
2290
|
"aria-label": label
|
|
2291
|
-
}, h$
|
|
2291
|
+
}, h$66("header", { className: "wb-settingsHead" }, h$66("span", { className: "wb-settingsTitle" }, title), action), children);
|
|
2292
2292
|
}
|
|
2293
2293
|
//#endregion
|
|
2294
2294
|
//#region ../shared/dist/components/Stack.js
|
|
@@ -2298,7 +2298,7 @@ window.__ModuleLoader__.load({
|
|
|
2298
2298
|
* @returns 竖排的 div。
|
|
2299
2299
|
*/
|
|
2300
2300
|
function Stack({ children }) {
|
|
2301
|
-
return h$
|
|
2301
|
+
return h$66("div", { className: "wb-stack" }, children);
|
|
2302
2302
|
}
|
|
2303
2303
|
//#endregion
|
|
2304
2304
|
//#region ../shared/dist/components/StateBlock.js
|
|
@@ -2313,12 +2313,12 @@ window.__ModuleLoader__.load({
|
|
|
2313
2313
|
* @returns 一个 div。
|
|
2314
2314
|
*/
|
|
2315
2315
|
function StateBlock({ title, dot, hint, actions, resolving, children }) {
|
|
2316
|
-
return h$
|
|
2316
|
+
return h$66("div", { className: "wb-stateBlock" }, title === void 0 && dot === void 0 ? null : h$66("p", { className: "wb-stateBlockTitle" }, dot, title), resolving === void 0 ? null : h$66("p", { className: "wb-stateBlockResolving" }, resolving), hint === void 0 ? null : h$66("p", { className: "wb-stateBlockHint" }, hint), children, actions === void 0 ? null : h$66("div", { className: "wb-stateBlockActions" }, actions));
|
|
2317
2317
|
}
|
|
2318
2318
|
//#endregion
|
|
2319
2319
|
//#region ../shared/dist/components/icons.js
|
|
2320
2320
|
function Shell({ size, strokeWidth = 1, viewBox = "0 0 16 16", children }) {
|
|
2321
|
-
return h$
|
|
2321
|
+
return h$66("svg", {
|
|
2322
2322
|
width: size,
|
|
2323
2323
|
height: size,
|
|
2324
2324
|
viewBox,
|
|
@@ -2335,10 +2335,10 @@ window.__ModuleLoader__.load({
|
|
|
2335
2335
|
* @returns 一枚 `aria-hidden` 的 svg。
|
|
2336
2336
|
*/
|
|
2337
2337
|
function IconConversation({ size = 16 }) {
|
|
2338
|
-
return h$
|
|
2338
|
+
return h$66(Shell, {
|
|
2339
2339
|
size,
|
|
2340
2340
|
strokeWidth: 1.3
|
|
2341
|
-
}, h$
|
|
2341
|
+
}, h$66("path", {
|
|
2342
2342
|
d: "M2.5 7.2c0-2.3 2.1-4.2 4.8-4.2h1.4c2.7 0 4.8 1.9 4.8 4.2s-2.1 4.2-4.8 4.2H7.5l-3.2 2v-2.3c-1.1-.8-1.8-2-1.8-3.9Z",
|
|
2343
2343
|
stroke: "currentColor",
|
|
2344
2344
|
strokeLinejoin: "round"
|
|
@@ -2353,30 +2353,30 @@ window.__ModuleLoader__.load({
|
|
|
2353
2353
|
* @returns 一枚 `aria-hidden` 的 svg。
|
|
2354
2354
|
*/
|
|
2355
2355
|
function IconBrandMark({ size = 24 }) {
|
|
2356
|
-
return h$
|
|
2356
|
+
return h$66(Shell, {
|
|
2357
2357
|
size,
|
|
2358
2358
|
viewBox: "0 0 64 64"
|
|
2359
|
-
}, h$
|
|
2359
|
+
}, h$66("path", {
|
|
2360
2360
|
d: BRAND_FRAME,
|
|
2361
2361
|
fill: "currentColor",
|
|
2362
2362
|
fillRule: "evenodd"
|
|
2363
|
-
}), h$
|
|
2363
|
+
}), h$66("rect", {
|
|
2364
2364
|
x: 27.5,
|
|
2365
2365
|
y: 48,
|
|
2366
2366
|
width: 9,
|
|
2367
2367
|
height: 4.75,
|
|
2368
2368
|
fill: "currentColor"
|
|
2369
|
-
}), h$
|
|
2369
|
+
}), h$66("rect", {
|
|
2370
2370
|
x: 19,
|
|
2371
2371
|
y: 52.75,
|
|
2372
2372
|
width: 26,
|
|
2373
2373
|
height: 4.75,
|
|
2374
2374
|
rx: 2.375,
|
|
2375
2375
|
fill: "currentColor"
|
|
2376
|
-
}), h$
|
|
2376
|
+
}), h$66("g", { transform: BRAND_TAIL_TRANSFORM }, h$66("path", {
|
|
2377
2377
|
d: BRAND_TAIL,
|
|
2378
2378
|
fill: "currentColor"
|
|
2379
|
-
}), h$
|
|
2379
|
+
}), h$66("circle", {
|
|
2380
2380
|
cx: 6.885,
|
|
2381
2381
|
cy: 13.742,
|
|
2382
2382
|
r: 1.95,
|
|
@@ -2389,30 +2389,30 @@ window.__ModuleLoader__.load({
|
|
|
2389
2389
|
* @returns 一枚 `aria-hidden` 的 svg。
|
|
2390
2390
|
*/
|
|
2391
2391
|
function IconOpencli({ size = 16 }) {
|
|
2392
|
-
return h$
|
|
2392
|
+
return h$66(Shell, {
|
|
2393
2393
|
size,
|
|
2394
2394
|
viewBox: "0 0 64 64"
|
|
2395
|
-
}, h$
|
|
2395
|
+
}, h$66("defs", null, h$66("linearGradient", {
|
|
2396
2396
|
id: "opencli-mark",
|
|
2397
2397
|
x1: "0%",
|
|
2398
2398
|
y1: "0%",
|
|
2399
2399
|
x2: "100%",
|
|
2400
2400
|
y2: "100%"
|
|
2401
|
-
}, h$
|
|
2401
|
+
}, h$66("stop", {
|
|
2402
2402
|
offset: "0%",
|
|
2403
2403
|
stopColor: "#00e5a0"
|
|
2404
|
-
}), h$
|
|
2404
|
+
}), h$66("stop", {
|
|
2405
2405
|
offset: "50%",
|
|
2406
2406
|
stopColor: "#00b4d8"
|
|
2407
|
-
}), h$
|
|
2407
|
+
}), h$66("stop", {
|
|
2408
2408
|
offset: "100%",
|
|
2409
2409
|
stopColor: "#7b61ff"
|
|
2410
|
-
}))), h$
|
|
2410
|
+
}))), h$66("rect", {
|
|
2411
2411
|
width: 64,
|
|
2412
2412
|
height: 64,
|
|
2413
2413
|
rx: 14,
|
|
2414
2414
|
fill: "#0a0a0f"
|
|
2415
|
-
}), h$
|
|
2415
|
+
}), h$66("text", {
|
|
2416
2416
|
x: "50%",
|
|
2417
2417
|
y: "54%",
|
|
2418
2418
|
dominantBaseline: "middle",
|
|
@@ -2429,10 +2429,10 @@ window.__ModuleLoader__.load({
|
|
|
2429
2429
|
* @returns 一枚 `aria-hidden` 的 svg。
|
|
2430
2430
|
*/
|
|
2431
2431
|
function IconNpm({ size = 16 }) {
|
|
2432
|
-
return h$
|
|
2432
|
+
return h$66(Shell, {
|
|
2433
2433
|
size,
|
|
2434
2434
|
viewBox: "0 0 1024 1024"
|
|
2435
|
-
}, h$
|
|
2435
|
+
}, h$66("path", {
|
|
2436
2436
|
d: "M64 337.76h896v298.72H512v49.792H312.896v-49.824H64z m49.792 248.928h99.552v-149.376h49.76v149.344h49.792v-199.104H113.792z m248.896-199.136v248.928h99.552v-49.792h99.552v-199.136z m99.552 49.792H512v99.584h-49.792z m149.344-49.792v199.136h99.552v-149.376h49.792v149.344h49.792v-149.344h49.792v149.344h49.792v-199.104z",
|
|
2437
2437
|
fill: "#CB3837"
|
|
2438
2438
|
}));
|
|
@@ -2443,37 +2443,37 @@ window.__ModuleLoader__.load({
|
|
|
2443
2443
|
* @returns 一枚 `aria-hidden` 的 svg。
|
|
2444
2444
|
*/
|
|
2445
2445
|
function IconModuleMark({ size = 16 }) {
|
|
2446
|
-
return h$
|
|
2446
|
+
return h$66(Shell, {
|
|
2447
2447
|
size,
|
|
2448
2448
|
viewBox: "0 0 24 24"
|
|
2449
|
-
}, h$
|
|
2449
|
+
}, h$66("defs", null, h$66("linearGradient", {
|
|
2450
2450
|
id: "workbench-module-mark",
|
|
2451
2451
|
x1: "0%",
|
|
2452
2452
|
y1: "0%",
|
|
2453
2453
|
x2: "100%",
|
|
2454
2454
|
y2: "100%"
|
|
2455
|
-
}, h$
|
|
2455
|
+
}, h$66("stop", {
|
|
2456
2456
|
offset: "0%",
|
|
2457
2457
|
stopColor: "#3b82f6"
|
|
2458
|
-
}), h$
|
|
2458
|
+
}), h$66("stop", {
|
|
2459
2459
|
offset: "55%",
|
|
2460
2460
|
stopColor: "#8b5cf6"
|
|
2461
|
-
}), h$
|
|
2461
|
+
}), h$66("stop", {
|
|
2462
2462
|
offset: "100%",
|
|
2463
2463
|
stopColor: "#14b8a6"
|
|
2464
|
-
}))), h$
|
|
2464
|
+
}))), h$66("rect", {
|
|
2465
2465
|
width: 24,
|
|
2466
2466
|
height: 24,
|
|
2467
2467
|
rx: 7,
|
|
2468
2468
|
fill: "url(#workbench-module-mark)"
|
|
2469
|
-
}), h$
|
|
2469
|
+
}), h$66("rect", {
|
|
2470
2470
|
x: "4.6",
|
|
2471
2471
|
y: "4.6",
|
|
2472
2472
|
width: "6.2",
|
|
2473
2473
|
height: "6.2",
|
|
2474
2474
|
rx: "1.9",
|
|
2475
2475
|
fill: "#ffffff"
|
|
2476
|
-
}), h$
|
|
2476
|
+
}), h$66("rect", {
|
|
2477
2477
|
x: "13.2",
|
|
2478
2478
|
y: "4.6",
|
|
2479
2479
|
width: "6.2",
|
|
@@ -2481,7 +2481,7 @@ window.__ModuleLoader__.load({
|
|
|
2481
2481
|
rx: "1.9",
|
|
2482
2482
|
fill: "#ffffff",
|
|
2483
2483
|
fillOpacity: .78
|
|
2484
|
-
}), h$
|
|
2484
|
+
}), h$66("rect", {
|
|
2485
2485
|
x: "4.6",
|
|
2486
2486
|
y: "13.2",
|
|
2487
2487
|
width: "6.2",
|
|
@@ -2489,7 +2489,7 @@ window.__ModuleLoader__.load({
|
|
|
2489
2489
|
rx: "1.9",
|
|
2490
2490
|
fill: "#ffffff",
|
|
2491
2491
|
fillOpacity: .78
|
|
2492
|
-
}), h$
|
|
2492
|
+
}), h$66("rect", {
|
|
2493
2493
|
x: "13.2",
|
|
2494
2494
|
y: "13.2",
|
|
2495
2495
|
width: "6.2",
|
|
@@ -2504,7 +2504,7 @@ window.__ModuleLoader__.load({
|
|
|
2504
2504
|
* @returns 一枚 `aria-hidden` 的 svg。
|
|
2505
2505
|
*/
|
|
2506
2506
|
function IconPanelScreen({ size = 16 }) {
|
|
2507
|
-
return h$
|
|
2507
|
+
return h$66("svg", {
|
|
2508
2508
|
width: size,
|
|
2509
2509
|
height: size,
|
|
2510
2510
|
viewBox: "0 0 1024 1024",
|
|
@@ -2515,7 +2515,7 @@ window.__ModuleLoader__.load({
|
|
|
2515
2515
|
display: "block",
|
|
2516
2516
|
overflow: "hidden"
|
|
2517
2517
|
}
|
|
2518
|
-
}, h$
|
|
2518
|
+
}, h$66("path", { d: "M939 112c17.673 0 32 14.327 32 32v554.667c0 17.673-14.327 32-32 32l-394.5-0.001v96c0 3.74-0.642 7.331-1.82 10.668H768.4c17.673 0 32 14.326 32 32 0 17.496-14.042 31.712-31.47 31.995l-0.53 0.004H256.6c-17.673 0-32-14.327-32-32 0-17.496 14.042-31.713 31.47-31.995l0.53-0.005h225.721a31.923 31.923 0 0 1-1.817-10.137l-0.004-0.53v-96H86c-17.496 0-31.713-14.041-31.996-31.47l-0.004-0.53V144c0-17.673 14.327-32 32-32z m-32 64H118v490.666h789V176zM341.9 432c17.496 0 31.713 14.042 31.996 31.47l0.004 0.53v85.333c0 17.673-14.327 32-32 32-17.496 0-31.713-14.041-31.996-31.47l-0.004-0.53V464c0-17.673 14.327-32 32-32z m170.6-85.333c17.496 0 31.713 14.041 31.996 31.47l0.004 0.53v170.666c0 17.673-14.327 32-32 32-17.496 0-31.713-14.041-31.996-31.47l-0.004-0.53V378.667c0-17.673 14.327-32 32-32z m170.6-85.334c17.496 0 31.713 14.042 31.996 31.471l0.004 0.53v256c0 17.672-14.327 32-32 32-17.496 0-31.713-14.042-31.996-31.471l-0.004-0.53v-256c0-17.673 14.327-32 32-32z" }));
|
|
2519
2519
|
}
|
|
2520
2520
|
//#endregion
|
|
2521
2521
|
//#region ../shared/dist/config/storage.js
|
|
@@ -3205,6 +3205,7 @@ window.__ModuleLoader__.load({
|
|
|
3205
3205
|
"panels.market.add.failurePnpmMissing": "pnpm was not found, cannot install",
|
|
3206
3206
|
"panels.market.add.failureInstalled": "It is already installed in this workbench. The same package cannot be installed over itself: uninstall it first, then install again. The uninstall did not succeed this time.",
|
|
3207
3207
|
"panels.market.add.failureGeneric": "Something went wrong during install — see the install details",
|
|
3208
|
+
"panels.market.add.failureCredentials": "This repository needs credentials: this machine has none for it. Clone it once in a terminal, set up a credential helper, or install from the SSH address.",
|
|
3208
3209
|
"panels.market.add.approveTitle": "Your approval is needed for install scripts",
|
|
3209
3210
|
"panels.market.add.approveCaution": "Only allow packages you trust: install scripts run on this machine with your permissions.",
|
|
3210
3211
|
"panels.market.add.approveRun": "Allow and continue installing",
|
|
@@ -3277,6 +3278,7 @@ window.__ModuleLoader__.load({
|
|
|
3277
3278
|
"panels.discover.noSourceHint": "Add a module market index (http address or git repository) to browse and install its modules here",
|
|
3278
3279
|
"panels.discover.sourcesFailed": "Could not read the index sources.",
|
|
3279
3280
|
"panels.discover.unreadable": "Could not read this index.",
|
|
3281
|
+
"panels.discover.sourceAuth": "This index source could not be read: this machine has no git credentials for it. Set up credentials (or switch the source to its SSH address), then refresh.",
|
|
3280
3282
|
"panels.discover.invalid": "This index is not in a valid format.",
|
|
3281
3283
|
"panels.discover.emptyRepo": "This repository has no commits yet.",
|
|
3282
3284
|
"panels.discover.missingIndex": "This repository has no {path} yet.",
|
|
@@ -3300,8 +3302,23 @@ window.__ModuleLoader__.load({
|
|
|
3300
3302
|
"panels.discover.badShellDetail": "This version is not compatible with the running workbench {current}; it requires {peer}",
|
|
3301
3303
|
"panels.discover.unverified": "Workbench unverified",
|
|
3302
3304
|
"panels.discover.installing": "Installing…",
|
|
3305
|
+
"panels.discover.installingNamed": "Installing {name}…",
|
|
3306
|
+
"panels.discover.cancelInstall": "Cancel install",
|
|
3307
|
+
"panels.discover.cancelling": "Cancelling…",
|
|
3308
|
+
"panels.discover.installCancelled": "Install cancelled: {name}",
|
|
3303
3309
|
"panels.discover.installedDone": "Installed: {name}",
|
|
3304
3310
|
"panels.discover.failed": "Failed: {reason}",
|
|
3311
|
+
"panels.discover.transportTitle": "Where to read this repository",
|
|
3312
|
+
"panels.discover.transportSsh": "SSH",
|
|
3313
|
+
"panels.discover.transportHttps": "HTTPS",
|
|
3314
|
+
"panels.discover.transportOk": "Readable",
|
|
3315
|
+
"panels.discover.transportAuth": "Needs credentials",
|
|
3316
|
+
"panels.discover.transportUnreachable": "Unreachable",
|
|
3317
|
+
"panels.discover.transportUnknown": "Not probed",
|
|
3318
|
+
"panels.discover.transportChecking": "Checking…",
|
|
3319
|
+
"panels.discover.transportTest": "Test this address",
|
|
3320
|
+
"panels.discover.transportPlaceholder": "Or paste another address (mirror, alias)",
|
|
3321
|
+
"panels.discover.transportNeedsAuth": "This repository needs credentials: clone it once in a terminal, or set up an SSH key / credential helper, then install again.",
|
|
3305
3322
|
"panels.discover.expand": "Show versions",
|
|
3306
3323
|
"panels.discover.collapse": "Hide versions",
|
|
3307
3324
|
"panels.discover.versionCount": "{n} versions",
|
|
@@ -3883,6 +3900,7 @@ window.__ModuleLoader__.load({
|
|
|
3883
3900
|
"panels.market.add.failurePnpmMissing": "没有找到 pnpm,无法安装",
|
|
3884
3901
|
"panels.market.add.failureInstalled": "它已经装在这份工作台里了。同一个包不能就地覆盖,得先卸载再装;这次卸载也没成功。",
|
|
3885
3902
|
"panels.market.add.failureGeneric": "安装过程中出错,原因见安装详情",
|
|
3903
|
+
"panels.market.add.failureCredentials": "这个仓库要凭证:本机没有它的 git 凭据。先在终端里 clone 一次、配好凭据助手,或改用 SSH 地址,再装一次。",
|
|
3886
3904
|
"panels.market.add.approveTitle": "需要你允许安装脚本",
|
|
3887
3905
|
"panels.market.add.approveCaution": "只允许你信得过的包:安装脚本会以你的权限在这台机器上运行。",
|
|
3888
3906
|
"panels.market.add.approveRun": "允许并继续安装",
|
|
@@ -3955,6 +3973,7 @@ window.__ModuleLoader__.load({
|
|
|
3955
3973
|
"panels.discover.noSourceHint": "添加一个模块市场索引(http 地址或 git 仓库),即可在这里浏览和安装其中的模块",
|
|
3956
3974
|
"panels.discover.sourcesFailed": "无法读取索引源",
|
|
3957
3975
|
"panels.discover.unreadable": "无法读取此索引",
|
|
3976
|
+
"panels.discover.sourceAuth": "这个索引源读不了:本机没有它的 git 凭据。配好凭据(或在源里改用 SSH 地址),再点右上角的刷新。",
|
|
3958
3977
|
"panels.discover.invalid": "此索引的格式无效",
|
|
3959
3978
|
"panels.discover.emptyRepo": "这个仓库还没有任何提交",
|
|
3960
3979
|
"panels.discover.missingIndex": "仓库里还没有索引文件 {path}",
|
|
@@ -3978,8 +3997,23 @@ window.__ModuleLoader__.load({
|
|
|
3978
3997
|
"panels.discover.badShellDetail": "此版本与当前的工作台 {current} 不兼容,它要求 {peer}",
|
|
3979
3998
|
"panels.discover.unverified": "工作台未验证",
|
|
3980
3999
|
"panels.discover.installing": "正在安装…",
|
|
4000
|
+
"panels.discover.installingNamed": "正在安装「{name}」…",
|
|
4001
|
+
"panels.discover.cancelInstall": "取消安装",
|
|
4002
|
+
"panels.discover.cancelling": "正在取消…",
|
|
4003
|
+
"panels.discover.installCancelled": "已取消安装:{name}",
|
|
3981
4004
|
"panels.discover.installedDone": "装好了:{name}",
|
|
3982
4005
|
"panels.discover.failed": "操作失败:{reason}",
|
|
4006
|
+
"panels.discover.transportTitle": "从哪读这个仓库",
|
|
4007
|
+
"panels.discover.transportSsh": "SSH",
|
|
4008
|
+
"panels.discover.transportHttps": "HTTPS",
|
|
4009
|
+
"panels.discover.transportOk": "能读",
|
|
4010
|
+
"panels.discover.transportAuth": "要凭证",
|
|
4011
|
+
"panels.discover.transportUnreachable": "连不上",
|
|
4012
|
+
"panels.discover.transportUnknown": "没探成",
|
|
4013
|
+
"panels.discover.transportChecking": "正在探测…",
|
|
4014
|
+
"panels.discover.transportTest": "试这个地址",
|
|
4015
|
+
"panels.discover.transportPlaceholder": "或贴一个别的地址(公司镜像、别名)",
|
|
4016
|
+
"panels.discover.transportNeedsAuth": "这个仓库要凭证:先在终端里把它 clone 一次,或配好 SSH key / 凭据助手;配好后再点安装。",
|
|
3983
4017
|
"panels.discover.expand": "展开版本",
|
|
3984
4018
|
"panels.discover.collapse": "收起版本",
|
|
3985
4019
|
"panels.discover.versionCount": "{n} 个版本",
|
|
@@ -4395,6 +4429,99 @@ window.__ModuleLoader__.load({
|
|
|
4395
4429
|
return { spec: path === "" ? base : `${base}&path:/${path}` };
|
|
4396
4430
|
}
|
|
4397
4431
|
//#endregion
|
|
4432
|
+
//#region ../shared/dist/lib/git-address.js
|
|
4433
|
+
var SCP = /^(?:([A-Za-z0-9._-]+)@)?([A-Za-z0-9.-]+):(?!\/)(\S+)$/;
|
|
4434
|
+
function bare(url) {
|
|
4435
|
+
return url.trim().replace(/^git\+/, "");
|
|
4436
|
+
}
|
|
4437
|
+
function pathOf(pathname) {
|
|
4438
|
+
return pathname.replace(/^\/+/, "").replace(/\/+$/, "");
|
|
4439
|
+
}
|
|
4440
|
+
/**
|
|
4441
|
+
* 把一个 git 地址拆成「哪台主机 + 哪个路径」,不管发布者当初用的是 https、ssh 还是
|
|
4442
|
+
* scp 那种 `git@host:path` 写法;认不出来给 undefined。
|
|
4443
|
+
*/
|
|
4444
|
+
function gitAddressOf(url) {
|
|
4445
|
+
const text = bare(url);
|
|
4446
|
+
if (text === "") return void 0;
|
|
4447
|
+
if (text.includes("://")) {
|
|
4448
|
+
let parsed;
|
|
4449
|
+
try {
|
|
4450
|
+
parsed = new URL(text);
|
|
4451
|
+
} catch {
|
|
4452
|
+
return;
|
|
4453
|
+
}
|
|
4454
|
+
if (parsed.protocol !== "https:" && parsed.protocol !== "http:" && parsed.protocol !== "ssh:") return;
|
|
4455
|
+
const path = pathOf(parsed.pathname);
|
|
4456
|
+
if (path === "") return void 0;
|
|
4457
|
+
const port = parsed.port === "" ? void 0 : Number(parsed.port);
|
|
4458
|
+
const shared = {
|
|
4459
|
+
host: parsed.hostname,
|
|
4460
|
+
path,
|
|
4461
|
+
...port === void 0 ? {} : { port }
|
|
4462
|
+
};
|
|
4463
|
+
if (parsed.protocol !== "ssh:") return {
|
|
4464
|
+
kind: "https",
|
|
4465
|
+
...shared
|
|
4466
|
+
};
|
|
4467
|
+
return {
|
|
4468
|
+
kind: "ssh",
|
|
4469
|
+
...shared,
|
|
4470
|
+
...parsed.username === "" ? {} : { user: parsed.username }
|
|
4471
|
+
};
|
|
4472
|
+
}
|
|
4473
|
+
const scp = SCP.exec(text);
|
|
4474
|
+
if (scp === null) return void 0;
|
|
4475
|
+
const path = pathOf(scp[3] ?? "");
|
|
4476
|
+
if (path === "") return void 0;
|
|
4477
|
+
return {
|
|
4478
|
+
kind: "ssh",
|
|
4479
|
+
host: scp[2] ?? "",
|
|
4480
|
+
path,
|
|
4481
|
+
...scp[1] === void 0 ? {} : { user: scp[1] }
|
|
4482
|
+
};
|
|
4483
|
+
}
|
|
4484
|
+
/** 一份地址的规范写法:ssh 一律成 `ssh://user@host/path`(pnpm 认这个),https 原样。 */
|
|
4485
|
+
function gitAddressText(address) {
|
|
4486
|
+
const port = address.port === void 0 ? "" : `:${String(address.port)}`;
|
|
4487
|
+
if (address.kind === "ssh") return `ssh://${address.user === void 0 || address.user === "" ? "git" : address.user}@${address.host}${port}/${address.path}`;
|
|
4488
|
+
return `https://${address.host}${port}/${address.path}`;
|
|
4489
|
+
}
|
|
4490
|
+
/**
|
|
4491
|
+
* 同一个仓库的两种读法,发布者用的那种排前面。ssh 那条一律规范成 `ssh://` 形式,
|
|
4492
|
+
* 因为 `git@host:path` 拼进安装 spec 时 pnpm 不认;https 那条保留发布者的原样(含 http)。
|
|
4493
|
+
*/
|
|
4494
|
+
function gitTransportCandidates(url) {
|
|
4495
|
+
const address = gitAddressOf(url);
|
|
4496
|
+
if (address === void 0) {
|
|
4497
|
+
const only = bare(url);
|
|
4498
|
+
return only === "" ? [] : [{
|
|
4499
|
+
kind: only.startsWith("ssh") ? "ssh" : "https",
|
|
4500
|
+
url: only
|
|
4501
|
+
}];
|
|
4502
|
+
}
|
|
4503
|
+
const primary = {
|
|
4504
|
+
kind: address.kind,
|
|
4505
|
+
url: address.kind === "ssh" ? gitAddressText(address) : bare(url)
|
|
4506
|
+
};
|
|
4507
|
+
const other = address.kind === "https" ? {
|
|
4508
|
+
kind: "ssh",
|
|
4509
|
+
url: gitAddressText({
|
|
4510
|
+
kind: "ssh",
|
|
4511
|
+
host: address.host,
|
|
4512
|
+
path: address.path
|
|
4513
|
+
})
|
|
4514
|
+
} : {
|
|
4515
|
+
kind: "https",
|
|
4516
|
+
url: gitAddressText({
|
|
4517
|
+
kind: "https",
|
|
4518
|
+
host: address.host,
|
|
4519
|
+
path: address.path
|
|
4520
|
+
})
|
|
4521
|
+
};
|
|
4522
|
+
return other.url === primary.url ? [primary] : [primary, other];
|
|
4523
|
+
}
|
|
4524
|
+
//#endregion
|
|
4398
4525
|
//#region ../shared/dist/lib/board-fact.js
|
|
4399
4526
|
/**
|
|
4400
4527
|
* 判一个路径落不落在这个工作区里(按路径前缀比,不是字符串包含)。
|
|
@@ -4672,6 +4799,7 @@ window.__ModuleLoader__.load({
|
|
|
4672
4799
|
silentNextProbe = true;
|
|
4673
4800
|
}
|
|
4674
4801
|
var probe$1 = NO_PROBE;
|
|
4802
|
+
var probing = 0;
|
|
4675
4803
|
var probeListeners = /* @__PURE__ */ new Set();
|
|
4676
4804
|
function probeValue() {
|
|
4677
4805
|
return probe$1;
|
|
@@ -4705,8 +4833,10 @@ window.__ModuleLoader__.load({
|
|
|
4705
4833
|
};
|
|
4706
4834
|
}
|
|
4707
4835
|
function setCapabilities(next, rechecked = false) {
|
|
4708
|
-
if (next === null)
|
|
4709
|
-
|
|
4836
|
+
if (next === null) {
|
|
4837
|
+
probing = 0;
|
|
4838
|
+
setProbe(NO_PROBE);
|
|
4839
|
+
} else if (rechecked) setProbe({
|
|
4710
4840
|
...probe$1,
|
|
4711
4841
|
checkedAt: Date.now()
|
|
4712
4842
|
});
|
|
@@ -4715,13 +4845,17 @@ window.__ModuleLoader__.load({
|
|
|
4715
4845
|
for (const listener of [...listeners$7]) listener();
|
|
4716
4846
|
}
|
|
4717
4847
|
function beginProbe() {
|
|
4718
|
-
|
|
4848
|
+
probing += 1;
|
|
4849
|
+
if (probing > 1) return;
|
|
4719
4850
|
setProbe({
|
|
4720
4851
|
...probe$1,
|
|
4721
4852
|
checking: true
|
|
4722
4853
|
});
|
|
4723
4854
|
}
|
|
4724
4855
|
function endProbe() {
|
|
4856
|
+
if (probing === 0) return;
|
|
4857
|
+
probing -= 1;
|
|
4858
|
+
if (probing > 0) return;
|
|
4725
4859
|
setProbe({
|
|
4726
4860
|
...probe$1,
|
|
4727
4861
|
checking: false
|
|
@@ -4761,13 +4895,14 @@ window.__ModuleLoader__.load({
|
|
|
4761
4895
|
const at = epoch$1;
|
|
4762
4896
|
const seq = readSeq$1 += 1;
|
|
4763
4897
|
if (force) newestForceSeq$1 = seq;
|
|
4764
|
-
|
|
4898
|
+
const shown = force && !silent;
|
|
4899
|
+
if (shown) beginProbe();
|
|
4765
4900
|
return shareCapabilityFetch(force, load).then((result) => {
|
|
4766
4901
|
if (at !== epoch$1) return;
|
|
4767
4902
|
if (!force && seq < newestForceSeq$1) return;
|
|
4768
4903
|
publishCapability(result, force);
|
|
4769
4904
|
}).finally(() => {
|
|
4770
|
-
if (
|
|
4905
|
+
if (shown) endProbe();
|
|
4771
4906
|
});
|
|
4772
4907
|
}
|
|
4773
4908
|
function useCapabilities(refreshToken, reloadToken = 0) {
|
|
@@ -5765,127 +5900,138 @@ window.__ModuleLoader__.load({
|
|
|
5765
5900
|
};
|
|
5766
5901
|
}
|
|
5767
5902
|
var MarketPage_module_default = {
|
|
5768
|
-
marketList: "
|
|
5769
|
-
marketRow: "
|
|
5770
|
-
marketIcon: "
|
|
5771
|
-
marketMain: "
|
|
5772
|
-
marketName: "
|
|
5773
|
-
marketStatus: "
|
|
5774
|
-
marketStateText: "
|
|
5775
|
-
marketSep: "
|
|
5776
|
-
marketReason: "
|
|
5777
|
-
marketVersion: "
|
|
5778
|
-
marketLocalTag: "
|
|
5779
|
-
marketEnd: "
|
|
5780
|
-
marketSwitchSeat: "
|
|
5781
|
-
marketActions: "
|
|
5782
|
-
marketUpdateAction: "
|
|
5783
|
-
marketSelfDivider: "
|
|
5784
|
-
marketSection: "
|
|
5785
|
-
marketSectionHead: "
|
|
5786
|
-
marketSectionIcon: "
|
|
5787
|
-
marketSectionTitle: "
|
|
5788
|
-
marketSectionCount: "
|
|
5789
|
-
marketSectionQuiet: "
|
|
5790
|
-
marketProgress: "
|
|
5791
|
-
marketNote: "
|
|
5792
|
-
marketFailure: "
|
|
5793
|
-
marketEmpty: "
|
|
5794
|
-
marketPage: "
|
|
5795
|
-
marketPageHead: "
|
|
5796
|
-
marketPageTitle: "
|
|
5797
|
-
marketPageIntro: "
|
|
5798
|
-
marketPageTools: "
|
|
5799
|
-
marketPanel: "
|
|
5800
|
-
marketTabs: "
|
|
5801
|
-
marketTabList: "
|
|
5802
|
-
marketIconButton: "
|
|
5803
|
-
marketIconWrap: "
|
|
5804
|
-
marketIconButtonSpinning: "
|
|
5805
|
-
"wb-spin": "_wb-
|
|
5806
|
-
marketAddButton: "
|
|
5807
|
-
marketEmptyTitle: "
|
|
5808
|
-
discoverPage: "
|
|
5809
|
-
discoverBar: "
|
|
5810
|
-
discoverTools: "
|
|
5811
|
-
discoverMarket: "
|
|
5812
|
-
discoverMarketButton: "
|
|
5813
|
-
discoverMarketName: "
|
|
5814
|
-
discoverLabels: "
|
|
5815
|
-
discoverSort: "
|
|
5816
|
-
discoverRefresh: "
|
|
5817
|
-
discoverSearch: "
|
|
5818
|
-
discoverSearchField: "
|
|
5819
|
-
discoverSearchFieldFilled: "
|
|
5820
|
-
discoverSearchClear: "
|
|
5821
|
-
discoverChips: "
|
|
5822
|
-
discoverList: "
|
|
5823
|
-
discoverCard: "
|
|
5824
|
-
discoverArtwork: "
|
|
5825
|
-
discoverArtworkImage: "
|
|
5826
|
-
discoverMain: "
|
|
5827
|
-
discoverTitleRow: "
|
|
5828
|
-
discoverCardOpen: "
|
|
5829
|
-
discoverStrong: "
|
|
5830
|
-
discoverDesc: "
|
|
5831
|
-
discoverMeta: "
|
|
5832
|
-
discoverMuted: "
|
|
5833
|
-
discoverEnd: "
|
|
5834
|
-
discoverBlocked: "
|
|
5835
|
-
discoverEmpty: "
|
|
5836
|
-
discoverEmptyTitle: "
|
|
5837
|
-
discoverDetail: "
|
|
5838
|
-
discoverCrumb: "
|
|
5839
|
-
discoverCrumbIcon: "
|
|
5840
|
-
discoverDetailHead: "
|
|
5841
|
-
discoverDetailTitle: "
|
|
5842
|
-
discoverDetailText: "
|
|
5843
|
-
discoverDetailPanel: "
|
|
5844
|
-
discoverDetailTabs: "
|
|
5845
|
-
discoverDetailTabList: "
|
|
5846
|
-
discoverDocBody: "
|
|
5847
|
-
discoverDocNotice: "
|
|
5848
|
-
discoverSection: "
|
|
5849
|
-
discoverSectionTitle: "
|
|
5850
|
-
discoverFacts: "
|
|
5851
|
-
discoverFactRow: "
|
|
5852
|
-
discoverFactKind: "
|
|
5853
|
-
discoverFactValue: "
|
|
5854
|
-
discoverCode: "
|
|
5855
|
-
discoverTags: "
|
|
5856
|
-
discoverLink: "
|
|
5857
|
-
discoverVersions: "
|
|
5858
|
-
discoverVersionRow: "
|
|
5859
|
-
discoverVersionName: "
|
|
5860
|
-
discoverError: "
|
|
5861
|
-
discoverFailure: "
|
|
5862
|
-
discoverLoading: "
|
|
5863
|
-
discoverNotice: "
|
|
5864
|
-
discoverMore: "
|
|
5865
|
-
|
|
5866
|
-
|
|
5867
|
-
|
|
5868
|
-
|
|
5869
|
-
|
|
5870
|
-
|
|
5871
|
-
|
|
5872
|
-
|
|
5873
|
-
|
|
5874
|
-
|
|
5875
|
-
|
|
5876
|
-
|
|
5877
|
-
|
|
5878
|
-
|
|
5879
|
-
|
|
5880
|
-
|
|
5881
|
-
|
|
5882
|
-
|
|
5883
|
-
|
|
5884
|
-
|
|
5885
|
-
|
|
5886
|
-
|
|
5887
|
-
|
|
5888
|
-
|
|
5903
|
+
marketList: "_marketList_jfyof_1",
|
|
5904
|
+
marketRow: "_marketRow_jfyof_10",
|
|
5905
|
+
marketIcon: "_marketIcon_jfyof_20",
|
|
5906
|
+
marketMain: "_marketMain_jfyof_32",
|
|
5907
|
+
marketName: "_marketName_jfyof_39",
|
|
5908
|
+
marketStatus: "_marketStatus_jfyof_48",
|
|
5909
|
+
marketStateText: "_marketStateText_jfyof_58",
|
|
5910
|
+
marketSep: "_marketSep_jfyof_62",
|
|
5911
|
+
marketReason: "_marketReason_jfyof_66",
|
|
5912
|
+
marketVersion: "_marketVersion_jfyof_72",
|
|
5913
|
+
marketLocalTag: "_marketLocalTag_jfyof_94",
|
|
5914
|
+
marketEnd: "_marketEnd_jfyof_105",
|
|
5915
|
+
marketSwitchSeat: "_marketSwitchSeat_jfyof_112",
|
|
5916
|
+
marketActions: "_marketActions_jfyof_125",
|
|
5917
|
+
marketUpdateAction: "_marketUpdateAction_jfyof_131",
|
|
5918
|
+
marketSelfDivider: "_marketSelfDivider_jfyof_137",
|
|
5919
|
+
marketSection: "_marketSection_jfyof_143",
|
|
5920
|
+
marketSectionHead: "_marketSectionHead_jfyof_150",
|
|
5921
|
+
marketSectionIcon: "_marketSectionIcon_jfyof_156",
|
|
5922
|
+
marketSectionTitle: "_marketSectionTitle_jfyof_163",
|
|
5923
|
+
marketSectionCount: "_marketSectionCount_jfyof_169",
|
|
5924
|
+
marketSectionQuiet: "_marketSectionQuiet_jfyof_175",
|
|
5925
|
+
marketProgress: "_marketProgress_jfyof_188",
|
|
5926
|
+
marketNote: "_marketNote_jfyof_198",
|
|
5927
|
+
marketFailure: "_marketFailure_jfyof_205",
|
|
5928
|
+
marketEmpty: "_marketEmpty_jfyof_212",
|
|
5929
|
+
marketPage: "_marketPage_jfyof_217",
|
|
5930
|
+
marketPageHead: "_marketPageHead_jfyof_235",
|
|
5931
|
+
marketPageTitle: "_marketPageTitle_jfyof_243",
|
|
5932
|
+
marketPageIntro: "_marketPageIntro_jfyof_248",
|
|
5933
|
+
marketPageTools: "_marketPageTools_jfyof_254",
|
|
5934
|
+
marketPanel: "_marketPanel_jfyof_263",
|
|
5935
|
+
marketTabs: "_marketTabs_jfyof_273",
|
|
5936
|
+
marketTabList: "_marketTabList_jfyof_278",
|
|
5937
|
+
marketIconButton: "_marketIconButton_jfyof_283",
|
|
5938
|
+
marketIconWrap: "_marketIconWrap_jfyof_308",
|
|
5939
|
+
marketIconButtonSpinning: "_marketIconButtonSpinning_jfyof_312",
|
|
5940
|
+
"wb-spin": "_wb-spin_jfyof_1",
|
|
5941
|
+
marketAddButton: "_marketAddButton_jfyof_316",
|
|
5942
|
+
marketEmptyTitle: "_marketEmptyTitle_jfyof_333",
|
|
5943
|
+
discoverPage: "_discoverPage_jfyof_347",
|
|
5944
|
+
discoverBar: "_discoverBar_jfyof_354",
|
|
5945
|
+
discoverTools: "_discoverTools_jfyof_361",
|
|
5946
|
+
discoverMarket: "_discoverMarket_jfyof_367",
|
|
5947
|
+
discoverMarketButton: "_discoverMarketButton_jfyof_372",
|
|
5948
|
+
discoverMarketName: "_discoverMarketName_jfyof_379",
|
|
5949
|
+
discoverLabels: "_discoverLabels_jfyof_385",
|
|
5950
|
+
discoverSort: "_discoverSort_jfyof_390",
|
|
5951
|
+
discoverRefresh: "_discoverRefresh_jfyof_395",
|
|
5952
|
+
discoverSearch: "_discoverSearch_jfyof_399",
|
|
5953
|
+
discoverSearchField: "_discoverSearchField_jfyof_407",
|
|
5954
|
+
discoverSearchFieldFilled: "_discoverSearchFieldFilled_jfyof_412",
|
|
5955
|
+
discoverSearchClear: "_discoverSearchClear_jfyof_421",
|
|
5956
|
+
discoverChips: "_discoverChips_jfyof_472",
|
|
5957
|
+
discoverList: "_discoverList_jfyof_479",
|
|
5958
|
+
discoverCard: "_discoverCard_jfyof_488",
|
|
5959
|
+
discoverArtwork: "_discoverArtwork_jfyof_502",
|
|
5960
|
+
discoverArtworkImage: "_discoverArtworkImage_jfyof_514",
|
|
5961
|
+
discoverMain: "_discoverMain_jfyof_518",
|
|
5962
|
+
discoverTitleRow: "_discoverTitleRow_jfyof_526",
|
|
5963
|
+
discoverCardOpen: "_discoverCardOpen_jfyof_534",
|
|
5964
|
+
discoverStrong: "_discoverStrong_jfyof_565",
|
|
5965
|
+
discoverDesc: "_discoverDesc_jfyof_571",
|
|
5966
|
+
discoverMeta: "_discoverMeta_jfyof_580",
|
|
5967
|
+
discoverMuted: "_discoverMuted_jfyof_587",
|
|
5968
|
+
discoverEnd: "_discoverEnd_jfyof_593",
|
|
5969
|
+
discoverBlocked: "_discoverBlocked_jfyof_602",
|
|
5970
|
+
discoverEmpty: "_discoverEmpty_jfyof_607",
|
|
5971
|
+
discoverEmptyTitle: "_discoverEmptyTitle_jfyof_616",
|
|
5972
|
+
discoverDetail: "_discoverDetail_jfyof_626",
|
|
5973
|
+
discoverCrumb: "_discoverCrumb_jfyof_632",
|
|
5974
|
+
discoverCrumbIcon: "_discoverCrumbIcon_jfyof_655",
|
|
5975
|
+
discoverDetailHead: "_discoverDetailHead_jfyof_659",
|
|
5976
|
+
discoverDetailTitle: "_discoverDetailTitle_jfyof_665",
|
|
5977
|
+
discoverDetailText: "_discoverDetailText_jfyof_671",
|
|
5978
|
+
discoverDetailPanel: "_discoverDetailPanel_jfyof_678",
|
|
5979
|
+
discoverDetailTabs: "_discoverDetailTabs_jfyof_685",
|
|
5980
|
+
discoverDetailTabList: "_discoverDetailTabList_jfyof_690",
|
|
5981
|
+
discoverDocBody: "_discoverDocBody_jfyof_695",
|
|
5982
|
+
discoverDocNotice: "_discoverDocNotice_jfyof_700",
|
|
5983
|
+
discoverSection: "_discoverSection_jfyof_706",
|
|
5984
|
+
discoverSectionTitle: "_discoverSectionTitle_jfyof_713",
|
|
5985
|
+
discoverFacts: "_discoverFacts_jfyof_719",
|
|
5986
|
+
discoverFactRow: "_discoverFactRow_jfyof_724",
|
|
5987
|
+
discoverFactKind: "_discoverFactKind_jfyof_734",
|
|
5988
|
+
discoverFactValue: "_discoverFactValue_jfyof_740",
|
|
5989
|
+
discoverCode: "_discoverCode_jfyof_748",
|
|
5990
|
+
discoverTags: "_discoverTags_jfyof_757",
|
|
5991
|
+
discoverLink: "_discoverLink_jfyof_764",
|
|
5992
|
+
discoverVersions: "_discoverVersions_jfyof_774",
|
|
5993
|
+
discoverVersionRow: "_discoverVersionRow_jfyof_782",
|
|
5994
|
+
discoverVersionName: "_discoverVersionName_jfyof_790",
|
|
5995
|
+
discoverError: "_discoverError_jfyof_795",
|
|
5996
|
+
discoverFailure: "_discoverFailure_jfyof_804",
|
|
5997
|
+
discoverLoading: "_discoverLoading_jfyof_810",
|
|
5998
|
+
discoverNotice: "_discoverNotice_jfyof_819",
|
|
5999
|
+
discoverMore: "_discoverMore_jfyof_837",
|
|
6000
|
+
discoverTransport: "_discoverTransport_jfyof_841",
|
|
6001
|
+
discoverTransportTitle: "_discoverTransportTitle_jfyof_847",
|
|
6002
|
+
discoverTransportRows: "_discoverTransportRows_jfyof_852",
|
|
6003
|
+
discoverTransportRow: "_discoverTransportRow_jfyof_852",
|
|
6004
|
+
discoverTransportRadio: "_discoverTransportRadio_jfyof_873",
|
|
6005
|
+
discoverTransportKind: "_discoverTransportKind_jfyof_887",
|
|
6006
|
+
discoverTransportState: "_discoverTransportState_jfyof_893",
|
|
6007
|
+
discoverTransportCustom: "_discoverTransportCustom_jfyof_913",
|
|
6008
|
+
discoverTransportInput: "_discoverTransportInput_jfyof_919",
|
|
6009
|
+
discoverInstallBar: "_discoverInstallBar_jfyof_924",
|
|
6010
|
+
discoverInstallText: "_discoverInstallText_jfyof_935",
|
|
6011
|
+
discoverDialog: "_discoverDialog_jfyof_941",
|
|
6012
|
+
discoverDialogBody: "_discoverDialogBody_jfyof_945",
|
|
6013
|
+
discoverSourceList: "_discoverSourceList_jfyof_951",
|
|
6014
|
+
discoverSourceRow: "_discoverSourceRow_jfyof_959",
|
|
6015
|
+
discoverSourceConfirm: "_discoverSourceConfirm_jfyof_968",
|
|
6016
|
+
discoverSourcePick: "_discoverSourcePick_jfyof_974",
|
|
6017
|
+
discoverSourceRadio: "_discoverSourceRadio_jfyof_983",
|
|
6018
|
+
discoverSourceMain: "_discoverSourceMain_jfyof_991",
|
|
6019
|
+
discoverSourceHead: "_discoverSourceHead_jfyof_999",
|
|
6020
|
+
discoverSourceUrl: "_discoverSourceUrl_jfyof_1007",
|
|
6021
|
+
discoverSourceMore: "_discoverSourceMore_jfyof_1017",
|
|
6022
|
+
discoverSourceLoading: "_discoverSourceLoading_jfyof_1021",
|
|
6023
|
+
discoverSourceHint: "_discoverSourceHint_jfyof_1031",
|
|
6024
|
+
discoverSourceError: "_discoverSourceError_jfyof_1045",
|
|
6025
|
+
discoverSourceForm: "_discoverSourceForm_jfyof_1051",
|
|
6026
|
+
discoverGrow: "_discoverGrow_jfyof_1057",
|
|
6027
|
+
discoverField: "_discoverField_jfyof_1062",
|
|
6028
|
+
discoverFieldLabel: "_discoverFieldLabel_jfyof_1068",
|
|
6029
|
+
discoverConfirmHead: "_discoverConfirmHead_jfyof_1073",
|
|
6030
|
+
discoverSkeletonFill: "_discoverSkeletonFill_jfyof_1079",
|
|
6031
|
+
"wb-skeleton": "_wb-skeleton_jfyof_1",
|
|
6032
|
+
discoverSkeletonBar: "_discoverSkeletonBar_jfyof_1088",
|
|
6033
|
+
discoverSkeletonTitle: "_discoverSkeletonTitle_jfyof_1095",
|
|
6034
|
+
discoverSkeletonDesc: "_discoverSkeletonDesc_jfyof_1099"
|
|
5889
6035
|
};
|
|
5890
6036
|
//#endregion
|
|
5891
6037
|
//#region src/app/layouts/market/discover-states.tsx
|
|
@@ -5944,6 +6090,19 @@ window.__ModuleLoader__.load({
|
|
|
5944
6090
|
onClick: onAdd
|
|
5945
6091
|
}, t("panels.discover.addFirstSource")));
|
|
5946
6092
|
}
|
|
6093
|
+
function DiscoverReadFailure({ t, text, auth, onRetry }) {
|
|
6094
|
+
return /* @__PURE__ */ (0, react.createElement)(react.Fragment, null, /* @__PURE__ */ (0, react.createElement)(DiscoverFailure, {
|
|
6095
|
+
t,
|
|
6096
|
+
text,
|
|
6097
|
+
onRetry
|
|
6098
|
+
}), auth ? /* @__PURE__ */ (0, react.createElement)("p", {
|
|
6099
|
+
className: MarketPage_module_default.discoverNotice,
|
|
6100
|
+
role: "note"
|
|
6101
|
+
}, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconWarningOutlineRegular, {
|
|
6102
|
+
size: 14,
|
|
6103
|
+
"aria-hidden": "true"
|
|
6104
|
+
}), /* @__PURE__ */ (0, react.createElement)("span", null, t("panels.discover.sourceAuth"))) : null);
|
|
6105
|
+
}
|
|
5947
6106
|
//#endregion
|
|
5948
6107
|
//#region src/app/layouts/rightbar/MarketStates.tsx
|
|
5949
6108
|
function MarketChecking({ t }) {
|
|
@@ -6513,7 +6672,9 @@ window.__ModuleLoader__.load({
|
|
|
6513
6672
|
function heldWizardPhase(phase, classifying) {
|
|
6514
6673
|
return classifying && (phase === "preview" || phase === "idle") ? "inspecting" : phase;
|
|
6515
6674
|
}
|
|
6675
|
+
var CREDENTIAL_TEXT = /authentication failed|could not read (username|password)|permission denied \(publickey\)|terminal prompts disabled|host key verification failed|repository not found|no such identity/i;
|
|
6516
6676
|
var FAILURE_KEYS = {
|
|
6677
|
+
credentials: "panels.market.add.failureCredentials",
|
|
6517
6678
|
network: "panels.market.add.failureNetwork",
|
|
6518
6679
|
"spec-host": "panels.market.add.failureNetworkHost",
|
|
6519
6680
|
"not-found": "panels.market.add.failureNotFound",
|
|
@@ -6535,9 +6696,15 @@ window.__ModuleLoader__.load({
|
|
|
6535
6696
|
"stop-profile": "panels.market.add.failureGeneric",
|
|
6536
6697
|
"stale-approval": "panels.market.add.failureGeneric"
|
|
6537
6698
|
};
|
|
6699
|
+
function needsCredentials(change) {
|
|
6700
|
+
const text = `${change.errorDetail ?? ""}\n${change.packageResult?.output ?? ""}`;
|
|
6701
|
+
return CREDENTIAL_TEXT.test(text);
|
|
6702
|
+
}
|
|
6538
6703
|
function failureCode(change) {
|
|
6539
6704
|
if (change.failedAt === "spec-host") return "spec-host";
|
|
6540
|
-
|
|
6705
|
+
const code = change.errorCode ?? change.packageResult?.kind ?? change.application;
|
|
6706
|
+
if (code === "operation-error" && needsCredentials(change)) return "credentials";
|
|
6707
|
+
return code;
|
|
6541
6708
|
}
|
|
6542
6709
|
function failureReasonKey(code) {
|
|
6543
6710
|
return FAILURE_KEYS[code];
|
|
@@ -7243,7 +7410,7 @@ window.__ModuleLoader__.load({
|
|
|
7243
7410
|
onError: () => setFailed(src)
|
|
7244
7411
|
});
|
|
7245
7412
|
}
|
|
7246
|
-
function EntryAction({ t, entry, title, onInstall, onShowInstalled }) {
|
|
7413
|
+
function EntryAction({ t, entry, title, onInstall, onShowInstalled, installDisabled = false }) {
|
|
7247
7414
|
const latest = latestVersionOf(entry);
|
|
7248
7415
|
if (latest === void 0) return null;
|
|
7249
7416
|
if (latest.install === "installed" || latest.install === "update-available") return /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
@@ -7270,11 +7437,12 @@ window.__ModuleLoader__.load({
|
|
|
7270
7437
|
type: "button",
|
|
7271
7438
|
variant: "outline",
|
|
7272
7439
|
size: "sm",
|
|
7440
|
+
disabled: installDisabled,
|
|
7273
7441
|
"aria-label": t("panels.discover.installTitle", { name: title }),
|
|
7274
7442
|
onClick: () => onInstall(entry, latest)
|
|
7275
7443
|
}, t("panels.discover.cardInstall"));
|
|
7276
7444
|
}
|
|
7277
|
-
function EntryCard({ t, locale, entry, onOpen, onInstall, onShowInstalled }) {
|
|
7445
|
+
function EntryCard({ t, locale, entry, onOpen, onInstall, onShowInstalled, installDisabled = false }) {
|
|
7278
7446
|
const title = displayTitleOf(entry, locale);
|
|
7279
7447
|
const latest = latestVersionOf(entry);
|
|
7280
7448
|
const description = marketText(entry.description, locale);
|
|
@@ -7299,10 +7467,11 @@ window.__ModuleLoader__.load({
|
|
|
7299
7467
|
entry,
|
|
7300
7468
|
title,
|
|
7301
7469
|
onInstall,
|
|
7302
|
-
onShowInstalled
|
|
7470
|
+
onShowInstalled,
|
|
7471
|
+
installDisabled
|
|
7303
7472
|
})));
|
|
7304
7473
|
}
|
|
7305
|
-
function DiscoverRows({ t, locale, entries, onOpen, onInstall, onShowInstalled }) {
|
|
7474
|
+
function DiscoverRows({ t, locale, entries, onOpen, onInstall, onShowInstalled, installDisabled }) {
|
|
7306
7475
|
return /* @__PURE__ */ (0, react.createElement)("ul", { className: MarketPage_module_default.discoverList }, entries.map((entry) => /* @__PURE__ */ (0, react.createElement)(EntryCard, {
|
|
7307
7476
|
key: entry.name,
|
|
7308
7477
|
t,
|
|
@@ -7310,12 +7479,13 @@ window.__ModuleLoader__.load({
|
|
|
7310
7479
|
entry,
|
|
7311
7480
|
onOpen,
|
|
7312
7481
|
onInstall,
|
|
7313
|
-
onShowInstalled
|
|
7482
|
+
onShowInstalled,
|
|
7483
|
+
installDisabled: installDisabled === true
|
|
7314
7484
|
})));
|
|
7315
7485
|
}
|
|
7316
7486
|
//#endregion
|
|
7317
7487
|
//#region src/app/layouts/market/discover-versions.tsx
|
|
7318
|
-
function DiscoverVersions({ t, locale, entry, onInstall }) {
|
|
7488
|
+
function DiscoverVersions({ t, locale, entry, onInstall, installDisabled = false }) {
|
|
7319
7489
|
const latest = latestVersionOf(entry);
|
|
7320
7490
|
return /* @__PURE__ */ (0, react.createElement)("ul", {
|
|
7321
7491
|
className: MarketPage_module_default.discoverVersions,
|
|
@@ -7336,6 +7506,7 @@ window.__ModuleLoader__.load({
|
|
|
7336
7506
|
type: "button",
|
|
7337
7507
|
variant: "ghost",
|
|
7338
7508
|
size: "sm",
|
|
7509
|
+
disabled: installDisabled,
|
|
7339
7510
|
"aria-label": t("panels.discover.installVersionTitle", {
|
|
7340
7511
|
name: entry.name,
|
|
7341
7512
|
version: version.version
|
|
@@ -7348,6 +7519,7 @@ window.__ModuleLoader__.load({
|
|
|
7348
7519
|
//#region ../shared/dist/contract/protocol/market-index.js
|
|
7349
7520
|
var MARKET_DISCOVER_ROUTE = "panels/market-discover";
|
|
7350
7521
|
var MARKET_DOC_ROUTE = "panels/market-doc";
|
|
7522
|
+
var MARKET_GIT_PROBE_ROUTE = "panels/git-probe";
|
|
7351
7523
|
var MARKET_PUBLISH_PREVIEW_ROUTE = "panels/market-publish-preview";
|
|
7352
7524
|
var MARKET_SOURCES_ROUTE = "panels/market-sources";
|
|
7353
7525
|
//#endregion
|
|
@@ -7358,6 +7530,9 @@ window.__ModuleLoader__.load({
|
|
|
7358
7530
|
function readMarketSources() {
|
|
7359
7531
|
return apiGet(MARKET_SOURCES_ROUTE);
|
|
7360
7532
|
}
|
|
7533
|
+
function readGitProbe(url) {
|
|
7534
|
+
return apiGet(MARKET_GIT_PROBE_ROUTE, { url });
|
|
7535
|
+
}
|
|
7361
7536
|
function readMarketDoc(name, version, kind) {
|
|
7362
7537
|
return apiGet(MARKET_DOC_ROUTE, {
|
|
7363
7538
|
name,
|
|
@@ -7424,13 +7599,13 @@ window.__ModuleLoader__.load({
|
|
|
7424
7599
|
}
|
|
7425
7600
|
//#endregion
|
|
7426
7601
|
//#region src/app/layouts/market/discover-detail.tsx
|
|
7427
|
-
function factLabel(t, fact) {
|
|
7602
|
+
function factLabel$1(t, fact) {
|
|
7428
7603
|
return t(fact.kind === "package" ? "panels.discover.factPackage" : fact.kind === "registry" ? "panels.discover.factRegistry" : fact.kind === "repository" ? "panels.discover.factRepository" : fact.kind === "commit" ? "panels.discover.factCommit" : "panels.discover.factDirectory");
|
|
7429
7604
|
}
|
|
7430
7605
|
function FactRow({ kind, children }) {
|
|
7431
7606
|
return /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.discoverFactRow }, /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.discoverFactKind }, kind), /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.discoverFactValue }, children));
|
|
7432
7607
|
}
|
|
7433
|
-
function OverviewPanel({ t, locale, entry, latest, market, onInstall }) {
|
|
7608
|
+
function OverviewPanel({ t, locale, entry, latest, market, onInstall, installDisabled }) {
|
|
7434
7609
|
const description = marketText(entry.description, locale);
|
|
7435
7610
|
const date = publishDateText(latest?.publishTimestamp, locale, "long");
|
|
7436
7611
|
const facts = latest === void 0 ? [] : sourceFactsOf(entry.name, latest);
|
|
@@ -7450,12 +7625,13 @@ window.__ModuleLoader__.load({
|
|
|
7450
7625
|
rel: "noopener noreferrer"
|
|
7451
7626
|
}, entry.homepage)), facts.map((fact) => /* @__PURE__ */ (0, react.createElement)(FactRow, {
|
|
7452
7627
|
key: `${fact.kind}:${fact.value}`,
|
|
7453
|
-
kind: factLabel(t, fact)
|
|
7628
|
+
kind: factLabel$1(t, fact)
|
|
7454
7629
|
}, /* @__PURE__ */ (0, react.createElement)("code", { className: MarketPage_module_default.discoverCode }, fact.value))), latest === void 0 ? null : /* @__PURE__ */ (0, react.createElement)(FactRow, { kind: t("panels.discover.factPublished") }, date), entry.category === void 0 ? null : /* @__PURE__ */ (0, react.createElement)(FactRow, { kind: t("panels.discover.factCategory") }, entry.category), entry.labels.length === 0 ? null : /* @__PURE__ */ (0, react.createElement)(FactRow, { kind: t("panels.discover.factLabels") }, /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.discoverTags }, entry.labels.map((label) => /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Tag, { key: label }, label)))), /* @__PURE__ */ (0, react.createElement)(FactRow, { kind: t("panels.discover.factMarket") }, market))), latest === void 0 ? null : /* @__PURE__ */ (0, react.createElement)("section", { className: MarketPage_module_default.discoverSection }, /* @__PURE__ */ (0, react.createElement)("h4", { className: MarketPage_module_default.discoverSectionTitle }, t("panels.discover.detailVersions")), /* @__PURE__ */ (0, react.createElement)(DiscoverVersions, {
|
|
7455
7630
|
t,
|
|
7456
7631
|
locale,
|
|
7457
7632
|
entry,
|
|
7458
|
-
onInstall
|
|
7633
|
+
onInstall,
|
|
7634
|
+
installDisabled: installDisabled === true
|
|
7459
7635
|
})));
|
|
7460
7636
|
}
|
|
7461
7637
|
function DiscoverDetail(props) {
|
|
@@ -7502,7 +7678,8 @@ window.__ModuleLoader__.load({
|
|
|
7502
7678
|
entry,
|
|
7503
7679
|
title,
|
|
7504
7680
|
onInstall: props.onInstall,
|
|
7505
|
-
onShowInstalled: props.onShowInstalled
|
|
7681
|
+
onShowInstalled: props.onShowInstalled,
|
|
7682
|
+
installDisabled: props.installDisabled === true
|
|
7506
7683
|
})), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.discoverDetailTabs }, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.SegmentedTabs, {
|
|
7507
7684
|
className: MarketPage_module_default.discoverDetailTabList,
|
|
7508
7685
|
items: tabItems,
|
|
@@ -7520,7 +7697,8 @@ window.__ModuleLoader__.load({
|
|
|
7520
7697
|
entry,
|
|
7521
7698
|
latest,
|
|
7522
7699
|
market: props.market,
|
|
7523
|
-
onInstall: props.onInstall
|
|
7700
|
+
onInstall: props.onInstall,
|
|
7701
|
+
installDisabled: props.installDisabled === true
|
|
7524
7702
|
})) : null, tab === "overview" || latest === void 0 ? null : /* @__PURE__ */ (0, react.createElement)("div", {
|
|
7525
7703
|
className: MarketPage_module_default.discoverDetailPanel,
|
|
7526
7704
|
id: `${idPrefix}-panel-${tab}`,
|
|
@@ -7535,12 +7713,164 @@ window.__ModuleLoader__.load({
|
|
|
7535
7713
|
})));
|
|
7536
7714
|
}
|
|
7537
7715
|
//#endregion
|
|
7716
|
+
//#region src/app/layouts/market/discover-installing.tsx
|
|
7717
|
+
function DiscoverInstalling({ t, name, cancelling, onCancel }) {
|
|
7718
|
+
return /* @__PURE__ */ (0, react.createElement)("p", {
|
|
7719
|
+
className: MarketPage_module_default.discoverInstallBar,
|
|
7720
|
+
role: "status"
|
|
7721
|
+
}, /* @__PURE__ */ (0, react.createElement)(Spinner, { size: 14 }), /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.discoverInstallText }, t("panels.discover.installingNamed", { name })), /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
7722
|
+
type: "button",
|
|
7723
|
+
variant: "outline",
|
|
7724
|
+
size: "sm",
|
|
7725
|
+
disabled: cancelling,
|
|
7726
|
+
"aria-busy": cancelling,
|
|
7727
|
+
onClick: onCancel
|
|
7728
|
+
}, t(cancelling ? "panels.discover.cancelling" : "panels.discover.cancelInstall")));
|
|
7729
|
+
}
|
|
7730
|
+
//#endregion
|
|
7731
|
+
//#region src/app/layouts/market/discover-transport.tsx
|
|
7732
|
+
function stateText(t, state) {
|
|
7733
|
+
if (state === "ok") return "";
|
|
7734
|
+
if (state === "auth") return t("panels.discover.transportAuth");
|
|
7735
|
+
if (state === "unreachable") return t("panels.discover.transportUnreachable");
|
|
7736
|
+
if (state === "unknown") return t("panels.discover.transportUnknown");
|
|
7737
|
+
return t("panels.discover.transportChecking");
|
|
7738
|
+
}
|
|
7739
|
+
function DiscoverTransport({ t, transport }) {
|
|
7740
|
+
const needsAuth = transport.rows.length > 0 && transport.rows.every((row) => transport.states[row.url] === "auth") && transport.customState !== "ok";
|
|
7741
|
+
const customBusy = transport.customState === "checking";
|
|
7742
|
+
return /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.discoverTransport }, /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.discoverTransportTitle }, t("panels.discover.transportTitle")), /* @__PURE__ */ (0, react.createElement)("div", {
|
|
7743
|
+
className: MarketPage_module_default.discoverTransportRows,
|
|
7744
|
+
role: "radiogroup",
|
|
7745
|
+
"aria-label": t("panels.discover.transportTitle")
|
|
7746
|
+
}, transport.rows.map((row) => {
|
|
7747
|
+
const state = transport.states[row.url] ?? "checking";
|
|
7748
|
+
const label = stateText(t, state);
|
|
7749
|
+
return /* @__PURE__ */ (0, react.createElement)("label", {
|
|
7750
|
+
key: row.url,
|
|
7751
|
+
className: MarketPage_module_default.discoverTransportRow,
|
|
7752
|
+
"data-state": state,
|
|
7753
|
+
title: row.url
|
|
7754
|
+
}, /* @__PURE__ */ (0, react.createElement)("input", {
|
|
7755
|
+
type: "radio",
|
|
7756
|
+
className: MarketPage_module_default.discoverTransportRadio,
|
|
7757
|
+
name: "discover-git-transport",
|
|
7758
|
+
value: row.url,
|
|
7759
|
+
checked: transport.chosen === row.url,
|
|
7760
|
+
onChange: () => transport.setChosen(row.url)
|
|
7761
|
+
}), /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.discoverTransportKind }, t(row.kind === "ssh" ? "panels.discover.transportSsh" : "panels.discover.transportHttps")), label === "" ? null : /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.discoverTransportState }, label));
|
|
7762
|
+
})), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.discoverTransportCustom }, /* @__PURE__ */ (0, react.createElement)(TextField, {
|
|
7763
|
+
type: "text",
|
|
7764
|
+
className: MarketPage_module_default.discoverTransportInput,
|
|
7765
|
+
value: transport.custom,
|
|
7766
|
+
placeholder: t("panels.discover.transportPlaceholder"),
|
|
7767
|
+
"aria-label": t("panels.discover.transportPlaceholder"),
|
|
7768
|
+
spellCheck: false,
|
|
7769
|
+
autoComplete: "off",
|
|
7770
|
+
onChange: (event) => transport.setCustom(event.target.value),
|
|
7771
|
+
onKeyDown: (event) => {
|
|
7772
|
+
if (event.key === "Enter") transport.checkCustom();
|
|
7773
|
+
}
|
|
7774
|
+
}), /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
7775
|
+
type: "button",
|
|
7776
|
+
variant: "outline",
|
|
7777
|
+
size: "sm",
|
|
7778
|
+
disabled: transport.custom.trim() === "" || customBusy,
|
|
7779
|
+
"aria-busy": customBusy,
|
|
7780
|
+
onClick: transport.checkCustom
|
|
7781
|
+
}, t(customBusy ? "panels.discover.transportChecking" : "panels.discover.transportTest")), transport.customState === null || stateText(t, transport.customState) === "" ? null : /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.discoverTransportState }, stateText(t, transport.customState))), needsAuth ? /* @__PURE__ */ (0, react.createElement)("p", {
|
|
7782
|
+
className: MarketPage_module_default.discoverNotice,
|
|
7783
|
+
role: "note"
|
|
7784
|
+
}, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconWarningOutlineRegular, {
|
|
7785
|
+
size: 14,
|
|
7786
|
+
"aria-hidden": "true"
|
|
7787
|
+
}), /* @__PURE__ */ (0, react.createElement)("span", null, t("panels.discover.transportNeedsAuth"))) : null);
|
|
7788
|
+
}
|
|
7789
|
+
//#endregion
|
|
7790
|
+
//#region src/app/layouts/market/use-git-transport.ts
|
|
7791
|
+
function probeOrUnknown(url) {
|
|
7792
|
+
return readGitProbe(url).then((response) => response.ok ? response.status : "unknown").catch(() => "unknown");
|
|
7793
|
+
}
|
|
7794
|
+
function usable(state) {
|
|
7795
|
+
return state !== void 0 && state !== "auth" && state !== "checking";
|
|
7796
|
+
}
|
|
7797
|
+
function defaultOf(rows, states) {
|
|
7798
|
+
const readable = rows.find((row) => states[row.url] === "ok");
|
|
7799
|
+
if (readable !== void 0) return readable.url;
|
|
7800
|
+
const fallback = rows.find((row) => usable(states[row.url]));
|
|
7801
|
+
return fallback === void 0 ? null : fallback.url;
|
|
7802
|
+
}
|
|
7803
|
+
function useGitTransport(source) {
|
|
7804
|
+
const rows = (0, react.useMemo)(() => source === null ? [] : gitTransportCandidates(source.url), [source]);
|
|
7805
|
+
const [results, setResults] = (0, react.useState)({});
|
|
7806
|
+
const [picked, setPicked] = (0, react.useState)(null);
|
|
7807
|
+
const [custom, setCustom] = (0, react.useState)("");
|
|
7808
|
+
const [customState, setCustomState] = (0, react.useState)(null);
|
|
7809
|
+
const generation = (0, react.useRef)(0);
|
|
7810
|
+
(0, react.useEffect)(() => {
|
|
7811
|
+
const mirror = ++generation.current;
|
|
7812
|
+
for (const row of rows) probeOrUnknown(row.url).then((state) => {
|
|
7813
|
+
if (generation.current !== mirror) return;
|
|
7814
|
+
setResults((current) => ({
|
|
7815
|
+
...current,
|
|
7816
|
+
[row.url]: state
|
|
7817
|
+
}));
|
|
7818
|
+
});
|
|
7819
|
+
return () => {
|
|
7820
|
+
generation.current += 1;
|
|
7821
|
+
};
|
|
7822
|
+
}, [rows]);
|
|
7823
|
+
const checkCustom = (0, react.useCallback)(() => {
|
|
7824
|
+
const wanted = custom.trim();
|
|
7825
|
+
if (wanted === "") return;
|
|
7826
|
+
const mirror = ++generation.current;
|
|
7827
|
+
setCustomState("checking");
|
|
7828
|
+
probeOrUnknown(wanted).then((state) => {
|
|
7829
|
+
if (generation.current !== mirror) return;
|
|
7830
|
+
setCustomState(state);
|
|
7831
|
+
if (usable(state)) setPicked(wanted);
|
|
7832
|
+
});
|
|
7833
|
+
}, [custom]);
|
|
7834
|
+
const states = (0, react.useMemo)(() => {
|
|
7835
|
+
const next = {};
|
|
7836
|
+
for (const row of rows) next[row.url] = results[row.url] ?? "checking";
|
|
7837
|
+
return next;
|
|
7838
|
+
}, [results, rows]);
|
|
7839
|
+
const chosen = picked !== null && (rows.some((row) => row.url === picked) || picked === custom.trim()) ? picked : defaultOf(rows, states);
|
|
7840
|
+
return {
|
|
7841
|
+
rows,
|
|
7842
|
+
chosen,
|
|
7843
|
+
states,
|
|
7844
|
+
custom,
|
|
7845
|
+
customState,
|
|
7846
|
+
probing: rows.some((row) => states[row.url] === "checking"),
|
|
7847
|
+
ready: chosen !== null,
|
|
7848
|
+
setChosen: setPicked,
|
|
7849
|
+
setCustom,
|
|
7850
|
+
checkCustom
|
|
7851
|
+
};
|
|
7852
|
+
}
|
|
7853
|
+
//#endregion
|
|
7538
7854
|
//#region src/app/layouts/market/discover-confirm.tsx
|
|
7539
7855
|
function DiscoverConfirm({ t, locale, choice, onCancel, onConfirm }) {
|
|
7540
7856
|
if (choice === null) return null;
|
|
7857
|
+
return /* @__PURE__ */ (0, react.createElement)(DiscoverConfirmBody, {
|
|
7858
|
+
t,
|
|
7859
|
+
locale,
|
|
7860
|
+
choice,
|
|
7861
|
+
onCancel,
|
|
7862
|
+
onConfirm
|
|
7863
|
+
});
|
|
7864
|
+
}
|
|
7865
|
+
function factLabel(t, kind) {
|
|
7866
|
+
return t(kind === "package" ? "panels.discover.factPackage" : kind === "registry" ? "panels.discover.factRegistry" : kind === "repository" ? "panels.discover.factRepository" : kind === "commit" ? "panels.discover.factCommit" : "panels.discover.factDirectory");
|
|
7867
|
+
}
|
|
7868
|
+
function DiscoverConfirmBody({ t, locale, choice, onCancel, onConfirm }) {
|
|
7869
|
+
const git = choice.version.source.type === "git" ? choice.version.source : null;
|
|
7870
|
+
const transport = useGitTransport(git);
|
|
7541
7871
|
const title = displayTitleOf(choice.entry, locale) || choice.entry.name;
|
|
7542
|
-
const facts = sourceFactsOf(choice.entry.name, choice.version);
|
|
7543
|
-
const
|
|
7872
|
+
const facts = sourceFactsOf(choice.entry.name, choice.version).filter((fact) => git === null || fact.kind !== "repository");
|
|
7873
|
+
const ready = git === null || transport.ready;
|
|
7544
7874
|
return /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Modal, {
|
|
7545
7875
|
open: true,
|
|
7546
7876
|
onClose: onCancel,
|
|
@@ -7555,15 +7885,20 @@ window.__ModuleLoader__.load({
|
|
|
7555
7885
|
type: "button",
|
|
7556
7886
|
variant: "primary",
|
|
7557
7887
|
autoFocus: true,
|
|
7558
|
-
|
|
7888
|
+
disabled: !ready,
|
|
7889
|
+
"aria-busy": git !== null && transport.probing,
|
|
7890
|
+
onClick: () => onConfirm(transport.chosen ?? void 0)
|
|
7559
7891
|
}, t("panels.discover.cardInstall")))
|
|
7560
7892
|
}, /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.discoverDialogBody }, /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.discoverConfirmHead }, /* @__PURE__ */ (0, react.createElement)("span", {
|
|
7561
7893
|
className: MarketPage_module_default.discoverArtwork,
|
|
7562
7894
|
"aria-hidden": "true"
|
|
7563
|
-
}, /* @__PURE__ */ (0, react.createElement)(MarketIcon, { src: choice.entry.icon })), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.discoverMain }, /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.discoverStrong }, title), /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.discoverMeta }, choice.version.version))),
|
|
7895
|
+
}, /* @__PURE__ */ (0, react.createElement)(MarketIcon, { src: choice.entry.icon })), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.discoverMain }, /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.discoverStrong }, title), /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.discoverMeta }, choice.version.version))), git === null ? null : /* @__PURE__ */ (0, react.createElement)(DiscoverTransport, {
|
|
7896
|
+
t,
|
|
7897
|
+
transport
|
|
7898
|
+
}), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.discoverFacts }, choice.entry.author === void 0 ? null : /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.discoverFactRow }, /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.discoverFactKind }, t("panels.discover.factAuthor")), /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.discoverFactValue }, choice.entry.author)), facts.map((fact) => /* @__PURE__ */ (0, react.createElement)("div", {
|
|
7564
7899
|
key: `${fact.kind}:${fact.value}`,
|
|
7565
7900
|
className: MarketPage_module_default.discoverFactRow
|
|
7566
|
-
}, /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.discoverFactKind }, factLabel(fact.kind)), /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.discoverFactValue }, /* @__PURE__ */ (0, react.createElement)("code", { className: MarketPage_module_default.discoverCode }, fact.value))))), /* @__PURE__ */ (0, react.createElement)("p", {
|
|
7901
|
+
}, /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.discoverFactKind }, factLabel(t, fact.kind)), /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.discoverFactValue }, /* @__PURE__ */ (0, react.createElement)("code", { className: MarketPage_module_default.discoverCode }, fact.value))))), /* @__PURE__ */ (0, react.createElement)("p", {
|
|
7567
7902
|
className: MarketPage_module_default.discoverNotice,
|
|
7568
7903
|
role: "note"
|
|
7569
7904
|
}, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconWarningOutlineRegular, {
|
|
@@ -8054,6 +8389,7 @@ window.__ModuleLoader__.load({
|
|
|
8054
8389
|
const change = changeOf(value);
|
|
8055
8390
|
if (change === void 0) return { kind: "quiet" };
|
|
8056
8391
|
if (SHIPPED.includes(change.application)) return { kind: "done" };
|
|
8392
|
+
if (change.application === "cancelled") return { kind: "cancelled" };
|
|
8057
8393
|
if (change.application !== "failed") return { kind: "quiet" };
|
|
8058
8394
|
return {
|
|
8059
8395
|
kind: "failed",
|
|
@@ -8074,6 +8410,8 @@ window.__ModuleLoader__.load({
|
|
|
8074
8410
|
const [manageOpen, setManageOpen] = (0, react.useState)(false);
|
|
8075
8411
|
const [initOpen, setInitOpen] = (0, react.useState)(false);
|
|
8076
8412
|
const [choice, setChoice] = (0, react.useState)(null);
|
|
8413
|
+
const [installing, setInstalling] = (0, react.useState)(null);
|
|
8414
|
+
const [cancelling, setCancelling] = (0, react.useState)(false);
|
|
8077
8415
|
const [notice, setNotice] = (0, react.useState)(null);
|
|
8078
8416
|
const [addingSource, setAddingSource] = (0, react.useState)(false);
|
|
8079
8417
|
const [pendingSourceId, setPendingSourceId] = (0, react.useState)(null);
|
|
@@ -8091,6 +8429,10 @@ window.__ModuleLoader__.load({
|
|
|
8091
8429
|
channel: "provision",
|
|
8092
8430
|
networkText: t("panels.discover.failed")
|
|
8093
8431
|
});
|
|
8432
|
+
const cancel = useHostWrite({
|
|
8433
|
+
channel: "provision",
|
|
8434
|
+
networkText: t("panels.discover.failed")
|
|
8435
|
+
});
|
|
8094
8436
|
const loadSources = (0, react.useCallback)(async () => {
|
|
8095
8437
|
const ticket = sourceTicket.current + 1;
|
|
8096
8438
|
sourceTicket.current = ticket;
|
|
@@ -8171,6 +8513,7 @@ window.__ModuleLoader__.load({
|
|
|
8171
8513
|
if (payload?.problem === void 0 || payload.selected === null) return null;
|
|
8172
8514
|
return {
|
|
8173
8515
|
id: payload.selected,
|
|
8516
|
+
kind: payload.problem.kind,
|
|
8174
8517
|
detail: payload.problem.detail ?? ""
|
|
8175
8518
|
};
|
|
8176
8519
|
}, [payload]);
|
|
@@ -8301,14 +8644,25 @@ window.__ModuleLoader__.load({
|
|
|
8301
8644
|
await load(true);
|
|
8302
8645
|
});
|
|
8303
8646
|
};
|
|
8304
|
-
const install = () => {
|
|
8305
|
-
if (choice === null) return;
|
|
8306
|
-
const
|
|
8647
|
+
const install = (url) => {
|
|
8648
|
+
if (choice === null || installing !== null) return;
|
|
8649
|
+
const source = choice.version.source;
|
|
8650
|
+
const target = marketInstallTarget(choice.entry.name, choice.version.version, source.type === "git" && url !== void 0 ? {
|
|
8651
|
+
...source,
|
|
8652
|
+
url
|
|
8653
|
+
} : source);
|
|
8654
|
+
const name = displayTitleOf(choice.entry, locale);
|
|
8655
|
+
const requestId = globalThis.crypto.randomUUID();
|
|
8307
8656
|
setChoice(null);
|
|
8308
8657
|
setNotice(null);
|
|
8658
|
+
setInstalling({
|
|
8659
|
+
name,
|
|
8660
|
+
requestId
|
|
8661
|
+
});
|
|
8309
8662
|
provision.send({
|
|
8310
8663
|
action: "install-version",
|
|
8311
8664
|
spec: target.spec,
|
|
8665
|
+
requestId,
|
|
8312
8666
|
...target.registry === void 0 ? {} : { registry: target.registry }
|
|
8313
8667
|
}).then((outcome) => {
|
|
8314
8668
|
if (!outcome.ok) return;
|
|
@@ -8318,9 +8672,25 @@ window.__ModuleLoader__.load({
|
|
|
8318
8672
|
onInstalled();
|
|
8319
8673
|
return;
|
|
8320
8674
|
}
|
|
8675
|
+
if (verdict.kind === "cancelled") {
|
|
8676
|
+
setNotice(t("panels.discover.installCancelled", { name }));
|
|
8677
|
+
onInstalled();
|
|
8678
|
+
return;
|
|
8679
|
+
}
|
|
8321
8680
|
if (verdict.kind !== "done") return;
|
|
8322
|
-
setNotice(t("panels.discover.installedDone", { name
|
|
8681
|
+
setNotice(t("panels.discover.installedDone", { name }));
|
|
8323
8682
|
onInstalled();
|
|
8683
|
+
}).finally(() => {
|
|
8684
|
+
setInstalling(null);
|
|
8685
|
+
setCancelling(false);
|
|
8686
|
+
});
|
|
8687
|
+
};
|
|
8688
|
+
const cancelInstall = () => {
|
|
8689
|
+
if (installing === null || cancelling) return;
|
|
8690
|
+
setCancelling(true);
|
|
8691
|
+
cancel.send({
|
|
8692
|
+
action: "cancel-install",
|
|
8693
|
+
requestId: installing.requestId
|
|
8324
8694
|
});
|
|
8325
8695
|
};
|
|
8326
8696
|
const reload = () => {
|
|
@@ -8352,6 +8722,9 @@ window.__ModuleLoader__.load({
|
|
|
8352
8722
|
writeFailed: sources.failed,
|
|
8353
8723
|
provisionFailed: provision.failed,
|
|
8354
8724
|
busy: sources.busy,
|
|
8725
|
+
installing: installing === null ? null : installing.name,
|
|
8726
|
+
cancelling,
|
|
8727
|
+
installDisabled: installing !== null,
|
|
8355
8728
|
addingSource,
|
|
8356
8729
|
manageOpen,
|
|
8357
8730
|
problem,
|
|
@@ -8369,7 +8742,10 @@ window.__ModuleLoader__.load({
|
|
|
8369
8742
|
openDetail: (name) => setDetail(name),
|
|
8370
8743
|
closeDetail: () => setDetail(null),
|
|
8371
8744
|
setDetailEntry: setDetail,
|
|
8372
|
-
setChoice
|
|
8745
|
+
setChoice: (value) => {
|
|
8746
|
+
if (value !== null && installing !== null) return;
|
|
8747
|
+
setChoice(value);
|
|
8748
|
+
},
|
|
8373
8749
|
setManageOpen,
|
|
8374
8750
|
setInitOpen,
|
|
8375
8751
|
initialize,
|
|
@@ -8378,7 +8754,8 @@ window.__ModuleLoader__.load({
|
|
|
8378
8754
|
addSource,
|
|
8379
8755
|
removeSourceById,
|
|
8380
8756
|
selectSource,
|
|
8381
|
-
install
|
|
8757
|
+
install,
|
|
8758
|
+
cancelInstall
|
|
8382
8759
|
};
|
|
8383
8760
|
}
|
|
8384
8761
|
//#endregion
|
|
@@ -8443,15 +8820,21 @@ window.__ModuleLoader__.load({
|
|
|
8443
8820
|
}, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconWarningOutlineRegular, {
|
|
8444
8821
|
size: 14,
|
|
8445
8822
|
"aria-hidden": "true"
|
|
8446
|
-
}), /* @__PURE__ */ (0, react.createElement)("span", null, t("panels.discover.stale"))) : null, uninitialized === null ? readFailed === null ? null : /* @__PURE__ */ (0, react.createElement)(
|
|
8823
|
+
}), /* @__PURE__ */ (0, react.createElement)("span", null, t("panels.discover.stale"))) : null, uninitialized === null ? readFailed === null ? null : /* @__PURE__ */ (0, react.createElement)(DiscoverReadFailure, {
|
|
8447
8824
|
t,
|
|
8448
8825
|
text: readFailed,
|
|
8826
|
+
auth: d.problem?.kind === "git-auth",
|
|
8449
8827
|
onRetry: d.reload
|
|
8450
8828
|
}) : /* @__PURE__ */ (0, react.createElement)(DiscoverUninitialized, {
|
|
8451
8829
|
t,
|
|
8452
8830
|
path: uninitialized.path,
|
|
8453
8831
|
empty: uninitialized.empty,
|
|
8454
8832
|
onInit: () => d.setInitOpen(true)
|
|
8833
|
+
}), d.installing === null ? null : /* @__PURE__ */ (0, react.createElement)(DiscoverInstalling, {
|
|
8834
|
+
t,
|
|
8835
|
+
name: d.installing,
|
|
8836
|
+
cancelling: d.cancelling,
|
|
8837
|
+
onCancel: d.cancelInstall
|
|
8455
8838
|
}), d.notice === null ? null : /* @__PURE__ */ (0, react.createElement)("p", {
|
|
8456
8839
|
className: MarketPage_module_default.discoverNotice,
|
|
8457
8840
|
role: "note"
|
|
@@ -8468,7 +8851,8 @@ window.__ModuleLoader__.load({
|
|
|
8468
8851
|
entry,
|
|
8469
8852
|
version
|
|
8470
8853
|
}),
|
|
8471
|
-
onShowInstalled
|
|
8854
|
+
onShowInstalled,
|
|
8855
|
+
installDisabled: d.installDisabled
|
|
8472
8856
|
}) : readFailed !== null || uninitialized !== null || retrying ? null : d.shown.length === 0 ? /* @__PURE__ */ (0, react.createElement)(DiscoverEmptyText, { text: emptyText }) : /* @__PURE__ */ (0, react.createElement)(DiscoverRows, {
|
|
8473
8857
|
t,
|
|
8474
8858
|
locale: d.locale,
|
|
@@ -8478,7 +8862,8 @@ window.__ModuleLoader__.load({
|
|
|
8478
8862
|
entry,
|
|
8479
8863
|
version
|
|
8480
8864
|
}),
|
|
8481
|
-
onShowInstalled
|
|
8865
|
+
onShowInstalled,
|
|
8866
|
+
installDisabled: d.installDisabled
|
|
8482
8867
|
}), d.detailEntry !== null || d.total <= d.shown.length ? null : /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
8483
8868
|
type: "button",
|
|
8484
8869
|
variant: "outline",
|
|
@@ -8918,6 +9303,7 @@ window.__ModuleLoader__.load({
|
|
|
8918
9303
|
workbench: null,
|
|
8919
9304
|
selfUpdate: null,
|
|
8920
9305
|
read: false,
|
|
9306
|
+
checking: false,
|
|
8921
9307
|
checkedAt: null
|
|
8922
9308
|
};
|
|
8923
9309
|
var listeners$2 = /* @__PURE__ */ new Set();
|
|
@@ -8946,6 +9332,10 @@ window.__ModuleLoader__.load({
|
|
|
8946
9332
|
if (!fresh && inFlight !== null && inFlight.force === force && inFlight.epoch === at) return inFlight.promise;
|
|
8947
9333
|
const seq = readSeq += 1;
|
|
8948
9334
|
if (force) newestForceSeq = seq;
|
|
9335
|
+
if (!state.checking) publish$1({
|
|
9336
|
+
...state,
|
|
9337
|
+
checking: true
|
|
9338
|
+
});
|
|
8949
9339
|
const promise = Promise.all([readModuleVersions(force), readInstalledPlugins(force)]).catch(() => null).then((responses) => {
|
|
8950
9340
|
if (at !== epoch) return;
|
|
8951
9341
|
if (!force && seq < newestForceSeq) return;
|
|
@@ -8957,6 +9347,7 @@ window.__ModuleLoader__.load({
|
|
|
8957
9347
|
workbench: versions?.ok === true ? versions.workbench ?? null : state.workbench,
|
|
8958
9348
|
selfUpdate: versions?.ok === true ? versions.selfUpdate ?? null : state.selfUpdate,
|
|
8959
9349
|
read: true,
|
|
9350
|
+
checking: false,
|
|
8960
9351
|
checkedAt: Date.now()
|
|
8961
9352
|
});
|
|
8962
9353
|
}).finally(() => {
|
|
@@ -8992,6 +9383,7 @@ window.__ModuleLoader__.load({
|
|
|
8992
9383
|
workbench: value.workbench,
|
|
8993
9384
|
selfUpdate: value.selfUpdate,
|
|
8994
9385
|
read: value.read,
|
|
9386
|
+
checking: value.checking,
|
|
8995
9387
|
checkedAt: value.checkedAt,
|
|
8996
9388
|
reload
|
|
8997
9389
|
};
|
|
@@ -9580,7 +9972,7 @@ window.__ModuleLoader__.load({
|
|
|
9580
9972
|
const manifests = useLiveManifests(units);
|
|
9581
9973
|
const installable = useInstallableUnits(units);
|
|
9582
9974
|
const { capabilities, checkedAt, checking, forceProbe, reload: reloadCapability } = useCapabilityMap(0);
|
|
9583
|
-
const { modules, plugins, workbench, selfUpdate, read: installedRead, reload: reloadVersions } = useModuleVersions();
|
|
9975
|
+
const { modules, plugins, workbench, selfUpdate, checking: versionsChecking, read: installedRead, reload: reloadVersions } = useModuleVersions();
|
|
9584
9976
|
const machineBoard = useEnabledUnits(0, null);
|
|
9585
9977
|
const [adding, setAdding] = (0, react.useState)(false);
|
|
9586
9978
|
const [acting, setActing] = (0, react.useState)(false);
|
|
@@ -9656,13 +10048,14 @@ window.__ModuleLoader__.load({
|
|
|
9656
10048
|
const mockNonce = devMarket.pick.nonce;
|
|
9657
10049
|
const shownFreshness = mock === void 0 ? freshness : mock.loaded === false ? pendingFreshness : MOCK_FRESHNESS;
|
|
9658
10050
|
const shownRead = mock === void 0 ? installedRead : mock.installedRead ?? true;
|
|
9659
|
-
const
|
|
10051
|
+
const shownChecking = shownFreshness.checking || mock === void 0 && versionsChecking;
|
|
10052
|
+
const busy = !marketSettled(shownFreshness, shownRead) || shownChecking || acting;
|
|
9660
10053
|
return /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketPage }, /* @__PURE__ */ (0, react.createElement)(MarketHeader, {
|
|
9661
10054
|
t,
|
|
9662
10055
|
idPrefix: MARKET_PANEL_ID,
|
|
9663
10056
|
tab,
|
|
9664
10057
|
busy,
|
|
9665
|
-
checking:
|
|
10058
|
+
checking: shownChecking,
|
|
9666
10059
|
onTab: setTab,
|
|
9667
10060
|
onReload: () => reload({ force: true }),
|
|
9668
10061
|
onAdd: openAddModule
|
|
@@ -15063,7 +15456,7 @@ window.__ModuleLoader__.load({
|
|
|
15063
15456
|
...face.messages === void 0 ? {} : { messages: face.messages }
|
|
15064
15457
|
}));
|
|
15065
15458
|
}
|
|
15066
|
-
var COMPONENT_CSS_MARKER = ".wb-activityBlock {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n padding-top: var(--wb-len-10);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n.wb-activityBlock:first-child {\n padding-top: 0;\n border-top: none;\n}\n\n.wb-activityBlockHead {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--wb-len-8);\n}\n\n.wb-activityLine {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-activityLineText {\n flex: none;\n min-width: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n overflow-wrap: anywhere;\n white-space: pre-wrap;\n max-height: var(--wb-len-72);\n overflow-y: auto;\n}\n\n.wb-activityLineAt {\n flex: none;\n margin-left: auto;\n font-size: var(--wb-font-10);\n line-height: var(--wb-line-16);\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-activityLine > .wb-activityLineAt,\n.wb-activityLine > .wb-activityLineActions {\n margin-left: auto;\n}\n\n.wb-activityLine > .wb-activityLineAt + .wb-activityLineActions {\n margin-left: 0;\n}\n\n.wb-activityLineActions {\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n}\n\n.wb-activityActionFailed {\n color: var(--dsw-alias-state-error-primary);\n}\n.wb-note {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n.wb-problem {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n.wb-approvalCommand {\n max-width: 100%;\n}\n.wb-approvalPlan {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n.wb-approvalHint {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n.wb-approvalRows {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n margin: 0;\n}\n.wb-approvalRow {\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-8);\n}\n.wb-approvalLabel {\n flex: none;\n width: var(--wb-len-56);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n.wb-approvalValue {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n overflow-wrap: anywhere;\n}\n.wb-approvalWarn {\n color: var(--dsw-alias-label-secondary);\n}\n.wb-cardHead {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n flex: none;\n padding: var(--wb-len-8) var(--wb-len-10) var(--wb-len-8) var(--wb-card-gutter);\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n.wb-cardTitle {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n font-weight: 600;\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-cardMeta {\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 min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.wb-cardMeta::before {\n content: '\\00b7';\n margin-right: var(--wb-len-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardOpen {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n margin-left: auto;\n flex: none;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: var(--wb-len-4);\n border-radius: var(--wb-radius-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardOpen ~ .wb-cardRefresh {\n margin-left: 0;\n}\n\n.wb-cardOpen:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-cardRefresh {\n margin-left: auto;\n flex: none;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: var(--wb-len-4);\n border-radius: var(--wb-radius-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardRefresh:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-cardRefresh:disabled {\n cursor: default;\n opacity: 1;\n}\n\n.wb-cardGear {\n flex: none;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: var(--wb-len-3);\n border-radius: var(--wb-radius-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardGear:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n.wb-card {\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-xl);\n background: var(--dsw-alias-bg-layer-1);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n flex: none;\n}\n.wb-cardBody {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n padding: var(--wb-len-12) var(--wb-card-gutter);\n font-size: var(--dsw-font-xxs-12-font-size);\n}\n.wb-cardBleed {\n margin-inline: calc(-1 * var(--wb-card-gutter));\n}\n._anchor_yq4s2_1 {\n display: contents;\n}\n.wb-spinner {\n display: inline-flex;\n align-items: center;\n flex: none;\n}\n.wb-choiceMenu {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n background: transparent;\n}\n\n.wb-choiceMenu[data-variant='boxed'] {\n padding: var(--wb-len-4);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-md);\n}\n\n.wb-choiceOption {\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n cursor: pointer;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-choiceOptionOn {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.wb-checkbox {\n position: absolute;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n margin: 0;\n opacity: 0;\n pointer-events: none;\n}\n\n.wb-checkboxBox {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n flex: none;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n border: 1px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-xs);\n corner-shape: round;\n color: var(--dsw-alias-label-primary-foreground);\n transition:\n background-color var(--wb-dur-0-12) ease, border-color var(--wb-dur-0-12) ease;\n}\n\n.wb-choiceOption:hover .wb-checkboxBox {\n border-color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-checkbox:checked + .wb-checkboxBox {\n border-color: var(--dsw-alias-brand-primary);\n background: var(--dsw-alias-brand-primary);\n}\n\n.wb-checkbox:disabled + .wb-checkboxBox {\n cursor: default;\n}\n\n.wb-checkbox:focus-visible + .wb-checkboxBox {\n outline: var(--dsw-focus-ring-width, var(--wb-len-2)) solid\n var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n\n.wb-choiceOption:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.wb-choiceOption:has(:disabled) {\n cursor: default;\n opacity: 0.5;\n}\n\n.wb-choiceOption:has(:disabled),\n.wb-choiceOption:has(:disabled):hover {\n background: transparent;\n}\n\n.wb-choiceLabel {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.wb-choiceLabelText {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.wb-choiceLabel:has(.wb-choiceDescription) .wb-choiceLabelText {\n overflow: visible;\n white-space: normal;\n overflow-wrap: anywhere;\n}\n\n.wb-choiceDescription {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n.wb-choiceLoading {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-8);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-choiceLoadingText {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.wb-choiceEmpty {\n display: flex;\n align-items: center;\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-8);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-radio {\n appearance: none;\n -webkit-appearance: none;\n flex: none;\n box-sizing: border-box;\n width: var(--wb-len-12);\n height: var(--wb-len-12);\n margin: 0;\n border: 1px solid var(--dsw-alias-border-l3);\n border-radius: 50%;\n corner-shape: round;\n background-color: transparent;\n cursor: pointer;\n transition:\n background-color var(--wb-dur-0-12) ease, border-color var(--wb-dur-0-12) ease;\n}\n\n.wb-radio:not(:checked):hover {\n border-color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-radio:checked {\n border-color: var(--dsw-alias-brand-primary);\n background-image: radial-gradient(\n circle at center,\n var(--dsw-alias-brand-primary) 0 3px,\n transparent 3px\n );\n}\n\n.wb-radio:disabled {\n cursor: default;\n}\n\n.wb-radio:focus-visible {\n outline: var(--dsw-focus-ring-width, var(--wb-len-2)) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n.wb-formActions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n gap: var(--wb-len-8);\n}\n\n.wb-formActionDanger {\n color: var(--dsw-alias-state-error-primary);\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 30%, transparent);\n --dsw-alias-interactive-bg-hover: color-mix(in srgb, var(--dsw-alias-state-error-primary) 8%, transparent);\n}\n.wb-rows {\n display: grid;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n column-gap: var(--wb-len-8);\n}\n.wb-rows > :not(.wb-row) {\n grid-column: 1 / -1;\n}\n.wb-row {\n display: grid;\n grid-column: 1 / -1;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n align-items: baseline;\n gap: var(--wb-len-8);\n padding: var(--wb-len-4) 0;\n}\n.wb-row + .wb-row {\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n.wb-rowKey {\n white-space: nowrap;\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}\n.wb-rowValue {\n min-width: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n overflow-wrap: anywhere;\n}\n\n.wb-rows > .wb-row {\n grid-template-columns: subgrid;\n}\n\n@supports not (grid-template-columns: subgrid) {\n .wb-rows > .wb-row {\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n }\n}\n.wb-confirmBar {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n width: 100%;\n box-sizing: border-box;\n padding: var(--wb-len-10) var(--wb-len-12);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-1);\n}\n.wb-confirmBarTitle {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n font-weight: 600;\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n overflow-wrap: anywhere;\n}\n.wb-confirmBarHint {\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n.wb-field {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xs-13-font-size);\n}\n\n.wb-fieldLabel {\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-fieldHint {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-field:has(:disabled) .wb-fieldLabel {\n opacity: 0.4;\n}\n.wb-formRows {\n display: grid;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n column-gap: var(--wb-len-8);\n row-gap: var(--wb-len-12);\n}\n\n.wb-formRows > :not(.wb-formRow) {\n grid-column: 1 / -1;\n}\n\n.wb-formRow {\n display: grid;\n grid-column: 1 / -1;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n align-items: center;\n column-gap: var(--wb-len-8);\n row-gap: var(--wb-len-8);\n}\n\n.wb-formRow[data-layout='stacked'] {\n grid-template-columns: minmax(0, 1fr);\n align-items: stretch;\n gap: var(--wb-len-6);\n}\n\n.wb-formRows > .wb-formRow[data-layout='stacked'] {\n grid-template-columns: minmax(0, 1fr);\n}\n\n.wb-formLabel {\n justify-self: start;\n min-width: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n white-space: nowrap;\n}\n\n.wb-formRow[data-layout='stacked'] .wb-formLabel {\n white-space: normal;\n}\n\n.wb-formRow[data-layout='stacked'] .wb-formHint,\n.wb-formRow[data-layout='stacked'] .wb-formProblem {\n grid-column: 1 / -1;\n}\n\n.wb-formControl {\n display: flex;\n align-items: center;\n min-width: 0;\n}\n\n.wb-formControl\n > :where(\n .wb-selectAnchor,\n .wb-choiceMenu,\n input:not(\n [type='checkbox'],\n [type='radio'],\n [type='button'],\n [type='submit'],\n [type='reset'],\n [type='image'],\n [type='color'],\n [type='range']\n ),\n select,\n textarea\n ) {\n box-sizing: border-box;\n width: 100%;\n min-width: 0;\n}\n\n.wb-formHint {\n grid-column: 2;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-formProblem {\n grid-column: 2;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-formRow:has(.wb-formProblem) .wb-formLabel {\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-formRow:has(:disabled) .wb-formLabel {\n opacity: 0.4;\n}\n\n.wb-formRows > .wb-formRow {\n grid-template-columns: subgrid;\n}\n\n@supports not (grid-template-columns: subgrid) {\n .wb-formRows > .wb-formRow {\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n }\n}\n.wb-form {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n width: 100%;\n}\n:where(.wb-link) {\n margin-left: var(--wb-len-2);\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-2);\n font: inherit;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n text-decoration: none;\n white-space: nowrap;\n vertical-align: baseline;\n}\n\n:where(.wb-link:hover) {\n text-decoration: underline;\n}\n\n:where(.wb-link:focus-visible) {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}\n.wb-longTask {\n padding-top: var(--wb-len-12);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n.wb-longTaskHead {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: 0;\n}\n\n.wb-longTaskLink {\n flex: none;\n}\n\n.wb-longTaskHeadline {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-longTaskProblem {\n margin: 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 overflow-wrap: anywhere;\n}\n\n.wb-longTaskDump {\n margin: var(--wb-len-2) 0 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-longTaskDump pre {\n margin: var(--wb-len-4) 0 0;\n max-height: var(--wb-len-220);\n overflow: auto;\n}\n\n.wb-longTaskStop {\n display: inline-flex;\n flex: none;\n align-items: center;\n align-self: center;\n justify-content: center;\n width: var(--wb-len-20);\n height: var(--wb-len-20);\n padding: 0;\n margin-left: auto;\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-specific-menu);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n\n.wb-longTaskStop:hover:not(:disabled),\n.wb-longTaskStop:focus-visible {\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, transparent);\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-longTaskStop:disabled {\n cursor: default;\n}\n\n.wb-longTaskStopArmed,\n.wb-longTaskStopArmed:hover:not(:disabled),\n.wb-longTaskStopArmed:focus-visible {\n gap: var(--wb-len-4);\n width: auto;\n padding: 0 var(--wb-len-7);\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, transparent);\n background: color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent);\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-longTaskStopLabel {\n white-space: nowrap;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-18);\n}\n\n.wb-longTaskStopWhy {\n margin: 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 overflow-wrap: anywhere;\n}\n.wb-centered.wb-centeredCompact {\n flex: none;\n min-height: 0;\n gap: var(--wb-len-8);\n padding: var(--wb-len-20) var(--wb-len-16);\n}\n\n.wb-centered.wb-centeredCompact .wb-centeredHero {\n margin-bottom: var(--wb-len-4);\n}\n\n.wb-skeleton {\n display: flex;\n flex-direction: column;\n}\n\n.wb-skeletonRow {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n padding: var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n}\n\n.wb-skeletonRow + .wb-skeletonRow::before {\n content: '';\n align-self: stretch;\n height: var(--wb-len-0-5);\n margin: 0 var(--wb-len-8) var(--wb-len-neg-0-5);\n background: var(--dsw-alias-border-l2);\n}\n\n.wb-skeletonBar {\n display: block;\n height: var(--wb-len-13);\n border-radius: var(--dsw-radius-xs);\n background: var(--dsw-alias-bg-skeleton);\n animation: wb-skeleton-pulse var(--wb-dur-1-4) var(--ds-ease-in-out) infinite;\n}\n\n.wb-skeletonBarTitle {\n width: 62%;\n}\n\n.wb-skeletonBarMeta {\n width: 32%;\n height: var(--wb-len-10);\n}\n\n.wb-skeletonRow:nth-child(2n) .wb-skeletonBarTitle {\n width: 74%;\n}\n\n.wb-skeletonRow:nth-child(3n) .wb-skeletonBarTitle {\n width: 52%;\n}\n\n@keyframes wb-skeleton-pulse {\n 50% {\n opacity: 0.45;\n }\n}\n\n.wb-centered {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: var(--wb-len-14);\n flex: 1;\n min-height: var(--wb-len-240);\n padding: 0 var(--wb-len-24) var(--wb-len-24);\n text-align: center;\n}\n\n.wb-centeredHero {\n display: flex;\n margin-bottom: var(--wb-len-16);\n color: var(--dsw-alias-label-dimmed);\n}\n\n.wb-centeredTitle {\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-22);\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-centeredHint {\n max-width: var(--wb-len-300);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-centeredDetail {\n max-width: var(--wb-len-320);\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-dimmed);\n word-break: break-all;\n}\n\n.wb-centeredAction {\n display: flex;\n justify-content: center;\n gap: var(--wb-len-8);\n margin-top: var(--wb-len-2);\n}\n@media (prefers-reduced-motion: reduce) {\n .wb-skeletonBar {\n animation: none;\n }}\n.wb-textField {\n box-sizing: border-box;\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-3);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-primary);\n outline: none;\n}\n\n.wb-textField:focus {\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-business-primary);\n}\n\n.wb-textField:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n.wb-textField[aria-invalid='true'] {\n border-color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-textField[aria-invalid='true']:focus {\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-error-primary);\n}\n\n:where(.wb-textField) {\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-10);\n}\n:where(.wb-selectTrigger) {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n width: 100%;\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-3);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-primary);\n text-align: left;\n cursor: pointer;\n}\n\n.wb-selectTrigger:focus-visible {\n outline: none;\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-business-primary);\n}\n\n.wb-selectTrigger[aria-invalid='true'] {\n border-color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-selectTrigger[aria-invalid='true']:focus-visible {\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-error-primary);\n}\n\n.wb-selectTrigger:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n.wb-selectLoading:disabled {\n cursor: default;\n opacity: 1;\n}\n\n.wb-selectGhost {\n gap: var(--wb-gap-xs);\n min-height: 0;\n height: var(--wb-len-34);\n padding: 0 var(--wb-len-8);\n border: none;\n background: transparent;\n font-size: var(--wb-font-row);\n}\n\n.wb-selectGhost:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.wb-selectGhost: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 border-color: transparent;\n box-shadow: none;\n}\n\n.wb-selectIconOnly {\n width: var(--wb-len-36);\n height: var(--wb-len-36);\n min-height: 0;\n gap: 0;\n padding: 0;\n justify-content: center;\n}\n\n.wb-selectReveal {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n.wb-selectIconOnly .wb-selectIcon {\n width: 100%;\n height: 100%;\n}\n\n.wb-selectAnchor {\n display: block;\n width: 100%;\n}\n\n.wb-selectIcon {\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}\n\n.wb-selectValue {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-6);\n line-height: var(--wb-line-20);\n overflow: hidden;\n}\n\n.wb-selectPlaceholder {\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-selectChevron {\n flex: none;\n display: inline-flex;\n color: var(--dsw-alias-label-caption);\n}\n\n.wb-selectMenu {\n min-width: var(--wb-len-240);\n max-width: var(--wb-len-360);\n max-height: min(var(--wb-len-320), calc(100vh - var(--wb-len-24)));\n}\n\n:where(.wb-selectSearch) {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n width: 100%;\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-3);\n}\n\n.wb-selectSearch:focus-within {\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-business-primary);\n}\n\n.wb-selectSearch.wb-selectGhost {\n gap: var(--wb-gap-xs);\n min-height: 0;\n height: var(--wb-len-34);\n padding: 0 var(--wb-len-8);\n border: 0.5px solid var(--dsw-alias-border-l3);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n.wb-selectSearch.wb-selectGhost:focus-within {\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: none;\n}\n\n.wb-selectSearchIcon {\n flex: none;\n display: inline-flex;\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-textField.wb-selectSearchInput {\n flex: 1;\n min-width: 0;\n min-height: 0;\n padding: 0;\n border: none;\n background: transparent;\n}\n\n.wb-textField.wb-selectSearchInput:focus {\n box-shadow: none;\n}\n\n.wb-selectFallback {\n width: 100%;\n}\n\n.wb-selectHint {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\nsection.wb-settings {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n padding: var(--wb-len-12) var(--wb-len-16);\n border: 0;\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-settings-card-fill);\n}\n.wb-settingsHead {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n.wb-settings .wb-settingsTitle {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--dsw-font-s-strong-14-font-size);\n line-height: var(--wb-line-24);\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n}\n.wb-stack {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-10);\n min-height: 0;\n}\n.wb-stateBlock {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n.wb-stateBlockTitle {\n margin: 0;\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n}\n.wb-stateBlockHint {\n margin: 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}\n.wb-stateBlockActions {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin-top: var(--wb-len-2);\n}\n.wb-stateBlockResolving {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n._marketList_14s5s_1 {\n list-style: none;\n margin: 0;\n padding: var(--wb-len-6);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n._marketRow_14s5s_10 {\n display: grid;\n grid-template-columns: auto minmax(0, 1fr) auto;\n align-items: center;\n column-gap: var(--wb-len-14);\n row-gap: var(--wb-len-4);\n padding: var(--wb-len-8);\n border-radius: var(--dsw-radius-lg);\n}\n\n._marketIcon_14s5s_20 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-48);\n height: var(--wb-len-48);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketMain_14s5s_32 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._marketName_14s5s_39 {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._marketStatus_14s5s_48 {\n display: inline-flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketStateText_14s5s_58 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSep_14s5s_62 {\n color: var(--dsw-alias-label-caption);\n}\n\n._marketReason_14s5s_66 {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._marketName_14s5s_39 ._marketVersion_14s5s_72 {\n margin-left: var(--wb-len-6);\n font-size: var(--dsw-font-xxs-12-font-size);\n font-weight: 400;\n line-height: var(--wb-line-18);\n}\n\n._marketVersion_14s5s_72 {\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketVersion_14s5s_72::before {\n content: '';\n display: inline-block;\n width: var(--wb-len-1);\n height: var(--wb-len-10);\n margin: 0 var(--wb-len-8) 0 var(--wb-len-2);\n vertical-align: -1px;\n background: var(--dsw-alias-border-l2);\n}\n\n._marketLocalTag_14s5s_94 {\n margin-left: var(--wb-len-8);\n padding: 0 var(--wb-len-6);\n border: var(--wb-len-1) solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n font-size: var(--dsw-font-xxs-12-font-size);\n font-weight: 400;\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-caption);\n}\n\n._marketEnd_14s5s_105 {\n flex: none;\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_14s5s_112 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_14s5s_112::before {\n content: '';\n width: 0;\n height: var(--wb-len-14);\n border-left: 0.5px solid var(--dsw-alias-border-l3);\n}\n\n._marketActions_14s5s_125 {\n flex: none;\n display: flex;\n gap: var(--wb-len-6);\n}\n\n._marketUpdateAction_14s5s_131 {\n color: var(--dsw-alias-state-warn-primary);\n border-color: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 30%, transparent);\n --dsw-alias-interactive-bg-hover: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 8%, transparent);\n}\n\n._marketSelfDivider_14s5s_137 {\n height: 0;\n margin-top: calc(0px - var(--wb-len-16));\n border-top: 0.5px solid var(--dsw-alias-border-l3);\n}\n\n._marketSection_14s5s_143 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._marketSectionHead_14s5s_150 {\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-8);\n}\n\n._marketSectionIcon_14s5s_156 {\n display: inline-flex;\n align-items: center;\n align-self: center;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketSectionTitle_14s5s_163 {\n margin: 0;\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._marketSectionCount_14s5s_169 {\n font: var(--dsw-font-s-14);\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketSectionQuiet_14s5s_175 ._marketSectionTitle_14s5s_163 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSectionQuiet_14s5s_175 ._marketName_14s5s_39 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSectionQuiet_14s5s_175 ._marketIcon_14s5s_20 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n\n._marketProgress_14s5s_188 {\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-8);\n min-height: var(--wb-len-32);\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketNote_14s5s_198 {\n grid-column: 2 / -1;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-state-warn-primary);\n overflow-wrap: anywhere;\n}\n\n._marketFailure_14s5s_205 {\n grid-column: 2 / -1;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._marketEmpty_14s5s_212 {\n padding: var(--wb-len-18) var(--wb-len-16);\n text-align: center;\n}\n\n._marketPage_14s5s_217 {\n box-sizing: border-box;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-32);\n padding: 0 clamp(var(--wb-len-24), 4vw, var(--wb-len-48)) var(--wb-len-48);\n overflow-x: hidden;\n overflow-y: auto;\n color: var(--dsw-alias-label-primary);\n}\n\n._marketPage_14s5s_217 > * {\n width: 100%;\n max-width: var(--wb-len-960);\n}\n\n._marketPageHead_14s5s_235 {\n box-sizing: border-box;\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-16);\n padding-top: var(--wb-len-28);\n}\n\n._marketPageTitle_14s5s_243 {\n margin: 0;\n font: var(--dsw-font-l-20);\n}\n\n._marketPageIntro_14s5s_248 {\n margin: var(--wb-len-4) 0 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketPageTools_14s5s_254 {\n flex: none;\n align-self: center;\n margin-left: auto;\n display: flex;\n align-items: center;\n gap: var(--wb-len-16);\n}\n\n._marketPanel_14s5s_263 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-32);\n}\n\n._marketPanel_14s5s_263[hidden] {\n display: none;\n}\n\n._marketTabs_14s5s_273 {\n display: flex;\n margin: calc(0px - var(--wb-len-16)) 0;\n}\n\n._marketTabList_14s5s_278 {\n width: fit-content;\n min-width: var(--wb-len-240);\n}\n\n._marketIconButton_14s5s_283 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-28);\n height: var(--wb-len-28);\n padding: 0;\n border: 0;\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n color: var(--dsw-alias-label-caption);\n cursor: pointer;\n}\n\n._marketIconButton_14s5s_283:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketIconButton_14s5s_283:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n._marketIconWrap_14s5s_308 {\n display: inline-flex;\n}\n\n._marketIconButtonSpinning_14s5s_312 svg {\n animation: _wb-spin_14s5s_1 var(--wb-dur-0-9) linear infinite;\n}\n\n._marketAddButton_14s5s_316 {\n height: var(--wb-len-32);\n padding: 0 var(--wb-len-12);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n border-radius: var(--dsw-radius-md);\n}\n\n._marketEmpty_14s5s_212 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-64) var(--wb-len-16);\n text-align: center;\n}\n\n._marketEmptyTitle_14s5s_333 {\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n@keyframes _wb-spin_14s5s_1 {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n._discoverPage_14s5s_347 {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n}\n\n._discoverBar_14s5s_354 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n container-type: inline-size;\n}\n\n._discoverTools_14s5s_361 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverMarket_14s5s_367 {\n flex: 0 1 auto;\n min-width: 0;\n}\n\n._discoverMarketButton_14s5s_372 {\n min-width: 0;\n max-width: var(--wb-len-240);\n margin-left: calc(0px - var(--wb-len-8));\n font-weight: 500;\n}\n\n._discoverMarketName_14s5s_379 {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._discoverLabels_14s5s_385 {\n flex: none;\n white-space: nowrap;\n}\n\n._discoverSort_14s5s_390 {\n flex: none;\n white-space: nowrap;\n}\n\n._discoverRefresh_14s5s_395 {\n flex: none;\n}\n\n._discoverSearch_14s5s_399 {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex: 1 1 var(--wb-len-120);\n min-width: var(--wb-len-120);\n}\n\n._discoverSearchField_14s5s_407 {\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._discoverSearchFieldFilled_14s5s_412 input {\n padding-inline-end: var(--wb-len-20);\n}\n\n._discoverSearchField_14s5s_407 input::-webkit-search-cancel-button {\n appearance: none;\n -webkit-appearance: none;\n}\n\n._discoverSearch_14s5s_399 ._discoverSearchClear_14s5s_421 {\n position: absolute;\n top: 50%;\n inset-inline-end: var(--wb-len-4);\n width: var(--wb-len-24);\n height: var(--wb-len-24);\n padding: 0;\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-tertiary);\n transform: translateY(-50%);\n}\n\n._discoverSearchClear_14s5s_421:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n@container (max-width: 560px) {\n ._discoverTools_14s5s_361 {\n display: grid;\n grid-template-columns: minmax(0, auto) minmax(var(--wb-len-120), 1fr) auto;\n grid-template-areas:\n 'market search refresh'\n 'labels sort sort';\n }\n\n ._discoverMarket_14s5s_367 {\n grid-area: market;\n }\n\n ._discoverMarketButton_14s5s_372 {\n margin-left: 0;\n }\n\n ._discoverLabels_14s5s_385 {\n grid-area: labels;\n }\n\n ._discoverSearch_14s5s_399 {\n grid-area: search;\n }\n\n ._discoverSort_14s5s_390 {\n grid-area: sort;\n justify-self: end;\n }\n\n ._discoverRefresh_14s5s_395 {\n grid-area: refresh;\n }\n}\n\n._discoverChips_14s5s_472 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-6);\n}\n\n._discoverList_14s5s_479 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n._discoverCard_14s5s_488 {\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n margin: 0 calc(0px - var(--wb-len-8));\n padding: var(--wb-len-8);\n border-radius: var(--dsw-radius-xl);\n}\n\n._discoverCard_14s5s_488:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._discoverArtwork_14s5s_502 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-48);\n height: var(--wb-len-48);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverArtworkImage_14s5s_514 {\n object-fit: contain;\n}\n\n._discoverMain_14s5s_518 {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--wb-len-2);\n min-width: 0;\n}\n\n._discoverTitleRow_14s5s_526 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._discoverCardOpen_14s5s_534 {\n max-width: 100%;\n padding: 0;\n border: 0;\n background: transparent;\n color: inherit;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n text-align: left;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n cursor: pointer;\n}\n\n._discoverCardOpen_14s5s_534::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: var(--dsw-radius-xl);\n}\n\n._discoverCardOpen_14s5s_534:focus-visible {\n outline: none;\n}\n\n._discoverCardOpen_14s5s_534:focus-visible::after {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n\n._discoverStrong_14s5s_565 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n overflow-wrap: anywhere;\n}\n\n._discoverDesc_14s5s_571 {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._discoverMeta_14s5s_580 {\n margin: 0;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n._discoverMuted_14s5s_587 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._discoverEnd_14s5s_593 {\n position: relative;\n z-index: var(--wb-z-10);\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverBlocked_14s5s_602 {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n._discoverEmpty_14s5s_607 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-64) 0;\n text-align: center;\n}\n\n._discoverEmptyTitle_14s5s_616 {\n margin: var(--wb-len-8) 0 0;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverEmpty_14s5s_607 > button {\n margin-top: var(--wb-len-8);\n}\n\n._discoverDetail_14s5s_626 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n}\n\n._discoverCrumb_14s5s_632 {\n align-self: flex-start;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n padding: 0;\n border: 0;\n background: 0 0;\n color: var(--dsw-alias-label-tertiary);\n font: inherit;\n font-size: var(--wb-font-12-5);\n cursor: pointer;\n}\n\n._discoverCrumb_14s5s_632:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n._discoverCrumb_14s5s_632:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n\n._discoverCrumbIcon_14s5s_655 {\n transform: rotate(90deg);\n}\n\n._discoverDetailHead_14s5s_659 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n}\n\n._discoverDetailTitle_14s5s_665 {\n margin: 0;\n font: var(--dsw-font-l-20);\n font-weight: 500;\n}\n\n._discoverDetailText_14s5s_671 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._discoverDetailPanel_14s5s_678 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n min-width: 0;\n}\n\n._discoverDetailTabs_14s5s_685 {\n display: flex;\n margin-bottom: calc(0px - var(--wb-len-4));\n}\n\n._discoverDetailTabList_14s5s_690 {\n width: fit-content;\n min-width: var(--wb-len-240);\n}\n\n._discoverDocBody_14s5s_695 {\n min-width: 0;\n overflow-wrap: anywhere;\n}\n\n._discoverDocNotice_14s5s_700 {\n margin: var(--wb-len-16) 0 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverSection_14s5s_706 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n margin-top: var(--wb-len-16);\n}\n\n._discoverSectionTitle_14s5s_713 {\n margin: 0;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverFacts_14s5s_719 {\n margin: 0;\n padding: 0;\n}\n\n._discoverFactRow_14s5s_724 {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: var(--wb-len-16);\n min-height: var(--wb-len-44);\n padding: var(--wb-len-8) var(--wb-len-2);\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._discoverFactKind_14s5s_734 {\n flex: none;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverFactValue_14s5s_740 {\n min-width: 0;\n margin: 0;\n text-align: end;\n overflow-wrap: anywhere;\n font: var(--dsw-font-xs-13);\n}\n\n._discoverCode_14s5s_748 {\n padding: var(--wb-len-2) var(--wb-len-6);\n border-radius: var(--wb-radius-6);\n background: var(--dsw-alias-bg-module-platform);\n font-family: var(--ds-font-family-code);\n font-size: var(--dsw-font-xxs-12-font-size);\n box-decoration-break: clone;\n}\n\n._discoverTags_14s5s_757 {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n gap: var(--wb-len-6);\n}\n\n._discoverLink_14s5s_764 {\n color: var(--dsw-alias-link);\n overflow-wrap: anywhere;\n text-decoration: none;\n}\n\n._discoverLink_14s5s_764:hover {\n text-decoration: underline;\n}\n\n._discoverVersions_14s5s_774 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n}\n\n._discoverVersionRow_14s5s_782 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-8) 0;\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._discoverVersionName_14s5s_790 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverError_14s5s_795 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-state-error-primary);\n}\n\n._discoverFailure_14s5s_804 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._discoverLoading_14s5s_810 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin: 0;\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xs-13);\n}\n\n._discoverNotice_14s5s_819 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-8);\n margin: 0;\n padding: var(--wb-len-10) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-state-warn-tertiary);\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xxs-12);\n}\n\n._discoverNotice_14s5s_819 svg {\n flex: none;\n margin-top: var(--wb-len-2);\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverMore_14s5s_837 {\n align-self: center;\n}\n\n._discoverDialog_14s5s_841 {\n width: min(var(--wb-len-560), calc(100vw - var(--wb-len-32)));\n}\n\n._discoverDialogBody_14s5s_845 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._discoverSourceList_14s5s_851 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n}\n\n._discoverSourceRow_14s5s_859 {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n gap: var(--wb-len-12);\n padding: var(--wb-len-10) 0;\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._discoverSourceConfirm_14s5s_868 {\n margin: 0;\n padding: var(--wb-len-2) 0 var(--wb-len-10);\n list-style: none;\n}\n\n._discoverSourcePick_14s5s_874 {\n display: flex;\n flex: 1;\n align-items: flex-start;\n gap: var(--wb-len-10);\n min-width: 0;\n cursor: pointer;\n}\n\n._discoverSourceRadio_14s5s_883 {\n flex: none;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n margin: var(--wb-len-2) 0 0;\n accent-color: var(--dsw-alias-brand-primary);\n}\n\n._discoverSourceMain_14s5s_891 {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._discoverSourceHead_14s5s_899 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._discoverSourceUrl_14s5s_907 {\n display: block;\n margin: 0;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-tertiary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._discoverSourceMore_14s5s_917 {\n flex: none;\n}\n\n._discoverSourceLoading_14s5s_921 {\n display: flex;\n flex: none;\n align-items: center;\n gap: var(--wb-len-6);\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xxs-12);\n white-space: nowrap;\n}\n\n._discoverSourceHint_14s5s_931 {\n display: flex;\n flex-basis: 100%;\n align-items: center;\n gap: var(--wb-len-6);\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xxs-12);\n}\n\n._discoverSourceHint_14s5s_931 svg {\n flex: none;\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverSourceError_14s5s_945 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._discoverSourceForm_14s5s_951 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverGrow_14s5s_957 {\n flex: 1;\n min-width: 0;\n}\n\n._discoverField_14s5s_962 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n\n._discoverFieldLabel_14s5s_968 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverConfirmHead_14s5s_973 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n}\n\n._discoverSkeletonFill_14s5s_979 {\n background: var(--dsw-alias-bg-skeleton);\n animation: _wb-skeleton_14s5s_1 var(--wb-dur-1-5) cubic-bezier(0.36, 0, 0.64, 1) infinite;\n}\n\n._discoverArtwork_14s5s_502._discoverSkeletonFill_14s5s_979 {\n border-color: transparent;\n}\n\n._discoverSkeletonBar_14s5s_988 {\n display: block;\n height: var(--wb-len-12);\n margin: var(--wb-len-4) 0;\n border-radius: var(--dsw-radius-xs);\n}\n\n._discoverSkeletonTitle_14s5s_995 {\n width: min(var(--wb-len-144), 60%);\n}\n\n._discoverSkeletonDesc_14s5s_999 {\n width: min(var(--wb-len-280), 85%);\n}\n\n@keyframes _wb-skeleton_14s5s_1 {\n 0% {\n opacity: 1;\n }\n 40% {\n opacity: 0.6;\n }\n 80%,\n to {\n opacity: 1;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._discoverSkeletonFill_14s5s_979 {\n animation: none;\n }\n}\n\n._foot_1ud1j_1 {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--wb-len-8);\n padding: var(--wb-len-8) var(--wb-len-14) var(--wb-len-10);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\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}\n\n._footText_1ud1j_13 {\n flex: 1;\n min-width: 0;\n}\n\n._footTextMd_1ud1j_18 {\n flex: 1;\n min-width: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n._wide_1lv8f_1 {\n justify-content: center;\n width: 100%;\n height: var(--wb-len-40);\n border-radius: var(--dsw-radius-md);\n}\n\n._dialog_1lv8f_8 {\n width: min(var(--wb-len-560), 100%);\n max-height: min(var(--wb-len-800), 100%);\n}\n\n._content_1lv8f_13 {\n min-height: 0;\n overflow: auto;\n}\n\n._stack_1lv8f_18 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n\n._body_1lv8f_25 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n\n._field_1lv8f_32 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xs-13-font-size);\n}\n\n._input_1lv8f_39 {\n width: 100%;\n height: var(--wb-len-40);\n padding: 0 var(--wb-len-14);\n}\n\n._registryField_1lv8f_45 {\n height: var(--wb-len-32);\n margin-left: var(--wb-len-26);\n padding: 0 var(--wb-len-10);\n}\n\n._options_1lv8f_51 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: var(--wb-len-8) var(--wb-len-12);\n}\n\n._guideToggle_1lv8f_59 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-4);\n align-self: flex-start;\n margin-top: var(--wb-len-4);\n padding: 0;\n border: 0;\n background: transparent;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n\n._guideToggle_1lv8f_59:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n._guideToggle_1lv8f_59 svg,\n._registryToggle_1lv8f_78 svg {\n transition: transform var(--wb-dur-0-12) ease;\n}\n\n._guideToggle_1lv8f_59[aria-expanded='true'] svg,\n._registryToggle_1lv8f_78[aria-expanded='true'] svg {\n transform: rotate(180deg);\n}\n\n._registryWrap_1lv8f_87 {\n position: relative;\n flex: none;\n}\n\n._registryToggle_1lv8f_78 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n height: var(--wb-len-26);\n padding: 0 var(--wb-len-8) 0 var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-2);\n font: inherit;\n font-size: var(--wb-font-12-5);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n\n._registryToggle_1lv8f_78:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n._registryToggle_1lv8f_78:disabled {\n cursor: default;\n opacity: 0.6;\n}\n\n._registryToggle_1lv8f_78[aria-expanded='true'] {\n border-color: var(--dsw-alias-border-l3);\n background: var(--dsw-alias-bg-layer-3);\n}\n\n._registryChosen_1lv8f_121 {\n color: var(--dsw-alias-label-primary);\n font-weight: 500;\n}\n\n._registry_1lv8f_45 {\n position: fixed;\n z-index: var(--wb-z-1100);\n box-sizing: border-box;\n width: min(var(--wb-len-440), 100vw - var(--wb-len-24));\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-10) var(--wb-len-12);\n border: 0;\n border-radius: var(--dsw-radius-lg);\n background: var(--dsw-alias-bg-layer-2);\n --dsw-elevation-stroke-color: var(--dsw-alias-border-l3);\n box-shadow: var(--dsw-elevation-prominent);\n}\n\n._registryOption_1lv8f_143 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n padding: var(--wb-len-8) var(--wb-len-10);\n border: 0.5px solid transparent;\n border-radius: var(--dsw-radius-lg);\n cursor: pointer;\n}\n\nlabel._registryOption_1lv8f_143 {\n flex-direction: row;\n align-items: flex-start;\n gap: var(--wb-len-10);\n}\n\n._registryPick_1lv8f_159 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-10);\n cursor: pointer;\n}\n\n._registryOption_1lv8f_143[data-checked='true'] {\n border-color: color-mix(in srgb, var(--dsw-alias-brand-primary) 40%, transparent);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n._registryOption_1lv8f_143 input[type='radio'] {\n flex: none;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n margin: var(--wb-len-2) 0 0;\n accent-color: var(--dsw-alias-brand-primary);\n}\n\n._registryTitle_1lv8f_179 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n font: var(--dsw-font-xs-13);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-primary);\n}\n\n._registryHint_1lv8f_189 {\n margin-left: var(--wb-len-26);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n._inputError_1lv8f_197 {\n margin: var(--wb-len-neg-4) 0 0 var(--wb-len-26);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-error-primary);\n}\n\n._guide_1lv8f_59 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-10);\n padding: var(--wb-len-8) var(--wb-len-14) var(--wb-len-14);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-lg);\n background: var(--dsw-alias-bg-layer-1);\n}\n\n._guideList_1lv8f_214 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n._guideItem_1lv8f_223 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-10);\n padding: var(--wb-len-8) 0;\n}\n\n._guideIndex_1lv8f_230 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-20);\n height: var(--wb-len-20);\n border-radius: var(--wb-radius-pill);\n corner-shape: round;\n background: var(--dsw-alias-bg-module-platform);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._guideMain_1lv8f_244 {\n display: flex;\n flex-direction: column;\n flex: 1;\n gap: 0;\n min-width: 0;\n}\n\n._guideTitle_1lv8f_252 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n}\n\n._guideHint_1lv8f_258 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-caption);\n}\n\n._guideExample_1lv8f_264 {\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._guideExample_1lv8f_264 code {\n font-family: var(--dsw-font-mono, monospace);\n}\n\n._guideExampleLabel_1lv8f_274 {\n color: var(--dsw-alias-label-caption);\n}\n\n._footer_1lv8f_278 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-20);\n width: 100%;\n}\n\n._hero_1lv8f_285 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-10);\n padding: var(--wb-len-8) 0 var(--wb-len-4);\n text-align: center;\n}\n\n._heroIcon_1lv8f_294 {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-44);\n height: var(--wb-len-44);\n color: var(--dsw-alias-label-secondary);\n}\n\n._heroIcon_1lv8f_294[data-state='done'] {\n color: var(--dsw-alias-state-success-secondary);\n}\n\n._heroIcon_1lv8f_294[data-state='error'] {\n color: var(--dsw-alias-state-warn-label);\n}\n\n._pendingTitle_1lv8f_311 {\n margin: 0;\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-22);\n font-weight: 500;\n color: var(--dsw-alias-label-secondary);\n}\n\n._wizardTitle_1lv8f_319 {\n margin: 0;\n font-size: var(--wb-font-18);\n line-height: var(--wb-len-26);\n font-weight: 600;\n}\n\n._subject_1lv8f_326 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-6);\n padding: var(--wb-len-16);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n text-align: center;\n}\n\n._subjectName_1lv8f_337 {\n margin: 0;\n font: var(--dsw-font-base-strong-16);\n overflow-wrap: anywhere;\n}\n\n._subjectMeta_1lv8f_343,\n._subjectDesc_1lv8f_344 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._result_1lv8f_351,\n._resultWarn_1lv8f_352 {\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: color-mix(in srgb, var(--dsw-alias-state-success-primary) 10%, transparent);\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-primary);\n}\n\n._resultWarn_1lv8f_352 {\n background: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 12%, transparent);\n}\n\n._resultMeta_1lv8f_365 {\n margin: 0;\n padding: 0 var(--wb-len-12);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._approval_1lv8f_373 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n padding: var(--wb-len-12) var(--wb-len-14);\n border: 0.5px solid var(--dsw-alias-state-warn-primary);\n border-radius: var(--dsw-radius-lg);\n background: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 8%, transparent);\n}\n\n._approvalTitle_1lv8f_383 {\n margin: 0;\n font: var(--dsw-font-s-14);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._approvalText_1lv8f_390 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._approvalCaution_1lv8f_396 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n font-weight: 600;\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._note_1lv8f_403 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._noteWarn_1lv8f_410 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._noteError_1lv8f_414 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._problem_1lv8f_418 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._detailLabel_1lv8f_425 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-caption);\n}\n\n._detail_1lv8f_425 {\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l1);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-3);\n font-family: var(--dsw-font-mono, monospace);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n white-space: pre-wrap;\n}\n._note_1enlz_1 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-8);\n margin: 0;\n padding: var(--wb-len-10) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-state-warn-tertiary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n\n._note_1enlz_1 > svg {\n flex: none;\n margin-top: var(--wb-len-2);\n color: var(--dsw-alias-state-warn-primary);\n}\n._slot_1t7dx_1 {\n display: flex;\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._slot_1t7dx_1 > * {\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._action_1t7dx_12 {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex: 1 1 0;\n width: 100%;\n min-width: 0;\n min-height: var(--wb-len-36);\n margin: 0 var(--wb-len-2);\n padding: var(--wb-len-7) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n cursor: default;\n overflow: hidden;\n gap: var(--wb-len-4);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n}\n\n._live_1t7dx_31 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._paused_1t7dx_35 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._trouble_1t7dx_39 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._pulse_1t7dx_43 {\n animation: _wb-debug-breathe_1t7dx_1 var(--wb-dur-1-5) var(--ds-ease-in-out, ease-in-out) infinite;\n}\n\n@keyframes _wb-debug-breathe_1t7dx_1 {\n 0%,\n 100% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.35;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._pulse_1t7dx_43 {\n animation: none;\n }\n}\n\n._entry_1t7dx_64 {\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._entryInner_1t7dx_71 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._acts_1t7dx_78 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-2);\n flex: none;\n}\n\n._act_1t7dx_12 {\n appearance: none;\n border: 0;\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: 0;\n border-radius: var(--dsw-radius-sm, var(--wb-len-6));\n flex: none;\n cursor: pointer;\n}\n\n._act_1t7dx_12:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._act_1t7dx_12:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}\n\n._actStop_1t7dx_110:hover,\n._actStop_1t7dx_110:focus-visible {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._actArmed_1t7dx_115,\n._actArmed_1t7dx_115:hover,\n._actArmed_1t7dx_115:focus-visible {\n background: color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent);\n width: auto;\n color: var(--dsw-alias-state-error-primary);\n gap: var(--wb-len-4);\n padding: 0 var(--wb-len-7);\n}\n\n._actLabel_1t7dx_125 {\n white-space: nowrap;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-18);\n}\n\n._entryLine_1t7dx_131 {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._actionRail_1t7dx_138 {\n justify-content: center;\n flex: none;\n width: var(--wb-len-36);\n min-width: var(--wb-len-36);\n height: var(--wb-len-36);\n margin: 0;\n padding: 0;\n corner-shape: round;\n border-radius: 50%;\n}\n\n._card_1t7dx_150 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n}\n\n._cardTitle_1t7dx_156 {\n color: var(--dsw-alias-label-primary);\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-20);\n}\n\n._cardNote_1t7dx_162 {\n color: var(--dsw-alias-label-secondary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n}\n._slot_1gkj9_1 {\n display: flex;\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._slot_1gkj9_1 > * {\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._action_1gkj9_12 {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex: 1 1 0;\n width: 100%;\n min-width: 0;\n min-height: var(--wb-len-36);\n margin: 0 var(--wb-len-2);\n padding: var(--wb-len-7) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n cursor: default;\n overflow: hidden;\n gap: var(--wb-len-4);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n}\n\n._live_1gkj9_31 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._done_1gkj9_35 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._pulse_1gkj9_39 {\n animation: _wb-record-breathe_1gkj9_1 var(--wb-dur-1-5) var(--ds-ease-in-out, ease-in-out) infinite;\n}\n\n@keyframes _wb-record-breathe_1gkj9_1 {\n 0%,\n 100% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.35;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._pulse_1gkj9_39 {\n animation: none;\n }\n}\n\n._entry_1gkj9_60 {\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._entryInner_1gkj9_67 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._acts_1gkj9_74 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-2);\n flex: none;\n}\n\n._act_1gkj9_12 {\n appearance: none;\n border: 0;\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: var(--wb-len-22);\n padding: 0 var(--wb-len-7);\n border-radius: var(--dsw-radius-sm, var(--wb-len-6));\n flex: none;\n cursor: pointer;\n white-space: nowrap;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-18);\n}\n\n._act_1gkj9_12:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._act_1gkj9_12:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}\n\n._entryLine_1gkj9_108 {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._actionRail_1gkj9_115 {\n justify-content: center;\n flex: none;\n width: var(--wb-len-36);\n min-width: var(--wb-len-36);\n height: var(--wb-len-36);\n margin: 0;\n padding: 0;\n corner-shape: round;\n border-radius: 50%;\n}\n\n._card_1gkj9_127 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n}\n\n._cardTitle_1gkj9_133 {\n color: var(--dsw-alias-label-primary);\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-20);\n}\n\n._cardNote_1gkj9_139 {\n color: var(--dsw-alias-label-secondary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n}\n._item_lyox9_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-10);\n}\n\n._item_lyox9_1 + ._item_lyox9_1 {\n padding-top: var(--wb-len-14);\n border-top: var(--wb-len-0-5) solid var(--dsw-alias-settings-card-stroke);\n}\n\n._head_lyox9_12 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._title_lyox9_19 {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-20);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._description_lyox9_31 {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n._rows_85r3w_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n._row_85r3w_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n padding: var(--wb-len-12) var(--wb-len-14);\n border: 0.5px solid var(--dsw-alias-settings-card-stroke);\n border-radius: var(--dsw-radius-xl);\n background: var(--dsw-alias-settings-card-fill);\n}\n\n._head_85r3w_20 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._pick_85r3w_27 {\n flex: 0 1 auto;\n min-width: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n}\n\n._pick_85r3w_27 > span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._code_85r3w_39 {\n --dsl-code-block-background: var(--dsw-alias-bg-layer-1);\n margin: 0;\n}\n\n._missing_85r3w_44,\n._conflict_85r3w_45 {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-warn-primary);\n}\n._body_11oac_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._sources_11oac_7 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._sourcesLabel_11oac_14 {\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-secondary);\n}\n\nbutton._sourceOn_11oac_19 {\n border-color: var(--dsw-alias-brand-primary);\n}\n._sourceCount_11oac_22 {\n margin-left: var(--wb-len-4);\n font-variant-numeric: tabular-nums;\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._reading_11oac_29 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n}\n\n._status_11oac_35 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._failure_11oac_45 {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n column-gap: var(--wb-len-10);\n row-gap: var(--wb-len-2);\n color: var(--dsw-alias-state-error-primary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n}\n\n._failureTitle_11oac_55 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._failureHint_11oac_62 {\n grid-column: 1;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._failureAction_11oac_67 {\n grid-column: 2;\n grid-row: 1;\n justify-self: end;\n}\n\n._foot_11oac_73 {\n display: flex;\n justify-content: flex-end;\n}\n._body_lox98_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._field_lox98_7 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n\n._input_lox98_13 {\n width: 100%;\n}\n\n._label_lox98_17 {\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-secondary);\n}\n\n._hint_lox98_22 {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._copy_lox98_28 {\n display: flex;\n flex-wrap: wrap;\n gap: var(--wb-len-8) var(--wb-len-16);\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n._copy_lox98_28 legend {\n padding: 0;\n margin-bottom: var(--wb-len-6);\n}\n\n._actions_lox98_42 {\n display: flex;\n justify-content: flex-end;\n}\n\n._commandLabel_lox98_47 {\n display: block;\n margin-top: var(--wb-len-4);\n}\n\n._command_lox98_47 {\n display: block;\n margin-top: var(--wb-len-4);\n padding: var(--wb-len-6) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-1);\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxs-12-font-size);\n overflow-wrap: anywhere;\n}\n._body_zi2j5_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._lead_zi2j5_7 {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n\n._title_zi2j5_14 {\n font-size: var(--wb-font-18);\n line-height: var(--wb-line-24);\n}\n._hint_zyzt3_1[hidden],\n._actions_zyzt3_2[hidden],\n._progress_zyzt3_3[hidden],\n._commandRow_zyzt3_4[hidden],\n._bridge_zyzt3_5[hidden],\n._raw_zyzt3_6[hidden] {\n display: none;\n}\n\n._gate_zyzt3_10 {\n position: fixed;\n inset: 0;\n z-index: var(--wb-z-top);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--wb-len-24);\n background: var(--dsw-alias-bg-base);\n}\n\n._card_zyzt3_21 {\n width: 100%;\n max-width: var(--wb-len-420);\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-16);\n text-align: center;\n}\n\n._card_zyzt3_21:has(._actions_zyzt3_2:not([hidden])),\n._card_zyzt3_21:has(._bridge_zyzt3_5:not([hidden])) {\n max-width: var(--wb-len-520);\n}\n\n._title_zyzt3_36 {\n margin: 0;\n font-size: var(--dsw-font-base-16-font-size);\n line-height: var(--wb-line-24);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._hint_zyzt3_1 {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._steps_zyzt3_51 {\n list-style: none;\n margin: var(--wb-len-6) 0 0;\n padding: 0;\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n text-align: left;\n}\n\n._step_zyzt3_51 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-6) var(--wb-len-10);\n border-radius: var(--dsw-radius-sm);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n background: var(--dsw-alias-bg-layer-1);\n}\n\n._step_zyzt3_51[data-status='running'] {\n color: var(--dsw-alias-label-primary);\n}\n\n._mark_zyzt3_78 {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-14);\n height: var(--wb-len-14);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n font-variant-numeric: tabular-nums;\n}\n\n._step_zyzt3_51[data-status='ok'] ._mark_zyzt3_78 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._step_zyzt3_51[data-status='warn'] ._mark_zyzt3_78 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._step_zyzt3_51[data-status='failed'] ._mark_zyzt3_78 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._label_zyzt3_103 {\n flex: none;\n}\n\n._detail_zyzt3_107 {\n margin-left: auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._progress_zyzt3_3 {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wb-len-8);\n margin-top: var(--wb-len-4);\n max-width: 100%;\n}\n\n._elapsed_zyzt3_125 {\n flex: none;\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 font-variant-numeric: tabular-nums;\n}\n\n._error_zyzt3_133 {\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n max-height: var(--wb-len-120);\n overflow: auto;\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-1);\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n white-space: pre-wrap;\n word-break: break-all;\n text-align: left;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._commandRow_zyzt3_4 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-4);\n margin: 0 0 var(--wb-len-8);\n padding-right: var(--wb-len-4);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n._copy_zyzt3_159 {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-24);\n height: var(--wb-len-24);\n padding: 0;\n border: none;\n border-radius: var(--wb-radius-6);\n background: transparent;\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n\n._copy_zyzt3_159:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n._command_zyzt3_4 {\n flex: 1;\n min-width: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n overflow-wrap: anywhere;\n color: var(--dsw-alias-label-primary);\n}\n\n._buttons_zyzt3_192 {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wb-len-12);\n}\n\n._mockSlot_zyzt3_199 {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n justify-content: center;\n background: var(--dsw-alias-bg-base);\n}\n\n._button_zyzt3_192 {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: var(--wb-len-28);\n padding: 0 var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n font: inherit;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n cursor: pointer;\n}\n\n._button_zyzt3_192:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._button_zyzt3_192:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n._actions_zyzt3_2,\n._bridge_zyzt3_5 {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: var(--wb-len-10);\n margin-top: var(--wb-len-4);\n padding: var(--wb-len-14) var(--wb-len-16);\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--wb-radius-14);\n background: var(--dsw-alias-bg-layer-1);\n text-align: left;\n}\n\n._fixTitle_zyzt3_250 {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._actions_zyzt3_2 ._hint_zyzt3_1,\n._bridge_zyzt3_5 ._hint_zyzt3_1 {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-19);\n color: var(--dsw-alias-label-secondary);\n}\n\n._actions_zyzt3_2 ._commandRow_zyzt3_4,\n._bridge_zyzt3_5 ._commandRow_zyzt3_4 {\n margin: 0;\n}\n\n._actions_zyzt3_2 ._buttons_zyzt3_192,\n._bridge_zyzt3_5 ._buttons_zyzt3_192 {\n justify-content: flex-start;\n}\n\n._raw_zyzt3_6 {\n box-sizing: border-box;\n width: 100%;\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n text-align: left;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._rawSummary_zyzt3_286 {\n cursor: pointer;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._actions_zyzt3_2 ._error_zyzt3_133,\n._bridge_zyzt3_5 ._error_zyzt3_133 {\n margin-top: var(--wb-len-6);\n}\n\n._bridgeLines_zyzt3_296 {\n margin: 0;\n padding-left: var(--wb-len-18);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-19);\n color: var(--dsw-alias-label-secondary);\n}\n\n._bridgeLine_zyzt3_296 a {\n display: block;\n margin-top: var(--wb-len-4);\n width: fit-content;\n}\n\n._link_zyzt3_313 {\n color: var(--dsw-alias-label-primary);\n text-decoration: none;\n}\n\n._link_zyzt3_313::after {\n content: '↗';\n margin-left: var(--wb-len-2);\n}\n\n._link_zyzt3_313:hover {\n text-decoration: underline;\n}\n\n._loading_zyzt3_327 {\n flex: none;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._loading_zyzt3_327[hidden] {\n display: none;\n}\n\n._loadingMotion_zyzt3_336 {\n transform-origin: center;\n animation: _wb-spin_zyzt3_1 var(--wb-dur-1-5) linear infinite;\n}\n\n._loadingTrack_zyzt3_341,\n._loadingArc_zyzt3_342 {\n fill: none;\n stroke: currentColor;\n stroke-width: 2;\n stroke-linecap: round;\n}\n\n._loadingTrack_zyzt3_341 {\n opacity: 0.25;\n}\n\n._loadingArc_zyzt3_342 {\n stroke-dasharray: 12 150;\n animation: _wb-dash_zyzt3_1 var(--wb-dur-1-5) ease-in-out infinite;\n}\n\n@keyframes _wb-spin_zyzt3_1 {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes _wb-dash_zyzt3_1 {\n 0% {\n stroke-dasharray: 12 150;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 24 150;\n stroke-dashoffset: -6;\n }\n to {\n stroke-dasharray: 12 150;\n stroke-dashoffset: 0;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._loadingMotion_zyzt3_336,\n ._loadingArc_zyzt3_342 {\n animation: none;\n }\n}\n._changelog_1q6pj_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n margin-top: var(--wb-len-10);\n min-width: 0;\n}\n\n._changelogTitle_1q6pj_9 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._changelogMissing_1q6pj_15 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-primary);\n}\n\n._changelogBody_1q6pj_21 {\n max-height: var(--wb-len-320);\n overflow: auto;\n padding: var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n}\n._group_1hxis_1 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-2);\n}\n\n._button_1hxis_7 {\n flex: none;\n width: var(--wb-len-28);\n height: var(--wb-len-28);\n padding: 0;\n color: var(--dsw-alias-label-secondary);\n}\n\n._button_1hxis_7:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n._active_1hxis_19 {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._icon_1hxis_23 {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n._icon_1hxis_23 svg {\n display: block;\n width: var(--wb-len-15);\n height: var(--wb-len-15);\n}\n\n._mirror_1hxis_35 {\n transform: scaleX(-1);\n}\n._stripTabs_1dqp4_1 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-4);\n min-width: 0;\n overflow: hidden;\n}\n\n._tab_1dqp4_9 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n flex: none;\n height: var(--wb-len-28);\n padding: 0 var(--wb-len-10);\n border: 0;\n border-radius: var(--dsw-radius-sm);\n background: none;\n font: inherit;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-16);\n max-width: 100%;\n}\n\n._tabActive_1dqp4_25 {\n color: var(--dsw-alias-label-primary);\n}\n\n._tabQuiet_1dqp4_29 {\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n\n._tabQuiet_1dqp4_29:hover {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._tabTitle_1dqp4_39 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._sep_1dqp4_49 {\n flex: none;\n color: var(--dsw-alias-label-dimmed);\n}\n._trigger_15ptp_1 {\n display: flex;\n align-items: center;\n}\n\n._pop_15ptp_6 {\n position: absolute;\n top: calc(var(--wb-len-38) + var(--wb-len-8));\n right: var(--wb-len-6);\n z-index: var(--wb-z-30);\n width: min(var(--wb-len-360), calc(100% - var(--wb-len-12)));\n max-width: calc(100vw - var(--wb-len-48));\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--wb-radius-14);\n background: var(--dsw-alias-bg-layer-2);\n box-shadow: var(--dsw-shadow-lv3);\n overflow: hidden;\n}\n\n._head_15ptp_20 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-10) var(--wb-len-12) var(--wb-len-9) var(--wb-len-14);\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._title_15ptp_28 {\n flex: 1;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._rowControls_15ptp_36 {\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._reset_15ptp_43 {\n flex: none;\n padding: var(--wb-len-3) var(--wb-len-8);\n border: none;\n border-radius: var(--wb-radius-6);\n background: transparent;\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 cursor: pointer;\n}\n\n._reset_15ptp_43:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n._reset_15ptp_43:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n._list_15ptp_65 {\n list-style: none;\n margin: 0;\n padding: var(--wb-len-6);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n._row_15ptp_36 {\n position: relative;\n display: grid;\n grid-template-columns: 12px minmax(0, 1fr) auto;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-7) var(--wb-len-8);\n border-radius: var(--dsw-radius-sm);\n cursor: default;\n}\n\n._rowDragging_15ptp_85 {\n cursor: grabbing;\n}\n\n._rowBlocked_15ptp_89 {\n cursor: not-allowed;\n}\n\n._listDragging_15ptp_93 ._rowControls_15ptp_36 {\n pointer-events: none;\n}\n\n._row_15ptp_36:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._rowOff_15ptp_101 {\n opacity: 0.55;\n}\n\n._rowOff_15ptp_101:hover {\n opacity: 1;\n}\n\n._rowOver_15ptp_109::before {\n content: '';\n position: absolute;\n top: var(--wb-len-neg-3);\n left: var(--wb-len-8);\n right: var(--wb-len-8);\n height: var(--wb-len-2);\n background: var(--dsw-alias-brand-primary);\n}\n\n._ghost_15ptp_119 {\n position: fixed;\n z-index: var(--wb-z-40);\n pointer-events: none;\n padding: var(--wb-len-4) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-1);\n box-shadow: var(--wb-static-shadow-ghost);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n white-space: nowrap;\n}\n\n._grip_15ptp_134 {\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n text-align: center;\n color: var(--dsw-alias-label-tertiary);\n user-select: none;\n cursor: grab;\n touch-action: none;\n}\n\n._gripDragging_15ptp_144 {\n cursor: grabbing;\n}\n\n._gripBlocked_15ptp_148 {\n cursor: not-allowed;\n}\n\n._label_15ptp_152 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._name_15ptp_159 {\n min-width: 0;\n flex: 0 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n}\n\n._error_15ptp_170 {\n margin: 0;\n padding: 0 var(--wb-len-14) var(--wb-len-10);\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}\n\n._dep_15ptp_178 {\n flex: none;\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 white-space: nowrap;\n}\n\n._group_15ptp_186 {\n padding-top: var(--wb-len-6);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._groupTitle_15ptp_191 {\n margin: 0;\n padding: var(--wb-len-2) var(--wb-len-8) 0 var(--wb-len-14);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n font-weight: 400;\n color: var(--dsw-alias-label-tertiary);\n}\n._panel_1whum_1 {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: var(--wb-z-10);\n visibility: hidden;\n}\n\n._panel_1whum_1[data-fullscreen] {\n z-index: var(--wb-z-40);\n}\n\n._panel_1whum_1[data-open] {\n visibility: visible;\n}\n\n._columns_1whum_18 {\n display: block;\n column-gap: var(--wb-len-12);\n}\n\n._cell_1whum_23 {\n display: flow-root;\n min-width: 0;\n break-inside: avoid;\n margin-bottom: var(--wb-len-12);\n}\n._root_1cmz0_1 {\n position: relative;\n flex: none;\n margin: 0 var(--wb-len-2) var(--wb-len-4);\n}\n\n._rail_1cmz0_7 {\n margin: 0 0 var(--wb-len-4);\n}\n\n._glyphBox_1cmz0_11 {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n}\n\n._glyph_1cmz0_11 {\n position: relative;\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}\n\n._glyphActive_1cmz0_30 {\n color: var(--dsw-alias-state-business-primary);\n}\n\n._triggerName_1cmz0_34 {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-6);\n font-size: var(--wb-font-row);\n line-height: var(--wb-line-20);\n overflow: hidden;\n}\n\n._dir_1cmz0_45 {\n flex: 0 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._name_1cmz0_53 {\n flex: 0 1 auto;\n max-width: 50%;\n font-size: var(--dsw-font-xxs-12-font-size);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._triggerName_1cmz0_34 ._name_1cmz0_53 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n._row_1cmz0_66 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n width: 100%;\n min-width: 0;\n}\n\n._trailing_1cmz0_74 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-20);\n height: var(--wb-len-20);\n margin-inline-start: auto;\n}\n\n._trailing_1cmz0_74 ._rowAction_1cmz0_84 {\n width: var(--wb-len-20);\n min-width: var(--wb-len-20);\n height: var(--wb-len-20);\n min-height: var(--wb-len-20);\n padding: 0;\n border-radius: var(--dsw-radius-sm);\n}\n\n._row_1cmz0_66 ._name_1cmz0_53 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n._current_1cmz0_97 {\n flex: none;\n display: inline-flex;\n align-items: center;\n color: var(--dsw-alias-label-primary);\n}\n._dot_sosf1_1 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n._overlay_sosf1_8 {\n position: absolute;\n inset-block-start: var(--wb-len-neg-3);\n inset-inline-end: var(--wb-len-neg-3);\n}\n._tag_g9dg8_1 {\n flex: none;\n margin-inline-start: auto;\n}\n._dialog_1vye5_1 {\n width: min(var(--wb-len-420), 100%);\n}\n\n._stack_1vye5_5 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._input_1vye5_12 {\n width: 100%;\n height: var(--wb-len-40);\n padding: 0 var(--wb-len-12);\n}\n\n._meta_1vye5_18 {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n._dot_14w1n_1 {\n display: inline-flex;\n align-items: center;\n}\n\n._hover_14w1n_6 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n._blocker_1oaj0_1 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-6);\n padding: var(--wb-len-20) var(--wb-len-16);\n text-align: center;\n}\n\n._icon_1oaj0_10 {\n display: flex;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._title_1oaj0_15 {\n margin: var(--wb-len-2) 0 0;\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-22);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._hint_1oaj0_23 {\n margin: 0;\n max-width: var(--wb-len-42em);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n text-wrap: pretty;\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 {\n align-items: flex-start;\n gap: var(--wb-len-6);\n padding: var(--wb-len-4) 0 var(--wb-len-2);\n text-align: left;\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._title_1oaj0_15 {\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._hint_1oaj0_23 {\n max-width: 100%;\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._actions_1oaj0_48 {\n margin-top: var(--wb-len-8);\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._raw_1oaj0_52 {\n margin-top: var(--wb-len-4);\n max-width: 100%;\n}\n\n._actions_1oaj0_48 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n margin-top: var(--wb-len-6);\n}\n\n._raw_1oaj0_52 {\n margin-top: var(--wb-len-10);\n width: 100%;\n max-width: var(--wb-len-360);\n text-align: left;\n}\n\n._notice_1oaj0_71 {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n align-items: start;\n column-gap: var(--wb-len-10);\n margin: 0 0 var(--wb-len-10);\n padding: var(--wb-len-10) var(--wb-len-12);\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-left: 2px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-1);\n}\n\n._notice_1oaj0_71._noticeFlat_1oaj0_84 {\n margin: 0;\n padding: 0;\n border: 0;\n background: transparent;\n}\n\n._noticeText_1oaj0_91 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-3);\n min-width: 0;\n}\n\n._noticeTitle_1oaj0_98 {\n font-size: var(--wb-font-12-5);\n line-height: var(--wb-line-18);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._noticeHint_1oaj0_105 {\n font-size: var(--wb-font-11-5);\n line-height: var(--wb-line-17);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n._noticeActions_1oaj0_112 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin-top: var(--wb-len-neg-2);\n}\n\n._failure_1oaj0_119 {\n margin: var(--wb-len-8) 0 0;\n font-size: var(--wb-font-11-5);\n line-height: var(--wb-line-17);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._failureDetail_1oaj0_127 {\n display: block;\n margin-top: var(--wb-len-2);\n color: var(--dsw-alias-label-tertiary);\n white-space: pre-wrap;\n}\n\n._inlineAction_1oaj0_134 {\n padding: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n}\n\n._inlineAction_1oaj0_134:disabled {\n opacity: 0.6;\n cursor: default;\n}\n\n._rawText_1oaj0_146 {\n margin: var(--wb-len-6) 0 0;\n max-width: 100%;\n}\n/*$vite$:1*/";
|
|
15459
|
+
var COMPONENT_CSS_MARKER = ".wb-activityBlock {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n padding-top: var(--wb-len-10);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n.wb-activityBlock:first-child {\n padding-top: 0;\n border-top: none;\n}\n\n.wb-activityBlockHead {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--wb-len-8);\n}\n\n.wb-activityLine {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-activityLineText {\n flex: none;\n min-width: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n overflow-wrap: anywhere;\n white-space: pre-wrap;\n max-height: var(--wb-len-72);\n overflow-y: auto;\n}\n\n.wb-activityLineAt {\n flex: none;\n margin-left: auto;\n font-size: var(--wb-font-10);\n line-height: var(--wb-line-16);\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-activityLine > .wb-activityLineAt,\n.wb-activityLine > .wb-activityLineActions {\n margin-left: auto;\n}\n\n.wb-activityLine > .wb-activityLineAt + .wb-activityLineActions {\n margin-left: 0;\n}\n\n.wb-activityLineActions {\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n}\n\n.wb-activityActionFailed {\n color: var(--dsw-alias-state-error-primary);\n}\n.wb-note {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n.wb-problem {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n.wb-approvalCommand {\n max-width: 100%;\n}\n.wb-approvalPlan {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n.wb-approvalHint {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n.wb-approvalRows {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n margin: 0;\n}\n.wb-approvalRow {\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-8);\n}\n.wb-approvalLabel {\n flex: none;\n width: var(--wb-len-56);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n.wb-approvalValue {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n overflow-wrap: anywhere;\n}\n.wb-approvalWarn {\n color: var(--dsw-alias-label-secondary);\n}\n.wb-cardHead {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n flex: none;\n padding: var(--wb-len-8) var(--wb-len-10) var(--wb-len-8) var(--wb-card-gutter);\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n.wb-cardTitle {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n font-weight: 600;\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-cardMeta {\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 min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.wb-cardMeta::before {\n content: '\\00b7';\n margin-right: var(--wb-len-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardOpen {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n margin-left: auto;\n flex: none;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: var(--wb-len-4);\n border-radius: var(--wb-radius-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardOpen ~ .wb-cardRefresh {\n margin-left: 0;\n}\n\n.wb-cardOpen:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-cardRefresh {\n margin-left: auto;\n flex: none;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: var(--wb-len-4);\n border-radius: var(--wb-radius-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardRefresh:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-cardRefresh:disabled {\n cursor: default;\n opacity: 1;\n}\n\n.wb-cardGear {\n flex: none;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: var(--wb-len-3);\n border-radius: var(--wb-radius-6);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-cardGear:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n.wb-card {\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-xl);\n background: var(--dsw-alias-bg-layer-1);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n flex: none;\n}\n.wb-cardBody {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n padding: var(--wb-len-12) var(--wb-card-gutter);\n font-size: var(--dsw-font-xxs-12-font-size);\n}\n.wb-cardBleed {\n margin-inline: calc(-1 * var(--wb-card-gutter));\n}\n._anchor_yq4s2_1 {\n display: contents;\n}\n.wb-spinner {\n display: inline-flex;\n align-items: center;\n flex: none;\n}\n.wb-choiceMenu {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n background: transparent;\n}\n\n.wb-choiceMenu[data-variant='boxed'] {\n padding: var(--wb-len-4);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-md);\n}\n\n.wb-choiceOption {\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n cursor: pointer;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-choiceOptionOn {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.wb-checkbox {\n position: absolute;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n margin: 0;\n opacity: 0;\n pointer-events: none;\n}\n\n.wb-checkboxBox {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n flex: none;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n border: 1px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-xs);\n corner-shape: round;\n color: var(--dsw-alias-label-primary-foreground);\n transition:\n background-color var(--wb-dur-0-12) ease, border-color var(--wb-dur-0-12) ease;\n}\n\n.wb-choiceOption:hover .wb-checkboxBox {\n border-color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-checkbox:checked + .wb-checkboxBox {\n border-color: var(--dsw-alias-brand-primary);\n background: var(--dsw-alias-brand-primary);\n}\n\n.wb-checkbox:disabled + .wb-checkboxBox {\n cursor: default;\n}\n\n.wb-checkbox:focus-visible + .wb-checkboxBox {\n outline: var(--dsw-focus-ring-width, var(--wb-len-2)) solid\n var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n\n.wb-choiceOption:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.wb-choiceOption:has(:disabled) {\n cursor: default;\n opacity: 0.5;\n}\n\n.wb-choiceOption:has(:disabled),\n.wb-choiceOption:has(:disabled):hover {\n background: transparent;\n}\n\n.wb-choiceLabel {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.wb-choiceLabelText {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.wb-choiceLabel:has(.wb-choiceDescription) .wb-choiceLabelText {\n overflow: visible;\n white-space: normal;\n overflow-wrap: anywhere;\n}\n\n.wb-choiceDescription {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n.wb-choiceLoading {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-8);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-choiceLoadingText {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.wb-choiceEmpty {\n display: flex;\n align-items: center;\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-8);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-radio {\n appearance: none;\n -webkit-appearance: none;\n flex: none;\n box-sizing: border-box;\n width: var(--wb-len-12);\n height: var(--wb-len-12);\n margin: 0;\n border: 1px solid var(--dsw-alias-border-l3);\n border-radius: 50%;\n corner-shape: round;\n background-color: transparent;\n cursor: pointer;\n transition:\n background-color var(--wb-dur-0-12) ease, border-color var(--wb-dur-0-12) ease;\n}\n\n.wb-radio:not(:checked):hover {\n border-color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-radio:checked {\n border-color: var(--dsw-alias-brand-primary);\n background-image: radial-gradient(\n circle at center,\n var(--dsw-alias-brand-primary) 0 3px,\n transparent 3px\n );\n}\n\n.wb-radio:disabled {\n cursor: default;\n}\n\n.wb-radio:focus-visible {\n outline: var(--dsw-focus-ring-width, var(--wb-len-2)) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n.wb-formActions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n gap: var(--wb-len-8);\n}\n\n.wb-formActionDanger {\n color: var(--dsw-alias-state-error-primary);\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 30%, transparent);\n --dsw-alias-interactive-bg-hover: color-mix(in srgb, var(--dsw-alias-state-error-primary) 8%, transparent);\n}\n.wb-rows {\n display: grid;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n column-gap: var(--wb-len-8);\n}\n.wb-rows > :not(.wb-row) {\n grid-column: 1 / -1;\n}\n.wb-row {\n display: grid;\n grid-column: 1 / -1;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n align-items: baseline;\n gap: var(--wb-len-8);\n padding: var(--wb-len-4) 0;\n}\n.wb-row + .wb-row {\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n.wb-rowKey {\n white-space: nowrap;\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}\n.wb-rowValue {\n min-width: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n overflow-wrap: anywhere;\n}\n\n.wb-rows > .wb-row {\n grid-template-columns: subgrid;\n}\n\n@supports not (grid-template-columns: subgrid) {\n .wb-rows > .wb-row {\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n }\n}\n.wb-confirmBar {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n width: 100%;\n box-sizing: border-box;\n padding: var(--wb-len-10) var(--wb-len-12);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-1);\n}\n.wb-confirmBarTitle {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n font-weight: 600;\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n overflow-wrap: anywhere;\n}\n.wb-confirmBarHint {\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n.wb-field {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xs-13-font-size);\n}\n\n.wb-fieldLabel {\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-fieldHint {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-field:has(:disabled) .wb-fieldLabel {\n opacity: 0.4;\n}\n.wb-formRows {\n display: grid;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n column-gap: var(--wb-len-8);\n row-gap: var(--wb-len-12);\n}\n\n.wb-formRows > :not(.wb-formRow) {\n grid-column: 1 / -1;\n}\n\n.wb-formRow {\n display: grid;\n grid-column: 1 / -1;\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n align-items: center;\n column-gap: var(--wb-len-8);\n row-gap: var(--wb-len-8);\n}\n\n.wb-formRow[data-layout='stacked'] {\n grid-template-columns: minmax(0, 1fr);\n align-items: stretch;\n gap: var(--wb-len-6);\n}\n\n.wb-formRows > .wb-formRow[data-layout='stacked'] {\n grid-template-columns: minmax(0, 1fr);\n}\n\n.wb-formLabel {\n justify-self: start;\n min-width: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n white-space: nowrap;\n}\n\n.wb-formRow[data-layout='stacked'] .wb-formLabel {\n white-space: normal;\n}\n\n.wb-formRow[data-layout='stacked'] .wb-formHint,\n.wb-formRow[data-layout='stacked'] .wb-formProblem {\n grid-column: 1 / -1;\n}\n\n.wb-formControl {\n display: flex;\n align-items: center;\n min-width: 0;\n}\n\n.wb-formControl\n > :where(\n .wb-selectAnchor,\n .wb-choiceMenu,\n input:not(\n [type='checkbox'],\n [type='radio'],\n [type='button'],\n [type='submit'],\n [type='reset'],\n [type='image'],\n [type='color'],\n [type='range']\n ),\n select,\n textarea\n ) {\n box-sizing: border-box;\n width: 100%;\n min-width: 0;\n}\n\n.wb-formHint {\n grid-column: 2;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-formProblem {\n grid-column: 2;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-formRow:has(.wb-formProblem) .wb-formLabel {\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-formRow:has(:disabled) .wb-formLabel {\n opacity: 0.4;\n}\n\n.wb-formRows > .wb-formRow {\n grid-template-columns: subgrid;\n}\n\n@supports not (grid-template-columns: subgrid) {\n .wb-formRows > .wb-formRow {\n grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);\n }\n}\n.wb-form {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n width: 100%;\n}\n:where(.wb-link) {\n margin-left: var(--wb-len-2);\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-2);\n font: inherit;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n text-decoration: none;\n white-space: nowrap;\n vertical-align: baseline;\n}\n\n:where(.wb-link:hover) {\n text-decoration: underline;\n}\n\n:where(.wb-link:focus-visible) {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}\n.wb-longTask {\n padding-top: var(--wb-len-12);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n.wb-longTaskHead {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: 0;\n}\n\n.wb-longTaskLink {\n flex: none;\n}\n\n.wb-longTaskHeadline {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n color: var(--dsw-alias-label-secondary);\n}\n\n.wb-longTaskProblem {\n margin: 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 overflow-wrap: anywhere;\n}\n\n.wb-longTaskDump {\n margin: var(--wb-len-2) 0 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-longTaskDump pre {\n margin: var(--wb-len-4) 0 0;\n max-height: var(--wb-len-220);\n overflow: auto;\n}\n\n.wb-longTaskStop {\n display: inline-flex;\n flex: none;\n align-items: center;\n align-self: center;\n justify-content: center;\n width: var(--wb-len-20);\n height: var(--wb-len-20);\n padding: 0;\n margin-left: auto;\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-specific-menu);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n\n.wb-longTaskStop:hover:not(:disabled),\n.wb-longTaskStop:focus-visible {\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, transparent);\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-longTaskStop:disabled {\n cursor: default;\n}\n\n.wb-longTaskStopArmed,\n.wb-longTaskStopArmed:hover:not(:disabled),\n.wb-longTaskStopArmed:focus-visible {\n gap: var(--wb-len-4);\n width: auto;\n padding: 0 var(--wb-len-7);\n border-color: color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, transparent);\n background: color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent);\n color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-longTaskStopLabel {\n white-space: nowrap;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-18);\n}\n\n.wb-longTaskStopWhy {\n margin: 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 overflow-wrap: anywhere;\n}\n.wb-centered.wb-centeredCompact {\n flex: none;\n min-height: 0;\n gap: var(--wb-len-8);\n padding: var(--wb-len-20) var(--wb-len-16);\n}\n\n.wb-centered.wb-centeredCompact .wb-centeredHero {\n margin-bottom: var(--wb-len-4);\n}\n\n.wb-skeleton {\n display: flex;\n flex-direction: column;\n}\n\n.wb-skeletonRow {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n padding: var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n}\n\n.wb-skeletonRow + .wb-skeletonRow::before {\n content: '';\n align-self: stretch;\n height: var(--wb-len-0-5);\n margin: 0 var(--wb-len-8) var(--wb-len-neg-0-5);\n background: var(--dsw-alias-border-l2);\n}\n\n.wb-skeletonBar {\n display: block;\n height: var(--wb-len-13);\n border-radius: var(--dsw-radius-xs);\n background: var(--dsw-alias-bg-skeleton);\n animation: wb-skeleton-pulse var(--wb-dur-1-4) var(--ds-ease-in-out) infinite;\n}\n\n.wb-skeletonBarTitle {\n width: 62%;\n}\n\n.wb-skeletonBarMeta {\n width: 32%;\n height: var(--wb-len-10);\n}\n\n.wb-skeletonRow:nth-child(2n) .wb-skeletonBarTitle {\n width: 74%;\n}\n\n.wb-skeletonRow:nth-child(3n) .wb-skeletonBarTitle {\n width: 52%;\n}\n\n@keyframes wb-skeleton-pulse {\n 50% {\n opacity: 0.45;\n }\n}\n\n.wb-centered {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: var(--wb-len-14);\n flex: 1;\n min-height: var(--wb-len-240);\n padding: 0 var(--wb-len-24) var(--wb-len-24);\n text-align: center;\n}\n\n.wb-centeredHero {\n display: flex;\n margin-bottom: var(--wb-len-16);\n color: var(--dsw-alias-label-dimmed);\n}\n\n.wb-centeredTitle {\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-22);\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-centeredHint {\n max-width: var(--wb-len-300);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-centeredDetail {\n max-width: var(--wb-len-320);\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-dimmed);\n word-break: break-all;\n}\n\n.wb-centeredAction {\n display: flex;\n justify-content: center;\n gap: var(--wb-len-8);\n margin-top: var(--wb-len-2);\n}\n@media (prefers-reduced-motion: reduce) {\n .wb-skeletonBar {\n animation: none;\n }}\n.wb-textField {\n box-sizing: border-box;\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-3);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-primary);\n outline: none;\n}\n\n.wb-textField:focus {\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-business-primary);\n}\n\n.wb-textField:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n.wb-textField[aria-invalid='true'] {\n border-color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-textField[aria-invalid='true']:focus {\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-error-primary);\n}\n\n:where(.wb-textField) {\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-10);\n}\n:where(.wb-selectTrigger) {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n width: 100%;\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-3);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-primary);\n text-align: left;\n cursor: pointer;\n}\n\n.wb-selectTrigger:focus-visible {\n outline: none;\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-business-primary);\n}\n\n.wb-selectTrigger[aria-invalid='true'] {\n border-color: var(--dsw-alias-state-error-primary);\n}\n\n.wb-selectTrigger[aria-invalid='true']:focus-visible {\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-error-primary);\n}\n\n.wb-selectTrigger:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n.wb-selectLoading:disabled {\n cursor: default;\n opacity: 1;\n}\n\n.wb-selectGhost {\n gap: var(--wb-gap-xs);\n min-height: 0;\n height: var(--wb-len-34);\n padding: 0 var(--wb-len-8);\n border: none;\n background: transparent;\n font-size: var(--wb-font-row);\n}\n\n.wb-selectGhost:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.wb-selectGhost: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 border-color: transparent;\n box-shadow: none;\n}\n\n.wb-selectIconOnly {\n width: var(--wb-len-36);\n height: var(--wb-len-36);\n min-height: 0;\n gap: 0;\n padding: 0;\n justify-content: center;\n}\n\n.wb-selectReveal {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n.wb-selectIconOnly .wb-selectIcon {\n width: 100%;\n height: 100%;\n}\n\n.wb-selectAnchor {\n display: block;\n width: 100%;\n}\n\n.wb-selectIcon {\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}\n\n.wb-selectValue {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-6);\n line-height: var(--wb-line-20);\n overflow: hidden;\n}\n\n.wb-selectPlaceholder {\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-selectChevron {\n flex: none;\n display: inline-flex;\n color: var(--dsw-alias-label-caption);\n}\n\n.wb-selectMenu {\n min-width: var(--wb-len-240);\n max-width: var(--wb-len-360);\n max-height: min(var(--wb-len-320), calc(100vh - var(--wb-len-24)));\n}\n\n:where(.wb-selectSearch) {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n width: 100%;\n min-height: var(--wb-len-28);\n padding: var(--wb-len-4) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-3);\n}\n\n.wb-selectSearch:focus-within {\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: inset 0 0 0 0.5px var(--dsw-alias-state-business-primary);\n}\n\n.wb-selectSearch.wb-selectGhost {\n gap: var(--wb-gap-xs);\n min-height: 0;\n height: var(--wb-len-34);\n padding: 0 var(--wb-len-8);\n border: 0.5px solid var(--dsw-alias-border-l3);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n.wb-selectSearch.wb-selectGhost:focus-within {\n border-color: var(--dsw-alias-state-business-primary);\n box-shadow: none;\n}\n\n.wb-selectSearchIcon {\n flex: none;\n display: inline-flex;\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-textField.wb-selectSearchInput {\n flex: 1;\n min-width: 0;\n min-height: 0;\n padding: 0;\n border: none;\n background: transparent;\n}\n\n.wb-textField.wb-selectSearchInput:focus {\n box-shadow: none;\n}\n\n.wb-selectFallback {\n width: 100%;\n}\n\n.wb-selectHint {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\nsection.wb-settings {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n padding: var(--wb-len-12) var(--wb-len-16);\n border: 0;\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-settings-card-fill);\n}\n.wb-settingsHead {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n.wb-settings .wb-settingsTitle {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--dsw-font-s-strong-14-font-size);\n line-height: var(--wb-line-24);\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n}\n.wb-stack {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-10);\n min-height: 0;\n}\n.wb-stateBlock {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n.wb-stateBlockTitle {\n margin: 0;\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n}\n.wb-stateBlockHint {\n margin: 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}\n.wb-stateBlockActions {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin-top: var(--wb-len-2);\n}\n.wb-stateBlockResolving {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n._marketList_jfyof_1 {\n list-style: none;\n margin: 0;\n padding: var(--wb-len-6);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n._marketRow_jfyof_10 {\n display: grid;\n grid-template-columns: auto minmax(0, 1fr) auto;\n align-items: center;\n column-gap: var(--wb-len-14);\n row-gap: var(--wb-len-4);\n padding: var(--wb-len-8);\n border-radius: var(--dsw-radius-lg);\n}\n\n._marketIcon_jfyof_20 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-48);\n height: var(--wb-len-48);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketMain_jfyof_32 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._marketName_jfyof_39 {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._marketStatus_jfyof_48 {\n display: inline-flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketStateText_jfyof_58 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSep_jfyof_62 {\n color: var(--dsw-alias-label-caption);\n}\n\n._marketReason_jfyof_66 {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._marketName_jfyof_39 ._marketVersion_jfyof_72 {\n margin-left: var(--wb-len-6);\n font-size: var(--dsw-font-xxs-12-font-size);\n font-weight: 400;\n line-height: var(--wb-line-18);\n}\n\n._marketVersion_jfyof_72 {\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketVersion_jfyof_72::before {\n content: '';\n display: inline-block;\n width: var(--wb-len-1);\n height: var(--wb-len-10);\n margin: 0 var(--wb-len-8) 0 var(--wb-len-2);\n vertical-align: -1px;\n background: var(--dsw-alias-border-l2);\n}\n\n._marketLocalTag_jfyof_94 {\n margin-left: var(--wb-len-8);\n padding: 0 var(--wb-len-6);\n border: var(--wb-len-1) solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n font-size: var(--dsw-font-xxs-12-font-size);\n font-weight: 400;\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-caption);\n}\n\n._marketEnd_jfyof_105 {\n flex: none;\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_jfyof_112 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_jfyof_112::before {\n content: '';\n width: 0;\n height: var(--wb-len-14);\n border-left: 0.5px solid var(--dsw-alias-border-l3);\n}\n\n._marketActions_jfyof_125 {\n flex: none;\n display: flex;\n gap: var(--wb-len-6);\n}\n\n._marketUpdateAction_jfyof_131 {\n color: var(--dsw-alias-state-warn-primary);\n border-color: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 30%, transparent);\n --dsw-alias-interactive-bg-hover: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 8%, transparent);\n}\n\n._marketSelfDivider_jfyof_137 {\n height: 0;\n margin-top: calc(0px - var(--wb-len-16));\n border-top: 0.5px solid var(--dsw-alias-border-l3);\n}\n\n._marketSection_jfyof_143 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._marketSectionHead_jfyof_150 {\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-8);\n}\n\n._marketSectionIcon_jfyof_156 {\n display: inline-flex;\n align-items: center;\n align-self: center;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketSectionTitle_jfyof_163 {\n margin: 0;\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._marketSectionCount_jfyof_169 {\n font: var(--dsw-font-s-14);\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketSectionQuiet_jfyof_175 ._marketSectionTitle_jfyof_163 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSectionQuiet_jfyof_175 ._marketName_jfyof_39 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSectionQuiet_jfyof_175 ._marketIcon_jfyof_20 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n\n._marketProgress_jfyof_188 {\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-8);\n min-height: var(--wb-len-32);\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketNote_jfyof_198 {\n grid-column: 2 / -1;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-state-warn-primary);\n overflow-wrap: anywhere;\n}\n\n._marketFailure_jfyof_205 {\n grid-column: 2 / -1;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._marketEmpty_jfyof_212 {\n padding: var(--wb-len-18) var(--wb-len-16);\n text-align: center;\n}\n\n._marketPage_jfyof_217 {\n box-sizing: border-box;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-32);\n padding: 0 clamp(var(--wb-len-24), 4vw, var(--wb-len-48)) var(--wb-len-48);\n overflow-x: hidden;\n overflow-y: auto;\n color: var(--dsw-alias-label-primary);\n}\n\n._marketPage_jfyof_217 > * {\n width: 100%;\n max-width: var(--wb-len-960);\n}\n\n._marketPageHead_jfyof_235 {\n box-sizing: border-box;\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-16);\n padding-top: var(--wb-len-28);\n}\n\n._marketPageTitle_jfyof_243 {\n margin: 0;\n font: var(--dsw-font-l-20);\n}\n\n._marketPageIntro_jfyof_248 {\n margin: var(--wb-len-4) 0 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketPageTools_jfyof_254 {\n flex: none;\n align-self: center;\n margin-left: auto;\n display: flex;\n align-items: center;\n gap: var(--wb-len-16);\n}\n\n._marketPanel_jfyof_263 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-32);\n}\n\n._marketPanel_jfyof_263[hidden] {\n display: none;\n}\n\n._marketTabs_jfyof_273 {\n display: flex;\n margin: calc(0px - var(--wb-len-16)) 0;\n}\n\n._marketTabList_jfyof_278 {\n width: fit-content;\n min-width: var(--wb-len-240);\n}\n\n._marketIconButton_jfyof_283 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-28);\n height: var(--wb-len-28);\n padding: 0;\n border: 0;\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n color: var(--dsw-alias-label-caption);\n cursor: pointer;\n}\n\n._marketIconButton_jfyof_283:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketIconButton_jfyof_283:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n._marketIconWrap_jfyof_308 {\n display: inline-flex;\n}\n\n._marketIconButtonSpinning_jfyof_312 svg {\n animation: _wb-spin_jfyof_1 var(--wb-dur-0-9) linear infinite;\n}\n\n._marketAddButton_jfyof_316 {\n height: var(--wb-len-32);\n padding: 0 var(--wb-len-12);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n border-radius: var(--dsw-radius-md);\n}\n\n._marketEmpty_jfyof_212 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-64) var(--wb-len-16);\n text-align: center;\n}\n\n._marketEmptyTitle_jfyof_333 {\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n@keyframes _wb-spin_jfyof_1 {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n._discoverPage_jfyof_347 {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n}\n\n._discoverBar_jfyof_354 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n container-type: inline-size;\n}\n\n._discoverTools_jfyof_361 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverMarket_jfyof_367 {\n flex: 0 1 auto;\n min-width: 0;\n}\n\n._discoverMarketButton_jfyof_372 {\n min-width: 0;\n max-width: var(--wb-len-240);\n margin-left: calc(0px - var(--wb-len-8));\n font-weight: 500;\n}\n\n._discoverMarketName_jfyof_379 {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._discoverLabels_jfyof_385 {\n flex: none;\n white-space: nowrap;\n}\n\n._discoverSort_jfyof_390 {\n flex: none;\n white-space: nowrap;\n}\n\n._discoverRefresh_jfyof_395 {\n flex: none;\n}\n\n._discoverSearch_jfyof_399 {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex: 1 1 var(--wb-len-120);\n min-width: var(--wb-len-120);\n}\n\n._discoverSearchField_jfyof_407 {\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._discoverSearchFieldFilled_jfyof_412 input {\n padding-inline-end: var(--wb-len-20);\n}\n\n._discoverSearchField_jfyof_407 input::-webkit-search-cancel-button {\n appearance: none;\n -webkit-appearance: none;\n}\n\n._discoverSearch_jfyof_399 ._discoverSearchClear_jfyof_421 {\n position: absolute;\n top: 50%;\n inset-inline-end: var(--wb-len-4);\n width: var(--wb-len-24);\n height: var(--wb-len-24);\n padding: 0;\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-tertiary);\n transform: translateY(-50%);\n}\n\n._discoverSearchClear_jfyof_421:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n@container (max-width: 560px) {\n ._discoverTools_jfyof_361 {\n display: grid;\n grid-template-columns: minmax(0, auto) minmax(var(--wb-len-120), 1fr) auto;\n grid-template-areas:\n 'market search refresh'\n 'labels sort sort';\n }\n\n ._discoverMarket_jfyof_367 {\n grid-area: market;\n }\n\n ._discoverMarketButton_jfyof_372 {\n margin-left: 0;\n }\n\n ._discoverLabels_jfyof_385 {\n grid-area: labels;\n }\n\n ._discoverSearch_jfyof_399 {\n grid-area: search;\n }\n\n ._discoverSort_jfyof_390 {\n grid-area: sort;\n justify-self: end;\n }\n\n ._discoverRefresh_jfyof_395 {\n grid-area: refresh;\n }\n}\n\n._discoverChips_jfyof_472 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-6);\n}\n\n._discoverList_jfyof_479 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n._discoverCard_jfyof_488 {\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n margin: 0 calc(0px - var(--wb-len-8));\n padding: var(--wb-len-8);\n border-radius: var(--dsw-radius-xl);\n}\n\n._discoverCard_jfyof_488:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._discoverArtwork_jfyof_502 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-48);\n height: var(--wb-len-48);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverArtworkImage_jfyof_514 {\n object-fit: contain;\n}\n\n._discoverMain_jfyof_518 {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--wb-len-2);\n min-width: 0;\n}\n\n._discoverTitleRow_jfyof_526 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._discoverCardOpen_jfyof_534 {\n max-width: 100%;\n padding: 0;\n border: 0;\n background: transparent;\n color: inherit;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n text-align: left;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n cursor: pointer;\n}\n\n._discoverCardOpen_jfyof_534::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: var(--dsw-radius-xl);\n}\n\n._discoverCardOpen_jfyof_534:focus-visible {\n outline: none;\n}\n\n._discoverCardOpen_jfyof_534:focus-visible::after {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n\n._discoverStrong_jfyof_565 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n overflow-wrap: anywhere;\n}\n\n._discoverDesc_jfyof_571 {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._discoverMeta_jfyof_580 {\n margin: 0;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n._discoverMuted_jfyof_587 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._discoverEnd_jfyof_593 {\n position: relative;\n z-index: var(--wb-z-10);\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverBlocked_jfyof_602 {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n._discoverEmpty_jfyof_607 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-64) 0;\n text-align: center;\n}\n\n._discoverEmptyTitle_jfyof_616 {\n margin: var(--wb-len-8) 0 0;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverEmpty_jfyof_607 > button {\n margin-top: var(--wb-len-8);\n}\n\n._discoverDetail_jfyof_626 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n}\n\n._discoverCrumb_jfyof_632 {\n align-self: flex-start;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n padding: 0;\n border: 0;\n background: 0 0;\n color: var(--dsw-alias-label-tertiary);\n font: inherit;\n font-size: var(--wb-font-12-5);\n cursor: pointer;\n}\n\n._discoverCrumb_jfyof_632:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n._discoverCrumb_jfyof_632:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n\n._discoverCrumbIcon_jfyof_655 {\n transform: rotate(90deg);\n}\n\n._discoverDetailHead_jfyof_659 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n}\n\n._discoverDetailTitle_jfyof_665 {\n margin: 0;\n font: var(--dsw-font-l-20);\n font-weight: 500;\n}\n\n._discoverDetailText_jfyof_671 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._discoverDetailPanel_jfyof_678 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n min-width: 0;\n}\n\n._discoverDetailTabs_jfyof_685 {\n display: flex;\n margin-bottom: calc(0px - var(--wb-len-4));\n}\n\n._discoverDetailTabList_jfyof_690 {\n width: fit-content;\n min-width: var(--wb-len-240);\n}\n\n._discoverDocBody_jfyof_695 {\n min-width: 0;\n overflow-wrap: anywhere;\n}\n\n._discoverDocNotice_jfyof_700 {\n margin: var(--wb-len-16) 0 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverSection_jfyof_706 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n margin-top: var(--wb-len-16);\n}\n\n._discoverSectionTitle_jfyof_713 {\n margin: 0;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverFacts_jfyof_719 {\n margin: 0;\n padding: 0;\n}\n\n._discoverFactRow_jfyof_724 {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: var(--wb-len-16);\n min-height: var(--wb-len-44);\n padding: var(--wb-len-8) var(--wb-len-2);\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._discoverFactKind_jfyof_734 {\n flex: none;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverFactValue_jfyof_740 {\n min-width: 0;\n margin: 0;\n text-align: end;\n overflow-wrap: anywhere;\n font: var(--dsw-font-xs-13);\n}\n\n._discoverCode_jfyof_748 {\n padding: var(--wb-len-2) var(--wb-len-6);\n border-radius: var(--wb-radius-6);\n background: var(--dsw-alias-bg-module-platform);\n font-family: var(--ds-font-family-code);\n font-size: var(--dsw-font-xxs-12-font-size);\n box-decoration-break: clone;\n}\n\n._discoverTags_jfyof_757 {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n gap: var(--wb-len-6);\n}\n\n._discoverLink_jfyof_764 {\n color: var(--dsw-alias-link);\n overflow-wrap: anywhere;\n text-decoration: none;\n}\n\n._discoverLink_jfyof_764:hover {\n text-decoration: underline;\n}\n\n._discoverVersions_jfyof_774 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n}\n\n._discoverVersionRow_jfyof_782 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-8) 0;\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._discoverVersionName_jfyof_790 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverError_jfyof_795 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-state-error-primary);\n}\n\n._discoverFailure_jfyof_804 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._discoverLoading_jfyof_810 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin: 0;\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xs-13);\n}\n\n._discoverNotice_jfyof_819 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-8);\n margin: 0;\n padding: var(--wb-len-10) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-state-warn-tertiary);\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xxs-12);\n}\n\n._discoverNotice_jfyof_819 svg {\n flex: none;\n margin-top: var(--wb-len-2);\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverMore_jfyof_837 {\n align-self: center;\n}\n\n._discoverTransport_jfyof_841 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportTitle_jfyof_847 {\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverTransportRows_jfyof_852 {\n display: flex;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportRow_jfyof_852 {\n display: flex;\n flex: 1;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n cursor: pointer;\n}\n\n._discoverTransportRow_jfyof_852:hover {\n border-color: var(--dsw-alias-border-l3);\n}\n\n._discoverTransportRow_jfyof_852:has(._discoverTransportRadio_jfyof_873:checked) {\n border-color: var(--dsw-alias-label-primary);\n}\n\n._discoverTransportRow_jfyof_852:has(._discoverTransportRadio_jfyof_873:focus-visible) {\n outline: 2px solid var(--dsw-alias-label-primary);\n outline-offset: 1px;\n}\n\n._discoverTransportRadio_jfyof_873 {\n flex: none;\n margin: 0;\n}\n\n._discoverTransportKind_jfyof_887 {\n flex: none;\n font: var(--dsw-font-xs-13);\n font-weight: 500;\n}\n\n._discoverTransportState_jfyof_893 {\n flex: none;\n margin-left: auto;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverTransportRow_jfyof_852[data-state='ok'] ._discoverTransportState_jfyof_893 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._discoverTransportRow_jfyof_852[data-state='auth'] ._discoverTransportState_jfyof_893 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._discoverTransportRow_jfyof_852[data-state='unreachable'] ._discoverTransportState_jfyof_893,\n._discoverTransportRow_jfyof_852[data-state='unknown'] ._discoverTransportState_jfyof_893 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverTransportCustom_jfyof_913 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportInput_jfyof_919 {\n flex: 1;\n min-width: 0;\n}\n\n._discoverInstallBar_jfyof_924 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-module-platform);\n font: var(--dsw-font-xs-13);\n}\n\n._discoverInstallText_jfyof_935 {\n flex: 1;\n min-width: 0;\n overflow-wrap: anywhere;\n}\n\n._discoverDialog_jfyof_941 {\n width: min(var(--wb-len-560), calc(100vw - var(--wb-len-32)));\n}\n\n._discoverDialogBody_jfyof_945 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._discoverSourceList_jfyof_951 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n}\n\n._discoverSourceRow_jfyof_959 {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n gap: var(--wb-len-12);\n padding: var(--wb-len-10) 0;\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._discoverSourceConfirm_jfyof_968 {\n margin: 0;\n padding: var(--wb-len-2) 0 var(--wb-len-10);\n list-style: none;\n}\n\n._discoverSourcePick_jfyof_974 {\n display: flex;\n flex: 1;\n align-items: flex-start;\n gap: var(--wb-len-10);\n min-width: 0;\n cursor: pointer;\n}\n\n._discoverSourceRadio_jfyof_983 {\n flex: none;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n margin: var(--wb-len-2) 0 0;\n accent-color: var(--dsw-alias-brand-primary);\n}\n\n._discoverSourceMain_jfyof_991 {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._discoverSourceHead_jfyof_999 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._discoverSourceUrl_jfyof_1007 {\n display: block;\n margin: 0;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-tertiary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._discoverSourceMore_jfyof_1017 {\n flex: none;\n}\n\n._discoverSourceLoading_jfyof_1021 {\n display: flex;\n flex: none;\n align-items: center;\n gap: var(--wb-len-6);\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xxs-12);\n white-space: nowrap;\n}\n\n._discoverSourceHint_jfyof_1031 {\n display: flex;\n flex-basis: 100%;\n align-items: center;\n gap: var(--wb-len-6);\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xxs-12);\n}\n\n._discoverSourceHint_jfyof_1031 svg {\n flex: none;\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverSourceError_jfyof_1045 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._discoverSourceForm_jfyof_1051 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverGrow_jfyof_1057 {\n flex: 1;\n min-width: 0;\n}\n\n._discoverField_jfyof_1062 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n\n._discoverFieldLabel_jfyof_1068 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverConfirmHead_jfyof_1073 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n}\n\n._discoverSkeletonFill_jfyof_1079 {\n background: var(--dsw-alias-bg-skeleton);\n animation: _wb-skeleton_jfyof_1 var(--wb-dur-1-5) cubic-bezier(0.36, 0, 0.64, 1) infinite;\n}\n\n._discoverArtwork_jfyof_502._discoverSkeletonFill_jfyof_1079 {\n border-color: transparent;\n}\n\n._discoverSkeletonBar_jfyof_1088 {\n display: block;\n height: var(--wb-len-12);\n margin: var(--wb-len-4) 0;\n border-radius: var(--dsw-radius-xs);\n}\n\n._discoverSkeletonTitle_jfyof_1095 {\n width: min(var(--wb-len-144), 60%);\n}\n\n._discoverSkeletonDesc_jfyof_1099 {\n width: min(var(--wb-len-280), 85%);\n}\n\n@keyframes _wb-skeleton_jfyof_1 {\n 0% {\n opacity: 1;\n }\n 40% {\n opacity: 0.6;\n }\n 80%,\n to {\n opacity: 1;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._discoverSkeletonFill_jfyof_1079 {\n animation: none;\n }\n}\n\n._foot_1ud1j_1 {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--wb-len-8);\n padding: var(--wb-len-8) var(--wb-len-14) var(--wb-len-10);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\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}\n\n._footText_1ud1j_13 {\n flex: 1;\n min-width: 0;\n}\n\n._footTextMd_1ud1j_18 {\n flex: 1;\n min-width: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n._wide_1lv8f_1 {\n justify-content: center;\n width: 100%;\n height: var(--wb-len-40);\n border-radius: var(--dsw-radius-md);\n}\n\n._dialog_1lv8f_8 {\n width: min(var(--wb-len-560), 100%);\n max-height: min(var(--wb-len-800), 100%);\n}\n\n._content_1lv8f_13 {\n min-height: 0;\n overflow: auto;\n}\n\n._stack_1lv8f_18 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n\n._body_1lv8f_25 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n\n._field_1lv8f_32 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xs-13-font-size);\n}\n\n._input_1lv8f_39 {\n width: 100%;\n height: var(--wb-len-40);\n padding: 0 var(--wb-len-14);\n}\n\n._registryField_1lv8f_45 {\n height: var(--wb-len-32);\n margin-left: var(--wb-len-26);\n padding: 0 var(--wb-len-10);\n}\n\n._options_1lv8f_51 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: var(--wb-len-8) var(--wb-len-12);\n}\n\n._guideToggle_1lv8f_59 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-4);\n align-self: flex-start;\n margin-top: var(--wb-len-4);\n padding: 0;\n border: 0;\n background: transparent;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n\n._guideToggle_1lv8f_59:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n._guideToggle_1lv8f_59 svg,\n._registryToggle_1lv8f_78 svg {\n transition: transform var(--wb-dur-0-12) ease;\n}\n\n._guideToggle_1lv8f_59[aria-expanded='true'] svg,\n._registryToggle_1lv8f_78[aria-expanded='true'] svg {\n transform: rotate(180deg);\n}\n\n._registryWrap_1lv8f_87 {\n position: relative;\n flex: none;\n}\n\n._registryToggle_1lv8f_78 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n height: var(--wb-len-26);\n padding: 0 var(--wb-len-8) 0 var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-2);\n font: inherit;\n font-size: var(--wb-font-12-5);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n\n._registryToggle_1lv8f_78:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n._registryToggle_1lv8f_78:disabled {\n cursor: default;\n opacity: 0.6;\n}\n\n._registryToggle_1lv8f_78[aria-expanded='true'] {\n border-color: var(--dsw-alias-border-l3);\n background: var(--dsw-alias-bg-layer-3);\n}\n\n._registryChosen_1lv8f_121 {\n color: var(--dsw-alias-label-primary);\n font-weight: 500;\n}\n\n._registry_1lv8f_45 {\n position: fixed;\n z-index: var(--wb-z-1100);\n box-sizing: border-box;\n width: min(var(--wb-len-440), 100vw - var(--wb-len-24));\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-10) var(--wb-len-12);\n border: 0;\n border-radius: var(--dsw-radius-lg);\n background: var(--dsw-alias-bg-layer-2);\n --dsw-elevation-stroke-color: var(--dsw-alias-border-l3);\n box-shadow: var(--dsw-elevation-prominent);\n}\n\n._registryOption_1lv8f_143 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n padding: var(--wb-len-8) var(--wb-len-10);\n border: 0.5px solid transparent;\n border-radius: var(--dsw-radius-lg);\n cursor: pointer;\n}\n\nlabel._registryOption_1lv8f_143 {\n flex-direction: row;\n align-items: flex-start;\n gap: var(--wb-len-10);\n}\n\n._registryPick_1lv8f_159 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-10);\n cursor: pointer;\n}\n\n._registryOption_1lv8f_143[data-checked='true'] {\n border-color: color-mix(in srgb, var(--dsw-alias-brand-primary) 40%, transparent);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n._registryOption_1lv8f_143 input[type='radio'] {\n flex: none;\n width: var(--wb-len-16);\n height: var(--wb-len-16);\n margin: var(--wb-len-2) 0 0;\n accent-color: var(--dsw-alias-brand-primary);\n}\n\n._registryTitle_1lv8f_179 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n font: var(--dsw-font-xs-13);\n line-height: var(--wb-line-20);\n color: var(--dsw-alias-label-primary);\n}\n\n._registryHint_1lv8f_189 {\n margin-left: var(--wb-len-26);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n._inputError_1lv8f_197 {\n margin: var(--wb-len-neg-4) 0 0 var(--wb-len-26);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-error-primary);\n}\n\n._guide_1lv8f_59 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-10);\n padding: var(--wb-len-8) var(--wb-len-14) var(--wb-len-14);\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-lg);\n background: var(--dsw-alias-bg-layer-1);\n}\n\n._guideList_1lv8f_214 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n._guideItem_1lv8f_223 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-10);\n padding: var(--wb-len-8) 0;\n}\n\n._guideIndex_1lv8f_230 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-20);\n height: var(--wb-len-20);\n border-radius: var(--wb-radius-pill);\n corner-shape: round;\n background: var(--dsw-alias-bg-module-platform);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._guideMain_1lv8f_244 {\n display: flex;\n flex-direction: column;\n flex: 1;\n gap: 0;\n min-width: 0;\n}\n\n._guideTitle_1lv8f_252 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n}\n\n._guideHint_1lv8f_258 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-caption);\n}\n\n._guideExample_1lv8f_264 {\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._guideExample_1lv8f_264 code {\n font-family: var(--dsw-font-mono, monospace);\n}\n\n._guideExampleLabel_1lv8f_274 {\n color: var(--dsw-alias-label-caption);\n}\n\n._footer_1lv8f_278 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-20);\n width: 100%;\n}\n\n._hero_1lv8f_285 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-10);\n padding: var(--wb-len-8) 0 var(--wb-len-4);\n text-align: center;\n}\n\n._heroIcon_1lv8f_294 {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-44);\n height: var(--wb-len-44);\n color: var(--dsw-alias-label-secondary);\n}\n\n._heroIcon_1lv8f_294[data-state='done'] {\n color: var(--dsw-alias-state-success-secondary);\n}\n\n._heroIcon_1lv8f_294[data-state='error'] {\n color: var(--dsw-alias-state-warn-label);\n}\n\n._pendingTitle_1lv8f_311 {\n margin: 0;\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-22);\n font-weight: 500;\n color: var(--dsw-alias-label-secondary);\n}\n\n._wizardTitle_1lv8f_319 {\n margin: 0;\n font-size: var(--wb-font-18);\n line-height: var(--wb-len-26);\n font-weight: 600;\n}\n\n._subject_1lv8f_326 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-6);\n padding: var(--wb-len-16);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n text-align: center;\n}\n\n._subjectName_1lv8f_337 {\n margin: 0;\n font: var(--dsw-font-base-strong-16);\n overflow-wrap: anywhere;\n}\n\n._subjectMeta_1lv8f_343,\n._subjectDesc_1lv8f_344 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._result_1lv8f_351,\n._resultWarn_1lv8f_352 {\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: color-mix(in srgb, var(--dsw-alias-state-success-primary) 10%, transparent);\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-primary);\n}\n\n._resultWarn_1lv8f_352 {\n background: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 12%, transparent);\n}\n\n._resultMeta_1lv8f_365 {\n margin: 0;\n padding: 0 var(--wb-len-12);\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._approval_1lv8f_373 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n padding: var(--wb-len-12) var(--wb-len-14);\n border: 0.5px solid var(--dsw-alias-state-warn-primary);\n border-radius: var(--dsw-radius-lg);\n background: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 8%, transparent);\n}\n\n._approvalTitle_1lv8f_383 {\n margin: 0;\n font: var(--dsw-font-s-14);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._approvalText_1lv8f_390 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._approvalCaution_1lv8f_396 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n font-weight: 600;\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._note_1lv8f_403 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._noteWarn_1lv8f_410 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._noteError_1lv8f_414 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._problem_1lv8f_418 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._detailLabel_1lv8f_425 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-caption);\n}\n\n._detail_1lv8f_425 {\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l1);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-3);\n font-family: var(--dsw-font-mono, monospace);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n white-space: pre-wrap;\n}\n._note_1enlz_1 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-8);\n margin: 0;\n padding: var(--wb-len-10) var(--wb-len-12);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-state-warn-tertiary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n\n._note_1enlz_1 > svg {\n flex: none;\n margin-top: var(--wb-len-2);\n color: var(--dsw-alias-state-warn-primary);\n}\n._slot_1t7dx_1 {\n display: flex;\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._slot_1t7dx_1 > * {\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._action_1t7dx_12 {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex: 1 1 0;\n width: 100%;\n min-width: 0;\n min-height: var(--wb-len-36);\n margin: 0 var(--wb-len-2);\n padding: var(--wb-len-7) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n cursor: default;\n overflow: hidden;\n gap: var(--wb-len-4);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n}\n\n._live_1t7dx_31 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._paused_1t7dx_35 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._trouble_1t7dx_39 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._pulse_1t7dx_43 {\n animation: _wb-debug-breathe_1t7dx_1 var(--wb-dur-1-5) var(--ds-ease-in-out, ease-in-out) infinite;\n}\n\n@keyframes _wb-debug-breathe_1t7dx_1 {\n 0%,\n 100% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.35;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._pulse_1t7dx_43 {\n animation: none;\n }\n}\n\n._entry_1t7dx_64 {\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._entryInner_1t7dx_71 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._acts_1t7dx_78 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-2);\n flex: none;\n}\n\n._act_1t7dx_12 {\n appearance: none;\n border: 0;\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-22);\n height: var(--wb-len-22);\n padding: 0;\n border-radius: var(--dsw-radius-sm, var(--wb-len-6));\n flex: none;\n cursor: pointer;\n}\n\n._act_1t7dx_12:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._act_1t7dx_12:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}\n\n._actStop_1t7dx_110:hover,\n._actStop_1t7dx_110:focus-visible {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._actArmed_1t7dx_115,\n._actArmed_1t7dx_115:hover,\n._actArmed_1t7dx_115:focus-visible {\n background: color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent);\n width: auto;\n color: var(--dsw-alias-state-error-primary);\n gap: var(--wb-len-4);\n padding: 0 var(--wb-len-7);\n}\n\n._actLabel_1t7dx_125 {\n white-space: nowrap;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-18);\n}\n\n._entryLine_1t7dx_131 {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._actionRail_1t7dx_138 {\n justify-content: center;\n flex: none;\n width: var(--wb-len-36);\n min-width: var(--wb-len-36);\n height: var(--wb-len-36);\n margin: 0;\n padding: 0;\n corner-shape: round;\n border-radius: 50%;\n}\n\n._card_1t7dx_150 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n}\n\n._cardTitle_1t7dx_156 {\n color: var(--dsw-alias-label-primary);\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-20);\n}\n\n._cardNote_1t7dx_162 {\n color: var(--dsw-alias-label-secondary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n}\n._slot_1gkj9_1 {\n display: flex;\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._slot_1gkj9_1 > * {\n flex: 0 0 100%;\n min-width: 0;\n}\n\n._action_1gkj9_12 {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex: 1 1 0;\n width: 100%;\n min-width: 0;\n min-height: var(--wb-len-36);\n margin: 0 var(--wb-len-2);\n padding: var(--wb-len-7) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n cursor: default;\n overflow: hidden;\n gap: var(--wb-len-4);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n}\n\n._live_1gkj9_31 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._done_1gkj9_35 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._pulse_1gkj9_39 {\n animation: _wb-record-breathe_1gkj9_1 var(--wb-dur-1-5) var(--ds-ease-in-out, ease-in-out) infinite;\n}\n\n@keyframes _wb-record-breathe_1gkj9_1 {\n 0%,\n 100% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.35;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._pulse_1gkj9_39 {\n animation: none;\n }\n}\n\n._entry_1gkj9_60 {\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._entryInner_1gkj9_67 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._acts_1gkj9_74 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-2);\n flex: none;\n}\n\n._act_1gkj9_12 {\n appearance: none;\n border: 0;\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: var(--wb-len-22);\n padding: 0 var(--wb-len-7);\n border-radius: var(--dsw-radius-sm, var(--wb-len-6));\n flex: none;\n cursor: pointer;\n white-space: nowrap;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-18);\n}\n\n._act_1gkj9_12:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._act_1gkj9_12:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}\n\n._entryLine_1gkj9_108 {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._actionRail_1gkj9_115 {\n justify-content: center;\n flex: none;\n width: var(--wb-len-36);\n min-width: var(--wb-len-36);\n height: var(--wb-len-36);\n margin: 0;\n padding: 0;\n corner-shape: round;\n border-radius: 50%;\n}\n\n._card_1gkj9_127 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n}\n\n._cardTitle_1gkj9_133 {\n color: var(--dsw-alias-label-primary);\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-20);\n}\n\n._cardNote_1gkj9_139 {\n color: var(--dsw-alias-label-secondary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n}\n._item_lyox9_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-10);\n}\n\n._item_lyox9_1 + ._item_lyox9_1 {\n padding-top: var(--wb-len-14);\n border-top: var(--wb-len-0-5) solid var(--dsw-alias-settings-card-stroke);\n}\n\n._head_lyox9_12 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._title_lyox9_19 {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-20);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._description_lyox9_31 {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n._rows_85r3w_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n._row_85r3w_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n padding: var(--wb-len-12) var(--wb-len-14);\n border: 0.5px solid var(--dsw-alias-settings-card-stroke);\n border-radius: var(--dsw-radius-xl);\n background: var(--dsw-alias-settings-card-fill);\n}\n\n._head_85r3w_20 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._pick_85r3w_27 {\n flex: 0 1 auto;\n min-width: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n}\n\n._pick_85r3w_27 > span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._code_85r3w_39 {\n --dsl-code-block-background: var(--dsw-alias-bg-layer-1);\n margin: 0;\n}\n\n._missing_85r3w_44,\n._conflict_85r3w_45 {\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-state-warn-primary);\n}\n._body_11oac_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._sources_11oac_7 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._sourcesLabel_11oac_14 {\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-secondary);\n}\n\nbutton._sourceOn_11oac_19 {\n border-color: var(--dsw-alias-brand-primary);\n}\n._sourceCount_11oac_22 {\n margin-left: var(--wb-len-4);\n font-variant-numeric: tabular-nums;\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._reading_11oac_29 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n}\n\n._status_11oac_35 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._failure_11oac_45 {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n column-gap: var(--wb-len-10);\n row-gap: var(--wb-len-2);\n color: var(--dsw-alias-state-error-primary);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n}\n\n._failureTitle_11oac_55 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._failureHint_11oac_62 {\n grid-column: 1;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._failureAction_11oac_67 {\n grid-column: 2;\n grid-row: 1;\n justify-self: end;\n}\n\n._foot_11oac_73 {\n display: flex;\n justify-content: flex-end;\n}\n._body_lox98_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._field_lox98_7 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n\n._input_lox98_13 {\n width: 100%;\n}\n\n._label_lox98_17 {\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-secondary);\n}\n\n._hint_lox98_22 {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._copy_lox98_28 {\n display: flex;\n flex-wrap: wrap;\n gap: var(--wb-len-8) var(--wb-len-16);\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n._copy_lox98_28 legend {\n padding: 0;\n margin-bottom: var(--wb-len-6);\n}\n\n._actions_lox98_42 {\n display: flex;\n justify-content: flex-end;\n}\n\n._commandLabel_lox98_47 {\n display: block;\n margin-top: var(--wb-len-4);\n}\n\n._command_lox98_47 {\n display: block;\n margin-top: var(--wb-len-4);\n padding: var(--wb-len-6) var(--wb-len-8);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-1);\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxs-12-font-size);\n overflow-wrap: anywhere;\n}\n._body_zi2j5_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._lead_zi2j5_7 {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n\n._title_zi2j5_14 {\n font-size: var(--wb-font-18);\n line-height: var(--wb-line-24);\n}\n._hint_zyzt3_1[hidden],\n._actions_zyzt3_2[hidden],\n._progress_zyzt3_3[hidden],\n._commandRow_zyzt3_4[hidden],\n._bridge_zyzt3_5[hidden],\n._raw_zyzt3_6[hidden] {\n display: none;\n}\n\n._gate_zyzt3_10 {\n position: fixed;\n inset: 0;\n z-index: var(--wb-z-top);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--wb-len-24);\n background: var(--dsw-alias-bg-base);\n}\n\n._card_zyzt3_21 {\n width: 100%;\n max-width: var(--wb-len-420);\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-16);\n text-align: center;\n}\n\n._card_zyzt3_21:has(._actions_zyzt3_2:not([hidden])),\n._card_zyzt3_21:has(._bridge_zyzt3_5:not([hidden])) {\n max-width: var(--wb-len-520);\n}\n\n._title_zyzt3_36 {\n margin: 0;\n font-size: var(--dsw-font-base-16-font-size);\n line-height: var(--wb-line-24);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._hint_zyzt3_1 {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._steps_zyzt3_51 {\n list-style: none;\n margin: var(--wb-len-6) 0 0;\n padding: 0;\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n text-align: left;\n}\n\n._step_zyzt3_51 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-6) var(--wb-len-10);\n border-radius: var(--dsw-radius-sm);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n background: var(--dsw-alias-bg-layer-1);\n}\n\n._step_zyzt3_51[data-status='running'] {\n color: var(--dsw-alias-label-primary);\n}\n\n._mark_zyzt3_78 {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-14);\n height: var(--wb-len-14);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n font-variant-numeric: tabular-nums;\n}\n\n._step_zyzt3_51[data-status='ok'] ._mark_zyzt3_78 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._step_zyzt3_51[data-status='warn'] ._mark_zyzt3_78 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._step_zyzt3_51[data-status='failed'] ._mark_zyzt3_78 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._label_zyzt3_103 {\n flex: none;\n}\n\n._detail_zyzt3_107 {\n margin-left: auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._progress_zyzt3_3 {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wb-len-8);\n margin-top: var(--wb-len-4);\n max-width: 100%;\n}\n\n._elapsed_zyzt3_125 {\n flex: none;\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 font-variant-numeric: tabular-nums;\n}\n\n._error_zyzt3_133 {\n margin: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n max-height: var(--wb-len-120);\n overflow: auto;\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-1);\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n white-space: pre-wrap;\n word-break: break-all;\n text-align: left;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._commandRow_zyzt3_4 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-4);\n margin: 0 0 var(--wb-len-8);\n padding-right: var(--wb-len-4);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-2);\n}\n\n._copy_zyzt3_159 {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-24);\n height: var(--wb-len-24);\n padding: 0;\n border: none;\n border-radius: var(--wb-radius-6);\n background: transparent;\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n\n._copy_zyzt3_159:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n._command_zyzt3_4 {\n flex: 1;\n min-width: 0;\n padding: var(--wb-len-8) var(--wb-len-10);\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n font-family: var(--ds-font-family-code, monospace);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n overflow-wrap: anywhere;\n color: var(--dsw-alias-label-primary);\n}\n\n._buttons_zyzt3_192 {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wb-len-12);\n}\n\n._mockSlot_zyzt3_199 {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n justify-content: center;\n background: var(--dsw-alias-bg-base);\n}\n\n._button_zyzt3_192 {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: var(--wb-len-28);\n padding: 0 var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n font: inherit;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n cursor: pointer;\n}\n\n._button_zyzt3_192:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._button_zyzt3_192:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n._actions_zyzt3_2,\n._bridge_zyzt3_5 {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: var(--wb-len-10);\n margin-top: var(--wb-len-4);\n padding: var(--wb-len-14) var(--wb-len-16);\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--wb-radius-14);\n background: var(--dsw-alias-bg-layer-1);\n text-align: left;\n}\n\n._fixTitle_zyzt3_250 {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._actions_zyzt3_2 ._hint_zyzt3_1,\n._bridge_zyzt3_5 ._hint_zyzt3_1 {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-19);\n color: var(--dsw-alias-label-secondary);\n}\n\n._actions_zyzt3_2 ._commandRow_zyzt3_4,\n._bridge_zyzt3_5 ._commandRow_zyzt3_4 {\n margin: 0;\n}\n\n._actions_zyzt3_2 ._buttons_zyzt3_192,\n._bridge_zyzt3_5 ._buttons_zyzt3_192 {\n justify-content: flex-start;\n}\n\n._raw_zyzt3_6 {\n box-sizing: border-box;\n width: 100%;\n margin: 0;\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n text-align: left;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._rawSummary_zyzt3_286 {\n cursor: pointer;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._actions_zyzt3_2 ._error_zyzt3_133,\n._bridge_zyzt3_5 ._error_zyzt3_133 {\n margin-top: var(--wb-len-6);\n}\n\n._bridgeLines_zyzt3_296 {\n margin: 0;\n padding-left: var(--wb-len-18);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-19);\n color: var(--dsw-alias-label-secondary);\n}\n\n._bridgeLine_zyzt3_296 a {\n display: block;\n margin-top: var(--wb-len-4);\n width: fit-content;\n}\n\n._link_zyzt3_313 {\n color: var(--dsw-alias-label-primary);\n text-decoration: none;\n}\n\n._link_zyzt3_313::after {\n content: '↗';\n margin-left: var(--wb-len-2);\n}\n\n._link_zyzt3_313:hover {\n text-decoration: underline;\n}\n\n._loading_zyzt3_327 {\n flex: none;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._loading_zyzt3_327[hidden] {\n display: none;\n}\n\n._loadingMotion_zyzt3_336 {\n transform-origin: center;\n animation: _wb-spin_zyzt3_1 var(--wb-dur-1-5) linear infinite;\n}\n\n._loadingTrack_zyzt3_341,\n._loadingArc_zyzt3_342 {\n fill: none;\n stroke: currentColor;\n stroke-width: 2;\n stroke-linecap: round;\n}\n\n._loadingTrack_zyzt3_341 {\n opacity: 0.25;\n}\n\n._loadingArc_zyzt3_342 {\n stroke-dasharray: 12 150;\n animation: _wb-dash_zyzt3_1 var(--wb-dur-1-5) ease-in-out infinite;\n}\n\n@keyframes _wb-spin_zyzt3_1 {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes _wb-dash_zyzt3_1 {\n 0% {\n stroke-dasharray: 12 150;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 24 150;\n stroke-dashoffset: -6;\n }\n to {\n stroke-dasharray: 12 150;\n stroke-dashoffset: 0;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n ._loadingMotion_zyzt3_336,\n ._loadingArc_zyzt3_342 {\n animation: none;\n }\n}\n._changelog_1q6pj_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n margin-top: var(--wb-len-10);\n min-width: 0;\n}\n\n._changelogTitle_1q6pj_9 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._changelogMissing_1q6pj_15 {\n margin: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-primary);\n}\n\n._changelogBody_1q6pj_21 {\n max-height: var(--wb-len-320);\n overflow: auto;\n padding: var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-lg);\n}\n._group_1hxis_1 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-2);\n}\n\n._button_1hxis_7 {\n flex: none;\n width: var(--wb-len-28);\n height: var(--wb-len-28);\n padding: 0;\n color: var(--dsw-alias-label-secondary);\n}\n\n._button_1hxis_7:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n._active_1hxis_19 {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._icon_1hxis_23 {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n._icon_1hxis_23 svg {\n display: block;\n width: var(--wb-len-15);\n height: var(--wb-len-15);\n}\n\n._mirror_1hxis_35 {\n transform: scaleX(-1);\n}\n._stripTabs_1dqp4_1 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-4);\n min-width: 0;\n overflow: hidden;\n}\n\n._tab_1dqp4_9 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n flex: none;\n height: var(--wb-len-28);\n padding: 0 var(--wb-len-10);\n border: 0;\n border-radius: var(--dsw-radius-sm);\n background: none;\n font: inherit;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-16);\n max-width: 100%;\n}\n\n._tabActive_1dqp4_25 {\n color: var(--dsw-alias-label-primary);\n}\n\n._tabQuiet_1dqp4_29 {\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n\n._tabQuiet_1dqp4_29:hover {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._tabTitle_1dqp4_39 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._sep_1dqp4_49 {\n flex: none;\n color: var(--dsw-alias-label-dimmed);\n}\n._trigger_15ptp_1 {\n display: flex;\n align-items: center;\n}\n\n._pop_15ptp_6 {\n position: absolute;\n top: calc(var(--wb-len-38) + var(--wb-len-8));\n right: var(--wb-len-6);\n z-index: var(--wb-z-30);\n width: min(var(--wb-len-360), calc(100% - var(--wb-len-12)));\n max-width: calc(100vw - var(--wb-len-48));\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--wb-radius-14);\n background: var(--dsw-alias-bg-layer-2);\n box-shadow: var(--dsw-shadow-lv3);\n overflow: hidden;\n}\n\n._head_15ptp_20 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-10) var(--wb-len-12) var(--wb-len-9) var(--wb-len-14);\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._title_15ptp_28 {\n flex: 1;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._rowControls_15ptp_36 {\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._reset_15ptp_43 {\n flex: none;\n padding: var(--wb-len-3) var(--wb-len-8);\n border: none;\n border-radius: var(--wb-radius-6);\n background: transparent;\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 cursor: pointer;\n}\n\n._reset_15ptp_43:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n._reset_15ptp_43:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n._list_15ptp_65 {\n list-style: none;\n margin: 0;\n padding: var(--wb-len-6);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n}\n\n._row_15ptp_36 {\n position: relative;\n display: grid;\n grid-template-columns: 12px minmax(0, 1fr) auto;\n align-items: center;\n gap: var(--wb-len-8);\n padding: var(--wb-len-7) var(--wb-len-8);\n border-radius: var(--dsw-radius-sm);\n cursor: default;\n}\n\n._rowDragging_15ptp_85 {\n cursor: grabbing;\n}\n\n._rowBlocked_15ptp_89 {\n cursor: not-allowed;\n}\n\n._listDragging_15ptp_93 ._rowControls_15ptp_36 {\n pointer-events: none;\n}\n\n._row_15ptp_36:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._rowOff_15ptp_101 {\n opacity: 0.55;\n}\n\n._rowOff_15ptp_101:hover {\n opacity: 1;\n}\n\n._rowOver_15ptp_109::before {\n content: '';\n position: absolute;\n top: var(--wb-len-neg-3);\n left: var(--wb-len-8);\n right: var(--wb-len-8);\n height: var(--wb-len-2);\n background: var(--dsw-alias-brand-primary);\n}\n\n._ghost_15ptp_119 {\n position: fixed;\n z-index: var(--wb-z-40);\n pointer-events: none;\n padding: var(--wb-len-4) var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-1);\n box-shadow: var(--wb-static-shadow-ghost);\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n white-space: nowrap;\n}\n\n._grip_15ptp_134 {\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n text-align: center;\n color: var(--dsw-alias-label-tertiary);\n user-select: none;\n cursor: grab;\n touch-action: none;\n}\n\n._gripDragging_15ptp_144 {\n cursor: grabbing;\n}\n\n._gripBlocked_15ptp_148 {\n cursor: not-allowed;\n}\n\n._label_15ptp_152 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._name_15ptp_159 {\n min-width: 0;\n flex: 0 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-primary);\n}\n\n._error_15ptp_170 {\n margin: 0;\n padding: 0 var(--wb-len-14) var(--wb-len-10);\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}\n\n._dep_15ptp_178 {\n flex: none;\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 white-space: nowrap;\n}\n\n._group_15ptp_186 {\n padding-top: var(--wb-len-6);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n._groupTitle_15ptp_191 {\n margin: 0;\n padding: var(--wb-len-2) var(--wb-len-8) 0 var(--wb-len-14);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n font-weight: 400;\n color: var(--dsw-alias-label-tertiary);\n}\n._panel_1whum_1 {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: var(--wb-z-10);\n visibility: hidden;\n}\n\n._panel_1whum_1[data-fullscreen] {\n z-index: var(--wb-z-40);\n}\n\n._panel_1whum_1[data-open] {\n visibility: visible;\n}\n\n._columns_1whum_18 {\n display: block;\n column-gap: var(--wb-len-12);\n}\n\n._cell_1whum_23 {\n display: flow-root;\n min-width: 0;\n break-inside: avoid;\n margin-bottom: var(--wb-len-12);\n}\n._root_1cmz0_1 {\n position: relative;\n flex: none;\n margin: 0 var(--wb-len-2) var(--wb-len-4);\n}\n\n._rail_1cmz0_7 {\n margin: 0 0 var(--wb-len-4);\n}\n\n._glyphBox_1cmz0_11 {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n}\n\n._glyph_1cmz0_11 {\n position: relative;\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}\n\n._glyphActive_1cmz0_30 {\n color: var(--dsw-alias-state-business-primary);\n}\n\n._triggerName_1cmz0_34 {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-6);\n font-size: var(--wb-font-row);\n line-height: var(--wb-line-20);\n overflow: hidden;\n}\n\n._dir_1cmz0_45 {\n flex: 0 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._name_1cmz0_53 {\n flex: 0 1 auto;\n max-width: 50%;\n font-size: var(--dsw-font-xxs-12-font-size);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._triggerName_1cmz0_34 ._name_1cmz0_53 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n._row_1cmz0_66 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n width: 100%;\n min-width: 0;\n}\n\n._trailing_1cmz0_74 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-20);\n height: var(--wb-len-20);\n margin-inline-start: auto;\n}\n\n._trailing_1cmz0_74 ._rowAction_1cmz0_84 {\n width: var(--wb-len-20);\n min-width: var(--wb-len-20);\n height: var(--wb-len-20);\n min-height: var(--wb-len-20);\n padding: 0;\n border-radius: var(--dsw-radius-sm);\n}\n\n._row_1cmz0_66 ._name_1cmz0_53 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n._current_1cmz0_97 {\n flex: none;\n display: inline-flex;\n align-items: center;\n color: var(--dsw-alias-label-primary);\n}\n._dot_sosf1_1 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n._overlay_sosf1_8 {\n position: absolute;\n inset-block-start: var(--wb-len-neg-3);\n inset-inline-end: var(--wb-len-neg-3);\n}\n._tag_g9dg8_1 {\n flex: none;\n margin-inline-start: auto;\n}\n._dialog_1vye5_1 {\n width: min(var(--wb-len-420), 100%);\n}\n\n._stack_1vye5_5 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._input_1vye5_12 {\n width: 100%;\n height: var(--wb-len-40);\n padding: 0 var(--wb-len-12);\n}\n\n._meta_1vye5_18 {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n._dot_14w1n_1 {\n display: inline-flex;\n align-items: center;\n}\n\n._hover_14w1n_6 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n._blocker_1oaj0_1 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--wb-len-6);\n padding: var(--wb-len-20) var(--wb-len-16);\n text-align: center;\n}\n\n._icon_1oaj0_10 {\n display: flex;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._title_1oaj0_15 {\n margin: var(--wb-len-2) 0 0;\n font-size: var(--dsw-font-s-14-font-size);\n line-height: var(--wb-line-22);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._hint_1oaj0_23 {\n margin: 0;\n max-width: var(--wb-len-42em);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n text-wrap: pretty;\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 {\n align-items: flex-start;\n gap: var(--wb-len-6);\n padding: var(--wb-len-4) 0 var(--wb-len-2);\n text-align: left;\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._title_1oaj0_15 {\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._hint_1oaj0_23 {\n max-width: 100%;\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._actions_1oaj0_48 {\n margin-top: var(--wb-len-8);\n}\n\n._blocker_1oaj0_1._blockerInline_1oaj0_32 ._raw_1oaj0_52 {\n margin-top: var(--wb-len-4);\n max-width: 100%;\n}\n\n._actions_1oaj0_48 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n margin-top: var(--wb-len-6);\n}\n\n._raw_1oaj0_52 {\n margin-top: var(--wb-len-10);\n width: 100%;\n max-width: var(--wb-len-360);\n text-align: left;\n}\n\n._notice_1oaj0_71 {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n align-items: start;\n column-gap: var(--wb-len-10);\n margin: 0 0 var(--wb-len-10);\n padding: var(--wb-len-10) var(--wb-len-12);\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-left: 2px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-1);\n}\n\n._notice_1oaj0_71._noticeFlat_1oaj0_84 {\n margin: 0;\n padding: 0;\n border: 0;\n background: transparent;\n}\n\n._noticeText_1oaj0_91 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-3);\n min-width: 0;\n}\n\n._noticeTitle_1oaj0_98 {\n font-size: var(--wb-font-12-5);\n line-height: var(--wb-line-18);\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n}\n\n._noticeHint_1oaj0_105 {\n font-size: var(--wb-font-11-5);\n line-height: var(--wb-line-17);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n._noticeActions_1oaj0_112 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n margin-top: var(--wb-len-neg-2);\n}\n\n._failure_1oaj0_119 {\n margin: var(--wb-len-8) 0 0;\n font-size: var(--wb-font-11-5);\n line-height: var(--wb-line-17);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._failureDetail_1oaj0_127 {\n display: block;\n margin-top: var(--wb-len-2);\n color: var(--dsw-alias-label-tertiary);\n white-space: pre-wrap;\n}\n\n._inlineAction_1oaj0_134 {\n padding: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n}\n\n._inlineAction_1oaj0_134:disabled {\n opacity: 0.6;\n cursor: default;\n}\n\n._rawText_1oaj0_146 {\n margin: var(--wb-len-6) 0 0;\n max-width: 100%;\n}\n/*$vite$:1*/";
|
|
15067
15460
|
function workbenchCss() {
|
|
15068
15461
|
return `${tokens_default}\n${palette_default}\n${scale_default}\n${sidebar_default}\n${sidebar_app_default}\n${rightbar_default}\n${chrome_default}\n${board_default}\n${motion_default}\n${COMPONENT_CSS_MARKER}`;
|
|
15069
15462
|
}
|