@pdfme/schemas 5.2.4-dev.2 → 5.2.5-dev.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.
Files changed (88) hide show
  1. package/dist/cjs/src/barcodes/helper.js +9 -1
  2. package/dist/cjs/src/barcodes/helper.js.map +1 -1
  3. package/dist/cjs/src/barcodes/index.js +3 -3
  4. package/dist/cjs/src/barcodes/index.js.map +1 -1
  5. package/dist/cjs/src/checkbox/index.js +4 -2
  6. package/dist/cjs/src/checkbox/index.js.map +1 -1
  7. package/dist/cjs/src/date/date.js +3 -6
  8. package/dist/cjs/src/date/date.js.map +1 -1
  9. package/dist/cjs/src/date/dateTime.js +3 -1
  10. package/dist/cjs/src/date/dateTime.js.map +1 -1
  11. package/dist/cjs/src/date/time.js +3 -5
  12. package/dist/cjs/src/date/time.js.map +1 -1
  13. package/dist/cjs/src/graphics/image.js +2 -1
  14. package/dist/cjs/src/graphics/image.js.map +1 -1
  15. package/dist/cjs/src/graphics/svg.js +2 -1
  16. package/dist/cjs/src/graphics/svg.js.map +1 -1
  17. package/dist/cjs/src/multiVariableText/index.js +4 -2
  18. package/dist/cjs/src/multiVariableText/index.js.map +1 -1
  19. package/dist/cjs/src/radioGroup/index.js +3 -2
  20. package/dist/cjs/src/radioGroup/index.js.map +1 -1
  21. package/dist/cjs/src/select/index.js +3 -1
  22. package/dist/cjs/src/select/index.js.map +1 -1
  23. package/dist/cjs/src/shapes/line.js +2 -1
  24. package/dist/cjs/src/shapes/line.js.map +1 -1
  25. package/dist/cjs/src/shapes/rectAndEllipse.js +3 -4
  26. package/dist/cjs/src/shapes/rectAndEllipse.js.map +1 -1
  27. package/dist/cjs/src/tables/index.js +3 -1
  28. package/dist/cjs/src/tables/index.js.map +1 -1
  29. package/dist/cjs/src/text/icons/index.js +10 -8
  30. package/dist/cjs/src/text/icons/index.js.map +1 -1
  31. package/dist/cjs/src/text/index.js +3 -1
  32. package/dist/cjs/src/text/index.js.map +1 -1
  33. package/dist/cjs/src/utils.js +15 -1
  34. package/dist/cjs/src/utils.js.map +1 -1
  35. package/dist/esm/src/barcodes/helper.js +9 -1
  36. package/dist/esm/src/barcodes/helper.js.map +1 -1
  37. package/dist/esm/src/barcodes/index.js +3 -3
  38. package/dist/esm/src/barcodes/index.js.map +1 -1
  39. package/dist/esm/src/checkbox/index.js +4 -2
  40. package/dist/esm/src/checkbox/index.js.map +1 -1
  41. package/dist/esm/src/date/date.js +3 -6
  42. package/dist/esm/src/date/date.js.map +1 -1
  43. package/dist/esm/src/date/dateTime.js +3 -1
  44. package/dist/esm/src/date/dateTime.js.map +1 -1
  45. package/dist/esm/src/date/time.js +3 -5
  46. package/dist/esm/src/date/time.js.map +1 -1
  47. package/dist/esm/src/graphics/image.js +3 -2
  48. package/dist/esm/src/graphics/image.js.map +1 -1
  49. package/dist/esm/src/graphics/svg.js +3 -2
  50. package/dist/esm/src/graphics/svg.js.map +1 -1
  51. package/dist/esm/src/multiVariableText/index.js +4 -2
  52. package/dist/esm/src/multiVariableText/index.js.map +1 -1
  53. package/dist/esm/src/radioGroup/index.js +4 -3
  54. package/dist/esm/src/radioGroup/index.js.map +1 -1
  55. package/dist/esm/src/select/index.js +3 -1
  56. package/dist/esm/src/select/index.js.map +1 -1
  57. package/dist/esm/src/shapes/line.js +3 -2
  58. package/dist/esm/src/shapes/line.js.map +1 -1
  59. package/dist/esm/src/shapes/rectAndEllipse.js +4 -5
  60. package/dist/esm/src/shapes/rectAndEllipse.js.map +1 -1
  61. package/dist/esm/src/tables/index.js +3 -1
  62. package/dist/esm/src/tables/index.js.map +1 -1
  63. package/dist/esm/src/text/icons/index.js +9 -7
  64. package/dist/esm/src/text/icons/index.js.map +1 -1
  65. package/dist/esm/src/text/index.js +3 -1
  66. package/dist/esm/src/text/index.js.map +1 -1
  67. package/dist/esm/src/utils.js +13 -0
  68. package/dist/esm/src/utils.js.map +1 -1
  69. package/dist/types/src/text/icons/index.d.ts +7 -7
  70. package/dist/types/src/utils.d.ts +2 -0
  71. package/package.json +3 -2
  72. package/src/barcodes/helper.ts +10 -1
  73. package/src/barcodes/index.ts +3 -4
  74. package/src/checkbox/index.ts +4 -4
  75. package/src/date/date.ts +3 -7
  76. package/src/date/dateTime.ts +3 -2
  77. package/src/date/time.ts +3 -6
  78. package/src/graphics/image.ts +10 -3
  79. package/src/graphics/svg.ts +9 -2
  80. package/src/multiVariableText/index.ts +7 -5
  81. package/src/radioGroup/index.ts +5 -6
  82. package/src/select/index.ts +3 -2
  83. package/src/shapes/line.ts +8 -2
  84. package/src/shapes/rectAndEllipse.ts +4 -8
  85. package/src/tables/index.ts +3 -1
  86. package/src/text/icons/index.ts +18 -8
  87. package/src/text/index.ts +4 -2
  88. package/src/utils.ts +14 -1
