@pdfme/schemas 6.1.0 → 6.1.1-dev.11

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 (62) hide show
  1. package/dist/{builtins-C0BvXHWr.js → builtins-Clh58o_b.js} +313 -483
  2. package/dist/builtins-Clh58o_b.js.map +1 -0
  3. package/dist/builtins.d.ts +1 -1
  4. package/dist/builtins.js +1 -1
  5. package/dist/checkbox/index.d.ts +2 -2
  6. package/dist/dynamicLayout.d.ts +4 -0
  7. package/dist/dynamicLayout.js +20 -0
  8. package/dist/dynamicLayout.js.map +1 -0
  9. package/dist/dynamicTemplate-CB2Hj9cN.js +65 -0
  10. package/dist/dynamicTemplate-CB2Hj9cN.js.map +1 -0
  11. package/dist/{dynamicTemplate-Dsrw11aL.js → dynamicTemplate-CjbGepw4.js} +24 -358
  12. package/dist/dynamicTemplate-CjbGepw4.js.map +1 -0
  13. package/dist/dynamicTemplate-Fn7mpUsu.js +114 -0
  14. package/dist/dynamicTemplate-Fn7mpUsu.js.map +1 -0
  15. package/dist/graphics/image.d.ts +1 -1
  16. package/dist/graphics/signature.d.ts +1 -1
  17. package/dist/helper-BJzBqIT4.js +40 -0
  18. package/dist/helper-BJzBqIT4.js.map +1 -0
  19. package/dist/index.d.ts +5 -2
  20. package/dist/index.js +847 -205
  21. package/dist/index.js.map +1 -1
  22. package/dist/list/constants.d.ts +10 -0
  23. package/dist/list/dynamicTemplate.d.ts +2 -0
  24. package/dist/list/helper.d.ts +15 -0
  25. package/dist/list/index.d.ts +4 -0
  26. package/dist/list/pdfRender.d.ts +3 -0
  27. package/dist/list/propPanel.d.ts +3 -0
  28. package/dist/list/types.d.ts +31 -0
  29. package/dist/list/uiRender.d.ts +3 -0
  30. package/dist/lists.d.ts +4 -0
  31. package/dist/lists.js +3 -0
  32. package/dist/measure-Bjmh9Ro3.js +585 -0
  33. package/dist/measure-Bjmh9Ro3.js.map +1 -0
  34. package/dist/multiVariableText/dynamicTemplate.d.ts +2 -0
  35. package/dist/radioGroup/index.d.ts +2 -2
  36. package/dist/select/index.d.ts +2 -2
  37. package/dist/shapes/line.d.ts +1 -1
  38. package/dist/shapes/rectAndEllipse.d.ts +1 -2
  39. package/dist/splitRange-CpXivbmJ.js +398 -0
  40. package/dist/splitRange-CpXivbmJ.js.map +1 -0
  41. package/dist/splitRange.d.ts +16 -0
  42. package/dist/tables/dynamicTemplate.d.ts +2 -1
  43. package/dist/tables/helper.d.ts +8 -8
  44. package/dist/tables.d.ts +2 -1
  45. package/dist/tables.js +3 -2
  46. package/dist/text/constants.d.ts +3 -0
  47. package/dist/text/dynamicTemplate.d.ts +2 -0
  48. package/dist/text/linkAnnotation.d.ts +14 -0
  49. package/dist/text/measure.d.ts +26 -0
  50. package/dist/text/overflow.d.ts +7 -0
  51. package/dist/text/richTextPdfRender.d.ts +2 -1
  52. package/dist/text/types.d.ts +3 -0
  53. package/dist/texts.d.ts +5 -0
  54. package/dist/texts.js +4 -0
  55. package/dist/types.d.ts +15 -0
  56. package/dist/types.js +0 -0
  57. package/dist/utils.d.ts +1 -0
  58. package/dist/utils.js +3 -2
  59. package/dist/utils.js.map +1 -1
  60. package/package.json +21 -1
  61. package/dist/builtins-C0BvXHWr.js.map +0 -1
  62. package/dist/dynamicTemplate-Dsrw11aL.js.map +0 -1
@@ -1,4 +1,4 @@
1
1
  import type { Plugin, Schema } from '@pdfme/common';
