@printstack/print-studio 0.0.0-stage → 0.1.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 (429) hide show
  1. package/README.md +246 -2
  2. package/assets/render.worker-Ch4qWx3S.js +109 -0
  3. package/cloneDeep-PCw2ErRl.js +1923 -0
  4. package/components/base-dialog/base-dialog.vue.d.ts +56 -0
  5. package/components/base-dialog/index.d.ts +2 -0
  6. package/components/base-dialog/types.d.ts +20 -0
  7. package/components/button-group/ButtonGroup.d.ts +64 -0
  8. package/components/button-group/index.d.ts +2 -0
  9. package/components/error-fallback/ErrorBoundary.d.ts +15 -0
  10. package/components/error-fallback/browser.d.ts +7 -0
  11. package/components/error-fallback/core.d.ts +36 -0
  12. package/components/error-fallback/exceptions/SilentException.d.ts +7 -0
  13. package/components/error-fallback/index.d.ts +8 -0
  14. package/components/error-fallback/rules/silent-exception.d.ts +2 -0
  15. package/components/error-fallback/vue.d.ts +3 -0
  16. package/components/popup-layer/container.d.ts +2 -0
  17. package/components/popup-layer/use-popup-layer.d.ts +6 -0
  18. package/components/popup-layer/with-popup-layer.d.ts +37 -0
  19. package/components/print-s-logo/print-s-logo.vue.d.ts +12 -0
  20. package/components/s-form/FieldRenderer.d.ts +21 -0
  21. package/components/s-form/SForm.d.ts +77 -0
  22. package/components/s-form/adapter.d.ts +61 -0
  23. package/components/s-form/builtin.d.ts +1 -0
  24. package/components/s-form/context.d.ts +44 -0
  25. package/components/s-form/diagnostics.d.ts +28 -0
  26. package/components/s-form/field-status.d.ts +18 -0
  27. package/components/s-form/index.d.ts +15 -0
  28. package/components/s-form/layouts/CollapseToggle.d.ts +28 -0
  29. package/components/s-form/layouts/FlexLayout.d.ts +89 -0
  30. package/components/s-form/layouts/GridLayout.d.ts +67 -0
  31. package/components/s-form/registry.d.ts +31 -0
  32. package/components/s-form/schema.d.ts +9 -0
  33. package/components/s-form/states.d.ts +59 -0
  34. package/components/s-form/types.d.ts +550 -0
  35. package/components/s-form/use-form-layout.d.ts +21 -0
  36. package/components/s-form/use-form-model.d.ts +15 -0
  37. package/components/s-form/utils.d.ts +76 -0
  38. package/composables/use-json-object-input.d.ts +10 -0
  39. package/composables/use-keyboard-shortcuts.d.ts +16 -0
  40. package/composables/use-z-index.d.ts +9 -0
  41. package/core/align.d.ts +43 -0
  42. package/core/binding-expression.d.ts +25 -0
  43. package/core/binding-formatters.d.ts +43 -0
  44. package/core/data-context.d.ts +73 -0
  45. package/core/data-source-path.d.ts +10 -0
  46. package/core/data-source.d.ts +26 -0
  47. package/core/document-expand.d.ts +7 -0
  48. package/core/document-model.d.ts +56 -0
  49. package/core/document-variable-resolver.d.ts +10 -0
  50. package/core/document-variables.d.ts +23 -0
  51. package/core/element-group.d.ts +73 -0
  52. package/core/element-registry.d.ts +229 -0
  53. package/core/element-transform.d.ts +12 -0
  54. package/core/errors.d.ts +20 -0
  55. package/core/events.d.ts +311 -0
  56. package/core/flow-expand.d.ts +13 -0
  57. package/core/follow-block.d.ts +9 -0
  58. package/core/follow-layout.d.ts +8 -0
  59. package/core/geometry.d.ts +110 -0
  60. package/core/index.d.ts +5 -0
  61. package/core/inspector.d.ts +27 -0
  62. package/core/layout-references.d.ts +8 -0
  63. package/core/overflow-expand.d.ts +7 -0
  64. package/core/page-extensions.d.ts +26 -0
  65. package/core/page-layout.d.ts +6 -0
  66. package/core/parser-version.d.ts +2 -0
  67. package/core/pointer-drag.d.ts +33 -0
  68. package/core/render/barcode.d.ts +26 -0
  69. package/core/render/canvas.d.ts +3 -0
  70. package/core/render/color.d.ts +19 -0
  71. package/core/render/dash.d.ts +4 -0
  72. package/core/render/element-warning.d.ts +3 -0
  73. package/core/render/fonts.d.ts +20 -0
  74. package/core/render/frame.d.ts +10 -0
  75. package/core/render/html.d.ts +11 -0
  76. package/core/render/image.d.ts +13 -0
  77. package/core/render/jspdf-loader.d.ts +6 -0
  78. package/core/render/pdf-draw.d.ts +64 -0
  79. package/core/render/qrcode.d.ts +15 -0
  80. package/core/render/render-task.d.ts +7 -0
  81. package/core/render/resource-data.d.ts +1 -0
  82. package/core/render/resource-task.d.ts +5 -0
  83. package/core/render/text-layout.d.ts +34 -0
  84. package/core/repeat-expand.d.ts +17 -0
  85. package/core/repeat-layout.d.ts +15 -0
  86. package/core/runtime-config.d.ts +12 -0
  87. package/core/types.d.ts +289 -0
  88. package/core/units.d.ts +15 -0
  89. package/core/z-index.d.ts +41 -0
  90. package/core.js +48 -0
  91. package/cost-sheet-Dwg0rt_l.js +1600 -0
  92. package/designer/commands/builtins.d.ts +2 -0
  93. package/designer/commands/command-registry.d.ts +39 -0
  94. package/designer/commands/domain-commands.d.ts +2 -0
  95. package/designer/commands/menu-adapter.d.ts +12 -0
  96. package/designer/commands/menu-interaction.d.ts +2 -0
  97. package/designer/commands/menu-types.d.ts +28 -0
  98. package/designer/commands/types.d.ts +57 -0
  99. package/designer/commands/use-command-shortcuts.d.ts +2 -0
  100. package/designer/components/bars/check-toggle.vue.d.ts +14 -0
  101. package/designer/components/bars/menu-bar.vue.d.ts +11 -0
  102. package/designer/components/bars/options-bar.vue.d.ts +3 -0
  103. package/designer/components/bars/tool-bar.vue.d.ts +3 -0
  104. package/designer/components/binding/binding-picker.vue.d.ts +23 -0
  105. package/designer/components/binding/binding-presets.d.ts +9 -0
  106. package/designer/components/binding/field-tree.vue.d.ts +21 -0
  107. package/designer/components/binding/schema-tree-editor.vue.d.ts +13 -0
  108. package/designer/components/binding/use-binding-expression.d.ts +41 -0
  109. package/designer/components/binding/use-binding-preview.d.ts +14 -0
  110. package/designer/components/binding/use-binding-sources.d.ts +37 -0
  111. package/designer/components/binding/use-binding-submission.d.ts +16 -0
  112. package/designer/components/designer-shell.vue.d.ts +16 -0
  113. package/designer/components/dialogs/apply-template-dialog.vue.d.ts +3 -0
  114. package/designer/components/dialogs/canvas-color-dialog.vue.d.ts +3 -0
  115. package/designer/components/dialogs/data-source-dialog.vue.d.ts +3 -0
  116. package/designer/components/dialogs/dialog-session-host.vue.d.ts +21 -0
  117. package/designer/components/dialogs/element-dialog.vue.d.ts +7 -0
  118. package/designer/components/dialogs/element-settings-workspace.vue.d.ts +28 -0
  119. package/designer/components/dialogs/export-progress-dialog.vue.d.ts +3 -0
  120. package/designer/components/dialogs/follow-dialog.vue.d.ts +3 -0
  121. package/designer/components/dialogs/follow-manager-dialog.vue.d.ts +3 -0
  122. package/designer/components/dialogs/guide-dialog.vue.d.ts +3 -0
  123. package/designer/components/dialogs/page-dialog.vue.d.ts +3 -0
  124. package/designer/components/dialogs/preview-dialog.vue.d.ts +12 -0
  125. package/designer/components/dialogs/print-preview-dialog.vue.d.ts +14 -0
  126. package/designer/components/dialogs/print-preview-source.d.ts +22 -0
  127. package/designer/components/dialogs/repeat-dialog.vue.d.ts +3 -0
  128. package/designer/components/dialogs/repeat-manager-dialog.vue.d.ts +3 -0
  129. package/designer/components/dialogs/template-library-dialog.vue.d.ts +3 -0
  130. package/designer/components/dialogs/tutorial-dialog.vue.d.ts +3 -0
  131. package/designer/components/dialogs/use-data-source-sample.d.ts +18 -0
  132. package/designer/components/dialogs/use-document-preview.d.ts +33 -0
  133. package/designer/components/dialogs/use-preview-renderer.d.ts +32 -0
  134. package/designer/components/dialogs/use-preview-viewport.d.ts +37 -0
  135. package/designer/components/dialogs/use-print-preview.d.ts +33 -0
  136. package/designer/components/dialogs/use-template-catalog.d.ts +51 -0
  137. package/designer/components/dialogs/use-template-preview.d.ts +35 -0
  138. package/designer/components/fields/field-boolean.vue.d.ts +20 -0
  139. package/designer/components/fields/field-color.vue.d.ts +20 -0
  140. package/designer/components/fields/field-data-preview.vue.d.ts +12 -0
  141. package/designer/components/fields/field-image.vue.d.ts +14 -0
  142. package/designer/components/fields/field-table-borders.vue.d.ts +22 -0
  143. package/designer/components/fields/field-table-cell-style.vue.d.ts +13 -0
  144. package/designer/components/fields/field-table-continuation-layout.vue.d.ts +14 -0
  145. package/designer/components/fields/field-table-merge-rules.vue.d.ts +13 -0
  146. package/designer/components/fields/field-table-rows.vue.d.ts +13 -0
  147. package/designer/components/fields/field-table-structure.vue.d.ts +19 -0
  148. package/designer/components/fields/field-table.vue.d.ts +21 -0
  149. package/designer/components/fields/use-table-cells.d.ts +38 -0
  150. package/designer/components/fields/use-table-column-resize.d.ts +11 -0
  151. package/designer/components/fields/use-table-columns.d.ts +19 -0
  152. package/designer/components/fields/use-table-draft.d.ts +569 -0
  153. package/designer/components/fields/use-table-header-selection.d.ts +25 -0
  154. package/designer/components/fields/use-table-headers.d.ts +22 -0
  155. package/designer/components/fields/use-table-selection.d.ts +32 -0
  156. package/designer/components/forms/collection-picker-field.vue.d.ts +12 -0
  157. package/designer/components/forms/designer-field.vue.d.ts +23 -0
  158. package/designer/components/forms/designer-form.vue.d.ts +28 -0
  159. package/designer/components/forms/form-presentation.d.ts +6 -0
  160. package/designer/components/forms/inspector-schema.d.ts +9 -0
  161. package/designer/components/forms/table-inspector-control.vue.d.ts +24 -0
  162. package/designer/components/panels/control-panel.vue.d.ts +3 -0
  163. package/designer/components/panels/info-bar.vue.d.ts +7 -0
  164. package/designer/components/panels/inspector-field.vue.d.ts +13 -0
  165. package/designer/components/panels/layers-panel.vue.d.ts +3 -0
  166. package/designer/components/panels/pages-panel.vue.d.ts +3 -0
  167. package/designer/components/panels/panel-column.vue.d.ts +11 -0
  168. package/designer/components/panels/panel-dock.vue.d.ts +3 -0
  169. package/designer/components/panels/panel-group.vue.d.ts +12 -0
  170. package/designer/components/panels/transform-fields.d.ts +4 -0
  171. package/designer/components/panels/use-panel-drop-target.d.ts +24 -0
  172. package/designer/components/panels/use-panel-interactions.d.ts +22 -0
  173. package/designer/components/previews/barcode-preview.vue.d.ts +8 -0
  174. package/designer/components/previews/ellipse-preview.vue.d.ts +8 -0
  175. package/designer/components/previews/image-preview.vue.d.ts +8 -0
  176. package/designer/components/previews/line-preview.vue.d.ts +10 -0
  177. package/designer/components/previews/qrcode-preview.vue.d.ts +8 -0
  178. package/designer/components/previews/rect-preview.vue.d.ts +8 -0
  179. package/designer/components/previews/table-preview.vue.d.ts +8 -0
  180. package/designer/components/previews/text-preview.vue.d.ts +8 -0
  181. package/designer/components/stage/canvas-stage.vue.d.ts +3 -0
  182. package/designer/components/stage/element-renderer.vue.d.ts +12 -0
  183. package/designer/components/stage/follow-overlay.vue.d.ts +8 -0
  184. package/designer/components/stage/guides-drag-layer.vue.d.ts +3 -0
  185. package/designer/components/stage/guides-layer.vue.d.ts +8 -0
  186. package/designer/components/stage/inline-text-editor.vue.d.ts +16 -0
  187. package/designer/components/stage/page-view.vue.d.ts +10 -0
  188. package/designer/components/stage/repeat-overlay.vue.d.ts +8 -0
  189. package/designer/components/stage/ruler.vue.d.ts +6 -0
  190. package/designer/components/stage/selection-overlay.vue.d.ts +10 -0
  191. package/designer/components/stage/template-editing-banner.vue.d.ts +3 -0
  192. package/designer/components/stage/use-stage-pan.d.ts +6 -0
  193. package/designer/components/stage/use-stage-viewport.d.ts +13 -0
  194. package/designer/components/startup/startup-loading-view.vue.d.ts +9 -0
  195. package/designer/components/startup/startup-loading.d.ts +7 -0
  196. package/designer/components/ui/align-grid.vue.d.ts +9 -0
  197. package/designer/components/ui/align-icons.d.ts +3 -0
  198. package/designer/components/ui/align-target.vue.d.ts +3 -0
  199. package/designer/components/ui/context-menu.vue.d.ts +3 -0
  200. package/designer/components/ui/dialog-tabs.vue.d.ts +15 -0
  201. package/designer/components/ui/extension-slot.vue.d.ts +6 -0
  202. package/designer/components/ui/fallback-block.vue.d.ts +42 -0
  203. package/designer/components/ui/form-block.vue.d.ts +27 -0
  204. package/designer/components/ui/hint-text.vue.d.ts +23 -0
  205. package/designer/components/ui/icon-button.vue.d.ts +24 -0
  206. package/designer/components/ui/icon.vue.d.ts +6 -0
  207. package/designer/components/ui/icons.d.ts +2 -0
  208. package/designer/components/ui/menu-items.vue.d.ts +11 -0
  209. package/designer/components/ui/panel-frame.vue.d.ts +21 -0
  210. package/designer/components/ui/toast-host.vue.d.ts +3 -0
  211. package/designer/components/ui/tool-icon.vue.d.ts +6 -0
  212. package/designer/components/variable-text/use-variable-text-bindings.d.ts +9 -0
  213. package/designer/components/variable-text/use-variable-text-editor.d.ts +38 -0
  214. package/designer/components/variable-text/variable-formatter-editor.vue.d.ts +16 -0
  215. package/designer/components/variable-text/variable-text-field.vue.d.ts +33 -0
  216. package/designer/components/variable-text/variable-text-preview.vue.d.ts +7 -0
  217. package/designer/composables/use-restored-ui-state.d.ts +2 -0
  218. package/designer/config/canvas-background.d.ts +18 -0
  219. package/designer/context/editor-context.d.ts +64 -0
  220. package/designer/context/editor-runtime.d.ts +11 -0
  221. package/designer/context/editor-view.d.ts +8 -0
  222. package/designer/context/inspector-layout.d.ts +7 -0
  223. package/designer/context/use-element-definition.d.ts +1 -0
  224. package/designer/events/store-event-bindings.d.ts +7 -0
  225. package/designer/facade/bindings.d.ts +6 -0
  226. package/designer/facade/editing.d.ts +43 -0
  227. package/designer/facade/elements.d.ts +37 -0
  228. package/designer/facade/entities.d.ts +15364 -0
  229. package/designer/facade/output.d.ts +21 -0
  230. package/designer/facade/pages.d.ts +204 -0
  231. package/designer/facade/print-studio.d.ts +3 -0
  232. package/designer/facade/state.d.ts +10 -0
  233. package/designer/facade/use-print-studio.d.ts +6 -0
  234. package/designer/frame/entry.d.ts +0 -0
  235. package/designer/frame/host.d.ts +7 -0
  236. package/designer/frame/print-designer-frame.vue.d.ts +25 -0
  237. package/designer/frame/shared.d.ts +32 -0
  238. package/designer/frame/view.d.ts +15 -0
  239. package/designer/interactions/create.d.ts +3 -0
  240. package/designer/interactions/geometry-update.d.ts +3 -0
  241. package/designer/interactions/guides.d.ts +7 -0
  242. package/designer/interactions/marquee.d.ts +3 -0
  243. package/designer/interactions/move.d.ts +3 -0
  244. package/designer/interactions/point.d.ts +3 -0
  245. package/designer/interactions/pointer-drag.d.ts +3 -0
  246. package/designer/interactions/resize-strategies.d.ts +23 -0
  247. package/designer/interactions/snap.d.ts +48 -0
  248. package/designer/interactions/transform.d.ts +5 -0
  249. package/designer/mount-print-designer.d.ts +2 -0
  250. package/designer/mount-print-preview.d.ts +5 -0
  251. package/designer/plugins/builtins.d.ts +6 -0
  252. package/designer/plugins/context-menu-guard.d.ts +2 -0
  253. package/designer/plugins/domain-builtins.d.ts +5 -0
  254. package/designer/plugins/element-previews.d.ts +2 -0
  255. package/designer/plugins/error-handling.d.ts +5 -0
  256. package/designer/plugins/extension-points.d.ts +34 -0
  257. package/designer/plugins/follow-layout.d.ts +2 -0
  258. package/designer/plugins/panels.d.ts +2 -0
  259. package/designer/plugins/plugin-bootstrap.d.ts +5 -0
  260. package/designer/plugins/plugin-canvas.d.ts +29 -0
  261. package/designer/plugins/plugin-context.d.ts +100 -0
  262. package/designer/plugins/plugin-manager.d.ts +44 -0
  263. package/designer/plugins/plugin-scope.d.ts +10 -0
  264. package/designer/plugins/sandbox-plugin.d.ts +9 -0
  265. package/designer/plugins/tdesign-forms.d.ts +32 -0
  266. package/designer/plugins/template-library.d.ts +7 -0
  267. package/designer/plugins/tutorials.d.ts +2 -0
  268. package/designer/plugins/types.d.ts +63 -0
  269. package/designer/presets.d.ts +8 -0
  270. package/designer/print-designer.vue.d.ts +25 -0
  271. package/designer/print-preview.vue.d.ts +4 -0
  272. package/designer/services/document-actions.d.ts +17 -0
  273. package/designer/services/editor-resources.d.ts +6 -0
  274. package/designer/services/element-drop.d.ts +4 -0
  275. package/designer/services/file-reader.d.ts +2 -0
  276. package/designer/services/file-service.d.ts +7 -0
  277. package/designer/services/preference-storage.d.ts +9 -0
  278. package/designer/services/sample-preview.d.ts +16 -0
  279. package/designer/services/stage-service.d.ts +24 -0
  280. package/designer/services/text-input.d.ts +10 -0
  281. package/designer/stores/canvas-store.d.ts +33 -0
  282. package/designer/stores/clipboard-store.d.ts +143 -0
  283. package/designer/stores/config-store.d.ts +80 -0
  284. package/designer/stores/data-source-store.d.ts +58 -0
  285. package/designer/stores/document-store.d.ts +1186 -0
  286. package/designer/stores/editor-store.d.ts +10224 -0
  287. package/designer/stores/element-group-store.d.ts +101 -0
  288. package/designer/stores/element-store.d.ts +237 -0
  289. package/designer/stores/follow-block-store.d.ts +290 -0
  290. package/designer/stores/guide-store.d.ts +44 -0
  291. package/designer/stores/history-store.d.ts +45 -0
  292. package/designer/stores/layout-store.d.ts +18 -0
  293. package/designer/stores/navigation-store.d.ts +56 -0
  294. package/designer/stores/page-store.d.ts +164 -0
  295. package/designer/stores/panel-store.d.ts +526 -0
  296. package/designer/stores/plugin-store.d.ts +19 -0
  297. package/designer/stores/rendering-store.d.ts +120 -0
  298. package/designer/stores/repeat-group-store.d.ts +99 -0
  299. package/designer/stores/scope-store.d.ts +31 -0
  300. package/designer/stores/selection-store.d.ts +101 -0
  301. package/designer/stores/template-store.d.ts +655 -0
  302. package/designer/stores/tutorial-store.d.ts +75 -0
  303. package/designer/stores/types.d.ts +135 -0
  304. package/designer/stores/ui-store.d.ts +723 -0
  305. package/designer/stores/view-store.d.ts +483 -0
  306. package/designer/stores/z-index-store.d.ts +62 -0
  307. package/designer/template-library/builtin/cost-sheet.json.d.ts +1450 -0
  308. package/designer/template-library/builtin/invoice.json.d.ts +3338 -0
  309. package/designer/template-library/builtin/purchase-order.json.d.ts +1541 -0
  310. package/designer/template-library/builtin/welcome.json.d.ts +658 -0
  311. package/designer/template-library/builtin-templates.d.ts +4183 -0
  312. package/designer/template-library/registry.d.ts +13 -0
  313. package/designer/template-library/remote-provider.d.ts +25 -0
  314. package/designer/template-library/types.d.ts +35 -0
  315. package/designer/tools.d.ts +18 -0
  316. package/designer/tutorials/builtins.d.ts +20 -0
  317. package/designer/tutorials/interaction-guard.d.ts +3 -0
  318. package/designer/tutorials/playback.d.ts +17 -0
  319. package/designer/tutorials/scene.d.ts +11 -0
  320. package/designer/tutorials/screenplay.d.ts +3 -0
  321. package/designer/tutorials/types.d.ts +64 -0
  322. package/designer/tutorials/use-tutorial-interaction-guard.d.ts +2 -0
  323. package/designer/tutorials/use-tutorial-playback.d.ts +30 -0
  324. package/designer/types.d.ts +39 -0
  325. package/designer.d.ts +7 -0
  326. package/designer.js +45 -0
  327. package/document-model-GhFP9OGp.js +1302 -0
  328. package/elements/definitions/barcode-element.d.ts +1 -0
  329. package/elements/definitions/ellipse-element.d.ts +1 -0
  330. package/elements/definitions/image-element.d.ts +1 -0
  331. package/elements/definitions/line-element.d.ts +5 -0
  332. package/elements/definitions/qrcode-element.d.ts +1 -0
  333. package/elements/definitions/rect-element.d.ts +1 -0
  334. package/elements/definitions/table-element.d.ts +1 -0
  335. package/elements/definitions/text-element.d.ts +3 -0
  336. package/elements/index.d.ts +8 -0
  337. package/elements/shared/image-drop.d.ts +2 -0
  338. package/elements/shared/line-style.d.ts +4 -0
  339. package/elements/shared/qrcode-inspector.d.ts +7 -0
  340. package/elements/shared/rect-style.d.ts +6 -0
  341. package/elements/shared/shape-props.d.ts +8 -0
  342. package/elements/shared/text-style.d.ts +29 -0
  343. package/elements/table/table-cell-style.d.ts +14 -0
  344. package/elements/table/table-continuation.d.ts +6 -0
  345. package/elements/table/table-html.d.ts +8 -0
  346. package/elements/table/table-layout.d.ts +81 -0
  347. package/elements/table/table-merges.d.ts +3 -0
  348. package/elements/table/table-overflow.d.ts +2 -0
  349. package/elements/table/table-pdf-render.d.ts +3 -0
  350. package/elements/table/table-preview.d.ts +3 -0
  351. package/elements/table/table-render.d.ts +3 -0
  352. package/elements/table/table-structure.d.ts +13 -0
  353. package/elements/table/table-style.d.ts +219 -0
  354. package/host-CuGR8rD6.js +123 -0
  355. package/html2canvas-DGcfD7Np.js +4004 -0
  356. package/index.d.ts +23 -0
  357. package/index.es-LpNWVW4Q.js +5742 -0
  358. package/index.js +84 -0
  359. package/invoice-DuBN6ZCM.js +3282 -0
  360. package/jspdf.es.min-CKTVf941.js +18216 -0
  361. package/locales/adapters/locale-loaders.d.ts +3 -0
  362. package/locales/index.d.ts +11 -0
  363. package/locales/plugin-locales.d.ts +11 -0
  364. package/locales/runtime.d.ts +2084 -0
  365. package/locales/setup.d.ts +3 -0
  366. package/locales/translations/zh-CN/app.json.d.ts +47 -0
  367. package/locales/translations/zh-CN/components.json.d.ts +38 -0
  368. package/locales/translations/zh-CN/core.json.d.ts +127 -0
  369. package/locales/translations/zh-CN/designer.json.d.ts +1562 -0
  370. package/locales/translations/zh-CN/elements.json.d.ts +287 -0
  371. package/locales/translations/zh-CN/parser.json.d.ts +34 -0
  372. package/locales/types.d.ts +8 -0
  373. package/locales/utils.d.ts +5 -0
  374. package/mount-print-designer-BLgVZOnm.js +50 -0
  375. package/mount-print-preview-D7M-1AqH.js +65 -0
  376. package/package.json +46 -4
  377. package/parser/html/html-parser.d.ts +22 -0
  378. package/parser/index.d.ts +28 -0
  379. package/parser/pdf/pdf-parser.d.ts +23 -0
  380. package/parser/prepare-document.d.ts +4 -0
  381. package/parser/prepare-resources.d.ts +7 -0
  382. package/parser/registry.d.ts +6 -0
  383. package/parser/render-runtime.d.ts +39 -0
  384. package/parser/types.d.ts +27 -0
  385. package/parser/worker/render.worker.d.ts +1 -0
  386. package/parser/worker/worker-capabilities.d.ts +6 -0
  387. package/parser/worker/worker-client.d.ts +17 -0
  388. package/parser/worker/worker-handler.d.ts +3 -0
  389. package/parser/worker/worker-protocol.d.ts +55 -0
  390. package/plugins/pen/editing-geometry.d.ts +10 -0
  391. package/plugins/pen/element.d.ts +4 -0
  392. package/plugins/pen/geometry.d.ts +19 -0
  393. package/plugins/pen/index.d.ts +3 -0
  394. package/plugins/pen/locale.d.ts +3 -0
  395. package/plugins/pen/locales/zh-CN.json.d.ts +18 -0
  396. package/plugins/pen/pen-edit-surface.vue.d.ts +10 -0
  397. package/plugins/pen/pen-overlay.vue.d.ts +7 -0
  398. package/plugins/pen/pen-plugin.d.ts +4 -0
  399. package/plugins/pen/pen-preview.vue.d.ts +8 -0
  400. package/plugins/pen/pen-surface.vue.d.ts +9 -0
  401. package/plugins/pen/resources.d.ts +2 -0
  402. package/plugins/saas/client.d.ts +3 -0
  403. package/plugins/saas/errors.d.ts +5 -0
  404. package/plugins/saas/index.d.ts +5 -0
  405. package/plugins/saas/integration.d.ts +2 -0
  406. package/plugins/saas/plugin.d.ts +17 -0
  407. package/plugins/saas/preferences.d.ts +5 -0
  408. package/plugins/saas/types.d.ts +96 -0
  409. package/presets-D3WhkbZK.js +13 -0
  410. package/purchase-order-DNBFPpEZ.js +1526 -0
  411. package/purify.es-BTRXviHm.js +876 -0
  412. package/registries-dZq8MewR.js +9737 -0
  413. package/rolldown-runtime-QGRDbDUS.js +19 -0
  414. package/runtime/browser-output.d.ts +18 -0
  415. package/runtime/document-output.d.ts +21 -0
  416. package/runtime/print-renderer.d.ts +26 -0
  417. package/runtime/registries.d.ts +10 -0
  418. package/runtime.js +45 -0
  419. package/saas-B1H161e1.js +524 -0
  420. package/saas.js +1 -0
  421. package/studio-BFQYHZsg.js +6244 -0
  422. package/studio-types.d.ts +200 -0
  423. package/studio.d.ts +2 -0
  424. package/style.css +2 -0
  425. package/styles/lib.d.ts +0 -0
  426. package/styles.js +0 -0
  427. package/types-Vh_6jhVV.js +5 -0
  428. package/vue.d.ts +13 -0
  429. package/vue.js +32849 -0
