@deepseek-ai/dsh-client-ui-sidebar 0.1.7-rc.2 → 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/README.i18n.yaml CHANGED
@@ -6,8 +6,8 @@
6
6
  en: 7884381c2c554eca
7
7
  zh: e6d7199a9bb2f0f8
8
8
  /deepseek-ai-dsh-client-ui-sidebar:
9
- en: 3b3885c78b619c8a
10
- zh: 2cabf9cfec748497
9
+ en: e357f49fb1d1710e
10
+ zh: 2e61922b104f77eb
11
11
  /deepseek-ai-dsh-client-ui-sidebar/summary:
12
12
  en: af17f03561e5372b
13
13
  zh: 91a1b9f6c7a51025
@@ -18,8 +18,8 @@
18
18
  en: a970f0547496634f
19
19
  zh: 36ef9a85b26e19f1
20
20
  /deepseek-ai-dsh-client-ui-sidebar/use-this-package/brand-and-new-session:
21
- en: d084cd6732966c41
22
- zh: 466e028ca49b4230
21
+ en: 098f85b9287d3147
22
+ zh: b921c128ac37d2cd
23
23
  /deepseek-ai-dsh-client-ui-sidebar/use-this-package/global-panel-entries:
24
24
  en: 5d3300d3506254c5
25
25
  zh: 541ae1ee1e10b921
package/README.md CHANGED
@@ -7,6 +7,8 @@ kind: "package-reference"
7
7
 
8
8
  English | [中文](README.zh.md)
9
9
 
10
+ Desktop product events use the optional [product analytics service](../product-analytics/README.md); ordinary Web interactions are excluded.
11
+
10
12
  ## Summary
11
13
 
12
14
  The dsh web client sidebar lets users recognize the active build, start a new session, collapse navigation to a 56px rail, browse Workspaces and Sessions, and open Settings. It preserves a bottom-pinned Settings entry and hides idle scrollbars without moving browser rows. New Session uses an explicitly selected Workspace, then the current Session's Workspace, then the most recently active Workspace; if none exists, it opens a blank New Session page. Deployments can replace the brand mark or name while retaining the navigation controls and rail geometry.
@@ -29,7 +31,7 @@ The sidebar is the navigation shell: users see the brand, start new sessions, co
29
31
 
30
32
  ### Brand and New Session
31
33
 
32
- The expanded brand row renders `sidebar.brand.mark` and `sidebar.brand.name` as independent single slots; the collapsed rail renders the same mark slot. Without occupants, the shell uses the fish mark and a localized local-build label. A complete build stacks a code badge below the label as `version[-commit][-dirty]`, using `DSH_CLIENT_VERSION`, the optional 7-character `DSH_CLIENT_COMMIT_HASH`, and `DSH_CLIENT_GIT_DIRTY=true`; missing version metadata omits the badge. New Session targets the explicit Workspace used by a scoped action, otherwise the current Session's Workspace, otherwise the most recently active Workspace; when none exists it clears into the blank New Session page. The expanded New Session button displays the effective binding as trailing grey text on hover or keyboard focus. While the shortcut is visible, the centered icon and label fade before it when space is narrow; CSS reserves the shortcut’s width without measuring the button. Icon-only controls retain tooltips with platform-formatted keycaps, including the resident macOS header control when the sidebar is hidden. All controls expose `aria-keyshortcuts`.
34
+ The expanded brand row renders `sidebar.brand.mark` and `sidebar.brand.name` as independent single slots; the collapsed rail renders the same mark slot. On Web and Windows desktop, clicking the expanded brand starts a new session; hovering or focusing it shows no tooltip. Without occupants, the shell uses the fish mark and a localized local-build label. A complete build stacks a code badge below the label as `version[-commit][-dirty]`, using `DSH_CLIENT_VERSION`, the optional 7-character `DSH_CLIENT_COMMIT_HASH`, and `DSH_CLIENT_GIT_DIRTY=true`; missing version metadata omits the badge. New Session targets the explicit Workspace used by a scoped action, otherwise the current Session's Workspace, otherwise the most recently active Workspace; when none exists it clears into the blank New Session page. The expanded New Session button displays the effective binding as trailing grey text on hover or keyboard focus. While the shortcut is visible, the centered icon and label fade before it when space is narrow; CSS reserves the shortcut’s width without measuring the button. Icon-only controls retain tooltips with platform-formatted keycaps, including the resident macOS header control when the sidebar is hidden. All controls expose `aria-keyshortcuts`.
33
35
 
34
36
  ### Global panel entries
35
37
 
package/README.zh.md CHANGED
@@ -7,6 +7,8 @@ kind: "package-reference"
7
7
 
8
8
  [English](README.md) | 中文
9
9
 
