@pdfme/ui 2.2.0 → 3.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/README.md +33 -35
  2. package/__mocks__/form-render.js +7 -0
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.LICENSE.txt +42 -4
  5. package/dist/index.js.map +1 -1
  6. package/dist/types/Designer.d.ts +3 -0
  7. package/dist/types/builtInPropPanel.d.ts +3 -0
  8. package/dist/types/builtInRenderer.d.ts +3 -0
  9. package/dist/types/class.d.ts +18 -38
  10. package/dist/types/components/CtlBar/Pager.d.ts +3 -2
  11. package/dist/types/components/CtlBar/Zoom.d.ts +3 -2
  12. package/dist/types/components/CtlBar/index.d.ts +3 -2
  13. package/dist/types/components/Designer/{Main → Canvas}/Guides.d.ts +2 -2
  14. package/dist/types/components/Designer/Canvas/Mask.d.ts +4 -0
  15. package/dist/types/components/Designer/Canvas/Moveable.d.ts +37 -0
  16. package/dist/types/components/Designer/{Main → Canvas}/Selecto.d.ts +2 -1
  17. package/dist/types/components/Designer/{Main → Canvas}/index.d.ts +3 -6
  18. package/dist/types/components/Designer/Sidebar/DetailView/AlignWidget.d.ts +4 -0
  19. package/dist/types/components/Designer/Sidebar/DetailView/WidgetRenderer.d.ts +7 -0
  20. package/dist/types/components/Designer/Sidebar/DetailView/index.d.ts +5 -4
  21. package/dist/types/components/Designer/Sidebar/ListView/SelectableSortableContainer.d.ts +3 -2
  22. package/dist/types/components/Designer/Sidebar/ListView/SelectableSortableItem.d.ts +1 -1
  23. package/dist/types/components/Designer/Sidebar/ListView/index.d.ts +3 -2
  24. package/dist/types/components/Designer/Sidebar/index.d.ts +3 -23
  25. package/dist/types/components/Designer/index.d.ts +6 -107
  26. package/dist/types/components/Divider.d.ts +2 -1
  27. package/dist/types/components/ErrorScreen.d.ts +7 -0
  28. package/dist/types/components/Paper.d.ts +3 -2
  29. package/dist/types/components/Preview.d.ts +10 -2
  30. package/dist/types/components/Renderer.d.ts +10 -0
  31. package/dist/types/components/Root.d.ts +1 -1
  32. package/dist/types/components/Spinner.d.ts +2 -1
  33. package/dist/types/components/UnitPager.d.ts +3 -2
  34. package/dist/types/constants.d.ts +3 -3
  35. package/dist/types/contexts.d.ts +4 -1
  36. package/dist/types/helper.d.ts +4 -46
  37. package/dist/types/hooks.d.ts +2 -2
  38. package/dist/types/i18n.d.ts +4 -2
  39. package/dist/types/index.d.ts +1 -4
  40. package/dist/types/types.d.ts +25 -0
  41. package/package.json +19 -8
  42. package/src/Designer.tsx +69 -21
  43. package/src/Form.tsx +18 -14
  44. package/src/Viewer.tsx +6 -2
  45. package/src/builtInPropPanel.ts +5 -0
  46. package/src/builtInRenderer.ts +5 -0
  47. package/src/class.ts +25 -2
  48. package/src/components/CtlBar/index.tsx +4 -7
  49. package/src/components/Designer/{Main → Canvas}/Guides.tsx +2 -2
  50. package/src/components/Designer/{Main → Canvas}/Moveable.tsx +23 -19
  51. package/src/components/Designer/{Main → Canvas}/index.tsx +77 -30
  52. package/src/components/Designer/Sidebar/DetailView/AlignWidget.tsx +182 -0
  53. package/src/components/Designer/Sidebar/DetailView/WidgetRenderer.tsx +28 -0
  54. package/src/components/Designer/Sidebar/DetailView/index.tsx +153 -22
  55. package/src/components/Designer/Sidebar/ListView/Item.tsx +1 -1
  56. package/src/components/Designer/Sidebar/ListView/SelectableSortableContainer.tsx +6 -6
  57. package/src/components/Designer/Sidebar/ListView/index.tsx +1 -4
  58. package/src/components/Designer/Sidebar/index.tsx +26 -60
  59. package/src/components/Designer/index.tsx +53 -32
  60. package/src/components/{Error.tsx → ErrorScreen.tsx} +2 -2
  61. package/src/components/Paper.tsx +35 -9
  62. package/src/components/Preview.tsx +48 -50
  63. package/src/components/Renderer.tsx +90 -0
  64. package/src/components/Root.tsx +5 -1
  65. package/src/constants.ts +4 -4
  66. package/src/contexts.ts +7 -0
  67. package/src/helper.ts +19 -122
  68. package/src/hooks.ts +6 -5
  69. package/src/i18n.ts +48 -11
  70. package/src/index.ts +1 -76
  71. package/src/types.ts +36 -0
  72. package/tsconfig.json +2 -1
  73. package/webpack.config.js +6 -1
  74. package/dist/types/components/Designer/Main/Mask.d.ts +0 -3
  75. package/dist/types/components/Designer/Main/Moveable.d.ts +0 -31
  76. package/dist/types/components/Designer/Sidebar/DetailView/ExampleInputEditor.d.ts +0 -6
  77. package/dist/types/components/Designer/Sidebar/DetailView/PositionAndSizeEditor.d.ts +0 -6
  78. package/dist/types/components/Designer/Sidebar/DetailView/TextPropEditor.d.ts +0 -6
  79. package/dist/types/components/Designer/Sidebar/DetailView/TypeAndKeyEditor.d.ts +0 -6
  80. package/dist/types/components/Error.d.ts +0 -6
  81. package/dist/types/components/Schemas/BarcodeSchema.d.ts +0 -15
  82. package/dist/types/components/Schemas/ImageSchema.d.ts +0 -15
  83. package/dist/types/components/Schemas/SchemaUI.d.ts +0 -15
  84. package/dist/types/components/Schemas/TextSchema.d.ts +0 -28
  85. package/src/components/Designer/Sidebar/DetailView/ExampleInputEditor.tsx +0 -85
  86. package/src/components/Designer/Sidebar/DetailView/PositionAndSizeEditor.tsx +0 -275
  87. package/src/components/Designer/Sidebar/DetailView/TextPropEditor.tsx +0 -357
  88. package/src/components/Designer/Sidebar/DetailView/TypeAndKeyEditor.tsx +0 -87
  89. package/src/components/Schemas/BarcodeSchema.tsx +0 -124
  90. package/src/components/Schemas/ImageSchema.tsx +0 -87
  91. package/src/components/Schemas/SchemaUI.tsx +0 -62
  92. package/src/components/Schemas/TextSchema.tsx +0 -175
  93. /package/src/components/Designer/{Main → Canvas}/Mask.tsx +0 -0
  94. /package/src/components/Designer/{Main → Canvas}/Selecto.tsx +0 -0
