@pdfme/ui 5.5.9 → 5.5.10-dev.125

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 (77) hide show
  1. package/README.md +3 -1
  2. package/__mocks__/converter.ts +3 -0
  3. package/__mocks__/form-render.js +3 -3
  4. package/__mocks__/form-render.ts +18 -0
  5. package/__mocks__/lucide-react.ts +15 -0
  6. package/package.json +40 -87
  7. package/src/Designer.tsx +1 -3
  8. package/src/Form.tsx +1 -3
  9. package/src/Viewer.tsx +1 -3
  10. package/src/class.ts +17 -6
  11. package/src/components/CtlBar.tsx +7 -2
  12. package/src/components/Designer/PluginIcon.tsx +64 -16
  13. package/src/components/Designer/RightSidebar/DetailView/AlignWidget.tsx +1 -2
  14. package/src/components/Designer/RightSidebar/DetailView/WidgetRenderer.tsx +8 -7
  15. package/src/components/Designer/RightSidebar/DetailView/index.tsx +15 -17
  16. package/src/components/Designer/RightSidebar/ListView/Item.tsx +3 -5
  17. package/src/components/Designer/index.tsx +28 -17
  18. package/src/components/Preview.tsx +40 -14
  19. package/src/components/Renderer.tsx +73 -27
  20. package/src/components/Root.tsx +8 -2
  21. package/src/contexts.ts +1 -1
  22. package/src/helper.ts +1 -1
  23. package/src/hooks.ts +102 -67
  24. package/tsconfig.build.json +15 -0
  25. package/tsconfig.json +5 -40
  26. package/tsconfig.typecheck.json +19 -0
  27. package/vite.config.mts +46 -5
  28. package/vitest.setup.ts +47 -0
  29. package/dist/index.es.js +0 -159823
  30. package/dist/index.umd.js +0 -1060
  31. package/dist/types/__tests__/assets/helper.d.ts +0 -3
  32. package/dist/types/__tests__/components/Designer.test.d.ts +0 -1
  33. package/dist/types/__tests__/components/PluginIcon.test.d.ts +0 -1
  34. package/dist/types/__tests__/components/Preview.test.d.ts +0 -1
  35. package/dist/types/__tests__/helper.test.d.ts +0 -1
  36. package/dist/types/src/Designer.d.ts +0 -21
  37. package/dist/types/src/Form.d.ts +0 -24
  38. package/dist/types/src/Viewer.d.ts +0 -15
  39. package/dist/types/src/class.d.ts +0 -89
  40. package/dist/types/src/components/AppContextProvider.d.ts +0 -11
  41. package/dist/types/src/components/CtlBar.d.ts +0 -14
  42. package/dist/types/src/components/Designer/Canvas/Guides.d.ts +0 -9
  43. package/dist/types/src/components/Designer/Canvas/Mask.d.ts +0 -4
  44. package/dist/types/src/components/Designer/Canvas/Moveable.d.ts +0 -37
  45. package/dist/types/src/components/Designer/Canvas/Padding.d.ts +0 -6
  46. package/dist/types/src/components/Designer/Canvas/Selecto.d.ts +0 -10
  47. package/dist/types/src/components/Designer/Canvas/index.d.ts +0 -22
  48. package/dist/types/src/components/Designer/LeftSidebar.d.ts +0 -8
  49. package/dist/types/src/components/Designer/PluginIcon.d.ts +0 -10
  50. package/dist/types/src/components/Designer/RightSidebar/DetailView/AlignWidget.d.ts +0 -4
  51. package/dist/types/src/components/Designer/RightSidebar/DetailView/ButtonGroupWidget.d.ts +0 -4
  52. package/dist/types/src/components/Designer/RightSidebar/DetailView/WidgetRenderer.d.ts +0 -7
  53. package/dist/types/src/components/Designer/RightSidebar/DetailView/index.d.ts +0 -8
  54. package/dist/types/src/components/Designer/RightSidebar/ListView/Item.d.ts +0 -45
  55. package/dist/types/src/components/Designer/RightSidebar/ListView/SelectableSortableContainer.d.ts +0 -4
  56. package/dist/types/src/components/Designer/RightSidebar/ListView/SelectableSortableItem.d.ts +0 -14
  57. package/dist/types/src/components/Designer/RightSidebar/ListView/index.d.ts +0 -4
  58. package/dist/types/src/components/Designer/RightSidebar/index.d.ts +0 -4
  59. package/dist/types/src/components/Designer/RightSidebar/layout.d.ts +0 -15
  60. package/dist/types/src/components/Designer/index.d.ts +0 -11
  61. package/dist/types/src/components/ErrorScreen.d.ts +0 -7
  62. package/dist/types/src/components/Paper.d.ts +0 -20
  63. package/dist/types/src/components/Preview.d.ts +0 -15
  64. package/dist/types/src/components/Renderer.d.ts +0 -13
  65. package/dist/types/src/components/Root.d.ts +0 -9
  66. package/dist/types/src/components/Spinner.d.ts +0 -3
  67. package/dist/types/src/components/StaticSchema.d.ts +0 -10
  68. package/dist/types/src/components/UnitPager.d.ts +0 -10
  69. package/dist/types/src/constants.d.ts +0 -11
  70. package/dist/types/src/contexts.d.ts +0 -10
  71. package/dist/types/src/helper.d.ts +0 -73
  72. package/dist/types/src/hooks.d.ts +0 -46
  73. package/dist/types/src/i18n.d.ts +0 -3
  74. package/dist/types/src/index.d.ts +0 -4
  75. package/dist/types/src/theme.d.ts +0 -2
  76. package/dist/types/src/types.d.ts +0 -19
  77. package/eslint.config.mjs +0 -41