10
+ 桌面端产品事件使用可选的[产品埋点服务](../product-analytics/README.zh.md),不包含普通 Web 交互。
11
+
10
12
  ## 概述
11
13
 
12
14
  dsh Web 客户端的侧边栏让用户识别当前构建、启动新会话、将导航折叠为 56px 轨道、浏览 Workspace 与 Session,以及打开 Settings。它会将 Settings 入口固定在底部,并在隐藏空闲滚动条时避免浏览器行发生位移。New Session 优先使用显式选择的 Workspace,其次使用当前 Session 所属的 Workspace,再其次使用最近活跃的 Workspace;如果都不存在,则打开空白的 New Session 页面。部署可以替换品牌标记或名称,同时保留导航控件和轨道几何。
@@ -29,7 +31,7 @@ dsh Web 客户端的侧边栏让用户识别当前构建、启动新会话、将
29
31
 
30
32
  ### 品牌与 New Session
31
33
 
32
- 展开的品牌行把 `sidebar.brand.mark` 与 `sidebar.brand.name` 渲染为两个独立的 single slot;收起轨道则渲染同一个 mark slot。没有占位者时,外壳使用鱼形标记和本地化的本地构建标签。完整构建会在标签下方显示代码徽标;该徽标使用 `DSH_CLIENT_VERSION`、可选的 7 位 `DSH_CLIENT_COMMIT_HASH` 与 `DSH_CLIENT_GIT_DIRTY=true` 组装成 `version[-commit][-dirty]`;缺少版本元数据时不显示徽标。New Session 优先使用作用域操作明确指定的 Workspace,否则使用当前 Session 所属 Workspace,再否则使用最近活跃 Workspace;一个 Workspace 都没有时则清空选择,进入空白 New Session 页面。 展开态的新建会话按钮在悬停或键盘聚焦时于右侧以灰色文字显示当前有效绑定。快捷键可见且空间较窄时,居中的图标与文字在快捷键之前渐隐;CSS 为快捷键保留宽度,无需测量按钮。纯图标控件保留使用平台键位样式的 tooltip,侧栏隐藏时常驻的 macOS 头部控件也保持一致。所有控件均提供 `aria-keyshortcuts`。
34
+ 展开的品牌行把 `sidebar.brand.mark` 与 `sidebar.brand.name` 渲染为两个独立的 single slot;收起轨道则渲染同一个 mark slot。在 Web 和 Windows 桌面端,点击展开态的品牌会新建会话,悬停或聚焦时不显示 tooltip。没有占位者时,外壳使用鱼形标记和本地化的本地构建标签。完整构建会在标签下方显示代码徽标;该徽标使用 `DSH_CLIENT_VERSION`、可选的 7 位 `DSH_CLIENT_COMMIT_HASH` 与 `DSH_CLIENT_GIT_DIRTY=true` 组装成 `version[-commit][-dirty]`;缺少版本元数据时不显示徽标。New Session 优先使用作用域操作明确指定的 Workspace,否则使用当前 Session 所属 Workspace,再否则使用最近活跃 Workspace;一个 Workspace 都没有时则清空选择,进入空白 New Session 页面。 展开态的新建会话按钮在悬停或键盘聚焦时于右侧以灰色文字显示当前有效绑定。快捷键可见且空间较窄时,居中的图标与文字在快捷键之前渐隐;CSS 为快捷键保留宽度,无需测量按钮。纯图标控件保留使用平台键位样式的 tooltip,侧栏隐藏时常驻的 macOS 头部控件也保持一致。所有控件均提供 `aria-keyshortcuts`。
33
35
 
34
36
  ### 全局面板入口
35
37
 
package/lib/client.js CHANGED
@@ -167,7 +167,7 @@ window.__ModuleLoader__.load({
167
167
  const SCROLLBAR_LINGER_MS = 2e3;
168
168
  /** Format complete-build metadata for the local brand badge. */
169
169
  function localBuildVersion() {
170
- return `0.1.7-rc.2-c127551` + ({}.DSH_CLIENT_GIT_DIRTY === "true" ? "-dirty" : "");
170
+ return `0.2.0-rc.2-04f392c` + ({}.DSH_CLIENT_GIT_DIRTY === "true" ? "-dirty" : "");
171
171
  }
172
172
  /** Each panel row subscribes only to its own selection state. */
173
173
  function PanelRow({ id, label, wide, usePanelInfo, selectPanel, renderSlot }) {
@@ -333,20 +333,15 @@ window.__ModuleLoader__.load({
333
333
  return darwinDesktop ? (0, react_jsx_runtime.jsx)("span", {
334
334
  className: clsx(SidebarRoot_module_css_default.brand, SidebarRoot_module_css_default.wide),
335
335
  children: identity
336
- }) : (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
337
- label: t("session.new.label"),
338
- shortcutKeys: newShortcut?.keys,
339
- delayMs: 500,
340
- children: (0, react_jsx_runtime.jsx)("button", {
341
- type: "button",
342
- className: clsx(SidebarRoot_module_css_default.brand, SidebarRoot_module_css_default.wide),
343
- "aria-label": t("session.new.label"),
344
- "aria-keyshortcuts": newShortcut?.aria,
345
- onClick: () => {
346
- startSession();
347
- },
348
- children: identity
349
- })
336
+ }) : (0, react_jsx_runtime.jsx)("button", {
337
+ type: "button",
338
+ className: clsx(SidebarRoot_module_css_default.brand, SidebarRoot_module_css_default.wide),
339
+ "aria-label": t("session.new.label"),
340
+ "aria-keyshortcuts": newShortcut?.aria,
341
+ onClick: () => {
342
+ startSession();
343
+ },
344
+ children: identity
350
345
  });
351
346
  })(), !darwinDesktop && toggle]
352
347
  }),
