dsh-life-pack 0.3.41 → 0.3.43

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.
@@ -0,0 +1,132 @@
1
+ /** 卷轴纸面字排 + 关闭钮样子 · **定稿件**(2026-10-06 定档,原型选型期结束)。
2
+ *
3
+ * 定稿形状(逐值锁死,改动须同步 `test/seal-scroll.test.mjs` 与 `test/seal-bundle-1158.test.mjs`):
4
+ * 纸面:三段紧凑行内(进展/状态/计划),行首一枚朱砂小方印(进/状/计),标签与正文同行基线对齐;
5
+ * 末行吃回 0.5em 行距(不然底比顶空一截);饰线上距加宽到 `0.5em 0 0.75em`;纸底与头部沿用原样式。
6
+ * 档位语:该档金属渐变压进字里(金=鎏金/银=冷银/铜=暖铜),不再一律金。
7
+ * 关闭钮:右上角斜披的朱砂菱形绦带(正立「收卷」字独立成层),两条飘尾沿菱形两条下边各向底尖收,
8
+ * 各自朝外 26°(左尾朝左下、右尾朝右下);尾是两层——外层过糙边出毛边,内层纯色芯不受滤镜。
9
+ *
10
+ * 为什么单独一件:`seal-scroll.ts` 已接近告警线(外框/纸/浮层/滤镜都住那里),纸面字排与关闭钮住这里。
11
+ * 本件是纯函数:吃 ctx 回五件,不留状态、不取数。原型期的二十余档方案已按「定稿后只留胜出那一档」删除。
12
+ */
13
+ import * as React from 'react';
14
+ import { SEAL_ROUGH_INK_ID, SEAL_ROUGH_METAL_ID } from './seal-scroll.js';
15
+ // 档位级两个色从调色板引(一份定义);本件自己的纸面三色(绦带朱砂/飘尾亮朱砂/印泥大红)住本件。
16
+ import { TIER_EDGE, TIER_METAL } from './seal-palette.js';
17
+ /** 材质底层:**糙边滤镜只挂这一层**——文字住在它外面,所以字是清晰的(照插件章「金属带+印文」的老做法)。 */
18
+ function bgLayer(style, children) {
19
+ return React.createElement('span', { 'aria-hidden': true, style: { position: 'absolute', inset: 0, ...style } }, children ?? null);
20
+ }
21
+ /** 清晰字面:压在材质层之上,不参与任何滤镜。 */
22
+ function crisp(text, style) {
23
+ return React.createElement('span', { style: { position: 'relative', zIndex: 1, ...style } }, text);
24
+ }
25
+ /** 档位级两个色(金属边、档位语金属渐变)从九档总表引,本件不再各写一份。 */
26
+ const edgeOf = (tierKey) => TIER_EDGE[tierKey] ?? TIER_EDGE.gold;
27
+ const metalOf = (tierKey) => TIER_METAL[tierKey] ?? TIER_METAL.gold;
28
+ const KAI = '"Kaiti SC","KaiTi","STKaiti",serif';
29
+ /** 关闭钮(定稿:绦带·飘尾)。右上角一枚斜披 45° 的朱砂菱形,两条飘尾分挂两条下边,尾先画、带后画压住尾根。 */
30
+ export function closeLook(tierKey) {
31
+ const crimson = 'linear-gradient(135deg,#c63d2a 8%,#a32216 50%,#7e1a10)';
32
+ /** 档位金属边(铜/银/金):绦带**只借这一条**——主体恒朱砂,边随档走,跟章「红底+金属边」同构。 */
33
+ const edge = edgeOf(tierKey);
34
+ const ribbon = bgLayer(
35
+ // 边要压得住:2px 实色金属边(1px 半透明那版看不出档)+ 外圈一道暗线把边从框上切出来。
36
+ { borderRadius: '0.375em', background: crimson, boxShadow: '0 0 0 1px #5c110a59, 0 2px 8px #3d241066, inset 0 0 0 2px ' + edge, transform: 'rotate(45deg)', filter: 'url(#' + SEAL_ROUGH_METAL_ID + ')' }, null);
37
+ /** 尾色=绦带上亮一档的朱砂(悬在纸上也不发灰、不发黑):两条尾同色。 */
38
+ const TAIL_FILL = 'linear-gradient(180deg,#e8573c 0%,#c33a24 55%,#a52612 100%)';
39
+ /** 飘尾:屏幕坐标(不随菱形旋转)——左尾往左下、右尾往右下(CSS 正角=尾梢往左)。
40
+ * 两层:外层过糙边滤镜出毛边,内层纯色芯不受滤镜——尾悬在纸上还是悬在暗底上都是同一色。 */
41
+ const loose = (key, left, deg, len, top) => React.createElement('span', {
42
+ key, 'aria-hidden': true,
43
+ style: { position: 'absolute', left, top, width: '0.4375em', height: len, transformOrigin: 'top center', transform: 'rotate(' + deg + 'deg)' },
44
+ }, bgLayer({
45
+ borderRadius: '0 0 0.1875em 0.1875em',
46
+ background: TAIL_FILL,
47
+ // 只留一道暗红描边把尾从纸面/暗底上切出来;**不给金边**——尾只有 6px 宽,
48
+ // 1px 金边被糙边滤镜一搅会把整条尾染成金灰(左尾「不够亮」就是这么来的)。
49
+ boxShadow: '0 0 0 1.5px ' + edge + 'cc, 0 1px 3px #00000055',
50
+ filter: 'url(#' + SEAL_ROUGH_METAL_ID + ')',
51
+ }),
52
+ // 纯色芯几乎铺满(只留 0.5px 给毛边),这样尾的观感=上面那档朱砂,不被滤镜的破洞拉灰。
53
+ React.createElement('span', { 'aria-hidden': true, style: { position: 'absolute', inset: '0.5px', borderRadius: '0 0 0.15625em 0.15625em', background: TAIL_FILL } }));
54
+ return {
55
+ label: crisp('收卷', {
56
+ fontFamily: KAI, fontSize: '0.8125em', letterSpacing: '0.22em', textIndent: '0.22em',
57
+ color: '#f8f1e2', textShadow: '0 1px 2px #000000aa',
58
+ }),
59
+ decor: React.createElement(React.Fragment, null,
60
+ // 尾根压在带面之下(top 取在菱形内),梢头各自朝外:tL +26° ⇒ 尾梢往左,tR −26° ⇒ 尾梢往右。
61
+ loose('tL', 'calc(50% - 0.8125em)', 26, '2em', '2.8125em'), loose('tR', 'calc(50% + 0.4375em)', -26, '2em', '2.8125em'), ribbon),
62
+ style: {
63
+ boxSizing: 'border-box', padding: 0, position: 'absolute', right: '-1.5em', top: '-1.5em', width: '3.25em', height: '3.25em',
64
+ display: 'flex', alignItems: 'center', justifyContent: 'center',
65
+ cursor: 'pointer', border: 'none', background: 'transparent',
66
+ },
67
+ };
68
+ }
69
+ /** 画一条饰线(方向 90/270 决定渐变朝向;定稿的段上距是 0.5em 0 0.75em)。 */
70
+ function ornament(st, ruler) {
71
+ const line = (key, dir) => React.createElement('span', { key, style: { ...st.ornLine, background: 'linear-gradient(' + dir + 'deg,#0000,' + ruler + ')' } });
72
+ return React.createElement('div', { style: { ...st.orn, margin: '0.5em 0 0.75em' } }, line('l', '90'), React.createElement('i', { style: { ...st.ornDot, background: ruler } }), line('r', '270'));
73
+ }
74
+ /** 行首那枚朱砂小印(进/状/计):**两层**——材质层过印那条糙边滤镜(印泥压出来的毛边与斑驳),
75
+ * 字独立成层保持清晰;方块各带一点歪斜(真印章不会次次压得方正)。
76
+ * 外框仍是 0.7em 字/1.6 行高/左右 0.375em 垫——换的是质感,版面逐值不动。 */
77
+ function inkMark(name) {
78
+ const tilt = name === '进展' ? -2.4 : name === '状态' ? 1.6 : -1.2;
79
+ return React.createElement('span', {
80
+ style: { position: 'relative', flex: '0 0 auto', fontSize: '0.7em', lineHeight: 1.6, padding: '0 0.375em', transform: 'rotate(' + tilt + 'deg)' },
81
+ },
82
+ // 印泥层:中心偏亮(按下去的那一下)、四周吃墨更深,再压一道内影当「厚」
83
+ React.createElement('span', { 'aria-hidden': true, style: {
84
+ position: 'absolute', inset: 0, borderRadius: '0.1875em',
85
+ // 平涂朱砂(大红色):**不给中心高光、不给白色内圈**——那是塑料的读法;
86
+ // 墨色浓淡全部交给滤镜里那层噪点蒙版。
87
+ background: '#d92b1c',
88
+ filter: 'url(#' + SEAL_ROUGH_INK_ID + ')',
89
+ } },
90
+ // 只在同色系里做浓淡:浅的=纸没吃透(偏橘红),深的=墨厚(偏暗红)。不许再用白色(白了就是高光)。
91
+ React.createElement('span', { 'aria-hidden': true, style: {
92
+ position: 'absolute', inset: 0, borderRadius: 'inherit',
93
+ background: 'radial-gradient(circle at 72% 76%,#a81a0e33 0%,#0000 58%), radial-gradient(circle at 20% 62%,#f0715a3d 0%,#0000 52%), radial-gradient(circle at 52% 12%,#ee6a5233 0%,#0000 46%)',
94
+ } })),
95
+ // 字层:不参与滤镜(小方印上的字一糊就白做了)
96
+ React.createElement('span', { style: { position: 'relative', color: '#fdf7ea', opacity: 0.95 } }, name.slice(0, 1)));
97
+ }
98
+ /** 三段:一行紧凑(行首朱砂小方印+标签+正文同一基线)。 */
99
+ function inlineRows(st, ctx) {
100
+ // 末行吃回半个行距:行高 1.9 会在字形下留 ~6px 半行距,叠在纸底内垫上就是“底比顶空一截”。
101
+ // 实测(像素扫描):不吃回时 顶 24/底 32;吃回 0.5em 后两端齐。
102
+ const one = (key, name, text, last = false) => React.createElement('div', { key, style: { margin: last ? '0 0 -0.5em' : '0 0 0.5em', display: 'flex', alignItems: 'baseline', gap: '0.5em' } }, inkMark(name), React.createElement('span', { style: { ...st.label, flex: '0 0 auto', display: 'inline', marginBottom: 0, fontSize: '0.8em', color: ctx.accent } }, name + ':'), React.createElement('span', { style: { ...st.text, flex: '1 1 auto', display: 'inline', margin: 0, fontSize: '0.9em' } }, text));
103
+ return React.createElement(React.Fragment, null, one('progress', '进展', ctx.progress), one('status', '状态', ctx.status), one('plan', '计划', ctx.plan, true));
104
+ }
105
+ /** 档位语(一行):该档金属渐变压进字里。 */
106
+ function tierNode(ctx) {
107
+ const metal = metalOf(ctx.tierKey);
108
+ return React.createElement('div', {
109
+ style: {
110
+ ...ctx.styles.tier,
111
+ fontFamily: KAI,
112
+ fontSize: '1.0625em',
113
+ letterSpacing: '0.34em',
114
+ textIndent: '0.34em',
115
+ color: 'transparent',
116
+ backgroundImage: metal.gradient,
117
+ WebkitBackgroundClip: 'text',
118
+ backgroundClip: 'text',
119
+ },
120
+ }, ctx.tierText);
121
+ }
122
+ /** 组装一件:纸底/头部/档位语/饰线/三段(定稿不覆盖纸底与头部,故两者缺席=用 `seal-scroll.ts` 的原样式)。 */
123
+ export function paperParts(ctx) {
124
+ return {
125
+ paper: undefined,
126
+ head: undefined,
127
+ tier: tierNode(ctx),
128
+ orn: ornament(ctx.styles, ctx.ruler),
129
+ body: inlineRows(ctx.styles, ctx),
130
+ };
131
+ }
132
+ //# sourceMappingURL=seal-paper-schemes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seal-paper-schemes.js","sourceRoot":"","sources":["../src/seal-paper-schemes.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,10 @@ import * as React from 'react';
24
24
  import type { SealRole, SealTier } from './config-panel-contract.js';
