@feathery/react 2.39.4 → 2.40.0

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 (88) hide show
  1. package/cjs/elements/components/QuikFormViewer/transforms/form.d.ts.map +1 -1
  2. package/cjs/{fthry_AssistantChat.DnWwYHQn.js → fthry_AssistantChat.G0rHUKOm.js} +4 -4
  3. package/cjs/{fthry_FormControl.CsTMtkK6.js → fthry_FormControl.BwRmM30S.js} +1 -1
  4. package/cjs/{fthry_InlineTooltip.C7AC8sKh.js → fthry_InlineTooltip.Bs529m1d.js} +2 -2
  5. package/cjs/{fthry_Overlay.CdKK4u2g.js → fthry_Overlay.ZvXimrP-.js} +1 -1
  6. package/cjs/{fthry_PaymentMethodField.Bm2DR5ZM.js → fthry_PaymentMethodField.DN0v1YmF.js} +4 -4
  7. package/cjs/{fthry_Placeholder.CAlnRoL9.js → fthry_Placeholder.DzUdOE_N.js} +1 -1
  8. package/cjs/{fthry_ShowEyeIcon.y6CzT3OY.js → fthry_ShowEyeIcon.DFO9YO4y.js} +1 -1
  9. package/cjs/{fthry_highlighted-body-TPN3WLV5.B7_ff94b.js → fthry_highlighted-body-TPN3WLV5.CsHGvYhh.js} +3 -3
  10. package/cjs/{fthry_index.C6V-5sVJ.js → fthry_index.5LVTbVr2.js} +5 -5
  11. package/cjs/{fthry_index.Bf-r5Hyx.js → fthry_index.7bAdlgHy.js} +4 -4
  12. package/cjs/{fthry_index.0p5YTe6g.js → fthry_index.B9or_S6G.js} +1 -1
  13. package/cjs/{fthry_index.Bq5bNmC5.js → fthry_index.BMBD0adh.js} +1 -1
  14. package/cjs/{fthry_index.DgfUQV0p.js → fthry_index.BNB0x74A.js} +8 -8
  15. package/cjs/{fthry_index.CK11RRjf.js → fthry_index.BklL-aiD.js} +3 -3
  16. package/cjs/{fthry_index.BWebQH-E.js → fthry_index.C6yl7Ss-.js} +2 -2
  17. package/cjs/{fthry_index.vtzgpOYZ.js → fthry_index.CFYcuteU.js} +1 -1
  18. package/cjs/{fthry_index.rd6jbLis.js → fthry_index.CWX3sSB9.js} +1 -1
  19. package/cjs/{fthry_index.lwxn3wtK.js → fthry_index.CZQRzS7D.js} +160 -70
  20. package/cjs/{fthry_index.CEYVccUV.js → fthry_index.CbrD0Z53.js} +1 -1
  21. package/cjs/{fthry_index.CofFj5ER.js → fthry_index.CjepExAG.js} +1 -1
  22. package/cjs/{fthry_index.DvXrxU9b.js → fthry_index.Ctv-i1zI.js} +1 -1
  23. package/cjs/{fthry_index.DpKzKR1Y.js → fthry_index.D1XeJIsf.js} +6 -6
  24. package/cjs/{fthry_index.CY4QhZTQ.js → fthry_index.D4mJgW_c.js} +1 -1
  25. package/cjs/{fthry_index.NqLsD4p5.js → fthry_index.D6kp7W7I.js} +2 -2
  26. package/cjs/{fthry_index.CuKuHOLx.js → fthry_index.D9dmRskb.js} +6 -6
  27. package/cjs/{fthry_index.BJnsdnO7.js → fthry_index.Dmq9NSJd.js} +5 -5
  28. package/cjs/{fthry_index.B4qFJMWZ.js → fthry_index.DrOeHAs6.js} +5 -5
  29. package/cjs/{fthry_index.B0nu8Nbi.js → fthry_index.LTo4dKdb.js} +5 -5
  30. package/cjs/{fthry_index.CLoBO1ES.js → fthry_index.PbjPJIUk.js} +1 -1
  31. package/cjs/{fthry_index.Dw8XsWmo.js → fthry_index.SdAzmwen.js} +4 -4
  32. package/cjs/{fthry_index.DAifQRmo.js → fthry_index.koqHLxjW.js} +3 -3
  33. package/cjs/{fthry_index.DsHYiGx7.js → fthry_index.lGyEnbOI.js} +6 -6
  34. package/cjs/{fthry_index.Jn-fry1W.js → fthry_index.wKZXS8Pf.js} +6 -6
  35. package/cjs/{fthry_input.CR_ydNbL.js → fthry_input.C5hU8qoU.js} +1 -1
  36. package/cjs/{fthry_mermaid-O7DHMXV3.DD6KKcMU.js → fthry_mermaid-O7DHMXV3.CwUNhDAv.js} +3 -3
  37. package/cjs/{fthry_script.EDJ1t7HJ.js → fthry_script.CXV8Wb7h.js} +1 -1
  38. package/cjs/{fthry_styles.rCHJiVa8.js → fthry_styles.CR0dqh6j.js} +1 -1
  39. package/cjs/{fthry_useElementSize.DLBCwcXn.js → fthry_useElementSize.CNPWGju4.js} +1 -1
  40. package/cjs/{fthry_useSalesforceSync.2JVcfRRm.js → fthry_useSalesforceSync.7E9m_hhF.js} +1 -1
  41. package/cjs/{fthry_webfontloader.DczITgMn.js → fthry_webfontloader.DccGtWsq.js} +1 -1
  42. package/cjs/index.js +1 -1
  43. package/cjs/utils/featheryClient/integrationClient.d.ts.map +1 -1
  44. package/dist/elements/components/QuikFormViewer/transforms/form.d.ts.map +1 -1
  45. package/dist/{fthry_AssistantChat.DyxRadsO.js → fthry_AssistantChat.C4E2R_en.js} +4 -4
  46. package/dist/{fthry_FormControl.DW-PzCTD.js → fthry_FormControl.BaRwUrV1.js} +1 -1
  47. package/dist/{fthry_InlineTooltip.DH0_bhWT.js → fthry_InlineTooltip.Du40UlbF.js} +2 -2
  48. package/dist/{fthry_Overlay.B-EoMj6i.js → fthry_Overlay.D_sj8sym.js} +1 -1
  49. package/dist/{fthry_PaymentMethodField.4z01I9c2.js → fthry_PaymentMethodField.mzXuSQ8R.js} +4 -4
  50. package/dist/{fthry_Placeholder.CsEb_0jP.js → fthry_Placeholder.CeQnc05Z.js} +1 -1
  51. package/dist/{fthry_ShowEyeIcon.CY7vkrxH.js → fthry_ShowEyeIcon.C0yRQ198.js} +1 -1
  52. package/dist/{fthry_highlighted-body-TPN3WLV5.WhfSZUph.js → fthry_highlighted-body-TPN3WLV5.BH1ZC9h3.js} +3 -3
  53. package/dist/{fthry_index.BBN9ErVH.js → fthry_index.2cm5TGLE.js} +3 -3
  54. package/dist/{fthry_index.D-taV-bR.js → fthry_index.9s5SUZD0.js} +2 -2
  55. package/dist/{fthry_index.CRN7fgaA.js → fthry_index.BAW36YGO.js} +3 -3
  56. package/dist/{fthry_index.DZHccCmm.js → fthry_index.BJL5DUFv.js} +1 -1
  57. package/dist/{fthry_index.DPzStrPv.js → fthry_index.BS0y_3jr.js} +5 -5
  58. package/dist/{fthry_index.DOusftvr.js → fthry_index.B_kkxOWT.js} +1 -1
  59. package/dist/{fthry_index.BcuhnRVe.js → fthry_index.Bhle2u_B.js} +5 -5
  60. package/dist/{fthry_index.C5s-ri9w.js → fthry_index.Bi9j2CoL.js} +6 -6
  61. package/dist/{fthry_index.TGIOgm1P.js → fthry_index.CFui_RpS.js} +1 -1
  62. package/dist/{fthry_index.DJW01HJc.js → fthry_index.CSfhoU0u.js} +1 -1
  63. package/dist/{fthry_index.DT5K1q45.js → fthry_index.D2-8ZRpd.js} +6 -6
  64. package/dist/{fthry_index.C4i92P7n.js → fthry_index.D74y6OAR.js} +5 -5
  65. package/dist/{fthry_index.CWQ5TF9P.js → fthry_index.DEOA055J.js} +1 -1
  66. package/dist/{fthry_index.DcJaXrNb.js → fthry_index.Dhg5xJ4s.js} +5 -5
  67. package/dist/{fthry_index.CuSdRZlr.js → fthry_index.Dib6rza_.js} +2 -2
  68. package/dist/{fthry_index.BGbb010x.js → fthry_index.DjZQBlTA.js} +1 -1
  69. package/dist/{fthry_index.BxdW5LSK.js → fthry_index.DoLCpn8f.js} +5 -5
  70. package/dist/{fthry_index.CaLdEUIs.js → fthry_index.DukxIF0D.js} +1 -1
  71. package/dist/{fthry_index.dEOj4jGg.js → fthry_index.DylkcojM.js} +4 -4
  72. package/dist/{fthry_index.YBkOgnF3.js → fthry_index.GJ441VFD.js} +8 -8
  73. package/dist/{fthry_index.BTDPz6lF.js → fthry_index.Km475eeC.js} +6 -6
  74. package/dist/{fthry_index.D-yMY95w.js → fthry_index.Ky-g0bWJ.js} +1 -1
  75. package/dist/{fthry_index.9cP9rowY.js → fthry_index.Qya_gJCa.js} +4 -4
  76. package/dist/{fthry_index.CMIcXXN7.js → fthry_index.Y8uCPyI1.js} +1 -1
  77. package/dist/{fthry_index.DvCeSc1i.js → fthry_index.xIaUS4wo.js} +160 -70
  78. package/dist/{fthry_input.CYfy5c88.js → fthry_input.BUZxnbfK.js} +1 -1
  79. package/dist/{fthry_mermaid-O7DHMXV3.B07qWrrr.js → fthry_mermaid-O7DHMXV3.C8qNyDC8.js} +3 -3
  80. package/dist/{fthry_script.COjfzI9f.js → fthry_script.CHlON7tM.js} +1 -1
  81. package/dist/{fthry_styles.B0A-Aezb.js → fthry_styles.CRruZ5I3.js} +1 -1
  82. package/dist/{fthry_useElementSize.D_HDphFt.js → fthry_useElementSize.DyfzVGG2.js} +1 -1
  83. package/dist/{fthry_useSalesforceSync.DlGyAqqs.js → fthry_useSalesforceSync.YGkWXJ1l.js} +1 -1
  84. package/dist/{fthry_webfontloader.z0J580qI.js → fthry_webfontloader.DVyqdvKt.js} +1 -1
  85. package/dist/index.js +1 -1
  86. package/dist/utils/featheryClient/integrationClient.d.ts.map +1 -1
  87. package/package.json +1 -1
  88. package/umd/index.js +1 -1