@@ -481,6 +476,7 @@ window.__ModuleLoader__.load({
481
476
  ctx.layout.toggleSidebar();
482
477
  },
483
478
  selectPanel: (id) => {
479
+ if (id === "plugins" || id === "schedules") ctx.get("productAnalytics")?.track("sidebar_menu_click", { menu_name: id === "plugins" ? "plugin" : "cron" });
484
480
  ctx.layout.selectPanel(id);
485
481
  },
486
482
  hooks: {
@@ -1,4 +1,3 @@
1
- /** Registers the sidebar shell and global panel navigation. */
2
1
  import type { Context as ClientContext } from '@deepseek-ai/cordis';
3
2
  import { type SidebarKey } from './locales.ts';
4
3
  export type { SidebarBrandMarkOwnerProps, SidebarBrandNameOwnerProps, SidebarFooterActionOwnerProps, SidebarPanelIconOwnerProps, SidebarPanelMetadata, SidebarRootComponentProps, SidebarRootInjected, SidebarSectionOwnerProps, SidebarSettingsOwnerProps, } from './contract/slots.ts';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-client-ui-sidebar",
3
3
  "description": "Sidebar plugin: session multi-level tree, search, grouping, state dots",
4
- "version": "0.1.7-rc.2",
4
+ "version": "0.2.0-rc.2",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -47,18 +47,19 @@
47
47
  "@types/react": "~18.3.1",
48
48
  "react": "^18.2.0",
49
49
  "clsx": "^2.0.0",
50
- "@deepseek-ai/dsh-api-workspace-controller": "0.1.7-rc.2",
51
- "@deepseek-ai/dsh-client-locale": "0.1.7-rc.2",
52
- "@deepseek-ai/dsh-client-store": "0.1.7-rc.2",
53
- "@deepseek-ai/dsh-client-test-runtime": "0.1.7-rc.2",
54
- "@deepseek-ai/dsh-client-ui-layout": "0.1.7-rc.2",
55
- "@deepseek-ai/dsh-client-ui-primitives": "0.1.7-rc.2",
56
- "@deepseek-ai/dsh-client-ui-session": "0.1.7-rc.2",
57
- "@deepseek-ai/dsh-client-ui-renderer": "0.1.7-rc.2",
58
- "@deepseek-ai/dsh-client-ui-slots": "0.1.7-rc.2",
59
- "@deepseek-ai/dsh-client-ui-workspace": "0.1.7-rc.2",
50
+ "@deepseek-ai/dsh-client-locale": "0.2.0-rc.2",
51
+ "@deepseek-ai/dsh-client-store": "0.2.0-rc.2",
52
+ "@deepseek-ai/dsh-client-test-runtime": "0.2.0-rc.2",
53
+ "@deepseek-ai/dsh-client-ui-layout": "0.2.0-rc.2",
54
+ "@deepseek-ai/dsh-client-ui-primitives": "0.2.0-rc.2",
55
+ "@deepseek-ai/dsh-client-ui-renderer": "0.2.0-rc.2",
56
+ "@deepseek-ai/dsh-client-ui-session": "0.2.0-rc.2",
57
+ "@deepseek-ai/dsh-client-ui-slots": "0.2.0-rc.2",
58
+ "@deepseek-ai/dsh-client-ui-workspace": "0.2.0-rc.2",
60
59
  "@deepseek-ai/cordis": "~4.0.4",
61
- "@deepseek-ai/dsh-client-shortcuts": "0.1.7-rc.2"
60
+ "@deepseek-ai/dsh-client-shortcuts": "0.2.0-rc.2",
61
+ "@deepseek-ai/dsh-client-product-analytics": "0.2.0-rc.2",
62
+ "@deepseek-ai/dsh-api-workspace-controller": "0.2.0-rc.2"
62
63
  },
63
64
  "files": [
64
65
  "lib/index.js",