dsh-plugin-core-demo 0.3.0 → 0.5.0
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 +157 -80
- package/dist/index.js +1 -1
- package/package.json +4 -1
package/dist/client.js
CHANGED
|
@@ -116,7 +116,7 @@ function createStyleKit(options) {
|
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
// dist/ui/controls/segmented-css.generated.js
|
|
119
|
-
var SEGMENTED_CSS = "\n/* \u2500\u2500 \u5206\u6BB5\u63A7\u4EF6 P2 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n \u7ED3\u6784\u7167\u5144\u5F1F\u9879\u76EE dsh-task-dispatch-table \u7684 Segmented \u76AE\u80A4\uFF08item \u65E0\u8FB9\u6846\u3001hover \u53EA\u63D0\u4EAE\u6587\u5B57\uFF09\uFF0C\n \u524D\u7F00 / \u53D8\u91CF\u540D\u6362\u6210\u672C\u4ED3\u53E3\u5F84\u3002\u7528\u6237\u989D\u5916\u8981\u7684\u4E24\u5904\uFF08\u5144\u5F1F\u6CA1\u6709\uFF09\uFF1Aweekday \u65B9\u5757\u95F4\u9694\uFF08\u73B0\u4E3A 2px\uFF09\uFF1B\u6BB5\u5185\u4E2D\u6027\u8BA1\u6570 __count\u3002\n \u26A0\uFE0F 2026-10-19 \u4E24\u6B21\u8BEF\u5224\u5747\u5DF2\u6F84\u6E05\uFF1A\u2460 \u300C\u5BBF\u4E3B\u53EA\u8BA4\u5355\u884C CSS\u300D\u2014\u2014\u5047\uFF0C\u591A\u884C\u4E00\u76F4\u6B63\u5E38\uFF1B\n \u2461 \u300C\u5BBF\u4E3B\u5403\u6389 token \u5757\u4E4B\u540E\u7B2C\u4E00\u6761\u89C4\u5219\u300D\u2014\u2014\u4E5F\u5047\uFF0C\u771F\u56E0\u662F tokens \u6A21\u677F\u5B57\u7B26\u4E32\u7ED3\u5C3E\u591A\u4E86\u4E00\u4E2A\u53CD\u659C\u6760\uFF0C\n \u6CE8\u5165\u6587\u672C\u91CC\u7559\u4E0B\u5B57\u9762\u53CD\u5F15\u53F7\uFF0C\u628A\u7D27\u968F\u5176\u540E\u7684\u90A3\u6761\u89C4\u5219\u7684\u9009\u62E9\u5668\u6C61\u67D3\u6389\u4E86\uFF08\u89C1 dsh-host.md \xA79\uFF09\u3002\n \u6837\u5F0F\u7167\u5E38\u591A\u884C\u4E66\u5199\uFF0C\u4E0D\u5FC5\u538B\u884C\uFF1B\u4E5F\u4E0D\u9700\u8981\u4EFB\u4F55\u300C\u727A\u7272\u89C4\u5219\u300D\u3002 */\n.dshpc-seg{display:inline-flex;align-items:center;gap:2px;padding:
|
|
119
|
+
var SEGMENTED_CSS = "\n/* \u2500\u2500 \u5206\u6BB5\u63A7\u4EF6 P2 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n \u7ED3\u6784\u7167\u5144\u5F1F\u9879\u76EE dsh-task-dispatch-table \u7684 Segmented \u76AE\u80A4\uFF08item \u65E0\u8FB9\u6846\u3001hover \u53EA\u63D0\u4EAE\u6587\u5B57\uFF09\uFF0C\n \u524D\u7F00 / \u53D8\u91CF\u540D\u6362\u6210\u672C\u4ED3\u53E3\u5F84\u3002\u7528\u6237\u989D\u5916\u8981\u7684\u4E24\u5904\uFF08\u5144\u5F1F\u6CA1\u6709\uFF09\uFF1Aweekday \u65B9\u5757\u95F4\u9694\uFF08\u73B0\u4E3A 2px\uFF09\uFF1B\u6BB5\u5185\u4E2D\u6027\u8BA1\u6570 __count\u3002\n \u26A0\uFE0F 2026-10-19 \u4E24\u6B21\u8BEF\u5224\u5747\u5DF2\u6F84\u6E05\uFF1A\u2460 \u300C\u5BBF\u4E3B\u53EA\u8BA4\u5355\u884C CSS\u300D\u2014\u2014\u5047\uFF0C\u591A\u884C\u4E00\u76F4\u6B63\u5E38\uFF1B\n \u2461 \u300C\u5BBF\u4E3B\u5403\u6389 token \u5757\u4E4B\u540E\u7B2C\u4E00\u6761\u89C4\u5219\u300D\u2014\u2014\u4E5F\u5047\uFF0C\u771F\u56E0\u662F tokens \u6A21\u677F\u5B57\u7B26\u4E32\u7ED3\u5C3E\u591A\u4E86\u4E00\u4E2A\u53CD\u659C\u6760\uFF0C\n \u6CE8\u5165\u6587\u672C\u91CC\u7559\u4E0B\u5B57\u9762\u53CD\u5F15\u53F7\uFF0C\u628A\u7D27\u968F\u5176\u540E\u7684\u90A3\u6761\u89C4\u5219\u7684\u9009\u62E9\u5668\u6C61\u67D3\u6389\u4E86\uFF08\u89C1 dsh-host.md \xA79\uFF09\u3002\n \u6837\u5F0F\u7167\u5E38\u591A\u884C\u4E66\u5199\uFF0C\u4E0D\u5FC5\u538B\u884C\uFF1B\u4E5F\u4E0D\u9700\u8981\u4EFB\u4F55\u300C\u727A\u7272\u89C4\u5219\u300D\u3002 */\n/* \u5916\u89C2\u53EA\u6709\u4E00\u5957\uFF082026-10-26\uFF09\uFF1A\u539F variant \u7684 default / inset \u4E24\u6863\u5728 CSS \u91CC\u53EA\u5DEE 1px \u5185\u8DDD\uFF0C\n \u4E14 default \u6BD4\u6587\u6863\u627F\u8BFA\u77EE 2px\uFF0C\u5374\u8BA9\u4E0B\u6E38\u4EE5\u4E3A\u300C\u6709\u5F97\u9009\u300D\u800C\u53CD\u590D\u5BF9\u56FE \u21D2 \u6574\u8F74\u5220\u9664\u3002\n padding 3px \u662F\u5C3A\u5BF8\u5951\u7EA6\u7684\u4E00\u90E8\u5206\uFF1Aitem \u9AD8\u5EA6 = \u63A7\u5236\u9AD8 \u2212 6px\uFF0C\u52A0\u8D77\u6765\u6B63\u597D 24 / 28 / 32\u3002 */\n.dshpc-seg{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:var(--dshpc-radius-md);--seg-thumb:var(--dshpc-surface-raised);background:var(--dshpc-seg-track);}\n.dshpc-seg__item{appearance:none;display:inline-flex;align-items:center;gap:4px;box-sizing:border-box;height:calc(var(--dshpc-control-h-sm) - 6px);padding:0 12px;border:0;border-radius:var(--dshpc-radius-sm);background:transparent;color:var(--dshpc-fg-2);font-family:inherit;font-size:var(--dshpc-font-xs);font-weight:500;white-space:nowrap;cursor:pointer;flex:none;transition:color var(--dshpc-dur-fast) var(--dshpc-ease),background-color var(--dshpc-dur-fast) var(--dshpc-ease),box-shadow var(--dshpc-dur-fast) var(--dshpc-ease);}\n.dshpc-seg--md .dshpc-seg__item{height:calc(var(--dshpc-control-h-md) - 6px);}\n.dshpc-seg--lg .dshpc-seg__item{height:calc(var(--dshpc-control-h-lg) - 6px);}\n.dshpc-seg__item:hover:not([aria-pressed='true']):not(:disabled){color:var(--dshpc-fg);}\n.dshpc-seg__item[aria-pressed='true']{background:var(--seg-thumb);box-shadow:var(--dshpc-shadow-raised);color:var(--dshpc-fg);font-weight:600;}\n.dshpc-seg__item:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:-2px;}\n.dshpc-seg__item:disabled{cursor:default;opacity:.4;}\n/* \u6BB5\u5185\u89D2\u6807\uFF08\u5982\u300C\u5F02\u5E38\u300D\u7684\u6570\u91CF\uFF09\uFF1A\u8BED\u4E49\u8272\u5B9E\u9762 + \u53CD\u767D\u5B57\uFF0C0 \u7531\u7EC4\u4EF6\u4FA7\u4E0D\u6E32\u67D3\u3002\u5FC5\u987B\u662F\u6B63\u5706\uFF08\u7528\u6237 2026-10-03\uFF09\u3002 */\n.dshpc-seg__badge{display:inline-flex;align-items:center;justify-content:center;flex:none;width:16px;height:16px;padding:0;overflow:hidden;border-radius:50%;background:var(--dshpc-danger);color:var(--dshpc-on-signal);font-size:10px;line-height:16px;font-weight:500;font-variant-numeric:tabular-nums;}\n/* \u6BB5\u5185\u4E2D\u6027\u8BA1\u6570\uFF08\u5982\u7B5B\u9009\u6761\u300C\u5168\u90E8 11\u300D\uFF09\uFF1A\u7EAF\u6587\u5B57\u3001\u65E0\u5E95\u65E0\u8FB9\uFF08\u5BF9\u9F50 task-ledger .dtl-seg__num \u62CD\u677F\u53E3\u5F84\uFF09\uFF1B0 \u7531\u7EC4\u4EF6\u4FA7\u4E0D\u6E32\u67D3\u3002 */\n.dshpc-seg__count{display:inline;flex:none;margin-left:3px;padding:0;border:0;border-radius:0;background:none;color:var(--dshpc-fg-3);font-size:10px;line-height:1;font-weight:400;font-variant-numeric:tabular-nums;}\n/* block\uFF1A\u6491\u6EE1\u7236\u5BBD\uFF08\u8868\u5355\u884C\u7528\uFF09\uFF0C\u5404\u6BB5\u7B49\u5206 */\n.dshpc-seg--block{display:flex;width:100%;}\n.dshpc-seg--block .dshpc-seg__item{flex:1 1 auto;justify-content:center;}\n/* weekday\uFF1A\u661F\u671F\u591A\u9009\u65B9\u5757\u3002\u57FA\u7840\u63D2\u4EF6\u7684\u7279\u6B8A\u5316\u5B9A\u5236\uFF08\u7528\u6237 2026-10-01\uFF1A\u539F WeekdayPicker \u5373\u300C\u84DD\u5E95 + \u8FD1\u4F3C\u65B9\u5F62\u300D\uFF09\uFF1A\n \u6BCF\u683C\u6B63\u65B9\u5F62\uFF08\u5BBD = \u6BB5\u9AD8\uFF09\u3001\u9009\u4E2D\u54C1\u724C\u84DD\u53CD\u767D\u5B57\u3001**\u65E0\u5916\u63CF\u8FB9**\uFF082026-10-18 \u91CD\u7533\uFF09\u3001\n \u65B9\u5757\u4E4B\u95F4\u95F4\u8DDD gap:2px\uFF082026-10-20 \u7528\u6237\u5B9A\u7A3F\uFF1A\u65B9\u5757\u6539\u5C0F\u540E 6px \u663E\u5F97\u592A\u5BBD\u300210-18 \u66FE\u4ECE 2px \u653E\u5BBD\u5230 6px\uFF0C\n \u4E24\u6B21\u90FD\u662F\u7528\u6237\u62CD\u677F \u2014\u2014 \u522B\u81EA\u4F5C\u4E3B\u5F20\u6539\u56DE\u53BB\uFF09\u3002 */\n.dshpc-seg--weekday{--seg-track:var(--dshpc-seg-track);gap:2px;border:0;padding:3px;background:var(--seg-track);}\n.dshpc-seg--weekday .dshpc-seg__item{width:calc(var(--dshpc-control-h-lg) - 8px);padding:0;justify-content:center;}\n.dshpc-seg--weekday .dshpc-seg__item[aria-pressed='true']{background:var(--dshpc-business);color:var(--dshpc-fg-inverse);box-shadow:var(--dshpc-shadow-raised);}\n\n/* \u2500\u2500 \u5355\u9009\u6ED1\u52A8\u5757\uFF082026-10-26 \u7528\u6237\uFF1A\u70B9\u9009\u540E\u9009\u4E2D\u5E95\u5E94\u300C\u6ED1\u8FC7\u53BB\u300D\uFF0C\u4E0D\u662F\u65E7\u6BB5\u6D88\u5931\u3001\u65B0\u6BB5\u76F4\u63A5\u4EAE\uFF09\u3002\n \u7ED3\u6784 = \u4E00\u5757\u7EDD\u5BF9\u5B9A\u4F4D\u7684\u5171\u7528\u5E95 + \u5404\u6BB5\u900F\u660E\uFF1B\u4F4D\u7F6E/\u5C3A\u5BF8\u7531\u7EC4\u4EF6\u91CF\u51FA\u540E\u5185\u8054\uFF0C\u8FD9\u91CC\u53EA\u7BA1\u5916\u89C2\u4E0E\u8FC7\u6E21\u3002\n --slide \u53EA\u5728\u5355\u9009\u6302\u4E0A\uFF1A\u591A\u9009\uFF08\u5982\u661F\u671F\uFF09\u6BCF\u6BB5\u5404\u81EA\u7740\u8272\uFF0C\u6CA1\u6709\u552F\u4E00\u6ED1\u5757\u53EF\u6ED1\uFF0C\u4FDD\u6301\u539F\u6837\u3002 */\n.dshpc-seg--slide{position:relative;}\n.dshpc-seg--slide .dshpc-seg__item{position:relative;z-index:1;}\n.dshpc-seg--slide .dshpc-seg__item[aria-pressed='true']{background:transparent;box-shadow:none;}\n.dshpc-seg__thumb{position:absolute;z-index:0;border-radius:var(--dshpc-radius-sm);background:var(--seg-thumb);box-shadow:var(--dshpc-shadow-raised);pointer-events:none;transition:left var(--dshpc-dur) var(--dshpc-ease),top var(--dshpc-dur) var(--dshpc-ease),width var(--dshpc-dur) var(--dshpc-ease),height var(--dshpc-dur) var(--dshpc-ease);}\n.dshpc-seg--weekday.dshpc-seg--slide .dshpc-seg__thumb{background:var(--dshpc-business);}\n\n/* \u2500\u2500 bordered \u5916\u6846\uFF082026-10-20 \u7528\u6237\u8981\u7684\u7B2C\u4E8C\u79CD\u6A21\u5F0F\uFF09\uFF1A**\u53EA\u5728\u6700\u5916\u9762\u5957\u4E00\u5708 1px \u63CF\u8FB9**\uFF0C\n \u91CC\u9762\u4E00\u6982\u4E0D\u52A8 \u2014\u2014 \u9009\u4E2D\u7247\u7684\u586B\u5145\u8272 / \u9634\u5F71 / \u6587\u5B57\u8272\u5168\u90E8\u4FDD\u6301\u539F\u6837\uFF08weekday \u7684\u84DD\u9762\u7167\u65E7\uFF09\uFF0C\n \u8FD9\u91CC\u4E0D\u5199\u4EFB\u4F55\u9488\u5BF9 __item \u7684\u89C4\u5219\u3002\n \u603B\u9AD8\u5FC5\u987B\u4E0E\u65E0\u6846\u7248\u9010\u50CF\u7D20\u4E00\u81F4\uFF1Aborder 1px\xD72 \u7531 padding \u5404\u8BA9 1px \u62B5\u6D88\uFF083 \u2192 2\uFF09\uFF1B\n weekday \u81EA\u5DF1\u58F0\u660E\u7684 3px \u5728\u6587\u4EF6\u66F4\u540E\u9762\uFF0C\u9760\u53CC\u7C7B\u9009\u62E9\u5668\u538B\u56DE 2px\u3002 */\n.dshpc-seg--bordered{border:1px solid var(--dshpc-border);padding:2px;}\n.dshpc-seg--bordered.dshpc-seg--weekday{padding:2px;}\n\n@media (prefers-reduced-motion: reduce){.dshpc-seg__item{transition:none;}.dshpc-seg__thumb{transition:none;}}\n";
|
|
120
120
|
|
|
121
121
|
// dist/ui/controls/button-css.generated.js
|
|
122
122
|
var BUTTON_CSS = '\n/* \u2500\u2500 \u6309\u94AE / \u56FE\u6807\u94AE P2 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n \u4E0E Segmented \u540C\u4E00\u6761\u9AD8\u5EA6\u7EAA\u5F8B\uFF1A--dshpc-control-h-sm(24) / -md(28) / -lg(32)\uFF0C\n \u6709\u8FB9\u6846\u7684 variant \u7528 1px \u771F\u8FB9\u6846 + \u5185\u90E8 padding \u8865\u56DE\uFF0C**\u6709\u8FB9 / \u65E0\u8FB9\u540C\u9AD8**\u3002\n\n \u4E09\u6761\u53D7\u63A7\u8F74\uFF082026-10-19 \u91CD\u5199\uFF0C\u5BF9\u9F50\u4E3B\u6D41 UI \u6846\u67B6\u7684\u5206\u7C7B\u53E3\u5F84\uFF09\uFF1A\n \xB7 variant \u2014\u2014 \u5916\u89C2\u6863 = \u5F62\u6001 + \u8BED\u4E49\u8272\uFF0C\u5171 10 \u6863\uFF1A\n primary / secondary / outline / ghost / danger / success / warning / info /\n danger-outline\uFF08\u7EA2\u5B57\u63CF\u8FB9\uFF09/ link\uFF08\u884C\u5185\u94FE\u63A5\uFF09\n \xB7 size \u2014\u2014 sm / md / lg\n \xB7 block \u2014\u2014 \u6491\u6EE1\u7236\u5BBD\n \u6BCF\u4E00\u6863**\u53EA\u586B 5 \u4E2A\u5C40\u90E8\u53D8\u91CF**\uFF08--btn-bg / -fg / -border / -bg-hover / -bg-active\uFF09\uFF0C\n \u7ED3\u6784\u4E0E\u4EA4\u4E92\u53EA\u6709\u4E0A\u9762\u8FD9\u4E00\u4EFD\uFF1B\u4EFB\u4F55\u6863\u4F4D\u90FD\u4E0D\u8BB8\u518D\u5199\u4E00\u904D display/height/padding\u3002\n \u81EA\u5B9A\u4E49\u989C\u8272\uFF08Button \u7684 color \u53C2\u6570\uFF09\u540C\u6837\u53EA\u8986\u76D6\u8FD9 5 \u4E2A\u53D8\u91CF\uFF08token \u8986\u76D6\uFF0C\u4E0D\u662F\u65B0\u76AE\u80A4\uFF09\u3002\n\n \u26A0\uFE0F hover \u4E0D\u518D\u7528 opacity \u538B\u4E00\u5C42\uFF08\u7528\u6237 2026-10-19\uFF1A\u300C\u9ED1\u8272\u548C\u7EA2\u8272\u7684\u6309\u94AE\u79FB\u4E0A\u53BB\u53D8\u5316\u592A\u5C0F\uFF0C\n \u5B8C\u5168\u611F\u89C9\u4E0D\u5230\u989C\u8272\u53D8\u4E86\u300D\uFF09\u21D2 \u8D70 --dshpc-*-hover / -active \u7684\u660E\u786E\u6DF7\u8272\uFF0C\u89C1 tokens-css.ts\u3002 */\n.dshpc-btn{--btn-bg:transparent;--btn-fg:var(--dshpc-fg);--btn-border:transparent;--btn-pad:12px;\n --btn-bg-hover:var(--dshpc-hover);--btn-bg-active:var(--dshpc-active);--btn-fg-hover:var(--btn-fg);\n appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;\n box-sizing:border-box;border:1px solid var(--btn-border);border-radius:var(--dshpc-radius-md);\n background-color:var(--btn-bg);color:var(--btn-fg);font-family:inherit;font-weight:500;white-space:nowrap;cursor:pointer;\n transition:background-color var(--dshpc-dur-fast) var(--dshpc-ease),border-color var(--dshpc-dur-fast) var(--dshpc-ease),color var(--dshpc-dur-fast) var(--dshpc-ease),box-shadow var(--dshpc-dur-fast) var(--dshpc-ease),transform var(--dshpc-dur-fast) var(--dshpc-ease);}\n.dshpc-btn--sm{--btn-pad:10px;height:var(--dshpc-control-h-sm);padding:0 var(--btn-pad);font-size:var(--dshpc-font-sm);line-height:1;}\n.dshpc-btn--md{--btn-pad:12px;height:var(--dshpc-control-h-md);padding:0 var(--btn-pad);font-size:var(--dshpc-font-md);line-height:1;}\n.dshpc-btn--lg{--btn-pad:14px;height:var(--dshpc-control-h-lg);padding:0 var(--btn-pad);font-size:var(--dshpc-font-md);line-height:1;}\n/* block\uFF1A\u6491\u6EE1\u7236\u5BBD\uFF08\u8868\u5355\u5E95\u680F / \u62BD\u5C49\u5E95\u90E8\u7684\u4E3B\u64CD\u4F5C\uFF09 */\n.dshpc-btn--block{display:flex;width:100%;}\n/* block + \u524D\u7F6E\u56FE\u6807 \u21D2 \u6587\u5B57\u89C6\u89C9\u5C45\u4E2D\uFF082026-10-19 \u7528\u6237\u70B9\u540D\uFF09\uFF1A\n \u5185\u5BB9\u7EC4 [\u56FE\u6807 + \u95F4\u8DDD + \u6587\u5B57] \u6574\u4F53\u5728\u76D2\u5185\u5C45\u4E2D\u65F6\uFF0C**\u6587\u5B57**\u7684\u4E2D\u5FC3\u4F1A\u88AB\u56FE\u6807\u63A8\u53F3\u534A\u683C\u3002\n \u628A\u53F3\u5185\u8FB9\u8DDD\u8865\u4E0A\u300C\u56FE\u6807\u5BBD + \u95F4\u8DDD\u300D\uFF0C\u53EF\u7528\u76D2\u968F\u4E4B\u5DE6\u79FB\u540C\u91CF \u21D2 \u6587\u5B57\u843D\u56DE\u89C6\u89C9\u4E2D\u5FC3\uFF0C\u56FE\u6807\u8D34\u5DE6\u4FA7\u3002\n \u56FE\u6807\u5BBD\u6309 1.2em \u4F30\uFF08\u5B98\u65B9\u56FE\u6807 14/16px vs \u5B57\u53F7 12/13px\uFF09\uFF0Cem \u968F\u5B57\u53F7\u6863\u81EA\u52A8\u7F29\u653E\u3002 */\n.dshpc-btn--block.dshpc-btn--icon-start{padding-right:calc(var(--btn-pad) + 1.2em + 6px);}\n.dshpc-btn__icon,.dshpc-btn__icon-end{display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:0;}\n.dshpc-btn__icon svg,.dshpc-btn__icon-end svg{display:block;margin:0;}\n/* loading\uFF1A\u4E0D\u6362 DOM \u7ED3\u6784\uFF0C\u53EA\u5728\u6587\u6848\u524D\u63D2\u4E00\u4E2A\u540C\u8272\u5C0F\u5708\u3002\n \u26A0\uFE0F 2026-10-20 \u6539\u753B\u6CD5\uFF1A\u539F\u6765\u662F border:1.5px \u52A0 border-radius:999px \u753B\u7684\u73AF \u2014\u2014 \u771F\u673A\u5B9E\u6D4B computed\n radius \u5C31\u662F 999px\u3001\u5BBD\u9AD8\u90FD\u662F 12px\uFF08\u6CA1\u88AB\u4EFB\u4F55\u6837\u5F0F\u8986\u76D6\uFF09\uFF0C\u770B\u7740\u5374"\u50CF\u5706\u89D2\u65B9"\uFF0C\u539F\u56E0\u662F**\u6B21\u50CF\u7D20\u8FB9\u6846\n \uFF081.5px\uFF09\u5728 12px \u8FD9\u4E48\u5C0F\u7684\u5706\u4E0A\u88AB\u6297\u952F\u9F7F\u63D2\u503C\u62C9\u6BDB**\u3002\u6539\u7528 SVG \u77E2\u91CF\u5F27\uFF1A\u4EFB\u610F DPR \u4E0B\u90FD\u662F\u771F\u5706\u3002 */\n.dshpc-btn__spinner{display:block;flex:none;width:12px;height:12px;\n animation:dshpc-btn-spin .7s linear infinite;}\n/* shortcut: 12px \u662F\u56FA\u5B9A\u503C\uFF0C\u4E0D\u968F\u6309\u94AE\u5B57\u53F7\u7F29\u653E\uFF1B\u8981\u66F4\u5927\u5C31\u6539\u8FD9\u4E00\u5904\u3002 */\n@keyframes dshpc-btn-spin{to{transform:rotate(360deg)}}\n\n/* \u4EA4\u4E92\u6001\uFF1A\u989C\u8272\u53D8\u5316\u5199\u5728\u53D8\u91CF\u4E0A \u21D2 \u6240\u6709\u6863\u4F4D\u4E00\u6B21\u751F\u6548\uFF0C\u4E14\u53D8\u5316\u5E45\u5EA6\u7531 token \u51B3\u5B9A\uFF08\u591F\u660E\u663E\uFF09 */\n.dshpc-btn:hover:not(:disabled){background-color:var(--btn-bg-hover);color:var(--btn-fg-hover);}\n.dshpc-btn:active:not(:disabled){background-color:var(--btn-bg-active);transform:translateY(1px);}\n.dshpc-btn:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:2px;}\n.dshpc-btn:disabled{cursor:default;opacity:.5;}\n\n.dshpc-btn--primary{--btn-bg:var(--dshpc-accent);--btn-fg:var(--dshpc-fg-inverse);\n --btn-bg-hover:var(--dshpc-accent-hover);--btn-bg-active:var(--dshpc-accent-active);}\n/* secondary\uFF1A\u4E2D\u6027\u5B9E\u5FC3\uFF08\u7070\u9762\uFF09\uFF0C\u7528\u4E8E\u300C\u53D6\u6D88 / \u6B21\u8981\u300D\u8FD9\u7C7B\u4E0E\u4E3B\u64CD\u4F5C\u5E76\u6392\u7684\u6309\u94AE */\n.dshpc-btn--secondary{--btn-bg:var(--dshpc-hover);--btn-fg:var(--dshpc-fg);\n --btn-bg-hover:var(--dshpc-active);--btn-bg-active:var(--dshpc-active);}\n.dshpc-btn--outline{--btn-bg:var(--dshpc-surface-1);--btn-border:var(--dshpc-border-strong);\n --btn-bg-hover:var(--dshpc-hover);--btn-bg-active:var(--dshpc-active);}\n.dshpc-btn--ghost{--btn-fg:var(--dshpc-fg-2);--btn-fg-hover:var(--dshpc-fg);\n --btn-bg-hover:var(--dshpc-hover);--btn-bg-active:var(--dshpc-active);}\n.dshpc-btn--danger{--btn-bg:var(--dshpc-danger);--btn-fg:var(--dshpc-on-signal);\n --btn-bg-hover:var(--dshpc-danger-hover);--btn-bg-active:var(--dshpc-danger-active);}\n.dshpc-btn--success{--btn-bg:var(--dshpc-success);--btn-fg:var(--dshpc-on-signal);\n --btn-bg-hover:var(--dshpc-success-hover);--btn-bg-active:var(--dshpc-success-active);}\n.dshpc-btn--warning{--btn-bg:var(--dshpc-warning);--btn-fg:var(--dshpc-on-warning);\n --btn-bg-hover:var(--dshpc-warning-hover);--btn-bg-active:var(--dshpc-warning-active);}\n.dshpc-btn--info{--btn-bg:var(--dshpc-business);--btn-fg:var(--dshpc-on-signal);\n --btn-bg-hover:var(--dshpc-business-hover);--btn-bg-active:var(--dshpc-business-active);}\n/* danger-outline\uFF1A\u7EA2\u5B57\u63CF\u8FB9\uFF08\u7834\u574F\u6027\u6B21\u8981\u64CD\u4F5C\uFF0C\u5982\u5361\u7247\u4E0A\u7684\u300C\u5220\u9664\u300D\uFF09\u3002\n \u26A0\uFE0F \u65E7\u4FEE\u9970\u7C7B danger-ink \u4FDD\u7559\u4E3A\u522B\u540D\uFF08\u6D88\u8D39\u65B9\u53EF\u80FD\u8FD8\u5728\u6302\uFF09\uFF0C\u4E24\u8005\u540C\u4E00\u5957\u76AE\u80A4\u3002 */\n.dshpc-btn--danger-outline,.dshpc-btn--danger-ink{--btn-border:var(--dshpc-danger);--btn-fg:var(--dshpc-danger);\n --btn-fg-hover:var(--dshpc-danger);--btn-bg-hover:var(--dshpc-danger-soft);--btn-bg-active:var(--dshpc-danger-soft);}\n/* link\uFF1A\u884C\u5185\u6587\u5B57\u94FE\u63A5\u578B\uFF08\u4F1A\u8BDD / \u4EA7\u51FA\u6587\u4EF6\u540D\uFF09\uFF0C\u65E0\u5E95\u65E0\u8FB9\u3001\u54C1\u724C\u84DD\u3001hover \u4E0B\u5212\u7EBF */\n.dshpc-btn--link{--btn-fg:var(--dshpc-link);--btn-fg-hover:var(--dshpc-link);\n --btn-bg-hover:transparent;--btn-bg-active:transparent;\n height:auto;padding:0;border:0;background:none;font-weight:400;text-align:left;}\n.dshpc-btn--link:hover:not(:disabled){text-decoration:underline;}\n\n/* \u56FE\u6807\u94AE\uFF1A\u7EAF\u56FE\u6807\uFF0C\u65B9\u5F62\uFF1B\u5C3A\u5BF8\u6863\u7684\u5BBD\u9AD8\u4E0E\u540C\u6863\u6587\u5B57\u6309\u94AE\u7B49\u9AD8 */\n.dshpc-iconbtn{appearance:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;\n border:1px solid transparent;border-radius:var(--dshpc-radius-sm);background:transparent;color:var(--dshpc-fg-2);\n font-family:inherit;cursor:pointer;flex:none;\n transition:background-color var(--dshpc-dur-fast) var(--dshpc-ease),border-color var(--dshpc-dur-fast) var(--dshpc-ease),color var(--dshpc-dur-fast) var(--dshpc-ease),opacity var(--dshpc-dur-fast) var(--dshpc-ease);}\n.dshpc-iconbtn--sm{width:var(--dshpc-control-h-sm);height:var(--dshpc-control-h-sm);font-size:var(--dshpc-font-sm);}\n.dshpc-iconbtn--md{width:var(--dshpc-control-h-md);height:var(--dshpc-control-h-md);font-size:var(--dshpc-font-md);}\n.dshpc-iconbtn--lg{width:var(--dshpc-control-h-lg);height:var(--dshpc-control-h-lg);font-size:var(--dshpc-font-md);}\n.dshpc-iconbtn--plain{color:var(--dshpc-fg-2);}\n.dshpc-iconbtn--outline{background:var(--dshpc-surface-1);border-color:var(--dshpc-border);color:var(--dshpc-fg-2);}\n.dshpc-iconbtn--danger{color:var(--dshpc-danger);}\n.dshpc-iconbtn:hover:not(:disabled){background:var(--dshpc-hover);color:var(--dshpc-fg);}\n.dshpc-iconbtn--danger:hover:not(:disabled){background:var(--dshpc-danger-soft);color:var(--dshpc-danger);}\n.dshpc-iconbtn:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:2px;}\n.dshpc-iconbtn:disabled{cursor:default;opacity:.4;}\n\n/* \u2500\u2500 \u884C\u5F0F\u6587\u4EF6\u6309\u94AE\uFF08\u56FE\u6807 + \u6587\u4EF6\u540D\uFF09P2\uFF1A**\u5168\u7AD9\u552F\u4E00\u5B9E\u73B0**\uFF082026-10-04 \u6536\u7F16\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n \u7528\u9014\uFF1A\u300C\u4EA7\u51FA\u7269 / \u9644\u4EF6\u300D\u90A3\u79CD**\u4E00\u884C\u4E00\u4E2A\u6587\u4EF6**\u7684\u6E05\u5355\u9879\uFF08\u57FA\u7840\u4FE1\u606F\u53F3\u680F\u4EA7\u51FA\u7269\u6E05\u5355\u3001\u9644\u4EF6\u533A\u3001\n \u6267\u884C\u8BB0\u5F55\u9875\u7684\u5C55\u5F00\u533A\uFF09\u3002\u5E73\u65F6\u900F\u660E\u3001**\u9F20\u6807\u79FB\u4E0A\u53BB\u624D\u51FA\u6D45\u5E95**\uFF08\u6CBF\u7528\u7528\u6237 2026-10-03 \u5B9A\u7684\u89C2\u611F\uFF09\u3002\n \u4E24\u4E2A\u5F62\u6001\u4FEE\u9970\u7C7B\uFF1A\n --block \u6491\u6EE1\u7236\u5BBD\uFF08\u6E05\u5355\u91CC\u4E00\u9879\u4E00\u884C\uFF09\n --inline \u5185\u5BB9\u5BBD\uFF08\u8DDF\u5728\u6587\u5B57\u540E\u5934\uFF0C\u5982\u9644\u4EF6\u884C\uFF09\n \u6536\u7F16\u539F\u56E0\uFF1A\u8FD9\u4EFD\u76AE\u80A4\u6B64\u524D\u53EA\u5199\u5728 task-list.tsx \u7684 TASK_LIST_CSS \u91CC\uFF08\u65E7\u540D .dshpc-info-out\uFF09\uFF0C\n \u6267\u884C\u8BB0\u5F55\u9875\u5C55\u5F00\u533A\u8981\u7528\u540C\u4E00\u79CD\u89C2\u611F \u21D2 \u4E0A\u63D0\u57FA\u7840\u5C42\uFF0C\u907F\u514D\u518D\u51FA\u73B0\u300C\u5404\u5199\u4E00\u4EFD\u5916\u89C2\u300D\uFF08\u540C\u540D\u4E0D\u540C\u76AE\u7684\u5751\u521A\u8E29\u8FC7\uFF09\u3002 */\n.dshpc-filechip{appearance:none;-webkit-appearance:none;border:0;border-radius:var(--dshpc-radius-xs);\n background:transparent;color:var(--dshpc-fg);font:inherit;text-align:left;cursor:pointer;min-width:0;\n transition:background-color var(--dshpc-dur) var(--dshpc-ease);}\n.dshpc-filechip:hover:not(:disabled){background:var(--dshpc-chip-bg);}\n.dshpc-filechip:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:1px;}\n.dshpc-filechip:disabled{cursor:default;background:transparent;color:var(--dshpc-fg-3);}\n.dshpc-filechip--block{display:flex;align-items:center;gap:6px;width:100%;box-sizing:border-box;\n padding:4px 6px;font-size:var(--dshpc-font-xs);}\n.dshpc-filechip--inline{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;font-size:var(--dshpc-font-sm);}\n\n@media (prefers-reduced-motion: reduce){.dshpc-btn,.dshpc-iconbtn,.dshpc-filechip{transition:none;}}\n';
|
|
@@ -6037,42 +6037,85 @@ function Segmented(props) {
|
|
|
6037
6037
|
ensureControls();
|
|
6038
6038
|
ensureControls();
|
|
6039
6039
|
const size4 = props.size ?? "lg";
|
|
6040
|
-
const variant = props.variant ?? "default";
|
|
6041
6040
|
const multiple = props.multiple === true;
|
|
6042
6041
|
const value = props.value;
|
|
6043
6042
|
const onChange = props.onChange;
|
|
6043
|
+
const sliding = !multiple && props.items.length > 1;
|
|
6044
|
+
const rootRef = (0, import_react20.useRef)(null);
|
|
6045
|
+
const [thumb, setThumb] = (0, import_react20.useState)(null);
|
|
6046
|
+
const measure = (0, import_react20.useCallback)(() => {
|
|
6047
|
+
const sel = rootRef.current?.querySelector('.dshpc-seg__item[aria-pressed="true"]');
|
|
6048
|
+
if (sel === void 0 || sel === null) {
|
|
6049
|
+
setThumb(null);
|
|
6050
|
+
return;
|
|
6051
|
+
}
|
|
6052
|
+
const next = { left: sel.offsetLeft, top: sel.offsetTop, width: sel.offsetWidth, height: sel.offsetHeight };
|
|
6053
|
+
setThumb((cur2) => cur2 !== null && cur2.left === next.left && cur2.top === next.top && cur2.width === next.width && cur2.height === next.height ? cur2 : next);
|
|
6054
|
+
}, []);
|
|
6055
|
+
(0, import_react20.useLayoutEffect)(() => {
|
|
6056
|
+
if (!sliding) {
|
|
6057
|
+
setThumb(null);
|
|
6058
|
+
return;
|
|
6059
|
+
}
|
|
6060
|
+
measure();
|
|
6061
|
+
const root = rootRef.current;
|
|
6062
|
+
if (root === null || typeof ResizeObserver === "undefined")
|
|
6063
|
+
return;
|
|
6064
|
+
const ro = new ResizeObserver(measure);
|
|
6065
|
+
ro.observe(root);
|
|
6066
|
+
return () => ro.disconnect();
|
|
6067
|
+
}, [sliding, measure, value, size4, props.items, props.bordered, props.block]);
|
|
6068
|
+
const renderer2 = getTooltipRenderer();
|
|
6044
6069
|
return (0, import_react20.createElement)("div", {
|
|
6045
6070
|
role: "group",
|
|
6046
6071
|
"aria-label": props.label,
|
|
6047
6072
|
id: props.id,
|
|
6073
|
+
ref: rootRef,
|
|
6048
6074
|
// 结构一套、皮肤只在 controls-css 里;此处只拼「轴」类名,不写任何颜色 / 尺寸字面值。
|
|
6049
|
-
className: `dshpc-seg dshpc-seg--${
|
|
6075
|
+
className: `dshpc-seg dshpc-seg--${size4}${sliding ? " dshpc-seg--slide" : ""}${props.block === true ? " dshpc-seg--block" : ""}${props.bordered === true ? " dshpc-seg--bordered" : ""}${props.className !== void 0 ? ` ${props.className}` : ""}`,
|
|
6050
6076
|
style: props.style
|
|
6051
|
-
},
|
|
6052
|
-
|
|
6053
|
-
|
|
6054
|
-
|
|
6055
|
-
|
|
6056
|
-
|
|
6057
|
-
|
|
6058
|
-
|
|
6059
|
-
|
|
6060
|
-
|
|
6061
|
-
}
|
|
6062
|
-
|
|
6063
|
-
|
|
6064
|
-
|
|
6065
|
-
|
|
6066
|
-
|
|
6067
|
-
|
|
6068
|
-
|
|
6069
|
-
|
|
6070
|
-
|
|
6071
|
-
|
|
6072
|
-
|
|
6073
|
-
|
|
6074
|
-
|
|
6075
|
-
|
|
6077
|
+
}, [
|
|
6078
|
+
sliding && thumb !== null ? (0, import_react20.createElement)("span", {
|
|
6079
|
+
key: "__thumb__",
|
|
6080
|
+
className: "dshpc-seg__thumb",
|
|
6081
|
+
"aria-hidden": true,
|
|
6082
|
+
style: {
|
|
6083
|
+
left: `${String(thumb.left)}px`,
|
|
6084
|
+
top: `${String(thumb.top)}px`,
|
|
6085
|
+
width: `${String(thumb.width)}px`,
|
|
6086
|
+
height: `${String(thumb.height)}px`
|
|
6087
|
+
}
|
|
6088
|
+
}) : null,
|
|
6089
|
+
...props.items.map((item) => {
|
|
6090
|
+
const on = multiple ? value.includes(item.value) : value === item.value;
|
|
6091
|
+
const disabled = item.disabled === true || props.disabled === true;
|
|
6092
|
+
const handle = () => {
|
|
6093
|
+
if (disabled)
|
|
6094
|
+
return;
|
|
6095
|
+
if (multiple) {
|
|
6096
|
+
const arr = value;
|
|
6097
|
+
const next = arr.includes(item.value) ? arr.filter((v) => v !== item.value) : [...arr, item.value];
|
|
6098
|
+
onChange(next);
|
|
6099
|
+
} else {
|
|
6100
|
+
;
|
|
6101
|
+
onChange(item.value);
|
|
6102
|
+
}
|
|
6103
|
+
};
|
|
6104
|
+
const itemButton = (0, import_react20.createElement)("button", {
|
|
6105
|
+
key: item.value,
|
|
6106
|
+
type: "button",
|
|
6107
|
+
className: "dshpc-seg__item",
|
|
6108
|
+
// 选中态用 aria-pressed 表达 ⇒ 读屏可读,皮肤也只认这一个选择器
|
|
6109
|
+
"aria-pressed": on,
|
|
6110
|
+
disabled,
|
|
6111
|
+
onClick: handle
|
|
6112
|
+
}, item.label, item.count !== void 0 && item.count > 0 ? (0, import_react20.createElement)("span", { className: "dshpc-seg__count" }, String(item.count)) : null, item.badge !== void 0 && item.badge > 0 ? (0, import_react20.createElement)("span", { className: "dshpc-seg__badge" }, String(item.badge)) : null);
|
|
6113
|
+
if (item.tooltip !== void 0 && renderer2 !== void 0) {
|
|
6114
|
+
return renderer2({ label: item.tooltip, side: "top", children: itemButton });
|
|
6115
|
+
}
|
|
6116
|
+
return itemButton;
|
|
6117
|
+
})
|
|
6118
|
+
]);
|
|
6076
6119
|
}
|
|
6077
6120
|
|
|
6078
6121
|
// dist/ui/Textarea.js
|
|
@@ -54988,7 +55031,7 @@ var DICT2 = {
|
|
|
54988
55031
|
demoInputFamily: "Input \u5BB6\u65CF",
|
|
54989
55032
|
inputHint: "Input / PrefixedInput / NumberInput / Textarea\uFF0C\u90FD\u652F\u6301 error \u63CF\u7EA2\uFF1B\u4F20 hint \u53C2\u6570\u5373\u81EA\u52A8\u5728\u884C\u5C3E\u6302\u6807\u51C6\u95EE\u53F7\u63D0\u793A\uFF08FieldHint \u672C\u4F53\u4ECD\u53EF\u5355\u72EC\u7528\uFF09",
|
|
54990
55033
|
switchTip: "\u5B98\u65B9 Switch\uFF08\u542F\u7528\u8BED\u4E49\uFF0C\u4E0D\u662F\u52FE\u9009\uFF09+ Checkbox + Segmented",
|
|
54991
|
-
checkboxHint: "\u5916\u89C2\u5BF9\u9F50\u771F\u5B9E\u63D2\u4EF6\uFF1A\u7070\u5E95
|
|
55034
|
+
checkboxHint: "\u5916\u89C2\u5BF9\u9F50\u771F\u5B9E\u63D2\u4EF6\uFF1A\u7070\u5E95\u8F68\u9053 + \u767D\u8272\u9009\u4E2D\u7247\uFF1Bbordered \u662F\u5916\u6846\u6B3E\uFF08\u6700\u53F3\uFF0C\u53EF\u70B9\u7740\u73A9\uFF09\uFF1B\u661F\u671F\u65B9\u5757\u662F\u591A\u9009\u3002\u6587\u6848\u968F\u8BED\u8A00\u5207\u6362",
|
|
54992
55035
|
pickerHint: '\u5355\u9009 / \u591A\u9009 / \u4E0A\u9650 / \u641C\u7D22\uFF08searchable \u5F00\u5173\uFF09/ \u5206\u7EC4 / \u7A7A\u6001 / \u964D\u7EA7\uFF1B\u89E6\u53D1\u5668\u4E0E\u9009\u9879\u90FD\u652F\u6301\u524D\u7F6E icon\uFF1B\u6587\u5B57\u9ED8\u8BA4\u5C45\u5DE6\uFF08align="center" \u624D\u5C45\u4E2D\uFF09\uFF1B\u591A\u9009\u5230\u4E0A\u9650\u540E\u5DF2\u9009\u9879\u4ECD\u53EF\u70B9\u9009\u53D6\u6D88',
|
|
54993
55036
|
dateTimePickerHint: "\u4E00\u4E2A\u63A7\u4EF6\u4E09\u79CD\u7528\u6CD5\uFF1Asingle / range \xD7 precision\uFF08day / hour / minute / second\uFF09\uFF1B\u6D6E\u5C42\u65E0\u906E\u7F69\u3001\u4E0E Picker \u540C\u673A\u5236\uFF1Brange \u5F39\u5C42\u662F\u5DE6\u53F3\u4E24\u5757\u72EC\u7ACB\u65E5\u5386\uFF08\u5DE6\u5F00\u59CB\u3001\u53F3\u7ED3\u675F\uFF0C\u5404\u9009\u5404\u7684\uFF09\uFF1B\u65F6\u5206\u79D2\u8D70\u6B65\u8FDB\uFF08\u25B2\u25BC / \u952E\u5165 / \u2191\u2193\uFF09\uFF0C\u4E0D\u7528\u9010\u683C\u70B9 60 \u5206\u949F\uFF0C\u4E5F\u4E0D\u5F3A\u5236\u5148\u9009\u65E5\u671F\uFF1B\u5FEB\u6377\u952E day \u7CBE\u5EA6\u53EB\u300C\u4ECA\u5929\u300D\u3001\u5E26\u65F6\u5206\u79D2\u53EB\u300C\u73B0\u5728\u300D\uFF1B\u8349\u7A3F\u6001\uFF0C\u300C\u786E\u5B9A\u300D\u624D\u63D0\u4EA4\uFF1Bday \u7CBE\u5EA6\u4E0B\u7ED3\u675F\u7AEF\u81EA\u52A8\u8865 23:59:59.999\uFF08\u6570\u636E\u5E93\u53EA\u6536\u5230\u79D2\u65F6\u4F18\u96C5\u9000\u5316\uFF09",
|
|
54994
55037
|
modelPickerHint: "grouped \u5206\u7EC4\uFF08\u4E00\u4E2A\u4E0B\u62C9\u3001\u5382\u5546\u505A\u7EC4\u5934\u3001\u5B8C\u5168\u72EC\u7ACB\uFF09/ cascade \u8054\u52A8\uFF08\u4F9B\u5E94\u5546\u3001\u6A21\u578B\u4E24\u4E2A\u4E0B\u62C9\u8054\u52A8\uFF09\u2014\u2014\u4E24\u79CD\u5F62\u6001 onChange \u90FD\u53D1\u6700\u7EC8\u6A21\u578B value\uFF1B\u300C\u9ED8\u8BA4\u6A21\u578B\u300D\u9009\u9879\u9ED8\u8BA4\u63D0\u4F9B\uFF08\u9009\u4E2D\u53D1\u7A7A\u4E32\uFF0C\u5173\u95ED\u4F20 allowDefault: false\uFF09\uFF1B\u76EE\u5F55\u81EA\u52A8\u6765\u81EA\u5BBF\u4E3B",
|
|
@@ -55109,8 +55152,14 @@ var DICT2 = {
|
|
|
55109
55152
|
docApiDesc: "\u8BF4\u660E",
|
|
55110
55153
|
pluginTitle: "\u84DD\u9CB8\u7EC4\u4EF6\u5E93",
|
|
55111
55154
|
settingsIntro: "\u84DD\u9CB8\u7EC4\u4EF6\u5E93\u662F\u4E3A DeepSeek Harness \u63D2\u4EF6\u51C6\u5907\u7684\u5171\u4EAB UI \u5E95\u5EA7\uFF0C\u672C\u5305\u662F\u5B83\u7684\u7EC4\u4EF6\u9884\u89C8\u63D2\u4EF6\uFF1A\u88C5\u8FDB DSH \u5BBF\u4E3B\u540E\uFF0C\u5728\u8BBE\u7F6E\u91CC\u5373\u53EF\u67E5\u770B\u5404\u57FA\u7840\u63A7\u4EF6\u4E0E\u4E1A\u52A1\u7EC4\u4EF6\u7684\u771F\u5B9E\u8FD0\u884C\u8868\u73B0\u3002",
|
|
55112
|
-
|
|
55113
|
-
|
|
55155
|
+
settingsEntryTitle: "\u63D2\u4EF6\u5165\u53E3\u8BF4\u660E",
|
|
55156
|
+
settingsEntryHint: "\u9009\u62E9\u672C\u63D2\u4EF6\u5728\u5DE6\u4FA7\u83DC\u5355\u680F\u7684\u5165\u53E3\u4F4D\u7F6E\uFF1A\u5173\u95ED\u540E\u4EC5\u80FD\u5728\u300C\u8BBE\u7F6E\u300D\u4E2D\u627E\u5230\u672C\u63D2\u4EF6\u3002\u9ED8\u8BA4\u663E\u793A\u5728\u300C\u66F4\u591A\u300D\u3002",
|
|
55157
|
+
settingsEntryOff: "\u5173\u95ED",
|
|
55158
|
+
settingsEntryFirst: "\u4E00\u7EA7",
|
|
55159
|
+
settingsEntryMore: "\u66F4\u591A",
|
|
55160
|
+
settingsEntryOffTip: "\u5173\u95ED\u63D2\u4EF6\u5165\u53E3\u540E\uFF0C\u5DE6\u4FA7\u83DC\u5355\u680F\u9996\u7EA7\u4E0E\u300C\u66F4\u591A\u300D\u83DC\u5355\u5747\u4E0D\u518D\u5C55\u793A\u672C\u63D2\u4EF6\u5165\u53E3\uFF1B\u4EC5\u4FDD\u7559\u300C\u8BBE\u7F6E\u300D\u4E2D\u7684\u914D\u7F6E\u9875\uFF0C\u53EF\u968F\u65F6\u91CD\u65B0\u542F\u7528\u3002",
|
|
55161
|
+
settingsEntryFirstTip: "\u5165\u53E3\u56FA\u5B9A\u5C55\u793A\u4E8E\u5DE6\u4FA7\u83DC\u5355\u680F\u9996\u7EA7\uFF0C\u4E0E\u5185\u7F6E\u529F\u80FD\u5E76\u5217\uFF1B\u70B9\u51FB\u5373\u8FDB\u5165\u7EC4\u4EF6\u9884\u89C8\u6574\u9875\u3002",
|
|
55162
|
+
settingsEntryMoreTip: "\u5165\u53E3\u6536\u7EB3\u4E8E\u5DE6\u4FA7\u83DC\u5355\u680F\u7684\u300C\u66F4\u591A\u300D\u83DC\u5355\uFF0C\u4E0D\u5360\u7528\u9996\u7EA7\u5BFC\u822A\u4F4D\uFF1B\u5C55\u5F00\u300C\u66F4\u591A\u300D\u5373\u53EF\u8FDB\u5165\u7EC4\u4EF6\u9884\u89C8\u6574\u9875\u3002",
|
|
55114
55163
|
settingsOpenDemo: "\u67E5\u770B demo",
|
|
55115
55164
|
settingsGithub: "\u8BBF\u95EE GitHub",
|
|
55116
55165
|
settingsLoading: "\u6B63\u5728\u8BFB\u53D6\u8BBE\u7F6E\u2026",
|
|
@@ -55210,7 +55259,7 @@ var DICT2 = {
|
|
|
55210
55259
|
demoInputFamily: "Input family",
|
|
55211
55260
|
inputHint: "Input / PrefixedInput / NumberInput / Textarea, all support error highlighting; pass a hint string and the standard FieldHint is attached automatically (FieldHint still works standalone)",
|
|
55212
55261
|
switchTip: "Official Switch (enable semantics, not a tick) + Checkbox + Segmented",
|
|
55213
|
-
checkboxHint: "Looks match the real plugin: grey
|
|
55262
|
+
checkboxHint: "Looks match the real plugin: grey track with a white selected pill; bordered adds an outer frame (rightmost, clickable); the weekday squares are multi-select. Labels follow the locale",
|
|
55214
55263
|
pickerHint: 'Single / multi / max / search (searchable switch) / grouped / empty / degraded; trigger and options both take a leading icon; label is left-aligned by default (align="center" to center); multi-select at max still allows deselecting picked items',
|
|
55215
55264
|
dateTimePickerHint: 'One control, three usages: single / range \xD7 precision (day / hour / minute / second); mask-free popup sharing Picker\u2019s mechanics; the range popup shows two independent calendars (left = start, right = end, each picks its own); hour/minute/second via steppers (\u25B2\u25BC / typing / \u2191\u2193) instead of clicking through 60 minutes, and never requires picking a date first; the quick button is "Today" at day precision, "Now" when hours/minutes/seconds are on; draft state \u2014 commits only on confirm; at day precision the end auto-fills 23:59:59.999 (degrades gracefully if the DB stores seconds only)',
|
|
55216
55265
|
modelPickerHint: 'grouped (one dropdown, vendor headers, fully independent) / cascade (vendor and model dropdowns linked) \u2014 both emit the same final model value; a "default model" option is provided by default (emits an empty string, disable with allowDefault: false); the catalog comes from the host automatically',
|
|
@@ -55331,8 +55380,14 @@ var DICT2 = {
|
|
|
55331
55380
|
docApiDesc: "Description",
|
|
55332
55381
|
pluginTitle: "Blue Whale Component Library",
|
|
55333
55382
|
settingsIntro: "Blue Whale Component Library is the shared UI foundation for DeepSeek Harness plugins. This package is its live preview: installed in a DSH host, it shows every base control and business component running for real.",
|
|
55334
|
-
|
|
55335
|
-
|
|
55383
|
+
settingsEntryTitle: "Plugin entry",
|
|
55384
|
+
settingsEntryHint: "Choose where this plugin appears in the sidebar menu: when off, it is only reachable from Settings. Defaults to More.",
|
|
55385
|
+
settingsEntryOff: "Off",
|
|
55386
|
+
settingsEntryFirst: "First level",
|
|
55387
|
+
settingsEntryMore: "More",
|
|
55388
|
+
settingsEntryOffTip: "When the entry is off, it appears neither at the first level of the sidebar nor in the More menu; only this settings page remains, and it can be re-enabled at any time.",
|
|
55389
|
+
settingsEntryFirstTip: "The entry is pinned to the first level of the sidebar menu, alongside built-in features; clicking it opens the component preview page.",
|
|
55390
|
+
settingsEntryMoreTip: "The entry is placed in the sidebar More menu, leaving the first level uncluttered; expanding More opens the same preview page.",
|
|
55336
55391
|
settingsOpenDemo: "View demo",
|
|
55337
55392
|
settingsGithub: "Visit GitHub",
|
|
55338
55393
|
settingsLoading: "Reading settings\u2026",
|
|
@@ -56607,8 +56662,8 @@ var docData = {
|
|
|
56607
56662
|
"en": "IconButton: variant plain|outline|danger (default plain), size (default lg), icon (required), label (required, doubles as a11y name and title)."
|
|
56608
56663
|
},
|
|
56609
56664
|
{
|
|
56610
|
-
"zh": "Segmented\uFF1A`items`\uFF08\u5FC5\u586B\uFF09\u652F\u6301\u5355\u9009 / \u591A\u9009\uFF0C
|
|
56611
|
-
"en": "Segmented: `items` (required) supports single or multiple selection
|
|
56665
|
+
"zh": "Segmented\uFF1A`items`\uFF08\u5FC5\u586B\uFF09\u652F\u6301\u5355\u9009 / \u591A\u9009\uFF0C`size`\uFF08\u9ED8\u8BA4 lg\uFF1B\u4E09\u6863\u603B\u9AD8 24 / 28 / 32\uFF09\u3001`bordered`\uFF081px \u5916\u6846\uFF0C\u603B\u9AD8\u4E0D\u53D8\uFF09\u3001`multiple`\uFF08\u591A\u9009\uFF09\u3002\u5916\u89C2\u53EA\u6709\u4E00\u5957\uFF1A\u7070\u5E95\u8F68\u9053 + \u767D\u8272\u9009\u4E2D\u7247\uFF0C\u9009\u4E2D\u7247\u7684\u63CF\u8FB9\u73AF\u4E0E\u9634\u5F71\u7531\u5BBF\u4E3B elevation token \u63D0\u4F9B\uFF08\u79BB\u7EBF\u515C\u5E95\u503C\u6CA1\u6709\u90A3\u5708\u73AF\uFF09\u3002",
|
|
56666
|
+
"en": "Segmented: `items` (required) supports single or multiple selection; `size` (default lg; totals 24 / 28 / 32), `bordered` (1px outer frame, same total height), `multiple` (multi-select). One look only: grey track + white selected pill; its stroke ring and shadow come from the host elevation token (the offline fallback has no ring)."
|
|
56612
56667
|
}
|
|
56613
56668
|
],
|
|
56614
56669
|
"api": [
|
|
@@ -58286,19 +58341,17 @@ var CODE_SWITCH_SEG = `// \u5F00\u5173\u8BED\u4E49\u7528\u5B98\u65B9 Switch\uFF1
|
|
|
58286
58341
|
<Switch checked={checked} onChange={setChecked} label="\u542F\u7528" />
|
|
58287
58342
|
<Checkbox checked={checked} onChange={setChecked} label="\u591A\u9009" />
|
|
58288
58343
|
|
|
58289
|
-
// \u5206\u6BB5\uFF1Aitems = { value, label, count?, badge?, disabled? }\
|
|
58344
|
+
// \u5206\u6BB5\uFF1Aitems = { value, label, count?, badge?, disabled? }\uFF1Bsize \u4E09\u6863\uFF08\u9ED8\u8BA4 lg\uFF09
|
|
58290
58345
|
<Segmented
|
|
58291
|
-
variant="inset"
|
|
58292
58346
|
items={[{ value: 'day', label: '\u65E5' }, { value: 'week', label: '\u5468' }, { value: 'month', label: '\u6708' }]}
|
|
58293
58347
|
value={seg}
|
|
58294
58348
|
onChange={setSeg}
|
|
58295
58349
|
/>
|
|
58296
|
-
// bordered\uFF1A\
|
|
58297
|
-
<Segmented
|
|
58350
|
+
// bordered\uFF1A\u6700\u5916\u5305 1px \u63CF\u8FB9\uFF08\u603B\u9AD8\u4E0D\u53D8\uFF09\uFF1Bsize \u4E09\u6863
|
|
58351
|
+
<Segmented bordered size="sm" items={...} value={seg} onChange={setSeg} />
|
|
58298
58352
|
|
|
58299
58353
|
// \u7B5B\u9009\u6761\uFF1Acount \u7ED9\u4E2D\u6027\u8BA1\u6570\uFF0Cbadge \u7ED9\u7EA2\u89D2\u6807
|
|
58300
58354
|
<Segmented
|
|
58301
|
-
variant="inset"
|
|
58302
58355
|
items={[{ value: 'all', label: '\u5168\u90E8', count: 11 }, { value: 'doing', label: '\u8FDB\u884C\u4E2D', count: 5 }]}
|
|
58303
58356
|
value={filter}
|
|
58304
58357
|
onChange={setFilter}
|
|
@@ -58402,7 +58455,6 @@ function InputPage() {
|
|
|
58402
58455
|
"div",
|
|
58403
58456
|
{ style: { display: "flex", gap: "20px", alignItems: "center", flexWrap: "wrap" } },
|
|
58404
58457
|
(0, import_react56.createElement)(Segmented, {
|
|
58405
|
-
variant: "inset",
|
|
58406
58458
|
items: [
|
|
58407
58459
|
{ value: "day", label: "\u65E5" },
|
|
58408
58460
|
{ value: "week", label: "\u5468" },
|
|
@@ -58412,7 +58464,6 @@ function InputPage() {
|
|
|
58412
58464
|
onChange: setSeg
|
|
58413
58465
|
}),
|
|
58414
58466
|
(0, import_react56.createElement)(Segmented, {
|
|
58415
|
-
variant: "inset",
|
|
58416
58467
|
bordered: true,
|
|
58417
58468
|
items: [
|
|
58418
58469
|
{ value: "day", label: "\u65E5" },
|
|
@@ -58423,7 +58474,6 @@ function InputPage() {
|
|
|
58423
58474
|
onChange: setSeg
|
|
58424
58475
|
}),
|
|
58425
58476
|
(0, import_react56.createElement)(Segmented, {
|
|
58426
|
-
variant: "inset",
|
|
58427
58477
|
size: "sm",
|
|
58428
58478
|
items: [
|
|
58429
58479
|
{ value: "day", label: "\u65E5" },
|
|
@@ -58434,7 +58484,6 @@ function InputPage() {
|
|
|
58434
58484
|
onChange: setSeg
|
|
58435
58485
|
}),
|
|
58436
58486
|
(0, import_react56.createElement)(Segmented, {
|
|
58437
|
-
variant: "inset",
|
|
58438
58487
|
size: "sm",
|
|
58439
58488
|
bordered: true,
|
|
58440
58489
|
items: [
|
|
@@ -58446,9 +58495,8 @@ function InputPage() {
|
|
|
58446
58495
|
onChange: setSeg
|
|
58447
58496
|
})
|
|
58448
58497
|
),
|
|
58449
|
-
// 筛选条形态(真实插件同款):中性计数 +
|
|
58498
|
+
// 筛选条形态(真实插件同款):中性计数 + 灰底轨道
|
|
58450
58499
|
(0, import_react56.createElement)(Segmented, {
|
|
58451
|
-
variant: "inset",
|
|
58452
58500
|
items: [
|
|
58453
58501
|
{ value: "all", label: t3("segAll"), count: 11 },
|
|
58454
58502
|
{ value: "doing", label: t3("segDoing"), count: 5 },
|
|
@@ -58460,7 +58508,6 @@ function InputPage() {
|
|
|
58460
58508
|
onChange: setFilter
|
|
58461
58509
|
}),
|
|
58462
58510
|
(0, import_react56.createElement)(Segmented, {
|
|
58463
|
-
variant: "inset",
|
|
58464
58511
|
bordered: true,
|
|
58465
58512
|
items: [
|
|
58466
58513
|
{ value: "all", label: t3("segAll"), count: 11 },
|
|
@@ -58769,7 +58816,7 @@ var CODE_SECTION_HEAD = `// \u5206\u533A\u6807\u9898\uFF1Aicon + \u6807\u9898 +
|
|
|
58769
58816
|
icon={<IconSparkleRegular size={16} />}
|
|
58770
58817
|
title={<span>\u5168\u90E8\u5F85\u529E <span style={{ fontSize: 'var(--dshpc-font-xs)', color: 'var(--dshpc-fg-3)' }}>22</span></span>}
|
|
58771
58818
|
right={[
|
|
58772
|
-
<Segmented
|
|
58819
|
+
<Segmented items={[{ value: 'all', label: '\u5168\u90E8', count: 22 }]} value={seg} onChange={setSeg} />,
|
|
58773
58820
|
<div style={{ width: 192 }}><Input value={kw} onChange={setKw} placeholder="\u641C\u7D22" /></div>,
|
|
58774
58821
|
]}
|
|
58775
58822
|
/>`;
|
|
@@ -58897,7 +58944,6 @@ function CardPage() {
|
|
|
58897
58944
|
),
|
|
58898
58945
|
right: [
|
|
58899
58946
|
(0, import_react56.createElement)(Segmented, {
|
|
58900
|
-
variant: "inset",
|
|
58901
58947
|
items: [
|
|
58902
58948
|
{ value: "all", label: t3("segAll"), count: 22 },
|
|
58903
58949
|
{ value: "doing", label: t3("segDoing"), count: 11 },
|
|
@@ -60655,7 +60701,6 @@ function FileBrowser(props) {
|
|
|
60655
60701
|
style: { flex: "1 1 auto", minWidth: 0 }
|
|
60656
60702
|
}), (0, import_react62.createElement)("div", { className: "dshpc-fb__actions" }, switchable ? (0, import_react62.createElement)(Segmented, {
|
|
60657
60703
|
size: "sm",
|
|
60658
|
-
variant: "default",
|
|
60659
60704
|
label: viewingIsMd ? tt("previewMdSwitchAria") : tt("previewHtmlSwitchAria"),
|
|
60660
60705
|
value: sourceView ? "source" : "render",
|
|
60661
60706
|
items: [
|
|
@@ -61406,9 +61451,9 @@ function ReferencePage() {
|
|
|
61406
61451
|
"tbody",
|
|
61407
61452
|
null,
|
|
61408
61453
|
[
|
|
61409
|
-
[t3("buildCore"), `v${"0.
|
|
61410
|
-
[t3("buildDemo"), `v${"0.
|
|
61411
|
-
[t3("buildStamp"), "
|
|
61454
|
+
[t3("buildCore"), `v${"0.5.0"}`],
|
|
61455
|
+
[t3("buildDemo"), `v${"0.5.0"}`],
|
|
61456
|
+
[t3("buildStamp"), "261026-143305-714"]
|
|
61412
61457
|
].map(
|
|
61413
61458
|
([label, value]) => (0, import_react66.createElement)(
|
|
61414
61459
|
"tr",
|
|
@@ -61515,7 +61560,7 @@ var MODELS_PATH = "/api/dsh-plugin-core-demo/models";
|
|
|
61515
61560
|
// packages/demo/src/client/index.tsx
|
|
61516
61561
|
var PANEL_ID = "dsh-plugin-core-demo";
|
|
61517
61562
|
var BUNDLE_CONFIG_SLOT = "plugins.bundle.config";
|
|
61518
|
-
var
|
|
61563
|
+
var ENTRY_MODE_FIELD = "entryMode";
|
|
61519
61564
|
function resolveServedEntryId(forms) {
|
|
61520
61565
|
let served;
|
|
61521
61566
|
try {
|
|
@@ -61528,7 +61573,9 @@ function resolveServedEntryId(forms) {
|
|
|
61528
61573
|
}
|
|
61529
61574
|
var slotsRef = null;
|
|
61530
61575
|
var sidebarDisposer = null;
|
|
61531
|
-
var
|
|
61576
|
+
var entryMode = "more";
|
|
61577
|
+
var jump = () => {
|
|
61578
|
+
};
|
|
61532
61579
|
function applySidebarEntry() {
|
|
61533
61580
|
const slots = slotsRef;
|
|
61534
61581
|
if (slots === null) return;
|
|
@@ -61536,14 +61583,39 @@ function applySidebarEntry() {
|
|
|
61536
61583
|
sidebarDisposer();
|
|
61537
61584
|
sidebarDisposer = null;
|
|
61538
61585
|
}
|
|
61539
|
-
if (
|
|
61540
|
-
|
|
61541
|
-
|
|
61542
|
-
|
|
61543
|
-
|
|
61544
|
-
|
|
61545
|
-
|
|
61546
|
-
|
|
61586
|
+
if (entryMode === "off") return;
|
|
61587
|
+
if (entryMode === "first") {
|
|
61588
|
+
slots.inject("sidebar.panellist", () => {
|
|
61589
|
+
if (sidebarDisposer !== null) return;
|
|
61590
|
+
if (entryMode !== "first") return;
|
|
61591
|
+
sidebarDisposer = slots.register(
|
|
61592
|
+
{ name: "sidebar.panellist", id: PANEL_ID, order: 90, label: () => t3("pluginTitle") },
|
|
61593
|
+
PanelIcon
|
|
61594
|
+
);
|
|
61595
|
+
});
|
|
61596
|
+
} else {
|
|
61597
|
+
slots.inject("sidebar.panellist.actions", () => {
|
|
61598
|
+
if (sidebarDisposer !== null) return;
|
|
61599
|
+
if (entryMode !== "more") return;
|
|
61600
|
+
sidebarDisposer = slots.register(
|
|
61601
|
+
{ name: "sidebar.panellist.actions", id: `${PANEL_ID}-more`, order: 90, locale: PANEL_ID },
|
|
61602
|
+
MoreMenuRow
|
|
61603
|
+
);
|
|
61604
|
+
});
|
|
61605
|
+
}
|
|
61606
|
+
}
|
|
61607
|
+
function MoreMenuRow(props) {
|
|
61608
|
+
return (0, import_react68.createElement)(
|
|
61609
|
+
import_dsh_client_ui_primitives4.MenuItemButton,
|
|
61610
|
+
{
|
|
61611
|
+
icon: (0, import_react68.createElement)(PanelIcon, { size: 16 }),
|
|
61612
|
+
onSelect: () => {
|
|
61613
|
+
props.onDismiss();
|
|
61614
|
+
jump(PANEL_ID);
|
|
61615
|
+
}
|
|
61616
|
+
},
|
|
61617
|
+
t3("pluginTitle")
|
|
61618
|
+
);
|
|
61547
61619
|
}
|
|
61548
61620
|
var localeRuntime;
|
|
61549
61621
|
function useLocaleTick() {
|
|
@@ -61703,9 +61775,9 @@ function DemoPage() {
|
|
|
61703
61775
|
lineHeight: "14px"
|
|
61704
61776
|
}
|
|
61705
61777
|
},
|
|
61706
|
-
(0, import_react68.createElement)("span", null, `core v${"0.
|
|
61707
|
-
(0, import_react68.createElement)("span", null, `demo v${"0.
|
|
61708
|
-
(0, import_react68.createElement)("span", { style: { marginTop: "4px", fontSize: "9px" } }, "
|
|
61778
|
+
(0, import_react68.createElement)("span", null, `core v${"0.5.0"}`),
|
|
61779
|
+
(0, import_react68.createElement)("span", null, `demo v${"0.5.0"}`),
|
|
61780
|
+
(0, import_react68.createElement)("span", { style: { marginTop: "4px", fontSize: "9px" } }, "261026-143305-714")
|
|
61709
61781
|
)
|
|
61710
61782
|
)
|
|
61711
61783
|
),
|
|
@@ -61727,38 +61799,44 @@ function ConfigPanel(props) {
|
|
|
61727
61799
|
}), [form]);
|
|
61728
61800
|
if (props.view !== "page") return (0, import_react68.createElement)("div", { style: { display: "none" } });
|
|
61729
61801
|
const snap = form.getSnapshot();
|
|
61730
|
-
const
|
|
61802
|
+
const storedMode = snap.value?.entryMode;
|
|
61803
|
+
const mode = storedMode === "off" || storedMode === "first" || storedMode === "more" ? storedMode : "more";
|
|
61731
61804
|
const ready = snap.status === "ready";
|
|
61732
61805
|
return (0, import_react68.createElement)(
|
|
61733
61806
|
"div",
|
|
61734
61807
|
{ style: { display: "flex", flexDirection: "column", gap: "14px" } },
|
|
61735
61808
|
// 一句话说明「这个插件是干嘛的」——标题由详情页自己画,这里只补定位
|
|
61736
61809
|
(0, import_react68.createElement)("div", { style: { color: "var(--dshpc-fg-3)", fontSize: "12px", lineHeight: "18px" } }, t3("settingsIntro")),
|
|
61737
|
-
//
|
|
61810
|
+
// 设置行:滑动栏在右、说明在左;左缘圆角短条有入口=绿 / 关闭=灰(核心 Card 框式)
|
|
61738
61811
|
ready ? (0, import_react68.createElement)(
|
|
61739
61812
|
Card,
|
|
61740
61813
|
{
|
|
61741
|
-
accent:
|
|
61742
|
-
action: (0, import_react68.createElement)(
|
|
61743
|
-
|
|
61744
|
-
|
|
61814
|
+
accent: mode === "off" ? "neutral" : "success",
|
|
61815
|
+
action: (0, import_react68.createElement)(Segmented, {
|
|
61816
|
+
size: "sm",
|
|
61817
|
+
value: mode,
|
|
61745
61818
|
disabled: !snap.writable,
|
|
61746
61819
|
onChange: (next) => {
|
|
61747
61820
|
void form.mutate(
|
|
61748
|
-
[{ op: "set", path: [
|
|
61821
|
+
[{ op: "set", path: [ENTRY_MODE_FIELD], value: next }],
|
|
61749
61822
|
snap.revision
|
|
61750
61823
|
);
|
|
61751
|
-
}
|
|
61824
|
+
},
|
|
61825
|
+
items: [
|
|
61826
|
+
{ value: "off", label: t3("settingsEntryOff"), tooltip: t3("settingsEntryOffTip") },
|
|
61827
|
+
{ value: "more", label: t3("settingsEntryMore"), tooltip: t3("settingsEntryMoreTip") },
|
|
61828
|
+
{ value: "first", label: t3("settingsEntryFirst"), tooltip: t3("settingsEntryFirstTip") }
|
|
61829
|
+
]
|
|
61752
61830
|
})
|
|
61753
61831
|
},
|
|
61754
61832
|
(0, import_react68.createElement)(
|
|
61755
61833
|
"div",
|
|
61756
61834
|
null,
|
|
61757
|
-
(0, import_react68.createElement)("div", { style: { fontSize: "13px", fontWeight: 500 } }, t3("
|
|
61835
|
+
(0, import_react68.createElement)("div", { style: { fontSize: "13px", fontWeight: 500 } }, t3("settingsEntryTitle")),
|
|
61758
61836
|
(0, import_react68.createElement)(
|
|
61759
61837
|
"div",
|
|
61760
61838
|
{ style: { color: "var(--dshpc-fg-3)", fontSize: "12px", marginTop: "2px" } },
|
|
61761
|
-
t3("
|
|
61839
|
+
t3("settingsEntryHint")
|
|
61762
61840
|
)
|
|
61763
61841
|
)
|
|
61764
61842
|
) : (0, import_react68.createElement)(
|
|
@@ -61808,8 +61886,6 @@ function apply(ctx) {
|
|
|
61808
61886
|
kit.registerStyle("demo", DEMO_CSS);
|
|
61809
61887
|
kit.ensureStyles();
|
|
61810
61888
|
setTooltipRenderer((props) => (0, import_react68.createElement)(import_dsh_client_ui_primitives4.Tooltip, props));
|
|
61811
|
-
let jump = () => {
|
|
61812
|
-
};
|
|
61813
61889
|
ctx.inject(["layout"], (sub) => {
|
|
61814
61890
|
const layout = sub?.layout;
|
|
61815
61891
|
if (layout?.selectPanel === void 0) return;
|
|
@@ -61854,7 +61930,8 @@ function apply(ctx) {
|
|
|
61854
61930
|
const form = forms.get(entryId);
|
|
61855
61931
|
const syncSidebar = () => {
|
|
61856
61932
|
const value = form.getSnapshot().value;
|
|
61857
|
-
|
|
61933
|
+
const stored = value?.entryMode;
|
|
61934
|
+
entryMode = stored === "off" || stored === "first" || stored === "more" ? stored : "more";
|
|
61858
61935
|
applySidebarEntry();
|
|
61859
61936
|
};
|
|
61860
61937
|
syncSidebar();
|
package/dist/index.js
CHANGED
|
@@ -945,7 +945,7 @@ async function loadSchemastery() {
|
|
|
945
945
|
}
|
|
946
946
|
var z = await loadSchemastery();
|
|
947
947
|
var Config = z === void 0 ? void 0 : z.object({
|
|
948
|
-
|
|
948
|
+
entryMode: z.string().default("more").volatile()
|
|
949
949
|
});
|
|
950
950
|
function apply(ctx) {
|
|
951
951
|
serveModelCatalog(ctx, { path: MODELS_PATH });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-plugin-core-demo",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "The shared UI foundation for DSH plugins, with a live component preview: design tokens, common controls, workspace browsing and notifications maintained in one place — install it to preview every component in a real host.",
|
|
5
5
|
"icon": "./assets/icon-components.svg",
|
|
6
6
|
"keywords": [
|
|
@@ -19,6 +19,9 @@
|
|
|
19
19
|
"author": "cq-guojia",
|
|
20
20
|
"license": "MIT",
|
|
21
21
|
"type": "module",
|
|
22
|
+
"engines": {
|
|
23
|
+
"node": ">=22.5"
|
|
24
|
+
},
|
|
22
25
|
"main": "./dist/index.js",
|
|
23
26
|
"exports": {
|
|
24
27
|
".": "./dist/index.js",
|