@verdocs/web-sdk 2.3.87 → 2.3.88

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 (72) hide show
  1. package/dist/cjs/{utils-13f8ed3f.js → utils-e2bd04bf.js} +2 -4
  2. package/dist/cjs/verdocs-contact-picker_2.cjs.entry.js +1 -1
  3. package/dist/cjs/verdocs-envelope-document-page.cjs.entry.js +1 -1
  4. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +1 -1
  5. package/dist/cjs/verdocs-field-attachment_15.cjs.entry.js +1 -1
  6. package/dist/cjs/verdocs-field-payment.cjs.entry.js +1 -1
  7. package/dist/cjs/verdocs-pagination_2.cjs.entry.js +1 -1
  8. package/dist/cjs/verdocs-preview_8.cjs.entry.js +1 -1
  9. package/dist/cjs/verdocs-settings-api-keys_4.cjs.entry.js +1 -1
  10. package/dist/cjs/verdocs-sign.cjs.entry.js +37 -18
  11. package/dist/cjs/verdocs-template-fields_4.cjs.entry.js +1 -1
  12. package/dist/cjs/verdocs-view.cjs.entry.js +1 -1
  13. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +36 -17
  14. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js +3 -3
  15. package/dist/collection/utils/utils.js +2 -4
  16. package/dist/components/utils.js +2 -4
  17. package/dist/components/verdocs-sign.js +36 -17
  18. package/dist/docs.json +1 -1
  19. package/dist/esm/{utils-a56ee5e9.js → utils-f35325fe.js} +2 -4
  20. package/dist/esm/verdocs-contact-picker_2.entry.js +1 -1
  21. package/dist/esm/verdocs-envelope-document-page.entry.js +1 -1
  22. package/dist/esm/verdocs-envelopes-list.entry.js +1 -1
  23. package/dist/esm/verdocs-field-attachment_15.entry.js +1 -1
  24. package/dist/esm/verdocs-field-payment.entry.js +1 -1
  25. package/dist/esm/verdocs-pagination_2.entry.js +1 -1
  26. package/dist/esm/verdocs-preview_8.entry.js +1 -1
  27. package/dist/esm/verdocs-settings-api-keys_4.entry.js +1 -1
  28. package/dist/esm/verdocs-sign.entry.js +37 -18
  29. package/dist/esm/verdocs-template-fields_4.entry.js +1 -1
  30. package/dist/esm/verdocs-view.entry.js +1 -1
  31. package/dist/esm-es5/{utils-a56ee5e9.js → utils-f35325fe.js} +1 -1
  32. package/dist/esm-es5/verdocs-contact-picker_2.entry.js +1 -1
  33. package/dist/esm-es5/verdocs-envelope-document-page.entry.js +1 -1
  34. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  35. package/dist/esm-es5/verdocs-field-attachment_15.entry.js +1 -1
  36. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  37. package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
  38. package/dist/esm-es5/verdocs-preview_8.entry.js +1 -1
  39. package/dist/esm-es5/verdocs-settings-api-keys_4.entry.js +1 -1
  40. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  41. package/dist/esm-es5/verdocs-template-fields_4.entry.js +1 -1
  42. package/dist/esm-es5/verdocs-view.entry.js +1 -1
  43. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +1 -0
  44. package/dist/types/utils/utils.d.ts +1 -1
  45. package/dist/verdocs-web-sdk/{p-e63fe8b9.system.entry.js → p-078e5b77.system.entry.js} +1 -1
  46. package/dist/verdocs-web-sdk/{p-0ef04e14.system.entry.js → p-1a2d3a78.system.entry.js} +1 -1
  47. package/dist/verdocs-web-sdk/{p-dd9dba09.entry.js → p-1acb7da0.entry.js} +1 -1
  48. package/dist/verdocs-web-sdk/p-2ad3ba4f.entry.js +1 -0
  49. package/dist/verdocs-web-sdk/{p-bb983c03.entry.js → p-2b874610.entry.js} +1 -1
  50. package/dist/verdocs-web-sdk/{p-aa49605f.system.entry.js → p-33c284a7.system.entry.js} +1 -1
  51. package/dist/verdocs-web-sdk/{p-964f83ef.entry.js → p-43bdeda7.entry.js} +1 -1
  52. package/dist/verdocs-web-sdk/{p-5c67e9f6.system.entry.js → p-473926f1.system.entry.js} +1 -1
  53. package/dist/verdocs-web-sdk/{p-7f487279.entry.js → p-55e47f7d.entry.js} +1 -1
  54. package/dist/verdocs-web-sdk/{p-69422d8f.system.entry.js → p-621549c9.system.entry.js} +1 -1
  55. package/dist/verdocs-web-sdk/{p-b72328af.js → p-632bdc29.js} +1 -1
  56. package/dist/verdocs-web-sdk/{p-3dc2013b.system.entry.js → p-64974b4f.system.entry.js} +1 -1
  57. package/dist/verdocs-web-sdk/{p-1fa5ef9a.entry.js → p-683e778c.entry.js} +1 -1
  58. package/dist/verdocs-web-sdk/{p-1823e8cd.entry.js → p-81acd17f.entry.js} +1 -1
  59. package/dist/verdocs-web-sdk/{p-e1b527eb.entry.js → p-851737fb.entry.js} +1 -1
  60. package/dist/verdocs-web-sdk/{p-bb2b0122.entry.js → p-8a5ef117.entry.js} +1 -1
  61. package/dist/verdocs-web-sdk/{p-21294863.system.entry.js → p-907de1bb.system.entry.js} +1 -1
  62. package/dist/verdocs-web-sdk/{p-98c9b7d7.entry.js → p-9d8e63ea.entry.js} +1 -1
  63. package/dist/verdocs-web-sdk/{p-b55a122e.system.entry.js → p-a5499e42.system.entry.js} +1 -1
  64. package/dist/verdocs-web-sdk/{p-cf6a9502.entry.js → p-c0e43c7f.entry.js} +1 -1
  65. package/dist/verdocs-web-sdk/{p-8de34628.system.entry.js → p-d0a110f1.system.entry.js} +1 -1
  66. package/dist/verdocs-web-sdk/{p-0cafdb16.system.js → p-e041e991.system.js} +1 -1
  67. package/dist/verdocs-web-sdk/{p-04bef805.system.entry.js → p-ee408daa.system.entry.js} +1 -1
  68. package/dist/verdocs-web-sdk/p-f04bf956.system.js +1 -1
  69. package/dist/verdocs-web-sdk/{p-012d2533.system.entry.js → p-f461f285.system.entry.js} +1 -1
  70. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  71. package/package.json +1 -1
  72. package/dist/verdocs-web-sdk/p-c622d7b3.entry.js +0 -1
