@pdfme/schemas 5.3.8-dev.29 → 5.3.8-dev.36
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/cjs/__tests__/barcode.test.js +115 -113
- package/dist/cjs/__tests__/barcode.test.js.map +1 -1
- package/dist/cjs/__tests__/multiVariableText.test.js +15 -15
- package/dist/cjs/__tests__/multiVariableText.test.js.map +1 -1
- package/dist/cjs/__tests__/text.test.js +71 -71
- package/dist/cjs/__tests__/text.test.js.map +1 -1
- package/dist/cjs/src/date/helper.js +99 -67
- package/dist/cjs/src/date/helper.js.map +1 -1
- package/dist/cjs/src/graphics/svg.js +25 -2
- package/dist/cjs/src/graphics/svg.js.map +1 -1
- package/dist/cjs/src/multiVariableText/propPanel.js +5 -5
- package/dist/cjs/src/multiVariableText/propPanel.js.map +1 -1
- package/dist/cjs/src/select/index.js +9 -9
- package/dist/cjs/src/select/index.js.map +1 -1
- package/dist/cjs/src/text/extraFormatter.js +14 -14
- package/dist/cjs/src/text/extraFormatter.js.map +1 -1
- package/dist/cjs/src/utils.js +52 -13
- package/dist/cjs/src/utils.js.map +1 -1
- package/dist/esm/__tests__/barcode.test.js +8 -6
- package/dist/esm/__tests__/barcode.test.js.map +1 -1
- package/dist/esm/__tests__/multiVariableText.test.js +1 -1
- package/dist/esm/__tests__/multiVariableText.test.js.map +1 -1
- package/dist/esm/__tests__/text.test.js +2 -2
- package/dist/esm/__tests__/text.test.js.map +1 -1
- package/dist/esm/src/date/helper.js +66 -34
- package/dist/esm/src/date/helper.js.map +1 -1
- package/dist/esm/src/graphics/svg.js +25 -2
- package/dist/esm/src/graphics/svg.js.map +1 -1
- package/dist/esm/src/multiVariableText/propPanel.js +1 -1
- package/dist/esm/src/multiVariableText/propPanel.js.map +1 -1
- package/dist/esm/src/select/index.js +2 -2
- package/dist/esm/src/select/index.js.map +1 -1
- package/dist/esm/src/text/extraFormatter.js +2 -2
- package/dist/esm/src/text/extraFormatter.js.map +1 -1
- package/dist/esm/src/utils.js +52 -13
- package/dist/esm/src/utils.js.map +1 -1
- package/dist/node/__tests__/barcode.test.js +121 -124
- package/dist/node/__tests__/barcode.test.js.map +1 -1
- package/dist/node/__tests__/multiVariableText.test.js +15 -17
- package/dist/node/__tests__/multiVariableText.test.js.map +1 -1
- package/dist/node/__tests__/text.test.js +77 -102
- package/dist/node/__tests__/text.test.js.map +1 -1
- package/dist/node/__tests__/utils.test.js +33 -35
- package/dist/node/__tests__/utils.test.js.map +1 -1
- package/dist/node/src/barcodes/constants.js +4 -7
- package/dist/node/src/barcodes/constants.js.map +1 -1
- package/dist/node/src/barcodes/helper.js +16 -26
- package/dist/node/src/barcodes/helper.js.map +1 -1
- package/dist/node/src/barcodes/index.js +12 -14
- package/dist/node/src/barcodes/index.js.map +1 -1
- package/dist/node/src/barcodes/pdfRender.js +6 -10
- package/dist/node/src/barcodes/pdfRender.js.map +1 -1
- package/dist/node/src/barcodes/propPanel.js +20 -24
- package/dist/node/src/barcodes/propPanel.js.map +1 -1
- package/dist/node/src/barcodes/types.js +1 -2
- package/dist/node/src/barcodes/uiRender.js +8 -12
- package/dist/node/src/barcodes/uiRender.js.map +1 -1
- package/dist/node/src/checkbox/index.js +12 -17
- package/dist/node/src/checkbox/index.js.map +1 -1
- package/dist/node/src/constants.js +2 -5
- package/dist/node/src/constants.js.map +1 -1
- package/dist/node/src/date/date.js +5 -7
- package/dist/node/src/date/date.js.map +1 -1
- package/dist/node/src/date/dateTime.js +5 -7
- package/dist/node/src/date/dateTime.js.map +1 -1
- package/dist/node/src/date/helper.js +135 -133
- package/dist/node/src/date/helper.js.map +1 -1
- package/dist/node/src/date/time.js +5 -7
- package/dist/node/src/date/time.js.map +1 -1
- package/dist/node/src/date/types.js +1 -2
- package/dist/node/src/graphics/cacheKey.js +1 -5
- package/dist/node/src/graphics/cacheKey.js.map +1 -1
- package/dist/node/src/graphics/image.js +15 -17
- package/dist/node/src/graphics/image.js.map +1 -1
- package/dist/node/src/graphics/imagehelper.js +3 -7
- package/dist/node/src/graphics/imagehelper.js.map +1 -1
- package/dist/node/src/graphics/svg.js +35 -14
- package/dist/node/src/graphics/svg.js.map +1 -1
- package/dist/node/src/index.js +18 -37
- package/dist/node/src/index.js.map +1 -1
- package/dist/node/src/multiVariableText/helper.js +2 -7
- package/dist/node/src/multiVariableText/helper.js.map +1 -1
- package/dist/node/src/multiVariableText/index.js +10 -12
- package/dist/node/src/multiVariableText/index.js.map +1 -1
- package/dist/node/src/multiVariableText/pdfRender.js +6 -10
- package/dist/node/src/multiVariableText/pdfRender.js.map +1 -1
- package/dist/node/src/multiVariableText/propPanel.js +6 -9
- package/dist/node/src/multiVariableText/propPanel.js.map +1 -1
- package/dist/node/src/multiVariableText/types.js +1 -2
- package/dist/node/src/multiVariableText/uiRender.js +13 -17
- package/dist/node/src/multiVariableText/uiRender.js.map +1 -1
- package/dist/node/src/radioGroup/index.js +11 -16
- package/dist/node/src/radioGroup/index.js.map +1 -1
- package/dist/node/src/select/index.js +13 -18
- package/dist/node/src/select/index.js.map +1 -1
- package/dist/node/src/shapes/line.js +10 -12
- package/dist/node/src/shapes/line.js.map +1 -1
- package/dist/node/src/shapes/rectAndEllipse.js +18 -21
- package/dist/node/src/shapes/rectAndEllipse.js.map +1 -1
- package/dist/node/src/tables/cell.js +15 -20
- package/dist/node/src/tables/cell.js.map +1 -1
- package/dist/node/src/tables/classes.js +11 -18
- package/dist/node/src/tables/classes.js.map +1 -1
- package/dist/node/src/tables/dynamicTemplate.js +5 -9
- package/dist/node/src/tables/dynamicTemplate.js.map +1 -1
- package/dist/node/src/tables/helper.js +27 -35
- package/dist/node/src/tables/helper.js.map +1 -1
- package/dist/node/src/tables/index.js +10 -12
- package/dist/node/src/tables/index.js.map +1 -1
- package/dist/node/src/tables/pdfRender.js +9 -16
- package/dist/node/src/tables/pdfRender.js.map +1 -1
- package/dist/node/src/tables/propPanel.js +12 -15
- package/dist/node/src/tables/propPanel.js.map +1 -1
- package/dist/node/src/tables/tableHelper.js +11 -15
- package/dist/node/src/tables/tableHelper.js.map +1 -1
- package/dist/node/src/tables/types.js +1 -2
- package/dist/node/src/tables/uiRender.js +15 -22
- package/dist/node/src/tables/uiRender.js.map +1 -1
- package/dist/node/src/text/constants.js +22 -25
- package/dist/node/src/text/constants.js.map +1 -1
- package/dist/node/src/text/extraFormatter.js +17 -21
- package/dist/node/src/text/extraFormatter.js.map +1 -1
- package/dist/node/src/text/helper.js +48 -85
- package/dist/node/src/text/helper.js.map +1 -1
- package/dist/node/src/text/icons/index.js +11 -14
- package/dist/node/src/text/icons/index.js.map +1 -1
- package/dist/node/src/text/index.js +10 -12
- package/dist/node/src/text/index.js.map +1 -1
- package/dist/node/src/text/pdfRender.js +32 -36
- package/dist/node/src/text/pdfRender.js.map +1 -1
- package/dist/node/src/text/propPanel.js +22 -25
- package/dist/node/src/text/propPanel.js.map +1 -1
- package/dist/node/src/text/types.js +1 -2
- package/dist/node/src/text/uiRender.js +34 -42
- package/dist/node/src/text/uiRender.js.map +1 -1
- package/dist/node/src/utils.js +78 -51
- package/dist/node/src/utils.js.map +1 -1
- package/dist/types/src/barcodes/helper.d.ts +1 -1
- package/dist/types/src/barcodes/index.d.ts +1 -1
- package/dist/types/src/date/types.d.ts +5 -0
- package/dist/types/src/multiVariableText/propPanel.d.ts +1 -1
- package/dist/types/src/select/index.d.ts +1 -1
- package/dist/types/src/text/constants.d.ts +1 -1
- package/dist/types/src/text/helper.d.ts +1 -1
- package/dist/types/src/text/index.d.ts +1 -1
- package/dist/types/src/text/pdfRender.d.ts +1 -1
- package/dist/types/src/text/uiRender.d.ts +1 -1
- package/package.json +3 -3
- package/src/barcodes/helper.ts +1 -1
- package/src/barcodes/index.ts +1 -1
- package/src/date/helper.ts +79 -38
- package/src/date/types.ts +6 -0
- package/src/graphics/svg.ts +27 -2
- package/src/multiVariableText/propPanel.ts +2 -2
- package/src/select/index.ts +3 -3
- package/src/tables/uiRender.ts +1 -1
- package/src/text/constants.ts +1 -1
- package/src/text/extraFormatter.ts +2 -2
- package/src/text/helper.ts +1 -1
- package/src/text/index.ts +1 -1
- package/src/text/pdfRender.ts +1 -1
- package/src/text/uiRender.ts +1 -1
- package/src/utils.ts +62 -19
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pdfRender.js","sourceRoot":"","sources":["../../../../src/text/pdfRender.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"pdfRender.js","sourceRoot":"","sources":["../../../../src/text/pdfRender.ts"],"names":[],"mappings":"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"}
|
@@ -1,10 +1,7 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
const constants_js_1 = require("./constants.js");
|
6
|
-
const constants_js_2 = require("../constants.js");
|
7
|
-
const extraFormatter_js_1 = require("./extraFormatter.js");
|
1
|
+
import { DEFAULT_FONT_NAME, getFallbackFontName, } from '@pdfme/common';
|
2
|
+
import { DEFAULT_FONT_SIZE, DEFAULT_ALIGNMENT, DEFAULT_VERTICAL_ALIGNMENT, DEFAULT_CHARACTER_SPACING, DEFAULT_LINE_HEIGHT, DEFAULT_FONT_COLOR, DYNAMIC_FIT_VERTICAL, DYNAMIC_FIT_HORIZONTAL, DEFAULT_DYNAMIC_FIT, DEFAULT_DYNAMIC_MIN_FONT_SIZE, DEFAULT_DYNAMIC_MAX_FONT_SIZE, } from './constants.js';
|
3
|
+
import { DEFAULT_OPACITY, HEX_COLOR_PATTERN } from '../constants.js';
|
4
|
+
import { getExtraFormatterSchema } from './extraFormatter.js';
|
8
5
|
const UseDynamicFontSize = (props) => {
|
9
6
|
const { rootElement, changeSchemas, activeSchema, i18n } = props;
|
10
7
|
const checkbox = document.createElement('input');
|
@@ -13,9 +10,9 @@ const UseDynamicFontSize = (props) => {
|
|
13
10
|
checkbox.onchange = (e) => {
|
14
11
|
const val = e.target.checked
|
15
12
|
? {
|
16
|
-
min:
|
17
|
-
max:
|
18
|
-
fit:
|
13
|
+
min: DEFAULT_DYNAMIC_MIN_FONT_SIZE,
|
14
|
+
max: DEFAULT_DYNAMIC_MAX_FONT_SIZE,
|
15
|
+
fit: DEFAULT_DYNAMIC_FIT,
|
19
16
|
}
|
20
17
|
: undefined;
|
21
18
|
changeSchemas([{ key: 'dynamicFontSize', value: val, schemaId: activeSchema.id }]);
|
@@ -29,11 +26,11 @@ const UseDynamicFontSize = (props) => {
|
|
29
26
|
label.appendChild(span);
|
30
27
|
rootElement.appendChild(label);
|
31
28
|
};
|
32
|
-
|
29
|
+
export const propPanel = {
|
33
30
|
schema: ({ options, activeSchema, i18n }) => {
|
34
|
-
const font = options.font || { [
|
31
|
+
const font = options.font || { [DEFAULT_FONT_NAME]: { data: '', fallback: true } };
|
35
32
|
const fontNames = Object.keys(font);
|
36
|
-
const fallbackFontName =
|
33
|
+
const fallbackFontName = getFallbackFontName(font);
|
37
34
|
const enableDynamicFont = Boolean(activeSchema?.dynamicFontSize);
|
38
35
|
const textSchema = {
|
39
36
|
fontName: {
|
@@ -60,7 +57,7 @@ exports.propPanel = {
|
|
60
57
|
span: 6,
|
61
58
|
props: { min: 0 },
|
62
59
|
},
|
63
|
-
formatter:
|
60
|
+
formatter: getExtraFormatterSchema(i18n),
|
64
61
|
lineHeight: {
|
65
62
|
title: i18n('schemas.text.lineHeight'),
|
66
63
|
type: 'number',
|
@@ -95,8 +92,8 @@ exports.propPanel = {
|
|
95
92
|
hidden: !enableDynamicFont,
|
96
93
|
props: {
|
97
94
|
options: [
|
98
|
-
{ label: i18n('schemas.horizontal'), value:
|
99
|
-
{ label: i18n('schemas.vertical'), value:
|
95
|
+
{ label: i18n('schemas.horizontal'), value: DYNAMIC_FIT_HORIZONTAL },
|
96
|
+
{ label: i18n('schemas.vertical'), value: DYNAMIC_FIT_VERTICAL },
|
100
97
|
],
|
101
98
|
},
|
102
99
|
},
|
@@ -111,7 +108,7 @@ exports.propPanel = {
|
|
111
108
|
},
|
112
109
|
rules: [
|
113
110
|
{
|
114
|
-
pattern:
|
111
|
+
pattern: HEX_COLOR_PATTERN,
|
115
112
|
message: i18n('validation.hexColor'),
|
116
113
|
},
|
117
114
|
],
|
@@ -125,7 +122,7 @@ exports.propPanel = {
|
|
125
122
|
},
|
126
123
|
rules: [
|
127
124
|
{
|
128
|
-
pattern:
|
125
|
+
pattern: HEX_COLOR_PATTERN,
|
129
126
|
message: i18n('validation.hexColor'),
|
130
127
|
},
|
131
128
|
],
|
@@ -144,16 +141,16 @@ exports.propPanel = {
|
|
144
141
|
// If the value of "rotate" is set to undefined or not set at all, rotation will be disabled in the UI.
|
145
142
|
// Check this document: https://pdfme.com//docs/custom-schemas#learning-how-to-create-from-pdfmeschemas-code
|
146
143
|
rotate: 0,
|
147
|
-
alignment:
|
148
|
-
verticalAlignment:
|
149
|
-
fontSize:
|
150
|
-
lineHeight:
|
151
|
-
characterSpacing:
|
144
|
+
alignment: DEFAULT_ALIGNMENT,
|
145
|
+
verticalAlignment: DEFAULT_VERTICAL_ALIGNMENT,
|
146
|
+
fontSize: DEFAULT_FONT_SIZE,
|
147
|
+
lineHeight: DEFAULT_LINE_HEIGHT,
|
148
|
+
characterSpacing: DEFAULT_CHARACTER_SPACING,
|
152
149
|
dynamicFontSize: undefined,
|
153
|
-
fontColor:
|
150
|
+
fontColor: DEFAULT_FONT_COLOR,
|
154
151
|
fontName: undefined,
|
155
152
|
backgroundColor: '',
|
156
|
-
opacity:
|
153
|
+
opacity: DEFAULT_OPACITY,
|
157
154
|
strikethrough: false,
|
158
155
|
underline: false,
|
159
156
|
},
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"propPanel.js","sourceRoot":"","sources":["../../../../src/text/propPanel.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"propPanel.js","sourceRoot":"","sources":["../../../../src/text/propPanel.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAIjB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,EAC1B,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,MAAM,kBAAkB,GAAG,CAAC,KAA2B,EAAE,EAAE;IACzD,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAEjE,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACjD,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;IAC3B,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAE,YAAoB,EAAE,eAAe,CAAC,CAAC;IACnE,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAM,EAAE,EAAE;QAC7B,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO;YAC1B,CAAC,CAAC;gBACE,GAAG,EAAE,6BAA6B;gBAClC,GAAG,EAAE,6BAA6B;gBAClC,GAAG,EAAE,mBAAmB;aACzB;YACH,CAAC,CAAC,SAAS,CAAC;QACd,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,CAAC;IAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,qBAAqB,CAAC;IAC3C,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,6BAA6B,CAAC;IACpD,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5B,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxB,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAA0B;IAC9C,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;QACnF,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAEnD,MAAM,iBAAiB,GAAG,OAAO,CAAE,YAAoB,EAAE,eAAe,CAAC,CAAC;QAE1E,MAAM,UAAU,GAAoC;YAClD,QAAQ,EAAE;gBACR,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC;gBACpC,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,gBAAgB;gBACzB,WAAW,EAAE,gBAAgB;gBAC7B,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;gBAC3E,IAAI,EAAE,EAAE;aACT;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC;gBAChC,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,aAAa;gBACrB,IAAI,EAAE,CAAC;gBACP,QAAQ,EAAE,iBAAiB;gBAC3B,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;aAClB;YACD,gBAAgB,EAAE;gBAChB,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC;gBACnC,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,aAAa;gBACrB,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;aAClB;YACD,SAAS,EAAE,uBAAuB,CAAC,IAAI,CAAC;YACxC,UAAU,EAAE;gBACV,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC;gBACtC,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,aAAa;gBACrB,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE;gBAC5B,IAAI,EAAE,CAAC;aACR;YACD,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YAC5F,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,CAAC;gBACT,UAAU,EAAE;oBACV,GAAG,EAAE;wBACH,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC;wBAC/B,IAAI,EAAE,QAAQ;wBACd,MAAM,EAAE,aAAa;wBACrB,MAAM,EAAE,CAAC,iBAAiB;wBAC1B,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;qBAClB;oBACD,GAAG,EAAE;wBACH,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC;wBAC/B,IAAI,EAAE,QAAQ;wBACd,MAAM,EAAE,aAAa;wBACrB,MAAM,EAAE,CAAC,iBAAiB;wBAC1B,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;qBAClB;oBACD,GAAG,EAAE;wBACH,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC;wBAC/B,IAAI,EAAE,QAAQ;wBACd,MAAM,EAAE,QAAQ;wBAChB,MAAM,EAAE,CAAC,iBAAiB;wBAC1B,KAAK,EAAE;4BACL,OAAO,EAAE;gCACP,EAAE,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE;gCACpE,EAAE,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE;6BACjE;yBACF;qBACF;iBACF;aACF;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC;gBAChC,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE;oBACL,aAAa,EAAE,IAAI;iBACpB;gBACD,KAAK,EAAE;oBACL;wBACE,OAAO,EAAE,iBAAiB;wBAC1B,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC;qBACrC;iBACF;aACF;YACD,eAAe,EAAE;gBACf,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC;gBAC9B,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE;oBACL,aAAa,EAAE,IAAI;iBACpB;gBACD,KAAK,EAAE;oBACL;wBACE,OAAO,EAAE,iBAAiB;wBAC1B,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC;qBACrC;iBACF;aACF;SACF,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,EAAE,EAAE,kBAAkB,EAAE;IAC/B,aAAa,EAAE;QACb,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,mBAAmB;QAC5B,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QACxB,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,uGAAuG;QACvG,4GAA4G;QAC5G,MAAM,EAAE,CAAC;QACT,SAAS,EAAE,iBAAiB;QAC5B,iBAAiB,EAAE,0BAA0B;QAC7C,QAAQ,EAAE,iBAAiB;QAC3B,UAAU,EAAE,mBAAmB;QAC/B,gBAAgB,EAAE,yBAAyB;QAC3C,eAAe,EAAE,SAAS;QAC1B,SAAS,EAAE,kBAAkB;QAC7B,QAAQ,EAAE,SAAS;QACnB,eAAe,EAAE,EAAE;QACnB,OAAO,EAAE,eAAe;QACxB,aAAa,EAAE,KAAK;QACpB,SAAS,EAAE,KAAK;KACjB;CACF,CAAC"}
|
@@ -1,10 +1,7 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
const constants_js_1 = require("./constants.js");
|
6
|
-
const helper_js_1 = require("./helper.js");
|
7
|
-
const utils_js_1 = require("../utils.js");
|
1
|
+
import { getDefaultFont } from '@pdfme/common';
|
2
|
+
import { DEFAULT_FONT_SIZE, DEFAULT_ALIGNMENT, VERTICAL_ALIGN_TOP, VERTICAL_ALIGN_MIDDLE, VERTICAL_ALIGN_BOTTOM, DEFAULT_VERTICAL_ALIGNMENT, DEFAULT_LINE_HEIGHT, DEFAULT_CHARACTER_SPACING, DEFAULT_FONT_COLOR, PLACEHOLDER_FONT_COLOR, } from './constants.js';
|
3
|
+
import { calculateDynamicFontSize, getFontKitFont, getBrowserVerticalFontAdjustments, isFirefox, } from './helper.js';
|
4
|
+
import { isEditable } from '../utils.js';
|
8
5
|
const replaceUnsupportedChars = (text, fontKitFont) => {
|
9
6
|
const charSupportCache = {};
|
10
7
|
const isCharSupported = (char) => {
|
@@ -33,9 +30,9 @@ const replaceUnsupportedChars = (text, fontKitFont) => {
|
|
33
30
|
})
|
34
31
|
.join('');
|
35
32
|
};
|
36
|
-
const uiRender = async (arg) => {
|
33
|
+
export const uiRender = async (arg) => {
|
37
34
|
const { value, schema, mode, onChange, stopEditing, tabIndex, placeholder, options, _cache } = arg;
|
38
|
-
const usePlaceholder =
|
35
|
+
const usePlaceholder = isEditable(mode, schema) && placeholder && !value;
|
39
36
|
const getText = (element) => {
|
40
37
|
let text = element.innerText;
|
41
38
|
if (text.endsWith('\n')) {
|
@@ -44,11 +41,11 @@ const uiRender = async (arg) => {
|
|
44
41
|
}
|
45
42
|
return text;
|
46
43
|
};
|
47
|
-
const font = options?.font ||
|
48
|
-
const fontKitFont = await
|
49
|
-
const textBlock =
|
44
|
+
const font = options?.font || getDefaultFont();
|
45
|
+
const fontKitFont = await getFontKitFont(schema.fontName, font, _cache);
|
46
|
+
const textBlock = buildStyledTextContainer(arg, fontKitFont, usePlaceholder ? placeholder : value);
|
50
47
|
const processedText = replaceUnsupportedChars(value, fontKitFont);
|
51
|
-
if (!
|
48
|
+
if (!isEditable(mode, schema)) {
|
52
49
|
// Read-only mode
|
53
50
|
textBlock.innerHTML = processedText
|
54
51
|
.split('')
|
@@ -56,7 +53,7 @@ const uiRender = async (arg) => {
|
|
56
53
|
.join('');
|
57
54
|
return;
|
58
55
|
}
|
59
|
-
|
56
|
+
makeElementPlainTextContentEditable(textBlock);
|
60
57
|
textBlock.tabIndex = tabIndex || 0;
|
61
58
|
textBlock.innerText = mode === 'designer' ? value : processedText;
|
62
59
|
textBlock.addEventListener('blur', (e) => {
|
@@ -70,14 +67,14 @@ const uiRender = async (arg) => {
|
|
70
67
|
void (async () => {
|
71
68
|
if (!textBlock.textContent)
|
72
69
|
return;
|
73
|
-
dynamicFontSize =
|
70
|
+
dynamicFontSize = calculateDynamicFontSize({
|
74
71
|
textSchema: schema,
|
75
72
|
fontKitFont,
|
76
73
|
value: getText(textBlock),
|
77
74
|
startingFontSize: dynamicFontSize,
|
78
75
|
});
|
79
76
|
textBlock.style.fontSize = `${dynamicFontSize}pt`;
|
80
|
-
const { topAdj: newTopAdj, bottomAdj: newBottomAdj } =
|
77
|
+
const { topAdj: newTopAdj, bottomAdj: newBottomAdj } = getBrowserVerticalFontAdjustments(fontKitFont, dynamicFontSize ?? schema.fontSize ?? DEFAULT_FONT_SIZE, schema.lineHeight ?? DEFAULT_LINE_HEIGHT, schema.verticalAlignment ?? DEFAULT_VERTICAL_ALIGNMENT);
|
81
78
|
textBlock.style.paddingTop = `${newTopAdj}px`;
|
82
79
|
textBlock.style.marginBottom = `${newBottomAdj}px`;
|
83
80
|
})();
|
@@ -85,11 +82,11 @@ const uiRender = async (arg) => {
|
|
85
82
|
});
|
86
83
|
}
|
87
84
|
if (usePlaceholder) {
|
88
|
-
textBlock.style.color =
|
85
|
+
textBlock.style.color = PLACEHOLDER_FONT_COLOR;
|
89
86
|
textBlock.addEventListener('focus', () => {
|
90
87
|
if (textBlock.innerText === placeholder) {
|
91
88
|
textBlock.innerText = '';
|
92
|
-
textBlock.style.color = schema.fontColor ??
|
89
|
+
textBlock.style.color = schema.fontColor ?? DEFAULT_FONT_COLOR;
|
93
90
|
}
|
94
91
|
});
|
95
92
|
}
|
@@ -108,13 +105,12 @@ const uiRender = async (arg) => {
|
|
108
105
|
});
|
109
106
|
}
|
110
107
|
};
|
111
|
-
|
112
|
-
const buildStyledTextContainer = (arg, fontKitFont, value) => {
|
108
|
+
export const buildStyledTextContainer = (arg, fontKitFont, value) => {
|
113
109
|
const { schema, rootElement, mode, options, _cache } = arg;
|
114
|
-
const font = options?.font ||
|
110
|
+
const font = options?.font || getDefaultFont();
|
115
111
|
let dynamicFontSize = undefined;
|
116
112
|
if (schema.dynamicFontSize && value) {
|
117
|
-
dynamicFontSize =
|
113
|
+
dynamicFontSize = calculateDynamicFontSize({
|
118
114
|
textSchema: schema,
|
119
115
|
fontKitFont,
|
120
116
|
value,
|
@@ -123,21 +119,21 @@ const buildStyledTextContainer = (arg, fontKitFont, value) => {
|
|
123
119
|
}
|
124
120
|
// Depending on vertical alignment, we need to move the top or bottom of the font to keep
|
125
121
|
// it within it's defined box and align it with the generated pdf.
|
126
|
-
const { topAdj, bottomAdj } =
|
122
|
+
const { topAdj, bottomAdj } = getBrowserVerticalFontAdjustments(fontKitFont, dynamicFontSize ?? schema.fontSize ?? DEFAULT_FONT_SIZE, schema.lineHeight ?? DEFAULT_LINE_HEIGHT, schema.verticalAlignment ?? DEFAULT_VERTICAL_ALIGNMENT);
|
127
123
|
const topAdjustment = topAdj.toString();
|
128
124
|
const bottomAdjustment = bottomAdj.toString();
|
129
125
|
const container = document.createElement('div');
|
130
126
|
const containerStyle = {
|
131
127
|
padding: 0,
|
132
128
|
resize: 'none',
|
133
|
-
backgroundColor:
|
129
|
+
backgroundColor: getBackgroundColor(value, schema),
|
134
130
|
border: 'none',
|
135
131
|
display: 'flex',
|
136
132
|
flexDirection: 'column',
|
137
|
-
justifyContent:
|
133
|
+
justifyContent: mapVerticalAlignToFlex(schema.verticalAlignment),
|
138
134
|
width: '100%',
|
139
135
|
height: '100%',
|
140
|
-
cursor:
|
136
|
+
cursor: isEditable(mode, schema) ? 'text' : 'default',
|
141
137
|
};
|
142
138
|
Object.assign(container.style, containerStyle);
|
143
139
|
rootElement.innerHTML = '';
|
@@ -151,11 +147,11 @@ const buildStyledTextContainer = (arg, fontKitFont, value) => {
|
|
151
147
|
const textBlockStyle = {
|
152
148
|
// Font formatting styles
|
153
149
|
fontFamily: schema.fontName ? `'${schema.fontName}'` : 'inherit',
|
154
|
-
color: schema.fontColor ? schema.fontColor :
|
155
|
-
fontSize: `${dynamicFontSize ?? schema.fontSize ??
|
156
|
-
letterSpacing: `${schema.characterSpacing ??
|
157
|
-
lineHeight: `${schema.lineHeight ??
|
158
|
-
textAlign: schema.alignment ??
|
150
|
+
color: schema.fontColor ? schema.fontColor : DEFAULT_FONT_COLOR,
|
151
|
+
fontSize: `${dynamicFontSize ?? schema.fontSize ?? DEFAULT_FONT_SIZE}pt`,
|
152
|
+
letterSpacing: `${schema.characterSpacing ?? DEFAULT_CHARACTER_SPACING}pt`,
|
153
|
+
lineHeight: `${schema.lineHeight ?? DEFAULT_LINE_HEIGHT}em`,
|
154
|
+
textAlign: schema.alignment ?? DEFAULT_ALIGNMENT,
|
159
155
|
whiteSpace: 'pre-wrap',
|
160
156
|
wordBreak: 'break-word',
|
161
157
|
// Block layout styles
|
@@ -173,13 +169,12 @@ const buildStyledTextContainer = (arg, fontKitFont, value) => {
|
|
173
169
|
container.appendChild(textBlock);
|
174
170
|
return textBlock;
|
175
171
|
};
|
176
|
-
exports.buildStyledTextContainer = buildStyledTextContainer;
|
177
172
|
/**
|
178
173
|
* Firefox doesn't support 'plaintext-only' contentEditable mode, which we want to avoid mark-up.
|
179
174
|
* This function adds a workaround for Firefox to make the contentEditable element behave like 'plaintext-only'.
|
180
175
|
*/
|
181
|
-
const makeElementPlainTextContentEditable = (element) => {
|
182
|
-
if (!
|
176
|
+
export const makeElementPlainTextContentEditable = (element) => {
|
177
|
+
if (!isFirefox()) {
|
183
178
|
element.contentEditable = 'plaintext-only';
|
184
179
|
return;
|
185
180
|
}
|
@@ -201,23 +196,20 @@ const makeElementPlainTextContentEditable = (element) => {
|
|
201
196
|
selection.collapseToEnd();
|
202
197
|
});
|
203
198
|
};
|
204
|
-
|
205
|
-
const mapVerticalAlignToFlex = (verticalAlignmentValue) => {
|
199
|
+
export const mapVerticalAlignToFlex = (verticalAlignmentValue) => {
|
206
200
|
switch (verticalAlignmentValue) {
|
207
|
-
case
|
201
|
+
case VERTICAL_ALIGN_TOP:
|
208
202
|
return 'flex-start';
|
209
|
-
case
|
203
|
+
case VERTICAL_ALIGN_MIDDLE:
|
210
204
|
return 'center';
|
211
|
-
case
|
205
|
+
case VERTICAL_ALIGN_BOTTOM:
|
212
206
|
return 'flex-end';
|
213
207
|
}
|
214
208
|
return 'flex-start';
|
215
209
|
};
|
216
|
-
|
217
|
-
const getBackgroundColor = (value, schema) => {
|
210
|
+
export const getBackgroundColor = (value, schema) => {
|
218
211
|
if (!value || !schema.backgroundColor)
|
219
212
|
return 'transparent';
|
220
213
|
return schema.backgroundColor;
|
221
214
|
};
|
222
|
-
exports.getBackgroundColor = getBackgroundColor;
|
223
215
|
//# sourceMappingURL=uiRender.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"uiRender.js","sourceRoot":"","sources":["../../../../src/text/uiRender.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"uiRender.js","sourceRoot":"","sources":["../../../../src/text/uiRender.ts"],"names":[],"mappings":"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"}
|
package/dist/node/src/utils.js
CHANGED
@@ -1,25 +1,22 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
const
|
5
|
-
const common_1 = require("@pdfme/common");
|
6
|
-
const dynamicTemplate_js_1 = require("./tables/dynamicTemplate.js");
|
7
|
-
const convertForPdfLayoutProps = ({ schema, pageHeight, applyRotateTranslate = true, }) => {
|
1
|
+
import { cmyk, degrees, degreesToRadians, rgb } from '@pdfme/pdf-lib';
|
2
|
+
import { mm2pt, isHexValid } from '@pdfme/common';
|
3
|
+
import { getDynamicHeightsForTable as _getDynamicHeightsForTable } from './tables/dynamicTemplate.js';
|
4
|
+
export const convertForPdfLayoutProps = ({ schema, pageHeight, applyRotateTranslate = true, }) => {
|
8
5
|
const { width: mmWidth, height: mmHeight, position, rotate, opacity } = schema;
|
9
6
|
const { x: mmX, y: mmY } = position;
|
10
7
|
const rotateDegrees = rotate ? -rotate : 0;
|
11
|
-
const width =
|
12
|
-
const height =
|
13
|
-
let x =
|
8
|
+
const width = mm2pt(mmWidth);
|
9
|
+
const height = mm2pt(mmHeight);
|
10
|
+
let x = mm2pt(mmX);
|
14
11
|
// PDF coordinate system is from bottom left, UI is top left, so we need to flip the y axis
|
15
|
-
let y = pageHeight -
|
12
|
+
let y = pageHeight - mm2pt(mmY) - height;
|
16
13
|
if (rotateDegrees && applyRotateTranslate) {
|
17
14
|
// If rotating we must pivot around the same point as the UI performs its rotation.
|
18
15
|
// The UI performs rotation around the objects center point (the pivot point below),
|
19
16
|
// pdflib rotates around the bottom left corner of the object.
|
20
17
|
// We must therefore adjust the X and Y by rotating the bottom left corner by this pivot point.
|
21
|
-
const pivotPoint = { x: x + width / 2, y: pageHeight -
|
22
|
-
const rotatedPoint =
|
18
|
+
const pivotPoint = { x: x + width / 2, y: pageHeight - mm2pt(mmY) - height / 2 };
|
19
|
+
const rotatedPoint = rotatePoint({ x, y }, pivotPoint, rotateDegrees);
|
23
20
|
x = rotatedPoint.x;
|
24
21
|
y = rotatedPoint.y;
|
25
22
|
}
|
@@ -27,13 +24,12 @@ const convertForPdfLayoutProps = ({ schema, pageHeight, applyRotateTranslate = t
|
|
27
24
|
position: { x, y },
|
28
25
|
height: height,
|
29
26
|
width: width,
|
30
|
-
rotate:
|
27
|
+
rotate: degrees(rotateDegrees),
|
31
28
|
opacity,
|
32
29
|
};
|
33
30
|
};
|
34
|
-
|
35
|
-
const
|
36
|
-
const angleRadians = (0, pdf_lib_1.degreesToRadians)(angleDegrees);
|
31
|
+
export const rotatePoint = (point, pivot, angleDegrees) => {
|
32
|
+
const angleRadians = degreesToRadians(angleDegrees);
|
37
33
|
const x = Math.cos(angleRadians) * (point.x - pivot.x) -
|
38
34
|
Math.sin(angleRadians) * (point.y - pivot.y) +
|
39
35
|
pivot.x;
|
@@ -42,10 +38,9 @@ const rotatePoint = (point, pivot, angleDegrees) => {
|
|
42
38
|
pivot.y;
|
43
39
|
return { x, y };
|
44
40
|
};
|
45
|
-
|
46
|
-
exports.getDynamicHeightsForTable = dynamicTemplate_js_1.getDynamicHeightsForTable;
|
41
|
+
export const getDynamicHeightsForTable = _getDynamicHeightsForTable;
|
47
42
|
// ----------------------------------------
|
48
|
-
const addAlphaToHex = (hex, alphaPercentage) => {
|
43
|
+
export const addAlphaToHex = (hex, alphaPercentage) => {
|
49
44
|
if (!/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/i.test(hex)) {
|
50
45
|
throw new Error('Invalid HEX color code');
|
51
46
|
}
|
@@ -55,9 +50,7 @@ const addAlphaToHex = (hex, alphaPercentage) => {
|
|
55
50
|
alphaHex = '0' + alphaHex;
|
56
51
|
return hex + alphaHex;
|
57
52
|
};
|
58
|
-
|
59
|
-
const isEditable = (mode, schema) => mode === 'designer' || (mode === 'form' && schema.readOnly !== true);
|
60
|
-
exports.isEditable = isEditable;
|
53
|
+
export const isEditable = (mode, schema) => mode === 'designer' || (mode === 'form' && schema.readOnly !== true);
|
61
54
|
const hex2rgb = (hex) => {
|
62
55
|
if (hex.slice(0, 1) === '#')
|
63
56
|
hex = hex.slice(1);
|
@@ -71,21 +64,20 @@ const hex2rgb = (hex) => {
|
|
71
64
|
hex.slice(2, 3);
|
72
65
|
return [hex.slice(0, 2), hex.slice(2, 4), hex.slice(4, 6)].map((str) => parseInt(str, 16));
|
73
66
|
};
|
74
|
-
const hex2RgbColor = (hexString) => {
|
67
|
+
export const hex2RgbColor = (hexString) => {
|
75
68
|
if (hexString) {
|
76
|
-
const isValid =
|
69
|
+
const isValid = isHexValid(hexString);
|
77
70
|
if (!isValid) {
|
78
71
|
throw new Error(`Invalid hex color value ${hexString}`);
|
79
72
|
}
|
80
73
|
const [r, g, b] = hex2rgb(hexString);
|
81
|
-
return
|
74
|
+
return rgb(r / 255, g / 255, b / 255);
|
82
75
|
}
|
83
76
|
return undefined;
|
84
77
|
};
|
85
|
-
exports.hex2RgbColor = hex2RgbColor;
|
86
78
|
const hex2CmykColor = (hexString) => {
|
87
79
|
if (hexString) {
|
88
|
-
const isValid =
|
80
|
+
const isValid = isHexValid(hexString);
|
89
81
|
if (!isValid) {
|
90
82
|
throw new Error(`Invalid hex color value ${hexString}`);
|
91
83
|
}
|
@@ -108,20 +100,19 @@ const hex2CmykColor = (hexString) => {
|
|
108
100
|
const c = r === 0 ? 0 : (1 - r - k) / (1 - k);
|
109
101
|
const m = g === 0 ? 0 : (1 - g - k) / (1 - k);
|
110
102
|
const y = b === 0 ? 0 : (1 - b - k) / (1 - k);
|
111
|
-
return
|
103
|
+
return cmyk(c, m, y, k);
|
112
104
|
}
|
113
105
|
return undefined;
|
114
106
|
};
|
115
|
-
const hex2PrintingColor = (color, colorType) => {
|
107
|
+
export const hex2PrintingColor = (color, colorType) => {
|
116
108
|
// if color is already CMYK, RGB or Grayscale, does not required to convert
|
117
109
|
if (typeof color === 'object')
|
118
110
|
return color;
|
119
111
|
return colorType?.toLowerCase() == 'cmyk'
|
120
112
|
? hex2CmykColor(color)
|
121
|
-
:
|
113
|
+
: hex2RgbColor(color);
|
122
114
|
};
|
123
|
-
|
124
|
-
const readFile = (input) => new Promise((resolve, reject) => {
|
115
|
+
export const readFile = (input) => new Promise((resolve, reject) => {
|
125
116
|
const fileReader = new FileReader();
|
126
117
|
fileReader.onload = (e) => {
|
127
118
|
if (e.target?.result) {
|
@@ -145,8 +136,7 @@ const readFile = (input) => new Promise((resolve, reject) => {
|
|
145
136
|
reject(new Error('[@pdfme/schemas] No files provided'));
|
146
137
|
}
|
147
138
|
});
|
148
|
-
|
149
|
-
const createErrorElm = () => {
|
139
|
+
export const createErrorElm = () => {
|
150
140
|
const container = document.createElement('div');
|
151
141
|
const containerStyle = {
|
152
142
|
display: 'flex',
|
@@ -171,25 +161,62 @@ const createErrorElm = () => {
|
|
171
161
|
container.appendChild(span);
|
172
162
|
return container;
|
173
163
|
};
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
164
|
+
export const createSvgStr = (icon, attrs) => {
|
165
|
+
// In lucide 0.475.0, the icon is an array of elements, not a single SVG element
|
166
|
+
// We need to create an SVG wrapper and add the elements as children
|
167
|
+
// Handle non-array input
|
168
|
+
if (!Array.isArray(icon)) {
|
169
|
+
return String(icon);
|
170
|
+
}
|
171
|
+
// Create default SVG attributes
|
172
|
+
const svgAttrs = {
|
173
|
+
xmlns: "http://www.w3.org/2000/svg",
|
174
|
+
width: "24",
|
175
|
+
height: "24",
|
176
|
+
viewBox: "0 0 24 24",
|
177
|
+
fill: "none",
|
178
|
+
stroke: "currentColor",
|
179
|
+
"stroke-width": "2",
|
180
|
+
"stroke-linecap": "round",
|
181
|
+
"stroke-linejoin": "round",
|
182
|
+
...(attrs || {})
|
183
|
+
};
|
184
|
+
// Format SVG attributes string
|
185
|
+
const svgAttrString = Object.entries(svgAttrs)
|
186
|
+
.map(([key, value]) => `${key}="${value}"`)
|
187
|
+
.join(' ');
|
188
|
+
// Helper function to process a single element
|
189
|
+
const processElement = (element) => {
|
190
|
+
if (!Array.isArray(element)) {
|
191
|
+
return String(element);
|
179
192
|
}
|
180
|
-
const [tag, attributes = {}, children = []] =
|
181
|
-
|
182
|
-
|
183
|
-
const
|
184
|
-
const attrString = Object.entries(mergedAttributes || {})
|
193
|
+
const [tag, attributes = {}, children = []] = element;
|
194
|
+
const tagName = String(tag);
|
195
|
+
// Format attributes string
|
196
|
+
const attrString = Object.entries(attributes)
|
185
197
|
.map(([key, value]) => `${key}="${value}"`)
|
186
198
|
.join(' ');
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
199
|
+
// Process children recursively
|
200
|
+
let childrenString = '';
|
201
|
+
if (Array.isArray(children) && children.length > 0) {
|
202
|
+
childrenString = children
|
203
|
+
.map(child => processElement(child))
|
204
|
+
.join('');
|
205
|
+
}
|
206
|
+
// Return properly formatted element string
|
207
|
+
if (childrenString) {
|
208
|
+
return `<${tagName}${attrString ? ' ' + attrString : ''}>${childrenString}</${tagName}>`;
|
209
|
+
}
|
210
|
+
else {
|
211
|
+
// Self-closing tag for empty children
|
212
|
+
return `<${tagName}${attrString ? ' ' + attrString : ''}/>`;
|
213
|
+
}
|
191
214
|
};
|
192
|
-
|
215
|
+
// Process all elements and join them
|
216
|
+
const elementsString = Array.isArray(icon)
|
217
|
+
? icon.map(element => processElement(element)).join('')
|
218
|
+
: processElement(icon);
|
219
|
+
// Return the complete SVG string
|
220
|
+
return `<svg ${svgAttrString}>${elementsString}</svg>`;
|
193
221
|
};
|
194
|
-
exports.createSvgStr = createSvgStr;
|
195
222
|
//# sourceMappingURL=utils.js.map
|