@@ -1,5 +1,6 @@
1
1
  import { cmyk, degrees, degreesToRadians, rgb } from '@pdfme/pdf-lib';
2
2
  import { mm2pt, isHexValid } from '@pdfme/common';
3
+ import { createElement } from 'lucide';
3
4
  import { getDynamicHeightsForTable as _getDynamicHeightsForTable } from './tables/dynamicTemplate.js';
4
5
  export const convertForPdfLayoutProps = ({ schema, pageHeight, applyRotateTranslate = true, }) => {
5
6
  const { width: mmWidth, height: mmHeight, position, rotate, opacity } = schema;
@@ -158,4 +159,16 @@ export const createErrorElm = () => {
158
159
  container.appendChild(span);
159
160
  return container;
160
161
  };
162
+ export const createSvgStr = (icon, attrs) => {
163
+ if (typeof window === 'undefined') {
164
+ return '';
165
+ }
166
+ const svg = createElement(icon);
167
+ if (attrs) {
168
+ Object.entries(attrs).forEach(([key, value]) => {
169
+ svg.setAttribute(key, value);
170
+ });
171
+ }
172
+ return new XMLSerializer().serializeToString(svg);
173
+ };
161
174
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- export declare const TextStrikethroughIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 24 24\"><path d=\"M6.85 7.08C6.85 4.37 9.45 3 12.24 3c1.64 0 3 .49 3.9 1.28c.77.65 1.46 1.73 1.46 3.24h-3.01c0-.31-.05-.59-.15-.85c-.29-.86-1.2-1.28-2.25-1.28c-1.86 0-2.34 1.02-2.34 1.7c0 .48.25.88.74 1.21c.38.25.77.48 1.41.7H7.39c-.21-.34-.54-.89-.54-1.92zM21 12v-2H3v2h9.62c1.15.45 1.96.75 1.96 1.97c0 1-.81 1.67-2.28 1.67c-1.54 0-2.93-.54-2.93-2.51H6.4c0 .55.08 1.13.24 1.58c.81 2.29 3.29 3.3 5.67 3.3c2.27 0 5.3-.89 5.3-4.05c0-.3-.01-1.16-.48-1.94H21V12z\" fill=\"currentColor\"></path></svg>";
2
- export declare const TextUnderlineIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 24 24\"><path d=\"M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z\" fill=\"currentColor\"></path></svg>";
3
- export declare const TextAlignLeftIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 24 24\"><path d=\"M15 15H3v2h12v-2zm0-8H3v2h12V7zM3 13h18v-2H3v2zm0 8h18v-2H3v2zM3 3v2h18V3H3z\" fill=\"currentColor\"></path></svg>";
4
- export declare const TextAlignCenterIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 24 24\"><path d=\"M7 15v2h10v-2H7zm-4 6h18v-2H3v2zm0-8h18v-2H3v2zm4-6v2h10V7H7zM3 3v2h18V3H3z\" fill=\"currentColor\"></path></svg>";
5
- export declare const TextAlignRightIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 24 24\"><path d=\"M3 21h18v-2H3v2zm6-4h12v-2H9v2zm-6-4h18v-2H3v2zm6-4h12V7H9v2zM3 3v2h18V3H3z\" fill=\"currentColor\"></path></svg>";
6
- export declare const TextVerticalAlignTopIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 24 24\"><path d=\"M8 11h3v10h2V11h3l-4-4l-4 4zM4 3v2h16V3H4z\" fill=\"currentColor\"></path></svg>";
1
+ export declare const TextStrikethroughIcon: string;
2
+ export declare const TextUnderlineIcon: string;
3
+ export declare const TextAlignLeftIcon: string;
4
+ export declare const TextAlignCenterIcon: string;
5
+ export declare const TextAlignRightIcon: string;
6
+ export declare const TextVerticalAlignTopIcon: string;
7
7
  export declare const TextVerticalAlignMiddleIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 24 24\"><path d=\"M8 19h3v4h2v-4h3l-4-4l-4 4zm8-14h-3V1h-2v4H8l4 4l4-4zM4 11v2h16v-2H4z\" fill=\"currentColor\"></path></svg>";
8
- export declare const TextVerticalAlignBottomIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 24 24\"><path d=\"M16 13h-3V3h-2v10H8l4 4l4-4zM4 19v2h16v-2H4z\" fill=\"currentColor\"></path></svg>";
8
+ export declare const TextVerticalAlignBottomIcon: string;
@@ -1,4 +1,5 @@
1
1
  import { Schema, Mode, ColorType } from '@pdfme/common';
2
+ import { IconNode } from 'lucide';
2
3
  export declare const convertForPdfLayoutProps: ({ schema, pageHeight, applyRotateTranslate, }: {
3
4
  schema: Schema;
4
5
  pageHeight: number;
@@ -116,3 +117,4 @@ export declare const hex2RgbColor: (hexString: string | undefined) => import("@p
116
117
  export declare const hex2PrintingColor: (hexString: string | undefined, colorType?: ColorType) => import("@pdfme/pdf-lib").RGB | import("@pdfme/pdf-lib").CMYK | undefined;
117
118
  export declare const readFile: (input: File | FileList | null) => Promise<string | ArrayBuffer>;
118
119
  export declare const createErrorElm: () => HTMLDivElement;
120
+ export declare const createSvgStr: (icon: IconNode, attrs?: Record<string, string>) => string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pdfme/schemas",
3
- "version": "5.2.4-dev.2",
3
+ "version": "5.2.5-dev.1",
4
4
  "sideEffects": false,
5
5
  "author": "hand-dot",
6
6
  "license": "MIT",
@@ -53,7 +53,8 @@
53
53
  "bwip-js": "^4.1.1",
54
54
  "date-fns": "^4.1.0",
55
55
  "fast-xml-parser": "^4.3.2",
56
- "fontkit": "^2.0.2"
56
+ "fontkit": "^2.0.2",
57
+ "lucide": "^0.460.0"
57
58
  },
58
59
  "devDependencies": {
59
60
  "@pdfme/common": "file:../common",
@@ -148,7 +148,15 @@ export const createBarCode = async (arg: {
148
148
 
149
149
  const bcid = barCodeType2Bcid(type);
150
150
  const scale = 5;
151
- const bwipjsArg: RenderOptions = { bcid, text: input, width, height, scale, includetext, textxalign: 'center' };
151
+ const bwipjsArg: RenderOptions = {
152
+ bcid,
153
+ text: input,
154
+ width,
155
+ height,
156
+ scale,
157
+ includetext,
158
+ textxalign: 'center',
159
+ };
152
160
 
153
161
  if (backgroundColor) bwipjsArg.backgroundcolor = mapHexColorForBwipJsLib(backgroundColor);
154
162
  if (barColor) bwipjsArg.barcolor = mapHexColorForBwipJsLib(barColor);
@@ -168,3 +176,4 @@ export const createBarCode = async (arg: {
168
176
 
169
177
  return res;
170
178
  };
179
+
@@ -3,10 +3,9 @@ import { getPropPanelByBarcodeType } from './propPanel.js';
3
3
  import { uiRender } from './uiRender.js';
4
4
  import type { BarcodeSchema, BarcodeTypes } from './types';
5
5
  import { BARCODE_TYPES } from './constants.js';
6
+ import { createSvgStr } from '../utils.js';
6
7
  import { Plugin } from '@pdfme/common';
7
-
8
- const qrIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-qr-code"><rect width="5" height="5" x="3" y="3" rx="1"/><rect width="5" height="5" x="16" y="3" rx="1"/><rect width="5" height="5" x="3" y="16" rx="1"/><path d="M21 16h-3a2 2 0 0 0-2 2v3"/><path d="M21 21v.01"/><path d="M12 7v3a2 2 0 0 1-2 2H7"/><path d="M3 12h.01"/><path d="M12 3h.01"/><path d="M12 16v.01"/><path d="M16 12h1"/><path d="M21 12v.01"/><path d="M12 21v-1"/></svg>';
9
- const barcodeIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-barcode"><path d="M3 5v14"/><path d="M8 5v14"/><path d="M12 5v14"/><path d="M17 5v14"/><path d="M21 5v14"/></svg>';
8
+ import { QrCode, Barcode } from 'lucide';
10
9
 
11
10
  const barcodes = BARCODE_TYPES.reduce(
12
11
  (acc, type) =>
@@ -15,7 +14,7 @@ const barcodes = BARCODE_TYPES.reduce(
15
14
  pdf: pdfRender,
16
15
  ui: uiRender,
17
16
  propPanel: getPropPanelByBarcodeType(type),
18
- icon: type == 'qrcode' ? qrIcon : barcodeIcon
17
+ icon: createSvgStr(type == 'qrcode' ? QrCode : Barcode),
19
18
  },
20
19
  }),
21
20
  {} as Record<BarcodeTypes, Plugin<BarcodeSchema>>
@@ -3,13 +3,13 @@ import { Schema } from '@pdfme/common';
3
3
  import svg from '../graphics/svg';
4
4
  import { isEditable } from '../utils.js';
5
5
  import { HEX_COLOR_PATTERN } from '../constants.js';
6
+ import { Square, SquareCheck } from 'lucide';
7
+ import { createSvgStr } from '../utils.js';
6
8
 
7
9
  const defaultStroke = 'currentColor';
8
10
 
9
- const getCheckedIcon = (color = defaultStroke) =>
10
- `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square-check"><rect width="18" height="18" x="3" y="3" rx="0"/><path d="m9 12 2 2 4-4"/></svg>`;
11
- const getUncheckedIcon = (color = defaultStroke) =>
12
- `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square"><rect width="18" height="18" x="3" y="3" rx="0"/></svg>`;
11
+ const getCheckedIcon = (stroke = defaultStroke) => createSvgStr(SquareCheck, { stroke });
12
+ const getUncheckedIcon = (stroke = defaultStroke) => createSvgStr(Square, { stroke });
13
13
 
14
14
  interface Checkbox extends Schema {
15
15
  color: string;
package/src/date/date.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import { Lang } from '@pdfme/common';
2
2
  import { getPlugin } from './helper';
3
+ import { createSvgStr } from '../utils.js';
4
+ import { Calendar } from 'lucide';
3
5
 
4
6
  const type = 'date';
5
7
 
@@ -47,12 +49,6 @@ const formatsByLang: Record<Lang, string[]> = {
47
49
  fr: [defaultFormat, 'dd/MM/yyyy', 'd MMMM yyyy', 'd MMM yyyy', 'EEEE d MMMM yyyy', 'yyyy-MM-dd'],
48
50
  };
49
51
 
50
- const icon =
51
- '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" ' +
52
- 'viewBox="0 0 24 24" fill="none" stroke="currentColor" ' +
53
- 'stroke-width="2" stroke-linecap="round" stroke-linejoin="round" ' +
54
- 'class="lucide lucide-calendar"><path d="M8 2v4"/><path d="M16 2v4"/>' +
55
- '<rect width="18" height="18" x="3" y="4" rx="2"/><path d="M3 10h18"/>' +
56
- '</svg>';
52
+ const icon = createSvgStr(Calendar);
57
53
 
58
54
  export default getPlugin({ type, defaultFormat, icon, formatsByLang });
@@ -1,5 +1,7 @@
1
1
  import { Lang } from '@pdfme/common';
2
2
  import { getPlugin } from './helper';
3
+ import { createSvgStr } from '../utils.js';
4
+ import { CalendarClock } from 'lucide';
3
5
 
4
6
  const type = 'dateTime';
5
7
 
@@ -94,7 +96,6 @@ const formatsByLang: Record<Lang, string[]> = {
94
96
  ],
95
97
  };
96
98
 
97
- const icon =
98
- '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar-clock"><path d="M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5"/><path d="M16 2v4"/><path d="M8 2v4"/><path d="M3 10h5"/><path d="M17.5 17.5 16 16.3V14"/><circle cx="16" cy="16" r="6"/></svg>';
99
+ const icon = createSvgStr(CalendarClock);
99
100
 
100
101
  export default getPlugin({ type, defaultFormat, icon, formatsByLang });
package/src/date/time.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import { Lang } from '@pdfme/common';
2
2
  import { getPlugin } from './helper';
3
+ import { createSvgStr } from '../utils.js';
4
+ import { Clock } from 'lucide';
3
5
 
4
6
  const type = 'time';
5
7
 
@@ -19,11 +21,6 @@ const formatsByLang: Record<Lang, string[]> = {
19
21
  fr: [defaultFormat, 'HH:mm:ss'],
20
22
  };
21
23
 
22
- const icon =
23
- '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" ' +
24
- 'viewBox="0 0 24 24" fill="none" stroke="currentColor" ' +
25
- 'stroke-width="2" stroke-linecap="round" stroke-linejoin="round" ' +
26
- 'class="lucide lucide-clock"><circle cx="12" cy="12" r="10"/>' +
27
- '<polyline points="12 6 12 12 16 14"/></svg>';
24
+ const icon = createSvgStr(Clock);
28
25
 
29
26
  export default getPlugin({ type, defaultFormat, icon, formatsByLang });
@@ -4,7 +4,14 @@ import type { Plugin } from '@pdfme/common';
4
4
  import type { PDFRenderProps, Schema } from '@pdfme/common';
5
5
  import type * as CSS from 'csstype';
6
6
  import { UIRenderProps, px2mm } from '@pdfme/common';
7
- import { convertForPdfLayoutProps, addAlphaToHex, isEditable, readFile } from '../utils.js';
7
+ import { Image } from 'lucide';
8
+ import {
9
+ convertForPdfLayoutProps,
10
+ addAlphaToHex,
11
+ isEditable,
12
+ readFile,
13
+ createSvgStr,
14
+ } from '../utils.js';
8
15
  import { DEFAULT_OPACITY } from '../constants.js';
9
16
  import { getImageDimension } from './imagehelper.js';
10
17
  import { isPdf, pdfToImage } from './pdfHelper.js';
@@ -193,7 +200,7 @@ const imageSchema: Plugin<ImageSchema> = {
193
200
  opacity: DEFAULT_OPACITY,
194
201
  },
195
202
  },
196
- icon: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-image"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/></svg>',
203
+ icon: createSvgStr(Image),
197
204
  };
198
205
 
199
- export default imageSchema;
206
+ export default imageSchema;
@@ -1,6 +1,13 @@
1
1
  import { Plugin, Schema } from '@pdfme/common';
2
2
  import { XMLValidator } from 'fast-xml-parser';
3
- import { convertForPdfLayoutProps, isEditable, addAlphaToHex, createErrorElm } from '../utils.js';
3
+ import {
4
+ convertForPdfLayoutProps,
5
+ isEditable,
6
+ addAlphaToHex,
7
+ createErrorElm,
8
+ createSvgStr,
9
+ } from '../utils.js';
10
+ import { Route } from 'lucide';
4
11
 
5
12
  const isValidSVG = (svgString: string) => XMLValidator.validate(svgString) === true;
6
13
 
@@ -80,7 +87,7 @@ const svgSchema: Plugin<SVGSchema> = {
80
87
  height: 50,
81
88
  },
82
89
  },
83
- icon: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-route"><circle cx="6" cy="19" r="3"/><path d="M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15"/><circle cx="18" cy="5" r="3"/></svg>',
90
+ icon: createSvgStr(Route),
84
91
  };
85
92
 
86
93
  export default svgSchema;
@@ -3,12 +3,14 @@ import { pdfRender } from './pdfRender.js';
3
3
  import { propPanel } from './propPanel.js';
4
4
  import { uiRender } from './uiRender.js';
5
5
  import type { MultiVariableTextSchema } from './types';
6
+ import { Type } from 'lucide';
7
+ import { createSvgStr } from '../utils.js';
6
8
 
7
9
  const schema: Plugin<MultiVariableTextSchema> = {
8
- pdf: pdfRender,
9
- ui: uiRender,
10
- propPanel,
11
- icon: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-type"><polyline points="4 7 4 4 20 4 20 7"/><line x1="9" x2="15" y1="20" y2="20"/><line x1="12" x2="12" y1="4" y2="20"/></svg>',
12
- uninterruptedEditMode: true
10
+ pdf: pdfRender,
11
+ ui: uiRender,
12
+ propPanel,
13
+ icon: createSvgStr(Type),
14
+ uninterruptedEditMode: true,
13
15
  };
14
16
  export default schema;
@@ -1,15 +1,14 @@
1
1
  import { Plugin } from '@pdfme/common';
2
2
  import { Schema } from '@pdfme/common';
3
+ import { Circle, CircleDot } from 'lucide';
3
4
  import svg from '../graphics/svg';
4
- import { isEditable } from '../utils.js';
5
+ import { isEditable, createSvgStr } from '../utils.js';
5
6
  import { HEX_COLOR_PATTERN } from '../constants.js';
6
7
 
7
8
  const defaultStroke = 'currentColor';
8
9
 
9
- const getCheckedIcon = (color = defaultStroke) =>
10
- `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-dot"><circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="1"/></svg>`;
11
- const getUncheckedIcon = (color = defaultStroke) =>
12
- `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle"><circle cx="12" cy="12" r="10"/></svg>`;
10
+ const getCheckedIcon = (stroke = defaultStroke) => createSvgStr(CircleDot, { stroke });
11
+ const getUncheckedIcon = (stroke = defaultStroke) => createSvgStr(Circle, { stroke });
13
12
 
14
13
  interface RadioGroup extends Schema {
15
14
  group: string;
@@ -35,7 +34,7 @@ const schema: Plugin<RadioGroup> = {
35
34
  const container = document.createElement('div');
36
35
  container.style.width = '100%';
37
36
  container.style.height = '100%';
38
-
37
+
39
38
  if (onChange) {
40
39
  radioButtonStates.set(schema.name, { value, onChange });
41
40
  }
@@ -3,9 +3,10 @@ import { propPanel as parentPropPanel } from '../text/propPanel';
3
3
  import { Plugin, PropPanelWidgetProps, SchemaForUI } from '@pdfme/common';
4
4
  import text from '../text';
5
5
  import { TextSchema } from '../text/types';
6
+ import { ChevronDown } from 'lucide';
7
+ import { createSvgStr } from '../utils.js';
6
8
 
7
- const selectIcon =
8
- '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down"><path d="m6 9 6 6 6-6"/></svg>';
9
+ const selectIcon = createSvgStr(ChevronDown);
9
10
 
10
11
  interface Select extends TextSchema {
11
12
  options: string[];
@@ -1,6 +1,12 @@
1
1
  import type { Schema, Plugin, PDFRenderProps, UIRenderProps } from '@pdfme/common';
2
- import { rotatePoint, convertForPdfLayoutProps, hex2PrintingColor } from '../utils.js';
2
+ import {
3
+ rotatePoint,
4
+ convertForPdfLayoutProps,
5
+ hex2PrintingColor,
6
+ createSvgStr,
7
+ } from '../utils.js';
3
8
  import { HEX_COLOR_PATTERN } from '../constants.js';
9
+ import { Minus } from 'lucide';
4
10
 
5
11
  const DEFAULT_LINE_COLOR = '#000000';
6
12
 
@@ -60,6 +66,6 @@ const lineSchema: Plugin<LineSchema> = {
60
66
  color: DEFAULT_LINE_COLOR,
61
67
  },
62
68
  },
63
- icon:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-minus"><path d="M5 12h14"/></svg>',
69
+ icon: createSvgStr(Minus),
64
70
  };
65
71
  export default lineSchema;
@@ -1,6 +1,7 @@
1
1
  import { Plugin, Schema, mm2pt } from '@pdfme/common';
2
2
  import { HEX_COLOR_PATTERN } from '../constants.js';
3
- import { hex2PrintingColor, convertForPdfLayoutProps } from '../utils.js';
3
+ import { hex2PrintingColor, convertForPdfLayoutProps, createSvgStr } from '../utils.js';
4
+ import { Circle, Square } from 'lucide';
4
5
 
5
6
  interface ShapeSchema extends Schema {
6
7
  type: 'ellipse' | 'rectangle';
@@ -102,11 +103,6 @@ const shape: Plugin<ShapeSchema> = {
102
103
  },
103
104
  };
104
105
 
105
- const rectangleIcon =
106
- '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square"><rect width="18" height="18" x="3" y="3" rx="2"/></svg>';
107
- const ellipseIcon =
108
- '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle"><circle cx="12" cy="12" r="10"/></svg>';
109
-
110
106
  const getPropPanelSchema = (type: 'rectangle' | 'ellipse') => ({
111
107
  ...shape.propPanel,
112
108
  defaultSchema: {
@@ -118,11 +114,11 @@ const getPropPanelSchema = (type: 'rectangle' | 'ellipse') => ({
118
114
  export const rectangle = {
119
115
  ...shape,
120
116
  propPanel: getPropPanelSchema('rectangle'),
121
- icon: rectangleIcon
117
+ icon: createSvgStr(Square),
122
118
  };
123
119
 
124
120
  export const ellipse = {
125
121
  ...shape,
126
122
  propPanel: getPropPanelSchema('ellipse'),
127
- icon: ellipseIcon
123
+ icon: createSvgStr(Circle),
128
124
  };
@@ -3,11 +3,13 @@ import type { TableSchema } from './types.js';
3
3
  import { pdfRender } from './pdfRender.js';
4
4
  import { uiRender } from './uiRender.js';
5
5
  import { propPanel } from './propPanel.js';
6
+ import { Table } from 'lucide';
7
+ import { createSvgStr } from '../utils.js';
6
8
 
7
9
  const tableSchema: Plugin<TableSchema> = {
8
10
  pdf: pdfRender,
9
11
  ui: uiRender,
10
12
  propPanel,
11
- icon: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-table"><path d="M12 3v18"/><rect width="18" height="18" x="3" y="3" rx="2"/><path d="M3 9h18"/><path d="M3 15h18"/></svg>',
13
+ icon: createSvgStr(Table),
12
14
  };
13
15
  export default tableSchema;
@@ -1,17 +1,27 @@
1
- // svg icons are material icons from https://www.xicons.org
1
+ import {
2
+ Strikethrough,
3
+ Underline,
4
+ AlignLeft,
5
+ AlignCenter,
6
+ AlignRight,
7
+ ArrowUpToLine,
8
+ ArrowDownToLine,
9
+ } from 'lucide';
10
+ import { createSvgStr } from '../../utils.js';
2
11
 
3
- export const TextStrikethroughIcon = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path d="M6.85 7.08C6.85 4.37 9.45 3 12.24 3c1.64 0 3 .49 3.9 1.28c.77.65 1.46 1.73 1.46 3.24h-3.01c0-.31-.05-.59-.15-.85c-.29-.86-1.2-1.28-2.25-1.28c-1.86 0-2.34 1.02-2.34 1.7c0 .48.25.88.74 1.21c.38.25.77.48 1.41.7H7.39c-.21-.34-.54-.89-.54-1.92zM21 12v-2H3v2h9.62c1.15.45 1.96.75 1.96 1.97c0 1-.81 1.67-2.28 1.67c-1.54 0-2.93-.54-2.93-2.51H6.4c0 .55.08 1.13.24 1.58c.81 2.29 3.29 3.3 5.67 3.3c2.27 0 5.3-.89 5.3-4.05c0-.3-.01-1.16-.48-1.94H21V12z" fill="currentColor"></path></svg>`;
12
+ export const TextStrikethroughIcon = createSvgStr(Strikethrough);
4
13
 
5
- export const TextUnderlineIcon = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path d="M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z" fill="currentColor"></path></svg>`;
14
+ export const TextUnderlineIcon = createSvgStr(Underline);
6
15
 
7
- export const TextAlignLeftIcon = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path d="M15 15H3v2h12v-2zm0-8H3v2h12V7zM3 13h18v-2H3v2zm0 8h18v-2H3v2zM3 3v2h18V3H3z" fill="currentColor"></path></svg>`;
16
+ export const TextAlignLeftIcon = createSvgStr(AlignLeft);
8
17
 
9
- export const TextAlignCenterIcon = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path d="M7 15v2h10v-2H7zm-4 6h18v-2H3v2zm0-8h18v-2H3v2zm4-6v2h10V7H7zM3 3v2h18V3H3z" fill="currentColor"></path></svg>`;
18
+ export const TextAlignCenterIcon = createSvgStr(AlignCenter);
10
19
 
11
- export const TextAlignRightIcon = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path d="M3 21h18v-2H3v2zm6-4h12v-2H9v2zm-6-4h18v-2H3v2zm6-4h12V7H9v2zM3 3v2h18V3H3z" fill="currentColor"></path></svg>`;
20
+ export const TextAlignRightIcon = createSvgStr(AlignRight);
12
21
 
13
- export const TextVerticalAlignTopIcon = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path d="M8 11h3v10h2V11h3l-4-4l-4 4zM4 3v2h16V3H4z" fill="currentColor"></path></svg>`;
22
+ export const TextVerticalAlignTopIcon = createSvgStr(ArrowUpToLine);
14
23
 
24
+ // svg icons are material icons from https://www.xicons.org
15
25
  export const TextVerticalAlignMiddleIcon = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path d="M8 19h3v4h2v-4h3l-4-4l-4 4zm8-14h-3V1h-2v4H8l4 4l4-4zM4 11v2h16v-2H4z" fill="currentColor"></path></svg>`;
16
26
 
17
- export const TextVerticalAlignBottomIcon = `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path d="M16 13h-3V3h-2v10H8l4 4l4-4zM4 19v2h16v-2H4z" fill="currentColor"></path></svg>`;
27
+ export const TextVerticalAlignBottomIcon = createSvgStr(ArrowDownToLine);
package/src/text/index.ts CHANGED
@@ -3,12 +3,14 @@ import { pdfRender } from './pdfRender.js';
3
3
  import { propPanel } from './propPanel.js';
4
4
  import { uiRender } from './uiRender.js';
5
5
  import type { TextSchema } from './types';
6
+ import { TextCursorInput } from 'lucide';
7
+ import { createSvgStr } from '../utils.js';
6
8
 
7
9
  const textSchema: Plugin<TextSchema> = {
8
10
  pdf: pdfRender,
9
11
  ui: uiRender,
10
12
  propPanel,
11
- icon: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-text-cursor-input"><path d="M5 4h1a3 3 0 0 1 3 3 3 3 0 0 1 3-3h1"/><path d="M13 20h-1a3 3 0 0 1-3-3 3 3 0 0 1-3 3H5"/><path d="M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1"/><path d="M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7"/><path d="M9 7v10"/></svg>',
13
+ icon: createSvgStr(TextCursorInput),
12
14
  };
13
15
 
14
- export default textSchema;
16
+ export default textSchema;
package/src/utils.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import type * as CSS from 'csstype';
2
2
  import { cmyk, degrees, degreesToRadians, rgb } from '@pdfme/pdf-lib';
3
3
  import { Schema, mm2pt, Mode, isHexValid, ColorType } from '@pdfme/common';
4
+ import { IconNode, createElement } from 'lucide';
4
5
  import { getDynamicHeightsForTable as _getDynamicHeightsForTable } from './tables/dynamicTemplate.js';
5
-
6
6
  export const convertForPdfLayoutProps = ({
7
7
  schema,
8
8
  pageHeight,
@@ -208,3 +208,16 @@ export const createErrorElm = () => {
208
208
 
209
209
  return container;
210
210
  };
211
+
212
+ export const createSvgStr = (icon: IconNode, attrs?: Record<string, string>): string => {
213
+ if (typeof window === 'undefined') {
214
+ return '';
215
+ }
216
+ const svg = createElement(icon);
217
+ if (attrs) {
218
+ Object.entries(attrs).forEach(([key, value]) => {
219
+ svg.setAttribute(key, value);
220
+ });
221
+ }
222
+ return new XMLSerializer().serializeToString(svg);
223
+ };