@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.
- package/README.md +246 -2
- package/assets/render.worker-Ch4qWx3S.js +109 -0
- package/cloneDeep-PCw2ErRl.js +1923 -0
- package/components/base-dialog/base-dialog.vue.d.ts +56 -0
- package/components/base-dialog/index.d.ts +2 -0
- package/components/base-dialog/types.d.ts +20 -0
- package/components/button-group/ButtonGroup.d.ts +64 -0
- package/components/button-group/index.d.ts +2 -0
- package/components/error-fallback/ErrorBoundary.d.ts +15 -0
- package/components/error-fallback/browser.d.ts +7 -0
- package/components/error-fallback/core.d.ts +36 -0
- package/components/error-fallback/exceptions/SilentException.d.ts +7 -0
- package/components/error-fallback/index.d.ts +8 -0
- package/components/error-fallback/rules/silent-exception.d.ts +2 -0
- package/components/error-fallback/vue.d.ts +3 -0
- package/components/popup-layer/container.d.ts +2 -0
- package/components/popup-layer/use-popup-layer.d.ts +6 -0
- package/components/popup-layer/with-popup-layer.d.ts +37 -0
- package/components/print-s-logo/print-s-logo.vue.d.ts +12 -0
- package/components/s-form/FieldRenderer.d.ts +21 -0
- package/components/s-form/SForm.d.ts +77 -0
- package/components/s-form/adapter.d.ts +61 -0
- package/components/s-form/builtin.d.ts +1 -0
- package/components/s-form/context.d.ts +44 -0
- package/components/s-form/diagnostics.d.ts +28 -0
- package/components/s-form/field-status.d.ts +18 -0
- package/components/s-form/index.d.ts +15 -0
- package/components/s-form/layouts/CollapseToggle.d.ts +28 -0
- package/components/s-form/layouts/FlexLayout.d.ts +89 -0
- package/components/s-form/layouts/GridLayout.d.ts +67 -0
- package/components/s-form/registry.d.ts +31 -0
- package/components/s-form/schema.d.ts +9 -0
- package/components/s-form/states.d.ts +59 -0
- package/components/s-form/types.d.ts +550 -0
- package/components/s-form/use-form-layout.d.ts +21 -0
- package/components/s-form/use-form-model.d.ts +15 -0
- package/components/s-form/utils.d.ts +76 -0
- package/composables/use-json-object-input.d.ts +10 -0
- package/composables/use-keyboard-shortcuts.d.ts +16 -0
- package/composables/use-z-index.d.ts +9 -0
- package/core/align.d.ts +43 -0
- package/core/binding-expression.d.ts +25 -0
- package/core/binding-formatters.d.ts +43 -0
- package/core/data-context.d.ts +73 -0
- package/core/data-source-path.d.ts +10 -0
- package/core/data-source.d.ts +26 -0
- package/core/document-expand.d.ts +7 -0
- package/core/document-model.d.ts +56 -0
- package/core/document-variable-resolver.d.ts +10 -0
- package/core/document-variables.d.ts +23 -0
- package/core/element-group.d.ts +73 -0
- package/core/element-registry.d.ts +229 -0
- package/core/element-transform.d.ts +12 -0
- package/core/errors.d.ts +20 -0
- package/core/events.d.ts +311 -0
- package/core/flow-expand.d.ts +13 -0
- package/core/follow-block.d.ts +9 -0
- package/core/follow-layout.d.ts +8 -0
- package/core/geometry.d.ts +110 -0
- package/core/index.d.ts +5 -0
- package/core/inspector.d.ts +27 -0
- package/core/layout-references.d.ts +8 -0
- package/core/overflow-expand.d.ts +7 -0
- package/core/page-extensions.d.ts +26 -0
- package/core/page-layout.d.ts +6 -0
- package/core/parser-version.d.ts +2 -0
- package/core/pointer-drag.d.ts +33 -0
- package/core/render/barcode.d.ts +26 -0
- package/core/render/canvas.d.ts +3 -0
- package/core/render/color.d.ts +19 -0
- package/core/render/dash.d.ts +4 -0
- package/core/render/element-warning.d.ts +3 -0
- package/core/render/fonts.d.ts +20 -0
- package/core/render/frame.d.ts +10 -0
- package/core/render/html.d.ts +11 -0
- package/core/render/image.d.ts +13 -0
- package/core/render/jspdf-loader.d.ts +6 -0
- package/core/render/pdf-draw.d.ts +64 -0
- package/core/render/qrcode.d.ts +15 -0
- package/core/render/render-task.d.ts +7 -0
- package/core/render/resource-data.d.ts +1 -0
- package/core/render/resource-task.d.ts +5 -0
- package/core/render/text-layout.d.ts +34 -0
- package/core/repeat-expand.d.ts +17 -0
- package/core/repeat-layout.d.ts +15 -0
- package/core/runtime-config.d.ts +12 -0
- package/core/types.d.ts +289 -0
- package/core/units.d.ts +15 -0
- package/core/z-index.d.ts +41 -0
- package/core.js +48 -0
- package/cost-sheet-Dwg0rt_l.js +1600 -0
- package/designer/commands/builtins.d.ts +2 -0
- package/designer/commands/command-registry.d.ts +39 -0
- package/designer/commands/domain-commands.d.ts +2 -0
- package/designer/commands/menu-adapter.d.ts +12 -0
- package/designer/commands/menu-interaction.d.ts +2 -0
- package/designer/commands/menu-types.d.ts +28 -0
- package/designer/commands/types.d.ts +57 -0
- package/designer/commands/use-command-shortcuts.d.ts +2 -0
- package/designer/components/bars/check-toggle.vue.d.ts +14 -0
- package/designer/components/bars/menu-bar.vue.d.ts +11 -0
- package/designer/components/bars/options-bar.vue.d.ts +3 -0
- package/designer/components/bars/tool-bar.vue.d.ts +3 -0
- package/designer/components/binding/binding-picker.vue.d.ts +23 -0
- package/designer/components/binding/binding-presets.d.ts +9 -0
- package/designer/components/binding/field-tree.vue.d.ts +21 -0
- package/designer/components/binding/schema-tree-editor.vue.d.ts +13 -0
- package/designer/components/binding/use-binding-expression.d.ts +41 -0
- package/designer/components/binding/use-binding-preview.d.ts +14 -0
- package/designer/components/binding/use-binding-sources.d.ts +37 -0
- package/designer/components/binding/use-binding-submission.d.ts +16 -0
- package/designer/components/designer-shell.vue.d.ts +16 -0
- package/designer/components/dialogs/apply-template-dialog.vue.d.ts +3 -0
- package/designer/components/dialogs/canvas-color-dialog.vue.d.ts +3 -0
- package/designer/components/dialogs/data-source-dialog.vue.d.ts +3 -0
- package/designer/components/dialogs/dialog-session-host.vue.d.ts +21 -0
- package/designer/components/dialogs/element-dialog.vue.d.ts +7 -0
- package/designer/components/dialogs/element-settings-workspace.vue.d.ts +28 -0
- package/designer/components/dialogs/export-progress-dialog.vue.d.ts +3 -0
- package/designer/components/dialogs/follow-dialog.vue.d.ts +3 -0
- package/designer/components/dialogs/follow-manager-dialog.vue.d.ts +3 -0
- package/designer/components/dialogs/guide-dialog.vue.d.ts +3 -0
- package/designer/components/dialogs/page-dialog.vue.d.ts +3 -0
- package/designer/components/dialogs/preview-dialog.vue.d.ts +12 -0
- package/designer/components/dialogs/print-preview-dialog.vue.d.ts +14 -0
- package/designer/components/dialogs/print-preview-source.d.ts +22 -0
- package/designer/components/dialogs/repeat-dialog.vue.d.ts +3 -0
- package/designer/components/dialogs/repeat-manager-dialog.vue.d.ts +3 -0
- package/designer/components/dialogs/template-library-dialog.vue.d.ts +3 -0
- package/designer/components/dialogs/tutorial-dialog.vue.d.ts +3 -0
- package/designer/components/dialogs/use-data-source-sample.d.ts +18 -0
- package/designer/components/dialogs/use-document-preview.d.ts +33 -0
- package/designer/components/dialogs/use-preview-renderer.d.ts +32 -0
- package/designer/components/dialogs/use-preview-viewport.d.ts +37 -0
- package/designer/components/dialogs/use-print-preview.d.ts +33 -0
- package/designer/components/dialogs/use-template-catalog.d.ts +51 -0
- package/designer/components/dialogs/use-template-preview.d.ts +35 -0
- package/designer/components/fields/field-boolean.vue.d.ts +20 -0
- package/designer/components/fields/field-color.vue.d.ts +20 -0
- package/designer/components/fields/field-data-preview.vue.d.ts +12 -0
- package/designer/components/fields/field-image.vue.d.ts +14 -0
- package/designer/components/fields/field-table-borders.vue.d.ts +22 -0
- package/designer/components/fields/field-table-cell-style.vue.d.ts +13 -0
- package/designer/components/fields/field-table-continuation-layout.vue.d.ts +14 -0
- package/designer/components/fields/field-table-merge-rules.vue.d.ts +13 -0
- package/designer/components/fields/field-table-rows.vue.d.ts +13 -0
- package/designer/components/fields/field-table-structure.vue.d.ts +19 -0
- package/designer/components/fields/field-table.vue.d.ts +21 -0
- package/designer/components/fields/use-table-cells.d.ts +38 -0
- package/designer/components/fields/use-table-column-resize.d.ts +11 -0
- package/designer/components/fields/use-table-columns.d.ts +19 -0
- package/designer/components/fields/use-table-draft.d.ts +569 -0
- package/designer/components/fields/use-table-header-selection.d.ts +25 -0
- package/designer/components/fields/use-table-headers.d.ts +22 -0
- package/designer/components/fields/use-table-selection.d.ts +32 -0
- package/designer/components/forms/collection-picker-field.vue.d.ts +12 -0
- package/designer/components/forms/designer-field.vue.d.ts +23 -0
- package/designer/components/forms/designer-form.vue.d.ts +28 -0
- package/designer/components/forms/form-presentation.d.ts +6 -0
- package/designer/components/forms/inspector-schema.d.ts +9 -0
- package/designer/components/forms/table-inspector-control.vue.d.ts +24 -0
- package/designer/components/panels/control-panel.vue.d.ts +3 -0
- package/designer/components/panels/info-bar.vue.d.ts +7 -0
- package/designer/components/panels/inspector-field.vue.d.ts +13 -0
- package/designer/components/panels/layers-panel.vue.d.ts +3 -0
- package/designer/components/panels/pages-panel.vue.d.ts +3 -0
- package/designer/components/panels/panel-column.vue.d.ts +11 -0
- package/designer/components/panels/panel-dock.vue.d.ts +3 -0
- package/designer/components/panels/panel-group.vue.d.ts +12 -0
- package/designer/components/panels/transform-fields.d.ts +4 -0
- package/designer/components/panels/use-panel-drop-target.d.ts +24 -0
- package/designer/components/panels/use-panel-interactions.d.ts +22 -0
- package/designer/components/previews/barcode-preview.vue.d.ts +8 -0
- package/designer/components/previews/ellipse-preview.vue.d.ts +8 -0
- package/designer/components/previews/image-preview.vue.d.ts +8 -0
- package/designer/components/previews/line-preview.vue.d.ts +10 -0
- package/designer/components/previews/qrcode-preview.vue.d.ts +8 -0
- package/designer/components/previews/rect-preview.vue.d.ts +8 -0
- package/designer/components/previews/table-preview.vue.d.ts +8 -0
- package/designer/components/previews/text-preview.vue.d.ts +8 -0
- package/designer/components/stage/canvas-stage.vue.d.ts +3 -0
- package/designer/components/stage/element-renderer.vue.d.ts +12 -0
- package/designer/components/stage/follow-overlay.vue.d.ts +8 -0
- package/designer/components/stage/guides-drag-layer.vue.d.ts +3 -0
- package/designer/components/stage/guides-layer.vue.d.ts +8 -0
- package/designer/components/stage/inline-text-editor.vue.d.ts +16 -0
- package/designer/components/stage/page-view.vue.d.ts +10 -0
- package/designer/components/stage/repeat-overlay.vue.d.ts +8 -0
- package/designer/components/stage/ruler.vue.d.ts +6 -0
- package/designer/components/stage/selection-overlay.vue.d.ts +10 -0
- package/designer/components/stage/template-editing-banner.vue.d.ts +3 -0
- package/designer/components/stage/use-stage-pan.d.ts +6 -0
- package/designer/components/stage/use-stage-viewport.d.ts +13 -0
- package/designer/components/startup/startup-loading-view.vue.d.ts +9 -0
- package/designer/components/startup/startup-loading.d.ts +7 -0
- package/designer/components/ui/align-grid.vue.d.ts +9 -0
- package/designer/components/ui/align-icons.d.ts +3 -0
- package/designer/components/ui/align-target.vue.d.ts +3 -0
- package/designer/components/ui/context-menu.vue.d.ts +3 -0
- package/designer/components/ui/dialog-tabs.vue.d.ts +15 -0
- package/designer/components/ui/extension-slot.vue.d.ts +6 -0
- package/designer/components/ui/fallback-block.vue.d.ts +42 -0
- package/designer/components/ui/form-block.vue.d.ts +27 -0
- package/designer/components/ui/hint-text.vue.d.ts +23 -0
- package/designer/components/ui/icon-button.vue.d.ts +24 -0
- package/designer/components/ui/icon.vue.d.ts +6 -0
- package/designer/components/ui/icons.d.ts +2 -0
- package/designer/components/ui/menu-items.vue.d.ts +11 -0
- package/designer/components/ui/panel-frame.vue.d.ts +21 -0
- package/designer/components/ui/toast-host.vue.d.ts +3 -0
- package/designer/components/ui/tool-icon.vue.d.ts +6 -0
- package/designer/components/variable-text/use-variable-text-bindings.d.ts +9 -0
- package/designer/components/variable-text/use-variable-text-editor.d.ts +38 -0
- package/designer/components/variable-text/variable-formatter-editor.vue.d.ts +16 -0
- package/designer/components/variable-text/variable-text-field.vue.d.ts +33 -0
- package/designer/components/variable-text/variable-text-preview.vue.d.ts +7 -0
- package/designer/composables/use-restored-ui-state.d.ts +2 -0
- package/designer/config/canvas-background.d.ts +18 -0
- package/designer/context/editor-context.d.ts +64 -0
- package/designer/context/editor-runtime.d.ts +11 -0
- package/designer/context/editor-view.d.ts +8 -0
- package/designer/context/inspector-layout.d.ts +7 -0
- package/designer/context/use-element-definition.d.ts +1 -0
- package/designer/events/store-event-bindings.d.ts +7 -0
- package/designer/facade/bindings.d.ts +6 -0
- package/designer/facade/editing.d.ts +43 -0
- package/designer/facade/elements.d.ts +37 -0
- package/designer/facade/entities.d.ts +15364 -0
- package/designer/facade/output.d.ts +21 -0
- package/designer/facade/pages.d.ts +204 -0
- package/designer/facade/print-studio.d.ts +3 -0
- package/designer/facade/state.d.ts +10 -0
- package/designer/facade/use-print-studio.d.ts +6 -0
- package/designer/frame/entry.d.ts +0 -0
- package/designer/frame/host.d.ts +7 -0
- package/designer/frame/print-designer-frame.vue.d.ts +25 -0
- package/designer/frame/shared.d.ts +32 -0
- package/designer/frame/view.d.ts +15 -0
- package/designer/interactions/create.d.ts +3 -0
- package/designer/interactions/geometry-update.d.ts +3 -0
- package/designer/interactions/guides.d.ts +7 -0
- package/designer/interactions/marquee.d.ts +3 -0
- package/designer/interactions/move.d.ts +3 -0
- package/designer/interactions/point.d.ts +3 -0
- package/designer/interactions/pointer-drag.d.ts +3 -0
- package/designer/interactions/resize-strategies.d.ts +23 -0
- package/designer/interactions/snap.d.ts +48 -0
- package/designer/interactions/transform.d.ts +5 -0
- package/designer/mount-print-designer.d.ts +2 -0
- package/designer/mount-print-preview.d.ts +5 -0
- package/designer/plugins/builtins.d.ts +6 -0
- package/designer/plugins/context-menu-guard.d.ts +2 -0
- package/designer/plugins/domain-builtins.d.ts +5 -0
- package/designer/plugins/element-previews.d.ts +2 -0
- package/designer/plugins/error-handling.d.ts +5 -0
- package/designer/plugins/extension-points.d.ts +34 -0
- package/designer/plugins/follow-layout.d.ts +2 -0
- package/designer/plugins/panels.d.ts +2 -0
- package/designer/plugins/plugin-bootstrap.d.ts +5 -0
- package/designer/plugins/plugin-canvas.d.ts +29 -0
- package/designer/plugins/plugin-context.d.ts +100 -0
- package/designer/plugins/plugin-manager.d.ts +44 -0
- package/designer/plugins/plugin-scope.d.ts +10 -0
- package/designer/plugins/sandbox-plugin.d.ts +9 -0
- package/designer/plugins/tdesign-forms.d.ts +32 -0
- package/designer/plugins/template-library.d.ts +7 -0
- package/designer/plugins/tutorials.d.ts +2 -0
- package/designer/plugins/types.d.ts +63 -0
- package/designer/presets.d.ts +8 -0
- package/designer/print-designer.vue.d.ts +25 -0
- package/designer/print-preview.vue.d.ts +4 -0
- package/designer/services/document-actions.d.ts +17 -0
- package/designer/services/editor-resources.d.ts +6 -0
- package/designer/services/element-drop.d.ts +4 -0
- package/designer/services/file-reader.d.ts +2 -0
- package/designer/services/file-service.d.ts +7 -0
- package/designer/services/preference-storage.d.ts +9 -0
- package/designer/services/sample-preview.d.ts +16 -0
- package/designer/services/stage-service.d.ts +24 -0
- package/designer/services/text-input.d.ts +10 -0
- package/designer/stores/canvas-store.d.ts +33 -0
- package/designer/stores/clipboard-store.d.ts +143 -0
- package/designer/stores/config-store.d.ts +80 -0
- package/designer/stores/data-source-store.d.ts +58 -0
- package/designer/stores/document-store.d.ts +1186 -0
- package/designer/stores/editor-store.d.ts +10224 -0
- package/designer/stores/element-group-store.d.ts +101 -0
- package/designer/stores/element-store.d.ts +237 -0
- package/designer/stores/follow-block-store.d.ts +290 -0
- package/designer/stores/guide-store.d.ts +44 -0
- package/designer/stores/history-store.d.ts +45 -0
- package/designer/stores/layout-store.d.ts +18 -0
- package/designer/stores/navigation-store.d.ts +56 -0
- package/designer/stores/page-store.d.ts +164 -0
- package/designer/stores/panel-store.d.ts +526 -0
- package/designer/stores/plugin-store.d.ts +19 -0
- package/designer/stores/rendering-store.d.ts +120 -0
- package/designer/stores/repeat-group-store.d.ts +99 -0
- package/designer/stores/scope-store.d.ts +31 -0
- package/designer/stores/selection-store.d.ts +101 -0
- package/designer/stores/template-store.d.ts +655 -0
- package/designer/stores/tutorial-store.d.ts +75 -0
- package/designer/stores/types.d.ts +135 -0
- package/designer/stores/ui-store.d.ts +723 -0
- package/designer/stores/view-store.d.ts +483 -0
- package/designer/stores/z-index-store.d.ts +62 -0
- package/designer/template-library/builtin/cost-sheet.json.d.ts +1450 -0
- package/designer/template-library/builtin/invoice.json.d.ts +3338 -0
- package/designer/template-library/builtin/purchase-order.json.d.ts +1541 -0
- package/designer/template-library/builtin/welcome.json.d.ts +658 -0
- package/designer/template-library/builtin-templates.d.ts +4183 -0
- package/designer/template-library/registry.d.ts +13 -0
- package/designer/template-library/remote-provider.d.ts +25 -0
- package/designer/template-library/types.d.ts +35 -0
- package/designer/tools.d.ts +18 -0
- package/designer/tutorials/builtins.d.ts +20 -0
- package/designer/tutorials/interaction-guard.d.ts +3 -0
- package/designer/tutorials/playback.d.ts +17 -0
- package/designer/tutorials/scene.d.ts +11 -0
- package/designer/tutorials/screenplay.d.ts +3 -0
- package/designer/tutorials/types.d.ts +64 -0
- package/designer/tutorials/use-tutorial-interaction-guard.d.ts +2 -0
- package/designer/tutorials/use-tutorial-playback.d.ts +30 -0
- package/designer/types.d.ts +39 -0
- package/designer.d.ts +7 -0
- package/designer.js +45 -0
- package/document-model-GhFP9OGp.js +1302 -0
- package/elements/definitions/barcode-element.d.ts +1 -0
- package/elements/definitions/ellipse-element.d.ts +1 -0
- package/elements/definitions/image-element.d.ts +1 -0
- package/elements/definitions/line-element.d.ts +5 -0
- package/elements/definitions/qrcode-element.d.ts +1 -0
- package/elements/definitions/rect-element.d.ts +1 -0
- package/elements/definitions/table-element.d.ts +1 -0
- package/elements/definitions/text-element.d.ts +3 -0
- package/elements/index.d.ts +8 -0
- package/elements/shared/image-drop.d.ts +2 -0
- package/elements/shared/line-style.d.ts +4 -0
- package/elements/shared/qrcode-inspector.d.ts +7 -0
- package/elements/shared/rect-style.d.ts +6 -0
- package/elements/shared/shape-props.d.ts +8 -0
- package/elements/shared/text-style.d.ts +29 -0
- package/elements/table/table-cell-style.d.ts +14 -0
- package/elements/table/table-continuation.d.ts +6 -0
- package/elements/table/table-html.d.ts +8 -0
- package/elements/table/table-layout.d.ts +81 -0
- package/elements/table/table-merges.d.ts +3 -0
- package/elements/table/table-overflow.d.ts +2 -0
- package/elements/table/table-pdf-render.d.ts +3 -0
- package/elements/table/table-preview.d.ts +3 -0
- package/elements/table/table-render.d.ts +3 -0
- package/elements/table/table-structure.d.ts +13 -0
- package/elements/table/table-style.d.ts +219 -0
- package/host-CuGR8rD6.js +123 -0
- package/html2canvas-DGcfD7Np.js +4004 -0
- package/index.d.ts +23 -0
- package/index.es-LpNWVW4Q.js +5742 -0
- package/index.js +84 -0
- package/invoice-DuBN6ZCM.js +3282 -0
- package/jspdf.es.min-CKTVf941.js +18216 -0
- package/locales/adapters/locale-loaders.d.ts +3 -0
- package/locales/index.d.ts +11 -0
- package/locales/plugin-locales.d.ts +11 -0
- package/locales/runtime.d.ts +2084 -0
- package/locales/setup.d.ts +3 -0
- package/locales/translations/zh-CN/app.json.d.ts +47 -0
- package/locales/translations/zh-CN/components.json.d.ts +38 -0
- package/locales/translations/zh-CN/core.json.d.ts +127 -0
- package/locales/translations/zh-CN/designer.json.d.ts +1562 -0
- package/locales/translations/zh-CN/elements.json.d.ts +287 -0
- package/locales/translations/zh-CN/parser.json.d.ts +34 -0
- package/locales/types.d.ts +8 -0
- package/locales/utils.d.ts +5 -0
- package/mount-print-designer-BLgVZOnm.js +50 -0
- package/mount-print-preview-D7M-1AqH.js +65 -0
- package/package.json +46 -4
- package/parser/html/html-parser.d.ts +22 -0
- package/parser/index.d.ts +28 -0
- package/parser/pdf/pdf-parser.d.ts +23 -0
- package/parser/prepare-document.d.ts +4 -0
- package/parser/prepare-resources.d.ts +7 -0
- package/parser/registry.d.ts +6 -0
- package/parser/render-runtime.d.ts +39 -0
- package/parser/types.d.ts +27 -0
- package/parser/worker/render.worker.d.ts +1 -0
- package/parser/worker/worker-capabilities.d.ts +6 -0
- package/parser/worker/worker-client.d.ts +17 -0
- package/parser/worker/worker-handler.d.ts +3 -0
- package/parser/worker/worker-protocol.d.ts +55 -0
- package/plugins/pen/editing-geometry.d.ts +10 -0
- package/plugins/pen/element.d.ts +4 -0
- package/plugins/pen/geometry.d.ts +19 -0
- package/plugins/pen/index.d.ts +3 -0
- package/plugins/pen/locale.d.ts +3 -0
- package/plugins/pen/locales/zh-CN.json.d.ts +18 -0
- package/plugins/pen/pen-edit-surface.vue.d.ts +10 -0
- package/plugins/pen/pen-overlay.vue.d.ts +7 -0
- package/plugins/pen/pen-plugin.d.ts +4 -0
- package/plugins/pen/pen-preview.vue.d.ts +8 -0
- package/plugins/pen/pen-surface.vue.d.ts +9 -0
- package/plugins/pen/resources.d.ts +2 -0
- package/plugins/saas/client.d.ts +3 -0
- package/plugins/saas/errors.d.ts +5 -0
- package/plugins/saas/index.d.ts +5 -0
- package/plugins/saas/integration.d.ts +2 -0
- package/plugins/saas/plugin.d.ts +17 -0
- package/plugins/saas/preferences.d.ts +5 -0
- package/plugins/saas/types.d.ts +96 -0
- package/presets-D3WhkbZK.js +13 -0
- package/purchase-order-DNBFPpEZ.js +1526 -0
- package/purify.es-BTRXviHm.js +876 -0
- package/registries-dZq8MewR.js +9737 -0
- package/rolldown-runtime-QGRDbDUS.js +19 -0
- package/runtime/browser-output.d.ts +18 -0
- package/runtime/document-output.d.ts +21 -0
- package/runtime/print-renderer.d.ts +26 -0
- package/runtime/registries.d.ts +10 -0
- package/runtime.js +45 -0
- package/saas-B1H161e1.js +524 -0
- package/saas.js +1 -0
- package/studio-BFQYHZsg.js +6244 -0
- package/studio-types.d.ts +200 -0
- package/studio.d.ts +2 -0
- package/style.css +2 -0
- package/styles/lib.d.ts +0 -0
- package/styles.js +0 -0
- package/types-Vh_6jhVV.js +5 -0
- package/vue.d.ts +13 -0
- package/vue.js +32849 -0
package/README.md
CHANGED
|
@@ -1,3 +1,247 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @printstack/print-studio
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
浏览器端打印模板设计器与输出运行时。可视化设计打印模板,注入业务数据后进行预览与打印,或导出 HTML / PDF。适用于在 ERP、CMS、OA 等第三方业务系统中嵌入打印能力。
|
|
4
|
+
|
|
5
|
+
- **可视化设计器**:多页管理、页面模板与文本、表格、条码、二维码、图片等常用打印元素;界面运行于库自管的隔离 iframe,宿主零样式接入。
|
|
6
|
+
- **数据绑定**:字符串属性 `{{ 路径 | 格式化器 }}` 注入业务数据,表格跨页续排、循环区块展开明细。
|
|
7
|
+
- **输出**:浏览器预览与打印、独立 HTML、PDF Blob。全部在浏览器内完成,无服务端依赖,打印数据由调用方传入。
|
|
8
|
+
|
|
9
|
+
## 安装
|
|
10
|
+
|
|
11
|
+
预览、打印和 PDF 导出依赖浏览器 DOM / Canvas,不支持 Node.js / SSR。发布包为纯 ESM,Vue、Pinia 等运行时依赖随包自动安装,非 Vue 项目无需编写 Vue 组件;样式已随隔离 iframe 内联加载,无需手动导入。
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install @printstack/print-studio
|
|
15
|
+
|
|
16
|
+
# 或
|
|
17
|
+
pnpm add @printstack/print-studio
|
|
18
|
+
yarn add @printstack/print-studio
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### 包导出入口
|
|
22
|
+
|
|
23
|
+
| 导入路径 | 内容 |
|
|
24
|
+
| --- | --- |
|
|
25
|
+
| `@printstack/print-studio` | `createPrintStudio()` 工作区工厂与公共类型 |
|
|
26
|
+
| `@printstack/print-studio/vue` | `PrintDesigner` 组件、`usePrintStudio()` |
|
|
27
|
+
| `@printstack/print-studio/designer` | `mountPrintDesigner()` 命令式挂载 |
|
|
28
|
+
| `@printstack/print-studio/runtime` | `createPrintRenderer()` 纯输出运行时 |
|
|
29
|
+
| `@printstack/print-studio/core` | 文档模型与工具(`deserializeDocument()` 等) |
|
|
30
|
+
|
|
31
|
+
## 基础使用
|
|
32
|
+
|
|
33
|
+
### 引入与初始化
|
|
34
|
+
|
|
35
|
+
`createPrintStudio()` 创建工作区实例,`mount()` 把可视化设计器挂载到业务页面的容器。适用于任意前端框架:
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
import { createPrintStudio } from '@printstack/print-studio'
|
|
39
|
+
|
|
40
|
+
// 1. 创建工作区
|
|
41
|
+
const studio = createPrintStudio({
|
|
42
|
+
storage: false, // 关闭自动草稿,由 onSave 决定保存时机
|
|
43
|
+
async onSave(document) {
|
|
44
|
+
// 收到文档对象(非 JSON 字符串);等待持久化完成后再 resolve,失败抛错
|
|
45
|
+
await fetch('/api/templates', {
|
|
46
|
+
method: 'POST',
|
|
47
|
+
body: JSON.stringify(document),
|
|
48
|
+
})
|
|
49
|
+
},
|
|
50
|
+
})
|
|
51
|
+
|
|
52
|
+
// 2. 挂载设计器界面;resolve 即界面就绪
|
|
53
|
+
await studio.mount({ el: '#designer' })
|
|
54
|
+
|
|
55
|
+
// 3. 编辑模板:代码与设计器界面操作同一份文档
|
|
56
|
+
const page = studio.page.active
|
|
57
|
+
const cell = page.elements.add({
|
|
58
|
+
type: 'text',
|
|
59
|
+
x: 20,
|
|
60
|
+
y: 30,
|
|
61
|
+
width: 100,
|
|
62
|
+
height: 12,
|
|
63
|
+
})
|
|
64
|
+
page.elements.updateProps(cell, { text: '订单号:{{ order.number }}' })
|
|
65
|
+
|
|
66
|
+
// 4. 页面退出时释放工作区
|
|
67
|
+
// studio.unmount() // 仅卸载界面,文档保留,可再次 mount
|
|
68
|
+
// studio.dispose() // 彻底释放
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
要点:
|
|
72
|
+
|
|
73
|
+
- `el` 接受元素或 CSS 选择器,**容器需要有明确高度**,设计器界面填满其容器。
|
|
74
|
+
- 界面配置(`ui` / `settings` / `plugins` / `zIndex`)与回调(`onDirtyChange` / `onError`)作为 `mount()` 选项传入,工作区创建选项仍在 `createPrintStudio()` 中配置。
|
|
75
|
+
- 不传 `initialDocument` 时默认打开内置欢迎模板,可直接试用;业务模板通过 `initialDocument` 或 `studio.document.loadJson(json)` 加载。
|
|
76
|
+
- 一个工作区同时只挂载一个设计器;`mount()` 失败或就绪前卸载会 reject,调用方应捕获并 `dispose()` 工作区。
|
|
77
|
+
|
|
78
|
+
Vue 项目也可以使用组件方式。`usePrintStudio()` 在 setup 中创建同一工作区,页面卸载时自动清理:
|
|
79
|
+
|
|
80
|
+
```vue
|
|
81
|
+
<script setup lang="ts">
|
|
82
|
+
import { PrintDesigner, usePrintStudio } from '@printstack/print-studio/vue'
|
|
83
|
+
|
|
84
|
+
const studio = usePrintStudio({ storage: false })
|
|
85
|
+
</script>
|
|
86
|
+
|
|
87
|
+
<template>
|
|
88
|
+
<div style="height: 100vh">
|
|
89
|
+
<PrintDesigner :studio="studio" />
|
|
90
|
+
</div>
|
|
91
|
+
</template>
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### 预览
|
|
95
|
+
|
|
96
|
+
`studio.preview(input)` 注入本次业务数据并打开打印预览。默认以全屏预览层展示;`input` 是普通对象,属性路径与模板中 `{{ }}` 绑定对应:
|
|
97
|
+
|
|
98
|
+
```ts
|
|
99
|
+
const input = { order: { number: 'SO-20261114-001', customer: '张女士' } }
|
|
100
|
+
|
|
101
|
+
// 全屏预览层展示,用户自行关闭
|
|
102
|
+
await studio.preview(input)
|
|
103
|
+
|
|
104
|
+
// 需要编程控制时使用返回的句柄
|
|
105
|
+
const handle = await studio.preview(input)
|
|
106
|
+
handle.close()
|
|
107
|
+
|
|
108
|
+
// 或嵌入页面指定容器(容器需要有明确高度)
|
|
109
|
+
await studio.preview(input, {
|
|
110
|
+
container: document.querySelector('#preview-box')!,
|
|
111
|
+
})
|
|
112
|
+
|
|
113
|
+
// 独立挂载完整打印预览,无需挂载设计器;支持 container,缺省挂到 body
|
|
114
|
+
const designerPreview = await studio.preview(input, { mode: 'designer' })
|
|
115
|
+
// 关闭时释放预览界面与渲染会话;也可在指定 container 中展示
|
|
116
|
+
designerPreview.close()
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
`mode: 'designer'` 使用调用时的文档与数据快照,独立显示带分页导航、缩放、数据编辑和打印操作的完整打印预览;不要求先调用 `studio.mount()`。预览窗口关闭后再调用 `studio.dispose()` 释放工作区。
|
|
120
|
+
|
|
121
|
+
### 打印
|
|
122
|
+
|
|
123
|
+
`studio.print(input)` 注入数据后调用浏览器打印,在浏览器打印对话框中由用户确认:
|
|
124
|
+
|
|
125
|
+
```ts
|
|
126
|
+
const { warnings } = await studio.print(input)
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
注意事项:
|
|
130
|
+
|
|
131
|
+
- `print()` 返回仅表示打印任务已提交,不代表用户确认或设备出纸成功。
|
|
132
|
+
- 输出界面渲染在隐藏 iframe 中完成;需要时可通过 `signal` 与 `timeoutMs` 控制取消与超时:
|
|
133
|
+
|
|
134
|
+
```ts
|
|
135
|
+
const controller = new AbortController()
|
|
136
|
+
await studio.print(input, { signal: controller.signal, timeoutMs: 15_000 })
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### 导出
|
|
140
|
+
|
|
141
|
+
`studio.toHTML(input)` 生成独立 HTML 字符串,`studio.toPDF(input)` 生成 PDF Blob,交给宿主下载或上传:
|
|
142
|
+
|
|
143
|
+
```ts
|
|
144
|
+
// HTML:返回 { html, warnings }
|
|
145
|
+
const { html } = await studio.toHTML(input)
|
|
146
|
+
|
|
147
|
+
// PDF:返回 { blob, warnings };以下载为例
|
|
148
|
+
const { blob } = await studio.toPDF(input)
|
|
149
|
+
const url = URL.createObjectURL(blob)
|
|
150
|
+
const link = document.createElement('a')
|
|
151
|
+
link.href = url
|
|
152
|
+
link.download = 'order.pdf'
|
|
153
|
+
link.click()
|
|
154
|
+
URL.revokeObjectURL(url)
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## 第三方系统集成示例
|
|
158
|
+
|
|
159
|
+
以 ERP 订单打印为例。典型接入方式:模板在设计器中定稿后以 JSON 保存到业务系统;业务页面调用打印服务,加载模板、注入订单数据,提供预览与打印:
|
|
160
|
+
|
|
161
|
+
```ts
|
|
162
|
+
// print-service.ts —— ERP 订单打印服务
|
|
163
|
+
import { createPrintStudio, type DesignStudio } from '@printstack/print-studio'
|
|
164
|
+
|
|
165
|
+
interface Order {
|
|
166
|
+
number: string
|
|
167
|
+
customer: string
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
let studio: DesignStudio | undefined
|
|
171
|
+
|
|
172
|
+
function getStudio(): DesignStudio {
|
|
173
|
+
studio ??= createPrintStudio({ storage: false })
|
|
174
|
+
return studio
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/** 加载业务系统保存的订单模板 JSON;模板更新频率低时可缓存加载结果 */
|
|
178
|
+
async function loadOrderTemplate(): Promise<void> {
|
|
179
|
+
const response = await fetch('/api/templates/order')
|
|
180
|
+
getStudio().document.loadJson(await response.text())
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/** 点击「打印预览」:打开预览层,用户核对后关闭 */
|
|
184
|
+
export async function previewOrder(order: Order): Promise<void> {
|
|
185
|
+
await loadOrderTemplate()
|
|
186
|
+
await getStudio().preview({ order })
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/** 点击「打印」:浏览器打印对话框中确认 */
|
|
190
|
+
export async function printOrder(order: Order): Promise<void> {
|
|
191
|
+
await loadOrderTemplate()
|
|
192
|
+
await getStudio().print({ order })
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/** 点击「导出 PDF」:拿到 Blob 后下载或上传 */
|
|
196
|
+
export async function exportOrderPdf(order: Order): Promise<Blob> {
|
|
197
|
+
await loadOrderTemplate()
|
|
198
|
+
const { blob } = await getStudio().toPDF({ order })
|
|
199
|
+
return blob
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/** 应用退出时释放 */
|
|
203
|
+
export function destroyPrintService(): void {
|
|
204
|
+
studio?.dispose()
|
|
205
|
+
studio = undefined
|
|
206
|
+
}
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
业务页面只需调用这些函数:
|
|
210
|
+
|
|
211
|
+
```ts
|
|
212
|
+
printButton.addEventListener('click', () => printOrder(currentOrder))
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
模板已定稿、不再需要设计器界面时,改用纯输出运行时 `createPrintRenderer()`,不加载任何编辑 UI。注意参数顺序为模板在前、数据在后:
|
|
216
|
+
|
|
217
|
+
```ts
|
|
218
|
+
import { createPrintRenderer } from '@printstack/print-studio/runtime'
|
|
219
|
+
import { deserializeDocument } from '@printstack/print-studio/core'
|
|
220
|
+
|
|
221
|
+
const renderer = createPrintRenderer()
|
|
222
|
+
|
|
223
|
+
// 业务保存的模板 JSON:解析后可先经 deserializeDocument 校验补全
|
|
224
|
+
const { document: template } = deserializeDocument(
|
|
225
|
+
JSON.parse(savedTemplateJson),
|
|
226
|
+
)
|
|
227
|
+
|
|
228
|
+
const input = { order: { number: 'SO-20261114-001' } }
|
|
229
|
+
const { blob } = await renderer.toPDF(template, input)
|
|
230
|
+
await renderer.print(template, input)
|
|
231
|
+
|
|
232
|
+
renderer.dispose()
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## 更多功能与完整文档
|
|
236
|
+
|
|
237
|
+
> 更多高级功能、详细配置说明及完整 API 文档,请访问 [Print Studio 官方文档](https://print-studio-docs.github.io)。
|
|
238
|
+
|
|
239
|
+
- [快速开始](https://print-studio-docs.github.io/guide/getting-started):从创建项目到预览、打印的完整流程
|
|
240
|
+
- [循序渐进教程](https://print-studio-docs.github.io/tutorial/):模板设计、页面尺寸、元素绘制、数据绑定、保存加载、批量打印
|
|
241
|
+
- [数据绑定参考](https://print-studio-docs.github.io/reference/data-binding):数据源声明、表达式与格式化器
|
|
242
|
+
- [预览 / 打印 / 导出 API](https://print-studio-docs.github.io/reference/output):输出选项、取消与超时、批量输出
|
|
243
|
+
- [Vue 集成](https://print-studio-docs.github.io/reference/vue-designer):组件 props、事件与上下文
|
|
244
|
+
- [插件与扩展](https://print-studio-docs.github.io/reference/plugins):自定义元素、解析器、命令、面板
|
|
245
|
+
- [业务案例](https://print-studio-docs.github.io/examples/product-label):商品标签、快递面单、出入库单、批量导出等完整示例
|
|
246
|
+
- [常见问题](https://print-studio-docs.github.io/guide/troubleshooting):安装、渲染与打印排查
|
|
247
|
+
- [在线演练场](https://print-studio-docs.github.io/playground/index.html):浏览器内直接运行全部示例
|