25
25
  /** 印那条糙边滤镜 id(`seal-stamp.ts` 引用,定义只此一处)。 */
26
26
  export declare const SEAL_ROUGH_EDGE_ID = "dshLifeSealRoughEdge";
27
+ /** 中等件那条糙边 id(关闭钮引用;定义只此一处)。 */
28
+ export declare const SEAL_ROUGH_METAL_ID = "dshLifeSealRoughMetal";
29
+ /** 印泥那条糙边 id(纸面行首小印引用;定义只此一处)。 */
30
+ export declare const SEAL_ROUGH_INK_ID = "dshLifeSealInkEdge";
27
31
  /** 档位话:标题下那一行不再印档位字,直接说档位所处的阶段(渲染期用,顶层可放行)。 */
28
32
  export declare const TIER_TEXT: Record<SealTier, string>;
29
33
  /** 卷轴要显示的东西:角色 × 档位 + 标题 + 三段文案。 */
@@ -53,5 +57,7 @@ export declare function SealScroll(props: SealScrollProps): React.ReactElement;
53
57
  export declare function SealScrollDialog(props: SealScrollProps & {
54
58
  readonly open: boolean;
55
59
  readonly onClose: () => void;
60
+ /** 锚点覆盖(面板传:贴在点击那枚章的下方);缺席=整卡居中那套老样子。 */
61
+ readonly anchor?: React.CSSProperties | undefined;
56
62
  }): React.ReactElement | null;