2
- type SignatureSchema = Schema;
2
+ export type SignatureSchema = Schema;
3
3
  declare const signature: Plugin<SignatureSchema>;
4
4
  export default signature;
@@ -0,0 +1,40 @@
1
+ import { p as escapeInlineMarkdown } from "./measure-Bjmh9Ro3.js";
2
+ //#region src/multiVariableText/helper.ts
3
+ var substituteVariables = (text, variablesIn, valueMapper = (value) => value) => {
4
+ if (!text) return "";
5
+ let substitutedText = text;
6
+ if (variablesIn) {
7
+ let variables;
8
+ try {
9
+ variables = typeof variablesIn === "string" ? JSON.parse(variablesIn || "{}") : variablesIn;
10
+ } catch {
11
+ throw new SyntaxError(`[@pdfme/schemas] MVT: invalid JSON string '${variablesIn}'`);
12
+ }
13
+ Object.keys(variables).forEach((variableName) => {
14
+ const variableForRegex = variableName.replace(/[/\-\\^$*+?.()|[\]{}]/g, "\\$&");
15
+ const regex = new RegExp("\\{" + variableForRegex + "\\}", "g");
16
+ substitutedText = substitutedText.replace(regex, valueMapper(variables[variableName], variableName));
17
+ });
18
+ }
19
+ substitutedText = substitutedText.replace(/{[^{}]+}/g, "");
20
+ return substitutedText;
21
+ };
22
+ var substituteVariablesAsInlineMarkdownLiterals = (text, variablesIn) => substituteVariables(text, variablesIn, escapeInlineMarkdown);
23
+ var validateVariables = (value, schema) => {
24
+ if (schema.variables.length === 0) return true;
25
+ let values;
26
+ try {
27
+ values = value ? JSON.parse(value) : {};
28
+ } catch {
29
+ throw new SyntaxError(`[@pdfme/generator] invalid JSON string '${value}' for variables in field ${schema.name}`);
30
+ }
31
+ for (const variable of schema.variables) if (!values[variable]) {
32
+ if (schema.required) throw new Error(`[@pdfme/generator] variable ${variable} is missing for field ${schema.name}`);
33
+ return false;
34
+ }
35
+ return true;
36
+ };
37
+ //#endregion
38
+ export { substituteVariablesAsInlineMarkdownLiterals as n, validateVariables as r, substituteVariables as t };
39
+
40
+ //# sourceMappingURL=helper-BJzBqIT4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper-BJzBqIT4.js","names":[],"sources":["../src/multiVariableText/helper.ts"],"sourcesContent":["import { MultiVariableTextSchema } from './types.js';\nimport { escapeInlineMarkdown } from '../text/inlineMarkdown.js';\n\nexport const substituteVariables = (\n text: string,\n variablesIn: string | Record<string, string>,\n valueMapper: (value: string, variableName: string) => string = (value) => value,\n): string => {\n if (!text) {\n return '';\n }\n\n let substitutedText = text;\n\n if (variablesIn) {\n let variables: Record<string, string>;\n try {\n variables =\n typeof variablesIn === 'string'\n ? (JSON.parse(variablesIn || '{}') as Record<string, string>)\n : variablesIn;\n } catch {\n throw new SyntaxError(`[@pdfme/schemas] MVT: invalid JSON string '${variablesIn as string}'`);\n }\n\n Object.keys(variables).forEach((variableName) => {\n // handle special characters in variable name\n const variableForRegex = variableName.replace(/[/\\-\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n const regex = new RegExp('\\\\{' + variableForRegex + '\\\\}', 'g');\n substitutedText = substitutedText.replace(\n regex,\n valueMapper(variables[variableName], variableName),\n );\n });\n }\n\n // Remove any variables that were not substituted from inputs\n substitutedText = substitutedText.replace(/{[^{}]+}/g, '');\n\n return substitutedText;\n};\n\nexport const substituteVariablesAsInlineMarkdownLiterals = (\n text: string,\n variablesIn: string | Record<string, string>,\n): string => substituteVariables(text, variablesIn, escapeInlineMarkdown);\n\nexport const validateVariables = (value: string, schema: MultiVariableTextSchema): boolean => {\n if (schema.variables.length === 0) {\n return true;\n }\n\n let values;\n try {\n values = value ? (JSON.parse(value) as Record<string, string>) : {};\n } catch {\n throw new SyntaxError(\n `[@pdfme/generator] invalid JSON string '${value}' for variables in field ${schema.name}`,\n );\n }\n\n for (const variable of schema.variables) {\n if (!values[variable]) {\n if (schema.required) {\n throw new Error(\n `[@pdfme/generator] variable ${variable} is missing for field ${schema.name}`,\n );\n }\n // If not required, then simply don't render this field if an input is missing\n return false;\n }\n }\n\n return true;\n};\n"],"mappings":";;AAGA,IAAa,uBACX,MACA,aACA,eAAgE,UAAU,UAC/D;AACX,KAAI,CAAC,KACH,QAAO;CAGT,IAAI,kBAAkB;AAEtB,KAAI,aAAa;EACf,IAAI;AACJ,MAAI;AACF,eACE,OAAO,gBAAgB,WAClB,KAAK,MAAM,eAAe,KAAK,GAChC;UACA;AACN,SAAM,IAAI,YAAY,8CAA8C,YAAsB,GAAG;;AAG/F,SAAO,KAAK,UAAU,CAAC,SAAS,iBAAiB;GAE/C,MAAM,mBAAmB,aAAa,QAAQ,0BAA0B,OAAO;GAC/E,MAAM,QAAQ,IAAI,OAAO,QAAQ,mBAAmB,OAAO,IAAI;AAC/D,qBAAkB,gBAAgB,QAChC,OACA,YAAY,UAAU,eAAe,aAAa,CACnD;IACD;;AAIJ,mBAAkB,gBAAgB,QAAQ,aAAa,GAAG;AAE1D,QAAO;;AAGT,IAAa,+CACX,MACA,gBACW,oBAAoB,MAAM,aAAa,qBAAqB;AAEzE,IAAa,qBAAqB,OAAe,WAA6C;AAC5F,KAAI,OAAO,UAAU,WAAW,EAC9B,QAAO;CAGT,IAAI;AACJ,KAAI;AACF,WAAS,QAAS,KAAK,MAAM,MAAM,GAA8B,EAAE;SAC7D;AACN,QAAM,IAAI,YACR,2CAA2C,MAAM,2BAA2B,OAAO,OACpF;;AAGH,MAAK,MAAM,YAAY,OAAO,UAC5B,KAAI,CAAC,OAAO,WAAW;AACrB,MAAI,OAAO,SACT,OAAM,IAAI,MACR,+BAA+B,SAAS,wBAAwB,OAAO,OACxE;AAGH,SAAO;;AAIX,QAAO"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import multiVariableText from './multiVariableText/index.js';
2
2
  import text from './text/index.js';
