@dsh-workbench/core 1.1.10 → 1.1.12
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 +1229 -856
- package/dist/client/client.body.js +1229 -856
- package/dist/client/index.js +1090 -717
- package/dist/host/index.js +37 -24
- package/dist/types/app/layouts/market/use-market-reload.d.ts +10 -4
- package/dist/types/app/layouts/market/use-module-versions.d.ts +9 -8
- package/dist/types/app/layouts/rightbar/MarketView.d.ts +4 -26
- package/dist/types/app/layouts/rightbar/market-act.d.ts +2 -3
- package/dist/types/app/layouts/rightbar/market-body.d.ts +25 -0
- package/dist/types/app/layouts/rightbar/market-detail-facts.d.ts +14 -0
- package/dist/types/app/layouts/rightbar/market-detail-page.d.ts +20 -0
- package/dist/types/app/layouts/rightbar/market-detail.d.ts +17 -0
- package/dist/types/app/layouts/rightbar/market-row-types.d.ts +7 -0
- package/dist/types/app/layouts/rightbar/market-rows.d.ts +2 -0
- package/dist/types/app/layouts/rightbar/market-scene-view.d.ts +33 -0
- package/dist/types/app/layouts/rightbar/market-section.d.ts +23 -4
- package/dist/types/app/layouts/rightbar/market-view-text.d.ts +1 -0
- package/dist/types/modules/panels/model/plugin-section.d.ts +1 -0
- package/dist/types/shared/api/installed-plugins.d.ts +2 -0
- package/dist/types/shared/hooks/bundle-queries.d.ts +2 -2
- package/package.json +4 -4
package/client.js
CHANGED
|
@@ -792,17 +792,17 @@ window.__ModuleLoader__.load({
|
|
|
792
792
|
//#endregion
|
|
793
793
|
//#region ../shared/dist/lib/react.js
|
|
794
794
|
var react$1 = require("react");
|
|
795
|
-
var h$
|
|
796
|
-
var Fragment$
|
|
795
|
+
var h$74 = react$1.createElement;
|
|
796
|
+
var Fragment$24 = react$1.Fragment;
|
|
797
797
|
var Component = react$1.Component;
|
|
798
798
|
react$1.createContext;
|
|
799
799
|
react$1.useContext;
|
|
800
|
-
var useState$
|
|
800
|
+
var useState$43 = react$1.useState;
|
|
801
801
|
var useEffect$33 = react$1.useEffect;
|
|
802
802
|
react$1.useLayoutEffect;
|
|
803
803
|
var useMemo$10 = react$1.useMemo;
|
|
804
804
|
react$1.useCallback;
|
|
805
|
-
var useRef$
|
|
805
|
+
var useRef$23 = react$1.useRef;
|
|
806
806
|
react$1.useSyncExternalStore;
|
|
807
807
|
//#endregion
|
|
808
808
|
//#region ../shared/dist/components/Activity.js
|
|
@@ -813,7 +813,7 @@ window.__ModuleLoader__.load({
|
|
|
813
813
|
* @returns 一个 div。
|
|
814
814
|
*/
|
|
815
815
|
function ActivityBlock({ head, children }) {
|
|
816
|
-
return h$
|
|
816
|
+
return h$74("div", { className: "wb-activityBlock" }, head === void 0 ? null : h$74("div", { className: "wb-activityBlockHead" }, head), children);
|
|
817
817
|
}
|
|
818
818
|
/**
|
|
819
819
|
* 一条活动:状态点 + 正文 + 时间,行尾可挂动作;时间一律用它,别自己拼。
|
|
@@ -824,7 +824,7 @@ window.__ModuleLoader__.load({
|
|
|
824
824
|
* @returns 一行。
|
|
825
825
|
*/
|
|
826
826
|
function ActivityLine({ dot, text, at, actions }) {
|
|
827
|
-
return h$
|
|
827
|
+
return h$74("div", { className: "wb-activityLine" }, dot, h$74("span", { className: "wb-activityLineText" }, text), at === void 0 ? null : h$74("span", { className: "wb-activityLineAt" }, at), actions === void 0 ? null : h$74("span", { className: "wb-activityLineActions" }, actions));
|
|
828
828
|
}
|
|
829
829
|
/**
|
|
830
830
|
* 活动行尾那颗动作:给 `href` 就是外链,否则是图标钮并带上 tooltip。
|
|
@@ -838,7 +838,7 @@ window.__ModuleLoader__.load({
|
|
|
838
838
|
*/
|
|
839
839
|
function ActivityAction({ label, hint, icon, href, onClick, failed }) {
|
|
840
840
|
const tip = hint ?? label;
|
|
841
|
-
if (href !== void 0) return h$
|
|
841
|
+
if (href !== void 0) return h$74("a", {
|
|
842
842
|
className: "wb-iconButton",
|
|
843
843
|
href,
|
|
844
844
|
target: "_blank",
|
|
@@ -846,13 +846,13 @@ window.__ModuleLoader__.load({
|
|
|
846
846
|
title: tip,
|
|
847
847
|
"aria-label": label
|
|
848
848
|
}, icon);
|
|
849
|
-
return h$
|
|
849
|
+
return h$74(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
|
|
850
850
|
side: "bottom",
|
|
851
851
|
align: "end",
|
|
852
852
|
gap: 6,
|
|
853
853
|
portal: true,
|
|
854
854
|
label: tip
|
|
855
|
-
}, h$
|
|
855
|
+
}, h$74(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
856
856
|
type: "button",
|
|
857
857
|
variant: "ghost",
|
|
858
858
|
size: "sm",
|
|
@@ -874,10 +874,10 @@ window.__ModuleLoader__.load({
|
|
|
874
874
|
*/
|
|
875
875
|
function Note({ tone = "muted", as, role, children }) {
|
|
876
876
|
const className = tone === "problem" ? "wb-problem" : "wb-note";
|
|
877
|
-
return as === "span" ? h$
|
|
877
|
+
return as === "span" ? h$74("span", {
|
|
878
878
|
className,
|
|
879
879
|
role
|
|
880
|
-
}, children) : h$
|
|
880
|
+
}, children) : h$74("p", {
|
|
881
881
|
className,
|
|
882
882
|
role
|
|
883
883
|
}, children);
|
|
@@ -921,10 +921,10 @@ window.__ModuleLoader__.load({
|
|
|
921
921
|
render() {
|
|
922
922
|
const { reason } = this.state;
|
|
923
923
|
if (reason === null) return this.props.children;
|
|
924
|
-
return h$
|
|
924
|
+
return h$74(Note, { tone: "problem" }, h$74("span", null, this.props.t("panels.cardBroken", {
|
|
925
925
|
unit: this.props.unit,
|
|
926
926
|
reason
|
|
927
|
-
})), " ", h$
|
|
927
|
+
})), " ", h$74(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
928
928
|
type: "button",
|
|
929
929
|
variant: "outline",
|
|
930
930
|
size: "sm",
|
|
@@ -974,19 +974,19 @@ window.__ModuleLoader__.load({
|
|
|
974
974
|
const owner = (props.units ?? []).find((face) => face.approval?.tools.includes(input.tool) === true);
|
|
975
975
|
if (owner?.approval !== void 0) {
|
|
976
976
|
const Render = owner.approval.render;
|
|
977
|
-
return h$
|
|
977
|
+
return h$74(CardBoundary, {
|
|
978
978
|
unit: owner.unit,
|
|
979
979
|
resetKey: props.callId ?? "",
|
|
980
980
|
t
|
|
981
|
-
}, h$
|
|
981
|
+
}, h$74(Render, {
|
|
982
982
|
input,
|
|
983
983
|
t
|
|
984
984
|
}));
|
|
985
985
|
}
|
|
986
986
|
const shell = props.renderShell?.(input, t);
|
|
987
|
-
if (shell !== void 0 && shell !== null) return h$
|
|
987
|
+
if (shell !== void 0 && shell !== null) return h$74(Fragment$24, null, shell);
|
|
988
988
|
if (command === "") return null;
|
|
989
|
-
return h$
|
|
989
|
+
return h$74(_deepseek_ai_dsh_client_ui_primitives.CodeBlock, {
|
|
990
990
|
code: command,
|
|
991
991
|
className: "wb-approvalCommand",
|
|
992
992
|
copyLabel: t("blocker.copy"),
|
|
@@ -1004,10 +1004,10 @@ window.__ModuleLoader__.load({
|
|
|
1004
1004
|
* @returns 一个 div。
|
|
1005
1005
|
*/
|
|
1006
1006
|
function ApprovalPlan({ rows, hint, warn, children }) {
|
|
1007
|
-
return h$
|
|
1007
|
+
return h$74("div", { className: "wb-approvalPlan" }, hint === void 0 ? null : h$74("p", { className: "wb-approvalHint" }, hint), h$74("dl", { className: "wb-approvalRows" }, rows.map((row, index) => h$74("div", {
|
|
1008
1008
|
className: "wb-approvalRow",
|
|
1009
1009
|
key: String(index)
|
|
1010
|
-
}, h$
|
|
1010
|
+
}, h$74("dt", { className: "wb-approvalLabel" }, row.label), h$74("dd", { className: "wb-approvalValue" }, row.value)))), children, warn === void 0 ? null : h$74("p", { className: "wb-approvalWarn" }, warn));
|
|
1011
1011
|
}
|
|
1012
1012
|
//#endregion
|
|
1013
1013
|
//#region ../shared/dist/components/CardHead.js
|
|
@@ -1024,47 +1024,47 @@ window.__ModuleLoader__.load({
|
|
|
1024
1024
|
function CardHead({ t, title, meta, refreshing, onRefresh, gear, gearOpen, onToggleGear, platformHref, platform, platformTitle }) {
|
|
1025
1025
|
const refreshLabel = refreshing ? t("rightbar.refreshing") : t("rightbar.refresh");
|
|
1026
1026
|
const platformLabel = platformTitle ?? platform ?? t("rightbar.openPlatform");
|
|
1027
|
-
return h$
|
|
1027
|
+
return h$74("header", { className: "wb-cardHead" }, h$74("h2", { className: "wb-cardTitle" }, title), meta === void 0 ? null : h$74("span", { className: "wb-cardMeta" }, meta), platformHref === void 0 ? null : h$74(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
|
|
1028
1028
|
side: "bottom",
|
|
1029
1029
|
align: "end",
|
|
1030
1030
|
gap: 6,
|
|
1031
1031
|
portal: true,
|
|
1032
1032
|
label: platformLabel
|
|
1033
|
-
}, h$
|
|
1033
|
+
}, h$74("a", {
|
|
1034
1034
|
className: "wb-iconButton wb-cardOpen",
|
|
1035
1035
|
href: platformHref,
|
|
1036
1036
|
target: "_blank",
|
|
1037
1037
|
rel: "noreferrer noopener",
|
|
1038
1038
|
"aria-label": platform ?? platformLabel
|
|
1039
|
-
}, h$
|
|
1039
|
+
}, h$74(_deepseek_ai_dsh_client_ui_primitives.IconRightUpOutlineRegular, { size: 14 }))), h$74(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
|
|
1040
1040
|
side: "bottom",
|
|
1041
1041
|
align: "end",
|
|
1042
1042
|
gap: 6,
|
|
1043
1043
|
portal: true,
|
|
1044
1044
|
label: refreshLabel
|
|
1045
|
-
}, h$
|
|
1045
|
+
}, h$74(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
1046
1046
|
type: "button",
|
|
1047
1047
|
size: "sm",
|
|
1048
1048
|
variant: "ghost",
|
|
1049
1049
|
className: `wb-cardRefresh${refreshing ? " wb-spinning" : ""}`,
|
|
1050
1050
|
"aria-label": refreshLabel,
|
|
1051
1051
|
disabled: refreshing,
|
|
1052
|
-
icon: h$
|
|
1052
|
+
icon: h$74(_deepseek_ai_dsh_client_ui_primitives.IconRefreshOutlineRegular, { size: 14 }),
|
|
1053
1053
|
onClick: onRefresh
|
|
1054
|
-
})), gear === void 0 || onToggleGear === void 0 ? null : h$
|
|
1054
|
+
})), gear === void 0 || onToggleGear === void 0 ? null : h$74(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
|
|
1055
1055
|
side: "bottom",
|
|
1056
1056
|
align: "end",
|
|
1057
1057
|
gap: 6,
|
|
1058
1058
|
portal: true,
|
|
1059
1059
|
label: gear
|
|
1060
|
-
}, h$
|
|
1060
|
+
}, h$74(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
1061
1061
|
type: "button",
|
|
1062
1062
|
size: "sm",
|
|
1063
1063
|
variant: "ghost",
|
|
1064
1064
|
className: `wb-cardGear${gearOpen === true ? " wb-iconButtonActive" : ""}`,
|
|
1065
1065
|
"aria-label": gear,
|
|
1066
1066
|
"aria-expanded": gearOpen === true,
|
|
1067
|
-
icon: h$
|
|
1067
|
+
icon: h$74(_deepseek_ai_dsh_client_ui_primitives.IconSettingsOutlineRegular, { size: 15 }),
|
|
1068
1068
|
onClick: onToggleGear
|
|
1069
1069
|
})));
|
|
1070
1070
|
}
|
|
@@ -1081,13 +1081,13 @@ window.__ModuleLoader__.load({
|
|
|
1081
1081
|
* @returns 一个 `<section>`。
|
|
1082
1082
|
*/
|
|
1083
1083
|
function Card({ t, title, refreshing, onRefresh, meta, head, children }) {
|
|
1084
|
-
return h$
|
|
1084
|
+
return h$74("section", { className: "wb-card" }, head === void 0 ? h$74(CardHead, {
|
|
1085
1085
|
t,
|
|
1086
1086
|
title,
|
|
1087
1087
|
refreshing,
|
|
1088
1088
|
onRefresh,
|
|
1089
1089
|
meta
|
|
1090
|
-
}) : head, h$
|
|
1090
|
+
}) : head, h$74("div", { className: "wb-cardBody" }, children));
|
|
1091
1091
|
}
|
|
1092
1092
|
var CardAnchor_module_default = { anchor: "_anchor_yq4s2_1" };
|
|
1093
1093
|
//#endregion
|
|
@@ -1107,7 +1107,7 @@ window.__ModuleLoader__.load({
|
|
|
1107
1107
|
* @returns 带 id 的占位 div。
|
|
1108
1108
|
*/
|
|
1109
1109
|
function CardAnchor({ unit, children }) {
|
|
1110
|
-
return h$
|
|
1110
|
+
return h$74("div", {
|
|
1111
1111
|
id: cardIdOf(unit),
|
|
1112
1112
|
className: CardAnchor_module_default.anchor
|
|
1113
1113
|
}, children);
|
|
@@ -1121,13 +1121,13 @@ window.__ModuleLoader__.load({
|
|
|
1121
1121
|
* @returns 一枚 `StateDot state="ongoing"`,自身不带文字。
|
|
1122
1122
|
*/
|
|
1123
1123
|
function Spinner({ size = 14, label }) {
|
|
1124
|
-
return h$
|
|
1124
|
+
return h$74("span", {
|
|
1125
1125
|
className: "wb-spinner",
|
|
1126
1126
|
...label === void 0 ? { "aria-hidden": true } : {
|
|
1127
1127
|
role: "status",
|
|
1128
1128
|
"aria-label": label
|
|
1129
1129
|
}
|
|
1130
|
-
}, h$
|
|
1130
|
+
}, h$74(_deepseek_ai_dsh_client_ui_primitives.StateDot, {
|
|
1131
1131
|
state: "ongoing",
|
|
1132
1132
|
size
|
|
1133
1133
|
}));
|
|
@@ -1135,24 +1135,24 @@ window.__ModuleLoader__.load({
|
|
|
1135
1135
|
//#endregion
|
|
1136
1136
|
//#region ../shared/dist/components/ChoiceGroup.js
|
|
1137
1137
|
function ChoiceMenu(input) {
|
|
1138
|
-
const body = input.loading ? h$
|
|
1138
|
+
const body = input.loading ? h$74("span", {
|
|
1139
1139
|
className: "wb-choiceLoading",
|
|
1140
1140
|
role: "status"
|
|
1141
|
-
}, h$
|
|
1141
|
+
}, h$74(Spinner, { size: 14 }), h$74("span", { className: "wb-choiceLoadingText" }, input.loadingText ?? "…")) : input.options.length === 0 ? input.emptyText === void 0 ? null : h$74("span", { className: "wb-choiceEmpty" }, input.emptyText) : input.options.map((option) => {
|
|
1142
1142
|
const row = input.rowOf(option.value);
|
|
1143
|
-
return h$
|
|
1143
|
+
return h$74(Fragment$24, { key: option.value }, h$74("label", { className: `wb-choiceOption${row.checked ? " wb-choiceOptionOn" : ""}` }, h$74("input", {
|
|
1144
1144
|
className: input.multi ? "wb-checkbox" : "wb-radio",
|
|
1145
1145
|
type: input.multi ? "checkbox" : "radio",
|
|
1146
1146
|
name: input.name,
|
|
1147
1147
|
checked: row.checked,
|
|
1148
1148
|
disabled: input.disabled,
|
|
1149
1149
|
onChange: row.onSelect
|
|
1150
|
-
}), input.multi ? h$
|
|
1150
|
+
}), input.multi ? h$74("span", {
|
|
1151
1151
|
className: "wb-checkboxBox",
|
|
1152
1152
|
"aria-hidden": "true"
|
|
1153
|
-
}, row.checked ? h$
|
|
1153
|
+
}, row.checked ? h$74(_deepseek_ai_dsh_client_ui_primitives.IconCheckOutlineRegular, { size: 12 }) : null) : null, h$74("span", { className: "wb-choiceLabel" }, h$74("span", { className: "wb-choiceLabelText" }, option.label), option.description === void 0 ? null : h$74("span", { className: "wb-choiceDescription" }, option.description))));
|
|
1154
1154
|
});
|
|
1155
|
-
return h$
|
|
1155
|
+
return h$74("div", {
|
|
1156
1156
|
className: "wb-choiceMenu",
|
|
1157
1157
|
"data-variant": input.variant,
|
|
1158
1158
|
role: input.multi ? "group" : "radiogroup",
|
|
@@ -1186,7 +1186,7 @@ window.__ModuleLoader__.load({
|
|
|
1186
1186
|
if (props.multi === true) {
|
|
1187
1187
|
const values = props.values;
|
|
1188
1188
|
const onChange = props.onChange;
|
|
1189
|
-
return h$
|
|
1189
|
+
return h$74(ChoiceMenu, {
|
|
1190
1190
|
label: common.label,
|
|
1191
1191
|
name: common.name,
|
|
1192
1192
|
options: common.options,
|
|
@@ -1206,7 +1206,7 @@ window.__ModuleLoader__.load({
|
|
|
1206
1206
|
}
|
|
1207
1207
|
const value = props.value;
|
|
1208
1208
|
const onChange = props.onChange;
|
|
1209
|
-
return h$
|
|
1209
|
+
return h$74(ChoiceMenu, {
|
|
1210
1210
|
label: common.label,
|
|
1211
1211
|
name: common.name,
|
|
1212
1212
|
options: common.options,
|
|
@@ -1259,17 +1259,17 @@ window.__ModuleLoader__.load({
|
|
|
1259
1259
|
function FormActions({ actions }) {
|
|
1260
1260
|
if (actions.length === 0) return null;
|
|
1261
1261
|
reportExtraPrimaries(actions);
|
|
1262
|
-
return h$
|
|
1262
|
+
return h$74("div", { className: "wb-formActions" }, ordered(actions).map((action) => {
|
|
1263
1263
|
const kind = kindOf(action);
|
|
1264
1264
|
const busy = action.busy === true;
|
|
1265
|
-
return h$
|
|
1265
|
+
return h$74(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
1266
1266
|
key: action.key,
|
|
1267
1267
|
type: "button",
|
|
1268
1268
|
size: "sm",
|
|
1269
1269
|
variant: variantOf(kind),
|
|
1270
1270
|
className: kind === "danger" ? "wb-formActionDanger" : void 0,
|
|
1271
1271
|
disabled: busy || action.disabled === true,
|
|
1272
|
-
icon: busy ? h$
|
|
1272
|
+
icon: busy ? h$74(Spinner, { size: 12 }) : void 0,
|
|
1273
1273
|
onClick: action.onClick
|
|
1274
1274
|
}, action.label);
|
|
1275
1275
|
}));
|
|
@@ -1282,7 +1282,7 @@ window.__ModuleLoader__.load({
|
|
|
1282
1282
|
* @returns 竖排的 div。
|
|
1283
1283
|
*/
|
|
1284
1284
|
function Rows({ children }) {
|
|
1285
|
-
return h$
|
|
1285
|
+
return h$74("div", { className: "wb-rows" }, children);
|
|
1286
1286
|
}
|
|
1287
1287
|
/**
|
|
1288
1288
|
* 一行键值:左边名字、右边值;要成对说明一项数据就用它,别自己写两栏。
|
|
@@ -1291,7 +1291,7 @@ window.__ModuleLoader__.load({
|
|
|
1291
1291
|
* @returns 一行两格。
|
|
1292
1292
|
*/
|
|
1293
1293
|
function Row({ label, value }) {
|
|
1294
|
-
return h$
|
|
1294
|
+
return h$74("div", { className: "wb-row" }, h$74("span", { className: "wb-rowKey" }, label), h$74("span", { className: "wb-rowValue" }, value));
|
|
1295
1295
|
}
|
|
1296
1296
|
//#endregion
|
|
1297
1297
|
//#region ../shared/dist/components/ConfirmBar.js
|
|
@@ -1308,19 +1308,19 @@ window.__ModuleLoader__.load({
|
|
|
1308
1308
|
* @returns 一个 `role="group"` 的条;`actions` 空数组时最后那一块不渲染。
|
|
1309
1309
|
*/
|
|
1310
1310
|
function ConfirmBar({ title, hint, rows, actions, problem, busy, label }) {
|
|
1311
|
-
return h$
|
|
1311
|
+
return h$74("div", {
|
|
1312
1312
|
className: "wb-confirmBar",
|
|
1313
1313
|
role: "group",
|
|
1314
1314
|
"aria-label": label ?? (typeof title === "string" ? title : void 0),
|
|
1315
1315
|
"aria-busy": busy
|
|
1316
|
-
}, h$
|
|
1316
|
+
}, h$74("p", { className: "wb-confirmBarTitle" }, title), hint === void 0 ? null : h$74("p", { className: "wb-confirmBarHint" }, hint), rows === void 0 || rows.length === 0 ? null : h$74(Rows, null, rows.map((row) => h$74(Row, {
|
|
1317
1317
|
key: row.key,
|
|
1318
1318
|
label: row.label,
|
|
1319
1319
|
value: row.value
|
|
1320
|
-
}))), problem === void 0 ? null : h$
|
|
1320
|
+
}))), problem === void 0 ? null : h$74(Note, {
|
|
1321
1321
|
tone: "problem",
|
|
1322
1322
|
role: "alert"
|
|
1323
|
-
}, problem), h$
|
|
1323
|
+
}, problem), h$74(FormActions, { actions }));
|
|
1324
1324
|
}
|
|
1325
1325
|
//#endregion
|
|
1326
1326
|
//#region ../shared/dist/components/Field.js
|
|
@@ -1332,7 +1332,7 @@ window.__ModuleLoader__.load({
|
|
|
1332
1332
|
* @returns 一个 `<label>`,点标签会聚焦里面的控件。
|
|
1333
1333
|
*/
|
|
1334
1334
|
function Field({ label, hint, children }) {
|
|
1335
|
-
return h$
|
|
1335
|
+
return h$74("label", { className: "wb-field" }, h$74("span", { className: "wb-fieldLabel" }, label), children, hint === void 0 ? null : h$74("span", { className: "wb-fieldHint" }, hint));
|
|
1336
1336
|
}
|
|
1337
1337
|
//#endregion
|
|
1338
1338
|
//#region ../shared/dist/components/FormRows.js
|
|
@@ -1342,7 +1342,7 @@ window.__ModuleLoader__.load({
|
|
|
1342
1342
|
* @returns 竖排的 div。
|
|
1343
1343
|
*/
|
|
1344
1344
|
function FormRows({ children }) {
|
|
1345
|
-
return h$
|
|
1345
|
+
return h$74("div", { className: "wb-formRows" }, children);
|
|
1346
1346
|
}
|
|
1347
1347
|
/**
|
|
1348
1348
|
* 表单一行:左边标签、右边控件,提示与错误占控件下面那一格。
|
|
@@ -1355,14 +1355,14 @@ window.__ModuleLoader__.load({
|
|
|
1355
1355
|
* @returns 一个 `<div>`:里面的 `<label>` 只包标签文字,不包控件、提示与整行的空白。
|
|
1356
1356
|
*/
|
|
1357
1357
|
function FormRow({ label, htmlFor, hint, problem, layout = "inline", children }) {
|
|
1358
|
-
return h$
|
|
1358
|
+
return h$74("div", {
|
|
1359
1359
|
className: "wb-formRow",
|
|
1360
1360
|
"data-layout": layout,
|
|
1361
1361
|
"data-wb-problem": problem === void 0 ? void 0 : ""
|
|
1362
|
-
}, h$
|
|
1362
|
+
}, h$74("label", {
|
|
1363
1363
|
className: "wb-formLabel",
|
|
1364
1364
|
htmlFor
|
|
1365
|
-
}, label), h$
|
|
1365
|
+
}, label), h$74("span", { className: "wb-formControl" }, children), problem === void 0 ? hint === void 0 ? null : h$74("span", { className: "wb-formHint" }, hint) : h$74("span", { className: "wb-formProblem" }, problem));
|
|
1366
1366
|
}
|
|
1367
1367
|
//#endregion
|
|
1368
1368
|
//#region ../shared/dist/components/FormNodes.js
|
|
@@ -1509,7 +1509,7 @@ window.__ModuleLoader__.load({
|
|
|
1509
1509
|
* @returns `FormRow` 组成的数组;没有可画的格子时给空数组。
|
|
1510
1510
|
*/
|
|
1511
1511
|
function formRowsOf(args) {
|
|
1512
|
-
return args.fields.map((field) => h$
|
|
1512
|
+
return args.fields.map((field) => h$74(FormRow, {
|
|
1513
1513
|
key: field.key,
|
|
1514
1514
|
label: field.label,
|
|
1515
1515
|
htmlFor: controlIdOf(field.key),
|
|
@@ -1585,9 +1585,9 @@ window.__ModuleLoader__.load({
|
|
|
1585
1585
|
*/
|
|
1586
1586
|
function Form(props) {
|
|
1587
1587
|
const { fields, onSubmit, submit, cancel, extra, busy = false, disabled = false, problem } = props;
|
|
1588
|
-
const [done, setDone] = useState$
|
|
1589
|
-
const [reveal, setReveal] = useState$
|
|
1590
|
-
const rootRef = useRef$
|
|
1588
|
+
const [done, setDone] = useState$43(false);
|
|
1589
|
+
const [reveal, setReveal] = useState$43(0);
|
|
1590
|
+
const rootRef = useRef$23(null);
|
|
1591
1591
|
const shown = visibleFieldsOf(fields);
|
|
1592
1592
|
const problems = formProblemsOf(shown, done);
|
|
1593
1593
|
reportDuplicateKeys(shown);
|
|
@@ -1606,7 +1606,7 @@ window.__ModuleLoader__.load({
|
|
|
1606
1606
|
}
|
|
1607
1607
|
onSubmit(outcome.values);
|
|
1608
1608
|
};
|
|
1609
|
-
return h$
|
|
1609
|
+
return h$74("form", {
|
|
1610
1610
|
className: "wb-form",
|
|
1611
1611
|
ref: rootRef,
|
|
1612
1612
|
noValidate: true,
|
|
@@ -1614,15 +1614,15 @@ window.__ModuleLoader__.load({
|
|
|
1614
1614
|
event.preventDefault();
|
|
1615
1615
|
submitForm();
|
|
1616
1616
|
}
|
|
1617
|
-
}, h$
|
|
1617
|
+
}, h$74(FormRows, null, formRowsOf({
|
|
1618
1618
|
fields: shown,
|
|
1619
1619
|
problems,
|
|
1620
1620
|
showProblem: done,
|
|
1621
1621
|
busy
|
|
1622
|
-
})), problem === void 0 ? null : h$
|
|
1622
|
+
})), problem === void 0 ? null : h$74(Note, {
|
|
1623
1623
|
tone: "problem",
|
|
1624
1624
|
role: "alert"
|
|
1625
|
-
}, problem), h$
|
|
1625
|
+
}, problem), h$74(FormActions, { actions: formActionsOf({
|
|
1626
1626
|
extra,
|
|
1627
1627
|
cancel,
|
|
1628
1628
|
submit,
|
|
@@ -1643,7 +1643,7 @@ window.__ModuleLoader__.load({
|
|
|
1643
1643
|
* @returns 一个 `<a>`。
|
|
1644
1644
|
*/
|
|
1645
1645
|
function Link({ href, children, title, external = true, className }) {
|
|
1646
|
-
return h$
|
|
1646
|
+
return h$74("a", {
|
|
1647
1647
|
className: className === void 0 ? "wb-link" : `wb-link ${className}`,
|
|
1648
1648
|
href,
|
|
1649
1649
|
...title === void 0 ? {} : { title },
|
|
@@ -1651,7 +1651,7 @@ window.__ModuleLoader__.load({
|
|
|
1651
1651
|
target: "_blank",
|
|
1652
1652
|
rel: "noopener noreferrer"
|
|
1653
1653
|
} : {}
|
|
1654
|
-
}, children, external ? h$
|
|
1654
|
+
}, children, external ? h$74(_deepseek_ai_dsh_client_ui_primitives.IconRightUpOutlineRegular, { size: 12 }) : null);
|
|
1655
1655
|
}
|
|
1656
1656
|
//#endregion
|
|
1657
1657
|
//#region ../shared/dist/contract/long-task.js
|
|
@@ -1743,7 +1743,7 @@ window.__ModuleLoader__.load({
|
|
|
1743
1743
|
//#endregion
|
|
1744
1744
|
//#region ../shared/dist/components/LongTaskRow.js
|
|
1745
1745
|
function RowLink({ href, text }) {
|
|
1746
|
-
return h$
|
|
1746
|
+
return h$74(Link, {
|
|
1747
1747
|
href,
|
|
1748
1748
|
className: "wb-longTaskLink"
|
|
1749
1749
|
}, text);
|
|
@@ -1763,9 +1763,9 @@ window.__ModuleLoader__.load({
|
|
|
1763
1763
|
* @returns 一行长任务。
|
|
1764
1764
|
*/
|
|
1765
1765
|
function LongTaskRow(props) {
|
|
1766
|
-
const [stepsOpen, setStepsOpen] = useState$
|
|
1767
|
-
const [rawOpen, setRawOpen] = useState$
|
|
1768
|
-
const [armed, setArmed] = useState$
|
|
1766
|
+
const [stepsOpen, setStepsOpen] = useState$43(false);
|
|
1767
|
+
const [rawOpen, setRawOpen] = useState$43(false);
|
|
1768
|
+
const [armed, setArmed] = useState$43(false);
|
|
1769
1769
|
const failed = props.status === "failed";
|
|
1770
1770
|
const problem = props.problem ?? "";
|
|
1771
1771
|
const raw = (props.raw ?? "").trim();
|
|
@@ -1792,14 +1792,14 @@ window.__ModuleLoader__.load({
|
|
|
1792
1792
|
setArmed(false);
|
|
1793
1793
|
stop.onStop();
|
|
1794
1794
|
};
|
|
1795
|
-
return h$
|
|
1795
|
+
return h$74("div", { className: "wb-longTask" }, h$74("p", { className: "wb-longTaskHead" }, h$74(_deepseek_ai_dsh_client_ui_primitives.StateDot, {
|
|
1796
1796
|
state: longTaskDot(props.status),
|
|
1797
1797
|
size: 10
|
|
1798
|
-
}), h$
|
|
1798
|
+
}), h$74("span", { className: "wb-longTaskHeadline" }, props.headline), (props.links ?? []).map((link) => h$74(RowLink, {
|
|
1799
1799
|
href: link.href,
|
|
1800
1800
|
key: `${link.text}@${link.href}`,
|
|
1801
1801
|
text: link.text
|
|
1802
|
-
})), stop === void 0 ? null : h$
|
|
1802
|
+
})), stop === void 0 ? null : h$74("button", {
|
|
1803
1803
|
type: "button",
|
|
1804
1804
|
className: `wb-longTaskStop${armed ? " wb-longTaskStopArmed" : ""}`,
|
|
1805
1805
|
"data-stop-state": longTaskStopStage({
|
|
@@ -1810,31 +1810,31 @@ window.__ModuleLoader__.load({
|
|
|
1810
1810
|
disabled: busy,
|
|
1811
1811
|
onClick: onStopPress,
|
|
1812
1812
|
onBlur: () => setArmed(false)
|
|
1813
|
-
}, h$
|
|
1813
|
+
}, h$74(_deepseek_ai_dsh_client_ui_primitives.IconStopFillRegular, { size: 12 }), armed ? h$74("span", { className: "wb-longTaskStopLabel" }, stop.askLabel) : null)), problem === "" ? null : h$74("p", { className: "wb-longTaskProblem" }, problem), stopWhy === "" ? null : h$74("p", { className: "wb-longTaskStopWhy" }, stopWhy), !failed ? null : h$74(Fragment$24, null, steps.length === 0 || props.stepsTitle === void 0 ? null : h$74(_deepseek_ai_dsh_client_ui_primitives.DisclosureRow, {
|
|
1814
1814
|
className: "wb-longTaskDump",
|
|
1815
|
-
icon: h$
|
|
1815
|
+
icon: h$74(_deepseek_ai_dsh_client_ui_primitives.IconFlatListOutlineRegular, { size: 14 }),
|
|
1816
1816
|
title: props.stepsTitle,
|
|
1817
1817
|
open: stepsOpen,
|
|
1818
1818
|
expandable: true,
|
|
1819
1819
|
expandOnRowClick: true,
|
|
1820
1820
|
previewChevron: true,
|
|
1821
1821
|
onToggle: () => setStepsOpen(!stepsOpen)
|
|
1822
|
-
}, h$
|
|
1822
|
+
}, h$74(_deepseek_ai_dsh_client_ui_primitives.CodeBlock, {
|
|
1823
1823
|
code: steps.join("\n"),
|
|
1824
1824
|
className: "wb-longTaskDump",
|
|
1825
1825
|
showHeader: props.copyLabel !== void 0,
|
|
1826
1826
|
copyLabel: props.copyLabel ?? "",
|
|
1827
1827
|
copiedLabel: props.copiedLabel ?? ""
|
|
1828
|
-
})), raw === "" || props.rawTitle === void 0 ? null : h$
|
|
1828
|
+
})), raw === "" || props.rawTitle === void 0 ? null : h$74(_deepseek_ai_dsh_client_ui_primitives.DisclosureRow, {
|
|
1829
1829
|
className: "wb-longTaskDump",
|
|
1830
|
-
icon: h$
|
|
1830
|
+
icon: h$74(_deepseek_ai_dsh_client_ui_primitives.IconCodeOutlineRegular, { size: 14 }),
|
|
1831
1831
|
title: props.rawTitle,
|
|
1832
1832
|
open: rawOpen,
|
|
1833
1833
|
expandable: true,
|
|
1834
1834
|
expandOnRowClick: true,
|
|
1835
1835
|
previewChevron: true,
|
|
1836
1836
|
onToggle: () => setRawOpen(!rawOpen)
|
|
1837
|
-
}, h$
|
|
1837
|
+
}, h$74(_deepseek_ai_dsh_client_ui_primitives.CodeBlock, {
|
|
1838
1838
|
code: raw,
|
|
1839
1839
|
className: "wb-longTaskDump",
|
|
1840
1840
|
showHeader: props.copyLabel !== void 0,
|
|
@@ -1850,13 +1850,13 @@ window.__ModuleLoader__.load({
|
|
|
1850
1850
|
* @returns 一叠占位条。
|
|
1851
1851
|
*/
|
|
1852
1852
|
function SkeletonRows({ rows = 4 }) {
|
|
1853
|
-
return h$
|
|
1853
|
+
return h$74("div", {
|
|
1854
1854
|
className: "wb-skeleton",
|
|
1855
1855
|
"aria-hidden": "true"
|
|
1856
|
-
}, Array.from({ length: rows }, (_, index) => h$
|
|
1856
|
+
}, Array.from({ length: rows }, (_, index) => h$74("span", {
|
|
1857
1857
|
key: index,
|
|
1858
1858
|
className: "wb-skeletonRow"
|
|
1859
|
-
}, h$
|
|
1859
|
+
}, h$74("span", { className: "wb-skeletonBar wb-skeletonBarTitle" }), h$74("span", { className: "wb-skeletonBar wb-skeletonBarMeta" }))));
|
|
1860
1860
|
}
|
|
1861
1861
|
/**
|
|
1862
1862
|
* 居中一屏:要他先选一个 / 正在读 / 读不到时用它占住卡片版面。
|
|
@@ -1869,13 +1869,13 @@ window.__ModuleLoader__.load({
|
|
|
1869
1869
|
* @returns 一个 `role="status"` 的居中块。
|
|
1870
1870
|
*/
|
|
1871
1871
|
function CenteredState({ icon, title, hint, detail, action, compact = false }) {
|
|
1872
|
-
return h$
|
|
1872
|
+
return h$74("div", {
|
|
1873
1873
|
className: compact ? "wb-centered wb-centeredCompact" : "wb-centered",
|
|
1874
1874
|
role: "status"
|
|
1875
|
-
}, icon === null ? null : h$
|
|
1875
|
+
}, icon === null ? null : h$74("span", {
|
|
1876
1876
|
className: "wb-centeredHero",
|
|
1877
1877
|
"aria-hidden": "true"
|
|
1878
|
-
}, icon), h$
|
|
1878
|
+
}, icon), h$74("div", { className: "wb-centeredTitle" }, title), hint === void 0 ? null : h$74("div", { className: "wb-centeredHint" }, hint), detail === void 0 ? null : h$74("div", { className: "wb-centeredDetail" }, detail), action === void 0 ? null : h$74("div", { className: "wb-centeredAction" }, action));
|
|
1879
1879
|
}
|
|
1880
1880
|
/**
|
|
1881
1881
|
* 就绪但空:它只是 `CenteredState` 的简写,标题就是那句空态文案。
|
|
@@ -1885,7 +1885,7 @@ window.__ModuleLoader__.load({
|
|
|
1885
1885
|
* @returns 一个居中块。
|
|
1886
1886
|
*/
|
|
1887
1887
|
function EmptyState({ text, icon = null, compact = false }) {
|
|
1888
|
-
return h$
|
|
1888
|
+
return h$74(CenteredState, {
|
|
1889
1889
|
icon,
|
|
1890
1890
|
title: text,
|
|
1891
1891
|
compact
|
|
@@ -1903,7 +1903,7 @@ window.__ModuleLoader__.load({
|
|
|
1903
1903
|
* @returns 一组按钮。
|
|
1904
1904
|
*/
|
|
1905
1905
|
function SaveBar({ busy, disabled, labels, onCancel, onSave }) {
|
|
1906
|
-
return h$
|
|
1906
|
+
return h$74(FormActions, { actions: [{
|
|
1907
1907
|
key: "cancel",
|
|
1908
1908
|
label: labels.cancel,
|
|
1909
1909
|
kind: "default",
|
|
@@ -1937,7 +1937,7 @@ window.__ModuleLoader__.load({
|
|
|
1937
1937
|
* @returns 一颗 `<button>`。
|
|
1938
1938
|
*/
|
|
1939
1939
|
function selectTriggerNode(args) {
|
|
1940
|
-
return h$
|
|
1940
|
+
return h$74("button", {
|
|
1941
1941
|
type: "button",
|
|
1942
1942
|
ref: args.ref,
|
|
1943
1943
|
id: args.id,
|
|
@@ -1949,7 +1949,7 @@ window.__ModuleLoader__.load({
|
|
|
1949
1949
|
"aria-label": args.ariaLabel,
|
|
1950
1950
|
title: args.title,
|
|
1951
1951
|
onClick: args.onOpen
|
|
1952
|
-
}, args.iconOnly ? h$
|
|
1952
|
+
}, args.iconOnly ? h$74("span", { className: "wb-selectIcon" }, args.icon) : h$74(Fragment$24, null, args.icon === void 0 ? null : h$74("span", { className: "wb-selectIcon" }, args.icon), h$74("span", { className: "wb-selectValue" }, args.value), h$74("span", { className: "wb-selectChevron" }, h$74(_deepseek_ai_dsh_client_ui_primitives.IconChevronDownOutlineRegular, { size: 14 }))));
|
|
1953
1953
|
}
|
|
1954
1954
|
/**
|
|
1955
1955
|
* 名单还没读到时的触发器:禁用 + `aria-busy` 的按钮,`SelectField` 在 `loading` 那档画它。
|
|
@@ -1961,7 +1961,7 @@ window.__ModuleLoader__.load({
|
|
|
1961
1961
|
* @returns 一颗禁用且 `aria-busy` 的按钮。
|
|
1962
1962
|
*/
|
|
1963
1963
|
function selectLoadingNode(args) {
|
|
1964
|
-
return h$
|
|
1964
|
+
return h$74("button", {
|
|
1965
1965
|
type: "button",
|
|
1966
1966
|
id: args.id,
|
|
1967
1967
|
className: `${args.className} wb-selectLoading`,
|
|
@@ -1970,7 +1970,7 @@ window.__ModuleLoader__.load({
|
|
|
1970
1970
|
"aria-invalid": args.invalid || void 0,
|
|
1971
1971
|
"aria-label": args.ariaLabel,
|
|
1972
1972
|
title: args.loadingText
|
|
1973
|
-
}, h$
|
|
1973
|
+
}, h$74("span", { className: "wb-selectValue" }, h$74(_deepseek_ai_dsh_client_ui_primitives.TextShimmer, { active: true }, args.loadingText ?? "…")), h$74("span", { className: "wb-selectChevron" }, h$74(Spinner, { size: 14 })));
|
|
1974
1974
|
}
|
|
1975
1975
|
//#endregion
|
|
1976
1976
|
//#region ../shared/dist/components/TextField.js
|
|
@@ -1980,7 +1980,7 @@ window.__ModuleLoader__.load({
|
|
|
1980
1980
|
* @returns 输入框元素;`className` 是追加在基础类名之后,而不是替换它。
|
|
1981
1981
|
*/
|
|
1982
1982
|
function TextField({ invalid = false, className, ...rest }) {
|
|
1983
|
-
return h$
|
|
1983
|
+
return h$74("input", {
|
|
1984
1984
|
...rest,
|
|
1985
1985
|
className: className === void 0 ? "wb-textField" : `wb-textField ${className}`,
|
|
1986
1986
|
"aria-invalid": invalid || void 0
|
|
@@ -2005,14 +2005,14 @@ window.__ModuleLoader__.load({
|
|
|
2005
2005
|
};
|
|
2006
2006
|
}
|
|
2007
2007
|
function selectValueNode(current, renderValue, placeholder) {
|
|
2008
|
-
if (current === void 0) return h$
|
|
2008
|
+
if (current === void 0) return h$74("span", { className: "wb-selectPlaceholder" }, placeholder ?? "—");
|
|
2009
2009
|
return renderValue === void 0 ? current.label : renderValue(current);
|
|
2010
2010
|
}
|
|
2011
2011
|
function searchNode(args) {
|
|
2012
|
-
return h$
|
|
2012
|
+
return h$74("span", {
|
|
2013
2013
|
ref: args.boxRef,
|
|
2014
2014
|
className: args.className
|
|
2015
|
-
}, h$
|
|
2015
|
+
}, h$74("span", { className: "wb-selectSearchIcon" }, h$74(_deepseek_ai_dsh_client_ui_primitives.IconSearchOutlineRegular, { size: 14 })), h$74(TextField, {
|
|
2016
2016
|
id: args.id,
|
|
2017
2017
|
name: args.name,
|
|
2018
2018
|
className: "wb-selectSearchInput",
|
|
@@ -2027,7 +2027,7 @@ window.__ModuleLoader__.load({
|
|
|
2027
2027
|
}));
|
|
2028
2028
|
}
|
|
2029
2029
|
function menuNode(args) {
|
|
2030
|
-
return h$
|
|
2030
|
+
return h$74(_deepseek_ai_dsh_client_ui_primitives.Menu, {
|
|
2031
2031
|
open: args.open,
|
|
2032
2032
|
portal: true,
|
|
2033
2033
|
className: "wb-selectAnchor",
|
|
@@ -2044,11 +2044,11 @@ window.__ModuleLoader__.load({
|
|
|
2044
2044
|
});
|
|
2045
2045
|
}
|
|
2046
2046
|
function framed(label, hint, className, control) {
|
|
2047
|
-
const inner = label === void 0 ? hint === void 0 ? control : h$
|
|
2047
|
+
const inner = label === void 0 ? hint === void 0 ? control : h$74("span", { className: "wb-select" }, control, h$74("span", { className: "wb-selectHint" }, hint)) : h$74(Field, {
|
|
2048
2048
|
label,
|
|
2049
2049
|
hint
|
|
2050
2050
|
}, control);
|
|
2051
|
-
return className === void 0 ? inner : h$
|
|
2051
|
+
return className === void 0 ? inner : h$74("div", { className }, inner);
|
|
2052
2052
|
}
|
|
2053
2053
|
/** 算候选项用来匹配搜索的文本:有 `searchText` 就用它,否则取字符串标签;标签不是字符串又没给它是空串(这项搜不到)。 */
|
|
2054
2054
|
function searchTextOf(option) {
|
|
@@ -2100,14 +2100,14 @@ window.__ModuleLoader__.load({
|
|
|
2100
2100
|
}
|
|
2101
2101
|
function useSelectState(props) {
|
|
2102
2102
|
const { options, filter = defaultSelectFilter, emptyText, open: openProp, onOpenChange } = props;
|
|
2103
|
-
const [openState, setOpenState] = useState$
|
|
2104
|
-
const [query, setQuery] = useState$
|
|
2105
|
-
const [cursor, setCursor] = useState$
|
|
2106
|
-
const boxRef = useRef$
|
|
2107
|
-
const triggerRef = useRef$
|
|
2108
|
-
const wasOpenRef = useRef$
|
|
2109
|
-
const pickedRef = useRef$
|
|
2110
|
-
const closedByUsRef = useRef$
|
|
2103
|
+
const [openState, setOpenState] = useState$43(false);
|
|
2104
|
+
const [query, setQuery] = useState$43("");
|
|
2105
|
+
const [cursor, setCursor] = useState$43(null);
|
|
2106
|
+
const boxRef = useRef$23(null);
|
|
2107
|
+
const triggerRef = useRef$23(null);
|
|
2108
|
+
const wasOpenRef = useRef$23(false);
|
|
2109
|
+
const pickedRef = useRef$23(false);
|
|
2110
|
+
const closedByUsRef = useRef$23(false);
|
|
2111
2111
|
const open = openProp ?? openState;
|
|
2112
2112
|
const setOpen = (next) => {
|
|
2113
2113
|
if (openProp === void 0) setOpenState(next);
|
|
@@ -2186,7 +2186,7 @@ window.__ModuleLoader__.load({
|
|
|
2186
2186
|
ariaLabel,
|
|
2187
2187
|
loadingText
|
|
2188
2188
|
}));
|
|
2189
|
-
if (fallback !== void 0 && options.length === 0) return framed(label, hint, className, h$
|
|
2189
|
+
if (fallback !== void 0 && options.length === 0) return framed(label, hint, className, h$74(TextField, {
|
|
2190
2190
|
id,
|
|
2191
2191
|
name,
|
|
2192
2192
|
className: "wb-selectFallback",
|
|
@@ -2270,11 +2270,11 @@ window.__ModuleLoader__.load({
|
|
|
2270
2270
|
* @returns 一个 `role="group"` 的 section。
|
|
2271
2271
|
*/
|
|
2272
2272
|
function SettingsSection({ label, title, action, children }) {
|
|
2273
|
-
return h$
|
|
2273
|
+
return h$74("section", {
|
|
2274
2274
|
className: "wb-settings",
|
|
2275
2275
|
role: "group",
|
|
2276
2276
|
"aria-label": label
|
|
2277
|
-
}, h$
|
|
2277
|
+
}, h$74("header", { className: "wb-settingsHead" }, h$74("span", { className: "wb-settingsTitle" }, title), action), children);
|
|
2278
2278
|
}
|
|
2279
2279
|
//#endregion
|
|
2280
2280
|
//#region ../shared/dist/components/Stack.js
|
|
@@ -2284,7 +2284,7 @@ window.__ModuleLoader__.load({
|
|
|
2284
2284
|
* @returns 竖排的 div。
|
|
2285
2285
|
*/
|
|
2286
2286
|
function Stack({ children }) {
|
|
2287
|
-
return h$
|
|
2287
|
+
return h$74("div", { className: "wb-stack" }, children);
|
|
2288
2288
|
}
|
|
2289
2289
|
//#endregion
|
|
2290
2290
|
//#region ../shared/dist/components/StateBlock.js
|
|
@@ -2299,12 +2299,12 @@ window.__ModuleLoader__.load({
|
|
|
2299
2299
|
* @returns 一个 div。
|
|
2300
2300
|
*/
|
|
2301
2301
|
function StateBlock({ title, dot, hint, actions, resolving, children }) {
|
|
2302
|
-
return h$
|
|
2302
|
+
return h$74("div", { className: "wb-stateBlock" }, title === void 0 && dot === void 0 ? null : h$74("p", { className: "wb-stateBlockTitle" }, dot, title), resolving === void 0 ? null : h$74("p", { className: "wb-stateBlockResolving" }, resolving), hint === void 0 ? null : h$74("p", { className: "wb-stateBlockHint" }, hint), children, actions === void 0 ? null : h$74("div", { className: "wb-stateBlockActions" }, actions));
|
|
2303
2303
|
}
|
|
2304
2304
|
//#endregion
|
|
2305
2305
|
//#region ../shared/dist/components/icons.js
|
|
2306
2306
|
function Shell({ size, strokeWidth = 1, viewBox = "0 0 16 16", children }) {
|
|
2307
|
-
return h$
|
|
2307
|
+
return h$74("svg", {
|
|
2308
2308
|
width: size,
|
|
2309
2309
|
height: size,
|
|
2310
2310
|
viewBox,
|
|
@@ -2321,10 +2321,10 @@ window.__ModuleLoader__.load({
|
|
|
2321
2321
|
* @returns 一枚 `aria-hidden` 的 svg。
|
|
2322
2322
|
*/
|
|
2323
2323
|
function IconConversation({ size = 16 }) {
|
|
2324
|
-
return h$
|
|
2324
|
+
return h$74(Shell, {
|
|
2325
2325
|
size,
|
|
2326
2326
|
strokeWidth: 1.3
|
|
2327
|
-
}, h$
|
|
2327
|
+
}, h$74("path", {
|
|
2328
2328
|
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",
|
|
2329
2329
|
stroke: "currentColor",
|
|
2330
2330
|
strokeLinejoin: "round"
|
|
@@ -2339,30 +2339,30 @@ window.__ModuleLoader__.load({
|
|
|
2339
2339
|
* @returns 一枚 `aria-hidden` 的 svg。
|
|
2340
2340
|
*/
|
|
2341
2341
|
function IconBrandMark({ size = 24 }) {
|
|
2342
|
-
return h$
|
|
2342
|
+
return h$74(Shell, {
|
|
2343
2343
|
size,
|
|
2344
2344
|
viewBox: "0 0 64 64"
|
|
2345
|
-
}, h$
|
|
2345
|
+
}, h$74("path", {
|
|
2346
2346
|
d: BRAND_FRAME,
|
|
2347
2347
|
fill: "currentColor",
|
|
2348
2348
|
fillRule: "evenodd"
|
|
2349
|
-
}), h$
|
|
2349
|
+
}), h$74("rect", {
|
|
2350
2350
|
x: 27.5,
|
|
2351
2351
|
y: 48,
|
|
2352
2352
|
width: 9,
|
|
2353
2353
|
height: 4.75,
|
|
2354
2354
|
fill: "currentColor"
|
|
2355
|
-
}), h$
|
|
2355
|
+
}), h$74("rect", {
|
|
2356
2356
|
x: 19,
|
|
2357
2357
|
y: 52.75,
|
|
2358
2358
|
width: 26,
|
|
2359
2359
|
height: 4.75,
|
|
2360
2360
|
rx: 2.375,
|
|
2361
2361
|
fill: "currentColor"
|
|
2362
|
-
}), h$
|
|
2362
|
+
}), h$74("g", { transform: BRAND_TAIL_TRANSFORM }, h$74("path", {
|
|
2363
2363
|
d: BRAND_TAIL,
|
|
2364
2364
|
fill: "currentColor"
|
|
2365
|
-
}), h$
|
|
2365
|
+
}), h$74("circle", {
|
|
2366
2366
|
cx: 6.885,
|
|
2367
2367
|
cy: 13.742,
|
|
2368
2368
|
r: 1.95,
|
|
@@ -2375,30 +2375,30 @@ window.__ModuleLoader__.load({
|
|
|
2375
2375
|
* @returns 一枚 `aria-hidden` 的 svg。
|
|
2376
2376
|
*/
|
|
2377
2377
|
function IconOpencli({ size = 16 }) {
|
|
2378
|
-
return h$
|
|
2378
|
+
return h$74(Shell, {
|
|
2379
2379
|
size,
|
|
2380
2380
|
viewBox: "0 0 64 64"
|
|
2381
|
-
}, h$
|
|
2381
|
+
}, h$74("defs", null, h$74("linearGradient", {
|
|
2382
2382
|
id: "opencli-mark",
|
|
2383
2383
|
x1: "0%",
|
|
2384
2384
|
y1: "0%",
|
|
2385
2385
|
x2: "100%",
|
|
2386
2386
|
y2: "100%"
|
|
2387
|
-
}, h$
|
|
2387
|
+
}, h$74("stop", {
|
|
2388
2388
|
offset: "0%",
|
|
2389
2389
|
stopColor: "#00e5a0"
|
|
2390
|
-
}), h$
|
|
2390
|
+
}), h$74("stop", {
|
|
2391
2391
|
offset: "50%",
|
|
2392
2392
|
stopColor: "#00b4d8"
|
|
2393
|
-
}), h$
|
|
2393
|
+
}), h$74("stop", {
|
|
2394
2394
|
offset: "100%",
|
|
2395
2395
|
stopColor: "#7b61ff"
|
|
2396
|
-
}))), h$
|
|
2396
|
+
}))), h$74("rect", {
|
|
2397
2397
|
width: 64,
|
|
2398
2398
|
height: 64,
|
|
2399
2399
|
rx: 14,
|
|
2400
2400
|
fill: "#0a0a0f"
|
|
2401
|
-
}), h$
|
|
2401
|
+
}), h$74("text", {
|
|
2402
2402
|
x: "50%",
|
|
2403
2403
|
y: "54%",
|
|
2404
2404
|
dominantBaseline: "middle",
|
|
@@ -2415,10 +2415,10 @@ window.__ModuleLoader__.load({
|
|
|
2415
2415
|
* @returns 一枚 `aria-hidden` 的 svg。
|
|
2416
2416
|
*/
|
|
2417
2417
|
function IconNpm({ size = 16 }) {
|
|
2418
|
-
return h$
|
|
2418
|
+
return h$74(Shell, {
|
|
2419
2419
|
size,
|
|
2420
2420
|
viewBox: "0 0 1024 1024"
|
|
2421
|
-
}, h$
|
|
2421
|
+
}, h$74("path", {
|
|
2422
2422
|
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",
|
|
2423
2423
|
fill: "#CB3837"
|
|
2424
2424
|
}));
|
|
@@ -2429,37 +2429,37 @@ window.__ModuleLoader__.load({
|
|
|
2429
2429
|
* @returns 一枚 `aria-hidden` 的 svg。
|
|
2430
2430
|
*/
|
|
2431
2431
|
function IconModuleMark({ size = 16 }) {
|
|
2432
|
-
return h$
|
|
2432
|
+
return h$74(Shell, {
|
|
2433
2433
|
size,
|
|
2434
2434
|
viewBox: "0 0 24 24"
|
|
2435
|
-
}, h$
|
|
2435
|
+
}, h$74("defs", null, h$74("linearGradient", {
|
|
2436
2436
|
id: "workbench-module-mark",
|
|
2437
2437
|
x1: "0%",
|
|
2438
2438
|
y1: "0%",
|
|
2439
2439
|
x2: "100%",
|
|
2440
2440
|
y2: "100%"
|
|
2441
|
-
}, h$
|
|
2441
|
+
}, h$74("stop", {
|
|
2442
2442
|
offset: "0%",
|
|
2443
2443
|
stopColor: "#3b82f6"
|
|
2444
|
-
}), h$
|
|
2444
|
+
}), h$74("stop", {
|
|
2445
2445
|
offset: "55%",
|
|
2446
2446
|
stopColor: "#8b5cf6"
|
|
2447
|
-
}), h$
|
|
2447
|
+
}), h$74("stop", {
|
|
2448
2448
|
offset: "100%",
|
|
2449
2449
|
stopColor: "#14b8a6"
|
|
2450
|
-
}))), h$
|
|
2450
|
+
}))), h$74("rect", {
|
|
2451
2451
|
width: 24,
|
|
2452
2452
|
height: 24,
|
|
2453
2453
|
rx: 7,
|
|
2454
2454
|
fill: "url(#workbench-module-mark)"
|
|
2455
|
-
}), h$
|
|
2455
|
+
}), h$74("rect", {
|
|
2456
2456
|
x: "4.6",
|
|
2457
2457
|
y: "4.6",
|
|
2458
2458
|
width: "6.2",
|
|
2459
2459
|
height: "6.2",
|
|
2460
2460
|
rx: "1.9",
|
|
2461
2461
|
fill: "#ffffff"
|
|
2462
|
-
}), h$
|
|
2462
|
+
}), h$74("rect", {
|
|
2463
2463
|
x: "13.2",
|
|
2464
2464
|
y: "4.6",
|
|
2465
2465
|
width: "6.2",
|
|
@@ -2467,7 +2467,7 @@ window.__ModuleLoader__.load({
|
|
|
2467
2467
|
rx: "1.9",
|
|
2468
2468
|
fill: "#ffffff",
|
|
2469
2469
|
fillOpacity: .78
|
|
2470
|
-
}), h$
|
|
2470
|
+
}), h$74("rect", {
|
|
2471
2471
|
x: "4.6",
|
|
2472
2472
|
y: "13.2",
|
|
2473
2473
|
width: "6.2",
|
|
@@ -2475,7 +2475,7 @@ window.__ModuleLoader__.load({
|
|
|
2475
2475
|
rx: "1.9",
|
|
2476
2476
|
fill: "#ffffff",
|
|
2477
2477
|
fillOpacity: .78
|
|
2478
|
-
}), h$
|
|
2478
|
+
}), h$74("rect", {
|
|
2479
2479
|
x: "13.2",
|
|
2480
2480
|
y: "13.2",
|
|
2481
2481
|
width: "6.2",
|
|
@@ -2490,7 +2490,7 @@ window.__ModuleLoader__.load({
|
|
|
2490
2490
|
* @returns 一枚 `aria-hidden` 的 svg。
|
|
2491
2491
|
*/
|
|
2492
2492
|
function IconPanelScreen({ size = 16 }) {
|
|
2493
|
-
return h$
|
|
2493
|
+
return h$74("svg", {
|
|
2494
2494
|
width: size,
|
|
2495
2495
|
height: size,
|
|
2496
2496
|
viewBox: "0 0 1024 1024",
|
|
@@ -2501,7 +2501,7 @@ window.__ModuleLoader__.load({
|
|
|
2501
2501
|
display: "block",
|
|
2502
2502
|
overflow: "hidden"
|
|
2503
2503
|
}
|
|
2504
|
-
}, h$
|
|
2504
|
+
}, h$74("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" }));
|
|
2505
2505
|
}
|
|
2506
2506
|
//#endregion
|
|
2507
2507
|
//#region ../shared/dist/config/storage.js
|
|
@@ -3188,6 +3188,25 @@ window.__ModuleLoader__.load({
|
|
|
3188
3188
|
"panels.market.badSource": "The install method is incomplete — install it yourself",
|
|
3189
3189
|
"panels.market.empty": "No modules available",
|
|
3190
3190
|
"panels.market.sectionPlugins": "Installed plugins",
|
|
3191
|
+
"panels.market.openDetail": "View details for {name}",
|
|
3192
|
+
"panels.market.detailBack": "Market",
|
|
3193
|
+
"panels.market.detailSourceTitle": "Source",
|
|
3194
|
+
"panels.market.detailSource": "Install source",
|
|
3195
|
+
"panels.market.detailRegistry": "Registry",
|
|
3196
|
+
"panels.market.detailSpec": "Declared as",
|
|
3197
|
+
"panels.market.detailUnit": "Module ID",
|
|
3198
|
+
"panels.market.detailVersion": "Current version",
|
|
3199
|
+
"panels.market.detailLatest": "Available version",
|
|
3200
|
+
"panels.market.detailPluginName": "Plugin name",
|
|
3201
|
+
"panels.market.detailInstalledAt": "Installed at",
|
|
3202
|
+
"panels.market.detailMarket": "Index source",
|
|
3203
|
+
"panels.market.detailRepository": "Repository",
|
|
3204
|
+
"panels.market.detailCommit": "Commit",
|
|
3205
|
+
"panels.market.detailDirectory": "Directory",
|
|
3206
|
+
"panels.market.detailUpdateSource": "Update source",
|
|
3207
|
+
"panels.market.detailUpdateVersion": "Update version",
|
|
3208
|
+
"panels.market.detailLocalDirectory": "local directory",
|
|
3209
|
+
"panels.market.detailUnknown": "not recorded",
|
|
3191
3210
|
"panels.market.moduleOutdated": "update available",
|
|
3192
3211
|
"panels.market.updateNeedsWorkbench": "this version needs a newer workbench first",
|
|
3193
3212
|
"panels.market.updateIncompatible": "the new version does not match this workbench, so it cannot be installed now",
|
|
@@ -3935,6 +3954,25 @@ window.__ModuleLoader__.load({
|
|
|
3935
3954
|
"panels.market.badSource": "安装方式没写全,只能自己动手",
|
|
3936
3955
|
"panels.market.empty": "暂无可用模块",
|
|
3937
3956
|
"panels.market.sectionPlugins": "已安装的插件",
|
|
3957
|
+
"panels.market.openDetail": "查看 {name} 的详情",
|
|
3958
|
+
"panels.market.detailBack": "市场",
|
|
3959
|
+
"panels.market.detailSourceTitle": "来源信息",
|
|
3960
|
+
"panels.market.detailSource": "安装源",
|
|
3961
|
+
"panels.market.detailRegistry": "注册表",
|
|
3962
|
+
"panels.market.detailSpec": "依赖写法",
|
|
3963
|
+
"panels.market.detailUnit": "模块标识",
|
|
3964
|
+
"panels.market.detailVersion": "当前版本",
|
|
3965
|
+
"panels.market.detailLatest": "可用版本",
|
|
3966
|
+
"panels.market.detailPluginName": "插件名",
|
|
3967
|
+
"panels.market.detailInstalledAt": "安装时间",
|
|
3968
|
+
"panels.market.detailMarket": "索引源",
|
|
3969
|
+
"panels.market.detailRepository": "仓库",
|
|
3970
|
+
"panels.market.detailCommit": "提交",
|
|
3971
|
+
"panels.market.detailDirectory": "目录",
|
|
3972
|
+
"panels.market.detailUpdateSource": "新版来源",
|
|
3973
|
+
"panels.market.detailUpdateVersion": "新版版本",
|
|
3974
|
+
"panels.market.detailLocalDirectory": "本机目录",
|
|
3975
|
+
"panels.market.detailUnknown": "未记录",
|
|
3938
3976
|
"panels.market.moduleOutdated": "有新版",
|
|
3939
3977
|
"panels.market.updateNeedsWorkbench": "新版本要先把工作台升级才能用",
|
|
3940
3978
|
"panels.market.updateIncompatible": "新版本和当前的工作台不匹配,暂时不能更新",
|
|
@@ -5397,6 +5435,9 @@ window.__ModuleLoader__.load({
|
|
|
5397
5435
|
...note === void 0 ? {} : { note },
|
|
5398
5436
|
...module.local === true ? { local: true } : {},
|
|
5399
5437
|
pkg: module.pkg,
|
|
5438
|
+
...module.spec === void 0 ? {} : { spec: module.spec },
|
|
5439
|
+
...module.registry === void 0 ? {} : { registry: module.registry },
|
|
5440
|
+
removeViaBundle: true,
|
|
5400
5441
|
canInstall: false,
|
|
5401
5442
|
canUpdate: outdated && blocked === void 0,
|
|
5402
5443
|
canUninstall: true,
|
|
@@ -5408,7 +5449,10 @@ window.__ModuleLoader__.load({
|
|
|
5408
5449
|
installed: module.installed,
|
|
5409
5450
|
latest,
|
|
5410
5451
|
...blocked === void 0 ? {} : { blocked },
|
|
5411
|
-
...module.market === void 0 ? {} : { market: module.market }
|
|
5452
|
+
...module.market === void 0 ? {} : { market: module.market },
|
|
5453
|
+
pkg: module.pkg,
|
|
5454
|
+
...module.spec === void 0 ? {} : { spec: module.spec },
|
|
5455
|
+
...module.registry === void 0 ? {} : { registry: module.registry }
|
|
5412
5456
|
} } : {},
|
|
5413
5457
|
...module.market === void 0 ? {} : { market: module.market },
|
|
5414
5458
|
defaultShown: defaults.has(module.unit),
|
|
@@ -5430,7 +5474,7 @@ window.__ModuleLoader__.load({
|
|
|
5430
5474
|
return [
|
|
5431
5475
|
...row.canInstall ? ["install"] : [],
|
|
5432
5476
|
...row.moduleUpdate === void 0 ? row.canUpdate ? ["update"] : [] : row.moduleUpdate.blocked === void 0 ? [row.market === void 0 || row.pkg === void 0 ? "update-bundle" : "install-version"] : [],
|
|
5433
|
-
...row.canUninstall ? [row.
|
|
5477
|
+
...row.canUninstall ? [row.removeViaBundle === true ? "remove-bundle" : "uninstall"] : []
|
|
5434
5478
|
];
|
|
5435
5479
|
}
|
|
5436
5480
|
function stateOf(capability, manifest, installed) {
|
|
@@ -5519,7 +5563,10 @@ window.__ModuleLoader__.load({
|
|
|
5519
5563
|
...local || module.latest === void 0 ? {} : { latest: module.latest },
|
|
5520
5564
|
...local || module.latest === void 0 || module.latestBlocked === void 0 ? {} : { blocked: module.latestBlocked },
|
|
5521
5565
|
...local ? { local: true } : {},
|
|
5522
|
-
...local || module.market === void 0 ? {} : { market: module.market }
|
|
5566
|
+
...local || module.market === void 0 ? {} : { market: module.market },
|
|
5567
|
+
pkg: module.pkg,
|
|
5568
|
+
...module.spec === void 0 ? {} : { spec: module.spec },
|
|
5569
|
+
...module.registry === void 0 ? {} : { registry: module.registry }
|
|
5523
5570
|
};
|
|
5524
5571
|
}
|
|
5525
5572
|
return next;
|
|
@@ -5571,7 +5618,10 @@ window.__ModuleLoader__.load({
|
|
|
5571
5618
|
installed: entry.installed,
|
|
5572
5619
|
latest: entry.latest,
|
|
5573
5620
|
...entry.blocked === void 0 ? {} : { blocked: entry.blocked },
|
|
5574
|
-
...entry.market === void 0 ? {} : { market: entry.market }
|
|
5621
|
+
...entry.market === void 0 ? {} : { market: entry.market },
|
|
5622
|
+
...entry.pkg === void 0 ? {} : { pkg: entry.pkg },
|
|
5623
|
+
...entry.spec === void 0 ? {} : { spec: entry.spec },
|
|
5624
|
+
...entry.registry === void 0 ? {} : { registry: entry.registry }
|
|
5575
5625
|
};
|
|
5576
5626
|
const shown = moduleUpdate === void 0 ? state : "outdated";
|
|
5577
5627
|
const hint = moduleUpdate?.blocked === void 0 ? shown === "unknown" || shown === "unchecked" ? "panels.market.uncheckedHint" : void 0 : updateBlockHintOf(moduleUpdate.blocked);
|
|
@@ -5588,10 +5638,11 @@ window.__ModuleLoader__.load({
|
|
|
5588
5638
|
...entry.latest === void 0 ? {} : { latest: entry.latest }
|
|
5589
5639
|
} },
|
|
5590
5640
|
...moduleUpdate === void 0 ? {} : { moduleUpdate },
|
|
5591
|
-
...entry?.market === void 0 ? {} : {
|
|
5592
|
-
|
|
5593
|
-
|
|
5594
|
-
},
|
|
5641
|
+
...entry?.market === void 0 ? {} : { market: entry.market },
|
|
5642
|
+
...entry?.pkg === void 0 ? entry?.market === void 0 ? {} : { pkg: entry.market.pkg } : { pkg: entry.pkg },
|
|
5643
|
+
...entry?.spec === void 0 ? {} : { spec: entry.spec },
|
|
5644
|
+
...entry?.registry === void 0 ? {} : { registry: entry.registry },
|
|
5645
|
+
...entry?.market === void 0 ? {} : { removeViaBundle: true },
|
|
5595
5646
|
...moduleUpdate === void 0 ? note === void 0 ? {} : { note } : {},
|
|
5596
5647
|
...local ? { local: true } : {},
|
|
5597
5648
|
defaultShown: defaults.has(manifest.id),
|
|
@@ -5630,6 +5681,8 @@ window.__ModuleLoader__.load({
|
|
|
5630
5681
|
defaultShown: defaults.has(id),
|
|
5631
5682
|
defaultChanged: changed[id] ?? 0,
|
|
5632
5683
|
...note === void 0 ? {} : { note },
|
|
5684
|
+
...plugin.registry === void 0 ? {} : { registry: plugin.registry },
|
|
5685
|
+
...plugin.installedAt === void 0 ? {} : { installedAt: plugin.installedAt },
|
|
5633
5686
|
...plugin.installed === void 0 ? {} : { versionLabel: `${plugin.pkg}@${plugin.installed}` },
|
|
5634
5687
|
pkg: plugin.pkg,
|
|
5635
5688
|
...plugin.installed === void 0 ? {} : { version: {
|
|
@@ -5670,7 +5723,9 @@ window.__ModuleLoader__.load({
|
|
|
5670
5723
|
...update === void 0 ? {} : { moduleUpdate: update },
|
|
5671
5724
|
...followUp === void 0 ? {} : { followUp },
|
|
5672
5725
|
...followUpState ? { hint: "panels.market.migrationHint" } : {},
|
|
5673
|
-
pkg: version.pkg
|
|
5726
|
+
pkg: version.pkg,
|
|
5727
|
+
...version.spec === void 0 ? {} : { spec: version.spec },
|
|
5728
|
+
...version.registry === void 0 ? {} : { registry: version.registry }
|
|
5674
5729
|
};
|
|
5675
5730
|
}
|
|
5676
5731
|
//#endregion
|
|
@@ -6192,217 +6247,192 @@ window.__ModuleLoader__.load({
|
|
|
6192
6247
|
setNotice
|
|
6193
6248
|
};
|
|
6194
6249
|
}
|
|
6195
|
-
var MarketPage_module_default = {
|
|
6196
|
-
marketList: "_marketList_2or0c_1",
|
|
6197
|
-
marketRow: "_marketRow_2or0c_10",
|
|
6198
|
-
marketIcon: "_marketIcon_2or0c_20",
|
|
6199
|
-
marketMain: "_marketMain_2or0c_32",
|
|
6200
|
-
marketName: "_marketName_2or0c_39",
|
|
6201
|
-
marketStatus: "_marketStatus_2or0c_48",
|
|
6202
|
-
marketStateText: "_marketStateText_2or0c_58",
|
|
6203
|
-
marketSep: "_marketSep_2or0c_62",
|
|
6204
|
-
marketReason: "_marketReason_2or0c_66",
|
|
6205
|
-
marketVersion: "_marketVersion_2or0c_72",
|
|
6206
|
-
marketLocalTag: "_marketLocalTag_2or0c_94",
|
|
6207
|
-
marketEnd: "_marketEnd_2or0c_105",
|
|
6208
|
-
marketSwitchSeat: "_marketSwitchSeat_2or0c_112",
|
|
6209
|
-
marketActions: "_marketActions_2or0c_125",
|
|
6210
|
-
marketUpdateAction: "_marketUpdateAction_2or0c_131",
|
|
6211
|
-
marketSelfDivider: "_marketSelfDivider_2or0c_137",
|
|
6212
|
-
marketSection: "_marketSection_2or0c_143",
|
|
6213
|
-
marketSectionHead: "_marketSectionHead_2or0c_150",
|
|
6214
|
-
marketSectionIcon: "_marketSectionIcon_2or0c_156",
|
|
6215
|
-
marketSectionTitle: "_marketSectionTitle_2or0c_163",
|
|
6216
|
-
marketSectionCount: "_marketSectionCount_2or0c_169",
|
|
6217
|
-
marketSectionAction: "_marketSectionAction_2or0c_175",
|
|
6218
|
-
marketSectionQuiet: "_marketSectionQuiet_2or0c_183",
|
|
6219
|
-
marketProgress: "_marketProgress_2or0c_195",
|
|
6220
|
-
marketNote: "_marketNote_2or0c_205",
|
|
6221
|
-
marketFailure: "_marketFailure_2or0c_212",
|
|
6222
|
-
marketFailureSeat: "_marketFailureSeat_2or0c_219",
|
|
6223
|
-
marketEmpty: "_marketEmpty_2or0c_224",
|
|
6224
|
-
marketPage: "_marketPage_2or0c_229",
|
|
6225
|
-
marketPageHead: "_marketPageHead_2or0c_247",
|
|
6226
|
-
marketPageTitle: "_marketPageTitle_2or0c_255",
|
|
6227
|
-
marketPageIntro: "_marketPageIntro_2or0c_260",
|
|
6228
|
-
marketPageTools: "_marketPageTools_2or0c_266",
|
|
6229
|
-
marketPanel: "_marketPanel_2or0c_275",
|
|
6230
|
-
marketTabs: "_marketTabs_2or0c_285",
|
|
6231
|
-
marketTabList: "_marketTabList_2or0c_290",
|
|
6232
|
-
marketAddButton: "_marketAddButton_2or0c_295",
|
|
6233
|
-
marketEmptyTitle: "_marketEmptyTitle_2or0c_312",
|
|
6234
|
-
discoverPage: "_discoverPage_2or0c_317",
|
|
6235
|
-
discoverBar: "_discoverBar_2or0c_324",
|
|
6236
|
-
discoverTools: "_discoverTools_2or0c_331",
|
|
6237
|
-
discoverMarket: "_discoverMarket_2or0c_337",
|
|
6238
|
-
discoverMarketButton: "_discoverMarketButton_2or0c_342",
|
|
6239
|
-
discoverMarketName: "_discoverMarketName_2or0c_349",
|
|
6240
|
-
discoverLabels: "_discoverLabels_2or0c_355",
|
|
6241
|
-
discoverSort: "_discoverSort_2or0c_360",
|
|
6242
|
-
discoverRefresh: "_discoverRefresh_2or0c_365",
|
|
6243
|
-
discoverSearch: "_discoverSearch_2or0c_369",
|
|
6244
|
-
discoverSearchField: "_discoverSearchField_2or0c_377",
|
|
6245
|
-
discoverSearchFieldFilled: "_discoverSearchFieldFilled_2or0c_382",
|
|
6246
|
-
discoverSearchClear: "_discoverSearchClear_2or0c_391",
|
|
6247
|
-
discoverChips: "_discoverChips_2or0c_442",
|
|
6248
|
-
discoverList: "_discoverList_2or0c_449",
|
|
6249
|
-
discoverCard: "_discoverCard_2or0c_458",
|
|
6250
|
-
discoverArtwork: "_discoverArtwork_2or0c_472",
|
|
6251
|
-
discoverArtworkImage: "_discoverArtworkImage_2or0c_484",
|
|
6252
|
-
discoverMain: "_discoverMain_2or0c_488",
|
|
6253
|
-
discoverTitleRow: "_discoverTitleRow_2or0c_496",
|
|
6254
|
-
discoverCardOpen: "_discoverCardOpen_2or0c_504",
|
|
6255
|
-
discoverStrong: "_discoverStrong_2or0c_535",
|
|
6256
|
-
discoverDesc: "_discoverDesc_2or0c_541",
|
|
6257
|
-
discoverMeta: "_discoverMeta_2or0c_550",
|
|
6258
|
-
discoverMuted: "_discoverMuted_2or0c_557",
|
|
6259
|
-
discoverEnd: "_discoverEnd_2or0c_563",
|
|
6260
|
-
discoverUpdateAction: "_discoverUpdateAction_2or0c_572",
|
|
6261
|
-
discoverBlocked: "_discoverBlocked_2or0c_577",
|
|
6262
|
-
discoverEmpty: "_discoverEmpty_2or0c_582",
|
|
6263
|
-
discoverEmptyTitle: "_discoverEmptyTitle_2or0c_591",
|
|
6264
|
-
discoverDetail: "_discoverDetail_2or0c_601",
|
|
6265
|
-
discoverCrumb: "_discoverCrumb_2or0c_607",
|
|
6266
|
-
discoverCrumbIcon: "_discoverCrumbIcon_2or0c_630",
|
|
6267
|
-
discoverDetailHead: "_discoverDetailHead_2or0c_634",
|
|
6268
|
-
discoverDetailTitle: "_discoverDetailTitle_2or0c_640",
|
|
6269
|
-
discoverDetailText: "_discoverDetailText_2or0c_646",
|
|
6270
|
-
discoverDetailPanel: "_discoverDetailPanel_2or0c_653",
|
|
6271
|
-
discoverDetailTabs: "_discoverDetailTabs_2or0c_660",
|
|
6272
|
-
discoverDetailTabList: "_discoverDetailTabList_2or0c_665",
|
|
6273
|
-
discoverDocBody: "_discoverDocBody_2or0c_670",
|
|
6274
|
-
discoverDocNotice: "_discoverDocNotice_2or0c_675",
|
|
6275
|
-
discoverSection: "_discoverSection_2or0c_681",
|
|
6276
|
-
discoverSectionTitle: "_discoverSectionTitle_2or0c_688",
|
|
6277
|
-
discoverFacts: "_discoverFacts_2or0c_694",
|
|
6278
|
-
discoverFactRow: "_discoverFactRow_2or0c_699",
|
|
6279
|
-
discoverFactKind: "_discoverFactKind_2or0c_709",
|
|
6280
|
-
discoverFactValue: "_discoverFactValue_2or0c_715",
|
|
6281
|
-
discoverCode: "_discoverCode_2or0c_723",
|
|
6282
|
-
discoverTags: "_discoverTags_2or0c_732",
|
|
6283
|
-
discoverLink: "_discoverLink_2or0c_739",
|
|
6284
|
-
discoverVersions: "_discoverVersions_2or0c_749",
|
|
6285
|
-
discoverVersionRow: "_discoverVersionRow_2or0c_757",
|
|
6286
|
-
discoverVersionName: "_discoverVersionName_2or0c_765",
|
|
6287
|
-
discoverError: "_discoverError_2or0c_770",
|
|
6288
|
-
discoverFailure: "_discoverFailure_2or0c_780",
|
|
6289
|
-
discoverLoading: "_discoverLoading_2or0c_786",
|
|
6290
|
-
discoverNotice: "_discoverNotice_2or0c_795",
|
|
6291
|
-
discoverMore: "_discoverMore_2or0c_813",
|
|
6292
|
-
discoverTransport: "_discoverTransport_2or0c_817",
|
|
6293
|
-
discoverTransportHead: "_discoverTransportHead_2or0c_823",
|
|
6294
|
-
discoverTransportTitle: "_discoverTransportTitle_2or0c_830",
|
|
6295
|
-
discoverTransportKind: "_discoverTransportKind_2or0c_835",
|
|
6296
|
-
discoverTransportState: "_discoverTransportState_2or0c_840",
|
|
6297
|
-
discoverTransportRows: "_discoverTransportRows_2or0c_848",
|
|
6298
|
-
discoverTransportRow: "_discoverTransportRow_2or0c_848",
|
|
6299
|
-
discoverTransportRadio: "_discoverTransportRadio_2or0c_869",
|
|
6300
|
-
discoverTransportCustom: "_discoverTransportCustom_2or0c_909",
|
|
6301
|
-
discoverTransportInput: "_discoverTransportInput_2or0c_915",
|
|
6302
|
-
discoverInstallBar: "_discoverInstallBar_2or0c_920",
|
|
6303
|
-
discoverInstallText: "_discoverInstallText_2or0c_931",
|
|
6304
|
-
discoverDialog: "_discoverDialog_2or0c_937",
|
|
6305
|
-
discoverDialogBody: "_discoverDialogBody_2or0c_941",
|
|
6306
|
-
discoverSourceList: "_discoverSourceList_2or0c_947",
|
|
6307
|
-
discoverSourceRow: "_discoverSourceRow_2or0c_955",
|
|
6308
|
-
discoverSourceConfirm: "_discoverSourceConfirm_2or0c_964",
|
|
6309
|
-
discoverSourcePick: "_discoverSourcePick_2or0c_970",
|
|
6310
|
-
discoverSourceRadio: "_discoverSourceRadio_2or0c_979",
|
|
6311
|
-
discoverSourceMain: "_discoverSourceMain_2or0c_987",
|
|
6312
|
-
discoverSourceHead: "_discoverSourceHead_2or0c_995",
|
|
6313
|
-
discoverSourceUrl: "_discoverSourceUrl_2or0c_1003",
|
|
6314
|
-
discoverSourceMore: "_discoverSourceMore_2or0c_1013",
|
|
6315
|
-
discoverSourceLoading: "_discoverSourceLoading_2or0c_1017",
|
|
6316
|
-
discoverSourceHint: "_discoverSourceHint_2or0c_1027",
|
|
6317
|
-
discoverSourceError: "_discoverSourceError_2or0c_1041",
|
|
6318
|
-
discoverSourceForm: "_discoverSourceForm_2or0c_1047",
|
|
6319
|
-
discoverGrow: "_discoverGrow_2or0c_1053",
|
|
6320
|
-
discoverField: "_discoverField_2or0c_1058",
|
|
6321
|
-
discoverFieldLabel: "_discoverFieldLabel_2or0c_1064",
|
|
6322
|
-
discoverConfirmHead: "_discoverConfirmHead_2or0c_1069",
|
|
6323
|
-
discoverSkeletonFill: "_discoverSkeletonFill_2or0c_1075",
|
|
6324
|
-
"wb-skeleton": "_wb-skeleton_2or0c_1",
|
|
6325
|
-
discoverSkeletonBar: "_discoverSkeletonBar_2or0c_1084",
|
|
6326
|
-
discoverSkeletonTitle: "_discoverSkeletonTitle_2or0c_1091",
|
|
6327
|
-
discoverSkeletonDesc: "_discoverSkeletonDesc_2or0c_1095"
|
|
6328
|
-
};
|
|
6329
6250
|
//#endregion
|
|
6330
|
-
//#region src/app/layouts/market
|
|
6331
|
-
function
|
|
6332
|
-
|
|
6333
|
-
|
|
6334
|
-
|
|
6335
|
-
|
|
6336
|
-
"
|
|
6337
|
-
|
|
6338
|
-
|
|
6339
|
-
|
|
6340
|
-
2,
|
|
6341
|
-
3
|
|
6342
|
-
].map((index) => /* @__PURE__ */ (0, react.createElement)("li", {
|
|
6343
|
-
key: String(index),
|
|
6344
|
-
className: MarketPage_module_default.discoverCard,
|
|
6345
|
-
"aria-hidden": "true"
|
|
6346
|
-
}, /* @__PURE__ */ (0, react.createElement)("span", { className: `${MarketPage_module_default.discoverArtwork} ${MarketPage_module_default.discoverSkeletonFill}` }), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.discoverMain }, /* @__PURE__ */ (0, react.createElement)("span", { className: `${MarketPage_module_default.discoverSkeletonBar} ${MarketPage_module_default.discoverSkeletonTitle} ${MarketPage_module_default.discoverSkeletonFill}` }), /* @__PURE__ */ (0, react.createElement)("span", { className: `${MarketPage_module_default.discoverSkeletonBar} ${MarketPage_module_default.discoverSkeletonDesc} ${MarketPage_module_default.discoverSkeletonFill}` })))));
|
|
6251
|
+
//#region src/app/layouts/rightbar/market-names.ts
|
|
6252
|
+
function namesOf(t, modules, titleOf) {
|
|
6253
|
+
const shown = /* @__PURE__ */ new Map();
|
|
6254
|
+
for (const module of modules) {
|
|
6255
|
+
const key = unitTitleKey(module.unit);
|
|
6256
|
+
const live = t(key);
|
|
6257
|
+
const name = live !== key && live !== "" ? live : titleOf(module.title);
|
|
6258
|
+
if (name !== "") shown.set(module.unit, name);
|
|
6259
|
+
}
|
|
6260
|
+
return shown;
|
|
6347
6261
|
}
|
|
6348
|
-
|
|
6349
|
-
|
|
6262
|
+
//#endregion
|
|
6263
|
+
//#region src/app/layouts/rightbar/market-view-text.ts
|
|
6264
|
+
var PROGRESS_KEY = {
|
|
6265
|
+
install: "panels.market.installing",
|
|
6266
|
+
update: "panels.market.updating",
|
|
6267
|
+
"update-bundle": "panels.market.updating",
|
|
6268
|
+
"install-version": "panels.market.updating",
|
|
6269
|
+
"remove-bundle": "panels.market.uninstalling",
|
|
6270
|
+
uninstall: "panels.market.uninstalling",
|
|
6271
|
+
"update-dependency": "panels.market.updating",
|
|
6272
|
+
"update-plugin": "panels.market.updating",
|
|
6273
|
+
"uninstall-plugin": "panels.market.uninstalling",
|
|
6274
|
+
"update-workbench": "panels.market.updating",
|
|
6275
|
+
"migrate-workbench": "panels.market.migrating",
|
|
6276
|
+
"dismiss-followup": "panels.market.dismissing"
|
|
6277
|
+
};
|
|
6278
|
+
var ACTION_LABEL_KEY = {
|
|
6279
|
+
install: "panels.market.install",
|
|
6280
|
+
update: "panels.market.update",
|
|
6281
|
+
"update-bundle": "panels.market.update",
|
|
6282
|
+
"install-version": "panels.market.update",
|
|
6283
|
+
"remove-bundle": "panels.market.uninstall",
|
|
6284
|
+
uninstall: "panels.market.uninstall",
|
|
6285
|
+
"update-dependency": "panels.market.update",
|
|
6286
|
+
"update-plugin": "panels.market.update",
|
|
6287
|
+
"uninstall-plugin": "panels.market.uninstall",
|
|
6288
|
+
"update-workbench": "panels.market.update",
|
|
6289
|
+
"migrate-workbench": "panels.market.migrateAction",
|
|
6290
|
+
"dismiss-followup": "panels.market.dismissFollowUp"
|
|
6291
|
+
};
|
|
6292
|
+
var UPDATE_ACTIONS = Object.keys(ACTION_LABEL_KEY).filter((action) => ACTION_LABEL_KEY[action] === "panels.market.update");
|
|
6293
|
+
function holdOf(pending, application) {
|
|
6294
|
+
if (pending === null || pending.row === void 0) return void 0;
|
|
6295
|
+
if (application !== "applied") return void 0;
|
|
6296
|
+
return {
|
|
6297
|
+
id: pending.id,
|
|
6298
|
+
row: pending.row
|
|
6299
|
+
};
|
|
6350
6300
|
}
|
|
6351
|
-
function
|
|
6352
|
-
|
|
6353
|
-
|
|
6354
|
-
|
|
6355
|
-
|
|
6356
|
-
|
|
6301
|
+
function pendingLanded(pending, updates, capabilities, installed, shared = [], plugins = null, removal = {
|
|
6302
|
+
units: null,
|
|
6303
|
+
plugins: null
|
|
6304
|
+
}) {
|
|
6305
|
+
if (pending === null) return true;
|
|
6306
|
+
if (pending.action === "update" && capabilities === null) return false;
|
|
6307
|
+
return settleLanded({
|
|
6308
|
+
action: pending.action,
|
|
6309
|
+
until: pending.until,
|
|
6310
|
+
readBack: pending.readBack,
|
|
6311
|
+
installed,
|
|
6312
|
+
entry: updates[pending.id],
|
|
6313
|
+
clicked: pending.version,
|
|
6314
|
+
outdated: capabilityOutdated(capabilities, pending.id),
|
|
6315
|
+
unitGone: removal.units === null ? null : !removal.units.has(pending.id),
|
|
6316
|
+
pluginGone: removal.plugins === null ? null : !removal.plugins.has(pending.id),
|
|
6317
|
+
...pending.action === "update-dependency" ? { sharedState: shared.find((row) => row.id === pending.id)?.state } : {},
|
|
6318
|
+
...pending.action === "update-plugin" ? { pluginOutdated: plugins === null ? null : plugins.find((row) => row.id === pending.id)?.canUpdate ?? false } : {}
|
|
6319
|
+
});
|
|
6357
6320
|
}
|
|
6358
|
-
function
|
|
6359
|
-
|
|
6360
|
-
|
|
6361
|
-
role: "alert"
|
|
6362
|
-
}, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.StateDot, { state: "error" }), text), /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
6363
|
-
type: "button",
|
|
6364
|
-
size: "sm",
|
|
6365
|
-
variant: "outline",
|
|
6366
|
-
onClick: onRetry
|
|
6367
|
-
}, t("panels.discover.retry")));
|
|
6321
|
+
function holdExpired(held, backInRoster, elapsedMs) {
|
|
6322
|
+
if (held === void 0) return true;
|
|
6323
|
+
return backInRoster || elapsedMs >= 15e3;
|
|
6368
6324
|
}
|
|
6369
|
-
function
|
|
6370
|
-
return
|
|
6371
|
-
type: "button",
|
|
6372
|
-
size: "sm",
|
|
6373
|
-
variant: "primary",
|
|
6374
|
-
onClick: onInit
|
|
6375
|
-
}, t("panels.discover.initCta")));
|
|
6325
|
+
function heldIdOf(pending, held) {
|
|
6326
|
+
return pending?.id ?? held?.id ?? null;
|
|
6376
6327
|
}
|
|
6377
|
-
function
|
|
6378
|
-
return
|
|
6379
|
-
type: "button",
|
|
6380
|
-
size: "sm",
|
|
6381
|
-
variant: "primary",
|
|
6382
|
-
icon: /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconPlusOutlineRegular, { size: 13 }),
|
|
6383
|
-
onClick: onAdd
|
|
6384
|
-
}, t("panels.discover.addFirstSource")));
|
|
6328
|
+
function pinnedRowOf(pending, held) {
|
|
6329
|
+
return pending?.row ?? held?.row;
|
|
6385
6330
|
}
|
|
6386
|
-
function
|
|
6387
|
-
|
|
6388
|
-
|
|
6389
|
-
|
|
6390
|
-
|
|
6391
|
-
|
|
6392
|
-
|
|
6393
|
-
|
|
6394
|
-
|
|
6395
|
-
|
|
6396
|
-
|
|
6397
|
-
|
|
6331
|
+
function withPinnedRow(rows, pinned) {
|
|
6332
|
+
if (pinned === void 0) return [...rows];
|
|
6333
|
+
if (!rows.some((row) => row.id === pinned.id)) return [...rows, pinned];
|
|
6334
|
+
return rows.map((row) => row.id === pinned.id ? pinned : row);
|
|
6335
|
+
}
|
|
6336
|
+
function marketFootVisible(shown, installed) {
|
|
6337
|
+
return shown.length > 0 || installed.length > 0;
|
|
6338
|
+
}
|
|
6339
|
+
var NO_NAMES = /* @__PURE__ */ new Map();
|
|
6340
|
+
function marketRowMap(shown, self, installed, plugins) {
|
|
6341
|
+
return new Map([
|
|
6342
|
+
...shown,
|
|
6343
|
+
...self === void 0 ? [] : [self],
|
|
6344
|
+
...installed,
|
|
6345
|
+
...plugins
|
|
6346
|
+
].map((row) => [row.id, row]));
|
|
6347
|
+
}
|
|
6348
|
+
function marketNamesOf(t, modules, titleOf, mocked) {
|
|
6349
|
+
return mocked ? NO_NAMES : namesOf(t, modules, titleOf);
|
|
6350
|
+
}
|
|
6351
|
+
function useHeldRow(pending, backInRoster) {
|
|
6352
|
+
const [held, setHeld] = (0, react.useState)(void 0);
|
|
6353
|
+
const heldAtRef = (0, react.useRef)(0);
|
|
6354
|
+
const hold = (0, react.useCallback)((next) => {
|
|
6355
|
+
if (next !== void 0) heldAtRef.current = Date.now();
|
|
6356
|
+
setHeld(next);
|
|
6357
|
+
}, []);
|
|
6358
|
+
const back = held === void 0 ? false : backInRoster(held.id);
|
|
6359
|
+
(0, react.useEffect)(() => {
|
|
6360
|
+
if (held === void 0) return;
|
|
6361
|
+
if (holdExpired(held, back, Date.now() - heldAtRef.current)) {
|
|
6362
|
+
setHeld(void 0);
|
|
6363
|
+
return;
|
|
6364
|
+
}
|
|
6365
|
+
const timer = setTimeout(() => setHeld(void 0), MODULE_SETTLE_MS);
|
|
6366
|
+
return () => clearTimeout(timer);
|
|
6367
|
+
}, [held, back]);
|
|
6368
|
+
(0, react.useEffect)(() => {
|
|
6369
|
+
if (pending !== null) setHeld(void 0);
|
|
6370
|
+
}, [pending]);
|
|
6371
|
+
return {
|
|
6372
|
+
held,
|
|
6373
|
+
hold
|
|
6374
|
+
};
|
|
6375
|
+
}
|
|
6376
|
+
var MODULE_REMOVALS = /* @__PURE__ */ new Set(["remove-bundle", "uninstall"]);
|
|
6377
|
+
function removingIdOf(pending, failed) {
|
|
6378
|
+
if (pending === null || !MODULE_REMOVALS.has(pending.action)) return null;
|
|
6379
|
+
return failed?.id === pending.id ? null : pending.id;
|
|
6380
|
+
}
|
|
6381
|
+
function pendingRowOf(input) {
|
|
6382
|
+
const { pending, removing } = input;
|
|
6383
|
+
if (removing === null || pending === null) return void 0;
|
|
6384
|
+
if (input.rows.some((row) => row.id === removing)) return void 0;
|
|
6385
|
+
const name = pending.label ?? input.names.get(removing);
|
|
6386
|
+
return {
|
|
6387
|
+
id: removing,
|
|
6388
|
+
titleKey: pending.titleKey ?? removing,
|
|
6389
|
+
...name === void 0 ? {} : { label: name },
|
|
6390
|
+
state: "installed",
|
|
6391
|
+
canInstall: false,
|
|
6392
|
+
canUpdate: false,
|
|
6393
|
+
canUninstall: true,
|
|
6394
|
+
...pending.pkg === void 0 ? {} : { pkg: pending.pkg },
|
|
6395
|
+
...pending.version === void 0 ? {} : { version: { installed: pending.version } }
|
|
6396
|
+
};
|
|
6398
6397
|
}
|
|
6399
6398
|
//#endregion
|
|
6400
|
-
//#region src/
|
|
6401
|
-
|
|
6402
|
-
|
|
6399
|
+
//#region src/shared/components/Tip.tsx
|
|
6400
|
+
/**
|
|
6401
|
+
* dsh `Tooltip` 的外壳默认值版:说明统一按右栏习惯(`bottom` / `end` / `gap 6` / 挂 body)来,其余 prop 原样转给 `Tooltip`。
|
|
6402
|
+
* @param props.side - 气泡出现在锚点哪一侧(默认 `'bottom'`)。
|
|
6403
|
+
* @param props.align - 底 / 顶气泡贴锚点哪条边(默认 `'end'`)。
|
|
6404
|
+
* @param props.gap - 锚点到气泡的间距(默认 `6`)。
|
|
6405
|
+
* @param props.portal - 是否挂到 `document.body`,以逃出裁剪容器与层叠上下文(默认 `true`)。
|
|
6406
|
+
* @param props.children - 单个锚点元素;`label` / `shortcutKeys` / `openOnClick` 等其余 prop 与 dsh 同形。
|
|
6407
|
+
*/
|
|
6408
|
+
function Tip({ side = "bottom", align = "end", gap = 6, portal = true, ...rest }) {
|
|
6409
|
+
return /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
|
|
6410
|
+
side,
|
|
6411
|
+
align,
|
|
6412
|
+
gap,
|
|
6413
|
+
portal,
|
|
6414
|
+
...rest
|
|
6415
|
+
});
|
|
6403
6416
|
}
|
|
6404
|
-
|
|
6405
|
-
|
|
6417
|
+
//#endregion
|
|
6418
|
+
//#region src/app/layouts/rightbar/market-row-icon.ts
|
|
6419
|
+
var SIZE$1 = 28;
|
|
6420
|
+
var ARTWORK = 36;
|
|
6421
|
+
function packageIcon(kind) {
|
|
6422
|
+
switch (kind) {
|
|
6423
|
+
case "module": return (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.PluginArtworkDefault, { size: ARTWORK });
|
|
6424
|
+
case "plugin": return (0, react.createElement)(IconOpencli, { size: SIZE$1 });
|
|
6425
|
+
case "lib": return (0, react.createElement)(IconNpm, { size: SIZE$1 });
|
|
6426
|
+
case "workbench": return (0, react.createElement)(IconBrandMark, { size: SIZE$1 });
|
|
6427
|
+
}
|
|
6428
|
+
}
|
|
6429
|
+
function marketRowKind(row) {
|
|
6430
|
+
if (row.workbench === true) return "workbench";
|
|
6431
|
+
if (row.plugin === true) return "plugin";
|
|
6432
|
+
return "module";
|
|
6433
|
+
}
|
|
6434
|
+
function sharedRowKind(row) {
|
|
6435
|
+
return row.kind === "extension" ? "plugin" : "lib";
|
|
6406
6436
|
}
|
|
6407
6437
|
var FailureCard_module_default = {
|
|
6408
6438
|
block: "_block_mxnbc_1",
|
|
@@ -6565,252 +6595,151 @@ window.__ModuleLoader__.load({
|
|
|
6565
6595
|
exitCode: failure.exitCode
|
|
6566
6596
|
};
|
|
6567
6597
|
}
|
|
6568
|
-
|
|
6569
|
-
|
|
6570
|
-
|
|
6571
|
-
|
|
6572
|
-
|
|
6573
|
-
|
|
6574
|
-
|
|
6575
|
-
|
|
6576
|
-
|
|
6577
|
-
|
|
6578
|
-
|
|
6579
|
-
|
|
6580
|
-
|
|
6581
|
-
|
|
6582
|
-
|
|
6583
|
-
|
|
6584
|
-
|
|
6585
|
-
|
|
6586
|
-
|
|
6587
|
-
|
|
6588
|
-
|
|
6589
|
-
|
|
6590
|
-
|
|
6591
|
-
|
|
6592
|
-
|
|
6593
|
-
|
|
6594
|
-
|
|
6595
|
-
|
|
6596
|
-
|
|
6597
|
-
|
|
6598
|
-
|
|
6599
|
-
|
|
6600
|
-
|
|
6601
|
-
|
|
6602
|
-
|
|
6603
|
-
|
|
6604
|
-
|
|
6605
|
-
|
|
6606
|
-
|
|
6607
|
-
|
|
6608
|
-
|
|
6609
|
-
|
|
6610
|
-
|
|
6611
|
-
|
|
6612
|
-
|
|
6613
|
-
|
|
6614
|
-
|
|
6615
|
-
|
|
6616
|
-
|
|
6617
|
-
|
|
6618
|
-
|
|
6619
|
-
|
|
6620
|
-
|
|
6621
|
-
|
|
6622
|
-
|
|
6623
|
-
|
|
6624
|
-
|
|
6625
|
-
|
|
6626
|
-
|
|
6627
|
-
|
|
6628
|
-
|
|
6629
|
-
|
|
6630
|
-
|
|
6631
|
-
|
|
6632
|
-
|
|
6633
|
-
|
|
6634
|
-
|
|
6635
|
-
|
|
6636
|
-
|
|
6637
|
-
|
|
6638
|
-
|
|
6639
|
-
|
|
6640
|
-
|
|
6641
|
-
|
|
6642
|
-
|
|
6643
|
-
|
|
6644
|
-
|
|
6645
|
-
|
|
6646
|
-
|
|
6647
|
-
|
|
6648
|
-
|
|
6649
|
-
|
|
6650
|
-
|
|
6651
|
-
|
|
6652
|
-
|
|
6653
|
-
|
|
6654
|
-
|
|
6655
|
-
|
|
6656
|
-
|
|
6657
|
-
|
|
6658
|
-
|
|
6659
|
-
|
|
6660
|
-
|
|
6661
|
-
|
|
6662
|
-
|
|
6663
|
-
|
|
6664
|
-
|
|
6665
|
-
|
|
6666
|
-
|
|
6667
|
-
|
|
6668
|
-
|
|
6669
|
-
|
|
6670
|
-
|
|
6671
|
-
|
|
6672
|
-
|
|
6673
|
-
|
|
6674
|
-
|
|
6675
|
-
|
|
6676
|
-
|
|
6677
|
-
|
|
6678
|
-
|
|
6679
|
-
|
|
6680
|
-
|
|
6681
|
-
|
|
6682
|
-
|
|
6683
|
-
|
|
6684
|
-
|
|
6685
|
-
|
|
6686
|
-
|
|
6687
|
-
|
|
6688
|
-
|
|
6689
|
-
|
|
6690
|
-
|
|
6691
|
-
|
|
6692
|
-
|
|
6693
|
-
|
|
6694
|
-
|
|
6695
|
-
|
|
6696
|
-
|
|
6697
|
-
|
|
6698
|
-
|
|
6699
|
-
|
|
6700
|
-
|
|
6701
|
-
|
|
6702
|
-
|
|
6703
|
-
|
|
6704
|
-
|
|
6705
|
-
|
|
6706
|
-
const timer = setTimeout(() => setHeld(void 0), MODULE_SETTLE_MS);
|
|
6707
|
-
return () => clearTimeout(timer);
|
|
6708
|
-
}, [held, back]);
|
|
6709
|
-
(0, react.useEffect)(() => {
|
|
6710
|
-
if (pending !== null) setHeld(void 0);
|
|
6711
|
-
}, [pending]);
|
|
6712
|
-
return {
|
|
6713
|
-
held,
|
|
6714
|
-
hold
|
|
6715
|
-
};
|
|
6716
|
-
}
|
|
6717
|
-
var MODULE_REMOVALS = /* @__PURE__ */ new Set(["remove-bundle", "uninstall"]);
|
|
6718
|
-
function removingIdOf(pending, failed) {
|
|
6719
|
-
if (pending === null || !MODULE_REMOVALS.has(pending.action)) return null;
|
|
6720
|
-
return failed?.id === pending.id ? null : pending.id;
|
|
6721
|
-
}
|
|
6722
|
-
function pendingRowOf(input) {
|
|
6723
|
-
const { pending, removing } = input;
|
|
6724
|
-
if (removing === null || pending === null) return void 0;
|
|
6725
|
-
if (input.rows.some((row) => row.id === removing)) return void 0;
|
|
6726
|
-
const name = pending.label ?? input.names.get(removing);
|
|
6727
|
-
return {
|
|
6728
|
-
id: removing,
|
|
6729
|
-
titleKey: pending.titleKey ?? removing,
|
|
6730
|
-
...name === void 0 ? {} : { label: name },
|
|
6731
|
-
state: "installed",
|
|
6732
|
-
canInstall: false,
|
|
6733
|
-
canUpdate: false,
|
|
6734
|
-
canUninstall: true,
|
|
6735
|
-
...pending.pkg === void 0 ? {} : { pkg: pending.pkg },
|
|
6736
|
-
...pending.version === void 0 ? {} : { version: { installed: pending.version } }
|
|
6737
|
-
};
|
|
6738
|
-
}
|
|
6739
|
-
//#endregion
|
|
6740
|
-
//#region src/app/layouts/rightbar/SharedSection.tsx
|
|
6741
|
-
function SharedLine({ t, row, pending, failure, onAct, onRecheck, rechecking }) {
|
|
6742
|
-
const running = pending !== null && pending.id === row.id ? pending : null;
|
|
6743
|
-
const locked = pending !== null;
|
|
6744
|
-
const actions = sharedActions(row);
|
|
6745
|
-
const stateText = t(SHARED_STATE_KEY[row.state]);
|
|
6746
|
-
const version = row.version;
|
|
6747
|
-
const name = /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketName }, row.label, version === void 0 ? null : /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketVersion }, version.installed !== void 0 && version.latest !== void 0 && version.installed !== version.latest ? t("panels.market.versionArrow", {
|
|
6748
|
-
from: version.installed,
|
|
6749
|
-
to: version.latest
|
|
6750
|
-
}) : version.installed ?? version.latest ?? ""));
|
|
6751
|
-
return /* @__PURE__ */ (0, react.createElement)("li", { className: MarketPage_module_default.marketRow }, /* @__PURE__ */ (0, react.createElement)("span", {
|
|
6752
|
-
className: MarketPage_module_default.marketIcon,
|
|
6753
|
-
"aria-hidden": "true"
|
|
6754
|
-
}, packageIcon(sharedRowKind(row))), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketMain }, name, /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketStatus }, row.state === "checking" ? /* @__PURE__ */ (0, react.createElement)(Spinner, { size: 14 }) : null, /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketStateText }, stateText), /* @__PURE__ */ (0, react.createElement)("span", {
|
|
6755
|
-
className: MarketPage_module_default.marketSep,
|
|
6756
|
-
"aria-hidden": "true"
|
|
6757
|
-
}, "·"), /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketReason }, t("panels.market.sharedUsedBy", { modules: row.usedByKeys.map((key) => t(key)).join(t("panels.market.listSeparator")) })))), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketEnd }, running !== null ? /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketProgress }, /* @__PURE__ */ (0, react.createElement)(Spinner, { size: 14 }), t(PROGRESS_KEY[running.action])) : actions.length === 0 ? null : /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketActions }, actions.map((action) => /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
6758
|
-
key: action,
|
|
6759
|
-
type: "button",
|
|
6760
|
-
size: "sm",
|
|
6761
|
-
variant: "outline",
|
|
6762
|
-
disabled: locked,
|
|
6763
|
-
onClick: () => onAct(action)
|
|
6764
|
-
}, 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, {
|
|
6765
|
-
t,
|
|
6766
|
-
model: failureCardOf(failure.failure, t),
|
|
6767
|
-
onRecheck,
|
|
6768
|
-
rechecking
|
|
6769
|
-
})));
|
|
6770
|
-
}
|
|
6771
|
-
function SharedSection({ t, rows, pending, failureOf, act, onRecheck, rechecking }) {
|
|
6772
|
-
if (rows.length === 0) return null;
|
|
6773
|
-
return /* @__PURE__ */ (0, react.createElement)("section", { className: `${MarketPage_module_default.marketSection} ${MarketPage_module_default.marketSectionQuiet}` }, /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketSectionHead }, /* @__PURE__ */ (0, react.createElement)("span", {
|
|
6774
|
-
className: MarketPage_module_default.marketSectionIcon,
|
|
6775
|
-
"aria-hidden": "true"
|
|
6776
|
-
}, marketSectionIcon("shared")), /* @__PURE__ */ (0, react.createElement)("h2", { className: MarketPage_module_default.marketSectionTitle }, t("panels.market.sectionShared")), /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketSectionCount }, rows.length)), /* @__PURE__ */ (0, react.createElement)("ul", { className: MarketPage_module_default.marketList }, rows.map((row) => /* @__PURE__ */ (0, react.createElement)(SharedLine, {
|
|
6777
|
-
key: row.id,
|
|
6778
|
-
t,
|
|
6779
|
-
row,
|
|
6780
|
-
pending,
|
|
6781
|
-
failure: failureOf(row.id),
|
|
6782
|
-
onAct: (action) => void act(row.id, action),
|
|
6783
|
-
onRecheck,
|
|
6784
|
-
rechecking
|
|
6785
|
-
}))));
|
|
6786
|
-
}
|
|
6787
|
-
//#endregion
|
|
6788
|
-
//#region src/shared/components/Tip.tsx
|
|
6789
|
-
/**
|
|
6790
|
-
* dsh `Tooltip` 的外壳默认值版:说明统一按右栏习惯(`bottom` / `end` / `gap 6` / 挂 body)来,其余 prop 原样转给 `Tooltip`。
|
|
6791
|
-
* @param props.side - 气泡出现在锚点哪一侧(默认 `'bottom'`)。
|
|
6792
|
-
* @param props.align - 底 / 顶气泡贴锚点哪条边(默认 `'end'`)。
|
|
6793
|
-
* @param props.gap - 锚点到气泡的间距(默认 `6`)。
|
|
6794
|
-
* @param props.portal - 是否挂到 `document.body`,以逃出裁剪容器与层叠上下文(默认 `true`)。
|
|
6795
|
-
* @param props.children - 单个锚点元素;`label` / `shortcutKeys` / `openOnClick` 等其余 prop 与 dsh 同形。
|
|
6796
|
-
*/
|
|
6797
|
-
function Tip({ side = "bottom", align = "end", gap = 6, portal = true, ...rest }) {
|
|
6798
|
-
return /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
|
|
6799
|
-
side,
|
|
6800
|
-
align,
|
|
6801
|
-
gap,
|
|
6802
|
-
portal,
|
|
6803
|
-
...rest
|
|
6804
|
-
});
|
|
6805
|
-
}
|
|
6598
|
+
var MarketPage_module_default = {
|
|
6599
|
+
marketList: "_marketList_9z259_1",
|
|
6600
|
+
marketRow: "_marketRow_9z259_10",
|
|
6601
|
+
marketNameOpen: "_marketNameOpen_9z259_25",
|
|
6602
|
+
marketIcon: "_marketIcon_9z259_53",
|
|
6603
|
+
marketMain: "_marketMain_9z259_65",
|
|
6604
|
+
marketName: "_marketName_9z259_25",
|
|
6605
|
+
marketStatus: "_marketStatus_9z259_81",
|
|
6606
|
+
marketStateText: "_marketStateText_9z259_91",
|
|
6607
|
+
marketSep: "_marketSep_9z259_95",
|
|
6608
|
+
marketReason: "_marketReason_9z259_99",
|
|
6609
|
+
marketVersion: "_marketVersion_9z259_105",
|
|
6610
|
+
marketLocalTag: "_marketLocalTag_9z259_127",
|
|
6611
|
+
marketEnd: "_marketEnd_9z259_138",
|
|
6612
|
+
marketSwitchSeat: "_marketSwitchSeat_9z259_147",
|
|
6613
|
+
marketActions: "_marketActions_9z259_160",
|
|
6614
|
+
marketUpdateAction: "_marketUpdateAction_9z259_166",
|
|
6615
|
+
marketSelfDivider: "_marketSelfDivider_9z259_172",
|
|
6616
|
+
marketSection: "_marketSection_9z259_178",
|
|
6617
|
+
marketSectionHead: "_marketSectionHead_9z259_185",
|
|
6618
|
+
marketSectionIcon: "_marketSectionIcon_9z259_191",
|
|
6619
|
+
marketSectionTitle: "_marketSectionTitle_9z259_198",
|
|
6620
|
+
marketSectionCount: "_marketSectionCount_9z259_204",
|
|
6621
|
+
marketSectionAction: "_marketSectionAction_9z259_210",
|
|
6622
|
+
marketSectionQuiet: "_marketSectionQuiet_9z259_218",
|
|
6623
|
+
marketProgress: "_marketProgress_9z259_230",
|
|
6624
|
+
marketNote: "_marketNote_9z259_240",
|
|
6625
|
+
marketFailure: "_marketFailure_9z259_247",
|
|
6626
|
+
marketFailureSeat: "_marketFailureSeat_9z259_254",
|
|
6627
|
+
marketEmpty: "_marketEmpty_9z259_261",
|
|
6628
|
+
marketPage: "_marketPage_9z259_266",
|
|
6629
|
+
marketPageHead: "_marketPageHead_9z259_284",
|
|
6630
|
+
marketPageTitle: "_marketPageTitle_9z259_292",
|
|
6631
|
+
marketPageIntro: "_marketPageIntro_9z259_297",
|
|
6632
|
+
marketPageTools: "_marketPageTools_9z259_303",
|
|
6633
|
+
marketPanel: "_marketPanel_9z259_312",
|
|
6634
|
+
marketTabs: "_marketTabs_9z259_322",
|
|
6635
|
+
marketTabList: "_marketTabList_9z259_327",
|
|
6636
|
+
marketAddButton: "_marketAddButton_9z259_332",
|
|
6637
|
+
marketEmptyTitle: "_marketEmptyTitle_9z259_349",
|
|
6638
|
+
discoverPage: "_discoverPage_9z259_354",
|
|
6639
|
+
discoverBar: "_discoverBar_9z259_361",
|
|
6640
|
+
discoverTools: "_discoverTools_9z259_368",
|
|
6641
|
+
discoverMarket: "_discoverMarket_9z259_374",
|
|
6642
|
+
discoverMarketButton: "_discoverMarketButton_9z259_379",
|
|
6643
|
+
discoverMarketName: "_discoverMarketName_9z259_386",
|
|
6644
|
+
discoverLabels: "_discoverLabels_9z259_392",
|
|
6645
|
+
discoverSort: "_discoverSort_9z259_397",
|
|
6646
|
+
discoverRefresh: "_discoverRefresh_9z259_402",
|
|
6647
|
+
discoverSearch: "_discoverSearch_9z259_406",
|
|
6648
|
+
discoverSearchField: "_discoverSearchField_9z259_414",
|
|
6649
|
+
discoverSearchFieldFilled: "_discoverSearchFieldFilled_9z259_419",
|
|
6650
|
+
discoverSearchClear: "_discoverSearchClear_9z259_428",
|
|
6651
|
+
discoverChips: "_discoverChips_9z259_479",
|
|
6652
|
+
discoverList: "_discoverList_9z259_486",
|
|
6653
|
+
discoverCard: "_discoverCard_9z259_495",
|
|
6654
|
+
discoverArtwork: "_discoverArtwork_9z259_509",
|
|
6655
|
+
discoverArtworkImage: "_discoverArtworkImage_9z259_521",
|
|
6656
|
+
discoverMain: "_discoverMain_9z259_525",
|
|
6657
|
+
discoverTitleRow: "_discoverTitleRow_9z259_533",
|
|
6658
|
+
discoverCardOpen: "_discoverCardOpen_9z259_541",
|
|
6659
|
+
discoverStrong: "_discoverStrong_9z259_572",
|
|
6660
|
+
discoverDesc: "_discoverDesc_9z259_578",
|
|
6661
|
+
discoverMeta: "_discoverMeta_9z259_587",
|
|
6662
|
+
discoverMuted: "_discoverMuted_9z259_594",
|
|
6663
|
+
discoverEnd: "_discoverEnd_9z259_600",
|
|
6664
|
+
discoverUpdateAction: "_discoverUpdateAction_9z259_609",
|
|
6665
|
+
discoverBlocked: "_discoverBlocked_9z259_614",
|
|
6666
|
+
discoverEmpty: "_discoverEmpty_9z259_619",
|
|
6667
|
+
discoverEmptyTitle: "_discoverEmptyTitle_9z259_628",
|
|
6668
|
+
discoverDetail: "_discoverDetail_9z259_638",
|
|
6669
|
+
discoverCrumb: "_discoverCrumb_9z259_644",
|
|
6670
|
+
discoverCrumbIcon: "_discoverCrumbIcon_9z259_667",
|
|
6671
|
+
discoverDetailHead: "_discoverDetailHead_9z259_671",
|
|
6672
|
+
marketDetailHead: "_marketDetailHead_9z259_677",
|
|
6673
|
+
marketDetailName: "_marketDetailName_9z259_682",
|
|
6674
|
+
marketDetailEnd: "_marketDetailEnd_9z259_693",
|
|
6675
|
+
discoverDetailTitle: "_discoverDetailTitle_9z259_703",
|
|
6676
|
+
discoverDetailText: "_discoverDetailText_9z259_709",
|
|
6677
|
+
discoverDetailPanel: "_discoverDetailPanel_9z259_716",
|
|
6678
|
+
discoverDetailTabs: "_discoverDetailTabs_9z259_723",
|
|
6679
|
+
discoverDetailTabList: "_discoverDetailTabList_9z259_728",
|
|
6680
|
+
discoverDocBody: "_discoverDocBody_9z259_733",
|
|
6681
|
+
discoverDocNotice: "_discoverDocNotice_9z259_738",
|
|
6682
|
+
discoverSection: "_discoverSection_9z259_744",
|
|
6683
|
+
discoverSectionTitle: "_discoverSectionTitle_9z259_751",
|
|
6684
|
+
discoverFacts: "_discoverFacts_9z259_757",
|
|
6685
|
+
discoverFactRow: "_discoverFactRow_9z259_762",
|
|
6686
|
+
discoverFactKind: "_discoverFactKind_9z259_772",
|
|
6687
|
+
discoverFactValue: "_discoverFactValue_9z259_778",
|
|
6688
|
+
discoverCode: "_discoverCode_9z259_786",
|
|
6689
|
+
discoverTags: "_discoverTags_9z259_795",
|
|
6690
|
+
discoverLink: "_discoverLink_9z259_802",
|
|
6691
|
+
discoverVersions: "_discoverVersions_9z259_812",
|
|
6692
|
+
discoverVersionRow: "_discoverVersionRow_9z259_820",
|
|
6693
|
+
discoverVersionName: "_discoverVersionName_9z259_828",
|
|
6694
|
+
discoverError: "_discoverError_9z259_833",
|
|
6695
|
+
discoverFailure: "_discoverFailure_9z259_843",
|
|
6696
|
+
discoverLoading: "_discoverLoading_9z259_849",
|
|
6697
|
+
discoverNotice: "_discoverNotice_9z259_858",
|
|
6698
|
+
discoverMore: "_discoverMore_9z259_876",
|
|
6699
|
+
discoverTransport: "_discoverTransport_9z259_880",
|
|
6700
|
+
discoverTransportHead: "_discoverTransportHead_9z259_886",
|
|
6701
|
+
discoverTransportTitle: "_discoverTransportTitle_9z259_893",
|
|
6702
|
+
discoverTransportKind: "_discoverTransportKind_9z259_898",
|
|
6703
|
+
discoverTransportState: "_discoverTransportState_9z259_903",
|
|
6704
|
+
discoverTransportRows: "_discoverTransportRows_9z259_911",
|
|
6705
|
+
discoverTransportRow: "_discoverTransportRow_9z259_911",
|
|
6706
|
+
discoverTransportRadio: "_discoverTransportRadio_9z259_932",
|
|
6707
|
+
discoverTransportCustom: "_discoverTransportCustom_9z259_972",
|
|
6708
|
+
discoverTransportInput: "_discoverTransportInput_9z259_978",
|
|
6709
|
+
discoverInstallBar: "_discoverInstallBar_9z259_983",
|
|
6710
|
+
discoverInstallText: "_discoverInstallText_9z259_994",
|
|
6711
|
+
discoverDialog: "_discoverDialog_9z259_1000",
|
|
6712
|
+
discoverDialogBody: "_discoverDialogBody_9z259_1004",
|
|
6713
|
+
discoverSourceList: "_discoverSourceList_9z259_1010",
|
|
6714
|
+
discoverSourceRow: "_discoverSourceRow_9z259_1018",
|
|
6715
|
+
discoverSourceConfirm: "_discoverSourceConfirm_9z259_1027",
|
|
6716
|
+
discoverSourcePick: "_discoverSourcePick_9z259_1033",
|
|
6717
|
+
discoverSourceRadio: "_discoverSourceRadio_9z259_1042",
|
|
6718
|
+
discoverSourceMain: "_discoverSourceMain_9z259_1050",
|
|
6719
|
+
discoverSourceHead: "_discoverSourceHead_9z259_1058",
|
|
6720
|
+
discoverSourceUrl: "_discoverSourceUrl_9z259_1066",
|
|
6721
|
+
discoverSourceMore: "_discoverSourceMore_9z259_1076",
|
|
6722
|
+
discoverSourceLoading: "_discoverSourceLoading_9z259_1080",
|
|
6723
|
+
discoverSourceHint: "_discoverSourceHint_9z259_1090",
|
|
6724
|
+
discoverSourceError: "_discoverSourceError_9z259_1104",
|
|
6725
|
+
discoverSourceForm: "_discoverSourceForm_9z259_1110",
|
|
6726
|
+
discoverGrow: "_discoverGrow_9z259_1116",
|
|
6727
|
+
discoverField: "_discoverField_9z259_1121",
|
|
6728
|
+
discoverFieldLabel: "_discoverFieldLabel_9z259_1127",
|
|
6729
|
+
discoverConfirmHead: "_discoverConfirmHead_9z259_1132",
|
|
6730
|
+
discoverSkeletonFill: "_discoverSkeletonFill_9z259_1138",
|
|
6731
|
+
"wb-skeleton": "_wb-skeleton_9z259_1",
|
|
6732
|
+
discoverSkeletonBar: "_discoverSkeletonBar_9z259_1147",
|
|
6733
|
+
discoverSkeletonTitle: "_discoverSkeletonTitle_9z259_1154",
|
|
6734
|
+
discoverSkeletonDesc: "_discoverSkeletonDesc_9z259_1158"
|
|
6735
|
+
};
|
|
6806
6736
|
//#endregion
|
|
6807
6737
|
//#region src/app/layouts/rightbar/market-section.tsx
|
|
6808
|
-
var
|
|
6738
|
+
var CONFIRM_DANGER = [
|
|
6809
6739
|
"uninstall",
|
|
6810
6740
|
"remove-bundle",
|
|
6811
6741
|
"uninstall-plugin"
|
|
6812
6742
|
];
|
|
6813
|
-
var updateActions = UPDATE_ACTIONS;
|
|
6814
6743
|
function MigrationConfirm({ t, onConfirm, onCancel }) {
|
|
6815
6744
|
const [acknowledged, setAcknowledged] = (0, react.useState)(false);
|
|
6816
6745
|
return /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.RiskConfirmation, {
|
|
@@ -6843,17 +6772,6 @@ window.__ModuleLoader__.load({
|
|
|
6843
6772
|
onConfirm
|
|
6844
6773
|
});
|
|
6845
6774
|
}
|
|
6846
|
-
function MarketLineDialogs({ t, migrationOpen, dismissOpen, onMigrationCancel, onMigrationConfirm, onDismissCancel, onDismissConfirm }) {
|
|
6847
|
-
return /* @__PURE__ */ (0, react.createElement)(react.Fragment, null, migrationOpen ? /* @__PURE__ */ (0, react.createElement)(MigrationConfirm, {
|
|
6848
|
-
t,
|
|
6849
|
-
onCancel: onMigrationCancel,
|
|
6850
|
-
onConfirm: onMigrationConfirm
|
|
6851
|
-
}) : null, dismissOpen ? /* @__PURE__ */ (0, react.createElement)(DismissFollowUpConfirm, {
|
|
6852
|
-
t,
|
|
6853
|
-
onCancel: onDismissCancel,
|
|
6854
|
-
onConfirm: onDismissConfirm
|
|
6855
|
-
}) : null);
|
|
6856
|
-
}
|
|
6857
6775
|
function MarketLineStatus({ t, row, quiet }) {
|
|
6858
6776
|
const stateText = t(MARKET_STATE_KEY[row.state]);
|
|
6859
6777
|
const noteText = row.note === void 0 ? null : t(row.note.key, row.note.params);
|
|
@@ -6869,7 +6787,7 @@ window.__ModuleLoader__.load({
|
|
|
6869
6787
|
"aria-hidden": "true"
|
|
6870
6788
|
}, "·"), /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketReason }, noteText)));
|
|
6871
6789
|
}
|
|
6872
|
-
function
|
|
6790
|
+
function MarketRowFailure({ t, failure, onRecheck, rechecking }) {
|
|
6873
6791
|
if (failure === null) return null;
|
|
6874
6792
|
const model = failure.card ?? (failure.failure === void 0 ? void 0 : failureCardOf(failure.failure, t));
|
|
6875
6793
|
if (model !== void 0) return /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketFailureSeat }, /* @__PURE__ */ (0, react.createElement)(FailureCard, {
|
|
@@ -6880,27 +6798,16 @@ window.__ModuleLoader__.load({
|
|
|
6880
6798
|
}));
|
|
6881
6799
|
return /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketFailure }, failure.message);
|
|
6882
6800
|
}
|
|
6883
|
-
function
|
|
6801
|
+
function MarketRowControls({ t, row, pending, boardBusy, onRequest, onDefault }) {
|
|
6884
6802
|
const running = pending !== null && pending.id === row.id ? pending : null;
|
|
6885
6803
|
const locked = pending !== null;
|
|
6886
|
-
const [migrationOpen, setMigrationOpen] = (0, react.useState)(false);
|
|
6887
|
-
const [dismissOpen, setDismissOpen] = (0, react.useState)(false);
|
|
6888
|
-
const quiet = row.workbench === true && row.state === "installed" && row.hint === void 0;
|
|
6889
6804
|
const actions = marketActions$1(row);
|
|
6890
6805
|
const switchLocked = marketSwitchLocked(row);
|
|
6891
|
-
|
|
6892
|
-
|
|
6893
|
-
|
|
6894
|
-
|
|
6895
|
-
|
|
6896
|
-
to: row.version.latest
|
|
6897
|
-
}) : row.version.installed ?? row.version.latest ?? ""), row.local === true ? /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketLocalTag }, t("panels.market.localMark")) : null), /* @__PURE__ */ (0, react.createElement)(MarketLineStatus, {
|
|
6898
|
-
t,
|
|
6899
|
-
row,
|
|
6900
|
-
quiet
|
|
6901
|
-
})), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketEnd }, running !== null ? /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketProgress }, /* @__PURE__ */ (0, react.createElement)(Spinner, { size: 14 }), t(PROGRESS_KEY[running.action])) : actions.length === 0 ? null : /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketActions }, actions.map((action) => {
|
|
6902
|
-
const danger = dangerActions.includes(action);
|
|
6903
|
-
const update = updateActions.includes(action);
|
|
6806
|
+
const [migrationOpen, setMigrationOpen] = (0, react.useState)(false);
|
|
6807
|
+
const [dismissOpen, setDismissOpen] = (0, react.useState)(false);
|
|
6808
|
+
return /* @__PURE__ */ (0, react.createElement)(react.Fragment, null, running !== null ? /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketProgress }, /* @__PURE__ */ (0, react.createElement)(Spinner, { size: 14 }), t(PROGRESS_KEY[running.action])) : actions.length === 0 ? null : /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketActions }, actions.map((action) => {
|
|
6809
|
+
const danger = CONFIRM_DANGER.includes(action);
|
|
6810
|
+
const update = UPDATE_ACTIONS.includes(action);
|
|
6904
6811
|
return /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
6905
6812
|
key: action,
|
|
6906
6813
|
type: "button",
|
|
@@ -6913,7 +6820,7 @@ window.__ModuleLoader__.load({
|
|
|
6913
6820
|
onClick: () => {
|
|
6914
6821
|
if (action === "migrate-workbench") setMigrationOpen(true);
|
|
6915
6822
|
else if (action === "dismiss-followup") setDismissOpen(true);
|
|
6916
|
-
else
|
|
6823
|
+
else onRequest(action);
|
|
6917
6824
|
}
|
|
6918
6825
|
}, t(ACTION_LABEL_KEY[action]));
|
|
6919
6826
|
})), row.defaultShown === void 0 ? null : /* @__PURE__ */ (0, react.createElement)(Tip, { label: t(switchLocked ? "panels.market.defaultLocked" : "panels.market.defaultHint") }, /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketSwitchSeat }, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Switch, {
|
|
@@ -6921,44 +6828,560 @@ window.__ModuleLoader__.load({
|
|
|
6921
6828
|
disabled: boardBusy === true || locked || switchLocked,
|
|
6922
6829
|
label: `${marketRowTitle(row, t)} · ${t("panels.market.defaultLabel")}`,
|
|
6923
6830
|
onChange: (next) => onDefault?.(next)
|
|
6924
|
-
})))
|
|
6831
|
+
}))), migrationOpen ? /* @__PURE__ */ (0, react.createElement)(MigrationConfirm, {
|
|
6832
|
+
t,
|
|
6833
|
+
onCancel: () => setMigrationOpen(false),
|
|
6834
|
+
onConfirm: () => {
|
|
6835
|
+
setMigrationOpen(false);
|
|
6836
|
+
onRequest("migrate-workbench");
|
|
6837
|
+
}
|
|
6838
|
+
}) : null, dismissOpen ? /* @__PURE__ */ (0, react.createElement)(DismissFollowUpConfirm, {
|
|
6839
|
+
t,
|
|
6840
|
+
onCancel: () => setDismissOpen(false),
|
|
6841
|
+
onConfirm: () => {
|
|
6842
|
+
setDismissOpen(false);
|
|
6843
|
+
onRequest("dismiss-followup");
|
|
6844
|
+
}
|
|
6845
|
+
}) : null);
|
|
6846
|
+
}
|
|
6847
|
+
function MarketLine({ t, row, pending, failure, onAct, onDefault, onOpenDetail, boardBusy, onRecheck, rechecking }) {
|
|
6848
|
+
const title = marketRowTitle(row, t);
|
|
6849
|
+
const quiet = row.workbench === true && row.state === "installed" && row.hint === void 0;
|
|
6850
|
+
const clickable = row.pkg !== void 0 && onOpenDetail !== void 0;
|
|
6851
|
+
return /* @__PURE__ */ (0, react.createElement)("li", {
|
|
6852
|
+
className: MarketPage_module_default.marketRow,
|
|
6853
|
+
"data-open": clickable ? "true" : void 0
|
|
6854
|
+
}, /* @__PURE__ */ (0, react.createElement)("span", {
|
|
6855
|
+
className: MarketPage_module_default.marketIcon,
|
|
6856
|
+
"aria-hidden": "true"
|
|
6857
|
+
}, packageIcon(marketRowKind(row))), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketMain }, /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketName }, clickable ? /* @__PURE__ */ (0, react.createElement)("button", {
|
|
6858
|
+
type: "button",
|
|
6859
|
+
className: MarketPage_module_default.marketNameOpen,
|
|
6860
|
+
"aria-label": t("panels.market.openDetail", { name: title }),
|
|
6861
|
+
onClick: () => onOpenDetail?.(row.id)
|
|
6862
|
+
}, title) : title, row.versionLabel === void 0 ? null : /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketVersion }, row.versionLabel), row.version === void 0 || row.versionLabel !== void 0 ? null : /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketVersion }, row.version.installed !== void 0 && row.version.latest !== void 0 && row.version.installed !== row.version.latest ? t("panels.market.versionArrow", {
|
|
6863
|
+
from: row.version.installed,
|
|
6864
|
+
to: row.version.latest
|
|
6865
|
+
}) : row.version.installed ?? row.version.latest ?? ""), row.local === true ? /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketLocalTag }, t("panels.market.localMark")) : null), /* @__PURE__ */ (0, react.createElement)(MarketLineStatus, {
|
|
6866
|
+
t,
|
|
6867
|
+
row,
|
|
6868
|
+
quiet
|
|
6869
|
+
})), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketEnd }, /* @__PURE__ */ (0, react.createElement)(MarketRowControls, {
|
|
6870
|
+
t,
|
|
6871
|
+
row,
|
|
6872
|
+
pending,
|
|
6873
|
+
boardBusy,
|
|
6874
|
+
onDefault: (next) => onDefault?.(next),
|
|
6875
|
+
onRequest: (action) => onAct(action)
|
|
6876
|
+
})), /* @__PURE__ */ (0, react.createElement)(MarketRowFailure, {
|
|
6877
|
+
t,
|
|
6878
|
+
failure,
|
|
6879
|
+
onRecheck,
|
|
6880
|
+
rechecking
|
|
6881
|
+
}));
|
|
6882
|
+
}
|
|
6883
|
+
function MarketSection({ t, titleKey, icon, rows, pending, failureOf, act, confirmActions, onConfirming, onDefault, onOpenDetail, boardBusy, headAction, keepHead, onRecheck, rechecking }) {
|
|
6884
|
+
if (rows.length === 0 && keepHead !== true) return null;
|
|
6885
|
+
const request = (id, action) => {
|
|
6886
|
+
if (confirmActions.includes(action)) onConfirming(id);
|
|
6887
|
+
else act(id, action);
|
|
6888
|
+
};
|
|
6889
|
+
return /* @__PURE__ */ (0, react.createElement)("section", { className: MarketPage_module_default.marketSection }, titleKey === void 0 ? null : /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketSectionHead }, /* @__PURE__ */ (0, react.createElement)("span", {
|
|
6890
|
+
className: MarketPage_module_default.marketSectionIcon,
|
|
6891
|
+
"aria-hidden": "true"
|
|
6892
|
+
}, icon), /* @__PURE__ */ (0, react.createElement)("h2", { className: MarketPage_module_default.marketSectionTitle }, t(titleKey)), /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketSectionCount }, rows.length), headAction === void 0 ? null : /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketSectionAction }, headAction)), rows.length === 0 ? null : /* @__PURE__ */ (0, react.createElement)("ul", { className: MarketPage_module_default.marketList }, rows.map((row) => /* @__PURE__ */ (0, react.createElement)(MarketLine, {
|
|
6893
|
+
key: row.id,
|
|
6894
|
+
t,
|
|
6895
|
+
row,
|
|
6896
|
+
pending,
|
|
6897
|
+
failure: failureOf(row.id),
|
|
6898
|
+
onAct: (action) => request(row.id, action),
|
|
6899
|
+
onDefault: (next) => onDefault?.(row.id, next),
|
|
6900
|
+
onOpenDetail,
|
|
6901
|
+
boardBusy,
|
|
6902
|
+
onRecheck,
|
|
6903
|
+
rechecking
|
|
6904
|
+
}))));
|
|
6905
|
+
}
|
|
6906
|
+
//#endregion
|
|
6907
|
+
//#region src/app/layouts/rightbar/market-section-icon.ts
|
|
6908
|
+
var SIZE = 14;
|
|
6909
|
+
function marketSectionIcon(kind) {
|
|
6910
|
+
switch (kind) {
|
|
6911
|
+
case "installed": return (0, react.createElement)(IconModules, { size: SIZE });
|
|
6912
|
+
case "pending": return (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconDownloadOutlineRegular, { size: SIZE });
|
|
6913
|
+
case "plugins": return (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconCordisPluginOutlineRegular, { size: SIZE });
|
|
6914
|
+
case "shared": return (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconLinkOutlineRegular, { size: SIZE });
|
|
6915
|
+
}
|
|
6916
|
+
}
|
|
6917
|
+
//#endregion
|
|
6918
|
+
//#region src/app/layouts/rightbar/SharedSection.tsx
|
|
6919
|
+
function SharedLine({ t, row, pending, failure, onAct, onRecheck, rechecking }) {
|
|
6920
|
+
const running = pending !== null && pending.id === row.id ? pending : null;
|
|
6921
|
+
const locked = pending !== null;
|
|
6922
|
+
const actions = sharedActions(row);
|
|
6923
|
+
const stateText = t(SHARED_STATE_KEY[row.state]);
|
|
6924
|
+
const version = row.version;
|
|
6925
|
+
const name = /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketName }, row.label, version === void 0 ? null : /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketVersion }, version.installed !== void 0 && version.latest !== void 0 && version.installed !== version.latest ? t("panels.market.versionArrow", {
|
|
6926
|
+
from: version.installed,
|
|
6927
|
+
to: version.latest
|
|
6928
|
+
}) : version.installed ?? version.latest ?? ""));
|
|
6929
|
+
return /* @__PURE__ */ (0, react.createElement)("li", { className: MarketPage_module_default.marketRow }, /* @__PURE__ */ (0, react.createElement)("span", {
|
|
6930
|
+
className: MarketPage_module_default.marketIcon,
|
|
6931
|
+
"aria-hidden": "true"
|
|
6932
|
+
}, packageIcon(sharedRowKind(row))), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketMain }, name, /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketStatus }, row.state === "checking" ? /* @__PURE__ */ (0, react.createElement)(Spinner, { size: 14 }) : null, /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketStateText }, stateText), /* @__PURE__ */ (0, react.createElement)("span", {
|
|
6933
|
+
className: MarketPage_module_default.marketSep,
|
|
6934
|
+
"aria-hidden": "true"
|
|
6935
|
+
}, "·"), /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketReason }, t("panels.market.sharedUsedBy", { modules: row.usedByKeys.map((key) => t(key)).join(t("panels.market.listSeparator")) })))), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketEnd }, running !== null ? /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketProgress }, /* @__PURE__ */ (0, react.createElement)(Spinner, { size: 14 }), t(PROGRESS_KEY[running.action])) : actions.length === 0 ? null : /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketActions }, actions.map((action) => /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
6936
|
+
key: action,
|
|
6937
|
+
type: "button",
|
|
6938
|
+
size: "sm",
|
|
6939
|
+
variant: "outline",
|
|
6940
|
+
disabled: locked,
|
|
6941
|
+
onClick: () => onAct(action)
|
|
6942
|
+
}, 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, {
|
|
6943
|
+
t,
|
|
6944
|
+
model: failureCardOf(failure.failure, t),
|
|
6945
|
+
onRecheck,
|
|
6946
|
+
rechecking
|
|
6947
|
+
})));
|
|
6948
|
+
}
|
|
6949
|
+
function SharedSection({ t, rows, pending, failureOf, act, onRecheck, rechecking }) {
|
|
6950
|
+
if (rows.length === 0) return null;
|
|
6951
|
+
return /* @__PURE__ */ (0, react.createElement)("section", { className: `${MarketPage_module_default.marketSection} ${MarketPage_module_default.marketSectionQuiet}` }, /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketSectionHead }, /* @__PURE__ */ (0, react.createElement)("span", {
|
|
6952
|
+
className: MarketPage_module_default.marketSectionIcon,
|
|
6953
|
+
"aria-hidden": "true"
|
|
6954
|
+
}, marketSectionIcon("shared")), /* @__PURE__ */ (0, react.createElement)("h2", { className: MarketPage_module_default.marketSectionTitle }, t("panels.market.sectionShared")), /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketSectionCount }, rows.length)), /* @__PURE__ */ (0, react.createElement)("ul", { className: MarketPage_module_default.marketList }, rows.map((row) => /* @__PURE__ */ (0, react.createElement)(SharedLine, {
|
|
6955
|
+
key: row.id,
|
|
6956
|
+
t,
|
|
6957
|
+
row,
|
|
6958
|
+
pending,
|
|
6959
|
+
failure: failureOf(row.id),
|
|
6960
|
+
onAct: (action) => void act(row.id, action),
|
|
6961
|
+
onRecheck,
|
|
6962
|
+
rechecking
|
|
6963
|
+
}))));
|
|
6964
|
+
}
|
|
6965
|
+
var PanelFoot_module_default = {
|
|
6966
|
+
foot: "_foot_1ud1j_1",
|
|
6967
|
+
footText: "_footText_1ud1j_13",
|
|
6968
|
+
footTextMd: "_footTextMd_1ud1j_18"
|
|
6969
|
+
};
|
|
6970
|
+
//#endregion
|
|
6971
|
+
//#region src/shared/components/PanelFoot.tsx
|
|
6972
|
+
function PanelFoot({ text, size = "sm", children }) {
|
|
6973
|
+
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);
|
|
6974
|
+
}
|
|
6975
|
+
//#endregion
|
|
6976
|
+
//#region src/app/layouts/rightbar/market-body.tsx
|
|
6977
|
+
var CONFIRM_UNINSTALL = [
|
|
6978
|
+
"uninstall",
|
|
6979
|
+
"remove-bundle",
|
|
6980
|
+
"uninstall-plugin"
|
|
6981
|
+
];
|
|
6982
|
+
var NO_ROWS = [];
|
|
6983
|
+
function MarketBody({ t, self, shown, pluginList, installedList, shared, pending, failed, notice, act, onConfirming, setDefault, boardBusy, checks, onRecheck, rechecking, runtimePluginMarket, onOpenDetail }) {
|
|
6984
|
+
const failureOf = (id) => failed?.id === id ? failed : null;
|
|
6985
|
+
const foot = marketFootVisible(shown, installedList);
|
|
6986
|
+
const sections = marketSections(marketOrder([...shown, ...installedList], (row) => marketRowTitle(row, t)));
|
|
6987
|
+
const installed = sections.find((section) => section.id === "installed");
|
|
6988
|
+
const pendingSection = sections.find((section) => section.id === "not-installed");
|
|
6989
|
+
return /* @__PURE__ */ (0, react.createElement)(react.Fragment, null, notice === null ? null : /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketNote }, notice), /* @__PURE__ */ (0, react.createElement)(MarketSection, {
|
|
6990
|
+
t,
|
|
6991
|
+
rows: self === void 0 ? [] : [self],
|
|
6992
|
+
onDefault: setDefault,
|
|
6993
|
+
boardBusy,
|
|
6994
|
+
pending,
|
|
6995
|
+
failureOf,
|
|
6996
|
+
act,
|
|
6997
|
+
confirmActions: CONFIRM_UNINSTALL,
|
|
6998
|
+
onConfirming,
|
|
6999
|
+
onOpenDetail,
|
|
7000
|
+
onRecheck,
|
|
7001
|
+
rechecking
|
|
7002
|
+
}), self === void 0 ? null : /* @__PURE__ */ (0, react.createElement)("div", {
|
|
7003
|
+
className: MarketPage_module_default.marketSelfDivider,
|
|
7004
|
+
"aria-hidden": "true"
|
|
7005
|
+
}), /* @__PURE__ */ (0, react.createElement)(MarketSection, {
|
|
7006
|
+
t,
|
|
7007
|
+
titleKey: "panels.market.sectionInstalled",
|
|
7008
|
+
icon: marketSectionIcon("installed"),
|
|
7009
|
+
rows: installed?.rows ?? NO_ROWS,
|
|
7010
|
+
keepHead: true,
|
|
7011
|
+
headAction: checks.modules,
|
|
7012
|
+
onDefault: setDefault,
|
|
7013
|
+
boardBusy,
|
|
7014
|
+
pending,
|
|
7015
|
+
failureOf,
|
|
7016
|
+
act,
|
|
7017
|
+
confirmActions: CONFIRM_UNINSTALL,
|
|
7018
|
+
onConfirming,
|
|
7019
|
+
onOpenDetail,
|
|
7020
|
+
onRecheck,
|
|
7021
|
+
rechecking
|
|
7022
|
+
}), pendingSection === void 0 ? null : /* @__PURE__ */ (0, react.createElement)(MarketSection, {
|
|
7023
|
+
t,
|
|
7024
|
+
titleKey: pendingSection.titleKey,
|
|
7025
|
+
icon: marketSectionIcon("pending"),
|
|
7026
|
+
rows: pendingSection.rows,
|
|
7027
|
+
onDefault: setDefault,
|
|
7028
|
+
boardBusy,
|
|
7029
|
+
pending,
|
|
7030
|
+
failureOf,
|
|
7031
|
+
act,
|
|
7032
|
+
confirmActions: CONFIRM_UNINSTALL,
|
|
7033
|
+
onConfirming,
|
|
7034
|
+
onOpenDetail,
|
|
7035
|
+
onRecheck,
|
|
7036
|
+
rechecking
|
|
7037
|
+
}), runtimePluginMarket === false ? null : /* @__PURE__ */ (0, react.createElement)(MarketSection, {
|
|
7038
|
+
t,
|
|
7039
|
+
titleKey: "panels.market.sectionPlugins",
|
|
7040
|
+
icon: marketSectionIcon("plugins"),
|
|
7041
|
+
rows: pluginList,
|
|
7042
|
+
headAction: checks.plugins,
|
|
7043
|
+
onDefault: setDefault,
|
|
7044
|
+
boardBusy,
|
|
7045
|
+
pending,
|
|
7046
|
+
failureOf,
|
|
7047
|
+
act,
|
|
7048
|
+
confirmActions: CONFIRM_UNINSTALL,
|
|
7049
|
+
onConfirming,
|
|
7050
|
+
onOpenDetail,
|
|
7051
|
+
onRecheck,
|
|
7052
|
+
rechecking
|
|
7053
|
+
}), foot ? /* @__PURE__ */ (0, react.createElement)(PanelFoot, {
|
|
7054
|
+
size: "md",
|
|
7055
|
+
text: t("panels.market.foot")
|
|
7056
|
+
}) : null, /* @__PURE__ */ (0, react.createElement)(SharedSection, {
|
|
7057
|
+
t,
|
|
7058
|
+
rows: shared,
|
|
7059
|
+
pending,
|
|
7060
|
+
failureOf,
|
|
7061
|
+
act,
|
|
7062
|
+
onRecheck,
|
|
7063
|
+
rechecking
|
|
7064
|
+
}));
|
|
7065
|
+
}
|
|
7066
|
+
//#endregion
|
|
7067
|
+
//#region src/app/layouts/market/discover-states.tsx
|
|
7068
|
+
function DiscoverSkeleton({ label }) {
|
|
7069
|
+
return /* @__PURE__ */ (0, react.createElement)("ul", {
|
|
7070
|
+
className: MarketPage_module_default.discoverList,
|
|
7071
|
+
role: "status",
|
|
7072
|
+
"aria-label": label,
|
|
7073
|
+
"aria-busy": "true"
|
|
7074
|
+
}, [
|
|
7075
|
+
0,
|
|
7076
|
+
1,
|
|
7077
|
+
2,
|
|
7078
|
+
3
|
|
7079
|
+
].map((index) => /* @__PURE__ */ (0, react.createElement)("li", {
|
|
7080
|
+
key: String(index),
|
|
7081
|
+
className: MarketPage_module_default.discoverCard,
|
|
7082
|
+
"aria-hidden": "true"
|
|
7083
|
+
}, /* @__PURE__ */ (0, react.createElement)("span", { className: `${MarketPage_module_default.discoverArtwork} ${MarketPage_module_default.discoverSkeletonFill}` }), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.discoverMain }, /* @__PURE__ */ (0, react.createElement)("span", { className: `${MarketPage_module_default.discoverSkeletonBar} ${MarketPage_module_default.discoverSkeletonTitle} ${MarketPage_module_default.discoverSkeletonFill}` }), /* @__PURE__ */ (0, react.createElement)("span", { className: `${MarketPage_module_default.discoverSkeletonBar} ${MarketPage_module_default.discoverSkeletonDesc} ${MarketPage_module_default.discoverSkeletonFill}` })))));
|
|
7084
|
+
}
|
|
7085
|
+
function DiscoverEmptyText({ text }) {
|
|
7086
|
+
return /* @__PURE__ */ (0, react.createElement)("p", { className: MarketPage_module_default.discoverMuted }, text);
|
|
7087
|
+
}
|
|
7088
|
+
function DiscoverLoading({ label }) {
|
|
7089
|
+
return /* @__PURE__ */ (0, react.createElement)("p", {
|
|
7090
|
+
className: MarketPage_module_default.discoverLoading,
|
|
7091
|
+
role: "status",
|
|
7092
|
+
"aria-live": "polite"
|
|
7093
|
+
}, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.StateDot, { state: "ongoing" }), label);
|
|
7094
|
+
}
|
|
7095
|
+
function DiscoverFailure({ t, text, onRetry }) {
|
|
7096
|
+
return /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.discoverFailure }, /* @__PURE__ */ (0, react.createElement)("p", {
|
|
7097
|
+
className: MarketPage_module_default.discoverError,
|
|
7098
|
+
role: "alert"
|
|
7099
|
+
}, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.StateDot, { state: "error" }), text), /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
7100
|
+
type: "button",
|
|
7101
|
+
size: "sm",
|
|
7102
|
+
variant: "outline",
|
|
7103
|
+
onClick: onRetry
|
|
7104
|
+
}, t("panels.discover.retry")));
|
|
7105
|
+
}
|
|
7106
|
+
function DiscoverUninitialized({ t, path, empty, onInit }) {
|
|
7107
|
+
return /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.discoverEmpty }, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.PluginArtworkDefault, { size: 48 }), /* @__PURE__ */ (0, react.createElement)("p", { className: MarketPage_module_default.discoverEmptyTitle }, t("panels.discover.initTitle")), /* @__PURE__ */ (0, react.createElement)("p", { className: MarketPage_module_default.discoverMuted }, empty ? t("panels.discover.emptyRepo") : t("panels.discover.missingIndex", { path })), /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
7108
|
+
type: "button",
|
|
7109
|
+
size: "sm",
|
|
7110
|
+
variant: "primary",
|
|
7111
|
+
onClick: onInit
|
|
7112
|
+
}, t("panels.discover.initCta")));
|
|
7113
|
+
}
|
|
7114
|
+
function DiscoverNoSource({ t, onAdd }) {
|
|
7115
|
+
return /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.discoverEmpty }, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.PluginArtworkDefault, { size: 48 }), /* @__PURE__ */ (0, react.createElement)("p", { className: MarketPage_module_default.discoverEmptyTitle }, t("panels.discover.noSource")), /* @__PURE__ */ (0, react.createElement)("p", { className: MarketPage_module_default.discoverMuted }, t("panels.discover.noSourceHint")), /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
7116
|
+
type: "button",
|
|
7117
|
+
size: "sm",
|
|
7118
|
+
variant: "primary",
|
|
7119
|
+
icon: /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconPlusOutlineRegular, { size: 13 }),
|
|
7120
|
+
onClick: onAdd
|
|
7121
|
+
}, t("panels.discover.addFirstSource")));
|
|
7122
|
+
}
|
|
7123
|
+
function DiscoverReadFailure({ t, text, auth, onRetry }) {
|
|
7124
|
+
return /* @__PURE__ */ (0, react.createElement)(react.Fragment, null, /* @__PURE__ */ (0, react.createElement)(DiscoverFailure, {
|
|
7125
|
+
t,
|
|
7126
|
+
text,
|
|
7127
|
+
onRetry
|
|
7128
|
+
}), auth ? /* @__PURE__ */ (0, react.createElement)("p", {
|
|
7129
|
+
className: MarketPage_module_default.discoverNotice,
|
|
7130
|
+
role: "note"
|
|
7131
|
+
}, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconWarningOutlineRegular, {
|
|
7132
|
+
size: 14,
|
|
7133
|
+
"aria-hidden": "true"
|
|
7134
|
+
}), /* @__PURE__ */ (0, react.createElement)("span", null, t("panels.discover.sourceAuth"))) : null);
|
|
7135
|
+
}
|
|
7136
|
+
//#endregion
|
|
7137
|
+
//#region src/app/layouts/rightbar/MarketStates.tsx
|
|
7138
|
+
function MarketChecking({ t }) {
|
|
7139
|
+
return /* @__PURE__ */ (0, react.createElement)(DiscoverSkeleton, { label: t("panels.market.checking") });
|
|
7140
|
+
}
|
|
7141
|
+
function MarketEmpty({ t }) {
|
|
7142
|
+
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")));
|
|
7143
|
+
}
|
|
7144
|
+
//#endregion
|
|
7145
|
+
//#region src/app/layouts/rightbar/market-detail-facts.ts
|
|
7146
|
+
var DIRECT_SOURCE = /^(?:git\+|git:|github:|gitlab:|bitbucket:|https?:|ssh:|file:|link:|workspace:|\.{0,2}\/|\/)/i;
|
|
7147
|
+
function isDirectSourceSpec(spec) {
|
|
7148
|
+
return DIRECT_SOURCE.test(spec.trim());
|
|
7149
|
+
}
|
|
7150
|
+
function localPathOf(row) {
|
|
7151
|
+
const spec = row.spec?.trim() ?? "";
|
|
7152
|
+
const prefixed = /^(?:link:|file:)(.+)$/i.exec(spec)?.[1]?.trim() ?? "";
|
|
7153
|
+
if (prefixed !== "") return prefixed;
|
|
7154
|
+
if (/^(?:\.{0,2}\/|\/)/.test(spec)) return spec;
|
|
7155
|
+
if (row.plugin === true && row.local === true) {
|
|
7156
|
+
const path = row.pkg?.trim() ?? "";
|
|
7157
|
+
if (path !== "") return path;
|
|
7158
|
+
}
|
|
7159
|
+
}
|
|
7160
|
+
function installSourceOf(row, t) {
|
|
7161
|
+
if (row.local === true) {
|
|
7162
|
+
const path = localPathOf(row);
|
|
7163
|
+
if (path !== void 0) return {
|
|
7164
|
+
text: path,
|
|
7165
|
+
code: false
|
|
7166
|
+
};
|
|
7167
|
+
return {
|
|
7168
|
+
text: t("panels.market.detailLocalDirectory"),
|
|
7169
|
+
code: false
|
|
7170
|
+
};
|
|
7171
|
+
}
|
|
7172
|
+
const spec = row.spec?.trim() ?? "";
|
|
7173
|
+
if (spec !== "" && isDirectSourceSpec(spec)) return {
|
|
7174
|
+
text: spec,
|
|
7175
|
+
code: true
|
|
7176
|
+
};
|
|
7177
|
+
const registry = row.registry?.trim() ?? "";
|
|
7178
|
+
if (registry !== "") return {
|
|
7179
|
+
text: registry,
|
|
7180
|
+
code: true
|
|
7181
|
+
};
|
|
7182
|
+
return {
|
|
7183
|
+
text: t("panels.market.detailUnknown"),
|
|
7184
|
+
code: false
|
|
7185
|
+
};
|
|
7186
|
+
}
|
|
7187
|
+
function marketDetailFacts(row, t) {
|
|
7188
|
+
const facts = [];
|
|
7189
|
+
const add = (labelKey, value, code = false) => {
|
|
7190
|
+
if (value === void 0 || value.trim() === "") return;
|
|
7191
|
+
facts.push({
|
|
7192
|
+
labelKey,
|
|
7193
|
+
value,
|
|
7194
|
+
...code ? { code: true } : {}
|
|
7195
|
+
});
|
|
7196
|
+
};
|
|
7197
|
+
const source = installSourceOf(row, t);
|
|
7198
|
+
add("panels.market.detailSource", source.text, source.code);
|
|
7199
|
+
if (row.plugin === true) {
|
|
7200
|
+
add("panels.market.detailPluginName", row.label !== void 0 && row.label !== row.pkg ? row.label : void 0);
|
|
7201
|
+
add("panels.market.detailRegistry", row.registry !== void 0 && source.text !== row.registry ? row.registry : void 0, true);
|
|
7202
|
+
add("panels.market.detailInstalledAt", row.installedAt === void 0 ? void 0 : row.installedAt.slice(0, 10));
|
|
7203
|
+
} else {
|
|
7204
|
+
add("panels.market.detailRegistry", row.registry !== void 0 && source.text !== row.registry ? row.registry : void 0, true);
|
|
7205
|
+
add("panels.market.detailSpec", row.spec !== void 0 && source.text !== row.spec ? row.spec : void 0, true);
|
|
7206
|
+
add("panels.market.detailUnit", row.workbench === true ? void 0 : row.id, true);
|
|
7207
|
+
}
|
|
7208
|
+
add("panels.market.detailVersion", row.version?.installed);
|
|
7209
|
+
add("panels.market.detailLatest", row.version?.latest !== void 0 && row.version.latest !== row.version.installed ? row.version.latest : void 0);
|
|
7210
|
+
if (row.market !== void 0) {
|
|
7211
|
+
add("panels.market.detailMarket", row.market.sourceLabel);
|
|
7212
|
+
if (row.market.source.type === "git") {
|
|
7213
|
+
add("panels.market.detailRepository", row.market.source.url);
|
|
7214
|
+
add("panels.market.detailCommit", row.market.source.commit, true);
|
|
7215
|
+
add("panels.market.detailDirectory", row.market.source.path, true);
|
|
7216
|
+
}
|
|
7217
|
+
if (row.pkg !== void 0) {
|
|
7218
|
+
add("panels.market.detailUpdateSource", marketInstallTarget(row.pkg, row.market.version, row.market.source).spec, true);
|
|
7219
|
+
add("panels.market.detailUpdateVersion", row.version?.latest === row.market.version ? void 0 : row.market.version);
|
|
7220
|
+
}
|
|
7221
|
+
}
|
|
7222
|
+
return facts;
|
|
7223
|
+
}
|
|
7224
|
+
//#endregion
|
|
7225
|
+
//#region src/app/layouts/rightbar/market-detail.tsx
|
|
7226
|
+
var STATE_TONE = {
|
|
7227
|
+
checking: "neutral",
|
|
7228
|
+
installed: "success",
|
|
7229
|
+
inactive: "warning",
|
|
7230
|
+
unusable: "danger",
|
|
7231
|
+
broken: "danger",
|
|
7232
|
+
outdated: "warning",
|
|
7233
|
+
"pending-restart": "warning",
|
|
7234
|
+
"pending-followup": "warning",
|
|
7235
|
+
missing: "neutral",
|
|
7236
|
+
unchecked: "neutral",
|
|
7237
|
+
unknown: "neutral"
|
|
7238
|
+
};
|
|
7239
|
+
function MarketDetail({ t, row, pending, failure, notice, boardBusy, onBack, onRequest, onDefault, onRecheck, rechecking }) {
|
|
7240
|
+
const title = marketRowTitle(row, t);
|
|
7241
|
+
const facts = marketDetailFacts(row, t);
|
|
7242
|
+
const version = row.version?.installed;
|
|
7243
|
+
const noteText = row.note === void 0 ? null : t(row.note.key, row.note.params);
|
|
7244
|
+
return /* @__PURE__ */ (0, react.createElement)("div", {
|
|
7245
|
+
className: MarketPage_module_default.discoverDetail,
|
|
7246
|
+
"data-market-detail": row.id
|
|
7247
|
+
}, /* @__PURE__ */ (0, react.createElement)("button", {
|
|
7248
|
+
type: "button",
|
|
7249
|
+
className: MarketPage_module_default.discoverCrumb,
|
|
7250
|
+
onClick: onBack
|
|
7251
|
+
}, /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconChevronDownOutlineRegular, {
|
|
7252
|
+
className: MarketPage_module_default.discoverCrumbIcon,
|
|
7253
|
+
"aria-hidden": "true"
|
|
7254
|
+
}), /* @__PURE__ */ (0, react.createElement)("span", null, t("panels.market.detailBack"))), /* @__PURE__ */ (0, react.createElement)("div", { className: `${MarketPage_module_default.discoverDetailHead} ${MarketPage_module_default.marketDetailHead}` }, /* @__PURE__ */ (0, react.createElement)("span", {
|
|
7255
|
+
className: MarketPage_module_default.discoverArtwork,
|
|
7256
|
+
"aria-hidden": "true"
|
|
7257
|
+
}, packageIcon(marketRowKind(row))), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.discoverMain }, /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.discoverTitleRow }, /* @__PURE__ */ (0, react.createElement)("h3", { className: MarketPage_module_default.discoverDetailTitle }, title), version === void 0 ? null : /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Tag, { tone: "neutral" }, version), row.state === "installed" ? null : /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Tag, { tone: STATE_TONE[row.state] }, t(MARKET_STATE_KEY[row.state])), row.local === true ? /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Tag, { tone: "neutral" }, t("panels.market.localMark")) : null), row.pkg === void 0 ? null : /* @__PURE__ */ (0, react.createElement)("p", { className: MarketPage_module_default.marketDetailName }, /* @__PURE__ */ (0, react.createElement)("code", null, row.pkg))), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketDetailEnd }, /* @__PURE__ */ (0, react.createElement)(MarketRowControls, {
|
|
7258
|
+
t,
|
|
7259
|
+
row,
|
|
7260
|
+
pending,
|
|
7261
|
+
boardBusy,
|
|
7262
|
+
onRequest,
|
|
7263
|
+
onDefault
|
|
7264
|
+
}))), notice === null ? null : /* @__PURE__ */ (0, react.createElement)("p", { className: MarketPage_module_default.discoverDetailText }, notice), /* @__PURE__ */ (0, react.createElement)(MarketRowFailure, {
|
|
7265
|
+
t,
|
|
7266
|
+
failure,
|
|
7267
|
+
onRecheck,
|
|
7268
|
+
rechecking
|
|
7269
|
+
}), row.hint === void 0 ? null : /* @__PURE__ */ (0, react.createElement)("p", { className: MarketPage_module_default.discoverMuted }, t(row.hint)), noteText === null ? null : /* @__PURE__ */ (0, react.createElement)("p", { className: row.note?.tone === "alert" ? MarketPage_module_default.discoverError : MarketPage_module_default.discoverMuted }, noteText), facts.length === 0 ? null : /* @__PURE__ */ (0, react.createElement)("section", { className: MarketPage_module_default.discoverSection }, /* @__PURE__ */ (0, react.createElement)("h4", { className: MarketPage_module_default.discoverSectionTitle }, t("panels.market.detailSourceTitle")), /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.discoverFacts }, facts.map((fact) => /* @__PURE__ */ (0, react.createElement)("div", {
|
|
7270
|
+
key: `${fact.labelKey}:${fact.value}`,
|
|
7271
|
+
className: MarketPage_module_default.discoverFactRow
|
|
7272
|
+
}, /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.discoverFactKind }, t(fact.labelKey)), /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.discoverFactValue }, fact.code === true ? /* @__PURE__ */ (0, react.createElement)("code", { className: MarketPage_module_default.discoverCode }, fact.value) : fact.value))))));
|
|
7273
|
+
}
|
|
7274
|
+
//#endregion
|
|
7275
|
+
//#region src/app/layouts/rightbar/market-uninstall.tsx
|
|
7276
|
+
function ConfirmUninstall({ t, name, onConfirm, onCancel }) {
|
|
7277
|
+
const [acknowledged, setAcknowledged] = (0, react.useState)(false);
|
|
7278
|
+
return /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.RiskConfirmation, {
|
|
7279
|
+
open: name !== null,
|
|
7280
|
+
title: t("panels.market.confirmUninstallTitle", { name: name ?? "" }),
|
|
7281
|
+
description: t("panels.market.confirmUninstallDetail"),
|
|
7282
|
+
acknowledgeLabel: t("panels.market.confirmUninstallAck"),
|
|
7283
|
+
cancelLabel: t("panels.market.confirmNo"),
|
|
7284
|
+
closeLabel: t("panels.market.confirmNo"),
|
|
7285
|
+
confirmLabel: t("panels.market.confirmYes"),
|
|
7286
|
+
acknowledged,
|
|
7287
|
+
onAcknowledgedChange: setAcknowledged,
|
|
7288
|
+
onCancel,
|
|
7289
|
+
onConfirm
|
|
7290
|
+
});
|
|
7291
|
+
}
|
|
7292
|
+
function UninstallConfirm({ t, confirming, row, onClose, act, rowById }) {
|
|
7293
|
+
return /* @__PURE__ */ (0, react.createElement)(ConfirmUninstall, {
|
|
7294
|
+
key: confirming ?? "",
|
|
6925
7295
|
t,
|
|
7296
|
+
name: row === void 0 ? null : marketRowTitle(row, t),
|
|
7297
|
+
onCancel: onClose,
|
|
7298
|
+
onConfirm: () => {
|
|
7299
|
+
const id = confirming;
|
|
7300
|
+
onClose();
|
|
7301
|
+
if (id === null) return;
|
|
7302
|
+
const target = rowById.get(id);
|
|
7303
|
+
act(id, target?.plugin === true ? "uninstall-plugin" : target?.removeViaBundle === true ? "remove-bundle" : "uninstall");
|
|
7304
|
+
}
|
|
7305
|
+
});
|
|
7306
|
+
}
|
|
7307
|
+
//#endregion
|
|
7308
|
+
//#region src/app/layouts/rightbar/market-detail-page.tsx
|
|
7309
|
+
var CONFIRM_ACTIONS = [
|
|
7310
|
+
"uninstall",
|
|
7311
|
+
"remove-bundle",
|
|
7312
|
+
"uninstall-plugin"
|
|
7313
|
+
];
|
|
7314
|
+
function MarketDetailPage({ t, row, pending, failure, notice, boardBusy, confirming, confirmingRow, rowById, onBack, onConfirming, onDefault, onAct, onRecheck, rechecking }) {
|
|
7315
|
+
return /* @__PURE__ */ (0, react.createElement)(react.Fragment, null, /* @__PURE__ */ (0, react.createElement)(MarketDetail, {
|
|
7316
|
+
t,
|
|
7317
|
+
row,
|
|
7318
|
+
pending,
|
|
6926
7319
|
failure,
|
|
7320
|
+
notice,
|
|
7321
|
+
boardBusy,
|
|
7322
|
+
onBack,
|
|
7323
|
+
onRequest: (action) => CONFIRM_ACTIONS.includes(action) ? onConfirming(row.id) : void onAct(row.id, action),
|
|
7324
|
+
onDefault: (next) => void onDefault(row.id, next),
|
|
6927
7325
|
onRecheck,
|
|
6928
7326
|
rechecking
|
|
6929
|
-
}), /* @__PURE__ */ (0, react.createElement)(
|
|
7327
|
+
}), /* @__PURE__ */ (0, react.createElement)(UninstallConfirm, {
|
|
6930
7328
|
t,
|
|
6931
|
-
|
|
6932
|
-
|
|
6933
|
-
|
|
6934
|
-
|
|
6935
|
-
|
|
6936
|
-
onAct("migrate-workbench");
|
|
6937
|
-
},
|
|
6938
|
-
onDismissCancel: () => setDismissOpen(false),
|
|
6939
|
-
onDismissConfirm: () => {
|
|
6940
|
-
setDismissOpen(false);
|
|
6941
|
-
onAct("dismiss-followup");
|
|
6942
|
-
}
|
|
7329
|
+
confirming,
|
|
7330
|
+
row: confirmingRow,
|
|
7331
|
+
onClose: () => onConfirming(null),
|
|
7332
|
+
act: onAct,
|
|
7333
|
+
rowById
|
|
6943
7334
|
}));
|
|
6944
7335
|
}
|
|
6945
|
-
|
|
6946
|
-
|
|
6947
|
-
|
|
6948
|
-
|
|
6949
|
-
"aria-hidden": "true"
|
|
6950
|
-
}, icon), /* @__PURE__ */ (0, react.createElement)("h2", { className: MarketPage_module_default.marketSectionTitle }, t(titleKey)), /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketSectionCount }, rows.length), headAction === void 0 ? null : /* @__PURE__ */ (0, react.createElement)("span", { className: MarketPage_module_default.marketSectionAction }, headAction)), rows.length === 0 ? null : /* @__PURE__ */ (0, react.createElement)("ul", { className: MarketPage_module_default.marketList }, rows.map((row) => /* @__PURE__ */ (0, react.createElement)(MarketLine, {
|
|
6951
|
-
key: row.id,
|
|
7336
|
+
//#endregion
|
|
7337
|
+
//#region src/app/layouts/rightbar/market-scene-view.tsx
|
|
7338
|
+
function MarketSceneView({ t, runtimePluginMarket, self, shown, pluginList, installedList, shared, pending, failed, notice, act, onConfirming, setDefault, boardBusy, checks, onRecheck, rechecking, onOpenDetail, detailRow, confirming, confirmingRow, rowById, settled, nothing, settlingSize, onBack }) {
|
|
7339
|
+
if (detailRow !== void 0) return /* @__PURE__ */ (0, react.createElement)(MarketDetailPage, {
|
|
6952
7340
|
t,
|
|
6953
|
-
row,
|
|
7341
|
+
row: detailRow,
|
|
6954
7342
|
pending,
|
|
6955
|
-
failure:
|
|
6956
|
-
|
|
6957
|
-
onDefault: (next) => onDefault?.(row.id, next),
|
|
7343
|
+
failure: failed?.id === detailRow.id ? failed : null,
|
|
7344
|
+
notice,
|
|
6958
7345
|
boardBusy,
|
|
7346
|
+
confirming,
|
|
7347
|
+
confirmingRow,
|
|
7348
|
+
rowById,
|
|
7349
|
+
onBack,
|
|
7350
|
+
onConfirming,
|
|
7351
|
+
onDefault: setDefault,
|
|
7352
|
+
onAct: act,
|
|
6959
7353
|
onRecheck,
|
|
6960
7354
|
rechecking
|
|
6961
|
-
})
|
|
7355
|
+
});
|
|
7356
|
+
if (!settled || settlingSize > 0 && shown.length === 0 && installedList.length === 0) return /* @__PURE__ */ (0, react.createElement)(MarketChecking, { t });
|
|
7357
|
+
if (nothing) return /* @__PURE__ */ (0, react.createElement)(MarketEmpty, { t });
|
|
7358
|
+
return /* @__PURE__ */ (0, react.createElement)(react.Fragment, null, /* @__PURE__ */ (0, react.createElement)(MarketBody, {
|
|
7359
|
+
t,
|
|
7360
|
+
runtimePluginMarket,
|
|
7361
|
+
self,
|
|
7362
|
+
shown,
|
|
7363
|
+
pluginList,
|
|
7364
|
+
installedList,
|
|
7365
|
+
shared,
|
|
7366
|
+
pending,
|
|
7367
|
+
failed,
|
|
7368
|
+
notice,
|
|
7369
|
+
act,
|
|
7370
|
+
onConfirming,
|
|
7371
|
+
setDefault,
|
|
7372
|
+
boardBusy,
|
|
7373
|
+
checks,
|
|
7374
|
+
onRecheck,
|
|
7375
|
+
rechecking,
|
|
7376
|
+
onOpenDetail
|
|
7377
|
+
}), /* @__PURE__ */ (0, react.createElement)(UninstallConfirm, {
|
|
7378
|
+
t,
|
|
7379
|
+
confirming,
|
|
7380
|
+
row: confirmingRow,
|
|
7381
|
+
onClose: () => onConfirming(null),
|
|
7382
|
+
act,
|
|
7383
|
+
rowById
|
|
7384
|
+
}));
|
|
6962
7385
|
}
|
|
6963
7386
|
//#endregion
|
|
6964
7387
|
//#region src/app/layouts/market/add-module-text.ts
|
|
@@ -7512,141 +7935,13 @@ window.__ModuleLoader__.load({
|
|
|
7512
7935
|
});
|
|
7513
7936
|
}
|
|
7514
7937
|
//#endregion
|
|
7515
|
-
//#region src/app/layouts/rightbar/market-uninstall.tsx
|
|
7516
|
-
function ConfirmUninstall({ t, name, onConfirm, onCancel }) {
|
|
7517
|
-
const [acknowledged, setAcknowledged] = (0, react.useState)(false);
|
|
7518
|
-
return /* @__PURE__ */ (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.RiskConfirmation, {
|
|
7519
|
-
open: name !== null,
|
|
7520
|
-
title: t("panels.market.confirmUninstallTitle", { name: name ?? "" }),
|
|
7521
|
-
description: t("panels.market.confirmUninstallDetail"),
|
|
7522
|
-
acknowledgeLabel: t("panels.market.confirmUninstallAck"),
|
|
7523
|
-
cancelLabel: t("panels.market.confirmNo"),
|
|
7524
|
-
closeLabel: t("panels.market.confirmNo"),
|
|
7525
|
-
confirmLabel: t("panels.market.confirmYes"),
|
|
7526
|
-
acknowledged,
|
|
7527
|
-
onAcknowledgedChange: setAcknowledged,
|
|
7528
|
-
onCancel,
|
|
7529
|
-
onConfirm
|
|
7530
|
-
});
|
|
7531
|
-
}
|
|
7532
|
-
function UninstallConfirm({ t, confirming, row, onClose, act, rowById }) {
|
|
7533
|
-
return /* @__PURE__ */ (0, react.createElement)(ConfirmUninstall, {
|
|
7534
|
-
key: confirming ?? "",
|
|
7535
|
-
t,
|
|
7536
|
-
name: row === void 0 ? null : marketRowTitle(row, t),
|
|
7537
|
-
onCancel: onClose,
|
|
7538
|
-
onConfirm: () => {
|
|
7539
|
-
const id = confirming;
|
|
7540
|
-
onClose();
|
|
7541
|
-
if (id === null) return;
|
|
7542
|
-
const target = rowById.get(id);
|
|
7543
|
-
act(id, target?.plugin === true ? "uninstall-plugin" : target?.pkg === void 0 ? "uninstall" : "remove-bundle");
|
|
7544
|
-
}
|
|
7545
|
-
});
|
|
7546
|
-
}
|
|
7547
|
-
var PanelFoot_module_default = {
|
|
7548
|
-
foot: "_foot_1ud1j_1",
|
|
7549
|
-
footText: "_footText_1ud1j_13",
|
|
7550
|
-
footTextMd: "_footTextMd_1ud1j_18"
|
|
7551
|
-
};
|
|
7552
|
-
//#endregion
|
|
7553
|
-
//#region src/shared/components/PanelFoot.tsx
|
|
7554
|
-
function PanelFoot({ text, size = "sm", children }) {
|
|
7555
|
-
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);
|
|
7556
|
-
}
|
|
7557
|
-
//#endregion
|
|
7558
7938
|
//#region src/app/layouts/rightbar/MarketView.tsx
|
|
7559
|
-
var CONFIRM_UNINSTALL = [
|
|
7560
|
-
"uninstall",
|
|
7561
|
-
"remove-bundle",
|
|
7562
|
-
"uninstall-plugin"
|
|
7563
|
-
];
|
|
7564
7939
|
var NO_CHECK = {
|
|
7565
7940
|
checking: false,
|
|
7566
7941
|
failed: false,
|
|
7567
7942
|
checkedAt: null
|
|
7568
7943
|
};
|
|
7569
|
-
var NO_ROWS = [];
|
|
7570
7944
|
var NO_UNITS$1 = /* @__PURE__ */ new Set();
|
|
7571
|
-
function MarketBody({ t, self, shown, pluginList, installedList, shared, pending, failed, notice, act, onConfirming, setDefault, boardBusy, checks, onRecheck, rechecking, runtimePluginMarket }) {
|
|
7572
|
-
const failureOf = (id) => failed?.id === id ? failed : null;
|
|
7573
|
-
const foot = marketFootVisible(shown, installedList);
|
|
7574
|
-
const sections = marketSections(marketOrder([...shown, ...installedList], (row) => marketRowTitle(row, t)));
|
|
7575
|
-
const installed = sections.find((section) => section.id === "installed");
|
|
7576
|
-
const pendingSection = sections.find((section) => section.id === "not-installed");
|
|
7577
|
-
return /* @__PURE__ */ (0, react.createElement)(react.Fragment, null, notice === null ? null : /* @__PURE__ */ (0, react.createElement)("div", { className: MarketPage_module_default.marketNote }, notice), /* @__PURE__ */ (0, react.createElement)(MarketSection, {
|
|
7578
|
-
t,
|
|
7579
|
-
rows: self === void 0 ? [] : [self],
|
|
7580
|
-
onDefault: setDefault,
|
|
7581
|
-
boardBusy,
|
|
7582
|
-
pending,
|
|
7583
|
-
failureOf,
|
|
7584
|
-
act,
|
|
7585
|
-
confirmActions: CONFIRM_UNINSTALL,
|
|
7586
|
-
onConfirming,
|
|
7587
|
-
onRecheck,
|
|
7588
|
-
rechecking
|
|
7589
|
-
}), self === void 0 ? null : /* @__PURE__ */ (0, react.createElement)("div", {
|
|
7590
|
-
className: MarketPage_module_default.marketSelfDivider,
|
|
7591
|
-
"aria-hidden": "true"
|
|
7592
|
-
}), /* @__PURE__ */ (0, react.createElement)(MarketSection, {
|
|
7593
|
-
t,
|
|
7594
|
-
titleKey: "panels.market.sectionInstalled",
|
|
7595
|
-
icon: marketSectionIcon("installed"),
|
|
7596
|
-
rows: installed?.rows ?? NO_ROWS,
|
|
7597
|
-
keepHead: true,
|
|
7598
|
-
headAction: checks.modules,
|
|
7599
|
-
onDefault: setDefault,
|
|
7600
|
-
boardBusy,
|
|
7601
|
-
pending,
|
|
7602
|
-
failureOf,
|
|
7603
|
-
act,
|
|
7604
|
-
confirmActions: CONFIRM_UNINSTALL,
|
|
7605
|
-
onConfirming,
|
|
7606
|
-
onRecheck,
|
|
7607
|
-
rechecking
|
|
7608
|
-
}), pendingSection === void 0 ? null : /* @__PURE__ */ (0, react.createElement)(MarketSection, {
|
|
7609
|
-
t,
|
|
7610
|
-
titleKey: pendingSection.titleKey,
|
|
7611
|
-
icon: marketSectionIcon("pending"),
|
|
7612
|
-
rows: pendingSection.rows,
|
|
7613
|
-
onDefault: setDefault,
|
|
7614
|
-
boardBusy,
|
|
7615
|
-
pending,
|
|
7616
|
-
failureOf,
|
|
7617
|
-
act,
|
|
7618
|
-
confirmActions: CONFIRM_UNINSTALL,
|
|
7619
|
-
onConfirming,
|
|
7620
|
-
onRecheck,
|
|
7621
|
-
rechecking
|
|
7622
|
-
}), runtimePluginMarket === false ? null : /* @__PURE__ */ (0, react.createElement)(MarketSection, {
|
|
7623
|
-
t,
|
|
7624
|
-
titleKey: "panels.market.sectionPlugins",
|
|
7625
|
-
icon: marketSectionIcon("plugins"),
|
|
7626
|
-
rows: pluginList,
|
|
7627
|
-
headAction: checks.plugins,
|
|
7628
|
-
onDefault: setDefault,
|
|
7629
|
-
boardBusy,
|
|
7630
|
-
pending,
|
|
7631
|
-
failureOf,
|
|
7632
|
-
act,
|
|
7633
|
-
confirmActions: CONFIRM_UNINSTALL,
|
|
7634
|
-
onConfirming,
|
|
7635
|
-
onRecheck,
|
|
7636
|
-
rechecking
|
|
7637
|
-
}), foot ? /* @__PURE__ */ (0, react.createElement)(PanelFoot, {
|
|
7638
|
-
size: "md",
|
|
7639
|
-
text: t("panels.market.foot")
|
|
7640
|
-
}) : null, /* @__PURE__ */ (0, react.createElement)(SharedSection, {
|
|
7641
|
-
t,
|
|
7642
|
-
rows: shared,
|
|
7643
|
-
pending,
|
|
7644
|
-
failureOf,
|
|
7645
|
-
act,
|
|
7646
|
-
onRecheck,
|
|
7647
|
-
rechecking
|
|
7648
|
-
}));
|
|
7649
|
-
}
|
|
7650
7945
|
function useMarketScene(input) {
|
|
7651
7946
|
const { t, titleOf, manifests, installable, capabilities, updates, installed, settling, installing, mock, defaults, changed, pending, failed } = input;
|
|
7652
7947
|
const names = marketNamesOf(t, installed ?? [], titleOf, mock !== void 0);
|
|
@@ -7705,6 +8000,7 @@ window.__ModuleLoader__.load({
|
|
|
7705
8000
|
mock,
|
|
7706
8001
|
onPending
|
|
7707
8002
|
});
|
|
8003
|
+
const [detailId, setDetailId] = (0, react.useState)(null);
|
|
7708
8004
|
const { names, effective, updateMap, rows, shared, installedList, byDefault, steady, pinned, removing, busyId } = useMarketScene({
|
|
7709
8005
|
t,
|
|
7710
8006
|
titleOf,
|
|
@@ -7744,13 +8040,9 @@ window.__ModuleLoader__.load({
|
|
|
7744
8040
|
const shown = withPinnedRow(pendingRow === void 0 ? rows : [...rows, pendingRow], pinned);
|
|
7745
8041
|
const pluginSource = mock?.plugins ?? plugins ?? null;
|
|
7746
8042
|
const pluginList = installedPluginRows(pluginSource ?? [], byDefault, changed);
|
|
7747
|
-
const rowById =
|
|
7748
|
-
...shown,
|
|
7749
|
-
...self === void 0 ? [] : [self],
|
|
7750
|
-
...installedList,
|
|
7751
|
-
...pluginList
|
|
7752
|
-
].map((row) => [row.id, row]));
|
|
8043
|
+
const rowById = marketRowMap(shown, self, installedList, pluginList);
|
|
7753
8044
|
const confirmingRow = confirming === null ? void 0 : rowById.get(confirming);
|
|
8045
|
+
const detailRow = detailId === null ? void 0 : rowById.get(detailId);
|
|
7754
8046
|
const seats = {
|
|
7755
8047
|
setPending,
|
|
7756
8048
|
setHeld: steady.hold,
|
|
@@ -7797,9 +8089,7 @@ window.__ModuleLoader__.load({
|
|
|
7797
8089
|
disabled: pending !== null,
|
|
7798
8090
|
onCheck: mock === void 0 ? onCheck : void 0
|
|
7799
8091
|
});
|
|
7800
|
-
|
|
7801
|
-
if (nothing) return /* @__PURE__ */ (0, react.createElement)(MarketEmpty, { t });
|
|
7802
|
-
return /* @__PURE__ */ (0, react.createElement)(react.Fragment, null, /* @__PURE__ */ (0, react.createElement)(MarketBody, {
|
|
8092
|
+
return /* @__PURE__ */ (0, react.createElement)(MarketSceneView, {
|
|
7803
8093
|
t,
|
|
7804
8094
|
runtimePluginMarket,
|
|
7805
8095
|
self,
|
|
@@ -7816,15 +8106,17 @@ window.__ModuleLoader__.load({
|
|
|
7816
8106
|
boardBusy,
|
|
7817
8107
|
checks,
|
|
7818
8108
|
onRecheck: recheck,
|
|
7819
|
-
rechecking: checkingShown
|
|
7820
|
-
|
|
7821
|
-
|
|
8109
|
+
rechecking: checkingShown,
|
|
8110
|
+
onOpenDetail: setDetailId,
|
|
8111
|
+
detailRow,
|
|
7822
8112
|
confirming,
|
|
7823
|
-
|
|
7824
|
-
|
|
7825
|
-
|
|
7826
|
-
|
|
7827
|
-
|
|
8113
|
+
confirmingRow,
|
|
8114
|
+
rowById,
|
|
8115
|
+
settled,
|
|
8116
|
+
nothing,
|
|
8117
|
+
settlingSize: settling?.size ?? 0,
|
|
8118
|
+
onBack: () => setDetailId(null)
|
|
8119
|
+
});
|
|
7828
8120
|
}
|
|
7829
8121
|
//#endregion
|
|
7830
8122
|
//#region src/shared/hooks/runtime-queries.ts
|
|
@@ -10098,11 +10390,17 @@ window.__ModuleLoader__.load({
|
|
|
10098
10390
|
...registry === void 0 || registry === "" ? {} : { registry }
|
|
10099
10391
|
});
|
|
10100
10392
|
}
|
|
10101
|
-
function readModuleVersions(force = false) {
|
|
10102
|
-
return apiGet(MODULE_VERSIONS_ROUTE,
|
|
10393
|
+
function readModuleVersions(force = false, check = true) {
|
|
10394
|
+
return apiGet(MODULE_VERSIONS_ROUTE, {
|
|
10395
|
+
...force ? { force: "1" } : {},
|
|
10396
|
+
...check ? {} : { check: "0" }
|
|
10397
|
+
});
|
|
10103
10398
|
}
|
|
10104
|
-
function readInstalledPlugins(force = false) {
|
|
10105
|
-
return apiGet(INSTALLED_PLUGINS_ROUTE,
|
|
10399
|
+
function readInstalledPlugins(force = false, check = true) {
|
|
10400
|
+
return apiGet(INSTALLED_PLUGINS_ROUTE, {
|
|
10401
|
+
...force ? { force: "1" } : {},
|
|
10402
|
+
...check ? {} : { check: "0" }
|
|
10403
|
+
});
|
|
10106
10404
|
}
|
|
10107
10405
|
//#endregion
|
|
10108
10406
|
//#region src/app/layouts/market/use-module-versions.ts
|
|
@@ -10131,6 +10429,10 @@ window.__ModuleLoader__.load({
|
|
|
10131
10429
|
modules: -1,
|
|
10132
10430
|
plugins: -1
|
|
10133
10431
|
};
|
|
10432
|
+
var newestDataSeq = {
|
|
10433
|
+
modules: -1,
|
|
10434
|
+
plugins: -1
|
|
10435
|
+
};
|
|
10134
10436
|
var epoch = 0;
|
|
10135
10437
|
var allSeq = 0;
|
|
10136
10438
|
function bumpModuleVersionsEpoch() {
|
|
@@ -10157,9 +10459,39 @@ window.__ModuleLoader__.load({
|
|
|
10157
10459
|
};
|
|
10158
10460
|
});
|
|
10159
10461
|
}
|
|
10160
|
-
function
|
|
10161
|
-
|
|
10162
|
-
|
|
10462
|
+
function withPreviousLatest(modules, previous) {
|
|
10463
|
+
if (previous.length === 0) return modules;
|
|
10464
|
+
const byPkg = new Map(previous.map((module) => [module.pkg, module]));
|
|
10465
|
+
return modules.map((module) => {
|
|
10466
|
+
const old = byPkg.get(module.pkg);
|
|
10467
|
+
if (old === void 0) return module;
|
|
10468
|
+
return {
|
|
10469
|
+
...module,
|
|
10470
|
+
...module.latest === void 0 && old.latest !== void 0 ? { latest: old.latest } : {},
|
|
10471
|
+
...module.latestBlocked === void 0 && old.latestBlocked !== void 0 ? { latestBlocked: old.latestBlocked } : {},
|
|
10472
|
+
...module.latestUnavailable === void 0 && old.latestUnavailable !== void 0 ? { latestUnavailable: old.latestUnavailable } : {}
|
|
10473
|
+
};
|
|
10474
|
+
});
|
|
10475
|
+
}
|
|
10476
|
+
function withPreviousPluginLatest(plugins, previous) {
|
|
10477
|
+
if (previous.length === 0) return plugins;
|
|
10478
|
+
const byPkg = new Map(previous.map((plugin) => [plugin.pkg, plugin]));
|
|
10479
|
+
return plugins.map((plugin) => {
|
|
10480
|
+
const old = byPkg.get(plugin.pkg);
|
|
10481
|
+
if (old === void 0 || plugin.latest !== void 0 || old.latest === void 0) return plugin;
|
|
10482
|
+
return {
|
|
10483
|
+
...plugin,
|
|
10484
|
+
latest: old.latest
|
|
10485
|
+
};
|
|
10486
|
+
});
|
|
10487
|
+
}
|
|
10488
|
+
function withPreviousWorkbenchLatest(next, previous) {
|
|
10489
|
+
if (next === null || previous === null) return next;
|
|
10490
|
+
if (next.latest !== void 0 || previous.latest === void 0 || next.pkg !== previous.pkg) return next;
|
|
10491
|
+
return {
|
|
10492
|
+
...next,
|
|
10493
|
+
latest: previous.latest
|
|
10494
|
+
};
|
|
10163
10495
|
}
|
|
10164
10496
|
function moduleVersionsChecking(value) {
|
|
10165
10497
|
return value.allChecking || value.modulesCheck.checking || value.pluginsCheck.checking;
|
|
@@ -10190,72 +10522,104 @@ window.__ModuleLoader__.load({
|
|
|
10190
10522
|
checkedAt: ok ? at : seat.checkedAt
|
|
10191
10523
|
};
|
|
10192
10524
|
}
|
|
10193
|
-
function readModulesOnce(force) {
|
|
10194
|
-
return Promise.all([readModuleVersions(force), readMarketInstalled()]).catch(() => null);
|
|
10525
|
+
function readModulesOnce(force, check) {
|
|
10526
|
+
return Promise.all([readModuleVersions(force, check), readMarketInstalled()]).catch(() => null);
|
|
10195
10527
|
}
|
|
10196
|
-
function readPluginsOnce(force) {
|
|
10197
|
-
return readInstalledPlugins(force).catch(() => null);
|
|
10528
|
+
function readPluginsOnce(force, check) {
|
|
10529
|
+
return readInstalledPlugins(force, check).catch(() => null);
|
|
10198
10530
|
}
|
|
10199
|
-
function
|
|
10531
|
+
function readKey(run) {
|
|
10532
|
+
return `${run.kind}:${run.scope}:${run.force ? "force" : "cached"}`;
|
|
10533
|
+
}
|
|
10534
|
+
function superseded(run, part, ticket) {
|
|
10535
|
+
if (run.kind === "data") return ticket < newestDataSeq[part];
|
|
10536
|
+
return !run.force && ticket < newestForceSeq[part];
|
|
10537
|
+
}
|
|
10538
|
+
function runRead(run) {
|
|
10200
10539
|
const at = epoch;
|
|
10201
|
-
const
|
|
10202
|
-
|
|
10203
|
-
|
|
10540
|
+
const key = readKey(run);
|
|
10541
|
+
const running = inFlight.get(key);
|
|
10542
|
+
if (!run.fresh && running !== void 0 && running.epoch === at) return running.promise;
|
|
10543
|
+
const check = run.kind === "check";
|
|
10544
|
+
const allTicket = run.scope === "all" ? allSeq += 1 : allSeq;
|
|
10204
10545
|
const tickets = /* @__PURE__ */ new Map();
|
|
10205
|
-
for (const part of partsOf(scope)) {
|
|
10546
|
+
for (const part of partsOf(run.scope)) {
|
|
10206
10547
|
const ticket = seq$1[part] += 1;
|
|
10207
10548
|
tickets.set(part, ticket);
|
|
10208
|
-
if (force) newestForceSeq[part] = ticket;
|
|
10549
|
+
if (run.force) newestForceSeq[part] = ticket;
|
|
10550
|
+
if (!check) newestDataSeq[part] = ticket;
|
|
10209
10551
|
}
|
|
10210
|
-
publish$1(checking(scope));
|
|
10211
|
-
const
|
|
10212
|
-
const
|
|
10213
|
-
const
|
|
10214
|
-
if (at !== epoch) return;
|
|
10215
|
-
const
|
|
10216
|
-
const
|
|
10217
|
-
const
|
|
10218
|
-
const
|
|
10219
|
-
const pluginsLanded = pluginsTicket !== void 0 && (force || pluginsTicket >= newestForceSeq.plugins);
|
|
10220
|
-
const modulesOk = modulesLanded && modules !== null && modules[0].ok === true;
|
|
10221
|
-
const pluginsOk = pluginsLanded && plugins !== null && plugins.ok === true;
|
|
10552
|
+
if (check) publish$1(checking(run.scope));
|
|
10553
|
+
const modulesTicket = tickets.get("modules");
|
|
10554
|
+
const pluginsTicket = tickets.get("plugins");
|
|
10555
|
+
const modulesRead = modulesTicket === void 0 ? null : readModulesOnce(run.force, check).then((response) => {
|
|
10556
|
+
if (at !== epoch || response === null || superseded(run, "modules", modulesTicket)) return;
|
|
10557
|
+
const [modules, market] = response;
|
|
10558
|
+
const payload = modules.ok === true ? modules : null;
|
|
10559
|
+
const listed = payload === null ? null : withMarketUpdates(payload.modules, market.ok === true ? market.modules : []);
|
|
10560
|
+
const shown = listed === null ? null : check ? listed : withPreviousLatest(listed, state.modules ?? []);
|
|
10222
10561
|
publish$1({
|
|
10223
10562
|
...state,
|
|
10224
|
-
modules:
|
|
10225
|
-
workbench:
|
|
10226
|
-
selfUpdate:
|
|
10227
|
-
plugins: pluginsOk ? plugins.plugins : state.plugins,
|
|
10563
|
+
modules: shown ?? state.modules,
|
|
10564
|
+
workbench: payload === null ? state.workbench : check ? payload.workbench ?? null : withPreviousWorkbenchLatest(payload.workbench ?? null, state.workbench),
|
|
10565
|
+
selfUpdate: payload === null ? state.selfUpdate : payload.selfUpdate ?? null,
|
|
10228
10566
|
read: true,
|
|
10229
|
-
|
|
10230
|
-
|
|
10231
|
-
|
|
10567
|
+
...check ? { modulesCheck: landed(state.modulesCheck, modulesTicket, seq$1.modules, payload !== null, Date.now()) } : {}
|
|
10568
|
+
});
|
|
10569
|
+
});
|
|
10570
|
+
const pluginsRead = pluginsTicket === void 0 ? null : readPluginsOnce(run.force, check).then((response) => {
|
|
10571
|
+
if (at !== epoch || response === null || superseded(run, "plugins", pluginsTicket)) return;
|
|
10572
|
+
const ok = response.ok === true;
|
|
10573
|
+
publish$1({
|
|
10574
|
+
...state,
|
|
10575
|
+
plugins: ok ? check ? response.plugins : withPreviousPluginLatest(response.plugins, state.plugins ?? []) : state.plugins,
|
|
10576
|
+
...check ? { pluginsCheck: landed(state.pluginsCheck, pluginsTicket, seq$1.plugins, ok, Date.now()) } : {}
|
|
10577
|
+
});
|
|
10578
|
+
});
|
|
10579
|
+
const promise = Promise.all([modulesRead, pluginsRead]).then(() => {
|
|
10580
|
+
if (at !== epoch || !check || run.scope !== "all" || allTicket !== allSeq) return;
|
|
10581
|
+
if (!state.allChecking) return;
|
|
10582
|
+
publish$1({
|
|
10583
|
+
...state,
|
|
10584
|
+
allChecking: false
|
|
10232
10585
|
});
|
|
10233
10586
|
}).finally(() => {
|
|
10234
|
-
if (inFlight.get(
|
|
10587
|
+
if (inFlight.get(key)?.promise === promise) inFlight.delete(key);
|
|
10235
10588
|
});
|
|
10236
|
-
inFlight.set(
|
|
10237
|
-
force,
|
|
10589
|
+
inFlight.set(key, {
|
|
10238
10590
|
epoch: at,
|
|
10239
10591
|
promise
|
|
10240
10592
|
});
|
|
10241
10593
|
return promise;
|
|
10242
10594
|
}
|
|
10595
|
+
function runModuleVersionsRead(force = false, fresh = false, scope = "all") {
|
|
10596
|
+
return runRead({
|
|
10597
|
+
kind: "check",
|
|
10598
|
+
force,
|
|
10599
|
+
fresh,
|
|
10600
|
+
scope
|
|
10601
|
+
});
|
|
10602
|
+
}
|
|
10603
|
+
function runInstalledRead(options = {}) {
|
|
10604
|
+
return runRead({
|
|
10605
|
+
kind: "data",
|
|
10606
|
+
force: false,
|
|
10607
|
+
fresh: options.fresh === true,
|
|
10608
|
+
scope: "all"
|
|
10609
|
+
});
|
|
10610
|
+
}
|
|
10243
10611
|
function useModuleVersions() {
|
|
10244
10612
|
const value = (0, react.useSyncExternalStore)(subscribeModuleVersions, moduleVersionsValue);
|
|
10245
10613
|
const factRev = useFactRevision(CAPABILITY_FACT);
|
|
10246
|
-
const mountedRef = (0, react.useRef)(false);
|
|
10247
10614
|
(0, react.useEffect)(() => {
|
|
10248
|
-
|
|
10249
|
-
mountedRef.current = true;
|
|
10250
|
-
if (first && !shouldProbeOnEnter({
|
|
10251
|
-
checkedAt: moduleVersionsCheckedAt(state),
|
|
10252
|
-
now: Date.now(),
|
|
10253
|
-
staleMs: MARKET_STALE_MS
|
|
10254
|
-
})) return;
|
|
10255
|
-
runModuleVersionsRead(false);
|
|
10615
|
+
runInstalledRead();
|
|
10256
10616
|
}, [factRev]);
|
|
10257
10617
|
const reload = (0, react.useCallback)((options) => {
|
|
10258
|
-
|
|
10618
|
+
if (options?.check === true) {
|
|
10619
|
+
runModuleVersionsRead(options.force === true, options.fresh === true, options.scope ?? "all");
|
|
10620
|
+
return;
|
|
10621
|
+
}
|
|
10622
|
+
runInstalledRead({ fresh: options?.fresh === true });
|
|
10259
10623
|
}, []);
|
|
10260
10624
|
return {
|
|
10261
10625
|
...value,
|
|
@@ -10272,29 +10636,36 @@ window.__ModuleLoader__.load({
|
|
|
10272
10636
|
bumpModuleVersionsEpoch();
|
|
10273
10637
|
bumpCapabilityEpoch();
|
|
10274
10638
|
forceProbe();
|
|
10275
|
-
|
|
10276
|
-
force: true,
|
|
10277
|
-
fresh: true
|
|
10278
|
-
});
|
|
10279
|
-
return;
|
|
10280
|
-
}
|
|
10281
|
-
reloadCapability();
|
|
10639
|
+
} else reloadCapability();
|
|
10282
10640
|
reloadVersions();
|
|
10283
10641
|
}, [
|
|
10284
10642
|
reloadCapability,
|
|
10285
10643
|
reloadVersions,
|
|
10286
10644
|
forceProbe
|
|
10287
10645
|
]);
|
|
10288
|
-
const
|
|
10289
|
-
|
|
10290
|
-
|
|
10291
|
-
|
|
10292
|
-
|
|
10646
|
+
const check = (0, react.useCallback)((options) => {
|
|
10647
|
+
reloadVersions({
|
|
10648
|
+
check: true,
|
|
10649
|
+
force: options?.force === true,
|
|
10650
|
+
fresh: true,
|
|
10651
|
+
...options?.scope === void 0 ? {} : { scope: options.scope }
|
|
10652
|
+
});
|
|
10653
|
+
}, [reloadVersions]);
|
|
10654
|
+
const recheck = (0, react.useCallback)(() => {
|
|
10655
|
+
bumpCapabilityEpoch();
|
|
10656
|
+
forceProbe();
|
|
10657
|
+
check({ force: true });
|
|
10658
|
+
}, [check, forceProbe]);
|
|
10659
|
+
const checkPart = (0, react.useCallback)((part) => {
|
|
10660
|
+
check({
|
|
10661
|
+
force: true,
|
|
10662
|
+
scope: part
|
|
10663
|
+
});
|
|
10664
|
+
}, [check]);
|
|
10293
10665
|
const enteredRef = (0, react.useRef)(false);
|
|
10294
10666
|
(0, react.useEffect)(() => {
|
|
10295
10667
|
if (enteredRef.current) return;
|
|
10296
10668
|
enteredRef.current = true;
|
|
10297
|
-
reloadVersions();
|
|
10298
10669
|
if (!shouldProbeOnEnter({
|
|
10299
10670
|
checkedAt,
|
|
10300
10671
|
now: Date.now(),
|
|
@@ -10302,13 +10673,15 @@ window.__ModuleLoader__.load({
|
|
|
10302
10673
|
})) return;
|
|
10303
10674
|
markNextProbeSilent();
|
|
10304
10675
|
forceProbe();
|
|
10676
|
+
check();
|
|
10305
10677
|
}, [
|
|
10306
10678
|
checkedAt,
|
|
10307
10679
|
forceProbe,
|
|
10308
|
-
|
|
10680
|
+
check
|
|
10309
10681
|
]);
|
|
10310
10682
|
return {
|
|
10311
10683
|
reload,
|
|
10684
|
+
recheck,
|
|
10312
10685
|
checkPart
|
|
10313
10686
|
};
|
|
10314
10687
|
}
|
|
@@ -11005,7 +11378,7 @@ window.__ModuleLoader__.load({
|
|
|
11005
11378
|
const openAddModule = (0, react.useCallback)(() => setAdding(true), []);
|
|
11006
11379
|
const updates = (0, react.useMemo)(() => marketUpdatesOf(modules), [modules]);
|
|
11007
11380
|
const installed = modules === null ? void 0 : withClientRefusals(modules, units.refusals());
|
|
11008
|
-
const { reload, checkPart } = useMarketReload({
|
|
11381
|
+
const { reload, recheck, checkPart } = useMarketReload({
|
|
11009
11382
|
checkedAt,
|
|
11010
11383
|
forceProbe,
|
|
11011
11384
|
reloadCapability,
|
|
@@ -11036,7 +11409,7 @@ window.__ModuleLoader__.load({
|
|
|
11036
11409
|
busy,
|
|
11037
11410
|
checking: checking || versionsAllChecking,
|
|
11038
11411
|
onTab: setTab,
|
|
11039
|
-
onReload:
|
|
11412
|
+
onReload: recheck,
|
|
11040
11413
|
onAdd: openAddModule
|
|
11041
11414
|
}), devMarket.strip, /* @__PURE__ */ (0, react.createElement)("div", {
|
|
11042
11415
|
id: `${MARKET_PANEL_ID}-panel-installed`,
|
|
@@ -16538,7 +16911,7 @@ window.__ModuleLoader__.load({
|
|
|
16538
16911
|
...face.messages === void 0 ? {} : { messages: face.messages }
|
|
16539
16912
|
}));
|
|
16540
16913
|
}
|
|
16541
|
-
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-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_2or0c_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_2or0c_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_2or0c_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_2or0c_32 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._marketName_2or0c_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_2or0c_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_2or0c_58 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSep_2or0c_62 {\n color: var(--dsw-alias-label-caption);\n}\n\n._marketReason_2or0c_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_2or0c_39 ._marketVersion_2or0c_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_2or0c_72 {\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketVersion_2or0c_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_2or0c_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_2or0c_105 {\n flex: none;\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_2or0c_112 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_2or0c_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_2or0c_125 {\n flex: none;\n display: flex;\n gap: var(--wb-len-6);\n}\n\n._marketUpdateAction_2or0c_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_2or0c_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_2or0c_143 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._marketSectionHead_2or0c_150 {\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-8);\n}\n\n._marketSectionIcon_2or0c_156 {\n display: inline-flex;\n align-items: center;\n align-self: center;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketSectionTitle_2or0c_163 {\n margin: 0;\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._marketSectionCount_2or0c_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_2or0c_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_2or0c_183 ._marketSectionTitle_2or0c_163 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSectionQuiet_2or0c_183 ._marketName_2or0c_39 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSectionQuiet_2or0c_183 ._marketIcon_2or0c_20 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n._marketProgress_2or0c_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_2or0c_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_2or0c_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_2or0c_219 {\n grid-column: 2 / -1;\n min-width: 0;\n}\n\n._marketEmpty_2or0c_224 {\n padding: var(--wb-len-18) var(--wb-len-16);\n text-align: center;\n}\n\n._marketPage_2or0c_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_2or0c_229 > * {\n width: 100%;\n max-width: var(--wb-len-960);\n}\n\n._marketPageHead_2or0c_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_2or0c_255 {\n margin: 0;\n font: var(--dsw-font-l-20);\n}\n\n._marketPageIntro_2or0c_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_2or0c_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_2or0c_275 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-32);\n}\n\n._marketPanel_2or0c_275[hidden] {\n display: none;\n}\n\n._marketTabs_2or0c_285 {\n display: flex;\n margin: calc(0px - var(--wb-len-16)) 0;\n}\n\n._marketTabList_2or0c_290 {\n width: fit-content;\n min-width: var(--wb-len-240);\n}\n\n._marketAddButton_2or0c_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_2or0c_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_2or0c_312 {\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._discoverPage_2or0c_317 {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n}\n\n._discoverBar_2or0c_324 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n container-type: inline-size;\n}\n\n._discoverTools_2or0c_331 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverMarket_2or0c_337 {\n flex: 0 1 auto;\n min-width: 0;\n}\n\n._discoverMarketButton_2or0c_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_2or0c_349 {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._discoverLabels_2or0c_355 {\n flex: none;\n white-space: nowrap;\n}\n\n._discoverSort_2or0c_360 {\n flex: none;\n white-space: nowrap;\n}\n\n._discoverRefresh_2or0c_365 {\n flex: none;\n}\n\n._discoverSearch_2or0c_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_2or0c_377 {\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._discoverSearchFieldFilled_2or0c_382 input {\n padding-inline-end: var(--wb-len-20);\n}\n\n._discoverSearchField_2or0c_377 input::-webkit-search-cancel-button {\n appearance: none;\n -webkit-appearance: none;\n}\n\n._discoverSearch_2or0c_369 ._discoverSearchClear_2or0c_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_2or0c_391:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n@container (max-width: 560px) {\n ._discoverTools_2or0c_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_2or0c_337 {\n grid-area: market;\n }\n\n ._discoverMarketButton_2or0c_342 {\n margin-left: 0;\n }\n\n ._discoverLabels_2or0c_355 {\n grid-area: labels;\n }\n\n ._discoverSearch_2or0c_369 {\n grid-area: search;\n }\n\n ._discoverSort_2or0c_360 {\n grid-area: sort;\n justify-self: end;\n }\n\n ._discoverRefresh_2or0c_365 {\n grid-area: refresh;\n }\n}\n\n._discoverChips_2or0c_442 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-6);\n}\n\n._discoverList_2or0c_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_2or0c_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_2or0c_458:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._discoverArtwork_2or0c_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_2or0c_484 {\n object-fit: contain;\n}\n\n._discoverMain_2or0c_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_2or0c_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_2or0c_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_2or0c_504::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: var(--dsw-radius-xl);\n}\n\n._discoverCardOpen_2or0c_504:focus-visible {\n outline: none;\n}\n\n._discoverCardOpen_2or0c_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_2or0c_535 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n overflow-wrap: anywhere;\n}\n\n._discoverDesc_2or0c_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_2or0c_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_2or0c_557 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._discoverEnd_2or0c_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_2or0c_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_2or0c_577 {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n._discoverEmpty_2or0c_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_2or0c_591 {\n margin: var(--wb-len-8) 0 0;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverEmpty_2or0c_582 > button {\n margin-top: var(--wb-len-8);\n}\n\n._discoverDetail_2or0c_601 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n}\n\n._discoverCrumb_2or0c_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_2or0c_607:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n._discoverCrumb_2or0c_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_2or0c_630 {\n transform: rotate(90deg);\n}\n\n._discoverDetailHead_2or0c_634 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n}\n\n._discoverDetailTitle_2or0c_640 {\n margin: 0;\n font: var(--dsw-font-l-20);\n font-weight: 500;\n}\n\n._discoverDetailText_2or0c_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_2or0c_653 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n min-width: 0;\n}\n\n._discoverDetailTabs_2or0c_660 {\n display: flex;\n margin-bottom: calc(0px - var(--wb-len-4));\n}\n\n._discoverDetailTabList_2or0c_665 {\n width: fit-content;\n min-width: var(--wb-len-240);\n}\n\n._discoverDocBody_2or0c_670 {\n min-width: 0;\n overflow-wrap: anywhere;\n}\n\n._discoverDocNotice_2or0c_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_2or0c_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_2or0c_688 {\n margin: 0;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverFacts_2or0c_694 {\n margin: 0;\n padding: 0;\n}\n\n._discoverFactRow_2or0c_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_2or0c_709 {\n flex: none;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverFactValue_2or0c_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_2or0c_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_2or0c_732 {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n gap: var(--wb-len-6);\n}\n\n._discoverLink_2or0c_739 {\n color: var(--dsw-alias-link);\n overflow-wrap: anywhere;\n text-decoration: none;\n}\n\n._discoverLink_2or0c_739:hover {\n text-decoration: underline;\n}\n\n._discoverVersions_2or0c_749 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n}\n\n._discoverVersionRow_2or0c_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_2or0c_765 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverError_2or0c_770 {\n display: flex;\n align-items: flex-start;\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 white-space: pre-line;\n}\n\n._discoverFailure_2or0c_780 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._discoverLoading_2or0c_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_2or0c_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_2or0c_795 svg {\n flex: none;\n margin-top: var(--wb-len-2);\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverMore_2or0c_813 {\n align-self: center;\n}\n\n._discoverTransport_2or0c_817 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportHead_2or0c_823 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportTitle_2or0c_830 {\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverTransportHead_2or0c_823 ._discoverTransportKind_2or0c_835 {\n font: var(--dsw-font-xs-13);\n font-weight: 500;\n}\n\n._discoverTransportHead_2or0c_823 ._discoverTransportState_2or0c_840 {\n margin-left: 0;\n}\n\n._discoverTransportHead_2or0c_823 > :last-child {\n margin-left: auto;\n}\n\n._discoverTransportRows_2or0c_848 {\n display: flex;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportRow_2or0c_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_2or0c_848:hover {\n border-color: var(--dsw-alias-border-l3);\n}\n\n._discoverTransportRow_2or0c_848:has(._discoverTransportRadio_2or0c_869:checked) {\n border-color: var(--dsw-alias-label-primary);\n}\n\n._discoverTransportRow_2or0c_848:has(._discoverTransportRadio_2or0c_869:focus-visible) {\n outline: 2px solid var(--dsw-alias-label-primary);\n outline-offset: 1px;\n}\n\n._discoverTransportRadio_2or0c_869 {\n flex: none;\n margin: 0;\n}\n\n._discoverTransportKind_2or0c_835 {\n flex: none;\n font: var(--dsw-font-xs-13);\n font-weight: 500;\n}\n\n._discoverTransportState_2or0c_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_2or0c_848[data-state='ok'] ._discoverTransportState_2or0c_840 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._discoverTransportRow_2or0c_848[data-state='auth'] ._discoverTransportState_2or0c_840 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._discoverTransportRow_2or0c_848[data-state='unreachable'] ._discoverTransportState_2or0c_840,\n._discoverTransportRow_2or0c_848[data-state='unknown'] ._discoverTransportState_2or0c_840 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverTransportCustom_2or0c_909 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportInput_2or0c_915 {\n flex: 1;\n min-width: 0;\n}\n\n._discoverInstallBar_2or0c_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_2or0c_931 {\n flex: 1;\n min-width: 0;\n overflow-wrap: anywhere;\n}\n\n._discoverDialog_2or0c_937 {\n width: min(var(--wb-len-560), calc(100vw - var(--wb-len-32)));\n}\n\n._discoverDialogBody_2or0c_941 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._discoverSourceList_2or0c_947 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n}\n\n._discoverSourceRow_2or0c_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_2or0c_964 {\n margin: 0;\n padding: var(--wb-len-2) 0 var(--wb-len-10);\n list-style: none;\n}\n\n._discoverSourcePick_2or0c_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_2or0c_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_2or0c_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_2or0c_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_2or0c_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_2or0c_1013 {\n flex: none;\n}\n\n._discoverSourceLoading_2or0c_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_2or0c_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_2or0c_1027 svg {\n flex: none;\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverSourceError_2or0c_1041 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._discoverSourceForm_2or0c_1047 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverGrow_2or0c_1053 {\n flex: 1;\n min-width: 0;\n}\n\n._discoverField_2or0c_1058 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n\n._discoverFieldLabel_2or0c_1064 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverConfirmHead_2or0c_1069 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n}\n\n._discoverSkeletonFill_2or0c_1075 {\n background: var(--dsw-alias-bg-skeleton);\n animation: _wb-skeleton_2or0c_1 var(--wb-dur-1-5) cubic-bezier(0.36, 0, 0.64, 1) infinite;\n}\n\n._discoverArtwork_2or0c_472._discoverSkeletonFill_2or0c_1075 {\n border-color: transparent;\n}\n\n._discoverSkeletonBar_2or0c_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_2or0c_1091 {\n width: min(var(--wb-len-144), 60%);\n}\n\n._discoverSkeletonDesc_2or0c_1095 {\n width: min(var(--wb-len-280), 85%);\n}\n\n@keyframes _wb-skeleton_2or0c_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_2or0c_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*/";
|
|
16914
|
+
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-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._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._marketList_9z259_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_9z259_10 {\n position: relative;\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._marketRow_9z259_10[data-open='true']:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._marketNameOpen_9z259_25 {\n max-width: 100%;\n padding: 0;\n border: 0;\n background: transparent;\n color: inherit;\n font: inherit;\n white-space: inherit;\n text-align: left;\n cursor: pointer;\n}\n\n._marketNameOpen_9z259_25::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: var(--dsw-radius-lg);\n}\n\n._marketNameOpen_9z259_25:focus-visible {\n outline: none;\n}\n\n._marketNameOpen_9z259_25: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._marketIcon_9z259_53 {\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_9z259_65 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._marketName_9z259_25 {\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_9z259_81 {\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_9z259_91 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSep_9z259_95 {\n color: var(--dsw-alias-label-caption);\n}\n\n._marketReason_9z259_99 {\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_9z259_25 ._marketVersion_9z259_105 {\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_9z259_105 {\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketVersion_9z259_105::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_9z259_127 {\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_9z259_138 {\n position: relative;\n z-index: var(--wb-z-10);\n flex: none;\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_9z259_147 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._marketSwitchSeat_9z259_147::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_9z259_160 {\n flex: none;\n display: flex;\n gap: var(--wb-len-6);\n}\n\n._marketUpdateAction_9z259_166 {\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_9z259_172 {\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_9z259_178 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._marketSectionHead_9z259_185 {\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-8);\n}\n\n._marketSectionIcon_9z259_191 {\n display: inline-flex;\n align-items: center;\n align-self: center;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketSectionTitle_9z259_198 {\n margin: 0;\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._marketSectionCount_9z259_204 {\n font: var(--dsw-font-s-14);\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketSectionAction_9z259_210 {\n display: inline-flex;\n align-items: center;\n align-self: center;\n margin-left: auto;\n min-width: 0;\n}\n\n._marketSectionQuiet_9z259_218 ._marketSectionTitle_9z259_198 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSectionQuiet_9z259_218 ._marketName_9z259_25 {\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketSectionQuiet_9z259_218 ._marketIcon_9z259_53 {\n color: var(--dsw-alias-label-tertiary);\n}\n\n._marketProgress_9z259_230 {\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_9z259_240 {\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_9z259_247 {\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_9z259_254 {\n position: relative;\n z-index: var(--wb-z-10);\n grid-column: 2 / -1;\n min-width: 0;\n}\n\n._marketEmpty_9z259_261 {\n padding: var(--wb-len-18) var(--wb-len-16);\n text-align: center;\n}\n\n._marketPage_9z259_266 {\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_9z259_266 > * {\n width: 100%;\n max-width: var(--wb-len-960);\n}\n\n._marketPageHead_9z259_284 {\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_9z259_292 {\n margin: 0;\n font: var(--dsw-font-l-20);\n}\n\n._marketPageIntro_9z259_297 {\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_9z259_303 {\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_9z259_312 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-32);\n}\n\n._marketPanel_9z259_312[hidden] {\n display: none;\n}\n\n._marketTabs_9z259_322 {\n display: flex;\n margin: calc(0px - var(--wb-len-16)) 0;\n}\n\n._marketTabList_9z259_327 {\n width: fit-content;\n min-width: var(--wb-len-240);\n}\n\n._marketAddButton_9z259_332 {\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_9z259_261 {\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_9z259_349 {\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._discoverPage_9z259_354 {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n}\n\n._discoverBar_9z259_361 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n container-type: inline-size;\n}\n\n._discoverTools_9z259_368 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverMarket_9z259_374 {\n flex: 0 1 auto;\n min-width: 0;\n}\n\n._discoverMarketButton_9z259_379 {\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_9z259_386 {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._discoverLabels_9z259_392 {\n flex: none;\n white-space: nowrap;\n}\n\n._discoverSort_9z259_397 {\n flex: none;\n white-space: nowrap;\n}\n\n._discoverRefresh_9z259_402 {\n flex: none;\n}\n\n._discoverSearch_9z259_406 {\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_9z259_414 {\n flex: 1 1 auto;\n min-width: 0;\n}\n\n._discoverSearchFieldFilled_9z259_419 input {\n padding-inline-end: var(--wb-len-20);\n}\n\n._discoverSearchField_9z259_414 input::-webkit-search-cancel-button {\n appearance: none;\n -webkit-appearance: none;\n}\n\n._discoverSearch_9z259_406 ._discoverSearchClear_9z259_428 {\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_9z259_428:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n@container (max-width: 560px) {\n ._discoverTools_9z259_368 {\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_9z259_374 {\n grid-area: market;\n }\n\n ._discoverMarketButton_9z259_379 {\n margin-left: 0;\n }\n\n ._discoverLabels_9z259_392 {\n grid-area: labels;\n }\n\n ._discoverSearch_9z259_406 {\n grid-area: search;\n }\n\n ._discoverSort_9z259_397 {\n grid-area: sort;\n justify-self: end;\n }\n\n ._discoverRefresh_9z259_402 {\n grid-area: refresh;\n }\n}\n\n._discoverChips_9z259_479 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-6);\n}\n\n._discoverList_9z259_486 {\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_9z259_495 {\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_9z259_495:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._discoverArtwork_9z259_509 {\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_9z259_521 {\n object-fit: contain;\n}\n\n._discoverMain_9z259_525 {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--wb-len-2);\n min-width: 0;\n}\n\n._discoverTitleRow_9z259_533 {\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_9z259_541 {\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_9z259_541::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: var(--dsw-radius-xl);\n}\n\n._discoverCardOpen_9z259_541:focus-visible {\n outline: none;\n}\n\n._discoverCardOpen_9z259_541: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_9z259_572 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n overflow-wrap: anywhere;\n}\n\n._discoverDesc_9z259_578 {\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_9z259_587 {\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_9z259_594 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._discoverEnd_9z259_600 {\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_9z259_609 {\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_9z259_614 {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n._discoverEmpty_9z259_619 {\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_9z259_628 {\n margin: var(--wb-len-8) 0 0;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverEmpty_9z259_619 > button {\n margin-top: var(--wb-len-8);\n}\n\n._discoverDetail_9z259_638 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n}\n\n._discoverCrumb_9z259_644 {\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_9z259_644:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n._discoverCrumb_9z259_644: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_9z259_667 {\n transform: rotate(90deg);\n}\n\n._discoverDetailHead_9z259_671 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n}\n\n._marketDetailHead_9z259_677 {\n flex-wrap: wrap;\n align-items: flex-start;\n}\n\n._marketDetailName_9z259_682 {\n margin: 0;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-tertiary);\n overflow-wrap: anywhere;\n}\n\n._marketDetailName_9z259_682 code {\n font-family: var(--ds-font-family-code);\n}\n\n._marketDetailEnd_9z259_693 {\n flex: none;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n gap: var(--wb-len-10);\n margin-left: auto;\n}\n\n._discoverDetailTitle_9z259_703 {\n margin: 0;\n font: var(--dsw-font-l-20);\n font-weight: 500;\n}\n\n._discoverDetailText_9z259_709 {\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_9z259_716 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-16);\n min-width: 0;\n}\n\n._discoverDetailTabs_9z259_723 {\n display: flex;\n margin-bottom: calc(0px - var(--wb-len-4));\n}\n\n._discoverDetailTabList_9z259_728 {\n width: fit-content;\n min-width: var(--wb-len-240);\n}\n\n._discoverDocBody_9z259_733 {\n min-width: 0;\n overflow-wrap: anywhere;\n}\n\n._discoverDocNotice_9z259_738 {\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_9z259_744 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n margin-top: var(--wb-len-16);\n}\n\n._discoverSectionTitle_9z259_751 {\n margin: 0;\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverFacts_9z259_757 {\n margin: 0;\n padding: 0;\n}\n\n._discoverFactRow_9z259_762 {\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_9z259_772 {\n flex: none;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverFactValue_9z259_778 {\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_9z259_786 {\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_9z259_795 {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n gap: var(--wb-len-6);\n}\n\n._discoverLink_9z259_802 {\n color: var(--dsw-alias-link);\n overflow-wrap: anywhere;\n text-decoration: none;\n}\n\n._discoverLink_9z259_802:hover {\n text-decoration: underline;\n}\n\n._discoverVersions_9z259_812 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n}\n\n._discoverVersionRow_9z259_820 {\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_9z259_828 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n}\n\n._discoverError_9z259_833 {\n display: flex;\n align-items: flex-start;\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 white-space: pre-line;\n}\n\n._discoverFailure_9z259_843 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-10);\n}\n\n._discoverLoading_9z259_849 {\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_9z259_858 {\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_9z259_858 svg {\n flex: none;\n margin-top: var(--wb-len-2);\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverMore_9z259_876 {\n align-self: center;\n}\n\n._discoverTransport_9z259_880 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportHead_9z259_886 {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportTitle_9z259_893 {\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverTransportHead_9z259_886 ._discoverTransportKind_9z259_898 {\n font: var(--dsw-font-xs-13);\n font-weight: 500;\n}\n\n._discoverTransportHead_9z259_886 ._discoverTransportState_9z259_903 {\n margin-left: 0;\n}\n\n._discoverTransportHead_9z259_886 > :last-child {\n margin-left: auto;\n}\n\n._discoverTransportRows_9z259_911 {\n display: flex;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportRow_9z259_911 {\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_9z259_911:hover {\n border-color: var(--dsw-alias-border-l3);\n}\n\n._discoverTransportRow_9z259_911:has(._discoverTransportRadio_9z259_932:checked) {\n border-color: var(--dsw-alias-label-primary);\n}\n\n._discoverTransportRow_9z259_911:has(._discoverTransportRadio_9z259_932:focus-visible) {\n outline: 2px solid var(--dsw-alias-label-primary);\n outline-offset: 1px;\n}\n\n._discoverTransportRadio_9z259_932 {\n flex: none;\n margin: 0;\n}\n\n._discoverTransportKind_9z259_898 {\n flex: none;\n font: var(--dsw-font-xs-13);\n font-weight: 500;\n}\n\n._discoverTransportState_9z259_903 {\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_9z259_911[data-state='ok'] ._discoverTransportState_9z259_903 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._discoverTransportRow_9z259_911[data-state='auth'] ._discoverTransportState_9z259_903 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._discoverTransportRow_9z259_911[data-state='unreachable'] ._discoverTransportState_9z259_903,\n._discoverTransportRow_9z259_911[data-state='unknown'] ._discoverTransportState_9z259_903 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverTransportCustom_9z259_972 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverTransportInput_9z259_978 {\n flex: 1;\n min-width: 0;\n}\n\n._discoverInstallBar_9z259_983 {\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_9z259_994 {\n flex: 1;\n min-width: 0;\n overflow-wrap: anywhere;\n}\n\n._discoverDialog_9z259_1000 {\n width: min(var(--wb-len-560), calc(100vw - var(--wb-len-32)));\n}\n\n._discoverDialogBody_9z259_1004 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n._discoverSourceList_9z259_1010 {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n}\n\n._discoverSourceRow_9z259_1018 {\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_9z259_1027 {\n margin: 0;\n padding: var(--wb-len-2) 0 var(--wb-len-10);\n list-style: none;\n}\n\n._discoverSourcePick_9z259_1033 {\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_9z259_1042 {\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_9z259_1050 {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._discoverSourceHead_9z259_1058 {\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_9z259_1066 {\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_9z259_1076 {\n flex: none;\n}\n\n._discoverSourceLoading_9z259_1080 {\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_9z259_1090 {\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_9z259_1090 svg {\n flex: none;\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._discoverSourceError_9z259_1104 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._discoverSourceForm_9z259_1110 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._discoverGrow_9z259_1116 {\n flex: 1;\n min-width: 0;\n}\n\n._discoverField_9z259_1121 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n\n._discoverFieldLabel_9z259_1127 {\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-secondary);\n}\n\n._discoverConfirmHead_9z259_1132 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-14);\n}\n\n._discoverSkeletonFill_9z259_1138 {\n background: var(--dsw-alias-bg-skeleton);\n animation: _wb-skeleton_9z259_1 var(--wb-dur-1-5) cubic-bezier(0.36, 0, 0.64, 1) infinite;\n}\n\n._discoverArtwork_9z259_509._discoverSkeletonFill_9z259_1138 {\n border-color: transparent;\n}\n\n._discoverSkeletonBar_9z259_1147 {\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_9z259_1154 {\n width: min(var(--wb-len-144), 60%);\n}\n\n._discoverSkeletonDesc_9z259_1158 {\n width: min(var(--wb-len-280), 85%);\n}\n\n@keyframes _wb-skeleton_9z259_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_9z259_1138 {\n animation: none;\n }\n}\n\n._foot_1ud1j_1 {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--wb-len-8);\n padding: var(--wb-len-8) var(--wb-len-14) var(--wb-len-10);\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n font-size: var(--dsw-font-xxxs-11-font-size);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n}\n\n._footText_1ud1j_13 {\n flex: 1;\n min-width: 0;\n}\n\n._footTextMd_1ud1j_18 {\n flex: 1;\n min-width: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n._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._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*/";
|
|
16542
16915
|
function workbenchCss() {
|
|
16543
16916
|
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}`;
|
|
16544
16917
|
}
|