@sparkelf/dsh-patch-composer-popover-boundaries 0.1.0-rc.41 → 0.2.0-rc.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/package.json CHANGED
@@ -4,17 +4,17 @@
4
4
  "formatVersion": 1,
5
5
  "variants": [
6
6
  {
7
- "dsh": ">=0.1.5-rc.2",
7
+ "dsh": ">=0.1.6-alpha.1",
8
8
  "file": "./patches/composer-popover-boundaries.patch",
9
9
  "id": "composer-popover-center-boundaries",
10
10
  "target": {
11
- "baseRevision": "fb2c4b9e698e30edb738bca4cf0618587db7d203",
11
+ "baseRevision": "0a15e36e7f82b6ed45af6fa9759f29b40dcd965d",
12
12
  "kind": "dsh-source",
13
13
  "paths": [
14
14
  "apps/web/tests/",
15
15
  "packages/client/ui-layout/",
16
+ "packages/client/ui-permission-presets/",
16
17
  "packages/client/ui-primitives/",
17
- "packages/client/ui-conversation/",
18
18
  "packages/client/ui-model-selection/"
19
19
  ]
20
20
  }
@@ -35,5 +35,5 @@
35
35
  "url": "git+https://github.com/SparkElf/deepseek-harness-plus.git"
36
36
  },
37
37
  "type": "module",
38
- "version": "0.1.0-rc.41"
38
+ "version": "0.2.0-rc.2"
39
39
  }
@@ -32,30 +32,29 @@ index 304bdb97f6..0e820ee757 100644
32
32
  await page.getByRole('menuitem', { name: /模型/ }).click()
33
33
  await page.getByRole('menuitemradio', { name: 'Acme Large' }).click()
34
34
 
35
- diff --git a/packages/client/ui-conversation/src/client/skeleton/PermissionSelect.tsx b/packages/client/ui-conversation/src/client/skeleton/PermissionSelect.tsx
36
- index b54049efef..6eed9180c0 100644
37
- --- a/packages/client/ui-conversation/src/client/skeleton/PermissionSelect.tsx
38
- +++ b/packages/client/ui-conversation/src/client/skeleton/PermissionSelect.tsx
35
+ diff --git a/packages/client/ui-permission-presets/src/client/PermissionSelect.tsx b/packages/client/ui-permission-presets/src/client/PermissionSelect.tsx
36
+ index 1736fd8..efd2496 100644
37
+ --- a/packages/client/ui-permission-presets/src/client/PermissionSelect.tsx
38
+ +++ b/packages/client/ui-permission-presets/src/client/PermissionSelect.tsx
39
39
  @@ -1,4 +1,4 @@
40
40
  -import { useEffect, useState } from 'react'
41
41
  +import { useEffect, useRef, useState } from 'react'
42
42
  import type { ReactNode } from 'react'
43
43
  import clsx from 'clsx'
