@dsh-workbench/core 0.1.7 → 0.1.9
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 +858 -408
- package/dist/client/client.body.js +858 -408
- package/dist/client/index.js +858 -408
- package/dist/host/index.js +154 -6
- package/dist/types/app/client.d.ts +78 -15
- package/dist/types/app/layouts/env-gate/__tests__/gate-deadline.test.d.ts +1 -0
- package/dist/types/app/layouts/env-gate/gate-deadline.d.ts +4 -0
- package/dist/types/app/layouts/rightbar/ColumnSwitch.d.ts +10 -0
- package/dist/types/app/layouts/rightbar/MarketStates.d.ts +7 -0
- package/dist/types/app/layouts/rightbar/MarketView.d.ts +2 -1
- package/dist/types/app/layouts/rightbar/Rightbar.d.ts +3 -1
- package/dist/types/app/layouts/rightbar/SharedSection.d.ts +11 -0
- package/dist/types/app/layouts/rightbar/__tests__/market-change.test.d.ts +1 -0
- package/dist/types/app/layouts/rightbar/__tests__/market-live.test.d.ts +1 -0
- package/dist/types/app/layouts/rightbar/__tests__/market-settle.test.d.ts +1 -0
- package/dist/types/app/layouts/rightbar/dsh-column-source.d.ts +6 -0
- package/dist/types/app/layouts/rightbar/dsh-column-source.test.d.ts +1 -0
- package/dist/types/app/layouts/rightbar/market-change.d.ts +4 -0
- package/dist/types/app/layouts/rightbar/market-rows.d.ts +3 -1
- package/dist/types/app/layouts/rightbar/market-settle.d.ts +2 -0
- package/dist/types/app/layouts/rightbar/market-view-text.d.ts +10 -0
- package/dist/types/app/layouts/rightbar/presentation.d.ts +9 -0
- package/dist/types/app/layouts/rightbar/presentation.test.d.ts +1 -0
- package/dist/types/app/layouts/rightbar/store.d.ts +9 -0
- package/dist/types/modules/panels/__tests__/market-registries.test.d.ts +1 -0
- package/dist/types/modules/panels/model/market.d.ts +2 -0
- package/dist/types/shared/api/host/__tests__/profile-registries.test.d.ts +1 -0
- package/dist/types/shared/api/host/profile-registries.d.ts +21 -0
- package/docs/OPERATIONS.md +2 -0
- package/package.json +2 -2
- package/dist/types/app/layouts/rightbar/ExpandButton.d.ts +0 -9
package/client.js
CHANGED
|
@@ -435,6 +435,7 @@ window.__ModuleLoader__.load({
|
|
|
435
435
|
var DEFAULT_WORKSPACE_TITLE = "default-workspace";
|
|
436
436
|
var STORAGE_KEY_PROJECT = "dsh-workbench.project";
|
|
437
437
|
var STORAGE_KEY_RIGHTBAR = "dsh-workbench.rightbar.expanded";
|
|
438
|
+
var STORAGE_KEY_RIGHTBAR_COLUMN = "dsh-workbench.rightbar.column";
|
|
438
439
|
var LOCALE_NS = "workbench";
|
|
439
440
|
var LOCALES = ["zh", "en"];
|
|
440
441
|
//#endregion
|
|
@@ -483,11 +484,46 @@ window.__ModuleLoader__.load({
|
|
|
483
484
|
var Fragment = react.Fragment;
|
|
484
485
|
var useState = react.useState;
|
|
485
486
|
var useEffect = react.useEffect;
|
|
487
|
+
var useLayoutEffect = react.useLayoutEffect;
|
|
486
488
|
var useMemo = react.useMemo;
|
|
487
489
|
var useCallback = react.useCallback;
|
|
488
490
|
var useRef = react.useRef;
|
|
489
491
|
var useSyncExternalStore = react.useSyncExternalStore;
|
|
490
492
|
//#endregion
|
|
493
|
+
//#region ../shared/dist/components/Activity.js
|
|
494
|
+
function ActivityBlock({ head, children }) {
|
|
495
|
+
return h("div", { className: "wb-activityBlock" }, head === void 0 ? null : h("div", { className: "wb-activityBlockHead" }, head), children);
|
|
496
|
+
}
|
|
497
|
+
function ActivityLine({ dot, text, at, actions }) {
|
|
498
|
+
return h("div", { className: "wb-activityLine" }, dot, h("span", { className: "wb-activityLineText" }, text), at === void 0 ? null : h("span", { className: "wb-activityLineAt" }, at), actions === void 0 ? null : h("span", { className: "wb-activityLineActions" }, actions));
|
|
499
|
+
}
|
|
500
|
+
function ActivityAction({ label, hint, icon, href, onClick, failed }) {
|
|
501
|
+
const tip = hint ?? label;
|
|
502
|
+
if (href !== void 0) return h("a", {
|
|
503
|
+
className: "wb-iconButton",
|
|
504
|
+
href,
|
|
505
|
+
target: "_blank",
|
|
506
|
+
rel: "noreferrer noopener",
|
|
507
|
+
title: tip,
|
|
508
|
+
"aria-label": label
|
|
509
|
+
}, icon);
|
|
510
|
+
return h(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
|
|
511
|
+
side: "bottom",
|
|
512
|
+
align: "end",
|
|
513
|
+
gap: 6,
|
|
514
|
+
portal: true,
|
|
515
|
+
label: tip
|
|
516
|
+
}, h(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
517
|
+
type: "button",
|
|
518
|
+
variant: "ghost",
|
|
519
|
+
size: "sm",
|
|
520
|
+
className: failed === true ? "wb-iconButton wb-activityActionFailed" : "wb-iconButton",
|
|
521
|
+
"aria-label": label,
|
|
522
|
+
icon,
|
|
523
|
+
onClick
|
|
524
|
+
}));
|
|
525
|
+
}
|
|
526
|
+
//#endregion
|
|
491
527
|
//#region ../shared/dist/components/ApprovalDetail.js
|
|
492
528
|
function callOf(snapshot, callId) {
|
|
493
529
|
if (callId === void 0) return void 0;
|
|
@@ -531,6 +567,14 @@ window.__ModuleLoader__.load({
|
|
|
531
567
|
});
|
|
532
568
|
}
|
|
533
569
|
//#endregion
|
|
570
|
+
//#region ../shared/dist/components/ApprovalPlan.js
|
|
571
|
+
function ApprovalPlan({ rows, hint, warn, children }) {
|
|
572
|
+
return h("div", { className: "wb-approvalPlan" }, hint === void 0 ? null : h("p", { className: "wb-approvalHint" }, hint), h("dl", { className: "wb-approvalRows" }, rows.map((row, index) => h("div", {
|
|
573
|
+
className: "wb-approvalRow",
|
|
574
|
+
key: String(index)
|
|
575
|
+
}, h("dt", { className: "wb-approvalLabel" }, row.label), h("dd", { className: "wb-approvalValue" }, row.value)))), children, warn === void 0 ? null : h("p", { className: "wb-approvalWarn" }, warn));
|
|
576
|
+
}
|
|
577
|
+
//#endregion
|
|
534
578
|
//#region ../shared/dist/components/CardHead.js
|
|
535
579
|
function CardHead({ t, title, meta, refreshing, onRefresh, gear, gearOpen, onToggleGear, platformHref, platform, platformTitle }) {
|
|
536
580
|
const refreshLabel = refreshing ? t("rightbar.refreshing") : t("rightbar.refresh");
|
|
@@ -579,6 +623,17 @@ window.__ModuleLoader__.load({
|
|
|
579
623
|
})));
|
|
580
624
|
}
|
|
581
625
|
//#endregion
|
|
626
|
+
//#region ../shared/dist/components/Card.js
|
|
627
|
+
function Card({ t, title, refreshing, onRefresh, meta, head, children }) {
|
|
628
|
+
return h("section", { className: "wb-card" }, head === void 0 ? h(CardHead, {
|
|
629
|
+
t,
|
|
630
|
+
title,
|
|
631
|
+
refreshing,
|
|
632
|
+
onRefresh,
|
|
633
|
+
meta
|
|
634
|
+
}) : head, h("div", { className: "wb-cardBody" }, children));
|
|
635
|
+
}
|
|
636
|
+
//#endregion
|
|
582
637
|
//#region ../shared/dist/components/ChoiceGroup.js
|
|
583
638
|
function ChoiceGroup({ label, name, value, options, disabled, onChange }) {
|
|
584
639
|
return h("div", {
|
|
@@ -665,6 +720,12 @@ window.__ModuleLoader__.load({
|
|
|
665
720
|
}, mock.label)));
|
|
666
721
|
}
|
|
667
722
|
//#endregion
|
|
723
|
+
//#region ../shared/dist/components/Note.js
|
|
724
|
+
function Note({ tone = "muted", as, children }) {
|
|
725
|
+
const className = tone === "problem" ? "wb-problem" : "wb-note";
|
|
726
|
+
return as === "span" ? h("span", { className }, children) : h("p", { className }, children);
|
|
727
|
+
}
|
|
728
|
+
//#endregion
|
|
668
729
|
//#region ../shared/dist/components/ResourceStates.js
|
|
669
730
|
function SkeletonRows({ rows = 4 }) {
|
|
670
731
|
return h("div", {
|
|
@@ -692,6 +753,14 @@ window.__ModuleLoader__.load({
|
|
|
692
753
|
});
|
|
693
754
|
}
|
|
694
755
|
//#endregion
|
|
756
|
+
//#region ../shared/dist/components/Rows.js
|
|
757
|
+
function Rows({ children }) {
|
|
758
|
+
return h("div", { className: "wb-rows" }, children);
|
|
759
|
+
}
|
|
760
|
+
function Row({ label, value }) {
|
|
761
|
+
return h("div", { className: "wb-row" }, h("span", { className: "wb-rowKey" }, label), h("span", { className: "wb-rowValue" }, value));
|
|
762
|
+
}
|
|
763
|
+
//#endregion
|
|
695
764
|
//#region ../shared/dist/components/SaveBar.js
|
|
696
765
|
function SaveBar({ busy, disabled, labels, onCancel, onSave }) {
|
|
697
766
|
return h("div", { className: "wb-formActions" }, h(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
@@ -709,6 +778,25 @@ window.__ModuleLoader__.load({
|
|
|
709
778
|
}, busy ? labels.saving : labels.save));
|
|
710
779
|
}
|
|
711
780
|
//#endregion
|
|
781
|
+
//#region ../shared/dist/components/SettingsSection.js
|
|
782
|
+
function SettingsSection({ label, title, action, children }) {
|
|
783
|
+
return h("section", {
|
|
784
|
+
className: "wb-settings",
|
|
785
|
+
role: "group",
|
|
786
|
+
"aria-label": label
|
|
787
|
+
}, h("header", { className: "wb-settingsHead" }, h("span", { className: "wb-settingsTitle" }, title), action), children);
|
|
788
|
+
}
|
|
789
|
+
//#endregion
|
|
790
|
+
//#region ../shared/dist/components/Stack.js
|
|
791
|
+
function Stack({ children }) {
|
|
792
|
+
return h("div", { className: "wb-stack" }, children);
|
|
793
|
+
}
|
|
794
|
+
//#endregion
|
|
795
|
+
//#region ../shared/dist/components/StateBlock.js
|
|
796
|
+
function StateBlock({ title, dot, hint, actions, resolving, children }) {
|
|
797
|
+
return h("div", { className: "wb-stateBlock" }, title === void 0 && dot === void 0 ? null : h("p", { className: "wb-stateBlockTitle" }, dot, title), resolving === void 0 ? null : h("p", { className: "wb-stateBlockResolving" }, resolving), hint === void 0 ? null : h("p", { className: "wb-stateBlockHint" }, hint), children, actions === void 0 ? null : h("div", { className: "wb-stateBlockActions" }, actions));
|
|
798
|
+
}
|
|
799
|
+
//#endregion
|
|
712
800
|
//#region ../shared/dist/components/TextField.js
|
|
713
801
|
function TextField({ invalid = false, className, ...rest }) {
|
|
714
802
|
return h("input", {
|
|
@@ -800,6 +888,20 @@ window.__ModuleLoader__.load({
|
|
|
800
888
|
strokeWidth: "1.2"
|
|
801
889
|
}));
|
|
802
890
|
}
|
|
891
|
+
function IconPanelScreen({ size = 16 }) {
|
|
892
|
+
return h("svg", {
|
|
893
|
+
width: size,
|
|
894
|
+
height: size,
|
|
895
|
+
viewBox: "0 0 1024 1024",
|
|
896
|
+
fill: "currentColor",
|
|
897
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
898
|
+
"aria-hidden": "true",
|
|
899
|
+
style: {
|
|
900
|
+
display: "block",
|
|
901
|
+
overflow: "hidden"
|
|
902
|
+
}
|
|
903
|
+
}, h("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" }));
|
|
904
|
+
}
|
|
803
905
|
//#endregion
|
|
804
906
|
//#region ../shared/dist/config/storage.js
|
|
805
907
|
function readText(key) {
|
|
@@ -906,7 +1008,7 @@ window.__ModuleLoader__.load({
|
|
|
906
1008
|
"panels.market.empty": "No modules available",
|
|
907
1009
|
"panels.market.installedSection": "Installed",
|
|
908
1010
|
"panels.market.moduleOutdated": "update available",
|
|
909
|
-
"panels.market.moduleRestartHint": "
|
|
1011
|
+
"panels.market.moduleRestartHint": "installed but not active — restart dsh once to bring it up",
|
|
910
1012
|
"panels.market.restartNeeded": "The new version is installed — restart once to pick it up.",
|
|
911
1013
|
"panels.market.foot": "After installing, enable it in the panel page of that project.",
|
|
912
1014
|
"panels.market.recheck": "Check for updates",
|
|
@@ -1102,13 +1204,16 @@ window.__ModuleLoader__.load({
|
|
|
1102
1204
|
"rightbar.label": "Data panels",
|
|
1103
1205
|
"rightbar.expand": "Expand the data panel",
|
|
1104
1206
|
"rightbar.collapse": "Collapse the data panel",
|
|
1207
|
+
"rightbar.column.label": "Right column",
|
|
1208
|
+
"rightbar.column.workbench": "Workbench panel",
|
|
1209
|
+
"rightbar.column.dsh": "dsh panel",
|
|
1105
1210
|
"rightbar.refresh": "Refresh",
|
|
1106
1211
|
"rightbar.refreshing": "Refreshing…",
|
|
1107
1212
|
"rightbar.updatedAt": "updated {time}",
|
|
1108
1213
|
"rightbar.noProject": "The current session has no workspace",
|
|
1109
1214
|
"coding.notARepo.title": "This workspace is not a Coding repository",
|
|
1110
1215
|
"error.unknown": "Something went wrong",
|
|
1111
|
-
"board.title": "
|
|
1216
|
+
"board.title": "Workbench panel",
|
|
1112
1217
|
"panel.conversation": "Conversation",
|
|
1113
1218
|
"panels.label": "Global panels"
|
|
1114
1219
|
};
|
|
@@ -1195,7 +1300,7 @@ window.__ModuleLoader__.load({
|
|
|
1195
1300
|
"panels.market.empty": "暂无可用模块",
|
|
1196
1301
|
"panels.market.installedSection": "已装",
|
|
1197
1302
|
"panels.market.moduleOutdated": "有新版",
|
|
1198
|
-
"panels.market.moduleRestartHint": "
|
|
1303
|
+
"panels.market.moduleRestartHint": "装好了但还没生效 —— 重启一次 dsh 就会出来",
|
|
1199
1304
|
"panels.market.restartNeeded": "新版装好了,重启一次才生效。",
|
|
1200
1305
|
"panels.market.foot": "装好后到那个项目的面板页勾选它,模块才会出现。",
|
|
1201
1306
|
"panels.market.recheck": "重新检查更新",
|
|
@@ -1391,13 +1496,16 @@ window.__ModuleLoader__.load({
|
|
|
1391
1496
|
"rightbar.label": "数据面板",
|
|
1392
1497
|
"rightbar.expand": "展开数据面板",
|
|
1393
1498
|
"rightbar.collapse": "收起数据面板",
|
|
1499
|
+
"rightbar.column.label": "右侧栏",
|
|
1500
|
+
"rightbar.column.workbench": "工作台面板",
|
|
1501
|
+
"rightbar.column.dsh": "dsh 面板",
|
|
1394
1502
|
"rightbar.refresh": "刷新",
|
|
1395
1503
|
"rightbar.refreshing": "刷新中…",
|
|
1396
1504
|
"rightbar.updatedAt": "更新于 {time}",
|
|
1397
1505
|
"rightbar.noProject": "当前会话没有所属项目",
|
|
1398
1506
|
"coding.notARepo.title": "这个项目不是 Coding 仓库",
|
|
1399
1507
|
"error.unknown": "出错了",
|
|
1400
|
-
"board.title": "
|
|
1508
|
+
"board.title": "工作台面板",
|
|
1401
1509
|
"panel.conversation": "对话",
|
|
1402
1510
|
"panels.label": "全局面板"
|
|
1403
1511
|
};
|
|
@@ -1504,9 +1612,14 @@ window.__ModuleLoader__.load({
|
|
|
1504
1612
|
var dist_exports = /* @__PURE__ */ __exportAll({
|
|
1505
1613
|
ACTIONS_PREFIX: () => ACTIONS_PREFIX,
|
|
1506
1614
|
API_PREFIX: () => API_PREFIX,
|
|
1615
|
+
ActivityAction: () => ActivityAction,
|
|
1616
|
+
ActivityBlock: () => ActivityBlock,
|
|
1617
|
+
ActivityLine: () => ActivityLine,
|
|
1507
1618
|
ApprovalDetail: () => ApprovalDetail,
|
|
1619
|
+
ApprovalPlan: () => ApprovalPlan,
|
|
1508
1620
|
CODING_ISSUES_SERVICE: () => CODING_ISSUES_SERVICE,
|
|
1509
1621
|
CONTEXT_MARKER_NAME: () => CONTEXT_MARKER_NAME,
|
|
1622
|
+
Card: () => Card,
|
|
1510
1623
|
CardHead: () => CardHead,
|
|
1511
1624
|
CenteredState: () => CenteredState,
|
|
1512
1625
|
ChoiceGroup: () => ChoiceGroup,
|
|
@@ -1521,6 +1634,7 @@ window.__ModuleLoader__.load({
|
|
|
1521
1634
|
IconBrandMark: () => IconBrandMark,
|
|
1522
1635
|
IconConversation: () => IconConversation,
|
|
1523
1636
|
IconModules: () => IconModules,
|
|
1637
|
+
IconPanelScreen: () => IconPanelScreen,
|
|
1524
1638
|
LOCALES: () => LOCALES,
|
|
1525
1639
|
LOCALE_NS: () => LOCALE_NS,
|
|
1526
1640
|
LONG_TASK_IDLE_MS: () => LONG_TASK_IDLE_MS,
|
|
@@ -1528,6 +1642,7 @@ window.__ModuleLoader__.load({
|
|
|
1528
1642
|
LongTaskRow: () => LongTaskRow,
|
|
1529
1643
|
MIN_BUSY_MS: () => 500,
|
|
1530
1644
|
MockStrip: () => MockStrip,
|
|
1645
|
+
Note: () => Note,
|
|
1531
1646
|
OPENCLI_MAX_CONCURRENT: () => 4,
|
|
1532
1647
|
OPENCLI_PIN: () => OPENCLI_PIN,
|
|
1533
1648
|
OPENCLI_TIMEOUT_MS: () => OPENCLI_TIMEOUT_MS,
|
|
@@ -1538,10 +1653,17 @@ window.__ModuleLoader__.load({
|
|
|
1538
1653
|
PREFS_PREFIX: () => PREFS_PREFIX,
|
|
1539
1654
|
PROBE_TTL_MS: () => PROBE_TTL_MS,
|
|
1540
1655
|
PROVISION_PREFIX: () => PROVISION_PREFIX,
|
|
1656
|
+
RIGHTBAR_FULLSCREEN_WIDTH: () => 768,
|
|
1657
|
+
Row: () => Row,
|
|
1658
|
+
Rows: () => Rows,
|
|
1541
1659
|
STORAGE_KEY_PROJECT: () => STORAGE_KEY_PROJECT,
|
|
1542
1660
|
STORAGE_KEY_RIGHTBAR: () => STORAGE_KEY_RIGHTBAR,
|
|
1661
|
+
STORAGE_KEY_RIGHTBAR_COLUMN: () => STORAGE_KEY_RIGHTBAR_COLUMN,
|
|
1543
1662
|
SaveBar: () => SaveBar,
|
|
1663
|
+
SettingsSection: () => SettingsSection,
|
|
1544
1664
|
SkeletonRows: () => SkeletonRows,
|
|
1665
|
+
Stack: () => Stack,
|
|
1666
|
+
StateBlock: () => StateBlock,
|
|
1545
1667
|
TextField: () => TextField,
|
|
1546
1668
|
UNITS_SERVICE: () => UNITS_SERVICE,
|
|
1547
1669
|
VERSION_CHECK_TIMEOUT_MS: () => VERSION_CHECK_TIMEOUT_MS,
|
|
@@ -1588,6 +1710,7 @@ window.__ModuleLoader__.load({
|
|
|
1588
1710
|
unitFactScope: () => unitFactScope,
|
|
1589
1711
|
useCallback: () => useCallback,
|
|
1590
1712
|
useEffect: () => useEffect,
|
|
1713
|
+
useLayoutEffect: () => useLayoutEffect,
|
|
1591
1714
|
useMemo: () => useMemo,
|
|
1592
1715
|
useRef: () => useRef,
|
|
1593
1716
|
useState: () => useState,
|
|
@@ -1921,6 +2044,14 @@ window.__ModuleLoader__.load({
|
|
|
1921
2044
|
return input.now - input.checkedAt >= input.staleMs;
|
|
1922
2045
|
}
|
|
1923
2046
|
//#endregion
|
|
2047
|
+
//#region src/app/layouts/rightbar/market-settle.ts
|
|
2048
|
+
var MODULE_SETTLE_MS = 15e3;
|
|
2049
|
+
function holdBack(installed, roster, active, previous) {
|
|
2050
|
+
const pending = installed.filter((unit) => !roster.has(unit));
|
|
2051
|
+
const fresh = previous === null ? [] : pending.filter((unit) => !previous.has(unit));
|
|
2052
|
+
return pending.filter((unit) => active.has(unit) || fresh.includes(unit));
|
|
2053
|
+
}
|
|
2054
|
+
//#endregion
|
|
1924
2055
|
//#region src/app/layouts/rightbar/market-mock.ts
|
|
1925
2056
|
function installable(manifest) {
|
|
1926
2057
|
return {
|
|
@@ -2512,20 +2643,21 @@ window.__ModuleLoader__.load({
|
|
|
2512
2643
|
host: { inject: [] }
|
|
2513
2644
|
};
|
|
2514
2645
|
function FixtureCard({ t, onRefresh }) {
|
|
2515
|
-
return /* @__PURE__ */ h(
|
|
2646
|
+
return /* @__PURE__ */ h(Card, {
|
|
2516
2647
|
t,
|
|
2517
2648
|
title: t(KEY.cardTitle),
|
|
2518
2649
|
meta: t(KEY.cardMeta),
|
|
2519
2650
|
refreshing: false,
|
|
2520
2651
|
onRefresh
|
|
2521
|
-
}
|
|
2652
|
+
}, /* @__PURE__ */ h(Rows, null, [
|
|
2522
2653
|
1,
|
|
2523
2654
|
2,
|
|
2524
2655
|
3
|
|
2525
|
-
].map((n) => /* @__PURE__ */ h(
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2656
|
+
].map((n) => /* @__PURE__ */ h(Row, {
|
|
2657
|
+
key: String(n),
|
|
2658
|
+
label: t(KEY.rowKey),
|
|
2659
|
+
value: t(KEY.rowValue, { n: String(n) })
|
|
2660
|
+
}))));
|
|
2529
2661
|
}
|
|
2530
2662
|
var FIXTURE_FACE = {
|
|
2531
2663
|
manifest,
|
|
@@ -2560,7 +2692,17 @@ window.__ModuleLoader__.load({
|
|
|
2560
2692
|
unchecked: "idle",
|
|
2561
2693
|
unknown: "idle"
|
|
2562
2694
|
};
|
|
2563
|
-
function
|
|
2695
|
+
function mergeTitles(known, manifests) {
|
|
2696
|
+
let next = null;
|
|
2697
|
+
for (const manifest of manifests) {
|
|
2698
|
+
const titleKey = manifest.card?.titleKey;
|
|
2699
|
+
if (titleKey === void 0 || known.has(manifest.id)) continue;
|
|
2700
|
+
next ??= new Map(known);
|
|
2701
|
+
next.set(manifest.id, titleKey);
|
|
2702
|
+
}
|
|
2703
|
+
return next ?? known;
|
|
2704
|
+
}
|
|
2705
|
+
function installedRows(modules, manifests, listed, known) {
|
|
2564
2706
|
const titles = new Map(manifests.map((manifest) => [manifest.id, manifest.card?.titleKey]));
|
|
2565
2707
|
const rows = [];
|
|
2566
2708
|
for (const module of modules) {
|
|
@@ -2569,8 +2711,9 @@ window.__ModuleLoader__.load({
|
|
|
2569
2711
|
const outdated = latest !== void 0 && latest !== module.installed;
|
|
2570
2712
|
rows.push({
|
|
2571
2713
|
id: module.unit,
|
|
2572
|
-
titleKey: titles.get(module.unit) ?? module.pkg,
|
|
2714
|
+
titleKey: titles.get(module.unit) ?? known?.get(module.unit) ?? module.pkg,
|
|
2573
2715
|
state: outdated ? "outdated" : "installed",
|
|
2716
|
+
hint: "panels.market.moduleRestartHint",
|
|
2574
2717
|
pkg: module.pkg,
|
|
2575
2718
|
canInstall: false,
|
|
2576
2719
|
canUpdate: outdated,
|
|
@@ -2629,6 +2772,12 @@ window.__ModuleLoader__.load({
|
|
|
2629
2772
|
function isOnMachine(state) {
|
|
2630
2773
|
return state === "installed" || state === "outdated";
|
|
2631
2774
|
}
|
|
2775
|
+
function liveManifests(manifests, capabilities, installed) {
|
|
2776
|
+
if (capabilities === null || installed === null) return manifests;
|
|
2777
|
+
const gone = new Set(marketRows(manifests, capabilities).filter((row) => !installed.has(row.id) && marketActions$1(row).length === 0 && (row.state === "unknown" || row.state === "unchecked")).map((row) => row.id));
|
|
2778
|
+
if (gone.size === 0) return manifests;
|
|
2779
|
+
return manifests.filter((manifest) => !gone.has(manifest.id));
|
|
2780
|
+
}
|
|
2632
2781
|
function marketHasUpdates(rows, shared = []) {
|
|
2633
2782
|
return rows.some((row) => row.state === "outdated" || row.moduleUpdate !== void 0) || shared.some((row) => row.state === "outdated" || row.state === "unsatisfied");
|
|
2634
2783
|
}
|
|
@@ -2758,6 +2907,7 @@ window.__ModuleLoader__.load({
|
|
|
2758
2907
|
...bucket.installed === void 0 ? {} : { installed: bucket.installed },
|
|
2759
2908
|
...bucket.latest === void 0 ? {} : { latest: bucket.latest }
|
|
2760
2909
|
};
|
|
2910
|
+
const detail = bucket.purpose === void 0 && bucket.command === void 0 ? void 0 : `${bucket.label}${bucket.purpose === void 0 ? "" : ` —— ${bucket.purpose}`}${bucket.command === void 0 ? "" : ` · ${bucket.command}`}`;
|
|
2761
2911
|
rows.push({
|
|
2762
2912
|
id: `${bucket.kind}:${bucket.name}`,
|
|
2763
2913
|
label: bucket.label,
|
|
@@ -2765,7 +2915,7 @@ window.__ModuleLoader__.load({
|
|
|
2765
2915
|
state,
|
|
2766
2916
|
canUpdate: state === "outdated" || state === "unsatisfied",
|
|
2767
2917
|
...version === void 0 ? {} : { version },
|
|
2768
|
-
detail
|
|
2918
|
+
...detail === void 0 ? {} : { detail }
|
|
2769
2919
|
});
|
|
2770
2920
|
}
|
|
2771
2921
|
return rows;
|
|
@@ -2822,15 +2972,188 @@ window.__ModuleLoader__.load({
|
|
|
2822
2972
|
clear
|
|
2823
2973
|
};
|
|
2824
2974
|
}
|
|
2825
|
-
|
|
2826
|
-
|
|
2827
|
-
|
|
2828
|
-
|
|
2975
|
+
//#endregion
|
|
2976
|
+
//#region src/app/layouts/market/add-module-text.ts
|
|
2977
|
+
var GUIDE_ITEMS = [
|
|
2978
|
+
{
|
|
2979
|
+
titleKey: "panels.market.add.guideIdTitle",
|
|
2980
|
+
exampleKey: "panels.market.add.guideIdExample",
|
|
2981
|
+
hintKey: "panels.market.add.guideIdHint"
|
|
2982
|
+
},
|
|
2983
|
+
{
|
|
2984
|
+
titleKey: "panels.market.add.guideGitTitle",
|
|
2985
|
+
exampleKey: "panels.market.add.guideGitExample",
|
|
2986
|
+
hintKey: "panels.market.add.guideGitHint"
|
|
2987
|
+
},
|
|
2988
|
+
{
|
|
2989
|
+
titleKey: "panels.market.add.guidePathTitle",
|
|
2990
|
+
exampleKey: "panels.market.add.guidePathExample",
|
|
2991
|
+
hintKey: "panels.market.add.guidePathHint"
|
|
2992
|
+
}
|
|
2993
|
+
];
|
|
2994
|
+
function hostOf(url) {
|
|
2995
|
+
try {
|
|
2996
|
+
return new URL(url).host;
|
|
2997
|
+
} catch {
|
|
2998
|
+
return url;
|
|
2999
|
+
}
|
|
3000
|
+
}
|
|
3001
|
+
var OFFICIAL_NPM_HOST = "registry.npmjs.org";
|
|
3002
|
+
var KNOWN_HOSTS = {
|
|
3003
|
+
[OFFICIAL_NPM_HOST]: "panels.market.add.registryOfficial",
|
|
3004
|
+
"registry.npmmirror.com": "panels.market.add.registryMirror"
|
|
3005
|
+
};
|
|
3006
|
+
function registryNameKey(host) {
|
|
3007
|
+
return KNOWN_HOSTS[host];
|
|
3008
|
+
}
|
|
3009
|
+
function normalizeRegistry(url) {
|
|
3010
|
+
const parsed = new URL(url);
|
|
3011
|
+
if (!parsed.pathname.endsWith("/")) parsed.pathname += "/";
|
|
3012
|
+
return parsed.href;
|
|
3013
|
+
}
|
|
3014
|
+
function registryKey(url, resolved) {
|
|
3015
|
+
const target = url ?? resolved;
|
|
3016
|
+
if (target === null) return "";
|
|
3017
|
+
try {
|
|
3018
|
+
return normalizeRegistry(target);
|
|
3019
|
+
} catch {
|
|
3020
|
+
return target;
|
|
3021
|
+
}
|
|
3022
|
+
}
|
|
3023
|
+
function registryOptions(registries) {
|
|
3024
|
+
const resolved = registries === null ? null : registries.resolved;
|
|
3025
|
+
const entries = [
|
|
3026
|
+
registries === null ? null : registries.registry,
|
|
3027
|
+
...registries === null ? [] : registries.fallbackRegistries,
|
|
3028
|
+
null
|
|
3029
|
+
];
|
|
3030
|
+
const offered = [];
|
|
3031
|
+
const keys = /* @__PURE__ */ new Set();
|
|
3032
|
+
for (const entry of entries) {
|
|
3033
|
+
const key = registryKey(entry, resolved);
|
|
3034
|
+
if (keys.has(key)) continue;
|
|
3035
|
+
keys.add(key);
|
|
3036
|
+
const url = entry ?? resolved;
|
|
3037
|
+
if (url === null) {
|
|
3038
|
+
offered.push({
|
|
3039
|
+
choice: {
|
|
3040
|
+
kind: "default",
|
|
3041
|
+
value: ""
|
|
3042
|
+
},
|
|
3043
|
+
host: OFFICIAL_NPM_HOST,
|
|
3044
|
+
nameKey: "panels.market.add.registryDefault"
|
|
3045
|
+
});
|
|
3046
|
+
continue;
|
|
3047
|
+
}
|
|
3048
|
+
const host = hostOf(url);
|
|
3049
|
+
const nameKey = registryNameKey(host);
|
|
3050
|
+
offered.push({
|
|
3051
|
+
choice: entry === null ? {
|
|
3052
|
+
kind: "default",
|
|
3053
|
+
value: ""
|
|
3054
|
+
} : {
|
|
3055
|
+
kind: "url",
|
|
3056
|
+
value: entry
|
|
3057
|
+
},
|
|
3058
|
+
host,
|
|
3059
|
+
...nameKey === void 0 ? {} : { nameKey }
|
|
3060
|
+
});
|
|
3061
|
+
}
|
|
3062
|
+
offered.push({ choice: {
|
|
3063
|
+
kind: "custom",
|
|
3064
|
+
value: ""
|
|
3065
|
+
} });
|
|
3066
|
+
return offered;
|
|
3067
|
+
}
|
|
3068
|
+
function customRegistryAllowed(value) {
|
|
3069
|
+
return /^https?:\/\//.test(value.trim());
|
|
3070
|
+
}
|
|
3071
|
+
function registryOf(choice, custom) {
|
|
3072
|
+
if (choice.kind === "custom") return customRegistryAllowed(custom) ? custom.trim() : void 0;
|
|
3073
|
+
return choice.value === "" ? void 0 : choice.value;
|
|
3074
|
+
}
|
|
3075
|
+
function registryName(option, t) {
|
|
3076
|
+
if (option.choice.kind === "custom") return t("panels.market.add.registryCustom");
|
|
3077
|
+
if (option.nameKey !== void 0) return t(option.nameKey);
|
|
3078
|
+
return option.host ?? t("panels.market.add.registryDefault");
|
|
3079
|
+
}
|
|
3080
|
+
function optionLabel(option, t) {
|
|
3081
|
+
if (option.choice.kind === "custom") return t("panels.market.add.registryCustom");
|
|
3082
|
+
if (option.host === void 0) return t("panels.market.add.registryDefault");
|
|
3083
|
+
return option.nameKey === void 0 ? option.host : t("panels.market.add.registryWithHost", {
|
|
3084
|
+
name: t(option.nameKey),
|
|
3085
|
+
host: option.host
|
|
3086
|
+
});
|
|
3087
|
+
}
|
|
3088
|
+
var PROBLEM_KEYS = {
|
|
3089
|
+
"invalid-spec": "panels.market.add.problemInvalid",
|
|
3090
|
+
"already-installed": "panels.market.add.problemInstalled",
|
|
3091
|
+
"not-found": "panels.market.add.problemNotFound",
|
|
3092
|
+
"not-a-package": "panels.market.add.problemNotPackage",
|
|
3093
|
+
"not-a-bundle": "panels.market.add.problemNotBundle",
|
|
3094
|
+
network: "panels.market.add.problemNetwork",
|
|
3095
|
+
unknown: "panels.market.add.problemUnknown"
|
|
3096
|
+
};
|
|
3097
|
+
function problemKey(problem) {
|
|
3098
|
+
return PROBLEM_KEYS[problem] ?? PROBLEM_KEYS.unknown;
|
|
3099
|
+
}
|
|
3100
|
+
var FAILURE_KEYS = {
|
|
3101
|
+
network: "panels.market.add.failureNetwork",
|
|
3102
|
+
"spec-host": "panels.market.add.failureNetworkHost",
|
|
3103
|
+
"not-found": "panels.market.add.failureNotFound",
|
|
3104
|
+
"no-matching-version": "panels.market.add.failureNoMatchingVersion",
|
|
3105
|
+
"disk-full": "panels.market.add.failureDiskFull",
|
|
3106
|
+
permission: "panels.market.add.failurePermission",
|
|
3107
|
+
"build-blocked": "panels.market.add.failureBuildBlocked",
|
|
3108
|
+
integrity: "panels.market.add.failureIntegrity",
|
|
3109
|
+
timeout: "panels.market.add.failureTimeout",
|
|
3110
|
+
"pnpm-missing": "panels.market.add.failurePnpmMissing",
|
|
3111
|
+
"operation-error": "panels.market.add.failureGeneric",
|
|
3112
|
+
"incompatible-version": "panels.market.add.failureGeneric",
|
|
3113
|
+
"not-bundle": "panels.market.add.failureGeneric",
|
|
3114
|
+
"invalid-spec": "panels.market.add.failureGeneric",
|
|
3115
|
+
"bundle-in-use": "panels.market.add.failureGeneric",
|
|
3116
|
+
"not-removable": "panels.market.add.failureGeneric",
|
|
3117
|
+
"stop-profile": "panels.market.add.failureGeneric",
|
|
3118
|
+
"stale-approval": "panels.market.add.failureGeneric"
|
|
3119
|
+
};
|
|
3120
|
+
function failureCode(change) {
|
|
3121
|
+
if (change.failedAt === "spec-host") return "spec-host";
|
|
3122
|
+
return change.errorCode ?? change.packageResult?.kind ?? change.application;
|
|
3123
|
+
}
|
|
3124
|
+
function failureReasonKey(code) {
|
|
3125
|
+
return FAILURE_KEYS[code];
|
|
3126
|
+
}
|
|
3127
|
+
function failureReason(code, application, t) {
|
|
3128
|
+
const key = failureReasonKey(code);
|
|
3129
|
+
if (key !== void 0) return t(key);
|
|
3130
|
+
if (code === application) return t("panels.market.add.reason.unknown");
|
|
3131
|
+
return code;
|
|
3132
|
+
}
|
|
3133
|
+
var SUPPLY_KEYS = {
|
|
3134
|
+
"pending-restart": "panels.market.add.supplyPending",
|
|
3135
|
+
failed: "panels.market.add.supplyFailed",
|
|
3136
|
+
"not-a-module": "panels.market.add.notModule",
|
|
3137
|
+
"no-needs": void 0
|
|
2829
3138
|
};
|
|
3139
|
+
function supplyKey(state) {
|
|
3140
|
+
return SUPPLY_KEYS[state];
|
|
3141
|
+
}
|
|
2830
3142
|
//#endregion
|
|
2831
|
-
//#region src/
|
|
2832
|
-
|
|
2833
|
-
|
|
3143
|
+
//#region src/app/layouts/rightbar/market-change.ts
|
|
3144
|
+
var SHIPPED = [
|
|
3145
|
+
"applied",
|
|
3146
|
+
"restart-required",
|
|
3147
|
+
"overridden"
|
|
3148
|
+
];
|
|
3149
|
+
function changeOf(value) {
|
|
3150
|
+
const change = value?.change;
|
|
3151
|
+
if (typeof change !== "object" || change === null) return void 0;
|
|
3152
|
+
return typeof change.application === "string" ? change : void 0;
|
|
3153
|
+
}
|
|
3154
|
+
function changeFailure(change, t) {
|
|
3155
|
+
if (change === void 0 || SHIPPED.includes(change.application)) return void 0;
|
|
3156
|
+
return failureReason(failureCode(change), change.application, t);
|
|
2834
3157
|
}
|
|
2835
3158
|
var MarketPage_module_default = {
|
|
2836
3159
|
marketList: "_marketList_7yq35_1",
|
|
@@ -2865,7 +3188,18 @@ window.__ModuleLoader__.load({
|
|
|
2865
3188
|
marketEmptyTitle: "_marketEmptyTitle_7yq35_267"
|
|
2866
3189
|
};
|
|
2867
3190
|
//#endregion
|
|
2868
|
-
//#region src/app/layouts/rightbar/
|
|
3191
|
+
//#region src/app/layouts/rightbar/MarketStates.tsx
|
|
3192
|
+
function MarketChecking({ t }) {
|
|
3193
|
+
return /* @__PURE__ */ h("div", { className: MarketPage_module_default.marketEmpty }, /* @__PURE__ */ h("span", { className: MarketPage_module_default.marketChecking }, /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.StateDot, {
|
|
3194
|
+
state: "ongoing",
|
|
3195
|
+
size: 14
|
|
3196
|
+
}), t("panels.market.checking")));
|
|
3197
|
+
}
|
|
3198
|
+
function MarketEmpty({ t }) {
|
|
3199
|
+
return /* @__PURE__ */ h("div", { className: MarketPage_module_default.marketEmpty }, /* @__PURE__ */ h("div", { className: MarketPage_module_default.marketEmptyTitle }, t("panels.market.empty")));
|
|
3200
|
+
}
|
|
3201
|
+
//#endregion
|
|
3202
|
+
//#region src/app/layouts/rightbar/market-view-text.ts
|
|
2869
3203
|
var PROGRESS_KEY = {
|
|
2870
3204
|
install: "panels.market.installing",
|
|
2871
3205
|
update: "panels.market.updating",
|
|
@@ -2882,18 +3216,22 @@ window.__ModuleLoader__.load({
|
|
|
2882
3216
|
uninstall: "panels.market.uninstall",
|
|
2883
3217
|
"update-dependency": "panels.market.update"
|
|
2884
3218
|
};
|
|
2885
|
-
|
|
3219
|
+
//#endregion
|
|
3220
|
+
//#region src/app/layouts/rightbar/SharedSection.tsx
|
|
3221
|
+
function SharedLine({ t, row, pending, failure, onAct }) {
|
|
2886
3222
|
const running = pending !== null && pending.id === row.id ? pending : null;
|
|
2887
3223
|
const locked = pending !== null;
|
|
2888
|
-
const actions =
|
|
2889
|
-
const stateText = t(
|
|
3224
|
+
const actions = sharedActions(row);
|
|
3225
|
+
const stateText = t(SHARED_STATE_KEY[row.state]);
|
|
3226
|
+
const version = row.version;
|
|
3227
|
+
const name = /* @__PURE__ */ h("span", { className: MarketPage_module_default.marketName }, row.label, version === void 0 ? null : /* @__PURE__ */ h("span", { className: MarketPage_module_default.marketVersion }, version.installed !== void 0 && version.latest !== void 0 && version.installed !== version.latest ? t("panels.market.versionArrow", {
|
|
3228
|
+
from: version.installed,
|
|
3229
|
+
to: version.latest
|
|
3230
|
+
}) : version.installed ?? version.latest ?? ""));
|
|
2890
3231
|
return /* @__PURE__ */ h("li", { className: MarketPage_module_default.marketRow }, /* @__PURE__ */ h("span", {
|
|
2891
3232
|
className: MarketPage_module_default.marketIcon,
|
|
2892
3233
|
"aria-hidden": "true"
|
|
2893
|
-
}, /* @__PURE__ */ h(IconModules, { size: 18 })), /* @__PURE__ */ h("div", { className: MarketPage_module_default.marketMain },
|
|
2894
|
-
from: row.version.installed,
|
|
2895
|
-
to: row.version.latest
|
|
2896
|
-
}) : row.version.installed ?? row.version.latest ?? "")), /* @__PURE__ */ h(Tip, { label: stateText }, /* @__PURE__ */ h("span", {
|
|
3234
|
+
}, /* @__PURE__ */ h(IconModules, { size: 18 })), /* @__PURE__ */ h("div", { className: MarketPage_module_default.marketMain }, row.detail === void 0 ? name : /* @__PURE__ */ h(Tip, { label: row.detail }, name), /* @__PURE__ */ h("span", {
|
|
2897
3235
|
className: MarketPage_module_default.marketDesc,
|
|
2898
3236
|
role: "img",
|
|
2899
3237
|
"aria-label": stateText
|
|
@@ -2901,39 +3239,57 @@ window.__ModuleLoader__.load({
|
|
|
2901
3239
|
state: "ongoing",
|
|
2902
3240
|
size: 14
|
|
2903
3241
|
}) : /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.StateDot, {
|
|
2904
|
-
state:
|
|
3242
|
+
state: SHARED_DOT[row.state],
|
|
2905
3243
|
size: 9
|
|
2906
|
-
}), stateText,
|
|
3244
|
+
}), stateText, /* @__PURE__ */ h("span", { className: MarketPage_module_default.marketUsedBy }, t("panels.market.sharedUsedBy", { modules: row.usedByKeys.map((key) => t(key)).join(t("panels.market.listSeparator")) })))), /* @__PURE__ */ h("div", { className: MarketPage_module_default.marketEnd }, running !== null ? /* @__PURE__ */ h("span", { className: MarketPage_module_default.marketProgress }, /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.StateDot, {
|
|
2907
3245
|
state: "ongoing",
|
|
2908
3246
|
size: 14
|
|
2909
|
-
}), t(PROGRESS_KEY[running.action])) : actions.length === 0 ? null : /* @__PURE__ */ h("span", { className: MarketPage_module_default.marketActions }, actions.map((action) => {
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
|
|
2917
|
-
icon: danger ? /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.IconTrashOutlineRegular, { size: 13 }) : void 0,
|
|
2918
|
-
"aria-label": danger ? t("panels.market.uninstallLabel", { name: t(row.titleKey) }) : void 0,
|
|
2919
|
-
disabled: locked,
|
|
2920
|
-
onClick: () => onAct(action)
|
|
2921
|
-
}, t(ACTION_LABEL_KEY[action]));
|
|
2922
|
-
}))), row.note === void 0 ? null : /* @__PURE__ */ h("div", { className: MarketPage_module_default.marketNote }, t(row.note.key, row.note.params)), failure === null ? null : /* @__PURE__ */ h("div", { className: MarketPage_module_default.marketFailure }, failure));
|
|
3247
|
+
}), t(PROGRESS_KEY[running.action])) : actions.length === 0 ? null : /* @__PURE__ */ h("span", { className: MarketPage_module_default.marketActions }, actions.map((action) => /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
3248
|
+
key: action,
|
|
3249
|
+
type: "button",
|
|
3250
|
+
size: "sm",
|
|
3251
|
+
variant: "outline",
|
|
3252
|
+
disabled: locked,
|
|
3253
|
+
onClick: () => onAct(action)
|
|
3254
|
+
}, t(ACTION_LABEL_KEY[action]))))), failure === null ? null : /* @__PURE__ */ h("div", { className: MarketPage_module_default.marketFailure }, failure));
|
|
2923
3255
|
}
|
|
2924
|
-
function
|
|
3256
|
+
function SharedSection({ t, rows, pending, failureOf, act }) {
|
|
3257
|
+
if (rows.length === 0) return null;
|
|
3258
|
+
return /* @__PURE__ */ h("section", { className: MarketPage_module_default.marketSection }, /* @__PURE__ */ h("div", { className: MarketPage_module_default.marketSectionHead }, /* @__PURE__ */ h("h2", { className: MarketPage_module_default.marketSectionTitle }, t("panels.market.sectionShared")), /* @__PURE__ */ h("span", { className: MarketPage_module_default.marketSectionCount }, rows.length)), /* @__PURE__ */ h("ul", { className: MarketPage_module_default.marketList }, rows.map((row) => /* @__PURE__ */ h(SharedLine, {
|
|
3259
|
+
key: row.id,
|
|
3260
|
+
t,
|
|
3261
|
+
row,
|
|
3262
|
+
pending,
|
|
3263
|
+
failure: failureOf(row.id),
|
|
3264
|
+
onAct: (action) => void act(row.id, action)
|
|
3265
|
+
}))));
|
|
3266
|
+
}
|
|
3267
|
+
var PanelFoot_module_default = {
|
|
3268
|
+
foot: "_foot_1us83_1",
|
|
3269
|
+
footText: "_footText_1us83_12",
|
|
3270
|
+
footTextMd: "_footTextMd_1us83_17"
|
|
3271
|
+
};
|
|
3272
|
+
//#endregion
|
|
3273
|
+
//#region src/shared/components/PanelFoot.tsx
|
|
3274
|
+
function PanelFoot({ text, size = "sm", children }) {
|
|
3275
|
+
return /* @__PURE__ */ h("footer", { className: PanelFoot_module_default.foot }, /* @__PURE__ */ h("span", { className: size === "md" ? PanelFoot_module_default.footTextMd : PanelFoot_module_default.footText }, text), children ?? null);
|
|
3276
|
+
}
|
|
3277
|
+
//#endregion
|
|
3278
|
+
//#region src/app/layouts/rightbar/MarketView.tsx
|
|
3279
|
+
var CONFIRM_UNINSTALL = ["uninstall", "remove-bundle"];
|
|
3280
|
+
var CONFIRM_REMOVE = ["remove-bundle"];
|
|
3281
|
+
function MarketLine({ t, row, pending, failure, onAct }) {
|
|
2925
3282
|
const running = pending !== null && pending.id === row.id ? pending : null;
|
|
2926
3283
|
const locked = pending !== null;
|
|
2927
|
-
const actions =
|
|
2928
|
-
const stateText = t(
|
|
2929
|
-
const version = row.version;
|
|
3284
|
+
const actions = marketActions$1(row);
|
|
3285
|
+
const stateText = t(row.moduleUpdate === void 0 ? MARKET_STATE_KEY[row.state] : "panels.market.moduleOutdated");
|
|
2930
3286
|
return /* @__PURE__ */ h("li", { className: MarketPage_module_default.marketRow }, /* @__PURE__ */ h("span", {
|
|
2931
3287
|
className: MarketPage_module_default.marketIcon,
|
|
2932
3288
|
"aria-hidden": "true"
|
|
2933
|
-
}, /* @__PURE__ */ h(IconModules, { size: 18 })), /* @__PURE__ */ h("div", { className: MarketPage_module_default.marketMain }, /* @__PURE__ */ h(
|
|
2934
|
-
from: version.installed,
|
|
2935
|
-
to: version.latest
|
|
2936
|
-
}) : version.installed ?? version.latest ?? ""))
|
|
3289
|
+
}, /* @__PURE__ */ h(IconModules, { size: 18 })), /* @__PURE__ */ h("div", { className: MarketPage_module_default.marketMain }, /* @__PURE__ */ h("span", { className: MarketPage_module_default.marketName }, t(row.titleKey), row.version === void 0 ? null : /* @__PURE__ */ h("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", {
|
|
3290
|
+
from: row.version.installed,
|
|
3291
|
+
to: row.version.latest
|
|
3292
|
+
}) : row.version.installed ?? row.version.latest ?? "")), /* @__PURE__ */ h("span", {
|
|
2937
3293
|
className: MarketPage_module_default.marketDesc,
|
|
2938
3294
|
role: "img",
|
|
2939
3295
|
"aria-label": stateText
|
|
@@ -2941,19 +3297,25 @@ window.__ModuleLoader__.load({
|
|
|
2941
3297
|
state: "ongoing",
|
|
2942
3298
|
size: 14
|
|
2943
3299
|
}) : /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.StateDot, {
|
|
2944
|
-
state:
|
|
3300
|
+
state: MARKET_DOT[row.state],
|
|
2945
3301
|
size: 9
|
|
2946
|
-
}), stateText, /* @__PURE__ */ h("span", { className: MarketPage_module_default.marketUsedBy }, t(
|
|
3302
|
+
}), stateText, row.hint === void 0 ? null : /* @__PURE__ */ h("span", { className: MarketPage_module_default.marketUsedBy }, t(row.hint)))), /* @__PURE__ */ h("div", { className: MarketPage_module_default.marketEnd }, running !== null ? /* @__PURE__ */ h("span", { className: MarketPage_module_default.marketProgress }, /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.StateDot, {
|
|
2947
3303
|
state: "ongoing",
|
|
2948
3304
|
size: 14
|
|
2949
|
-
}), t(PROGRESS_KEY[running.action])) : actions.length === 0 ? null : /* @__PURE__ */ h("span", { className: MarketPage_module_default.marketActions }, actions.map((action) =>
|
|
2950
|
-
|
|
2951
|
-
|
|
2952
|
-
|
|
2953
|
-
|
|
2954
|
-
|
|
2955
|
-
|
|
2956
|
-
|
|
3305
|
+
}), t(PROGRESS_KEY[running.action])) : actions.length === 0 ? null : /* @__PURE__ */ h("span", { className: MarketPage_module_default.marketActions }, actions.map((action) => {
|
|
3306
|
+
const danger = action === "uninstall" || action === "remove-bundle";
|
|
3307
|
+
return /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
3308
|
+
key: action,
|
|
3309
|
+
type: "button",
|
|
3310
|
+
size: "sm",
|
|
3311
|
+
variant: action === "install" ? "primary" : "outline",
|
|
3312
|
+
className: danger ? "wb-dangerAction" : void 0,
|
|
3313
|
+
icon: danger ? /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.IconTrashOutlineRegular, { size: 13 }) : void 0,
|
|
3314
|
+
"aria-label": danger ? t("panels.market.uninstallLabel", { name: t(row.titleKey) }) : void 0,
|
|
3315
|
+
disabled: locked,
|
|
3316
|
+
onClick: () => onAct(action)
|
|
3317
|
+
}, t(ACTION_LABEL_KEY[action]));
|
|
3318
|
+
}))), row.note === void 0 ? null : /* @__PURE__ */ h("div", { className: MarketPage_module_default.marketNote }, t(row.note.key, row.note.params)), failure === null ? null : /* @__PURE__ */ h("div", { className: MarketPage_module_default.marketFailure }, failure));
|
|
2957
3319
|
}
|
|
2958
3320
|
function ConfirmUninstall({ t, name, onConfirm, onCancel }) {
|
|
2959
3321
|
const [acknowledged, setAcknowledged] = useState(false);
|
|
@@ -2971,7 +3333,7 @@ window.__ModuleLoader__.load({
|
|
|
2971
3333
|
onConfirm
|
|
2972
3334
|
});
|
|
2973
3335
|
}
|
|
2974
|
-
function MarketSection({ t, titleKey, rows, pending, failureOf, act,
|
|
3336
|
+
function MarketSection({ t, titleKey, rows, pending, failureOf, act, confirmActions, onConfirming }) {
|
|
2975
3337
|
if (rows.length === 0) return null;
|
|
2976
3338
|
return /* @__PURE__ */ h("section", { className: MarketPage_module_default.marketSection }, /* @__PURE__ */ h("div", { className: MarketPage_module_default.marketSectionHead }, /* @__PURE__ */ h("h2", { className: MarketPage_module_default.marketSectionTitle }, t(titleKey)), /* @__PURE__ */ h("span", { className: MarketPage_module_default.marketSectionCount }, rows.length)), /* @__PURE__ */ h("ul", { className: MarketPage_module_default.marketList }, rows.map((row) => /* @__PURE__ */ h(MarketLine, {
|
|
2977
3339
|
key: row.id,
|
|
@@ -2979,29 +3341,50 @@ window.__ModuleLoader__.load({
|
|
|
2979
3341
|
row,
|
|
2980
3342
|
pending,
|
|
2981
3343
|
failure: failureOf(row.id),
|
|
2982
|
-
onAct: (action) => action
|
|
3344
|
+
onAct: (action) => confirmActions.includes(action) ? onConfirming(row.id) : void act(row.id, action)
|
|
2983
3345
|
}))));
|
|
2984
3346
|
}
|
|
2985
|
-
function MarketView({ t, manifests, capabilities, freshness, onChanged, updates, installed, installedRead, mock }) {
|
|
2986
|
-
const
|
|
3347
|
+
function MarketView({ t, manifests, capabilities, freshness, onChanged, updates, installed, installedRead, settling, mock }) {
|
|
3348
|
+
const [titles, setTitles] = useState(/* @__PURE__ */ new Map());
|
|
3349
|
+
useEffect(() => {
|
|
3350
|
+
if (mock === void 0) setTitles((known) => mergeTitles(known, manifests));
|
|
3351
|
+
}, [manifests, mock]);
|
|
3352
|
+
const catalog = mock?.manifests ?? manifests;
|
|
2987
3353
|
const effective = mock === void 0 ? capabilities : mock.capabilities;
|
|
3354
|
+
const source = liveManifests(catalog, effective, mock === void 0 && installed !== void 0 ? new Set(installed.map((item) => item.unit)) : null);
|
|
2988
3355
|
const rows = marketRows(source, effective, mock?.updates ?? updates ?? {});
|
|
2989
3356
|
const shared = sharedRows(source, effective);
|
|
2990
|
-
const installedList = installedRows(mock?.installed ?? installed ?? [], source, new Set(rows.map((row) => row.id)));
|
|
2991
|
-
const rowById = new Map([...rows, ...installedList].map((row) => [row.id, row]));
|
|
2992
3357
|
const [pending, setPending] = useState(mock?.pending ?? null);
|
|
2993
3358
|
const provision = useHostWrite({
|
|
2994
3359
|
channel: "provision",
|
|
2995
3360
|
networkText: t("panels.failed")
|
|
2996
3361
|
});
|
|
2997
3362
|
const [confirming, setConfirming] = useState(mock?.confirming ?? null);
|
|
2998
|
-
const confirmingRow = confirming === null ? void 0 : rowById.get(confirming);
|
|
2999
3363
|
const [failed, setFailed] = useState(mock?.failure ?? null);
|
|
3364
|
+
const removing = pending !== null && pending.action === "remove-bundle" && failed?.id !== pending.id ? pending.id : null;
|
|
3365
|
+
const installedList = installedRows((mock?.installed ?? installed ?? []).filter((module) => !(settling?.has(module.unit) ?? false) && module.unit !== removing), source, new Set(rows.map((row) => row.id)), titles);
|
|
3366
|
+
const pendingRow = removing === null || pending === null || rows.some((row) => row.id === removing) ? void 0 : {
|
|
3367
|
+
id: removing,
|
|
3368
|
+
titleKey: pending.titleKey ?? titles.get(removing) ?? removing,
|
|
3369
|
+
state: "installed",
|
|
3370
|
+
canInstall: false,
|
|
3371
|
+
canUpdate: false,
|
|
3372
|
+
canUninstall: true,
|
|
3373
|
+
...pending.pkg === void 0 ? {} : { pkg: pending.pkg },
|
|
3374
|
+
...pending.version === void 0 ? {} : { version: { installed: pending.version } }
|
|
3375
|
+
};
|
|
3376
|
+
const shown = pendingRow === void 0 ? rows : [...rows, pendingRow];
|
|
3377
|
+
const rowById = new Map([...shown, ...installedList].map((row) => [row.id, row]));
|
|
3378
|
+
const confirmingRow = confirming === null ? void 0 : rowById.get(confirming);
|
|
3000
3379
|
const act = async (id, action) => {
|
|
3001
3380
|
if (mock !== void 0) return;
|
|
3381
|
+
const row = rowById.get(id);
|
|
3002
3382
|
setPending({
|
|
3003
3383
|
id,
|
|
3004
|
-
action
|
|
3384
|
+
action,
|
|
3385
|
+
...row?.titleKey === void 0 ? {} : { titleKey: row.titleKey },
|
|
3386
|
+
...row?.pkg === void 0 ? {} : { pkg: row.pkg },
|
|
3387
|
+
...row?.version?.installed === void 0 ? {} : { version: row.version.installed }
|
|
3005
3388
|
});
|
|
3006
3389
|
setConfirming(null);
|
|
3007
3390
|
setFailed(null);
|
|
@@ -3018,20 +3401,23 @@ window.__ModuleLoader__.load({
|
|
|
3018
3401
|
});
|
|
3019
3402
|
setPending(null);
|
|
3020
3403
|
if (!outcome.ok) {
|
|
3404
|
+
onChanged();
|
|
3021
3405
|
setFailed({
|
|
3022
3406
|
id,
|
|
3023
3407
|
message: t("panels.market.failed", { reason: outcome.message })
|
|
3024
3408
|
});
|
|
3025
3409
|
return;
|
|
3026
3410
|
}
|
|
3411
|
+
const reason = changeFailure(changeOf(outcome.value), t);
|
|
3027
3412
|
onChanged();
|
|
3413
|
+
if (reason !== void 0) setFailed({
|
|
3414
|
+
id,
|
|
3415
|
+
message: t("panels.market.failed", { reason })
|
|
3416
|
+
});
|
|
3028
3417
|
};
|
|
3029
|
-
if (!(freshness.loaded && installedRead !== false)
|
|
3030
|
-
|
|
3031
|
-
|
|
3032
|
-
}), t("panels.market.checking")));
|
|
3033
|
-
if (rows.length === 0 && installedList.length === 0) return /* @__PURE__ */ h("div", { className: MarketPage_module_default.marketEmpty }, /* @__PURE__ */ h("div", { className: MarketPage_module_default.marketEmptyTitle }, t("panels.market.empty")));
|
|
3034
|
-
return /* @__PURE__ */ h(Fragment, null, marketSections(rows).map((section) => /* @__PURE__ */ h(MarketSection, {
|
|
3418
|
+
if (!(freshness.loaded && installedRead !== false) || (settling?.size ?? 0) > 0 && shown.length === 0 && installedList.length === 0) return /* @__PURE__ */ h(MarketChecking, { t });
|
|
3419
|
+
if (shown.length === 0 && installedList.length === 0) return /* @__PURE__ */ h(MarketEmpty, { t });
|
|
3420
|
+
return /* @__PURE__ */ h(Fragment, null, marketSections(shown).map((section) => /* @__PURE__ */ h(MarketSection, {
|
|
3035
3421
|
key: section.id,
|
|
3036
3422
|
t,
|
|
3037
3423
|
titleKey: section.titleKey,
|
|
@@ -3039,7 +3425,7 @@ window.__ModuleLoader__.load({
|
|
|
3039
3425
|
pending,
|
|
3040
3426
|
failureOf: (id) => failed?.id === id ? failed.message : null,
|
|
3041
3427
|
act,
|
|
3042
|
-
|
|
3428
|
+
confirmActions: CONFIRM_UNINSTALL,
|
|
3043
3429
|
onConfirming: setConfirming
|
|
3044
3430
|
})), /* @__PURE__ */ h(MarketSection, {
|
|
3045
3431
|
t,
|
|
@@ -3048,19 +3434,18 @@ window.__ModuleLoader__.load({
|
|
|
3048
3434
|
pending,
|
|
3049
3435
|
failureOf: (id) => failed?.id === id ? failed.message : null,
|
|
3050
3436
|
act,
|
|
3051
|
-
|
|
3437
|
+
confirmActions: CONFIRM_REMOVE,
|
|
3052
3438
|
onConfirming: setConfirming
|
|
3053
3439
|
}), /* @__PURE__ */ h(PanelFoot, {
|
|
3054
3440
|
size: "md",
|
|
3055
3441
|
text: t("panels.market.foot")
|
|
3056
|
-
}),
|
|
3057
|
-
key: row.id,
|
|
3442
|
+
}), /* @__PURE__ */ h(SharedSection, {
|
|
3058
3443
|
t,
|
|
3059
|
-
|
|
3444
|
+
rows: shared,
|
|
3060
3445
|
pending,
|
|
3061
|
-
|
|
3062
|
-
|
|
3063
|
-
})
|
|
3446
|
+
failureOf: (id) => failed?.id === id ? failed.message : null,
|
|
3447
|
+
act
|
|
3448
|
+
}), /* @__PURE__ */ h(ConfirmUninstall, {
|
|
3064
3449
|
key: confirming ?? "",
|
|
3065
3450
|
t,
|
|
3066
3451
|
name: confirmingRow === void 0 ? null : t(confirmingRow.titleKey),
|
|
@@ -3089,227 +3474,60 @@ window.__ModuleLoader__.load({
|
|
|
3089
3474
|
...registry === void 0 || registry === "" ? {} : { registry }
|
|
3090
3475
|
});
|
|
3091
3476
|
}
|
|
3092
|
-
function readModuleVersions(force = false) {
|
|
3093
|
-
return apiGet(MODULE_VERSIONS_ROUTE, force ? { force: "1" } : void 0);
|
|
3094
|
-
}
|
|
3095
|
-
var AddModule_module_default = {
|
|
3096
|
-
wide: "_wide_1coeb_1",
|
|
3097
|
-
dialog: "_dialog_1coeb_8",
|
|
3098
|
-
content: "_content_1coeb_13",
|
|
3099
|
-
stack: "_stack_1coeb_18",
|
|
3100
|
-
body: "_body_1coeb_25",
|
|
3101
|
-
field: "_field_1coeb_32",
|
|
3102
|
-
input: "_input_1coeb_39",
|
|
3103
|
-
registryField: "_registryField_1coeb_45",
|
|
3104
|
-
options: "_options_1coeb_51",
|
|
3105
|
-
guideToggle: "_guideToggle_1coeb_59",
|
|
3106
|
-
registryToggle: "_registryToggle_1coeb_78",
|
|
3107
|
-
registryWrap: "_registryWrap_1coeb_87",
|
|
3108
|
-
registryChosen: "_registryChosen_1coeb_121",
|
|
3109
|
-
registry: "_registry_1coeb_45",
|
|
3110
|
-
registryOption: "_registryOption_1coeb_143",
|
|
3111
|
-
registryPick: "_registryPick_1coeb_159",
|
|
3112
|
-
registryTitle: "_registryTitle_1coeb_179",
|
|
3113
|
-
registryHint: "_registryHint_1coeb_189",
|
|
3114
|
-
inputError: "_inputError_1coeb_197",
|
|
3115
|
-
guide: "_guide_1coeb_59",
|
|
3116
|
-
guideList: "_guideList_1coeb_214",
|
|
3117
|
-
guideItem: "_guideItem_1coeb_223",
|
|
3118
|
-
guideIndex: "_guideIndex_1coeb_230",
|
|
3119
|
-
guideMain: "_guideMain_1coeb_244",
|
|
3120
|
-
guideTitle: "_guideTitle_1coeb_252",
|
|
3121
|
-
guideHint: "_guideHint_1coeb_258",
|
|
3122
|
-
guideExample: "_guideExample_1coeb_264",
|
|
3123
|
-
guideExampleLabel: "_guideExampleLabel_1coeb_274",
|
|
3124
|
-
footer: "_footer_1coeb_278",
|
|
3125
|
-
hero: "_hero_1coeb_285",
|
|
3126
|
-
heroIcon: "_heroIcon_1coeb_294",
|
|
3127
|
-
pendingTitle: "_pendingTitle_1coeb_311",
|
|
3128
|
-
wizardTitle: "_wizardTitle_1coeb_319",
|
|
3129
|
-
subject: "_subject_1coeb_326",
|
|
3130
|
-
subjectName: "_subjectName_1coeb_337",
|
|
3131
|
-
subjectMeta: "_subjectMeta_1coeb_343",
|
|
3132
|
-
subjectDesc: "_subjectDesc_1coeb_344",
|
|
3133
|
-
result: "_result_1coeb_351",
|
|
3134
|
-
resultWarn: "_resultWarn_1coeb_352",
|
|
3135
|
-
approval: "_approval_1coeb_365",
|
|
3136
|
-
approvalTitle: "_approvalTitle_1coeb_375",
|
|
3137
|
-
approvalText: "_approvalText_1coeb_382",
|
|
3138
|
-
approvalCaution: "_approvalCaution_1coeb_388",
|
|
3139
|
-
note: "_note_1coeb_395",
|
|
3140
|
-
noteWarn: "_noteWarn_1coeb_402",
|
|
3141
|
-
noteError: "_noteError_1coeb_406",
|
|
3142
|
-
problem: "_problem_1coeb_410",
|
|
3143
|
-
detailLabel: "_detailLabel_1coeb_417",
|
|
3144
|
-
detail: "_detail_1coeb_417"
|
|
3145
|
-
};
|
|
3146
|
-
//#endregion
|
|
3147
|
-
//#region src/app/layouts/market/add-module-text.ts
|
|
3148
|
-
var GUIDE_ITEMS = [
|
|
3149
|
-
{
|
|
3150
|
-
titleKey: "panels.market.add.guideIdTitle",
|
|
3151
|
-
exampleKey: "panels.market.add.guideIdExample",
|
|
3152
|
-
hintKey: "panels.market.add.guideIdHint"
|
|
3153
|
-
},
|
|
3154
|
-
{
|
|
3155
|
-
titleKey: "panels.market.add.guideGitTitle",
|
|
3156
|
-
exampleKey: "panels.market.add.guideGitExample",
|
|
3157
|
-
hintKey: "panels.market.add.guideGitHint"
|
|
3158
|
-
},
|
|
3159
|
-
{
|
|
3160
|
-
titleKey: "panels.market.add.guidePathTitle",
|
|
3161
|
-
exampleKey: "panels.market.add.guidePathExample",
|
|
3162
|
-
hintKey: "panels.market.add.guidePathHint"
|
|
3163
|
-
}
|
|
3164
|
-
];
|
|
3165
|
-
function hostOf(url) {
|
|
3166
|
-
try {
|
|
3167
|
-
return new URL(url).host;
|
|
3168
|
-
} catch {
|
|
3169
|
-
return url;
|
|
3170
|
-
}
|
|
3171
|
-
}
|
|
3172
|
-
var OFFICIAL_NPM_HOST = "registry.npmjs.org";
|
|
3173
|
-
var KNOWN_HOSTS = {
|
|
3174
|
-
[OFFICIAL_NPM_HOST]: "panels.market.add.registryOfficial",
|
|
3175
|
-
"registry.npmmirror.com": "panels.market.add.registryMirror"
|
|
3176
|
-
};
|
|
3177
|
-
function registryNameKey(host) {
|
|
3178
|
-
return KNOWN_HOSTS[host];
|
|
3179
|
-
}
|
|
3180
|
-
function normalizeRegistry(url) {
|
|
3181
|
-
const parsed = new URL(url);
|
|
3182
|
-
if (!parsed.pathname.endsWith("/")) parsed.pathname += "/";
|
|
3183
|
-
return parsed.href;
|
|
3184
|
-
}
|
|
3185
|
-
function registryKey(url, resolved) {
|
|
3186
|
-
const target = url ?? resolved;
|
|
3187
|
-
if (target === null) return "";
|
|
3188
|
-
try {
|
|
3189
|
-
return normalizeRegistry(target);
|
|
3190
|
-
} catch {
|
|
3191
|
-
return target;
|
|
3192
|
-
}
|
|
3193
|
-
}
|
|
3194
|
-
function registryOptions(registries) {
|
|
3195
|
-
const resolved = registries === null ? null : registries.resolved;
|
|
3196
|
-
const entries = [
|
|
3197
|
-
registries === null ? null : registries.registry,
|
|
3198
|
-
...registries === null ? [] : registries.fallbackRegistries,
|
|
3199
|
-
null
|
|
3200
|
-
];
|
|
3201
|
-
const offered = [];
|
|
3202
|
-
const keys = /* @__PURE__ */ new Set();
|
|
3203
|
-
for (const entry of entries) {
|
|
3204
|
-
const key = registryKey(entry, resolved);
|
|
3205
|
-
if (keys.has(key)) continue;
|
|
3206
|
-
keys.add(key);
|
|
3207
|
-
const url = entry ?? resolved;
|
|
3208
|
-
if (url === null) {
|
|
3209
|
-
offered.push({
|
|
3210
|
-
choice: {
|
|
3211
|
-
kind: "default",
|
|
3212
|
-
value: ""
|
|
3213
|
-
},
|
|
3214
|
-
host: OFFICIAL_NPM_HOST,
|
|
3215
|
-
nameKey: "panels.market.add.registryDefault"
|
|
3216
|
-
});
|
|
3217
|
-
continue;
|
|
3218
|
-
}
|
|
3219
|
-
const host = hostOf(url);
|
|
3220
|
-
const nameKey = registryNameKey(host);
|
|
3221
|
-
offered.push({
|
|
3222
|
-
choice: entry === null ? {
|
|
3223
|
-
kind: "default",
|
|
3224
|
-
value: ""
|
|
3225
|
-
} : {
|
|
3226
|
-
kind: "url",
|
|
3227
|
-
value: entry
|
|
3228
|
-
},
|
|
3229
|
-
host,
|
|
3230
|
-
...nameKey === void 0 ? {} : { nameKey }
|
|
3231
|
-
});
|
|
3232
|
-
}
|
|
3233
|
-
offered.push({ choice: {
|
|
3234
|
-
kind: "custom",
|
|
3235
|
-
value: ""
|
|
3236
|
-
} });
|
|
3237
|
-
return offered;
|
|
3238
|
-
}
|
|
3239
|
-
function customRegistryAllowed(value) {
|
|
3240
|
-
return /^https?:\/\//.test(value.trim());
|
|
3241
|
-
}
|
|
3242
|
-
function registryOf(choice, custom) {
|
|
3243
|
-
if (choice.kind === "custom") return customRegistryAllowed(custom) ? custom.trim() : void 0;
|
|
3244
|
-
return choice.value === "" ? void 0 : choice.value;
|
|
3245
|
-
}
|
|
3246
|
-
function registryName(option, t) {
|
|
3247
|
-
if (option.choice.kind === "custom") return t("panels.market.add.registryCustom");
|
|
3248
|
-
if (option.nameKey !== void 0) return t(option.nameKey);
|
|
3249
|
-
return option.host ?? t("panels.market.add.registryDefault");
|
|
3250
|
-
}
|
|
3251
|
-
function optionLabel(option, t) {
|
|
3252
|
-
if (option.choice.kind === "custom") return t("panels.market.add.registryCustom");
|
|
3253
|
-
if (option.host === void 0) return t("panels.market.add.registryDefault");
|
|
3254
|
-
return option.nameKey === void 0 ? option.host : t("panels.market.add.registryWithHost", {
|
|
3255
|
-
name: t(option.nameKey),
|
|
3256
|
-
host: option.host
|
|
3257
|
-
});
|
|
3258
|
-
}
|
|
3259
|
-
var PROBLEM_KEYS = {
|
|
3260
|
-
"invalid-spec": "panels.market.add.problemInvalid",
|
|
3261
|
-
"already-installed": "panels.market.add.problemInstalled",
|
|
3262
|
-
"not-found": "panels.market.add.problemNotFound",
|
|
3263
|
-
"not-a-package": "panels.market.add.problemNotPackage",
|
|
3264
|
-
"not-a-bundle": "panels.market.add.problemNotBundle",
|
|
3265
|
-
network: "panels.market.add.problemNetwork",
|
|
3266
|
-
unknown: "panels.market.add.problemUnknown"
|
|
3267
|
-
};
|
|
3268
|
-
function problemKey(problem) {
|
|
3269
|
-
return PROBLEM_KEYS[problem] ?? PROBLEM_KEYS.unknown;
|
|
3270
|
-
}
|
|
3271
|
-
var FAILURE_KEYS = {
|
|
3272
|
-
network: "panels.market.add.failureNetwork",
|
|
3273
|
-
"spec-host": "panels.market.add.failureNetworkHost",
|
|
3274
|
-
"not-found": "panels.market.add.failureNotFound",
|
|
3275
|
-
"no-matching-version": "panels.market.add.failureNoMatchingVersion",
|
|
3276
|
-
"disk-full": "panels.market.add.failureDiskFull",
|
|
3277
|
-
permission: "panels.market.add.failurePermission",
|
|
3278
|
-
"build-blocked": "panels.market.add.failureBuildBlocked",
|
|
3279
|
-
integrity: "panels.market.add.failureIntegrity",
|
|
3280
|
-
timeout: "panels.market.add.failureTimeout",
|
|
3281
|
-
"pnpm-missing": "panels.market.add.failurePnpmMissing",
|
|
3282
|
-
"operation-error": "panels.market.add.failureGeneric",
|
|
3283
|
-
"incompatible-version": "panels.market.add.failureGeneric",
|
|
3284
|
-
"not-bundle": "panels.market.add.failureGeneric",
|
|
3285
|
-
"invalid-spec": "panels.market.add.failureGeneric",
|
|
3286
|
-
"bundle-in-use": "panels.market.add.failureGeneric",
|
|
3287
|
-
"not-removable": "panels.market.add.failureGeneric",
|
|
3288
|
-
"stop-profile": "panels.market.add.failureGeneric",
|
|
3289
|
-
"stale-approval": "panels.market.add.failureGeneric"
|
|
3290
|
-
};
|
|
3291
|
-
function failureCode(change) {
|
|
3292
|
-
if (change.failedAt === "spec-host") return "spec-host";
|
|
3293
|
-
return change.errorCode ?? change.packageResult?.kind ?? change.application;
|
|
3294
|
-
}
|
|
3295
|
-
function failureReasonKey(code) {
|
|
3296
|
-
return FAILURE_KEYS[code];
|
|
3297
|
-
}
|
|
3298
|
-
function failureReason(code, application, t) {
|
|
3299
|
-
const key = failureReasonKey(code);
|
|
3300
|
-
if (key !== void 0) return t(key);
|
|
3301
|
-
if (code === application) return t("panels.market.add.reason.unknown");
|
|
3302
|
-
return code;
|
|
3303
|
-
}
|
|
3304
|
-
var SUPPLY_KEYS = {
|
|
3305
|
-
"pending-restart": "panels.market.add.supplyPending",
|
|
3306
|
-
failed: "panels.market.add.supplyFailed",
|
|
3307
|
-
"not-a-module": "panels.market.add.notModule",
|
|
3308
|
-
"no-needs": void 0
|
|
3309
|
-
};
|
|
3310
|
-
function supplyKey(state) {
|
|
3311
|
-
return SUPPLY_KEYS[state];
|
|
3477
|
+
function readModuleVersions(force = false) {
|
|
3478
|
+
return apiGet(MODULE_VERSIONS_ROUTE, force ? { force: "1" } : void 0);
|
|
3312
3479
|
}
|
|
3480
|
+
var AddModule_module_default = {
|
|
3481
|
+
wide: "_wide_1coeb_1",
|
|
3482
|
+
dialog: "_dialog_1coeb_8",
|
|
3483
|
+
content: "_content_1coeb_13",
|
|
3484
|
+
stack: "_stack_1coeb_18",
|
|
3485
|
+
body: "_body_1coeb_25",
|
|
3486
|
+
field: "_field_1coeb_32",
|
|
3487
|
+
input: "_input_1coeb_39",
|
|
3488
|
+
registryField: "_registryField_1coeb_45",
|
|
3489
|
+
options: "_options_1coeb_51",
|
|
3490
|
+
guideToggle: "_guideToggle_1coeb_59",
|
|
3491
|
+
registryToggle: "_registryToggle_1coeb_78",
|
|
3492
|
+
registryWrap: "_registryWrap_1coeb_87",
|
|
3493
|
+
registryChosen: "_registryChosen_1coeb_121",
|
|
3494
|
+
registry: "_registry_1coeb_45",
|
|
3495
|
+
registryOption: "_registryOption_1coeb_143",
|
|
3496
|
+
registryPick: "_registryPick_1coeb_159",
|
|
3497
|
+
registryTitle: "_registryTitle_1coeb_179",
|
|
3498
|
+
registryHint: "_registryHint_1coeb_189",
|
|
3499
|
+
inputError: "_inputError_1coeb_197",
|
|
3500
|
+
guide: "_guide_1coeb_59",
|
|
3501
|
+
guideList: "_guideList_1coeb_214",
|
|
3502
|
+
guideItem: "_guideItem_1coeb_223",
|
|
3503
|
+
guideIndex: "_guideIndex_1coeb_230",
|
|
3504
|
+
guideMain: "_guideMain_1coeb_244",
|
|
3505
|
+
guideTitle: "_guideTitle_1coeb_252",
|
|
3506
|
+
guideHint: "_guideHint_1coeb_258",
|
|
3507
|
+
guideExample: "_guideExample_1coeb_264",
|
|
3508
|
+
guideExampleLabel: "_guideExampleLabel_1coeb_274",
|
|
3509
|
+
footer: "_footer_1coeb_278",
|
|
3510
|
+
hero: "_hero_1coeb_285",
|
|
3511
|
+
heroIcon: "_heroIcon_1coeb_294",
|
|
3512
|
+
pendingTitle: "_pendingTitle_1coeb_311",
|
|
3513
|
+
wizardTitle: "_wizardTitle_1coeb_319",
|
|
3514
|
+
subject: "_subject_1coeb_326",
|
|
3515
|
+
subjectName: "_subjectName_1coeb_337",
|
|
3516
|
+
subjectMeta: "_subjectMeta_1coeb_343",
|
|
3517
|
+
subjectDesc: "_subjectDesc_1coeb_344",
|
|
3518
|
+
result: "_result_1coeb_351",
|
|
3519
|
+
resultWarn: "_resultWarn_1coeb_352",
|
|
3520
|
+
approval: "_approval_1coeb_365",
|
|
3521
|
+
approvalTitle: "_approvalTitle_1coeb_375",
|
|
3522
|
+
approvalText: "_approvalText_1coeb_382",
|
|
3523
|
+
approvalCaution: "_approvalCaution_1coeb_388",
|
|
3524
|
+
note: "_note_1coeb_395",
|
|
3525
|
+
noteWarn: "_noteWarn_1coeb_402",
|
|
3526
|
+
noteError: "_noteError_1coeb_406",
|
|
3527
|
+
problem: "_problem_1coeb_410",
|
|
3528
|
+
detailLabel: "_detailLabel_1coeb_417",
|
|
3529
|
+
detail: "_detail_1coeb_417"
|
|
3530
|
+
};
|
|
3313
3531
|
//#endregion
|
|
3314
3532
|
//#region src/app/layouts/market/AddModuleRegistry.tsx
|
|
3315
3533
|
var REGISTRY_ID = "wb-add-module-registry";
|
|
@@ -3369,7 +3587,13 @@ window.__ModuleLoader__.load({
|
|
|
3369
3587
|
return /* @__PURE__ */ h("div", {
|
|
3370
3588
|
key: `${option.choice.kind}|${option.choice.value}`,
|
|
3371
3589
|
className: AddModule_module_default.registryOption,
|
|
3372
|
-
"data-checked": active
|
|
3590
|
+
"data-checked": active,
|
|
3591
|
+
onPointerDown: () => {
|
|
3592
|
+
if (!active) state.setChoice(option.choice);
|
|
3593
|
+
},
|
|
3594
|
+
onFocusCapture: () => {
|
|
3595
|
+
if (!active) state.setChoice(option.choice);
|
|
3596
|
+
}
|
|
3373
3597
|
}, /* @__PURE__ */ h("label", { className: AddModule_module_default.registryPick }, /* @__PURE__ */ h("input", {
|
|
3374
3598
|
type: "radio",
|
|
3375
3599
|
name: REGISTRY_ID,
|
|
@@ -3381,7 +3605,6 @@ window.__ModuleLoader__.load({
|
|
|
3381
3605
|
"aria-label": t("panels.market.add.registryCustom"),
|
|
3382
3606
|
placeholder: t("panels.market.add.registryCustomPlaceholder"),
|
|
3383
3607
|
value: state.custom,
|
|
3384
|
-
disabled: !active,
|
|
3385
3608
|
invalid: customBad,
|
|
3386
3609
|
onChange: (event) => state.setCustom(event.target.value)
|
|
3387
3610
|
}), customBad ? /* @__PURE__ */ h("span", {
|
|
@@ -3973,7 +4196,7 @@ window.__ModuleLoader__.load({
|
|
|
3973
4196
|
}, t("panels.market.add.run"))) : null, installing ? /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
3974
4197
|
type: "button",
|
|
3975
4198
|
variant: "outline",
|
|
3976
|
-
size: "
|
|
4199
|
+
size: "md",
|
|
3977
4200
|
onClick: state.cancelInstall
|
|
3978
4201
|
}, t("panels.market.add.cancel")) : null, state.phase === "result" ? /* @__PURE__ */ h(Fragment, null, failed && builds.length === 0 ? /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
3979
4202
|
type: "button",
|
|
@@ -4043,6 +4266,7 @@ window.__ModuleLoader__.load({
|
|
|
4043
4266
|
checking: false,
|
|
4044
4267
|
checkedAt: null
|
|
4045
4268
|
};
|
|
4269
|
+
var NO_UNITS = /* @__PURE__ */ new Set();
|
|
4046
4270
|
function useLiveManifests(units) {
|
|
4047
4271
|
useSyncExternalStore(useCallback((listener) => units.subscribe(listener), [units]), useCallback(() => units.version(), [units]));
|
|
4048
4272
|
return units.manifests();
|
|
@@ -4065,7 +4289,7 @@ window.__ModuleLoader__.load({
|
|
|
4065
4289
|
const [decided, setDecided] = useState(false);
|
|
4066
4290
|
const [adding, setAdding] = useState(false);
|
|
4067
4291
|
const [updates, setUpdates] = useState({});
|
|
4068
|
-
const [installed, setInstalled] = useState(
|
|
4292
|
+
const [installed, setInstalled] = useState(void 0);
|
|
4069
4293
|
const [installedRead, setInstalledRead] = useState(false);
|
|
4070
4294
|
const loadUpdates = useCallback((force = false) => {
|
|
4071
4295
|
readModuleVersions(force).then((response) => {
|
|
@@ -4101,6 +4325,24 @@ window.__ModuleLoader__.load({
|
|
|
4101
4325
|
forceProbe,
|
|
4102
4326
|
loadUpdates
|
|
4103
4327
|
]);
|
|
4328
|
+
const installedKey = (installed ?? []).map((module) => module.unit).join("|");
|
|
4329
|
+
const rosterKey = manifests.map((manifest) => manifest.id).join("|");
|
|
4330
|
+
const activeKey = Object.keys(capabilities ?? {}).join("|");
|
|
4331
|
+
const seenRef = useRef(null);
|
|
4332
|
+
const [settling, setSettling] = useState(NO_UNITS);
|
|
4333
|
+
useEffect(() => {
|
|
4334
|
+
const units = installedKey === "" ? [] : installedKey.split("|");
|
|
4335
|
+
const held = holdBack(units, new Set(rosterKey === "" ? [] : rosterKey.split("|")), new Set(activeKey === "" ? [] : activeKey.split("|")), seenRef.current);
|
|
4336
|
+
seenRef.current = new Set(units);
|
|
4337
|
+
setSettling(held.length === 0 ? NO_UNITS : new Set(held));
|
|
4338
|
+
if (held.length === 0) return;
|
|
4339
|
+
const timer = setTimeout(() => setSettling(NO_UNITS), MODULE_SETTLE_MS);
|
|
4340
|
+
return () => clearTimeout(timer);
|
|
4341
|
+
}, [
|
|
4342
|
+
installedKey,
|
|
4343
|
+
rosterKey,
|
|
4344
|
+
activeKey
|
|
4345
|
+
]);
|
|
4104
4346
|
const freshness = {
|
|
4105
4347
|
loaded: capabilities !== null,
|
|
4106
4348
|
checking,
|
|
@@ -4150,6 +4392,7 @@ window.__ModuleLoader__.load({
|
|
|
4150
4392
|
updates,
|
|
4151
4393
|
installed,
|
|
4152
4394
|
installedRead: mock === void 0 ? installedRead : mock.installedRead ?? true,
|
|
4395
|
+
settling: mock === void 0 ? settling : void 0,
|
|
4153
4396
|
mock
|
|
4154
4397
|
}), /* @__PURE__ */ h(AddModuleDialog, {
|
|
4155
4398
|
t,
|
|
@@ -4248,6 +4491,14 @@ window.__ModuleLoader__.load({
|
|
|
4248
4491
|
return { textKey: "env.bridge.unknown" };
|
|
4249
4492
|
}
|
|
4250
4493
|
//#endregion
|
|
4494
|
+
//#region src/app/layouts/env-gate/gate-deadline.ts
|
|
4495
|
+
function createGateDeadline(giveUpMs, expire) {
|
|
4496
|
+
const timer = setTimeout(expire, giveUpMs);
|
|
4497
|
+
return { disarm() {
|
|
4498
|
+
clearTimeout(timer);
|
|
4499
|
+
} };
|
|
4500
|
+
}
|
|
4501
|
+
//#endregion
|
|
4251
4502
|
//#region src/app/layouts/env-gate/gate-dom.ts
|
|
4252
4503
|
var SVG_NS = "http://www.w3.org/2000/svg";
|
|
4253
4504
|
function svgIcon(kind) {
|
|
@@ -4710,7 +4961,6 @@ window.__ModuleLoader__.load({
|
|
|
4710
4961
|
}
|
|
4711
4962
|
let cancelled = false;
|
|
4712
4963
|
const forcePlan = createForcePlan();
|
|
4713
|
-
const startedAt = Date.now();
|
|
4714
4964
|
let pinned = null;
|
|
4715
4965
|
function close() {
|
|
4716
4966
|
if (closed) return;
|
|
@@ -4718,9 +4968,11 @@ window.__ModuleLoader__.load({
|
|
|
4718
4968
|
cancelled = true;
|
|
4719
4969
|
if (timer !== void 0) clearTimeout(timer);
|
|
4720
4970
|
if (ticker !== void 0) clearInterval(ticker);
|
|
4971
|
+
deadline.disarm();
|
|
4721
4972
|
overlay.remove();
|
|
4722
4973
|
if (root !== null) root.inert = previousInert;
|
|
4723
4974
|
}
|
|
4975
|
+
const deadline = createGateDeadline(GIVE_UP_MS, close);
|
|
4724
4976
|
const rows = /* @__PURE__ */ new Map();
|
|
4725
4977
|
let renderedOrder = "";
|
|
4726
4978
|
function ensureRow(step) {
|
|
@@ -4814,10 +5066,6 @@ window.__ModuleLoader__.load({
|
|
|
4814
5066
|
return;
|
|
4815
5067
|
}
|
|
4816
5068
|
if (response.phase === "failed") return;
|
|
4817
|
-
if (Date.now() - startedAt > GIVE_UP_MS) {
|
|
4818
|
-
close();
|
|
4819
|
-
return;
|
|
4820
|
-
}
|
|
4821
5069
|
timer = setTimeout(() => void poll(), POLL_MS);
|
|
4822
5070
|
}
|
|
4823
5071
|
function retryNow() {
|
|
@@ -4849,23 +5097,151 @@ window.__ModuleLoader__.load({
|
|
|
4849
5097
|
poll();
|
|
4850
5098
|
return { close };
|
|
4851
5099
|
}
|
|
4852
|
-
|
|
4853
|
-
|
|
4854
|
-
|
|
5100
|
+
//#endregion
|
|
5101
|
+
//#region src/app/layouts/rightbar/store.ts
|
|
5102
|
+
var browserPersistence = {
|
|
5103
|
+
readFlag,
|
|
5104
|
+
writeFlag,
|
|
5105
|
+
readText,
|
|
5106
|
+
writeText
|
|
5107
|
+
};
|
|
5108
|
+
var RIGHTBAR_DEFAULT_COLUMN = "workbench";
|
|
5109
|
+
function pressedColumns(state, dshExpanded) {
|
|
5110
|
+
return {
|
|
5111
|
+
workbench: state.column === "workbench" && state.expanded,
|
|
5112
|
+
dsh: state.column === "dsh" && dshExpanded
|
|
5113
|
+
};
|
|
5114
|
+
}
|
|
5115
|
+
var BOARD_STEP = { kind: "board" };
|
|
5116
|
+
function readColumn(persistence) {
|
|
5117
|
+
return persistence.readText("dsh-workbench.rightbar.column") === "dsh" ? "dsh" : RIGHTBAR_DEFAULT_COLUMN;
|
|
5118
|
+
}
|
|
5119
|
+
function createRightbarStore(persistence = browserPersistence) {
|
|
5120
|
+
let state = {
|
|
5121
|
+
expanded: persistence.readFlag(STORAGE_KEY_RIGHTBAR, true),
|
|
5122
|
+
column: readColumn(persistence),
|
|
5123
|
+
trail: [BOARD_STEP]
|
|
5124
|
+
};
|
|
5125
|
+
const listeners = /* @__PURE__ */ new Set();
|
|
5126
|
+
function commit(next) {
|
|
5127
|
+
if (next.expanded === state.expanded && next.column === state.column && next.trail === state.trail) return;
|
|
5128
|
+
state = next;
|
|
5129
|
+
for (const listener of listeners) listener();
|
|
5130
|
+
}
|
|
5131
|
+
function setTrail(trail) {
|
|
5132
|
+
commit({
|
|
5133
|
+
expanded: state.expanded,
|
|
5134
|
+
column: state.column,
|
|
5135
|
+
trail: trail.length === 0 ? [BOARD_STEP] : trail
|
|
5136
|
+
});
|
|
5137
|
+
}
|
|
5138
|
+
return {
|
|
5139
|
+
getSnapshot: () => state,
|
|
5140
|
+
subscribe(listener) {
|
|
5141
|
+
listeners.add(listener);
|
|
5142
|
+
return () => listeners.delete(listener);
|
|
5143
|
+
},
|
|
5144
|
+
setExpanded(expanded) {
|
|
5145
|
+
if (expanded === state.expanded) return;
|
|
5146
|
+
persistence.writeFlag(STORAGE_KEY_RIGHTBAR, expanded);
|
|
5147
|
+
commit({
|
|
5148
|
+
expanded,
|
|
5149
|
+
column: state.column,
|
|
5150
|
+
trail: state.trail
|
|
5151
|
+
});
|
|
5152
|
+
},
|
|
5153
|
+
toggleExpanded() {
|
|
5154
|
+
this.setExpanded(!state.expanded);
|
|
5155
|
+
},
|
|
5156
|
+
setColumn(column) {
|
|
5157
|
+
if (column === state.column) return;
|
|
5158
|
+
persistence.writeText(STORAGE_KEY_RIGHTBAR_COLUMN, column);
|
|
5159
|
+
commit({
|
|
5160
|
+
expanded: state.expanded,
|
|
5161
|
+
column,
|
|
5162
|
+
trail: state.trail
|
|
5163
|
+
});
|
|
5164
|
+
},
|
|
5165
|
+
open(step) {
|
|
5166
|
+
const top = state.trail[state.trail.length - 1];
|
|
5167
|
+
if (top !== void 0 && sameStep(top, step)) return;
|
|
5168
|
+
setTrail([...state.trail, step]);
|
|
5169
|
+
},
|
|
5170
|
+
goTo(index) {
|
|
5171
|
+
if (index < 0 || index >= state.trail.length) return;
|
|
5172
|
+
setTrail(state.trail.slice(0, index + 1));
|
|
5173
|
+
},
|
|
5174
|
+
back() {
|
|
5175
|
+
if (state.trail.length <= 1) return;
|
|
5176
|
+
setTrail(state.trail.slice(0, -1));
|
|
5177
|
+
}
|
|
5178
|
+
};
|
|
5179
|
+
}
|
|
5180
|
+
function sameStep(a, b) {
|
|
5181
|
+
return a.kind === b.kind;
|
|
5182
|
+
}
|
|
5183
|
+
var ColumnSwitch_module_default = {
|
|
5184
|
+
group: "_group_1hxis_1",
|
|
5185
|
+
button: "_button_1hxis_7",
|
|
5186
|
+
active: "_active_1hxis_19",
|
|
5187
|
+
icon: "_icon_1hxis_23",
|
|
5188
|
+
mirror: "_mirror_1hxis_35"
|
|
4855
5189
|
};
|
|
4856
5190
|
//#endregion
|
|
4857
|
-
//#region src/app/layouts/rightbar/
|
|
4858
|
-
function
|
|
4859
|
-
|
|
4860
|
-
|
|
5191
|
+
//#region src/app/layouts/rightbar/ColumnSwitch.tsx
|
|
5192
|
+
function ColumnSwitch({ useRightbar, selectColumn, dshColumn, t }) {
|
|
5193
|
+
const pressed = pressedColumns(useRightbar((snapshot) => snapshot), useSyncExternalStore(dshColumn.subscribe, dshColumn.getSnapshot));
|
|
5194
|
+
const workbenchLabel = pressed.workbench ? t("rightbar.collapse") : t("rightbar.column.workbench");
|
|
5195
|
+
return /* @__PURE__ */ h("span", {
|
|
5196
|
+
className: ColumnSwitch_module_default.group,
|
|
5197
|
+
role: "group",
|
|
5198
|
+
"aria-label": t("rightbar.column.label")
|
|
5199
|
+
}, /* @__PURE__ */ h(Tip, { label: workbenchLabel }, /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
4861
5200
|
type: "button",
|
|
4862
5201
|
size: "sm",
|
|
4863
5202
|
variant: "ghost",
|
|
4864
|
-
className:
|
|
4865
|
-
"aria-
|
|
4866
|
-
|
|
4867
|
-
|
|
4868
|
-
|
|
5203
|
+
className: pressed.workbench ? `${ColumnSwitch_module_default.button} ${ColumnSwitch_module_default.active}` : ColumnSwitch_module_default.button,
|
|
5204
|
+
"aria-pressed": pressed.workbench,
|
|
5205
|
+
"aria-label": workbenchLabel,
|
|
5206
|
+
icon: /* @__PURE__ */ h("span", { className: ColumnSwitch_module_default.icon }, /* @__PURE__ */ h(IconPanelScreen, { size: 15 })),
|
|
5207
|
+
onClick: () => selectColumn("workbench")
|
|
5208
|
+
})), /* @__PURE__ */ h(Tip, { label: t("rightbar.column.dsh") }, /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
5209
|
+
type: "button",
|
|
5210
|
+
size: "sm",
|
|
5211
|
+
variant: "ghost",
|
|
5212
|
+
className: pressed.dsh ? `${ColumnSwitch_module_default.button} ${ColumnSwitch_module_default.active}` : ColumnSwitch_module_default.button,
|
|
5213
|
+
"aria-pressed": pressed.dsh,
|
|
5214
|
+
"aria-label": t("rightbar.column.dsh"),
|
|
5215
|
+
icon: /* @__PURE__ */ h("span", { className: `${ColumnSwitch_module_default.icon} ${ColumnSwitch_module_default.mirror}` }, /* @__PURE__ */ h(_deepseek_ai_dsh_client_ui_primitives.IconPanelLeftOutlineRegular, { size: 15 })),
|
|
5216
|
+
onClick: () => selectColumn("dsh")
|
|
5217
|
+
})));
|
|
5218
|
+
}
|
|
5219
|
+
//#endregion
|
|
5220
|
+
//#region src/app/layouts/rightbar/dsh-column-source.ts
|
|
5221
|
+
function createDshColumnSource(read, intervalMs) {
|
|
5222
|
+
let value = read();
|
|
5223
|
+
let timer;
|
|
5224
|
+
const listeners = /* @__PURE__ */ new Set();
|
|
5225
|
+
const sync = () => {
|
|
5226
|
+
const next = read();
|
|
5227
|
+
if (next === value) return;
|
|
5228
|
+
value = next;
|
|
5229
|
+
for (const listener of listeners) listener();
|
|
5230
|
+
};
|
|
5231
|
+
return {
|
|
5232
|
+
getSnapshot: () => value,
|
|
5233
|
+
subscribe(listener) {
|
|
5234
|
+
listeners.add(listener);
|
|
5235
|
+
if (timer === void 0) timer = setInterval(sync, intervalMs);
|
|
5236
|
+
return () => {
|
|
5237
|
+
listeners.delete(listener);
|
|
5238
|
+
if (listeners.size === 0 && timer !== void 0) {
|
|
5239
|
+
clearInterval(timer);
|
|
5240
|
+
timer = void 0;
|
|
5241
|
+
}
|
|
5242
|
+
};
|
|
5243
|
+
}
|
|
5244
|
+
};
|
|
4869
5245
|
}
|
|
4870
5246
|
var Breadcrumbs_module_default = {
|
|
4871
5247
|
stripTabs: "_stripTabs_1dqp4_1",
|
|
@@ -5453,6 +5829,15 @@ window.__ModuleLoader__.load({
|
|
|
5453
5829
|
};
|
|
5454
5830
|
}
|
|
5455
5831
|
//#endregion
|
|
5832
|
+
//#region src/app/layouts/rightbar/presentation.ts
|
|
5833
|
+
function rightbarPresentation(input) {
|
|
5834
|
+
const fullscreen = input.shown && (input.viewportWidth < 768 || !input.canShow);
|
|
5835
|
+
return {
|
|
5836
|
+
fullscreen,
|
|
5837
|
+
track: input.shown && !fullscreen
|
|
5838
|
+
};
|
|
5839
|
+
}
|
|
5840
|
+
//#endregion
|
|
5456
5841
|
//#region src/modules/sessions/model/session-node.ts
|
|
5457
5842
|
function visiblePendingKind(kind) {
|
|
5458
5843
|
switch (kind) {
|
|
@@ -5638,6 +6023,7 @@ window.__ModuleLoader__.load({
|
|
|
5638
6023
|
path: workspace?.path ?? null
|
|
5639
6024
|
};
|
|
5640
6025
|
}
|
|
6026
|
+
var Rightbar_module_default = { panel: "_panel_1oyh4_1" };
|
|
5641
6027
|
//#endregion
|
|
5642
6028
|
//#region src/app/layouts/rightbar/Rightbar.tsx
|
|
5643
6029
|
function ModuleHost({ module, step, panelToken, onPanelRefresh, onSummary, ...rest }) {
|
|
@@ -5762,17 +6148,34 @@ window.__ModuleLoader__.load({
|
|
|
5762
6148
|
const summary = aggregateSummaries(plan.modules.map((entry) => summaries[entry.module.id]).filter((item) => item !== void 0));
|
|
5763
6149
|
const feedEnabled = plan.modules.length > 0 || plan.reading;
|
|
5764
6150
|
const shown = state.expanded;
|
|
5765
|
-
|
|
6151
|
+
const presentation = rightbarPresentation({
|
|
5766
6152
|
shown,
|
|
5767
|
-
|
|
5768
|
-
|
|
6153
|
+
viewportWidth: props.viewportWidth,
|
|
6154
|
+
canShow: props.canShow
|
|
5769
6155
|
});
|
|
5770
|
-
|
|
6156
|
+
const { fullscreen } = presentation;
|
|
6157
|
+
const panelWidth = fullscreen ? "100vw" : props.width > 0 ? `${props.width}px` : "100%";
|
|
6158
|
+
const applyRightbar = props.applyRightbar;
|
|
6159
|
+
useLayoutEffect(() => {
|
|
6160
|
+
applyRightbar({
|
|
6161
|
+
shown,
|
|
6162
|
+
track: presentation.track,
|
|
6163
|
+
fullscreen: presentation.fullscreen
|
|
6164
|
+
});
|
|
6165
|
+
}, [
|
|
6166
|
+
applyRightbar,
|
|
6167
|
+
shown,
|
|
6168
|
+
presentation.track,
|
|
6169
|
+
presentation.fullscreen
|
|
6170
|
+
]);
|
|
5771
6171
|
const top = state.trail[state.trail.length - 1] ?? { kind: "board" };
|
|
5772
6172
|
const navigate = (step) => props.openPanel(step);
|
|
5773
6173
|
const openMarket = () => props.openMarket();
|
|
5774
6174
|
return /* @__PURE__ */ h("aside", {
|
|
5775
|
-
className:
|
|
6175
|
+
className: `wb-rightbar ${Rightbar_module_default.panel}`,
|
|
6176
|
+
style: { width: panelWidth },
|
|
6177
|
+
"data-open": shown ? "" : void 0,
|
|
6178
|
+
"data-fullscreen": fullscreen ? "" : void 0,
|
|
5776
6179
|
"aria-label": props.t("rightbar.label")
|
|
5777
6180
|
}, /* @__PURE__ */ h(PanelHeader, {
|
|
5778
6181
|
t: props.t,
|
|
@@ -5903,67 +6306,6 @@ window.__ModuleLoader__.load({
|
|
|
5903
6306
|
});
|
|
5904
6307
|
}
|
|
5905
6308
|
//#endregion
|
|
5906
|
-
//#region src/app/layouts/rightbar/store.ts
|
|
5907
|
-
var browserPersistence = {
|
|
5908
|
-
readFlag,
|
|
5909
|
-
writeFlag,
|
|
5910
|
-
readText,
|
|
5911
|
-
writeText
|
|
5912
|
-
};
|
|
5913
|
-
var BOARD_STEP = { kind: "board" };
|
|
5914
|
-
function createRightbarStore(persistence = browserPersistence) {
|
|
5915
|
-
let state = {
|
|
5916
|
-
expanded: persistence.readFlag(STORAGE_KEY_RIGHTBAR, true),
|
|
5917
|
-
trail: [BOARD_STEP]
|
|
5918
|
-
};
|
|
5919
|
-
const listeners = /* @__PURE__ */ new Set();
|
|
5920
|
-
function commit(next) {
|
|
5921
|
-
if (next.expanded === state.expanded && next.trail === state.trail) return;
|
|
5922
|
-
state = next;
|
|
5923
|
-
for (const listener of listeners) listener();
|
|
5924
|
-
}
|
|
5925
|
-
function setTrail(trail) {
|
|
5926
|
-
commit({
|
|
5927
|
-
expanded: state.expanded,
|
|
5928
|
-
trail: trail.length === 0 ? [BOARD_STEP] : trail
|
|
5929
|
-
});
|
|
5930
|
-
}
|
|
5931
|
-
return {
|
|
5932
|
-
getSnapshot: () => state,
|
|
5933
|
-
subscribe(listener) {
|
|
5934
|
-
listeners.add(listener);
|
|
5935
|
-
return () => listeners.delete(listener);
|
|
5936
|
-
},
|
|
5937
|
-
setExpanded(expanded) {
|
|
5938
|
-
if (expanded === state.expanded) return;
|
|
5939
|
-
persistence.writeFlag(STORAGE_KEY_RIGHTBAR, expanded);
|
|
5940
|
-
commit({
|
|
5941
|
-
expanded,
|
|
5942
|
-
trail: state.trail
|
|
5943
|
-
});
|
|
5944
|
-
},
|
|
5945
|
-
toggleExpanded() {
|
|
5946
|
-
this.setExpanded(!state.expanded);
|
|
5947
|
-
},
|
|
5948
|
-
open(step) {
|
|
5949
|
-
const top = state.trail[state.trail.length - 1];
|
|
5950
|
-
if (top !== void 0 && sameStep(top, step)) return;
|
|
5951
|
-
setTrail([...state.trail, step]);
|
|
5952
|
-
},
|
|
5953
|
-
goTo(index) {
|
|
5954
|
-
if (index < 0 || index >= state.trail.length) return;
|
|
5955
|
-
setTrail(state.trail.slice(0, index + 1));
|
|
5956
|
-
},
|
|
5957
|
-
back() {
|
|
5958
|
-
if (state.trail.length <= 1) return;
|
|
5959
|
-
setTrail(state.trail.slice(0, -1));
|
|
5960
|
-
}
|
|
5961
|
-
};
|
|
5962
|
-
}
|
|
5963
|
-
function sameStep(a, b) {
|
|
5964
|
-
return a.kind === b.kind;
|
|
5965
|
-
}
|
|
5966
|
-
//#endregion
|
|
5967
6309
|
//#region src/app/layouts/sidebar/session-pick.ts
|
|
5968
6310
|
function openPickedProject(input) {
|
|
5969
6311
|
const first = firstSessionIdOf(input.items.find((item) => item.workspaceId === input.workspaceId) ?? null, input.sessions, input.archivedIds);
|
|
@@ -6260,7 +6602,7 @@ window.__ModuleLoader__.load({
|
|
|
6260
6602
|
}
|
|
6261
6603
|
//#endregion
|
|
6262
6604
|
//#region src/shared/styles/rightbar.css?raw
|
|
6263
|
-
var rightbar_default = ".wb-rightbar {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-width: 0;\n overflow: hidden;\n background: var(--dsw-alias-bg-base);\n border-left: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n.wb-panelHeader {\n flex: none;\n height: var(--wb-len-38);\n}\n\n.wb-tabStrip {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: var(--wb-len-4);\n height: var(--wb-len-38);\n padding: var(--wb-len-10) var(--wb-len-6) 0 var(--wb-len-10);\n}\n\n.wb-stripFill {\n flex: 1 1 0;\n min-width: 0;\n}\n\n.wb-rightbar :is(button, [role='tab']):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}\n\n.wb-rightbar {\n container-type: inline-size;\n}\n\n.wb-dangerAction {\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-stripChrome {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n flex: none;\n margin-left: var(--wb-len-4);\n}\n\n.wb-panelBody {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n scrollbar-gutter: stable;\n padding: var(--wb-len-12);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n.wb-panelBody {\n --dsh-scrollbar-thumb: var(--dsw-alias-scrollbar-bg-l2);\n --dsh-scrollbar-thumb-hover: var(--dsw-alias-scrollbar-hover-l2);\n}";
|
|
6605
|
+
var rightbar_default = ".wb-rightbar {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-width: 0;\n overflow: hidden;\n background: var(--dsw-alias-bg-base);\n border-left: 0.5px solid var(--dsw-alias-border-l2);\n}\n\n.wb-panelHeader {\n flex: none;\n height: var(--wb-len-38);\n}\n\n.wb-tabStrip {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: var(--wb-len-4);\n height: var(--wb-len-38);\n padding: var(--wb-len-10) var(--wb-len-6) 0 var(--wb-len-10);\n}\n\n.wb-stripFill {\n flex: 1 1 0;\n min-width: 0;\n}\n\n.wb-rightbar :is(button, [role='tab']):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}\n\n.wb-rightbar {\n container-type: inline-size;\n}\n\n.wb-dangerAction {\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-stripChrome {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n flex: none;\n margin-left: var(--wb-len-4);\n}\n\n.wb-panelBody {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n scrollbar-gutter: stable;\n padding: var(--wb-len-12);\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n}\n\n.wb-panelBody {\n --dsh-scrollbar-thumb: var(--dsw-alias-scrollbar-bg-l2);\n --dsh-scrollbar-thumb-hover: var(--dsw-alias-scrollbar-hover-l2);\n}\n@container (max-width: 340px) {\n .wb-panelBody {\n padding: var(--wb-len-8);\n }}\n";
|
|
6264
6606
|
//#endregion
|
|
6265
6607
|
//#region src/shared/styles/tokens.css?raw
|
|
6266
6608
|
var tokens_default = ".wb-root,\n.wb-rightbar {\n --wb-bar-height: 36px;\n --wb-gap-xs: 6px;\n --wb-font-row: 14px;\n}\n";
|
|
@@ -6269,7 +6611,7 @@ window.__ModuleLoader__.load({
|
|
|
6269
6611
|
var palette_default = ":root {\n --wb-static-titlebar-fill: #ffffff8c;\n --wb-static-titlebar-fill-hover: #ffffff4d;\n --wb-static-titlebar-fill-dark: #ffffff26;\n --wb-static-titlebar-fill-dark-hover: #fff3;\n --wb-static-mask-opaque: #000;\n --wb-static-shadow-ghost: 0 8px 20px rgba(0, 0, 0, 0.4);\n}\n";
|
|
6270
6612
|
//#endregion
|
|
6271
6613
|
//#region src/shared/styles/tokens/scale.css?raw
|
|
6272
|
-
var scale_default = ":root {\n --wb-dur-0-12: 0.12s;\n --wb-dur-0-15: 0.15s;\n --wb-dur-0-9: 0.9s;\n --wb-dur-1-4: 1.4s;\n --wb-dur-1-5: 1.5s;\n --wb-font-10: 10px;\n --wb-font-11-5: 11.5px;\n --wb-font-12-5: 12.5px;\n --wb-font-17: 17px;\n --wb-font-18: 18px;\n --wb-font-6: 6px;\n --wb-len-0-5: 0.5px;\n --wb-len-1: 1px;\n --wb-len-10: 10px;\n --wb-len-12: 12px;\n --wb-len-120: 120px;\n --wb-len-13: 13px;\n --wb-len-132: 132px;\n --wb-len-14: 14px;\n --wb-len-144: 144px;\n --wb-len-15: 15px;\n --wb-len-16: 16px;\n --wb-len-18: 18px;\n --wb-len-2: 2px;\n --wb-len-20: 20px;\n --wb-len-200: 200px;\n --wb-len-22: 22px;\n --wb-len-220: 220px;\n --wb-len-24: 24px;\n --wb-len-240: 240px;\n --wb-len-26: 26px;\n --wb-len-260: 260px;\n --wb-len-28: 28px;\n --wb-len-3: 3px;\n --wb-len-3-4em: 3.4em;\n --wb-len-30: 30px;\n --wb-len-300: 300px;\n --wb-len-32: 32px;\n --wb-len-320: 320px;\n --wb-len-34: 34px;\n --wb-len-36: 36px;\n --wb-len-360: 360px;\n --wb-len-38: 38px;\n --wb-len-4: 4px;\n --wb-len-440: 440px;\n --wb-len-40: 40px;\n --wb-len-420: 420px;\n --wb-len-42em: 42em;\n --wb-len-44: 44px;\n --wb-len-48: 48px;\n --wb-len-5: 5px;\n --wb-len-52: 52px;\n --wb-len-520: 520px;\n --wb-len-56: 56px;\n --wb-len-560: 560px;\n --wb-len-6: 6px;\n --wb-len-60: 60px;\n --wb-len-64: 64px;\n --wb-len-7: 7px;\n --wb-len-72: 72px;\n --wb-len-8: 8px;\n --wb-len-800: 800px;\n --wb-len-9: 9px;\n --wb-len-96: 96px;\n --wb-len-960: 960px;\n --wb-len-neg-0-5: -0.5px;\n --wb-len-neg-1-5: -1.5px;\n --wb-len-neg-12: -12px;\n --wb-len-neg-2: -2px;\n --wb-len-neg-3: -3px;\n --wb-len-neg-4: -4px;\n --wb-len-neg-6: -6px;\n --wb-len-neg-8: -8px;\n --wb-line-10: 10px;\n --wb-line-13: 13px;\n --wb-line-14: 14px;\n --wb-line-15: 15px;\n --wb-line-16: 16px;\n --wb-line-17: 17px;\n --wb-line-18: 18px;\n --wb-line-19: 19px;\n --wb-line-20: 20px;\n --wb-line-22: 22px;\n --wb-line-24: 24px;\n --wb-radius-14: 14px;\n --wb-radius-2: 2px;\n --wb-radius-6: 6px;\n --wb-radius-pill: 999px;\n --wb-track-brand: .04em;\n --wb-z-
|
|
6614
|
+
var scale_default = ":root {\n --wb-dur-0-12: 0.12s;\n --wb-dur-0-15: 0.15s;\n --wb-dur-0-9: 0.9s;\n --wb-dur-1-4: 1.4s;\n --wb-dur-1-5: 1.5s;\n --wb-font-10: 10px;\n --wb-font-11-5: 11.5px;\n --wb-font-12-5: 12.5px;\n --wb-font-17: 17px;\n --wb-font-18: 18px;\n --wb-font-6: 6px;\n --wb-len-0-5: 0.5px;\n --wb-len-1: 1px;\n --wb-len-10: 10px;\n --wb-len-12: 12px;\n --wb-len-120: 120px;\n --wb-len-13: 13px;\n --wb-len-132: 132px;\n --wb-len-14: 14px;\n --wb-len-144: 144px;\n --wb-len-15: 15px;\n --wb-len-16: 16px;\n --wb-len-18: 18px;\n --wb-len-2: 2px;\n --wb-len-20: 20px;\n --wb-len-200: 200px;\n --wb-len-22: 22px;\n --wb-len-220: 220px;\n --wb-len-24: 24px;\n --wb-len-240: 240px;\n --wb-len-26: 26px;\n --wb-len-260: 260px;\n --wb-len-28: 28px;\n --wb-len-3: 3px;\n --wb-len-3-4em: 3.4em;\n --wb-len-30: 30px;\n --wb-len-300: 300px;\n --wb-len-32: 32px;\n --wb-len-320: 320px;\n --wb-len-34: 34px;\n --wb-len-36: 36px;\n --wb-len-360: 360px;\n --wb-len-38: 38px;\n --wb-len-4: 4px;\n --wb-len-440: 440px;\n --wb-len-40: 40px;\n --wb-len-420: 420px;\n --wb-len-42em: 42em;\n --wb-len-44: 44px;\n --wb-len-48: 48px;\n --wb-len-5: 5px;\n --wb-len-52: 52px;\n --wb-len-520: 520px;\n --wb-len-56: 56px;\n --wb-len-560: 560px;\n --wb-len-6: 6px;\n --wb-len-60: 60px;\n --wb-len-64: 64px;\n --wb-len-7: 7px;\n --wb-len-72: 72px;\n --wb-len-8: 8px;\n --wb-len-800: 800px;\n --wb-len-9: 9px;\n --wb-len-96: 96px;\n --wb-len-960: 960px;\n --wb-len-neg-0-5: -0.5px;\n --wb-len-neg-1-5: -1.5px;\n --wb-len-neg-12: -12px;\n --wb-len-neg-2: -2px;\n --wb-len-neg-3: -3px;\n --wb-len-neg-4: -4px;\n --wb-len-neg-6: -6px;\n --wb-len-neg-8: -8px;\n --wb-line-10: 10px;\n --wb-line-13: 13px;\n --wb-line-14: 14px;\n --wb-line-15: 15px;\n --wb-line-16: 16px;\n --wb-line-17: 17px;\n --wb-line-18: 18px;\n --wb-line-19: 19px;\n --wb-line-20: 20px;\n --wb-line-22: 22px;\n --wb-line-24: 24px;\n --wb-radius-14: 14px;\n --wb-radius-2: 2px;\n --wb-radius-6: 6px;\n --wb-radius-pill: 999px;\n --wb-track-brand: .04em;\n --wb-z-1100: 1100;\n --wb-z-10: 10;\n --wb-z-30: 30;\n --wb-z-40: 40;\n --wb-z-top: 2147483000;\n --wb-project-menu-min-width: 0;\n}\n";
|
|
6273
6615
|
//#endregion
|
|
6274
6616
|
//#region src/shared/styles/sidebar-app.css?raw
|
|
6275
6617
|
var sidebar_app_default = ".wb-wsSection {\n position: relative;\n flex: none;\n --dsh-session-list-edge-inset: var(--dsh-sidebar-inline-padding);\n --dsh-session-list-scrollbar-width: 5px;\n --dsh-session-list-scrollbar-offset: 2px;\n margin: 0 var(--dsh-session-list-scrollbar-offset) var(--wb-len-4) 0;\n padding-right: calc( var(--dsh-session-list-edge-inset) - var(--dsh-session-list-scrollbar-width) - var(--dsh-session-list-scrollbar-offset) );\n}.wb-sectionHeader {\n box-sizing: border-box;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n gap: var(--wb-len-4);\n height: var(--wb-len-36);\n flex: none;\n margin-bottom: var(--wb-len-4);\n padding-left: var(--wb-len-8);\n padding-right: var(--wb-len-2);\n border-radius: var(--dsw-radius-md);\n color: var(--dsw-alias-label-tertiary);\n overflow: hidden;\n}.wb-wsNew {\n margin-left: auto;\n}.wb-sectionLabel {\n flex: none;\n min-width: 0;\n max-width: 45%;\n overflow: hidden;\n white-space: nowrap;\n line-height: var(--wb-line-20);\n}.wb-collapsed .wb-wsSection {\n margin: 0 0 var(--wb-len-12);\n padding-right: 0;\n}.wb-collapsed .wb-sectionHeader {\n justify-content: flex-start;\n gap: 0;\n margin-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n}.wb-collapsed .wb-wsNew {\n margin-left: 0;\n}.wb-project {\n position: relative;\n flex: none;\n margin: 0 var(--wb-len-2) var(--wb-len-4);\n}.wb-projectAnchor {\n display: block;\n width: 100%;\n min-width: var(--wb-project-menu-min-width, 0);\n}.wb-projectButton {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: var(--wb-gap-xs);\n width: 100%;\n height: var(--wb-len-34);\n padding: 0 var(--wb-len-8);\n border: none;\n border-radius: var(--dsw-radius-md);\n background: transparent;\n color: var(--dsw-alias-label-primary);\n font: inherit;\n text-align: left;\n cursor: pointer;\n user-select: none;\n}.wb-projectButton:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}.wb-projectButton:focus-visible {\n outline: var(--dsw-focus-ring-width) solid\n var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}.wb-collapsed .wb-projectButton {\n justify-content: center;\n width: var(--wb-bar-height);\n height: var(--wb-bar-height);\n padding: 0;\n}.wb-collapsed .wb-projectName,\n.wb-collapsed .wb-projectChevron {\n display: none;\n}.wb-projectGlyph {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-16);\n height: var(--wb-len-20);\n color: var(--dsw-alias-label-tertiary);\n}.wb-projectGlyphActive {\n color: var(--dsw-alias-state-business-primary);\n}.wb-projectName {\n flex: 1;\n min-width: 0;\n font-size: var(--wb-font-row);\n line-height: var(--wb-line-20);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}.wb-projectChevron {\n flex: none;\n display: inline-flex;\n color: var(--dsw-alias-label-caption);\n transition: transform var(--wb-dur-0-15) var(--ds-ease-in-out);\n}.wb-projectChevronOpen {\n transform: rotate(180deg);\n}.wb-sessions {\n --dsh-session-list-edge-inset: var(--dsh-sidebar-inline-padding);\n --dsh-session-list-scrollbar-width: 5px;\n --dsh-session-list-scrollbar-offset: 2px;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n margin-left: var(--wb-len-neg-4);\n margin-right: var(--dsh-session-list-scrollbar-offset);\n padding-left: var(--wb-len-4);\n padding-right: calc( var(--dsh-session-list-edge-inset) - var(--dsh-session-list-scrollbar-width) - var(--dsh-session-list-scrollbar-offset) );\n padding-bottom: var(--wb-len-16);\n scrollbar-gutter: stable;\n --dsh-scrollbar-thumb: var(--dsw-alias-scrollbar-bg-l2);\n --dsh-scrollbar-thumb-hover: var(--dsw-alias-scrollbar-hover-l2);\n}.wb-sessions > * + * {\n margin-top: var(--wb-len-2);\n}.wb-sessionLeading {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-16);\n height: var(--wb-len-20);\n color: var(--dsw-alias-label-tertiary);\n}.wb-sessionPin {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-16);\n height: var(--wb-len-20);\n margin-left: var(--wb-len-6);\n color: var(--dsw-alias-label-caption);\n}.wb-rowActions {\n flex: none;\n display: none;\n align-items: center;\n gap: var(--wb-len-10);\n}.wb-rowActions .wb-iconButton {\n width: var(--wb-len-24);\n height: var(--wb-len-24);\n}.wb-sessionRow:hover .wb-rowActions,\n.wb-sessionRow.wb-menuOpen .wb-rowActions {\n display: inline-flex;\n}.wb-sessionRow:hover .wb-sessionTime,\n.wb-sessionRow.wb-menuOpen .wb-sessionTime,\n.wb-sessionRow:hover .wb-sessionPin,\n.wb-sessionRow.wb-menuOpen .wb-sessionPin {\n display: none;\n}.wb-sessionRow.wb-menuOpen {\n background: var(--dsw-alias-interactive-bg-hover);\n}.wb-rowMenu {\n left: auto;\n right: 0;\n min-width: var(--wb-len-144);\n max-width: var(--wb-len-260);\n}.wb-sessionRow {\n position: relative;\n flex: none;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: 0;\n width: 100%;\n height: var(--wb-len-32);\n padding: 0 var(--wb-len-8);\n border: none;\n border-radius: var(--dsw-radius-md);\n background: transparent;\n color: var(--dsw-alias-label-primary);\n font: inherit;\n text-align: left;\n cursor: pointer;\n user-select: none;\n}.wb-sessionRow:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}.wb-sessionRow:focus-visible {\n outline: var(--dsw-focus-ring-width) solid\n var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}.wb-visuallyHidden {\n clip: rect(0 0 0 0);\n white-space: nowrap;\n width: var(--wb-len-1);\n height: var(--wb-len-1);\n position: absolute;\n overflow: hidden;\n}.wb-sessionTitle {\n flex: 1;\n min-width: 0;\n margin: 0 var(--wb-len-6) 0 var(--wb-len-4);\n font-size: var(--wb-font-row);\n line-height: var(--wb-line-20);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}.wb-sessionTime {\n flex: none;\n font-size: var(--wb-font-10);\n line-height: var(--wb-line-16);\n color: var(--dsw-alias-label-tertiary);\n}.wb-empty {\n padding: var(--wb-len-16) var(--wb-len-12);\n font-size: var(--dsw-font-xs-13-font-size);\n color: var(--dsw-alias-label-tertiary);\n}@media (prefers-reduced-motion: reduce) {\n .wb-projectChevron {\n transition: none;\n }}.wb-sessionRow.wb-selected {\n background: var(--dsw-alias-interactive-bg-hover);\n}.wb-panelTag {\n flex: none;\n margin-left: auto;\n}.wb-panelGlyph {\n position: relative;\n}.wb-panelDot {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: var(--wb-len-neg-3);\n right: var(--wb-len-neg-3);\n}button.pXSMma_workspace {\n display: none;\n}";
|
|
@@ -6281,7 +6623,10 @@ window.__ModuleLoader__.load({
|
|
|
6281
6623
|
var chrome_default = ".wb-stripButton {\n width: var(--wb-len-28);\n height: var(--wb-len-28);\n padding: 0;\n color: var(--dsw-alias-label-secondary);\n}.wb-stripIconFlip {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n transform: scaleX(-1);\n}.wb-stripButton:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}.wb-stripButton:disabled {\n cursor: default;\n opacity: 1;\n}.wb-stripButtonActive {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}.wb-panelBody.wb-fixtureMany .wb-mockStrip {\n display: none;\n}@keyframes wb-spin {\n from {\n transform: rotate(0deg);\n }to {\n transform: rotate(360deg);\n }}";
|
|
6282
6624
|
//#endregion
|
|
6283
6625
|
//#region src/shared/styles/board.css?raw
|
|
6284
|
-
var board_default = "
|
|
6626
|
+
var board_default = "[data-wb-dot] {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n}\n\n.wb-iconButton:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-iconButton: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}\n\n.wb-spinning svg {\n animation: wb-spin var(--wb-dur-0-9) linear infinite;\n}\n\n@keyframes wb-dash {\n 0% {\n stroke-dasharray: 12 150;\n stroke-dashoffset: 0;\n }50% {\n stroke-dasharray: 24 150;\n stroke-dashoffset: -6;\n }to {\n stroke-dasharray: 12 150;\n stroke-dashoffset: 0;\n }}\n";
|
|
6627
|
+
//#endregion
|
|
6628
|
+
//#region src/shared/styles/motion.css?raw
|
|
6629
|
+
var motion_default = "[data-animating],\n[data-sidebar-right-panel] {\n --ds-transition-duration-slow: 0s;\n}\n";
|
|
6285
6630
|
//#endregion
|
|
6286
6631
|
//#region src/shared/hooks/use-api-resource.ts
|
|
6287
6632
|
var use_api_resource_exports = /* @__PURE__ */ __exportAll({
|
|
@@ -6682,11 +7027,11 @@ window.__ModuleLoader__.load({
|
|
|
6682
7027
|
...face.messages === void 0 ? {} : { messages: face.messages }
|
|
6683
7028
|
})));
|
|
6684
7029
|
}
|
|
6685
|
-
var COMPONENT_CSS_MARKER = "\n.wb-approvalCommand {\n max-width: 100%;\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-len-20);\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\n.wb-cardRefresh.wb-spinning svg {\n animation: wb-spin var(--wb-dur-0-9) linear infinite;\n}\n\n.wb-choiceMenu {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n padding: var(--wb-len-4);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-md);\n background: transparent;\n}\n\n.wb-choiceOption {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-height: var(--wb-len-30);\n padding: var(--wb-len-6) 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-choiceOption:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.wb-choiceLabel {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\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 opacity: 0.5;\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-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 display: inline-flex;\n align-items: center;\n gap: var(--wb-len-2);\n color: var(--dsw-alias-label-secondary);\n text-decoration: none;\n white-space: nowrap;\n}\n.wb-longTaskLink:hover,\n.wb-longTaskLink:focus-visible {\n color: var(--dsw-alias-label-primary);\n text-decoration: none;\n}\n.wb-longTaskLink: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.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.wb-mockStrip {\n display: flex;\n flex-wrap: wrap;\n gap: var(--wb-len-4);\n padding: var(--wb-len-8) var(--wb-len-12);\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n flex: none;\n}\n\n.wb-mockNote {\n flex: 1 0 100%;\n font-size: var(--wb-font-10);\n line-height: var(--wb-line-14);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-mockChip {\n flex: none;\n padding: var(--wb-len-2) var(--wb-len-7);\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--wb-radius-pill);\n corner-shape: round;\n background: transparent;\n font-size: var(--wb-font-10);\n line-height: var(--wb-line-14);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n\n.wb-mockChip:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-mockChipOn {\n border-color: transparent;\n background: var(--dsw-alias-brand-primary);\n color: var(--dsw-alias-label-primary-foreground);\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.wb-formActions {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--wb-len-8);\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[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._foot_1us83_1 {\n display: flex;\n align-items: center;\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_1us83_12 {\n flex: 1;\n min-width: 0;\n}\n\n._footTextMd_1us83_17 {\n flex: 1;\n min-width: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n._marketList_7yq35_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 max-height: var(--wb-len-320);\n overflow-y: auto;\n}\n\n._marketRow_7yq35_12 {\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_7yq35_22 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-40);\n height: var(--wb-len-40);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-md);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketMain_7yq35_34 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._marketName_7yq35_41 {\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._marketDesc_7yq35_50 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n overflow: hidden;\n white-space: nowrap;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketUsedBy_7yq35_61 {\n margin-left: var(--wb-len-8);\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 opacity: 0.75;\n}\n\n._marketUsedBy_7yq35_61::before {\n content: '·';\n margin-right: var(--wb-len-6);\n opacity: 0.8;\n}\n\n._marketName_7yq35_41 ._marketVersion_7yq35_75 {\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_7yq35_75 {\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketVersion_7yq35_75::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._marketEnd_7yq35_97 {\n flex: none;\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._marketActions_7yq35_104 {\n flex: none;\n display: flex;\n gap: var(--wb-len-6);\n}\n\n._marketSection_7yq35_110 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._marketSectionHead_7yq35_117 {\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-8);\n}\n\n._marketSectionTitle_7yq35_123 {\n margin: 0;\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._marketSectionCount_7yq35_129 {\n font: var(--dsw-font-s-14);\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketProgress_7yq35_135 {\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_7yq35_145 {\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_7yq35_152 {\n grid-column: 2 / -1;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._marketEmpty_7yq35_159 {\n padding: var(--wb-len-18) var(--wb-len-16);\n text-align: center;\n}\n\n._marketPage_7yq35_164 {\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: auto;\n color: var(--dsw-alias-label-primary);\n}\n\n._marketPage_7yq35_164 > * {\n width: 100%;\n max-width: var(--wb-len-960);\n}\n\n._marketPageHead_7yq35_181 {\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_7yq35_189 {\n margin: 0;\n font: var(--dsw-font-l-20);\n}\n\n._marketPageIntro_7yq35_194 {\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_7yq35_200 {\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._marketIconButton_7yq35_209 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-28);\n height: var(--wb-len-28);\n padding: 0;\n border: 0;\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n color: var(--dsw-alias-label-caption);\n cursor: pointer;\n}\n\n._marketIconButton_7yq35_209:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketIconButton_7yq35_209:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n._marketIconWrap_7yq35_234 {\n display: inline-flex;\n}\n\n._marketIconButtonSpinning_7yq35_238 svg {\n animation: _wb-spin_7yq35_1 var(--wb-dur-0-9) linear infinite;\n}\n\n._marketAddButton_7yq35_242 {\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_7yq35_159 {\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._marketChecking_7yq35_259 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketEmptyTitle_7yq35_267 {\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n@keyframes _wb-spin_7yq35_1 {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n._wide_1coeb_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_1coeb_8 {\n width: min(var(--wb-len-560), 100%);\n max-height: min(var(--wb-len-800), 100%);\n}\n\n._content_1coeb_13 {\n min-height: 0;\n overflow: auto;\n}\n\n._stack_1coeb_18 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n\n._body_1coeb_25 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n\n._field_1coeb_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_1coeb_39 {\n width: 100%;\n height: var(--wb-len-40);\n padding: 0 var(--wb-len-14);\n}\n\n._registryField_1coeb_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_1coeb_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_1coeb_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_1coeb_59:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n._guideToggle_1coeb_59 svg,\n._registryToggle_1coeb_78 svg {\n transition: transform var(--wb-dur-0-12) ease;\n}\n\n._guideToggle_1coeb_59[aria-expanded='true'] svg,\n._registryToggle_1coeb_78[aria-expanded='true'] svg {\n transform: rotate(180deg);\n}\n\n._registryWrap_1coeb_87 {\n position: relative;\n flex: none;\n}\n\n._registryToggle_1coeb_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_1coeb_78:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n._registryToggle_1coeb_78:disabled {\n cursor: default;\n opacity: 0.6;\n}\n\n._registryToggle_1coeb_78[aria-expanded='true'] {\n border-color: var(--dsw-alias-border-l3);\n background: var(--dsw-alias-bg-layer-3);\n}\n\n._registryChosen_1coeb_121 {\n color: var(--dsw-alias-label-primary);\n font-weight: 500;\n}\n\n._registry_1coeb_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_1coeb_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_1coeb_143 {\n flex-direction: row;\n align-items: flex-start;\n gap: var(--wb-len-10);\n}\n\n._registryPick_1coeb_159 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-10);\n cursor: pointer;\n}\n\n._registryOption_1coeb_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_1coeb_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_1coeb_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_1coeb_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_1coeb_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_1coeb_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_1coeb_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_1coeb_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_1coeb_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_1coeb_244 {\n display: flex;\n flex-direction: column;\n flex: 1;\n gap: 0;\n min-width: 0;\n}\n\n._guideTitle_1coeb_252 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n}\n\n._guideHint_1coeb_258 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-caption);\n}\n\n._guideExample_1coeb_264 {\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._guideExample_1coeb_264 code {\n font-family: var(--dsw-font-mono, monospace);\n}\n\n._guideExampleLabel_1coeb_274 {\n color: var(--dsw-alias-label-caption);\n}\n\n._footer_1coeb_278 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-20);\n width: 100%;\n}\n\n._hero_1coeb_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_1coeb_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_1coeb_294[data-state='done'] {\n color: var(--dsw-alias-state-success-secondary);\n}\n\n._heroIcon_1coeb_294[data-state='error'] {\n color: var(--dsw-alias-state-warn-label);\n}\n\n._pendingTitle_1coeb_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_1coeb_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_1coeb_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_1coeb_337 {\n margin: 0;\n font: var(--dsw-font-base-strong-16);\n overflow-wrap: anywhere;\n}\n\n._subjectMeta_1coeb_343,\n._subjectDesc_1coeb_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_1coeb_351,\n._resultWarn_1coeb_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_1coeb_352 {\n background: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 12%, transparent);\n}\n\n._approval_1coeb_365 {\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_1coeb_375 {\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_1coeb_382 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._approvalCaution_1coeb_388 {\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_1coeb_395 {\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_1coeb_402 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._noteError_1coeb_406 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._problem_1coeb_410 {\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_1coeb_417 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-caption);\n}\n\n._detail_1coeb_417 {\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._actions_jlw8j_1[hidden],\n._progress_jlw8j_2[hidden],\n._commandRow_jlw8j_3[hidden],\n._bridge_jlw8j_4[hidden],\n._raw_jlw8j_5[hidden] {\n display: none;\n}\n\n._gate_jlw8j_9 {\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_jlw8j_20 {\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_jlw8j_20:has(._actions_jlw8j_1:not([hidden])),\n._card_jlw8j_20:has(._bridge_jlw8j_4:not([hidden])) {\n max-width: var(--wb-len-520);\n}\n\n._title_jlw8j_35 {\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_jlw8j_43 {\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_jlw8j_50 {\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_jlw8j_50 {\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_jlw8j_50[data-status='running'] {\n color: var(--dsw-alias-label-primary);\n}\n\n._mark_jlw8j_77 {\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_jlw8j_50[data-status='ok'] ._mark_jlw8j_77 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._step_jlw8j_50[data-status='warn'] ._mark_jlw8j_77 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._step_jlw8j_50[data-status='failed'] ._mark_jlw8j_77 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._label_jlw8j_102 {\n flex: none;\n}\n\n._detail_jlw8j_106 {\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_jlw8j_2 {\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_jlw8j_124 {\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_jlw8j_132 {\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_jlw8j_3 {\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_jlw8j_158 {\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_jlw8j_158:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n._command_jlw8j_3 {\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_jlw8j_191 {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wb-len-12);\n}\n\n._mockSlot_jlw8j_198 {\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_jlw8j_191 {\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_jlw8j_191:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._button_jlw8j_191:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n._actions_jlw8j_1,\n._bridge_jlw8j_4 {\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_jlw8j_249 {\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_jlw8j_1 ._hint_jlw8j_43,\n._bridge_jlw8j_4 ._hint_jlw8j_43 {\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_jlw8j_1 ._commandRow_jlw8j_3,\n._bridge_jlw8j_4 ._commandRow_jlw8j_3 {\n margin: 0;\n}\n\n._actions_jlw8j_1 ._buttons_jlw8j_191,\n._bridge_jlw8j_4 ._buttons_jlw8j_191 {\n justify-content: flex-start;\n}\n\n._raw_jlw8j_5 {\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\n._rawSummary_jlw8j_282 {\n cursor: pointer;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._actions_jlw8j_1 ._error_jlw8j_132,\n._bridge_jlw8j_4 ._error_jlw8j_132 {\n margin-top: var(--wb-len-6);\n}\n\n._bridgeLines_jlw8j_292 {\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_jlw8j_292 a {\n display: block;\n margin-top: var(--wb-len-4);\n width: fit-content;\n}\n\n._link_jlw8j_309 {\n color: var(--dsw-alias-label-primary);\n text-decoration: none;\n}\n\n._link_jlw8j_309::after {\n content: '↗';\n margin-left: var(--wb-len-2);\n}\n\n._link_jlw8j_309:hover {\n text-decoration: underline;\n}\n\n._loading_jlw8j_323 {\n flex: none;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._loading_jlw8j_323[hidden] {\n display: none;\n}\n\n._loadingMotion_jlw8j_332 {\n transform-origin: center;\n animation: _wb-spin_jlw8j_1 var(--wb-dur-1-5) linear infinite;\n}\n\n._loadingTrack_jlw8j_337,\n._loadingArc_jlw8j_338 {\n fill: none;\n stroke: currentColor;\n stroke-width: 2;\n stroke-linecap: round;\n}\n\n._loadingTrack_jlw8j_337 {\n opacity: 0.25;\n}\n\n._loadingArc_jlw8j_338 {\n stroke-dasharray: 12 150;\n animation: _wb-dash_jlw8j_1 var(--wb-dur-1-5) ease-in-out infinite;\n}\n\n@keyframes _wb-spin_jlw8j_1 {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes _wb-dash_jlw8j_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_jlw8j_332,\n ._loadingArc_jlw8j_338 {\n animation: none;\n }\n}\n._button_ssnyt_1 {\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_ssnyt_1:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n._icon_ssnyt_13 {\n display: block;\n transform: scaleX(-1);\n}\n\n._icon_ssnyt_13 svg {\n width: var(--wb-len-15);\n height: var(--wb-len-15);\n}\n._stripTabs_1dqp4_1 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-4);\n min-width: 0;\n overflow: hidden;\n}\n\n._tab_1dqp4_9 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n flex: none;\n height: var(--wb-len-28);\n padding: 0 var(--wb-len-10);\n border: 0;\n border-radius: var(--dsw-radius-sm);\n background: none;\n font: inherit;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-16);\n max-width: 100%;\n}\n\n._tabActive_1dqp4_25 {\n color: var(--dsw-alias-label-primary);\n}\n\n._tabQuiet_1dqp4_29 {\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n\n._tabQuiet_1dqp4_29:hover {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._tabTitle_1dqp4_39 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._sep_1dqp4_49 {\n flex: none;\n color: var(--dsw-alias-label-dimmed);\n}\n._trigger_1weg4_1 {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n._pop_1weg4_7 {\n position: absolute;\n top: calc(100% + var(--wb-len-8));\n right: 0;\n z-index: var(--wb-z-30);\n width: var(--wb-len-360);\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_1weg4_21 {\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_1weg4_29 {\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._reset_1weg4_37 {\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_1weg4_37:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n._reset_1weg4_37:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n._list_1weg4_59 {\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_1weg4_68 {\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: grab;\n}\n\n._row_1weg4_68:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._rowOver_1weg4_83::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_1weg4_93 {\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_1weg4_108 {\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}\n\n._label_1weg4_116 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._name_1weg4_123 {\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_1weg4_134 {\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_1weg4_142 {\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._blocker_cfaak_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_cfaak_10 {\n display: flex;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._title_cfaak_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_cfaak_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_cfaak_1._blockerInline_cfaak_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_cfaak_1._blockerInline_cfaak_32 ._title_cfaak_15 {\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n}\n\n._blocker_cfaak_1._blockerInline_cfaak_32 ._hint_cfaak_23 {\n max-width: 100%;\n}\n\n._blocker_cfaak_1._blockerInline_cfaak_32 ._actions_cfaak_48 {\n margin-top: var(--wb-len-8);\n}\n\n._blocker_cfaak_1._blockerInline_cfaak_32 ._raw_cfaak_52 {\n margin-top: var(--wb-len-4);\n max-width: 100%;\n}\n\n._actions_cfaak_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_cfaak_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_cfaak_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_cfaak_71._noticeFlat_cfaak_84 {\n margin: 0;\n padding: 0;\n border: 0;\n background: transparent;\n}\n\n._noticeText_cfaak_91 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-3);\n min-width: 0;\n}\n\n._noticeTitle_cfaak_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_cfaak_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_cfaak_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_cfaak_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_cfaak_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._inlineLink_cfaak_134 {\n margin-left: var(--wb-len-2);\n padding: 0;\n border: none;\n background: transparent;\n font: inherit;\n color: var(--dsw-alias-label-primary);\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-2);\n vertical-align: baseline;\n}\n\n._inlineLink_cfaak_134:hover {\n text-decoration: underline;\n}\n\n._inlineLink_cfaak_134:disabled {\n opacity: 0.6;\n cursor: default;\n}\n._rawText_cfaak_156 {\n margin: var(--wb-len-6) 0 0;\n max-width: 100%;\n}\n/*$vite$:1*/";
|
|
7030
|
+
var COMPONENT_CSS_MARKER = "\n.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 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\n.wb-approvalCommand {\n max-width: 100%;\n}\n.wb-approvalPlan {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-6);\n}\n.wb-approvalHint {\n margin: 0;\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-secondary);\n}\n.wb-approvalRows {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n margin: 0;\n}\n.wb-approvalRow {\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-8);\n}\n.wb-approvalLabel {\n flex: none;\n width: var(--wb-len-56);\n font-size: var(--dsw-font-xxs-12-font-size);\n line-height: var(--wb-line-18);\n color: var(--dsw-alias-label-tertiary);\n}\n.wb-approvalValue {\n margin: 0;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-18);\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n overflow-wrap: anywhere;\n}\n.wb-approvalWarn {\n color: var(--dsw-alias-label-secondary);\n}\n\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-len-20);\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\n.wb-cardRefresh.wb-spinning svg {\n animation: wb-spin var(--wb-dur-0-9) linear infinite;\n}\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);\n}\n.wb-cardBody > :not([data-wb-bleed]) {\n padding-left: var(--wb-len-8);\n padding-right: var(--wb-len-8);\n}\n\n.wb-choiceMenu {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-2);\n padding: var(--wb-len-4);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-md);\n background: transparent;\n}\n\n.wb-choiceOption {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-height: var(--wb-len-30);\n padding: var(--wb-len-6) 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-choiceOption:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n.wb-choiceLabel {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\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 opacity: 0.5;\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-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 display: inline-flex;\n align-items: center;\n gap: var(--wb-len-2);\n color: var(--dsw-alias-label-secondary);\n text-decoration: none;\n white-space: nowrap;\n}\n.wb-longTaskLink:hover,\n.wb-longTaskLink:focus-visible {\n color: var(--dsw-alias-label-primary);\n text-decoration: none;\n}\n.wb-longTaskLink: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.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.wb-mockStrip {\n display: flex;\n flex-wrap: wrap;\n gap: var(--wb-len-4);\n padding: var(--wb-len-8) var(--wb-len-12);\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n flex: none;\n}\n\n.wb-mockNote {\n flex: 1 0 100%;\n font-size: var(--wb-font-10);\n line-height: var(--wb-line-14);\n color: var(--dsw-alias-label-tertiary);\n}\n\n.wb-mockChip {\n flex: none;\n padding: var(--wb-len-2) var(--wb-len-7);\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--wb-radius-pill);\n corner-shape: round;\n background: transparent;\n font-size: var(--wb-font-10);\n line-height: var(--wb-line-14);\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n\n.wb-mockChip:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-mockChipOn {\n border-color: transparent;\n background: var(--dsw-alias-brand-primary);\n color: var(--dsw-alias-label-primary-foreground);\n}\n.wb-note {\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-problem {\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-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\n.wb-row:has(> [data-wb-dot]) {\n grid-template-columns: 84px minmax(0, 1fr);\n}\n.wb-rows {\n display: flex;\n flex-direction: column;\n}\n.wb-row {\n display: grid;\n grid-template-columns: 56px 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 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-formActions {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--wb-len-8);\n}\n.wb-settings {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n padding: var(--wb-len-10);\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-1);\n}\n.wb-settingsHead {\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n.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-xxs-12-font-size);\n line-height: var(--wb-line-18);\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n}\n\n.wb-stack {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-10);\n min-height: 0;\n}\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.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[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._marketList_7yq35_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 max-height: var(--wb-len-320);\n overflow-y: auto;\n}\n\n._marketRow_7yq35_12 {\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_7yq35_22 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-40);\n height: var(--wb-len-40);\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-md);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketMain_7yq35_34 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-4);\n min-width: 0;\n}\n\n._marketName_7yq35_41 {\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._marketDesc_7yq35_50 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n overflow: hidden;\n white-space: nowrap;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketUsedBy_7yq35_61 {\n margin-left: var(--wb-len-8);\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 opacity: 0.75;\n}\n\n._marketUsedBy_7yq35_61::before {\n content: '·';\n margin-right: var(--wb-len-6);\n opacity: 0.8;\n}\n\n._marketName_7yq35_41 ._marketVersion_7yq35_75 {\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_7yq35_75 {\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketVersion_7yq35_75::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._marketEnd_7yq35_97 {\n flex: none;\n display: flex;\n align-items: center;\n gap: var(--wb-len-8);\n}\n\n._marketActions_7yq35_104 {\n flex: none;\n display: flex;\n gap: var(--wb-len-6);\n}\n\n._marketSection_7yq35_110 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-8);\n min-width: 0;\n}\n\n._marketSectionHead_7yq35_117 {\n display: flex;\n align-items: baseline;\n gap: var(--wb-len-8);\n}\n\n._marketSectionTitle_7yq35_123 {\n margin: 0;\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n._marketSectionCount_7yq35_129 {\n font: var(--dsw-font-s-14);\n font-variant-numeric: tabular-nums;\n color: var(--dsw-alias-label-caption);\n}\n\n._marketProgress_7yq35_135 {\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_7yq35_145 {\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_7yq35_152 {\n grid-column: 2 / -1;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-state-error-primary);\n overflow-wrap: anywhere;\n}\n\n._marketEmpty_7yq35_159 {\n padding: var(--wb-len-18) var(--wb-len-16);\n text-align: center;\n}\n\n._marketPage_7yq35_164 {\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: auto;\n color: var(--dsw-alias-label-primary);\n}\n\n._marketPage_7yq35_164 > * {\n width: 100%;\n max-width: var(--wb-len-960);\n}\n\n._marketPageHead_7yq35_181 {\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_7yq35_189 {\n margin: 0;\n font: var(--dsw-font-l-20);\n}\n\n._marketPageIntro_7yq35_194 {\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_7yq35_200 {\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._marketIconButton_7yq35_209 {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--wb-len-28);\n height: var(--wb-len-28);\n padding: 0;\n border: 0;\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n color: var(--dsw-alias-label-caption);\n cursor: pointer;\n}\n\n._marketIconButton_7yq35_209:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketIconButton_7yq35_209:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n._marketIconWrap_7yq35_234 {\n display: inline-flex;\n}\n\n._marketIconButtonSpinning_7yq35_238 svg {\n animation: _wb-spin_7yq35_1 var(--wb-dur-0-9) linear infinite;\n}\n\n._marketAddButton_7yq35_242 {\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_7yq35_159 {\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._marketChecking_7yq35_259 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n\n._marketEmptyTitle_7yq35_267 {\n font: var(--dsw-font-base-strong-16);\n color: var(--dsw-alias-label-primary);\n}\n\n@keyframes _wb-spin_7yq35_1 {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n._foot_1us83_1 {\n display: flex;\n align-items: center;\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_1us83_12 {\n flex: 1;\n min-width: 0;\n}\n\n._footTextMd_1us83_17 {\n flex: 1;\n min-width: 0;\n font: var(--dsw-font-s-14);\n color: var(--dsw-alias-label-secondary);\n}\n._wide_1coeb_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_1coeb_8 {\n width: min(var(--wb-len-560), 100%);\n max-height: min(var(--wb-len-800), 100%);\n}\n\n._content_1coeb_13 {\n min-height: 0;\n overflow: auto;\n}\n\n._stack_1coeb_18 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n\n._body_1coeb_25 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-12);\n min-width: 0;\n}\n\n._field_1coeb_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_1coeb_39 {\n width: 100%;\n height: var(--wb-len-40);\n padding: 0 var(--wb-len-14);\n}\n\n._registryField_1coeb_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_1coeb_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_1coeb_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_1coeb_59:hover {\n color: var(--dsw-alias-label-primary);\n}\n\n._guideToggle_1coeb_59 svg,\n._registryToggle_1coeb_78 svg {\n transition: transform var(--wb-dur-0-12) ease;\n}\n\n._guideToggle_1coeb_59[aria-expanded='true'] svg,\n._registryToggle_1coeb_78[aria-expanded='true'] svg {\n transform: rotate(180deg);\n}\n\n._registryWrap_1coeb_87 {\n position: relative;\n flex: none;\n}\n\n._registryToggle_1coeb_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_1coeb_78:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n._registryToggle_1coeb_78:disabled {\n cursor: default;\n opacity: 0.6;\n}\n\n._registryToggle_1coeb_78[aria-expanded='true'] {\n border-color: var(--dsw-alias-border-l3);\n background: var(--dsw-alias-bg-layer-3);\n}\n\n._registryChosen_1coeb_121 {\n color: var(--dsw-alias-label-primary);\n font-weight: 500;\n}\n\n._registry_1coeb_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_1coeb_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_1coeb_143 {\n flex-direction: row;\n align-items: flex-start;\n gap: var(--wb-len-10);\n}\n\n._registryPick_1coeb_159 {\n display: flex;\n align-items: flex-start;\n gap: var(--wb-len-10);\n cursor: pointer;\n}\n\n._registryOption_1coeb_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_1coeb_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_1coeb_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_1coeb_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_1coeb_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_1coeb_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_1coeb_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_1coeb_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_1coeb_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_1coeb_244 {\n display: flex;\n flex-direction: column;\n flex: 1;\n gap: 0;\n min-width: 0;\n}\n\n._guideTitle_1coeb_252 {\n font: var(--dsw-font-s-14);\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n}\n\n._guideHint_1coeb_258 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-caption);\n}\n\n._guideExample_1coeb_264 {\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n overflow-wrap: anywhere;\n}\n\n._guideExample_1coeb_264 code {\n font-family: var(--dsw-font-mono, monospace);\n}\n\n._guideExampleLabel_1coeb_274 {\n color: var(--dsw-alias-label-caption);\n}\n\n._footer_1coeb_278 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-20);\n width: 100%;\n}\n\n._hero_1coeb_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_1coeb_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_1coeb_294[data-state='done'] {\n color: var(--dsw-alias-state-success-secondary);\n}\n\n._heroIcon_1coeb_294[data-state='error'] {\n color: var(--dsw-alias-state-warn-label);\n}\n\n._pendingTitle_1coeb_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_1coeb_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_1coeb_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_1coeb_337 {\n margin: 0;\n font: var(--dsw-font-base-strong-16);\n overflow-wrap: anywhere;\n}\n\n._subjectMeta_1coeb_343,\n._subjectDesc_1coeb_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_1coeb_351,\n._resultWarn_1coeb_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_1coeb_352 {\n background: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 12%, transparent);\n}\n\n._approval_1coeb_365 {\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_1coeb_375 {\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_1coeb_382 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n\n._approvalCaution_1coeb_388 {\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_1coeb_395 {\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_1coeb_402 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._noteError_1coeb_406 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._problem_1coeb_410 {\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_1coeb_417 {\n margin: 0;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-caption);\n}\n\n._detail_1coeb_417 {\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._actions_jlw8j_1[hidden],\n._progress_jlw8j_2[hidden],\n._commandRow_jlw8j_3[hidden],\n._bridge_jlw8j_4[hidden],\n._raw_jlw8j_5[hidden] {\n display: none;\n}\n\n._gate_jlw8j_9 {\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_jlw8j_20 {\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_jlw8j_20:has(._actions_jlw8j_1:not([hidden])),\n._card_jlw8j_20:has(._bridge_jlw8j_4:not([hidden])) {\n max-width: var(--wb-len-520);\n}\n\n._title_jlw8j_35 {\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_jlw8j_43 {\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_jlw8j_50 {\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_jlw8j_50 {\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_jlw8j_50[data-status='running'] {\n color: var(--dsw-alias-label-primary);\n}\n\n._mark_jlw8j_77 {\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_jlw8j_50[data-status='ok'] ._mark_jlw8j_77 {\n color: var(--dsw-alias-state-success-primary);\n}\n\n._step_jlw8j_50[data-status='warn'] ._mark_jlw8j_77 {\n color: var(--dsw-alias-state-warn-primary);\n}\n\n._step_jlw8j_50[data-status='failed'] ._mark_jlw8j_77 {\n color: var(--dsw-alias-state-error-primary);\n}\n\n._label_jlw8j_102 {\n flex: none;\n}\n\n._detail_jlw8j_106 {\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_jlw8j_2 {\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_jlw8j_124 {\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_jlw8j_132 {\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_jlw8j_3 {\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_jlw8j_158 {\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_jlw8j_158:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n._command_jlw8j_3 {\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_jlw8j_191 {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--wb-len-12);\n}\n\n._mockSlot_jlw8j_198 {\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_jlw8j_191 {\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_jlw8j_191:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._button_jlw8j_191:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n\n._actions_jlw8j_1,\n._bridge_jlw8j_4 {\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_jlw8j_249 {\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_jlw8j_1 ._hint_jlw8j_43,\n._bridge_jlw8j_4 ._hint_jlw8j_43 {\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_jlw8j_1 ._commandRow_jlw8j_3,\n._bridge_jlw8j_4 ._commandRow_jlw8j_3 {\n margin: 0;\n}\n\n._actions_jlw8j_1 ._buttons_jlw8j_191,\n._bridge_jlw8j_4 ._buttons_jlw8j_191 {\n justify-content: flex-start;\n}\n\n._raw_jlw8j_5 {\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\n._rawSummary_jlw8j_282 {\n cursor: pointer;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._actions_jlw8j_1 ._error_jlw8j_132,\n._bridge_jlw8j_4 ._error_jlw8j_132 {\n margin-top: var(--wb-len-6);\n}\n\n._bridgeLines_jlw8j_292 {\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_jlw8j_292 a {\n display: block;\n margin-top: var(--wb-len-4);\n width: fit-content;\n}\n\n._link_jlw8j_309 {\n color: var(--dsw-alias-label-primary);\n text-decoration: none;\n}\n\n._link_jlw8j_309::after {\n content: '↗';\n margin-left: var(--wb-len-2);\n}\n\n._link_jlw8j_309:hover {\n text-decoration: underline;\n}\n\n._loading_jlw8j_323 {\n flex: none;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._loading_jlw8j_323[hidden] {\n display: none;\n}\n\n._loadingMotion_jlw8j_332 {\n transform-origin: center;\n animation: _wb-spin_jlw8j_1 var(--wb-dur-1-5) linear infinite;\n}\n\n._loadingTrack_jlw8j_337,\n._loadingArc_jlw8j_338 {\n fill: none;\n stroke: currentColor;\n stroke-width: 2;\n stroke-linecap: round;\n}\n\n._loadingTrack_jlw8j_337 {\n opacity: 0.25;\n}\n\n._loadingArc_jlw8j_338 {\n stroke-dasharray: 12 150;\n animation: _wb-dash_jlw8j_1 var(--wb-dur-1-5) ease-in-out infinite;\n}\n\n@keyframes _wb-spin_jlw8j_1 {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes _wb-dash_jlw8j_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_jlw8j_332,\n ._loadingArc_jlw8j_338 {\n animation: none;\n }\n}\n._group_1hxis_1 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-2);\n}\n\n._button_1hxis_7 {\n flex: none;\n width: var(--wb-len-28);\n height: var(--wb-len-28);\n padding: 0;\n color: var(--dsw-alias-label-secondary);\n}\n\n._button_1hxis_7:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n\n._active_1hxis_19 {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._icon_1hxis_23 {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n._icon_1hxis_23 svg {\n display: block;\n width: var(--wb-len-15);\n height: var(--wb-len-15);\n}\n\n._mirror_1hxis_35 {\n transform: scaleX(-1);\n}\n._stripTabs_1dqp4_1 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-4);\n min-width: 0;\n overflow: hidden;\n}\n\n._tab_1dqp4_9 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n flex: none;\n height: var(--wb-len-28);\n padding: 0 var(--wb-len-10);\n border: 0;\n border-radius: var(--dsw-radius-sm);\n background: none;\n font: inherit;\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-16);\n max-width: 100%;\n}\n\n._tabActive_1dqp4_25 {\n color: var(--dsw-alias-label-primary);\n}\n\n._tabQuiet_1dqp4_29 {\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n\n._tabQuiet_1dqp4_29:hover {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._tabTitle_1dqp4_39 {\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n._sep_1dqp4_49 {\n flex: none;\n color: var(--dsw-alias-label-dimmed);\n}\n._trigger_1weg4_1 {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n._pop_1weg4_7 {\n position: absolute;\n top: calc(100% + var(--wb-len-8));\n right: 0;\n z-index: var(--wb-z-30);\n width: var(--wb-len-360);\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_1weg4_21 {\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_1weg4_29 {\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._reset_1weg4_37 {\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_1weg4_37:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n color: var(--dsw-alias-label-primary);\n}\n\n._reset_1weg4_37:disabled {\n cursor: default;\n opacity: 0.5;\n}\n\n._list_1weg4_59 {\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_1weg4_68 {\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: grab;\n}\n\n._row_1weg4_68:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n\n._rowOver_1weg4_83::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_1weg4_93 {\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_1weg4_108 {\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}\n\n._label_1weg4_116 {\n display: flex;\n align-items: center;\n gap: var(--wb-len-6);\n min-width: 0;\n}\n\n._name_1weg4_123 {\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_1weg4_134 {\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_1weg4_142 {\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._panel_1oyh4_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_1oyh4_1[data-fullscreen] {\n z-index: var(--wb-z-40);\n}\n\n._panel_1oyh4_1[data-open] {\n visibility: visible;\n}\n._blocker_cfaak_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_cfaak_10 {\n display: flex;\n color: var(--dsw-alias-label-tertiary);\n}\n\n._title_cfaak_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_cfaak_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_cfaak_1._blockerInline_cfaak_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_cfaak_1._blockerInline_cfaak_32 ._title_cfaak_15 {\n font-size: var(--dsw-font-xs-13-font-size);\n line-height: var(--wb-line-20);\n}\n\n._blocker_cfaak_1._blockerInline_cfaak_32 ._hint_cfaak_23 {\n max-width: 100%;\n}\n\n._blocker_cfaak_1._blockerInline_cfaak_32 ._actions_cfaak_48 {\n margin-top: var(--wb-len-8);\n}\n\n._blocker_cfaak_1._blockerInline_cfaak_32 ._raw_cfaak_52 {\n margin-top: var(--wb-len-4);\n max-width: 100%;\n}\n\n._actions_cfaak_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_cfaak_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_cfaak_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_cfaak_71._noticeFlat_cfaak_84 {\n margin: 0;\n padding: 0;\n border: 0;\n background: transparent;\n}\n\n._noticeText_cfaak_91 {\n display: flex;\n flex-direction: column;\n gap: var(--wb-len-3);\n min-width: 0;\n}\n\n._noticeTitle_cfaak_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_cfaak_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_cfaak_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_cfaak_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_cfaak_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._inlineLink_cfaak_134 {\n margin-left: var(--wb-len-2);\n padding: 0;\n border: none;\n background: transparent;\n font: inherit;\n color: var(--dsw-alias-label-primary);\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n gap: var(--wb-len-2);\n vertical-align: baseline;\n}\n\n._inlineLink_cfaak_134:hover {\n text-decoration: underline;\n}\n\n._inlineLink_cfaak_134:disabled {\n opacity: 0.6;\n cursor: default;\n}\n._rawText_cfaak_156 {\n margin: var(--wb-len-6) 0 0;\n max-width: 100%;\n}\n/*$vite$:1*/";
|
|
6686
7031
|
function installStyles() {
|
|
6687
7032
|
const style = document.createElement("style");
|
|
6688
7033
|
style.setAttribute(STYLE_MARKER, "");
|
|
6689
|
-
style.textContent = `${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${COMPONENT_CSS_MARKER}`;
|
|
7034
|
+
style.textContent = `${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}`;
|
|
6690
7035
|
document.head.appendChild(style);
|
|
6691
7036
|
return () => style.remove();
|
|
6692
7037
|
}
|
|
@@ -6772,6 +7117,120 @@ window.__ModuleLoader__.load({
|
|
|
6772
7117
|
goToPanel: (index) => store.goTo(index)
|
|
6773
7118
|
};
|
|
6774
7119
|
const rightbarHooks = { hooks: { rightbar: observable } };
|
|
7120
|
+
const sidebarRight = () => ctx.get("sidebarRight");
|
|
7121
|
+
const dshColumn = createDshColumnSource(() => {
|
|
7122
|
+
const official = sidebarRight();
|
|
7123
|
+
if (official === void 0) return false;
|
|
7124
|
+
return official.mounted.getSnapshot() === void 0 || official.isExpanded();
|
|
7125
|
+
}, 400);
|
|
7126
|
+
let pendingDshOpen = false;
|
|
7127
|
+
let pendingOfficialCall;
|
|
7128
|
+
let unsubscribeOfficial;
|
|
7129
|
+
let restoreOfficial;
|
|
7130
|
+
let officialShimmed = false;
|
|
7131
|
+
let workbenchColumnArmed = false;
|
|
7132
|
+
let disposeWorkbenchColumn;
|
|
7133
|
+
const armWorkbenchColumn = () => {
|
|
7134
|
+
if (workbenchColumnArmed) return;
|
|
7135
|
+
workbenchColumnArmed = true;
|
|
7136
|
+
disposeWorkbenchColumn = ctx.slots.inject("rightbar", () => ctx.slots.register({
|
|
7137
|
+
name: "rightbar",
|
|
7138
|
+
priority: -1,
|
|
7139
|
+
locale: LOCALE_NS,
|
|
7140
|
+
inject: () => ({
|
|
7141
|
+
...rightbarActions,
|
|
7142
|
+
...rightbarHooks,
|
|
7143
|
+
units
|
|
7144
|
+
})
|
|
7145
|
+
}, Rightbar));
|
|
7146
|
+
};
|
|
7147
|
+
const releaseWorkbenchColumn = () => {
|
|
7148
|
+
workbenchColumnArmed = false;
|
|
7149
|
+
disposeWorkbenchColumn?.();
|
|
7150
|
+
disposeWorkbenchColumn = void 0;
|
|
7151
|
+
};
|
|
7152
|
+
const flushOfficialCall = () => {
|
|
7153
|
+
const official = sidebarRight();
|
|
7154
|
+
if (official === void 0 || official.mounted.getSnapshot() === void 0) return;
|
|
7155
|
+
if (pendingDshOpen) {
|
|
7156
|
+
pendingDshOpen = false;
|
|
7157
|
+
if (!official.isExpanded()) official.toggleExpanded();
|
|
7158
|
+
}
|
|
7159
|
+
const call = pendingOfficialCall;
|
|
7160
|
+
pendingOfficialCall = void 0;
|
|
7161
|
+
call?.();
|
|
7162
|
+
};
|
|
7163
|
+
const watchOfficial = () => {
|
|
7164
|
+
const official = sidebarRight();
|
|
7165
|
+
if (official === void 0 || unsubscribeOfficial !== void 0) return;
|
|
7166
|
+
unsubscribeOfficial = official.mounted.subscribe(flushOfficialCall);
|
|
7167
|
+
};
|
|
7168
|
+
const armDshColumn = () => {
|
|
7169
|
+
const official = sidebarRight();
|
|
7170
|
+
if (official === void 0) return false;
|
|
7171
|
+
if (official.mounted.getSnapshot() !== void 0) {
|
|
7172
|
+
if (!official.isExpanded()) official.toggleExpanded();
|
|
7173
|
+
return true;
|
|
7174
|
+
}
|
|
7175
|
+
watchOfficial();
|
|
7176
|
+
store.setColumn("dsh");
|
|
7177
|
+
ctx.layout.closeRightbar();
|
|
7178
|
+
releaseWorkbenchColumn();
|
|
7179
|
+
pendingDshOpen = true;
|
|
7180
|
+
return false;
|
|
7181
|
+
};
|
|
7182
|
+
const openInDshColumn = (call) => {
|
|
7183
|
+
shimOfficialNavigation();
|
|
7184
|
+
if (sidebarRight() === void 0) return;
|
|
7185
|
+
if (armDshColumn()) {
|
|
7186
|
+
call();
|
|
7187
|
+
return;
|
|
7188
|
+
}
|
|
7189
|
+
pendingOfficialCall = call;
|
|
7190
|
+
};
|
|
7191
|
+
const shimOfficialNavigation = () => {
|
|
7192
|
+
const official = sidebarRight();
|
|
7193
|
+
if (official === void 0 || officialShimmed) return;
|
|
7194
|
+
const { openResource, openTab } = official;
|
|
7195
|
+
if (typeof openResource !== "function" || typeof openTab !== "function") return;
|
|
7196
|
+
officialShimmed = true;
|
|
7197
|
+
official.openResource = (address, options) => openInDshColumn(() => openResource.call(official, address, options));
|
|
7198
|
+
official.openTab = (kind, options) => openInDshColumn(() => openTab.call(official, kind, options));
|
|
7199
|
+
restoreOfficial = () => {
|
|
7200
|
+
official.openResource = openResource;
|
|
7201
|
+
official.openTab = openTab;
|
|
7202
|
+
officialShimmed = false;
|
|
7203
|
+
};
|
|
7204
|
+
};
|
|
7205
|
+
const selectColumn = (column) => {
|
|
7206
|
+
if (store.getSnapshot().column === column) {
|
|
7207
|
+
if (column === "workbench") {
|
|
7208
|
+
rightbarActions.toggleRightbar();
|
|
7209
|
+
return;
|
|
7210
|
+
}
|
|
7211
|
+
const current = sidebarRight();
|
|
7212
|
+
if (current === void 0 || current.mounted.getSnapshot() === void 0) return;
|
|
7213
|
+
current.toggleExpanded();
|
|
7214
|
+
return;
|
|
7215
|
+
}
|
|
7216
|
+
if (column === "workbench") {
|
|
7217
|
+
store.setColumn("workbench");
|
|
7218
|
+
pendingDshOpen = false;
|
|
7219
|
+
armWorkbenchColumn();
|
|
7220
|
+
store.setExpanded(true);
|
|
7221
|
+
return;
|
|
7222
|
+
}
|
|
7223
|
+
openInDshColumn(() => {});
|
|
7224
|
+
};
|
|
7225
|
+
ctx.effect(() => () => {
|
|
7226
|
+
unsubscribeOfficial?.();
|
|
7227
|
+
unsubscribeOfficial = void 0;
|
|
7228
|
+
restoreOfficial?.();
|
|
7229
|
+
restoreOfficial = void 0;
|
|
7230
|
+
}, "dsh-workbench: 官方椅面订阅与借道");
|
|
7231
|
+
shimOfficialNavigation();
|
|
7232
|
+
watchOfficial();
|
|
7233
|
+
if (store.getSnapshot().column === "workbench") armWorkbenchColumn();
|
|
6775
7234
|
ctx.slots.inject("sidebar", () => ctx.slots.register({
|
|
6776
7235
|
name: "sidebar",
|
|
6777
7236
|
priority: -1,
|
|
@@ -6792,16 +7251,6 @@ window.__ModuleLoader__.load({
|
|
|
6792
7251
|
selectPanel: (panelId) => ctx.layout.selectPanel(panelId)
|
|
6793
7252
|
})
|
|
6794
7253
|
}, Sidebar));
|
|
6795
|
-
ctx.slots.inject("rightbar", () => ctx.slots.register({
|
|
6796
|
-
name: "rightbar",
|
|
6797
|
-
priority: -1,
|
|
6798
|
-
locale: LOCALE_NS,
|
|
6799
|
-
inject: () => ({
|
|
6800
|
-
...rightbarActions,
|
|
6801
|
-
...rightbarHooks,
|
|
6802
|
-
units
|
|
6803
|
-
})
|
|
6804
|
-
}, Rightbar));
|
|
6805
7254
|
registerMarketPanel(ctx, units);
|
|
6806
7255
|
const gate = createBootGate(ctx);
|
|
6807
7256
|
ctx.effect(() => () => gate.close(), "dsh-workbench: env gate");
|
|
@@ -6819,10 +7268,11 @@ window.__ModuleLoader__.load({
|
|
|
6819
7268
|
priority: -1,
|
|
6820
7269
|
locale: LOCALE_NS,
|
|
6821
7270
|
inject: () => ({
|
|
6822
|
-
|
|
7271
|
+
selectColumn,
|
|
7272
|
+
dshColumn,
|
|
6823
7273
|
...rightbarHooks
|
|
6824
7274
|
})
|
|
6825
|
-
},
|
|
7275
|
+
}, ColumnSwitch));
|
|
6826
7276
|
}
|
|
6827
7277
|
function sidebarChildren(ctx) {
|
|
6828
7278
|
return {
|