@signiphi/pdf-signer 0.2.0-beta.23 → 0.2.0-beta.25

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.
@@ -1 +1 @@
1
- {"version":3,"file":"SubmissionForm.d.ts","sourceRoot":"","sources":["../../src/components/SubmissionForm.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAwC,MAAM,EAAE,MAAM,UAAU,CAAC;AA2B7G,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IAGf,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,uGAAuG;IACvG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yFAAyF;IACzF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,0DAA0D;IAC1D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,cAAc,EAAE,CAAC;IACpC,mFAAmF;IACnF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qEAAqE;IACrE,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,6FAA6F;IAC7F,qBAAqB,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAClD,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kDAAkD;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAAE,yBAAyB;AAC7C,aAAa,EACb,mBAAmB,EACnB,aAAoB,EACpB,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,QAAgB,EAChB,SAAc,EACd,aAAoB,EACpB,gBAAgB,EAChB,kBAA0B,EAC1B,qBAA6B,EAC7B,qBAA6B,EAC7B,iBAAyB,EACzB,cAAmB,EACnB,MAAM,EACN,gBAAgB,EAChB,UAAU,GACX,EAAE,mBAAmB,2CA4wFrB"}
1
+ {"version":3,"file":"SubmissionForm.d.ts","sourceRoot":"","sources":["../../src/components/SubmissionForm.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAwC,MAAM,EAAE,MAAM,UAAU,CAAC;AA2B7G,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IAGf,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,uGAAuG;IACvG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yFAAyF;IACzF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,0DAA0D;IAC1D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,cAAc,EAAE,CAAC;IACpC,mFAAmF;IACnF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qEAAqE;IACrE,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,6FAA6F;IAC7F,qBAAqB,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAClD,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kDAAkD;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAAE,yBAAyB;AAC7C,aAAa,EACb,mBAAmB,EACnB,aAAoB,EACpB,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,QAAgB,EAChB,SAAc,EACd,aAAoB,EACpB,gBAAgB,EAChB,kBAA0B,EAC1B,qBAA6B,EAC7B,qBAA6B,EAC7B,iBAAyB,EACzB,cAAmB,EACnB,MAAM,EACN,gBAAgB,EAChB,UAAU,GACX,EAAE,mBAAmB,2CA+wFrB"}
@@ -205,11 +205,6 @@ function isAutoGeneratedLabel(label) {
205
205
  "i"
206
206
  );
207
207
  if (typeTimestampPattern.test(trimmed)) return true;
208
- const typeNumberPattern = new RegExp(
209
- `^(${autoLabels.join("|")})[\\s_-]?\\d{1,3}$`,
210
- "i"
211
- );
212
- if (typeNumberPattern.test(trimmed)) return true;
213
208
  const typeWordsJoined = autoLabels.join("|");
214
209
  const corruptedPattern = new RegExp(
215
210
  `^(${typeWordsJoined})[\\s_-]?\\d{10,}[\\s_-]?(${typeWordsJoined})+`,
@@ -225,7 +220,8 @@ function isAutoGeneratedLabel(label) {
225
220
  }
226
221
  function hasDrawableLabel(field) {
227
222
  if (!field.label || !field.label.trim()) return false;
228
- if (field.isLabelAutoGenerated) return false;
223
+ if (field.isLabelAutoGenerated === true) return false;
224
+ if (field.isLabelAutoGenerated === false) return true;
229
225
  if (isAutoGeneratedLabel(field.label)) return false;
230
226
  return true;
231
227
  }
@@ -1513,6 +1509,8 @@ async function extractVisibleFormFields(pdfBytes, currentSignerEmail) {
1513
1509
  // Use fieldId from metadata, fallback to fieldName for backward compatibility
1514
1510
  name: fieldName,
1515
1511
  // Keep original for removal later
1512
+ mappableName: fieldMetadata.mappableName,
1513
+ // User-editable CSV-mapping identifier (undefined for legacy templates)
1516
1514
  type: fieldType,
1517
1515
  label: displayLabel,
1518
1516
  // Use friendly label for display
@@ -1561,7 +1559,9 @@ async function extractVisibleFormFields(pdfBytes, currentSignerEmail) {
1561
1559
  placeholder: "Draw or upload your signature",
1562
1560
  assignedSignerEmail: currentSignerEmail
1563
1561
  });
1564
- const shouldCreateInitialsField = hasAnyInitialsFields;
1562
+ const shouldCreateInitialsField = currentSignerEmail ? visibleFields.some(
1563
+ (f) => f.type === "initials" /* INITIALS */ && (!f.assignedSignerEmail || f.assignedSignerEmail === currentSignerEmail || f.assignedSignerEmail === "to-recipients" || f.assignedSignerEmail === "additional-signers")
1564
+ ) : hasAnyInitialsFields;
1565
1565
  if (shouldCreateInitialsField) {
1566
1566
  mainFields.push({
1567
1567
  id: "initials_field_main",
@@ -2310,11 +2310,10 @@ ${cssRules.join("\n")}`;
2310
2310
  for (const [id, data] of Object.entries(storedData)) {
2311
2311
  const fieldName = idToNameMap[id];
2312
2312
  if (!fieldName) continue;
2313
- const fieldType = fieldInfo[fieldName]?.type;
2314
- const isRadioButton = fieldType && (fieldType.toLowerCase().includes("radio") || fieldType.toLowerCase().includes("radiobutton") || fieldType === "radiobutton");
2313
+ const metaType = fieldMetadataRef.current.find((f) => f.name === fieldName)?.type;
2315
2314
  const widgetCount = fieldInfo[fieldName]?.widgets?.length || 0;
2316
- const isLikelyRadioGroup = widgetCount > 1 && fieldName.toLowerCase().includes("radio");
2317
- if (fieldName && (isRadioButton || isLikelyRadioGroup)) {
2315
+ const isRadioButton = metaType !== void 0 ? metaType === "radio" /* RADIO */ : widgetCount > 1;
2316
+ if (fieldName && isRadioButton) {
2318
2317
  if (!radioGroups[fieldName]) {
2319
2318
  radioGroups[fieldName] = [];
2320
2319
  }
@@ -2378,8 +2377,9 @@ ${cssRules.join("\n")}`;
2378
2377
  const field = fieldArray[0];
2379
2378
  if (field && field.value !== void 0 && field.value !== null) {
2380
2379
  const fieldValue = String(field.value);
2381
- const fieldType = fieldInfo[name]?.type;
2382
- const isRadioButton = fieldType && (fieldType.toLowerCase().includes("radio") || fieldType === "radiobutton");
2380
+ const metaType = fieldMetadataRef.current.find((f) => f.name === name)?.type;
2381
+ const widgetCount = fieldInfo[name]?.widgets?.length || 0;
2382
+ const isRadioButton = metaType !== void 0 ? metaType === "radio" /* RADIO */ : widgetCount > 1;
2383
2383
  if (isRadioButton && fieldValue !== "true" && fieldValue !== "false") {
2384
2384
  const widgets = fieldInfo[name]?.widgets || [];
2385
2385
  if (widgets.length > 0) {
@@ -9904,8 +9904,9 @@ function SubmissionForm({
9904
9904
  }
9905
9905
  }
9906
9906
  console.log("[SUBMIT] finalFieldValues after merge has", Object.keys(finalFieldValues).length, "entries");
9907
+ const radioFieldIds = new Set(filteredFields.filter((f) => f.type === "radio").map((f) => f.id));
9907
9908
  for (const [key, pdfValue] of Object.entries(pdfFieldValues)) {
9908
- if (key.includes("radio")) {
9909
+ if (radioFieldIds.has(key)) {
9909
9910
  const reactValue = currentFieldValues[key];
9910
9911
  if (pdfValue && pdfValue.includes("__RADIO_OPTION_INDEX_")) {
9911
9912
  finalFieldValues[key] = pdfValue;