@pdfme/pdf-lib 1.18.3 → 1.18.4

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 (39) hide show
  1. package/README.md +11 -2
  2. package/cjs/api/PDFPage.d.ts +1 -0
  3. package/cjs/api/PDFPage.d.ts.map +1 -1
  4. package/cjs/api/PDFPage.js +4 -1
  5. package/cjs/api/PDFPage.js.map +1 -1
  6. package/cjs/api/PDFPageOptions.d.ts +1 -0
  7. package/cjs/api/PDFPageOptions.d.ts.map +1 -1
  8. package/cjs/api/operations.d.ts +1 -0
  9. package/cjs/api/operations.d.ts.map +1 -1
  10. package/cjs/api/operations.js +31 -5
  11. package/cjs/api/operations.js.map +1 -1
  12. package/dist/pdf-lib.esm.js +35 -6
  13. package/dist/pdf-lib.esm.js.map +1 -1
  14. package/dist/pdf-lib.esm.min.js +1 -1
  15. package/dist/pdf-lib.esm.min.js.map +1 -1
  16. package/dist/pdf-lib.js +35 -6
  17. package/dist/pdf-lib.js.map +1 -1
  18. package/dist/pdf-lib.min.js +1 -1
  19. package/dist/pdf-lib.min.js.map +1 -1
  20. package/es/api/PDFPage.d.ts +1 -0
  21. package/es/api/PDFPage.d.ts.map +1 -1
  22. package/es/api/PDFPage.js +4 -1
  23. package/es/api/PDFPage.js.map +1 -1
  24. package/es/api/PDFPageOptions.d.ts +1 -0
  25. package/es/api/PDFPageOptions.d.ts.map +1 -1
  26. package/es/api/operations.d.ts +1 -0
  27. package/es/api/operations.d.ts.map +1 -1
  28. package/es/api/operations.js +31 -5
  29. package/es/api/operations.js.map +1 -1
  30. package/package.json +1 -1
  31. package/src/api/PDFPage.ts +3 -0
  32. package/src/api/PDFPageOptions.ts +1 -0
  33. package/src/api/operations.ts +38 -6
  34. package/ts3.4/cjs/api/PDFPage.d.ts +1 -0
  35. package/ts3.4/cjs/api/PDFPageOptions.d.ts +1 -0
  36. package/ts3.4/cjs/api/operations.d.ts +1 -0
  37. package/ts3.4/es/api/PDFPage.d.ts +1 -0
  38. package/ts3.4/es/api/PDFPageOptions.d.ts +1 -0
  39. package/ts3.4/es/api/operations.d.ts +1 -0
package/dist/pdf-lib.js CHANGED
@@ -32185,6 +32185,36 @@ end\
32185
32185
  };
32186
32186
  const drawRectangle = (options) => {
32187
32187
  var _a, _b;
32188
+ let ops = [];
32189
+ if (!options.radius || asNumber(options.radius) <= 0) {
32190
+ ops = [
32191
+ moveTo(0, 0),
32192
+ lineTo(0, options.height),
32193
+ lineTo(options.width, options.height),
32194
+ lineTo(options.width, 0),
32195
+ closePath(),
32196
+ ];
32197
+ }
32198
+ else {
32199
+ let radius = asNumber(options.radius);
32200
+ const width = asNumber(options.width);
32201
+ const height = asNumber(options.height);
32202
+ if (radius > width / 2.0 || radius > height / 2.0) {
32203
+ radius = Math.min(width / 2.0, height / 2.0);
32204
+ }
32205
+ const offset = KAPPA * radius;
32206
+ ops = [
32207
+ moveTo(0, radius),
32208
+ appendBezierCurve(0, radius - offset, radius - offset, 0, radius, 0),
32209
+ lineTo(width - radius, 0),
32210
+ appendBezierCurve(width - radius + offset, 0, width, radius - offset, width, radius),
32211
+ lineTo(width, height - radius),
32212
+ appendBezierCurve(width, height - radius + offset, width - radius + offset, height, width - radius, height),
32213
+ lineTo(radius, height),
32214
+ appendBezierCurve(radius - offset, height, 0, height - radius + offset, 0, height - radius),
32215
+ closePath(),
32216
+ ];
32217
+ }
32188
32218
  return [
32189
32219
  pushGraphicsState(),
32190
32220
  options.graphicsState && setGraphicsState(options.graphicsState),
@@ -32198,11 +32228,7 @@ end\
32198
32228
  translate(options.x, options.y),
32199
32229
  rotateRadians(toRadians(options.rotate)),
32200
32230
  skewRadians(toRadians(options.xSkew), toRadians(options.ySkew)),
32201
- moveTo(0, 0),
32202
- lineTo(0, options.height),
32203
- lineTo(options.width, options.height),
32204
- lineTo(options.width, 0),
32205
- closePath(),
32231
+ ...ops,
32206
32232
  // prettier-ignore
32207
32233
  options.color && options.borderWidth ? fillAndStroke()
32208
32234
  : options.color ? fill()
@@ -43351,12 +43377,13 @@ end\
43351
43377
  * color: rgb(0.75, 0.2, 0.2),
43352
43378
  * opacity: 0.5,
43353
43379
  * borderOpacity: 0.75,
43380
+ * radius: 0.1,
43354
43381
  * })
43355
43382
  * ```
43356
43383
  * @param options The options to be used when drawing the rectangle.
43357
43384
  */
43358
43385
  drawRectangle(options = {}) {
43359
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
43386
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
43360
43387
  assertOrUndefined(options.x, 'options.x', ['number']);
43361
43388
  assertOrUndefined(options.y, 'options.y', ['number']);
43362
43389
  assertOrUndefined(options.width, 'options.width', ['number']);
@@ -43379,6 +43406,7 @@ end\
43379
43406
  assertIsOneOfOrUndefined(options.borderLineCap, 'options.borderLineCap', exports.LineCapStyle);
43380
43407
  assertRangeOrUndefined(options.borderOpacity, 'options.borderOpacity', 0, 1);
43381
43408
  assertIsOneOfOrUndefined(options.blendMode, 'options.blendMode', exports.BlendMode);
43409
+ assertOrUndefined(options.radius, 'options.radius', ['number']);
43382
43410
  const graphicsStateKey = this.maybeEmbedGraphicsState({
43383
43411
  opacity: options.opacity,
43384
43412
  borderOpacity: options.borderOpacity,
@@ -43405,6 +43433,7 @@ end\
43405
43433
  borderLineCap: (_o = options.borderLineCap) !== null && _o !== void 0 ? _o : undefined,
43406
43434
  matrix: options.matrix,
43407
43435
  clipSpaces: options.clipSpaces,
43436
+ radius: (_p = options.radius) !== null && _p !== void 0 ? _p : 0,
43408
43437
  }));
43409
43438
  }
43410
43439
  /**