@@ -8708,6 +8708,63 @@ var TYPE_MESSAGES_TO_IGNORE = [
8708
8708
  // e.g. https://sentry.io/organizations/feathery-forms/issues/3529742129/
8709
8709
  'Load failed'
8710
8710
  ];
8711
+ var QUIK_DYNAMIC_ATTACHMENTS_OPTION = '__quik_dynamic_attachments__';
8712
+ var getQuikAttachmentPosition = function (position) {
8713
+ return position === 'before' ? 'before' : 'after';
8714
+ };
8715
+ var isQuikDynamicAttachmentId = function (id) {
8716
+ return typeof id === 'string' &&
8717
+ (id === QUIK_DYNAMIC_ATTACHMENTS_OPTION ||
8718
+ id.startsWith("".concat(QUIK_DYNAMIC_ATTACHMENTS_OPTION, ":")));
8719
+ };
8720
+ var normalizeConfiguredQuikAttachments = function (value, getDynamicAttachmentIds) {
8721
+ if (getDynamicAttachmentIds === void 0) { getDynamicAttachmentIds = function () { return []; }; }
8722
+ if (value == null || value === '')
8723
+ return [];
8724
+ // Builder config stores attachment rows as a list. Normalize a list or single
8725
+ // row into one flat attachment list so runtime consumers get one shape.
8726
+ if (Array.isArray(value)) {
8727
+ return value.flatMap(function (attachment) {
8728
+ return normalizeConfiguredQuikAttachments(attachment, getDynamicAttachmentIds);
8729
+ });
8730
+ }
8731
+ if (typeof value === 'object') {
8732
+ var id = value.id;
8733
+ if (!id && !value.field_key)
8734
+ return [];
8735
+ // Dynamic rows are builder-configured placeholders. The hidden field
8736
+ // supplies only doc IDs; placement comes from this row's before/after slot.
8737
+ if (isQuikDynamicAttachmentId(id) || value.field_key) {
8738
+ return getDynamicAttachmentIds(value).map(function (attachmentId) { return ({
8739
+ id: attachmentId,
8740
+ position: getQuikAttachmentPosition(value.position)
8741
+ }); });
8742
+ }
8743
+ var attachment = { id: id };
8744
+ if (['before', 'after'].includes(value.position)) {
8745
+ attachment.position = value.position;
8746
+ }
8747
+ return [attachment];
8748
+ }
8749
+ return [];
8750
+ };
8751
+ var normalizeDynamicQuikAttachmentIds = function (value) {
8752
+ if (!Array.isArray(value))
8753
+ return [];
8754
+ // Dynamic hidden fields intentionally support only string ID arrays.
8755
+ // Invalid values are ignored instead of treated as attachment config.
8756
+ return value
8757
+ .filter(function (id) { return typeof id === 'string'; })
8758
+ .map(function (id) { return id.trim(); })
8759
+ .filter(Boolean);
8760
+ };
8761
+ var resolveQuikAttachments = function (action) {
8762
+ var getDynamicAttachmentIds = function (attachment) {
8763
+ if (attachment === void 0) { attachment = {}; }
8764
+ return normalizeDynamicQuikAttachmentIds(exports.fieldValues[attachment.field_key]);
8765
+ };
8766
+ return normalizeConfiguredQuikAttachments(action.attachments, getDynamicAttachmentIds);
8767
+ };
8711
8768
  // THIRD-PARTY INTEGRATIONS
