edit-pdf 0.0.14 → 0.0.16
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/dist/index.d.ts +27 -0
- package/dist/pdf-editor.css +1 -0
- package/dist/pdf-editor.js +7073 -7575
- package/dist/pdf-editor.umd.cjs +24 -24
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -32,11 +32,15 @@ export declare interface AnnotationPoint {
|
|
|
32
32
|
|
|
33
33
|
export declare type AnnotationType = "highlight" | "text" | "pen" | "image" | "signature" | "shape";
|
|
34
34
|
|
|
35
|
+
export declare const DEFAULT_SIGNATURE_ICON_SVG = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12 1L3 5V11C3 16.55 6.84 21.74 12 23C17.16 21.74 21 16.55 21 11V5L12 1ZM10 17L5 12L6.41 10.59L10 14.17L17.59 6.58L19 8L10 17Z\" fill=\"#4CAF50\"/></svg>";
|
|
36
|
+
|
|
35
37
|
export declare interface DigitalSignatureMeta {
|
|
36
38
|
signerName: string;
|
|
37
39
|
signerTitle?: string;
|
|
38
40
|
signerDepartment?: string;
|
|
39
41
|
signedAt: string;
|
|
42
|
+
/** Resolved icon source (SVG markup, data URL, or image URL) */
|
|
43
|
+
iconSvg?: string;
|
|
40
44
|
}
|
|
41
45
|
|
|
42
46
|
export declare const PdfEditor: default_2.FC<PdfEditorProps>;
|
|
@@ -58,8 +62,31 @@ export declare interface PdfEditorProps {
|
|
|
58
62
|
signerTitle?: string;
|
|
59
63
|
/** Department shown in the digital signature block */
|
|
60
64
|
signerDepartment?: string;
|
|
65
|
+
/** SVG markup, data URL, or image URL for the digital signature status icon */
|
|
66
|
+
signatureIconSvg?: string;
|
|
67
|
+
/** Diagonal text watermark applied to every page (preview + export) */
|
|
68
|
+
watermark?: WatermarkConfig;
|
|
61
69
|
}
|
|
62
70
|
|
|
63
71
|
export declare type ShapeType = "rectangle" | "ellipse" | "circle" | "line" | "arrow";
|
|
64
72
|
|
|
73
|
+
export declare interface WatermarkConfig {
|
|
74
|
+
/** Watermark text shown on every page */
|
|
75
|
+
text: string;
|
|
76
|
+
/** 0–1, default 0.12 */
|
|
77
|
+
opacity?: number;
|
|
78
|
+
/** CSS color, default #888888 */
|
|
79
|
+
color?: string;
|
|
80
|
+
/** Font size in px/pt; auto-scales from page width if omitted */
|
|
81
|
+
fontSize?: number;
|
|
82
|
+
/** CSS font family, default Arial, sans-serif */
|
|
83
|
+
fontFamily?: string;
|
|
84
|
+
/** CSS font weight, default bold */
|
|
85
|
+
fontWeight?: WatermarkFontWeight;
|
|
86
|
+
/** Rotation in degrees, default -45 */
|
|
87
|
+
rotation?: number;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export declare type WatermarkFontWeight = number | "normal" | "bold" | "lighter" | "bolder";
|
|
91
|
+
|
|
65
92
|
export { }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.pdf-editor,.pdf-editor-modal__overlay{--pe-bg: #f8fafc;--pe-surface: #ffffff;--pe-surface-elevated: #ffffff;--pe-border: #e2e8f0;--pe-border-strong: #cbd5e1;--pe-text: #0f172a;--pe-text-muted: #64748b;--pe-text-subtle: #94a3b8;--pe-accent: #4f46e5;--pe-accent-hover: #4338ca;--pe-accent-soft: #eef2ff;--pe-accent-ring: rgba(79, 70, 229, .35);--pe-danger: #ef4444;--pe-success: #059669;--pe-shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--pe-shadow-md: 0 4px 16px rgba(15, 23, 42, .08);--pe-shadow-page: 0 8px 32px rgba(15, 23, 42, .12);--pe-radius-sm: 8px;--pe-radius-md: 12px;--pe-radius-lg: 16px;--pe-font: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}.pdf-editor{display:flex;flex-direction:column;height:100%;min-height:0;font-family:var(--pe-font);color:var(--pe-text);background:var(--pe-bg)}.pdf-editor *,.pdf-editor *:before,.pdf-editor *:after,.pdf-editor-modal__overlay *,.pdf-editor-modal__overlay *:before,.pdf-editor-modal__overlay *:after{box-sizing:border-box}.pdf-editor__header{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--pe-surface);border-bottom:1px solid var(--pe-border);box-shadow:var(--pe-shadow-sm);flex-wrap:wrap;z-index:10}.pdf-editor__brand{display:flex;align-items:center;gap:10px;margin-right:4px}.pdf-editor__brand-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 2px 8px #4f46e559}.pdf-editor__brand-text{display:flex;flex-direction:column;line-height:1.2}.pdf-editor__brand-title{font-size:14px;font-weight:600;color:var(--pe-text)}.pdf-editor__brand-subtitle{font-size:11px;color:var(--pe-text-muted)}.pdf-editor__toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:1}.pdf-editor__tool-group{display:flex;align-items:center;gap:4px;padding:4px;background:var(--pe-bg);border:1px solid var(--pe-border);border-radius:var(--pe-radius-md)}.pdf-editor__divider{width:1px;height:28px;background:var(--pe-border);margin:0 4px}.pdf-editor__tool-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:var(--pe-radius-sm);background:transparent;color:var(--pe-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.pdf-editor__tool-btn:hover{background:var(--pe-surface);color:var(--pe-text)}.pdf-editor__tool-btn--active{background:var(--pe-accent-soft);color:var(--pe-accent);box-shadow:inset 0 0 0 1px #4f46e533}.pdf-editor__tool-btn:disabled{opacity:.45;cursor:not-allowed}.pdf-editor__options-bar{display:flex;align-items:center;gap:16px;padding:10px 16px;background:var(--pe-surface);border-bottom:1px solid var(--pe-border);flex-wrap:wrap}.pdf-editor__field{display:flex;align-items:center;gap:8px}.pdf-editor__label{font-size:12px;font-weight:500;color:var(--pe-text-muted);white-space:nowrap}.pdf-editor__hint{font-size:13px;color:var(--pe-text-muted)}.pdf-editor__color-input{width:36px;height:32px;padding:2px;border:1px solid var(--pe-border);border-radius:var(--pe-radius-sm);background:var(--pe-surface);cursor:pointer}.pdf-editor__range{width:96px;accent-color:var(--pe-accent)}.pdf-editor__value{font-size:12px;font-weight:500;color:var(--pe-text-muted);min-width:36px}.pdf-editor__chip-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:6px 10px;border:1px solid var(--pe-border);border-radius:var(--pe-radius-sm);background:var(--pe-surface);color:var(--pe-text-muted);font-size:12px;cursor:pointer;transition:all .15s ease}.pdf-editor__chip-btn:hover{border-color:var(--pe-border-strong);color:var(--pe-text)}.pdf-editor__chip-btn--active{background:var(--pe-accent-soft);border-color:#4f46e54d;color:var(--pe-accent)}.pdf-editor__btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border:none;border-radius:var(--pe-radius-sm);background:var(--pe-accent);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease}.pdf-editor__btn-primary:hover{background:var(--pe-accent-hover)}.pdf-editor__btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border:1px solid var(--pe-border);border-radius:var(--pe-radius-sm);background:var(--pe-surface);color:var(--pe-text);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.pdf-editor__btn-secondary:hover{background:var(--pe-bg);border-color:var(--pe-border-strong)}.pdf-editor__btn-danger{border-color:#fecaca;color:var(--pe-danger);background:#fff}.pdf-editor__btn-danger:hover{background:#fef2f2}.pdf-editor__search{display:flex;align-items:center;margin-left:auto}.pdf-editor__search-wrap{position:relative;display:flex;align-items:center}.pdf-editor__search-icon{position:absolute;left:12px;color:var(--pe-text-subtle);pointer-events:none;transform:translateY(-50%);top:61%}.pdf-editor__search-input{width:240px;padding:9px 88px 9px 36px;border:1px solid var(--pe-border);border-radius:999px;background:var(--pe-bg);font-size:13px;color:var(--pe-text);outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.pdf-editor__search-input::placeholder{color:var(--pe-text-subtle)}.pdf-editor__search-input:focus{background:var(--pe-surface);border-color:var(--pe-accent);box-shadow:0 0 0 3px var(--pe-accent-ring)}.pdf-editor__search-actions{position:absolute;right:4px;display:flex;align-items:center;gap:2px}.pdf-editor__search-count{font-size:11px;font-weight:600;color:var(--pe-text-muted);padding:0 6px;-webkit-user-select:none;user-select:none}.pdf-editor__icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:999px;background:transparent;color:var(--pe-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.pdf-editor__icon-btn:hover:not(:disabled){background:var(--pe-border);color:var(--pe-text)}.pdf-editor__icon-btn:disabled{opacity:.4;cursor:not-allowed}.pdf-editor__workspace{flex:1;min-height:0;overflow-y:auto;padding:24px 16px 32px;background:radial-gradient(circle at top,rgba(79,70,229,.04),transparent 40%),var(--pe-bg)}.pdf-editor__page{display:block;margin:0 auto 20px;border:none!important;border-radius:4px;box-shadow:var(--pe-shadow-page);background:#fff}.pdf-editor__text-input{position:absolute;padding:6px 10px;border:2px solid var(--pe-accent);border-radius:var(--pe-radius-sm);font-size:16px;font-family:var(--pe-font);color:var(--pe-text);background:var(--pe-surface);box-shadow:var(--pe-shadow-md);outline:none;min-width:200px;z-index:1000}.pdf-editor__loading,.pdf-editor__error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;height:100%;min-height:320px;padding:32px;text-align:center}.pdf-editor__spinner{width:40px;height:40px;border:3px solid var(--pe-border);border-top-color:var(--pe-accent);border-radius:50%;animation:pdf-editor-spin .7s linear infinite}@keyframes pdf-editor-spin{to{transform:rotate(360deg)}}.pdf-editor__loading-title{font-size:15px;font-weight:600;color:var(--pe-text)}.pdf-editor__loading-subtitle{font-size:13px;color:var(--pe-text-muted)}.pdf-editor__error{color:var(--pe-danger)}.pdf-editor-modal__overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a8c;z-index:2000;font-family:var(--pe-font);color:var(--pe-text)}.pdf-editor-modal__overlay--signature{isolation:isolate}.pdf-editor-modal{width:min(100%,480px);background:var(--pe-surface);border:1px solid var(--pe-border);border-radius:var(--pe-radius-lg);box-shadow:var(--pe-shadow-md);overflow:hidden}.pdf-editor-modal--wide{width:min(100%,540px)}.pdf-editor-modal__header{padding:20px 24px 0}.pdf-editor-modal__title{margin:0;font-size:18px;font-weight:600;color:var(--pe-text)}.pdf-editor-modal__body{padding:20px 24px}.pdf-editor-modal__footer{display:flex;justify-content:flex-end;gap:10px;padding:0 24px 20px}.pdf-editor-modal__preview{display:flex;align-items:center;justify-content:center;min-height:120px;padding:20px;margin-bottom:16px;border:1px solid var(--pe-border);border-radius:var(--pe-radius-md);background:var(--pe-bg)}.pdf-editor-modal__preview img{max-width:100%;max-height:100px;object-fit:contain}.pdf-editor-modal__actions{display:flex;gap:10px;flex-wrap:wrap}.pdf-editor-modal__actions .pdf-editor__btn-primary,.pdf-editor-modal__actions .pdf-editor__btn-secondary,.pdf-editor-modal__actions .pdf-editor__btn-danger{flex:1;min-width:120px}.pdf-editor-signature-pad{width:100%;height:200px;border:1px solid var(--pe-border);border-radius:var(--pe-radius-md);margin-bottom:0;background:var(--pe-bg);overflow:hidden}.pdf-editor-signature-pad canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none;background:#fff}
|