dsh-memo-ilife 0.3.48 → 0.3.50

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/dist/client.js CHANGED
@@ -1894,7 +1894,7 @@ window.__ModuleLoader__.load({
1894
1894
  return react.createElement("div", { style: S$1.scroll }, react.createElement("div", { style: {
1895
1895
  ...S$1.frame,
1896
1896
  ...material.frame
1897
- } }, ...frameChildren), react.createElement("div", { style: parts.paper === void 0 ? S$1.paper : parts.paper }, react.createElement("div", { style: S$1.inner }, react.createElement("div", { style: parts.head === void 0 ? S$1.head : parts.head }, react.createElement(SealStamp, {
1897
+ } }, ...frameChildren), react.createElement("div", { style: parts.paper === void 0 ? S$1.paper : parts.paper }, react.createElement("div", { style: S$1.inner }, react.createElement("div", { style: parts.head === void 0 ? S$1.head : parts.head }, react.createElement(SealTitle, {
1898
1898
  role: props.role,
1899
1899
  tier: props.tier,
1900
1900
  label: props.title
@@ -2088,6 +2088,70 @@ window.__ModuleLoader__.load({
2088
2088
  textShadow: "0 1px 2px #00000088"
2089
2089
  } }, props.label));
2090
2090
  }
2091
+ /** 卷轴标题(静态展示,与印同外观但无按钮语义):无 button、无 data-tip、无悬停上浮、无焦点环。
2092
+ *
2093
+ * 为何另起一件而不复用 SealStamp:SealStamp 恒为 button 且自带 data-tip(悬停气泡),
2094
+ * 卷轴内标题只做展示文本,复用会把开关语义与气泡一起带进来(#1176)。
2095
+ * 外观与印同源:底色边线走 SEAL_PALETTE,排法走 ROLE_BASE/FACE_EXTRA/BAND_EDGE,同档同色。 */
2096
+ function SealTitle(props) {
2097
+ const palette = SEAL_PALETTE[props.role]?.[props.tier];
2098
+ if (palette === void 0) throw new Error("未知印章组合:" + String(props.role) + "/" + String(props.tier));
2099
+ const style = {
2100
+ display: "inline-flex",
2101
+ alignItems: "center",
2102
+ cursor: "default",
2103
+ fontWeight: 800,
2104
+ lineHeight: 1.2,
2105
+ whiteSpace: "nowrap",
2106
+ filter: "url(#dshLifeSealRoughEdge)",
2107
+ ...ROLE_BASE[props.role],
2108
+ background: palette.background,
2109
+ ...palette.border === void 0 ? {} : { border: palette.border },
2110
+ ...FACE_EXTRA[props.role][props.tier]
2111
+ };
2112
+ if (props.role !== "plugin") return react.createElement("span", { style }, props.label);
2113
+ const band = {
2114
+ position: "absolute",
2115
+ top: "-1px",
2116
+ bottom: "-1px",
2117
+ left: "-1px",
2118
+ right: "-1px",
2119
+ zIndex: 1,
2120
+ borderRadius: "4px",
2121
+ boxShadow: BAND_EDGE[props.tier],
2122
+ background: palette.background
2123
+ };
2124
+ const rivet = {
2125
+ position: "absolute",
2126
+ zIndex: 3,
2127
+ width: "0.5em",
2128
+ height: "0.5em",
2129
+ borderRadius: "50%",
2130
+ top: "50%",
2131
+ transform: "translateY(-50%)",
2132
+ ...SEAL_RIVET[props.tier]
2133
+ };
2134
+ return react.createElement("span", { style }, react.createElement("span", {
2135
+ style: band,
2136
+ "data-seal-band": "1"
2137
+ }), react.createElement("span", {
2138
+ style: {
2139
+ ...rivet,
2140
+ left: "0.5em"
2141
+ },
2142
+ "data-seal-rivet": "left"
2143
+ }), react.createElement("span", {
2144
+ style: {
2145
+ ...rivet,
2146
+ right: "0.5em"
2147
+ },
2148
+ "data-seal-rivet": "right"
2149
+ }), react.createElement("span", { style: {
2150
+ position: "relative",
2151
+ zIndex: 2,
2152
+ textShadow: "0 1px 2px #00000088"
2153
+ } }, props.label));
2154
+ }
2091
2155
  //#endregion
2092
2156
  //#region ../plugin-manager/src/config-panel-view.ts
2093
2157
  /** 共用配置面板 · 视图半:一行怎么画(`Row`)、整面怎么画(`PanelBody`)。
@@ -2146,11 +2210,11 @@ window.__ModuleLoader__.load({
2146
2210
  /** 骨架条:浅色 ≈`#c9ccd2`(1.6:1)⇔ 深色 ≈`#404143`。 */
2147
2211
  const PANEL_SKELETON_FILL = inkMix(21);
2148
2212
  function interactionCss() {
2149
- return "[data-ilife-press]{transition:" + INTERACTION_TRANSITION + "}[data-ilife-focus]{transition:" + INTERACTION_TRANSITION + "}[data-ilife-press]:active{transform:scale(" + String(PRESS_SCALE) + ")}[data-ilife-press]:focus-visible,[data-ilife-focus]:focus-visible{outline:none;box-shadow:0 0 0 " + String(2) + "px var(--dsw-alias-bg-layer-1, #232324),0 0 0 " + String(5) + "px var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55))}[data-ilife-press]{position:relative;overflow:hidden}[data-ilife-press]:hover:not(:disabled){background:color-mix(in srgb, var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55)) " + String(13) + "%, transparent)!important;border-color:var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55))!important;box-shadow:0 0 0 1px color-mix(in srgb, var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55)) " + String(55) + "%, transparent),0 4px 16px color-mix(in srgb, var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55)) " + String(25) + "%, transparent);transform:translateY(-" + String(1) + "px)}[data-ilife-press]:active:hover:not(:disabled){transform:scale(" + String(PRESS_SCALE) + ")}[data-ilife-press]:focus-visible:hover:not(:disabled){box-shadow:0 0 0 " + String(2) + "px var(--dsw-alias-bg-layer-1, #232324),0 0 0 " + String(5) + "px var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55)),0 4px 16px color-mix(in srgb, var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55)) " + String(25) + "%, transparent)}[data-ilife-press]::before{content:\"\";position:absolute;inset:0;background:radial-gradient(" + String(120) + "px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb, var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55)) " + String(22) + "%, transparent),transparent 65%);opacity:0;transition:opacity " + String(180 / 1e3) + "s ease;pointer-events:none}[data-ilife-press]:hover:not(:disabled)::before{opacity:1}[data-ilife-press]:disabled{cursor:not-allowed;opacity:" + String(DISABLED_OPACITY) + "}[data-ilife-press]:disabled:hover{animation:ilifeShake " + String(300 / 1e3) + "s ease}@keyframes ilifeShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}[data-ilife-longpress]{position:relative;overflow:hidden}[data-ilife-longpress]::after{content:\"\";position:absolute;left:0;bottom:0;height:" + String(3) + "px;width:0;background:var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55));pointer-events:none}[data-ilife-longpress]:active:not(:disabled)::after{animation:ilifeLongRing " + String(500 / 1e3) + "s linear forwards}@keyframes ilifeLongRing{from{width:0}to{width:100%}}[data-ilife-advanced=\"head\"]{transition:background .15s ease,transform .15s ease,box-shadow .15s ease,border-color .15s ease;border-radius:8px}[data-ilife-advanced=\"head\"]:hover{background:color-mix(in srgb, var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55)) " + String(13) + "%, transparent)!important}[data-ilife-advanced=\"mark\"]{display:inline-block;transition:transform " + String(200 / 1e3) + "s ease}[data-ilife-advanced=\"group\"][open] [data-ilife-advanced=\"mark\"]{transform:rotate(90deg)}[data-ilife-advanced=\"head\"]:hover [data-ilife-advanced=\"mark\"]{color:var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55));transform:translateX(" + String(2) + "px)}[data-ilife-advanced=\"group\"][open] [data-ilife-advanced=\"body\"]{animation:ilifeFoldIn " + String(220 / 1e3) + "s ease}@keyframes ilifeFoldIn{from{max-height:0;opacity:0}to{max-height:" + String(300) + "px;opacity:1}}[data-ilife-notice=\"line\"]{animation:ilifeToastIn " + String(180 / 1e3) + "s ease}@keyframes ilifeToastIn{from{opacity:0;transform:translateY(" + String(8) + "px)}to{opacity:1;transform:none}}@media (hover:none){[data-ilife-press]:hover:not(:disabled){transform:none}[data-ilife-press]::before{display:none}}@media (prefers-reduced-motion:reduce){[data-ilife-press],[data-ilife-focus]{transition:none}[data-ilife-press]:disabled:hover{animation:none}[data-ilife-longpress]:active:not(:disabled)::after{animation:none;width:100%}[data-ilife-advanced=\"mark\"]{transition:none}[data-ilife-advanced=\"group\"][open] [data-ilife-advanced=\"body\"]{animation:none}[data-ilife-notice=\"line\"]{animation:none}}@media (update: slow){[data-ilife-press],[data-ilife-focus]{transition:none}[data-ilife-press]::before{display:none}[data-ilife-press]:disabled:hover{animation:none}[data-ilife-longpress]:active:not(:disabled)::after{animation:none;width:100%}[data-ilife-advanced=\"mark\"]{transition:none}[data-ilife-advanced=\"group\"][open] [data-ilife-advanced=\"body\"]{animation:none}[data-ilife-notice=\"line\"]{animation:none}}";
2213
+ return "[data-ilife-press]{transition:" + INTERACTION_TRANSITION + "}[data-ilife-focus]{transition:" + INTERACTION_TRANSITION + "}[data-ilife-press]:active{transform:scale(" + String(PRESS_SCALE) + ")}[data-ilife-press]:focus-visible,[data-ilife-focus]:focus-visible{outline:none;box-shadow:0 0 0 " + String(2) + "px var(--dsw-alias-bg-layer-1, #232324),0 0 0 " + String(5) + "px var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55))}[data-ilife-press]{position:relative;overflow:hidden}[data-ilife-press]:hover:not(:disabled){background:color-mix(in srgb, var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55)) " + String(13) + "%, transparent)!important;border-color:var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55))!important;box-shadow:0 0 0 1px color-mix(in srgb, var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55)) " + String(55) + "%, transparent),0 4px 16px color-mix(in srgb, var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55)) " + String(25) + "%, transparent);transform:translateY(-" + String(1) + "px)}[data-ilife-press]:active:hover:not(:disabled){transform:scale(" + String(PRESS_SCALE) + ")}[data-ilife-press]:focus-visible:hover:not(:disabled){box-shadow:0 0 0 " + String(2) + "px var(--dsw-alias-bg-layer-1, #232324),0 0 0 " + String(5) + "px var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55)),0 4px 16px color-mix(in srgb, var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55)) " + String(25) + "%, transparent)}[data-ilife-press]::before{content:\"\";position:absolute;inset:0;background:radial-gradient(" + String(120) + "px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb, var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55)) " + String(22) + "%, transparent),transparent 65%);opacity:0;transition:opacity " + String(180 / 1e3) + "s ease;pointer-events:none}[data-ilife-press]:hover:not(:disabled)::before{opacity:1}[data-ilife-press]:disabled{cursor:not-allowed;opacity:" + String(DISABLED_OPACITY) + "}[data-ilife-press]:disabled:hover{animation:ilifeShake " + String(300 / 1e3) + "s ease}@keyframes ilifeShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}[data-ilife-longpress]{position:relative;overflow:hidden}[data-ilife-longpress]::after{content:\"\";position:absolute;left:0;bottom:0;height:" + String(3) + "px;width:0;background:var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55));pointer-events:none}[data-ilife-longpress]:active:not(:disabled)::after{animation:ilifeLongRing " + String(500 / 1e3) + "s linear forwards}@keyframes ilifeLongRing{from{width:0}to{width:100%}}[data-ilife-advanced=\"head\"]{transition:background .15s ease,transform .15s ease,box-shadow .15s ease,border-color .15s ease;border-radius:8px}[data-ilife-advanced=\"head\"]:hover{background:color-mix(in srgb, var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55)) " + String(13) + "%, transparent)!important}[data-ilife-advanced=\"mark\"]{display:inline-block;transition:transform " + String(200 / 1e3) + "s ease}[data-ilife-advanced=\"group\"][open] [data-ilife-advanced=\"mark\"]{transform:rotate(90deg)}[data-ilife-advanced=\"head\"]:hover [data-ilife-advanced=\"mark\"]{color:var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55));transform:translateX(" + String(2) + "px)}[data-ilife-advanced=\"group\"][open] [data-ilife-advanced=\"head\"]:hover [data-ilife-advanced=\"mark\"]{color:var(--ilife-focus, var(--dsw-alias-brand-primary, #f6ad55));transform:translateX(" + String(2) + "px) rotate(90deg)}[data-ilife-advanced=\"group\"][open] [data-ilife-advanced=\"body\"]{animation:ilifeFoldIn " + String(220 / 1e3) + "s ease}@keyframes ilifeFoldIn{from{max-height:0;opacity:0}to{max-height:" + String(300) + "px;opacity:1}}[data-ilife-notice=\"line\"]{animation:ilifeToastIn " + String(180 / 1e3) + "s ease}@keyframes ilifeToastIn{from{opacity:0;transform:translateY(" + String(8) + "px)}to{opacity:1;transform:none}}@media (hover:none){[data-ilife-press]:hover:not(:disabled){transform:none}[data-ilife-press]::before{display:none}}@media (prefers-reduced-motion:reduce){[data-ilife-press],[data-ilife-focus]{transition:none}[data-ilife-press]:disabled:hover{animation:none}[data-ilife-longpress]:active:not(:disabled)::after{animation:none;width:100%}[data-ilife-advanced=\"mark\"]{transition:none}[data-ilife-advanced=\"group\"][open] [data-ilife-advanced=\"body\"]{animation:none}[data-ilife-notice=\"line\"]{animation:none}}@media (update: slow){[data-ilife-press],[data-ilife-focus]{transition:none}[data-ilife-press]::before{display:none}[data-ilife-press]:disabled:hover{animation:none}[data-ilife-longpress]:active:not(:disabled)::after{animation:none;width:100%}[data-ilife-advanced=\"mark\"]{transition:none}[data-ilife-advanced=\"group\"][open] [data-ilife-advanced=\"body\"]{animation:none}[data-ilife-notice=\"line\"]{animation:none}}";
2150
2214
  }
2151
- /** 三枚章的整体缩放(定:当前显示大小 × 0.7)。**一个系数管全簇**——章面字号、三行落位、右间距、
2215
+ /** 三枚章的整体缩放(定:当前显示大小 × 0.77=0.7×1.1,#1176 放大 10%)。**一个系数管全簇**——章面字号、三行落位、右间距、
2152
2216
  * 浮层锚点全乘它:只缩章不缩槽位,三行之间会空出一截;只缩槽位不缩章,章会互相压上。 */
2153
- const SEAL_SCALE = .7;
2217
+ const SEAL_SCALE = .77;
2154
2218
  /** 卡面 em 值(乘缩放后收 4 位小数:0.3×0.7 在浮点里是 0.21000000000000002,直接拼串会带尾巴)。 */
2155
2219
  const sealEm = (n) => String(Math.round(n * SEAL_SCALE * 1e4) / 1e4) + "em";
2156
2220
  const S = {
@@ -2496,6 +2560,7 @@ window.__ModuleLoader__.load({
2496
2560
  * font-weight:600;padding:2px 0}`——字号**不写**(#739 ④:`summary` 该继承宿主字号)。 */
2497
2561
  summary: {
2498
2562
  display: "flex",
2563
+ width: "fit-content",
2499
2564
  alignItems: "center",
2500
2565
  gap: 8,
2501
2566
  cursor: "pointer",
@@ -2814,7 +2879,7 @@ window.__ModuleLoader__.load({
2814
2879
  };
2815
2880
  })()
2816
2881
  }, react.createElement("span", { style: {
2817
- fontSize: "0.56em",
2882
+ fontSize: "0.616em",
2818
2883
  display: "inline-flex"
2819
2884
  } }, react.createElement(SealStamp, {
2820
2885
  role: seals[dataIndex].role,