@lokvis/ui-react 0.2.1 → 0.4.1

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 (165) hide show
  1. package/dist/components/AssetPanel.d.ts.map +1 -1
  2. package/dist/components/AssetPanel.js +18 -62
  3. package/dist/components/AssetPanel.js.map +1 -1
  4. package/dist/components/Canvas.d.ts +4 -4
  5. package/dist/components/Canvas.d.ts.map +1 -1
  6. package/dist/components/Canvas.js +9 -9
  7. package/dist/components/Canvas.js.map +1 -1
  8. package/dist/components/CommandPalette.d.ts +7 -7
  9. package/dist/components/CommandPalette.d.ts.map +1 -1
  10. package/dist/components/CommandPalette.js +10 -10
  11. package/dist/components/CommandPalette.js.map +1 -1
  12. package/dist/components/CompareSlider.d.ts +9 -8
  13. package/dist/components/CompareSlider.d.ts.map +1 -1
  14. package/dist/components/CompareSlider.js +10 -9
  15. package/dist/components/CompareSlider.js.map +1 -1
  16. package/dist/components/DownloadPanel.d.ts +3 -3
  17. package/dist/components/DownloadPanel.d.ts.map +1 -1
  18. package/dist/components/DownloadPanel.js +10 -17
  19. package/dist/components/DownloadPanel.js.map +1 -1
  20. package/dist/components/ErrorBanner.d.ts +2 -2
  21. package/dist/components/ErrorBanner.d.ts.map +1 -1
  22. package/dist/components/ErrorBanner.js +3 -3
  23. package/dist/components/ErrorBanner.js.map +1 -1
  24. package/dist/components/ErrorBoundary.d.ts +40 -0
  25. package/dist/components/ErrorBoundary.d.ts.map +1 -0
  26. package/dist/components/ErrorBoundary.js +52 -0
  27. package/dist/components/ErrorBoundary.js.map +1 -0
  28. package/dist/components/ExifPanel.d.ts +1 -1
  29. package/dist/components/ExifPanel.d.ts.map +1 -1
  30. package/dist/components/ExifPanel.js +2 -2
  31. package/dist/components/ExifPanel.js.map +1 -1
  32. package/dist/components/GlobalDropzone.d.ts +5 -5
  33. package/dist/components/GlobalDropzone.d.ts.map +1 -1
  34. package/dist/components/GlobalDropzone.js +15 -8
  35. package/dist/components/GlobalDropzone.js.map +1 -1
  36. package/dist/components/HistoryPanel.d.ts +2 -2
  37. package/dist/components/HistoryPanel.d.ts.map +1 -1
  38. package/dist/components/HistoryPanel.js +23 -23
  39. package/dist/components/HistoryPanel.js.map +1 -1
  40. package/dist/components/Inspector.d.ts.map +1 -1
  41. package/dist/components/Inspector.js +13 -10
  42. package/dist/components/Inspector.js.map +1 -1
  43. package/dist/components/ParamForm.d.ts.map +1 -1
  44. package/dist/components/ParamForm.js +10 -7
  45. package/dist/components/ParamForm.js.map +1 -1
  46. package/dist/components/PipelineBar.d.ts.map +1 -1
  47. package/dist/components/PipelineBar.js +19 -28
  48. package/dist/components/PipelineBar.js.map +1 -1
  49. package/dist/components/ProgressBar.d.ts +4 -4
  50. package/dist/components/ProgressBar.d.ts.map +1 -1
  51. package/dist/components/ProgressBar.js +8 -8
  52. package/dist/components/ProgressBar.js.map +1 -1
  53. package/dist/components/StatusBar.d.ts +3 -3
  54. package/dist/components/StatusBar.d.ts.map +1 -1
  55. package/dist/components/StatusBar.js +12 -21
  56. package/dist/components/StatusBar.js.map +1 -1
  57. package/dist/components/StatusDot.d.ts +12 -0
  58. package/dist/components/StatusDot.d.ts.map +1 -0
  59. package/dist/components/StatusDot.js +15 -0
  60. package/dist/components/StatusDot.js.map +1 -0
  61. package/dist/components/ThemeToggle.d.ts +4 -4
  62. package/dist/components/ThemeToggle.d.ts.map +1 -1
  63. package/dist/components/ThemeToggle.js +7 -7
  64. package/dist/components/ThemeToggle.js.map +1 -1
  65. package/dist/components/ToolRunner.d.ts +53 -0
  66. package/dist/components/ToolRunner.d.ts.map +1 -0
  67. package/dist/components/ToolRunner.js +142 -0
  68. package/dist/components/ToolRunner.js.map +1 -0
  69. package/dist/components/Toolbar.d.ts.map +1 -1
  70. package/dist/components/Toolbar.js +3 -3
  71. package/dist/components/Toolbar.js.map +1 -1
  72. package/dist/components/WorkflowEditor.d.ts +6 -6
  73. package/dist/components/WorkflowEditor.d.ts.map +1 -1
  74. package/dist/components/WorkflowEditor.js +40 -49
  75. package/dist/components/WorkflowEditor.js.map +1 -1
  76. package/dist/components/WorkflowTemplates.d.ts +2 -2
  77. package/dist/components/WorkflowTemplates.d.ts.map +1 -1
  78. package/dist/components/WorkflowTemplates.js +17 -7
  79. package/dist/components/WorkflowTemplates.js.map +1 -1
  80. package/dist/components/Workspace.d.ts +45 -23
  81. package/dist/components/Workspace.d.ts.map +1 -1
  82. package/dist/components/Workspace.js +87 -40
  83. package/dist/components/Workspace.js.map +1 -1
  84. package/dist/hooks/useCustomPresets.d.ts +98 -0
  85. package/dist/hooks/useCustomPresets.d.ts.map +1 -0
  86. package/dist/hooks/useCustomPresets.js +210 -0
  87. package/dist/hooks/useCustomPresets.js.map +1 -0
  88. package/dist/hooks/useLokvis.d.ts +19 -1
  89. package/dist/hooks/useLokvis.d.ts.map +1 -1
  90. package/dist/hooks/useLokvis.js +30 -9
  91. package/dist/hooks/useLokvis.js.map +1 -1
  92. package/dist/index.d.ts +4 -0
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js +6 -0
  95. package/dist/index.js.map +1 -1
  96. package/dist/store/assets-slice.d.ts +8 -1
  97. package/dist/store/assets-slice.d.ts.map +1 -1
  98. package/dist/store/assets-slice.js +101 -54
  99. package/dist/store/assets-slice.js.map +1 -1
  100. package/dist/store/capabilities-slice.d.ts +1 -1
  101. package/dist/store/capabilities-slice.d.ts.map +1 -1
  102. package/dist/store/capabilities-slice.js +8 -1
  103. package/dist/store/capabilities-slice.js.map +1 -1
  104. package/dist/store/index.d.ts +1 -1
  105. package/dist/store/index.d.ts.map +1 -1
  106. package/dist/store/index.js +1 -1
  107. package/dist/store/index.js.map +1 -1
  108. package/dist/store/runtime-slice.d.ts.map +1 -1
  109. package/dist/store/runtime-slice.js +22 -16
  110. package/dist/store/runtime-slice.js.map +1 -1
  111. package/dist/store/subscribe-utils.d.ts +45 -0
  112. package/dist/store/subscribe-utils.d.ts.map +1 -0
  113. package/dist/store/subscribe-utils.js +69 -0
  114. package/dist/store/subscribe-utils.js.map +1 -0
  115. package/dist/store/types.d.ts +19 -11
  116. package/dist/store/types.d.ts.map +1 -1
  117. package/dist/store/types.js +0 -10
  118. package/dist/store/types.js.map +1 -1
  119. package/dist/store/workflow-slice.d.ts +1 -1
  120. package/dist/store/workflow-slice.d.ts.map +1 -1
  121. package/dist/store/workflow-slice.js +19 -51
  122. package/dist/store/workflow-slice.js.map +1 -1
  123. package/dist/utils.d.ts +24 -0
  124. package/dist/utils.d.ts.map +1 -0
  125. package/dist/utils.js +31 -0
  126. package/dist/utils.js.map +1 -0
  127. package/package.json +7 -6
  128. package/src/components/AssetPanel.tsx +224 -264
  129. package/src/components/Canvas.tsx +178 -174
  130. package/src/components/CommandPalette.tsx +242 -242
  131. package/src/components/CompareSlider.tsx +168 -165
  132. package/src/components/DownloadPanel.tsx +201 -207
  133. package/src/components/ErrorBanner.tsx +64 -64
  134. package/src/components/ErrorBoundary.tsx +101 -0
  135. package/src/components/ExifPanel.tsx +154 -154
  136. package/src/components/GlobalDropzone.tsx +175 -170
  137. package/src/components/HistoryPanel.tsx +219 -219
  138. package/src/components/Inspector.tsx +145 -137
  139. package/src/components/ParamForm.tsx +140 -137
  140. package/src/components/PipelineBar.tsx +97 -104
  141. package/src/components/ProgressBar.tsx +78 -78
  142. package/src/components/StatusBar.tsx +145 -152
  143. package/src/components/StatusDot.tsx +27 -0
  144. package/src/components/ThemeToggle.tsx +98 -98
  145. package/src/components/ToolRunner.tsx +352 -0
  146. package/src/components/Toolbar.tsx +65 -65
  147. package/src/components/WorkflowEditor.tsx +333 -326
  148. package/src/components/WorkflowTemplates.tsx +101 -78
  149. package/src/components/Workspace.tsx +310 -223
  150. package/src/css-modules.d.ts +3 -0
  151. package/src/hooks/useCustomPresets.ts +284 -0
  152. package/src/hooks/useLokvis.ts +43 -10
  153. package/src/index.ts +7 -0
  154. package/src/store/assets-slice.ts +106 -52
  155. package/src/store/capabilities-slice.ts +10 -2
  156. package/src/store/index.ts +1 -1
  157. package/src/store/runtime-slice.ts +20 -15
  158. package/src/store/subscribe-utils.ts +82 -0
  159. package/src/store/types.ts +19 -12
  160. package/src/store/workflow-slice.ts +19 -53
  161. package/src/utils.ts +41 -0
  162. package/dist/store.d.ts +0 -76
  163. package/dist/store.d.ts.map +0 -1
  164. package/dist/store.js +0 -217
  165. package/dist/store.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowEditor.js","sourceRoot":"","sources":["../../src/components/WorkflowEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkflowEditor.js","sourceRoot":"","sources":["../../src/components/WorkflowEditor.tsx"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@
