@pdfme/ui 2.2.0 → 2.2.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/dist/index.js +1 -1
- package/dist/index.js.LICENSE.txt +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types/builtInRenderer.d.ts +3 -0
- package/dist/types/class.d.ts +9 -1
- package/dist/types/components/CtlBar/Pager.d.ts +3 -2
- package/dist/types/components/CtlBar/Zoom.d.ts +3 -2
- package/dist/types/components/CtlBar/index.d.ts +3 -2
- package/dist/types/components/Designer/Main/Guides.d.ts +2 -2
- package/dist/types/components/Designer/Main/Mask.d.ts +2 -1
- package/dist/types/components/Designer/Main/Moveable.d.ts +1 -1
- package/dist/types/components/Designer/Main/Selecto.d.ts +2 -1
- package/dist/types/components/Designer/Sidebar/DetailView/BarCodePropEditor.d.ts +7 -0
- package/dist/types/components/Designer/Sidebar/DetailView/ExampleInputEditor.d.ts +2 -1
- package/dist/types/components/Designer/Sidebar/DetailView/FormComponents/ColorInputSet.d.ts +9 -0
- package/dist/types/components/Designer/Sidebar/DetailView/PositionAndSizeEditor.d.ts +2 -1
- package/dist/types/components/Designer/Sidebar/DetailView/TextPropEditor.d.ts +2 -1
- package/dist/types/components/Designer/Sidebar/DetailView/TypeAndKeyEditor.d.ts +2 -1
- package/dist/types/components/Designer/Sidebar/DetailView/index.d.ts +3 -2
- package/dist/types/components/Designer/Sidebar/ListView/SelectableSortableContainer.d.ts +2 -1
- package/dist/types/components/Designer/Sidebar/ListView/SelectableSortableItem.d.ts +1 -1
- package/dist/types/components/Designer/Sidebar/ListView/index.d.ts +2 -1
- package/dist/types/components/Designer/Sidebar/index.d.ts +4 -2
- package/dist/types/components/Designer/index.d.ts +9 -2
- package/dist/types/components/Divider.d.ts +2 -1
- package/dist/types/components/Error.d.ts +2 -1
- package/dist/types/components/Paper.d.ts +2 -2
- package/dist/types/components/Preview.d.ts +2 -1
- package/dist/types/components/Renderer.d.ts +4 -0
- package/dist/types/components/Root.d.ts +1 -1
- package/dist/types/components/Spinner.d.ts +2 -1
- package/dist/types/components/UnitPager.d.ts +3 -2
- package/dist/types/contexts.d.ts +3 -1
- package/dist/types/helper.d.ts +4 -0
- package/dist/types/hooks.d.ts +2 -2
- package/dist/types/i18n.d.ts +4 -1
- package/dist/types/renders/barcodes.d.ts +2 -0
- package/dist/types/renders/image.d.ts +2 -0
- package/dist/types/renders/text.d.ts +2 -0
- package/dist/types/types.d.ts +25 -0
- package/package.json +2 -1
- package/src/Designer.tsx +21 -17
- package/src/Form.tsx +18 -14
- package/src/Viewer.tsx +6 -2
- package/src/builtInRenderer.ts +14 -0
- package/src/class.ts +22 -2
- package/src/components/Designer/Main/index.tsx +4 -15
- package/src/components/Designer/Sidebar/DetailView/BarCodePropEditor.tsx +81 -0
- package/src/components/Designer/Sidebar/DetailView/ExampleInputEditor.tsx +1 -2
- package/src/components/Designer/Sidebar/DetailView/FormComponents/ColorInputSet.tsx +50 -0
- package/src/components/Designer/Sidebar/DetailView/PositionAndSizeEditor.tsx +1 -3
- package/src/components/Designer/Sidebar/DetailView/TextPropEditor.tsx +183 -217
- package/src/components/Designer/Sidebar/DetailView/index.tsx +16 -8
- package/src/components/Designer/Sidebar/index.tsx +3 -2
- package/src/components/Designer/index.tsx +1 -0
- package/src/components/Preview.tsx +6 -6
- package/src/components/Renderer.tsx +80 -0
- package/src/contexts.ts +5 -0
- package/src/helper.ts +8 -0
- package/src/i18n.ts +44 -1
- package/src/renders/barcodes.ts +117 -0
- package/src/renders/image.ts +101 -0
- package/src/renders/text.ts +138 -0
- package/src/types.ts +28 -0
- package/dist/types/components/Schemas/BarcodeSchema.d.ts +0 -15
- package/dist/types/components/Schemas/ImageSchema.d.ts +0 -15
- package/dist/types/components/Schemas/SchemaUI.d.ts +0 -15
- package/dist/types/components/Schemas/TextSchema.d.ts +0 -28
- package/src/components/Schemas/BarcodeSchema.tsx +0 -124
- package/src/components/Schemas/ImageSchema.tsx +0 -87
- package/src/components/Schemas/SchemaUI.tsx +0 -62
- package/src/components/Schemas/TextSchema.tsx +0 -175
package/dist/types/class.d.ts
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import type { Renderer } from './types';
|
1
2
|
import { Template, Size, UIProps, UIOptions, PreviewProps } from '@pdfme/common';
|
2
3
|
export declare abstract class BaseUIClass {
|
3
4
|
protected domContainer: HTMLElement | null;
|
@@ -5,15 +6,19 @@ export declare abstract class BaseUIClass {
|
|
5
6
|
protected size: Size;
|
6
7
|
private lang;
|
7
8
|
private font;
|
9
|
+
private rendererRegistry;
|
10
|
+
private options;
|
8
11
|
private readonly setSize;
|
9
12
|
resizeObserver: ResizeObserver;
|
10
13
|
constructor(props: UIProps);
|
11
|
-
protected getI18n(): (key: "type" | "field" | "cancel" | "fieldName" | "require" | "uniq" | "inputExample" | "edit" | "plsInputName" | "fieldMustUniq" | "notUniq" | "noKeyName" | "fieldsList" | "addNewField" | "editField" | "errorOccurred" | "errorBulkUpdateFieldName" | "commitBulkUpdateFieldName" | "bulkUpdateFieldName") => string;
|
14
|
+
protected getI18n(): (key: "type" | "field" | "cancel" | "fieldName" | "require" | "uniq" | "inputExample" | "edit" | "plsInputName" | "fieldMustUniq" | "notUniq" | "noKeyName" | "fieldsList" | "addNewField" | "editField" | "errorOccurred" | "errorBulkUpdateFieldName" | "commitBulkUpdateFieldName" | "bulkUpdateFieldName" | "barColor" | "textColor" | "bgColor") => string;
|
12
15
|
protected getFont(): Record<string, {
|
13
16
|
data: (string | ArrayBuffer | Uint8Array) & (string | ArrayBuffer | Uint8Array | undefined);
|
14
17
|
fallback?: boolean | undefined;
|
15
18
|
subset?: boolean | undefined;
|
16
19
|
}>;
|
20
|
+
protected getRendererRegistry(): Renderer;
|
21
|
+
protected getOptions(): {};
|
17
22
|
getTemplate(): {
|
18
23
|
schemas: Record<string, {
|
19
24
|
type: "text";
|
@@ -55,6 +60,9 @@ export declare abstract class BaseUIClass {
|
|
55
60
|
y: number;
|
56
61
|
};
|
57
62
|
rotate?: number | undefined;
|
63
|
+
backgroundcolor?: string | undefined;
|
64
|
+
barcolor?: string | undefined;
|
65
|
+
textcolor?: string | undefined;
|
58
66
|
}>[];
|
59
67
|
basePdf: (string | ArrayBuffer | Uint8Array) & (string | ArrayBuffer | Uint8Array | undefined);
|
60
68
|
sampledata?: Record<string, string>[] | undefined;
|
@@ -1,7 +1,8 @@
|
|
1
|
-
|
1
|
+
import React from 'react';
|
2
|
+
type Props = {
|
2
3
|
pageCursor: number;
|
3
4
|
pageNum: number;
|
4
5
|
setPageCursor: (page: number) => void;
|
5
6
|
};
|
6
|
-
declare const Pager: ({ pageCursor, pageNum, setPageCursor }: Props) => JSX.Element;
|
7
|
+
declare const Pager: ({ pageCursor, pageNum, setPageCursor }: Props) => React.JSX.Element;
|
7
8
|
export default Pager;
|
@@ -1,6 +1,7 @@
|
|
1
|
-
|
1
|
+
import React from 'react';
|
2
|
+
type Props = {
|
2
3
|
zoomLevel: number;
|
3
4
|
setZoomLevel: (zoom: number) => void;
|
4
5
|
};
|
5
|
-
declare const Pager: ({ zoomLevel, setZoomLevel }: Props) => JSX.Element;
|
6
|
+
declare const Pager: ({ zoomLevel, setZoomLevel }: Props) => React.JSX.Element;
|
6
7
|
export default Pager;
|
@@ -1,5 +1,6 @@
|
|
1
|
+
import React from 'react';
|
1
2
|
import { Size } from '@pdfme/common';
|
2
|
-
|
3
|
+
type Props = {
|
3
4
|
size: Size;
|
4
5
|
pageCursor: number;
|
5
6
|
pageNum: number;
|
@@ -7,5 +8,5 @@ declare type Props = {
|
|
7
8
|
zoomLevel: number;
|
8
9
|
setZoomLevel: (zoom: number) => void;
|
9
10
|
};
|
10
|
-
declare const CtlBar: (props: Props) => JSX.Element;
|
11
|
+
declare const CtlBar: (props: Props) => React.JSX.Element;
|
11
12
|
export default CtlBar;
|
@@ -1,9 +1,9 @@
|
|
1
|
-
import { Ref } from 'react';
|
1
|
+
import React, { Ref } from 'react';
|
2
2
|
import Guides from '@scena/react-guides';
|
3
3
|
import { Size } from '@pdfme/common';
|
4
4
|
declare const _Guides: ({ paperSize, horizontalRef, verticalRef, }: {
|
5
5
|
paperSize: Size;
|
6
6
|
horizontalRef: Ref<Guides> | undefined;
|
7
7
|
verticalRef: Ref<Guides> | undefined;
|
8
|
-
}) => JSX.Element;
|
8
|
+
}) => React.JSX.Element;
|
9
9
|
export default _Guides;
|
@@ -1,8 +1,9 @@
|
|
1
|
+
import React from 'react';
|
1
2
|
import { OnDragStart as _OnDragStart, OnSelect as _OnSelect } from 'react-selecto';
|
2
3
|
declare const _Selecto: ({ container, continueSelect, onDragStart, onSelect, }: {
|
3
4
|
container: HTMLElement | null;
|
4
5
|
continueSelect: boolean;
|
5
6
|
onDragStart: (e: _OnDragStart) => void;
|
6
7
|
onSelect: (e: _OnSelect) => void;
|
7
|
-
}) => JSX.Element;
|
8
|
+
}) => React.JSX.Element;
|
8
9
|
export default _Selecto;
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { SchemaForUI } from '@pdfme/common';
|
3
|
+
import { SidebarProps } from '..';
|
4
|
+
declare const BarcodePropEditor: (props: Pick<SidebarProps, 'changeSchemas'> & {
|
5
|
+
activeSchema: SchemaForUI;
|
6
|
+
}) => React.JSX.Element;
|
7
|
+
export default BarcodePropEditor;
|
@@ -1,6 +1,7 @@
|
|
1
|
+
import React from 'react';
|
1
2
|
import { SchemaForUI } from '@pdfme/common';
|
2
3
|
import { SidebarProps } from '..';
|
3
4
|
declare const ExampleInputEditor: (props: Pick<SidebarProps, 'changeSchemas'> & {
|
4
5
|
activeSchema: SchemaForUI;
|
5
|
-
}) => JSX.Element;
|
6
|
+
}) => React.JSX.Element;
|
6
7
|
export default ExampleInputEditor;
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import React, { ChangeEvent, CSSProperties } from 'react';
|
2
|
+
declare const ColorInputSet: (props: {
|
3
|
+
label: string;
|
4
|
+
value: string;
|
5
|
+
onChange: (e: ChangeEvent<HTMLInputElement>) => void;
|
6
|
+
onClear: () => void;
|
7
|
+
extraStyle?: React.CSSProperties | undefined;
|
8
|
+
}) => React.JSX.Element;
|
9
|
+
export default ColorInputSet;
|
@@ -1,6 +1,7 @@
|
|
1
|
+
import React from 'react';
|
1
2
|
import { SchemaForUI } from '@pdfme/common';
|
2
3
|
import { SidebarProps } from '../index';
|
3
4
|
declare const PositionAndSizeEditor: (props: Pick<SidebarProps, 'pageSize' | 'schemas' | 'changeSchemas' | 'activeElements'> & {
|
4
5
|
activeSchema: SchemaForUI;
|
5
|
-
}) => JSX.Element;
|
6
|
+
}) => React.JSX.Element;
|
6
7
|
export default PositionAndSizeEditor;
|
@@ -1,6 +1,7 @@
|
|
1
|
+
import React from 'react';
|
1
2
|
import { SchemaForUI } from '@pdfme/common';
|
2
3
|
import { SidebarProps } from '..';
|
3
4
|
declare const TextPropEditor: (props: Pick<SidebarProps, 'changeSchemas'> & {
|
4
5
|
activeSchema: SchemaForUI;
|
5
|
-
}) => JSX.Element;
|
6
|
+
}) => React.JSX.Element;
|
6
7
|
export default TextPropEditor;
|
@@ -1,6 +1,7 @@
|
|
1
|
+
import React from 'react';
|
1
2
|
import { SchemaForUI } from '@pdfme/common';
|
2
3
|
import { SidebarProps } from '../index';
|
3
4
|
declare const TypeAndKeyEditor: (props: Pick<SidebarProps, 'schemas' | 'changeSchemas'> & {
|
4
5
|
activeSchema: SchemaForUI;
|
5
|
-
}) => JSX.Element;
|
6
|
+
}) => React.JSX.Element;
|
6
7
|
export default TypeAndKeyEditor;
|
@@ -1,6 +1,7 @@
|
|
1
|
+
import React from 'react';
|
1
2
|
import { SchemaForUI } from '@pdfme/common';
|
2
3
|
import { SidebarProps } from '../index';
|
3
|
-
declare const DetailView: (props: Pick<SidebarProps, 'schemas' | 'pageSize' | 'changeSchemas' | 'activeElements'> & {
|
4
|
+
declare const DetailView: (props: Pick<SidebarProps, 'schemas' | 'pageSize' | 'changeSchemas' | 'activeElements' | 'deselectSchema'> & {
|
4
5
|
activeSchema: SchemaForUI;
|
5
|
-
}) => JSX.Element;
|
6
|
+
}) => React.JSX.Element;
|
6
7
|
export default DetailView;
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import React from 'react';
|
1
2
|
import { SidebarProps } from '../index';
|
2
|
-
declare const SelectableSortableContainer: (props: Pick<SidebarProps, 'schemas' | 'onEdit' | 'onSortEnd' | 'height' | 'hoveringSchemaId' | 'onChangeHoveringSchemaId'>) => JSX.Element;
|
3
|
+
declare const SelectableSortableContainer: (props: Pick<SidebarProps, 'schemas' | 'onEdit' | 'onSortEnd' | 'height' | 'hoveringSchemaId' | 'onChangeHoveringSchemaId'>) => React.JSX.Element;
|
3
4
|
export default SelectableSortableContainer;
|
@@ -10,5 +10,5 @@ interface Props {
|
|
10
10
|
onMouseEnter: () => void;
|
11
11
|
onMouseLeave: () => void;
|
12
12
|
}
|
13
|
-
declare const SelectableSortableItem: ({ isSelected, style, onSelect, onEdit, schema, schemas, onMouseEnter, onMouseLeave, }: Props) => JSX.Element;
|
13
|
+
declare const SelectableSortableItem: ({ isSelected, style, onSelect, onEdit, schema, schemas, onMouseEnter, onMouseLeave, }: Props) => React.JSX.Element;
|
14
14
|
export default SelectableSortableItem;
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import React from 'react';
|
1
2
|
import { SidebarProps } from '../index';
|
2
|
-
declare const ListView: (props: Pick<SidebarProps, 'schemas' | 'onSortEnd' | 'onEdit' | 'size' | 'hoveringSchemaId' | 'onChangeHoveringSchemaId' | 'changeSchemas'>) => JSX.Element;
|
3
|
+
declare const ListView: (props: Pick<SidebarProps, 'schemas' | 'onSortEnd' | 'onEdit' | 'size' | 'hoveringSchemaId' | 'onChangeHoveringSchemaId' | 'changeSchemas'>) => React.JSX.Element;
|
3
4
|
export default ListView;
|
@@ -1,5 +1,6 @@
|
|
1
|
+
import React from 'react';
|
1
2
|
import { SchemaForUI, Size } from '@pdfme/common';
|
2
|
-
export
|
3
|
+
export type SidebarProps = {
|
3
4
|
height: number;
|
4
5
|
hoveringSchemaId: string | null;
|
5
6
|
onChangeHoveringSchemaId: (id: string | null) => void;
|
@@ -19,6 +20,7 @@ export declare type SidebarProps = {
|
|
19
20
|
schemaId: string;
|
20
21
|
}[]) => void;
|
21
22
|
addSchema: () => void;
|
23
|
+
deselectSchema: () => void;
|
22
24
|
};
|
23
|
-
declare const Sidebar: (props: SidebarProps) => JSX.Element;
|
25
|
+
declare const Sidebar: (props: SidebarProps) => React.JSX.Element;
|
24
26
|
export default Sidebar;
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import React from 'react';
|
1
2
|
import { DesignerReactProps, Template } from '@pdfme/common';
|
2
3
|
declare const TemplateEditor: ({ template, size, onSaveTemplate, onChangeTemplate, }: {
|
3
4
|
template: {
|
@@ -41,6 +42,9 @@ declare const TemplateEditor: ({ template, size, onSaveTemplate, onChangeTemplat
|
|
41
42
|
y: number;
|
42
43
|
};
|
43
44
|
rotate?: number | undefined;
|
45
|
+
backgroundcolor?: string | undefined;
|
46
|
+
barcolor?: string | undefined;
|
47
|
+
textcolor?: string | undefined;
|
44
48
|
}>[];
|
45
49
|
basePdf: (string | ArrayBuffer | Uint8Array) & (string | ArrayBuffer | Uint8Array | undefined);
|
46
50
|
sampledata?: Record<string, string>[] | undefined;
|
@@ -91,6 +95,9 @@ declare const TemplateEditor: ({ template, size, onSaveTemplate, onChangeTemplat
|
|
91
95
|
y: number;
|
92
96
|
};
|
93
97
|
rotate?: number | undefined;
|
98
|
+
backgroundcolor?: string | undefined;
|
99
|
+
barcolor?: string | undefined;
|
100
|
+
textcolor?: string | undefined;
|
94
101
|
}>[];
|
95
102
|
basePdf: (string | ArrayBuffer | Uint8Array) & (string | ArrayBuffer | Uint8Array | undefined);
|
96
103
|
sampledata?: Record<string, string>[] | undefined;
|
@@ -102,9 +109,9 @@ declare const TemplateEditor: ({ template, size, onSaveTemplate, onChangeTemplat
|
|
102
109
|
fallback?: boolean | undefined;
|
103
110
|
subset?: boolean | undefined;
|
104
111
|
}> | undefined;
|
105
|
-
lang?: "th" | "en" | "ja" | "ar" | "pl" | undefined;
|
112
|
+
lang?: "th" | "en" | "ja" | "ar" | "pl" | "it" | undefined;
|
106
113
|
} | undefined;
|
107
114
|
} & {
|
108
115
|
onChangeTemplate: (t: Template) => void;
|
109
|
-
}) => JSX.Element;
|
116
|
+
}) => React.JSX.Element;
|
110
117
|
export default TemplateEditor;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { MutableRefObject, ReactNode } from 'react';
|
1
|
+
import React, { MutableRefObject, ReactNode } from 'react';
|
2
2
|
import { SchemaForUI, Size } from '@pdfme/common';
|
3
3
|
declare const Paper: (props: {
|
4
4
|
paperRefs: MutableRefObject<HTMLDivElement[]>;
|
@@ -15,5 +15,5 @@ declare const Paper: (props: {
|
|
15
15
|
index: number;
|
16
16
|
schema: SchemaForUI;
|
17
17
|
}) => ReactNode;
|
18
|
-
}) => JSX.Element | null;
|
18
|
+
}) => React.JSX.Element | null;
|
19
19
|
export default Paper;
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import React from 'react';
|
1
2
|
import { PreviewReactProps } from '@pdfme/common';
|
2
|
-
declare const Preview: ({ template, inputs, size, onChangeInput }: PreviewReactProps) => JSX.Element;
|
3
|
+
declare const Preview: ({ template, inputs, size, onChangeInput }: PreviewReactProps) => React.JSX.Element;
|
3
4
|
export default Preview;
|
@@ -1,9 +1,10 @@
|
|
1
|
+
import React from 'react';
|
1
2
|
import { Size } from '@pdfme/common';
|
2
|
-
|
3
|
+
type Props = {
|
3
4
|
size: Size;
|
4
5
|
unitCursor: number;
|
5
6
|
unitNum: number;
|
6
7
|
setUnitCursor: (page: number) => void;
|
7
8
|
};
|
8
|
-
declare const UnitPager: ({ size, unitCursor, unitNum, setUnitCursor }: Props) => JSX.Element;
|
9
|
+
declare const UnitPager: ({ size, unitCursor, unitNum, setUnitCursor }: Props) => React.JSX.Element;
|
9
10
|
export default UnitPager;
|
package/dist/types/contexts.d.ts
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
/// <reference types="react" />
|
2
|
-
export declare const I18nContext: import("react").Context<(key: "type" | "field" | "cancel" | "fieldName" | "require" | "uniq" | "inputExample" | "edit" | "plsInputName" | "fieldMustUniq" | "notUniq" | "noKeyName" | "fieldsList" | "addNewField" | "editField" | "errorOccurred" | "errorBulkUpdateFieldName" | "commitBulkUpdateFieldName" | "bulkUpdateFieldName") => string>;
|
2
|
+
export declare const I18nContext: import("react").Context<(key: "type" | "field" | "cancel" | "fieldName" | "require" | "uniq" | "inputExample" | "edit" | "plsInputName" | "fieldMustUniq" | "notUniq" | "noKeyName" | "fieldsList" | "addNewField" | "editField" | "errorOccurred" | "errorBulkUpdateFieldName" | "commitBulkUpdateFieldName" | "bulkUpdateFieldName" | "barColor" | "textColor" | "bgColor") => string>;
|
3
3
|
export declare const FontContext: import("react").Context<Record<string, {
|
4
4
|
data: (string | ArrayBuffer | Uint8Array) & (string | ArrayBuffer | Uint8Array | undefined);
|
5
5
|
fallback?: boolean | undefined;
|
6
6
|
subset?: boolean | undefined;
|
7
7
|
}>>;
|
8
|
+
export declare const RendererRegistry: import("react").Context<import("./types").Renderer>;
|
9
|
+
export declare const OptionsContext: import("react").Context<{}>;
|
package/dist/types/helper.d.ts
CHANGED
@@ -18,6 +18,7 @@ export declare const initShortCuts: (arg: {
|
|
18
18
|
selectAll: () => void;
|
19
19
|
}) => void;
|
20
20
|
export declare const destroyShortCuts: () => void;
|
21
|
+
export declare const blobToDataURL: (blob: Blob) => Promise<string>;
|
21
22
|
export declare const readFiles: (files: FileList | null, type: 'text' | 'dataURL' | 'arrayBuffer') => Promise<string | ArrayBuffer>;
|
22
23
|
export declare const px2mm: (px: number) => number;
|
23
24
|
export declare const getPdfPageSizes: (pdfBlob: Blob) => Promise<{
|
@@ -75,6 +76,9 @@ export declare const templateSchemas2SchemasList: (_template: Template) => Promi
|
|
75
76
|
y: number;
|
76
77
|
};
|
77
78
|
rotate?: number | undefined;
|
79
|
+
backgroundcolor?: string | undefined;
|
80
|
+
barcolor?: string | undefined;
|
81
|
+
textcolor?: string | undefined;
|
78
82
|
})[][]>;
|
79
83
|
export declare const fmtTemplate: (template: Template, schemasList: SchemaForUI[][]) => Template;
|
80
84
|
export declare const getInitialSchema: () => SchemaForUI;
|
package/dist/types/hooks.d.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import { RefObject } from 'react';
|
2
2
|
import { Template, Size } from '@pdfme/common';
|
3
3
|
export declare const usePrevious: <T>(value: T) => T | null;
|
4
|
-
|
4
|
+
type UIPreProcessorProps = {
|
5
5
|
template: Template;
|
6
6
|
size: Size;
|
7
7
|
zoomLevel: number;
|
@@ -15,7 +15,7 @@ export declare const useUIPreProcessor: ({ template, size, zoomLevel }: UIPrePro
|
|
15
15
|
scale: number;
|
16
16
|
error: Error | null;
|
17
17
|
};
|
18
|
-
|
18
|
+
type ScrollPageCursorProps = {
|
19
19
|
ref: RefObject<HTMLDivElement>;
|
20
20
|
pageSizes: Size[];
|
21
21
|
scale: number;
|
package/dist/types/i18n.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { Lang } from '@pdfme/common';
|
2
|
-
|
2
|
+
type DictEn = typeof dictEn;
|
3
3
|
declare const dictEn: {
|
4
4
|
cancel: string;
|
5
5
|
field: string;
|
@@ -20,6 +20,9 @@ declare const dictEn: {
|
|
20
20
|
errorBulkUpdateFieldName: string;
|
21
21
|
commitBulkUpdateFieldName: string;
|
22
22
|
bulkUpdateFieldName: string;
|
23
|
+
barColor: string;
|
24
|
+
textColor: string;
|
25
|
+
bgColor: string;
|
23
26
|
};
|
24
27
|
export declare const curriedI18n: (lang: Lang) => (key: keyof DictEn) => string;
|
25
28
|
export {};
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import type { UIOptions, SchemaForUI } from '@pdfme/common';
|
2
|
+
interface RenderBaseProps {
|
3
|
+
schema: SchemaForUI;
|
4
|
+
mode: 'viewer' | 'form';
|
5
|
+
tabIndex?: number;
|
6
|
+
placeholder?: string;
|
7
|
+
stopEditing?: () => void;
|
8
|
+
}
|
9
|
+
export type RendererProps = RenderBaseProps & {
|
10
|
+
onChange: (value: string) => void;
|
11
|
+
outline: string;
|
12
|
+
onChangeHoveringSchemaId?: (id: string | null) => void;
|
13
|
+
};
|
14
|
+
export type RenderProps = RenderBaseProps & {
|
15
|
+
onChange?: (value: string) => void;
|
16
|
+
value: string;
|
17
|
+
rootElement: HTMLDivElement;
|
18
|
+
options: UIOptions;
|
19
|
+
};
|
20
|
+
export interface Renderer {
|
21
|
+
[key: string]: {
|
22
|
+
render: (arg: RenderProps) => Promise<void>;
|
23
|
+
} | undefined;
|
24
|
+
}
|
25
|
+
export {};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@pdfme/ui",
|
3
|
-
"version": "2.2.
|
3
|
+
"version": "2.2.1",
|
4
4
|
"sideEffects": false,
|
5
5
|
"author": "hand-dot",
|
6
6
|
"license": "MIT",
|
@@ -56,6 +56,7 @@
|
|
56
56
|
"@types/pdfjs-dist": "^2.10.378",
|
57
57
|
"@types/react": "^17.0.52",
|
58
58
|
"@types/react-dom": "^17.0.18",
|
59
|
+
"csstype": "^3.1.2",
|
59
60
|
"eslint-plugin-react": "^7.28.0",
|
60
61
|
"eslint-plugin-react-hooks": "^4.3.0",
|
61
62
|
"jest-canvas-mock": "^2.3.1",
|
package/src/Designer.tsx
CHANGED
@@ -3,7 +3,7 @@ import ReactDOM from 'react-dom';
|
|
3
3
|
import { Template, DesignerProps, checkDesignerProps, checkTemplate } from '@pdfme/common';
|
4
4
|
import { BaseUIClass } from './class';
|
5
5
|
import { DESTROYED_ERR_MSG } from './constants';
|
6
|
-
import { I18nContext, FontContext } from './contexts';
|
6
|
+
import { I18nContext, FontContext, RendererRegistry, OptionsContext } from './contexts';
|
7
7
|
import DesignerComponent from './components/Designer/index';
|
8
8
|
import { cloneDeep } from './helper';
|
9
9
|
|
@@ -48,22 +48,26 @@ class Designer extends BaseUIClass {
|
|
48
48
|
ReactDOM.render(
|
49
49
|
<I18nContext.Provider value={this.getI18n()}>
|
50
50
|
<FontContext.Provider value={this.getFont()}>
|
51
|
-
<
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
51
|
+
<RendererRegistry.Provider value={this.getRendererRegistry()}>
|
52
|
+
<OptionsContext.Provider value={this.getOptions()}>
|
53
|
+
<DesignerComponent
|
54
|
+
template={this.template}
|
55
|
+
onSaveTemplate={(template) => {
|
56
|
+
this.template = template;
|
57
|
+
if (this.onSaveTemplateCallback) {
|
58
|
+
this.onSaveTemplateCallback(template);
|
59
|
+
}
|
60
|
+
}}
|
61
|
+
onChangeTemplate={(template) => {
|
62
|
+
this.template = template;
|
63
|
+
if (this.onChangeTemplateCallback) {
|
64
|
+
this.onChangeTemplateCallback(template);
|
65
|
+
}
|
66
|
+
}}
|
67
|
+
size={this.size}
|
68
|
+
/>
|
69
|
+
</OptionsContext.Provider>
|
70
|
+
</RendererRegistry.Provider>
|
67
71
|
</FontContext.Provider>
|
68
72
|
</I18nContext.Provider>,
|
69
73
|
this.domContainer
|
package/src/Form.tsx
CHANGED
@@ -3,7 +3,7 @@ import ReactDOM from 'react-dom';
|
|
3
3
|
import { PreviewProps } from '@pdfme/common';
|
4
4
|
import { PreviewUI } from './class';
|
5
5
|
import { DESTROYED_ERR_MSG } from './constants';
|
6
|
-
import { I18nContext, FontContext } from './contexts';
|
6
|
+
import { I18nContext, FontContext, RendererRegistry, OptionsContext } from './contexts';
|
7
7
|
import Preview from './components/Preview';
|
8
8
|
|
9
9
|
class Form extends PreviewUI {
|
@@ -23,19 +23,23 @@ class Form extends PreviewUI {
|
|
23
23
|
ReactDOM.render(
|
24
24
|
<I18nContext.Provider value={this.getI18n()}>
|
25
25
|
<FontContext.Provider value={this.getFont()}>
|
26
|
-
<
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
26
|
+
<RendererRegistry.Provider value={this.getRendererRegistry()}>
|
27
|
+
<OptionsContext.Provider value={this.getOptions()}>
|
28
|
+
<Preview
|
29
|
+
template={this.template}
|
30
|
+
size={this.size}
|
31
|
+
inputs={this.inputs}
|
32
|
+
onChangeInput={(arg: { index: number; value: string; key: string }) => {
|
33
|
+
const { index, value, key } = arg;
|
34
|
+
if (this.onChangeInputCallback) {
|
35
|
+
this.onChangeInputCallback({ index, value, key });
|
36
|
+
}
|
37
|
+
this.inputs[index][key] = value;
|
38
|
+
this.render();
|
39
|
+
}}
|
40
|
+
/>
|
41
|
+
</OptionsContext.Provider>
|
42
|
+
</RendererRegistry.Provider>
|
39
43
|
</FontContext.Provider>
|
40
44
|
</I18nContext.Provider>,
|
41
45
|
this.domContainer
|
package/src/Viewer.tsx
CHANGED
@@ -3,7 +3,7 @@ import ReactDOM from 'react-dom';
|
|
3
3
|
import { PreviewProps } from '@pdfme/common';
|
4
4
|
import { PreviewUI } from './class';
|
5
5
|
import { DESTROYED_ERR_MSG } from './constants';
|
6
|
-
import { I18nContext, FontContext } from './contexts';
|
6
|
+
import { I18nContext, FontContext, RendererRegistry, OptionsContext } from './contexts';
|
7
7
|
import Preview from './components/Preview';
|
8
8
|
|
9
9
|
class Viewer extends PreviewUI {
|
@@ -17,7 +17,11 @@ class Viewer extends PreviewUI {
|
|
17
17
|
ReactDOM.render(
|
18
18
|
<I18nContext.Provider value={this.getI18n()}>
|
19
19
|
<FontContext.Provider value={this.getFont()}>
|
20
|
-
<
|
20
|
+
<RendererRegistry.Provider value={this.getRendererRegistry()}>
|
21
|
+
<OptionsContext.Provider value={this.getOptions()}>
|
22
|
+
<Preview template={this.template} size={this.size} inputs={this.inputs} />
|
23
|
+
</OptionsContext.Provider>
|
24
|
+
</RendererRegistry.Provider>
|
21
25
|
</FontContext.Provider>
|
22
26
|
</I18nContext.Provider>,
|
23
27
|
this.domContainer
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import type { BarCodeType } from '@pdfme/common';
|
2
|
+
import type { Renderer } from './types';
|
3
|
+
import { renderText } from './renders/text';
|
4
|
+
import { renderImage } from './renders/image';
|
5
|
+
import { renderBarcode } from './renders/barcodes';
|
6
|
+
|
7
|
+
const barCodeTypes: BarCodeType[] = ['qrcode', 'japanpost', 'ean13', 'ean8', 'code39', 'code128', 'nw7', 'itf14', 'upca', 'upce', 'gs1datamatrix']
|
8
|
+
|
9
|
+
const renderer: Renderer = {
|
10
|
+
text: { render: renderText, },
|
11
|
+
image: { render: renderImage, },
|
12
|
+
...barCodeTypes.reduce((acc, barcodeType) => Object.assign(acc, { [barcodeType]: { render: renderBarcode } }), {}),
|
13
|
+
}
|
14
|
+
export default renderer
|