dsh-input-traffic 0.2.10-beta.3 → 0.2.11-beta.2

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/CHANGELOG.md CHANGED
@@ -2,18 +2,26 @@
2
2
 
3
3
  所有重要变更与 bug 修复记录于此。版本遵循语义化版本(`dsh plugin --profile web add dsh-input-traffic` 安装)。
4
4
 
5
+ ## 0.2.11-beta.2 — 2026-09-20
6
+
7
+ ### 修复:等待队列尾部按钮被「调整对话宽度」把手抢走点击
8
+
9
+ - **现象**:队列卡片「取消并清空」与三档规划按钮(绿/黄/红)落在对话栏右侧的全高宽度把手(`div.wSkVaW_widthHandle[data-side="right"]`)覆盖范围内,点击被把手解释为拖拽,按钮无法操作。
10
+ - **根因**:把手位于 `.body`(`position: absolute`、`z-index: 8`),而 composer 座位 `.composerSeat` 是 `z-index: 7` 的层叠上下文;本插件的 `.dock` 原为 `width: 100%`(铺满 composer 栈),比输入卡片宽约 32px,尾部控件因此伸进把手的命中带。作为层叠上下文内的后代,dock 无法用 `z-index` 越出撤销层级,只能从几何上让位。
11
+ - **修复**:`.dock` 收敛到官方 `QueueDock` 同款卡片列——按「两侧 clearance + 两侧 dock inset」从栈宽扣除、上限为 composer 卡片宽减去 dock inners、`margin: 0 auto` 居中、inset 以 `padding` 返还,使面板仍与输入卡片对齐;并额外用 `min()` 叠加顶层 `--dsh-chat-content-width` 上限,让面板右缘距把手内缘稳定留出 24px 安全带(窄栏下该把手宽度为 0,`min()` 自动回落为卡片列宽)。离线 Chrome 几何探针:对齐场景把手到面板间距 24.5px → 48.5px,位移 16px 的错位场景 8.5px → 32.5px,四个按钮 `elementFromPoint` 命中自身。
12
+ - **跨线核对(本线专属)**:0.1.2 宿主几何与 0.1.5 线逐字一致,因此本条为 verbatim 移植而非改写——`dsh-v0.1.2-rc.1` 的 `ConversationRoot.module.css` 中 `.widthHandle` 为 `z-index: 8` / `width: min(40px, calc((100% - var(--dsh-chat-content-width)) / 2 - 24px - 24px))`,`[data-side='right']` 为 `left: calc(50% + var(--dsh-chat-content-width) / 2 + 24px)`,且 `--dsh-composer-card-max-width`(= 内容列宽 + 32px)/`--dsh-composer-side-clearance`(16px)/`--dsh-composer-dock-inset`(8px)取值与 0.1.5 线相同。修复注释中「条带内缘在内容列外 24px」的前提在 0.1.2 成立。
13
+ - **顺带补 `publishConfig`**:本线此前没有 `publishConfig`,而本机全局 `registry` 指向只读镜像 `registry.npmmirror.com`,直接 `npm publish` 会失败。现按其他线补齐 `registry` / `access` / `tag: beta`,与 `dist-tag beta` 的既有指向一致。
14
+
5
15
  ## Unreleased
6
16
 
7
- ### 变更:本线收窄为 DSH < 0.1.2-alpha.1(旧版线 compat,0.2.10-beta.3)
17
+ ### 破坏性:仅支持 DSH 0.1.2+,完成 `dsh-client-runtime` 移除替换(0.2.11-beta.1)
8
18
 
