@signiphi/pdf-signer 0.2.0-beta.24 → 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
@@ -2312,11 +2310,10 @@ ${cssRules.join("\n")}`;
2312
2310
  for (const [id, data] of Object.entries(storedData)) {
2313
2311
  const fieldName = idToNameMap[id];
2314
2312
  if (!fieldName) continue;
2315
- const fieldType = fieldInfo[fieldName]?.type;
2316
- const isRadioButton = fieldType && (fieldType.toLowerCase().includes("radio") || fieldType.toLowerCase().includes("radiobutton") || fieldType === "radiobutton");
2313
+ const metaType = fieldMetadataRef.current.find((f) => f.name === fieldName)?.type;
2317
2314
  const widgetCount = fieldInfo[fieldName]?.widgets?.length || 0;
2318
- const isLikelyRadioGroup = widgetCount > 1 && fieldName.toLowerCase().includes("radio");
2319
- if (fieldName && (isRadioButton || isLikelyRadioGroup)) {
2315
+ const isRadioButton = metaType !== void 0 ? metaType === "radio" /* RADIO */ : widgetCount > 1;
2316
+ if (fieldName && isRadioButton) {
2320
2317
  if (!radioGroups[fieldName]) {
2321
2318
  radioGroups[fieldName] = [];
2322
2319
  }
@@ -2380,8 +2377,9 @@ ${cssRules.join("\n")}`;
2380
2377
  const field = fieldArray[0];
2381
2378
  if (field && field.value !== void 0 && field.value !== null) {
2382
2379
  const fieldValue = String(field.value);
2383
- const fieldType = fieldInfo[name]?.type;
2384
- 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;
2385
2383
  if (isRadioButton && fieldValue !== "true" && fieldValue !== "false") {
2386
2384
  const widgets = fieldInfo[name]?.widgets || [];
2387
2385
  if (widgets.length > 0) {
@@ -9906,8 +9904,9 @@ function SubmissionForm({
9906
9904
  }
9907
9905
  }
9908
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));
9909
9908
  for (const [key, pdfValue] of Object.entries(pdfFieldValues)) {
9910
- if (key.includes("radio")) {
9909
+ if (radioFieldIds.has(key)) {
9911
9910
  const reactValue = currentFieldValues[key];
9912
9911
  if (pdfValue && pdfValue.includes("__RADIO_OPTION_INDEX_")) {
9913
9912
  finalFieldValues[key] = pdfValue;