8712
8769
  var IntegrationClient = /** @class */ (function () {
8713
8770
  function IntegrationClient(formKey, ignoreNetworkErrors, draft, bypassCDN) {
@@ -9245,7 +9302,7 @@ var IntegrationClient = /** @class */ (function () {
9245
9302
  };
9246
9303
  IntegrationClient.prototype.generateQuikEnvelopes = function (action) {
9247
9304
  return __awaiter$2(this, void 0, void 0, function () {
9248
- var _a, userId, sdkKey, tags, fieldVal;
9305
+ var _a, userId, sdkKey, tags, fieldVal, resolvedAction;
9249
9306
  return __generator(this, function (_b) {
9250
9307
  switch (_b.label) {
9251
9308
  case 0:
@@ -9263,10 +9320,11 @@ var IntegrationClient = /** @class */ (function () {
9263
9320
  tags = [JSON.stringify(fieldVal)];
9264
9321
  }
9265
9322
  }
9323
+ resolvedAction = exports.__assign(exports.__assign({}, action), { attachments: resolveQuikAttachments(action) });
9266
9324
  return [4 /*yield*/, distExports$2.generateQuikEnvelopes({
9267
9325
  sdkKey: sdkKey,
9268
9326
  formId: this.formKey,
9269
- action: action,
9327
+ action: resolvedAction,
9270
9328
  userId: userId,
9271
9329
  tags: tags,
9272
9330
  checkInterval: this.QUIK_CHECK_INTERVAL,
@@ -23667,7 +23725,20 @@ function generateHeaderElement(doc, inline) {
23667
23725
  return newHeader;
23668
23726
  }
23669
23727
 
23670
- var FORM_STYLES = "\n #QFVFormPage {\n display: flex;\n flex: 1;\n flex-direction: column;\n width: 100%;\n margin: 0 auto;\n }\n #wrapper {\n position: static;\n background: #f6f7fa;\n overflow: auto;\n width: 100% !important;\n height: 100%;\n }\n #scroller {\n width: auto;\n position: static;\n max-width: 1000px;\n margin: 0 auto;\n background: none !important;\n }\n\n #QFVPageList {\n position: relative;\n border: none !important;\n }\n\n #QFVPageList li {\n position: relative;\n margin: 5% 15pt;\n border: none !important;\n box-shadow: 0px 1.05px 5.27px 0px #23254340;\n border-radius: 8px;\n overflow: hidden;\n }\n\n #QFVPageList li > div {\n width: 100% !important;\n height: auto !important;\n position: relative;\n overflow: hidden;\n }\n\n #QFVPageList li > div > div {\n background: none !important;\n }\n\n #QFVPageList li > div > div > img {\n width: 100% !important;\n }\n\n .input-label {\n border: none !important;\n }\n\n #QFVPageList .input-label > span {\n width: 100% !important;\n aspect-ratio: 1 / 1;\n height: auto !important;\n background-size: contain;\n }\n";
23728
+ var FORM_STYLES = "\n #QFVFormPage {\n display: flex;\n flex: 1;\n flex-direction: column;\n width: 100%;\n margin: 0 auto;\n }\n #wrapper {\n position: static;\n background: #f6f7fa;\n overflow: auto;\n width: 100% !important;\n height: 100%;\n }\n #scroller {\n width: auto;\n position: static;\n max-width: 1000px;\n margin: 0 auto;\n background: none !important;\n }\n\n #QFVPageList {\n position: relative;\n border: none !important;\n }\n\n /*\n * Each <li> is the responsive \"card\". Its aspect-ratio (set inline per page\n * from the page's pt dimensions) reserves the correct height as the column\n * width changes, since the scaled page below does not contribute layout size.\n */\n #QFVPageList li {\n position: relative;\n margin: 5% 15pt;\n border: none !important;\n box-shadow: 0px 1.05px 5.27px 0px #23254340;\n border-radius: 8px;\n overflow: hidden;\n }\n\n /*\n * The page itself stays at its natural pt size and is scaled to fill the card\n * with a single uniform transform. Because the page image and every overlay\n * live in this one rigid coordinate space, they scale together and cannot\n * drift relative to each other at any width. --quik-page-scale is set per\n * page by the injected ResizeObserver (see PAGE_SCALE_SCRIPT).\n */\n #QFVPageList li > div {\n position: absolute;\n top: 0;\n left: 0;\n transform-origin: top left;\n transform: scale(var(--quik-page-scale, 1));\n }\n\n #QFVPageList li > div > div {\n background: none !important;\n }\n\n #QFVPageList li > div > div > img {\n width: 100% !important;\n display: block !important;\n }\n\n /*\n * Overlay inputs are sized in pt that already account for their padding and\n * border (the source renders them border-box via its external CSS/JS, which\n * does not run inside this restructured iframe). Force border-box so the pt\n * width/height is the rendered box \u2014 otherwise content-box adds padding +\n * border on top and the boxes render too large, most visibly in height.\n */\n #QFVPageList input,\n #QFVPageList textarea,\n #QFVPageList select,\n #QFVPageList label {\n box-sizing: border-box !important;\n }\n\n .input-label {\n border: none !important;\n }\n\n #QFVPageList .input-label > span {\n width: 100% !important;\n aspect-ratio: 1 / 1;\n height: auto !important;\n background-size: contain;\n }\n";
23729
+ /**
23730
+ * Left inset (in pt) that every overlay's source 'left' carries relative to the
23731
+ * page-width basis. Subtracted from all elements so inputs align with the page
23732
+ * image the same way labels already did.
23733
+ */
23734
+ var PAGE_LEFT_OFFSET_PT = 2;
23735
+ /**
23736
+ * Per-page top inset (in pt) baked into the source coordinate system: each page
23737
+ * contributes a 2px (= 1.5pt at 96dpi) top border, so page N's origin is
23738
+ * `1.5 + N * (pageHeight + 1.5)`. Confirmed empirically — before this offset the
23739
+ * residual vertical drift was exactly 1.5pt × (pageIndex + 1).
23740
+ */
23741
+ var PAGE_TOP_GAP_PT = 1.5;
23671
23742
  /**
23672
23743
  * Parses a CSS style value (e.g., "123pt" or "calc(2*456pt)") and returns the numerical value in 'pt'.
23673
23744
  * This function handles simple 'pt' values and 'calc()' expressions by using a safe evaluation.
@@ -23678,60 +23749,65 @@ function parsePtValue(styleValue) {
23678
23749
  return styleValue ? parseFloat(styleValue.replace('pt', '')) : 0;
23679
23750
  }
23680
23751
  /**
23681
- * Recalculates the 'top', 'left', 'width', and 'height' of all elements to be
23682
- * relative to their page container and converts them to percentage values.
23752
+ * Makes the Quik document responsive by localizing each overlay onto its page
23753
+ * (in native `pt`) and scaling each page as a single rigid unit to fill its
23754
+ * responsive container.
23683
23755
  *
23684
- * This function is designed to work with the provided HTML structure where
23685
- * elements have absolute positioning based on the entire document and page
23686
- * containers have their dimensions defined in `pt` in their style attribute.
23687
- * It makes the layout responsive by converting these fixed `pt` values to
23688
- * percentages based on the parent page's dimensions.
23756
+ * The source HTML positions every overlay absolutely against one document-wide
23757
+ * container, so coordinates are cumulative across pages and page dimensions are
23758
+ * declared in `pt`. Rather than re-deriving per-axis percentages (which couples
23759
+ * alignment to containing-block and box-model behavior), this keeps the page's
23760
+ * exact coordinate space intact and applies a uniform CSS transform, so the
23761
+ * page image and its overlays can never drift relative to one another.
23689
23762
  *
23690
23763
  * @param doc The document object to manipulate.
23691
23764
  */
23692
23765
  function repositionFormInputs(doc) {
23693
- var pageOffsetPt = 1.5; // original positions include 2px (1.5pt) top border per page
23766
+ // Overlays are absolutely positioned against a single document-wide container
23767
+ // (#scroller in the source), so their `top` values are cumulative across all
23768
+ // pages. Each page contributes its height plus a 2px (1.5pt) top border, so
23769
+ // the running origin starts at one border and grows by height + border.
23770
+ var pageOffsetPt = PAGE_TOP_GAP_PT;
23694
23771
  var pages = doc.querySelectorAll('#QFVPageList > li > div');
23695
23772
  pages.forEach(function (page) {
23696
- // Dynamically get the page's dimensions from its style attribute.
23697
23773
  var pageWidthPt = parsePtValue(page.style.width);
23698
23774
  var pageHeightPt = parsePtValue(page.style.height);
23699
23775
  if (pageWidthPt === 0 || pageHeightPt === 0) {
23700
23776
  console.error('Could not determine page dimensions from style attribute:', page);
23701
- return; // Skip this page if dimensions are not found.
23777
+ // Still advance the cumulative origin so later pages stay in sync.
23778
+ pageOffsetPt += pageHeightPt + PAGE_TOP_GAP_PT;
23779
+ return;
23702
23780
  }
23703
- // Get all child elements of the page, not just inputs.
23704
- var elements = Array.from(page.children);
23705
- elements.forEach(function (element) {
23706
- if (element instanceof HTMLElement) {
23707
- var style = element.style;
23708
- // Get original pt values for all relevant properties.
23709
- var currentTopPt = parsePtValue(style.top);
23710
- var currentLeftPt = parsePtValue(style.left);
23711
- var currentWidthPt = parsePtValue(style.width);
23712
- var currentHeightPt = parsePtValue(style.height);
23713
- // Recalculate relative top position in pt by subtracting the cumulative page offset.
23714
- var relativeTopPt = currentTopPt - pageOffsetPt;
23715
- if (element.tagName === 'LABEL') {
23716
- currentLeftPt -= 2; // Adjust for label (radio box)'s left offset
23717
- }
23718
- // Convert pt values to percentages.
23719
- var newTopPercent = (relativeTopPt / pageHeightPt) * 100;
23720
- var newLeftPercent = (currentLeftPt / pageWidthPt) * 100;
23721
- var newWidthPercent = (currentWidthPt / pageWidthPt) * 100;
23722
- var newHeightPercent = (currentHeightPt / pageHeightPt) * 100;
23723
- // Update the element's style with percentage values.
23724
- style.top = "".concat(newTopPercent.toFixed(2), "%");
23725
- style.left = "".concat(newLeftPercent.toFixed(2), "%");
23726
- style.width = "".concat(newWidthPercent.toFixed(2), "%");
23727
- style.height = "".concat(newHeightPercent.toFixed(2), "%");
23728
- if (element.tagName === 'LABEL') {
23729
- element.className = "input-label ".concat(element.className);
23730
- }
23781
+ // Localize each overlay from the document-wide cumulative coordinate system
23782
+ // onto this page, keeping native pt units. The whole page is scaled as one
23783
+ // rigid unit (see below), so overlays cannot drift relative to the image.
23784
+ Array.from(page.children).forEach(function (element) {
23785
+ if (!(element instanceof HTMLElement))
23786
+ return;
23787
+ // The page image fills the page box; leave it at its natural size.
23788
+ if (element.tagName === 'IMG' || element.querySelector('img'))
23789
+ return;
23790
+ var localTopPt = parsePtValue(element.style.top) - pageOffsetPt;
23791
+ // The source 'left' carries a small (~2pt) inset relative to the page
23792
+ // image's left edge; remove it so overlays sit on the artwork.
23793
+ var localLeftPt = parsePtValue(element.style.left) - PAGE_LEFT_OFFSET_PT;
23794
+ element.style.top = "".concat(localTopPt, "pt");
23795
+ element.style.left = "".concat(localLeftPt, "pt");
23796
+ // width/height stay in their native pt units and scale with the page.
23797
+ if (element.tagName === 'LABEL') {
23798
+ element.className = "input-label ".concat(element.className);
23731
23799
  }
23732
23800
  });
23733
- // Update the cumulative page offset for the next page.
23734
- pageOffsetPt += pageHeightPt + 1.5; // Add 1.5pt for the top border of the next page
23801
+ // Pin the page to its natural pt size; the injected ResizeObserver scales it
23802
+ // (via --quik-page-scale) to fill the responsive <li> card. The <li> gets
23803
+ // the matching aspect-ratio so it reserves the correct layout height.
23804
+ page.style.width = "".concat(pageWidthPt, "pt");
23805
+ page.style.height = "".concat(pageHeightPt, "pt");
23806
+ page.dataset.quikPageWidthPt = "".concat(pageWidthPt);
23807
+ var li = page.parentElement;
23808
+ if (li)
23809
+ li.style.aspectRatio = "".concat(pageWidthPt, " / ").concat(pageHeightPt);
23810
+ pageOffsetPt += pageHeightPt + PAGE_TOP_GAP_PT;
23735
23811
  });
23736
23812
  }
23737
23813
  function generateFormElement(doc) {
@@ -23742,12 +23818,26 @@ function generateFormElement(doc) {
23742
23818
  }
23743
23819
  repositionFormInputs(doc);
23744
23820
  injectFormStyles(doc);
23821
+ injectPageScaleScript(doc);
23745
23822
  return form;
23746
23823
  }
23747
23824
  function injectFormStyles(doc) {
23748
23825
  var customFormStyle = doc.createElement('style');
23749
23826
  customFormStyle.innerHTML = FORM_STYLES;
23750
23827
  doc.head.appendChild(customFormStyle);
23828
+ }
23829
+ /** Points-to-pixels factor at 96dpi (CSS reference pixel: 96px === 72pt). */
23830
+ var PT_TO_PX = 96 / 72;
23831
+ /**
23832
+ * Sets each page's --quik-page-scale so its natural pt width fills the
23833
+ * responsive <li> card, and keeps it updated on resize. Runs inside the form
23834
+ * iframe. Kept dependency-free and ES5-safe since it executes verbatim there.
23835
+ */
23836
+ var PAGE_SCALE_SCRIPT = "\n(function () {\n var PT_TO_PX = ".concat(PT_TO_PX, ";\n function applyScale() {\n var pages = document.querySelectorAll(\n '#QFVPageList > li > div[data-quik-page-width-pt]'\n );\n for (var i = 0; i < pages.length; i++) {\n var page = pages[i];\n var li = page.parentElement;\n if (!li) continue;\n var widthPt = parseFloat(page.getAttribute('data-quik-page-width-pt'));\n if (!widthPt) continue;\n var naturalPx = widthPt * PT_TO_PX;\n var scale = li.clientWidth / naturalPx;\n if (scale > 0 && isFinite(scale)) {\n page.style.setProperty('--quik-page-scale', String(scale));\n }\n }\n }\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', applyScale);\n } else {\n applyScale();\n }\n window.addEventListener('resize', applyScale);\n if (typeof ResizeObserver !== 'undefined') {\n var list = document.querySelector('#QFVPageList');\n if (list) new ResizeObserver(applyScale).observe(list);\n }\n})();\n");
23837
+ function injectPageScaleScript(doc) {
23838
+ var script = doc.createElement('script');
23839
+ script.textContent = PAGE_SCALE_SCRIPT;
23840
+ doc.body.appendChild(script);
23751
23841
  }
23752
23842
 
23753
23843
  var SIDEBAR_WIDTH = '200px';
@@ -40912,7 +41002,7 @@ function useTrackUserInteraction(formRef, activeStep, stepKey, formName) {
40912
41002
  }, [activeStep, stepKey, formName]);
40913
41003
  }
40914
41004
 
40915
- var LazyAssistantChat = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "AssistantChat" */ './fthry_AssistantChat.DnWwYHQn.js'); }).then(function (n) { return n.AssistantChat; }); });
41005
+ var LazyAssistantChat = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "AssistantChat" */ './fthry_AssistantChat.G0rHUKOm.js'); }).then(function (n) { return n.AssistantChat; }); });
40916
41006
  var AssistantChat = function (props) { return (jsx$1(React.Suspense, exports.__assign({ fallback: null }, { children: jsx$1(LazyAssistantChat, exports.__assign({}, props)) }))); };
40917
41007
 
40918
41008
  var AssistantClient = /** @class */ (function () {
@@ -47518,9 +47608,9 @@ function init(sdkKey, options) {
47518
47608
  if (runningInClient()) {
47519
47609
  // Dynamically load libraries that must be client side
47520
47610
  global.scriptjsLoadPromise = Promise.resolve().then(function () { return require(
47521
- /* webpackChunkName: "scriptjs" */ './fthry_script.EDJ1t7HJ.js'); }).then(function (n) { return n.script; });
47611
+ /* webpackChunkName: "scriptjs" */ './fthry_script.CXV8Wb7h.js'); }).then(function (n) { return n.script; });
47522
47612
  global.webfontloaderPromise = Promise.resolve().then(function () { return require(
47523
- /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.DczITgMn.js'); }).then(function (n) { return n.webfontloader; });
47613
+ /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.DccGtWsq.js'); }).then(function (n) { return n.webfontloader; });
47524
47614
  // Client-side tracking logic
47525
47615
  if (initState.userTracking === 'cookie') {
47526
47616
  var cookieKey = "feathery-user-id-".concat(sdkKey);
@@ -47666,7 +47756,7 @@ function getFieldValues() {
47666
47756
  return exports.__assign({}, exports.fieldValues);
47667
47757
  }
47668
47758
  function logFeatheryBadge() {
47669
- console.log('%c Feathery %c v' + "2.39.4" + ' ', // replaced with real version during build
47759
+ console.log('%c Feathery %c v' + "2.40.0" + ' ', // replaced with real version during build
47670
47760
  'background: #e2626e; color: white; padding: 2px 6px; border-radius: 3px 0 0 3px; font-weight: bold;', 'background: #fce7e9; color: #c5495a; padding: 2px 6px; border-radius: 0 3px 3px 0;');
47671
47761
  }
47672
47762
 
@@ -49181,64 +49271,64 @@ breakpoint) {
49181
49271
 
49182
49272
  var fieldLoaders = {
49183
49273
  AddressLine1: function () {
49184
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "AddressField" */ './fthry_index.BJnsdnO7.js'); });
49274
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "AddressField" */ './fthry_index.Dmq9NSJd.js'); });
49185
49275
  },
49186
49276
  ButtonGroupField: function () {
49187
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "ButtonGroupField" */ './fthry_index.Dw8XsWmo.js'); });
49277
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "ButtonGroupField" */ './fthry_index.SdAzmwen.js'); });
49188
49278
  },