@@ -1,13 +1,16 @@
1
1
  import { Template, DesignerProps } from '@pdfme/common';
2
+ import type { PropPanelObject } from './types';
2
3
  import { BaseUIClass } from './class';
3
4
  declare class Designer extends BaseUIClass {
4
5
  private onSaveTemplateCallback?;
5
6
  private onChangeTemplateCallback?;
7
+ private propPanelRegistry;
6
8
  constructor(props: DesignerProps);
7
9
  saveTemplate(): void;
8
10
  updateTemplate(template: Template): void;
9
11
  onSaveTemplate(cb: (template: Template) => void): void;
10
12
  onChangeTemplate(cb: (template: Template) => void): void;
13
+ protected getPropPanelRegistry(): PropPanelObject;
11
14
  protected render(): void;
12
15
  }
13
16
  export default Designer;
@@ -0,0 +1,3 @@
1
+ import type { PropPanelObject } from './types';
2
+ declare const propPanel: PropPanelObject;
3
+ export default propPanel;
@@ -0,0 +1,3 @@
1
+ import type { UIRenderer } from './types';
2
+ declare const renderer: UIRenderer;
3
+ export default renderer;
@@ -1,3 +1,4 @@
1
+ import type { UIRenderer } 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,57 +6,36 @@ 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" | "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(): UIRenderer;
21
+ protected getOptions(): {};
17
22
  getTemplate(): {
18
- schemas: Record<string, {
19
- type: "text";
20
- height: number;
21
- width: number;
22
- position: {
23
+ schemas: Record<string, import("zod").objectOutputType<{
24
+ type: import("zod").ZodString;
25
+ position: import("zod").ZodObject<{
26
+ x: import("zod").ZodNumber;
27
+ y: import("zod").ZodNumber;
28
+ }, "strip", import("zod").ZodTypeAny, {
23
29
  x: number;
24
30
  y: number;
25
- };
26
- rotate?: number | undefined;
27
- alignment?: "center" | "left" | "right" | undefined;
28
- verticalAlignment?: "top" | "bottom" | "middle" | undefined;
29
- fontSize?: number | undefined;
30
- fontName?: string | undefined;
31
- fontColor?: string | undefined;
32
- backgroundColor?: string | undefined;
33
- characterSpacing?: number | undefined;
34
- lineHeight?: number | undefined;
35
- dynamicFontSize?: {
36
- max: number;
37
- min: number;
38
- fit?: string | undefined;
39
- } | undefined;
40
- } | {
41
- type: "image";
42
- height: number;
43
- width: number;
44
- position: {
31
+ }, {
45
32
  x: number;
46
33
  y: number;
47
- };
48
- rotate?: number | undefined;
49
- } | {
50
- type: "qrcode" | "japanpost" | "ean13" | "ean8" | "code39" | "code128" | "nw7" | "itf14" | "upca" | "upce" | "gs1datamatrix";
51
- height: number;
52
- width: number;
53
- position: {
54
- x: number;
55
- y: number;
56
- };
57
- rotate?: number | undefined;
58
- }>[];
34
+ }>;
35
+ width: import("zod").ZodNumber;
36
+ height: import("zod").ZodNumber;
37
+ rotate: import("zod").ZodOptional<import("zod").ZodNumber>;
38
+ }, import("zod").ZodTypeAny, "passthrough">>[];
59
39
  basePdf: (string | ArrayBuffer | Uint8Array) & (string | ArrayBuffer | Uint8Array | undefined);
60
40
  sampledata?: Record<string, string>[] | undefined;
61
41
  columns?: string[] | undefined;
@@ -1,7 +1,8 @@
1
- declare type Props = {
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
- declare type Props = {
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
- declare type Props = {
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;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { Size } from '@pdfme/common';
3
+ declare const Mask: ({ width, height }: Size) => React.JSX.Element;
4
+ export default Mask;
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ import { OnDrag, OnResize, OnRotate, OnRotateEnd, OnClick } from 'react-moveable';
3
+ type Props = {
4
+ target: HTMLElement[];
5
+ bounds: {
6
+ left: number;
7
+ top: number;
8
+ bottom: number;
9
+ right: number;
10
+ };
11
+ horizontalGuidelines: number[];
12
+ verticalGuidelines: number[];
13
+ keepRatio: boolean;
14
+ rotatable: boolean;
15
+ onDrag: ({ target, left, top }: OnDrag) => void;
16
+ onDragEnd: ({ target }: {
17
+ target: HTMLElement | SVGElement;
18
+ }) => void;
19
+ onDragGroupEnd: ({ targets }: {
20
+ targets: (HTMLElement | SVGElement)[];
21
+ }) => void;
22
+ onRotate: ({ target, rotate }: OnRotate) => void;
23
+ onRotateEnd: ({ target }: OnRotateEnd) => void;
24
+ onRotateGroupEnd: ({ targets }: {
25
+ targets: (HTMLElement | SVGElement)[];
26
+ }) => void;
27
+ onResize: ({ target, width, height, direction }: OnResize) => void;
28
+ onResizeEnd: ({ target }: {
29
+ target: HTMLElement | SVGElement;
30
+ }) => void;
31
+ onResizeGroupEnd: ({ targets }: {
32
+ targets: (HTMLElement | SVGElement)[];
33
+ }) => void;
34
+ onClick: (e: OnClick) => void;
35
+ };
36
+ declare const _default: React.ForwardRefExoticComponent<Props & React.RefAttributes<any>>;
37
+ export default _default;
@@ -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;
@@ -1,5 +1,5 @@
1
1
  import React, { MutableRefObject } from 'react';
2
- import { SchemaForUI, Size } from '@pdfme/common';
2
+ import { SchemaForUI, Size, ChangeSchemas } from '@pdfme/common';
3
3
  interface Props {
4
4
  height: number;
5
5
  hoveringSchemaId: string | null;
@@ -12,13 +12,10 @@ interface Props {
12
12
  size: Size;
13
13
  activeElements: HTMLElement[];
14
14
  onEdit: (targets: HTMLElement[]) => void;
15
- changeSchemas: (objs: {
16
- key: string;
17
- value: string | number;
18
- schemaId: string;
19
- }[]) => void;
15
+ changeSchemas: ChangeSchemas;
20
16
  removeSchemas: (ids: string[]) => void;
21
17
  paperRefs: MutableRefObject<HTMLDivElement[]>;
18
+ sidebarOpen: boolean;
22
19
  }
23
20
  declare const _default: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
24
21
  export default _default;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { PropPanelWidgetProps } from '@pdfme/common';
3
+ declare const AlignWidget: ({ activeElements, changeSchemas, schemas, pageSize, }: PropPanelWidgetProps) => React.JSX.Element;
4
+ export default AlignWidget;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { PropPanelWidgetProps } from '@pdfme/common';
3
+ type Props = PropPanelWidgetProps & {
4
+ widget: (props: PropPanelWidgetProps) => void;
5
+ };
6
+ declare const WidgetRenderer: (props: Props) => React.JSX.Element;
7
+ export default WidgetRenderer;
@@ -1,6 +1,7 @@
1
- import { SchemaForUI } from '@pdfme/common';
2
- import { SidebarProps } from '../index';
3
- declare const DetailView: (props: Pick<SidebarProps, 'schemas' | 'pageSize' | 'changeSchemas' | 'activeElements'> & {
1
+ import React from 'react';
2
+ import type { SchemaForUI } from '@pdfme/common';
3
+ import type { SidebarProps } from '../../../../types';
4
+ declare const DetailView: (props: Pick<SidebarProps, 'size' | '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 { SidebarProps } from '../index';
2
- declare const SelectableSortableContainer: (props: Pick<SidebarProps, 'schemas' | 'onEdit' | 'onSortEnd' | 'height' | 'hoveringSchemaId' | 'onChangeHoveringSchemaId'>) => JSX.Element;
1
+ import React from 'react';
2
+ import type { SidebarProps } from '../../../../types';
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 { SidebarProps } from '../index';
2
- declare const ListView: (props: Pick<SidebarProps, 'schemas' | 'onSortEnd' | 'onEdit' | 'size' | 'hoveringSchemaId' | 'onChangeHoveringSchemaId' | 'changeSchemas'>) => JSX.Element;
1
+ import React from 'react';
2
+ import type { SidebarProps } from '../../../../types';
3
+ declare const ListView: (props: Pick<SidebarProps, 'schemas' | 'onSortEnd' | 'onEdit' | 'size' | 'hoveringSchemaId' | 'onChangeHoveringSchemaId' | 'changeSchemas'>) => React.JSX.Element;
3
4
  export default ListView;
@@ -1,24 +1,4 @@
1
- import { SchemaForUI, Size } from '@pdfme/common';
2
- export declare type SidebarProps = {
3
- height: number;
4
- hoveringSchemaId: string | null;
5
- onChangeHoveringSchemaId: (id: string | null) => void;
6
- size: Size;
7
- pageSize: Size;
8
- activeElements: HTMLElement[];
9
- schemas: SchemaForUI[];
10
- onSortEnd: (sortedSchemas: SchemaForUI[]) => void;
11
- onEdit: (id: string) => void;
12
- onEditEnd: () => void;
13
- changeSchemas: (objs: {
14
- key: string;
15
- value: undefined | string | number | {
16
- min: number;
17
- max: number;
18
- };
19
- schemaId: string;
20
- }[]) => void;
21
- addSchema: () => void;
22
- };
23
- declare const Sidebar: (props: SidebarProps) => JSX.Element;
1
+ import React from 'react';
2
+ import type { SidebarProps } from '../../../types';
3
+ declare const Sidebar: (props: SidebarProps) => React.JSX.Element;
24
4
  export default Sidebar;
@@ -1,110 +1,9 @@
1
- import { DesignerReactProps, Template } from '@pdfme/common';
2
- declare const TemplateEditor: ({ template, size, onSaveTemplate, onChangeTemplate, }: {
3
- template: {
4
- schemas: Record<string, {
5
- type: "text";
6
- height: number;
7
- width: number;
8
- position: {
9
- x: number;
10
- y: number;
11
- };
12
- rotate?: number | undefined;
13
- alignment?: "center" | "left" | "right" | undefined;
14
- verticalAlignment?: "top" | "bottom" | "middle" | undefined;
15
- fontSize?: number | undefined;
16
- fontName?: string | undefined;
17
- fontColor?: string | undefined;
18
- backgroundColor?: string | undefined;
19
- characterSpacing?: number | undefined;
20
- lineHeight?: number | undefined;
21
- dynamicFontSize?: {
22
- max: number;
23
- min: number;
24
- fit?: string | undefined;
25
- } | undefined;
26
- } | {
27
- type: "image";
28
- height: number;
29
- width: number;
30
- position: {
31
- x: number;
32
- y: number;
33
- };
34
- rotate?: number | undefined;
35
- } | {
36
- type: "qrcode" | "japanpost" | "ean13" | "ean8" | "code39" | "code128" | "nw7" | "itf14" | "upca" | "upce" | "gs1datamatrix";
37
- height: number;
38
- width: number;
39
- position: {
40
- x: number;
41
- y: number;
42
- };
43
- rotate?: number | undefined;
44
- }>[];
45
- basePdf: (string | ArrayBuffer | Uint8Array) & (string | ArrayBuffer | Uint8Array | undefined);
46
- sampledata?: Record<string, string>[] | undefined;
47
- columns?: string[] | undefined;
48
- };
49
- size: {
50
- height: number;
51
- width: number;
52
- };
53
- onSaveTemplate: (args_0: {
54
- schemas: Record<string, {
55
- type: "text";
56
- height: number;
57
- width: number;
58
- position: {
59
- x: number;
60
- y: number;
61
- };
62
- rotate?: number | undefined;
63
- alignment?: "center" | "left" | "right" | undefined;
64
- verticalAlignment?: "top" | "bottom" | "middle" | undefined;
65
- fontSize?: number | undefined;
66
- fontName?: string | undefined;
67
- fontColor?: string | undefined;
68
- backgroundColor?: string | undefined;
69
- characterSpacing?: number | undefined;
70
- lineHeight?: number | undefined;
71
- dynamicFontSize?: {
72
- max: number;
73
- min: number;
74
- fit?: string | undefined;
75
- } | undefined;
76
- } | {
77
- type: "image";
78
- height: number;
79
- width: number;
80
- position: {
81
- x: number;
82
- y: number;
83
- };
84
- rotate?: number | undefined;
85
- } | {
86
- type: "qrcode" | "japanpost" | "ean13" | "ean8" | "code39" | "code128" | "nw7" | "itf14" | "upca" | "upce" | "gs1datamatrix";
87
- height: number;
88
- width: number;
89
- position: {
90
- x: number;
91
- y: number;
92
- };
93
- rotate?: number | undefined;
94
- }>[];
95
- basePdf: (string | ArrayBuffer | Uint8Array) & (string | ArrayBuffer | Uint8Array | undefined);
96
- sampledata?: Record<string, string>[] | undefined;
97
- columns?: string[] | undefined;
98
- }, ...args_1: unknown[]) => void;
99
- options?: {
100
- font?: Record<string, {
101
- data: (string | ArrayBuffer | Uint8Array) & (string | ArrayBuffer | Uint8Array | undefined);
102
- fallback?: boolean | undefined;
103
- subset?: boolean | undefined;
104
- }> | undefined;
105
- lang?: "th" | "en" | "ja" | "ar" | "pl" | undefined;
106
- } | undefined;
1
+ import React from 'react';
2
+ import { Template, DesignerProps, Size } from '@pdfme/common';
3
+ declare const TemplateEditor: ({ template, size, onSaveTemplate, onChangeTemplate, }: Omit<DesignerProps, "domContainer"> & {
4
+ onSaveTemplate: (t: Template) => void;
5
+ size: Size;
107
6
  } & {
108
7
  onChangeTemplate: (t: Template) => void;
109
- }) => JSX.Element;
8
+ }) => React.JSX.Element;
110
9
  export default TemplateEditor;
@@ -1,2 +1,3 @@
1
- declare const Divider: () => JSX.Element;
1
+ import React from 'react';
2
+ declare const Divider: () => React.JSX.Element;
2
3
  export default Divider;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { Size } from '@pdfme/common';
3
+ declare const ErrorScreen: ({ size, error }: {
4
+ size: Size;
5
+ error: Error;
6
+ }) => React.JSX.Element;
7
+ export default ErrorScreen;
@@ -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,6 @@ declare const Paper: (props: {
15
15
  index: number;
16
16
  schema: SchemaForUI;
17
17
  }) => ReactNode;
18
- }) => JSX.Element | null;
18
+ hasRulers?: boolean | undefined;
19
+ }) => React.JSX.Element | null;
19
20
  export default Paper;
@@ -1,3 +1,11 @@
1
- import { PreviewReactProps } from '@pdfme/common';
2
- declare const Preview: ({ template, inputs, size, onChangeInput }: PreviewReactProps) => JSX.Element;
1
+ import React from 'react';
2
+ import type { PreviewProps, Size } from '@pdfme/common';
3
+ declare const Preview: ({ template, inputs, size, onChangeInput, }: Omit<PreviewProps, "domContainer"> & {
4
+ onChangeInput?: ((args: {
5
+ index: number;
6
+ value: string;
7
+ key: string;
8
+ }) => void) | undefined;
9
+ size: Size;
10
+ }) => React.JSX.Element;
3
11
  export default Preview;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { UIRenderProps, SchemaForUI, Schema } from '@pdfme/common';
3
+ type RendererProps = Omit<UIRenderProps<Schema>, 'value' | 'schema' | 'onChange' | 'rootElement' | 'options'> & {
4
+ schema: SchemaForUI;
5
+ onChange: (value: string) => void;
6
+ outline: string;
7
+ onChangeHoveringSchemaId?: (id: string | null) => void;
8
+ };
9
+ declare const Renderer: (props: RendererProps) => React.JSX.Element;
10
+ export default Renderer;
@@ -1,6 +1,6 @@
1
1
  import React, { ReactNode } from 'react';
2
2
  import { Size } from '@pdfme/common';
3
- declare type Props = {
3
+ type Props = {
4
4
  size: Size;
5
5
  scale: number;
6
6
  children: ReactNode;
@@ -1,2 +1,3 @@
1
- declare const Spinner: () => JSX.Element;
1
+ import React from 'react';
2
+ declare const Spinner: () => React.JSX.Element;
2
3
  export default Spinner;
@@ -1,9 +1,10 @@
1
+ import React from 'react';
1
2
  import { Size } from '@pdfme/common';
2
- declare type Props = {
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;
@@ -1,6 +1,6 @@
1
1
  export declare const DEFAULT_LANG: "en";
2
- export declare const DESTROYED_ERR_MSG = "this instance is already destroyed";
3
- export declare const ZOOM = 3.7795275591;
2
+ export declare const DESTROYED_ERR_MSG = "[@pdfme/ui] this instance is already destroyed";
4
3
  export declare const SELECTABLE_CLASSNAME = "selectable";
5
4
  export declare const RULER_HEIGHT = 30;
6
- export declare const SIDEBAR_WIDTH = 300;
5
+ export declare const PAGE_GAP = 10;
6
+ export declare const SIDEBAR_WIDTH = 350;
@@ -1,7 +1,10 @@
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" | "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").UIRenderer>;
9
+ export declare const PropPanelRegistry: import("react").Context<import("./types").PropPanelObject>;
10
+ export declare const OptionsContext: import("react").Context<{}>;
@@ -1,4 +1,4 @@
1
- import { Template, SchemaForUI, SchemaType, BarCodeType, Size } from '@pdfme/common';
1
+ import { Template, SchemaForUI, Size } from '@pdfme/common';
2
2
  export declare const uuid: () => string;
3
3
  export declare const set: <T extends object>(obj: T, path: string | string[], value: any) => void;
4
4
  export declare const debounce: <T extends Function>(cb: T, wait?: number) => T;
@@ -18,68 +18,26 @@ export declare const initShortCuts: (arg: {
18
18
  selectAll: () => void;
19
19
  }) => void;
20
20
  export declare const destroyShortCuts: () => void;
21
- export declare const readFiles: (files: FileList | null, type: 'text' | 'dataURL' | 'arrayBuffer') => Promise<string | ArrayBuffer>;
22
- export declare const px2mm: (px: number) => number;
23
21
  export declare const getPdfPageSizes: (pdfBlob: Blob) => Promise<{
24
22
  height: number;
25
23
  width: number;
26
24
  }[]>;
27
25
  export declare const pdf2Pngs: (pdfBlob: Blob, width: number) => Promise<string[]>;
28
26
  export declare const b64toBlob: (base64: string) => Blob;
29
- export declare const templateSchemas2SchemasList: (_template: Template) => Promise<({
30
- type: "text";
31
- data: string;
32
- key: string;
33
- id: string;
27
+ export declare const templateSchemas2SchemasList: (_template: Template) => Promise<{
34
28
  height: number;
35
29
  width: number;
30
+ type: string;
36
31
  position: {
37
32
  x: number;
38
33
  y: number;
39
34
  };
40
- backgroundColor?: string | undefined;
41
- fontSize?: number | undefined;
42
- lineHeight?: number | undefined;
43
- rotate?: number | undefined;
44
- alignment?: "center" | "left" | "right" | undefined;
45
- verticalAlignment?: "top" | "bottom" | "middle" | undefined;
46
- fontName?: string | undefined;
47
- fontColor?: string | undefined;
48
- characterSpacing?: number | undefined;
49
- dynamicFontSize?: {
50
- max: number;
51
- min: number;
52
- fit?: string | undefined;
53
- } | undefined;
54
- } | {
55
- type: "image";
56
35
  data: string;
57
- key: string;
58
36
  id: string;
59
- height: number;
60
- width: number;
61
- position: {
62
- x: number;
63
- y: number;
64
- };
65
- rotate?: number | undefined;
66
- } | {
67
- type: "qrcode" | "japanpost" | "ean13" | "ean8" | "code39" | "code128" | "nw7" | "itf14" | "upca" | "upce" | "gs1datamatrix";
68
- data: string;
69
37
  key: string;
70
- id: string;
71
- height: number;
72
- width: number;
73
- position: {
74
- x: number;
75
- y: number;
76
- };
77
38
  rotate?: number | undefined;
78
- })[][]>;
39
+ }[][]>;
79
40
  export declare const fmtTemplate: (template: Template, schemasList: SchemaForUI[][]) => Template;
80
- export declare const getInitialSchema: () => SchemaForUI;
81
- export declare const getSampleByType: (type: SchemaType) => string;
82
- export declare const getKeepRatioHeightByWidth: (type: BarCodeType, width: number) => number;
83
41
  export declare const getUniqSchemaKey: (arg: {
84
42
  copiedSchemaKey: string;
85
43
  schema: SchemaForUI[];
@@ -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
- declare type UIPreProcessorProps = {
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
- declare type ScrollPageCursorProps = {
18
+ type ScrollPageCursorProps = {
19
19
  ref: RefObject<HTMLDivElement>;
20
20
  pageSizes: Size[];
21
21
  scale: number;