@@ -0,0 +1,20 @@
1
+ export interface DesignerExceptionOptions {
2
+ /** 根因(可选),保留原始错误与堆栈 */
3
+ cause?: unknown;
4
+ /** 机器码(可选),如 'document.invalid',便于上报聚合与测试断言 */
5
+ code?: string;
6
+ /** 开发者向补充信息(作为 message);缺省时与 userMessage 相同 */
7
+ detail?: string;
8
+ }
9
+ /** 设计器领域异常:全局兜底按 userMessage 提示使用者,message / cause 留给开发者 */
10
+ export declare class DesignerException extends Error {
11
+ /** 机器码(可选) */
12
+ readonly code?: string;
13
+ /** 面向使用者的文案(全局兜底的 toast 直接展示) */
14
+ readonly userMessage: string;
15
+ constructor(userMessage: string, options?: DesignerExceptionOptions);
16
+ }
17
+ /** 类型守卫:全局兜底规则据此识别「需要给用户看文案」的领域异常 */
18
+ export declare function isDesignerException(error: unknown): error is DesignerException;
19
+ /** 把 unknown 错误转成可展示文本(边界降级 UI / 日志共用) */
20
+ export declare function describeError(error: unknown): string;
@@ -0,0 +1,311 @@
1
+ import { AlignMode, SpacingDirection } from './align';
2
+ import { DataSource, ElementGroup, ElementNode, FollowBlock, Guide, PageNode, PageTemplate, RepeatGroup } from './types';
3
+ /** 与 store.view.settings 结构一致(结构化兼容,避免 core 反向依赖 designer) */
4
+ export interface DesignerSettings {
5
+ clickToCreate: boolean;
6
+ gridSize: number;
7
+ /** 锁定全部参考线:禁止拖动 / 拖出新建 */
8
+ guidesLocked: boolean;
9
+ /** 多页面排列方式:纵向堆叠 / 横向一排 / 网格 */
10
+ pageLayoutMode: 'grid' | 'horizontal' | 'vertical';
11
+ previewWithData: boolean;
12
+ showGrid: boolean;
13
+ showGuides: boolean;
14
+ showMargins: boolean;
15
+ showRulers: boolean;
16
+ snapToElements: boolean;
17
+ snapToGrid: boolean;
18
+ snapToGuides: boolean;
19
+ snapToMargins: boolean;
20
+ }
21
+ export type DesignerDialogName = 'apply-template' | 'canvas-color' | 'datasource' | 'element' | 'follow' | 'follow-join' | 'follow-manager' | 'guide' | 'page' | 'preview' | 'repeat' | 'repeat-manager' | 'template-library' | null;
22
+ export interface DesignerDialogState {
23
+ /** repeat 对话框:要编辑的循环区块 id(缺省 = 新建模式) */
24
+ groupId?: string;
25
+ /** guide 对话框:要编辑的参考线 id(缺省 = 新建模式) */
26
+ guideId?: string;
27
+ name: DesignerDialogName;
28
+ pageId?: string;
29
+ returnDialog?: 'follow-manager' | 'repeat-manager';
30
+ }
31
+ export type DesignerToastKind = 'error' | 'info' | 'success';
32
+ export type { AlignMode } from './align';
33
+ /** `action:<name>` 泛化事件的 payload:任意 store action 的调用记录 */
34
+ export interface StoreActionEvent {
35
+ args: unknown[];
36
+ /** 带领域的 action 名称,如 'element.add' */
37
+ name: string;
38
+ result: unknown;
39
+ }
40
+ /** 无 payload 事件的空对象类型 */
41
+ export type EmptyEvent = Record<string, never>;
42
+ /**
43
+ * 设计器全局事件目录。命名约定:`<域>:<动作>`。
44
+ * 子 store 的 action 会自动发 `action:<子域>.<动作>`(见 StoreActionEvent)。
45
+ */
46
+ export type DesignerEventMap = {
47
+ 'action:failed': {
48
+ args: unknown[];
49
+ error: unknown;
50
+ name: string;
51
+ result: undefined;
52
+ };
53
+ /** 画布(页面外虚无区域)背景色变化:preset 为预设 id('custom' 表示自定义),color 为最终 CSS 颜色值 */
54
+ 'canvas:background-changed': {
55
+ color: string;
56
+ preset: string;
57
+ };
58
+ 'clipboard:copied': {
59
+ nodes: ElementNode[];
60
+ };
61
+ 'clipboard:cut': {
62
+ nodes: ElementNode[];
63
+ };
64
+ 'clipboard:pasted': {
65
+ nodes: ElementNode[];
66
+ };
67
+ 'command:after': {
68
+ args: unknown[];
69
+ id: string;
70
+ };
71
+ 'command:before': {
72
+ args: unknown[];
73
+ id: string;
74
+ };
75
+ 'command:error': {
76
+ error: unknown;
77
+ id: string;
78
+ };
79
+ 'command:unknown': {
80
+ id: string;
81
+ };
82
+ /** 命令注册表内容变化(注册 / 注销 / 替换),菜单与快捷键索引据此重建 */
83
+ 'commands:changed': EmptyEvent;
84
+ 'context-menu:closed': EmptyEvent;
85
+ 'context-menu:opened': {
86
+ x: number;
87
+ y: number;
88
+ };
89
+ 'datasource:removed': {
90
+ key: string;
91
+ };
92
+ 'datasource:upserted': {
93
+ source: DataSource;
94
+ };
95
+ 'dialog:closed': EmptyEvent;
96
+ 'dialog:opened': {
97
+ dialog: DesignerDialogState;
98
+ };
99
+ /** 任意文档数据变更(页面 / 元素 / 数据源 / 循环区块,含拖拽中间态) */
100
+ 'document:changed': EmptyEvent;
101
+ 'document:loaded': {
102
+ skippedTypes?: string[];
103
+ };
104
+ 'document:new': EmptyEvent;
105
+ 'document:renamed': {
106
+ name: string;
107
+ };
108
+ 'drag:end': {
109
+ moved: boolean;
110
+ tag: string;
111
+ };
112
+ /** tag 标识交互种类:move / resize / rotate / marquee / create / guide */
113
+ 'drag:start': {
114
+ tag: string;
115
+ };
116
+ 'editing:changed': {
117
+ id: null | string;
118
+ };
119
+ 'element-group:created': {
120
+ group: ElementGroup;
121
+ };
122
+ 'element-group:removed': {
123
+ deleteElements: boolean;
124
+ id: string;
125
+ };
126
+ 'element-group:updated': {
127
+ id: string;
128
+ patch: Partial<Omit<ElementGroup, 'id' | 'pageId'>>;
129
+ };
130
+ 'element:added': {
131
+ node: ElementNode;
132
+ pageId: string;
133
+ };
134
+ 'element:aligned': {
135
+ mode: AlignMode;
136
+ };
137
+ 'element:distributed': {
138
+ mode: AlignMode;
139
+ };
140
+ 'element:duplicated': {
141
+ sourceIds: string[];
142
+ sourceNodes: ElementNode[];
143
+ };
144
+ 'element:flags-changed': {
145
+ id: string;
146
+ locked: boolean;
147
+ visible: boolean;
148
+ };
149
+ 'element:nudged': {
150
+ deltaX: number;
151
+ deltaY: number;
152
+ };
153
+ 'element:removed': {
154
+ ids: string[];
155
+ nodes: ElementNode[];
156
+ };
157
+ 'element:renamed': {
158
+ id: string;
159
+ name: string;
160
+ };
161
+ 'element:reordered': {
162
+ nodeId?: string;
163
+ pageId?: string;
164
+ };
165
+ 'element:spacingDistributed': {
166
+ direction: SpacingDirection;
167
+ };
168
+ /** transient = 拖拽 / 输入等连续中间态(未入历史) */
169
+ 'element:updated': {
170
+ node: ElementNode | null;
171
+ patch: Record<string, unknown>;
172
+ transient: boolean;
173
+ };
174
+ 'elements:changed': EmptyEvent;
175
+ 'follow-block:created': {
176
+ block: FollowBlock;
177
+ };
178
+ 'follow-block:removed': {
179
+ id: string;
180
+ };
181
+ 'follow-block:updated': {
182
+ id: string;
183
+ patch: Partial<FollowBlock>;
184
+ };
185
+ 'guide:added': {
186
+ guide: Guide;
187
+ pageId: string;
188
+ };
189
+ 'guide:cleared': {
190
+ pageId?: string;
191
+ };
192
+ 'guide:moved': {
193
+ guideId: string;
194
+ pageId: string;
195
+ position: number;
196
+ };
197
+ 'guide:removed': {
198
+ guideId: string;
199
+ pageId: string;
200
+ };
201
+ 'history:changed': {
202
+ canRedo: boolean;
203
+ canUndo: boolean;
204
+ };
205
+ 'history:pushed': {
206
+ canRedo: boolean;
207
+ canUndo: boolean;
208
+ };
209
+ 'hover:changed': {
210
+ id: null | string;
211
+ };
212
+ 'page:activated': {
213
+ pageId: string;
214
+ };
215
+ 'page:added': {
216
+ pageId: string;
217
+ };
218
+ 'page:copied': {
219
+ newPageId: string;
220
+ sourcePageId: string;
221
+ };
222
+ 'page:removed': {
223
+ pageId: string;
224
+ };
225
+ 'page:updated': {
226
+ pageId: string;
227
+ patch: Partial<Pick<PageNode, 'background' | 'height' | 'margins' | 'name' | 'templateId' | 'width'>>;
228
+ };
229
+ 'plugin:disposed': {
230
+ name: string;
231
+ };
232
+ 'plugin:registered': {
233
+ name: string;
234
+ };
235
+ 'plugin:state-changed': {
236
+ name: string;
237
+ status: string;
238
+ };
239
+ 'repeat-group:created': {
240
+ group: RepeatGroup;
241
+ };
242
+ 'repeat-group:removed': {
243
+ deleteElements: boolean;
244
+ id: string;
245
+ };
246
+ 'repeat-group:updated': {
247
+ id: string;
248
+ patch: Partial<Omit<RepeatGroup, 'id' | 'pageId'>>;
249
+ };
250
+ 'selection:changed': {
251
+ ids: string[];
252
+ nodes: ElementNode[];
253
+ };
254
+ 'settings:changed': {
255
+ settings: DesignerSettings;
256
+ };
257
+ 'state:changed': EmptyEvent;
258
+ 'template:added': {
259
+ template: PageTemplate;
260
+ };
261
+ 'template:applied': {
262
+ pageIds: string[];
263
+ templateId: string;
264
+ };
265
+ 'template:edit-changed': {
266
+ templateId: null | string;
267
+ };
268
+ 'template:removed': {
269
+ id: string;
270
+ };
271
+ 'template:updated': {
272
+ id: string;
273
+ patch: Partial<Pick<PageTemplate, 'background' | 'baseTemplateId' | 'evenPages' | 'facingPages' | 'name' | 'oddPages'>>;
274
+ };
275
+ 'toast:shown': {
276
+ kind: DesignerToastKind;
277
+ text: string;
278
+ };
279
+ 'tool:changed': {
280
+ tool: string;
281
+ };
282
+ 'zoom:changed': {
283
+ zoom: number;
284
+ };
285
+ } & {
286
+ /** 泛化兜底:任意 store action 自动触发,如 on('action:history.undo', …) */
287
+ [key: `action:${string}`]: StoreActionEvent;
288
+ };
289
+ type WildcardHandler<Events> = (type: keyof Events, event: Events[keyof Events]) => void;
290
+ /**
291
+ * mitt 的强类型包装:
292
+ * - on/once 返回解绑函数(方便插件式生命周期管理);
293
+ * - 支持 `'*'` 通配监听所有事件;
294
+ * - emit 时通配监听器同步收到 (type, payload)。
295
+ */
296
+ export declare class TypedEventBus<Events extends object> {
297
+ private emitter;
298
+ private wildcard;
299
+ emit<K extends keyof Events>(type: K, event: Events[K]): void;
300
+ off<K extends keyof Events>(type: K, handler: (event: Events[K]) => void): void;
301
+ /** 清空全部监听(含通配),用于整体销毁 */
302
+ offAll(): void;
303
+ /** 监听事件,返回解绑函数 */
304
+ on<K extends keyof Events>(type: K, handler: (event: Events[K]) => void): () => void;
305
+ /** 通配监听所有事件 */
306
+ on(type: '*', handler: WildcardHandler<Events>): () => void;
307
+ /** 监听一次后自动解绑,返回解绑函数 */
308
+ once<K extends keyof Events>(type: K, handler: (event: Events[K]) => void): () => void;
309
+ }
310
+ /** 全局事件总线单例(由 editor context 创建并共享,pointer-drag 等核心模块亦可直接发射) */
311
+ export declare function getEventBus(): TypedEventBus<DesignerEventMap>;
@@ -0,0 +1,13 @@
1
+ import { DataContext, WarningCollector } from './data-context';
2
+ import { PageLayout } from './page-layout';
3
+ import { ElementNode, PageNode, PrintDocument } from './types';
4
+ interface FlowExpandContext {
5
+ context: DataContext;
6
+ document: PrintDocument;
7
+ getPage: (draftIndex: number) => PageLayout;
8
+ page: PageNode;
9
+ resolveNode?: (node: ElementNode) => ElementNode;
10
+ warnings: WarningCollector;
11
+ }
12
+ export { getLayoutBounds } from './follow-layout';
13
+ export declare function expandFlowPage(options: FlowExpandContext): ElementNode[][];
@@ -0,0 +1,9 @@
1
+ import { FollowBlock, LayoutTarget, PrintDocument } from './types';
2
+ export declare function layoutTargetKey(target: LayoutTarget): string;
3
+ export declare function resolveLayoutTarget(document: PrintDocument, pageId: string, target: LayoutTarget): undefined | {
4
+ elementIds: string[];
5
+ name: string;
6
+ };
7
+ export declare function getFollowBlockIssue(document: PrintDocument, block: FollowBlock): string | undefined;
8
+ export declare function validateFollowBlocks(document: PrintDocument): void;
9
+ export declare function pruneFollowBlocks(document: PrintDocument): void;
@@ -0,0 +1,8 @@
1
+ import { Rect } from './geometry';
2
+ import { ElementLayoutPatch, ElementNode, PrintDocument } from './types';
3
+ export declare function getLayoutBounds(nodes: ElementNode[]): null | Rect;
4
+ export declare function computeFollowLayout(document: PrintDocument): ElementLayoutPatch[];
5
+ export declare function computeFollowGapUpdates(document: PrintDocument, movedElementIds: readonly string[], reshapedElementIds?: readonly string[]): {
6
+ gap: number;
7
+ id: string;
8
+ }[];
@@ -0,0 +1,110 @@
1
+ import { ElementNode } from './types';
2
+ export interface Point {
3
+ x: number;
4
+ y: number;
5
+ }
6
+ export interface Rect {
7
+ height: number;
8
+ width: number;
9
+ x: number;
10
+ y: number;
11
+ }
12
+ export declare const HANDLE_IDS: readonly ["nw", "n", "ne", "e", "se", "s", "sw", "w"];
13
+ export type HandleId = (typeof HANDLE_IDS)[number];
14
+ /** 每个缩放手柄在元素局部坐标系(u = 元素右方向, v = 元素下方向)中的方向分量 */
15
+ export declare const HANDLE_DIRS: Record<HandleId, {
16
+ u: number;
17
+ v: number;
18
+ }>;
19
+ export declare function rectsIntersect(a: Rect, b: Rect): boolean;
20
+ export declare function rectContainsPoint(rect: Rect, point: Point): boolean;
21
+ /** 角度归一化到 [-180, 180),消除连续拖拽累积出的 735° 之类的脏值 */
22
+ export declare function normalizeDegrees(deg: number): number;
23
+ /** 旋转后元素在页面坐标系中的轴对齐包围盒(AABB) */
24
+ export declare function rotatedAabb(rect: Rect, rotationDeg: number): Rect;
25
+ export declare function unionRects(rects: Rect[]): null | Rect;
26
+ /**
27
+ * 拖拽缩放手柄时计算元素新矩形。
28
+ *
29
+ * 关键点:元素绕自身中心旋转,锚点(与被拖手柄相对的边/角)在页面坐标系
30
+ * 中保持不动。算法先把手柄位移从页面坐标系旋转变换到元素局部坐标系
31
+ * (u/v 轴),得到新宽高,再由固定锚点反推新中心,最后换回页面坐标系。
32
+ */
33
+ export declare function resizeRectByHandle(start: Rect, rotationDeg: number, handle: HandleId, mouse: Point, startMouse: Point, options?: {
34
+ aspectRatio?: number;
35
+ keepRatio?: boolean;
36
+ minHeight?: number;
37
+ minSize?: number;
38
+ minWidth?: number;
39
+ }): Rect;
40
+ /** 多选整体缩放:把节点矩形关于锚点做线性缩放 */
41
+ export declare function scaleRectAboutAnchor(rect: Rect, anchor: Point, sx: number, sy: number): Rect;
42
+ /** 计算从元素顶部中心向上的旋转手柄锚点(页面坐标系) */
43
+ export declare function rotateHandleAnchor(rect: Rect, rotationDeg: number, offsetMm: number): Point;
44
+ export declare function clampRectToSize(rect: Rect, maxWidth: number, maxHeight: number): Rect;
45
+ /** 点集的轴对齐包围盒(空点集返回 1×1 的零位矩形,避免调用方判空) */
46
+ export declare function pointsAabb(points: Point[]): Rect;
47
+ export declare function translatePoints(points: Point[], dx: number, dy: number): Point[];
48
+ /** 把点集关于锚点做线性缩放(多选整体缩放 / 定界框数值缩放共用) */
49
+ export declare function scalePointsAboutAnchor(points: Point[], anchor: Point, sx: number, sy: number): Point[];
50
+ /** 点绕中心旋转(deg,顺时针为正) */
51
+ export declare function rotatePointAround(point: Point, center: Point, rotationDeg: number): Point;
52
+ /** 点集绕自身包围盒中心整体旋转(deg,顺时针为正),点数不足时不旋转 */
53
+ export declare function rotatePointsAroundAabbCenter(points: Point[], deltaDeg: number): Point[];
54
+ /**
55
+ * 点集方向角:首末点连线的方向角(deg,-180 ~ 180,屏幕坐标系 y 向下,
56
+ * 与节点 rotation 同一约定——rotation 每转过 1° 方向角也增加 1°)。
57
+ */
58
+ export declare function pointsDirectionDeg(points: Point[]): number;
59
+ /** 点集首末点的直线距离(线条的「长度」:属性面板宽度字段对线条展示 / 编辑该值) */
60
+ export declare function pointsSpanLength(points: Point[]): number;
61
+ /** 末点网格微调:使首末点方向角最接近 targetDeg(角度录入精确化) */
62
+ export declare function snapSegmentAngle(first: Point, last: Point, targetDeg: number, keep?: (candidate: Point) => boolean): Point;
63
+ /** 末点网格微调:使首末点距离最接近 targetLength(长度录入精确化) */
64
+ export declare function snapSegmentLength(first: Point, last: Point, targetLength: number, keep?: (candidate: Point) => boolean): Point;
65
+ /**
66
+ * 数值录入:保持首点与方向不变,把末点放到目标长度处。
67
+ * 属性面板「长度」字段编辑线条用:方向取当前显示角度(两位小数)作不变量,
68
+ * 避免上次端点舍入的残差滚进下次方向角造成累积漂移;吸附时优先保持
69
+ * 显示角度不变,使改长度不联动角度。
70
+ */
71
+ export declare function segmentEndpointAtLength(first: Point, last: Point, lengthMm: number): Point;
72
+ /**
73
+ * 数值录入:保持首点与长度不变,把末点转到目标方向角。
74
+ * 属性面板「旋转」字段编辑线条用:长度取当前显示长度(两位小数)作不变量,
75
+ * 吸附时优先保持显示长度不变,使改角度不联动长度,吸附策略同上。
76
+ */
77
+ export declare function segmentEndpointAtAngle(first: Point, last: Point, angleDeg: number): Point;
78
+ /**
79
+ * 角度约束:把 moved 约束到相对 anchor 的 stepDeg 倍数方向上(Shift 画 45° 直线)。
80
+ * 半径取两点的原始距离,方向按象限吸附到最近的约束角。
81
+ */
82
+ export declare function constrainPointToAngle(anchor: Point, moved: Point, stepDeg?: number): Point;
83
+ /**
84
+ * 轴对齐意图吸附:moved 落在 anchor 的水平/竖直容差带内时精确取齐,
85
+ * 消除手抖造成的毫米级倾斜(点驱动元素拖拽创建用)。
86
+ * 水平判定优先:线条以横向绘制为主,纵偏移在容差内即视为水平意图。
87
+ */
88
+ export declare function alignPointToAxis(anchor: Point, moved: Point, toleranceMm: number): Point;
89
+ /** 点到线段的最短距离 */
90
+ export declare function distancePointToSegment(point: Point, a: Point, b: Point): number;
91
+ /** 线段与轴对齐矩形是否相交(端点在矩形内也算相交) */
92
+ export declare function segmentIntersectsRect(a: Point, b: Point, rect: Rect): boolean;
93
+ /** 折线(依次连接的顶点序列)与轴对齐矩形是否相交;少于 2 点时退化为端点包含 */
94
+ export declare function pathIntersectsRect(points: Point[], rect: Rect): boolean;
95
+ /** 参与几何计算的节点字段:允许传入实时节点或交互开始时的几何快照 */
96
+ export type NodeGeometry = Pick<ElementNode, 'height' | 'points' | 'rotation' | 'width' | 'x' | 'y'>;
97
+ /** 节点几何快照:交互拖拽期间以此为基准计算补丁,避免读到被逐帧修改的响应式节点 */
98
+ export declare function nodeGeometrySnapshot(node: NodeGeometry): NodeGeometry;
99
+ /** 判断节点是否为点驱动(以实际数据为准,能力定义只决定交互形态),收窄 points 为必填 */
100
+ export declare function isPointNode<T extends {
101
+ points?: Point[];
102
+ }>(node: T): node is T & {
103
+ points: Point[];
104
+ };
105
+ /** 由新点集生成完整补丁:points 与包围盒、rotation 一起同步 */
106
+ export declare function pointsNodePatch(node: NodeGeometry, points: Point[]): Partial<ElementNode>;
107
+ /** 平移节点:点驱动元素连带平移点集 */
108
+ export declare function translateNodePatch(node: NodeGeometry, dx: number, dy: number): Partial<ElementNode>;
109
+ /** 关于锚点缩放节点:点驱动元素缩放点集,普通元素缩放定界框 */
110
+ export declare function scaleNodePatch(node: NodeGeometry, anchor: Point, sx: number, sy: number, minSize?: number): Partial<ElementNode>;
@@ -0,0 +1,5 @@
1
+ export { createElement, createPage, createTemplate, deserializeDocument, DOCUMENT_VERSION, } from './document-model';
2
+ export { defineElement, ElementRegistry, elementRegistry, } from './element-registry';
3
+ export type { ElementDefinition, ElementOverflowContext, ElementOverflowResult, } from './element-registry';
4
+ export { DesignerException } from './errors';
5
+ export * from './types';
@@ -0,0 +1,27 @@
1
+ import { ElementRegistry } from './element-registry';
2
+ import { ElementNode, InspectorBinding, InspectorField, InspectorSection, PrintDocument } from './types';
3
+ export declare function getContextInspectorSections(sections: InspectorSection[], document: PrintDocument, node: ElementNode, registry: ElementRegistry): InspectorSection[];
4
+ export declare function getPanelInspectorSections(sections: InspectorSection[], node: ElementNode): InspectorSection[];
5
+ export declare function getBatchInspectorSections(sections: InspectorSection[], node: ElementNode): InspectorSection[];
6
+ export declare function getVisibleInspectorSections(sections: InspectorSection[], node: ElementNode, options?: {
7
+ includeAdvanced?: boolean;
8
+ }): InspectorSection[];
9
+ export declare function readInspectorValue(node: ElementNode, field: InspectorField): unknown;
10
+ export declare function getPropsPath(props: Record<string, unknown>, key: string): unknown;
11
+ /**
12
+ * 点路径写入:返回以首段键为根的更新补丁(供 updateProps 浅合并使用),
13
+ * 中间层级不存在时自动补齐对象框架。
14
+ */
15
+ export declare function writePropsPatch(props: Record<string, unknown>, key: string, value: unknown): Record<string, unknown>;
16
+ /**
17
+ * 文本类字段声明了可追加的表达式绑定时,使用变量文本输入:
18
+ * 变量以原子节点内嵌于文本,替代整体「绑定」按钮。
19
+ */
20
+ export declare function usesVariableText(field: InspectorField): boolean;
21
+ export declare const expressionBinding: Required<Pick<InspectorBinding, 'isBound' | 'read' | 'readPaths' | 'write'>>;
22
+ /**
23
+ * 属性绑定策略:读写 node.bindings 中的路径。
24
+ * bindingKey 缺省取 field.key;当绑定目标与字段 key 不一致时显式指定
25
+ * (如表格「列定义」字段绑定的实际是 bindings.rows)。
26
+ */
27
+ export declare function propertyBinding(mode: 'collection' | 'field', bindingKey?: string): InspectorBinding;
@@ -0,0 +1,8 @@
1
+ import { ElementGroup, FollowBlock, PrintDocument, RepeatGroup } from './types';
2
+ export interface LayoutReferences {
3
+ elementGroups: ElementGroup[];
4
+ followBlocks: FollowBlock[];
5
+ repeatGroups: RepeatGroup[];
6
+ }
7
+ export declare function captureLayoutReferences(document: PrintDocument, elementIds: string[]): LayoutReferences;
8
+ export declare function copyLayoutReferences(document: PrintDocument, references: LayoutReferences, elementIds: Map<string, string>, pageId: string, createId: (prefix: string) => string): void;
@@ -0,0 +1,7 @@
1
+ import { DataContext, WarningCollector } from './data-context';
2
+ import { ElementNode, PageNode, PrintDocument } from './types';
3
+ export declare function preparePageOverflow(document: PrintDocument, page: PageNode, context: DataContext, warnings: WarningCollector): {
4
+ continuations: PageNode[];
5
+ page: PageNode;
6
+ resolveNode: (node: ElementNode) => ElementNode;
7
+ };
@@ -0,0 +1,26 @@
1
+ import { ElementRegistry } from './element-registry';
2
+ import { ElementNode, PageTemplate, PrintDocument } from './types';
3
+ /** 从文档关系推导承载元素的角色,不依赖当前设计器编辑状态。 */
4
+ export declare function getPageExtensionContext(document: PrintDocument, node: ElementNode, registry: ElementRegistry): {
5
+ capability: {
6
+ rebind: (node: ElementNode, purpose: string, templateId: string, elementId: string) => void;
7
+ reconcile?: (document: PrintDocument, node: ElementNode) => void;
8
+ references: (node: ElementNode) => {
9
+ elementId: string;
10
+ purpose: string;
11
+ templateId: string;
12
+ }[];
13
+ resolveTarget?: (source: ElementNode, target: ElementNode, purpose: string) => ElementNode;
14
+ targetInspectorFields?: (purpose: string) => import('./types').InspectorField[];
15
+ };
16
+ purpose: string;
17
+ source: ElementNode;
18
+ } | undefined;
19
+ export declare function resolvePageExtensionNode(document: PrintDocument, node: ElementNode, registry: ElementRegistry): ElementNode;
20
+ export declare function reconcilePageExtensions(document: PrintDocument, node: ElementNode, registry: ElementRegistry): void;
21
+ export declare function assertRequiredElementMutation(document: PrintDocument, node: ElementNode, patch?: Partial<ElementNode>): void;
22
+ export declare function validateTemplateDependencies(template: PageTemplate): void;
23
+ /** 复制内部资源并重新绑定引用,避免副本与原元素共享可编辑资源。也迁移旧版引用。 */
24
+ export declare function copyPageExtensions(document: PrintDocument, source: ElementNode, target: ElementNode, registry: ElementRegistry, resources?: PrintDocument): void;
25
+ export declare function prunePageExtensions(document: PrintDocument, registry?: ElementRegistry): void;
26
+ export declare function assertPageExtensionReferences(document: PrintDocument, node: ElementNode, registry: ElementRegistry): void;
@@ -0,0 +1,6 @@
1
+ import { Rect } from './geometry';
2
+ import { PageMargins, PageNode } from './types';
3
+ export type PageLayout = Pick<PageNode, 'height' | 'margins' | 'width'>;
4
+ export declare function resolvePageLayout(page: PageLayout): PageLayout;
5
+ export declare function resolvePageMargins(margins?: PageMargins): PageMargins;
6
+ export declare function getPageContentRect(page: PageLayout): Rect;
@@ -0,0 +1,2 @@
1
+ export declare const INITIAL_PARSER_VERSION = "1.0.0";
2
+ export declare function resolveParserVersion(value: unknown): string;
@@ -0,0 +1,33 @@
1
+ import { DesignerEventMap, TypedEventBus } from './events';
2
+ import { Point } from './geometry';
3
+ export declare function registerDragScope(root: Element, events: TypedEventBus<DesignerEventMap>): () => void;
4
+ export interface DragSession {
5
+ /** 原始 PointerEvent */
6
+ event: PointerEvent;
7
+ /** 最近一次 move 事件的位置 */
8
+ lastPoint: Point;
9
+ /** 本次拖拽起始的页面坐标(由调用方换算好传入) */
10
+ startPoint: Point;
11
+ }
12
+ export interface PointerDragOptions {
13
+ cancelOnBlur?: boolean;
14
+ onCancel?: (session: DragSession, moved: boolean) => void;
15
+ onEnd?: (session: DragSession, moved: boolean) => void;
16
+ onMove?: (session: DragSession) => void;
17
+ pointerId: number;
18
+ /** 指针按下时的屏幕坐标,仅用于阈值判定;缺省时退回用 startPoint(毫米)比较 */
19
+ startClient?: Point;
20
+ /** 位置变化阈值(CSS px):小于该值不触发 onMove,用于区分"点击"与"拖动" */
21
+ startPoint: Point;
22
+ /** 交互标识(move / resize / rotate / marquee / create / guide),随 drag 事件广播 */
23
+ tag?: string;
24
+ /** 触发拖拽的元素,将对其进行 setPointerCapture */
25
+ target: Element;
26
+ threshold?: number;
27
+ }
28
+ export interface PointerDragHandle {
29
+ (): void;
30
+ cancel(): void;
31
+ }
32
+ /** 返回幂等结束函数,供调用方在卸载或替换会话时释放监听。 */
33
+ export declare function startPointerDrag(options: PointerDragOptions): PointerDragHandle;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * 条形码渲染原语:基于 JsBarcode,提供 SVG(HTML 用,矢量打印质量更好)
3
+ * 与 Canvas(PDF 用)两种输出,并做"包含缩放"处理以适配元素框。
4
+ * 两种输出使用相同的原始参数,保证视觉一致。
5
+ */
6
+ export interface BarcodeOptions {
7
+ background: string;
8
+ displayValue: boolean;
9
+ /** 字号(pt) */
10
+ fontSize: number;
11
+ format: string;
12
+ lineColor: string;
13
+ /** 静默区边距(mm) */
14
+ margin: number;
15
+ }
16
+ export interface BarcodeRenderResult {
17
+ height: number;
18
+ /** SVG 标记,width/height 属性为原始渲染尺寸(CSS px) */
19
+ svg: string;
20
+ /** 内容宽高(CSS px) */
21
+ width: number;
22
+ }
23
+ /** 渲染失败(值与格式不匹配等)返回 null,调用方显示占位提示 */
24
+ export declare function renderBarcodeSvg(value: string, options: BarcodeOptions): BarcodeRenderResult | null;
25
+ /** 渲染到 canvas(同步),scale 为物理像素放大倍数,提高打印清晰度 */
26
+ export declare function renderBarcodeCanvas(value: string, options: BarcodeOptions, targetWidthPx: number, targetHeightPx: number, scale?: number): HTMLCanvasElement | null;
@@ -0,0 +1,3 @@
1
+ export type RenderCanvas = HTMLCanvasElement | OffscreenCanvas;
2
+ export declare function createRenderCanvas(width?: number, height?: number): RenderCanvas;
3
+ export declare function getRenderContext(canvas: RenderCanvas): CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * 颜色工具:属性中统一存储 hex 字符串(#rrggbb),渲染时按需转换。
3
+ */
4
+ export interface Rgb {
5
+ b: number;
6
+ g: number;
7
+ r: number;
8
+ }
9
+ export interface Rgba extends Rgb {
10
+ alpha: number;
11
+ }
12
+ /** 解析 #rgb / #rrggbb,无效返回 null(代表"无色/透明") */
13
+ export declare function parseHexColor(value: unknown): null | Rgb;
14
+ export declare function parseCssColor(value: unknown): null | Rgba;
15
+ export declare function resolvePdfColor(value: unknown): null | string;
16
+ /** "transparent" / 空串 / 无效值统一视为无色 */
17
+ export declare function isNoColor(value: unknown): boolean;
18
+ export declare function rgbToCss(rgb: Rgb): string;
19
+ export declare function resolvePageBackground(value: string | undefined): string;
@@ -0,0 +1,4 @@
1
+ import { DashStyle } from '../types';
2
+ export declare const DASH_PATTERNS: Record<DashStyle, number[]>;
3
+ export declare function dashArrayFor(style: unknown): number[];
4
+ export declare function dashArrayToCss(pattern: number[]): string;