49189
49279
  CheckboxField: function () {
49190
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxField" */ './fthry_index.CofFj5ER.js'); });
49280
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxField" */ './fthry_index.CjepExAG.js'); });
49191
49281
  },
49192
49282
  CheckboxGroupField: function () {
49193
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxGroupField" */ './fthry_index.Jn-fry1W.js'); });
49283
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxGroupField" */ './fthry_index.wKZXS8Pf.js'); });
49194
49284
  },
49195
49285
  ColorPickerField: function () {
49196
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "ColorPickerField" */ './fthry_index.CY4QhZTQ.js'); });
49286
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "ColorPickerField" */ './fthry_index.D4mJgW_c.js'); });
49197
49287
  },
49198
49288
  CustomField: function () {
49199
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "CustomField" */ './fthry_index.CEYVccUV.js'); });
49289
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "CustomField" */ './fthry_index.CbrD0Z53.js'); });
49200
49290
  },
49201
49291
  DateSelectorField: function () {
49202
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "DateSelectorField" */ './fthry_index.DpKzKR1Y.js'); });
49292
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "DateSelectorField" */ './fthry_index.D1XeJIsf.js'); });
49203
49293
  },
49204
49294
  DropdownField: function () {
49205
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownField" */ './fthry_index.C6V-5sVJ.js'); });
49295
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownField" */ './fthry_index.5LVTbVr2.js'); });
49206
49296
  },