57
63
  //# sourceMappingURL=seal-scroll.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"seal-scroll.d.ts","sourceRoot":"","sources":["../src/seal-scroll.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AASrE,6CAA6C;AAC7C,eAAO,MAAM,kBAAkB,yBAAa,CAAC;AAE7C,+CAA+C;AAC/C,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAI9C,CAAC;AAyLF,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,kBAAkB;IAClB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,yCAAyC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,UAAU;IACV,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,UAAU;IACV,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,UAAU;IACV,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AASD;;;;6CAI6C;AAC7C,wBAAgB,cAAc,IAAI,KAAK,CAAC,YAAY,CA4BnD;AAED,iCAAiC;AACjC,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CA8CrE;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,eAAe,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,GAChF,KAAK,CAAC,YAAY,GAAG,IAAI,CA6B3B"}
1
+ {"version":3,"file":"seal-scroll.d.ts","sourceRoot":"","sources":["../src/seal-scroll.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAkBrE,6CAA6C;AAC7C,eAAO,MAAM,kBAAkB,yBAAa,CAAC;AAE7C,gCAAgC;AAChC,eAAO,MAAM,mBAAmB,0BAAc,CAAC;AAE/C,kCAAkC;AAClC,eAAO,MAAM,iBAAiB,uBAAY,CAAC;AAG3C,+CAA+C;AAC/C,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAI9C,CAAC;AAuHF,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,kBAAkB;IAClB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,yCAAyC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,UAAU;IACV,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,UAAU;IACV,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,UAAU;IACV,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAkCD;;;;6CAI6C;AAC7C,wBAAgB,cAAc,IAAI,KAAK,CAAC,YAAY,CAkDnD;AAED,iCAAiC;AACjC,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CA6DrE;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,eAAe,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,yCAAyC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;CACnD,GACA,KAAK,CAAC,YAAY,GAAG,IAAI,CAiC3B"}
@@ -24,11 +24,24 @@ import * as React from 'react';
24
24
  // 卷轴标题直接复用印本体(与外面那枚同组件同 props,UI 天然一致)。
25
25
  // 与 `seal-stamp.ts` 是渲染期互引(双方只在组件函数体内用对方,无模块求值期依赖)。
26
26
  import { SealStamp } from './seal-stamp.js';
27
+ // 定稿的纸面字排与关闭钮样子(原型期方案已删,只此一件)。
28
+ import { closeLook, paperParts } from './seal-paper-schemes.js';
29
+ // 底色与边线从调色板取(与印面同一份取值);下面那张 `FRAME_INSET` 是**外框自己的排法**。
30
+ import { SEAL_PALETTE, SEAL_RIVET } from './seal-palette.js';
27
31
  /** 糙边滤镜 id(文档作用域,故每页只许挂一次 `SealFilterDefs`)。 */
28
32
  const ROUGH_EDGE = 'dshLifeSealRoughEdge';
29
33
  const ROUGH_FRAME = 'dshLifeSealRoughFrame';
34
+ /** 中等件(轴杆/纸筒/绦带这类几十像素宽的件)那条糙边:2.2 太细、5 会抖过头。 */
35
+ const ROUGH_METAL = 'dshLifeSealRoughMetal';
36
+ /** 印泥那条(行首那几枚小印):同 2.2 的抖动,末尾再加一点高斯模糊——印泥压在纸上边缘会洇开,
37
+ * 光有抖动边只会读成「毛边贴纸」。字住在滤镜之外,所以糊的只有泥、不是字。 */
38
+ const ROUGH_INK = 'dshLifeSealInkEdge';
30
39
  /** 印那条糙边滤镜 id(`seal-stamp.ts` 引用,定义只此一处)。 */
31
40
  export const SEAL_ROUGH_EDGE_ID = ROUGH_EDGE;
41
+ /** 中等件那条糙边 id(关闭钮引用;定义只此一处)。 */
42
+ export const SEAL_ROUGH_METAL_ID = ROUGH_METAL;
43
+ /** 印泥那条糙边 id(纸面行首小印引用;定义只此一处)。 */
44
+ export const SEAL_ROUGH_INK_ID = ROUGH_INK;
32
45
  /** 档位话:标题下那一行不再印档位字,直接说档位所处的阶段(渲染期用,顶层可放行)。 */
33
46
  export const TIER_TEXT = {
34
47
  gold: '精雕细琢中',
@@ -43,75 +56,6 @@ const PAPER_BG = '#fdfaf2';
43
56
  const PAPER_EDGE = '#e6d9bd';
44
57
  const LABEL_MAIN = '#42506b';
45
58
  const LABEL_SUB = '#4b4335';
46
- /** 九档材质(3 角色 × 3 档)。键就是原型里的 `role`/`tier`。 */
47
- const MATERIALS = {
48
- skill: {
49
- copper: {
50
- frame: {
51
- background: 'linear-gradient(180deg,#8a4a28,#6e3418)',
52
- border: '3px solid #a5652f',
53
- boxShadow: 'inset 0 0 0 1px #f8f1e2aa, inset 0 2px 0 #ffffff26, inset 0 -3px 6px #0000004d',
54
- },
55
- accent: '#9a5f2a',
56
- ruler: '#c08145b3',
57
- },
58
- silver: {
59
- frame: {
60
- background: 'linear-gradient(180deg,#b73124,#8e1f14)',
61
- border: '3px double #eef3f6',
62
- boxShadow: 'inset 0 0 0 1px #fff, inset 0 2px 0 #ffffff2e, inset 0 -3px 6px #0000004d',
63
- },
64
- accent: '#6f767c',
65
- ruler: '#9aa0a6b3',
66
- },
67
- gold: {
68
- frame: {
69
- background: 'linear-gradient(180deg,#d34a35,#a32216)',
70
- border: '3px double #f5d97a',
71
- boxShadow: 'inset 0 0 0 1px #fff8, inset 0 2px 0 #ffffff33, inset 0 -3px 6px #0000004d',
72
- },
73
- accent: '#9c7a16',
74
- ruler: '#d8b338b3',
75
- },
76
- },
77
- help: {
78
- copper: {
79
- frame: { background: 'linear-gradient(180deg,#b06a3a,#7e3f1d)', border: '3px solid #a5652f', boxShadow: 'inset 0 2px 0 #ffffff26, inset 0 -3px 6px #0000004d' },
80
- accent: '#9a5f2a',
81
- ruler: '#c08145b3',
82
- },
83
- silver: {
84
- frame: { background: 'linear-gradient(180deg,#8f979e,#5f666d)', border: '3px double #e8eef2', boxShadow: 'inset 0 2px 0 #ffffff2e, inset 0 -3px 6px #0000004d' },
85
- accent: '#6f767c',
86
- ruler: '#9aa0a6b3',
87
- },
88
- gold: {
89
- frame: { background: 'linear-gradient(180deg,#c63d2a,#a32216)', border: '3px double #f5d97a', boxShadow: 'inset 0 2px 0 #ffffff33, inset 0 -3px 6px #0000004d' },
90
- accent: '#9c7a16',
91
- ruler: '#d8b338b3',
92
- },
93
- },
94
- plugin: {
95
- copper: {
96
- frame: { background: 'linear-gradient(180deg,#b4773c,#7e3f1d 60%,#66300f)', boxShadow: 'inset 0 1px 0 #d99a5e88, inset 0 -2px 5px #0006, 0 0 0 1px #5e2c12, inset 0 2px 0 #ffffff26' },
97
- accent: '#9a5f2a',
98
- ruler: '#c08145b3',
99
- rivet: { background: 'radial-gradient(circle at 34% 28%,#f0c088,#a5652f 55%,#6a3216)', boxShadow: 'inset 0 -1px 1px #00000055,0 1px 2px #00000088' },
100
- },
101
- silver: {
102
- frame: { background: 'linear-gradient(180deg,#d8dee3,#a7aeb4 55%,#818990)', boxShadow: 'inset 0 1px 0 #ffffffdd, inset 0 -2px 5px #0005, 0 0 0 1px #6f767c, inset 0 2px 0 #ffffff33' },
103
- accent: '#6f767c',
104
- ruler: '#9aa0a6b3',
105
- rivet: { background: 'radial-gradient(circle at 34% 28%,#ffffff,#c3cad0 50%,#7d848b)', boxShadow: 'inset 0 -1px 1px #00000044,0 1px 2px #00000077' },
106
- },
107
- gold: {
108
- frame: { background: 'linear-gradient(180deg,#f2dc86,#c9a227 55%,#9c7d16)', boxShadow: 'inset 0 1px 0 #fff8d8dd, inset 0 -2px 5px #0005, 0 0 0 1px #8a6a15' },
109
- accent: '#9c7a16',
110
- ruler: '#d8b338b3',
111
- rivet: { background: 'radial-gradient(circle at 34% 28%,#fffbe0,#e3c565 50%,#a5841d)', boxShadow: 'inset 0 -1px 1px #00000044,0 1px 2px #00000077,0 0 6px #c9a22788' },
112
- },
113
- },
114
- };
115
59
  const S = {
116
60
  /** 外框(`.frame`):绝对铺满,挂糙边滤镜;纸压在它上面,只露一圈。 */
117
61
  frame: {
@@ -146,7 +90,8 @@ const S = {
146
90
  },
147
91
  inner: {
148
92
  position: 'relative',
149
- padding: '1.75em 2em 1.875em',
93
+ // 上下内垫同值(28px):底比顶多 2px 会读成“底部空一截”,三段内容也不需要对位字基线。
94
+ padding: '1.75em 2em',
150
95
  },
151
96
  head: { textAlign: 'center', marginBottom: '0.5em' },
152
97
  /** 档位语(标题下那一行):档位字退役,改说档位话(金=精雕细琢中/银=全打通中/铜=基础建设中)。 */
@@ -185,9 +130,10 @@ const S = {
185
130
  /** 卷轴浮层:卡片内绝对定位(卡片 `S.card` 是 relative 定位祖先),上沿悬在三枚章之下、左右各留半 em——
186
131
  * 不是 modal:无遮罩、不锁滚动,点章切换、点「关闭」收起。 */
187
132
  dialog: { position: 'absolute', left: '0.5em', right: '0.5em', top: '8.8em', zIndex: 10, display: 'flex', justifyContent: 'center', pointerEvents: 'auto' },
188
- /** 浮层内框:宽按 em 给(16px 下≈25em),窄卡上收满可用宽,永不捅破卡片;
133
+ /** 浮层内框:**宽随内容**(`max-content`,正好包住最长那一行;不是固定 25em 那块大纸)。
134
+ * `maxWidth:100%` 是窄卡的兜底(收满可用宽、永不捅破卡片),此时长行换行、高度自己长。
189
135
  * 挂卷轴展开动画(从上而下舒卷,240ms;纯声明式,无 hook,纯函数可直测)。 */
190
- popInner: { position: 'relative', width: '25em', maxWidth: '100%', transformOrigin: '50% 0', animation: UNROLL_ANIMATION + ' 240ms ease-out' },
136
+ popInner: { position: 'relative', width: 'max-content', maxWidth: '100%', transformOrigin: '50% 0', animation: UNROLL_ANIMATION + ' 240ms ease-out' },
191
137
  close: {
192
138
  position: 'absolute',
193
139
  right: '-0.375em',
@@ -202,12 +148,36 @@ const S = {
202
148
  cursor: 'pointer',
203
149
  },
204
150
  };
151
+ /** 外框专有的内阴影(随档;底色与边线不在这张表里,从调色板来)。
152
+ * 外框比印面大得多,同一圈金色在小章上够、在几百像素的框上会被稀释,故这一层是外框自己的排法。 */
153
+ const FRAME_INSET = {
154
+ skill: {
155
+ copper: 'inset 0 0 0 1px #f8f1e2aa, inset 0 2px 0 #ffffff26, inset 0 -3px 6px #0000004d',
156
+ silver: 'inset 0 0 0 1px #fff, inset 0 2px 0 #ffffff2e, inset 0 -3px 6px #0000004d',
157
+ gold: 'inset 0 0 0 1px #fff8, inset 0 2px 0 #ffffff33, inset 0 -3px 6px #0000004d',
158
+ },
159
+ help: {
160
+ copper: 'inset 0 2px 0 #ffffff26, inset 0 -3px 6px #0000004d',
161
+ silver: 'inset 0 2px 0 #ffffff2e, inset 0 -3px 6px #0000004d',
162
+ gold: 'inset 0 2px 0 #ffffff33, inset 0 -3px 6px #0000004d',
163
+ },
164
+ plugin: {
165
+ copper: 'inset 0 1px 0 #d99a5e88, inset 0 -2px 5px #0006, 0 0 0 1px #5e2c12, inset 0 2px 0 #ffffff26',
166
+ silver: 'inset 0 1px 0 #ffffffdd, inset 0 -2px 5px #0005, 0 0 0 1px #6f767c, inset 0 2px 0 #ffffff33',
167
+ gold: 'inset 0 1px 0 #fff8d8dd, inset 0 -2px 5px #0005, 0 0 0 1px #8a6a15',
168
+ },
169
+ };
170
+ /** 取一档材质:底色与边线从调色板来(与印共用一份取值),外框专有的内阴影与铆钉在这里合成。 */
205
171
  function materialOf(role, tier) {
206
- const byTier = MATERIALS[role];
207
- const found = byTier?.[tier];
208
- if (!found)
172
+ const palette = SEAL_PALETTE[role]?.[tier];
173
+ if (palette === undefined)
209
174
  throw new Error('未知的印档:' + role + '/' + tier);
210
- return found;
175
+ return {
176
+ frame: { background: palette.background, ...(palette.border === undefined ? {} : { border: palette.border }), boxShadow: FRAME_INSET[role][tier] },
177
+ accent: palette.accent,
178
+ ruler: palette.ruler,
179
+ rivet: role === 'plugin' ? SEAL_RIVET[tier] : undefined,
180
+ };
211
181
  }
212
182
  /** 糙边滤镜定义:两条分开(印用 edge,卷轴外框用 frame),每页只挂一次。
213
183
  *
@@ -220,11 +190,23 @@ export function SealFilterDefs() {
220
190
  '.dshLifeSealBtn:active{transform:translateY(0) scale(.96)}' +
221
191
  '.dshLifeSealBtn:focus-visible{outline:2px solid #f5d97a;outline-offset:2px}' +
222
192
  '.dshLifeSealBtn::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#241f19ee;color:#f8f1e2;font-size:.72em;letter-spacing:.1em;padding:.4em .9em;border-radius:.5em;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 150ms ease;z-index:30}' +
223
- '.dshLifeSealBtn:hover::after,.dshLifeSealBtn:focus-visible::after{opacity:1}'), React.createElement('svg', { width: 0, height: 0, 'aria-hidden': true, focusable: false, style: { position: 'absolute' } }, React.createElement('filter', { id: ROUGH_EDGE, key: ROUGH_EDGE }, React.createElement('feTurbulence', { baseFrequency: 0.9, numOctaves: 2, result: 'n' }), React.createElement('feDisplacementMap', { in: 'SourceGraphic', in2: 'n', scale: 2.2 })), React.createElement('filter', { id: ROUGH_FRAME, key: ROUGH_FRAME, x: '-6%', y: '-6%', width: '112%', height: '112%' }, React.createElement('feTurbulence', { baseFrequency: 0.9, numOctaves: 2, result: 'n' }), React.createElement('feDisplacementMap', { in: 'SourceGraphic', in2: 'n', scale: 5 }))));
193
+ '.dshLifeSealBtn:hover::after,.dshLifeSealBtn:focus-visible::after{opacity:1}'), React.createElement('svg', { width: 0, height: 0, 'aria-hidden': true, focusable: false, style: { position: 'absolute' } }, React.createElement('filter', { id: ROUGH_EDGE, key: ROUGH_EDGE }, React.createElement('feTurbulence', { baseFrequency: 0.9, numOctaves: 2, result: 'n' }), React.createElement('feDisplacementMap', { in: 'SourceGraphic', in2: 'n', scale: 2.2 })), React.createElement('filter', { id: ROUGH_FRAME, key: ROUGH_FRAME, x: '-6%', y: '-6%', width: '112%', height: '112%' },
194
+ // 0.6 + 3 倍频:一条低频底噪叠两层细纹 ⇒ 金边碎成大小不一的斑块(颗粒感、斑点感)。
195
+ // 位移 6.5 让四边四角碎到同一档;斑块感来自那条低频,纯高频(0.9/2)只会得到一条细金粉线。
196
+ React.createElement('feTurbulence', { baseFrequency: 0.6, numOctaves: 3, result: 'n' }), React.createElement('feDisplacementMap', { in: 'SourceGraphic', in2: 'n', scale: 6.5 })),
197
+ // 中等件(轴杆/纸筒/绦带):同一套湍流,位移取 3.2。
198
+ React.createElement('filter', { id: ROUGH_METAL, key: ROUGH_METAL, x: '-8%', y: '-14%', width: '116%', height: '128%' }, React.createElement('feTurbulence', { baseFrequency: 0.9, numOctaves: 2, result: 'n' }), React.createElement('feDisplacementMap', { in: 'SourceGraphic', in2: 'n', scale: 3.2 })),
199
+ // 印泥:抖动(毛边)→ 洇开(纸上晕)→ **噪点蒙版**(吃墨不匀,有几处纸没吃透)。
200
+ // 最后那步是「像印泥」的关键:平涂+高光只会读成塑料,真正像泥的是浓淡不匀的覆盖率。
201
+ React.createElement('filter', { id: ROUGH_INK, key: ROUGH_INK, x: '-25%', y: '-25%', width: '150%', height: '150%' }, React.createElement('feTurbulence', { type: 'fractalNoise', baseFrequency: 0.9, numOctaves: 2, result: 'n' }), React.createElement('feDisplacementMap', { in: 'SourceGraphic', in2: 'n', scale: 2.2, result: 'd' }), React.createElement('feGaussianBlur', { in: 'd', stdDeviation: 0.3, result: 'b' }), React.createElement('feTurbulence', { type: 'fractalNoise', baseFrequency: 0.75, numOctaves: 3, result: 'g' }),
202
+ // 覆盖率底数 .35:不满不满也不到透——印泥是「吃墨不匀」,不是「纱网」。
203
+ React.createElement('feColorMatrix', { in: 'g', type: 'matrix', values: '0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .7 .45 0 0 .35', result: 'mask' }), React.createElement('feComposite', { in: 'b', in2: 'mask', operator: 'in' }))));
224
204
  }
225
205
  /** 一卷:外框材质 + 纯纸 + 进展/状态/计划三段。 */
226
206
  export function SealScroll(props) {
227
207
  const material = materialOf(props.role, props.tier);
208
+ // 【已还原】框面噪点层(grain/fleck)撤掉:它们整体提亮了红底,框色与原版不一致。
209
+ // 需要“碎金”效果时再按需加回(原型留档见 .scratch)。
228
210
  const frameChildren = props.role === 'plugin' && material.rivet
229
211
  ? [
230
212
  React.createElement('span', { key: 'tl', style: { ...S.rivet, ...material.rivet, left: '0.4375em', top: '0.4375em' } }),
@@ -238,7 +220,22 @@ export function SealScroll(props) {
238
220
  style: { ...S.ornLine, background: 'linear-gradient(' + dir + 'deg,#0000,' + material.ruler + ')' },
239
221
  });
240
222
  const block = (key, name, text, divided, last = false) => React.createElement('div', { key, style: last ? (divided ? { ...S.blockLast, paddingTop: '0.9375em', borderTop: '1px solid ' + PAPER_EDGE } : S.blockLast) : divided ? S.blockDivided : S.block }, React.createElement('div', { style: { ...S.label, color: material.accent } }, name), React.createElement('p', { style: S.text }, text));
241
- return React.createElement('div', { style: S.scroll }, React.createElement('div', { style: { ...S.frame, ...material.frame } }, ...frameChildren), React.createElement('div', { style: S.paper }, React.createElement('div', { style: S.inner }, React.createElement('div', { style: S.head }, React.createElement(SealStamp, { role: props.role, tier: props.tier, label: props.title }), React.createElement('div', { style: { ...S.tier, color: material.accent } }, TIER_TEXT[props.tier])), React.createElement('div', { style: S.orn }, line('l', '90'), React.createElement('i', { style: { ...S.ornDot, background: material.accent } }), line('r', '270')), block('progress', '进展', props.progress, false), block('status', '状态', props.status, true), block('plan', '计划', props.plan, true, true))));
223
+ /** 纸面字排:定稿件直出五件。 */
224
+ const parts = paperParts({
225
+ tierKey: props.tier,
226
+ tierText: TIER_TEXT[props.tier],
227
+ progress: props.progress,
228
+ status: props.status,
229
+ plan: props.plan,
230
+ accent: material.accent,
231
+ ruler: material.ruler,
232
+ paperEdge: PAPER_EDGE,
233
+ styles: {
234
+ head: S.head, paper: S.paper, tier: S.tier, orn: S.orn, ornLine: S.ornLine, ornDot: S.ornDot,
235
+ block: S.block, blockDivided: S.blockDivided, blockLast: S.blockLast, label: S.label, text: S.text,
236
+ },
237
+ });
238
+ return React.createElement('div', { style: S.scroll }, React.createElement('div', { style: { ...S.frame, ...material.frame } }, ...frameChildren), React.createElement('div', { style: parts.paper === undefined ? S.paper : parts.paper }, React.createElement('div', { style: S.inner }, React.createElement('div', { style: parts.head === undefined ? S.head : parts.head }, React.createElement(SealStamp, { role: props.role, tier: props.tier, label: props.title }), parts.tier), parts.orn, parts.body)));
242
239
  }
243
240
  /** 卷轴浮层:popover + 点击别处关闭 + 卷轴展开动画 + 关闭。`open` 为假时不渲染(纯函数,不收自己的状态)。 */
244
241
  export function SealScrollDialog(props) {
@@ -254,10 +251,14 @@ export function SealScrollDialog(props) {
254
251
  };
255
252
  return React.createElement(React.Fragment, null,
256
253
  // 收卷层:全屏透明,只收“点别处即关”,不 dim、不锁滚动(无 role,不算 modal 遮罩)。
257
- React.createElement('div', { style: { position: 'fixed', inset: 0, zIndex: 9, background: 'transparent' }, 'aria-hidden': true, onClick: props.onClose }), React.createElement('div', { style: S.dialog, role: 'dialog', 'aria-modal': false, 'aria-label': props.title },
254
+ React.createElement('div', { style: { position: 'fixed', inset: 0, zIndex: 9, background: 'transparent' }, 'aria-hidden': true, onClick: props.onClose }), React.createElement('div', { style: props.anchor === undefined ? S.dialog : { ...S.dialog, ...props.anchor }, role: 'dialog', 'aria-modal': false, 'aria-label': props.title },
258
255
  // 展开关键帧住在这里(scoped 名,宿主无样式表可借时唯一一条纯声明式动画路)。
259
256
  React.createElement('style', null, '@keyframes ' + UNROLL_ANIMATION + '{from{opacity:0;transform:translateY(-10px) scaleY(.7)}to{opacity:1;transform:none}}'), React.createElement('div', { style: S.popInner },
260
257
  // #1160 T1:按压收缩+焦点双环(卷轴浮层渲染在卡片内,样式由卡片那枚 <style> 罩住;印章本体仍豁免)。
261
- React.createElement('button', { type: 'button', style: S.close, 'data-ilife-press': 'seal-close', onClick: props.onClose }, '关闭'), React.createElement(SealScroll, scroll))));
258
+ (() => {
259
+ const look = closeLook(props.tier);
260
+ // zIndex 20:关闭钮要压在卷轴(框+纸)之上,否则骑在边上的那几档会被红框吃掉半边。
261
+ return React.createElement('button', { type: 'button', className: 'dshLifeSealBtn', style: { zIndex: 20, ...look.style }, 'data-ilife-press': 'seal-close', 'data-ilife-close': 'tie', onClick: props.onClose }, look.decor ?? null, look.label);
262
+ })(), React.createElement(SealScroll, scroll))));
262
263
  }
263
264
  //# sourceMappingURL=seal-scroll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"seal-scroll.js","sourceRoot":"","sources":["../src/seal-scroll.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seal-scroll.js","sourceRoot":"","sources":["../src/seal-scroll.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"seal-stamp.d.ts","sourceRoot":"","sources":["../src/seal-stamp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAErE,wDAAwD;AAExD,MAAM,WAAW,cAAc;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,mCAAmC;IACnC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAC9C;AA0CD,wCAAwC;AACxC,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CA0BnE"}
1
+ {"version":3,"file":"seal-stamp.d.ts","sourceRoot":"","sources":["../src/seal-stamp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAErE,wDAAwD;AAExD,MAAM,WAAW,cAAc;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,mCAAmC;IACnC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAC9C;AA4BD,wCAAwC;AACxC,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CA4BnE"}
@@ -13,46 +13,34 @@
13
13
  */
14
14
  import * as React from 'react';
15
15
  import { SEAL_ROUGH_EDGE_ID, TIER_TEXT } from './seal-scroll.js';
16
+ // 底色与边线从调色板取(与卷轴外框同一份取值);**下面这三张表是印面自己的排法**,不是共享值。
17
+ import { SEAL_PALETTE, SEAL_RIVET } from './seal-palette.js';
16
18
  /** 三角色底座(字号 padding 随角色,材质随档位)。 */
17
19
  const ROLE_BASE = {
18
20
  skill: { fontSize: '1.0625em', padding: '0.5em 1.75em', letterSpacing: '.14em', borderRadius: '3px' },
19
21
  help: { fontSize: '1.0625em', padding: '0.5em 1em', letterSpacing: '.14em', borderRadius: '3px', color: '#f8f1e2' },
20
22
  plugin: { position: 'relative', justifyContent: 'center', fontSize: '1.0625em', padding: '0.5em 2em', letterSpacing: '.18em', borderRadius: '4px', color: '#f8f1e2' },
21
23
  };
22
- /** 九档印面(底色加边线都照抄对应那枚印,不许简化)。 */
23
- const FACE = {
24
+ /** 印面专有的内圈高光与外发光(随档;底色与边线不在这张表里,从调色板来)。 */
25
+ const FACE_EXTRA = {
24
26
  skill: {
25
- copper: { background: 'linear-gradient(180deg,#8a4a28,#6e3418)', color: '#f8f1e2', border: '3px solid #a5652f', boxShadow: 'inset 0 0 0 1px #f8f1e2aa' },
26
- silver: { background: 'linear-gradient(180deg,#b73124,#8e1f14)', color: '#f8f1e2', border: '3px double #eef3f6', boxShadow: 'inset 0 0 0 1px #fff' },
27
- gold: { background: 'linear-gradient(180deg,#d34a35,#a32216)', color: '#fff8e0', border: '3px double #f5d97a', boxShadow: 'inset 0 0 0 1px #fff8,0 4px 16px #c9a22755' },
28
- },
29
- help: {
30
- copper: { background: 'linear-gradient(180deg,#b06a3a,#7e3f1d)', border: '3px solid #a5652f' },
31
- silver: { background: 'linear-gradient(180deg,#8f979e,#5f666d)', border: '3px double #e8eef2' },
32
- gold: { background: 'linear-gradient(180deg,#c63d2a,#a32216)', border: '3px double #f5d97a' },
33
- },
34
- plugin: {
35
- copper: { background: 'linear-gradient(180deg,#b4773c,#7e3f1d 60%,#66300f)' },
36
- silver: { background: 'linear-gradient(180deg,#d8dee3,#a7aeb4 55%,#818990)' },
37
- gold: { background: 'linear-gradient(180deg,#f2dc86,#c9a227 55%,#9c7d16)' },
27
+ copper: { color: '#f8f1e2', boxShadow: 'inset 0 0 0 1px #f8f1e2aa' },
28
+ silver: { color: '#f8f1e2', boxShadow: 'inset 0 0 0 1px #fff' },
29
+ gold: { color: '#fff8e0', boxShadow: 'inset 0 0 0 1px #fff8,0 4px 16px #c9a22755' },
38
30
  },
31
+ help: { copper: {}, silver: {}, gold: {} },
32
+ plugin: { copper: {}, silver: {}, gold: {} },
39
33
  };
40
34
  /** 插件整面金属带的描边(随档)。 */
41
35
  const BAND_EDGE = {
42
- copper: { boxShadow: 'inset 0 1px 0 #d99a5e88,inset 0 -2px 5px #0006,0 0 0 1px #5e2c12' },
43
- silver: { boxShadow: 'inset 0 1px 0 #ffffffdd,inset 0 -2px 5px #0005,0 0 0 1px #6f767c' },
44
- gold: { boxShadow: 'inset 0 1px 0 #fff8d8dd,inset 0 -2px 5px #0005,0 0 0 1px #8a6a15,0 3px 14px #c9a22766' },
45
- };
46
- /** 插件左右铆钉(随档,两颗)。 */
47
- const RIVET = {
48
- copper: { background: 'radial-gradient(circle at 34% 28%,#f0c088,#a5652f 55%,#6a3216)', boxShadow: 'inset 0 -1px 1px #00000055,0 1px 2px #00000088' },
49
- silver: { background: 'radial-gradient(circle at 34% 28%,#ffffff,#c3cad0 50%,#7d848b)', boxShadow: 'inset 0 -1px 1px #00000044,0 1px 2px #00000077' },
50
- gold: { background: 'radial-gradient(circle at 34% 28%,#fffbe0,#e3c565 50%,#a5841d)', boxShadow: 'inset 0 -1px 1px #00000044,0 1px 2px #00000077,0 0 6px #c9a22788' },
36
+ copper: 'inset 0 1px 0 #d99a5e88,inset 0 -2px 5px #0006,0 0 0 1px #5e2c12',
37
+ silver: 'inset 0 1px 0 #ffffffdd,inset 0 -2px 5px #0005,0 0 0 1px #6f767c',
38
+ gold: 'inset 0 1px 0 #fff8d8dd,inset 0 -2px 5px #0005,0 0 0 1px #8a6a15,0 3px 14px #c9a22766',
51
39
  };
52
40
  /** 一枚印章(button,点章弹卷)。未知组合直接抛错,不静默退化。 */
53
41
  export function SealStamp(props) {
54
- const face = FACE[props.role][props.tier];
55
- if (face === undefined)
42
+ const palette = SEAL_PALETTE[props.role]?.[props.tier];
43
+ if (palette === undefined)
56
44
  throw new Error('未知印章组合:' + String(props.role) + '/' + String(props.tier));
57
45
  const style = {
58
46
  display: 'inline-flex',
@@ -63,15 +51,17 @@ export function SealStamp(props) {
63
51
  whiteSpace: 'nowrap',
64
52
  filter: 'url(#' + SEAL_ROUGH_EDGE_ID + ')',
65
53
  ...ROLE_BASE[props.role],
66
- ...face,
54
+ background: palette.background,
55
+ ...(palette.border === undefined ? {} : { border: palette.border }),
56
+ ...FACE_EXTRA[props.role][props.tier],
67
57
  };
68
58
  // 悬停 tooltip 讲清级别含义(档位话即完善进度);样式住 `SealFilterDefs` 旁那枚 scoped `<style>`,纯 CSS、无 hook。
69
59
  const tierName = props.tier === 'copper' ? '铜' : props.tier === 'silver' ? '银' : '金';
70
60
  const buttonProps = { type: 'button', style, className: 'dshLifeSealBtn', 'aria-label': props.label, 'aria-haspopup': 'dialog', 'data-tip': tierName + '章 · ' + TIER_TEXT[props.tier], onClick: props.onSelect };
71
61
  if (props.role !== 'plugin')
72
62
  return React.createElement('button', buttonProps, props.label);
73
- const band = { position: 'absolute', top: '-1px', bottom: '-1px', left: '-1px', right: '-1px', zIndex: 1, borderRadius: '4px', ...BAND_EDGE[props.tier] };
74
- const rivet = { position: 'absolute', zIndex: 3, width: '0.5em', height: '0.5em', borderRadius: '50%', top: '50%', transform: 'translateY(-50%)', ...RIVET[props.tier] };
75
- return React.createElement('button', buttonProps, React.createElement('span', { style: { ...band, background: face.background }, 'data-seal-band': '1' }), React.createElement('span', { style: { ...rivet, left: '0.5em' }, 'data-seal-rivet': 'left' }), React.createElement('span', { style: { ...rivet, right: '0.5em' }, 'data-seal-rivet': 'right' }), React.createElement('span', { style: { position: 'relative', zIndex: 2, textShadow: '0 1px 2px #00000088' } }, props.label));
63
+ const band = { position: 'absolute', top: '-1px', bottom: '-1px', left: '-1px', right: '-1px', zIndex: 1, borderRadius: '4px', boxShadow: BAND_EDGE[props.tier], background: palette.background };
64
+ const rivet = { position: 'absolute', zIndex: 3, width: '0.5em', height: '0.5em', borderRadius: '50%', top: '50%', transform: 'translateY(-50%)', ...SEAL_RIVET[props.tier] };
65
+ return React.createElement('button', buttonProps, React.createElement('span', { style: band, 'data-seal-band': '1' }), React.createElement('span', { style: { ...rivet, left: '0.5em' }, 'data-seal-rivet': 'left' }), React.createElement('span', { style: { ...rivet, right: '0.5em' }, 'data-seal-rivet': 'right' }), React.createElement('span', { style: { position: 'relative', zIndex: 2, textShadow: '0 1px 2px #00000088' } }, props.label));
76
66
  }
77
67
  //# sourceMappingURL=seal-stamp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"seal-stamp.js","sourceRoot":"","sources":["../src/seal-stamp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seal-stamp.js","sourceRoot":"","sources":["../src/seal-stamp.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-life-pack",
3
- "version": "0.3.41",
3
+ "version": "0.3.43",
4
4
  "description": "爱生活总管插件:单 DSH设置面板槽(爱生活卡)+ 爱生活页签槽 children,技能设置页动态聚合,不依赖单品、不 import 单品页",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -52,7 +52,7 @@
52
52
  "test": "node --test test/*.test.mjs"
53
53
  },
54
54
  "dependencies": {
55
- "dsh-plugin-update": "^0.5.4"
55
+ "dsh-plugin-update": "^0.5.8"
56
56
  },
57
57
  "devDependencies": {
58
58
  "@types/react": "19.2.18",