@dsh-workbench/core 1.1.5 → 1.1.6
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 +704 -520
- package/dist/client/client.body.js +704 -520
- package/dist/client/index.js +575 -391
- package/dist/host/index.js +613 -149
- package/dist/types/app/layouts/market/market-check.d.ts +7 -0
- package/dist/types/app/layouts/market/market-header.d.ts +3 -1
- package/dist/types/app/layouts/market/section-check.d.ts +12 -0
- package/dist/types/app/layouts/market/use-market-reload.d.ts +14 -0
- package/dist/types/app/layouts/market/use-module-versions.d.ts +20 -4
- package/dist/types/app/layouts/rightbar/FailureCard.d.ts +3 -3
- package/dist/types/app/layouts/rightbar/MarketView.d.ts +5 -3
- package/dist/types/app/layouts/rightbar/failure-card-text.d.ts +6 -0
- package/dist/types/app/layouts/rightbar/market-row-types.d.ts +2 -0
- package/dist/types/app/layouts/rightbar/market-rows.d.ts +2 -0
- package/dist/types/app/layouts/rightbar/market-uninstall.d.ts +10 -0
- package/dist/types/app/layouts/rightbar/market-update-verdict.d.ts +2 -0
- package/dist/types/kernel/contract/market-index.d.ts +1 -1
- package/dist/types/modules/panels/model/market-env.d.ts +2 -2
- package/dist/types/modules/panels/model/market-swap-stuck.d.ts +20 -0
- package/dist/types/modules/panels/model/market-swap-stuck.test.d.ts +1 -0
- package/dist/types/modules/panels/model/market-types.d.ts +3 -0
- package/dist/types/modules/panels/model/market-update-bundle.d.ts +5 -0
- package/dist/types/modules/panels/model/plugin-actions.d.ts +1 -1
- package/dist/types/shared/api/host/self-update-marker.d.ts +5 -0
- package/dist/types/shared/api/host/self-update-marker.test.d.ts +1 -0
- package/package.json +3 -3
- package/skills/workbench-module-diy/WIRING.md +2 -1
|
@@ -785,13 +785,13 @@ async function apiPost(route, body) {
|
|
|
785
785
|
//#endregion
|
|
786
786
|
//#region ../shared/dist/lib/react.js
|
|
787
787
|
var react$1 = require("react");
|
|
788
|
-
var h$
|
|
788
|
+
var h$71 = react$1.createElement;
|
|
789
789
|
var Fragment$22 = react$1.Fragment;
|
|
790
790
|
var Component = react$1.Component;
|
|
791
791
|
react$1.createContext;
|
|
792
792
|
react$1.useContext;
|
|
793
793
|
var useState$42 = react$1.useState;
|
|
794
|
-
var useEffect$
|
|
794
|
+
var useEffect$32 = react$1.useEffect;
|
|
795
795
|
react$1.useLayoutEffect;
|
|
796
796
|
var useMemo$10 = react$1.useMemo;
|
|
797
797
|
react$1.useCallback;
|
|
@@ -806,7 +806,7 @@ react$1.useSyncExternalStore;
|
|
|
806
806
|
* @returns 一个 div。
|
|
807
807
|
*/
|
|
808
808
|
function ActivityBlock({ head, children }) {
|
|
809
|
-
return h$
|
|
809
|
+
return h$71("div", { className: "wb-activityBlock" }, head === void 0 ? null : h$71("div", { className: "wb-activityBlockHead" }, head), children);
|
|
810
810
|
}
|
|
811
811
|
/**
|
|
812
812
|
* 一条活动:状态点 + 正文 + 时间,行尾可挂动作;时间一律用它,别自己拼。
|
|
@@ -817,7 +817,7 @@ function ActivityBlock({ head, children }) {
|
|
|
817
817
|
* @returns 一行。
|
|
818
818
|
*/
|
|
819
819
|
function ActivityLine({ dot, text, at, actions }) {
|
|
820
|
-
return h$
|
|
820
|
+
return h$71("div", { className: "wb-activityLine" }, dot, h$71("span", { className: "wb-activityLineText" }, text), at === void 0 ? null : h$71("span", { className: "wb-activityLineAt" }, at), actions === void 0 ? null : h$71("span", { className: "wb-activityLineActions" }, actions));
|
|
821
821
|
}
|
|
822
822
|
/**
|
|
823
823
|
* 活动行尾那颗动作:给 `href` 就是外链,否则是图标钮并带上 tooltip。
|
|
@@ -831,7 +831,7 @@ function ActivityLine({ dot, text, at, actions }) {
|
|
|
831
831
|
*/
|
|
832
832
|
function ActivityAction({ label, hint, icon, href, onClick, failed }) {
|
|
833
833
|
const tip = hint ?? label;
|
|
834
|
-
if (href !== void 0) return h$
|
|
834
|
+
if (href !== void 0) return h$71("a", {
|
|
835
835
|
className: "wb-iconButton",
|
|
836
836
|
href,
|
|
837
837
|
target: "_blank",
|
|
@@ -839,13 +839,13 @@ function ActivityAction({ label, hint, icon, href, onClick, failed }) {
|
|
|
839
839
|
title: tip,
|
|
840
840
|
"aria-label": label
|
|
841
841
|
}, icon);
|
|
842
|
-
return h$
|
|
842
|
+
return h$71(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
|
|
843
843
|
side: "bottom",
|
|
844
844
|
align: "end",
|
|
845
845
|
gap: 6,
|
|
846
846
|
portal: true,
|
|
847
847
|
label: tip
|
|
848
|
-
}, h$
|
|
848
|
+
}, h$71(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
849
849
|
type: "button",
|
|
850
850
|
variant: "ghost",
|
|
851
851
|
size: "sm",
|
|
@@ -867,10 +867,10 @@ function ActivityAction({ label, hint, icon, href, onClick, failed }) {
|
|
|
867
867
|
*/
|
|
868
868
|
function Note({ tone = "muted", as, role, children }) {
|
|
869
869
|
const className = tone === "problem" ? "wb-problem" : "wb-note";
|
|
870
|
-
return as === "span" ? h$
|
|
870
|
+
return as === "span" ? h$71("span", {
|
|
871
871
|
className,
|
|
872
872
|
role
|
|
873
|
-
}, children) : h$
|
|
873
|
+
}, children) : h$71("p", {
|
|
874
874
|
className,
|
|
875
875
|
role
|
|
876
876
|
}, children);
|
|
@@ -914,10 +914,10 @@ var CardBoundary = class extends Component {
|
|
|
914
914
|
render() {
|
|
915
915
|
const { reason } = this.state;
|
|
916
916
|
if (reason === null) return this.props.children;
|
|
917
|
-
return h$
|
|
917
|
+
return h$71(Note, { tone: "problem" }, h$71("span", null, this.props.t("panels.cardBroken", {
|
|
918
918
|
unit: this.props.unit,
|
|
919
919
|
reason
|
|
920
|
-
})), " ", h$
|
|
920
|
+
})), " ", h$71(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
921
921
|
type: "button",
|
|
922
922
|
variant: "outline",
|
|
923
923
|
size: "sm",
|
|
@@ -967,19 +967,19 @@ function ApprovalDetail(props) {
|
|
|
967
967
|
const owner = (props.units ?? []).find((face) => face.approval?.tools.includes(input.tool) === true);
|
|
968
968
|
if (owner?.approval !== void 0) {
|
|
969
969
|
const Render = owner.approval.render;
|
|
970
|
-
return h$
|
|
970
|
+
return h$71(CardBoundary, {
|
|
971
971
|
unit: owner.unit,
|
|
972
972
|
resetKey: props.callId ?? "",
|
|
973
973
|
t
|
|
974
|
-
}, h$
|
|
974
|
+
}, h$71(Render, {
|
|
975
975
|
input,
|
|
976
976
|
t
|
|
977
977
|
}));
|
|
978
978
|
}
|
|
979
979
|
const shell = props.renderShell?.(input, t);
|
|
980
|
-
if (shell !== void 0 && shell !== null) return h$
|
|
980
|
+
if (shell !== void 0 && shell !== null) return h$71(Fragment$22, null, shell);
|
|
981
981
|
if (command === "") return null;
|
|
982
|
-
return h$
|
|
982
|
+
return h$71(_deepseek_ai_dsh_client_ui_primitives.CodeBlock, {
|
|
983
983
|
code: command,
|
|
984
984
|
className: "wb-approvalCommand",
|
|
985
985
|
copyLabel: t("blocker.copy"),
|
|
@@ -997,10 +997,10 @@ function ApprovalDetail(props) {
|
|
|
997
997
|
* @returns 一个 div。
|
|
998
998
|
*/
|
|
999
999
|
function ApprovalPlan({ rows, hint, warn, children }) {
|
|
1000
|
-
return h$
|
|
1000
|
+
return h$71("div", { className: "wb-approvalPlan" }, hint === void 0 ? null : h$71("p", { className: "wb-approvalHint" }, hint), h$71("dl", { className: "wb-approvalRows" }, rows.map((row, index) => h$71("div", {
|
|
1001
1001
|
className: "wb-approvalRow",
|
|
1002
1002
|
key: String(index)
|
|
1003
|
-
}, h$
|
|
1003
|
+
}, h$71("dt", { className: "wb-approvalLabel" }, row.label), h$71("dd", { className: "wb-approvalValue" }, row.value)))), children, warn === void 0 ? null : h$71("p", { className: "wb-approvalWarn" }, warn));
|
|
1004
1004
|
}
|
|
1005
1005
|
//#endregion
|
|
1006
1006
|
//#region ../shared/dist/components/CardHead.js
|
|
@@ -1017,47 +1017,47 @@ function ApprovalPlan({ rows, hint, warn, children }) {
|
|
|
1017
1017
|
function CardHead({ t, title, meta, refreshing, onRefresh, gear, gearOpen, onToggleGear, platformHref, platform, platformTitle }) {
|
|
1018
1018
|
const refreshLabel = refreshing ? t("rightbar.refreshing") : t("rightbar.refresh");
|
|
1019
1019
|
const platformLabel = platformTitle ?? platform ?? t("rightbar.openPlatform");
|
|
1020
|
-
return h$
|
|
1020
|
+
return h$71("header", { className: "wb-cardHead" }, h$71("h2", { className: "wb-cardTitle" }, title), meta === void 0 ? null : h$71("span", { className: "wb-cardMeta" }, meta), platformHref === void 0 ? null : h$71(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
|
|
1021
1021
|
side: "bottom",
|
|
1022
1022
|
align: "end",
|
|
1023
1023
|
gap: 6,
|
|
1024
1024
|
portal: true,
|
|
1025
1025
|
label: platformLabel
|
|
1026
|
-
}, h$
|
|
1026
|
+
}, h$71("a", {
|
|
1027
1027
|
className: "wb-iconButton wb-cardOpen",
|
|
1028
1028
|
href: platformHref,
|
|
1029
1029
|
target: "_blank",
|
|
1030
1030
|
rel: "noreferrer noopener",
|
|
1031
1031
|
"aria-label": platform ?? platformLabel
|
|
1032
|
-
}, h$
|
|
1032
|
+
}, h$71(_deepseek_ai_dsh_client_ui_primitives.IconRightUpOutlineRegular, { size: 14 }))), h$71(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
|
|
1033
1033
|
side: "bottom",
|
|
1034
1034
|
align: "end",
|
|
1035
1035
|
gap: 6,
|
|
1036
1036
|
portal: true,
|
|
1037
1037
|
label: refreshLabel
|
|
1038
|
-
}, h$
|
|
1038
|
+
}, h$71(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
1039
1039
|
type: "button",
|
|
1040
1040
|
size: "sm",
|
|
1041
1041
|
variant: "ghost",
|
|
1042
1042
|
className: `wb-cardRefresh${refreshing ? " wb-spinning" : ""}`,
|
|
1043
1043
|
"aria-label": refreshLabel,
|
|
1044
1044
|
disabled: refreshing,
|
|
1045
|
-
icon: h$
|
|
1045
|
+
icon: h$71(_deepseek_ai_dsh_client_ui_primitives.IconRefreshOutlineRegular, { size: 14 }),
|
|
1046
1046
|
onClick: onRefresh
|
|
1047
|
-
})), gear === void 0 || onToggleGear === void 0 ? null : h$
|
|
1047
|
+
})), gear === void 0 || onToggleGear === void 0 ? null : h$71(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
|
|
1048
1048
|
side: "bottom",
|
|
1049
1049
|
align: "end",
|
|
1050
1050
|
gap: 6,
|
|
1051
1051
|
portal: true,
|
|
1052
1052
|
label: gear
|
|
1053
|
-
}, h$
|
|
1053
|
+
}, h$71(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
1054
1054
|
type: "button",
|
|
1055
1055
|
size: "sm",
|
|
1056
1056
|
variant: "ghost",
|
|
1057
1057
|
className: `wb-cardGear${gearOpen === true ? " wb-iconButtonActive" : ""}`,
|
|
1058
1058
|
"aria-label": gear,
|
|
1059
1059
|
"aria-expanded": gearOpen === true,
|
|
1060
|
-
icon: h$
|
|
1060
|
+
icon: h$71(_deepseek_ai_dsh_client_ui_primitives.IconSettingsOutlineRegular, { size: 15 }),
|
|
1061
1061
|
onClick: onToggleGear
|
|
1062
1062
|
})));
|
|
1063
1063
|
}
|
|
@@ -1074,13 +1074,13 @@ function CardHead({ t, title, meta, refreshing, onRefresh, gear, gearOpen, onTog
|
|
|
1074
1074
|
* @returns 一个 `<section>`。
|
|
1075
1075
|
*/
|
|
1076
1076
|
function Card({ t, title, refreshing, onRefresh, meta, head, children }) {
|
|
1077
|
-
return h$
|
|
1077
|
+
return h$71("section", { className: "wb-card" }, head === void 0 ? h$71(CardHead, {
|
|
1078
1078
|
t,
|
|
1079
1079
|
title,
|
|
1080
1080
|
refreshing,
|
|
1081
1081
|
onRefresh,
|
|
1082
1082
|
meta
|
|
1083
|
-
}) : head, h$
|
|
1083
|
+
}) : head, h$71("div", { className: "wb-cardBody" }, children));
|
|
1084
1084
|
}
|
|
1085
1085
|
var CardAnchor_module_default = { anchor: "_anchor_yq4s2_1" };
|
|
1086
1086
|
//#endregion
|
|
@@ -1100,7 +1100,7 @@ function cardIdOf(unit) {
|
|
|
1100
1100
|
* @returns 带 id 的占位 div。
|
|
1101
1101
|
*/
|
|
1102
1102
|
function CardAnchor({ unit, children }) {
|
|
1103
|
-
return h$
|
|
1103
|
+
return h$71("div", {
|
|
1104
1104
|
id: cardIdOf(unit),
|
|
1105
1105
|
className: CardAnchor_module_default.anchor
|
|
1106
1106
|
}, children);
|
|
@@ -1114,13 +1114,13 @@ function CardAnchor({ unit, children }) {
|
|
|
1114
1114
|
* @returns 一枚 `StateDot state="ongoing"`,自身不带文字。
|
|
1115
1115
|
*/
|
|
1116
1116
|
function Spinner({ size = 14, label }) {
|
|
1117
|
-
return h$
|
|
1117
|
+
return h$71("span", {
|
|
1118
1118
|
className: "wb-spinner",
|
|
1119
1119
|
...label === void 0 ? { "aria-hidden": true } : {
|
|
1120
1120
|
role: "status",
|
|
1121
1121
|
"aria-label": label
|
|
1122
1122
|
}
|
|
1123
|
-
}, h$
|
|
1123
|
+
}, h$71(_deepseek_ai_dsh_client_ui_primitives.StateDot, {
|
|
1124
1124
|
state: "ongoing",
|
|
1125
1125
|
size
|
|
1126
1126
|
}));
|
|
@@ -1128,24 +1128,24 @@ function Spinner({ size = 14, label }) {
|
|
|
1128
1128
|
//#endregion
|
|
1129
1129
|
//#region ../shared/dist/components/ChoiceGroup.js
|
|
1130
1130
|
function ChoiceMenu(input) {
|
|
1131
|
-
const body = input.loading ? h$
|
|
1131
|
+
const body = input.loading ? h$71("span", {
|
|
1132
1132
|
className: "wb-choiceLoading",
|
|
1133
1133
|
role: "status"
|
|
1134
|
-
}, h$
|
|
1134
|
+
}, h$71(Spinner, { size: 14 }), h$71("span", { className: "wb-choiceLoadingText" }, input.loadingText ?? "…")) : input.options.length === 0 ? input.emptyText === void 0 ? null : h$71("span", { className: "wb-choiceEmpty" }, input.emptyText) : input.options.map((option) => {
|
|
1135
1135
|
const row = input.rowOf(option.value);
|
|
1136
|
-
return h$
|
|
1136
|
+
return h$71(Fragment$22, { key: option.value }, h$71("label", { className: `wb-choiceOption${row.checked ? " wb-choiceOptionOn" : ""}` }, h$71("input", {
|
|
1137
1137
|
className: input.multi ? "wb-checkbox" : "wb-radio",
|
|
1138
1138
|
type: input.multi ? "checkbox" : "radio",
|
|
1139
1139
|
name: input.name,
|
|
1140
1140
|
checked: row.checked,
|
|
1141
1141
|
disabled: input.disabled,
|
|
1142
1142
|
onChange: row.onSelect
|
|
1143
|
-
}), input.multi ? h$
|
|
1143
|
+
}), input.multi ? h$71("span", {
|
|
1144
1144
|
className: "wb-checkboxBox",
|
|
1145
1145
|
"aria-hidden": "true"
|
|
1146
|
-
}, row.checked ? h$
|
|
1146
|
+
}, row.checked ? h$71(_deepseek_ai_dsh_client_ui_primitives.IconCheckOutlineRegular, { size: 12 }) : null) : null, h$71("span", { className: "wb-choiceLabel" }, h$71("span", { className: "wb-choiceLabelText" }, option.label), option.description === void 0 ? null : h$71("span", { className: "wb-choiceDescription" }, option.description))));
|
|
1147
1147
|
});
|
|
1148
|
-
return h$
|
|
1148
|
+
return h$71("div", {
|
|
1149
1149
|
className: "wb-choiceMenu",
|
|
1150
1150
|
"data-variant": input.variant,
|
|
1151
1151
|
role: input.multi ? "group" : "radiogroup",
|
|
@@ -1179,7 +1179,7 @@ function ChoiceGroup(props) {
|
|
|
1179
1179
|
if (props.multi === true) {
|
|
1180
1180
|
const values = props.values;
|
|
1181
1181
|
const onChange = props.onChange;
|
|
1182
|
-
return h$
|
|
1182
|
+
return h$71(ChoiceMenu, {
|
|
1183
1183
|
label: common.label,
|
|
1184
1184
|
name: common.name,
|
|
1185
1185
|
options: common.options,
|
|
@@ -1199,7 +1199,7 @@ function ChoiceGroup(props) {
|
|
|
1199
1199
|
}
|
|
1200
1200
|
const value = props.value;
|
|
1201
1201
|
const onChange = props.onChange;
|
|
1202
|
-
return h$
|
|
1202
|
+
return h$71(ChoiceMenu, {
|
|
1203
1203
|
label: common.label,
|
|
1204
1204
|
name: common.name,
|
|
1205
1205
|
options: common.options,
|
|
@@ -1252,17 +1252,17 @@ function variantOf(kind) {
|
|
|
1252
1252
|
function FormActions({ actions }) {
|
|
1253
1253
|
if (actions.length === 0) return null;
|
|
1254
1254
|
reportExtraPrimaries(actions);
|
|
1255
|
-
return h$
|
|
1255
|
+
return h$71("div", { className: "wb-formActions" }, ordered(actions).map((action) => {
|
|
1256
1256
|
const kind = kindOf(action);
|
|
1257
1257
|
const busy = action.busy === true;
|
|
1258
|
-
return h$
|
|
1258
|
+
return h$71(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
1259
1259
|
key: action.key,
|
|
1260
1260
|
type: "button",
|
|
1261
1261
|
size: "sm",
|
|
1262
1262
|
variant: variantOf(kind),
|
|
1263
1263
|
className: kind === "danger" ? "wb-formActionDanger" : void 0,
|
|
1264
1264
|
disabled: busy || action.disabled === true,
|
|
1265
|
-
icon: busy ? h$
|
|
1265
|
+
icon: busy ? h$71(Spinner, { size: 12 }) : void 0,
|
|
1266
1266
|
onClick: action.onClick
|
|
1267
1267
|
}, action.label);
|
|
1268
1268
|
}));
|
|
@@ -1275,7 +1275,7 @@ function FormActions({ actions }) {
|
|
|
1275
1275
|
* @returns 竖排的 div。
|
|
1276
1276
|
*/
|
|
1277
1277
|
function Rows({ children }) {
|
|
1278
|
-
return h$
|
|
1278
|
+
return h$71("div", { className: "wb-rows" }, children);
|
|
1279
1279
|
}
|
|
1280
1280
|
/**
|
|
1281
1281
|
* 一行键值:左边名字、右边值;要成对说明一项数据就用它,别自己写两栏。
|
|
@@ -1284,7 +1284,7 @@ function Rows({ children }) {
|
|
|
1284
1284
|
* @returns 一行两格。
|
|
1285
1285
|
*/
|
|
1286
1286
|
function Row({ label, value }) {
|
|
1287
|
-
return h$
|
|
1287
|
+
return h$71("div", { className: "wb-row" }, h$71("span", { className: "wb-rowKey" }, label), h$71("span", { className: "wb-rowValue" }, value));
|
|
1288
1288
|
}
|
|
1289
1289
|
//#endregion
|
|
1290
1290
|
//#region ../shared/dist/components/ConfirmBar.js
|
|
@@ -1301,19 +1301,19 @@ function Row({ label, value }) {
|
|
|
1301
1301
|
* @returns 一个 `role="group"` 的条;`actions` 空数组时最后那一块不渲染。
|
|
1302
1302
|
*/
|
|
1303
1303
|
function ConfirmBar({ title, hint, rows, actions, problem, busy, label }) {
|
|
1304
|
-
return h$
|
|
1304
|
+
return h$71("div", {
|
|
1305
1305
|
className: "wb-confirmBar",
|
|
1306
1306
|
role: "group",
|
|
1307
1307
|
"aria-label": label ?? (typeof title === "string" ? title : void 0),
|
|
1308
1308
|
"aria-busy": busy
|
|
1309
|
-
}, h$
|
|
1309
|
+
}, h$71("p", { className: "wb-confirmBarTitle" }, title), hint === void 0 ? null : h$71("p", { className: "wb-confirmBarHint" }, hint), rows === void 0 || rows.length === 0 ? null : h$71(Rows, null, rows.map((row) => h$71(Row, {
|
|
1310
1310
|
key: row.key,
|
|
1311
1311
|
label: row.label,
|
|
1312
1312
|
value: row.value
|
|
1313
|
-
}))), problem === void 0 ? null : h$
|
|
1313
|
+
}))), problem === void 0 ? null : h$71(Note, {
|
|
1314
1314
|
tone: "problem",
|
|
1315
1315
|
role: "alert"
|
|
1316
|
-
}, problem), h$
|
|
1316
|
+
}, problem), h$71(FormActions, { actions }));
|
|
1317
1317
|
}
|
|
1318
1318
|
//#endregion
|
|
1319
1319
|
//#region ../shared/dist/components/Field.js
|
|
@@ -1325,7 +1325,7 @@ function ConfirmBar({ title, hint, rows, actions, problem, busy, label }) {
|
|
|
1325
1325
|
* @returns 一个 `<label>`,点标签会聚焦里面的控件。
|
|
1326
1326
|
*/
|
|
1327
1327
|
function Field({ label, hint, children }) {
|
|
1328
|
-
return h$
|
|
1328
|
+
return h$71("label", { className: "wb-field" }, h$71("span", { className: "wb-fieldLabel" }, label), children, hint === void 0 ? null : h$71("span", { className: "wb-fieldHint" }, hint));
|
|
1329
1329
|
}
|
|
1330
1330
|
//#endregion
|
|
1331
1331
|
//#region ../shared/dist/components/FormRows.js
|
|
@@ -1335,7 +1335,7 @@ function Field({ label, hint, children }) {
|
|
|
1335
1335
|
* @returns 竖排的 div。
|
|
1336
1336
|
*/
|
|
1337
1337
|
function FormRows({ children }) {
|
|
1338
|
-
return h$
|
|
1338
|
+
return h$71("div", { className: "wb-formRows" }, children);
|
|
1339
1339
|
}
|
|
1340
1340
|
/**
|
|
1341
1341
|
* 表单一行:左边标签、右边控件,提示与错误占控件下面那一格。
|
|
@@ -1348,14 +1348,14 @@ function FormRows({ children }) {
|
|
|
1348
1348
|
* @returns 一个 `<div>`:里面的 `<label>` 只包标签文字,不包控件、提示与整行的空白。
|
|
1349
1349
|
*/
|
|
1350
1350
|
function FormRow({ label, htmlFor, hint, problem, layout = "inline", children }) {
|
|
1351
|
-
return h$
|
|
1351
|
+
return h$71("div", {
|
|
1352
1352
|
className: "wb-formRow",
|
|
1353
1353
|
"data-layout": layout,
|
|
1354
1354
|
"data-wb-problem": problem === void 0 ? void 0 : ""
|
|
1355
|
-
}, h$
|
|
1355
|
+
}, h$71("label", {
|
|
1356
1356
|
className: "wb-formLabel",
|
|
1357
1357
|
htmlFor
|
|
1358
|
-
}, label), h$
|
|
1358
|
+
}, label), h$71("span", { className: "wb-formControl" }, children), problem === void 0 ? hint === void 0 ? null : h$71("span", { className: "wb-formHint" }, hint) : h$71("span", { className: "wb-formProblem" }, problem));
|
|
1359
1359
|
}
|
|
1360
1360
|
//#endregion
|
|
1361
1361
|
//#region ../shared/dist/components/FormNodes.js
|
|
@@ -1502,7 +1502,7 @@ function formActionsOf(args) {
|
|
|
1502
1502
|
* @returns `FormRow` 组成的数组;没有可画的格子时给空数组。
|
|
1503
1503
|
*/
|
|
1504
1504
|
function formRowsOf(args) {
|
|
1505
|
-
return args.fields.map((field) => h$
|
|
1505
|
+
return args.fields.map((field) => h$71(FormRow, {
|
|
1506
1506
|
key: field.key,
|
|
1507
1507
|
label: field.label,
|
|
1508
1508
|
htmlFor: controlIdOf(field.key),
|
|
@@ -1584,7 +1584,7 @@ function Form(props) {
|
|
|
1584
1584
|
const shown = visibleFieldsOf(fields);
|
|
1585
1585
|
const problems = formProblemsOf(shown, done);
|
|
1586
1586
|
reportDuplicateKeys(shown);
|
|
1587
|
-
useEffect$
|
|
1587
|
+
useEffect$32(() => {
|
|
1588
1588
|
if (reveal === 0) return;
|
|
1589
1589
|
const root = rootRef.current;
|
|
1590
1590
|
if (root !== null) revealFirstProblem(root);
|
|
@@ -1599,7 +1599,7 @@ function Form(props) {
|
|
|
1599
1599
|
}
|
|
1600
1600
|
onSubmit(outcome.values);
|
|
1601
1601
|
};
|
|
1602
|
-
return h$
|
|
1602
|
+
return h$71("form", {
|
|
1603
1603
|
className: "wb-form",
|
|
1604
1604
|
ref: rootRef,
|
|
1605
1605
|
noValidate: true,
|
|
@@ -1607,15 +1607,15 @@ function Form(props) {
|
|
|
1607
1607
|
event.preventDefault();
|
|
1608
1608
|
submitForm();
|
|
1609
1609
|
}
|
|
1610
|
-
}, h$
|
|
1610
|
+
}, h$71(FormRows, null, formRowsOf({
|
|
1611
1611
|
fields: shown,
|
|
1612
1612
|
problems,
|
|
1613
1613
|
showProblem: done,
|
|
1614
1614
|
busy
|
|
1615
|
-
})), problem === void 0 ? null : h$
|
|
1615
|
+
})), problem === void 0 ? null : h$71(Note, {
|
|
1616
1616
|
tone: "problem",
|
|
1617
1617
|
role: "alert"
|
|
1618
|
-
}, problem), h$
|
|
1618
|
+
}, problem), h$71(FormActions, { actions: formActionsOf({
|
|
1619
1619
|
extra,
|
|
1620
1620
|
cancel,
|
|
1621
1621
|
submit,
|
|
@@ -1636,7 +1636,7 @@ function Form(props) {
|
|
|
1636
1636
|
* @returns 一个 `<a>`。
|
|
1637
1637
|
*/
|
|
1638
1638
|
function Link({ href, children, title, external = true, className }) {
|
|
1639
|
-
return h$
|
|
1639
|
+
return h$71("a", {
|
|
1640
1640
|
className: className === void 0 ? "wb-link" : `wb-link ${className}`,
|
|
1641
1641
|
href,
|
|
1642
1642
|
...title === void 0 ? {} : { title },
|
|
@@ -1644,7 +1644,7 @@ function Link({ href, children, title, external = true, className }) {
|
|
|
1644
1644
|
target: "_blank",
|
|
1645
1645
|
rel: "noopener noreferrer"
|
|
1646
1646
|
} : {}
|
|
1647
|
-
}, children, external ? h$
|
|
1647
|
+
}, children, external ? h$71(_deepseek_ai_dsh_client_ui_primitives.IconRightUpOutlineRegular, { size: 12 }) : null);
|
|
1648
1648
|
}
|
|
1649
1649
|
//#endregion
|
|
1650
1650
|
//#region ../shared/dist/contract/long-task.js
|
|
@@ -1736,7 +1736,7 @@ var LONG_TASK_STOP_ARM_MS = 3e3;
|
|
|
1736
1736
|
//#endregion
|
|
1737
1737
|
//#region ../shared/dist/components/LongTaskRow.js
|
|
1738
1738
|
function RowLink({ href, text }) {
|
|
1739
|
-
return h$
|
|
1739
|
+
return h$71(Link, {
|
|
1740
1740
|
href,
|
|
1741
1741
|
className: "wb-longTaskLink"
|
|
1742
1742
|
}, text);
|
|
@@ -1766,7 +1766,7 @@ function LongTaskRow(props) {
|
|
|
1766
1766
|
const stop = props.stop;
|
|
1767
1767
|
const busy = stop?.busy === true;
|
|
1768
1768
|
const stopWhy = stop?.failed ?? "";
|
|
1769
|
-
useEffect$
|
|
1769
|
+
useEffect$32(() => {
|
|
1770
1770
|
if (!armed) return void 0;
|
|
1771
1771
|
const timer = setTimeout(() => setArmed(false), LONG_TASK_STOP_ARM_MS);
|
|
1772
1772
|
return () => clearTimeout(timer);
|
|
@@ -1785,14 +1785,14 @@ function LongTaskRow(props) {
|
|
|
1785
1785
|
setArmed(false);
|
|
1786
1786
|
stop.onStop();
|
|
1787
1787
|
};
|
|
1788
|
-
return h$
|
|
1788
|
+
return h$71("div", { className: "wb-longTask" }, h$71("p", { className: "wb-longTaskHead" }, h$71(_deepseek_ai_dsh_client_ui_primitives.StateDot, {
|
|
1789
1789
|
state: longTaskDot(props.status),
|
|
1790
1790
|
size: 10
|
|
1791
|
-
}), h$
|
|
1791
|
+
}), h$71("span", { className: "wb-longTaskHeadline" }, props.headline), (props.links ?? []).map((link) => h$71(RowLink, {
|
|
1792
1792
|
href: link.href,
|
|
1793
1793
|
key: `${link.text}@${link.href}`,
|
|
1794
1794
|
text: link.text
|
|
1795
|
-
})), stop === void 0 ? null : h$
|
|
1795
|
+
})), stop === void 0 ? null : h$71("button", {
|
|
1796
1796
|
type: "button",
|
|
1797
1797
|
className: `wb-longTaskStop${armed ? " wb-longTaskStopArmed" : ""}`,
|
|
1798
1798
|
"data-stop-state": longTaskStopStage({
|
|
@@ -1803,31 +1803,31 @@ function LongTaskRow(props) {
|
|
|
1803
1803
|
disabled: busy,
|
|
1804
1804
|
onClick: onStopPress,
|
|
1805
1805
|
onBlur: () => setArmed(false)
|
|
1806
|
-
}, h$
|
|
1806
|
+
}, h$71(_deepseek_ai_dsh_client_ui_primitives.IconStopFillRegular, { size: 12 }), armed ? h$71("span", { className: "wb-longTaskStopLabel" }, stop.askLabel) : null)), problem === "" ? null : h$71("p", { className: "wb-longTaskProblem" }, problem), stopWhy === "" ? null : h$71("p", { className: "wb-longTaskStopWhy" }, stopWhy), !failed ? null : h$71(Fragment$22, null, steps.length === 0 || props.stepsTitle === void 0 ? null : h$71(_deepseek_ai_dsh_client_ui_primitives.DisclosureRow, {
|
|
1807
1807
|
className: "wb-longTaskDump",
|
|
1808
|
-
icon: h$
|
|
1808
|
+
icon: h$71(_deepseek_ai_dsh_client_ui_primitives.IconFlatListOutlineRegular, { size: 14 }),
|
|
1809
1809
|
title: props.stepsTitle,
|
|
1810
1810
|
open: stepsOpen,
|
|
1811
1811
|
expandable: true,
|
|
1812
1812
|
expandOnRowClick: true,
|
|
1813
1813
|
previewChevron: true,
|
|
1814
1814
|
onToggle: () => setStepsOpen(!stepsOpen)
|
|
1815
|
-
}, h$
|
|
1815
|
+
}, h$71(_deepseek_ai_dsh_client_ui_primitives.CodeBlock, {
|
|
1816
1816
|
code: steps.join("\n"),
|
|
1817
1817
|
className: "wb-longTaskDump",
|
|
1818
1818
|
showHeader: props.copyLabel !== void 0,
|
|
1819
1819
|
copyLabel: props.copyLabel ?? "",
|
|
1820
1820
|
copiedLabel: props.copiedLabel ?? ""
|
|
1821
|
-
})), raw === "" || props.rawTitle === void 0 ? null : h$
|
|
1821
|
+
})), raw === "" || props.rawTitle === void 0 ? null : h$71(_deepseek_ai_dsh_client_ui_primitives.DisclosureRow, {
|
|
1822
1822
|
className: "wb-longTaskDump",
|
|
1823
|
-
icon: h$
|
|
1823
|
+
icon: h$71(_deepseek_ai_dsh_client_ui_primitives.IconCodeOutlineRegular, { size: 14 }),
|
|
1824
1824
|
title: props.rawTitle,
|
|
1825
1825
|
open: rawOpen,
|
|
1826
1826
|
expandable: true,
|
|
1827
1827
|
expandOnRowClick: true,
|
|
1828
1828
|
previewChevron: true,
|
|
1829
1829
|
onToggle: () => setRawOpen(!rawOpen)
|
|
1830
|
-
}, h$
|
|
1830
|
+
}, h$71(_deepseek_ai_dsh_client_ui_primitives.CodeBlock, {
|
|
1831
1831
|
code: raw,
|
|
1832
1832
|
className: "wb-longTaskDump",
|
|
1833
1833
|
showHeader: props.copyLabel !== void 0,
|
|
@@ -1843,13 +1843,13 @@ function LongTaskRow(props) {
|
|
|
1843
1843
|
* @returns 一叠占位条。
|
|
1844
1844
|
*/
|
|
1845
1845
|
function SkeletonRows({ rows = 4 }) {
|
|
1846
|
-
return h$
|
|
1846
|
+
return h$71("div", {
|
|
1847
1847
|
className: "wb-skeleton",
|
|
1848
1848
|
"aria-hidden": "true"
|
|
1849
|
-
}, Array.from({ length: rows }, (_, index) => h$
|
|
1849
|
+
}, Array.from({ length: rows }, (_, index) => h$71("span", {
|
|
1850
1850
|
key: index,
|
|
1851
1851
|
className: "wb-skeletonRow"
|
|
1852
|
-
}, h$
|
|
1852
|
+
}, h$71("span", { className: "wb-skeletonBar wb-skeletonBarTitle" }), h$71("span", { className: "wb-skeletonBar wb-skeletonBarMeta" }))));
|
|
1853
1853
|
}
|
|
1854
1854
|
/**
|
|
1855
1855
|
* 居中一屏:要他先选一个 / 正在读 / 读不到时用它占住卡片版面。
|
|
@@ -1862,13 +1862,13 @@ function SkeletonRows({ rows = 4 }) {
|
|
|
1862
1862
|
* @returns 一个 `role="status"` 的居中块。
|
|
1863
1863
|
*/
|
|
1864
1864
|
function CenteredState({ icon, title, hint, detail, action, compact = false }) {
|
|
1865
|
-
return h$
|
|
1865
|
+
return h$71("div", {
|
|
1866
1866
|
className: compact ? "wb-centered wb-centeredCompact" : "wb-centered",
|
|
1867
1867
|
role: "status"
|
|
1868
|
-
}, icon === null ? null : h$
|
|
1868
|
+
}, icon === null ? null : h$71("span", {
|
|
1869
1869
|
className: "wb-centeredHero",
|
|
1870
1870
|
"aria-hidden": "true"
|
|
1871
|
-
}, icon), h$
|
|
1871
|
+
}, icon), h$71("div", { className: "wb-centeredTitle" }, title), hint === void 0 ? null : h$71("div", { className: "wb-centeredHint" }, hint), detail === void 0 ? null : h$71("div", { className: "wb-centeredDetail" }, detail), action === void 0 ? null : h$71("div", { className: "wb-centeredAction" }, action));
|
|
1872
1872
|
}
|
|
1873
1873
|
/**
|
|
1874
1874
|
* 就绪但空:它只是 `CenteredState` 的简写,标题就是那句空态文案。
|
|
@@ -1878,7 +1878,7 @@ function CenteredState({ icon, title, hint, detail, action, compact = false }) {
|
|
|
1878
1878
|
* @returns 一个居中块。
|
|
1879
1879
|
*/
|
|
1880
1880
|
function EmptyState({ text, icon = null, compact = false }) {
|
|
1881
|
-
return h$
|
|
1881
|
+
return h$71(CenteredState, {
|
|
1882
1882
|
icon,
|
|
1883
1883
|
title: text,
|
|
1884
1884
|
compact
|
|
@@ -1896,7 +1896,7 @@ function EmptyState({ text, icon = null, compact = false }) {
|
|
|
1896
1896
|
* @returns 一组按钮。
|
|
1897
1897
|
*/
|
|
1898
1898
|
function SaveBar({ busy, disabled, labels, onCancel, onSave }) {
|
|
1899
|
-
return h$
|
|
1899
|
+
return h$71(FormActions, { actions: [{
|
|
1900
1900
|
key: "cancel",
|
|
1901
1901
|
label: labels.cancel,
|
|
1902
1902
|
kind: "default",
|
|
@@ -1929,7 +1929,7 @@ function SaveBar({ busy, disabled, labels, onCancel, onSave }) {
|
|
|
1929
1929
|
* @returns 一颗 `<button>`。
|
|
1930
1930
|
*/
|
|
1931
1931
|
function selectTriggerNode(args) {
|
|
1932
|
-
return h$
|
|
1932
|
+
return h$71("button", {
|
|
1933
1933
|
type: "button",
|
|
1934
1934
|
id: args.id,
|
|
1935
1935
|
className: args.className,
|
|
@@ -1940,7 +1940,7 @@ function selectTriggerNode(args) {
|
|
|
1940
1940
|
"aria-label": args.ariaLabel,
|
|
1941
1941
|
title: args.title,
|
|
1942
1942
|
onClick: args.onOpen
|
|
1943
|
-
}, args.iconOnly ? h$
|
|
1943
|
+
}, args.iconOnly ? h$71("span", { className: "wb-selectIcon" }, args.icon) : h$71(Fragment$22, null, args.icon === void 0 ? null : h$71("span", { className: "wb-selectIcon" }, args.icon), h$71("span", { className: "wb-selectValue" }, args.value), h$71("span", { className: "wb-selectChevron" }, h$71(_deepseek_ai_dsh_client_ui_primitives.IconChevronDownOutlineRegular, { size: 14 }))));
|
|
1944
1944
|
}
|
|
1945
1945
|
/**
|
|
1946
1946
|
* 名单还没读到时的触发器:禁用 + `aria-busy` 的按钮,`SelectField` 在 `loading` 那档画它。
|
|
@@ -1952,7 +1952,7 @@ function selectTriggerNode(args) {
|
|
|
1952
1952
|
* @returns 一颗禁用且 `aria-busy` 的按钮。
|
|
1953
1953
|
*/
|
|
1954
1954
|
function selectLoadingNode(args) {
|
|
1955
|
-
return h$
|
|
1955
|
+
return h$71("button", {
|
|
1956
1956
|
type: "button",
|
|
1957
1957
|
id: args.id,
|
|
1958
1958
|
className: `${args.className} wb-selectLoading`,
|
|
@@ -1961,7 +1961,7 @@ function selectLoadingNode(args) {
|
|
|
1961
1961
|
"aria-invalid": args.invalid || void 0,
|
|
1962
1962
|
"aria-label": args.ariaLabel,
|
|
1963
1963
|
title: args.loadingText
|
|
1964
|
-
}, h$
|
|
1964
|
+
}, h$71("span", { className: "wb-selectValue" }, h$71(_deepseek_ai_dsh_client_ui_primitives.TextShimmer, { active: true }, args.loadingText ?? "…")), h$71("span", { className: "wb-selectChevron" }, h$71(Spinner, { size: 14 })));
|
|
1965
1965
|
}
|
|
1966
1966
|
//#endregion
|
|
1967
1967
|
//#region ../shared/dist/components/TextField.js
|
|
@@ -1971,7 +1971,7 @@ function selectLoadingNode(args) {
|
|
|
1971
1971
|
* @returns 输入框元素;`className` 是追加在基础类名之后,而不是替换它。
|
|
1972
1972
|
*/
|
|
1973
1973
|
function TextField({ invalid = false, className, ...rest }) {
|
|
1974
|
-
return h$
|
|
1974
|
+
return h$71("input", {
|
|
1975
1975
|
...rest,
|
|
1976
1976
|
className: className === void 0 ? "wb-textField" : `wb-textField ${className}`,
|
|
1977
1977
|
"aria-invalid": invalid || void 0
|
|
@@ -1994,7 +1994,7 @@ function itemOf(option, revealId) {
|
|
|
1994
1994
|
...option.icon === void 0 ? {} : { icon: option.icon },
|
|
1995
1995
|
...option.disabled === true ? { disabled: true } : {}
|
|
1996
1996
|
};
|
|
1997
|
-
const revealed = (node) => h$
|
|
1997
|
+
const revealed = (node) => h$71("span", {
|
|
1998
1998
|
className: "wb-selectReveal",
|
|
1999
1999
|
"data-wb-select-reveal": ""
|
|
2000
2000
|
}, node);
|
|
@@ -2010,20 +2010,20 @@ function revealNode() {
|
|
|
2010
2010
|
return found instanceof HTMLElement ? found : null;
|
|
2011
2011
|
}
|
|
2012
2012
|
function useRevealOnOpen(open, revealId) {
|
|
2013
|
-
useEffect$
|
|
2013
|
+
useEffect$32(() => {
|
|
2014
2014
|
if (!open || revealId === void 0) return;
|
|
2015
2015
|
revealNode()?.scrollIntoView({ block: "nearest" });
|
|
2016
2016
|
}, [open, revealId]);
|
|
2017
2017
|
}
|
|
2018
2018
|
function selectValueNode(current, renderValue, placeholder) {
|
|
2019
|
-
if (current === void 0) return h$
|
|
2019
|
+
if (current === void 0) return h$71("span", { className: "wb-selectPlaceholder" }, placeholder ?? "—");
|
|
2020
2020
|
return renderValue === void 0 ? current.label : renderValue(current);
|
|
2021
2021
|
}
|
|
2022
2022
|
function searchNode(args) {
|
|
2023
|
-
return h$
|
|
2023
|
+
return h$71("span", {
|
|
2024
2024
|
ref: args.boxRef,
|
|
2025
2025
|
className: args.className
|
|
2026
|
-
}, h$
|
|
2026
|
+
}, h$71("span", { className: "wb-selectSearchIcon" }, h$71(_deepseek_ai_dsh_client_ui_primitives.IconSearchOutlineRegular, { size: 14 })), h$71(TextField, {
|
|
2027
2027
|
id: args.id,
|
|
2028
2028
|
name: args.name,
|
|
2029
2029
|
className: "wb-selectSearchInput",
|
|
@@ -2038,7 +2038,7 @@ function searchNode(args) {
|
|
|
2038
2038
|
}));
|
|
2039
2039
|
}
|
|
2040
2040
|
function menuNode(args) {
|
|
2041
|
-
return h$
|
|
2041
|
+
return h$71(_deepseek_ai_dsh_client_ui_primitives.Menu, {
|
|
2042
2042
|
open: args.open,
|
|
2043
2043
|
portal: true,
|
|
2044
2044
|
className: "wb-selectAnchor",
|
|
@@ -2055,11 +2055,11 @@ function menuNode(args) {
|
|
|
2055
2055
|
});
|
|
2056
2056
|
}
|
|
2057
2057
|
function framed(label, hint, className, control) {
|
|
2058
|
-
const inner = label === void 0 ? hint === void 0 ? control : h$
|
|
2058
|
+
const inner = label === void 0 ? hint === void 0 ? control : h$71("span", { className: "wb-select" }, control, h$71("span", { className: "wb-selectHint" }, hint)) : h$71(Field, {
|
|
2059
2059
|
label,
|
|
2060
2060
|
hint
|
|
2061
2061
|
}, control);
|
|
2062
|
-
return className === void 0 ? inner : h$
|
|
2062
|
+
return className === void 0 ? inner : h$71("div", { className }, inner);
|
|
2063
2063
|
}
|
|
2064
2064
|
/** 算候选项用来匹配搜索的文本:有 `searchText` 就用它,否则取字符串标签;标签不是字符串又没给它是空串(这项搜不到)。 */
|
|
2065
2065
|
function searchTextOf(option) {
|
|
@@ -2124,11 +2124,11 @@ function useSelectState(props) {
|
|
|
2124
2124
|
if (openProp === void 0) setOpenState(next);
|
|
2125
2125
|
onOpenChange?.(next);
|
|
2126
2126
|
};
|
|
2127
|
-
useEffect$
|
|
2127
|
+
useEffect$32(() => {
|
|
2128
2128
|
if (!open || props.search === false) return;
|
|
2129
2129
|
boxRef.current?.querySelector("input")?.focus();
|
|
2130
2130
|
}, [open, props.search]);
|
|
2131
|
-
useEffect$
|
|
2131
|
+
useEffect$32(() => {
|
|
2132
2132
|
if (open) {
|
|
2133
2133
|
wasOpenRef.current = true;
|
|
2134
2134
|
return;
|
|
@@ -2198,7 +2198,7 @@ function SelectField(props) {
|
|
|
2198
2198
|
ariaLabel,
|
|
2199
2199
|
loadingText
|
|
2200
2200
|
}));
|
|
2201
|
-
if (fallback !== void 0 && options.length === 0) return framed(label, hint, className, h$
|
|
2201
|
+
if (fallback !== void 0 && options.length === 0) return framed(label, hint, className, h$71(TextField, {
|
|
2202
2202
|
id,
|
|
2203
2203
|
name,
|
|
2204
2204
|
className: "wb-selectFallback",
|
|
@@ -2281,11 +2281,11 @@ function SelectField(props) {
|
|
|
2281
2281
|
* @returns 一个 `role="group"` 的 section。
|
|
2282
2282
|
*/
|
|
2283
2283
|
function SettingsSection({ label, title, action, children }) {
|
|
2284
|
-
return h$
|
|
2284
|
+
return h$71("section", {
|
|
2285
2285
|
className: "wb-settings",
|
|
2286
2286
|
role: "group",
|
|
2287
2287
|
"aria-label": label
|
|
2288
|
-
}, h$
|
|
2288
|
+
}, h$71("header", { className: "wb-settingsHead" }, h$71("span", { className: "wb-settingsTitle" }, title), action), children);
|
|
2289
2289
|
}
|
|
2290
2290
|
//#endregion
|
|
2291
2291
|
//#region ../shared/dist/components/Stack.js
|
|
@@ -2295,7 +2295,7 @@ function SettingsSection({ label, title, action, children }) {
|
|
|
2295
2295
|
* @returns 竖排的 div。
|
|
2296
2296
|
*/
|
|
2297
2297
|
function Stack({ children }) {
|
|
2298
|
-
return h$
|
|
2298
|
+
return h$71("div", { className: "wb-stack" }, children);
|
|
2299
2299
|
}
|
|
2300
2300
|
//#endregion
|
|
2301
2301
|
//#region ../shared/dist/components/StateBlock.js
|
|
@@ -2310,12 +2310,12 @@ function Stack({ children }) {
|
|
|
2310
2310
|
* @returns 一个 div。
|
|
2311
2311
|
*/
|
|
2312
2312
|
function StateBlock({ title, dot, hint, actions, resolving, children }) {
|
|
2313
|
-
return h$
|
|
2313
|
+
return h$71("div", { className: "wb-stateBlock" }, title === void 0 && dot === void 0 ? null : h$71("p", { className: "wb-stateBlockTitle" }, dot, title), resolving === void 0 ? null : h$71("p", { className: "wb-stateBlockResolving" }, resolving), hint === void 0 ? null : h$71("p", { className: "wb-stateBlockHint" }, hint), children, actions === void 0 ? null : h$71("div", { className: "wb-stateBlockActions" }, actions));
|
|
2314
2314
|
}
|
|
2315
2315
|
//#endregion
|
|
2316
2316
|
//#region ../shared/dist/components/icons.js
|
|
2317
2317
|
function Shell({ size, strokeWidth = 1, viewBox = "0 0 16 16", children }) {
|
|
2318
|
-
return h$
|
|
2318
|
+
return h$71("svg", {
|
|
2319
2319
|
width: size,
|
|
2320
2320
|
height: size,
|
|
2321
2321
|
viewBox,
|
|
@@ -2332,10 +2332,10 @@ function Shell({ size, strokeWidth = 1, viewBox = "0 0 16 16", children }) {
|
|
|
2332
2332
|
* @returns 一枚 `aria-hidden` 的 svg。
|
|
2333
2333
|
*/
|
|
2334
2334
|
function IconConversation({ size = 16 }) {
|
|
2335
|
-
return h$
|
|
2335
|
+
return h$71(Shell, {
|
|
2336
2336
|
size,
|
|
2337
2337
|
strokeWidth: 1.3
|
|
2338
|
-
}, h$
|
|
2338
|
+
}, h$71("path", {
|
|
2339
2339
|
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",
|
|
2340
2340
|
stroke: "currentColor",
|
|
2341
2341
|
strokeLinejoin: "round"
|
|
@@ -2350,30 +2350,30 @@ var BRAND_TAIL_TRANSFORM = "translate(14.6263 10.5853) scale(1.95)";
|
|
|
2350
2350
|
* @returns 一枚 `aria-hidden` 的 svg。
|
|
2351
2351
|
*/
|
|
2352
2352
|
function IconBrandMark({ size = 24 }) {
|
|
2353
|
-
return h$
|
|
2353
|
+
return h$71(Shell, {
|
|
2354
2354
|
size,
|
|
2355
2355
|
viewBox: "0 0 64 64"
|
|
2356
|
-
}, h$
|
|
2356
|
+
}, h$71("path", {
|
|
2357
2357
|
d: BRAND_FRAME,
|
|
2358
2358
|
fill: "currentColor",
|
|
2359
2359
|
fillRule: "evenodd"
|
|
2360
|
-
}), h$
|
|
2360
|
+
}), h$71("rect", {
|
|
2361
2361
|
x: 27.5,
|
|
2362
2362
|
y: 48,
|
|
2363
2363
|
width: 9,
|
|
2364
2364
|
height: 4.75,
|
|
2365
2365
|
fill: "currentColor"
|
|
2366
|
-
}), h$
|
|
2366
|
+
}), h$71("rect", {
|
|
2367
2367
|
x: 19,
|
|
2368
2368
|
y: 52.75,
|
|
2369
2369
|
width: 26,
|
|
2370
2370
|
height: 4.75,
|
|
2371
2371
|
rx: 2.375,
|
|
2372
2372
|
fill: "currentColor"
|
|
2373
|
-
}), h$
|
|
2373
|
+
}), h$71("g", { transform: BRAND_TAIL_TRANSFORM }, h$71("path", {
|
|
2374
2374
|
d: BRAND_TAIL,
|
|
2375
2375
|
fill: "currentColor"
|
|
2376
|
-
}), h$
|
|
2376
|
+
}), h$71("circle", {
|
|
2377
2377
|
cx: 6.885,
|
|
2378
2378
|
cy: 13.742,
|
|
2379
2379
|
r: 1.95,
|
|
@@ -2386,30 +2386,30 @@ function IconBrandMark({ size = 24 }) {
|
|
|
2386
2386
|
* @returns 一枚 `aria-hidden` 的 svg。
|
|
2387
2387
|
*/
|
|
2388
2388
|
function IconOpencli({ size = 16 }) {
|
|
2389
|
-
return h$
|
|
2389
|
+
return h$71(Shell, {
|
|
2390
2390
|
size,
|
|
2391
2391
|
viewBox: "0 0 64 64"
|
|
2392
|
-
}, h$
|
|
2392
|
+
}, h$71("defs", null, h$71("linearGradient", {
|
|
2393
2393
|
id: "opencli-mark",
|
|
2394
2394
|
x1: "0%",
|
|
2395
2395
|
y1: "0%",
|
|
2396
2396
|
x2: "100%",
|
|
2397
2397
|
y2: "100%"
|
|
2398
|
-
}, h$
|
|
2398
|
+
}, h$71("stop", {
|
|
2399
2399
|
offset: "0%",
|
|
2400
2400
|
stopColor: "#00e5a0"
|
|
2401
|
-
}), h$
|
|
2401
|
+
}), h$71("stop", {
|
|
2402
2402
|
offset: "50%",
|
|
2403
2403
|
stopColor: "#00b4d8"
|
|
2404
|
-
}), h$
|
|
2404
|
+
}), h$71("stop", {
|
|
2405
2405
|
offset: "100%",
|
|
2406
2406
|
stopColor: "#7b61ff"
|
|
2407
|
-
}))), h$
|
|
2407
|
+
}))), h$71("rect", {
|
|
2408
2408
|
width: 64,
|
|
2409
2409
|
height: 64,
|
|
2410
2410
|
rx: 14,
|
|
2411
2411
|
fill: "#0a0a0f"
|
|
2412
|
-
}), h$
|
|
2412
|
+
}), h$71("text", {
|
|
2413
2413
|
x: "50%",
|
|
2414
2414
|
y: "54%",
|
|
2415
2415
|
dominantBaseline: "middle",
|
|
@@ -2426,10 +2426,10 @@ function IconOpencli({ size = 16 }) {
|
|
|
2426
2426
|
* @returns 一枚 `aria-hidden` 的 svg。
|
|
2427
2427
|
*/
|
|
2428
2428
|
function IconNpm({ size = 16 }) {
|
|
2429
|
-
return h$
|
|
2429
|
+
return h$71(Shell, {
|
|
2430
2430
|
size,
|
|
2431
2431
|
viewBox: "0 0 1024 1024"
|
|
2432
|
-
}, h$
|
|
2432
|
+
}, h$71("path", {
|
|
2433
2433
|
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",
|
|
2434
2434
|
fill: "#CB3837"
|
|
2435
2435
|
}));
|
|
@@ -2440,37 +2440,37 @@ function IconNpm({ size = 16 }) {
|
|
|
2440
2440
|
* @returns 一枚 `aria-hidden` 的 svg。
|
|
2441
2441
|
*/
|
|
2442
2442
|
function IconModuleMark({ size = 16 }) {
|
|
2443
|
-
return h$
|
|
2443
|
+
return h$71(Shell, {
|
|
2444
2444
|
size,
|
|
2445
2445
|
viewBox: "0 0 24 24"
|
|
2446
|
-
}, h$
|
|
2446
|
+
}, h$71("defs", null, h$71("linearGradient", {
|
|
2447
2447
|
id: "workbench-module-mark",
|
|
2448
2448
|
x1: "0%",
|
|
2449
2449
|
y1: "0%",
|
|
2450
2450
|
x2: "100%",
|
|
2451
2451
|
y2: "100%"
|
|
2452
|
-
}, h$
|
|
2452
|
+
}, h$71("stop", {
|
|
2453
2453
|
offset: "0%",
|
|
2454
2454
|
stopColor: "#3b82f6"
|
|
2455
|
-
}), h$
|
|
2455
|
+
}), h$71("stop", {
|
|
2456
2456
|
offset: "55%",
|
|
2457
2457
|
stopColor: "#8b5cf6"
|
|
2458
|
-
}), h$
|
|
2458
|
+
}), h$71("stop", {
|
|
2459
2459
|
offset: "100%",
|
|
2460
2460
|
stopColor: "#14b8a6"
|
|
2461
|
-
}))), h$
|
|
2461
|
+
}))), h$71("rect", {
|
|
2462
2462
|
width: 24,
|
|
2463
2463
|
height: 24,
|
|
2464
2464
|
rx: 7,
|
|
2465
2465
|
fill: "url(#workbench-module-mark)"
|
|
2466
|
-
}), h$
|
|
2466
|
+
}), h$71("rect", {
|
|
2467
2467
|
x: "4.6",
|
|
2468
2468
|
y: "4.6",
|
|
2469
2469
|
width: "6.2",
|
|
2470
2470
|
height: "6.2",
|
|
2471
2471
|
rx: "1.9",
|
|
2472
2472
|
fill: "#ffffff"
|
|
2473
|
-
}), h$
|
|
2473
|
+
}), h$71("rect", {
|
|
2474
2474
|
x: "13.2",
|
|
2475
2475
|
y: "4.6",
|
|
2476
2476
|
width: "6.2",
|
|
@@ -2478,7 +2478,7 @@ function IconModuleMark({ size = 16 }) {
|
|
|
2478
2478
|
rx: "1.9",
|
|
2479
2479
|
fill: "#ffffff",
|
|
2480
2480
|
fillOpacity: .78
|
|
2481
|
-
}), h$
|
|
2481
|
+
}), h$71("rect", {
|
|
2482
2482
|
x: "4.6",
|
|
2483
2483
|
y: "13.2",
|
|
2484
2484
|
width: "6.2",
|
|
@@ -2486,7 +2486,7 @@ function IconModuleMark({ size = 16 }) {
|
|
|
2486
2486
|
rx: "1.9",
|
|
2487
2487
|
fill: "#ffffff",
|
|
2488
2488
|
fillOpacity: .78
|
|
2489
|
-
}), h$
|
|
2489
|
+
}), h$71("rect", {
|
|
2490
2490
|
x: "13.2",
|
|
2491
2491
|
y: "13.2",
|
|
2492
2492
|
width: "6.2",
|
|
@@ -2501,7 +2501,7 @@ function IconModuleMark({ size = 16 }) {
|
|
|
2501
2501
|
* @returns 一枚 `aria-hidden` 的 svg。
|
|
2502
2502
|
*/
|
|
2503
2503
|
function IconPanelScreen({ size = 16 }) {
|
|
2504
|
-
return h$
|
|
2504
|
+
return h$71("svg", {
|
|
2505
2505
|
width: size,
|
|
2506
2506
|
height: size,
|
|
2507
2507
|
viewBox: "0 0 1024 1024",
|
|
@@ -2512,7 +2512,7 @@ function IconPanelScreen({ size = 16 }) {
|
|
|
2512
2512
|
display: "block",
|
|
2513
2513
|
overflow: "hidden"
|
|
2514
2514
|
}
|
|
2515
|
-
}, h$
|
|
2515
|
+
}, h$71("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" }));
|
|
2516
2516
|
}
|
|
2517
2517
|
//#endregion
|
|
2518
2518
|
//#region ../shared/dist/config/storage.js
|
|
@@ -3122,11 +3122,14 @@ var en = {
|
|
|
3122
3122
|
"panels.market.update": "Update",
|
|
3123
3123
|
"panels.market.swapSlow": "Not swapped yet — maybe a slow or failed download. Press Update again; if it stays like this, restart dsh.",
|
|
3124
3124
|
"panels.market.removeSlow": "Not removed yet — maybe a slow network or an uninstall that did not finish. Check again in a moment; if it stays like this, restart dsh.",
|
|
3125
|
-
"panels.market.updateNoChange": "Update
|
|
3125
|
+
"panels.market.updateNoChange": "Update did not swap in: still {from}; the registry has {latest}.",
|
|
3126
3126
|
"panels.market.updateUnknownVersion": "(unknown)",
|
|
3127
3127
|
"panels.market.updateGone": "Update failed: the module is gone after the update.",
|
|
3128
3128
|
"panels.market.updateRestored": "Update failed: the new version could not be found after the update, so {version} was put back.",
|
|
3129
|
-
"panels.market.updateBehind": "Installed {installed}, but the
|
|
3129
|
+
"panels.market.updateBehind": "Installed {installed}, but the registry has {latest}.",
|
|
3130
|
+
"panels.market.updateStuck.title": "Update did not swap in",
|
|
3131
|
+
"panels.market.updateStuck.factNoChange": "Still {from} on disk; the registry has {latest}.",
|
|
3132
|
+
"panels.market.updateStuck.copiedHint": "Paste it into a terminal, then restart the workbench once.",
|
|
3130
3133
|
"panels.market.selfUpdateFailed": "Workbench update failed: {reason}",
|
|
3131
3134
|
"panels.market.selfUpdateUnknown": "the outside process left no reason (see ~/.dsh/workbench/self-update.log)",
|
|
3132
3135
|
"panels.market.selfUpdateRolledBack": "Workbench update failed; rolled back to {version}.",
|
|
@@ -3212,6 +3215,7 @@ var en = {
|
|
|
3212
3215
|
"panels.market.restartNeeded": "The new version is installed — restart once to pick it up.",
|
|
3213
3216
|
"panels.market.foot": "After installing, enable it in the panel page of that project.",
|
|
3214
3217
|
"panels.market.checkUpdates": "Check for updates",
|
|
3218
|
+
"panels.market.checkAll": "Check all updates",
|
|
3215
3219
|
"panels.market.checkingNow": "Checking…",
|
|
3216
3220
|
"panels.market.checkFailed": "The last check failed. Check your connection and retry.",
|
|
3217
3221
|
"panels.market.checkedAt": "Last checked: {time}",
|
|
@@ -3276,6 +3280,8 @@ var en = {
|
|
|
3276
3280
|
"panels.market.add.failurePermission": "No write permission, cannot install",
|
|
3277
3281
|
"panels.market.add.failureBuildBlocked": "A dependency wants to run install scripts; you have to allow it first",
|
|
3278
3282
|
"panels.market.add.failureIntegrity": "The downloaded package failed its integrity check",
|
|
3283
|
+
"panels.market.add.failureStopProfile": "The old copy is still in use (the workbench has this module loaded), so this dsh version will not overwrite it in place.",
|
|
3284
|
+
"panels.market.add.failureCancelled": "This run was cancelled and nothing changed.",
|
|
3279
3285
|
"panels.market.add.failureTimeout": "The install timed out",
|
|
3280
3286
|
"panels.market.add.failurePnpmMissing": "pnpm was not found, cannot install",
|
|
3281
3287
|
"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.",
|
|
@@ -3359,7 +3365,7 @@ var en = {
|
|
|
3359
3365
|
"panels.discover.missingIndex": "This repository has no {path} yet.",
|
|
3360
3366
|
"panels.discover.initTitle": "Initialize this repository as a module market index?",
|
|
3361
3367
|
"panels.discover.initCta": "Initialize market index",
|
|
3362
|
-
"panels.discover.initWhat": "It will write market
|
|
3368
|
+
"panels.discover.initWhat": "It will write the index directory market/ and README.md on {branch}, commit once, and push. Modules you publish from this workbench will commit their build files under artifacts/<package-name>/<version>/ and their entry under market/<package-name>/<version>.json. The repository stays owned by its owner.",
|
|
3363
3369
|
"panels.discover.initBranch": "Branch",
|
|
3364
3370
|
"panels.discover.initBranchHint": "The index and build files go to this branch; an empty repository gets it created.",
|
|
3365
3371
|
"panels.discover.initBranchBad": "Use only letters, digits, dots, underscores, slashes, or dashes in a branch name.",
|
|
@@ -3704,7 +3710,7 @@ var en = {
|
|
|
3704
3710
|
"approval.publish.artifacts": "Build files",
|
|
3705
3711
|
"approval.publish.index": "Index",
|
|
3706
3712
|
"approval.publish.commits": "Commits",
|
|
3707
|
-
"approval.publish.twoCommits": "build files +
|
|
3713
|
+
"approval.publish.twoCommits": "build files + entry file in 2 commits, one push",
|
|
3708
3714
|
"approval.publish.reading": "Reading…",
|
|
3709
3715
|
"approval.publish.changelog": "Changelog for {version}",
|
|
3710
3716
|
"approval.publish.changelogPending": "This release writes the {version} changelog entry",
|
|
@@ -3862,11 +3868,14 @@ var dictionaries = {
|
|
|
3862
3868
|
"panels.market.update": "更新",
|
|
3863
3869
|
"panels.market.swapSlow": "还没换上:可能网慢或没装上。再点一次「更新」;一直这样就把 dsh 重启一遍。",
|
|
3864
3870
|
"panels.market.removeSlow": "还没卸掉:可能网慢或卸载没走完。等一下再看;一直这样就把 dsh 重启一遍。",
|
|
3865
|
-
"panels.market.updateNoChange": "
|
|
3871
|
+
"panels.market.updateNoChange": "更新没换上:还是 {from};源上最新是 {latest}。",
|
|
3866
3872
|
"panels.market.updateUnknownVersion": "(问不到)",
|
|
3867
3873
|
"panels.market.updateGone": "更新失败:更新后找不到这个模块。",
|
|
3868
3874
|
"panels.market.updateRestored": "更新失败:更新后找不到新版本,已把 {version} 装回去。",
|
|
3869
|
-
"panels.market.updateBehind": "装上了 {installed},但源上最新是 {latest}
|
|
3875
|
+
"panels.market.updateBehind": "装上了 {installed},但源上最新是 {latest}。",
|
|
3876
|
+
"panels.market.updateStuck.title": "更新没换上",
|
|
3877
|
+
"panels.market.updateStuck.factNoChange": "盘上还是 {from};源上最新是 {latest}。",
|
|
3878
|
+
"panels.market.updateStuck.copiedHint": "粘到终端跑一次,跑完重启一次工作台。",
|
|
3870
3879
|
"panels.market.selfUpdateFailed": "工作台更新失败:{reason}",
|
|
3871
3880
|
"panels.market.selfUpdateUnknown": "外部进程没留下原因(看 ~/.dsh/workbench/self-update.log)",
|
|
3872
3881
|
"panels.market.selfUpdateRolledBack": "工作台更新失败,已回滚到 {version}。",
|
|
@@ -3952,6 +3961,7 @@ var dictionaries = {
|
|
|
3952
3961
|
"panels.market.restartNeeded": "新版装好了,重启一次才生效。",
|
|
3953
3962
|
"panels.market.foot": "装好后到那个项目的面板页勾选它,模块才会出现。",
|
|
3954
3963
|
"panels.market.checkUpdates": "检查更新",
|
|
3964
|
+
"panels.market.checkAll": "检查全部更新",
|
|
3955
3965
|
"panels.market.checkingNow": "正在检查…",
|
|
3956
3966
|
"panels.market.checkFailed": "最近一次没查到,检查网络后重试",
|
|
3957
3967
|
"panels.market.checkedAt": "最近检查:{time}",
|
|
@@ -4016,6 +4026,8 @@ var dictionaries = {
|
|
|
4016
4026
|
"panels.market.add.failurePermission": "没有写入权限,无法安装",
|
|
4017
4027
|
"panels.market.add.failureBuildBlocked": "有依赖的安装脚本需要你允许后才能继续",
|
|
4018
4028
|
"panels.market.add.failureIntegrity": "下载的安装包校验失败",
|
|
4029
|
+
"panels.market.add.failureStopProfile": "旧版还在用着(工作台正加载这个模块),这一版 dsh 不肯就地覆盖。",
|
|
4030
|
+
"panels.market.add.failureCancelled": "这次操作被取消了,什么都没动。",
|
|
4019
4031
|
"panels.market.add.failureTimeout": "安装超时",
|
|
4020
4032
|
"panels.market.add.failurePnpmMissing": "没有找到 pnpm,无法安装",
|
|
4021
4033
|
"panels.market.add.failureInstalled": "它已经装在这份工作台里了。同一个包不能就地覆盖,得先卸载再装;这次卸载也没成功。",
|
|
@@ -4099,7 +4111,7 @@ var dictionaries = {
|
|
|
4099
4111
|
"panels.discover.missingIndex": "仓库里还没有索引文件 {path}",
|
|
4100
4112
|
"panels.discover.initTitle": "把这个仓库初始化成模块市场索引?",
|
|
4101
4113
|
"panels.discover.initCta": "初始化成市场索引",
|
|
4102
|
-
"panels.discover.initWhat": "会在 {branch}
|
|
4114
|
+
"panels.discover.initWhat": "会在 {branch} 分支写索引目录 market/ 与 README.md,提交一次并推上去;之后从这个工作台发布的模块会把打包好的文件提交到 artifacts/<包名>/<版本>/,条目写到 market/<包名>/<版本>.json。仓库的写权限归它的所有者。",
|
|
4103
4115
|
"panels.discover.initBranch": "分支",
|
|
4104
4116
|
"panels.discover.initBranchHint": "索引和打包文件都发到这个分支;空仓库会新建它。",
|
|
4105
4117
|
"panels.discover.initBranchBad": "分支名只能用字母、数字、点、下划线、斜杠或短横线",
|
|
@@ -4444,7 +4456,7 @@ var dictionaries = {
|
|
|
4444
4456
|
"approval.publish.artifacts": "打包文件",
|
|
4445
4457
|
"approval.publish.index": "索引",
|
|
4446
4458
|
"approval.publish.commits": "提交",
|
|
4447
|
-
"approval.publish.twoCommits": "打包文件 +
|
|
4459
|
+
"approval.publish.twoCommits": "打包文件 + 条目文件两次提交,一次推送",
|
|
4448
4460
|
"approval.publish.reading": "读取中…",
|
|
4449
4461
|
"approval.publish.changelog": "{version} 的更新日志",
|
|
4450
4462
|
"approval.publish.changelogPending": "{version} 这一版会写进更新日志,随包发布",
|
|
@@ -4796,6 +4808,33 @@ function IconModules({ size = 16 }) {
|
|
|
4796
4808
|
}));
|
|
4797
4809
|
}
|
|
4798
4810
|
//#endregion
|
|
4811
|
+
//#region src/shared/api/unit-board.ts
|
|
4812
|
+
function gateOf(capability, mode) {
|
|
4813
|
+
if (mode === "none") return { gated: true };
|
|
4814
|
+
if (capability === null) return { gated: true };
|
|
4815
|
+
return { gated: capability.status === "ok" || capability.status === "unchecked" };
|
|
4816
|
+
}
|
|
4817
|
+
function splitBlocker(candidates) {
|
|
4818
|
+
let blocker;
|
|
4819
|
+
let notice;
|
|
4820
|
+
for (const candidate of candidates) {
|
|
4821
|
+
if (candidate === void 0) continue;
|
|
4822
|
+
if (candidate.severity === "block") {
|
|
4823
|
+
blocker ??= candidate;
|
|
4824
|
+
continue;
|
|
4825
|
+
}
|
|
4826
|
+
notice ??= candidate;
|
|
4827
|
+
}
|
|
4828
|
+
return {
|
|
4829
|
+
...blocker === void 0 ? {} : { blocker },
|
|
4830
|
+
...blocker !== void 0 || notice === void 0 ? {} : { notice }
|
|
4831
|
+
};
|
|
4832
|
+
}
|
|
4833
|
+
function probeKeyOf(error) {
|
|
4834
|
+
if (error === void 0) return null;
|
|
4835
|
+
return error.code === "" ? "unknown" : error.code;
|
|
4836
|
+
}
|
|
4837
|
+
//#endregion
|
|
4799
4838
|
//#region src/shared/hooks/fact-transports.ts
|
|
4800
4839
|
function sseTransport(options) {
|
|
4801
4840
|
return { start({ onFrame, cursor, onMode }) {
|
|
@@ -5014,12 +5053,12 @@ function shareCapabilityFetch(force, load) {
|
|
|
5014
5053
|
};
|
|
5015
5054
|
return promise;
|
|
5016
5055
|
}
|
|
5017
|
-
var readSeq
|
|
5056
|
+
var readSeq = 0;
|
|
5018
5057
|
var newestForceSeq$1 = -1;
|
|
5019
5058
|
function runCapabilityRead(options) {
|
|
5020
5059
|
const { force, silent = false, load = fetchAll } = options;
|
|
5021
5060
|
const at = epoch$1;
|
|
5022
|
-
const seq = readSeq
|
|
5061
|
+
const seq = readSeq += 1;
|
|
5023
5062
|
if (force) newestForceSeq$1 = seq;
|
|
5024
5063
|
const shown = force && !silent;
|
|
5025
5064
|
if (shown) beginProbe();
|
|
@@ -5055,33 +5094,6 @@ function useCapabilityProbe() {
|
|
|
5055
5094
|
return (0, react.useSyncExternalStore)(subscribeProbe, probeValue);
|
|
5056
5095
|
}
|
|
5057
5096
|
//#endregion
|
|
5058
|
-
//#region src/shared/api/unit-board.ts
|
|
5059
|
-
function gateOf(capability, mode) {
|
|
5060
|
-
if (mode === "none") return { gated: true };
|
|
5061
|
-
if (capability === null) return { gated: true };
|
|
5062
|
-
return { gated: capability.status === "ok" || capability.status === "unchecked" };
|
|
5063
|
-
}
|
|
5064
|
-
function splitBlocker(candidates) {
|
|
5065
|
-
let blocker;
|
|
5066
|
-
let notice;
|
|
5067
|
-
for (const candidate of candidates) {
|
|
5068
|
-
if (candidate === void 0) continue;
|
|
5069
|
-
if (candidate.severity === "block") {
|
|
5070
|
-
blocker ??= candidate;
|
|
5071
|
-
continue;
|
|
5072
|
-
}
|
|
5073
|
-
notice ??= candidate;
|
|
5074
|
-
}
|
|
5075
|
-
return {
|
|
5076
|
-
...blocker === void 0 ? {} : { blocker },
|
|
5077
|
-
...blocker !== void 0 || notice === void 0 ? {} : { notice }
|
|
5078
|
-
};
|
|
5079
|
-
}
|
|
5080
|
-
function probeKeyOf(error) {
|
|
5081
|
-
if (error === void 0) return null;
|
|
5082
|
-
return error.code === "" ? "unknown" : error.code;
|
|
5083
|
-
}
|
|
5084
|
-
//#endregion
|
|
5085
5097
|
//#region src/shared/hooks/use-capability-gate.ts
|
|
5086
5098
|
var use_capability_gate_exports = /* @__PURE__ */ __exportAll({
|
|
5087
5099
|
useCapabilityGate: () => useCapabilityGate,
|
|
@@ -5331,6 +5343,9 @@ function latestCheckSummary(modules) {
|
|
|
5331
5343
|
unknown
|
|
5332
5344
|
};
|
|
5333
5345
|
}
|
|
5346
|
+
function checkedPluginCount(plugins) {
|
|
5347
|
+
return (plugins ?? []).filter((plugin) => plugin.latest !== void 0).length;
|
|
5348
|
+
}
|
|
5334
5349
|
function installedRows(modules, manifests, listed, names, defaults = /* @__PURE__ */ new Set(), changed = {}) {
|
|
5335
5350
|
const titles = new Map(manifests.map((manifest) => [manifest.id, manifest.titleKey]));
|
|
5336
5351
|
const rows = [];
|
|
@@ -5862,14 +5877,14 @@ function refresh$1(now) {
|
|
|
5862
5877
|
//#endregion
|
|
5863
5878
|
//#region src/app/layouts/rightbar/market-install.ts
|
|
5864
5879
|
var NO_UNITS$2 = /* @__PURE__ */ new Set();
|
|
5865
|
-
var IDLE$
|
|
5880
|
+
var IDLE$2 = {
|
|
5866
5881
|
installing: false,
|
|
5867
5882
|
applied: NO_UNITS$2
|
|
5868
5883
|
};
|
|
5869
5884
|
var tokens = /* @__PURE__ */ new Set();
|
|
5870
5885
|
var applied = /* @__PURE__ */ new Map();
|
|
5871
5886
|
var listeners$5 = /* @__PURE__ */ new Set();
|
|
5872
|
-
var snapshot$1 = IDLE$
|
|
5887
|
+
var snapshot$1 = IDLE$2;
|
|
5873
5888
|
var timer$2;
|
|
5874
5889
|
function sameUnits(left, right) {
|
|
5875
5890
|
if (left.size !== right.size) return false;
|
|
@@ -5886,7 +5901,7 @@ function schedule$1(now) {
|
|
|
5886
5901
|
}
|
|
5887
5902
|
function refresh(now) {
|
|
5888
5903
|
for (const [unit, at] of applied) if (now - at >= 15e3) applied.delete(unit);
|
|
5889
|
-
const next = tokens.size === 0 && applied.size === 0 ? IDLE$
|
|
5904
|
+
const next = tokens.size === 0 && applied.size === 0 ? IDLE$2 : {
|
|
5890
5905
|
installing: tokens.size > 0,
|
|
5891
5906
|
applied: applied.size === 0 ? NO_UNITS$2 : new Set(applied.keys())
|
|
5892
5907
|
};
|
|
@@ -6160,138 +6175,138 @@ function useMarketTransient(input) {
|
|
|
6160
6175
|
};
|
|
6161
6176
|
}
|
|
6162
6177
|
var MarketPage_module_default = {
|
|
6163
|
-
marketList: "
|
|
6164
|
-
marketRow: "
|
|
6165
|
-
marketIcon: "
|
|
6166
|
-
marketMain: "
|
|
6167
|
-
marketName: "
|
|
6168
|
-
marketStatus: "
|
|
6169
|
-
marketStateText: "
|
|
6170
|
-
marketSep: "
|
|
6171
|
-
marketReason: "
|
|
6172
|
-
marketVersion: "
|
|
6173
|
-
marketLocalTag: "
|
|
6174
|
-
marketEnd: "
|
|
6175
|
-
marketSwitchSeat: "
|
|
6176
|
-
marketActions: "
|
|
6177
|
-
marketUpdateAction: "
|
|
6178
|
-
marketSelfDivider: "
|
|
6179
|
-
marketSection: "
|
|
6180
|
-
marketSectionHead: "
|
|
6181
|
-
marketSectionIcon: "
|
|
6182
|
-
marketSectionTitle: "
|
|
6183
|
-
marketSectionCount: "
|
|
6184
|
-
marketSectionAction: "
|
|
6185
|
-
marketSectionQuiet: "
|
|
6186
|
-
marketProgress: "
|
|
6187
|
-
marketNote: "
|
|
6188
|
-
marketFailure: "
|
|
6189
|
-
marketFailureSeat: "
|
|
6190
|
-
marketEmpty: "
|
|
6191
|
-
marketPage: "
|
|
6192
|
-
marketPageHead: "
|
|
6193
|
-
marketPageTitle: "
|
|
6194
|
-
marketPageIntro: "
|
|
6195
|
-
marketPageTools: "
|
|
6196
|
-
marketPanel: "
|
|
6197
|
-
marketTabs: "
|
|
6198
|
-
marketTabList: "
|
|
6199
|
-
marketAddButton: "
|
|
6200
|
-
marketEmptyTitle: "
|
|
6201
|
-
discoverPage: "
|
|
6202
|
-
discoverBar: "
|
|
6203
|
-
discoverTools: "
|
|
6204
|
-
discoverMarket: "
|
|
6205
|
-
discoverMarketButton: "
|
|
6206
|
-
discoverMarketName: "
|
|
6207
|
-
discoverLabels: "
|
|
6208
|
-
discoverSort: "
|
|
6209
|
-
discoverRefresh: "
|
|
6210
|
-
discoverSearch: "
|
|
6211
|
-
discoverSearchField: "
|
|
6212
|
-
discoverSearchFieldFilled: "
|
|
6213
|
-
discoverSearchClear: "
|
|
6214
|
-
discoverChips: "
|
|
6215
|
-
discoverList: "
|
|
6216
|
-
discoverCard: "
|
|
6217
|
-
discoverArtwork: "
|
|
6218
|
-
discoverArtworkImage: "
|
|
6219
|
-
discoverMain: "
|
|
6220
|
-
discoverTitleRow: "
|
|
6221
|
-
discoverCardOpen: "
|
|
6222
|
-
discoverStrong: "
|
|
6223
|
-
discoverDesc: "
|
|
6224
|
-
discoverMeta: "
|
|
6225
|
-
discoverMuted: "
|
|
6226
|
-
discoverEnd: "
|
|
6227
|
-
discoverUpdateAction: "
|
|
6228
|
-
discoverBlocked: "
|
|
6229
|
-
discoverEmpty: "
|
|
6230
|
-
discoverEmptyTitle: "
|
|
6231
|
-
discoverDetail: "
|
|
6232
|
-
discoverCrumb: "
|
|
6233
|
-
discoverCrumbIcon: "
|
|
6234
|
-
discoverDetailHead: "
|
|
6235
|
-
discoverDetailTitle: "
|
|
6236
|
-
discoverDetailText: "
|
|
6237
|
-
discoverDetailPanel: "
|
|
6238
|
-
discoverDetailTabs: "
|
|
6239
|
-
discoverDetailTabList: "
|
|
6240
|
-
discoverDocBody: "
|
|
6241
|
-
discoverDocNotice: "
|
|
6242
|
-
discoverSection: "
|
|
6243
|
-
discoverSectionTitle: "
|
|
6244
|
-
discoverFacts: "
|
|
6245
|
-
discoverFactRow: "
|
|
6246
|
-
discoverFactKind: "
|
|
6247
|
-
discoverFactValue: "
|
|
6248
|
-
discoverCode: "
|
|
6249
|
-
discoverTags: "
|
|
6250
|
-
discoverLink: "
|
|
6251
|
-
discoverVersions: "
|
|
6252
|
-
discoverVersionRow: "
|
|
6253
|
-
discoverVersionName: "
|
|
6254
|
-
discoverError: "
|
|
6255
|
-
discoverFailure: "
|
|
6256
|
-
discoverLoading: "
|
|
6257
|
-
discoverNotice: "
|
|
6258
|
-
discoverMore: "
|
|
6259
|
-
discoverTransport: "
|
|
6260
|
-
discoverTransportHead: "
|
|
6261
|
-
discoverTransportTitle: "
|
|
6262
|
-
discoverTransportKind: "
|
|
6263
|
-
discoverTransportState: "
|
|
6264
|
-
discoverTransportRows: "
|
|
6265
|
-
discoverTransportRow: "
|
|
6266
|
-
discoverTransportRadio: "
|
|
6267
|
-
discoverTransportCustom: "
|
|
6268
|
-
discoverTransportInput: "
|
|
6269
|
-
discoverInstallBar: "
|
|
6270
|
-
discoverInstallText: "
|
|
6271
|
-
discoverDialog: "
|
|
6272
|
-
discoverDialogBody: "
|
|
6273
|
-
discoverSourceList: "
|
|
6274
|
-
discoverSourceRow: "
|
|
6275
|
-
discoverSourceConfirm: "
|
|
6276
|
-
discoverSourcePick: "
|
|
6277
|
-
discoverSourceRadio: "
|
|
6278
|
-
discoverSourceMain: "
|
|
6279
|
-
discoverSourceHead: "
|
|
6280
|
-
discoverSourceUrl: "
|
|
6281
|
-
discoverSourceMore: "
|
|
6282
|
-
discoverSourceLoading: "
|
|
6283
|
-
discoverSourceHint: "
|
|
6284
|
-
discoverSourceError: "
|
|
6285
|
-
discoverSourceForm: "
|
|
6286
|
-
discoverGrow: "
|
|
6287
|
-
discoverField: "
|
|
6288
|
-
discoverFieldLabel: "
|
|
6289
|
-
discoverConfirmHead: "
|
|
6290
|
-
discoverSkeletonFill: "
|
|
6291
|
-
"wb-skeleton": "_wb-
|
|
6292
|
-
discoverSkeletonBar: "
|
|
6293
|
-
discoverSkeletonTitle: "
|
|
6294
|
-
discoverSkeletonDesc: "
|
|
6178
|
+
marketList: "_marketList_1vpw3_1",
|
|
6179
|
+
marketRow: "_marketRow_1vpw3_10",
|
|
6180
|
+
marketIcon: "_marketIcon_1vpw3_20",
|
|
6181
|
+
marketMain: "_marketMain_1vpw3_32",
|
|
6182
|
+
marketName: "_marketName_1vpw3_39",
|
|
6183
|
+
marketStatus: "_marketStatus_1vpw3_48",
|
|
6184
|
+
marketStateText: "_marketStateText_1vpw3_58",
|
|
6185
|
+
marketSep: "_marketSep_1vpw3_62",
|
|
6186
|
+
marketReason: "_marketReason_1vpw3_66",
|
|
6187
|
+
marketVersion: "_marketVersion_1vpw3_72",
|
|
6188
|
+
marketLocalTag: "_marketLocalTag_1vpw3_94",
|
|
6189
|
+
marketEnd: "_marketEnd_1vpw3_105",
|
|
6190
|
+
marketSwitchSeat: "_marketSwitchSeat_1vpw3_112",
|
|
6191
|
+
marketActions: "_marketActions_1vpw3_125",
|
|
6192
|
+
marketUpdateAction: "_marketUpdateAction_1vpw3_131",
|
|
6193
|
+
marketSelfDivider: "_marketSelfDivider_1vpw3_137",
|
|
6194
|
+
marketSection: "_marketSection_1vpw3_143",
|
|
6195
|
+
marketSectionHead: "_marketSectionHead_1vpw3_150",
|
|
6196
|
+
marketSectionIcon: "_marketSectionIcon_1vpw3_156",
|
|
6197
|
+
marketSectionTitle: "_marketSectionTitle_1vpw3_163",
|
|
6198
|
+
marketSectionCount: "_marketSectionCount_1vpw3_169",
|
|
6199
|
+
marketSectionAction: "_marketSectionAction_1vpw3_175",
|
|
6200
|
+
marketSectionQuiet: "_marketSectionQuiet_1vpw3_183",
|
|
6201
|
+
marketProgress: "_marketProgress_1vpw3_195",
|
|
6202
|
+
marketNote: "_marketNote_1vpw3_205",
|
|
6203
|
+
marketFailure: "_marketFailure_1vpw3_212",
|
|
6204
|
+
marketFailureSeat: "_marketFailureSeat_1vpw3_219",
|
|
6205
|
+
marketEmpty: "_marketEmpty_1vpw3_224",
|
|
6206
|
+
marketPage: "_marketPage_1vpw3_229",
|
|
6207
|
+
marketPageHead: "_marketPageHead_1vpw3_247",
|
|
6208
|
+
marketPageTitle: "_marketPageTitle_1vpw3_255",
|
|
6209
|
+
marketPageIntro: "_marketPageIntro_1vpw3_260",
|
|
6210
|
+
marketPageTools: "_marketPageTools_1vpw3_266",
|
|
6211
|
+
marketPanel: "_marketPanel_1vpw3_275",
|
|
6212
|
+
marketTabs: "_marketTabs_1vpw3_285",
|
|
6213
|
+
marketTabList: "_marketTabList_1vpw3_290",
|
|
6214
|
+
marketAddButton: "_marketAddButton_1vpw3_295",
|
|
6215
|
+
marketEmptyTitle: "_marketEmptyTitle_1vpw3_312",
|
|
6216
|
+
discoverPage: "_discoverPage_1vpw3_317",
|
|
6217
|
+
discoverBar: "_discoverBar_1vpw3_324",
|
|
6218
|
+
discoverTools: "_discoverTools_1vpw3_331",
|
|
6219
|
+
discoverMarket: "_discoverMarket_1vpw3_337",
|
|
6220
|
+
discoverMarketButton: "_discoverMarketButton_1vpw3_342",
|
|
6221
|
+
discoverMarketName: "_discoverMarketName_1vpw3_349",
|
|
6222
|
+
discoverLabels: "_discoverLabels_1vpw3_355",
|
|
6223
|
+
discoverSort: "_discoverSort_1vpw3_360",
|
|
6224
|
+
discoverRefresh: "_discoverRefresh_1vpw3_365",
|
|
6225
|
+
discoverSearch: "_discoverSearch_1vpw3_369",
|
|
6226
|
+
discoverSearchField: "_discoverSearchField_1vpw3_377",
|
|
6227
|
+
discoverSearchFieldFilled: "_discoverSearchFieldFilled_1vpw3_382",
|
|
6228
|
+
discoverSearchClear: "_discoverSearchClear_1vpw3_391",
|
|
6229
|
+
discoverChips: "_discoverChips_1vpw3_442",
|
|
6230
|
+
discoverList: "_discoverList_1vpw3_449",
|
|
6231
|
+
discoverCard: "_discoverCard_1vpw3_458",
|
|
6232
|
+
discoverArtwork: "_discoverArtwork_1vpw3_472",
|
|
6233
|
+
discoverArtworkImage: "_discoverArtworkImage_1vpw3_484",
|
|
6234
|
+
discoverMain: "_discoverMain_1vpw3_488",
|
|
6235
|
+
discoverTitleRow: "_discoverTitleRow_1vpw3_496",
|
|
6236
|
+
discoverCardOpen: "_discoverCardOpen_1vpw3_504",
|
|
6237
|
+
discoverStrong: "_discoverStrong_1vpw3_535",
|
|
6238
|
+
discoverDesc: "_discoverDesc_1vpw3_541",
|
|
6239
|
+
discoverMeta: "_discoverMeta_1vpw3_550",
|
|
6240
|
+
discoverMuted: "_discoverMuted_1vpw3_557",
|
|
6241
|
+
discoverEnd: "_discoverEnd_1vpw3_563",
|
|
6242
|
+
discoverUpdateAction: "_discoverUpdateAction_1vpw3_572",
|
|
6243
|
+
discoverBlocked: "_discoverBlocked_1vpw3_577",
|
|
6244
|
+
discoverEmpty: "_discoverEmpty_1vpw3_582",
|
|
6245
|
+
discoverEmptyTitle: "_discoverEmptyTitle_1vpw3_591",
|
|
6246
|
+
discoverDetail: "_discoverDetail_1vpw3_601",
|
|
6247
|
+
discoverCrumb: "_discoverCrumb_1vpw3_607",
|
|
6248
|
+
discoverCrumbIcon: "_discoverCrumbIcon_1vpw3_630",
|
|
6249
|
+
discoverDetailHead: "_discoverDetailHead_1vpw3_634",
|
|
6250
|
+
discoverDetailTitle: "_discoverDetailTitle_1vpw3_640",
|
|
6251
|
+
discoverDetailText: "_discoverDetailText_1vpw3_646",
|
|
6252
|
+
discoverDetailPanel: "_discoverDetailPanel_1vpw3_653",
|
|
6253
|
+
discoverDetailTabs: "_discoverDetailTabs_1vpw3_660",
|
|
6254
|
+
discoverDetailTabList: "_discoverDetailTabList_1vpw3_665",
|
|
6255
|
+
discoverDocBody: "_discoverDocBody_1vpw3_670",
|
|
6256
|
+
discoverDocNotice: "_discoverDocNotice_1vpw3_675",
|
|
6257
|
+
discoverSection: "_discoverSection_1vpw3_681",
|
|
6258
|
+
discoverSectionTitle: "_discoverSectionTitle_1vpw3_688",
|
|
6259
|
+
discoverFacts: "_discoverFacts_1vpw3_694",
|
|
6260
|
+
discoverFactRow: "_discoverFactRow_1vpw3_699",
|
|
6261
|
+
discoverFactKind: "_discoverFactKind_1vpw3_709",
|
|
6262
|
+
discoverFactValue: "_discoverFactValue_1vpw3_715",
|
|
6263
|
+
discoverCode: "_discoverCode_1vpw3_723",
|
|
6264
|
+
discoverTags: "_discoverTags_1vpw3_732",
|
|
6265
|
+
discoverLink: "_discoverLink_1vpw3_739",
|
|
6266
|
+
discoverVersions: "_discoverVersions_1vpw3_749",
|
|
6267
|
+
discoverVersionRow: "_discoverVersionRow_1vpw3_757",
|
|
6268
|
+
discoverVersionName: "_discoverVersionName_1vpw3_765",
|
|
6269
|
+
discoverError: "_discoverError_1vpw3_770",
|
|
6270
|
+
discoverFailure: "_discoverFailure_1vpw3_779",
|
|
6271
|
+
discoverLoading: "_discoverLoading_1vpw3_785",
|
|
6272
|
+
discoverNotice: "_discoverNotice_1vpw3_794",
|
|
6273
|
+
discoverMore: "_discoverMore_1vpw3_812",
|
|
6274
|
+
discoverTransport: "_discoverTransport_1vpw3_816",
|
|
6275
|
+
discoverTransportHead: "_discoverTransportHead_1vpw3_822",
|
|
6276
|
+
discoverTransportTitle: "_discoverTransportTitle_1vpw3_829",
|
|
6277
|
+
discoverTransportKind: "_discoverTransportKind_1vpw3_834",
|
|
6278
|
+
discoverTransportState: "_discoverTransportState_1vpw3_839",
|
|
6279
|
+
discoverTransportRows: "_discoverTransportRows_1vpw3_847",
|
|
6280
|
+
discoverTransportRow: "_discoverTransportRow_1vpw3_847",
|
|
6281
|
+
discoverTransportRadio: "_discoverTransportRadio_1vpw3_868",
|
|
6282
|
+
discoverTransportCustom: "_discoverTransportCustom_1vpw3_908",
|
|
6283
|
+
discoverTransportInput: "_discoverTransportInput_1vpw3_914",
|
|
6284
|
+
discoverInstallBar: "_discoverInstallBar_1vpw3_919",
|
|
6285
|
+
discoverInstallText: "_discoverInstallText_1vpw3_930",
|
|
6286
|
+
discoverDialog: "_discoverDialog_1vpw3_936",
|
|
6287
|
+
discoverDialogBody: "_discoverDialogBody_1vpw3_940",
|
|
6288
|
+
discoverSourceList: "_discoverSourceList_1vpw3_946",
|
|
6289
|
+
discoverSourceRow: "_discoverSourceRow_1vpw3_954",
|
|
6290
|
+
discoverSourceConfirm: "_discoverSourceConfirm_1vpw3_963",
|
|
6291
|
+
discoverSourcePick: "_discoverSourcePick_1vpw3_969",
|
|
6292
|
+
discoverSourceRadio: "_discoverSourceRadio_1vpw3_978",
|
|
6293
|
+
discoverSourceMain: "_discoverSourceMain_1vpw3_986",
|
|
6294
|
+
discoverSourceHead: "_discoverSourceHead_1vpw3_994",
|
|
6295
|
+
discoverSourceUrl: "_discoverSourceUrl_1vpw3_1002",
|
|
6296
|
+
discoverSourceMore: "_discoverSourceMore_1vpw3_1012",
|
|
6297
|
+
discoverSourceLoading: "_discoverSourceLoading_1vpw3_1016",
|
|
6298
|
+
discoverSourceHint: "_discoverSourceHint_1vpw3_1026",
|
|
6299
|
+
discoverSourceError: "_discoverSourceError_1vpw3_1040",
|
|
6300
|
+
discoverSourceForm: "_discoverSourceForm_1vpw3_1046",
|
|
6301
|
+
discoverGrow: "_discoverGrow_1vpw3_1052",
|
|
6302
|
+
discoverField: "_discoverField_1vpw3_1057",
|
|
6303
|
+
discoverFieldLabel: "_discoverFieldLabel_1vpw3_1063",
|
|
6304
|
+
discoverConfirmHead: "_discoverConfirmHead_1vpw3_1068",
|
|
6305
|
+
discoverSkeletonFill: "_discoverSkeletonFill_1vpw3_1074",
|
|
6306
|
+
"wb-skeleton": "_wb-skeleton_1vpw3_1",
|
|
6307
|
+
discoverSkeletonBar: "_discoverSkeletonBar_1vpw3_1083",
|
|
6308
|
+
discoverSkeletonTitle: "_discoverSkeletonTitle_1vpw3_1090",
|
|
6309
|
+
discoverSkeletonDesc: "_discoverSkeletonDesc_1vpw3_1094"
|
|
6295
6310
|
};
|
|
6296
6311
|
//#endregion
|
|
6297
6312
|
//#region src/app/layouts/market/discover-states.tsx
|
|
@@ -6371,6 +6386,75 @@ function MarketChecking({ t }) {
|
|
|
6371
6386
|
function MarketEmpty({ t }) {
|
|
6372
6387
|
return /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketEmpty }, /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketEmptyTitle }, t("panels.market.empty")));
|
|
6373
6388
|
}
|
|
6389
|
+
var FailureCard_module_default = {
|
|
6390
|
+
block: "_block_mxnbc_1",
|
|
6391
|
+
head: "_head_mxnbc_9",
|
|
6392
|
+
title: "_title_mxnbc_16",
|
|
6393
|
+
fact: "_fact_mxnbc_22",
|
|
6394
|
+
actions: "_actions_mxnbc_30",
|
|
6395
|
+
hint: "_hint_mxnbc_38",
|
|
6396
|
+
output: "_output_mxnbc_44"
|
|
6397
|
+
};
|
|
6398
|
+
//#endregion
|
|
6399
|
+
//#region src/app/layouts/rightbar/FailureCard.tsx
|
|
6400
|
+
var COPIED_MS$1 = 1200;
|
|
6401
|
+
function terminalLabels(t) {
|
|
6402
|
+
return {
|
|
6403
|
+
commandLine: (line) => t("panels.market.failure.term.commandLine", { line }),
|
|
6404
|
+
signal: (signal) => t("panels.market.failure.term.signal", { signal }),
|
|
6405
|
+
exitCode: (exitCode) => t("panels.market.failure.term.exitCode", { exitCode }),
|
|
6406
|
+
noExitCode: t("panels.market.failure.term.noExitCode"),
|
|
6407
|
+
running: t("panels.market.failure.term.running"),
|
|
6408
|
+
failed: t("panels.market.failure.term.failed"),
|
|
6409
|
+
done: t("panels.market.failure.term.done"),
|
|
6410
|
+
copy: t("panels.market.failure.term.copy"),
|
|
6411
|
+
copied: t("panels.market.failure.term.copied"),
|
|
6412
|
+
noOutput: t("panels.market.failure.term.noOutput"),
|
|
6413
|
+
collapseAria: t("panels.market.failure.term.collapse"),
|
|
6414
|
+
collapse: t("panels.market.failure.term.collapse"),
|
|
6415
|
+
expandAria: (hidden) => t("panels.market.failure.term.expandAria", { hidden }),
|
|
6416
|
+
expand: (hidden) => t("panels.market.failure.term.expand", { hidden })
|
|
6417
|
+
};
|
|
6418
|
+
}
|
|
6419
|
+
function FailureCard({ t, model, onRecheck, rechecking }) {
|
|
6420
|
+
const hasOutput = model.command !== "" || model.output !== "";
|
|
6421
|
+
const [copied, setCopied] = (0, react.useState)(false);
|
|
6422
|
+
const [open, setOpen] = (0, react.useState)(false);
|
|
6423
|
+
const onCopy = (0, react.useCallback)(() => {
|
|
6424
|
+
(0, _deepseek_ai_dsh_client_ui_primitives.writeClipboard)(model.fix).then((ok) => {
|
|
6425
|
+
if (!ok) return;
|
|
6426
|
+
setCopied(true);
|
|
6427
|
+
setTimeout(() => setCopied(false), COPIED_MS$1);
|
|
6428
|
+
});
|
|
6429
|
+
}, [model.fix]);
|
|
6430
|
+
return /* @__PURE__ */ (0, react.createElement)("div", { className: FailureCard_module_default.block }, /* @__PURE__ */ (0, react.createElement)("div", { className: FailureCard_module_default.head }, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.StateDot, {
|
|
6431
|
+
state: "error",
|
|
6432
|
+
size: 8
|
|
6433
|
+
}), /* @__PURE__ */ (0, react.createElement)("span", { className: FailureCard_module_default.title }, model.title)), /* @__PURE__ */ (0, react.createElement)("p", { className: FailureCard_module_default.fact }, model.fact), /* @__PURE__ */ (0, react.createElement)("div", { className: FailureCard_module_default.actions }, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
6434
|
+
type: "button",
|
|
6435
|
+
size: "sm",
|
|
6436
|
+
variant: "ghost",
|
|
6437
|
+
onClick: onCopy
|
|
6438
|
+
}, copied ? t("panels.market.failure.copied") : model.fixLabel), /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
6439
|
+
type: "button",
|
|
6440
|
+
size: "sm",
|
|
6441
|
+
variant: "ghost",
|
|
6442
|
+
disabled: rechecking,
|
|
6443
|
+
onClick: onRecheck
|
|
6444
|
+
}, t("panels.market.failure.recheck")), hasOutput ? /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
6445
|
+
type: "button",
|
|
6446
|
+
size: "sm",
|
|
6447
|
+
variant: "ghost",
|
|
6448
|
+
onClick: () => setOpen(!open)
|
|
6449
|
+
}, open ? t("panels.market.failure.hideOutput") : t("panels.market.failure.showOutput")) : null), copied ? /* @__PURE__ */ (0, react.createElement)("p", { className: FailureCard_module_default.hint }, model.copiedHint) : null, open && hasOutput ? /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.TerminalBlock, {
|
|
6450
|
+
command: model.command,
|
|
6451
|
+
output: model.output,
|
|
6452
|
+
exitCode: model.exitCode,
|
|
6453
|
+
maxLines: 8,
|
|
6454
|
+
labels: terminalLabels(t),
|
|
6455
|
+
className: FailureCard_module_default.output
|
|
6456
|
+
}) : null);
|
|
6457
|
+
}
|
|
6374
6458
|
//#endregion
|
|
6375
6459
|
//#region src/app/layouts/rightbar/failure-card-text.ts
|
|
6376
6460
|
var TITLE_KEY = {
|
|
@@ -6380,6 +6464,22 @@ var TITLE_KEY = {
|
|
|
6380
6464
|
unknown: "panels.market.failure.unknown"
|
|
6381
6465
|
};
|
|
6382
6466
|
var ASK_AGENT_KEY = "panels.market.failure.askAgent";
|
|
6467
|
+
function updateStuckCardOf(t, input) {
|
|
6468
|
+
const unknown = t("panels.market.updateUnknownVersion");
|
|
6469
|
+
return {
|
|
6470
|
+
title: t("panels.market.updateStuck.title"),
|
|
6471
|
+
fact: input.fact ?? t("panels.market.updateStuck.factNoChange", {
|
|
6472
|
+
from: input.from ?? unknown,
|
|
6473
|
+
latest: input.latest ?? unknown
|
|
6474
|
+
}),
|
|
6475
|
+
fixLabel: t("panels.market.failure.copyFix"),
|
|
6476
|
+
fix: input.command,
|
|
6477
|
+
copiedHint: t("panels.market.updateStuck.copiedHint"),
|
|
6478
|
+
command: "",
|
|
6479
|
+
output: "",
|
|
6480
|
+
exitCode: null
|
|
6481
|
+
};
|
|
6482
|
+
}
|
|
6383
6483
|
function shellPath(path) {
|
|
6384
6484
|
return /^[\w./@%+-]+$/.test(path) ? path : `'${path.replaceAll("'", "'\\''")}'`;
|
|
6385
6485
|
}
|
|
@@ -6447,75 +6547,6 @@ function failureCardOf(failure, t) {
|
|
|
6447
6547
|
exitCode: failure.exitCode
|
|
6448
6548
|
};
|
|
6449
6549
|
}
|
|
6450
|
-
var FailureCard_module_default = {
|
|
6451
|
-
block: "_block_mxnbc_1",
|
|
6452
|
-
head: "_head_mxnbc_9",
|
|
6453
|
-
title: "_title_mxnbc_16",
|
|
6454
|
-
fact: "_fact_mxnbc_22",
|
|
6455
|
-
actions: "_actions_mxnbc_30",
|
|
6456
|
-
hint: "_hint_mxnbc_38",
|
|
6457
|
-
output: "_output_mxnbc_44"
|
|
6458
|
-
};
|
|
6459
|
-
//#endregion
|
|
6460
|
-
//#region src/app/layouts/rightbar/FailureCard.tsx
|
|
6461
|
-
var COPIED_MS$1 = 1200;
|
|
6462
|
-
function terminalLabels(t) {
|
|
6463
|
-
return {
|
|
6464
|
-
commandLine: (line) => t("panels.market.failure.term.commandLine", { line }),
|
|
6465
|
-
signal: (signal) => t("panels.market.failure.term.signal", { signal }),
|
|
6466
|
-
exitCode: (exitCode) => t("panels.market.failure.term.exitCode", { exitCode }),
|
|
6467
|
-
noExitCode: t("panels.market.failure.term.noExitCode"),
|
|
6468
|
-
running: t("panels.market.failure.term.running"),
|
|
6469
|
-
failed: t("panels.market.failure.term.failed"),
|
|
6470
|
-
done: t("panels.market.failure.term.done"),
|
|
6471
|
-
copy: t("panels.market.failure.term.copy"),
|
|
6472
|
-
copied: t("panels.market.failure.term.copied"),
|
|
6473
|
-
noOutput: t("panels.market.failure.term.noOutput"),
|
|
6474
|
-
collapseAria: t("panels.market.failure.term.collapse"),
|
|
6475
|
-
collapse: t("panels.market.failure.term.collapse"),
|
|
6476
|
-
expandAria: (hidden) => t("panels.market.failure.term.expandAria", { hidden }),
|
|
6477
|
-
expand: (hidden) => t("panels.market.failure.term.expand", { hidden })
|
|
6478
|
-
};
|
|
6479
|
-
}
|
|
6480
|
-
function FailureCard({ t, failure, onRecheck, rechecking }) {
|
|
6481
|
-
const model = failureCardOf(failure, t);
|
|
6482
|
-
const [copied, setCopied] = (0, react.useState)(false);
|
|
6483
|
-
const [open, setOpen] = (0, react.useState)(false);
|
|
6484
|
-
const onCopy = (0, react.useCallback)(() => {
|
|
6485
|
-
(0, _deepseek_ai_dsh_client_ui_primitives.writeClipboard)(model.fix).then((ok) => {
|
|
6486
|
-
if (!ok) return;
|
|
6487
|
-
setCopied(true);
|
|
6488
|
-
setTimeout(() => setCopied(false), COPIED_MS$1);
|
|
6489
|
-
});
|
|
6490
|
-
}, [model.fix]);
|
|
6491
|
-
return /* @__PURE__ */ (0, react.createElement)("div", { className: FailureCard_module_default.block }, /* @__PURE__ */ (0, react.createElement)("div", { className: FailureCard_module_default.head }, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.StateDot, {
|
|
6492
|
-
state: "error",
|
|
6493
|
-
size: 8
|
|
6494
|
-
}), /* @__PURE__ */ (0, react.createElement)("span", { className: FailureCard_module_default.title }, model.title)), /* @__PURE__ */ (0, react.createElement)("p", { className: FailureCard_module_default.fact }, model.fact), /* @__PURE__ */ (0, react.createElement)("div", { className: FailureCard_module_default.actions }, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
6495
|
-
type: "button",
|
|
6496
|
-
size: "sm",
|
|
6497
|
-
variant: "ghost",
|
|
6498
|
-
onClick: onCopy
|
|
6499
|
-
}, copied ? t("panels.market.failure.copied") : model.fixLabel), /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
6500
|
-
type: "button",
|
|
6501
|
-
size: "sm",
|
|
6502
|
-
variant: "ghost",
|
|
6503
|
-
disabled: rechecking,
|
|
6504
|
-
onClick: onRecheck
|
|
6505
|
-
}, t("panels.market.failure.recheck")), /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
6506
|
-
type: "button",
|
|
6507
|
-
size: "sm",
|
|
6508
|
-
variant: "ghost",
|
|
6509
|
-
onClick: () => setOpen(!open)
|
|
6510
|
-
}, open ? t("panels.market.failure.hideOutput") : t("panels.market.failure.showOutput"))), copied ? /* @__PURE__ */ (0, react.createElement)("p", { className: FailureCard_module_default.hint }, model.copiedHint) : null, open ? /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.TerminalBlock, {
|
|
6511
|
-
command: model.command,
|
|
6512
|
-
output: model.output,
|
|
6513
|
-
exitCode: model.exitCode,
|
|
6514
|
-
maxLines: 8,
|
|
6515
|
-
labels: terminalLabels(t),
|
|
6516
|
-
className: FailureCard_module_default.output
|
|
6517
|
-
}) : null);
|
|
6518
|
-
}
|
|
6519
6550
|
//#endregion
|
|
6520
6551
|
//#region src/app/layouts/rightbar/market-section-icon.ts
|
|
6521
6552
|
var SIZE$1 = 14;
|
|
@@ -6725,7 +6756,7 @@ function SharedLine({ t, row, pending, failure, onAct, onRecheck, rechecking })
|
|
|
6725
6756
|
onClick: () => onAct(action)
|
|
6726
6757
|
}, t(ACTION_LABEL_KEY[action]))))), failure === null ? null : failure.failure === void 0 ? /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketFailure }, failure.message) : /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketFailureSeat }, /* @__PURE__ */ (0, react.createElement)(FailureCard, {
|
|
6727
6758
|
t,
|
|
6728
|
-
|
|
6759
|
+
model: failureCardOf(failure.failure, t),
|
|
6729
6760
|
onRecheck,
|
|
6730
6761
|
rechecking
|
|
6731
6762
|
})));
|
|
@@ -6855,6 +6886,17 @@ function MarketLineStatus({ t, row, quiet }) {
|
|
|
6855
6886
|
"aria-hidden": "true"
|
|
6856
6887
|
}, "·"), /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketReason }, noteText)));
|
|
6857
6888
|
}
|
|
6889
|
+
function MarketFailureBlock({ t, failure, onRecheck, rechecking }) {
|
|
6890
|
+
if (failure === null) return null;
|
|
6891
|
+
const model = failure.card ?? (failure.failure === void 0 ? void 0 : failureCardOf(failure.failure, t));
|
|
6892
|
+
if (model !== void 0) return /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketFailureSeat }, /* @__PURE__ */ (0, react.createElement)(FailureCard, {
|
|
6893
|
+
t,
|
|
6894
|
+
model,
|
|
6895
|
+
onRecheck,
|
|
6896
|
+
rechecking
|
|
6897
|
+
}));
|
|
6898
|
+
return /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketFailure }, failure.message);
|
|
6899
|
+
}
|
|
6858
6900
|
function MarketLine({ t, row, pending, failure, onAct, onDefault, boardBusy, onRecheck, rechecking }) {
|
|
6859
6901
|
const running = pending !== null && pending.id === row.id ? pending : null;
|
|
6860
6902
|
const locked = pending !== null;
|
|
@@ -6901,12 +6943,12 @@ function MarketLine({ t, row, pending, failure, onAct, onDefault, boardBusy, onR
|
|
|
6901
6943
|
disabled: boardBusy === true || locked || switchLocked,
|
|
6902
6944
|
label: `${marketRowTitle(row, t)} · ${t("panels.market.defaultLabel")}`,
|
|
6903
6945
|
onChange: (next) => onDefault?.(next)
|
|
6904
|
-
})))),
|
|
6946
|
+
})))), /* @__PURE__ */ (0, react.createElement)(MarketFailureBlock, {
|
|
6905
6947
|
t,
|
|
6906
|
-
failure
|
|
6948
|
+
failure,
|
|
6907
6949
|
onRecheck,
|
|
6908
6950
|
rechecking
|
|
6909
|
-
})
|
|
6951
|
+
}), /* @__PURE__ */ (0, react.createElement)(MarketLineDialogs, {
|
|
6910
6952
|
t,
|
|
6911
6953
|
migrationOpen,
|
|
6912
6954
|
dismissOpen,
|
|
@@ -7113,9 +7155,10 @@ var FAILURE_KEYS = {
|
|
|
7113
7155
|
"incompatible-version": "panels.market.add.failureGeneric",
|
|
7114
7156
|
"not-bundle": "panels.market.add.failureGeneric",
|
|
7115
7157
|
"invalid-spec": "panels.market.add.failureGeneric",
|
|
7116
|
-
"bundle-in-use": "panels.market.add.
|
|
7158
|
+
"bundle-in-use": "panels.market.add.failureStopProfile",
|
|
7117
7159
|
"not-removable": "panels.market.add.failureGeneric",
|
|
7118
|
-
"stop-profile": "panels.market.add.
|
|
7160
|
+
"stop-profile": "panels.market.add.failureStopProfile",
|
|
7161
|
+
cancelled: "panels.market.add.failureCancelled",
|
|
7119
7162
|
"stale-approval": "panels.market.add.failureGeneric"
|
|
7120
7163
|
};
|
|
7121
7164
|
function needsCredentials(change) {
|
|
@@ -7187,6 +7230,7 @@ function updateVerdictOf(input) {
|
|
|
7187
7230
|
...input.restored === void 0 ? {} : { restored: input.restored }
|
|
7188
7231
|
};
|
|
7189
7232
|
const installed = input.module?.version;
|
|
7233
|
+
if ((input.change?.application === "failed" || input.change?.application === "cancelled") && input.change?.errorCode !== "no-change") return { kind: "failed" };
|
|
7190
7234
|
if (input.change?.errorCode === "no-change") return { kind: "no-change" };
|
|
7191
7235
|
if (installed === void 0) return { kind: "ok" };
|
|
7192
7236
|
if (input.clicked !== void 0 && installed === input.clicked) return { kind: "no-change" };
|
|
@@ -7233,6 +7277,10 @@ function restoredOf(value) {
|
|
|
7233
7277
|
const restored = recordOf(value)?.restored;
|
|
7234
7278
|
return typeof restored === "string" && restored !== "" ? restored : void 0;
|
|
7235
7279
|
}
|
|
7280
|
+
function remedyOf(value) {
|
|
7281
|
+
const command = recordOf(recordOf(value)?.remedy)?.command;
|
|
7282
|
+
return typeof command === "string" && command !== "" ? { command } : void 0;
|
|
7283
|
+
}
|
|
7236
7284
|
function marketActOf(options) {
|
|
7237
7285
|
const { t, mocked, rowOf, seats, send, onChanged } = options;
|
|
7238
7286
|
return async (id, action) => {
|
|
@@ -7314,24 +7362,33 @@ function marketActOf(options) {
|
|
|
7314
7362
|
return;
|
|
7315
7363
|
}
|
|
7316
7364
|
const change = changeOf(value);
|
|
7317
|
-
const
|
|
7365
|
+
const remedy = remedyOf(value);
|
|
7366
|
+
const verdict = updateVerdictOf({
|
|
7318
7367
|
action,
|
|
7319
7368
|
change,
|
|
7320
7369
|
module: moduleOf(value),
|
|
7321
7370
|
restored: restoredOf(value),
|
|
7322
7371
|
clicked: next.version,
|
|
7323
7372
|
latest: next.latest
|
|
7324
|
-
})
|
|
7373
|
+
});
|
|
7374
|
+
const failure = updateVerdictText(verdict, t, {
|
|
7325
7375
|
...next.version === void 0 ? {} : { from: next.version },
|
|
7326
7376
|
...next.latest === void 0 ? {} : { latest: next.latest }
|
|
7327
7377
|
});
|
|
7378
|
+
const cardOf = (fact) => remedy === void 0 || verdict.kind !== "no-change" && verdict.kind !== "failed" ? {} : { card: updateStuckCardOf(t, {
|
|
7379
|
+
command: remedy.command,
|
|
7380
|
+
...fact === void 0 ? {} : { fact },
|
|
7381
|
+
...next.version === void 0 ? {} : { from: next.version },
|
|
7382
|
+
...next.latest === void 0 ? {} : { latest: next.latest }
|
|
7383
|
+
}) };
|
|
7328
7384
|
onChanged({ force: true });
|
|
7329
7385
|
if (failure !== void 0) {
|
|
7330
7386
|
seats.setPending(null);
|
|
7331
7387
|
seats.setHeld(void 0);
|
|
7332
7388
|
seats.setFailed({
|
|
7333
7389
|
id,
|
|
7334
|
-
message: failure
|
|
7390
|
+
message: failure,
|
|
7391
|
+
...cardOf()
|
|
7335
7392
|
});
|
|
7336
7393
|
return;
|
|
7337
7394
|
}
|
|
@@ -7346,7 +7403,8 @@ function marketActOf(options) {
|
|
|
7346
7403
|
const reason = changeFailure(change, t);
|
|
7347
7404
|
if (reason !== void 0) seats.setFailed({
|
|
7348
7405
|
id,
|
|
7349
|
-
message: t("panels.market.failed", { reason })
|
|
7406
|
+
message: t("panels.market.failed", { reason }),
|
|
7407
|
+
...cardOf(reason)
|
|
7350
7408
|
});
|
|
7351
7409
|
};
|
|
7352
7410
|
}
|
|
@@ -7424,6 +7482,21 @@ var market_check_module_default = {
|
|
|
7424
7482
|
};
|
|
7425
7483
|
//#endregion
|
|
7426
7484
|
//#region src/app/layouts/market/market-check.tsx
|
|
7485
|
+
function MarketRefreshButton({ label, checking, disabled, onCheck }) {
|
|
7486
|
+
return /* @__PURE__ */ (0, react.createElement)(Tip, { label }, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
7487
|
+
type: "button",
|
|
7488
|
+
variant: "ghost",
|
|
7489
|
+
size: "sm",
|
|
7490
|
+
className: market_check_module_default.button,
|
|
7491
|
+
"aria-label": label,
|
|
7492
|
+
disabled: disabled || checking,
|
|
7493
|
+
icon: /* @__PURE__ */ (0, react.createElement)("span", {
|
|
7494
|
+
className: `${market_check_module_default.icon}${checking ? " wb-spinning" : ""}`,
|
|
7495
|
+
"aria-hidden": "true"
|
|
7496
|
+
}, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconRefreshOutlineRegular, { size: 14 })),
|
|
7497
|
+
onClick: onCheck
|
|
7498
|
+
}));
|
|
7499
|
+
}
|
|
7427
7500
|
function MarketCheck({ t, checkedAt, latestCheck = {
|
|
7428
7501
|
checked: 0,
|
|
7429
7502
|
unknown: 0
|
|
@@ -7439,39 +7512,29 @@ function MarketCheck({ t, checkedAt, latestCheck = {
|
|
|
7439
7512
|
return /* @__PURE__ */ (0, react.createElement)("span", { className: market_check_module_default.check }, status === null ? null : /* @__PURE__ */ (0, react.createElement)("span", {
|
|
7440
7513
|
className: market_check_module_default.status,
|
|
7441
7514
|
"aria-live": "polite"
|
|
7442
|
-
}, status), /* @__PURE__ */ (0, react.createElement)(
|
|
7443
|
-
|
|
7444
|
-
|
|
7445
|
-
|
|
7446
|
-
|
|
7447
|
-
|
|
7448
|
-
disabled: disabled || checking,
|
|
7449
|
-
icon: /* @__PURE__ */ (0, react.createElement)("span", {
|
|
7450
|
-
className: `${market_check_module_default.icon}${checking ? " wb-spinning" : ""}`,
|
|
7451
|
-
"aria-hidden": "true"
|
|
7452
|
-
}, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconRefreshOutlineRegular, { size: 14 })),
|
|
7453
|
-
onClick: onCheck
|
|
7454
|
-
})));
|
|
7515
|
+
}, status), /* @__PURE__ */ (0, react.createElement)(MarketRefreshButton, {
|
|
7516
|
+
label: t("panels.market.checkUpdates"),
|
|
7517
|
+
checking,
|
|
7518
|
+
disabled,
|
|
7519
|
+
onCheck
|
|
7520
|
+
}));
|
|
7455
7521
|
}
|
|
7456
|
-
var PanelFoot_module_default = {
|
|
7457
|
-
foot: "_foot_1ud1j_1",
|
|
7458
|
-
footText: "_footText_1ud1j_13",
|
|
7459
|
-
footTextMd: "_footTextMd_1ud1j_18"
|
|
7460
|
-
};
|
|
7461
7522
|
//#endregion
|
|
7462
|
-
//#region src/
|
|
7463
|
-
function
|
|
7464
|
-
|
|
7523
|
+
//#region src/app/layouts/market/section-check.tsx
|
|
7524
|
+
function SectionCheck({ t, part, seat, latest, disabled, onCheck }) {
|
|
7525
|
+
const { busy } = useVisibleBusy(seat.checking, 500);
|
|
7526
|
+
return /* @__PURE__ */ (0, react.createElement)(MarketCheck, {
|
|
7527
|
+
t,
|
|
7528
|
+
checkedAt: seat.checkedAt,
|
|
7529
|
+
latestCheck: latest,
|
|
7530
|
+
checking: busy,
|
|
7531
|
+
failed: seat.failed,
|
|
7532
|
+
disabled,
|
|
7533
|
+
onCheck: () => onCheck?.(part)
|
|
7534
|
+
});
|
|
7465
7535
|
}
|
|
7466
7536
|
//#endregion
|
|
7467
|
-
//#region src/app/layouts/rightbar/
|
|
7468
|
-
var CONFIRM_UNINSTALL = [
|
|
7469
|
-
"uninstall",
|
|
7470
|
-
"remove-bundle",
|
|
7471
|
-
"uninstall-plugin"
|
|
7472
|
-
];
|
|
7473
|
-
var NO_ROWS = [];
|
|
7474
|
-
var NO_UNITS$1 = /* @__PURE__ */ new Set();
|
|
7537
|
+
//#region src/app/layouts/rightbar/market-uninstall.tsx
|
|
7475
7538
|
function ConfirmUninstall({ t, name, onConfirm, onCancel }) {
|
|
7476
7539
|
const [acknowledged, setAcknowledged] = (0, react.useState)(false);
|
|
7477
7540
|
return /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.RiskConfirmation, {
|
|
@@ -7488,7 +7551,46 @@ function ConfirmUninstall({ t, name, onConfirm, onCancel }) {
|
|
|
7488
7551
|
onConfirm
|
|
7489
7552
|
});
|
|
7490
7553
|
}
|
|
7491
|
-
function
|
|
7554
|
+
function UninstallConfirm({ t, confirming, row, onClose, act, rowById }) {
|
|
7555
|
+
return /* @__PURE__ */ (0, react.createElement)(ConfirmUninstall, {
|
|
7556
|
+
key: confirming ?? "",
|
|
7557
|
+
t,
|
|
7558
|
+
name: row === void 0 ? null : marketRowTitle(row, t),
|
|
7559
|
+
onCancel: onClose,
|
|
7560
|
+
onConfirm: () => {
|
|
7561
|
+
const id = confirming;
|
|
7562
|
+
onClose();
|
|
7563
|
+
if (id === null) return;
|
|
7564
|
+
const target = rowById.get(id);
|
|
7565
|
+
act(id, target?.plugin === true ? "uninstall-plugin" : target?.pkg === void 0 ? "uninstall" : "remove-bundle");
|
|
7566
|
+
}
|
|
7567
|
+
});
|
|
7568
|
+
}
|
|
7569
|
+
var PanelFoot_module_default = {
|
|
7570
|
+
foot: "_foot_1ud1j_1",
|
|
7571
|
+
footText: "_footText_1ud1j_13",
|
|
7572
|
+
footTextMd: "_footTextMd_1ud1j_18"
|
|
7573
|
+
};
|
|
7574
|
+
//#endregion
|
|
7575
|
+
//#region src/shared/components/PanelFoot.tsx
|
|
7576
|
+
function PanelFoot({ text, size = "sm", children }) {
|
|
7577
|
+
return /* @__PURE__ */ (0, react.createElement)("footer", { className: PanelFoot_module_default.foot }, text === void 0 ? null : /* @__PURE__ */ (0, react.createElement)("span", { className: size === "md" ? PanelFoot_module_default.footTextMd : PanelFoot_module_default.footText }, text), children ?? null);
|
|
7578
|
+
}
|
|
7579
|
+
//#endregion
|
|
7580
|
+
//#region src/app/layouts/rightbar/MarketView.tsx
|
|
7581
|
+
var CONFIRM_UNINSTALL = [
|
|
7582
|
+
"uninstall",
|
|
7583
|
+
"remove-bundle",
|
|
7584
|
+
"uninstall-plugin"
|
|
7585
|
+
];
|
|
7586
|
+
var NO_CHECK = {
|
|
7587
|
+
checking: false,
|
|
7588
|
+
failed: false,
|
|
7589
|
+
checkedAt: null
|
|
7590
|
+
};
|
|
7591
|
+
var NO_ROWS = [];
|
|
7592
|
+
var NO_UNITS$1 = /* @__PURE__ */ new Set();
|
|
7593
|
+
function MarketBody({ t, self, shown, pluginList, installedList, shared, pending, failed, notice, act, onConfirming, setDefault, boardBusy, checks, onRecheck, rechecking }) {
|
|
7492
7594
|
const failureOf = (id) => failed?.id === id ? failed : null;
|
|
7493
7595
|
const foot = marketFootVisible(shown, installedList);
|
|
7494
7596
|
const sections = marketSections(marketOrder([...shown, ...installedList], (row) => marketRowTitle(row, t)));
|
|
@@ -7515,7 +7617,7 @@ function MarketBody({ t, self, shown, pluginList, installedList, shared, pending
|
|
|
7515
7617
|
icon: marketSectionIcon("installed"),
|
|
7516
7618
|
rows: installed?.rows ?? NO_ROWS,
|
|
7517
7619
|
keepHead: true,
|
|
7518
|
-
headAction:
|
|
7620
|
+
headAction: checks.modules,
|
|
7519
7621
|
onDefault: setDefault,
|
|
7520
7622
|
boardBusy,
|
|
7521
7623
|
pending,
|
|
@@ -7544,7 +7646,7 @@ function MarketBody({ t, self, shown, pluginList, installedList, shared, pending
|
|
|
7544
7646
|
titleKey: "panels.market.sectionPlugins",
|
|
7545
7647
|
icon: marketSectionIcon("plugins"),
|
|
7546
7648
|
rows: pluginList,
|
|
7547
|
-
headAction:
|
|
7649
|
+
headAction: checks.plugins,
|
|
7548
7650
|
onDefault: setDefault,
|
|
7549
7651
|
boardBusy,
|
|
7550
7652
|
pending,
|
|
@@ -7600,7 +7702,27 @@ function useMarketScene(input) {
|
|
|
7600
7702
|
busyId
|
|
7601
7703
|
};
|
|
7602
7704
|
}
|
|
7603
|
-
function
|
|
7705
|
+
function sectionChecksOf(input) {
|
|
7706
|
+
return {
|
|
7707
|
+
modules: /* @__PURE__ */ (0, react.createElement)(SectionCheck, {
|
|
7708
|
+
t: input.t,
|
|
7709
|
+
part: "modules",
|
|
7710
|
+
seat: input.modules ?? NO_CHECK,
|
|
7711
|
+
latest: input.latestModules,
|
|
7712
|
+
disabled: input.disabled,
|
|
7713
|
+
onCheck: input.onCheck
|
|
7714
|
+
}),
|
|
7715
|
+
plugins: /* @__PURE__ */ (0, react.createElement)(SectionCheck, {
|
|
7716
|
+
t: input.t,
|
|
7717
|
+
part: "plugins",
|
|
7718
|
+
seat: input.plugins ?? NO_CHECK,
|
|
7719
|
+
latest: input.latestPlugins,
|
|
7720
|
+
disabled: input.disabled,
|
|
7721
|
+
onCheck: input.onCheck
|
|
7722
|
+
})
|
|
7723
|
+
};
|
|
7724
|
+
}
|
|
7725
|
+
function MarketView({ t, titleOf, manifests, installable, capabilities, freshness, onChanged, onPending, updates, modulesCheck, pluginsCheck, onCheck, installed, installedRead, workbench, selfUpdate, plugins, settling, installing = false, mock, defaults = [], changed = {} }) {
|
|
7604
7726
|
const { pending, setPending, confirming, setConfirming, failed, setFailed, notice, setNotice } = useMarketTransient({
|
|
7605
7727
|
mock,
|
|
7606
7728
|
onPending
|
|
@@ -7685,15 +7807,17 @@ function MarketView({ t, titleOf, manifests, installable, capabilities, freshnes
|
|
|
7685
7807
|
setFailed(null);
|
|
7686
7808
|
if (mock === void 0) onChanged({ force: true });
|
|
7687
7809
|
};
|
|
7688
|
-
const
|
|
7689
|
-
const check = /* @__PURE__ */ (0, react.createElement)(MarketCheck, {
|
|
7810
|
+
const checks = sectionChecksOf({
|
|
7690
7811
|
t,
|
|
7691
|
-
|
|
7692
|
-
|
|
7693
|
-
|
|
7694
|
-
|
|
7812
|
+
modules: modulesCheck,
|
|
7813
|
+
plugins: pluginsCheck,
|
|
7814
|
+
latestModules: latestCheckSummary(mock?.installed ?? installed),
|
|
7815
|
+
latestPlugins: {
|
|
7816
|
+
checked: checkedPluginCount(mock?.plugins ?? plugins),
|
|
7817
|
+
unknown: 0
|
|
7818
|
+
},
|
|
7695
7819
|
disabled: pending !== null,
|
|
7696
|
-
onCheck:
|
|
7820
|
+
onCheck: mock === void 0 ? onCheck : void 0
|
|
7697
7821
|
});
|
|
7698
7822
|
if (!settled || (settling?.size ?? 0) > 0 && shown.length === 0 && installedList.length === 0) return /* @__PURE__ */ (0, react.createElement)(MarketChecking, { t });
|
|
7699
7823
|
if (nothing) return /* @__PURE__ */ (0, react.createElement)(MarketEmpty, { t });
|
|
@@ -7711,7 +7835,7 @@ function MarketView({ t, titleOf, manifests, installable, capabilities, freshnes
|
|
|
7711
7835
|
onConfirming: setConfirming,
|
|
7712
7836
|
setDefault,
|
|
7713
7837
|
boardBusy,
|
|
7714
|
-
|
|
7838
|
+
checks,
|
|
7715
7839
|
onRecheck: recheck,
|
|
7716
7840
|
rechecking: checkingShown
|
|
7717
7841
|
}), /* @__PURE__ */ (0, react.createElement)(UninstallConfirm, {
|
|
@@ -7723,21 +7847,6 @@ function MarketView({ t, titleOf, manifests, installable, capabilities, freshnes
|
|
|
7723
7847
|
rowById
|
|
7724
7848
|
}));
|
|
7725
7849
|
}
|
|
7726
|
-
function UninstallConfirm({ t, confirming, row, onClose, act, rowById }) {
|
|
7727
|
-
return /* @__PURE__ */ (0, react.createElement)(ConfirmUninstall, {
|
|
7728
|
-
key: confirming ?? "",
|
|
7729
|
-
t,
|
|
7730
|
-
name: row === void 0 ? null : marketRowTitle(row, t),
|
|
7731
|
-
onCancel: onClose,
|
|
7732
|
-
onConfirm: () => {
|
|
7733
|
-
const id = confirming;
|
|
7734
|
-
onClose();
|
|
7735
|
-
if (id === null) return;
|
|
7736
|
-
const target = rowById.get(id);
|
|
7737
|
-
act(id, target?.plugin === true ? "uninstall-plugin" : target?.pkg === void 0 ? "uninstall" : "remove-bundle");
|
|
7738
|
-
}
|
|
7739
|
-
});
|
|
7740
|
-
}
|
|
7741
7850
|
//#endregion
|
|
7742
7851
|
//#region ../../node_modules/.pnpm/dayjs@1.11.23/node_modules/dayjs/plugin/localizedFormat.js
|
|
7743
7852
|
var require_localizedFormat = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
@@ -9157,7 +9266,7 @@ function useDiscover(t, active, onInstalled) {
|
|
|
9157
9266
|
if (selectedSource === void 0 || selectedSource.kind !== "git") return null;
|
|
9158
9267
|
if (kind !== "git-empty" && kind !== "git-missing-index") return null;
|
|
9159
9268
|
return {
|
|
9160
|
-
path: selectedSource.path ?? "market
|
|
9269
|
+
path: selectedSource.path ?? "market",
|
|
9161
9270
|
empty: kind === "git-empty"
|
|
9162
9271
|
};
|
|
9163
9272
|
}, [payload, selectedSource]);
|
|
@@ -9512,7 +9621,7 @@ function DiscoverPanel({ t, active, onInstalled, onShowInstalled }) {
|
|
|
9512
9621
|
}
|
|
9513
9622
|
//#endregion
|
|
9514
9623
|
//#region src/app/layouts/market/market-header.tsx
|
|
9515
|
-
function MarketHeader({ t, idPrefix, tab, busy, onTab, onAdd }) {
|
|
9624
|
+
function MarketHeader({ t, idPrefix, tab, busy, checking, onTab, onReload, onAdd }) {
|
|
9516
9625
|
const tabItems = (0, react.useMemo)(() => [{
|
|
9517
9626
|
value: "installed",
|
|
9518
9627
|
label: t("panels.market.tabInstalled"),
|
|
@@ -9524,14 +9633,19 @@ function MarketHeader({ t, idPrefix, tab, busy, onTab, onAdd }) {
|
|
|
9524
9633
|
id: `${idPrefix}-tab-discover`,
|
|
9525
9634
|
panelId: `${idPrefix}-panel-discover`
|
|
9526
9635
|
}], [idPrefix, t]);
|
|
9527
|
-
return /* @__PURE__ */ (0, react.createElement)(react.Fragment, null, /* @__PURE__ */ (0, react.createElement)("header", { className: MarketPage_module_default.marketPageHead }, /* @__PURE__ */ (0, react.createElement)("div", null, /* @__PURE__ */ (0, react.createElement)("h1", { className: MarketPage_module_default.marketPageTitle }, t("panels.tab.market")), /* @__PURE__ */ (0, react.createElement)("p", { className: MarketPage_module_default.marketPageIntro }, t("panels.market.lead"))), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketPageTools }, tab !== "installed" ? null : /* @__PURE__ */ (0, react.createElement)(
|
|
9636
|
+
return /* @__PURE__ */ (0, react.createElement)(react.Fragment, null, /* @__PURE__ */ (0, react.createElement)("header", { className: MarketPage_module_default.marketPageHead }, /* @__PURE__ */ (0, react.createElement)("div", null, /* @__PURE__ */ (0, react.createElement)("h1", { className: MarketPage_module_default.marketPageTitle }, t("panels.tab.market")), /* @__PURE__ */ (0, react.createElement)("p", { className: MarketPage_module_default.marketPageIntro }, t("panels.market.lead"))), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketPageTools }, tab !== "installed" ? null : /* @__PURE__ */ (0, react.createElement)(react.Fragment, null, /* @__PURE__ */ (0, react.createElement)(MarketRefreshButton, {
|
|
9637
|
+
label: t("panels.market.checkAll"),
|
|
9638
|
+
checking,
|
|
9639
|
+
disabled: busy,
|
|
9640
|
+
onCheck: onReload
|
|
9641
|
+
}), /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
9528
9642
|
variant: "primary",
|
|
9529
9643
|
size: "sm",
|
|
9530
9644
|
className: MarketPage_module_default.marketAddButton,
|
|
9531
9645
|
icon: /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconPlusOutlineRegular, { size: 13 }),
|
|
9532
9646
|
disabled: busy,
|
|
9533
9647
|
onClick: onAdd
|
|
9534
|
-
}, t("panels.market.add.open")))), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketTabs }, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.SegmentedTabs, {
|
|
9648
|
+
}, t("panels.market.add.open"))))), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketTabs }, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.SegmentedTabs, {
|
|
9535
9649
|
className: MarketPage_module_default.marketTabList,
|
|
9536
9650
|
items: tabItems,
|
|
9537
9651
|
value: tab,
|
|
@@ -9948,21 +10062,35 @@ function readModuleVersions(force = false) {
|
|
|
9948
10062
|
function readInstalledPlugins(force = false) {
|
|
9949
10063
|
return apiGet(INSTALLED_PLUGINS_ROUTE, force ? { force: "1" } : void 0);
|
|
9950
10064
|
}
|
|
10065
|
+
//#endregion
|
|
10066
|
+
//#region src/app/layouts/market/use-module-versions.ts
|
|
10067
|
+
var IDLE$1 = {
|
|
10068
|
+
checking: false,
|
|
10069
|
+
failed: false,
|
|
10070
|
+
checkedAt: null
|
|
10071
|
+
};
|
|
9951
10072
|
var state = {
|
|
9952
10073
|
modules: null,
|
|
9953
10074
|
plugins: null,
|
|
9954
10075
|
workbench: null,
|
|
9955
10076
|
selfUpdate: null,
|
|
9956
10077
|
read: false,
|
|
9957
|
-
|
|
9958
|
-
|
|
9959
|
-
|
|
10078
|
+
allChecking: false,
|
|
10079
|
+
modulesCheck: IDLE$1,
|
|
10080
|
+
pluginsCheck: IDLE$1
|
|
9960
10081
|
};
|
|
9961
10082
|
var listeners$2 = /* @__PURE__ */ new Set();
|
|
9962
|
-
var inFlight =
|
|
9963
|
-
var
|
|
9964
|
-
|
|
10083
|
+
var inFlight = /* @__PURE__ */ new Map();
|
|
10084
|
+
var seq$1 = {
|
|
10085
|
+
modules: 0,
|
|
10086
|
+
plugins: 0
|
|
10087
|
+
};
|
|
10088
|
+
var newestForceSeq = {
|
|
10089
|
+
modules: -1,
|
|
10090
|
+
plugins: -1
|
|
10091
|
+
};
|
|
9965
10092
|
var epoch = 0;
|
|
10093
|
+
var allSeq = 0;
|
|
9966
10094
|
function bumpModuleVersionsEpoch() {
|
|
9967
10095
|
epoch += 1;
|
|
9968
10096
|
}
|
|
@@ -9987,48 +10115,87 @@ function withMarketUpdates(modules, rows) {
|
|
|
9987
10115
|
};
|
|
9988
10116
|
});
|
|
9989
10117
|
}
|
|
10118
|
+
function moduleVersionsCheckedAt(now) {
|
|
10119
|
+
const at = [now.modulesCheck.checkedAt, now.pluginsCheck.checkedAt].filter((one) => one !== null);
|
|
10120
|
+
return at.length === 0 ? null : Math.max(...at);
|
|
10121
|
+
}
|
|
10122
|
+
function moduleVersionsChecking(value) {
|
|
10123
|
+
return value.allChecking || value.modulesCheck.checking || value.pluginsCheck.checking;
|
|
10124
|
+
}
|
|
9990
10125
|
function publish$1(next) {
|
|
9991
10126
|
state = next;
|
|
9992
10127
|
for (const listener of [...listeners$2]) listener();
|
|
9993
10128
|
}
|
|
9994
|
-
function
|
|
9995
|
-
|
|
9996
|
-
|
|
9997
|
-
|
|
9998
|
-
|
|
9999
|
-
|
|
10000
|
-
...state,
|
|
10129
|
+
function partsOf(scope) {
|
|
10130
|
+
return scope === "all" ? ["modules", "plugins"] : [scope];
|
|
10131
|
+
}
|
|
10132
|
+
function checking(scope) {
|
|
10133
|
+
const mark = (seat) => seat.checking ? seat : {
|
|
10134
|
+
...seat,
|
|
10001
10135
|
checking: true
|
|
10002
|
-
}
|
|
10003
|
-
|
|
10004
|
-
|
|
10005
|
-
|
|
10006
|
-
|
|
10007
|
-
|
|
10136
|
+
};
|
|
10137
|
+
return {
|
|
10138
|
+
...state,
|
|
10139
|
+
allChecking: scope === "all" || state.allChecking,
|
|
10140
|
+
modulesCheck: scope === "plugins" ? state.modulesCheck : mark(state.modulesCheck),
|
|
10141
|
+
pluginsCheck: scope === "modules" ? state.pluginsCheck : mark(state.pluginsCheck)
|
|
10142
|
+
};
|
|
10143
|
+
}
|
|
10144
|
+
function landed(seat, ticket, latest, ok, at) {
|
|
10145
|
+
return {
|
|
10146
|
+
checking: ticket === latest ? false : seat.checking,
|
|
10147
|
+
failed: !ok,
|
|
10148
|
+
checkedAt: ok ? at : seat.checkedAt
|
|
10149
|
+
};
|
|
10150
|
+
}
|
|
10151
|
+
function readModulesOnce(force) {
|
|
10152
|
+
return Promise.all([readModuleVersions(force), readMarketInstalled()]).catch(() => null);
|
|
10153
|
+
}
|
|
10154
|
+
function readPluginsOnce(force) {
|
|
10155
|
+
return readInstalledPlugins(force).catch(() => null);
|
|
10156
|
+
}
|
|
10157
|
+
function runModuleVersionsRead(force = false, fresh = false, scope = "all") {
|
|
10158
|
+
const at = epoch;
|
|
10159
|
+
const running = inFlight.get(scope);
|
|
10160
|
+
if (!fresh && running !== void 0 && running.force === force && running.epoch === at) return running.promise;
|
|
10161
|
+
const allTicket = scope === "all" ? allSeq += 1 : allSeq;
|
|
10162
|
+
const tickets = /* @__PURE__ */ new Map();
|
|
10163
|
+
for (const part of partsOf(scope)) {
|
|
10164
|
+
const ticket = seq$1[part] += 1;
|
|
10165
|
+
tickets.set(part, ticket);
|
|
10166
|
+
if (force) newestForceSeq[part] = ticket;
|
|
10167
|
+
}
|
|
10168
|
+
publish$1(checking(scope));
|
|
10169
|
+
const modulesRead = tickets.has("modules") ? readModulesOnce(force) : null;
|
|
10170
|
+
const pluginsRead = tickets.has("plugins") ? readPluginsOnce(force) : null;
|
|
10171
|
+
const promise = Promise.all([modulesRead, pluginsRead]).then(([modules, plugins]) => {
|
|
10008
10172
|
if (at !== epoch) return;
|
|
10009
|
-
|
|
10010
|
-
const
|
|
10011
|
-
const
|
|
10012
|
-
const
|
|
10013
|
-
const
|
|
10173
|
+
const now = Date.now();
|
|
10174
|
+
const modulesTicket = tickets.get("modules");
|
|
10175
|
+
const pluginsTicket = tickets.get("plugins");
|
|
10176
|
+
const modulesLanded = modulesTicket !== void 0 && (force || modulesTicket >= newestForceSeq.modules);
|
|
10177
|
+
const pluginsLanded = pluginsTicket !== void 0 && (force || pluginsTicket >= newestForceSeq.plugins);
|
|
10178
|
+
const modulesOk = modulesLanded && modules !== null && modules[0].ok === true;
|
|
10179
|
+
const pluginsOk = pluginsLanded && plugins !== null && plugins.ok === true;
|
|
10014
10180
|
publish$1({
|
|
10015
|
-
|
|
10016
|
-
|
|
10017
|
-
workbench:
|
|
10018
|
-
selfUpdate:
|
|
10181
|
+
...state,
|
|
10182
|
+
modules: modulesOk ? withMarketUpdates(modules[0].modules, modules[1].ok === true ? modules[1].modules : []) : state.modules,
|
|
10183
|
+
workbench: modulesOk ? modules[0].workbench ?? null : state.workbench,
|
|
10184
|
+
selfUpdate: modulesOk ? modules[0].selfUpdate ?? null : state.selfUpdate,
|
|
10185
|
+
plugins: pluginsOk ? plugins.plugins : state.plugins,
|
|
10019
10186
|
read: true,
|
|
10020
|
-
|
|
10021
|
-
|
|
10022
|
-
|
|
10187
|
+
allChecking: scope === "all" && allTicket === allSeq ? false : state.allChecking,
|
|
10188
|
+
modulesCheck: modulesLanded && modulesTicket !== void 0 ? landed(state.modulesCheck, modulesTicket, seq$1.modules, modulesOk, now) : state.modulesCheck,
|
|
10189
|
+
pluginsCheck: pluginsLanded && pluginsTicket !== void 0 ? landed(state.pluginsCheck, pluginsTicket, seq$1.plugins, pluginsOk, now) : state.pluginsCheck
|
|
10023
10190
|
});
|
|
10024
10191
|
}).finally(() => {
|
|
10025
|
-
if (inFlight?.promise === promise) inFlight
|
|
10192
|
+
if (inFlight.get(scope)?.promise === promise) inFlight.delete(scope);
|
|
10026
10193
|
});
|
|
10027
|
-
inFlight
|
|
10194
|
+
inFlight.set(scope, {
|
|
10028
10195
|
force,
|
|
10029
10196
|
epoch: at,
|
|
10030
10197
|
promise
|
|
10031
|
-
};
|
|
10198
|
+
});
|
|
10032
10199
|
return promise;
|
|
10033
10200
|
}
|
|
10034
10201
|
function useModuleVersions() {
|
|
@@ -10039,27 +10206,70 @@ function useModuleVersions() {
|
|
|
10039
10206
|
const first = !mountedRef.current;
|
|
10040
10207
|
mountedRef.current = true;
|
|
10041
10208
|
if (first && !shouldProbeOnEnter({
|
|
10042
|
-
checkedAt: state
|
|
10209
|
+
checkedAt: moduleVersionsCheckedAt(state),
|
|
10043
10210
|
now: Date.now(),
|
|
10044
10211
|
staleMs: MARKET_STALE_MS
|
|
10045
10212
|
})) return;
|
|
10046
10213
|
runModuleVersionsRead(false);
|
|
10047
10214
|
}, [factRev]);
|
|
10048
10215
|
const reload = (0, react.useCallback)((options) => {
|
|
10049
|
-
runModuleVersionsRead(options?.force === true, options?.fresh === true);
|
|
10216
|
+
runModuleVersionsRead(options?.force === true, options?.fresh === true, options?.scope ?? "all");
|
|
10050
10217
|
}, []);
|
|
10051
10218
|
return {
|
|
10052
|
-
|
|
10053
|
-
|
|
10054
|
-
workbench: value.workbench,
|
|
10055
|
-
selfUpdate: value.selfUpdate,
|
|
10056
|
-
read: value.read,
|
|
10057
|
-
checking: value.checking,
|
|
10058
|
-
failed: value.failed,
|
|
10059
|
-
checkedAt: value.checkedAt,
|
|
10219
|
+
...value,
|
|
10220
|
+
checking: moduleVersionsChecking(value),
|
|
10060
10221
|
reload
|
|
10061
10222
|
};
|
|
10062
10223
|
}
|
|
10224
|
+
//#endregion
|
|
10225
|
+
//#region src/app/layouts/market/use-market-reload.ts
|
|
10226
|
+
function useMarketReload(input) {
|
|
10227
|
+
const { checkedAt, forceProbe, reloadCapability, reloadVersions } = input;
|
|
10228
|
+
const reload = (0, react.useCallback)((options) => {
|
|
10229
|
+
if (options?.force === true) {
|
|
10230
|
+
bumpModuleVersionsEpoch();
|
|
10231
|
+
bumpCapabilityEpoch();
|
|
10232
|
+
forceProbe();
|
|
10233
|
+
reloadVersions({
|
|
10234
|
+
force: true,
|
|
10235
|
+
fresh: true
|
|
10236
|
+
});
|
|
10237
|
+
return;
|
|
10238
|
+
}
|
|
10239
|
+
reloadCapability();
|
|
10240
|
+
reloadVersions();
|
|
10241
|
+
}, [
|
|
10242
|
+
reloadCapability,
|
|
10243
|
+
reloadVersions,
|
|
10244
|
+
forceProbe
|
|
10245
|
+
]);
|
|
10246
|
+
const checkPart = (0, react.useCallback)((part) => reloadVersions({
|
|
10247
|
+
force: true,
|
|
10248
|
+
fresh: true,
|
|
10249
|
+
scope: part
|
|
10250
|
+
}), [reloadVersions]);
|
|
10251
|
+
const enteredRef = (0, react.useRef)(false);
|
|
10252
|
+
(0, react.useEffect)(() => {
|
|
10253
|
+
if (enteredRef.current) return;
|
|
10254
|
+
enteredRef.current = true;
|
|
10255
|
+
reloadVersions();
|
|
10256
|
+
if (!shouldProbeOnEnter({
|
|
10257
|
+
checkedAt,
|
|
10258
|
+
now: Date.now(),
|
|
10259
|
+
staleMs: MARKET_STALE_MS
|
|
10260
|
+
})) return;
|
|
10261
|
+
markNextProbeSilent();
|
|
10262
|
+
forceProbe();
|
|
10263
|
+
}, [
|
|
10264
|
+
checkedAt,
|
|
10265
|
+
forceProbe,
|
|
10266
|
+
reloadVersions
|
|
10267
|
+
]);
|
|
10268
|
+
return {
|
|
10269
|
+
reload,
|
|
10270
|
+
checkPart
|
|
10271
|
+
};
|
|
10272
|
+
}
|
|
10063
10273
|
var AddModule_module_default = {
|
|
10064
10274
|
wide: "_wide_1lv8f_1",
|
|
10065
10275
|
dialog: "_dialog_1lv8f_8",
|
|
@@ -10716,7 +10926,7 @@ function MarketPanel({ t, units, titleOf }) {
|
|
|
10716
10926
|
const manifests = useLiveManifests(units);
|
|
10717
10927
|
const installable = useInstallableUnits(units);
|
|
10718
10928
|
const { capabilities, checkedAt, checking, forceProbe, reload: reloadCapability } = useCapabilityMap(0);
|
|
10719
|
-
const { modules, plugins, workbench, selfUpdate, checking: versionsChecking,
|
|
10929
|
+
const { modules, plugins, workbench, selfUpdate, checking: versionsChecking, allChecking: versionsAllChecking, modulesCheck, pluginsCheck, read: installedRead, reload: reloadVersions } = useModuleVersions();
|
|
10720
10930
|
const machineBoard = useEnabledUnits(0, null);
|
|
10721
10931
|
const install = useMarketInstallState();
|
|
10722
10932
|
const [adding, setAdding] = (0, react.useState)(false);
|
|
@@ -10725,41 +10935,12 @@ function MarketPanel({ t, units, titleOf }) {
|
|
|
10725
10935
|
const openAddModule = (0, react.useCallback)(() => setAdding(true), []);
|
|
10726
10936
|
const updates = (0, react.useMemo)(() => marketUpdatesOf(modules), [modules]);
|
|
10727
10937
|
const installed = modules === null ? void 0 : withClientRefusals(modules, units.refusals());
|
|
10728
|
-
const reload = (
|
|
10729
|
-
if (options?.force === true) {
|
|
10730
|
-
bumpModuleVersionsEpoch();
|
|
10731
|
-
bumpCapabilityEpoch();
|
|
10732
|
-
forceProbe();
|
|
10733
|
-
reloadVersions({
|
|
10734
|
-
force: true,
|
|
10735
|
-
fresh: true
|
|
10736
|
-
});
|
|
10737
|
-
return;
|
|
10738
|
-
}
|
|
10739
|
-
reloadCapability();
|
|
10740
|
-
reloadVersions();
|
|
10741
|
-
}, [
|
|
10742
|
-
reloadCapability,
|
|
10743
|
-
reloadVersions,
|
|
10744
|
-
forceProbe
|
|
10745
|
-
]);
|
|
10746
|
-
const enteredRef = (0, react.useRef)(false);
|
|
10747
|
-
(0, react.useEffect)(() => {
|
|
10748
|
-
if (enteredRef.current) return;
|
|
10749
|
-
enteredRef.current = true;
|
|
10750
|
-
reloadVersions();
|
|
10751
|
-
if (!shouldProbeOnEnter({
|
|
10752
|
-
checkedAt,
|
|
10753
|
-
now: Date.now(),
|
|
10754
|
-
staleMs: MARKET_STALE_MS
|
|
10755
|
-
})) return;
|
|
10756
|
-
markNextProbeSilent();
|
|
10757
|
-
forceProbe();
|
|
10758
|
-
}, [
|
|
10938
|
+
const { reload, checkPart } = useMarketReload({
|
|
10759
10939
|
checkedAt,
|
|
10760
10940
|
forceProbe,
|
|
10941
|
+
reloadCapability,
|
|
10761
10942
|
reloadVersions
|
|
10762
|
-
|
|
10943
|
+
});
|
|
10763
10944
|
const settling = useSettlingModules((installed ?? []).map((module) => module.unit).join("|"), manifests.map((manifest) => manifest.id).join("|"), Object.keys(capabilities ?? {}).join("|"));
|
|
10764
10945
|
const held = install.applied.size === 0 ? settling : /* @__PURE__ */ new Set([...settling, ...install.applied]);
|
|
10765
10946
|
const freshness = {
|
|
@@ -10783,7 +10964,9 @@ function MarketPanel({ t, units, titleOf }) {
|
|
|
10783
10964
|
idPrefix: MARKET_PANEL_ID,
|
|
10784
10965
|
tab,
|
|
10785
10966
|
busy,
|
|
10967
|
+
checking: checking || versionsAllChecking,
|
|
10786
10968
|
onTab: setTab,
|
|
10969
|
+
onReload: () => reload({ force: true }),
|
|
10787
10970
|
onAdd: openAddModule
|
|
10788
10971
|
}), devMarket.strip, /* @__PURE__ */ (0, react.createElement)("div", {
|
|
10789
10972
|
id: `${MARKET_PANEL_ID}-panel-installed`,
|
|
@@ -10801,8 +10984,9 @@ function MarketPanel({ t, units, titleOf }) {
|
|
|
10801
10984
|
onChanged: reload,
|
|
10802
10985
|
onPending: setActing,
|
|
10803
10986
|
updates,
|
|
10804
|
-
|
|
10805
|
-
|
|
10987
|
+
modulesCheck,
|
|
10988
|
+
pluginsCheck,
|
|
10989
|
+
onCheck: checkPart,
|
|
10806
10990
|
installed,
|
|
10807
10991
|
installedRead: shownRead,
|
|
10808
10992
|
workbench,
|
|
@@ -16234,7 +16418,7 @@ function messagesOf(units) {
|
|
|
16234
16418
|
...face.messages === void 0 ? {} : { messages: face.messages }
|
|
16235
16419
|
}));
|
|
16236
16420
|
}
|
|
16237
|
-
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: grid;\n grid-template-columns: minmax(var(--wb-len-56), auto) minmax(0, 1fr);\n column-gap: var(--wb-len-8);\n row-gap: var(--wb-len-2);\n align-items: baseline;\n margin: 0;\n}\n.wb-approvalRow {\n display: contents;\n}\n.wb-approvalLabel {\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.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_485ym_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_485ym_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_485ym_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_485ym_32 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._marketName_485ym_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_485ym_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_485ym_58 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSep_485ym_62 {\n color: var(--dsw-alias-label-caption);\n}\n\n._marketReason_485ym_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_485ym_39 ._marketVersion_485ym_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_485ym_72 {\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketVersion_485ym_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_485ym_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_485ym_105 {\n flex: none;\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_485ym_112 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_485ym_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_485ym_125 {\n flex: none;\n display: flex;\n gap: var(--wb-len-6);\n}\n\n._marketUpdateAction_485ym_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_485ym_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_485ym_143 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._marketSectionHead_485ym_150 {\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-8);\n}\n\n._marketSectionIcon_485ym_156 {\n display: inline-flex;\n align-items: center;\n align-self: center;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketSectionTitle_485ym_163 {\n margin: 0;\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._marketSectionCount_485ym_169 {\n font: var(--dsw-font-s-14);\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketSectionAction_485ym_175 {\n display: inline-flex;\n align-items: center;\n align-self: center;\n margin-left: auto;\n min-width: 0;\n}\n\n._marketSectionQuiet_485ym_183 ._marketSectionTitle_485ym_163 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSectionQuiet_485ym_183 ._marketName_485ym_39 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSectionQuiet_485ym_183 ._marketIcon_485ym_20 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n\n._marketProgress_485ym_196 {\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_485ym_206 {\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_485ym_213 {\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._marketFailureSeat_485ym_220 {\n grid-column: 2 / -1;\n min-width: 0;\n}\n\n._marketEmpty_485ym_225 {\n padding: var(--wb-len-18) var(--wb-len-16);\n text-align: center;\n}\n\n._marketPage_485ym_230 {\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_485ym_230 > * {\n width: 100%;\n max-width: var(--wb-len-960);\n}\n\n._marketPageHead_485ym_248 {\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_485ym_256 {\n margin: 0;\n font: var(--dsw-font-l-20);\n}\n\n._marketPageIntro_485ym_261 {\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_485ym_267 {\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_485ym_276 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-32);\n}\n\n._marketPanel_485ym_276[hidden] {\n display: none;\n}\n\n._marketTabs_485ym_286 {\n display: flex;\n margin: calc(0px - var(--wb-len-16)) 0;\n}\n\n._marketTabList_485ym_291 {\n width: fit-content;\n min-width: var(--wb-len-240);\n}\n\n._marketAddButton_485ym_296 {\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_485ym_225 {\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_485ym_313 {\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._discoverPage_485ym_318 {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n}\n\n._discoverBar_485ym_325 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n container-type: inline-size;\n}\n\n._discoverTools_485ym_332 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverMarket_485ym_338 {\n flex: 0 1 auto;\n min-width: 0;\n}\n\n._discoverMarketButton_485ym_343 {\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_485ym_350 {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._discoverLabels_485ym_356 {\n flex: none;\n white-space: nowrap;\n}\n\n._discoverSort_485ym_361 {\n flex: none;\n white-space: nowrap;\n}\n\n._discoverRefresh_485ym_366 {\n flex: none;\n}\n\n._discoverSearch_485ym_370 {\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_485ym_378 {\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._discoverSearchFieldFilled_485ym_383 input {\n padding-inline-end: var(--wb-len-20);\n}\n\n._discoverSearchField_485ym_378 input::-webkit-search-cancel-button {\n appearance: none;\n -webkit-appearance: none;\n}\n\n._discoverSearch_485ym_370 ._discoverSearchClear_485ym_392 {\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_485ym_392:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n@container (max-width: 560px) {\n ._discoverTools_485ym_332 {\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_485ym_338 {\n grid-area: market;\n }\n\n ._discoverMarketButton_485ym_343 {\n margin-left: 0;\n }\n\n ._discoverLabels_485ym_356 {\n grid-area: labels;\n }\n\n ._discoverSearch_485ym_370 {\n grid-area: search;\n }\n\n ._discoverSort_485ym_361 {\n grid-area: sort;\n justify-self: end;\n }\n\n ._discoverRefresh_485ym_366 {\n grid-area: refresh;\n }\n}\n\n._discoverChips_485ym_443 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-6);\n}\n\n._discoverList_485ym_450 {\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_485ym_459 {\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_485ym_459:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._discoverArtwork_485ym_473 {\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_485ym_485 {\n object-fit: contain;\n}\n\n._discoverMain_485ym_489 {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--wb-len-2);\n min-width: 0;\n}\n\n._discoverTitleRow_485ym_497 {\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_485ym_505 {\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_485ym_505::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: var(--dsw-radius-xl);\n}\n\n._discoverCardOpen_485ym_505:focus-visible {\n outline: none;\n}\n\n._discoverCardOpen_485ym_505: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_485ym_536 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n overflow-wrap: anywhere;\n}\n\n._discoverDesc_485ym_542 {\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_485ym_551 {\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_485ym_558 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._discoverEnd_485ym_564 {\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._discoverUpdateAction_485ym_573 {\n color: var(--dsw-alias-state-warn-primary);\n --dsw-alias-interactive-bg-hover: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 8%, transparent);\n}\n\n._discoverBlocked_485ym_578 {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n._discoverEmpty_485ym_583 {\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_485ym_592 {\n margin: var(--wb-len-8) 0 0;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverEmpty_485ym_583 > button {\n margin-top: var(--wb-len-8);\n}\n\n._discoverDetail_485ym_602 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n}\n\n._discoverCrumb_485ym_608 {\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_485ym_608:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n._discoverCrumb_485ym_608: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_485ym_631 {\n transform: rotate(90deg);\n}\n\n._discoverDetailHead_485ym_635 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n}\n\n._discoverDetailTitle_485ym_641 {\n margin: 0;\n font: var(--dsw-font-l-20);\n font-weight: 500;\n}\n\n._discoverDetailText_485ym_647 {\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_485ym_654 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n min-width: 0;\n}\n\n._discoverDetailTabs_485ym_661 {\n display: flex;\n margin-bottom: calc(0px - var(--wb-len-4));\n}\n\n._discoverDetailTabList_485ym_666 {\n width: fit-content;\n min-width: var(--wb-len-240);\n}\n\n._discoverDocBody_485ym_671 {\n min-width: 0;\n overflow-wrap: anywhere;\n}\n\n._discoverDocNotice_485ym_676 {\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_485ym_682 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n margin-top: var(--wb-len-16);\n}\n\n._discoverSectionTitle_485ym_689 {\n margin: 0;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverFacts_485ym_695 {\n margin: 0;\n padding: 0;\n}\n\n._discoverFactRow_485ym_700 {\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_485ym_710 {\n flex: none;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverFactValue_485ym_716 {\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_485ym_724 {\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_485ym_733 {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n gap: var(--wb-len-6);\n}\n\n._discoverLink_485ym_740 {\n color: var(--dsw-alias-link);\n overflow-wrap: anywhere;\n text-decoration: none;\n}\n\n._discoverLink_485ym_740:hover {\n text-decoration: underline;\n}\n\n._discoverVersions_485ym_750 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n}\n\n._discoverVersionRow_485ym_758 {\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_485ym_766 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverError_485ym_771 {\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_485ym_780 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._discoverLoading_485ym_786 {\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_485ym_795 {\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_485ym_795 svg {\n flex: none;\n margin-top: var(--wb-len-2);\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverMore_485ym_813 {\n align-self: center;\n}\n\n._discoverTransport_485ym_817 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportHead_485ym_823 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportTitle_485ym_830 {\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverTransportHead_485ym_823 ._discoverTransportKind_485ym_835 {\n font: var(--dsw-font-xs-13);\n font-weight: 500;\n}\n\n._discoverTransportHead_485ym_823 ._discoverTransportState_485ym_840 {\n margin-left: 0;\n}\n\n._discoverTransportHead_485ym_823 > :last-child {\n margin-left: auto;\n}\n\n._discoverTransportRows_485ym_848 {\n display: flex;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportRow_485ym_848 {\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_485ym_848:hover {\n border-color: var(--dsw-alias-border-l3);\n}\n\n._discoverTransportRow_485ym_848:has(._discoverTransportRadio_485ym_869:checked) {\n border-color: var(--dsw-alias-label-primary);\n}\n\n._discoverTransportRow_485ym_848:has(._discoverTransportRadio_485ym_869:focus-visible) {\n outline: 2px solid var(--dsw-alias-label-primary);\n outline-offset: 1px;\n}\n\n._discoverTransportRadio_485ym_869 {\n flex: none;\n margin: 0;\n}\n\n._discoverTransportKind_485ym_835 {\n flex: none;\n font: var(--dsw-font-xs-13);\n font-weight: 500;\n}\n\n._discoverTransportState_485ym_840 {\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_485ym_848[data-state='ok'] ._discoverTransportState_485ym_840 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._discoverTransportRow_485ym_848[data-state='auth'] ._discoverTransportState_485ym_840 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._discoverTransportRow_485ym_848[data-state='unreachable'] ._discoverTransportState_485ym_840,\n._discoverTransportRow_485ym_848[data-state='unknown'] ._discoverTransportState_485ym_840 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverTransportCustom_485ym_909 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportInput_485ym_915 {\n flex: 1;\n min-width: 0;\n}\n\n._discoverInstallBar_485ym_920 {\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_485ym_931 {\n flex: 1;\n min-width: 0;\n overflow-wrap: anywhere;\n}\n\n._discoverDialog_485ym_937 {\n width: min(var(--wb-len-560), calc(100vw - var(--wb-len-32)));\n}\n\n._discoverDialogBody_485ym_941 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._discoverSourceList_485ym_947 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n}\n\n._discoverSourceRow_485ym_955 {\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_485ym_964 {\n margin: 0;\n padding: var(--wb-len-2) 0 var(--wb-len-10);\n list-style: none;\n}\n\n._discoverSourcePick_485ym_970 {\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_485ym_979 {\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_485ym_987 {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._discoverSourceHead_485ym_995 {\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_485ym_1003 {\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_485ym_1013 {\n flex: none;\n}\n\n._discoverSourceLoading_485ym_1017 {\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_485ym_1027 {\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_485ym_1027 svg {\n flex: none;\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverSourceError_485ym_1041 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._discoverSourceForm_485ym_1047 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverGrow_485ym_1053 {\n flex: 1;\n min-width: 0;\n}\n\n._discoverField_485ym_1058 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n\n._discoverFieldLabel_485ym_1064 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverConfirmHead_485ym_1069 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n}\n\n._discoverSkeletonFill_485ym_1075 {\n background: var(--dsw-alias-bg-skeleton);\n animation: _wb-skeleton_485ym_1 var(--wb-dur-1-5) cubic-bezier(0.36, 0, 0.64, 1) infinite;\n}\n\n._discoverArtwork_485ym_473._discoverSkeletonFill_485ym_1075 {\n border-color: transparent;\n}\n\n._discoverSkeletonBar_485ym_1084 {\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_485ym_1091 {\n width: min(var(--wb-len-144), 60%);\n}\n\n._discoverSkeletonDesc_485ym_1095 {\n width: min(var(--wb-len-280), 85%);\n}\n\n@keyframes _wb-skeleton_485ym_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_485ym_1075 {\n animation: none;\n }\n}\n\n._block_mxnbc_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n padding: var(--wb-len-2) 0 var(--wb-len-8);\n min-width: 0;\n}\n\n._head_mxnbc_9 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._title_mxnbc_16 {\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._fact_mxnbc_22 {\n margin: 0;\n font: var(--dsw-font-xxs-12);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._actions_mxnbc_30 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-2);\n margin-left: calc(-1 * var(--wb-len-8));\n}\n\n._hint_mxnbc_38 {\n margin: 0;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._output_mxnbc_44 {\n margin-top: var(--wb-len-2);\n min-width: 0;\n}\n._check_1g6tv_1 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-10);\n min-width: 0;\n}\n\n._status_1g6tv_8 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-caption);\n font-variant-numeric: tabular-nums;\n white-space: nowrap;\n}\n\n._button_1g6tv_15 {\n flex: none;\n width: var(--wb-len-28);\n height: var(--wb-len-28);\n padding: 0;\n}\n\n._icon_1g6tv_22 {\n display: inline-flex;\n}\n\n@media (max-width: 720px) {\n ._status_1g6tv_8 {\n display: none;\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._actions_smeq7_1 {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: var(--wb-len-8);\n max-width: 100%;\n}\n\n._action_smeq7_1 {\n flex: none;\n white-space: nowrap;\n}\n\n@container (max-width: 340px) {\n ._actions_smeq7_1 {\n flex-direction: column;\n width: var(--wb-len-220);\n max-width: 100%;\n }\n\n ._action_smeq7_1 {\n width: 100%;\n }\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*/";
|
|
16421
|
+
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: grid;\n grid-template-columns: minmax(var(--wb-len-56), auto) minmax(0, 1fr);\n column-gap: var(--wb-len-8);\n row-gap: var(--wb-len-2);\n align-items: baseline;\n margin: 0;\n}\n.wb-approvalRow {\n display: contents;\n}\n.wb-approvalLabel {\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.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_1vpw3_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_1vpw3_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_1vpw3_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_1vpw3_32 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._marketName_1vpw3_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_1vpw3_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_1vpw3_58 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSep_1vpw3_62 {\n color: var(--dsw-alias-label-caption);\n}\n\n._marketReason_1vpw3_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_1vpw3_39 ._marketVersion_1vpw3_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_1vpw3_72 {\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketVersion_1vpw3_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_1vpw3_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_1vpw3_105 {\n flex: none;\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_1vpw3_112 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_1vpw3_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_1vpw3_125 {\n flex: none;\n display: flex;\n gap: var(--wb-len-6);\n}\n\n._marketUpdateAction_1vpw3_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_1vpw3_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_1vpw3_143 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._marketSectionHead_1vpw3_150 {\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-8);\n}\n\n._marketSectionIcon_1vpw3_156 {\n display: inline-flex;\n align-items: center;\n align-self: center;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketSectionTitle_1vpw3_163 {\n margin: 0;\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._marketSectionCount_1vpw3_169 {\n font: var(--dsw-font-s-14);\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketSectionAction_1vpw3_175 {\n display: inline-flex;\n align-items: center;\n align-self: center;\n margin-left: auto;\n min-width: 0;\n}\n\n._marketSectionQuiet_1vpw3_183 ._marketSectionTitle_1vpw3_163 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSectionQuiet_1vpw3_183 ._marketName_1vpw3_39 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSectionQuiet_1vpw3_183 ._marketIcon_1vpw3_20 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n._marketProgress_1vpw3_195 {\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_1vpw3_205 {\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_1vpw3_212 {\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._marketFailureSeat_1vpw3_219 {\n grid-column: 2 / -1;\n min-width: 0;\n}\n\n._marketEmpty_1vpw3_224 {\n padding: var(--wb-len-18) var(--wb-len-16);\n text-align: center;\n}\n\n._marketPage_1vpw3_229 {\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_1vpw3_229 > * {\n width: 100%;\n max-width: var(--wb-len-960);\n}\n\n._marketPageHead_1vpw3_247 {\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_1vpw3_255 {\n margin: 0;\n font: var(--dsw-font-l-20);\n}\n\n._marketPageIntro_1vpw3_260 {\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_1vpw3_266 {\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_1vpw3_275 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-32);\n}\n\n._marketPanel_1vpw3_275[hidden] {\n display: none;\n}\n\n._marketTabs_1vpw3_285 {\n display: flex;\n margin: calc(0px - var(--wb-len-16)) 0;\n}\n\n._marketTabList_1vpw3_290 {\n width: fit-content;\n min-width: var(--wb-len-240);\n}\n\n._marketAddButton_1vpw3_295 {\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_1vpw3_224 {\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_1vpw3_312 {\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._discoverPage_1vpw3_317 {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n}\n\n._discoverBar_1vpw3_324 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n container-type: inline-size;\n}\n\n._discoverTools_1vpw3_331 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverMarket_1vpw3_337 {\n flex: 0 1 auto;\n min-width: 0;\n}\n\n._discoverMarketButton_1vpw3_342 {\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_1vpw3_349 {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._discoverLabels_1vpw3_355 {\n flex: none;\n white-space: nowrap;\n}\n\n._discoverSort_1vpw3_360 {\n flex: none;\n white-space: nowrap;\n}\n\n._discoverRefresh_1vpw3_365 {\n flex: none;\n}\n\n._discoverSearch_1vpw3_369 {\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_1vpw3_377 {\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._discoverSearchFieldFilled_1vpw3_382 input {\n padding-inline-end: var(--wb-len-20);\n}\n\n._discoverSearchField_1vpw3_377 input::-webkit-search-cancel-button {\n appearance: none;\n -webkit-appearance: none;\n}\n\n._discoverSearch_1vpw3_369 ._discoverSearchClear_1vpw3_391 {\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_1vpw3_391:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n@container (max-width: 560px) {\n ._discoverTools_1vpw3_331 {\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_1vpw3_337 {\n grid-area: market;\n }\n\n ._discoverMarketButton_1vpw3_342 {\n margin-left: 0;\n }\n\n ._discoverLabels_1vpw3_355 {\n grid-area: labels;\n }\n\n ._discoverSearch_1vpw3_369 {\n grid-area: search;\n }\n\n ._discoverSort_1vpw3_360 {\n grid-area: sort;\n justify-self: end;\n }\n\n ._discoverRefresh_1vpw3_365 {\n grid-area: refresh;\n }\n}\n\n._discoverChips_1vpw3_442 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-6);\n}\n\n._discoverList_1vpw3_449 {\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_1vpw3_458 {\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_1vpw3_458:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._discoverArtwork_1vpw3_472 {\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_1vpw3_484 {\n object-fit: contain;\n}\n\n._discoverMain_1vpw3_488 {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--wb-len-2);\n min-width: 0;\n}\n\n._discoverTitleRow_1vpw3_496 {\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_1vpw3_504 {\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_1vpw3_504::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: var(--dsw-radius-xl);\n}\n\n._discoverCardOpen_1vpw3_504:focus-visible {\n outline: none;\n}\n\n._discoverCardOpen_1vpw3_504: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_1vpw3_535 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n overflow-wrap: anywhere;\n}\n\n._discoverDesc_1vpw3_541 {\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_1vpw3_550 {\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_1vpw3_557 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._discoverEnd_1vpw3_563 {\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._discoverUpdateAction_1vpw3_572 {\n color: var(--dsw-alias-state-warn-primary);\n --dsw-alias-interactive-bg-hover: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 8%, transparent);\n}\n\n._discoverBlocked_1vpw3_577 {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n._discoverEmpty_1vpw3_582 {\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_1vpw3_591 {\n margin: var(--wb-len-8) 0 0;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverEmpty_1vpw3_582 > button {\n margin-top: var(--wb-len-8);\n}\n\n._discoverDetail_1vpw3_601 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n}\n\n._discoverCrumb_1vpw3_607 {\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_1vpw3_607:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n._discoverCrumb_1vpw3_607: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_1vpw3_630 {\n transform: rotate(90deg);\n}\n\n._discoverDetailHead_1vpw3_634 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n}\n\n._discoverDetailTitle_1vpw3_640 {\n margin: 0;\n font: var(--dsw-font-l-20);\n font-weight: 500;\n}\n\n._discoverDetailText_1vpw3_646 {\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_1vpw3_653 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n min-width: 0;\n}\n\n._discoverDetailTabs_1vpw3_660 {\n display: flex;\n margin-bottom: calc(0px - var(--wb-len-4));\n}\n\n._discoverDetailTabList_1vpw3_665 {\n width: fit-content;\n min-width: var(--wb-len-240);\n}\n\n._discoverDocBody_1vpw3_670 {\n min-width: 0;\n overflow-wrap: anywhere;\n}\n\n._discoverDocNotice_1vpw3_675 {\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_1vpw3_681 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n margin-top: var(--wb-len-16);\n}\n\n._discoverSectionTitle_1vpw3_688 {\n margin: 0;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverFacts_1vpw3_694 {\n margin: 0;\n padding: 0;\n}\n\n._discoverFactRow_1vpw3_699 {\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_1vpw3_709 {\n flex: none;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverFactValue_1vpw3_715 {\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_1vpw3_723 {\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_1vpw3_732 {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n gap: var(--wb-len-6);\n}\n\n._discoverLink_1vpw3_739 {\n color: var(--dsw-alias-link);\n overflow-wrap: anywhere;\n text-decoration: none;\n}\n\n._discoverLink_1vpw3_739:hover {\n text-decoration: underline;\n}\n\n._discoverVersions_1vpw3_749 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n}\n\n._discoverVersionRow_1vpw3_757 {\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_1vpw3_765 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverError_1vpw3_770 {\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_1vpw3_779 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._discoverLoading_1vpw3_785 {\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_1vpw3_794 {\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_1vpw3_794 svg {\n flex: none;\n margin-top: var(--wb-len-2);\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverMore_1vpw3_812 {\n align-self: center;\n}\n\n._discoverTransport_1vpw3_816 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportHead_1vpw3_822 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportTitle_1vpw3_829 {\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverTransportHead_1vpw3_822 ._discoverTransportKind_1vpw3_834 {\n font: var(--dsw-font-xs-13);\n font-weight: 500;\n}\n\n._discoverTransportHead_1vpw3_822 ._discoverTransportState_1vpw3_839 {\n margin-left: 0;\n}\n\n._discoverTransportHead_1vpw3_822 > :last-child {\n margin-left: auto;\n}\n\n._discoverTransportRows_1vpw3_847 {\n display: flex;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportRow_1vpw3_847 {\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_1vpw3_847:hover {\n border-color: var(--dsw-alias-border-l3);\n}\n\n._discoverTransportRow_1vpw3_847:has(._discoverTransportRadio_1vpw3_868:checked) {\n border-color: var(--dsw-alias-label-primary);\n}\n\n._discoverTransportRow_1vpw3_847:has(._discoverTransportRadio_1vpw3_868:focus-visible) {\n outline: 2px solid var(--dsw-alias-label-primary);\n outline-offset: 1px;\n}\n\n._discoverTransportRadio_1vpw3_868 {\n flex: none;\n margin: 0;\n}\n\n._discoverTransportKind_1vpw3_834 {\n flex: none;\n font: var(--dsw-font-xs-13);\n font-weight: 500;\n}\n\n._discoverTransportState_1vpw3_839 {\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_1vpw3_847[data-state='ok'] ._discoverTransportState_1vpw3_839 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._discoverTransportRow_1vpw3_847[data-state='auth'] ._discoverTransportState_1vpw3_839 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._discoverTransportRow_1vpw3_847[data-state='unreachable'] ._discoverTransportState_1vpw3_839,\n._discoverTransportRow_1vpw3_847[data-state='unknown'] ._discoverTransportState_1vpw3_839 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverTransportCustom_1vpw3_908 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportInput_1vpw3_914 {\n flex: 1;\n min-width: 0;\n}\n\n._discoverInstallBar_1vpw3_919 {\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_1vpw3_930 {\n flex: 1;\n min-width: 0;\n overflow-wrap: anywhere;\n}\n\n._discoverDialog_1vpw3_936 {\n width: min(var(--wb-len-560), calc(100vw - var(--wb-len-32)));\n}\n\n._discoverDialogBody_1vpw3_940 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._discoverSourceList_1vpw3_946 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n}\n\n._discoverSourceRow_1vpw3_954 {\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_1vpw3_963 {\n margin: 0;\n padding: var(--wb-len-2) 0 var(--wb-len-10);\n list-style: none;\n}\n\n._discoverSourcePick_1vpw3_969 {\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_1vpw3_978 {\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_1vpw3_986 {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._discoverSourceHead_1vpw3_994 {\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_1vpw3_1002 {\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_1vpw3_1012 {\n flex: none;\n}\n\n._discoverSourceLoading_1vpw3_1016 {\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_1vpw3_1026 {\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_1vpw3_1026 svg {\n flex: none;\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverSourceError_1vpw3_1040 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._discoverSourceForm_1vpw3_1046 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverGrow_1vpw3_1052 {\n flex: 1;\n min-width: 0;\n}\n\n._discoverField_1vpw3_1057 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n\n._discoverFieldLabel_1vpw3_1063 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverConfirmHead_1vpw3_1068 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n}\n\n._discoverSkeletonFill_1vpw3_1074 {\n background: var(--dsw-alias-bg-skeleton);\n animation: _wb-skeleton_1vpw3_1 var(--wb-dur-1-5) cubic-bezier(0.36, 0, 0.64, 1) infinite;\n}\n\n._discoverArtwork_1vpw3_472._discoverSkeletonFill_1vpw3_1074 {\n border-color: transparent;\n}\n\n._discoverSkeletonBar_1vpw3_1083 {\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_1vpw3_1090 {\n width: min(var(--wb-len-144), 60%);\n}\n\n._discoverSkeletonDesc_1vpw3_1094 {\n width: min(var(--wb-len-280), 85%);\n}\n\n@keyframes _wb-skeleton_1vpw3_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_1vpw3_1074 {\n animation: none;\n }\n}\n\n._block_mxnbc_1 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n padding: var(--wb-len-2) 0 var(--wb-len-8);\n min-width: 0;\n}\n\n._head_mxnbc_9 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._title_mxnbc_16 {\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._fact_mxnbc_22 {\n margin: 0;\n font: var(--dsw-font-xxs-12);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._actions_mxnbc_30 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-2);\n margin-left: calc(-1 * var(--wb-len-8));\n}\n\n._hint_mxnbc_38 {\n margin: 0;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._output_mxnbc_44 {\n margin-top: var(--wb-len-2);\n min-width: 0;\n}\n._check_1g6tv_1 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-10);\n min-width: 0;\n}\n\n._status_1g6tv_8 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-caption);\n font-variant-numeric: tabular-nums;\n white-space: nowrap;\n}\n\n._button_1g6tv_15 {\n flex: none;\n width: var(--wb-len-28);\n height: var(--wb-len-28);\n padding: 0;\n}\n\n._icon_1g6tv_22 {\n display: inline-flex;\n}\n\n@media (max-width: 720px) {\n ._status_1g6tv_8 {\n display: none;\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._actions_smeq7_1 {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: var(--wb-len-8);\n max-width: 100%;\n}\n\n._action_smeq7_1 {\n flex: none;\n white-space: nowrap;\n}\n\n@container (max-width: 340px) {\n ._actions_smeq7_1 {\n flex-direction: column;\n width: var(--wb-len-220);\n max-width: 100%;\n }\n\n ._action_smeq7_1 {\n width: 100%;\n }\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*/";
|
|
16238
16422
|
function workbenchCss() {
|
|
16239
16423
|
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}`;
|
|
16240
16424
|
}
|