5
5
  * 适合新用户快速上手,无需从零编排。
6
6
  *
7
7
  * 集成位置:
8
- * - 可作为独立组件渲染(如在 Inspector 底部或 Command Palette 中)
9
- * - Workspace 默认不渲染;由消费方按需挂载
8
+ * - 可作为独立组件渲染(如在 Inspector 底部或 Command Palette 中)
9
+ * - Workspace 默认不渲染;由消费方按需挂载
10
10
  *
11
11
  * @module WorkflowTemplates
12
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowTemplates.d.ts","sourceRoot":"","sources":["../../src/components/WorkflowTemplates.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAE1F,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe;IACf,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAChD;AAED,wBAAgB,iBAAiB,CAAC,EAChC,SAAc,EACd,iBAAwB,EACxB,OAAO,GACR,EAAE,sBAAsB,qBAsExB"}
1
+ {"version":3,"file":"WorkflowTemplates.d.ts","sourceRoot":"","sources":["../../src/components/WorkflowTemplates.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAE1F,MAAM,WAAW,sBAAsB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe;IACf,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAC/C;AAED,wBAAgB,iBAAiB,CAAC,EACjC,SAAc,EACd,iBAAwB,EACxB,OAAO,GACP,EAAE,sBAAsB,qBA6FxB"}
@@ -6,27 +6,37 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
6
  * 适合新用户快速上手,无需从零编排。
7
7
  *
8
8
  * 集成位置:
9
- * - 可作为独立组件渲染(如在 Inspector 底部或 Command Palette 中)
10
- * - Workspace 默认不渲染;由消费方按需挂载
9
+ * - 可作为独立组件渲染(如在 Inspector 底部或 Command Palette 中)
10
+ * - Workspace 默认不渲染;由消费方按需挂载
11
11
  *
12
12
  * @module WorkflowTemplates
13
13
  */
14
14
  import * as React from 'react';
15
- import { Icon } from '@lokvis/ui-core';
15
+ import { ConfirmDialog, Icon } from '@lokvis/ui-core';
16
16
  import { useWorkspaceStore } from '../store/index.js';
17
17
  import { WORKFLOW_TEMPLATES } from '../data/workflow-templates.js';
18
18
  export function WorkflowTemplates({ className = '', confirmIfNotEmpty = true, onApply, }) {
19
19
  const loadWorkflowTemplate = useWorkspaceStore((s) => s.loadWorkflowTemplate);
20
20
  const nodes = useWorkspaceStore((s) => s.nodes);
21
+ // 待确认应用的模板(非空工作流替换前需用户确认)
22
+ const [pendingTpl, setPendingTpl] = React.useState(null);
21
23
  const handleApply = (tpl) => {
22
24
  if (confirmIfNotEmpty && nodes.length > 0) {
23
- if (!window.confirm(`应用模板「${tpl.name}」将替换当前 ${nodes.length} 个节点,继续?`)) {
24
- return;
25
- }
25
+ setPendingTpl(tpl);
26
+ return;
26
27
  }
28
+ applyTemplate(tpl);
29
+ };
30
+ const applyTemplate = (tpl) => {
27
31
  loadWorkflowTemplate(tpl.nodes.map((n) => ({ capability: n.capability, params: n.params })));
28
32
  onApply?.(tpl);
29
33
  };
30
- return (_jsxs("div", { className: `flex flex-col ${className}`, role: "region", "aria-label": "\u5DE5\u4F5C\u6D41\u6A21\u677F", children: [_jsxs("div", { className: "flex items-center justify-between px-3 py-2 border-b border-zinc-200 dark:border-zinc-800", children: [_jsx("span", { className: "text-[11px] font-semibold uppercase tracking-wider text-zinc-400", children: "Templates" }), _jsxs("span", { className: "text-[10px] text-zinc-400", children: [WORKFLOW_TEMPLATES.length, " \u5185\u7F6E"] })] }), _jsx("div", { className: "grid grid-cols-1 gap-1.5 p-2", children: WORKFLOW_TEMPLATES.map((tpl) => (_jsxs("button", { type: "button", onClick: () => handleApply(tpl), className: "group flex items-start gap-2 rounded-md border border-zinc-200 bg-white px-2.5 py-2 text-left transition-all hover:border-indigo-300 hover:bg-indigo-50/50 dark:border-zinc-700 dark:bg-zinc-900 dark:hover:border-indigo-700 dark:hover:bg-indigo-950/30", children: [_jsx("span", { className: "mt-0.5 text-base leading-none", children: tpl.icon }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsxs("div", { className: "flex items-center justify-between gap-1", children: [_jsx("span", { className: "truncate text-[11px] font-medium text-zinc-700 dark:text-zinc-300", children: tpl.name }), _jsxs("span", { className: "shrink-0 rounded bg-zinc-100 px-1 py-0.5 text-[9px] font-medium uppercase text-zinc-500 dark:bg-zinc-800 dark:text-zinc-400", children: [tpl.nodes.length, " \u6B65"] })] }), _jsx("p", { className: "mt-0.5 truncate text-[10px] text-zinc-500 dark:text-zinc-400", children: tpl.description }), _jsx("div", { className: "mt-1 flex flex-wrap items-center gap-0.5", children: tpl.nodes.map((n, i) => (_jsxs(React.Fragment, { children: [i > 0 && (_jsx(Icon, { size: 8, className: "text-zinc-300 dark:text-zinc-600", children: _jsx("path", { d: "m5 5 5 5-5 5" }) })), _jsx("code", { className: "rounded bg-zinc-100 px-1 py-0.5 text-[9px] text-zinc-600 dark:bg-zinc-800 dark:text-zinc-400", children: n.capability })] }, i))) })] })] }, tpl.id))) })] }));
34
+ return (_jsxs("div", { className: `flex flex-col ${className}`, role: "region", "aria-label": "\u5DE5\u4F5C\u6D41\u6A21\u677F", children: [_jsxs("div", { className: "flex items-center justify-between px-3 py-2 border-b border-[var(--lokvis-border)]", children: [_jsx("span", { className: "text-[11px] font-semibold uppercase tracking-wider text-[var(--lokvis-fg-subtle)]", children: "Templates" }), _jsxs("span", { className: "text-[10px] text-[var(--lokvis-fg-subtle)]", children: [WORKFLOW_TEMPLATES.length, " \u5185\u7F6E"] })] }), _jsx("div", { className: "grid grid-cols-1 gap-1.5 p-2", children: WORKFLOW_TEMPLATES.map((tpl) => (_jsxs("button", { type: "button", onClick: () => handleApply(tpl), className: "group flex items-start gap-2 rounded-md border border-[var(--lokvis-border)] bg-[var(--lokvis-surface)] px-2.5 py-2 text-left transition-all hover:border-[var(--lokvis-primary)]/50 hover:bg-[var(--lokvis-primary)]/10", children: [_jsx("span", { className: "mt-0.5 text-base leading-none", children: tpl.icon }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsxs("div", { className: "flex items-center justify-between gap-1", children: [_jsx("span", { className: "truncate text-[11px] font-medium text-[var(--lokvis-fg-muted)]", children: tpl.name }), _jsxs("span", { className: "shrink-0 rounded bg-[var(--lokvis-surface-muted)] px-1 py-0.5 text-[9px] font-medium uppercase text-[var(--lokvis-fg-muted)]", children: [tpl.nodes.length, " \u6B65"] })] }), _jsx("p", { className: "mt-0.5 truncate text-[10px] text-[var(--lokvis-fg-muted)]", children: tpl.description }), _jsx("div", { className: "mt-1 flex flex-wrap items-center gap-0.5", children: tpl.nodes.map((n, i) => (_jsxs(React.Fragment, { children: [i > 0 && (_jsx(Icon, { size: 8, className: "text-[var(--lokvis-fg-subtle)]", children: _jsx("path", { d: "m5 5 5 5-5 5" }) })), _jsx("code", { className: "rounded bg-[var(--lokvis-surface-muted)] px-1 py-0.5 text-[9px] text-[var(--lokvis-fg-muted)]", children: n.capability })] }, i))) })] })] }, tpl.id))) }), _jsx(ConfirmDialog, { open: pendingTpl !== null, title: "\u5E94\u7528\u6A21\u677F", message: pendingTpl
35
+ ? `应用模板「${pendingTpl.name}」将替换当前 ${nodes.length} 个节点,继续?`
36
+ : '', confirmText: "\u66FF\u6362", variant: "danger", onConfirm: () => {
37
+ if (pendingTpl)
38
+ applyTemplate(pendingTpl);
39
+ setPendingTpl(null);
40
+ }, onClose: () => setPendingTpl(null) })] }));
31
41
  }
