pretext-pdf 2.0.2 → 2.0.14
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/CHANGELOG.md +239 -0
- package/dist/assets/loaders/images.d.ts.map +1 -1
- package/dist/assets/loaders/images.js +4 -1
- package/dist/assets/loaders/images.js.map +1 -1
- package/dist/assets/security/path-allowlist.d.ts.map +1 -1
- package/dist/assets/security/path-allowlist.js +10 -1
- package/dist/assets/security/path-allowlist.js.map +1 -1
- package/dist/assets/svg/resolve-content.d.ts.map +1 -1
- package/dist/assets/svg/resolve-content.js +4 -1
- package/dist/assets/svg/resolve-content.js.map +1 -1
- package/dist/builder.js +1 -1
- package/dist/builder.js.map +1 -1
- package/dist/compat/normalize.d.ts +13 -0
- package/dist/compat/normalize.d.ts.map +1 -0
- package/dist/compat/normalize.js +146 -0
- package/dist/compat/normalize.js.map +1 -0
- package/dist/compat/pdfmake-types.d.ts +91 -0
- package/dist/compat/pdfmake-types.d.ts.map +1 -0
- package/dist/compat/pdfmake-types.js +8 -0
- package/dist/compat/pdfmake-types.js.map +1 -0
- package/dist/compat/translate.d.ts +7 -0
- package/dist/compat/translate.d.ts.map +1 -0
- package/dist/compat/translate.js +205 -0
- package/dist/compat/translate.js.map +1 -0
- package/dist/compat.d.ts +6 -161
- package/dist/compat.d.ts.map +1 -1
- package/dist/compat.js +13 -404
- package/dist/compat.js.map +1 -1
- package/dist/fonts/bundled-paths.d.ts +13 -0
- package/dist/fonts/bundled-paths.d.ts.map +1 -0
- package/dist/fonts/bundled-paths.js +43 -0
- package/dist/fonts/bundled-paths.js.map +1 -0
- package/dist/fonts/collect-needed.d.ts +10 -0
- package/dist/fonts/collect-needed.d.ts.map +1 -0
- package/dist/fonts/collect-needed.js +85 -0
- package/dist/fonts/collect-needed.js.map +1 -0
- package/dist/fonts/collect-text.d.ts +9 -0
- package/dist/fonts/collect-text.d.ts.map +1 -0
- package/dist/fonts/collect-text.js +162 -0
- package/dist/fonts/collect-text.js.map +1 -0
- package/dist/fonts/load-bytes.d.ts +10 -0
- package/dist/fonts/load-bytes.d.ts.map +1 -0
- package/dist/fonts/load-bytes.js +56 -0
- package/dist/fonts/load-bytes.js.map +1 -0
- package/dist/fonts.d.ts +11 -10
- package/dist/fonts.d.ts.map +1 -1
- package/dist/fonts.js +17 -421
- package/dist/fonts.js.map +1 -1
- package/dist/pipeline-footnotes.d.ts +2 -2
- package/dist/pipeline-footnotes.d.ts.map +1 -1
- package/dist/pipeline-footnotes.js +5 -2
- package/dist/pipeline-footnotes.js.map +1 -1
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +9 -5
- package/dist/pipeline.js.map +1 -1
- package/dist/render-utils.d.ts +1 -7
- package/dist/render-utils.d.ts.map +1 -1
- package/dist/render-utils.js +9 -30
- package/dist/render-utils.js.map +1 -1
- package/dist/schema/document.d.ts +2115 -0
- package/dist/schema/document.d.ts.map +1 -0
- package/dist/schema/document.js +275 -0
- package/dist/schema/document.js.map +1 -0
- package/dist/schema/elements-block.d.ts +481 -0
- package/dist/schema/elements-block.d.ts.map +1 -0
- package/dist/schema/elements-block.js +155 -0
- package/dist/schema/elements-block.js.map +1 -0
- package/dist/schema/elements-media.d.ts +282 -0
- package/dist/schema/elements-media.d.ts.map +1 -0
- package/dist/schema/elements-media.js +83 -0
- package/dist/schema/elements-media.js.map +1 -0
- package/dist/schema/elements-table.d.ts +134 -0
- package/dist/schema/elements-table.d.ts.map +1 -0
- package/dist/schema/elements-table.js +60 -0
- package/dist/schema/elements-table.js.map +1 -0
- package/dist/schema/elements-text.d.ts +782 -0
- package/dist/schema/elements-text.d.ts.map +1 -0
- package/dist/schema/elements-text.js +260 -0
- package/dist/schema/elements-text.js.map +1 -0
- package/dist/schema/shared.d.ts +84 -0
- package/dist/schema/shared.d.ts.map +1 -0
- package/dist/schema/shared.js +29 -0
- package/dist/schema/shared.js.map +1 -0
- package/dist/schema.d.ts +10 -2116
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +10 -852
- package/dist/schema.js.map +1 -1
- package/dist/types-public/document.d.ts +99 -101
- package/dist/types-public/document.d.ts.map +1 -1
- package/dist/validate/document.d.ts.map +1 -1
- package/dist/validate/document.js +5 -1
- package/dist/validate/document.js.map +1 -1
- package/dist/validate/elements/media.d.ts.map +1 -1
- package/dist/validate/elements/media.js +14 -0
- package/dist/validate/elements/media.js.map +1 -1
- package/dist/validate/helpers.d.ts +6 -6
- package/dist/validate/helpers.d.ts.map +1 -1
- package/dist/validate/helpers.js +7 -7
- package/dist/validate/helpers.js.map +1 -1
- package/dist/vendor/pretext/VERSION.d.ts +2 -2
- package/dist/vendor/pretext/VERSION.js +2 -2
- package/dist/vendor/pretext/layout.d.ts.map +1 -1
- package/dist/vendor/pretext/layout.js +90 -15
- package/dist/vendor/pretext/layout.js.map +1 -1
- package/dist/vendor/pretext/line-text.d.ts.map +1 -1
- package/dist/vendor/pretext/line-text.js +4 -5
- package/dist/vendor/pretext/line-text.js.map +1 -1
- package/dist/vendor/pretext/measurement.d.ts +2 -1
- package/dist/vendor/pretext/measurement.d.ts.map +1 -1
- package/dist/vendor/pretext/measurement.js +14 -18
- package/dist/vendor/pretext/measurement.js.map +1 -1
- package/dist/vendor/pretext/rich-inline.d.ts.map +1 -1
- package/dist/vendor/pretext/rich-inline.js +31 -42
- package/dist/vendor/pretext/rich-inline.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,481 @@
|
|
|
1
|
+
export declare const spacerSchema: {
|
|
2
|
+
readonly type: "object";
|
|
3
|
+
readonly required: readonly ["type", "height"];
|
|
4
|
+
readonly properties: {
|
|
5
|
+
readonly type: {
|
|
6
|
+
readonly type: "string";
|
|
7
|
+
readonly const: "spacer";
|
|
8
|
+
};
|
|
9
|
+
readonly height: {
|
|
10
|
+
readonly type: "number";
|
|
11
|
+
readonly description: "Height in pt";
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export declare const hrSchema: {
|
|
16
|
+
readonly type: "object";
|
|
17
|
+
readonly required: readonly ["type"];
|
|
18
|
+
readonly properties: {
|
|
19
|
+
readonly type: {
|
|
20
|
+
readonly type: "string";
|
|
21
|
+
readonly const: "hr";
|
|
22
|
+
};
|
|
23
|
+
readonly thickness: {
|
|
24
|
+
readonly type: "number";
|
|
25
|
+
};
|
|
26
|
+
readonly color: {
|
|
27
|
+
readonly type: "string";
|
|
28
|
+
readonly pattern: "^#[0-9A-Fa-f]{6}$";
|
|
29
|
+
readonly description: "6-digit hex color e.g. #FF0000";
|
|
30
|
+
};
|
|
31
|
+
readonly spaceBefore: {
|
|
32
|
+
readonly type: "number";
|
|
33
|
+
readonly description: "Space above line in pt. Default: 12.";
|
|
34
|
+
};
|
|
35
|
+
readonly spaceAfter: {
|
|
36
|
+
readonly type: "number";
|
|
37
|
+
readonly description: "Space below line in pt. Default: 12.";
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
export declare const pageBreakSchema: {
|
|
42
|
+
readonly type: "object";
|
|
43
|
+
readonly required: readonly ["type"];
|
|
44
|
+
readonly properties: {
|
|
45
|
+
readonly type: {
|
|
46
|
+
readonly type: "string";
|
|
47
|
+
readonly const: "page-break";
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
export declare const commentSchema: {
|
|
52
|
+
readonly type: "object";
|
|
53
|
+
readonly required: readonly ["type", "contents"];
|
|
54
|
+
readonly properties: {
|
|
55
|
+
readonly type: {
|
|
56
|
+
readonly type: "string";
|
|
57
|
+
readonly const: "comment";
|
|
58
|
+
};
|
|
59
|
+
readonly contents: {
|
|
60
|
+
readonly type: "string";
|
|
61
|
+
};
|
|
62
|
+
readonly author: {
|
|
63
|
+
readonly type: "string";
|
|
64
|
+
};
|
|
65
|
+
readonly color: {
|
|
66
|
+
readonly type: "string";
|
|
67
|
+
readonly pattern: "^#[0-9A-Fa-f]{6}$";
|
|
68
|
+
readonly description: "6-digit hex color e.g. #FF0000";
|
|
69
|
+
};
|
|
70
|
+
readonly open: {
|
|
71
|
+
readonly type: "boolean";
|
|
72
|
+
};
|
|
73
|
+
readonly spaceAfter: {
|
|
74
|
+
readonly type: "number";
|
|
75
|
+
readonly description: "Space in points (pt)";
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Discriminated-union schema for form-field elements.
|
|
81
|
+
* The `fieldType` property is the discriminant; each oneOf branch constrains
|
|
82
|
+
* the allowed properties to the specific variant.
|
|
83
|
+
*/
|
|
84
|
+
export declare const formFieldSchema: {
|
|
85
|
+
readonly type: "object";
|
|
86
|
+
readonly required: readonly ["type", "fieldType", "name"];
|
|
87
|
+
readonly oneOf: readonly [{
|
|
88
|
+
readonly description: "Single-line or multi-line text input.";
|
|
89
|
+
readonly properties: {
|
|
90
|
+
readonly fieldType: {
|
|
91
|
+
readonly type: "string";
|
|
92
|
+
readonly const: "text";
|
|
93
|
+
};
|
|
94
|
+
readonly placeholder: {
|
|
95
|
+
readonly type: "string";
|
|
96
|
+
};
|
|
97
|
+
readonly defaultValue: {
|
|
98
|
+
readonly type: "string";
|
|
99
|
+
};
|
|
100
|
+
readonly multiline: {
|
|
101
|
+
readonly type: "boolean";
|
|
102
|
+
};
|
|
103
|
+
readonly maxLength: {
|
|
104
|
+
readonly type: "number";
|
|
105
|
+
readonly minimum: 1;
|
|
106
|
+
};
|
|
107
|
+
readonly type: {
|
|
108
|
+
readonly type: "string";
|
|
109
|
+
readonly const: "form-field";
|
|
110
|
+
};
|
|
111
|
+
readonly name: {
|
|
112
|
+
readonly type: "string";
|
|
113
|
+
readonly description: "Unique field name used in PDF AcroForm dictionary.";
|
|
114
|
+
};
|
|
115
|
+
readonly label: {
|
|
116
|
+
readonly type: "string";
|
|
117
|
+
};
|
|
118
|
+
readonly width: {
|
|
119
|
+
readonly type: "number";
|
|
120
|
+
};
|
|
121
|
+
readonly height: {
|
|
122
|
+
readonly type: "number";
|
|
123
|
+
};
|
|
124
|
+
readonly fontSize: {
|
|
125
|
+
readonly type: "number";
|
|
126
|
+
};
|
|
127
|
+
readonly borderColor: {
|
|
128
|
+
readonly type: "string";
|
|
129
|
+
readonly pattern: "^#[0-9A-Fa-f]{6}$";
|
|
130
|
+
readonly description: "6-digit hex color e.g. #FF0000";
|
|
131
|
+
};
|
|
132
|
+
readonly backgroundColor: {
|
|
133
|
+
readonly type: "string";
|
|
134
|
+
readonly pattern: "^#[0-9A-Fa-f]{6}$";
|
|
135
|
+
readonly description: "6-digit hex color e.g. #FF0000";
|
|
136
|
+
};
|
|
137
|
+
readonly keepTogether: {
|
|
138
|
+
readonly type: "boolean";
|
|
139
|
+
readonly description: "If true, never break this element across pages. Default: true";
|
|
140
|
+
};
|
|
141
|
+
readonly spaceAfter: {
|
|
142
|
+
readonly type: "number";
|
|
143
|
+
readonly description: "Space in points (pt)";
|
|
144
|
+
};
|
|
145
|
+
readonly spaceBefore: {
|
|
146
|
+
readonly type: "number";
|
|
147
|
+
readonly description: "Space in points (pt)";
|
|
148
|
+
};
|
|
149
|
+
readonly accessibilityLabel: {
|
|
150
|
+
readonly type: "string";
|
|
151
|
+
readonly description: "Written to the PDF /TU AcroForm annotation entry for screen-reader announcements.";
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
readonly required: readonly ["type", "fieldType", "name"];
|
|
155
|
+
}, {
|
|
156
|
+
readonly description: "Boolean on/off checkbox.";
|
|
157
|
+
readonly properties: {
|
|
158
|
+
readonly fieldType: {
|
|
159
|
+
readonly type: "string";
|
|
160
|
+
readonly const: "checkbox";
|
|
161
|
+
};
|
|
162
|
+
readonly checked: {
|
|
163
|
+
readonly type: "boolean";
|
|
164
|
+
readonly description: "Initial checked state. Default: false.";
|
|
165
|
+
};
|
|
166
|
+
readonly type: {
|
|
167
|
+
readonly type: "string";
|
|
168
|
+
readonly const: "form-field";
|
|
169
|
+
};
|
|
170
|
+
readonly name: {
|
|
171
|
+
readonly type: "string";
|
|
172
|
+
readonly description: "Unique field name used in PDF AcroForm dictionary.";
|
|
173
|
+
};
|
|
174
|
+
readonly label: {
|
|
175
|
+
readonly type: "string";
|
|
176
|
+
};
|
|
177
|
+
readonly width: {
|
|
178
|
+
readonly type: "number";
|
|
179
|
+
};
|
|
180
|
+
readonly height: {
|
|
181
|
+
readonly type: "number";
|
|
182
|
+
};
|
|
183
|
+
readonly fontSize: {
|
|
184
|
+
readonly type: "number";
|
|
185
|
+
};
|
|
186
|
+
readonly borderColor: {
|
|
187
|
+
readonly type: "string";
|
|
188
|
+
readonly pattern: "^#[0-9A-Fa-f]{6}$";
|
|
189
|
+
readonly description: "6-digit hex color e.g. #FF0000";
|
|
190
|
+
};
|
|
191
|
+
readonly backgroundColor: {
|
|
192
|
+
readonly type: "string";
|
|
193
|
+
readonly pattern: "^#[0-9A-Fa-f]{6}$";
|
|
194
|
+
readonly description: "6-digit hex color e.g. #FF0000";
|
|
195
|
+
};
|
|
196
|
+
readonly keepTogether: {
|
|
197
|
+
readonly type: "boolean";
|
|
198
|
+
readonly description: "If true, never break this element across pages. Default: true";
|
|
199
|
+
};
|
|
200
|
+
readonly spaceAfter: {
|
|
201
|
+
readonly type: "number";
|
|
202
|
+
readonly description: "Space in points (pt)";
|
|
203
|
+
};
|
|
204
|
+
readonly spaceBefore: {
|
|
205
|
+
readonly type: "number";
|
|
206
|
+
readonly description: "Space in points (pt)";
|
|
207
|
+
};
|
|
208
|
+
readonly accessibilityLabel: {
|
|
209
|
+
readonly type: "string";
|
|
210
|
+
readonly description: "Written to the PDF /TU AcroForm annotation entry for screen-reader announcements.";
|
|
211
|
+
};
|
|
212
|
+
};
|
|
213
|
+
readonly required: readonly ["type", "fieldType", "name"];
|
|
214
|
+
}, {
|
|
215
|
+
readonly description: "Radio button group — exactly one option is selectable.";
|
|
216
|
+
readonly properties: {
|
|
217
|
+
readonly fieldType: {
|
|
218
|
+
readonly type: "string";
|
|
219
|
+
readonly const: "radio";
|
|
220
|
+
};
|
|
221
|
+
readonly options: {
|
|
222
|
+
readonly type: "array";
|
|
223
|
+
readonly minItems: 1;
|
|
224
|
+
readonly items: {
|
|
225
|
+
readonly type: "object";
|
|
226
|
+
readonly required: readonly ["value", "label"];
|
|
227
|
+
readonly properties: {
|
|
228
|
+
readonly value: {
|
|
229
|
+
readonly type: "string";
|
|
230
|
+
readonly minLength: 1;
|
|
231
|
+
};
|
|
232
|
+
readonly label: {
|
|
233
|
+
readonly type: "string";
|
|
234
|
+
readonly minLength: 1;
|
|
235
|
+
};
|
|
236
|
+
};
|
|
237
|
+
readonly additionalProperties: false;
|
|
238
|
+
};
|
|
239
|
+
};
|
|
240
|
+
readonly defaultSelected: {
|
|
241
|
+
readonly type: "string";
|
|
242
|
+
readonly description: "value of the pre-selected option.";
|
|
243
|
+
};
|
|
244
|
+
readonly type: {
|
|
245
|
+
readonly type: "string";
|
|
246
|
+
readonly const: "form-field";
|
|
247
|
+
};
|
|
248
|
+
readonly name: {
|
|
249
|
+
readonly type: "string";
|
|
250
|
+
readonly description: "Unique field name used in PDF AcroForm dictionary.";
|
|
251
|
+
};
|
|
252
|
+
readonly label: {
|
|
253
|
+
readonly type: "string";
|
|
254
|
+
};
|
|
255
|
+
readonly width: {
|
|
256
|
+
readonly type: "number";
|
|
257
|
+
};
|
|
258
|
+
readonly height: {
|
|
259
|
+
readonly type: "number";
|
|
260
|
+
};
|
|
261
|
+
readonly fontSize: {
|
|
262
|
+
readonly type: "number";
|
|
263
|
+
};
|
|
264
|
+
readonly borderColor: {
|
|
265
|
+
readonly type: "string";
|
|
266
|
+
readonly pattern: "^#[0-9A-Fa-f]{6}$";
|
|
267
|
+
readonly description: "6-digit hex color e.g. #FF0000";
|
|
268
|
+
};
|
|
269
|
+
readonly backgroundColor: {
|
|
270
|
+
readonly type: "string";
|
|
271
|
+
readonly pattern: "^#[0-9A-Fa-f]{6}$";
|
|
272
|
+
readonly description: "6-digit hex color e.g. #FF0000";
|
|
273
|
+
};
|
|
274
|
+
readonly keepTogether: {
|
|
275
|
+
readonly type: "boolean";
|
|
276
|
+
readonly description: "If true, never break this element across pages. Default: true";
|
|
277
|
+
};
|
|
278
|
+
readonly spaceAfter: {
|
|
279
|
+
readonly type: "number";
|
|
280
|
+
readonly description: "Space in points (pt)";
|
|
281
|
+
};
|
|
282
|
+
readonly spaceBefore: {
|
|
283
|
+
readonly type: "number";
|
|
284
|
+
readonly description: "Space in points (pt)";
|
|
285
|
+
};
|
|
286
|
+
readonly accessibilityLabel: {
|
|
287
|
+
readonly type: "string";
|
|
288
|
+
readonly description: "Written to the PDF /TU AcroForm annotation entry for screen-reader announcements.";
|
|
289
|
+
};
|
|
290
|
+
};
|
|
291
|
+
readonly required: readonly ["type", "fieldType", "name", "options"];
|
|
292
|
+
}, {
|
|
293
|
+
readonly description: "Dropdown / select list — exactly one option is selectable.";
|
|
294
|
+
readonly properties: {
|
|
295
|
+
readonly fieldType: {
|
|
296
|
+
readonly type: "string";
|
|
297
|
+
readonly const: "dropdown";
|
|
298
|
+
};
|
|
299
|
+
readonly options: {
|
|
300
|
+
readonly type: "array";
|
|
301
|
+
readonly minItems: 1;
|
|
302
|
+
readonly items: {
|
|
303
|
+
readonly type: "object";
|
|
304
|
+
readonly required: readonly ["value", "label"];
|
|
305
|
+
readonly properties: {
|
|
306
|
+
readonly value: {
|
|
307
|
+
readonly type: "string";
|
|
308
|
+
readonly minLength: 1;
|
|
309
|
+
};
|
|
310
|
+
readonly label: {
|
|
311
|
+
readonly type: "string";
|
|
312
|
+
readonly minLength: 1;
|
|
313
|
+
};
|
|
314
|
+
};
|
|
315
|
+
readonly additionalProperties: false;
|
|
316
|
+
};
|
|
317
|
+
};
|
|
318
|
+
readonly defaultSelected: {
|
|
319
|
+
readonly type: "string";
|
|
320
|
+
readonly description: "value of the pre-selected option.";
|
|
321
|
+
};
|
|
322
|
+
readonly type: {
|
|
323
|
+
readonly type: "string";
|
|
324
|
+
readonly const: "form-field";
|
|
325
|
+
};
|
|
326
|
+
readonly name: {
|
|
327
|
+
readonly type: "string";
|
|
328
|
+
readonly description: "Unique field name used in PDF AcroForm dictionary.";
|
|
329
|
+
};
|
|
330
|
+
readonly label: {
|
|
331
|
+
readonly type: "string";
|
|
332
|
+
};
|
|
333
|
+
readonly width: {
|
|
334
|
+
readonly type: "number";
|
|
335
|
+
};
|
|
336
|
+
readonly height: {
|
|
337
|
+
readonly type: "number";
|
|
338
|
+
};
|
|
339
|
+
readonly fontSize: {
|
|
340
|
+
readonly type: "number";
|
|
341
|
+
};
|
|
342
|
+
readonly borderColor: {
|
|
343
|
+
readonly type: "string";
|
|
344
|
+
readonly pattern: "^#[0-9A-Fa-f]{6}$";
|
|
345
|
+
readonly description: "6-digit hex color e.g. #FF0000";
|
|
346
|
+
};
|
|
347
|
+
readonly backgroundColor: {
|
|
348
|
+
readonly type: "string";
|
|
349
|
+
readonly pattern: "^#[0-9A-Fa-f]{6}$";
|
|
350
|
+
readonly description: "6-digit hex color e.g. #FF0000";
|
|
351
|
+
};
|
|
352
|
+
readonly keepTogether: {
|
|
353
|
+
readonly type: "boolean";
|
|
354
|
+
readonly description: "If true, never break this element across pages. Default: true";
|
|
355
|
+
};
|
|
356
|
+
readonly spaceAfter: {
|
|
357
|
+
readonly type: "number";
|
|
358
|
+
readonly description: "Space in points (pt)";
|
|
359
|
+
};
|
|
360
|
+
readonly spaceBefore: {
|
|
361
|
+
readonly type: "number";
|
|
362
|
+
readonly description: "Space in points (pt)";
|
|
363
|
+
};
|
|
364
|
+
readonly accessibilityLabel: {
|
|
365
|
+
readonly type: "string";
|
|
366
|
+
readonly description: "Written to the PDF /TU AcroForm annotation entry for screen-reader announcements.";
|
|
367
|
+
};
|
|
368
|
+
};
|
|
369
|
+
readonly required: readonly ["type", "fieldType", "name", "options"];
|
|
370
|
+
}, {
|
|
371
|
+
readonly description: "Clickable push-button (no value submitted).";
|
|
372
|
+
readonly properties: {
|
|
373
|
+
readonly fieldType: {
|
|
374
|
+
readonly type: "string";
|
|
375
|
+
readonly const: "button";
|
|
376
|
+
};
|
|
377
|
+
readonly type: {
|
|
378
|
+
readonly type: "string";
|
|
379
|
+
readonly const: "form-field";
|
|
380
|
+
};
|
|
381
|
+
readonly name: {
|
|
382
|
+
readonly type: "string";
|
|
383
|
+
readonly description: "Unique field name used in PDF AcroForm dictionary.";
|
|
384
|
+
};
|
|
385
|
+
readonly label: {
|
|
386
|
+
readonly type: "string";
|
|
387
|
+
};
|
|
388
|
+
readonly width: {
|
|
389
|
+
readonly type: "number";
|
|
390
|
+
};
|
|
391
|
+
readonly height: {
|
|
392
|
+
readonly type: "number";
|
|
393
|
+
};
|
|
394
|
+
readonly fontSize: {
|
|
395
|
+
readonly type: "number";
|
|
396
|
+
};
|
|
397
|
+
readonly borderColor: {
|
|
398
|
+
readonly type: "string";
|
|
399
|
+
readonly pattern: "^#[0-9A-Fa-f]{6}$";
|
|
400
|
+
readonly description: "6-digit hex color e.g. #FF0000";
|
|
401
|
+
};
|
|
402
|
+
readonly backgroundColor: {
|
|
403
|
+
readonly type: "string";
|
|
404
|
+
readonly pattern: "^#[0-9A-Fa-f]{6}$";
|
|
405
|
+
readonly description: "6-digit hex color e.g. #FF0000";
|
|
406
|
+
};
|
|
407
|
+
readonly keepTogether: {
|
|
408
|
+
readonly type: "boolean";
|
|
409
|
+
readonly description: "If true, never break this element across pages. Default: true";
|
|
410
|
+
};
|
|
411
|
+
readonly spaceAfter: {
|
|
412
|
+
readonly type: "number";
|
|
413
|
+
readonly description: "Space in points (pt)";
|
|
414
|
+
};
|
|
415
|
+
readonly spaceBefore: {
|
|
416
|
+
readonly type: "number";
|
|
417
|
+
readonly description: "Space in points (pt)";
|
|
418
|
+
};
|
|
419
|
+
readonly accessibilityLabel: {
|
|
420
|
+
readonly type: "string";
|
|
421
|
+
readonly description: "Written to the PDF /TU AcroForm annotation entry for screen-reader announcements.";
|
|
422
|
+
};
|
|
423
|
+
};
|
|
424
|
+
readonly required: readonly ["type", "fieldType", "name"];
|
|
425
|
+
}];
|
|
426
|
+
};
|
|
427
|
+
export declare const floatGroupSchema: {
|
|
428
|
+
readonly type: "object";
|
|
429
|
+
readonly required: readonly ["type", "image", "float", "content"];
|
|
430
|
+
readonly properties: {
|
|
431
|
+
readonly type: {
|
|
432
|
+
readonly type: "string";
|
|
433
|
+
readonly const: "float-group";
|
|
434
|
+
};
|
|
435
|
+
readonly image: {
|
|
436
|
+
readonly type: "object";
|
|
437
|
+
readonly required: readonly ["src"];
|
|
438
|
+
readonly properties: {
|
|
439
|
+
readonly src: {
|
|
440
|
+
readonly type: "string";
|
|
441
|
+
readonly description: "Absolute file path or URL";
|
|
442
|
+
};
|
|
443
|
+
readonly format: {
|
|
444
|
+
readonly type: "string";
|
|
445
|
+
readonly enum: readonly ["png", "jpg", "auto"];
|
|
446
|
+
};
|
|
447
|
+
readonly height: {
|
|
448
|
+
readonly type: "number";
|
|
449
|
+
};
|
|
450
|
+
};
|
|
451
|
+
};
|
|
452
|
+
readonly float: {
|
|
453
|
+
readonly type: "string";
|
|
454
|
+
readonly enum: readonly ["left", "right"];
|
|
455
|
+
};
|
|
456
|
+
readonly floatWidth: {
|
|
457
|
+
readonly type: "number";
|
|
458
|
+
readonly description: "Image column width in pt. Default: 35% of content width.";
|
|
459
|
+
};
|
|
460
|
+
readonly floatGap: {
|
|
461
|
+
readonly type: "number";
|
|
462
|
+
readonly description: "Gap between image and text columns in pt. Default: 12";
|
|
463
|
+
};
|
|
464
|
+
readonly content: {
|
|
465
|
+
readonly type: "array";
|
|
466
|
+
readonly description: "Content elements rendered in the text column (paragraph, heading, rich-paragraph).";
|
|
467
|
+
readonly items: {
|
|
468
|
+
readonly type: "object";
|
|
469
|
+
};
|
|
470
|
+
};
|
|
471
|
+
readonly spaceBefore: {
|
|
472
|
+
readonly type: "number";
|
|
473
|
+
readonly description: "Space in points (pt)";
|
|
474
|
+
};
|
|
475
|
+
readonly spaceAfter: {
|
|
476
|
+
readonly type: "number";
|
|
477
|
+
readonly description: "Space in points (pt)";
|
|
478
|
+
};
|
|
479
|
+
};
|
|
480
|
+
};
|
|
481
|
+
//# sourceMappingURL=elements-block.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elements-block.d.ts","sourceRoot":"","sources":["../../src/schema/elements-block.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAOf,CAAA;AAEV,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;CAUX,CAAA;AAEV,eAAO,MAAM,eAAe;;;;;;;;;CAMlB,CAAA;AAEV,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWhB,CAAA;AAiCV;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDlB,CAAA;AAEV,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyBnB,CAAA"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { colorSchema, spaceSchema } from './shared.js';
|
|
2
|
+
export const spacerSchema = {
|
|
3
|
+
type: 'object',
|
|
4
|
+
required: ['type', 'height'],
|
|
5
|
+
properties: {
|
|
6
|
+
type: { type: 'string', const: 'spacer' },
|
|
7
|
+
height: { type: 'number', description: 'Height in pt' },
|
|
8
|
+
},
|
|
9
|
+
};
|
|
10
|
+
export const hrSchema = {
|
|
11
|
+
type: 'object',
|
|
12
|
+
required: ['type'],
|
|
13
|
+
properties: {
|
|
14
|
+
type: { type: 'string', const: 'hr' },
|
|
15
|
+
thickness: { type: 'number' },
|
|
16
|
+
color: colorSchema,
|
|
17
|
+
spaceBefore: { type: 'number', description: 'Space above line in pt. Default: 12.' },
|
|
18
|
+
spaceAfter: { type: 'number', description: 'Space below line in pt. Default: 12.' },
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
export const pageBreakSchema = {
|
|
22
|
+
type: 'object',
|
|
23
|
+
required: ['type'],
|
|
24
|
+
properties: {
|
|
25
|
+
type: { type: 'string', const: 'page-break' },
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
export const commentSchema = {
|
|
29
|
+
type: 'object',
|
|
30
|
+
required: ['type', 'contents'],
|
|
31
|
+
properties: {
|
|
32
|
+
type: { type: 'string', const: 'comment' },
|
|
33
|
+
contents: { type: 'string' },
|
|
34
|
+
author: { type: 'string' },
|
|
35
|
+
color: colorSchema,
|
|
36
|
+
open: { type: 'boolean' },
|
|
37
|
+
spaceAfter: spaceSchema,
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
/** Shared base properties present on every FormFieldElement variant. */
|
|
41
|
+
const formFieldBaseProperties = {
|
|
42
|
+
type: { type: 'string', const: 'form-field' },
|
|
43
|
+
name: { type: 'string', description: 'Unique field name used in PDF AcroForm dictionary.' },
|
|
44
|
+
label: { type: 'string' },
|
|
45
|
+
width: { type: 'number' },
|
|
46
|
+
height: { type: 'number' },
|
|
47
|
+
fontSize: { type: 'number' },
|
|
48
|
+
borderColor: colorSchema,
|
|
49
|
+
backgroundColor: colorSchema,
|
|
50
|
+
keepTogether: { type: 'boolean', description: 'If true, never break this element across pages. Default: true' },
|
|
51
|
+
spaceAfter: spaceSchema,
|
|
52
|
+
spaceBefore: spaceSchema,
|
|
53
|
+
accessibilityLabel: { type: 'string', description: 'Written to the PDF /TU AcroForm annotation entry for screen-reader announcements.' },
|
|
54
|
+
};
|
|
55
|
+
/** Shared options array used by radio and dropdown variants. */
|
|
56
|
+
const formFieldOptionsSchema = {
|
|
57
|
+
type: 'array',
|
|
58
|
+
minItems: 1,
|
|
59
|
+
items: {
|
|
60
|
+
type: 'object',
|
|
61
|
+
required: ['value', 'label'],
|
|
62
|
+
properties: {
|
|
63
|
+
value: { type: 'string', minLength: 1 },
|
|
64
|
+
label: { type: 'string', minLength: 1 },
|
|
65
|
+
},
|
|
66
|
+
additionalProperties: false,
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Discriminated-union schema for form-field elements.
|
|
71
|
+
* The `fieldType` property is the discriminant; each oneOf branch constrains
|
|
72
|
+
* the allowed properties to the specific variant.
|
|
73
|
+
*/
|
|
74
|
+
export const formFieldSchema = {
|
|
75
|
+
type: 'object',
|
|
76
|
+
required: ['type', 'fieldType', 'name'],
|
|
77
|
+
oneOf: [
|
|
78
|
+
{
|
|
79
|
+
description: 'Single-line or multi-line text input.',
|
|
80
|
+
properties: {
|
|
81
|
+
...formFieldBaseProperties,
|
|
82
|
+
fieldType: { type: 'string', const: 'text' },
|
|
83
|
+
placeholder: { type: 'string' },
|
|
84
|
+
defaultValue: { type: 'string' },
|
|
85
|
+
multiline: { type: 'boolean' },
|
|
86
|
+
maxLength: { type: 'number', minimum: 1 },
|
|
87
|
+
},
|
|
88
|
+
required: ['type', 'fieldType', 'name'],
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
description: 'Boolean on/off checkbox.',
|
|
92
|
+
properties: {
|
|
93
|
+
...formFieldBaseProperties,
|
|
94
|
+
fieldType: { type: 'string', const: 'checkbox' },
|
|
95
|
+
checked: { type: 'boolean', description: 'Initial checked state. Default: false.' },
|
|
96
|
+
},
|
|
97
|
+
required: ['type', 'fieldType', 'name'],
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
description: 'Radio button group — exactly one option is selectable.',
|
|
101
|
+
properties: {
|
|
102
|
+
...formFieldBaseProperties,
|
|
103
|
+
fieldType: { type: 'string', const: 'radio' },
|
|
104
|
+
options: formFieldOptionsSchema,
|
|
105
|
+
defaultSelected: { type: 'string', description: 'value of the pre-selected option.' },
|
|
106
|
+
},
|
|
107
|
+
required: ['type', 'fieldType', 'name', 'options'],
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
description: 'Dropdown / select list — exactly one option is selectable.',
|
|
111
|
+
properties: {
|
|
112
|
+
...formFieldBaseProperties,
|
|
113
|
+
fieldType: { type: 'string', const: 'dropdown' },
|
|
114
|
+
options: formFieldOptionsSchema,
|
|
115
|
+
defaultSelected: { type: 'string', description: 'value of the pre-selected option.' },
|
|
116
|
+
},
|
|
117
|
+
required: ['type', 'fieldType', 'name', 'options'],
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
description: 'Clickable push-button (no value submitted).',
|
|
121
|
+
properties: {
|
|
122
|
+
...formFieldBaseProperties,
|
|
123
|
+
fieldType: { type: 'string', const: 'button' },
|
|
124
|
+
},
|
|
125
|
+
required: ['type', 'fieldType', 'name'],
|
|
126
|
+
},
|
|
127
|
+
],
|
|
128
|
+
};
|
|
129
|
+
export const floatGroupSchema = {
|
|
130
|
+
type: 'object',
|
|
131
|
+
required: ['type', 'image', 'float', 'content'],
|
|
132
|
+
properties: {
|
|
133
|
+
type: { type: 'string', const: 'float-group' },
|
|
134
|
+
image: {
|
|
135
|
+
type: 'object',
|
|
136
|
+
required: ['src'],
|
|
137
|
+
properties: {
|
|
138
|
+
src: { type: 'string', description: 'Absolute file path or URL' },
|
|
139
|
+
format: { type: 'string', enum: ['png', 'jpg', 'auto'] },
|
|
140
|
+
height: { type: 'number' },
|
|
141
|
+
},
|
|
142
|
+
},
|
|
143
|
+
float: { type: 'string', enum: ['left', 'right'] },
|
|
144
|
+
floatWidth: { type: 'number', description: 'Image column width in pt. Default: 35% of content width.' },
|
|
145
|
+
floatGap: { type: 'number', description: 'Gap between image and text columns in pt. Default: 12' },
|
|
146
|
+
content: {
|
|
147
|
+
type: 'array',
|
|
148
|
+
description: 'Content elements rendered in the text column (paragraph, heading, rich-paragraph).',
|
|
149
|
+
items: { type: 'object' },
|
|
150
|
+
},
|
|
151
|
+
spaceBefore: spaceSchema,
|
|
152
|
+
spaceAfter: spaceSchema,
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
//# sourceMappingURL=elements-block.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elements-block.js","sourceRoot":"","sources":["../../src/schema/elements-block.ts"],"names":[],"mappings":"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"}
|