49207
49297
  DropdownMultiField: function () {
49208
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownMultiField" */ './fthry_index.B4qFJMWZ.js'); });
49298
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownMultiField" */ './fthry_index.DrOeHAs6.js'); });
49209
49299
  },
49210
49300
  FileUploadField: function () {
49211
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "FileUploadField" */ './fthry_index.vtzgpOYZ.js'); });
49301
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "FileUploadField" */ './fthry_index.CFYcuteU.js'); });
49212
49302
  },
49213
49303
  MatrixField: function () {
49214
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "MatrixField" */ './fthry_index.CK11RRjf.js'); });
49304
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "MatrixField" */ './fthry_index.BklL-aiD.js'); });
49215
49305
  },
49216
49306
  PasswordField: function () {
49217
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "PasswordField" */ './fthry_index.B0nu8Nbi.js'); });
49307
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "PasswordField" */ './fthry_index.LTo4dKdb.js'); });
49218
49308
  },
49219
49309
  PaymentMethodField: function () {
49220
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "PaymentMethodField" */ './fthry_PaymentMethodField.Bm2DR5ZM.js'); });
49310
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "PaymentMethodField" */ './fthry_PaymentMethodField.DN0v1YmF.js'); });
49221
49311
  },
49222
- PhoneField: function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PhoneField" */ './fthry_index.DsHYiGx7.js'); }); },
49312
+ PhoneField: function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PhoneField" */ './fthry_index.lGyEnbOI.js'); }); },
49223
49313
  PinInputField: function () {
49224
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "PinInputField" */ './fthry_index.0p5YTe6g.js'); });
49314
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "PinInputField" */ './fthry_index.B9or_S6G.js'); });
49225
49315
  },