32
42
  //# sourceMappingURL=WorkflowTemplates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowTemplates.js","sourceRoot":"","sources":["../../src/components/WorkflowTemplates.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAyB,MAAM,+BAA+B,CAAC;AAU1F,MAAM,UAAU,iBAAiB,CAAC,EAChC,SAAS,GAAG,EAAE,EACd,iBAAiB,GAAG,IAAI,EACxB,OAAO,GACgB;IACvB,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAEhD,MAAM,WAAW,GAAG,CAAC,GAAqB,EAAE,EAAE;QAC5C,IAAI,iBAAiB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,UAAU,KAAK,CAAC,MAAM,UAAU,CAAC,EAAE,CAAC;gBACtE,OAAO;YACT,CAAC;QACH,CAAC;QACD,oBAAoB,CAClB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CACvE,CAAC;QACF,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC,CAAC;IAEF,OAAO,CACL,eACE,SAAS,EAAE,iBAAiB,SAAS,EAAE,EACvC,IAAI,EAAC,QAAQ,gBACF,gCAAO,aAElB,eAAK,SAAS,EAAC,2FAA2F,aACxG,eAAM,SAAS,EAAC,kEAAkE,0BAE3E,EACP,gBAAM,SAAS,EAAC,2BAA2B,aAAE,kBAAkB,CAAC,MAAM,qBAAW,IAC7E,EACN,cAAK,SAAS,EAAC,8BAA8B,YAC1C,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAC/B,kBAEE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAC/B,SAAS,EAAC,2PAA2P,aAErQ,eAAM,SAAS,EAAC,+BAA+B,YAAE,GAAG,CAAC,IAAI,GAAQ,EACjE,eAAK,SAAS,EAAC,gBAAgB,aAC7B,eAAK,SAAS,EAAC,yCAAyC,aACtD,eAAM,SAAS,EAAC,mEAAmE,YAChF,GAAG,CAAC,IAAI,GACJ,EACP,gBAAM,SAAS,EAAC,6HAA6H,aAC1I,GAAG,CAAC,KAAK,CAAC,MAAM,eACZ,IACH,EACN,YAAG,SAAS,EAAC,8DAA8D,YACxE,GAAG,CAAC,WAAW,GACd,EAEJ,cAAK,SAAS,EAAC,0CAA0C,YACtD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,MAAC,KAAK,CAAC,QAAQ,eACZ,CAAC,GAAG,CAAC,IAAI,CACR,KAAC,IAAI,IAAC,IAAI,EAAE,CAAC,EAAE,SAAS,EAAC,kCAAkC,YACzD,eAAM,CAAC,EAAC,cAAc,GAAG,GACpB,CACR,EACD,eAAM,SAAS,EAAC,8FAA8F,YAC3G,CAAC,CAAC,UAAU,GACR,KARY,CAAC,CASL,CAClB,CAAC,GACE,IACF,KAjCD,GAAG,CAAC,EAAE,CAkCJ,CACV,CAAC,GACE,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"WorkflowTemplates.js","sourceRoot":"","sources":["../../src/components/WorkflowTemplates.tsx"],"names":[],"mappings":"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"}
