@iasiv5/dsh-skins 1.0.1 → 1.0.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/lib/client.js +30 -20
  2. package/package.json +3 -2
package/lib/client.js CHANGED
@@ -2757,11 +2757,12 @@ ${names}`);
2757
2757
  // 暗=雾白底玄夜字。#12121A/#FAF9F6 与面板底色族同源。
2758
2758
  `${SCOPE} .dsh-mrz-badge{display:inline-flex;align-items:center;background:#12121A;border-radius:4px;padding:0 5px;font-size:10px;line-height:16px;font-weight:600;letter-spacing:.08em;color:#FAF9F6}`,
2759
2759
  `body[data-dsh-meirenzhi-skin][data-ds-dark-theme] .dsh-mrz-badge{background:#FAF9F6;color:#12121A}`,
2760
- // 用户气泡描边 + 轻投影(openbmc 同款泡泡边框:框出用户输入区)。哈希类
2761
- // gdEzaW_bubble 随 conversation 插件版本构建,版本升级若失效仅影响描边
2762
- // 装饰,token 填充不受影响。
2763
- `${SCOPE} .gdEzaW_bubble{border:1px solid rgba(184, 67, 63, 0.38);box-shadow:0 1px 4px rgba(184, 67, 63, 0.10)}`,
2764
- `body[data-dsh-meirenzhi-skin][data-ds-dark-theme] .gdEzaW_bubble{border-color:rgba(229, 138, 128, 0.38);box-shadow:0 1px 6px rgba(229, 138, 128, 0.10)}`,
2760
+ // 用户气泡描边 + 轻投影(openbmc 同款泡泡边框:框出用户输入区)。挂接用
2761
+ // :is() 并集(精确哈希 ∪ 结构化,见 docs/adr/0006):哈希漂移与 DOM 结构
2762
+ // 变化两种单点故障各有一支兜底,钩子前提由 verify-upstream-hooks 守卫在
2763
+ // check 时钉住。失效仅影响描边装饰,token 填充不受影响。
2764
+ `${SCOPE} :is([class*="Sixlwa_bubble"], [class*="userStack"] > [class*="_bubble"]){border:1px solid rgba(184, 67, 63, 0.38);box-shadow:0 1px 4px rgba(184, 67, 63, 0.10)}`,
2765
+ `body[data-dsh-meirenzhi-skin][data-ds-dark-theme] :is([class*="Sixlwa_bubble"], [class*="userStack"] > [class*="_bubble"]){border-color:rgba(229, 138, 128, 0.38);box-shadow:0 1px 6px rgba(229, 138, 128, 0.10)}`,
2765
2766
  // Ambient motion: a slow glow-breath riding the runtime's wallpaper ::before
2766
2767
  // layer + two drifting fireflies on the #root pseudo budget (same shape and
2767
2768
  // cost as the tgcf butterflies); prefers-reduced-motion kills all of it.
@@ -3106,13 +3107,16 @@ ${names}`);
3106
3107
  body[data-dsh-openbmc-skin][data-ds-dark-theme] {
3107
3108
  /* 暗色气泡填充由 ③ 暗色块的深冰蓝接管(rgba(20,41,60,.90)),此处不再重定义 */
3108
3109
  }
3109
- /* 用户气泡描边 + 轻投影(哈希类 gdEzaW_bubble 随 conversation 插件版本构建,
3110
- * 版本升级若失效仅影响描边装饰,token 填充仍然生效) */
3111
- body[data-dsh-openbmc-skin] .gdEzaW_bubble {
3110
+ /* 用户气泡描边 + 轻投影(框出用户输入区)。挂接用 :is() 并集(精确哈希 ∪
3111
+ * 结构化,见 docs/adr/0006):哈希漂移与 DOM 结构变化两种单点故障各有一支
3112
+ * 兜底,钩子前提由 verify-upstream-hooks 守卫在 check 时钉住。失效仅影响
3113
+ * 描边装饰,token 填充仍然生效;结构分支不命中 goal 面板气泡(其容器
3114
+ * _stack 不含 userStack 子串,ADR-0006 实测),goal 维持不描边。 */
3115
+ body[data-dsh-openbmc-skin] :is([class*="Sixlwa_bubble"], [class*="userStack"] > [class*="_bubble"]) {
3112
3116
  border: 1px solid rgba(0, 131, 176, 0.38);
3113
3117
  box-shadow: 0 1px 4px rgba(0, 131, 176, 0.10);
3114
3118
  }
3115
- body[data-dsh-openbmc-skin][data-ds-dark-theme] .gdEzaW_bubble {
3119
+ body[data-dsh-openbmc-skin][data-ds-dark-theme] :is([class*="Sixlwa_bubble"], [class*="userStack"] > [class*="_bubble"]) {
3116
3120
  border-color: rgba(62, 193, 232, 0.38);
3117
3121
  box-shadow: 0 1px 6px rgba(62, 193, 232, 0.10);
3118
3122
  }
@@ -3302,14 +3306,15 @@ body[data-dsh-uefi-harness] [data-streaming] {
3302
3306
  border-radius: 4px;
3303
3307
  box-shadow: inset 3px 0 0 var(--dsw-alias-brand-primary);
3304
3308
  }
3305
- /* 用户气泡描边 + 轻投影(openbmc 同款泡泡边框:框出用户输入区)。哈希类
3306
- * gdEzaW_bubble 随 conversation 插件版本构建,版本升级若失效仅影响描边
3307
- * 装饰,token 填充仍然生效。 */
3308
- body[data-dsh-uefi-harness] .gdEzaW_bubble {
3309
+ /* 用户气泡描边 + 轻投影(openbmc 同款泡泡边框:框出用户输入区)。挂接用
3310
+ * :is() 并集(精确哈希 ∪ 结构化,见 docs/adr/0006):哈希漂移与 DOM 结构
3311
+ * 变化两种单点故障各有一支兜底,钩子前提由 verify-upstream-hooks 守卫在
3312
+ * check 时钉住。失效仅影响描边装饰,token 填充仍然生效。 */
3313
+ body[data-dsh-uefi-harness] :is([class*="Sixlwa_bubble"], [class*="userStack"] > [class*="_bubble"]) {
3309
3314
  border: 1px solid rgba(101, 83, 216, 0.38);
3310
3315
  box-shadow: 0 1px 4px rgba(101, 83, 216, 0.10);
3311
3316
  }
3312
- body[data-dsh-uefi-harness][data-ds-dark-theme] .gdEzaW_bubble {
3317
+ body[data-dsh-uefi-harness][data-ds-dark-theme] :is([class*="Sixlwa_bubble"], [class*="userStack"] > [class*="_bubble"]) {
3313
3318
  border-color: rgba(169, 156, 255, 0.38);
3314
3319
  box-shadow: 0 1px 6px rgba(169, 156, 255, 0.10);
3315
3320
  }`;
@@ -3417,11 +3422,12 @@ body[data-dsh-uefi-harness][data-ds-dark-theme] .gdEzaW_bubble {
3417
3422
  // 墨黑/素白 (same values panelBase tints the glass with).
3418
3423
  `${SCOPE2} .dsh-tgcf-badge{display:inline-flex;align-items:center;background:#181010;border-radius:4px;padding:0 5px;font-size:10px;line-height:16px;font-weight:600;letter-spacing:.08em;color:#FFFCF6}`,
3419
3424
  `body[data-dsh-tgcf-skin][data-ds-dark-theme] .dsh-tgcf-badge{background:#FFFCF6;color:#181010}`,
3420
- // 用户气泡描边 + 轻投影(openbmc 同款泡泡边框:框出用户输入区)。哈希类
3421
- // gdEzaW_bubble 随 conversation 插件版本构建,版本升级若失效仅影响描边
3422
- // 装饰,token 填充不受影响。
3423
- `${SCOPE2} .gdEzaW_bubble{border:1px solid rgba(195, 39, 43, 0.38);box-shadow:0 1px 4px rgba(195, 39, 43, 0.10)}`,
3424
- `body[data-dsh-tgcf-skin][data-ds-dark-theme] .gdEzaW_bubble{border-color:rgba(224, 86, 74, 0.38);box-shadow:0 1px 6px rgba(224, 86, 74, 0.10)}`
3425
+ // 用户气泡描边 + 轻投影(openbmc 同款泡泡边框:框出用户输入区)。挂接用
3426
+ // :is() 并集(精确哈希 ∪ 结构化,见 docs/adr/0006):哈希漂移与 DOM 结构
3427
+ // 变化两种单点故障各有一支兜底,钩子前提由 verify-upstream-hooks 守卫在
3428
+ // check 时钉住。失效仅影响描边装饰,token 填充不受影响。
3429
+ `${SCOPE2} :is([class*="Sixlwa_bubble"], [class*="userStack"] > [class*="_bubble"]){border:1px solid rgba(195, 39, 43, 0.38);box-shadow:0 1px 4px rgba(195, 39, 43, 0.10)}`,
3430
+ `body[data-dsh-tgcf-skin][data-ds-dark-theme] :is([class*="Sixlwa_bubble"], [class*="userStack"] > [class*="_bubble"]){border-color:rgba(224, 86, 74, 0.38);box-shadow:0 1px 6px rgba(224, 86, 74, 0.10)}`
3425
3431
  ].join("\n");
3426
3432
  function panelBase(lightMode, alpha) {
3427
3433
  return lightMode ? `rgba(255,252,246,${alpha})` : `rgba(24,16,16,${alpha})`;
@@ -3573,7 +3579,11 @@ body[data-dsh-uefi-harness][data-ds-dark-theme] .gdEzaW_bubble {
3573
3579
 
3574
3580
  // src/client/index.js
3575
3581
  window.__ModuleLoader__.load({
3576
- id: "dsh-skins",
3582
+ // MUST equal the package.json `name` (and the roster row `name` in
3583
+ // cordis.patch.yml): the boot page emits __DSH_BOOT__ entries keyed by the
3584
+ // package name, and dsh-client-modules rejects a bundle whose registration
3585
+ // does not match its graph-row id ("loaded without registering …").
3586
+ id: "@iasiv5/dsh-skins",
3577
3587
  factory: (require2) => {
3578
3588
  const jsxRuntime = require2("react/jsx-runtime");
3579
3589
  const react = require2("react");
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@iasiv5/dsh-skins",
3
3
  "description": "Modular DSH Web skin pack with official fallback, OpenBMC and UEFI appearances, and verified stable-Release updates",
4
- "version": "1.0.1",
4
+ "version": "1.0.3",
5
5
  "homepage": "https://github.com/iasiv5/dsh-skins#readme",
6
6
  "repository": {
7
7
  "type": "git",
@@ -74,6 +74,7 @@
74
74
  "test": "pnpm run build && node smoke-test.cjs && node --test tests/*.test.mjs",
75
75
  "verify:readme": "node scripts/verify-readme-pairing.mjs",
76
76
  "verify:bundle": "node scripts/verify-bundle-guard.mjs",
77
- "check": "pnpm run build && node --check lib/client.js && node --check lib/index.js && pnpm run test && pnpm run verify:readme && pnpm run verify:bundle"
77
+ "verify:hooks": "node scripts/verify-upstream-hooks.mjs",
78
+ "check": "pnpm run build && node --check lib/client.js && node --check lib/index.js && pnpm run test && pnpm run verify:readme && pnpm run verify:bundle && pnpm run verify:hooks"
78
79
  }
79
80
  }