@pactor-app/chat 1.15.1 → 1.15.3

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.
Files changed (2) hide show
  1. package/package.json +6 -6
  2. package/styles.css +24 -36
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pactor-app/chat",
3
- "version": "1.15.1",
3
+ "version": "1.15.3",
4
4
  "description": "Pactor chat: AI message rendering protocol (message model, streaming reducer, safe registry, capability action) and chat runtime view (ChatView / MessageBubble / PartRenderer / Composer / chat layout)",
5
5
  "keywords": [
6
6
  "pactor",
@@ -49,11 +49,11 @@
49
49
  "access": "public"
50
50
  },
51
51
  "dependencies": {
52
- "@pactor-app/core": "1.15.1",
53
- "@pactor-app/runtime": "1.15.1",
54
- "@pactor-app/permission": "1.15.1",
55
- "@pactor-app/markdown": "1.15.1",
56
- "@pactor-app/ui": "1.15.1"
52
+ "@pactor-app/core": "1.15.3",
53
+ "@pactor-app/permission": "1.15.3",
54
+ "@pactor-app/markdown": "1.15.3",
55
+ "@pactor-app/runtime": "1.15.3",
56
+ "@pactor-app/ui": "1.15.3"
57
57
  },
58
58
  "peerDependencies": {
59
59
  "react": ">=18"
package/styles.css CHANGED
@@ -4,13 +4,14 @@
4
4
  * 技术选型参考 DeepTutor web:语义 CSS 变量 + 语义 class,无 antd。
5
5
  *
6
6
  * 换肤契约(与 @pactor-app/ui 一致):
7
- * 1. `--pactor-chat-*` 颜色令牌的默认值经 `var(--语义令牌, <chat 默认>)`
7
+ * 1. `--pactor-chat-*` 令牌默认值声明在 `:root`,颜色经 `var(--语义令牌, <chat 默认>)`
8
8
  * 桥接 pactor-ui 语义令牌(--background/--primary/…)——皮肤 CSS 覆盖
9
- * 语义令牌时 chat 结构件自动跟随;也可直接覆盖 `--pactor-chat-*` 精调;
9
+ * 语义令牌时 chat 结构件自动跟随;也可直接在皮肤里覆盖 `--pactor-chat-*` 精调
10
+ * (令牌定义在 :root,皮肤声明恒优先于本文件默认值);
10
11
  * 2. 内置暗色:`<html data-pactor-theme="dark">`(或挂在任意祖先容器上);
11
12
  * 不设置时跟随系统 prefers-color-scheme(三态:light / dark / 跟随系统)。
12
13
  * 颜色令牌无需暗色覆盖块(语义令牌自动翻转),仅投影/遮罩有暗色覆盖;
13
- * 3. 直接覆盖 `.pactor-chat-*` class。
14
+ * 3. 结构覆盖仍可直接写 `.pactor-chat-*` class 规则。
14
15
  *
15
16
  * 使用:import 'pactor-chat/styles.css';
16
17
  */
@@ -19,12 +20,11 @@
19
20
  * 1. 皮肤 token(light)
20
21
  * ============================================================ */
21
22
 
22
- .pactor-chat-view,
23
- .pactor-chat-layout,
24
- .pactor-chat-shell,
25
- .pactor-chat-workspace,
26
- .pactor-chat-inspector,
27
- .pactor-chat-notice {
23
+ /* 令牌默认值声明在 :root(而非 chat 容器类):容器级直接声明会压过一切
24
+ 自 :root 继承的皮肤覆盖(继承恒输于直接声明);置于 :root 后,
25
+ theme-studio 皮肤块 :root:not([data-pactor-theme='dark'])(0,2,0)
26
+ 及同名 :root 规则(后加载胜出)均可覆盖 --pactor-chat-* 精调 */
27
+ :root {
28
28
  /* 颜色令牌默认值桥接 pactor-ui 语义令牌(皮肤覆盖语义令牌时自动跟随),
29
29
  逗号后为 pactor-ui 缺席时的 chat 品牌默认 */
30
30
  --pactor-chat-bg: var(--background, #f7f6f4);
@@ -69,8 +69,10 @@
69
69
  /* 衬线展示字体栈:空状态问候 / chat 布局标题 */
70
70
  --pactor-chat-font-display: 'Songti SC', 'Noto Serif SC', Georgia,
71
71
  'Times New Roman', serif;
72
- /* AppShell:侧栏宽度 / 移动端顶栏高度 / 抽屉遮罩色 */
73
- --pactor-chat-sidebar-width: 240px;
72
+ /* AppShell:移动端顶栏高度 / 抽屉遮罩色。
73
+ 侧栏宽度不走 chat 私有令牌——统一由 ui 皮肤令牌驱动:
74
+ --sidebar-width(展开,默认 16rem)/ --sidebar-width-icon(折叠 icon rail,
75
+ 默认 3rem),theme-studio 生成的皮肤可直接覆盖两者 */
74
76
  --pactor-chat-shell-topbar-height: 44px;
75
77
  --pactor-chat-shell-scrim: rgb(0 0 0 / 40%);
76
78
  /* 产出物面板(spec: chat-artifact-panel):桌面固定宽右栏 */
@@ -92,17 +94,10 @@
92
94
 
93
95
  /* 暗色皮肤:data-pactor-theme="dark"(html 或任意祖先容器)。
94
96
  颜色令牌经 var() 桥接 pactor-ui 语义令牌,暗色自动翻转,无需覆盖;
95
- 这里只保留投影与遮罩的暗色值(组件规则不区分主题)。 */
96
- [data-pactor-theme='dark'] .pactor-chat-view,
97
- [data-pactor-theme='dark'] .pactor-chat-layout,
98
- [data-pactor-theme='dark'] .pactor-chat-shell,
99
- [data-pactor-theme='dark'] .pactor-chat-workspace,
100
- [data-pactor-theme='dark'] .pactor-chat-notice,
101
- .pactor-chat-view[data-pactor-theme='dark'],
102
- .pactor-chat-layout[data-pactor-theme='dark'],
103
- .pactor-chat-shell[data-pactor-theme='dark'],
104
- .pactor-chat-workspace[data-pactor-theme='dark'],
105
- .pactor-chat-notice[data-pactor-theme='dark'] {
97
+ 这里只保留投影与遮罩的暗色值(组件规则不区分主题)。
98
+ 声明落在属性载体元素上(后代继承),与皮肤暗色块同优先级(0,1,0)、
99
+ 皮肤后加载胜出——皮肤的暗色精调优先生效。 */
100
+ [data-pactor-theme='dark'] {
106
101
  --pactor-chat-shadow-sm: 0 1px 2px rgb(0 0 0 / 35%);
107
102
  --pactor-chat-shadow-composer:
108
103
  0 1px 2px rgb(0 0 0 / 4%),
@@ -111,13 +106,10 @@
111
106
  }
112
107
 
113
108
  /* 系统偏好暗色兜底:未显式设置 data-pactor-theme 时跟随系统
114
- (与上方 [data-pactor-theme='dark'] 块一致——仅投影与遮罩) */
109
+ (与上方 [data-pactor-theme='dark'] 块一致——仅投影与遮罩)。
110
+ :where() 降优先级为 (0,1,0):皮肤亮色块(0,2,0)加载后不被压盖 */
115
111
  @media (prefers-color-scheme: dark) {
116
- :root:not([data-pactor-theme='light']):not([data-pactor-theme='dark']) .pactor-chat-view,
117
- :root:not([data-pactor-theme='light']):not([data-pactor-theme='dark']) .pactor-chat-layout,
118
- :root:not([data-pactor-theme='light']):not([data-pactor-theme='dark']) .pactor-chat-shell,
119
- :root:not([data-pactor-theme='light']):not([data-pactor-theme='dark']) .pactor-chat-workspace,
120
- :root:not([data-pactor-theme='light']):not([data-pactor-theme='dark']) .pactor-chat-notice {
112
+ :root:where(:not([data-pactor-theme='light']):not([data-pactor-theme='dark'])) {
121
113
  --pactor-chat-shadow-sm: 0 1px 2px rgb(0 0 0 / 35%);
122
114
  --pactor-chat-shadow-composer:
123
115
  0 1px 2px rgb(0 0 0 / 4%),
@@ -257,14 +249,10 @@
257
249
  --sidebar-ring: var(--pactor-chat-primary);
258
250
  }
259
251
 
260
- /* 侧栏宽度对齐令牌(覆盖 ui 的 w-60;icon rail 64px 与历史一致) */
261
- .pactor-chat-shell [data-slot='sidebar'] {
262
- width: var(--pactor-chat-sidebar-width);
263
- }
264
-
265
- .pactor-chat-shell [data-slot='sidebar'][data-collapsed] {
266
- width: 64px;
267
- }
252
+ /* 侧栏宽度由 ui 皮肤令牌驱动(--sidebar-width / --sidebar-width-icon,
253
+ 经 ui Sidebar 的 gap / 固定容器工具类引用),chat 不再单独覆盖;
254
+ 原 chat 私有侧栏宽度令牌与 [data-collapsed] 规则一并移除——
255
+ 后者自 chat-on-ui-sidebar 重构后等的是不存在的属性,从未生效 */
268
256
 
269
257
  /* 移动端顶栏高度与遮罩色对齐令牌 */
270
258
  .pactor-chat-shell [data-slot='sidebar-topbar'] {