49226
- QRScanner: function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "QRScanner" */ './fthry_index.NqLsD4p5.js'); }); },
49316
+ QRScanner: function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "QRScanner" */ './fthry_index.D6kp7W7I.js'); }); },
49227
49317
  RadioButtonGroupField: function () {
49228
49318
  return Promise.resolve().then(function () { return require(
49229
- /* webpackChunkName: "RadioButtonGroupField" */ './fthry_index.CuKuHOLx.js'); });
49319
+ /* webpackChunkName: "RadioButtonGroupField" */ './fthry_index.D9dmRskb.js'); });
49230
49320
  },
49231
49321
  RatingField: function () {
49232
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "RatingField" */ './fthry_index.CLoBO1ES.js'); });
49322
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "RatingField" */ './fthry_index.PbjPJIUk.js'); });
49233
49323
  },
49234
49324
  SignatureField: function () {
49235
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "SignatureField" */ './fthry_index.DAifQRmo.js'); });
49325
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "SignatureField" */ './fthry_index.koqHLxjW.js'); });
49236
49326
  },
49237
49327
  SliderField: function () {
49238
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "SliderField" */ './fthry_index.BWebQH-E.js'); });
49328
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "SliderField" */ './fthry_index.C6yl7Ss-.js'); });
49239
49329
  },
49240
- TextField: function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TextField" */ './fthry_index.DgfUQV0p.js'); }); },
49241
- TextArea: function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TextArea" */ './fthry_index.Bf-r5Hyx.js'); }); }
49330
+ TextField: function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TextField" */ './fthry_index.BNB0x74A.js'); }); },
49331
+ TextArea: function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TextArea" */ './fthry_index.7bAdlgHy.js'); }); }
49242
49332
  };