@@ -2,30 +2,30 @@
2
2
  * Workspace - 完整工作台组件
3
3
  *
4
4
  * W9 布局:
5
- * ┌──────────────────────────────────────────────┐
6
- * │ Toolbar
7
- * ├──────┬──────────────┬───────────────────────┤
8
- * │Asset │ Canvas Inspector
9
- * │Panel │ (center) (right)
10
- * ├──────┴──────────────┴───────────────────────┤
11
- * │ PipelineBar
12
- * ├──────────────────────────────────────────────┤
13
- * │ HistoryPanel (horizontal, W9.1)
14
- * ├──────────────────────────────────────────────┤
15
- * │ DownloadPanel (W9.5,条件渲染)
16
- * ├──────────────────────────────────────────────┤
17
- * │ StatusBar
18
- * └──────────────────────────────────────────────┘
5
+ * ┌──────────────────────────────────────────────┐
6
+ * │ Toolbar
7
+ * ├──────┬──────────────┬───────────────────────┤
8
+ * │Asset │ Canvas Inspector
9
+ * │Panel │ (center) (right)
10
+ * ├──────┴──────────────┴───────────────────────┤
11
+ * │ PipelineBar
12
+ * ├──────────────────────────────────────────────┤
13
+ * │ HistoryPanel (horizontal, W9.1)
14
+ * ├──────────────────────────────────────────────┤
15
+ * │ DownloadPanel (W9.5,条件渲染)
16
+ * ├──────────────────────────────────────────────┤
17
+ * │ StatusBar
18
+ * └──────────────────────────────────────────────┘
19
19
  *
20
20
  * W9 集成:
21
- * - 9.1 HistoryPanel 移到底部(horizontal variant)
22
- * - 9.2 CommandPalette(⌘K)挂载在 Workspace 内
23
- * - 9.3 GlobalDropzone 全屏拖拽 + MIME 校验
24
- * - 9.4 Canvas 内置 CompareSlider(before/after)
25
- * - 9.5 DownloadPanel 在 HistoryPanel 下方,有 outputs 时显示
26
- * - 9.6 StatusBar 已增强(当前工具/进度/在线)
27
- * - 9.7 ThemeToggle 通过 Toolbar rightExtra 挂载
28
- * - 9.8 响应式:移动端折叠为 drawer 模式
21
+ * - 9.1 HistoryPanel 移到底部(horizontal variant)
22
+ * - 9.2 CommandPalette(⌘K)挂载在 Workspace 内
23
+ * - 9.3 GlobalDropzone 全屏拖拽 + MIME 校验
24
+ * - 9.4 Canvas 内置 CompareSlider(before/after)
25
+ * - 9.5 DownloadPanel 在 HistoryPanel 下方,有 outputs 时显示
26
+ * - 9.6 StatusBar 已增强(当前工具/进度/在线)
27
+ * - 9.7 ThemeToggle 通过 Toolbar rightExtra 挂载
28
+ * - 9.8 响应式:移动端折叠为 drawer 模式
29
29
  *
30
30
  * 通过 useLokvis 自动初始化 Runtime 与插件。
31
31
  *
@@ -64,7 +64,29 @@ export interface WorkspaceProps extends UseLokvisOptions {
64
64
  enableErrorBanner?: boolean;
65
65
  /** 是否从 URL ?workflow= 参数加载分享工作流(默认 true,W11.5) */
66
66
  enableShareLink?: boolean;
67
+ /**
68
+ * 初始化时自动导入的资产列表。
69
+ * Runtime 就绪后,通过 runtime.importAsset() 逐个导入。
70
+ */
71
+ initialAssets?: Array<{
72
+ blob: Blob;
73
+ name: string;
74
+ }>;
75
+ /**
76
+ * 初始化时预选的能力名称(自动添加到工作流节点)。
77
+ */
78
+ initialCapability?: string;
79
+ /**
80
+ * 初始化时预填的参数(与 initialCapability 配合使用)。
81
+ */
82
+ initialParams?: Record<string, unknown>;
83
+ /**
84
+ * 布局模式:
85
+ * - 'full': 完整三栏布局(默认)
86
+ * - 'focused': 精简模式,隐藏 AssetPanel 和 PipelineBar,适合单工具页跳转进入
87
+ */
88
+ mode?: 'full' | 'focused';
67
89
  className?: string;
68
90
  }
69
- export declare function Workspace({ title, showStatusBar, showHistoryPanel, enableGlobalDropzone, enableCommandPalette, enableThemeToggle, enableCompare, enableDownloadPanel, enableWorkflowEditor, enableProgressBar, enableErrorBanner, enableShareLink, className, ...lokvisOptions }: WorkspaceProps): React.JSX.Element;
91
+ export declare function Workspace({ title, showStatusBar, showHistoryPanel, enableGlobalDropzone, enableCommandPalette, enableThemeToggle, enableCompare, enableDownloadPanel, enableWorkflowEditor, enableProgressBar, enableErrorBanner, enableShareLink, initialAssets, initialCapability, initialParams, mode, className, ...lokvisOptions }: WorkspaceProps): React.JSX.Element;
70
92
  //# sourceMappingURL=Workspace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Workspace.d.ts","sourceRoot":"","sources":["../../src/components/Workspace.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAmBzE,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,6BAA6B;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,+BAA+B;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,4CAA4C;IAC5C,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,qCAAqC;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uCAAuC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uCAAuC;IACvC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gEAAgE;IAChE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,6CAA6C;IAC7C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kDAAkD;IAClD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,aAAoB,EACpB,gBAAuB,EACvB,oBAA2B,EAC3B,oBAA2B,EAC3B,iBAAwB,EACxB,aAAoB,EACpB,mBAA0B,EAC1B,oBAA4B,EAC5B,iBAAwB,EACxB,iBAAwB,EACxB,eAAsB,EACtB,SAAc,EACd,GAAG,aAAa,EACjB,EAAE,cAAc,qBAoLhB"}
