@pactor-app/chat 1.15.2 → 1.15.4

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 +16 -38
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pactor-app/chat",
3
- "version": "1.15.2",
3
+ "version": "1.15.4",
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.2",
53
- "@pactor-app/runtime": "1.15.2",
54
- "@pactor-app/ui": "1.15.2",
55
- "@pactor-app/permission": "1.15.2",
56
- "@pactor-app/markdown": "1.15.2"
52
+ "@pactor-app/core": "1.15.4",
53
+ "@pactor-app/permission": "1.15.4",
54
+ "@pactor-app/markdown": "1.15.4",
55
+ "@pactor-app/ui": "1.15.4",
56
+ "@pactor-app/runtime": "1.15.4"
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);
@@ -94,17 +94,10 @@
94
94
 
95
95
  /* 暗色皮肤:data-pactor-theme="dark"(html 或任意祖先容器)。
96
96
  颜色令牌经 var() 桥接 pactor-ui 语义令牌,暗色自动翻转,无需覆盖;
97
- 这里只保留投影与遮罩的暗色值(组件规则不区分主题)。 */
98
- [data-pactor-theme='dark'] .pactor-chat-view,
99
- [data-pactor-theme='dark'] .pactor-chat-layout,
100
- [data-pactor-theme='dark'] .pactor-chat-shell,
101
- [data-pactor-theme='dark'] .pactor-chat-workspace,
102
- [data-pactor-theme='dark'] .pactor-chat-notice,
103
- .pactor-chat-view[data-pactor-theme='dark'],
104
- .pactor-chat-layout[data-pactor-theme='dark'],
105
- .pactor-chat-shell[data-pactor-theme='dark'],
106
- .pactor-chat-workspace[data-pactor-theme='dark'],
107
- .pactor-chat-notice[data-pactor-theme='dark'] {
97
+ 这里只保留投影与遮罩的暗色值(组件规则不区分主题)。
98
+ 声明落在属性载体元素上(后代继承),与皮肤暗色块同优先级(0,1,0)、
99
+ 皮肤后加载胜出——皮肤的暗色精调优先生效。 */
100
+ [data-pactor-theme='dark'] {
108
101
  --pactor-chat-shadow-sm: 0 1px 2px rgb(0 0 0 / 35%);
109
102
  --pactor-chat-shadow-composer:
110
103
  0 1px 2px rgb(0 0 0 / 4%),
@@ -113,13 +106,10 @@
113
106
  }
114
107
 
115
108
  /* 系统偏好暗色兜底:未显式设置 data-pactor-theme 时跟随系统
116
- (与上方 [data-pactor-theme='dark'] 块一致——仅投影与遮罩) */
109
+ (与上方 [data-pactor-theme='dark'] 块一致——仅投影与遮罩)。
110
+ :where() 降优先级为 (0,1,0):皮肤亮色块(0,2,0)加载后不被压盖 */
117
111
  @media (prefers-color-scheme: dark) {
118
- :root:not([data-pactor-theme='light']):not([data-pactor-theme='dark']) .pactor-chat-view,
119
- :root:not([data-pactor-theme='light']):not([data-pactor-theme='dark']) .pactor-chat-layout,
120
- :root:not([data-pactor-theme='light']):not([data-pactor-theme='dark']) .pactor-chat-shell,
121
- :root:not([data-pactor-theme='light']):not([data-pactor-theme='dark']) .pactor-chat-workspace,
122
- :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'])) {
123
113
  --pactor-chat-shadow-sm: 0 1px 2px rgb(0 0 0 / 35%);
124
114
  --pactor-chat-shadow-composer:
125
115
  0 1px 2px rgb(0 0 0 / 4%),
@@ -292,18 +282,6 @@
292
282
  display: none;
293
283
  }
294
284
 
295
- /* 对话列在 shell content 内的间距(content 区 padding 承担)与
296
- * 面板打开时的贴右处理见下方 :has 规则 */
297
-
298
- /* shell 主内容区:列布局 + 内边距(ui Sidebar 的 sidebar-content 仅
299
- min-w-0 flex-1,对话列间距由这里承担) */
300
- .pactor-chat-shell [data-slot='sidebar-content'] {
301
- display: flex;
302
- flex-direction: column;
303
- overflow: hidden;
304
- padding: 12px 16px 16px;
305
- }
306
-
307
285
  /* 产出物面板打开(spec: chat-artifact-panel):面板贴容器右缘——
308
286
  * 内容区右/上/下 padding 归零,面板 border-left 作分隔线 */
309
287
  .pactor-chat-shell [data-slot='sidebar-content']:has(> .pactor-chat-inspector-host) {