@printstack/print-studio 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/README.md +129 -162
  2. package/assets/{render.worker-Ch4qWx3S.js → render.worker-Dl59Xk1a.js} +9 -9
  3. package/{cloneDeep-PCw2ErRl.js → cloneDeep-waBDTGc3.js} +9 -4
  4. package/components/button-group/ButtonGroup.d.ts +1 -1
  5. package/components/print-s-logo/print-s-logo.vue.d.ts +1 -1
  6. package/components/s-form/types.d.ts +1 -1
  7. package/core/coordinate-space.d.ts +16 -0
  8. package/core/document-model.d.ts +1 -1
  9. package/core/element-registry.d.ts +3 -8
  10. package/core/index.d.ts +1 -0
  11. package/core/page-extensions.d.ts +1 -1
  12. package/core/types.d.ts +8 -0
  13. package/core.js +10 -10
  14. package/designer/commands/menu-adapter.d.ts +3 -3
  15. package/designer/commands/menu-types.d.ts +8 -1
  16. package/designer/commands/types.d.ts +2 -0
  17. package/designer/components/fields/use-table-draft.d.ts +0 -4
  18. package/designer/components/panels/layer-row-types.d.ts +37 -0
  19. package/designer/components/panels/layer-row.vue.d.ts +17 -0
  20. package/designer/components/stage/marquee-overlay.vue.d.ts +8 -0
  21. package/designer/components/stage/node-style.d.ts +3 -0
  22. package/designer/components/stage/selection-member.vue.d.ts +14 -0
  23. package/designer/composables/use-theme.d.ts +3 -0
  24. package/designer/facade/editing.d.ts +2 -2
  25. package/designer/facade/entities.d.ts +1160 -26
  26. package/designer/facade/use-print-studio.d.ts +1 -1
  27. package/designer/frame/view.d.ts +2 -0
  28. package/designer/interactions/marquee.d.ts +1 -1
  29. package/designer/interactions/move.d.ts +3 -1
  30. package/designer/mount-print-designer.d.ts +1 -1
  31. package/designer/plugins/plugin-manager.d.ts +3 -3
  32. package/designer/plugins/types.d.ts +1 -1
  33. package/designer/stores/document-store.d.ts +72 -0
  34. package/designer/stores/editor-store.d.ts +772 -16
  35. package/designer/stores/page-store.d.ts +25 -1
  36. package/designer/stores/selection-store.d.ts +1 -1
  37. package/designer/stores/template-store.d.ts +52 -4
  38. package/designer/stores/types.d.ts +1 -0
  39. package/designer/stores/ui-store.d.ts +232 -3
  40. package/designer/stores/view-store.d.ts +10 -1
  41. package/designer.d.ts +1 -1
  42. package/designer.js +3 -3
  43. package/elements/index.d.ts +2 -4
  44. package/elements/table/table-style.d.ts +3 -10
  45. package/{registries-dZq8MewR.js → elements-YX-XUHtf.js} +2510 -3069
  46. package/host-oKlYakgn.js +123 -0
  47. package/index.d.ts +3 -1
  48. package/index.js +9 -8
  49. package/locales/runtime.d.ts +7 -2
  50. package/locales/translations/zh-CN/designer.json.d.ts +9 -4
  51. package/{mount-print-designer-BLgVZOnm.js → mount-print-designer-CAqO0T0k.js} +4 -4
  52. package/{mount-print-preview-D7M-1AqH.js → mount-print-preview-DgDHL3E8.js} +4 -3
  53. package/package.json +19 -2
  54. package/parser/index.d.ts +1 -1
  55. package/parser/registry.d.ts +8 -0
  56. package/parser/render-runtime.d.ts +1 -1
  57. package/{presets-D3WhkbZK.js → presets-DmCp_Doe.js} +2 -2
  58. package/printer.d.ts +17 -0
  59. package/printer.js +3 -0
  60. package/registries-CyjYSHA7.js +1841 -0
  61. package/runtime/print-renderer.d.ts +3 -2
  62. package/runtime/registries.d.ts +1 -0
  63. package/runtime.js +32 -28
  64. package/{saas-B1H161e1.js → saas-D-q51uTz.js} +1 -1
  65. package/saas.js +1 -1
  66. package/{studio-BFQYHZsg.js → studio-DHusmJyL.js} +1264 -1187
  67. package/studio-types.d.ts +1 -1
  68. package/studio.d.ts +1 -1
  69. package/style.css +1 -1
  70. package/vue.d.ts +1 -1
  71. package/vue.js +3672 -3579
  72. package/document-model-GhFP9OGp.js +0 -1302
  73. package/host-CuGR8rD6.js +0 -123