@@ -5,7 +5,7 @@ import { e as envelopeRecipientAgree, a as envelopeRecipientDecline, b as envelo
5
5
  import { V as VerdocsEndpoint } from './VerdocsEndpoint-8196ff47.js';
6
6
  import { i as isValidPhone, a as isValidEmail } from './Validators-16a2a43b.js';
7
7
  import { f as fullNameToInitials, i as integerSequence } from './Primitives-8fe93caf.js';
8
- import { a as saveAttachment, u as updateDocumentFieldValue, r as renderDocumentField, b as getFieldId } from './utils-a56ee5e9.js';
8
+ import { a as saveAttachment, u as updateDocumentFieldValue, r as renderDocumentField, b as getFieldId } from './utils-f35325fe.js';
9
9
  import { a as createTemplateFieldStoreFromEnvelope } from './TemplateFieldStore-6e67e86b.js';
10
10
  import { V as VerdocsToast } from './Toast-f3b8fd46.js';
11
11
  import { S as SDKError } from './errors-9b5498c8.js';
@@ -339,6 +339,24 @@ const VerdocsSign = class {
339
339
  const { required = false } = field;
340
340
  return !required || this.isFieldFilled(field);
341
341
  }
342
+ getSortedFillableFields() {
343
+ const recipientFields = this.getRecipientFields().filter(field => field.type !== 'timestamp');
344
+ recipientFields.sort((a, b) => {
345
+ var _a, _b, _c, _d;
346
+ const aX = ((_a = a.settings) === null || _a === void 0 ? void 0 : _a.x) || 0;
347
+ const aY = ((_b = a.settings) === null || _b === void 0 ? void 0 : _b.y) || 0;
348
+ const bX = ((_c = b.settings) === null || _c === void 0 ? void 0 : _c.x) || 0;
349
+ const bY = ((_d = b.settings) === null || _d === void 0 ? void 0 : _d.y) || 0;
350
+ // NOTE: Logic looks a little strange X vs Y. It's because we go top down,
351
+ // left to right. But Y coordinates are inverted in PDFs. The reason for
352
+ // the division is because no human makes perfect templates and frequently
353
+ // two fields on the "same line" will be slightly offset vertically.
354
+ const divaY = Math.floor(aY / 5);
355
+ const divbY = Math.floor(bY / 5);
356
+ return divbY !== divaY ? divbY - divaY : aX - bX;
357
+ });
358
+ return recipientFields;
359
+ }
342
360
  async handleNext() {
343
361
  var _a, _b;
344
362
  if (this.nextSubmits) {
@@ -364,17 +382,21 @@ const VerdocsSign = class {
364
382
  this.submitting = false;
365
383
  return;
366
384
  }
367
- // Find and focus the next incomplete field (that is fillable)
368
- const emptyFields = this.getRecipientFields()
369
- .filter(field => !this.isFieldFilled(field)) // field.required)
370
- .filter(field => field.type !== 'timestamp');
385
+ // Find and focus the next incomplete` field (that is fillable)
386
+ const emptyFields = this.getSortedFillableFields().filter(field => !this.isFieldFilled(field));
371
387
  emptyFields.sort((a, b) => {
372
388
  var _a, _b, _c, _d;
373
389
  const aX = ((_a = a.settings) === null || _a === void 0 ? void 0 : _a.x) || 0;
374
390
  const aY = ((_b = a.settings) === null || _b === void 0 ? void 0 : _b.y) || 0;
375
391
  const bX = ((_c = b.settings) === null || _c === void 0 ? void 0 : _c.x) || 0;
376
392
  const bY = ((_d = b.settings) === null || _d === void 0 ? void 0 : _d.y) || 0;
377
- return bY !== aY ? bY - aY : bX - aX;
393
+ // NOTE: Logic looks a little strange X vs Y. It's because we go top down,
394
+ // left to right. But Y coordinates are inverted in PDFs. The reason for
395
+ // the division is because no human makes perfect templates and frequently
396
+ // two fields on the "same line" will be slightly offset vertically.
397
+ const divaY = Math.floor(aY / 5);
398
+ const divbY = Math.floor(bY / 5);
399
+ return divbY !== divaY ? divbY - divaY : aX - bX;
378
400
  });
379
401
  const focusedIndex = emptyFields.findIndex(field => field.name === this.focusedField);
380
402
  let nextFocusedIndex = focusedIndex + 1;
@@ -456,22 +478,19 @@ const VerdocsSign = class {
456
478
  }
457
479
  handlePageRendered(e) {
458
480
  const pageInfo = e.detail;
459
- // const roleIndex = getRoleIndex(this.roleStore, this.recipient.role_name);
460
- // console.log(
461
- // 'hpr',
462
- // this.recipient,
463
- // this.envelope.fields.filter(field => field.recipient_role === this.recipient.role_name),
464
- // );
465
- const recipientFields = this.getRecipientFields().filter(field => field.page === pageInfo.pageNumber);
466
- // console.log('[SIGN] Page rendered, updating fields', {pageInfo, roleIndex, recipientFields});
481
+ // NOTE: We don't filter on pageNumber here because we need the position in the
482
+ // entire list to set the tabIndex.
483
+ const recipientFields = this.getSortedFillableFields();
484
+ // this.getRecipientFields().filter(field => field.page === pageInfo.pageNumber);
467
485
  // First render the fields for the signer
468
486
  // Also show field placeholders for other signers who have yet to act
469
487
  // In template list in Beta, show second date being sorted on
470
488
  // Sign top to bottom left to right
471
- recipientFields
472
- .filter(field => field.page === pageInfo.pageNumber)
473
- .forEach(field => {
474
- const el = renderDocumentField(field, pageInfo, { disabled: false, editable: false, draggable: false, done: this.isDone });
489
+ recipientFields.forEach((field, tabIndex) => {
490
+ if (field.page !== pageInfo.pageNumber) {
491
+ return;
492
+ }
493
+ const el = renderDocumentField(field, pageInfo, { disabled: false, editable: false, draggable: false, done: this.isDone }, tabIndex);
475
494
  if (!el) {
476
495
  return;
477
496
  }
@@ -5,7 +5,7 @@ import { V as VerdocsEndpoint, T as TemplateSenderTypes, u as updateTemplate } f
5
5
  import { u as updateField, c as createField } from './Fields-c82e6df3.js';
6
6
  import { i as integerSequence } from './Primitives-8fe93caf.js';
7
7
  import { g as getTemplateFieldStore, u as updateStoreField } from './TemplateFieldStore-6e67e86b.js';
8
- import { e as updateCssTransform, f as removeCssTransform, b as getFieldId, h as getFieldOptionId, i as defaultWidth, j as defaultHeight } from './utils-a56ee5e9.js';
8
+ import { e as updateCssTransform, f as removeCssTransform, b as getFieldId, h as getFieldOptionId, i as defaultWidth, j as defaultHeight } from './utils-f35325fe.js';
9
9
  import { g as getTemplateRoleStore, u as updateStoreRole, d as deleteStoreRole, a as getRoleIndex } from './TemplateRoleStore-33229997.js';
10
10
  import { g as getTemplateStore } from './TemplateStore-940da116.js';
11
11
  import { S as SDKError } from './errors-9b5498c8.js';
@@ -4,7 +4,7 @@ import { b as userCanCancelEnvelope } from './Permissions-f2eb0421.js';
4
4
  import './Types-5f31149e.js';
5
5
  import { V as VerdocsEndpoint } from './VerdocsEndpoint-8196ff47.js';
6
6
  import { i as integerSequence } from './Primitives-8fe93caf.js';
7
- import { s as saveEnvelopesAsZip } from './utils-a56ee5e9.js';
7
+ import { s as saveEnvelopesAsZip } from './utils-f35325fe.js';
8
8
  import { S as SDKError } from './errors-9b5498c8.js';
9
9
  import './_commonjsHelpers-5ec8f9b7.js';
10
10
  import './Types-086facf7.js';