@printstack/print-studio 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +239 -2
- package/assets/render.worker-Cfbk18NW.js +109 -0
- package/cloneDeep-C5UZRjbH.js +1922 -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 +3 -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 +29 -0
- package/designer/components/dialogs/use-preview-renderer.d.ts +30 -0
- package/designer/components/dialogs/use-preview-viewport.d.ts +37 -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 +30 -0
- package/designer/frame/view.d.ts +8 -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/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/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-DC9sn2WV.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/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 +2083 -0
- package/locales/setup.d.ts +3 -0
- package/locales/translations/zh-CN/app.json.d.ts +46 -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-BzHLGlv-.js +49 -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-Cwp20ef6.js +133 -0
- package/purchase-order-DNBFPpEZ.js +1526 -0
- package/purify.es-BTRXviHm.js +876 -0
- package/registries-BOU8RLim.js +9721 -0
- package/rolldown-runtime-QGRDbDUS.js +19 -0
- package/runtime/browser-output.d.ts +16 -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-B3fJOgHX.js +524 -0
- package/saas.js +1 -0
- package/studio-C_rqbJ9q.js +6242 -0
- package/studio-types.d.ts +199 -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 +32848 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Component } from 'vue';
|
|
2
|
+
import { DesignerEventMap, TypedEventBus } from '../../core/events';
|
|
3
|
+
import { PrintDocument } from '../../core/types';
|
|
4
|
+
import { CommandDefinition } from '../commands/types';
|
|
5
|
+
import { EditorContext } from '../context/editor-context';
|
|
6
|
+
import { PanelDefinition } from '../stores/panel-store';
|
|
7
|
+
import { TemplateLibraryProvider } from '../template-library/types';
|
|
8
|
+
import { PluginLocale } from '../../locales/plugin-locales';
|
|
9
|
+
import { PreferenceStorage } from '../../studio-types';
|
|
10
|
+
import { deserializeDocument } from '../../core/document-model';
|
|
11
|
+
import { ExtensionContribution } from './extension-points';
|
|
12
|
+
import { PluginCanvas } from './plugin-canvas';
|
|
13
|
+
import { PluginScope } from './plugin-scope';
|
|
14
|
+
import { PluginDisposer, PluginManifest } from './types';
|
|
15
|
+
export type PluginCommand = Omit<CommandDefinition, 'run'> & {
|
|
16
|
+
run(context: PluginContext, ...args: unknown[]): unknown;
|
|
17
|
+
};
|
|
18
|
+
export interface PluginView {
|
|
19
|
+
component: Component;
|
|
20
|
+
props?: Record<string, unknown>;
|
|
21
|
+
}
|
|
22
|
+
export interface PluginContext {
|
|
23
|
+
readonly apiVersion: '1.0';
|
|
24
|
+
readonly canvas: PluginCanvas;
|
|
25
|
+
readonly commands: {
|
|
26
|
+
execute(id: string, ...args: unknown[]): Promise<boolean>;
|
|
27
|
+
get(id: string): PluginCommand | undefined;
|
|
28
|
+
register(definition: PluginCommand): PluginDisposer;
|
|
29
|
+
registerScoped(definitions: PluginCommand[]): PluginDisposer;
|
|
30
|
+
};
|
|
31
|
+
readonly data: {
|
|
32
|
+
provide(point: string, id: string, value: unknown): PluginDisposer;
|
|
33
|
+
};
|
|
34
|
+
readonly document: {
|
|
35
|
+
getDocument(): PrintDocument;
|
|
36
|
+
getPersistentDocument(): PrintDocument;
|
|
37
|
+
load(document: PrintDocument): void;
|
|
38
|
+
normalize(document: PrintDocument): ReturnType<typeof deserializeDocument>;
|
|
39
|
+
suspendPersistence(): PluginDisposer;
|
|
40
|
+
};
|
|
41
|
+
readonly errors: Pick<EditorContext['errors'], 'capture'>;
|
|
42
|
+
readonly events: {
|
|
43
|
+
on: TypedEventBus<DesignerEventMap>['on'];
|
|
44
|
+
};
|
|
45
|
+
readonly extensions: {
|
|
46
|
+
contribute<T>(contribution: ExtensionContribution<T>): PluginDisposer;
|
|
47
|
+
};
|
|
48
|
+
readonly hooks: {
|
|
49
|
+
on: TypedEventBus<DesignerEventMap>['on'];
|
|
50
|
+
};
|
|
51
|
+
readonly locales: {
|
|
52
|
+
register(resource: PluginLocale): PluginDisposer;
|
|
53
|
+
};
|
|
54
|
+
readonly menu: {
|
|
55
|
+
add(definition: PluginCommand): PluginDisposer;
|
|
56
|
+
};
|
|
57
|
+
onDispose(dispose: PluginDisposer): PluginDisposer;
|
|
58
|
+
readonly output: {
|
|
59
|
+
download(filename: string, blob: Blob): void;
|
|
60
|
+
};
|
|
61
|
+
readonly overrides: {
|
|
62
|
+
command(definition: PluginCommand): PluginDisposer;
|
|
63
|
+
};
|
|
64
|
+
readonly panels: {
|
|
65
|
+
register(definition: PanelDefinition): PluginDisposer;
|
|
66
|
+
};
|
|
67
|
+
readonly pluginId: string;
|
|
68
|
+
readonly preferences: {
|
|
69
|
+
register(storage: PreferenceStorage): PluginDisposer;
|
|
70
|
+
};
|
|
71
|
+
readonly rendering: Pick<ReturnType<EditorContext['store']>['rendering'], 'runExternal'> & {
|
|
72
|
+
readonly active: boolean;
|
|
73
|
+
};
|
|
74
|
+
readonly signal: AbortSignal;
|
|
75
|
+
readonly slots: {
|
|
76
|
+
add(point: string, id: string, view: PluginView): PluginDisposer;
|
|
77
|
+
};
|
|
78
|
+
readonly tabs: {
|
|
79
|
+
register(definition: PanelDefinition): PluginDisposer;
|
|
80
|
+
};
|
|
81
|
+
readonly templateLibrary: {
|
|
82
|
+
register(provider: TemplateLibraryProvider): PluginDisposer;
|
|
83
|
+
};
|
|
84
|
+
readonly tools: {
|
|
85
|
+
register(definition: PluginCommand): PluginDisposer;
|
|
86
|
+
};
|
|
87
|
+
readonly ui: Pick<ReturnType<EditorContext['store']>['ui'], 'completeExportDialog' | 'finishExportDialog' | 'openExportDialog' | 'toast'> & {
|
|
88
|
+
readonly exportDialog: boolean;
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
export declare const HOST_POINTS: {
|
|
92
|
+
readonly command: "designer.commands";
|
|
93
|
+
readonly menu: "designer.menu";
|
|
94
|
+
readonly override: "designer.commands.override";
|
|
95
|
+
readonly panel: "designer.panels";
|
|
96
|
+
readonly tab: "designer.tabs";
|
|
97
|
+
readonly tool: "designer.tools";
|
|
98
|
+
};
|
|
99
|
+
export declare function installHostExtensionPoints(host: EditorContext): void;
|
|
100
|
+
export declare function createPluginContext(host: EditorContext, manifest: PluginManifest, scope: PluginScope): PluginContext;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { EditorContext } from '../context/editor-context';
|
|
2
|
+
import { DesignerPlugin, DesignerPluginFactory, LazyPlugin, PluginDefinition, PluginDisposer, PluginInput, PluginPermission, PluginStatus } from './types';
|
|
3
|
+
export interface PluginPolicy {
|
|
4
|
+
allowLegacy?: boolean;
|
|
5
|
+
/** 宿主授予插件的最大权限;未声明权限的旧插件仍为受信任兼容入口。 */
|
|
6
|
+
permissions?: readonly PluginPermission[];
|
|
7
|
+
}
|
|
8
|
+
export declare class PluginManager {
|
|
9
|
+
#private;
|
|
10
|
+
private readonly getContext;
|
|
11
|
+
private readonly policy;
|
|
12
|
+
constructor(getContext: () => EditorContext, policy?: PluginPolicy);
|
|
13
|
+
close(): void;
|
|
14
|
+
disable(id: string): boolean;
|
|
15
|
+
dispose(id: string): boolean;
|
|
16
|
+
disposeAll(): void;
|
|
17
|
+
enable(id: string): Promise<void> | void;
|
|
18
|
+
has(id: string): boolean;
|
|
19
|
+
install(plugin: LazyPlugin | PluginInput): string;
|
|
20
|
+
list(): string[];
|
|
21
|
+
load(plugin: LazyPlugin): Promise<void>;
|
|
22
|
+
status(id: string): 'missing' | PluginStatus;
|
|
23
|
+
/** 仅宿主装配层使用;不暴露给 Plugin Context。 */
|
|
24
|
+
trustHostPlugin(plugin: DesignerPlugin): void;
|
|
25
|
+
uninstall(id: string): boolean;
|
|
26
|
+
use(plugin: DesignerPlugin): void;
|
|
27
|
+
use(plugin: PluginDefinition): Promise<void> | void;
|
|
28
|
+
use(plugin: PluginInput): Promise<void> | void;
|
|
29
|
+
use<Options>(factory: DesignerPluginFactory<Options>, options?: Options): Promise<void> | void;
|
|
30
|
+
useScoped(plugin: DesignerPlugin): PluginDisposer;
|
|
31
|
+
useScoped(plugin: PluginInput): PluginDisposer | Promise<PluginDisposer>;
|
|
32
|
+
private activate;
|
|
33
|
+
private assertNoDependents;
|
|
34
|
+
private checkDependencies;
|
|
35
|
+
private createLegacyContext;
|
|
36
|
+
private deactivate;
|
|
37
|
+
private fail;
|
|
38
|
+
private loadDefinition;
|
|
39
|
+
private removeFailedInstallation;
|
|
40
|
+
private report;
|
|
41
|
+
private require;
|
|
42
|
+
private setStatus;
|
|
43
|
+
private validate;
|
|
44
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PluginDisposer } from './types';
|
|
2
|
+
export declare class PluginScope {
|
|
3
|
+
#private;
|
|
4
|
+
private readonly report;
|
|
5
|
+
readonly controller: AbortController;
|
|
6
|
+
constructor(report: (error: unknown) => void);
|
|
7
|
+
assertActive(): void;
|
|
8
|
+
dispose(): void;
|
|
9
|
+
track(dispose: PluginDisposer): PluginDisposer;
|
|
10
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PluginDefinition, PluginManifest } from './types';
|
|
2
|
+
export interface SandboxedPluginOptions {
|
|
3
|
+
manifest: PluginManifest;
|
|
4
|
+
timeoutMs?: number;
|
|
5
|
+
/** 宿主显式选择的模块地址;模块在 opaque-origin iframe 内执行。 */
|
|
6
|
+
url: string;
|
|
7
|
+
}
|
|
8
|
+
/** 隔离插件只通过结构化消息注册命令、执行授权命令和访问文档快照。 */
|
|
9
|
+
export declare function createSandboxedPlugin(options: SandboxedPluginOptions): PluginDefinition;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { DesignerPlugin } from './types';
|
|
2
|
+
import { default as FieldBoolean } from '../components/fields/field-boolean.vue';
|
|
3
|
+
import { default as FieldDataPreview } from '../components/fields/field-data-preview.vue';
|
|
4
|
+
import { default as FieldImage } from '../components/fields/field-image.vue';
|
|
5
|
+
import { default as FieldTableBorders } from '../components/fields/field-table-borders.vue';
|
|
6
|
+
import { default as FieldTableContinuationLayout } from '../components/fields/field-table-continuation-layout.vue';
|
|
7
|
+
import { default as TableInspectorControl } from '../components/forms/table-inspector-control.vue';
|
|
8
|
+
import { default as VariableTextField } from '../components/variable-text/variable-text-field.vue';
|
|
9
|
+
declare module '../../components/s-form/types' {
|
|
10
|
+
interface SFormComponentRegistry {
|
|
11
|
+
booleanField: typeof FieldBoolean;
|
|
12
|
+
imageField: typeof FieldImage;
|
|
13
|
+
tableBordersField: typeof FieldTableBorders;
|
|
14
|
+
tableContinuationLayoutField: typeof FieldTableContinuationLayout;
|
|
15
|
+
tableDataPreview: typeof FieldDataPreview;
|
|
16
|
+
tableField: typeof TableInspectorControl;
|
|
17
|
+
variableTextField: typeof VariableTextField;
|
|
18
|
+
}
|
|
19
|
+
interface SFormComponentRegistry extends DeclareSFormComponent<'colorField', {
|
|
20
|
+
allowNone?: boolean;
|
|
21
|
+
modelValue?: string;
|
|
22
|
+
onCommit?: () => void;
|
|
23
|
+
resetValue?: string;
|
|
24
|
+
}> {
|
|
25
|
+
}
|
|
26
|
+
interface SFormComponentRegistry extends DeclareSFormComponent<'collectionPicker', {
|
|
27
|
+
modelValue?: string;
|
|
28
|
+
onOpen?: () => void;
|
|
29
|
+
}> {
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export declare const tdesignFormsPlugin: DesignerPlugin;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { ElementDefinition } from '../../core/element-registry';
|
|
2
|
+
import { EditorContext } from '../context/editor-context';
|
|
3
|
+
import { PluginLocale } from '../../locales/plugin-locales';
|
|
4
|
+
import { PluginContext } from './plugin-context';
|
|
5
|
+
/** 清理函数:解绑监听、注销命令等;插件 dispose 时按注册逆序调用 */
|
|
6
|
+
export type PluginDisposer = () => void;
|
|
7
|
+
/** 在文档反序列化前提供纯数据资源,不依赖已创建的编辑器上下文。 */
|
|
8
|
+
export interface PluginResources {
|
|
9
|
+
elements(): ElementDefinition[];
|
|
10
|
+
locales?: PluginLocale[];
|
|
11
|
+
}
|
|
12
|
+
export interface DesignerPluginFactory<Options> {
|
|
13
|
+
createPlugin(options?: Options): PluginInput;
|
|
14
|
+
}
|
|
15
|
+
export type PluginPermission = 'canvas' | 'commands' | 'data' | 'document:read' | 'document:write' | 'events' | 'locales' | 'panels' | 'preferences' | 'rendering' | 'templates' | 'ui';
|
|
16
|
+
export interface PluginManifest {
|
|
17
|
+
apiVersion: '1.0';
|
|
18
|
+
/** 除自身命令外,可执行的宿主命令 ID。 */
|
|
19
|
+
commands?: string[];
|
|
20
|
+
dependencies?: PluginDependency[];
|
|
21
|
+
description?: string;
|
|
22
|
+
id: string;
|
|
23
|
+
permissions?: PluginPermission[];
|
|
24
|
+
version: string;
|
|
25
|
+
}
|
|
26
|
+
export interface PluginDependency {
|
|
27
|
+
id: string;
|
|
28
|
+
optional?: boolean;
|
|
29
|
+
version?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface PluginDefinition {
|
|
32
|
+
manifest: PluginManifest;
|
|
33
|
+
setup(context: PluginContext): PluginDisposer | Promise<PluginDisposer | void> | void;
|
|
34
|
+
}
|
|
35
|
+
export type PluginFunction = ((context: PluginContext) => PluginDisposer | Promise<PluginDisposer | void> | void) & {
|
|
36
|
+
manifest?: PluginManifest;
|
|
37
|
+
};
|
|
38
|
+
export type PluginInput = DesignerPlugin | PluginDefinition | PluginFunction;
|
|
39
|
+
export interface LazyPlugin {
|
|
40
|
+
load(): Promise<PluginDefinition | {
|
|
41
|
+
default: PluginDefinition;
|
|
42
|
+
}>;
|
|
43
|
+
manifest: PluginManifest;
|
|
44
|
+
}
|
|
45
|
+
export type PluginStatus = 'disabled' | 'disabling' | 'enabled' | 'enabling' | 'failed' | 'installed' | 'loading';
|
|
46
|
+
export declare function definePlugin(plugin: PluginDefinition): PluginDefinition;
|
|
47
|
+
export interface DesignerPlugin {
|
|
48
|
+
/** 可选描述(调试 / 文档展示) */
|
|
49
|
+
description?: string;
|
|
50
|
+
/** 全局唯一名称,如 'my-company:autosync';重复安装同一名称会被跳过 */
|
|
51
|
+
name: string;
|
|
52
|
+
/**
|
|
53
|
+
* 安装钩子。可返回清理函数:
|
|
54
|
+
* ```ts
|
|
55
|
+
* setup(ctx) {
|
|
56
|
+
* const off = ctx.events.on('selection:changed', payload => { ... })
|
|
57
|
+
* ctx.commands.register({ id: 'my.cmd', title: '我的命令', run: () => {} })
|
|
58
|
+
* return off
|
|
59
|
+
* }
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
setup: (ctx: EditorContext) => PluginDisposer | void;
|
|
63
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DataSource, PageTemplate, PrintDocument } from '../core/types';
|
|
2
|
+
import { DesignerPlugin } from './plugins/types';
|
|
3
|
+
export interface DesignerPresets {
|
|
4
|
+
dataSources?: DataSource[];
|
|
5
|
+
pageTemplates?: PageTemplate[];
|
|
6
|
+
}
|
|
7
|
+
export declare function createPresetDocument(presets?: DesignerPresets): PrintDocument;
|
|
8
|
+
export declare function createPresetsPlugin(presets: DesignerPresets): DesignerPlugin;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { PrintDocument } from '../core/types';
|
|
2
|
+
import { PrintDesignerProps } from './types';
|
|
3
|
+
declare function getDocument(): PrintDocument;
|
|
4
|
+
declare function loadDocument(document: PrintDocument): void;
|
|
5
|
+
declare function save(): Promise<void>;
|
|
6
|
+
declare function isDirty(): boolean;
|
|
7
|
+
declare const __VLS_export: import('vue').DefineComponent<PrintDesignerProps, {
|
|
8
|
+
context: import('./context/editor-context').EditorContext;
|
|
9
|
+
getDocument: typeof getDocument;
|
|
10
|
+
isDirty: typeof isDirty;
|
|
11
|
+
loadDocument: typeof loadDocument;
|
|
12
|
+
save: typeof save;
|
|
13
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
14
|
+
ready: (context: import('./context/editor-context').EditorContext) => any;
|
|
15
|
+
error: (error: unknown) => any;
|
|
16
|
+
dispose: () => any;
|
|
17
|
+
"dirty-change": (dirty: boolean) => any;
|
|
18
|
+
}, string, import('vue').PublicProps, Readonly<PrintDesignerProps> & Readonly<{
|
|
19
|
+
onReady?: ((context: import('./context/editor-context').EditorContext) => any) | undefined;
|
|
20
|
+
onError?: ((error: unknown) => any) | undefined;
|
|
21
|
+
onDispose?: (() => any) | undefined;
|
|
22
|
+
"onDirty-change"?: ((dirty: boolean) => any) | undefined;
|
|
23
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
24
|
+
declare const _default: typeof __VLS_export;
|
|
25
|
+
export default _default;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { EditorContext } from '../context/editor-context';
|
|
2
|
+
import { RenderExecutionOptions } from '../../parser';
|
|
3
|
+
export declare function useDocumentActions(ctx: EditorContext): {
|
|
4
|
+
cancelExport: () => void;
|
|
5
|
+
clearActivePage: () => void;
|
|
6
|
+
exportHtml: (input?: Record<string, unknown>) => Promise<void>;
|
|
7
|
+
exportPdf: (input?: Record<string, unknown>) => Promise<void>;
|
|
8
|
+
openJson: () => Promise<void>;
|
|
9
|
+
pauseExport: () => void;
|
|
10
|
+
printDocument: (input?: Record<string, unknown>) => Promise<void>;
|
|
11
|
+
renderPreviewHtml: (input?: Record<string, unknown>, execution?: RenderExecutionOptions) => Promise<{
|
|
12
|
+
html: string;
|
|
13
|
+
warnings: string[];
|
|
14
|
+
}>;
|
|
15
|
+
resumeExport: () => void;
|
|
16
|
+
saveJson: () => Promise<void>;
|
|
17
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ErrorRuntime } from '../../components/error-fallback/core';
|
|
2
|
+
import { ElementRegistry } from '../../core/element-registry';
|
|
3
|
+
export declare function bindEditorErrors(store: object, errors: ErrorRuntime): void;
|
|
4
|
+
export declare function getEditorErrors(store: object): ErrorRuntime;
|
|
5
|
+
export declare function bindEditorElements(store: object, elements: ElementRegistry): void;
|
|
6
|
+
export declare function getEditorElements(store: object): ElementRegistry;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Point } from '../../core/geometry';
|
|
2
|
+
import { PageNode } from '../../core/types';
|
|
3
|
+
import { EditorContext } from '../context/editor-context';
|
|
4
|
+
export declare function importElementFile(ctx: EditorContext, file: File, page: PageNode, point: Point): Promise<void>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 文件与打印输出服务:下载、通过隐藏 iframe 调用浏览器打印。
|
|
3
|
+
*/
|
|
4
|
+
export declare function downloadBlob(filename: string, blob: Blob): void;
|
|
5
|
+
export declare function downloadText(filename: string, text: string, mime?: string): void;
|
|
6
|
+
/** 用隐藏 iframe 加载 HTML 并唤起系统打印对话框 */
|
|
7
|
+
export declare function printHtml(html: string): Promise<void>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PreferenceStorage } from '../../studio-types';
|
|
2
|
+
export declare class PreferenceStorageRegistry implements PreferenceStorage {
|
|
3
|
+
#private;
|
|
4
|
+
private readonly fallback?;
|
|
5
|
+
constructor(fallback?: PreferenceStorage | undefined);
|
|
6
|
+
get(key: string): null | string;
|
|
7
|
+
register(storage: PreferenceStorage): () => void;
|
|
8
|
+
set(key: string, value: string): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SchemaFieldType } from '../../core/types';
|
|
2
|
+
export declare const SAMPLE_PREVIEW_TEXT_LIMIT = 200;
|
|
3
|
+
export declare const SAMPLE_PREVIEW_FORMAT_LIMIT = 4096;
|
|
4
|
+
export interface SamplePreview {
|
|
5
|
+
count?: number;
|
|
6
|
+
formattingSkipped: boolean;
|
|
7
|
+
kind: 'array' | 'emptyString' | 'missing' | 'null' | 'object' | 'text' | 'unsupported';
|
|
8
|
+
length?: number;
|
|
9
|
+
text: string;
|
|
10
|
+
typeMismatch: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface SamplePreviewOptions {
|
|
13
|
+
expectedType?: SchemaFieldType;
|
|
14
|
+
format?: (value: unknown) => unknown;
|
|
15
|
+
}
|
|
16
|
+
export declare function createSamplePreview(value: unknown, options?: SamplePreviewOptions): SamplePreview;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Point } from '../../core/geometry';
|
|
2
|
+
import { PageNode } from '../../core/types';
|
|
3
|
+
export declare function createStageService(): {
|
|
4
|
+
contentMmFromClient: (clientX: number, clientY: number, zoom: number) => Point;
|
|
5
|
+
getScrollElement: () => HTMLElement | null;
|
|
6
|
+
getStageController: () => null | StageController;
|
|
7
|
+
registerStageController: (controller: null | StageController) => void;
|
|
8
|
+
registerStageElements: (scrollEl: HTMLElement | null, contentEl: HTMLElement | null) => void;
|
|
9
|
+
scrollToContentPoint: (pointMm: Point, viewportX: number, viewportY: number, zoom: number) => void;
|
|
10
|
+
};
|
|
11
|
+
/** 舞台能力接口:由实际渲染舞台的组件(默认 canvas-stage)注册 */
|
|
12
|
+
export interface StageController {
|
|
13
|
+
/** 定位画布:不改变缩放,把指定页面平滑滚回视口中央;缺省为全部页面并集 */
|
|
14
|
+
centerPages(page?: PageNode): void;
|
|
15
|
+
/** 缩放并滚动到内容完整可见 */
|
|
16
|
+
fitToViewport(): void;
|
|
17
|
+
/** 平滑滚动到指定页面 */
|
|
18
|
+
scrollToPage(page: PageNode): void;
|
|
19
|
+
/** 缩放复位为 1:1 */
|
|
20
|
+
zoomReset(): void;
|
|
21
|
+
}
|
|
22
|
+
export declare function getStageService(owner?: object): ReturnType<typeof createStageService>;
|
|
23
|
+
export declare function bindStageService(owner: object): void;
|
|
24
|
+
export declare const contentMmFromClient: (clientX: number, clientY: number, zoom: number) => Point, getScrollElement: () => HTMLElement | null, getStageController: () => null | StageController, registerStageController: (controller: null | StageController) => void, registerStageElements: (scrollEl: HTMLElement | null, contentEl: HTMLElement | null) => void, scrollToContentPoint: (pointMm: Point, viewportX: number, viewportY: number, zoom: number) => void;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface TextInputControl {
|
|
2
|
+
editable(): boolean;
|
|
3
|
+
element: HTMLElement;
|
|
4
|
+
multiline(): boolean;
|
|
5
|
+
read(): string;
|
|
6
|
+
write(value: string): void;
|
|
7
|
+
}
|
|
8
|
+
export declare function registerTextInput(control: TextInputControl): () => void;
|
|
9
|
+
export declare function getTextInput(element: HTMLElement): TextInputControl | undefined;
|
|
10
|
+
export declare function resolveTextInput(container: HTMLElement): TextInputControl | undefined;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ElementRegistry } from '../../core/element-registry';
|
|
2
|
+
import { ElementNode, PageNode } from '../../core/types';
|
|
3
|
+
import { createDocumentStore } from './document-store';
|
|
4
|
+
import { createRepeatGroupStore } from './repeat-group-store';
|
|
5
|
+
import { createScopeStore } from './scope-store';
|
|
6
|
+
import { createTemplateStore } from './template-store';
|
|
7
|
+
import { createViewStore } from './view-store';
|
|
8
|
+
export declare function createCanvasStore(deps: {
|
|
9
|
+
document: Pick<ReturnType<typeof createDocumentStore>, 'data'>;
|
|
10
|
+
elements?: ElementRegistry;
|
|
11
|
+
repeatGroup: Pick<ReturnType<typeof createRepeatGroupStore>, 'getByPage'>;
|
|
12
|
+
scope: Pick<ReturnType<typeof createScopeStore>, 'pages'>;
|
|
13
|
+
template: Pick<ReturnType<typeof createTemplateStore>, 'editingId'>;
|
|
14
|
+
view: Pick<ReturnType<typeof createViewStore>, 'settings'>;
|
|
15
|
+
}): import('pinia').Store<"editor-canvas", Pick<{
|
|
16
|
+
getPage: import('vue').ComputedRef<(id: string) => PageNode | undefined>;
|
|
17
|
+
resolve: import('vue').ComputedRef<(page: PageNode, nodes: ElementNode[], options?: {
|
|
18
|
+
resetSize?: boolean;
|
|
19
|
+
withData?: boolean;
|
|
20
|
+
}) => ElementNode[]>;
|
|
21
|
+
}, never>, Pick<{
|
|
22
|
+
getPage: import('vue').ComputedRef<(id: string) => PageNode | undefined>;
|
|
23
|
+
resolve: import('vue').ComputedRef<(page: PageNode, nodes: ElementNode[], options?: {
|
|
24
|
+
resetSize?: boolean;
|
|
25
|
+
withData?: boolean;
|
|
26
|
+
}) => ElementNode[]>;
|
|
27
|
+
}, "getPage" | "resolve">, Pick<{
|
|
28
|
+
getPage: import('vue').ComputedRef<(id: string) => PageNode | undefined>;
|
|
29
|
+
resolve: import('vue').ComputedRef<(page: PageNode, nodes: ElementNode[], options?: {
|
|
30
|
+
resetSize?: boolean;
|
|
31
|
+
withData?: boolean;
|
|
32
|
+
}) => ElementNode[]>;
|
|
33
|
+
}, never>>;
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { ElementRegistry } from '../../core/element-registry';
|
|
2
|
+
import { ElementNode } from '../../core/types';
|
|
3
|
+
import { createDocumentStore } from './document-store';
|
|
4
|
+
import { createElementStore } from './element-store';
|
|
5
|
+
import { createHistoryStore } from './history-store';
|
|
6
|
+
import { createScopeStore } from './scope-store';
|
|
7
|
+
import { createSelectionStore } from './selection-store';
|
|
8
|
+
import { createUiStore } from './ui-store';
|
|
9
|
+
export declare function createClipboardStore(deps: {
|
|
10
|
+
document: Pick<ReturnType<typeof createDocumentStore>, 'data'>;
|
|
11
|
+
element: Pick<ReturnType<typeof createElementStore>, 'removeSelected'>;
|
|
12
|
+
elements?: ElementRegistry;
|
|
13
|
+
history: Pick<ReturnType<typeof createHistoryStore>, 'commit'>;
|
|
14
|
+
scope: Pick<ReturnType<typeof createScopeStore>, 'active'>;
|
|
15
|
+
selection: Pick<ReturnType<typeof createSelectionStore>, 'set' | 'unlockedNodes'>;
|
|
16
|
+
ui: Pick<ReturnType<typeof createUiStore>, 'toast'>;
|
|
17
|
+
}): import('pinia').Store<"editor-clipboard", Pick<{
|
|
18
|
+
copy: () => void;
|
|
19
|
+
cut: () => void;
|
|
20
|
+
isEmpty: import('vue').ComputedRef<boolean>;
|
|
21
|
+
nodes: import('vue').Ref<{
|
|
22
|
+
bindings?: Record<string, string> | undefined;
|
|
23
|
+
height: number;
|
|
24
|
+
id: import('../../core/types').ElementId;
|
|
25
|
+
locked: boolean;
|
|
26
|
+
name: string;
|
|
27
|
+
opacity: number;
|
|
28
|
+
points?: {
|
|
29
|
+
x: number;
|
|
30
|
+
y: number;
|
|
31
|
+
}[] | undefined;
|
|
32
|
+
props: Record<string, unknown>;
|
|
33
|
+
rotation: number;
|
|
34
|
+
type: string;
|
|
35
|
+
visible: boolean;
|
|
36
|
+
width: number;
|
|
37
|
+
x: number;
|
|
38
|
+
y: number;
|
|
39
|
+
}[], ElementNode[] | {
|
|
40
|
+
bindings?: Record<string, string> | undefined;
|
|
41
|
+
height: number;
|
|
42
|
+
id: import('../../core/types').ElementId;
|
|
43
|
+
locked: boolean;
|
|
44
|
+
name: string;
|
|
45
|
+
opacity: number;
|
|
46
|
+
points?: {
|
|
47
|
+
x: number;
|
|
48
|
+
y: number;
|
|
49
|
+
}[] | undefined;
|
|
50
|
+
props: Record<string, unknown>;
|
|
51
|
+
rotation: number;
|
|
52
|
+
type: string;
|
|
53
|
+
visible: boolean;
|
|
54
|
+
width: number;
|
|
55
|
+
x: number;
|
|
56
|
+
y: number;
|
|
57
|
+
}[]>;
|
|
58
|
+
paste: () => void;
|
|
59
|
+
}, "nodes">, Pick<{
|
|
60
|
+
copy: () => void;
|
|
61
|
+
cut: () => void;
|
|
62
|
+
isEmpty: import('vue').ComputedRef<boolean>;
|
|
63
|
+
nodes: import('vue').Ref<{
|
|
64
|
+
bindings?: Record<string, string> | undefined;
|
|
65
|
+
height: number;
|
|
66
|
+
id: import('../../core/types').ElementId;
|
|
67
|
+
locked: boolean;
|
|
68
|
+
name: string;
|
|
69
|
+
opacity: number;
|
|
70
|
+
points?: {
|
|
71
|
+
x: number;
|
|
72
|
+
y: number;
|
|
73
|
+
}[] | undefined;
|
|
74
|
+
props: Record<string, unknown>;
|
|
75
|
+
rotation: number;
|
|
76
|
+
type: string;
|
|
77
|
+
visible: boolean;
|
|
78
|
+
width: number;
|
|
79
|
+
x: number;
|
|
80
|
+
y: number;
|
|
81
|
+
}[], ElementNode[] | {
|
|
82
|
+
bindings?: Record<string, string> | undefined;
|
|
83
|
+
height: number;
|
|
84
|
+
id: import('../../core/types').ElementId;
|
|
85
|
+
locked: boolean;
|
|
86
|
+
name: string;
|
|
87
|
+
opacity: number;
|
|
88
|
+
points?: {
|
|
89
|
+
x: number;
|
|
90
|
+
y: number;
|
|
91
|
+
}[] | undefined;
|
|
92
|
+
props: Record<string, unknown>;
|
|
93
|
+
rotation: number;
|
|
94
|
+
type: string;
|
|
95
|
+
visible: boolean;
|
|
96
|
+
width: number;
|
|
97
|
+
x: number;
|
|
98
|
+
y: number;
|
|
99
|
+
}[]>;
|
|
100
|
+
paste: () => void;
|
|
101
|
+
}, "isEmpty">, Pick<{
|
|
102
|
+
copy: () => void;
|
|
103
|
+
cut: () => void;
|
|
104
|
+
isEmpty: import('vue').ComputedRef<boolean>;
|
|
105
|
+
nodes: import('vue').Ref<{
|
|
106
|
+
bindings?: Record<string, string> | undefined;
|
|
107
|
+
height: number;
|
|
108
|
+
id: import('../../core/types').ElementId;
|
|
109
|
+
locked: boolean;
|
|
110
|
+
name: string;
|
|
111
|
+
opacity: number;
|
|
112
|
+
points?: {
|
|
113
|
+
x: number;
|
|
114
|
+
y: number;
|
|
115
|
+
}[] | undefined;
|
|
116
|
+
props: Record<string, unknown>;
|
|
117
|
+
rotation: number;
|
|
118
|
+
type: string;
|
|
119
|
+
visible: boolean;
|
|
120
|
+
width: number;
|
|
121
|
+
x: number;
|
|
122
|
+
y: number;
|
|
123
|
+
}[], ElementNode[] | {
|
|
124
|
+
bindings?: Record<string, string> | undefined;
|
|
125
|
+
height: number;
|
|
126
|
+
id: import('../../core/types').ElementId;
|
|
127
|
+
locked: boolean;
|
|
128
|
+
name: string;
|
|
129
|
+
opacity: number;
|
|
130
|
+
points?: {
|
|
131
|
+
x: number;
|
|
132
|
+
y: number;
|
|
133
|
+
}[] | undefined;
|
|
134
|
+
props: Record<string, unknown>;
|
|
135
|
+
rotation: number;
|
|
136
|
+
type: string;
|
|
137
|
+
visible: boolean;
|
|
138
|
+
width: number;
|
|
139
|
+
x: number;
|
|
140
|
+
y: number;
|
|
141
|
+
}[]>;
|
|
142
|
+
paste: () => void;
|
|
143
|
+
}, "copy" | "cut" | "paste">>;
|