dsh-focus-overlay 0.13.0 → 0.13.1
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/README.en.md +3 -3
- package/README.md +3 -3
- package/lib/client.js +80 -33
- package/package.json +1 -1
package/README.en.md
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
- **Auto-focus & reminders** — after a reply completes normally, optionally auto-enter focus at your question; while in focus, get a toast for a new reply or when the AI is waiting on you
|
|
27
27
|
- **Width handles** — draggable strips beside the content column (official WidthHandle replica) that resize the reading column live and persist
|
|
28
28
|
- **Hotkey F** — press `F` anywhere to enter focus mode instantly (toggleable in settings); typing in an input never triggers it
|
|
29
|
-
- **Desktop window chrome** — adapts to the dsh desktop app (macOS / Windows): the
|
|
29
|
+
- **Desktop window chrome** — adapts to the dsh desktop app (macOS / Windows): the focus title row is merged into the official frame clearance (48px macOS traffic lights / 40px Windows native titlebar), so the title and exit control share one line with the window controls and the whole row drags the window — no extra blank band above it; native fullscreen keeps a compact 40px title row
|
|
30
30
|
- **Focus counter** — the settings card keeps a running total of your focus-mode entries; past 100 entries a GitHub Star nudge appears, is remembered after the first use, and then becomes a direct "open the project page" button
|
|
31
31
|
|
|
32
32
|
These features are designed to give **small screens** more content space: tucking away the persistent header/composer and tool steps lets the conversation use as much of the screen as possible.
|
|
@@ -58,7 +58,7 @@ Click the line to expand that turn's full work detail (per-category one-line sum
|
|
|
58
58
|
| --- | --- |
|
|
59
59
|
| Full-screen overlay | Registered into `shell.overlay` (additive, `replaceRisk: none`) — covers header / composer / sidebar; the thin top bar keeps only the session title and an exit button |
|
|
60
60
|
| Official rendering primitives | Assistant text through official `MarkdownText` (GFM + code highlighting + TeX + code copy buttons + footnotes); user messages pick the official user-text projection the running dsh exports: `projectUserText` on 0.1.2–0.2.0 (plain runs plus `@`/`/` reference chips), and the official `UserTextRun` plain run after the 0.2.2 desktop runtime removed that function — a missing projection can never crash the overlay; buttons, modals and icons are all official primitives |
|
|
61
|
-
| Desktop window frame |
|
|
61
|
+
| Desktop window frame | The focus title row and the official window clearance are merged into one band: the overlay reserves ONLY `--dsh-frame-top-clearance` (48px macOS traffic lights / 40px Windows native titlebar), the title and exit control sit inside that row, and the transcript starts right below it — the old stacked 48px title row and the extra 20px dialog gap are gone. The row is the overlay’s last effective drag claim on macOS (Windows keeps the separate `.fm-frame-strip` over the caption band as the overlay’s last child; both carry `data-window-drag` + `-webkit-app-region: drag`), so scrolled content / the turn rail’s no-drag rects cannot cancel the band, while the exit control is explicitly `no-drag` and stays clickable; the title starts at x=88px on macOS to clear the traffic lights and clears the top-right native caption buttons on Windows. Native fullscreen (`data-fullscreen`) keeps only a compact 40px title row. On Windows it also hides the official sidebar-collapse and new-session controls that the window chrome promotes into the titlebar layer when the sidebar is collapsed / the window is narrow — otherwise they painted above the focus layer and a stray click switched sessions while reading; both come back with the chrome on exit. In a plain browser the variables and markers are absent, so the 0px fallback keeps the old pixel-identical layout |
|
|
62
62
|
| File-mention chips | Inline-code paths in AI replies resolve through the official `chatFileMentions` into clickable chips: on dsh 0.2.x the overlay passes the same real Turn face (`deliverables` projection) the official chat turn tail uses and opens through the sidebar resource controller's `dsh-resource://file/session/…` address; on dsh ≤ 0.1.x it keeps the legacy owner shape and `workspaces.openPath`. No chip without projection data, and a resolver failure never crashes the overlay |
|
|
63
63
|
| Image resolution | Assistant `image` blocks resolve through `uiConversation.imageUrl` (the dsh 0.1.2+ session-authorized image cache), falling back to the legacy resolver on older dsh |
|
|
64
64
|
| Tool-call folding | Follows the official "transcript view" preference (normal / compact); compact mode folds each turn's work part into a "N tool calls · M messages · K subagents" disclosure line ("Thought for a while" when nothing is countable), clickable to expand the full detail; steering messages always stay top-level, never buried; the last turn stays unfolded while streaming |
|
|
@@ -128,7 +128,7 @@ Restart `dsh web` after install.
|
|
|
128
128
|
|
|
129
129
|
The desktop app manages plugins itself, no CLI needed: **Plugins → Add plugin** in the sidebar, enter `dsh-focus-overlay` (or a local directory / `link:` path such as `link:/path/to/dsh-focus-overlay`), then configure it on this plugin's detail page. Reload the desktop window (or restart the app) after installing or updating.
|
|
130
130
|
|
|
131
|
-
Desktop support is verified against **dsh desktop 0.2.2-rc.1**: macOS and Windows share the same Electron renderer and client contracts; the window-chrome differences (macOS traffic lights / Windows native titlebar) are driven by the official `data-platform` / `data-windows-titlebar` / `data-fullscreen` markers, and the plugin adapts through the official frame variables — one install serves both platforms. In focus mode the top of the overlay is a draggable title band; native fullscreen (macOS green button / Windows maximize)
|
|
131
|
+
Desktop support is verified against **dsh desktop 0.2.2-rc.1**: macOS and Windows share the same Electron renderer and client contracts; the window-chrome differences (macOS traffic lights / Windows native titlebar) are driven by the official `data-platform` / `data-windows-titlebar` / `data-fullscreen` markers, and the plugin adapts through the official frame variables — one install serves both platforms. In focus mode the top of the overlay is a single draggable title row that shares the window-control line (no extra blank band above it); native fullscreen (macOS green button / Windows maximize) tightens it to a compact 40px row.
|
|
132
132
|
|
|
133
133
|
> The desktop app uses its own `desktop` profile: installing the plugin only into the Web CLI's `web` profile does not install it in the desktop app — add it once on the Plugins page there too.
|
|
134
134
|
|
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
- **自动专注与提醒** —— 回复正常完成后可自动进入专注并定位到你的提问;专注中收到新回复、或 AI 等待你回答时弹出提醒
|
|
25
25
|
- **宽度调节** —— 正文两侧的拖拽把手(官方 WidthHandle 复刻),实时拖动阅读列宽并持久化
|
|
26
26
|
- **快捷键 F** —— 任意界面按 `F` 一键进入专注模式,可在设置中关闭;输入框内打字不会误触发
|
|
27
|
-
- **桌面版窗口适配** —— 适配 dsh 桌面版(macOS / Windows
|
|
27
|
+
- **桌面版窗口适配** —— 适配 dsh 桌面版(macOS / Windows):专注标题栏直接并进官方窗口留白(macOS 红绿灯 48px / Windows 原生标题栏 40px),标题与「退出专注」就在这一行里,整条标题栏可拖动窗口,不再额外占一行空白;原生全屏时收紧为 40px 紧凑标题行
|
|
28
28
|
- **专注计数** —— 设置卡片最底部累计展示你进入专注模式的次数;超过 100 次后出现 GitHub Star 引导,点过一次即被记住,之后提供「前往 GitHub 项目页面」直达按钮
|
|
29
29
|
|
|
30
30
|
这些功能专为**小屏幕**提供更多内容呈现空间:收起常驻的标题 / 输入区与工具步骤,让有限的屏幕尽可能多地展示对话。
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
| --- | --- |
|
|
57
57
|
| 全屏专注遮罩 | 经 `shell.overlay` 注册(纯增量、`replaceRisk: none`),覆盖标题区 / 输入区 / 侧栏;顶部只留会话标题与「退出专注」按钮 |
|
|
58
58
|
| 官方渲染原语 | AI 文本走官方 `MarkdownText`(GFM + 代码高亮 + TeX + 代码复制按钮 + 脚注);用户消息按运行版本选择官方用户文本投影:dsh 0.1.2–0.2.0 用 `projectUserText`(纯文本 + `@`/`/` 引用 chip),dsh 0.2.2 桌面版移除了该函数后自动回退到官方 `UserTextRun`(纯文本 run),不会因 `undefined` 组件崩溃;按钮、模态、图标均为官方原语 |
|
|
59
|
-
| 桌面版窗口框架 |
|
|
59
|
+
| 桌面版窗口框架 | 专注标题栏与官方窗口留白合并为一条:只预留官方 `--dsh-frame-top-clearance`(macOS 红绿灯 48px / Windows 原生标题栏 40px),标题与「退出专注」就在这条标题栏内,正文紧接着从留白下沿开始,不再叠加原来那行 48px 标题栏、也不再占用官方弹窗额外的 20px 间距;标题行是叠加层里最后生效的拖拽矩形(macOS 由合并后的标题行自身声明;Windows 由 overlay 最后一个子节点 `.fm-frame-strip` 声明,均为 `data-window-drag` + `-webkit-app-region: drag`),保证滚动内容 / 右侧导航等 `no-drag` 矩形不会覆盖它,「退出专注」按钮显式排除拖拽、保持可点;标题在 macOS 从 x=88px 起避开红绿灯、在 Windows 避开右上角原生按钮;原生全屏(`data-fullscreen`)时只保留 40px 紧凑标题行;Windows 上还会隐藏被官方提升到标题栏层的「侧边栏开关」与「新建会话」按钮(侧栏折叠 / 窄窗口时出现),避免它们浮在专注层之上、误触后在你阅读时切换会话;退出专注后随窗口 chrome 一起恢复。普通浏览器中这些变量与标记不存在,回退 0px、与旧版逐像素一致 |
|
|
60
60
|
| 文件引用 chip | AI 回复中的行内代码路径由官方 `chatFileMentions` 解析为可点击 chip:dsh 0.2.x 传入官方同款的真实 Turn face(`deliverables` 投影),点击经右侧栏资源控制器以 `dsh-resource://file/session/…` 打开;dsh ≤ 0.1.x 继续使用旧的 owner 形状与 `workspaces.openPath`;无投影数据时不显示 chip,绝不因解析异常崩溃 |
|
|
61
61
|
| 图片解析 | assistant 的 `image` 块经 `uiConversation.imageUrl`(dsh 0.1.2+ 的会话授权图片缓存)解析,旧版 dsh 自动回退到 legacy 解析器 |
|
|
62
62
|
| 工具调用折叠 | 遵循官方「对话显示」偏好(normal / compact);compact 模式把每轮的工作部分折叠成「N 次工具调用 · M 条消息 · K 个 subagent」披露行(无内容时显示「已思考」),点击可展开完整明细;steering 消息始终独立成行不被折叠;流式中的最后一轮保持展开直到结束 |
|
|
@@ -126,7 +126,7 @@ dsh web
|
|
|
126
126
|
|
|
127
127
|
dsh 桌面版自带插件管理,不需要 CLI:侧栏 **Plugins → 添加插件**,填入 `dsh-focus-overlay`(或本机目录 / `link:` 路径,例如 `link:/path/to/dsh-focus-overlay`),安装后在本插件详情页中配置。安装或更新后重新加载桌面窗口(或重启桌面应用)生效。
|
|
128
128
|
|
|
129
|
-
桌面版适配基于 **dsh 桌面版 0.2.2-rc.1** 验证:macOS 与 Windows 共用同一套 Electron 渲染层与客户端契约,窗口框架差异(macOS 红绿灯 / Windows 原生标题栏)由官方 `data-platform` / `data-windows-titlebar` / `data-fullscreen`
|
|
129
|
+
桌面版适配基于 **dsh 桌面版 0.2.2-rc.1** 验证:macOS 与 Windows 共用同一套 Electron 渲染层与客户端契约,窗口框架差异(macOS 红绿灯 / Windows 原生标题栏)由官方 `data-platform` / `data-windows-titlebar` / `data-fullscreen` 标记驱动,插件按官方窗口框架变量自适应,无需按平台分别安装。专注模式下顶部只有一条与窗口控制键同行的可拖动标题栏(不再有额外的空白条);按原生全屏切换后(macOS 绿灯 / Windows 最大化按钮)收紧为 40px 紧凑标题行。
|
|
130
130
|
|
|
131
131
|
> 桌面版使用独立的 `desktop` profile:如果只在 Web CLI 的 `web` profile 里装过本插件,桌面版仍需在 Plugins 页面安装一次。
|
|
132
132
|
|
package/lib/client.js
CHANGED
|
@@ -1861,23 +1861,38 @@ window.__ModuleLoader__.load({
|
|
|
1861
1861
|
//#region src/client/styles.ts
|
|
1862
1862
|
/** Package-owned stylesheet text (injected by the client apply, cleaned up on unload). */
|
|
1863
1863
|
const FOCUS_CSS = `
|
|
1864
|
-
.fm-overlay{position:fixed;inset:0;z-index:2147483000;box-sizing:border-box;padding-top:var(--
|
|
1865
|
-
/* Desktop window frame (dsh desktop 0.2.2+, macOS and Windows)
|
|
1866
|
-
hidden native titlebar area is web content owned by
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1864
|
+
.fm-overlay{position:fixed;inset:0;z-index:2147483000;box-sizing:border-box;--fm-frame-band:0px;padding-top:var(--fm-frame-band);background:var(--dsw-alias-bg-base,#fff);color:var(--dsw-alias-label-primary,#1a1a1a);display:flex;flex-direction:column;pointer-events:auto;font-family:var(--dsw-font-family,sans-serif);outline:none}
|
|
1865
|
+
/* Desktop window frame (dsh desktop 0.2.2+, macOS and Windows) — the top band.
|
|
1866
|
+
The shell's hidden native titlebar area is ordinary web content owned by
|
|
1867
|
+
whatever fills the viewport, and the official layout publishes the
|
|
1868
|
+
clearance on <html> (dsh-client-ui-layout + the desktop preload):
|
|
1869
|
+
--dsh-frame-top-clearance is 48px on macOS (traffic lights: x16..77,
|
|
1870
|
+
y18..32) and the 40px caption height on Windows (--dsh-windows-titlebar-
|
|
1871
|
+
height). The overlay reserves EXACTLY that band, not
|
|
1872
|
+
--dsh-frame-overlay-top — that variable is clearance + 20px because the
|
|
1873
|
+
official full-window surfaces are dialogs that want a gap; a full-window
|
|
1874
|
+
reading surface must not pay the dialog gap.
|
|
1875
|
+
macOS: the band holds nothing but the traffic lights, so the focus title row
|
|
1876
|
+
is merged INTO it (see .fm-topbar) and the transcript starts right below it;
|
|
1877
|
+
native fullscreen has no traffic lights, so the band shrinks to a compact
|
|
1878
|
+
40px title row.
|
|
1879
|
+
Windows: the band is NOT merged into, because the preload-injected web
|
|
1880
|
+
caption MENUBAR ([data-windows-menu], shadow DOM, z-index 1100) sits at the
|
|
1881
|
+
top-left of that band ABOVE this overlay (the overlay lives inside the
|
|
1882
|
+
official z-20 shell.overlay stacking context) and must stay visible — it is
|
|
1883
|
+
the only app menu. Merging the title row into the band would hide the title
|
|
1884
|
+
behind the menubar, so Windows keeps the band as caption chrome and puts the
|
|
1885
|
+
title row directly underneath it (see the win32 rules below).
|
|
1886
|
+
The 0px fallback keeps the plain web generation pixel-identical (no band;
|
|
1887
|
+
the topbar sits in normal flow). */
|
|
1888
|
+
html[data-platform=darwin] .fm-overlay{--fm-frame-band:var(--dsh-frame-top-clearance,48px)}
|
|
1889
|
+
html[data-platform=darwin][data-fullscreen] .fm-overlay{--fm-frame-band:40px}
|
|
1890
|
+
html[data-windows-titlebar] .fm-overlay{--fm-frame-band:var(--dsh-windows-titlebar-height,40px)}
|
|
1876
1891
|
/* Windows desktop: dsh-client-ui-sidebar promotes the sidebar collapse toggle
|
|
1877
1892
|
to a fixed z-30 layer itself, above the official shell.overlay layer (z-20)
|
|
1878
1893
|
that hosts this overlay — so without this rule the toggle floats above focus
|
|
1879
|
-
mode inside the titlebar band and steals clicks/drags from the
|
|
1880
|
-
(macOS keeps it behind the overlay). Hide it exactly while focus is on; it
|
|
1894
|
+
mode inside the titlebar band and steals clicks/drags from the merged
|
|
1895
|
+
title row's drag band (macOS keeps it behind the overlay). Hide it exactly while focus is on; it
|
|
1881
1896
|
comes back with the rest of the chrome when focus exits. */
|
|
1882
1897
|
html[data-windows-titlebar] body[data-fm-focus] [data-sidebar-toggle]{display:none!important}
|
|
1883
1898
|
/* Same Windows titlebar band: when the official sidebar is collapsed (user
|
|
@@ -1889,7 +1904,38 @@ html[data-windows-titlebar] body[data-fm-focus] [data-sidebar-toggle]{display:no
|
|
|
1889
1904
|
the only stable hook the shipped CSS exposes; the e2e desktop-frame leak
|
|
1890
1905
|
guard fails loudly if a future build renames it. */
|
|
1891
1906
|
html[data-windows-titlebar] body[data-fm-focus] [class*="newSession"]{display:none!important}
|
|
1892
|
-
.
|
|
1907
|
+
/* Focus titlebar row. Plain web: an ordinary flow row above the body (it is
|
|
1908
|
+
the overlay's last-but-one DOM child because the Windows drag strip follows
|
|
1909
|
+
it; order:-1 keeps it visually first here).
|
|
1910
|
+
macOS desktop: merged INTO the reserved band — absolutely positioned over
|
|
1911
|
+
the overlay's padding-top area, exactly as tall as the band, so the title
|
|
1912
|
+
shares the line with the native traffic lights instead of stacking another
|
|
1913
|
+
48px bar underneath an empty band. The title is cleared past the traffic
|
|
1914
|
+
lights (they end at x≈76.7; the official leading seat uses left:88). This
|
|
1915
|
+
row IS the macOS drag surface: data-window-drag (the official darwin rule)
|
|
1916
|
+
plus an explicit app-region declaration, with every interactive descendant
|
|
1917
|
+
excluded so controls inside the band stay clickable (darwin's official
|
|
1918
|
+
no-drag for button/[tabindex] is repeated here so the contract is local).
|
|
1919
|
+
Windows desktop: the caption band above is owned by the native caption
|
|
1920
|
+
buttons and the web caption menubar (which paints above the overlay), so the
|
|
1921
|
+
title row is an ordinary row BELOW that band — no drag region here and no
|
|
1922
|
+
overlap with the menubar; the Windows drag surface is the separate
|
|
1923
|
+
.fm-frame-strip over the band. */
|
|
1924
|
+
.fm-topbar{order:-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--dsw-alias-border-l1,rgba(0,0,0,.12));flex:0 0 auto}
|
|
1925
|
+
html[data-platform=darwin] .fm-topbar{position:absolute;top:0;left:0;right:0;height:var(--fm-frame-band);box-sizing:border-box;margin:0;padding:0 16px 0 88px;z-index:4;-webkit-app-region:drag;-webkit-user-select:none;user-select:none}
|
|
1926
|
+
html[data-platform=darwin][data-fullscreen] .fm-topbar{padding:0 16px}
|
|
1927
|
+
html[data-platform=darwin] .fm-topbar :is(button,a,input,select,textarea,summary,[contenteditable=true],[tabindex]){-webkit-app-region:no-drag}
|
|
1928
|
+
html[data-windows-titlebar] .fm-topbar{height:40px;box-sizing:border-box;margin:0;padding:0 16px;flex:0 0 40px}
|
|
1929
|
+
/* Windows desktop drag band: the 40px caption band above the title row is
|
|
1930
|
+
ordinary overlay background, with the web caption menubar (painted above the
|
|
1931
|
+
overlay) at its left and the native caption buttons (OS overlay) at its
|
|
1932
|
+
right. This strip claims the band as the window drag surface; it is the
|
|
1933
|
+
overlay's LAST child because Electron applies the renderer's app-region
|
|
1934
|
+
rects in layout-tree order and the later rect wins (see FocusView.tsx).
|
|
1935
|
+
Hidden on the plain web and on macOS, where the merged title row itself is
|
|
1936
|
+
the drag surface and there is no separate element to claim. */
|
|
1937
|
+
.fm-frame-strip{display:none}
|
|
1938
|
+
html[data-windows-titlebar] .fm-frame-strip{display:block;position:absolute;top:0;left:0;right:0;height:var(--fm-frame-band);-webkit-app-region:drag;-webkit-user-select:none;user-select:none;z-index:0}
|
|
1893
1939
|
.fm-title{font-size:calc(14px + var(--dsh-content-font-delta,0px));font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
1894
1940
|
.fm-body-wrap{position:relative;flex:1 1 auto;display:flex;min-height:0}
|
|
1895
1941
|
.fm-body{flex:1 1 auto;min-width:0;overflow-y:auto;padding:28px 28px 160px}
|
|
@@ -3461,23 +3507,6 @@ body[data-fm-focus] #root :has(> [data-slot="conversation"]){margin-bottom:0!imp
|
|
|
3461
3507
|
ref: overlayRef,
|
|
3462
3508
|
tabIndex: -1,
|
|
3463
3509
|
children: [
|
|
3464
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
3465
|
-
className: "fm-frame-strip",
|
|
3466
|
-
"data-window-drag": true,
|
|
3467
|
-
"aria-hidden": "true"
|
|
3468
|
-
}),
|
|
3469
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
3470
|
-
className: "fm-topbar",
|
|
3471
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
3472
|
-
className: "fm-title",
|
|
3473
|
-
children: title
|
|
3474
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
3475
|
-
variant: "outline",
|
|
3476
|
-
size: "sm",
|
|
3477
|
-
onClick: () => focusStore.set(false),
|
|
3478
|
-
children: t("exit")
|
|
3479
|
-
})]
|
|
3480
|
-
}),
|
|
3481
3510
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
3482
3511
|
className: "fm-body-wrap",
|
|
3483
3512
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
@@ -3517,7 +3546,25 @@ body[data-fm-focus] #root :has(> [data-slot="conversation"]){margin-bottom:0!imp
|
|
|
3517
3546
|
onJumpBottom: scrollToBottom
|
|
3518
3547
|
})
|
|
3519
3548
|
}) : null,
|
|
3520
|
-
replyNotice
|
|
3549
|
+
replyNotice,
|
|
3550
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
3551
|
+
className: "fm-topbar",
|
|
3552
|
+
"data-window-drag": true,
|
|
3553
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
3554
|
+
className: "fm-title",
|
|
3555
|
+
children: title
|
|
3556
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
3557
|
+
variant: "outline",
|
|
3558
|
+
size: "sm",
|
|
3559
|
+
onClick: () => focusStore.set(false),
|
|
3560
|
+
children: t("exit")
|
|
3561
|
+
})]
|
|
3562
|
+
}),
|
|
3563
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
3564
|
+
className: "fm-frame-strip",
|
|
3565
|
+
"data-window-drag": true,
|
|
3566
|
+
"aria-hidden": "true"
|
|
3567
|
+
})
|
|
3521
3568
|
]
|
|
3522
3569
|
});
|
|
3523
3570
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-focus-overlay",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.1",
|
|
4
4
|
"description": "Focus Mode for the dsh web GUI: a full-screen reading overlay that hides chrome and folds the AI tool-call flow into summaries, reusing the official Markdown / image primitives.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.mjs",
|