44
- import type { PermissionSelect as PermissionSelectValue } from '@deepseek-ai/dsh-permission-presets/client'
45
- @@ -88,6 +88,8 @@ export function PermissionSelect({ value, locked, command, t }: PermissionSelect
44
+ import {
45
+ @@ -100,6 +100,8 @@ export function PermissionSelect({
46
+ const catalog = usePermissionCatalog(state => state.value)
47
+ const [pick, setPick] = useState<string | null>(null)
46
48
  const [open, setOpen] = useState(false)
47
- const [confirmation, setConfirmation] = useState<string | null>(null)
48
- const [acknowledged, setAcknowledged] = useState(false)
49
49
  + const triggerRef = useRef<HTMLButtonElement | null>(null)
50
50
  + const boundaryRef = useRef<HTMLElement | null>(null)
51
+ const [confirmation, setConfirmation] = useState<string | null>(null)
52
+ const [acknowledged, setAcknowledged] = useState(false)
51
53
 
52
- useEffect(() => {
53
- if (!locked && value !== undefined) return
54
- @@ -155,8 +157,14 @@ export function PermissionSelect({ value, locked, command, t }: PermissionSelect
55
- onSelect={choose}
54
+ @@ -192,8 +194,13 @@ export function PermissionSelect({
56
55
  onClose={() => { setOpen(false) }}
57
56
  side="top"
58
- + portal
57
+ portal
59
58
  + boundaryRef={boundaryRef}
60
59
  anchor={
61
60
  <button
@@ -65,7 +64,7 @@ index b54049efef..6eed9180c0 100644
65
64
  + }}
66
65
  type="button"
67
66
  className={css.trigger}
68
- aria-label={t('input.accessMode', { name: currentLabel })}
67
+ aria-label={t('mode', { name: currentAccessibleLabel })}
69
68
  diff --git a/packages/client/ui-layout/README.md b/packages/client/ui-layout/README.md
70
69
  index 4fe19fb9ec..976a4dad8c 100644
71
70
  --- a/packages/client/ui-layout/README.md
@@ -79,19 +78,6 @@ index 4fe19fb9ec..976a4dad8c 100644
79
78
 
80
79
  </details>
81
80
 
82
- diff --git a/packages/client/ui-layout/README.zh.md b/packages/client/ui-layout/README.zh.md
83
- index 7a61e7808f..4c80da0778 100644
84
- --- a/packages/client/ui-layout/README.zh.md
85
- +++ b/packages/client/ui-layout/README.zh.md
86
- @@ -43,7 +43,7 @@ kind: "package-reference"
87
-
88
- `selectPanel(id)` 在改变选中态前检查实时 `main` 注册表;缺失的 key 会抛错并保留当前面板。`beginNavigation()` 为异步 UI 导航返回 abort signal。后续调用、有效面板选择(包括重复选择)或布局释放会中止该 signal,但不取消底层会话创建。消费者在提交导航或搬移草稿前检查 signal。
89
-
90
- -一次注册声明四个子slot并绑定 `ctx.layout` 的 `selectPanel`、`toggleSidebar`、`openRightbar(track, fullscreen)` 与 `closeRightbar`。同一个 root 存储把 `panelInfo` 选中态与 `layoutInfo` 测量、宽度偏好、呈现报告分开。`usePanelInfo` 订阅引用稳定的选中态对象,AppFrame 订阅引用稳定的布局对象。`rightbar` 的owner参数为实际 `width`、`viewportWidth` 与普通呈现的 `canShow`;占用方在空间不足时执行确定性的收起,变宽不自行重新展开。全屏隐藏宽度手柄,但不自行释放占用方要求保留的轨道。AppFrame 保持各列容器挂载。右栏的 root 控制器仅在选中会话界面时,经 `SessionProvider` 渲染 `rightbar.session`;内容卸载时的报告释放列宽。独立的标题组件仅在会话界面可见时使用所选会话标题,以构建配置的产品标题或本地化 `common.brand.localBuild` 为回退值;语言变化会更新该回退值。主题呈现器是第二个 effect:从解析后的快照做纯 DOM 写入——初始状态经 getter 读取一次,此后仅事件驱动,不经过 React。它先应用调色板、字号与 token 变量,再把渲染出的背景测量为唯一的颜色依据。 全屏呈现禁用网格和手柄过渡;占用方完全覆盖框架后才报告新的列宽。 退出全屏时,框架先保持无过渡并安装目标布局:关闭移除右轨道,恢复保留右轨道。后续普通几何操作恢复正常过渡。
91
- +一次注册声明四个子slot并绑定 `ctx.layout` 的 `selectPanel`、`toggleSidebar`、`openRightbar(track, fullscreen)` 与 `closeRightbar`。同一个 root 存储把 `panelInfo` 选中态与 `layoutInfo` 测量、宽度偏好、呈现报告分开。`usePanelInfo` 订阅引用稳定的选中态对象,AppFrame 订阅引用稳定的布局对象。`rightbar` 的owner参数为实际 `width`、`viewportWidth` 与普通呈现的 `canShow`;占用方在空间不足时执行确定性的收起,变宽不自行重新展开。全屏隐藏宽度手柄,但不自行释放占用方要求保留的轨道。AppFrame 保持各列容器挂载。center column标记其DOM owner,使portal composer菜单保持在其横向边界内。右栏的 root 控制器仅在选中会话界面时,经 `SessionProvider` 渲染 `rightbar.session`;内容卸载时的报告释放列宽。独立的标题组件仅在会话界面可见时使用所选会话标题,以构建配置的产品标题或本地化 `common.brand.localBuild` 为回退值;语言变化会更新该回退值。主题呈现器是第二个 effect:从解析后的快照做纯 DOM 写入——初始状态经 getter 读取一次,此后仅事件驱动,不经过 React。它先应用调色板、字号与 token 变量,再把渲染出的背景测量为唯一的颜色依据。 全屏呈现禁用网格和手柄过渡;占用方完全覆盖框架后才报告新的列宽。 退出全屏时,框架先保持无过渡并安装目标布局:关闭移除右轨道,恢复保留右轨道。后续普通几何操作恢复正常过渡。
92
-
93
- </details>
94
-
95
81
  diff --git a/packages/client/ui-layout/src/client/AppFrame.tsx b/packages/client/ui-layout/src/client/AppFrame.tsx
96
82
  index 05bb4b9494..c156255193 100644
97
83
  --- a/packages/client/ui-layout/src/client/AppFrame.tsx