@@ -61,6 +61,7 @@ export declare function createViewStore(deps: {
61
61
  y: number;
62
62
  };
63
63
  } | null>;
64
+ originOf: import('vue').ComputedRef<(pageId: string) => Point | undefined>;
64
65
  pageLayouts: import('vue').ComputedRef<{
65
66
  page: import('../..').PageNode;
66
67
  x: number;
@@ -139,6 +140,8 @@ export declare function createViewStore(deps: {
139
140
  v: number[];
140
141
  }>;
141
142
  spacePanning: import('vue').Ref<boolean, boolean>;
143
+ toGlobal: import('vue').ComputedRef<(pageId: string, point: Point) => Point | undefined>;
144
+ toLocal: import('vue').ComputedRef<(pageId: string, point: Point) => Point | undefined>;
142
145
  updateAlignPanel: (patch: Partial<AlignPanelState>) => void;
143
146
  updateSettings: (patch: Partial<{
144
147
  clickToCreate: boolean;
@@ -218,6 +221,7 @@ export declare function createViewStore(deps: {
218
221
  y: number;
219
222
  };
220
223
  } | null>;
224
+ originOf: import('vue').ComputedRef<(pageId: string) => Point | undefined>;
221
225
  pageLayouts: import('vue').ComputedRef<{
222
226
  page: import('../..').PageNode;
223
227
  x: number;
@@ -296,6 +300,8 @@ export declare function createViewStore(deps: {
296
300
  v: number[];
297
301
  }>;
298
302
  spacePanning: import('vue').Ref<boolean, boolean>;
303
+ toGlobal: import('vue').ComputedRef<(pageId: string, point: Point) => Point | undefined>;
304
+ toLocal: import('vue').ComputedRef<(pageId: string, point: Point) => Point | undefined>;
299
305
  updateAlignPanel: (patch: Partial<AlignPanelState>) => void;
300
306
  updateSettings: (patch: Partial<{
301
307
  clickToCreate: boolean;
@@ -323,7 +329,7 @@ export declare function createViewStore(deps: {
323
329
  width: number;
324
330
  }>;
325
331
  zoom: import('vue').Ref<number, number>;
326
- }, "canvasBackground" | "canvasBackgroundPreset" | "contentSizeMm" | "customCanvasColor" | "getLayout" | "pageLayouts" | "pagesBoundsMm" | "pxPerMm">, Pick<{
332
+ }, "canvasBackground" | "canvasBackgroundPreset" | "contentSizeMm" | "customCanvasColor" | "getLayout" | "originOf" | "pageLayouts" | "pagesBoundsMm" | "pxPerMm" | "toGlobal" | "toLocal">, Pick<{
327
333
  activeTool: import('vue').Ref<string, string>;
328
334
  alignPanel: {
329
335
  spacing: null | number;
@@ -375,6 +381,7 @@ export declare function createViewStore(deps: {
375
381
  y: number;
376
382
  };
377
383
  } | null>;
384
+ originOf: import('vue').ComputedRef<(pageId: string) => Point | undefined>;
378
385
  pageLayouts: import('vue').ComputedRef<{
379
386
  page: import('../..').PageNode;
380
387
  x: number;
@@ -453,6 +460,8 @@ export declare function createViewStore(deps: {
453
460
  v: number[];
454
461
  }>;
455
462
  spacePanning: import('vue').Ref<boolean, boolean>;
463
+ toGlobal: import('vue').ComputedRef<(pageId: string, point: Point) => Point | undefined>;
464
+ toLocal: import('vue').ComputedRef<(pageId: string, point: Point) => Point | undefined>;
456
465
  updateAlignPanel: (patch: Partial<AlignPanelState>) => void;
457
466
  updateSettings: (patch: Partial<{
458
467
  clickToCreate: boolean;
package/designer.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { mountPrintDesigner } from './designer/mount-print-designer';
1
+ export { attachDesigner } from './designer/mount-print-designer';
2
2
  export type { DesignerPlugin } from './designer/plugins/types';
3
3
  export type { DesignerPresets } from './designer/presets';
4
4
  export { createRemoteTemplateProvider } from './designer/template-library/remote-provider';
package/designer.js CHANGED
@@ -1,5 +1,5 @@
1
- import { t as e } from "./mount-print-designer-BLgVZOnm.js";
2
- import { A as t, B as n } from "./cloneDeep-PCw2ErRl.js";
1
+ import { t as e } from "./mount-print-designer-CAqO0T0k.js";
2
+ import { A as t, B as n } from "./cloneDeep-waBDTGc3.js";
3
3
  // src/designer/template-library/remote-provider.ts
4
4
  function r(e) {
5
5
  let r = e.fetcher ?? ((e, t) => fetch(e, t));
@@ -42,4 +42,4 @@ function r(e) {
42
42
  title: e.title
43
43
  };
44
44
  }
45
- export { r as createRemoteTemplateProvider, e as mountPrintDesigner };
45
+ export { e as attachDesigner, r as createRemoteTemplateProvider };
@@ -1,8 +1,6 @@
1
- /**
2
- * 元素注册入口:把内置元素定义注册到全局注册表。
3
- * 新增元素 = 新建定义文件 + 在此登记,设计器与解析器自动获得该元素的全部能力。
4
- */
1
+ import { ElementRegistry } from '../core/element-registry';
5
2
  export declare const builtinElements: import('../core/element-registry').ElementDefinition[];
6
3
  export declare function registerBuiltinElements(): void;
4
+ export declare function createBuiltinElementRegistry(): ElementRegistry;
7
5
  export type { TableMergeRule } from './table/table-style';
8
6
  export { elementRegistry } from '../core/element-registry';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 表格数据模型与样式求值:类型、默认值、旧文档归一化、行高公式。
2
+ * 表格数据模型与样式求值:类型、默认值、属性归一化、行高公式。
3
3
  * 纯函数,不依赖 Vue / DOM;画布预览、HTML / PDF 解析器共用。
4
4
  *
5
5
  * 三级样式优先级:单元格样式(cellOverrides / 汇总行样式)> 列样式 > 表格默认样式。
@@ -128,10 +128,7 @@ export interface TablePagination {
128
128
  }
129
129
  export interface TableProps {
130
130
  background: string;
131
- /** 旧版整表边框:仅作旧文档迁移源,normalizeTableProps 后迁移进 borders */
132
- borderColor?: string;
133
131
  borders: TableBorders;
134
- borderWidth?: number;
135
132
  /**
136
133
  * 设计态定界框高度(mm),由绑定解析阶段写入。输出态 measureSize 会把节点高度
137
134
  * 改写为内容自然高度,分页 / 超限判断需以定界框作为单页可用空间上限。
@@ -196,13 +193,9 @@ export declare function defaultTablePagination(): TablePagination;
196
193
  /** 构造带派生值的汇总配置(跨页切块时使用,values 不落文档模型) */
197
194
  export declare function withSummaryValues(summary: TableSummary, values: string[]): TableSummary;
198
195
  export declare function normalizeTableMergeRules(raw: unknown): TableMergeRule[];
199
- /**
200
- * 表格属性归一化:旧文档(无 borders/summary/pagination 等新键)补默认值,
201
- * 旧 borderColor/borderWidth 迁移为边框模型。幂等,加载与渲染前均可调用。
202
- * 旧文档 heightMode 缺省为 fixed(保持旧版压缩行高观感),新建元素默认 auto。
203
- */
196
+ /** 表格属性归一化:补全默认值并校验配置,加载与渲染前均可调用(幂等)。 */
204
197
  export declare function normalizeTableProps(raw: Record<string, unknown>): Record<string, unknown>;
205
- /** 生效边框宽度(mm):新边框模型的内线宽度,兼容旧 borderWidth 字段 */
198
+ /** 生效边框宽度(mm):边框模型的内线宽度。 */
206
199
  export declare function borderWidthOf(props: TableProps): number;
207
200
  /** 浏览器可见边框至少占 1 CSS px,高度计算不能只使用亚像素毫米线宽。 */
208
201
  export declare function resolveTableBorderHeightMm(props: TableProps): number;