9
- - **`engines.dsh` 上限收窄**:`>=0.1.0-rc.7 <0.2.0-0` → `>=0.1.0-rc.7 <0.1.2-alpha.1`。
10
- 原上限声称兼容到 0.2.0,但 `@deepseek-ai/dsh-client-runtime` 在 DSH `0.1.2-alpha.1`
11
- 已被整体删除(commit `be531688f3`),本版本仍依赖它发布的 `ClientContext` / `SessionId`,
12
- 在 0.1.2+ 上会解析失败。收窄后安装器能挡住误装。
13
- - **双线分工**:`compat` dist-tag = 本线(DSH 0.1.0/0.1.1);`beta` dist-tag = 0.1.2+ 线
14
- (0.2.11 起,`ClientContext` 改由 `@deepseek-ai/cordis` 提供)。两条线互不覆盖,
15
- 升级 DSH 到 0.1.2+ 时需换线。
16
- - **代码不变**:本版本只改 engines、版本号与文档,`src/` 与 `lib/` 与 0.2.10-beta.2 一致。
19
+ - **`engines.dsh` 收窄为 `>=0.1.2-alpha.1 <0.2.0-0`**:`@deepseek-ai/dsh-client-runtime` 在 0.1.2-alpha.1 被整体删除(commit `be531688f3`),该版本即为本插件的硬分段点。旧版线(≤0.2.10-beta.2)继续服务 DSH 0.1.0/0.1.1。
20
+ - **`ClientContext` / `SessionId` 改由真实归属包提供**:`src/client/index.ts` 改为 `import type { Context as ClientContext } from '@deepseek-ai/cordis'` 与 `import type { SessionId } from '@deepseek-ai/dsh-session/types'`,与官方客户端插件一致。
21
+ - **契约拆除 `dsh-client-runtime` 镜像**:`src/types/contracts.d.ts` 删除 `declare module '@deepseek-ai/dsh-client-runtime/client'`;`QueuedMessage` / `SessionSnapshot` / `ISessions` 迁回 `@deepseek-ai/dsh-api-session-controller/client`,`SnapshotSelectorHook` 迁回 `@deepseek-ai/dsh-client-store`。
22
+ - **新增 `src/types/cordis-augment.d.ts`**:把 `slots` / `sessions` / `locale` / `settingsScope` / `conversation` 声明到 cordis `Context`(官方客户端插件的做法),替代已删除的 `ClientContext`;`ctx.get<IConversation>('conversation')` 相应改为 `ctx.get('conversation')`,因为真实 cordis `get` 由 `Context[K]` 决定返回类型。
23
+ - **`SettingsScopeSnapshot` 补齐 `base` / `user` / `revision`**,`SettingsScopeFace.bind` 增加可选 `decode`。
24
+ - **新增 `@deepseek-ai/dsh-session` peerDependency**;其余 `@deepseek-ai/dsh-client-*` peer 区间同步收窄到 `>=0.1.2-alpha.1 <0.2.0-0`。
17
25
 
18
26
  ### 变更:冻结按钮文案与 session-guard 的分工说明
19
27
 
package/INSTALL.md CHANGED
@@ -19,6 +19,17 @@ The placeholders in this guide are:
19
19
  - `<profile>`: the DSH profile to modify, usually `web`;
20
20
  - `dsh-input-traffic`: the npm package and runtime plugin ID.
21
21
 
22
+ > **Version requirement — DSH v0.1.2 or newer.**
23
+ >
24
+ > Check the running version first (`dsh --version`).
25
+ >
26
+ > | DSH version | Action |
27
+ > | --- | --- |
28
+ > | ≥ 0.1.2 | Install this release. |
29
+ > | < 0.1.2 | Stay on the previous plugin line (0.2.10-beta.2 or earlier). Do not run an older plugin build against DSH v0.1.2+ — upgrade the plugin instead. |
30
+ >
31
+ > The boundary is `0.1.2-alpha.1`, where DSH removed `@deepseek-ai/dsh-client-runtime`. This release imports `Context` from `@deepseek-ai/cordis` and `SessionId` from `@deepseek-ai/dsh-session/types` instead, matching the official client plugins.
32
+
22
33
  ## 0. Prerequisites and profile discovery
23
34
 