package/vite.config.mts CHANGED
@@ -1,22 +1,63 @@
1
+ import { builtinModules } from 'node:module';
2
+ import { dirname, resolve } from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
1
4
  import { defineConfig } from 'vite';
2
5
  import react from '@vitejs/plugin-react';
3
- import tsconfigPaths from 'vite-tsconfig-paths';
4
6
  import cssInjectedByJsPlugin from 'vite-plugin-css-injected-by-js';
5
7
 
8
+ const __filename = fileURLToPath(import.meta.url);
9
+ const __dirname = dirname(__filename);
10
+ const builtinModuleSet = new Set([
11
+ ...builtinModules,
12
+ ...builtinModules.map((moduleName) => `node:${moduleName}`),
13
+ ]);
14
+ const pdfjsWorkerCompatBanner = [
15
+ 'const pdfmeUint8ArrayPrototype = Uint8Array.prototype;',
16
+ 'if (!pdfmeUint8ArrayPrototype.toHex) {',
17
+ " Object.defineProperty(Uint8Array.prototype, 'toHex', {",
18
+ ' configurable: true,',
19
+ ' value() {',
20
+ " let result = '';",
21
+ ' for (let i = 0; i < this.length; i += 1) {',
22
+ ' const hex = this[i].toString(16);',
23
+ ' result += hex.length === 1 ? `0${hex}` : hex;',
24
+ ' }',
25
+ ' return result;',
26
+ ' },',
27
+ ' writable: true,',
28
+ ' });',
29
+ '}',
30
+ ].join('\n');
31
+ const isExternal = (id: string) => builtinModuleSet.has(id);
32
+
6
33
  export default defineConfig(({ mode }) => {
7
34
  return {
35
+ base: './',
8
36
  define: { 'process.env.NODE_ENV': JSON.stringify(mode) },
9
- plugins: [react(), tsconfigPaths({ root: '.' }), cssInjectedByJsPlugin()],
37
+ plugins: [react(), cssInjectedByJsPlugin()],
10
38
  build: {
11
39
  lib: {
12
- entry: 'src/index.ts',
13
- name: '@pdfme/ui',
14
- fileName: (format) => `index.${format}.js`,
40
+ entry: resolve(__dirname, 'src/index.ts'),
41
+ fileName: 'index',
42
+ formats: ['es'],
15
43
  },
44
+ minify: false,
45
+ outDir: 'dist',
46
+ rollupOptions: { external: isExternal },
47
+ sourcemap: true,
48
+ target: 'es2020',
16
49
  },
17
50
  optimizeDeps: {
18
51
  include: ['react', 'react-dom', 'pdfjs-dist', 'antd'],
19
52
  exclude: ['@pdfme/common', '@pdfme/schemas', '@pdfme/converter'],
20
53
  },
54
+ worker: {
55
+ format: 'es',
56
+ rollupOptions: {
57
+ output: {
58
+ banner: pdfjsWorkerCompatBanner,
59
+ },
60
+ },
61
+ },
21
62
  };
22
63
  });
@@ -0,0 +1,47 @@
1
+ import { TextDecoder, TextEncoder } from 'node:util';
2
+ import { cleanup } from '@testing-library/react';
3
+ import '@testing-library/jest-dom/vitest';
4
+ import { afterEach, vi } from 'vitest';
5
+
6
+ if (typeof globalThis.TextDecoder === 'undefined' || typeof globalThis.TextEncoder === 'undefined') {
7
+ Object.assign(globalThis, { TextDecoder, TextEncoder });
8
+ }
9
+
10
+ const createCanvasContext2D = () => {
11
+ const noop = vi.fn();
12
+
13
+ return {
14
+ canvas: undefined,
15
+ fillStyle: '#000000',
16
+ strokeStyle: '#000000',
17
+ lineWidth: 1,
18
+ font: '10px sans-serif',
19
+ textAlign: 'left',
20
+ textBaseline: 'alphabetic',
21
+ beginPath: noop,
22
+ clearRect: noop,
23
+ fill: noop,
24
+ fillRect: noop,
25
+ fillText: noop,
26
+ lineTo: noop,
27
+ moveTo: noop,
28
+ rect: noop,
29
+ restore: noop,
30
+ rotate: noop,
31
+ save: noop,
32
+ scale: noop,
33
+ stroke: noop,
34
+ translate: noop,
35
+ measureText: (text: string) => ({ width: text.length * 6 }),
36
+ };
37
+ };
38
+
39
+ Object.defineProperty(HTMLCanvasElement.prototype, 'getContext', {
40
+ configurable: true,
41
+ value: vi.fn(() => createCanvasContext2D()),
42
+ });
43
+
44
+ afterEach(() => {
45
+ cleanup();
46
+ vi.restoreAllMocks();
47
+ });