dsh-life-pack 0.3.57 → 0.3.58

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
@@ -9439,14 +9439,14 @@ ${body}`;
9439
9439
  yellow: STATUS_COLOR.yellow,
9440
9440
  green: STATUS_COLOR.green
9441
9441
  };
9442
- /** 页签圆点的颜色与语义(票 #732):从「实心/空心=装没装」改成「颜色=体检档位」。 */
9442
+ /** 页签圆点的颜色与语义(票 #732;缺席标记见 #1282):颜色=体检档位,缺席不进档位。 */
9443
9443
  const TAB_DOT = {
9444
- /** 没装(页签槽账本里没有这一家)。 */
9445
- absent: STATUS_DOT.green,
9444
+ /** 没装(页签槽账本里没有这一家):缺席标记色(下载箭头描边);只做"是否缺席"的判别 token,不进圆点分级。 */
9445
+ absent: STATUS_DOT.red,
9446
9446
  /** 装了、但还没跑过体检。 */
9447
9447
  unchecked: INK_DIM
9448
9448
  };
9449
- /** 页签圆点该用什么色:装了按档位(红黄绿),没装/没跑过走缺席态。 */
9449
+ /** 页签圆点该用什么色:装了按档位(红黄绿);没装走缺席标记(箭头,不进档位),没跑过走灰。 */
9450
9450
  function tabDotColor(light) {
9451
9451
  if (!light.hasChannel) return TAB_DOT.absent;
9452
9452
  return light.status === null ? TAB_DOT.unchecked : STATUS_DOT[light.status];
@@ -9976,6 +9976,32 @@ ${body}`;
9976
9976
  focusable: "false"
9977
9977
  }, react.createElement("path", { d: props.path }));
9978
9978
  }
9979
+ /** 缺席标记(#1282):下载箭头="待安装";描边取缺席标记色,与 PanelLinkIcon 同线形语言。
9980
+ * 注意不用圆点:圆=体检档位,缺席没有健康值,不进那套分级(形状即第二通道)。 */
9981
+ function AbsentDownloadIcon(props) {
9982
+ return react.createElement("svg", {
9983
+ viewBox: "0 0 12 12",
9984
+ width: 11,
9985
+ height: 11,
9986
+ fill: "none",
9987
+ stroke: props.color,
9988
+ strokeWidth: 1.6,
9989
+ strokeLinecap: "round",
9990
+ strokeLinejoin: "round",
9991
+ "aria-hidden": "true",
9992
+ focusable: "false"
9993
+ }, react.createElement("line", {
9994
+ x1: 6,
9995
+ y1: 1.5,
9996
+ x2: 6,
9997
+ y2: 7.5
9998
+ }), react.createElement("path", { d: "M3.2 5.6 L6 8.4 L8.8 5.6" }), react.createElement("line", {
9999
+ x1: 2,
10000
+ y1: 10.5,
10001
+ x2: 10,
10002
+ y2: 10.5
10003
+ }));
10004
+ }
9979
10005
  /** 掀页动效的样式(逐条取自冻结原型 `.leaf` 一族;选择器加前缀,免得与宿主类名撞)。
9980
10006
  *
9981
10007
  * 三条不动:660ms cubic-bezier(.45,.05,.55,.95) 的 3D 掀页、`.face:after` 的明暗遮罩、
@@ -10461,7 +10487,7 @@ ${body}`;
10461
10487
  }, react.createElement("span", { style: S.morePkg }, row.pkg), react.createElement("span", { style: S.moreDesc }, row.desc), react.createElement("span", { style: S.moreIcon }, react.createElement(ExternalIcon, null)))));
10462
10488
  }
10463
10489
  /** 版本胶囊那一行字:只在这里拼一次,屏上与用例读的是同一串。 */
10464
- const MANAGER_VERSION_TEXT = "dsh-life-pack · 0.3.57";
10490
+ const MANAGER_VERSION_TEXT = "dsh-life-pack · 0.3.58";
10465
10491
  /** 右下角那本书离面板两沿的距离:用户口径「一直处于面板右下角、不随列表滑动消失」
10466
10492
  * ⇒ sticky 吸附(面板相对,视口多大都落在面板角上);INSET=右沿,BOTTOM=底沿。 */
10467
10493
  const MANUAL_ENTRY_INSET = 16;
@@ -10721,6 +10747,7 @@ ${body}`;
10721
10747
  const selected = tab.plugin === active;
10722
10748
  const light = lightOf(tab.plugin);
10723
10749
  const dotColor = light === void 0 ? present.has(tab.plugin) ? TAB_DOT.unchecked : TAB_DOT.absent : tabDotColor(light);
10750
+ const isAbsent = light === void 0 ? !present.has(tab.plugin) : !light.hasChannel;
10724
10751
  const note = light === void 0 ? null : tabNote(light);
10725
10752
  return react.createElement("button", {
10726
10753
  key: tab.plugin,
@@ -10747,7 +10774,17 @@ ${body}`;
10747
10774
  onTabKeyDown(event, index);
10748
10775
  },
10749
10776
  title: light === void 0 ? "这一家没装(或产物没注册页签槽)" : light.title + ":" + (light.hasChannel ? light.status === null ? "还没体检" : "体检读数见本页签下方的表" : "没有配置体检出口")
10750
- }, react.createElement("span", {
10777
+ }, isAbsent ? react.createElement("span", {
10778
+ "data-ilife-health": "tab-dot",
10779
+ style: {
10780
+ width: 11,
10781
+ height: 11,
10782
+ display: "inline-flex",
10783
+ alignItems: "center",
10784
+ justifyContent: "center",
10785
+ flex: "0 0 auto"
10786
+ }
10787
+ }, AbsentDownloadIcon({ color: dotColor })) : react.createElement("span", {
10751
10788
  "data-ilife-health": "tab-dot",
10752
10789
  style: {
10753
10790
  width: 6,