1
+ {"version":3,"file":"Workspace.d.ts","sourceRoot":"","sources":["../../src/components/Workspace.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAoBzE,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACvD,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,6BAA6B;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,+BAA+B;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,4CAA4C;IAC5C,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,qCAAqC;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uCAAuC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uCAAuC;IACvC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gEAAgE;IAChE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,6CAA6C;IAC7C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kDAAkD;IAClD,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAKD,wBAAgB,SAAS,CAAC,EACzB,KAAK,EACL,aAAoB,EACpB,gBAAuB,EACvB,oBAA2B,EAC3B,oBAA2B,EAC3B,iBAAwB,EACxB,aAAoB,EACpB,mBAA0B,EAC1B,oBAA4B,EAC5B,iBAAwB,EACxB,iBAAwB,EACxB,eAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,IAAa,EACb,SAAc,EACd,GAAG,aAAa,EAChB,EAAE,cAAc,qBAiPhB"}
@@ -3,30 +3,30 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
3
3
  * Workspace - 完整工作台组件
4
4
  *
5
5
  * W9 布局:
6
- * ┌──────────────────────────────────────────────┐
7
- * │ Toolbar
8
- * ├──────┬──────────────┬───────────────────────┤
9
- * │Asset │ Canvas Inspector
10
- * │Panel │ (center) (right)
11
- * ├──────┴──────────────┴───────────────────────┤
12
- * │ PipelineBar
13
- * ├──────────────────────────────────────────────┤
14
- * │ HistoryPanel (horizontal, W9.1)
15
- * ├──────────────────────────────────────────────┤
16
- * │ DownloadPanel (W9.5,条件渲染)
17
- * ├──────────────────────────────────────────────┤
18
- * │ StatusBar
19
- * └──────────────────────────────────────────────┘
6
+ * ┌──────────────────────────────────────────────┐
7
+ * │ Toolbar
8
+ * ├──────┬──────────────┬───────────────────────┤
9
+ * │Asset │ Canvas Inspector
10
+ * │Panel │ (center) (right)
11
+ * ├──────┴──────────────┴───────────────────────┤
12
+ * │ PipelineBar
13
+ * ├──────────────────────────────────────────────┤
14
+ * │ HistoryPanel (horizontal, W9.1)
15
+ * ├──────────────────────────────────────────────┤
16
+ * │ DownloadPanel (W9.5,条件渲染)
17
+ * ├──────────────────────────────────────────────┤
18
+ * │ StatusBar
19
+ * └──────────────────────────────────────────────┘
20
20
  *
21
21
  * W9 集成:
22
- * - 9.1 HistoryPanel 移到底部(horizontal variant)
23
- * - 9.2 CommandPalette(⌘K)挂载在 Workspace 内
24
- * - 9.3 GlobalDropzone 全屏拖拽 + MIME 校验
25
- * - 9.4 Canvas 内置 CompareSlider(before/after)
26
- * - 9.5 DownloadPanel 在 HistoryPanel 下方,有 outputs 时显示
27
- * - 9.6 StatusBar 已增强(当前工具/进度/在线)
28
- * - 9.7 ThemeToggle 通过 Toolbar rightExtra 挂载
29
- * - 9.8 响应式:移动端折叠为 drawer 模式
22
+ * - 9.1 HistoryPanel 移到底部(horizontal variant)
23
+ * - 9.2 CommandPalette(⌘K)挂载在 Workspace 内
24
+ * - 9.3 GlobalDropzone 全屏拖拽 + MIME 校验
25
+ * - 9.4 Canvas 内置 CompareSlider(before/after)
26
+ * - 9.5 DownloadPanel 在 HistoryPanel 下方,有 outputs 时显示
27
+ * - 9.6 StatusBar 已增强(当前工具/进度/在线)
28
+ * - 9.7 ThemeToggle 通过 Toolbar rightExtra 挂载
29
+ * - 9.8 响应式:移动端折叠为 drawer 模式
30
30
  *
31
31
  * 通过 useLokvis 自动初始化 Runtime 与插件。
32
32
  *
@@ -39,7 +39,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
39
39
  * ```
40
40
  */
41
41
  import * as React from 'react';
42
- import { Icon } from '@lokvis/ui-core';
42
+ import { ConfirmDialog, Icon } from '@lokvis/ui-core';
43
43
  import { useLokvis } from '../hooks/useLokvis.js';
44
44
  import { useBreakpoints } from '../hooks/useMediaQuery.js';
45
45
  import { Toolbar } from './Toolbar.js';
@@ -56,9 +56,10 @@ import { DownloadPanel } from './DownloadPanel.js';
56
56
  import { CommandPalette, useCommandPalette } from './CommandPalette.js';
57
57
  import { GlobalDropzone } from './GlobalDropzone.js';
58
58
  import { ThemeToggle } from './ThemeToggle.js';
59
+ import { ErrorBoundary } from './ErrorBoundary.js';
59
60
  import { useShareLink } from '../hooks/useShareLink.js';
60
61
  import { useWorkspaceStore } from '../store/index.js';
61
- export function Workspace({ title, showStatusBar = true, showHistoryPanel = true, enableGlobalDropzone = true, enableCommandPalette = true, enableThemeToggle = true, enableCompare = true, enableDownloadPanel = true, enableWorkflowEditor = false, enableProgressBar = true, enableErrorBanner = true, enableShareLink = true, className = '', ...lokvisOptions }) {
62
+ export function Workspace({ title, showStatusBar = true, showHistoryPanel = true, enableGlobalDropzone = true, enableCommandPalette = true, enableThemeToggle = true, enableCompare = true, enableDownloadPanel = true, enableWorkflowEditor = false, enableProgressBar = true, enableErrorBanner = true, enableShareLink = true, initialAssets, initialCapability, initialParams, mode = 'full', className = '', ...lokvisOptions }) {
62
63
  const { status, error } = useLokvis(lokvisOptions);
63
64
  const { isMobile } = useBreakpoints();
64
65
  const [paletteOpen, setPaletteOpen] = useCommandPalette({ enabled: enableCommandPalette });
@@ -66,17 +67,20 @@ export function Workspace({ title, showStatusBar = true, showHistoryPanel = true
66
67
  const [mobilePanel, setMobilePanel] = React.useState(null);
67
68
  // W11.5: 从 URL ?workflow= 参数加载分享工作流(runtime 就绪后执行一次)
68
69
  // 保护:若用户已通过其它路径(如 localStorage 恢复或手动添加)有 nodes,
69
- // 不静默替换 —— 用 confirm 让用户显式选择,避免丢失未保存工作。
70
+ // 不静默替换 —— 用 ConfirmDialog 让用户显式选择,避免丢失未保存工作。
70
71
  // 注:不用 useWorkspaceStore 订阅 nodes.length 做 effect 依赖
71
- // (review 反馈:那样 nodesLength 变化会触发 effect 重跑,而 ref 已 true
72
- // 时重跑无意义,且语义上 effect 只应在 status 切换时跑一次)。
73
- // 改用 getState() 在体内读取最新值,既不订阅也不进 deps。
72
+ // (review 反馈:那样 nodesLength 变化会触发 effect 重跑,而 ref 已 true
73
+ // 时重跑无意义,且语义上 effect 只应在 status 切换时跑一次)。
74
+ // 改用 getState() 在体内读取最新值,既不订阅也不进 deps。
74
75
  const { loadFromCurrentUrl } = useShareLink();
75
76
  const shareLoadedRef = React.useRef(false);
77
+ // 待确认的分享链接替换(nodes>0 时需用户确认才替换)
78
+ const [shareConfirmOpen, setShareConfirmOpen] = React.useState(false);
79
+ const [shareConfirmNodes, setShareConfirmNodes] = React.useState(0);
76
80
  React.useEffect(() => {
77
81
  if (enableShareLink && !shareLoadedRef.current && status !== 'initializing' && status !== 'error') {
78
82
  shareLoadedRef.current = true;
79
- // 仅在 URL 含 ?workflow= 参数时才提示(避免无谓 confirm 弹窗)
83
+ // 仅在 URL 含 ?workflow= 参数时才提示(避免无谓弹窗)
80
84
  const hasShareParam = typeof window !== 'undefined'
81
85
  && new URLSearchParams(window.location.search).has('workflow');
82
86
  if (!hasShareParam)
@@ -84,25 +88,68 @@ export function Workspace({ title, showStatusBar = true, showHistoryPanel = true
84
88
  // 读取当前 nodes 长度(最新值,非订阅快照)
85
89
  const currentNodesLength = useWorkspaceStore.getState().nodes.length;
86
90
  if (currentNodesLength > 0) {
87
- const ok = window.confirm(`检测到分享工作流链接,但当前已有 ${currentNodesLength} 个节点。是否替换为分享的工作流?`);
88
- if (!ok)
89
- return;
91
+ setShareConfirmNodes(currentNodesLength);
92
+ setShareConfirmOpen(true);
93
+ return;
90
94
  }
91
95
  loadFromCurrentUrl();
92
96
  }
93
97
  }, [enableShareLink, status, loadFromCurrentUrl]);
98
+ // 初始化 props:runtime 就绪后导入资产、添加节点、填充参数
99
+ const initDoneRef = React.useRef(false);
100
+ React.useEffect(() => {
101
+ if (initDoneRef.current || status !== 'ready')
102
+ return;
103
+ const store = useWorkspaceStore.getState();
104
+ if (!store.runtime)
105
+ return;
106
+ initDoneRef.current = true;
107
+ (async () => {
108
+ // 导入初始资产
109
+ if (initialAssets?.length) {
110
+ for (const { blob, name } of initialAssets) {
111
+ const file = new File([blob], name, { type: blob.type });
112
+ await store.runtime.importAsset({ kind: 'file', file });
113
+ }
114
+ await store.refreshAssets();
115
+ // 自动选中第一个资产
116
+ const assets = store.assets;
117
+ if (assets.length > 0) {
118
+ store.selectAsset(assets[0].id);
119
+ }
120
+ }
121
+ // 添加初始能力节点并填充参数
122
+ if (initialCapability) {
123
+ store.addNode(initialCapability);
124
+ if (initialParams) {
125
+ const nodes = useWorkspaceStore.getState().nodes;
126
+ const lastNode = nodes[nodes.length - 1];
127
+ if (lastNode) {
128
+ store.updateNodeParams(lastNode.id, initialParams);
129
+ }
130
+ }
131
+ }
132
+ })();
133
+ }, [status, initialAssets, initialCapability, initialParams]);
134
+ const isFocused = mode === 'focused';
94
135
  if (status === 'initializing') {
95
- return (_jsx("div", { className: "flex h-full items-center justify-center", children: _jsxs("div", { className: "flex flex-col items-center gap-4", children: [_jsxs("div", { className: "relative flex h-12 w-12 items-center justify-center", children: [_jsx("div", { className: "absolute inset-0 rounded-full border-2 border-indigo-200 dark:border-indigo-800" }), _jsx("div", { className: "h-8 w-8 animate-spin rounded-full border-2 border-transparent border-t-indigo-500" })] }), _jsxs("div", { className: "text-center", children: [_jsx("p", { className: "text-sm font-medium text-zinc-700 dark:text-zinc-300", children: "Initializing Runtime" }), _jsx("p", { className: "mt-1 text-xs text-zinc-400", children: "Loading plugins and capabilities..." })] })] }) }));
136
+ return (_jsx("div", { className: "flex h-full items-center justify-center", children: _jsxs("div", { className: "flex flex-col items-center gap-4", children: [_jsxs("div", { className: "relative flex h-12 w-12 items-center justify-center", children: [_jsx("div", { className: "absolute inset-0 rounded-full border-2 border-[var(--lokvis-primary)]/40" }), _jsx("div", { className: "h-8 w-8 animate-spin rounded-full border-2 border-transparent border-t-[var(--lokvis-primary)]" })] }), _jsxs("div", { className: "text-center", children: [_jsx("p", { className: "text-sm font-medium text-[var(--lokvis-fg-muted)]", children: "Initializing Runtime" }), _jsx("p", { className: "mt-1 text-xs text-[var(--lokvis-fg-subtle)]", children: "Loading plugins and capabilities..." })] })] }) }));
96
137
  }
97
138
  if (status === 'error') {
98
- return (_jsx("div", { className: "flex h-full items-center justify-center px-6", children: _jsxs("div", { className: "max-w-md rounded-xl border border-red-200 bg-red-50 p-6 text-center dark:border-red-800/50 dark:bg-red-950/20", children: [_jsx("div", { className: "mb-3 flex h-10 w-10 mx-auto items-center justify-center rounded-full bg-red-100 dark:bg-red-900/40", children: _jsxs(Icon, { size: 20, className: "text-red-500", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("line", { x1: "12", y1: "8", x2: "12", y2: "12" }), _jsx("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })] }) }), _jsx("p", { className: "font-semibold text-red-700 dark:text-red-400", children: "Failed to initialize" }), _jsx("p", { className: "mt-1.5 text-sm text-red-600/80 dark:text-red-400/70", children: error })] }) }));
139
+ return (_jsx("div", { className: "flex h-full items-center justify-center px-6", children: _jsxs("div", { className: "max-w-md rounded-xl border border-[var(--lokvis-danger)]/30 bg-[var(--lokvis-danger)]/10 p-6 text-center", children: [_jsx("div", { className: "mb-3 flex h-10 w-10 mx-auto items-center justify-center rounded-full bg-[var(--lokvis-danger)]/15", children: _jsxs(Icon, { size: 20, className: "text-[var(--lokvis-danger)]", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("line", { x1: "12", y1: "8", x2: "12", y2: "12" }), _jsx("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })] }) }), _jsx("p", { className: "font-semibold text-[var(--lokvis-danger)]", children: "Failed to initialize" }), _jsx("p", { className: "mt-1.5 text-sm text-[var(--lokvis-danger)]/80", children: error })] }) }));
99
140
  }
100
141
  // W9.7 Toolbar rightExtra: ThemeToggle + ⌘K hint
101
- const toolbarRight = (_jsxs(_Fragment, { children: [enableCommandPalette && (_jsxs("button", { type: "button", onClick: () => setPaletteOpen(true), "aria-label": "Open command palette", title: "Command palette (\u2318K)", className: "flex h-7 items-center gap-1 rounded-md border border-zinc-200 px-1.5 text-[10px] text-zinc-500 transition-colors hover:bg-zinc-100 hover:text-zinc-700 dark:border-zinc-700 dark:hover:bg-zinc-800 dark:hover:text-zinc-200", children: [_jsxs(Icon, { size: 11, children: [_jsx("circle", { cx: "11", cy: "11", r: "8" }), _jsx("path", { d: "m21 21-4.3-4.3" })] }), _jsx("kbd", { className: "font-sans", children: "\u2318K" })] })), enableThemeToggle && _jsx(ThemeToggle, {}), isMobile && (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", onClick: () => setMobilePanel(mobilePanel === 'asset' ? null : 'asset'), "aria-label": "Toggle asset panel", "aria-pressed": mobilePanel === 'asset', className: "flex h-7 w-7 items-center justify-center rounded-md text-zinc-500 hover:bg-zinc-100 hover:text-zinc-700 dark:hover:bg-zinc-800 dark:hover:text-zinc-200", children: _jsxs(Icon, { size: 14, children: [_jsx("rect", { x: "3", y: "3", width: "7", height: "18", rx: "1" }), _jsx("path", { d: "M14 3h7v18h-7z", opacity: "0.3" })] }) }), _jsx("button", { type: "button", onClick: () => setMobilePanel(mobilePanel === 'inspector' ? null : 'inspector'), "aria-label": "Toggle inspector panel", "aria-pressed": mobilePanel === 'inspector', className: "flex h-7 w-7 items-center justify-center rounded-md text-zinc-500 hover:bg-zinc-100 hover:text-zinc-700 dark:hover:bg-zinc-800 dark:hover:text-zinc-200", children: _jsxs(Icon, { size: 14, children: [_jsx("path", { d: "M3 3h7v18H3z", opacity: "0.3" }), _jsx("rect", { x: "14", y: "3", width: "7", height: "18", rx: "1" })] }) })] }))] }));
102
- return (_jsxs("div", { className: `flex h-full flex-col bg-white dark:bg-zinc-900 ${className}`, children: [_jsx(Toolbar, { title: title, rightExtra: toolbarRight }), enableErrorBanner && _jsx(ErrorBanner, {}), enableGlobalDropzone && _jsx(GlobalDropzone, {}), enableCommandPalette && (_jsx(CommandPalette, { open: paletteOpen, onClose: () => setPaletteOpen(false) })), _jsxs("div", { className: "flex flex-1 overflow-hidden relative", children: [_jsx("div", { className: `${isMobile
103
- ? `absolute inset-y-0 left-0 z-20 w-64 max-w-[80vw] transition-transform duration-200 ${mobilePanel === 'asset' ? 'translate-x-0' : '-translate-x-full'}`
104
- : 'relative'}`, children: _jsx(AssetPanel, { className: "h-full" }) }), _jsx(Canvas, { enableCompare: enableCompare }), _jsx("div", { className: `${isMobile
105
- ? `absolute inset-y-0 right-0 z-20 w-72 max-w-[80vw] transition-transform duration-200 ${mobilePanel === 'inspector' ? 'translate-x-0' : 'translate-x-full'}`
106
- : 'relative'}`, children: _jsx(Inspector, { className: "h-full" }) }), isMobile && mobilePanel !== null && (_jsx("button", { type: "button", "aria-label": "Close panel", onClick: () => setMobilePanel(null), className: "absolute inset-0 z-10 bg-black/30" }))] }), enableWorkflowEditor ? _jsx(WorkflowEditor, {}) : _jsx(PipelineBar, {}), enableProgressBar && _jsx(ProgressBar, {}), showHistoryPanel && _jsx(HistoryPanel, { variant: "horizontal" }), enableDownloadPanel && _jsx(DownloadPanel, {}), showStatusBar && _jsx(StatusBar, {})] }));
142
+ const toolbarRight = (_jsxs(_Fragment, { children: [enableCommandPalette && (_jsxs("button", { type: "button", onClick: () => setPaletteOpen(true), "aria-label": "Open command palette", title: "Command palette (\u2318K)", className: "flex h-7 items-center gap-1 rounded-md border border-[var(--lokvis-border)] px-1.5 text-[10px] text-[var(--lokvis-fg-muted)] transition-colors hover:bg-[var(--lokvis-surface-muted)] hover:text-[var(--lokvis-fg-muted)]", children: [_jsxs(Icon, { size: 11, children: [_jsx("circle", { cx: "11", cy: "11", r: "8" }), _jsx("path", { d: "m21 21-4.3-4.3" })] }), _jsx("kbd", { className: "font-sans", children: "\u2318K" })] })), enableThemeToggle && _jsx(ThemeToggle, {}), isMobile && (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", onClick: () => setMobilePanel(mobilePanel === 'asset' ? null : 'asset'), "aria-label": "Toggle asset panel", "aria-pressed": mobilePanel === 'asset', className: "flex h-7 w-7 items-center justify-center rounded-md text-[var(--lokvis-fg-muted)] hover:bg-[var(--lokvis-surface-muted)] hover:text-[var(--lokvis-fg-muted)]", children: _jsxs(Icon, { size: 14, children: [_jsx("rect", { x: "3", y: "3", width: "7", height: "18", rx: "1" }), _jsx("path", { d: "M14 3h7v18h-7z", opacity: "0.3" })] }) }), _jsx("button", { type: "button", onClick: () => setMobilePanel(mobilePanel === 'inspector' ? null : 'inspector'), "aria-label": "Toggle inspector panel", "aria-pressed": mobilePanel === 'inspector', className: "flex h-7 w-7 items-center justify-center rounded-md text-[var(--lokvis-fg-muted)] hover:bg-[var(--lokvis-surface-muted)] hover:text-[var(--lokvis-fg-muted)]", children: _jsxs(Icon, { size: 14, children: [_jsx("path", { d: "M3 3h7v18H3z", opacity: "0.3" }), _jsx("rect", { x: "14", y: "3", width: "7", height: "18", rx: "1" })] }) })] }))] }));
143
+ return (
144
+ // D6: ErrorBoundary 捕获子组件渲染异常,避免整个 workspace 白屏。
145
+ // useLokvis 异常不在本组件树内(早于本 return),由消费方在外层包裹处理。
146
+ _jsx(ErrorBoundary, { children: _jsxs("div", { className: `flex h-full flex-col bg-[var(--lokvis-surface)] ${className}`, children: [_jsx(Toolbar, { title: title, rightExtra: toolbarRight }), enableErrorBanner && _jsx(ErrorBanner, {}), enableGlobalDropzone && _jsx(GlobalDropzone, {}), enableCommandPalette && (_jsx(CommandPalette, { open: paletteOpen, onClose: () => setPaletteOpen(false) })), _jsxs("div", { className: "flex flex-1 overflow-hidden relative", children: [!isFocused && (_jsx("div", { className: `${isMobile
147
+ ? `absolute inset-y-0 left-0 z-20 w-64 max-w-[80vw] transition-transform duration-200 ${mobilePanel === 'asset' ? 'translate-x-0' : '-translate-x-full'}`
148
+ : 'relative'}`, children: _jsx(AssetPanel, { className: "h-full" }) })), _jsx(Canvas, { enableCompare: enableCompare }), _jsx("div", { className: `${isMobile
149
+ ? `absolute inset-y-0 right-0 z-20 w-72 max-w-[80vw] transition-transform duration-200 ${mobilePanel === 'inspector' ? 'translate-x-0' : 'translate-x-full'}`
150
+ : 'relative'}`, children: _jsx(Inspector, { className: "h-full" }) }), isMobile && mobilePanel !== null && !isFocused && (_jsx("button", { type: "button", "aria-label": "Close panel", onClick: () => setMobilePanel(null), className: "absolute inset-0 z-10 bg-[var(--lokvis-overlay)]" }))] }), !isFocused && (enableWorkflowEditor ? _jsx(WorkflowEditor, {}) : _jsx(PipelineBar, {})), enableProgressBar && _jsx(ProgressBar, {}), showHistoryPanel && _jsx(HistoryPanel, { variant: "horizontal" }), enableDownloadPanel && _jsx(DownloadPanel, {}), showStatusBar && _jsx(StatusBar, {}), _jsx(ConfirmDialog, { open: shareConfirmOpen, title: "\u52A0\u8F7D\u5206\u4EAB\u5DE5\u4F5C\u6D41", message: `检测到分享工作流链接,但当前已有 ${shareConfirmNodes} 个节点。是否替换为分享的工作流?`, confirmText: "\u66FF\u6362", variant: "danger", onConfirm: () => {
151
+ setShareConfirmOpen(false);
152
+ loadFromCurrentUrl();
153
+ }, onClose: () => setShareConfirmOpen(false) })] }) }));
107
154
  }
108
155
  //# sourceMappingURL=Workspace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Workspace.js","sourceRoot":"","sources":["../../src/components/Workspace.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Workspace.js","sourceRoot":"","sources":["../../src/components/Workspace.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * useCustomPresets - 自定义尺寸预设持久化 hook(W17.5)
3
+ *
4
+ * 提供用户自定义图像尺寸预设的本地保存能力(免费 3 / Pro 无限)。
5
+ * 数据存储在 localStorage 的 `lokvis.customPresets` key,JSON 数组形式。
6
+ *
7
+ * 与 useWorkflows 的区别:
8
+ * - 自定义预设是尺寸配置(name/width/height/fit/format),轻量
9
+ * - 工作流槽位是完整 Workflow 定义(含 nodes/edges/inputs/outputs)
10
+ *
11
+ * 与 PLATFORM_PRESETS 的区别:
12
+ * - PLATFORM_PRESETS 是内置的固定预设(YouTube/TikTok 等平台标准尺寸)
13
+ * - 自定义预设是用户自建的任意尺寸配置,自由命名
14
+ *
15
+ * id 命名空间约定:自定义预设 id 以 `custom.` 前缀,与内置预设区分
16
+ * (如 `custom.my-instagram-square`),避免 PlatformPresetSelector 冲突。
17
+ *
18
+ * 多 tab / 多实例同步:
19
+ * - 原生 storage 事件:跨 tab 同步
20
+ * - 自定义 SYNC_EVENT:同 tab 多实例同步
21
+ *
22
+ * @module useCustomPresets
23
+ */
24
+ import type { PlatformFitStrategy, PlatformRecommendedFormat } from '@lokvis/capability';
25
+ /** 免费用户自定义预设上限 */
26
+ export declare const FREE_PRESET_LIMIT = 3;
27
+ /** Pro 用户无上限 */
28
+ export declare const PRO_PRESET_LIMIT: number;
29
+ /** 自定义尺寸预设存储格式 */
30
+ export interface CustomSizePreset {
31
+ /** 唯一 ID,以 `custom.` 前缀 */
32
+ id: string;
33
+ /** 用户自定义名称(如 "我的方形预设") */
34
+ name: string;
35
+ /** 目标宽度(像素) */
36
+ width: number;
37
+ /** 目标高度(像素) */
38
+ height: number;
39
+ /** fit 策略(默认 cover) */
40
+ fit: PlatformFitStrategy;
41
+ /** 推荐输出格式(可选) */
42
+ format?: PlatformRecommendedFormat;
43
+ /** 创建时间戳 */
44
+ createdAt: number;
45
+ /** 最后更新时间戳 */
46
+ updatedAt: number;
47
+ }
48
+ /** 保存预设时的输入(不含 id / 时间戳,由 save 自动生成) */
49
+ export interface SavePresetInput {
50
+ /** 预设名称 */
51
+ name: string;
52
+ /** 目标宽度(像素,>0) */
53
+ width: number;
54
+ /** 目标高度(像素,>0) */
55
+ height: number;
56
+ /** fit 策略(默认 cover) */
57
+ fit?: PlatformFitStrategy;
58
+ /** 推荐输出格式(可选) */
59
+ format?: PlatformRecommendedFormat;
60
+ /** 若指定则更新该 id 的预设,否则新增 */
61
+ id?: string;
62
+ }
63
+ export interface UseCustomPresetsResult {
64
+ /** 当前所有自定义预设(按 updatedAt 降序) */
65
+ presets: CustomSizePreset[];
66
+ /** 保存或更新预设;超限时抛 Error */
67
+ save(input: SavePresetInput): CustomSizePreset;
68
+ /** 按 id 删除预设 */
69
+ remove(id: string): void;
70
+ /** 按 id 查找预设 */
71
+ get(id: string): CustomSizePreset | null;
72
+ /** 当前上限(免费 3 / Pro 无限) */
73
+ limit: number;
74
+ /** 是否还能再保存 */
75
+ canSaveMore: boolean;
76
+ /** 还能再保存多少个 */
77
+ remaining: number;
78
+ }
79
+ /** 从 localStorage 读取自定义预设。
80
+ * 容错:JSON 解析失败 / 非数组 / 字段缺失时返回空数组。
81
+ *
82
+ * 导出供测试直接调用(避免渲染 React 组件)。 */
83
+ export declare function readCustomPresetsFromStorage(): CustomSizePreset[];
84
+ /**
85
+ * 写入 localStorage。
86
+ * @returns true 成功;false 失败(隐私模式 / 配额超限 / 序列化异常)
87
+ *
88
+ * 导出供测试直接调用。
89
+ */
90
+ export declare function writeCustomPresetsToStorage(presets: CustomSizePreset[]): boolean;
91
+ /** 生成唯一 ID(custom. 前缀,与内置预设命名空间隔离) */
92
+ export declare function genCustomPresetId(): string;
93
+ /**
94
+ * @param isPro 是否为 Pro 模式。父组件从 runtime.isPro 传入。
95
+ * 影响 limit:免费 3 / Pro 无上限。
96
+ */
97
+ export declare function useCustomPresets(isPro?: boolean): UseCustomPresetsResult;
98
+ //# sourceMappingURL=useCustomPresets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCustomPresets.d.ts","sourceRoot":"","sources":["../../src/hooks/useCustomPresets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;AAM5B,kBAAkB;AAClB,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,gBAAgB;AAChB,eAAO,MAAM,gBAAgB,QAAW,CAAC;AAEzC,kBAAkB;AAClB,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,eAAe;IACf,KAAK,EAAE,MAAM,CAAC;IACd,eAAe;IACf,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,GAAG,EAAE,mBAAmB,CAAC;IACzB,iBAAiB;IACjB,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,YAAY;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wCAAwC;AACxC,MAAM,WAAW,eAAe;IAC9B,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,iBAAiB;IACjB,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,0BAA0B;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,sBAAsB;IACrC,gCAAgC;IAChC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,yBAAyB;IACzB,IAAI,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CAAC;IAC/C,gBAAgB;IAChB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB;IAChB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAAC;IACzC,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAUD;;;+BAG+B;AAC/B,wBAAgB,4BAA4B,IAAI,gBAAgB,EAAE,CA0CjE;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAUhF;AAED,sCAAsC;AACtC,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,UAAQ,GAAG,sBAAsB,CA2GtE"}