dsh-workbuddy-files 0.1.2 → 0.1.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.
- package/lib/client.js +10 -3
- package/package.json +1 -1
- package/src/client/app.ts +5 -1
- package/src/client/css.ts +5 -2
package/lib/client.js
CHANGED
|
@@ -403,10 +403,11 @@
|
|
|
403
403
|
"/* ---- 引用气泡换肤:主题色圆角矩形(原子删除由输入机原生保证) ---- */",
|
|
404
404
|
"/* 关键:padding 用等量负 margin 抵消、描边用 box-shadow(不占布局)—— */",
|
|
405
405
|
"/* 气泡外部宽度与 textarea 字符宽度完全一致,backdrop 与光标严格对齐 */",
|
|
406
|
-
"[data-decoration=\"chip\"]{padding:0 8px !important;margin:0 -8px !important;border-radius:8px;background:color-mix(in srgb,var(--dsw-alias-brand-primary,#4c9aff) 14%,transparent) !important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--dsw-alias-brand-primary,#4c9aff) 45%,transparent);color:var(--dsw-alias-brand-primary,#4c9aff) !important;font-weight:
|
|
406
|
+
"[data-decoration=\"chip\"]{padding:0 8px !important;margin:0 -8px !important;border-radius:8px;background:color-mix(in srgb,var(--dsw-alias-brand-primary,#4c9aff) 14%,transparent) !important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--dsw-alias-brand-primary,#4c9aff) 45%,transparent);color:var(--dsw-alias-brand-primary,#4c9aff) !important;font-weight:inherit}",
|
|
407
|
+
"[data-decoration=\"chip\"] svg{display:none !important}",
|
|
408
|
+
"[data-decoration=\"chip\"] [class*=\"chipTriggerGlyph\"]{font-size:inherit !important;opacity:.8}",
|
|
407
409
|
"[data-decoration=\"chip\"]:hover{background:color-mix(in srgb,var(--dsw-alias-brand-primary,#4c9aff) 22%,transparent) !important}",
|
|
408
|
-
"[data-decoration=\"chip\"][data-invalid=\"true\"]{color:var(--dsw-alias-state-error-primary,#e56a64) !important;background:color-mix(in srgb,var(--dsw-alias-state-error-primary,#e56a64) 14%,transparent) !important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--dsw-alias-state-error-primary,#e56a64) 45%,transparent) !important}"
|
|
409
|
-
"[data-decoration=\"chip\"] [class*=\"chipTriggerGlyph\"]{font-size:12px;opacity:.8}"
|
|
410
|
+
"[data-decoration=\"chip\"][data-invalid=\"true\"]{color:var(--dsw-alias-state-error-primary,#e56a64) !important;background:color-mix(in srgb,var(--dsw-alias-state-error-primary,#e56a64) 14%,transparent) !important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--dsw-alias-state-error-primary,#e56a64) 45%,transparent) !important}"
|
|
410
411
|
].join("\n");
|
|
411
412
|
//#endregion
|
|
412
413
|
//#region src/client/definitions.ts
|
|
@@ -900,6 +901,11 @@
|
|
|
900
901
|
const React = require("react");
|
|
901
902
|
return {
|
|
902
903
|
name: "workbuddy-files",
|
|
904
|
+
inject: [
|
|
905
|
+
"slots",
|
|
906
|
+
"sessions",
|
|
907
|
+
"conversation"
|
|
908
|
+
],
|
|
903
909
|
apply(ctx) {
|
|
904
910
|
try {
|
|
905
911
|
applyClient(ctx, React);
|
|
@@ -911,6 +917,7 @@
|
|
|
911
917
|
};
|
|
912
918
|
}
|
|
913
919
|
function applyClient(ctx, React) {
|
|
920
|
+
console.log("[workbuddy-files] client apply 开始");
|
|
914
921
|
const get = (name) => ctx.get(name);
|
|
915
922
|
const sessions = get("sessions");
|
|
916
923
|
const slots = get("slots");
|
package/package.json
CHANGED
package/src/client/app.ts
CHANGED
|
@@ -24,7 +24,8 @@ import type { UploadJob } from './types'
|
|
|
24
24
|
/** 工厂返回的 Cordis 客户端插件 */
|
|
25
25
|
export interface ClientPlugin {
|
|
26
26
|
apply(ctx: Record<string, unknown>): void
|
|
27
|
-
|
|
27
|
+
/** 硬依赖:Cordis 会等这些服务就绪后再 apply(缺失即无限等待,不会静默跳过) */
|
|
28
|
+
inject: string[]
|
|
28
29
|
name?: string
|
|
29
30
|
}
|
|
30
31
|
|
|
@@ -34,6 +35,8 @@ export function makeFactory() {
|
|
|
34
35
|
|
|
35
36
|
return {
|
|
36
37
|
name: 'workbuddy-files',
|
|
38
|
+
// slots:UI 注册入口;sessions + conversation:气泡插入管线核心
|
|
39
|
+
inject: ['slots', 'sessions', 'conversation'],
|
|
37
40
|
apply(ctx) {
|
|
38
41
|
try {
|
|
39
42
|
applyClient(ctx, React)
|
|
@@ -46,6 +49,7 @@ export function makeFactory() {
|
|
|
46
49
|
}
|
|
47
50
|
|
|
48
51
|
function applyClient(ctx: Record<string, unknown>, React: ReactLike): void {
|
|
52
|
+
console.log('[workbuddy-files] client apply 开始')
|
|
49
53
|
const get = (name: string) => (ctx.get as (n: string) => unknown)(name)
|
|
50
54
|
|
|
51
55
|
// ---- 能力探测(缺失则优雅退出)----
|
package/src/client/css.ts
CHANGED
|
@@ -25,8 +25,11 @@ export const CSS = [
|
|
|
25
25
|
'/* ---- 引用气泡换肤:主题色圆角矩形(原子删除由输入机原生保证) ---- */',
|
|
26
26
|
'/* 关键:padding 用等量负 margin 抵消、描边用 box-shadow(不占布局)—— */',
|
|
27
27
|
'/* 气泡外部宽度与 textarea 字符宽度完全一致,backdrop 与光标严格对齐 */',
|
|
28
|
-
'[data-decoration="chip"]{padding:0 8px !important;margin:0 -8px !important;border-radius:8px;background:color-mix(in srgb,var(--dsw-alias-brand-primary,#4c9aff) 14%,transparent) !important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--dsw-alias-brand-primary,#4c9aff) 45%,transparent);color:var(--dsw-alias-brand-primary,#4c9aff) !important;font-weight:
|
|
28
|
+
'[data-decoration="chip"]{padding:0 8px !important;margin:0 -8px !important;border-radius:8px;background:color-mix(in srgb,var(--dsw-alias-brand-primary,#4c9aff) 14%,transparent) !important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--dsw-alias-brand-primary,#4c9aff) 45%,transparent);color:var(--dsw-alias-brand-primary,#4c9aff) !important;font-weight:inherit}',
|
|
29
|
+
/* 隐藏 chip 内的类型图标(16px,比 textarea 对应字符宽约 1 个字符 → 右偏移元凶) */
|
|
30
|
+
'[data-decoration="chip"] svg{display:none !important}',
|
|
31
|
+
/* @ 徽标保持默认字号(缩小会引入反向偏移) */
|
|
32
|
+
'[data-decoration="chip"] [class*="chipTriggerGlyph"]{font-size:inherit !important;opacity:.8}',
|
|
29
33
|
'[data-decoration="chip"]:hover{background:color-mix(in srgb,var(--dsw-alias-brand-primary,#4c9aff) 22%,transparent) !important}',
|
|
30
34
|
'[data-decoration="chip"][data-invalid="true"]{color:var(--dsw-alias-state-error-primary,#e56a64) !important;background:color-mix(in srgb,var(--dsw-alias-state-error-primary,#e56a64) 14%,transparent) !important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--dsw-alias-state-error-primary,#e56a64) 45%,transparent) !important}',
|
|
31
|
-
'[data-decoration="chip"] [class*="chipTriggerGlyph"]{font-size:12px;opacity:.8}',
|
|
32
35
|
].join('\n')
|