24
35
  ```bash
package/INSTALL.zh.md CHANGED
@@ -19,6 +19,17 @@
19
19
  - `<profile>`:要修改的 DSH profile,通常是 `web`;
20
20
  - `dsh-input-traffic`:npm 包名与运行时插件 ID。
21
21
 
22
+ > **版本要求 —— 仅支持 DSH v0.1.2 及以上。**
23
+ >
24
+ > 安装前先确认版本(`dsh --version`)。
25
+ >
26
+ > | DSH 版本 | 操作 |
27
+ > | --- | --- |
28
+ > | ≥ 0.1.2 | 安装本版本。 |
29
+ > | < 0.1.2 | 留在旧版插件(0.2.10-beta.2 及更早)。**不要在 v0.1.2+ 的 DSH 上运行旧版插件,请升级插件。** |
30
+ >
31
+ > 分界点是 `0.1.2-alpha.1`:该版本删除了 `@deepseek-ai/dsh-client-runtime`。本版本改为从 `@deepseek-ai/cordis` 引入 `Context`、从 `@deepseek-ai/dsh-session/types` 引入 `SessionId`,与官方客户端插件一致。
32
+
22
33
  ## 0. 前置检查与 profile 确认
23
34
 
24
35
  ```bash
package/README.md CHANGED
@@ -25,17 +25,17 @@
25
25
  - [日本語 changelog](./CHANGELOG.ja.md)
26
26
  - [한국어 changelog](./CHANGELOG.ko.md)
27
27
 
28
- > **▼ DSH 版本适配(旧版线 compat)**
28
+ > **▼ DSH 版本适配**
29
29
  >
30
- > 本版本(`0.2.10-beta.x`)**仅支持 DSH < 0.1.2-alpha.1**(0.1.0 / 0.1.1 系列)。
30
+ > 本插件 **仅支持 DSH v0.1.2+**。
31
31
  >
32
- > | DSH 版本 | 状态 | 安装命令 |
32
+ > | DSH 版本 | 状态 | 说明 |
33
33
  > | --- | --- | --- |
34
- > | < 0.1.2-alpha.1 | ✅ 支持(本安装线) | `npm i dsh-input-traffic@compat` |
35
- > | ≥ 0.1.2-alpha.1 | ❌ **不支持** | 请改用 `npm i dsh-input-traffic@beta`(0.2.11+) |
34
+ > | ≥ 0.1.2-alpha.1 | ✅ 支持 | 覆盖 0.1.2 / 0.1.3 / 0.1.4 / 0.1.5 系列 |
35
+ > | < 0.1.2-alpha.1 | ⚠️ 不建议 | 请留在旧版插件(0.2.10-beta.2 及更早);**不要在 v0.1.2+ 的 DSH 上运行旧版插件,请升级** |
36
36
  >
37
- > - **分界点**:`@deepseek-ai/dsh-client-runtime` 在 DSH `0.1.2-alpha.1` 被整体删除(commit `be531688f3`)。本版本仍使用它发布的 `ClientContext` / `SessionId`,所以在 0.1.2+ 上会解析失败——`engines.dsh` 已收窄为 `>=0.1.0-rc.7 <0.1.2-alpha.1` 以挡住误装。
38
- > - **序列关系**:`compat` = 0.1.0/0.1.1 线(本版本);`beta` = 0.1.2+ 线(0.2.11 起,改为从 `@deepseek-ai/cordis` 取 `Context`)。两条线互不覆盖。
37
+ > - **分界点在 0.1.2-alpha.1**:`@deepseek-ai/dsh-client-runtime` 在该版本被整体删除(commit `be531688f3`),它发布的 `ClientContext` / `SessionId` 不再存在。本版本起改为从 `@deepseek-ai/cordis` 引入 `Context`、从 `@deepseek-ai/dsh-session/types` 引入 `SessionId`,与官方客户端插件一致。
38
+ > - **旧版为什么不能配新版 DSH**:旧版产物中的 `.d.ts` 仍引用已删除的 `@deepseek-ai/dsh-client-runtime/client`,在 v0.1.2+ 上做类型检查会解析失败。运行时 bundle 虽自包含,仍请一律升级到本版本。
39
39
  > - **队列条位置**:注册 `order: 1000`,排在 `conversation.input.dock` 带内所有已知条目(todo 0 / goal 10 / 官方 queue 20 / dsh-perm-gate 提示 30)之后,紧贴输入卡片。DSH 没有 "last" 语义,这是约定而非结构性保证——第三方插件若注册更大的 `order` 仍可能插到它下面。
