dsh-plugin-core-demo 0.2.5 → 0.2.7

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/dist/client.js +41 -55
  2. package/package.json +1 -1
package/dist/client.js CHANGED
@@ -64,18 +64,17 @@ body{
64
64
  /* \u4EA4\u4ED8\u6587\u4EF6\u5361\u90A3\u79CD\u300C\u6D45\u5E95\u76D8 + hover \u52A0\u6DF1\u300D\u4E24\u62CD */
65
65
  --dshpc-plate:var(--dsw-static-neutral-50,#fafafa);
66
66
  --dshpc-plate-hover:var(--dsw-static-neutral-100,#f5f5f5);
67
- /* \u65E7\u5185\u6838\u56DE\u9000\uFF08Chrome <111 \u4E0D\u8BA4 color-mix \u21D2 \u8FD9\u6761\u751F\u6548\uFF1B\u65B0\u5185\u6838\u88AB\u4E0B\u9762\u90A3\u6761\u8986\u76D6\uFF09\u3002
68
- \u8FD9\u51E0\u4E2A\u662F**\u56FA\u5B9A\u4E2D\u6027\u9762**\u3001\u4E0D\u9760\u8DDF\u968F\u5BBF\u4E3B\u4E3B\u9898\u8272\uFF0C\u6545\u53EF\u4EE5\u65E0\u635F\u5730\u7ED9\u660E\u6587\u56DE\u9000\u3002 */
67
+ /* \u26A0\uFE0F \u8FD9\u4E9B**\u56FA\u5B9A\u4E2D\u6027\u9762\u4E00\u5F8B\u7528 rgba \u5B57\u9762\u91CF**\uFF082026-10-19 \u771F\u673A\u6559\u8BAD\uFF09\uFF1A\u4E0D\u8981\u5199\u6210
68
+ \u300Crgba \u56DE\u9000\u884C + \u5D4C --dsw-static-* \u7684 color-mix \u884C\u300D\u4E24\u6761\u540C\u540D\u58F0\u660E\u2014\u2014\u81EA\u5B9A\u4E49\u5C5E\u6027**\u540E\u8005\u6052\u80DC**\uFF0C
69
+ \u54EA\u6015\u5B83\u7684\u503C\u5728\u5BBF\u4E3B\u91CC\u7B97\u4E0D\u51FA\u6765\uFF08static \u53D8\u91CF invalid\uFF09\u21D2 \u6574\u6761 token \u4F5C\u5E9F\u3001rgba \u515C\u5E95\u4E00\u8D77\u88AB\u5E9F\uFF0C
70
+ 0.2.6 \u91CC Segmented \u8F68\u9053\u5168\u900F\u660E\u5C31\u662F\u8FD9\u4E48\u6765\u7684\u3002\u8981\u8DDF\u5BBF\u4E3B\u4E3B\u9898\u8054\u52A8\u7684\u9762\u7528 alias token\uFF08\u90A3\u4E9B\u5B9E\u6D4B\u6709\u6548\uFF09\u3002 */
69
71
  --dshpc-icon-plate:rgba(255,255,255,.5);
70
- --dshpc-icon-plate:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 50%,transparent);
71
72
  /* \u8868\u5934\u5E95\uFF1A\u6D45\u8272\u4E3B\u9898**\u504F\u6DF1**\uFF0C\u4E14\u5FC5\u987B**\u6BD4\u6591\u9A6C\u7EB9\uFF08--dshpc-plate\uFF09\u518D\u6DF1\u4E00\u6863**\u2014\u2014
72
73
  \u4E24\u8005\u4E0D\u80FD\u649E\u8272\uFF08\u7528\u6237 2026-10-02\uFF1A\u8868\u5934\u8DDF\u6591\u9A6C\u7EB9\u4E00\u6A21\u4E00\u6837\uFF09\u3002 */
73
74
  --dshpc-head-bg:var(--dsw-static-neutral-100,#f5f5f5);
74
75
  /* \u56FE\u6807\u5C0F\u5E95\u677F\uFF08\u4EA7\u51FA\u7269\uFF09\uFF1A\u6D45\u8272\u4E0B\u8981**\u770B\u5F97\u89C1**\uFF08\u539F\u5148\u53D6 plate \u21D2 \u5728\u767D\u5E95\u4E0A\u7B49\u4E8E\u6CA1\u6709\uFF09\uFF1Bhover \u52A0\u500D\u3002 */
75
76
  --dshpc-chip-bg:rgba(15,15,15,.07);
76
- --dshpc-chip-bg:color-mix(in srgb,var(--dsw-static-neutral-900,#0f0f0f) 7%,transparent);
77
77
  --dshpc-chip-bg-hover:rgba(15,15,15,.14);
78
- --dshpc-chip-bg-hover:color-mix(in srgb,var(--dsw-static-neutral-900,#0f0f0f) 14%,transparent);
79
78
  /* \u5C55\u5F00\u884C\uFF1A**\u5E26\u900F\u660E\u5EA6\u7684\u84DD**\u2014\u2014\u4E0D\u662F\u7070\u3001\u4E5F\u4E0D\u662F\u7EAF\u8272\uFF0C\u900F\u51FA\u5361\u7247\u5E95\u8272\uFF0C\u4E00\u773C\u770B\u51FA\u300C\u8FD9\u662F\u5C55\u5F00\u7684\u300D
80
79
  \uFF08\u7528\u6237 2026-10-02\uFF1A\u7070\u8272\u8DDF\u6591\u9A6C\u7EB9\u5206\u4E0D\u51FA\u6765\uFF09\u3002\u5185\u5BB9\u533A\u518D\u6DE1\u4E00\u6863\uFF0C\u5F62\u6210\u300C\u884C\u6DF1 / \u5185\u5BB9\u6D45\u300D\u7684\u533A\u9694\u3002 */
81
80
  --dshpc-open-bg:rgba(37,99,235,.10);
@@ -103,10 +102,6 @@ body{
103
102
  --dshpc-on-signal:#fff;
104
103
  /* \u9EC4\u5E95\u4E0A\u7684\u5B57\uFF1A\u9EC4\u8272\u662F\u4E2D\u9AD8\u660E\u5EA6\uFF0C\u767D\u5B57\u770B\u4E0D\u6E05 \u21D2 \u56FA\u5B9A\u6DF1\u8272\uFF08\u4E0E\u4E3B\u9898\u65E0\u5173\uFF09\u3002 */
105
104
  --dshpc-on-warning:#1f2328;
106
- /* \u60AC\u505C\u63D0\u793A\u6C14\u6CE1\uFF08\u5BF9\u9F50\u5B98\u65B9 Tooltip \u7684\u7528\u8272\uFF1A\u5E95\u8D70\u5BBF\u4E3B alias-tooltip-bg\uFF0C\u7F3A\u5931\u65F6\u7ED9\u56FA\u5B9A\u4E2D\u6027\u515C\u5E95\uFF09\u3002
107
- FieldHint \u7684\u81EA\u7ED8\u6C14\u6CE1\u4E5F\u5403\u8FD9\u4E24\u6761 \u2014\u2014 \u4FDD\u8BC1\u300C\u95EE\u53F7\u63D0\u793A\u300D\u4E0E\u300C\u5B98\u65B9 Tooltip\u300D\u540C\u4E00\u79CD\u6C14\u6CE1\u76AE\u80A4\u3002 */
108
- --dshpc-tooltip-bg:var(--dsw-alias-tooltip-bg,#1f2328);
109
- --dshpc-tooltip-fg:#ffffff;
110
105
 
111
106
  /* \u2500\u2500 \u5B9E\u5FC3\u6309\u94AE\u7684 hover / active \u6D3E\u751F\u6001\uFF082026-10-19 \u7528\u6237\u70B9\u540D\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
112
107
  \u539F\u5B9E\u73B0\u662F :hover \u76F4\u63A5\u538B opacity .9\uFF1A\u9ED1\u5E95\u538B 10% \u51E0\u4E4E\u770B\u4E0D\u51FA\u6765\uFF0C\u7528\u6237\u539F\u8BDD\u300C\u5B8C\u5168\u611F\u89C9\u4E0D\u5230\u989C\u8272\u53D8\u4E86\u300D\u3002
@@ -143,9 +138,7 @@ body{
143
138
  \uFF08neutral-900=#0f0f0f / neutral-00=#fff\uFF09\uFF0C\u9884\u8BA1\u7B97\u65E0\u635F\uFF1B\u65E7\u5185\u6838\u4E0D\u8BA4 color-mix \u65F6\u8D70\u515C\u5E95\uFF0C
144
139
  \u5426\u5219\u6574\u6761 background:var(--seg-track) \u4F5C\u5E9F \u21D2 \u5206\u6BB5\u8F68\u9053\u900F\u660E\uFF08\u771F\u8E29\u8FC7\uFF1A\u9884\u89C8\u7AD9\u8F68\u9053\u6D88\u5931\uFF09\u3002 */
145
140
  --dshpc-hover:rgba(15,15,15,.10);
146
- --dshpc-hover:color-mix(in srgb,var(--dsw-static-neutral-900,#0f0f0f) 10%,transparent);
147
141
  --dshpc-active:rgba(15,15,15,.18);
148
- --dshpc-active:color-mix(in srgb,var(--dsw-static-neutral-900,#0f0f0f) 18%,transparent);
149
142
  --dshpc-mask:var(--dsw-alias-bg-mask-1,#0000003d);
150
143
  /* \u300C\u9009\u4E2D\u9762\u300D\uFF082026-10-06\uFF0C\u4EFB\u52A1\u65E5\u7A0B\u9875\u9996\u521B\uFF09= \u5F53\u524D\u5E95\u8272**\u671D\u66F4\u6DF1\u63BA 12% \u6587\u5B57\u8272**\uFF1A
151
144
  \u6D45\u8272\u4E3B\u9898\u4E0B\u6587\u5B57\u8272\u662F\u9ED1 \u21D2 \u9009\u4E2D\u9762\u6BD4\u5E38\u6001\u5E95\u8272**\u6DF1\u4E00\u6863**\u3002\u6DF1\u8272\u5206\u652F\u89C1 body[data-ds-dark-theme]\uFF08\u671D\u80CC\u666F\u8272\u63BA\uFF09\u3002
@@ -236,9 +229,6 @@ body{
236
229
  body[data-ds-dark-theme]{
237
230
  --dshpc-solid:var(--dsw-static-neutral-900,#0f0f0f);
238
231
  --dshpc-on-solid:var(--dsw-static-neutral-00,#fff);
239
- /* \u60AC\u505C\u63D0\u793A\u6C14\u6CE1\uFF08\u6697\u8272\u7248\uFF09\uFF1A\u5B98\u65B9 alias \u5728\u6697\u8272\u4E0B\u81EA\u52A8\u6362\u503C\uFF1Balias \u7F3A\u5931\u65F6\u7ED9\u4EAE\u5E95\u6DF1\u5B57\uFF08\u4E0E\u5B98\u65B9\u6697\u8272\u6C14\u6CE1\u540C\u5411\uFF09\u3002 */
240
- --dshpc-tooltip-bg:var(--dsw-alias-tooltip-bg,#e8e8e8);
241
- --dshpc-tooltip-fg:#1f2328;
242
232
  /* \u5B9E\u5FC3\u6309\u94AE hover / active\uFF08\u6697\u8272\u7248\uFF09\uFF1A\u9ED1\u5E95\uFF08\u6D45\u8272\u4E3B\u9898\u7684\u8FD1\u9ED1 \u2192 \u6697\u8272\u4E0B\u7684\u8FD1\u767D\uFF09\u63BA\u9ED1\u538B\u6DF1\uFF1B
243
233
  \u7EA2 / \u7EFF / \u9EC4 / \u84DD\u63BA\u767D\u63D0\u4EAE\u3002\u4E0E\u4EAE\u8272\u6BB5\u65B9\u5411\u76F8\u53CD\uFF0C\u4FDD\u8BC1\u4E24\u79CD\u4E3B\u9898\u4E0B\u300C\u4E00\u773C\u770B\u51FA\u53D8\u4E86\u300D\u3002 */
244
234
  --dshpc-accent-hover:color-mix(in srgb,var(--dshpc-accent) 80%,#000000);
@@ -253,20 +243,15 @@ body[data-ds-dark-theme]{
253
243
  --dshpc-business-active:color-mix(in srgb,var(--dshpc-business) 64%,#ffffff);
254
244
  /* \u6697\u8272 hover \u63BA\u767D 14% / active 24%\uFF08\u5BF9\u9F50\u4E0A\u9762 2026-10-18 \u7684\u52A0\u91CD\u62CD\u677F\uFF09\u3002rgba \u515C\u5E95\u884C\u540C\u4E0A\u3002 */
255
245
  --dshpc-hover:rgba(255,255,255,.14);
256
- --dshpc-hover:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 14%,transparent);
257
246
  --dshpc-active:rgba(255,255,255,.24);
258
- --dshpc-active:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 24%,transparent);
259
247
  --dshpc-plate:var(--dsw-static-neutral-850,#212123);
260
248
  --dshpc-plate-hover:var(--dsw-static-neutral-800,#292929);
261
249
  --dshpc-icon-plate:rgba(255,255,255,.05);
262
- --dshpc-icon-plate:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 5%,transparent);
263
250
  /* \u6697\u8272\u4E3B\u9898**\u53CD\u8FC7\u6765**\uFF1A\u8868\u5934\u8981\u6BD4\u5361\u7247\u9762**\u4EAE**\u3001\u6BD4\u6591\u9A6C\u7EB9\u518D**\u6D45\u4E00\u6863**\uFF08\u7528\u6237\uFF1A\u7EAF\u9ED1\u80CC\u666F\u6CA1\u6CD5\u770B\uFF09\u3002 */
264
251
  --dshpc-head-bg:var(--dshpc-surface-2);
265
252
  /* \u6697\u8272\u5E95\u677F**\u5FAE\u4EAE**\uFF1Bhover **\u66F4\u4EAE**\uFF08\u539F\u5148 hover \u53D6 plate-hover \u53CD\u800C\u66F4\u6DE1 \u21D2 \u9F20\u6807\u79FB\u4E0A\u53BB\u5C31\u6CA1\u4E86\uFF09\u3002 */
266
253
  --dshpc-chip-bg:rgba(255,255,255,.08);
267
- --dshpc-chip-bg:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 8%,transparent);
268
254
  --dshpc-chip-bg-hover:rgba(255,255,255,.16);
269
- --dshpc-chip-bg-hover:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 16%,transparent);
270
255
  /* \u6697\u8272\u4E0B\u84DD\u8272\u8981\u66F4\u4EAE\u3001\u900F\u660E\u5EA6\u7565\u9AD8\u624D\u538B\u5F97\u4F4F\u6DF1\u5E95\u3002 */
271
256
  --dshpc-open-bg:rgba(96,165,250,.18);
272
257
  --dshpc-open-bg-soft:rgba(96,165,250,.08);
@@ -720,27 +705,15 @@ var BACK_TO_TOP_CSS = `
720
705
  `;
721
706
  var HINT_CSS = `
722
707
  /* \u2500\u2500 \u95EE\u53F7\u63D0\u793A P4\uFF08\u7528\u6237 2026-10-18\uFF1A\u5BF9\u9F50\u771F\u5B9E\u63D2\u4EF6 HelpButton\u2014\u2014**\u5E26\u5708\u7684\u95EE\u53F7\u56FE\u6807**\uFF09\u2500\u2500
723
- \u672C\u4F53 16px \u7EC6\u5708 + \u5708\u5185 ?\uFF0C\u989C\u8272 fg-3\u3001hover \u53EA\u63D0\u4EAE\u4E0D\u52A0\u5E95\uFF08\u4E0E dshpc-ed-help \u540C\u89C4\u77E9\uFF09\u3002
724
- \u7EAF CSS tooltip\uFF1Ahover / \u952E\u76D8\u805A\u7126\u6D6E\u51FA\u6C14\u6CE1\uFF0C\u96F6 JS\u3002\u72EC\u7ACB\u7EC4\u4EF6\uFF0C\u6807\u9898\u540E\u3001\u884C\u5C3E\u968F\u5904\u53EF\u6302\u3002 */
725
- .dshpc-hint{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;
708
+ \u672C\u4F53 14px \u7EC6\u5708 + \u5708\u5185 ?\uFF0C\u989C\u8272 fg-3\u3001hover \u53EA\u63D0\u4EAE\u4E0D\u52A0\u5E95\uFF08\u4E0E dshpc-ed-help \u540C\u89C4\u77E9\uFF09\u3002
709
+ \u6C14\u6CE1\u4E0D\u5728\u672C\u6587\u4EF6\uFF1A2026-10-19 \u7528\u6237\u62CD\u677F\u300C\u95EE\u53F7\u5FC5\u987B\u7528\u5B98\u65B9 Tooltip \u90A3\u4E00\u4E2A\u300D\u21D2 \u6C14\u6CE1\u7531\u6CE8\u5165\u7684
710
+ \u5B98\u65B9\u7EC4\u4EF6\u6E32\u67D3\uFF08src/ui/tooltip.ts\uFF09\uFF0C\u8FD9\u91CC\u53EA\u7BA1\u95EE\u53F7\u56FE\u6807\u672C\u8EAB\u3002 */
711
+ .dshpc-hint{display:inline-flex;align-items:center;justify-content:center;flex:none;
726
712
  box-sizing:border-box;width:14px;height:14px;padding:0;border:1px solid currentColor;border-radius:50%;background:transparent;
727
713
  color:var(--dshpc-fg-3);font-family:inherit;font-size:8px;font-weight:600;line-height:12px;cursor:help;vertical-align:middle;
728
714
  transition:color var(--dshpc-dur-fast) var(--dshpc-ease);}
729
715
  .dshpc-hint:hover,.dshpc-hint:focus-visible{color:var(--dshpc-fg);background:0 0;}
730
716
  .dshpc-hint:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:1px;}
731
- /* \u6C14\u6CE1\u76AE\u80A4 = \u5B98\u65B9 Tooltip \u540C\u6B3E\uFF082026-10-19 \u7528\u6237\u70B9\u540D\u300C\u4E24\u4E2A\u6C14\u6CE1\u5FC5\u987B\u4E00\u79CD\u76AE\u80A4\u300D\uFF09\uFF1A
732
- \u5E95\u8272\u8D70 --dsw-alias-tooltip-bg \u7684 token \u5305\u88C5\uFF08--dshpc-tooltip-bg\uFF0C\u660E\u6697\u5404\u7ED9\u515C\u5E95\uFF09\u3001
733
- 13px \u5B57\u53F7\u3001\u5C0F\u5185\u8DDD\u3001radius-sm\uFF1Bwhite-space:pre-line \u21D2 \u6587\u672C\u91CC\u7684
734
- \u662F\u771F\u5B9E\u6362\u884C
735
- \uFF08\u7B2C\u4E00\u884C\u540D\u5B57\u3001\u7B2C\u4E8C\u884C\u6B63\u6587\u7684\u4E24\u6BB5\u5F0F\u63D0\u793A\u5C31\u9760\u5B83\uFF09\u3002 */
736
- .dshpc-hint__bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);
737
- box-sizing:border-box;width:max-content;max-width:280px;padding:5px 9px;
738
- border-radius:var(--dshpc-radius-sm);background:var(--dshpc-tooltip-bg);color:var(--dshpc-tooltip-fg);
739
- font-size:var(--dshpc-font-md);line-height:1.55;text-align:left;white-space:pre-line;
740
- box-shadow:var(--dshpc-shadow-2);z-index:var(--dshpc-z-menu);
741
- opacity:0;visibility:hidden;pointer-events:none;
742
- transition:opacity var(--dshpc-dur-fast) var(--dshpc-ease);}
743
- .dshpc-hint:hover .dshpc-hint__bubble,.dshpc-hint:focus-visible .dshpc-hint__bubble{opacity:1;visibility:visible;}
744
717
  `;
745
718
 
746
719
  // dist/ui/picker-css.js
@@ -1731,22 +1704,15 @@ function FieldHint(props) {
1731
1704
  "aria-label": text
1732
1705
  }, "?");
1733
1706
  const renderer2 = getTooltipRenderer();
1734
- if (renderer2 !== void 0) {
1735
- return renderer2({
1736
- label: text,
1737
- side: side ?? "top",
1738
- ...align !== void 0 ? { align } : {},
1739
- ...maxWidth !== void 0 ? { maxWidth } : {},
1740
- children: anchor
1741
- });
1742
- }
1743
- return (0, import_react15.createElement)("span", {
1744
- className: `dshpc-hint${className !== void 0 && className !== "" ? ` ${className}` : ""}`,
1745
- style,
1746
- tabIndex: 0,
1747
- role: "note",
1748
- "aria-label": text
1749
- }, "?", (0, import_react15.createElement)("span", { className: "dshpc-hint__bubble", role: "tooltip" }, text));
1707
+ if (renderer2 === void 0)
1708
+ return anchor;
1709
+ return renderer2({
1710
+ label: text,
1711
+ side: side ?? "top",
1712
+ ...align !== void 0 ? { align } : {},
1713
+ ...maxWidth !== void 0 ? { maxWidth } : {},
1714
+ children: anchor
1715
+ });
1750
1716
  }
1751
1717
 
1752
1718
  // dist/ui/LiveText.js
@@ -2064,7 +2030,8 @@ var DICT2 = {
2064
2030
  tooltipAnchorButton: "\u6309\u94AE\u951A\u70B9",
2065
2031
  tooltipLong: "\u957F\u6587\u672C\u6362\u884C",
2066
2032
  tooltipName: "\u5F20\u4E09\u4E30",
2067
- tooltipMultiline: "\u4E24\u6BB5\u5F0F\uFF08\u540D\u5B57 + \u6B63\u6587\uFF09",
2033
+ tooltipRich: "\u5BCC\u5361\u7247\uFF08HoverCard\uFF09",
2034
+ tooltipMultiline: "\u4E24\u6BB5\u5F0F",
2068
2035
  tooltipLongText: "\u8FD9\u662F\u4E00\u6BB5\u8DB3\u591F\u957F\u7684\u63D0\u793A\u6587\u5B57\uFF1A\u6C14\u6CE1\u9047\u5230 maxWidth \u4F1A\u81EA\u52A8\u6362\u884C\uFF0C\u800C\u4E0D\u4F1A\u4E00\u8DEF\u6491\u5230\u534A\u4E2A\u5C4F\u5E55\u5BBD\uFF0C anchored \u5143\u7D20\u5728\u8FB9\u7F18\u65F6\u5B98\u65B9\u8FD8\u4F1A\u81EA\u52A8\u628A\u6C14\u6CE1\u6536\u56DE\u89C6\u53E3\u5185\u3002",
2069
2036
  btnHintTitle: "\u95EE\u53F7\u63D0\u793A\uFF08FieldHint\uFF09",
2070
2037
  btnHintHint: "\u72EC\u7ACB\u7EC4\u4EF6\uFF0C\u653E\u54EA\u90FD\u884C\uFF1A\u6807\u9898\u540E / \u6309\u94AE\u540E / \u4E00\u6BB5\u6587\u5B57\u540E / \u8F93\u5165\u6846\u540E\uFF1B\u9F20\u6807\u60AC\u505C\u6216\u952E\u76D8\u805A\u7126\u6D6E\u51FA\u6C14\u6CE1",
@@ -2144,7 +2111,8 @@ var DICT2 = {
2144
2111
  tooltipAnchorButton: "Button anchor",
2145
2112
  tooltipLong: "Long label",
2146
2113
  tooltipName: "Alex Chen",
2147
- tooltipMultiline: "Two-part (name + body)",
2114
+ tooltipRich: "Rich card (HoverCard)",
2115
+ tooltipMultiline: "Two-part",
2148
2116
  tooltipLongText: "A deliberately long hint: the bubble wraps at maxWidth instead of stretching to half the viewport, and the official layer pulls it back inside the viewport near the edges.",
2149
2117
  btnHintTitle: "Question-mark hint (FieldHint)",
2150
2118
  btnHintHint: "Standalone component, drop it anywhere: after a title, a button, a sentence, or an input; hover or keyboard-focus to reveal",
@@ -2499,6 +2467,24 @@ ${t2("tooltipLongText")}`, side: "top", maxWidth: 260 },
2499
2467
  style: { borderBottom: "1px dashed var(--dshpc-border-strong)", cursor: "help", fontSize: "13px" }
2500
2468
  }, t2("tooltipName"))
2501
2469
  )
2470
+ ),
2471
+ // 富卡片:官方 HoverCard(宿主工作区列表那种「标题 + 正文」卡就是它);content 收任意 ReactNode
2472
+ (0, import_react20.createElement)(
2473
+ Labeled,
2474
+ { label: t2("tooltipRich") },
2475
+ (0, import_react20.createElement)(import_dsh_client_ui_primitives.HoverCard, {
2476
+ variant: "compact",
2477
+ openDelayMs: 200,
2478
+ anchor: (0, import_react20.createElement)("span", {
2479
+ style: { borderBottom: "1px dashed var(--dshpc-border-strong)", cursor: "help", fontSize: "13px" }
2480
+ }, t2("tooltipName")),
2481
+ content: (0, import_react20.createElement)(
2482
+ "div",
2483
+ { style: { padding: "4px 2px", minWidth: "220px" } },
2484
+ (0, import_react20.createElement)("div", { style: { fontWeight: 600, fontSize: "14px", marginBottom: "4px" } }, t2("tooltipName")),
2485
+ (0, import_react20.createElement)("div", { style: { fontSize: "12px", lineHeight: 1.6, whiteSpace: "pre-line" } }, t2("tooltipLongText"))
2486
+ )
2487
+ })
2502
2488
  )
2503
2489
  )
2504
2490
  ),
@@ -3559,8 +3545,8 @@ function DemoPage() {
3559
3545
  fontFamily: "var(--dshpc-font-mono)"
3560
3546
  }
3561
3547
  },
3562
- (0, import_react31.createElement)("div", null, `core v${"0.2.5"}`),
3563
- (0, import_react31.createElement)("div", null, `demo v${"0.2.5"}`),
3548
+ (0, import_react31.createElement)("div", null, `core v${"0.2.7"}`),
3549
+ (0, import_react31.createElement)("div", null, `demo v${"0.2.7"}`),
3564
3550
  (0, import_react31.createElement)(
3565
3551
  "div",
3566
3552
  { title: "body[data-ds-dark-theme]" },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-plugin-core-demo",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "description": "dsh-plugin-core 的组件预览插件:装进 DSH 宿主后,在真实宿主环境里预览控件与业务组件",
5
5
  "keywords": ["deepseek", "harness", "dsh", "dsh-plugin", "dsh-plugin-core"],
6
6
  "homepage": "https://github.com/cq-guojia/dsh-plugin-core/tree/main/packages/demo",