3
+ import list from './list/index.js';
3
4
  import image from './graphics/image.js';
4
5
  import signature from './graphics/signature.js';
5
6
  import svg from './graphics/svg.js';
@@ -14,5 +15,7 @@ import select from './select/index.js';
14
15
  import radioGroup from './radioGroup/index.js';
15
16
  import checkbox from './checkbox/index.js';
16
17
  export { builtInPlugins } from './builtins.js';
17
- export { text, multiVariableText, image, signature, svg, table, barcodes, line, rectangle, ellipse, dateTime, date, time, select, radioGroup, checkbox, };
18
- export { getDynamicHeightsForTable } from './tables.js';
18
+ export { text, multiVariableText, list, image, signature, svg, table, barcodes, line, rectangle, ellipse, dateTime, date, time, select, radioGroup, checkbox, };
19
+ export { getDynamicHeightsForTable, getDynamicLayoutForTable } from './tables.js';
20
+ export { getDynamicLayoutForList } from './lists.js';
21
+ export { BUILT_IN_DYNAMIC_LAYOUT_SPLIT_UNITS, LIST_ITEM_SPLIT_UNIT, TABLE_BODY_SPLIT_UNIT, TEXT_LINE_SPLIT_UNIT, createListItemSplitRange, createTableBodySplitRange, createTextLineSplitRange, getListItemRange, getTableBodyRange, getTextLineRange, type BuiltInDynamicLayoutSplitUnit, } from './splitRange.js';