40
40
 
41
41
  > **兼容性说明:** v0.2.9 已包含日语(`ja`)和韩语(`ko`)字典,但当前官方 DSH 只通过 `LocaleRuntime` 提供 `zh` 和 `en`。在原版 DSH 中选择 `ja` 或 `ko` 会失败,并提示 `locale "<id>" is not registered`。需要等待官方 DSH 增加对应 locale ID 后才能正常使用。高级用户可以维护 DSH fork,在 `packages/client/locale/src/locale-settings.ts` 更新 `LOCALE_IDS`,在 `packages/client/locale/src/client/index.ts` 更新 `LOCALES` 标签,并补齐核心字典和测试,然后重新构建并运行 fork 版本。仅修改本插件无法扩展 DSH 的全局 locale 列表。
package/dsh.plugin.json CHANGED
@@ -1,8 +1,11 @@
1
1
  {
2
2
  "id": "dsh-external/dsh-input-traffic",
3
- "version": "0.2.10-beta.2",
3
+ "version": "0.2.11-beta.2",
4
4
  "main": "./lib/index.js",
5
5
  "description": "Busy-time input queue: three-tier planning, drag-to-reorder, interject/interrupt, batch clear, session freeze.",
6
+ "engines": {
7
+ "dsh": ">=0.1.2-alpha.1 <0.2.0-0"
8
+ },
6
9
  "contributes": {
7
10
  "tools": [],
8
11
  "skills": []
package/lib/client.js CHANGED
@@ -205,7 +205,7 @@ window.__ModuleLoader__.load({
205
205
  }
206
206
  //#endregion
207
207
  //#region \0dsh-css:E:\test\rewrite-agently\mine-dsh-plugins\dsh-input-traffic\src\client\steer-queue-dock.module.css.mjs
208
- const css$1 = ".FNESVa_dock{width:100%}.FNESVa_panel{background:var(--dsw-alias-bg-layer-1,#fffc);border:1px solid var(--dsw-alias-border-l2,#00000014);border-radius:10px;overflow:hidden}.FNESVa_toolbar{border-bottom:1px solid var(--dsw-alias-border-l2,#0000000f);align-items:center;gap:8px;padding:4px 8px;display:flex}.FNESVa_header{color:var(--dsw-alias-label-secondary,#6b7280);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:2px 6px;font-size:12px;display:inline-flex}.FNESVa_header:disabled{cursor:default}.FNESVa_lead{color:var(--dsw-alias-label-tertiary,#9ca3af);display:inline-flex}.FNESVa_count{font-weight:600}.FNESVa_chevron{color:var(--dsw-alias-label-tertiary,#9ca3af);display:inline-flex}.FNESVa_toolbarActions{margin-left:auto}.FNESVa_clear{color:var(--dsw-alias-label-secondary,#6b7280);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;display:inline-flex}.FNESVa_freeze{border:1px solid var(--dsw-alias-border-l3,#0000001f);color:var(--dsw-alias-label-secondary,#6b7280);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;display:inline-flex}.FNESVa_freeze[aria-pressed=true]{border-color:var(--dsw-alias-state-success-primary,#30a46c);color:var(--dsw-alias-state-success-primary,#30a46c)}.FNESVa_freeze:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover,#0000000a)}.FNESVa_freeze:disabled{opacity:.5;cursor:default}.FNESVa_frozenBanner{border-bottom:1px solid var(--dsw-alias-border-l2,#0000000f);background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#30a46c) 8%, transparent);color:var(--dsw-alias-state-success-primary,#30a46c);padding:4px 10px;font-size:12px}.FNESVa_frozenList{margin:0;padding:4px;list-style:none}.FNESVa_frozenRow{border-radius:6px;align-items:center;gap:8px;padding:4px 6px;display:flex}.FNESVa_frozenMark{color:var(--dsw-alias-label-tertiary,#9ca3af);flex:none;margin-left:auto;font-size:11px}.FNESVa_clear:hover:not(:disabled){border-color:var(--dsw-alias-border-l3,#0000001f);background:var(--dsw-alias-interactive-bg-hover,#0000000a)}.FNESVa_clear:disabled{opacity:.5;cursor:default}.FNESVa_clearConfirm{border-color:var(--dsw-alias-state-error-primary,#e5484d);color:var(--dsw-alias-state-error-primary,#e5484d)}.FNESVa_clearConfirm:hover:not(:disabled){border-color:var(--dsw-alias-state-error-primary,#e5484d);background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#e5484d) 8%, transparent)}.FNESVa_clearCancel{color:var(--dsw-alias-label-secondary,#6b7280);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;display:inline-flex}.FNESVa_clearCancel:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover,#0000000a)}.FNESVa_clearLabel{font-size:12px}.FNESVa_list{margin:0;padding:4px;list-style:none}.FNESVa_row{border-radius:6px;align-items:center;gap:8px;padding:4px 6px;display:flex}.FNESVa_row[draggable=true]{cursor:grab}.FNESVa_row[draggable=true]:active{cursor:grabbing}.FNESVa_rowDragOver{outline:2px dashed var(--dsw-alias-border-l4,#00000040);outline-offset:-2px;background:var(--dsw-alias-interactive-bg-hover,#0000000d)}.FNESVa_row:hover{background:var(--dsw-alias-interactive-bg-hover,#00000008)}.FNESVa_row[data-editing]{align-items:flex-start}.FNESVa_preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-primary,#1f2937);flex:1;font-size:13px;overflow:hidden}.FNESVa_badge{white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:4px;padding:1px 6px;font-size:11px;line-height:16px;display:inline-flex}.FNESVa_badgeLabel{color:inherit}.FNESVa_badgeNow{color:var(--dsw-alias-state-error-primary,#e5484d);background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#e5484d) 10%, transparent)}.FNESVa_badgeNext{color:var(--dsw-alias-state-warn-primary,#e8a33d);background:color-mix(in srgb, var(--dsw-alias-state-warn-primary,#e8a33d) 12%, transparent)}.FNESVa_badgeLater{color:var(--dsw-alias-state-success-primary,#30a46c);background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#30a46c) 12%, transparent)}.FNESVa_badgeNow .FNESVa_dot{background:var(--dsw-alias-state-error-primary,#e5484d)}.FNESVa_badgeNext .FNESVa_dot{background:var(--dsw-alias-state-warn-primary,#e8a33d)}.FNESVa_badgeLater .FNESVa_dot{background:var(--dsw-alias-state-success-primary,#30a46c)}.FNESVa_steeringList{margin:0;padding:0 4px 4px;list-style:none}.FNESVa_steeringList .FNESVa_row{opacity:.85}.FNESVa_editor{border:1px solid var(--dsw-alias-border-l3,#00000026);background:var(--dsw-alias-bg-layer-2,#fff);resize:none;border-radius:6px;flex:1;min-width:0;max-height:160px;padding:4px 6px;font-size:13px;line-height:20px;overflow-y:auto}.FNESVa_actions{align-items:center;gap:2px;display:inline-flex}.FNESVa_action{width:24px;height:24px;color:var(--dsw-alias-label-tertiary,#9ca3af);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.FNESVa_action:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover,#0000000d);color:var(--dsw-alias-label-primary,#1f2937)}.FNESVa_action:disabled{opacity:.4;cursor:default}.FNESVa_plan{border-left:1px solid var(--dsw-alias-border-l2,#00000014);align-items:center;gap:2px;margin-left:4px;padding-left:6px;display:inline-flex}.FNESVa_tier{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:inline-flex}.FNESVa_tier:hover:not(:disabled){border-color:var(--dsw-alias-border-l4,#0003)}.FNESVa_tier:disabled{cursor:default}.FNESVa_tierLater{border-color:var(--dsw-alias-state-success-primary,#30a46c);background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#30a46c) 12%, transparent)}.FNESVa_dot{border-radius:50%;width:10px;height:10px}.FNESVa_tierNow .FNESVa_dot{background:var(--dsw-alias-state-error-primary,#e5484d)}.FNESVa_tierNext .FNESVa_dot{background:var(--dsw-alias-state-warn-primary,#e8a33d)}.FNESVa_tierLater .FNESVa_dot{background:var(--dsw-alias-state-success-primary,#30a46c)}";
208
+ const css$1 = ".FNESVa_dock{box-sizing:border-box;width:min(calc(100% - var(--dsh-composer-side-clearance,16px) - var(--dsh-composer-side-clearance,16px) - var(--dsh-composer-dock-inset,8px) - var(--dsh-composer-dock-inset,8px)), calc(var(--dsh-chat-content-width,100%) - var(--dsh-composer-dock-inset,8px) - var(--dsh-composer-dock-inset,8px)));max-width:calc(var(--dsh-composer-card-max-width,var(--dsh-chat-content-width,100%)) - var(--dsh-composer-dock-inset,8px) - var(--dsh-composer-dock-inset,8px));padding:0 var(--dsh-composer-dock-inset,8px);flex:none;margin:0 auto}.FNESVa_panel{background:var(--dsw-alias-bg-layer-1,#fffc);border:1px solid var(--dsw-alias-border-l2,#00000014);border-radius:10px;overflow:hidden}.FNESVa_toolbar{border-bottom:1px solid var(--dsw-alias-border-l2,#0000000f);align-items:center;gap:8px;padding:4px 8px;display:flex}.FNESVa_header{color:var(--dsw-alias-label-secondary,#6b7280);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:2px 6px;font-size:12px;display:inline-flex}.FNESVa_header:disabled{cursor:default}.FNESVa_lead{color:var(--dsw-alias-label-tertiary,#9ca3af);display:inline-flex}.FNESVa_count{font-weight:600}.FNESVa_chevron{color:var(--dsw-alias-label-tertiary,#9ca3af);display:inline-flex}.FNESVa_toolbarActions{margin-left:auto}.FNESVa_clear{color:var(--dsw-alias-label-secondary,#6b7280);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;display:inline-flex}.FNESVa_freeze{border:1px solid var(--dsw-alias-border-l3,#0000001f);color:var(--dsw-alias-label-secondary,#6b7280);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;display:inline-flex}.FNESVa_freeze[aria-pressed=true]{border-color:var(--dsw-alias-state-success-primary,#30a46c);color:var(--dsw-alias-state-success-primary,#30a46c)}.FNESVa_freeze:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover,#0000000a)}.FNESVa_freeze:disabled{opacity:.5;cursor:default}.FNESVa_frozenBanner{border-bottom:1px solid var(--dsw-alias-border-l2,#0000000f);background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#30a46c) 8%, transparent);color:var(--dsw-alias-state-success-primary,#30a46c);padding:4px 10px;font-size:12px}.FNESVa_frozenList{margin:0;padding:4px;list-style:none}.FNESVa_frozenRow{border-radius:6px;align-items:center;gap:8px;padding:4px 6px;display:flex}.FNESVa_frozenMark{color:var(--dsw-alias-label-tertiary,#9ca3af);flex:none;margin-left:auto;font-size:11px}.FNESVa_clear:hover:not(:disabled){border-color:var(--dsw-alias-border-l3,#0000001f);background:var(--dsw-alias-interactive-bg-hover,#0000000a)}.FNESVa_clear:disabled{opacity:.5;cursor:default}.FNESVa_clearConfirm{border-color:var(--dsw-alias-state-error-primary,#e5484d);color:var(--dsw-alias-state-error-primary,#e5484d)}.FNESVa_clearConfirm:hover:not(:disabled){border-color:var(--dsw-alias-state-error-primary,#e5484d);background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#e5484d) 8%, transparent)}.FNESVa_clearCancel{color:var(--dsw-alias-label-secondary,#6b7280);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;display:inline-flex}.FNESVa_clearCancel:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover,#0000000a)}.FNESVa_clearLabel{font-size:12px}.FNESVa_list{margin:0;padding:4px;list-style:none}.FNESVa_row{border-radius:6px;align-items:center;gap:8px;padding:4px 6px;display:flex}.FNESVa_row[draggable=true]{cursor:grab}.FNESVa_row[draggable=true]:active{cursor:grabbing}.FNESVa_rowDragOver{outline:2px dashed var(--dsw-alias-border-l4,#00000040);outline-offset:-2px;background:var(--dsw-alias-interactive-bg-hover,#0000000d)}.FNESVa_row:hover{background:var(--dsw-alias-interactive-bg-hover,#00000008)}.FNESVa_row[data-editing]{align-items:flex-start}.FNESVa_preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-primary,#1f2937);flex:1;font-size:13px;overflow:hidden}.FNESVa_badge{white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:4px;padding:1px 6px;font-size:11px;line-height:16px;display:inline-flex}.FNESVa_badgeLabel{color:inherit}.FNESVa_badgeNow{color:var(--dsw-alias-state-error-primary,#e5484d);background:color-mix(in srgb, var(--dsw-alias-state-error-primary,#e5484d) 10%, transparent)}.FNESVa_badgeNext{color:var(--dsw-alias-state-warn-primary,#e8a33d);background:color-mix(in srgb, var(--dsw-alias-state-warn-primary,#e8a33d) 12%, transparent)}.FNESVa_badgeLater{color:var(--dsw-alias-state-success-primary,#30a46c);background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#30a46c) 12%, transparent)}.FNESVa_badgeNow .FNESVa_dot{background:var(--dsw-alias-state-error-primary,#e5484d)}.FNESVa_badgeNext .FNESVa_dot{background:var(--dsw-alias-state-warn-primary,#e8a33d)}.FNESVa_badgeLater .FNESVa_dot{background:var(--dsw-alias-state-success-primary,#30a46c)}.FNESVa_steeringList{margin:0;padding:0 4px 4px;list-style:none}.FNESVa_steeringList .FNESVa_row{opacity:.85}.FNESVa_editor{border:1px solid var(--dsw-alias-border-l3,#00000026);background:var(--dsw-alias-bg-layer-2,#fff);resize:none;border-radius:6px;flex:1;min-width:0;max-height:160px;padding:4px 6px;font-size:13px;line-height:20px;overflow-y:auto}.FNESVa_actions{align-items:center;gap:2px;display:inline-flex}.FNESVa_action{width:24px;height:24px;color:var(--dsw-alias-label-tertiary,#9ca3af);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.FNESVa_action:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover,#0000000d);color:var(--dsw-alias-label-primary,#1f2937)}.FNESVa_action:disabled{opacity:.4;cursor:default}.FNESVa_plan{border-left:1px solid var(--dsw-alias-border-l2,#00000014);align-items:center;gap:2px;margin-left:4px;padding-left:6px;display:inline-flex}.FNESVa_tier{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:inline-flex}.FNESVa_tier:hover:not(:disabled){border-color:var(--dsw-alias-border-l4,#0003)}.FNESVa_tier:disabled{cursor:default}.FNESVa_tierLater{border-color:var(--dsw-alias-state-success-primary,#30a46c);background:color-mix(in srgb, var(--dsw-alias-state-success-primary,#30a46c) 12%, transparent)}.FNESVa_dot{border-radius:50%;width:10px;height:10px}.FNESVa_tierNow .FNESVa_dot{background:var(--dsw-alias-state-error-primary,#e5484d)}.FNESVa_tierNext .FNESVa_dot{background:var(--dsw-alias-state-warn-primary,#e8a33d)}.FNESVa_tierLater .FNESVa_dot{background:var(--dsw-alias-state-success-primary,#30a46c)}";
209
209
  const tagId$1 = "dsh-input-traffic/steer-queue-dock.module.css";
210
210
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$1) + "]") === null) {
211
211
  const tag = document.createElement("style");
@@ -215,42 +215,42 @@ window.__ModuleLoader__.load({
215
215
  document.head.appendChild(tag);
216
216
  }
217
217
  var steer_queue_dock_module_css_default = {
218
- "editor": "FNESVa_editor",
219
- "rowDragOver": "FNESVa_rowDragOver",
220
- "lead": "FNESVa_lead",
221
- "count": "FNESVa_count",
222
- "clear": "FNESVa_clear",
223
- "list": "FNESVa_list",
224
- "steeringList": "FNESVa_steeringList",
225
- "badgeNow": "FNESVa_badgeNow",
226
- "tierNow": "FNESVa_tierNow",
227
- "tier": "FNESVa_tier",
228
- "frozenList": "FNESVa_frozenList",
229
218
  "badgeLabel": "FNESVa_badgeLabel",
230
- "clearCancel": "FNESVa_clearCancel",
231
- "row": "FNESVa_row",
232
- "dock": "FNESVa_dock",
233
- "header": "FNESVa_header",
234
- "actions": "FNESVa_actions",
235
- "badgeLater": "FNESVa_badgeLater",
236
- "chevron": "FNESVa_chevron",
219
+ "plan": "FNESVa_plan",
220
+ "frozenList": "FNESVa_frozenList",
237
221
  "tierLater": "FNESVa_tierLater",
238
- "badgeNext": "FNESVa_badgeNext",
239
- "panel": "FNESVa_panel",
240
- "preview": "FNESVa_preview",
241
- "frozenRow": "FNESVa_frozenRow",
222
+ "action": "FNESVa_action",
223
+ "clearCancel": "FNESVa_clearCancel",
224
+ "toolbar": "FNESVa_toolbar",
225
+ "toolbarActions": "FNESVa_toolbarActions",
226
+ "tierNow": "FNESVa_tierNow",
242
227
  "tierNext": "FNESVa_tierNext",
228
+ "badge": "FNESVa_badge",
229
+ "count": "FNESVa_count",
243
230
  "clearConfirm": "FNESVa_clearConfirm",
244
- "plan": "FNESVa_plan",
245
- "toolbarActions": "FNESVa_toolbarActions",
231
+ "dot": "FNESVa_dot",
232
+ "header": "FNESVa_header",
233
+ "rowDragOver": "FNESVa_rowDragOver",
234
+ "steeringList": "FNESVa_steeringList",
235
+ "list": "FNESVa_list",
246
236
  "frozenMark": "FNESVa_frozenMark",
247
237
  "freeze": "FNESVa_freeze",
248
- "badge": "FNESVa_badge",
238
+ "badgeNow": "FNESVa_badgeNow",
239
+ "chevron": "FNESVa_chevron",
240
+ "frozenRow": "FNESVa_frozenRow",
241
+ "actions": "FNESVa_actions",
242
+ "badgeNext": "FNESVa_badgeNext",
243
+ "lead": "FNESVa_lead",
244
+ "tier": "FNESVa_tier",
245
+ "preview": "FNESVa_preview",
246
+ "badgeLater": "FNESVa_badgeLater",
247
+ "clear": "FNESVa_clear",
248
+ "row": "FNESVa_row",
249
+ "panel": "FNESVa_panel",
250
+ "dock": "FNESVa_dock",
249
251
  "frozenBanner": "FNESVa_frozenBanner",
250
- "dot": "FNESVa_dot",
251
- "clearLabel": "FNESVa_clearLabel",
252
- "action": "FNESVa_action",
253
- "toolbar": "FNESVa_toolbar"
252
+ "editor": "FNESVa_editor",
253
+ "clearLabel": "FNESVa_clearLabel"
254
254
  };
255
255
  //#endregion
256
256
  //#region src/client/steer-queue-dock.tsx