49243
49333
  var getPositionKey = function (element) { var _a; return ((_a = element.position) === null || _a === void 0 ? void 0 : _a.join(',')) || 'root'; };
49244
49334
  // Share the resolved component between preload and render. A separate
@@ -50432,7 +50522,7 @@ function ElementSkeleton(_a) {
50432
50522
  }
50433
50523
  var templateObject_1;
50434
50524
 
50435
- var TableElement = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TableElement" */ './fthry_index.DvXrxU9b.js'); }); });
50525
+ var TableElement = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TableElement" */ './fthry_index.Ctv-i1zI.js'); }); });
50436
50526
  var Basic = {
50437
50527
  ImageElement: ImageElement,
50438
50528
  VideoElement: VideoElement,
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index$1 = require('./fthry_index.lwxn3wtK.js');
3
+ var index$1 = require('./fthry_index.CZQRzS7D.js');
4
4
  var React = require('react');
5
5
  require('react/jsx-runtime');
6
6
  require('react-dom/client');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.lwxn3wtK.js');
3
+ var index = require('./fthry_index.CZQRzS7D.js');
4
4
  var React = require('react');
5
5
  require('react/jsx-runtime');
6
6
  require('react-dom/client');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.lwxn3wtK.js');
3
+ var index = require('./fthry_index.CZQRzS7D.js');
4
4
  var React = require('react');
5
5
  var ReactDOM = require('react-dom');
6
6
  require('react/jsx-runtime');
@@ -1,17 +1,17 @@
1
1
  'use strict';
2
2
 
3
- var index$3 = require('./fthry_index.lwxn3wtK.js');
3
+ var index$3 = require('./fthry_index.CZQRzS7D.js');
4
4
  var React = require('react');
5
- var Placeholder = require('./fthry_Placeholder.CAlnRoL9.js');
6
- var InlineTooltip = require('./fthry_InlineTooltip.C7AC8sKh.js');
5
+ var Placeholder = require('./fthry_Placeholder.DzUdOE_N.js');
6
+ var InlineTooltip = require('./fthry_InlineTooltip.Bs529m1d.js');
7
7
  var clsx = require('./fthry_clsx.BtxeOLZW.js');
8
8
  var ReactJSXRuntime = require('react/jsx-runtime');
9
9
  var ReactDOM = require('react-dom');
10
- var input = require('./fthry_input.CR_ydNbL.js');
10
+ var input = require('./fthry_input.C5hU8qoU.js');
11
11
  require('react-dom/client');
12
12
  require('jszip');
13
- require('./fthry_Overlay.CdKK4u2g.js');
14
- require('./fthry_index.Bq5bNmC5.js');
13
+ require('./fthry_Overlay.ZvXimrP-.js');
14
+ require('./fthry_index.BMBD0adh.js');
15
15
 
16
16
  function _interopNamespaceDefault(e) {
17
17
  var n = Object.create(null);
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.lwxn3wtK.js');
3
+ var index = require('./fthry_index.CZQRzS7D.js');
4
4
  var React = require('react');
5
5
  var ReactJSXRuntime = require('react/jsx-runtime');
6
6
  require('react-dom/client');
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.lwxn3wtK.js');
3
+ var index = require('./fthry_index.CZQRzS7D.js');
4
4
  var React = require('react');
5
- var styles = require('./fthry_styles.rCHJiVa8.js');
5
+ var styles = require('./fthry_styles.CR0dqh6j.js');
6
6
  require('react/jsx-runtime');
7
7
  require('react-dom/client');
8
8
  require('jszip');
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.lwxn3wtK.js');
3
+ var index = require('./fthry_index.CZQRzS7D.js');
4
4
  var React = require('react');
5
- var FormControl = require('./fthry_FormControl.CsTMtkK6.js');
6
- var index$1 = require('./fthry_index.CofFj5ER.js');
7
- var InlineTooltip = require('./fthry_InlineTooltip.C7AC8sKh.js');
8
- var useSalesforceSync = require('./fthry_useSalesforceSync.2JVcfRRm.js');
5
+ var FormControl = require('./fthry_FormControl.BwRmM30S.js');
6
+ var index$1 = require('./fthry_index.CjepExAG.js');
7
+ var InlineTooltip = require('./fthry_InlineTooltip.Bs529m1d.js');
8
+ var useSalesforceSync = require('./fthry_useSalesforceSync.7E9m_hhF.js');
9
9
  require('react/jsx-runtime');
10
10
  require('react-dom/client');
11
11
  require('jszip');
12
12
  require('react-dom');
13
- require('./fthry_Overlay.CdKK4u2g.js');
13
+ require('./fthry_Overlay.ZvXimrP-.js');
14
14
 
15
15
  var applyRadioGroupStyles = function (element, responsiveStyles) {
16
16
  responsiveStyles.addTargets('radioGroup');
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var index$1 = require('./fthry_index.lwxn3wtK.js');
3
+ var index$1 = require('./fthry_index.CZQRzS7D.js');
4
4
  var React = require('react');
5
- var Placeholder = require('./fthry_Placeholder.CAlnRoL9.js');
6
- var InlineTooltip = require('./fthry_InlineTooltip.C7AC8sKh.js');
7
- var Overlay = require('./fthry_Overlay.CdKK4u2g.js');
8
- var useElementSize = require('./fthry_useElementSize.DLBCwcXn.js');
5
+ var Placeholder = require('./fthry_Placeholder.DzUdOE_N.js');
6
+ var InlineTooltip = require('./fthry_InlineTooltip.Bs529m1d.js');
7
+ var Overlay = require('./fthry_Overlay.ZvXimrP-.js');
8
+ var useElementSize = require('./fthry_useElementSize.CNPWGju4.js');
9
9
  require('react/jsx-runtime');
10
10
  require('react-dom/client');
11
11
  require('jszip');
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var index$1 = require('./fthry_index.lwxn3wtK.js');
3
+ var index$1 = require('./fthry_index.CZQRzS7D.js');
4
4
  var React = require('react');
5
- var InlineTooltip = require('./fthry_InlineTooltip.C7AC8sKh.js');
6
- var Placeholder$2 = require('./fthry_Placeholder.CAlnRoL9.js');
7
- var useSalesforceSync = require('./fthry_useSalesforceSync.2JVcfRRm.js');
8
- var Overlay = require('./fthry_Overlay.CdKK4u2g.js');
5
+ var InlineTooltip = require('./fthry_InlineTooltip.Bs529m1d.js');
6
+ var Placeholder$2 = require('./fthry_Placeholder.DzUdOE_N.js');
7
+ var useSalesforceSync = require('./fthry_useSalesforceSync.7E9m_hhF.js');
8
+ var Overlay = require('./fthry_Overlay.ZvXimrP-.js');
9
9
  var ReactDOM = require('react-dom');
10
10
  require('react/jsx-runtime');
11
11
  require('react-dom/client');
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var index$1 = require('./fthry_index.lwxn3wtK.js');
3
+ var index$1 = require('./fthry_index.CZQRzS7D.js');
4
4
  var React = require('react');
5
- var Placeholder = require('./fthry_Placeholder.CAlnRoL9.js');
6
- var InlineTooltip = require('./fthry_InlineTooltip.C7AC8sKh.js');
7
- var ShowEyeIcon = require('./fthry_ShowEyeIcon.y6CzT3OY.js');
5
+ var Placeholder = require('./fthry_Placeholder.DzUdOE_N.js');
6
+ var InlineTooltip = require('./fthry_InlineTooltip.Bs529m1d.js');
7
+ var ShowEyeIcon = require('./fthry_ShowEyeIcon.DFO9YO4y.js');
8
8
  require('react/jsx-runtime');
9
9
  require('react-dom/client');
10
10
  require('jszip');
11
11
  require('react-dom');
12
- require('./fthry_Overlay.CdKK4u2g.js');
12
+ require('./fthry_Overlay.ZvXimrP-.js');
13
13
 
14
14
  function PasswordField(_a) {
15
15
  var _b;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.lwxn3wtK.js');
3
+ var index = require('./fthry_index.CZQRzS7D.js');
4
4
  var React = require('react');
5
5
  require('react/jsx-runtime');
6
6
  require('react-dom/client');
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.lwxn3wtK.js');
3
+ var index = require('./fthry_index.CZQRzS7D.js');
4
4
  var React = require('react');
5
- var InlineTooltip = require('./fthry_InlineTooltip.C7AC8sKh.js');
6
- var useSalesforceSync = require('./fthry_useSalesforceSync.2JVcfRRm.js');
5
+ var InlineTooltip = require('./fthry_InlineTooltip.Bs529m1d.js');
6
+ var useSalesforceSync = require('./fthry_useSalesforceSync.7E9m_hhF.js');
7
7
  require('react/jsx-runtime');
8
8
  require('react-dom/client');
9
9
  require('jszip');
10
10
  require('react-dom');
11
- require('./fthry_Overlay.CdKK4u2g.js');
11
+ require('./fthry_Overlay.ZvXimrP-.js');
12
12
 
13
13
  function ButtonGroupField(_a) {
14
14
  var element = _a.element, responsiveStyles = _a.responsiveStyles, fieldLabel = _a.fieldLabel, inlineError = _a.inlineError, _b = _a.fieldVal, fieldVal = _b === void 0 ? null : _b, _c = _a.repeatIndex, repeatIndex = _c === void 0 ? null : _c, editMode = _a.editMode, _d = _a.onClick, onClick = _d === void 0 ? function () { } : _d, _e = _a.elementProps, elementProps = _e === void 0 ? {} : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, children = _a.children;
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.lwxn3wtK.js');
3
+ var index = require('./fthry_index.CZQRzS7D.js');
4
4
  var React = require('react');
5
- var index$1 = require('./fthry_index.Bq5bNmC5.js');
5
+ var index$1 = require('./fthry_index.BMBD0adh.js');
6
6
  require('react/jsx-runtime');
7
7
  require('react-dom/client');
8
8
  require('jszip');
@@ -1479,7 +1479,7 @@ function SignatureField(_a) {
1479
1479
  React.useEffect(function () {
1480
1480
  if (!global.webfontloaderPromise)
1481
1481
  global.webfontloaderPromise = Promise.resolve().then(function () { return require(
1482
- /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.DczITgMn.js'); }).then(function (n) { return n.webfontloader; });
1482
+ /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.DccGtWsq.js'); }).then(function (n) { return n.webfontloader; });
1483
1483
  global.webfontloaderPromise.then(function (WebFont) {
1484
1484
  WebFont.load({ google: { families: ['La Belle Aurore'] } });
1485
1485
  });
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var index$1 = require('./fthry_index.lwxn3wtK.js');
3
+ var index$1 = require('./fthry_index.CZQRzS7D.js');
4
4
  var React = require('react');
5
- var Placeholder = require('./fthry_Placeholder.CAlnRoL9.js');
6
- var InlineTooltip = require('./fthry_InlineTooltip.C7AC8sKh.js');
7
- var Overlay = require('./fthry_Overlay.CdKK4u2g.js');
8
- var useElementSize = require('./fthry_useElementSize.DLBCwcXn.js');
5
+ var Placeholder = require('./fthry_Placeholder.DzUdOE_N.js');
6
+ var InlineTooltip = require('./fthry_InlineTooltip.Bs529m1d.js');
7
+ var Overlay = require('./fthry_Overlay.ZvXimrP-.js');
8
+ var useElementSize = require('./fthry_useElementSize.CNPWGju4.js');
9
9
  require('react/jsx-runtime');
10
10
  require('react-dom/client');
11
11
  require('jszip');
@@ -1804,7 +1804,7 @@ function PhoneField(_a) {
1804
1804
  // origins. The .woff2 is vendored from country-flag-emoji-polyfill and
1805
1805
  // emitted as a sibling asset by webpack/rollup; `new URL(...,
1806
1806
  // import.meta.url)` resolves it relative to wherever the bundle is served.
1807
- var fontUrl = new URL('./TwemojiCountryFlags.woff2', (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('fthry_index.DsHYiGx7.js', document.baseURI).href)))
1807
+ var fontUrl = new URL('./TwemojiCountryFlags.woff2', (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('fthry_index.lGyEnbOI.js', document.baseURI).href)))
1808
1808
  .href;
1809
1809
  f('Twemoji Country Flags', fontUrl);
1810
1810
  }